:root{--ink:#262720;--text:#262720;--muted:#73746b;--paper:#faf9f5;--line:#e8e7df;--sage:#f6f0cf;--accent:#ffdf25;--white:#fff;--radius:4px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;background:var(--paper);color:var(--text);font:16px/1.65 -apple-system,BlinkMacSystemFont,'Apple SD Gothic Neo','Malgun Gothic',sans-serif;word-break:keep-all}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}a{color:inherit;text-decoration:none}button{cursor:pointer;color:inherit}button:disabled{cursor:wait}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #a38137;outline-offset:4px}button{border:0;background:none}h1,h2,h3,p{margin:0}h1,h2,h3{letter-spacing:-.055em;line-height:1.25}h2{font-size:38px;font-weight:650}h3{font-size:24px}.wrap{width:min(1200px,calc(100% - 96px));margin-inline:auto}.draft-note{padding:7px 24px;background:#f0eee5;text-align:center;font-size:16px;letter-spacing:.12em}.draft-note span{letter-spacing:0;margin-left:14px;font-size:16px}header{position:sticky;top:0;z-index:20;background:rgba(251,250,246,.97);border-bottom:1px solid var(--line);height:88px;padding:0 48px;display:flex;align-items:center;justify-content:space-between;gap:25px}.logo{display:flex;flex-direction:column;font-size:34px;font-weight:850;line-height:1;letter-spacing:-2px}.logo span{font-size:16px;letter-spacing:2px;margin-top:7px;font-weight:600}nav{display:flex;gap:32px;font-size:16px}nav a:hover,.text-link:hover{color:#887100}.button{min-height:52px;padding:13px 23px;display:inline-flex;align-items:center;justify-content:center;gap:28px;border-radius:var(--radius);font-weight:550;font-size:16px;white-space:nowrap;transition:background .2s}.button span{font-size:20px;font-weight:400}.button.dark{background:var(--ink);color:white}.button.dark:hover{background:#285446}.button.light{background:var(--accent);color:var(--ink)}.button.small{min-height:43px;padding:8px 18px}.button.outline{border:1px solid #d8d4bf}.button.outline:hover{background:var(--sage)}.full{width:100%;justify-content:space-between}.text-link{font-size:16px;font-weight:600;padding:10px 0;display:inline-block}.hero{display:grid;grid-template-columns:1fr 1fr;gap:60px;padding-block:65px 70px;align-items:center}.eyebrow{font-size:16px;letter-spacing:.16em;font-weight:650;margin-bottom:22px}.hero h1{font-size:clamp(46px,4.7vw,68px);font-weight:650;line-height:1.23;letter-spacing:-.065em}.hero-desc{margin-top:26px;font-size:17px;color:#73746b;line-height:1.85}.hero-actions{display:flex;align-items:center;gap:24px;margin-top:32px;flex-wrap:wrap}.hero-foot{display:flex;gap:18px;margin-top:50px;font-size:16px;color:#73746b}.hero-foot span+span:before{content:'·';margin-right:18px}.photo-slot{background:#eeede7;position:relative;overflow:hidden;color:#73746b}.hero-photo{height:480px;background:#f2eedc}.slot-top{position:absolute;left:24px;top:24px;font-size:16px;letter-spacing:.14em}.slot-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px}.slot-center span{font-size:17px;letter-spacing:-.025em}.slot-center small{font-size:16px;opacity:.75}.slot-bottom{position:absolute;bottom:25px;left:25px;right:25px;display:flex;justify-content:space-between;font-size:16px;border-top:1px solid #d9d5c5;padding-top:18px}.availability{background:var(--ink);color:#f3f5ed;padding:65px 0 45px}.section-top{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:36px}.section-top .eyebrow{margin-bottom:13px}.section-top>p{font-size:16px;color:var(--muted)}.availability .section-top>p{color:#bbcec3}.availability .eyebrow{color:#b8cc93}.availability-box{background:var(--paper);color:var(--text);padding:28px 34px;border-radius:5px}.availability-toolbar,.update-row{display:flex;align-items:center;gap:12px}.availability-toolbar{justify-content:space-between}.segmented{display:inline-flex;gap:4px;border:1px solid var(--line);border-radius:5px;background:#f4f5f0;padding:4px}.segmented button{min-height:40px;padding:8px 23px;font-size:16px;border-radius:3px;white-space:nowrap}.segmented button.selected{background:var(--ink);color:white}.sample-tag{font-size:16px;border:1px solid #dbd1b7;color:#8d743a;padding:2px 9px;border-radius:3px}.update-row{font-size:16px;color:var(--muted);margin-top:20px;flex-wrap:wrap}.update-dot{width:6px;height:6px;border-radius:50%;background:#b89600}.icon-text{font-size:16px;text-decoration:underline;text-underline-offset:4px;padding:4px 0}.update-row .icon-text{margin-left:auto}.availability-head,.availability-item{display:grid;grid-template-columns:1.1fr 1.2fr .5fr;gap:20px;align-items:center}.availability-head{margin-top:24px;border-bottom:1px solid var(--line);padding:0 0 10px;font-size:16px;color:var(--muted)}.availability-item{padding:20px 0;border-bottom:1px solid var(--line)}.room-type{font-size:20px;letter-spacing:-.04em;font-weight:650}.room-position{font-size:16px;font-weight:400;display:inline-block;margin-left:12px;color:var(--muted);letter-spacing:0}.available-date{font-size:16px;font-weight:600}.available-date.conditional{color:#8a662f}.available-caption{font-size:16px;color:var(--muted);display:block;margin-top:3px}.row-inquiry{text-align:right;font-size:16px;padding:8px 0}.availability-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:20px}.availability-bottom p{font-size:16px;color:var(--muted)}.availability-bottom p span{font-size:16px}.subnote{font-size:16px;color:var(--muted);margin-top:16px}.availability>.wrap>.subnote{color:#bccdc2}.section{padding-block:85px}.branch-grid{display:grid;grid-template-columns:1fr 1fr;gap:44px}.branch-photo{height:280px}.alternate{background:#eeede7}.branch-heading{display:flex;justify-content:space-between;align-items:center;margin-top:24px}.branch-heading h3{font-size:30px}.branch-heading a{font-size:30px}.address{font-size:16px;color:var(--muted);margin-top:8px}.tags{display:flex;gap:8px;margin-top:16px}.tags span{font-size:16px;border:1px solid var(--line);padding:3px 10px;border-radius:3px}.branch-description{margin-top:22px;font-size:16px}.branch-facts{display:flex;gap:20px;border-top:1px solid var(--line);margin-top:24px;padding-block:18px;font-size:16px;color:var(--muted)}.services{background:var(--sage);padding-block:70px}.services-layout{display:grid;grid-template-columns:.8fr 1.6fr;gap:70px}.muted{color:var(--muted);font-size:16px;margin-top:22px}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px}.service-grid article{border-top:1px solid #ded9c5;padding-top:18px}.service-no{font-size:16px;color:#817957}.service-grid h3{font-size:20px;margin-top:12px}.service-grid p{font-size:16px;color:var(--muted);margin-top:12px}.price-controls{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.term-options{display:flex;gap:22px;font-size:16px}.term-options label{cursor:pointer;display:flex;align-items:center;gap:6px}input[type=radio]{accent-color:var(--ink);width:16px;height:16px}table{width:100%;border-collapse:collapse;text-align:left}th{font-weight:400;font-size:16px;background:var(--sage);padding:15px 22px}td{padding:22px;font-size:18px;border-bottom:1px solid var(--line)}td:first-child{font-weight:600}td small{font-size:16px;color:var(--muted)}.price-detail{font-size:16px;margin-top:18px;color:var(--muted)}.virtual-row{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:32px;padding:28px;background:var(--sage)}.virtual-row h3{font-size:20px}.virtual-row p{font-size:16px;color:var(--muted);margin-top:9px}.virtual-row strong{font-size:22px;white-space:nowrap}.virtual-row small{display:block;font-size:16px;color:var(--muted)}.location{background:#f3f1e8}.location-layout{display:grid;grid-template-columns:.9fr 1.4fr;gap:50px}.location-info h3{font-size:27px;margin-top:30px}.location-info>p{font-size:16px;margin-top:10px}.location-info>.icon-text{margin-top:8px}.location-info dl{margin:22px 0 30px;font-size:16px}.location-info dl>div{display:flex;gap:18px;padding:8px 0}.location-info dt{width:45px;color:var(--muted);flex-shrink:0}.location-info dd{margin:0}.map-container{min-height:360px;position:relative;background:#eeede7}.map-container iframe{width:100%;height:100%;min-height:360px;border:0;display:block;filter:saturate(.55)}.map-container>a{position:absolute;bottom:14px;right:14px;left:14px;background:#fffffff0;text-align:center;font-size:16px;padding:9px}.faq{display:grid;grid-template-columns:.8fr 1.6fr;gap:70px}.faq details{border-bottom:1px solid var(--line);padding:22px 0}.faq details:first-child{border-top:1px solid var(--line)}summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:18px;font-size:16px;font-weight:550}summary::-webkit-details-marker{display:none}summary:after{content:'+';font-size:20px;font-weight:400}details[open] summary:after{content:'−'}.faq details p{font-size:16px;color:var(--muted);padding-top:16px;line-height:1.9}.contact{background:var(--ink);color:#f7f8f1;padding-block:70px}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:100px}.contact h2{font-size:46px}.contact .eyebrow{color:#bacd99}.contact p{font-size:16px;color:#73746b;margin-top:24px}.contact-phone{display:block;font-size:28px;letter-spacing:-.04em;margin-top:35px;margin-bottom:7px}.contact-phone+a{font-size:16px;color:#73746b}.contact form label{display:flex;flex-direction:column;gap:8px;font-size:16px;margin-bottom:18px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.contact input,.contact select,.contact textarea{min-width:0;width:100%;border:1px solid #d8cd95;color:white;background:#fffef7;border-radius:3px;padding:12px;font-size:16px;color-scheme:dark}.contact textarea{resize:vertical}.contact textarea::placeholder{color:#8a8574}.contact select{appearance:auto}.contact .form-hint{font-size:16px;margin-top:12px}.copy-message{font-size:16px;color:#75632b;text-decoration:underline;text-underline-offset:4px;padding:7px 0}.contact #inquiry-status{font-size:16px;margin:0}footer{padding-block:35px;display:flex;justify-content:space-between;align-items:center;gap:30px}footer>div,footer>p{font-size:16px;color:var(--muted)}footer>p{text-align:right}.mobile-contact{display:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(min-width:1500px){.hero{padding-block:80px}.hero-photo{height:510px}}@media(max-width:1000px){.wrap{width:calc(100% - 56px)}header{padding:0 28px}nav{gap:20px;font-size:16px}.hero{gap:30px}.hero h1{font-size:50px}.hero-photo{height:450px}.hero-foot{gap:10px;font-size:16px}.hero-foot span+span:before{margin-right:10px}.services-layout,.faq{gap:35px}.contact-layout{gap:45px}h2{font-size:32px}.virtual-row{flex-wrap:wrap}.branch-grid{gap:28px}.location-layout{gap:30px}}@media(max-width:700px){html{scroll-padding-top:80px}.wrap{width:calc(100% - 40px)}.draft-note{padding:6px 10px;font-size:16px}.draft-note span{font-size:16px;margin-left:7px}header{height:70px;padding:0 20px}.logo{font-size:29px}.logo span{font-size:16px}nav{display:none}.button.small{font-size:16px;min-height:38px;gap:15px}.hero{grid-template-columns:1fr;gap:30px;padding-block:38px}.hero h1{font-size:48px}.eyebrow{font-size:16px;margin-bottom:18px}.hero-desc{font-size:16px;margin-top:20px}.hero-actions{gap:20px;margin-top:25px}.hero-foot{margin-top:26px;font-size:16px}.hero-photo{height:265px}.slot-top{left:18px;top:18px}.slot-bottom{left:18px;right:18px;bottom:18px}.availability{padding-block:42px 30px}.section-top{display:block;margin-bottom:26px}h2{font-size:29px}.section-top>p{margin-top:14px;font-size:16px}.availability-box{padding:18px 16px}.segmented button{padding:7px 15px;min-height:37px;font-size:16px}.sample-tag{font-size:16px}.update-row{gap:6px;font-size:16px;margin-top:17px}.update-row .icon-text{font-size:16px}.availability-head,.availability-item{grid-template-columns:1fr 1.15fr;gap:12px}.availability-head span:last-child{display:none}.availability-item{position:relative;padding:18px 0}.room-type{font-size:17px}.room-position{display:block;margin-left:0;margin-top:3px;font-size:16px}.available-date{font-size:16px}.available-caption{font-size:16px}.row-inquiry{grid-column:2;text-align:left;font-size:16px;padding:0;margin-top:-5px}.availability-bottom{display:block;padding-top:18px}.availability-bottom p{font-size:16px}.availability-bottom p span{font-size:16px}.availability-bottom>a{font-size:16px;padding-bottom:0}.subnote{font-size:16px}.section{padding-block:48px}.branch-grid{grid-template-columns:1fr;gap:40px}.branch-photo{height:240px}.branch-heading{margin-top:18px}.branch-heading h3{font-size:27px}.branch-description{font-size:16px;margin-top:16px}.branch-facts{gap:16px;font-size:16px}.services{padding-block:45px}.services-layout{grid-template-columns:1fr;gap:28px}.services-layout>div:first-child h2 br{display:none}.muted{font-size:16px;margin-top:14px}.service-grid{gap:24px 18px}.service-grid h3{font-size:16px}.service-grid p{font-size:16px}.price-controls{flex-direction:column;align-items:start;gap:18px}.term-options{gap:25px;font-size:16px}th{font-size:16px;padding:12px 8px}td{padding:18px 8px;font-size:16px}td small{font-size:16px}.price-detail{font-size:16px}.virtual-row{padding:20px;gap:16px}.virtual-row h3{font-size:18px}.virtual-row p{font-size:16px}.virtual-row strong{font-size:21px}.virtual-row .text-link{margin-left:auto;font-size:16px}.location-layout{grid-template-columns:1fr;gap:22px}.location-info h3{margin-top:22px}.map-container,.map-container iframe{min-height:300px;height:300px}.faq{grid-template-columns:1fr;gap:25px}.faq details{padding:19px 0}summary{font-size:16px}.faq details p{font-size:16px}.contact{padding-block:45px}.contact-layout{grid-template-columns:1fr;gap:34px}.contact h2{font-size:35px}.contact h2 br{display:none}.contact p{font-size:16px;margin-top:16px}.contact-phone{font-size:27px;margin-top:22px}.form-row{gap:12px}.contact form label{font-size:16px}.contact input,.contact select,.contact textarea{font-size:16px}footer{align-items:start;flex-direction:column;gap:20px;padding-block:30px 95px}footer>p{text-align:left}.mobile-contact{position:fixed;bottom:0;left:0;right:0;z-index:25;display:grid;grid-template-columns:1fr 1fr;background:var(--paper);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}.mobile-contact a{padding:15px;text-align:center;font-size:16px;font-weight:600}.mobile-contact a:last-child{background:var(--ink);color:white}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Public brand colors match cloudflare/signing/portal/styles.css. */
:root{--yellow:#ffdf25;--yellow-hover:#f7d51a}
header{background:rgba(250,249,245,.97);border-bottom:3px solid var(--yellow)}
.button.dark,.button.light{background:var(--yellow);color:var(--ink);border:1px solid #ebcc1b}.button.dark:hover,.button.light:hover{background:var(--yellow-hover)}
.segmented button.selected{background:var(--yellow);color:var(--ink);font-weight:650}
.availability{background:#f6f0cf;color:var(--ink)}.availability .eyebrow,.contact .eyebrow{color:#817957}.availability .section-top>p,.availability>.wrap>.subnote{color:var(--muted)}
.availability-box{background:white;border:1px solid #e8dfac}.contact{background:#fff4b8;color:var(--ink)}.contact input,.contact select,.contact textarea{color:var(--ink);color-scheme:light}.contact p,.contact-phone+a{color:var(--muted)}
.mobile-contact a:last-child{background:var(--yellow);color:var(--ink)}
.waitlist-cta{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-top:25px;padding-top:24px;border-top:1px solid #d8cd95}.waitlist-cta h3{font-size:20px}.waitlist-cta p{font-size:16px;color:var(--muted);margin-top:6px}
.wait-dialog{width:calc(100% - 32px);max-width:460px;border:1px solid var(--line);border-radius:12px;padding:0;background:var(--paper);color:var(--ink)}.wait-dialog::backdrop{background:#26272066}.wait-header{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;border-bottom:3px solid var(--yellow)}.wait-header h2{font-size:23px}.wait-header button{font-size:26px;min-width:40px;min-height:40px}.wait-body{padding:24px}.wait-body>p{font-size:16px;color:var(--muted);margin-bottom:22px}.wait-body label{display:block;font-size:16px;margin-bottom:17px}.wait-body select{display:block;width:100%;padding:12px;border:1px solid var(--line);border-radius:5px;background:white;color:var(--ink);margin-top:7px}.wait-notice{padding:15px;background:#f6f0cf;font-size:16px;line-height:1.7;margin:20px 0}.wait-body button:disabled{background:#e8e7df;border-color:#e8e7df;color:#73746b;cursor:not-allowed}
@media(max-width:700px){.waitlist-cta{align-items:stretch;flex-direction:column;gap:16px}.waitlist-cta h3{font-size:19px}.waitlist-cta p{font-size:16px}.wait-body select{font-size:16px}}

.logo{display:block;flex-shrink:0}.logo img{display:block;width:130px;height:auto}.nav-wait{font-size:16px;padding:0}
.branch-overview{display:grid;grid-template-columns:1fr 1.2fr;gap:60px;padding:28px 0 32px;border-top:1px solid var(--line)}.branch-overview h3{font-size:36px}.branch-overview .eyebrow{margin-bottom:12px}.branch-overview .branch-description{margin-top:0}.detail-actions{display:flex;gap:26px;flex-wrap:wrap}.gallery-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:24px 0 20px}.gallery-toolbar h3{font-size:22px}.gallery-tabs{display:flex;gap:8px;flex-wrap:wrap}.gallery-tabs button{border:1px solid var(--line);padding:8px 14px;border-radius:4px;font-size:16px}.gallery-tabs button[aria-pressed=true]{background:var(--yellow);border-color:#ebcc1b;font-weight:650}.detail-gallery{display:grid;grid-template-columns:1.65fr 1fr;grid-template-rows:210px 210px;gap:14px}.detail-gallery figure{margin:0;background:#eeede7;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px}.detail-gallery figure:first-child{grid-row:span 2;background:#e9e6da}.detail-gallery figure>span{font-size:16px;color:#a5a08e;letter-spacing:.12em}.detail-gallery figcaption{font-size:16px;color:#73746b}.detail-gallery small{font-size:16px;color:#8a8574}.room-detail-heading{display:flex;justify-content:space-between;gap:20px;align-items:end;margin:42px 0 22px}.room-detail-heading h3{font-size:25px}.room-detail-heading p{font-size:16px;color:var(--muted)}.room-details{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.room-detail-card{border-top:1px solid var(--line);padding-top:22px}.room-detail-card h4{font-size:21px;margin:0 0 10px;letter-spacing:-.04em}.room-detail-card p{font-size:16px;color:var(--muted);min-height:44px}.room-detail-card small{display:block;font-size:16px;margin:14px 0;color:#817957}.room-detail-card button{font-size:16px;font-weight:600;padding:10px 0}.room-photo-mini{height:150px;background:#eeede7;display:flex;align-items:center;justify-content:center;font-size:16px;color:#8a8574;margin-bottom:18px}.room-details.two-types{grid-template-columns:repeat(2,1fr)}
@media(max-width:700px){.logo img{width:110px}.branch-overview{grid-template-columns:1fr;gap:23px;padding:25px 0}.branch-overview h3{font-size:29px}#branches>.section-top>.segmented{margin-top:20px}.detail-actions{gap:22px}.gallery-toolbar{display:block;margin-top:22px}.gallery-tabs{margin-top:16px;gap:6px}.gallery-tabs button{font-size:16px;padding:8px 11px}.detail-gallery{grid-template-columns:1fr 1fr;grid-template-rows:240px 150px;gap:10px}.detail-gallery figure:first-child{grid-column:span 2;grid-row:auto}.detail-gallery figcaption{font-size:16px}.detail-gallery figure>span,.detail-gallery small{font-size:16px}.room-detail-heading{display:block;margin-top:32px}.room-detail-heading p{font-size:16px;margin-top:10px}.room-details,.room-details.two-types{grid-template-columns:1fr;gap:25px}.room-detail-card p{min-height:0}.room-photo-mini{height:190px}}
/* Refined public-site palette: white canvas, restrained golden-yellow accents. */
:root{--ink:#24231f;--text:#24231f;--muted:#77746c;--paper:#ffffff;--line:#e9e7e0;--sage:#f8f7f3;--accent:#fed618;--yellow:#fed618;--yellow-hover:#fed618}
body{background:#fff}header{background:rgba(255,255,255,.97);border-bottom:1px solid var(--line)}.draft-note{background:#f6f5f1;color:#8a867b}.button{border-radius:3px}.button.dark,.button.light{border-color:var(--yellow);font-weight:600}.button.dark:hover,.button.light:hover{border-color:var(--yellow-hover)}.hero h1{font-weight:600;letter-spacing:-.06em}.hero-photo{background:#f0eee8}.photo-slot,.alternate,.map-container{background:#f4f3ef;color:#999488}.slot-bottom{border-color:#ddd9ce}.eyebrow{color:#8f7c46}.hero-foot{color:#89857b}.availability,.services,.location,.contact{background:#fff;color:var(--ink);border-top:1px solid var(--line)}.availability .eyebrow,.contact .eyebrow{color:#9c8240}.availability-box{border:1px solid var(--line);background:white;border-radius:5px;padding:28px 32px}.segmented{background:#f8f7f3;border-color:#edeae2}.segmented button.selected{background:var(--yellow);color:var(--ink)}.waitlist-cta{border-top:1px solid var(--line);padding:26px 0 0}.waitlist-cta h3{font-weight:550}.service-grid article{border-top-color:var(--line)}th{background:#f8f7f3}.virtual-row{background:#f8f7f3}.contact input,.contact select,.contact textarea{background:white;border-color:#dcd9d1;color:var(--ink)}.contact .form-hint,.contact p,.contact-phone+a{color:var(--muted)}.contact h2{font-weight:550}.copy-message{color:#756335}.mobile-contact{background:white}.gallery-tabs button[aria-pressed=true]{background:var(--yellow);border-color:var(--yellow)}.detail-gallery figure,.room-photo-mini{background:#f5f4f0}.detail-gallery figure:first-child{background:#eeece5}.branch-overview .tags span{background:#faf9f6}.wait-notice{background:#faf6e9}.wait-header{border-bottom:2px solid var(--yellow)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline-color:#a08532}.contact{padding-top:80px}.availability>.wrap>.subnote{color:var(--muted)}
@media(max-width:700px){.availability-box{padding:18px 16px}.contact{padding-top:45px}.hero h1{font-size:46px}}

/* Readable commercial conditions; the map has its own clean framed presentation. */
.virtual-row{display:grid;grid-template-columns:1.1fr 1.3fr auto;align-items:center}.virtual-row small{font-size:16px;line-height:1.8;margin-top:9px;color:#625f57}.virtual-row small span{display:block}.virtual-row p,.price-detail,.subnote,.availability-bottom p,.availability-bottom p span{font-size:16px;line-height:1.8}.price-parking{display:flex;align-items:center;gap:14px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding:18px 22px;font-size:16px}.price-parking .parking-label{color:var(--muted)}.price-parking strong{font-size:16px;font-weight:600}.price-parking>span:last-child{color:var(--muted);margin-left:auto}.price-detail{margin-top:18px}.update-row,.update-row .icon-text,.available-caption,.room-position{font-size:16px}.branch-facts,.room-detail-card small,.location-info dl,.contact .form-hint,.copy-message{font-size:16px}.map-card{border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#fff;align-self:start}.map-card-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:18px 22px}.map-card-heading span{font-size:16px;letter-spacing:.15em;color:#8f7c46}.map-card-heading strong{font-size:16px;font-weight:550}.map-card .map-container,.map-card iframe{height:360px;min-height:360px}.map-card iframe{filter:grayscale(.9) saturate(.25);transition:filter .2s}.map-card:hover iframe,.map-card:focus-within iframe{filter:grayscale(.45) saturate(.6)}#map-fallback{display:block;padding:16px 20px;font-size:16px;text-align:center;border-top:1px solid var(--line);background:#fff}.location-layout{align-items:start}
@media(max-width:1000px){.virtual-row{grid-template-columns:1fr 1fr}.virtual-row>.text-link{grid-column:1/-1;justify-self:end}}
@media(max-width:700px){.virtual-row{display:flex;flex-direction:column;align-items:stretch;gap:20px}.virtual-row .text-link{margin-left:0}.virtual-row small,.virtual-row p,.price-detail,.subnote,.availability-bottom p,.availability-bottom p span{font-size:16px}.price-parking{padding:16px 8px;gap:8px 12px}.price-parking>span:last-child{width:100%;margin-left:0;font-size:16px}.update-row{font-size:16px;line-height:1.7}.update-row .icon-text{font-size:16px}.available-caption{font-size:16px}.room-position{font-size:16px}.map-card .map-container,.map-card iframe{height:310px;min-height:310px}.map-card-heading{padding:16px}.branch-facts{font-size:16px}.contact .form-hint{font-size:16px}}

.price-parking{display:grid;grid-template-columns:1fr 2fr 1fr;gap:0;padding:18px 22px}.price-parking strong{text-align:center}.price-parking .parking-label{text-align:left}@media(max-width:700px){.price-parking{padding:16px 8px}}

.map-card #map-frame{height:360px;width:100%;min-height:360px;filter:none}.map-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;height:100%;min-height:310px;padding:28px;background:#f6f5f1;font-size:16px;line-height:1.8}.map-loading strong{font-size:16px}.map-loading small{font-size:16px;color:var(--muted);margin-top:14px}@media(max-width:700px){.map-card #map-frame{height:310px;min-height:310px}}

/* Keep readable text at 16px or larger across desktop and mobile. */
.hero-foot,.branch-facts,.tags{flex-wrap:wrap}.availability-toolbar{flex-wrap:wrap}.draft-note{letter-spacing:.02em}.slot-bottom{gap:12px;flex-wrap:wrap}.location-info dt{width:auto;min-width:45px}
@media(max-width:700px){.hero-foot{gap:8px 14px}.term-options{flex-wrap:wrap;gap:12px 20px}th,td{padding-inline:5px}td small{display:inline-block}.map-card-heading{flex-wrap:wrap}.detail-gallery figcaption{text-align:center}.form-row{grid-template-columns:1fr}}

/* Official logo yellow, sampled from the original brand artwork (RGB 254, 214, 24). */
.button.dark:hover,.button.light:hover{box-shadow:inset 0 0 0 1px #24231f26}

/* Inquiry uses independent multiple choices; global branch changes prefill until edited. */
.inquiry-options{border:0;padding:0;margin:24px 0;min-width:0}.inquiry-options legend{padding:0;margin-bottom:12px;font-weight:600}.inquiry-options legend span{color:var(--muted);font-weight:400;margin-left:10px}.inquiry-options>div{display:flex;flex-wrap:wrap;gap:10px 20px}.contact .inquiry-options label{display:flex;flex-direction:row;align-items:center;gap:8px;margin:0;padding:8px 0;cursor:pointer}.contact .inquiry-options input{width:20px;height:20px;min-width:20px;margin:0;padding:0;accent-color:var(--yellow)}.contact .form-hint{margin:10px 0 18px}.contact #inquiry-status{margin-top:16px}.contact button:disabled{opacity:.65;cursor:wait}

/* Brand-yellow heading accents, darkened for readability on white. */
:root{--brand-caption:#987b00}
.eyebrow,.availability .eyebrow,.contact .eyebrow,.branch-overview .eyebrow,.map-card-heading span{color:var(--brand-caption)}



.parking-row th{background:transparent;color:var(--muted);border-bottom:1px solid var(--line)}.parking-row td{font-weight:400}

/* Branch changes keep columns and section positions stable. */
#prices table{table-layout:fixed}#prices th,#prices td{width:25%}#prices .parking-row th{width:50%}
#availability-list{display:grid;grid-auto-rows:minmax(116px,auto)}#availability-list .availability-item{min-width:0}.layout-spacer{visibility:hidden;pointer-events:none}
.price-detail{min-height:58px}
@media(max-width:700px){#availability-list{grid-auto-rows:minmax(164px,auto)}.price-detail{min-height:116px}}

.room-layout-spacer{display:none}@media(max-width:700px){.room-layout-spacer{display:block}}

/* Keep explanatory content attached; reserve branch differences below it. */
.availability-space{height:calc(var(--missing-rows,0)*116px);border:0}.price-detail{margin-bottom:0}#price-layout-space{border:0}
@media(max-width:700px){.availability-space{height:calc(var(--missing-rows,0)*164px)}}

.available-date.unavailable{color:var(--muted)}.row-waitlist{color:var(--ink);font-weight:600;text-decoration:underline;text-decoration-color:var(--yellow);text-decoration-thickness:3px;text-underline-offset:6px}

.availability-wait-link{display:inline-block;color:var(--ink);font-weight:600;text-decoration:underline;text-decoration-color:var(--yellow);text-decoration-thickness:3px;text-underline-offset:5px;padding:4px 0}

/* Real branch photography: every image opens the shared lightbox. */
.photo-view{display:block;position:relative;width:100%;height:100%;min-width:0;padding:0;border:0;border-radius:0;background:#f4f3ef;overflow:hidden;cursor:zoom-in}.photo-view img{display:block;width:100%;height:100%;object-fit:cover}.photo-enlarge{position:absolute;right:14px;bottom:14px;background:#ffffffed;color:var(--ink);padding:6px 10px;border-radius:3px;font-size:16px;line-height:1.5;opacity:0;transition:opacity .15s}.photo-view:hover .photo-enlarge,.photo-view:focus-visible .photo-enlarge{opacity:1}.hero-photo .photo-enlarge{opacity:1}.detail-gallery figure{display:block;overflow:hidden;position:relative}.detail-gallery figcaption{position:absolute;bottom:0;left:0;right:0;padding:32px 18px 14px;background:linear-gradient(transparent,#0009);color:white;pointer-events:none;text-align:left;font-size:16px}.detail-gallery .photo-enlarge{bottom:auto;top:12px}.gallery-controls,.room-photo-controls{display:flex;justify-content:center;align-items:center;gap:18px}.gallery-controls{margin-top:18px}.carousel-arrow{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;min-width:40px;border:1px solid var(--line);border-radius:3px;padding:0;color:var(--ink);background:white;font-size:28px;line-height:1}.carousel-arrow:hover{background:var(--yellow);border-color:var(--yellow)}.gallery-controls>span,.room-photo-controls>span{font-size:16px;min-width:50px;text-align:center;font-variant-numeric:tabular-nums}.photo-thumbs{display:flex;gap:10px;overflow-x:auto;padding:10px 2px 5px;margin-top:10px;scrollbar-width:thin}.photo-thumbs .photo-view{width:100px;height:70px;min-width:100px;border:2px solid transparent}.photo-thumbs .current{border-color:var(--yellow)}.room-carousel.room-photo-mini{height:200px;margin-bottom:0}.room-photo-controls{margin:10px 0 18px}.room-detail-card .carousel-arrow{padding:0;font-size:26px;font-weight:400}.room-detail-card .photo-view{padding:0}.room-detail-card p{min-height:54px}.room-detail-card small{min-height:54px}.room-detail-card .room-all-photos{align-self:flex-start;text-align:left}.room-detail-card.room-layout-spacer{display:none}
#photo-lightbox{width:min(1320px,calc(100vw - 32px));max-width:none;height:min(940px,calc(100dvh - 32px));max-height:none;margin:auto;padding:0;border:1px solid #57554e;border-radius:8px;background:#171714;color:#fff;overflow:hidden}#photo-lightbox::backdrop{background:#10100fdf}.lightbox-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 18px;min-height:64px}.lightbox-toolbar p{font-size:16px}.lightbox-toolbar button{display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid #ffffff60;border-radius:4px;color:white;width:40px;height:40px;font-size:28px;padding:0}.lightbox-stage{height:calc(100% - 124px);display:grid;grid-template-columns:52px minmax(0,1fr) 52px;align-items:center;gap:10px;padding:0 14px}.lightbox-stage img{width:100%;height:100%;min-height:0;object-fit:contain;user-select:none;-webkit-user-drag:none}.lightbox-stage button{background:#ffffff12;border:1px solid #ffffff40;border-radius:4px;color:white;width:44px;height:52px;font-size:34px;padding:0}.lightbox-stage button:disabled{opacity:.25;cursor:default}.lightbox-footer{height:60px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 20px;font-size:16px}.lightbox-footer a{text-decoration:underline;text-underline-offset:4px}
@media(hover:none){.photo-enlarge{opacity:1}}
@media(max-width:700px){.detail-gallery{grid-template-rows:260px 160px}.room-carousel.room-photo-mini{height:210px}.room-detail-card{min-height:565px}.room-detail-card.room-layout-spacer{display:block}.room-detail-card p,.room-detail-card small{min-height:0}.photo-enlarge{font-size:16px;padding:4px 8px;right:8px;bottom:8px}.detail-gallery figcaption{font-size:16px;padding:32px 12px 10px}.photo-thumbs .photo-view{width:84px;min-width:84px;height:62px}#photo-lightbox{width:calc(100vw - 16px);height:calc(100dvh - 20px)}.lightbox-toolbar{padding:10px 12px;gap:10px}.lightbox-stage{grid-template-columns:30px minmax(0,1fr) 30px;gap:3px;padding:0 5px}.lightbox-stage button{width:30px;height:44px;font-size:28px}.lightbox-footer{padding:10px 12px}.lightbox-footer a{font-size:16px}}

/* Keep room photographs close to their original proportions, not wide strips. */
.hero-photo{height:auto;aspect-ratio:3/2;min-height:0}.hero-photo .photo-view{height:100%}
.detail-gallery{height:auto;aspect-ratio:2/1;grid-template-columns:2fr 1fr;grid-template-rows:repeat(2,minmax(0,1fr))}.detail-gallery figure{min-width:0;min-height:0}
.room-carousel.room-photo-mini{height:auto;aspect-ratio:3/2}.room-photo-mini .photo-view{height:100%}
@media(max-width:700px){.hero-photo{height:auto;aspect-ratio:3/2}.detail-gallery{aspect-ratio:auto;grid-template-columns:1fr 1fr;grid-template-rows:auto auto}.detail-gallery figure{aspect-ratio:4/3}.detail-gallery figure:first-child{grid-column:span 2;grid-row:auto;aspect-ratio:3/2}.room-carousel.room-photo-mini{height:auto;aspect-ratio:3/2}}
.room-details.two-types{grid-template-columns:repeat(3,1fr)}.room-detail-card p{min-height:54px}.room-detail-card small{min-height:81px}
@media(max-width:1000px) and (min-width:701px){.room-details,.room-details.two-types{grid-template-columns:repeat(2,1fr)}.room-detail-card.room-layout-spacer{display:block}}
@media(max-width:700px){.room-details.two-types{grid-template-columns:1fr}.room-detail-card{min-height:0}.room-detail-card p{min-height:54px}.room-detail-card small{min-height:81px}}
.room-detail-card small{min-height:54px}@media(max-width:700px){.room-detail-card small{min-height:54px}}

/* Desktop-only corridor backdrop, with no photo button or click target. */
@media(min-width:701px){.hero{position:relative;isolation:isolate;grid-template-columns:1fr 1fr;gap:0;min-height:620px;padding-block:76px}.hero-copy{position:relative;z-index:1}.hero-photo{position:absolute;z-index:0;top:24px;bottom:24px;right:-24px;width:70%;height:auto;aspect-ratio:auto;background:white;pointer-events:none;-webkit-mask-image:linear-gradient(to right,transparent 0%,rgba(0,0,0,.15) 18%,#000 48%);mask-image:linear-gradient(to right,transparent 0%,rgba(0,0,0,.15) 18%,#000 48%)}.hero-photo>img{width:100%;height:100%;display:block;object-fit:cover;object-position:60% center}}
@media(min-width:1500px){.hero{min-height:690px}.hero-photo{right:-40px}}
@media(max-width:700px){.hero-photo{display:none}.hero{grid-template-columns:1fr}}
@media(min-width:701px){.hero{min-height:0}.hero-photo{top:76px;bottom:76px;width:64%}}
@media(min-width:1500px){.hero{min-height:0}}

/* Text-only opening: balanced across the page without a reserved image column. */
.hero{grid-template-columns:1fr;gap:0}
.hero-photo{display:none}
.hero-copy{width:100%;max-width:1040px;margin-inline:auto;text-align:center}
.hero-actions,.hero-foot{justify-content:center}
@media(min-width:1001px){.hero h1 br,.hero-desc br{display:none}.hero h1{font-size:clamp(52px,4.7vw,68px)}.hero-desc{margin-top:28px}.hero-actions{gap:32px}.hero-foot{margin-top:40px}}
@media(max-width:700px){.hero-copy{text-align:left}.hero-actions,.hero-foot{justify-content:flex-start}}

#branches>.branch-selector{border-top:1px solid var(--line);padding:28px 0;display:flex;justify-content:flex-start}#branches>.branch-overview{border-top:0;padding-top:0}
@media(max-width:700px){#branches>.branch-selector{padding:22px 0}}

/* Room types use the original floor plans rather than duplicate photo carousels. */
.room-floorplans{display:flex;align-items:center;gap:10px;min-height:220px;margin-bottom:16px;background:white}
.room-floorplans figure{flex:1;min-width:0;margin:0;text-align:center}
.room-floorplans .photo-view{height:auto;aspect-ratio:11/8;background:white}
.room-floorplans .photo-view img{object-fit:contain}
.room-floorplans figcaption{font-size:16px;color:var(--muted);line-height:1.4;margin-top:6px}
.room-detail-card h4{margin:0 0 6px;line-height:1.35}
.room-detail-card p{min-height:0;margin:0;line-height:1.5}
.room-detail-card small{min-height:0;margin:8px 0 0;line-height:1.5}
@media(max-width:700px){.room-floorplans{min-height:0;margin-bottom:14px}}

.room-detail-card{text-align:center}
.room-detail-card h4{margin-bottom:8px;line-height:1.45}
.room-detail-card p{line-height:1.7}
.room-detail-card small{margin-top:12px;line-height:1.7}

.room-details{margin-top:38px}
.room-details.two-types{grid-template-columns:repeat(2,minmax(0,1fr));width:calc((100% - 44px)/3*2 + 22px);margin-inline:auto}
@media(max-width:1000px){.room-details.two-types{width:100%}}
@media(max-width:700px){.room-details.two-types{grid-template-columns:1fr}.room-details{margin-top:28px}}

.room-detail-card{border-top:0}
@media(min-width:1001px){.room-details.two-types{width:calc((100% - 44px)/3*2 + 64px);column-gap:64px}}
@media(min-width:701px) and (max-width:1000px){.room-details.two-types{column-gap:40px}}

.virtual-row{background:#fff3bf}

/* Shared desktop/mobile refinement, 2026-10-27. */
.update-dot{background:#c3c8c3;box-shadow:none}
.update-row[data-state="ready"] .update-dot{background:#77a98a;box-shadow:0 0 0 4px #77a98a16}
.update-row[data-state="stale"] .update-dot,.update-row[data-state="error"] .update-dot{background:#bca778;box-shadow:none}
.availability-bottom{justify-content:flex-end}
.branch-overview{grid-template-columns:1fr}
.highlight-yellow{color:inherit;background:linear-gradient(transparent 38%,#fed61880 38%,#fed61880 89%,transparent 89%);padding:0 .1em;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.parking-row th{font-size:18px;font-weight:600;color:var(--ink)}
.room-details{margin-top:23px}
.room-card-copy{display:flex;align-items:center;justify-content:center;gap:20px;text-align:left}
.room-card-copy h4{flex-shrink:0;margin:0}
.room-card-description{min-width:0}
.room-card-description p,.room-card-description small{margin:0;min-height:0;line-height:1.7}
.room-card-description small{margin-top:6px}
@media(max-width:700px){.room-details{margin-top:17px}.room-card-copy{gap:16px}.parking-row th{font-size:16px}}

/* Branch navigation and compact mobile content. */
.hero-branch-picker,.mobile-break,.mobile-parking,.virtual-annual{display:none}
.site-footer{display:grid;grid-template-columns:1fr auto 1fr;align-items:center}
.site-footer>.footer-addresses{justify-self:center;text-align:left}
.site-footer>.footer-copyright{justify-self:end}
.price-notes{display:flex;justify-content:space-between;align-items:baseline;gap:14px;margin-top:18px}
.price-notes .price-detail{margin-top:0}
.price-notes.gwanak-notes{flex-wrap:wrap}
.gwanak-notes .price-update{flex-basis:100%;justify-content:flex-end}
.price-update{display:inline-flex;align-items:center;justify-content:flex-end;gap:8px;flex-shrink:0;font-size:16px;color:var(--muted)}
.price-update i{width:6px;height:6px;border-radius:50%;background:#bbc3cc;flex-shrink:0}
.price-update[data-state=ready] i{background:#6a9ecd;box-shadow:0 0 0 4px #6a9ecd16}
.price-update[data-state=stale] i,.price-update[data-state=error] i{background:#bca778;box-shadow:none}
.required-label{display:inline;color:#8c7432;font-size:16px}
@media(max-width:700px){
 .hero-actions{display:none}
 .hero-branch-picker{display:flex;margin-top:30px;width:100%;padding:5px;gap:5px}
 .hero-branch-picker button{flex:1;min-height:54px;font-size:20px}
 .mobile-contact{display:none}
 body.branch-picker-docked .mobile-contact{display:grid;grid-template-columns:1fr 1fr}
 .mobile-contact button{border:0;border-radius:0;padding:16px;text-align:center;font-size:18px;font-weight:600;background:#f8f7f3;color:var(--ink)}
 .mobile-contact button.selected{background:var(--yellow)}
 .availability-toolbar,#branches>.branch-selector,.price-controls>.segmented,.location-info>.segmented{display:none}
 .availability-head,.availability-item{grid-template-columns:minmax(72px,.65fr) minmax(0,1.65fr);gap:14px}
 .availability-item .row-inquiry,.availability-bottom{display:none}
 .availability-item{padding:22px 0;min-height:104px}
 .availability-head span:last-child{display:none}
 .waitlist-cta{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px 12px;align-items:center}
 .waitlist-cta>div{display:contents}
 .waitlist-cta h3{grid-column:1;grid-row:1;font-size:18px;line-height:1.5;margin:0}
 .mobile-break{display:block}
 .waitlist-cta>.button{grid-column:2;grid-row:1;padding:13px 12px;min-height:50px;gap:7px;font-size:16px}
 .waitlist-cta p{grid-column:1/-1;grid-row:2;margin:0}
 #branches>.branch-overview{display:none}
 .gallery-tabs{display:flex;flex-wrap:nowrap;gap:4px;width:100%}
 .gallery-tabs button{flex:1;white-space:nowrap;min-width:0;padding:8px 2px;font-size:16px;letter-spacing:-.065em}
 .room-details,.room-details.two-types{display:grid;grid-template-columns:1fr;row-gap:22px;width:100%}
 .room-detail-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);gap:14px;align-items:center}
 .room-floorplans{margin:0;min-height:0}
 .room-card-copy{display:block;text-align:left}
 .room-card-copy h4{font-size:20px;margin:0 0 8px}
 .room-card-description p{font-size:16px;line-height:1.6;word-break:keep-all}
 .room-card-description small{display:none}
 .price-notes{flex-wrap:wrap;gap:9px}
 .price-update{margin-left:auto;font-size:16px}
 .virtual-row{display:block;text-align:center}
 .virtual-row>div+div{margin-top:22px}
 #virtual-price{display:block;font-size:30px;text-align:center}
 .virtual-annual{display:block;margin-top:4px;font-size:18px;text-align:center}
 #virtual-inquiry{display:none}
 #virtual-detail{margin-top:18px;text-align:center}
 #location-name,#naver-map,.map-card-heading{display:none}
 .desktop-parking{display:none}.mobile-parking{display:inline}
 body[data-branch=yeongdeungpo] .location-parking{display:none}
 .site-footer{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding-bottom:100px}
 .site-footer>.footer-addresses{display:none}
 .site-footer>.footer-copyright{grid-column:1;grid-row:1;justify-self:start;margin:0;text-align:left;font-size:16px;line-height:1.5}
 .site-footer>.logo{grid-column:2;grid-row:1;justify-self:end}
 .site-footer>.logo img{width:90px}
}

#prices thead th{text-align:center;padding-block:10px}
@media(max-width:700px){#prices thead th{padding-block:8px}}

.inquiry-options legend span{font-size:13px}
/* Owner-requested compact mobile scale, including type, controls and spacing. */
@media(max-width:700px){body{zoom:.9}}
