/* ============================================================
   Kinrows — marketing site
   Warm Liquid-Glass palette, editorial type, bespoke craft.
   ============================================================ */

:root{
  /* palette — lifted from the app's DesignTokens */
  --cream-1:#fdf5e0;  --cream-2:#fbecca;  --cream-3:#f3dcab;
  --peach:#f9cd8c;    --sunset:#ec9e6c;
  --terracotta:#c46a4a; --rose:#c25a7a; --sage:#7ba05b;
  --saffron:#d99e3a;  --mauve:#8a6585;  --ocean:#5a87a0;
  --card:#fef8ea;     --card-2:#fffdf6;
  --ink-1:#2a1f1a;    --ink-2:#5a463a;  --ink-3:#7a6353;  --ink-4:#b8a394;
  --line:rgba(42,31,26,.10);
  --line-soft:rgba(42,31,26,.06);
  --shadow-sm:0 1px 2px rgba(58,40,28,.05), 0 6px 16px rgba(120,80,50,.06);
  --shadow-md:0 10px 30px rgba(120,74,46,.10), 0 2px 8px rgba(120,74,46,.06);
  --shadow-lg:0 30px 70px rgba(140,80,46,.16), 0 8px 24px rgba(120,74,46,.10);
  --maxw:1140px;
  --serif:"Fraunces", Georgia, "Times New Roman", serif;
  --sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:var(--sans);
  color:var(--ink-1);
  background:var(--cream-1);
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
a{color:inherit;text-decoration:none}
img,svg{display:block}

/* ---------- Line icons ---------- */
.ic{
  width:24px;height:24px;flex:none;
  fill:none;stroke:currentColor;stroke-width:1.7;
  stroke-linecap:round;stroke-linejoin:round;
}
.ic-sm{width:17px;height:17px}
.ic-xs{width:13px;height:13px;stroke-width:1.8}

.container{max-width:var(--maxw);margin:0 auto;padding:0 28px;width:100%}
.narrow{max-width:720px;margin-left:auto;margin-right:auto}
.center{text-align:center}

/* offset in-page anchors so headings clear the fixed nav */
section[id]{scroll-margin-top:80px}

/* ---------- Type scale ---------- */
h1,h2{font-family:var(--serif);font-weight:500;letter-spacing:-.02em;line-height:1.04;color:var(--ink-1)}
h1{font-size:clamp(2.6rem,6.2vw,4.6rem);font-weight:500}
h2{font-size:clamp(1.8rem,3.6vw,2.9rem)}
.display{font-size:clamp(1.9rem,3.8vw,3rem);line-height:1.08}
.lede{font-size:clamp(1.08rem,1.5vw,1.28rem);color:var(--ink-2);max-width:38ch;margin-top:22px;line-height:1.6}
.lede-sm{font-size:1.12rem;color:var(--ink-2);margin-top:18px;line-height:1.6;max-width:46ch}
.muted{color:var(--ink-2);font-size:1.04rem;margin-top:16px;line-height:1.62}
.muted.narrow.center{margin-top:14px}

.eyebrow{
  font-family:var(--sans);font-weight:600;font-size:.78rem;letter-spacing:.16em;
  text-transform:uppercase;color:var(--ink-3);
}
.eyebrow-accent{
  display:inline-flex;align-items:center;gap:.5em;color:var(--ac,var(--terracotta));
}
.eyebrow-accent::before{content:"";width:22px;height:2px;border-radius:2px;background:var(--ac,var(--terracotta))}

.band-kicker{font-family:var(--sans);font-weight:600;font-size:.8rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--terracotta);margin-bottom:14px}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.4em;
  font-family:var(--sans);font-weight:550;font-size:.98rem;
  padding:.85em 1.5em;border-radius:999px;cursor:pointer;border:1px solid transparent;
  transition:transform .18s ease, box-shadow .25s ease, background .2s ease;
  white-space:nowrap;
}
.btn-primary{
  background:linear-gradient(180deg,var(--sunset),var(--terracotta));
  color:#fff;box-shadow:0 8px 22px rgba(196,106,74,.32), inset 0 1px 0 rgba(255,255,255,.25);
}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(196,106,74,.4)}
.btn-ghost{background:rgba(255,255,255,.5);color:var(--ink-1);border-color:var(--line)}
.btn-ghost:hover{background:#fff;transform:translateY(-2px);box-shadow:var(--shadow-sm)}
.btn-pill{
  background:var(--ink-1);color:var(--cream-1);font-size:.9rem;padding:.62em 1.2em;
}
.btn-pill:hover{background:var(--terracotta);transform:translateY(-1px)}

/* Visible keyboard focus on all interactive elements */
a:focus-visible, button:focus-visible{outline:2px solid var(--terracotta);outline-offset:3px}

/* ============================================================
   Nav
   ============================================================ */
.nav{position:fixed;top:0;left:0;right:0;z-index:50;transition:background .3s ease, box-shadow .3s ease, border-color .3s}
.nav-inner{
  max-width:var(--maxw);margin:0 auto;padding:14px 28px;
  display:flex;align-items:center;gap:24px;
}
.nav.scrolled{
  background:rgba(253,245,224,.82);backdrop-filter:saturate(160%) blur(16px);
  -webkit-backdrop-filter:saturate(160%) blur(16px);
  border-bottom:1px solid var(--line-soft);
}
.brand{display:inline-flex;align-items:center;gap:10px;font-weight:600}
.brand-logo{width:30px;height:30px;border-radius:9px;object-fit:cover;
  box-shadow:0 2px 6px rgba(196,106,74,.28), inset 0 0 0 1px rgba(255,255,255,.4)}
.brand-name{font-family:var(--serif);font-size:1.24rem;letter-spacing:-.01em;color:var(--ink-1)}
.nav-links{display:flex;gap:26px;margin-left:auto}
.nav-links a{font-size:.95rem;color:var(--ink-2);font-weight:450;transition:color .18s}
.nav-links a:hover{color:var(--terracotta)}
.nav .btn-pill{margin-left:4px}
.nav-toggle{display:none;align-items:center;justify-content:center;width:42px;height:42px;
  margin-left:8px;border:0;background:none;color:var(--ink-1);cursor:pointer;border-radius:10px}
.nav-toggle .ic{width:24px;height:24px}
.nav-toggle .ic-close{display:none}
.nav-toggle[aria-expanded="true"] .ic-menu{display:none}
.nav-toggle[aria-expanded="true"] .ic-close{display:inline}

/* ============================================================
   Hero
   ============================================================ */
.hero{
  position:relative;padding:120px 0 76px;overflow:hidden;
  background:url('heroimage.jpg') no-repeat center 26% / cover;
}
.hero-ambient{
  position:absolute;inset:0;z-index:0;pointer-events:none;
  background:
    linear-gradient(104deg, rgba(253,245,224,.90) 0%, rgba(253,245,224,.60) 28%,
      rgba(253,245,224,.14) 52%, rgba(253,245,224,0) 78%),
    linear-gradient(to bottom, rgba(253,245,224,0) 0%, rgba(253,245,224,0) 40%,
      rgba(253,245,224,.40) 88%, var(--cream-1) 100%);
}
.hero-grid{
  position:relative;z-index:1;display:grid;grid-template-columns:1.05fr .95fr;
  gap:40px;align-items:center;
}
.hero-copy h1{margin-top:18px}
.hero-actions{display:flex;gap:14px;margin-top:30px;flex-wrap:wrap}
.hero-meta{display:flex;align-items:center;gap:18px;margin-top:26px;flex-wrap:wrap}
.hero-trust{display:flex;align-items:center;gap:9px;color:var(--ink-3);font-size:.9rem}
.hero-trust .dot{width:8px;height:8px;border-radius:50%;background:var(--sage);box-shadow:0 0 0 4px rgba(123,160,91,.18)}

/* App Store badge */
.store-badge{
  display:inline-flex;align-items:center;gap:11px;
  background:var(--ink-1);color:var(--cream-1);
  padding:9px 18px 9px 15px;border-radius:14px;
  box-shadow:0 6px 18px rgba(42,31,26,.18);transition:transform .18s ease, box-shadow .25s ease;
}
.store-badge:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(42,31,26,.26)}
.store-apple{width:26px;height:26px;color:var(--cream-1)}
.store-badge span{display:flex;flex-direction:column;line-height:1.12;text-align:left}
.store-badge small{font-size:.66rem;letter-spacing:.02em;opacity:.85;font-weight:450}
.store-badge strong{font-family:var(--serif);font-size:1.18rem;font-weight:600;letter-spacing:.01em}
.store-badge-lg{margin:26px auto 0;padding:12px 24px 12px 20px}
.store-badge-lg .store-apple{width:30px;height:30px}
.store-badge-lg strong{font-size:1.34rem}

.hero-stage{position:relative;display:grid;place-items:center;min-height:560px}
.phone-glow{
  position:absolute;width:380px;height:380px;border-radius:50%;z-index:0;
  background:radial-gradient(circle,rgba(247,200,154,.6),transparent 65%);filter:blur(30px);
}

/* ============================================================
   Phone mockups
   ============================================================ */
.phone{
  position:relative;z-index:2;width:300px;border-radius:46px;padding:11px;
  background:linear-gradient(160deg,#2c2118,#43332a);
  box-shadow:var(--shadow-lg);
}
.phone-hero{transform:rotate(-1.5deg)}
.phone::after{ /* notch */
  content:"";position:absolute;top:20px;left:50%;transform:translateX(-50%);
  width:96px;height:26px;background:#2c2118;border-radius:0 0 16px 16px;z-index:5;
}
.phone-screen{
  position:relative;border-radius:36px;overflow:hidden;background:var(--cream-1);
  height:606px;
}
.phone-dark .phone-screen{background:#1d1712}

/* Real app screenshots inside the phone frames */
.phone-shot::after{display:none}            /* the screenshot has its own status bar + island */
.app-shot{display:block;width:100%;height:100%;object-fit:cover;object-position:top center}

.app{padding:14px 14px 18px;height:100%;display:flex;flex-direction:column;gap:11px;
  font-size:13px;overflow:hidden}
.app-statusbar{display:flex;justify-content:space-between;font-size:11px;font-weight:600;
  color:var(--ink-2);padding:6px 6px 2px;letter-spacing:.02em}
.sb-icons{letter-spacing:-1px;opacity:.7}
.app-head{display:flex;justify-content:space-between;align-items:flex-start}
.app-greet{font-family:var(--serif);font-size:18px;font-weight:600;color:var(--ink-1)}
.app-sub{font-size:11.5px;color:var(--ink-3);margin-top:1px}
.app-section{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  color:var(--ink-3);margin-top:4px}

.avatars{display:flex}
.av{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;
  font-size:11px;font-weight:600;color:#fff;border:2px solid var(--cream-1);margin-left:-8px}
.av:first-child{margin-left:0}
.av.sm{width:22px;height:22px;font-size:10px;border-width:0;margin-left:0}
.av-a{background:var(--sage)}.av-b{background:var(--rose)}
.av-c{background:var(--ocean)}.av-d{background:var(--saffron)}

.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.tile{background:var(--card-2);border:1px solid var(--line-soft);border-radius:16px;
  padding:11px 9px;display:flex;flex-direction:column;gap:1px;box-shadow:var(--shadow-sm)}
.t-num{font-family:var(--serif);font-size:21px;font-weight:600;color:var(--terracotta);line-height:1}
.t-lbl{font-size:9.5px;color:var(--ink-3);line-height:1.2}

.row{display:flex;align-items:center;gap:10px;background:var(--card-2);
  border:1px solid var(--line-soft);border-radius:15px;padding:10px 12px;box-shadow:var(--shadow-sm)}
.row-dot{width:9px;height:9px;border-radius:50%;flex:none}
.d-rose{background:var(--rose)}.d-sage{background:var(--sage)}.d-ocean{background:var(--ocean)}
.row-body{display:flex;flex-direction:column;line-height:1.25}
.row-body b{font-size:13px;font-weight:600}
.row-body span{font-size:11px;color:var(--ink-3)}

.feed-card{background:var(--card-2);border:1px solid var(--line-soft);border-radius:18px;
  padding:12px;box-shadow:var(--shadow-sm)}
.feed-top{display:flex;align-items:center;gap:7px;font-size:12px}
.feed-top b{font-weight:600}
.feed-time{margin-left:auto;color:var(--ink-4);font-size:10.5px}
.feed-card>p{margin:8px 0;font-size:12.5px;color:var(--ink-1)}
.feed-vote{display:flex;gap:6px}

.chip{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:500;
  padding:4px 10px;border-radius:999px;background:rgba(42,31,26,.05);color:var(--ink-2)}
.chip-sage{background:rgba(123,160,91,.16);color:#52733a}
.chip-mini{font-size:10.5px;padding:3px 8px}

/* calendar app */
.cal-month{font-family:var(--serif);font-size:16px;font-weight:600;margin-top:2px}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;text-align:center}
.cd{aspect-ratio:1;display:grid;place-items:center;position:relative;font-size:12px;
  color:var(--ink-1);border-radius:10px}
.cd.dim{color:var(--ink-4);font-size:10px;font-weight:600}
.cd.today{background:var(--terracotta);color:#fff;font-weight:600}
.cd.has i{position:absolute;bottom:3px;width:4px;height:4px;border-radius:50%}
.cd.has i:nth-child(1){left:calc(50% - 6px)}
.cd.has i:nth-child(2){left:calc(50% + 2px)}
.cd.today.has i{bottom:4px}
.ev-rose{background:var(--rose)}.ev-sage{background:var(--sage)}.ev-ocean{background:var(--ocean)}
.ev-saffron{background:var(--saffron)}.ev-mauve{background:var(--mauve)}
.cd.today i{background:#fff!important}

.m-banner{display:flex;align-items:center;gap:11px;border-radius:16px;padding:11px 13px;margin-top:auto;border:1px solid}
.m-banner .ic{width:20px;height:20px}
.m-banner b{font-size:12.5px;display:block}
.m-banner>div span{font-size:11px;font-weight:600}
.banner-sage{background:linear-gradient(120deg,rgba(123,160,91,.16),rgba(123,160,91,.06));border-color:rgba(123,160,91,.25)}
.banner-sage .ic, .banner-sage>div span{color:#52733a}
.banner-saffron{background:linear-gradient(120deg,rgba(217,154,60,.16),rgba(217,154,60,.05));border-color:rgba(217,154,60,.28)}
.banner-saffron .ic, .banner-saffron>div span{color:#b07a23}

/* cook app */
.ingredient-chips{display:flex;flex-wrap:wrap;gap:6px}
.recipe{background:var(--card-2);border:1px solid var(--line-soft);border-radius:16px;
  padding:11px 13px;box-shadow:var(--shadow-sm)}
.recipe-head{display:flex;align-items:center;justify-content:space-between}
.recipe-head b{font-size:13.5px;font-weight:600}
.recipe-have{font-size:11.5px;color:var(--ink-2);margin-top:5px;display:flex;align-items:center;gap:5px}
.recipe-have .ok{color:var(--sage);font-size:9px}
.recipe-need{font-size:11px;color:var(--terracotta);margin-top:2px}
.budget-mini{background:var(--card-2);border:1px solid var(--line-soft);border-radius:16px;
  padding:12px 13px;margin-top:auto;box-shadow:var(--shadow-sm)}
.bm-row{display:flex;justify-content:space-between;font-size:12px;font-weight:500;margin-bottom:7px}
.bar{height:7px;border-radius:99px;background:rgba(42,31,26,.08);overflow:hidden}
.bar i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--saffron),var(--terracotta))}

/* decisions app */
.decision-card{background:var(--card-2);border:1px solid var(--line-soft);border-radius:18px;
  padding:13px;box-shadow:var(--shadow-sm)}
.dc-q{font-size:13.5px;font-weight:600;margin-bottom:10px}
.dc-opt{display:flex;align-items:center;gap:8px;font-size:11.5px;margin-bottom:7px}
.dc-opt span:first-child{width:84px;flex:none;color:var(--ink-2)}
.dc-bar{flex:1;height:8px;border-radius:99px;background:rgba(42,31,26,.07);overflow:hidden}
.dc-bar i{display:block;height:100%;background:var(--mauve);border-radius:99px}
.dc-opt b{width:34px;text-align:right;color:var(--ink-1)}
.dc-meta{font-size:10.5px;color:var(--ink-4);margin-top:4px}
.decision-card.photo{background:linear-gradient(135deg,rgba(199,90,122,.1),rgba(247,200,154,.12))}
.react{display:flex;gap:6px;margin-top:9px}

/* close app */
.trip-card{background:var(--card-2);border:1px solid var(--line-soft);border-radius:18px;
  padding:13px;box-shadow:var(--shadow-sm)}
.trip-top{display:flex;align-items:center;gap:10px}
.trip-top b{font-size:13px;font-weight:600;display:block}
.trip-top span{font-size:11px;color:var(--ocean);font-weight:500}
.trip-prog{height:8px;border-radius:99px;background:rgba(42,31,26,.07);overflow:hidden;margin:11px 0 6px}
.trip-prog i{display:block;height:100%;background:linear-gradient(90deg,var(--ocean),var(--sage));border-radius:99px}
.trip-eta{font-size:11px;color:var(--ink-3)}
.lb{display:flex;flex-direction:column;gap:6px}
.lb-row{display:flex;align-items:center;gap:9px;background:var(--card-2);border:1px solid var(--line-soft);
  border-radius:14px;padding:9px 12px;font-size:12.5px;box-shadow:var(--shadow-sm)}
.lb-row.lead{background:linear-gradient(120deg,rgba(199,90,122,.12),rgba(247,200,154,.1));border-color:rgba(199,90,122,.2)}
.lb-rank{font-family:var(--serif);font-weight:600;color:var(--ink-3);width:14px}
.lb-row b{font-weight:600}
.lb-xp{margin-left:auto;font-variant-numeric:tabular-nums;color:var(--ink-2);font-weight:500}

/* assist app (dark) */
.app-assist{color:#f3e7d6}
.app-assist .app-statusbar{color:#cbb89f}
.assist-greet{font-family:var(--serif);font-size:18px;font-weight:600;color:#fbe7cf}
.assist-brief{background:rgba(255,255,255,.05);border:1px solid rgba(247,200,154,.16);
  border-radius:18px;padding:14px;display:flex;flex-direction:column;gap:9px}
.assist-brief p{font-size:12.5px;line-height:1.5;color:#e9dcc6}
.assist-brief b{color:#fbe7cf;font-weight:600}
.assist-cards{display:flex;flex-direction:column;gap:7px}
.acard{display:flex;align-items:center;gap:9px;background:rgba(247,200,154,.1);
  border:1px solid rgba(247,200,154,.18);border-radius:14px;padding:10px 12px;font-size:12.5px;color:#fbe7cf}
.assist-composer{display:flex;align-items:center;margin-top:auto;background:rgba(255,255,255,.07);
  border:1px solid rgba(247,200,154,.18);border-radius:999px;padding:10px 16px;font-size:12.5px;color:#bba88f}
.assist-composer i{margin-left:auto;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;
  background:linear-gradient(180deg,var(--sunset),var(--terracotta));color:#fff;font-style:normal;font-size:13px}

/* ============================================================
   Bands & sections
   ============================================================ */
.band{padding:96px 0;position:relative;
  background:radial-gradient(95% 75% at 50% 12%, rgba(249,205,140,.14), transparent 72%)}
.band-quiet{background:linear-gradient(180deg,transparent 0%,rgba(249,205,140,.22) 50%,transparent 100%)}
.section-head{margin-bottom:46px}
.section-head h2{margin-top:8px}

.feature{padding:80px 0}
.feature-alt{background:linear-gradient(180deg,transparent 0%,rgba(250,228,180,.45) 26%,rgba(250,228,180,.45) 74%,transparent 100%)}
.feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.feature-grid.reverse .feature-copy{order:2}
.feature-grid.reverse .feature-stage{order:1}
.feature-copy h2{margin-top:16px}
.feature-stage{display:grid;place-items:center}

.checks{list-style:none;margin-top:26px;display:flex;flex-direction:column;gap:13px}
.checks li{position:relative;padding-left:30px;color:var(--ink-2);font-size:1.02rem;line-height:1.5}
.checks li b{color:var(--ink-1);font-weight:600}
.checks li::before{
  content:"";position:absolute;left:0;top:3px;width:18px;height:18px;border-radius:50%;
  background:rgba(123,160,91,.18);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 6.2l2.2 2.2 4.8-5' fill='none' stroke='%237ba05b' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:center;
}

/* everything-inside grid */
.grid-features{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.gf{background:var(--card);border:1px solid var(--line-soft);border-radius:20px;padding:20px 18px;
  box-shadow:var(--shadow-sm);transition:transform .2s ease, box-shadow .25s ease;}
.gf:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}
.gf-ico{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:13px;color:var(--ac);
  background:color-mix(in srgb,var(--ac) 14%,transparent);margin-bottom:12px}
.gf-ico .ic{width:22px;height:22px}
.gf b{font-size:1rem;font-weight:600;display:block}
.gf p{font-size:.86rem;color:var(--ink-3);margin-top:4px;line-height:1.4}

/* privacy */
.privacy{padding:96px 0;position:relative;
  background:linear-gradient(180deg,transparent,rgba(123,160,91,.07),transparent)}
.privacy-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.privacy-grid h2{margin-top:16px}
.privacy-cards{display:flex;flex-direction:column;gap:14px}
.pc{display:flex;gap:15px;background:var(--card-2);border:1px solid var(--line-soft);border-radius:20px;
  padding:18px 20px;box-shadow:var(--shadow-sm)}
.pc-ico{flex:none;display:inline-grid;place-items:center;width:40px;height:40px;border-radius:12px;
  color:var(--sage);background:rgba(123,160,91,.14)}
.pc-ico .ic{width:21px;height:21px}
.pc b{font-size:1.04rem;font-weight:600}
.pc p{font-size:.92rem;color:var(--ink-3);margin-top:4px;line-height:1.5}

/* ============================================================
   Concierge
   ============================================================ */
.assist{position:relative;padding:128px 0;overflow:hidden;
  background:linear-gradient(180deg,
    var(--cream-1) 0,
    #ddc095 22px,
    #a3784e 50px,
    #45311f 84px,
    #241a12 112px,
    #241a12 calc(100% - 112px),
    #45311f calc(100% - 84px),
    #a3784e calc(100% - 50px),
    #ddc095 calc(100% - 22px),
    var(--cream-1) 100%)}
/* grain overlay dithers out 8-bit gradient banding */
.assist::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.7;
  mix-blend-mode:soft-light;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='ng'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.92' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23ng)'/%3E%3C/svg%3E")}
.assist-ambient{position:absolute;inset:0;z-index:0;pointer-events:none;
  background:
    radial-gradient(45% 40% at 82% 20%, rgba(247,200,154,.26), transparent 72%),
    radial-gradient(50% 46% at 12% 80%, rgba(196,106,74,.24), transparent 72%);}
.assist-grid{position:relative;z-index:2}
.assist-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}
.assist .eyebrow{color:var(--peach)}
.assist h2{color:#fbe7cf}
.assist .lede-sm{color:#d9c8ae}
.assist .lede-sm b{color:#fbe7cf}
.assist-points{display:flex;flex-direction:column;gap:18px;margin-top:30px}
.ap{display:flex;gap:15px}
.ap-ico{flex:none;width:42px;height:42px;border-radius:13px;display:grid;place-items:center;color:var(--peach);
  background:rgba(247,200,154,.12);border:1px solid rgba(247,200,154,.2)}
.ap-ico .ic{width:21px;height:21px}
.ap b{color:#fbe7cf;font-size:1.05rem;font-weight:600}
.ap p{color:#cbb89f;font-size:.95rem;margin-top:3px;line-height:1.5}
.assist-foot{margin-top:30px;padding-top:22px;border-top:1px solid rgba(247,200,154,.16);
  color:#b9a88f;font-size:.95rem;line-height:1.6}
.assist-stage{display:grid;place-items:center}
.phone-dark{background:linear-gradient(160deg,#0f0b08,#1c140d)}
.phone-dark::after{background:#0f0b08}

/* ============================================================
   Pricing
   ============================================================ */
.price-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;max-width:840px;margin:0 auto}
.price-card{background:var(--card);border:1px solid var(--line);border-radius:26px;padding:32px 30px;
  box-shadow:var(--shadow-sm)}
.price-feature{background:linear-gradient(165deg,#fffaf2,#f8ecda);border-color:rgba(196,106,74,.25);
  box-shadow:var(--shadow-md);position:relative}
.price-feature::before{content:"Optional";position:absolute;top:18px;right:20px;font-size:.7rem;
  font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--terracotta);
  background:rgba(196,106,74,.12);padding:4px 10px;border-radius:99px}
.pc-tag{font-family:var(--serif);font-size:1.1rem;font-weight:600;color:var(--ink-2)}
.pc-price{font-family:var(--serif);font-size:2.4rem;font-weight:600;color:var(--ink-1);margin-top:6px;line-height:1}
.pc-small{font-family:var(--sans);font-size:.95rem;font-weight:400;color:var(--ink-3)}
.pc-sub{color:var(--ink-3);margin-top:8px;font-size:.96rem}
.pc-list{list-style:none;margin-top:20px;display:flex;flex-direction:column;gap:11px}
.pc-list li{position:relative;padding-left:24px;font-size:.96rem;color:var(--ink-2)}
.pc-list li::before{content:"";position:absolute;left:0;top:7px;width:14px;height:14px;border-radius:50%;
  background:rgba(123,160,91,.2);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 6.2l2.2 2.2 4.8-5' fill='none' stroke='%237ba05b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:center}

/* ============================================================
   Final CTA
   ============================================================ */
.cta{position:relative;padding:120px 0;overflow:hidden;text-align:center}
.cta-ambient{display:none}
.cta-logo{margin:0 auto 22px;width:72px;height:72px;border-radius:20px;object-fit:cover;
  box-shadow:0 14px 34px rgba(196,106,74,.34), inset 0 0 0 1px rgba(255,255,255,.4)}
.cta h2{margin-bottom:6px}
.notify-form{display:flex;gap:10px;max-width:440px;margin:30px auto 0}
.notify-form input{flex:1;padding:.9em 1.2em;border-radius:999px;border:1px solid var(--line);
  background:#fff;font-family:var(--sans);font-size:1rem;color:var(--ink-1);box-shadow:var(--shadow-sm)}
.notify-form input:focus{outline:none;border-color:var(--terracotta);box-shadow:0 0 0 4px rgba(196,106,74,.12)}
.notify-status{min-height:1.2em;margin:14px auto 0;max-width:440px;font-family:var(--sans);
  font-size:.92rem;font-weight:500;text-align:center}
.notify-status[data-kind="success"]{color:var(--sage)}
.notify-status[data-kind="error"]{color:var(--terracotta)}
.cta-fine{margin-top:18px;color:var(--ink-3);font-size:.86rem}

/* ============================================================
   Footer
   ============================================================ */
.footer{padding:64px 0 36px;background:linear-gradient(180deg,transparent 0%,rgba(250,228,180,.5) 46%)}
.footer-inner{display:flex;justify-content:space-between;gap:40px;flex-wrap:wrap}
.footer-tag{color:var(--ink-3);font-size:.92rem;margin-top:10px;max-width:24ch}
.footer-cols{display:flex;gap:60px;flex-wrap:wrap}
.fc-head{font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);
  font-weight:600;margin-bottom:12px}
.footer-cols a{display:block;color:var(--ink-2);font-size:.95rem;padding:5px 0;margin-bottom:2px;transition:color .18s}
.footer-cols a:hover{color:var(--terracotta)}
.footer-bottom{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;
  margin-top:40px;padding-top:24px;border-top:1px solid var(--line-soft);
  color:var(--ink-3);font-size:.85rem}

/* ============================================================
   Reveal animation
   ============================================================ */
/* Progressive enhancement: content is visible by default; only hidden once JS is active. */
.reveal{transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}
.js .reveal{opacity:0;transform:translateY(24px)}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  .js .reveal{opacity:1;transform:none;transition:none}
  html{scroll-behavior:auto}
}

/* ============================================================
   Responsive
   ============================================================ */
@media (max-width:900px){
  .nav-toggle{display:inline-flex}
  .nav .btn-pill{margin-left:auto}
  .nav:not(.scrolled) .nav-toggle{filter:drop-shadow(0 1px 8px rgba(253,245,224,.95))}
  .nav-links{
    position:absolute;top:100%;left:0;right:0;display:none;
    flex-direction:column;gap:0;margin:0;padding:6px 0;
    background:rgba(253,245,224,.97);
    backdrop-filter:saturate(160%) blur(16px);-webkit-backdrop-filter:saturate(160%) blur(16px);
    border-bottom:1px solid var(--line);box-shadow:0 18px 40px rgba(120,74,46,.14);
  }
  .nav.nav-open .nav-links{display:flex}
  .nav-links a{padding:14px 28px;font-size:1rem}
  .nav-links a:not(:last-child){border-bottom:1px solid var(--line-soft)}
  .hero-grid,.feature-grid,.feature-grid.reverse,.privacy-grid,.assist-grid{
    grid-template-columns:1fr;gap:44px}
  .feature-grid.reverse .feature-copy,.feature-grid.reverse .feature-stage{order:0}
  .hero-stage{min-height:auto;margin-top:10px}
  .lede{max-width:none}
  .grid-features{grid-template-columns:repeat(2,1fr)}
  .price-grid{grid-template-columns:1fr;max-width:480px}
  .feature-copy{text-align:left}
}
@media (max-width:560px){
  .container{padding:0 20px}
  h1{font-size:2.5rem}
  .hero{padding:96px 0 44px}
  .band,.feature,.privacy{padding:64px 0}
  .grid-features{grid-template-columns:1fr 1fr;gap:12px}
  .gf{padding:16px 14px}
  .hero-actions{flex-direction:column;align-items:stretch}
  .hero-actions .btn{width:100%}
  .notify-form{flex-direction:column}
  .footer-cols{gap:36px}
  .phone{width:270px}
  .phone-screen{height:548px}
}

/* ============================================================
   Paired phones + extra in-app screens
   ============================================================ */
.phone-pair{position:relative;width:100%;max-width:450px;min-height:710px;
  display:flex;align-items:center;justify-content:center}
.phone-pair .phone{position:absolute}
.phone-pair .phone.front{transform:translate(-54px,36px) rotate(-2deg);z-index:3}
.phone-pair .phone.back{transform:scale(.9) translate(72px,-46px) rotate(3deg);z-index:1}

/* trailing status chip in a row (Care Cascade) */
.row .chip{margin-left:auto;flex:none}
.chip-mute{background:rgba(42,31,26,.06);color:var(--ink-4)}

/* Rivalries */
.rival-hero{background:linear-gradient(135deg,rgba(199,90,122,.14),rgba(247,200,154,.12));
  border:1px solid rgba(199,90,122,.22);border-radius:18px;padding:13px;box-shadow:var(--shadow-sm)}
.rival-top{display:flex;align-items:center;justify-content:space-between}
.rival-top b{font-size:13.5px;font-weight:600}
.rival-vs{display:flex;align-items:center;justify-content:space-between;margin:12px 0 10px}
.vs-side{display:flex;flex-direction:column;align-items:center;gap:2px;flex:1}
.vs-side .av{width:30px;height:30px;font-size:12px;border:0;margin:0}
.vs-side b{font-size:12px;font-weight:600}
.vs-side small{font-size:12px;color:var(--ink-2);font-weight:600}
.vs-x{font-family:var(--serif);font-style:italic;color:var(--ink-4);font-size:13px;padding:0 8px}
.lb-row b{flex:1}
.lb-lvl{font-size:10px;font-weight:600;color:var(--ink-3);background:rgba(42,31,26,.06);
  padding:2px 7px;border-radius:99px}
.rival-cta{margin-top:auto;text-align:center;font-size:12.5px;font-weight:600;color:#fff;
  background:linear-gradient(180deg,#e89ab0,var(--rose));padding:11px;border-radius:14px;
  box-shadow:0 6px 16px rgba(199,90,122,.28)}

/* Travel + itinerary */
.seg{display:flex;background:rgba(42,31,26,.06);border-radius:12px;padding:3px;gap:2px}
.seg span{flex:1;text-align:center;font-size:11px;font-weight:600;color:var(--ink-3);
  padding:6px 0;border-radius:9px}
.seg .seg-on{background:var(--card-2);color:var(--ink-1);box-shadow:var(--shadow-sm)}
.trip-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.trip-head b{font-family:var(--serif);font-size:16px;font-weight:600;display:block}
.trip-head>div span{font-size:11.5px;color:var(--ink-3)}
.itin{display:flex;flex-direction:column;gap:7px}
.itin-row{display:flex;align-items:center;gap:11px;background:var(--card-2);
  border:1px solid var(--line-soft);border-radius:14px;padding:9px 11px;box-shadow:var(--shadow-sm)}
.itin-day{font-size:9px;font-weight:700;letter-spacing:.03em;color:var(--terracotta);
  background:rgba(196,106,74,.1);border-radius:7px;padding:6px 4px;width:40px;text-align:center;flex:none;line-height:1.25}
.itin-row .ic{margin-left:auto;width:16px;height:16px;color:var(--ocean)}

@media (max-width:900px){
  .hero-ambient{
    background:linear-gradient(180deg, rgba(253,245,224,.92) 0%, rgba(253,245,224,.74) 46%,
      rgba(253,245,224,.6) 78%, var(--cream-1) 100%);
  }
  .phone-pair{max-width:380px;min-height:650px}
  .phone-pair .phone.back{transform:scale(.84) translate(58px,-40px) rotate(3deg)}
  .phone-pair .phone.front{transform:translate(-40px,28px) rotate(-2deg)}
}
@media (max-width:560px){
  .phone-pair{max-width:300px;min-height:auto}
  .phone-pair .phone.back{display:none}
  .phone-pair .phone.front{position:relative;transform:none}
}

/* ============================================================
   Lists (checklist) + Chat screens
   ============================================================ */
.chk{display:flex;align-items:center;gap:11px;background:var(--card-2);border:1px solid var(--line-soft);
  border-radius:14px;padding:10px 12px;box-shadow:var(--shadow-sm)}
.chk-box{width:18px;height:18px;border-radius:6px;border:1.7px solid var(--ink-4);flex:none}
.chk b{font-size:13px;font-weight:500}
.chk .av{margin-left:auto}
.chk.done .chk-box{background:var(--sage);border-color:var(--sage);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 6.2l2.2 2.2 4.8-5' fill='none' stroke='white' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:center}
.chk.done b{color:var(--ink-3);text-decoration:line-through}

.chat-head{display:flex;align-items:center;gap:10px}
.chat-meta b{font-family:var(--serif);font-size:15px;font-weight:600;display:block;line-height:1.1}
.chat-meta span{font-size:11px;color:var(--ink-3)}
.chat{display:flex;flex-direction:column;gap:7px;flex:1;padding-top:2px}
.bub{max-width:80%;padding:9px 12px;border-radius:16px;font-size:12.5px;line-height:1.36}
.bub.in{align-self:flex-start;background:var(--card-2);border:1px solid var(--line-soft);
  border-bottom-left-radius:5px;box-shadow:var(--shadow-sm)}
.bub.out{align-self:flex-end;background:linear-gradient(180deg,var(--sunset),var(--terracotta));
  color:#fff;border-bottom-right-radius:5px}
.bub-name{display:block;font-size:9.5px;font-weight:700;letter-spacing:.03em;color:var(--ink-3);margin-bottom:2px}
.quoted{align-self:flex-start;max-width:84%;background:rgba(90,135,160,.1);
  border:1px solid rgba(90,135,160,.25);border-left-width:3px;border-radius:12px;padding:8px 11px}
.q-tag{display:block;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--ocean)}
.quoted b{display:block;font-size:12px;font-weight:600;margin-top:1px}
.q-sub{font-size:10.5px;color:var(--ink-3)}
.chat-composer{display:flex;align-items:center;margin-top:auto;background:rgba(42,31,26,.05);
  border:1px solid var(--line-soft);border-radius:999px;padding:9px 14px;font-size:12.5px;color:var(--ink-3)}
.chat-composer i{margin-left:auto;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;
  background:linear-gradient(180deg,var(--sunset),var(--terracotta));color:#fff}
.chat-composer i .ic{width:15px;height:15px}

/* Nav text legibility over the hero photo at the top of the page */
.nav:not(.scrolled) .brand-name,
.nav:not(.scrolled) .nav-links a{text-shadow:0 1px 12px rgba(253,245,224,.9)}

/* ============================================================
   "Rowing together" — the philosophy section (liquid sunshine)
   ============================================================ */
.rowing{position:relative;padding:104px 0;overflow:hidden}
.rowing-glow{position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(72% 62% at 50% 40%, rgba(249,200,128,.38), transparent 72%)}
.rowing>.container{position:relative;z-index:1}
.rowing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:6px}
.rw{background:var(--card-2);border:1px solid var(--line-soft);border-radius:24px;
  padding:28px 26px;box-shadow:var(--shadow-sm);transition:transform .2s ease, box-shadow .25s ease}
.rw:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}
.rw-ico{display:inline-grid;place-items:center;width:48px;height:48px;border-radius:15px;color:var(--ac);
  background:color-mix(in srgb,var(--ac) 15%,transparent);margin-bottom:16px}
.rw-ico .ic{width:24px;height:24px}
.rw b{font-family:var(--serif);font-size:1.32rem;font-weight:600;display:block;letter-spacing:-.01em}
.rw p{color:var(--ink-2);font-size:.98rem;margin-top:10px;line-height:1.62}
.moment{display:flex;align-items:center;gap:15px;max-width:560px;margin:32px auto 0;
  background:var(--card-2);border:1px solid var(--line-soft);border-radius:20px;
  padding:15px 20px;box-shadow:var(--shadow-md)}
.moment-ico{flex:none;display:grid;place-items:center;width:44px;height:44px;border-radius:13px;
  color:var(--rose);background:rgba(199,90,122,.14)}
.moment-ico .ic{width:22px;height:22px}
.moment-body{flex:1}
.moment-body b{font-weight:600;font-size:1.02rem;display:block}
.moment-body span{font-size:.85rem;color:var(--ink-3)}
.moment-react{display:flex;gap:6px}
.rowing-note{max-width:640px;margin:30px auto 0;font-size:.85rem;color:var(--ink-3);line-height:1.55}

@media (max-width:900px){
  .rowing-grid{grid-template-columns:1fr;max-width:480px;margin-left:auto;margin-right:auto}
}

/* ============================================================
   Alive: the app screens animate themselves (no phone motion)
   (disabled for users who prefer reduced motion)
   ============================================================ */
@media (prefers-reduced-motion:no-preference){
  @keyframes caret{0%,48%{opacity:1}50%,100%{opacity:0}}
  @keyframes sheen{0%{transform:translateX(-130%)}55%,100%{transform:translateX(360%)}}
  @keyframes todaypulse{0%,100%{box-shadow:0 0 0 0 rgba(196,106,74,.5)}70%{box-shadow:0 0 0 6px rgba(196,106,74,0)}}

  /* each screen builds itself in, row by row, when it scrolls into view */
  .js .app > *{opacity:0;transform:translateY(10px);
    transition:opacity .5s ease, transform .5s cubic-bezier(.2,.7,.2,1)}
  .app.played > *{opacity:1;transform:none}
  .app.played > :nth-child(1){transition-delay:.04s}
  .app.played > :nth-child(2){transition-delay:.13s}
  .app.played > :nth-child(3){transition-delay:.22s}
  .app.played > :nth-child(4){transition-delay:.31s}
  .app.played > :nth-child(5){transition-delay:.40s}
  .app.played > :nth-child(6){transition-delay:.49s}
  .app.played > :nth-child(7){transition-delay:.58s}
  .app.played > :nth-child(8){transition-delay:.67s}
  .app.played > :nth-child(n+9){transition-delay:.76s}

  /* a light sweep travels across each progress fill — reads as live data */
  .bar i,.dc-bar i,.trip-prog i{position:relative;overflow:hidden}
  .bar i::after,.dc-bar i::after,.trip-prog i::after{content:"";position:absolute;inset:0;
    background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);
    transform:translateX(-130%);animation:sheen 3.8s ease-in-out infinite}
  .dc-bar i::after{animation-delay:.6s}
  .trip-prog i::after{animation-delay:1.1s}

  /* blinking caret while the Concierge brief types itself out, and in the composers */
  .assist-brief p.typing::after,
  .assist-composer span::after,.chat-composer span::after{content:"";display:inline-block;
    width:2px;height:1.02em;margin-left:2px;vertical-align:-3px;border-radius:1px;
    background:currentColor;animation:caret 1.1s steps(1,end) infinite}

  /* today's date gently pulses on the calendar */
  .cd.today{animation:todaypulse 2.8s ease-in-out infinite}

  /* chat composer types a message, then sends it as a new bubble */
  @keyframes bubblein{from{opacity:0;transform:translateY(10px) scale(.97)}to{opacity:1;transform:none}}
  .chat-composer.typing span{color:var(--ink-1)}
  .chat-composer i{transition:transform .16s ease}
  .chat-composer i.sent{transform:scale(.82)}
  .bub.bub-new{animation:bubblein .34s cubic-bezier(.2,.7,.2,1)}
  @keyframes typedot{0%,60%,100%{opacity:.35;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}
  .typing-dots{display:inline-flex;gap:4px;align-items:center;padding:12px 13px}
  .typing-dots span{width:6px;height:6px;border-radius:50%;background:var(--ink-4);
    animation:typedot 1.2s ease-in-out infinite}
  .typing-dots span:nth-child(2){animation-delay:.18s}
  .typing-dots span:nth-child(3){animation-delay:.36s}

  /* hero: a live vote lands on the Clay option */
  .vote-opt{position:relative;transition:transform .16s ease, background .35s ease, color .35s ease}
  .vote-opt.tapped{transform:scale(.9)}
  .vote-clay.voted{background:rgba(196,106,74,.18);color:var(--terracotta);font-weight:600}
  @keyframes vobump{0%{transform:scale(1)}40%{transform:scale(1.5)}100%{transform:scale(1)}}
  .vo-n.bump,.t-num.bump{display:inline-block;animation:vobump .5s ease}
  .vo-n.bump{color:var(--terracotta)}
  @keyframes votepop{0%{opacity:0;transform:translate(-50%,4px)}25%{opacity:1}100%{opacity:0;transform:translate(-50%,-16px)}}
  .vote-pop{position:absolute;left:50%;top:-7px;font-size:10px;font-weight:700;
    color:var(--terracotta);pointer-events:none;animation:votepop 1s ease forwards}
}

/* ============================================================
   Legal pages (privacy.html, terms.html)
   ============================================================ */
.legal-hero{
  padding:130px 0 26px;
  background:
    radial-gradient(120% 80% at 12% -10%, var(--cream-2), transparent 60%),
    radial-gradient(120% 80% at 100% 0%, rgba(247,205,140,.30), transparent 55%);
  border-bottom:1px solid var(--line-soft);
}
.legal-hero .eyebrow{margin-bottom:14px}
.legal-hero h1{font-size:clamp(2.2rem,5vw,3.4rem)}
.legal-hero .muted{max-width:60ch}
.legal-meta{
  margin-top:18px;font-size:.86rem;color:var(--ink-3);font-weight:500;
  display:flex;flex-wrap:wrap;gap:6px 18px;
}

.legal-body{padding:46px 0 84px}
.legal-wrap{max-width:760px;margin:0 auto;padding:0 28px;width:100%}

/* friendly summary card */
.legal-tldr{
  background:var(--card-2);border:1px solid var(--line);
  border-radius:20px;padding:24px 26px;margin-bottom:48px;
  box-shadow:var(--shadow-sm);
}
.legal-tldr h2{font-size:1.15rem;font-family:var(--sans);font-weight:600;
  letter-spacing:0;color:var(--ink-1);margin-bottom:6px}
.legal-tldr .tldr-kicker{
  font-family:var(--sans);font-weight:600;font-size:.74rem;letter-spacing:.15em;
  text-transform:uppercase;color:var(--sage);margin-bottom:12px;display:block;
}
.legal-tldr ul{list-style:none;margin:10px 0 0;padding:0}
.legal-tldr li{
  position:relative;padding-left:26px;margin:9px 0;
  color:var(--ink-2);font-size:.98rem;line-height:1.55;
}
.legal-tldr li::before{
  content:"";position:absolute;left:2px;top:.55em;
  width:9px;height:9px;border-radius:50%;
  background:var(--sage);box-shadow:0 0 0 3px rgba(123,160,91,.18);
}

/* table of contents */
.legal-toc{
  margin-bottom:46px;padding:20px 24px;border:1px solid var(--line-soft);
  border-radius:16px;background:var(--card);
}
.legal-toc p{font-family:var(--sans);font-weight:600;font-size:.74rem;
  letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin-bottom:12px}
.legal-toc ol{margin:0;padding:0;list-style:none;counter-reset:toc;
  columns:2;column-gap:34px}
.legal-toc li{counter-increment:toc;margin:7px 0;break-inside:avoid}
.legal-toc a{color:var(--ink-2);font-size:.94rem;border-bottom:1px solid transparent;
  transition:color .15s,border-color .15s}
.legal-toc a::before{content:counter(toc) ". ";color:var(--ink-4);font-variant-numeric:tabular-nums}
.legal-toc a:hover{color:var(--terracotta);border-color:var(--line)}

/* long-form prose */
.legal-prose{color:var(--ink-2)}
.legal-prose section{scroll-margin-top:96px;margin-bottom:42px}
.legal-prose h2{
  font-family:var(--serif);font-weight:500;font-size:1.5rem;letter-spacing:-.01em;
  color:var(--ink-1);margin-bottom:14px;line-height:1.2;
}
.legal-prose h2 .h-num{color:var(--terracotta);font-size:1rem;font-weight:600;
  font-family:var(--sans);margin-right:10px;vertical-align:.08em}
.legal-prose h3{
  font-family:var(--sans);font-weight:600;font-size:1.02rem;color:var(--ink-1);
  margin:24px 0 8px;
}
.legal-prose p{margin:0 0 14px;font-size:1.01rem;line-height:1.68}
.legal-prose ul{margin:0 0 16px;padding-left:0;list-style:none}
.legal-prose ul li{
  position:relative;padding-left:22px;margin:8px 0;line-height:1.62;font-size:1.01rem;
}
.legal-prose ul li::before{
  content:"";position:absolute;left:3px;top:.62em;width:6px;height:6px;
  border-radius:50%;background:var(--terracotta);opacity:.55;
}
.legal-prose strong{color:var(--ink-1);font-weight:600}
.legal-prose a{color:var(--terracotta);border-bottom:1px solid var(--line);
  transition:border-color .15s}
.legal-prose a:hover{border-color:var(--terracotta)}
.legal-prose .lead{font-size:1.1rem;color:var(--ink-1);line-height:1.6;margin-bottom:34px}

.legal-note{
  background:var(--card);border:1px solid var(--line);border-left:3px solid var(--saffron);
  border-radius:12px;padding:16px 20px;margin:0 0 16px;
}
.legal-note p{margin:0;font-size:.96rem;color:var(--ink-2)}

.legal-prose .def-list{margin:0 0 16px}
.legal-prose .def-list li::before{display:none}
.legal-prose .def-list li{padding-left:0}

.legal-foot-links{margin-top:54px;padding-top:26px;border-top:1px solid var(--line);
  display:flex;flex-wrap:wrap;gap:10px 22px;align-items:center}
.legal-foot-links a{font-size:.95rem;color:var(--ink-2);font-weight:500;
  border-bottom:1px solid var(--line)}
.legal-foot-links a:hover{color:var(--terracotta)}
.legal-foot-links .lfl-spacer{flex:1}

@media (max-width:620px){
  .legal-toc ol{columns:1}
  .legal-hero{padding:112px 0 22px}
}

/* ───────────────────────── Blog + Compare ───────────────────────── */
.blog-list{display:grid;gap:18px;margin-top:6px}
.blog-card{display:block;background:var(--card);border:1px solid var(--line);border-radius:18px;
  padding:24px 26px;transition:transform .18s,box-shadow .18s,border-color .18s}
.blog-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm);border-color:rgba(196,106,74,.28)}
.blog-card .bc-meta{font-family:var(--sans);font-size:.76rem;letter-spacing:.1em;text-transform:uppercase;
  color:var(--ink-3);margin:0 0 8px}
.blog-card h2{font-family:var(--serif);font-weight:500;font-size:1.34rem;color:var(--ink-1);line-height:1.22;margin:0 0 8px}
.blog-card p{color:var(--ink-2);font-size:1rem;line-height:1.6;margin:0}
.blog-card .bc-more{display:inline-block;margin-top:12px;color:var(--terracotta);font-weight:500;font-size:.95rem}

.article-meta{font-family:var(--sans);font-size:.9rem;color:var(--ink-3);margin:0 0 28px;
  display:flex;gap:9px;flex-wrap:wrap;align-items:center}
.article-meta .dot{opacity:.5}

.post-cta{margin-top:42px;padding:26px 28px;border-radius:18px;
  background:linear-gradient(165deg,#fffaf2,#f8ecda);border:1px solid rgba(196,106,74,.22)}
.post-cta h3{font-family:var(--serif);font-weight:500;font-size:1.25rem;color:var(--ink-1);margin:0 0 6px}
.post-cta p{margin:0 0 14px;color:var(--ink-2)}

.cmp-wrap{overflow-x:auto;margin:6px 0 26px;border:1px solid var(--line);border-radius:16px}
.cmp-table{width:100%;border-collapse:collapse;font-size:.96rem;min-width:720px}
.cmp-table th,.cmp-table td{padding:13px 16px;text-align:left;border-bottom:1px solid var(--line-soft);vertical-align:top}
.cmp-table thead th{font-family:var(--sans);font-weight:600;color:var(--ink-1);background:var(--card)}
.cmp-table tbody th{font-weight:600;color:var(--ink-1)}
.cmp-table td{color:var(--ink-2)}
.cmp-table tbody tr:last-child td,.cmp-table tbody tr:last-child th{border-bottom:none}
.cmp-table .col-us{background:rgba(249,205,140,.16)}
.cmp-table thead .col-us{background:rgba(249,205,140,.32);border-top-right-radius:8px}
.cmp-yes{color:var(--sage);font-weight:600}
.cmp-no{color:var(--ink-4)}

.cmp-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px;margin:6px 0 26px}
.cmp-card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:20px 22px}
.cmp-card h3{font-family:var(--serif);font-weight:500;font-size:1.16rem;color:var(--ink-1);margin:0 0 3px}
.cmp-card .cc-tag{font-size:.82rem;color:var(--ink-3);margin:0 0 10px}
.cmp-card p{font-size:.95rem;color:var(--ink-2);line-height:1.55;margin:0 0 12px}
.cmp-card a{font-size:.92rem;color:var(--terracotta);font-weight:500;border-bottom:1px solid var(--line)}
.cmp-card a:hover{border-color:var(--terracotta)}
