/* PC main only. Header/footer typography and geometry remain in weve-common.css. */
#home{display:none}
@media(min-width:991px){
 #home{display:block;--dm-navy:#102c50;--dm-mist:#d9e4f0;--dm-inset:clamp(64px,6vw,120px);color:var(--dw-ink);font-family:var(--dw-font)}
 #home .dm-stage{position:relative;isolation:isolate;height:calc(100svh - var(--dw-header-height));min-height:460px;overflow:hidden;background:var(--dm-navy)}
 #home .dm-scene{position:absolute;inset:0;overflow-y:auto;overscroll-behavior:contain;visibility:hidden;opacity:0;pointer-events:none;background:#fff}
 #home .dm-scene.is-current,#home .dm-scene.is-transitioning{visibility:visible;opacity:1}
 #home .dm-scene.is-current{pointer-events:auto}
 #home button{font:inherit;color:inherit}
 #home :is(.dm-copy h1,.dm-copy h2,.dm-copy p,.dm-slide,.dm-map){margin:0}
 #home .dm-copy h1,#home .dm-copy h2{font-size:clamp(36px,3vw,56px);font-weight:350;line-height:1.45;letter-spacing:-.055em;word-break:keep-all}
 #home .dm-copy p{font-size:clamp(16px,1.25vw,20px);font-weight:400;line-height:1.9;letter-spacing:-.025em;margin-top:26px}
 #home .dm-copy{min-width:0}
 #home .dm-kicker{display:block;font-size:11px;font-weight:500;letter-spacing:.15em;line-height:1.5;margin-bottom:28px;opacity:.7}
 #home .dm-layout{width:100%;max-width:1440px;margin:auto;padding:48px 166px 76px 64px;display:grid;gap:70px;align-items:center;min-height:100%}
 #home .dm-link{display:flex;align-items:center;justify-content:space-between;width:220px;border-bottom:1px solid currentColor;padding:12px 0;margin-top:34px;font-size:15px;gap:30px}
 #home .dm-link svg{width:23px;height:23px;flex:none;transition:transform .25s}
 #home .dm-link:hover svg{transform:translateX(4px)}
 #home .dm-gallery-images{display:grid;position:relative}
 #home .dm-slide{grid-area:1/1;opacity:0;visibility:hidden;pointer-events:none;min-width:0;transition:opacity 1.2s ease,visibility 1.2s}
 #home .dm-slide.is-selected{opacity:1;visibility:inherit;pointer-events:auto}
 #home [data-photo]{border:0;padding:0;background:transparent;display:block;cursor:zoom-in;width:100%}
 #home [data-photo]:focus-visible{outline:2px solid currentColor;outline-offset:5px}
 /* Original WebP remains an opaque layer over the protected building region.
    Only sky/road are cropped. Generated imagery supplies the outer surroundings. */
 #home .dm-hero{overflow:hidden}
 #home .dm-hero-gallery{position:relative;height:100%;min-height:0;isolation:isolate;color:#fff;--dm-source-w:min(100vw,calc(max(460px,calc(100svh - var(--dw-header-height))) * 1.92));--dm-source-h:calc(var(--dm-source-w) * .706640625)}
 #home .dm-hero .dm-gallery-images{position:absolute;inset:0;z-index:0;display:block;overflow:hidden;min-height:0}
 #home .dm-hero .dm-slide{position:absolute;inset:0;display:block;width:100%;height:100%;min-height:0;overflow:hidden;background:linear-gradient(100deg,#b4d3f3,#4d91d8 65%,#346fb7)}
 #home .dm-hero .dm-slide[data-hero-light="night"]{background:linear-gradient(100deg,#e8b997,#919bc8 55%,#3165a2)}
 #home .dm-hero-panorama{display:block;position:absolute;left:50%;bottom:calc(var(--dm-source-h) * -.025);width:calc(var(--dm-source-w) * 1.5);height:var(--dm-source-h);transform:translateX(-50%);pointer-events:none}
 #home .dm-hero img{position:absolute;top:0;display:block;height:100%;max-width:none;object-fit:fill;pointer-events:none}
 #home .dm-hero .dm-hero-extension{left:0;width:100%;height:100%}
 #home .dm-hero .dm-hero-original{object-fit:contain;left:16.666666667%;width:66.666666667%;height:100%;mask-image:linear-gradient(to right,transparent,#000 3%,#000 97%,transparent);-webkit-mask-image:linear-gradient(to right,transparent,#000 3%,#000 97%,transparent)}
 #home .dm-hero-shade{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(115deg,#061a3859,transparent 48%),linear-gradient(0deg,#061a3873,transparent 18%)}
 #home .dm-hero-copy{position:relative;z-index:2;padding:clamp(32px,3.35vw,64px) 0 0 clamp(32px,3.35vw,64px);pointer-events:none;max-width:650px;text-shadow:0 2px 15px #0c21438c}
 #home .dm-hero-copy h1{font-size:clamp(32px,2.65vw,50px);line-height:1.3;font-weight:400}
 #home .dm-hero-copy p{font-size:clamp(17px,1.1vw,21px);line-height:1.65;margin-top:16px}
 #home .dm-hero-bottom{z-index:2;position:absolute;bottom:27px;left:var(--dm-inset);right:166px;display:flex;align-items:center;justify-content:space-between;gap:24px}
 #home .dm-image-note{font-size:10px;line-height:1.7;opacity:.65}
 #home .dm-transport{display:flex;gap:10px;align-items:center;flex:none}
 #home .dm-transport [data-gallery-count]{font-size:10px;font-variant-numeric:tabular-nums;letter-spacing:.09em;margin-right:12px;white-space:nowrap}
 #home .dm-transport button{border:0;background:transparent;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;line-height:1}
 #home .dm-transport button:hover{background:#ffffff18}
 #home .dm-transport button[data-gallery-pause]{border:1px solid #ffffff66}
 #home .dm-transport svg{width:16px;height:16px;display:block;flex:none}
 #home .dm-transport .dm-play{display:none}
 #home .is-paused .dm-transport .dm-pause{display:none}
 #home .is-paused .dm-transport .dm-play{display:block}
 #home .dm-transport button:disabled{opacity:.45;cursor:default}
 #home .dm-scroll{z-index:2;position:absolute;left:50%;bottom:34px;display:flex;align-items:center;gap:16px;transform:translateX(-50%);padding:0;border:0;background:none;color:#fff;font-size:9px;letter-spacing:.15em}
 #home .dm-scroll-line{height:32px;width:1px;background:#ffffff70;position:relative;overflow:hidden}
 #home .dm-scroll-line:after{content:'';position:absolute;top:-12px;width:1px;height:12px;background:white;animation:dm-scroll-mark 2.6s ease-in-out infinite}
 #home .dm-landscape{background:var(--dm-navy);color:#fff}
 #home .dm-landscape-layout{grid-template-columns:minmax(300px,.8fr) minmax(0,1.2fr)}
 #home .dm-landscape .dm-copy p{color:var(--dm-mist)}
 #home .dm-garden-gallery{max-width:586px;width:100%;justify-self:end}
 #home .dm-garden-gallery [data-photo]{aspect-ratio:586/386;background:#0d2543;overflow:hidden}
 #home .dm-garden-gallery img{display:block;width:100%;height:100%;object-fit:contain}
 #home .dm-garden-gallery figcaption{display:flex;flex-wrap:wrap;align-items:baseline;gap:5px 18px;padding:20px 0 22px;min-height:80px}
 #home .dm-garden-gallery figcaption strong{font-size:22px;font-weight:450;letter-spacing:-.04em;white-space:nowrap}
 #home .dm-garden-gallery figcaption span{font-size:14px;color:var(--dm-mist);white-space:nowrap}
 #home .dm-gallery-bottom{border-top:1px solid #ffffff33;padding-top:17px;display:flex;gap:14px;align-items:center;justify-content:space-between;flex-wrap:wrap}
 #home .dm-location{background:#f8fafc}
 #home .dm-location-layout{grid-template-columns:minmax(0,1.15fr) minmax(340px,1fr);gap:65px}
 #home .dm-map{width:100%;max-width:min(560px,66svh);justify-self:start}
 #home .dm-map img{display:block;width:100%;height:auto}
 #home .dm-map figcaption{font-size:10px;line-height:1.7;color:#677991;padding-top:13px}
 #home .dm-location .dm-copy h2{font-size:clamp(32px,2.55vw,46px)}
 #home .dm-location .dm-copy p{color:#607189;margin-top:22px}
 #home .dm-location-points{padding:0;margin:30px 0 0;font-size:15px;line-height:1.7}
 #home .dm-location-points>div{display:grid;grid-template-columns:40px 1fr;gap:20px;padding:12px 0;border-top:1px solid #d4dfec}
 #home .dm-location-points dt{color:#738198}
 #home .dm-location-points dd{margin:0}
 #home .dm-visit{display:flex;flex-direction:column;background:var(--dw-blue);color:#fff}
 #home .dm-invitation{position:relative;isolation:isolate;overflow:hidden;flex:1 0 auto;min-height:390px;display:flex;flex-direction:column;padding:30px max(160px,calc((100% - 1240px)/2 + 40px)) 32px max(40px,calc((100% - 1240px)/2 + 40px))}
 #home .dm-visit-top{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-bottom:18px;border-bottom:1px solid #ffffff44;font-size:12px;color:#d5e3f6}
 #home .dm-visit-top>span:last-child{font-size:11px}
 #home .dm-visit-copy{margin:auto 0;padding:25px 0}
 #home .dm-visit-copy h2{font-size:clamp(30px,2.6vw,46px);line-height:1.5}
 #home .dm-visit-copy p{font-size:17px;line-height:1.85;color:#d5e3f6;margin-top:20px}
 #home .dm-visit-actions{display:flex;align-items:flex-end;justify-content:space-between;gap:30px}
 #home .dm-visit-button{display:inline-flex;align-items:center;justify-content:space-between;gap:45px;background:#fff;color:var(--dw-blue);min-height:55px;padding:14px 24px;font-size:16px;font-weight:550;border-radius:3px}
 #home .dm-visit-button svg{width:23px;height:23px}
 #home .dm-visit-phone{display:flex;flex-direction:column;gap:8px}
 #home .dm-visit-phone>span{font-size:12px;color:#d5e3f6}
 #home .dm-visit-phone strong{font-size:clamp(30px,2.7vw,44px);font-weight:600;letter-spacing:-.03em;line-height:1.15}
 #home .dm-wordmark{position:absolute;z-index:-1;right:3%;bottom:-.25em;font-size:clamp(160px,25vw,420px);font-weight:650;letter-spacing:-.08em;line-height:1;opacity:.055;pointer-events:none}
 #home .dm-footer-slot{flex:none}
 #home .dm-scene-controls{position:absolute;right:24px;bottom:18px;z-index:10;display:flex;align-items:center;gap:9px;color:white;font-size:10px;line-height:1}
 #home .dm-scene-controls.is-dark{color:var(--dw-ink)}
 #home .dm-scene-controls button{width:25px;height:25px;padding:0;border:0;background:none;font-size:18px}
 #home .dm-scene-controls button:disabled{opacity:.3;cursor:default}
 #home .dm-count-line{width:22px;height:1px;background:currentColor;opacity:.4}
 #home .dm-dock{position:absolute;right:18px;bottom:60px;z-index:12;display:flex;flex-direction:column;gap:12px}
 #home .dm-badge{width:112px;height:112px;padding:0;position:relative;display:grid;place-items:center;border-radius:50%;border:1px solid #d9e4ee;background:#fff;color:var(--dw-blue);box-shadow:0 5px 24px #071a3340;transition:transform .25s}
 #home .dm-badge:hover{transform:translateY(-3px)}
 #home .dm-ring{position:absolute;inset:0;width:100%;height:100%;fill:var(--dw-blue);animation:dm-ring-turn 18s linear infinite;transform-origin:50% 50%}
 #home .dm-ring text{font:500 7.5px var(--dw-font);letter-spacing:1.25px}
 #home .dm-badge-center{width:80px;height:80px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;background:var(--dw-blue);color:white}
 #home .dm-badge-center>svg{width:25px;height:25px;display:block}
 #home .dm-badge-center>span{font-size:11px;font-weight:650;line-height:1.3;white-space:nowrap;letter-spacing:-.05em}
 #home .dm-kakao .dm-badge-center{background:#fee500;color:#32271d}
 #home .dm-kakao .dm-ring{fill:#443b2b}
}
@keyframes dm-ring-turn{to{transform:rotate(360deg)}}
@keyframes dm-scroll-mark{to{transform:translateY(48px)}}
@media(min-width:991px) and (max-width:1199px){
 #home .dm-layout{padding-left:40px;padding-right:140px;gap:32px}
 #home .dm-landscape-layout{grid-template-columns:minmax(270px,.85fr) minmax(0,1.15fr)}
 #home .dm-copy h2{font-size:32px}
 #home .dm-location-layout{grid-template-columns:minmax(0,1fr) minmax(290px,1fr)}
 #home .dm-location .dm-copy h2{font-size:29px}
 #home .dm-garden-gallery figcaption{min-height:90px}
 #home .dm-garden-gallery figcaption strong{font-size:20px}
 #home .dm-garden-gallery figcaption span{font-size:13px}
 #home .dm-badge{width:100px;height:100px}
 #home .dm-badge-center{width:72px;height:72px}
 #home .dm-dock{right:12px}
 #home .dm-hero-bottom{right:145px}
 #home .dm-gallery-bottom .dm-transport{margin-left:auto}
}
@media(min-width:991px) and (max-height:780px){
 #home{--dm-inset:58px}
 #home .dm-layout{padding-top:28px;padding-bottom:62px}
 #home .dm-kicker{margin-bottom:18px}
 #home .dm-copy h2{font-size:34px}
 #home .dm-copy p{font-size:16px;margin-top:18px}
 #home .dm-hero-copy{padding-top:clamp(30px,3vw,42px);padding-left:clamp(30px,3vw,42px)}
 #home .dm-hero-copy h1{font-size:clamp(32px,2.75vw,42px)}
 #home .dm-hero-copy p{font-size:17px;margin-top:14px}
 #home .dm-link{margin-top:24px}
 #home .dm-garden-gallery{max-width:min(586px,72svh)}
 #home .dm-garden-gallery figcaption{padding:14px 0;min-height:62px}
 #home .dm-location-points{margin-top:20px;font-size:14px}
 #home .dm-location-points>div{padding:9px 0}
 #home .dm-invitation{min-height:330px;padding-top:20px;padding-bottom:24px}
 #home .dm-visit-top{padding-bottom:12px}
 #home .dm-visit-copy{padding:18px 0}
 #home .dm-visit-copy h2{font-size:32px}
 #home .dm-visit-copy p{font-size:15px;margin-top:14px}
 #home .dm-visit-button{min-height:48px;font-size:15px}
 #home .dm-visit-phone strong{font-size:32px}
}
@media(prefers-reduced-motion:reduce){#home *{animation:none!important;transition:none!important}}
/* Native main-only dialogs; detail viewer remains unchanged. */
.dm-photo-dialog{box-sizing:border-box;width:100vw;max-width:none;height:100dvh;max-height:none;padding:70px 28px 26px;margin:0;inset:0;border:0;background:#081a2df7;color:white;overflow:auto;overscroll-behavior:contain;font-family:var(--dw-font)}
.dm-photo-dialog[open]{display:flex;align-items:center;justify-content:center}
.dm-photo-dialog::backdrop{background:#081a2d}
.dm-photo-dialog figure{display:flex;flex-direction:column;align-items:center;gap:14px;width:100%;margin:0}
.dm-photo-dialog img{display:block;width:auto;height:auto;max-width:100%;max-height:calc(100dvh - 155px);object-fit:contain}
.dm-photo-dialog figcaption{font-size:15px;text-align:center;line-height:1.8;color:#e0e8f2}
.dm-photo-close{position:fixed;right:24px;top:18px;width:44px;height:44px;border:1px solid #ffffff66;border-radius:50%;display:grid;place-items:center;background:#153e80;color:white;padding:0}
.dm-photo-close svg{width:20px;height:20px;display:block}
.dm-kakao-dialog{box-sizing:border-box;margin:auto;width:min(440px,90vw);padding:42px 32px 30px;border:0;border-radius:12px;background:#fff;color:#152d50;font-family:var(--dw-font);line-height:1.8}
.dm-kakao-dialog::backdrop{background:#081a2d99}
.dm-kakao-dialog h2{font-size:27px;font-weight:450;margin:0 0 18px}
.dm-kakao-dialog p{font-size:17px;color:#607189;margin:0 0 26px}
.dm-kakao-dialog .dm-kakao-close{position:absolute;right:12px;top:9px;width:32px;height:32px;padding:0;border:0;background:none;color:inherit;font-size:26px}
.dm-kakao-dialog>a{display:block;padding:12px;background:#153e80;color:white;text-align:center;border-radius:4px;font-size:19px;font-weight:600}
