:root{
  --bg:#f6f3ee;
  --paper:#fffdf8;
  --ink:#1f2430;
  --muted:#667085;
  --line:rgba(31,36,48,.10);
  --warm:#d6b48a;
  --sage:#b9c7b6;
  --plum:#6f5e78;
  --mist:#eef3ef;
  --panel:#faf7f1;
  --shadow:0 18px 50px rgba(25,31,40,.08);
  --radius-xl:32px;
  --radius-lg:24px;
  --radius-md:18px;
  --max:1200px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color:var(--ink);
  background:
    radial-gradient(circle at 0% 0%, rgba(214,180,138,.18), transparent 30%),
    radial-gradient(circle at 100% 20%, rgba(111,94,120,.10), transparent 28%),
    linear-gradient(180deg, #fbfaf7 0%, var(--bg) 100%);
  line-height:1.6;
}
h1,h2,h3,h4,p{margin:0}
a{color:inherit;text-decoration:none}
img{max-width:100%}
.container{width:min(calc(100% - 32px), var(--max)); margin:0 auto}
.site-shell{padding:22px 0 56px}
.topbar{
  position:sticky; top:0; z-index:30;
  backdrop-filter:blur(16px);
  background:rgba(251,250,247,.78);
  border-bottom:1px solid rgba(31,36,48,.06);
}
.nav{
  display:flex; align-items:center; justify-content:space-between;
  gap:18px; padding:14px 0;
}
.brand{
  display:flex; align-items:center; gap:14px;
  font-weight:700; letter-spacing:.02em;
}
.brand-mark{
  width:38px; height:38px; border-radius:14px;
  background:linear-gradient(145deg, #f1e4d3, #e8efe7 45%, #f7f2ea);
  border:1px solid rgba(31,36,48,.08);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8);
  position:relative;
}
.brand-mark:before,.brand-mark:after{
  content:""; position:absolute; border-radius:999px; background:rgba(31,36,48,.10);
}
.brand-mark:before{width:16px;height:16px;left:8px;top:8px}
.brand-mark:after{width:8px;height:8px;right:8px;bottom:8px;background:rgba(111,94,120,.22)}
.nav-links{display:flex; flex-wrap:wrap; gap:10px}
.nav-links a{
  padding:10px 14px; border-radius:999px;
  color:var(--muted); font-size:.95rem; border:1px solid transparent;
}
.nav-links a:hover{border-color:var(--line); background:rgba(255,255,255,.55); color:var(--ink)}

.hero{
  display:grid; grid-template-columns:1.2fr .82fr; gap:22px;
  padding-top:28px;
}
.hero-main,.hero-side,.panel,.guide-card,.faq-card,.timeline-card,.story-card,.contact-card,.legal-card,.thankyou-card{
  background:rgba(255,253,248,.82);
  border:1px solid rgba(31,36,48,.08);
  box-shadow:var(--shadow);
  border-radius:var(--radius-xl);
}
.hero-main{
  padding:34px; position:relative; overflow:hidden;
  background:
    linear-gradient(180deg, rgba(255,255,255,.82), rgba(255,253,248,.90)),
    radial-gradient(circle at 20% 20%, rgba(214,180,138,.14), transparent 34%);
}
.hero-main:after{
  content:""; position:absolute; inset:auto -70px -70px auto; width:220px; height:220px; border-radius:50%;
  background:radial-gradient(circle, rgba(111,94,120,.10), transparent 62%);
}
.kicker{
  display:inline-flex; align-items:center; gap:10px;
  padding:10px 14px; border-radius:999px; background:rgba(255,255,255,.8);
  border:1px solid rgba(31,36,48,.08); color:#4b5565; font-size:.92rem;
}
.kicker-dot{width:9px;height:9px;border-radius:50%;background:linear-gradient(180deg,var(--warm),#e7ccb0)}
.hero h1{
  font-family:"Iowan Old Style","Palatino Linotype","Book Antiqua",Palatino,Georgia,serif;
  font-size:clamp(2.7rem, 5vw, 5rem);
  line-height:.96; letter-spacing:-.04em; margin-top:18px; max-width:11ch;
}
.hero p.lead{
  font-size:1.12rem; color:#4c5464; max-width:58ch; margin-top:18px;
}
.hero-actions{display:flex; flex-wrap:wrap; gap:12px; margin-top:24px}
.button, button{
  appearance:none; border:none; cursor:pointer;
  background:var(--ink); color:white; padding:14px 18px; border-radius:16px;
  font-weight:600; font-size:.98rem; box-shadow:0 12px 26px rgba(31,36,48,.16);
}
.button.secondary{
  background:rgba(255,255,255,.82); color:var(--ink); border:1px solid rgba(31,36,48,.08); box-shadow:none;
}
.hero-meta{
  display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-top:28px;
}
.mini-stat{
  padding:16px; border-radius:20px; background:rgba(255,255,255,.62); border:1px solid rgba(31,36,48,.07);
}
.mini-stat strong{display:block; font-size:1.08rem}
.mini-stat span{display:block; color:var(--muted); font-size:.92rem; margin-top:4px}
.hero-side{padding:24px; display:grid; gap:16px}
.note-stack{
  display:grid; gap:14px;
}
.note{
  border-radius:22px; padding:18px; background:
    linear-gradient(180deg, rgba(238,243,239,.95), rgba(255,255,255,.9));
  border:1px solid rgba(31,36,48,.07);
}
.note:nth-child(2){background:linear-gradient(180deg, rgba(247,241,232,.95), rgba(255,255,255,.9))}
.note small{display:block; color:var(--muted); text-transform:uppercase; letter-spacing:.08em; font-size:.74rem}
.note h3{font-size:1.05rem; margin-top:8px}
.note p{margin-top:8px; color:#55606f; font-size:.96rem}
.process-rail{
  display:grid; gap:10px; padding:16px; border-radius:24px; background:var(--panel); border:1px solid rgba(31,36,48,.06)
}
.process-row{
  display:grid; grid-template-columns:auto 1fr; gap:12px; align-items:start;
}
.step-badge{
  width:34px;height:34px;border-radius:12px; display:grid; place-items:center;
  background:rgba(31,36,48,.92); color:white; font-weight:700; font-size:.9rem;
}
.step-copy strong{display:block}
.step-copy span{display:block; color:var(--muted); font-size:.93rem; margin-top:4px}

.section{padding:68px 0 0}
.section-head{
  display:grid; grid-template-columns:1fr auto; gap:14px; align-items:end; margin-bottom:24px;
}
.section-head h2{
  font-family:"Iowan Old Style","Palatino Linotype","Book Antiqua",Palatino,Georgia,serif;
  font-size:clamp(2rem, 3.4vw, 3.25rem); line-height:1; letter-spacing:-.03em;
}
.section-head p{color:var(--muted); max-width:58ch}
.eyebrow{
  color:#6e6a78; text-transform:uppercase; letter-spacing:.12em; font-size:.76rem; font-weight:700;
}

.guides-grid{
  display:grid; grid-template-columns:repeat(2, 1fr); gap:18px;
}
.guide-card{padding:22px; position:relative; overflow:hidden}
.guide-card:before{
  content:""; position:absolute; inset:0 0 auto 0; height:5px;
  background:linear-gradient(90deg, rgba(214,180,138,.9), rgba(111,94,120,.45), rgba(185,199,182,.9));
}
.guide-top{display:flex; justify-content:space-between; gap:18px; align-items:flex-start}
.tag{
  display:inline-flex; align-items:center; padding:8px 11px; border-radius:999px;
  background:rgba(238,243,239,.85); border:1px solid rgba(31,36,48,.06); color:#4b5866; font-size:.84rem
}
.price{
  font-size:1.35rem; font-weight:700; letter-spacing:-.03em;
}
.guide-card h3{font-size:1.32rem; letter-spacing:-.03em; margin-top:16px}
.guide-card p{color:#576171; margin-top:12px}
.guide-foot{display:flex; justify-content:space-between; gap:12px; margin-top:18px; color:var(--muted); font-size:.93rem}

.layout-split{
  display:grid; grid-template-columns:1.1fr .9fr; gap:18px;
}
.panel{padding:24px}
.panel h3{font-size:1.16rem; letter-spacing:-.02em}
.panel p{color:#576171; margin-top:10px}
.benefit-list,.clean-list,.faq-list, .legal-list{
  display:grid; gap:14px; margin-top:16px
}
.benefit-item,.list-item,.legal-item{
  display:grid; grid-template-columns:auto 1fr; gap:12px; align-items:start
}
.benefit-icon,.list-icon,.legal-icon{
  width:34px; height:34px; border-radius:12px; background:rgba(31,36,48,.08); display:grid; place-items:center; font-weight:700;
}
.story-card{
  padding:26px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.84), rgba(255,250,245,.9)),
    radial-gradient(circle at top right, rgba(214,180,138,.14), transparent 28%);
}
.story-quote{
  font-family:"Iowan Old Style","Palatino Linotype","Book Antiqua",Palatino,Georgia,serif;
  font-size:1.5rem; line-height:1.15; letter-spacing:-.03em;
}
.story-caption{margin-top:16px; color:var(--muted)}
.timeline{
  display:grid; grid-template-columns:repeat(5,1fr); gap:12px;
}
.timeline-card{padding:20px}
.timeline-card small{
  display:block; text-transform:uppercase; letter-spacing:.12em; color:#7c7482; font-size:.74rem
}
.timeline-card h3{font-size:1.06rem; margin-top:10px}
.timeline-card p{color:var(--muted); margin-top:8px; font-size:.94rem}

.faq-grid{
  display:grid; grid-template-columns:repeat(2,1fr); gap:16px;
}
.faq-card{padding:22px}
.faq-card h3{font-size:1.08rem}
.faq-card p{color:var(--muted); margin-top:10px}

.contact-wrap{
  display:grid; grid-template-columns:1.05fr .95fr; gap:18px;
}
.contact-card{padding:26px}
.form-grid{display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:20px}
.field{display:grid; gap:8px}
.field.full{grid-column:1/-1}
label{font-size:.92rem; color:#4b5565; font-weight:600}
input, select, textarea{
  width:100%; border-radius:16px; border:1px solid rgba(31,36,48,.12);
  background:rgba(255,255,255,.9); padding:14px 15px; font:inherit; color:var(--ink)
}
textarea{min-height:130px; resize:vertical}
.form-note{
  color:var(--muted); font-size:.92rem; margin-top:14px
}
.contact-aside{
  display:grid; gap:16px
}
.contact-chip{
  padding:16px; border-radius:20px; background:var(--panel); border:1px solid rgba(31,36,48,.08)
}
.contact-chip small{display:block; color:var(--muted); text-transform:uppercase; letter-spacing:.1em; font-size:.74rem}
.contact-chip strong{display:block; margin-top:8px}
.disclaimer{
  margin-top:18px; padding:14px 16px; border-radius:18px; background:rgba(255,248,238,.96); border:1px solid rgba(214,180,138,.28); color:#5f5c59; font-size:.93rem
}

.footer{
  padding:34px 0 46px; margin-top:68px; border-top:1px solid rgba(31,36,48,.08)
}
.footer-grid{
  display:grid; grid-template-columns:1.2fr .8fr .8fr; gap:18px
}
.footer p,.footer a,.footer li{color:#5d6675}
.footer-links{display:grid; gap:10px}
.address{
  margin-top:14px; color:#4f5663
}
.smallprint{font-size:.9rem; color:#6a7280; margin-top:16px}

.page-hero{
  padding-top:28px;
}
.legal-layout{
  display:grid; grid-template-columns:.9fr 1.1fr; gap:18px;
}
.legal-card{padding:28px}
.legal-card h1{
  font-family:"Iowan Old Style","Palatino Linotype","Book Antiqua",Palatino,Georgia,serif;
  font-size:clamp(2.2rem, 4vw, 4rem); line-height:.98; letter-spacing:-.04em
}
.legal-card p.lead{margin-top:16px; color:var(--muted)}
.legal-section{margin-top:24px}
.legal-section h2{font-size:1.16rem; letter-spacing:-.02em}
.legal-section p,.legal-section li{color:#5a6473; margin-top:10px}
.legal-section ul{padding-left:18px; margin:0}
.inline-note{
  margin-top:20px; padding:15px 16px; border-radius:18px; background:var(--panel); border:1px solid rgba(31,36,48,.07); color:#5e6776
}
.thankyou-wrap{
  min-height:calc(100vh - 220px); display:grid; place-items:center; padding-top:34px
}
.thankyou-card{
  width:min(100%, 920px); padding:36px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.90), rgba(255,253,248,.92)),
    radial-gradient(circle at 100% 0%, rgba(185,199,182,.22), transparent 26%);
}
.thankyou-card h1{
  font-family:"Iowan Old Style","Palatino Linotype","Book Antiqua",Palatino,Georgia,serif;
  font-size:clamp(2.4rem, 4vw, 4.2rem); line-height:.98; letter-spacing:-.04em;
  max-width:10ch
}
.thankyou-grid{
  display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-top:26px
}
.thankyou-block{
  padding:20px; border-radius:22px; background:rgba(255,255,255,.72); border:1px solid rgba(31,36,48,.07)
}
.thankyou-block h3{font-size:1.05rem}
.thankyou-block p{margin-top:10px; color:var(--muted)}

@media (max-width: 1024px){
  .hero,.layout-split,.contact-wrap,.legal-layout,.footer-grid,.thankyou-grid{grid-template-columns:1fr}
  .timeline{grid-template-columns:repeat(2,1fr)}
}
@media (max-width: 760px){
  .nav{align-items:flex-start; flex-direction:column}
  .hero-meta,.guides-grid,.faq-grid,.form-grid,.timeline{grid-template-columns:1fr}
  .section{padding-top:56px}
  .hero-main,.hero-side,.panel,.guide-card,.faq-card,.timeline-card,.story-card,.contact-card,.legal-card,.thankyou-card{border-radius:24px}
  .hero-main{padding:26px}
  .contact-wrap,.layout-split{gap:14px}
  .section-head{grid-template-columns:1fr}
}