:root{
  --bg:#F4F6EE; --raised:#FFFFFF; --ink:#15200B; --ink-soft:#4E5942;
  --accent:#74D40C; --line:#E0E4D2; --on-accent:#0E2207;
  --maxw:1140px;
  --sans:'Hanken Grotesk',system-ui,sans-serif;
  --disp:'Bricolage Grotesque',var(--sans);
  --shadow:0 30px 70px -44px rgba(22,21,15,.5);
  --anim-dur:500ms; --anim-ease:cubic-bezier(0.16,1,0.3,1); --anim-ease-soft:cubic-bezier(0.22,0.61,0.36,1); --anim-rise:20px; --anim-stagger:70ms;
}
[data-mode="dark"]{
  --bg:#0F1408; --raised:#162010; --ink:#F0F6E2; --ink-soft:#A6B294;
  --accent:#9CF03A; --line:#243A1B; --on-accent:#0E2207;
  --shadow:0 30px 70px -38px rgba(0,0,0,.7);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
::selection{background:var(--accent); color:var(--on-accent)}
body{font-family:var(--sans); color:var(--ink); background:var(--bg); line-height:1.6; -webkit-font-smoothing:antialiased; overflow-x:hidden; transition:background .4s, color .4s}
.wrap{max-width:var(--maxw); margin:0 auto; padding:0 28px}
h1,h2,h3,.disp{font-family:var(--disp); font-weight:700; letter-spacing:-.02em; line-height:1.04}
p{color:var(--ink-soft)}
a{color:inherit; text-decoration:none}
.accent{color:var(--accent)}
.kicker{display:inline-flex; align-items:center; gap:.6rem; font-size:.76rem; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:var(--ink-soft)}
.kicker .sq{width:8px; height:8px; background:var(--accent); display:inline-block}
/* buttons */
.btn{display:inline-flex; align-items:center; gap:.5rem; font-family:var(--sans); font-weight:600; font-size:.96rem; padding:.85rem 1.5rem; border-radius:2px; border:1.5px solid transparent; cursor:pointer; transition:transform .25s cubic-bezier(.2,.8,.2,1), background .2s, color .2s, box-shadow .25s}
.btn-primary{background:var(--accent); color:var(--on-accent); box-shadow:0 12px 26px -16px var(--accent)}
.btn-primary:hover{transform:translateY(-3px); box-shadow:0 20px 38px -18px var(--accent)}
.btn-ghost{background:transparent; color:var(--ink); border-color:var(--ink)}
.btn-ghost:hover{background:var(--ink); color:var(--bg); transform:translateY(-3px)}
/* header */
header{position:sticky; top:0; z-index:100; background:color-mix(in srgb, var(--bg) 88%, transparent); backdrop-filter:blur(10px); border-bottom:1px solid var(--line); transition:box-shadow 250ms var(--anim-ease), background-color 250ms var(--anim-ease)}
header.is-scrolled{background:color-mix(in srgb, var(--bg) 94%, transparent); box-shadow:0 1px 0 color-mix(in srgb, var(--ink) 6%, transparent), 0 8px 24px -12px color-mix(in srgb, var(--ink) 22%, transparent)}
.nav{display:flex; align-items:center; gap:24px; height:72px}
.brand{font-family:var(--disp); font-weight:700; font-size:1.18rem; letter-spacing:-.02em; display:flex; align-items:center; gap:.55rem}
.brand-dot{width:12px; height:12px; background:var(--accent); border-radius:3px}
.brand-logo{height:26px; width:auto; display:block}
.foot-logo{height:32px}
.nav-links{display:flex; gap:1.8rem; margin-left:auto; font-size:.92rem; font-weight:500}
.nav-links a{color:var(--ink-soft); transition:color .2s}
.nav-links a:hover{color:var(--ink)}
.nav-cta{padding:.6rem 1.1rem; font-size:.88rem}
.burger{display:none; flex-direction:column; gap:5px; margin-left:auto; background:none; border:0; cursor:pointer; padding:6px}
.burger span{width:24px; height:2px; background:var(--ink); transition:.3s}
.burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger.open span:nth-child(2){opacity:0}
.burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.mobile-menu{display:none; flex-direction:column; padding:0 28px; max-height:0; overflow:hidden; transition:max-height .35s ease; border-top:1px solid var(--line)}
.mobile-menu.open{max-height:420px}
.mobile-menu a{padding:15px 0; font-weight:500; border-bottom:1px solid var(--line)}
.mobile-menu a.btn{margin:16px 0; border:0; justify-content:center}
@media(max-width:900px){.nav-links,.nav-cta{display:none} .burger{display:flex} .mobile-menu{display:flex}}
/* reveal */
.reveal{opacity:0; transform:translateY(var(--anim-rise)); transition:opacity var(--anim-dur) var(--anim-ease), transform var(--anim-dur) var(--anim-ease); transition-delay:calc(var(--i,0) * var(--anim-stagger)); will-change:opacity, transform}
.reveal.in{opacity:1; transform:none}
/* hero */
.hero{padding:40px 0 70px}
.hero h1{font-size:clamp(3rem,7.4vw,6.4rem); font-weight:800; margin:1.4rem 0; max-width:16ch}
.hero-grid{display:grid; grid-template-columns:1.05fr .95fr; gap:60px; align-items:center; margin-top:24px; padding-top:40px; border-top:1px solid var(--line)}
.hero-lede p{font-size:1.2rem; color:var(--ink); max-width:42ch; margin-bottom:1.8rem}
.hero-lede .hero-analysis{font-size:1rem; color:var(--ink-soft); max-width:58ch}
.hero-cta{display:flex; gap:1.15rem; flex-wrap:wrap; align-items:center}
.hero-secondary-link{display:inline-flex; align-items:center; gap:.45rem; color:var(--ink); font-weight:700; border-bottom:1px solid var(--line); padding:.35rem 0; transition:color .2s,border-color .2s}
.hero-secondary-link:hover{color:var(--accent); border-color:var(--accent)}
@keyframes ficha-rise{from{opacity:0; transform:translateY(16px)} to{opacity:1; transform:none}}
@keyframes ficha-fade{from{opacity:0} to{opacity:1}}
@keyframes estrellas-fill{from{clip-path:inset(0 100% 0 0)} to{clip-path:inset(0 0 0 0)}}
@keyframes ficha-rise-soft{from{opacity:0; transform:translateY(22px)} to{opacity:1; transform:none}}
.gcard{animation:ficha-rise-soft 900ms var(--anim-ease-soft) both}
.gcard .gc-rating .gc-stars{display:inline-block; animation:estrellas-fill 950ms var(--anim-ease-soft) 800ms both}
.gcard .gc-review{animation:ficha-fade 850ms ease 1200ms both}
.gcard .gc-reply{animation:ficha-rise-soft 850ms var(--anim-ease-soft) 1650ms both}
.hero-show{display:flex; justify-content:flex-end}
.gcard{position:relative; width:100%; max-width:430px; background:var(--raised); border:1px solid var(--line); border-top:3px solid var(--accent); border-radius:8px; padding:24px; box-shadow:0 18px 42px -38px color-mix(in srgb,var(--ink) 50%,transparent)}
.gc-top{display:flex; gap:14px; align-items:center; margin-bottom:16px}
.gc-logo{width:54px;height:54px;border-radius:13px; background:#fff; display:flex;align-items:center;justify-content:center; font-family:var(--disp); font-weight:700; font-size:1.7rem; color:#fff; overflow:hidden; border:1px solid var(--line)}
.gc-logo img{width:70%; height:70%; object-fit:contain; display:block}
.gc-name{font-family:var(--disp); font-weight:700; font-size:1.3rem; line-height:1.1}
.gc-cat{font-size:.85rem; color:var(--ink-soft)}
.gc-rating{display:flex; align-items:center; gap:.5rem; margin-bottom:14px}
.gc-rating b{font-family:var(--disp); font-weight:800; font-size:1.5rem}
.gc-stars{color:#E8A317; letter-spacing:1px}
.gc-stars.sm{font-size:.8rem}
.gc-count{font-size:.85rem; color:var(--ink-soft)}
.gc-photos{display:grid; grid-template-columns:repeat(4,1fr); gap:6px; margin-bottom:16px}
.gc-photos div{aspect-ratio:1; border-radius:8px; background:linear-gradient(135deg,#ecd9bd,#cdbb93); overflow:hidden; position:relative}
.gc-photos div:nth-child(2){background:linear-gradient(135deg,#cdd8c2,#93a583)}
.gc-photos div:nth-child(3){background:linear-gradient(135deg,#ecd2c2,#cfa78f)}
.gc-photos div:nth-child(4){background:linear-gradient(135deg,#dfe2ea,#aeb6c6)}
.gc-photos img{width:100%; height:100%; object-fit:cover; display:block}
.gc-review{border-top:1px solid var(--line); padding-top:16px}
.gc-rev-head{display:flex; gap:10px; align-items:center; margin-bottom:8px}
.gc-ava{width:34px;height:34px;border-radius:50%; background:#c7b59e; color:#fff; display:flex;align-items:center;justify-content:center; font-weight:700; font-size:.9rem; flex:none}
.gc-rev-name{font-weight:600; font-size:.92rem}
.gc-rev-text{font-size:.92rem; color:var(--ink); margin-bottom:12px}
.gc-reply{background:var(--bg); border-radius:10px; padding:12px 14px; border:1px solid var(--line)}
.gc-reply span{font-size:.72rem; font-weight:700; text-transform:uppercase; letter-spacing:.06em; color:var(--accent)}
.gc-reply p{font-size:.88rem; color:var(--ink-soft); margin-top:4px}
@media(max-width:900px){.hero-show{justify-content:flex-start} .gcard{max-width:100%}}
@media(max-width:900px){.hero-grid{grid-template-columns:1fr; gap:40px}}
/* sections */
.sec{padding:96px 0}
.tint{background:var(--raised); border-block:1px solid var(--line)}
.sec-head{max-width:680px; margin-bottom:54px}
.sec-head h2{font-size:clamp(2.1rem,4.2vw,3.3rem); margin:1rem 0 1rem}
.sec-lede{font-size:1.1rem; max-width:58ch}
/* rows (problema) */
.rows{display:grid; grid-template-columns:repeat(2,1fr); gap:0 56px}
@media(max-width:760px){.rows{grid-template-columns:1fr}}
.row{display:grid; grid-template-columns:auto 1fr; gap:8px 22px; align-items:baseline; padding:30px 0; border-top:1px solid var(--line)}
.row-n{font-family:var(--disp); font-weight:700; font-size:1rem; color:var(--accent)}
.row h3{grid-column:2; font-size:1.35rem; margin-bottom:.4rem}
.row p{grid-column:2; font-size:1rem; max-width:46ch}
/* method */
.method{display:grid; grid-template-columns:repeat(4,1fr); gap:34px}
@media(max-width:900px){.method{grid-template-columns:repeat(2,1fr); gap:34px 28px}}
@media(max-width:520px){.method{grid-template-columns:1fr}}
.met-n{font-family:var(--disp); font-weight:800; font-size:2.2rem; color:var(--accent); display:block}
.met h3{font-size:1.3rem; margin:1rem 0 .5rem}
.met p{font-size:.96rem}
.met{padding-top:20px; border-top:2px solid var(--ink)}
/* before/after */
@property --pos{syntax:'<percentage>'; inherits:true; initial-value:40%}
@keyframes ba-hint{0%{--pos:40%} 28%{--pos:18%} 62%{--pos:54%} 100%{--pos:40%}}
.ba.in{animation:ba-hint 1.4s var(--anim-ease-soft) 450ms 1}
.ba{position:relative; --pos:40%; width:100%; max-width:760px; margin:0 auto; border:1px solid var(--ink); border-radius:6px; overflow:hidden; user-select:none; touch-action:pan-y; box-shadow:var(--shadow); aspect-ratio:16/10}
.ba-panel{position:absolute; inset:0; padding:30px; background:var(--raised); display:flex; flex-direction:column; gap:16px}
.ba-before{background:#efece4; clip-path:inset(0 calc(100% - var(--pos)) 0 0)}
[data-mode="dark"] .ba-before{background:#262019}
.ba-tag{align-self:flex-start; font-size:.7rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; padding:.32rem .7rem; border-radius:2px}
.tag-after{background:var(--accent); color:var(--on-accent)}
.tag-before{background:var(--ink); color:var(--bg)}
.p-top{display:flex; gap:14px; align-items:center}
.p-logo{width:52px;height:52px;border-radius:10px; display:flex;align-items:center;justify-content:center; font-family:var(--disp); font-weight:700; font-size:1.6rem; color:#fff}
.p-logo.good{background:linear-gradient(135deg,var(--accent),#5da308)}
.p-logo.dull{background:#b6b0a2}
.p-name{font-weight:700; font-size:1.15rem}
.p-cat{font-size:.86rem; color:var(--ink-soft)}
.dim{color:#9b9486 !important}
.p-rating{display:flex; align-items:center; gap:.6rem}
.p-rating b{font-family:var(--disp); font-weight:800; font-size:2rem}
.stars{letter-spacing:2px; font-size:1.1rem}
.stars.good{color:#E8A317}
.stars.dull{color:#b9b2a3}
.p-count{font-size:.9rem; color:var(--ink-soft)}
.p-photos{display:grid; grid-template-columns:repeat(4,1fr); gap:8px}
.p-photos div{aspect-ratio:1; border-radius:6px; background:linear-gradient(135deg,#ecd9bd,#cdbb93); overflow:hidden; position:relative}
.p-photos div img{width:100%; height:100%; object-fit:cover; display:block}
.p-photos div:nth-child(2){background:linear-gradient(135deg,#cdd8c2,#93a583)}
.p-photos div:nth-child(3){background:linear-gradient(135deg,#ecd2c2,#cfa78f)}
.p-photos div:nth-child(4){background:linear-gradient(135deg,#ded8c7,#b3ac94)}
.p-photos.dull{filter:grayscale(.55) contrast(.9) brightness(.92)}
.p-photos.dull div{background:#d8d3c6 !important}
.p-flags{display:flex; flex-wrap:wrap; gap:8px; margin-top:auto}
.flag{font-size:.78rem; font-weight:600; padding:.34rem .6rem; border-radius:3px}
.flag.ok{background:color-mix(in srgb, var(--accent) 14%, transparent); color:var(--accent)}
.flag.bad{background:#e4ddd0; color:#8a8275}
.ba-handle{position:absolute; top:0; bottom:0; left:var(--pos); width:2px; background:var(--accent); transform:translateX(-1px); pointer-events:none}
.ba-line{position:absolute; inset:0}
.ba-grip{position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:42px; height:42px; border-radius:50%; background:var(--accent); color:var(--on-accent); display:flex; align-items:center; justify-content:center; font-size:1rem; letter-spacing:1px; box-shadow:0 6px 18px -6px rgba(0,0,0,.4)}
.ba input[type=range]{position:absolute; inset:0; width:100%; height:100%; margin:0; opacity:0; cursor:ew-resize}
@media(max-width:720px){
  .ba{max-width:560px; aspect-ratio:4/3}
  .ba-panel{padding:24px; gap:14px}
  .p-logo{width:46px; height:46px; border-radius:9px; font-size:1.35rem}
  .p-name{font-size:1.05rem}
  .p-cat{font-size:.8rem; line-height:1.35}
  .p-rating{gap:.45rem; flex-wrap:wrap}
  .p-rating b{font-size:1.65rem}
  .stars{font-size:.98rem; letter-spacing:1px}
  .p-count{font-size:.82rem}
  .flag{font-size:.72rem; padding:.3rem .5rem}
  .ba-grip{width:38px; height:38px; font-size:.9rem}
}
@media(max-width:560px){
  .ba{aspect-ratio:auto; min-height:620px; max-width:420px}
  .ba-panel{padding:22px; gap:14px}
  .p-top{gap:12px; align-items:flex-start}
  .p-photos{grid-template-columns:repeat(2,1fr); gap:8px}
  .p-flags{margin-top:0}
}
@media(max-width:390px){
  .ba{min-height:590px}
  .ba-panel{padding:18px; gap:12px}
  .ba-tag{font-size:.64rem; padding:.28rem .58rem}
  .p-logo{width:42px; height:42px; font-size:1.25rem}
  .p-name{font-size:1rem}
  .p-cat{font-size:.76rem}
  .p-rating b{font-size:1.5rem}
  .stars{font-size:.88rem}
  .p-count{font-size:.76rem}
  .flag{font-size:.68rem}
  .ba-grip{width:36px; height:36px}
}
/* deliverables by phase */
.deliverable-groups{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:30px 48px}
.deliverable-group{padding-top:24px; border-top:2px solid var(--line)}
.deliverable-group-head{margin-bottom:14px}
.deliverable-group-head>span{display:block; margin-bottom:.45rem; color:var(--accent); font-size:.68rem; font-weight:800; letter-spacing:.13em; text-transform:uppercase}
.deliverable-group-head h3{font-size:1.45rem; margin-bottom:.35rem}
.deliverable-group-head p{font-size:.94rem; max-width:46ch}
.deliverable-list{list-style:none; margin:0; padding:0}
.deliverable-list li{display:flex; align-items:flex-start; gap:12px; padding:12px 0; border-bottom:1px solid var(--line); color:var(--ink); font-size:.96rem; font-weight:600; line-height:1.4}
.deliverable-list .tick{display:inline-flex; align-items:center; justify-content:center; width:21px; height:21px; border-radius:50%; background:color-mix(in srgb, var(--accent) 16%, transparent); color:var(--accent); font-size:.74rem; font-weight:800; flex:none; margin-top:1px}
.deliverable-group.is-partner{grid-column:1/-1; display:grid; grid-template-columns:minmax(220px,.55fr) minmax(0,1.45fr); gap:36px; padding:28px; border:1px solid color-mix(in srgb,var(--accent) 44%,var(--line)); border-top:3px solid var(--accent); border-radius:8px; background:color-mix(in srgb,var(--accent) 6%,var(--raised)); color:var(--ink)}
.deliverable-group.is-partner .deliverable-group-head{margin:0}
.deliverable-group.is-partner .deliverable-group-head h3{color:var(--ink)}
.deliverable-group.is-partner .deliverable-group-head p{color:var(--ink-soft)}
.deliverable-group.is-partner .deliverable-list{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0 22px}
.deliverable-group.is-partner .deliverable-list li{border-color:var(--line); color:var(--ink)}
@media(max-width:900px){.deliverable-groups{grid-template-columns:1fr; gap:34px}.deliverable-group.is-partner{grid-column:auto; grid-template-columns:1fr}.deliverable-group.is-partner .deliverable-list{grid-template-columns:1fr}}
.qr-aside{display:flex; gap:26px; align-items:center; margin-top:28px; padding:28px; border:1px solid color-mix(in srgb, var(--accent) 30%, var(--line)); border-radius:14px; background:color-mix(in srgb, var(--accent) 7%, var(--raised)); max-width:none}
.qr-img{flex:none; width:132px; height:132px; border-radius:10px; border:1px solid var(--line); background:#fff; padding:10px}
.qr-aside h3{font-size:1.3rem; margin-bottom:.35rem}
.qr-aside p{font-size:.97rem; max-width:60ch}
@media(max-width:560px){.qr-aside{flex-direction:column; align-items:flex-start; text-align:left}}
/* timeline */
.process-layout{display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:56px; align-items:stretch}
.timeline{position:relative; max-width:none; padding-left:44px}
.timeline::before{content:""; position:absolute; left:13px; top:6px; bottom:6px; width:2px; background:var(--line)}
.step{position:relative; padding-bottom:36px}
.step:last-child{padding-bottom:0}
.step .knob{position:absolute; left:-44px; top:-2px; width:28px;height:28px; border-radius:50%; background:var(--accent); color:var(--on-accent); display:flex;align-items:center;justify-content:center; font-family:var(--disp); font-weight:700; font-size:.9rem}
.step h3{font-size:1.25rem; margin-bottom:.3rem}
.step p{font-size:.98rem; max-width:54ch}
.process-visual{align-self:stretch; border:1px solid var(--line); border-radius:8px; overflow:hidden; background:var(--raised); box-shadow:var(--shadow)}
.process-dashboard-frame{background:#fff; border-bottom:1px solid var(--line); overflow:hidden}
.process-dashboard-frame img{display:block; width:100%; height:auto}
.process-visual figcaption{padding:24px 26px}
.process-visual-kicker{display:block; margin-bottom:.45rem; color:var(--accent); font-size:.68rem; font-weight:800; letter-spacing:.13em; text-transform:uppercase}
.process-visual h3{font-size:1.45rem; margin-bottom:.55rem}
.process-visual p{font-size:.96rem; margin-bottom:1rem; max-width:56ch}
.process-visual-points{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; list-style:none; margin:0 0 1rem; padding:0}
.process-visual-points li{position:relative; padding-left:28px; color:var(--ink); font-size:.84rem; font-weight:600; line-height:1.35}
.process-visual-points li::before{content:"✓"; position:absolute; left:0; top:-1px; width:20px; height:20px; border-radius:50%; display:flex; align-items:center; justify-content:center; background:color-mix(in srgb,var(--accent) 16%,transparent); color:var(--accent); font-size:.7rem; font-weight:800}
.process-visual small{color:var(--ink-soft); font-size:.76rem}
@media(max-width:900px){.process-layout{grid-template-columns:1fr; gap:38px}.process-visual{max-width:680px}}
@media(max-width:560px){.process-visual-points{grid-template-columns:1fr}.process-visual figcaption{padding:22px}}
/* static sector pause */
.sector-band{padding:56px 0; border-block:1px solid var(--line)}
.sector-band-inner{display:grid; grid-template-columns:minmax(240px,.75fr) minmax(0,1.25fr); gap:56px; align-items:end}
.sector-band h2{font-size:clamp(1.8rem,3vw,2.6rem); margin-top:.8rem}
.sector-list{list-style:none; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0 24px; margin:0; padding:0}
.sector-list li{position:relative; padding:13px 0 13px 17px; border-bottom:1px solid var(--line); color:var(--ink); font-weight:700}
.sector-list li::before{content:""; position:absolute; left:0; top:22px; width:6px; height:6px; background:var(--accent)}
@media(max-width:760px){.sector-band-inner{grid-template-columns:1fr; gap:24px}.sector-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:420px){.sector-list{grid-template-columns:1fr}}
/* pricing */
.price{display:grid; grid-template-columns:repeat(3,1fr); gap:20px; align-items:stretch; max-width:1140px}
@media(max-width:920px){.price{grid-template-columns:1fr; max-width:460px; margin-inline:auto}}
.plan{position:relative; background:var(--raised); border:1px solid var(--line); border-radius:6px; padding:36px; display:flex; flex-direction:column; transition:transform 200ms var(--anim-ease), box-shadow 200ms var(--anim-ease)}
.plan:hover{transform:translateY(-3px); box-shadow:0 12px 28px -8px color-mix(in srgb, var(--ink) 16%, transparent)}
.plan.feat:hover{transform:translateY(-5px); box-shadow:0 18px 40px -10px color-mix(in srgb, var(--accent) 32%, transparent)}
.plan.feat{background:color-mix(in srgb, var(--accent) 10%, var(--raised)); color:var(--ink); border:2px solid var(--accent); padding-top:46px}
.plan-k{font-size:.74rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-soft); margin-bottom:.7rem}
.plan.feat .plan-k{color:var(--accent)}
.plan h3{font-size:1.5rem; margin-bottom:.5rem}
.plan>p{font-size:.96rem; margin-bottom:.5rem}
.plan-tag{position:absolute; top:-12px; left:36px; background:var(--accent); color:var(--on-accent); font-size:.7rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; padding:.36rem .8rem; border-radius:2px}
.plan .amount{font-family:var(--disp); font-weight:800; font-size:2.7rem; color:var(--accent); margin:.4rem 0 1.2rem; line-height:1}
.plan .amount small{font-size:.9rem; font-weight:500; color:var(--ink-soft); font-family:var(--sans)}
.plan ul{list-style:none; margin-bottom:1.6rem; display:flex; flex-direction:column; gap:.7rem}
.plan li{font-size:.95rem; padding-left:24px; position:relative}
.plan li::before{content:"✓"; position:absolute; left:0; color:var(--accent); font-weight:700}
.plan .btn{margin-top:auto; justify-content:center}
.bridge{max-width:780px; margin:-26px 0 32px; font-size:1.06rem; color:var(--ink)}
.specs{list-style:none; margin-bottom:1.6rem; display:flex; flex-direction:column; gap:0}
.specs li{display:flex; justify-content:space-between; gap:14px; align-items:baseline; padding:9px 0; border-bottom:1px solid var(--line); font-size:.9rem}
.specs li::before{content:none !important}
.specs li span{color:var(--ink-soft)}
.specs li b{font-weight:600; text-align:right}
.specs li b.na{color:#b3ac9e; font-weight:500}
.price-note{margin-top:24px; font-size:.92rem; color:var(--ink-soft)}
.google-notice{max-width:none; margin-top:10px; font-size:.84rem; color:var(--ink-soft)}
.google-notice a{color:var(--accent); text-decoration:underline; text-underline-offset:3px}
/* creed */
.creed{background:color-mix(in srgb, var(--ink) 78%, var(--accent)); color:var(--bg)}
.creed .kicker{color:color-mix(in srgb, var(--bg) 70%, transparent)}
.creed-h{font-size:clamp(2rem,4.6vw,3.4rem); color:var(--bg); max-width:20ch; margin:1.2rem 0 1.2rem}
.creed .sec-lede{color:color-mix(in srgb, var(--bg) 80%, transparent); margin-bottom:36px}
.creed-list{display:grid; grid-template-columns:repeat(2,1fr); gap:0 40px; max-width:900px}
@media(max-width:600px){.creed-list{grid-template-columns:1fr}}
.creed-list div{display:flex; gap:14px; align-items:center; font-weight:500; padding:16px 0; border-bottom:1px solid color-mix(in srgb, var(--bg) 18%, transparent)}
.creed-list .x{flex:none; display:inline-flex; align-items:center; justify-content:center; width:21px; height:21px; border-radius:50%; background:color-mix(in srgb,var(--accent) 18%,transparent); color:var(--accent); font-size:.74rem; font-weight:800}
/* form */
.form-grid{display:grid; grid-template-columns:.92fr 1.08fr; gap:54px; align-items:start}
@media(max-width:880px){.form-grid{grid-template-columns:1fr; gap:38px}}
.form-title{font-size:clamp(2rem,3.8vw,3rem); margin:1rem 0 1rem}
.form-intro{font-size:1.05rem}
.about{display:grid; grid-template-columns:auto 1fr; gap:20px; align-items:center; padding:24px; margin-top:30px; background:var(--raised); border:1px solid var(--line); border-left:3px solid var(--accent); border-radius:8px}
@media(max-width:600px){.about{grid-template-columns:1fr; text-align:center}}
.about h3{font-size:1.3rem; margin-bottom:.3rem}
.about p{font-size:.95rem}
.avatar{width:96px;height:96px;border-radius:50%; background:linear-gradient(135deg,var(--accent),#b83c18); display:flex;align-items:center;justify-content:center; font-family:var(--disp); font-weight:700; font-size:2.5rem; color:#fff; margin:0 auto; position:relative; overflow:hidden}
.avatar img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover}
form{background:var(--raised); border:1px solid var(--line); border-radius:6px; padding:32px}
.field{margin-bottom:18px}
.field label{display:block; font-size:.78rem; font-weight:700; letter-spacing:.04em; text-transform:uppercase; margin-bottom:.5rem; color:var(--ink-soft)}
.field input,.field textarea,.field select{width:100%; font-family:inherit; font-size:.96rem; padding:.7rem .2rem; border:0; border-bottom:1.5px solid var(--line); background:transparent; color:var(--ink); transition:border-color .2s}
.field input::placeholder,.field textarea::placeholder{color:color-mix(in srgb,var(--ink-soft) 58%,transparent)}
.field input:focus,.field textarea:focus,.field select:focus{outline:none; border-bottom-color:var(--accent)}
.field select option{background:var(--raised); color:var(--ink)}
.row2{display:grid; grid-template-columns:1fr 1fr; gap:20px}
@media(max-width:480px){.row2{grid-template-columns:1fr}}
form .btn{width:100%; justify-content:center; margin-top:8px}
form .btn:disabled{opacity:.68; cursor:wait; transform:none; box-shadow:none}
.form-status{min-height:1.3em; text-align:center; font-size:.9rem; font-weight:600; margin:14px 0 0}
.form-status.ok{color:var(--accent)}
.form-status.error{color:#b83c18}
.form-micro{text-align:center; font-size:.84rem; color:var(--ink-soft); margin-top:12px}
/* faq */
.faq{max-width:none}
.faq-item{border-bottom:1px solid var(--line)}
.faq-q{width:100%; background:none; border:0; cursor:pointer; text-align:left; padding:22px 0; font-family:var(--disp); font-weight:600; font-size:1.3rem; color:var(--ink); display:flex; justify-content:space-between; align-items:center; gap:16px}
.faq-toggle{flex:none; width:32px; height:32px; border-radius:50%; border:1.5px solid var(--accent); color:var(--accent); display:inline-flex; align-items:center; justify-content:center; transition:background 300ms var(--anim-ease), color 300ms var(--anim-ease)}
.faq-toggle svg{display:block; transition:transform 300ms var(--anim-ease); transform-origin:center}
.faq-toggle svg line{stroke:currentColor; stroke-width:2}
.faq-q[aria-expanded="true"] .faq-toggle{background:var(--accent); color:var(--on-accent)}
.faq-q[aria-expanded="true"] .faq-toggle svg{transform:rotate(45deg)}
.faq-a{display:grid; grid-template-rows:0fr; transition:grid-template-rows 300ms var(--anim-ease)}
.faq-q[aria-expanded="true"] + .faq-a{grid-template-rows:1fr}
.faq-a > div{overflow:hidden}
.faq-a p{padding:0 0 22px; font-size:1rem; max-width:64ch; color:var(--ink-soft)}
/* final */
.final-wrap{padding:40px 0 80px}
.final{text-align:center; background:var(--accent); color:var(--on-accent); border-radius:8px; padding:80px 30px}
.final h2{color:var(--on-accent); font-size:clamp(2rem,4.4vw,3.3rem); max-width:20ch; margin:0 auto 1.2rem}
.final p{color:color-mix(in srgb, var(--on-accent) 86%, transparent); max-width:50ch; margin:0 auto}
.final .btn-primary{background:var(--ink); color:var(--bg); box-shadow:none}
/* footer */
footer{padding:48px 0 100px; border-top:1px solid var(--line)}
.colophon{display:flex; flex-wrap:wrap; gap:16px 30px; align-items:center; justify-content:space-between; padding-top:30px}
.colo-brand{font-family:var(--disp); font-weight:700; font-size:1.2rem; display:flex; align-items:center; gap:.5rem}
.colo-meta{font-size:.86rem; color:var(--ink-soft)}
.links{display:flex; gap:22px; font-size:.86rem; font-weight:500}
.links a:hover{color:var(--accent)}
/* theme switcher */
.themer[hidden]{display:none}
.theme-toggle{display:inline-flex; align-items:center; justify-content:center; width:36px; height:36px; border-radius:50%; background:transparent; color:var(--ink); border:1.5px solid var(--line); cursor:pointer; margin-left:6px; transition:background .2s, color .2s, border-color .2s, transform .2s}
.theme-toggle:hover{background:color-mix(in srgb, var(--accent) 14%, transparent); border-color:var(--accent); color:var(--accent); transform:translateY(-1px)}
.theme-toggle .i-sun,.theme-toggle .i-moon{transition:opacity .25s var(--anim-ease), transform .25s var(--anim-ease)}
[data-mode="dark"] .theme-toggle .i-sun{display:none}
[data-mode="dark"] .theme-toggle .i-moon{display:inline}
.theme-toggle .i-moon{display:none}
.theme-toggle .i-sun{display:inline}
/* pricing journey */
.pricing-journey{max-width:var(--maxw); margin:0 auto}
.opening-pack{background:var(--raised); border:1.5px solid var(--line); border-left:3px solid var(--accent); border-radius:8px; padding:34px; display:grid; grid-template-columns:1.05fr 1.25fr auto; gap:32px; align-items:center; margin-top:40px}
[data-mode="dark"] .opening-pack{background:transparent; border-color:#2C3C24; border-left-color:var(--accent)}
.ps-step-top{display:flex; flex-direction:column; gap:1.5rem}
.ps-num-tag{display:inline-block; align-self:flex-start; font-size:.7rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--ink-soft); padding:.28rem .65rem; border:1px solid var(--line); border-radius:2px}
.ps-title{font-family:var(--disp); font-size:1.55rem; font-weight:700; line-height:1.1}
.ps-price{font-family:var(--disp); font-weight:800; font-size:2.6rem; color:var(--ink); line-height:1; margin-top:.2rem}
.ps-sub{font-size:.88rem; font-weight:500; color:var(--ink-soft); font-family:var(--sans)}
.ps-desc{font-size:.97rem; color:var(--ink-soft); max-width:52ch}
.ps-list{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:.7rem}
.ps-list li{font-size:.97rem; padding-left:30px; position:relative; color:var(--ink-soft)}
.ps-list li::before{content:"✓"; position:absolute; left:0; top:2px; width:21px; height:21px; border-radius:50%; display:flex; align-items:center; justify-content:center; background:color-mix(in srgb,var(--accent) 16%,transparent); color:var(--accent); font-size:.74rem; font-weight:800}
.ps-connector{display:flex; align-items:center; justify-content:center; gap:16px; max-width:800px; margin:18px auto 28px; padding:18px 22px; border-block:1px solid var(--line)}
.ps-connector p{max-width:68ch; color:var(--ink); font-size:.96rem; font-weight:600}
.ps-arrow{display:inline-flex; align-items:center; justify-content:center; flex:none; width:34px; height:34px; border-radius:50%; background:color-mix(in srgb,var(--accent) 16%,transparent); color:var(--accent); font-size:1.15rem; line-height:1}
.commitment-callout{display:flex; align-items:flex-start; gap:16px; max-width:800px; margin:18px auto 0; padding:22px; background:var(--raised); border:1px solid var(--line); border-left:3px solid var(--accent); border-radius:8px}
.commitment-icon{display:inline-flex; align-items:center; justify-content:center; flex:none; width:34px; height:34px; border-radius:50%; background:color-mix(in srgb,var(--accent) 16%,transparent); color:var(--accent); font-size:1rem; font-weight:800}
.commitment-callout h3{font-size:1.15rem; margin-bottom:.35rem}
.commitment-callout p{color:var(--ink-soft); font-size:.94rem}
.continuity-head{display:flex; align-items:end; justify-content:space-between; gap:28px; margin-bottom:24px}
.continuity-head h3{font-family:var(--disp); font-size:1.7rem; line-height:1.15; margin:.7rem 0 .3rem}
.continuity-head p{color:var(--ink-soft)}
.billing-switch{display:flex; flex:none; padding:4px; border:1px solid var(--line); border-radius:6px; background:var(--raised)}
.billing-switch input{position:absolute; opacity:0; pointer-events:none}
.billing-switch label{min-height:40px; padding:.55rem .85rem; border-radius:4px; font-size:.86rem; font-weight:700; color:var(--ink-soft); cursor:pointer; display:flex; align-items:center; gap:.35rem; white-space:nowrap}
.billing-switch label span{color:var(--accent)}
.billing-switch input:checked + label{background:var(--accent); color:var(--on-accent)}
.billing-switch input:checked + label span{color:var(--on-accent)}
.billing-switch input:focus-visible + label{outline:2px solid var(--ink); outline-offset:2px}
[data-mode="dark"] .billing-switch{background:#131D0E; border-color:#405334; box-shadow:0 10px 26px -20px rgba(156,240,58,.7)}
.continuity-grid{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); column-gap:16px; row-gap:20px; align-items:stretch}
.plan-card{position:relative; min-width:0; background:var(--raised); border:2px solid var(--line); border-radius:8px; padding:30px; display:flex; flex-direction:column; gap:1.4rem}
.plan-card.is-featured{border:2px solid var(--accent); background:color-mix(in srgb, var(--accent) 4%, var(--raised))}
.plan-card-head{display:flex; flex-direction:column; gap:.45rem; min-height:178px}
.plan-label{font-size:.72rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; color:var(--accent)}
.recommended-label{position:absolute; top:18px; right:18px; padding:.25rem .55rem; border-radius:3px; background:var(--accent); color:var(--on-accent); font-size:.68rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase}
.partner-tier-label{display:none}
.plan-card[data-plan="partner"]{overflow:hidden; background:#263A1F; border-color:#3A572F; color:#EFEDE0; box-shadow:0 24px 54px -38px rgba(21,32,11,.9)}
.plan-card[data-plan="partner"]::before{content:""; position:absolute; inset:0 0 auto; height:4px; background:var(--accent)}
.plan-card[data-plan="partner"] .partner-tier-label{display:inline-flex; position:absolute; top:18px; right:18px; align-items:center; min-height:26px; padding:.22rem .55rem; border:1px solid rgba(239,237,224,.32); border-radius:4px; color:#EFEDE0; font-size:.68rem; font-weight:700}
.plan-card[data-plan="partner"] .plan-label{align-self:flex-start; color:#A8EB66}
.plan-card[data-plan="partner"] h3,.plan-card[data-plan="partner"] .plan-amount{color:#EFEDE0}
.plan-card[data-plan="partner"] .plan-period,.plan-card[data-plan="partner"] .plan-billing-detail{color:#D0D7C5}
.plan-card[data-plan="partner"] .ps-list{border-color:rgba(239,237,224,.18)}
.plan-card[data-plan="partner"] .ps-list li{color:#E5E9DA}
  .plan-card[data-plan="partner"] .ps-list li::before{color:#9CF03A}
.plan-card[data-plan="partner"] .plan-fit-note{border-color:rgba(239,237,224,.24); color:#D0D7C5}
.plan-card[data-plan="partner"] .plan-fit-note strong{color:#EFEDE0}
.plan-card[data-plan="partner"] .btn-ghost{background:#EFEDE0; border-color:#EFEDE0; color:#15200B}
.plan-card[data-plan="partner"] .btn-ghost:hover{background:#FFFFFF; border-color:#FFFFFF; color:#15200B; box-shadow:0 16px 30px -20px rgba(255,255,255,.75)}
[data-mode="dark"] .plan-card[data-plan="partner"]{background:#EFEDE0; border-color:#D5D1BE; color:#1E2C18; box-shadow:0 28px 60px -34px rgba(0,0,0,.95)}
[data-mode="dark"] .plan-card[data-plan="partner"] .partner-tier-label{background:#E4E2D3; border-color:#687460; color:#1E2C18}
[data-mode="dark"] .plan-card[data-plan="partner"] .plan-label{color:#3F741D}
[data-mode="dark"] .plan-card[data-plan="partner"] h3,[data-mode="dark"] .plan-card[data-plan="partner"] .plan-amount{color:#1E2C18}
[data-mode="dark"] .plan-card[data-plan="partner"] .plan-period,[data-mode="dark"] .plan-card[data-plan="partner"] .plan-billing-detail{color:#4B5A41}
[data-mode="dark"] .plan-card[data-plan="partner"] .ps-list{border-color:rgba(30,44,24,.18)}
[data-mode="dark"] .plan-card[data-plan="partner"] .ps-list li{color:#25331F}
[data-mode="dark"] .plan-card[data-plan="partner"] .ps-list li::before{color:#4E9D20}
[data-mode="dark"] .plan-card[data-plan="partner"] .plan-fit-note{border-color:rgba(30,44,24,.22); color:#4B5A41}
[data-mode="dark"] .plan-card[data-plan="partner"] .plan-fit-note strong{color:#1E2C18}
[data-mode="dark"] .plan-card[data-plan="partner"] .btn-ghost{background:#1E2C18; border-color:#1E2C18; color:#EFEDE0}
[data-mode="dark"] .plan-card[data-plan="partner"] .btn-ghost:hover{background:#2A421F; border-color:#2A421F; color:#FFFFFF}
.plan-card h3{font-family:var(--disp); font-size:1.35rem; line-height:1.15; max-width:22ch}
@media(min-width:901px){.plan-card h3{min-height:2.3em}}
.plan-price{display:flex; flex-wrap:wrap; align-items:baseline; gap:.45rem; margin-top:.35rem}
.plan-amount{font-family:var(--disp); font-size:2.5rem; line-height:1; font-weight:800; color:var(--ink)}
.plan-card.is-featured .plan-amount{color:var(--accent)}
.plan-period{font-size:.88rem; color:var(--ink-soft); font-weight:600}
.plan-billing-detail{min-height:2.8em; font-size:.82rem; color:var(--ink-soft)}
.plan-card .ps-list{flex:1; justify-content:space-between; border-top:1px solid var(--line); padding-top:1.35rem}
.plan-card .btn{margin-top:0; justify-content:center; width:100%}
.plan-fit-note{margin-top:0; padding-top:1rem; border-top:1px dashed var(--line); color:var(--ink-soft); font-size:.83rem; line-height:1.45}
.plan-fit-note strong{color:var(--ink); font-weight:700}
.plan-card .plan-fit-note + .btn{margin-top:0}
.plan-comparison{margin-top:42px; border-block:1px solid var(--line)}
.plan-comparison summary{list-style:none; cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:20px; padding:20px 0; color:var(--ink); font-family:var(--disp); font-size:1.18rem; font-weight:700}
.plan-comparison summary::-webkit-details-marker{display:none}
.plan-comparison summary::after{content:"+"; width:30px; height:30px; border:1px solid var(--line); border-radius:50%; display:inline-flex; align-items:center; justify-content:center; color:var(--accent); font-family:var(--sans); font-size:1.2rem; line-height:1}
.plan-comparison[open] summary::after{content:"−"}
.plan-comparison summary:focus-visible{outline:2px solid var(--accent); outline-offset:5px}
.comparison-panel{padding:0 0 22px}
.comparison-scroll{overflow-x:auto; border-top:1px solid var(--ink); border-bottom:1px solid var(--line)}
.plan-comparison table{width:100%; min-width:760px; border-collapse:collapse; font-size:.9rem}
.plan-comparison caption{position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0}
.plan-comparison th,.plan-comparison td{padding:14px 16px; border-bottom:1px solid var(--line); text-align:left; vertical-align:top}
.plan-comparison thead th{background:var(--raised); color:var(--ink); font-weight:800}
.plan-comparison tbody th{width:23%; color:var(--ink); font-weight:700}
.plan-comparison td{color:var(--ink-soft)}
.plan-comparison th:nth-child(3),.plan-comparison td:nth-child(3){background:color-mix(in srgb, var(--accent) 7%, var(--raised))}
.plan-comparison th:nth-child(4),.plan-comparison td:nth-child(4){background:#EEF2E7; border-left:2px solid #3A572F; color:#33402C}
.comparison-active-head{color:#4C8A20 !important}
.comparison-active-head span:first-child{vertical-align:middle}
.comparison-partner-head{color:#3A572F !important}
.table-recommended{display:inline-flex; margin-left:.5rem; padding:.16rem .38rem; border-radius:3px; background:var(--accent); color:var(--on-accent); font-size:.58rem; font-weight:800; letter-spacing:.05em; line-height:1.2; text-transform:uppercase; vertical-align:middle}
.comparison-absence{color:#77816E}
.comparison-web-row th,.comparison-web-row td{border-top:1px solid color-mix(in srgb, var(--ink) 25%, var(--line))}
.partner-exclusive{display:block; color:#29481D; font-weight:700}
.partner-exclusive::before{content:"✓"; margin-right:.45rem; color:#4E9D20; font-weight:800}
[data-mode="dark"] .plan-comparison th:nth-child(3),[data-mode="dark"] .plan-comparison td:nth-child(3){background:color-mix(in srgb, var(--accent) 9%, var(--raised))}
[data-mode="dark"] .plan-comparison th:nth-child(4),[data-mode="dark"] .plan-comparison td:nth-child(4){background:#B8C2AE; border-bottom-color:#98A38F; border-left-color:#5C963B; color:#25331F}
[data-mode="dark"] .comparison-active-head{color:#9CF03A !important}
[data-mode="dark"] .comparison-partner-head{color:#29481D !important}
[data-mode="dark"] .comparison-absence{color:#8E9A82}
[data-mode="dark"] .partner-exclusive{color:#203019}
@media(max-width:900px){
  .opening-pack{grid-template-columns:1fr; gap:24px; max-width:560px; margin-inline:auto}
  .opening-pack .btn{width:100%; justify-content:center}
  .continuity-head{align-items:flex-start; flex-direction:column}
  .continuity-grid{grid-template-columns:1fr; max-width:560px; margin-inline:auto}
  .plan-card-head{min-height:0}
}
@media(max-width:480px){
  .opening-pack,.plan-card{padding:24px}
  .opening-pack .ps-sub{display:block; margin-top:.5rem; line-height:1.3}
  .billing-switch{width:100%}
  .billing-switch label{flex:1; justify-content:center; padding:.55rem .5rem}
  .plan-amount{font-size:2.2rem}
}

/* conversion-focused landing */
.hero h1{font-size:clamp(2.9rem,6.4vw,5.7rem); max-width:19ch}
.hero-lede .hero-analysis strong{color:var(--ink)}
.hero-cta .btn{text-align:center; justify-content:center}
.gcard{padding-top:24px}
.offer-strip{padding:40px 0 84px; scroll-margin-top:100px}
.offer-grid{display:grid; grid-template-columns:1fr 1fr; gap:24px}
.offer-card{padding:30px; border:1px solid var(--line); border-top:3px solid var(--accent); border-radius:8px; background:var(--raised)}
.offer-card .kicker{margin-bottom:20px}
.offer-next{background:color-mix(in srgb,var(--accent) 5%,var(--raised))}
.check-list,.number-list{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:13px}
.check-list li,.number-list li{position:relative; padding-left:32px; color:var(--ink); line-height:1.45}
.check-list li::before{content:"✓"; position:absolute; left:0; top:1px; width:21px; height:21px; border-radius:50%; display:flex; align-items:center; justify-content:center; background:color-mix(in srgb,var(--accent) 16%,transparent); color:var(--accent); font-size:.72rem; font-weight:800}
.number-list{counter-reset:offer-step}
.number-list li{counter-increment:offer-step}
.number-list li::before{content:counter(offer-step); position:absolute; left:0; top:1px; width:22px; height:22px; border-radius:50%; display:flex; align-items:center; justify-content:center; background:var(--accent); color:var(--on-accent); font-size:.72rem; font-weight:800}
.situation-grid{list-style:none; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 48px; margin:0; padding:0}
.situation-grid li{position:relative; padding:22px 0 22px 34px; border-top:1px solid var(--line); color:var(--ink); font-size:1.08rem; font-weight:650}
.situation-grid li::before{content:""; position:absolute; left:2px; top:30px; width:10px; height:10px; background:var(--accent)}
.situation-bridge{max-width:74ch; margin-top:34px; padding:24px 26px; border-left:3px solid var(--accent); background:var(--raised); color:var(--ink); font-size:1.05rem}
.example-note{display:inline-flex; margin-top:.4rem; padding:.42rem .7rem; border:1px solid color-mix(in srgb,var(--accent) 45%,var(--line)); border-radius:3px; color:var(--ink); background:color-mix(in srgb,var(--accent) 8%,transparent); font-size:.86rem; font-weight:700}
.basics-block{max-width:760px; margin:28px auto 0; padding:32px; border:1px solid var(--line); border-radius:12px; background:var(--raised); box-shadow:0 8px 30px -18px color-mix(in srgb,var(--ink) 18%,transparent)}
.basics-block>p{margin-bottom:22px; color:var(--ink); font-weight:650; font-size:1.05rem}
.check-list.compact{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px}
.check-list.compact li{display:flex; align-items:center; gap:12px; padding:16px 18px; background:var(--bg); border-radius:10px; border:1px solid var(--line); font-weight:600; font-size:.92rem; color:var(--ink); line-height:1.35}
.check-list.compact li::before{position:static; flex:none; order:1; margin:0; top:auto; left:auto; transform:none; width:28px; height:28px; font-size:.88rem; display:inline-flex; align-items:center; justify-content:center; border-radius:50%; background:color-mix(in srgb,var(--accent) 18%,transparent); color:var(--accent); font-weight:800}
.process-grid{display:grid; grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr); gap:64px; align-items:start}
.needs-card{position:sticky; top:100px; padding:30px; border:1px solid var(--line); border-left:3px solid var(--accent); border-radius:8px; background:var(--bg)}
.needs-card .kicker{margin-bottom:22px}
.dashboard-layout{display:grid; grid-template-columns:minmax(260px,.65fr) minmax(0,1.35fr); gap:56px; align-items:start}
.dashboard-layout .sec-head{margin:0; position:sticky; top:110px}
.ethics-criterion{max-width:74ch; margin:-12px 0 30px; padding:18px 20px; border-left:3px solid var(--accent); color:var(--bg); background:color-mix(in srgb,var(--bg) 8%,transparent)}
.ethics-criterion strong{color:var(--accent)}
.vertical-grid{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px}
.vertical-card{padding:28px; border:1px solid var(--line); border-top:3px solid var(--accent); border-radius:8px; background:var(--raised)}
.vertical-card h3{font-size:1.28rem; margin-bottom:.65rem}
.not-for-card{display:grid; grid-template-columns:minmax(170px,.35fr) minmax(0,1.65fr); gap:30px; margin-top:28px; padding:28px; border:1px solid var(--line); border-radius:8px; background:var(--bg)}
.not-for-card h3{font-size:1.35rem}
.not-for-card p{color:var(--ink)}
.commitment-callout{max-width:none; margin-top:28px; padding:28px}
.commitment-callout strong{color:var(--ink)}
.privacy-check{display:flex; align-items:flex-start; gap:11px; margin:4px 0 18px; color:var(--ink); font-size:.9rem; cursor:pointer}
.privacy-check input{flex:none; width:18px; height:18px; margin-top:3px; accent-color:var(--accent)}
.privacy-check a,.privacy-info a{color:var(--accent); text-decoration:underline; text-underline-offset:2px}
.privacy-info{margin-top:14px; color:var(--ink-soft); font-size:.72rem; line-height:1.45}
.final{display:flex; flex-direction:column; align-items:center}
.final p + p{margin-top:.9rem}
.final .btn{margin-top:1.6rem}
.links{flex-wrap:wrap; justify-content:flex-end}
.legal-main{padding:88px 0 110px}
.legal-wrap{max-width:820px}
.legal-wrap h1{font-size:clamp(2.5rem,6vw,4.5rem); margin:1rem 0 2rem}
.legal-wrap h2{font-size:1.5rem; margin:2.3rem 0 .65rem}
.legal-wrap p,.legal-wrap li{font-size:1rem; color:var(--ink-soft)}
.legal-wrap ul{padding-left:1.2rem; display:flex; flex-direction:column; gap:.45rem}
.legal-placeholder{padding:18px 20px; border-left:3px solid var(--accent); background:var(--raised); color:var(--ink) !important}
.nav > .brand + .nav-cta{margin-left:auto}

@media(max-width:900px){
  .offer-grid,.dashboard-layout{grid-template-columns:1fr}
  .dashboard-layout .sec-head,.needs-card{position:static}
  .process-grid{grid-template-columns:1fr; gap:38px}
  .vertical-grid{grid-template-columns:1fr}
}
@media(max-width:700px){
  .situation-grid,.check-list.compact{grid-template-columns:1fr}
  .not-for-card{grid-template-columns:1fr; gap:12px}
  .final{padding:58px 22px}
}
@media(max-width:480px){
  .hero{padding-top:32px}
  .hero h1{font-size:clamp(2.55rem,13vw,3.6rem)}
  .hero-cta,.hero-cta .btn{width:100%}
  .offer-card{padding:24px}
  .gcard{padding:24px 18px 20px}
  .faq-q{font-size:1.12rem}
  .links{justify-content:flex-start}
}

/* whatsapp (deshabilitado por ahora) */
.wa{display:none !important}
/* reduced motion */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; scroll-behavior:auto !important}
  .reveal{opacity:1 !important; transform:none !important}
}
