/* =================================================================
   rezeeba · Digital Marketing Studio
   Single-file animated home page
   ================================================================= */

:root{
  --forest:#223128;
  --forest-2:#1a261e;
  --sage:#6F8F7A;
  --sage-deep:#577063;
  --clay:#C98E6E;
  --clay-deep:#b3744f;
  --cream:#F7F3EC;
  --cream-2:#efe9dd;
  --mint:#D8E0D8;

  --ink:#223128;
  --display:'Bricolage Grotesque','Space Grotesk',system-ui,sans-serif;
  --ui:'Space Grotesk',system-ui,sans-serif;
  --body:'Inter',system-ui,sans-serif;

  --wrap:1320px;
  --pad-y:clamp(5rem, 11vw, 11rem);
  --ease:cubic-bezier(0.22,1,0.36,1);

  --logo:url("../images/logo.png");
}

*{margin:0;padding:0;box-sizing:border-box}
html{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body{font-family:var(--body);background:var(--cream);color:var(--ink);overflow-x:hidden;line-height:1.55}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
::selection{background:var(--clay);color:var(--cream)}

body.cursor-on{cursor:none}
body.cursor-on a, body.cursor-on button{cursor:none}

.wrap{max-width:var(--wrap);margin:0 auto;padding:0 clamp(1.25rem, 4vw, 3rem)}
.section{padding-top:var(--pad-y);padding-bottom:var(--pad-y)}
.section--dark{background:var(--forest);color:var(--cream)}

/* brand logo image (reused everywhere) */
.logo-img{aspect-ratio:152/200;background:var(--logo) center/contain no-repeat;flex:none}

/* shared bits */
.eyebrow{font-family:var(--ui);font-size:.72rem;letter-spacing:.28em;text-transform:uppercase;font-weight:600;display:inline-flex;align-items:center;gap:.7em;color:var(--sage-deep)}
.section--dark .eyebrow{color:var(--mint)}
.eyebrow::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--clay);display:inline-block;animation:pulseDot 2.6s ease-in-out infinite}
@keyframes pulseDot{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.7);opacity:.45}}

.h-sec{font-family:var(--display);font-weight:700;line-height:1.02;letter-spacing:-.025em;font-size:clamp(2.2rem, 5.2vw, 4.6rem)}
.accent{color:var(--clay);font-style:normal}

.gsap-ready .reveal{opacity:0}

/* buttons */
.btn{position:relative;display:inline-flex;align-items:center;gap:.7em;font-family:var(--ui);font-weight:600;font-size:.95rem;letter-spacing:.01em;padding:1.05em 1.7em;border-radius:100px;overflow:hidden;isolation:isolate;transition:color .45s var(--ease),transform .3s var(--ease)}
.btn span{position:relative;z-index:2;display:inline-flex;align-items:center;gap:.6em}
.btn::after{content:"";position:absolute;inset:0;z-index:1;border-radius:inherit;transform:scaleX(0);transform-origin:left;transition:transform .55s var(--ease)}
.btn:hover::after{transform:scaleX(1)}
.btn .arr{transition:transform .4s var(--ease)}
.btn:hover .arr{transform:translateX(4px)}
.btn--primary{background:var(--forest);color:var(--cream)}
.btn--primary::after{background:var(--clay)}
.btn--primary:hover{color:var(--forest)}
.btn--ghost{border:1.5px solid rgba(34,49,40,.28);color:var(--forest)}
.btn--ghost::after{background:var(--forest)}
.btn--ghost:hover{color:var(--cream)}
.btn--cream{background:var(--cream);color:var(--forest)}
.btn--cream::after{background:var(--clay)}
.btn--cream:hover{color:var(--cream)}

/* ===== PRELOADER ===== */
.preloader{position:fixed;inset:0;z-index:9999;background:var(--cream);display:grid;place-items:center;animation:preOut .9s var(--ease) 2.3s forwards}
.gsap-ready .preloader{animation:none}
@keyframes preOut{to{transform:translateY(-101%);visibility:hidden}}
.pre__inner{display:flex;align-items:center;gap:1rem}
.pre__logo{height:64px;opacity:0;transform:scale(.6) translateY(14px);animation:preLogo .9s var(--ease) .15s forwards}
@keyframes preLogo{to{opacity:1;transform:none}}
.pre__word{font-family:var(--display);font-weight:700;font-size:2.4rem;letter-spacing:-.03em;color:var(--forest);opacity:0;animation:preWord .8s var(--ease) .5s forwards}
@keyframes preWord{from{opacity:0;transform:translateX(-14px)}to{opacity:1;transform:none}}
.pre__bar{position:absolute;bottom:0;left:0;height:3px;background:var(--clay);width:0;animation:preBar 2.2s var(--ease) forwards}
@keyframes preBar{to{width:100%}}

/* ===== GRAIN ===== */
.grain{position:fixed;inset:0;z-index:500;pointer-events:none;opacity:.045;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

/* ===== CURSOR ===== */
.cursor-dot,.cursor-ring{position:fixed;top:0;left:0;z-index:9998;pointer-events:none;border-radius:50%;opacity:0;transition:opacity .3s ease}
.cursor-dot{width:7px;height:7px;background:var(--clay);transform:translate(-50%,-50%)}
.cursor-ring{width:38px;height:38px;border:1.5px solid var(--sage);transform:translate(-50%,-50%);transition:opacity .3s ease,width .3s var(--ease),height .3s var(--ease),border-color .3s ease,background .3s ease}
body.cursor-on .cursor-dot,body.cursor-on .cursor-ring{opacity:1}
.cursor-ring.is-hover{width:64px;height:64px;border-color:var(--clay);background:rgba(201,142,110,.08)}
.cursor-ring.is-down{width:30px;height:30px}

/* ===== VINE ===== */
.vine{position:fixed;top:0;left:max(18px,1.6vw);height:100vh;width:60px;z-index:900;pointer-events:none;display:none}
@media (min-width:1080px){.vine{display:block}}
.vine svg{height:100%;width:100%;overflow:visible}
.vine__path{fill:none;stroke:var(--sage);stroke-width:2;opacity:.55}
.vine__grown{fill:none;stroke:var(--clay-deep);stroke-width:2.4;stroke-linecap:round}
.vine__seed{fill:var(--clay)}
.vine__seed-ring{fill:none;stroke:var(--clay);stroke-width:1.5;opacity:.5}
.vine__leaf{fill:var(--sage);opacity:0;transform-box:fill-box;transform-origin:left center;transform:scale(0) rotate(-12deg);transition:opacity .5s var(--ease),transform .6s var(--ease)}
.vine__leaf.on{opacity:.85;transform:scale(1) rotate(0)}
.vine__leaf.r{transform-origin:right center}

/* ===== NAV ===== */
.nav{position:fixed;top:0;left:0;right:0;z-index:1000;display:flex;align-items:center;justify-content:space-between;padding:1.4rem clamp(1.25rem,4vw,3rem);transition:color .5s var(--ease),background .5s var(--ease),padding .4s var(--ease),box-shadow .4s var(--ease);color:var(--forest)}
.nav.scrolled{background:rgba(247,243,236,.82);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);padding-top:.9rem;padding-bottom:.9rem;box-shadow:0 1px 0 rgba(34,49,40,.08)}
.nav.nav--light{color:var(--cream)}
.nav.nav--light.scrolled{background:rgba(26,38,30,.7)}
.brand{display:flex;align-items:center;gap:.6rem;font-family:var(--display);font-weight:700;font-size:1.32rem;letter-spacing:-.02em}
.brand .logo-img{height:30px}
.brand__tag{font-family:var(--ui);font-weight:500;font-size:.56rem;letter-spacing:.34em;text-transform:uppercase;opacity:.6;margin-left:.1rem}
.nav__links{display:flex;align-items:center;gap:2.1rem}
.nav__link{font-family:var(--ui);font-weight:500;font-size:.92rem;position:relative;padding:.2rem 0}
.nav__link::after{content:"";position:absolute;left:0;bottom:-2px;height:1.5px;width:100%;background:var(--clay);transform:scaleX(0);transform-origin:right;transition:transform .4s var(--ease)}
.nav__link:hover::after{transform:scaleX(1);transform-origin:left}
.nav__cta{margin-left:.4rem}
.nav .btn{padding:.7em 1.25em;font-size:.85rem}
.nav__burger{display:none;flex-direction:column;gap:5px;width:30px;background:none;border:0;cursor:pointer}
.nav__burger span{height:2px;width:100%;background:currentColor;transition:transform .4s var(--ease),opacity .3s}
.menu-open .nav__burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.menu-open .nav__burger span:nth-child(2){opacity:0}
.menu-open .nav__burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
@media (max-width:900px){.nav__links{display:none}.nav__burger{display:flex}}

.menu{position:fixed;inset:0;z-index:999;background:var(--forest);color:var(--cream);display:flex;flex-direction:column;justify-content:center;gap:.4rem;padding:2rem clamp(1.25rem,6vw,3rem);clip-path:circle(0% at calc(100% - 40px) 40px);transition:clip-path .7s var(--ease);pointer-events:none}
.menu-open .menu{clip-path:circle(150% at calc(100% - 40px) 40px);pointer-events:auto}
.menu a{font-family:var(--display);font-weight:700;font-size:clamp(2.4rem,11vw,4rem);letter-spacing:-.02em;line-height:1.18;color:var(--cream)}
.menu a .idx{font-family:var(--ui);font-size:.9rem;color:var(--clay);vertical-align:super;margin-right:.6rem;font-weight:500}
.menu__foot{margin-top:2.2rem;font-family:var(--ui);font-size:.85rem;color:var(--mint);display:flex;gap:1.4rem;flex-wrap:wrap}

/* ===== HERO ===== */
.hero{position:relative;min-height:100svh;display:flex;align-items:center;padding:8rem 0 4rem;overflow:hidden}
.hero__bg{position:absolute;inset:0;z-index:0;overflow:hidden}
.blob{position:absolute;border-radius:50%;filter:blur(60px);opacity:.6;will-change:transform}
.blob--1{width:48vw;height:48vw;background:radial-gradient(circle at 30% 30%,var(--sage),transparent 70%);top:-12vw;left:-8vw;animation:drift1 22s ease-in-out infinite}
.blob--2{width:42vw;height:42vw;background:radial-gradient(circle at 60% 40%,var(--mint),transparent 70%);top:18vh;right:-12vw;animation:drift2 26s ease-in-out infinite}
.blob--3{width:30vw;height:30vw;background:radial-gradient(circle at 50% 50%,var(--clay),transparent 68%);bottom:-10vw;left:32vw;opacity:.42;animation:drift3 19s ease-in-out infinite}
@keyframes drift1{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(6vw,4vh) scale(1.12)}}
@keyframes drift2{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(-5vw,5vh) scale(1.08)}}
@keyframes drift3{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(4vw,-4vh) scale(1.15)}}
.hero__orb{position:absolute;z-index:1;width:clamp(120px,16vw,230px);height:clamp(120px,16vw,230px);border-radius:50%;background:radial-gradient(circle at 35% 30%,#e0a883,var(--clay) 55%,var(--clay-deep));top:16%;right:9%;box-shadow:0 30px 70px rgba(179,116,79,.32);animation:orbFloat 9s ease-in-out infinite;will-change:transform}
@keyframes orbFloat{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-26px) rotate(8deg)}}
.hero .wrap{position:relative;z-index:2;width:100%}
.hero__eyebrow{margin-bottom:1.6rem}
.hero__title{font-family:var(--display);font-weight:800;font-size:clamp(3rem, 10vw, 9rem);line-height:.92;letter-spacing:-.035em;color:var(--forest);max-width:15ch}
.line{display:block;overflow:hidden;padding-bottom:.04em}
.line__inner{display:inline-block;will-change:transform}
.word-acc{position:relative;display:inline-block}
.squiggle{position:absolute;left:-2%;bottom:-.14em;width:104%;height:.34em;overflow:visible}
.squiggle path{fill:none;stroke:var(--clay);stroke-width:8;stroke-linecap:round}
.hero__sub{font-family:var(--body);font-size:clamp(1.02rem,1.5vw,1.28rem);max-width:48ch;margin:2.1rem 0 2.6rem;color:#3a4a40;line-height:1.6}
.hero__cta{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}
.badge{position:absolute;z-index:2;bottom:6%;right:7%;width:clamp(96px,11vw,140px);height:clamp(96px,11vw,140px)}
@media (max-width:900px){.badge{display:none}}
.badge svg{width:100%;height:100%;animation:spin 16s linear infinite}
.badge text{font-family:var(--ui);font-size:11.5px;letter-spacing:.18em;fill:var(--forest);font-weight:600;text-transform:uppercase}
.badge__seed{position:absolute;top:50%;left:50%;width:16px;height:16px;border-radius:50%;background:var(--clay);transform:translate(-50%,-50%);box-shadow:0 0 0 6px rgba(201,142,110,.18)}
@keyframes spin{to{transform:rotate(360deg)}}

/* ===== MARQUEE ===== */
.marquee{background:var(--forest);color:var(--cream);overflow:hidden;padding:1.5rem 0;border-top:1px solid rgba(247,243,236,.08);white-space:nowrap}
.marquee__track{display:inline-flex;align-items:center;will-change:transform}
.marquee__item{font-family:var(--display);font-weight:600;font-size:clamp(1.4rem,3.4vw,2.6rem);letter-spacing:-.01em;padding:0 1.4rem;display:inline-flex;align-items:center;gap:1.4rem}
.marquee__item::after{content:"";width:11px;height:11px;border-radius:50%;background:var(--clay);display:inline-block}
.marquee__item.alt{color:transparent;-webkit-text-stroke:1.3px var(--mint)}

/* ===== MANIFESTO ===== */
.manifesto{background:var(--cream)}
.manifesto .wrap{max-width:1140px}
.manifesto__lead{margin-bottom:2.4rem}
.manifesto__text{font-family:var(--display);font-weight:500;font-size:clamp(1.55rem, 3.6vw, 3.1rem);line-height:1.28;letter-spacing:-.015em;color:var(--forest)}
.manifesto__text .w{display:inline-block}

/* ===== SERVICES (accordion) ===== */
.services{background:var(--cream-2)}
.services__head{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;flex-wrap:wrap;margin-bottom:3.2rem}
.services__head p{max-width:34ch;color:#445248;font-size:1.02rem}
.svc{border-top:1px solid rgba(34,49,40,.16)}
.svc:last-child{border-bottom:1px solid rgba(34,49,40,.16)}
.svc__head{width:100%;background:none;border:0;cursor:pointer;text-align:left;font:inherit;color:var(--forest);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1.4rem;padding:clamp(1.4rem,3vw,2.2rem) 0;transition:padding .45s var(--ease)}
.svc__marker{width:12px;height:12px;border-radius:50%;background:var(--sage);transition:transform .45s var(--ease),background .45s var(--ease)}
.svc__name{font-family:var(--display);font-weight:700;font-size:clamp(1.7rem,4.2vw,3.2rem);letter-spacing:-.025em;line-height:1;color:var(--forest);transition:transform .5s var(--ease),color .4s}
.svc__plus{font-family:var(--ui);font-size:1.7rem;color:var(--sage-deep);justify-self:end;transition:transform .5s var(--ease),color .4s}
.svc__panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .55s var(--ease)}
.svc__panel-in{overflow:hidden}
.svc__pad{padding:0 0 1.9rem calc(12px + 1.4rem)}
.svc__pad p{max-width:58ch;color:#4b574d;font-size:clamp(1rem,1.4vw,1.16rem);line-height:1.62}
.svc__link{display:inline-flex;align-items:center;gap:.45em;font-family:var(--ui);font-weight:600;font-size:.92rem;color:var(--clay-deep);margin-top:1rem}
.svc__link .arr{transition:transform .4s var(--ease)}
.svc__link:hover .arr{transform:translateX(4px)}
.svc.open .svc__panel{grid-template-rows:1fr}
.svc.open .svc__marker{background:var(--clay);transform:scale(1.5)}
.svc.open .svc__plus{transform:rotate(45deg);color:var(--clay)}
@media (hover:hover){
  .svc__head:hover{padding-left:1rem}
  .svc__head:hover .svc__name{transform:translateX(6px);color:var(--sage-deep)}
  .svc__head:hover .svc__marker{transform:scale(1.4)}
  .svc__head:hover .svc__plus{color:var(--clay)}
  .svc.open .svc__head:hover .svc__name{color:var(--forest)}
}
@media (max-width:560px){.svc__pad{padding-left:0}}

/* ===== PROCESS (pinned horizontal) ===== */
.process{background:var(--mint);overflow:hidden}
.process__intro{padding:var(--pad-y) clamp(1.25rem,4vw,3rem) 0}
.process__intro .wrap-inner{max-width:var(--wrap);margin:0 auto}
.process__intro h2{margin-top:1.4rem;max-width:16ch}
.process__track{display:flex;flex-direction:column;gap:1.25rem;padding:2.5rem clamp(1.25rem,4vw,3rem) var(--pad-y)}
.process__panel{position:relative;border-radius:26px;overflow:hidden;padding:clamp(2rem,4vw,3.4rem);min-height:340px;display:flex;flex-direction:column;justify-content:space-between}
.p1{background:var(--cream)}
.p2{background:var(--sage);color:var(--cream)}
.p3{background:var(--clay);color:var(--cream)}
.p4{background:var(--forest);color:var(--cream)}
.process__num{font-family:var(--ui);font-weight:600;font-size:1rem;letter-spacing:.2em;opacity:.7}
.process__title{font-family:var(--display);font-weight:700;font-size:clamp(2rem,4vw,3.2rem);letter-spacing:-.025em;line-height:1;margin:1.2rem 0 .9rem}
.process__copy{max-width:40ch;font-size:1.02rem;line-height:1.55;opacity:.92}
.process__shape{position:absolute;border-radius:50%;opacity:.5;pointer-events:none}
.p1 .process__shape{width:160px;height:160px;background:var(--mint);bottom:-50px;right:-30px;animation:floaty 7s ease-in-out infinite}
.p2 .process__shape{width:140px;height:140px;background:var(--clay);top:-40px;right:40px;animation:floaty 8s ease-in-out infinite}
.p3 .process__shape{width:180px;height:180px;background:var(--cream);bottom:-60px;right:-40px;opacity:.2;animation:floaty 9s ease-in-out infinite}
.p4 .process__shape{width:130px;height:130px;background:var(--sage);top:30px;right:-30px;animation:floaty 6.5s ease-in-out infinite}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-18px)}}
@media (min-width:768px){
  .gsap-ready .process__track{flex-direction:row;flex-wrap:nowrap;height:100vh;align-items:center;padding-top:0;padding-bottom:0;width:max-content;gap:2rem}
  .gsap-ready .process__panel{flex:0 0 clamp(420px,44vw,620px);height:66vh;min-height:0}
}

/* ===== WORK ===== */
.work{background:var(--cream)}
.work__head{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;flex-wrap:wrap;margin-bottom:3.4rem}
.work__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.4rem,2.6vw,2.4rem)}
@media (max-width:780px){.work__grid{grid-template-columns:1fr}}
.work__card{position:relative;border-radius:24px;overflow:hidden;cursor:pointer}
.work__media{position:relative;aspect-ratio:4/3.1;overflow:hidden}
.work__art{position:absolute;inset:-12%;will-change:transform}
.work__art .sun{position:absolute;border-radius:50%}
.work__art .organ{position:absolute;border-radius:60% 40% 55% 45%/55% 45% 60% 40%;animation:morph 11s ease-in-out infinite}
@keyframes morph{0%,100%{border-radius:60% 40% 55% 45%/55% 45% 60% 40%}50%{border-radius:42% 58% 38% 62%/48% 62% 38% 52%}}
.work__art .seed{position:absolute;width:18px;height:18px;border-radius:50%;background:var(--clay)}
.work__letter{position:absolute;font-family:var(--display);font-weight:800;font-size:15rem;line-height:1;opacity:.14;right:-2rem;bottom:-4rem;transition:transform .7s var(--ease)}
.art-a{background:var(--sage)}
.art-a .sun{width:62%;height:62%;background:var(--cream);top:-10%;left:-6%;opacity:.5}
.art-a .organ{width:46%;height:46%;background:var(--clay);bottom:8%;right:6%}
.art-a .work__letter{color:var(--forest)}
.art-b{background:var(--clay)}
.art-b .sun{width:55%;height:55%;background:var(--cream);bottom:-12%;right:-6%;opacity:.4}
.art-b .organ{width:40%;height:40%;background:var(--forest);top:10%;left:8%}
.art-b .work__letter{color:var(--cream)}
.art-c{background:var(--forest)}
.art-c .sun{width:60%;height:60%;background:var(--sage);top:-8%;right:-8%;opacity:.6}
.art-c .organ{width:42%;height:42%;background:var(--clay);bottom:6%;left:6%}
.art-c .work__letter{color:var(--cream);opacity:.12}
.art-d{background:var(--mint)}
.art-d .sun{width:58%;height:58%;background:var(--sage);bottom:-10%;left:-6%;opacity:.55}
.art-d .organ{width:44%;height:44%;background:var(--clay);top:8%;right:6%}
.art-d .work__letter{color:var(--forest)}
.work__meta{display:flex;justify-content:space-between;align-items:center;padding:1.3rem .3rem .2rem;gap:1rem}
.work__name{font-family:var(--display);font-weight:700;font-size:1.5rem;letter-spacing:-.02em}
.work__cat{font-family:var(--ui);font-size:.82rem;color:var(--sage-deep);letter-spacing:.04em}
.work__chip{position:absolute;top:1.1rem;left:1.1rem;z-index:3;background:var(--cream);color:var(--forest);font-family:var(--ui);font-weight:600;font-size:.78rem;letter-spacing:.02em;padding:.5em 1em;border-radius:100px;transform:translateY(-12px);opacity:0;transition:transform .5s var(--ease),opacity .5s var(--ease)}
.work__view{position:absolute;bottom:1.1rem;left:50%;transform:translate(-50%,16px);z-index:3;background:var(--clay);color:var(--cream);font-family:var(--ui);font-weight:600;font-size:.85rem;padding:.7em 1.4em;border-radius:100px;opacity:0;transition:transform .5s var(--ease),opacity .5s var(--ease)}
@media (hover:hover){
  .work__card:hover .work__art{transform:scale(1.07)}
  .work__card:hover .work__chip{transform:translateY(0);opacity:1}
  .work__card:hover .work__view{transform:translate(-50%,0);opacity:1}
  .work__card:hover .work__letter{transform:translate(-10px,-10px)}
}

/* ===== CTA ===== */
.cta{background:var(--forest);color:var(--cream);position:relative;overflow:hidden;text-align:center}
.cta__sun{position:absolute;left:50%;bottom:-46%;width:min(90vw,820px);height:min(90vw,820px);border-radius:50%;background:radial-gradient(circle at 50% 35%,#e6b591,var(--clay) 52%,var(--clay-deep));transform:translateX(-50%);animation:sunPulse 5s ease-in-out infinite;will-change:transform}
@keyframes sunPulse{0%,100%{box-shadow:0 -30px 120px rgba(201,142,110,.4)}50%{box-shadow:0 -30px 170px rgba(201,142,110,.62)}}
.cta .wrap{position:relative;z-index:2}
.cta__eyebrow{justify-content:center;display:flex;margin-bottom:1.6rem}
.cta__title{font-family:var(--display);font-weight:800;font-size:clamp(2.6rem,8vw,7rem);line-height:.96;letter-spacing:-.035em;max-width:15ch;margin:0 auto}
.cta__sub{margin:1.8rem auto 2.6rem;max-width:40ch;font-size:1.1rem;color:var(--mint)}
.cta__row{display:flex;gap:1rem;justify-content:center;align-items:center;flex-wrap:wrap}
.cta__mail{font-family:var(--ui);font-weight:500;font-size:1.02rem;color:var(--cream);border-bottom:1.5px solid var(--clay);padding-bottom:.2rem;transition:color .3s}
.cta__mail:hover{color:var(--clay)}

/* ===== FOOTER ===== */
.footer{background:var(--forest-2);color:var(--cream);padding:4.5rem 0 2.2rem;overflow:hidden}
.footer__grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:2.5rem}
@media (max-width:820px){.footer__grid{grid-template-columns:1fr 1fr}}
@media (max-width:480px){.footer__grid{grid-template-columns:1fr}}
.footer__brand{display:flex;align-items:center;gap:.7rem;font-family:var(--display);font-weight:700;font-size:1.7rem;letter-spacing:-.02em;margin-bottom:1.2rem}
.footer__brand .logo-img{height:38px}
.footer__about{max-width:32ch;color:var(--mint);font-size:.96rem;line-height:1.6}
.footer__col h4{font-family:var(--ui);font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;color:var(--sage);margin-bottom:1.1rem;font-weight:600}
.footer__col a{display:block;font-family:var(--ui);font-size:.98rem;color:var(--cream);opacity:.82;padding:.32rem 0;transition:opacity .3s,transform .3s,color .3s}
.footer__col a:hover{opacity:1;transform:translateX(4px);color:var(--clay)}
.footer__bottom{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;margin-top:3.4rem;padding-top:1.8rem;border-top:1px solid rgba(247,243,236,.1);font-family:var(--ui);font-size:.82rem;color:var(--mint)}
.to-top{display:inline-flex;align-items:center;gap:.5rem;background:none;border:0;color:var(--cream);font-family:var(--ui);font-size:.85rem;cursor:pointer}
.to-top .seed{width:9px;height:9px;border-radius:50%;background:var(--clay)}

/* ===== FOCUS + REDUCED MOTION ===== */
:focus-visible{outline:2.5px solid var(--clay);outline-offset:3px;border-radius:4px}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
  .preloader{animation:preReduced .4s ease .3s forwards}
  @keyframes preReduced{to{visibility:hidden;opacity:0}}
  .marquee__track{transform:none!important}
}
