.public-page { --bg:#faf7f2; --bg2:#fffdf9; --card:#fff; --card2:#f4eee5; --line:#ddd6ca; --text:#262b30; --muted:#59616a; --accent:#9b461d; --accent2:#bb5526; --shadow:0 18px 60px #35251412; }
.public-page [hidden] { display:none!important; }
.public-page p { color:var(--muted); }
.public-page :focus-visible { outline:3px solid #9b461d; outline-offset:4px; }
.public-page select { color-scheme:light; background:#fffefa; color:var(--text); }
.public-page select option,.public-page select optgroup { background:#fffefa; color:var(--text); }
.public-page select option:checked,.public-page select option:hover { background:#ead4c2; color:#402918; }
.public-page figure { margin:0; }
.public-page h1 { max-width:850px; font-size:clamp(2.25rem,4.8vw,4.25rem); line-height:1.07; letter-spacing:-.05em; }
.public-hero { padding-top:clamp(30px,5vw,66px)!important; }
.public-hero-grid { display:grid; grid-template-columns:1.08fr .92fr; gap:clamp(24px,5vw,64px); align-items:center; }
.public-breadcrumb { font-size:.85rem; margin-bottom:32px; color:var(--muted); }
.public-breadcrumb a,.public-text-link { color:var(--accent); text-decoration:underline; text-underline-offset:4px; }
.public-lead { font-size:clamp(1.05rem,1.6vw,1.25rem); line-height:1.7; margin:22px 0 28px; max-width:750px; }
.public-price { font-size:.9rem; margin:18px 0 0; }
.public-hero-image img { display:block; width:100%; height:auto; border-radius:24px 24px 80px 24px; box-shadow:var(--shadow); }
.public-hero-image figcaption { padding-top:12px; font-size:.82rem; line-height:1.6; color:var(--muted); }
.public-story-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(28px,5vw,72px); }
.public-story-grid h2 { font-size:clamp(1.7rem,3vw,2.6rem); }
.public-story-grid article { min-width:0; }
.public-steps,.public-features { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; padding:0; list-style:none; margin:30px 0; }
.public-steps li,.public-features article { padding:26px; background:white; border:1px solid var(--line); border-radius:18px; }
.public-steps strong { display:block; margin-bottom:12px; color:var(--accent); }
.public-steps p { margin:0; }
.public-narrow { max-width:900px!important; }
.public-final { text-align:center; padding:clamp(28px,6vw,70px)!important; background:#fff3df; border:1px solid #eddbc0; border-radius:24px; }
.public-final h2 { max-width:800px; margin:0 auto 20px; }
.public-related { display:flex; justify-content:center; flex-wrap:wrap; gap:14px 26px; padding-bottom:36px!important; }
.public-related a { color:var(--accent); text-decoration:underline; }
.public-prose { max-width:900px!important; }
.public-prose article { padding:clamp(22px,5vw,50px); border-radius:20px; background:white; border:1px solid var(--line); overflow-wrap:anywhere; }
.public-prose article h2,.public-prose article h3,.public-prose article h4 { margin-top:28px; color:var(--text); }
.public-prose article > :first-child { margin-top:0; }
.public-prose article a { color:var(--accent); text-decoration:underline; }
.public-service-card { max-width:620px; margin:auto; background:white; border:1px solid var(--line); border-radius:22px; padding:clamp(22px,5vw,40px); }
.public-service-card label { display:block; margin:20px 0 8px; font-weight:650; }
.public-service-card input { width:100%; background:#fffdfa; color:var(--text); border:1px solid #aba69e; border-radius:10px; min-height:52px; padding:12px; font:inherit; }
.public-service-card input::placeholder { color:#697078; }
.public-service-card button { margin-top:20px; font:inherit; }
.public-page .legal-modal .modal { background:#fff; color:var(--text); border-color:var(--line); }
.public-page .modal-body p,.public-page .modal-body li { color:var(--muted); }
.public-page .modal-header { background:#fffdf9; }
.public-page .modal-body { color:var(--text); }
.public-page .modal-close { color:var(--text); }
.public-page .dh-consent p { color:#f5f7fa; }
@media(max-width:800px) { .public-hero-grid,.public-story-grid { grid-template-columns:1fr; } .public-hero-image { max-width:600px; } .public-steps,.public-features { grid-template-columns:1fr; } .public-breadcrumb { margin-bottom:24px; } }
