@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Playfair+Display:wght@400;500&display=swap');
:root{color:#20201d;background:#f7f7f4;font-family:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button{font:inherit}header{position:sticky;top:0;background:#f7f7f4ed;backdrop-filter:blur(15px);z-index:10;border-bottom:1px solid #d7d7d0}.top{max-width:1500px;margin:auto;min-height:86px;padding:17px 4.5%;display:flex;align-items:center;gap:34px}.brand{font-size:.82rem;line-height:1.25;font-weight:600;letter-spacing:.03em;min-width:210px}.brand span{display:block;font-weight:400;color:#696962;margin-top:4px}nav{margin-left:auto;display:flex;align-items:center;gap:clamp(13px,1.5vw,30px)}nav a{font-size:.83rem;white-space:nowrap}nav a[aria-current]{border-bottom:1px solid;padding-bottom:5px}.etsy{border:1px solid #262622;padding:12px 16px!important;white-space:nowrap;font-size:.8rem}.etsy:hover,.button.dark:hover{background:#42423c;color:#fff}.menu{display:none}main{max-width:1500px;margin:auto;padding:0 4.5%}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:'Playfair Display',Georgia,serif;font-weight:400}h1{font-size:clamp(3.5rem,7.8vw,8.7rem);letter-spacing:-.055em;line-height:1.02}h2{font-size:clamp(2.4rem,4.5vw,5rem);letter-spacing:-.04em;line-height:1.1}h3{font-size:clamp(1.6rem,2.6vw,2.7rem);letter-spacing:-.025em}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.72rem;font-weight:600;color:#686860}.home-hero{padding:clamp(75px,10vw,155px) 0 70px;max-width:1120px}.home-hero h1{max-width:1050px}.subtitle{font-family:'Playfair Display',Georgia,serif;font-size:clamp(1.3rem,2.2vw,2rem);margin:28px 0 30px}.lead{max-width:660px;font-size:clamp(1.1rem,1.6vw,1.45rem);line-height:1.55;color:#55554f}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:42px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:13px 23px;border:1px solid #282824;font-size:.85rem;font-weight:600}.button.dark{background:#262622;color:#fff}.button.muted{border-color:#b3b3aa;color:#66665e}.section{padding:100px 0;border-top:1px solid #d2d2ca}.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:35px}.section-head h2{max-width:760px;margin:0}.section-head a{font-size:.88rem;border-bottom:1px solid;padding-bottom:5px}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.card{display:block}.frame{aspect-ratio:4/5;border:1px solid #d7d7cf;background:#ebebe6;display:flex;align-items:center;justify-content:center;padding:30px;text-align:center;color:#77776f;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;line-height:1.6}.frame.wide{aspect-ratio:16/10}.frame.dark{background:#30312f;color:#c4c5bf;border-color:#30312f}.frame.light{background:#dedfd9}.card h3{margin:20px 0 8px}.card p,.intro p{color:#62625b;line-height:1.65;max-width:600px}.card p{font-size:.95rem}.card:hover h3{text-decoration:underline;text-underline-offset:5px}.page-head{padding:100px 0 55px;max-width:1020px}.page-head h1{font-size:clamp(3.8rem,8vw,8.5rem);margin:20px 0 28px}.page-head .lead{margin-bottom:0}.feature{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center;padding-bottom:100px}.feature .frame{aspect-ratio:5/4}.feature p{font-size:1.15rem;line-height:1.7;color:#595952}.quiet-note{font-size:.85rem;color:#77776f;border-top:1px solid #d2d2ca;padding:18px 0}.split{display:grid;grid-template-columns:1fr 1fr;gap:8vw}.split p{line-height:1.7;color:#5d5d56}.footer{border-top:1px solid #d2d2ca;margin-top:60px}.footer-inner{max-width:1500px;margin:auto;padding:55px 4.5% 30px;display:flex;justify-content:space-between;gap:35px;color:#55554e;font-size:.82rem}.footer a{text-decoration:underline;text-underline-offset:4px}.footer-links{display:flex;gap:25px;flex-wrap:wrap}.footer small{color:#85857d}.info{border-left:1px solid #aaa99f;padding-left:25px;max-width:690px;line-height:1.7;color:#55554e}.pending{cursor:default}.pending:focus-visible{outline:2px solid #222;outline-offset:3px}@media(max-width:1080px){.top{flex-wrap:wrap}.brand{min-width:unset}nav{order:3;width:100%;margin:0;overflow-x:auto;padding:10px 0 2px;gap:23px}.top>.etsy{margin-left:auto}}@media(max-width:700px){.top{min-height:72px;padding:14px 5%}.brand{font-size:.72rem}.top>.etsy{padding:10px;font-size:.7rem}nav{gap:20px}.home-hero{padding:72px 0 65px}.home-hero h1{font-size:clamp(3.4rem,14vw,5.7rem)}.page-head{padding:70px 0 45px}.page-head h1{font-size:clamp(3.5rem,13vw,6rem)}.grid,.feature,.split{grid-template-columns:1fr}.section{padding:70px 0}.section-head{align-items:start;flex-direction:column}.feature{gap:30px;padding-bottom:70px}.footer-inner{flex-direction:column}.frame{aspect-ratio:5/4}.lead{font-size:1.1rem}}

/* V1 gallery refinements */
.home-hero{padding:clamp(38px,5vw,72px) 0 64px;max-width:1250px}.home-hero h1{font-size:clamp(2.8rem,5.3vw,6rem);max-width:1200px;line-height:1.08;letter-spacing:-.045em}.home-hero .subtitle{margin:22px 0 19px}.home-hero .actions{margin-top:30px}.home-gateways{grid-template-columns:repeat(4,minmax(0,1fr))}.home-gateways .frame{aspect-ratio:4/4.5}.collection-section{padding-top:45px}.rooms{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:90px 26px}.room{min-width:0}.room>.frame{aspect-ratio:16/10}.room-copy{display:flex;justify-content:space-between;align-items:end;gap:20px;padding:26px 0 20px}.room-copy h2{font-size:clamp(1.85rem,2.6vw,3rem);margin:0 0 10px}.room-copy p:not(.eyebrow){color:#62625b;line-height:1.6;max-width:420px;margin:0}.room-actions{display:flex;flex-direction:column;align-items:flex-start;gap:13px;flex:0 0 155px}.text-link{font-size:.81rem;border-bottom:1px solid #77776f;padding-bottom:5px;line-height:1.4}.works{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;border-top:1px solid #d2d2ca;padding-top:18px}.work-slot{aspect-ratio:4/3;border:1px solid #d7d7cf;color:#77776f;font-size:.72rem;line-height:1.5;display:flex;justify-content:center;align-items:center;text-align:center;padding:10px}.room-note{font-size:.85rem;color:#77776f;border-top:1px solid #d2d2ca;padding-top:18px}@media(max-width:1050px){.home-gateways{grid-template-columns:repeat(2,minmax(0,1fr))}.rooms{gap:75px 22px}.room-copy{display:block}.room-actions{margin-top:20px}}@media(max-width:700px){.home-hero{padding:38px 0 55px}.home-hero h1{font-size:clamp(2.5rem,10.5vw,4.25rem);line-height:1.1}.home-gateways{grid-template-columns:1fr 1fr;gap:16px}.home-gateways .frame{aspect-ratio:1/1;padding:12px;font-size:.65rem}.home-gateways h3{font-size:1.5rem}.rooms{grid-template-columns:1fr;gap:65px}.room-copy{padding-top:23px}.works{gap:6px}.work-slot{font-size:.65rem}}

/* City Stories and photography editorial pages */
.room-status{font-size:.85rem;color:#77776f}.primary-link{font-weight:600;border-color:#20201d}.city-intro .split{align-items:start}.city-intro p,.place-region .section-head p,.process p:not(.eyebrow),.subject p,.documentary p,.photo-more p{color:#62625b;line-height:1.7}.city-intro p{font-size:1.2rem}.process{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.process .frame{margin-bottom:25px}.process h3{margin-bottom:9px}.process p{margin-bottom:5px}.subject-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:55px 24px}.subject h3{margin:18px 0 5px}.subject .frame{aspect-ratio:16/9}.subject p{font-size:.9rem}.place-region .section-head p{max-width:350px}.photo-head{padding-bottom:65px}.photo-head .subtitle{margin-top:0}.photo-opening .frame{aspect-ratio:19/8}.photo-area .section-head{margin-bottom:30px}.photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.photo-grid .photo-slot:first-child{grid-column:1/-1;aspect-ratio:16/7}.photo-grid .photo-slot:not(:first-child){aspect-ratio:4/3}.documentary .split{margin-bottom:40px}.documentary>.frame{aspect-ratio:19/8}.photo-more{max-width:900px}.photo-more .quiet-note{margin-top:50px}.photo-more .actions{margin-bottom:20px}@media(max-width:700px){.process,.subject-grid{grid-template-columns:1fr}.process{gap:45px}.subject-grid{gap:45px}.photo-grid{gap:8px}.photo-grid .photo-slot:first-child{aspect-ratio:4/3}.photo-grid .photo-slot:not(:first-child){aspect-ratio:3/4;padding:10px;font-size:.65rem}.photo-opening .frame,.documentary>.frame{aspect-ratio:5/4}.city-intro p{font-size:1.05rem}}

/* Custom Work, About and Contact content */
.custom-opening,.about-opening{padding-top:15px}.lane-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.lane-grid article{border-top:1px solid #77776f;padding-top:18px}.lane-grid span{color:#83837b;font-size:.8rem}.lane-grid h3{font-size:clamp(1.5rem,2.1vw,2.2rem);margin:26px 0 12px}.lane-grid p,.projects-head p,.custom-close p,.strand p,.about-opening p,.contact-layout p{color:#62625b;line-height:1.7}.service-list{list-style:none;margin:0;padding:0;columns:2;column-gap:30px}.service-list li{break-inside:avoid;border-top:1px solid #d2d2ca;padding:14px 0;font-size:1.04rem}.custom-close{max-width:850px}.custom-close p:not(.eyebrow){font-size:1.12rem;max-width:700px;margin-bottom:30px}.about-strands{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}.strand{border-top:1px solid #77776f;padding-top:18px}.strand h3{margin:22px 0 10px}.about-progression p:not(.eyebrow),.process-line{font-family:'Playfair Display',Georgia,serif;font-size:clamp(1.25rem,2vw,2.1rem);line-height:1.8;max-width:1000px}.about-progression span,.process-line span{color:#99998f;padding:0 .2em}.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin:35px 0 85px}.principles h3{border-top:1px solid #77776f;padding-top:23px}.process-label{margin-bottom:18px}.contact-head h1{font-size:clamp(3.5rem,6.5vw,7rem)}.contact-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:8vw}.contact-layout h2{font-size:clamp(2.4rem,3.5vw,4rem)}.contact-side{display:flex;flex-direction:column;align-items:start;gap:14px;margin-top:55px}.contact-side p{margin:0}.contact-side a{border-bottom:1px solid;padding-bottom:4px;font-size:.95rem}.enquiry-form{border-top:1px solid #77776f;padding-top:25px}.field{display:flex;flex-direction:column;gap:10px;margin-bottom:25px}.field label{font-size:.9rem;font-weight:600}.field label span{font-weight:400;color:#77776f}.field input,.field select,.field textarea{width:100%;font:inherit;font-size:1rem;color:#20201d;background:#f7f7f4;border:1px solid #bcbcb3;border-radius:0;padding:14px;min-height:52px}.field textarea{resize:vertical}.enquiry-form button:disabled{opacity:.55;cursor:not-allowed}.form-note{font-size:.85rem;margin-top:15px}.confirmation-preview{border-top:1px solid #d2d2ca;margin-top:35px;padding-top:18px;color:#5d5d56}.confirmation-preview summary{cursor:pointer;font-size:.9rem}.confirmation-preview p{border-left:2px solid #77776f;padding-left:18px;margin-top:20px}@media(max-width:900px){.lane-grid{grid-template-columns:repeat(2,1fr)}.contact-layout{grid-template-columns:1fr;gap:50px}.contact-side{margin-top:30px}}@media(max-width:700px){.lane-grid,.about-strands,.principles{grid-template-columns:1fr;gap:22px}.service-list{columns:1}.principles{margin-bottom:65px}.contact-layout{padding-top:60px}}

/* Shared editorial footer */
.footer-inner{display:grid;grid-template-columns:minmax(220px,1.2fr) minmax(0,2fr);gap:8vw;padding-bottom:55px}.footer-brand strong{display:block;max-width:285px;line-height:1.5;font-size:.9rem}.footer-brand p{margin:13px 0 22px}.footer-columns{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.footer-columns>div{display:flex;flex-direction:column;align-items:start;gap:13px}.footer-columns h2{font:600 .72rem 'DM Sans',Arial,sans-serif;text-transform:uppercase;letter-spacing:.15em;color:#696962;margin:0 0 9px}.footer-columns a{font-size:.86rem;text-decoration:none;line-height:1.4}.footer-columns a:hover{text-decoration:underline;text-underline-offset:4px}.footer-columns a span{display:block;color:#85857d;font-size:.72rem}.footer-bottom{max-width:1500px;margin:auto;padding:23px 4.5% 38px;border-top:1px solid #d2d2ca;font-size:.8rem;color:#62625b}.footer-bottom p{margin:0 0 14px}.footer-notes{display:flex;gap:8px 18px;flex-wrap:wrap;color:#85857d;font-size:.72rem}.footer-notes span{scroll-margin-top:135px}.legal-head{min-height:55vh}@media(max-width:1050px){.footer-inner{grid-template-columns:1fr;gap:35px}.footer-columns{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:700px){.footer-inner{padding-top:45px}.footer-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:35px 20px}.footer-notes{display:block}.footer-notes span{display:block;margin-bottom:5px}.legal-head{min-height:40vh}}

/* Official supporting brand badge on About */
.about-badge{display:block;width:min(100%,245px);height:auto;aspect-ratio:1;margin:26px auto 0;object-fit:contain;clip-path:circle(50% at 50% 50%)}@media(max-width:700px){.about-badge{width:190px;margin-top:22px}}
/* Supplied original photographs: preserve proportions within approved gallery slots. */
.frame:has(> img){padding:0;overflow:hidden}
.frame > img{display:block;width:100%;height:100%;object-fit:contain;min-width:0}
.photo-opening .frame.filled,.photo-grid .photo-slot.filled{aspect-ratio:auto!important}
.photo-opening .frame.filled > img,.photo-grid .photo-slot.filled > img{width:100%;height:auto;object-fit:contain}
.home-feature-photo > img{object-fit:cover;object-position:center center}
/* Launch cleanup: text-led rooms and real-image galleries. */
.home-gateways .frame .panel-word{font-family:'Playfair Display',Georgia,serif;text-transform:none;letter-spacing:-.035em;font-size:clamp(1.7rem,2.6vw,3rem);line-height:1.15;color:#44443f}
.room{border-top:1px solid #8f8f86;padding-top:8px}
.room-copy{min-height:220px;align-items:start}
.room-copy h2{max-width:480px}
.process-type{aspect-ratio:16/10;display:flex;align-items:center;justify-content:center;border:1px solid #d7d7cf;color:#696962;font-family:'Playfair Display',Georgia,serif;font-size:clamp(1.8rem,3vw,3.5rem);letter-spacing:.06em;margin-bottom:25px;background:#ebebe6}
.process article:nth-child(3) .process-type{background:#30312f;color:#c4c5bf;border-color:#30312f}
.subject{border-top:1px solid #a8a8a0;padding-top:18px}.subject h3{margin:0}
.city-bridge{max-width:880px}.city-bridge p:not(.eyebrow){font-size:1.15rem;line-height:1.7;color:#595952}
.text-opening{max-width:890px;padding:10px 0 100px}.text-opening h2{max-width:750px}.text-opening p:not(.eyebrow){font-size:1.15rem;line-height:1.7;color:#595952;max-width:700px}.text-opening .button{margin-top:13px}
.photo-grid.single-photo{display:block}.photo-grid.single-photo .photo-slot{width:100%}
.documentary .split{margin-bottom:0}.legal-copy{max-width:850px}.legal-copy h2{font-size:clamp(1.8rem,3vw,3rem);margin:30px 0 12px}.legal-copy p{font-size:1.08rem;line-height:1.75;color:#55554f}.legal-copy a{text-decoration:underline;text-underline-offset:4px}
@media(max-width:700px){.room-copy{min-height:0}.text-opening{padding-bottom:70px}.process-type{aspect-ratio:16/10}}

/* Home gateways without artwork retain their existing grid cells. */
.home-gateways .card.typography-only{display:flex;flex-direction:column;justify-content:center;align-self:stretch}

/* Keep each arrow attached to the item it introduces on About. */
.about-progression .sequence-unit,.process-line .sequence-unit{display:inline-block;white-space:nowrap;padding:0;color:inherit}
.about-progression .sequence-unit>span,.process-line .sequence-unit>span{color:#99998f;padding:0 .2em}
.process-line{font-size:clamp(1.15rem,1.7vw,1.85rem)}
@media(min-width:1050px){.process-line{white-space:nowrap}}
.home-gateways .card.typography-only h3{margin-top:0}

/* About progression reads as one line at normal desktop widths. */
@media(min-width:900px){.about-progression p:not(.eyebrow){font-size:clamp(1.15rem,1.65vw,1.75rem);white-space:nowrap}}

/* Collections Phase 1: compact editorial thumbnails for selected rooms. */
.room.has-thumb{display:grid;grid-template-columns:minmax(150px,190px) minmax(0,1fr);gap:26px;align-items:start}
.room-thumb{height:230px;border:1px solid #d7d7cf;background:#efefe9;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:10px}
.room-thumb img{display:block;width:100%;height:100%;object-fit:contain;object-position:center}
.room.has-thumb .room-copy{min-height:230px;padding:8px 0 0;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start}
.room.has-thumb .room-actions{flex:0 0 auto;margin-top:22px}
@media(max-width:1050px){.room.has-thumb{grid-template-columns:145px minmax(0,1fr);gap:20px}.room-thumb{height:190px}.room.has-thumb .room-copy{min-height:190px}}
@media(max-width:700px){.room.has-thumb{grid-template-columns:112px minmax(0,1fr);gap:15px}.room-thumb{height:150px;padding:6px}.room.has-thumb .room-copy{min-height:150px;padding-top:3px}.room.has-thumb .room-copy h2{font-size:1.7rem}.room.has-thumb .room-copy p:not(.eyebrow){font-size:.88rem}.room.has-thumb .room-actions{margin-top:14px}}


/* City Stories Phase 1: compact landmark thumbnails; undeveloped stories remain text-only. */
.subject.has-thumb{display:grid;grid-template-columns:120px minmax(0,1fr);gap:18px;align-items:center;min-height:138px;padding-top:14px}
.city-subject-thumb{width:120px;height:120px;border:1px solid #d7d7cf;background:#efefe9;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:7px}
.city-subject-thumb img{display:block;width:100%;height:100%;object-fit:contain;object-position:center}
.subject.has-thumb .subject-copy{min-width:0}
.subject.has-thumb h3{font-size:clamp(1.45rem,2.1vw,2.2rem);line-height:1.12}
@media(max-width:900px){.subject.has-thumb{grid-template-columns:105px minmax(0,1fr);min-height:120px}.city-subject-thumb{width:105px;height:105px}}
@media(max-width:700px){.subject.has-thumb{grid-template-columns:92px minmax(0,1fr);gap:14px;min-height:105px}.city-subject-thumb{width:92px;height:92px;padding:5px}.subject.has-thumb h3{font-size:1.55rem}}
