/* =====================================================================
   Marketing site
   Paper, register-green ink and shelf-tag yellow. Archivo at its widest
   for headlines, at its narrowest for the service names; Instrument Sans
   for reading; Plex Mono only where a till would print.
   ===================================================================== */
@font-face{font-family:"Archivo";src:url("../fonts/archivo-var.woff2") format("woff2-variations"),url("../fonts/archivo-var.woff2") format("woff2");font-weight:100 900;font-stretch:62% 125%;font-display:swap}
@font-face{font-family:"Instrument Sans";src:url("../fonts/inst-sans-400.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Instrument Sans";src:url("../fonts/inst-sans-500.woff2") format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Instrument Sans";src:url("../fonts/inst-sans-600.woff2") format("woff2");font-weight:600 700;font-display:swap}
@font-face{font-family:"Plex Mono";src:url("../fonts/plex-mono-400.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Plex Mono";src:url("../fonts/plex-mono-500.woff2") format("woff2");font-weight:500 700;font-display:swap}

:root{
  --paper:#EDF0EA;
  --paper-2:#E1E6DE;
  --ink:#15211B;
  --ink-2:#46534C;
  --ink-3:#6E7A73;
  --green:#1E5A43;
  --tag:#FFD43B;
  --tag-deep:#F2BE00;
  --receipt:#FFFFFF;
  --rule:#C3CCC4;
  --bad:#B3261E;

  --display:"Archivo","Arial Black",system-ui,sans-serif;
  --body:"Instrument Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --mono:"Plex Mono",ui-monospace,Menlo,Consolas,monospace;

  /* type scale (1.25 minor third on a 17px base) */
  --t-sm:14px; --t-base:17px; --t-md:21px; --t-lg:27px;
  --gutter:clamp(20px,4vw,56px);
  --max:1240px;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:84px}
body{margin:0;background:var(--paper);color:var(--ink);font:400 var(--t-base)/1.55 var(--body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,svg{max-width:100%;display:block}
a{color:var(--green);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--ink)}
:focus-visible{outline:3px solid var(--green);outline-offset:3px;border-radius:2px}
::selection{background:var(--tag);color:var(--ink)}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:12px;top:-60px;z-index:20;padding:10px 14px;background:var(--ink);color:var(--paper);border-radius:4px}
.skip:focus{top:12px}

/* ---------- Type ---------- */
.display{font-family:var(--display);font-stretch:125%;font-weight:800;font-size:clamp(44px,6.4vw,100px);line-height:.93;letter-spacing:-.035em;margin:0;text-wrap:balance}
.display-sm{font-size:clamp(36px,4.6vw,64px);line-height:.98}
.section-title{font-family:var(--display);font-stretch:112%;font-weight:700;font-size:clamp(26px,2.9vw,40px);line-height:1.08;letter-spacing:-.02em;margin:0;max-width:24ch;text-wrap:balance}
.lede{font-size:var(--t-md);line-height:1.5;color:var(--ink-2);max-width:36em;margin:28px 0 0}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:44px;padding:0 20px;border:2px solid var(--ink);border-radius:5px;font:600 15px/1 var(--body);text-decoration:none;cursor:pointer;transition:transform .08s,box-shadow .08s,background-color .12s;white-space:nowrap}
.btn-lg{height:54px;padding:0 26px;font-size:16px}
/* Register-key feel: a hard shadow that the button presses into. */
.btn-tag{background:var(--tag);color:var(--ink);box-shadow:0 4px 0 var(--ink)}
.btn-tag:hover{background:#FFDC5C;color:var(--ink)}
.btn-tag:active{transform:translateY(3px);box-shadow:0 1px 0 var(--ink)}
.btn-ink{background:var(--ink);color:var(--paper)}
.btn-ink:hover{background:var(--green);border-color:var(--green);color:#fff}
.btn-line{background:transparent;color:var(--ink)}
.btn-line:hover{background:var(--ink);color:var(--paper)}

/* ---------- Header ---------- */
.site-head{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:32px;max-width:none;padding:14px var(--gutter);background:rgba(237,240,234,.92);backdrop-filter:saturate(1.2) blur(8px);border-bottom:1px solid var(--rule)}
.wordmark{white-space:nowrap;display:inline-flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;font-family:var(--display);font-stretch:118%;font-weight:800;font-size:18px;letter-spacing:-.02em}
.wordmark-tag{position:relative;width:24px;height:16px;background:var(--tag);border:2px solid var(--ink);border-radius:2px 3px 3px 2px;clip-path:polygon(28% 0,100% 0,100% 100%,28% 100%,0 50%)}
.wordmark-tag::after{content:"";position:absolute;left:6px;top:50%;width:4px;height:4px;margin-top:-2px;border-radius:50%;background:var(--ink)}
.site-nav{display:flex;gap:26px;margin-right:auto}
.site-nav a,.link-quiet{white-space:nowrap;color:var(--ink-2);text-decoration:none;font-size:15px;font-weight:500}
.site-nav a:hover,.link-quiet:hover{color:var(--ink)}
.head-actions{display:flex;align-items:center;gap:20px}
.head-actions .btn{height:40px;box-shadow:0 3px 0 var(--ink)}

/* ---------- Hero ---------- */
.hero{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:clamp(32px,5vw,80px);align-items:start;max-width:var(--max);margin:0 auto;padding:clamp(48px,7vw,104px) var(--gutter) clamp(64px,8vw,120px)}
.hero-copy{padding-top:clamp(0px,2vw,24px)}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:36px}
.hero-note{margin:18px 0 0;font-size:var(--t-sm);color:var(--ink-3)}

/* ---------- Receipt ---------- */
.receipt-wrap{position:relative;justify-self:end;width:100%;max-width:356px;padding-top:6px}
.slot{position:relative;z-index:2;height:16px;margin:0 -14px;border-radius:8px;background:var(--ink);box-shadow:inset 0 -5px 0 #0A110D}
.receipt{position:relative;z-index:1;margin:-8px 0 0;padding:30px 24px 22px;background:var(--receipt);color:var(--ink);font:400 13.5px/1.55 var(--mono);box-shadow:0 1px 0 var(--rule),0 18px 30px -18px rgba(21,33,27,.35);
  /* torn zigzag bottom edge */
  -webkit-mask:linear-gradient(#000 0 0) top/100% calc(100% - 10px) no-repeat,conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg) bottom/16px 10px repeat-x;
          mask:linear-gradient(#000 0 0) top/100% calc(100% - 10px) no-repeat,conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg) bottom/16px 10px repeat-x;
  padding-bottom:34px;transform-origin:top center}
.js .receipt{animation:print 1.5s steps(14,end) .25s both}
@keyframes print{from{clip-path:inset(0 0 100% 0);transform:translateY(-24px)}to{clip-path:inset(0 0 0 0);transform:none}}
.rc-head{text-align:center;padding-bottom:12px;border-bottom:1px dashed var(--ink-3)}
.rc-head p{margin:0}
.rc-store{font-weight:700;font-size:15px;letter-spacing:.04em}
.rc-meta{display:flex;justify-content:space-between;margin-top:8px!important;color:var(--ink-3);font-size:12px}
.rc-hint{margin:12px 0 4px;color:var(--ink-3);font-size:12px;text-align:center}
.rc-lines{list-style:none;margin:0;padding:0}

.rc-line,.rc-bundle,.rc-loc{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:10px;width:100%;padding:7px 6px;margin:0 -6px;width:calc(100% + 12px);border:0;border-radius:3px;background:none;color:inherit;font:inherit;text-align:left}
.rc-line{cursor:pointer}
.rc-line:hover{background:#F1F4EF}
.rc-amt{font-variant-numeric:tabular-nums;text-align:right;min-width:6ch}
.rc-void{visibility:hidden;padding:0 5px;background:var(--ink);color:#fff;font-size:11px;font-weight:700;letter-spacing:.08em}
.rc-line[aria-pressed="false"] .rc-name,.rc-line[aria-pressed="false"] .rc-amt{text-decoration:line-through;color:var(--ink-3)}
.rc-line[aria-pressed="false"] .rc-void{visibility:visible}
.rc-bundle{color:var(--green);font-weight:500}
.rc-bundle[hidden]{display:none}
.rc-stepper{display:inline-flex;align-items:center;gap:6px}
.rc-stepper button{width:24px;height:24px;border:1px solid var(--ink);border-radius:3px;background:#fff;font:600 14px/1 var(--mono);cursor:pointer;padding:0}
.rc-stepper button:hover{background:var(--tag)}
.rc-stepper output{min-width:2ch;text-align:center}
.rc-total{display:flex;justify-content:space-between;align-items:baseline;margin-top:10px;padding-top:12px;border-top:3px double var(--ink)}
.rc-total span{font-weight:700}
.rc-total strong{font-size:26px;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.rc-cur{font-size:16px;vertical-align:4px;margin-right:2px;font-weight:500!important}
.rc-incl{list-style:none;margin:12px 0 0;padding:10px 0 0;border-top:1px dashed var(--ink-3);color:var(--ink-2);font-size:12.5px}
.rc-incl li{display:flex;justify-content:space-between}
.rc-cta{display:flex;width:100%;margin-top:18px}
.rc-cta[aria-disabled="true"]{opacity:.45;pointer-events:none}
.barcode{height:38px;margin:18px 8px 0;background:
  repeating-linear-gradient(90deg,var(--ink) 0 2px,transparent 2px 4px,var(--ink) 4px 5px,transparent 5px 8px,var(--ink) 8px 11px,transparent 11px 12px,var(--ink) 12px 13px,transparent 13px 16px)}

/* ---------- Services ---------- */
.services{max-width:var(--max);margin:0 auto;padding:clamp(56px,7vw,96px) var(--gutter)}
.services .section-title{margin-bottom:clamp(36px,5vw,64px)}
.service{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:clamp(24px,4vw,64px);padding:clamp(28px,3.5vw,44px) 0;border-top:2px solid var(--ink)}
.service:last-child{border-bottom:2px solid var(--ink)}
.service-name{margin:0;font-family:var(--display);font-stretch:62%;font-weight:800;font-size:clamp(56px,8.4vw,124px);line-height:.84;letter-spacing:-.02em;color:var(--green)}
.service-lede{margin:4px 0 22px;font-size:var(--t-md);line-height:1.45;max-width:30em}
.ticks{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:12px 28px}
.ticks li{position:relative;padding-left:26px;color:var(--ink-2);font-size:16px;line-height:1.45}
.ticks li::before{content:"";position:absolute;left:0;top:.28em;width:15px;height:15px;border-radius:2px;background:var(--tag);box-shadow:inset 0 0 0 1.5px var(--ink)}
.ticks li::after{content:"";position:absolute;left:4.5px;top:calc(.28em + 3px);width:4px;height:7px;border:solid var(--ink);border-width:0 2px 2px 0;transform:rotate(45deg)}

/* ---------- Domain (dark band) ---------- */
.domain{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,5vw,80px);align-items:center;padding:clamp(64px,8vw,112px) max(var(--gutter),calc((100vw - var(--max))/2 + var(--gutter)));background:var(--ink);color:var(--paper)}
.domain a{color:var(--tag)}
.domain-copy p{color:#C9D3CC;font-size:var(--t-md);line-height:1.5;max-width:30em;margin:22px 0 0}
.steps{margin:32px 0 0;padding:0;list-style:none;counter-reset:s;display:grid;gap:16px}
.steps li{counter-increment:s;display:grid;grid-template-columns:36px 1fr;gap:14px;color:#C9D3CC;font-size:16px}
.steps li::before{content:counter(s);display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--tag);color:var(--ink);font:800 14px/1 var(--display)}
.steps strong{color:#fff;font-weight:600}
.dns-panel{margin:0;padding:22px;background:#fff;color:var(--ink);border-radius:8px;box-shadow:0 24px 50px -20px rgba(0,0,0,.6)}
.dns-panel figcaption{font-weight:600;font-size:15px;margin-bottom:14px}
.dns-panel table{width:100%;border-collapse:collapse;font-size:13.5px}
.dns-panel th{text-align:left;font-weight:500;color:var(--ink-3);padding:0 10px 8px 0;border-bottom:1px solid var(--rule)}
.dns-panel td{padding:12px 10px 12px 0;border-bottom:1px solid #E6EAE5;font-family:var(--mono);font-size:13px;word-break:break-all}
.dns-panel td:first-child{font-family:var(--body);font-weight:600}
.dns-done{display:flex;align-items:center;gap:10px;margin:16px 0 0;font-weight:600;color:var(--green)}
.dns-check{width:20px;height:20px;border-radius:50%;background:var(--green);position:relative}
.dns-check::after{content:"";position:absolute;left:7px;top:4px;width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}

/* ---------- People / permissions ---------- */
.people{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,5vw,80px);align-items:start;max-width:var(--max);margin:0 auto;padding:clamp(64px,8vw,112px) var(--gutter)}
.people-lede{margin:22px 0 0;color:var(--ink-2);font-size:var(--t-md);max-width:30em}
.matrix-wrap{overflow-x:auto}
.matrix{width:100%;border-collapse:collapse;font-size:15px;background:var(--receipt);border:2px solid var(--ink)}
.matrix th,.matrix td{padding:13px 16px;text-align:left;border-bottom:1px solid #E3E8E2}
.matrix thead th{background:var(--ink);color:var(--paper);font-weight:600;font-size:14px}
.matrix tbody th{font-weight:500}
.matrix td{width:22%;font-weight:500}
.matrix td.y::before,.matrix td.n::before{content:"";display:inline-block;width:10px;height:10px;margin-right:8px;border-radius:50%;vertical-align:1px}
.matrix td.y::before{background:var(--green)}
.matrix td.n{color:var(--ink-3)}
.matrix td.n::before{border:1.5px solid var(--ink-3)}
.matrix tr:last-child th,.matrix tr:last-child td{border-bottom:0}

/* ---------- FAQ ---------- */
.faq{max-width:var(--max);margin:0 auto;padding:0 var(--gutter) clamp(64px,8vw,112px);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:clamp(24px,4vw,64px)}
.faq-list{border-top:2px solid var(--ink)}
.faq details{border-bottom:1px solid var(--rule)}
.faq summary{display:flex;justify-content:space-between;gap:20px;padding:20px 0;cursor:pointer;list-style:none;font-weight:600;font-size:18px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font:500 24px/1 var(--display);transition:transform .15s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{margin:0 0 22px;max-width:40em;color:var(--ink-2)}

/* ---------- Closing ---------- */
.closing{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:32px;width:min(calc(var(--max) - 2*var(--gutter)),calc(100% - 2*var(--gutter)));margin:0 auto;padding:clamp(48px,6vw,88px) 0;border-top:2px solid var(--ink)}
.closing .display{max-width:14ch}

/* ---------- Footer ---------- */
.site-foot{background:var(--paper-2);border-top:1px solid var(--rule)}
.foot-inner{display:grid;grid-template-columns:2fr 1.4fr 1fr 1fr;gap:24px;max-width:var(--max);margin:0 auto;padding:40px var(--gutter);font-size:var(--t-sm);color:var(--ink-2)}
.foot-inner p{margin:0}
.foot-name{font-family:var(--display);font-stretch:118%;font-weight:800;font-size:18px;color:var(--ink)}
.foot-small{color:var(--ink-3);text-align:right}

/* ---------- Forms (get started, sign in, notices) ---------- */
.form-page{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(32px,5vw,80px);max-width:var(--max);margin:0 auto;padding:clamp(48px,6vw,88px) var(--gutter)}
.form-intro p{color:var(--ink-2);font-size:var(--t-md);max-width:26em;margin:22px 0 0}
.form-intro .form-aside,.form-aside{font-size:15px;color:var(--ink-3)}
.signup{display:grid;gap:20px;padding:clamp(22px,3vw,36px);background:var(--receipt);border:2px solid var(--ink);border-radius:8px}
.row{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.field{display:flex;flex-direction:column;gap:7px;margin:0;padding:0;border:0;font-weight:600;font-size:15px;min-width:0}
.field legend{padding:0;margin-bottom:7px;font-weight:600}
.opt{font-weight:400;color:var(--ink-3)}
.hint{font-weight:400;color:var(--ink-3);font-size:13.5px}
.field input,.field select,.field textarea{width:100%;height:46px;padding:0 13px;border:1.5px solid #AEB9B1;border-radius:5px;background:#fff;color:var(--ink);font:400 16px/1.3 var(--body)}
.field textarea{height:auto;padding:11px 13px;line-height:1.5;resize:vertical}
.field select{appearance:none;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%2315211B' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat right 14px center;padding-right:36px}
.field input:hover,.field select:hover,.field textarea:hover{border-color:var(--ink-2)}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--green);box-shadow:0 0 0 3px rgba(30,90,67,.18)}
.field [aria-invalid="true"]{border-color:var(--bad)}
.field-error{margin:0;color:var(--bad);font-weight:500;font-size:14px}
.form-alert{padding:12px 14px;border-left:4px solid var(--bad);background:#FBEDEC;color:#7A1A14;font-size:15px}
.addr{display:flex;align-items:stretch}
.addr input{border-top-right-radius:0;border-bottom-right-radius:0;min-width:0}
.addr-suffix{display:flex;align-items:center;padding:0 13px;border:1.5px solid #AEB9B1;border-left:0;border-radius:0 5px 5px 0;background:var(--paper);color:var(--ink-2);font:400 15px var(--mono);white-space:nowrap}
.group{margin:0;padding:0;border:0}
.group legend{font-weight:600;font-size:15px;margin-bottom:10px}
.svc-options{display:grid;gap:10px}
.svc-option{display:block;cursor:pointer}
.svc-option input{position:absolute;opacity:0;pointer-events:none}
.svc-option span{display:grid;grid-template-columns:auto 1fr auto;gap:2px 12px;align-items:baseline;padding:14px 16px 14px 46px;border:1.5px solid #AEB9B1;border-radius:6px;position:relative;transition:border-color .12s,background-color .12s}
.svc-option span::before{content:"";position:absolute;left:16px;top:16px;width:18px;height:18px;border:1.5px solid var(--ink);border-radius:3px;background:#fff}
.svc-option input:checked+span{border-color:var(--ink);background:#FFF8DA}
.svc-option input:checked+span::before{background:var(--tag)}
.svc-option input:checked+span::after{content:"";position:absolute;left:22px;top:19px;width:5px;height:9px;border:solid var(--ink);border-width:0 2px 2px 0;transform:rotate(45deg)}
.svc-option input:focus-visible+span{outline:3px solid var(--green);outline-offset:2px}
.svc-option strong{font-weight:600}
.svc-option em{grid-column:3;font-style:normal;font-family:var(--mono);font-size:14px}
.svc-option small{grid-column:1 / -1;color:var(--ink-2);font-size:14px;line-height:1.4}
.pill-row{display:flex;gap:8px;flex-wrap:wrap}
.pill-radio input{position:absolute;opacity:0}
.pill-radio span{display:inline-grid;place-items:center;min-width:54px;height:46px;padding:0 14px;border:1.5px solid #AEB9B1;border-radius:5px;font-weight:500;cursor:pointer}
.pill-radio input:checked+span{border-color:var(--ink);background:var(--tag)}
.pill-radio input:focus-visible+span{outline:3px solid var(--green);outline-offset:2px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.signup>.btn{justify-self:start;margin-top:4px}

.notice-page{max-width:760px;margin:0 auto;padding:clamp(64px,10vw,140px) var(--gutter)}
.notice-page p{font-size:var(--t-md);color:var(--ink-2);margin:22px 0 0;max-width:34em}
.notice-page>.btn{margin-top:32px}
.signin-form{display:grid;gap:18px;margin-top:32px;max-width:520px}
.signin-form .btn{justify-self:start}
.signin .form-aside{font-size:15px}

/* ---------- Responsive ---------- */
@media (max-width:1020px){
  .site-nav{display:none}
  .head-actions{margin-left:auto}
  .hero{grid-template-columns:1fr}
  .receipt-wrap{justify-self:center}
  .service,.domain,.people,.faq,.form-page{grid-template-columns:1fr}
  .foot-inner{grid-template-columns:1fr 1fr}
  .foot-small{text-align:left}
}
@media (max-width:620px){
  body{font-size:16px}
  .ticks,.row{grid-template-columns:1fr}
  .head-actions{gap:12px}
  .site-head{gap:12px}
  .wordmark{font-size:15px;font-stretch:100%;gap:8px}
  .wordmark-tag{width:20px;height:14px}
  .dns-panel{padding:16px}
  .dns-panel td,.dns-panel th{padding-right:6px;font-size:12px}
  .head-actions .btn{height:38px;padding:0 14px}
  .hero-actions .btn{width:100%}
  .closing{flex-direction:column;align-items:flex-start}
  .foot-inner{grid-template-columns:1fr}
  .matrix th,.matrix td{padding:11px 10px;font-size:14px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .js .receipt{animation:none}
  .btn{transition:none}
}

/* ---------- Add-on lines on the receipt ---------- */
.rc-addon[aria-pressed="false"] .rc-name,.rc-addon[aria-pressed="false"] .rc-amt{text-decoration:none;color:var(--ink-3)}
.rc-addon[aria-pressed="false"] .rc-void{background:var(--tag);color:var(--ink)}
.rc-addon{border-top:1px dashed #D4DAD5;border-radius:0}

/* ---------- Sign-in chooser ---------- */
.signin-page{max-width:var(--max);margin:0 auto;padding:clamp(56px,8vw,112px) var(--gutter)}
.signin-choices{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:36px}
.signin-choice{padding:clamp(22px,3vw,34px);background:var(--receipt);border:2px solid var(--ink);border-radius:8px;display:flex;flex-direction:column;align-items:flex-start}
.signin-choice h2{margin:0;font:700 22px/1.2 var(--display);font-stretch:108%;letter-spacing:-.01em}
.signin-choice p{margin:10px 0 24px;color:var(--ink-2)}
.signin-choice .signin-form{margin-top:0;width:100%}
.signin-page .form-aside{margin-top:28px}
@media (max-width:820px){.signin-choices{grid-template-columns:1fr}}
.rc-bundle .rc-amt{grid-column:3}

.signin-form .hint{margin:0;font-size:14px;color:var(--ink-3)}

/* =====================================================================
   Suites, builder, modules, add-ons, floor plans (pricing from the console)
   ===================================================================== */
.cycle{display:inline-flex;padding:4px;border:2px solid var(--ink);border-radius:999px;background:var(--receipt);gap:2px}
.cycle button{height:36px;padding:0 16px;border:0;border-radius:999px;background:none;color:var(--ink-2);font:600 14px/1 var(--body);cursor:pointer;white-space:nowrap}
.cycle button[aria-checked="true"]{background:var(--ink);color:var(--paper)}
.cycle-save{display:inline-block;margin-left:6px;padding:2px 7px;border-radius:999px;background:var(--tag);color:var(--ink);font-size:11.5px}
.cycle-sm{display:flex;margin:12px auto 0;width:max-content;border-width:1.5px}
.cycle-sm button{height:28px;padding:0 12px;font:500 12px/1 var(--mono)}

.suites{max-width:var(--max);margin:0 auto;padding:clamp(56px,7vw,96px) var(--gutter) 0}
.suites-head{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:20px;margin-bottom:clamp(28px,4vw,44px)}
.suite-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:20px;align-items:stretch}
.suite{position:relative;display:flex;flex-direction:column;padding:28px 26px 26px;background:var(--receipt);border:2px solid var(--ink);border-radius:8px;transition:transform .15s,box-shadow .15s}
.suite.is-pick{background:#FFFBE6;box-shadow:0 6px 0 var(--ink)}
.suite.is-on{outline:3px solid var(--green);outline-offset:3px}
.suite-flag{position:absolute;top:-14px;left:22px;margin:0;padding:3px 10px;background:var(--tag);border:2px solid var(--ink);border-radius:4px;font:700 12px/1.3 var(--mono);letter-spacing:.06em;text-transform:uppercase}
.suite h3{margin:0;font-family:var(--display);font-stretch:118%;font-weight:800;font-size:28px;letter-spacing:-.02em}
.suite-tag{margin:6px 0 18px;color:var(--ink-2);font-size:15px;min-height:2.9em}
.suite-price{display:flex;align-items:baseline;gap:2px;margin:0}
.suite-cur{font:600 22px var(--display);align-self:flex-start;margin-top:6px}
.suite-price strong{font-family:var(--display);font-stretch:118%;font-weight:800;font-size:clamp(40px,4.2vw,54px);line-height:1;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.suite-per{margin-left:4px;white-space:nowrap;color:var(--ink-3);font-size:15px}
.suite-was{margin:6px 0 18px;color:var(--green);font-size:14px;font-weight:500}
.suite-inc{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:0 0 18px;padding:0}
.suite-inc li{padding:4px 10px;border:1.5px solid var(--ink);border-radius:999px;font-size:13px;font-weight:600;background:var(--paper)}
.ticks-1{grid-template-columns:1fr!important;gap:9px!important;margin-bottom:22px!important}
.ticks-1 li{font-size:15px!important}
.suite-cta{margin-top:auto;width:100%}
.suites-note{margin:22px 0 0;color:var(--ink-3);font-size:15px}

.rc-sep{margin:8px 0 2px;padding-top:8px;border-top:1px dashed var(--ink-3);color:var(--ink-3);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase}
.rc-name small{color:var(--ink-3);font-size:11px}
.rc-setup,.rc-save{color:var(--ink)!important;font-weight:500}
.rc-save{color:var(--green)!important}
.receipt.flash-in{animation:rcFlash .7s ease-out}
@keyframes rcFlash{0%{box-shadow:0 0 0 6px var(--tag),0 18px 30px -18px rgba(21,33,27,.35)}100%{box-shadow:0 1px 0 var(--rule),0 18px 30px -18px rgba(21,33,27,.35)}}
.js .receipt.flash-in{animation:rcFlash .7s ease-out}

.service-price{margin:18px 0 0;font-size:16px;color:var(--ink-2)}
.service-price strong{font-family:var(--display);font-stretch:118%;font-size:30px;color:var(--ink);letter-spacing:-.02em}
.service-needs{margin:8px 0 0;font-size:14px;color:var(--ink-3);max-width:24em}
.badge{display:inline-block;vertical-align:middle;margin-left:6px;padding:2px 8px;border-radius:4px;background:var(--tag);color:var(--ink);font:700 11px/1.4 var(--mono);font-style:normal;letter-spacing:.06em;text-transform:uppercase;border:1.5px solid var(--ink)}

.addons{max-width:var(--max);margin:0 auto;padding:clamp(56px,7vw,96px) var(--gutter)}
.addons .section-title{margin-bottom:28px}
.addon-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}
.addon{padding:24px;background:var(--receipt);border:1.5px solid var(--rule);border-top:6px solid var(--tag);border-radius:6px}
.addon h3{margin:0;font:800 21px/1.2 var(--display);font-stretch:112%;letter-spacing:-.01em}
.addon-price{margin:8px 0 10px;color:var(--ink-2)}
.addon-price strong{font:800 24px var(--display);color:var(--ink)}
.addon>p:not(.addon-price){margin:0 0 14px;color:var(--ink-2);font-size:15px}

.plans{max-width:var(--max);margin:0 auto;padding:clamp(56px,7vw,96px) var(--gutter);display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,2fr);gap:clamp(28px,4vw,64px);align-items:start}
.plans-copy p{color:var(--ink-2);font-size:var(--t-md);margin:20px 0 0}
.plan-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px}
.plan-card{margin:0;padding:16px;background:#14201A;border-radius:8px;color:#C9D3CC}
.plan-card svg{width:100%;height:auto}
.plan-card figcaption{margin-top:12px;font-size:14px;line-height:1.5}
.plan-card figcaption strong{display:block;color:#fff;font-size:16px;margin-bottom:2px}
.fp-room{fill:rgba(255,255,255,.03);stroke:rgba(255,255,255,.25);stroke-dasharray:4 3}
.fp-t rect,.fp-t circle{stroke-width:2}
.fp-t text{fill:#fff;font:700 13px var(--display);text-anchor:middle}
.fp-t.open rect,.fp-t.open circle{fill:rgba(92,242,168,.2);stroke:#5cf2a8}
.fp-t.seated rect,.fp-t.seated circle{fill:rgba(255,95,122,.25);stroke:#ff5f7a}
.fp-t.reserved rect{fill:rgba(255,195,92,.22);stroke:#ffc35c}
.fp-t.dirty rect{fill:rgba(110,168,255,.2);stroke:#6ea8ff;stroke-dasharray:5 3}

.pricing-hero{max-width:var(--max);margin:0 auto;padding:clamp(48px,6vw,88px) var(--gutter) 0}
.builder{max-width:var(--max);margin:0 auto;padding:clamp(56px,7vw,96px) var(--gutter) 0;display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,380px);gap:clamp(28px,5vw,80px);align-items:start}
.builder-copy p{color:var(--ink-2);font-size:var(--t-md);margin:20px 0 0;max-width:28em}
.compare{max-width:var(--max);margin:0 auto;padding:0 var(--gutter) clamp(56px,7vw,96px)}
.compare .section-title{margin-bottom:24px}
.compare-table th small{display:block;font-weight:400;opacity:.75;font-size:12.5px}
.compare-table td{width:auto}

.suite-picks{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}
.suite-pick{display:grid;gap:2px;padding:12px 14px;text-align:left;border:1.5px solid #AEB9B1;border-radius:6px;background:#fff;cursor:pointer;font:inherit;color:var(--ink)}
.suite-pick strong{font-weight:700}
.suite-pick em{font-style:normal;font-family:var(--mono);font-size:14px}
.suite-pick small{color:var(--ink-3);font-size:12.5px;line-height:1.35}
.suite-pick:hover{border-color:var(--ink)}
.suite-pick[aria-pressed="true"]{border-color:var(--ink);background:#FFF8DA;box-shadow:0 3px 0 var(--ink)}
.plan-summary{margin:28px 0 0;padding:20px 22px;background:var(--receipt);border:2px solid var(--ink);border-radius:8px;font-family:var(--mono);font-size:14px;max-width:360px;position:sticky;top:96px}
.plan-summary h2{margin:0 0 6px;font:800 18px/1.2 var(--display);font-stretch:112%}
.ps-total{margin:0}.ps-total strong{font:800 34px var(--display);font-stretch:118%;letter-spacing:-.02em}
.ps-sub{margin:4px 0 0!important;color:var(--ink-3)!important;font-size:13px!important}
.ps-lines{list-style:none;margin:12px 0 0;padding:10px 0 0;border-top:1px dashed var(--ink-3)}
.ps-lines li{display:flex;justify-content:space-between;gap:10px;padding:2px 0}
.ps-save{color:var(--green)}
.price-note{position:fixed;left:50%;bottom:24px;z-index:50;transform:translate(-50%,20px);opacity:0;padding:12px 18px;background:var(--ink);color:var(--paper);border-radius:6px;font-weight:600;transition:.25s;pointer-events:none}
.price-note.show{opacity:1;transform:translate(-50%,0)}
@media (max-width:1020px){.plans,.builder{grid-template-columns:1fr}.builder .receipt-wrap{justify-self:center}.plan-summary{position:static}}
