.contact-page{background:var(--surface,#f7f0e7);min-height:100dvh;color:var(--ink-strong,#17313a);padding:clamp(18px,3.4vw,44px) clamp(18px,5vw,72px) clamp(40px,6vw,88px)}.contact-nav{justify-content:space-between;align-items:center;gap:16px;margin-bottom:clamp(28px,5vh,64px);display:flex}.contact-nav>a:first-child{text-decoration:none}.contact-back{border:1px solid color-mix(in oklab, currentColor 24%, transparent);color:inherit;border-radius:999px;padding:9px 16px;font-size:.84rem;font-weight:600;text-decoration:none;transition:border-color .16s,background-color .16s}.contact-back:hover{background:color-mix(in oklab, currentColor 7%, transparent);border-color:currentColor}.contact-hero{grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);align-items:start;gap:clamp(28px,4.5vw,64px);max-width:1180px;margin-inline:auto;display:grid}.contact-copy{gap:18px;display:grid}.contact-copy h1{margin:0;font-size:clamp(2rem,1.4rem + 2.6vw,3.3rem);line-height:1.08}.contact-copy h1 em{color:var(--teal,#167b78);font-style:normal}.contact-copy>p{max-width:42ch;color:color-mix(in oklab, currentColor 78%, transparent);margin:0}.contact-channels{gap:12px;display:grid}.contact-channel{border:1px solid color-mix(in oklab, currentColor 14%, transparent);background:color-mix(in oklab, var(--surface,#f7f0e7) 65%, #fff);color:inherit;border-radius:16px;align-items:center;gap:14px;padding:15px 18px;text-decoration:none;transition:border-color .16s,transform .16s,box-shadow .16s;display:flex}.contact-channel:hover{border-color:var(--teal,#167b78);transform:translateY(-2px);box-shadow:0 10px 26px -18px #071b228c}.contact-channel:focus-visible{outline:2px solid var(--teal,#167b78);outline-offset:3px}.contact-channel>svg:first-child{color:var(--teal,#167b78);flex:none}.contact-channel>svg:last-child{opacity:.55;flex:none;margin-left:auto}.contact-channel span{gap:2px;min-width:0;display:grid}.contact-channel strong{letter-spacing:.26em;color:color-mix(in oklab, currentColor 60%, transparent);font-size:.68rem}.contact-channel b{overflow-wrap:anywhere;font-size:.98rem}.contact-channel small{color:color-mix(in oklab, currentColor 64%, transparent)}.contact-composer{border:1px solid color-mix(in oklab, currentColor 14%, transparent);background:color-mix(in oklab, var(--surface,#f7f0e7) 55%, #fff);border-radius:18px;gap:12px;padding:18px;display:grid}.contact-composer-head{align-items:center;gap:10px;display:flex}.contact-composer-head span{display:grid}.contact-composer-head small{color:color-mix(in oklab, currentColor 62%, transparent)}.contact-composer label{gap:6px;display:grid}.contact-composer label span{letter-spacing:.24em;color:color-mix(in oklab, currentColor 58%, transparent);font-size:.66rem;font-weight:700}.contact-composer input,.contact-composer textarea{border:1px solid color-mix(in oklab, currentColor 18%, transparent);background:var(--surface,#fffdf8);color:inherit;font:inherit;resize:vertical;border-radius:11px;padding:11px 13px}.contact-composer input:focus-visible,.contact-composer textarea:focus-visible{outline:2px solid var(--teal,#167b78);outline-offset:1px}.contact-composer button{background:var(--teal,#167b78);color:#f8f4ea;cursor:pointer;border:0;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:12px 18px;font-weight:700;transition:background-color .16s,transform .16s;display:inline-flex}.contact-composer button:hover:not(:disabled){background:color-mix(in oklab, var(--teal,#167b78) 82%, #000);transform:translateY(-1px)}.contact-composer button:disabled{opacity:.5;cursor:not-allowed}.contact-safety{color:color-mix(in oklab, currentColor 62%, transparent);align-items:center;gap:7px;display:inline-flex}.contact-specimen{gap:12px;display:grid;position:sticky;top:24px}.contact-specimen-note{color:color-mix(in oklab, currentColor 66%, transparent);text-align:center;margin:0;font-size:.88rem}.contact-heart-loading{justify-items:center;gap:10px;padding:24px;display:grid}.contact-heart-loading img{opacity:.85;border-radius:18px;max-width:min(320px,70%);height:auto}.contact-heart-loading span{color:color-mix(in oklab, currentColor 60%, transparent);font-size:.82rem}@media (width<=900px){.contact-hero{grid-template-columns:1fr}.contact-specimen{order:2;position:static}}
