/* Shared navigation and the supporting pages of the PHASE concept. */
.site-header{position:relative;z-index:20}
.desktop-nav details{position:relative}
.desktop-nav summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:12px;padding:14px 0}
.desktop-nav summary::-webkit-details-marker,.mobile-menu summary::-webkit-details-marker{display:none}
.desktop-nav summary span{color:var(--yellow);font-size:18px}
.nav-dropdown[open] summary span{transform:rotate(45deg)}
.dropdown-links{position:absolute;top:100%;left:-24px;width:280px;padding:12px;background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:5px;box-shadow:0 15px 35px #0002}
.dropdown-links a{display:block;padding:12px;font-size:14px;border-radius:3px}
.dropdown-links a:hover,.dropdown-links a[aria-current=page]{background:#e8ebdf}
.desktop-nav>a[aria-current=page]{color:var(--yellow)}
.mobile-menu,.mobile-contact{display:none}
.footer-services{display:flex;flex-wrap:wrap;gap:12px 28px;margin:24px 0 4px;font-size:13px;color:var(--muted)}
.footer-services a:hover{color:var(--ink);text-decoration:underline;text-underline-offset:4px}
.breadcrumb{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;padding-top:28px;font-size:12px;color:#b6bfb6;line-height:1.5}
.breadcrumb a:hover{color:var(--yellow)}
.breadcrumb span[aria-hidden]{color:#798575}
.subhero{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,.7fr);align-items:center;gap:60px;padding:54px 0 68px}
.subhero h1{font-size:clamp(45px,5.2vw,78px);line-height:1.07;margin:23px 0;max-width:900px}
.subhero-copy>p:not(.eyebrow){font-size:18px;line-height:1.8;color:#c0c6be;max-width:660px}
.subhero .button{margin-top:30px;font-size:15px}
.service-hero-art{width:100%;max-width:290px;justify-self:center}
.service-hero-art img{width:100%;height:auto;aspect-ratio:1;object-fit:contain}
.page-section{padding-block:88px}
.page-section .eyebrow{font-size:12px;margin-bottom:22px}
.page-section h2{font-size:clamp(34px,3.8vw,54px)}
.editorial-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(35px,6vw,85px);align-items:start}
.editorial-photo{margin-top:3px}
.editorial-photo img{width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;border-radius:5px}
.editorial-photo figcaption{font-size:12px;line-height:1.6;color:var(--muted);margin-top:14px;letter-spacing:.05em}
.need-list{margin-top:32px}
.need-list article{padding:24px 0;border-top:1px solid var(--line)}
.need-list article:last-child{padding-bottom:0}
.need-list h3{font-size:25px;line-height:1.25;margin-bottom:11px}
.need-list p,.page-intro{font-size:16px;color:var(--muted);line-height:1.8}
.method-section{background:#e8ebdf}
.page-heading-row{display:grid;grid-template-columns:1.2fr 1fr;gap:65px;align-items:end}
.page-heading-row .page-intro{max-width:440px}
.page-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;margin:48px 0 0;padding:0;list-style:none}
.page-steps li{border-top:1px solid #c3ccbc;padding-top:24px}
.page-steps h3{font-size:26px;line-height:1.2;margin:0 0 15px}
.page-steps p{font-size:16px;line-height:1.8;color:#5d685b}
.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;align-items:start}
.faq-list details{border-top:1px solid var(--line)}
.faq-list details:last-child{border-bottom:1px solid var(--line)}
.faq-list summary{position:relative;padding:24px 38px 24px 0;font-size:18px;line-height:1.5;font-weight:600;list-style:none;cursor:pointer}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary:after{content:'+';position:absolute;right:5px;top:22px;font-size:23px;font-weight:400;color:#6b795c}
.faq-list details[open] summary:after{content:'−'}
.faq-list details p{font-size:16px;line-height:1.8;color:var(--muted);padding:0 36px 26px 0}
.related-section{padding:42px 0 65px;border-top:1px solid var(--line)}
.related-section>.eyebrow{margin-bottom:22px;font-size:12px}
.related-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.related-link{padding:22px 24px;background:#eceee4;border-radius:4px;display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:16px;font-weight:600}
.related-link:hover{background:#e2e8cd}
.related-link span:first-child{overflow-wrap:anywhere}
.page-cta{padding:62px 0;background:var(--ink);color:var(--paper)}
.page-cta .wrap{display:flex;justify-content:space-between;gap:45px;align-items:center}
.page-cta h2{font-size:clamp(34px,4vw,56px);max-width:750px}
.page-cta p{color:#bac2ba;font-size:16px;margin-top:16px}
.page-cta .button{flex-shrink:0;font-size:15px}
.about-hero{grid-template-columns:1.2fr 1fr;gap:55px}
.about-hero .editorial-photo img{border-radius:4px}
.about-hero .editorial-photo figcaption{color:#bac2ba}
.principles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:45px;margin-top:48px}
.principles article{padding-top:24px;border-top:1px solid var(--line)}
.principles h3{font-size:29px;line-height:1.2;margin:0 0 16px}
.principles p{font-size:16px;line-height:1.8;color:var(--muted)}
.local-story{background:#e8ebdf}
.local-story .editorial-grid{align-items:center}
.local-story h2{margin-bottom:26px}
.local-story .page-intro{max-width:590px}
.area-list{list-style:none;padding:0;margin:0;border-top:1px solid #bcc8b5}
.area-list li{font-size:clamp(23px,2.5vw,35px);letter-spacing:-.04em;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #bcc8b5;padding:18px 0}
.area-list span{font-size:12px;letter-spacing:.03em;color:#63715b}
.commitments{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;margin-top:42px;list-style:none;padding:0}
.commitments li{font-size:19px;line-height:1.65;border-left:3px solid #a4b248;padding-left:23px}
.contact-page-intro{padding-bottom:40px}
.contact-page-intro .subhero{grid-template-columns:1.1fr 1fr;gap:55px;padding-bottom:44px}
.contact-page-intro h1{font-size:clamp(45px,5.4vw,80px)}
.contact-preamble{font-size:18px;color:#c0c6be;line-height:1.8;max-width:500px;padding-top:35px}
.contact-page-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:80px;align-items:start}
.contact-help h2{font-size:clamp(32px,3.2vw,47px)}
.contact-help>p{margin:22px 0 0}
.project-hints{list-style:none;margin:32px 0;padding:0}
.project-hints li{border-top:1px solid var(--line);padding:20px 0;display:flex;gap:20px;font-size:16px;line-height:1.75;color:var(--muted)}
.contact-area{padding-top:10px;font-size:14px;color:var(--muted);line-height:1.8}
.contact-form-card{padding:38px;background:#e8ebdf;border-radius:5px}
.contact-form-card h2{font-size:32px;margin-bottom:25px}
.contact-form-card form{gap:22px}.form-fields{display:grid;gap:22px;min-width:0;margin:0;padding:0;border:0}
.contact-form-card label{font-size:14px;gap:8px}
.contact-form-card .button{font-size:15px}
.contact-form-card .demo-notice{font-size:12px;margin:22px 0 0;padding:0;background:none;color:#5c6657;line-height:1.75}
.contact-form-card .quote-result{padding:10px 0}
.contact-form-card .quote-result h3{font-size:32px;line-height:1.2}
.contact-form-card .quote-result p{font-size:16px}
.contact-form-card .restart-form{display:flex}
.service-copy .text-link[href]{font-weight:600}
@media(max-width:1000px){
 .subhero{gap:35px;grid-template-columns:minmax(0,1.5fr) minmax(0,.65fr)}
 .service-hero-art{max-width:230px}.contact-page-grid{gap:40px}
 .faq-grid{gap:45px}.page-steps,.principles{gap:28px}
 .page-heading-row{gap:35px}.related-link{font-size:14px;padding:20px}
 .about-hero{grid-template-columns:1fr 1fr}.about-hero h1{font-size:clamp(40px,5vw,66px)}
}
@media(max-width:760px){
 .site-header{gap:12px}.site-header .desktop-nav{display:none}
 .mobile-menu{display:block;order:3}
 .mobile-contact{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid #ffffff50;border-radius:4px;font-size:12px;margin-left:auto;white-space:nowrap}
 .mobile-menu>summary{width:42px;height:44px;display:flex;justify-content:center;align-items:center;flex-direction:column;gap:7px;list-style:none;cursor:pointer;border:1px solid #ffffff50;border-radius:4px}
 .mobile-menu>summary span{display:block;width:18px;height:1px;background:var(--paper);transition:transform .15s}
 .mobile-menu[open]>summary span:first-child{transform:translateY(4px) rotate(45deg)}
 .mobile-menu[open]>summary span:last-child{transform:translateY(-4px) rotate(-45deg)}
 .header .mobile-menu nav{position:absolute;top:calc(100% - 1px);left:0;right:0;display:flex;align-items:stretch;flex-direction:column;gap:0;background:var(--ink);padding:12px 20px 22px;border:1px solid #ffffff35;border-top:none;border-radius:0 0 5px 5px;box-shadow:0 15px 25px #0003}
 .header .mobile-menu nav>a{display:block;padding:12px 0;border-bottom:1px solid #ffffff1c;color:var(--paper);font-size:15px}
 .header .mobile-menu nav>a[aria-current=page]{color:var(--yellow)}
 .subhero{gap:24px;padding-block:36px 46px;grid-template-columns:minmax(0,1fr) 160px}
 .subhero h1{font-size:clamp(38px,6.5vw,56px)}
 .subhero-copy>p:not(.eyebrow){font-size:16px}.service-hero-art{max-width:160px}
 .page-section{padding-block:62px}.editorial-grid{grid-template-columns:1fr;gap:36px}
 .editorial-photo{max-width:100%}.need-list{margin-top:25px}
 .page-heading-row,.faq-grid{grid-template-columns:1fr;gap:30px}
 .page-heading-row .page-intro{max-width:650px}.page-steps,.principles,.commitments{grid-template-columns:1fr;gap:28px}
 .page-steps{margin-top:36px}.page-steps li{display:block}
 .related-links{grid-template-columns:1fr}.related-link{font-size:16px;padding:20px 22px}
 .page-cta .wrap{display:block}.page-cta .button{margin-top:27px}.page-cta h2{font-size:38px}
 .about-hero{grid-template-columns:1fr;gap:35px}.about-hero h1{font-size:clamp(42px,7vw,65px)}
 .about-hero .editorial-photo{max-width:650px}.principles{margin-top:32px}
 .principles h3{font-size:27px}.area-list{margin-top:10px}
 .contact-page-intro .subhero{display:block;padding-bottom:5px}.contact-preamble{padding-top:0;font-size:16px;max-width:600px}
 .contact-page-grid{grid-template-columns:1fr;gap:35px}.contact-form-card{padding:28px}
 .contact-help h2{font-size:36px}.project-hints{margin-block:23px 8px}
}
@media(max-width:480px){
 .site-header{gap:8px}.mobile-contact{font-size:11px;gap:8px;padding:10px}
 .subhero{grid-template-columns:minmax(0,1fr);gap:24px}.subhero h1{font-size:clamp(38px,10.2vw,50px)}
 .subhero .eyebrow{font-size:11px;letter-spacing:.08em}.subhero .button{font-size:14px;max-width:100%;gap:18px}
 .service-hero-art{max-width:150px;justify-self:end;margin-top:-8px}
 .service-hero-art img{height:130px}
 .breadcrumb{font-size:11px;gap:7px 10px;padding-top:22px}
 .page-section{padding-block:50px}.page-section .eyebrow{font-size:11px}
 .page-section h2{font-size:34px}.need-list h3{font-size:24px}
 .faq-list summary{font-size:17px;padding-top:21px;padding-bottom:21px}
 .faq-list details p{padding-right:8px}.page-cta{padding-block:48px}.page-cta h2{font-size:35px}
 .contact-form-card{padding:25px 20px}.contact-form-card .form-row{grid-template-columns:1fr}
 .footer-services{gap:12px 20px;font-size:12px}.commitments{gap:25px}.commitments li{font-size:18px}
 /* The AC artwork occupies only the middle of its square transparent canvas. */
 .page-climatisation-reversible .subhero{row-gap:18px;padding-bottom:28px}
 .page-climatisation-reversible .service-hero-art{height:67px;margin:0;overflow:hidden}
 .page-climatisation-reversible .service-hero-art img{height:auto;transform:translateY(-33%)}
}

/* Legal information follows the same editorial layout as the other prototypes. */
.footer-bottom{align-items:center;flex-wrap:wrap}
.footer .footer-legal{order:0;width:auto;flex-wrap:wrap;gap:10px 24px;font-size:13px;line-height:1.6}
.footer-legal a:hover,.footer-legal a[aria-current=page]{text-decoration:underline;text-underline-offset:4px}
.footer-bottom p.site-credit{font-size:13px;line-height:1.6;margin:0}
.legal-intro{max-width:860px;padding:52px 0 60px}
.legal-intro h1{font-size:clamp(40px,5.2vw,72px);line-height:1.1;margin:22px 0 26px}
.legal-intro>p:not(.eyebrow){max-width:760px;font-size:17px;line-height:1.85;color:#c0c6be}
.legal-content{max-width:1080px;padding-block:40px 72px;overflow-wrap:break-word}
.legal-nav{display:flex;flex-wrap:wrap;gap:12px 28px;border-bottom:1px solid var(--line)}
.legal-nav a{font-size:14px;padding:10px 0 16px;border-bottom:3px solid transparent}
.legal-nav a:hover,.legal-nav a[aria-current=page]{border-bottom-color:#829030}
.legal-updated{font-size:12px;line-height:1.6;color:var(--muted);margin-top:20px}
.legal-section{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,2fr);gap:48px;border-bottom:1px solid var(--line);padding-block:38px}
.legal-section h2{font-size:25px;line-height:1.3;letter-spacing:-.04em;scroll-margin-top:30px}
.legal-section p{font-size:16px;line-height:1.85;color:var(--muted)}
.legal-section p+p{margin-top:16px}
.legal-section a{text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere;color:var(--ink)}
.legal-return{margin-top:32px;font-size:14px}
@media(max-width:650px){.footer-bottom{display:flex;align-items:flex-start;flex-direction:column;gap:16px}.footer-bottom p.site-credit{text-align:left}.legal-intro{padding-block:36px 42px}.legal-intro>p:not(.eyebrow){font-size:16px}.legal-content{padding-block:26px 48px}.legal-section{grid-template-columns:1fr;gap:18px;padding-block:30px}.legal-section h2{font-size:25px}.legal-nav{gap:12px 24px}}

/* PHASE's circuit monogram is paired with a compact, independent wordmark. */
.wordmark,.contact-mark{display:inline-flex;align-items:center;gap:11px;flex-shrink:0;letter-spacing:0}
.brand-symbol{width:48px;height:48px;object-fit:contain;flex:none}
.brand-type{display:block;color:inherit;font-size:27px;line-height:1;letter-spacing:.12em;font-weight:600}
.brand-type small{display:block;font-size:7px;line-height:1.4;letter-spacing:.14em;margin-top:8px;white-space:nowrap}
.footer .brand-symbol{background:var(--ink);border-radius:5px;padding:2px}
.footer .brand-type{color:var(--ink)}
.contact-mark{margin-bottom:28px}.contact-mark .brand-symbol{width:66px;height:66px}.contact-mark .brand-type{font-size:35px}
.button:after{content:'›';display:grid;place-items:center;width:24px;height:24px;flex:none;border:1px solid currentColor;border-radius:50%;font-size:22px;line-height:1;font-weight:400;opacity:.8}
.link-chevron{font-size:25px;line-height:1;font-weight:400}
@media(max-width:760px){.wordmark{gap:7px}.brand-symbol{width:39px;height:39px}.brand-type{font-size:23px}.brand-type small{font-size:6px;margin-top:6px}}
@media(max-width:359px){.site-header{gap:7px}.site-header .brand-symbol{width:33px;height:33px}.site-header .brand-type{font-size:19px}.site-header .brand-type small{font-size:5px}.site-header .wordmark{gap:5px}.mobile-contact{padding:9px 8px}.mobile-menu>summary{width:38px}}

.demo-notice a{text-decoration:underline;text-underline-offset:3px}
