:root { color-scheme: light; --ink: #342a26; --muted: #726662; --paper: #f6f2ef; --line: #ded4cd; --accent: #76594f; }
* { box-sizing: border-box; }
html { min-width: 320px; }
body { margin: 0; font-family: Arial, "Apple SD Gothic Neo", "Malgun Gothic", sans-serif; color: var(--ink); background: var(--paper); }
a { color: inherit; }
.site-header { position: sticky; top: 0; z-index: 100; height: 76px; padding: 0 clamp(20px, 4vw, 64px); display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; gap: 24px; background: #fff; border-bottom: 1px solid var(--line); }
.brand { justify-self: start; text-decoration: none; font-weight: 700; font-size: 1.05rem; letter-spacing: -.04em; white-space: nowrap; }
.brand span { color: var(--accent); }
.site-nav { display: flex; align-items: center; justify-content: center; gap: clamp(16px, 2.2vw, 36px); }
.site-nav a { padding: 28px 0 26px; text-decoration: none; font-size: .94rem; font-weight: 600; white-space: nowrap; border-bottom: 2px solid transparent; }
.site-nav a:hover, .site-nav a:focus-visible, .site-nav a[aria-current="page"] { color: var(--accent); border-bottom-color: var(--accent); }
.open-date { justify-self: end; margin: 0; color: var(--accent); font-size: .94rem; font-weight: 600; letter-spacing: .01em; white-space: nowrap; }
.open-date strong { margin-left: .28em; font-weight: 800; letter-spacing: .08em; }
.home-page { background: #f6f2ef; }
.hero-frame { width: 100%; background: #735950; }
.main-image { display: block; width: 100%; height: auto; }
.quick-section { padding: clamp(48px, 7vw, 100px) 24px clamp(72px, 9vw, 126px); background: #f4f0eb; }
.quick-panel { width: min(100%, 1320px); margin: 0 auto; display: grid; grid-template-columns: 1.55fr repeat(3, 1fr); min-height: 290px; }
.quick-facts { display: grid; grid-template-rows: 1fr 1fr; min-width: 0; }
.fact { display: flex; flex-direction: column; justify-content: center; padding: 22px clamp(24px, 4vw, 58px); }
.fact-households { background: #51443e; color: #fff; }
.fact-opening { background: #e9e1d9; color: #302c30; }
.fact-kicker { display: block; font-size: .76rem; font-weight: 700; letter-spacing: .17em; opacity: .7; }
.fact p { margin: 9px 0 0; font-size: clamp(1.25rem, 2.1vw, 1.85rem); font-weight: 500; letter-spacing: -.04em; white-space: nowrap; }
.fact strong { font-size: 1.3em; font-weight: 700; }
.quick-link { min-width: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 26px; text-decoration: none; font-size: clamp(1.15rem, 1.65vw, 1.5rem); font-weight: 700; letter-spacing: -.035em; transition: filter .2s ease; }
.quick-link:hover, .quick-link:focus-visible { filter: brightness(.92); }
.quick-link:focus-visible { outline: 3px solid #bf854f; outline-offset: -5px; }
.quick-link svg { width: clamp(50px, 6vw, 78px); height: clamp(50px, 6vw, 78px); }
.quick-location { background: #5f968f; color: #fff; }
.quick-premium { background: #f3eee8; color: #3d383b; }
.quick-overview { background: #3f554f; color: #fff; }
.home-details { padding: clamp(66px, 8vw, 112px) 24px clamp(76px, 9vw, 124px); background: #202020; color: #f5f2ee; }
.home-detail { width: min(100%, 1320px); margin: 0 auto; }
.home-detail + .home-detail { margin-top: clamp(76px, 9vw, 132px); }
.home-detail img { display: block; width: 100%; height: auto; margin-top: 0; }
.registration-section { padding: clamp(70px, 9vw, 132px) 24px; background: #fff; }
.registration-layout { width: min(100%, 1250px); margin: 0 auto; display: flex; flex-direction: column; gap: clamp(38px, 5vw, 64px); }
.registration-intro { max-width: 850px; margin: 0 auto; text-align: center; }
.registration-icon { width: 74px; height: 74px; margin: 0 auto; display: grid; place-items: center; color: #fff; background: #39aaa4; border-radius: 50%; }
.registration-icon svg { width: 42px; height: 42px; }
.registration-eyebrow { margin: 28px 0 15px; color: #8a746c; font-size: .78rem; font-weight: 700; letter-spacing: .17em; }
.registration-intro h2 { margin: 0; font-size: clamp(2.45rem, 4.7vw, 4.7rem); line-height: 1.13; font-weight: 600; letter-spacing: -.06em; word-break: keep-all; }
.registration-lead { margin: 24px 0 0; color: #655c59; font-size: 1.13rem; line-height: 1.65; word-break: keep-all; }
.registration-form { width: 100%; padding: clamp(24px, 4vw, 48px); background: #f8f6f4; border: 1px solid #e6dfda; }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 25px 22px; }
.form-field { display: flex; flex-direction: column; gap: 10px; min-width: 0; color: #393441; font-size: .95rem; font-weight: 700; }
.form-field em { margin-left: 4px; color: #987368; font-size: .78rem; font-style: normal; font-weight: 600; }
.form-field input { width: 100%; min-height: 52px; padding: 0 15px; border: 1px solid #d7ceca; border-radius: 2px; background: #fff; color: #312a27; font: inherit; font-weight: 400; }
.form-field input::placeholder { color: #a39994; }
.form-field input:focus-visible, .check-line input:focus-visible, .registration-submit:focus-visible { outline: 2px solid #39aaa4; outline-offset: 2px; }
.family-fields { min-width: 0; margin: 38px 0 0; padding: 32px 0 0; border: 0; border-top: 1px solid #ddd4ce; }
.family-fields legend { float: left; width: 100%; margin-bottom: 8px; padding: 0; color: #393441; font-size: 1.12rem; font-weight: 700; }
.family-fields > p { clear: both; margin: 0 0 25px; color: #766d69; font-size: .91rem; line-height: 1.5; }
.privacy-panel { margin-top: 38px; padding: 26px; background: #fff; border: 1px solid #ddd4ce; }
.privacy-panel h3 { margin: 0 0 20px; font-size: 1rem; }
.privacy-scroll { height: 56px; overflow-y: auto; overscroll-behavior: contain; border-top: 1px solid #eee9e6; border-bottom: 1px solid #eee9e6; scrollbar-width: thin; }
.privacy-scroll:focus-visible { outline: 2px solid #39aaa4; outline-offset: 2px; }
.privacy-panel dl { margin: 0; }
.privacy-panel dl > div { display: grid; grid-template-columns: 114px minmax(0, 1fr); gap: 12px; padding: 13px 0; border-bottom: 1px solid #eee9e6; font-size: .88rem; line-height: 1.55; }
.privacy-panel dt { color: #51423b; font-weight: 700; }
.privacy-panel dd { margin: 0; color: #665d59; word-break: keep-all; }
.check-line { display: flex; align-items: flex-start; gap: 10px; margin-top: 20px; color: #393441; font-size: .92rem; line-height: 1.55; cursor: pointer; }
.check-line + .check-line { margin-top: 10px; }
.check-line input { width: 19px; height: 19px; flex: 0 0 auto; margin: 2px 0 0; accent-color: #39aaa4; }
.registration-submit { width: 100%; min-height: 60px; margin-top: 27px; border: 0; background: #393441; color: #fff; font: inherit; font-size: 1.05rem; font-weight: 700; cursor: pointer; }
.registration-submit:hover { background: #2a2632; }
.registration-submit:disabled { cursor: wait; opacity: .65; }
.form-status { min-height: 1.5em; margin: 14px 0 0; color: #8f3e30; font-size: .9rem; line-height: 1.5; }
.form-status[data-state="success"] { color: #287469; }
.content-main { min-height: calc(100svh - 76px); padding: clamp(64px, 9vw, 120px) 24px 80px; }
.content-shell { width: min(100%, 1120px); margin: 0 auto; }
.image-content-main { padding: clamp(48px, 6vw, 84px) 24px clamp(64px, 7vw, 104px); background: #202020; color: #f5f2ee; }
.image-content-main .content-shell { width: min(100%, 1320px); }
.page-image { margin: 0; }
.page-image img { display: block; width: 100%; height: auto; }
.site-footer { min-height: 320px; padding: 38px 24px 118px; background: #242424; color: #b8b8b8; text-align: center; border-top: 1px solid #707070; }
.site-footer-inner { width: min(100%, 1280px); margin: 0 auto; }
.site-footer p { margin: 0 0 11px; font-size: clamp(.85rem, 1.25vw, 1rem); line-height: 1.65; word-break: keep-all; }
.site-footer .footer-site-name { margin-bottom: 13px; color: #fff; font-weight: 700; font-size: 1.05rem; }
.footer-privacy { margin-top: 25px !important; }
.footer-privacy a { display: inline-block; padding: 6px 4px; color: #fff; font-weight: 700; text-decoration: underline; text-underline-offset: 4px; }
.footer-privacy a:hover, .footer-privacy a:focus-visible { color: #b5dfd9; }
.privacy-main { background: #f6f2ef; }
.privacy-content { max-width: 920px; }
.privacy-content h1 { font-size: clamp(2.25rem, 5vw, 3.5rem); font-weight: 700; }
.privacy-effective { margin: 16px 0 30px; color: var(--muted); font-size: .92rem; }
.privacy-intro { margin: 0 0 38px; color: #554b46; line-height: 1.8; word-break: keep-all; }
.privacy-article { padding: 25px 0; border-top: 1px solid var(--line); }
.privacy-article h2 { margin: 0 0 14px; font-size: 1.27rem; letter-spacing: -.035em; }
.privacy-article p, .privacy-article li { margin: 0; color: #5d514c; font-size: .98rem; line-height: 1.75; word-break: keep-all; }
.privacy-article p + p { margin-top: 10px; }
.privacy-article ul { margin: 8px 0 0; padding-left: 1.3em; }
.privacy-article li + li { margin-top: 6px; }
.privacy-article strong { color: var(--ink); }
h1 { margin: 0; font-size: clamp(2.8rem, 6vw, 5.5rem); line-height: 1.13; font-weight: 500; letter-spacing: -.055em; }
.pending { max-width: 640px; margin: 0; color: var(--muted); font-size: 1.1rem; line-height: 1.75; word-break: keep-all; }
@media (max-width: 1120px) {
  .site-header { height: 106px; grid-template-columns: minmax(0, 1fr) auto; grid-template-rows: 56px 50px; gap: 0; padding: 0; }
  .brand { padding: 0 20px; font-size: 1rem; white-space: normal; }
  .open-date { padding: 0 20px 0 0; font-size: .84rem; }
  .site-nav { grid-column: 1 / -1; grid-row: 2; justify-content: flex-start; overflow-x: auto; gap: 24px; padding: 0 20px; scrollbar-width: thin; }
  .site-nav a { padding: 14px 0 13px; font-size: .88rem; }
  .content-main { min-height: calc(100svh - 106px); }
}
@media (max-width: 760px) {
  .quick-section { padding: 40px 16px 72px; }
  .quick-panel { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .quick-facts { grid-column: 1 / -1; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: none; }
  .fact { min-height: 126px; padding: 18px; }
  .fact p { font-size: clamp(1rem, 3.7vw, 1.3rem); white-space: normal; }
  .fact strong { font-size: 1.18em; }
  .fact-kicker { font-size: .62rem; letter-spacing: .1em; }
  .quick-link { min-height: 168px; gap: 18px; font-size: clamp(.93rem, 3.6vw, 1.14rem); }
  .quick-link svg { width: 48px; height: 48px; }
  .home-details { padding: 64px 16px 82px; }
  .home-detail + .home-detail { margin-top: 78px; }
  .home-detail img { margin-top: 0; }
  .image-content-main { padding: 40px 16px 56px; }
  .site-footer { min-height: 0; padding: 36px 20px 72px; }
  .site-footer p { font-size: .82rem; line-height: 1.65; }
  .site-footer .footer-site-name { font-size: .95rem; }
  .registration-section { padding: 72px 16px; }
  .registration-layout { gap: 38px; }
  .registration-icon { width: 64px; height: 64px; }
  .registration-icon svg { width: 37px; height: 37px; }
  .registration-eyebrow { margin-top: 27px; }
  .registration-lead { margin-top: 17px; font-size: 1rem; }
  .registration-form { padding: 24px 18px; }
  .form-grid { grid-template-columns: 1fr; gap: 20px; }
  .privacy-panel { padding: 20px 17px; }
  .privacy-scroll { height: 124px; }
  .privacy-panel dl > div { grid-template-columns: 1fr; gap: 4px; }
}
