:root{
  --bg:#fff7ed;
  --bg-2:#fffdf7;
  --surface:#fffaf2;
  --surface-2:#fff2de;
  --text:#1f2937;
  --muted:#4b5563;
  --line:rgba(31,41,55,.12);
  --line-strong:rgba(31,41,55,.22);
  --orange:#ff8a65;
  --orange-2:#f97316;
  --gold:#facc15;
  --purple:#7c3aed;
  --teal:#14b8a6;
  --shadow:0 20px 60px rgba(249,115,22,.12);
  --shadow-2:0 18px 40px rgba(124,58,237,.12);
  --display:"Manrope",system-ui,-apple-system,Segoe UI,sans-serif;
  --body:"Inter",system-ui,-apple-system,Segoe UI,sans-serif;
  --hand:"Caveat",cursive;
  --max:1220px;
  --gut:clamp(1rem,3.8vw,2rem);
  --bay:clamp(3.5rem,6vw,5.5rem);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--body);background:var(--bg);color:var(--text);overflow-x:hidden}
a{color:inherit}
img{max-width:100%;display:block}
:focus-visible{outline:3px solid var(--purple);outline-offset:3px}

.wrap{width:100%;max-width:var(--max);margin:0 auto;padding:0 var(--gut)}
.eyebrow{display:inline-flex;align-items:center;gap:.6rem;font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;font-weight:800;color:var(--purple)}
.eyebrow::before{content:"";width:24px;height:2px;background:var(--purple);border-radius:99px}
.kicker{font-family:var(--hand);font-size:clamp(1.35rem,2vw,1.8rem);color:#c2410c;transform:rotate(-4deg);display:inline-block}
h1,h2,h3{font-family:var(--display);line-height:1;letter-spacing:-.04em;margin:0}
h1{font-size:clamp(3rem,7vw,6.4rem)}
h2{font-size:clamp(2rem,4vw,3.3rem)}
h3{font-size:clamp(1.12rem,1.55vw,1.45rem)}
p{margin:0;line-height:1.7;color:var(--muted)}

.topbar{position:sticky;top:0;z-index:50;backdrop-filter:blur(16px);background:rgba(255,247,237,.96);border-bottom:1px solid var(--line)}
.topbar-in{min-height:74px;display:flex;align-items:center;gap:1rem}
.brand{display:flex;align-items:center;gap:.8rem;text-decoration:none;margin-right:auto}
.brand-badge{width:42px;height:42px;border-radius:14px;background:linear-gradient(135deg,var(--orange),var(--purple));box-shadow:var(--shadow-2);display:grid;place-items:center;color:#fff;font-weight:800}
.brand-name{display:flex;flex-direction:column;line-height:1.1}
.brand-name b{font-family:var(--display);font-size:1.04rem}
.brand-name span{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--purple);font-weight:800}
.nav{display:flex;gap:1.15rem;flex-wrap:wrap}
.nav a{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;color:#4b5563;font-weight:800;position:relative;padding:.4rem 0}
.nav a::after{content:"";position:absolute;left:0;bottom:0;width:0;height:2px;background:var(--orange);transition:width .25s ease}
.nav a:hover{color:var(--text)}
.nav a:hover::after{width:100%}
.cta{margin-left:1rem;text-decoration:none;font-size:.8rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#fff;background:#128c7e;padding:.95rem 1.25rem;border-radius:999px;box-shadow:0 12px 28px rgba(18,140,126,.2)}
@media (max-width:1180px){.nav{gap:.72rem}.nav a{font-size:.66rem;letter-spacing:.09em}.cta{font-size:.7rem;padding:.8rem .95rem}}
@media (max-width:1040px){.nav{display:none}.cta{display:none}}

.hero{position:relative;isolation:isolate;overflow:hidden;padding:clamp(2.4rem,4vw,3.5rem) 0 clamp(2rem,3.5vw,3rem);background:linear-gradient(135deg,rgba(255,138,101,.14),rgba(124,58,237,.08) 55%,rgba(250,204,21,.18));border-bottom:1px solid var(--line)}
.hero::before,.hero::after{content:"";position:absolute;z-index:-1;border-radius:50%;pointer-events:none}
.hero::before{width:280px;height:280px;left:-120px;bottom:-150px;background:rgba(249,115,22,.16)}
.hero::after{width:330px;height:330px;right:-150px;bottom:-170px;background:rgba(20,184,166,.18)}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,4vw,3.6rem);align-items:start}
@media (max-width: 980px){.hero-grid{grid-template-columns:1fr}}
.hero-copy{position:relative}
.hero-copy .stamp{position:static;display:inline-block;margin-left:.7rem;background:var(--gold);color:#4c3b00;font-family:var(--display);font-weight:800;padding:.5rem .72rem;border-radius:18px;transform:rotate(5deg);box-shadow:var(--shadow);vertical-align:middle}
.hero h1{max-width:11ch;margin-top:.6rem;font-size:clamp(2.7rem,4.8vw,4.7rem);font-weight:800;line-height:.9}
.hero h1 .accent{display:block;color:var(--purple)}
.hero h1 .small{display:block;font-size:clamp(1.1rem,1.7vw,1.5rem);letter-spacing:-.03em;color:#c2410c;margin-bottom:.2rem}
.hero p{max-width:58ch;font-size:1rem;margin-top:1.15rem}
.hero-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.35rem}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.65rem;text-decoration:none;font-weight:800;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;padding:1rem 1.25rem;border-radius:999px;transition:transform .25s ease,box-shadow .25s ease,background .25s ease}
.btn:hover{transform:translateY(-2px)}
.btn-primary{color:#fff;background:var(--purple);box-shadow:var(--shadow)}
.btn-secondary{color:var(--text);background:var(--surface);border:1px solid var(--line-strong)}

.hero-card{position:relative;width:100%;max-width:none;margin-left:auto}
.hero-card .frame{background:linear-gradient(180deg,rgba(255,255,255,.9),rgba(255,255,255,.72));border:1px solid var(--line);border-radius:28px;padding:1rem;box-shadow:var(--shadow);position:relative;overflow:hidden}
.hero-card .frame::before{content:"";position:absolute;inset:-10% auto auto -12%;width:260px;height:260px;background:radial-gradient(circle,rgba(250,204,21,.45),transparent 62%);filter:blur(4px)}
.hero-card .frame::after{content:"";position:absolute;right:-8%;bottom:-10%;width:220px;height:220px;background:radial-gradient(circle,rgba(124,58,237,.18),transparent 68%);}
.window-bar{display:flex;align-items:center;gap:.45rem;margin-bottom:1rem}
.dot{width:11px;height:11px;border-radius:50%}
.dot.r{background:#fb7185}.dot.y{background:#fbbf24}.dot.g{background:#34d399}
.site-chip{margin-left:auto;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;font-weight:800;color:var(--purple)}
.profile{display:grid;grid-template-columns:1fr;gap:1rem;position:relative;z-index:1}
.profile-top{display:grid;grid-template-columns:1fr .92fr;gap:1rem;align-items:stretch}
@media (max-width: 560px){.profile-top{grid-template-columns:1fr}}
.profile-copy{padding:1rem}
.profile-copy .name{font-family:var(--display);font-size:clamp(1.55rem,2.35vw,2.1rem);line-height:1;margin-top:.2rem}
.profile-copy .role{margin-top:.55rem;font-weight:800;color:var(--purple);text-transform:uppercase;letter-spacing:.12em;font-size:.75rem}
.profile-copy .desc{margin-top:.7rem;max-width:30ch;font-size:.88rem;line-height:1.5}
.profile-photo{background:linear-gradient(135deg,var(--surface-2),var(--surface));border-radius:22px;padding:.8rem;border:1px solid var(--line);display:flex;flex-direction:column;gap:.8rem;box-shadow:var(--shadow)}
.profile-photo{min-height:100%;align-self:stretch}
.profile-photo img{width:100%;height:100%;min-height:0;flex:1 1 auto;aspect-ratio:auto;object-fit:cover;object-position:center 20%;border-radius:18px}
.profile-photo .photo-note{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;font-weight:800;color:var(--purple)}
.profile-simple{display:grid;grid-template-columns:.75fr 1.25fr;gap:1rem;align-items:center;position:relative;z-index:1}
.profile-simple-photo{background:linear-gradient(135deg,var(--surface-2),var(--surface));border-radius:22px;padding:.7rem;border:1px solid var(--line);box-shadow:var(--shadow)}
.profile-simple-photo img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center 18%;border-radius:17px}
.profile-simple-copy{padding:.4rem 0}
.profile-simple-copy .name{font-family:var(--display);font-size:clamp(1.5rem,2.3vw,2.05rem);line-height:1.02;margin-top:.35rem}
.profile-simple-copy .role{margin-top:.6rem;font-weight:800;color:var(--purple);text-transform:uppercase;letter-spacing:.1em;font-size:.68rem;line-height:1.35}
.profile-simple-copy .desc{margin-top:.8rem;font-size:.86rem;line-height:1.55}
.profile-details{margin-top:1rem;border:1px solid var(--line);border-radius:17px;background:rgba(255,255,255,.66);position:relative;z-index:1}
.profile-details summary{cursor:pointer;list-style:none;padding:.75rem .85rem;font-size:.78rem;font-weight:800;color:var(--purple);letter-spacing:.08em;text-transform:uppercase}
.profile-details summary::-webkit-details-marker{display:none}
.profile-details summary::after{content:"+";float:right;font-size:1rem;line-height:.8}
.profile-details[open] summary::after{content:"–"}
.profile-details p{padding:0 .85rem .8rem;font-size:.82rem;line-height:1.5}
@media (max-width:560px){.profile-simple{grid-template-columns:1fr}.profile-simple-photo img{aspect-ratio:1.2/1}.profile-simple-copy{padding:0}}
.orbit-card{background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(255,242,222,.9) 52%,rgba(124,58,237,.1));border:1px solid var(--line);border-radius:30px;padding:1rem;box-shadow:var(--shadow);overflow:hidden}
.orbit-top{display:flex;align-items:center;gap:.45rem;margin-bottom:.25rem}
.orbit-top .site-chip{margin-left:auto}
.orbit-stage{position:relative;min-height:390px;display:grid;place-items:center;overflow:hidden}
.orbit-ring{position:absolute;aspect-ratio:1;border:1px solid rgba(124,58,237,.2);border-radius:50%;transition:transform .6s ease,border-color .6s ease}
.orbit-ring.ring-one{width:90%;border-color:rgba(249,115,22,.2)}
.orbit-ring.ring-two{width:70%;border-color:rgba(124,58,237,.22)}
.orbit-ring.ring-three{width:50%;border-color:rgba(20,184,166,.3);box-shadow:0 0 40px rgba(250,204,21,.18)}
.orbit-stage:hover .ring-one{transform:rotate(8deg) scale(1.02);border-color:rgba(249,115,22,.42)}
.orbit-stage:hover .ring-two{transform:rotate(-10deg) scale(1.03);border-color:rgba(124,58,237,.42)}
.orbit-stage:hover .ring-three{transform:scale(1.06);border-color:rgba(20,184,166,.5)}
.orbit-photo{position:relative;z-index:2;width:clamp(130px,15vw,176px);aspect-ratio:4/5;object-fit:cover;object-position:center 18%;border-radius:50% 50% 44% 44%;border:5px solid #fff;box-shadow:0 14px 36px rgba(124,58,237,.22)}
.orbit-badge{position:absolute;z-index:3;padding:.55rem .7rem;border-radius:13px;background:rgba(255,255,255,.94);border:1px solid var(--line);box-shadow:0 10px 24px rgba(31,41,55,.1);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;font-weight:800;color:var(--purple)}
.orbit-badge.one{top:13%;right:10%}.orbit-badge.two{left:5%;top:42%;color:#c2410c}.orbit-badge.three{right:6%;bottom:18%;color:#0f766e}.orbit-badge.four{left:12%;bottom:8%;color:#4c3b00;background:rgba(250,204,21,.82)}
.orbit-copy{position:relative;z-index:4;padding:.9rem 1rem 1rem;background:rgba(255,255,255,.62);border:1px solid var(--line);border-radius:18px}
.orbit-copy h3{margin-top:.45rem;font-size:1.25rem}
.orbit-copy p{margin-top:.45rem;font-size:.86rem}
@media (max-width:560px){.orbit-stage{min-height:330px}.orbit-badge{font-size:.6rem;padding:.45rem .55rem}.orbit-badge.one{right:3%}.orbit-badge.two{left:1%}.orbit-badge.three{right:1%}.orbit-badge.four{left:5%}}
.hero-image-frame{position:relative;width:100%;background:#ffd9c3;border:0;border-radius:30px;padding:.75rem;box-shadow:0 22px 44px rgba(194,65,12,.12);overflow:visible}
.hero-image-frame img{display:block;width:100%;max-height:620px;aspect-ratio:4/5;object-fit:cover;object-position:center 14%;border-radius:24px}
.hero-role-tag{position:absolute;right:-2.5rem;top:14%;z-index:3;max-width:190px;padding:.8rem 1rem;border-radius:16px;background:var(--purple);color:#fff;box-shadow:0 16px 32px rgba(124,58,237,.22);font-family:var(--display);font-size:.85rem;font-weight:800;line-height:1.1;transform:rotate(-8deg)}
.hero-role-tag span{display:block;margin-top:.35rem;color:var(--gold);font-family:var(--hand);font-size:1.3rem;font-weight:700}
.hero-proof{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:1.3rem;padding:.85rem .7rem;background:rgba(255,255,255,.86);border:1px solid var(--line);border-radius:24px;box-shadow:0 14px 34px rgba(31,41,55,.06)}
.hero-proof .stat{background:transparent;border:0;border-right:1px solid var(--line);border-radius:0;box-shadow:none;padding:.7rem 1rem}
.hero-proof .stat:last-child{border-right:0}
.hero-proof .stat strong{font-size:clamp(1.8rem,2.6vw,2.4rem)}
.hero-proof .stat span{font-size:.68rem}
.hero-note{align-self:center;margin-left:.3rem;color:#c2410c;font-family:var(--hand);font-size:1.5rem;font-weight:700;transform:rotate(-5deg)}
@media (max-width:1100px){.hero-role-tag{right:-1rem}}
@media (max-width:760px){.hero-proof{grid-template-columns:repeat(2,1fr)}.hero-proof .stat:nth-child(2){border-right:0}.hero-proof .stat:nth-child(-n+2){border-bottom:1px solid var(--line)}.hero-proof .stat{padding:.7rem .8rem}}
@media (max-width:560px){.hero-role-tag{right:.6rem;top:8%;font-size:.72rem;padding:.65rem .75rem}.hero-role-tag span{font-size:1.05rem}}
@media (max-width:560px){.hero-image-frame{padding:.55rem;border-radius:24px}.hero-image-frame img{aspect-ratio:4/5;border-radius:20px}.hero-note{width:100%;margin:.15rem 0 0;font-size:1.35rem}}

/* Reference-led dashboard hero: the warm palette is translated into a dark, high-contrast canvas. */
.dashboard-hero{background:#21192f;border-bottom:0;color:#fff;padding:1.25rem 0 2rem}
.dashboard-hero::before{width:360px;height:360px;left:-190px;bottom:-210px;background:rgba(249,115,22,.2)}
.dashboard-hero::after{width:440px;height:440px;right:-220px;bottom:-260px;background:rgba(124,58,237,.18)}
.dashboard-hero .dashboard-wrap{max-width:1320px}
.dashboard-tools{display:flex;flex-wrap:wrap;gap:.45rem;margin-bottom:1.25rem}
.dashboard-tool{border:1px solid rgba(255,255,255,.22);border-radius:999px;padding:.28rem .55rem;color:#f8eede;background:rgba(255,255,255,.08);font-size:.54rem;letter-spacing:.08em;text-transform:uppercase;font-weight:800}
.dashboard-tool.active{color:#21192f;background:var(--gold);border-color:var(--gold)}
.dashboard-main{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.78fr);gap:clamp(1rem,2.6vw,2.25rem);align-items:start}
.dashboard-copy{max-width:720px;padding:0}
.dashboard-copy .eyebrow{color:#facc15}
.dashboard-copy .eyebrow::before{background:#facc15}
.dashboard-copy h1{margin-top:.7rem;max-width:13ch;color:#fff;font-size:clamp(2.4rem,4.05vw,3.9rem);line-height:.92;letter-spacing:-.055em;font-weight:800;text-wrap:balance}
.dashboard-copy h1 .accent{position:relative;color:#d8b4fe}
.dashboard-copy h1 .accent::after{content:"";position:absolute;left:.08em;bottom:-.04em;width:2.6rem;height:.12em;border-radius:99px;background:var(--orange);transform:rotate(-3deg)}
.dashboard-copy h1 .small{display:inline;font-size:inherit;color:#fff;letter-spacing:inherit}
.dashboard-copy p{max-width:58ch;margin-top:.85rem;color:#e9deef;font-size:.96rem;line-height:1.55}
.dashboard-actions{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:1.05rem}
.dashboard-actions .btn-primary{color:#21192f;background:var(--gold);box-shadow:0 10px 28px rgba(250,204,21,.18)}
.dashboard-actions .btn-secondary{color:#fff;background:transparent;border-color:rgba(255,255,255,.34)}
.dashboard-actions .btn-secondary:hover{background:rgba(255,255,255,.1)}
.dashboard-proofline{display:flex;flex-wrap:wrap;gap:.85rem;margin-top:.85rem;color:#dfd2e8;font-size:.7rem}
.dashboard-proofline span::before{content:"•";margin-right:.45rem;color:var(--teal)}
.dashboard-photo-card{position:relative;justify-self:end;width:min(100%,390px);padding:1rem;background:#f7efe7;border:1px solid rgba(255,255,255,.2);border-radius:26px;box-shadow:0 24px 50px rgba(0,0,0,.2);transform:rotate(1deg)}
.dashboard-photo-card::before{content:"";position:absolute;inset:.7rem;border:1px solid rgba(124,58,237,.18);border-radius:19px;pointer-events:none}
.dashboard-photo-card img{width:100%;height:clamp(270px,27vw,360px);aspect-ratio:auto;object-fit:cover;object-position:center 12%;border-radius:19px}
.dashboard-label{position:absolute;right:-1.4rem;top:13%;max-width:190px;padding:.7rem .8rem;border-radius:12px;background:#352057;border:1px solid rgba(216,180,254,.45);color:#fff;font-family:var(--display);font-size:.67rem;font-weight:800;line-height:1.2;box-shadow:0 14px 25px rgba(0,0,0,.2);transform:rotate(-6deg)}
.dashboard-label strong{display:block;color:#facc15;font-size:.86rem}
.dashboard-label span{display:block;margin-top:.2rem;color:#f7d6c5;font-weight:600}
.dashboard-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:.7rem;margin-top:.95rem}
.dashboard-metric{min-height:106px;padding:1rem;border:1px solid rgba(255,255,255,.2);border-radius:12px;background:rgba(255,255,255,.055)}
.dashboard-metric strong{display:block;color:#fff;font-family:var(--display);font-size:clamp(1.45rem,2.8vw,2.35rem);line-height:1}
.dashboard-metric b{display:block;margin-top:.35rem;color:#facc15;font-size:.61rem;letter-spacing:.1em;text-transform:uppercase}
.dashboard-metric span{display:block;margin-top:.35rem;color:#cdbed7;font-size:.64rem;line-height:1.35}
.dashboard-metric:nth-child(2) b{color:#f9a27d}.dashboard-metric:nth-child(3) b{color:#5eead4}.dashboard-metric:nth-child(4) b{color:#fcd34d}
.dashboard-method{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1.25rem;align-items:center;margin-top:.8rem;padding:1rem 1.1rem;border:1px solid rgba(255,255,255,.2);border-radius:13px;background:rgba(255,255,255,.055)}
.dashboard-method .eyebrow{font-size:.58rem;color:#f9a27d}.dashboard-method .eyebrow::before{background:#f9a27d;width:16px}
.dashboard-method h2{margin-top:.4rem;color:#fff;font-size:clamp(1.1rem,2vw,1.55rem);line-height:1.05}
.dashboard-method p{margin-top:.35rem;color:#cdbed7;font-size:.73rem;line-height:1.45;max-width:75ch}
.dashboard-method-actions{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:flex-end}
.dashboard-method-actions a{border:1px solid rgba(255,255,255,.24);border-radius:7px;padding:.55rem .7rem;color:#fff;text-decoration:none;font-size:.63rem;font-weight:800;white-space:nowrap}
.dashboard-method-actions a:last-child{color:#21192f;background:#d8b4fe;border-color:#d8b4fe}
@media (max-width:900px){.dashboard-photo-card{justify-self:end;width:min(100%,390px)}.dashboard-copy{padding-bottom:0}.dashboard-metrics{grid-template-columns:repeat(2,1fr)}.dashboard-method{grid-template-columns:1fr}.dashboard-method-actions{justify-content:flex-start}}
@media (max-width:760px){.dashboard-main{grid-template-columns:1fr}.dashboard-photo-card{justify-self:start;width:min(100%,440px)}.dashboard-photo-card img{height:auto;aspect-ratio:4/5}}
@media (max-width:560px){.dashboard-hero{padding-top:1rem}.dashboard-copy h1{max-width:11ch;font-size:clamp(2.2rem,10vw,3.15rem)}.dashboard-copy p{font-size:.9rem}.dashboard-actions .btn{width:auto}.dashboard-photo-card{width:calc(100% - .65rem);margin-right:.65rem}.dashboard-label{right:-.2rem}.dashboard-metrics{gap:.5rem}.dashboard-metric{min-height:94px;padding:.75rem}.dashboard-metric span{font-size:.59rem}.dashboard-method{padding:.85rem}.dashboard-method-actions a{flex:1;text-align:center}}
.profile-box{background:linear-gradient(135deg,var(--orange),var(--gold));border-radius:22px;padding:.85rem 1rem;color:#40210f;box-shadow:var(--shadow)}
.profile-box b{display:block;font-size:2rem;font-family:var(--display);line-height:1}
.profile-box span{display:block;margin-top:.45rem;font-size:.86rem;line-height:1.4;font-weight:700}
.profile-pills{display:flex;flex-wrap:wrap;gap:.45rem;padding:0 1rem 1rem}
.pill{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;font-weight:800;background:var(--surface);border:1px solid var(--line);padding:.55rem .75rem;border-radius:999px}
.pill.purple{background:rgba(124,58,237,.08);color:var(--purple)}
.pill.orange{background:rgba(249,115,22,.09);color:#c2410c}
.pill.teal{background:rgba(20,184,166,.1);color:#0f766e}

.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem;margin-top:.9rem}
@media (max-width: 760px){.stats{grid-template-columns:repeat(2,1fr)}}
.stat{background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:.9rem;box-shadow:0 10px 26px rgba(31,41,55,.04)}
.stat strong{display:block;font-family:var(--display);font-size:clamp(1.75rem,3vw,2.4rem);line-height:1}
.stat span{display:block;margin-top:.45rem;font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;font-weight:800;color:var(--muted)}
.hero-copy .stats{grid-template-columns:repeat(2,1fr);margin-top:1.3rem}

section{padding:var(--bay) 0;border-top:1px solid rgba(31,41,55,.08);background:#fff}
section:nth-of-type(odd){background:#fffdfa}
/* Keep the new reference structure inside the site's established warm palette. */
.hero.dashboard-hero{background:var(--bg);color:var(--text);border-bottom:1px solid var(--line)}
.hero.dashboard-hero::before{background:rgba(249,115,22,.1)}
.hero.dashboard-hero::after{background:rgba(124,58,237,.1)}
.dashboard-tool{color:var(--muted);background:rgba(255,255,255,.7);border-color:var(--line-strong)}
.dashboard-tool.active{color:#4c3b00;background:var(--gold);border-color:var(--gold)}
.dashboard-copy .eyebrow{color:var(--purple)}
.dashboard-copy .eyebrow::before{background:var(--purple)}
.dashboard-copy h1{color:var(--text)}
.dashboard-copy h1 .accent{color:var(--purple)}
.dashboard-copy h1 .small{color:var(--text)}
.dashboard-copy p{color:var(--muted)}
.dashboard-actions .btn-primary{color:#fff;background:var(--purple);box-shadow:var(--shadow-2)}
.dashboard-actions .btn-secondary{color:var(--text);background:var(--surface);border-color:var(--line-strong)}
.dashboard-actions .btn-secondary:hover{background:#fff}
.dashboard-proofline{color:var(--muted)}
.dashboard-photo-card{border-color:var(--line);box-shadow:var(--shadow)}
.dashboard-label{background:var(--purple);border-color:rgba(124,58,237,.35);box-shadow:var(--shadow-2)}
.dashboard-metric{border-color:var(--line);background:rgba(255,255,255,.75)}
.dashboard-metric strong{color:var(--text)}
.dashboard-metric b{color:#c2410c}
.dashboard-metric span{color:var(--muted)}
.dashboard-metric:nth-child(2) b{color:#c2410c}.dashboard-metric:nth-child(3) b{color:#0f766e}.dashboard-metric:nth-child(4) b{color:#a16207}
.dashboard-method{border-color:var(--line);background:rgba(255,255,255,.7)}
.dashboard-method .eyebrow{color:#c2410c}.dashboard-method .eyebrow::before{background:#c2410c}
.dashboard-method h2{color:var(--text)}
.dashboard-method p{color:var(--muted)}
.dashboard-method-actions a{color:var(--text);border-color:var(--line-strong);background:var(--surface)}
.dashboard-method-actions a:last-child{color:#fff;background:var(--purple);border-color:var(--purple)}
#contact{background:linear-gradient(135deg,rgba(255,138,101,.12),rgba(124,58,237,.08) 45%,rgba(250,204,21,.12))}
.section-head{display:flex;justify-content:space-between;gap:2rem;align-items:end;margin-bottom:2rem;flex-wrap:wrap}
.section-head .copy{max-width:76ch}
#research .section-head .copy{max-width:100%}
.section-head p{margin-top:.8rem}
.tagline{font-family:var(--hand);font-size:1.7rem;color:var(--orange-2);display:inline-block;transform:rotate(-2deg)}
.section-head h2{font-size:clamp(2.05rem,3.3vw,3rem);line-height:1.05;font-weight:800}
.section-head h3{font-size:clamp(1.1rem,1.6vw,1.35rem);line-height:1.15}
.panel h3,.research-card h3,.service h3,.step h3,.contact-card h3{font-size:clamp(1.15rem,1.55vw,1.45rem);line-height:1.12;letter-spacing:-.03em}
.case h3{font-size:clamp(1.35rem,2vw,1.85rem);line-height:1.08}

.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
@media (max-width: 900px){.about-grid{grid-template-columns:1fr}}
.about-photo{display:grid;grid-template-columns:.8fr 1.2fr;gap:1.2rem;align-items:start;background:linear-gradient(135deg,rgba(124,58,237,.08),rgba(250,204,21,.16));}
.about-photo img{width:100%;height:auto;aspect-ratio:auto;object-fit:contain;object-position:center;border-radius:20px;border:1px solid var(--line);box-shadow:var(--shadow)}
.about-detail-list{display:grid;grid-template-columns:repeat(2,1fr);gap:.7rem 1rem;margin-top:1.1rem}
.about-detail-list div{padding-top:.7rem;border-top:1px dashed var(--line)}
.about-detail-list b{display:block;font-size:.82rem;color:var(--purple);letter-spacing:.04em}
.about-detail-list span{display:block;margin-top:.2rem;font-size:.86rem;line-height:1.5;color:var(--muted)}
@media (max-width:620px){.about-photo{grid-template-columns:1fr}}
@media (max-width:430px){.about-detail-list{grid-template-columns:1fr}}
.panel{background:linear-gradient(180deg,var(--surface),#fff);border:1px solid var(--line);border-radius:28px;padding:1.4rem;box-shadow:var(--shadow)}
.panel h3{margin-bottom:.75rem}
#about .panel:first-child{background:var(--text);color:#fff;border-color:var(--text);box-shadow:var(--shadow-2)}
#about .panel:first-child p{color:rgba(255,255,255,.72)}
#about .panel:first-child .mini-note{color:var(--gold)}
#about .panel:first-child .bullet{background:var(--gold);box-shadow:0 0 0 5px rgba(250,204,21,.12)}
.list{list-style:none;padding:0;margin:0;display:grid;gap:.75rem}
.list li{display:flex;gap:.8rem;align-items:flex-start;padding:.85rem 0;border-top:1px dashed var(--line)}
.list li:first-child{border-top:0;padding-top:0}
.bullet{width:12px;height:12px;border-radius:50%;background:linear-gradient(135deg,var(--orange-2),var(--purple));flex:none;margin-top:.38rem;box-shadow:0 0 0 5px rgba(249,115,22,.08)}
.mini-note{font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;font-weight:800;color:var(--purple)}

.timeline{display:grid;gap:.8rem;margin-top:1rem}
.timeline-row{display:grid;grid-template-columns:110px 1fr;gap:1rem;align-items:start;padding:1rem 0;border-top:1px dashed var(--line)}
.timeline-row:first-child{border-top:0;padding-top:0}
.timeline-year{font-family:var(--display);font-weight:800;color:var(--purple);font-size:1.15rem}
.timeline-role{font-weight:800}
.timeline-note{margin-top:.25rem;font-size:.92rem}
@media (max-width:520px){.timeline-row{grid-template-columns:1fr;gap:.25rem}}

.research-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:1rem}
@media (max-width:900px){.research-grid{grid-template-columns:1fr}}
.research-card{background:var(--surface);border:1px solid var(--line);border-radius:26px;padding:1.35rem;box-shadow:var(--shadow)}
.research-card .label{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;font-weight:800;color:var(--orange-2)}
.research-card h3{margin-top:.6rem}
.research-card p{margin-top:.65rem}
.frameworks{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;margin-top:1rem}
.framework{padding:.8rem;border-radius:18px;background:#fff;border:1px solid var(--line)}
.framework b{display:block;font-size:.92rem}
.framework span{display:block;margin-top:.25rem;color:var(--muted);font-size:.82rem;line-height:1.45}
@media (max-width:560px){.frameworks{grid-template-columns:1fr}}

.industry-layout{display:grid;grid-template-columns:1fr .7fr;gap:1rem;align-items:start}
@media (max-width:900px){.industry-layout{grid-template-columns:1fr}}
.industry-cloud{display:flex;flex-wrap:wrap;gap:.65rem}
.industry{padding:.65rem .8rem;border:1px solid var(--line);border-radius:999px;background:var(--surface);font-weight:700;font-size:.84rem}
.industry.highlight{background:rgba(124,58,237,.09);border-color:rgba(124,58,237,.2);color:var(--purple)}
.country-list{display:grid;gap:.55rem;margin-top:1rem}
.country{display:flex;justify-content:space-between;gap:1rem;padding:.7rem .8rem;border-bottom:1px dashed var(--line);font-weight:700}
.country span{color:var(--muted);font-size:.8rem;font-weight:600}
#industries .industry-layout > .panel:first-child{background:var(--purple);border-color:var(--purple);box-shadow:var(--shadow-2)}
#industries .industry-layout > .panel:first-child .industry{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.28);color:#fff}
#industries .industry-layout > .panel:first-child .industry.highlight{background:var(--gold);border-color:var(--gold);color:#4c3b00}

.card-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:1rem}
@media (max-width: 960px){.card-grid{grid-template-columns:repeat(2,1fr)}.service{grid-column:span 1}}
@media (max-width: 640px){.card-grid{grid-template-columns:1fr}.service{grid-column:span 1}}
.service{grid-column:span 4;background:linear-gradient(180deg,var(--surface),var(--surface-2));border:1px solid var(--line);border-radius:26px;padding:1.4rem;box-shadow:0 12px 28px rgba(31,41,55,.04);position:relative;overflow:hidden}
.service.feature{min-height:100%}
.service.compact{padding:1.1rem 1.15rem;background:var(--surface)}
.service.compact h3{font-size:1.12rem}
.service.compact p{font-size:.95rem}
.service.compact ul{display:none}
.service.compact{grid-column:span 4;border-radius:18px;border-top:4px solid var(--teal);box-shadow:none}
.service.compact .icon{width:38px;height:38px;border-radius:12px;font-size:1rem;margin-bottom:.7rem;box-shadow:none;background:var(--teal)}
@media (min-width:961px){.service.feature:nth-child(1){grid-column:span 5}.service.feature:nth-child(2){grid-column:span 4}.service.feature:nth-child(3){grid-column:span 3}.service.compact:nth-child(4){grid-column:span 4}.service.compact:nth-child(5){grid-column:span 4}.service.compact:nth-child(6){grid-column:span 4}}
.service::after{content:"";position:absolute;right:-35px;top:-35px;width:120px;height:120px;background:radial-gradient(circle,rgba(124,58,237,.18),transparent 65%)}
.service .icon{width:54px;height:54px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(135deg,var(--orange),var(--purple));color:#fff;font-size:1.4rem;font-weight:800;margin-bottom:1rem;box-shadow:var(--shadow)}
.service ul{padding:0;margin:1rem 0 0;list-style:none;display:grid;gap:.6rem}
.service li{padding-left:1rem;position:relative;color:var(--muted)}
.service li::before{content:"";position:absolute;left:0;top:.72em;width:6px;height:6px;border-radius:50%;background:var(--teal)}

.process{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
@media (max-width: 980px){.process{grid-template-columns:repeat(2,1fr)}}
@media (max-width: 620px){.process{grid-template-columns:1fr}}
.step{background:var(--surface);border:1px solid var(--line);border-radius:26px;padding:1.3rem;position:relative}
.step:not(:last-child)::after{content:"→";position:absolute;right:-.95rem;top:50%;transform:translateY(-50%);color:var(--orange-2);font-size:1.35rem;font-weight:900}
@media (max-width: 620px){.step:not(:last-child)::after{content:"↓";right:auto;left:1.2rem;top:auto;bottom:-1.25rem;transform:none}}
.step .num{font-family:var(--display);font-size:2rem;color:var(--purple);line-height:1}
.step h3{margin-top:.7rem}
.step p{margin-top:.65rem}

.work-list{display:grid;gap:1rem}
.case{display:grid;grid-template-columns:1.05fr .95fr;gap:1rem;background:linear-gradient(180deg,#fff,rgba(255,255,255,.74));border:1px solid var(--line);border-radius:30px;padding:1.3rem;box-shadow:var(--shadow);overflow:hidden}
.case:nth-child(2){background:linear-gradient(135deg,rgba(250,204,21,.14),#fff)}
.case:nth-child(3){background:linear-gradient(135deg,rgba(20,184,166,.1),#fff)}
.case-media{margin:0 0 1rem;border-radius:22px;overflow:hidden;border:1px solid var(--line);background:#eef2ff}
.case-media img{width:100%;aspect-ratio:2.05/1;object-fit:cover;object-position:center}
@media (max-width: 900px){.case{grid-template-columns:1fr}}
.case-top{display:flex;gap:.7rem;flex-wrap:wrap;align-items:center;margin-bottom:.95rem}
.case-id{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;font-weight:800;color:var(--purple);background:rgba(124,58,237,.08);padding:.35rem .6rem;border-radius:999px}
.chipline{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;font-weight:800;color:#9a3412;background:rgba(249,115,22,.1);padding:.35rem .6rem;border-radius:999px}
.case h3{max-width:28ch}
.case p{margin-top:.85rem}
.case-metrics{display:grid;grid-template-columns:1fr;gap:.8rem}
.metric{background:linear-gradient(135deg,rgba(124,58,237,.08),rgba(20,184,166,.09));border:1px solid rgba(31,41,55,.08);border-radius:22px;padding:1rem}
.metric.hero{padding:1.2rem 1rem 1rem;background:linear-gradient(135deg,rgba(124,58,237,.16),rgba(249,115,22,.12))}
.metric.hero strong{font-size:clamp(2.2rem,3vw,3rem)}
.metric-row{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem}
@media (max-width: 560px){.metric-row{grid-template-columns:1fr}}
.metric.small strong{font-size:1.45rem}
.metric span{display:block;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;font-weight:800;color:var(--muted)}
.metric strong{display:block;margin-top:.35rem;font-family:var(--display);font-size:1.9rem;line-height:1}
.metric small{display:block;margin-top:.35rem;color:var(--muted)}
.case-feat{margin-top:1rem;padding:1rem 1.1rem;border-radius:22px;background:rgba(250,204,21,.12);border:1px dashed rgba(249,115,22,.4);color:#7c2d12}

.skills{display:grid;grid-template-columns:1.1fr .9fr;gap:1rem}
@media (max-width: 900px){.skills{grid-template-columns:1fr}}
#skills .panel:last-child{background:var(--text);color:#fff;border-color:var(--text)}
#skills .panel:last-child p{color:rgba(255,255,255,.76)}
.skill-cloud{display:flex;flex-wrap:wrap;gap:.7rem}
.skill{padding:.6rem .8rem;border-radius:999px;background:var(--surface);border:1px solid var(--line);font-weight:700;font-size:.84rem}
.skill.em{background:linear-gradient(135deg,rgba(249,115,22,.1),rgba(124,58,237,.1));border-color:rgba(124,58,237,.2);color:var(--purple)}
.quote{font-size:1.15rem;line-height:1.8;color:var(--text)}
.quote strong{color:var(--purple)}

.contact{display:grid;grid-template-columns:1fr 1fr;gap:1rem;align-items:start}
@media (max-width: 860px){.contact{grid-template-columns:1fr}}
.contact-card{background:linear-gradient(180deg,#fff,rgba(255,255,255,.86));border:1px solid var(--line);border-radius:30px;padding:1.4rem;box-shadow:var(--shadow)}
.contact-list{display:grid;gap:.85rem;margin-top:1rem}
.contact-link{display:flex;justify-content:flex-start;gap:.8rem;align-items:center;padding:.9rem 1rem;border-radius:18px;background:var(--surface);border:1px solid var(--line);text-decoration:none;font-weight:700;transition:transform .25s ease,border-color .25s ease,background .25s ease}
.contact-link:hover{transform:translateY(-2px);background:#fff;border-color:rgba(124,58,237,.25)}
.contact-icon{width:40px;height:40px;display:grid;place-items:center;flex:none;border-radius:13px;background:var(--purple);color:#fff;font-family:var(--display);font-size:.78rem;font-weight:800;letter-spacing:-.04em}
.contact-icon.mail{background:#ea4335}.contact-icon.phone{background:#2563eb}.contact-icon.linkedin{background:#0a66c2}.contact-icon.github{background:#24292f}.contact-icon.whatsapp{background:#128c7e}
.contact-meta{display:flex;flex-direction:column;gap:.2rem;min-width:0}
.contact-meta .label{color:var(--purple);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;font-weight:800}
.contact-meta b{font-size:1rem;word-break:break-word}
.cta-panel{background:linear-gradient(145deg,rgba(124,58,237,.12),rgba(249,115,22,.14) 55%,rgba(250,204,21,.18));border-color:rgba(124,58,237,.2)}
.cta-panel .availability{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1.25rem}
.cta-panel .availability span{padding:.55rem .7rem;border-radius:999px;background:rgba(255,255,255,.72);border:1px solid rgba(124,58,237,.16);color:var(--purple);font-size:.72rem;font-weight:800;letter-spacing:.06em}
.cta-panel .hero-actions{margin-top:1.5rem}

footer{padding:2rem 0 3rem;color:var(--text);font-size:.875rem}
.footer-in{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:1.2rem}
.tiny{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;font-weight:800}

.float-shapes{position:fixed;inset:0;pointer-events:none;z-index:-1;overflow:hidden}
.shape{position:absolute;border-radius:999px;filter:blur(12px);opacity:.55}
.s1{width:180px;height:180px;background:rgba(249,115,22,.22);left:-50px;top:12%}
.s2{width:220px;height:220px;background:rgba(124,58,237,.18);right:-80px;top:25%}
.s3{width:260px;height:260px;background:rgba(20,184,166,.15);left:50%;bottom:-90px;transform:translateX(-50%)}

@media (max-width:700px){
  .hero-copy .stamp{position:static;display:inline-block;margin-top:.8rem;transform:rotate(5deg)}
  .hero h1{font-size:clamp(2.8rem,12vw,4.4rem);max-width:9ch}
  .hero p{font-size:1rem}
  .hero-actions{align-items:stretch}
  .hero-actions .btn{width:100%}
  .case{padding:1rem}
  .contact-link{align-items:center;flex-direction:row;gap:.7rem}
}
@media (max-width:430px){
  :root{--gut:1rem;--bay:3.5rem}
  .topbar-in{min-height:66px}
  .brand{gap:.55rem}
  .brand-badge{width:38px;height:38px;border-radius:12px}
  .brand-name b{font-size:.92rem}
  .brand-name span{font-size:.62rem;letter-spacing:.1em}
  .hero{padding-top:2.5rem}
  .hero h1{font-size:clamp(2.65rem,13vw,3.7rem);max-width:8.5ch}
  .hero-card .frame{padding:.75rem;border-radius:22px}
  .profile-copy{padding:.75rem}
  .profile-pills{padding:0 .75rem .75rem}
  .stats{gap:.65rem}
  .stat{padding:.85rem .75rem;border-radius:18px}
  .stat strong{font-size:1.65rem}
  .stat span{font-size:.66rem;letter-spacing:.08em}
  .section-head{gap:1rem;margin-bottom:1.4rem}
  .section-head h2{font-size:clamp(1.8rem,9vw,2.35rem)}
  .panel,.research-card,.service,.step,.contact-card{padding:1rem;border-radius:22px}
  .about-photo{padding:1rem}
}

/* ==========================================================================
   Multi-page additions (2026-09-26). Same tokens and idiom as above.
   ========================================================================== */
[hidden]{display:none!important}
.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}
.skip{position:absolute;left:1rem;top:-4rem;z-index:100;background:var(--purple);color:#fff;padding:.7rem 1rem;border-radius:12px;font-weight:800;text-decoration:none;transition:top .2s}
.skip:focus{top:1rem}
main{display:block}
h1 .accent-text,h2 .accent-text{color:var(--purple)}
.text-link{display:inline-flex;gap:.4rem;margin-top:1.1rem;font-weight:800;color:var(--purple);text-decoration:none;border-bottom:2px solid rgba(124,58,237,.25)}
.text-link:hover{border-color:var(--purple)}
.btn-ghost{background:transparent;color:var(--purple);border:1px dashed rgba(124,58,237,.4)}
.btn:focus-visible{outline-offset:4px}

/* ---- navigation: active state + mobile drawer ---- */
.nav a[aria-current="page"]{color:var(--text)}
.nav a[aria-current="page"]::after{width:100%}
.nav-cta{display:none}
.nav-toggle{display:none;width:46px;height:46px;border-radius:14px;border:1px solid var(--line-strong);background:var(--surface);cursor:pointer;align-items:center;justify-content:center;margin-left:.5rem}
.nav-toggle-bars,.nav-toggle-bars::before,.nav-toggle-bars::after{display:block;width:20px;height:2px;border-radius:2px;background:var(--text);transition:transform .25s ease,opacity .25s ease;content:""}
.nav-toggle-bars{position:relative}
.nav-toggle-bars::before{position:absolute;top:-6px}
.nav-toggle-bars::after{position:absolute;top:6px}
.nav-toggle[aria-expanded="true"] .nav-toggle-bars{background:transparent}
.nav-toggle[aria-expanded="true"] .nav-toggle-bars::before{transform:translateY(6px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] .nav-toggle-bars::after{transform:translateY(-6px) rotate(-45deg)}
@media (max-width:1040px){
  .topbar-in{position:relative}
  .nav-toggle{display:inline-flex}
  .nav{position:absolute;top:calc(100% + 1px);left:0;right:0;flex-direction:column;gap:0;padding:.5rem var(--gut) 1.1rem;background:var(--bg);border-bottom:1px solid var(--line);box-shadow:0 24px 40px rgba(31,41,55,.12)}
  .nav.open{display:flex}
  .nav a{font-size:.86rem;letter-spacing:.1em;padding:1rem .2rem;border-bottom:1px dashed var(--line)}
  .nav a::after{display:none}
  .nav a[aria-current="page"]{color:var(--purple)}
  .nav .nav-cta{display:block;margin-top:.9rem;border:0;text-align:center;color:#fff;background:#128c7e;border-radius:999px}
}

/* ---- homepage additions ---- */
.case-link{display:inline-flex;gap:.45rem;margin-top:1rem;font-weight:800;font-size:.86rem;color:var(--purple);text-decoration:none}
.case-link:hover{text-decoration:underline;text-underline-offset:4px}
.section-head .btn{flex:none}

/* ---- inner page hero ---- */
section.page-hero{background:linear-gradient(135deg,rgba(255,138,101,.14),rgba(124,58,237,.08) 55%,rgba(250,204,21,.16));border-top:0;padding:clamp(1.6rem,3vw,2.4rem) 0 clamp(2.4rem,4vw,3.6rem)}
.crumbs{font-size:.74rem;font-weight:700;color:var(--muted);margin-bottom:1.6rem;display:flex;flex-wrap:wrap;gap:.4rem}
.crumbs a{color:var(--purple);text-decoration:none}
.crumbs a:hover{text-decoration:underline}
.page-hero-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:clamp(1.5rem,4vw,3.5rem);align-items:center}
.page-hero h1{margin-top:.8rem;font-size:clamp(2.2rem,4.6vw,4rem);line-height:.98;font-weight:800;text-wrap:balance}
.page-hero .lede{margin-top:1.1rem;max-width:62ch;font-size:1.02rem}
@media (max-width:900px){.page-hero-grid{grid-template-columns:1fr}}
.hero-portrait{margin:0;justify-self:end;width:min(100%,360px);padding:.8rem;background:#fff7ef;border:1px solid var(--line);border-radius:26px;box-shadow:var(--shadow);transform:rotate(1.5deg)}
.hero-portrait img{width:100%;height:auto;border-radius:19px;aspect-ratio:5/6;object-fit:cover}
.hero-portrait figcaption{font-family:var(--hand);font-size:1.4rem;color:#c2410c;text-align:center;margin-top:.3rem}
@media (max-width:900px){.hero-portrait{justify-self:start;width:min(100%,320px)}}

/* ---- about ---- */
section.about-facts{padding:1.6rem 0;background:#fff}
.fact-strip{display:grid;grid-template-columns:repeat(4,1fr);margin:0;background:rgba(255,255,255,.86);border:1px solid var(--line);border-radius:24px;box-shadow:0 14px 34px rgba(31,41,55,.06)}
.fact-strip div{padding:1rem 1.2rem;border-right:1px solid var(--line)}
.fact-strip div:last-child{border-right:0}
.fact-strip dt{font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;font-weight:800;color:var(--purple)}
.fact-strip dd{margin:.35rem 0 0;color:var(--muted);font-size:.85rem}
.fact-strip strong{font-family:var(--display);font-size:clamp(1.8rem,3vw,2.4rem);color:var(--text);margin-right:.2rem}
@media (max-width:700px){.fact-strip{grid-template-columns:repeat(2,1fr)}.fact-strip div:nth-child(2){border-right:0}.fact-strip div:nth-child(-n+2){border-bottom:1px solid var(--line)}}
.prose-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.9fr);gap:clamp(1.5rem,4vw,3rem);align-items:start}
@media (max-width:900px){.prose-grid{grid-template-columns:1fr}}
.prose h2{font-size:clamp(1.8rem,3vw,2.6rem);line-height:1.05;margin:.8rem 0 1rem}
.prose p{margin-top:.9rem;font-size:1.02rem;line-height:1.75}
.prose p b{color:var(--text)}
.narrow{max-width:760px}
.dark-panel{background:var(--text);color:#fff;border-color:var(--text);box-shadow:var(--shadow-2)}
.dark-panel p{color:rgba(255,255,255,.72)}
.dark-panel .mini-note{color:var(--gold);margin-bottom:.8rem}
.dark-panel .bullet{background:var(--gold);box-shadow:0 0 0 5px rgba(250,204,21,.12)}
.dark-panel .list li{border-color:rgba(255,255,255,.14)}
.build-card{background:linear-gradient(145deg,#fff,rgba(20,184,166,.08))}
.country-pills{list-style:none;padding:0;margin:1rem 0 0;display:flex;flex-wrap:wrap;gap:.55rem}
.country-pills li{padding:.55rem .8rem;border-radius:999px;background:rgba(20,184,166,.1);color:#0f766e;font-weight:700;font-size:.84rem}

/* interactive timeline */
.tl{list-style:none;margin:0;padding:0 0 0 1.4rem;position:relative;max-width:860px}
.tl::before{content:"";position:absolute;left:.4rem;top:.6rem;bottom:.6rem;width:2px;background:linear-gradient(var(--orange),var(--purple),var(--teal));border-radius:2px}
.tl-item{position:relative;margin-bottom:.8rem}
.tl-item::before{content:"";position:absolute;left:-1.3rem;top:1.35rem;width:14px;height:14px;border-radius:50%;background:#fff;border:3px solid var(--purple);box-sizing:border-box}
.tl-btn{width:100%;display:grid;grid-template-columns:130px 1fr auto;gap:1rem;align-items:center;text-align:left;padding:1rem 1.2rem;border:1px solid var(--line);border-radius:18px;background:var(--surface);cursor:pointer;font:inherit;color:var(--text);transition:border-color .2s,background .2s}
.tl-btn:hover{border-color:rgba(124,58,237,.35);background:#fff}
.tl-btn[aria-expanded="true"]{background:#fff;border-color:rgba(124,58,237,.35);border-bottom-left-radius:0;border-bottom-right-radius:0}
.tl-year{font-family:var(--display);font-weight:800;color:var(--purple);font-size:1.1rem}
.tl-role{font-weight:800}
.tl-plus{width:22px;height:22px;position:relative}
.tl-plus::before,.tl-plus::after{content:"";position:absolute;left:4px;right:4px;top:10px;height:2px;background:var(--orange-2);transition:transform .25s}
.tl-plus::after{transform:rotate(90deg)}
.tl-btn[aria-expanded="true"] .tl-plus::after{transform:rotate(0)}
.tl-body{padding:1rem 1.2rem 1.2rem;border:1px solid rgba(124,58,237,.35);border-top:0;border-radius:0 0 18px 18px;background:#fff}
@media (max-width:560px){.tl-btn{grid-template-columns:1fr auto;gap:.2rem .8rem}.tl-year{grid-column:1}.tl-role{grid-column:1}.tl-plus{grid-row:1/3;grid-column:2}}

/* ---- services ---- */
.svc-toc{display:grid;grid-template-columns:1fr 1fr;gap:.45rem;padding:1rem;background:rgba(255,255,255,.8);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow)}
.svc-toc a{display:flex;gap:.55rem;align-items:baseline;padding:.55rem .6rem;border-radius:12px;text-decoration:none;font-weight:700;font-size:.84rem}
.svc-toc a span{font-family:var(--display);font-size:.72rem;color:var(--orange-2)}
.svc-toc a:hover{background:rgba(124,58,237,.08);color:var(--purple)}
@media (max-width:480px){.svc-toc{grid-template-columns:1fr}}
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;align-items:start}
@media (max-width:1000px){.svc-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.svc-grid{grid-template-columns:1fr}}
.svc{scroll-margin-top:96px;background:linear-gradient(180deg,var(--surface),var(--surface-2));border:1px solid var(--line);border-radius:26px;padding:1.4rem;box-shadow:0 12px 28px rgba(31,41,55,.04)}
.svc:target{outline:3px solid rgba(124,58,237,.35)}
.svc-head .icon{width:48px;height:48px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(135deg,var(--orange),var(--purple));color:#fff;font-weight:800;margin-bottom:1rem}
.svc h2{font-size:clamp(1.2rem,1.6vw,1.45rem);line-height:1.12;letter-spacing:-.03em}
.svc-head p{margin-top:.6rem;font-size:.95rem}
.svc-more{margin-top:1rem;border-top:1px dashed var(--line);padding-top:.8rem}
.svc-more summary,.faq summary{cursor:pointer;list-style:none;font-weight:800;color:var(--purple);display:flex;justify-content:space-between;align-items:center;gap:1rem}
.svc-more summary{font-size:.78rem;letter-spacing:.1em;text-transform:uppercase}
.svc-more summary::-webkit-details-marker,.faq summary::-webkit-details-marker{display:none}
.svc-more summary::after,.faq summary::after{content:"+";font-size:1.3rem;line-height:1;color:var(--orange-2);transition:transform .25s}
.svc-more[open] summary::after,.faq details[open] summary::after{transform:rotate(45deg)}
.svc-list{list-style:none;padding:0;margin:.9rem 0 0;display:grid;gap:.5rem}
.svc-list li{padding-left:1.1rem;position:relative;color:var(--muted);font-size:.92rem;line-height:1.5}
.svc-list li::before{content:"";position:absolute;left:0;top:.6em;width:6px;height:6px;border-radius:50%;background:var(--teal)}
.svc-related{margin-top:1rem;display:grid;gap:.45rem}
.mini-case{display:block;padding:.6rem .75rem;border-radius:12px;background:#fff;border:1px solid var(--line);text-decoration:none;font-size:.82rem;color:var(--muted);line-height:1.35}
.mini-case b{display:block;color:var(--purple);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase}
.mini-case:hover{border-color:rgba(124,58,237,.35)}

/* tabs (process, charts) */
.tab-list{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}
.tab-list [role="tab"]{font:inherit;font-weight:800;font-size:.82rem;letter-spacing:.06em;padding:.8rem 1.1rem;border-radius:999px;border:1px solid var(--line-strong);background:var(--surface);color:var(--muted);cursor:pointer;display:inline-flex;gap:.5rem;align-items:center}
.tab-list [role="tab"] span{font-family:var(--display);color:var(--orange-2)}
.tab-list [role="tab"][aria-selected="true"]{background:var(--purple);border-color:var(--purple);color:#fff}
.tab-list [role="tab"][aria-selected="true"] span{color:var(--gold)}
.tab-panel{background:var(--surface);border:1px solid var(--line);border-radius:26px;padding:clamp(1.2rem,3vw,2rem);box-shadow:var(--shadow)}
.tab-panel h3{font-size:clamp(1.3rem,2.2vw,1.8rem)}
.tab-panel p{margin-top:.8rem;max-width:70ch}
.tab-panel .svc-list{grid-template-columns:repeat(2,minmax(0,1fr));max-width:720px}
@media (max-width:560px){.tab-panel .svc-list{grid-template-columns:1fr}}

/* faq */
.faq-layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(1.5rem,4vw,3rem);align-items:start}
@media (max-width:900px){.faq-layout{grid-template-columns:1fr}}
.faq{display:grid;gap:.7rem}
.faq details{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:1rem 1.2rem}
.faq details[open]{background:#fff;border-color:rgba(124,58,237,.3)}
.faq summary{font-size:1rem;color:var(--text)}
.faq details p{margin-top:.7rem}
.faq a{color:var(--purple);font-weight:700}

/* cta band */
section.cta-band{background:linear-gradient(135deg,rgba(255,138,101,.16),rgba(124,58,237,.1) 45%,rgba(250,204,21,.16))}
.cta-band-in{display:flex;justify-content:space-between;align-items:center;gap:2rem;flex-wrap:wrap}
.cta-band h2{font-size:clamp(1.8rem,3.2vw,2.8rem);margin-top:.4rem;line-height:1.05}
.cta-band p{margin-top:.7rem;max-width:56ch}

/* ---- case studies index ---- */
.agg{background:rgba(255,255,255,.86);border:1px solid var(--line);border-radius:24px;padding:1.2rem 1.3rem;box-shadow:var(--shadow);display:grid;gap:.2rem}
.agg-row{display:flex;align-items:baseline;gap:.7rem;padding:.55rem 0;border-bottom:1px dashed var(--line)}
.agg-row strong{font-family:var(--display);font-size:clamp(1.6rem,2.6vw,2.2rem);min-width:4.5ch;color:var(--text)}
.agg-row span{font-size:.8rem;color:var(--muted);font-weight:600}
.agg-note{font-size:.72rem;line-height:1.5;margin-top:.5rem}
.explorer{padding-top:2rem}
.explorer-bar{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:1.4rem;position:sticky;top:74px;z-index:5;padding:.8rem 0;background:rgba(255,253,250,.94);backdrop-filter:blur(8px)}
.filter-chips{display:flex;flex-wrap:wrap;gap:.45rem}
.filter-chip{font:inherit;font-size:.78rem;font-weight:800;padding:.55rem .85rem;border-radius:999px;border:1px solid var(--line-strong);background:var(--surface);color:var(--muted);cursor:pointer;transition:background .2s,color .2s}
.filter-chip:hover{border-color:var(--purple);color:var(--purple)}
.filter-chip[aria-pressed="true"]{background:var(--purple);border-color:var(--purple);color:#fff}
.sort{display:flex;align-items:center;gap:.6rem;font-size:.78rem;font-weight:800;color:var(--muted);letter-spacing:.06em;text-transform:uppercase}
.sort select,.field input,.field select,.field textarea{font:inherit;font-size:.92rem;color:var(--text);background:#fff;border:1px solid var(--line-strong);border-radius:12px;padding:.65rem .8rem}
.sort select{text-transform:none;letter-spacing:0;font-weight:700}
@media (max-width:640px){.explorer-bar{position:static}.filter-chips{flex-wrap:nowrap;overflow-x:auto;padding-bottom:.4rem;scrollbar-width:thin;width:100%}.filter-chip{flex:none}}
.explorer-empty{padding:2rem;text-align:center;border:1px dashed var(--line-strong);border-radius:20px}
.cs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
@media (max-width:980px){.cs-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:620px){.cs-grid{grid-template-columns:1fr}}
.cs-card{position:relative;display:flex;flex-direction:column;gap:.8rem;padding:1.3rem;border-radius:24px;background:linear-gradient(180deg,#fff,var(--surface));border:1px solid var(--line);box-shadow:0 12px 28px rgba(31,41,55,.05);text-decoration:none;color:var(--text);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.cs-card:hover,.cs-card:focus-visible{transform:translateY(-3px);box-shadow:var(--shadow);border-color:rgba(124,58,237,.3)}
.cs-card.is-leaving{opacity:0;transform:scale(.97)}
.cs-card-top{display:flex;flex-wrap:wrap;gap:.45rem}
.cs-card-title{font-family:var(--display);font-weight:800;font-size:1.15rem;line-height:1.2;letter-spacing:-.02em;padding-right:1.5rem}
.cs-card-metric strong{display:block;font-family:var(--display);font-size:2rem;line-height:1;color:var(--purple)}
.cs-card-metric span{display:block;margin-top:.3rem;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.cs-card-meta{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:auto}
.cs-card-meta span{font-size:.74rem;font-weight:700;padding:.3rem .55rem;border-radius:8px;background:rgba(20,184,166,.1);color:#0f766e}
.cs-card-go{position:absolute;right:1.2rem;top:1.2rem;font-weight:900;color:var(--orange-2);transition:transform .25s}
.cs-card:hover .cs-card-go{transform:translateX(4px)}

/* charts */
.chart-card{background:#fff;border:1px solid var(--line);border-radius:26px;padding:clamp(1rem,2.5vw,1.6rem);box-shadow:var(--shadow)}
.chart{position:relative;width:100%}
.chart svg{display:block;width:100%;height:auto;overflow:visible}
.chart .grid line{stroke:rgba(31,41,55,.1)}
.chart .axis text,.chart .lbl{font:600 11px var(--body);fill:var(--muted)}
.chart .lbl-strong{font:800 12px var(--display);fill:var(--text)}
.chart .bar{fill:url(#barGrad);transition:opacity .2s}
.chart .mark{cursor:pointer;outline:none}
.chart .mark:hover .bar,.chart .mark:focus .bar{opacity:.8}
.chart .dot{fill:var(--purple);stroke:#fff;stroke-width:2;transition:r .2s}
.chart .mark:hover .dot,.chart .mark:focus .dot{r:10}
.chart .mark:focus-visible .bar,.chart .mark:focus-visible .dot{stroke:var(--orange-2);stroke-width:3}
.chart .dim{opacity:.18}
.chart-tip{position:absolute;pointer-events:none;z-index:3;min-width:180px;max-width:240px;padding:.7rem .8rem;border-radius:14px;background:var(--text);color:#fff;font-size:.78rem;line-height:1.45;box-shadow:0 14px 30px rgba(31,41,55,.25);transform:translate(-50%,calc(-100% - 12px))}
.chart-tip b{display:block;color:var(--gold);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}
.chart-note{margin-top:.9rem;font-size:.8rem}

/* ---- case study detail ---- */
.progress{position:fixed;left:0;right:0;top:0;height:3px;z-index:60;pointer-events:none}
.progress i{display:block;height:100%;width:100%;transform-origin:0 50%;transform:scaleX(0);background:linear-gradient(90deg,var(--orange),var(--purple))}
.glance{margin:0;display:grid;gap:.1rem;background:rgba(255,255,255,.86);border:1px solid var(--line);border-radius:22px;padding:1rem 1.2rem;box-shadow:var(--shadow)}
.glance div{padding:.6rem 0;border-bottom:1px dashed var(--line)}
.glance div:last-child{border-bottom:0}
.glance dt{font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;font-weight:800;color:var(--purple)}
.glance dd{margin:.2rem 0 0;font-weight:700;font-size:.92rem}
.cs-layout{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:clamp(1.5rem,4vw,3.5rem);align-items:start}
@media (max-width:900px){.cs-layout{grid-template-columns:1fr}.cs-side{order:-1}}
.cs-main h2{font-size:clamp(1.6rem,2.6vw,2.2rem);margin:2.6rem 0 1rem;scroll-margin-top:96px}
.cs-main h2:first-child{margin-top:0}
.cs-main > p{font-size:1.02rem;line-height:1.75;margin-top:.8rem;max-width:68ch}
.cs-side{position:sticky;top:96px;display:grid;gap:1rem}
@media (max-width:900px){.cs-side{position:static}}
.toc{display:grid;gap:.2rem;padding:1rem;border:1px solid var(--line);border-radius:20px;background:var(--surface)}
.toc .mini-note{margin-bottom:.4rem}
.toc a{padding:.45rem .6rem;border-radius:10px;text-decoration:none;font-weight:700;font-size:.88rem;color:var(--muted);border-left:3px solid transparent}
.toc a.is-active{color:var(--purple);background:rgba(124,58,237,.07);border-left-color:var(--purple)}
@media (max-width:900px){.toc{display:flex;flex-wrap:wrap}.toc .mini-note{width:100%}}
.side-cta{width:100%;text-align:center}
.res-toggle{display:inline-flex;padding:.3rem;border-radius:999px;background:var(--surface);border:1px solid var(--line);margin-bottom:1rem;flex-wrap:wrap}
.res-toggle button{font:inherit;font-size:.78rem;font-weight:800;padding:.55rem .9rem;border-radius:999px;border:0;background:transparent;color:var(--muted);cursor:pointer}
.res-toggle button[aria-pressed="true"]{background:var(--purple);color:#fff}
.res-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem}
@media (max-width:760px){.res-grid{grid-template-columns:repeat(2,1fr)}}
.res{padding:1rem;border-radius:20px;background:linear-gradient(135deg,rgba(124,58,237,.07),rgba(20,184,166,.08));border:1px solid rgba(31,41,55,.08)}
.res-hero{background:linear-gradient(135deg,rgba(124,58,237,.16),rgba(249,115,22,.12))}
.res span{display:block;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;font-weight:800;color:var(--muted)}
.res strong{display:block;margin-top:.4rem;font-family:var(--display);font-size:clamp(1.5rem,2.6vw,2.2rem);line-height:1}
.res small{display:block;margin-top:.4rem;color:var(--muted);font-size:.78rem}
.res-legend{margin-top:.8rem;font-size:.8rem;display:flex;align-items:center;flex-wrap:wrap;gap:.4rem}
.bar-pair{display:grid;gap:4px;margin-top:.7rem}
.bar-pair i{display:block;height:8px;border-radius:99px;width:var(--w);background:rgba(31,41,55,.18)}
.bar-pair i + i{background:linear-gradient(90deg,var(--orange),var(--purple))}
.lg{display:inline-block;width:14px;height:8px;border-radius:99px;background:rgba(31,41,55,.18)}
.lg-now{background:linear-gradient(90deg,var(--orange),var(--purple))}
.steps{list-style:none;padding:0;margin:0;display:grid;gap:.7rem}
.step-item{display:grid;grid-template-columns:auto 1fr;gap:1rem;padding:1rem 1.1rem;border:1px solid var(--line);border-radius:18px;background:var(--surface)}
.step-n{font-family:var(--display);font-weight:800;font-size:1.3rem;color:var(--purple);line-height:1.2}
.step-item h3{font-size:1.02rem;letter-spacing:-.01em}
.step-item p{margin-top:.3rem;font-size:.95rem}
.callout{margin-top:1.4rem;padding:1.1rem 1.2rem;border-radius:20px;background:rgba(250,204,21,.12);border:1px dashed rgba(249,115,22,.45)}
.callout p{margin-top:.5rem;color:#7c2d12}
.callout-quiet{background:var(--surface);border:1px solid var(--line);margin-top:2.4rem}
.callout-quiet p{color:var(--muted)}
.pager{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.pager a{display:block;padding:1rem 1.2rem;border:1px solid var(--line);border-radius:18px;background:var(--surface);text-decoration:none;font-weight:700;line-height:1.35}
.pager a span{display:block;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;font-weight:800;color:var(--purple);margin-bottom:.3rem}
.pager a:hover{border-color:rgba(124,58,237,.35);background:#fff}
.pager-next{text-align:right}
@media (max-width:620px){.pager{grid-template-columns:1fr}.pager-next{text-align:left}}

/* ---- contact ---- */
.card-h{font-size:clamp(1.3rem,2vw,1.6rem);line-height:1.1}
.contact-card > p{margin-top:.7rem}
.contact-row{display:flex;gap:.5rem;align-items:stretch}
.contact-row .contact-link{flex:1;min-width:0}
.copy-btn{font:inherit;font-size:.75rem;font-weight:800;letter-spacing:.06em;padding:0 .9rem;border-radius:14px;border:1px solid var(--line-strong);background:#fff;color:var(--purple);cursor:pointer}
.copy-btn.is-done{background:var(--teal);border-color:var(--teal);color:#fff}
.brief{display:grid;gap:1rem;margin-top:1.2rem}
.field{display:grid;gap:.4rem;border:0;margin:0;padding:0;min-width:0}
.field label,.field legend{font-weight:800;font-size:.86rem;color:var(--text);padding:0}
.opt{font-weight:600;color:var(--muted);font-size:.75rem}
.field input,.field select,.field textarea{width:100%}
.field textarea{resize:vertical;min-height:120px;line-height:1.5}
.field input:focus,.field select:focus,.field textarea:focus{outline:3px solid rgba(124,58,237,.3);border-color:var(--purple)}
.field [aria-invalid="true"]{border-color:#dc2626;background:#fff5f5}
.err{color:#b91c1c;font-size:.8rem;font-weight:700}
.field-foot{display:flex;justify-content:space-between;gap:1rem;align-items:start}
.count{margin-left:auto;font-size:.75rem;color:var(--muted);font-weight:700}
.choice-row{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.3rem}
.choice{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem .75rem;border-radius:999px;background:#fff;border:1px solid var(--line-strong);font-weight:700;font-size:.82rem;cursor:pointer}
.choice:has(input:checked){background:rgba(124,58,237,.1);border-color:var(--purple);color:var(--purple)}
.choice input{accent-color:var(--purple)}
.brief-preview{padding:.9rem 1rem;border-radius:16px;background:rgba(255,255,255,.75);border:1px dashed rgba(124,58,237,.3)}
.brief-preview pre{margin:.5rem 0 0;white-space:pre-wrap;word-break:break-word;font:500 .82rem/1.55 var(--body);color:var(--muted);max-height:220px;overflow:auto}
.brief-actions{display:flex;flex-wrap:wrap;gap:.6rem}
.brief-actions .btn{padding:.9rem 1.1rem;font-size:.74rem}
.form-status{font-weight:700;font-size:.86rem;color:#0f766e;min-height:1.2em}
.fine{font-size:.8rem;margin-top:.9rem}
.fine a,.legal a{color:var(--purple);font-weight:700}
.clock{padding:1.3rem;border-radius:24px;background:rgba(255,255,255,.86);border:1px solid var(--line);box-shadow:var(--shadow);display:grid;gap:.35rem}
.clock strong{font-family:var(--display);font-size:clamp(2.4rem,4vw,3.2rem);line-height:1;color:var(--text)}
.clock span{font-weight:700;color:var(--purple);font-size:.86rem}
.clock small{color:var(--muted);font-size:.8rem;line-height:1.45}
.legal h2{font-size:1.4rem;margin:2rem 0 .6rem}

/* ---- footer ---- */
.footer-grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:1.5rem;border-top:1px solid var(--line);padding-top:1.6rem}
.footer-grid nav,.footer-grid > div{display:flex;flex-direction:column;gap:.45rem}
.footer-grid a{text-decoration:none;color:var(--muted);font-weight:600;word-break:break-word}
.footer-grid a:hover{color:var(--purple)}
.footer-name{font-family:var(--display);font-size:1.2rem;font-weight:800;color:var(--text)}
.footer-h{color:var(--text);margin-bottom:.3rem}
.footer-note{font-size:.85rem;margin-top:.6rem}
.footer-base{display:flex;justify-content:space-between;gap:1rem;margin-top:1.6rem;color:var(--muted)}
.footer-base a{color:var(--purple);text-decoration:none}
@media (max-width:860px){.footer-grid{grid-template-columns:1fr 1fr}}
@media (max-width:480px){.footer-grid{grid-template-columns:1fr}}

/* ---- motion ---- */
[data-reveal]{opacity:0;transform:translateY(14px);transition:opacity .6s ease,transform .6s ease}
[data-reveal].is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}
  [data-reveal]{opacity:1;transform:none}
}
