@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;1,300;1,400&family=DM+Sans:wght@400;500;600;700&family=Noto+Sans+KR:wght@300;400;500;600&display=swap');
:root { --ink:#202722; --muted:#727973; --cream:#f6f4ef; --sand:#eae7df; --dark:#18231e; --sage:#9eac9c; --line:#d7d7cc; --white:#fbfaf6; --serif:'Cormorant Garamond','Iowan Old Style','Baskerville','Times New Roman',serif; --sans:'DM Sans','Noto Sans KR','Apple SD Gothic Neo',sans-serif; --korean:'Noto Sans KR','Apple SD Gothic Neo',sans-serif; }
*,*::before,*::after { box-sizing:border-box; }
html {scroll-behavior:smooth; scroll-padding-top:84px;}
body { margin:0; min-width:320px; background:var(--cream); color:var(--ink); font-family:var(--sans); -webkit-font-smoothing:antialiased; }
body.no-scroll {overflow:hidden;}
a {color:inherit; text-decoration:none;}
button {font:inherit;}
button,a { -webkit-tap-highlight-color:transparent; }
button:focus-visible,a:focus-visible,summary:focus-visible {outline:2px solid var(--sage);outline-offset:5px;}
img,video {display:block; max-width:100%;}
::selection {background:#a2b5a1;color:#10211a;}
.skip-link {position:fixed;z-index:999;top:-100px;left:20px;background:white;color:var(--dark);padding:12px 20px;}
.skip-link:focus{top:15px;}
.page-grain {position:fixed;inset:0;z-index:120;pointer-events:none;opacity:.09;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.91' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.18'/%3E%3C/svg%3E");}
/* Navigation */
.site-header {position:fixed;top:0;left:0;width:100%;height:92px;display:flex;align-items:center;justify-content:space-between;padding:0 4.8vw;z-index:100;color:var(--white);transition:background .35s,color .35s,height .35s,border-color .35s;border-bottom:1px solid rgba(255,255,255,.24);}
.site-header.scrolled, .site-header.menu-open {background:rgba(246,244,239,.97);color:var(--ink);height:78px;border-color:rgba(36,43,39,.12);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);}
.brand {display:flex;align-items:center;gap:13px;min-width:210px;}
.brand-mark {width:37px;height:37px;display:flex;align-items:center;justify-content:center;white-space:nowrap;border:1px solid currentColor;border-radius:50%;font-family:var(--serif);font-size:16px;letter-spacing:-1px;line-height:1;}
.brand-dot {padding:0 1px;transform:translateY(-3px);}
.brand-name {font-weight:700;letter-spacing:.185em;font-size:11px;line-height:1.75;}
.brand-name small {display:block;font-size:8px;letter-spacing:.27em;font-weight:500;opacity:.7;}
.nav-links {display:flex;gap:clamp(18px,2.7vw,48px);padding-left:4vw;align-items:center;}
.nav-links a {font-family:var(--korean);font-size:11px;letter-spacing:.055em;opacity:.82;transition:opacity .2s;white-space:nowrap;}
.nav-links a:hover {opacity:1;}
.nav-actions {display:flex;gap:12px;align-items:center;}
.language-toggle {background:transparent;color:inherit;border:0;cursor:pointer;font-size:10px;font-weight:700;letter-spacing:.17em;padding:12px 13px;white-space:nowrap;}
.language-toggle span{font-size:12px;margin-left:3px;opacity:.65;}
.nav-book {display:flex;gap:34px;align-items:center;padding:15px 20px;border:1px solid rgba(255,255,255,.65);border-radius:2px;font-family:var(--korean);font-size:11px;letter-spacing:.09em;transition:background .2s,color .2s;white-space:nowrap;}
.nav-book:hover {background:var(--cream);color:var(--ink);}
.scrolled .nav-book, .menu-open .nav-book {border-color:var(--ink);}
.scrolled .nav-book:hover {background:var(--ink);color:var(--white);}
.menu-toggle {color:inherit;display:none;width:36px;height:36px;border:0;background:none;padding:8px;cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:6px;}
.menu-toggle span {display:block;width:22px;height:1px;background:currentColor;transition:transform .2s;}
.menu-open .menu-toggle span:first-child{transform:translateY(3.5px) rotate(45deg);}
.menu-open .menu-toggle span:last-child{transform:translateY(-3.5px) rotate(-45deg);}
.mobile-menu {position:absolute;top:calc(100% - 1px);left:0;right:0;padding:22px 6vw 32px;background:var(--cream);color:var(--ink);border-bottom:1px solid var(--line);box-shadow:0 18px 20px rgba(0,0,0,.08);flex-direction:column;gap:0;}
.mobile-menu:not([hidden]){display:flex;}
.mobile-menu a{font-size:15px;padding:16px 4px;border-bottom:1px solid var(--line);}
/* Scroll cinema */
.hero-scroll {position:relative;height:545vh;height:545svh;background:#17211e;}
.hero-sticky {position:sticky;top:0;height:100vh;height:100svh;isolation:isolate;overflow:hidden;color:white;}
.hero-media,.hero-media video,.hero-vignette {position:absolute;inset:0;width:100%;height:100%;}
.hero-media {z-index:-3;background:#19251f url('assets/poster.jpg') center/cover no-repeat;}
.hero-media video {object-fit:cover;object-position:center center;}
.hero-vignette {z-index:1;background:linear-gradient(90deg,rgba(10,20,15,.48),rgba(10,20,15,.09) 70%),linear-gradient(180deg,rgba(10,16,15,.43) 0%,transparent 32%,transparent 68%,rgba(10,16,14,.46) 100%);}
.hero-topline {position:absolute;top:125px;left:5%;right:5%;display:flex;justify-content:space-between;font-size:10px;letter-spacing:.18em;font-weight:600;opacity:.83;}
.hero-scene {position:absolute;left:9.2vw;right:7vw;top:50%;transform:translateY(-40%) translate3d(0,19px,0);opacity:0;visibility:hidden;transition:opacity .5s, transform .65s,visibility 0s linear .5s;pointer-events:none;max-width:1050px;}
.hero-scene.is-active {opacity:1;visibility:visible;transform:translateY(-40%) translate3d(0,0,0);transition:opacity .55s,transform .65s,visibility 0s;}
.hero-eyebrow {display:block;margin-bottom:16px;font-size:11px;letter-spacing:.28em;font-weight:600;}
.hero-scene h1,.hero-scene h2{font-family:var(--serif);font-weight:300;font-size:clamp(76px,10.4vw,182px);line-height:.76;letter-spacing:-.043em;margin:0 0 37px;text-shadow:0 3px 16px rgba(0,0,0,.1);}
.hero-scene em {font-weight:300;}
.hero-scene[data-scene="3"] h2{font-size:clamp(65px,9.2vw,147px);}
.hero-scene p {font-family:var(--korean);font-weight:300;line-height:1.9;font-size:clamp(13px,1.25vw,17px);letter-spacing:-.02em;max-width:620px;text-shadow:0 1px 4px rgba(0,0,0,.3);}
.hero-bottomline {position:absolute;left:5%;right:5%;bottom:clamp(28px,6.8vh,72px);display:flex;align-items:center;justify-content:space-between;}
.scroll-prompt {display:flex;align-items:center;gap:14px;font-size:10px;letter-spacing:.19em;}
.scroll-arrow {display:grid;place-items:center;font-family:var(--serif);font-size:26px;border:1px solid rgba(255,255,255,.5);width:48px;height:48px;border-radius:50%;animation:arrowDown 2.3s ease-in-out infinite;}
.hero-progress {display:flex;align-items:center;gap:12px;font-size:12px;font-weight:500;letter-spacing:.09em;font-variant-numeric:tabular-nums;}
.progress-divider {opacity:.55;}
.progress-track {display:block;width:135px;height:1px;background:rgba(255,255,255,.34);overflow:hidden;margin:0 5px;}
.progress-track>span {display:block;width:0;height:100%;background:white;will-change:width;}
#progress-percent {min-width:42px;text-align:right;}
/* Shared */
.section-light {background:var(--cream);}
.section-warm {background:var(--sand);}
.section-dark {background:var(--dark);color:white;}
.section-index {display:block;font-family:var(--sans);font-size:10px;letter-spacing:.22em;font-weight:700;line-height:1.6;}
.section-heading {margin:0 auto 70px;max-width:1540px;padding:0 6vw;}
.heading-split {display:grid;grid-template-columns:minmax(0,1.28fr) minmax(220px,.72fr);align-items:end;gap:40px;}
.section-heading h2,.intro-title h2,.house-heading h2,.faq-heading h2,.location h2,.experience h2,.closing h2 {font-family:var(--serif);font-size:clamp(68px,7.7vw,130px);font-weight:300;letter-spacing:-.052em;line-height:.82;margin:21px 0 0;}
.section-heading h2 em,.intro-title h2 em,.house-heading h2 em,.faq-heading h2 em,.location h2 em,.experience h2 em,.closing h2 em{font-weight:300;}
.heading-split p,.house-heading p,.faq-heading p,.location-left>p{font-family:var(--korean);font-size:14px;line-height:2.05;color:var(--muted);max-width:400px;justify-self:end;margin:0 0 8px;word-break:keep-all;}
.has-js .reveal {opacity:0;transform:translate3d(0,30px,0);transition:opacity .85s ease, transform .85s cubic-bezier(.2,.65,.2,1);}
.has-js .reveal.visible {opacity:1;transform:none;}
.text-link {display:inline-flex;align-items:center;justify-content:space-between;gap:65px;font-family:var(--korean);font-size:11px;font-weight:600;letter-spacing:.03em;padding:0 0 13px;border-bottom:1px solid currentColor;min-width:240px;transition:gap .2s;}
.text-link:hover {gap:90px;}
/* 01 intro */
.intro {padding:150px 0 145px;}
.section-kicker {display:flex;align-items:center;gap:20px;justify-content:center;font-size:9px;letter-spacing:.22em;font-weight:700;margin:0 6vw 145px;}
.kicker-line {width:48px;height:1px;background:var(--ink);opacity:.3;}
.intro-grid {display:grid;grid-template-columns:1.15fr .85fr;gap:80px;max-width:1540px;padding:0 6vw;margin:0 auto 120px;align-items:start;}
.intro-title h2 {font-size:clamp(84px,9.1vw,153px);}
.intro-copy {padding:0 0 0 7vw;max-width:580px;}
.intro-symbol {display:block;font-size:50px;line-height:1;margin:2px 0 42px;font-family:serif;}
.intro-copy .lead {font-family:var(--korean);font-size:clamp(19px,2.1vw,29px);font-weight:400;line-height:1.7;letter-spacing:-.06em;margin:0 0 25px;word-break:keep-all;}
.intro-copy p:not(.lead){font-family:var(--korean);font-size:13px;font-weight:300;line-height:2.15;color:#6c726b;word-break:keep-all;margin:0 0 42px;}
.intro-visual {position:relative;margin:0 6vw;max-height:670px;overflow:hidden;}
.intro-visual img {width:100%;height:min(55vw,670px);min-height:390px;object-fit:cover;object-position:center 58%;}
.intro-visual-caption{position:absolute;bottom:27px;left:35px;right:35px;color:white;display:flex;justify-content:space-between;align-items:center;font-size:9px;letter-spacing:.16em;text-shadow:0 1px 10px #000;}
/* 02 house */
.house {padding:135px 6vw 155px;}
.house-heading {text-align:center;max-width:1000px;margin:0 auto 100px;}
.house-heading h2 {font-size:clamp(74px,8.3vw,133px);}
.house-heading p {margin:32px auto 0;max-width:520px;}
.house-layout {display:grid;grid-template-columns:1.08fr .92fr;gap:7vw;max-width:1540px;margin:auto;align-items:center;}
.house-photo {position:relative;min-width:0;}
.house-photo img {height:clamp(480px,65vw,850px);width:100%;object-fit:cover;object-position:60% center;}
.photo-corner {position:absolute;bottom:24px;left:25px;color:white;font-size:9px;font-weight:600;letter-spacing:.16em;text-shadow:0 1px 8px #000;}
.house-aside {padding:35px 3vw 0 0;}
.eyebrow-dark {display:block;letter-spacing:.24em;font-size:10px;font-weight:700;margin-bottom:30px;}
.house-fact {display:flex;justify-content:space-between;align-items:baseline;gap:22px;border-top:1px solid #c5c9bd;padding:19px 0;}
.house-fact strong {font-family:var(--serif);font-size:clamp(48px,5.3vw,83px);font-weight:300;line-height:1;white-space:nowrap;letter-spacing:-.04em;}
.house-fact .unit {font-family:var(--korean);font-size:14px;font-weight:400;letter-spacing:0;margin-left:3px;}
.house-fact>span {font-size:11px;letter-spacing:.035em;line-height:1.7;text-align:right;max-width:205px;}
.house-fact .fact-plus{font-size:.5em;vertical-align:middle;}
.house-aside>p {color:#777f74;font-family:var(--korean);font-size:13px;line-height:2.1;max-width:400px;word-break:keep-all;margin:37px 0;}
/* moving band */
.marquee {background:var(--dark);color:#eaece0;overflow:hidden;padding:25px 0 23px;white-space:nowrap;}
.marquee-inner {display:flex;width:max-content;animation:marqueeMove 35s linear infinite;}
.marquee-inner span {display:block;font-family:var(--serif);font-style:italic;font-size:clamp(20px,2.7vw,43px);letter-spacing:.015em;margin-right:30px;}
@keyframes marqueeMove{to{transform:translateX(-50%);}}
@keyframes arrowDown{50%{transform:translateY(6px);}}
/* 03 spaces */
.spaces {padding:155px 0 165px;}
.space-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:75px 23px;padding:0 6vw;max-width:1750px;margin:auto;}
.space-card:nth-child(3n+2) {transform:translateY(47px);}
.has-js .space-card:nth-child(3n+2){transform:translateY(75px);}
.has-js .space-card:nth-child(3n+2).visible {transform:translateY(47px);}
.space-image {overflow:hidden;aspect-ratio:4/4.7;background:#d4d0c4;}
.space-card:nth-child(2) .space-image,.space-card:nth-child(5) .space-image {aspect-ratio:4/5.3;}
.space-image img {width:100%;height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.2,.6,.2,1);}
.space-card:hover .space-image img {transform:scale(1.045);}
.space-meta {border-top:1px solid var(--line);padding:22px 2px 0;position:relative;}
.space-meta>span {position:absolute;right:0;top:23px;font-size:10px;letter-spacing:.13em;}
.space-meta h3 {font-family:var(--serif);font-size:clamp(30px,3.2vw,50px);font-weight:400;line-height:1.15;letter-spacing:-.035em;margin:0 0 12px;}
.space-meta p {color:var(--muted);font-family:var(--korean);font-weight:300;font-size:12px;line-height:1.8;word-break:keep-all;margin:0;}
/* 04 big photo quote */
.experience {position:relative;min-height:800px;min-height:92svh;background:url('assets/grand-piano.jpg') center 50%/cover no-repeat;display:grid;place-items:center;padding:120px 6vw;text-align:center;isolation:isolate;}
.experience-overlay {position:absolute;inset:0;z-index:-1;background:rgba(13,23,19,.58);}
.experience-content {max-width:960px;}
.experience h2 {font-size:clamp(95px,12vw,187px);line-height:.75;margin:43px 0;}
.experience p {max-width:530px;margin:0 auto;color:#e3e7df;font-family:var(--korean);font-weight:300;font-size:14px;line-height:2.1;word-break:keep-all;}
.experience-signature {display:block;margin-top:90px;font-family:var(--serif);font-style:italic;font-size:18px;letter-spacing:.08em;opacity:.7;}
/* 05 gallery */
.gallery {padding:145px 0 160px;}
.gallery-grid {display:grid;grid-template-columns:1.15fr .85fr;grid-template-rows:repeat(2,310px) 350px;gap:18px;padding:0 6vw;max-width:1750px;margin:0 auto;}
.gallery-item {position:relative;border:0;padding:0;cursor:zoom-in;overflow:hidden;background:#d7d2c7;color:#fff;}
.gallery-item img {width:100%;height:100%;object-fit:cover;transition:transform .9s ease;}
.gallery-item:hover img {transform:scale(1.04);}
.gallery-item:after {content:'';position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.36));pointer-events:none;}
.gallery-item span {position:absolute;left:24px;right:25px;bottom:23px;z-index:1;font-size:10px;letter-spacing:.18em;font-weight:600;text-align:left;display:flex;justify-content:space-between;align-items:center;text-shadow:0 1px 4px #0005;}
.gallery-item small{font-size:10px;}
.gallery-item-large {grid-row:span 2;}
.gallery-item-wide {grid-column:span 2;}
.gallery-note {text-align:right;margin:16px 6vw 0;font-family:var(--korean);font-size:10px;color:#999d98;}
/* 06 amenities */
.amenities {padding:145px 0 165px;}
.amenities-grid {margin:0 6vw;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid #c6cbbf;max-width:1540px;}
.amenity {border-bottom:1px solid #c6cbbf;padding:37px 24px 38px 0;display:flex;align-items:start;gap:27px;}
.amenity-icon {width:45px;flex:0 0 45px;font-family:var(--serif);font-size:38px;font-weight:300;line-height:.85;color:#6c8070;}
.amenity>div {display:flex;flex-direction:column;gap:13px;}
.amenity strong {font-family:var(--serif);font-size:27px;line-height:1.15;font-weight:500;}
.amenity div span{font-family:var(--korean);color:#777c73;font-size:11px;line-height:1.7;word-break:keep-all;}
/* 07 location */
.location {padding:145px 6vw;display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center;}
.location-left {padding:25px 0;}
.location h2 {font-size:clamp(70px,7.4vw,124px);margin-bottom:33px;}
.location-left>p {margin:0 0 45px;justify-self:start;}
.location-label {display:flex;flex-direction:column;gap:14px;padding:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:10px;font-weight:700;letter-spacing:.18em;}
.location-label strong {font-family:var(--korean);font-size:14px;font-weight:400;letter-spacing:-.03em;}
.location-links {display:flex;gap:15px;flex-wrap:wrap;margin-top:34px;}
.outline-link {display:flex;gap:45px;justify-content:space-between;align-items:center;border:1px solid #aeb8ad;padding:16px 20px;min-width:185px;font-size:10px;font-weight:700;letter-spacing:.055em;transition:background .2s,color .2s;}
.outline-link:hover {background:var(--dark);color:white;}
.location-image {height:690px;position:relative;overflow:hidden;}
.location-image img{height:100%;width:100%;object-fit:cover;object-position:50% center;}
.location-stamp {position:absolute;bottom:23px;right:23px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:3px;color:white;border:1px solid rgba(255,255,255,.6);width:130px;height:130px;border-radius:50%;background:#17282025;backdrop-filter:blur(2px);}
.location-stamp>span {font-size:9px;letter-spacing:.2em;}
.location-stamp strong {font-family:var(--serif);font-weight:400;font-size:26px;}
.location-stamp small {font-size:8px;letter-spacing:.13em;}
/* 08 faq */
.faq {display:grid;grid-template-columns:1fr 1.1fr;gap:7vw;padding:145px 6vw 155px;}
.faq-heading h2 {font-size:clamp(66px,7.5vw,124px);}
.faq-heading p {margin:30px 0 0;justify-self:start;}
.faq-list {border-top:1px solid #babfb4;align-self:start;}
.faq-list details {border-bottom:1px solid #babfb4;}
.faq-list summary {list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:30px;padding:23px 0;font-family:var(--korean);font-size:13px;font-weight:500;line-height:1.75;}
.faq-list summary::-webkit-details-marker {display:none;}
.faq-plus {display:grid;place-items:center;flex:0 0 30px;height:30px;font:300 28px var(--serif);transition:transform .3s;}
.faq-list details[open] .faq-plus{transform:rotate(45deg);}
.faq-list details p {margin:0;padding:0 35px 28px 0;max-width:560px;color:#747b70;font-family:var(--korean);font-size:12px;line-height:2;word-break:keep-all;}
/* Closing and footer */
.closing {min-height:800px;min-height:95svh;display:grid;place-items:center;isolation:isolate;position:relative;overflow:hidden;text-align:center;background:var(--dark);color:white;padding:100px 6vw;}
.closing-bg {position:absolute;inset:0;z-index:-1;background:linear-gradient(rgba(13,25,18,.55),rgba(13,25,18,.68)),url('assets/exterior.jpg') center/cover no-repeat;transform:scale(1.02);}
.closing-content h2 {font-size:clamp(113px,14vw,215px);line-height:.7;margin:45px 0 45px;}
.closing-content>p {font-family:var(--korean);font-weight:300;line-height:1.9;font-size:15px;letter-spacing:-.03em;word-break:keep-all;}
.closing-button {margin:45px auto 20px;max-width:390px;min-height:63px;background:var(--cream);color:var(--ink);display:flex;align-items:center;justify-content:space-between;gap:36px;padding:0 28px;font-family:var(--korean);font-weight:600;font-size:12px;transition:background .25s;}
.closing-button:hover {background:#cbd5c8;}
.closing-content>small {font-family:var(--korean);font-size:10px;color:#d5d9d2;display:block;line-height:1.7;}
.footer {background:var(--dark);color:var(--cream);padding:85px 6vw 40px;}
.footer-top {display:flex;align-items:end;justify-content:space-between;gap:30px;padding-bottom:85px;}
.footer-brand {font-family:var(--serif);font-size:clamp(57px,9.2vw,150px);font-weight:300;line-height:.8;white-space:nowrap;letter-spacing:-.055em;}
.footer-brand em {font-weight:300;}
.footer-top p {font-family:var(--korean);font-weight:300;font-size:11px;line-height:1.9;max-width:240px;color:#adb9ac;word-break:keep-all;}
.footer-bottom {display:flex;justify-content:space-between;gap:25px;border-top:1px solid #ffffff36;padding-top:25px;font-size:9px;letter-spacing:.1em;color:#aeb9ad;}
.footer-bottom>div {display:flex;gap:35px;flex-wrap:wrap;}
.footer-bottom a:hover {color:white;}
.lightbox {border:0;margin:auto;max-width:95vw;max-height:95vh;width:min(1250px,95vw);background:#17211e;color:white;padding:22px;box-shadow:0 30px 100px #0006;}
.lightbox::backdrop {background:rgba(6,14,9,.88);backdrop-filter:blur(12px);}
.lightbox img {height:min(78vh,750px);width:100%;object-fit:contain;}
.lightbox p{text-align:center;font-size:10px;letter-spacing:.2em;margin:20px 0 5px;}
.lightbox-close {position:absolute;top:0;right:0;color:white;background:#17211e;border:0;font:300 38px var(--serif);cursor:pointer;z-index:1;padding:0;width:55px;height:55px;}
/* Responsive */
@media(max-width:1150px){.nav-links{gap:19px;padding-left:0;}.brand{min-width:auto;}.nav-book{gap:18px;}.intro-copy{padding-left:1vw;}.space-grid{gap:64px 16px;}.amenity{gap:15px;}.amenity-icon{flex-basis:35px;width:35px;}.amenity strong{font-size:24px;}}
@media(max-width:860px){.site-header{height:75px;padding:0 5vw;}.site-header.scrolled,.site-header.menu-open{height:70px;}.nav-links{display:none;}.menu-toggle{display:flex;}.nav-book{padding:12px 14px;}.hero-topline{top:100px;}.hero-scene{left:7vw;}.hero-scene h1,.hero-scene h2{font-size:clamp(76px,11vw,130px);}.intro-grid{gap:25px;}.intro-copy{padding:0;}.intro-title h2{font-size:clamp(71px,9vw,105px);}.house-layout{gap:4vw;}.house-photo img{height:660px;}.space-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.space-card:nth-child(3n+2),.has-js .space-card:nth-child(3n+2).visible{transform:none;}.has-js .space-card:nth-child(3n+2){transform:translateY(30px);}.space-card:nth-child(even),.has-js .space-card:nth-child(even).visible {transform:translateY(45px);}.amenities-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.location{gap:5vw;}.location-image{height:580px;}.faq{gap:3vw;}}
@media(max-width:640px){html{scroll-padding-top:68px;}.site-header{padding:0 5.2vw;height:70px;}.site-header.scrolled,.site-header.menu-open{height:64px;}.brand{gap:9px;}.brand-mark{height:33px;width:33px;font-size:14px;}.brand-name{font-size:10px;letter-spacing:.12em;}.brand-name small{font-size:7px;letter-spacing:.17em;}.nav-actions{gap:0;}.language-toggle{padding:8px;}.nav-book{padding:11px 12px;font-size:10px;gap:9px;}.menu-toggle{margin-left:4px;}.hero-scroll{height:460vh;height:460svh;}.hero-topline{top:94px;font-size:8px;letter-spacing:.105em;left:6%;right:6%;}.hero-topline span:last-child{display:none;}.hero-scene{left:7%;right:6%;top:47%;}.hero-eyebrow{font-size:9px;margin-bottom:20px;}.hero-scene h1,.hero-scene h2{font-size:clamp(66px,16vw,110px);line-height:.77;margin:0 0 32px;}.hero-scene[data-scene="3"] h2 {font-size:clamp(54px,12.6vw,90px);}.hero-scene p{font-size:12px;line-height:1.85;max-width:300px;word-break:keep-all;}.hero-bottomline{left:6%;right:6%;bottom:35px;}.scroll-prompt{gap:8px;font-size:9px;letter-spacing:.06em;}.scroll-arrow{width:35px;height:35px;font-size:19px;}.hero-progress{gap:6px;font-size:10px;}.progress-track{width:37px;margin:0 2px;}.intro{padding:95px 0 90px;}.section-kicker{margin:0 6vw 85px;font-size:8px;gap:12px;letter-spacing:.08em;}.kicker-line{width:18px;}.intro-grid{grid-template-columns:1fr;margin-bottom:75px;gap:60px;padding:0 7vw;}.intro-title h2{font-size:clamp(75px,14vw,110px);}.intro-copy{max-width:100%;padding-left:15vw;}.intro-symbol{font-size:30px;margin-bottom:25px;}.intro-copy .lead{font-size:22px;}.intro-copy p:not(.lead){font-size:12px;}.intro-visual{margin:0 5vw;}.intro-visual img{min-height:350px;height:65vh;object-position:center;}.intro-visual-caption{left:15px;right:15px;bottom:15px;font-size:8px;}.intro-visual-caption span:last-child{display:none;}.section-heading{padding:0 7vw;margin-bottom:48px;}.heading-split{display:block;}.section-heading h2,.house-heading h2,.faq-heading h2,.location h2{font-size:clamp(67px,12.5vw,92px);}.heading-split p{margin:24px 0 0;font-size:12px;max-width:320px;}.house{padding:95px 5vw 100px;}.house-heading{margin-bottom:53px;}.house-heading p{font-size:12px;margin-top:25px;}.house-layout{grid-template-columns:1fr;gap:44px;}.house-photo img{height:490px;}.house-aside{padding:0 3vw;}.house-fact{padding:14px 0;}.house-fact strong{font-size:62px;}.house-aside>p{font-size:12px;}.marquee{padding:19px 0 16px;}.marquee-inner span{font-size:27px;}.spaces{padding:95px 0 115px;}.space-grid{grid-template-columns:1fr;gap:48px;padding:0 6vw;}.space-card:nth-child(n),.has-js .space-card:nth-child(n).visible{transform:none;}.has-js .space-card:nth-child(n){transform:translateY(30px);}.space-image,.space-card:nth-child(2) .space-image,.space-card:nth-child(5) .space-image{aspect-ratio:4/4.1;}.space-meta h3{font-size:38px;}.experience{min-height:690px;min-height:80svh;padding:90px 7vw;}.experience h2{font-size:clamp(77px,16vw,110px);}.experience p{font-size:12px;}.experience-signature{margin-top:60px;font-size:14px;}.gallery{padding:95px 0 105px;}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:310px 210px 220px;gap:9px;padding:0 5vw;}.gallery-item-large{grid-column:span 2;grid-row:span 1;}.gallery-item-wide{grid-column:span 2;}.gallery-item span{left:13px;right:13px;bottom:12px;font-size:9px;}.gallery-note{font-size:9px;margin:13px 5vw 0;text-align:left;}.amenities{padding:95px 0 100px;}.amenities-grid{grid-template-columns:1fr;margin:0 7vw;}.amenity{padding:24px 0;gap:22px;}.amenity strong{font-size:28px;}.location{grid-template-columns:1fr;gap:55px;padding:95px 7vw 100px;}.location h2{font-size:clamp(70px,13vw,100px);}.location-left>p{font-size:12px;}.location-image{height:450px;}.location-stamp{height:106px;width:106px;}.location-stamp strong{font-size:22px;}.location-links{gap:10px;}.outline-link{min-width:0;flex:1;gap:10px;padding:15px 12px;white-space:nowrap;font-size:9px;}.faq{grid-template-columns:1fr;padding:95px 7vw 105px;gap:55px;}.faq-heading h2{font-size:clamp(68px,12vw,100px);}.faq-heading p{font-size:12px;}.faq-list summary{font-size:12px;padding:19px 0;}.faq-list details p{font-size:11px;padding-bottom:23px;}.closing{min-height:700px;min-height:90svh;padding:90px 6vw;}.closing-content h2{font-size:clamp(92px,17vw,150px);margin:40px 0 38px;}.closing-content>p{font-size:12px;}.closing-button{padding:0 19px;font-size:11px;min-height:59px;}.footer{padding:65px 7vw 35px;}.footer-top{display:block;padding-bottom:65px;}.footer-brand{font-size:clamp(55px,12vw,95px);}.footer-top p{margin-top:30px;}.footer-bottom{display:block;font-size:8px;line-height:1.9;}.footer-bottom>div{margin-top:25px;gap:19px;}.lightbox{padding:10px;}.lightbox img{height:70vh;}}
@media(max-width:390px){.brand-name{font-size:9px;}.nav-book{font-size:9px;padding:10px 7px;}.language-toggle{padding:7px 5px;}.brand-mark{width:29px;height:29px;}.hero-scene h1,.hero-scene h2{font-size:66px;}.hero-scene[data-scene="3"] h2{font-size:52px;}.hero-progress .progress-track{width:23px;}.intro-title h2{font-size:70px;}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto;}.scroll-arrow,.marquee-inner{animation:none;}.has-js .reveal,.has-js .reveal.visible{opacity:1;transform:none;transition:none;}.hero-scene,.hero-scene.is-active{transition:none;}.space-image img,.gallery-item img{transition:none;}}
