/* JWVest: existing flannel red, near-black surfaces, Playfair and Inter. */
:root{color-scheme:dark;--contact-muted:#b8b8b8}
html{scroll-padding-top:100px}
body{padding-top:90px}
.contact-jason{max-width:1100px;margin:0 auto;padding:48px 24px 80px}
.contact-intro{display:grid;grid-template-columns:minmax(0,1fr) 240px;align-items:center;gap:64px;padding-bottom:48px}
.contact-intro h1{font-family:var(--font-display);font-size:clamp(2.6rem,5.4vw,4.6rem);line-height:1.08;letter-spacing:-.035em;color:var(--text-heading);max-width:12ch;margin:0 0 24px}
.contact-intro p{max-width:49ch;color:var(--contact-muted);font-size:1.05rem}
.contact-portrait{border-bottom:6px solid var(--accent);background:var(--card)}
.contact-portrait img{display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;object-position:center top}
.contact-ways{border-top:6px solid var(--accent)}
.contact-way{display:grid;grid-template-columns:240px minmax(0,1fr) 240px;align-items:start;gap:32px;padding:32px 0;border-bottom:1px solid #383838}
.contact-jason h2{font-family:var(--font-display);font-size:1.65rem;line-height:1.25;color:var(--text-heading);font-weight:700}
.contact-way p{color:var(--contact-muted);max-width:44ch}
.contact-action{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 18px;border:1px solid #ec6875;border-radius:5px;background:var(--accent);color:#fff;font:700 .85rem/1.4 var(--font-body);text-align:center;white-space:nowrap;box-shadow:inset 0 1px 0 #ffb8be,inset 0 -1px 0 #7a1616,0 3px 12px #c42a2a30,0 2px 3px #0008}
.contact-action:hover{background:var(--accent-dim);color:#fff;box-shadow:inset 0 1px 0 #ffb8be,inset 0 -1px 0 #7a1616,0 3px 16px #c42a2a50,0 2px 3px #0008}
.contact-action:active{box-shadow:inset 0 1px 0 #ffb8be,inset 0 -1px 0 #7a1616,0 1px 4px #c42a2a20,0 1px 2px #0008}
.contact-way .contact-video-teaser{grid-column:1/-1;max-width:none;font-size:.9rem}
.contact-video-teaser a{color:#ffb0bb}
.contact-socials{padding-top:44px}
.contact-socials ul{list-style:none;display:flex;flex-wrap:wrap;gap:8px 24px;margin-top:20px;padding:0}
.contact-socials a{display:inline-flex;align-items:center;min-height:44px;color:var(--text-heading);font-weight:600;border-bottom:1px solid #535353}
.contact-socials a:hover{color:#ffb0bb;border-color:#ffb0bb}
.contact-jason a:focus-visible,.contact-jason button:focus-visible{outline:3px solid #ffb0bb;outline-offset:5px}
.contact-booking{display:grid;grid-template-columns:minmax(0,1fr) 240px;align-items:center;gap:32px;margin-top:40px;padding:32px;background:var(--card);border:1px solid #383838;border-left:4px solid var(--accent);border-radius:5px}
.contact-booking h2{margin:0}
@media(max-width:600px){.contact-booking{grid-template-columns:1fr;gap:24px;padding:24px 20px}.contact-booking .contact-action{width:100%}}
@media(max-width:1000px){.contact-way{grid-template-columns:240px minmax(0,1fr);gap:16px 24px}.contact-way .contact-action{grid-column:2;justify-self:start}.contact-intro{gap:32px;grid-template-columns:minmax(0,1fr) 200px}}
@media(max-width:600px){body{padding-top:90px}.contact-jason{padding:24px 20px 48px}.contact-intro{grid-template-columns:1fr;gap:24px;padding-bottom:32px}.contact-intro h1{font-size:2.8rem}.contact-portrait{width:140px}.contact-way{grid-template-columns:1fr;gap:14px;padding:28px 0}.contact-way .contact-action{grid-column:1;justify-self:stretch}.contact-socials{padding-top:32px}.contact-socials ul{gap:4px 24px}}
