:root{
  --teal:#2eaab2;
  --purple:#a779ad;
  --teal-light:#e9f6f7;
  --purple-light:#f6eff8;
  --ink:#161a1d;
  --ink-soft:#586170;
  --ink-faint:#8791a0;
  --line:#e7e9ee;
  --bg:#ffffff;
  --bg-alt:#f8f9fb;
  --grad: linear-gradient(135deg, var(--teal) 0%, var(--purple) 100%);
  --shadow-card: 0 1px 2px rgba(20,24,28,0.04), 0 16px 40px -20px rgba(20,24,28,0.16);
  --shadow-btn: 0 12px 28px -10px rgba(46,170,178,0.45);
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;overflow-x:hidden;width:100%;}
body{margin:0;background:var(--bg);font-family:'DM Sans',system-ui,-apple-system,sans-serif;color:var(--ink);-webkit-font-smoothing:antialiased;overflow-x:hidden;}
h1,h2,h3,h4{font-family:'Plus Jakarta Sans',system-ui,sans-serif;margin:0;letter-spacing:-0.02em;color:var(--ink);}
p{margin:0;}
a{color:var(--teal);text-decoration:none;}
a:hover{color:var(--purple);}
img{max-width:100%;display:block;}
button{font:inherit;}

.container{max-width:1120px;margin:0 auto;padding:0 40px;}
.section{padding:112px 0;position:relative;}
.section-alt{background:var(--bg-alt);}
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:var(--teal);background:var(--teal-light);padding:8px 16px 8px 12px;border-radius:999px;}
.eyebrow-dot{width:6px;height:6px;border-radius:999px;background:var(--grad);}
.h2{font-size:42px;font-weight:800;line-height:1.12;}
.lead{font-size:19px;line-height:1.6;color:var(--ink-soft);font-weight:400;}
.kicker-row{display:flex;flex-direction:column;gap:20px;max-width:680px;margin:0 auto;text-align:center;align-items:center;}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:999px;font-weight:700;font-size:16px;font-family:'DM Sans',sans-serif;padding:17px 32px;white-space:nowrap;border:1.5px solid transparent;line-height:1;cursor:pointer;transition:transform .15s ease, box-shadow .15s ease, opacity .15s ease;}
.btn:hover{transform:translateY(-1px);}
.btn:active{transform:translateY(0);}
.btn-primary{background:var(--grad);color:#fff;box-shadow:var(--shadow-btn);}
.btn-secondary{background:#fff;color:var(--ink);border-color:var(--line);}
.btn-ghost-dark{background:rgba(255,255,255,0.08);color:#fff;border-color:rgba(255,255,255,0.28);}
.btn:disabled{opacity:0.55;cursor:not-allowed;transform:none;}

.card{background:rgba(255,255,255,0.72);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,0.6);border-radius:22px;box-shadow:var(--shadow-card);}
.grid{display:grid;gap:24px;}
.icon-badge{width:48px;height:48px;border-radius:14px;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--teal-light);color:var(--teal);}
.icon-badge--p{background:var(--purple-light);color:var(--purple);}
.platform-badge{width:56px;height:56px;border-radius:16px;background:var(--grad);display:flex;align-items:center;justify-content:center;color:#fff;font-family:'Plus Jakarta Sans',sans-serif;font-weight:800;font-size:14px;letter-spacing:0.01em;box-shadow:0 10px 22px -10px rgba(46,170,178,0.5);flex-shrink:0;}
.tag{display:inline-flex;align-items:center;font-size:13px;font-weight:600;color:var(--ink-soft);background:var(--bg-alt);border:1px solid var(--line);border-radius:999px;padding:6px 12px;}
.check-row{display:flex;align-items:flex-start;gap:12px;}
.check-ic{width:22px;height:22px;border-radius:999px;background:var(--teal-light);display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px;}
.star{color:#f5a524;}
.divider{height:1px;background:var(--line);width:100%;}
.blob{position:absolute;border-radius:999px;filter:blur(70px);z-index:0;pointer-events:none;}

/* header */
.site-header{position:sticky;top:0;z-index:50;border-bottom:1px solid var(--line);background:rgba(255,255,255,0.85);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);}
.site-header .container{display:flex;align-items:center;justify-content:space-between;padding-top:18px;padding-bottom:18px;}
.brand{display:flex;align-items:center;gap:10px;}
.brand-mark{width:34px;height:34px;border-radius:10px;background:var(--grad);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.brand-name{font-family:'Plus Jakarta Sans',sans-serif;font-weight:800;font-size:18px;}

/* forms */
.field{display:flex;flex-direction:column;gap:7px;}
.field label{font-size:12.5px;font-weight:700;color:var(--ink-soft);letter-spacing:0.02em;}
.input, .textarea, select.input{border:1.5px solid var(--line);border-radius:12px;padding:13px 15px;font-size:14.5px;font-family:'DM Sans',sans-serif;color:var(--ink);background:#fff;width:100%;}
.input:focus, .textarea:focus, select.input:focus{outline:2px solid var(--teal);outline-offset:1px;border-color:var(--teal);}
.textarea{min-height:64px;line-height:1.5;resize:vertical;}
.field .hint{font-size:12px;color:var(--ink-faint);}
.step{display:flex;align-items:center;gap:8px;}
.step-dot{width:8px;height:8px;border-radius:999px;}
.section-num{width:30px;height:30px;border-radius:10px;background:var(--grad);color:#fff;font-family:'Plus Jakarta Sans',sans-serif;font-weight:800;font-size:13px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.chip{display:inline-flex;align-items:center;font-size:13px;font-weight:600;color:var(--ink-soft);background:var(--bg-alt);border:1.5px solid var(--line);border-radius:999px;padding:9px 16px;cursor:pointer;user-select:none;}
.chip input{position:absolute;opacity:0;pointer-events:none;}
.chip.is-on{background:var(--teal-light);border-color:var(--teal);color:var(--teal);font-weight:700;}
.color-swatch{width:40px;height:40px;border-radius:10px;border:1px solid var(--line);flex-shrink:0;padding:0;}

/* AI concierge floating button + modal */
.ai-fab{position:fixed;right:24px;bottom:24px;z-index:60;display:flex;align-items:center;gap:12px;background:var(--grad);border-radius:999px;padding:14px 24px 14px 16px;box-shadow:0 16px 32px -10px rgba(46,170,178,0.55);border:none;color:#fff;}
.ai-fab-icon{width:34px;height:34px;border-radius:999px;background:rgba(255,255,255,0.22);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.ai-fab-text{line-height:1.25;text-align:left;}
.ai-fab-title{font-weight:700;font-size:14px;}
.ai-fab-sub{color:rgba(255,255,255,0.8);font-weight:500;font-size:11.5px;}

.modal-overlay{position:fixed;inset:0;background:rgba(15,18,20,0.5);display:none;align-items:center;justify-content:center;z-index:80;padding:24px;}
.modal-overlay.is-open{display:flex;}
.modal{background:#fff;border-radius:20px;max-width:420px;width:100%;padding:28px;box-shadow:0 30px 60px -20px rgba(0,0,0,0.35);}
.modal-close{position:absolute;top:14px;right:14px;background:none;border:none;cursor:pointer;color:var(--ink-faint);}

@media (max-width: 700px){
  .blob{display:none;} /* decorative only — avoids any risk of horizontal overflow on narrow screens */
}
@media (max-width: 880px){
  .container{padding:0 22px;}
  .section{padding:72px 0;}
  .h2{font-size:30px;}
  .btn{white-space:normal;text-align:center;font-size:15px;padding:15px 18px;}
  .grid[data-cols="4"]{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  .grid[data-cols="3"]{grid-template-columns:repeat(1,minmax(0,1fr)) !important;}
  .grid[data-cols="2"]{grid-template-columns:repeat(1,minmax(0,1fr)) !important;}
  .ai-fab-text{display:none;}
  .ai-fab{padding:14px;}
}
@media (max-width: 560px){
  .grid[data-cols="4"]{grid-template-columns:repeat(1,minmax(0,1fr)) !important;}
}
