.diagnostic{background:var(--ink);color:var(--paper)}
.diagnostic-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(2.5rem,8vw,8rem)}
.diagnostic h2{font-size:clamp(2.5rem,5vw,4.5rem)}
.diagnostic .kicker{color:#b8c3bc}
.diagnostic-intro{max-width:470px;color:#c8cec9;font-size:1.08rem;line-height:1.55;margin:1.8rem 0 0}
.diagnostic-form{display:grid;gap:.7rem;align-content:start}
.diagnostic-form label{font-size:.88rem;font-weight:600;margin-top:.35rem}
.diagnostic-form label span{font-weight:400;color:#b8c3bc}
.diagnostic-form select,.diagnostic-form textarea{width:100%;appearance:none;border:1px solid rgba(244,240,232,.35);border-radius:0;background:transparent;color:var(--paper);font:400 1rem var(--sans);padding:.9rem}
.diagnostic-form select:invalid{color:#b8c3bc}
.diagnostic-form option{background:var(--ink);color:var(--paper)}
.diagnostic-form textarea::placeholder{color:#aeb8b1}
.diagnostic-form select:focus,.diagnostic-form textarea:focus{outline:2px solid #f0a18b;outline-offset:2px}
.diagnostic-form .button{justify-content:space-between;margin-top:1rem;background:var(--accent);border:0;cursor:pointer;text-align:left}
.diagnostic-form .button:hover{background:#ed7958}
.diagnostic-result{border-top:1px solid rgba(244,240,232,.35);margin-top:1.2rem;padding-top:1.2rem;color:#d8ddd9}
.diagnostic-result strong{display:block;font-family:var(--serif);font-size:1.55rem;font-weight:500;line-height:1.1;color:var(--paper);margin-bottom:.6rem}
.diagnostic-result a{display:inline-flex;margin-top:1rem;color:var(--paper);font-weight:600;text-underline-offset:4px}
.about{display:grid;grid-template-columns:.25fr 1.1fr .85fr;gap:clamp(2rem,5vw,5rem);align-items:start}
.about-mark{font:500 clamp(3rem,7vw,6.2rem)/.8 var(--serif);color:var(--accent)}
.about h2{font-size:clamp(2.35rem,4.2vw,4rem)}
.about-copy{padding-top:.35rem;color:#445049}
.about-copy p{margin:0;max-width:430px}
.about-copy p+p{margin-top:1rem}
@media(max-width:720px){.diagnostic-grid,.about{grid-template-columns:1fr;gap:2rem}.about-mark{display:none}}
.contact-request{grid-column:2;display:grid;gap:.7rem;align-content:start;border-top:1px solid rgba(244,240,232,.35);padding-top:1.5rem;margin-top:1.5rem}
.contact-request-kicker{font:500 .7rem var(--mono);text-transform:uppercase;letter-spacing:.1em;color:#b8c3bc;margin:0}
.contact-request>p:not(.contact-request-kicker):not(.contact-request-status){margin:0 0:.45rem;color:#d8ddd9;font-size:.94rem;line-height:1.5}
.contact-request label{font-size:.88rem;font-weight:600;margin-top:.35rem}
.contact-request label span{font-weight:400;color:#b8c3bc}
.contact-request input{width:100%;border:1px solid rgba(244,240,232,.35);border-radius:0;background:transparent;color:var(--paper);font:400 1rem var(--sans);padding:.9rem}
.contact-request input:focus{outline:2px solid #f0a18b;outline-offset:2px}
.contact-request .button{justify-content:space-between;margin-top:1rem;background:var(--accent);border:0;cursor:pointer;text-align:left}
.contact-request .button:hover{background:#ed7958}
.contact-request .button:disabled{cursor:wait;opacity:.7}
.contact-request-status{min-height:1.5rem;margin:.25rem 0 0;color:#d8ddd9;font-size:.93rem}
.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
@media(max-width:720px){.contact-request{grid-column:auto}}
