:root{
  --ink:#231f1c;
  --muted:#746a64;
  --paper:#f8f4f1;
  --ivory:#fcfaf8;
  --blush:#eadbd6;
  --rose:#a45d69;
  --rose-deep:#864b56;
  --rose-pale:#f3e6e8;
  --rule:#d9cbc5;
  --card-rule:#ded3ce;
  --danger:#9f2f3c;
  --serif:Georgia,"Times New Roman",serif;
  --sans:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  font-family:var(--sans);
  color:var(--ink);
  background:var(--paper);
}
*{box-sizing:border-box}
html{background:var(--paper);scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:inherit;text-underline-offset:4px;text-decoration-thickness:1px}
a:hover{text-decoration-thickness:1.5px}
[hidden]{display:none!important}

.site-header{border-bottom:1px solid var(--rule);background:var(--paper)}
.site-header-inner{max-width:1280px;height:92px;margin:0 auto;padding:0 clamp(28px,4.4vw,64px);display:flex;align-items:center;justify-content:space-between;gap:32px}
.brand-mark{display:inline-flex;align-items:center;text-decoration:none;line-height:0}
.brand-mark img{display:block;width:152px;height:auto;max-width:42vw}
.header-meta{display:flex;align-items:center;gap:28px;font-size:9px;font-weight:700;letter-spacing:2.2px;color:#635953;white-space:nowrap}
.header-meta span+span{position:relative;padding-left:28px}
.header-meta span+span::before{content:"";position:absolute;left:0;top:50%;width:1px;height:14px;background:var(--rule);transform:translateY(-50%)}

.guest-layout{max-width:1280px;margin:0 auto;padding:58px clamp(28px,4.4vw,64px) 70px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(52px,5.8vw,84px);align-items:start}
.editorial{position:relative;padding:64px clamp(34px,4.5vw,64px) 56px;background:var(--blush);min-height:650px;display:flex;align-items:flex-start}
.editorial::after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:linear-gradient(90deg,var(--rose) 0 26%,transparent 26%)}
.editorial-inner{max-width:575px}
.eyebrow{font-size:9.5px;line-height:1.3;letter-spacing:2.6px;font-weight:700;margin:0 0 24px}
.accent{color:var(--rose-deep)}
h1{font:400 clamp(50px,4.25vw,64px)/1.04 var(--serif);letter-spacing:-1.9px;margin:0 0 34px}
h1 em{display:inline-block;font-weight:400;color:var(--rose-deep)}
.lede{font-size:18px;line-height:1.68;max-width:535px;margin:0 0 17px}
.quiet{font-size:13.5px;line-height:1.65;color:var(--muted);margin:0}
.wifi-note{margin-top:58px;padding-top:22px;border-top:1px solid #c7b3ab;max-width:535px}
.wifi-kicker{display:block;font-size:9px;letter-spacing:2.1px;font-weight:700;margin-bottom:10px;color:#625752}
.wifi-note p{font-size:13.2px;line-height:1.75;margin:0;color:#403936}

.signup-shell{padding:56px 0 30px}
.signup-inner{width:100%;max-width:540px;margin:0 auto}
.signup-shell h2{font:400 clamp(46px,4.3vw,60px)/1.04 var(--serif);letter-spacing:-1px;margin:0 0 14px}
.form-intro{font-size:15px;line-height:1.65;color:var(--muted);margin:0 0 34px;max-width:470px}
form{background:transparent;border-top:1px solid var(--card-rule);border-bottom:1px solid var(--card-rule);padding:30px 0 26px}
.field{margin-bottom:24px}
.field label{display:block;font-size:12px;font-weight:700;letter-spacing:.04em;margin:0 0 10px;text-transform:uppercase}
input[type=email]{display:block;width:100%;height:58px;border:1px solid #c9bbb5;border-radius:2px;padding:0 16px;background:#fff;color:var(--ink);font:400 16px/1 var(--sans);transition:border-color .18s,box-shadow .18s}
input[type=email]::placeholder{color:#9c928d}
input[type=email]:hover{border-color:#b7a59e}
input[type=email]:focus{outline:none;border-color:var(--rose-deep);box-shadow:0 0 0 3px rgba(164,93,105,.10)}
.choice{display:flex;align-items:flex-start;gap:13px;margin:0 0 18px;font-size:13.6px;line-height:1.58;cursor:pointer;color:#342e2b}
.choice.compact{margin-bottom:26px}
.choice input{appearance:none;-webkit-appearance:none;display:grid;place-content:center;width:19px;height:19px;min-width:19px;margin:1px 0 0;border:1.4px solid #ac9d97;border-radius:2px;background:#fff;cursor:pointer;transition:background .16s,border-color .16s,box-shadow .16s}
.choice input:checked{background:var(--rose-deep);border-color:var(--rose-deep)}
.choice input:checked::after{content:'✓';color:#fff;font-size:13px;font-weight:700;line-height:1}
.choice input:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(164,93,105,.13)}
button{width:100%;min-height:56px;border:0;border-radius:2px;background:var(--rose-deep);color:#fff;font:700 13.5px/1 var(--sans);letter-spacing:.075em;text-transform:uppercase;cursor:pointer;transition:background .18s,transform .12s}
button:hover{background:#74414b}
button:active{transform:translateY(1px)}
button:disabled{opacity:.55;cursor:wait;transform:none}
.form-meta{display:flex;justify-content:space-between;gap:18px;margin-top:16px;color:var(--muted);font-size:11.5px;line-height:1.5}
.form-meta a{white-space:nowrap}
.form-error{color:var(--danger);font-size:13px;line-height:1.55;margin:-2px 0 18px;border-left:2px solid var(--danger);padding-left:11px}
.success{background:var(--rose-pale);border-top:1px solid #dcc5ca;border-bottom:1px solid #dcc5ca;padding:34px 0}
.success h3{font:400 44px/1.08 var(--serif);margin:0 0 13px}
.success p:last-child{font-size:14.5px;line-height:1.72;color:var(--muted);margin:0;max-width:460px}
.success:focus{outline:none}
.fallback{font-size:12px;line-height:1.6;color:var(--muted);margin:16px 0 0}

footer{border-top:1px solid var(--rule);background:var(--paper)}
.footer-inner{max-width:1280px;margin:0 auto;padding:25px clamp(28px,4.4vw,64px);display:flex;justify-content:space-between;align-items:center;gap:24px;font-size:11px;line-height:1.6;color:var(--muted)}
.footer-inner nav{display:flex;gap:24px}

.notice{max-width:920px;margin:0 auto;padding:68px 32px 90px}
.notice .back{display:inline-block;font-size:12px;margin-bottom:40px;color:#5d534f;text-decoration:none}
.notice .back:hover{text-decoration:underline}
.notice-eyebrow{margin-bottom:16px}
.notice h1{font:400 52px/1.06 var(--serif);letter-spacing:-1px;margin:0 0 18px}
.notice .date{font-size:12px;color:var(--muted);margin:0 0 48px}
.notice section{padding:28px 0 5px;border-top:1px solid #e0d4ce}
.notice section:first-of-type{border-top:0;padding-top:0}
.notice h2{font-size:15px;line-height:1.4;margin:0 0 10px;letter-spacing:.01em}
.notice p{font-size:14px;line-height:1.84;margin:0 0 13px;color:#3d3734}

@media(max-width:960px){
  .site-header-inner{height:82px}.brand-mark img{width:142px}.header-meta{gap:20px}.header-meta span+span{padding-left:20px}
  .guest-layout{grid-template-columns:1fr;gap:0;padding:0}
  .editorial{min-height:0;padding:54px 28px 46px}
  .signup-shell{padding:52px 28px 58px}
  .signup-inner{max-width:620px;margin:0}
  h1{font-size:52px}.lede{font-size:17px}.quiet{display:none}.wifi-note{margin-top:36px}
  .signup-shell h2{font-size:46px}
  .footer-inner{padding:22px 28px;flex-wrap:wrap}
  .notice{padding:54px 28px 76px}.notice h1{font-size:44px}
}

@media(max-width:560px){
  .site-header-inner{height:76px;padding:0 20px}.brand-mark img{width:132px}.header-meta span:first-child{display:none}.header-meta span+span{padding-left:0}.header-meta span+span::before{display:none}
  .editorial{padding:44px 22px 38px}.signup-shell{padding:44px 22px 50px}
  .eyebrow{letter-spacing:2.2px}h1{font-size:42px;letter-spacing:-1.2px;margin-bottom:25px}.lede{font-size:16px}.wifi-note{margin-top:30px;padding-top:18px}
  .signup-shell h2{font-size:39px}.form-intro{margin-bottom:28px}
  form{padding-top:26px}.choice{font-size:13.2px}.form-meta{display:block}.form-meta a{display:inline-block;margin-top:7px}
  .notice{padding:44px 22px 70px}.notice .back{margin-bottom:32px}.notice h1{font-size:38px}.notice .date{margin-bottom:38px}
}
