/* Each route gets an intentional object stage, with a shared restrained palette. */
.story-picker,.slider-tabs{display:none}
.gallery-chapter{height:235svh;padding-top:0!important;padding-bottom:0!important;position:relative}
.gallery-sticky{position:sticky;top:0;height:100svh;padding:45px 0 25px;display:flex;flex-direction:column;justify-content:center}
.gallery-sticky .section-head{margin-bottom:30px;flex-shrink:0}.gallery-sticky .section-head h2{font-size:clamp(42px,4.1vw,68px)!important}
.gallery-sticky .featured-track{flex-shrink:0;scroll-snap-type:none;scroll-behavior:auto}
.gallery-sticky .featured-track .product-image{height:49svh;aspect-ratio:auto!important}.gallery-sticky .featured-track .product-image img{object-fit:cover}
.gallery-sticky .featured-track .product-tile{flex-basis:67%;width:67%}.gallery-sticky .product-meta{padding-top:15px}.gallery-sticky .product-meta h3{font-size:32px}.gallery-sticky .slider-tabs{margin-top:14px}.gallery-sticky .slider-tabs button{padding:11px 20px}
@media(min-width:1001px) and (max-height:750px){.gallery-sticky{padding-top:25px}.gallery-sticky .section-head h2{font-size:36px!important}.gallery-sticky .section-head{margin-bottom:20px}.gallery-sticky .featured-track .product-image{height:42svh}.gallery-sticky .product-meta h3{font-size:25px}}
.canvas-journey{height:240svh;position:relative;background:#dce2da}
.canvas-viewport{position:sticky;top:0;height:100svh;min-height:580px;overflow:hidden;isolation:isolate;background:#213b35}
.canvas-wash{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 60%,#f5f2e6,#b9c8ba);z-index:-1}
.canvas-opening{position:absolute;top:7%;left:5%;right:5%;text-align:center;z-index:2}.canvas-opening p{font-size:11px;letter-spacing:.05em;margin-bottom:20px}.canvas-opening h2{font-size:clamp(52px,6.2vw,100px);font-weight:400;line-height:1.04}.canvas-opening em,.canvas-finale em{font:italic 400 1.08em 'Bodoni Moda',Georgia,serif;letter-spacing:-.055em}
.canvas-objects{position:absolute;inset:36% 0 12%;display:flex;justify-content:center;align-items:center;gap:10vw;perspective:1200px;pointer-events:none}
.canvas-key{width:clamp(180px,16vw,260px);transform:rotate(-5deg);z-index:2}.canvas-satellite{width:clamp(120px,11vw,185px)}.canvas-left{transform:rotate(-17deg) translateY(35px)}.canvas-right{transform:rotate(17deg) translateY(-25px)}
.canvas-full-art{position:absolute;inset:0;z-index:3;pointer-events:none}.canvas-full-art>img{width:100%;height:100%;object-fit:cover;object-position:65% 50%}.canvas-full-art:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#102923df,#10292355 65%,#10292325)}
.canvas-finale{position:absolute;z-index:4;left:7%;top:50%;transform:translateY(-30%);color:#f5f0e4;max-width:850px}.canvas-finale p{font-size:13px;margin-bottom:25px}.canvas-finale h2{font-size:clamp(62px,8vw,128px);line-height:1.05;font-weight:400;margin-bottom:40px}.canvas-finale .roundlink{background:#f5f0e4;color:#23382f}
.canvas-cue{position:absolute;bottom:35px;left:0;right:0;text-align:center;font-size:10px}
.canvas-journey.is-static{height:auto}.canvas-journey.is-static .canvas-viewport{height:760px;position:relative}.canvas-journey.is-static .canvas-opening,.canvas-journey.is-static .canvas-objects,.canvas-journey.is-static .canvas-cue{display:none}
@media(max-width:700px){.canvas-journey{height:205svh}.canvas-viewport{min-height:560px}.canvas-opening{top:9%}.canvas-opening h2{font-size:12vw}.canvas-objects{inset:40% -20% 18%;gap:30px}.canvas-key{width:155px;flex-shrink:0}.canvas-satellite{width:110px;flex-shrink:0}.canvas-finale{left:22px;right:22px;top:44%}.canvas-finale h2{font-size:15vw}.canvas-finale p{font-size:12px}.canvas-full-art>img{object-position:60% center}.canvas-journey.is-static .canvas-viewport{height:650px}}
.atelier-world{transition:background-color .8s}.world-picker{margin-top:36px}.world-picker button{color:#d7dccc}.world-picker button[aria-pressed=true]{background:#eeeadd!important;color:#263b36!important}.world-gallery{margin-top:45px}.world-card{perspective:1000px}
.spatial-story{--story-color:#c6cec0;position:relative;isolation:isolate;overflow:hidden;background:#e4e6dd;padding:45px 5vw 35px;margin:0 3vw 100px;perspective:1200px}
.story-atmosphere{position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 50% 35%,#f7f5ed 0,transparent 60%),var(--story-color);transition:background-color .6s}
.story-caption{display:flex;justify-content:space-between;gap:30px;align-items:center;font-size:12px}.story-line{font:italic 400 clamp(21px,2.6vw,40px) 'Bodoni Moda',Georgia,serif;letter-spacing:-.035em}
.story-objects{position:relative;display:flex;justify-content:center;align-items:center;gap:9vw;height:590px;transform-style:preserve-3d}
.story-echo{position:absolute;top:28%;left:0;right:0;text-align:center;font:500 20vw/1 Manrope,sans-serif;letter-spacing:-.08em;color:#ffffff59;z-index:-1;pointer-events:none}
.story-object{width:clamp(150px,15vw,250px);display:block;transform-style:preserve-3d}.story-main{width:clamp(200px,19vw,300px);z-index:2}.story-side.left{transform:rotate(-13deg)}.story-side.right{transform:rotate(12deg)}
.story-picker{display:flex;justify-content:center;gap:15px}.story-picker button{padding:14px 25px;border-radius:40px;font-size:12px;transition:background .25s,color .25s}.story-picker button[aria-pressed=true]{background:#273c35;color:#f2eee3}
body[data-route=about] .spatial-story{background:#e5dfd3}body[data-route=about] .story-atmosphere{opacity:.65}
.depth-surface{transform-style:preserve-3d;transform-origin:center;backface-visibility:hidden}
.product-layout{perspective:1400px}.product-main-image{background:#dadcd3;box-shadow:0 35px 65px -45px #273c3560}
body[data-page=product] .product-info{padding:25px 0}body[data-page=product] .product-info>p:not(.description){font:italic 400 28px/1.3 'Bodoni Moda',Georgia,serif;max-width:420px}
.materials-grid{gap:5vw;perspective:1400px}.material-item .eyebrow{font-size:10px;color:var(--muted)}.material-item h2{font-weight:400;font-size:clamp(56px,5.8vw,90px);margin:16px 0 30px}.material-swatch{height:390px;position:relative;background:#d7d3c7!important;isolation:isolate;overflow:hidden;display:grid;place-items:center;perspective:800px}.material-swatch.paper{background:#e6e3da!important}.material-swatch.pvc{background:#c5cec7!important}
.material-specimen{width:53%;aspect-ratio:54/85.5;border-radius:10px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:32px;box-shadow:15px 24px 30px #292a2529;background:#dbbf97}.paper .material-specimen{background:#f6f2e8}.pvc .material-specimen{background:#314b43;color:#e9e7d8}.material-specimen img{width:45px;filter:brightness(.4);opacity:.65}.pvc .material-specimen img{filter:none}.material-specimen span{font:10px Manrope,sans-serif;letter-spacing:.2em;opacity:1}.material-swatch .finish-label{position:absolute;bottom:20px;font:10px 'DM Sans',sans-serif;letter-spacing:.04em;opacity:.7}
.editorial-panel{gap:9vw;padding-top:25px;padding-bottom:110px}.editorial-panel>img{aspect-ratio:1.1;border-radius:2px;box-shadow:0 35px 65px -45px #273c3560}.steps{background:#e4e7dd}.step{padding:50px 0}.step h3{font-weight:400}.step p{font-size:15px}
.contact-layout{gap:9vw}.contact-object{width:230px;aspect-ratio:1.58;border-radius:12px;background:#2c423a;color:#eee9da;display:flex;align-items:center;justify-content:space-around;transform:rotate(-6deg);box-shadow:12px 18px 28px #23362d20;margin:20px 0 65px;perspective:1000px}.contact-object img{width:52px}.contact-object span{font:italic 400 19px 'Bodoni Moda',Georgia,serif;width:90px}.contact-layout form{background:#e8e7df;padding:10px 35px 35px;border-radius:3px}.contact-layout input,.contact-layout textarea{background:#f6f4ee}.contact-layout .form-field:focus-within label{color:#426d57}.faq{max-width:1100px;padding-top:20px}.faq details{padding:30px;margin:0 0 15px;background:#e9e8df;transition:background .3s}.faq details[open]{background:#dce3d6}.faq summary{font-size:20px;line-height:1.3}.faq details p{font-size:16px;max-width:770px}
body[data-route=materials] .page-head,body[data-route=bespoke] .page-head,body[data-route=about] .page-head{padding-bottom:75px}
@media(max-width:1000px){.story-objects{height:490px;gap:7vw}.material-swatch{height:310px}.material-specimen{width:62%}.contact-layout form{padding:10px 22px 30px}.story-object{width:17vw}.story-main{width:24vw}}
@media(max-width:700px){.spatial-story{margin:0 0 60px;padding:28px 22px}.story-caption{display:block;text-align:center}.story-caption>span{font-size:10px}.story-line{font-size:26px;margin-top:16px}.story-objects{height:360px;gap:16px}.story-object{width:26%;flex-shrink:0}.story-main{width:36%}.story-echo{font-size:25vw;top:37%;left:-22px;right:-22px}.story-picker{gap:5px}.story-picker button{padding:13px 18px;font-size:11px}.world-cutout{border-radius:8px}.materials-grid{gap:50px}.material-swatch{height:350px}.material-specimen{width:160px}.material-item h2{font-size:63px}.product-info>p:not(.description){font-size:25px!important}.editorial-panel{padding-bottom:75px}.contact-object{margin-bottom:45px;width:210px}.contact-layout form{margin:0 -8px;padding:5px 18px 25px}.faq{padding:15px 22px 65px}.faq details{padding:25px 20px}.faq summary{font-size:17px}.faq details p{font-size:14px}.step p{font-size:14px}}
.material-specimen{width:clamp(145px,13vw,210px)}@media(max-width:1000px) and (min-width:701px){.material-specimen{width:130px}}@media(max-width:700px){.material-specimen{width:160px}}

/* Captions have their own flow; animated objects cannot collide with them. */
.material-item .finish-caption{font-size:10px;line-height:1.5;margin:-10px 0 26px;color:var(--muted);letter-spacing:.02em;position:relative}
.material-swatch{margin-bottom:25px}.material-specimen{max-height:calc(100% - 65px);flex-shrink:0}
body[data-page=home] .deck-hero{height:730px;min-height:730px;max-height:none}
body[data-page=home] .deck-hero h1{top:125px;left:5%;width:51%;text-align:left;font-size:clamp(72px,7.4vw,126px);line-height:1.08}
body[data-page=home] .deck-hero h1 .hero-title-second{font-size:clamp(78px,8vw,136px);line-height:1.1}
body[data-page=home] .deck-hero .hero-scene{inset:35px 0 105px 56%}
.hero-lede{position:absolute;top:435px;left:5%;font-size:16px;line-height:1.65;color:var(--muted);max-width:320px}
body[data-page=home] .deck-hero>.deck-instruction{left:56%;bottom:85px}
body[data-page=home] .hero-bottom{bottom:30px;align-items:center}
body[data-page=home] .hero-bottom p{font-size:11px;color:var(--muted)}
body[data-page=home] .intro{padding-top:115px;padding-bottom:85px}
body[data-page=home] .intro h2{font-size:clamp(48px,5.6vw,88px);line-height:1.14;max-width:1180px;font-weight:400}
body[data-page=home] .section-head h2{font-size:clamp(44px,5vw,80px);line-height:1.1;font-weight:400}
body[data-page=home] .section-head h2 em{font:italic 400 1.08em 'Bodoni Moda',Georgia,serif;letter-spacing:-.055em}
.featured-track .product-tile,.featured-track .product-tile:last-child:nth-child(odd){flex-basis:61%;width:61%}.featured-track .product-image{aspect-ratio:1.5!important}
.featured-track .product-image img{object-fit:contain;background:#d0d0cd;transform:scale(1)}.featured-track .product-tile:hover img{transform:scale(1.025)}
@media(min-width:1700px){body[data-page=home] .deck-hero{height:790px;min-height:790px}.hero-lede{top:480px}}
@media(min-width:701px) and (max-width:1050px){body[data-page=home] .deck-hero{height:660px;min-height:660px}body[data-page=home] .deck-hero h1{font-size:7.3vw;top:110px}body[data-page=home] .deck-hero h1 .hero-title-second{font-size:8vw}.hero-lede{top:330px;font-size:14px}body[data-page=home] .deck-hero .hero-scene{left:54%;top:30px;bottom:115px}}
@media(max-width:700px){body[data-page=home] .deck-hero{height:775px;min-height:775px}body[data-page=home] .deck-hero h1{top:25px;left:22px;width:calc(100% - 44px);text-align:center;font-size:15vw}body[data-page=home] .deck-hero h1 .hero-title-second{font-size:17vw}.hero-lede{top:205px;left:22px;right:22px;max-width:none;text-align:center;font-size:13px}body[data-page=home] .deck-hero .hero-scene{inset:285px 0 155px}body[data-page=home] .deck-hero>.deck-instruction{left:0;bottom:134px}body[data-page=home] .hero-bottom{bottom:28px}body[data-page=home] .intro{padding:75px 22px}body[data-page=home] .intro h2{font-size:10.8vw}body[data-page=home] .section-head h2{font-size:11vw}.featured-track .product-tile,.featured-track .product-tile:last-child:nth-child(odd){flex-basis:88%;width:88%}.featured-track .product-image{aspect-ratio:1.08!important}.featured-track .product-image img{object-fit:cover}}
