/* Scene compositions remain visible without the animation runtime. */
html,body{overflow-x:clip}
.hero-poster-picture{position:absolute;inset:0}
.product-mockup-note{position:absolute;left:14px;bottom:14px;max-width:calc(100% - 75px);padding:5px 8px;font-size:12px;line-height:1.4;background:#ffffff;color:#000000;border-radius:3px}
/* Single native-resolution lobby image: reversible, bounded zoom. */
.home .hero-poster{transform-origin:50% 50%;object-position:50% 50%;will-change:transform}
.home .hero-shade{background:linear-gradient(90deg,#000000c4 0%,#00000084 36%,#0000002b 63%,#00000008 100%),linear-gradient(0deg,#00000088,transparent 42%)}
.brand img{width:160px;height:72px;object-fit:cover;object-position:50% 50%}
.brand-print{display:block;width:clamp(64px,9cqw,132px);padding:5px 7px;border-radius:3px;background:#000000;letter-spacing:normal;line-height:1}
.brand-print img{display:block;width:100%;height:auto}
.scene-keycard .brand-print{background:transparent;width:100%;height:50%;flex-shrink:0;padding:0}
.scene-keycard .brand-print img{height:100%;object-fit:contain}
.branded-scene .scene-keycard{background:#000000;color:#ffffff;border-left:3px solid #fd217e}
.scene-towel .brand-print{width:clamp(54px,7cqw,95px);padding:3px 5px}
.site-loader{display:none;position:fixed;inset:0;z-index:10000;overflow:hidden;pointer-events:none}
.loader-pending .site-loader{display:grid;place-items:center;pointer-events:auto}
.loader-panel{position:absolute;top:0;bottom:0;width:50.1%;background:#000000;transition:transform .6s cubic-bezier(.76,0,.24,1)}
.loader-panel-left{left:0}.loader-panel-right{right:0}
.loader-identity{position:relative;z-index:1;width:min(340px,65vw);text-align:center;transition:opacity .25s,transform .6s}
.loader-identity img{display:block;width:100%;height:auto;animation:logo-arrival .75s cubic-bezier(.2,.8,.2,1) both}
.loader-line{display:block;width:72%;height:2px;margin:22px auto 0;background:linear-gradient(90deg,#fd217e,#fd217e,#fd217e);transform-origin:left;animation:line-arrival .8s cubic-bezier(.2,.8,.2,1) both;box-shadow:0 0 18px #00000055}
.loader-exiting .loader-panel-left{transform:translateX(-100%)}
.loader-exiting .loader-panel-right{transform:translateX(100%)}
.loader-exiting .loader-identity{opacity:0;transform:scale(.94)}
@keyframes logo-arrival{from{opacity:0;filter:blur(10px);transform:translateY(15px) scale(.96)}to{opacity:1;filter:blur(0);transform:none}}
@keyframes line-arrival{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media(max-width:1023px){.home .hero-counter,.home .hero-progress{display:none}.brand img{width:132px;height:60px}}
@media(prefers-reduced-motion:reduce){.site-loader{display:none!important}.home .hero-poster{will-change:auto}}

.home .hero-description{color:#ffffff}
.introduction{padding:0;background:#000000}
.collections{padding:0}
.intro-scene{position:relative;min-height:860px;height:100svh;overflow:hidden;background:#000000;color:var(--paper)}
.intro-backdrop,.intro-scene-shade{position:absolute;inset:0}
.intro-backdrop img{width:100%;height:100%;object-fit:cover}
.intro-scene-shade{background:linear-gradient(90deg,#000000eb 0%,#000000a3 48%,#00000028),linear-gradient(0deg,#000000cc,transparent 45%)}
.intro-copy{position:absolute;left:var(--gutter);top:145px;z-index:3;width:49%}
.intro-copy h2{font-size:clamp(72px,7.1vw,118px);margin-top:35px;line-height:.96}
.intro-copy h2 em{color:#fd217e}
.intro-tiles{position:absolute;inset:0;z-index:2;pointer-events:none}
.intro-tile{position:absolute;margin:0;overflow:hidden;border:7px solid #ffffff;box-shadow:0 30px 70px #00000055;background:var(--paper);color:var(--ink)}
.intro-tile img{width:100%;height:calc(100% - 28px);object-fit:cover;background:#ffffff}
.intro-tile figcaption{height:28px;padding:7px 8px;font-size:12px;line-height:1.4;letter-spacing:.12em;font-weight:600}
.tile-linen{width:25%;height:33%;left:51%;top:20%;transform:rotate(-9deg)}
.tile-amenities{width:20%;height:34%;left:74%;top:40%;transform:rotate(10deg)}
.tile-equipment{width:21%;height:25%;left:52%;top:60%;transform:rotate(-6deg)}
.intro-summary{position:absolute;left:var(--gutter);bottom:65px;z-index:4;max-width:470px;font-size:16px;color:#ffffff}
.intro-summary .text-link{margin-top:20px}
.intro-signature{position:absolute;right:var(--gutter);bottom:32px;z-index:4;font-size:12px;letter-spacing:.17em;line-height:1.7;text-align:right}
.collection-scroll-status{display:flex;gap:25px;align-items:center;margin-top:25px;font-size:12px;letter-spacing:.1em}
.collection-scroll-line{height:3px;background:#ffffff;flex:1;overflow:hidden}
.collection-scroll-line>span{display:block;height:100%;background:var(--pink);transform-origin:left;transform:scaleX(.05)}
.collections-stage{overflow:hidden}
.collection-panel{will-change:flex-grow}
.collection-image{will-change:transform}
.room-photo-stage{transform-origin:center;will-change:transform}
.room-product-board{transform-origin:center}
.bed-art{perspective:1000px}
.bed-layer{transform-origin:45% 60%}
.process-step{transform-origin:center top}
.process-step.is-active .step-number{background:var(--pink);color:var(--ink);border-color:var(--pink)}
.project-panel{transform-origin:center top;position:relative;background:var(--paper)}
.project-panel+.project-panel{box-shadow:0 -20px 50px #00000015}
.closing{overflow:hidden;position:relative}
.closing-orbit{border-width:2px}
.page-hero-image,.detail-picture,.service-detail-visual,.material-image{overflow:hidden}
.product-picture{overflow:hidden}
.product-picture img{will-change:transform}
.service-screen{transform-origin:center;will-change:transform}
.site-footer{position:relative;overflow:hidden}
@media(min-width:1024px){
 .motion-ready .introduction{height:185svh}
 .motion-ready .intro-scene{position:sticky;top:0;min-height:0}
 .motion-ready .collections{height:310svh}
 .motion-ready .collections-stage{position:sticky;top:0;height:100svh;padding-top:125px;padding-bottom:25px}
 .motion-ready .collections .heading-row{align-items:center}
 .motion-ready .collections .section-heading h2{font-size:clamp(48px,4.5vw,72px);margin-top:15px}
 .motion-ready .collections .collection-panels{height:calc(100svh - 400px);min-height:290px;margin-top:28px}
 .motion-ready .collections .photo-note{margin-top:12px}
 .motion-ready .collections .panel-trigger{font-size:45px}
 .motion-ready .collections .collection-panel:not(.is-expanded) .panel-trigger{font-size:29px}
 .motion-ready .bed-section{min-height:950px}
 .motion-ready .bed-art{height:670px;margin-top:160px}
 .motion-ready .bed-layer{top:185px}
 .motion-ready .bed-base{top:210px}
 .motion-ready .bed-pillows{top:165px}
 .motion-ready .bed-runner{top:190px}
 .motion-ready .project-deck{display:block;isolation:isolate}
 .motion-ready .project-panel{position:sticky;top:125px;min-height:calc(100svh - 165px);margin-bottom:65px}
 .motion-ready .project-image{overflow:hidden}
 .motion-ready .project-image>img{height:100%;min-height:calc(100svh - 165px)}
}
@media(min-width:1024px) and (max-height:760px){
 .intro-copy{top:125px}.intro-copy h2{font-size:82px;margin-top:22px}
 .intro-summary{bottom:35px;font-size:16px;max-width:420px}.intro-summary .text-link{margin-top:8px}
 .motion-ready .collections-stage{padding-top:110px}
 .motion-ready .collections .section-heading h2{font-size:48px}
 .motion-ready .collections .collection-panels{height:calc(100svh - 330px);min-height:250px;margin-top:20px}
 .collection-scroll-status{margin-top:14px}.photo-note{font-size:12px}
}
@media(max-width:1023px){
 .intro-copy{width:62%;top:135px}.intro-copy h2{font-size:80px}
 .tile-linen{left:60%;width:30%;top:38%;height:26%}
 .tile-amenities{left:49%;top:63%;width:26%;height:22%}
 .tile-equipment{left:76%;top:69%;width:20%;height:18%}
 .intro-summary{max-width:380px;bottom:50px}
 .collection-scroll-status{display:none}
 .project-panel+.project-panel{box-shadow:none}
 .motion-ready .collections .collection-panels{flex-direction:column;height:auto;gap:18px}
 .motion-ready .collections .collection-panel{flex:auto;min-height:390px}
 .motion-ready .collections .collection-panel .panel-trigger{writing-mode:initial;transform:none;left:24px;right:24px;bottom:115px;font-size:40px}
}
@media(max-width:600px){
 .intro-scene{height:auto;min-height:930px}
 .intro-copy{top:90px;left:24px;right:24px;width:auto}
 .intro-copy h2{font-size:67px;margin-top:25px}
 .intro-copy .eyebrow{font-size:12px}
 .intro-scene-shade{background:linear-gradient(0deg,#000000f2,#00000080 55%,#000000dc)}
 .intro-tile{border-width:4px}
 .tile-linen{left:8%;top:39%;width:47%;height:23%}
 .tile-amenities{left:54%;top:44%;width:40%;height:24%}
 .tile-equipment{left:18%;top:61%;width:38%;height:18%}
 .intro-tile figcaption{font-size:12px;padding:7px 4px}
 .intro-summary{left:24px;right:24px;bottom:55px;font-size:16px;max-width:none}
 .intro-summary .text-link{margin-top:8px;font-size:14px}
 .intro-signature{display:none}
 .motion-ready .collections .collection-panel{min-height:330px}
 .motion-ready .collections .collection-panel .panel-trigger{writing-mode:initial;transform:none;left:24px;right:24px;bottom:115px;font-size:40px}
 .motion-ready .collections .panel-detail p{font-size:14px}
 .motion-ready .bed-art{height:550px;margin-top:90px}
 .motion-ready .bed-layer{top:145px}
 .motion-ready .bed-base{top:170px}
 .motion-ready .bed-pillows{top:125px}
 .layer-label{font-size:12px}
}
@media(prefers-reduced-motion:reduce){
 .introduction,.collections{height:auto!important}
 .intro-scene,.collections-stage{position:relative!important}
 .intro-backdrop{clip-path:none!important}
 .project-panel{position:relative!important;top:auto!important}
}

/* Readable captions and enough room for the larger supporting text. */
.eyebrow,.micro{letter-spacing:.12em}
.hero-eyebrow{color:#ffffff}
.hero-signature,.hero-counter>span{color:#ffffff}
.footer-columns .eyebrow{color:#ffffff}
.intro-tile img{height:calc(100% - 44px)}
.intro-tile figcaption{height:27px;padding:6px;letter-spacing:.04em}
.room-product-board span{line-height:1.4}
.filter-chip span{margin-left:6px}
.form-bottom p{font-size:14px}
.range-columns ul{font-size:16px}
@media(min-width:1024px){
 .motion-ready .collections .collection-panels{height:calc(100svh - 435px)}
}
@media(min-width:1024px) and (max-height:760px){
 .motion-ready .collections .collection-panels{height:calc(100svh - 355px)}
}
@media(max-width:1023px){
 .has-js .menu-toggle{display:flex;align-items:center;gap:18px;font-size:16px}
 .has-js .site-header nav{display:none;position:absolute;top:calc(100% + 10px);left:0;right:0;background:#000000;padding:25px;border-radius:25px;flex-direction:column;align-items:stretch;gap:22px;box-shadow:0 8px 30px #00000033}
 .has-js .site-header.menu-open nav{display:flex}
 .has-js .site-header nav>a{font-size:16px}
 .site-header nav .nav-quote{justify-content:space-between}
 html:not(.has-js) .site-header{position:relative;left:auto;right:auto;margin:16px;flex-wrap:wrap;gap:16px}
 html:not(.has-js) .site-header nav{flex-wrap:wrap;gap:16px}
}
@media(max-width:600px){
 .intro-scene{min-height:1040px}
 .intro-copy h2{font-size:clamp(56px,17.2vw,67px)}
 .intro-tile figcaption{font-size:12px}
 .motion-ready .collections .collection-panel .panel-trigger{bottom:140px}
}
@media(max-width:540px){
 .hero-stage{min-height:800px}
 .hero-actions{flex-wrap:wrap;gap:12px}
 .hero-actions .button{padding:16px;gap:10px}
 .hero-actions .text-link{gap:10px}
 .hero-beat h1{font-size:clamp(72px,23vw,90px)}
 .room-tabs button{font-size:21px}
 .room-tabs button span{overflow-wrap:anywhere}
 .footer-columns{grid-template-columns:1fr 1fr}
 .footer-columns a,.footer-columns span{overflow-wrap:anywhere}
 .form-bottom p{font-size:14px}
 .page-hero{grid-template-columns:minmax(0,1fr)}
 .page-hero-copy{min-width:0}
 .page-hero h1{font-size:clamp(52px,17vw,68px)}
 .product-caption h3{overflow-wrap:anywhere}
}
@media(max-width:360px){
 .intro-scene{min-height:1200px}
 .intro-summary{bottom:30px}
}

/* Strict logo palette: one pink, black and white. */
.site-header .nav-quote,.site-header nav>a.nav-quote:hover{color:#000000}
.process-step.is-active .step-number{color:#000000}
.checklist-card-copy .checklist-range,.field-error,.form-status.error{color:#000000}
.checklist-card,.checklist-card-copy .checklist-range{border-color:#000000}
.is-reviewed .checklist-check{color:#000000}
@media(print){.site-footer *{color:#000000!important}}
.essentials-checklist{background:#ffffff}
.checklist-stage{display:grid;grid-template-columns:.9fr 1.25fr;gap:6vw;align-items:start}
.checklist-copy .section-heading h2{font-size:clamp(48px,5.2vw,84px)}
.checklist-copy .section-description{max-width:380px}
.checklist-copy>.text-link{margin-top:25px}
.checklist-steps,.checklist-counter{display:none}
.checklist-deck{display:grid;gap:26px;min-width:0}
.checklist-card{overflow:hidden;background:#ffffff;border:1px solid #000000;border-radius:6px;box-shadow:0 18px 60px #00000012}
.checklist-photo{position:relative;overflow:hidden;height:280px}
.checklist-photo img{height:100%;width:100%;object-fit:cover}
.checklist-card-number{position:absolute;top:18px;left:20px;font-family:var(--serif);font-size:48px;line-height:1;color:#ffffff;text-shadow:0 2px 12px #00000099}
.checklist-card-copy{padding:30px;position:relative}
.checklist-card-copy h3{font-family:var(--serif);font-size:44px;line-height:1.02;letter-spacing:-.02em;max-width:90%;margin:10px 0 18px}
.checklist-card-copy>p{font-size:16px;color:var(--muted)}
.checklist-card-copy .checklist-range{font-size:14px;line-height:1.7;color:#000000;padding-top:18px;margin-top:18px;border-top:1px solid #000000}
.checklist-card-copy>.text-link{margin-top:15px}
.checklist-check{display:inline-grid;place-items:center;width:32px;height:32px;border:1px solid #fd217e;border-radius:50%;color:#fd217e;flex-shrink:0;transition:background .35s,color .35s}
.checklist-check svg{width:21px;height:21px}
.checklist-check path{fill:none;stroke:currentColor;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset .45s}
html:not(.motion-ready) .checklist-card .checklist-check path{stroke-dashoffset:0}
.is-reviewed .checklist-check{background:#fd217e;color:#000000}
.is-reviewed .checklist-check path{stroke-dashoffset:0}
@media(min-width:1024px){
 .motion-ready .essentials-checklist{height:290svh}
 .motion-ready .checklist-stage{position:sticky;top:0;height:100svh;min-height:680px;padding-top:140px;padding-bottom:50px;align-items:center;overflow:hidden}
 .motion-ready .checklist-deck{position:relative;height:min(610px,calc(100svh - 210px))}
 .motion-ready .checklist-card{position:absolute;inset:0;display:grid;grid-template-rows:55% 45%;transform-origin:center;will-change:transform,opacity}
 .motion-ready .checklist-photo{height:100%;min-height:0}
 .motion-ready .checklist-card-copy{padding:22px 28px}
 .motion-ready .checklist-card-copy>.checklist-check{position:absolute;top:24px;right:26px}
 .motion-ready .checklist-card-copy h3{font-size:38px;margin:0 35px 12px 0}
 .motion-ready .checklist-card-copy>p{line-height:1.6}
 .motion-ready .checklist-card-copy .checklist-range{padding-top:10px;margin-top:10px}
 .motion-ready .checklist-card-copy>.text-link{margin-top:8px;padding:8px 0}
 .motion-ready .checklist-steps{display:grid;gap:8px;margin-top:24px}
 .checklist-steps button{background:none;display:flex;align-items:center;gap:14px;text-align:left;padding:5px 0;color:#000000;font-size:15px}
 .checklist-steps button[aria-pressed='true']{color:#000000;font-weight:600}
 .checklist-steps .checklist-check{width:27px;height:27px}
 .motion-ready .checklist-counter{display:flex;gap:8px;align-items:center;font-size:12px;color:#000000;margin-top:20px}
 .checklist-counter>span:first-child{font-size:26px;font-family:var(--serif);color:#fd217e}
 .checklist-counter>span:last-child{margin-left:12px;letter-spacing:.08em}
}
@media(min-width:1024px) and (max-height:800px){
 .checklist-copy .section-heading h2{font-size:54px}
 .motion-ready .checklist-stage{padding-top:120px;padding-bottom:30px}
 .motion-ready .checklist-card{grid-template-columns:43% 57%;grid-template-rows:1fr}
 .motion-ready .checklist-card-copy{padding:30px 24px;display:flex;flex-direction:column;justify-content:center}
 .motion-ready .checklist-card-copy h3{font-size:38px;margin-top:30px}
 .motion-ready .checklist-card-copy .checklist-range{margin-top:18px;padding-top:18px}
 .motion-ready .checklist-card-copy>.text-link{align-self:flex-start;margin-top:20px}
 .motion-ready .checklist-steps{gap:3px;margin-top:18px}
 .checklist-copy>.text-link{margin-top:16px}
 .motion-ready .checklist-counter{margin-top:10px}
}
@media(max-width:1023px){
 .checklist-stage{grid-template-columns:1fr;gap:40px}
 .checklist-deck{grid-template-columns:1fr 1fr}
 .checklist-card:last-child{grid-column:1/-1}
}
@media(max-width:600px){
 .checklist-deck{grid-template-columns:minmax(0,1fr);gap:32px}
 .checklist-card:last-child{grid-column:auto}
 .checklist-copy .section-heading h2{font-size:clamp(45px,13.4vw,58px)}
 .checklist-card-copy{padding:24px}
 .checklist-card-copy h3{font-size:38px}
 .checklist-photo{height:270px}
 .room-product-board{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 8px}
 .room-product-board a{flex-direction:row;align-items:center;min-height:56px}
 .room-product-board img{width:48px;height:56px;flex-shrink:0}
 .room-product-board span{font-size:14px}
}
.room-image-note{background:#000000b3;padding:5px 8px;border-radius:3px}
@media(prefers-reduced-motion:reduce){
 .checklist-check path{stroke-dashoffset:0}
}

/* Keep the brochure products fully visible as the introduction resizes. */
@media(max-width:1023px){
 .intro-tiles{inset:auto 24px;top:470px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:start}
 .intro-tile{position:relative;left:auto;top:auto;width:100%;height:230px;transform:none;border-width:4px}
}
@media(max-width:600px){
 .intro-tiles{top:420px;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
 .intro-tile{height:210px}
 .tile-equipment{grid-column:1 / -1;width:calc(50% - 8px);justify-self:center}
}

/* Consistent 4:3 photographs with captions outside the image area. */
.intro-tile{height:auto}
.intro-tile img{display:block;width:100%;height:auto;aspect-ratio:4 / 3;object-fit:cover}
@media(max-width:1023px){.intro-tile{height:auto}}
@media(max-width:600px){.intro-tile{height:auto}}
