/* Provested — Direction A (Signal) · shared styles */
:root{
  --yellow:#F9EF01;
  --ink:#141414;
  --cloud:#F4F4F2;
  --slate:#6B6B6B;
  --line:#E8E8E4;
  --sky:#E9EFFB;
  --radius:12px;
  --pill:99px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Albert Sans',sans-serif;background:#fff;color:var(--ink);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%}
a{color:inherit}
.wrap{max-width:1140px;margin:0 auto;padding:0 28px}

/* reveal */
.rv{opacity:0;transform:translateY(22px);transition:opacity .6s ease,transform .6s ease}
.rv.on{opacity:1;transform:none}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  .rv{opacity:1;transform:none;transition:none}
  .an,.hero-card,.hero .bubble,.hero .badge-rated{opacity:1;animation:none}
  .hero h1 mark{background-size:100% 100%;animation:none}
  .hero-card img,.hero-card .ill,.hero-shapes .f1,.hero-shapes .f2,.hero-shapes .f3,.hero-shapes .plus,.scroll-cue{animation:none}
}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:9px;font-family:inherit;font-size:15px;font-weight:600;text-decoration:none;cursor:pointer;border:none;border-radius:var(--pill);padding:14px 24px;transition:.18s;white-space:nowrap}
.btn .arr{transition:transform .18s}
.btn:hover .arr{transform:translateX(3px)}
.btn-primary{background:var(--ink);color:#fff}
.btn-primary .arr{color:var(--yellow)}
.btn-primary:hover{background:#000}
.btn-yellow{background:var(--yellow);color:var(--ink)}
.btn-yellow:hover{filter:brightness(.96)}
.btn-ghost{background:transparent;color:var(--ink);border:1.5px solid var(--ink)}
.btn-ghost:hover{background:var(--ink);color:#fff}
.btn:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--yellow);outline-offset:2px}

/* phone numbers — copy on hover instead of tel: CTAs */
.phone{display:inline-flex;align-items:center;gap:9px;font-weight:700;white-space:nowrap}
.phone .copy-btn{opacity:0;background:var(--yellow);color:var(--ink);border:none;border-radius:6px;padding:3px 10px;font-family:inherit;font-size:11px;font-weight:800;letter-spacing:.04em;cursor:pointer;transition:opacity .15s,transform .1s}
.phone:hover .copy-btn,.phone .copy-btn:focus-visible{opacity:1}
.phone .copy-btn:active{transform:scale(.94)}
.phone.copied .copy-btn{background:var(--ink);color:var(--yellow)}
.nav-phone{color:#fff;border:1.5px solid #4a4a4a;border-radius:99px;padding:8px 16px;font-size:13.5px;font-weight:600}
.phone-pill{background:var(--cloud);border-radius:99px;padding:12px 20px;font-size:15px}
.foot .phone{font-weight:500;font-size:14px;color:#d8d8d5}

.eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:12.5px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--slate);margin-bottom:18px}
.eyebrow::before{content:"";width:26px;height:13px;background:var(--yellow)}
h2.sec{font-size:clamp(28px,4vw,40px);font-weight:700;letter-spacing:-.02em;line-height:1.12}
.sec-sub{color:var(--slate);font-size:16.5px;line-height:1.65;margin-top:14px}

/* icon tile (custom SVG icons) */
.ic{width:44px;height:44px;border-radius:10px;background:var(--yellow);display:flex;align-items:center;justify-content:center;flex:none}
.ic svg{width:24px;height:24px;stroke:var(--ink);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* nav */
.nav{position:sticky;top:0;z-index:100;background:var(--ink);color:#fff;transition:box-shadow .2s}
.nav.scrolled{box-shadow:0 10px 30px -12px rgba(0,0,0,.5)}
.nav-in{display:flex;align-items:center;justify-content:space-between;height:66px}
.logo{display:flex;align-items:baseline;font-weight:800;font-size:19px;letter-spacing:-.01em;text-decoration:none}
.logo .lname{white-space:nowrap}
.logo .mark{background:var(--yellow);color:var(--ink);padding:2px 6px;margin-right:1px}
.logo small{font-size:9px;font-weight:600;color:#9a9a9a;margin-left:10px;letter-spacing:.08em}
.nav-links{display:flex;gap:28px;list-style:none}
.nav-links a{font-size:14px;font-weight:500;text-decoration:none;opacity:.85;transition:.15s}
.nav-links a:hover{opacity:1;color:var(--yellow)}
.nav-links a.active{opacity:1;color:var(--yellow)}
.nav-cta{display:flex;gap:10px;align-items:center}
.nav .btn{padding:9px 18px;font-size:13.5px}
.burger{display:none;background:none;border:none;color:#fff;font-size:24px;cursor:pointer;padding:6px}
.m-menu{display:none}

/* page hero (inner pages) */
.page-hero{background:var(--cloud);padding:64px 0 56px}
.page-hero h1{font-size:clamp(32px,4.4vw,46px);font-weight:800;letter-spacing:-.025em;line-height:1.1;max-width:700px}
.page-hero h1 mark{background:var(--yellow);padding:0 8px}
.page-hero p{margin-top:16px;font-size:16.5px;line-height:1.65;color:var(--slate);max-width:600px}

/* home hero */
.hero{position:relative;padding:76px 0 56px;overflow:hidden}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center;width:100%}
.hero h1{font-size:clamp(34px,4.6vw,52px);font-weight:800;letter-spacing:-.025em;line-height:1.08}
.hero h1 mark{color:var(--ink);padding:0 8px;background-color:transparent;background-image:linear-gradient(var(--yellow),var(--yellow));background-repeat:no-repeat;background-size:100% 100%}
.hero p.lead{margin-top:20px;font-size:17px;line-height:1.65;color:var(--slate);max-width:470px}
.hero-ctas{display:flex;gap:12px;margin-top:30px;flex-wrap:wrap}
.hero-note{margin-top:18px;font-size:13px;color:var(--slate)}
.hero-note b{color:var(--ink)}
.hero-visual{position:relative;padding-top:78px}
.hero-card{background:#D8D1C7;border-radius:18px;overflow:hidden;position:relative;max-width:480px;margin:0 auto}
.hero-card img{width:100%;height:auto;display:block}

/* hero entrance animation (staged) */
@keyframes heroUp{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
@keyframes markSweep{from{background-size:0% 100%}to{background-size:100% 100%}}
@keyframes popIn{0%{opacity:0;transform:scale(.6) rotate(-4deg)}70%{transform:scale(1.06) rotate(1deg)}100%{opacity:1;transform:scale(1)}}
@keyframes slideIn{from{opacity:0;transform:translateX(-18px)}to{opacity:1;transform:none}}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@keyframes floaty{0%,100%{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-16px) rotate(8deg)}}
@keyframes spinSlow{to{transform:rotate(360deg)}}
@keyframes cueBounce{0%,100%{transform:translate(-50%,0)}50%{transform:translate(-50%,8px)}}
.an{opacity:0;animation:heroUp .65s cubic-bezier(.2,.7,.2,1) forwards}
.an-1{animation-delay:.05s}.an-2{animation-delay:.15s}.an-3{animation-delay:.3s}.an-4{animation-delay:.45s}.an-5{animation-delay:.6s}
.hero h1 mark{background-size:0% 100%;animation:markSweep .6s .75s ease forwards}
.hero .bubble{opacity:0;animation:popIn .5s .9s cubic-bezier(.3,1.4,.5,1) forwards}
.hero .badge-rated{opacity:0;animation:slideIn .5s 1.1s ease forwards}
.hero-card{opacity:0;animation:heroUp .7s .25s cubic-bezier(.2,.7,.2,1) forwards}
.hero-card img,.hero-card .ill{animation:bob 5.5s 1.4s ease-in-out infinite}

/* illustrated line-art scenes (replace placeholder photos) */
.ill{width:100%;height:auto;display:block}
.ill .hs{stroke:var(--ink);fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.ill .hw{fill:#fff;stroke:var(--ink);stroke-width:2.2;stroke-linejoin:round}
.ill .hy{fill:var(--yellow);stroke:var(--ink);stroke-width:2.2;stroke-linejoin:round}
.ill .hd{stroke:var(--ink);fill:none;stroke-width:2.2;stroke-dasharray:2 6;stroke-linecap:round}
.ill .hspark{fill:var(--yellow);stroke:var(--ink);stroke-width:1.6;stroke-linejoin:round}
.ill text{fill:var(--ink);font-family:inherit}
.hero-scene{padding:26px 18px 0}
.how-scene{display:block}

/* light rays (WebGL) */
.light-rays{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:-1}
.light-rays canvas{width:100%;height:100%;display:block}

/* floating decorative shapes */
.hero-shapes{position:absolute;inset:0;pointer-events:none;z-index:-1}
.hero-shapes .sq{position:absolute;background:var(--yellow);border-radius:5px}
.hero-shapes .ring{position:absolute;border:3px solid var(--ink);border-radius:50%;opacity:.12}
.hero-shapes .plus{position:absolute;color:var(--ink);opacity:.14;font-weight:800;animation:spinSlow 24s linear infinite}
.hero-shapes .dotgrid{position:absolute;width:120px;height:120px;opacity:.5;background-image:radial-gradient(var(--line) 2px,transparent 2px);background-size:16px 16px}
.hero-shapes .f1{animation:floaty 7s ease-in-out infinite}
.hero-shapes .f2{animation:floaty 9s 1s ease-in-out infinite}
.hero-shapes .f3{animation:floaty 8s 2s ease-in-out infinite}

/* scroll cue */
.scroll-cue{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:7px;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--slate);text-decoration:none;animation:cueBounce 1.8s ease-in-out infinite}
.scroll-cue .wheel{width:30px;height:30px;border-radius:50%;background:var(--yellow);display:flex;align-items:center;justify-content:center;color:var(--ink);font-size:15px;font-weight:800}

/* squiggle under centred headings */
.squiggle{display:block;margin:14px auto 0;width:120px;height:14px}
.squiggle path{fill:none;stroke:var(--yellow);stroke-width:5;stroke-linecap:round}

/* scene vectors on dark tiles */
.svc-visual .scene{position:absolute;inset:12%;margin:auto;width:76%;height:76%}
.scene .st{stroke:#fff;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;opacity:.9}
.scene .sy{stroke:var(--ink);fill:var(--yellow);stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.scene .sd{stroke:var(--yellow);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.scene .spark{fill:var(--yellow);stroke:none}
.bubble{position:absolute;top:0;right:0;max-width:270px;background:#fff;border:2px solid var(--ink);border-radius:14px;padding:13px 16px;font-size:13.5px;font-weight:600;line-height:1.45;box-shadow:5px 5px 0 var(--yellow);z-index:2}
.bubble::after{content:"";position:absolute;left:30px;bottom:-9px;width:16px;height:16px;background:#fff;border-left:2px solid var(--ink);border-bottom:2px solid var(--ink);transform:rotate(-45deg)}
.badge-rated{position:absolute;left:-14px;bottom:22px;background:var(--ink);color:#fff;border-radius:12px;padding:13px 16px;font-size:12.5px;font-weight:600;line-height:1.4;display:flex;gap:10px;align-items:center;box-shadow:0 18px 40px -16px rgba(0,0,0,.4)}
.badge-rated .num{background:var(--yellow);color:var(--ink);font-weight:800;font-size:16px;width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex:none}
.badge-rated span b{color:var(--yellow)}

/* sponsors strip — bigger badges */
.sponsors{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:30px 0}
.sponsors-in{display:flex;align-items:center;gap:48px;flex-wrap:wrap;justify-content:center}
.sponsors .lbl{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--slate)}
.sponsors img{height:72px;width:auto;opacity:.92;transition:.2s}
.sponsors img:hover{opacity:1;transform:scale(1.04)}
.sponsors-in a{display:inline-flex;border-radius:8px}
.sponsors-in a:focus-visible{outline:3px solid var(--ink);outline-offset:4px}
.sponsors-in a:hover img{opacity:1;transform:scale(1.04)}

/* benefits */
.benefits{padding:88px 0 30px;text-align:center}
.benefits h2{max-width:620px;margin:0 auto}
.bene-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:44px;text-align:left}
.bene{background:var(--cloud);border-radius:var(--radius);padding:28px 26px}
.bene .ic{margin-bottom:16px}
.bene h3{font-size:17px;font-weight:700;margin-bottom:9px}
.bene p{font-size:14.5px;line-height:1.62;color:var(--slate)}

/* service showcase (home) */
.services{padding:80px 0 40px;text-align:center}
.svc-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:44px;text-align:left}
.svc{background:var(--cloud);border-radius:16px;overflow:hidden;display:flex;flex-direction:column}
.svc-visual{height:190px;position:relative;overflow:hidden;background:var(--ink)}
.svc-visual .dots{position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.14) 1.5px,transparent 1.5px);background-size:22px 22px}
.svc-visual .tile{position:absolute;inset:0;display:grid;place-items:center}
.svc-visual .glyph{background:var(--yellow);border-radius:16px;width:104px;height:104px;display:grid;place-items:center;box-shadow:0 24px 50px -20px rgba(249,239,1,.55)}
.svc-visual .glyph svg{width:56px;height:56px;stroke:var(--ink);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.svc-body{padding:28px 28px 30px;display:flex;flex-direction:column;flex:1}
.svc .cat{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--slate);margin-bottom:10px}
.svc h3{font-size:23px;font-weight:700;letter-spacing:-.015em;margin-bottom:12px}
.svc p.desc{font-size:14.5px;line-height:1.65;color:var(--slate);margin-bottom:18px}
.svc ul{list-style:none;margin-bottom:26px}
.svc li{display:flex;gap:10px;font-size:14.5px;font-weight:500;padding:7px 0;line-height:1.5}
.svc li::before{content:"→";color:var(--ink);font-weight:800;background:var(--yellow);border-radius:5px;width:22px;height:22px;flex:none;display:flex;align-items:center;justify-content:center;font-size:12px;margin-top:1px}
.svc .btn{margin-top:auto;align-self:flex-start}

/* values band */
.band{background:var(--ink);color:#fff;padding:88px 0;margin-top:48px}
.band-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:center}
.band .eyebrow{color:#9a9a9a}
.band h2.sec{color:#fff}
.band p{color:#a8a8a5;font-size:15.5px;line-height:1.7;margin-top:16px;max-width:440px}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:34px}
.stat{border:1px solid #2c2c2c;border-radius:12px;padding:16px 14px}
.stat b{display:block;font-size:26px;font-weight:800;color:var(--yellow);letter-spacing:-.02em}
.stat span{font-size:12px;color:#a8a8a5;line-height:1.4;display:block;margin-top:4px}
.values-list{display:flex;flex-direction:column;gap:2px}
.values-list .v{font-size:clamp(34px,4.4vw,52px);font-weight:800;letter-spacing:-.025em;color:#3a3a3a;transition:color .35s;line-height:1.18}
.values-list .v.lit{color:#fff}
.values-list .v.lit::after{content:"";display:inline-block;width:14px;height:14px;background:var(--yellow);margin-left:14px}

/* how it works */
.how{padding:92px 0}
.how-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:60px;align-items:start}
.how-left{position:sticky;top:96px}
.how-left .visual{margin-top:28px;background:var(--sky);border-radius:16px;overflow:hidden;display:flex;justify-content:center;padding:22px 20px 0}
.how-left .visual img{width:min(70%,300px)}
.steps{display:flex;flex-direction:column;gap:14px}
.step{background:var(--cloud);border:2px solid transparent;border-radius:14px;padding:24px 26px;transition:border-color .25s, background .25s}
.step.active{border-color:var(--ink);background:#fff;box-shadow:6px 6px 0 var(--yellow)}
.step .n{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:8px;background:var(--ink);color:var(--yellow);font-weight:800;font-size:14px;margin-bottom:12px}
.step h3{font-size:17.5px;font-weight:700;margin-bottom:8px}
.step p{font-size:14.5px;line-height:1.62;color:var(--slate)}

/* testimonials */
.quotes{background:var(--cloud);padding:88px 0}
.quotes .head{text-align:center;max-width:560px;margin:0 auto}
.stars{color:#F5B301;letter-spacing:3px;font-size:18px;margin-top:10px}
.q-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:44px}
.q-card{background:#fff;border-radius:16px;padding:32px 30px;position:relative}
.q-card .qq{position:absolute;top:24px;right:26px;font-size:52px;font-weight:800;color:var(--yellow);line-height:.6;font-family:Georgia,serif}
.q-card .src{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--slate);margin-bottom:14px}
.q-card blockquote{font-size:15px;line-height:1.7;color:#333;border:none}
.q-card .who{margin-top:18px;display:flex;align-items:center;gap:10px;font-weight:700;font-size:14.5px}
.q-card .who::before{content:"";width:22px;height:11px;background:var(--yellow)}

/* help cta */
.help{padding:92px 0 60px}
.help-in{display:flex;align-items:center;gap:44px}
.help .pic{width:190px;height:190px;border-radius:50%;background:#D8D1C7;flex:none;overflow:hidden;display:flex;align-items:center;justify-content:center;border:5px solid var(--ink)}
.help .pic img{width:100%;height:100%;object-fit:contain}
.help h2{font-size:clamp(26px,3.4vw,36px);font-weight:800;letter-spacing:-.02em}
.help p{color:var(--slate);font-size:15.5px;line-height:1.65;margin:12px 0 22px;max-width:480px}

/* faq */
.faq{padding:20px 0 80px}
.faq .head{text-align:center;margin-bottom:36px}
.faq-list{max-width:760px;margin:0 auto;display:flex;flex-direction:column;gap:10px}
details{background:var(--cloud);border-radius:12px;overflow:hidden}
summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:19px 22px;font-size:15.5px;font-weight:600}
summary::-webkit-details-marker{display:none}
summary .plus{flex:none;width:26px;height:26px;border-radius:7px;background:var(--yellow);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:16px;transition:transform .2s}
details[open] summary .plus{transform:rotate(45deg)}
details .a{padding:0 22px 20px;font-size:14.5px;line-height:1.68;color:var(--slate);max-width:640px}

/* final cards */
.final{padding:0 0 92px}
.final-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.f-card{border-radius:16px;padding:36px 32px;display:flex;flex-direction:column;gap:10px;text-decoration:none;transition:transform .2s}
.f-card:hover{transform:translateY(-3px)}
.f-card h3{font-size:23px;font-weight:700;letter-spacing:-.015em;display:flex;justify-content:space-between;align-items:center;gap:14px}
.f-card p{font-size:14.5px;line-height:1.6}
.f-card .go{flex:none;width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:17px}
.f-dark{background:var(--ink);color:#fff}
.f-dark p{color:#b5b5b2}
.f-dark .go{background:var(--yellow);color:var(--ink)}
.f-light{background:#fff;border:2px solid var(--ink);color:var(--ink)}
.f-light p{color:var(--slate)}
.f-light .go{background:var(--ink);color:var(--yellow)}

/* ---- services page ---- */
.svc-detail{padding:76px 0;border-bottom:1px solid var(--line)}
.svc-detail:last-of-type{border-bottom:none}
.svc-detail-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:56px;align-items:center}
.svc-detail-grid.flip{grid-template-columns:1.15fr 1fr}
.svc-detail .visual{background:var(--ink);border-radius:16px;height:280px;position:relative;overflow:hidden}
.svc-detail .visual .dots{position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.14) 1.5px,transparent 1.5px);background-size:22px 22px}
.svc-detail .visual .tile{position:absolute;inset:0;display:grid;place-items:center}
.svc-detail .visual .glyph{background:var(--yellow);border-radius:18px;width:120px;height:120px;display:grid;place-items:center;box-shadow:0 24px 50px -20px rgba(249,239,1,.55)}
.svc-detail .visual .glyph svg{width:64px;height:64px;stroke:var(--ink);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.svc-detail h2{font-size:clamp(24px,3.2vw,32px);font-weight:700;letter-spacing:-.02em;margin-bottom:12px}
.svc-detail p.desc{font-size:15px;line-height:1.7;color:var(--slate);margin-bottom:18px}
.svc-detail ul{list-style:none;margin-bottom:24px}
.svc-detail li{display:flex;gap:10px;font-size:14.5px;font-weight:500;padding:7px 0;line-height:1.5}
.svc-detail li::before{content:"→";color:var(--ink);font-weight:800;background:var(--yellow);border-radius:5px;width:22px;height:22px;flex:none;display:flex;align-items:center;justify-content:center;font-size:12px;margin-top:1px}
.audience{background:var(--cloud);padding:76px 0;text-align:center}
.aud-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:40px;text-align:left}
.aud{background:#fff;border-radius:16px;padding:30px 28px}
.aud h3{font-size:20px;font-weight:700;margin:14px 0 10px}
.aud p{font-size:14.5px;line-height:1.65;color:var(--slate)}

/* ---- about page ---- */
.about-body{padding:76px 0}
.about-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:start}
.about-grid .prose p{font-size:15.5px;line-height:1.75;color:#3c3c3a;margin-bottom:18px}
.about-grid .prose p b{color:var(--ink)}
.cred{background:var(--cloud);border-radius:16px;padding:28px 26px;margin-bottom:16px}
.cred h3{font-size:16px;font-weight:700;margin-bottom:8px;display:flex;align-items:center;gap:12px}
.cred p{font-size:14px;line-height:1.6;color:var(--slate)}

/* ---- contact page ---- */
.contact-body{padding:76px 0}
.contact-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:start}
.form-card{background:var(--cloud);border-radius:16px;padding:34px 32px}
.form-card h2{font-size:24px;font-weight:700;margin-bottom:6px}
.form-card .hint{font-size:13.5px;color:var(--slate);margin-bottom:24px}
.field{margin-bottom:16px}
.field label{display:block;font-size:13px;font-weight:700;margin-bottom:7px}
.field input,.field select,.field textarea{width:100%;font-family:inherit;font-size:14.5px;padding:13px 14px;border:1.5px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);transition:border-color .15s}
.field input:hover,.field select:hover,.field textarea:hover{border-color:#c9c9c4}
.field textarea{min-height:120px;resize:vertical}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.form-ok{display:none;background:var(--yellow);border-radius:10px;padding:14px 16px;font-size:14px;font-weight:600;margin-top:14px}
.contact-info h2{font-size:24px;font-weight:700;margin-bottom:18px}
.info-card{display:flex;gap:16px;align-items:flex-start;background:#fff;border:1.5px solid var(--line);border-radius:14px;padding:20px;margin-bottom:12px;text-decoration:none;transition:border-color .15s}
.info-card:hover{border-color:var(--ink)}
.info-card b{display:block;font-size:15px;margin-bottom:3px}
.info-card span{font-size:13.5px;color:var(--slate);line-height:1.5}

/* footer */
footer{background:var(--ink);color:#fff;padding:64px 0 30px}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:36px}
.foot h4{font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#8f8f8c;margin-bottom:16px}
.foot ul{list-style:none;display:flex;flex-direction:column;gap:10px}
.foot a{font-size:14px;text-decoration:none;color:#d8d8d5;transition:.15s}
.foot a:hover{color:var(--yellow)}
.foot p{font-size:14px;color:#d8d8d5;line-height:1.7}
.foot .values-line{margin-top:14px;font-size:12.5px;color:#8f8f8c;line-height:1.6}
.foot .values-line b{color:var(--yellow);font-weight:700}
.foot-bottom{border-top:1px solid #2c2c2c;margin-top:46px;padding-top:22px;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;font-size:12.5px;color:#8f8f8c}
.foot-bottom a{color:#8f8f8c;text-decoration:none}
.foot-bottom a:hover{color:var(--yellow)}

/* responsive */
@media (max-width:960px){
  .hero-grid,.band-grid,.how-grid,.about-grid,.contact-grid,.svc-detail-grid,.svc-detail-grid.flip{grid-template-columns:1fr}
  .how-left{position:static}
  .bene-grid,.svc-grid,.q-grid,.final-grid,.aud-grid{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr 1fr}
  .field-row{grid-template-columns:1fr}
  .nav-links,.nav-cta .btn-ghost,.nav-cta .nav-phone{display:none}
  .burger{display:block}
  .m-menu.open{display:block;background:var(--ink);padding:8px 28px 22px}
  .m-menu.open a{display:block;color:#fff;text-decoration:none;font-size:16px;font-weight:600;padding:11px 0;border-bottom:1px solid #2c2c2c}
  .hero{padding-top:36px}
  .bubble{position:static;margin:18px auto 0;max-width:none;box-shadow:4px 4px 0 var(--yellow)}
  .bubble::after{display:none}
  .hero-visual{padding-top:0}
  .badge-rated{position:static;margin-top:14px}
  .scroll-cue,.hero-shapes,.light-rays{display:none}
  .nav .logo{flex-direction:column;align-items:flex-start;line-height:1.05}
  .nav .logo small{margin-left:0;margin-top:8px}
  .hero-visual{display:flex;flex-direction:column}
  .help-in{flex-direction:column;text-align:center;align-items:center}
  .sponsors img{height:56px}
  .svc-detail-grid.flip .visual{order:-1}
}
