/* The eighth tile is an invitation, not another completed project. */
.projects-page .next-space{position:relative;display:block;min-width:0;color:#f4f3ef;isolation:isolate;cursor:pointer;overflow:visible;z-index:1}
.projects-page .next-space .next-space-surface{position:relative;display:flex;align-items:center;justify-content:center;background:#0a0b0b;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff08,0 4px 0 -2px #252522;transition:transform .8s cubic-bezier(.22,1,.36,1),box-shadow .8s cubic-bezier(.22,1,.36,1)}
.projects-page .next-space .next-space-sketch{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:right bottom;opacity:.49;filter:brightness(1.08);transform:scale(1.025);transition:opacity 1.1s cubic-bezier(.22,1,.36,1),transform 1.7s cubic-bezier(.22,1,.36,1);pointer-events:none}
.next-space-wash{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#090a0b45,transparent 65%,#090a0bc9),radial-gradient(ellipse 95% 70% at 50% -10%,#ddc59b12,transparent 90%);opacity:.85;transition:opacity 1s}
.next-space-copy{position:absolute;left:8%;right:8%;top:12%;z-index:1;pointer-events:none}
.next-space-copy h2{font-family:inherit;font-style:normal;font-weight:800;font-size:clamp(26px,4.45vw,76px);letter-spacing:-.065em;line-height:.95;margin:0;color:#f4f3ef}
.next-space-copy h2>span{display:block;opacity:0;transform:translateY(25px);transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .95s cubic-bezier(.22,1,.36,1)}
.next-space-copy h2>span:nth-child(2){transition-delay:.065s}.next-space-copy h2>span:nth-child(3){transition-delay:.13s}
.next-space-copy .brand-period{color:#d71920}
.next-space-copy p{font-size:clamp(12px,1.2vw,17px);line-height:1.4;letter-spacing:0;margin-top:20px;color:#d3d1cc;opacity:0;transform:translateY(14px);transition:opacity .8s .22s,transform 1s .22s cubic-bezier(.22,1,.36,1)}
.next-space-foot{position:absolute;left:8%;right:8%;bottom:clamp(22px,4vh,40px);display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:12px;letter-spacing:.12em;color:#c6c2bb;z-index:1}
.next-space-action{display:flex;align-items:center;gap:10px;opacity:0;transform:translateY(6px);transition:opacity .6s .25s,transform .8s .25s;color:#f4f3ef;letter-spacing:.07em}
.projects-page .next-space:is(:hover,:focus-visible,.is-lit) .next-space-sketch{opacity:.94;transform:scale(1)}
.next-space:is(:hover,:focus-visible,.is-lit) .next-space-wash{opacity:.4}
.next-space:is(:hover,:focus-visible,.is-lit) .next-space-copy h2>span,.next-space:is(:hover,:focus-visible,.is-lit) .next-space-copy p,.next-space:is(:hover,:focus-visible,.is-lit) .next-space-action{opacity:1;transform:none}
.next-space:focus-visible{outline:2px solid #d71920;outline-offset:-3px}
@media(max-width:700px){.next-space-copy{top:15%}.next-space-copy h2{font-size:clamp(19px,5.45vw,38px)}.next-space-copy p{font-size:12px;margin-top:16px;max-width:135px}.next-space-foot{left:8%;right:8%}}
.projects-page .next-space:before{content:"";position:absolute;inset:4px 3px 2px;z-index:-1;pointer-events:none;opacity:0;transform:translateY(0);box-shadow:0 0 4px 3px #fff3d9,0 0 13px 7px #ffe0a9b3,0 0 30px 13px #f5c78155,0 12px 50px 15px #e6b57428;transition:opacity .75s cubic-bezier(.22,.61,.36,1),transform .8s cubic-bezier(.22,1,.36,1)}
.projects-page .next-space:is(:hover,:focus-visible,.is-lit){z-index:3}
.projects-page .next-space:is(:hover,:focus-visible,.is-lit):before{opacity:1;transform:translateY(-6px)}
.projects-page .next-space:is(:hover,:focus-visible,.is-lit) .next-space-surface{transform:translateY(-6px);box-shadow:inset 0 0 0 1px #ffe8ba66,0 4px 0 -2px #494134,0 20px 36px -16px #191a174d}
@media(max-width:700px){.projects-page .next-space:before{box-shadow:0 0 4px 2px #fff3d9,0 0 11px 5px #ffe0a9a6,0 0 22px 8px #f5c78144,0 9px 32px 9px #e6b57422}}
@media(prefers-reduced-motion:reduce){.projects-page .next-space:before,.projects-page .next-space .next-space-surface{transition:none;transform:none!important}}
/* One brief, with an optional photo; no second contact page to discover. */
.enquiry-column{min-width:0}
.photo-option{border-top:1px solid #b8b7ae;border-bottom:1px solid #b8b7ae;margin:26px 0;scroll-margin-top:110px}
.photo-option summary{display:flex;align-items:center;gap:12px;min-height:72px;padding:14px 0;list-style:none;cursor:pointer;font-size:16px;line-height:1.4}
.photo-option summary::-webkit-details-marker{display:none}
.photo-option summary>span:first-child{flex:1}
.photo-option summary small{font-size:11px;letter-spacing:.08em;color:#6d7069}
.photo-option-plus{font-size:26px;font-weight:300;transition:transform .25s}
.photo-option[open] .photo-option-plus{transform:rotate(45deg)}
.photo-option-content{padding:0 0 22px}
.photo-option-content>p:first-child{font-size:15px;line-height:1.6;color:#62655e;margin:0 0 20px}
.space-drop{border:1px dashed #9d9e95;border-radius:4px;position:relative;background:#efeee8;transition:border-color .2s,background .2s}
.space-drop.is-dragging{border-color:#d71920;background:#e4e2d9}
.space-drop>label{display:flex;align-items:center;flex-direction:column;gap:8px;padding:22px 16px;text-align:center;cursor:pointer}
.space-photo-symbol{font-size:28px;line-height:1}.space-drop strong{font-size:18px;font-weight:550}.space-drop span,.space-drop small{font-size:14px;line-height:1.4}
.space-drop input[type=file]{position:absolute;opacity:0;width:1px;height:1px;left:50%;top:50%}
.space-drop:focus-within,.photo-option summary:focus-visible{outline:2px solid #d71920;outline-offset:4px}
.space-preview{padding:15px;display:grid;gap:10px}.space-preview img{width:100%;height:160px;object-fit:contain;background:#dddcd6}.space-filename{overflow-wrap:anywhere}
.space-remove{justify-self:start;border:0;border-bottom:1px solid;background:transparent;font:inherit;padding:8px 0;cursor:pointer}
.space-consent{display:flex;align-items:flex-start;gap:10px;font-size:14px;line-height:1.5;margin-top:18px}.space-consent input{accent-color:#d71920;flex:0 0 18px;width:18px;height:18px;margin-top:2px}
.space-availability,.space-privacy{font-size:14px;line-height:1.5;margin-top:18px;color:#63675f}.space-availability a{text-decoration:underline;white-space:nowrap}.space-privacy{font-size:13px}
.space-error,.space-submit-error{font-size:14px;color:#a01219;line-height:1.5}.space-error:empty,.space-submit-error:empty{display:none}.space-error:not(:empty),.space-submit-error:not(:empty){margin-top:12px}
.space-bot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.enquiry-submit:disabled{opacity:.45;cursor:not-allowed;transform:none}
.space-receipt{padding:28px;animation:space-note-in .65s ease-out;background:#eeede7;border:1px solid #deded5}
.space-receipt-brand{font-family:FarsightSerif,Georgia,serif;font-size:30px;display:block;margin-bottom:50px}.space-receipt-brand small{display:block;font-size:12px;letter-spacing:.26em;margin:6px 0}
.space-receipt h3{font-size:clamp(30px,3.2vw,48px);line-height:1.05;letter-spacing:-.035em;font-weight:500;margin:22px 0}.space-receipt p{font-size:16px;line-height:1.7;margin:24px 0}.space-receipt>small{display:block;line-height:1.6;font-size:14px;color:#61645c}.space-receipt>a{display:inline-block;margin-top:36px;border-bottom:1px solid;padding:10px 0}
.space-receipt[hidden],.space-preview[hidden],#project-enquiry[hidden],.space-drop>label[hidden],.space-consent[hidden],#space-verification[hidden],.space-availability[hidden]{display:none}
@keyframes space-note-in{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@media(max-width:700px){.next-space-foot{flex-direction:column;align-items:flex-start;font-size:10px;gap:8px}.next-space-action{font-size:11px}.photo-option summary{gap:8px}.photo-option summary small{font-size:10px}.space-receipt{padding:22px}}
@media(prefers-reduced-motion:reduce){.next-space *,.space-receipt{animation:none!important;transition:none!important}.next-space-copy h2>span,.next-space-copy p{opacity:1;transform:none}.next-space-sketch{opacity:.94!important;transform:none!important}.next-space-wash,.next-space-action{opacity:1;transform:none}}

/* The room lights up as the surrounding collection settles into dusk. */
body.projects-page::after{content:"";position:fixed;inset:0;z-index:60;pointer-events:none;visibility:hidden;opacity:0;background:linear-gradient(160deg,rgba(13,16,20,.69),rgba(6,8,12,.84));transition:opacity 1.55s cubic-bezier(.22,.61,.36,1),visibility 0s linear 1.55s}
body.projects-page.is-next-space-dusk::after{visibility:visible;opacity:1;transition:opacity 1.55s cubic-bezier(.22,.61,.36,1),visibility 0s}
.projects-page .next-space:is(:hover,:focus-visible,.is-lit){z-index:61}
.projects-page .next-space .next-space-realized{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:right bottom;z-index:1;pointer-events:none;opacity:0;filter:brightness(.7) saturate(.58);transform:scale(1.025);transition:opacity 1.15s ease,filter 1.15s ease,transform 1.15s ease}
.projects-page .next-space:is(:hover,:focus-visible,.is-lit) .next-space-realized{opacity:.96;filter:brightness(.92) saturate(.89);transform:scale(1);transition:opacity 3.8s .5s cubic-bezier(.25,.1,.35,1),filter 3.8s .5s cubic-bezier(.25,.1,.35,1),transform 3.8s .5s cubic-bezier(.22,1,.36,1)}
.projects-page .next-space .next-space-lighting{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center bottom;pointer-events:none;mix-blend-mode:screen;z-index:2}
.next-space-ambience,.next-space-mezzanine-led,.next-space-kitchen-led,.next-space-fixture-glow{opacity:0;transition:opacity 1.55s cubic-bezier(.32,0,.18,1)}
.next-space:is(:hover,:focus-visible,.is-lit) .next-space-ambience{opacity:.58;transition-delay:.5s}
.next-space:is(:hover,:focus-visible,.is-lit) .next-space-fixture-glow{opacity:.7;transition-duration:2.4s;transition-delay:1.35s}
.next-space:is(:hover,:focus-visible,.is-lit) .next-space-mezzanine-led{opacity:.84;transition-delay:1.35s}
.next-space:is(:hover,:focus-visible,.is-lit) .next-space-kitchen-led{opacity:.65;transition-delay:2.25s}
.next-space-mezzanine-led path,.next-space-kitchen-led path{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.8s linear}
.next-space:is(:hover,:focus-visible,.is-lit) .next-space-mezzanine-led path{stroke-dashoffset:0;transition-delay:1.35s}
.next-space:is(:hover,:focus-visible,.is-lit) .next-space-kitchen-led path{stroke-dashoffset:0;transition-delay:2.25s}
.next-space-stairs .stair-light{opacity:0;transition:opacity .62s ease-in-out}
.next-space:is(:hover,:focus-visible,.is-lit) .next-space-stairs .stair-light{opacity:.82}
.next-space:is(:hover,:focus-visible,.is-lit) .next-space-stairs .stair-light:nth-child(1){transition-delay:2.56s}
.next-space:is(:hover,:focus-visible,.is-lit) .next-space-stairs .stair-light:nth-child(2){transition-delay:2.78s}
.next-space:is(:hover,:focus-visible,.is-lit) .next-space-stairs .stair-light:nth-child(3){transition-delay:3s}
.next-space:is(:hover,:focus-visible,.is-lit) .next-space-stairs .stair-light:nth-child(4){transition-delay:3.22s}
.next-space:is(:hover,:focus-visible,.is-lit) .next-space-stairs .stair-light:nth-child(5){transition-delay:3.44s}
.next-space:is(:hover,:focus-visible,.is-lit) .next-space-stairs .stair-light:nth-child(6){transition-delay:3.66s}
.next-space:is(:hover,:focus-visible,.is-lit) .next-space-stairs .stair-light:nth-child(7){transition-delay:3.88s}
.projects-page .next-space .next-space-wash{z-index:3}
.projects-page .next-space .next-space-copy,.projects-page .next-space .next-space-foot{z-index:4}
.projects-page .next-space:before{inset:3px;box-shadow:0 0 3px 3px #fff1d4,0 0 17px 10px #ffe1a9d0,0 0 50px 22px #f7c98a88,0 25px 82px 31px #e7b67a59;transition:opacity 1.45s cubic-bezier(.22,.61,.36,1),transform 1.2s cubic-bezier(.22,1,.36,1)}
.projects-page .next-space:is(:hover,:focus-visible,.is-lit):before{transform:translateY(-17px) scale(1.01)}
.projects-page .next-space:is(:hover,:focus-visible,.is-lit) .next-space-surface{transform:translateY(-17px) scale(1.01);box-shadow:inset 0 0 0 2px #ffe8b9d8,inset 0 0 21px 3px #e9bf7ca6,0 28px 62px -15px #0009}
@media(max-width:700px){.projects-page .next-space:is(:hover,:focus-visible,.is-lit) .next-space-surface{transform:translateY(-5px);box-shadow:inset 0 0 0 1px #ffe8b9b0,inset 0 0 12px 1px #e9bf7c80,0 15px 30px -12px #0008}.projects-page .next-space:is(:hover,:focus-visible,.is-lit):before{transform:translateY(-5px)}}
@media(prefers-reduced-motion:reduce){body.projects-page::after,.next-space-realized,.next-space-ambience,.next-space-fixture-glow,.next-space-mezzanine-led,.next-space-kitchen-led,.next-space-mezzanine-led path,.next-space-kitchen-led path,.next-space-stairs .stair-light{transition:none!important}.next-space-mezzanine-led path,.next-space-kitchen-led path{stroke-dashoffset:0!important}.projects-page .next-space:is(:hover,:focus-visible,.is-lit):before{transform:none!important}}

/* A narrow architectural joint keeps paired projects distinct without lifting them. */
.projects-page .portfolio-grid{column-gap:clamp(7px,.75vw,13px)}
.projects-page .portfolio-grid>.portfolio-card,.projects-page .portfolio-grid>.next-space{box-shadow:0 0 0 1px #a8a39b66,0 8px 18px -15px #1119}
@media(max-width:700px){.projects-page .portfolio-grid{column-gap:6px}}
