/* Large, readable Korean type; cinematic additions for the second release. */
:root { --header: 116px; }
body { font-family: Arial, 'Apple SD Gothic Neo', 'Malgun Gothic', sans-serif; }
.site-header { padding: 0 3.8%; gap: 24px; background: #f3f0e9f2; border-bottom: 1px solid #173f3822; backdrop-filter: blur(12px); }
.is-dark .site-header { background: #153e37ed; border-bottom-color: #f3f0e922; }
.brand { gap: 15px; flex-shrink: 0; }
.brand-symbol { width: 43px; height: 51px; font-size: 46px; }
.brand b { font-size: 31px; font-weight: 700; letter-spacing: -.065em; white-space: nowrap; }
.brand small { font-size: 13px; letter-spacing: .22em; margin-top: 7px; }
.top-nav { gap: 27px; }
.top-nav button { font-size: 23px; font-weight: 600; white-space: nowrap; }
.header-actions { gap: 25px; }
.header-phone { font-size: 38px; font-weight: 750; letter-spacing: -.055em; white-space: nowrap; font-variant-numeric: tabular-nums; }
.menu-toggle { width: 34px; height: 44px; }
.menu-toggle span { width: 31px; height: 2px; }
.menu-toggle span:last-child { width: 23px; }
.eyebrow { font-size: 16px; margin-bottom: 20px; letter-spacing: .14em; }
.body-copy { font-size: 37.5px; line-height: 1.46; font-weight: 500; letter-spacing: -.055em; }
.text-link { font-size: 24px; margin-top: 25px; gap: 20px; }
.text-link span { font-size: 28px; }
.hero-copy { top: 20%; left: 7%; }
.hero-description { font-size: 35px; line-height: 1.45; font-weight: 500; max-width: 660px; letter-spacing: -.055em; }
.hero .eyebrow { font-size: 15px; }
.hero h1 { font-size: clamp(47px,4.3vw,76px); }
.hero-seal { right: 7%; top: 23%; }
.hero-building { height: 48%; bottom: 90px; }
.hero-bottom { height: 142px; padding: 0 9%; gap: 5.5vw; }
.hero-bottom>div { gap: 20px; }
.hero-bottom>div>span { font-size: 22px; font-weight: 600; opacity: 1; }
.hero-bottom b { font-family: Arial,'Malgun Gothic',sans-serif; font-size: 43px; font-weight: 650; letter-spacing: -.035em; }
.hero-bottom b small { font-family: inherit; font-size: 21px; font-weight: 600; }
.image-note { bottom: 153px; font-size: 14px; }
.stat-grid b { font-family: Arial,'Malgun Gothic',sans-serif; font-weight: 650; font-size: clamp(45px,4.2vw,68px); }
.stat-grid span { font-size: 25px; line-height: 1.4; }
.overview { grid-template-columns: 48% 52%; }
.overview-image { margin-left: 8%; height: calc(100dvh - var(--header) - 55px); }
.overview-image img { object-position: 54% center; transform: none !important; }
.overview-copy { padding: 1.7vh 12% 0 9%; }
.overview-copy h2 { font-size: clamp(34px,3.3vw,58px); }
.overview-copy>.body-copy { font-size: 37.5px; margin-top: 20px; }
.stat-grid { margin-top: 26px; gap: 19px 24px; }
.stat-grid>div { padding-top: 11px; }
.overview-address { display: block; margin-top: 24px; padding-top: 16px; }
.overview-address span { font-size: 13px; }
.overview-address p { font-size: 27.5px; line-height: 1.45; margin-top: 10px; }
.location { grid-template-columns: 51% 49%; }
.location-copy { padding: calc(var(--header) + 28px) 11% 0 9%; }
.location-copy h2 { font-size: clamp(34px,3.25vw,55px); }
.location-copy .body-copy { font-size: 32.5px; line-height: 1.45; margin-top: 20px; }
.location-map>img { object-position: 34% center; transform: none !important; }
.location-list { margin-top: 24px; }
.location-list li { padding: 15px 0; gap: 18px; }
.location-list li>span { font-size: 20px; margin-top: 5px; }
.location-list b { font-size: 30px; font-weight: 650; }
.location-list p { font-size: 27.5px; line-height: 1.4; margin-top: 8px; }
.location-copy>.text-link { margin-top: 10px; }
.map-label { font-size: 13px; bottom: 32px; }
.map-neon-marker { position: absolute; z-index: 3; left: 50%; top: 50%; transform: translate(-50%,-50%); min-width: 238px; padding: 12px 24px; background: #064f42; color: #fff; border: 2px solid #a4ffe1; border-radius: 5px; text-align: center; box-shadow: 0 0 10px #5effc4,0 0 30px #36ffc5bb; animation: neon-beacon 1.8s ease-in-out infinite; }
.map-neon-marker span { display: block; font-size: 24px; font-weight: 750; letter-spacing: -.055em; }
.map-neon-marker b { display: block; font-size: 19px; font-weight: 500; letter-spacing: .05em; margin-top: 4px; }
.map-neon-marker i { position: absolute; left: 17%; bottom: -13px; width: 20px; height: 20px; background: #064f42; border-right: 2px solid #a4ffe1; border-bottom: 2px solid #a4ffe1; transform: skewY(-20deg) rotate(42deg); }
@keyframes neon-beacon { 0%,100% { box-shadow:0 0 7px #75ffcf,0 0 19px #36ffc58c; border-color:#b4ffe4; } 50% { box-shadow:0 0 15px #b1ffe8,0 0 44px #36ffc5,0 0 70px #36ffc53f; border-color:white; } }
.community { grid-template-columns: 57% 43%; }
.community-main { height: 76%; }
.community-copy { padding: 4vh 13% 0 9%; }
.community-copy h2 { font-size: clamp(34px,3.5vw,60px); }
.community-copy .body-copy { font-size: 32.5px; line-height: 1.45; margin-top: 24px; }
.outline-button { font-size: 22px; padding: 20px 16px; margin-top: 26px; }
.community-inset { width: 31%; height: 25%; bottom: 5%; left: 43%; }
.community-index { font-size: 15px; }
.community-inset>span { font-size: 15px; }
.photo-title span { font-size: 17px; }
.daily { grid-template-columns: 48% 52%; }
.daily-copy { padding: 2vh 10% 0 14%; }
.daily-copy h2 { font-size: clamp(32px,3.1vw,54px); }
.daily-links { margin-top: 24px; }
.daily-links button { padding: 17px 25px 17px 0; }
.daily-links button>span { font-size: 15px; }
.daily-links b { font-size: 30px; font-weight: 600; margin-top: 7px; }
.daily-links small { font-size: 25px; line-height: 1.4; margin-top: 9px; }
.daily-visual>span { font-size: 24px; }
.daily-small { bottom: 1%; }
.daily-small p { font-size: 23px; padding: 12px 8px; }
.interior { grid-template-columns: 58% 42%; }
.interior-copy { padding: 3.5vh 13% 0 10%; }
.interior-copy h2 { font-size: clamp(33px,3.15vw,54px); }
.interior-copy .body-copy { font-size: 32.5px; line-height: 1.45; margin-top: 24px; }
.interior-types { padding: 18px 0; margin-top: 26px; }
.interior-types>span { font-size: 16px; }
.interior-types b { font-size: 30px; white-space: normal; line-height: 1.4; }
.interior-types small { font-size: 20px; }
.fine-print { font-size: 21px; line-height: 1.45; margin-top: 23px; }
.room-caption span { font-size: 20px; }
.room-caption b { font-family: Arial,sans-serif; font-size: 25px; font-weight: 600; }
.room-caption button { width: 44px; height: 44px; font-size: 18px; }
.room-image { transition: opacity .65s, transform 3s; }
.film-copy { top: 23%; left: 8%; }
.film-copy h2 { font-size: clamp(38px,3.9vw,66px); }
.film-copy .body-copy { font-size: 32.5px; line-height: 1.45; max-width: 460px; }
.video-frame span { font-size: 14px; padding-top: 5px; }
.film-note { font-size: 16px; bottom: 90px; right: 7%; max-width: 550px; }
.video-frame-one { right: 7%; width: 39%; }
.video-frame-two { right: 18%; width: 29%; height: 28%; bottom: 12%; }
.garden-portrait { width: 44%; height: 57%; left: 7%; bottom: 15%; }
.garden-portrait img { object-fit: contain; background: #182c24; }
.garden-portrait span { font-size: 14px; }
.garden-copy { right: 8%; top: 26%; width: 38%; }
.garden-copy h2 { font-size: clamp(36px,3.6vw,62px); }
.garden-copy p:last-child { font-size: 35px; line-height: 1.5; margin-top: 28px; }
.garden-steps small { font-size: 19px; }
.signature-copy { left: 46%; right: 7%; top: 29%; }
.signature-copy>p { font-size: clamp(31px,2.9vw,47px); }
.signature-copy>span { font-size: 27px; font-weight: 500; }
.signature-copy .text-link { max-width: 300px; font-size: 24px; }
.signature-ring { width: 65vh; height: 65vh; left: 5%; top: 24%; }
.signature-copy .video-wordmark { margin: 25px 0 8px; width: 100%; height: auto; font-size: initial; line-height: 1; }
.video-wordmark svg { display: block; width: 100%; height: auto; overflow: visible; }
.wordmark-video-wrap { width:100%; height:100%; background:#c0b89c; }
.wordmark-video-wrap video { width:100%; height:100%; object-fit:cover; filter:brightness(1.3) saturate(.8); }
.signature-bottom { font-size: 16px; }
.unit-copy { padding: calc(var(--header) + 25px) 13% 0 9%; }
.unit-copy h2 { font-size: clamp(33px,3.1vw,54px); }
.unit-tabs button { font-size: 25px; padding: 14px 6px; }
.unit-feature dl { font-size: 23px; width: 48%; }
.unit-feature>b { font-family: Arial,sans-serif; font-weight: 600; font-size: 83px; }
.unit-feature>b small { font-size: 26px; }
.unit-feature { gap: 15px; }
.unit-plan { margin-top: var(--header); }
.unit-plan-top>span { font-size: 15px; }
.unit-plan-top .text-link { font-size: 22px; }
.unit-plan>p { font-size: 23px; line-height: 1.5; }
.solid-button { font-size: 25px; padding: 21px; font-weight: 600; }
.unit-vr { font-size: 25px; }
.panorama { background: #173f38 !important; display: grid; grid-template-columns: 36% 64%; padding: calc(var(--header) + 20px) 5.3% 90px 7%; gap: 3%; }
.panorama-copy { position: static; }
@media (min-width:901px) {
 .panorama-copy { align-self:center; transform:translateY(8px); }
}
.panorama-copy h2 { font-size: clamp(32px,3.1vw,54px); }
.panorama-copy p:last-of-type { font-size: 35px; line-height: 1.45; margin-top: 25px; }
.vr-types { margin-top: 28px; }
.vr-types button { font-size: 25px; padding: 18px 0; border-bottom-color: #d3dfca55; }
.inline-vr-panel { min-width: 0; display: flex; flex-direction: column; padding-right: 4%; }
.inline-vr-heading { display:flex; align-items:center; justify-content:space-between; height:62px; flex-shrink:0; }
.inline-vr-heading b { font-size:25px; font-weight:600; }
.inline-vr-heading .text-link { margin:0; font-size:19px; padding:8px 0; }
.inline-vr-stage { flex:1; min-height:300px; position:relative; background:#294b3e; }
.inline-vr-stage>img { position:absolute; width:100%; height:100%; object-fit:cover; opacity:.7; }
.inline-vr-stage>iframe { position:absolute; inset:0; width:100%; height:100%; border:0; }
.vr-open-direct { font-size:17px; margin-top:15px; align-self:flex-end; border-bottom:1px solid #ffffff66; padding-bottom:5px; }
.panorama-note { left:7%; right:auto; bottom:33px; font-size:16px; max-width:65%; line-height:1.5; }
.contact { padding-top:calc(var(--header) + 25px); padding-bottom:100px; overflow-y:auto; align-content:start; gap:0 7%; }
.contact-info h2 { font-size:clamp(31px,3.1vw,52px); }
.contact-phone { font-family:Arial,sans-serif; font-weight:700; font-size:55px; margin-top:24px; }
.contact-person { font-size:25px; line-height:1.5; }
.contact-person>span { display:block; margin:5px 0 0; font-size:23px; }
.contact-map { height:25vh; min-height:180px; margin-top:27px; }
.contact-map>a { font-size:18px; padding:13px; }
.address { font-size:24px; line-height:1.5; }
.contact-form-wrap { padding-left:10%; }
.form-label { font-size:16px; }
.contact-form-wrap h3 { font-size:37px; font-weight:600; }
.contact-form-wrap>p { font-size:30px; line-height:1.45; margin-top:15px; }
#interest-form { margin-top:22px; }
#interest-form>label,.form-row>label { font-size:22px; margin-top:20px; }
input:not([type=checkbox]),select { height:53px; font-size:22px; }
input::placeholder { font-size:21px; }
.consent { font-size:18px; line-height:1.5; margin:25px 0; }
.consent>button { font-size:18px; }
#form-status { font-size:21px; }
.contact .solid-button { font-size:25px; padding:20px; }
.contact footer { position:relative; grid-column:1/-1; bottom:auto; left:auto; right:auto; height:auto; min-height:170px; padding:27px 0; margin-top:40px; grid-template-columns:33% 67%; }
footer b { font-size:23px; }
footer span { font-size:17px; line-height:1.5; }
footer>p { font-size:17px; line-height:1.65; }
footer small { font-size:12px; }
.quick-consult { font-size:18px; padding:18px 25px; font-weight:600; }
.quick-consult>span { font-size:23px; }
#motion-toggle { width:44px; height:44px; font-size:17px; }
.page-controls { font-size:15px; gap:15px; bottom:28px; left:28px; }
.page-controls button { font-size:25px; }
.scene-rail { right:19px; gap:12px; }
.scene-rail button { width:20px; height:10px; }
.menu-dialog { padding-top:8vh; }
.menu-dialog nav button { font-size:29px; padding:17px 0; }
.dialog-toolbar h3 { font-size:23px; font-weight:600; }
.dialog-toolbar { height:78px; }
.media-content { height:calc(100% - 78px); }
.gallery-card span { font-size:24px; }
.vr-intro { font-size:19px; }
.privacy-copy { font-size:23px; line-height:1.65; }
/* Original layered film composition requested in the additional reference. */
.lifestyle-cinema { background:#f4f1eb; }
.lifestyle-backdrop { position:absolute; inset:0 50% 0 0; overflow:hidden; }
.lifestyle-backdrop video { width:100%; height:100%; object-fit:cover; filter:blur(3px) brightness(.57); transform:scale(1.04); }
.lifestyle-copy { position:absolute; left:5.5%; top:31%; width:29%; color:white; z-index:2; }
.lifestyle-copy h2 { font-size:clamp(37px,3.3vw,57px); line-height:1.5; }
.lifestyle-copy>p:last-child { font-size:32.5px; line-height:1.5; margin-top:35px; font-weight:500; letter-spacing:-.045em; }
.lifestyle-copy .eyebrow { font-size:14px; line-height:1.5; max-width:210px; }
.cinema-window { position:absolute; overflow:hidden; opacity:0; transform:translateY(60px) scale(.97); transition:opacity 1.8s ease, transform 2.2s var(--ease); }
.cinema-window video { width:100%; height:100%; object-fit:cover; }
.cinema-window span { position:absolute; left:0; right:0; bottom:0; padding:25px 14px 13px; background:linear-gradient(transparent,#173f38aa); color:white; font-size:14px; font-weight:600; letter-spacing:.08em; }
.lifestyle-portrait { left:38.5%; top:16%; width:23%; height:65%; box-shadow:0 18px 60px #443a2726; }
.lifestyle-mini { top:53%; width:13%; height:33%; }
.lifestyle-mini-one { left:68.5%; }
.lifestyle-mini-two { left:83%; }
.lifestyle-cinema.is-active .cinema-window { opacity:1; transform:none; }
.lifestyle-cinema.is-active .lifestyle-portrait { transition-delay:.35s; }
.lifestyle-cinema.is-active .lifestyle-mini-one { transition-delay:1.05s; }
.lifestyle-cinema.is-active .lifestyle-mini-two { transition-delay:1.65s; }
.lifestyle-note { position:absolute; bottom:85px; left:53%; right:5%; font-size:15px; color:#758371; line-height:1.5; }
/* A final, dedicated route page with the official two transparent road maps. */
.wayfinding { background:#7f8a90 !important; padding:calc(var(--header) + 22px) 10% 90px; }
.wayfinding-title { text-align:center; }
.wayfinding-title .eyebrow { margin-bottom:6px; font-size:15px; }
.wayfinding-title h2 { font:clamp(43px,4.3vw,72px)/1.1 GrandSerif,serif; letter-spacing:.01em; }
.wayfinding-title>p:last-child { font-size:25px; margin-top:15px; }
.wayfinding-grid { display:grid; grid-template-columns:1fr 1fr; gap:8%; max-width:1180px; margin:30px auto 0; }
.wayfinding-map { height:35vh; min-height:220px; display:flex; align-items:center; justify-content:center; }
.wayfinding-map img { height:100%; width:100%; object-fit:contain; }
.wayfinding-address { padding-top:20px; border-top:1px solid #ffffff44; }
.wayfinding-address h3 { font-size:30px; font-weight:600; }
.wayfinding-address>p { font-size:24px; line-height:1.5; margin-top:9px; }
.wayfinding-address>div { display:flex; gap:25px; margin-top:20px; }
.wayfinding-address a { font-size:20px; border-bottom:1px solid #fff8; padding-bottom:8px; }
.wayfinding-phone { display:flex; gap:20px; justify-content:center; align-items:center; font-size:23px; margin-top:28px; }
.wayfinding-phone b { font-size:34px; }
/* Soje's pointer-following circular Skip, with this project's own intro. */
.intro-dialog { width:100%; height:100dvh; max-height:none; max-width:none; padding:0; overflow:hidden; background:#132f2a; color:#eee9d9; border:0; margin:0; }
.intro-dialog::backdrop { background:#132f2a; }
.intro-first { position:absolute; inset:0; background:radial-gradient(ellipse at 30% 20%,#3f5747,#132f2a 70%); transition:transform 1.2s var(--ease),opacity 1s; }
.intro-first>p { position:absolute; top:13%; left:9%; font-size:30px; line-height:1.65; font-weight:300; }
.intro-first>p b { font-weight:600; }
.intro-first>strong { position:absolute; left:8%; bottom:17%; font-size:clamp(130px,24vw,400px); font-weight:600; line-height:1; letter-spacing:-.09em; transform:translateY(70px); opacity:0; transition:transform 1.2s var(--ease),opacity 1s; }
.intro-first>strong span { color:#a4b797; }
.intro-first>small { position:absolute; right:9%; bottom:13%; font-size:17px; letter-spacing:.15em; }
.intro-dialog[data-stage="1"] .intro-first>strong,.intro-dialog[data-stage="2"] .intro-first>strong { opacity:1; transform:none; }
.intro-images { position:absolute; inset:0; display:grid; grid-template-columns:1fr 1fr; clip-path:polygon(100% 0,100% 0,100% 100%,100% 100%); transition:clip-path 1.2s var(--ease); }
.intro-images img { width:100%; height:100%; object-fit:cover; }
.intro-images img:first-child { object-position:54% center; }
.intro-images img:last-child { transform:scale(1.04); }
.intro-dialog[data-stage="2"] .intro-images { clip-path:polygon(35% 0,100% 0,100% 100%,10% 100%); }
.intro-dialog[data-stage="2"] .intro-first { transform:translateX(-8%); }
.intro-brand { position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:25px; background:#ece9dd; color:#173f38; transform:translateY(105%); transition:transform 1s var(--ease); }
.intro-brand>p { font-size:28px; }
.intro-brand h2 { font-size:65px; text-align:center; line-height:1.5; }
.intro-brand>b { font:29px GrandSerif; letter-spacing:.25em; }
.intro-dialog[data-stage="3"] .intro-brand,.intro-dialog[data-stage="4"] .intro-brand { transform:none; }
.intro-curtain { position:absolute; inset:0; background:#173f38; clip-path:inset(0 50%); transition:clip-path .6s var(--ease); }
.intro-dialog[data-stage="4"] .intro-curtain { clip-path:inset(0); }
.intro-dialog.is-closing { opacity:0; transition:opacity .6s ease .1s; }
.intro-skip { position:fixed; z-index:6; top:75%; left:83%; width:82px; height:82px; border-radius:50%; background:#b7ac8c; color:#183c33; font-size:19px; font-weight:600; letter-spacing:.06em; transform:translate(-50%,-50%); box-shadow:0 0 0 10px #b7ac8c33; transition:left .22s ease-out,top .22s ease-out,box-shadow .3s; }
.intro-skip span { display:block; font-size:18px; margin-top:3px; }
.intro-skip:hover { box-shadow:0 0 0 15px #b7ac8c3d; }
.intro-dialog[data-stage="4"] .intro-skip { display:none; }
@media(max-width:1250px) and (min-width:901px) {
 .site-header { padding:0 3%; gap:20px; }
 .brand b { font-size:26px; }.brand-symbol { width:35px; height:43px; font-size:38px; }
 .top-nav { gap:18px; }.top-nav button { font-size:20px; }.header-phone { font-size:32px; }.header-actions { gap:17px; }
 .overview-copy { padding-right:12%; padding-left:8%; }.overview-copy>.body-copy { font-size:32px; }.stat-grid span { font-size:22px; }.overview-address p { font-size:24px; }
 .interior-copy .body-copy,.community-copy .body-copy { font-size:30px; }
 .hero-description { font-size:30px; max-width:540px; }
 .unit-tabs button { font-size:22px; }.unit-feature dl { font-size:20px; }.unit-feature>b { font-size:70px; }
}
@media(max-height:800px) and (min-width:901px) {
 :root { --header:100px; }.site-header { height:100px; }
 .hero-copy { top:20%; }.hero h1 { font-size:48px; }.hero-description { margin-top:16px; font-size:30px; }.hero-seal { top:22%; }.hero-seal strong { font-size:65px; }
 .hero-bottom { height:120px; }.hero-bottom b { font-size:36px; }.hero-bottom>div>span { font-size:20px; }.image-note { bottom:130px; }
 .overview-copy h2,.community-copy h2,.interior-copy h2,.unit-copy h2 { font-size:36px; }
 .overview-copy>.body-copy { font-size:30px; margin-top:15px; }.stat-grid { margin-top:18px; gap:14px 20px; }.stat-grid b { font-size:43px; }.stat-grid span { font-size:21px; }.overview-address { margin-top:16px; padding-top:12px; }.overview-address p { font-size:22px; }
 .location-copy { padding-top:calc(var(--header) + 20px); }.location-copy h2 { font-size:36px; }.location-copy .body-copy { font-size:29px; margin-top:15px; }.location-list { margin-top:16px; }.location-list li { padding:10px 0; }.location-list b { font-size:26px; }.location-list p { font-size:24px; }
 .daily-copy h2 { font-size:34px; }.daily-links { margin-top:16px; }.daily-links button { padding:10px 25px 10px 0; }.daily-links b { font-size:26px; }.daily-links small { font-size:22px; }
 .interior-copy { padding-top:22px; }.interior-copy .body-copy,.community-copy .body-copy { font-size:28px; }.interior-types { margin-top:20px; padding:13px 0; }.interior-types b { font-size:25px; }.interior-copy .fine-print { font-size:18px; margin-top:16px; }.interior-copy>.text-link { margin-top:16px; }
 .unit-copy { padding-top:calc(var(--header) + 20px); }.unit-tabs { margin-top:20px; }.unit-feature { margin:15px 0; }.unit-feature>b { font-size:70px; }.unit-plan>p { font-size:20px; }
 .garden-copy p:last-child { font-size:30px; }.garden-portrait { height:56%; }.garden-copy h2 { font-size:42px; }
 .wayfinding { padding-top:calc(var(--header) + 15px); }.wayfinding-title h2 { font-size:46px; }.wayfinding-grid { margin-top:18px; }.wayfinding-map { height:30vh; min-height:170px; }.wayfinding-address h3 { font-size:26px; }.wayfinding-address>p { font-size:21px; }.wayfinding-address>div { margin-top:12px; }.wayfinding-phone { margin-top:20px; }
}
@media(max-width:900px) {
 :root { --header:94px; } html { scroll-padding-top:94px; }
 .site-header { height:94px; padding:0 18px; gap:14px; background:#f3f0e9f5!important; }
 .brand { gap:10px; }.brand-symbol { width:31px; height:40px; font-size:35px; }.brand b { font-size:22px; }.brand small { font-size:10px; }
 .header-phone { font-size:27px; }.header-actions { gap:18px; }.menu-toggle { width:28px; }.menu-toggle span { width:25px; }.menu-toggle span:last-child { width:19px; }
 .eyebrow { font-size:13px; }.text-link { font-size:23px; }.body-copy { font-size:29px; line-height:1.5; }
 .hero { min-height:850px; }.hero-copy { top:20%; left:7%; right:7%; }.hero h1 { font-size:43px; }.hero .eyebrow { font-size:11px; }.hero-description { font-size:26px; line-height:1.5; max-width:560px; margin-top:22px; }
 .hero-building { height:34%; bottom:156px; width:190%; left:-45%; }.hero-seal { top:54%; right:7%; }.hero-seal strong { font-size:36px; }.hero-seal>span { font-size:12px; }
 .hero-bottom { height:182px; padding:24px 7% 70px; gap:15px; }.hero-bottom>div { display:block; }.hero-bottom>div>span { font-size:18px; line-height:1.3; margin-bottom:10px; }.hero-bottom b { font-size:31px; }.hero-bottom b small { font-size:16px; }.image-note { bottom:193px; font-size:10px; }
 .overview { display:flex; flex-direction:column-reverse; padding:55px 7% 70px; gap:35px; }
 .overview-image { height:410px; width:100%; margin:0; float:none; }.overview-image img { object-fit:cover; object-position:center; }.overview-copy { padding:0; }.overview-copy h2 { font-size:37px; }.overview-copy>.body-copy { font-size:29px; }
 .stat-grid { margin-top:28px; gap:24px; }.stat-grid b { font-size:47px; }.stat-grid span { font-size:22px; }.overview-address p { font-size:24px; }.overview-address span { font-size:12px; }
 .location { display:flex; flex-direction:column-reverse; }.location-copy { padding:60px 7% 35px; }.location-copy h2 { font-size:38px; }.location-copy .body-copy { font-size:29px; }.location-list { display:block; margin-top:27px; }.location-list li { display:flex; gap:20px; padding:20px 0; }.location-list li>span { font-size:20px; margin-top:5px; }.location-list b { font-size:27px; }.location-list p { font-size:25px; }.location-copy>.text-link { font-size:23px; }
 .location-map { height:520px; min-height:0; }.location-map>img { object-position:34% center; }.map-neon-marker { min-width:225px; padding:12px 18px; }.map-neon-marker span { font-size:22px; }.map-neon-marker b { font-size:17px; }.map-label { font-size:10px; bottom:20px; }
 .community { display:flex; padding-top:60px; padding-bottom:145px; min-height:0; }.community-copy { padding:0 7% 35px; }.community-copy h2 { font-size:38px; }.community-copy .body-copy { font-size:29px; }.outline-button { font-size:21px; max-width:100%!important; padding:20px 15px; }.community-main { height:430px; margin-right:7%; }.community-inset { width:58%; height:200px; left:auto; right:5%; bottom:25px; }.community-index { font-size:11px; bottom:50px; }.community-inset>span { font-size:12px; }
 .daily { display:block; padding:60px 7% 80px; }.daily-copy { padding:0; }.daily-copy h2 { font-size:38px; }.daily-links { display:block; margin:27px 0 33px; }.daily-links button { padding:20px 0; }.daily-links button>span { font-size:14px; }.daily-links b { font-size:29px; }.daily-links small { font-size:24px; }.daily-visual { height:400px; margin-left:10%; }.daily-small p { font-size:20px; }
 .interior { display:flex; padding:60px 0 50px; flex-direction:column-reverse; }.interior-copy { padding:0 7% 35px; }.interior-copy h2 { font-size:38px; }.interior-copy .body-copy { font-size:29px; }.interior-types { max-width:none; }.interior-types b { font-size:26px; }.interior-types>span { font-size:14px; }.interior-copy .fine-print { font-size:20px; max-width:none; }.interior-stage { margin:0 5% 0 0; height:470px; }.room-caption { gap:15px; }.room-caption span { font-size:17px; }.room-caption b { font-size:21px; }
 .film { min-height:1100px; height:auto; }.film-copy { left:7%; top:70px; right:7%; }.film-copy h2 { font-size:38px; }.film-copy .body-copy { font-size:29px; }.film-copy .text-link { font-size:21px; }.video-frame-one { top:52%; right:5%; width:69%; height:23%; }.video-frame-two { width:51%; height:20%; right:40%; bottom:9%; }.video-frame span { font-size:11px; }.film-note { font-size:13px; bottom:28px; right:7%; left:7%; }
 .garden { padding:60px 7% 80px; min-height:1130px; }.garden-lead { font-size:34px; }.garden-portrait { position:relative; width:100%; height:360px; margin-top:40px; left:auto; bottom:auto; }.garden-portrait span { font-size:13px; }.garden-copy { position:relative; width:auto; top:auto; right:auto; margin:35px 0 0 9%; }.garden-copy h2 { font-size:37px; }.garden-copy p:last-child { font-size:29px; line-height:1.5; margin-top:20px; }
 .signature { height:900px; }.signature-ring { width:85vw; height:85vw; max-width:500px; max-height:500px; left:-12%; top:19%; }.signature-eyebrow { top:65px; }.signature-copy { left:15%; right:7%; top:53%; }.signature-copy>p { font-size:31px; }.signature-copy>span { font-size:23px; }.signature-copy .text-link { font-size:23px; max-width:280px; }.signature-bottom { font-size:12px; bottom:35px; left:7%; right:7%; text-align:right; }
 .unit-copy { padding:60px 7% 35px; }.unit-copy h2 { font-size:37px; }.unit-tabs { max-width:none; }.unit-tabs button { font-size:23px; padding:13px 6px; }.unit-feature { max-width:none; }.unit-feature dl { font-size:21px; max-width:190px; }.unit-feature>b { font-size:75px; }.unit-copy .solid-button { max-width:none; font-size:24px; }.unit-vr { font-size:23px; }.unit-plan { margin:15px 6% 45px; height:510px; }.unit-plan-top { flex-wrap:wrap; gap:12px; }.unit-plan-top>span { font-size:13px; }.unit-plan-top .text-link { font-size:19px; }.unit-plan>p { font-size:19px; bottom:0; }.unit-plan>img { height:66%; }
 .panorama { display:flex; flex-direction:column; padding:60px 7% 100px; min-height:1250px; height:auto; gap:28px; }.panorama-copy h2 { font-size:38px; }.panorama-copy p:last-of-type { font-size:29px; }.vr-types { display:flex; flex-direction:row; gap:12px; margin-top:25px; }.vr-types button { font-size:18px; padding:14px 0; flex:1; line-height:1.6; }.inline-vr-panel { padding:0; width:100%; }.inline-vr-stage { height:520px; min-height:520px; }.inline-vr-heading b { font-size:25px; }.inline-vr-heading .text-link { font-size:19px; }.vr-open-direct { font-size:17px; }.panorama-note { left:7%; right:7%; max-width:none; bottom:25px; font-size:14px; }
 .contact { padding:60px 7% 85px; overflow:visible; display:block; }.contact-info h2 { font-size:35px; }.contact-phone { font-size:48px; }.contact-person { font-size:24px; }.contact-person>span { font-size:21px; }.contact-map { height:250px; }.contact-map>a { font-size:17px; }.address { font-size:22px; }.contact-form-wrap { padding:35px 0 0; margin-top:35px; }.contact-form-wrap h3 { font-size:35px; }.contact-form-wrap>p { font-size:27px; }.form-label { font-size:14px; }input:not([type=checkbox]),select { height:56px; font-size:21px; }.form-row { gap:17px; }.consent { font-size:17px; gap:14px; }.consent>button { font-size:16px; }.contact footer { position:relative; left:auto; right:auto; display:block; min-height:0; padding-bottom:0; margin-top:40px; }footer b { font-size:22px; }footer span { font-size:16px; }footer>p { font-size:16px; margin:20px 0; }footer small { font-size:10px; }
 .quick-actions { right:16px; bottom:16px; }.quick-consult { font-size:17px; padding:16px 20px; }.quick-consult>span { font-size:21px; }.quick-actions #motion-toggle { width:40px; height:40px; font-size:16px; }
 .menu-dialog { padding:115px 7% 40px; }.menu-dialog nav { grid-template-columns:1fr; }.menu-dialog nav button { font-size:27px; padding:18px 0; }.dialog-toolbar h3 { font-size:20px; }.dialog-toolbar { height:72px; }.media-content { height:calc(100% - 72px); }.gallery-grid { grid-template-columns:1fr; gap:25px; }.gallery-card span { font-size:24px; }.privacy-copy { font-size:21px; }.vr-intro { font-size:17px; }.vr-frame { height:calc(100% - 165px); }
 .lifestyle-cinema { height:1400px; min-height:0; }.lifestyle-backdrop { inset:0 0 47% 0; }.lifestyle-copy { left:7%; top:70px; right:7%; width:auto; }.lifestyle-copy h2 { font-size:37px; }.lifestyle-copy>p:last-child { font-size:28px; margin-top:23px; }.lifestyle-copy .eyebrow { font-size:12px; max-width:none; }.lifestyle-portrait { left:18%; width:71%; height:39%; top:35%; }.lifestyle-mini { top:76%; width:39%; height:18%; }.lifestyle-mini-one { left:8%; }.lifestyle-mini-two { left:51%; }.lifestyle-note { left:7%; right:7%; bottom:33px; font-size:13px; }.cinema-window { opacity:1; transform:none; }.cinema-window span { font-size:12px; padding:20px 10px 12px; }
 .wayfinding { padding:60px 7% 100px; }.wayfinding-title h2 { font-size:48px; }.wayfinding-title>p:last-child { font-size:23px; line-height:1.5; }.wayfinding-grid { grid-template-columns:1fr; gap:45px; margin-top:30px; }.wayfinding-map { height:330px; min-height:0; }.wayfinding-address h3 { font-size:29px; }.wayfinding-address>p { font-size:23px; }.wayfinding-address>div { gap:25px; }.wayfinding-address a { font-size:19px; }.wayfinding-phone { font-size:20px; flex-wrap:wrap; gap:14px; margin-top:45px; }.wayfinding-phone b { font-size:33px; }
 .intro-first>p { font-size:24px; left:7%; top:17%; right:7%; }.intro-first>strong { font-size:38vw; left:5%; bottom:24%; }.intro-first>small { font-size:12px; bottom:19%; left:7%; right:7%; }.intro-images { grid-template-columns:1fr; }.intro-images img:last-child { display:none; }.intro-dialog[data-stage="2"] .intro-images { clip-path:polygon(0 38%,100% 27%,100% 100%,0 100%); }.intro-brand h2 { font-size:42px; }.intro-brand>p { font-size:23px; }.intro-brand>b { font-size:23px; }.intro-skip { left:50%!important; top:auto!important; bottom:70px; width:76px; height:76px; transform:translateX(-50%); }
}
@media(max-width:520px) {
 .site-header { padding:0 13px; gap:9px; }.brand { gap:8px; }.brand b { font-size:19px; }.brand small { font-size:9px; }.brand-symbol { width:25px; height:33px; font-size:29px; }.header-actions { gap:10px; }.header-phone { font-size:25px; }.menu-toggle { width:23px; }.menu-toggle span { width:22px; }
 .hero { min-height:880px; }.hero h1 { font-size:38px; }.hero-description { font-size:25px; }.hero-bottom { gap:12px; padding-left:6%; padding-right:6%; }.hero-bottom>div>span { font-size:16px; }.hero-bottom b { font-size:27px; }.hero-bottom b small { font-size:14px; }.hero-bottom>div:last-of-type b { font-size:25px; }.hero-seal { top:54%; }
 .unit-tabs button { font-size:20px; padding:13px 5px; }.unit-feature dl { width:45%; font-size:20px; }.unit-feature>b { font-size:67px; }.community-inset { width:62%; }.contact-info h2 { font-size:31px; }.consent { font-size:15px; }.consent>button { font-size:15px; }.form-row>label { font-size:20px; }
}
.motion-reduced .map-neon-marker { animation:none; }.motion-reduced .cinema-window { opacity:1; transform:none; }
@media(prefers-reduced-motion:reduce) { .map-neon-marker { animation:none; }.cinema-window { opacity:1; transform:none; } }
@media(max-width:1250px) and (min-width:901px) { .site-header { gap:16px; }.top-nav { gap:17px; }.top-nav button { font-size:19px; }.header-phone { font-size:31px; } }
@media(max-width:900px) { :root{--header:120px;}html{scroll-padding-top:120px}.site-header{height:120px;display:grid;grid-template-columns:1fr;grid-template-rows:48px 52px;gap:0;padding:8px 22px 12px}.brand{grid-row:1;width:max-content}.header-actions{grid-row:2;display:flex;justify-content:space-between;width:100%;gap:18px}.header-phone{font-size:34px}.menu-toggle{width:34px;height:44px}.menu-toggle span{width:31px}.menu-toggle span:last-child{width:23px}.top-nav{display:none}.hero-copy{top:22%}.menu-dialog{padding-top:135px} }
@media(min-width:901px){.hero-copy{top:17.5%}.hero-building{height:45%;bottom:28px}}
.location-list p,.hero-description{word-break:keep-all}
@media(max-width:900px){.hero{height:1050px;min-height:1050px}.hero-copy{top:170px}.hero-description{line-height:1.45}.hero-seal{display:none}.hero-bottom{display:grid;grid-template-columns:1.3fr .75fr 1.5fr;gap:12px}.hero-bottom>div{min-width:0}.hero-bottom b{white-space:nowrap}.hero-building{height:34%;bottom:156px}}
.inline-vr-fallback{position:absolute;left:25px;bottom:25px;right:25px;padding:22px 25px;background:#113b32e8;color:white;backdrop-filter:blur(8px)}.inline-vr-fallback>b{font-size:25px}.inline-vr-fallback p{font-size:21px;line-height:1.5;margin-top:10px}.inline-vr-fallback a{display:inline-block;font-size:20px;margin-top:15px;padding-bottom:6px;border-bottom:1px solid #fff8}.signature-bottom{bottom:108px}
@media(max-width:900px){.signature-bottom{bottom:35px}.inline-vr-fallback{left:15px;right:15px;bottom:15px;padding:19px}.inline-vr-fallback>b{font-size:23px}.inline-vr-fallback p{font-size:18px}.inline-vr-fallback a{font-size:18px}}

/* Revision 3: vector brand, furnished plans, and clear destination maps. */
.brand { gap:14px; color:inherit; }
.brand-wordmark { display:block; flex:0 0 168px; width:168px; height:27px; background:currentColor; -webkit-mask:url('/media/prugio-wordmark.svg') center/contain no-repeat; mask:url('/media/prugio-wordmark.svg') center/contain no-repeat; }
.brand-name { font:800 22px/1.2 Arial,'Apple SD Gothic Neo','Malgun Gothic',sans-serif; letter-spacing:-.065em; white-space:nowrap; }
.unit-plan>img { width:100%; height:70%; object-fit:contain; }
.unit-plan-foot { position:absolute; bottom:5%; left:4%; right:4%; text-align:center; }
.unit-plan-foot p { font-size:20px; line-height:1.5; color:#5c6860; word-break:keep-all; }
.unit-plan-foot .text-link { display:inline-flex; font-size:22px; margin-top:12px; }
.wayfinding { padding:calc(var(--header) + 14px) 7% 78px; overflow-y:auto; }
.wayfinding-grid { gap:8%; max-width:1300px; margin-top:24px; }
.wayfinding-map { height:36vh; min-height:245px; }
.wayfinding-map img { width:100%; height:100%; }
.wayfinding-title>p:last-child span { display:inline-block; }
.wayfinding-address { border:0; padding-top:16px; }
.wayfinding-address h3 { font-size:30px; font-weight:700; }
.wayfinding-address>p { font-size:24px; font-weight:600; }
.wayfinding-address>div { border-top:1px solid #ffffff40; margin-top:22px; padding-top:15px; justify-content:flex-end; gap:22px; }
.wayfinding-address a { display:flex; align-items:center; gap:8px; font-size:21px; font-weight:600; border:0; padding:0; white-space:nowrap; }
.map-link-icon { width:34px; height:34px; display:inline-flex; align-items:center; justify-content:center; border-radius:50%; color:white; font:800 21px Arial,sans-serif; }
.naver-icon { background:#1d4a48; }.kakao-icon { background:#958877; }
@media(max-width:1250px) and (min-width:901px) {
 .brand { gap:10px; }.brand-wordmark { width:132px; flex-basis:132px; height:22px; }.brand-name { font-size:18px; }
 .unit-plan-foot p { font-size:18px; }.unit-plan-foot .text-link { font-size:20px; }
 .wayfinding-address>p { font-size:21px; }.wayfinding-address a { font-size:18px; }.wayfinding-address>div { gap:18px; }
}
@media(max-height:820px) and (min-width:901px) {
 .wayfinding-title h2 { font-size:48px; }.wayfinding-title>p:last-child { font-size:23px; margin-top:8px; }
 .wayfinding-grid { margin-top:15px; }.wayfinding-map { min-height:210px; height:33vh; }
 .wayfinding-address { padding-top:10px; }.wayfinding-address h3 { font-size:27px; }.wayfinding-address>p { margin-top:6px; font-size:22px; }.wayfinding-address>div { margin-top:13px; padding-top:12px; }.wayfinding-phone { margin-top:20px; }
}
@media(max-width:900px) {
 body[data-scene-id="wayfinding"] .quick-actions { display:none; }
 .brand { gap:11px; }.brand-wordmark { width:132px; flex-basis:132px; height:22px; }.brand-name { font-size:18px; }
 .unit-plan { height:540px; }.unit-plan>img { height:72%; }.unit-plan-foot { bottom:0; left:0; right:0; }.unit-plan-foot p { font-size:18px; }.unit-plan-foot .text-link { font-size:21px; margin-top:15px; }
 .wayfinding { padding:60px 7% 100px; }.wayfinding-grid { margin-top:35px; gap:50px; }.wayfinding-map { height:340px; min-height:0; }.wayfinding-title>p:last-child { font-size:23px; }
 .wayfinding-address h3 { font-size:29px; }.wayfinding-address>p { font-size:22px; }.wayfinding-address>div { gap:18px; justify-content:space-between; }.wayfinding-address a { font-size:18px; }.map-link-icon { width:30px; height:30px; font-size:19px; }.wayfinding-phone { flex-wrap:wrap; gap:8px 14px; margin-top:40px; }
}
@media(max-width:400px) { .brand { gap:9px; }.brand-wordmark { width:118px; flex-basis:118px; height:20px; }.brand-name { font-size:17px; }.wayfinding-map { height:300px; }.wayfinding-address a { font-size:17px; }.wayfinding-address>div { gap:10px; } }

/* Revision 4: official film, site design, and two coordinated opening notices. */
.overview { grid-template-columns:54% 46%; overflow-y:auto; }
.overview-image.overview-film { height:auto; margin:25px 0 65px 7%; align-self:center; overflow:visible; }
.official-film-heading { margin-bottom:22px; }
.overview-film .official-film-heading>span { position:static; writing-mode:horizontal-tb; font-size:13px; letter-spacing:.16em; color:#b9c8ba; }
.official-film-heading h3 { font-size:clamp(25px,2.2vw,38px); line-height:1.4; font-weight:600; margin:12px 0 0; letter-spacing:-.05em; }
.official-film-stage { width:100%; aspect-ratio:16/9; min-height:200px; background:#082923; border:1px solid #ffffff38; }
.official-film-stage iframe { display:block; width:100%; height:100%; border:0; }
.official-film-footer { display:flex; justify-content:space-between; gap:18px; padding:19px 0; border-bottom:1px solid #ffffff38; }
.official-film-footer a,.official-film-footer button { padding:0; font-size:19px; font-weight:600; color:#efe9d9; }
.official-film-note { font-size:15px; color:#bbcabc; line-height:1.6; margin-top:13px; word-break:keep-all; }
.overview-copy { padding:25px 11% 70px 10%; }
.overview-copy>.body-copy { font-size:clamp(28px,2vw,37.5px); }
.overview-copy .stat-grid span { font-size:22px; }
.overview-copy .overview-address p { font-size:24px; }
.site-layout { padding:calc(var(--header) + 28px) 6% 85px; overflow-y:auto; background:#f1f0e9; }
.site-layout-heading h2 { font-size:clamp(34px,3.05vw,54px); }
.site-layout-heading .eyebrow { margin-bottom:13px; }
.site-layout-description { font-size:clamp(22px,1.55vw,28px); line-height:1.65; margin-top:16px; color:#5c6d63; word-break:keep-all; letter-spacing:-.045em; }
.site-layout-gallery { display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:26px; }
.site-layout-gallery figure { margin:0; min-width:0; }
.site-layout-gallery button { position:relative; display:block; width:100%; padding:0; overflow:hidden; background:#d8e0d8; }
.site-layout-gallery img { width:100%; aspect-ratio:1.73; object-fit:cover; transition:transform .8s var(--ease); }
.site-layout-gallery button:hover img { transform:scale(1.025); }
.site-layout-gallery button>span { position:absolute; right:15px; bottom:15px; padding:8px 13px; background:#173f38e8; color:white; font-size:16px; }
.site-layout-gallery figcaption { display:flex; justify-content:space-between; gap:12px; padding:18px 0; border-bottom:1px solid #aab9ac; align-items:center; }
.site-layout-gallery figcaption b { font-size:23px; letter-spacing:-.055em; font-weight:600; }
.site-layout-gallery figcaption>span { color:#708170; font-size:12px; letter-spacing:.12em; }
.site-layout-note { font-size:15px; color:#738170; line-height:1.7; margin-top:18px; }
.announcements-dialog { overscroll-behavior:contain; width:min(900px,94vw); max-width:none; max-height:94dvh; padding:0; border:0; background:transparent; color:#fff; overflow-y:auto; overflow-x:hidden; }
.announcements-dialog::backdrop { background:#0b201b9c; backdrop-filter:blur(7px); }
.announcement-cards { display:grid; grid-template-columns:1fr 1fr; gap:15px; }
.announcement-card { position:relative; display:flex; flex-direction:column; padding:30px 28px 0; min-width:0; overflow:hidden; }
.announcement-brand { position:relative; z-index:1; text-align:center; margin:0 auto; }
.announcement-brand img { width:174px; height:auto; margin:0 auto 8px; }
.announcement-brand b { display:block; font-size:17px; letter-spacing:-.055em; }
.offer-card { background:linear-gradient(145deg,#253d48,#132c35 72%); border:1px solid #e5d9b15c; border-radius:4px; color:#f6f2e6; }
.offer-card::before { content:''; width:510px; height:650px; border:1px solid #d4bd7933; border-radius:50%; position:absolute; top:120px; left:-230px; transform:rotate(-24deg); pointer-events:none; }
.offer-card::after { content:''; width:510px; height:650px; border:1px solid #d4bd791c; border-radius:50%; position:absolute; top:150px; left:-195px; transform:rotate(-24deg); pointer-events:none; }
.offer-card .announcement-brand img { filter:invert(1); }
.offer-intro { font-size:18px; line-height:1.6; text-align:center; margin-top:26px; color:#c5d4d3; letter-spacing:-.06em; }
.offer-intro b { color:#fff7e6; }
.offer-rule { position:relative; height:1px; background:#d4c18a5c; margin:26px 0; }
.offer-rule::after { content:''; width:11px; height:11px; border:1px solid #cbb778; background:#203841; position:absolute; top:-6px; left:calc(50% - 6px); transform:rotate(45deg); }
.offer-card h2 { font-family:Arial,'Malgun Gothic',sans-serif; font-size:clamp(30px,2.8vw,44px); font-weight:800; color:#e9d095; text-align:center; line-height:1.4; letter-spacing:-.07em; }
.offer-card h2>span { display:block; font-size:42px; }
.offer-terms { display:grid; gap:12px; margin-top:25px; position:relative; z-index:1; }
.offer-terms>div { display:flex; justify-content:center; align-items:center; gap:14px; background:#f6f1e6; color:#243b3e; padding:12px 9px; border-radius:4px; }
.offer-terms>div>span { font-size:21px; letter-spacing:-.05em; }
.offer-terms strong { font-size:29px; color:#755c28; font-weight:800; letter-spacing:-.055em; }
.offer-terms strong small { font-size:17px; margin-left:2px; }
.offer-phone { display:flex; justify-content:center; align-items:center; gap:9px; margin:24px 0 0; font-size:24px; position:relative; z-index:1; white-space:nowrap; }
.offer-phone>span { font-size:18px; }
.offer-phone>b { font-size:28px; font-weight:750; letter-spacing:-.035em; }
.offer-note { text-align:center; color:#b9c8c6; font-size:12px; line-height:1.6; margin:12px 0 21px; }
.offer-register { background:#dcd4bf; color:#173a39; margin:auto -28px 0; padding:18px 15px; font-size:18px; font-weight:700; position:relative; z-index:1; letter-spacing:-.045em; }
.offer-register>span { margin-left:15px; }
.caution-card { background:#ebe7dc; color:#244239; border:1px solid #d7cfbd; border-radius:4px; padding-bottom:25px; }
.caution-card h2 { font-family:Arial,'Malgun Gothic',sans-serif; font-size:29px; font-weight:800; text-align:center; line-height:1.45; margin-top:28px; letter-spacing:-.065em; }
.caution-intro { font-size:18px; text-align:center; line-height:1.7; margin-top:13px; color:#566b60; letter-spacing:-.055em; }
.caution-message { display:flex; flex:1; flex-direction:column; align-items:center; background:#fdfcf8; border:1px solid #d7d4c6; margin-top:23px; padding:23px 19px; text-align:center; }
.caution-symbol { display:grid; place-items:center; width:61px; height:61px; border:1px solid #b69c63; border-radius:50%; color:#23483e; font-size:39px; font-weight:800; font-family:GrandSerif,serif; margin-bottom:18px; }
.caution-message p { font-size:19px; line-height:1.75; color:#44584e; letter-spacing:-.055em; }
.caution-message p+p { margin-top:17px; font-size:16px; }
.caution-message strong { color:#174b3e; font-weight:800; }
.caution-message a { font-size:14px; border-bottom:1px solid #7a9383; padding-bottom:6px; margin-top:auto; padding-top:18px; }
.announcements-toolbar { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:15px 0 5px; color:#fff; }
.announcements-toolbar label { display:flex; gap:9px; align-items:center; font-size:15px; cursor:pointer; }
.announcements-toolbar input { width:18px; height:18px; margin:0; accent-color:#d7c796; }
.announcements-toolbar .dialog-close { position:static; display:flex; align-items:center; gap:12px; padding:0; width:auto; height:auto; font-size:16px; }
.announcements-toolbar .dialog-close>span { font-size:26px; line-height:1; }
@media(min-width:901px) and (max-height:820px) {
 .announcements-dialog { width:790px; }.announcement-card{padding:21px 23px 0}.announcement-brand img{width:145px}.announcement-brand b{font-size:15px}.offer-intro{margin-top:17px;font-size:16px}.offer-rule{margin:20px 0}.offer-card h2{font-size:36px}.offer-card h2>span{font-size:36px}.offer-terms{margin-top:19px;gap:10px}.offer-terms>div{padding:9px}.offer-terms strong{font-size:26px}.offer-phone{margin-top:19px}.offer-phone>b{font-size:25px}.offer-note{margin-bottom:17px}.offer-register{margin-left:-23px;margin-right:-23px;padding:15px}.caution-card{padding-bottom:20px}.caution-card h2{font-size:26px;margin-top:20px}.caution-intro{font-size:16px}.caution-message{margin-top:18px;padding:18px 16px}.caution-symbol{width:50px;height:50px;font-size:33px;margin-bottom:14px}.caution-message p{font-size:17px}.caution-message p+p{font-size:15px;margin-top:12px}
}
@media(max-width:900px) {
 .overview { display:flex; flex-direction:column; padding:55px 7% 65px; }.overview-image.overview-film{width:100%;height:auto;margin:0 0 36px;align-self:auto;float:none}.official-film-heading{margin-bottom:17px}.official-film-heading h3{font-size:27px}.overview-film .official-film-heading>span{font-size:12px}.official-film-footer a,.official-film-footer button{font-size:16px}.official-film-note{font-size:13px}.overview-copy{padding:0}.overview-copy>.body-copy{font-size:29px}.overview-copy .stat-grid span{font-size:21px}.overview-copy .overview-address p{font-size:23px}
 .site-layout{padding:55px 7% 85px}.site-layout-heading h2{font-size:34px;line-height:1.45}.site-layout-description{font-size:22px;margin-top:18px}.site-layout-description br{display:none}.site-layout-gallery{grid-template-columns:1fr;gap:27px;margin-top:25px}.site-layout-gallery figcaption{padding:14px 0}.site-layout-gallery figcaption b{font-size:21px}.site-layout-gallery figcaption>span{font-size:10px}.site-layout-note{font-size:14px;margin-top:22px}
 .announcements-dialog{width:min(460px,92vw);max-height:92dvh}.announcement-cards{grid-template-columns:1fr;gap:16px}.announcement-card{padding:25px 23px 0}.announcement-brand img{width:155px}.announcement-brand b{font-size:16px}.offer-intro{font-size:17px;margin-top:22px}.offer-card h2{font-size:38px}.offer-card h2>span{font-size:39px}.offer-rule{margin:22px 0}.offer-terms{margin-top:22px}.offer-terms strong{font-size:28px}.offer-phone{margin-top:22px}.offer-phone>b{font-size:26px}.offer-note{font-size:12px}.offer-register{margin-left:-23px;margin-right:-23px;padding:17px}.caution-card{padding-bottom:25px}.caution-card h2{font-size:28px;margin-top:24px}.caution-message{min-height:340px}.caution-message p{font-size:19px}.caution-message p+p{font-size:16px}.announcements-toolbar{position:sticky;bottom:0;background:#183c35;padding:15px 12px;margin-top:8px;border-radius:4px;z-index:5}.announcements-toolbar label{font-size:13px}.announcements-toolbar .dialog-close{font-size:14px;white-space:nowrap}
}
@media(prefers-reduced-motion:reduce){.site-layout-gallery button:hover img{transform:none}}
