:root{
  --bg:#E6DFD3;--bg2:#D8D0C0;--cream:#F3EDE0;--cream2:#FAF6EE;
  --forest:#1B3829;--forest2:#254D3C;--olive:#4E5D40;--olive2:#3B4A2F;
  --sand:#C4A47C;--sand2:#DEC89A;--text:#191714;--text2:#3A3730;
  --muted:#6A6250;--border:#C6BAA6;
  --serif:'Lora',Georgia,serif;--ui:'Inter',system-ui,sans-serif;
  --nav-h:68px;--max:1160px;--pad:48px;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:16px;scroll-behavior:smooth}
body{font-family:var(--serif);background:var(--bg);color:var(--text);min-height:100vh;overflow-x:hidden;-webkit-font-smoothing:antialiased}
img,iframe{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer;border:none;background:none}
.nav{position:fixed;inset:0 0 auto;height:var(--nav-h);z-index:800;background:rgba(243,237,224,.95);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 var(--pad)}
.nav-logo{font-size:1.32rem;font-weight:500;font-style:italic;color:var(--forest);letter-spacing:-.025em;margin-right:auto}
.nav-links{display:flex;list-style:none;align-items:center}
.nav-links a{display:block;padding:7px 15px;font-family:var(--ui);font-size:.71rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);transition:color .16s;position:relative}
.nav-links a:hover,.nav-links a.cur{color:var(--forest)}
.nav-links a.cur::after{content:'';position:absolute;bottom:-1px;left:15px;right:15px;height:1.5px;background:var(--forest);border-radius:1px}
.nav-ig{display:inline-flex;align-items:center;gap:7px;margin-left:20px;padding:9px 18px;background:var(--forest);color:var(--cream);font-family:var(--ui);font-size:.71rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;border-radius:2px;transition:background .16s;flex-shrink:0}
.nav-ig:hover{background:var(--forest2)}
.nav-tt{margin-left:8px;padding:9px 11px}
.nav-ig svg{width:13px;height:13px;fill:currentColor;flex-shrink:0}
.burger{display:none;flex-direction:column;justify-content:center;gap:5px;width:28px;height:28px;flex-shrink:0;margin-left:16px}
.burger span{display:block;width:100%;height:1.5px;background:var(--forest);border-radius:1px;transition:transform .22s,opacity .22s}
.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)}
.drawer{display:none;position:fixed;top:var(--nav-h);inset-inline:0;z-index:790;background:var(--cream);border-bottom:1px solid var(--border)}
.drawer.open{display:block}
.drawer a{display:block;padding:15px var(--pad);font-family:var(--ui);font-size:.84rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--forest);border-bottom:1px solid var(--border)}
.page{display:none;min-height:100vh;padding-top:var(--nav-h);animation:fadeUp .3s ease both}
.page.on{display:block}
@keyframes fadeUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.wrap{max-width:var(--max);margin-inline:auto;padding-inline:var(--pad)}
.sec{padding-block:80px}
.eye{font-family:var(--ui);font-size:.67rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--olive)}
.h-xl{font-size:clamp(2.8rem,6.5vw,5.5rem);font-weight:400;font-style:italic;letter-spacing:-.04em;line-height:.94;color:var(--forest)}
.h-lg{font-size:clamp(1.9rem,3.5vw,2.8rem);font-weight:400;font-style:italic;letter-spacing:-.03em;color:var(--forest)}
.h-md{font-size:1.4rem;font-weight:400;font-style:italic;color:var(--forest)}
.body{font-size:1rem;line-height:1.78;color:var(--text2)}
.sec-hd{margin-bottom:52px}
.sec-hd .eye{margin-bottom:10px}
.btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--ui);font-size:.74rem;font-weight:500;letter-spacing:.13em;text-transform:uppercase;padding:13px 26px;border-radius:2px;cursor:pointer;border:1.5px solid;transition:background .16s,color .16s,border-color .16s}
.btn-dark{background:var(--forest);color:var(--cream);border-color:var(--forest)}
.btn-dark:hover{background:var(--forest2);border-color:var(--forest2)}
.btn-out{background:transparent;color:var(--forest);border-color:var(--forest)}
.btn-out:hover{background:var(--forest);color:var(--cream)}
.hero{height:calc(100vh - var(--nav-h));min-height:600px;display:grid;grid-template-columns:1fr auto;align-items:stretch;overflow:hidden}
.hero-text{display:flex;flex-direction:column;justify-content:center;padding:40px var(--pad)}
.hero-text .eye{margin-bottom:22px}
.hero-title{font-size:clamp(4rem,9vw,8rem);font-weight:400;font-style:italic;letter-spacing:-.045em;line-height:.9;color:var(--forest);margin-bottom:22px}
.hero-tagline{font-family:var(--ui);font-size:.68rem;letter-spacing:.3em;text-transform:uppercase;color:var(--muted);margin-bottom:30px}
.hero-bio{font-size:1.03rem;line-height:1.76;color:var(--text2);max-width:450px;margin-bottom:42px}
.hero-ctas{display:flex;gap:12px;flex-wrap:wrap}
.ticker{background:var(--forest);padding:14px 0;overflow:hidden}
.ticker-track{display:flex;white-space:nowrap;animation:tick 25s linear infinite}
.ticker-track img{height:48px;width:auto;margin:0 22px;flex-shrink:0}
@keyframes tick{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.teaser{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.teaser-left .eye{margin-bottom:14px}
.teaser-body{font-size:.98rem;line-height:1.76;color:var(--text2);margin-bottom:32px}
.teaser-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.teaser-stats .stat:last-child{grid-column:1/-1}
.stat{background:var(--cream);border:1px solid var(--border);border-radius:3px;padding:22px 18px}
.stat-n{font-size:2.1rem;font-style:italic;font-weight:400;color:var(--forest);line-height:1;margin-bottom:4px}
.stat-l{font-family:var(--ui);font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.ig-band{background:var(--forest);padding:80px 0;text-align:center}
.ig-band .eye{color:var(--sand);margin-bottom:10px}
.ig-band-sub{font-family:var(--ui);font-size:.82rem;color:rgba(243,237,224,.5);margin-bottom:32px}
.ig-band-btn{display:inline-flex;align-items:center;gap:9px;padding:13px 30px;border:1.5px solid var(--sand);color:var(--sand);font-family:var(--ui);font-size:.74rem;font-weight:500;letter-spacing:.13em;text-transform:uppercase;border-radius:2px;transition:background .16s,color .16s}
.ig-band-btn:hover{background:var(--sand);color:var(--forest)}
.ig-band-btn svg{width:15px;height:15px;fill:currentColor}
.about-grid{display:grid;grid-template-columns:360px 1fr;gap:80px;align-items:center}
.about-photo{aspect-ratio:3/4;border-radius:3px;overflow:hidden;position:relative;background:var(--bg2)}
.about-photo img{width:100%;height:100%;object-fit:cover}
.about-text .h-lg{margin-bottom:6px}
.about-text .eye{margin-bottom:24px}
.about-text .body{margin-bottom:36px}
.about-grid-info{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--border)}
.ainfo{padding:18px 0;border-bottom:1px solid var(--border)}
.ainfo:nth-child(even){padding-left:28px;border-left:1px solid var(--border)}
.ainfo:nth-child(odd){padding-right:28px}
.ainfo-l{font-family:var(--ui);font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--olive);margin-bottom:4px}
.ainfo-v{font-size:.9rem;color:var(--forest);line-height:1.4}
.ainfo-v a{text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.byo-title{font-size:1.15rem;font-style:italic;color:var(--forest);margin-bottom:18px}
.brands-wall{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1px;background:var(--border);border:1px solid var(--border);border-radius:4px;overflow:hidden}
.brand-cell{background:var(--forest);display:flex;align-items:center;justify-content:center;padding:34px 22px;min-height:150px;transition:background .18s}
.brand-cell:hover{background:var(--forest2)}
.brand-cell img{max-width:100%;max-height:64px;width:auto;height:auto;object-fit:contain}
.brands-and{text-align:center;margin-top:20px;font-family:var(--ui);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.contact-layout{display:grid;grid-template-columns:1fr 1.55fr;gap:80px;align-items:start}
.cinfo-item{padding:18px 0;border-bottom:1px solid var(--border)}
.cinfo-item:first-child{padding-top:0}
.cinfo-l{font-family:var(--ui);font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--olive);margin-bottom:5px}
.cinfo-v{font-size:.95rem;color:var(--forest);line-height:1.4}
.cinfo-v a{text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.cform-wrap{background:var(--cream);border-radius:3px;padding:44px 40px}
.cform-wrap .h-md{margin-bottom:28px}
.ff{margin-bottom:19px}
.ff label{display:block;font-family:var(--ui);font-size:.6rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--olive);margin-bottom:7px}
.ff input,.ff textarea,.ff select{display:block;width:100%;padding:11px 14px;background:var(--cream2);border:1.5px solid var(--border);border-radius:2px;font-family:var(--serif);font-size:.91rem;color:var(--text);outline:none;transition:border-color .15s,background .15s;appearance:none;-webkit-appearance:none}
.ff input:focus,.ff textarea:focus,.ff select:focus{border-color:var(--forest);background:#fff}
.ff input::placeholder,.ff textarea::placeholder{color:var(--muted);opacity:.45}
.ff textarea{resize:vertical;min-height:108px;line-height:1.5}
.ff select{cursor:pointer}
.csub{display:block;width:100%;padding:14px;background:var(--forest);color:var(--cream);font-family:var(--ui);font-size:.74rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;border-radius:2px;cursor:pointer;transition:background .16s}
.csub:hover{background:var(--forest2)}
.csub:disabled{opacity:.55;cursor:default}
.cstatus{margin-top:12px;font-family:var(--ui);font-size:.77rem;text-align:center;min-height:20px}
.cstatus.ok{color:var(--olive)}
.cstatus.err{color:#8B3A3A}
.cform-gdpr{margin-top:14px;font-family:var(--ui);font-size:.67rem;color:var(--muted);line-height:1.5;text-align:center}
.cform-gdpr button{color:var(--olive);text-decoration:underline;font-size:inherit}
.footer{background:var(--forest);color:var(--cream);padding:64px var(--pad) 32px}
.footer-inner{max-width:var(--max);margin-inline:auto;display:grid;grid-template-columns:1.7fr 1fr 1fr;gap:56px;margin-bottom:52px}
.ft-logo{font-size:1.75rem;font-style:italic;font-weight:400;color:var(--cream);letter-spacing:-.025em;margin-bottom:7px}
.ft-tag{font-family:var(--ui);font-size:.6rem;letter-spacing:.24em;text-transform:uppercase;color:var(--sand);margin-bottom:18px}
.ft-blurb{font-family:var(--ui);font-size:.79rem;line-height:1.65;color:rgba(243,237,224,.45)}
.ft-col h5{font-family:var(--ui);font-size:.59rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--sand);margin-bottom:18px}
.ft-col ul{list-style:none;display:flex;flex-direction:column;gap:10px}
.ft-col li a,.ft-col li button{font-family:var(--ui);font-size:.79rem;color:rgba(243,237,224,.5);transition:color .14s;text-align:left}
.ft-col li a:hover,.ft-col li button:hover{color:var(--cream)}
.footer-bottom{max-width:var(--max);margin-inline:auto;padding-top:24px;border-top:1px solid rgba(243,237,224,.08);display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.ft-copy{font-family:var(--ui);font-size:.69rem;color:rgba(243,237,224,.28)}
.ft-legal{display:flex;gap:18px;flex-wrap:wrap}
.ft-legal a,.ft-legal button{font-family:var(--ui);font-size:.69rem;color:rgba(243,237,224,.28);transition:color .14s}
.ft-legal a:hover,.ft-legal button:hover{color:var(--cream)}
#cookieBar{position:fixed;bottom:0;inset-inline:0;z-index:1000;background:#191714;padding:18px 40px;display:flex;align-items:center;gap:18px;transform:translateY(100%);transition:transform .4s cubic-bezier(0,0,.2,1);box-shadow:0 -4px 32px rgba(0,0,0,.28)}
#cookieBar.show{transform:translateY(0)}
.ck-text{flex:1;font-family:var(--ui);font-size:.79rem;line-height:1.55;color:rgba(243,237,224,.7)}
.ck-text button{color:var(--sand);text-decoration:underline;font-size:inherit}
.ck-btns{display:flex;gap:9px;flex-shrink:0}
.ck-btn{font-family:var(--ui);font-size:.68rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;padding:9px 16px;border-radius:2px;cursor:pointer;border:1.5px solid}
.ck-accept{background:var(--sand);color:var(--forest);border-color:var(--sand)}
.ck-accept:hover{background:var(--sand2);border-color:var(--sand2)}
.ck-decline{background:transparent;color:rgba(243,237,224,.65);border-color:rgba(243,237,224,.18)}
.ck-decline:hover{color:var(--cream);border-color:rgba(243,237,224,.45)}
.ck-manage{background:transparent;color:rgba(243,237,224,.4);text-decoration:underline;font-size:.65rem}
.ck-manage:hover{color:var(--cream)}
.moverlay{display:none;position:fixed;inset:0;z-index:1200;background:rgba(25,23,20,.58);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);align-items:center;justify-content:center;padding:20px}
.moverlay.show{display:flex}
.mbox{background:var(--cream);border-radius:4px;width:100%;max-width:520px;max-height:85vh;overflow-y:auto;padding:44px;position:relative}
.mbox-wide{max-width:660px}
.m-close{position:absolute;top:15px;right:18px;font-size:1.15rem;line-height:1;color:var(--muted);padding:4px;transition:color .14s}
.m-close:hover{color:var(--text)}
.mbox .h-md{margin-bottom:8px}
.mbox .body{font-size:.86rem;color:var(--muted);margin-bottom:26px}
.pref-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 0;border-bottom:1px solid var(--bg2)}
.pref-row:last-of-type{border-bottom:none}
.pref-info h4{font-family:var(--ui);font-size:.8rem;font-weight:500;color:var(--text);margin-bottom:2px}
.pref-info p{font-family:var(--ui);font-size:.71rem;color:var(--muted);line-height:1.4}
.tgl{position:relative;width:42px;height:23px;flex-shrink:0}
.tgl input{position:absolute;opacity:0;width:0;height:0}
.tgl-sl{position:absolute;inset:0;background:var(--bg2);border-radius:23px;cursor:pointer;transition:background .18s}
.tgl-sl::before{content:'';position:absolute;width:17px;height:17px;left:3px;top:3px;background:white;border-radius:50%;transition:transform .2s cubic-bezier(.22,.68,0,1.2);box-shadow:0 1px 3px rgba(0,0,0,.15)}
.tgl input:checked+.tgl-sl{background:var(--forest)}
.tgl input:checked+.tgl-sl::before{transform:translateX(19px)}
.tgl input:disabled+.tgl-sl{opacity:.42;cursor:default}
.m-actions{margin-top:22px}
.m-actions .btn{width:100%;justify-content:center}
.policy-sec{margin-top:20px}
.policy-sec h4{font-family:var(--ui);font-size:.7rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--olive);margin-bottom:7px}
.policy-sec p{font-family:var(--ui);font-size:.8rem;line-height:1.65;color:var(--muted)}
@media(max-width:1040px){
  :root{--pad:32px}
  .hero{grid-template-columns:1fr;height:auto;min-height:auto;padding-block:40px}
  .about-grid{grid-template-columns:1fr;gap:48px}
  .about-photo{aspect-ratio:4/3;max-width:420px}
  .contact-layout{grid-template-columns:1fr;gap:44px}
  .teaser{grid-template-columns:1fr;gap:48px}
  .footer-inner{grid-template-columns:1fr 1fr;gap:40px}
}
@media(max-width:700px){
  :root{--pad:20px;--nav-h:60px}
  .nav-links,.nav-ig{display:none}
  .burger{display:flex}
  .hero-title{font-size:3.8rem}
  .about-grid-info{grid-template-columns:1fr}
  .ainfo:nth-child(even){padding-left:0;border-left:none}
  .footer-inner{grid-template-columns:1fr;gap:32px}
  .footer-bottom{flex-direction:column;text-align:center}
  .ft-legal{justify-content:center}
  #cookieBar{flex-direction:column;padding:16px 20px;text-align:center}
  .ck-btns{width:100%;flex-wrap:wrap}
  .ck-btn{flex:1;text-align:center}
  .cform-wrap{padding:28px 20px}
  .mbox{padding:28px 20px}
}
@media(prefers-reduced-motion:reduce){*:not(.ticker-track),*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important}}
.ticker-track{animation:tick 25s linear infinite!important}

/* ═══ SCROLL REVEAL ═══ */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}
.reveal.in{opacity:1;transform:none}
.reveal.d1{transition-delay:.08s}.reveal.d2{transition-delay:.16s}.reveal.d3{transition-delay:.24s}.reveal.d4{transition-delay:.32s}

/* ═══ ANIMATED GRADIENT TEXT on hero title ═══ */
.hero-title{padding:0 .08em .24em 0;margin-bottom:calc(22px - .24em);background:linear-gradient(100deg,var(--forest) 0%,var(--olive) 45%,var(--forest) 70%,var(--forest2) 100%);background-size:220% auto;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:shimmer 9s linear infinite}
@keyframes shimmer{to{background-position:220% center}}

/* ═══ HERO CURSOR GLOW ═══ */
.hero{position:relative}
.hero-glow{position:absolute;width:520px;height:520px;border-radius:50%;pointer-events:none;z-index:0;background:radial-gradient(circle,rgba(196,164,124,.22) 0%,rgba(196,164,124,0) 65%);transform:translate(-50%,-50%);left:35%;top:45%;transition:opacity .4s;mix-blend-mode:multiply;opacity:0}
.hero:hover .hero-glow{opacity:1}
.hero-text{position:relative;z-index:2}

/* ═══ HERO REEL PARALLAX/ZOOM ═══ */

/* ═══ HERO TRAILER (blob shape from the Canva design) ═══ */
.hero-media{position:relative;z-index:2;align-self:center;width:min(360px,32vw);aspect-ratio:420/587;margin-right:calc(var(--pad) + 4vw)}
.hero-media video{width:100%;height:100%;object-fit:cover;cursor:pointer;-webkit-mask:url(images/blob-mask.png) center/100% 100% no-repeat;mask:url(images/blob-mask.png) center/100% 100% no-repeat}
.trailer-sound{position:absolute;left:14%;bottom:12%;width:40px;height:40px;border-radius:50%;border:0;background:rgba(243,237,224,.92);color:var(--forest);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 14px rgba(0,0,0,.18)}
.trailer-sound svg{width:20px;height:20px;fill:currentColor}
.trailer-sound .ic-on,.trailer-sound[aria-pressed="true"] .ic-off{display:none}
.trailer-sound[aria-pressed="true"] .ic-on{display:block}
.trailer-sound:focus-visible{outline:2px solid var(--forest);outline-offset:3px}
@media(max-width:1040px){.hero-media{width:min(300px,78vw);margin:8px auto 0}}

/* ═══ PORTFOLIO ═══ */
.pf-tabs{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:44px}
.pf-tab{font-family:var(--ui);font-size:.66rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--text2);padding:10px 16px;border:1px solid var(--border);border-radius:999px;background:transparent;cursor:pointer;transition:background .18s,color .18s,border-color .18s}
.pf-tab:hover{border-color:var(--forest);color:var(--forest)}
.pf-tab[aria-selected="true"]{background:var(--forest);border-color:var(--forest);color:var(--cream)}
.pf-tab:focus-visible{outline:2px solid var(--forest);outline-offset:2px}
.pf-cat{margin-bottom:72px}
.pf-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:16px}
.pf-grid.four{grid-template-columns:repeat(4,1fr);gap:20px}
.pf-item img,.pf-item video{display:block;width:100%;height:auto;border-radius:3px;background:var(--bg2)}
.pf-item.has-video{position:relative}
.pf-item.has-video::after{content:"";position:absolute;top:10px;right:10px;width:30px;height:30px;border-radius:50%;pointer-events:none;background:rgba(243,237,224,.9) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 6v12l9-6z' fill='%231B3829'/%3E%3C/svg%3E") center/14px no-repeat;transition:opacity .2s}
.pf-item.playing::after{opacity:0}
.pf-item figcaption{font-family:var(--ui);font-size:.62rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);line-height:1.45;margin-top:10px}
@media(max-width:1040px){.pf-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.pf-grid,.pf-grid.four{grid-template-columns:repeat(2,1fr);gap:12px}.pf-cat{margin-bottom:52px}}

/* ═══ BUTTON SHINE ═══ */
.btn{position:relative;overflow:hidden}
.btn::before{content:'';position:absolute;top:0;left:-120%;width:60%;height:100%;background:linear-gradient(120deg,transparent,rgba(255,255,255,.25),transparent);transform:skewX(-20deg);transition:left .6s}
.btn:hover::before{left:140%}

/* ═══ NAV LINK underline grow already exists; add logo wiggle ═══ */
.nav-logo{transition:transform .3s cubic-bezier(.34,1.56,.64,1)}
.nav-logo:hover{transform:translateY(-1px) rotate(-1deg)}

/* ═══ STAT CARDS lift ═══ */
.stat{transition:transform .3s cubic-bezier(.2,.7,.2,1),box-shadow .3s,border-color .3s;cursor:default}
.stat:hover{transform:translateY(-5px);box-shadow:0 16px 34px rgba(27,56,41,.12);border-color:var(--sand)}
.stat-n{display:inline-block}

/* ═══ BRAND CELL logo pop ═══ */
.brand-cell img{transition:transform .35s cubic-bezier(.34,1.56,.64,1),filter .35s;filter:saturate(.85)}
.brand-cell:hover img{transform:scale(1.12);filter:saturate(1.1)}

/* ═══ TICKER pause on hover ═══ */
.ticker:hover .ticker-track{animation-play-state:paused}

/* ═══ SECTION TITLE underline draw ═══ */
.h-xl{position:relative;display:inline-block}
.sec-hd .h-xl::after{content:'';position:absolute;left:0;bottom:-6px;height:3px;width:0;background:var(--sand);border-radius:2px;transition:width .8s cubic-bezier(.2,.7,.2,1) .2s}
.page.on .sec-hd .h-xl.in::after,.sec-hd .h-xl.draw::after{width:64px}

/* ═══ SCROLL PROGRESS BAR ═══ */
#progress{position:fixed;top:0;left:0;height:2px;width:0;background:linear-gradient(90deg,var(--sand),var(--olive));z-index:1500;transition:width .1s linear}

/* ═══ BACK TO TOP ═══ */
#toTop{position:fixed;right:24px;bottom:24px;width:46px;height:46px;border-radius:50%;background:var(--forest);color:var(--cream);display:flex;align-items:center;justify-content:center;z-index:700;opacity:0;transform:translateY(14px) scale(.9);pointer-events:none;transition:opacity .3s,transform .3s,background .2s;box-shadow:0 8px 22px rgba(27,56,41,.28)}
#toTop.show{opacity:1;transform:none;pointer-events:auto}
#toTop:hover{background:var(--forest2)}
#toTop svg{width:18px;height:18px;fill:currentColor}

/* ═══ IG BAND floating orbs ═══ */
.ig-band{position:relative;overflow:hidden}
.ig-band .wrap{position:relative;z-index:2}
.orb{position:absolute;border-radius:50%;background:radial-gradient(circle,rgba(196,164,124,.18),transparent 70%);pointer-events:none;z-index:1}
.orb.o1{width:300px;height:300px;left:-60px;top:-80px;animation:float1 14s ease-in-out infinite}
.orb.o2{width:220px;height:220px;right:-40px;bottom:-70px;animation:float2 18s ease-in-out infinite}
@keyframes float1{0%,100%{transform:translate(0,0)}50%{transform:translate(40px,30px)}}
@keyframes float2{0%,100%{transform:translate(0,0)}50%{transform:translate(-30px,-40px)}}

/* ═══ smoother page enter with stagger ═══ */
.page.on>section>.wrap>*,.page.on>section{animation:none}

@media(prefers-reduced-motion:reduce){
  .hero-title{animation:none;-webkit-text-fill-color:var(--forest)}
  .reveal{opacity:1;transform:none}
  .orb{animation:none}
}

/* ═══ BACKGROUND TEXTURE ═══ */
body{
  background-color:var(--bg);
  background-image:
    radial-gradient(circle at 18% 12%, rgba(196,164,124,.10), transparent 38%),
    radial-gradient(circle at 85% 78%, rgba(78,93,64,.10), transparent 42%),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.035'/%3E%3C/svg%3E");
}
/* grain overlay that sits above bg but below content, very subtle, on key sections */
.sec, .hero, .teaser, .ig-band, .footer{position:relative}
.cream-panel, .cform-wrap, .stat{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='p'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23p)' opacity='0.025'/%3E%3C/svg%3E");
}
/* forest sections get a faint lighter grain so they're not flat */
.ig-band::before, .footer::before, .ticker::before{
  content:'';position:absolute;inset:0;pointer-events:none;opacity:.6;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='f'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='2'/%3E%3CfeColorMatrix type='matrix' values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 0.04 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23f)'/%3E%3C/svg%3E");
  mix-blend-mode:overlay;z-index:0;
}
.ig-band .wrap, .footer-inner, .footer-bottom{position:relative;z-index:2}
