@font-face{font-family:Montserrat;src:url('assets/montserrat-400.woff') format('woff');font-weight:400;font-display:swap}@font-face{font-family:Montserrat;src:url('assets/montserrat-600.woff') format('woff');font-weight:600;font-display:swap}@font-face{font-family:Montserrat;src:url('assets/montserrat-800.woff') format('woff');font-weight:800;font-display:swap}
:root{--paper:#f9f7f3;--white:#fff;--ink:#252922;--muted:#62655f;--line:#dcded5;--accent:#edb64a;--warm:#efebe3;--serif:Georgia,'Times New Roman',serif;--width:1280px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.75 Montserrat,Arial,sans-serif}h1,h2,h3,p,figure{margin:0}h1,h2,h3{line-height:1.13}h1{font-size:clamp(2.7rem,5.1vw,4.65rem);font-weight:600;letter-spacing:-.055em}h2{font-size:clamp(2rem,3.5vw,3.25rem);font-weight:600;letter-spacing:-.045em}h3{font-size:1.22rem;font-weight:600;letter-spacing:-.025em;line-height:1.35}em{font-family:var(--serif);font-weight:400;letter-spacing:-.035em}p{color:var(--muted);max-width:70ch}p+p{margin-top:18px}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #916510;outline-offset:5px}button{color:inherit}img{max-width:100%;display:block}address{font-style:normal;line-height:1.9;margin:24px 0}section[id],article[id]{scroll-margin-top:115px}.skip{position:fixed;top:8px;left:8px;padding:12px;background:#fff;z-index:1000;transform:translateY(-160%)}.skip:focus{transform:none}header{position:sticky;top:0;z-index:50;background:rgba(249,247,243,.97);border-bottom:1px solid var(--line)}.header-inner{max-width:1440px;margin:auto;padding:22px 40px;display:flex;align-items:center;gap:28px}.brand{display:block;width:166px;flex-shrink:0;line-height:1}.brand img{width:100%;height:auto}.brand span{font-size:11px;letter-spacing:.18em;display:block;text-align:center;margin-top:7px}nav{display:flex;gap:24px;margin-left:auto}nav a{font-size:14px;white-space:nowrap;font-weight:600}nav a:hover,nav a[aria-current]{text-decoration:underline;text-underline-offset:6px}.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;background:var(--accent);padding:16px 23px;border:1px solid transparent;font-weight:600;line-height:1.4;font-size:15px;min-height:50px;transition:background .2s}.button:hover{background:#e5a829}.button span{font-size:20px}.header-inner>.button{padding:12px 18px;font-size:14px;min-height:44px}.text-link{display:inline-flex;gap:25px;align-items:center;font-weight:600;border-bottom:1px solid currentColor;padding:9px 0;line-height:1.5}.text-link:hover{color:#896017}.text-link+.text-link{margin-left:24px}.menu-toggle{display:none;width:44px;height:44px;border:0;background:none;padding:9px}.menu-toggle span{display:block;height:2px;background:currentColor;margin:7px 0}main{max-width:var(--width);padding:0 40px;margin:auto}.hero{padding:64px 0 48px;min-height:530px}.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:center}.hero.split{gap:50px;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr)}.hero.text-hero{min-height:0;max-width:950px;padding:70px 0}.eyebrow{font-size:12px;letter-spacing:.15em;text-transform:uppercase;font-weight:600;color:var(--ink);margin-bottom:24px}.lead{font-size:18px;line-height:1.85;margin-top:24px;max-width:60ch}.actions{display:flex;gap:26px;flex-wrap:wrap;align-items:center;margin-top:32px}.hero-photo img{aspect-ratio:1.03;object-fit:cover;object-position:50% 50%}.photo{min-width:0}.photo a{display:block;overflow:hidden}.photo img{width:100%;height:auto;transition:filter .2s}.photo a:hover img{filter:brightness(.97)}.photo figcaption{font-size:12px;line-height:1.5;color:var(--muted);margin-top:12px}.photo figcaption span{display:block;text-transform:uppercase;font-size:10px;letter-spacing:.1em;color:var(--ink);margin-bottom:4px}.photo.portrait{max-width:390px;width:100%;justify-self:center}.photo.portrait img{height:auto}.photo.jana img{aspect-ratio:1;object-fit:cover;object-position:50% 25%}.photo.plan{max-width:310px;justify-self:center}.photo.diagram img{background:#f4f1eb}.section{padding:80px 0;border-top:1px solid var(--line)}.section-heading{max-width:790px;margin-bottom:40px}.section-heading p:not(.eyebrow){margin-top:22px}.section-heading p:empty{display:none}.split h2+p{margin-top:24px}.split p+.text-link,.split address+.text-link{margin-top:18px}.warm,.dark,.partner-band{position:relative}.warm:before,.dark:before,.partner-band:before{content:'';position:absolute;z-index:-1;inset:0 calc((min(100vw,1280px) - 100vw)/2 - 40px);background:var(--warm)}.warm,.dark,.partner-band{isolation:isolate}.dark{color:#fff}.dark:before{background:#29332c}.dark p,.dark .index{color:#d2d7d1}.dark .eyebrow{color:#f0c777}.dark .cards article{border-color:#607066}.benefit-bar{display:flex;gap:20px;justify-content:space-between;padding:23px 0 32px;font-size:13px;font-weight:600;border-bottom:1px solid var(--line)}.benefit-bar span{display:flex;gap:10px;align-items:center}.benefit-bar span:before{content:'✓';font-size:15px;color:#7a6031}.task-section{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px}.task-list>a{display:flex;gap:22px;padding:24px 0;border-bottom:1px solid var(--line)}.task-list>a:first-child{padding-top:0}.task-list>a:hover h3{text-decoration:underline}.task-list>a>span,.index{font-size:12px;color:#8b7760}.task-list h3{font-size:1.2rem}.task-list p{font-size:14px;line-height:1.65;margin-top:8px}.task-list b{font-size:23px;font-weight:400;margin-left:auto}.service-links{display:grid;grid-template-columns:repeat(2,1fr);gap:0 60px;margin-bottom:32px}.service-links a{display:flex;justify-content:space-between;padding:18px 0;border-color:#cdc8bd;margin:0}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}.cards:has(article:nth-child(4)){grid-template-columns:repeat(4,1fr)}.cards article{border-top:1px solid var(--line);padding-top:22px}.cards h3{margin:17px 0}.cards p{font-size:15px;line-height:1.8}.small{font-size:13px;line-height:1.7;margin-top:24px}.city-list{display:flex;flex-wrap:wrap;gap:10px}.city-list span{border:1px solid var(--line);padding:10px 18px;font-size:14px}.partner-band{display:flex;align-items:center;justify-content:space-between;gap:50px}.partner-band:before{background:#e2e4da}.partner-band p:not(.eyebrow){margin-top:24px;max-width:65ch}.partner-band>.button{flex-shrink:0}.faq{max-width:900px}.faq details{border-bottom:1px solid var(--line);padding:23px 0}.faq summary{cursor:pointer;font-weight:600;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:24px}.faq summary:after{content:'+';font-weight:400;font-size:28px}.faq details[open] summary:after{content:'−'}.faq details p{margin-top:18px;padding-right:35px}.cta{display:flex;justify-content:space-between;align-items:center;gap:40px}.cta p:not(.eyebrow){margin-top:24px}.cta .button{flex-shrink:0}.jump-links{display:flex;flex-wrap:wrap;gap:10px;padding-bottom:45px}.jump-links .text-link{border:1px solid var(--line);margin:0;font-size:13px;padding:10px 14px;gap:16px}.service-detail{display:grid;grid-template-columns:70px 1fr;gap:20px;padding:36px 0;border-bottom:1px solid var(--line)}.service-detail h2{font-size:1.7rem}.service-detail p{margin:17px 0;max-width:75ch}.service-detail .text-link{font-size:14px}.gallery{display:grid;gap:30px;align-items:start}.gallery.two{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery.three{grid-template-columns:repeat(3,minmax(0,1fr))}.gallery.natural.two{max-width:920px;margin:auto}.gallery.natural img{max-height:580px;width:auto;max-width:100%;margin:auto;object-fit:contain}.gallery.natural .photo a{background:transparent}.gallery.natural .photo figcaption{max-width:420px;margin:12px auto 0}.gallery.showroom .photo img{aspect-ratio:4/3;object-fit:cover}.gallery.showroom .photo:nth-last-child(-n+2) img{object-position:center 60%}.visit{display:grid;grid-template-columns:1fr 1fr;gap:70px}.visit h2{font-size:2rem}.visit .button{margin-top:22px}.contact-links{display:flex;flex-direction:column;align-items:flex-start;gap:9px;margin:26px 0;font-size:clamp(1.1rem,2vw,1.45rem);font-weight:600}.contact-links a{border-bottom:1px solid var(--line)}.form-layout{align-items:start}.enquiry{padding:28px;background:#fff;border:1px solid var(--line)}.enquiry label{display:block;font-size:13px;font-weight:600;margin-bottom:20px}.enquiry input,.enquiry select,.enquiry textarea{display:block;width:100%;min-height:46px;border:1px solid #bfc4ba;border-radius:0;background:#fff;padding:12px;margin-top:8px;font-size:16px;color:var(--ink);font-weight:400}.enquiry textarea{resize:vertical}.enquiry .small{margin:0 0 22px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.form-error{color:#8f261f;padding:12px;background:#fff0ec;margin-bottom:20px}.form-result{border-top:1px solid var(--line);margin-top:24px;padding-top:24px}.form-result .text-link{font-size:13px;border-top:0;border-left:0;border-right:0;background:none}.form-result p{font-size:14px}.legal{max-width:850px}.legal h2{font-size:1.5rem;margin:34px 0 18px}.notice{padding:22px;background:var(--warm);margin-top:30px;font-size:14px}.legal a,.small a{text-decoration:underline;text-underline-offset:3px}footer{background:#242b25;color:#fff;padding:65px max(40px,calc((100vw - 1200px)/2)) 24px}.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1.2fr .8fr;gap:38px}.footer-brand{font-family:var(--serif);font-size:40px;font-weight:bold;letter-spacing:-2px}.footer-grid p,.footer-grid a:not(.footer-brand){color:#d2d6d0;font-size:13px;line-height:1.9}.footer-grid h3{font-size:14px;margin-bottom:18px}.footer-grid a{display:block}.footer-grid p+p{margin-top:15px}.footer-bottom{border-top:1px solid #586156;margin-top:48px;padding-top:22px;display:flex;gap:20px;justify-content:space-between;font-size:12px;color:#c7cec5}.footer-bottom>div{display:flex;gap:24px}.photo-dialog{border:0;padding:20px;background:#f9f7f3;width:min(1200px,96vw);max-height:95dvh;color:var(--ink)}.photo-dialog::backdrop{background:#000b}.photo-dialog-bar,.photo-dialog-controls{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:15px}.photo-dialog button{background:transparent;border:1px solid #b8c1b4;padding:10px 16px;font-size:14px}.photo-dialog figure img{max-width:100%;max-height:70dvh;object-fit:contain;margin:auto}.photo-dialog figcaption{font-size:13px;margin:14px 0}.photo-dialog-controls{margin-bottom:0}body:has(dialog[open]){overflow:hidden}[hidden]{display:none!important}
@media(min-width:1440px){.warm:before,.dark:before,.partner-band:before{inset-inline:calc((1280px - 100vw)/2 - 40px)}}
@media(max-width:1150px){.header-inner{padding:18px 28px;gap:22px}.brand{width:145px}nav{gap:16px}nav a{font-size:12px}.header-inner>.button{font-size:12px;padding:12px}.split,.hero.split{gap:35px}.cards{gap:22px}.task-section{gap:40px}}
@media(max-width:1023px){nav{display:none;position:absolute;top:100%;left:0;right:0;padding:20px 28px;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:0 15px 20px #0001}nav.is-open{display:flex;flex-direction:column;gap:0}nav a{font-size:16px;padding:12px}.menu-toggle{display:block}.header-inner>.button{margin-left:auto}.cards:has(article:nth-child(4)){grid-template-columns:repeat(2,1fr)}.gallery.three{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-grid{grid-template-columns:repeat(2,1fr)}.hero{padding:45px 0}.hero h1{font-size:clamp(2.4rem,5vw,3.5rem)}.lead{font-size:16px}.hero-photo img{aspect-ratio:3/4}.hero .actions{gap:12px}.task-section{grid-template-columns:1fr}.section{padding:60px 0}.partner-band{align-items:start;flex-direction:column}.form-layout{grid-template-columns:1fr}.visit{gap:30px}.field-grid{gap:0 20px}}
@media(max-width:639px){body{font-size:16px}main{padding:0 20px}.header-inner{padding:15px 20px;gap:12px}.brand{width:128px}.brand span{font-size:9px}.header-inner>.button{display:none}.menu-toggle{margin-left:auto}.hero.split,.split,.visit{grid-template-columns:1fr;gap:30px}.hero{padding:38px 0}.hero h1{font-size:2.8rem}.hero.text-hero{padding:40px 0}.hero.text-hero h1{font-size:2.5rem}.hero-photo img{aspect-ratio:4/3;object-fit:cover}.hero .eyebrow{margin-bottom:18px}.hero .lead{font-size:16px;line-height:1.75;margin-top:20px}.hero .actions{margin-top:24px;gap:20px}.hero .button{font-size:14px;padding:14px 18px}.hero .text-link{font-size:13px}.benefit-bar{flex-direction:column;gap:8px;padding:18px 0 25px;font-size:12px}.section{padding:46px 0}h2{font-size:2rem}.eyebrow{font-size:11px;margin-bottom:17px}.section-heading{margin-bottom:28px}.warm:before,.dark:before,.partner-band:before{inset-inline:-20px}.task-list>a{gap:15px}.task-list h3{font-size:1.07rem}.task-list p{font-size:13px}.service-links{grid-template-columns:1fr;gap:0}.service-links a{font-size:14px}.cards,.cards:has(article:nth-child(4)){grid-template-columns:1fr;gap:28px}.cards h3{margin:10px 0}.index{font-size:12px}.gallery.three,.gallery.two{grid-template-columns:1fr}.gallery.natural img{max-height:none;max-width:100%;width:100%}.gallery.natural .photo{max-width:420px;margin:auto}.photo.portrait{max-width:390px}.story>.photo{order:2}.photo.jana{max-width:400px}.visit h2{font-size:1.65rem}.cta{flex-direction:column;align-items:flex-start;gap:25px}.city-list span{font-size:12px;padding:8px 12px}.service-detail{grid-template-columns:30px 1fr;gap:12px}.service-detail h2{font-size:1.4rem}.field-grid{grid-template-columns:1fr}.enquiry{padding:20px}.enquiry .text-link+.text-link{margin:15px 0 0}.footer-grid{grid-template-columns:1fr;gap:32px}footer{padding:42px 20px 24px}.footer-bottom{flex-direction:column;font-size:11px}.photo-dialog{padding:12px}.photo-dialog button{font-size:12px;padding:8px}.photo-dialog figure img{max-height:65dvh}.small{font-size:13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* V33: one photographic rhythm and denser, content-led sections. */
:root{--section-space:60px;--photo-gap:22px}
.hero,.hero.text-hero{min-height:0;padding:44px 0 36px}
.hero h1{font-size:clamp(2.45rem,4.4vw,3.8rem);line-height:1.1}
.hero .lead{margin-top:20px;line-height:1.7;font-size:17px}
.hero .eyebrow{margin-bottom:18px}
.hero .actions{margin-top:24px}
.section{padding-block:var(--section-space)}
.section-heading{margin-bottom:26px}
.section-heading .eyebrow{margin-bottom:15px}
.section-heading p:not(.eyebrow){margin-top:16px}
h2{font-size:clamp(1.9rem,3vw,2.8rem)}
.split,.hero.split{gap:36px;align-items:start}
.photo.portrait{max-width:none;justify-self:stretch}
.uniform-photo>a{display:block;aspect-ratio:4/3;width:100%;overflow:hidden}
.uniform-photo img,.gallery.natural .uniform-photo img,.gallery.showroom .uniform-photo img{width:100%;height:100%;max-width:none;max-height:none;object-fit:cover;object-position:var(--photo-position,50% 50%);margin:0;aspect-ratio:auto}
.hero>.uniform-photo>a{aspect-ratio:3/2}
.photo.wide>a{aspect-ratio:auto}
.photo.wide img{height:auto;object-fit:initial}
.photo figcaption,.gallery.natural .photo figcaption{margin:9px 0 0;max-width:none;min-height:0;font-size:12px;line-height:1.5}
.photo figcaption span{font-size:10px;margin-bottom:2px}
.gallery{gap:var(--photo-gap)}
.gallery.natural.two{max-width:none;margin:0}
.gallery.natural .photo{width:100%;max-width:none;margin:0}
.project-chapter{display:grid;grid-template-columns:minmax(210px,.7fr) minmax(0,1.7fr);gap:34px;align-items:start}
.project-chapter .section-heading{margin-bottom:0}
.project-chapter h2{font-size:clamp(1.5rem,2.3vw,2rem)}
.project-chapter .section-heading p:not(.eyebrow){font-size:14px;line-height:1.7}
.project-chapter .gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.project-chapter .gallery.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.photo.jana{max-width:360px;justify-self:end;width:100%}
.photo.jana img{aspect-ratio:1;object-fit:cover;object-position:50% 25%}
.photo.plan{max-width:190px;justify-self:center}
.planning-chapter .split{grid-template-columns:minmax(0,1.5fr) minmax(220px,.6fr);align-items:start}
.photo.diagram{max-width:960px;margin-inline:auto}
.task-section{gap:42px;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}
.task-list>a{padding:18px 0}
.task-list p{margin-top:5px}
.benefit-bar{padding:18px 0 24px}
.cards{gap:24px}.cards article{padding-top:16px}.cards h3{margin:12px 0}.cards p{line-height:1.7}
.service-links{gap:0 35px;margin-bottom:24px}.service-links a{padding:14px 0}
.service-detail{padding:27px 0}.service-detail p{margin:13px 0}
.jump-links{padding-bottom:30px}
.split h2+p{margin-top:18px}.split p+.text-link{margin-top:12px}
address{margin:18px 0;font-size:14px;line-height:1.8}
.faq details{padding:18px 0}
.cta{padding-block:34px}.cta h2{font-size:2rem}.cta p:not(.eyebrow){margin-top:12px;font-size:14px}
.partner-band{padding-block:42px}.partner-band p:not(.eyebrow){margin-top:16px}
footer{padding-top:46px}.footer-bottom{margin-top:32px}
@media(max-width:1023px){
 :root{--section-space:48px;--photo-gap:20px}
 .hero,.hero.text-hero{padding-top:34px}.hero h1{font-size:2.7rem}
 .split,.hero.split{gap:28px}
 .task-section{grid-template-columns:1fr;gap:18px}
 .project-chapter{grid-template-columns:1fr;gap:24px}
 .project-chapter .section-heading{max-width:700px}
 .project-chapter .gallery.three{grid-template-columns:repeat(3,minmax(0,1fr))}
 .planning-chapter .split{grid-template-columns:minmax(0,1fr) 190px}
 .form-layout{grid-template-columns:1fr}
}
@media(max-width:639px){
 :root{--section-space:36px;--photo-gap:16px}
 .hero,.hero.text-hero{padding:28px 0}.hero h1,.hero.text-hero h1{font-size:2.4rem}
 .hero .lead{font-size:16px;margin-top:16px}.hero .actions{margin-top:20px}
 .split,.hero.split,.planning-chapter .split{grid-template-columns:1fr;gap:24px}
 .hero>.uniform-photo>a{aspect-ratio:3/2}
 .section-heading{margin-bottom:22px}.section-heading .eyebrow{margin-bottom:12px}
 .gallery.two,.gallery.three,.project-chapter .gallery,.project-chapter .gallery.three{grid-template-columns:1fr}
 .project-chapter{gap:22px}.project-chapter h2{font-size:1.8rem}
 .photo.jana{max-width:320px;justify-self:start}.photo.plan{max-width:185px;justify-self:start}
 .planning-chapter .photo.plan{justify-self:center}
 .story>.photo{order:0}.task-list>a{padding:17px 0}
 .cards,.cards:has(article:nth-child(4)){gap:22px}
 .partner-band{padding-block:32px}.cta{padding-block:30px}.cta h2{font-size:1.8rem}
 footer{padding-top:34px}.footer-grid{gap:26px}
}

/* V34: landscape category imagery and an editorial partner enquiry. */
.specialties-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:38px 28px;padding:10px 0 44px}
.specialty-card{min-width:0;border-top:0;scroll-margin-top:120px}
.specialty-card h2{font-size:1.85rem;margin:20px 0 12px}
.specialty-card p{line-height:1.7;font-size:16px}
.specialty-card .text-link{margin-top:12px;font-size:14px}
.category-photo>a{aspect-ratio:auto;overflow:visible}
.category-photo img{width:100%;height:auto;object-fit:contain;aspect-ratio:4/3}
.category-photo figcaption{font-size:12px}
.partner-application-layout{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:64px;align-items:start}
.partner-intro h2{font-size:clamp(1.9rem,3vw,2.7rem)}
.partner-intro>p:not(.eyebrow){margin-top:20px}
.partner-contact{margin-top:32px;padding-top:24px;border-top:1px solid var(--line)}
.partner-contact .eyebrow{margin-bottom:12px}.partner-contact h3{font-size:1.2rem}
.partner-contact p:not(.eyebrow){font-size:14px;margin:8px 0 16px}
.partner-contact a{display:block;font-size:16px;margin:6px 0;text-decoration:underline;text-underline-offset:4px}
.partner-form{background:transparent;padding:0;border:0}
.partner-form .form-caption{display:flex;justify-content:space-between;gap:16px;padding-bottom:18px;border-bottom:1px solid var(--ink);margin-bottom:24px;color:var(--ink);font-weight:600}
.partner-form .form-caption span{font-size:13px;font-weight:400;color:var(--muted)}
.partner-form fieldset{border:0;padding:0;margin:0 0 20px;min-width:0}
.partner-form legend{font-size:18px;font-weight:600;margin-bottom:18px;padding:0}
.partner-form .field-grid{gap:0 24px}.partner-form .field-full{grid-column:1/-1}
.partner-form label{font-size:14px;font-weight:400;margin-bottom:18px}
.partner-form input,.partner-form textarea{border:0;border-bottom:1px solid #92968a;background:#fff9;padding:10px 12px;min-height:48px;margin-top:7px;transition:background .15s,border-color .15s}
.partner-form input:focus,.partner-form textarea:focus{background:#fff;border-color:var(--ink)}
.partner-form textarea::placeholder{font-size:14px;color:#767970}
.partner-form>.small{font-size:14px;line-height:1.6;max-width:60ch;margin-bottom:18px}
.partner-form .button{background:var(--ink);color:#fff;padding:16px 24px;min-width:240px;margin-bottom:20px}
.partner-form .button:hover{background:#414b3c}
.partner-form .form-result{background:var(--warm);padding:22px}
@media(max-width:1023px){.partner-application-layout{grid-template-columns:1fr;gap:32px}.partner-contact{max-width:480px}.partner-form{max-width:760px}}
@media(max-width:639px){.specialties-grid{grid-template-columns:1fr;gap:30px;padding-bottom:32px}.specialty-card h2{margin-top:16px}.partner-form .field-grid{grid-template-columns:1fr}.partner-form .button{width:100%;min-width:0}.partner-application-layout{gap:28px}}

/* V35: full frames, no photo links; compact consistent enquiry forms. */
.photo .photo-media{display:block;width:100%;overflow:visible;aspect-ratio:auto}
main .photo img,main .gallery .photo img,main .hero .photo img{width:100%;height:auto;max-width:100%;max-height:none;aspect-ratio:auto;object-fit:contain;margin:0;transition:none}
main .photo[data-orientation="portrait"]{max-width:310px;justify-self:center;width:100%}
main .hero .photo[data-orientation="portrait"]{max-width:290px}
main .photo.jana{max-width:280px}
main .gallery{grid-template-columns:var(--gallery-columns,repeat(2,minmax(0,1fr)));align-items:start}
main .gallery .photo[data-orientation="portrait"]{max-width:none}
main .gallery:has(>.photo[data-orientation="portrait"]):not(:has(>.photo[data-orientation="landscape"])){max-width:680px;margin-inline:auto;width:100%}
main .gallery.showroom{grid-template-columns:repeat(3,minmax(0,1fr))}
main .gallery.showroom .photo[data-orientation="portrait"]{max-width:240px}
.enquiry.premium-form{background:#f0eee7;border:0;border-top:2px solid #333d31;padding:24px;max-width:700px;width:100%}
.enquiry.premium-form .form-caption{border:0;padding:0;margin:0 0 20px;font-size:18px;color:var(--ink)}
.enquiry.premium-form .form-caption span{font-size:12px;float:right;margin-top:4px;font-weight:400}
.enquiry.premium-form .field-grid{gap:0 18px;grid-template-columns:repeat(2,minmax(0,1fr))}
.enquiry.premium-form label{font-size:14px;font-weight:500;margin-bottom:14px;line-height:1.45}
.enquiry.premium-form input,.enquiry.premium-form select,.enquiry.premium-form textarea{background:#fff;border:1px solid #d6d8cf;border-radius:2px;margin-top:6px;min-height:44px;padding:10px 12px;font-size:16px;line-height:1.4}
.enquiry.premium-form textarea{min-height:88px}
.enquiry.premium-form .small{font-size:12px;line-height:1.55;margin:0 0 14px}
.enquiry.premium-form .button{background:#29332c;color:#fff;margin:0 0 12px;padding:13px 20px;min-height:46px;font-size:14px;min-width:0;width:auto}
.enquiry.premium-form .button:hover{background:#424f42}
.enquiry.premium-form .optional-fields{margin:0 0 16px;border-block:1px solid #d1d4c9;padding:12px 0}
.optional-fields summary{cursor:pointer;font-size:14px;font-weight:600}
.optional-fields[open] summary{margin-bottom:16px}
.enquiry.premium-form .form-result{padding:16px;background:#fff;margin-top:12px}
.request-context{font-size:14px;font-weight:600;margin:0 0 16px;color:var(--ink)}
.partner-application-layout{grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:40px}
.contact-page .hero,.partner-page .hero{padding-block:30px 26px}
.contact-page .hero h1,.partner-page .hero h1{font-size:clamp(2rem,3.6vw,3rem)}
.contact-application,.partner-application{padding-block:32px 40px}
@media(max-width:1023px){.partner-application-layout{grid-template-columns:1fr;gap:28px}}
@media(max-width:639px){
 main .gallery,main .gallery.showroom{grid-template-columns:1fr;gap:24px}
 main .gallery .photo[data-orientation="portrait"],main .photo[data-orientation="portrait"]{max-width:280px;margin-inline:auto}
 .enquiry.premium-form{padding:20px 16px}.enquiry.premium-form .field-grid{grid-template-columns:1fr}
 .enquiry.premium-form .button{width:100%}.enquiry.premium-form .form-caption{font-size:17px}
}

/* V36: ensure proportional galleries override legacy equal-column rules. */
main .gallery.two,main .gallery.three,main .project-chapter .gallery,main .project-chapter .gallery.three{grid-template-columns:var(--gallery-columns,repeat(2,minmax(0,1fr)))}
main .gallery.showroom{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:639px){main .gallery.two,main .gallery.three,main .project-chapter .gallery,main .project-chapter .gallery.three,main .gallery.showroom{grid-template-columns:minmax(0,1fr)}}

nav .mobile-contact{display:none}.enquiry button:disabled{opacity:.55;cursor:not-allowed}@media(max-width:639px){nav .mobile-contact{display:block;font-weight:600;border-top:1px solid var(--line);margin-top:8px}}

/* V37: one quiet transition into the partner process, no stacked rules. */
.partner-page .partner-steps{border-top:0;padding-top:4px;padding-bottom:32px}
.partner-steps .cards{gap:28px}
.partner-steps .cards article{border-top:0;padding:20px 0 0;display:grid;grid-template-columns:30px minmax(0,1fr);gap:14px;align-items:start}
.partner-steps .cards .index{font-size:14px;line-height:1.5;padding-top:2px;color:#86745f}
.partner-steps .cards h3{margin:0 0 10px;font-size:1.15rem}
.partner-steps .cards p{font-size:15px;line-height:1.65}
@media(max-width:639px){
 .partner-page .partner-steps{padding-top:0;padding-bottom:28px}
 .partner-steps .cards{gap:0}
 .partner-steps .cards article{padding:20px 0;gap:12px}
 .partner-steps .cards article+article{border-top:1px solid var(--line)}
 .partner-steps .cards article:first-child{padding-top:8px}
 .partner-steps .cards article:last-child{padding-bottom:0}
}

/* V39: balanced portrait and a separate material consultation group. */
main .photo.jana .photo-media{aspect-ratio:4/5;overflow:hidden}
main .photo.jana img{height:100%;aspect-ratio:4/5;object-fit:cover;object-position:center 30%}
.showroom-selection{display:grid;grid-template-columns:1fr 1fr .422fr;gap:28px;align-items:center;margin-top:36px;padding-top:28px;border-top:1px solid var(--line)}
.showroom-selection h3{margin-bottom:14px}
.showroom-selection .photo{width:100%;max-width:none}
@media(max-width:639px){.showroom-selection{grid-template-columns:1fr .422fr;gap:20px;margin-top:28px;padding-top:24px}.showroom-selection .selection-copy{grid-column:1/-1}.showroom-selection{align-items:start}}

.photo-upload{border:1px dashed #a5aaa0;padding:18px;margin:18px 0;background:#fff}.photo-upload input{border:0!important;padding:8px 0!important;background:transparent!important}.upload-label span{font-weight:400}.upload-list{padding:0;list-style:none;margin:0}.upload-list li{display:flex;gap:12px;justify-content:space-between;border-top:1px solid var(--line);padding:9px 0;font-size:14px}.upload-list li span{overflow-wrap:anywhere;min-width:0}.upload-list button{background:none;border:0;text-decoration:underline;font-size:13px}.enquiry-trap{position:absolute;left:-9999px;opacity:0}.availability-note,.submission-result{font-size:14px;line-height:1.6;margin:16px 0}.availability-note a{text-decoration:underline}.submission-result{padding:16px;background:#e8eee5}.enquiry button:disabled{opacity:.55;cursor:not-allowed}

/* v43: paired original project images, full frames, consistent row height. */
main .specialties-grid .new-project-photo{width:100%;max-width:360px;margin-inline:auto}
main .new-project-gallery .photo{width:100%;max-width:none;margin:0}
@media(max-width:639px){main .new-project-gallery .photo[data-orientation="portrait"]{max-width:360px;margin-inline:auto}}
