/* Rus Videography
   Layout: one centered column; every section = heading, then content, same order every time. */
:root{
  --paper:#FFFFFF;
  --ink:#000000;
  --stone:#5B5853;
  --mist:#EEEDE9;
  --fir:#24352B;
  --on-fir:#E7ECE8;
  /* Freight Big Pro loads from your Adobe Fonts kit on the live site; Cormorant stands in elsewhere */
  --display:"freight-big-pro","Cormorant Garamond",Garamond,"Times New Roman",serif;
  --text:"Libre Baskerville",Baskerville,Georgia,serif;
  --wrap:1180px;
  --gutter:clamp(20px,5vw,64px);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--text);font-size:15.5px;line-height:1.85;-webkit-font-smoothing:antialiased}
img,video,iframe{display:block;max-width:100%}
a{color:inherit}
:focus-visible{outline:2px solid var(--fir);outline-offset:3px}
.wrap{max-width:var(--wrap);margin:0 auto;padding-inline:var(--gutter)}

/* Type: uppercase spaced Freight headings, same as the pricing guide */
h1,h2,h3{font-family:var(--display);font-weight:400;text-transform:uppercase;letter-spacing:.14em;line-height:1.2;margin:0;text-wrap:balance}
h1{font-size:clamp(30px,4.4vw,54px)}
h2{font-size:clamp(24px,3vw,38px)}
h3{font-size:clamp(17px,1.5vw,20px);letter-spacing:.16em}
p{margin:0}
.muted{color:var(--stone)}

/* Header (unchanged layout) */
.site-header{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:rgba(255,255,255,.97);border-bottom:1px solid var(--mist)}
.nav{display:flex;align-items:center;justify-content:space-between;height:76px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-family:var(--display);font-size:21px;letter-spacing:.06em}
.brand img{height:30px;width:auto}
.nav ul{display:flex;align-items:center;gap:32px;list-style:none;margin:0;padding:0}
.nav a{text-decoration:none;font-size:14px}
.nav a[aria-current="page"]{border-bottom:1px solid var(--ink);padding-bottom:3px}
.nav .nav-cta{background:var(--ink);color:var(--paper);padding:10px 20px}
.nav .nav-cta[aria-current="page"]{border:0;background:var(--fir)}
.menu-btn{display:none;background:none;border:0;font:inherit;font-size:14px;cursor:pointer;padding:8px 0;color:var(--ink)}
@media (max-width:860px){
  .menu-btn{display:block}
  .nav ul{display:none;position:absolute;top:76px;left:0;right:0;flex-direction:column;align-items:flex-start;gap:0;background:var(--paper);border-bottom:1px solid var(--mist);padding:8px var(--gutter) 24px}
  .nav ul.open{display:flex}
  .nav li a{display:block;padding:12px 0}
  .nav .nav-cta{display:inline-block;margin-top:8px}
}

/* Buttons */
.btn{display:inline-block;font-family:var(--text);font-size:13px;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;padding:16px 32px;border:1px solid var(--ink);background:var(--ink);color:var(--paper);cursor:pointer;transition:background .2s,border-color .2s,color .2s}
.btn:hover{background:var(--fir);border-color:var(--fir)}
.btn.ghost{background:transparent;color:var(--ink)}
.btn.ghost:hover{background:var(--ink);color:var(--paper)}
.btn.light{background:var(--paper);color:var(--fir);border-color:var(--paper)}
.btn.light:hover{background:transparent;color:var(--paper)}

/* Section template: centered heading, intro, body, action */
.section{padding-block:clamp(72px,10vw,128px)}
.section + .section{border-top:1px solid var(--mist)}
.section-head{text-align:center;max-width:720px;margin:0 auto clamp(40px,5vw,64px);display:grid;gap:20px;justify-items:center}
.section-head .mark{width:42px;height:auto}
.section-head p{color:var(--stone);max-width:58ch}
.section-action{text-align:center;margin-top:clamp(40px,5vw,64px)}

/* Video frames, widescreen */
.frame{position:relative;aspect-ratio:2.39/1;max-width:100%;background:var(--mist);overflow:hidden}
.frame.std{aspect-ratio:16/9}
.frame.tall{aspect-ratio:4/5}
.frame > img,.frame > video,.frame > iframe{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border:0}
.ph{position:absolute;inset:0;display:grid;place-items:center;color:var(--stone);font-size:13px;text-align:center;padding:20px}

/* Hero */
.hero{padding-block:clamp(24px,4vw,48px) clamp(72px,10vw,120px)}
.hero-copy{text-align:center;max-width:760px;margin:clamp(40px,6vw,72px) auto 0;display:grid;gap:24px;justify-items:center}
.hero-copy p{color:var(--stone);max-width:56ch}

/* Testimonials */
.testimonial{text-align:center;max-width:820px;margin:0 auto;display:grid;gap:24px;justify-items:center}
.testimonial blockquote{margin:0;font-family:var(--display);font-size:clamp(22px,2.6vw,32px);line-height:1.45;font-style:italic}
.testimonial cite{font-style:normal;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--stone)}

/* Two-column block (filmmaker / about) */
.duo{display:grid;grid-template-columns:5fr 6fr;gap:clamp(36px,6vw,88px);align-items:center}
.duo-text{display:grid;gap:22px;justify-items:start}
.duo-text p{color:var(--stone);max-width:58ch}
@media (max-width:860px){.duo{grid-template-columns:1fr}}

/* Films grid */
.films{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(40px,5vw,64px) clamp(24px,3vw,40px)}
.film{background:none;border:0;padding:0;text-align:center;cursor:pointer;color:inherit;font:inherit;width:100%;display:grid;gap:18px}
.film .frame{transition:opacity .25s}
.film:hover .frame{opacity:.88}
.film h3{margin:0}
.film .place{color:var(--stone);font-size:14px;margin-top:-10px}
.play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:64px;height:64px;border-radius:50%;border:1px solid var(--paper);background:rgba(0,0,0,.35)}
.play::after{content:"";position:absolute;left:26px;top:21px;border-left:16px solid var(--paper);border-top:11px solid transparent;border-bottom:11px solid transparent}
@media (max-width:760px){.films{grid-template-columns:1fr}}

/* Lightbox */
.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.92);display:none;flex-direction:column;align-items:center;justify-content:center;gap:16px;z-index:50;padding:var(--gutter)}
.lightbox.open{display:flex}
.lightbox .frame{width:min(1180px,100%);background:var(--ink)}
.lightbox .close{position:absolute;top:18px;right:24px;background:none;border:0;color:var(--paper);font:inherit;font-size:14px;cursor:pointer;padding:10px}
.lightbox .yt{color:var(--on-fir);font-size:13px}

/* Collections */
.collections{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,2.5vw,32px)}
.collection{border:1px solid var(--mist);padding:clamp(28px,3vw,40px);display:grid;gap:14px;align-content:start;text-align:center}
.collection.featured{border-color:var(--ink)}
.collection .tag{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--fir)}
.collection .tag.none{visibility:hidden}
.collection .lede{color:var(--stone);font-style:italic}
.collection ul{list-style:none;margin:8px 0 0;padding:20px 0 0;border-top:1px solid var(--mist);display:grid;gap:10px;font-size:14.5px}
@media (max-width:860px){.collections{grid-template-columns:1fr}}

/* Pricing band, the one green moment */
.band{background:var(--fir);color:var(--paper);text-align:center;padding-block:clamp(72px,10vw,120px)}
.band .wrap{display:grid;gap:22px;justify-items:center}
.band p{color:var(--on-fir);max-width:52ch}
.band .mark{width:46px}
.section + .band,.band + .section{border-top:0}

/* Process (a real sequence) */
.steps{list-style:none;margin:0 auto;padding:0;max-width:860px;counter-reset:step}
.steps li{counter-increment:step;display:grid;grid-template-columns:72px 1fr;gap:6px 24px;padding:28px 0;border-top:1px solid var(--mist)}
.steps li:last-child{border-bottom:1px solid var(--mist)}
.steps li::before{content:counter(step);grid-row:span 2;font-family:var(--display);font-size:38px;line-height:1;color:var(--fir)}
.steps p{color:var(--stone)}

/* FAQ */
.faq{max-width:860px;margin:0 auto}
.faq details{border-top:1px solid var(--mist);padding:22px 0}
.faq details:last-child{border-bottom:1px solid var(--mist)}
.faq summary{cursor:pointer;list-style:none;font-family:var(--display);font-size:20px;letter-spacing:.06em;display:flex;justify-content:space-between;gap:20px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+"}
.faq details[open] summary::after{content:"\2212"}
.faq details p{margin-top:12px;color:var(--stone);max-width:62ch}

/* Inquiry */
.inquiry{max-width:860px;margin:0 auto;display:grid;gap:40px}
.maroo{border:1px solid var(--ink);min-height:640px;position:relative;background:var(--paper)}
.maroo iframe{width:100%;height:900px;border:0}
.maroo-fallback{text-align:center;display:grid;gap:14px;justify-items:center}
.next{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;list-style:none;padding:0;margin:0;counter-reset:n;text-align:center}
.next li{counter-increment:n;display:grid;gap:8px;color:var(--stone);font-size:14.5px}
.next li::before{content:counter(n);font-family:var(--display);font-size:32px;color:var(--fir);line-height:1}
@media (max-width:700px){.next{grid-template-columns:1fr}}

/* Footer (unchanged layout) */
.site-footer{border-top:1px solid var(--mist);padding-block:48px;font-size:13.5px;color:var(--stone)}
.footer-grid{display:flex;flex-wrap:wrap;justify-content:space-between;gap:20px;align-items:center}
.footer-grid nav{display:flex;flex-wrap:wrap;gap:24px}
.footer-grid a{text-decoration:none}
.footer-grid a:hover{color:var(--ink)}

@media (prefers-reduced-motion:no-preference){
  .hero-copy{animation:settle 1.1s .25s both cubic-bezier(.2,.7,.2,1)}
  @keyframes settle{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
}

/* ============ Editorial direction ============
   Layout: 12-column magazine grid. Headings always sit at the left edge of the grid,
   same size, under a hairline. Images break the grid; type never does. */
:root{--paper-2:#F6F6F4}
h1,h2{font-weight:300;text-transform:none;letter-spacing:-.005em;line-height:1.02}
h1{font-size:clamp(46px,7.2vw,108px)}
h2{font-size:clamp(36px,4.8vw,70px)}
body{font-size:14.5px;line-height:1.95}
.grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(14px,2vw,28px)}
.ed{padding-block:clamp(80px,11vw,150px)}
.ed + .ed{padding-top:0}
.ed-head{grid-column:1 / -1;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:inherit;border-top:1px solid var(--ink);padding-top:22px;margin-bottom:clamp(40px,6vw,80px)}
.ed-head h2{grid-column:1 / span 8}
.ed-head p{grid-column:9 / -1;color:var(--stone);align-self:end}
.cap{font-size:12px;letter-spacing:.06em;color:var(--stone);margin-top:12px}
.ph.photo{background:linear-gradient(160deg,#E9E8E4,#DAD8D3)}
.ph.photo.alt{background:linear-gradient(200deg,#E2E1DC,#CFCDC7)}

/* Hero */
.ed-hero{padding-block:clamp(28px,4vw,56px) clamp(80px,10vw,130px)}
.ed-hero .grid{align-items:end;row-gap:32px}
.ed-hero-img{grid-column:1 / span 7}
.ed-hero-img .frame{aspect-ratio:4/5}
.ed-hero-text{grid-column:8 / -1;display:grid;gap:26px;justify-items:start;padding-bottom:8px}
.ed-hero-text p{color:var(--stone);max-width:40ch}

/* Pull quote */
.pull{grid-column:2 / span 10;display:grid;gap:28px}
.pull blockquote{margin:0;font-family:var(--display);font-weight:300;font-style:italic;font-size:clamp(30px,3.8vw,56px);line-height:1.18}
.pull cite{font-style:normal;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--stone)}

/* Filmmaker collage */
.collage{row-gap:28px}
.collage-text{grid-column:1 / span 5;grid-row:1;align-self:center;display:grid;gap:24px;justify-items:start}
.collage-text p{color:var(--stone);max-width:46ch}
.collage-main{grid-column:7 / -1;grid-row:1}
.collage-main .frame{aspect-ratio:4/5}
.collage-small{grid-column:5 / span 3;grid-row:1;align-self:end;margin-bottom:-56px;z-index:1;border:10px solid var(--paper)}
.collage-small .frame{aspect-ratio:3/4}

/* Films spread */
.spread{row-gap:clamp(48px,6vw,88px)}
.spread .feature{grid-column:1 / -1}
.spread .second{grid-column:5 / -1}
.spread .second-cap{grid-column:1 / span 3;align-self:end;display:grid;gap:8px}
.film.left{text-align:left;gap:0}
.film.left .frame{aspect-ratio:2.39/1}
.film-meta{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-top:16px;flex-wrap:wrap}
.film-meta h3{font-family:var(--display);font-size:clamp(24px,2.4vw,34px);font-weight:300;text-transform:none;letter-spacing:0}
.film-meta span{color:var(--stone);font-size:13px}

/* Collections, as columns of a spread */
.cols{grid-column:1 / -1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.cols > div{padding:0 clamp(18px,2.5vw,36px);display:grid;gap:12px;align-content:start}
.cols > div:first-child{padding-left:0}
.cols > div + div{border-left:1px solid var(--mist)}
.cols h3{font-family:var(--display);font-weight:300;text-transform:none;letter-spacing:0;font-size:clamp(30px,3vw,44px)}
.cols .lede{color:var(--stone);font-style:italic}
.cols .tag{font-size:12px;letter-spacing:.06em;color:var(--fir)}
.cols ul{list-style:none;margin:10px 0 0;padding:0;display:grid}
.cols li{padding:10px 0;border-top:1px solid var(--mist);font-size:14px}
.ed-action{grid-column:1 / -1;margin-top:clamp(40px,5vw,64px)}

/* Closing band, left aligned like every heading */
.ed-band{background:var(--fir);color:var(--paper);padding-block:clamp(80px,11vw,140px)}
.ed-band .grid{row-gap:28px;align-items:end}
.ed-band h2{grid-column:1 / span 8}
.ed-band .band-side{grid-column:9 / -1;display:grid;gap:22px;justify-items:start}
.ed-band p{color:var(--on-fir)}
.ed-band .mark{grid-column:1 / -1;width:44px}

@media (max-width:860px){
  .ed-head h2,.ed-head p,.ed-hero-img,.ed-hero-text,.pull,.collage-text,.collage-main,.spread .second,.spread .second-cap,.ed-band h2,.ed-band .band-side{grid-column:1 / -1}
  .ed-head p{margin-top:14px}
  .collage-text{grid-row:auto}
  .collage-main{grid-row:auto}
  .collage-small{grid-column:6 / -1;grid-row:auto;margin:-90px 0 0;border-width:6px}
  .spread .second-cap{order:2}
  .cols{grid-template-columns:1fr;row-gap:44px}
  .cols > div{padding:0}
  .cols > div + div{border-left:0}
}
.cols h3 .tag{font-family:var(--text);font-size:12px;vertical-align:middle;margin-left:10px}

/* ============ Revision: full-screen hero, small caps headings, quiet quotes ============ */
.ed h2,.ed-hero-text h2,.collage-text h2{font-family:var(--display);font-size:clamp(19px,1.9vw,25px);font-weight:400;text-transform:uppercase;letter-spacing:.18em;line-height:1.35}
.ed-head{display:grid;grid-template-columns:none;gap:14px;justify-items:start;padding-top:22px;margin-bottom:clamp(36px,4.5vw,56px)}
.ed-head h2,.ed-head p{grid-column:auto}
.ed-head p{max-width:56ch;margin-top:0}

/* Full-screen hero video */
.screen{position:relative;height:calc(100svh - 76px);min-height:520px;background:#1A1D1B;color:#FFFFFF;overflow:hidden}
.screen > video,.screen > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.screen::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.15) 0%,rgba(0,0,0,0) 35%,rgba(0,0,0,.45) 100%)}
.screen .ph{color:rgba(255,255,255,.45);place-items:start center;padding-top:48px}
.screen-title{position:absolute;inset:auto 0 0 0;z-index:1;display:grid;justify-items:center;gap:18px;text-align:center;padding:0 var(--gutter) clamp(48px,8vh,96px)}
.screen-title .mark{width:52px;height:auto}
.screen-title h1{font-size:clamp(38px,6.6vw,96px);font-weight:300;text-transform:uppercase;letter-spacing:.14em;line-height:1.05;margin-right:-.14em}
.screen-title p{font-size:12px;letter-spacing:.32em;text-transform:uppercase;color:rgba(255,255,255,.85);margin-right:-.32em}

/* Intro under the hero */
.intro{grid-column:3 / span 8;text-align:center;display:grid;gap:22px;justify-items:center}
.intro p{color:var(--stone);max-width:58ch}

/* Testimonials: small and tight */
.ed.quote{padding-block:clamp(56px,7vw,88px)}
.pull{grid-column:3 / span 8;text-align:center;gap:14px;justify-items:center}
.pull h2{font-size:clamp(16px,1.5vw,19px)}
.pull blockquote{font-size:clamp(17px,1.5vw,20px);font-weight:400;line-height:1.6;max-width:56ch}
.pull cite{font-size:11px}

/* Filmmaker heading sits with its text */
.collage-text{gap:20px}

/* Collections footnote */
.footnote{grid-column:1 / -1;margin-top:28px;font-size:12px;line-height:1.7;color:var(--stone);max-width:62ch}
.ed-action{display:flex;flex-wrap:wrap;gap:14px}

@media (max-width:860px){.intro,.pull{grid-column:1 / -1}}

/* ============ Revision 3: tighter caps, even rhythm, green focus, new closing ============ */
:root{--gap:clamp(56px,7vw,92px)}
.ed h2,.ed-hero-text h2,.collage-text h2{letter-spacing:.09em}
.pull cite,.cap{letter-spacing:.1em}
.btn{letter-spacing:.09em}

/* Hero: text dead center, tighter */
.screen-title{inset:0;align-content:center;gap:12px;padding:0 var(--gutter)}
.screen-title h1{letter-spacing:.06em;margin-right:-.06em}
.screen-title p{letter-spacing:.2em;margin-right:-.2em}
.screen-title .mark{margin-bottom:6px}

/* One spacing rhythm for every section and divider */
.ed{padding-block:var(--gap)}
.ed.quote{padding-block:var(--gap)}
.ed + .ed{padding-top:0}
.divider{border:0;border-top:1px solid var(--mist);margin:0}
.ed + .wrap + .ed{padding-top:var(--gap)}
.ed-head{margin-bottom:40px}
.spread{row-gap:clamp(56px,6vw,80px)}

/* Collections: subheading + green focus column */
.cols > div{padding:clamp(28px,3vw,40px) clamp(20px,2.6vw,36px)}
.cols > div:first-child{padding-left:clamp(20px,2.6vw,36px)}
.cols > div.focus{background:var(--fir);color:var(--paper);border-left:0}
.cols > div.focus + div{border-left:0}
.cols > div.focus .lede,.cols > div.focus .tag{color:var(--on-fir)}
.cols > div.focus li{border-top-color:rgba(255,255,255,.18)}

/* Closing: cinematic still with centered invitation */
.closing-screen{position:relative;min-height:clamp(440px,72vh,720px);display:grid;place-items:center;background:#1A1D1B;color:#FFFFFF;text-align:center;overflow:hidden}
.closing-screen > img,.closing-screen > video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.closing-screen::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.42)}
.closing-screen .ph{color:rgba(255,255,255,.4);place-items:start center;padding-top:40px}
.closing-inner{position:relative;z-index:1;display:grid;gap:16px;justify-items:center;padding:0 var(--gutter);max-width:640px}
.closing-inner h2{font-family:var(--display);font-weight:300;font-size:clamp(30px,4.2vw,56px);text-transform:uppercase;letter-spacing:.06em;line-height:1.1}
.closing-inner p{color:rgba(255,255,255,.82);max-width:46ch}
.closing-inner .actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:10px}
.btn.outline-light{background:transparent;color:#FFFFFF;border-color:rgba(255,255,255,.7)}
.btn.outline-light:hover{background:#FFFFFF;color:var(--ink)}
.closing-screen + .site-footer{border-top:0}
@media (max-width:860px){.cols > div,.cols > div:first-child{padding:28px 22px}}
.closing-inner{max-width:820px}.closing-inner h2{white-space:nowrap}@media (max-width:420px){.closing-inner h2{white-space:normal}}

/* ============ Revision 4 ============ */
.divider{border-top-color:var(--ink)}
.ed h2,.collage-text h2{font-size:clamp(22px,2.2vw,30px)}
.pull h2{font-size:clamp(17px,1.6vw,20px)}
.intro h2{font-size:clamp(28px,3.2vw,42px)}
.ed-head{padding-top:36px;margin-bottom:36px}
.cols > div{padding:0 clamp(18px,2.5vw,36px)}
.cols > div:first-child{padding-left:0}
@media (max-width:860px){.cols > div,.cols > div:first-child{padding:0}}
.cols .tag{text-transform:uppercase;letter-spacing:.12em;font-size:11px;margin-bottom:-4px}.cols .tag.none{visibility:hidden}
.cols > div{gap:2px}.cols .tag{margin-bottom:2px}.cols h3{line-height:1.1}.cols ul{margin-top:18px}

/* Instagram grid after the closing section */
.ig{position:relative;padding:clamp(6px,.6vw,8px) var(--gutter) 0;max-width:1600px;margin:0 auto}
.ig-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:clamp(3px,.4vw,6px)}
.ig-tile{position:relative;display:block;aspect-ratio:1/1;overflow:hidden;background:var(--mist)}
.ig-tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .25s}
.ig-tile .ph{font-size:11px}
.ig-tile:hover img{opacity:.85}
.ig-card{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:rgba(255,255,255,.96);padding:clamp(20px,2.4vw,32px) clamp(28px,3.6vw,56px);display:grid;gap:10px;justify-items:center;text-align:center;text-decoration:none;color:var(--ink);font-family:var(--display);font-style:italic;text-transform:uppercase;letter-spacing:.14em;font-size:clamp(13px,1.1vw,16px);white-space:nowrap}
.ig-card .ig-handle{font-family:var(--text);font-style:normal;font-size:11px;letter-spacing:.1em;color:var(--stone);text-transform:none;border-top:1px solid var(--ink);padding-top:10px;min-width:60%}
.ig-card:hover{background:var(--paper)}
.ig + .site-footer{border-top:0;margin-top:clamp(24px,3vw,40px)}
@media (max-width:760px){.ig-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.ig-tile:nth-child(n+9){display:none}}

/* Instagram: monogram tile woven into the grid */
.ig-card{display:none}
.ig-feature{grid-column:4 / span 2;grid-row:1 / span 2;background:var(--fir);color:#FFFFFF;text-decoration:none;display:grid;align-content:center;justify-items:center;gap:14px;text-align:center;padding:24px;transition:background .25s}
.ig-feature:hover{background:#1B2921}
.ig-feature img{width:clamp(44px,5vw,72px);height:auto}
.ig-feature .ig-label{font-family:var(--display);font-size:clamp(18px,1.9vw,26px);text-transform:uppercase;letter-spacing:.1em;line-height:1.2}
.ig-feature .ig-handle{font-size:12px;letter-spacing:.06em;color:var(--on-fir)}
@media (max-width:760px){.ig-feature{grid-column:2 / span 2;grid-row:1 / span 2}.ig-tile:nth-child(n+9){display:block}}

/* Smaller Instagram tile: one column wide, centered in a 9-column grid */
.ig-grid{grid-template-columns:repeat(9,minmax(0,1fr))}
.ig-feature{grid-column:5;grid-row:1 / span 2;gap:12px;padding:16px}
.ig-feature img{width:clamp(30px,3vw,44px)}
.ig-feature .ig-label{font-size:clamp(13px,1.15vw,16px);letter-spacing:.08em;line-height:1.35}
.ig-feature .ig-handle{font-size:11px}
@media (max-width:760px){
  .ig-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .ig-feature{grid-column:1 / -1;grid-row:auto;padding:24px}
  .ig-tile:nth-child(n+10){display:none}
}

/* Instagram: square centered over the four middle photos */
.ig-grid{grid-template-columns:repeat(8,minmax(0,1fr));position:relative}
.ig-feature{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:16.5%;aspect-ratio:1/1;grid-column:auto;grid-row:auto;z-index:1;padding:12px;gap:10px;box-shadow:0 0 0 clamp(3px,.4vw,6px) var(--paper)}
.ig-feature:hover{background:#1B2921}
@media (max-width:760px){
  .ig-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .ig-feature{width:33%;grid-column:auto;padding:10px}
  .ig-tile:nth-child(n+10){display:none}
}

/* Instagram: black square, larger label, even spacing above and below */
.ig-feature{background:var(--ink)}
.ig-feature:hover{background:#1F1F1F}
.ig-feature .ig-handle{color:rgba(255,255,255,.75)}
.ig-feature .ig-label{font-size:clamp(15px,1.35vw,19px)}
.ig{padding-block:clamp(40px,5vw,64px)}
.ig-tile::after{content:"";position:absolute;inset:0;background:var(--ink);opacity:0;transition:opacity .25s}
.ig-tile:hover::after,.ig-tile:focus-visible::after{opacity:.25}
.ig-tile:hover img{opacity:1}

/* Back to top */
.to-top{position:fixed;right:clamp(16px,2.5vw,32px);bottom:calc(clamp(16px,2.5vw,32px) + env(safe-area-inset-bottom,0px));width:46px;height:46px;border:1px solid var(--paper);background:var(--ink);cursor:pointer;z-index:30;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .25s,transform .25s,visibility .25s,background .2s}
.to-top.show{opacity:1;visibility:visible;transform:none}
.to-top:hover{background:#2A2A2A}
.to-top::before{content:"";position:absolute;left:50%;top:54%;width:11px;height:11px;border-left:1.5px solid var(--paper);border-top:1.5px solid var(--paper);transform:translate(-50%,-50%) rotate(45deg)}
@media (prefers-reduced-motion:reduce){.to-top{transition:none}}

/* Hero: Vimeo background loop, cropped to fill the screen like a cover image; black until it plays */
.screen{background:#000}
.screen-video{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.screen-video iframe{position:absolute;top:50%;left:50%;width:100%;height:56.25vw;min-height:100%;min-width:calc((100svh - 76px) * 1.7778);transform:translate(-50%,-50%);border:0}
/* Hero reel hosted on the site */
.screen > video.screen-reel{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.screen::after{background:linear-gradient(180deg,rgba(0,0,0,.28) 0%,rgba(0,0,0,.34) 50%,rgba(0,0,0,.5) 100%)}
.screen-title h1,.screen-title p{text-shadow:0 1px 18px rgba(0,0,0,.25)}
.frame > img.portrait{object-position:50% 22%}
.frame > img.detail{object-position:40% 50%}

/* Film caption bar, attached under each film */
.film-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;background:var(--ink);color:#FFFFFF;padding:14px clamp(14px,1.6vw,20px)}
.film-bar h3{font-family:var(--text);font-size:clamp(11px,.95vw,13px);font-weight:400;text-transform:uppercase;letter-spacing:.16em;line-height:1.5;margin:0;text-align:left}
.film-icon{width:16px;height:16px;flex:none;opacity:.9;transition:transform .2s}
.film:hover .film-icon{transform:translate(2px,-2px)}
.film.left .frame{background:var(--ink)}.film.left .frame > video,.film.left .frame > img{inset:-1px;width:calc(100% + 2px);height:calc(100% + 2px)}.film-bar{margin-top:-1px;position:relative}
/* Films aside: centered beside the second film */
.spread .second-cap{grid-column:1 / span 4;align-self:center;justify-items:center;text-align:center;gap:20px;padding-inline:8px}
.spread .second-cap .cap{max-width:30ch;margin:0}
@media (max-width:860px){.spread .second-cap{grid-column:1 / -1}}
.closing-screen > img.closing-img{object-position:50% 60%}
.closing-screen > img.closing-img{object-position:50% 15%}.closing-screen .closing-inner{margin-bottom:clamp(60px,12vh,140px)}
.closing-screen{min-height:0;aspect-ratio:16/9;max-height:none}.closing-screen > img.closing-img{object-position:50% 50%}.closing-screen .closing-inner{margin-bottom:clamp(80px,14vw,200px)}@media (max-width:760px){.closing-screen{aspect-ratio:auto;min-height:520px}.closing-screen > img.closing-img{object-position:48% 50%}.closing-screen .closing-inner{margin-bottom:120px}}
.closing-screen{background:#000}.closing-screen::after{background:rgba(0,0,0,.58)}.closing-screen .closing-inner{margin-bottom:0}@media (max-width:760px){.closing-screen .closing-inner{margin-bottom:0}}
.intro .btn{margin-top:14px}.intro p{text-wrap:pretty}
@media (min-width:861px){.collage-text{margin-bottom:clamp(60px,9vw,130px)}}
@media (min-width:861px){.collage-text{align-self:start;margin-bottom:0}.collage-text h2{margin-top:-.28em}}
.screen-title p{font-family:"Reddit Sans","Helvetica Neue",Arial,sans-serif;font-weight:500;text-transform:uppercase;font-size:13px;letter-spacing:.24em;margin-right:-.24em}
.screen-title p{font-size:15px;letter-spacing:.34em;margin-right:-.34em}
.screen-title .mark{width:40px}
.screen-title p{font-weight:600}
.screen-title p{letter-spacing:.4em;margin-right:-.4em}

/* Transparent header over the homepage hero; fades to solid white on scroll */
body:has(.screen) .site-header{position:fixed;left:0;right:0;top:env(safe-area-inset-top,0px);background:transparent;border-bottom-color:transparent;transition:background-color .4s ease,border-color .4s ease}
body:has(.screen) .screen{height:100svh}
body:has(.screen) .site-header .brand img{filter:invert(1);transition:filter .4s ease}
body:has(.screen) .nav a,body:has(.screen) .menu-btn{color:#FFFFFF;transition:color .4s ease}
body:has(.screen) .nav a[aria-current="page"]{border-bottom-color:#FFFFFF}
body:has(.screen) .nav .nav-cta{background:transparent;color:#FFFFFF;border:1px solid rgba(255,255,255,.75);transition:background-color .4s ease,color .4s ease,border-color .4s ease}

body.scrolled .site-header{background:rgba(255,255,255,.97);border-bottom-color:var(--mist)}
body.scrolled .site-header .brand img{filter:none}
body.scrolled .nav a,body.scrolled .menu-btn{color:var(--ink)}
body.scrolled .nav a[aria-current="page"]{border-bottom-color:var(--ink)}
body.scrolled .nav .nav-cta{background:var(--ink);color:var(--paper);border-color:var(--ink)}

/* Phone menu opened over the hero: show the solid header so links stay readable */
body.menu-open .site-header{background:rgba(255,255,255,.97);border-bottom-color:var(--mist)}
body.menu-open .site-header .brand img{filter:none}
body.menu-open .nav a,body.menu-open .menu-btn{color:var(--ink)}
body.menu-open .nav .nav-cta{background:var(--ink);color:var(--paper);border-color:var(--ink)}
@media (prefers-reduced-motion:reduce){body:has(.screen) .site-header,body:has(.screen) .site-header *{transition:none}}

/* Experience page refinements */
.section-head h1{font-size:clamp(26px,3vw,38px)}
.collection h3{font-size:clamp(24px,2.3vw,30px);letter-spacing:.1em}
.footnote.center{text-align:center;margin:28px auto 0}

/* FAQ: animated dropdown */
.faq details p{margin-top:0;padding-top:12px}
.faq-body{overflow:hidden}
.faq summary::after{transition:transform .3s ease}
.faq details.is-open summary::after{transform:rotate(180deg)}
/* Centered section headings match the homepage: uppercase, measured size */
.section-head h1,.section-head h2{font-family:var(--display);font-weight:400;text-transform:uppercase;letter-spacing:.09em;line-height:1.3}
.section-head h1{font-size:clamp(26px,2.8vw,36px)}
.section-head h2{font-size:clamp(22px,2.2vw,30px)}
.film .frame.std{aspect-ratio:2.39/1;background:var(--ink)}
.film-desc{color:var(--stone);font-size:14.5px;line-height:1.8;max-width:52ch;margin:-4px auto 0}
.film-desc{font-size:12.5px;line-height:1.75}
/* About page */
.duo-text h1{font-family:var(--display);font-size:clamp(22px,2.2vw,30px);font-weight:400;text-transform:uppercase;letter-spacing:.09em;line-height:1.3}
.ed.quote.about-quote{padding-top:var(--gap)}
.duo-text h1{font-size:clamp(17px,1.5vw,20px);letter-spacing:.12em}
.duo-text h1{font-size:clamp(22px,2.2vw,30px);letter-spacing:.09em}
.duo-text p.signoff{font-family:var(--display);font-style:italic;font-size:clamp(17px,1.5vw,20px);line-height:1.5;color:var(--ink)}
/* Header CTA: same size in every state; outlined on the Inquiry page */
.nav .nav-cta{padding:10px 20px;border:1px solid var(--ink)}
.nav .nav-cta[aria-current="page"]{padding:10px 20px;background:var(--paper);color:var(--ink);border:1px solid var(--ink)}
.nav .nav-cta[aria-current="page"]:hover{background:var(--ink);color:var(--paper)}
/* Header CTA hover: fade to white */
.nav .nav-cta{transition:background-color .3s ease,color .3s ease,border-color .3s ease}
.nav .nav-cta:not([aria-current="page"]):hover{background:var(--paper);color:var(--ink);border-color:var(--ink)}
body:has(.screen):not(.scrolled):not(.menu-open) .nav .nav-cta:hover{background:#FFFFFF;color:#000000;border-color:#FFFFFF}

/* Sliding underline in the header nav */
.nav ul{position:relative}
.nav a:not(.nav-cta){padding-bottom:3px}
.nav a[aria-current="page"]:not(.nav-cta){border-bottom:0}
.nav-indicator{position:absolute;left:0;bottom:0;height:1px;width:0;background:var(--ink);pointer-events:none;opacity:0;transition:transform .35s cubic-bezier(.2,.7,.2,1),width .35s cubic-bezier(.2,.7,.2,1),opacity .25s ease,background-color .4s ease}
.nav-indicator.on{opacity:1}
body:has(.screen):not(.scrolled):not(.menu-open) .nav-indicator{background:#FFFFFF}
@media (max-width:860px){.nav-indicator{display:none}.nav a[aria-current="page"]:not(.nav-cta){border-bottom:1px solid currentColor}}
@media (prefers-reduced-motion:reduce){.nav-indicator{transition:opacity .2s ease}}

/* Page transitions: fade in on arrival, fade out when leaving */
@media (prefers-reduced-motion:no-preference){
  body{animation:page-in .55s ease both}
  @keyframes page-in{from{opacity:0}to{opacity:1}}
  body.page-leaving{opacity:0;transition:opacity .32s ease}
}

/* Maroo form: sits in the page, no frame, no inner scrolling, top banner cropped off.
   --maroo-crop  = height of Maroo's blue banner to hide
   --maroo-form  = height of the form below it; raise if the bottom gets cut off, lower if there's a gap */
.maroo{--maroo-crop:195px;--maroo-form:1500px;border:0;min-height:0;overflow:hidden;height:var(--maroo-form)}
.maroo iframe{display:block;width:100%;border:0;height:calc(var(--maroo-form) + var(--maroo-crop));margin-top:calc(var(--maroo-crop) * -1)}
@media (max-width:700px){.maroo{--maroo-form:1700px}}
/* Maroo: also hide the profile photo and name; taller so Submit isn't cut off */
.maroo{--maroo-crop:355px;--maroo-form:1750px}
@media (max-width:700px){.maroo{--maroo-form:1950px}}
.maroo{--maroo-crop:305px}
.maroo{--maroo-form:1530px}@media (max-width:700px){.maroo{--maroo-form:1730px}}
/* Our own thank-you message replaces Maroo's after a submit */
.maroo.done{height:auto}
.maroo.done iframe{display:none}
.maroo-thanks{display:grid;justify-items:center;gap:18px;text-align:center;padding:clamp(56px,8vw,96px) 16px}
.maroo-thanks .mark{width:42px;height:auto}
.maroo-thanks h2{font-family:var(--display);font-weight:400;text-transform:uppercase;letter-spacing:.09em;font-size:clamp(22px,2.2vw,30px);margin:0}
.maroo-thanks p{color:var(--stone);max-width:46ch}
.inquiry:has(.maroo.done) .maroo-fallback{display:none}
.maroo-thanks h1{font-family:var(--display);font-weight:400;text-transform:uppercase;letter-spacing:.09em;font-size:clamp(22px,2.2vw,30px);margin:0}
html.in-frame .site-header,html.in-frame .site-footer,html.in-frame .to-top{display:none}
/* Black buttons fade to white on hover (no green) */
.btn{transition:background-color .3s ease,color .3s ease,border-color .3s ease}
.btn:not(.ghost):not(.light):not(.outline-light):hover{background:var(--paper);color:var(--ink);border-color:var(--ink)}
/* Instagram square: fade to white on hover */
.ig-feature{transition:background-color .3s ease,color .3s ease}
.ig-feature img{transition:filter .3s ease}
.ig-feature .ig-handle{transition:color .3s ease}
.ig-feature:hover{background:var(--paper);color:var(--ink)}
.ig-feature:hover img{filter:invert(1)}
.ig-feature:hover .ig-handle{color:var(--stone)}
/* Instagram grid: 6 across, 2 rows; square sits over the middle four */
.ig-grid{grid-template-columns:repeat(6,minmax(0,1fr))}
.ig-feature{width:22%}
@media (max-width:760px){
  .ig-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .ig-tile:nth-child(n+10){display:block}
  .ig-feature{width:34%}
}

/* ===== Mobile-only refinements ===== */
@media (max-width:760px){
  /* Filmmaker: drop the camera photo, portrait full width under the text */
  .collage-small{display:none}
  .collage-main{grid-column:1 / -1}
  .collage-text{margin-bottom:12px}

  /* Packages: each in its own outlined box */
  .cols{row-gap:20px}
  .cols > div,.cols > div:first-child{border:1px solid var(--mist);padding:26px 22px 14px}
  .cols > div + div{border-left:1px solid var(--mist)}
  .collection,.collection + .collection{border:1px solid var(--mist);padding:26px 22px}
  .collection.featured{border-color:var(--ink)}
  .collections{gap:20px}

  /* Smaller buttons */
  .btn{font-size:11.5px;padding:12px 22px;letter-spacing:.08em}
  .closing-inner .actions{gap:10px}
  .ed-action{gap:10px}

  /* Footer on one line */
  .footer-grid{flex-wrap:nowrap;gap:12px;font-size:11.5px;white-space:nowrap}
  .footer-grid nav{gap:12px}
}
@media (max-width:760px){.cols .tag.none,.collection .tag.none{display:none}}
@media (max-width:760px){.screen-title p{font-size:11px;letter-spacing:.22em;margin-right:-.22em}}

/* ===== Mobile: full-width dropdown menu with slide-down animation ===== */
@media (max-width:860px){
  .nav ul{position:absolute;top:76px;left:0;right:0;display:flex;flex-direction:column;align-items:flex-start;gap:0;
    background:var(--paper);border-bottom:1px solid var(--mist);padding:8px var(--gutter) 24px;
    clip-path:inset(0 0 100% 0);opacity:0;visibility:hidden;transform:translateY(-8px);
    transition:clip-path .45s cubic-bezier(.2,.7,.2,1),opacity .3s ease,transform .45s cubic-bezier(.2,.7,.2,1),visibility 0s linear .45s}
  .nav ul.open{clip-path:inset(0 0 0 0);opacity:1;visibility:visible;transform:none;
    transition:clip-path .45s cubic-bezier(.2,.7,.2,1),opacity .3s ease,transform .45s cubic-bezier(.2,.7,.2,1),visibility 0s}
  .nav ul li{width:100%}
  .nav ul li a:not(.nav-cta){display:block;padding:12px 0;color:var(--ink)}
  .nav ul .nav-cta{display:inline-block;margin-top:10px}
}
@media (max-width:860px) and (prefers-reduced-motion:reduce){.nav ul,.nav ul.open{transition:none}}

/* ===== Mobile: film caption on one line ===== */
@media (max-width:760px){
  .film-bar{padding:12px 14px;gap:10px}
  .film-bar h3{font-size:10px;letter-spacing:.1em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
}
body.menu-open .site-header{background:var(--paper)}
/* Smaller Instagram square */
.ig-feature{width:17%;gap:8px;padding:10px}
.ig-feature img{width:clamp(24px,2.4vw,36px)}
.ig-feature .ig-label{font-size:clamp(12px,1.1vw,15px)}
.ig-feature .ig-handle{font-size:10.5px}
@media (max-width:760px){.ig-feature{width:28%}.ig-feature .ig-label{font-size:11px}.ig-feature .ig-handle{font-size:9.5px}}
/* Smaller grid photos, same gaps between them */
.ig-grid{max-width:880px;margin-inline:auto}
@media (max-width:760px){.ig-grid{max-width:none}}
.ig-grid{max-width:1030px}@media (max-width:760px){.ig-grid{max-width:none}}

/* Cookie notice */
.cookie-bar{position:fixed;left:16px;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:60;max-width:720px;margin:0 auto;background:var(--ink);color:#FFFFFF;padding:18px 22px;display:flex;align-items:center;gap:18px 24px;flex-wrap:wrap;justify-content:space-between;box-shadow:0 10px 40px rgba(0,0,0,.25);opacity:0;transform:translateY(16px);transition:opacity .4s ease,transform .4s ease}
.cookie-bar.show{opacity:1;transform:none}
.cookie-bar p{margin:0;font-size:13px;line-height:1.6;max-width:46ch;color:rgba(255,255,255,.85)}
.cookie-actions{display:flex;gap:10px}
.cookie-bar .btn{font-size:11px;padding:10px 20px}
.cookie-bar .cookie-accept{background:#FFFFFF;color:#000000;border-color:#FFFFFF}
.cookie-bar .cookie-accept:hover{background:transparent;color:#FFFFFF}
.cookie-bar .cookie-decline{background:transparent;color:#FFFFFF;border-color:rgba(255,255,255,.6)}
.cookie-bar .cookie-decline:hover{background:#FFFFFF;color:#000000;border-color:#FFFFFF}
@media (max-width:760px){.cookie-bar{padding:16px 18px}.cookie-actions{width:100%}.cookie-actions .btn{flex:1}}
@media (prefers-reduced-motion:reduce){.cookie-bar{transition:none}}
@media (max-width:760px){.cookie-actions{width:auto}.cookie-actions .btn{flex:none}}
