
/* One registered extension crop is shared by the rail, service list and detail. */
.home-services{display:flex;justify-content:center;flex-wrap:wrap;gap:10px 22px;margin:26px auto 0;max-width:720px}
.home-services a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:3px 0;font-size:13px;color:var(--chalk);border-bottom:1px solid #ece8db40;text-decoration:none}
.home-services a:hover,.home-services a:focus-visible{border-color:var(--brass);color:var(--brass)}
.extension-frame{position:relative;display:block;overflow:hidden;isolation:isolate;background:#151914;border-radius:20px}
.extension-artwork{position:relative;z-index:0;display:block;width:100%;height:100%;overflow:visible;background:#151914}
.extension-artwork-phone{display:none}
.extension-photo{opacity:1;filter:saturate(.72) sepia(.06) contrast(.96) brightness(.89) blur(.18px)}
.extension-frame::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(145deg,#d8c3930d,transparent 46%,#0e140d24),radial-gradient(circle at 70% 58%,transparent 28%,#0e140d2b 100%);mix-blend-mode:soft-light}
.extension-drawing{fill:none;stroke:#f4e7c8;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 1px 4px #10160eaa)}
.extension-drawing path{stroke-dasharray:1;stroke-dashoffset:0}
.extension-pencil-notes{font:28px/1.1 Caveat,cursive;fill:var(--chalk);stroke:#182018aa;stroke-width:2.2;paint-order:stroke}
.extension-pencil-notes path{fill:none;stroke:#f4e7c8;stroke-width:1.25}
.motion-ready [data-extension-artwork]:not(.extension-arrived) .extension-photo{opacity:.08}
.motion-ready [data-extension-artwork]:not(.extension-arrived) .extension-drawing path{stroke-dashoffset:1}
.motion-ready [data-extension-artwork]:not(.extension-arrived) .extension-pencil-notes text{opacity:0}
.extension-arrived .extension-photo{animation:extension-photo-arrive 5.8s cubic-bezier(.16,1,.3,1) both}
.extension-arrived .extension-drawing>path{animation:extension-pencil 4.2s cubic-bezier(.35,.05,.35,1) both}
.extension-arrived .extension-drawing>path:nth-child(2){animation-delay:.32s}
.extension-arrived .extension-drawing>path:nth-child(3){animation-delay:.64s}
.extension-arrived .extension-drawing>path:nth-child(4){animation-delay:.96s}
.extension-arrived .extension-pencil-notes path{animation:extension-pencil 3.7s cubic-bezier(.35,.05,.35,1) 1.35s both}
.extension-arrived .extension-pencil-notes text{animation:extension-note .82s cubic-bezier(.16,1,.3,1) 3.15s both}
.service-row [data-extension-artwork] .extension-photo{opacity:1!important;animation:none!important}
.service-row [data-extension-artwork] .extension-drawing path{stroke-dashoffset:0!important;animation:none!important}
.service-row [data-extension-artwork] .extension-pencil-notes text{opacity:1!important;animation:none!important}
.extension-opening{position:relative;isolation:isolate;min-height:650px;height:calc(100svh - 94px);max-height:920px;overflow:hidden;text-align:center;background:#151914}
.extension-opening>.extension-frame{position:absolute;inset:0;z-index:-2;width:100%;height:100%;aspect-ratio:auto;border-radius:0}
.extension-opening .extension-artwork{-webkit-mask-image:linear-gradient(to bottom,transparent 0 12%,#000 32%,#000 72%,transparent 96% 100%);mask-image:linear-gradient(to bottom,transparent 0 12%,#000 32%,#000 72%,transparent 96% 100%)}
.extension-opening::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#111911 0 16%,#111911d9 23%,#11191140 37%,transparent 46%,transparent 62%,#10160ef0 88%)}
.extension-opening .extension-heading{padding:28px var(--gutter) 0}
.extension-opening .breadcrumbs{display:inline-block;margin:0 auto 24px;color:var(--chalk);text-shadow:0 1px 8px #000}
.extension-opening .overline{display:block;margin:0 0 20px;color:var(--chalk);font-size:11px}
.extension-opening .editorial-title{margin:0;text-shadow:0 2px 22px #10160e90}
.extension-opening .title-main{font-size:clamp(44px,6vw,86px)}
.extension-opening .title-note{font-size:clamp(39px,5.7vw,80px);color:var(--chalk)}
.extension-opening .extension-actions{position:absolute;left:var(--gutter);right:var(--gutter);bottom:32px;max-width:470px;margin-inline:auto}
.extension-actions>.button{width:100%;display:flex;align-items:center;justify-content:space-between;padding:12px 22px;min-height:56px;border-radius:999px}
.extension-actions>.handwritten{font:clamp(27px,3vw,36px)/1.18 Caveat,cursive;color:var(--chalk);text-shadow:0 2px 10px #000;margin:0 0 24px}
.service-row .extension-frame{width:100%;aspect-ratio:4/3}
.extension-project .extension-frame{display:block;width:100%;height:100%;aspect-ratio:auto}
.extension-project .image-wrap{isolation:isolate}
.extension-project .story-note{z-index:3;top:auto;bottom:22px;left:22px;right:22px;width:auto;max-width:none;text-align:center;transform:rotate(-2deg);white-space:normal}
@keyframes extension-pencil{to{stroke-dashoffset:0}}
@keyframes extension-note{from{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}
@keyframes extension-photo-arrive{0%,24%{opacity:.08}100%{opacity:1}}
@media(max-width:760px){
 .extension-opening{height:calc(100svh - 74px);min-height:650px}
 .extension-opening .extension-heading{padding-top:22px}
 .extension-opening .breadcrumbs{margin-bottom:16px}
 .extension-opening .overline{margin-bottom:14px;font-size:10px}
 .extension-opening .title-main{font-size:clamp(42px,12vw,58px)}
 .extension-opening .title-note{font-size:clamp(36px,10.5vw,52px)}
 .extension-opening .extension-actions{bottom:32px}
 .extension-opening .extension-artwork-wide{display:none}
 .extension-opening .extension-artwork-phone{display:block}
 .home-services{gap:6px 18px;margin-top:22px}
 .service-row .extension-frame{aspect-ratio:3/4}
 .extension-pencil-notes{font-size:31px}
}
@media(prefers-reduced-motion:reduce){.motion-ready [data-extension-artwork] .extension-photo{opacity:1;animation:none}.motion-ready [data-extension-artwork] .extension-drawing path{stroke-dashoffset:0;animation:none}.motion-ready [data-extension-artwork] .extension-pencil-notes text{opacity:1;animation:none}}
