
:root{
  --bg:#f5f2eb;
  --paper:#fffdf8;
  --panel:#f1ece2;
  --ink:#1f2930;
  --muted:#6b7377;
  --line:rgba(31,41,48,.10);
  --accent:#8d6d4d;
  --accent-2:#6a7d74;
  --shadow:0 18px 60px rgba(41,33,22,.08);
  --radius-xl:34px;
  --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(141,109,77,.10), transparent 28%),
    radial-gradient(circle at 100% 10%, rgba(106,125,116,.10), transparent 24%),
    linear-gradient(180deg,#f8f5ef 0%, var(--bg) 100%);
  line-height:1.6;
}
h1,h2,h3,h4,p,ul{margin:0}
a{color:inherit;text-decoration:none}
img{max-width:100%}
.wrap{width:min(calc(100% - 32px), var(--max)); margin:0 auto}
.topbar{
  position:sticky; top:0; z-index:10; backdrop-filter: blur(14px);
  background:rgba(248,245,239,.74); border-bottom:1px solid rgba(31,41,48,.06)
}
.topbar-inner{
  display:flex; align-items:center; justify-content:space-between; gap:24px; padding:16px 0;
}
.brand{
  display:flex; align-items:center; gap:14px; font-weight:700; letter-spacing:.01em;
}
.brand-mark{
  width:42px; height:42px; border-radius:14px;
  background:linear-gradient(145deg, rgba(141,109,77,.22), rgba(106,125,116,.18));
  border:1px solid rgba(31,41,48,.08);
  position:relative;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.7);
}
.brand-mark::before,
.brand-mark::after{
  content:""; position:absolute; border-radius:999px; background:rgba(31,41,48,.75);
}
.brand-mark::before{width:18px; height:2px; left:11px; top:14px}
.brand-mark::after{width:14px; height:2px; left:11px; top:24px; opacity:.55}
.nav{
  display:flex; align-items:center; gap:10px; flex-wrap:wrap; justify-content:flex-end;
}
.nav a{
  padding:10px 14px; border-radius:999px; color:var(--muted); font-size:14px;
}
.nav a:hover{background:rgba(31,41,48,.05); color:var(--ink)}
.hero{padding:42px 0 26px}
.hero-shell{
  display:grid; grid-template-columns: 1.2fr .8fr; gap:22px; align-items:stretch;
}
.hero-main, .hero-side, .panel, .guide, .faq-item, .footer-block, .mini-card, .doc-card, .thanks-card, .legal-card{
  background:rgba(255,253,248,.82);
  border:1px solid var(--line);
  box-shadow:var(--shadow);
}
.hero-main{
  border-radius:var(--radius-xl);
  padding:34px;
  position:relative; overflow:hidden;
}
.hero-main::after{
  content:""; position:absolute; inset:auto -60px -80px auto; width:260px; height:260px;
  background:radial-gradient(circle, rgba(141,109,77,.22), transparent 62%);
  pointer-events:none;
}
.eyebrow{
  display:inline-flex; align-items:center; gap:10px;
  padding:10px 14px; border-radius:999px;
  background:rgba(31,41,48,.04); color:var(--muted); font-size:13px; letter-spacing:.04em; text-transform:uppercase;
}
.eyebrow::before{
  content:""; width:8px; height:8px; border-radius:50%; background:linear-gradient(145deg,var(--accent),var(--accent-2));
}
.hero-grid{
  display:grid; grid-template-columns: minmax(0,1fr) 250px; gap:28px; margin-top:22px;
}
.hero-copy h1{
  font-family: "Georgia", "Iowan Old Style", "Times New Roman", serif;
  font-size:clamp(42px, 6vw, 76px); line-height:.97; font-weight:600; letter-spacing:-.04em;
}
.hero-copy p{
  margin-top:20px; max-width:62ch; color:#4f585d; font-size:18px;
}
.hero-actions{
  display:flex; gap:12px; flex-wrap:wrap; margin-top:26px;
}
.btn{
  display:inline-flex; align-items:center; justify-content:center;
  padding:14px 18px; border-radius:16px; border:1px solid var(--line); font-weight:600;
}
.btn.primary{
  background:linear-gradient(180deg, rgba(31,41,48,.95), rgba(31,41,48,.84)); color:#fff;
  box-shadow:0 12px 28px rgba(31,41,48,.18);
}
.btn.soft{background:rgba(31,41,48,.04)}
.hero-note{
  padding:18px; border-radius:26px; background:linear-gradient(180deg, rgba(141,109,77,.10), rgba(106,125,116,.06));
  border:1px solid rgba(31,41,48,.08); display:flex; flex-direction:column; gap:16px; height:100%;
}
.note-label{font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:var(--muted)}
.note-value{font-size:15px}
.hero-side{
  border-radius:var(--radius-xl);
  padding:22px;
  display:grid; gap:18px;
}
.side-stat{
  border-radius:24px; padding:20px; background:var(--paper); border:1px solid rgba(31,41,48,.06);
}
.side-stat strong{
  display:block; font-size:30px; line-height:1; margin-bottom:8px; font-family: Georgia, serif; font-weight:600;
}
.side-stat span{color:var(--muted); font-size:14px}
.side-list{
  list-style:none; display:grid; gap:12px;
}
.side-list li{
  padding:14px 16px; border-radius:18px; background:rgba(31,41,48,.035);
  display:flex; justify-content:space-between; gap:12px; color:#485157;
}
.section{padding:22px 0}
.section-header{
  display:grid; grid-template-columns: 1fr 260px; gap:24px; align-items:end; margin-bottom:20px;
}
.section-header h2{
  font-family: Georgia, serif; font-size:clamp(32px, 4vw, 52px); line-height:1.02; font-weight:600; letter-spacing:-.03em;
}
.section-header p{color:var(--muted); max-width:62ch}
.rail-note{
  padding:18px; border-radius:22px; background:rgba(31,41,48,.035); border:1px solid rgba(31,41,48,.06);
  color:var(--muted); font-size:14px;
}
.guides-layout{
  display:grid; grid-template-columns: 1fr 1fr; gap:18px;
}
.guide{
  border-radius:32px; padding:24px; display:grid; gap:16px;
}
.guide:nth-child(1){transform:translateY(0)}
.guide:nth-child(2){transform:translateY(22px)}
.guide:nth-child(3){transform:translateY(-8px)}
.guide:nth-child(4){transform:translateY(14px)}
.guide-top{
  display:flex; align-items:flex-start; justify-content:space-between; gap:16px;
}
.kicker{
  display:inline-flex; padding:7px 11px; border-radius:999px; background:rgba(31,41,48,.05); color:var(--muted); font-size:12px; text-transform:uppercase; letter-spacing:.05em;
}
.guide h3{
  margin-top:14px; font-size:30px; line-height:1.03; font-family: Georgia, serif; font-weight:600;
}
.guide p{color:#4f585d}
.price{
  white-space:nowrap; font-size:20px; font-weight:700; padding:12px 14px; border-radius:18px; background:linear-gradient(180deg, rgba(141,109,77,.14), rgba(106,125,116,.10));
}
.guide-meta{
  display:flex; flex-wrap:wrap; gap:10px;
}
.pill{
  padding:9px 11px; border-radius:999px; background:rgba(31,41,48,.04); color:var(--muted); font-size:13px;
}
.why-grid, .works-grid, .faq-grid, .footer-grid{
  display:grid; gap:18px;
}
.why-grid{grid-template-columns: 1.1fr .9fr}
.panel{
  border-radius:32px; padding:24px;
}
.mini-grid{
  margin-top:18px; display:grid; grid-template-columns: repeat(2,1fr); gap:14px;
}
.mini-card{
  border-radius:24px; padding:18px;
}
.mini-card h3{font-size:18px; margin-bottom:6px}
.mini-card p{color:var(--muted); font-size:14px}
.doc-rail{
  display:grid; gap:14px;
}
.doc-card{
  border-radius:26px; padding:20px;
}
.doc-card h3{font-size:18px; margin-bottom:6px}
.doc-card p{color:var(--muted); font-size:14px}
.works-grid{grid-template-columns: repeat(5,1fr)}
.step{
  padding:22px; border-radius:28px; background:rgba(255,253,248,.78); border:1px solid var(--line); box-shadow:var(--shadow);
}
.step-num{
  width:38px; height:38px; display:grid; place-items:center; border-radius:12px;
  background:linear-gradient(145deg, rgba(141,109,77,.18), rgba(106,125,116,.12));
  font-weight:700; margin-bottom:16px;
}
.step h3{font-size:18px; margin-bottom:8px}
.step p{color:var(--muted); font-size:15px}
.faq-grid{grid-template-columns: 1fr 1fr}
.faq-item{
  border-radius:26px; padding:22px;
}
.faq-item h3{font-size:18px; margin-bottom:8px}
.faq-item p{color:var(--muted)}
.inquiry-shell{
  display:grid; grid-template-columns: .9fr 1.1fr; gap:18px;
}
.form-card{
  border-radius:32px; padding:26px; background:rgba(255,253,248,.86); border:1px solid var(--line); box-shadow:var(--shadow);
}
.form-grid{display:grid; grid-template-columns:1fr 1fr; gap:14px}
label{display:grid; gap:8px; font-size:14px; color:#475158}
label span{font-weight:600; color:var(--ink)}
input, select, textarea{
  width:100%; padding:15px 16px; border:1px solid rgba(31,41,48,.12); border-radius:16px; background:#fffdfa; color:var(--ink);
  font:inherit;
}
textarea{min-height:128px; resize:vertical}
.full{grid-column:1 / -1}
.form-note{
  margin-top:14px; color:var(--muted); font-size:14px;
}
.disclaimer{
  margin-top:14px; padding:16px 18px; border-radius:18px; background:rgba(141,109,77,.08); border:1px solid rgba(31,41,48,.08); color:#4f585d; font-size:14px;
}
.footer{
  padding:26px 0 42px;
}
.footer-grid{grid-template-columns: 1.1fr .7fr .7fr}
.footer-block{
  border-radius:28px; padding:22px;
}
.footer-title{
  font-family: Georgia, serif; font-size:28px; margin-bottom:10px; font-weight:600;
}
.footer p, .footer li, .footer a{color:var(--muted)}
.footer ul{padding-left:18px}
.footer-meta{display:grid; gap:10px}
.legal-wrap{
  padding:34px 0 44px;
}
.legal-card, .thanks-card{
  border-radius:34px; padding:30px;
}
.legal-card + .legal-card{margin-top:18px}
.legal-card h1, .thanks-card h1{
  font-family: Georgia, serif; font-size:clamp(36px, 5vw, 62px); line-height:1; margin-bottom:16px; font-weight:600;
}
.legal-card h2{font-size:20px; margin:24px 0 8px}
.legal-card p, .legal-card li, .thanks-card p{color:#4f585d}
.legal-card ul{padding-left:20px; display:grid; gap:8px}
.legal-meta{
  display:flex; flex-wrap:wrap; gap:10px; margin-bottom:20px;
}
.legal-meta .pill{background:rgba(31,41,48,.035)}
.back-links{
  display:flex; flex-wrap:wrap; gap:12px; margin-top:24px;
}
.small-muted{font-size:14px; color:var(--muted)}
.hr{
  height:1px; background:var(--line); margin:22px 0;
}
@media (max-width: 1080px){
  .hero-shell, .why-grid, .inquiry-shell, .section-header, .footer-grid{grid-template-columns:1fr}
  .hero-grid{grid-template-columns:1fr}
  .works-grid{grid-template-columns: repeat(2,1fr)}
}
@media (max-width: 820px){
  .guides-layout, .faq-grid, .form-grid, .mini-grid{grid-template-columns:1fr}
  .works-grid{grid-template-columns:1fr}
  .nav{display:none}
  .hero-main, .hero-side, .guide, .panel, .form-card, .footer-block, .legal-card, .thanks-card{border-radius:26px}
  .hero{padding-top:26px}
}
