:root{
  --ink:#0F1526;
  --ink-2:#161D38;
  --ink-3:#1E2748;
  --paper:#F6F2E8;
  --paper-dim:#EAE3D2;
  --amber:#E8A33D;
  --amber-2:#C97B2E;
  --teal:#5FB4A2;
  --text:#F1EEE4;
  --text-dim:#AFB6CC;
  --line:rgba(241,238,228,0.12);
  --line-strong:rgba(241,238,228,0.22);
  --danger:#E2604F;
  --radius:12px;
  --font-display:'Space Grotesk',sans-serif;
  --font-body:'Inter',sans-serif;
  --font-mono:'JetBrains Mono',monospace;
}
*,*::before,*::after{box-sizing:border-box;}
[hidden]{display:none !important;}
html{-webkit-text-size-adjust:100%;}
body{
  margin:0;
  background:
    radial-gradient(circle at 1px 1px, rgba(241,238,228,0.055) 1px, transparent 0) 0 0/28px 28px,
    var(--ink);
  color:var(--text);
  font-family:var(--font-body);
  min-height:100vh;
}
@media (prefers-reduced-motion: reduce){
  *{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;}
}
h1,h2,h3{font-family:var(--font-display);margin:0;letter-spacing:-0.01em;}
p{margin:0;}
button{font-family:inherit;}
input,textarea{font-family:inherit;}
::selection{background:var(--amber);color:var(--ink);}

/* ---------- Layout shell ---------- */
.app{min-height:100vh;display:flex;flex-direction:column;}
.app[hidden]{display:none;}

.topbar{
  position:sticky;top:0;z-index:40;
  display:flex;align-items:center;justify-content:space-between;
  gap:16px;padding:14px 24px;
  background:rgba(15,21,38,0.86);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
.brand{display:flex;align-items:center;gap:10px;}
.brand-mark{
  width:34px;height:34px;border-radius:9px;
  background:linear-gradient(155deg,var(--amber),var(--amber-2));
  color:var(--ink);font-family:var(--font-display);font-weight:700;
  display:flex;align-items:center;justify-content:center;font-size:0.85rem;
  flex-shrink:0;
}
.brand-name{font-family:var(--font-display);font-weight:600;font-size:1.05rem;}
.brand-tag{display:block;font-family:var(--font-mono);font-size:0.68rem;color:var(--text-dim);letter-spacing:0.04em;margin-top:1px;}
.topbar-actions{display:flex;align-items:center;gap:10px;}
.status-pill{
  font-family:var(--font-mono);font-size:0.72rem;letter-spacing:0.03em;
  color:var(--text-dim);border:1px solid var(--line-strong);
  padding:6px 10px;border-radius:999px;display:none;
}
@media (min-width:720px){.status-pill{display:inline-block;}}

.btn{
  appearance:none;border:1px solid transparent;cursor:pointer;
  font-weight:600;font-size:0.88rem;padding:10px 16px;border-radius:9px;
  display:inline-flex;align-items:center;gap:8px;transition:transform .12s ease, opacity .12s ease, background .12s ease, border-color .12s ease;
  white-space:nowrap;
}
.btn:active{transform:translateY(1px);}
.btn-primary{background:var(--amber);color:var(--ink);}
.btn-primary:hover:not(:disabled){background:#F0AF52;}
.btn-primary:disabled{opacity:0.35;cursor:not-allowed;}
.btn-ghost{background:transparent;border-color:var(--line-strong);color:var(--text);}
.btn-ghost:hover{border-color:var(--amber);color:var(--amber);}
.btn-text{background:transparent;border-color:transparent;color:var(--danger);padding:8px 6px;}
.btn-text:hover{text-decoration:underline;}
.btn-sm{padding:7px 12px;font-size:0.8rem;}
.btn svg{flex-shrink:0;}

.workspace{
  flex:1;display:grid;grid-template-columns:1fr;
  max-width:1440px;width:100%;margin:0 auto;
}
@media (min-width:960px){
  .workspace{grid-template-columns:minmax(0,1fr) minmax(0,560px);align-items:start;}
}

/* ---------- Editor column ---------- */
.editor{padding:28px 20px 120px;min-width:0;}
@media (min-width:720px){.editor{padding:36px 40px 60px;}}
.editor-inner{max-width:680px;margin:0 auto;display:flex;flex-direction:column;gap:20px;}

.intro{margin-bottom:4px;}
.intro h1{font-size:1.7rem;font-weight:600;margin-bottom:8px;}
.intro p{color:var(--text-dim);font-size:0.95rem;max-width:52ch;}

.panel{
  background:var(--ink-2);border:1px solid var(--line);border-radius:16px;
  padding:22px 20px;
}
@media (min-width:720px){.panel{padding:28px;}}
.panel-head{display:flex;gap:14px;margin-bottom:18px;}
.step-tag{
  font-family:var(--font-mono);font-size:0.78rem;color:var(--ink);
  background:var(--teal);width:30px;height:30px;border-radius:8px;
  display:flex;align-items:center;justify-content:center;flex-shrink:0;font-weight:600;
}
.panel-head h2{font-size:1.08rem;font-weight:600;margin-bottom:4px;}
.panel-head p{color:var(--text-dim);font-size:0.86rem;line-height:1.5;}

/* Business type grid */
.type-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;}
@media (min-width:520px){.type-grid{grid-template-columns:repeat(3,1fr);}}
.type-card{
  border:1px solid var(--line-strong);background:var(--ink-3);
  border-radius:12px;padding:14px 12px;cursor:pointer;text-align:left;
  color:var(--text);transition:border-color .12s ease, background .12s ease;
  display:flex;flex-direction:column;gap:8px;
}
.type-card svg{color:var(--amber);}
.type-card span{font-size:0.82rem;font-weight:600;line-height:1.3;}
.type-card:hover{border-color:var(--amber);}
.type-card.is-active{border-color:var(--amber);background:rgba(232,163,61,0.12);}

/* Theme grid */
.theme-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;}
@media (min-width:520px){.theme-grid{grid-template-columns:repeat(3,1fr);}}
.theme-card{
  border:1px solid var(--line-strong);border-radius:12px;overflow:hidden;
  cursor:pointer;background:var(--ink-3);text-align:left;transition:border-color .12s ease;
}
.theme-card:hover{border-color:var(--amber);}
.theme-card.is-active{border-color:var(--amber);box-shadow:0 0 0 1px var(--amber);}
.theme-swatch{height:46px;display:flex;}
.theme-swatch span{flex:1;}
.theme-label{padding:8px 10px;font-size:0.78rem;font-weight:600;}

/* Logo upload */
.logo-upload{display:flex;align-items:center;gap:16px;flex-wrap:wrap;}
.logo-preview{
  width:66px;height:66px;border-radius:12px;border:1px dashed var(--line-strong);
  display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0;
  background:var(--ink-3);color:var(--text-dim);
}
.logo-preview img{width:100%;height:100%;object-fit:cover;}
.logo-actions{display:flex;align-items:center;gap:4px;flex-wrap:wrap;}
.upload-hint{font-size:0.76rem;color:var(--text-dim);width:100%;margin-top:2px;}

/* Fields */
.field-grid{display:grid;grid-template-columns:1fr;gap:14px;}
@media (min-width:560px){.field-grid{grid-template-columns:1fr 1fr;}}
.field{display:flex;flex-direction:column;gap:6px;font-size:0.82rem;color:var(--text-dim);}
.field-wide{grid-column:1/-1;}
.field span{font-weight:600;color:var(--text);}
.field input,.field textarea{
  background:var(--ink);border:1px solid var(--line-strong);color:var(--text);
  border-radius:8px;padding:10px 12px;font-size:0.9rem;resize:vertical;
  transition:border-color .12s ease;
}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--amber);}
.field input::placeholder,.field textarea::placeholder{color:#5c6480;}

/* Services */
.services-list{display:flex;flex-direction:column;gap:12px;margin-bottom:14px;}
.service-row{
  border:1px solid var(--line-strong);border-radius:12px;padding:14px;
  background:var(--ink-3);display:flex;flex-direction:column;gap:10px;
}
.service-row-top{display:flex;justify-content:space-between;align-items:center;gap:8px;}
.service-row-top span{font-family:var(--font-mono);font-size:0.72rem;color:var(--text-dim);}
.service-fields{display:grid;grid-template-columns:1fr;gap:8px;}
@media (min-width:560px){.service-fields{grid-template-columns:1.4fr 0.8fr;}}
.service-fields input,.service-fields textarea{
  background:var(--ink);border:1px solid var(--line-strong);color:var(--text);
  border-radius:7px;padding:9px 10px;font-size:0.86rem;width:100%;
}
.service-fields textarea{grid-column:1/-1;resize:vertical;}
.icon-btn{
  background:transparent;border:none;color:var(--text-dim);cursor:pointer;
  width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:6px;
}
.icon-btn:hover{color:var(--danger);background:rgba(226,96,79,0.12);}

/* ---------- Preview column ---------- */
.preview{
  display:none;border-left:1px solid var(--line);
  background:linear-gradient(180deg,rgba(255,255,255,0.02),transparent 200px);
}
@media (min-width:960px){
  .preview{display:block;position:sticky;top:66px;height:calc(100vh - 66px);}
}
.app.show-preview .preview{display:block;}
.preview-inner{height:100%;display:flex;flex-direction:column;padding:20px;}
.browser-chrome{
  background:var(--ink-3);border:1px solid var(--line-strong);
  border-radius:10px 10px 0 0;padding:9px 12px;display:flex;align-items:center;gap:10px;
}
.chrome-dots{display:flex;gap:5px;flex-shrink:0;}
.chrome-dots span{width:9px;height:9px;border-radius:50%;background:var(--line-strong);}
.chrome-dots span:nth-child(1){background:#E2604F;}
.chrome-dots span:nth-child(2){background:var(--amber);}
.chrome-dots span:nth-child(3){background:var(--teal);}
.chrome-url{
  font-family:var(--font-mono);font-size:0.74rem;color:var(--text-dim);
  background:var(--ink);border-radius:6px;padding:4px 10px;flex:1;overflow:hidden;
  text-overflow:ellipsis;white-space:nowrap;
}
.preview-tabs{
  display:flex;gap:2px;background:var(--ink-3);border-left:1px solid var(--line-strong);
  border-right:1px solid var(--line-strong);padding:0 8px;
}
.preview-tab{
  background:transparent;border:none;color:var(--text-dim);cursor:pointer;
  padding:9px 12px;font-size:0.78rem;font-weight:600;border-bottom:2px solid transparent;
}
.preview-tab.is-active{color:var(--amber);border-bottom-color:var(--amber);}
.preview-frame-wrap{
  flex:1;border:1px solid var(--line-strong);border-top:none;border-radius:0 0 10px 10px;
  overflow:hidden;background:#fff;min-height:300px;
}
#previewFrame{width:100%;height:100%;border:none;display:block;}

/* Mobile tab bar */
.mobile-tabbar{
  position:fixed;bottom:0;left:0;right:0;z-index:50;
  display:flex;background:rgba(22,29,56,0.94);backdrop-filter:blur(10px);
  border-top:1px solid var(--line-strong);padding:8px 14px calc(8px + env(safe-area-inset-bottom));
  gap:8px;
}
@media (min-width:960px){.mobile-tabbar{display:none;}}
.tabbar-btn{
  flex:1;background:transparent;border:1px solid var(--line-strong);color:var(--text-dim);
  padding:10px;border-radius:9px;font-weight:600;font-size:0.86rem;cursor:pointer;
}
.tabbar-btn.is-active{border-color:var(--amber);color:var(--amber);background:rgba(232,163,61,0.1);}

@media (max-width:959px){
  .editor{display:block;}
  .app.show-preview .editor{display:none;}
  .preview{display:none;position:fixed;inset:66px 0 68px 0;z-index:30;border-left:none;}
  .app.show-preview .preview{display:block;}
  .preview-inner{padding:14px;}
}

/* Toast */
.toast{
  position:fixed;bottom:88px;left:50%;transform:translateX(-50%) translateY(20px);
  background:var(--teal);color:var(--ink);padding:12px 20px;border-radius:10px;
  font-weight:600;font-size:0.86rem;opacity:0;pointer-events:none;transition:opacity .2s ease, transform .2s ease;
  z-index:60;box-shadow:0 10px 30px rgba(0,0,0,0.35);
}
.toast.is-visible{opacity:1;transform:translateX(-50%) translateY(0);}
@media (min-width:960px){.toast{bottom:24px;}}

/* ---------- Small phones (<400px) ---------- */
@media (max-width:400px){
  .topbar{padding:12px 14px;gap:8px;flex-wrap:wrap;}
  .brand-tag{display:none;}
  .brand-name{font-size:0.92rem;}
  .brand-mark{width:30px;height:30px;font-size:0.76rem;}
  .topbar-actions{gap:6px;flex-basis:100%;justify-content:flex-end;}
  .topbar-actions .btn{padding:9px 11px;font-size:0.8rem;}
  .account-pill{padding:4px 4px 4px 8px;}
  .account-pill strong{max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-block;vertical-align:middle;}
  .editor{padding-left:14px;padding-right:14px;}
  .panel{padding:16px 14px;}
  .intro h1{font-size:1.4rem;}
  .type-grid,.theme-grid{gap:8px;}
  .type-card{padding:11px 9px;}
  .preview-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch;}
}

/* ---------- Account pill (topbar, signed-in) ---------- */
.account-pill{
  display:flex;align-items:center;gap:8px;
  border:1px solid var(--line-strong);border-radius:999px;
  padding:5px 6px 5px 10px;font-size:0.8rem;color:var(--text-dim);
}
.account-pill strong{color:var(--text);font-weight:600;}
.account-pill .icon-btn{width:26px;height:26px;color:var(--text-dim);}
.account-pill .icon-btn:hover{color:var(--danger);}

/* ---------- Image upload rows (Images step) ---------- */
.image-upload-row{
  display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:16px;
}
.image-upload-row:last-child{margin-bottom:0;}
.image-upload-preview{
  width:96px;height:72px;border-radius:10px;border:1px dashed var(--line-strong);
  display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0;
  background:var(--ink-3);color:var(--text-dim);
}
.image-upload-preview img{width:100%;height:100%;object-fit:cover;}
.image-upload-meta{display:flex;flex-direction:column;gap:2px;}
.image-upload-meta span{font-size:0.86rem;font-weight:600;color:var(--text);}
.image-upload-meta small{font-size:0.76rem;color:var(--text-dim);}
.image-upload-actions{display:flex;align-items:center;gap:4px;flex-wrap:wrap;margin-left:auto;}
.gallery-upload-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px;}
.gallery-upload-slot{
  position:relative;aspect-ratio:4/3;border-radius:10px;border:1px dashed var(--line-strong);
  overflow:hidden;background:var(--ink-3);cursor:pointer;
  display:flex;align-items:center;justify-content:center;color:var(--text-dim);
}
.gallery-upload-slot img{width:100%;height:100%;object-fit:cover;}
.gallery-upload-slot.has-image{cursor:default;border-style:solid;}
.gallery-upload-slot .icon-btn{
  position:absolute;top:4px;right:4px;background:rgba(15,21,38,0.7);color:#fff;
}
.image-source-note{font-size:0.76rem;color:var(--text-dim);margin-top:12px;line-height:1.5;}
.upload-spinner-text{font-family:var(--font-mono);font-size:0.68rem;color:var(--text-dim);text-align:center;padding:0 4px;}

/* ---------- Boot loading (shown until Firebase resolves auth state) ---------- */
.boot-loading{
  min-height:100vh;display:flex;align-items:center;justify-content:center;
  color:var(--text-dim);font-family:var(--font-mono);font-size:0.86rem;letter-spacing:0.03em;
}
.boot-loading[hidden]{display:none;}
.boot-loading.is-error{
  flex-direction:column;gap:10px;text-align:center;padding:24px;color:var(--text);
}
.boot-loading.is-error span{color:var(--text-dim);max-width:440px;line-height:1.6;}
.boot-loading.is-error strong{color:var(--danger);font-family:var(--font-display);font-size:1rem;letter-spacing:0;}

/* ---------- Auth / landing screen ---------- */
.auth-screen{min-height:100vh;display:flex;flex-direction:column;}
.auth-screen[hidden]{display:none;}
.auth-topbar{
  display:flex;align-items:center;justify-content:space-between;
  padding:20px 24px;max-width:1160px;width:100%;margin:0 auto;
}
.auth-main{
  flex:1;display:grid;grid-template-columns:1fr;gap:48px;
  max-width:1160px;width:100%;margin:0 auto;padding:20px 24px 60px;align-items:center;
}
@media (min-width:900px){.auth-main{grid-template-columns:1.1fr 0.9fr;padding:40px 24px 80px;}}
.auth-pitch h1{font-size:clamp(1.9rem,4.2vw,2.7rem);margin-bottom:14px;}
.auth-pitch p{color:var(--text-dim);font-size:1rem;max-width:48ch;margin-bottom:26px;}
.auth-feature-list{display:flex;flex-direction:column;gap:16px;margin-bottom:0;}
.auth-feature{display:flex;gap:12px;align-items:flex-start;}
.auth-feature-icon{
  width:34px;height:34px;border-radius:9px;background:var(--ink-2);border:1px solid var(--line-strong);
  color:var(--amber);display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.auth-feature strong{display:block;font-size:0.92rem;margin-bottom:2px;}
.auth-feature span{font-size:0.85rem;color:var(--text-dim);}
.auth-showcase{
  border-radius:16px;overflow:hidden;border:1px solid var(--line);margin-top:32px;
  display:none;
}
@media (min-width:640px){.auth-showcase{display:block;}}
.auth-showcase img{width:100%;height:220px;object-fit:cover;display:block;}

.auth-card{
  background:var(--ink-2);border:1px solid var(--line);border-radius:18px;
  padding:28px 26px;width:100%;max-width:420px;justify-self:center;
}
.auth-card-head{margin-bottom:20px;}
.auth-card-head h2{font-size:1.25rem;font-weight:600;margin-bottom:6px;}
.auth-card-head p{color:var(--text-dim);font-size:0.86rem;}
.auth-form{display:flex;flex-direction:column;gap:14px;}
.auth-field{display:flex;flex-direction:column;gap:6px;font-size:0.82rem;color:var(--text-dim);}
.auth-field span{font-weight:600;color:var(--text);}
.auth-input-wrap{position:relative;display:flex;align-items:center;}
.auth-input-wrap svg{position:absolute;left:12px;color:var(--text-dim);pointer-events:none;}
.auth-field input{
  width:100%;background:var(--ink);border:1px solid var(--line-strong);color:var(--text);
  border-radius:8px;padding:10px 12px 10px 38px;font-size:0.9rem;transition:border-color .12s ease;
}
.auth-field input:focus{outline:none;border-color:var(--amber);}
.auth-mode-banner{
  display:flex;align-items:center;gap:8px;font-size:0.8rem;color:var(--teal);
  background:rgba(95,180,162,0.12);border:1px solid rgba(95,180,162,0.3);
  border-radius:8px;padding:8px 10px;margin-bottom:2px;
}
.auth-error{font-size:0.8rem;color:var(--danger);min-height:1.1em;margin:0;}
.auth-submit{width:100%;justify-content:center;margin-top:4px;}
.auth-switch{text-align:center;font-size:0.84rem;color:var(--text-dim);margin-top:18px;}
.auth-switch button{
  background:none;border:none;color:var(--amber);font-weight:600;cursor:pointer;
  font-size:inherit;padding:0;text-decoration:underline;
}
.auth-note{font-size:0.74rem;color:var(--text-dim);margin-top:16px;line-height:1.5;text-align:center;}
.auth-eyebrow{font-family:var(--font-mono);font-size:0.72rem;letter-spacing:0.08em;color:var(--amber);font-weight:600;margin-bottom:10px;}
.auth-topnav{display:none;align-items:center;gap:22px;font-size:0.86rem;color:var(--text-dim);}
.auth-topnav a{color:var(--text-dim);}
.auth-topnav a:hover{color:var(--amber);}
@media (min-width:820px){.auth-topnav{display:flex;}}

/* ---------- Landing marketing sections ---------- */
.landing-inner{max-width:1160px;width:100%;margin:0 auto;padding:0 24px;}
.landing-section{padding:64px 0;}
.landing-section-alt{background:var(--ink-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.section-eyebrow{font-family:var(--font-mono);font-size:0.74rem;letter-spacing:0.08em;color:var(--amber);font-weight:600;margin-bottom:10px;text-transform:uppercase;}
.section-title{font-size:clamp(1.5rem,3.4vw,2.1rem);max-width:640px;margin-bottom:36px;}

.stats-bar{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--ink-2);}
.stats-inner{max-width:1160px;margin:0 auto;padding:28px 24px;display:grid;grid-template-columns:repeat(2,1fr);gap:24px;text-align:center;}
@media (min-width:720px){.stats-inner{grid-template-columns:repeat(4,1fr);}}
.stat strong{display:block;font-family:var(--font-display);font-size:1.6rem;color:var(--amber);}
.stat span{display:block;font-size:0.78rem;color:var(--text-dim);margin-top:4px;}

.steps-grid{display:grid;grid-template-columns:1fr;gap:20px;}
@media (min-width:760px){.steps-grid{grid-template-columns:repeat(3,1fr);}}
.step-card{background:var(--ink-2);border:1px solid var(--line);border-radius:14px;padding:24px;}
.step-num{font-family:var(--font-mono);color:var(--teal);font-size:0.82rem;font-weight:600;}
.step-card h3{font-size:1.05rem;margin:10px 0 8px;}
.step-card p{color:var(--text-dim);font-size:0.88rem;line-height:1.55;}

.type-showcase{display:flex;flex-wrap:wrap;gap:12px;}
.type-chip{display:flex;align-items:center;gap:10px;background:var(--ink-3);border:1px solid var(--line-strong);border-radius:999px;padding:10px 16px 10px 12px;font-size:0.86rem;font-weight:600;color:var(--text);}
.type-chip-icon{width:26px;height:26px;border-radius:7px;background:rgba(232,163,61,0.14);color:var(--amber);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.type-chip-icon svg{width:16px;height:16px;}

.feature-grid-landing{display:grid;grid-template-columns:1fr;gap:24px;}
@media (min-width:640px){.feature-grid-landing{grid-template-columns:repeat(2,1fr);}}
@media (min-width:980px){.feature-grid-landing{grid-template-columns:repeat(3,1fr);}}
.landing-feature{background:var(--ink-2);border:1px solid var(--line);border-radius:14px;padding:22px;}
.landing-feature-icon{width:36px;height:36px;border-radius:9px;background:rgba(95,180,162,0.14);color:var(--teal);display:flex;align-items:center;justify-content:center;margin-bottom:14px;}
.landing-feature h3{font-size:1rem;margin-bottom:6px;}
.landing-feature p{color:var(--text-dim);font-size:0.86rem;line-height:1.55;}

.ai-photo-band{padding:64px 0;background:linear-gradient(155deg,rgba(232,163,61,0.1),rgba(95,180,162,0.06));border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.ai-photo-inner{display:grid;grid-template-columns:1fr;gap:32px;align-items:center;}
@media (min-width:900px){.ai-photo-inner{grid-template-columns:0.9fr 1.1fr;}}
.ai-photo-text{color:var(--text-dim);font-size:0.94rem;line-height:1.6;max-width:52ch;}
.ai-photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;}
.ai-photo-grid img{width:100%;height:100%;object-fit:cover;border-radius:12px;border:1px solid var(--line-strong);aspect-ratio:3/4;}

.testimonial-grid{display:grid;grid-template-columns:1fr;gap:20px;}
@media (min-width:760px){.testimonial-grid{grid-template-columns:repeat(3,1fr);}}
.testimonial-card{background:var(--ink-3);border:1px solid var(--line-strong);border-radius:14px;padding:22px;}
.testimonial-card p{font-size:0.9rem;color:var(--text);line-height:1.6;margin-bottom:16px;}
.testimonial-who strong{display:block;font-size:0.88rem;}
.testimonial-who span{font-size:0.78rem;color:var(--text-dim);}

.pricing-cta{text-align:center;max-width:560px;margin:0 auto;}
.pricing-cta .section-title{margin:0 auto 14px;}
.pricing-text{color:var(--text-dim);font-size:0.94rem;margin-bottom:26px;}

.faq-list{display:flex;flex-direction:column;gap:10px;max-width:760px;}
.faq-item{background:var(--ink-3);border:1px solid var(--line-strong);border-radius:12px;padding:14px 18px;}
.faq-item summary{cursor:pointer;font-weight:600;font-size:0.92rem;list-style:none;display:flex;justify-content:space-between;align-items:center;}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{content:'+';font-size:1.2rem;color:var(--amber);margin-left:12px;}
.faq-item[open] summary::after{content:'–';}
.faq-item p{color:var(--text-dim);font-size:0.86rem;margin-top:12px;line-height:1.55;}

.landing-footer{border-top:1px solid var(--line);padding:32px 0;}
.landing-footer-inner{display:flex;flex-direction:column;gap:16px;align-items:flex-start;}
@media (min-width:640px){.landing-footer-inner{flex-direction:row;flex-wrap:wrap;justify-content:space-between;align-items:center;}}
.landing-footer p{font-size:0.8rem;color:var(--text-dim);}
.footer-contact{display:flex;gap:16px;flex-wrap:wrap;order:2;}
@media (min-width:640px){.footer-contact{order:0;}}
.footer-contact-link{display:inline-flex;align-items:center;gap:6px;font-size:0.82rem;color:var(--text-dim);font-weight:600;}
.footer-contact-link svg{width:16px;height:16px;color:var(--teal);flex-shrink:0;}
.footer-contact-link:hover{color:var(--amber);}
.footer-legal{display:flex;gap:14px;flex-wrap:wrap;order:3;}
@media (min-width:640px){.footer-legal{order:0;}}
.footer-legal-link{background:none;border:none;padding:0;font-size:0.8rem;color:var(--text-dim);cursor:pointer;font-family:inherit;text-decoration:underline;text-underline-offset:2px;}
.footer-legal-link:hover{color:var(--amber);}

.legal-modal{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:20px;}
.legal-modal[hidden]{display:none;}
.legal-modal-backdrop{position:absolute;inset:0;background:rgba(6,9,18,0.72);backdrop-filter:blur(2px);}
.legal-modal-panel{position:relative;background:var(--ink-2);border:1px solid var(--line-strong);border-radius:16px;max-width:640px;width:100%;max-height:82vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,0.4);}
.legal-modal-head{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid var(--line);flex-shrink:0;}
.legal-modal-head h3{font-size:1.05rem;}
.legal-modal-close{background:none;border:none;color:var(--text-dim);font-size:1.5rem;line-height:1;cursor:pointer;padding:4px 8px;border-radius:6px;}
.legal-modal-close:hover{color:var(--amber);}
.legal-modal-body{padding:20px 22px 26px;overflow-y:auto;font-size:0.86rem;color:var(--text-dim);line-height:1.65;}
.legal-modal-body h4{color:var(--text);font-size:0.92rem;margin:18px 0 8px;}
.legal-modal-body h4:first-child{margin-top:0;}
.legal-modal-body p{margin-bottom:10px;}
.legal-modal-body ul{margin:0 0 10px;padding-left:20px;}
.legal-modal-body li{margin-bottom:6px;}