@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Newsreader:opsz,wght@6..72,400;6..72,500;6..72,600&family=Inter:wght@400;500;600&display=swap');

:root {
  --paper: #f4f1e8;
  --card: #ece8dc;
  --ink: #171914;
  --muted: #66685f;
  --line: #cfccbf;
  --olive: #697050;
  --olive-dark: #4d5539;
  --white: #fbfaf6;
  --danger: #7d342f;
  --max: 1160px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
}
button, input, select, textarea { font: inherit; }
a { color: inherit; }
img { max-width: 100%; }

.skip-link {
  position: absolute;
  left: -9999px;
  top: 1rem;
  background: var(--ink);
  color: white;
  padding: .75rem 1rem;
  z-index: 100;
}
.skip-link:focus { left: 1rem; }

.container { width: min(calc(100% - 40px), var(--max)); margin: 0 auto; }
.eyebrow {
  font-family: "DM Mono", ui-monospace, monospace;
  text-transform: uppercase;
  letter-spacing: .12em;
  font-size: .72rem;
  color: var(--olive-dark);
  margin: 0 0 1rem;
}
.display, h1, h2, h3 { font-family: Newsreader, Georgia, serif; font-weight: 500; letter-spacing: -.02em; }
h1 { font-size: clamp(3rem, 7vw, 5.5rem); line-height: .96; margin: 0; max-width: 860px; }
h2 { font-size: clamp(2.2rem, 4.5vw, 4rem); line-height: 1; margin: 0; }
h3 { font-size: 1.5rem; margin: 0; line-height: 1.15; }
p { margin: 0; }
.muted { color: var(--muted); }
.small { font-size: .9rem; }
.mono { font-family: "DM Mono", ui-monospace, monospace; }

.site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: color-mix(in srgb, var(--paper) 92%, transparent);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--line);
}
.header-inner { min-height: 68px; display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; }
.wordmark { font-family: Newsreader, Georgia, serif; font-size: 1.55rem; text-decoration: none; white-space: nowrap; }
.desktop-nav { display: flex; align-items: center; gap: 1.6rem; }
.desktop-nav a { text-decoration: none; font-size: .9rem; color: var(--muted); }
.desktop-nav a:hover { color: var(--ink); }
.audience-link { text-decoration: underline !important; text-decoration-color: var(--line) !important; text-underline-offset: 4px; }
.menu-button { display:none; border:1px solid var(--line); background:transparent; padding:.6rem .75rem; border-radius:4px; }
.mobile-nav { display:none; padding: .8rem 0 1rem; border-top:1px solid var(--line); }
.mobile-nav a { display:block; padding:.65rem 0; text-decoration:none; }
.mobile-nav.open { display:block; }

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  background: var(--olive-dark);
  color: #fff;
  border: 1px solid var(--olive-dark);
  padding: .9rem 1.15rem;
  border-radius: 4px;
  text-decoration: none;
  font-weight: 600;
  cursor: pointer;
  transition: transform .15s ease, background .15s ease, border-color .15s ease;
}
.btn:hover { background: #374126; border-color: #374126; color: #fff; transform: translateY(-1px); }
.desktop-nav a.btn,
.desktop-nav a.btn:hover,
.mobile-nav a.btn,
.mobile-nav a.btn:hover {
  color: #fff;
}
.mobile-nav a.btn {
  display:flex;
  padding:.9rem 1.15rem;
  margin-top:.35rem;
}
.btn.ghost { background: transparent; color: var(--ink); border-color: var(--line); }
.btn.small { padding: .65rem .9rem; font-size:.85rem; }

.hero { padding: 92px 0 88px; }
.hero-grid { display:grid; grid-template-columns: 1.15fr .85fr; gap: clamp(3rem, 7vw, 7rem); align-items:start; }
.hero-copy { max-width: 680px; }
.hero-copy .lede { font-size: clamp(1.06rem, 2vw, 1.25rem); color: var(--muted); margin-top: 1.8rem; max-width: 650px; }
.hero-actions { margin-top: 2rem; display:flex; gap:1rem; flex-wrap:wrap; align-items:center; }
.hero-risk { margin-top: 1.2rem; font-weight:500; }
.hero-input { margin-top: .45rem; color:var(--muted); font-size:.9rem; }
.aside-card { border:1px solid var(--line); background: var(--card); padding: 2rem; border-radius:4px; }
.aside-card .big-quote { font-family:Newsreader, Georgia, serif; font-size:2rem; line-height:1.15; margin-top:.5rem; }
.aside-list { list-style:none; padding:1.3rem 0 0; margin:1.5rem 0 0; border-top:1px solid var(--line); color:var(--muted); }
.aside-list li { padding:.3rem 0; }
.term-list { list-style:none; padding:0; margin:1.25rem 0 0; display:grid; gap:.8rem; }
.term-list li { border-left:2px solid var(--olive); padding-left:.8rem; color:var(--muted); font-size:.92rem; }
.arrangement-card { padding:2.15rem; }
.arrangement-statement {
  font-family:Newsreader, Georgia, serif;
  font-size:clamp(1.85rem, 3vw, 2.35rem);
  line-height:1.08;
  margin:.3rem 0 0;
}
.arrangement-items {
  margin-top:1.6rem;
  border-top:1px solid var(--line);
}
.arrangement-item {
  padding:1rem 0;
  border-bottom:1px solid var(--line);
}
.arrangement-item:last-child { padding-bottom:0; border-bottom:0; }
.arrangement-item h3 {
  font-family:Inter, system-ui, sans-serif;
  font-size:.96rem;
  font-weight:700;
  letter-spacing:0;
}
.arrangement-item p {
  margin-top:.35rem;
  color:var(--muted);
  font-size:.92rem;
}

.section { border-top:1px solid var(--line); padding:88px 0; }
.section.alt { background:var(--card); }
.section-head { max-width:760px; }
.section-intro { max-width:670px; color:var(--muted); margin-top:1.2rem; font-size:1.05rem; }
.cards-3 { margin-top:3rem; display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }
.cards-2 { margin-top:3rem; display:grid; grid-template-columns:repeat(2,1fr); gap:1rem; }
.card { border:1px solid var(--line); background:var(--paper); padding:1.6rem; border-radius:4px; }
.section:not(.alt) .card { background:var(--white); }
.card-num { color:var(--olive-dark); font-size:.75rem; }
.card h3 { margin-top:.75rem; }
.card p { margin-top:.75rem; color:var(--muted); font-size:.93rem; }

.steps { list-style:none; padding:2rem 0 0; margin:3rem 0 0; display:grid; grid-template-columns:repeat(5,1fr); border-top:1px solid var(--line); }
.steps.four { grid-template-columns:repeat(4,1fr); }
.steps li { padding:0 1.25rem; border-left:1px solid var(--line); }
.steps li:first-child { border-left:0; padding-left:0; }
.steps .n { color:var(--olive-dark); font-size:.8rem; }
.steps h3 { margin-top:.55rem; font-size:1.25rem; }
.steps p { margin-top:.55rem; color:var(--muted); font-size:.88rem; }

.risk-grid { margin-top:2.5rem; border:1px solid var(--line); display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:var(--line); border-radius:4px; overflow:hidden; }
.risk-grid div { background:var(--paper); padding:1.5rem; }

.supporting-line { margin-top:2rem; border-left:2px solid var(--olive); padding-left:1rem; font-family:Newsreader,Georgia,serif; font-size:1.55rem; }

.form-shell { margin-top:3rem; display:grid; grid-template-columns:.8fr 1.2fr; gap:2rem; align-items:start; }
.form-context { position:sticky; top:96px; }
.form-context ul { padding-left:1.1rem; color:var(--muted); font-size:.92rem; }
.form-context li { margin:.55rem 0; }
.form-card { border:1px solid var(--line); background:var(--white); padding:1.5rem; border-radius:4px; }
.form-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1rem; }
.field { display:flex; flex-direction:column; gap:.4rem; }
.field.full { grid-column:1 / -1; }
.field label, .fieldset-label { font-size:.8rem; font-weight:600; letter-spacing:.02em; }
.field input:not([type="checkbox"]), .field select, .field textarea {
  width:100%;
  border:1px solid #bbb8ab;
  background:#fffef9;
  color:var(--ink);
  border-radius:4px;
  padding:.75rem .8rem;
  min-height:44px;
}
.field textarea { resize:vertical; min-height:100px; }
.field input:not([type="checkbox"]):focus, .field select:focus, .field textarea:focus { outline:2px solid color-mix(in srgb,var(--olive) 55%, transparent); outline-offset:1px; }
.field-help,
.file-help { color:var(--muted); font-size:.75rem; }
.checkbox-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.65rem 1.1rem; }
.field .check {
  display:grid;
  grid-template-columns:1rem 1fr;
  gap:.6rem;
  align-items:start;
  font-size:.9rem;
  font-weight:500;
  letter-spacing:0;
  line-height:1.35;
  color:var(--muted);
}
.check input[type="checkbox"] {
  width:1rem;
  height:1rem;
  min-height:0;
  margin:.12rem 0 0;
  accent-color:var(--olive-dark);
}
.check input[type="checkbox"]:focus-visible { outline:2px solid color-mix(in srgb,var(--olive) 55%, transparent); outline-offset:2px; }
.form-note { margin-top:1rem; padding:.9rem 1rem; border-left:2px solid var(--olive); background:var(--card); color:var(--muted); font-size:.86rem; }
.form-embed { padding:0; overflow:hidden; }
.form-frame {
  display:block;
  width:100%;
  min-height:2140px;
  border:0;
  background:#fff;
}
.form-frame[data-form-kind="buyer"] { min-height:1600px; }
.form-fallback { margin-top:.75rem; color:var(--muted); font-size:.8rem; }
.form-fallback a { color:var(--olive-dark); text-decoration:underline; text-underline-offset:3px; }
.form-fallback a:hover { color:var(--ink); }

.faq-list { margin-top:2.75rem; border-top:1px solid var(--line); }
details { border-bottom:1px solid var(--line); padding:0; }
summary { cursor:pointer; list-style:none; display:flex; justify-content:space-between; gap:1rem; padding:1.35rem 0; font-family:Newsreader,Georgia,serif; font-size:1.35rem; }
summary::-webkit-details-marker { display:none; }
summary::after { content:"+"; font-family:Inter,sans-serif; color:var(--olive-dark); }
details[open] summary::after { content:"–"; }
details p { max-width:760px; padding:0 0 1.35rem; color:var(--muted); }

.site-footer { border-top:1px solid var(--line); background:var(--card); padding:3.2rem 0 2.2rem; }
.footer-grid { display:grid; grid-template-columns:1.4fr .6fr; gap:3rem; align-items:start; }
.footer-copy { max-width:620px; margin-top:.75rem; color:var(--muted); font-size:.86rem; }
.footer-links { display:grid; gap:.5rem; justify-content:end; text-align:right; }
.footer-links a { color:var(--muted); text-decoration:none; font-size:.9rem; }
.footer-links a:hover { color:var(--ink); }
.footer-bottom { margin-top:2.2rem; padding-top:1.2rem; border-top:1px solid var(--line); color:var(--muted); font-size:.75rem; font-family:"DM Mono",monospace; }

.simple-page { min-height:70vh; padding:80px 0; }
.simple-page article { max-width:760px; }
.simple-page article h1 { font-size:clamp(3rem,6vw,5rem); }
.simple-page article h2 { font-size:2rem; margin-top:2.5rem; }
.simple-page article p, .simple-page article li { color:var(--muted); }

@media (max-width: 920px) {
  .desktop-nav { display:none; }
  .menu-button { display:inline-flex; }
  .hero-grid, .form-shell, .footer-grid { grid-template-columns:1fr; }
  .form-context { position:static; }
  .cards-3 { grid-template-columns:1fr; }
  .steps, .steps.four { grid-template-columns:repeat(2,1fr); gap:2rem 0; }
  .steps li:nth-child(odd) { border-left:0; padding-left:0; }
  .footer-links { justify-content:start; text-align:left; }
}
@media (max-width: 620px) {
  .container { width:min(calc(100% - 28px), var(--max)); }
  .hero { padding:64px 0; }
  .section { padding:64px 0; }
  h1 { font-size:clamp(2.8rem,13vw,4.2rem); }
  .cards-2, .risk-grid, .form-grid, .checkbox-grid, .steps, .steps.four { grid-template-columns:1fr; }
  .steps li { border-left:0; padding-left:0; border-top:1px solid var(--line); padding-top:1rem; }
  .steps li:first-child { border-top:0; padding-top:0; }
  .aside-card { padding:1.4rem; }
  .form-card { padding:1.1rem; }
  .form-embed { padding:0; }
  .form-frame { min-height:2200px; }
  .form-frame[data-form-kind="buyer"] { min-height:1620px; }
}
