:root {
  --background: 42 43% 96%;
  --foreground: 167 28% 17%;
  --border: 38 22% 85%;
  --input: 38 22% 85%;
  --ring: 15 76% 55%;
  --primary: 15 76% 55%;
  --primary-foreground: 42 43% 96%;
  --secondary: 157 25% 89%;
  --secondary-foreground: 167 28% 17%;
  --muted: 42 30% 92%;
  --muted-foreground: 165 10% 42%;
  --accent: 45 83% 68%;
  --accent-foreground: 167 28% 17%;
  --destructive: 0 66% 48%;
  --destructive-foreground: 42 43% 96%;
  --card: 42 40% 98%;
  --card-foreground: 167 28% 17%;
  --popover: 42 40% 98%;
  --popover-foreground: 167 28% 17%;
  --radius: 1rem;
  --app-font-sans: 'DM Sans', system-ui, -apple-system, 'Segoe UI', 'Noto Sans Devanagari', Roboto, sans-serif;
  --app-font-serif: 'Fraunces', Georgia, serif;
  --app-font-mono: 'DM Mono', monospace;
  font-family: var(--app-font-sans);
  color-scheme: light;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: hsl(var(--background)); color: hsl(var(--foreground)); font-family: var(--app-font-sans); }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }
button:focus-visible, a:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible { outline: 3px solid hsl(var(--primary) / .35); outline-offset: 2px; }
.serif { font-family: var(--app-font-serif); }
.mono { font-family: var(--app-font-mono); }
.page-shell { max-width: 1220px; margin: 0 auto; padding: 0 32px; }
.topbar { height: 78px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid hsl(var(--border)); }
.brand { display:flex; align-items:center; gap:11px; color:inherit; text-decoration:none; font-weight:700; letter-spacing:-.04em; font-size:20px; }
.brand-mark { width:36px; height:36px; border-radius:12px 12px 12px 4px; display:grid; place-items:center; background:hsl(var(--foreground)); color:hsl(var(--accent)); font-family:var(--app-font-serif); font-size:23px; }
.top-actions { display:flex; align-items:center; gap:18px; }
.nav-link { color:hsl(var(--muted-foreground)); text-decoration:none; font-size:13px; font-weight:600; }
.lang-toggle { display:flex; border:1px solid hsl(var(--border)); padding:3px; gap:2px; border-radius:999px; background:hsl(var(--card)); }
.lang-toggle button { border:0; background:transparent; padding:7px 12px; border-radius:999px; color:hsl(var(--muted-foreground)); font-size:12px; font-weight:700; }
.lang-toggle button.active { background:hsl(var(--foreground)); color:hsl(var(--background)); }
.hero { position:relative; overflow:hidden; padding:70px 0 54px; display:grid; grid-template-columns:1.1fr .9fr; gap:44px; align-items:center; }
.hero:after { content:''; position:absolute; width:380px; height:380px; right:-145px; top:-160px; border:1px solid hsl(var(--primary) / .18); border-radius:50%; box-shadow:0 0 0 35px hsl(var(--primary) / .035),0 0 0 70px hsl(var(--primary) / .025); pointer-events:none; }
.eyebrow { display:inline-flex; align-items:center; gap:9px; color:hsl(var(--primary)); text-transform:uppercase; letter-spacing:.13em; font-size:10px; font-weight:700; }
.eyebrow-dot { width:7px; height:7px; border-radius:50%; background:hsl(var(--primary)); }
.hero h1 { max-width:690px; margin:21px 0 17px; font-family:var(--app-font-serif); font-size:clamp(46px,6.7vw,82px); letter-spacing:-.055em; line-height:.99; font-weight:500; }
.hero h1 em { color:hsl(var(--primary)); font-weight:500; }
.hero-copy { max-width:510px; color:hsl(var(--muted-foreground)); font-size:16px; line-height:1.75; }
.hero-cta { display:flex; gap:12px; align-items:center; margin-top:28px; }
.button-primary,.button-secondary,.button-quiet { min-height:46px; padding:0 19px; border-radius:9px; border:1px solid transparent; display:inline-flex; align-items:center; justify-content:center; gap:9px; font-weight:700; font-size:13px; transition:transform .18s, background .18s, border-color .18s; text-decoration:none; }
.button-primary { background:hsl(var(--primary)); color:#fffaf2; box-shadow:0 6px 16px hsl(var(--primary) / .18); }
.button-primary:hover { transform:translateY(-2px); background:hsl(15 76% 49%); }
.button-secondary { background:hsl(var(--card)); border-color:hsl(var(--border)); color:hsl(var(--foreground)); }
.button-secondary:hover,.button-quiet:hover { border-color:hsl(var(--primary) / .5); transform:translateY(-1px); }
.button-quiet { min-height:38px; padding:0 12px; background:transparent; border-color:hsl(var(--border)); color:hsl(var(--foreground)); font-size:12px; }
.hero-note { margin-top:19px; color:hsl(var(--muted-foreground)); font-size:11px; }
.hero-art { position:relative; min-height:290px; display:grid; place-items:center; }
.hero-orbit { position:absolute; border:1px solid hsl(var(--foreground) / .11); width:290px; height:290px; border-radius:50%; transform:rotate(-23deg) scaleY(.72); }
.hero-orbit:before,.hero-orbit:after { content:''; position:absolute; inset:22px; border:1px dashed hsl(var(--foreground) / .12); border-radius:50%; }
.hero-orbit:after { inset:48px; border-style:solid; }
.quote-art-card { position:relative; z-index:1; width:min(330px, 90%); padding:23px; border:1px solid hsl(var(--border)); border-radius:15px; background:hsl(var(--card)); box-shadow:0 18px 45px hsl(166 25% 18% / .10); transform:rotate(2deg); animation:float-card 6s ease-in-out infinite; }
.art-top { display:flex; align-items:center; justify-content:space-between; font-size:10px; color:hsl(var(--muted-foreground)); text-transform:uppercase; letter-spacing:.1em; }
.art-seal { display:grid; place-items:center; width:30px; height:30px; border-radius:50%; color:hsl(var(--primary)); background:hsl(var(--primary) / .1); }
.art-name { font-family:var(--app-font-serif); font-size:25px; margin:15px 0 4px; }
.art-line { height:1px; background:hsl(var(--border)); margin:14px 0; }
.art-row { display:flex; justify-content:space-between; font-size:11px; margin:9px 0; color:hsl(var(--muted-foreground)); }
.art-total { display:flex; justify-content:space-between; font-weight:700; font-size:15px; color:hsl(var(--foreground)); }
.art-stamp { position:absolute; right:-18px; bottom:20px; z-index:2; background:hsl(var(--accent)); padding:12px 15px; border-radius:10px 10px 10px 2px; font-size:11px; font-weight:700; transform:rotate(-5deg); box-shadow:0 7px 18px hsl(42 45% 25% / .12); }
.section-heading { display:flex; justify-content:space-between; align-items:end; gap:20px; margin:36px 0 18px; }
.section-kicker { font-size:10px; text-transform:uppercase; letter-spacing:.14em; color:hsl(var(--primary)); font-weight:700; margin-bottom:8px; }
.section-heading h2 { font:500 clamp(27px,3vw,38px)/1.08 var(--app-font-serif); letter-spacing:-.035em; margin:0; }
.section-heading p { color:hsl(var(--muted-foreground)); font-size:13px; margin:0 0 3px; max-width:330px; line-height:1.6; }
.tool-section { padding:20px 0 70px; scroll-margin-top:24px; }
.tool-grid { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(330px,.9fr); gap:20px; align-items:start; }
.panel { border:1px solid hsl(var(--border)); border-radius:15px; background:hsl(var(--card)); box-shadow:0 4px 15px hsl(167 25% 20% / .035); }
.form-panel { padding:25px; }
.panel-heading { display:flex; align-items:center; gap:12px; margin-bottom:22px; }
.step-number { width:31px; height:31px; display:grid; place-items:center; background:hsl(var(--secondary)); color:hsl(var(--foreground)); border-radius:9px; font:500 13px var(--app-font-mono); }
.panel-heading h3 { margin:0; font-size:16px; letter-spacing:-.02em; }
.panel-heading p { margin:3px 0 0; color:hsl(var(--muted-foreground)); font-size:11px; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px 14px; }
.field { display:flex; flex-direction:column; gap:7px; }
.field.full { grid-column:1 / -1; }
.field label { color:hsl(var(--foreground)); font-size:11px; font-weight:700; }
.field label .optional { color:hsl(var(--muted-foreground)); font-weight:500; }
.field input,.field textarea,.field select { min-height:43px; width:100%; padding:11px 12px; border:1px solid hsl(var(--border)); border-radius:8px; background:#fffdf8; color:hsl(var(--foreground)); font-size:13px; transition:border .15s,box-shadow .15s; }
.field textarea { min-height:83px; resize:vertical; line-height:1.55; }
.field input:focus,.field textarea:focus,.field select:focus { outline:0; border-color:hsl(var(--primary) / .65); box-shadow:0 0 0 3px hsl(var(--primary) / .08); }
.field input::placeholder,.field textarea::placeholder { color:hsl(var(--muted-foreground) / .65); }
.field-error { font-size:10px; color:hsl(var(--destructive)); min-height:12px; }
.money-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:11px; }
.money-wrap { position:relative; }
.money-prefix { position:absolute; top:13px; left:11px; color:hsl(var(--muted-foreground)); font-size:12px; }
.money-wrap input { padding-left:26px; }
.form-actions { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px; align-items:center; margin-top:18px; }
.form-submit { width:100%; margin-top:0; }
.clear-button { min-height:46px; }
.preview-panel { overflow:hidden; position:sticky; top:18px; }
.preview-top { display:flex; justify-content:space-between; align-items:center; padding:19px 21px; border-bottom:1px solid hsl(var(--border)); }
.preview-label { display:flex; align-items:center; gap:9px; font-weight:700; font-size:13px; }
.preview-led { width:7px; height:7px; background:#66957c; border-radius:50%; box-shadow:0 0 0 4px hsl(145 26% 55% / .12); }
.live-tag { font:10px var(--app-font-mono); color:hsl(var(--muted-foreground)); text-transform:uppercase; letter-spacing:.08em; }
.quote-paper { padding:25px 25px 21px; background:linear-gradient(180deg,#fffdf8,#fcf8ef); min-height:395px; }
.quote-brandline { display:flex; justify-content:space-between; gap:10px; align-items:start; }
.quote-brand { font-family:var(--app-font-serif); font-size:19px; }
.quote-number { font:10px var(--app-font-mono); color:hsl(var(--muted-foreground)); text-align:right; }
.quote-to { color:hsl(var(--muted-foreground)); margin:22px 0 3px; font-size:10px; text-transform:uppercase; letter-spacing:.12em; }
.quote-customer { font-weight:700; font-size:16px; }
.quote-service { margin-top:18px; padding:13px 0; border-top:1px solid hsl(var(--border)); border-bottom:1px solid hsl(var(--border)); }
.quote-service-title { font-weight:700; font-size:13px; margin-bottom:5px; }
.quote-desc { white-space:pre-wrap; color:hsl(var(--muted-foreground)); font-size:11px; line-height:1.55; }
.quote-item { display:flex; justify-content:space-between; gap:14px; padding:9px 0; color:hsl(var(--muted-foreground)); font-size:11px; border-bottom:1px dashed hsl(var(--border)); }
.quote-item strong { color:hsl(var(--foreground)); font-weight:600; white-space:nowrap; }
.quote-total { display:flex; align-items:center; justify-content:space-between; padding-top:15px; font-size:12px; font-weight:700; }
.quote-total strong { font:500 25px var(--app-font-serif); }
.quote-foot { margin-top:20px; padding-top:11px; border-top:1px solid hsl(var(--border)); font-size:9px; line-height:1.6; color:hsl(var(--muted-foreground)); }
.quote-actions { display:grid; grid-template-columns:1fr 1fr; gap:9px; padding:15px 20px 19px; background:hsl(var(--card)); }
.quote-actions button { width:100%; min-height:40px; }
.quote-actions .button-primary { grid-column:1 / -1; }
.quote-notice { text-align:center; min-height:15px; margin:0; padding:0 16px 13px; color:hsl(var(--muted-foreground)); font-size:10px; }
.follow-section { padding:60px 0 72px; border-top:1px solid hsl(var(--border)); }
.follow-head { display:flex; justify-content:space-between; align-items:end; margin-bottom:24px; }
.follow-head .section-heading { margin:0; }
.follow-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.follow-card { padding:20px; border-radius:13px; border:1px solid hsl(var(--border)); background:hsl(var(--card)); transition:transform .2s,border-color .2s; }
.follow-card:hover { transform:translateY(-3px); border-color:hsl(var(--primary) / .35); }
.follow-day { display:flex; justify-content:space-between; align-items:center; margin-bottom:16px; }
.day-pill { padding:6px 9px; border-radius:6px; background:hsl(var(--secondary)); font:10px var(--app-font-mono); }
.follow-day span:last-child { font-size:10px; color:hsl(var(--muted-foreground)); }
.follow-text { min-height:113px; font-size:12px; line-height:1.7; color:hsl(var(--foreground) / .83); white-space:pre-wrap; }
.follow-actions { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:14px; }
.follow-actions .button-quiet,.follow-actions .button-secondary { width:100%; min-height:38px; padding:0 8px; font-size:11px; }
.follow-actions button:disabled { cursor:not-allowed; opacity:.55; }
.how-section { padding:66px 0; background:hsl(160 23% 91%); }
.how-inner { display:grid; grid-template-columns:.8fr 1.2fr; gap:60px; align-items:start; }
.how-intro h2 { font:500 clamp(34px,4vw,48px)/1.02 var(--app-font-serif); letter-spacing:-.04em; margin:10px 0 14px; max-width:390px; }
.how-intro p { color:hsl(var(--muted-foreground)); font-size:13px; line-height:1.7; max-width:350px; }
.steps { border-top:1px solid hsl(var(--foreground) / .15); }
.step-row { display:grid; grid-template-columns:52px 1fr; gap:15px; border-bottom:1px solid hsl(var(--foreground) / .15); padding:18px 0; }
.step-count { font:12px var(--app-font-mono); color:hsl(var(--primary)); padding-top:3px; }
.step-row h3 { margin:0 0 5px; font-size:13px; }
.step-row p { margin:0; color:hsl(var(--muted-foreground)); line-height:1.65; font-size:11px; }
.honest-section { padding:57px 0; }
.honest-box { border-radius:15px; padding:28px 32px; display:flex; justify-content:space-between; gap:36px; align-items:center; background:hsl(var(--foreground)); color:hsl(var(--background)); }
.honest-box h2 { margin:0 0 9px; font:500 29px var(--app-font-serif); }
.honest-box p { margin:0; max-width:650px; color:hsl(42 25% 79%); font-size:12px; line-height:1.7; }
.honest-tag { flex:none; border:1px solid hsl(42 30% 65% / .4); color:hsl(var(--accent)); padding:9px 12px; border-radius:7px; font:10px var(--app-font-mono); }
.footer { border-top:1px solid hsl(var(--border)); padding:22px 0 30px; color:hsl(var(--muted-foreground)); font-size:10px; display:flex; justify-content:space-between; gap:20px; }
.footer strong { color:hsl(var(--foreground)); }
.sr-only { position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0; }
@keyframes float-card { 0%,100% { transform:translateY(0) rotate(2deg); } 50% { transform:translateY(-9px) rotate(1deg); } }
@media (max-width:850px) {
 .page-shell{padding:0 22px}.hero{grid-template-columns:1fr .8fr;gap:15px;padding:55px 0 42px}.hero-art{min-height:250px}.hero-orbit{width:245px;height:245px}
 .tool-grid{grid-template-columns:minmax(0,1fr) minmax(290px,.85fr);gap:13px}.form-panel{padding:19px}.quote-paper{padding:20px}
 .how-inner{gap:35px}
}
@media (max-width:680px) {
 .page-shell{padding:0 17px}.topbar{height:67px}.nav-link{display:none}.top-actions{gap:9px}.brand{font-size:18px}
 .hero{grid-template-columns:1fr;padding:48px 0 37px}.hero h1{font-size:clamp(49px,13vw,68px)}.hero-copy{font-size:14px}.hero-art{min-height:252px;margin-top:2px}.hero-orbit{width:248px;height:248px}
 .section-heading{display:block;margin-top:20px}.section-heading p{margin-top:10px}.tool-section{padding-bottom:48px}
 .tool-grid{grid-template-columns:1fr}.preview-panel{position:static;grid-row:1}.form-panel{grid-row:2}.quote-paper{min-height:0}
 .follow-section{padding:45px 0}.follow-grid{grid-template-columns:1fr;gap:10px}.follow-text{min-height:auto}.follow-head{display:block}
 .how-section{padding:48px 0}.how-inner{grid-template-columns:1fr;gap:23px}.how-intro h2{max-width:300px}
 .honest-box{display:block;padding:24px}.honest-tag{display:inline-block;margin-top:18px}
 .footer{display:block;line-height:1.8}.footer span{display:block}
}
@media (max-width:420px) {
 .page-shell{padding:0 13px}.hero-cta{align-items:stretch;flex-direction:column}.hero-cta .button-primary,.hero-cta .button-secondary{width:100%}.form-panel{padding:16px}.form-grid{gap:13px 9px}.money-grid{grid-template-columns:1fr}.money-grid .field{display:grid;grid-template-columns:1fr 1.35fr;align-items:center;gap:8px}.money-grid .field-error{display:none}.form-actions{grid-template-columns:1fr}.clear-button{width:100%}
 .quote-actions{padding:12px}.quote-actions .button-secondary{padding:0 8px;font-size:11px}
}
@media (prefers-reduced-motion: reduce) { *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important} }
@media print {
 body{background:white}.topbar,.hero,.section-heading,.form-panel,.quote-actions,.quote-notice,.follow-section,.how-section,.honest-section,.footer{display:none!important}.page-shell{max-width:none;padding:0}.tool-section{padding:0}.tool-grid{display:block}.preview-panel{position:static;border:0;box-shadow:none}.preview-top{display:none}.quote-paper{min-height:0;background:white;padding:25px}
}

.is-off{opacity:.55;pointer-events:none}
.quote-item strong{white-space:nowrap}
