/* V3 editorial spread. One page grid, one photograph, no floating cards. */
.decisions.section-pad{padding-top:64px;padding-bottom:64px}
.decisions .section-top{display:flex;align-items:flex-end;gap:32px;margin-bottom:30px;padding-top:26px;border-top:1px solid var(--line)}
.decisions .section-top > div:first-child{transform:none!important}
.decisions .section-top h2{font-size:clamp(30px,2.65vw,36px);line-height:1.2;margin-top:10px}
.chinese .decisions .section-top h2{font-size:clamp(28px,2.5vw,36px);line-height:1.25}
.decisions .section-top .eyebrow{font-size:12px;color:var(--muted)}
.decisions .choice-tabs{margin:0;gap:0;align-self:flex-end}
.decisions .choice-tabs button{font-size:15px;min-height:48px;padding:12px 18px;background:transparent;border-bottom:1px solid var(--line)}
.decisions .choice-tabs button[aria-selected=true]{border-bottom:2px solid var(--ink);color:var(--ink)}
.decisions .choice-tabs button:hover{color:var(--ink);background:#183a3008}
.decisions .choice-scene{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:clamp(32px,4vw,64px);align-items:start;min-height:450px;padding:0}
.decisions .choice-image{position:relative;inset:auto;grid-column:1;grid-row:1;align-self:stretch;width:100%;height:auto;min-height:450px;overflow:hidden;clip-path:none;transform:none!important}
.decisions .choice-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:65% 50%;transform:scale(1.04);transition:object-position 800ms cubic-bezier(.2,.7,.2,1)}
.decisions .choice-panels{display:grid;grid-column:2;grid-row:1;width:100%;max-width:none;min-width:0;min-height:450px;margin:0;background:transparent;color:var(--ink);transform:none!important}
.decisions .choice-panels .choice-panel{grid-area:1/1;align-self:start;padding:6px 0 0;animation:pm-editorial-copy .32s ease both}
/* Inactive panels reserve the longest copy height without being visible,
   focusable, or exposed in the accessibility tree. Tab changes never shift the next section. */
.decisions .choice-panels .choice-panel[hidden]{display:block!important;visibility:hidden;pointer-events:none;animation:none}
.decisions .choice-panels .choice-panel .eyebrow{font-size:12px;line-height:1.65;letter-spacing:.08em;color:var(--muted)}
.decisions .choice-panels .choice-panel h3{font-size:clamp(38px,3.35vw,48px);line-height:1.09;letter-spacing:-.02em;margin:20px 0 23px;text-wrap:balance}
.chinese .decisions .choice-panels .choice-panel h3{font-size:clamp(32px,3.1vw,44px);line-height:1.32;letter-spacing:.015em}
.decisions .choice-panels .choice-panel>p:not(.eyebrow){font-size:17px;line-height:1.8;max-width:34ch;color:var(--muted)}
.decisions .choice-panels .choice-panel .text-link{font-size:15px;gap:20px;color:var(--ink);border-color:#71847a;margin-top:26px;min-height:44px}
.decisions .choice-panels .choice-panel .choice-contact{display:table;font-size:14px;line-height:1.6;color:var(--muted);margin-top:12px;padding:9px 0;min-height:44px}
.pm-scroll-active .decisions .choice-image img{transform:translate3d(0,var(--pm-imageY,0px),0) scale(var(--pm-scale,1.04))!important}
.pm-scroll-reduced .decisions .choice-image img{transform:none!important;transition:none!important}
.pm-scroll-reduced .decisions .choice-panel{animation:none!important}
@keyframes pm-editorial-copy{from{opacity:.55}to{opacity:1}}
.pm-preview-reduced{scroll-behavior:auto!important}
.pm-preview-reduced .film-window{clip-path:none!important}
.pm-preview-reduced .life-section{background:var(--paper)}
.pm-preview-reduced .life-section:after{content:'';position:absolute;left:53%;right:5%;top:14%;bottom:10%;background:url('/media/hero-lakeside-20260910.jpg') center/cover}
@media(min-width:1800px){.decisions .choice-scene,.decisions .choice-image,.decisions .choice-panels{min-height:530px}}
@media(max-width:1100px){
 .decisions .section-top{display:block}
 .decisions .choice-tabs{margin-top:18px}
 .decisions .choice-scene{grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);gap:32px}
 .decisions .choice-panels .choice-panel h3{font-size:38px}
 .chinese .decisions .choice-panels .choice-panel h3{font-size:34px}
}
@media(max-width:760px){
 .decisions.section-pad{padding-top:36px;padding-bottom:42px}
 .decisions .section-top{padding-top:22px;margin-bottom:22px}
 .decisions .section-top h2{font-size:31px;max-width:none}
 .decisions .choice-tabs{width:100%;margin-top:20px}
 .decisions .choice-tabs button{padding:10px 8px;font-size:13px;justify-content:space-between;gap:5px}
 .decisions .choice-scene{grid-template-columns:minmax(0,1fr);gap:24px;min-height:0}
 .decisions .choice-image{grid-column:1;grid-row:1;min-height:0;height:auto;aspect-ratio:1.5;max-height:360px}
 .decisions .choice-panels{grid-column:1;grid-row:2;min-height:360px}
 .decisions .choice-panels .choice-panel{padding:0}
 .decisions .choice-panels .choice-panel h3{font-size:38px;margin:14px 0 18px}
 .chinese .decisions .choice-panels .choice-panel h3{font-size:32px}
 .decisions .choice-panels .choice-panel>p:not(.eyebrow){font-size:16px;line-height:1.8;max-width:44ch}
 .decisions .choice-panels .choice-panel .text-link{margin-top:18px;font-size:14px}
 .decisions .choice-panels .choice-panel .choice-contact{margin-top:6px;font-size:14px}
 .pm-preview-reduced .life-section:after{position:static;height:270px;margin-top:35px}
}
@media(prefers-reduced-motion:reduce){.decisions .choice-image img{transform:none!important;transition:none!important}.decisions .choice-panel{animation:none!important}}

/* V5: reading-paced opening, referenced to Island Commercial's fixed left edge.
   Small pixel-capped reveals replace the V4 shutter and portrait zoom. */
.pm-scroll-active .decisions,.pm-scroll-active .home-listings,.pm-scroll-active .albert-section,.pm-scroll-active .reading-section,.pm-scroll-active .conversation-section{position:relative;isolation:isolate}
.pm-scroll-active .decisions::before,.pm-scroll-active .home-listings::before,.pm-scroll-active .albert-section::before,.pm-scroll-active .reading-section::before,.pm-scroll-active .conversation-section::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:var(--pm-wash,0)}
.pm-scroll-active .decisions::before{background:linear-gradient(110deg,#e4e8dd,#dce5d7)}
.pm-scroll-active .home-listings::before{background:linear-gradient(180deg,#dce5d7,#f4f1e9)}
.pm-scroll-active .albert-section::before{background:linear-gradient(115deg,#e4e7dc,#ece9dc)}
.pm-scroll-active .reading-section::before{background:#d5dfce}
.pm-scroll-active .conversation-section{overflow:hidden}
.pm-scroll-active .conversation-section::before{inset:0 -14%;background:radial-gradient(ellipse at 75% 20%,#70866a,transparent 65%);transform:translate3d(var(--pm-light-x,0%),0,0)}
.pm-scroll-active .conversation-section .field input::placeholder,.pm-scroll-active .conversation-section .field textarea::placeholder{color:#c7d1c0}
.pm-scroll-active .decisions .choice-image{clip-path:inset(0 var(--pm-window,0px) 0 0);transition:clip-path .28s linear}
.pm-scroll-active .decisions .choice-image img{transform:scale(var(--pm-scale,1))!important;transform-origin:50% 50%;transition:transform .38s cubic-bezier(.2,.7,.3,1)}
/* Selecting a goal changes the copy, not the architecture or camera position. */
.decisions .choice-scene[data-active] .choice-image img{object-position:65% 50%}
.pm-scroll-active .albert-section .portrait-frame{clip-path:inset(0 var(--pm-portrait-window,0px) 0 0);transition:clip-path .28s linear}
.albert-section .portrait-frame img{transform:none!important;transition:none!important}
.pm-scroll-active .decisions .section-top,.pm-scroll-active .home-listings .home-listings-heading,.pm-scroll-active .albert-section .portrait-caption,.pm-scroll-active .reading-section .reading-heading{position:relative}
.pm-scroll-active .decisions .section-top::before,.pm-scroll-active .home-listings .home-listings-heading::before,.pm-scroll-active .albert-section .portrait-caption::before,.pm-scroll-active .reading-section .reading-heading::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:#61765e;transform:scaleX(var(--pm-line,1));transform-origin:left;pointer-events:none}
.pm-scroll-active .home-listings .home-listings-heading::before,.pm-scroll-active .albert-section .portrait-caption::before,.pm-scroll-active .reading-section .reading-heading::before{top:-15px}
/* Type and listing photos stay fully readable; the picture opening carries the motion. */
/* Restore a complete, stable V3 composition immediately for reduced motion. */
.pm-scroll-reduced .decisions .choice-image,.pm-scroll-reduced .albert-section .portrait-frame{clip-path:none!important;transition:none!important}
.pm-scroll-reduced .albert-section .portrait-frame img{transform:none!important;transition:none!important}
@media(prefers-reduced-motion:reduce){
 .decisions::before,.home-listings::before,.albert-section::before,.reading-section::before,.conversation-section::before{display:none!important}
 .decisions .choice-image,.albert-section .portrait-frame{clip-path:none!important;transition:none!important}
}

/* Keep the complete navigation reachable on short phone/tablet viewports.
   Anchor to the header, not the small menu icon's containing block. */
@media(max-width:1100px){
 .site-header .mobile-nav{position:static!important}
 .site-header .mobile-nav nav{position:absolute;top:100%!important;right:0!important;width:min(360px,100%)!important;box-sizing:border-box;max-height:calc(100svh - 174px);max-height:calc(100dvh - 174px);overflow-y:auto;overscroll-behavior:contain;padding:16px 24px 20px}
 .site-header .mobile-nav nav a{min-height:44px;min-width:0}
}
@media(max-width:760px){.site-header .mobile-nav nav{width:100%!important}}
/* On the smallest phones, decorative arrows should not force tab labels
   onto two lines. The selected underline remains the state indicator. */
@media(max-width:380px){
 .decisions .choice-tabs button{white-space:nowrap;justify-content:center;gap:0}
 .decisions .choice-tabs button span{display:none}
}
