
.service-tiles-section{margin:42px 0 12px}.service-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px;margin-top:28px}.service-tile{display:block;position:relative;width:100%;height:auto;aspect-ratio:1;padding:0;overflow:hidden;border:0;border-radius:18px;box-shadow:0 8px 25px #25202b1b;background:var(--wash);isolation:isolate}.service-tile img{display:block;width:100%;height:100%;object-fit:cover}.tile-3 img{object-position:center 30%}.service-veil{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:15px;background:linear-gradient(160deg,#c38b6bd9,#ad7cadd9);color:white;opacity:0;transition:opacity .28s ease}.tile-1 .service-veil{background:linear-gradient(160deg,#779fa0db,#a58ab4db)}.tile-2 .service-veil{background:linear-gradient(160deg,#bc8e9cdb,#a183b5db)}.tile-3 .service-veil{background:linear-gradient(160deg,#c59a71db,#b4859bdb)}.service-tile:hover .service-veil,.service-tile:focus-visible .service-veil{opacity:1}.tile-name{font:400 18px/1.35 ui-monospace,monospace;text-align:center}.tile-rule{width:60%;height:2px;background:#ffffff8c;margin:16px 0}.tile-more{font:400 14px/1.4 'Open Sans',sans-serif}.service-tile:focus-visible{outline:3px solid var(--accent);outline-offset:5px}.service-tile-dialog{border:1px solid var(--line);border-radius:18px;background:var(--bg);color:var(--ink);padding:40px;width:min(500px,calc(100vw - 32px));max-height:85dvh;box-shadow:0 20px 80px #20142638}.service-tile-dialog::backdrop{background:#241c3155;backdrop-filter:blur(5px)}.service-tile-dialog h2{font-size:25px;margin:0 25px 18px 0}.service-tile-dialog p{white-space:normal;font-size:15px;line-height:1.9}.service-close{position:absolute;right:12px;top:10px;font:26px/1 sans-serif;width:36px;height:36px}.service-action{display:inline-block;font:13px/1.7 ui-monospace,monospace;border-bottom:1px solid var(--accent);margin-top:10px}.service-source{margin-top:24px;font:11px/1.6 ui-monospace,monospace}.service-source summary{cursor:pointer;list-style:none}.service-source a{display:block;margin-top:5px}@media(max-width:760px){.service-tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}}@media(hover:none){.service-veil{opacity:1;background:linear-gradient(transparent 15%,#513446a6)!important;justify-content:flex-end}.tile-rule,.tile-more{display:none}.tile-name{font-size:15px}.service-tile-dialog{padding:30px 24px}}@media(prefers-reduced-motion:reduce){.service-veil{transition:none}}

.service-tile{text-decoration:none}.tile-3 img{object-position:center}.service-detail{padding-bottom:30px}.service-detail-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;margin-top:30px;align-items:start}.service-detail figure{margin:0}.service-detail figure>img{width:100%;height:370px;object-fit:contain;border-radius:12px;background:var(--wash)}.service-detail figcaption{font:11px/1.6 ui-monospace,monospace;margin-top:10px}.service-detail summary{cursor:pointer;list-style:none}.service-detail-copy p{font-size:16px;line-height:1.9;margin:0 0 24px}.service-detail-action{margin-top:12px}.service-detail .back-research{font:13px ui-monospace,monospace}@media(max-width:650px){.service-detail-layout{grid-template-columns:1fr;gap:26px}.service-detail figure>img{height:260px}}

/* Gallery detail: complete artwork and a quiet museum label. */
.service-gallery{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(35px,6vw,90px);align-items:start;margin:40px 0 50px}.service-artwork>a{display:block;background:transparent}.service-detail .service-artwork img{display:block;width:100%;height:460px;object-fit:contain;object-position:left top;border-radius:3px;background:transparent}.service-detail .service-artwork figcaption{border-left:2px solid #dfb6c7;padding:4px 0 4px 18px;margin-top:25px}.art-artist{font:400 13px/1.6 ui-monospace,monospace}.service-artwork h2{font:400 19px/1.5 'Bitter',serif;margin:6px 0}.service-artwork h2 span{font-size:15px}.art-medium{display:block;font:13px/1.6 'Open Sans',sans-serif}.art-source{display:inline-block;margin-top:12px;font:12px ui-monospace,monospace}.service-detail-copy{padding-top:28px}.service-eyebrow{font:12px ui-monospace,monospace;text-transform:uppercase;letter-spacing:.12em;color:var(--accent)}.service-detail-copy h1{font-size:clamp(30px,3vw,44px);margin:14px 0 28px}.service-detail-copy p{line-height:1.85;font-size:16px;margin-bottom:22px}.service-gallery-action{display:inline-block;margin:12px 0 30px;padding:12px 0;border-bottom:1px solid currentColor;font:14px ui-monospace,monospace}.service-page-nav{display:flex;flex-wrap:wrap;gap:14px 22px;border-top:1px solid var(--line);padding-top:24px;margin-top:36px}.service-page-nav a{font:12px ui-monospace,monospace}.tile-2 img{object-position:center 33%}.tile-1 img{object-position:center 40%}@media(max-width:700px){.service-gallery{grid-template-columns:1fr;gap:25px;margin-top:25px}.service-detail-copy{padding-top:0}.service-detail .service-artwork img{height:350px;object-position:center}.service-detail-copy h1{margin-top:10px}.service-page-nav{margin-top:20px}}

/* Full-bleed gallery thumbnails; zoom past photographed canvas borders. */
.service-tile>img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover}.tile-0>img{object-position:50% 43%;transform:scale(1.035)}.tile-1>img{object-position:50% 39%;transform:scale(1.09)}.tile-2>img{object-position:50% 50%;transform:scale(1.065)}.tile-3>img{object-position:55% 45%;transform:scale(1.02)}
.service-veil{background:linear-gradient(155deg,#d79796d9,#c28eafd9)}.tile-1 .service-veil{background:linear-gradient(155deg,#e3b2a0d9,#c494a7d9)}.tile-2 .service-veil{background:linear-gradient(155deg,#d9b0b9d9,#aeafb0d9)}.tile-3 .service-veil{background:linear-gradient(155deg,#e1ad98d9,#c894afd9)}

/* A single quiet artwork caption and plain service prose. */
.service-detail .service-artwork figcaption{border:0;padding:0;margin-top:13px;font:300 italic 12px/1.6 'Bitter',serif;white-space:nowrap;letter-spacing:0}.service-artwork figcaption cite{font:inherit}.service-detail-copy h1{margin-top:0}.service-detail-copy p a{font-weight:400;color:var(--accent);text-decoration:underline;text-underline-offset:3px}.service-detail-copy{padding-top:15px}@media(max-width:700px){.service-detail .service-artwork figcaption{font-size:10px;white-space:normal}}

.service-detail .service-artwork>a{display:block;width:fit-content;max-width:100%}.service-detail .service-artwork img{width:auto;height:auto;max-width:100%;max-height:460px;object-fit:contain}.service-detail .service-artwork figcaption{margin-top:5px;line-height:1.4}.service-title-emoji{font: .7em/1 sans-serif;vertical-align:6%}.service-resume{padding-left:20px;margin:28px 0 0}.service-resume li{padding-left:5px;margin:0 0 24px;line-height:1.6}.service-resume li::marker{color:#c28a9e}.service-resume strong{display:block;font-weight:600;font-size:15px}.service-resume span{display:block;font-size:14px}.service-resume time{display:block;font:12px/1.8 ui-monospace,monospace;margin-top:4px}.service-note{display:block;margin-top:24px;font-size:13px;line-height:1.7}.service-detail-copy h1{font-size:clamp(28px,3vw,40px)}@media(max-width:700px){.service-detail .service-artwork img{max-height:350px}.service-detail .service-artwork>a{margin:auto}.service-detail .service-artwork figcaption{text-align:center}}

.teaching-history{margin-top:30px}.teaching-entry{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:start;padding:17px 0;border-bottom:1px solid var(--line)}.teaching-entry:first-child{padding-top:0}.teaching-entry:last-child{border:0}.service-detail-copy .teaching-entry p{font-size:14px;line-height:1.7;margin:0}.teaching-place{font-weight:600}.teaching-entry time{font:italic 11px/1.7 'Bitter',serif;white-space:nowrap;padding-top:3px}.service-news{display:block;margin-top:28px;padding:18px 20px;background:#f7e8ed;border-radius:5px;font-size:14px;line-height:1.8;color:#49343d}.service-news-title{display:block;font:400 italic 18px/1.5 'Bitter',serif;margin-bottom:6px}[data-theme="dark"] .service-news{background:#382b32;color:#f2dce6}@media(max-width:900px){.teaching-entry{grid-template-columns:1fr;gap:3px}.teaching-entry time{padding-top:0}}
/* Compact editorial service pages. */
.service-detail{max-width:860px;margin-inline:auto}.service-gallery{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:48px;align-items:center;margin:34px 0 55px}.service-detail .service-artwork img{max-height:350px;width:auto;max-width:100%;border-radius:7px}.service-detail .service-artwork figcaption{font-size:10px;line-height:1.5;white-space:normal;max-width:340px;margin-top:6px}.service-detail-copy{padding:0}.service-detail-copy h1{font:500 30px/1.25 'Bitter',serif;margin:0 0 20px;letter-spacing:-.02em}.service-title-emoji{display:none}.service-detail-copy p{font-size:15px;line-height:1.8;margin:0 0 16px}.service-detail-copy p:last-child{margin-bottom:0}.service-detail .back-research{display:inline-block;margin-bottom:0}@media(max-width:700px){.service-gallery{grid-template-columns:1fr;gap:24px;margin:24px 0 35px}.service-detail .service-artwork img{max-height:260px}.service-detail .service-artwork figcaption{margin-inline:auto}.service-detail-copy h1{font-size:28px}.service-detail-copy{max-width:480px;margin:auto;width:100%}}

/* Alternate artwork and copy across service pages. */
@media(min-width:701px){.service-reversed .service-gallery{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}.service-reversed .service-artwork{grid-column:2;grid-row:1}.service-reversed .service-detail-copy{grid-column:1;grid-row:1}.service-reversed .service-artwork>a{margin-left:auto}.service-reversed .service-artwork figcaption{text-align:right}}
.service-email-dialog{width:min(380px,calc(100vw - 40px));box-sizing:border-box;padding:30px;border:1px solid var(--line);border-radius:12px;background:var(--bg);color:var(--ink);box-shadow:0 18px 70px #241b2533}.service-email-dialog::backdrop{background:#29202a66;backdrop-filter:blur(4px)}.service-email-dialog h2{font:500 23px/1.4 'Bitter',serif;margin:0 25px 20px 0}.email-close{position:absolute;right:12px;top:10px;border:0;background:none;color:inherit;font-size:26px;cursor:pointer}.email-address{font:17px/1.6 ui-monospace,monospace;user-select:all}.email-actions{display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin-top:24px;font:12px/1.6 ui-monospace,monospace}.email-copy{font:inherit;padding:8px 12px;border:1px solid var(--line);border-radius:5px;background:var(--wash);color:inherit;cursor:pointer}.email-open{color:var(--accent)}.email-status{min-height:18px;font-size:12px;margin:12px 0 0}

.service-detail-copy h1+.service-news{margin:0 0 24px}.teaching-place a{font-weight:inherit;text-decoration-thickness:1px;text-underline-offset:3px}

.email-envelope{display:inline-block;font-size:.95em;vertical-align:baseline;margin-right:2px}.teaching-entry{position:relative;padding-left:16px;border-bottom:0;margin-bottom:5px}.teaching-entry:first-child{padding-top:12px}.teaching-entry::before{content:'';position:absolute;left:0;top:19px;width:4px;height:28px;border-radius:3px;background:#e9b7cc}.teaching-entry:nth-child(2)::before{background:#b8d9d1}.teaching-entry:nth-child(3)::before{background:#d2c3e8}.teaching-entry:nth-child(4)::before{background:#f2d7a4}.teaching-entry:first-child::before{top:14px}.teaching-place{font-weight:500}.teaching-entry time{color:var(--ink);opacity:.8}

.service-web-design .service-gallery{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:38px}.service-web-design .service-detail-copy h1{font-size:28px;margin-bottom:14px}.service-web-design .service-news{padding:12px 15px;font:400 13px/1.65 'Bitter',serif;margin:0 0 16px}.service-web-design .service-news-title{display:inline;font:400 italic 14px/1.65 'Bitter',serif;margin:0}.service-web-design .service-detail-copy p{font-size:14px;line-height:1.7}.news-letter{visibility:hidden}.news-letter.revealed{visibility:visible}@media(max-width:700px){.service-web-design .service-gallery{grid-template-columns:1fr;gap:24px}}

.service-compact-roles{padding-left:17px;margin:22px 0 0;list-style:disc}.service-compact-roles li{padding-left:4px;margin:0 0 11px;font:14px/1.8 'Open Sans',sans-serif;--role-highlight:#f5dce6}.service-compact-roles li:nth-child(2){--role-highlight:#d8eee4}.service-compact-roles li:nth-child(3){--role-highlight:#e9e1f6}.service-compact-roles li:nth-child(4){--role-highlight:#faebcc}.service-compact-roles li::marker{color:#bb7898;font-size:.8em}.service-compact-roles .teaching-place{font-weight:500;background:linear-gradient(var(--role-highlight),var(--role-highlight)) 0 85%/0% 62% no-repeat;transition:background-size .4s ease;box-decoration-break:clone;-webkit-box-decoration-break:clone}.service-compact-roles li:hover .teaching-place,.service-compact-roles li:focus-within .teaching-place{background-size:100% 62%}.service-compact-roles time{display:inline;font:italic 11px/1.8 'Bitter',serif;white-space:normal}.service-compact-roles .teaching-place a{color:inherit;text-decoration-thickness:1px;text-decoration-color:#d4b3c2}[data-theme="dark"] .service-compact-roles li{--role-highlight:#594350}[data-theme="dark"] .service-compact-roles li:nth-child(2){--role-highlight:#345549}[data-theme="dark"] .service-compact-roles li:nth-child(3){--role-highlight:#4d425e}[data-theme="dark"] .service-compact-roles li:nth-child(4){--role-highlight:#5c5038}@media(prefers-reduced-motion:reduce){.service-compact-roles .teaching-place{transition:none}}
.museum-dialog{width:min(1080px,94vw);max-height:90dvh;padding:0;border:1px solid var(--line);border-radius:12px;background:var(--bg);color:var(--ink);box-shadow:0 25px 90px #20152555}.museum-dialog::backdrop{background:#231e266e;backdrop-filter:blur(7px)}.museum-layout{display:grid;grid-template-columns:1.15fr 1fr}.museum-image{display:flex;align-items:center;justify-content:center;padding:30px;background:var(--wash)}.museum-image img{width:100%;height:auto;max-height:75dvh;object-fit:contain}.museum-label{padding:45px 35px 35px}.museum-close{position:absolute;right:12px;top:10px;font-size:28px;border:0;background:var(--bg);color:var(--ink);width:34px;height:34px;border-radius:50%;cursor:pointer}.museum-artist{font:13px/1.6 ui-monospace,monospace;margin:0 0 10px}.museum-label h2{font:500 28px/1.3 'Bitter',serif;margin:0 0 12px}.museum-date{font:italic 13px/1.6 'Bitter',serif;margin:0 0 26px}.museum-label dl{display:grid;grid-template-columns:1fr 1.7fr;gap:10px;font:12px/1.6 'Open Sans',sans-serif;border-block:1px solid var(--line);padding:18px 0}.museum-label dd{margin:0}.museum-label dt{font-weight:600}.museum-description{font:15px/1.8 'Open Sans',sans-serif;margin-top:24px}.museum-attribution{font:italic 11px/1.6 'Bitter',serif}.museum-links{display:flex;flex-wrap:wrap;gap:12px 20px;margin-top:20px;font:11px/1.7 ui-monospace,monospace}.service-artwork>a{cursor:zoom-in}@media(max-width:700px){.museum-layout{grid-template-columns:1fr}.museum-image{padding:22px}.museum-image img{max-height:45dvh}.museum-label{padding:25px}.museum-label h2{font-size:24px}}

@media(min-width:701px){.service-detail .service-gallery{gap:38px}}
.service-detail-copy strong{font-weight:600}

.service-compact-roles{list-style:none;padding-left:17px}.service-compact-roles li{position:relative;--heart-color:#bb7898}.service-compact-roles li:nth-child(2){--heart-color:#6b9d8a}.service-compact-roles li:nth-child(3){--heart-color:#9a80b9}.service-compact-roles li:nth-child(4){--heart-color:#b49655}.service-compact-roles li::before{content:'♥';position:absolute;left:-16px;top:1px;font:10px/2.4 sans-serif;color:var(--heart-color)}
.service-detail-copy a[href^="mailto:"]{background:linear-gradient(#f5dce6,#f5dce6) 0 85%/0% 65% no-repeat;transition:background-size .4s ease;box-decoration-break:clone;-webkit-box-decoration-break:clone}.service-web-design .service-detail-copy a[href^="mailto:"]{background-image:linear-gradient(#d8eee4,#d8eee4)}.service-detail-copy a[href^="mailto:"]:hover,.service-detail-copy a[href^="mailto:"]:focus-visible{background-size:100% 65%}[data-theme="dark"] .service-detail-copy a[href^="mailto:"]{background-image:linear-gradient(#594350,#594350)}[data-theme="dark"] .service-web-design .service-detail-copy a[href^="mailto:"]{background-image:linear-gradient(#345549,#345549)}@media(prefers-reduced-motion:reduce){.service-detail-copy a[href^="mailto:"]{transition:none}}
.service-compact-roles li::before{font-size:12px;line-height:2;left:-17px}.service-tiles{margin-bottom:48px}.service-tile{overflow:visible;margin-bottom:28px}.service-tile>img{border-radius:18px;clip-path:inset(0 round 18px);transform:none}.service-tile.tile-1>img{clip-path:inset(3% round 15px);transform:scale(1.065)}.service-veil{border-radius:18px}.service-card-label{position:absolute;top:calc(100% + 13px);left:0;width:100%;text-align:center;color:var(--ink);font:13px/1.5 ui-monospace,monospace}.services-nav-menu{position:relative;font:inherit}.services-nav-menu summary{cursor:pointer;list-style:none;display:flex;gap:5px;align-items:center}.services-nav-menu summary::-webkit-details-marker{display:none}.services-nav-menu summary>span{font:13px sans-serif}.services-nav-options{position:absolute;z-index:80;top:calc(100% + 15px);left:-14px;min-width:180px;padding:8px;background:var(--bg);border:1px solid var(--line);border-radius:9px;box-shadow:0 8px 25px #20182518}.services-nav-options a{display:block!important;padding:9px 10px;font:12px/1.5 ui-monospace,monospace;white-space:nowrap}.services-nav-options a:hover{background:var(--wash);border-radius:5px}@media(max-width:760px){.service-card-label{font-size:12px}.service-tiles{row-gap:30px}}
.services-nav-menu summary{background:linear-gradient(#f5dce6,#f5dce6) 0 82%/0% 65% no-repeat;transition:background-size .35s ease}.services-nav-menu summary:hover,.services-nav-menu summary:focus-visible,.services-nav-menu[open] summary{background-size:100% 65%}.services-nav-menu summary>span{position:relative;top:-2px}[data-theme="dark"] .services-nav-menu summary{background-image:linear-gradient(#594350,#594350)}@media(prefers-reduced-motion:reduce){.services-nav-menu summary{transition:none}}
