/*
 * Soliso contact page — exact Liso VPS contact component hierarchy,
 * with Soliso Yellow replacing the Liso orange accent.
 */
:root { --soliso-yellow: #FFC629; --soliso-yellow-wash: #FFF9E8; --soliso-ink: #201A10; --soliso-muted: #737A75; }
.soliso-contact-page { margin: 0; color: var(--soliso-ink); background: #fff; }
.soliso-contact-page .liso-contact-hero { padding: 8rem 0 5rem; background: var(--soliso-yellow-wash); }
.soliso-contact-page .liso-contact-hero h1 { max-width: 760px; margin: 0 0 .75rem; color: var(--soliso-ink); font-size: 3.25rem; line-height: 1.1; letter-spacing: -.025em; }
.soliso-contact-page .liso-contact-hero p { max-width: 530px; margin: 0; color: var(--soliso-muted); font-size: 1.125rem; line-height: 1.5; }
.soliso-contact-page .liso-rebuilt-eyebrow { color: #8a6200; }
.soliso-contact-page .liso-contact-section { padding: 4rem 0; background: #fff; }
.soliso-contact-page .liso-contact-layout { display: grid; gap: 2.5rem; align-items: start; }
.soliso-contact-page .liso-contact-layout aside > h2 { margin: 0 0 2rem; color: var(--soliso-ink); font: 700 1.5rem/2rem "DM Sans", sans-serif; }
.soliso-contact-page .liso-contact-layout .liso-rebuilt-contact-lines { display: grid; gap: 1.5rem; }
.soliso-contact-page .liso-contact-layout .liso-rebuilt-contact-lines > div { display: flex; gap: 1rem; align-items: flex-start; }
.soliso-contact-page .liso-contact-layout .liso-rebuilt-contact-lines > div > svg { box-sizing: content-box; flex: none; padding: .5rem; color: var(--soliso-ink); background: #FFF3C4; border-radius: .5rem; }
.soliso-contact-page .liso-rebuilt-contact-lines p { display: grid; gap: .1rem; margin: 0; }
.soliso-contact-page .liso-rebuilt-contact-lines small { color: #8a6200; font: 700 .67rem/1.1 "Inter", sans-serif; letter-spacing: .09em; text-transform: uppercase; }
.soliso-contact-page .liso-contact-layout .liso-rebuilt-contact-lines b,
.soliso-contact-page .liso-contact-layout .liso-rebuilt-contact-lines a,
.soliso-contact-page .liso-contact-layout .liso-rebuilt-contact-lines span { color: var(--soliso-muted); font: 400 .875rem/1.45 "Inter", sans-serif; text-decoration: none; }
.soliso-contact-page .liso-contact-layout .liso-rebuilt-contact-lines b { color: var(--soliso-ink); font-weight: 600; }
.soliso-contact-page .liso-contact-layout .liso-rebuilt-contact-lines a:hover,
.soliso-contact-page .liso-contact-layout .liso-rebuilt-contact-lines a:focus-visible { color: #8a6200; outline: 2px solid rgb(255 198 41 / 50%); outline-offset: 3px; }
.soliso-contact-page .liso-contact-company { padding: 1.5rem; margin-top: 2.5rem; background: var(--soliso-yellow-wash); border: 1px solid rgb(138 98 0 / 16%); border-radius: .5rem; }
.soliso-contact-page .liso-contact-company h3 { margin: 0 0 .5rem; color: var(--soliso-ink); font: 700 1rem/1.25 "DM Sans", sans-serif; }
.soliso-contact-page .liso-contact-company p { margin: .5rem 0 0; color: var(--soliso-muted); font: 400 .875rem/1.5 "Inter", sans-serif; }
.soliso-contact-page .liso-contact-company hr { height: 1px; margin: 1rem 0; background: #e3e1de; border: 0; }
.soliso-contact-page .liso-contact-form-panel { padding: 2.25rem; background: #fff; border: 1px solid oklch(94% .004 80); border-radius: 1rem; box-shadow: 0 8px 24px rgb(30 18 4 / 3%); }
.soliso-contact-page .liso-contact-form-heading { max-width: 36rem; padding-bottom: 1.75rem; margin-bottom: 1.75rem; border-bottom: 1px solid oklch(91% .005 80); }
.soliso-contact-page .liso-contact-form-heading .liso-rebuilt-eyebrow { margin-bottom: .75rem; }
.soliso-contact-page .liso-contact-form-heading h2 { margin: 0; color: var(--soliso-ink); font: 700 clamp(1.7rem, 3vw, 2.25rem)/1.1 "DM Sans", sans-serif; letter-spacing: -.04em; }
.soliso-contact-page .liso-contact-form-heading p { max-width: 34rem; margin: .75rem 0 0; color: var(--soliso-muted); font: 400 .9375rem/1.6 "Inter", sans-serif; }
.soliso-contact-page .liso-contact-form { color: var(--soliso-ink); }
.soliso-contact-page .liso-contact-fields { display: grid; gap: 1.25rem; }
.soliso-contact-page .liso-contact-form label { display: grid; gap: .5rem; color: var(--soliso-ink); font: 500 .875rem/1.25rem "Inter", sans-serif; }
.soliso-contact-page .liso-contact-field-label { display: inline-flex; gap: .22rem; align-items: baseline; }
.soliso-contact-page .liso-contact-form em { color: #8a6200; font-style: normal; }
.soliso-contact-page .liso-contact-form input,
.soliso-contact-page .liso-contact-form select,
.soliso-contact-page .liso-contact-form textarea { box-sizing: border-box; width: 100%; padding: .75rem 1rem; color: var(--soliso-ink); background: #fff; border: 1px solid oklch(89% .006 80); border-radius: .5rem; outline: none; font: inherit; font-weight: 400; }
.soliso-contact-page .liso-contact-form input:focus,
.soliso-contact-page .liso-contact-form select:focus,
.soliso-contact-page .liso-contact-form textarea:focus { border-color: #e0a700; box-shadow: 0 0 0 3px rgb(255 198 41 / 32%); }
.soliso-contact-page .liso-contact-message { margin-top: 1.25rem; }
.soliso-contact-page .liso-contact-form textarea { min-height: 9rem; resize: vertical; }
.soliso-contact-page .liso-contact-honeypot { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.soliso-contact-page .liso-contact-form button { display: inline-flex; gap: .5rem; align-items: center; justify-content: center; min-height: 48px; padding: 0 1.5rem; margin-top: 1rem; color: var(--soliso-ink); background: var(--soliso-yellow); border: 0; border-radius: .5rem; font: 600 .875rem/1.15 "Inter", sans-serif; cursor: pointer; transition: background-color .2s cubic-bezier(.4,0,.2,1), transform .2s cubic-bezier(.4,0,.2,1); }
.soliso-contact-page .liso-contact-form button:hover,
.soliso-contact-page .liso-contact-form button:focus-visible { background: #e8b116; outline: 3px solid rgb(255 198 41 / 45%); outline-offset: 2px; }
.soliso-contact-page .liso-contact-form button:active { transform: scale(.97); }
.soliso-contact-page .liso-contact-form button:disabled { cursor: wait; opacity: .58; }
.soliso-contact-page .liso-contact-note { display: none; margin: 1.25rem 0 0; color: var(--soliso-muted); font: 400 .78rem/1.5 "Inter", sans-serif; }
.soliso-contact-page .liso-contact-note:not(:empty) { display: block; }
.soliso-contact-page .liso-contact-note.is-error { color: #9d2718; font-weight: 600; }
.soliso-contact-page .liso-contact-note.is-success { color: #567000; font-weight: 600; }
@media (min-width: 640px) { .soliso-contact-page .liso-contact-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 960px) { .soliso-contact-page .liso-contact-layout { grid-template-columns: minmax(0, .516fr) minmax(0, 1fr); gap: 2.5rem; } }
@media (max-width: 639px) { .soliso-contact-page .liso-contact-hero { padding: calc(64px + 4rem) 0 3.75rem; } .soliso-contact-page .liso-contact-hero h1 { font-size: clamp(2.4rem, 12vw, 3.25rem); } .soliso-contact-page .liso-contact-form-panel { padding: 1.5rem; border-radius: .75rem; } .soliso-contact-page .liso-contact-form-heading { padding-bottom: 1.5rem; margin-bottom: 1.5rem; } }
