/* ============================================================
   Handoff — design system

   Extracted from the reference dashboard:
   · Canvas is a GRADIENT, cool pale grey-blue at the top easing
     into warm sand at the bottom. Never a flat fill.
   · Cards are borderless white on that warm ground. Separation
     comes from value + a soft diffuse shadow, never a stroke.
   · Display type is LARGE AND LIGHT (450), not large and heavy.
     This is the single biggest thing that makes it feel calm.
   · Corners are generous — 20 / 26 / 34px.
   · Amber is the brand accent: logo, chips, markers, charts.
     Semantic money colours stay green/terracotta so a gain never
     reads as decoration.
   ============================================================ */

:root{
  /* Canvas — the gradient stops */
  --sky:        #E6EBF0;   /* cool, top */
  --sand:       #EDDFC2;   /* warm, bottom */
  --paper:      #F2EEE7;   /* flat fallback / mid-tone */
  --paper-2:    #EAE3D6;   /* recessed band */
  --card:       #FFFFFF;
  --card-warm:  #FDFBF7;

  /* Ink */
  --ink:        #1A1A1A;
  --ink-soft:   #232220;
  --t1:         #1A1A1A;
  --t2:         #57534C;
  --t3:         #8B857A;
  --t-on-dark:  #F4F1EB;
  --t2-on-dark: #A8A197;

  /* Brand accent — amber */
  --amber:      #E9A93B;
  --amber-deep: #C98A2B;
  --amber-soft: #F7E3BC;
  --amber-wash: rgba(233,169,59,.12);

  /* Semantic money */
  --pos:        #2E7256;
  --pos-bright: #86DFAE;
  --neg:        #B0533A;
  --neg-bright: #FFA08E;

  /* Lines — used sparingly now; the system is mostly borderless */
  --line:       rgba(26,26,26,.07);
  --line-2:     rgba(26,26,26,.13);
  --line-dark:  rgba(255,255,255,.10);

  /* Shadows do the work that borders used to */
  --sh-sm:  0 1px 2px rgba(40,32,20,.04), 0 2px 8px -2px rgba(40,32,20,.06);
  --sh:     0 2px 4px rgba(40,32,20,.04), 0 12px 28px -12px rgba(40,32,20,.14);
  --sh-lg:  0 4px 8px rgba(40,32,20,.05), 0 28px 56px -24px rgba(40,32,20,.22);
  --sh-ink: 0 8px 20px -8px rgba(26,26,26,.42);

  /* Geometry */
  --r-sm: 12px;
  --r:    20px;
  --r-lg: 26px;
  --r-xl: 34px;

  --shell: 1200px;
  --ease: cubic-bezier(.22,.61,.36,1);
}

/* ── reset ─────────────────────────────────────────────────── */
*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; scroll-padding-top:92px; -webkit-text-size-adjust:100%; }

body{
  margin:0;
  color:var(--t1);
  font-family:'Figtree','Plus Jakarta Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;

  /* The signature: cool at the top, warm sand at the bottom. */
  background:var(--paper);
  background-image:linear-gradient(176deg,
    var(--sky)   0%,
    #EDEDE8     34%,
    #F0E8D8     68%,
    var(--sand) 100%);
  background-attachment:fixed;
}

img{ max-width:100%; display:block; }
h1,h2,h3,h4{ margin:0; line-height:1.06; letter-spacing:-.035em; font-weight:500; }
p{ margin:0; }
ul,ol{ margin:0; padding:0; list-style:none; }
a{ color:inherit; text-decoration:none; }
button,input,select,textarea{ font:inherit; color:inherit; }
svg{ display:block; }
::selection{ background:var(--amber); color:#1A1A1A; }

.shell{ width:100%; max-width:var(--shell); margin:0 auto; padding:0 32px; }
.shell--narrow{ max-width:840px; }

/* ── reveal ────────────────────────────────────────────────── */
.reveal{ opacity:0; transform:translateY(20px); transition:opacity .8s var(--ease), transform .8s var(--ease); }
.reveal.in{ opacity:1; transform:none; }
.reveal--d1{ transition-delay:.09s } .reveal--d2{ transition-delay:.18s } .reveal--d3{ transition-delay:.27s }
@media (prefers-reduced-motion:reduce){
  .reveal{ opacity:1; transform:none; transition:none; }
  html{ scroll-behavior:auto; }
}

/* ── buttons ───────────────────────────────────────────────── */
.btn{
  --bh:54px;
  display:inline-flex; align-items:center; justify-content:center; gap:9px;
  height:var(--bh); padding:0 26px;
  border:none; border-radius:999px;
  font-size:15px; font-weight:600; letter-spacing:-.005em;
  cursor:pointer; white-space:nowrap;
  transition:transform .2s var(--ease), background .22s var(--ease),
             color .22s var(--ease), box-shadow .22s var(--ease);
}
.btn svg{ width:16px; height:16px; }
.btn:hover{ transform:translateY(-1.5px); }
.btn:active{ transform:translateY(0); }
.btn:focus-visible{ outline:2px solid var(--ink); outline-offset:3px; }

.btn--dark{ background:var(--ink); color:var(--t-on-dark); box-shadow:var(--sh-ink); }
.btn--dark:hover{ background:#000; box-shadow:0 14px 30px -10px rgba(26,26,26,.55); }

.btn--line{ background:var(--card); color:var(--ink); box-shadow:var(--sh-sm); }
.btn--line:hover{ box-shadow:var(--sh); }

.btn--ghost{ background:transparent; color:var(--t2); padding:0 8px; }
.btn--ghost:hover{ color:var(--ink); }

.btn--paper{ background:var(--card); color:var(--ink); box-shadow:var(--sh); }
.btn--paper:hover{ box-shadow:var(--sh-lg); }

.btn--amber{ background:var(--amber); color:#221802; box-shadow:0 10px 24px -10px rgba(201,138,43,.6); }
.btn--amber:hover{ background:#F2B44C; }

.btn--sm{ --bh:42px; padding:0 20px; font-size:14px; }
.btn--lg{ --bh:60px; font-size:16px; }
.btn--full{ width:100%; }

/* ── nav ───────────────────────────────────────────────────── */
.nav{
  position:sticky; top:0; z-index:60;
  background:rgba(240,238,232,.72);
  backdrop-filter:saturate(180%) blur(16px);
  -webkit-backdrop-filter:saturate(180%) blur(16px);
  transition:box-shadow .35s var(--ease), background .35s var(--ease);
}
.nav.stuck{ box-shadow:0 1px 0 rgba(26,26,26,.06), 0 8px 24px -18px rgba(40,32,20,.3); }
.nav__inner{
  max-width:var(--shell); margin:0 auto; padding:16px 32px;
  display:flex; align-items:center; gap:30px;
}

/* Brand — amber mark + wordmark, mirroring the reference's two-circle lockup */
.brand{ display:inline-flex; align-items:center; gap:10px; font-weight:600; letter-spacing:-.035em; font-size:19px; }
.brand__mark{
  width:26px; height:26px; padding:0; flex:none;
  color:var(--ink);
}
.brand__name{ line-height:1; }

.nav__links{ display:flex; gap:30px; margin-left:auto; }
.nav__links a{
  font-size:14px; font-weight:450; color:var(--t2);
  position:relative; padding:5px 0; transition:color .22s var(--ease);
}
.nav__links a::after{
  content:''; position:absolute; left:0; right:100%; bottom:0; height:1.5px;
  background:var(--ink); transition:right .3s var(--ease);
}
.nav__links a:hover{ color:var(--ink); }
.nav__links a:hover::after{ right:0; }
.nav__links a[aria-current="page"]{ color:var(--t1); font-weight:600; }
.nav__links a[aria-current="page"]::after{ right:0; background:var(--amber); height:2px; }
.nav .btn{ margin-left:4px; }

@media (max-width:920px){
  .nav__links{ display:none; }
  .nav .btn{ margin-left:auto; }
}

/* ── hero ──────────────────────────────────────────────────── */
.hero{ padding:80px 0 96px; }
.hero__grid{ display:grid; grid-template-columns:1.05fr .95fr; gap:70px; align-items:center; }

.eyebrow{
  display:inline-flex; align-items:center; gap:9px;
  height:34px; padding:0 16px 0 12px;
  background:var(--card); border-radius:999px;
  box-shadow:var(--sh-sm);
  font-size:12.5px; font-weight:550; color:var(--t2);
  margin-bottom:28px;
}
.eyebrow__dot{
  width:7px; height:7px; border-radius:50%; background:var(--amber);
  box-shadow:0 0 0 0 rgba(233,169,59,.6); animation:pulse 2.6s infinite;
}
@keyframes pulse{
  0%{ box-shadow:0 0 0 0 rgba(233,169,59,.55) }
  70%{ box-shadow:0 0 0 8px rgba(233,169,59,0) }
  100%{ box-shadow:0 0 0 0 rgba(233,169,59,0) }
}

/* Big and LIGHT — the defining move of the reference */
.display{
  font-size:clamp(42px,5.5vw,76px);
  line-height:.96;
  letter-spacing:-.045em;
  font-weight:450;
  text-wrap:balance;
}
.display--sm{ font-size:clamp(34px,4.6vw,58px); }
.display b, .display strong{ font-weight:650; }

/* Inline dark count badge, as on "Property Managment 441" */
.badge{
  display:inline-flex; align-items:center; justify-content:center;
  min-width:56px; height:32px; padding:0 15px;
  background:var(--ink); color:var(--t-on-dark);
  border-radius:999px; font-size:14px; font-weight:600; letter-spacing:-.01em;
  vertical-align:middle; margin-left:10px; transform:translateY(-8px);
}

.lede{
  margin-top:26px; max-width:52ch;
  font-size:17.5px; line-height:1.62; color:var(--t2); font-weight:400;
}
.lede strong{ color:var(--t1); font-weight:600; }

.hero__cta{ display:flex; align-items:center; gap:14px; margin-top:38px; flex-wrap:wrap; }

.hero__proof{ display:flex; gap:12px; margin-top:38px; flex-wrap:wrap; }
.hero__proof li{
  display:inline-flex; align-items:baseline; gap:6px;
  background:var(--card); border-radius:999px; padding:9px 16px;
  box-shadow:var(--sh-sm);
  font-size:13.5px; color:var(--t3);
}
.hero__proof b{ color:var(--t1); font-weight:650; }

@media (max-width:980px){
  .hero{ padding:48px 0 60px; }
  .hero__grid{ grid-template-columns:1fr; gap:48px; }
}

/* ── floating pill labels (the "Silent Dream / Cozy Den" motif) ── */
.pins{ display:flex; gap:12px; flex-wrap:wrap; margin-top:34px; }
.pin{
  display:inline-flex; align-items:center; gap:8px;
  height:38px; padding:0 16px 0 12px;
  background:var(--card); border-radius:999px; box-shadow:var(--sh);
  font-size:13.5px; font-weight:500; color:var(--t1);
}
.pin svg{ width:15px; height:15px; color:var(--amber); flex:none; }

/* ── the payment card ──────────────────────────────────────── */
.paycard{
  background:var(--ink); color:var(--t-on-dark);
  border-radius:var(--r-xl); padding:30px 30px 24px;
  box-shadow:0 40px 80px -36px rgba(26,26,26,.6), 0 4px 12px rgba(26,26,26,.1);
}
.paycard__head{ display:flex; align-items:center; justify-content:space-between; gap:12px; }
.paycard__addr{
  font-size:11px; font-weight:600; letter-spacing:.1em;
  text-transform:uppercase; color:var(--t2-on-dark);
}
.chip{
  display:inline-flex; align-items:center; height:26px; padding:0 12px;
  border-radius:999px; font-size:11px; font-weight:650; letter-spacing:.03em;
}
.chip--live{ background:var(--amber-wash); color:var(--amber); }

.paycard__hero{ display:flex; align-items:baseline; gap:11px; margin:22px 0 22px; flex-wrap:wrap; }
.paycard__big{
  font-size:clamp(44px,5.6vw,60px); font-weight:500; letter-spacing:-.045em; line-height:1;
  font-variant-numeric:tabular-nums;
}
.paycard__unit{ font-size:14.5px; color:var(--t2-on-dark); }

.paycard__rows{ border-top:1px solid var(--line-dark); }
.prow{
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  padding:12px 0; border-bottom:1px solid var(--line-dark);
  font-size:14px; color:var(--t2-on-dark);
}
.prow b{ color:var(--t-on-dark); font-weight:600; font-variant-numeric:tabular-nums; }
.prow--em b{ font-size:16px; }
.pos{ color:var(--pos-bright) !important; }
.neg{ color:var(--neg-bright) !important; }

.paycard__verdict{
  margin-top:18px; padding:15px 17px;
  background:rgba(255,255,255,.05); border-radius:var(--r-sm);
  font-size:13.5px; line-height:1.58; color:#D6D1C7;
}
.paycard__verdict b{ color:#FFF; font-weight:650; }

.paycard__controls{ margin-top:22px; display:grid; gap:15px; }
.ctl__row{
  display:flex; justify-content:space-between; align-items:baseline;
  font-size:12.5px; color:var(--t2-on-dark); margin-bottom:8px;
}
.ctl__row output{ color:var(--t-on-dark); font-weight:650; font-variant-numeric:tabular-nums; }

input[type=range]{
  -webkit-appearance:none; appearance:none;
  width:100%; height:4px; border-radius:99px;
  background:rgba(255,255,255,.14);
  cursor:pointer; outline:none;
}
input[type=range]::-webkit-slider-thumb{
  -webkit-appearance:none; appearance:none;
  width:18px; height:18px; border-radius:50%;
  background:var(--amber); border:none; cursor:grab;
  box-shadow:0 2px 8px rgba(0,0,0,.5);
  transition:transform .16s var(--ease);
}
input[type=range]::-webkit-slider-thumb:active{ transform:scale(1.18); cursor:grabbing; }
input[type=range]::-moz-range-thumb{
  width:18px; height:18px; border-radius:50%;
  background:var(--amber); border:none; cursor:grab;
  box-shadow:0 2px 8px rgba(0,0,0,.5);
}
input[type=range]:focus-visible{ outline:2px solid var(--amber); outline-offset:5px; }

.paycard__foot{
  margin-top:20px; padding-top:16px; border-top:1px solid var(--line-dark);
  font-size:11.5px; line-height:1.55; color:#787166;
}

/* ── stat band ─────────────────────────────────────────────── */
.band{ padding:8px 0 0; }
.band__grid{
  display:grid; grid-template-columns:repeat(4,1fr); gap:16px;
}
.band__item{
  background:var(--card); border-radius:var(--r);
  padding:26px 24px; box-shadow:var(--sh-sm);
  transition:transform .3s var(--ease), box-shadow .3s var(--ease);
}
.band__item:hover{ transform:translateY(-3px); box-shadow:var(--sh); }
.band__n{
  display:block; font-size:38px; font-weight:500; letter-spacing:-.045em;
  font-variant-numeric:tabular-nums; margin-bottom:10px; line-height:1;
}
.band__l{ display:block; font-size:13px; line-height:1.5; color:var(--t3); }

@media (max-width:940px){ .band__grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:540px){ .band__grid{ grid-template-columns:1fr; } }

/* ── generic section ───────────────────────────────────────── */
.section{ padding:104px 0; }
.section--paper{ background:linear-gradient(180deg,rgba(234,227,214,0) 0%,rgba(234,227,214,.85) 12%,rgba(234,227,214,.85) 88%,rgba(234,227,214,0) 100%); }
.section--ink{ background:var(--ink); color:var(--t-on-dark); border-radius:var(--r-xl); margin:0 16px; }

.sechead{ max-width:740px; margin-bottom:56px; }
.kicker{
  display:inline-block; font-size:11.5px; font-weight:650; letter-spacing:.14em;
  text-transform:uppercase; color:var(--amber-deep); margin-bottom:18px;
}
.kicker--light{ color:var(--amber); }
.h2{ font-size:clamp(32px,4.1vw,50px); letter-spacing:-.042em; font-weight:450; }
.sectext{ margin-top:20px; font-size:17px; line-height:1.62; color:var(--t2); max-width:60ch; }
.sectext--light{ color:var(--t2-on-dark); }
.sechead--light .h2{ color:var(--t-on-dark); }

/* ── two sides ─────────────────────────────────────────────── */
.split{ display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.side{
  background:var(--card); border-radius:var(--r-lg);
  padding:38px 36px 34px; box-shadow:var(--sh-sm);
  display:flex; flex-direction:column;
  transition:transform .3s var(--ease), box-shadow .3s var(--ease);
}
.side:hover{ transform:translateY(-4px); box-shadow:var(--sh-lg); }
.side--alt{ background:var(--ink); color:var(--t-on-dark); }
.side__tag{
  display:inline-block; align-self:flex-start;
  font-size:11px; font-weight:650; letter-spacing:.1em; text-transform:uppercase;
  color:var(--amber-deep); background:var(--amber-wash);
  padding:7px 14px; border-radius:999px; margin-bottom:24px;
}
.side--alt .side__tag{ color:var(--amber); background:rgba(233,169,59,.14); }
.side__h{ font-size:28px; letter-spacing:-.04em; max-width:16ch; font-weight:500; }
.side__p{ margin-top:18px; font-size:15.5px; line-height:1.62; color:var(--t2); }
.side--alt .side__p{ color:var(--t2-on-dark); }

.ticks{ margin:28px 0 32px; display:grid; gap:12px; }
.ticks--tight{ margin:28px 0 0; }
.ticks li{
  position:relative; padding-left:28px;
  font-size:14.5px; line-height:1.55; color:var(--t2);
}
.ticks li b{ color:var(--t1); font-weight:600; }
.ticks li::before{
  content:''; position:absolute; left:0; top:6px;
  width:17px; height:17px; border-radius:50%;
  background:var(--amber-wash);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M4 8.3 6.8 11 12 5.4' stroke='%23C98A2B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-size:17px 17px;
}
.side--alt .ticks li{ color:var(--t2-on-dark); }
.side--alt .ticks li b{ color:var(--t-on-dark); }
.side--alt .ticks li::before{
  background-color:rgba(233,169,59,.16);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M4 8.3 6.8 11 12 5.4' stroke='%23E9A93B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
.side .btn{ margin-top:auto; }
.side--alt .btn--line{ background:rgba(255,255,255,.08); color:var(--t-on-dark); box-shadow:none; }
.side--alt .btn--line:hover{ background:rgba(255,255,255,.14); }

@media (max-width:880px){ .split{ grid-template-columns:1fr; } }

/* ── steps ─────────────────────────────────────────────────── */
.steps{ display:grid; grid-template-columns:repeat(2,1fr); gap:16px; }
.step{
  background:var(--card); border-radius:var(--r);
  padding:34px 32px; box-shadow:var(--sh-sm);
}
.step__n{
  display:inline-flex; align-items:center; justify-content:center;
  width:38px; height:38px; border-radius:50%;
  background:var(--amber-wash); color:var(--amber-deep);
  font-size:13px; font-weight:650; margin-bottom:20px;
}
.step h3{ font-size:21px; letter-spacing:-.035em; font-weight:550; }
.step p{ margin-top:13px; font-size:15px; line-height:1.62; color:var(--t2); }
@media (max-width:780px){ .steps{ grid-template-columns:1fr; } }

/* ── the math ──────────────────────────────────────────────── */
.mathgrid{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.mcard{
  background:var(--card); border-radius:var(--r);
  padding:32px 30px; box-shadow:var(--sh-sm);
}
.mcard__n{
  display:inline-flex; align-items:center; justify-content:center;
  width:36px; height:36px; border-radius:50%;
  background:var(--ink); color:var(--t-on-dark);
  font-size:13px; font-weight:600; margin-bottom:20px;
}
.mcard h3{ font-size:20px; letter-spacing:-.035em; font-weight:550; }
.mcard p{ margin-top:13px; font-size:14.5px; line-height:1.62; color:var(--t2); }
@media (max-width:880px){ .mathgrid{ grid-template-columns:1fr; } }

.callout{
  margin-top:22px; position:relative;
  background:var(--card-warm); border-radius:var(--r-lg);
  padding:44px 48px 44px 86px; box-shadow:var(--sh-sm);
}
.callout__mark{
  position:absolute; left:38px; top:26px;
  font-size:64px; line-height:1; color:var(--amber-soft);
  font-family:Georgia,serif;
}
.callout p{
  font-size:20.5px; line-height:1.54; letter-spacing:-.028em;
  color:var(--t1); max-width:62ch; font-weight:450;
}
@media (max-width:640px){
  .callout{ padding:60px 26px 32px; }
  .callout__mark{ left:24px; top:16px; }
  .callout p{ font-size:17.5px; }
}

/* ── trust ─────────────────────────────────────────────────── */
.trustgrid{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.tcard{
  background:rgba(255,255,255,.045); border-radius:var(--r);
  padding:30px 30px 28px;
}
.tcard h3{ font-size:19px; letter-spacing:-.035em; color:var(--t-on-dark); font-weight:550; }
.tcard__risk{
  margin-top:14px; font-size:14px; line-height:1.6; color:#8D867B;
  padding-left:15px; border-left:2px solid var(--neg-bright);
}
.tcard__fix{ margin-top:17px; font-size:14.5px; line-height:1.62; color:var(--t2-on-dark); }
.tcard__fix b{ color:var(--amber); font-weight:650; }
.trustnote{ margin-top:32px; font-size:13.5px; color:#7F7A6F; text-align:center; }
@media (max-width:780px){ .trustgrid{ grid-template-columns:1fr; } }

/* ── waitlist ──────────────────────────────────────────────── */
.join{ padding:104px 0; }
.join__shell{ display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:start; }
.join__copy .sechead{ margin-bottom:0; }

.counter{
  margin-top:32px; padding:22px 24px;
  background:var(--card); border-radius:var(--r); box-shadow:var(--sh-sm);
}
.counter__row{ display:flex; align-items:baseline; gap:10px; }
.counter__n{ font-size:34px; font-weight:500; letter-spacing:-.045em; font-variant-numeric:tabular-nums; }
.counter__l{ font-size:14px; color:var(--t3); }
.counter__bar{ margin-top:16px; height:6px; border-radius:99px; background:var(--paper-2); overflow:hidden; }
.counter__bar span{
  display:block; height:100%; width:0%; border-radius:99px;
  background:linear-gradient(90deg,var(--amber-deep),var(--amber));
  transition:width 1.2s var(--ease);
}
.counter__note{ display:block; margin-top:11px; font-size:12.5px; color:var(--t3); }

.join__form{
  background:var(--card); border-radius:var(--r-lg);
  padding:36px; box-shadow:var(--sh);
}

.seg{ border:none; padding:0; margin:0 0 24px; }
.seg legend{ padding:0; }
.seg__opts{ display:grid; gap:10px; margin-top:11px; }
.segopt{ display:block; cursor:pointer; }
.segopt input{ position:absolute; opacity:0; width:0; height:0; }
.segopt__box{
  display:block; padding:14px 17px;
  background:var(--paper); border-radius:var(--r-sm);
  box-shadow:inset 0 0 0 1px rgba(26,26,26,.06);
  transition:box-shadow .2s var(--ease), background .2s var(--ease);
}
.segopt:hover .segopt__box{ box-shadow:inset 0 0 0 1px rgba(26,26,26,.16); }
.segopt input:checked + .segopt__box{
  background:var(--card);
  box-shadow:inset 0 0 0 2px var(--ink);
}
.segopt input:focus-visible + .segopt__box{ outline:2px solid var(--amber); outline-offset:2px; }
.segopt__t{ display:block; font-size:14.5px; font-weight:600; }
.segopt__s{ display:block; font-size:13px; color:var(--t3); margin-top:2px; }

.field{ margin-bottom:20px; }
.lbl{
  display:block; font-size:11.5px; font-weight:650;
  letter-spacing:.1em; text-transform:uppercase; color:var(--t3); margin-bottom:9px;
}
.inp{
  width:100%; height:52px; padding:0 16px;
  background:var(--paper); border:none; border-radius:var(--r-sm);
  box-shadow:inset 0 0 0 1px rgba(26,26,26,.07);
  font-size:15px; outline:none;
  transition:box-shadow .2s var(--ease), background .2s var(--ease);
}
select.inp{
  appearance:none; cursor:pointer; padding-right:42px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M4 6.5 8 10.5 12 6.5' stroke='%238B857A' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 15px center; background-size:16px;
}
.inp::placeholder{ color:#B3ACA0; }
.inp:focus{ background:var(--card); box-shadow:inset 0 0 0 2px var(--ink); }
.inp[aria-invalid="true"]{ box-shadow:inset 0 0 0 2px var(--neg); }
.hint{ display:block; margin-top:8px; font-size:12.5px; color:var(--t3); }
.err{ display:none; margin-top:8px; font-size:12.5px; color:var(--neg); font-weight:500; }
.err.show{ display:block; }

.cond{ display:none; }
.cond.show{ display:block; animation:slidein .34s var(--ease); }
@keyframes slidein{ from{ opacity:0; transform:translateY(-7px) } to{ opacity:1; transform:none } }

.btn__spin{
  display:none; width:16px; height:16px; border-radius:50%;
  border:2px solid rgba(255,255,255,.28); border-top-color:#fff;
  animation:spin .7s linear infinite;
}
@keyframes spin{ to{ transform:rotate(360deg) } }
.btn.loading .btn__label{ opacity:.6; }
.btn.loading .btn__spin{ display:block; }
.btn[disabled]{ opacity:.75; pointer-events:none; }

/* Honeypot. Also hidden inline in the HTML — see the comment there. */
.hp{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }

.microcopy{ margin-top:16px; font-size:12.5px; line-height:1.5; color:var(--t3); text-align:center; }

.done{ text-align:center; padding:20px 4px 8px; animation:slidein .42s var(--ease); }
.done__mark{
  width:58px; height:58px; margin:0 auto 22px;
  display:grid; place-items:center; border-radius:50%;
  background:var(--amber-wash); color:var(--amber-deep);
}
.done__mark svg{ width:28px; height:28px; }
.done h3{ font-size:25px; letter-spacing:-.035em; font-weight:500; }
.done p{ margin-top:13px; font-size:15px; line-height:1.6; color:var(--t2); }
.done__share{ margin-top:30px; padding-top:26px; border-top:1px solid var(--line); }
.done__sharelbl{ font-size:14px; color:var(--t3); margin-bottom:13px !important; }

@media (max-width:920px){ .join__shell{ grid-template-columns:1fr; gap:44px; } }

/* ── faq ───────────────────────────────────────────────────── */
.faq{
  background:var(--card); border-radius:var(--r-lg);
  padding:8px 30px; box-shadow:var(--sh-sm);
}
.fq + .fq{ border-top:1px solid var(--line); }
.fq summary{
  list-style:none; cursor:pointer;
  display:flex; align-items:center; justify-content:space-between; gap:22px;
  padding:24px 0; font-size:17.5px; font-weight:550; letter-spacing:-.03em;
  transition:color .2s var(--ease);
}
.fq summary::-webkit-details-marker{ display:none; }
.fq summary:hover{ color:var(--amber-deep); }
.fq summary:focus-visible{ outline:2px solid var(--ink); outline-offset:3px; border-radius:6px; }
.fq__i{ position:relative; flex:none; width:22px; height:22px; }
.fq__i::before,.fq__i::after{
  content:''; position:absolute; left:50%; top:50%;
  background:var(--t2); border-radius:2px; transform:translate(-50%,-50%);
  transition:transform .3s var(--ease), opacity .22s var(--ease);
}
.fq__i::before{ width:13px; height:1.8px; }
.fq__i::after{ width:1.8px; height:13px; }
.fq[open] .fq__i::after{ transform:translate(-50%,-50%) rotate(90deg); opacity:0; }
.fq__body{ padding:0 0 26px; max-width:66ch; }
.fq__body p{ font-size:15.5px; line-height:1.68; color:var(--t2); }
.fq__body p + p{ margin-top:13px; }

/* ── finale ────────────────────────────────────────────────── */
.finale{
  background:var(--ink); color:var(--t-on-dark);
  border-radius:var(--r-xl); margin:0 16px; padding:112px 0;
}
.finale__inner{ display:flex; flex-direction:column; align-items:center; text-align:center; gap:38px; }
.finale .display{ color:var(--t-on-dark); }

/* ── footer ────────────────────────────────────────────────── */
.foot{ padding:72px 0 44px; }
.foot__grid{ display:flex; justify-content:space-between; gap:44px; flex-wrap:wrap; }
.brand--foot{ color:var(--ink); }
.foot__blurb{ margin-top:16px; font-size:14px; line-height:1.6; max-width:34ch; color:var(--t2); }
.foot__links{ display:flex; flex-direction:column; gap:12px; }
.foot__links a{ font-size:14px; color:var(--t2); transition:color .2s var(--ease); }
.foot__links a:hover{ color:var(--ink); }
.foot__legal{
  margin-top:52px; padding-top:26px; border-top:1px solid var(--line);
  display:flex; justify-content:space-between; gap:34px; align-items:flex-end; flex-wrap:wrap;
}
.foot__legal p{ font-size:12px; line-height:1.6; color:var(--t3); max-width:72ch; }
.foot__copy{ white-space:nowrap; }

/* ── small screens ─────────────────────────────────────────── */
@media (max-width:640px){
  .shell{ padding:0 20px; }
  .section,.join{ padding:72px 0; }
  .sechead{ margin-bottom:38px; }
  .side,.step,.mcard,.tcard,.join__form{ padding:28px 24px; }
  .faq{ padding:4px 22px; }
  .finale{ padding:80px 0; margin:0 12px; }
  .section--ink{ margin:0 12px; }
  .badge{ transform:translateY(-5px); min-width:46px; height:28px; font-size:13px; }
}

/* ============================================================
   DASHBOARD HERO — a close adaptation of the reference layout:
   title + inline badge, nav to the right, a full-bleed house
   band with floating place pills, and three cards overlapping
   the band's lower edge.
   ============================================================ */

/* The photograph is the backdrop for the entire hero — the title and nav sit
   on its sky, the houses land at the bottom behind the cards. It is pinned to
   the bottom at its natural aspect so the terrace is never cropped; the page
   gradient fills above it and the two are blended by .dash__bgfade. */
.dash{ position:relative; padding:36px 0 64px; isolation:isolate; }

.dash__bg{
  position:absolute; left:0; right:0; top:0; z-index:0;
  pointer-events:none; overflow:hidden;
}
.dash__bg img{ width:100%; height:auto; display:block; }
.dash__bgfade{
  position:absolute; inset:0;
  background:
    /* top edge dissolves into the page gradient */
    linear-gradient(180deg, #EDEDE9 0%, rgba(237,237,233,.72) 9%, rgba(237,237,233,0) 30%),
    /* left edge softens so the terrace fades out rather than being cut */
    linear-gradient(90deg,  #EFEBE2 0%, rgba(239,235,226,0) 20%),
    /* right edge picks up the warm sand */
    linear-gradient(270deg, rgba(240,232,214,.75) 0%, rgba(240,232,214,0) 12%),
    /* warm the whole thing very slightly toward the palette */
    linear-gradient(180deg, rgba(240,228,200,0) 55%, rgba(240,228,200,.28) 100%);
}
/* The reference's dashboard is not a centred column — it runs edge to edge
   with a narrow gutter, so the card row spans the full page width. */
.dash__inner{
  position:relative; z-index:2;
  width:100%; max-width:1760px; margin:0 auto;
  padding:0 clamp(20px,2.4vw,38px);
}

/* ── title row ─────────────────────────────────────────────── */
/* Title left, nav right — vertically centred against each other, matching
   the reference where the nav row sits level with the middle of the title. */
.dash__top{
  display:grid; grid-template-columns:minmax(0,0.72fr) minmax(0,1fr);
  gap:40px; align-items:start; margin-bottom:30px;
}
.dash__titles{ max-width:none; }

/* Small logo lockup above the headline */
.lockup{ display:flex; align-items:center; gap:10px; margin-bottom:26px; }
.lockup__mark{ width:26px; height:26px; flex:none; }
.lockup__txt{
  font-size:11.5px; line-height:1.32; font-weight:500;
  color:var(--t3); letter-spacing:.01em;
}
.dash__lede{
  margin-top:22px; max-width:46ch;
  font-size:16.5px; line-height:1.6; color:var(--t2);
}
.dash__lede strong{ color:var(--t1); font-weight:600; }
.dash__cta{ display:flex; align-items:center; gap:14px; margin-top:28px; flex-wrap:wrap; }

/* Nav row, echoing the reference's staggered section links */
.dash__nav{
  display:flex; flex-wrap:nowrap; gap:clamp(14px,2.1vw,34px);
  justify-content:flex-end; align-items:baseline;
  padding-top:clamp(26px,3vw,52px);
}
.dash__nav a{
  font-size:14px; font-weight:500; color:var(--t2);
  padding:6px 0; position:relative; white-space:nowrap;
  transition:color .22s var(--ease);
}
.dash__nav a::after{
  content:''; position:absolute; left:0; right:100%; bottom:0; height:2px;
  background:var(--ink); border-radius:2px; transition:right .3s var(--ease);
}
.dash__nav a:hover{ color:var(--ink); }
.dash__nav a:hover::after{ right:0; }
.dash__nav a.is-on{ color:var(--ink); font-weight:550; }
.dash__nav a.is-on::after{ right:0; }

@media (max-width:900px){
  .dash{ padding:28px 0 68px; }
  .dash__top{ grid-template-columns:1fr; gap:26px; }
  .dash__nav{ justify-content:flex-start; padding-top:0; flex-wrap:wrap; }
}

/* ── the scene ─────────────────────────────────────────────── */
.scene{
  position:relative;
  height:clamp(84px,9.5vw,138px);   /* just the strip the pins live on */
  margin:0 0 -10px;
}

.scene__pin{
  position:absolute; z-index:3;
  display:inline-flex; align-items:center; gap:8px;
  height:38px; padding:0 16px 0 12px;
  background:var(--card); border-radius:999px; box-shadow:var(--sh);
  font-size:13.5px; font-weight:500; color:var(--t1); white-space:nowrap;
}
.scene__pin svg{ width:15px; height:15px; color:var(--amber); flex:none; }
.scene__pin--a{ left:1%;  top:54%; }
.scene__pin--b{ left:34%; top:22%; }
.scene__pin--c{ left:56%; top:38%; }

.scene__actions{
  position:absolute; z-index:3; right:0; top:38%;
  display:flex; gap:10px;
}

.iconbtn{
  display:grid; place-items:center; flex:none;
  width:44px; height:44px; border-radius:50%;
  background:var(--card); color:var(--t1); border:none; cursor:pointer;
  box-shadow:var(--sh); transition:transform .2s var(--ease), box-shadow .2s var(--ease);
}
.iconbtn svg{ width:19px; height:19px; }
.iconbtn:hover{ transform:translateY(-2px); box-shadow:var(--sh-lg); }
.iconbtn--sm{ width:36px; height:36px; box-shadow:var(--sh-sm); }
.iconbtn--sm svg{ width:16px; height:16px; }
.iconbtn.is-dark{ background:var(--ink); color:var(--t-on-dark); }

@media (max-width:900px){
  .scene{ height:120px; margin:0 0 -8px; }
  .scene__pin{ height:32px; padding:0 13px 0 10px; font-size:12.5px; }
  .scene__pin--a{ left:4%; top:16%; } .scene__pin--b{ left:40%; top:8%; }
  .scene__pin--c{ display:none; }
  .scene__actions{ right:4%; top:14%; }
  .iconbtn{ width:38px; height:38px; }
}

/* ── the three cards ───────────────────────────────────────── */
.dash__cards{
  position:relative; z-index:4;
  display:grid; grid-template-columns:1fr 1.2fr 0.96fr;
  gap:18px; align-items:stretch;
}
@media (max-width:1080px){ .dash__cards{ grid-template-columns:1fr 1fr; } }
@media (max-width:720px){ .dash__cards{ grid-template-columns:1fr; } }

.dcard{
  background:var(--card); border-radius:var(--r-lg);
  padding:24px 24px 22px; box-shadow:var(--sh-lg);
  display:flex; flex-direction:column; min-width:0;
}
.dcard__head{ display:flex; align-items:center; justify-content:space-between; gap:12px; }
.dcard__eyebrow{ font-size:13.5px; font-weight:500; color:var(--t2); }
.dcard__grow{
  display:grid; place-items:center; width:30px; height:30px; flex:none;
  border-radius:50%; background:var(--paper); color:var(--t3);
}
.dcard__grow svg{ width:14px; height:14px; }
.dcard__id{
  display:block; margin-top:26px;
  font-size:11px; font-weight:500; letter-spacing:.09em;
  text-transform:uppercase; color:var(--t3);
}
.dcard__title{
  margin-top:8px; font-size:clamp(28px,2.7vw,36px);
  font-weight:450; letter-spacing:-.042em; line-height:1.04;
}
.dcard__stats{
  display:grid; grid-template-columns:1fr 1fr; gap:18px;
  margin-top:auto; padding-top:30px;
}
.dcard__stats > div + div{ padding-left:18px; border-left:1px solid var(--line); }
.dcard__statl{ display:block; font-size:12px; line-height:1.4; color:var(--t3); }
.dcard__statn{
  display:block; margin-top:10px;
  font-size:34px; font-weight:450; letter-spacing:-.045em; line-height:1;
  font-variant-numeric:tabular-nums;
}
.dcard__statn i{ font-style:normal; font-size:19px; color:var(--t3); margin-left:2px; }

/* ── centre card: filters + map ────────────────────────────── */
.dcard--map{ padding:22px; }
.chips{ display:flex; flex-wrap:wrap; gap:8px; }
.chip2{
  display:inline-flex; align-items:center; gap:6px;
  height:34px; padding:0 6px 0 13px; border-radius:999px;
  background:var(--paper); font-size:12.5px; color:var(--t3); white-space:nowrap;
}
.chip2 b{ color:var(--t1); font-weight:600; }
.chip2 i{
  display:grid; place-items:center; width:20px; height:20px;
  border-radius:50%; background:var(--card); color:var(--t3);
  font-style:normal; font-size:13px; line-height:1;
  box-shadow:var(--sh-sm);
}

.mapwrap{
  position:relative; margin-top:16px; flex:1;
  /* Tall enough to hold Vancouver-to-Florida AND Calgary-to-Cape Coral at a
     zoom where markers stay legible. At 250px the latitude span didn't fit and
     the southern markers rendered off-canvas. Measured, not guessed. */
  min-height:355px;
  border-radius:var(--r); overflow:hidden; background:var(--paper);
}
.mapart{ position:absolute; inset:0; width:100%; height:100%; }

/* Warm the basemap toward the brand palette. Applied to the canvas only so
   the markers and controls above it keep their true colour. */
.mapart .mapboxgl-canvas{ filter:saturate(.5) sepia(.16) brightness(1.05) contrast(.96); }
.mapart .mapboxgl-ctrl-logo,
.mapart .mapboxgl-ctrl-attrib-button{ opacity:.5; }
.mapart .mapboxgl-ctrl-bottom-left,
.mapart .mapboxgl-ctrl-bottom-right{ transform:scale(.82); transform-origin:bottom; }

.mapfail{
  position:absolute; inset:0; display:grid; place-items:center;
  font-size:13px; color:var(--t3); background:var(--paper); z-index:2;
}
.mapfail[hidden]{ display:none; }   /* must beat display:grid above */

/* Amber metro markers */
.mk{ position:relative; width:14px; height:14px; cursor:pointer; }
.mk__dot{
  position:absolute; inset:0; border-radius:50%;
  background:var(--amber); box-shadow:0 0 0 3px rgba(255,255,255,.85);
}
.mk__ring{
  position:absolute; left:50%; top:50%; width:46px; height:46px;
  margin:-23px 0 0 -23px; border-radius:50%;
  background:var(--amber); opacity:.18;
  animation:mkpulse 3.2s ease-in-out infinite;
}
.mk--w3 .mk__ring{ width:52px; height:52px; margin:-26px 0 0 -26px; }
.mk--w2 .mk__ring{ width:38px; height:38px; margin:-19px 0 0 -19px; }
.mk--w1 .mk__ring{ width:26px; height:26px; margin:-13px 0 0 -13px; }
.mk--w1{ width:10px; height:10px; }
@keyframes mkpulse{ 0%,100%{ transform:scale(.75); opacity:.1 } 50%{ transform:scale(1); opacity:.24 } }
@media (prefers-reduced-motion:reduce){ .mk__ring{ animation:none } }

.mapart .mapboxgl-popup-content{
  border-radius:12px; padding:9px 13px; box-shadow:var(--sh);
  font-family:inherit; font-size:12.5px; color:var(--t1);
}
.mapart .mapboxgl-popup-content b{ font-weight:650; }
.mapart .mapboxgl-popup-close-button{ display:none; }

.mapzoom{
  position:absolute; right:4px; bottom:34%;
  display:flex; flex-direction:column; gap:6px;
}
.mapzoom button{
  width:30px; height:30px; border-radius:50%; border:none; cursor:pointer;
  background:var(--card); color:var(--t2); font-size:15px; line-height:1;
  box-shadow:var(--sh-sm); transition:color .2s var(--ease);
}
.mapzoom button:hover{ color:var(--ink); }
.maptools{
  position:absolute; right:2px; top:2px; display:flex; gap:7px;
}
.mapnote{
  margin-top:14px; padding-top:13px; border-top:1px solid var(--line);
  font-size:11.5px; line-height:1.5; color:var(--t3);
}

/* ── right card: the live calculator ───────────────────────── */
.dcard--calc{ background:var(--ink); color:var(--t-on-dark); }
.dcard--calc .dcard__eyebrow{ color:var(--t2-on-dark); }
.dcard--calc .dcard__id{ color:#7F7A6E; margin-top:20px; }
.calcnum{ display:flex; align-items:baseline; gap:9px; margin:8px 0 18px; flex-wrap:wrap; }
.dcard--calc .paycard__big{
  font-size:clamp(34px,3.4vw,44px); font-weight:500;
  letter-spacing:-.045em; line-height:1; font-variant-numeric:tabular-nums;
}
.dcard--calc .paycard__unit{ font-size:13px; color:var(--t2-on-dark); }
.dcard--calc .prow{ font-size:12.5px; padding:7.5px 0; }
.dcard--calc .prow--em b{ font-size:14.5px; }
.dcard--calc .paycard__verdict{ margin-top:12px; padding:11px 13px; font-size:12px; line-height:1.5; }
.dcard--calc .paycard__controls{ margin-top:auto; padding-top:14px; gap:10px; }
.dcard--calc .ctl__row{ font-size:11.5px; margin-bottom:6px; }

/* ── proof pills under the cards ───────────────────────────── */
.dash__foot{
  display:grid; grid-template-columns:minmax(0,1fr) auto;
  gap:22px 48px; align-items:center; margin-top:34px;
}
.dash__foot .dash__lede{ margin-top:0; max-width:50ch; }
.dash__foot .dash__cta{ margin-top:0; }
.dash__foot .hero__proof{ grid-column:1 / -1; margin-top:0; }
@media (max-width:820px){
  .dash__foot{ grid-template-columns:1fr; }
}

@media (max-width:720px){
  .dcard{ padding:20px 18px; }
  .dcard__stats{ padding-top:22px; }
  .mapwrap{ min-height:200px; }
}

/* ── rotating metro card ───────────────────────────────────── */
.dcard--metro{ transition:opacity .18s var(--ease); }
.dcard--metro.is-fading{ opacity:.25; }
.dcard__flag{ font-size:19px; line-height:1; }
.dcard__why{
  margin-top:14px; font-size:13.5px; line-height:1.55; color:var(--t2);
  max-width:30ch;
}
.dcard__dots{
  display:flex; gap:7px; margin-top:20px; padding-top:18px;
  border-top:1px solid var(--line);
}
.dcard__dots button{
  width:22px; height:4px; padding:0; border:none; border-radius:99px;
  background:var(--line-2); cursor:pointer;
  transition:background .25s var(--ease), width .25s var(--ease);
}
.dcard__dots button:hover{ background:var(--t3); }
.dcard__dots button.is-on{ background:var(--amber); width:30px; }
.dcard__dots button:focus-visible{ outline:2px solid var(--ink); outline-offset:3px; }

/* stats sit above the dots now, not pinned to the very bottom */
.dcard--metro .dcard__stats{ margin-top:auto; padding-top:26px; }

/* the marker matching the visible card */
.mk.is-active .mk__dot{ background:var(--ink); box-shadow:0 0 0 3px #fff, 0 0 0 5px var(--amber); }
.mk.is-active .mk__ring{ opacity:.3; }

/* ── animated lockup: two parties → one approved deal ──────────
   The mark tells the product story in one gesture: two separate
   circles slide together, merge into a single green disc, and a
   checkmark draws. The label cross-fades to "Approved" alongside. */
.lockup{ position:relative; }
.lockup__mark{ width:26px; height:26px; flex:none; overflow:visible; }

.lk-a, .lk-b, .lk-overlap, .lk-merge, .lk-check{
  transition:transform .5s cubic-bezier(.65,0,.35,1),
             opacity .34s var(--ease);
  transform-origin:14px 14px;
}

/* rest state */
.lk-merge{ opacity:0; transform:scale(.72); }
.lk-check{
  stroke-dasharray:13; stroke-dashoffset:13; opacity:0;
  transition:stroke-dashoffset .42s cubic-bezier(.65,0,.35,1) .26s, opacity .18s .26s;
}

/* approved state — circles converge, then the green disc + tick land */
.lockup.is-approved .lk-a{ transform:translateX(3.5px); opacity:0; transition-delay:0s,.22s; }
.lockup.is-approved .lk-b{ transform:translateX(-4.5px); opacity:0; transition-delay:0s,.22s; }
.lockup.is-approved .lk-overlap{ opacity:0; transition-delay:0s; }
.lockup.is-approved .lk-merge{ opacity:1; transform:scale(1); transition-delay:.24s; }
.lockup.is-approved .lk-check{ stroke-dashoffset:0; opacity:1; }

/* label cross-fade — t1 stays in flow so the row never shifts height */
.lockup__txt{ position:relative; display:block; }
.lk-t1, .lk-t2{
  display:block; font-size:11.5px; line-height:1.32; font-weight:500;
  color:var(--t3); letter-spacing:.01em;
  transition:opacity .3s var(--ease), transform .3s var(--ease);
}
.lk-t2{
  position:absolute; left:0; top:50%; white-space:nowrap;
  transform:translateY(-50%) translateX(-4px);
  opacity:0; color:var(--pos); font-weight:650; letter-spacing:.04em;
  text-transform:uppercase; font-size:11px;
}
.lockup.is-approved .lk-t1{ opacity:0; transform:translateX(4px); }
.lockup.is-approved .lk-t2{ opacity:1; transform:translateY(-50%) translateX(0); transition-delay:.2s; }

@media (prefers-reduced-motion:reduce){
  .lk-a,.lk-b,.lk-overlap,.lk-merge,.lk-check,.lk-t1,.lk-t2{ transition:none !important; }
}

/* jurisdiction popup — facts appear only when verified data exists */
.jp__m{ color:var(--t3); font-size:11.5px; }
.jp__rows{ display:block; margin-top:7px; padding-top:7px; border-top:1px solid var(--line); }
.jp__r{ display:flex; justify-content:space-between; gap:14px; font-size:11.5px; line-height:1.7; }
.jp__r i{ font-style:normal; color:var(--t3); }

/* ── one nav at a time ──────────────────────────────────────────
   The sticky bar and the dashboard row carried the same links, so
   both were visible over the hero. The sticky bar is now a
   conversion bar (brand + CTA); its section links only appear once
   the dashboard row has scrolled out of view. */
.nav__links--deferred{
  opacity:0; visibility:hidden;
  transform:translateY(-4px);
  transition:opacity .3s var(--ease), transform .3s var(--ease), visibility .3s;
}
.nav.past-hero .nav__links--deferred{
  opacity:1; visibility:visible; transform:none;
}
@media (prefers-reduced-motion:reduce){
  .nav__links--deferred{ transition:none; }
}
