/* ============================================================
   Simon Feldman Studio
   Warm archive paper. Sections dissolve into one another via a
   continuous page wash rather than hard bands. Eclectic accent
   set (ochre / petrol / rust / olive / plum / sky) rotating by
   section. No italics anywhere.
   ============================================================ */
:root{
  /* paper */
  --paper:#F3EBDD;
  --paper-2:#EDE3D2;
  --paper-3:#E5D8C4;
  --card:#FBF6EC;
  --ink:#241F1A;
  --ink-2:#4C443A;
  --muted:#857A6B;
  --faint:#A2957F;
  --line:rgba(36,31,26,.14);
  --line-soft:rgba(36,31,26,.075);

  /* eclectic accent set */
  --ochre:#B87524;
  --petrol:#1D5A60;
  --rust:#A6432C;
  --olive:#5F6B34;
  --plum:#6B3A57;
  --sky:#356F9C;

  --accent:var(--ochre);
  --accent-soft:rgba(184,117,36,.14);
  --nav-h:78px;
}
[data-temp="ochre"] {--accent:var(--ochre); --accent-soft:rgba(184,117,36,.15);}
[data-temp="petrol"]{--accent:var(--petrol);--accent-soft:rgba(29,90,96,.13);}
[data-temp="rust"]  {--accent:var(--rust);  --accent-soft:rgba(166,67,44,.13);}
[data-temp="olive"] {--accent:var(--olive); --accent-soft:rgba(95,107,52,.13);}
[data-temp="plum"]  {--accent:var(--plum);  --accent-soft:rgba(107,58,87,.13);}
[data-temp="sky"]   {--accent:var(--sky);   --accent-soft:rgba(53,111,156,.13);}

*{margin:0;padding:0;box-sizing:border-box;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
html{scroll-behavior:smooth;}
body{
  color:var(--ink);
  font-family:'Spectral',Georgia,serif;font-weight:300;line-height:1.72;
  background-color:var(--paper);
  background-image:
    radial-gradient(58% 34% at 12% 6%,  rgba(184,117,36,.16), transparent 64%),
    radial-gradient(52% 30% at 88% 20%, rgba(29,90,96,.11),  transparent 64%),
    radial-gradient(56% 32% at 8%  42%, rgba(166,67,44,.10),  transparent 64%),
    radial-gradient(54% 30% at 92% 58%, rgba(95,107,52,.11),  transparent 64%),
    radial-gradient(58% 34% at 18% 80%, rgba(107,58,87,.10),  transparent 64%),
    radial-gradient(50% 30% at 82% 95%, rgba(53,111,156,.11), transparent 64%),
    linear-gradient(180deg,#F5EEE2 0%,#EFE6D6 26%,#EDE3D2 52%,#F0E7D8 74%,#F4ECE0 100%);
  background-attachment:fixed;
}
/* film grain, keeps large flat washes from reading as flat template fill */
body::after{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:400;opacity:.05;mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)'/%3E%3C/svg%3E");
}
h1,h2,h3{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;line-height:1.12;letter-spacing:.09em;text-transform:uppercase;font-style:normal;}
em{font-style:normal;color:var(--accent);}
a{color:inherit;}
img{max-width:100%;display:block;}
.wrap{max-width:1200px;margin:0 auto;padding:0 46px;}
@media(max-width:640px){.wrap{padding:0 22px;}}
body.lock{overflow:hidden;}
::selection{background:var(--accent);color:#fff;}

/* ---------------- small type ---------------- */
.plate{font-family:'Karla',system-ui,sans-serif;font-size:11px;font-weight:700;letter-spacing:.17em;text-transform:uppercase;color:var(--muted);}
.plate b{color:var(--accent);font-weight:700;}
.mono{font-family:'Karla',system-ui,sans-serif;font-weight:700;}

/* ---------------- badges ---------------- */
.badge{display:inline-flex;align-items:center;gap:7px;font-family:'Karla',system-ui,sans-serif;font-size:10.5px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;padding:7px 13px;line-height:1;white-space:nowrap;border-radius:2px;border:1px solid var(--accent);color:var(--accent);background:transparent;}
.badge--solid{background:var(--accent);border-color:var(--accent);color:#FBF6EC;}
.badge--quiet{border-color:var(--line);color:var(--muted);background:rgba(255,255,255,.4);}
.badge--dot::before{content:"";width:5px;height:5px;background:currentColor;border-radius:50%;flex:none;}
.badge--live::before{content:"";width:6px;height:6px;background:var(--accent);border-radius:50%;flex:none;animation:pulse 2.6s ease-in-out infinite;}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1);}50%{opacity:.45;transform:scale(.82);}}
.badge-row{display:flex;gap:9px;flex-wrap:wrap;align-items:center;}


/* ---------------- buttons ---------------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-family:'Karla',system-ui,sans-serif;font-size:12px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;text-decoration:none;padding:16px 30px;cursor:pointer;border:1px solid transparent;background:none;color:var(--ink);border-radius:2px;transition:background .28s,color .28s,border-color .28s,box-shadow .28s,transform .28s;}
.btn:focus-visible{outline:2px solid var(--accent);outline-offset:3px;}
.btn .arw{display:inline-block;transition:transform .3s cubic-bezier(.2,.7,.3,1);}
.btn:hover .arw{transform:translateX(5px);}
.btn--solid{background:var(--accent);color:#FBF6EC;border-color:var(--accent);box-shadow:0 10px 26px -12px rgba(36,31,26,.55);}
.btn--solid:hover{transform:translateY(-2px);box-shadow:0 16px 34px -14px rgba(36,31,26,.6);}
.btn--frame{border-color:var(--line);color:var(--ink);background:rgba(255,255,255,.42);}
.btn--frame:hover{border-color:var(--accent);color:var(--accent);background:rgba(255,255,255,.8);}
.btn--rule{padding:9px 2px;border-radius:0;border-bottom:1px solid var(--line);color:var(--ink);position:relative;}
.btn--rule::after{content:"";position:absolute;left:0;bottom:-1px;width:0;height:2px;background:var(--accent);transition:width .38s cubic-bezier(.2,.7,.3,1);}
.btn--rule:hover{color:var(--accent);}
.btn--rule:hover::after{width:100%;}
.btn--sm{font-size:10.5px;padding:11px 20px;}
.btn--lg{font-size:12.5px;padding:19px 38px;}

/* ---------------- nav ---------------- */
.nav{position:fixed;top:0;left:0;right:0;z-index:120;transition:background .35s,box-shadow .35s,backdrop-filter .35s;}
.nav-in{display:flex;align-items:center;justify-content:space-between;height:var(--nav-h);}
.nav-logo{display:flex;align-items:center;gap:12px;text-decoration:none;white-space:nowrap;}
.nav-logo .lm{width:30px;height:30px;border-radius:2px;background:var(--accent);display:grid;place-items:center;font-family:'Karla',system-ui,sans-serif;font-size:13px;font-weight:700;color:#FBF6EC;flex:none;}
.nav-logo .lt{font-family:'Karla',system-ui,sans-serif;font-size:16px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--ink);}
.nav-logo .lt em{color:var(--accent);}
.nav-links{display:flex;gap:28px;align-items:center;}
.nav-links > a,.nav-trigger{font-family:'Karla',system-ui,sans-serif;font-size:11.5px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-2);text-decoration:none;padding:5px 0;border:0;background:none;cursor:pointer;border-bottom:1px solid transparent;transition:color .22s,border-color .22s;}
.nav-links > a:hover,.nav-trigger:hover{color:var(--accent);}
.nav-links > a.on,.nav-trigger.on{color:var(--accent);border-bottom-color:var(--accent);}
.nav-links a:focus-visible,.nav-trigger:focus-visible{outline:2px solid var(--accent);outline-offset:4px;}
.nav-group{position:relative;}
.nav-trigger{display:inline-flex;align-items:center;gap:8px;}
.nav-caret{width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .25s;}
.nav-menu{position:absolute;top:calc(100% + 16px);left:-22px;min-width:230px;background:var(--card);border-radius:4px;box-shadow:0 24px 48px -20px rgba(36,31,26,.4),0 0 0 1px var(--line-soft);padding:9px;opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .24s,transform .24s,visibility .24s;}
.nav-menu::before{content:"";position:absolute;top:-18px;left:0;right:0;height:18px;}
.nav-menu a{display:block;padding:11px 15px;border-radius:2px;font-family:'Karla',system-ui,sans-serif;font-size:11.5px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;text-decoration:none;color:var(--ink-2);transition:.2s;}
.nav-menu a:hover{color:var(--accent);background:var(--accent-soft);}
.nav-menu a.on{color:var(--accent);}
.nav-group:hover .nav-menu,.nav-group:focus-within .nav-menu,.nav-group.open .nav-menu{opacity:1;visibility:visible;transform:none;}
.nav-group.open .nav-caret{transform:translateY(1px) rotate(-135deg);}
.nav-burger{display:none;background:rgba(255,255,255,.5);border:1px solid var(--line);border-radius:2px;padding:11px 13px;cursor:pointer;}
.nav-burger span{display:block;width:17px;height:1.5px;background:var(--ink);margin:4px 0;border-radius:2px;}
.nav-burger:focus-visible{outline:2px solid var(--accent);outline-offset:3px;}
.nav.scrolled{background:rgba(244,237,224,.97);backdrop-filter:blur(18px) saturate(1.1);box-shadow:0 1px 0 var(--line),0 10px 26px -20px rgba(36,31,26,.5);}
/* over the dark hero the nav reads light */
body.home .nav:not(.scrolled) .nav-logo .lt,
body.home .nav:not(.scrolled) .nav-links > a,
body.home .nav:not(.scrolled) .nav-trigger{color:#F6EFE3;}
body.home .nav:not(.scrolled) .nav-links > a.on,
body.home .nav:not(.scrolled) .nav-trigger.on{color:#F0C071;border-bottom-color:#F0C071;}
body.home .nav:not(.scrolled) .nav-burger{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.3);}
body.home .nav:not(.scrolled) .nav-burger span{background:#F6EFE3;}
@media(max-width:1060px){.nav-cta{display:none;}}
@media(max-width:940px){
  .nav-burger{display:block;}
  .nav-links{position:absolute;top:calc(var(--nav-h) - 6px);left:22px;right:22px;flex-direction:column;align-items:stretch;gap:0;background:var(--card);border-radius:5px;box-shadow:0 28px 56px -22px rgba(36,31,26,.45),0 0 0 1px var(--line-soft);padding:12px;display:none;}
  .nav-links.open{display:flex;}
  .nav-links > a,.nav-trigger{padding:14px 14px;width:100%;border-radius:2px;border-bottom:0;color:var(--ink-2);font-size:12px;}
  body.home .nav:not(.scrolled) .nav-links > a,
  body.home .nav:not(.scrolled) .nav-trigger{color:var(--ink-2);}
  body.home .nav:not(.scrolled) .nav-links > a.on,
  body.home .nav:not(.scrolled) .nav-trigger.on{color:var(--accent);}
  .nav-group{width:100%;}
  .nav-trigger{justify-content:space-between;}
  .nav-menu{position:static;min-width:0;opacity:1;visibility:visible;transform:none;display:none;background:none;box-shadow:none;padding:0 0 6px 12px;border-radius:0;}
  .nav-menu::before{display:none;}
  .nav-group.open .nav-menu{display:block;}
  .nav-menu a{padding:11px 14px;}
  .nav-cta{display:block;margin:8px 4px 4px;}
}

/* ---------------- hero ---------------- */
.hero{position:relative;height:100svh;min-height:600px;overflow:hidden;display:flex;align-items:center;justify-content:center;text-align:center;background:#1A1611;}
.hero-poster{position:absolute;inset:0;background:url('../images/hero-poster.jpg') center/cover no-repeat;}
.hero-vid{position:absolute;top:50%;left:50%;width:100vw;height:56.25vw;min-height:100svh;min-width:177.78svh;transform:translate(-50%,-50%);pointer-events:none;border:0;}
/* the hero melts into the paper instead of ending on a hard edge */
.hero-shade{position:absolute;inset:0;background:
  radial-gradient(ellipse at 50% 42%,rgba(26,22,17,.22) 0%,rgba(26,22,17,.72) 100%),
  linear-gradient(0deg,var(--paper) 0%,rgba(243,235,221,.75) 7%,rgba(26,22,17,.55) 26%,transparent 58%);}
.hero-in{position:relative;z-index:2;padding:0 24px 60px;max-width:1200px;}
.hero-badges{display:flex;gap:9px;justify-content:center;flex-wrap:wrap;margin-bottom:28px;}
.hero-badges .badge{border-color:rgba(246,239,227,.5);color:#F6EFE3;background:rgba(26,22,17,.3);backdrop-filter:blur(6px);}
.hero-badges .badge--solid{background:#F0C071;border-color:#F0C071;color:#241F1A;}
.hero-badges .badge--live::before{background:#F0C071;}
/* title card: condensed, squared, cut hard rather than calligraphic */
.hero h1{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;
  font-size:clamp(36px,7vw,104px);letter-spacing:.08em;line-height:1.04;
  color:#FBF6EC;white-space:nowrap;
  text-shadow:0 4px 46px rgba(0,0,0,.5);}
.hero h1 em{display:block;color:#F0C071;font-size:.4em;margin-top:.16em;letter-spacing:.5em;}
.hero h1 em::before{content:'* ';letter-spacing:.2em;}

/* drop-in title sequence — straight fall, no bounce */
.hero h1 .ch{display:inline-block;white-space:pre;}
.hero.js-split h1 .ch{opacity:0;}
.hero.js-anim h1 .ch{animation:dropIn .68s cubic-bezier(.18,.78,.26,1) forwards;animation-delay:var(--d,0ms);}
@keyframes dropIn{
  from{opacity:0;transform:translateY(-.58em);filter:blur(11px);}
  to  {opacity:1;transform:none;filter:blur(0);}
}
.hero.js-split .hero-badges,.hero.js-split .hero-sub,.hero.js-split .hero-cta{opacity:0;}
.hero.js-anim .hero-badges{animation:heroRise .8s cubic-bezier(.18,.78,.26,1) forwards 80ms;}
.hero.js-anim .hero-sub{animation:heroRise .8s cubic-bezier(.18,.78,.26,1) forwards var(--d-sub,900ms);}
.hero.js-anim .hero-cta{animation:heroRise .8s cubic-bezier(.18,.78,.26,1) forwards var(--d-cta,1030ms);}
@keyframes heroRise{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:none;}}
.hero-sub{font-family:'Karla',system-ui,sans-serif;font-size:12px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:rgba(251,246,236,.85);margin-top:24px;}
.hero-cta{margin-top:36px;display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}
.hero-cta .btn--solid{background:#F0C071;color:#241F1A;border-color:#F0C071;}
.hero-cta .btn--frame{border-color:rgba(246,239,227,.55);color:#F6EFE3;background:rgba(255,255,255,.08);backdrop-filter:blur(6px);}
.hero-cta .btn--frame:hover{background:rgba(255,255,255,.2);border-color:#F6EFE3;color:#FBF6EC;}

/* slate — floats on the paper just under the hero, no hard band */
.slate{position:relative;z-index:4;margin:-58px auto 0;max-width:1120px;padding:0 22px;}
.slate-in{display:grid;grid-template-columns:repeat(4,1fr);background:var(--card);border-radius:18px;border:1px solid #C99B4A;box-shadow:0 30px 60px -28px rgba(36,31,26,.42);overflow:hidden;}
.slate-item{display:flex;align-items:center;gap:13px;padding:22px 24px;border-left:1px solid var(--line-soft);min-width:0;}
.slate-item:first-child{border-left:0;}
.slate-item:nth-child(1){--accent:var(--ochre);}
.slate-item:nth-child(2){--accent:var(--petrol);}
.slate-item:nth-child(3){--accent:var(--rust);}
.slate-item:nth-child(4){--accent:var(--olive);}
.slate-mk{width:9px;height:9px;border-radius:50%;background:var(--accent);flex:none;}
.slate-mk.live{animation:pulse 2.6s ease-in-out infinite;}
.slate-txt{min-width:0;}
.slate-k{display:block;font-family:'Karla',system-ui,sans-serif;font-size:9.5px;font-weight:700;letter-spacing:.17em;text-transform:uppercase;color:var(--accent);}
.slate-v{display:block;font-family:'Spectral',Georgia,serif;font-size:15px;font-weight:400;color:var(--ink);margin-top:3px;line-height:1.3;}

/* ---------------- interior page header ---------------- */
.phead{padding:calc(var(--nav-h) + 86px) 0 0;position:relative;}
.phead-badges{margin-bottom:22px;}
.phead h1{font-size:clamp(38px,5.6vw,80px);line-height:1.06;letter-spacing:.1em;}
.phead h1 em{color:var(--accent);}
.phead-sub{color:var(--ink-2);font-size:18px;max-width:620px;margin:24px 0 0;line-height:1.7;}
.phead-rule{margin-top:44px;height:1px;background:var(--line);}

/* ---------------- sections: no bands, only washes ---------------- */
.sec{padding:104px 0;position:relative;}
.sec-tight{padding:80px 0;position:relative;}
/* a soft tinted wash that bleeds past the section edges so neighbours blend */
.band{position:relative;}
.band::before{content:"";position:absolute;left:0;right:0;top:-90px;bottom:-90px;z-index:-1;pointer-events:none;
  background:radial-gradient(72% 58% at 50% 50%,var(--accent-soft) 0%,transparent 72%);}
/* One section carries its own colour field. Masked top and bottom so it still
   dissolves into the paper instead of hard-banding like every other template. */
/* Full-bleed image band: the photo runs edge to edge and melts into the paper
   on the top and bottom rather than sitting in a hard-edged box. */
.fullband{position:relative;overflow:hidden;padding:132px 0;}
.fullband-bg{position:absolute;inset:0;z-index:-3;background:url('../images/aerial-band-poster.jpg') center/cover no-repeat;}
.fullband-vid{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;border:0;pointer-events:none;}
.fullband-scrim{position:absolute;inset:0;z-index:-1;background:
  linear-gradient(90deg,rgba(16,22,21,.93) 0%,rgba(16,22,21,.8) 40%,rgba(16,22,21,.38) 72%,rgba(16,22,21,.2) 100%),
  linear-gradient(180deg,#EEE5D5 0%,rgba(238,229,213,.55) 7%,rgba(238,229,213,0) 17%,rgba(240,231,216,0) 83%,rgba(240,231,216,.6) 94%,#F0E7D8 100%);}
.fullband-in{position:relative;max-width:1200px;}
.fullband-in > *{max-width:560px;}
.fullband h2{color:#FBF6EC;font-size:clamp(30px,3.8vw,50px);letter-spacing:.09em;margin-top:16px;}
.fullband h2 em{color:#8FD3E4;}
.fullband p{color:rgba(251,246,236,.87);font-size:17px;margin-top:18px;line-height:1.72;}
.fullband .actions{margin-top:32px;display:flex;gap:18px;flex-wrap:wrap;}
.fullband .badge{border-color:rgba(251,246,236,.5);color:#FBF6EC;background:rgba(16,22,21,.4);backdrop-filter:blur(4px);}
.fullband .badge--solid{background:var(--accent);border-color:var(--accent);color:#FBF6EC;}
.fullband .btn--frame{border-color:rgba(251,246,236,.6);color:#FBF6EC;background:rgba(255,255,255,.12);backdrop-filter:blur(4px);}
.fullband .btn--frame:hover{background:rgba(255,255,255,.24);border-color:#FBF6EC;color:#FBF6EC;}
@media(max-width:640px){
  .fullband{padding:82px 0;}
  .fullband h2{font-size:31px;}
  .fullband p{font-size:15.5px;}
  .fullband .actions .btn{width:100%;}
  .fullband-scrim{background:
    linear-gradient(90deg,rgba(16,22,21,.9) 0%,rgba(16,22,21,.78) 60%,rgba(16,22,21,.62) 100%),
    linear-gradient(180deg,#EEE5D5 0%,rgba(238,229,213,0) 14%,rgba(240,231,216,0) 86%,#F0E7D8 100%);}
}

.tinted{position:relative;}
.tinted::before{content:"";position:absolute;left:0;right:0;top:-52px;bottom:-52px;z-index:-1;pointer-events:none;
  background:linear-gradient(180deg,#E7E9DE 0%,#DDE1D3 55%,#E5E7DB 100%);
  -webkit-mask-image:linear-gradient(180deg,transparent 0,#000 9%,#000 91%,transparent 100%);
  mask-image:linear-gradient(180deg,transparent 0,#000 9%,#000 91%,transparent 100%);}
.sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:48px;flex-wrap:wrap;}
.sec-head h2{font-size:clamp(34px,4.2vw,56px);font-weight:700;margin-top:16px;letter-spacing:-.026em;}
.sec-head h2 em{color:var(--accent);}
@media(max-width:600px){.sec-head{align-items:flex-start;}}

/* ---------------- media cards ---------------- */
.reelgrid{display:grid;gap:34px 26px;}
.reelgrid.g3{grid-template-columns:repeat(3,1fr);}
.reelgrid.g2{grid-template-columns:repeat(2,1fr);}
@media(max-width:980px){.reelgrid.g3{grid-template-columns:repeat(2,1fr);}}
@media(max-width:820px){.reelgrid.g2{grid-template-columns:1fr;}}
@media(max-width:640px){
  .reelgrid.g3{display:flex;gap:14px;overflow-x:auto;margin:0 -22px;padding:0 22px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;}
  .reelgrid.g3::-webkit-scrollbar{display:none;}
  .reelgrid.g3 > *{flex:0 0 86%;scroll-snap-align:center;}
}
.reel{background:transparent;}
.pop{position:relative;display:block;width:100%;padding:0;border:0;background:#1A1611;aspect-ratio:16/9;overflow:hidden;cursor:pointer;border-radius:4px;box-shadow:0 20px 44px -22px rgba(36,31,26,.5);transition:box-shadow .35s,transform .35s;}
.pop:hover{transform:translateY(-4px);box-shadow:0 30px 60px -24px rgba(36,31,26,.55);}
.pop img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.3,1);}
.pop:hover img{transform:scale(1.05);}
.pop:focus-visible{outline:2px solid var(--accent);outline-offset:3px;}
.pop-veil{position:absolute;inset:0;display:grid;place-items:center;background:linear-gradient(0deg,rgba(26,22,17,.42) 0%,transparent 52%);transition:background .3s;}
.pop-ring{width:64px;height:64px;border-radius:50%;background:rgba(251,246,236,.92);display:grid;place-items:center;transition:transform .35s,background .35s;box-shadow:0 8px 22px -8px rgba(0,0,0,.5);}
.pop:hover .pop-ring{transform:scale(1.1);background:var(--accent);}
.pop-ring::after{content:"";width:0;height:0;border-style:solid;border-width:8px 0 8px 13px;border-color:transparent transparent transparent var(--ink);margin-left:4px;transition:border-color .35s;}
.pop:hover .pop-ring::after{border-left-color:#FBF6EC;}
.pop.lg .pop-ring{width:88px;height:88px;}
.pop.lg .pop-ring::after{border-width:12px 0 12px 19px;}
.pop-no{position:absolute;top:14px;left:15px;font-family:'Karla',system-ui,sans-serif;font-size:10px;font-weight:700;letter-spacing:.12em;color:#FBF6EC;background:rgba(26,22,17,.55);backdrop-filter:blur(6px);padding:5px 9px;border-radius:2px;z-index:2;}
.pop-tag{position:absolute;top:13px;right:14px;z-index:2;}
.pop-tag .badge{background:rgba(251,246,236,.94);border-color:transparent;color:var(--ink);}
.pop-tag .badge--solid{background:var(--accent);color:#FBF6EC;}
/* stills: expand marker, never a play triangle */
.pop[data-img] .pop-ring{display:none;}
.pop[data-img] .pop-veil{background:linear-gradient(0deg,rgba(26,22,17,.3) 0%,transparent 46%);}
.pop[data-img] .pop-veil::after{content:"";position:absolute;right:13px;bottom:13px;width:34px;height:34px;border-radius:50%;background:rgba(251,246,236,.94);opacity:0;transition:opacity .3s,background .3s;
  background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Cpath d='M6 1v10M1 6h10' stroke='%23241F1A' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;}
.pop[data-img]:hover .pop-veil::after,.pop[data-img]:focus-visible .pop-veil::after{opacity:1;}
.reel-meta{padding:16px 4px 0;}
.reel-meta h3{font-size:23px;font-weight:700;margin-top:8px;letter-spacing:-.018em;}
.reel-feat{margin-bottom:16px;}
.reel-feat .pop{border-radius:5px;}
.reel-feat .reel-meta{padding:20px 6px 0;}
.reel-feat .reel-meta h3{font-size:clamp(30px,3.6vw,44px);}
.reel-feat .reel-meta p{color:var(--ink-2);font-size:16.5px;margin-top:10px;max-width:660px;}

/* ---------------- photography ---------------- */
.masonry{columns:3;column-gap:26px;}
@media(max-width:980px){.masonry{columns:2;}}
@media(max-width:600px){.masonry{columns:1;}}
.plateshot{break-inside:avoid;margin:0 0 34px;}
.plateshot .pop{aspect-ratio:auto;}
.plateshot .pop img{height:auto;}
.plateshot figcaption{padding:13px 4px 0;}
.tilegrid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px 26px;}
@media(max-width:900px){.tilegrid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:560px){
  .tilegrid{grid-template-columns:1fr 1fr;gap:14px 12px;}
  .tile figcaption{font-size:9.5px;letter-spacing:.08em;padding:9px 2px 0;}
}
.tile .pop{aspect-ratio:4/3;}
.tile figcaption{padding:12px 4px 0;}

/* ---------------- lightbox ---------------- */
.lb{position:fixed;inset:0;z-index:200;display:none;align-items:center;justify-content:center;background:rgba(26,22,17,.94);backdrop-filter:blur(6px);padding:70px 26px 40px;}
.lb.open{display:flex;}
.lb-stage{width:min(1240px,100%);}
.lb-vid{position:relative;aspect-ratio:16/9;background:#000;border-radius:4px;overflow:hidden;}
.lb-vid iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}
.lb-img{text-align:center;}
.lb-img img{max-height:78svh;width:auto;margin:0 auto;border-radius:3px;}
.lb-cap{display:flex;justify-content:space-between;gap:18px;padding-top:18px;flex-wrap:wrap;align-items:baseline;color:#F6EFE3;}
.lb-stage.img-mode .lb-cap{justify-content:center;gap:16px;}
.lb-cap .t{font-family:'Karla',system-ui,sans-serif;font-size:20px;font-weight:700;}
.lb-cap .plate{color:rgba(246,239,227,.72);}
.lb-cap .plate b{color:#F0C071;}
.lb-close{position:absolute;top:22px;right:26px;background:rgba(251,246,236,.14);border:1px solid rgba(246,239,227,.3);border-radius:2px;color:#F6EFE3;font-family:'Karla',system-ui,sans-serif;font-size:11px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;padding:12px 20px;cursor:pointer;transition:background .25s;}
.lb-close:hover{background:rgba(251,246,236,.28);}
.lb-close:focus-visible{outline:2px solid #F0C071;outline-offset:3px;}

/* ---------------- split blocks ---------------- */
.split{display:grid;grid-template-columns:1.02fr .98fr;gap:64px;align-items:center;}
.split.flip{grid-template-columns:.98fr 1.02fr;}
@media(max-width:900px){.split,.split.flip{grid-template-columns:1fr;gap:42px;}}
.split h2{font-size:clamp(32px,3.8vw,50px);font-weight:700;margin-top:16px;letter-spacing:-.026em;}
.split h2 em{color:var(--accent);}
.split p{color:var(--ink-2);font-size:17px;margin-top:18px;max-width:500px;line-height:1.72;}
.split .actions{margin-top:32px;display:flex;gap:18px;flex-wrap:wrap;align-items:center;}
.frameset{display:grid;gap:22px;}
/* feathered photo: dissolves into the paper on every edge, never a pasted box */
.frameset .fr{position:relative;border-radius:4px;overflow:hidden;box-shadow:0 26px 56px -26px rgba(36,31,26,.5);}
.frameset .fr img{width:100%;}
.frameset .fr::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(0deg,rgba(243,235,221,.22),transparent 34%),linear-gradient(180deg,rgba(243,235,221,.18),transparent 30%);}

.spec{margin-top:32px;}
.spec div{display:flex;justify-content:space-between;gap:18px;padding:15px 0;border-bottom:1px solid var(--line-soft);}
.spec div:first-child{border-top:1px solid var(--line-soft);}
.spec .k{font-family:'Karla',system-ui,sans-serif;font-size:11px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--accent);}
.spec .v{font-family:'Spectral',Georgia,serif;font-weight:400;font-size:16px;text-align:right;color:var(--ink);}

/* ---------------- about ---------------- */
.prose p{color:var(--ink-2);font-size:17.5px;margin-top:22px;max-width:600px;line-height:1.78;}
.prose p strong{color:var(--ink);font-weight:500;}
.prose p:first-child{font-size:23px;line-height:1.6;color:var(--ink);font-weight:400;}
.portrait{position:relative;border-radius:4px;overflow:hidden;box-shadow:0 26px 56px -26px rgba(36,31,26,.5);}
.portrait figcaption{position:absolute;left:0;right:0;bottom:0;padding:26px 20px 16px;color:#FBF6EC;background:linear-gradient(0deg,rgba(26,22,17,.8),transparent);}
.portrait figcaption.plate b{color:#F0C071;}
.credits{margin-top:92px;text-align:center;}
.credits .plate{display:block;margin-bottom:28px;}
.credits .roll{font-size:clamp(19px,2.2vw,27px);font-weight:300;letter-spacing:.01em;line-height:2;max-width:960px;margin:0 auto;color:var(--ink);}
.credits .roll span{white-space:nowrap;}
.credits .roll .dot{color:var(--accent);padding:0 12px;}
.pano{margin-top:64px;border-radius:4px;overflow:hidden;box-shadow:0 26px 56px -26px rgba(36,31,26,.45);}
.pano img{width:100%;}
.pano .pop{aspect-ratio:auto;border-radius:4px;}
.pano .pop img{height:auto;}

/* ---------------- contact form ---------------- */
.form-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:60px;align-items:start;}
@media(max-width:900px){.form-grid{grid-template-columns:1fr;gap:44px;}}
.form{display:grid;gap:24px;background:var(--card);border-radius:5px;padding:38px 36px 40px;box-shadow:0 26px 60px -30px rgba(36,31,26,.4),0 0 0 1px var(--line-soft);}
@media(max-width:560px){.form{padding:26px 22px 30px;}}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:22px;}
@media(max-width:560px){.form-row{grid-template-columns:1fr;}}
.field{display:flex;flex-direction:column;gap:9px;min-width:0;}
.field label{font-family:'Karla',system-ui,sans-serif;font-size:10.5px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--accent);}
.field label .opt{color:var(--faint);text-transform:none;letter-spacing:.02em;font-weight:500;}
.field input,.field select,.field textarea{width:100%;background:rgba(243,235,221,.5);border:1px solid var(--line);color:var(--ink);font-family:'Spectral',Georgia,serif;font-weight:400;font-size:16.5px;line-height:1.5;padding:15px 17px;border-radius:3px;transition:border-color .22s,background .22s,box-shadow .22s;}
.field textarea{min-height:160px;resize:vertical;}
.field input::placeholder,.field textarea::placeholder{color:var(--faint);}
.field input:hover,.field select:hover,.field textarea:hover{border-color:rgba(36,31,26,.26);}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--accent);background:#fff;box-shadow:0 0 0 4px var(--accent-soft);}
.field select{appearance:none;-webkit-appearance:none;cursor:pointer;padding-right:46px;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23857A6B' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 17px center;}
.field.invalid input,.field.invalid select,.field.invalid textarea{border-color:var(--rust);}
.field .err{font-family:'Karla',system-ui,sans-serif;font-size:11px;font-weight:700;color:var(--rust);display:none;}
.field.invalid .err{display:block;}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;pointer-events:none;}
.form-foot{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:4px;}
.form button[type=submit][disabled]{opacity:.55;cursor:default;}
.form-status{font-family:'Karla',system-ui,sans-serif;font-size:12px;font-weight:700;color:var(--muted);margin:0;}
.form-status.ok{color:var(--accent);}
.form-status.bad{color:var(--rust);}
.form-status.bad a{color:var(--accent);font-weight:600;}
.form-sent{background:var(--card);border-radius:5px;padding:44px 34px;text-align:center;box-shadow:0 26px 60px -30px rgba(36,31,26,.4),0 0 0 1px var(--line-soft);}
.form-sent h3{font-size:30px;font-weight:700;color:var(--accent);letter-spacing:-.022em;}
.form-sent p{color:var(--ink-2);font-size:16px;margin-top:12px;}
.aside-card{background:var(--card);border-radius:5px;padding:30px 28px 32px;box-shadow:0 20px 48px -28px rgba(36,31,26,.35),0 0 0 1px var(--line-soft);}
.aside-card + .aside-card{margin-top:22px;}
.aside-card:nth-of-type(2){--accent:var(--petrol);}
.aside-card h3{font-size:24px;font-weight:700;margin-top:10px;letter-spacing:-.02em;}
.aside-card p{color:var(--ink-2);font-size:15.5px;margin-top:12px;}
.aside-card .tel-sm{display:inline-block;font-family:'Karla',system-ui,sans-serif;font-size:31px;font-weight:700;letter-spacing:-.02em;color:var(--accent);text-decoration:none;margin-top:12px;transition:opacity .25s;}
.aside-card .tel-sm:hover{opacity:.7;}
.aside-card .tel-sm:focus-visible{outline:2px solid var(--accent);outline-offset:3px;}
.aside-card ul{list-style:none;margin-top:14px;}
.aside-card li{color:var(--ink-2);font-size:15.5px;padding:8px 0 8px 22px;position:relative;}
.aside-card li::before{content:"";position:absolute;left:2px;top:17px;width:7px;height:7px;border-radius:50%;background:var(--accent);}

/* ---------------- services ---------------- */
.svc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:14px;text-align:left;}
@media(max-width:900px){.svc-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:520px){.svc-grid{grid-template-columns:1fr;}}
.svc{background:var(--card);border-radius:5px;padding:28px 26px 30px;box-shadow:0 18px 44px -26px rgba(36,31,26,.35),0 0 0 1px var(--line-soft);transition:transform .3s,box-shadow .3s;}
.svc:hover{transform:translateY(-4px);box-shadow:0 26px 56px -26px rgba(36,31,26,.42),0 0 0 1px var(--line-soft);}
.svc:nth-child(1){--accent:var(--ochre);}
.svc:nth-child(2){--accent:var(--petrol);}
.svc:nth-child(3){--accent:var(--sky);}
.svc:nth-child(4){--accent:var(--olive);}
.svc h3{font-size:23px;font-weight:700;margin-top:12px;letter-spacing:-.018em;}
.svc p{color:var(--ink-2);font-size:15.5px;margin-top:10px;}

/* ---------------- closing CTA ---------------- */
.contact-hero{text-align:center;padding:128px 0 120px;position:relative;}
.contact-hero h1,.contact-hero h2{font-size:clamp(32px,4.2vw,58px);margin-top:22px;letter-spacing:.09em;}
.contact-hero h1 em,.contact-hero h2 em{color:var(--accent);}
.tel{display:inline-block;font-family:'Karla',system-ui,sans-serif;font-size:clamp(34px,4.8vw,62px);font-weight:700;letter-spacing:-.025em;color:var(--accent);text-decoration:none;margin-top:24px;transition:opacity .25s;}
.tel:hover{opacity:.7;}
.tel:focus-visible{outline:2px solid var(--accent);outline-offset:4px;}
.contact-loc{font-family:'Karla',system-ui,sans-serif;font-size:11.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-top:26px;}

/* ---------------- footer ---------------- */
.foot{padding:56px 0 46px;margin-top:20px;position:relative;}
.foot::before{content:"";position:absolute;top:0;left:46px;right:46px;height:1px;background:var(--line-soft);}
.foot .foot-in{display:flex;justify-content:space-between;gap:22px;flex-wrap:wrap;align-items:center;}
.foot-nav{display:flex;gap:24px;flex-wrap:wrap;}
.foot-in span,.foot-in a{font-family:'Karla',system-ui,sans-serif;font-size:11px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);text-decoration:none;}
.foot-in a:hover{color:var(--accent);}
.foot-in a:focus-visible{outline:2px solid var(--accent);outline-offset:3px;}

/* ============================================================
   Responsive
   ============================================================ */
@media(max-width:900px){
  .spec div{flex-direction:column;align-items:flex-start;gap:5px;padding:13px 0;}
  .spec .v{text-align:left;}
}
@media(max-width:940px){
  .slate-in{grid-template-columns:repeat(2,1fr);}
  .slate-item{padding:18px 20px;}
  .slate-item:nth-child(3){border-left:0;}
  .slate-item:nth-child(n+3){border-top:1px solid var(--line-soft);}
}
@media(hover:none){
  .pop[data-img] .pop-veil::after{opacity:.9;}
}
@media(max-width:640px){
  :root{--nav-h:66px;}
  .nav-logo .lt{font-size:15px;letter-spacing:.06em;}
  .nav-logo .lm{width:25px;height:25px;font-size:11px;}

  .sec{padding:66px 0;}
  .sec-tight{padding:54px 0;}
  .sec-head{margin-bottom:32px;gap:18px;}
  .sec-head h2{font-size:33px;}
  .sec-head .btn{width:100%;}

  .hero{min-height:560px;}
  .hero h1{font-size:clamp(27px,8.6vw,40px);letter-spacing:.055em;}
  .hero-in{padding-bottom:40px;}
  .hero-badges{margin-bottom:20px;gap:7px;}
  .hero-sub{font-size:10.5px;letter-spacing:.14em;margin-top:18px;}
  .hero-cta{margin-top:28px;flex-direction:column;align-items:center;gap:11px;}
  .hero-cta .btn{width:100%;max-width:290px;}

  .slate{margin-top:-40px;padding:0 18px;}
  .slate-in{grid-template-columns:1fr;border-radius:4px;}
  .slate-item{border-left:0;padding:15px 20px;}
  .slate-item:nth-child(n+2){border-top:1px solid var(--line-soft);}

  .phead{padding-top:calc(var(--nav-h) + 52px);}
  .phead h1{font-size:40px;}
  .phead-sub{font-size:16px;margin-top:18px;}
  .phead-rule{margin-top:32px;height:1px;background:var(--line);}

  .reelgrid{gap:26px;}
  .masonry{column-gap:0;}
  .plateshot{margin-bottom:26px;}
  .tilegrid{gap:24px;}
  .reel-meta h3{font-size:21px;}

  .split,.split.flip{gap:30px;}
  .split h2{font-size:31px;}
  .split p{font-size:16px;}
  .split .actions .btn{width:100%;}

  .prose p{font-size:16.5px;}
  .prose p:first-child{font-size:20px;}
  .credits{margin-top:58px;}
  .credits .roll{font-size:19px;line-height:1.85;}
  .credits .roll .dot{padding:0 7px;}
  .pano{margin-top:40px;}

  .contact-hero{padding:82px 0 76px;}
  .contact-hero h1,.contact-hero h2{font-size:34px;}
  .tel{font-size:36px;}

  .lb{padding:60px 14px 22px;}
  .lb-close{top:14px;right:15px;padding:10px 16px;font-size:10px;}
  .lb-img img{max-height:70svh;}
  .lb-cap .t{font-size:20px;}

  .foot{padding:42px 0 38px;}
  .foot::before{left:22px;right:22px;}
  .foot-in{flex-direction:column;align-items:center;text-align:center;gap:16px;}
  .foot-nav{justify-content:center;gap:14px 20px;}
}

/* ---------------- reveal ---------------- */
.rv{opacity:0;transform:translateY(22px);transition:opacity .8s ease,transform .8s ease;}
.rv.on{opacity:1;transform:none;}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  .rv{opacity:1;transform:none;transition:none;}
  .hero-vid,.fullband-vid{display:none;}
  .hero.js-split h1 .ch,.hero.js-split .hero-badges,
  .hero.js-split .hero-sub,.hero.js-split .hero-cta{opacity:1;}
  .hero.js-anim h1 .ch,.hero.js-anim .hero-badges,
  .hero.js-anim .hero-sub,.hero.js-anim .hero-cta{animation:none;}
  .badge--live::before,.slate-mk.live{animation:none;}
  .pop,.pop img,.pop-ring,.svc,.btn{transition:none;}
}

/* ---- Intro splash (homepage) --------------------------------------- */
.splash{position:fixed;inset:0;z-index:200;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:26px;background:#241F1A;cursor:pointer;animation:spOut .8s cubic-bezier(.76,0,.24,1) 4.15s forwards;}
.sp-cam{width:min(38vw,190px);overflow:visible;}
.sp-cam .spd{fill:none;stroke:#F3EBDD;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;animation:spDraw .8s cubic-bezier(.65,0,.35,1) forwards;animation-delay:var(--d,0s);}
.sp-cam .sp-iris{stroke:#F0C071;transform-origin:60px 52px;animation:spDraw .8s cubic-bezier(.65,0,.35,1) forwards,spFocus .5s ease-in-out 1.6s;animation-delay:var(--d,0s),1.6s;}
.sp-cam .sp-dot{fill:#F0C071;opacity:0;animation:spIn .3s ease-out 1.4s forwards;}
.sp-flash{position:absolute;inset:0;background:#FBF6EC;opacity:0;pointer-events:none;animation:spFlash .4s ease-out 1.95s;}
.sp-brand{display:flex;align-items:center;gap:12px;margin:0;opacity:0;animation:spIn .6s ease-out 2.25s forwards;}
.sp-brand .lm{width:34px;height:34px;border-radius:2px;background:var(--ochre);display:grid;place-items:center;font-family:'Karla',system-ui,sans-serif;font-size:14px;font-weight:700;color:#FBF6EC;}
.sp-brand .lt{font-family:'Karla',system-ui,sans-serif;font-size:19px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:#F6EFE3;}
.sp-brand .lt em{color:#F0C071;font-style:italic;}
.sp-note{margin:0;opacity:0;font-family:'Spectral',serif;font-weight:300;font-size:14px;letter-spacing:.14em;text-transform:uppercase;color:#A2957F;animation:spIn .6s ease-out 2.5s forwards;}
@keyframes spDraw{to{stroke-dashoffset:0;}}
@keyframes spIn{to{opacity:1;}}
@keyframes spFocus{50%{transform:scale(.55);}100%{transform:scale(1);}}
@keyframes spFlash{0%{opacity:0;}25%{opacity:.85;}100%{opacity:0;}}
@keyframes spOut{to{transform:translateY(-101%);visibility:hidden;}}
@media (prefers-reduced-motion:reduce){.splash{display:none;}}

/* ---- Mobile touch-ups (homepage) ------------------------------------ */
@media(max-width:640px){
  /* Stat slate: desktop only */
  .slate{display:none;}
}

/* Prints full band: the Cinque Torri Dolomites panorama */
.fullband--prints .fullband-bg{background-image:url('../images/cinquetorre2web.jpg');}

/* Closing CTA phone button: the pale hero style is unreadable on paper */
.contact-hero .hero-cta .btn--frame{border-color:var(--accent);color:var(--accent);background:rgba(255,255,255,.55);backdrop-filter:none;}
.contact-hero .hero-cta .btn--frame:hover{background:var(--accent);border-color:var(--accent);color:#FBF6EC;}

html.no-splash .splash{display:none;}

/* Hero primary: hairline gold outline reads more elegant over film than a solid slab */
.hero .hero-cta .btn--solid{background:transparent;border:1px solid rgba(240,192,113,.8);color:#F0C071;font-weight:500;letter-spacing:.22em;padding:17px 36px;backdrop-filter:blur(6px);box-shadow:none;}
.hero .hero-cta .btn--solid:hover{background:#F0C071;border-color:#F0C071;color:#241F1A;}
