@charset "UTF-8";
@font-face{font-family:Anton;src:url('assets/anton-latin.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
:root{--ink:#161816;--surface:#232622;--ivory:#eeeae1;--brass:#c9b17e;--muted:#c0c0b5;--soft:#d7d5ca;--display:Anton,Impact,'Arial Narrow',Arial,sans-serif;--body:Arial,Helvetica,sans-serif;--gutter:clamp(22px,4vw,72px);--radius:6px;--ease:cubic-bezier(.2,.7,.2,1);--fast:180ms;--move:500ms}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--ink);color:var(--ivory);font:16px/1.6 var(--body)}body.locked{overflow:hidden}header,main,footer{max-width:1920px;margin-inline:auto}button,a,summary{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer;min-width:44px;min-height:48px}a{color:inherit;text-underline-offset:6px}img{display:block;width:100%;height:100%;object-fit:cover}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--brass);outline-offset:5px}button:active,.ritual-cta:active,.header-cta:active{transform:translateY(2px)}h1,h2,h3,p,figure{margin:0}h1,h2{font-family:var(--display);font-weight:400;letter-spacing:-.015em;line-height:1;text-wrap:balance}h2{font-size:clamp(44px,6.2vw,92px);margin-bottom:30px}h3{font-size:24px;line-height:1.2;font-weight:400}p{max-width:65ch}em{font-style:normal}section{scroll-margin-top:24px}.section-pad{padding:110px var(--gutter)}.fine-print{font-size:14px;color:var(--muted);line-height:1.65}.demo-bar{display:flex;justify-content:space-between;gap:20px;padding:9px var(--gutter);background:var(--surface);font-size:14px;color:var(--ivory)}.header{padding:24px var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:28px}.logo{font:32px/1 var(--display);text-decoration:none;letter-spacing:0;white-space:nowrap}.logo span{display:block;font:14px/1.4 var(--body);margin-top:8px}.desktop-nav{display:flex;gap:30px}.desktop-nav a{padding:12px 0;text-decoration:none}.desktop-nav a:hover,.hero-bottom a:hover,.footer a:hover{color:var(--brass);text-decoration:underline}.header-cta,.ritual-cta{background:var(--brass);color:var(--ink);padding:15px 20px;text-decoration:none;display:inline-flex;align-items:center;justify-content:space-between;gap:28px;border-radius:var(--radius);min-height:50px;transition:background-color var(--fast),transform var(--fast)}.header-cta:hover,.ritual-cta:hover{background:var(--ivory);transform:translateY(-2px)}.menu-toggle{display:none}.hero{padding:0 var(--gutter)}.hero-heading{position:relative;padding:12px 0 24px}.hero h1{font-size:clamp(90px,16.9vw,300px);line-height:.95;letter-spacing:-.015em;white-space:nowrap;text-wrap:nowrap}.hero h1 span{color:inherit}.hero-stage{display:grid;grid-template-columns:1fr 3fr;gap:3.5vw}.hero-statement{display:flex;flex-direction:column;align-items:start;justify-content:center;gap:22px;padding:24px 0}.hero-tagline{font-size:32px;line-height:1.15;letter-spacing:-1px;max-width:8em}.hero-statement>p:not(.hero-tagline){font-size:16px}.hero-origin{color:var(--muted);font-size:14px!important}.hero-photo{height:clamp(340px,32vw,540px);position:relative;overflow:hidden;background:var(--surface)}.hero-photo>img{object-position:center 58%;filter:saturate(.65);transition:transform 700ms var(--ease)}.hero-photo.is-close>img{transform:scale(1.14) translateX(-2%)}.emblem-toggle{position:absolute;bottom:20px;right:20px;padding:14px 18px;background:var(--brass);color:var(--ink);border:0;display:grid;grid-template-columns:auto auto;align-items:center;gap:16px;border-radius:var(--radius);text-align:left;transition:background-color var(--fast),transform var(--fast)}.emblem-toggle:hover{background:var(--ivory);transform:translateY(-3px)}.emblem-letters{font:60px/.9 var(--display);letter-spacing:-2px}.emblem-caption{font-size:14px;max-width:8em;line-height:1.4}.emblem-caption>span{display:block;font-size:22px}.emblem-toggle[aria-pressed=true] .emblem-letters{transform:rotate(-7deg)}.hero-bottom{display:grid;grid-template-columns:1fr 1fr 1fr;gap:36px;align-items:center;padding:32px 0 42px}.hero-bottom>p:first-child{max-width:28ch}.hero-bottom>p:nth-child(2){color:var(--muted)}.hero-bottom a{text-decoration:none;justify-self:end}.intro-content{display:grid;grid-template-columns:1.5fr 1fr;gap:10%;align-items:center}.intro h2{font-size:clamp(42px,5.2vw,78px)}.intro-copy p+p{margin-top:20px}.process{display:grid;grid-template-columns:1fr 1fr 1fr;gap:7%;margin-top:75px}.process article:nth-child(2){margin-top:44px}.process article:nth-child(3){margin-top:88px}.process h3{color:var(--brass);margin-bottom:18px}.process p{max-width:30ch}.services{background:var(--surface)}.section-heading{display:grid;grid-template-columns:1.3fr 1fr;gap:9%;align-items:end;margin-bottom:44px}.section-heading h2{margin-bottom:0}.section-heading p{max-width:36ch}.service-filters{display:flex;flex-wrap:wrap;gap:10px;margin:40px 0 30px}.service-filters button{border:0;padding:12px 22px;background:#343a32;color:var(--ivory);border-radius:var(--radius);transition:background-color var(--fast),color var(--fast),transform var(--fast)}.service-filters button[aria-pressed=true]{background:var(--brass);color:var(--ink);text-decoration:underline;text-underline-offset:5px}.service-filters button:hover{background:var(--ivory);color:var(--ink);transform:translateY(-2px)}.service{background:#292d28}.service:nth-child(even){background:#30352e}.service[hidden]{display:none}.service summary{list-style:none;display:grid;grid-template-columns:minmax(0,1fr) 95px 125px 24px;align-items:center;gap:28px;cursor:pointer;padding:27px 30px;transition:background-color var(--fast)}.service summary::-webkit-details-marker{display:none}.service summary:hover{background:#3c4337}.service-name{font-size:16px;letter-spacing:-.8px;line-height:1.2}.service-title{display:block;font-size:30px;line-height:1.2;letter-spacing:-.8px}.service-name small{display:block;font-size:16px;letter-spacing:0;margin-top:10px;color:var(--muted);line-height:1.45}.duration{font-size:16px;color:var(--muted)}.price{font-size:34px;letter-spacing:-1px;white-space:nowrap;font-variant-numeric:tabular-nums}.price small{font-size:14px;letter-spacing:0}.plus{position:relative;width:20px;height:20px;justify-self:end}.plus:before,.plus:after{content:"";position:absolute;background:var(--brass);width:16px;height:2px;top:9px;left:2px;transition:transform var(--fast)}.plus:after{transform:rotate(90deg)}.service[open] .plus:after{transform:rotate(0)}.service>p{padding:0 30px 28px;max-width:65ch}.services>.fine-print{margin-top:24px}.gallery .section-heading{margin-bottom:50px}.gallery-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:50px 8%}.gallery figure{min-width:0}.gallery-open{display:block;padding:0;background:none;border:0;width:100%;position:relative;overflow:hidden}.gallery-open img{transition:transform 550ms var(--ease);filter:saturate(.65)}.gallery-open:hover img,.gallery-open:focus-visible img{transform:scale(1.035)}.gallery-feature .gallery-open{aspect-ratio:1.2}.gallery-detail{padding-top:150px}.gallery-detail .gallery-open{aspect-ratio:.86}.gallery-third{width:65%;margin-left:auto}.gallery-third .gallery-open{aspect-ratio:.84}.gallery-third img{object-position:65% center}.image-action{position:absolute;bottom:16px;right:16px;background:var(--ivory);color:var(--ink);width:48px;height:48px;display:grid;place-items:center;font-size:24px;transition:background-color var(--fast),transform var(--fast)}.gallery-open:hover .image-action{background:var(--brass);transform:rotate(6deg)}figcaption{display:flex;justify-content:space-between;gap:20px;padding-top:16px;font-size:16px;color:var(--muted)}.gallery-quote{align-self:center;padding-left:12%}.gallery-quote>span:first-child{display:none}.gallery-quote p{font-size:32px;line-height:1.3;margin-bottom:24px}.gallery-quote>span:last-child{color:var(--brass);font-size:16px}.gallery>.fine-print{margin-top:36px;max-width:75ch}.team{background:var(--ivory);color:var(--ink)}.team-grid{display:flex;flex-direction:column;gap:32px;margin-top:55px}.team-card{display:grid;grid-template-columns:160px 1fr 1.2fr;gap:40px;align-items:center}.monogram{height:160px;background:var(--ink);color:var(--brass);display:flex;flex-direction:column;align-items:center;justify-content:center}.monogram>span{font:66px/1 var(--display);letter-spacing:-2px}.monogram>span>span{margin-left:4px}.monogram i{font-size:14px;font-style:normal;margin-top:12px;color:var(--ivory)}.mono-two{background:var(--brass);color:var(--ink)}.mono-two i{color:var(--ink)}.mono-three{background:#363d32}.team-meta h3{font-size:28px;margin-bottom:12px}.team-meta>span{font-size:16px}.team-card>p{max-width:38ch}.fiction-label{grid-column:2/4;color:#50584b;font-size:14px;margin-top:-24px}.visit{display:grid;grid-template-columns:1.2fr 1fr;gap:12%}.visit h2{font-size:clamp(56px,7vw,104px)}.address{font-size:30px;line-height:1.35;margin:40px 0 20px}.visit-info{padding-top:15px}.visit-info>h3{font-size:30px;margin-bottom:12px}.visit-info dl{margin:32px 0}.visit-info dl div{display:flex;justify-content:space-between;gap:20px;padding:12px 0}.visit-info dd{margin:0;white-space:nowrap}.contact-details{background:var(--surface);padding:14px 22px}.contact-details summary{min-height:48px;cursor:pointer;align-content:center}.contact-details summary span{display:none}.contact-details p{overflow-wrap:anywhere;padding-top:16px}.demo-stamp{display:flex;gap:18px;align-items:center;margin-top:36px}.demo-stamp>span{font-size:32px;color:var(--brass)}.demo-stamp p{font-size:14px}.demo-stamp strong{font-size:16px;font-weight:400}.footer{padding:40px var(--gutter);background:var(--surface)}.footer-wordmark{font:clamp(48px,10.9vw,170px)/1 var(--display);text-decoration:none;display:flex;align-items:center;justify-content:space-between;gap:20px;letter-spacing:-.02em}.footer-wordmark>span{font:48px/1 var(--body);color:var(--brass)}.footer-bottom{display:grid;grid-template-columns:1fr 1fr 1fr;gap:36px;margin-top:42px;font-size:14px}.footer-bottom nav{display:flex;flex-direction:column;align-items:start;gap:12px;font-size:16px}.studio-signature{display:flex;align-items:center;justify-content:end;gap:14px;margin-top:36px;font-size:20px;text-decoration:none}.studio-signature img{width:32px;height:32px;object-fit:contain}.skip{position:fixed;top:-100px;left:20px;z-index:100;background:var(--ivory);color:var(--ink);padding:12px}.skip:focus{top:12px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}dialog{color:var(--ivory);background:var(--ink);border:0}dialog::backdrop{background:rgb(0 0 0 / .85)}.mobile-menu{margin:0 0 0 auto;width:min(520px,100%);max-width:100%;height:100dvh;max-height:100dvh;padding:28px;overflow:auto}.mobile-menu-top{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:30px}.mobile-menu-top>span{font:28px/1 var(--display)}.mobile-menu button,.lightbox button{border:0}.mobile-menu button{background:var(--surface);padding:8px 14px}.mobile-menu nav a{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:16px 0;text-decoration:none;font:32px/1.2 var(--display)}.mobile-menu nav a:hover{color:var(--brass)}.mobile-menu>p{font-size:16px;margin-top:32px}.lightbox{padding:24px;width:min(1100px,94vw);max-width:94vw;max-height:95dvh;overflow:auto}.lightbox-top{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-bottom:16px;font-size:16px}.lightbox-close{background:var(--surface);padding:10px 15px}.lightbox-close span{margin-left:12px}.lightbox-stage{height:min(62dvh,700px);position:relative;background:#10110f}.lightbox-stage img{object-fit:contain}.lightbox-stage button{position:absolute;top:calc(50% - 24px);background:var(--ivory);color:var(--ink);width:48px;height:48px;font-size:24px}.gallery-prev{left:12px}.gallery-next{right:12px}.lightbox-bottom{display:flex;justify-content:space-between;gap:25px;padding-top:18px;font-size:16px}.lightbox-bottom>span{white-space:nowrap;color:var(--brass)}.lightbox-note{font-size:14px;color:var(--muted);margin-top:16px}.reveal{opacity:1}.emblem-toggle{display:none}html.js .emblem-toggle{display:grid}
@media(min-width:1800px){.hero h1{font-size:300px}}
@media(max-width:1100px){.header-cta{display:none}.hero-stage{grid-template-columns:1fr 2.2fr;gap:28px}.hero-tagline{font-size:28px}.hero-photo{height:410px}.service summary{gap:18px;grid-template-columns:minmax(0,1fr) 75px 105px 20px}.team-card{gap:28px;grid-template-columns:120px 1fr 1.2fr}.monogram{height:140px}.visit{gap:8%}}
@media(max-width:700px){.demo-bar{display:block;padding:9px var(--gutter);font-size:13px}.demo-bar span{display:block}.header{padding:22px var(--gutter);gap:20px}.logo{font-size:28px}.logo span{font-size:13px}.desktop-nav{display:none}.menu-toggle{display:flex;align-items:center;gap:12px;border:0;background:var(--surface);color:var(--ivory);padding:10px 12px;border-radius:var(--radius)}.menu-lines{width:18px;height:12px;border-top:2px solid var(--brass);border-bottom:2px solid var(--brass)}.hero-heading{padding:8px 0 24px}.hero h1{font-size:clamp(88px,24.5vw,172px);line-height:.9;white-space:normal;text-wrap:nowrap}.hero h1 span{display:block}.hero-stage{display:flex;flex-direction:column;gap:0}.hero-photo{order:-1;height:clamp(260px,35svh,360px);margin:0 calc(-1 * var(--gutter));width:calc(100% + 2 * var(--gutter))}.hero-photo>img{object-position:62% 65%}.emblem-toggle{bottom:16px;right:var(--gutter);padding:12px 14px;gap:12px}.emblem-letters{font-size:46px}.emblem-caption{font-size:13px;max-width:9em}.emblem-caption>span{font-size:18px}.hero-statement{display:grid;grid-template-columns:1fr auto;gap:18px 20px;padding:28px 0}.hero-tagline{font-size:25px;max-width:9em}.hero-statement>p:nth-child(2){grid-column:1/-1;order:3}.ritual-cta{font-size:14px;gap:12px;padding:14px 16px;max-width:160px;line-height:1.4}.hero-origin{grid-column:1/-1;order:4}.hero-bottom{grid-template-columns:1fr;gap:16px;padding:12px 0 34px}.hero-bottom>p:nth-child(2){display:none}.hero-bottom a{justify-self:start}.section-pad{padding:65px var(--gutter)}h2{font-size:clamp(40px,10.5vw,64px)}.intro-content{display:block}.intro h2{font-size:clamp(32px,8.3vw,52px)}.intro-copy{margin-top:30px}.process{grid-template-columns:1fr;gap:30px;margin-top:42px}.process article:nth-child(2),.process article:nth-child(3){margin-top:0}.process h3{font-size:24px;margin-bottom:12px}.process p{max-width:42ch}.section-heading{display:block;margin-bottom:32px}.section-heading p{margin-top:26px;max-width:none}.service-filters{gap:8px;margin:30px 0 24px}.service-filters button{padding:12px 17px;font-size:16px}.service summary{grid-template-columns:minmax(0,1fr) 66px 18px;gap:14px;padding:22px 18px}.service-title{font-size:23px;letter-spacing:-.5px}.service-name small{font-size:14px;line-height:1.5}.duration{grid-column:1;grid-row:2;display:block;font-size:14px}.price{font-size:28px;grid-column:2;grid-row:1/3}.price small{display:block;font-size:13px;margin-top:5px}.plus{grid-column:3;grid-row:1/3}.service>p{padding:0 18px 24px}.fine-print{font-size:14px}.gallery-grid{grid-template-columns:1fr 1fr;gap:30px 20px}.gallery-feature{grid-column:1/-1}.gallery-feature .gallery-open{aspect-ratio:1.1}.gallery-detail{padding-top:0}.gallery-detail .gallery-open{aspect-ratio:.7}.gallery-third{width:100%;margin:48px 0 0}.gallery-third .gallery-open{aspect-ratio:.7}.gallery-quote{grid-column:1/-1;padding:16px 0 0}.gallery-quote p{font-size:28px}.gallery-grid figcaption{display:block;font-size:14px}.gallery-grid figcaption>span{display:block}.image-action{bottom:10px;right:10px;width:44px;height:44px}.team-card{grid-template-columns:84px 1fr;gap:20px}.monogram{height:110px}.monogram>span{font-size:45px}.monogram i{font-size:13px}.team-meta h3{font-size:24px}.team-meta>span{font-size:14px}.team-card>p{grid-column:1/-1;max-width:none}.fiction-label{grid-column:1/-1;margin-top:-10px}.team-grid{gap:42px;margin-top:38px}.visit{grid-template-columns:1fr;gap:40px}.visit h2{font-size:clamp(48px,13vw,72px)}.visit-info{padding-top:0}.address{font-size:28px;margin-top:30px}.visit-info>h3{font-size:28px}.contact-details{padding-inline:18px}.footer{padding-top:32px;padding-bottom:32px}.footer-wordmark{font-size:clamp(42px,10.8vw,76px);gap:12px}.footer-wordmark>span{font-size:28px}.footer-bottom{grid-template-columns:1fr;gap:26px;margin-top:30px}.footer-bottom nav{flex-direction:row;flex-wrap:wrap;gap:12px 24px}.studio-signature{justify-content:start;margin-top:30px}.mobile-menu{padding:24px}.mobile-menu-top>span{font-size:25px}.mobile-menu-top{gap:12px}.mobile-menu-top button{font-size:14px}.lightbox{padding:16px;max-width:96vw;width:96vw}.lightbox-top{gap:12px;font-size:14px}.lightbox-close{font-size:14px;padding:8px 10px}.lightbox-stage{height:55dvh}.lightbox-stage button{width:44px;height:44px}.gallery-prev{left:0}.gallery-next{right:0}.lightbox-bottom{font-size:14px;gap:12px}.lightbox-note{font-size:13px}}
@media(max-width:360px){.hero-tagline{font-size:23px}.hero-statement{column-gap:12px}.ritual-cta{max-width:138px;padding:12px;font-size:13px}.service-filters button{padding:12px 15px}.service summary{padding:20px 14px;gap:10px}.service-name{font-size:21px}.hero h1{font-size:88px}.demo-bar{font-size:12px}.logo span{font-size:12px}.section-pad{padding-inline:20px}.intro h2{font-size:30px}.team-meta h3{font-size:23px}}
@media(prefers-reduced-motion:no-preference){.hero h1{animation:title-enter 600ms var(--ease) both}.hero-photo{animation:photo-enter 950ms var(--ease) both}.reveal.is-visible{animation:reveal-enter 550ms var(--ease) both}.lightbox[open],.mobile-menu[open]{animation:dialog-enter 220ms var(--ease) both}@keyframes title-enter{from{opacity:.65;transform:translateY(16px)}to{opacity:1;transform:none}}@keyframes photo-enter{from{opacity:.65;transform:scale(1.04)}to{opacity:1;transform:none}}@keyframes reveal-enter{from{opacity:.65;transform:translateY(16px)}to{opacity:1;transform:none}}@keyframes dialog-enter{from{opacity:.7;transform:translateY(10px)}to{opacity:1;transform:none}}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.gallery-open:hover img,.gallery-open:focus-visible img,.emblem-toggle:hover,.emblem-toggle[aria-pressed=true] .emblem-letters,button:active,.header-cta:hover,.ritual-cta:hover{transform:none}.hero-photo.is-close>img{transform:scale(1.14) translateX(-2%)}}
@media print{body,.services{background:white;color:black}.demo-bar,.header,.hero,.intro,.gallery,.team,.visit,.footer,dialog,.service-filters{display:none!important}.services{padding:0}.service[hidden]{display:block}.service{background:white;color:black;break-inside:avoid}.service-name small,.duration,.price{color:black}}

@media(min-width:701px) and (max-width:1100px){.gallery-quote{padding-left:0}.gallery-quote p{font-size:24px}}

/* Original worker identities, recovered from the imported Atelier Noir CSS.
   The three geometric frames belong to these marks; they are not generic decoration. */
.monogram{position:relative;overflow:hidden;width:100%;border:0;padding:0;isolation:isolate}
.monogram::after{content:"";position:absolute;width:68%;aspect-ratio:1;border:1px solid currentColor;border-radius:50%;opacity:.55;transition:transform 650ms var(--ease);z-index:-1}
.monogram>span{font:66px/1 Georgia,'Times New Roman',serif;letter-spacing:-14px;color:var(--ivory);transform:translateX(-7px);transition:transform 450ms var(--ease)}
.monogram>span>span{margin-left:0;font-style:italic;color:var(--brass)}
.monogram i{position:relative;z-index:1}
.mono-two{background:#2e3431;color:var(--brass)}
.mono-two i{color:var(--ivory)}
.mono-two::after{border-radius:0;width:51%;transform:rotate(45deg)}
.mono-three::after{width:51%;height:68%;aspect-ratio:auto;border-radius:80px 80px 0 0}
.team-card:hover .monogram::after,.monogram:focus-visible::after,.monogram[aria-pressed=true]::after{transform:scale(1.12) rotate(15deg)}
.team-card:hover .mono-two::after,.mono-two:focus-visible::after,.mono-two[aria-pressed=true]::after{transform:rotate(60deg) scale(1.1)}
.team-card:hover .monogram>span,.monogram:focus-visible>span,.monogram[aria-pressed=true]>span{transform:translateX(-7px) translateY(-4px)}
@media(max-width:700px){.monogram>span{font-size:45px;letter-spacing:-10px;transform:translateX(-5px)}.team-card:hover .monogram>span,.monogram:focus-visible>span,.monogram[aria-pressed=true]>span{transform:translateX(-5px) translateY(-3px)}}

/* Service feedback uses transforms inside the existing grid, never animated padding. */
.service{transition:box-shadow 220ms var(--ease)}
.service-name{transition:transform 260ms var(--ease)}
.service-title,.service .price{transition:color 220ms var(--ease)}
.service summary:is(:hover,:focus-visible) .service-name{transform:translateX(6px)}
.service summary:is(:hover,:focus-visible) .service-title{color:var(--brass)}
.service[open]{box-shadow:inset 3px 0 var(--brass)}
.service[open] summary{background:#3b4238}
.service[open] .service-title,.service[open] .price{color:var(--brass)}
@media(prefers-reduced-motion:no-preference){.service[open]>p{animation:service-open 280ms var(--ease) both}@keyframes service-open{from{opacity:.6;transform:translateY(-5px)}to{opacity:1;transform:none}}}

/* Original SVG scissors. Only the two arms rotate around their shared pivot. */
.footer-top{display:flex;align-items:end;justify-content:space-between;gap:40px}
.footer-wordmark{font-size:clamp(42px,8.4vw,132px)}
.cut-return{--cut-distance:180px;position:relative;display:inline-flex;align-items:center;gap:16px;padding:16px 20px;flex-shrink:0;min-height:68px;background:var(--ink);color:var(--ivory);text-decoration:none;border-radius:var(--radius);isolation:isolate;overflow:visible}
.cut-return:hover,.cut-return:focus-visible{color:var(--ivory);text-decoration:none}
.cut-return:focus-visible{outline:3px solid var(--brass)}
.cut-label{position:relative;display:block;font:16px/1.4 var(--body);letter-spacing:.02em;white-space:nowrap}
.cut-half{position:absolute;inset:0;opacity:0;pointer-events:none}
.cut-half-upper{clip-path:inset(0 0 50% 0)}
.cut-half-lower{clip-path:inset(50% 0 0 0)}
.cut-label::after{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:var(--brass);transform:scaleX(0);transform-origin:left;opacity:0;pointer-events:none}
.cut-scissors{position:relative;z-index:2;display:block;width:54px;height:38px;flex-shrink:0;overflow:visible;pointer-events:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;fill:none}
.scissor-arm{transform-box:view-box;transform-origin:33px 28px;transition:transform 180ms var(--ease)}
.scissor-blade{fill:currentColor;stroke-width:.75}
.scissor-shank{stroke-width:3}
.scissor-pivot{fill:var(--brass);stroke:var(--ink);stroke-width:1.5}
.cut-return.is-cutting .cut-label-base{opacity:0}
.cut-return.is-cutting .cut-half{opacity:1}
.cut-return.is-cutting .cut-half-upper{animation:cut-upper 760ms var(--ease) both}
.cut-return.is-cutting .cut-half-lower{animation:cut-lower 760ms var(--ease) both}
.cut-return.is-cutting .cut-label::after{animation:cut-line 760ms linear both}
.cut-return.is-cutting .cut-scissors{animation:scissors-travel 760ms cubic-bezier(.3,.1,.35,1) both}
.cut-return.is-cutting .scissor-arm-a{animation:cut-arm-a 760ms ease-in-out both}
.cut-return.is-cutting .scissor-arm-b{animation:cut-arm-b 760ms ease-in-out both}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.cut-return:hover:not(.is-cutting) .scissor-arm-a{animation:hover-snip-a 700ms ease-in-out}.cut-return:hover:not(.is-cutting) .scissor-arm-b{animation:hover-snip-b 700ms ease-in-out}}
@keyframes hover-snip-a{0%,100%{transform:rotate(0)}45%{transform:rotate(14deg)}75%{transform:rotate(-2deg)}}
@keyframes hover-snip-b{0%,100%{transform:rotate(0)}45%{transform:rotate(-14deg)}75%{transform:rotate(2deg)}}
@keyframes cut-arm-a{0%,100%{transform:rotate(0)}18%,48%{transform:rotate(15deg)}33%,70%{transform:rotate(-2deg)}}
@keyframes cut-arm-b{0%,100%{transform:rotate(0)}18%,48%{transform:rotate(-15deg)}33%,70%{transform:rotate(2deg)}}
@keyframes scissors-travel{0%,8%{transform:translateX(0);opacity:1}78%{transform:translateX(var(--cut-distance));opacity:1}90%{transform:translateX(var(--cut-distance));opacity:0}100%{transform:translateX(0);opacity:0}}
@keyframes cut-upper{0%,56%{transform:none}82%,100%{transform:translateY(-3px) rotate(-.6deg)}}
@keyframes cut-lower{0%,56%{transform:none}82%,100%{transform:translateY(3px) rotate(.6deg)}}
@keyframes cut-line{0%,12%{transform:scaleX(0);opacity:0}18%{opacity:.7}78%{transform:scaleX(1);opacity:.7}100%{transform:scaleX(1);opacity:0}}
@media(max-width:900px){.footer-top{flex-direction:column;align-items:start;gap:28px}.cut-return{padding:14px 18px}}
@media(prefers-reduced-motion:reduce){.team-card:hover .monogram::after,.monogram:focus-visible::after,.monogram[aria-pressed=true]::after,.team-card:hover .monogram>span,.monogram:focus-visible>span,.monogram[aria-pressed=true]>span,.service summary:is(:hover,:focus-visible) .service-name{transform:none}.mono-two::after,.team-card:hover .mono-two::after,.mono-two:focus-visible::after,.mono-two[aria-pressed=true]::after{transform:rotate(45deg)}.monogram>span{transform:none}.cut-return .cut-half{opacity:0!important}.cut-return .cut-label-base{opacity:1!important}.cut-label::after{display:none}}
.monogram i{position:absolute;left:12px;bottom:12px;margin-top:0}
.monogram[aria-pressed=true]::after{opacity:1;border-width:2px}
.monogram:focus-visible{outline-color:var(--ink)}
/* Keep the selected description clear of the keyboard outline. */
.service>p{padding-top:10px}
@keyframes service-open{from{opacity:.6;transform:translateY(4px)}to{opacity:1;transform:none}}
/* Recover the original gallery colour response and contact disclosure gesture. */
.gallery-open img{transition:transform 550ms var(--ease),filter 400ms var(--ease)}
.gallery-open:hover img,.gallery-open:focus-visible img{filter:saturate(.9)}
.contact-details summary{display:flex;align-items:center;justify-content:space-between;gap:20px;list-style:none}
.contact-details summary::-webkit-details-marker{display:none}
.contact-details summary span{display:inline-block;font-size:24px;color:var(--brass);transition:transform 180ms var(--ease)}
.contact-details[open] summary span{transform:rotate(45deg)}
.footer .cut-return:hover,.footer .cut-return:focus-visible{color:var(--ivory);text-decoration:none}
