/* ============================================================
   Surname Switch - shared design system
   One stylesheet powers every page.
   ============================================================ */
:root{
  --sky:#82C9FC; --sky-deep:#1C7FD6; --sky-deeper:#0F5FA8;
  --sky-soft:#D4ECFE; --sky-wash:#EAF6FF; --sky-wash-2:#F5FBFF;
  --ink:#0E1726; --ink-soft:#5A6B7B; --ink-faint:#8A99A8;
  --line:#DCE9F4; --line-soft:#EAF1F8;
  --warm:#FF9776; --warm-deep:#FF7E59; --warm-soft:#FFF1EC;
  --good:#2FB37A; --good-soft:#E4F6EE;
  --shadow:0 18px 50px -20px rgba(28,127,214,.35);
  --shadow-sm:0 6px 20px -10px rgba(28,127,214,.3);
  --r-lg:26px; --r-md:18px; --r-sm:13px;
  --maxw:1080px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;font-family:'Plus Jakarta Sans',system-ui,-apple-system,sans-serif;
  color:var(--ink);line-height:1.55;background:linear-gradient(180deg,var(--sky-wash-2) 0%,#fff 26%);
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
h1,h2,h3,h4{font-family:'Fraunces',serif;font-weight:500;letter-spacing:-.5px;line-height:1.08;margin:0;}
.container{max-width:var(--maxw);margin:0 auto;padding:0 22px;}
.narrow{max-width:780px;margin:0 auto;}

/* Eyebrow */
.eyebrow{font-size:12px;font-weight:700;letter-spacing:1.6px;text-transform:uppercase;color:var(--sky-deep);
  display:inline-flex;align-items:center;gap:9px;}
.eyebrow::before{content:"";width:22px;height:2px;background:var(--sky);border-radius:2px;}
.eyebrow.center{justify-content:center;}
.eyebrow.warm{color:var(--warm-deep);}
.eyebrow.warm::before{background:var(--warm);}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;font-family:inherit;font-weight:700;
  font-size:16px;padding:15px 26px;border-radius:14px;cursor:pointer;border:0;min-height:52px;
  transition:transform .12s,box-shadow .2s,background .2s;}
.btn-primary{background:linear-gradient(135deg,var(--sky-deep),var(--sky-deeper));color:#fff;box-shadow:var(--shadow-sm);}
.btn-primary:hover{transform:translateY(-2px);box-shadow:var(--shadow);}
.btn-warm{background:linear-gradient(135deg,var(--warm),var(--warm-deep));color:#fff;box-shadow:0 12px 30px -14px rgba(255,126,89,.6);}
.btn-warm:hover{transform:translateY(-2px);}
.btn-ghost{background:#fff;border:1.5px solid var(--line);color:var(--ink);}
.btn-ghost:hover{border-color:var(--sky);}
.btn-sm{padding:11px 18px;min-height:44px;font-size:15px;}

/* ---------- Nav ---------- */
.nav{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.82);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);}
.nav-row{display:flex;align-items:center;justify-content:space-between;height:68px;}
.brand{display:flex;align-items:center;gap:11px;font-weight:800;font-size:18px;letter-spacing:-.3px;color:var(--ink);}
.logo{width:38px;height:38px;border-radius:12px;background:linear-gradient(140deg,var(--sky),var(--sky-deep));
  display:grid;place-items:center;box-shadow:var(--shadow-sm);flex:0 0 auto;}
.logo svg{width:22px;height:22px;}
.nav-links{display:flex;align-items:center;gap:26px;font-size:15px;font-weight:600;color:var(--ink-soft);}
.nav-links a:hover,.nav-links a.active{color:var(--ink);}
.nav-right{display:flex;align-items:center;gap:14px;}
.nav-burger{display:none;width:44px;height:44px;border:1.5px solid var(--line);border-radius:11px;background:#fff;cursor:pointer;
  align-items:center;justify-content:center;}
.nav-burger span{width:18px;height:2px;background:var(--ink);position:relative;display:block;}
.nav-burger span::before,.nav-burger span::after{content:"";position:absolute;left:0;width:18px;height:2px;background:var(--ink);}
.nav-burger span::before{top:-6px;} .nav-burger span::after{top:6px;}
.mobile-menu{display:none;border-top:1px solid var(--line);background:#fff;}
.mobile-menu.open{display:block;}
.mobile-menu a{display:block;padding:15px 22px;font-weight:600;border-bottom:1px solid var(--line-soft);color:var(--ink);}
.mobile-menu .btn{margin:14px 22px 18px;width:calc(100% - 44px);}
@media(max-width:820px){
  .nav-links{display:none;}
  .nav-right .btn{display:none;}
  .nav-burger{display:flex;}
}

/* ---------- Hero ---------- */
.hero{padding:64px 0 44px;position:relative;overflow:hidden;}
.hero::before{content:"";position:absolute;top:-220px;left:50%;transform:translateX(-50%);width:920px;height:520px;
  background:radial-gradient(circle,var(--sky-wash) 0%,transparent 65%);z-index:-1;}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center;}
.hero h1{font-size:clamp(36px,6.2vw,58px);margin-bottom:18px;}
.hero h1 .hl{color:var(--sky-deep);font-style:italic;}
.lead{font-size:18px;color:var(--ink-soft);max-width:48ch;margin:18px 0 28px;}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap;align-items:center;}
.hero-note{font-size:13.5px;color:var(--ink-soft);margin-top:18px;}
.hero-note b{color:var(--ink);}
@media(max-width:860px){.hero-grid{grid-template-columns:1fr;gap:34px;}.hero{padding:44px 0 26px;}}

/* Page hero (interior pages) */
.phero{padding:54px 0 30px;text-align:center;position:relative;overflow:hidden;}
.phero::before{content:"";position:absolute;top:-180px;left:50%;transform:translateX(-50%);width:760px;height:420px;
  background:radial-gradient(circle,var(--sky-wash) 0%,transparent 65%);z-index:-1;}
.phero h1{font-size:clamp(32px,5.6vw,48px);margin:14px 0 14px;}
.phero .lead{margin:0 auto 26px;text-align:center;}

/* ---------- Switch motif ---------- */
.switchcard{background:#fff;border:1px solid var(--line);border-radius:24px;padding:26px;box-shadow:var(--shadow);}
.switcher{display:flex;align-items:center;justify-content:center;gap:14px;margin-bottom:22px;flex-wrap:wrap;}
.nametag{padding:11px 20px;border-radius:14px;font-family:'Fraunces',serif;font-size:23px;font-weight:600;}
.nametag.old{background:#fff;border:1.5px solid var(--line);color:var(--ink-soft);position:relative;}
.nametag.old::after{content:"";position:absolute;left:14%;right:14%;top:52%;height:2px;background:var(--warm);
  transform:scaleX(0);transform-origin:left;animation:strike .7s 1s forwards cubic-bezier(.4,0,.2,1);}
.nametag.new{background:linear-gradient(135deg,var(--sky),var(--sky-deep));color:#fff;box-shadow:var(--shadow-sm);
  opacity:0;transform:translateY(6px);animation:rise .6s 1.2s forwards;}
.swap-ar{color:var(--sky-deep);font-size:24px;opacity:0;animation:fade .4s 1s forwards;}
@keyframes strike{to{transform:scaleX(1);}}
@keyframes rise{to{opacity:1;transform:translateY(0);}}
@keyframes fade{to{opacity:1;}}
.peek-row{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:13px;margin-top:10px;background:var(--sky-wash-2);}
.peek-row .tick{width:24px;height:24px;border-radius:50%;background:var(--good);display:grid;place-items:center;flex:0 0 auto;}
.peek-row .tick svg{width:13px;height:13px;}
.peek-row.todo .tick{background:#fff;border:2px solid var(--line);}
.peek-row b{font-size:14.5px;}
.peek-row .badge{margin-left:auto;font-size:11px;font-weight:700;background:var(--sky-wash);color:var(--sky-deeper);padding:3px 9px;border-radius:999px;}
.peek-bar{height:7px;background:var(--sky-soft);border-radius:999px;margin:18px 0 6px;overflow:hidden;}
.peek-bar i{display:block;height:100%;width:60%;background:linear-gradient(90deg,var(--sky),var(--sky-deep));border-radius:999px;animation:grow 1.4s 1.4s both;}
@keyframes grow{from{width:0;}to{width:60%;}}
.peek-cap{font-size:12.5px;color:var(--ink-soft);}

/* ---------- Sections ---------- */
section.block{padding:56px 0;}
.sec-head{text-align:center;max-width:640px;margin:0 auto 42px;}
.sec-head h2{font-size:clamp(26px,4.5vw,38px);margin:12px 0 12px;}
.sec-head p{color:var(--ink-soft);font-size:17px;margin:0;}

/* Hook band */
.hook{background:var(--ink);color:#fff;border-radius:28px;padding:48px;margin:30px 0;position:relative;overflow:hidden;}
.hook::after{content:"";position:absolute;right:-80px;bottom:-80px;width:300px;height:300px;border-radius:50%;
  background:radial-gradient(circle,rgba(130,201,252,.25),transparent 70%);}
.hook .eyebrow{color:var(--sky);}.hook .eyebrow::before{background:var(--sky);}
.hook h2{font-size:clamp(26px,4.5vw,38px);color:#fff;margin:12px 0 14px;max-width:20ch;}
.hook p{color:#C7D6E6;font-size:17px;max-width:54ch;margin:0 0 24px;}
.hook .btn{position:relative;z-index:2;}
@media(max-width:600px){.hook{padding:32px 26px;}}

/* Steps */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.step{background:#fff;border:1px solid var(--line);border-radius:20px;padding:28px 24px;box-shadow:var(--shadow-sm);}
.step .num{font-family:'Fraunces',serif;font-size:15px;font-weight:600;color:var(--sky-deep);}
.step h3{font-size:20px;margin:8px 0 8px;}
.step p{color:var(--ink-soft);font-size:15px;margin:0;}
@media(max-width:760px){.steps{grid-template-columns:1fr;}}

/* Timeline (How it works detail) */
.timeline{position:relative;max-width:760px;margin:0 auto;padding-left:34px;}
.timeline::before{content:"";position:absolute;left:11px;top:8px;bottom:8px;width:2px;background:var(--sky-soft);}
.tl-item{position:relative;padding-bottom:38px;}
.tl-item:last-child{padding-bottom:0;}
.tl-dot{position:absolute;left:-34px;top:0;width:24px;height:24px;border-radius:50%;background:#fff;border:3px solid var(--sky-deep);
  display:grid;place-items:center;font-size:12px;font-weight:800;color:var(--sky-deep);}
.tl-item h3{font-size:21px;margin-bottom:8px;}
.tl-item p{color:var(--ink-soft);font-size:15.5px;margin:0 0 12px;}
.tl-chip{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:700;background:var(--sky-wash);
  color:var(--sky-deeper);padding:6px 12px;border-radius:999px;margin:0 6px 6px 0;}
.tl-data{background:var(--warm-soft);border:1px solid #FBD9CC;border-radius:13px;padding:12px 15px;font-size:13.5px;margin-top:10px;}
.tl-data b{color:var(--warm-deep);}

/* Coverage */
.cover{background:var(--sky-wash);border:1px solid var(--sky-soft);border-radius:28px;padding:42px;}
.cover-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:26px;}
.cover-cat{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px 20px;}
.cover-cat b{font-size:15.5px;display:flex;align-items:center;gap:9px;}
.cover-cat b .dot{width:8px;height:8px;border-radius:50%;background:var(--sky-deep);}
.cover-cat span{font-size:13.5px;color:var(--ink-soft);display:block;margin-top:5px;}
@media(max-width:760px){.cover{padding:28px 22px;}.cover-grid{grid-template-columns:1fr;}}

/* Why / compare */
.why{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.why-col{border-radius:22px;padding:30px;border:1px solid var(--line);}
.why-col.old{background:#fff;}
.why-col.new{background:linear-gradient(160deg,#fff,var(--sky-wash));border-color:var(--sky-soft);}
.why-col h3{font-size:21px;margin-bottom:16px;}
.why-col.old h3{color:var(--ink-soft);}
.why ul{margin:0;padding:0;}
.why li{list-style:none;display:flex;gap:11px;align-items:flex-start;margin-bottom:13px;font-size:15px;}
.why .mk{width:22px;height:22px;border-radius:50%;flex:0 0 auto;display:grid;place-items:center;margin-top:1px;}
.why .mk svg{width:12px;height:12px;}
.old .mk{background:#EEF1F4;color:var(--ink-soft);}
.new .mk{background:var(--good);color:#fff;}
@media(max-width:760px){.why{grid-template-columns:1fr;}}

/* Generic feature cards */
.fgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.fgrid.two{grid-template-columns:repeat(2,1fr);}
.fcard{background:#fff;border:1px solid var(--line);border-radius:20px;padding:26px;box-shadow:var(--shadow-sm);}
.fcard .ic{width:46px;height:46px;border-radius:13px;background:var(--sky-wash);display:grid;place-items:center;margin-bottom:14px;font-size:22px;}
.fcard h3{font-size:18px;margin-bottom:8px;}
.fcard p{color:var(--ink-soft);font-size:14.5px;margin:0;}
@media(max-width:820px){.fgrid,.fgrid.two{grid-template-columns:1fr;}}

/* Stat band */
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;text-align:center;}
.stat b{font-family:'Fraunces',serif;font-size:40px;font-weight:600;color:var(--sky-deep);display:block;}
.stat span{font-size:14px;color:var(--ink-soft);}
@media(max-width:600px){.stats{grid-template-columns:1fr;gap:26px;}}

/* Data flow diagram support */
.dataflow{background:#fff;border:1px solid var(--line);border-radius:24px;padding:30px;box-shadow:var(--shadow-sm);}
.df-row{display:flex;align-items:stretch;gap:14px;flex-wrap:wrap;justify-content:center;}
.df-node{flex:1;min-width:160px;background:var(--sky-wash-2);border:1px solid var(--line);border-radius:16px;padding:18px;text-align:center;}
.df-node .ic{width:42px;height:42px;border-radius:12px;background:var(--sky);display:grid;place-items:center;margin:0 auto 10px;}
.df-node b{font-size:15px;display:block;margin-bottom:5px;}
.df-node span{font-size:12.5px;color:var(--ink-soft);}
.df-node.warm{background:var(--warm-soft);border-color:#FBD9CC;}
.df-node.warm .ic{background:var(--warm);}
.df-node.good{background:var(--good-soft);border-color:#CBEEDD;}
.df-node.good .ic{background:var(--good);}
.df-arrow{display:grid;place-items:center;color:var(--sky-deep);font-size:22px;font-weight:700;}
@media(max-width:720px){.df-row{flex-direction:column;}.df-arrow{transform:rotate(90deg);padding:4px 0;}}

/* Pledge list */
.pledge{list-style:none;padding:0;margin:0;display:grid;gap:14px;}
.pledge li{display:flex;gap:14px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px 20px;}
.pledge .mk{width:30px;height:30px;border-radius:9px;background:var(--good-soft);display:grid;place-items:center;flex:0 0 auto;}
.pledge .mk svg{width:16px;height:16px;color:var(--good);}
.pledge b{display:block;font-size:16px;margin-bottom:3px;}
.pledge span{font-size:14.5px;color:var(--ink-soft);}

/* Prose */
.prose h2{font-size:26px;margin:36px 0 14px;}
.prose h3{font-size:20px;margin:26px 0 10px;}
.prose p{font-size:16px;color:#27323F;margin:0 0 16px;}
.prose ul{padding-left:20px;margin:0 0 18px;}
.prose li{font-size:16px;color:#27323F;margin-bottom:9px;}
.prose strong{color:var(--ink);}

/* Pricing */
.price-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;max-width:760px;margin:0 auto;}
.plan{background:#fff;border:1.5px solid var(--line);border-radius:24px;padding:32px;position:relative;}
.plan.feat{border-color:var(--sky-deep);box-shadow:var(--shadow);}
.plan .tag{position:absolute;top:-13px;left:32px;background:var(--warm);color:#fff;font-size:12px;font-weight:700;padding:5px 13px;border-radius:999px;letter-spacing:.4px;}
.plan h3{font-size:20px;}
.plan .amt{font-family:'Fraunces',serif;font-size:44px;font-weight:600;margin:6px 0 2px;}
.plan .amt small{font-size:16px;color:var(--ink-soft);font-family:'Plus Jakarta Sans';font-weight:600;}
.plan .desc{color:var(--ink-soft);font-size:14.5px;margin-bottom:20px;}
.plan ul{list-style:none;padding:0;margin:0 0 24px;}
.plan li{display:flex;gap:10px;align-items:flex-start;font-size:14.5px;margin-bottom:11px;}
.plan li svg{width:18px;height:18px;flex:0 0 auto;margin-top:2px;color:var(--good);}
.plan .btn{width:100%;}
@media(max-width:680px){.price-grid{grid-template-columns:1fr;}}

/* FAQ accordion */
.faq{max-width:780px;margin:0 auto;}
.faq details{background:#fff;border:1px solid var(--line);border-radius:16px;padding:4px 22px;margin-bottom:12px;}
.faq summary{cursor:pointer;font-weight:700;font-size:16.5px;padding:18px 0;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{content:"+";font-size:22px;color:var(--sky-deep);font-weight:400;flex:0 0 auto;}
.faq details[open] summary::after{content:"\2013";}
.faq details p{margin:0 0 18px;color:var(--ink-soft);font-size:15px;}

/* Situation hero strip */
.sit-tags{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:8px;}
.sit-tag{font-size:13px;font-weight:700;padding:8px 15px;border-radius:999px;border:1.5px solid var(--line);background:#fff;color:var(--ink-soft);}
.sit-tag.on{background:var(--sky-wash);border-color:var(--sky-deep);color:var(--sky-deeper);}

/* Callout */
.callout{background:var(--sky-wash);border:1px solid var(--sky-soft);border-radius:18px;padding:22px 24px;display:flex;gap:16px;align-items:flex-start;}
.callout .ic{width:40px;height:40px;border-radius:11px;background:var(--sky);display:grid;place-items:center;flex:0 0 auto;}
.callout b{display:block;margin-bottom:4px;font-size:16px;}
.callout p{margin:0;font-size:14.5px;color:var(--ink-soft);}
.callout.good{background:var(--good-soft);border-color:#CBEEDD;}
.callout.good .ic{background:var(--good);}
.callout.warm{background:var(--warm-soft);border-color:#FBD9CC;}
.callout.warm .ic{background:var(--warm);}

/* Final CTA */
.final{background:linear-gradient(150deg,var(--sky-deep),var(--sky-deeper));border-radius:28px;padding:56px 48px;text-align:center;color:#fff;}
.final h2{font-size:clamp(28px,4.5vw,40px);color:#fff;margin-bottom:14px;}
.final p{color:#DCEEFD;font-size:17px;max-width:48ch;margin:0 auto 28px;}
.final .btn-warm{font-size:17px;padding:17px 32px;}
@media(max-width:600px){.final{padding:40px 26px;}}

/* Related links */
.related{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.rel-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px;transition:border-color .15s,transform .12s;}
.rel-card:hover{border-color:var(--sky);transform:translateY(-2px);}
.rel-card b{font-size:16px;display:block;margin-bottom:5px;}
.rel-card span{font-size:13.5px;color:var(--ink-soft);}
.rel-card .go{color:var(--sky-deep);font-weight:700;font-size:14px;margin-top:10px;display:inline-block;}
@media(max-width:760px){.related{grid-template-columns:1fr;}}

/* Footer */
.site-footer{padding:52px 0 40px;border-top:1px solid var(--line);margin-top:60px;color:var(--ink-soft);font-size:14px;}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:30px;}
.foot-grid h4{font-family:'Plus Jakarta Sans';font-size:13px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;color:var(--ink);margin-bottom:14px;}
.foot-grid a{display:block;margin-bottom:10px;font-weight:500;}
.foot-grid a:hover{color:var(--ink);}
.foot-brand p{margin:12px 0 0;max-width:32ch;}
.disclaim{margin-top:30px;padding-top:22px;border-top:1px solid var(--line-soft);font-size:12.5px;line-height:1.6;max-width:820px;}
@media(max-width:760px){.foot-grid{grid-template-columns:1fr 1fr;gap:26px;}}
@media(max-width:460px){.foot-grid{grid-template-columns:1fr;}}

.mt0{margin-top:0;} .center{text-align:center;}
@media (prefers-reduced-motion: reduce){*{animation:none !important;}}
