:root { --ink:#16201d; --muted:#5d6963; --line:#d8ddd7; --paper:#f6f5f0; --sage:#e5ece4; --accent:#c94e39; --white:#fff; --display:Georgia, "Times New Roman", serif; --body:Arial, Helvetica, sans-serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { background:var(--paper); color:var(--ink); font-family:var(--body); line-height:1.5; margin:0; }
.site-header, .hero, .section, .simple-page { margin:0 auto; max-width:1200px; }
.site-header { align-items:center; display:flex; justify-content:space-between; min-height:88px; padding:20px 32px; }
.brand { color:var(--ink); font-size:14px; font-weight:800; letter-spacing:.12em; text-decoration:none; }
.brand span { color:var(--accent); }
nav, .site-footer div { display:flex; flex-wrap:wrap; gap:22px; }
nav a, .site-footer a { color:var(--muted); font-size:14px; text-decoration:none; }
nav a:hover, .site-footer a:hover, .text-link:hover { text-decoration:underline; text-underline-offset:4px; }
.hero { align-items:center; display:grid; gap:46px; grid-template-columns:1fr 1fr; padding:38px 32px 82px; }
.eyebrow { color:var(--accent); font-size:12px; font-weight:800; letter-spacing:.13em; margin:0 0 14px; text-transform:uppercase; }
h1, h2 { font-family:var(--display); font-weight:600; letter-spacing:0; line-height:1.03; margin:0; }
h1 { font-size:clamp(52px,6vw,84px); max-width:620px; }
h2 { font-size:clamp(34px,4vw,55px); }
.lede { color:var(--muted); font-size:19px; margin:26px 0; max-width:590px; }
.hero-actions { align-items:center; display:flex; flex-wrap:wrap; gap:22px; }
.button { border:1px solid var(--ink); border-radius:3px; cursor:pointer; display:inline-flex; font:700 15px var(--body); justify-content:center; min-height:50px; padding:13px 20px; text-decoration:none; }
.button-primary { background:var(--ink); color:var(--white); }
.button-primary:hover { background:var(--accent); border-color:var(--accent); }
.text-link { color:var(--ink); font-weight:700; text-underline-offset:5px; }
.hero-visual { aspect-ratio:1/1.1; background:linear-gradient(145deg,rgba(13,31,26,.2),rgba(13,31,26,.82)),url("assets/hotel-lounge.jpg") center/cover; min-height:480px; position:relative; }
.visual-tag { background:var(--paper); color:var(--ink); font-size:12px; font-weight:800; left:22px; letter-spacing:.12em; padding:12px 14px; position:absolute; top:22px; }
.visual-note { background:var(--ink); bottom:20px; color:var(--white); font-size:14px; max-width:200px; padding:16px; position:absolute; right:-16px; }
.section { padding:82px 32px; }
.intro { border-top:1px solid var(--line); }
.two-column { display:grid; gap:80px; grid-template-columns:1.1fr .9fr; }
.two-column p, .updates-copy > p { color:var(--muted); font-size:18px; margin:6px 0 0; }
.experience-band { background:var(--ink); color:var(--white); display:grid; gap:70px; grid-template-columns:1fr 1fr; padding:80px max(32px,calc((100vw - 1136px)/2)); }
.experience-band .eyebrow { color:#ef998a; }
.experience-band ul { display:grid; gap:22px; list-style:none; margin:0; padding:0; }
.experience-band li { border-top:1px solid #64706b; display:grid; gap:7px; padding-top:16px; }
.experience-band span { color:#c7d1ca; }
.updates { display:grid; gap:62px; grid-template-columns:1fr .9fr; }
.fine-print { font-size:14px !important; margin-top:22px !important; }
.signup-form { background:var(--white); box-shadow:10px 10px 0 #dce4db; display:grid; gap:12px; padding:30px; }
label { font-weight:700; }
input[type="email"], select { background:#fbfcfa; border:1px solid var(--line); border-radius:2px; color:var(--ink); font:inherit; min-height:50px; padding:12px; width:100%; }
.consent { align-items:flex-start; color:var(--muted); display:flex; font-size:14px; font-weight:400; gap:10px; margin:10px 0 6px; }
.consent input { flex:none; height:17px; margin:3px 0 0; width:17px; }
.signup-form .button { justify-self:start; margin-top:2px; }
.form-status { color:var(--accent); font-size:14px; font-weight:700; margin:0; min-height:1.5em; }
.form-help { color:var(--muted); font-size:13px; margin:0; }
.form-help a, .policy a { color:var(--accent); }
.site-footer { border-top:1px solid var(--line); display:grid; gap:12px; margin:38px auto 0; max-width:1200px; padding:40px 32px; }
.site-footer p { color:var(--muted); font-size:14px; margin:0; }
.simple-page { max-width:850px; padding:70px 32px 96px; }
.simple-page .lede { max-width:700px; }
.simple-page .signup-form { margin-top:38px; max-width:620px; }
.policy section { border-top:1px solid var(--line); margin-top:38px; padding-top:24px; }
.policy h2 { font-family:var(--body); font-size:22px; margin-bottom:8px; }
.policy section p { color:var(--muted); margin:0; }
@media (max-width:760px) { .site-header { align-items:flex-start; flex-direction:column; gap:15px; min-height:0; padding:22px 20px; } .hero, .two-column, .experience-band, .updates { grid-template-columns:1fr; } .hero { gap:34px; padding:28px 20px 60px; } .hero-visual { min-height:390px; } .visual-note { right:0; } .section, .simple-page { padding-left:20px; padding-right:20px; } .section { padding-top:58px; padding-bottom:58px; } .two-column, .experience-band, .updates { gap:28px; } .experience-band { padding:58px 20px; } .signup-form { box-shadow:6px 6px 0 #dce4db; padding:22px; } .site-footer { padding-left:20px; padding-right:20px; } }
