/* Addendum: existing fonts/colors and shared spacing roles. User selected A: retain MaruBuri / Pretendard. */
body.eg-site #main .estate-map-info {border-radius:var(--space-3);}
body.eg-site #main .wa-keep {white-space:nowrap;}
body.eg-site #main .wa-condition-note {padding-block:var(--space-8);border-top:1px solid var(--rf-line);margin-top:var(--space-8);}
body.eg-site.official.detail-page.refined-details-1007 #main .wa-condition-note h2 {font-size:16px;line-height:1.6;letter-spacing:0;margin:0 0 var(--space-4);}
body.eg-site #main .wa-condition-note :is(p,a) {font-size:13px;line-height:1.9;letter-spacing:0;}
body.eg-site #main .wa-course-conditions {font:400 13px/1.9 var(--font-body);margin-top:var(--space-4);border-top:1px solid var(--rf-line);padding-top:var(--space-4);}
body.eg-site #main .wa-course-conditions h4 {font:500 13px/1.9 var(--font-body);margin:0 0 8px;}
body.eg-site #main .wa-course-conditions p {font:400 13px/1.9 var(--font-body);margin:0;}
body.eg-site #main .wa-course-conditions :is(h4,p) {word-break:keep-all;overflow-wrap:anywhere;}
body.eg-site .eg-course-controls button {font:400 13px/1.7 var(--font-body);padding:8px 12px;}
body.eg-site #main .wa-brand-deck {width:min(calc(100% - 2 * var(--grid-gutter)),var(--grid-max));max-width:none;padding-inline:0;}
body.eg-site #main .wa-brand-deck .detail-panel>section {width:100%;max-width:none;margin-inline:0;padding:var(--space-8) 0;}
body.eg-site #main .wa-brand-deck .detail-panel .tb-intro {padding:0;}
body.eg-site #main .wa-brand-deck :is(h2) {font-size:var(--type-h2);line-height:var(--leading-heading);letter-spacing:var(--tracking-heading);font-weight:400;}
body.eg-site #main .wa-brand-deck p {font-size:var(--type-body);line-height:var(--leading-body);}
body.eg-site #main .wa-brand-deck :is(.fg-directory-note,.wa-world-scope) {font-size:13px;line-height:1.9;}
body.eg-site #main .wa-world {margin-block:var(--space-8);}
body.eg-site #main .wa-world-toolbar {display:flex;align-items:center;gap:var(--space-4);margin-bottom:var(--space-4);}
body.eg-site #main .wa-world-toolbar select {min-width:0;max-width:520px;flex:1;font:14px/1.6 var(--font-body);padding:12px;border:1px solid var(--rf-line);border-radius:0;background:var(--rf-white);color:inherit;}
body.eg-site #main .wa-world button {min-width:44px;min-height:44px;font:14px/1.6 var(--font-body);border:1px solid var(--rf-line);background:transparent;color:inherit;}
body.eg-site #main .wa-world-zoom {display:flex;gap:8px;margin-left:auto;}
body.eg-site #main .wa-world svg {display:block;width:100%;height:auto;aspect-ratio:2/1;background:#f0f1e9;border:1px solid var(--rf-line);}
body.eg-site #main .wa-world circle {fill:#43685c;stroke:#fafbf9;stroke-width:.15;cursor:pointer;}
body.eg-site #main .wa-world circle:hover,body.eg-site #main .wa-world circle.is-selected {fill:#956a36;stroke:#fff;stroke-width:.45;r:calc(1.8px / var(--world-zoom,1));}
body.eg-site #main .wa-world-info {display:flex;align-items:center;gap:var(--space-6);padding:var(--space-4);margin-top:var(--space-4);border:1px solid var(--rf-line);border-radius:var(--space-3);}
body.eg-site #main .wa-world-info[hidden] {display:none;}
body.eg-site #main .wa-world-info>div {flex:1;min-width:0;}
body.eg-site #main .wa-world-info :is(strong,span) {display:block;font:400 14px/1.7 var(--font-body);overflow-wrap:anywhere;}
body.eg-site #main .wa-world-info a {font:13px/1.7 var(--font-body);text-decoration:underline;text-underline-offset:4px;}
body.eg-site #main .wa-world-scope {margin-top:var(--space-4);}
body.eg-site #main .wa-facilities,body.eg-site #main .wa-amenities {width:min(calc(100% - 2 * var(--grid-gutter)),var(--grid-max));margin:var(--eg-section-space) auto;}
body.eg-site #main .wa-section-head {margin-bottom:var(--space-8);}
body.eg-site #main .wa-section-head h2 {font:400 var(--type-h2)/var(--leading-heading) var(--font-heading);letter-spacing:var(--tracking-heading);margin:0;}
body.eg-site #main .wa-facility-grid {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:var(--space-12) var(--grid-gap);align-items:start;}
body.eg-site #main .wa-facility figure {margin:0 0 var(--space-6);padding:0;}
body.eg-site #main .wa-facility figure img {display:block;width:100%;height:auto;max-height:none;}
body.eg-site #main .wa-facility figcaption {font:12px/1.7 var(--font-body);color:var(--rf-muted);margin-top:8px;}
body.eg-site #main .wa-facility h3 {font:400 var(--type-h3)/1.6 var(--font-heading);letter-spacing:var(--tracking-heading);margin:0 0 var(--space-3);}
body.eg-site #main .wa-facility p {font-size:var(--type-body);line-height:var(--leading-body);margin:0 0 var(--space-3);}
body.eg-site #main .wa-facility .oc-eyebrow {font-size:12px;line-height:1.7;}
body.eg-site #main .wa-facility-text {padding-top:var(--space-6);border-top:1px solid var(--rf-line);}
body.eg-site #main .wa-facility a {color:inherit;text-underline-offset:4px;}
body.eg-site #main .wa-amenities {border-top:1px solid var(--rf-line);padding-top:var(--space-6);}
body.eg-site #main .wa-amenities>summary {cursor:pointer;font:400 var(--type-h3)/1.6 var(--font-heading);}
body.eg-site #main .wa-amenities .bg-inner {width:100%;max-width:none;margin:0;padding:0;}
body.eg-site #main .wa-amenities .rf-feature-photo {max-width:100%;margin-inline:0;}
body.eg-site #main .estate-gallery-page {width:min(calc(100% - 2 * var(--grid-gutter)),var(--grid-max));margin-inline:auto;padding:var(--space-12) 0 var(--eg-section-space)!important;}
body.eg-site #main .gallery-heading {text-align:left;margin-bottom:var(--space-8);}
body.eg-site #main .gallery-heading h1 {font-size:var(--type-h1);line-height:var(--leading-heading);letter-spacing:var(--tracking-heading);font-weight:400;margin:var(--space-4) 0;}
body.eg-site #main .gallery-heading>p:last-child {font-size:var(--type-body);line-height:var(--leading-body);}
body.eg-site #main .estate-gallery-grid {gap:var(--space-12) var(--grid-gap);}
body.eg-site #main [data-addendum-layout="philosophy"] .oc-section {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:var(--grid-gap);align-items:start;}
body.eg-site #main [data-addendum-layout="philosophy"] .oc-section-intro {display:block;grid-column:2;grid-row:1;margin:0;padding:0;}
body.eg-site #main [data-addendum-layout="philosophy"] .oc-section-number {display:none;}
body.eg-site #main [data-addendum-layout="philosophy"] .om-photo {grid-column:1;grid-row:1;max-width:none;width:100%;margin:0;padding:0;}
body.eg-site #main [data-addendum-layout="philosophy"] .om-photo img {display:block;width:100%;height:auto;max-height:none;object-fit:contain;}
body.eg-site #main [data-addendum-layout="philosophy"] .oc-section:first-of-type {display:block;}
body.eg-site #main [data-addendum-layout="philosophy"] .om-values {margin-top:var(--space-8);}
body.eg-site #main [data-content-route="estate/location.html"] .bg-inner {width:100%;max-width:none;padding:0;margin:0;}
/* Plain information pages keep their title and action; duplicate hero photos are omitted. */
body.eg-site.official.detail-page.refined-details-1007 #main .oc-cover:not(:has(.oc-cover-image)):not(.app-guide-cover) {display:block;}
body.eg-site #main .interior-space h2 {font-size:var(--type-h2);line-height:var(--leading-heading);letter-spacing:var(--tracking-heading);text-wrap:balance;}
body.eg-site .wa-photo-controls {display:flex;justify-content:flex-end;gap:16px;margin-top:16px;}
body.eg-site .wa-photo-controls button {min-height:44px;border:0;border-bottom:1px solid var(--rf-line);background:transparent;color:inherit;font:13px/1.7 var(--font-body);}
@media(max-width:780px){
 body.eg-site #main .wa-facility-grid {grid-template-columns:1fr;gap:var(--space-8);}
 body.eg-site #main [data-addendum-layout="philosophy"] .oc-section {display:flex;flex-direction:column;gap:var(--space-6);}
 body.eg-site #main [data-addendum-layout="philosophy"] .om-photo {width:100%;}
 body.eg-site #main .wa-world-toolbar {flex-wrap:wrap;gap:8px;}
 body.eg-site #main .wa-world-toolbar label {width:100%;font-size:13px;}
 body.eg-site #main .wa-world-info {flex-wrap:wrap;gap:12px;}
 body.eg-site #main .wa-world-info>div {flex-basis:100%;}
 body.eg-site #main .wa-world-info button {margin-left:auto;}
 /* Flow placement preserves the consultation action without overlaying reading or inputs. */
 body.eg-site .om-float {position:static;inset:auto;display:flex;justify-content:flex-end;margin:var(--space-6) var(--grid-gutter);}
}
/* Related philosophy scenes share a single row; copy follows its own image. */
body.eg-site #main .wa-philosophy-pairs {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--grid-gap);width:min(calc(100% - 2 * var(--grid-gutter)),var(--grid-max));margin:var(--eg-section-space) auto;}
body.eg-site #main [data-addendum-layout="philosophy"] .wa-philosophy-pairs .oc-section {display:flex;flex-direction:column;padding:0;gap:var(--space-6);margin:0;}
body.eg-site #main .wa-philosophy-pairs .om-photo {order:0;}
body.eg-site #main .wa-philosophy-pairs .oc-section-intro {order:1;}
body.eg-site #main .ml-card[aria-current="true"] {display:none;}
body.eg-site #main .eg-app-login {margin-inline:0;}
body.eg-site.official.detail-page.refined-details-1007 #main .app-guide-cover {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);}
body.eg-site #main .app-guide-cover .oc-cover-copy {max-width:38em;}
@media(max-width:780px){
 body.eg-site #main .wa-philosophy-pairs {grid-template-columns:1fr;}
 body.eg-site.official.detail-page.refined-details-1007 #main .app-guide-cover {grid-template-columns:1fr;}
 body.eg-site.official.detail-page.refined-details-1007 .om-float {position:static!important;inset:auto!important;margin:24px var(--grid-gutter)!important;}
}
body.eg-site #main .troon-ig-image {aspect-ratio:4/5;}
body.eg-site #main .troon-ig-image img {width:100%;height:100%;object-fit:contain;}
@media(max-width:780px),(max-height:500px) and (hover:none){
 /* 휴대폰: 상담 단추는 오른쪽 아래에 떠 있다. 쪽 끝 여백(단추 높이 + safe-area)으로 마지막 본문과 바닥글이 단추 위로 올라오게 한다. */
 body.eg-site:not(:has([data-rv])) .troon-contact,body.intro-page:not(:has([data-rv])) .troon-contact {position:fixed!important;top:auto!important;left:auto!important;right:calc(14px + env(safe-area-inset-right))!important;bottom:calc(14px + env(safe-area-inset-bottom))!important;margin:0!important;z-index:80}
 body.eg-site.troon-contact-active:not(:has([data-rv])),body.intro-page.troon-contact-active:not(:has([data-rv])) {padding-bottom:calc(136px + env(safe-area-inset-bottom))}
 /* 신청 폼이 있는 쪽은 폼을 가리지 않게 쪽 끝 흐름(오른쪽) 그대로 */
 body.eg-site:has([data-rv]) .troon-contact,body.intro-page:has([data-rv]) .troon-contact {position:static!important;inset:auto!important;margin:24px var(--grid-gutter,24px) 24px auto!important;justify-content:flex-end;}
 /* 입력칸에 포커스가 가면(화면 키보드) 단추를 숨긴다 */
 body.troon-contact-active:has(:is(input,select,textarea):focus) .troon-contact {visibility:hidden}
}
@media(max-height:500px) and (hover:none){
 /* 가로로 든 휴대폰: 두 단추를 가로로 놓아 높이를 줄인다 */
 body.eg-site:not(:has([data-rv])) .troon-contact,body.intro-page:not(:has([data-rv])) .troon-contact {flex-direction:row!important;width:auto!important;gap:8px!important}
 body.eg-site.troon-contact-active:not(:has([data-rv])),body.intro-page.troon-contact-active:not(:has([data-rv])) {padding-bottom:calc(76px + env(safe-area-inset-bottom))}
}
@media (min-width:781px) and (min-height:501px),(min-width:781px) and (hover:hover){
 /* PC: 떠 있는 상담 단추(오른쪽 아래 24px, 높이 106px) 아래로 쪽 끝 여백 154px — 낮은 창(1024×480 등)에서도 바닥글 연락처·링크가 단추 위로 올라온다.
    쪽 끝 흐름인 쪽(신청 폼 [data-rv], R40 멤버십 소개·레지던스 서비스)은 여백을 더하지 않는다. */
 body.eg-site.troon-contact-active:not(:has([data-rv])):not(:has(#main :is(.rf-residence-service,.rf-membership-index))),body.intro-page.troon-contact-active:not(:has([data-rv])) {padding-bottom:calc(154px + env(safe-area-inset-bottom))}
}
body.eg-site.official.detail-page.refined-details-1007 #main .app-guide-cover {grid-template-columns:minmax(0,1fr) minmax(0,2fr);}
body.eg-site #main .app-guide-cover .eg-app-login {grid-column:1;grid-row:1;width:100%;max-width:320px;margin:0;}
body.eg-site #main .app-guide-cover .oc-cover-copy {grid-column:2;grid-row:1;}
@media(max-width:780px){
 body.eg-site.official.detail-page.refined-details-1007 #main .app-guide-cover {grid-template-columns:1fr;}
 body.eg-site #main .app-guide-cover .oc-cover-copy {grid-column:1;grid-row:1;}
 body.eg-site #main .app-guide-cover .eg-app-login {grid-column:1;grid-row:2;}
}
body.eg-site #main .vol5-tier-benefits dd p {font:inherit;line-height:inherit;margin:0;}
/* Garden and stay scenes: one related photo/copy module per column. */
body.eg-site #main .wa-editorial-trio {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--grid-gap);width:min(calc(100% - 2 * var(--grid-gutter)),var(--grid-max));margin:var(--eg-section-space) auto;align-items:start;}
body.eg-site.official.detail-page.refined-details-1007 #main .wa-editorial-trio .oc-section {display:flex;flex-direction:column;gap:var(--space-6);padding:0;margin:0;min-width:0;}
body.eg-site #main .wa-editorial-trio .oc-gallery {order:0;}
body.eg-site #main .wa-editorial-trio .oc-section-intro {order:1;display:block;}
body.eg-site #main .wa-editorial-trio .oc-section-number {display:none;}
body.eg-site #main .wa-editorial-trio .oc-photo {max-width:none;margin:0;}
body.eg-site #main .wa-editorial-trio .oc-photo img {display:block;width:100%;height:auto;max-height:none;}
body.eg-site.wa-legal #main .headline {font-size:var(--type-h1);line-height:var(--leading-heading);letter-spacing:var(--tracking-heading);font-weight:400;}
@media(max-width:780px){body.eg-site #main .wa-editorial-trio {grid-template-columns:1fr;gap:var(--space-12);}}
/* A confirmed by user: existing MaruBuri / Pretendard, no font-file substitution. */
body.eg-site #main .estate-map-info h2 {font-family:var(--font-heading);font-size:var(--type-h3);line-height:1.6;letter-spacing:var(--tracking-heading);margin:0 0 var(--space-3);}
body.eg-site #main .estate-map-info .estate-map-ko {font:400 14px/1.7 var(--font-body);margin:0 0 var(--space-4);}
body.eg-site #main .estate-map-info .estate-map-description {margin:0 0 var(--space-6);}
body.eg-site.official.detail-page.refined-details-1007 #main:has([data-content-route="estate/location.html"])>.briefing-guide {width:min(calc(100% - 2 * var(--grid-gutter)),var(--grid-max));max-width:none;margin-inline:auto;padding-inline:0;}
body.eg-site #main:has([data-content-route="estate/location.html"])>.briefing-guide .bg-inner {width:100%;max-width:none;margin:0;padding:0;}
body.eg-site #main .wa-film-caption {position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;}

/* Location uses the same outer container for title, map and access modules. */
body.eg-site.official.detail-page.refined-details-1007 #main [data-content-route="estate/location.html"]>.om-map {width:min(calc(100% - 2 * var(--grid-gutter)),var(--grid-max));max-width:none;margin-inline:auto;padding-inline:0;}
body.eg-site.official.detail-page.refined-details-1007 #main [data-content-route="estate/location.html"]>.om-map img {width:100%;height:auto;}
body.eg-site.official.detail-page.refined-details-1007 #main:has([data-content-route="estate/location.html"])>.briefing-guide>.bg-section {padding-inline:0;}

/* App guide: approved screenshot and installation copy form one adjacent module. */
body.eg-site.official.detail-page.refined-details-1007 #main .rf-members-app>.app-guide-cover {display:grid;grid-template-columns:minmax(0,320px) minmax(0,1fr);gap:var(--space-12);align-items:center;}
body.eg-site.official.detail-page.refined-details-1007 #main .app-guide-cover .wa-app-install {display:block;width:100%;max-width:none;margin:var(--space-8) 0 0;padding:0;}
body.eg-site.official.detail-page.refined-details-1007 #main .app-guide-cover .wa-app-install .oc-section-intro {display:block;width:100%;margin:0;padding:0;}
body.eg-site #main .wa-app-install .oc-section-number {display:none;}
body.eg-site.official.detail-page.refined-details-1007 #main .app-guide-cover .wa-app-install h2 {font-size:var(--type-h3);line-height:1.6;margin:0 0 var(--space-3);}
body.eg-site #main .wa-app-install .om-btns {margin-top:var(--space-4);}
@media(max-width:780px){body.eg-site.official.detail-page.refined-details-1007 #main .rf-members-app>.app-guide-cover {grid-template-columns:minmax(0,1fr);gap:var(--space-8);}}
/* Non-Founder grades: one adjacent photo and one complete set of facts.
   Same 320px image role as the app guide; existing shared type and gap tokens. */
body.eg-site.official.detail-page.refined-details-1007 #main .rf-membership-index .wa-tier-compact {
 display:grid;grid-template-columns:minmax(0,320px) minmax(0,1fr);grid-template-rows:auto 1fr;column-gap:var(--grid-gap);row-gap:var(--space-6);align-items:start;
}
body.eg-site #main .wa-tier-compact>.rf-grade-photo {grid-column:1;grid-row:1/3;width:100%;max-width:320px;margin:0;padding:0;}
body.eg-site #main .wa-tier-compact>.rf-grade-photo img {display:block;width:100%;height:auto;max-height:none;object-fit:contain;}
body.eg-site #main .wa-tier-compact>.rf-grade-heading {grid-column:2;grid-row:1;display:block;width:100%;margin:0;padding:0;}
body.eg-site #main .wa-tier-compact>.rf-grade-heading h2 {font:400 var(--type-h2)/var(--leading-heading) var(--font-heading);letter-spacing:var(--tracking-heading);margin:0;word-break:keep-all;}
body.eg-site #main .wa-tier-compact>.rf-grade-heading .om-en {margin-top:var(--space-2);}
body.eg-site #main .wa-tier-facts {grid-column:2;grid-row:2;width:100%;margin:0;padding:0;font:400 var(--type-body)/var(--leading-body) var(--font-body);}
body.eg-site #main .wa-tier-facts>div {display:grid;grid-template-columns:112px minmax(0,1fr);gap:var(--space-4);padding:var(--space-4) 0;border-top:1px solid var(--rf-line);}
body.eg-site #main .wa-tier-facts :is(dt,dd) {margin:0;padding:0;font:inherit;letter-spacing:0;word-break:keep-all;overflow-wrap:anywhere;}
body.eg-site #main .wa-tier-facts dt {color:var(--rf-muted);}
@media(max-width:780px){
 body.eg-site.official.detail-page.refined-details-1007 #main .rf-membership-index .wa-tier-compact {grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto;row-gap:var(--space-6);}
 body.eg-site #main .wa-tier-compact>.rf-grade-heading {grid-column:1;grid-row:1;}
 body.eg-site #main .wa-tier-compact>.rf-grade-photo {grid-column:1;grid-row:2;margin-inline:0!important;}
 body.eg-site #main .wa-tier-facts {grid-column:1;grid-row:3;}
 body.eg-site #main .wa-tier-facts>div {grid-template-columns:80px minmax(0,1fr);}
}

body.eg-site #main .wa-world svg{cursor:grab;user-select:none}
body.eg-site #main .wa-world svg:active{cursor:grabbing}
.wa-course-labels{pointer-events:none;fill:#303b34;font-family:sans-serif;paint-order:stroke;stroke:#f0f1e9;stroke-width:.35;stroke-linejoin:round}
