/* v5 Bento — product-style bento grid, glass cards, kinetic variable type, WebGL blob accent */
:root{--bg:#EEF2F1;--ink:#0F1A1C;--ink2:#56666A;--teal:#1F6F78;--tealL:#5FB3B3;--sage:#A9C5B0;--glass:rgba(255,255,255,.55);--bd:rgba(255,255,255,.8);--f:'Geist',system-ui,sans-serif;--m:'Geist Mono',ui-monospace,monospace;--g:clamp(10px,1vw,16px);--p:clamp(16px,2vw,32px);--r:26px;--e:cubic-bezier(.16,1,.3,1)}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:400 16px/1.5 var(--f);-webkit-font-smoothing:antialiased;overflow-x:hidden}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}
body:before{content:"";position:fixed;inset:0;background-image:radial-gradient(rgba(15,26,28,.09) 1px,transparent 1px);background-size:22px 22px;pointer-events:none;z-index:0}
.blobs{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}.blobs i{position:absolute;border-radius:50%;filter:blur(90px);opacity:.6}.blobs i:nth-child(1){width:46vw;height:46vw;background:#B9DCDA;left:-10vw;top:-12vw}.blobs i:nth-child(2){width:40vw;height:40vw;background:#E3E9D2;right:-8vw;top:30vh}.blobs i:nth-child(3){width:36vw;height:36vw;background:#F2DCCB;left:30vw;bottom:-18vw;opacity:.45}
.w{position:relative;z-index:1;max-width:1560px;margin:0 auto;padding:0 var(--p)}
.mono{font:500 11px/1.3 var(--m);letter-spacing:.04em;text-transform:uppercase;color:var(--ink2)}
.tile{position:relative;border-radius:var(--r);background:var(--glass);border:1px solid var(--bd);backdrop-filter:blur(24px) saturate(1.5);-webkit-backdrop-filter:blur(24px) saturate(1.5);box-shadow:0 1px 0 rgba(255,255,255,.9) inset,0 24px 60px -36px rgba(15,26,28,.35);padding:clamp(20px,2.2vw,34px);overflow:hidden;transition:transform .6s var(--e),box-shadow .6s var(--e)}
a.tile:hover{transform:translateY(-4px);box-shadow:0 1px 0 rgba(255,255,255,.9) inset,0 40px 80px -40px rgba(15,26,28,.45)}
.bento{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--g);margin-top:var(--g)}
.chip{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border-radius:999px;background:rgba(255,255,255,.7);border:1px solid rgba(15,26,28,.08);font:500 12px/1 var(--m);text-transform:uppercase;letter-spacing:.04em}.chip i{width:7px;height:7px;border-radius:50%;background:var(--teal);box-shadow:0 0 0 4px rgba(31,111,120,.15)}
.logo{display:inline-flex;align-items:center;gap:10px;font:600 16px/1 var(--f);letter-spacing:-.02em}.logo:before{content:"";width:18px;height:18px;border-radius:6px;background:conic-gradient(from 200deg,var(--teal),var(--tealL),var(--sage),var(--teal))}.logo span{color:var(--ink2);font-weight:400}
.btn{display:inline-flex;align-items:center;gap:10px;background:var(--ink);color:#fff;border-radius:12px;padding:13px 18px;font:500 14px/1 var(--f);transition:background .3s}.btn:hover{background:var(--teal)}.btn:after{content:"→";transition:transform .3s}.btn:hover:after{transform:translateX(3px)}
.btn.lg{padding:20px 26px;font-size:16px;border-radius:16px}
.hd,.mnav{--paper:#F4F2EE;--ink:#121A21;--ink-2:#3B464F;--ink-3:#7A848B;--line:rgba(18,26,33,.12);--accent:#1F6F78;--accent-2:#6FA79A;--white:#fff;--sans:"Lato",system-ui,sans-serif;--display:var(--f);--gut:clamp(20px,3.2vw,48px);--ease:cubic-bezier(.22,1,.36,1)}
.hd .c{margin:0 var(--p);padding:10px 10px 10px 26px;background:rgba(255,255,255,.62);backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4);border:1px solid rgba(255,255,255,.7);border-radius:999px;box-shadow:0 10px 40px -20px rgba(20,33,31,.3)}
.mnav .lbl{font:500 12px/1.4 var(--f);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}
/* header */
.hd{position:sticky;top:16px;z-index:50;max-width:1560px;margin-inline:auto;transition:transform .5s var(--ease)}
.hd.solid{background:transparent}
.hd.hide{transform:translateY(-100%)}
.hd .c{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;height:76px}
@media(min-width:1101px){.hd .c{padding-right:15.5px}}
.hd .logo{display:block;width:220px;max-width:100%}.hd .logo:before{content:none}.hd .logo img{width:100%;height:auto}
.nv{display:flex;gap:4px;list-style:none;margin:0;padding:0}.nv>li{position:relative}
.nv a{display:block;padding:10px 14px;font:500 14px/1 var(--sans);color:var(--ink-2);border-radius:100px;transition:background .25s,color .25s}.nv>li>a:hover,.nv>li:focus-within>a{background:rgba(18,26,33,.06);color:var(--ink)}
.nv .sub{position:absolute;top:calc(100% + 8px);left:0;min-width:280px;list-style:none;margin:0;padding:8px;background:var(--white);border-radius:14px;box-shadow:0 30px 60px -20px rgba(18,26,33,.25),0 0 0 1px var(--line);opacity:0;visibility:hidden;transform:translateY(6px);transition:.3s var(--ease)}
.nv li:hover>.sub,.nv li:focus-within>.sub,.nv li.open>.sub{opacity:1;visibility:visible;transform:translateY(0)}.nv .sub a{border-radius:9px;padding:12px 14px;font-size:15px}.nv .sub a:hover{background:var(--paper)}
.hd-r{justify-self:end;display:flex;gap:10px;align-items:center}
.pill{display:inline-flex;align-items:center;gap:12px;padding:14px 22px;border-radius:100px;font:500 15px/1 var(--sans);background:var(--ink);color:var(--paper);position:relative;overflow:hidden;isolation:isolate;transition:color .45s var(--ease)}
.pill:before{content:"";position:absolute;inset:0;z-index:-1;background:var(--accent);border-radius:inherit;transform:translateY(101%);transition:transform .55s var(--ease)}.pill:hover:before{transform:none}
.pill i{width:7px;height:7px;border-radius:50%;background:var(--accent-2);display:block;transition:background .3s}.pill:hover i{background:var(--paper)}
.pill.lg{padding:20px 30px;font-size:17px}.pill.ghost{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1px var(--line)}.pill.ghost:hover{color:var(--paper)}
.burger{display:none;width:46px;height:46px;border-radius:50%;border:0;background:var(--ink);cursor:pointer;position:relative}.burger span{position:absolute;left:15px;right:15px;height:1.5px;background:var(--paper);transition:.35s var(--ease)}.burger span:first-child{top:19px}.burger span:last-child{top:26px}
.menu-open .burger span:first-child{top:22.5px;transform:rotate(45deg)}.menu-open .burger span:last-child{top:22.5px;transform:rotate(-45deg)}
.mnav{position:fixed;inset:108px 0 0;z-index:40;background:var(--paper);padding:24px calc(var(--p) + 10px) 40px var(--menu-left,calc(var(--p) + 40px));overflow-y:auto;overscroll-behavior:contain;opacity:0;visibility:hidden;transition:.45s var(--ease)}.menu-open .mnav{opacity:1;visibility:visible}.menu-open{overflow:hidden}.menu-open:after{content:"";position:fixed;inset:0;z-index:39;background:#F4F2EE}
.mnav h4{margin:28px 0 8px}.mnav h4:first-child{margin-top:0}.mnav>a{display:block;padding:5px 0;font:300 24px/1.38 var(--display);letter-spacing:-.02em;color:var(--ink)}.mnav .pill{display:inline-flex;width:auto;max-width:100%}
.mnav .menu-group{margin:0;padding:16px 0}.mnav summary{position:relative;min-height:32px;display:flex;align-items:center;justify-content:space-between;gap:20px;list-style:none;cursor:pointer;font:300 24px/1.38 var(--display);letter-spacing:-.02em}.mnav summary::-webkit-details-marker{display:none}.mnav .menu-toggle{display:block;flex:0 0 24px;width:24px;height:24px;color:var(--ink);transition:transform .2s var(--e)}.mnav .menu-toggle:before{content:"→";display:block;font:300 24px/24px var(--display);text-align:center}.mnav details[open] .menu-toggle{transform:rotate(45deg)}.mnav .menu-links{padding:12px 0 8px}.mnav .menu-links a{display:block;padding:10px 0;font:400 16px/1.5 var(--display);color:var(--ink)}.mnav summary:focus-visible{outline:2px solid var(--accent);outline-offset:5px}
.mnav>a.menu-direct{display:flex;align-items:center;min-height:64px;margin:0;padding:16px 0}
.mnav .menu-group+.menu-group,.mnav .menu-group+.menu-direct,.mnav .menu-direct+.menu-direct{border-top:1px solid rgba(18,26,33,.16)}
/* hero */
.hero{margin-top:calc(16px + 2 * var(--g));row-gap:calc(2 * var(--g))}
.t-h1{grid-column:span 8;min-height:min(64vh,600px);display:flex;flex-direction:column;justify-content:space-between}
.t-h1 h1{margin:0;font:500 clamp(48px,6.4vw,90px)/.92 var(--f);letter-spacing:-.055em;font-variation-settings:"wght" 500}
.t-h1 h1 .k{display:inline-block;transition:font-weight .25s,color .25s}.t-h1 h1 .ac{color:var(--teal)}
.t-h1 .top{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap}
@media(width < 400px){.hero .t-h1 .hero-service-region{display:block}}
@media(width < 1265px){.t-in .home-services-second-line{display:block}}
.t-gl{grid-column:span 4;padding:0;background:var(--glass)}.t-gl>img{display:none}
.t-gl .lab a:hover,.t-gl .lab a:focus-visible{color:var(--teal)}
.t-gl:before{content:"";position:absolute;inset:-15%;background:radial-gradient(ellipse at 20% 25%,rgba(95,179,179,.3),transparent 55%),radial-gradient(ellipse at 85% 65%,rgba(31,111,120,.18),transparent 55%),radial-gradient(ellipse at 40% 90%,rgba(169,197,176,.22),transparent 50%);filter:blur(35px);pointer-events:none}
.t-gl:after{content:"";position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='grain'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23000' filter='url(%23grain)' d='M0 0h180v180H0z'/%3E%3C/svg%3E");opacity:.045;pointer-events:none}
.t-gl .lab{position:absolute;z-index:1;left:24px;right:24px;bottom:22px;display:flex;justify-content:space-between;align-items:flex-end;gap:12px;color:var(--ink)}
.t-gl .lab b{font:500 15px/1.35 var(--f);max-width:20ch}
.t-ph{grid-column:span 5;padding:0;min-height:380px}.t-ph img,.vt .im img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--e)}.t-ph:hover img{transform:scale(1.04)}
.t-ph .chip{position:absolute;left:18px;bottom:18px}
.t-in{grid-column:span 7;display:flex;flex-direction:column;justify-content:space-between;gap:24px}
.t-in p{
 margin:0;
 font-family:var(--f);
 font-size:24px;
 font-weight:300;
 line-height:1.38;
 letter-spacing:-.02em;
}
/* Reusable service introduction and scroll-progress text list. */
.service-overview{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1fr);gap:clamp(32px,5vw,80px);align-items:start;margin-top:clamp(60px,7vw,110px)}
.service-intro{padding-left:40px}
.service-intro.is-sticky{position:sticky;top:112px}
.service-intro h1{font:500 clamp(42px,5.6vw,90px)/.95 var(--f);letter-spacing:-.055em;margin:24px 0 28px}
.service-intro p{font:300 24px/1.38 var(--f);letter-spacing:-.02em;margin:0 0 28px}
.service-detail{background:rgba(255,255,255,.85)}
.service-progress{position:relative;padding-left:44px}
.service-spine{position:absolute;left:7px;top:28px;bottom:28px;width:2px;background:rgba(15,26,28,.12)}
.service-spine span{position:absolute;inset:0 auto auto 0;width:100%;height:0;background:var(--teal)}
.service-phase{position:relative;padding:20px 0 42px}
.service-phase+.service-phase{padding-top:32px;border-top:1px solid rgba(15,26,28,.12)}
.service-phase:last-child{padding-bottom:20px}
.service-dot{position:absolute;left:-43px;top:28px;width:15px;height:15px;border:2px solid #C8D3D0;border-radius:50%;background:var(--bg);box-shadow:0 0 0 6px var(--bg);transition:border-color .3s,transform .3s}
.service-phase+.service-phase .service-dot{top:40px}
.service-phase.is-read .service-dot{border-color:var(--teal);transform:scale(1.12)}
.service-phase h2{font:500 24px/1.38 var(--f);letter-spacing:-.02em;margin:0 0 16px}
.service-phase p{font:400 18px/1.5 var(--f);color:var(--ink2);margin:0}
.service-progress.is-enhanced .service-phase h2,.service-progress.is-enhanced .service-phase p{transition:color .3s}
.service-progress.is-enhanced .service-phase:not(.is-read) h2,.service-progress.is-enhanced .service-phase:not(.is-read) p{color:#ADB8B8}
.service-more{display:inline-block;margin:24px 0 0 44px;font-size:14px;color:var(--teal);text-decoration:underline;text-underline-offset:4px}
.service-links{display:flex;flex-wrap:wrap;align-items:baseline;gap:12px 24px;margin-top:24px}.service-links .service-more{margin:0}.service-links-label{font-size:14px;color:var(--teal)}
@media(max-width:960px){.service-overview{grid-template-columns:1fr;gap:32px}.service-intro.is-sticky{position:static}.service-intro h1{font-size:clamp(42px,7vw,70px)}}
@media(max-width:640px){.service-progress{padding-left:30px}.service-dot{left:-29px}.service-more{margin-left:30px}}
@media(prefers-reduced-motion:reduce){.service-dot{transition:none}}
/* Video production: original text/photo split and two-column video gallery. */
.production-heading{margin-top:clamp(60px,7vw,110px);margin-bottom:clamp(40px,5vw,80px)}
.production-heading h1{max-width:16ch}
.production-banner{position:relative;isolation:isolate;overflow:hidden;border-radius:var(--r);height:min(72vh,760px);min-height:320px;display:flex;align-items:flex-end;padding:22px 24px;margin-top:calc(16px + 2 * var(--g));color:#fff;background:var(--ink)}
.production-banner>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center;z-index:-2}
.production-banner:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(15,26,28,.45),transparent 40%)}
.production-banner-copy{display:flex;flex-direction:column;gap:8px;text-shadow:0 1px 10px rgba(0,0,0,.35)}.production-banner .mono{color:#fff;font:500 12px/1.4 var(--m);letter-spacing:.14em}.production-banner h1{margin:0;max-width:none;font:500 12px/1.4 var(--m);letter-spacing:.14em;text-transform:uppercase}
@media(max-width:640px){.production-banner{height:56vh;min-height:320px}.production-banner>img{object-position:center center}}
.production-banner>img[src*="medical-vancouver-2.jpg"]{object-position:25% center}
.production-banner.banner-display{align-items:center;padding:112px clamp(32px,6vw,96px) 48px}.banner-display .production-banner-copy{gap:24px;text-shadow:0 2px 8px rgba(0,0,0,.45)}.production-banner.banner-display h1{font:500 clamp(42px,5.6vw,90px)/.95 var(--f);letter-spacing:-.055em;text-transform:none;color:#fff}.production-banner.banner-display .mono{font:500 11px/1.3 var(--m);letter-spacing:.04em;color:#fff}
.production-overview{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(32px,5vw,80px);align-items:start}
.production-overview .service-intro .video-lead{font:200 36px/1.2 var(--f);letter-spacing:-.045em;margin-bottom:32px;--reveal-ink:var(--ink2);color:var(--ink2)}
@media(max-width:1100px){.production-overview .service-intro .video-lead strong{font-weight:inherit}}
.about-copy{padding-left:40px;display:flex;flex-direction:column;gap:32px}
@media(max-width:640px){.about-copy{min-width:0;padding-left:16px;padding-right:16px}}
.about-copy p{margin:0;font:300 24px/1.38 var(--f);letter-spacing:-.02em;color:var(--ink2)}
.about-copy .about-lead{font-size:36px;font-weight:200;line-height:1.2;letter-spacing:-.045em;color:var(--ink)}
.about-copy .about-location{font:500 12px/1.6 var(--m);letter-spacing:.14em;color:var(--teal)}
.about-team-placeholder{aspect-ratio:5/6;display:grid;place-items:center}
.about-team-photo{padding:0}.about-team-photo img{display:block;width:100%;height:auto;border-radius:inherit}
.about-paragraph-break{display:block;margin-top:32px}
.about-reveal.scroll-reveal .scroll-word{color:rgba(13,15,16,.14);transition:color .25s}
.about-reveal.scroll-reveal .scroll-word.on{color:var(--ink2)}
@media(prefers-reduced-motion:reduce){.about-reveal.scroll-reveal .scroll-word{color:var(--ink2);transition:none}}
/* Reusable inner-page banner: 775px edge-to-edge opening, then inset on scroll. */
.inner-banner-stage{--banner-side:0px;--banner-top:0px;--banner-bottom:0px;--banner-radius:0px;position:relative;width:var(--banner-viewport,100vw);margin-left:calc((100% - var(--banner-viewport,100vw))/2);margin-top:-76px;height:1015px;margin-bottom:clamp(40px,5vw,80px)}
.inner-banner-frame{position:sticky;top:0;height:775px}
.inner-banner-frame .production-banner{position:absolute;inset:var(--banner-top) var(--banner-side) var(--banner-bottom);height:auto;min-height:0;margin:0;border-radius:0 0 var(--banner-radius) var(--banner-radius)}
.inner-banner-stage .production-banner.banner-display{align-items:flex-end;padding-left:calc(max(0px,(var(--banner-viewport,100vw) - 1560px)/2) + var(--p) + 40.2px - var(--banner-side));padding-right:calc(max(0px,(var(--banner-viewport,100vw) - 1560px)/2) + var(--p) + 16.5px - var(--banner-side));padding-bottom:64px}
@media(prefers-reduced-motion:reduce){.inner-banner-stage{height:775px}}
@media(max-width:640px){.inner-banner-stage{height:420px;margin-bottom:32px}.inner-banner-frame{position:relative;height:420px}.inner-banner-frame .production-banner{border-radius:0 0 var(--r) var(--r)}.inner-banner-frame .production-banner.banner-display{padding-top:120px;padding-bottom:36px}}
@media(max-width:640px) and (prefers-reduced-motion:reduce){.inner-banner-stage{height:420px}}
@media(min-width:641px) and (max-width:1100px){:is(.video-banner-stage,.photography-banner-stage,.about-banner-stage){height:550px}:is(.video-banner-stage,.photography-banner-stage,.about-banner-stage) .inner-banner-frame{position:relative;height:550px}:is(.video-banner-stage,.photography-banner-stage,.about-banner-stage) .production-banner{border-radius:0 0 var(--r) var(--r)}}
.production-photos{columns:2;column-gap:var(--g);min-width:0}
.production-photo>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.production-photo{display:flex;align-items:center;justify-content:center;text-align:center;break-inside:avoid;margin-bottom:var(--g);background:linear-gradient(135deg,rgba(185,220,218,.65),var(--glass))}
.production-videos{position:relative;isolation:isolate;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:clamp(32px,4vw,64px) clamp(24px,3vw,48px);margin-top:clamp(60px,7vw,110px);padding-block:clamp(40px,6vw,80px)}
.production-videos:before{content:"";position:absolute;top:0;bottom:0;left:50%;width:100vw;transform:translateX(-50%);z-index:-2;background:#fff;pointer-events:none}
.production-videos:after{--stripe-gap:clamp(16px,2.2vw,32px);content:"";position:absolute;top:0;bottom:0;left:50%;width:calc(100vw - 2 * var(--stripe-gap));transform:translateX(-50%);z-index:-1;background:repeating-linear-gradient(90deg,rgba(13,15,16,.045) 0 1px,transparent 1px calc((100vw - var(--stripe-gap))/12));border-right:1px solid rgba(13,15,16,.045);pointer-events:none}
.production-video{aspect-ratio:var(--video-ratio,16/9);border-radius:var(--r);overflow:hidden;background:transparent;box-shadow:0 12px 28px rgba(15,26,28,.35),0 3px 8px rgba(15,26,28,.10)}
.production-video iframe{display:block;width:100%;height:100%;border:0}
@media(max-width:960px){.production-overview{grid-template-columns:1fr}}
@media(min-width:768px) and (max-width:1100px){.production-videos{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){.production-videos{grid-template-columns:1fr}}
/* Sector pages: shared service layout with a natural-proportion photo card. */
.sector-overview .sector-intro-copy{font:200 36px/1.2 var(--f);letter-spacing:-.045em}
.sector-overview .sector-body-copy{font-size:18px;line-height:1.5}
.service-inline-link{color:var(--teal)}.service-inline-link:hover,.service-inline-link:focus-visible{text-decoration:underline;text-underline-offset:3px}
.sector-overview .sector-quote{border-left:1px solid var(--teal);padding-left:24px}
.sector-photo-stack{min-width:0}.sector-photo-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--g);margin-top:var(--g)}.sector-photo-column{display:flex;flex-direction:column;gap:var(--g);min-width:0}
.sector-photo{padding:0}.sector-photo img{display:block;width:100%;height:auto}.sector-photo-placeholder{min-height:560px;display:grid;place-items:center;background:linear-gradient(135deg,rgba(185,220,218,.35),rgba(255,255,255,.8))}
.sector-projects{display:block;columns:3;column-gap:32px}.sector-project-placeholder{min-height:240px;display:grid;place-items:center;border-radius:16px;background:rgba(185,220,218,.25)}.sector-project h3{font:500 24px/1.38 var(--f);margin:20px 0 0}.sector-project .tag-draft{font-size:14px;color:var(--ink2)}
.sector-work{scroll-margin-top:112px}.sector-work .sh{padding-bottom:32px}.sector-project{display:inline-block;vertical-align:top;width:100%;break-inside:avoid;margin-bottom:32px;min-width:0;padding:0}.project-cover{overflow:hidden;background:#E5EEEB}.project-cover img{width:100%;height:auto}.project-card-caption{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px;font-size:14px;color:var(--teal)}.project-card-caption h3{margin:0;font:400 14px/1.5 var(--f);color:var(--teal)}.project-card-arrow{font-size:14px;color:var(--teal);margin:0}
.project-detail{padding-top:64px}.project-back{display:inline-block;margin-bottom:32px;font-size:16px;color:var(--teal)}.project-detail-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:clamp(32px,5vw,80px);align-items:start}.project-detail-copy{grid-column:2;grid-row:1;position:sticky;top:112px;min-width:0}.project-detail-copy h1{font:500 clamp(36px,4vw,64px)/1 var(--f);letter-spacing:-.045em;margin:24px 0 32px}.project-detail-copy p{font:300 18px/1.5 var(--f);margin:0 0 24px}.project-detail-copy h2{margin:32px 0 16px;font:500 24px/1.38 var(--f);letter-spacing:-.02em;text-transform:none;color:var(--ink)}.project-detail-copy .btn{margin-top:8px;border-radius:999px}.project-gallery{grid-column:1;grid-row:1;display:block;columns:2;column-gap:24px;min-width:0}.project-screen{display:inline-block;vertical-align:top;width:100%;padding:0;min-width:0;break-inside:avoid;margin-bottom:24px}.project-screen img{width:100%;height:auto}.project-screen-label{display:flex;justify-content:space-between;gap:12px;padding:16px;font-size:14px;color:var(--teal)}.project-pagination{display:flex;justify-content:space-between;gap:32px;border-top:1px solid rgba(15,26,28,.16);padding-top:24px;margin-top:64px;font-size:16px;color:var(--teal)}.project-pagination a:last-child{text-align:right}
.project-lightbox{width:min(1100px,calc(100vw - 32px));max-width:none;height:calc(100dvh - 32px);max-height:none;padding:0;border:1px solid var(--bd);border-radius:var(--r);background:var(--bg);color:var(--ink);overflow:hidden}.project-lightbox::backdrop{background:rgba(15,26,28,.72);backdrop-filter:blur(8px)}.project-lightbox-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 24px;min-height:64px;border-bottom:1px solid rgba(15,26,28,.12)}.project-lightbox-bar button{font:400 16px/1.5 var(--f);color:var(--ink);background:transparent;border:1px solid rgba(15,26,28,.25);border-radius:999px;padding:6px 16px;cursor:pointer}.project-lightbox-scroll{height:calc(100% - 71px);overflow:auto;overscroll-behavior:contain}.project-lightbox-scroll img{display:block;width:100%;height:auto}.project-image-open{overflow:hidden}
@media(max-width:960px){.project-detail-layout{grid-template-columns:minmax(0,1fr)}.project-detail-copy{grid-column:1;grid-row:1;position:static;max-width:760px}.project-gallery{grid-column:1;grid-row:2}.project-detail{padding-top:48px}}
.project-video{break-before:column;aspect-ratio:426/240}
.project-gallery.project-gallery-columns{display:grid;columns:auto;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}.project-gallery-column{display:flex;flex-direction:column;gap:24px;min-width:0}.project-gallery-column>.project-screen{display:block;margin-bottom:0;flex-shrink:0}
@media(max-width:640px){.project-gallery.project-gallery-columns{grid-template-columns:minmax(0,1fr)}}
/* Keep two screenshots side by side without multicolumn height balancing. */
@media(min-width:641px){.project-gallery:has(>.project-screen:nth-child(2):last-child){display:grid;columns:auto;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}}
@media(max-width:640px){[data-project-image]{pointer-events:none;cursor:default}[data-project-image] .project-screen-label{display:none}}
@media(max-width:640px){.project-detail-layout{row-gap:64px}.project-detail-copy>.btn{display:flex;width:fit-content}.project-gallery{columns:1}.project-video{break-before:auto}.project-detail-copy{padding:0 16px}.project-back{margin-left:16px}.project-pagination{gap:20px}.project-lightbox-bar{padding:12px 16px}.project-lightbox-bar .mono{max-width:65%}}
@media(max-width:640px){.sector-overview .service-intro{padding-left:16px;padding-right:16px}.sector-projects{columns:1}.sector-photo-placeholder{min-height:360px}}
/* verticals */
/* Therapist and Wellness content follows the header's inner edges; logo P starts 6% into the 220px asset. */
@media(min-width:1101px){:is(.therapist-overview,.wellness-overview,.medical-overview)>.sector-photo-stack{position:relative;align-self:stretch;min-height:0}:is(.therapist-overview,.wellness-overview,.medical-overview)>.sector-photo-stack>.sector-photo{position:absolute;inset:0}:is(.therapist-overview,.wellness-overview,.medical-overview) .sector-photo img{width:100%;height:100%;object-fit:cover;object-position:center bottom}:is(.therapist-overview,.wellness-overview,.medical-overview)>.service-intro>.btn{display:flex;width:fit-content}}
@media(min-width:1101px){.clinic-overview:is(.therapist-overview,.wellness-overview,.medical-overview)>.service-intro{min-width:0;padding:0}}
@media(min-width:1101px){.clinic-overview:is(.therapist-overview,.wellness-overview,.medical-overview){padding-left:40.2px;padding-right:16.5px}}
@media(max-width:1100px){.clinic-overview.therapist-overview .sector-heading{background-image:linear-gradient(0deg,rgba(15,26,28,.62),rgba(15,26,28,.08) 70%),url('../images/photography/PilotStar%C2%AE-medical-therapist-design-3.jpg')}:is(.therapist-overview,.wellness-overview,.medical-overview)>.sector-photo-stack{display:none}}
@media(min-width:641px) and (max-width:1100px){.clinic-overview:is(.therapist-overview,.wellness-overview,.medical-overview) .sector-heading{min-height:550px}}
@media(min-width:1101px){.clinic-overview:is(.therapist-overview,.wellness-overview,.medical-overview){grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:clamp(32px,5vw,80px);margin-top:clamp(60px,7vw,110px)}:is(.therapist-overview,.wellness-overview,.medical-overview)>.sector-photo-stack{grid-column:1;grid-row:1}:is(.therapist-overview,.wellness-overview,.medical-overview)>.service-intro{grid-column:2;grid-row:1}.clinic-overview:is(.therapist-overview,.wellness-overview,.medical-overview) .sector-heading{display:block;width:auto;min-height:0;margin:0;padding:0;background:none;border-radius:0;color:var(--ink);text-shadow:none}.clinic-overview:is(.therapist-overview,.wellness-overview,.medical-overview) .sector-heading .mono{color:var(--ink2)}.clinic-overview:is(.therapist-overview,.wellness-overview,.medical-overview) .sector-heading h1{color:var(--ink);margin:24px 0 28px}}
@media(max-width:1100px){.clinic-overview.medical-overview .sector-heading{background-image:linear-gradient(0deg,rgba(15,26,28,.62),rgba(15,26,28,.08) 70%),url('../images/photography/PilotStar%C2%AE-medical-technology-3.jpg')}}
@media(min-width:1101px){.wellness-overview .sector-photo img{object-position:65% bottom}}
@media(max-width:1100px){.clinic-overview.wellness-overview .sector-heading{background-image:linear-gradient(0deg,rgba(15,26,28,.62),rgba(15,26,28,.08) 70%),url('../images/photography/athena-yoga-field.jpg');background-position:65% center}}
@media(max-width:1100px){.clinic-overview.sector-awaiting-images .sector-heading{background-image:linear-gradient(135deg,#1F6F78,#0F1A1C)}}
.sector-projects-ordered{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));columns:auto;gap:32px;align-items:start}.sector-project-column{min-width:0;display:flex;flex-direction:column;gap:32px}.sector-project-column>.sector-project{margin-bottom:0}
@media(max-width:640px){.sector-projects-ordered{grid-template-columns:1fr}}
@media(max-width:1100px){.clinic-overview{grid-template-columns:minmax(0,1fr);margin-top:-76px;gap:32px}.clinic-overview .service-intro{min-width:0;padding-left:16px;padding-right:16px}.clinic-overview .sector-heading{display:flex;flex-direction:column;justify-content:flex-end;width:calc(100% + 2 * var(--p) + 32px);min-height:clamp(500px,70svh,700px);margin-left:calc(-1 * var(--p) - 16px);margin-bottom:40px;padding:160px calc(var(--p) + 16px) 48px;background:linear-gradient(0deg,rgba(15,26,28,.62),rgba(15,26,28,.08) 70%),url('../images/photography/PilotStar%C2%AE-medical-clinic-photography-7.jpg') center/cover no-repeat;color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.35)}.clinic-overview .sector-heading .mono{color:#fff}.clinic-overview .sector-heading h1{color:#fff;font-size:clamp(42px,7vw,70px);margin-bottom:0}}
/* Photography: two text columns and the original twelve-slot masonry gallery. */
@media(max-width:640px){.clinic-overview .sector-heading{min-height:420px;padding-top:120px;padding-bottom:36px;border-radius:0 0 var(--r) var(--r);margin-bottom:32px}}
@media(min-width:641px) and (max-width:1100px){.inner-banner-stage,.clinic-overview .sector-heading{margin-bottom:64px}}
@media(min-width:641px) and (max-width:1100px){.clinic-overview{row-gap:64px}.clinic-overview .sector-heading{border-radius:0 0 var(--r) var(--r)}.clinic-overview .sector-photo-gallery{margin-top:0}.clinic-overview .service-intro>.btn{display:flex;width:fit-content}}
.photography-heading{margin-top:clamp(60px,7vw,110px);margin-bottom:clamp(40px,5vw,80px)}
.photography-overview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(32px,5vw,80px);align-items:start}
.photography-overview>.service-intro{position:sticky;top:var(--photography-sticky-top,112px)}
.photography-overview h2{margin:0 0 24px}
.photography-overview>.service-intro>p+p{font-size:18px;line-height:1.5}
.photography-overview>.service-intro>p.photography-closing{font-size:24px;line-height:1.38}
.photography-gallery{columns:2;column-gap:var(--g);min-width:0}
.photography-placeholder{display:flex;align-items:center;justify-content:center;break-inside:avoid;margin-bottom:var(--g)}
.photography-gallery .tile:has(>img){padding:0}
.photography-gallery .tile>img{display:block;width:100%;height:auto;border-radius:inherit}
.photography-booking{text-align:center;margin-top:60px}
@media(max-width:900px){.photography-overview{grid-template-columns:1fr}.photography-overview>.service-intro{position:static}.photography-gallery{columns:2}}
@media(max-width:640px){.photography-overview>.service-intro,.production-overview>.service-intro{padding-left:16px;padding-right:16px}.photography-overview>.service-intro{padding-top:40px}}
@media(max-width:560px){.photography-gallery{columns:1}}
.dark-reveal-row{background:radial-gradient(circle at 50% 120%,rgba(111,167,154,.3),transparent 55%),#0F2A3D;color:#fff;width:100vw;margin-left:calc(50% - 50vw);margin-top:clamp(60px,7vw,110px);padding:clamp(60px,8vw,120px) var(--p)}
.dark-reveal-inner{max-width:1496px;margin:0 auto;padding:0 clamp(0px,8vw,160px)}
.dark-reveal-row h2{color:rgba(255,255,255,.7);margin:0 0 32px}
.production-videos+.testimonial-row{margin-top:0}
.testimonial-row blockquote{margin:0}
.testimonial-row blockquote footer{margin-top:32px;font:400 18px/1.5 var(--f);letter-spacing:normal;color:rgba(255,255,255,.8)}
.testimonial-row blockquote footer strong{font-weight:500;color:#fff}
.contact-banner{margin-top:-76px;padding-top:calc(76px + clamp(60px,8vw,120px))}
.contact-banner h1{color:rgba(255,255,255,.7);margin:0 0 32px;font-size:12px}
.contact-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:clamp(24px,4vw,60px);align-items:start;margin:clamp(48px,6vw,90px) 0}
.contact-photo{padding:0}.contact-photo img{width:100%;height:auto;border-radius:inherit}
.contact-profile{margin:0;min-width:0}.contact-profile figcaption{padding:24px 16px 0}.contact-profile h2{margin:0 0 8px;font:500 24px/1.38 var(--f);letter-spacing:-.02em}.contact-profile p{margin:12px 0 0;font:400 16px/1.5 var(--f);color:var(--ink2)}.contact-profile .contact-title{margin-top:0;color:var(--teal)}
.contact-form-card{padding:clamp(24px,3vw,48px)}
.contact-form-card .row2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.contact-form-card .field{margin-bottom:24px;min-width:0}
.contact-form-card label{display:block;margin-bottom:8px;font:400 15px/1.4 var(--f);color:var(--ink2)}
.contact-form-card label i{font-style:normal;color:var(--teal)}
.contact-form-card input,.contact-form-card textarea{display:block;width:100%;border:1px solid rgba(15,26,28,.18);border-radius:12px;background:rgba(255,255,255,.75);padding:14px 16px;font:400 17px/1.4 var(--f);color:var(--ink)}
.contact-form-card textarea{min-height:160px;resize:vertical}
.contact-form-card input:focus,.contact-form-card textarea:focus{outline:2px solid var(--teal);outline-offset:2px}
.contact-form-card button{border:0;cursor:pointer}
.contact-form-status{font-size:14px;color:var(--ink2);margin:16px 0 0}.contact-form-status:empty{display:none}
.contact-form-card form[hidden]{display:none}
.contact-form-status.is-success{font:300 24px/1.38 var(--f);letter-spacing:-.02em;color:var(--teal);margin:0}
@media(max-width:760px){.contact-layout{grid-template-columns:1fr}.contact-profile{max-width:420px;width:100%;justify-self:center}}
@media(max-width:480px){.contact-form-card .row2{grid-template-columns:1fr;gap:0}}
.dark-reveal-row p{margin:0;font:200 36px/1.2 var(--f);letter-spacing:-.045em}
.dark-reveal-row p.scroll-reveal .scroll-word{color:rgba(255,255,255,.2);transition:color .25s}
.dark-reveal-row p.scroll-reveal .scroll-word.on{color:#fff}
@media(max-width:900px){.dark-reveal-inner{padding:0 var(--p)}}
@media(prefers-reduced-motion:reduce){.dark-reveal-row p.scroll-reveal .scroll-word{color:#fff;transition:none}}
.sh{grid-column:1/-1;display:flex;justify-content:space-between;align-items:flex-end;padding:clamp(60px,7vw,110px) 6px 10px}.sh h2{margin:0;font:500 clamp(34px,4vw,64px)/1 var(--f);letter-spacing:-.05em;background:linear-gradient(120deg,var(--ink) 30%,var(--teal) 80%);-webkit-background-clip:text;background-clip:text;color:transparent}
.vt{display:flex;flex-direction:column;justify-content:space-between;min-height:440px;gap:20px}.vt .im{position:relative;flex:1;border-radius:16px;overflow:hidden;min-height:220px}.vt:hover .im img{transform:scale(1.05)}
.vt h3{margin:0;font:500 24px/1.38 var(--f);letter-spacing:-.02em}.vt p{margin:8px 0 0;color:var(--ink2);max-width:34ch}.vt .ft{display:flex;justify-content:space-between;align-items:flex-end;gap:16px}
.vt .lk{display:inline-flex;align-items:center;gap:20px;font:500 14px/1 var(--f);white-space:nowrap}.vt .lk i{width:35px;height:35px;border-radius:12px;background:var(--ink);color:#fff;display:grid;place-items:center;font-style:normal;transform:rotate(0deg);transition:background .3s,transform .4s var(--e)}.vt:hover .lk i{background:var(--teal);transform:rotate(45deg)}
.vt:nth-child(2){grid-column:span 7}.vt:nth-child(3){grid-column:span 5}.vt:nth-child(4){grid-column:span 5}.vt:nth-child(5){grid-column:span 7}
.vt .n{position:absolute;top:14px;left:14px;z-index:1}
/* process/stats */
.process{margin-top:calc(clamp(100px,12vw,180px) + var(--g))}
.t-in p strong,.service-intro p strong{font-weight:500}
.t-in p .intro-accent{--reveal-ink:var(--teal);color:var(--teal)}
:is(.t-pr,.t-in,.production-overview .service-intro) p.scroll-reveal .scroll-word{color:rgba(13,15,16,.14);transition:color .25s}
:is(.t-pr,.t-in,.production-overview .service-intro) p.scroll-reveal .scroll-word.on{color:var(--reveal-ink,var(--ink))}
@media(prefers-reduced-motion:reduce){:is(.t-pr,.t-in,.production-overview .service-intro) p.scroll-reveal .scroll-word{color:var(--reveal-ink,var(--ink));transition:none}}
.t-pr{grid-column:span 8;min-height:340px;display:flex;flex-direction:column;justify-content:space-between}.t-pr p{margin:0;font:500 clamp(24px,2.5vw,40px)/1.15 var(--f);letter-spacing:-.04em}
.t-st{grid-column:span 4;display:flex;flex-direction:column;justify-content:space-between;min-height:200px}.t-st b{font:600 clamp(80px,8vw,150px)/.85 var(--f);letter-spacing:-.07em;background:linear-gradient(120deg,var(--ink) 30%,var(--teal) 80%);-webkit-background-clip:text;background-clip:text;color:transparent}.t-st b sup{font-size:.35em;vertical-align:1.2em}
.t-st.dark{background:var(--ink);color:#fff;border-color:var(--ink)}.t-st.dark b{background:linear-gradient(120deg,#fff 30%,var(--tealL) 80%);-webkit-background-clip:text;background-clip:text}.t-st.dark .mono{color:rgba(255,255,255,.6)}
.t-sx{grid-column:span 4;display:flex;align-items:flex-end}.t-sx p{margin:0;font-size:17px;color:var(--ink2)}
.t-sx2{grid-column:span 4;padding:0;min-height:230px}.t-sx2 img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
/* services kinetic */
.t-sv{grid-column:1/-1;min-width:0;width:100vw;margin-left:calc(50% - 50vw);padding:clamp(22px,2.6vw,40px) 0}.t-sv .hdr{display:flex;justify-content:space-between;padding:0 clamp(22px,2.6vw,40px) 22px}
.kin{display:flex;width:max-content;animation:mq 34s linear infinite}.t-sv:hover .kin{animation-play-state:paused}.kin a{font:500 clamp(48px,6.4vw,112px)/1 var(--f);letter-spacing:-.055em;padding:0 .35em;display:inline-flex;align-items:center;gap:.35em;transition:color .3s}.kin a:after{content:"";width:.28em;height:.28em;border-radius:.09em;background:conic-gradient(from 200deg,var(--teal),var(--tealL),var(--sage),var(--teal));display:inline-block}.kin a:hover{color:var(--teal)}
.kin.rev{animation-direction:reverse;animation-duration:40s}.kin.rev a{color:transparent;-webkit-text-stroke:1.2px rgba(15,26,28,.35)}.kin.rev a:hover{-webkit-text-stroke-color:var(--teal)}
@keyframes mq{to{transform:translateX(-50%)}}
/* Swiss selected work; pinstripes confined to this section. */
.swiss-work{grid-column:1/-1;min-width:0;width:100vw;margin-left:calc(50% - 50vw);padding-top:clamp(100px,12vw,180px);--work-gap:clamp(16px,2.2vw,32px);--work-ink:#0D0F10;--work-muted:#4A5157}
.swiss-work .hz{position:relative;overflow-x:auto;background:#FAFAF8;color:var(--work-ink)}
.swiss-work .hz.is-pinned{overflow:hidden}
.swiss-work .gridlines{position:absolute;inset:0;pointer-events:none;padding:0 var(--work-gap)}
.swiss-work .gridlines .g{display:grid;grid-template-columns:repeat(12,1fr);column-gap:var(--work-gap);height:100%}
.swiss-work .gridlines i{border-left:1px solid rgba(13,15,16,.045)}
.swiss-work .gridlines i:last-child{border-right:1px solid rgba(13,15,16,.045)}
.swiss-work .hz-track{position:relative;display:flex;gap:var(--work-gap);padding:0 var(--work-gap);padding-left:max(var(--p),calc((100vw - 1560px)/2 + var(--p)));width:max-content;will-change:transform}
.swiss-work .hz-title{flex:0 0 30vw;display:flex;flex-direction:column;justify-content:space-between;padding-right:var(--work-gap);height:calc(64vh + 50px)}
.swiss-work .hz-title h2{margin:0;font:600 clamp(64px,8.6vw,130px)/.84 var(--f);letter-spacing:-.07em}
.swiss-work .m{font:400 11px/1.4 var(--m);letter-spacing:.02em;text-transform:uppercase;color:#8C9399}
.swiss-work .sw-card{flex:0 0 calc(64vh*.8)}
.swiss-work .sw-card:nth-child(even){margin-top:8vh}
.swiss-work .sw-card .im{aspect-ratio:4/5;overflow:hidden;background:#e9e9e6}
.swiss-work .sw-card .im img{width:100%;height:100%;object-fit:cover;filter:grayscale(1);transition:filter .8s var(--e),transform 1.2s var(--e)}
.swiss-work .sw-card:hover .im img{filter:none;transform:scale(1.04)}
.swiss-work .sw-card .im img[src$="kineticare-jogging-couple.jpg"]{object-position:80% center}
.swiss-work .sw-card .meta{display:grid;grid-template-columns:auto 1fr;gap:16px;border-top:1px solid var(--work-ink);margin-top:14px;padding-top:12px}
.swiss-work .sw-card h3{margin:0;font:600 24px/1 var(--f);letter-spacing:-.04em}
.swiss-work .sw-card p{margin:0;color:var(--work-muted);font-size:14px;text-align:right}
.swiss-work .hz-wrap{height:100vh;display:flex;align-items:center}
@media(min-width:641px){.swiss-work .hz-title{position:relative;height:auto;align-self:stretch;justify-content:center}.swiss-work .hz-title>.m{position:absolute;bottom:0}}
@media(max-width:640px){.swiss-work .hz-wrap{height:auto;display:block}.swiss-work .hz{overflow:visible;scroll-snap-type:none}.swiss-work .hz-track{display:grid;grid-template-columns:minmax(0,1fr);width:100%;gap:48px;padding:32px var(--p);will-change:auto}.swiss-work .hz-title{height:auto;min-height:0;padding:0;gap:24px}.swiss-work .sw-card:nth-child(n){display:block;min-width:0;width:100%;margin-top:0}.swiss-work .sw-card .meta{grid-template-columns:minmax(0,1fr);gap:12px}.swiss-work .sw-card p{text-align:left}.swiss-work .sw-card p:empty{display:none}}
@media(prefers-reduced-motion:reduce){.swiss-work .sw-card .im img{transition:none}}
/* cta + footer */
.ftr .footer-logo{display:block;width:260px;max-width:100%}.ftr .footer-logo img{width:100%;height:auto}
.ftr .footer-tagline{color:var(--ink2);font-size:14px;margin-top:14px;padding-left:16px}
.ftr .footer-address{margin:8px 0 0;font:400 14px/1.5 var(--f);color:var(--ink2)}
.t-cta{grid-column:1/-1;padding:clamp(40px,6vw,100px) clamp(24px,5vw,80px);background:linear-gradient(135deg,rgba(185,220,218,.75),rgba(255,255,255,.55) 50%,rgba(242,220,203,.7));display:grid;grid-template-columns:1.4fr 1fr;gap:40px;align-items:end;margin-top:clamp(60px,7vw,110px)}
.t-cta h2{margin:16px 0 0;font:500 clamp(42px,5.6vw,90px)/.95 var(--f);letter-spacing:-.055em}.t-cta h2 em{font-style:normal;color:var(--teal)}.t-cta p{margin:0 0 26px;font-size:18px;color:var(--ink2)}
.ftr{grid-column:1/-1;display:grid;grid-template-columns:2fr repeat(4,1fr);gap:24px}.ftr h4{font:500 11px/1 var(--m);text-transform:uppercase;color:var(--teal);margin:0 0 12px}.ftr nav a{display:block;padding:4px 0;font-size:14px;color:var(--ink2)}.ftr nav a:hover{color:var(--ink)}
.fb{grid-column:1/-1;display:flex;justify-content:space-between;margin-top:30px;padding-top:16px;border-top:1px solid rgba(15,26,28,.1)}
.rv{opacity:0;transform:translateY(26px) scale(.985);transition:opacity .9s var(--e),transform .9s var(--e)}.rv.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.rv{opacity:1;transform:none}.kin,.mq{animation:none}}
@media(max-width:1100px){.nv{display:none}.burger{display:block}.hd .c{grid-template-columns:1fr auto}.hd-r .pill{display:none}.t-h1,.t-gl,.t-ph,.t-in,.t-pr{grid-column:1/-1}.t-gl{min-height:300px}
 .vt:nth-child(n){grid-column:span 6}.t-st,.t-sx,.t-sx2{grid-column:span 6}.t-cta{grid-template-columns:1fr}.ftr{grid-template-columns:1fr 1fr}.ftr>div{grid-column:1/-1}.ftr>nav:nth-of-type(odd){padding-left:16px}}
@media(max-width:640px){.t-h1{min-height:0;gap:60px}.vt:nth-child(n),.t-st,.t-sx,.t-sx2{grid-column:1/-1}.vt{min-height:400px}.vt .ft{flex-direction:column;align-items:flex-start}.t-ph{min-height:300px}.fb{flex-direction:column;gap:6px}.wk p{display:none}}
.sh h2{font-size:clamp(28px,3vw,48px)}.t-gl{min-height:300px}
@media(max-width:640px){.t-gl{min-height:260px}.t-h1 h1{font-size:46px}.fb>.mono:last-child{display:none}}
@media(max-width:1100px){
 .hero .t-gl{display:none}
 .hero .t-h1{min-height:0;gap:60px;padding:20px;isolation:isolate}
 .hero .t-h1 .top{flex-direction:column;align-items:flex-start}
 .hero .t-h1 h1{font-size:46px}
 .hero .t-h1:before{content:"";position:absolute;inset:-15%;z-index:-1;background:radial-gradient(ellipse at 20% 25%,rgba(95,179,179,.3),transparent 55%),radial-gradient(ellipse at 85% 65%,rgba(31,111,120,.18),transparent 55%),radial-gradient(ellipse at 40% 90%,rgba(169,197,176,.22),transparent 50%);filter:blur(35px);pointer-events:none}
}

/* Working-page photo selection: natural proportions and explicit reading order. */
.home-category-heading .category-line>span{white-space:nowrap}
@media(max-width:640px){.hero .t-in>.mono{display:none}.hero .t-in{padding-block:64px}.sh .home-category-heading{font-size:clamp(14px,4.4vw,28px);line-height:1.2}.home-category-heading .category-line{display:block;white-space:nowrap}.home-category-heading .category-divider{display:none}}
.photo-editor{min-width:0}
.photo-toolbar{padding:20px;margin-bottom:24px;background:rgba(255,255,255,.9);border:1px solid var(--bd);border-radius:18px}
.photo-toolbar strong{font-size:20px;font-weight:500}
.photo-toolbar p{font-size:14px;line-height:1.5;margin:10px 0;color:var(--ink2)}
.photo-actions{display:flex;flex-wrap:wrap;gap:8px}
.photo-editor button{font:500 13px/1.3 var(--f);border:1px solid rgba(31,111,120,.25);border-radius:10px;padding:10px 12px;color:var(--teal);background:#fff;cursor:pointer}
.photo-editor button:hover{background:#e0eeec}
.photo-editor button:focus-visible,.photo-aside summary:focus-visible{outline:3px solid var(--teal);outline-offset:3px}
.photo-editor button:disabled{opacity:.4;cursor:default}
.photo-editor .photo-selected,.photo-aside-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start;columns:auto}
.photo-card{margin:0;min-width:0}
.photo-editor .photo-selected{grid-auto-rows:1px;row-gap:0}
.photo-card[draggable="true"]{cursor:grab}
.photo-card .tile{padding:0}
.photo-card .tile img{width:100%;height:auto;display:block;border-radius:inherit}
.photo-card figcaption{padding:12px 2px 8px;font:400 11px/1.4 var(--m);overflow-wrap:anywhere}
.photo-card figcaption .photo-actions{margin-top:10px}
.photo-card.is-dragging{opacity:.35}
.photo-card.drop-before{box-shadow:0 -5px var(--teal)}
.photo-card.drop-after{box-shadow:0 5px var(--teal)}
.photo-aside{margin-top:32px;padding-top:20px;border-top:1px solid rgba(15,26,28,.15)}
.photo-aside summary{cursor:pointer;margin-bottom:20px;font-weight:500}
.photo-editor.is-preview .photo-card figcaption,.photo-editor.is-preview .photo-aside{display:none}
@media(max-width:560px){.photo-editor .photo-selected,.photo-aside-grid{grid-template-columns:1fr}}
@media(max-width:560px){.photo-editor .photo-selected{grid-auto-rows:auto;row-gap:24px}}

