:root {
  --gold:#C9A84C; --gold-light:#E8C97A; --gold-dim:#8a6f30;
  --black:#080808; --card:#111; --card2:#161616;
  --border:#1e1e1e; --border2:#2a2a2a;
  --text:#ede8e0; --muted:#6e6860; --muted2:#9a9088;
}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{background:var(--black);color:var(--text);font-family:"DM Sans",sans-serif;font-weight:300;overflow-x:hidden;}

/* ─── NAV ─── */
nav{position:fixed;top:0;left:0;right:0;z-index:1000;padding:0 48px;height:72px;display:flex;align-items:center;justify-content:space-between;background:rgba(8,8,8,0.95);backdrop-filter:blur(20px);border-bottom:1px solid var(--border);}
.nav-logo-img{height:40px;width:auto;display:block;}
.nav-links{display:flex;align-items:center;gap:36px;}
.nav-links a{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--muted);text-decoration:none;transition:color 0.3s;cursor:pointer;}
.nav-links a:hover{color:var(--gold);}
.nav-cta{padding:10px 22px;border:1px solid var(--gold-dim);color:var(--gold)!important;font-size:10px!important;letter-spacing:2px;transition:all 0.3s!important;}
.nav-cta:hover{background:var(--gold);color:var(--black)!important;}

/* ─── HAMBURGER ─── */
.nav-hamburger{display:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:40px;height:40px;background:transparent;border:1px solid var(--border2);cursor:pointer;padding:8px;transition:border-color 0.3s;}
.nav-hamburger:hover{border-color:var(--gold-dim);}
.nav-hamburger span{display:block;width:18px;height:1px;background:var(--muted2);transition:all 0.3s;transform-origin:center;}
.nav-hamburger.open span:nth-child(1){transform:translateY(6px) rotate(45deg);background:var(--gold);}
.nav-hamburger.open span:nth-child(2){opacity:0;}
.nav-hamburger.open span:nth-child(3){transform:translateY(-6px) rotate(-45deg);background:var(--gold);}

/* ─── MOBILE NAV OVERLAY ─── */
.mobile-nav{position:fixed;top:60px;left:0;right:0;bottom:0;z-index:999;background:rgba(8,8,8,0.98);backdrop-filter:blur(20px);transform:translateX(100%);transition:transform 0.35s cubic-bezier(0.4,0,0.2,1);display:flex;flex-direction:column;justify-content:center;align-items:center;}
.mobile-nav.open{transform:translateX(0);}
.mobile-nav-inner{display:flex;flex-direction:column;align-items:center;gap:0;width:100%;}
.mobile-nav-inner a{font-family:"Bebas Neue",sans-serif;font-size:42px;letter-spacing:3px;color:var(--muted2);text-decoration:none;cursor:pointer;padding:16px 24px;transition:color 0.2s;width:100%;text-align:center;border-bottom:1px solid var(--border);}
.mobile-nav-inner a:first-child{border-top:1px solid var(--border);}
.mobile-nav-inner a:hover{color:var(--gold);}
.mobile-nav-cta{color:var(--gold)!important;background:rgba(201,168,76,0.06);}

/* ─── PAGES ─── */
.page{display:none;min-height:100vh;}
.page.active{display:block;}

/* ─── HOME HERO ─── */
.hero{display:flex;flex-direction:column;justify-content:flex-start;align-items:center;text-align:center;padding:108px 24px 80px;position:relative;overflow:hidden;}
.hero-bg{position:absolute;inset:0;background:radial-gradient(ellipse 70% 50% at 50% -10%,rgba(201,168,76,0.12) 0%,transparent 60%),var(--black);}
.hero-grid{position:absolute;inset:0;background-image:linear-gradient(var(--border) 1px,transparent 1px),linear-gradient(90deg,var(--border) 1px,transparent 1px);background-size:80px 80px;mask-image:radial-gradient(ellipse 90% 90% at 50% 50%,black 30%,transparent 100%);opacity:0.4;}
.hero-content{position:relative;z-index:2;text-align:center;width:100%;display:flex;flex-direction:column;align-items:center;}
.hero-logo{height:200px;width:auto;margin:0 auto 32px;position:relative;z-index:1;display:block;}
.hero-eyebrow{display:inline-flex;align-items:center;justify-content:center;gap:12px;font-size:10px;letter-spacing:5px;text-transform:uppercase;color:var(--gold);margin-bottom:28px;animation:fadeUp 0.8s 0.1s ease both;}
.hero-eyebrow::before,.hero-eyebrow::after{content:"";width:24px;height:1px;background:var(--gold-dim);}
.hero h1{font-family:"Bebas Neue",sans-serif;font-size:clamp(72px,13vw,160px);line-height:0.88;letter-spacing:3px;animation:fadeUp 0.8s 0.15s ease both;}
.hero h1 .gold{color:var(--gold);}
.hero h1 .outline{-webkit-text-stroke:1px rgba(255,255,255,0.15);color:transparent;}
.hero-sub{font-family:"Cormorant Garamond",serif;font-style:italic;font-size:clamp(17px,2.2vw,24px);color:var(--muted2);max-width:560px;margin:24px auto 44px;line-height:1.5;animation:fadeUp 0.8s 0.2s ease both;}
.hero-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;animation:fadeUp 0.8s 0.3s ease both;}
.btn-primary{padding:15px 38px;background:var(--gold);color:var(--black);font-size:11px;letter-spacing:3px;text-transform:uppercase;font-weight:500;text-decoration:none;transition:all 0.3s;border:none;cursor:pointer;display:inline-block;}
.btn-primary:hover{background:var(--gold-light);}
.btn-ghost{padding:15px 38px;border:1px solid var(--border2);color:var(--muted2);font-size:11px;letter-spacing:3px;text-transform:uppercase;text-decoration:none;transition:all 0.3s;cursor:pointer;display:inline-block;}
.btn-ghost:hover{border-color:var(--gold-dim);color:var(--gold);}
.hero-scroll{display:none;}
.hero-scroll span{font-size:9px;letter-spacing:4px;text-transform:uppercase;color:var(--muted);}
.scroll-bar{width:1px;height:44px;background:linear-gradient(to bottom,var(--gold),transparent);animation:scrollAnim 2s ease-in-out infinite;}
@keyframes scrollAnim{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform:scaleY(1);transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}
@keyframes fadeUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}

/* ─── SHOWCASE ─── */
.showcase-section{padding:110px 24px;background:linear-gradient(to bottom,var(--black),#0c0c0c,var(--black));}
.showcase-inner{max-width:1100px;margin:0 auto;text-align:center;}
.eyebrow-line{font-size:10px;letter-spacing:5px;text-transform:uppercase;color:var(--gold);margin-bottom:18px;display:flex;align-items:center;justify-content:center;gap:16px;}
.eyebrow-line::before,.eyebrow-line::after{content:"";width:32px;height:1px;background:var(--border2);}
.sec-title{font-family:"Cormorant Garamond",serif;font-weight:300;font-size:clamp(34px,5vw,60px);line-height:1.05;margin-bottom:16px;}
.sec-sub{font-size:15px;color:var(--muted2);line-height:1.7;max-width:520px;margin:0 auto 52px;}
.showcase-hero{display:grid;grid-template-columns:1.6fr 1fr;gap:40px;margin:52px 0 40px;text-align:left;align-items:center;}
.showcase-hero-frame{position:relative;padding-top:56.25%;background:var(--card);border:1px solid var(--border2);overflow:hidden;}
.showcase-hero-info{display:flex;flex-direction:column;gap:16px;}
.showcase-hero-type{font-size:10px;letter-spacing:4px;text-transform:uppercase;color:var(--gold);}
.showcase-hero-title{font-family:"Bebas Neue",sans-serif;font-size:42px;letter-spacing:1px;line-height:1;}
.showcase-hero-desc{font-size:14px;color:var(--muted2);line-height:1.7;}
.showcase-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--border);border:1px solid var(--border);}
.showcase-card{position:relative;aspect-ratio:16/10;overflow:hidden;cursor:pointer;}
.showcase-card-bg{position:absolute;inset:0;transition:transform 0.5s;}
.showcase-card:hover .showcase-card-bg{transform:scale(1.04);}
.showcase-card-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(8,8,8,0.95) 0%,transparent 55%);display:flex;flex-direction:column;justify-content:flex-end;padding:20px;opacity:0;transition:opacity 0.3s;}
.showcase-card:hover .showcase-card-overlay{opacity:1;}
.showcase-card-type{font-size:9px;letter-spacing:3px;text-transform:uppercase;color:var(--gold);margin-bottom:4px;}
.showcase-card-title{font-family:"Bebas Neue",sans-serif;font-size:20px;letter-spacing:1px;}
.showcase-card-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:28px;opacity:0.2;}

/* ─── PILLARS ─── */
.pillars-section{padding:100px 24px;max-width:1200px;margin:0 auto;}
.pillars-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:2px;background:var(--border);border:1px solid var(--border);margin-top:52px;}
.pillar-card{background:var(--card);padding:44px 32px;position:relative;overflow:hidden;transition:background 0.3s;}
.pillar-card:hover{background:var(--card2);}
.pillar-card::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(to right,var(--gold-dim),var(--gold),var(--gold-dim));transform:scaleX(0);transition:transform 0.4s;}
.pillar-card:hover::before{transform:scaleX(1);}
.pillar-num{font-family:"Bebas Neue",sans-serif;font-size:64px;color:var(--border2);line-height:1;margin-bottom:12px;}
.pillar-name{font-family:"Bebas Neue",sans-serif;font-size:26px;letter-spacing:1px;margin-bottom:10px;}
.pillar-desc{font-size:14px;color:var(--muted2);line-height:1.7;}

/* ─── PROOF ─── */
.proof-strip{padding:56px 24px;background:var(--card);border-top:1px solid var(--border);border-bottom:1px solid var(--border);text-align:center;}
.proof-strip p{font-family:"Cormorant Garamond",serif;font-style:italic;font-size:clamp(19px,3vw,30px);color:var(--muted2);max-width:780px;margin:0 auto;line-height:1.5;}
.proof-strip p strong{color:var(--gold);font-style:normal;font-weight:400;}

/* ─── NICHES ─── */
.niches-section{padding:100px 24px;max-width:1200px;margin:0 auto;}
.niches-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:0;background:var(--border);border:1px solid var(--border);margin-top:52px;}
.niche-item{background:var(--card);padding:28px 20px;text-align:center;transition:background 0.3s;border-right:1px solid var(--border);}
.niche-item:last-child{border-right:none;}
.niche-item:hover{background:var(--card2);}
.niche-icon{font-size:28px;margin-bottom:14px;display:block;}
.niche-name{font-family:"Bebas Neue",sans-serif;font-size:17px;letter-spacing:1px;color:var(--muted2);}

/* ─── HOME CTA ─── */
.home-cta{padding:130px 24px;text-align:center;background:radial-gradient(ellipse 60% 60% at 50% 100%,rgba(201,168,76,0.08) 0%,transparent 70%);}
.home-cta h2{font-family:"Bebas Neue",sans-serif;font-size:clamp(44px,9vw,108px);line-height:0.9;letter-spacing:2px;margin-bottom:20px;}
.home-cta h2 em{font-family:"Cormorant Garamond",serif;font-style:italic;color:var(--gold);display:block;font-size:0.6em;letter-spacing:6px;margin-bottom:6px;}
.home-cta p{font-size:15px;color:var(--muted2);max-width:420px;margin:0 auto 44px;line-height:1.7;}

/* ─── ABOUT ─── */
.about-hero{display:flex;align-items:flex-end;padding:108px 48px 48px;background:radial-gradient(ellipse 80% 60% at 0% 50%,rgba(201,168,76,0.06) 0%,transparent 60%),var(--black);border-bottom:1px solid var(--border);}
.about-hero-inner{max-width:1200px;margin:0 auto;width:100%;}
.page-tag{font-size:10px;letter-spacing:5px;text-transform:uppercase;color:var(--gold);margin-bottom:20px;}
.about-hero h1{font-family:"Bebas Neue",sans-serif;font-size:clamp(52px,10vw,128px);line-height:0.88;letter-spacing:2px;}
.about-hero h1 em{font-family:"Cormorant Garamond",serif;font-style:italic;color:var(--gold);}
.about-body{max-width:1200px;margin:0 auto;padding:90px 48px;display:grid;grid-template-columns:1fr 1fr;gap:72px;}
.about-photo{aspect-ratio:3/4;background:var(--card);border:1px solid var(--border);overflow:hidden;position:relative;}
.about-photo img{width:100%;height:100%;object-fit:cover;object-position:center top;}
.about-text{display:flex;flex-direction:column;justify-content:center;gap:28px;}
.about-text h2{font-family:"Cormorant Garamond",serif;font-size:clamp(30px,4vw,50px);font-weight:300;line-height:1.1;}
.about-text p{font-size:15px;color:var(--muted2);line-height:1.8;}
.about-text strong{color:var(--text);font-weight:400;}
.about-values{display:grid;grid-template-columns:1fr 1fr;gap:2px;background:var(--border);border:1px solid var(--border);}
.about-value{background:var(--card);padding:22px;}
.about-value-label{font-size:9px;letter-spacing:3px;text-transform:uppercase;color:var(--gold);margin-bottom:7px;}
.about-value-text{font-size:13px;color:var(--muted2);line-height:1.6;}

/* ─── PORTFOLIO ─── */
.portfolio-hero{display:flex;align-items:flex-end;padding:108px 48px 48px;background:radial-gradient(ellipse 60% 40% at 100% 50%,rgba(201,168,76,0.06) 0%,transparent 60%),var(--black);border-bottom:1px solid var(--border);}
.portfolio-hero-inner{max-width:1200px;margin:0 auto;width:100%;}
.port-filter{max-width:1200px;margin:0 auto;padding:40px 48px 0;display:flex;gap:8px;flex-wrap:wrap;}
.filter-btn{padding:9px 20px;border:1px solid var(--border);font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--muted);background:transparent;cursor:pointer;transition:all 0.3s;font-family:"DM Sans",sans-serif;}
.filter-btn:hover,.filter-btn.active{border-color:var(--gold-dim);color:var(--gold);}

.port-entries{max-width:1200px;margin:0 auto;padding:0 48px 90px;}

.port-entry{display:grid;gap:72px;align-items:center;padding:80px 0;border-bottom:1px solid var(--border);grid-template-columns:1.1fr 0.9fr;grid-template-areas:"video info";}
.port-entry:nth-child(even){grid-template-columns:0.9fr 1.1fr;grid-template-areas:"info video";}
.port-entry--vertical{align-items:start;grid-template-columns:320px 1fr;grid-template-areas:"video info";}
.port-entry--vertical:nth-child(even){grid-template-columns:1fr 320px;grid-template-areas:"info video";}
.port-entry-video{grid-area:video;position:relative;aspect-ratio:16/9;overflow:hidden;background:var(--card);}
.port-entry--vertical .port-entry-video{aspect-ratio:9/16;}
.port-entry-info{grid-area:info;}

.port-entry-type{font-size:10px;letter-spacing:4px;text-transform:uppercase;color:var(--gold);margin-bottom:16px;}
.port-entry-title{font-family:"Bebas Neue",sans-serif;font-size:clamp(26px,3.5vw,44px);letter-spacing:1px;line-height:1;margin-bottom:10px;}
.port-entry-client{font-size:11px;letter-spacing:3px;text-transform:uppercase;color:var(--muted);margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid var(--border);}
.port-entry-desc{font-size:14px;color:var(--muted2);line-height:1.85;}

.port-cta{padding:90px 24px;text-align:center;background:radial-gradient(ellipse 60% 60% at 50% 100%,rgba(201,168,76,0.07) 0%,transparent 70%);}
.port-cta p{font-family:"Cormorant Garamond",serif;font-style:italic;font-size:clamp(22px,3vw,36px);color:var(--muted2);margin-bottom:32px;}

/* ─── PRICING ─── */
.pricing-hero{display:flex;align-items:flex-end;padding:108px 48px 48px;background:radial-gradient(ellipse 60% 40% at 50% 0%,rgba(201,168,76,0.08) 0%,transparent 60%),var(--black);border-bottom:1px solid var(--border);text-align:center;}
.pricing-hero-inner{max-width:1200px;margin:0 auto;width:100%;}
.pricing-hero h1{font-family:"Bebas Neue",sans-serif;font-size:clamp(52px,10vw,128px);line-height:0.88;letter-spacing:2px;}
.pricing-note{font-family:"Cormorant Garamond",serif;font-style:italic;font-size:18px;color:var(--muted2);max-width:500px;margin:18px auto 0;line-height:1.5;}
.pricing-body{max-width:1200px;margin:0 auto;padding:90px 48px 0;}
.retainer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--border);border:1px solid var(--border);}
.r-card{background:var(--card);padding:44px 32px;position:relative;transition:background 0.3s;}
.r-card:hover{background:var(--card2);}
.r-card.featured{background:#14110a;}
.r-card.featured::before{content:"MOST POPULAR";position:absolute;top:-1px;left:32px;font-size:9px;letter-spacing:3px;background:var(--gold);color:var(--black);padding:5px 12px;font-weight:500;}
.card-tier{font-size:9px;letter-spacing:4px;text-transform:uppercase;color:var(--gold-dim);margin-bottom:18px;}
.card-name{font-family:"Bebas Neue",sans-serif;font-size:34px;letter-spacing:1px;margin-bottom:4px;}
.card-price-row{display:flex;align-items:baseline;gap:5px;margin-bottom:6px;}
.price-from{font-size:12px;color:var(--muted);letter-spacing:1px;margin-right:3px;}
.price-amount{font-family:"Cormorant Garamond",serif;font-size:52px;font-weight:300;color:var(--gold);line-height:1;}
.price-period{font-size:12px;color:var(--muted);}
.card-tagline{font-family:"Cormorant Garamond",serif;font-style:italic;font-size:14px;color:var(--muted);margin-bottom:28px;padding-bottom:28px;border-bottom:1px solid var(--border);}
.feat-list{list-style:none;display:flex;flex-direction:column;gap:12px;margin-bottom:36px;}
.feat-list li{display:flex;gap:12px;font-size:13px;line-height:1.5;color:var(--muted2);}
.feat-list li::before{content:"\2013";color:var(--gold);flex-shrink:0;}
.coming-tag{font-size:9px;letter-spacing:1px;color:var(--gold-dim);background:rgba(201,168,76,0.07);padding:2px 7px;margin-left:4px;}
.scope-note{margin-top:20px;padding:18px 26px;border:1px solid var(--border);border-left:3px solid var(--gold-dim);background:var(--card);}
.scope-note p{font-size:13px;color:var(--muted);line-height:1.6;font-style:italic;}
.oneoff-section{max-width:1200px;margin:0 auto;padding:80px 48px 90px;}
.oneoff-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;background:var(--border);border:1px solid var(--border);margin-top:44px;}
.oneoff-card{background:var(--card);padding:32px 28px;transition:background 0.3s;border-right:1px solid var(--border);}
.oneoff-card:last-child{border-right:none;}
.oneoff-card:hover{background:var(--card2);}
.oneoff-icon{font-size:26px;margin-bottom:18px;display:block;}
.oneoff-name{font-family:"Bebas Neue",sans-serif;font-size:22px;letter-spacing:1px;margin-bottom:7px;}
.oneoff-price{font-family:"Cormorant Garamond",serif;font-size:19px;color:var(--gold);margin-bottom:12px;}
.oneoff-desc{font-size:13px;color:var(--muted);line-height:1.6;}

/* ─── BOOKING ─── */
.booking-hero{display:flex;align-items:flex-end;padding:108px 48px 48px;background:radial-gradient(ellipse 50% 40% at 50% 0%,rgba(201,168,76,0.08) 0%,transparent 60%),var(--black);border-bottom:1px solid var(--border);text-align:center;}
.booking-hero-inner{max-width:1200px;margin:0 auto;width:100%;}
.booking-hero h1{font-family:"Bebas Neue",sans-serif;font-size:clamp(48px,8vw,100px);line-height:0.9;letter-spacing:2px;}
.booking-hero p{font-family:"Cormorant Garamond",serif;font-style:italic;font-size:19px;color:var(--muted2);max-width:520px;margin:18px auto 0;line-height:1.5;}
.booking-body{max-width:900px;margin:0 auto;padding:72px 48px 110px;}
.booking-options{display:grid;grid-template-columns:1fr 1fr;gap:2px;background:var(--border);border:1px solid var(--border);}
.booking-card{background:var(--card);padding:44px 36px;transition:background 0.3s;display:flex;flex-direction:column;}
.booking-card:hover{background:var(--card2);}
.booking-card-icon{font-size:36px;margin-bottom:20px;display:block;}
.booking-card-title{font-family:"Bebas Neue",sans-serif;font-size:28px;letter-spacing:1px;margin-bottom:10px;}
.booking-card-desc{font-size:14px;color:var(--muted2);line-height:1.7;margin-bottom:28px;flex:1;}
.booking-card-details{list-style:none;display:flex;flex-direction:column;gap:8px;margin-bottom:32px;margin-top:auto;}
.booking-card-details li{display:flex;gap:10px;font-size:13px;color:var(--muted2);}
.booking-card-details li::before{content:"\2013";color:var(--gold);flex-shrink:0;}
.booking-btn{display:block;padding:14px 24px;font-size:11px;letter-spacing:3px;text-transform:uppercase;text-decoration:none;border:1px solid var(--gold-dim);color:var(--gold);transition:all 0.3s;text-align:center;cursor:pointer;}
.booking-btn:hover,.booking-btn.primary{background:var(--gold);color:var(--black);border-color:var(--gold);}
.booking-btn.primary:hover{background:var(--gold-light);}

/* ─── SHARED ─── */
.divider{height:1px;background:linear-gradient(to right,transparent,var(--border2),transparent);}

footer{padding:52px 48px;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;background:var(--black);}
.footer-logo-img{height:30px;width:auto;opacity:0.6;display:block;}
.footer-links{display:flex;gap:28px;}
.footer-links a{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--muted);text-decoration:none;transition:color 0.3s;cursor:pointer;}
.footer-links a:hover{color:var(--gold);}
.footer-copy{font-size:12px;color:var(--muted);}

/* ─── CLICK-TO-PLAY THUMBNAILS ─── */
.yt-thumb{position:absolute;inset:0;cursor:pointer;overflow:hidden;}
.yt-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 0.4s;}
.yt-thumb:hover img{transform:scale(1.03);}
.yt-play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;}
.yt-play svg{width:56px;height:56px;fill:var(--black);background:var(--gold);border-radius:50%;padding:14px;transition:all 0.3s;box-shadow:0 4px 24px rgba(0,0,0,0.6);}
.yt-thumb:hover .yt-play svg{background:var(--gold-light);transform:scale(1.1);}

/* 16:9 iframe in a 16:9 container — fills perfectly */
.yt-thumb iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0;}

/* 16:9 iframe in a 9:16 container — scale up to cover, center horizontally */
.port-item.vertical .yt-thumb iframe{
  width:316%;
  height:100%;
  left:50%;
  top:0;
  transform:translateX(-50%);
}

/* ─── MOBILE ─── */
@media(max-width:768px){
  /* Nav */
  nav{padding:0 16px;height:60px;}
  .nav-logo-img{height:32px;}
  .nav-links{display:none;}
  .nav-hamburger{display:flex;}

  /* Mobile nav top offset matches 60px nav */
  .mobile-nav{top:60px;}

  /* Hero */
  .hero{padding:84px 20px 60px;min-height:unset;}
  .hero-logo{height:100px;margin-bottom:20px;}
  .hero-eyebrow{font-size:9px;letter-spacing:3px;margin-bottom:20px;}
  .hero h1{font-size:clamp(52px,15vw,80px);}
  .hero-sub{font-size:15px;margin:16px auto 28px;}
  .hero-actions{flex-direction:column;align-items:center;gap:10px;width:100%;max-width:320px;}
  .btn-primary,.btn-ghost{width:100%;text-align:center;padding:14px 24px;}
  .hero-scroll{display:none;}

  /* Showcase */
  .showcase-section{padding:60px 20px;}
  .showcase-hero{grid-template-columns:1fr;gap:24px;margin:32px 0 24px;}
  .showcase-hero-frame{padding-top:56.25%;}
  .showcase-hero-info{text-align:center;}
  .showcase-hero-title{font-size:32px;}
  .showcase-grid{display:none;}

  /* Pillars */
  .pillars-section{padding:60px 20px;}
  .pillars-grid{grid-template-columns:1fr;}
  .pillar-card{padding:32px 24px;}
  .pillar-num{font-size:48px;}

  /* Niches */
  .niches-section{padding:60px 20px;}
  .niches-grid{grid-template-columns:repeat(2,1fr);}
  .niche-item{border-right:1px solid var(--border);}
  .niche-item:nth-child(2n){border-right:none;}

  /* Home CTA */
  .home-cta{padding:80px 20px;}

  /* About */
  .about-hero{padding:84px 20px 32px;min-height:auto;}
  .about-body{grid-template-columns:1fr;padding:48px 20px;gap:36px;}
  .about-photo{max-height:400px;aspect-ratio:auto;}
  .about-values{grid-template-columns:1fr;}

  /* Portfolio */
  .portfolio-hero{padding:84px 20px 32px;}
  .port-filter{padding:24px 20px 0;gap:6px;}
  .filter-btn{padding:7px 14px;font-size:9px;}
  .port-entries{padding:0 20px 60px;}
  .port-entry{grid-template-columns:1fr;grid-template-areas:"video" "info";gap:28px;padding:48px 0;}
  .port-entry:nth-child(even){grid-template-columns:1fr;grid-template-areas:"video" "info";}
  .port-entry--vertical{grid-template-columns:1fr;grid-template-areas:"video" "info";}
  .port-entry--vertical:nth-child(even){grid-template-columns:1fr;grid-template-areas:"video" "info";}
  .port-entry-video{aspect-ratio:16/9;}
  .port-entry--vertical .port-entry-video{aspect-ratio:9/16;}
  .port-cta{padding:60px 20px;}

  /* Pricing */
  .pricing-hero{padding:84px 20px 32px;}
  .pricing-body{padding:48px 20px 0;}
  .retainer-grid{grid-template-columns:1fr;}
  .r-card{padding:32px 24px;}
  .price-amount{font-size:42px;}
  .oneoff-section{padding:48px 20px 72px;}
  .oneoff-grid{grid-template-columns:1fr;}
  .oneoff-card{border-right:none;border-bottom:1px solid var(--border);}

  /* Booking */
  .booking-hero{padding:84px 20px 32px;}
  .booking-body{padding:48px 20px 72px;}
  .booking-options{grid-template-columns:1fr;}
  .booking-card{padding:32px 24px;}

  /* Footer */
  footer{flex-direction:column;gap:20px;text-align:center;padding:36px 20px;}
  .footer-links{flex-wrap:wrap;justify-content:center;gap:16px;}
  .footer-logo-img{margin:0 auto;}
}

/* Small phones */
@media(max-width:400px){
  .hero-logo{height:80px;}
  .hero h1{font-size:clamp(48px,14vw,64px);}
  .hero-sub{font-size:14px;}
  .mobile-nav-inner a{font-size:34px;}
}