/* V12: a single-screen entrance, original complete logo, separate content pages. */
.header .brand{width:min(560px,68%);flex:none}
.header .logo-window{width:100%;height:auto;aspect-ratio:1365/242;mix-blend-mode:multiply}
.header .logo-window img{width:108.498%;height:auto;left:-4.03%;top:-11.57%;max-width:none}
.masthead .header{height:138px;min-height:138px;justify-content:space-between;padding:15px 4.5vw;gap:25px}
.trade-navigation{grid-template-columns:repeat(6,minmax(0,1fr));padding:0 4.5vw}
.trade-navigation :is(.trade-trigger,.trade-nav-link){font-size:16px;font-weight:600;letter-spacing:-.3px;line-height:1.3;padding:14px 13px;gap:10px;min-height:66px;white-space:normal;justify-content:flex-start}
.trade-navigation .navigation-mark{--mark-width:24px;flex-shrink:0}
.trade-navigation .trade-label{flex:1;min-width:0}
.trade-navigation .trade-trigger[data-trade] .trade-label{max-width:none}
.trade-navigation .chevron{width:11px;height:11px;flex:0 0 11px;margin-left:auto}
.trade-navigation [aria-current]{color:#c91b23;background:#edf0ee;box-shadow:inset 0 -3px #ee1d25}
.trade-panel [hidden]{display:none!important}
.panel-service{justify-content:space-between}
.panel-service strong{display:block;line-height:1.3}
.panel-service small{display:block;margin-top:7px;line-height:1.45}
.panel-service .arrow-icon{width:18px;height:18px;flex:0 0 18px}
.panel-service:focus-visible,.panel-overview:focus-visible{outline:2px solid var(--red);outline-offset:5px}
.home-page{height:100svh;min-height:640px;display:flex;flex-direction:column;background:#011b2e}
.home-page .masthead{flex-shrink:0}
.home-page main{display:flex;flex:1;min-height:0}
.home-page .hero{flex:1;width:100%;height:100%;min-height:0;padding-top:30px;padding-bottom:45px}
.home-legal{position:absolute;z-index:2;bottom:14px;left:4.5vw;right:4.5vw;display:flex;gap:24px;justify-content:space-between;color:#b9c7cd;font-size:10px;letter-spacing:.02em}
.home-legal a{border-bottom:1px solid #71848e}
.inner-page .page-breadcrumb{flex-wrap:wrap;gap:12px 18px}
.service-page,.overview-page,.privacy-page{max-width:1400px;margin:auto}
.service-page>header,.overview-page>.service-lead{max-width:950px}
.service-page h1,.overview-page h1{margin:0 0 25px}
.service-lead{font-size:18px;line-height:1.85;color:#4c5e65;margin:0 0 35px;max-width:950px}
.service-page-visual{position:relative;margin:0 0 55px;height:clamp(320px,42vw,580px);background:#dce1de;overflow:hidden}
.service-page-visual img{width:100%;height:100%;object-fit:cover;object-position:center}
.service-page-visual figcaption{position:absolute;left:22px;bottom:20px;background:#f1f2eff0;padding:11px 16px;font-size:13px;max-width:calc(100% - 44px)}
.photo-pending{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:25px;background:#102b3d;color:#cbd5d9;height:320px}
.photo-pending .brand-symbol{--mark-width:120px}
.service-method h2{font-size:clamp(29px,3.3vw,44px);margin:0 0 28px}
.service-method .joinery-steps h3{font-size:20px;line-height:1.4;margin:0 0 10px;font-weight:600}
.service-detail-points{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:0 40px}
.service-detail-points li{border-top:1px solid #cbd3d0;padding:24px 0 24px 25px;font-size:17px;line-height:1.7;position:relative}
.service-detail-points li:before{content:'';position:absolute;width:7px;height:7px;left:0;top:35px;background:#ee1d25}
.service-closing{font-size:17px;line-height:1.8;color:#52646b;max-width:900px;margin:30px 0}
.service-page .service-cta{margin-top:40px;padding:28px;background:#dfe6e2}
.service-highlight{font-size:18px;margin:0 0 35px}.service-highlight strong{font-size:32px;display:block}
.overview-page-links{display:grid;grid-template-columns:1fr 1fr;gap:0 45px;margin:25px 0 45px}
.overview-page-links .panel-service{padding:28px 0;min-height:110px}
.overview-page-links .panel-service strong{font-size:22px}.overview-page-links .panel-service small{font-size:15px;color:#52646b}
.inner-page .company{padding-bottom:65px}
.inner-page .contact h1{font-size:clamp(48px,5vw,72px);margin-bottom:25px}
.privacy-page h1{margin-bottom:30px}.privacy-page>p{font-size:17px;line-height:1.85;max-width:900px;margin-bottom:22px}
.page-footer{display:grid;grid-template-columns:auto 1fr auto;align-items:center;padding:35px 4.5vw 20px;gap:25px;background:#e0e5e2}
.page-footer .logo-window{width:260px;height:auto;aspect-ratio:1365/242;mix-blend-mode:multiply}
.page-footer .logo-window img{width:108.498%;height:auto;left:-4.03%;top:-11.57%}
.page-footer>p{font-size:13px;color:#52646b}.page-footer>a:last-of-type{display:flex;gap:18px;align-items:center;font-size:14px}
.page-footer .footer-bottom{grid-column:1/-1;margin:5px 0 0;padding:20px 0 0}
@media(min-width:1800px){.trade-navigation :is(.trade-trigger,.trade-nav-link){font-size:18px}}
@media(max-width:1150px){.trade-navigation{grid-template-columns:repeat(3,minmax(0,1fr))}.trade-navigation :is(.trade-trigger,.trade-nav-link){font-size:16px;min-height:58px}.masthead .header{height:130px;min-height:130px}.header .brand{width:min(520px,68%)}.home-page{min-height:700px}}
@media(max-width:800px){.masthead .header{padding:16px 24px}.header .brand{width:70%}.header-contact{font-size:12px;gap:10px}.trade-navigation{padding:0 16px}.trade-navigation :is(.trade-trigger,.trade-nav-link){font-size:15px;padding:12px;gap:8px}.trade-navigation .navigation-mark{--mark-width:23px}.service-lead{font-size:16px}.page-footer{grid-template-columns:1fr auto}.page-footer>p{grid-column:1/-1;grid-row:2}.service-page-visual{height:390px}.service-page .service-cta{flex-wrap:wrap}}
@media(max-width:620px){
 .masthead .header{display:grid;grid-template-columns:1fr;height:auto;min-height:0;padding:15px 20px 8px;gap:7px}
 .header .brand{width:min(100%,380px);justify-self:center}.header-contact{justify-self:end;font-size:12px;padding:6px 0;gap:12px}
 .header-contact .contact-desktop{display:none}.header-contact .contact-mobile{display:block}
 .trade-navigation{grid-template-columns:repeat(2,minmax(0,1fr));padding:0}
 .trade-navigation :is(.trade-trigger,.trade-nav-link){font-size:14px;min-height:48px;padding:10px 15px;gap:10px}
 .trade-navigation .navigation-mark{--mark-width:22px}
 .home-page{min-height:700px}.home-page .hero{padding:24px 24px 42px;align-items:flex-start}
 .home-page .hero .signature-tree{width:160%;height:calc(100% - 140px);bottom:10px;right:-8px}
 .home-page .hero h1{font-size:clamp(31px,9vw,49px)}.home-legal{font-size:9px;left:24px;right:24px;bottom:12px}
 .trade-panel{padding:26px 24px;max-height:calc(100dvh - var(--masthead-height) - 10px)}
 .trade-panel-layout{grid-template-columns:1fr;gap:20px}.panel-intro h2{font-size:29px}.panel-intro>p{font-size:14px}.panel-service{min-height:72px;padding:17px 0}.panel-service strong{font-size:16px}.panel-service small{font-size:12px}.panel-services{grid-template-columns:1fr;gap:0}
 [data-panel=realisations] .panel-services{grid-template-columns:1fr 1fr;gap:0 22px}
 .service-page,.overview-page,.privacy-page{padding:32px 24px 45px}.service-page h1,.overview-page h1{font-size:37px;overflow-wrap:anywhere}
 .service-page-visual{height:auto;aspect-ratio:4/3;margin-bottom:35px}.service-page-visual img{position:absolute;inset:0}.service-page-visual figcaption{font-size:10px;left:12px;bottom:12px;max-width:calc(100% - 24px);padding:8px 10px}
 .service-method .joinery-steps{grid-template-columns:1fr}.service-detail-points{grid-template-columns:1fr}.service-detail-points li{font-size:16px}.service-closing{font-size:16px}.service-page .service-cta{padding:22px;display:block}.service-cta .button{margin-top:20px;font-size:12px;padding:15px}
 .overview-page-links{grid-template-columns:1fr;gap:0}.overview-page-links .panel-service strong{font-size:20px}
 .page-footer{padding:30px 24px 24px;grid-template-columns:1fr;gap:18px}.page-footer .logo-window{width:280px;max-width:100%}.page-footer>p{grid-row:auto}.page-footer .footer-bottom{gap:15px}
}
