/* Lit Digital Marketing — styles.css
   Static build: Tailwind import removed, all custom styles preserved */

/* ── RESET & TOKENS ── */
:root{--ink:#0f0f0e;--cream:#fff;--paper:#fff;--acid:#ff4d00;--orange:#ff4d00;--line:rgba(16,16,15,.18)}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ink);color:#fff;font-family:Arial,Helvetica,sans-serif;overflow-x:hidden}
html,body,main{overflow-x:clip}
a{color:inherit;text-decoration:none}
button{font:inherit}
img{max-width:100%;display:block}

/* ── LAYOUT UTILITIES ── */
.section-pad{padding:clamp(90px,11vw,180px) clamp(22px,4.5vw,76px)}
.section-label{margin:0 0 35px;text-transform:uppercase;letter-spacing:.16em;font-size:11px;font-weight:700}

/* ── REVEAL ANIMATION ── */
.reveal{opacity:0;transform:translateY(36px);transition:opacity .85s ease,transform .85s cubic-bezier(.22,1,.36,1)}
.reveal.is-visible{opacity:1;transform:none}

/* ── TITLE SWIPE ── */
.title-swipe>span{display:inline-block;opacity:0;filter:blur(16px);transform:translateX(-90px);transition:opacity .85s,filter .85s,transform .9s cubic-bezier(.22,1,.36,1)}
.title-swipe>span:nth-of-type(even),.title-swipe>span:last-child{transform:translateX(90px)}
.title-swipe.is-visible>span{opacity:1;filter:blur(0);transform:none}
.title-swipe.is-visible>span:nth-child(3){transition-delay:.09s}

/* ── LETTER RISE ── */
.letter-rise{display:flex;flex-wrap:wrap;margin:0;font-size:clamp(58px,8vw,128px);line-height:.84;letter-spacing:-.075em;font-weight:500}
.letter-word{display:inline-flex;white-space:nowrap;margin-right:.2em}
.letter-window{display:inline-block;overflow:hidden;padding-bottom:.09em;margin-bottom:-.09em}
.letter-window i{display:inline-block;font-style:normal;transform:translateY(115%);filter:blur(10px);opacity:0;transition:transform .75s cubic-bezier(.22,1,.36,1),filter .6s,opacity .45s}
.letter-rise.is-visible .letter-window i{transform:translateY(0);filter:blur(0);opacity:1}

/* ── SITE HEADER ── */
.site-header{position:fixed;z-index:50;top:0;left:0;width:100%;height:104px;padding:0 clamp(22px,4vw,68px);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;transition:top .4s,left .4s,width .4s,color .35s,background .35s,border-color .35s;pointer-events:none}
.site-header>*{pointer-events:auto}
.site-header.is-scrolled{top:12px;left:2vw;width:96vw;height:76px;padding:0 18px 0 24px;border:1px solid;border-radius:999px;backdrop-filter:blur(22px);box-shadow:0 12px 38px rgba(0,0,0,.08)}
.site-header.header-dark{color:#fff}
.site-header.header-dark.is-scrolled{background:rgba(8,8,8,.78);border-color:rgba(255,255,255,.16)}
.site-header.header-light{color:#10100f}
.site-header.header-light.is-scrolled{background:rgba(255,255,255,.82);border-color:rgba(0,0,0,.14)}
.brand{font-size:31px;font-weight:900;letter-spacing:-.09em;position:relative;z-index:51}
.brand span{color:var(--orange);font-size:15px;margin-left:4px;vertical-align:top}
.site-header .brand{width:104px;height:52px;display:block}
.site-header .brand img{width:100%;height:100%;object-fit:contain;object-position:left center}
.site-header .logo-on-dark,.site-header.header-dark .logo-on-dark{display:block}
.site-header .logo-on-light,.site-header.header-dark .logo-on-light{display:none}
.site-header.header-light .logo-on-dark{display:none}
.site-header.header-light .logo-on-light{display:block}

/* ── DESKTOP NAV ── */
.desktop-nav{display:flex;gap:30px;padding:14px 22px;border:1px solid rgba(255,255,255,.17);border-radius:999px;background:rgba(20,17,14,.27);backdrop-filter:blur(18px);font-size:14px}
.desktop-nav a{opacity:.78;transition:.2s}
.desktop-nav a:hover{opacity:1}
.header-light .desktop-nav{background:rgba(255,255,255,.36);border-color:rgba(0,0,0,.16)}

/* ── MENU BUTTON ── */
.menu-button{position:relative;z-index:52;justify-self:end;width:58px;height:58px;border:1px solid rgba(255,255,255,.2);border-radius:50%;background:rgba(20,17,14,.34);display:grid;place-content:center;gap:7px;cursor:pointer;color:#fff}
.menu-button i{width:22px;height:1px;background:currentColor;display:block;transition:.35s}
.menu-button[aria-expanded=true] i:first-child{transform:translateY(4px) rotate(45deg)}
.menu-button[aria-expanded=true] i:last-child{transform:translateY(-4px) rotate(-45deg)}
.header-light .menu-button{color:#111;background:rgba(255,255,255,.45);border-color:rgba(0,0,0,.18)}
.header-dark .menu-button{color:#fff}

/* ── MENU OVERLAY ── */
.menu-overlay{position:fixed;z-index:49;inset:0;background:#160b07;color:#fff;display:grid;place-items:center;clip-path:circle(0 at calc(100% - 67px) 52px);transition:clip-path .8s cubic-bezier(.77,0,.18,1);pointer-events:none;overflow:hidden}
.menu-overlay.open{clip-path:circle(150% at calc(100% - 67px) 52px);pointer-events:auto}
.menu-overlay nav{width:min(730px,80vw);position:relative;z-index:2}
.menu-overlay nav a{display:grid;grid-template-columns:45px 1fr auto;align-items:center;border-bottom:1px solid rgba(255,255,255,.18);padding:13px 0;transform:translateY(30px);opacity:0;transition:.4s}
.menu-overlay.open nav a{transform:none;opacity:1}
.menu-overlay.open nav a:nth-child(2){transition-delay:.06s}
.menu-overlay.open nav a:nth-child(3){transition-delay:.12s}
.menu-overlay.open nav a:nth-child(4){transition-delay:.18s}
.menu-overlay.open nav a:nth-child(5){transition-delay:.24s}
.menu-overlay nav small{opacity:.45}
.menu-overlay nav span{font-size:clamp(42px,6vw,86px);letter-spacing:-.06em}
.menu-overlay nav b{font-size:28px;font-weight:400;opacity:.45}
.menu-overlay nav a:hover span{font-family:Georgia,serif;font-style:italic;color:var(--acid)}
.menu-meta,.menu-contact{position:absolute;z-index:2;display:flex;font-size:11px;text-transform:uppercase;letter-spacing:.12em}
.menu-meta{left:4vw;top:40%;flex-direction:column;gap:8px}
.menu-contact{right:4vw;bottom:38px;gap:25px}
.menu-orb{position:absolute;border-radius:50%;filter:blur(80px);opacity:.35}
.menu-orb-one{width:45vw;height:45vw;background:#ff4d00;left:-15vw;bottom:-18vw}
.menu-orb-two{width:35vw;height:35vw;background:#d7ff3f;right:-16vw;top:-15vw;opacity:.12}
.menu-overlay~*{pointer-events:auto}

/* ── HERO ── */
.hero{min-height:100svh;position:relative;overflow:hidden;background:#28120a;cursor:none}
.hero-images,.hero-images img,.hero-shade{position:absolute;inset:0;width:100%;height:100%}
.hero-images img{object-fit:cover;opacity:0;transform:scale(1.06);transition:opacity .7s ease,transform 1.3s cubic-bezier(.22,1,.36,1);image-rendering:auto}
.hero-images img.active{opacity:1;transform:scale(1)}
.hero-shade{background:linear-gradient(90deg,rgba(0,0,0,.9),rgba(0,0,0,.4) 58%,rgba(0,0,0,.13)),linear-gradient(0deg,rgba(0,0,0,.68),transparent 58%)}
.hero-cursor{position:fixed;z-index:5;top:0;left:0;width:140px;height:140px;border-radius:50%;border:1px solid rgba(215,255,63,.75);background:rgba(215,255,63,.08);backdrop-filter:blur(4px);display:grid;place-items:center;pointer-events:none;opacity:0;transition:opacity .2s,width .3s,height .3s}
.hero-cursor span{font-size:10px;letter-spacing:.18em;color:var(--acid)}
.hero-content{position:relative;z-index:3;min-height:100svh;padding:clamp(155px,18vh,210px) clamp(22px,4vw,68px) 80px;display:grid;grid-template-columns:minmax(0,1.45fr) minmax(310px,.55fr);align-items:center;gap:5vw}
.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.16em;margin:0 0 25px;color:rgba(255,255,255,.72)}
.hero h1{margin:0;font-size:clamp(64px,9vw,148px);line-height:.82;letter-spacing:-.075em;font-weight:600;max-width:970px}
.hero h1 em,.display-title em,.process-heading em,.cta-section h2 em{color:var(--acid);font-weight:400;font-family:Georgia,serif}
.hero-copy{font-size:clamp(17px,1.25vw,21px);line-height:1.45;max-width:600px;margin:34px 0 0;color:rgba(255,255,255,.78)}

/* ── HERO SERVICE LIST ── */
.hero-service-list{align-self:center}
.hero-service-list button{width:100%;display:grid;grid-template-columns:42px 1fr auto;gap:8px;align-items:center;text-align:left;background:none;color:#fff;border:0;border-bottom:1px solid rgba(255,255,255,.3);padding:17px 0;cursor:pointer;font-size:clamp(17px,1.35vw,22px);transition:padding .3s,color .3s}
.hero-service-list button span{font-size:11px;opacity:.55}
.hero-service-list button b{font-weight:400;opacity:0;transform:translate(-8px,8px);transition:.3s}
.hero-service-list button.active{color:var(--acid);padding-left:12px}
.hero-service-list button.active b{opacity:1;transform:none}
.scroll-cue{position:absolute;z-index:3;bottom:25px;left:50%;display:flex;align-items:center;gap:10px;transform:translateX(-50%);text-transform:uppercase;letter-spacing:.12em;font-size:10px}
.scroll-cue b{width:30px;height:30px;border:1px solid rgba(255,255,255,.4);border-radius:50%;display:grid;place-items:center}

/* ── INTRO ── */
.intro-section{background:#fff;color:var(--ink);min-height:80vh;display:flex;flex-direction:column;justify-content:center}
.intro-grid{display:grid;grid-template-columns:1.4fr .6fr;gap:9vw;align-items:end}
.display-title{font-size:clamp(56px,8vw,132px);line-height:.9;letter-spacing:-.07em;margin:0;font-weight:500}
.display-title em{color:var(--orange)}
.intro-copy{font-size:clamp(18px,1.5vw,25px);line-height:1.42}
.intro-copy p{margin:0 0 50px}
.text-link{display:flex;justify-content:space-between;border-bottom:1px solid;padding:16px 0;font-size:13px;text-transform:uppercase;letter-spacing:.08em}
.text-link span{font-size:20px}

/* ── WORKS ── */
.works-section{background:#050505}
.section-top{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:80px}
.section-top h2,.services-head h2,.cta-section h2{font-size:clamp(58px,8vw,128px);line-height:.86;letter-spacing:-.07em;font-weight:500;margin:0}
.section-top>span{font-size:12px;text-transform:uppercase;letter-spacing:.12em;opacity:.55}
.works-section .letter-rise{max-width:1050px}
.works-list{display:flex;flex-direction:column;gap:18vh}
.work-card{--lift:80px;--turn:5deg;--grow:.86;width:min(1180px,92%);margin:auto;transform:translateY(var(--lift)) rotate(var(--turn)) scale(var(--grow));transition:transform .16s linear}
.work-card:nth-child(2){width:min(970px,78%);margin-right:0}
.work-media{aspect-ratio:16/9;overflow:hidden;border-radius:2px}
.work-media img{width:100%;height:100%;object-fit:cover;transition:transform 1s}
.work-card:hover img{transform:scale(1.04)}
.work-info{display:grid;grid-template-columns:50px 1fr auto 44px;align-items:center;border-bottom:1px solid rgba(255,255,255,.25);padding:22px 0;gap:20px}
.work-info span,.work-info p{font-size:12px;opacity:.55}
.work-info h3{font-size:clamp(26px,3vw,48px);margin:0;letter-spacing:-.04em}
.work-info p{text-transform:uppercase;letter-spacing:.1em}
.work-info a{width:42px;height:42px;border:1px solid rgba(255,255,255,.3);border-radius:50%;display:grid;place-items:center}

/* ── PROCESS ── */
.process-section{background:#050505;color:#fff;display:grid;grid-template-columns:.8fr 1.2fr;gap:11vw}
.process-heading{position:sticky;top:15vh;height:max-content}
.process-heading h2{font-size:clamp(70px,8vw,134px);line-height:.83;letter-spacing:-.07em;margin:0 0 55px;font-weight:500}
.process-heading em{color:var(--orange)}
.process-heading>p:last-child{max-width:400px;font-size:20px;line-height:1.45;color:rgba(255,255,255,.74)}
.process-list{position:relative;padding-left:52px}
.process-track{position:absolute;left:0;top:0;height:100%;width:1px;background:rgba(255,255,255,.22)}
.process-track i{display:block;width:3px;background:var(--orange);transition:height .45s}
.process-card{min-height:70vh;border-bottom:1px solid rgba(255,255,255,.2);display:grid;grid-template-columns:85px 1fr;align-content:center;opacity:.18;filter:blur(10px);transition:.55s}
.process-card.active{opacity:1;filter:blur(0)}
.process-card>span{font-size:14px;color:var(--orange)}
.process-card h3{font-size:clamp(36px,4.2vw,72px);line-height:.95;letter-spacing:-.055em;text-transform:uppercase;margin:0 0 30px}
.process-card p{font-size:clamp(16px,1.2vw,20px);line-height:1.55;max-width:650px;margin:0}

/* ── STATS ── */
.stats-section{height:330vh;background:#050505}
.stats-sticky{height:100vh;position:sticky;top:0;overflow:hidden;display:grid;place-items:center;background:radial-gradient(circle at center,rgba(255,77,0,.12),transparent 46%)}
.stats-sticky>.section-label{position:absolute;top:55px;left:50%;transform:translateX(-50%);color:#aaa}
.stat-slide{position:absolute;display:flex;flex-direction:column;align-items:center;transition:opacity .7s,filter .7s,transform .8s cubic-bezier(.22,1,.36,1);opacity:0;filter:blur(18px);transform:scale(.55)}
.stat-slide.active{opacity:1;filter:blur(0);transform:scale(1)}
.stat-slide.past{opacity:0;filter:blur(20px);transform:scale(1.8)}
.stat-slide strong{font-size:clamp(140px,30vw,500px);line-height:.7;letter-spacing:-.1em;color:#fff;text-shadow:0 0 80px rgba(255,255,255,.12);font-weight:600}
.stat-slide span{margin-top:55px;font-size:clamp(22px,3vw,46px);text-transform:uppercase;letter-spacing:.06em;color:#fff}
.stat-index{position:absolute;bottom:35px;right:4vw;font-size:11px;letter-spacing:.14em}

/* ── KEEP SCROLLING TRANSITION ── */
.keep-scrolling{--transition-progress:0;height:180vh;background:#050505;position:relative}
.keep-sticky{position:sticky;top:0;height:100vh;display:grid;place-items:center;overflow:hidden}
.transition-disc{position:absolute;width:18vmin;height:18vmin;border-radius:50%;background:#fff;box-shadow:0 0 0 3px var(--orange);transform:scale(calc(.12 + var(--transition-progress) * 15));will-change:transform}
.keep-sticky p{position:relative;z-index:2;margin:0;display:flex;flex-direction:column;align-items:center;font-size:clamp(54px,10vw,170px);line-height:.75;letter-spacing:-.08em;font-weight:600;color:#fff;mix-blend-mode:difference}
.keep-sticky p span:last-child{font-family:Georgia,serif;font-style:italic;font-weight:400}
.keep-sticky small{position:absolute;z-index:2;bottom:42px;text-transform:uppercase;letter-spacing:.16em;font-size:10px;color:#fff;mix-blend-mode:difference}

/* ── SERVICES ── */
.services-section{background:#fff;color:#111}
.services-head{display:grid;grid-template-columns:1.35fr .65fr;gap:9vw;align-items:end;margin-bottom:100px}
.services-head h2{font-size:clamp(54px,7.5vw,116px)}
.services-head .letter-rise{font-size:clamp(52px,7vw,112px);max-width:1000px}
.services-head>p{font-size:20px;line-height:1.5;margin:0}
.services-list{width:100%;border-top:1px solid rgba(0,0,0,.22)}
.service-row{border-bottom:1px solid rgba(0,0,0,.22)}
.services-list .service-row>button{width:100%;display:grid;grid-template-columns:70px 1fr 50px;align-items:center;gap:12px;background:none;border:0;padding:25px 0;text-align:left;color:inherit;cursor:pointer}
.services-list .service-row>button span{font-size:11px;opacity:.45}
.services-list .service-row>button b{font-size:clamp(25px,3.1vw,54px);line-height:1;letter-spacing:-.045em;font-weight:500}
.services-list .service-row>button i{justify-self:end;width:42px;height:42px;border:1px solid rgba(0,0,0,.28);border-radius:50%;display:grid;place-items:center;font-style:normal;font-size:22px}
.service-row.active>button b{color:var(--orange)}
.service-expand{display:grid;grid-template-columns:minmax(260px,.7fr) 1fr auto;gap:clamp(24px,5vw,80px);align-items:center;max-height:0;opacity:0;overflow:hidden;filter:blur(10px);transform:translateY(20px);transition:max-height .75s cubic-bezier(.22,1,.36,1),opacity .5s,filter .6s,transform .6s;padding:0 70px}
.service-row.active .service-expand{max-height:480px;opacity:1;filter:blur(0);transform:none;padding-top:8px;padding-bottom:34px}
.service-expand>div{height:300px;overflow:hidden}
.service-expand img{width:100%;height:100%;object-fit:cover}
.service-expand p{font-size:clamp(18px,1.7vw,25px);line-height:1.45;margin:0}
.service-expand>a{align-self:end;text-transform:uppercase;letter-spacing:.1em;font-size:11px;border-bottom:1px solid;padding:14px 0;display:flex;gap:30px}

/* ── FLOATING ── */
.floating-section{height:210vh;background:#050505;color:#fff}
.floating-sticky{height:100vh;position:sticky;top:0;display:grid;place-items:center;overflow:hidden;background:radial-gradient(circle at 50% 62%,#46160a 0%,#160905 34%,#050505 68%)}
.floating-kicker{position:absolute;top:50px;font-size:10px;text-transform:uppercase;letter-spacing:.16em}
.floating-sticky h2{position:relative;z-index:5;width:min(900px,74vw);text-align:center;font-size:clamp(32px,4.2vw,68px);line-height:1.02;letter-spacing:-.045em;font-weight:500}
.floating-sticky h2 em{font-family:Georgia,serif;color:var(--orange);font-weight:400}
.floating-image{position:absolute;z-index:3;width:clamp(140px,16vw,265px);aspect-ratio:4/5;object-fit:cover;transform:scale(.45);filter:blur(15px);opacity:.1;will-change:transform,filter}
.float-e{aspect-ratio:16/10;width:240px}

/* ── TESTIMONIALS ── */
.testimonials-section{background:#fff;color:#111}
.testimonial-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid rgba(0,0,0,.22)}
.testimonial-grid blockquote{margin:0;padding:70px 7vw 30px 0}
.testimonial-grid blockquote+blockquote{border-left:1px solid rgba(0,0,0,.22);padding-left:7vw}
.testimonial-grid blockquote p{font-family:Georgia,serif;font-size:clamp(28px,3.5vw,54px);line-height:1.12;margin:0 0 70px}
.testimonial-grid footer{display:flex;flex-direction:column;gap:8px}
.testimonial-grid footer span{font-size:11px;text-transform:uppercase;letter-spacing:.1em;opacity:.65}

/* ── REEL ── */
.reel-section{height:280vh;background:#020202}
.reel-sticky{position:sticky;top:0;height:100vh;overflow:hidden;display:grid;place-items:center;background:radial-gradient(ellipse at top,rgba(255,255,255,.14),transparent 52%)}
.light-beams{position:absolute;inset:-25% 0 0;background:repeating-conic-gradient(from 245deg at 50% 0,transparent 0deg,rgba(255,255,255,.08) 4deg,transparent 10deg);filter:blur(18px);opacity:.7}
.reel-sticky>p{position:absolute;top:55px;font-size:10px;letter-spacing:.18em}
.reel-words{position:relative;z-index:2;display:flex;align-items:center;gap:clamp(30px,6vw,110px)}
.reel-words h2{font-size:clamp(72px,16vw,270px);letter-spacing:-.08em;margin:0;opacity:0;filter:blur(20px);transform:translateX(-100px);transition:.8s}
.reel-words h2:last-child{transform:translateX(100px)}
.reel-words button{width:clamp(76px,9vw,140px);height:clamp(76px,9vw,140px);border-radius:50%;border:1px solid var(--orange);background:var(--orange);color:#fff;cursor:pointer;opacity:0;transform:scale(.25);transition:.7s;display:grid;place-items:center}
.reel-words button span{font-size:28px;margin-left:5px}
.reel-section[data-phase='1'] h2,.reel-section[data-phase='2'] h2{opacity:1;filter:blur(0);transform:none}
.reel-section[data-phase='2'] button{opacity:1;transform:scale(1)}
.reel-scroll{position:absolute;bottom:30px;font-size:10px;text-transform:uppercase;letter-spacing:.15em;opacity:.55}

/* ── VIDEO MODAL ── */
.video-modal{position:fixed;z-index:100;inset:0;background:rgba(0,0,0,.92);display:grid;place-items:center;padding:5vw}
.video-modal iframe{width:min(1200px,94vw);aspect-ratio:16/9;border:0}
.video-modal>button{position:absolute;top:25px;right:30px;width:55px;height:55px;border-radius:50%;border:1px solid #777;background:#111;color:#fff;font-size:32px;cursor:pointer}

/* ── CTA ── */
.cta-section{background:var(--orange);color:#120806;min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.cta-section h2{font-size:clamp(58px,9vw,150px)}
.cta-section h2 em{color:#120806}
.cta-button{margin-top:70px;display:flex;align-items:center;justify-content:space-between;width:min(460px,100%);padding:24px 0;border-bottom:2px solid;font-size:24px}
.cta-button span{width:50px;height:50px;border:1px solid;border-radius:50%;display:grid;place-items:center}

/* ── FOOTER ── */
.site-footer{padding:55px clamp(22px,4.5vw,76px);display:grid;grid-template-columns:1fr 1fr 1fr;align-items:end;background:#0b0b0a;border-top:1px solid #333}
.site-footer .brand{width:112px;height:58px}
.site-footer .brand img{width:100%;height:100%;object-fit:contain;object-position:left center}
.site-footer>div{display:flex;flex-direction:column;gap:10px;font-size:14px}
.site-footer>p{justify-self:end;text-align:right;font-size:11px;line-height:1.6;text-transform:uppercase;letter-spacing:.1em;opacity:.55}

/* ── SUBPAGE ── */
.subpage{min-height:100vh;background:var(--paper);color:var(--ink)}
.subpage .site-header{color:#fff}
.subhero{min-height:75vh;padding:180px 4.5vw 75px;background:#170c08;color:#fff;position:relative;overflow:hidden;display:flex;align-items:flex-end}
.subhero:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.84),rgba(0,0,0,.15)),var(--sub-image) center/cover}
.subhero>*{position:relative}
.subhero .section-label{color:var(--acid)}
.subhero h1{font-size:clamp(70px,12vw,200px);line-height:.76;letter-spacing:-.08em;margin:0;font-weight:500}
.subhero p:last-child{max-width:550px;font-size:19px;line-height:1.5;margin:35px 0 0}
.subhero>.site-header{position:absolute}
.subhero>div:not(.menu-overlay){position:relative;width:100%}

/* ── PORTFOLIO ── */
.portfolio-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:80px 25px}
.portfolio-item:nth-child(3n){grid-column:1/-1}
.portfolio-item img{width:100%;aspect-ratio:4/3;object-fit:cover}
.portfolio-item:nth-child(3n) img{aspect-ratio:2/1}
.portfolio-item footer{display:flex;justify-content:space-between;padding:18px 0;border-bottom:1px solid}
.portfolio-item h2{font-size:clamp(27px,3vw,48px);margin:0;letter-spacing:-.04em}
.portfolio-item span{font-size:11px;text-transform:uppercase;letter-spacing:.1em}

/* ── CONTACT ── */
.contact-wrap{display:grid;grid-template-columns:.85fr 1.15fr;gap:10vw}
.contact-copy h2{font-size:clamp(52px,7vw,105px);line-height:.9;letter-spacing:-.06em;margin:0 0 45px}
.contact-details{display:flex;flex-direction:column;gap:12px;font-size:19px}
.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:35px 24px}
.contact-form label{display:flex;flex-direction:column;gap:12px;font-size:11px;text-transform:uppercase;letter-spacing:.1em}
.contact-form label.full{grid-column:1/-1}
.contact-form input,.contact-form textarea,.contact-form select{border:0;border-bottom:1px solid #888;background:transparent;padding:13px 0;font:inherit;font-size:18px;border-radius:0;color:inherit}
.contact-form textarea{min-height:130px;resize:vertical}
.contact-form button{grid-column:1/-1;background:var(--orange);color:white;border:0;padding:22px;cursor:pointer;font-size:18px}
.contact-note{grid-column:1/-1;font-size:12px;opacity:.65}

/* ═══════════════════════════════════════
   RESPONSIVE — TABLET
   ═══════════════════════════════════════ */
@media(max-width:900px){
  .hero{cursor:auto}
  .hero-cursor{display:none}
  .intro-grid,.process-section,.services-head,.contact-wrap{grid-template-columns:1fr}
  .process-heading{position:relative;top:0}
  .process-list{padding-left:30px}
  .process-card{min-height:55vh}
  .floating-sticky h2{width:88vw}
  .testimonial-grid{grid-template-columns:1fr}
  .testimonial-grid blockquote+blockquote{border-left:0;border-top:1px solid rgba(0,0,0,.25);padding-left:0}
  .site-footer{grid-template-columns:1fr 1fr;gap:40px}
  .site-footer>p{grid-column:1/-1;justify-self:start;text-align:left}
  .menu-meta{display:none}
  .services-head{grid-template-columns:1fr}
  .service-expand{grid-template-columns:.8fr 1.2fr;padding-left:0;padding-right:0}
  .service-expand>a{grid-column:2}
  .site-header.is-scrolled{left:12px;width:calc(100% - 24px)}
}

/* ═══════════════════════════════════════
   RESPONSIVE — MOBILE
   ═══════════════════════════════════════ */
@media(max-width:680px){
  .section-pad{padding:90px 22px}
  .site-header{height:82px;grid-template-columns:1fr auto}
  .site-header .brand{width:82px;height:44px}
  .site-header.is-scrolled{top:8px;height:66px;padding-left:16px}
  .desktop-nav{display:none}
  .menu-button{width:50px;height:50px}
  .hero-content{min-height:100svh;grid-template-columns:1fr;align-content:end;gap:52px;padding:120px 22px 82px}
  .hero h1{font-size:16vw}
  .hero-copy{margin-top:24px}
  .hero-service-list{display:none}
  .scroll-cue{left:auto;right:22px;transform:none}
  .scroll-cue span{display:none}
  .intro-grid{gap:55px}
  .display-title{font-size:16vw}
  .section-top{align-items:flex-start;gap:50px;flex-direction:column}
  .section-top>span{display:none}
  .section-top h2,.services-head h2,.cta-section h2{font-size:16vw}
  .work-card,.work-card:nth-child(2){width:100%;margin:auto}
  .works-list{gap:110px}
  .work-info{grid-template-columns:30px 1fr 40px}
  .work-info p{display:none}
  .process-section{gap:70px}
  .process-heading h2{font-size:20vw}
  .process-card{grid-template-columns:1fr;gap:20px;padding:70px 0;min-height:auto;filter:blur(7px)}
  .process-card h3{font-size:11vw}
  .stat-slide strong{font-size:38vw}
  .stat-slide span{font-size:20px;margin-top:35px}
  .services-head{gap:40px}
  .services-head .letter-rise{font-size:11.5vw}
  .services-list .service-row>button{grid-template-columns:32px 1fr 38px;padding:20px 0}
  .services-list .service-row>button b{font-size:23px}
  .services-list .service-row>button i{width:36px;height:36px}
  .service-expand{grid-template-columns:1fr;gap:18px}
  .service-row.active .service-expand{max-height:650px;padding-bottom:28px}
  .service-expand>div{height:210px}
  .service-expand p{font-size:17px}
  .service-expand>a{grid-column:auto;justify-self:start}
  .floating-image{width:115px}
  .floating-sticky h2{font-size:8vw}
  .float-e{width:150px}
  .testimonial-grid blockquote{padding:50px 0}
  .reel-words{gap:10px}
  .reel-words h2{font-size:16vw}
  .reel-words button{width:58px;height:58px}
  .menu-overlay nav{width:82vw}
  .menu-overlay nav span{font-size:13vw}
  .menu-contact{left:9vw;right:auto;flex-direction:column}
  .menu-overlay{overflow:hidden}
  .portfolio-grid{grid-template-columns:1fr}
  .portfolio-item:nth-child(3n){grid-column:auto}
  .portfolio-item:nth-child(3n) img,.portfolio-item img{aspect-ratio:4/3}
  .contact-form{grid-template-columns:1fr}
  .contact-form label.full,.contact-form button,.contact-note{grid-column:auto}
  .subhero h1{font-size:19vw}
  .keep-scrolling{height:145vh}
  .keep-sticky p{font-size:18vw}
  .title-swipe>span{transform:translateX(-38px)}
  .title-swipe>span:nth-of-type(even),.title-swipe>span:last-child{transform:translateX(38px)}
  .letter-rise{font-size:14vw}
}

/* ── REDUCED MOTION ── */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}
  .reveal{opacity:1;transform:none}
}
