/* Hallmark · macrostructure: Booking Desk (split hero + sticky form) · tone: trusted, warm, plain-spoken
 * theme: custom (openhouse.in DNA) · paper light · display grotesk-sans (DM Sans) · anchor hue: brand orange #FA541C (warm)
 * Hallmark · pre-emit critique: P4 H4 E4 S5 R4 V4 */

:root{
  --paper:#FFFFFF; --paper-warm:#FFF8F5; --paper-soft:#F7F5F2;
  --ink:#1A1F2C; --ink-2:#3A404B; --muted:#646B76; --line:#E8E4DF; --line-strong:#D3CEC7;
  --accent:#FA541C; --accent-deep:#D9400B; --accent-soft:#FFE9DF; --accent-ink:#B3200E;
  --ok:#118D57; --ok-soft:#E6F4EC; --warn:#9A5B00; --warn-soft:#FFF3D6;
  --font:'DM Sans',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --radius-s:8px; --radius:14px; --radius-l:22px;
  --shadow:0 1px 2px rgba(26,31,44,.05),0 14px 36px -18px rgba(26,31,44,.28);
  --shadow-lift:0 2px 4px rgba(26,31,44,.06),0 24px 48px -20px rgba(26,31,44,.35);
  --maxw:1120px; --gutter:20px;
  --ease-out:cubic-bezier(.2,.8,.2,1);
  --dur:.28s;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;overflow-x:clip}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:16px;line-height:1.6;
  -webkit-font-smoothing:antialiased;overflow-x:clip}
img{display:block;max-width:100%}
h1,h2,h3,h4{margin:0;font-weight:700;letter-spacing:-.02em;line-height:1.12;overflow-wrap:anywhere;min-width:0}
h1{font-size:clamp(34px,5.2vw,56px);letter-spacing:-.03em;line-height:1.04}
h2{font-size:clamp(26px,3.4vw,38px)}
h3{font-size:19px;letter-spacing:-.01em}
p{margin:0}
a{color:inherit}
button,input,select{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:6px}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--gutter)}
.measure{max-width:62ch}
.muted{color:var(--muted)}
.lede{margin-top:12px;color:var(--ink-2);font-size:17px;max-width:60ch}
section{padding:56px 0}
@media (min-width:900px){section{padding:84px 0}}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;cursor:pointer;
  border-radius:12px;padding:14px 22px;font-weight:700;font-size:16px;line-height:1.2;white-space:nowrap;
  text-decoration:none;transition:background var(--dur) var(--ease-out),transform var(--dur) var(--ease-out),box-shadow var(--dur) var(--ease-out)}
.btn-primary{background:var(--accent);color:#fff;box-shadow:0 10px 24px -12px rgba(250,84,28,.75)}
.btn-primary:hover{background:var(--accent-deep)}
.btn-primary:active{transform:translateY(1px)}
.btn-primary:disabled{background:#F2A88E;box-shadow:none;cursor:default}
.btn-ghost{background:transparent;color:var(--ink);border:1.5px solid var(--line-strong)}
.btn-ghost:hover{border-color:var(--ink)}
.btn-block{width:100%;padding:17px 22px;font-size:17px;border-radius:14px}

/* ---------- header ---------- */
.site-head{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.94);backdrop-filter:saturate(1.4) blur(10px);
  border-bottom:1px solid var(--line)}
.site-head .wrap{display:flex;align-items:center;gap:16px;height:64px}
.brand{display:flex;align-items:center;text-decoration:none}
.brand img{height:28px;width:auto}
.head-right{margin-left:auto;display:flex;align-items:center;gap:18px}
.head-phone{display:none;text-decoration:none;font-weight:600;color:var(--ink-2)}
.head-phone:hover{color:var(--ink)}
@media (min-width:720px){.head-phone{display:inline-flex;align-items:center;gap:8px}}
.head-cta{padding:11px 18px;font-size:15px}

/* ---------- footer ---------- */
.site-foot{background:var(--ink);color:#C9CDD4;padding:56px 0 40px;font-size:14.5px}
.foot-grid{display:grid;gap:32px}
@media (min-width:800px){.foot-grid{grid-template-columns:1.3fr 1fr 1fr}}
.foot-brand img{height:30px;filter:brightness(0) invert(1);opacity:.95}
.foot-brand p{margin-top:16px;max-width:46ch;line-height:1.65}
.site-foot h4{color:#fff;font-size:14px;letter-spacing:0;margin-bottom:12px}
.foot-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.foot-list a{color:#C9CDD4;text-decoration:none}
.foot-list a:hover{color:#fff;text-decoration:underline}
.foot-note{margin-top:40px;padding-top:24px;border-top:1px solid rgba(255,255,255,.12);font-size:13px;color:#98A0AB;line-height:1.7}
.foot-note p+p{margin-top:8px}

/* ---------- legal article pages ---------- */
.legal{padding:48px 0 80px}
.legal .wrap{max-width:760px}
.legal h1{font-size:clamp(30px,4vw,44px)}
.legal .eff{margin-top:10px;color:var(--muted)}
.legal h2{font-size:22px;margin-top:40px}
.legal p,.legal li{margin-top:12px;color:var(--ink-2);line-height:1.7}
.legal ul{padding-left:20px;margin:0}
.legal address{font-style:normal;margin-top:12px;line-height:1.7;color:var(--ink-2)}
.legal a{color:var(--accent-ink)}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
