/* Obsidian Grid design system, light glass edition (job 260, Jose 11-07: "less dark", glass, watery touch, more effects).
   Brand hues kept (purple/violet + indigo), light frosted background, dark text; dark only for the footer + CTA band.
   Orbitron headings, Rajdhani body. Effects live in site.js; everything respects prefers-reduced-motion. */
:root{
  --bg:#f5f2ff; --bg2:rgba(255,255,255,.42); --card:rgba(255,255,255,.58); --card-solid:#fbfaff; --line:rgba(91,59,168,.18);
  --edge:rgba(255,255,255,.85);
  --text:#1c1533; --muted:#4b4466; --accent:#6d28d9; --accent2:#5b21b6; --accent3:#4f46e5; --glow:rgba(124,58,237,.28);
  --shadow:0 10px 34px rgba(60,30,130,.10),0 2px 6px rgba(60,30,130,.06);
  --radius:18px; --wrap:1160px;
  --head:"Orbitron",system-ui,sans-serif; --body:"Rajdhani","Segoe UI",system-ui,sans-serif;
  --blur:blur(16px) saturate(170%);
}
@view-transition{navigation:auto}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;background:var(--bg)}
body{margin:0;background:transparent;color:var(--text);font:500 1.125rem/1.6 var(--body);overflow-x:hidden;position:relative}
/* soft moving brand-colour blobs behind everything (cheap: gradients + transform only, no filter) */
body::before,body::after{animation-play-state:var(--play,running)!important;content:"";position:fixed;z-index:-1;pointer-events:none;width:80vmax;height:80vmax;border-radius:50%;will-change:transform}
body::before{top:-38vmax;right:-30vmax;background:radial-gradient(circle,rgba(167,139,250,.55),rgba(167,139,250,0) 62%);animation:blobA 26s ease-in-out infinite alternate}
body::after{bottom:-40vmax;left:-32vmax;background:radial-gradient(circle,rgba(129,140,248,.42),rgba(244,114,182,.16) 40%,rgba(244,114,182,0) 64%);animation:blobB 32s ease-in-out infinite alternate}
@keyframes blobA{to{transform:translate(-14vmax,12vmax) scale(1.12)}}
@keyframes blobB{to{transform:translate(16vmax,-10vmax) scale(1.08)}}
img,svg{max-width:100%;height:auto}
a{color:var(--accent2)}
a:hover{color:var(--accent3)}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:4px}
h1,h2,h3{font-family:var(--head);line-height:1.2;letter-spacing:.02em;margin:0 0 .6em;overflow-wrap:anywhere}
h1{font-size:clamp(1.8rem,5vw,3.2rem);font-weight:800}
h2{font-size:clamp(1.35rem,3.2vw,2rem);font-weight:800}
h3{font-size:1.05rem;font-weight:600}
p{margin:0 0 1em}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 20px}
.skip{position:absolute;left:-999px;top:0;background:var(--accent);color:#fff;padding:10px 14px;z-index:99}
.skip:focus{left:10px}

/* glass surface (shared) */
.card,.steps li,.faq details,.form,.calc-picks,.calc-total,.mock,.msg.caller,.sms,.note{
  background:var(--card);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);
  border:1px solid var(--edge);box-shadow:var(--shadow),inset 0 1px 0 rgba(255,255,255,.9)}

/* header */
.top{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.55);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);
  border-bottom:1px solid var(--edge);box-shadow:0 4px 24px rgba(60,30,130,.07)}
.bar{display:flex;align-items:center;justify-content:space-between;height:68px;gap:16px}
.logo{display:flex;align-items:center;gap:10px;color:var(--text);text-decoration:none;font:800 1.05rem var(--head);letter-spacing:.12em}
.logo:hover{color:var(--text)}
.logo b{color:var(--accent)}
.mark{width:26px;height:26px;border:2px solid var(--accent);transform:rotate(45deg);border-radius:4px;box-shadow:0 0 14px var(--glow);
  background:linear-gradient(135deg,transparent 45%,var(--accent) 46%,var(--accent) 54%,transparent 55%)}
nav ul{list-style:none;margin:0;padding:0;display:flex;gap:4px}
nav a{color:var(--muted);text-decoration:none;font-weight:600;padding:8px 10px;border-radius:10px;transition:background .2s,color .2s}
nav a:hover,nav a[aria-current]{color:var(--accent2);background:rgba(255,255,255,.75);box-shadow:inset 0 0 0 1px var(--line)}
#nav{display:flex;align-items:center;gap:12px}
.menu-btn{display:none;background:rgba(255,255,255,.6);border:1px solid var(--line);border-radius:10px;width:44px;height:44px;padding:10px;cursor:pointer}
.menu-btn span{display:block;height:2px;background:var(--text);margin:5px 0}
@media (max-width:1000px){
  .menu-btn{display:block}
  #nav{display:none;position:absolute;top:68px;left:0;right:0;background:rgba(250,248,255,.94);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);
    border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;padding:12px 20px 20px;box-shadow:0 18px 30px rgba(60,30,130,.12)}
  #nav.open{display:flex}
  nav ul{flex-direction:column}
  nav a{display:block;padding:12px}
}

/* buttons: animated brand gradient (white text stays AA on every stop) */
.btn{position:relative;overflow:hidden;display:inline-block;color:#fff;font:700 1.05rem var(--body);letter-spacing:.04em;
  text-decoration:none;padding:13px 24px;border-radius:12px;border:0;cursor:pointer;min-height:48px;
  background:linear-gradient(110deg,#6d28d9,#4f46e5 35%,#7e22ce 65%,#6d28d9);background-size:250% 100%;animation:ctaFlow 7s ease-in-out infinite;
  box-shadow:0 8px 24px rgba(109,40,217,.32),inset 0 1px 0 rgba(255,255,255,.35);transition:transform .15s,box-shadow .2s}
.btn::after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.35) 48%,transparent 62%);
  transform:translateX(-120%);transition:transform .7s ease;pointer-events:none}
.btn:hover{color:#fff;transform:translateY(-2px);box-shadow:0 12px 30px rgba(109,40,217,.4),inset 0 1px 0 rgba(255,255,255,.35)}
.btn:hover::after{transform:translateX(120%)}
.btn:active{transform:translateY(0) scale(.97)}
@keyframes ctaFlow{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
.btn.ghost{background:rgba(255,255,255,.55);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);color:var(--accent2);animation:none;
  box-shadow:inset 0 0 0 1.5px rgba(109,40,217,.45),0 4px 14px rgba(60,30,130,.08)}
.btn.ghost:hover{color:var(--accent3);background:rgba(255,255,255,.85)}
.btn.sm{padding:8px 16px;min-height:40px;font-size:.98rem}
.btn:disabled{opacity:.6;cursor:wait}
.btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}

/* water ripple (site.js adds the spans) */
.rp{position:absolute;border-radius:50%;pointer-events:none;transform:scale(0);opacity:.55;
  background:radial-gradient(circle,rgba(255,255,255,.95) 0,rgba(196,181,253,.6) 38%,rgba(167,139,250,0) 70%);animation:rp .75s ease-out forwards}
.card .rp,.steps li .rp,.faq .rp,.calc-row .rp{background:radial-gradient(circle,rgba(167,139,250,.45) 0,rgba(129,140,248,.25) 40%,rgba(129,140,248,0) 70%)}
@keyframes rp{to{transform:scale(1);opacity:0}}
.tap{position:fixed;z-index:80;width:120px;height:120px;margin:-60px 0 0 -60px;border-radius:50%;pointer-events:none;
  border:2px solid rgba(124,58,237,.35);box-shadow:0 0 0 6px rgba(167,139,250,.12),inset 0 0 18px rgba(167,139,250,.25);
  transform:scale(.1);opacity:.9;animation:tap .8s cubic-bezier(.2,.7,.3,1) forwards}
.tap.t2{animation-delay:.12s;opacity:0;border-color:rgba(79,70,229,.25)}
@keyframes tap{0%{transform:scale(.1);opacity:.9}100%{transform:scale(1);opacity:0}}

/* hero */
.hero{position:relative;padding:90px 0 70px;background:
  radial-gradient(900px 420px at 85% -10%,rgba(196,181,253,.55),transparent 62%),
  radial-gradient(640px 320px at 0% 110%,rgba(165,180,252,.40),transparent 62%);border-bottom:1px solid var(--edge);overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(109,40,217,.10) 1px,transparent 1px),linear-gradient(90deg,rgba(109,40,217,.10) 1px,transparent 1px);
  background-size:56px 56px;mask-image:linear-gradient(to bottom,#000,transparent 85%);-webkit-mask-image:linear-gradient(to bottom,#000,transparent 85%);pointer-events:none}
.hero .wrap{position:relative}
.hero.sm{padding:36px 0 48px}
.hero.sm h1{font-size:clamp(1.6rem,4.2vw,2.6rem);max-width:900px}
.lede{font-size:1.25rem;color:var(--muted);max-width:760px}
.kicker{font:600 .85rem var(--head);letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin-bottom:.8em}
.home-hero h1{max-width:900px}
.home-hero h1 em{font-style:normal;color:var(--accent);background:linear-gradient(100deg,#6d28d9,#4f46e5 50%,#9333ea);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.honest{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:28px;padding:0;list-style:none;color:var(--muted);font-weight:600}
.honest li::before{content:"\25C6";color:var(--accent);margin-right:8px;font-size:.8em}

/* breadcrumbs */
.crumbs{padding:0 0 18px}
.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;font-size:.98rem;color:var(--muted)}
.crumbs li+li::before{content:"/";margin-right:6px;color:#8d84ab}
.crumbs a{color:var(--muted)}
.hero .crumbs{padding-left:0;padding-right:0}

/* sections */
.sec{padding:64px 0;position:relative}
.sec.alt{background:linear-gradient(180deg,rgba(255,255,255,.55),rgba(237,233,254,.45));border-top:1px solid var(--edge);border-bottom:1px solid var(--edge)}
.prose{max-width:780px}
.prose h2{margin-top:1.6em}
.prose h3{margin-top:1.4em}
.prose ul,.prose ol{padding-left:1.3em}
.prose li{margin-bottom:.4em}
.two{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:start}
@media (max-width:800px){.two{grid-template-columns:1fr}}

/* grid + cards */
.grid{display:grid;gap:18px}
.g2{grid-template-columns:repeat(2,1fr)} .g3{grid-template-columns:repeat(3,1fr)} .g4{grid-template-columns:repeat(4,1fr)}
@media (max-width:980px){.g3,.g4{grid-template-columns:repeat(2,1fr)}}
@media (max-width:620px){.g2,.g3,.g4{grid-template-columns:1fr}}
.card{position:relative;overflow:hidden;border-radius:var(--radius);padding:24px;color:var(--text);text-decoration:none;display:flex;flex-direction:column;
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s}
/* reflection across the top of each glass card + cursor-follow sheen (--mx/--my set by site.js) */
.card::before{content:"";position:absolute;inset:0 0 auto 0;height:55%;pointer-events:none;border-radius:inherit;
  background:linear-gradient(180deg,rgba(255,255,255,.55),rgba(255,255,255,0))}
.card::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .3s;
  background:radial-gradient(320px circle at var(--mx,50%) var(--my,50%),rgba(196,181,253,.45),transparent 60%)}
.card:hover::after{opacity:1}
.card>*{position:relative}
.card p{color:var(--muted);margin-bottom:.6em}
.card.link:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(76,29,149,.16),inset 0 1px 0 #fff;color:var(--text);border-color:rgba(167,139,250,.8)}
.card .more{margin-top:auto;color:var(--accent2);font-weight:700}
.card.link:hover .more{color:var(--accent3)}
.tag{align-self:flex-start;font:600 .72rem var(--head);letter-spacing:.14em;text-transform:uppercase;color:var(--accent2);background:rgba(237,233,254,.8);
  border:1px solid rgba(167,139,250,.45);padding:4px 8px;border-radius:8px;margin-bottom:12px}

/* lists */
.ticks{list-style:none;padding:0;margin:0 0 1em}
.ticks li{position:relative;padding-left:28px;margin-bottom:.5em}
.ticks li::before{content:"";position:absolute;left:4px;top:.55em;width:10px;height:10px;border:2px solid var(--accent);transform:rotate(45deg)}
.crosses li::before{border-color:#8d84ab}

/* steps */
.steps{counter-reset:s;list-style:none;padding:0;margin:0;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
.steps li{position:relative;overflow:hidden;counter-increment:s;border-radius:var(--radius);padding:24px 22px}
.steps li::before{content:counter(s,decimal-leading-zero);font:800 1.6rem var(--head);display:block;margin-bottom:8px;color:var(--accent);
  background:linear-gradient(100deg,#6d28d9,#4f46e5);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.steps p{color:var(--muted);margin:0}

/* pricing */
.price{font:800 2rem var(--head);color:var(--text);margin:.2em 0;font-variant-numeric:tabular-nums}
.price small{font:600 1rem var(--body);color:var(--muted)}
.card.featured{border:1.5px solid rgba(124,58,237,.6);box-shadow:0 16px 44px rgba(109,40,217,.2),inset 0 1px 0 #fff;
  background:linear-gradient(160deg,rgba(255,255,255,.78),rgba(237,233,254,.62))}
.tilt{transform-style:preserve-3d;will-change:transform}
.note{border-left:3px solid var(--accent);padding:14px 18px;border-radius:12px;color:var(--muted);background:rgba(237,233,254,.6)}

/* faq */
.faq details{position:relative;overflow:hidden;border-radius:14px;margin-bottom:10px}
.faq summary{cursor:pointer;padding:16px 20px;font-weight:700;font-size:1.1rem;list-style:none;position:relative;padding-right:48px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:20px;top:12px;font:800 1.4rem var(--head);color:var(--accent);transition:transform .25s}
.faq details[open] summary::after{content:"\2212";transform:rotate(180deg)}
.faq details div{padding:0 20px 8px;color:var(--muted)}
.faq details[open] div{animation:fadeDown .35s ease}
@keyframes fadeDown{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}

/* sample call */
.callflow{display:flex;flex-direction:column;gap:10px;max-width:640px}
.msg{padding:12px 16px;border-radius:16px;max-width:88%}
.msg p{margin:0}
.msg .who{display:block;font:600 .7rem var(--head);letter-spacing:.14em;text-transform:uppercase;margin-bottom:4px;color:var(--muted)}
.msg.caller{align-self:flex-start}
.msg.ava{background:linear-gradient(140deg,rgba(221,214,254,.85),rgba(199,210,254,.75));border:1px solid rgba(167,139,250,.6);align-self:flex-end;
  box-shadow:0 8px 22px rgba(109,40,217,.12)}
.msg.note{align-self:center;background:none;border:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;color:var(--muted);font-size:.95rem;font-style:italic}

/* sample summary text */
.sms{border-radius:20px;padding:18px;max-width:380px;font-family:system-ui,sans-serif;font-size:.95rem}
.sms p{margin:0 0 .4em;color:var(--text)}

/* forms */
.form{border-radius:var(--radius);padding:26px;max-width:640px}
.field{margin-bottom:16px}
.field label{display:block;font-weight:700;margin-bottom:6px}
.field input,.field textarea,.field select{width:100%;background:rgba(255,255,255,.85);color:var(--text);border:1px solid rgba(91,59,168,.35);border-radius:12px;padding:12px 14px;font:500 1.05rem var(--body);min-height:48px;transition:border-color .2s,box-shadow .2s}
.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 4px var(--glow)}
.field input[aria-invalid=true],.field textarea[aria-invalid=true]{border-color:#b42346}
.field.check{display:flex;gap:12px;align-items:flex-start}
.field.check input{width:22px;height:22px;min-height:0;margin-top:3px;flex:none;accent-color:var(--accent)}
.field.check label{font-weight:500;font-size:.95rem;color:var(--muted)}
.req{color:#b42346} .opt{color:var(--muted);font-weight:500;font-size:.9em}
.hp{position:absolute;left:-9999px}
.form-msg{margin:12px 0 0;font-weight:700}
.form-msg.err{color:#b42346} .form-msg.ok{color:#157347}

/* cta band: dark accent section (kept from the old look) */
.cta-band{--text:#f4f1ff;--muted:#d3cbef;--line:rgba(255,255,255,.16);--accent2:#d8c8ff;
  padding:64px 0;text-align:center;color:var(--text);position:relative;overflow:hidden;
  background:radial-gradient(700px 260px at 50% 0%,rgba(167,139,250,.45),transparent 70%),linear-gradient(135deg,#1d1440,#2b1a5e 55%,#1e2257)}
.cta-band::before{content:"";position:absolute;inset:-50%;pointer-events:none;
  background:conic-gradient(from 0deg,transparent,rgba(167,139,250,.18),transparent 30%,rgba(129,140,248,.16),transparent 60%);animation:spin 30s linear infinite}
@keyframes spin{to{transform:rotate(1turn)}}
.cta-band .wrap{position:relative}
.cta-band a:not(.btn){color:var(--accent2)}
.cta-band p{color:var(--muted);max-width:640px;margin:0 auto}
.cta-band .btns{justify-content:center}
.cta-band .btn.ghost{background:rgba(255,255,255,.1);color:#fff;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.45)}
.cta-band .btn.ghost:hover{background:rgba(255,255,255,.18);color:#fff}

/* tables */
.tbl{width:100%;border-collapse:collapse;margin:0 0 1.2em;font-size:1.02rem;background:rgba(255,255,255,.5);border-radius:12px;overflow:hidden}
.tbl th,.tbl td{border-bottom:1px solid var(--line);padding:10px 12px;text-align:left;vertical-align:top}
.tbl th{font:600 .8rem var(--head);letter-spacing:.1em;text-transform:uppercase;color:var(--accent2)}
.tbl tbody tr{transition:background .2s}
.tbl tbody tr:hover{background:rgba(237,233,254,.6)}
.tblwrap{overflow-x:auto}

/* Ava plans + Custom calculator (job 236) */
.plans{align-items:stretch}
.plan .price{font-size:1.8rem}
.plan h3{margin-bottom:.2em}
.plan-meta{font-size:.95rem}
.trial{color:var(--accent2)!important;font-weight:700;font-size:.95rem}
.trial.muted{color:var(--muted)!important;font-weight:600}
.plan .ticks{font-size:.98rem}
.plan-cta{margin-top:auto;padding-top:10px}
.plan-cta .btn{width:100%;text-align:center}
.soon{display:inline-block;font:600 .66rem var(--head);letter-spacing:.1em;text-transform:uppercase;color:#7a4b00;background:#fff4cc;border:1px solid #e0b84a;padding:1px 6px;border-radius:6px;vertical-align:middle;white-space:nowrap}
.setup-note{margin-top:26px}
.ticks.cols2{columns:2;column-gap:28px}
@media (max-width:620px){.ticks.cols2{columns:1}}
.calc{display:grid;grid-template-columns:1.2fr 1fr;gap:22px;align-items:start}
@media (max-width:860px){.calc{grid-template-columns:1fr}}
.calc-picks,.calc-total{border-radius:var(--radius);padding:20px}
.calc-total{position:sticky;top:84px}
@media (max-width:860px){.calc-total{position:static}}
.calc-row{position:relative;overflow:hidden;display:flex;gap:12px;align-items:center;justify-content:space-between;padding:10px 6px;border-bottom:1px solid var(--line);margin:0;cursor:pointer;border-radius:8px;transition:background .2s}
.calc-row:hover{background:rgba(237,233,254,.55)}
.calc-row span{flex:1}
.calc-row input[type=checkbox]{width:22px;height:22px;flex:none;accent-color:var(--accent)}
.calc-row input[type=number]{width:80px;flex:none;background:rgba(255,255,255,.9);color:var(--text);border:1px solid rgba(91,59,168,.35);border-radius:8px;padding:8px;font:600 1rem var(--body)}
.calc-row.base{cursor:default;color:var(--muted)}
.calc-row.base:hover{background:none}
.calc-mins{border:0;padding:12px 4px 0;margin:0;display:flex;flex-wrap:wrap;gap:8px 18px}
.calc-mins legend{font-weight:700;padding:0;margin-bottom:6px}
.calc-mins input{accent-color:var(--accent)}
.calc-now{color:#7a4b00;font-weight:600}
[data-calc-month],[data-calc-setup]{display:inline-block}
.bump{animation:bump .35s ease}
@keyframes bump{40%{transform:scale(1.08);color:var(--accent)}}

/* sample concept page mock */
.mock{border-radius:var(--radius);overflow:hidden}
.mock .chrome{display:flex;gap:6px;padding:10px 12px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.6)}
.mock .chrome i{width:10px;height:10px;border-radius:50%;background:#c9c1e3;display:block}
.mock .chrome i:nth-child(1){background:#f87171}.mock .chrome i:nth-child(2){background:#fbbf24}.mock .chrome i:nth-child(3){background:#34d399}
.mock .body{padding:22px}
.banner{background:#ffe27a;color:#1a1400;font-weight:700;padding:10px 16px;border-radius:10px;margin-bottom:18px}

/* footer: dark accent */
.foot{--text:#f1edff;--muted:#c9c1e3;--line:rgba(255,255,255,.12);--accent:#a78bfa;
  background:linear-gradient(160deg,#17112e,#1d1640 60%,#16163a);border-top:1px solid var(--line);padding:56px 0 20px;color:var(--muted);font-size:1.02rem}
.fgrid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:30px}
@media (max-width:860px){.fgrid{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.fgrid{grid-template-columns:1fr}}
.foot h2{font-size:.85rem;letter-spacing:.18em;text-transform:uppercase;color:var(--text)}
.foot ul{list-style:none;padding:0;margin:0}
.foot li{margin-bottom:6px}
.foot a{color:var(--muted);text-decoration:none;transition:color .2s}
.foot a:hover{color:#fff}
.foot .logo{margin-bottom:14px;color:var(--text)}
.foot address{font-style:normal;margin-top:12px}
.legal{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;border-top:1px solid var(--line);margin-top:36px;padding-top:18px;font-size:.95rem}

/* Job 245 (Jose's review) */
.ph{display:inline;background:#fff4cc;color:#7a4b00;border:1px dashed #b98a1c;border-radius:5px;padding:0 5px;font-weight:700;font-size:.92em}
.photo-ph{display:flex;align-items:center;justify-content:center;min-height:220px;border:2px dashed #b98a1c;border-radius:var(--radius);
  background:rgba(255,244,204,.6);color:#7a4b00;font-weight:700;text-align:center;padding:20px;margin:10px 0 18px}
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:44px;align-items:center}
.home-hero{padding:72px 0 64px}
.home-hero h1{font-size:clamp(1.65rem,4.2vw,3rem);max-width:760px;text-wrap:balance}
.hero-mock{display:block;text-decoration:none;color:var(--text);box-shadow:0 24px 60px rgba(76,29,149,.2),inset 0 1px 0 #fff;transition:transform .3s,box-shadow .3s;
  animation:floaty 7s ease-in-out infinite}
.hero-mock:hover{transform:translateY(-4px);color:var(--text);animation-play-state:paused}
@keyframes floaty{50%{transform:translateY(-8px)}}
.hero-mock .chrome{align-items:center}
.hero-mock .chrome span{margin-left:10px;font-size:.8rem;color:var(--muted)}
.hero-mock .banner{font-size:.85rem;letter-spacing:.06em}
.hero-mock h3{font-size:1.25rem;margin:.2em 0}
.mock-kicker{font-size:.85rem;color:var(--accent);margin:0;text-transform:uppercase;letter-spacing:.08em}
.mock-sub{color:var(--muted);margin:.2em 0 .8em}
.mock-btns{display:flex;flex-wrap:wrap;gap:8px}
.mock-list{list-style:none;padding:0;margin:14px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:6px}
.mock-list li{background:rgba(255,255,255,.7);border:1px solid var(--line);border-radius:8px;padding:6px 10px;font-size:.92rem}
@media (max-width:900px){.hero-grid{grid-template-columns:1fr;gap:30px}.home-hero{padding:44px 0 48px}}
.brandline{color:var(--muted);font-size:.92rem;letter-spacing:.04em}
.form-intro{color:var(--muted);max-width:640px}
.form-intro strong{color:var(--text)}
.muted{color:var(--muted)}
.compare th[scope=row]{font:600 .98rem var(--body);letter-spacing:0;text-transform:none;color:var(--text);min-width:170px}
.compare td{color:var(--muted);min-width:140px}
.compare caption{text-align:left;padding:0 0 8px}
.mbar{display:none}
@media (max-width:760px){
  .mbar{display:grid;grid-template-columns:1fr 1fr 1.2fr;position:fixed;left:0;right:0;bottom:0;z-index:60;background:rgba(255,255,255,.7);
    border-top:1px solid var(--edge);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);padding:8px 8px calc(8px + env(safe-area-inset-bottom));gap:8px;
    box-shadow:0 -6px 24px rgba(60,30,130,.1)}
  .mbar a,.mbar span{position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:48px;border:1px solid var(--line);
    border-radius:12px;color:var(--text);background:rgba(255,255,255,.6);text-decoration:none;font-weight:700;line-height:1.1}
  .mbar.two{grid-template-columns:1fr 1.2fr}
  .mbar a.go{background:linear-gradient(110deg,#6d28d9,#4f46e5);border-color:transparent;color:#fff}
  .mbar small{font-size:.58rem;color:#7a4b00;font-weight:600;text-align:center;padding:0 2px}
  body{padding-bottom:76px}
  /* phones: lighter glass (fewer blur layers = faster) */
  .card,.steps li,.faq details,.msg.caller,.note{-webkit-backdrop-filter:none;backdrop-filter:none;background:rgba(255,255,255,.72)}
}

/* scroll reveal (site.js only adds .rv to elements below the fold, so nothing hides without JS) */
.rv{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}
.rv.in{opacity:1;transform:none}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}
  .rv{opacity:1;transform:none}
  @view-transition{navigation:none}
}

/* job 262: coming-soon add-ons in the Custom builder are shown but cannot be picked */
.calc-row.soon-row{opacity:.6;cursor:not-allowed}
.calc-row.soon-row input{cursor:not-allowed}
