:root { --paper:#fffdf8; --ink:#1a1a1a; --muted:#625d53; --rule:#e8e0ce; --gold:#d69a2d; --deep:#f4eddf; --green:#3e7f4f; }
.resource-page { max-width: 1080px; margin: 0 auto; padding: 34px 24px 96px; }
.resource-hero { max-width: 790px; margin: 32px 0 46px; }
.resource-hero h1 { font-family: var(--serif, 'Instrument Serif', Georgia, serif); font-weight: 400; font-size: clamp(42px, 6vw, 68px); line-height: 1.02; margin: 12px 0 18px; }
.resource-hero p { color: var(--muted); font-size: 19px; line-height: 1.6; }
.resource-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(250px,1fr)); gap:18px; }
.resource-card { border:1px solid var(--rule); border-radius:12px; padding:24px; background:#fff; display:flex; flex-direction:column; min-height:260px; }
.resource-card .number { font-family:var(--mono, monospace); color:var(--gold); font-size:12px; letter-spacing:.1em; }
.resource-card h2 { font-family:var(--serif, Georgia, serif); font-size:27px; font-weight:400; line-height:1.15; margin:18px 0 10px; }
.resource-card p { color:var(--muted); line-height:1.55; margin:0 0 20px; }
.resource-card a { margin-top:auto; color:var(--ink); font-weight:600; }
.tool-layout { display:grid; grid-template-columns:minmax(0,1fr) 350px; gap:42px; align-items:start; }
.tool-copy h2,.tool-content h2 { font-family:var(--serif, Georgia, serif); font-weight:400; font-size:32px; }
.tool-copy p,.tool-copy li,.tool-content p,.tool-content li { color:var(--muted); line-height:1.65; }
.gate { border:1px solid var(--rule); border-radius:12px; padding:24px; background:#fff; position:sticky; top:24px; }
.gate h2 { font-family:var(--serif, Georgia, serif); font-size:27px; font-weight:400; margin:0 0 8px; }
.gate p { color:var(--muted); line-height:1.5; font-size:14px; }
.resource-form { display:grid; gap:14px; margin-top:18px; }
.resource-form label { display:grid; gap:6px; font-size:13px; font-weight:600; }
.resource-form input,.resource-form select { width:100%; padding:12px; border:1px solid var(--rule); border-radius:8px; background:var(--paper); font:inherit; }
.resource-form button,.print-button { border:0; border-radius:999px; padding:13px 19px; background:var(--ink); color:white; font:inherit; font-weight:600; cursor:pointer; }
.resource-form button:disabled { opacity:.65; }
.form-note,.form-message { font-size:12px !important; margin:0; }
.form-message[data-state="error"] { color:#a43f32; }
.form-message[data-state="success"] { color:var(--green); }
.tool-content { margin-top:48px; border-top:2px solid var(--ink); padding-top:26px; }
.tool-content[hidden] { display:none; }
.worksheet { background:#fff; border:1px solid var(--rule); border-radius:10px; padding:28px; margin:20px 0; }
.worksheet h3 { margin:0 0 12px; font-size:18px; }
.write-lines { min-height:95px; background:repeating-linear-gradient(to bottom,transparent 0,transparent 29px,var(--rule) 30px); }
.checklist { list-style:none; padding:0; }
.checklist li { padding:12px 0 12px 34px; border-bottom:1px solid var(--rule); position:relative; }
.checklist li:before { content:'□'; position:absolute; left:4px; color:var(--gold); font-size:21px; top:8px; }
.cost-table { width:100%; border-collapse:collapse; }
.cost-table th,.cost-table td { text-align:left; padding:11px 8px; border-bottom:1px solid var(--rule); }
.cost-table input { width:100%; max-width:120px; padding:8px; border:1px solid var(--rule); border-radius:6px; }
.cost-total { font-family:var(--serif, Georgia, serif); font-size:30px; margin:22px 0; }
.listening-box { background:var(--deep); border-left:3px solid var(--gold); padding:24px; margin:24px 0; }
@media(max-width:800px){.tool-layout{grid-template-columns:1fr}.gate{position:static}}
@media print { .header,.footer,.gate,.breadcrumb,.print-button,.resource-hero p { display:none!important; } .resource-page{padding:0;max-width:none}.tool-layout{display:block}.tool-content{display:block!important;border:0;margin:0;padding:0}.worksheet{break-inside:avoid} }
