
  :root{
    --paper:#F4F5F3;
    --ink:#15181B;
    --ink-2:#565C63;
    --surface:#FFFFFF;
    --line:#E3E5E2;
    --line-2:#EDEEEB;
    --accent:#0C6A57;
    --accent-ink:#094B3E;
    --accent-soft:#E5EFEB;
    --display:'Archivo', system-ui, -apple-system, sans-serif;
    --body:'IBM Plex Sans', system-ui, -apple-system, sans-serif;
    --mono:'IBM Plex Mono', ui-monospace, monospace;
    --maxw:1120px;
  }

  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}

  body{
    margin:0;
    background:var(--paper);
    color:var(--ink);
    font-family:var(--body);
    font-size:17px;
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;
  }

  a{color:inherit;}

  .wrap{
    width:100%;
    max-width:var(--maxw);
    margin:0 auto;
    padding:0 24px;
  }

  .eyebrow{
    font-family:var(--mono);
    font-size:12.5px;
    font-weight:500;
    letter-spacing:0.12em;
    text-transform:uppercase;
    color:var(--accent);
    margin:0 0 18px;
    display:flex;
    align-items:center;
    gap:10px;
  }
  .eyebrow::before{
    content:"";
    width:22px;height:1.5px;
    background:var(--accent);
    display:inline-block;
  }

  h1,h2,h3{
    font-family:var(--display);
    font-weight:700;
    letter-spacing:-0.022em;
    line-height:1.04;
    margin:0;
    color:var(--ink);
  }

  /* ---------- header ---------- */
  .site-head{
    position:sticky;top:0;z-index:50;
    background:rgba(244,245,243,0.82);
    backdrop-filter:saturate(180%) blur(12px);
    -webkit-backdrop-filter:saturate(180%) blur(12px);
  }
  .site-head .wrap{
    display:flex;align-items:center;justify-content:space-between;
    height:70px;
  }
  .brand{
    font-family:var(--display);
    font-weight:800;
    font-size:20px;
    letter-spacing:-0.03em;
    text-decoration:none;
    color:var(--ink);
  }
  .brand span{color:var(--accent);}
  .head-cta{
    font-family:var(--mono);
    font-size:13.5px;
    text-decoration:none;
    color:var(--ink);
    padding:9px 16px;
    border:1px solid var(--ink);
    border-radius:999px;
    transition:background .15s ease,color .15s ease;
    white-space:nowrap;
  }
  .head-cta:hover{background:var(--ink);color:var(--paper);}

  /* ---------- hero ---------- */
  .hero{padding:clamp(56px,9vw,104px) 0 clamp(48px,7vw,84px);}
  .hero-grid{
    display:grid;
    grid-template-columns:1.05fr 1fr;
    gap:clamp(36px,5vw,72px);
    align-items:center;
  }
  .hero h1{
    font-size:clamp(2.5rem,5.4vw,4.2rem);
    font-weight:800;
    letter-spacing:-0.03em;
  }
  .hero .lede{
    font-size:clamp(1.05rem,1.6vw,1.22rem);
    color:var(--ink-2);
    max-width:34ch;
    margin:24px 0 0;
  }
  .hero-actions{
    margin-top:36px;
    display:flex;flex-wrap:wrap;align-items:center;gap:20px;
  }
  .btn{
    font-family:var(--body);
    font-weight:600;
    font-size:16px;
    text-decoration:none;
    padding:14px 26px;
    border-radius:999px;
    transition:transform .12s ease, background .15s ease;
    display:inline-block;
  }
  .btn-primary{background:var(--accent);color:#fff;}
  .btn-primary:hover{background:var(--accent-ink);transform:translateY(-1px);}
  .btn-primary:active{transform:translateY(0);}
  .proofline{
    font-family:var(--mono);
    font-size:13px;
    color:var(--ink-2);
    line-height:1.5;
  }

  /* ---------- advisor demo (signature element) ---------- */
  .demo{
    background:var(--surface);
    border:1px solid var(--line);
    border-radius:18px;
    box-shadow:0 1px 0 rgba(21,24,27,0.02), 0 22px 50px -28px rgba(21,24,27,0.28);
    overflow:hidden;
  }
  .demo-head{
    display:flex;align-items:center;justify-content:space-between;
    padding:14px 18px;
    border-bottom:1px solid var(--line-2);
  }
  .demo-head .who{display:flex;align-items:center;gap:9px;font-weight:600;font-size:14.5px;}
  .live-dot{
    width:8px;height:8px;border-radius:50%;
    background:var(--accent);
    box-shadow:0 0 0 0 rgba(12,106,87,0.5);
    animation:pulse 2.4s infinite;
  }
  @keyframes pulse{
    0%{box-shadow:0 0 0 0 rgba(12,106,87,0.45);}
    70%{box-shadow:0 0 0 7px rgba(12,106,87,0);}
    100%{box-shadow:0 0 0 0 rgba(12,106,87,0);}
  }
  .demo-head .ctx{font-family:var(--mono);font-size:11.5px;color:var(--ink-2);}

  .thread{padding:18px 18px 8px;display:flex;flex-direction:column;gap:12px;}

  .msg{max-width:84%;opacity:0;transform:translateY(8px);animation:rise .5s ease forwards;}
  .msg .bubble{
    padding:11px 15px;border-radius:14px;font-size:14.5px;line-height:1.45;
  }
  .msg.them{align-self:flex-start;}
  .msg.them .bubble{background:var(--paper);border:1px solid var(--line);border-bottom-left-radius:5px;}
  .msg.you{align-self:flex-end;}
  .msg.you .bubble{background:var(--ink);color:var(--paper);border-bottom-right-radius:5px;}

  .cards{display:flex;flex-direction:column;gap:8px;margin-top:4px;}
  .pcard{
    display:flex;align-items:center;gap:12px;
    border:1px solid var(--line);border-radius:11px;
    padding:9px 11px;background:var(--surface);
  }
  .pcard.best{border-color:var(--accent);box-shadow:inset 3px 0 0 var(--accent);}
  .swatch{width:34px;height:34px;border-radius:7px;flex:0 0 auto;border:1px solid rgba(0,0,0,0.06);}
  .pcard .pname{font-size:13.5px;font-weight:600;line-height:1.25;}
  .pcard .pspec{font-family:var(--mono);font-size:11.5px;color:var(--ink-2);}
  .pcard.best .pspec{color:var(--accent);}
  .pcard .pprice{margin-left:auto;font-family:var(--mono);font-size:13px;font-weight:500;}

  .booked{
    align-self:stretch;
    display:flex;align-items:center;gap:9px;
    font-family:var(--mono);font-size:12.5px;
    color:var(--accent-ink);
    background:var(--accent-soft);
    border:1px solid #CFE2DB;
    border-radius:10px;
    padding:10px 13px;
    margin-top:2px;
    opacity:0;transform:translateY(8px);animation:rise .5s ease forwards;
  }
  .booked .tick{font-weight:600;}

  .brief{
    margin:14px 18px 18px;
    background:var(--ink);
    color:#D7DBD8;
    border-radius:12px;
    padding:15px 16px;
    font-family:var(--mono);
    font-size:12px;
    line-height:1.75;
    opacity:0;transform:translateY(8px);animation:rise .5s ease forwards;
    animation-delay:1.9s;
  }
  .brief .blabel{color:var(--accent);letter-spacing:0.08em;font-size:11px;display:block;margin-bottom:7px;}
  .brief b{color:#fff;font-weight:500;}

  /* stagger */
  .msg.d1{animation-delay:.15s;} .msg.d2{animation-delay:.5s;}
  .msg.d3{animation-delay:.85s;} .msg.d4{animation-delay:1.15s;}
  .msg.d5{animation-delay:1.45s;} .booked{animation-delay:1.7s;}
  @keyframes rise{to{opacity:1;transform:translateY(0);}}

  /* ---------- generic section ---------- */
  .band{padding:clamp(60px,8vw,108px) 0;}
  .band-line{border-top:1px solid var(--line);}

  .lead-h{
    font-size:clamp(1.9rem,3.6vw,2.9rem);
    max-width:18ch;
  }
  .lead-p{
    color:var(--ink-2);
    font-size:clamp(1.02rem,1.4vw,1.15rem);
    max-width:56ch;
    margin:22px 0 0;
  }
  .lead-p + .lead-p{margin-top:16px;}
  .punch{color:var(--ink);font-weight:600;}

  /* steps */
  .steps{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:1px;
    background:var(--line);
    border:1px solid var(--line);
    border-radius:16px;
    overflow:hidden;
    margin-top:48px;
  }
  .step{background:var(--surface);padding:30px 28px;}
  .step .num{
    font-family:var(--mono);font-size:12px;color:var(--accent);
    letter-spacing:0.08em;margin-bottom:14px;display:block;
  }
  .step h3{font-size:1.18rem;font-weight:700;margin-bottom:8px;}
  .step p{margin:0;color:var(--ink-2);font-size:15px;line-height:1.55;}

  .closer{
    margin-top:36px;
    font-family:var(--display);
    font-weight:600;
    font-size:clamp(1.25rem,2.2vw,1.6rem);
    letter-spacing:-0.02em;
    max-width:30ch;
    line-height:1.25;
  }
  .closer .accent{color:var(--accent);}

  /* built band */
  .built{background:var(--surface);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
  .tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px;}
  .tag{
    font-family:var(--mono);font-size:12.5px;
    border:1px solid var(--line);border-radius:999px;
    padding:7px 14px;color:var(--ink-2);
    background:var(--paper);
  }

  /* contact */
  .contact{text-align:center;}
  .contact h2{font-size:clamp(2rem,4vw,3.1rem);}
  .contact p{color:var(--ink-2);max-width:46ch;margin:20px auto 34px;font-size:1.08rem;}
  .mail{
    font-family:var(--mono);
    font-size:clamp(1rem,2.1vw,1.25rem);
    text-decoration:none;
    border-bottom:2px solid var(--accent);
    padding-bottom:3px;
    color:var(--ink);
    transition:color .15s ease;
  }
  .mail:hover{color:var(--accent);}

  /* footer */
  footer{border-top:1px solid var(--line);padding:34px 0;}
  footer .wrap{display:flex;flex-wrap:wrap;gap:14px 28px;align-items:center;justify-content:space-between;}
  footer .fbrand{font-family:var(--display);font-weight:800;letter-spacing:-0.03em;font-size:17px;}
  footer .fmeta{font-family:var(--mono);font-size:12.5px;color:var(--ink-2);display:flex;flex-wrap:wrap;gap:6px 18px;}
  footer a{text-decoration:none;}
  footer a:hover{color:var(--accent);}

  /* focus + motion */
  a:focus-visible,.btn:focus-visible{outline:2.5px solid var(--accent);outline-offset:3px;border-radius:6px;}
  @media (prefers-reduced-motion:reduce){
    *{animation:none !important;}
    .msg,.booked,.brief{opacity:1 !important;transform:none !important;}
    html{scroll-behavior:auto;}
  }

  /* responsive */
  @media (max-width:880px){
    .hero-grid{grid-template-columns:1fr;}
    .hero .lede{max-width:42ch;}
    .demo{order:2;}
    .lead-h{max-width:none;}
  }
  @media (max-width:600px){
    body{font-size:16px;}
    .steps{grid-template-columns:1fr;}
    .head-cta{display:none;}
    .step{padding:26px 22px;}
    .msg{max-width:90%;}
  }

.nav{display:flex;gap:22px;align-items:center;font-family:var(--mono);font-size:13px}
.nav a{text-decoration:none;color:var(--ink-2)} .nav a:hover{color:var(--accent)}
.btn-ghost{border:1px solid var(--ink);color:var(--ink)} .btn-ghost:hover{background:var(--ink);color:var(--paper)}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:40px}
.card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:26px;text-decoration:none;display:block}
.card h3{font-size:1.15rem;margin-bottom:8px} .card p{margin:0;color:var(--ink-2);font-size:15px}
.card .q{font-family:var(--mono);font-size:12.5px;color:var(--accent);margin-top:14px;display:block}
a.card:hover{border-color:var(--accent)}
table.cmp{width:100%;border-collapse:collapse;margin-top:36px;background:var(--surface);border:1px solid var(--line);border-radius:12px;overflow:hidden;font-size:15px}
table.cmp th,table.cmp td{padding:14px 16px;border-bottom:1px solid var(--line-2);text-align:left;vertical-align:top}
table.cmp th{font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2)}
.prose{max-width:70ch} .prose h2{font-size:1.6rem;margin:40px 0 12px} .prose h3{font-size:1.2rem;margin:28px 0 8px} .prose p,.prose li{color:var(--ink-2)}
.faq details{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:16px 20px;margin-top:12px}
.faq summary{font-weight:600;cursor:pointer} .faq p{color:var(--ink-2);margin:10px 0 0}
.note{background:#FFF7E0;border:1px solid #F0DCA0;border-radius:10px;padding:12px 16px;font-size:14px}
.ctaband{background:var(--ink);color:var(--paper);padding:36px 0}.ctaband-in{display:flex;flex-wrap:wrap;gap:18px;align-items:center;justify-content:space-between}.ctaband-t{font-family:var(--display);font-weight:700;font-size:1.35rem;margin:0;max-width:36ch;color:var(--paper)}.ctaband .btn-ghost{border-color:var(--paper);color:var(--paper)}
.aud .card{display:flex;flex-direction:column}.aud .card .btn{margin-top:auto;align-self:flex-start}.aud .card p{margin-bottom:18px}
.form-card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:28px;box-shadow:0 1px 0 rgba(21,24,27,.02),0 22px 50px -28px rgba(21,24,27,.18)}.form{display:grid;grid-template-columns:1fr 1fr;gap:18px 16px;margin:0}.form .f{display:flex;flex-direction:column;gap:7px;min-width:0}.form .f.full{grid-column:1/-1}.form label{font-size:14px;font-weight:600;color:var(--ink);line-height:1.3}.form .req{color:var(--accent);margin-left:2px}.form .opt{font-weight:400;color:var(--ink-2)}.form input,.form select,.form textarea{display:block;width:100%;min-height:46px;padding:11px 14px;border:1px solid #D2D6D2;border-radius:10px;font-family:var(--body);font-size:16px;line-height:1.4;color:var(--ink);background:#fff;transition:border-color .15s,box-shadow .15s;-webkit-appearance:none;appearance:none;margin:0}.form textarea{min-height:120px;resize:vertical}.form select{padding-right:42px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23565C63' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;cursor:pointer}.form input::placeholder,.form textarea::placeholder{color:#9AA09C}.form input:hover,.form select:hover,.form textarea:hover{border-color:#B9BEB9}.form input:focus,.form select:focus,.form textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(12,106,87,.18)}.form .btn-send{grid-column:1/-1;width:100%;border:0;cursor:pointer;font-size:16px;padding:15px 26px;margin-top:4px}.form .fnote{grid-column:1/-1;margin:-4px 0 0;font-size:13px;color:var(--ink-2);text-align:center}.form .fmsg{grid-column:1/-1;margin:0;font-size:14.5px;border-radius:10px}.form .fmsg:empty{display:none}.form .fmsg.ok{background:var(--accent-soft);border:1px solid #CFE2DB;color:var(--accent-ink);padding:12px 14px}.form .fmsg.fallback{background:#FFF7E0;border:1px solid #F0DCA0;color:#5C4A12;padding:12px 14px}.form-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:24px;align-items:start}.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}@media(max-width:880px){.form-grid{grid-template-columns:1fr}}@media(max-width:600px){.form{grid-template-columns:1fr}.form-card{padding:20px}}
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:40px}@media(max-width:1000px){.grid4{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.grid4{grid-template-columns:1fr}}
.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:40px}@media(max-width:700px){.grid2{grid-template-columns:1fr}}.tablewrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin-top:36px;border-radius:12px}.tablewrap table.cmp{margin-top:0;min-width:560px}.card .q{display:block;margin:0 0 8px}.card h3+p{margin-top:0}.aud-links{font-size:14px;margin-top:12px;display:flex;flex-wrap:wrap;gap:4px 12px}html,body{overflow-x:hidden}@media(max-width:600px){.site-head .head-cta{display:inline-block!important;padding:7px 12px;font-size:12.5px}.hero-actions .btn{flex:1 1 auto;text-align:center}.ctaband-in .hero-actions{width:100%}}
.crumbs{font-family:var(--mono);font-size:12px;color:var(--ink-2);margin-bottom:18px}.crumbs a{text-decoration:none}
@media(max-width:880px){.grid3{grid-template-columns:1fr}.nav .hide-m{display:none}}
