/* CLAIRÈVE — identity, contact and catalogue. */
:root{--line:#d8ded6;--wash:#eef0e9}
.header{box-shadow:0 6px 22px #123b3f06}.header-inner{height:104px;gap:24px}
.brand-family{display:flex;align-items:center;gap:19px;flex-shrink:0;min-width:0}.brand,.brand img{width:220px}.brand{height:80px}.holding-signature{display:flex;flex-direction:column;align-items:center;gap:5px;border-left:1px solid var(--line);padding:8px 0 8px 18px;text-decoration:none;flex:0 0 auto}.holding-signature span{font:500 8px/1.5 var(--sans);letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.holding-signature img{width:112px;height:auto;max-width:100%;object-fit:contain}.desktop-nav{gap:20px}.desktop-nav a{font-size:.82rem}.header-cta{padding:13px 17px;gap:15px;white-space:nowrap}.button{border-radius:3px;font-weight:600;transition:background .18s,box-shadow .18s}.button:hover{box-shadow:0 6px 20px #123b3f18}.hero-photo{border-radius:80px 5px 5px 5px;box-shadow:0 18px 60px #123b3f12}.hero-photo:before{display:none}.hero h1{font-weight:400}.service-card{border-radius:4px;background:#fff;transition:transform .18s,box-shadow .18s}.service-card:hover{transform:translateY(-4px);box-shadow:0 16px 38px #123b3f0c}.service-number{color:var(--copper)}.editorial figure{border-radius:3px 65px 3px 3px;overflow:hidden}.material-grid article{border-top:2px solid var(--copper);padding-top:24px}.town-search{border-radius:7px}.closing{background:linear-gradient(110deg,#123b3f,#204b4b)}.footer-grid address{font-style:normal;font-size:.9rem;margin-bottom:15px}.footer-phone,.footer-email{display:block;text-decoration:none;width:fit-content}.footer-phone{font-size:1.3rem;margin-top:14px}.footer-email{font-size:.82rem;overflow-wrap:anywhere;margin-top:6px}.footer-group{display:flex;align-items:center;gap:28px;border-top:1px solid #ffffff26;padding-block:30px}.holding-white{padding:11px 20px;background:#fff;border-radius:4px;flex:0 0 auto}.holding-white img{width:145px;height:auto}.footer-group p{font-size:.9rem;margin-bottom:5px}.footer-group span{font-size:.78rem;opacity:.8}.mobile-menu svg{flex-shrink:0}.mobile-address{font-size:.8rem;padding-top:12px;color:var(--muted)}.mobile-phone{font-weight:600}.mobile-project{color:var(--copper);font-weight:600}
.project-layout{grid-template-columns:minmax(240px,.8fr) minmax(0,1.65fr);gap:60px}.contact-aside{position:sticky;top:140px;align-self:start}.contact-card{border-top:2px solid var(--copper);padding-top:25px;margin-top:30px}.contact-card>a{display:block;text-decoration:none;overflow-wrap:anywhere;margin-bottom:12px}.contact-card .contact-phone{font-size:1.65rem;color:var(--ink)}.contact-card address{font-style:normal;font-size:.9rem;color:var(--muted);margin-top:20px}.contact-panel{min-width:0;scroll-margin-top:125px}.project-form{padding:38px;border-radius:8px;border:1px solid var(--line);box-shadow:0 18px 55px #123b3f07;position:relative}.form-intro{padding-bottom:12px}.form-intro .eyebrow{margin-bottom:12px}.form-intro h2{font-size:2rem;margin-bottom:15px}.project-form .form-section{border-top:1px solid var(--line);margin-top:28px;padding-top:26px;min-width:0}.project-form .form-section>legend{float:left;display:flex;align-items:center;gap:12px;font-size:1rem;width:100%;margin-bottom:22px}.form-section>legend>span{font-size:.7rem;color:var(--copper);background:#f4ede4;border-radius:50%;width:30px;height:30px;display:grid;place-items:center}.form-section>.form-grid,.form-section>.upload-zone{clear:both}.form-grid{gap:23px 20px}.form-grid>div{min-width:0}.project-form input:not([type=checkbox]),.project-form select,.project-form textarea{border-radius:4px;background:#fcfcfa;border-color:#bdc8c0;min-width:0}.project-form input:focus,.project-form textarea:focus,.project-form select:focus{background:white;border-color:var(--ink)}.project-form [aria-invalid=true]{border-color:#a32929!important}.project-form .field-error{display:block;color:#9b2424;font-size:.8rem;margin-top:6px}.upload-zone{padding:22px;background:#f3f4ee;border:1px dashed #aebdae;border-radius:5px}.upload-zone .small{font-size:.8rem;margin-bottom:15px}.project-form input[type=file]{font-size:.8rem;background:white;padding:10px;max-width:100%;overflow:hidden}.project-form input::file-selector-button{padding:9px 11px;margin-right:10px;border:0;border-radius:3px;background:var(--ink);color:white;cursor:pointer}.file-feedback:empty{display:none}.upload-zone .file-feedback{margin:12px 0 0}.captcha-box{margin-block:26px;clear:both}.captcha-box input{max-width:110px}.project-form .contact-consent{display:flex;align-items:flex-start;gap:12px;font-weight:400;font-size:.83rem;line-height:1.65}.contact-consent input{flex:0 0 auto;width:20px;height:20px;margin:3px 0;accent-color:var(--ink)}.privacy-note{font-size:.77rem;margin-top:12px}.privacy-note a{text-underline-offset:3px}.project-form .button{width:100%;margin-top:10px;padding-block:17px}.project-form .button .submit-label{font-size:.95rem}.project-form .button:disabled{opacity:.65;cursor:wait}.form-alternative{margin:18px 0 0;text-align:center}.form-notice{padding:22px;border-radius:5px;margin-bottom:20px;font-size:.9rem}.form-error{background:#fff0ed;border:1px solid #d99b92;color:#83271c}.form-success{background:#edf5eb;border:1px solid #9fba9a;color:#245228}.form-notice ul{margin:10px 0 0;padding-left:22px}.preview-note{font-size:.77rem;color:#655534;background:#f7f1de;padding:14px;border-radius:3px}.cv-honeypot{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip-path:inset(50%);white-space:nowrap}.selected-product{padding:18px;background:var(--wash);border-left:3px solid var(--copper);margin-bottom:25px}.selected-product strong{display:block;font-size:1rem}.selected-product p{font-size:.8rem;margin:6px 0 0}.legal dl{display:grid;grid-template-columns:180px 1fr;gap:12px 25px}.legal dt{font-weight:600}.legal dd{margin:0}.legal a{overflow-wrap:anywhere}
@media(max-width:1270px){.header-inner{gap:18px}.desktop-nav{gap:15px}.brand,.brand img{width:195px}.holding-signature img{width:94px}.brand-family{gap:14px}.holding-signature{padding-left:14px}.header-cta{font-size:.76rem;padding:11px 13px}.wrap{width:calc(100% - 60px)}}
@media(max-width:1100px){.desktop-nav{display:none}.header-inner>.button{margin-left:auto}.mobile-menu{display:block}.mobile-menu summary{list-style:none;display:flex;gap:9px;align-items:center;cursor:pointer;min-height:44px;font-size:.8rem}.mobile-menu nav{position:absolute;top:104px;left:0;right:0;display:flex;flex-direction:column;background:var(--paper);padding:18px 30px 26px;box-shadow:0 18px 28px #123b3f15;max-height:calc(100dvh - 110px);overflow:auto}.mobile-menu nav a{padding:12px 0;border-bottom:1px solid var(--line);text-decoration:none}.project-layout{gap:35px;grid-template-columns:1fr 1.65fr}}
@media(max-width:850px){.project-layout{grid-template-columns:1fr}.contact-aside{position:static;max-width:none}.contact-aside>p,.contact-aside>.plain-steps{max-width:620px}.contact-card{display:grid;grid-template-columns:1fr 1fr;gap:5px 20px}.contact-card address{grid-column:2;grid-row:1/3;margin:0}.contact-card .contact-phone{font-size:1.4rem}.contact-card>a{font-size:.9rem}}
@media(max-width:700px){.wrap{width:calc(100% - 36px)}.header-inner{height:84px;gap:10px}.brand,.brand img{width:170px}.brand{height:68px}.brand-family{gap:12px}.holding-signature{display:flex;padding-left:12px;gap:3px}.holding-signature img{width:84px}.holding-signature span{font-size:6.5px;max-width:84px;text-align:center}.mobile-menu{margin-left:auto}.mobile-menu nav{top:84px;padding:15px 20px 25px}.mobile-menu summary{font-size:.7rem;gap:5px}.mobile-menu svg{width:19px}.header-inner>.button{display:none}.hero{padding-top:22px}.hero-photo{height:350px;border-top-left-radius:55px}.hero h1{font-size:3.5rem}.project-form{padding:25px}.form-intro h2{font-size:1.8rem}.footer-group{gap:20px}.footer-group p{font-size:.82rem}.footer-group span{font-size:.7rem}.holding-white{padding:10px 13px}.holding-white img{width:104px}.contact-panel{scroll-margin-top:100px}.form-alternative{font-size:.8rem}.upload-zone{padding:17px}.legal dl{grid-template-columns:1fr;gap:4px}.legal dd{margin-bottom:15px}}
@media(max-width:390px){.wrap{width:calc(100% - 28px)}.brand,.brand img{width:146px}.holding-signature img{width:68px}.holding-signature span{display:none}.brand-family{gap:9px}.holding-signature{padding-left:9px}.header-inner{gap:9px}.mobile-menu summary{font-size:.65rem}.hero h1{font-size:3.15rem}.project-form{padding:20px}.contact-card{display:block}.contact-card address{margin-top:15px}.footer-group{align-items:flex-start;flex-direction:column}.holding-white img{width:130px}}
@media(prefers-reduced-motion:reduce){.service-card:hover{transform:none}.service-card,.button{transition:none}}
