*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{margin:0;background:#eae6dc;color:#38362c;font-family:Arial,sans-serif}button,a{color:inherit}button{font:inherit;cursor:pointer;background:none;border:1px solid #7c786a66;padding:11px 16px;border-radius:30px}button:hover{background:#ffffff77}button:focus-visible,a:focus-visible{outline:3px solid #825528;outline-offset:4px}button:disabled{opacity:.6;cursor:wait}a{text-underline-offset:5px}header{height:100px;display:flex;align-items:center;justify-content:space-between;padding:0 4vw;gap:20px}.brand{text-decoration:none;font-size:22px;letter-spacing:3px}.brand span{display:block;font-size:9px;letter-spacing:2px;margin-top:8px}nav{display:flex;gap:35px;font-size:11px}nav a{text-decoration:none}.experience{position:relative;margin:0 2vw;height:calc(100svh - 155px);min-height:550px;overflow:hidden;background:#c5bba8;border:1px solid #9f9683}#scene{position:absolute;inset:0}canvas{display:block;width:100%;height:100%;touch-action:pan-y}.intro{position:absolute;left:7%;top:19%;pointer-events:none}.eyebrow{font-size:10px;letter-spacing:2px}h1{font-family:Georgia,serif;font-weight:normal;font-size:clamp(40px,5vw,82px);line-height:1.04;margin:24px 0}p{font-size:14px;line-height:1.9}.scene-top{position:absolute;right:25px;top:25px;display:flex;align-items:center;gap:20px}.scene-top button{font-size:11px;background:#f5f1e4de}.bottom{position:absolute;bottom:25px;left:30px;right:30px;display:flex;align-items:center;justify-content:space-between;gap:15px}.bottom #hint{font-size:11px;max-width:370px;line-height:1.6;background:#eae6dcc9;padding:8px 12px;border-radius:5px}.controls{display:flex;gap:8px}.controls button{font-size:11px;background:#f5f1e4ed}.piece-hotspot{position:absolute;background:#f5f1e4de;border-color:#eee9de;left:65%;top:72%;font-size:10px;display:flex;align-items:center;gap:10px}.piece-hotspot span{font-size:18px}.settings-panel{position:absolute;right:30px;bottom:85px;background:#f5f1e4f5;padding:20px;box-shadow:0 12px 45px #302a2525;max-width:calc(100% - 30px);border:1px solid #cdc4b4;z-index:2}.settings-panel div{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.settings-panel button{font-size:11px;padding:8px 12px}.settings-panel fieldset{border:0;border-top:1px solid #c9c1b2;padding:15px 0;margin:15px 0 0}.settings-panel legend{font-size:10px;padding:0 10px 0 0}.settings-panel button[aria-pressed=true]{background:#4b4335;color:#fff}.settings-panel .eyebrow{width:100%;margin-bottom:5px}.foot{display:flex;justify-content:space-between;padding:20px 4vw;font-size:11px}.foot a{text-decoration:none}.editorial{display:grid;grid-template-columns:1fr 1fr;gap:9vw;padding:110px 9vw;align-items:center}.image-block{position:relative;background:#deddd9;overflow:hidden}.image-block img{display:block;width:100%;height:auto}.image-caption{position:absolute;bottom:22px;left:25px;font-size:9px;letter-spacing:1.5px}.editorial-copy{max-width:410px}h2{font:normal clamp(36px,4.1vw,65px)/1.08 Georgia,serif;margin:25px 0 30px}.editorial-copy p{color:#625d51}dl{margin:35px 0}dl div{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid #c9c1b2;padding:15px 0;font-size:11px}dt{color:#696353}dd{margin:0}.discreet{font-size:10px!important;margin-top:20px}.intention{display:grid;grid-template-columns:1fr 1fr;gap:9vw;background:#3d4136;color:#efecdf;padding:90px 9vw}.intention p{max-width:410px;color:#d2d4c7}.reference{padding:100px 9vw}.reference img{width:100%;height:auto;display:block}.reference>div{display:flex;justify-content:space-between;align-items:flex-start;gap:30px;margin-top:25px}.reference p{max-width:350px;margin:0;font-size:12px}footer{border-top:1px solid #c9c1b2;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:45px 4vw}footer p,footer>a:last-child{font-size:10px}dialog{border:0;background:#f1eee6;padding:40px;width:min(850px,94vw);color:#38362c}dialog::backdrop{background:#27241dcc;backdrop-filter:blur(8px)}#close{position:absolute;right:15px;top:15px}.product{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:40px}.product img{width:100%;max-height:65vh;object-fit:contain}.small{font-size:11px}.experience.immersive{position:fixed;inset:0;margin:0;width:100%;height:100svh;min-height:0;z-index:10;border:0}.immersive .intro{display:none}.immersive .piece-hotspot{top:75%}.immersive .scene-top{top:25px}.night .intro,.night .scene-top>.eyebrow{color:#f5efdf}.night .intro p{color:#ded2b7}.night .intro{filter:drop-shadow(0 2px 8px #0003)}
@media(max-width:700px){header{height:80px}.brand{font-size:17px}nav{display:none}header button{font-size:11px;padding:10px 13px}.experience{height:calc(100svh - 140px);min-height:620px}.intro{left:0;top:0;width:100%;padding:35px 25px 20px;background:linear-gradient(#eae6dc 75%,#eae6dc00)}h1{font-size:36px;margin:15px 0}.intro p{display:none}.scene-top{top:180px;right:15px;left:20px;justify-content:space-between;gap:10px}.scene-top>.eyebrow{font-size:8px;letter-spacing:1px}.bottom{left:15px;right:15px;flex-direction:column;align-items:flex-start;background:#eae6dce8;padding:12px;border-radius:8px}.bottom #hint{padding:0;background:none;font-size:10px}.controls{flex-wrap:wrap}.controls button{padding:9px 10px;font-size:10px}.settings-panel{right:15px;bottom:125px;padding:15px}.piece-hotspot{top:71%;left:auto;right:15px;padding:6px 12px}.foot{gap:20px;font-size:9px}.editorial{grid-template-columns:1fr;gap:35px;padding:60px 7vw}.editorial-copy{max-width:none}.intention{grid-template-columns:1fr;gap:15px;padding:55px 7vw}.reference{padding:55px 7vw}.reference>div{flex-direction:column;gap:15px}footer{align-items:flex-start;flex-direction:column;padding:35px 7vw;gap:12px}.product{grid-template-columns:1fr;gap:10px}.product img{max-height:35vh}dialog{padding:30px}h2{margin:15px 0 25px}.immersive .scene-top{top:20px}.night .intro{background:linear-gradient(#23251f 75%,#23251f00)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* V4: preserve the photographic framing, without overlaying the gallery interior. */
.experience{height:calc(100svh - 155px);min-height:550px;background:#eae6dc}.intro{left:5%;top:12%;max-width:32%;padding:18px 22px;background:#eae6dce8;border:1px solid #ffffff55}h1{font-size:clamp(36px,4vw,64px)}.intro p{font-size:12px}.scene-top{top:20px}.piece-hotspot{top:77%;left:57%}.night .intro{background:#23251fea}.immersive .intro{display:none}.immersive #scene{inset:0}.immersive .piece-hotspot{top:77%}.night #scene{background:#eae6dc}@media(max-width:700px){.intro{top:12px;left:0;background:none;border:0;max-width:100%;padding:20px 25px}h1{font-size:34px}.scene-top{top:175px}#scene{top:210px;bottom:120px}.piece-hotspot{top:auto;bottom:140px;left:auto;right:20px}.immersive .piece-hotspot{top:auto;bottom:140px}.night .intro{background:none}.night:not(.immersive){background:#23251f}}
.immersive #scene{inset:0}.immersive .scene-top,.immersive .bottom,.immersive .piece-hotspot{transition:opacity .35s}.immersive.hide-controls .scene-top,.immersive.hide-controls .bottom,.immersive.hide-controls .piece-hotspot{opacity:0;pointer-events:none}.immersive:focus-within .bottom:has(button:focus-visible),.immersive:focus-within .scene-top:has(button:focus-visible){opacity:1;pointer-events:auto}@media(prefers-reduced-motion:reduce){.immersive .scene-top,.immersive .bottom,.immersive .piece-hotspot{transition:none}}

/* Directly discoverable light controls, kept visible in immersive mode. */
.bottom{align-items:flex-end}.controls{flex-wrap:wrap;justify-content:flex-end;max-width:760px}.controls #ambience,.controls #light{border-color:#b49a64;background:#fff8e9}.controls #ambience[aria-pressed=true]{background:#272d3a;color:#fff;border-color:#777d8b}.immersive.hide-controls .bottom{opacity:1;pointer-events:auto}
@media(max-width:1000px){.bottom{flex-direction:column;align-items:flex-start}.controls{justify-content:flex-start}.bottom #hint{max-width:none}}
/* Make the invitation immediately readable beside the interaction buttons. */
.bottom #hint{font-size:16px;font-weight:700;line-height:1.45;max-width:430px;padding:12px 16px;background:#fff8e9ed;border:1px solid #c9b990;border-radius:8px;box-shadow:0 3px 15px #0002}
@media(max-width:1000px){.bottom #hint{max-width:none}}
@media(max-width:700px){.bottom #hint{font-size:14px;padding:8px 10px}}
@font-face{font-family:'Cormorant Garamond';src:url('assets/fonts/CormorantGaramond.ttf') format('truetype');font-weight:300 700;font-display:swap}
@font-face{font-family:'Manrope';src:url('assets/fonts/Manrope.ttf') format('truetype');font-weight:200 800;font-display:swap}
body{font-family:'Manrope',sans-serif;font-weight:400}h1,h2,h3{font-family:'Cormorant Garamond',serif;font-weight:400}h1{font-size:clamp(52px,6.2vw,96px);line-height:.94;letter-spacing:-.035em}h2{font-size:clamp(48px,5.4vw,80px);line-height:.98;letter-spacing:-.025em}.brand{font-family:'Cormorant Garamond',serif;font-size:30px;font-weight:500;letter-spacing:.08em}.brand span,.eyebrow{font-family:'Manrope',sans-serif}.brand span{font-weight:500;font-size:8px;letter-spacing:.24em}nav{gap:24px}.intro p{font-size:13px}.controls button{font-weight:500}.photo-gallery{padding:85px 0 65px;background:#dfddd6;overflow:hidden;border-top:1px solid #cac5b9}.gallery-heading{padding:0 9vw;display:flex;justify-content:space-between;align-items:flex-end;gap:40px}.gallery-heading h2{margin:20px 0 0}.gallery-heading p{max-width:360px;font-size:13px;color:#6b6559;margin:0 0 8px}.coverflow{outline-offset:-4px}.flow-stage{height:520px;position:relative;perspective:1400px;overflow:hidden;touch-action:pan-y;margin-top:35px}.flow-card{--offset:0;--distance:0;position:absolute;left:50%;top:50%;width:430px;height:450px;padding:0;border:1px solid #c9c3b6;border-radius:2px;background:#d1cec5;overflow:hidden;box-shadow:0 24px 35px #4a40351f;transform:translate(-50%,-50%) translateX(calc(var(--offset)*260px)) translateZ(calc(var(--distance)*-180px)) rotateY(calc(var(--offset)*-28deg));filter:brightness(calc(1 - var(--distance)*.12));transition:transform .65s cubic-bezier(.2,.7,.2,1),filter .5s,opacity .5s;opacity:1}.flow-card img{width:100%;height:100%;display:block;object-fit:contain;pointer-events:none}.flow-card:hover{background:#d1cec5}.flow-card.selected{border-color:#a89c87;box-shadow:0 25px 45px #4a40352b}.flow-card.far{opacity:0;pointer-events:none}.flow-footer{display:flex;justify-content:center;align-items:center;gap:65px;padding:0 20px}.flow-footer>button{width:48px;height:48px;padding:0;font-size:22px;border-color:#aaa08d}.flow-caption{text-align:center;min-width:300px}.flow-caption>span{font-size:10px;letter-spacing:.2em;color:#746b5d}.flow-caption h3{font-size:43px;line-height:1.1;margin:8px 0}.flow-caption p{font-size:11px;margin:0;color:#6b6559}.flow-caption button{font-size:11px;border:0;border-radius:0;border-bottom:1px solid #9c8e74;padding:9px 0 5px;margin-top:12px}.flow-dots{display:flex;justify-content:center;gap:10px;margin-top:27px}.flow-dots button{width:28px;height:28px;border:0;padding:10px;border-radius:50%;position:relative}.flow-dots button:after{content:'';width:6px;height:6px;background:#a59b88;border-radius:50%;position:absolute;inset:11px}.flow-dots button[aria-pressed=true]:after{background:#3c352b;transform:scale(1.4)}#photo-viewer{width:min(1100px,94vw);max-height:94svh;padding:25px;text-align:center;overflow:auto}#photo-close{position:absolute;right:15px;top:15px;background:#f1eee6;z-index:1}#photo-viewer h2{font-size:32px;margin:0 55px 16px}#photo-large{display:block;width:100%;height:70svh;object-fit:contain}#photo-viewer p{font-size:12px;margin:15px 0 0}
@media(max-width:700px){.brand{font-size:24px}h1{font-size:48px}.photo-gallery{padding:55px 0 45px}.gallery-heading{padding:0 7vw;display:block}.gallery-heading p{margin:23px 0 0;font-size:12px}.flow-stage{height:360px;margin-top:20px;perspective:1000px}.flow-card{width:250px;height:310px;transform:translate(-50%,-50%) translateX(calc(var(--offset)*170px)) translateZ(calc(var(--distance)*-140px)) rotateY(calc(var(--offset)*-27deg))}.flow-footer{gap:15px;padding:0 12px}.flow-caption{min-width:0;flex:1}.flow-caption h3{font-size:36px}.flow-caption p{font-size:10px;min-height:30px}.flow-footer>button{width:40px;height:40px;flex-shrink:0}.intro h1{margin:15px 0}#photo-large{height:65svh}}
@media(prefers-reduced-motion:reduce){.flow-card{transition:none}}
/* Coverflow: preserve each photograph's proportions and add a restrained floor reflection. */
.flow-stage{height:600px;perspective:1600px;margin-top:25px}.flow-card{top:39%;width:430px;height:auto;aspect-ratio:4/3;overflow:visible;transform:translate(-50%,-50%) translateX(calc(var(--offset)*245px)) translateZ(calc(var(--distance)*-170px)) rotateY(calc(var(--offset)*-32deg));-webkit-box-reflect:below 12px linear-gradient(transparent 48%,rgba(0,0,0,.15));box-shadow:0 15px 30px #4a403520;background:transparent}.flow-card.portrait{width:310px;aspect-ratio:3/4}.flow-card img{object-fit:cover;border-radius:2px}.flow-card.selected{box-shadow:0 18px 35px #4a403528}.flow-caption{margin-top:-25px}.flow-footer{position:relative;z-index:12}.flow-card:hover{background:transparent}
@media(max-width:700px){.flow-stage{height:430px;perspective:1100px;margin-top:30px}.flow-card{top:38%;width:250px;transform:translate(-50%,-50%) translateX(calc(var(--offset)*160px)) translateZ(calc(var(--distance)*-130px)) rotateY(calc(var(--offset)*-32deg));-webkit-box-reflect:below 10px linear-gradient(transparent 45%,rgba(0,0,0,.12))}.flow-card.portrait{width:190px}.flow-caption{margin-top:-18px}.photo-gallery{padding-bottom:45px}}
/* Larger masthead signature. */
header .brand{font-size:46px;letter-spacing:.075em;line-height:1}header .brand span{font-size:9px;margin-top:10px;letter-spacing:.25em}
@media(max-width:700px){header .brand{font-size:30px}header .brand span{font-size:7px;letter-spacing:.16em;margin-top:8px}}
