:root{color-scheme:dark;background:#080706;color:#eee4ce;font-family:Arial,sans-serif;--ease:cubic-bezier(.22,.61,.36,1)}*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0;overflow:hidden}body{height:100svh;height:100dvh}button,a{touch-action:manipulation;-webkit-tap-highlight-color:transparent;color:inherit}button{border:0;background:none;font:inherit;cursor:pointer;min-height:44px}a{text-decoration:none}button:focus-visible,a:focus-visible{outline:1px solid #d2b77e;outline-offset:3px}#viewport{position:absolute;inset:0;overflow:hidden}#camera{position:absolute;transform-origin:0 0;will-change:transform}.surface,#film{position:absolute;inset:0;width:100%;height:100%;background:url('../collection/assets/home.jpg') center/100% 100% no-repeat;pointer-events:none}.surface{opacity:0;transition:opacity 1.25s ease}#ambient{opacity:0}#logoLight{mask-image:radial-gradient(ellipse 21% 28% at 42% 39%,#000 55%,transparent 100%);-webkit-mask-image:radial-gradient(ellipse 21% 28% at 42% 39%,#000 55%,transparent 100%)}#collectionLight{mask-image:radial-gradient(ellipse 13% 35% at 8% 41%,#000 50%,transparent 100%);-webkit-mask-image:radial-gradient(ellipse 13% 35% at 8% 41%,#000 50%,transparent 100%)}#expertiseLight{mask-image:radial-gradient(ellipse 11% 24% at 75% 46%,#000 50%,transparent 100%);-webkit-mask-image:radial-gradient(ellipse 11% 24% at 75% 46%,#000 50%,transparent 100%)}#storyLight{mask-image:radial-gradient(ellipse 10% 28% at 93% 43%,#000 50%,transparent 100%);-webkit-mask-image:radial-gradient(ellipse 10% 28% at 93% 43%,#000 50%,transparent 100%)}#projectLight{mask-image:radial-gradient(ellipse 20% 24% at 87% 74%,#000 50%,transparent 100%);-webkit-mask-image:radial-gradient(ellipse 20% 24% at 87% 74%,#000 50%,transparent 100%)}#still{background-image:url('../collection/assets/arrival-end.jpg')}#film{background:#000;object-fit:fill;opacity:0;z-index:3;transition:opacity .5s}#film.visible{opacity:1}#brand,.entry{position:absolute;z-index:5;border:0}#brand{left:27%;top:31%;width:30%;height:20%}.entry[data-page=collection]{left:0;top:20%;width:17%;height:45%}.entry[data-page=expertise]{left:69%;top:32%;width:12%;height:30%}.entry[data-page=story]{left:88%;top:25%;width:12%;height:36%}.entry[data-page=project]{left:74%;top:62%;width:26%;height:27%}body:not([data-page=home]) .entry,body:not([data-phase=ready]) .entry{pointer-events:none}#welcome{position:absolute;inset:0;display:grid;place-items:center;background:#000;z-index:20;opacity:0;pointer-events:none;transition:opacity .8s}#welcome p{font:clamp(22px,3.5vw,38px) Georgia;letter-spacing:.035em}body[data-phase=welcome] #welcome{opacity:1}header,footer{position:absolute;left:4%;right:4%;display:flex;align-items:center;justify-content:space-between;z-index:30;gap:10px;pointer-events:none}header{top:max(4px,env(safe-area-inset-top));font-size:8px;letter-spacing:.18em}header button{font-size:10px;color:#c0b298;letter-spacing:.04em}header button,footer button{pointer-events:auto}header span{opacity:.65}footer{bottom:max(8px,env(safe-area-inset-bottom));font-size:10px;color:#c6b491}#hint{margin-left:auto;text-shadow:0 2px 8px #000}#back{font-size:11px;text-shadow:0 2px 8px #000}body[data-page=home] #back{opacity:0;pointer-events:none}body:not([data-page=home]) #hint,body:not([data-phase=ready]) footer{opacity:0;pointer-events:none}.page{position:absolute;inset:0;opacity:0;pointer-events:none;transition:opacity 1s ease;z-index:10}.page.active{opacity:1;pointer-events:auto}.eyebrow{font-size:9px;letter-spacing:.2em;color:#d4b882;margin:0 0 12px}h1{font:normal clamp(23px,2.7vw,36px)/1.15 Georgia;margin:0 0 18px}.words{inset:50% 25% auto 28%;max-width:600px;padding:20px 22px;background:radial-gradient(ellipse,#0a0806b0,transparent 75%);text-shadow:0 2px 10px #000}.words p:not(.eyebrow){font-size:13px;line-height:1.6;color:#d4c8b2;margin:10px 0}.text-link{font-size:12px;color:#dbc18a;padding:0;text-align:left}#tabs{display:flex;gap:18px;border-bottom:1px solid #bd9d5e40}#tabs button{padding:0;font-size:11px;color:#ac9d82}#tabs button[aria-pressed=true]{color:#f0dab3;border-bottom:1px solid #b79a61}label{font-size:11px;color:#cfbea0}textarea{display:block;width:100%;resize:none;background:#0d0b08b0;border:1px solid #9d835450;font:16px Arial;color:#e8dcc3;padding:10px;margin:8px 0}.contact{display:flex;gap:30px;font-size:11px;margin-top:12px}#mosaic{position:absolute;left:3.8%;top:15.2%;width:16.5%;height:46.2%;display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(6,1fr);gap:2px;opacity:0;transition:opacity 1.4s}#mosaic button{padding:0;min-height:0;background:transparent}#mosaic img{width:100%;height:100%;object-fit:cover;opacity:0}#mosaic button:hover{outline:1px solid #d7b375}#collection.active #mosaic{opacity:1}#photo{position:absolute;left:2.083%;top:24.074%;width:36.458%;margin:0;opacity:0;pointer-events:none;transform-origin:left top;transition:opacity .8s}#hero{width:100%;height:auto;max-height:58vh;object-fit:contain;display:block;border:1px solid #ad9063;box-shadow:0 15px 40px #0009}#caption{font-size:10px;letter-spacing:.1em;margin-top:12px;color:#d8c49e}body[data-photo=open] #photo{opacity:1}.collection-copy{position:absolute;left:48%;right:14%;top:64%;text-align:center;text-shadow:0 2px 8px #000}.collection-copy h1,.collection-copy .eyebrow{display:none}#filters{display:flex;justify-content:center;gap:18px}#filters button{font-size:10px;color:#b8a78a;padding:0;min-height:36px}#filters button[aria-pressed=true]{border-bottom:1px solid #c0a36d;color:#ead5aa}.photo-controls{display:flex;align-items:center;justify-content:center;gap:12px}.photo-controls button{font-size:11px;padding:0 8px}.photo-controls span{font-size:10px;color:#b8a78a}.sample{font-size:8px;color:#98896e;margin:0}#status{position:absolute;bottom:4%;left:5%;z-index:40;font-size:12px}.page[inert]{pointer-events:none}
@media(orientation:portrait){.surface{background-image:url('assets/room-portrait.png')}#still{display:none}#logoLight{mask-image:radial-gradient(ellipse 47% 17% at 50% 17%,#000 55%,transparent 100%);-webkit-mask-image:radial-gradient(ellipse 47% 17% at 50% 17%,#000 55%,transparent 100%)}#collectionLight{mask-image:radial-gradient(ellipse 25% 18% at 22% 42%,#000 50%,transparent 100%);-webkit-mask-image:radial-gradient(ellipse 25% 18% at 22% 42%,#000 50%,transparent 100%)}#expertiseLight{mask-image:radial-gradient(ellipse 25% 18% at 80% 42%,#000 50%,transparent 100%);-webkit-mask-image:radial-gradient(ellipse 25% 18% at 80% 42%,#000 50%,transparent 100%)}#storyLight{mask-image:radial-gradient(ellipse 25% 15% at 22% 66%,#000 50%,transparent 100%);-webkit-mask-image:radial-gradient(ellipse 25% 15% at 22% 66%,#000 50%,transparent 100%)}#projectLight{mask-image:radial-gradient(ellipse 40% 17% at 72% 76%,#000 50%,transparent 100%);-webkit-mask-image:radial-gradient(ellipse 40% 17% at 72% 76%,#000 50%,transparent 100%)}#brand{left:17%;top:11%;width:68%;height:14%}.entry[data-page=collection]{left:4%;top:30%;width:37%;height:25%}.entry[data-page=expertise]{left:64%;top:30%;width:32%;height:25%}.entry[data-page=story]{left:4%;top:56%;width:35%;height:22%}.entry[data-page=project]{left:41%;top:67%;width:57%;height:20%}header{font-size:7px;letter-spacing:.12em}header button{font-size:9px}footer{font-size:9px;left:6%;right:6%}#back{font-size:10px}#hint{text-align:center;margin:auto}.words{inset:36% 7% auto;max-width:none;padding:20px 16px;background:radial-gradient(ellipse,#080706e6 40%,#08070630 75%,transparent);text-align:center}.words h1{font-size:29px;max-width:290px;margin:0 auto 20px}.words p:not(.eyebrow){font-size:13px;line-height:1.65}#tabs{gap:14px;justify-content:center}#tabs button{font-size:10px}#enquiry{text-align:left}.contact{justify-content:center;font-size:11px;gap:28px}.text-link{margin:6px 0}#mosaic{left:8%;top:35%;width:84%;height:34%;grid-template-columns:repeat(5,1fr);grid-template-rows:repeat(4,1fr);gap:3px;padding:5px;border:1px solid #a88a55;background:#19130b;box-shadow:0 15px 50px #000;transform-origin:20% 35%}#mosaic img{opacity:1;filter:saturate(.65) brightness(.8)}body[data-photo=open] #mosaic{opacity:0!important;pointer-events:none}#photo{left:6%;top:35%;width:88%;height:36%;display:flex;flex-direction:column;justify-content:center}#hero{width:100%;height:auto;max-height:100%;object-fit:contain}#caption{font-size:9px;text-align:center;margin-top:12px}.collection-copy{left:7%;right:7%;top:74%;text-align:center}.collection-copy h1{display:block;font-size:23px;margin:0 0 8px}.collection-copy .eyebrow{display:block;font-size:8px;margin-bottom:8px}#filters{gap:16px}#filters button{font-size:10px;min-height:36px}.photo-controls{gap:6px}.photo-controls button{min-height:40px;font-size:10px}.sample{font-size:8px}}
@media(max-height:600px) and (orientation:portrait){.words{top:32%;padding:10px}.words h1{font-size:24px;margin-bottom:12px}.words p:not(.eyebrow){font-size:12px;line-height:1.5}#mosaic{height:30%;top:33%}#photo{top:33%;height:30%}.collection-copy{top:67%}.collection-copy h1{font-size:19px}.photo-controls button{min-height:32px}#filters button{min-height:30px}}
@media(max-height:500px) and (orientation:landscape){.words{top:42%;left:32%;right:22%;padding:10px}.words h1{font-size:22px;margin-bottom:10px}.words p:not(.eyebrow){font-size:11px;line-height:1.4;margin:6px 0}.eyebrow{font-size:8px;margin-bottom:8px}#tabs button{font-size:9px;min-height:30px}.text-link{min-height:32px;font-size:10px}textarea{height:55px;padding:6px}.contact{margin-top:5px;font-size:10px}.collection-copy{top:64%}#filters button{min-height:30px}.photo-controls button{min-height:30px}.sample{display:none}}
@media(prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important}}
.page.active{pointer-events:none}.page.active button,.page.active input,.page.active textarea,.page.active a{pointer-events:auto}
body[data-phase=travel] .page{pointer-events:none}body[data-phase=travel] .page button{pointer-events:none}
@media(orientation:landscape){body[data-page=collection] #brand{left:40%;top:7%;width:42%;height:26%}}
@media(orientation:portrait){header span{display:none}header{justify-content:flex-end}}
/* Cosmetic refinement: preserve the room; separate copy, artwork and controls. */
header span{display:none}header{justify-content:flex-end}header button{font-size:11px;text-shadow:0 2px 8px #000}footer{bottom:max(14px,env(safe-area-inset-bottom))}#back{font-size:12px}.collection-intro{display:none}#grid{opacity:0;pointer-events:none}body[data-photo=open] #grid{opacity:1;pointer-events:auto}.photo-controls{gap:12px}.photo-controls button{font-size:12px;min-height:40px}#filters button{font-size:12px;min-height:40px}#count{font-size:11px}.sample{display:none}#caption{line-height:1.4;font-size:12px}.words{padding:22px 26px}.words p:not(.eyebrow){font-size:14px;line-height:1.7}#tabs button{font-size:12px;min-height:44px}.text-link{font-size:13px;min-height:44px}
@media(orientation:landscape){.collection-copy{top:79%;left:45%;right:14%}#filters{gap:18px}.photo-controls{gap:8px}#photo{top:24.074%}#hero{max-height:45vh}#caption{margin-top:8px}footer{left:auto;right:4%}#back{font-size:11px}.words{left:29%;right:25%;top:50%;padding:12px 16px}.words h1{font-size:clamp(22px,2.3vw,32px);margin-bottom:12px}.words p:not(.eyebrow){font-size:13px;line-height:1.5}#tabs{gap:14px}#tabs button{font-size:11px}}
@media(orientation:portrait){
 #mosaic{left:var(--art-left);top:var(--art-top);width:var(--art-width);height:var(--art-height);grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(6,1fr);gap:1px;padding:2px;border:1px solid #a88a55;box-shadow:0 5px 16px #0008;transform:none;transition:opacity 1.4s}
 body[data-photo=open] #mosaic{opacity:.22!important}
 .collection-copy{inset:0;text-align:center;pointer-events:none}.collection-copy h1{position:absolute;left:6%;right:6%;top:var(--intro-top);font-size:clamp(20px,5.5vw,26px);margin:0;line-height:1.2}.collection-copy .eyebrow{display:none}.collection-intro{display:block;position:absolute;left:8%;right:8%;top:calc(var(--intro-top) + 34px);font-size:12px;line-height:1.55;margin:0;color:#d6c7ad;text-shadow:0 2px 8px #000}
 #filters{position:absolute;bottom:110px;left:5%;right:5%;gap:16px;justify-content:center;padding:0 8px;background:radial-gradient(ellipse,#080706b0,transparent 80%)}#filters button{font-size:12px;min-height:42px}
 .photo-controls{position:absolute;bottom:63px;left:5%;right:5%;gap:8px;justify-content:center;padding:0 8px;background:radial-gradient(ellipse,#080706b0,transparent 80%)}.photo-controls button{font-size:12px;min-height:44px;padding:0 7px}.photo-controls span{font-size:11px}#grid{font-size:10px;max-width:78px;line-height:1.3}
 #photo{top:37%;left:7%;width:86%;height:34%;transform-origin:top left}#hero{max-height:100%}#caption{font-size:11px;margin-top:10px}
 body[data-photo=open] .collection-intro{opacity:.5;transition:opacity 1s}.words{top:34%;left:8%;right:8%;padding:20px 14px}.words h1{font-size:28px;line-height:1.2;margin-bottom:20px}.words p:not(.eyebrow){font-size:14px;line-height:1.65}#tabs{gap:12px;flex-wrap:wrap;justify-content:center}#tabs button{font-size:12px;min-height:44px}.text-link{font-size:13px}.contact{font-size:12px;margin-top:14px}label{font-size:12px}textarea{line-height:1.5}footer{left:6%;right:6%}#back{font-size:12px}
}
@media(max-height:600px) and (orientation:portrait){.collection-copy h1{font-size:19px}.collection-intro{font-size:11px;top:calc(var(--intro-top) + 28px)}#filters{bottom:100px;gap:12px}#filters button{font-size:11px}.photo-controls{bottom:55px}.words{top:32%;padding:12px}.words h1{font-size:23px;margin-bottom:12px}.words p:not(.eyebrow){font-size:12px;line-height:1.5}#tabs button{font-size:11px;min-height:38px}.text-link{font-size:12px;min-height:38px}}
@media(max-height:500px) and (orientation:landscape){header button{font-size:10px}.collection-copy{top:79%;left:44%;right:10%}#filters button{font-size:11px;min-height:32px}#filters{gap:14px}.photo-controls button{font-size:11px;min-height:32px}.photo-controls{gap:6px}#count{font-size:10px}#grid{font-size:10px}#caption{font-size:11px}#back{font-size:10px}.words{top:45%;left:30%;right:23%;padding:8px 12px}.words h1{font-size:22px;margin-bottom:8px}.words p:not(.eyebrow){font-size:12px;line-height:1.45}#tabs button{font-size:10px;min-height:32px}.text-link{font-size:11px;min-height:34px}.contact{font-size:11px;margin-top:6px}}
