/* Shared visual finish for the existing quote and booking screens. */
:root {
    --ink: #203640;
    --txt: #53656d;
    --mut: #62727a;
    --line: #d6e2e2;
    --bg: #f4f7f6;
    --blue: #087999;
    --accent: #203640;
    --accent-d: #087999;
    --accent-ink: #fff;
}
body { line-height: 1.6; border-top: 5px solid #203640; }
.wrap { padding-top: 40px; }
h1 { font-size: clamp(26px, 5vw, 34px); font-weight: 600; letter-spacing: -.045em; line-height: 1.2; }
.logo { margin-bottom: 32px; }
.sub { line-height: 1.8; margin-top: 16px; margin-bottom: 28px; color: #53656d; }
.card, .opt { border: 1px solid #d6e2e2; border-radius: 10px; box-shadow: 0 16px 45px -35px #20364066; padding: 28px; }
.opt { transition: border-color .2s, transform .2s; }
.opt:hover { border-color: #087999; }
.opt h2 { font-weight: 600; font-size: 19px; letter-spacing: -.02em; }
.opt .tag { border-radius: 4px; background: #eaf3f4; color: #086a82; font-size: 11px; margin-bottom: 14px; }
.opt p { line-height: 1.8; color: #53656d; }
input, select, textarea, .btn { border-radius: 6px; }
.btn { font-weight: 600; }
:focus-visible { outline: 3px solid #087999; outline-offset: 4px; }
input:focus, select:focus, textarea:focus { border-color: #087999; box-shadow: 0 0 0 3px #0879991a; }
.back { padding: 12px; color: #086a82; }
.foot { font-size: 11px; line-height: 1.8; padding: 24px; color: #62727a; }
@media(max-width: 480px) {
    .wrap { padding: 28px 20px 40px; }
    .card, .opt { padding: 22px; }
}
@media(prefers-reduced-motion: reduce) {
    *, *::before, *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}
