/* Copy and form additions on top of the latest handoff visual system. */
[hidden] { display:none!important; }
.button [data-action-label] { font:inherit; }
.header-inner > .primary-action { min-height:44px; padding:10px 16px; font-size:12px; }
.hero-inner { padding-block:clamp(70px,8vw,112px) clamp(75px,8vw,116px); }
.section { padding-block:clamp(72px,7.5vw,112px); }
h1,h2,h3 { overflow-wrap:anywhere; }
.service-icon { display:none; }
.service-card { min-height:380px; }
.service-number { margin-bottom:48px; }
.roadmap-note { display:grid; grid-template-columns:minmax(210px,.6fr) minmax(0,1fr); gap:40px; margin-top:38px; padding-top:30px; border-top:1px solid #b7c0b8; }
.roadmap-label { margin:0 0 12px; color:#526057; font:500 10px var(--mono); text-transform:uppercase; letter-spacing:.1em; }
.roadmap-note h3 { font-size:26px; margin:0; letter-spacing:-.04em; }
.roadmap-note > p { max-width:620px; margin:0; color:#48554d; font-size:14px; line-height:1.7; }
.payment-example .section-head { align-items:start; }
.payment-example .section-head > p { color:#bdc7c0; }
.example .section-head { margin-bottom:38px; }
.faq-list summary::after,.faq-list details[open] summary::after { content:none; }
.faq-list summary > span { display:grid; place-items:center; width:26px; height:26px; flex:none; border:1px solid #95a298; color:#5b715f; font:400 20px var(--mono); }
.faq-list details[open] summary > span { transform:rotate(45deg); }
.contact-card { width:100%; }
.contact-caption { margin-top:0; }
.contact-card > a { display:block; max-width:100%; font-size:clamp(19px,2vw,29px); line-height:1.6; overflow-wrap:anywhere; text-underline-offset:5px; }
.contact-mark { margin-top:30px; font-size:40px; color:#b4c1b7; }
.form-card { padding:32px; background:#f4f6f3; color:#0c0d0e; }
.form-card fieldset { min-width:0; padding:0; margin:0; border:0; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.field { min-width:0; margin-bottom:20px; }
.form-card label { display:block; font-size:13px; font-weight:700; }
.form-card input:not([type=checkbox]), .form-card select, .form-card textarea { display:block; box-sizing:border-box; width:100%; min-height:48px; margin-top:8px; padding:11px 12px; border:1px solid #7c8880; border-radius:0; background:#fff; color:#0c0d0e; font:16px var(--display); }
.form-card textarea { resize:vertical; }
.form-card .checkbox { display:flex; align-items:start; gap:11px; margin-bottom:12px; font-size:12px; font-weight:400; line-height:1.6; }
.checkbox input { width:16px; height:16px; margin:2px 0 0; flex:none; }
.checkbox a { text-underline-offset:3px; }
.contact .form-card p { color:#48554d; font-size:12px; }
.field-help { margin:0 0 22px 27px; }
.field-error { display:block; margin-top:6px; color:#9b2921; font-size:12px; line-height:1.4; }
.field-error:empty,.form-result:empty { display:none; }
[aria-invalid=true] { border-color:#9b2921!important; }
.form-result { padding:14px; margin:18px 0; border:1px solid #59665d; font-size:14px; line-height:1.6; }
.contact .form-result[data-state=error] { color:#9b2921; border-color:#9b2921; }
.form-card .submit-button { width:100%; background:#0c0d0e; color:#fff; border-color:#0c0d0e; cursor:pointer; }
.form-card .submit-button:disabled { cursor:wait; }
.backup-email { margin:20px 0 0; overflow-wrap:anywhere; }
.honeypot { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.privacy-page { min-height:calc(100vh - 160px); padding-block:clamp(70px,8vw,120px); }
.privacy-page h1 { max-width:920px; font-size:clamp(38px,5vw,72px); line-height:1.08; letter-spacing:-.055em; }
.privacy-page p { max-width:720px; font-size:17px; line-height:1.75; color:#435147; margin-bottom:26px; }
.privacy-page .button { background:#0c0d0e; color:#fff; border-color:#0c0d0e; }
@media(max-width:1100px) { .header-inner > .primary-action { display:none; } }
@media(max-width:800px) {
 .header-inner > .lang-switch { display:flex; margin-left:auto; }
 .menu-toggle { margin-left:0; }
 .service-card { min-height:0; }
 .example-steps { grid-template-columns:1fr; gap:0; }
 .example-step { padding-bottom:28px; }
 .example-step p { max-width:650px; }
 .form-row { grid-template-columns:1fr; gap:0; }
}
@media(max-width:560px) {
 .hero-inner { padding-block:68px 75px; }
 .hero h1 { font-size:clamp(40px,10.8vw,54px); }
 .section { padding-block:68px; }
 .section h2 { font-size:clamp(36px,9.5vw,48px); }
 .roadmap-note { grid-template-columns:1fr; gap:18px; }
 .form-card { padding:22px; }
}
