@font-face{font-family:Fraunces;src:url('/fonts/fraunces-semibold.ttf');font-weight:600}
@font-face{font-family:Instrument;src:url('/fonts/instrument-sans-regular.ttf')}
@font-face{font-family:Instrument;src:url('/fonts/instrument-sans-bold.ttf');font-weight:700}
@font-face{font-family:InstrumentSerif;src:url('/fonts/instrument-serif-italic.ttf');font-style:italic}
@font-face{font-family:Plex;src:url('/fonts/ibm-plex-mono-regular.ttf')}
@font-face{font-family:Plex;src:url('/fonts/ibm-plex-mono-semibold.ttf');font-weight:600}
:root{--ink:#1c2429;--accent:#506a78;--paper:#f5f4f0;--white:#fff;--line:#ccd4d8;--soft:#e9eff1;--muted:#59666f;--error:#963a31}
*{box-sizing:border-box}html{background:var(--paper);scroll-behavior:smooth}body{margin:0;color:var(--ink);font:16px/1.6 Instrument,Arial,sans-serif}a{color:inherit}button,input,textarea{font:inherit}.shell{width:min(1200px,calc(100% - 64px));margin:auto}
.skip{position:fixed;top:12px;left:20px;z-index:100;padding:10px 16px;background:white;transform:translateY(-180%)}.skip:focus{transform:none}
.booking-hero{position:relative;isolation:isolate;overflow:hidden;color:white;width:calc(100% - 32px);margin:16px;border-radius:24px;background:#26363f}
.booking-hero:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#18232bdf,#18232b7a),url('/book/hero-house.webp') center 55%/cover;filter:saturate(.55);animation:hero-arrive 1s ease-out both}
.top{min-height:88px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff30;gap:25px}.brand-lockup{display:flex;align-items:center;gap:14px;text-decoration:none}.brand-lockup .realist-mark{width:96px;height:35px;object-fit:contain;filter:brightness(0) invert(1)}.brand-lockup .office-mark{width:43px;height:39px;object-fit:contain}.brand-lockup>span{font-size:14px;color:#cad6dc}.brand-lockup .brand-name{padding-left:18px;border-left:1px solid #ffffff59;font:600 11px/1.4 Plex,monospace;letter-spacing:.08em;text-transform:uppercase;color:white}
.nav-link{text-decoration:none;font-size:14px;white-space:nowrap}.intro{padding-top:64px;padding-bottom:68px}.eyebrow,.step{font:600 13px/1.5 Plex,monospace;letter-spacing:.07em;text-transform:uppercase}.intro .eyebrow{color:#d7e3e9;margin:0 0 24px}h1{font:600 clamp(44px,5.5vw,76px)/1.04 Fraunces,Georgia,serif;letter-spacing:-.04em;margin:0;max-width:740px}h1 em{font-family:InstrumentSerif,Georgia,serif;font-weight:400}.intro-copy{font-size:18px;line-height:1.65;color:#edf2f4;max-width:580px;margin:28px 0}.facts{display:flex;flex-wrap:wrap;gap:0}.facts span{font-size:14px;padding:0 18px;border-left:1px solid #ffffff5c}.facts span:first-child{padding-left:0;border-left:0}
.booking-shell{padding:64px 0 0}.booking{display:grid;grid-template-columns:1.05fr 1fr;align-items:start;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:white;margin-bottom:48px}.calendar,.details{padding:40px}.calendar{background:#edf2f4;border-right:1px solid var(--line);align-self:stretch}.step{display:flex;align-items:center;gap:14px;color:var(--accent);margin:0 0 22px}.step b{font:inherit;border-right:1px solid #bac9d1;padding-right:14px}h2{font:600 clamp(28px,3vw,38px)/1.13 Fraunces,Georgia,serif;letter-spacing:-.025em;margin:0 0 18px}.section-copy{font-size:16px;color:var(--muted);margin:0 0 26px}
.dates{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.date-button,.time-button{border:1px solid #b5c3cb;border-radius:4px;background:transparent;color:var(--ink);min-height:48px;cursor:pointer;transition:background .2s,border-color .2s,color .2s}.date-button{padding:12px 8px;font:600 13px/1.5 Plex,monospace}.date-button:hover,.time-button:hover{background:#fff;border-color:var(--accent)}.date-button[aria-selected=true],.time-button[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:white}.times{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:24px}.time-button{font-size:15px;padding:10px 6px}.timezone{color:var(--muted);font-size:13px;margin:24px 0 0}.selected-slot{font-size:15px;color:#3c535f;min-height:52px;display:flex;align-items:center;border-left:2px solid var(--accent);padding:12px 16px;background:#edf2f4;margin:0 0 26px}
.field{margin-bottom:20px}.field label{display:block;color:#3f505a;font-size:14px;margin:0 0 7px}.field input,.field textarea{width:100%;border:1px solid #b5c3cb;border-radius:4px;background:white;color:var(--ink);padding:12px 14px;font-size:16px;min-height:48px}.field textarea{min-height:100px;resize:vertical}.field input:focus,.field textarea:focus{border-color:var(--accent);outline:2px solid #506a7825;outline-offset:2px}
.submit,.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;border:1px solid var(--accent);border-radius:4px;padding:12px 20px;background:var(--accent);color:white;font:700 16px/1.4 Instrument,Arial,sans-serif;text-decoration:none;cursor:pointer;transition:background .2s,transform .2s}.submit{width:100%}.submit:hover:not(:disabled),.button:hover{background:#3e5663;transform:translateY(-1px)}.submit:disabled{opacity:.45;cursor:not-allowed}.privacy,.status{font-size:13px;line-height:1.6;color:var(--muted)}.privacy{margin:16px 0 0}.status{min-height:20px;margin:12px 0 0}.status.error{color:var(--error)}.confirmation{display:none;grid-column:1/-1;padding:60px;background:#edf2f4}.confirmation .eyebrow{color:var(--accent)}.confirmation-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.confirmation-actions .button:not(.primary){background:transparent;color:var(--ink);border-color:var(--line)}.booking-footer{border-top:1px solid var(--line);padding:26px 0 40px;display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:14px}.booking-footer a{text-underline-offset:5px}:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.top :focus-visible{outline-color:white}
@keyframes hero-arrive{from{opacity:.5;transform:scale(1.025)}to{opacity:1;transform:scale(1)}}
@media(max-width:900px){.booking{grid-template-columns:1fr}.calendar{border-right:0;border-bottom:1px solid var(--line)}.calendar,.details{padding:32px}.intro{padding-top:50px;padding-bottom:50px}.dates{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:600px){.shell{width:calc(100% - 36px)}.booking-hero{width:calc(100% - 20px);margin:10px;border-radius:12px}.top{min-height:76px;gap:12px}.brand-lockup{gap:9px}.brand-lockup .realist-mark{width:75px}.brand-lockup .office-mark{width:35px;height:33px}.brand-lockup .brand-name{display:none}.intro{padding:42px 0}.intro .eyebrow{font-size:12px;max-width:300px;line-height:1.6}h1{font-size:46px}.intro-copy{font-size:17px}.facts span{padding:0 11px;font-size:13px}.booking-shell{padding-top:32px}.calendar,.details{padding:26px 20px}.dates{grid-template-columns:repeat(3,minmax(0,1fr))}.times{grid-template-columns:repeat(2,minmax(0,1fr))}.date-button{font-size:12px}.submit{font-size:15px}.confirmation{padding:35px 24px}.confirmation-actions{flex-direction:column}.booking-footer{flex-direction:column;gap:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.booking-hero:before{animation:none}button,.button{transition:none!important;transform:none!important}}

/* Partnership navigation states */
a[href]{transition:color .18s ease,background-color .18s ease}a[href]:hover,a[href]:focus-visible{color:#08728c}.booking-hero a[href]:hover,.booking-hero a[href]:focus-visible{color:#aeddfa}.button:hover{background:#d6ecf3!important;color:#0b5b72!important}a[href]:focus-visible{outline:3px solid #70b0e5;outline-offset:4px}
