/* ===========================================================================
   STAKK BRAND V3 - SHARED PARTS
   Every part styled once, from the tokens only. Load after stakk-tokens-v3.css.
   Rules: projects/stakk/stakk-brand-guidelines-v3.html.

   Top half: the parts from stakk-ui-v3.css (buttons, cards, fields, chips,
   money chip, bump box, hero picture, claim field, announcement bar).
   Bottom half: the site chrome every marketing and SEO page shares (nav,
   page hero, FAQ, last call, footer, Ask AI, phone claim bar, reveal).
   The nav and footer HTML is written once, in marketing/seo-pages/partials/,
   and stamped into each page by marketing/seo-pages/build.py.
   =========================================================================== */
*{box-sizing:border-box;margin:0}
body{font-family:var(--sk-font);font-size:var(--sk-fs-body);line-height:var(--sk-lh-body);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%}
.wrap{max-width:var(--sk-max-w);margin:0 auto;padding:0 var(--sk-gutter)}
h1,h2,h3{font-weight:var(--sk-fw-bold);line-height:var(--sk-lh-tight)}
h1{font-size:var(--sk-fs-h1);letter-spacing:var(--sk-ls-tight)}
h2{font-size:var(--sk-fs-h2);letter-spacing:var(--sk-ls-tight)}
h3{font-size:var(--sk-fs-h3);letter-spacing:var(--sk-ls-snug);line-height:var(--sk-lh-snug)}
.sec{padding:var(--sk-section-y) 0}
.head{max-width:760px;margin-bottom:var(--sk-head-gap)}
.lede{margin-top:var(--sk-sp-3);font-size:var(--sk-fs-lede);line-height:var(--sk-lh-lede);color:var(--g-fg-2)}
.muted{color:var(--g-fg-2)}
.small{font-size:var(--sk-fs-small)}
/* ---- Icons ---- */
.ico{width:var(--sk-icon);height:var(--sk-icon);flex:none;fill:none;stroke:currentColor;stroke-width:var(--sk-icon-stroke);stroke-linecap:round;stroke-linejoin:round}
.mark{height:1.15em;width:calc(1.15em * .8527);flex:none;fill:currentColor}
.logo{display:inline-flex;align-items:center;gap:.4em;font-size:22px;letter-spacing:-0.03em;color:inherit}

/* ---- Buttons: styled once, coloured by the ground ---- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sk-sp-2);height:var(--sk-ctl-h);padding:0 var(--sk-ctl-pad);border:0;border-radius:var(--sk-r-control);background:var(--g-act-bg);color:var(--g-act-fg);font:inherit;white-space:nowrap;cursor:pointer;transition:background-color var(--sk-dur-hover) var(--sk-ease),transform var(--sk-dur-press) var(--sk-ease)}
.btn:hover{background:var(--g-act-hover)}
a.btn,a.logo{text-decoration:none}
.btn:active{transform:scale(var(--sk-press-scale))}
.btn-soft{background:var(--g-soft-bg);color:var(--g-fg)}.btn-soft:hover{background:var(--g-soft-hover)}
.btn-lg{height:var(--sk-ctl-h-lg);padding:0 var(--sk-ctl-pad-lg)}
.btn-sm{height:var(--sk-ctl-h-sm);padding:0 var(--sk-ctl-pad-sm);font-size:var(--sk-fs-small)}
.btn-full{width:100%}
.btn-store{margin-top:var(--sk-sp-4);background:var(--sk-store-accent);color:var(--sk-store-accent-on)}
.btn-store:hover{background:var(--sk-store-accent);opacity:.88}
.btn:disabled{opacity:var(--sk-disabled);pointer-events:none}
.link{color:inherit;text-decoration:underline;text-decoration-thickness:var(--sk-ring);text-underline-offset:3px}
.row{display:flex;flex-wrap:wrap;gap:var(--sk-sp-3);align-items:center}

/* ---- Cards, fields, chips ---- */
.card{background:var(--g-card);border-radius:var(--sk-r-card);padding:var(--sk-card-pad)}
.card.click{cursor:pointer;transition:transform var(--sk-dur-hover) var(--sk-ease)}
.card.click:hover{transform:translateY(var(--sk-lift))}
.field{display:flex;align-items:center;gap:var(--sk-sp-1);height:var(--sk-ctl-h);padding:0 var(--sk-sp-4);background:var(--g-field);border-radius:var(--sk-r-control);box-shadow:inset 0 0 0 var(--sk-ring) var(--g-field-ring);color:var(--g-fg-2);transition:box-shadow var(--sk-dur-hover) var(--sk-ease)}
.field input{flex:1;min-width:0;border:0;outline:0;background:transparent;font:inherit;color:var(--sk-ink)}
.field:focus-within,.field.is-focus{box-shadow:inset 0 0 0 var(--sk-focus) var(--sk-ink)}
.field.is-error{box-shadow:inset 0 0 0 var(--sk-focus) var(--sk-error)}
.err{margin-top:var(--sk-sp-2);font-size:var(--sk-fs-small);color:var(--sk-error)}
.money{display:inline-block;padding:var(--sk-money-pad);border-radius:var(--sk-r-money);background:var(--g-money-bg);color:var(--g-money-fg);font-weight:var(--sk-fw-bold);font-variant-numeric:tabular-nums}
.chip{height:var(--sk-ctl-h-sm);padding:0 var(--sk-ctl-pad-sm);border:0;border-radius:var(--sk-r-pill);background:var(--g-soft-bg);color:var(--g-fg);font:inherit;font-size:var(--sk-fs-small);cursor:pointer;transition:background-color var(--sk-dur-hover) var(--sk-ease),transform var(--sk-dur-press) var(--sk-ease)}
.chip:hover,.chip[aria-pressed="true"]{background:var(--g-soft-hover)}
.chip[aria-pressed="true"]{font-weight:var(--sk-fw-bold)}
.chip:active{transform:scale(var(--sk-press-scale))}

/* Bump box (checkout) */
.bump{position:relative;display:grid;grid-template-columns:24px 1fr;gap:var(--sk-sp-3);padding:var(--sk-sp-3);border-radius:var(--sk-r-control);background:var(--sk-mint-50);cursor:pointer;font-size:var(--sk-fs-small);line-height:var(--sk-lh-snug);transition:background-color var(--sk-dur-hover) var(--sk-ease)}
.bump:hover{background:var(--sk-mint-100)}
.bump input{position:absolute;opacity:0;pointer-events:none}
.box{width:24px;height:24px;border-radius:var(--sk-r-check);box-shadow:inset 0 0 0 var(--sk-ring) var(--sk-ink);display:grid;place-items:center;color:var(--sk-white);transition:background-color var(--sk-dur-hover) var(--sk-ease),transform var(--sk-dur-hover) var(--sk-spring)}
.box .ico{width:var(--sk-icon-sm);height:var(--sk-icon-sm);stroke-width:2.5;opacity:0}
.bump input:checked + .box{background:var(--sk-ink);transform:scale(1.08)}
.bump input:checked + .box .ico{opacity:1}
.bump input:focus-visible + .box{outline:var(--sk-focus) solid var(--sk-ink);outline-offset:2px}
.bump small{display:block;margin-top:2px;color:var(--sk-muted)}

/* ---- Top bar and hero ---- */
.topbar{display:flex;align-items:center;justify-content:space-between;gap:var(--sk-sp-4);height:72px}
.topbar .small{color:var(--g-fg-2)}
.hero{overflow:hidden}
.hero-in{display:grid;gap:var(--sk-sp-7);align-items:center;padding-top:var(--sk-sp-6);text-align:center}
.hero-copy{max-width:720px;margin:0 auto}
.hero .lede{max-width:26em;margin-left:auto;margin-right:auto}
@media (min-width:1180px){.hero-in{grid-template-columns:minmax(0,1fr) 440px;text-align:left}.hero-copy{margin:0}.hero .lede{margin-left:0}}

/* The hero picture: a fixed 440x560 drawing, scaled on small screens */
.stage{position:relative;height:560px}
.stage-in{position:absolute;left:50%;top:0;width:440px;height:560px;margin-left:-220px;transform-origin:top center}
@media (max-width:480px){.stage{height:440px}.stage-in{transform:scale(.78)}}
.slabs{position:absolute;left:-120px;top:-90px;width:680px;height:680px;fill:var(--g-slab)}
.phone{position:absolute;left:80px;top:24px;z-index:2;width:280px;height:560px;padding:34px 18px 0;overflow:hidden;background:var(--sk-white);color:var(--sk-ink);border-radius:var(--sk-r-device) var(--sk-r-device) 0 0;box-shadow:var(--sk-shadow-float);text-align:center}
.ph-av{position:relative;width:68px;height:68px;margin:0 auto}
.ph-av img{width:68px;height:68px;border-radius:50%;object-fit:cover}
.badge{position:absolute;right:-2px;bottom:-2px;width:24px;height:24px;border-radius:50%;background:var(--sk-green);color:var(--sk-ink);display:grid;place-items:center;box-shadow:0 0 0 3px var(--sk-white)}
.badge .ico{width:14px;height:14px;stroke-width:2.5}
.ph-name{margin-top:var(--sk-sp-2);font-size:17px;font-weight:var(--sk-fw-bold);letter-spacing:var(--sk-ls-snug)}
.ph-bio{margin-top:2px;font-size:var(--sk-fs-mock);color:var(--sk-muted);line-height:var(--sk-lh-snug)}
.ph-card{margin-top:14px;padding:10px;border-radius:var(--sk-r-control);background:var(--sk-mint-50);text-align:left}
.ph-card img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:var(--sk-r-small)}
.ph-card b{display:block;margin-top:var(--sk-sp-2);font-size:14.5px;letter-spacing:var(--sk-ls-snug)}
.ph-card small{display:block;margin-top:1px;font-size:var(--sk-fs-mock);color:var(--sk-muted);line-height:var(--sk-lh-snug)}
.ph-btn{display:flex;align-items:center;justify-content:center;height:var(--sk-ctl-h-sm);margin-top:10px;border-radius:var(--sk-r-small);background:var(--sk-store-accent);color:var(--sk-store-accent-on);font-size:13.5px}
.ph-row{display:grid;grid-template-columns:44px 1fr;gap:10px;align-items:center;margin-top:10px;padding:10px;border-radius:var(--sk-r-control);background:var(--sk-mint-50);text-align:left;font-size:13px}
.ph-row img{width:44px;height:44px;border-radius:var(--sk-r-small);object-fit:cover}
.cover{position:absolute;z-index:1;width:124px;height:124px;border-radius:var(--sk-r-card);object-fit:cover;box-shadow:var(--sk-shadow-float)}
.cover.c1{left:0;top:70px;transform:rotate(-8deg)}
.cover.c2{left:318px;top:350px;width:112px;height:112px;transform:rotate(7deg)}
.note{position:absolute;z-index:3;display:flex;align-items:center;gap:10px;padding:12px 16px 12px 12px;background:var(--sk-white);color:var(--sk-ink);border-radius:var(--sk-r-control);box-shadow:var(--sk-shadow-float);text-align:left;font-size:13px;line-height:var(--sk-lh-snug)}
.note small{display:block;color:var(--sk-muted);font-size:var(--sk-fs-mock)}
.note b{font-size:18px;letter-spacing:var(--sk-ls-snug);font-variant-numeric:tabular-nums}
.note .dot{width:34px;height:34px;border-radius:50%;background:var(--sk-mint-100);display:grid;place-items:center;flex:none}
.note .dot .ico{width:18px;height:18px}
.note.n1{left:0;top:466px}
.pop{animation:pop var(--sk-dur-pop) var(--sk-spring) both}
.bob{animation:pop var(--sk-dur-pop) var(--sk-spring) both,bob 4s ease-in-out .8s infinite alternate}
@keyframes pop{from{opacity:0;scale:.82}to{opacity:1;scale:1}}
@keyframes bob{to{translate:0 -6px}}
.ilist{list-style:none;padding:0;display:grid;gap:var(--sk-sp-5) var(--sk-sp-7)}
@media (min-width:768px){.ilist.two{grid-template-columns:1fr 1fr}}
.ilist li{display:grid;grid-template-columns:24px 1fr;gap:var(--sk-sp-1) var(--sk-sp-3)}
.ilist .ico{width:var(--sk-icon-lg);height:var(--sk-icon-lg)}
.ilist span{grid-column:2;color:var(--g-fg-2)}
/* ---- Picture gallery: fixed 360x380 drawings, scaled to fit ---- */
.pics{display:grid;gap:var(--sk-sp-5)}
@media (min-width:1024px){.pics{grid-template-columns:repeat(3,minmax(0,1fr))}}
.pic{position:relative;height:380px;overflow:hidden;border-radius:var(--sk-r-card);box-shadow:inset 0 0 0 1px rgba(10,15,11,.08)}
.pic-in{position:absolute;left:50%;top:0;width:360px;height:380px;margin-left:-180px;transform-origin:top center}
@media (min-width:1024px) and (max-width:1179px){.pic{height:320px}.pic-in{transform:scale(.84)}}
@media (max-width:400px){.pic{height:342px}.pic-in{transform:scale(.9)}}
.pic .slabs{left:-80px;top:-60px;width:520px;height:520px}
.pic .phone{left:60px;top:36px;width:240px;height:360px;padding:22px 16px 0;border-radius:36px 36px 0 0;text-align:left;font-size:13px}
.pic .cover{width:116px;height:66px;border-radius:var(--sk-r-small)}
.pic-cap{margin-top:var(--sk-sp-3)}
.pic-cap span{display:block;font-size:var(--sk-fs-small);color:var(--g-fg-2)}
.m-top{display:flex;align-items:center;gap:6px;font-size:var(--sk-fs-mock);color:var(--sk-muted)}
.m-top .ico{width:14px;height:14px}
.m-line{display:grid;grid-template-columns:40px 1fr auto;gap:10px;align-items:center;margin-top:12px}
.m-line img{width:40px;height:40px;border-radius:8px;object-fit:cover}
.m-line small{display:block;color:var(--sk-muted);font-size:11px}
.m-bump{display:grid;grid-template-columns:18px 1fr;gap:8px;margin-top:12px;padding:9px;border-radius:10px;background:var(--sk-mint-50);font-size:12px;line-height:1.3}
.m-box{display:grid;place-items:center;width:18px;height:18px;border-radius:5px;background:var(--sk-ink);color:var(--sk-white)}
.m-box .ico{width:12px;height:12px;stroke-width:2.5}
.m-total{display:flex;justify-content:space-between;align-items:center;margin-top:12px;padding-top:10px;border-top:1px solid var(--sk-line)}
.m-btn{display:flex;align-items:center;justify-content:center;height:36px;margin-top:12px;border-radius:10px;background:var(--sk-ink);color:var(--sk-white);font-size:13px}
.fcard{position:absolute;z-index:2;display:flex;align-items:center;gap:10px;width:210px;padding:12px 14px;background:var(--sk-white);color:var(--sk-ink);border-radius:var(--sk-r-control);box-shadow:var(--sk-shadow-float);font-size:13px;line-height:var(--sk-lh-snug)}
.fcard small{display:block;color:var(--sk-muted);font-size:var(--sk-fs-mock)}
.fcard b{font-size:16px;letter-spacing:var(--sk-ls-snug);font-variant-numeric:tabular-nums}
.fcard .ico{color:var(--sk-forest-700)}
.win{position:absolute;left:30px;top:40px;z-index:2;width:300px;height:360px;padding:14px 18px;background:var(--sk-white);color:var(--sk-ink);border-radius:var(--sk-r-control) var(--sk-r-control) 0 0;box-shadow:var(--sk-shadow-float);font-size:13px}
.win-dots{display:flex;gap:5px;margin-bottom:14px}
.win-dots i{width:8px;height:8px;border-radius:50%;background:var(--sk-mint-200)}
.win-num{font-size:28px;font-weight:var(--sk-fw-bold);letter-spacing:var(--sk-ls-tight);line-height:1.1;font-variant-numeric:tabular-nums}
.bars{display:flex;align-items:flex-end;gap:8px;height:96px;margin-top:16px}
.bars i{flex:1;border-radius:6px 6px 2px 2px;background:var(--sk-mint-200)}
.bars i:last-child{background:var(--sk-green)}

/* ---- Icon wallpaper: add .wall to a hero or last-call section ---- */
.wall{position:relative;isolation:isolate}
.wall::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:var(--g-wall);-webkit-mask:var(--sk-wall) 0 0/var(--sk-wall-size) repeat;mask:var(--sk-wall) 0 0/var(--sk-wall-size) repeat}

/* ---- Announcement bar: one line, ink, the whole bar is the link ---- */
.ann{position:relative;background:var(--sk-ink);color:var(--sk-white);font-size:var(--sk-fs-small);line-height:var(--sk-lh-snug)}
.ann a{display:flex;align-items:center;justify-content:center;gap:var(--sk-sp-2);min-height:40px;padding:var(--sk-sp-2) var(--sk-sp-4);color:inherit;text-decoration:none;text-align:center}
.ann u{text-decoration-thickness:1px;text-underline-offset:3px}
.ann a .ico{width:var(--sk-icon-sm);height:var(--sk-icon-sm);color:var(--sk-green);transition:transform var(--sk-dur-hover) var(--sk-ease)}
.ann a:hover .ico{transform:translateX(3px)}
@media (max-width:600px){.ann u{display:none}}

/* ---- Claim field: stakk.store/ + name + "Claim your link". Hero and last call. ---- */
.claim{display:grid;grid-template-columns:1fr auto;gap:var(--sk-sp-2);max-width:480px;margin:var(--sk-sp-6) auto 0}
.claim-msg{grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:var(--sk-sp-1);min-height:21px;font-size:var(--sk-fs-small);color:var(--g-fg-2)}
.claim-msg .ico{display:none;width:var(--sk-icon-sm);height:var(--sk-icon-sm)}
.claim-msg.is-ok,.claim-msg.is-taken{color:var(--g-fg)}
.claim-msg.is-ok .ico,.claim-msg.is-taken .ico{display:block}
.claim-msg.pop{animation:pop var(--sk-dur-pop) var(--sk-spring)}
.claim .field.is-taken{box-shadow:inset 0 0 0 var(--sk-focus) var(--sk-error)}
.claim .field.shake{animation:shake .4s var(--sk-ease)}
@keyframes shake{20%{translate:-6px 0}40%{translate:5px 0}60%{translate:-3px 0}80%{translate:2px 0}}
@media (max-width:480px){.claim{grid-template-columns:1fr}.claim .btn{width:100%}}


/* ===========================================================================
   SITE CHROME (shared by every marketing and SEO page)
   =========================================================================== */
.center{text-align:center}
.head.c{margin-left:auto;margin-right:auto;text-align:center}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:var(--sk-sp-3);top:-60px;z-index:100;padding:var(--sk-sp-2) var(--sk-sp-4);border-radius:var(--sk-r-control);background:var(--sk-ink);color:var(--sk-white);text-decoration:none}
.skip:focus{top:var(--sk-sp-3)}
.more{margin-top:var(--sk-sp-7)}
.links-under{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--sk-sp-3) var(--sk-sp-6);margin-top:var(--sk-sp-6)}

/* ---- Nav: green over a green hero, white glass once you scroll ---- */
.top-stick{position:sticky;top:0;z-index:50}
.nav{transition:background-color var(--sk-dur-ground) var(--sk-ease)}
.nav-in{display:flex;align-items:center;justify-content:space-between;gap:var(--sk-sp-3);height:68px}
.nav-right{display:flex;align-items:center;gap:var(--sk-sp-2)}
.nav-links{display:flex;gap:var(--sk-sp-5);margin-right:var(--sk-sp-4);font-size:15px;color:var(--g-fg-2)}
.nav-links a{color:inherit;text-decoration:none;transition:color var(--sk-dur-hover) var(--sk-ease)}
.nav-links a:hover,.nav-links a[aria-current="page"]{color:var(--g-fg)}
.nav.is-stuck{background:rgba(255,255,255,.9);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
@media (max-width:900px){.nav-links{display:none}}
@media (max-width:340px){.nav .btn-soft{display:none}}

/* ---- Page hero: green, one headline, one sub line, at most one action ---- */
.phero{padding:var(--sk-sp-8) 0 var(--sk-sp-9);text-align:center}
.phero h1{max-width:16em;margin:0 auto}
.phero .lede{max-width:30em;margin-left:auto;margin-right:auto}
.phero .claim{margin-left:auto;margin-right:auto}
.phero .row{justify-content:center;margin-top:var(--sk-sp-6)}

/* ---- FAQ: one open at a time, the plus turns into a close mark ---- */
.faq{max-width:760px;margin:0 auto}
.faq-i{border-top:1px solid var(--g-line)}
.faq-i:last-child{border-bottom:1px solid var(--g-line)}
.faq-i summary{display:flex;align-items:center;justify-content:space-between;gap:var(--sk-sp-4);padding:var(--sk-sp-5) 0;font-size:18px;font-weight:var(--sk-fw-bold);letter-spacing:var(--sk-ls-snug);line-height:var(--sk-lh-snug);cursor:pointer;list-style:none}
.faq-i summary::-webkit-details-marker{display:none}
.faq-i summary .ico{flex:none;transition:transform var(--sk-dur-hover) var(--sk-ease)}
.faq-i[open] summary .ico{transform:rotate(45deg)}
.faq-i > div,.faq-i > p{padding-bottom:var(--sk-sp-5);color:var(--g-fg-2);max-width:62ch}
.faq-i > div p + p{margin-top:var(--sk-sp-3)}

/* ---- Last call: green, the same words on every page ---- */
.last{padding:clamp(96px,8vw,150px) 0;text-align:center}
.last h2{max-width:14em;margin:0 auto}

/* ---- Footer: link columns, Ask AI, then logo and copyright ---- */
.foot{padding:var(--sk-sp-8) 0 var(--sk-sp-6);font-size:var(--sk-fs-small);color:var(--g-fg-2)}
.foot a{color:inherit;text-decoration:none;transition:color var(--sk-dur-hover) var(--sk-ease)}
.foot a:hover{color:var(--g-fg)}
/* Phones and tablets: each group full width, its links flowing into 2 or 3
   columns, so a short list never leaves a gap beside a long one (Nate, 23 Oct).
   Desktop: the four groups side by side. Links are 36px tall to tap below 1024. */
.foot-cols{display:grid;gap:var(--sk-sp-6)}
@media (min-width:1024px){.foot-cols{grid-template-columns:minmax(0,.8fr) repeat(3,minmax(0,1fr));gap:var(--sk-sp-6) var(--sk-sp-5)}}
.foot-h{margin-bottom:var(--sk-sp-2);font-size:var(--sk-fs-small);font-weight:var(--sk-fw-bold);letter-spacing:0;line-height:var(--sk-lh-snug);color:var(--g-fg)}
.foot-list{list-style:none;padding:0;columns:2;column-gap:var(--sk-sp-5);line-height:var(--sk-lh-snug)}
.foot-list li{break-inside:avoid}
.foot-list a{display:block;padding:9px 0}
@media (min-width:600px){.foot-list{columns:3}}
@media (min-width:1024px){.foot-list{columns:1}.foot-list a{padding:var(--sk-sp-1) 0}}
.ask-ai{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sk-sp-3) var(--sk-sp-4);margin-top:var(--sk-sp-8);padding-top:var(--sk-sp-6);border-top:1px solid var(--g-line)}
.ask-ai h2{font-size:var(--sk-fs-small);font-weight:var(--sk-fw-bold);letter-spacing:0;line-height:var(--sk-lh-snug);color:var(--g-fg)}
.ask-ai ul{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:var(--sk-sp-2)}
/* Ask AI buttons: each assistant's own logo, transparent with a grey ring (Nate, 23 Oct) */
.foot a.ask-ai-btn{display:inline-flex;align-items:center;gap:var(--sk-sp-2);height:var(--sk-ctl-h-sm);padding:0 var(--sk-ctl-pad-sm);border:1px solid var(--sk-input-line);border-radius:var(--sk-r-control);background:transparent;color:var(--g-fg);white-space:nowrap;transition:border-color var(--sk-dur-hover) var(--sk-ease),transform var(--sk-dur-press) var(--sk-ease)}
.foot a.ask-ai-btn:hover{border-color:var(--sk-muted)}
.foot a.ask-ai-btn:active{transform:scale(var(--sk-press-scale))}
.ai-logo{width:var(--sk-icon-sm);height:var(--sk-icon-sm);flex:none}
.foot-base{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--sk-sp-3) var(--sk-sp-4);margin-top:var(--sk-sp-6);padding-top:var(--sk-sp-6);border-top:1px solid var(--g-line)}
.foot-base .logo{font-size:18px;color:var(--g-fg)}
.foot-base nav{display:flex;flex-wrap:wrap;gap:var(--sk-sp-2) var(--sk-sp-4)}

/* ---- Phone: sticky claim bar once the hero is gone ---- */
.bar{position:fixed;left:var(--sk-sp-3);right:var(--sk-sp-3);bottom:var(--sk-sp-3);z-index:60;display:none;padding:var(--sk-sp-2);border-radius:var(--sk-r-card);background:rgba(255,255,255,.92);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:var(--sk-shadow-float);transform:translateY(140%);transition:transform var(--sk-dur-ground) var(--sk-ease)}
.bar.show{transform:none}
@media (max-width:600px){.bar{display:block}}

/* ---- Reveal once on scroll. Hidden only after JS runs, so crawlers see it all. ---- */
.js .rv{opacity:0;transform:translateY(var(--sk-reveal-y));transition:opacity .6s var(--sk-ease),transform .6s var(--sk-ease)}
.js .rv.in{opacity:1;transform:none}
