@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&family=Manrope:wght@500;600;700;800&display=swap');
:root{--navy:#102f49;--header:#19354d;--deep:#081b2c;--cream:#f7f5f0;--charcoal:#252a30;--muted:#596b7c;--gold:#d5b88c;--orange:#b84c35;--border:#e3ddd2}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--cream);color:var(--charcoal);font:400 16px/1.65 Inter,Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--gold);outline-offset:4px}img{max-width:100%;height:auto}h1,h2,h3{font-family:Manrope,Arial,sans-serif;color:var(--navy);line-height:1.2;margin:0 0 22px;letter-spacing:-.035em}h1{font-weight:800;font-size:clamp(34px,7.8vw,52px)}h2{font-weight:700;font-size:32px}h3{font-weight:600;font-size:22px;letter-spacing:-.02em}p{margin:0 0 20px}em{font-style:normal}header{background:var(--header);color:white;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;padding:18px 6%}.brand{display:inline-flex;align-items:center;gap:10px;font:800 17px/1.25 Manrope,Arial,sans-serif;letter-spacing:-.02em;white-space:nowrap}.star{display:inline-flex;align-items:center;justify-content:center;background:#0c2c43;border-radius:50%;width:29px;height:29px;font-size:28px;color:var(--gold);flex-shrink:0}.menu-toggle{border:1px solid #ffffff55;border-radius:22px;background:transparent;color:white;display:flex;align-items:center;gap:8px;padding:10px 14px;min-height:44px;font-size:14px;cursor:pointer}.menu-toggle[hidden]{display:none}header nav{display:flex;flex-direction:column;gap:3px;width:100%;order:3;border-top:1px solid #ffffff22;padding-top:10px;font-size:14px;font-weight:500}header nav a{padding:10px 3px;min-height:44px}header.menu-ready nav{display:none}header.menu-open nav{display:flex}header nav a:hover{color:var(--gold)}header nav a[aria-current=page]{text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:7px}header .header-cta{display:none}.mobile-contact{color:var(--gold)}.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;min-height:50px;padding:14px 26px;border:0;border-radius:999px;font-size:15px;font-weight:600;line-height:1.4;cursor:pointer}.primary{background:var(--orange);color:#fff}.primary:hover{background:#a3422e}.button:disabled{opacity:.65;cursor:wait}.text-link{display:inline-flex;align-items:center;min-height:44px;gap:15px;font-size:14px;font-weight:600;color:var(--navy)}.eyebrow{font-size:11px;font-weight:500;letter-spacing:1.2px}.hero,.page-intro{background-color:var(--navy);background-image:radial-gradient(ellipse at 92% 5%,rgba(213,184,140,.23),transparent 43%),repeating-linear-gradient(45deg,transparent 0 9px,rgba(255,255,255,.035) 9px 10px),repeating-linear-gradient(-45deg,transparent 0 9px,rgba(255,255,255,.027) 9px 10px),linear-gradient(125deg,#113955,#081d30);color:white}.hero{padding:58px 6% 64px}.hero-copy{max-width:960px;margin:auto}.hero h1,.page-intro h1{color:#fff}.hero h1{font-size:clamp(34px,7.8vw,64px);line-height:1.16;margin-bottom:28px}.production-pills{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 32px}.production-pills span{border:1px solid #d5b88c66;background:#ffffff06;border-radius:999px;padding:9px 15px;font-size:13px;line-height:1.55;color:#e6e9ec}.hero .button{min-width:180px}.section{padding:60px 6%}.home-journey{max-width:1280px;margin:auto;text-align:center}.home-journey>h2{font-size:32px;margin:0 auto 38px}.journey-grid{display:flex;flex-wrap:wrap;justify-content:center;list-style:none;gap:20px;margin:0 0 38px;padding:0;text-align:left}.journey-grid li{flex:0 1 100%;min-width:0;background:#fff;border:1px solid var(--border);border-radius:13px;padding:26px 24px;position:relative}.journey-grid li:before{content:'';position:absolute;top:0;left:22px;right:22px;height:3px;background:linear-gradient(90deg,#c9a254,transparent);border-radius:2px}.journey-number{display:block;font:600 30px/1.3 Manrope,Arial,sans-serif;color:#977334;margin-bottom:15px}.journey-grid h3{font-size:20px;margin-bottom:12px;line-height:1.3}.journey-grid p{font-size:15px;color:var(--muted);line-height:1.65;margin:0}.home-journey>.button{min-width:210px}.project{background:#eeeae3;display:grid;gap:30px;max-width:1440px;margin:auto}.project>div>p{max-width:55ch}.form-note a,.page-lead a{text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}.quote-form{padding:25px;background:#fff;border:1px solid var(--border);border-radius:14px;min-width:0}.form-row{display:grid;gap:0}label{display:block;font-size:13px;font-weight:500;color:var(--navy);margin-bottom:20px}.optional{font-weight:400;color:var(--muted)}input,textarea,select{display:block;width:100%;min-height:48px;border:1px solid #c9d0d6;border-radius:7px;background:#fff;color:var(--charcoal);padding:12px;margin-top:7px;font-size:16px;line-height:1.4}input::placeholder,textarea::placeholder{color:#697581}textarea{resize:vertical}.upload-field{border:1px dashed #b3bdc6;border-radius:8px;background:#f8f9fa;padding:18px;margin-bottom:20px}.upload-field label{margin-bottom:8px}.upload-field p{font-size:12px;line-height:1.6;margin:4px 0;color:var(--muted)}input[type=file]{border:0;padding:8px 0;background:transparent;font-size:13px}input[type=file]::file-selector-button{border:1px solid #b6c2cc;background:#fff;color:var(--navy);border-radius:999px;padding:12px 18px;font:500 13px Inter,Arial,sans-serif;cursor:pointer;margin-right:12px}.delivery-note{font-size:13px!important;line-height:1.6!important;background:#f7f2e8;border-left:3px solid var(--gold);padding:13px}.delivery-note a{text-decoration:underline}.quote-form>.button{width:100%}#form-status{font-size:14px;margin:15px 0 0}.quote-form:before{content:none}footer{background:var(--deep);color:#b8c4cf;padding:44px 6% 24px;font-size:13px}.footer-top{max-width:1200px;margin:auto;display:grid;gap:28px}.footer-top .brand{color:#fff}.footer-pages{display:flex;flex-wrap:wrap;gap:8px 20px}.footer-pages a{min-height:44px;display:flex;align-items:center}.footer-contact{font-style:normal;line-height:1.85}.footer-contact a{display:inline-block;min-height:36px;overflow-wrap:anywhere}.footer-bottom{max-width:1200px;margin:28px auto 0;border-top:1px solid #ffffff16;padding-top:22px;font-size:12px;color:#91a1af}.skip-link{position:absolute;top:-100px;left:16px;background:white;padding:16px;z-index:5}.skip-link:focus{top:12px}.breadcrumbs{padding:24px 6%;display:flex;gap:12px;font-size:12px}.breadcrumbs a{text-decoration:underline}.page-intro{padding:45px 6% 55px}.page-intro>*{max-width:960px;margin-left:auto;margin-right:auto}.page-intro .page-lead{font-size:18px;line-height:1.7}.page-intro .eyebrow{color:#e2d2b8}.page-jumps{padding:32px 6%;display:flex;flex-wrap:wrap;gap:10px}.page-jumps a{border:1px solid #c7cfd5;border-radius:999px;padding:10px 16px;font-size:14px;min-height:44px}.detail-sections,.process-roadmap{padding:0 6%;max-width:1280px;margin:auto}.service-detail{display:grid;gap:20px;padding:36px 0;border-top:1px solid var(--border)}.service-no,.step-number{font:600 28px Manrope,Arial,sans-serif;color:#977334}.service-detail h2{margin-top:15px}.service-detail ul{padding-left:22px}.service-detail li{padding:6px 0}.detail-illustration{width:260px;max-width:100%;border-radius:12px}.detail-note{padding:18px;background:#eeeae3;border-left:3px solid var(--gold);font-size:14px}.editorial-section{padding:45px 6%;max-width:1280px;margin:auto}.editorial-section>p{max-width:70ch}.editorial-section p a,.quote-layout aside>a{text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}.editorial-split{display:grid;gap:30px;padding:45px 6%;max-width:1280px;margin:auto}.location-art{position:relative;min-height:330px;border-radius:12px;background:var(--navy);color:white;padding:25px;overflow:hidden}.location-top{font-size:11px;letter-spacing:1px}.compass{position:absolute;left:50%;top:45%;transform:translate(-50%,-50%);font-size:230px;line-height:1;color:var(--gold)}.location-bottom{position:absolute;bottom:25px;display:grid;gap:10px}.location-bottom strong{font-size:24px}.location-bottom span{font-size:11px}.principle-grid{display:grid;gap:20px}.principle-grid article{padding:24px;background:#fff;border:1px solid var(--border);border-radius:12px}.principle-grid h2{font-size:25px}.page-cta{padding:45px 6%;background:var(--navy);color:white;display:grid;gap:25px}.page-cta h2{color:white}.page-cta .eyebrow{color:var(--gold)}.page-cta p{max-width:65ch}.page-cta .button{width:max-content;max-width:100%}.roadmap-step{display:grid;grid-template-columns:40px minmax(0,1fr);gap:15px;padding:28px 24px;margin:24px 0;background:#fff;border:1px solid var(--border);border-radius:12px}.roadmap-step h2{font-size:26px}.step-outcome{padding:15px;background:#f5f2ec}.quote-layout{display:grid;gap:30px;padding:40px 6%;max-width:1280px;margin:auto}.quote-layout aside{order:1;min-width:0}.quote-layout .quote-form{order:0}details{border-top:1px solid #d5d8da;padding:20px 0}summary{display:flex;align-items:center;gap:20px;min-height:44px;font:600 19px/1.4 Manrope,Arial,sans-serif;color:var(--navy);list-style:none;cursor:pointer}summary::-webkit-details-marker{display:none}summary b{margin-left:auto;font-weight:400;font-size:26px}details[open] summary b{transform:rotate(45deg)}details p{margin:20px 0 0;max-width:70ch}.detail-page p,.detail-page li{line-height:1.7}.detail-page .eyebrow{font-size:11px}.services{display:grid;gap:20px}.services article{padding:25px;border-radius:12px;border:1px solid var(--border);background:#fff}.service-image{width:100%;max-width:320px}
@media(min-width:650px){.form-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.journey-grid li{flex-basis:calc(50% - 10px)}.hero{padding:75px 9%}.section{padding:75px 6%}.home-journey>h2{font-size:38px}.footer-top{grid-template-columns:1fr 1fr}.footer-pages{grid-column:1/-1;grid-row:2}.footer-contact{text-align:right}.service-detail{grid-template-columns:1fr 1.4fr;gap:40px}.principle-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:1000px){header{padding:14px 4%;flex-wrap:nowrap;gap:16px;min-height:76px}.brand{font-size:19px}.menu-toggle{display:none}header nav,header.menu-ready nav,header.menu-open nav{display:flex;flex-direction:row;width:auto;order:0;border:0;padding:0;gap:15px;font-size:12px}header nav a{padding:10px 0;white-space:nowrap}header nav .mobile-contact{display:none}header .header-cta{display:inline-flex;white-space:nowrap;font-size:13px;min-height:44px;padding:12px 18px}header .header-cta span{display:none}.hero{padding:105px 12% 115px}.hero-copy{max-width:960px}.hero h1{font-size:58px}.production-pills{margin-bottom:38px;gap:10px}.production-pills span{font-size:14px}.section{padding:90px 8%}.journey-grid{gap:22px}.journey-grid li{flex-basis:calc(25% - 16.5px);padding:28px 23px}.journey-grid h3{font-size:18px}.journey-grid p{font-size:14px}.home-journey>h2{font-size:40px;margin-bottom:52px}.home-journey>.button{margin-top:10px}.project{grid-template-columns:1fr 1.4fr;gap:60px}.project h2{font-size:36px}.quote-form{padding:32px}.footer-top{grid-template-columns:250px 1fr 280px;gap:28px;align-items:start}.footer-pages{grid-column:auto;grid-row:auto;gap:8px 18px;font-size:12px}.footer-contact{font-size:12px}.footer-bottom{margin-top:32px}.page-intro{padding:70px 10%}.page-intro h1{font-size:56px}.editorial-split{grid-template-columns:1fr 1.2fr;gap:60px}.quote-layout{grid-template-columns:1fr 1.45fr;gap:50px}.quote-layout aside{order:0}.quote-layout .quote-form{order:1}.page-cta{grid-template-columns:1fr auto;align-items:center}.roadmap-step{grid-template-columns:65px minmax(0,1fr);gap:25px;padding:32px}.editorial-section{padding:60px 6%}}
@media(min-width:1400px){header{padding-left:max(4%,calc((100vw - 1200px)/2));padding-right:max(4%,calc((100vw - 1200px)/2))}header nav{font-size:13px;gap:20px}.hero h1{font-size:64px}.hero{min-height:690px}header .header-cta{font-size:14px;padding:12px 22px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Proportion refinements: calmer hero, roomier cards, aligned brand framing. */
.brand{font-size:20px}.star{width:32px;height:32px;font-size:30px}
.hero h1{font-size:clamp(30px,7vw,44px);line-height:1.2}
.home-journey{max-width:1440px}.journey-grid li{padding:30px 26px}.journey-grid h3{font-size:21px}.journey-grid p{font-size:16px;line-height:1.7}
.footer-contact{font-size:16px;line-height:1.85}.footer-pages{font-size:14px}
@media(max-width:360px){.brand{font-size:18px;gap:7px}.menu-toggle{padding:10px 12px}.star{width:28px;height:28px}}
@media(min-width:1000px){
header,footer{padding-left:max(4%,calc((100vw - 1200px)/2));padding-right:max(4%,calc((100vw - 1200px)/2))}
.brand{font-size:21px}.hero h1{font-size:48px}.hero{min-height:0;padding-top:85px;padding-bottom:90px}
.home-journey{padding:80px 5%}.journey-grid{gap:24px}.journey-grid li{flex-basis:calc(25% - 18px);padding:32px 25px}.journey-number{font-size:34px}.journey-grid h3{font-size:21px}.journey-grid p{font-size:16px}
.footer-top{grid-template-columns:260px minmax(0,1fr) 320px;gap:30px;max-width:none}.footer-pages{font-size:14px;gap:8px 20px}.footer-contact{font-size:16px}.footer-bottom{max-width:none}
}
@media(min-width:1400px){.brand{font-size:24px}.hero h1{font-size:52px}.hero-copy{max-width:960px}}

/* Spacious inquiry section and a single desktop footer navigation row. */
.project{display:block;max-width:none;padding:64px 6%}
.project>div{max-width:1060px;margin:0 auto 30px}
.project>div>p{max-width:78ch}
.project h2 br{display:none}
.project .quote-form{max-width:1060px;margin:0 auto;padding:26px}
.quote-layout{grid-template-columns:minmax(0,1fr);max-width:1200px}
.quote-layout aside{order:0;max-width:78ch}
.quote-layout .quote-form{order:1;width:100%}
.footer-top{display:flex;flex-direction:column;gap:22px}
.footer-pages{display:flex;flex-wrap:wrap;gap:8px 24px}
.footer-contact{text-align:left;max-width:none}
@media(min-width:1000px){
.project{padding:72px max(6%,calc((100vw - 1200px)/2))}
.project .quote-form{padding:40px 44px}
.project>div{margin-bottom:32px}
.quote-layout{grid-template-columns:minmax(0,1fr);gap:30px}
.footer-top{display:grid;grid-template-columns:auto minmax(0,1fr);gap:20px 36px;align-items:center}
.footer-pages{flex-wrap:nowrap;justify-content:flex-end;gap:22px;font-size:14px}
.footer-pages a{white-space:nowrap}
.footer-contact{grid-column:1/-1;text-align:right;justify-self:end;line-height:1.75;font-size:16px}
.footer-bottom{margin-top:24px}
}

/* Larger navigation labels and expressive, layout-stable hover feedback. */
header nav a,.footer-pages a{font-size:16px;display:inline-flex;align-items:center;transform-origin:center;transition:transform .18s ease,color .18s ease}
@media(hover:hover) and (pointer:fine){header nav a:hover,.footer-pages a:hover{transform:scale(1.10);color:var(--gold)}}
header nav a:focus-visible,.footer-pages a:focus-visible{color:var(--gold)}
.home-journey>.button span,.quote-form>.button span{font-size:28px;line-height:1;display:inline-block}
@media(min-width:1000px){header nav,header.menu-ready nav,header.menu-open nav{gap:18px}header nav a{font-size:15px}.footer-pages{gap:24px}.footer-pages a{font-size:16px}}
@media(min-width:1400px){header nav a{font-size:16px}header nav,header.menu-ready nav,header.menu-open nav{gap:21px}}
@media(prefers-reduced-motion:reduce){header nav a,.footer-pages a{transition:none}}

.home-journey>.button span,.quote-form>.button span{font-family:Inter,Arial,sans-serif;font-size:28px;font-weight:500;line-height:1;width:30px;text-align:center}
header .header-cta{font-size:16px}

/* Fluid layouts: content grows with the window and reflows before it gets cramped. */
:root{--page-gutter:clamp(20px,4vw,80px);--section-space:clamp(48px,5.5vw,100px);--nav-size:clamp(18px,1.15vw,20px)}
header,footer{padding-left:var(--page-gutter);padding-right:var(--page-gutter)}
header .brand,footer .brand{font-size:clamp(20px,1.7vw,28px)}
header nav a,.footer-pages a{font-size:var(--nav-size);transform-origin:center;transition:transform .2s ease,color .2s ease}
@media(hover:hover) and (pointer:fine){header nav a:hover,.footer-pages a:hover{transform:scale(1.2);color:var(--gold);position:relative;z-index:1}}
.hero{padding:clamp(52px,6.5vw,115px) var(--page-gutter)}
.hero-copy{width:100%;max-width:1360px;margin:auto}
.hero h1{font-size:clamp(32px,3.5vw,60px);max-width:28ch;line-height:1.2}
.production-pills{max-width:100%;gap:clamp(8px,1vw,16px)}
.production-pills span{font-size:clamp(13px,1vw,16px)}
h2,.home-journey>h2{font-size:clamp(28px,2.7vw,44px)}
.home-journey{max-width:1920px;width:100%;padding:var(--section-space) var(--page-gutter)}
.journey-grid{gap:clamp(18px,1.8vw,32px);--card-gap:clamp(18px,1.8vw,32px);--columns:1}
.journey-grid li{flex:0 1 calc((100% - (var(--columns) - 1)*var(--card-gap))/var(--columns));padding:clamp(24px,2vw,36px);min-width:0;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.journey-grid h3{font-size:clamp(20px,1.45vw,24px)}
.journey-grid p{font-size:clamp(16px,1.05vw,18px);line-height:1.7}
@media(hover:hover) and (pointer:fine){.journey-grid li:hover{transform:translateY(-4px);border-color:var(--gold);box-shadow:0 10px 25px #102f4910}}
.project{padding:var(--section-space) var(--page-gutter)}
.project>div,.project .quote-form{width:100%;max-width:1500px;margin-left:auto;margin-right:auto}
.project .quote-form{padding:clamp(24px,3vw,48px)}
.project>div>p{max-width:85ch}
.quote-layout{width:100%;max-width:1640px;padding:clamp(32px,4vw,70px) var(--page-gutter)}
.page-intro{padding:var(--section-space) var(--page-gutter)}
.page-intro>*{max-width:1360px}
.page-intro h1{font-size:clamp(34px,3.5vw,58px)}
.breadcrumbs,.page-jumps{padding-left:var(--page-gutter);padding-right:var(--page-gutter)}
.detail-sections,.process-roadmap,.editorial-section,.editorial-split{max-width:1760px;padding-left:var(--page-gutter);padding-right:var(--page-gutter)}
.editorial-section,.editorial-split{padding-top:var(--section-space);padding-bottom:var(--section-space)}
.page-cta{padding:clamp(40px,5vw,80px) var(--page-gutter)}
.footer-top{max-width:none;display:flex;flex-direction:column;align-items:stretch;gap:24px}
.footer-pages{flex-wrap:wrap;justify-content:flex-start;gap:8px 28px}
.footer-contact{align-self:flex-start;text-align:left;max-width:none}
.footer-bottom{max-width:none}
header{flex-wrap:wrap}.menu-toggle{display:flex}header.menu-ready nav{display:none}header.menu-open nav{display:flex;flex-direction:column;width:100%;order:3;padding-top:12px;border-top:1px solid #ffffff22;gap:4px}header nav a{min-height:48px;padding:12px 4px}header .header-cta{display:none}header nav .mobile-contact{display:flex}
@media(min-width:620px){.journey-grid{--columns:2}}
@media(min-width:960px){.journey-grid{--columns:3}}
@media(min-width:1320px){.journey-grid{--columns:4}}
@media(min-width:1400px){
header{flex-wrap:nowrap;gap:24px;min-height:88px}.menu-toggle{display:none}
header nav,header.menu-ready nav,header.menu-open nav{display:flex;flex-direction:row;width:auto;order:0;border:0;padding:0;gap:clamp(26px,2vw,36px)}
header nav a{font-size:var(--nav-size);padding:10px 0}header nav .mobile-contact{display:none}header .header-cta{display:inline-flex;font-size:16px}
.footer-top{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:24px 36px}
.footer-pages{flex-wrap:nowrap;justify-content:flex-end;gap:clamp(26px,2vw,36px)}
.footer-contact{grid-column:1/-1;text-align:right;justify-self:end}
}
@media(max-width:619px){.form-row,.principle-grid,.service-detail,.editorial-split,.page-cta{grid-template-columns:minmax(0,1fr)}.hero h1{max-width:none}.production-pills span{width:fit-content}.project .quote-form{padding:22px}.brand{gap:8px}}
@media(prefers-reduced-motion:reduce){header nav a,.footer-pages a,.journey-grid li{transition:none}.journey-grid li:hover{transform:none}}

/* Compose the inquiry by field group rather than stretching each line. */
.project>div,.project .quote-form{max-width:1280px}
.quote-layout{max-width:1440px}
.quote-form{container-type:inline-size;padding:clamp(22px,3vw,44px)!important}
.form-group{border:0;padding:0 0 28px;margin:0 0 28px;min-width:0;border-bottom:1px solid var(--border)}
.form-group legend{padding:0;margin:0 0 22px;font:600 21px/1.3 Manrope,Arial,sans-serif;color:var(--navy);letter-spacing:-.02em}
.field-grid,.spec-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:20px}
.form-group label{margin-bottom:0;min-width:0;line-height:1.5}
.form-group>label{margin-bottom:22px}
.form-group input,.form-group select{margin-top:8px;min-height:52px}
.form-group textarea{min-height:120px;margin-top:8px}
.spec-grid .upload-field{margin:0;min-width:0;display:flex;flex-direction:column;justify-content:center;padding:24px;background:#f7f8f9}
.upload-field input{min-width:0;max-width:100%}
#file-status{overflow-wrap:anywhere}
.form-finish{display:grid;gap:20px;align-items:center}
.form-finish .delivery-note{margin:0}
.form-finish .button{width:100%;min-height:54px;gap:28px}
.form-finish .button span{font-family:Inter,Arial,sans-serif;font-size:28px;font-weight:500;line-height:1;width:30px;text-align:center}
.form-finish #form-status{grid-column:1/-1;margin:0}
@container(min-width:540px){.field-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form-finish{grid-template-columns:minmax(0,1fr) auto;gap:28px}.form-finish .button{width:auto;min-width:200px}}
@container(min-width:820px){.product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.spec-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:stretch}.spec-grid label{display:flex;flex-direction:column}.spec-grid textarea{flex:1;min-height:170px}}
.product-grid label{display:flex;flex-direction:column;justify-content:space-between}

/* Legibility and compact navigation refinements. */
.project>div{max-width:none}
.project>div>.form-note{max-width:none;line-height:1.65}
.project h2 br{display:none}
header nav a,.footer-pages a{font:500 18px/1.5 Inter,Arial,sans-serif}
header .header-cta{font-size:18px;font-weight:600;padding:14px 24px}
.menu-toggle{font-size:18px;font-weight:700;gap:10px;min-height:48px;padding:10px 16px}
header{position:relative}
header.menu-open nav{position:absolute;right:var(--page-gutter);top:calc(100% - 4px);width:min(320px,calc(100vw - 40px));order:0;z-index:20;background:var(--header);border:1px solid #ffffff26;border-radius:12px;padding:12px;box-shadow:0 14px 35px #081b2c33;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 8px}
header.menu-open nav a{min-height:40px;padding:8px 10px;font-size:16px;line-height:1.4;white-space:normal}
header.menu-open nav .mobile-contact{grid-column:1/-1;border-top:1px solid #ffffff22;margin-top:4px;padding-top:12px}
.production-pills span{border-width:2px;border-color:#d5b88caa;font-size:clamp(15px,1.1vw,18px);font-weight:600;color:#fff;background:#ffffff08;padding:10px 17px;line-height:1.6}
.home-journey>.button span,.form-finish .button span{font-family:Inter,Arial,sans-serif;font-size:28px;font-weight:500;width:30px;line-height:1;text-align:center}
@media(hover:hover) and (pointer:fine){header nav a:hover,.footer-pages a:hover{transform:scale(1.4)}header.menu-open nav a:hover{transform:scale(1.08)}}
@media(min-width:1400px){header nav,header.menu-ready nav,header.menu-open nav{position:static;display:flex;flex-direction:row;grid-template-columns:none;width:auto;padding:0;gap:30px;border:0;border-radius:0;box-shadow:none;background:transparent}header nav a,header.menu-open nav a,.footer-pages a{font:500 18px/1.5 Inter,Arial,sans-serif;white-space:nowrap;padding:10px 0;min-height:48px}.footer-pages{gap:30px}header.menu-open nav .mobile-contact{display:none}header .header-cta{font-size:18px}header .brand{font-size:clamp(20px,1.7vw,28px)}}
@media(min-width:1700px){header nav a,header.menu-open nav a,.footer-pages a{font-size:20px}}
@media(hover:hover) and (pointer:fine){header.menu-open nav a:hover{transform:scale(1.4)}}

/* Precisely centred action labels and matching navigation styling. */
.home-journey>.button,.form-finish .button{display:inline-flex;align-items:center;justify-content:center;gap:16px;line-height:1.5;padding:14px 26px;min-height:54px;text-align:center}
.home-journey>.button span,.form-finish .button span{display:inline-flex;align-items:center;justify-content:center;flex:0 0 28px;width:28px;height:28px;font:500 28px/1 Inter,Arial,sans-serif;position:relative;top:-1px}
.footer-pages a{font-family:Inter,Arial,sans-serif;font-size:18px;font-weight:500;line-height:1.5;letter-spacing:normal;color:#fff;padding:10px 0;min-height:48px;display:inline-flex;align-items:center;transform-origin:center;transition:transform .2s ease,color .2s ease}
@media(max-width:1399px){.footer-pages a{font-size:16px;line-height:1.4;padding:8px 10px;min-height:40px}}
@media(min-width:760px) and (max-width:1399px){
header{flex-wrap:nowrap;gap:18px}
header .menu-toggle{margin-left:auto}
header .header-cta{display:inline-flex;font-size:18px;min-height:48px;padding:12px 20px}
header.menu-open nav{display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:space-evenly;align-items:center;width:min(1040px,calc(100vw - 2*var(--page-gutter)));gap:12px;padding:12px 16px}
header.menu-open nav a{font-size:16px;white-space:nowrap;padding:8px 0}
header.menu-open nav .mobile-contact{display:none}
}
@media(min-width:1400px){.footer-pages a{font:500 18px/1.5 Inter,Arial,sans-serif;letter-spacing:normal;color:#fff;padding:10px 0;min-height:48px}}
@media(min-width:1700px){.footer-pages a{font-size:20px}}
@media(hover:hover) and (pointer:fine){.footer-pages a:hover{transform:scale(1.4);color:var(--gold)}}
.footer-pages a:focus-visible{color:var(--gold)}

/* Single-column dropdown and optically balanced primary actions. */
header.menu-open nav{display:flex;flex-direction:column;flex-wrap:nowrap;align-items:stretch;justify-content:flex-start;width:min(310px,calc(100vw - 2*var(--page-gutter)));gap:2px;padding:10px 14px}
header.menu-open nav a{font-size:16px;line-height:1.4;min-height:42px;padding:9px 10px;white-space:normal}
header.menu-open nav .mobile-contact{display:flex;border-top:1px solid #ffffff22;margin-top:5px;padding-top:12px}
.home-journey>.button,.form-finish .button{font-size:18px;font-weight:600;line-height:1.4;display:inline-flex;align-items:center;justify-content:center;gap:18px;padding:16px 28px;min-height:60px}
.home-journey>.button span,.form-finish .button span{position:static;top:auto;display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;flex:0 0 26px;line-height:1}
.home-journey>.button span svg,.form-finish .button span svg{display:block;width:26px;height:26px;overflow:visible}
@media(min-width:1400px){header.menu-open nav{display:flex;flex-direction:row;align-items:center;justify-content:initial;width:auto;gap:30px;padding:0}header.menu-open nav a{font:500 18px/1.5 Inter,Arial,sans-serif;min-height:48px;padding:10px 0;white-space:nowrap}header.menu-open nav .mobile-contact{display:none}}
@media(min-width:1700px){header.menu-open nav a{font-size:20px}}

/* Keep enlarged dropdown labels inside the panel. */
@media(max-width:1399px){
header.menu-open nav{padding:14px 30px;overflow:hidden}
header.menu-open nav a{align-self:stretch;justify-content:center;text-align:center;padding:10px 0;min-height:48px;transform-origin:center}
header.menu-open nav .mobile-contact{font-size:15px}
}
/* Six footer links move together through balanced 6 / 3 / 2-column layouts. */
.footer-pages{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 22px;justify-content:center;justify-items:center;text-align:center;width:100%;max-width:760px;margin:0 auto}
.footer-pages a{justify-content:center;white-space:nowrap;padding:10px 0}
@media(min-width:620px){.footer-pages{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 28px}}
@media(min-width:1400px){.footer-top{grid-template-columns:1fr}.footer-top>.brand{justify-self:start}.footer-pages{grid-template-columns:repeat(6,max-content);gap:32px;max-width:none;width:auto;justify-self:center}.footer-contact{grid-column:1;text-align:right;justify-self:end}}
@media(min-width:1500px){.footer-top{grid-template-columns:auto minmax(0,1fr)}.footer-pages{grid-column:2;justify-self:end;margin:0;gap:32px}.footer-contact{grid-column:1/-1}}

/* Slimmer dropdown with space retained for label enlargement. */
@media(max-width:1399px){
header.menu-open nav{width:min(288px,calc(100vw - 2*var(--page-gutter)));padding:8px 26px;gap:0;border:1px solid #ffffff1c;border-radius:10px;box-shadow:0 10px 24px #081b2c26}
header.menu-open nav a{min-height:40px;padding:7px 0}
header.menu-open nav .mobile-contact{margin-top:4px;padding-top:10px;padding-bottom:8px}
}
/* Seven links: centred groups of 4+3 or 2+2+2+1, then one desktop row. */
.footer-pages{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px 12px}
.footer-pages a{grid-column:span 2}
.footer-pages a:last-child{grid-column:2/span 2}
@media(min-width:620px){.footer-pages{grid-template-columns:repeat(8,minmax(0,1fr));gap:10px 18px}.footer-pages a:nth-child(5){grid-column:2/span 2}.footer-pages a:nth-child(6){grid-column:4/span 2}.footer-pages a:nth-child(7){grid-column:6/span 2}}
@media(min-width:1400px){.footer-pages{grid-template-columns:repeat(7,max-content);gap:26px}.footer-pages a,.footer-pages a:nth-child(n){grid-column:auto}}
@media(min-width:1500px){.footer-top{grid-template-columns:1fr}.footer-pages{grid-column:1;justify-self:center;margin:0 auto}.footer-contact{grid-column:1}}
@media(min-width:1800px){.footer-top{grid-template-columns:auto minmax(0,1fr)}.footer-pages{grid-column:2;justify-self:end;margin:0}.footer-contact{grid-column:1/-1}}
@media(max-width:619px){.footer-pages{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px 10px}.footer-pages a{grid-column:span 3}.footer-pages a:nth-child(n+5){grid-column:span 2}}

/* Keep the quote action directly to the left of the menu toggle. */
@media(max-width:1399px){
header{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px}
header>.brand{grid-column:1;grid-row:1;min-width:0;white-space:normal}
header>.header-cta{display:inline-flex;grid-column:2;grid-row:1;white-space:nowrap;font-size:16px;padding:12px 18px;min-height:46px}
header>.menu-toggle{grid-column:3;grid-row:1;margin-left:0}
header.menu-open nav{grid-column:auto;grid-row:auto}
header.menu-open nav .mobile-contact{display:none}
}
@media(max-width:619px){
header{grid-template-columns:1fr auto;gap:12px 10px}
header>.brand{grid-column:1/-1;grid-row:1;justify-self:start}
header>.header-cta{grid-column:1;grid-row:2;justify-self:end;font-size:15px;padding:11px 18px}
header>.menu-toggle{grid-column:2;grid-row:2}
}

/* Move the quote action into the dropdown when the compact header needs space. */
@media(max-width:759px){
header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;}
header>.brand{white-space:nowrap;font-size:clamp(18px,3.8vw,23px);}
header>.header-cta{display:none;}
header>.menu-toggle{margin-left:auto;}
header.menu-open nav .mobile-contact{display:flex;justify-content:center;border-top:1px solid #ffffff22;margin-top:4px;padding-top:10px;font-size:15px;}
}

/* Quote placement is driven by measured space, not a phone-width cutoff. */
header .quote-size-probe{display:inline-flex!important;position:absolute!important;visibility:hidden!important;pointer-events:none!important;width:max-content!important;max-width:none!important;white-space:nowrap!important;left:0!important;top:0!important;grid-column:auto!important;grid-row:auto!important}
@media(max-width:1399px){
header.quote-auto-ready{display:flex;flex-wrap:nowrap;align-items:center;gap:12px}
header.quote-auto-ready>.brand{flex:0 0 auto;white-space:nowrap}
header.quote-auto-ready>.menu-toggle{flex:0 0 auto;margin-left:0}
header.quote-auto-ready>.header-cta:not(.quote-size-probe){display:inline-flex;flex:0 0 auto;margin-left:auto}
header.quote-auto-ready nav .mobile-contact{display:none}
header.quote-auto-ready.quote-in-menu>.header-cta:not(.quote-size-probe){display:none}
header.quote-auto-ready.quote-in-menu>.menu-toggle{margin-left:auto}
header.quote-auto-ready.quote-in-menu.menu-open nav .mobile-contact{display:flex}
}

/* Fluid centred footer navigation with balanced row grouping. */
.footer-pages{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;justify-items:normal;width:100%;max-width:none;gap:clamp(8px,1vw,18px) clamp(18px,2.2vw,44px);margin:0 auto}
.footer-pages a,.footer-pages a:nth-child(n){grid-column:auto;flex:0 1 auto;justify-content:center;text-align:center;white-space:nowrap}
@media(max-width:619px){
.footer-pages{column-gap:clamp(14px,4vw,24px)}
.footer-pages a:nth-child(-n+4){flex-basis:calc(50% - 12px)}
.footer-pages a:nth-child(n+5){flex-basis:calc(33.333% - 16px)}
}
@media(min-width:620px) and (max-width:1399px){
.footer-pages a:nth-child(-n+4){flex-basis:calc((100% - 3*clamp(18px,2.2vw,44px))/4)}
.footer-pages a:nth-child(n+5){flex-basis:calc((100% - 3*clamp(18px,2.2vw,44px))/4)}
}
@media(min-width:1400px){
.footer-pages{flex-wrap:nowrap;width:100%;gap:clamp(20px,2vw,44px);justify-content:space-evenly;justify-self:stretch;margin:0}
.footer-pages a{flex:0 0 auto}
}
@media(min-width:1800px){.footer-pages{grid-column:2;justify-self:stretch;width:100%;margin:0;gap:clamp(20px,1.7vw,40px)}}

/* Explicit order prevents quote/menu swapping during space-based adaptation. */
@media(max-width:1399px){
header.quote-auto-ready>.brand{order:1}
header.quote-auto-ready>.header-cta:not(.quote-size-probe){order:2;margin-left:auto}
header.quote-auto-ready>.menu-toggle{order:3;margin-left:0}
header.quote-auto-ready.quote-in-menu>.menu-toggle{margin-left:auto}
header.quote-auto-ready>nav{order:4}
}

/* Supplied vector brand mark: preserve its proportions and responsive quote ordering. */
header>.brand,.footer-top>.brand{display:inline-flex;flex:0 0 auto;line-height:1;padding:8px 0;gap:0}
.brand-logo{display:block;width:clamp(260px,23vw,330px);height:auto;max-width:100%;object-fit:contain}
.footer-top .brand-logo{width:clamp(260px,23vw,320px)}
@media(max-width:619px){header .brand-logo{width:clamp(140px,55vw,260px);max-width:calc(100vw - 2*var(--page-gutter) - 122px)}}

/* Slim, persistent glass navigation; logo dimensions stay intact. */
html{scroll-padding-top:calc(var(--sticky-header-height,130px) + 20px)}
header{position:sticky;top:0;z-index:100;padding-top:6px;padding-bottom:6px;min-height:0;background:linear-gradient(110deg,rgba(25,53,77,.93),rgba(16,47,73,.84) 72%,rgba(54,66,74,.87));border-bottom:1px solid rgba(213,184,140,.22);backdrop-filter:blur(20px) saturate(135%);-webkit-backdrop-filter:blur(20px) saturate(135%);transition:background .25s ease,box-shadow .25s ease}
header.is-scrolled{background:linear-gradient(110deg,rgba(25,53,77,.88),rgba(16,47,73,.80) 72%,rgba(54,66,74,.83));box-shadow:0 6px 24px rgba(8,27,44,.15)}
header>.brand{padding-top:0;padding-bottom:0}
header .header-cta,header nav .mobile-contact,header.menu-open nav .mobile-contact{font:600 20px/1.4 Inter,Arial,sans-serif}
header .header-cta{padding:12px 22px}
@media(min-width:1400px){header nav,header.menu-ready nav,header.menu-open nav{margin-left:auto;margin-right:8px;gap:clamp(26px,1.7vw,34px)}header{gap:22px}}
@media(max-width:1399px){header.menu-open nav{background:rgba(25,53,77,.96);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}header.menu-open nav .mobile-contact{font-size:20px}}
@supports not (backdrop-filter:blur(1px)){header,header.is-scrolled{background:#19354d}}
@media(prefers-reduced-motion:reduce){header{transition:none}}

.form-honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.email-chooser{border:1px solid var(--border);border-radius:18px;padding:32px;width:min(440px,calc(100vw - 32px));background:var(--cream);color:var(--navy);box-shadow:0 24px 80px #081b2c55}
.email-chooser::backdrop{background:#081b2c77;backdrop-filter:blur(5px)}
.email-chooser h2{font-size:24px;padding-right:24px;margin-bottom:12px}
.email-chooser>p{overflow-wrap:anywhere}.email-close{position:absolute;top:8px;right:8px;border:0;background:transparent;color:var(--navy);font-size:30px;width:44px;height:44px;cursor:pointer}
.email-options{display:grid;gap:10px}.email-options a,.email-options button{display:flex;align-items:center;justify-content:center;min-height:48px;border:1px solid #c9d0d6;border-radius:999px;padding:10px 16px;background:white;color:var(--navy);font:600 16px/1.4 Inter,Arial,sans-serif;cursor:pointer}
.email-options a:hover,.email-options button:hover{background:#eeeae3}.email-copy-status{margin:14px 0 0;font-size:14px}

.form-finish .delivery-note{text-align:center;display:block;width:100%}

/* Supplied white-and-gold footer icons, aligned with each contact row. */
.footer-contact{display:grid;gap:4px;justify-items:start;justify-self:end;width:max-content;max-width:100%;text-align:left}
.footer-contact a.footer-contact-row{display:inline-flex;align-items:center;justify-content:flex-start;gap:9px;min-height:44px;max-width:100%;line-height:1.7}
.footer-contact-row img{display:block;width:24px;height:24px;flex:0 0 24px;object-fit:contain}
.footer-contact-row span{min-width:0;overflow-wrap:anywhere}
.footer-contact .footer-map{align-items:flex-start;padding:5px 0}.footer-map img{margin-top:2px}
.footer-contact-row:hover span{text-decoration:underline;text-underline-offset:4px}
@media(max-width:619px){.footer-contact{justify-items:start;justify-self:start}.footer-contact a.footer-contact-row{justify-content:flex-start;text-align:left}}

/* Clearly labelled locations share the footer contact area. */
.footer-locations{grid-column:1/-1;justify-self:end;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(28px,4vw,72px);max-width:100%;margin-top:4px}
.footer-location{min-width:0}.footer-location h3{font:700 18px/1.4 Manrope,Arial,sans-serif;letter-spacing:0;color:white;margin:0 0 12px}
.footer-location .footer-contact{justify-self:start;max-width:100%;font-size:16px}
.contact-office{margin:28px 0}.contact-office p{margin-bottom:10px}.contact-office a{overflow-wrap:anywhere}
@media(max-width:719px){.footer-locations{grid-template-columns:1fr;justify-self:start;gap:28px}.footer-location .footer-contact{font-size:16px}}
