
:root{
  --bg:#f4efe8;
  --paper:#fffdfa;
  --paper-2:#f8f4ee;
  --ink:#1b2a29;
  --muted:#5f6e6b;
  --line:rgba(27,42,41,.12);
  --accent:#4e7b6f;
  --accent-2:#b7845a;
  --glow:rgba(78,123,111,.12);
  --shadow:0 18px 60px rgba(30,34,33,.08);
  --radius-xl:34px;
  --radius-lg:24px;
  --radius-md:18px;
  --wrap:min(1180px, calc(100vw - 40px));
}
*{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(183,132,90,.10), transparent 28%),
    radial-gradient(circle at 100% 0%, rgba(78,123,111,.10), transparent 32%),
    linear-gradient(180deg,#f8f4ee 0%,#f4efe8 48%,#f6f2ec 100%);
  line-height:1.55;
}
img{max-width:100%; display:block}
a{color:inherit; text-decoration:none}
p{margin:0 0 1rem}
h1,h2,h3,h4{font-family: Georgia, "Times New Roman", serif; font-weight:600; line-height:1.02; letter-spacing:-.02em; margin:0 0 1rem}
h1{font-size:clamp(3rem,7vw,6.2rem)}
h2{font-size:clamp(2rem,4vw,3.35rem)}
h3{font-size:1.4rem}
small,.eyebrow,.kicker{letter-spacing:.16em; text-transform:uppercase; font-size:.74rem; color:var(--muted)}
.wrap{width:var(--wrap); margin:0 auto}
.site-shell{padding:18px 0 48px}
.topbar{
  width:var(--wrap); margin:0 auto 14px; padding:16px 20px;
  display:flex; align-items:center; justify-content:space-between; gap:14px;
  background:rgba(255,253,250,.76); backdrop-filter: blur(12px);
  border:1px solid rgba(255,255,255,.6);
  border-radius:999px; box-shadow:0 8px 30px rgba(30,34,33,.05);
  position:sticky; top:12px; z-index:40;
}
.brand{display:flex; align-items:center; gap:12px; min-width:0}
.brand-mark{
  width:44px;height:44px;border-radius:16px;flex:0 0 44px;
  background:linear-gradient(135deg, rgba(78,123,111,.18), rgba(183,132,90,.18));
  border:1px solid rgba(78,123,111,.15);
  position:relative;
}
.brand-mark:before,.brand-mark:after{
  content:"";position:absolute;border-radius:999px;background:var(--accent);
}
.brand-mark:before{width:22px;height:2px;left:11px;top:21px;transform:rotate(-24deg)}
.brand-mark:after{width:14px;height:14px;right:7px;top:8px;background:rgba(183,132,90,.75);filter:blur(.2px)}
.brand-text strong{display:block;font-size:.98rem}
.brand-text span{display:block;font-size:.78rem;color:var(--muted)}
.nav{display:flex; flex-wrap:wrap; gap:10px 14px; justify-content:flex-end}
.nav a{
  padding:10px 14px;border-radius:999px;color:var(--muted); font-size:.94rem;
}
.nav a:hover,.button:hover{transform:translateY(-1px)}
.hero{
  width:var(--wrap); margin:0 auto; display:grid; grid-template-columns:1.15fr .85fr; gap:22px;
}
.hero-main,.hero-rail,.panel,.guide-card,.faq-item,.legal-card,.thanks-card,.form-shell,.footer-card{
  background:linear-gradient(180deg, rgba(255,255,255,.94), rgba(255,252,248,.86));
  border:1px solid rgba(255,255,255,.7);
  box-shadow:var(--shadow);
  border-radius:var(--radius-xl);
}
.hero-main{padding:40px 40px 34px; position:relative; overflow:hidden}
.hero-main:before{
  content:""; position:absolute; right:-70px; top:-90px; width:290px; height:290px; border-radius:50%;
  background:radial-gradient(circle, rgba(78,123,111,.17), transparent 62%);
}
.hero-grid{display:grid; grid-template-columns:1fr 220px; gap:26px; align-items:end}
.hero-copy p.lead{font-size:1.08rem; color:#394845; max-width:55ch}
.hero-badges{display:flex; flex-wrap:wrap; gap:10px; margin:24px 0 26px}
.hero-badges span,.pill,.tag{
  display:inline-flex; align-items:center; gap:8px; padding:10px 14px; border-radius:999px;
  background:rgba(248,244,238,.92); border:1px solid rgba(27,42,41,.08); color:#33433f;
  font-size:.9rem;
}
.hero-actions{display:flex; flex-wrap:wrap; gap:14px; margin-top:12px}
.button{
  display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:50px; padding:0 18px;
  border-radius:18px; border:1px solid transparent; transition:.25s ease; font-weight:600;
}
.button.primary{background:var(--ink); color:white}
.button.secondary{background:rgba(248,244,238,.95); border-color:rgba(27,42,41,.08); color:var(--ink)}
.mini-stack{display:grid; gap:14px}
.mini-note{
  padding:18px; border-radius:22px; background:rgba(248,244,238,.88); border:1px solid rgba(27,42,41,.08)
}
.mini-note strong{display:block; margin-bottom:6px; font-size:1rem}
.hero-rail{padding:18px; display:grid; gap:16px; align-content:start}
.stat-card{
  padding:20px; border-radius:26px; background:linear-gradient(180deg, rgba(244,239,232,.96), rgba(255,255,255,.88));
  border:1px solid rgba(27,42,41,.08)
}
.stat-card .value{font-family:Georgia,serif; font-size:2.3rem; line-height:1}
.section{width:var(--wrap); margin:22px auto 0}
.section-grid{display:grid; grid-template-columns:260px 1fr; gap:22px}
.section-rail{
  padding:24px; border-radius:30px; background:rgba(248,244,238,.78); border:1px solid rgba(27,42,41,.07); height:max-content;
  position:sticky; top:98px;
}
.section-content{display:grid; gap:22px}
.panel{padding:28px}
.panel.split{display:grid; grid-template-columns:1.02fr .98fr; gap:20px}
.collection{display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:18px}
.guide-card{padding:24px; position:relative; overflow:hidden}
.guide-card:before{
  content:""; position:absolute; inset:auto auto -55px -40px; width:140px; height:140px; border-radius:50%;
  background:radial-gradient(circle, rgba(78,123,111,.12), transparent 65%);
}
.guide-card .meta{display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:18px}
.guide-card h3{margin-bottom:10px}
.price{
  font-family:Georgia,serif; font-size:2rem; white-space:nowrap;
}
.note-row{display:grid; grid-template-columns:repeat(3,1fr); gap:16px}
.note-box{
  padding:20px; border-radius:22px; background:linear-gradient(180deg, rgba(248,244,238,.9), rgba(255,255,255,.8));
  border:1px solid rgba(27,42,41,.08)
}
.steps{display:grid; grid-template-columns:repeat(5,1fr); gap:12px}
.step{
  padding:18px; border-radius:24px; background:rgba(248,244,238,.88); border:1px solid rgba(27,42,41,.08)
}
.step .n{
  width:34px; height:34px; border-radius:999px; display:grid; place-items:center; margin-bottom:14px;
  background:var(--ink); color:white; font-size:.85rem; font-weight:700
}
.faq-list{display:grid; gap:12px}
.faq-item{padding:20px 22px}
.faq-item h3{font-size:1.1rem; margin-bottom:8px}
.form-shell{display:grid; grid-template-columns:1.05fr .95fr; gap:0; overflow:hidden}
.form-copy{padding:34px; background:linear-gradient(160deg, rgba(27,42,41,.98), rgba(52,78,72,.96)); color:white}
.form-copy p,.form-copy li{color:rgba(255,255,255,.82)}
.form-copy ul{margin:18px 0 0; padding-left:18px}
.form-card{padding:34px}
.field-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:14px}
label{display:block; font-size:.92rem; font-weight:600; margin-bottom:8px}
input,select,textarea{
  width:100%; padding:14px 14px; border-radius:16px; border:1px solid rgba(27,42,41,.12);
  background:#fffdfa; font:inherit; color:var(--ink); outline:none;
}
textarea{min-height:132px; resize:vertical}
input:focus,select:focus,textarea:focus{border-color:rgba(78,123,111,.5); box-shadow:0 0 0 4px rgba(78,123,111,.12)}
.disclaimer{
  margin-top:16px; padding:16px 18px; border-radius:18px;
  background:rgba(248,244,238,.82); border:1px solid rgba(27,42,41,.08); color:#3f4f4c; font-size:.93rem
}
footer{width:var(--wrap); margin:22px auto 0}
.footer-card{padding:22px 24px}
.footer-grid{display:grid; grid-template-columns:1.15fr .85fr; gap:18px; align-items:end}
.address,.contact-line{color:var(--muted); font-size:.96rem}
.link-row{display:flex; flex-wrap:wrap; gap:12px 18px}
.legal-hero,.thanks-wrap{width:var(--wrap); margin:28px auto 0}
.legal-card,.thanks-card{padding:34px}
.legal-grid{display:grid; grid-template-columns:240px 1fr; gap:22px}
.legal-aside{
  padding:22px; border-radius:26px; background:rgba(248,244,238,.84); border:1px solid rgba(27,42,41,.08); height:max-content
}
.legal-section{padding-bottom:20px; margin-bottom:20px; border-bottom:1px solid rgba(27,42,41,.08)}
.legal-section:last-child{border-bottom:0; margin-bottom:0; padding-bottom:0}
.thanks-card{display:grid; grid-template-columns:1.08fr .92fr; gap:20px}
.ribbon{
  display:inline-flex; padding:8px 12px; border-radius:999px; background:rgba(78,123,111,.1);
  color:var(--accent); font-size:.85rem; letter-spacing:.14em; text-transform:uppercase
}
.checklist{display:grid; gap:10px; margin-top:20px}
.checklist div{
  padding:14px 16px; border-radius:18px; background:rgba(248,244,238,.82); border:1px solid rgba(27,42,41,.08)
}
@media (max-width: 1024px){
  .hero,.section-grid,.panel.split,.form-shell,.thanks-card,.footer-grid,.legal-grid,.hero-grid{grid-template-columns:1fr}
  .steps{grid-template-columns:repeat(2,1fr)}
  .section-rail{position:static}
}
@media (max-width: 720px){
  .topbar{border-radius:24px; padding:14px 16px; align-items:flex-start; flex-direction:column}
  .collection,.field-grid,.note-row,.steps{grid-template-columns:1fr}
  .hero-main,.panel,.guide-card,.legal-card,.thanks-card,.form-copy,.form-card{padding:24px}
  h1{font-size:clamp(2.5rem,12vw,4rem)}
  .nav{width:100%; justify-content:flex-start}
}
