/* Domain diagnosis shares Noto Sans JP and the official GATUN palette. */
.domain-landing .hero-grid { align-items:start; grid-template-columns:1fr 1.04fr; gap:64px; padding-block:76px; }
.domain-landing .hero-copy { padding-top:55px; }
.domain-landing .hero h1 { font-size:clamp(30px,2.9vw,43px); letter-spacing:-.055em; }
.domain-landing .lead { font-size:15px; line-height:2.1; }
.domain-steps { display:grid; gap:16px; margin:38px 0; color:var(--brand-teal-text); font-size:12px; }
.domain-steps b { color:var(--brand-navy); margin-left:15px; font-weight:500; }
.domain-sample-link { color:var(--brand-blue); text-decoration:none; border-bottom:1px solid var(--brand-input-line); padding-bottom:8px; font-size:13px; }
.domain-sample-link span { margin-left:20px; }
.domain-hero-note { color:var(--brand-muted); font-size:11px; line-height:2; margin-top:31px; }
.domain-entry { background:#fff; padding:32px; border:1px solid var(--brand-line); border-top:3px solid var(--brand-blue); box-shadow:8px 8px 0 var(--brand-tint); }
#domain-form { scroll-margin-top:110px; }
.domain-entry h2 { font-size:23px; margin:5px 0 12px; letter-spacing:-.04em; }
.domain-entry-lead { font-size:12px; color:var(--brand-muted); margin-bottom:20px; }
.domain-input-row { display:flex; gap:10px; }
.domain-entry input[type=text] { min-width:0; width:100%; border:1px solid var(--brand-input-line); border-radius:3px; padding:14px; color:var(--brand-navy); background:#fff; font:400 17px/1.7 var(--font); }
.domain-entry input::placeholder { color:var(--brand-muted); opacity:1; }
.domain-entry input:focus { outline:2px solid var(--brand-blue); outline-offset:2px; }
.domain-entry input[aria-invalid=true] { border-color:#a43c38; }
.domain-input-row .btn { white-space:nowrap; padding:12px 19px; min-width:117px; font-size:14px; }
.domain-entry .hint { font-size:10px; color:var(--brand-muted); margin:8px 0 17px; }
.domain-entry .check { font-size:12px; line-height:1.9; margin:12px 0; }
.domain-entry .check input { accent-color:var(--brand-blue); flex-shrink:0; width:17px; height:17px; }
.domain-options { margin:19px 0 0; font-size:11px; color:var(--brand-muted); }
.domain-options summary { cursor:pointer; color:var(--brand-body); }
.domain-options summary span { margin-left:8px; }
.domain-options label { display:block; margin:15px 0 6px; }
.domain-options input[type=text] { font-size:14px; padding:9px 12px; }
.domain-options p { margin:8px 0; }
.domain-form-error { margin-top:18px; padding:12px; background:#fcf0ed; color:#923c35; border-left:3px solid #a43c38; font-size:12px; }
.domain-submit-status { color:var(--brand-blue); font-size:12px; margin:12px 0 0; }
.domain-submit-status:empty { display:none; }
.domain-checklist { list-style:none; padding:0; margin:25px 0 0; }
.domain-checklist li { display:flex; gap:14px; align-items:center; padding:17px 0; border-top:1px solid var(--brand-line); }
.domain-icon { flex:none; font-size:14px; color:var(--brand-teal-text); min-width:27px; }
.domain-checklist b { display:block; color:var(--brand-navy); font-size:14px; line-height:1.7; }
.domain-checklist div > span { color:var(--brand-muted); font-size:10px; display:block; margin-top:2px; }
.domain-checkmark { margin-left:auto; color:var(--brand-muted); font-size:14px; }
.domain-checklist .domain-private { padding-bottom:0; }
.domain-lock { font-size:9px; margin-left:auto; padding:3px 7px; color:var(--brand-blue); background:var(--brand-tint); white-space:nowrap; }
.domain-section-heading { display:grid; grid-template-columns:1fr 1fr; column-gap:70px; }
.domain-section-heading .sec-eyebrow { grid-column:1 / -1; text-align:left; }
.domain-section-heading .sec-title { text-align:left; margin:0; }
.domain-section-heading .sec-lead { align-self:end; margin:0; }
.domain-coverage { margin-top:48px; }
.domain-coverage article { display:grid; grid-template-columns:180px 1fr; gap:40px; border-top:1px solid var(--brand-line); padding-block:35px; }
.domain-coverage-no { color:var(--brand-teal-text); font-size:29px; font-weight:400; }
.domain-coverage h3 { font-size:20px; margin-bottom:15px; }
.domain-coverage p,.domain-coverage li { font-size:14px; line-height:2; }
.domain-coverage p { max-width:58em; }
.domain-coverage ul { padding-left:18px; color:var(--brand-muted); margin-bottom:0; }
.domain-landing .form-kicker { letter-spacing:.1em; font-size:10px; }
.domain-landing .flow { counter-reset:none; }
.domain-landing .demo-banner { font-size:11px; }
.domain-landing button:disabled { opacity:.65; cursor:wait; }
@media(max-width:1100px){.domain-landing .hero-grid { gap:35px; }.domain-entry { padding:25px; }.domain-landing .hero h1 { font-size:32px; }.domain-input-row .btn { min-width:100px; padding-inline:12px; }}
@media(max-width:959px){.domain-landing .hero-grid { grid-template-columns:1fr; padding-block:40px 55px; gap:38px; }.domain-landing .hero-copy { padding-top:0; }.domain-landing .hero h1 { font-size:38px; }.domain-entry { width:100%; max-width:680px; }.domain-steps { grid-template-columns:repeat(3,1fr); gap:14px; margin:25px 0; }.domain-steps b { display:block; margin:5px 0 0; }.domain-section-heading { display:block; }.domain-section-heading .sec-lead { margin-top:20px; }.domain-coverage article { grid-template-columns:100px 1fr; gap:25px; }}
@media(max-width:580px){.domain-landing .brand span { display:none; }.domain-landing .hero h1 { font-size:28px; line-height:1.7; }.domain-landing .hero .lead { font-size:13px; }.domain-entry { padding:24px 20px; box-shadow:5px 5px 0 var(--brand-tint); }.domain-entry h2 { font-size:20px; }.domain-input-row { flex-wrap:wrap; }.domain-input-row .btn { width:100%; min-height:48px; justify-content:space-between; }.domain-input-row input { font-size:16px; }.domain-steps { font-size:10px; gap:10px; }.domain-hero-note { font-size:10px; }.domain-checklist b { font-size:13px; }.domain-checklist li { gap:10px; }.domain-lock { font-size:8px; padding-inline:5px; }.domain-coverage article { grid-template-columns:1fr; gap:13px; padding-block:28px; }.domain-coverage h3 { font-size:18px; }.domain-coverage-no { font-size:22px; }.domain-coverage p,.domain-coverage li { font-size:13px; }.domain-landing .hero-grid { gap:30px; }}
