﻿/* =======================  TOKENS  ======================= */
:root{
  --amber:#F59E0B;
  --amber-bright:#FBBF24;
  --amber-deep:#B45309;
  --amber-soft:#FEF3C7;
  --cream:#FFF8E7;
  --paper:#FAFAF5;
  --ink:#0A0A0A;
  --charcoal:#1A1A1A;
  --slate:#4B5563;
  --muted:#8A8A86;
  --line:rgba(10,10,10,.10);
  --line-dim:rgba(10,10,10,.06);
  --maxw:1320px;
  --pad:clamp(20px,4vw,56px);
  --display:'Bricolage Grotesque', system-ui, -apple-system, sans-serif;
  --sans:'Manrope', system-ui, -apple-system, sans-serif;
}

/* =======================  RESET  ======================= */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-weight:400;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer;border:0;background:none;color:inherit}
::selection{background:var(--ink);color:var(--amber-bright)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* =======================  LAYOUT  ======================= */
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--pad);width:100%}
section{position:relative}

/* =======================  TYPOGRAPHY  ======================= */
.display{font-family:var(--display);font-weight:500;letter-spacing:-.025em;line-height:.96}
.eyebrow{font-family:var(--sans);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.18em;color:var(--amber-deep);display:inline-flex;align-items:center;gap:10px}
.eyebrow::before{content:"";width:24px;height:1px;background:var(--amber-deep)}
.lede{font-family:var(--display);font-weight:400;font-size:clamp(18px,2vw,22px);line-height:1.5;color:var(--charcoal)}

/* =======================  TOPBAR  ======================= */
.announce{background:var(--ink);color:var(--paper);font-size:12px;letter-spacing:.08em;text-transform:uppercase;padding:9px 0;overflow:hidden;border-bottom:1px solid rgba(255,255,255,.08)}
.announce .wrap{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}
.announce span{display:inline-flex;align-items:center;gap:8px;opacity:.85;font-weight:500}
.announce span::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--amber-bright)}
.announce a{color:var(--amber-bright);font-weight:600}
.social-links{display:inline-flex;align-items:center;gap:8px}
.social-links a{display:grid;place-items:center;width:28px;height:28px;border:1px solid rgba(255,255,255,.16);border-radius:50%;background:rgba(255,255,255,.06);color:var(--paper);transition:.2s}
.social-links a:hover{background:var(--amber);border-color:var(--amber);color:var(--ink);transform:translateY(-1px)}
.social-links svg{width:15px;height:15px;fill:currentColor}

/* =======================  NAVIGATION  ======================= */
.nav{position:sticky;top:0;background:rgba(250,250,245,.88);backdrop-filter:saturate(160%) blur(14px);-webkit-backdrop-filter:saturate(160%) blur(14px);z-index:80;border-bottom:1px solid var(--line-dim)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:5px 0}
.brand{display:flex;align-items:center;gap:14px;text-decoration:none}
.brand-logo{display:block;width:150px;height:auto}
@media(min-width:980px){.brand-logo{width:215px}}
.brand-mark{display:flex;align-items:baseline;gap:0;font-family:var(--display);font-weight:600;font-size:30px;line-height:1;letter-spacing:-.04em}
.brand-mark .co{color:var(--ink)}
.brand-mark .nn{
  background:linear-gradient(120deg,#F59E0B 0%, #FBBF24 45%, #F59E0B 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  font-weight:800;font-style:italic;letter-spacing:-.06em;padding:0 1px;
}
.brand-mark .ect{color:var(--ink)}
.brand-mark sup{font-family:var(--sans);font-size:10px;font-weight:800;letter-spacing:.15em;color:var(--amber-deep);margin-left:6px;align-self:flex-start;padding-top:4px}
.brand-tag{display:none;font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);border-left:1px solid var(--line);padding-left:14px;line-height:1.4}
@media(min-width:980px){.brand-tag{display:block}}

.menu{display:none;gap:6px;align-items:center}
@media(min-width:980px){.menu{display:flex}}
.menu > li{list-style:none;position:relative}
.menu a, .menu .menu-btn{display:flex;align-items:center;gap:6px;padding:10px 14px;font-size:14px;font-weight:600;color:var(--ink);border-radius:999px;transition:.18s;letter-spacing:-.005em}
.menu a:hover, .menu .menu-btn:hover{background:var(--ink);color:var(--paper)}
.menu .menu-btn::after{content:"";width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-1px);margin-left:2px;transition:.2s}
.menu li:hover .menu-btn::after,.menu li:focus-within .menu-btn::after{transform:rotate(225deg) translateY(-2px)}

.cta-nav{display:none}
@media(min-width:980px){.cta-nav{display:inline-flex;align-items:center;gap:8px;background:var(--amber-bright);color:var(--ink);padding:11px 18px 11px 20px;border-radius:999px;font-size:14px;font-weight:800;letter-spacing:-.005em;transition:.2s;box-shadow:0 12px 28px -22px rgba(10,10,10,.65)}}
.cta-nav:hover{background:var(--amber);color:var(--ink);transform:translateY(-1px);box-shadow:0 16px 34px -24px rgba(10,10,10,.75)}
.cta-nav .arr{display:inline-block;width:14px;height:14px;border-right:1.8px solid currentColor;border-top:1.8px solid currentColor;transform:rotate(45deg);margin-left:4px}

/* Megamenu */
.mega{position:absolute;top:calc(100% + 10px);left:50%;transform:translateX(-50%) translateY(8px);background:var(--paper);border:1px solid var(--line);border-radius:24px;padding:32px;width:min(880px,90vw);box-shadow:0 30px 70px -20px rgba(10,10,10,.25);opacity:0;visibility:hidden;transition:.22s;pointer-events:none}
.about-mega{width:260px;padding:22px 24px}
.services-mega{width:min(980px,92vw);padding:28px}
.portfolio-mega{width:240px;padding:22px;border-radius:18px}
.mega::before{content:"";position:absolute;left:0;right:0;top:-14px;height:14px}
.menu li:hover .mega,.menu li:focus-within .mega{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0);pointer-events:auto}
.mega-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.about-menu-grid{grid-template-columns:1fr}
.portfolio-menu-grid{grid-template-columns:1fr;width:220px}
.mega h4{margin:0 0 6px;font-family:var(--display);font-size:14px;font-weight:600;letter-spacing:-.01em;color:var(--ink)}
.services-menu-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:26px}
.services-menu-grid > div{min-width:0}
.services-menu-grid h4{font-size:15px;line-height:1.15;margin-bottom:10px}
.services-menu-grid h4 a{color:var(--ink);display:inline;padding:0;border-radius:0;background:transparent;transition:none;pointer-events:none;cursor:default}
.services-menu-grid h4 a:hover{color:var(--ink);background:transparent}
.services-menu-grid ul{margin-bottom:0}
.services-menu-grid ul a{font-size:13px;line-height:1.3;padding:4px 0}
.mega ul{margin:0 0 14px;padding:0 0 0 10px;list-style:none}
.mega ul a{padding:5px 0;font-size:13px;color:var(--slate);font-weight:500;border-radius:6px}
.mega ul a:hover{color:var(--amber-deep);background:none}

/* Hamburger */
.burger{display:flex;flex-direction:column;gap:5px;padding:10px;border-radius:14px;background:var(--ink);color:var(--paper)}
@media(min-width:980px){.burger{display:none}}
.burger span{display:block;width:18px;height:1.5px;background:currentColor;transition:.25s}
.burger.open span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.burger.open span:nth-child(2){opacity:0}
.burger.open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}

/* Mobile drawer */
.drawer{position:fixed;inset:0;background:var(--ink);color:var(--paper);z-index:120;transform:translateY(-100%);transition:.4s cubic-bezier(.7,0,.2,1);overflow-y:auto;padding:24px var(--pad) 60px}
.drawer.open{transform:translateY(0)}
.drawer-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:36px}
.drawer-close{font-size:14px;letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:var(--amber-bright)}
.drawer ul{list-style:none;margin:0;padding:0}
.drawer > .wrap > ul > li{border-bottom:1px solid rgba(255,255,255,.08)}
.drawer .drawer-link{display:flex;justify-content:space-between;align-items:center;padding:22px 0;font-family:var(--display);font-size:30px;font-weight:500;letter-spacing:-.02em;color:var(--paper);width:100%}
.drawer details summary{list-style:none;cursor:pointer}
.drawer details summary::-webkit-details-marker{display:none}
.drawer details[open] .drawer-link svg{transform:rotate(45deg)}
.drawer .drawer-link svg{transition:.3s;color:var(--amber-bright)}
.drawer .sub{padding:0 0 22px}
.drawer .sub li{padding:8px 0;font-size:14px;color:rgba(255,255,255,.7);font-weight:500;letter-spacing:.02em}
.drawer .drawer-cta{margin-top:36px;display:inline-flex;align-items:center;gap:10px;background:var(--amber);color:var(--ink);padding:16px 26px;border-radius:999px;font-weight:800;font-size:15px;letter-spacing:-.005em}

/* =======================  HERO  ======================= */
.hero{position:relative;background:var(--ink);color:var(--paper);overflow:hidden}
.hero-slider{isolation:isolate}
.hero-stage{position:relative;min-height:clamp(620px,calc(100vh - 128px),860px)}
.hero-slide{position:absolute;inset:0;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .9s cubic-bezier(.2,.7,.2,1),visibility .9s;overflow:hidden}
.hero-slide.active{opacity:1;visibility:visible;pointer-events:auto}
.hero-slide.leaving{opacity:0;visibility:visible}
.hero-bg{position:absolute;inset:-3%;pointer-events:none;background:#090909;background-size:cover;background-position:center;transform:scale(1.05);will-change:transform,filter}
.hero-bg::before{
  content:"";position:absolute;inset:0;opacity:.78;
  background:
    linear-gradient(90deg,rgba(5,5,5,.20) 0%,rgba(5,5,5,.20) 43%,rgba(5,5,5,.10) 74%,rgba(5,5,5,.22) 100%),
    
}
.hero-bg::after{
  content:"";position:absolute;inset:0;opacity:.46;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml;utf8,<svg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'><filter id='n'><feTurbulence baseFrequency='.85' numOctaves='2' seed='5'/><feColorMatrix values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 .18 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
}
.hero-slide.active .hero-bg{animation:heroPhotoIn 6.2s cubic-bezier(.2,.7,.2,1) both}
.hero-slider.slide-next .hero-slide.active .hero-bg{animation-name:heroPhotoNext}
.hero-slider.slide-prev .hero-slide.active .hero-bg{animation-name:heroPhotoPrev}
.hero-slide.leaving .hero-bg{animation:heroPhotoOut .9s cubic-bezier(.55,0,.1,1) both}
@keyframes heroPhotoIn{from{transform:scale(1.12);filter:saturate(.86) brightness(.86)}to{transform:scale(1.05);filter:saturate(1) brightness(1)}}
@keyframes heroPhotoNext{from{transform:scale(1.14) translateX(3%);filter:saturate(.86) brightness(.84)}to{transform:scale(1.05) translateX(0);filter:saturate(1) brightness(1)}}
@keyframes heroPhotoPrev{from{transform:scale(1.14) translateX(-3%);filter:saturate(.86) brightness(.84)}to{transform:scale(1.05) translateX(0);filter:saturate(1) brightness(1)}}
@keyframes heroPhotoOut{from{transform:scale(1.05);filter:brightness(1)}to{transform:scale(1.02);filter:brightness(.72)}}
.hero-bg-live-events{background-image:url("client-images/sbm-audio-visual/hero/sbm-hero-01.jpg");background-position:center}
.hero-bg-talk-shows{background-image:url("client-images/sbm-audio-visual/hero/sbm-hero-02.jpg");background-position:center}
.hero-bg-media{background-image:url("client-images/sbm-audio-visual/hero/sbm-hero-03.jpg");background-position:center}
.hero-bg-knowledge{background-image:url("client-images/sbm-audio-visual/hero/sbm-hero-04.jpg");background-position:center}
.hero-bg-panels{background-image:url("client-images/sbm-audio-visual/hero/sbm-hero-05.jpg");background-position:center}
.hero-layout{position:relative;z-index:2;height:100%;min-height:inherit;display:flex;align-items:flex-end;min-width:0;padding-top:clamp(68px,7vw,106px);padding-bottom:clamp(108px,10vw,150px)}
.hero-copy{position:relative;z-index:3;width:min(460px,45vw);min-width:0;max-width:100%;padding:10px 15px;border-left:3px solid var(--amber-bright);background:linear-gradient(90deg,rgba(5,5,5,.52),rgba(5,5,5,.18));box-shadow:0 24px 70px -48px rgba(0,0,0,.95);backdrop-filter:blur(12px);animation:heroCopyIn .8s cubic-bezier(.2,.7,.2,1) both}
.hero-slide.active .hero-copy{animation-name:heroCopyIn}
.hero-slider.slide-prev .hero-slide.active .hero-copy{animation-name:heroCopyInPrev}
@keyframes heroCopyIn{from{opacity:0;transform:translateX(28px) translateY(16px)}to{opacity:1;transform:none}}
@keyframes heroCopyInPrev{from{opacity:0;transform:translateX(-28px) translateY(16px)}to{opacity:1;transform:none}}
.hero-blurb{max-width:520px;font-family:var(--display);font-size:clamp(18px,1vw,22px);font-weight:400;letter-spacing:-.02em;color:rgba(255,255,255,.9);line-height:1.18;margin:0;text-wrap:balance}

.hero-controls{position:absolute;left:50%;bottom:48px;z-index:6;display:flex;align-items:center;justify-content:flex-end;gap:14px;width:100%;max-width:var(--maxw);transform:translateX(-50%);pointer-events:none}
.hero-controls > *{pointer-events:auto}
.hero-arrow{width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.07);backdrop-filter:blur(12px);position:relative;transition:.2s}
.hero-arrow::before{content:"";position:absolute;left:17px;top:15px;width:12px;height:12px;border-left:2px solid var(--paper);border-bottom:2px solid var(--paper);transform:rotate(45deg)}
.hero-arrow.next::before{left:14px;transform:rotate(225deg)}
.hero-arrow:hover{background:var(--amber);border-color:var(--amber)}
.hero-arrow:hover::before{border-color:var(--ink)}
.hero-dots{display:flex;align-items:center;gap:8px;padding:10px;border:1px solid rgba(255,255,255,.13);border-radius:999px;background:rgba(255,255,255,.06);backdrop-filter:blur(12px)}
.hero-dot{width:34px;height:6px;border-radius:999px;background:rgba(255,255,255,.25);transition:.25s;overflow:hidden;position:relative}
.hero-dot::after{content:"";position:absolute;inset:0;background:var(--amber-bright);transform:scaleX(0);transform-origin:left}
.hero-dot.active{width:54px;background:rgba(255,255,255,.22)}
.hero-dot.active::after{animation:heroDotFill 6.2s linear both}
@keyframes heroDotFill{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.hero-count{display:flex;align-items:center;gap:7px;color:rgba(255,255,255,.62);font-size:12px;font-weight:800;letter-spacing:.14em}

.scroll-cue{position:absolute;left:var(--pad);bottom:24px;display:flex;align-items:center;gap:10px;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.5);font-weight:600;z-index:2}
.scroll-cue .line{width:32px;height:1px;background:rgba(255,255,255,.4);position:relative;overflow:hidden}
.scroll-cue .line::after{content:"";position:absolute;inset:0;background:var(--amber-bright);transform:translateX(-100%);animation:cue 2.2s ease-in-out infinite}
@keyframes cue{0%{transform:translateX(-100%)}55%{transform:translateX(0)}100%{transform:translateX(100%)}}

/* =======================  MARQUEE  ======================= */
.marq{background:var(--amber);color:var(--ink);border-top:1px solid var(--amber-deep);border-bottom:1px solid var(--amber-deep);overflow:hidden;padding:10px 0;position:relative}
.marq-track{display:flex;gap:50px;white-space:nowrap;animation:marq 38s linear infinite;will-change:transform}
.marq-track span{font-family:var(--display);font-weight:500;font-size:clamp(22px,3vw,30px);letter-spacing:-.015em;display:inline-flex;align-items:center;gap:50px}
.marq-track span::after{content:"\2726";font-style:normal;font-size:.7em;color:var(--ink);opacity:.4}
@keyframes marq{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* =======================  COMMON SECTION  ======================= */
.sec{padding:clamp(80px,9vw,140px) 0}
.sec-head{display:grid;grid-template-columns:1fr;gap:18px;margin-bottom:clamp(40px,5vw,72px)}
@media(min-width:820px){.sec-head{grid-template-columns:max-content 1fr;gap:60px;align-items:end}}
.sec-head h2{font-family:var(--display);font-weight:500;font-size:clamp(38px,5.6vw,68px);line-height:.98;letter-spacing:-.035em;margin:0}
.sec-head h2 em{color:var(--amber-deep);font-weight:400}
.sec-head .right{max-width:480px;color:var(--slate);font-size:15px;line-height:1.65;margin-bottom:6px}

/* =======================  ABOUT  ======================= */
.about{background:var(--paper)}
.about-grid{display:grid;grid-template-columns:1fr;gap:60px;align-items:start}
@media(min-width:980px){.about-grid{grid-template-columns:1.15fr 1fr;gap:90px}}
.about-prose p{margin:0 0 18px;font-size:16px;line-height:1.7;color:var(--charcoal)}
.about-prose p:first-of-type{font-family:var(--display);font-size:clamp(20px,1.9vw,24px);line-height:1.5;color:var(--ink);font-weight:400}
.about-prose strong{font-weight:700;color:var(--ink)}
.about-prose .amber{color:var(--amber-deep);font-weight:600;font-family:var(--display)}

.about-people{background:var(--paper)}
.management-section{background:var(--cream)}
.people-grid{display:grid;grid-template-columns:1fr;gap:16px}
@media(min-width:720px){.people-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1120px){.board-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.people-card{background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:16px 16px 22px;display:flex;flex-direction:column;transition:.28s;min-width:0}
.people-card:hover{background:var(--cream);border-color:var(--amber);transform:translateY(-3px)}
.person-photo{aspect-ratio:1/1;border-radius:14px;background:linear-gradient(145deg,#1b1b1b,#3a3324);display:flex;align-items:center;justify-content:center;overflow:hidden;margin-bottom:20px}
.person-photo img{width:100%;height:100%;object-fit:cover;display:block}
.person-photo span{font-family:var(--display);font-size:clamp(34px,4vw,56px);line-height:1;color:var(--amber-bright);letter-spacing:-.04em}
.people-card h3{font-family:var(--display);font-size:clamp(23px,2vw,29px);line-height:1.05;letter-spacing:-.025em;font-weight:500;margin:0 0 8px;color:var(--ink);overflow-wrap:anywhere}
.people-role{margin:0 0 12px;color:var(--amber-deep);font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:800;line-height:1.35}
.people-summary{margin:0;color:var(--slate);font-size:14px;line-height:1.55}
.people-highlights{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:8px;color:var(--slate);font-size:13px;line-height:1.45}
.people-highlights li{position:relative;padding-left:14px}
.people-highlights li::before{content:"";position:absolute;left:0;top:.68em;width:5px;height:5px;border-radius:50%;background:var(--amber-deep)}
.people-card p:last-child{margin:0;color:var(--slate);font-size:14px;line-height:1.55}
.management-grid{grid-template-columns:1fr}
@media(min-width:720px){.management-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1080px){.management-grid{grid-template-columns:repeat(3,1fr)}}
.management-section .people-card:hover{background:#fff}

.pillars{display:grid;grid-template-columns:1fr;gap:1px;background:var(--ink);border-radius:24px;overflow:hidden;border:1px solid var(--ink)}
.pillar{background:var(--paper);padding:30px 26px;position:relative;transition:.3s}
.pillar:hover{background:var(--cream)}
.pillar-num{font-family:var(--display);font-size:13px;font-weight:600;color:var(--amber-deep);letter-spacing:.05em;margin-bottom:18px;display:flex;align-items:center;gap:10px}
.pillar-num::after{content:"";flex:1;height:1px;background:var(--line)}
.pillar h3{font-family:var(--display);font-weight:500;font-size:34px;letter-spacing:-.02em;margin:0 0 10px}
.pillar p{margin:0;font-size:14px;color:var(--slate);line-height:1.6}
@media(min-width:560px){.pillars{grid-template-columns:repeat(3,1fr)}}

/* =======================  FOUNDER  ======================= */
.founder{background:var(--ink);color:var(--paper);position:relative;overflow:hidden}
.founder::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(800px 500px at 90% 10%, rgba(245,158,11,.18), transparent 60%);
}
.founder .sec-head h2{color:var(--paper)}
.founder .sec-head .right{color:rgba(255,255,255,.6)}
.founder-grid{display:grid;grid-template-columns:1fr;gap:50px;align-items:start;position:relative;z-index:2}
@media(min-width:900px){.founder-grid{grid-template-columns:380px 1fr;gap:80px}}
.cofounder-grid{margin-top:clamp(54px,7vw,90px);padding-top:clamp(54px,7vw,90px);border-top:1px solid rgba(255,255,255,.1)}
.founder-card{background:linear-gradient(155deg,#1d1d1d 0%,#0e0e0e 100%);border:1px solid rgba(255,255,255,.08);border-radius:28px;padding:32px;position:relative;overflow:hidden}
.founder-card::after{
  content:"";position:absolute;top:-2px;left:-2px;right:-2px;height:3px;
  background:linear-gradient(90deg,transparent,var(--amber-bright),transparent);
}
.founder-portrait{aspect-ratio:1/1.05;border-radius:18px;background:
  radial-gradient(circle at 30% 20%, rgba(245,158,11,.25), transparent 60%),
  linear-gradient(160deg,#2a2a2a,#0f0f0f);display:flex;align-items:flex-end;justify-content:center;padding:20px;border:1px solid rgba(255,255,255,.08);position:relative;overflow:hidden;margin-bottom:24px}
.founder-portrait img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.founder-portrait svg{width:100%;height:auto;max-width:200px;opacity:.95}
.founder-portrait .tag{position:absolute;top:14px;left:14px;z-index:2;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--amber-bright);background:rgba(0,0,0,.5);padding:6px 10px;border-radius:999px;border:1px solid rgba(245,158,11,.4);backdrop-filter:blur(6px);font-weight:700}
.founder-card h3{font-family:var(--display);font-weight:500;font-size:30px;letter-spacing:-.02em;margin:0 0 4px}
.founder-card .role{font-size:13px;color:var(--amber-bright);letter-spacing:.08em;text-transform:uppercase;font-weight:700}
.founder-card .pills{display:flex;flex-wrap:wrap;gap:6px;margin-top:18px}
.founder-card .pills span{font-size:11px;letter-spacing:.06em;text-transform:uppercase;font-weight:700;padding:6px 10px;border:1px solid rgba(255,255,255,.14);border-radius:999px;color:rgba(255,255,255,.7)}

.founder-bio p{font-size:16px;line-height:1.75;color:rgba(255,255,255,.78);margin:0 0 18px}
.founder-bio p:first-child{font-family:var(--display);font-size:clamp(22px,2.4vw,28px);line-height:1.45;color:var(--paper);font-weight:400}
.founder-bio strong{color:var(--paper);font-weight:600}
.founder-bio .gold{color:var(--amber-bright);font-weight:600}
.founder-recognition{margin:26px 0 0;padding:18px 20px;border:1px solid rgba(251,191,36,.7);border-left:4px solid var(--amber-bright);border-radius:14px;background:linear-gradient(135deg,rgba(245,158,11,.22),rgba(245,158,11,.08));box-shadow:0 10px 30px rgba(0,0,0,.16)}
.founder-recognition span{display:block;color:var(--amber-bright);font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.founder-recognition p{margin:6px 0 0;color:var(--paper);font-size:16px;line-height:1.65}
.founder-profile-details{margin-top:30px;padding-top:28px;border-top:1px solid rgba(255,255,255,.1)}
.founder-profile-details h4{margin:0 0 16px;color:var(--amber-bright);font-family:var(--display);font-size:21px;font-weight:500;letter-spacing:-.01em}
.founder-profile-details ul{display:grid;gap:12px;margin:0;padding:0;list-style:none}
.founder-profile-details li{position:relative;padding-left:17px;color:rgba(255,255,255,.7);font-size:14px;line-height:1.7}
.founder-profile-details li::before{content:"";position:absolute;top:.72em;left:0;width:6px;height:6px;border-radius:50%;background:var(--amber-bright)}

.credentials{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:36px;padding-top:36px;border-top:1px solid rgba(255,255,255,.1)}
@media(min-width:640px){.credentials{grid-template-columns:repeat(4,1fr)}}
.founder-card .founder-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 14px;margin-top:24px;padding-top:24px}
.cred{}
.cred strong{display:block;font-family:var(--display);font-weight:500;font-size:30px;letter-spacing:-.02em;color:var(--amber-bright);line-height:1}
.cred span{display:block;margin-top:10px;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.55);font-weight:600}

/* =======================  SERVICES  ======================= */
.services{background:var(--paper)}
.svc-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:32px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.svc-tab{padding:10px 16px;font-size:13px;font-weight:700;letter-spacing:-.005em;border-radius:999px;color:var(--slate);background:transparent;border:1px solid var(--line);transition:.2s;white-space:nowrap}
.svc-tab:hover{color:var(--ink);border-color:var(--ink)}
.svc-tab.active{background:var(--ink);color:var(--paper);border-color:var(--ink)}

.svc-panels{position:relative}
.svc-panel{display:none}
.svc-panel.active{display:block;animation:fade .35s ease}
@keyframes fade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}

.svc-head{display:grid;grid-template-columns:1fr;gap:24px;align-items:end;margin-bottom:36px;padding-bottom:30px;border-bottom:1px solid var(--line)}
@media(min-width:860px){.svc-head{grid-template-columns:1fr 1fr;gap:60px}}
.svc-head h3{font-family:var(--display);font-weight:500;font-size:clamp(32px,4.2vw,56px);line-height:.98;letter-spacing:-.03em;margin:0}
.svc-head h3 em{color:var(--amber-deep);font-weight:400}
.svc-head .desc{font-size:15px;color:var(--slate);line-height:1.65;max-width:480px;justify-self:end}

.svc-groups{display:grid;grid-template-columns:1fr;gap:1px;background:var(--line)}
@media(min-width:720px){.svc-groups{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1100px){.svc-groups{grid-template-columns:repeat(3,1fr)}}
.svc-group{background:var(--paper);padding:30px 28px;transition:.3s}
.svc-group:hover{background:var(--cream)}
.svc-group h4{font-family:var(--display);font-weight:500;font-size:22px;letter-spacing:-.015em;margin:0 0 18px;display:flex;align-items:center;gap:12px}
.svc-group h4::before{content:"";width:8px;height:8px;background:var(--amber);border-radius:2px;transform:rotate(45deg)}
.svc-group ul{list-style:none;margin:0;padding:0}
.svc-group li{padding:9px 0;font-size:14px;color:var(--charcoal);font-weight:500;border-top:1px solid var(--line-dim);line-height:1.4}
.svc-group li:first-child{border-top:0}

/* =======================  PORTFOLIO  ======================= */
.work{background:var(--ink);color:var(--paper)}
.work .sec-head h2{color:var(--paper)}
.work .sec-head .right{color:rgba(255,255,255,.6)}
.work-grid{display:grid;grid-template-columns:1fr;gap:18px}
@media(min-width:720px){.work-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1100px){.work-grid{grid-template-columns:repeat(3,1fr)}}
.work-card{background:linear-gradient(155deg,#191919,#0a0a0a);border:1px solid rgba(255,255,255,.08);border-radius:22px;padding:26px;cursor:pointer;transition:.3s;position:relative;overflow:hidden;min-height:280px;display:flex;flex-direction:column;justify-content:space-between}
.work-card:hover{border-color:var(--amber);transform:translateY(-4px)}
.work-card::before{
  content:"";position:absolute;inset:0;opacity:0;transition:.3s;pointer-events:none;
  background:radial-gradient(400px 300px at 70% 0%, rgba(245,158,11,.18), transparent 60%);
}
.work-card:hover::before{opacity:1}
.work-tag{display:inline-flex;align-items:center;gap:6px;font-size:11px;letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:var(--amber-bright);position:relative;z-index:2}
.work-tag::before{content:"";width:5px;height:5px;background:var(--amber-bright);border-radius:50%}
.work-card h4{font-family:var(--display);font-weight:500;font-size:26px;letter-spacing:-.02em;margin:24px 0 10px;line-height:1.1;position:relative;z-index:2}
.work-card p{font-size:13px;color:rgba(255,255,255,.55);margin:0 0 24px;line-height:1.55;position:relative;z-index:2}
.work-card .meta{display:flex;justify-content:space-between;align-items:center;padding-top:16px;border-top:1px solid rgba(255,255,255,.08);font-size:12px;color:rgba(255,255,255,.5);letter-spacing:.05em;text-transform:uppercase;font-weight:600;position:relative;z-index:2}
.work-card .meta .arr{width:14px;height:14px;border-right:1.5px solid var(--amber-bright);border-top:1.5px solid var(--amber-bright);transform:rotate(45deg);transition:.25s}
.work-card:hover .meta .arr{transform:rotate(45deg) translate(2px,-2px)}
.home-work-tabs{margin:-8px 0 28px}
.work .home-work-tabs{border-bottom-color:rgba(255,255,255,.1)}
.work .home-work-tabs .chip{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.12);color:rgba(255,255,255,.74)}
.work .home-work-tabs .chip:hover{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.24);color:var(--paper)}
.work .home-work-tabs .chip.active{background:var(--amber);border-color:var(--amber);color:var(--ink)}
.home-work-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;grid-auto-flow:dense;align-items:stretch}
.home-work-item{width:100%;min-width:0;max-width:100%;min-height:260px;border-radius:16px}
.home-work-feature{min-height:360px}
.home-work-grid .video-card h3,.home-work-grid .image-tile h3{font-size:clamp(22px,2.1vw,24px)}
.home-work-grid .video-card > div{left:20px;right:20px;bottom:20px}
.home-work-grid .image-tile span{left:18px;right:18px;bottom:18px}
.home-work-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin-top:32px}
.work .btn-ghost{padding:14px 22px}
@media(min-width:760px){
  .home-work-grid{grid-template-columns:repeat(4,1fr);gap:16px}
  .home-work-feature{grid-column:span 2;grid-row:span 2;min-height:540px}
  .home-work-grid .video-card:not(.home-work-feature){grid-column:span 2;min-height:260px}
  .home-work-grid .image-tile{min-height:260px}
  .home-work-grid .image-tile.wide{grid-column:span 2}
}
@media(min-width:1120px){
  .home-work-grid{grid-template-columns:repeat(8,1fr);gap:18px}
  .home-work-feature{grid-column:span 4}
  .home-work-grid .video-card:not(.home-work-feature){grid-column:span 2}
  .home-work-grid .image-tile{grid-column:span 2}
  .home-work-grid .image-tile.wide{grid-column:span 2}
  .home-work-grid .image-tile.tall{grid-row:span 2;min-height:540px}
}
@media(max-width:620px){
  .home-work-tabs{margin-top:0}
  .home-work-grid{grid-template-columns:minmax(0,1fr);grid-auto-flow:row}
  .home-work-item,.home-work-feature,.home-work-grid .image-tile.tall{min-height:280px;grid-column:auto;grid-row:auto}
  .home-work-grid .video-card h3{font-size:clamp(22px,7vw,26px);line-height:1.08;overflow-wrap:break-word}
  .home-work-grid .video-card > div{left:18px;right:18px;bottom:18px}
  .home-work-grid .video-card .play{width:48px;height:48px;right:14px;top:14px}
  .home-work-grid .video-card .play::before{left:19px;top:15px;border-left-width:14px;border-top-width:9px;border-bottom-width:9px}
  .home-work-actions .btn-ghost{width:100%;justify-content:center}
}

/* =======================  REACH  ======================= */
.reach{background:var(--cream)}
.reach-grid{display:grid;grid-template-columns:1fr;gap:60px;align-items:center}
@media(min-width:900px){.reach-grid{grid-template-columns:1fr 1fr;gap:80px}}
.reach h2{font-family:var(--display);font-weight:500;font-size:clamp(40px,5.6vw,82px);line-height:.98;letter-spacing:-.035em;margin:0 0 24px}
.reach h2 em{color:var(--amber-deep);font-weight:400}
.reach p{font-size:16px;color:var(--charcoal);line-height:1.7;max-width:520px}
.geos{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.geo{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:24px;transition:.3s;cursor:default}
.geo:hover{background:var(--ink);color:var(--paper);transform:translateY(-3px);border-color:var(--ink)}
.geo:hover .geo-meta{color:rgba(255,255,255,.5)}
.geo:hover .geo-meta b{color:var(--amber-bright)}
.geo h4{font-family:var(--display);font-weight:500;font-size:30px;letter-spacing:-.02em;margin:0 0 6px;}
.geo-meta{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:600;transition:.3s}
.geo-meta b{color:var(--amber-deep);font-weight:700;margin-right:4px;transition:.3s}

/* =======================  TESTIMONIALS  ======================= */
.testimonials{background:var(--paper);overflow:hidden}
.testimonial-shell{border:1px solid var(--line);border-radius:24px;background:var(--paper);padding:clamp(22px,3vw,34px);box-shadow:0 24px 70px -58px rgba(10,10,10,.45)}
.testimonial-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:26px}
.testimonial-controls{display:flex;align-items:center;gap:10px}
.testimonial-arrow{width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:var(--paper);position:relative;transition:.2s}
.testimonial-arrow::before{content:"";position:absolute;left:17px;top:15px;width:12px;height:12px;border-left:2px solid var(--ink);border-bottom:2px solid var(--ink);transform:rotate(45deg)}
.testimonial-arrow.next::before{left:14px;transform:rotate(225deg)}
.testimonial-arrow:hover{background:var(--ink);border-color:var(--ink);transform:translateY(-2px)}
.testimonial-arrow:hover::before{border-color:var(--paper)}
.testimonial-viewport{overflow:hidden}
.testimonial-track{--testimonial-gap:18px;--testimonial-visible:3;display:flex;gap:var(--testimonial-gap);transition:transform .65s cubic-bezier(.2,.7,.2,1);will-change:transform}
.testimonial-card{flex:0 0 calc((100% - (var(--testimonial-gap) * (var(--testimonial-visible) - 1))) / var(--testimonial-visible));min-height:300px;background:var(--cream);border:1px solid var(--line);border-radius:18px;padding:28px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}
.testimonial-card::before{content:"";position:absolute;right:24px;top:12px;width:54px;height:54px;border-radius:50%;background:rgba(245,158,11,.16)}
.testimonial-card::after{content:"\201D";position:absolute;right:34px;top:-4px;font-family:var(--display);font-size:76px;line-height:1;color:rgba(180,83,9,.28)}
.testimonial-rating{position:relative;z-index:2;color:var(--amber-deep);font-size:13px;letter-spacing:.16em;margin-bottom:24px}
.testimonial-card p{position:relative;z-index:2;margin:0;color:var(--charcoal);font-size:15px;line-height:1.72}
.testimonial-author{position:relative;z-index:2;margin-top:28px;padding-top:20px;border-top:1px solid var(--line)}
.testimonial-author strong{display:block;font-family:var(--display);font-weight:500;font-size:22px;letter-spacing:-.015em;color:var(--ink);line-height:1.1}
.testimonial-author span{display:block;margin-top:7px;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:700;line-height:1.45}
.testimonial-dots{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:24px}
.testimonial-dot{width:28px;height:6px;border-radius:999px;background:rgba(10,10,10,.14);transition:.25s}
.testimonial-dot.active{width:48px;background:var(--amber)}
@media(max-width:980px){
  .testimonial-track{--testimonial-visible:2}
}
@media(max-width:640px){
  .testimonial-shell{padding:20px;border-radius:20px}
  .testimonial-top{align-items:flex-start;margin-bottom:20px}
  .testimonial-controls{gap:8px}
  .testimonial-arrow{width:38px;height:38px;flex:0 0 38px}
  .testimonial-arrow::before{left:15px;top:13px}
  .testimonial-arrow.next::before{left:12px}
  .testimonial-track{--testimonial-visible:1;--testimonial-gap:14px}
  .testimonial-card{min-height:320px;padding:24px}
}

/* =======================  CTA  ======================= */
.cta{background:var(--ink);color:var(--paper);position:relative;overflow:hidden}
.cta::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(600px 400px at 20% 30%, rgba(245,158,11,.22), transparent 60%),
    radial-gradient(700px 500px at 90% 90%, rgba(180,83,9,.2), transparent 60%);
}
.cta-inner{position:relative;z-index:2;padding:clamp(80px,10vw,140px) 0;text-align:center}
.cta h2{font-family:var(--display);font-weight:400;font-size:clamp(42px,6vw,90px);line-height:.95;letter-spacing:-.04em;margin:0 0 36px}
.cta h2 em{color:var(--amber-bright);font-weight:400}
.cta-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-bottom:60px}
.btn-primary{display:inline-flex;align-items:center;gap:10px;padding:18px 30px;background:var(--amber);color:var(--ink);border-radius:999px;font-weight:800;font-size:15px;letter-spacing:-.005em;transition:.25s}
.btn-primary:hover{background:var(--amber-bright);transform:translateY(-2px);box-shadow:0 14px 30px -8px rgba(245,158,11,.5)}
.btn-ghost{display:inline-flex;align-items:center;gap:10px;padding:18px 30px;background:transparent;color:var(--paper);border:1px solid rgba(255,255,255,.2);border-radius:999px;font-weight:700;font-size:15px;letter-spacing:-.005em;transition:.25s}
.btn-ghost:hover{background:var(--paper);color:var(--ink);border-color:var(--paper)}
.cta-contacts{display:grid;grid-template-columns:1fr;gap:20px;max-width:760px;margin:0 auto;padding-top:46px;border-top:1px solid rgba(255,255,255,.1)}
@media(min-width:680px){.cta-contacts{grid-template-columns:repeat(3,1fr)}}
.contact-block{text-align:left}
.contact-block .label{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--amber-bright);font-weight:700;margin-bottom:8px}
.contact-block strong{display:block;font-family:var(--display);font-size:19px;font-weight:500;letter-spacing:-.015em;color:var(--paper)}
.contact-block a{display:block;margin-top:6px;color:rgba(255,255,255,.6);font-size:14px;font-weight:500}
.contact-block a:hover{color:var(--amber-bright)}

/* =======================  FOOTER  ======================= */
.foot{background:#050505;color:rgba(255,255,255,.55);padding:64px 0 28px;border-top:1px solid rgba(255,255,255,.08)}
.foot-top{display:grid;grid-template-columns:1fr;gap:46px;margin-bottom:50px;padding-bottom:46px;border-bottom:1px solid rgba(255,255,255,.08)}
@media(min-width:780px){.foot-top{grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px}}
.drawer-logo{display:block;width:170px;height:auto}
.foot-logo{display:block;width:180px;max-width:100%;height:auto;margin-bottom:18px}
.foot-brand .brand-mark{font-size:36px;margin-bottom:18px}
.foot-brand .brand-mark .co,.foot-brand .brand-mark .ect{color:var(--paper)}
.foot-brand p{font-size:13px;line-height:1.6;color:rgba(255,255,255,.5);max-width:340px;margin:0}
.foot-col h5{font-family:var(--sans);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--amber-bright);font-weight:700;margin:0 0 18px}
.foot-col ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.foot-col a{font-size:14px;color:rgba(255,255,255,.6);font-weight:500;transition:.2s}
.foot-col a:hover{color:var(--amber-bright)}
.foot-bot{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px;font-size:12px;color:rgba(255,255,255,.4)}
.foot-bot .links{display:flex;gap:18px;flex-wrap:wrap}
.foot-bot a:hover{color:var(--amber-bright)}

/* =======================  REVEAL ANIMATION  ======================= */
.js .reveal{opacity:0;transform:translateY(28px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1)}
.js .reveal.on{opacity:1;transform:none}

/* =======================  SMALL TWEAKS  ======================= */
@media (max-width:640px){
  .svc-tab{font-size:12px;padding:9px 13px}
}

@media (max-width:980px){
  .hero-stage{min-height:680px}
  .hero-layout{padding-top:72px;padding-bottom:132px}
  .hero-copy{width:min(520px,calc(100vw - (var(--pad) * 2)));max-width:100%}
  .hero-controls{bottom:56px}
}

@media (max-width:560px){
  .hero-stage{min-height:620px}
  .hero-layout{align-items:flex-end;padding-top:72px;padding-bottom:124px}
  .hero-copy{width:calc(100vw - 32px);padding:16px 18px}
  .hero-blurb{font-size:21px;line-height:1.22}
  .hero-controls{bottom:52px;gap:8px}
  .hero-arrow{width:36px;height:36px;flex:0 0 36px}
  .hero-arrow::before{left:14px;top:12px}
  .hero-arrow.next::before{left:11px}
  .hero-dots{gap:7px;padding:9px}
  .hero-dot{width:26px}
  .hero-dot.active{width:42px}
  .hero-count{display:none}
  .scroll-cue{display:none}
}

@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  .hero-slide,.hero-bg,.hero-copy,.hero-dot,.hero-dot::after,.hero-arrow,.testimonial-track,.testimonial-arrow,.testimonial-dot,.marq-track,.scroll-cue .line::after{animation:none;transition:none}
}
/* =======================  MULTI-PAGE ADDITIONS  ======================= */

/* Active nav state */
.menu a.active, .menu .menu-btn.active{background:var(--ink);color:var(--paper)}
.drawer .drawer-link.active{color:var(--amber-bright)}

/* Page hero (used on all sub-pages instead of the home hero) */
.page-hero{background:var(--ink);color:var(--paper);position:relative;overflow:hidden;padding:clamp(22px,3vw,40px) 0 clamp(20px,2vw,40px)}
.page-hero::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(700px 460px at 82% 14%, rgba(245,158,11,.28), transparent 65%),
    radial-gradient(800px 540px at 8% 86%, rgba(180,83,9,.16), transparent 60%);
}
.page-hero .wrap{position:relative;z-index:2}
.page-hero .crumbs{display:flex;gap:10px;align-items:center;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.5);font-weight:600;margin-bottom:34px}
.page-hero .crumbs a{color:rgba(255,255,255,.6)}
.page-hero .crumbs a:hover{color:var(--amber-bright)}
.page-hero .crumbs span{color:var(--amber-bright)}
.page-hero h1{font-family:var(--display);font-weight:500;font-size:clamp(46px,4vw,128px);line-height:.95;letter-spacing:-.04em;margin:0 0 24px;max-width:14ch}
.page-hero h1 em{font-style:normal;color:var(--amber-bright);font-weight:500}
.page-hero .sub{max-width:580px;font-size:clamp(16px,1.4vw,18px);color:rgba(255,255,255,.72);line-height:1.6}
@media(max-width:560px){
  .page-hero{padding:28px 0 34px}
  .page-hero .crumbs{flex-wrap:wrap;gap:8px 10px;margin-bottom:28px;line-height:1.35}
  .page-hero h1{font-size:clamp(34px,9vw,38px);line-height:1.04;letter-spacing:-.025em;max-width:100%;overflow-wrap:break-word}
  .page-hero .sub{max-width:calc(100vw - 56px);overflow-wrap:break-word}
  .sec-head h2{font-size:clamp(30px,8.5vw,34px);line-height:1.08;letter-spacing:-.02em;overflow-wrap:break-word}
  .sec-head h2 em{display:block;overflow-wrap:anywhere}
  .founder-grid,.founder-card,.founder-bio{min-width:0}
  .founder-card{width:100%;max-width:calc(100vw - 56px);padding:22px}
}
.business-hero{background-size:cover;background-position:center;background-repeat:no-repeat}
.business-hero::before{background:linear-gradient(90deg,rgba(5,5,5,.88),rgba(5,5,5,.62) 46%,rgba(5,5,5,.36)),linear-gradient(180deg,rgba(5,5,5,.35),rgba(5,5,5,.8))}
.business-hero::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(720px 420px at 88% 16%,rgba(251,191,36,.22),transparent 66%)}
.business-hero-corporate{background-image:url("corporate-b2b-hero.jpg")}
.business-hero-real-estate{background-image:url("real-estate-hero.jpg");background-position:center 48%}
.business-hero-entertainment{background-image:url("entertainment-hero.jpg");background-position:center 45%}
.business-hero-government{background-image:url("government-hero.jpg");background-position:center 48%}
.business-hero-talk-panel{background-image:url("talk-show-panel-hero.jpg");background-position:center 46%}
.business-hero-social-lifestyle{background-image:url("hero-event-stage.jpg");background-position:center 48%}
.business-hero-knowledge{background-image:url("knowledge-events-hero.jpg");background-position:center 48%}
.business-hero-travel{background-image:url("connektpro/all/assets__images__corporate-travel.jpg");background-position:center 48%}
.business-hero-ad-agency{background-image:url("ad-agency-hero.jpg");background-position:center 48%}
.business-hero-media{background-image:url("media-hero.jpg");background-position:center 50%}
.business-hero-digital-strategy{background-image:url("digital-strategy-hero.jpg");background-position:center 48%}
.business-hero-pr{background-image:url("pr-agency-hero.jpg");background-position:center 44%}
.business-hero-crisis{background-image:url("crisis-management-hero.jpg");background-position:center 46%}
.business-hero .wrap{position:relative;z-index:2}

/* Mini CTA strip (above footer, on sub-pages) */
.mini-cta{background:var(--amber);color:var(--ink);padding:clamp(40px,5vw,60px) 0}
.mini-cta .wrap{display:grid;grid-template-columns:1fr;gap:24px;align-items:center}
@media(min-width:780px){.mini-cta .wrap{grid-template-columns:1.4fr auto;gap:40px}}
.mini-cta h3{font-family:var(--display);font-weight:500;font-size:clamp(28px,4vw,46px);line-height:.98;letter-spacing:-.025em;margin:0;max-width:18ch}
.mini-cta h3 em{font-style:normal;color:var(--ink);background:var(--ink);color:var(--amber);padding:0 8px;border-radius:6px}
.mini-cta .actions{display:flex;gap:10px;flex-wrap:wrap}
.mini-cta .btn-dark{display:inline-flex;align-items:center;gap:10px;padding:15px 24px;background:var(--ink);color:var(--paper);border-radius:999px;font-weight:700;font-size:14px;transition:.2s;letter-spacing:-.005em}
.mini-cta .btn-dark:hover{background:#222;transform:translateY(-2px)}
.mini-cta .btn-line{display:inline-flex;align-items:center;gap:10px;padding:15px 24px;border:1px solid var(--ink);color:var(--ink);border-radius:999px;font-weight:700;font-size:14px;transition:.2s;letter-spacing:-.005em}
.mini-cta .btn-line:hover{background:var(--ink);color:var(--amber)}

/* Section helpers used across pages */
.lead{font-family:var(--display);font-weight:400;font-size:clamp(22px,2.2vw,30px);line-height:1.4;color:var(--ink);max-width:32ch}
.lead em{font-style:normal;color:var(--amber-deep);font-weight:500}
.prose p{margin:0 0 18px;font-size:16px;line-height:1.75;color:var(--charcoal)}
.prose strong{color:var(--ink);font-weight:700}
.prose a{color:var(--amber-deep);font-weight:600;border-bottom:1px solid currentColor}

/* Two-column page layout */
.two{display:grid;grid-template-columns:1fr;gap:50px}
@media(min-width:900px){.two{grid-template-columns:1.1fr 1fr;gap:80px}}
.two.flip{grid-template-columns:1fr}
@media(min-width:900px){.two.flip{grid-template-columns:1fr 1.1fr}}

/* Stat strip (about & founder pages) */
.stat-strip{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:18px;overflow:hidden;margin-top:40px}
@media(min-width:680px){.stat-strip{grid-template-columns:repeat(4,1fr)}}
.stat{background:var(--paper);padding:26px 22px}
.stat strong{display:block;font-family:var(--display);font-weight:500;font-size:38px;letter-spacing:-.025em;color:var(--ink);line-height:1}
.stat span{display:block;margin-top:10px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:600;line-height:1.4}

/* Featured quote block */
.quote{background:var(--cream);border-left:4px solid var(--amber);padding:32px 36px;border-radius:6px;margin:36px 0}
.quote p{font-family:var(--display);font-weight:400;font-size:clamp(20px,2vw,26px);line-height:1.45;margin:0 0 18px;color:var(--ink)}
.quote cite{font-style:normal;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--amber-deep);font-weight:700}

/* Cards grid (used on portfolio and experience) */
.cards{display:grid;grid-template-columns:1fr;gap:18px}
@media(min-width:720px){.cards{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1100px){.cards{grid-template-columns:repeat(3,1fr)}}
.card-light{background:var(--paper);border:1px solid var(--line);border-radius:22px;padding:28px;transition:.3s;text-decoration:none;color:inherit;display:flex;flex-direction:column;justify-content:space-between;min-height:260px;cursor:pointer}
.card-light:hover{background:var(--cream);border-color:var(--amber);transform:translateY(-3px)}
.card-light .tag{display:inline-flex;align-items:center;gap:8px;font-size:11px;letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:var(--amber-deep);margin-bottom:0}
.card-light .tag::before{content:"";width:6px;height:6px;background:var(--amber);border-radius:50%}
.card-light h3{font-family:var(--display);font-weight:500;font-size:24px;letter-spacing:-.02em;line-height:1.12;margin:18px 0 10px;color:var(--ink)}
.card-light p{font-size:14px;color:var(--slate);line-height:1.6;margin:0}
.card-light .foot{display:flex;justify-content:space-between;align-items:center;margin-top:22px;padding:18px 0 0;background:transparent;border-top:1px solid var(--line);font-size:12px;color:var(--muted);letter-spacing:.05em;text-transform:uppercase;font-weight:600}
.card-light .foot .arr{width:14px;height:14px;border-right:1.5px solid var(--amber-deep);border-top:1.5px solid var(--amber-deep);transform:rotate(45deg);transition:.25s}
.card-light:hover .foot .arr{transform:rotate(45deg) translate(2px,-2px)}
.services-overview-grid{align-items:stretch}
@media(min-width:1100px){.services-overview-grid{grid-template-columns:repeat(4,1fr)}}
.service-bg-card{
  position:relative;overflow:hidden;justify-content:flex-end;
  background-image:linear-gradient(180deg,rgba(10,10,10,.02) 0%,rgba(10,10,10,.22) 48%,rgba(10,10,10,.68) 100%),var(--card-bg);
  background-size:100% 100%,cover;background-position:center,center;min-height:300px;color:#fff;border-color:rgba(255,255,255,.22);
  box-shadow:0 24px 54px -42px rgba(10,10,10,.8);
  transition:background-size .55s cubic-bezier(.2,.7,.2,1),transform .3s ease,border-color .3s ease,box-shadow .3s ease;
}
.service-bg-card:hover,.service-bg-card:focus-visible{
  background-image:linear-gradient(180deg,rgba(10,10,10,.18) 0%,rgba(10,10,10,.52) 44%,rgba(10,10,10,.9) 100%),var(--card-bg);
  background-size:100% 100%,114%;border-color:rgba(251,191,36,.42);box-shadow:0 30px 70px -42px rgba(10,10,10,.9);
}
.service-bg-card .tag{color:var(--amber-bright);text-shadow:0 2px 12px rgba(0,0,0,.42)}
.service-bg-card .tag::before{background:var(--amber-bright)}
.service-bg-card h3{color:#fff;text-shadow:0 12px 30px rgba(0,0,0,.55)}
.service-bg-card p{
  color:rgba(255,255,255,.82);max-height:0;opacity:0;overflow:hidden;transform:translateY(12px);
  transition:max-height .4s ease,opacity .3s ease,transform .4s cubic-bezier(.2,.7,.2,1);
}
.service-bg-card .foot{
  color:rgba(255,255,255,.78);border-top-color:rgba(255,255,255,.2);opacity:0;transform:translateY(12px);
  transition:opacity .3s ease,transform .4s cubic-bezier(.2,.7,.2,1),border-color .3s ease;
}
.service-bg-card .foot .arr{border-color:var(--amber-bright)}
.service-bg-card:hover p,.service-bg-card:focus-visible p{max-height:150px;opacity:1;transform:translateY(0)}
.service-bg-card:hover .foot,.service-bg-card:focus-visible .foot{opacity:1;transform:translateY(0)}
@media(hover:none){
  .service-bg-card p{max-height:150px;opacity:1;transform:none}
  .service-bg-card .foot{opacity:1;transform:none}
}

/* Business detail offering cards */
.business-offerings{background:var(--paper)}
.offering-grid{display:grid;grid-template-columns:1fr;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:18px;overflow:hidden}
@media(min-width:700px){.offering-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1080px){.offering-grid{grid-template-columns:repeat(3,1fr)}}
.offering-card{background:var(--paper);padding:28px 26px 30px;min-height:230px;display:flex;flex-direction:column;align-items:flex-start;transition:.25s}
.offering-card:hover{background:var(--cream)}
.offering-card span{display:inline-flex;align-items:center;gap:10px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:800;color:var(--amber-deep);margin-bottom:24px}
.offering-card span::after{content:"";width:28px;height:1px;background:var(--amber)}
.offering-card h3{font-family:var(--display);font-weight:500;font-size:clamp(18px,2vw,22px);line-height:1.16;letter-spacing:-.02em;margin:0 0 14px;color:var(--ink)}
.offering-card p{margin:0;color:var(--slate);font-size:14px;line-height:1.65}

/* Business detail media showcase */
.business-media{background:var(--cream)}
.service-portfolio-card{background:var(--ink)!important;color:var(--paper)!important;text-decoration:none}
.service-portfolio-card:hover{background:var(--charcoal)!important;transform:none}
.service-portfolio-card span,.service-portfolio-card .tag{color:var(--amber-bright)!important}
.service-portfolio-card span::after{background:var(--amber-bright)}
.service-portfolio-card h3{color:var(--paper)!important}
.service-portfolio-card p{color:rgba(255,255,255,.68)!important}
.service-portfolio-card strong{display:inline-flex;align-items:center;gap:12px;width:max-content;margin-top:auto;padding:12px 18px 12px 20px;border-radius:999px;background:var(--amber-bright);color:var(--ink);font-size:13px;font-weight:800;line-height:1}
.service-portfolio-card strong::after{content:"";width:12px;height:12px;border-right:1.7px solid currentColor;border-top:1.7px solid currentColor;transform:rotate(45deg);transition:.2s}
.service-portfolio-card:hover strong::after{transform:rotate(45deg) translate(2px,-2px)}
.business-media-grid{display:grid;grid-template-columns:1fr;gap:18px}
@media(min-width:860px){.business-media-grid{grid-template-columns:1fr 1fr}}
@media(min-width:1180px){.business-media-grid{grid-template-columns:repeat(4,1fr)}}
.business-media-grid .video-card,.business-media-grid .image-tile{min-height:clamp(260px,24vw,340px)}

/* Filter chips */
.chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:36px;padding-bottom:24px;border-bottom:1px solid var(--line)}
.chip{padding:9px 14px;border-radius:999px;border:1px solid var(--line);background:var(--paper);font-size:12px;font-weight:700;color:var(--slate);letter-spacing:-.005em;cursor:pointer;transition:.2s}
.chip:hover{color:var(--ink);border-color:var(--ink)}
.chip.active{background:var(--ink);color:var(--paper);border-color:var(--ink)}

/* Smooth media filtering */
.media-grid [data-cat],
.image-grid [data-cat],
.home-work-grid [data-cat],
.business-media-grid [data-cat]{
  transition:opacity .24s ease, transform .24s ease, box-shadow .28s ease;
}
.filter-hidden{
  opacity:0 !important;
  transform:translateY(10px) !important;
  pointer-events:none;
}

/* Portfolio media pages */
.portfolio-switch{display:grid;grid-template-columns:1fr;gap:20px}
@media(min-width:760px){.portfolio-switch{grid-template-columns:repeat(2,1fr)}}
.portfolio-tile{min-height:320px;background:var(--paper);border:1px solid var(--line);border-radius:22px;padding:34px;display:flex;flex-direction:column;justify-content:space-between;transition:.28s;position:relative;overflow:hidden}
.portfolio-tile::before{content:"";position:absolute;inset:0;opacity:0;transition:.28s;background:radial-gradient(520px 300px at 80% 8%, rgba(245,158,11,.22), transparent 64%)}
.portfolio-tile:hover{background:var(--cream);border-color:var(--amber);transform:translateY(-4px)}
.portfolio-tile:hover::before{opacity:1}
.portfolio-tile .tag,.video-card span,.image-tile span{position:relative;z-index:2;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--amber-deep);font-weight:800}
.portfolio-tile h2{position:relative;z-index:2;font-family:var(--display);font-weight:500;font-size:clamp(42px,5vw,76px);line-height:.96;letter-spacing:-.04em;margin:40px 0 16px}
.portfolio-tile p{position:relative;z-index:2;max-width:420px;margin:0;color:var(--slate);line-height:1.65}
.portfolio-tile .foot{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:center;margin-top:36px;padding:18px 0 0;background:transparent;border-top:1px solid var(--line);font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:800}
.portfolio-tile .arr{width:14px;height:14px;border-right:1.5px solid var(--amber-deep);border-top:1.5px solid var(--amber-deep);transform:rotate(45deg)}

.media-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:18px}
@media(min-width:720px){.media-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1120px){.media-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.video-card{border:0;background:#111;color:var(--paper);border-radius:18px;overflow:hidden;position:relative;min-height:280px;text-align:left;padding:0;cursor:pointer;transition:.28s;width:100%;min-width:0}
.video-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.72;transition:.35s}
.video-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.82))}
.video-card:hover{transform:translateY(-4px);box-shadow:0 26px 60px -36px rgba(0,0,0,.7)}
.video-card:hover img{transform:scale(1.06);opacity:.9}
.video-card > div{position:absolute;left:22px;right:22px;bottom:22px;z-index:2}
.video-card span{color:var(--amber-bright)}
.video-card h3{font-family:var(--display);font-weight:500;font-size:24px;letter-spacing:-.02em;line-height:1.09;margin:8px 0 0}
.video-card .play{position:absolute;z-index:3;right:20px;top:20px;width:52px;height:52px;border-radius:50%;background:var(--amber);box-shadow:0 14px 35px -16px rgba(0,0,0,.8);letter-spacing:0}
.video-card .play::before{content:"";position:absolute;left:21px;top:16px;border-left:15px solid var(--ink);border-top:10px solid transparent;border-bottom:10px solid transparent}

.image-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-auto-flow:dense;gap:12px}
@media(min-width:760px){.image-grid{grid-template-columns:repeat(4,1fr);gap:16px}}
.image-tile{border:0;padding:0;min-height:220px;border-radius:18px;overflow:hidden;position:relative;background:#111;cursor:pointer;transition:.28s}
.image-tile.wide{grid-column:span 2}
.image-tile.tall{grid-row:span 2;min-height:456px}
.image-tile img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;transition:.35s}
.image-tile::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 42%,rgba(0,0,0,.74))}
.image-tile span{position:absolute;left:18px;bottom:18px;color:var(--amber-bright);z-index:2}
.image-tile.pdf-page-tile span{left:16px;right:auto;bottom:auto;top:16px;max-width:calc(100% - 32px);padding:6px 9px;border-radius:999px;background:rgba(0,0,0,.68);backdrop-filter:blur(4px)}
.image-tile:hover{transform:translateY(-3px)}
.image-tile:hover img{transform:scale(1.07)}

.media-modal{position:fixed;inset:0;z-index:220;display:grid;place-items:center;padding:24px;opacity:0;visibility:hidden;pointer-events:none;transition:.25s}
.media-modal.open{opacity:1;visibility:visible;pointer-events:auto}
.media-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.82);backdrop-filter:blur(8px)}
.media-modal-panel{position:relative;z-index:2;width:min(1080px,94vw);background:#080808;color:var(--paper);border:1px solid rgba(255,255,255,.12);border-radius:18px;box-shadow:0 40px 100px -30px rgba(0,0,0,.85);overflow:hidden}
.media-close{position:absolute;right:14px;top:14px;z-index:4;padding:10px 13px;border-radius:999px;background:rgba(255,255,255,.12);color:var(--paper);font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.video-frame{aspect-ratio:16/9;background:#000}
.video-frame iframe{width:100%;height:100%;border:0;display:block}
.video-panel h3,.gallery-caption h3{font-family:var(--display);font-size:24px;font-weight:500;letter-spacing:-.02em;margin:0}
.video-panel h3{padding:18px 22px}
.image-panel{width:min(1180px,94vw);background:#050505}
.image-panel img{width:100%;max-height:78vh;object-fit:contain;background:#050505;display:block;transform-origin:center;will-change:transform,opacity,filter}
.image-panel img.gallery-fx-zoom{animation:galleryZoomIn .72s cubic-bezier(.2,.8,.2,1) both}
.image-panel img.gallery-fx-slide{animation:gallerySlideIn .72s cubic-bezier(.2,.8,.2,1) both}
.image-panel img.gallery-fx-tilt{animation:galleryTiltIn .72s cubic-bezier(.2,.8,.2,1) both}
.image-panel img.gallery-fx-soft{animation:gallerySoftIn .72s ease both}
.gallery-progress{position:absolute;left:0;right:0;bottom:0;height:2px;z-index:5;background:rgba(255,255,255,.22);overflow:hidden}
.gallery-progress span{display:block;width:100%;height:100%;background:linear-gradient(90deg,var(--amber-bright),#fff2c8);box-shadow:0 0 14px rgba(245,158,11,.75);transform:scaleX(0);transform-origin:left center;transition-property:transform;transition-timing-function:linear}
.gallery-progress span.running{transform:scaleX(1)}
.gallery-caption{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 22px;color:rgba(255,255,255,.72)}
.gallery-caption span{font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--amber-bright)}
.gallery-arrow{position:absolute;top:50%;z-index:4;width:46px;height:46px;border-radius:50%;background:rgba(255,255,255,.12);transform:translateY(-50%);backdrop-filter:blur(8px)}
.gallery-arrow::before{content:"";position:absolute;left:18px;top:16px;width:13px;height:13px;border-left:2px solid var(--paper);border-bottom:2px solid var(--paper);transform:rotate(45deg)}
.gallery-prev{left:16px}
.gallery-next{right:16px}
.gallery-next::before{left:14px;transform:rotate(225deg)}
@keyframes galleryZoomIn{0%{opacity:0;transform:scale(1.045);filter:blur(8px)}100%{opacity:1;transform:scale(1);filter:blur(0)}}
@keyframes gallerySlideIn{0%{opacity:0;transform:translateX(34px) scale(.985);filter:blur(5px)}100%{opacity:1;transform:translateX(0) scale(1);filter:blur(0)}}
@keyframes galleryTiltIn{0%{opacity:0;transform:perspective(900px) rotateY(-5deg) scale(.985);filter:blur(5px)}100%{opacity:1;transform:perspective(900px) rotateY(0) scale(1);filter:blur(0)}}
@keyframes gallerySoftIn{0%{opacity:0;transform:scale(.985);filter:saturate(.75)}100%{opacity:1;transform:scale(1);filter:saturate(1)}}
@media(prefers-reduced-motion:reduce){.image-panel img.gallery-fx-zoom,.image-panel img.gallery-fx-slide,.image-panel img.gallery-fx-tilt,.image-panel img.gallery-fx-soft{animation:none}.gallery-progress span{transition:none}}
@media(max-width:620px){
  .image-grid{grid-template-columns:1fr}
  .image-tile,.image-tile.tall{min-height:260px;grid-column:auto;grid-row:auto}
  .gallery-arrow{width:40px;height:40px}
}

/* Contact form */
.contact-grid{display:grid;grid-template-columns:1fr;gap:60px;align-items:start}
@media(min-width:900px){.contact-grid{grid-template-columns:1fr 1.2fr;gap:90px}}
.form{display:grid;gap:16px}
.form-row{display:grid;gap:16px;grid-template-columns:1fr}
@media(min-width:560px){.form-row{grid-template-columns:1fr 1fr}}
.form-field{display:flex;flex-direction:column;gap:8px}
.form-field label{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:700}
.form-field input, .form-field select, .form-field textarea{
  font-family:inherit;font-size:15px;color:var(--ink);background:var(--paper);
  border:1px solid var(--line);border-radius:14px;padding:14px 16px;width:100%;
  transition:.2s;outline:none;
}
.form-field textarea{min-height:140px;resize:vertical}
.form-field input:focus, .form-field select:focus, .form-field textarea:focus{border-color:var(--ink);background:#fff}
.form .submit{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--ink);color:var(--paper);padding:18px 28px;border-radius:999px;font-weight:800;font-size:15px;border:0;cursor:pointer;transition:.25s;letter-spacing:-.005em;margin-top:8px;justify-self:start}
.form .submit:hover{background:var(--amber-deep)}

.contact-side{display:grid;gap:24px}
.contact-block-large{background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:26px}
.contact-block-large .label{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--amber-deep);font-weight:700;margin-bottom:10px}
.contact-block-large h4{font-family:var(--display);font-size:22px;font-weight:500;letter-spacing:-.015em;margin:0 0 8px;color:var(--ink)}
.contact-block-large a{display:block;width:max-content;max-width:100%;margin-top:6px;color:var(--charcoal);font-size:14px;font-weight:600;border-bottom:1px solid var(--line);transition:.2s}
.contact-block-large a:hover{color:var(--amber-deep);border-color:var(--amber-deep)}
.contact-block-large p{margin:8px 0 0;font-size:13px;color:var(--slate);line-height:1.55}

/* Compact section padding for sub-page bodies */
.sec-compact{padding:clamp(70px,8vw,120px) 0}
