/* =====================================================================
   MODERN LAYER — loaded after site.css.
   Condensed grotesk display with serif italic accents, film grain,
   floating glass nav, reveals, pinned horizontal work, FAQ.
   ===================================================================== */
:root{--display:"Bricolage Grotesque","Hanken Grotesk",system-ui,sans-serif;--r:14px}
h1,h2,h3{font-family:var(--display);font-weight:700;font-stretch:75%;letter-spacing:-.035em;line-height:.88;text-transform:uppercase}
h1 em,h2 em,h3 em,.hero h1 .cm em{font-family:var(--serif);font-weight:400;font-style:italic;text-transform:none;letter-spacing:-.01em;font-stretch:100%}
.foot ul a{overflow-wrap:anywhere}

/* film grain */
body::after{content:"";position:fixed;inset:-50%;z-index:300;pointer-events:none;opacity:.06;background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .9 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");animation:grain 1.2s steps(6) infinite}
@keyframes grain{0%{transform:translate(0,0)}20%{transform:translate(-3%,2%)}40%{transform:translate(2%,-3%)}60%{transform:translate(-2%,-1%)}80%{transform:translate(3%,3%)}100%{transform:translate(0,0)}}

/* floating glass nav */
.nav{inset:12px 0 auto 0;border:0}
.nav .wrap{height:64px;max-width:1240px;margin-inline:auto;padding-inline:10px;border-radius:999px;border:1px solid rgba(239,233,223,.10);background:rgba(14,18,21,.28);backdrop-filter:blur(18px) saturate(1.2);-webkit-backdrop-filter:blur(18px) saturate(1.2);width:calc(100% - 2*var(--gut));transition:background .35s,border-color .35s}
.nav .brand{padding-left:14px}
.nav.solid{background:transparent;border:0;backdrop-filter:none;-webkit-backdrop-filter:none}
.nav.solid .wrap{background:rgba(14,18,21,.8);border-color:rgba(239,233,223,.14)}
.nav .brand b{font-family:var(--display);font-weight:800;font-stretch:75%;font-size:28px;letter-spacing:-.02em}
.links{background:rgba(239,233,223,.06);padding:6px;border-radius:999px;gap:2px}
.links a{padding:9px 16px;border-radius:999px}
.links a::after{display:none}
.links a:hover{background:rgba(239,233,223,.08)}
.links a[aria-current="page"]{background:var(--bone);color:var(--ink)}
.menu-btn{margin-right:4px}
@media (max-width:900px){.nav .wrap{height:58px;width:calc(100% - 24px)}.nav{inset:8px 0 auto 0}}

/* softer, modern frames */
.tile,.hub a,.intro .portrait,.svc article,.svc .img,.sticky-img,.cat-thumb,.float-prev,.strip figure img{border-radius:var(--r)}

/* hero */
.hero{height:clamp(600px,100svh,1000px)}
.hero h1{font-size:clamp(120px,27vw,430px);line-height:.74;letter-spacing:-.055em;font-weight:800}
.hero h1 .cm{font-family:var(--display);font-weight:700;font-size:.19em;letter-spacing:-.01em;margin-top:.4em;color:var(--bone)}
.hero h1 .cm em{font-size:1.15em;color:var(--glow)}
.split{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.05em}
.split > span{display:inline-block;transition:transform 1.1s cubic-bezier(.16,1,.3,1)}
.pre .split > span{transform:translateY(105%)}
.scroll-cue{position:absolute;z-index:3;left:50%;bottom:22px;transform:translateX(-50%);width:1px;height:54px;background:rgba(239,233,223,.25);overflow:hidden}
.scroll-cue::after{content:"";position:absolute;left:0;top:-50%;width:1px;height:50%;background:var(--glow);animation:cue 2s ease-in-out infinite}
@keyframes cue{to{top:110%}}
@media (max-width:760px){.scroll-cue{display:none}.hero h1{font-size:clamp(110px,34vw,200px)}}

/* intro loader (once per visit) */
.loader{position:fixed;inset:0;z-index:400;background:#07090A;display:grid;place-items:center;transition:transform 1s cubic-bezier(.76,0,.24,1)}
.loader.done{transform:translateY(-100%)}
.loader .in{display:grid;gap:18px;justify-items:center}
.loader b{font-family:var(--display);font-weight:800;font-stretch:75%;font-size:clamp(70px,15vw,170px);line-height:.8;letter-spacing:-.05em;color:var(--bone)}
.loader .bar{width:min(260px,60vw);height:1px;background:rgba(239,233,223,.15);overflow:hidden}
.loader .bar i{display:block;height:100%;width:0;background:var(--glow);transition:width .12s linear}
.loader .num{font-family:var(--mono);font-size:12px;letter-spacing:.2em;color:var(--mist)}

/* marquee: outlined and filled words */
.marquee{padding:22px 0}
.marquee span{font-family:var(--display);font-weight:800;font-stretch:75%;text-transform:uppercase;font-size:clamp(44px,6.4vw,100px);letter-spacing:-.03em;color:transparent;-webkit-text-stroke:1px rgba(239,233,223,.5)}
.marquee span:nth-child(odd){color:var(--bone);-webkit-text-stroke:0}
.marquee span i{-webkit-text-stroke:0;color:var(--glow)}

/* reveals: visible at rest, motion only adds depth */
.rv-img{clip-path:inset(5% 5% 5% 5% round var(--r));transition:clip-path 1.2s cubic-bezier(.16,1,.3,1)}
.rv-img img{transform:scale(1.08);transition:transform 1.6s cubic-bezier(.16,1,.3,1)}
.rv-img.in{clip-path:inset(0 0 0 0 round var(--r))}
.rv-img.in img{transform:none}
.rv-up{transform:translateY(26px);transition:transform 1s cubic-bezier(.16,1,.3,1)}
.rv-up.in{transform:none}

/* pinned horizontal work (desktop) */
.hscroll{position:relative}
.hscroll .pin{position:sticky;top:0;height:100svh;overflow:hidden;display:flex;flex-direction:column;justify-content:center;gap:24px}
.hscroll .track{display:flex;gap:18px;padding-inline:var(--gut);will-change:transform}
.hscroll figure{margin:0;flex:0 0 auto;height:min(60svh,640px);position:relative}
.hscroll figure a{display:block;height:100%}
.hscroll figure img{height:100%;min-width:200px;width:auto;max-width:none;object-fit:cover;border-radius:var(--r);background:var(--deep);user-select:none;-webkit-user-drag:none}
.hscroll figcaption{position:absolute;left:14px;right:14px;bottom:12px;display:flex;justify-content:space-between;color:var(--bone);text-shadow:0 1px 10px rgba(0,0,0,.7)}
.hscroll .head{display:flex;justify-content:space-between;align-items:end;gap:20px;padding-inline:var(--gut);flex-wrap:wrap}
.hscroll .head h2{font-size:clamp(52px,8.5vw,140px)}
.hscroll .prog{height:2px;margin-inline:var(--gut);background:rgba(239,233,223,.12)}
.hscroll .prog i{display:block;height:100%;width:0;background:var(--glow)}
@media (max-width:900px),(hover:none){
  .hscroll{height:auto!important}
  .hscroll .pin{position:relative;height:auto;padding-block:64px}
  .hscroll .track{overflow-x:auto;scroll-snap-type:x mandatory;transform:none!important;scrollbar-width:none}
  .hscroll .track::-webkit-scrollbar{display:none}
  .hscroll figure{height:min(110vw,520px);scroll-snap-align:center}
  .hscroll .prog{display:none}
}

/* type scale on inner pieces */
.intro .facts div b{font-family:var(--display);font-weight:800;font-stretch:75%;font-size:48px;letter-spacing:-.03em}
.page-hero h1{font-size:clamp(76px,15.5vw,260px);line-height:.8;font-weight:800}
.cat-row h3{font-size:clamp(46px,7vw,116px)}
.cta-band h2{font-size:clamp(58px,10vw,176px);line-height:.84}
.foot .big{font-family:var(--display);font-weight:800;font-stretch:75%;letter-spacing:-.05em;font-size:clamp(96px,14vw,220px)}
.q blockquote{font-size:clamp(30px,4vw,60px)}
.hub h2{font-size:clamp(40px,5vw,80px)}
.svc h3{font-size:clamp(34px,2.8vw,46px)}
.steps b{font-family:var(--display);font-weight:700;font-stretch:80%;text-transform:uppercase;letter-spacing:-.02em}
.chapter h2{font-size:clamp(44px,5.4vw,84px)}
.btn{font-weight:600}

/* FAQ */
.faq{border-top:1px solid rgba(14,18,21,.14)}
.faq details{border-bottom:1px solid rgba(14,18,21,.14)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:20px;align-items:center;padding:24px 0;font-family:var(--display);font-weight:600;font-stretch:85%;font-size:clamp(20px,2vw,28px);letter-spacing:-.01em}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:var(--mono);font-size:22px;transition:transform .3s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{padding:0 0 24px;max-width:70ch;color:var(--ink-soft);font-size:17px}

@media (prefers-reduced-motion:reduce){.rv-img{clip-path:none}.rv-img img,.rv-up{transform:none}.loader{display:none}body::after{animation:none}.pre .split>span{transform:none}}

/* ================= graphics layer ================= */
/* camera viewfinder over the hero */
.hud{position:absolute;inset:calc(92px + env(safe-area-inset-top,0px)) var(--gut) clamp(150px,30vh,260px);z-index:2;pointer-events:none;color:rgba(239,233,223,.8)}
.hud .c{position:absolute;width:34px;height:34px;border-color:rgba(239,233,223,.7);border-style:solid;border-width:0}
.hud .tl{left:0;top:0;border-left-width:1.5px;border-top-width:1.5px}
.hud .tr{right:0;top:0;border-right-width:1.5px;border-top-width:1.5px}
.hud .bl{left:0;bottom:0;border-left-width:1.5px;border-bottom-width:1.5px}
.hud .br{right:0;bottom:0;border-right-width:1.5px;border-bottom-width:1.5px}
.hud .focus{position:absolute;left:50%;top:46%;width:70px;height:52px;transform:translate(-50%,-50%);animation:focus 6s ease-in-out infinite}
.hud .focus::before,.hud .focus::after{content:"";position:absolute;inset:0;border:1px solid rgba(227,178,111,.9);clip-path:polygon(0 0,22% 0,22% 1.5px,1.5px 1.5px,1.5px 30%,0 30%,0 70%,1.5px 70%,1.5px calc(100% - 1.5px),22% calc(100% - 1.5px),22% 100%,0 100%,0 0,100% 0,100% 30%,calc(100% - 1.5px) 30%,calc(100% - 1.5px) 1.5px,78% 1.5px,78% 0,100% 0,100% 100%,78% 100%,78% calc(100% - 1.5px),calc(100% - 1.5px) calc(100% - 1.5px),calc(100% - 1.5px) 70%,100% 70%,100% 100%)}
.hud .focus::after{inset:22px 30px;border-color:rgba(227,178,111,.6);clip-path:none;border-radius:50%}
@keyframes focus{0%,100%{transform:translate(-50%,-50%) scale(1)}8%{transform:translate(-50%,-50%) scale(1.25)}14%{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-40%,-60%) scale(1)}58%{transform:translate(-40%,-60%) scale(1.2)}64%{transform:translate(-40%,-60%) scale(1)}}
.hud .top{position:absolute;left:52px;right:52px;top:8px;display:flex;justify-content:space-between;gap:14px;font-family:var(--mono);font-size:11px;letter-spacing:.14em}
.hud .rec{display:inline-flex;align-items:center;gap:8px}
.hud .rec::before{content:"";width:9px;height:9px;border-radius:50%;background:#E5484D;box-shadow:0 0 10px #E5484D;animation:blink 1.1s steps(1) infinite}
@keyframes blink{50%{opacity:.15}}
.hud .mode{display:inline-flex;border:1px solid rgba(239,233,223,.35);border-radius:3px;overflow:hidden}
.hud .mode b{font-weight:400;padding:2px 7px}
.hud .mode b.on{background:rgba(239,233,223,.85);color:var(--ink)}
.hud .level{position:absolute;left:50%;top:46%;width:min(280px,30vw);height:1px;transform:translate(-50%,0);background:linear-gradient(90deg,transparent,rgba(239,233,223,.45) 30%,transparent 42%,transparent 58%,rgba(239,233,223,.45) 70%,transparent)}
.hud .scale{position:absolute;left:50%;bottom:8px;transform:translateX(-50%);display:flex;gap:9px;align-items:end;font-family:var(--mono);font-size:10px}
.hud .scale i{display:block;width:1px;height:6px;background:rgba(239,233,223,.55)}
.hud .scale i.m{height:11px;background:var(--glow)}
@media (max-width:760px){.hud{inset:calc(80px + env(safe-area-inset-top,0px)) 12px 44% 12px}.hud .top{left:44px;right:44px;font-size:10px}.hud .level,.hud .scale{display:none}.frames{display:none}}

/* rotating badge */
.badge{position:absolute;right:-26px;top:-26px;width:132px;height:132px;z-index:3;display:grid;place-items:center;border-radius:50%;background:var(--glow);color:var(--ink)}
.badge svg.ring{position:absolute;inset:0;width:100%;height:100%;animation:spin 16s linear infinite}
.badge .ic{width:34px;height:34px}
@keyframes spin{to{transform:rotate(360deg)}}
@media (max-width:820px){.badge{right:12px;top:12px;width:104px;height:104px}}
.intro .portrait{overflow:visible}
.intro .portrait img{border-radius:var(--r)}

/* marquee aperture icons */
.marquee span i svg{width:.55em;height:.55em;vertical-align:middle;animation:spin 8s linear infinite}

/* line icons */
.ico{width:34px;height:34px;stroke:currentColor;fill:none;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.cat-row .ico{color:var(--glow);width:40px;height:40px}
@media (max-width:900px),(hover:none){.cat-row{grid-template-columns:minmax(0,1fr) 44px}.cat-row .n{display:none}}
.svc .ico{color:#A5732F}
.svc{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.svc article.film{background:var(--ink);color:var(--bone);border-color:var(--ink)}
.svc article.film ul{color:var(--mist)}
.svc article.film .ask{color:var(--glow)}
.svc .film-art{aspect-ratio:4/5;border-radius:var(--r);margin:-4px -4px 6px;position:relative;overflow:hidden;background:#07090A}
.svc .film-art img{width:100%;height:100%;object-fit:cover;opacity:.55}
.svc .film-art .play{position:absolute;inset:0;margin:auto;width:74px;height:74px;border-radius:50%;background:var(--glow);display:grid;place-items:center;color:var(--ink);box-shadow:0 0 0 0 rgba(227,178,111,.6);animation:pulse 2.2s ease-out infinite}
@keyframes pulse{to{box-shadow:0 0 0 26px rgba(227,178,111,0)}}
.svc .film-art .strip-edge{position:absolute;top:0;bottom:0;width:18px;background:repeating-linear-gradient(180deg,#07090A 0 8px,rgba(239,233,223,.8) 8px 16px,#07090A 16px 22px)}
.svc .film-art .strip-edge.l{left:0}.svc .film-art .strip-edge.r{right:0}
.svc .film-art .tc{position:absolute;left:28px;bottom:12px;font-family:var(--mono);font-size:11px;color:var(--bone);letter-spacing:.14em}

/* photo + video discipline strip */
.disc{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:clamp(40px,6vw,70px)}
.disc > div{position:relative;border:1px solid var(--line);border-radius:var(--r);padding:clamp(22px,3vw,36px);display:grid;gap:14px;overflow:hidden}
.disc h3{font-size:clamp(38px,5vw,72px)}
.disc p{color:var(--mist);max-width:44ch}
.disc .ico{width:52px;height:52px;color:var(--glow)}
.disc .bgnum{position:absolute;right:18px;top:6px;font-family:var(--display);font-weight:800;font-stretch:75%;font-size:120px;line-height:1;color:rgba(239,233,223,.05)}
@media (max-width:700px){.disc{grid-template-columns:1fr}}

@media (prefers-reduced-motion:reduce){.hud .focus,.hud .rec::before,.badge svg.ring,.marquee span i svg,.svc .film-art .play{animation:none}}

/* hero chrome sits inside the viewfinder, never on top of it */
.hero-cap{display:none}
.frames{top:calc(92px + 44px + env(safe-area-inset-top,0px));right:calc(var(--gut) + 14px)}

/* ================= client galleries ================= */
.access{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,460px);gap:clamp(28px,5vw,80px);align-items:center}
.access-card{border:1px solid var(--line);border-radius:var(--r);padding:clamp(22px,3vw,34px);background:linear-gradient(160deg,rgba(239,233,223,.05),rgba(239,233,223,0));display:grid;gap:14px}
.access-card h2{font-size:clamp(34px,3.4vw,52px)}
.access-card .row{display:flex;gap:10px;flex-wrap:wrap}
.access-card .hint{font-size:13px;color:var(--tide)}
.access-card .msg{min-height:20px;color:var(--glow);font-size:14px}
.perks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.perks div{display:grid;gap:8px;padding:18px;border-radius:var(--r);border:1px solid var(--line)}
.perks .ico{width:30px;height:30px;color:var(--glow)}
.perks b{font-weight:600}
.perks span{color:var(--mist);font-size:14px}
@media (max-width:860px){.access{grid-template-columns:1fr}.perks{grid-template-columns:1fr}}

.cg-cover{position:relative;height:clamp(360px,62svh,620px);border-radius:var(--r);overflow:hidden;display:grid;align-items:end}
.cg-cover img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cg-cover::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,9,10,.1),rgba(7,9,10,.85))}
.cg-cover .t{position:relative;z-index:2;padding:clamp(20px,3vw,40px);display:grid;gap:10px}
.cg-cover h2{font-size:clamp(52px,8vw,130px)}
.cg-bar{position:sticky;top:calc(84px + env(safe-area-inset-top,0px));z-index:20;display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between;margin:18px 0;padding:10px;border-radius:999px;background:rgba(14,18,21,.85);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid var(--line)}
.cg-bar .grp{display:flex;gap:6px;flex-wrap:wrap}
.cg-bar .lock{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--mist);padding:0 10px}
.demo-note{display:inline-flex;gap:8px;align-items:center;font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);background:var(--glow);padding:6px 10px;border-radius:999px}
.tile .wm{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none;font-family:var(--display);font-weight:800;font-stretch:75%;font-size:clamp(20px,2.4vw,34px);letter-spacing:.2em;color:rgba(255,255,255,.28);text-shadow:0 1px 2px rgba(0,0,0,.25);transform:rotate(-24deg)}
.tile .heart{position:absolute;top:10px;right:10px;width:40px;height:40px;border-radius:50%;background:rgba(7,9,10,.55);backdrop-filter:blur(6px);display:grid;place-items:center;color:var(--bone);transition:transform .2s,background .2s;z-index:2}
.tile .heart:hover{transform:scale(1.1)}
.tile .heart[aria-pressed="true"]{background:var(--glow);color:var(--ink)}
.tile .heart svg{width:18px;height:18px}
.lb .wm{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none;font-family:var(--display);font-weight:800;font-stretch:75%;font-size:clamp(34px,6vw,90px);letter-spacing:.24em;color:rgba(255,255,255,.22);transform:rotate(-24deg)}

/* ================= typography v2 — Archivo ================= */
:root{
  --display:"Archivo","Arial Narrow",system-ui,sans-serif;
  --sans:"Archivo",system-ui,-apple-system,"Segoe UI",sans-serif;
}
body{font-family:var(--sans);font-stretch:100%;font-weight:400;letter-spacing:-.003em;font-feature-settings:"ss01","kern"}
h1,h2,h3{font-family:var(--display);font-stretch:72%;font-weight:650;letter-spacing:-.02em;line-height:.9}
h1 em,h2 em,h3 em,.hero h1 .cm em{font-size:1.06em;letter-spacing:-.015em;line-height:.8}
.hero h1{font-weight:800;font-stretch:68%;letter-spacing:-.025em;line-height:.76}
.hero h1 .cm{font-weight:600;font-stretch:80%;letter-spacing:.005em}
.page-hero h1{font-weight:750;font-stretch:66%;letter-spacing:-.02em}
.nav .brand b,.loader b,.foot .big{font-family:var(--display);font-weight:800;font-stretch:66%;letter-spacing:-.02em}
.nav .brand span{font-family:var(--sans);font-stretch:112%;font-weight:500;font-size:10px;letter-spacing:.28em}
.marquee span{font-weight:750;font-stretch:66%;letter-spacing:-.01em}
.intro .facts div b,.kpi b,.disc .bgnum{font-family:var(--display);font-weight:750;font-stretch:66%;letter-spacing:-.01em}
.cat-row h3{font-weight:600;font-stretch:70%}
.hub h2,.svc h3,.disc h3{font-weight:650;font-stretch:72%}
.steps b{font-weight:650;font-stretch:72%}
.eyebrow,.mono,.chip b,.field label{font-family:var(--mono);font-weight:500}
.eyebrow{font-size:11px;letter-spacing:.24em}
.btn{font-family:var(--sans);font-stretch:108%;font-weight:600;letter-spacing:.01em;font-size:14px}
.links a{font-stretch:105%;font-weight:500;letter-spacing:.005em}
.lead,.intro p.lead,.page-hero .sub p{font-weight:350;line-height:1.62;letter-spacing:-.005em}
.q blockquote{font-family:var(--serif);font-weight:400;letter-spacing:-.01em;line-height:1.08}
.faq summary{font-family:var(--sans);font-stretch:95%;font-weight:600;letter-spacing:-.01em}
.sheet a{font-family:var(--display);font-weight:700;font-stretch:66%;text-transform:uppercase;letter-spacing:-.01em;line-height:1}
p{text-wrap:pretty}

/* skip link */
.skip{position:fixed;left:50%;top:-60px;transform:translateX(-50%);z-index:500;background:var(--glow);color:var(--ink);padding:10px 16px;border-radius:0 0 10px 10px;font-weight:600;transition:top .2s}
.skip:focus{top:0}

/* ================= upgrades round 1 ================= */
/* scroll progress + back to top */
.prog-top{position:fixed;left:0;top:0;height:2px;width:0;background:linear-gradient(90deg,var(--gold-deep),var(--glow));z-index:310;pointer-events:none}
.top-btn{position:fixed;left:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:60;width:46px;height:46px;border-radius:50%;border:1px solid var(--line);background:rgba(14,18,21,.8);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:var(--bone);display:grid;place-items:center;opacity:0;transform:translateY(12px);transition:opacity .3s,transform .3s,background .2s;pointer-events:none}
.top-btn.on{opacity:1;transform:none;pointer-events:auto}
.top-btn:hover{background:var(--bone);color:var(--ink)}
/* lightbox hints + copy link */
.lb-hint{font-family:var(--mono);font-size:11px;letter-spacing:.1em;color:var(--tide);display:flex;gap:14px}
.lb-hint kbd{font-family:var(--mono);border:1px solid var(--line);border-radius:4px;padding:1px 5px;color:var(--mist)}
@media (max-width:700px){.lb-hint{display:none}}
/* instagram row */
.ig{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}
.ig a{position:relative;aspect-ratio:1;overflow:hidden;border-radius:10px;background:var(--deep)}
.ig img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1s cubic-bezier(.2,.8,.2,1),opacity .3s}
.ig a:hover img{transform:scale(1.08);opacity:.8}
.ig a .plus{position:absolute;inset:0;display:grid;place-items:center;color:var(--bone);opacity:0;transition:opacity .25s;font-family:var(--mono);font-size:11px;letter-spacing:.1em;background:rgba(7,9,10,.45)}
.ig a:hover .plus{opacity:1}
@media (max-width:820px){.ig{grid-template-columns:repeat(3,minmax(0,1fr))}}
/* saved-draft note on the form */
.draft-note{grid-column:1/-1;font-size:13px;color:var(--tide);display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.draft-note button{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--line);border-radius:999px;padding:5px 10px;color:var(--mist)}
.draft-note button:hover{color:var(--bone);border-color:var(--mist)}

/* ================= golden hour planner ================= */
.gh-controls{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) auto;gap:12px;align-items:end;padding:18px;border:1px solid var(--line);border-radius:var(--r);background:linear-gradient(160deg,rgba(227,178,111,.06),transparent)}
.gh-controls select{width:100%;font:16px/1.4 var(--sans);color:var(--bone);background:var(--deep);border:1px solid var(--line);border-radius:3px;padding:14px}
.gh-out{display:grid;gap:2px;border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.gh-row{display:grid;grid-template-columns:minmax(0,180px) minmax(0,190px) minmax(0,1fr);gap:16px;align-items:baseline;padding:16px 18px;background:var(--deep)}
.gh-row b{font-family:var(--display);font-stretch:80%;font-weight:700;font-size:clamp(20px,2vw,26px);letter-spacing:-.01em;font-variant-numeric:tabular-nums}
.gh-k{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--tide)}
.gh-note{color:var(--mist);font-size:14px}
.gh-row.key{background:var(--glow);color:var(--ink)}
.gh-row.key .gh-k,.gh-row.key .gh-note{color:#5A4A33}
.gh-tips{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px}
.gh-tips div{border:1px solid var(--line);border-radius:var(--r);padding:18px;display:grid;gap:8px}
.gh-tips p{color:var(--mist);font-size:15px}
@media (max-width:860px){.gh-controls{grid-template-columns:1fr}.gh-tips{grid-template-columns:1fr}.gh-row{grid-template-columns:1fr;gap:4px}}

/* clickable service cards */
.svc article{cursor:pointer}
.svc article:hover{border-color:rgba(165,115,47,.55)}
.svc article:focus-visible{outline:2px solid var(--glow);outline-offset:3px}
.svc .film-art .play{display:grid;text-decoration:none}
.svc .film-art .play:hover{background:#F0C88E}


.cursor{display:none!important}

