/* Owner revision: preserve charcoal typography; original brand sage is used only for rules. */
:root { --rf-teal:#596156; --rf-teal-line:rgba(89,97,86,.42); }
body.rf-teal-preview { --rf-line:var(--rf-teal-line); --refined-header-height:96px; }
body.rf-teal-preview .home-header { color:var(--refined-ink); background:#fafbf9; border-bottom:1px solid var(--rf-teal-line); }
body.rf-teal-preview.rf-visible-menu .home-header { position:sticky; top:0; left:auto; right:auto; z-index:60; margin:0; padding:0 clamp(24px,4.4vw,72px); height:var(--refined-header-height); grid-template-columns:148px minmax(0,1fr) auto; gap:clamp(24px,3vw,48px); box-sizing:border-box; }
body.rf-visible-menu .home-header #menu-open { display:none; }
body.rf-visible-menu .home-header .header-logo { grid-column:1; grid-row:1; }
body.rf-visible-menu .home-header .visit-link { grid-column:3; grid-row:1; gap:16px; font-size:12px; color:var(--refined-ink); white-space:nowrap; border-bottom:1px solid var(--rf-teal); min-height:36px; }
body.rf-visible-menu.web-astra-details #main { padding-top:0; }
body.rf-visible-menu :where([id],.detail-panel,.detail-deck) { scroll-margin-top:calc(var(--refined-header-height) + 20px); }
body.rf-teal-preview .rf-top-nav { display:flex; justify-content:center; align-items:center; gap:clamp(15px,2vw,32px); grid-column:2; grid-row:1; min-width:0; }
body.rf-teal-preview .rf-nav-group { position:relative; margin:0; padding:0; border:0; color:var(--refined-ink); }
body.rf-teal-preview .rf-nav-group > summary { position:relative; display:flex; align-items:center; gap:7px; min-height:48px; cursor:pointer; list-style:none; white-space:nowrap; font:500 13px/1.4 var(--troon-font-ko); letter-spacing:0; }
body.rf-teal-preview .rf-nav-group > summary::-webkit-details-marker { display:none; }
body.rf-teal-preview .rf-nav-group > summary::after { content:''; width:4px; height:4px; border-right:1px solid var(--rf-teal); border-bottom:1px solid var(--rf-teal); transform:rotate(45deg) translateY(-2px); transition:transform 160ms ease; }
body.rf-teal-preview .rf-nav-group[open] > summary::after { transform:rotate(225deg) translate(-1px,-1px); }
body.rf-teal-preview .rf-nav-group > summary::before { content:''; position:absolute; left:0; bottom:5px; width:100%; height:1px; background:var(--rf-teal); transform:scaleX(0); transform-origin:left; transition:transform 160ms ease; }
body.rf-teal-preview .rf-nav-group:is([open],.is-current) > summary::before,body.rf-teal-preview .rf-nav-group > summary:hover::before { transform:scaleX(1); }
body.rf-teal-preview .rf-nav-links { position:absolute; left:-24px; top:100%; min-width:245px; width:max-content; max-width:min(360px,calc(100vw - 40px)); padding:17px 24px; background:#fafbf9; border:1px solid var(--rf-teal-line); box-shadow:0 12px 22px #153e2e0b; box-sizing:border-box; }
body.rf-teal-preview .rf-nav-group:nth-last-child(-n+2) .rf-nav-links { left:auto; right:-24px; }
body.rf-teal-preview .rf-nav-links a { display:block; padding:12px 0; min-height:44px; box-sizing:border-box; font:400 14px/1.5 var(--troon-font-ko); color:var(--refined-ink); text-decoration:none; white-space:normal; }
body.rf-teal-preview .rf-nav-links a:hover,body.rf-teal-preview .rf-nav-links a[aria-current] { color:var(--refined-ink); text-decoration:underline; text-decoration-color:var(--rf-teal); text-underline-offset:5px; }
body.rf-teal-preview :where(a,button,summary):focus-visible { outline:2px solid var(--rf-teal); outline-offset:4px; }
body.rf-teal-preview .detail-tabs { border-bottom-color:var(--rf-teal-line); }
body.rf-teal-preview .detail-tabs button[aria-selected=true] { color:var(--refined-ink); border-bottom-color:var(--refined-ink); }
body.rf-teal-preview :where(.text-link,.home-disclosure,.membership-cards>article,.mb-facts>div,.foot,footer) { border-color:var(--rf-teal-line); }
/* Grade marks retain the approved far-right position. */
body.rf-teal-preview .rf-membership-index .rf-grade > .rf-grade-heading { grid-template-columns:minmax(0,1fr) 116px; align-items:start; }
body.rf-teal-preview .rf-membership-index .rf-grade-heading > .rf-grade-badge,body.rf-teal-preview .rf-membership-index .rf-grade-badge img { width:116px; height:116px; }
body.rf-teal-preview.refined-home .membership-cards > article { padding-left:112px; }
body.rf-teal-preview.refined-home .membership-cards .revision-image-slot.badge,body.rf-teal-preview.refined-home .membership-cards .revision-image-slot.badge img { width:88px; height:88px; max-width:none; }
@media(max-width:1179px) {
 body.rf-teal-preview { --refined-header-height:126px; }
 body.rf-teal-preview.rf-visible-menu .home-header { grid-template-columns:1fr auto; grid-template-rows:72px 54px; gap:0; padding-inline:28px; }
 body.rf-visible-menu .home-header .visit-link { grid-column:2; }
 body.rf-teal-preview .rf-top-nav { grid-column:1/-1; grid-row:2; width:100%; justify-content:space-between; align-self:stretch; border-top:1px solid var(--rf-teal-line); }
 body.rf-teal-preview .rf-nav-group { position:static; }
 body.rf-teal-preview .rf-nav-links,body.rf-teal-preview .rf-nav-group:nth-last-child(-n+2) .rf-nav-links { left:0; right:0; top:100%; width:100%; max-width:none; padding:18px 28px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 24px; max-height:calc(100dvh - var(--refined-header-height) - 12px); overflow-y:auto; }
}
@media(max-width:600px) {
 body.rf-teal-preview { --refined-header-height:156px; }
 body.rf-teal-preview.rf-visible-menu .home-header { grid-template-rows:68px 88px; padding-inline:20px; }
 body.rf-visible-menu .home-header .header-logo img { width:126px; }
 body.rf-teal-preview .rf-top-nav { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); grid-template-rows:44px 44px; gap:0 10px; }
 body.rf-teal-preview .rf-nav-group > summary { min-height:44px; justify-content:center; font-size:12px; gap:6px; white-space:normal; text-align:center; }
 body.rf-teal-preview .rf-nav-group > summary::after { flex-shrink:0; }
 body.rf-teal-preview .rf-nav-group > summary::before { left:15%; width:70%; bottom:4px; }
 body.rf-teal-preview .rf-nav-links,body.rf-teal-preview .rf-nav-group:nth-last-child(-n+2) .rf-nav-links { padding:12px 20px; gap:0 18px; }
 body.rf-teal-preview .rf-nav-links a { font-size:13px; }
 body.rf-teal-preview .rf-membership-index .rf-grade > .rf-grade-heading { grid-template-columns:minmax(0,1fr) 84px; gap:16px; }
 body.rf-teal-preview .rf-membership-index .rf-grade-heading > .rf-grade-badge,body.rf-teal-preview .rf-membership-index .rf-grade-badge img { width:84px; height:84px; }
 body.rf-teal-preview.refined-home .membership-cards > article { padding-left:96px; }
 body.rf-teal-preview.refined-home .membership-cards .revision-image-slot.badge,body.rf-teal-preview.refined-home .membership-cards .revision-image-slot.badge img { width:76px; height:76px; }
}
@media(prefers-reduced-motion:reduce) { body.rf-teal-preview .rf-nav-group > summary::before,body.rf-teal-preview .rf-nav-group > summary::after { transition:none; } }
@media print { body.rf-visible-menu .home-header { display:none!important; } }

/* 06: equal photographs and a shared baseline, without offset or forced crop. */
body.rf-teal-preview.refined-home #chapter-06 .type-cards { grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(28px,4vw,64px); align-items:start; }
body.rf-teal-preview.refined-home #chapter-06 .type-cards > article { margin-top:0; min-width:0; }
body.rf-teal-preview.refined-home #chapter-06 .residence-photo { max-width:none; width:100%; margin:0 0 24px; }
body.rf-teal-preview.refined-home #chapter-06 .residence-photo img { width:100%; height:auto; aspect-ratio:2200/1228; object-fit:contain; }
@media(max-width:700px) { body.rf-teal-preview.refined-home #chapter-06 .type-cards { grid-template-columns:1fr; gap:42px; } }

/* Owner rejected these badge designs; keep the grade names, reclaim the reserved space. */
body.rf-teal-preview .rf-grade-badge,
body.rf-teal-preview .revision-image-slot.badge { display:none!important; }
body.rf-teal-preview .rf-membership-index .rf-grade > .rf-grade-heading { grid-template-columns:minmax(0,1fr); }
body.rf-teal-preview.refined-home .membership-cards > article { padding-left:0; }
