/* Shared motion and two editorial components. Motion never gates content. */
:root{--motion-feedback:140ms;--motion-state:220ms;--motion-panel:360ms;--motion-ease:cubic-bezier(.16,1,.3,1)}
.depth-photo{transition:transform .45s cubic-bezier(.2,.7,.2,1),box-shadow .45s ease;transform-origin:50% 50%}
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 .depth-photo.depth-active{will-change:transform;box-shadow:0 22px 48px #14251c24}
 .button>span,.text-link>span,.catalog-arrow{transition:transform .24s ease}
 .button:hover>span,.text-link:hover>span{transform:translate(2px,-2px)}
 .room-option,.journey-model,.purchase-option-list label{transition:background .2s ease,border-color .2s ease}
}
.room-experience{background:#eae4d7;padding-block:64px;overflow:clip}.room-experience>.container{max-width:1120px}
.room-heading{align-items:end;margin-bottom:24px}.room-heading h2{font-size:clamp(36px,3.8vw,50px)}.room-heading .eyebrow{margin-bottom:14px}.room-heading>p{max-width:380px;color:var(--muted);line-height:1.75;margin:0 0 3px}
.room-tabs{display:flex;align-items:center;border-bottom:1px solid #1f352b38;margin-bottom:16px;gap:8px}
.room-tabs button{position:relative;display:flex;align-items:center;gap:12px;min-height:50px;padding:11px 18px;border:0;background:transparent;color:var(--forest);font:inherit;font-size:14px;cursor:pointer}
.room-tabs button>span{font-size:10px;opacity:.75}.room-tabs [aria-selected=true]{background:var(--forest);color:var(--canvas)}
.room-tab-note{margin-left:auto;font-size:9px;letter-spacing:.14em;color:var(--muted);padding:0 12px}
.room-photo{position:relative;background:#243d2e;isolation:isolate;overflow:hidden}
.room-photo-surface{width:100%;aspect-ratio:2.5/1;max-height:420px}.room-photo-surface>img{width:100%;height:100%;object-fit:cover}
.room-pin{position:absolute;left:var(--pin-x);top:var(--pin-y);transform:translate(-50%,-50%);display:flex;align-items:center;gap:8px;min-height:44px;padding:4px 13px 4px 4px;background:var(--canvas);color:var(--forest);border:1px solid #fff8;border-radius:28px;box-shadow:0 3px 18px #0003;cursor:pointer;font:12px var(--sans)}
.room-pin>span{display:grid;place-items:center;width:34px;height:34px;border:1px solid #1f352b35;border-radius:50%;font-size:10px}.room-pin[aria-expanded=true]{background:var(--forest);color:var(--canvas)}.room-pin b{font-weight:600}
.room-zoom{position:absolute;right:18px;bottom:18px;display:flex;align-items:center;gap:20px;min-height:44px;background:var(--canvas);color:var(--forest);border:0;padding:10px 15px;font:12px var(--sans);cursor:pointer}
.room-caption{display:grid;grid-template-columns:1fr 2fr;gap:24px;border-bottom:1px solid #1f352b30;padding:18px 0;min-height:100px;align-items:start}
.room-caption>span{font-size:10px;letter-spacing:.12em;margin-top:9px}.room-caption h3{font:29px/1.15 var(--serif);margin:0 0 6px}.room-caption p{font-size:14px;line-height:1.75;color:var(--muted);max-width:690px;margin:0}
.room-source-note{font-size:11px;line-height:1.8;color:var(--muted);max-width:820px;margin:12px 0 22px}
.room-wishes>.eyebrow{font-size:12px;margin-bottom:12px}.room-equipment{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;align-items:start}
.room-equipment>details{border-top:1px solid #1f352b50;border-bottom:1px solid #1f352b25}
.room-equipment summary{display:flex;align-items:center;gap:15px;cursor:pointer;list-style:none;min-height:78px;padding:12px 0}.room-equipment summary::-webkit-details-marker{display:none}
.room-equipment summary>span{font-size:10px;color:var(--muted)}.room-equipment summary>div{flex:1}.room-equipment summary h3{font:25px/1.15 var(--serif);margin:0 0 5px}.room-equipment summary p{font:11px/1.6 var(--sans);color:var(--muted);margin:0}.room-equipment summary>b{font-size:24px;font-weight:400}.room-equipment details[open] summary>b{transform:rotate(45deg)}
.room-options{padding-bottom:15px}.room-option{position:relative;display:grid;grid-template-columns:70px 1fr 22px;align-items:center;gap:12px;padding:12px 8px;border-top:1px solid #1f352b25;cursor:pointer;min-height:110px}.room-option:has(:checked){background:#d6dfd0}.room-option:has(:disabled){cursor:default}
.room-option>img{width:70px;height:82px;object-fit:cover}.room-option strong{font-size:12px;font-weight:600;display:block}.room-option small{font:10px/1.65 var(--sans);display:block;color:var(--muted);margin-top:4px}.room-option input{width:20px;height:20px;accent-color:var(--forest)}
.room-selection{margin-top:14px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 0;border-bottom:1px solid #1f352b25}.room-selection [data-room-count]{font-size:14px;margin:0;color:var(--forest);font-weight:600}.room-fine{font-size:11px;line-height:1.65;color:var(--muted);margin:7px 0 0}.room-selection .button{flex-shrink:0}
.room-selected{display:flex;flex-wrap:wrap;gap:8px;max-width:720px}.room-selected:not(:empty){margin-top:12px}.room-selected button{font:11px var(--sans);border:1px solid #1f352b40;background:var(--canvas);color:var(--forest);min-height:36px;padding:8px 12px;border-radius:20px;cursor:pointer}
.room-next{display:flex;justify-content:space-between;gap:24px;padding-top:14px}.room-next .text-link{font-size:14px}
.room-scene:not(:last-child){margin-bottom:25px}.room-experience[data-ready] .room-scene{margin:0}
.craft-story{background:var(--forest);color:var(--canvas);overflow:clip}
.craft-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:100px;align-items:center}.craft-media{position:relative;padding:0 38px 70px 0}.craft-main{margin:0}.craft-main>img{width:100%;aspect-ratio:4/5;object-fit:cover}.craft-main figcaption{font:9px/1.7 var(--sans);letter-spacing:.08em;padding:15px 10px 0 0;max-width:70%;color:#d0d2be}
.craft-detail{position:absolute;right:-14px;bottom:0;width:39%;padding:12px;background:var(--canvas);transform:rotate(5deg);box-shadow:0 12px 40px #0003;margin:0}.craft-detail>img{aspect-ratio:1;object-fit:cover;width:100%}.craft-detail figcaption{font:8px/1.5 var(--sans);color:var(--forest);text-align:center;padding-top:12px;letter-spacing:.07em}
.craft-copy>.eyebrow{color:#d3d5bc}.craft-copy h2{color:var(--canvas);font-size:clamp(44px,4.5vw,65px)}.craft-copy h2 em{color:#e9d4aa}.craft-copy>p:not(.eyebrow):not(.craft-scope){max-width:440px;font-size:15px;line-height:1.9;color:#d7dccf;margin:24px 0}.craft-copy ol{list-style:none;padding:0;margin:34px 0}.craft-copy li{display:flex;gap:24px;padding:18px 0;border-top:1px solid #f5f0e62e}.craft-copy li>span{font-size:10px;color:#d3d5bc;margin-top:7px}.craft-copy h3{font:27px/1.2 var(--serif);color:var(--canvas);margin:0 0 8px}.craft-copy li p{font-size:12px;color:#d7dccf;line-height:1.75;margin:0}.craft-copy>.text-link{color:var(--canvas);font-size:14px}.craft-scope{font-size:11px;line-height:1.8;color:#c1cbbb;max-width:410px;margin-top:24px}
.home-price-path{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.home-price-path .lead{font-size:16px;max-width:450px}.home-price-path .price-path-links{border-top:1px solid var(--line)}.price-path-links>a{display:grid;grid-template-columns:30px 1fr 24px;align-items:center;gap:20px;padding:28px 0;border-bottom:1px solid var(--line)}.price-path-links>a>span:first-child{font-size:10px;color:var(--muted)}.price-path-links strong{font:30px/1.2 var(--serif);display:block}.price-path-links small{font-size:12px;color:var(--muted);display:block;margin-top:8px;line-height:1.75}
@media(max-width:1000px){.craft-grid{gap:48px}.craft-media{padding-right:15px}.craft-detail{right:0}.room-equipment{gap:15px}.room-equipment summary{gap:10px}.room-equipment summary h3{font-size:24px}.room-option{grid-template-columns:55px 1fr 20px;gap:8px;padding-inline:0}.room-option>img{width:55px;height:75px}.room-tab-note{display:none}.home-price-path{gap:48px}}
@media(max-width:700px){
 .room-experience{padding-block:40px}.room-heading{margin-bottom:18px}.room-heading h2{font-size:36px}.room-heading .eyebrow{font-size:12px;margin-bottom:10px}
 .room-heading>p{margin:12px 0 0;font-size:14px;max-width:390px}.room-tabs{gap:0;margin-bottom:16px;justify-content:space-between}.room-tabs button{padding:10px 10px;gap:6px;min-height:46px;font-size:12px}.room-tabs button>span{font-size:9px}
 .room-photo{margin-inline:0}.room-photo-surface{aspect-ratio:2/1}.room-pin{width:44px;height:44px;padding:4px;justify-content:center}.room-pin b{display:none}.room-pin>span{flex-shrink:0}.room-zoom{right:8px;bottom:8px;min-height:36px;font-size:10px;gap:12px;padding:7px 10px}
 .room-caption{grid-template-columns:1fr;gap:6px;padding:15px 0;min-height:116px}.room-caption>span{display:none}.room-caption h3{font-size:26px}.room-caption p{font-size:13px;line-height:1.7}.room-source-note{font-size:10px;margin:10px 0 18px}
 .room-equipment{grid-template-columns:1fr;gap:0}.room-equipment>details:not(:first-child){border-top:0}.room-equipment summary{min-height:66px;padding:11px 0;gap:14px}.room-equipment summary h3{font-size:24px}.room-equipment summary p{font-size:11px}.room-option{grid-template-columns:76px 1fr 24px;gap:15px;padding:12px 8px}.room-option>img{width:76px;height:85px}.room-option strong{font-size:13px}.room-option small{font-size:11px}
 .room-selection{display:block;padding:16px 0;margin-top:0}.room-selection .button{display:flex;justify-content:space-between;margin-top:14px;width:100%;font-size:12px;min-height:50px}.room-selection [data-room-count]{font-size:13px}.room-selected button{font-size:11px;min-height:38px}.room-next{gap:16px}.room-next .text-link{font-size:14px;gap:12px}
 .craft-grid{grid-template-columns:1fr;gap:35px}.craft-media{padding:0 32px 55px 0;max-width:460px}.craft-main>img{aspect-ratio:5/4;object-position:50% 42%}.craft-detail{width:35%;padding:9px;right:4px}.craft-detail figcaption{font-size:7px;padding-top:8px}.craft-main figcaption{font-size:8px;max-width:65%;padding-top:12px}.craft-copy h2{font-size:45px}.craft-copy>p:not(.eyebrow):not(.craft-scope){font-size:14px;margin-block:22px}.craft-copy ol{margin:27px 0}.craft-copy h3{font-size:27px}.craft-copy li{gap:20px}.craft-copy li p{font-size:12px}
 .home-price-path{grid-template-columns:1fr;gap:30px}.home-price-path .lead{font-size:15px}.price-path-links>a{padding:23px 0;gap:14px;grid-template-columns:22px 1fr 20px}.price-path-links strong{font-size:27px}.price-path-links small{font-size:12px}
}
@media(prefers-reduced-motion:reduce){.depth-photo{transition:none!important}.depth-photo.depth-active{transform:none!important}.button>span,.text-link>span{transition:none!important}}

/* Let the opening photograph in each series describe the whole room. */
.inspiration-series-gallery .inspiration-detail-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:44px 28px}
.inspiration-series-gallery .inspiration-photo:nth-child(even){padding-top:0}
.inspiration-series-gallery .inspiration-photo:first-child{grid-column:1/-1;display:grid;grid-template-columns:1.7fr 1fr;gap:56px;align-items:center;padding-bottom:24px;border-bottom:1px solid var(--line)}
.inspiration-series-gallery .inspiration-photo:first-child .inspiration-photo-open>img{aspect-ratio:1.8}
.inspiration-series-gallery .inspiration-photo:first-child figcaption{padding-top:0}
.inspiration-series-gallery .inspiration-photo:first-child h3{font-size:44px}
.inspiration-series-gallery .inspiration-photo:not(:first-child) h3{font-size:30px}
.inspiration-series-gallery .inspiration-photo:not(:first-child) .inspiration-photo-open>img{aspect-ratio:1}
@media(max-width:700px){
 .inspiration-series-gallery .inspiration-detail-grid{grid-template-columns:1fr;gap:35px}
 .inspiration-series-gallery .inspiration-photo:first-child{display:block;padding-bottom:28px}
 .inspiration-series-gallery .inspiration-photo:first-child figcaption{padding-top:20px}
 .inspiration-series-gallery .inspiration-photo:first-child h3{font-size:33px}
 .inspiration-series-gallery .inspiration-photo:not(:first-child){display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}
 .inspiration-series-gallery .inspiration-photo:not(:first-child) figcaption{padding-top:0}
 .inspiration-series-gallery .inspiration-photo:not(:first-child) h3{font-size:27px}
 .inspiration-series-gallery .inspiration-photo:not(:first-child) .inspiration-photo-open>img{aspect-ratio:3/4}
}
@media(max-width:360px){.inspiration-series-gallery .inspiration-photo:not(:first-child){grid-template-columns:1fr}.inspiration-series-gallery .inspiration-photo:not(:first-child) .inspiration-photo-open>img{aspect-ratio:1.2}}

/* The room is an album of real setups: the active tab travels with the view. */
.room-tabs{position:relative;isolation:isolate}
.room-tabs [aria-selected=true]{background:transparent;color:var(--forest);font-weight:650}
.room-tabs button{border-radius:3px 3px 0 0;transition:color var(--motion-feedback),background-color var(--motion-feedback)}
.room-tabs button:hover{background:#1f352b0b}
.room-tabs button:focus-visible{outline-offset:-3px}
.room-tab-marker{position:absolute;pointer-events:none;left:0;bottom:-1px;width:100%;height:3px;background:var(--forest);transform-origin:left center}
.room-experience[data-ready] .room-tab-marker{transition:transform var(--motion-panel) var(--motion-ease)}
.room-photo-surface{position:relative}
.room-photo-surface>.room-photo-previous{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.room-pin{transition:background-color var(--motion-feedback),color var(--motion-feedback)}
.room-pin:focus-visible,.room-zoom:focus-visible{outline-color:var(--canvas);box-shadow:0 0 0 7px var(--forest)}
.room-equipment summary>b{transition:transform var(--motion-state) var(--motion-ease)}

/* Small shared details keep controls tactile without moving reading surfaces. */
::selection{background:#dec39a;color:#162c21}
input,textarea{caret-color:var(--copper)}
dialog,.compare-scroll,.model-compare-scroll,.equipment-filters{scrollbar-color:#748074 var(--canvas)}
.price-option-amounts,.purchase-facts,.finder-guest-count,.room-selection [data-room-count]{font-variant-numeric:lining-nums tabular-nums}
.filter-chip,.purchase-filters button,.price-family-nav button,.journey-equipment-nav button,.mast-widths button,.mast-sizes button{transition:background-color var(--motion-feedback),color var(--motion-feedback),border-color var(--motion-feedback)}
.button:active:not(:disabled){filter:brightness(.94)}
.room-experience .room-zoom{min-height:44px;font-size:12px}
.room-source-note,.room-fine,.room-option small{font-size:12px}
.room-option strong,.room-equipment summary p,.room-selected button{font-size:13px}
.room-selected button{min-height:44px}
.room-tabs button>span{font-variant-numeric:tabular-nums;font-size:11px}
.room-experience{scroll-margin-top:0}

@media(prefers-reduced-motion:no-preference){
 .mobile-menu[open]{animation:tipi-menu-enter var(--motion-panel) var(--motion-ease)}
 :is(.image-dialog,.inspiration-viewer,.plan-dialog,.compare-dialog)[open]{animation:tipi-panel-enter var(--motion-state) var(--motion-ease)}
 dialog[open]::backdrop{animation:tipi-backdrop-enter var(--motion-state) ease-out}
 :is(.accordions,.room-equipment,.price-family-details,.buy-specifications) details[open]>:not(summary),.price-family-details[open]>p,.buy-specifications[open]>div{animation:tipi-content-enter var(--motion-state) ease-out}
 .submenu:not([hidden]){animation:tipi-submenu-enter 180ms var(--motion-ease)}
 .mobile-sticky.visible{animation:tipi-content-enter var(--motion-state) ease-out}
}
@keyframes tipi-menu-enter{from{transform:translateX(28px);opacity:.6}to{transform:translateX(0);opacity:1}}
@keyframes tipi-panel-enter{from{transform:translateY(8px);opacity:.65}to{transform:translateY(0);opacity:1}}
@keyframes tipi-backdrop-enter{from{opacity:0}to{opacity:1}}
@keyframes tipi-content-enter{from{opacity:.55}to{opacity:1}}
@media(prefers-reduced-motion:reduce){
 .room-experience[data-ready] .room-tab-marker,.room-equipment summary>b{transition:none}
 .room-tabs button,.room-pin,.filter-chip,.purchase-filters button,.price-family-nav button,.journey-equipment-nav button,.mast-widths button,.mast-sizes button{transition-duration:80ms}
}

@keyframes tipi-submenu-enter{from{transform:translateY(-8px);opacity:.6}to{transform:translateY(0);opacity:1}}
