/* L'Atelier — architectural rhythm, legible controls, mobile and tablet layouts. */
.af12-design{--af12-ink:#24382f;--af12-muted:#555b50;--af12-clay:#945237;--af12-line:#d8d1c3;--af12-paper:#fffdf8;--af12-width:1280px;--af12-gutter:clamp(20px,4vw,64px);font-size:1rem;line-height:1.7}
.af12-design *{box-sizing:border-box}
.af12-design :is(main,section,article,aside,form,figure,nav,div){min-width:0}
.af12-design img{max-width:100%}
.af12-design :is(h1,h2,h3){overflow-wrap:break-word;text-wrap:balance}
.af12-design :is(p,li,dd,address){overflow-wrap:break-word}
.af12-design :is(a,button,input,select,textarea,summary):focus-visible{outline:3px solid #945237;outline-offset:4px}
.af12-design :is(input,select,textarea){font-size:1rem!important;max-width:100%;border-radius:4px}
.af12-design :is(button,.af-button,.af-header-cta,summary){min-height:44px}
.af12-design :is(.af-button,.af-header-cta){font-size:.9375rem!important;line-height:1.4}
.af12-design .af-home .af-welcome{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);padding-block:clamp(24px,3vw,48px);gap:clamp(28px,4vw,60px)}
.af12-design .af-home .af-welcome h1{font-size:clamp(2.6rem,4.8vw,4.35rem);line-height:1.09;letter-spacing:-.025em}
.af12-design .af-home .af-welcome-photo{border-radius:4px 4px 64px 4px;aspect-ratio:4/3;box-shadow:none}
.af12-design .af-home .af-welcome-kicker{font-size:.8125rem!important;letter-spacing:.1em;line-height:1.7}
.af12-design .af-home .af-welcome-lead{font-size:1.0625rem!important;line-height:1.8;color:#4c554a}
.af12-design .af-home :is(.af-welcome-discover,.af-welcome-local p,.af-welcome-paths small){font-size:.875rem;line-height:1.65}
.af12-design .af-home .af-welcome-actions{flex-wrap:wrap;gap:16px 22px}
.af12-design .af-home .af-welcome-paths>a{border-radius:4px;box-shadow:none}
.af12-design :is(.af-eyebrow,.atelier-kicker,.af-products-eyebrow){font-size:.8125rem!important;line-height:1.65;letter-spacing:.09em;color:#75503b}
.af12-design :is(.af-local-lead,.af-local-services p,.af-local-services li,.af-local-faq p,.af-local-faq li,.af-product p,.af9-product-card p,.af-service p){font-size:1rem!important;line-height:1.8}
.af12-design :is(.af-local-crumbs,.af10-breadcrumb,.af10-page-nav,.af-local-location dt,.af-local-location dd,.af-local-location>a,.af-local-source,.atelier-commune-source,.atelier-commune-count,.af-commune-postal,.atelier-consent,.af-contact-email){font-size:.875rem!important;line-height:1.65}
.af12-design :is(.af-local-source,.atelier-commune-source,.af-local-location dt,.af-commune-postal){color:#555d4e}
.af12-design .af-local-location dl{gap:16px!important}
.af12-design .af-local-mairie small{font-size:.8125rem;line-height:1.65;color:#555d4e}
.af12-design .af10-page-nav{position:relative;top:auto;overflow:visible}
.af12-design .af10-page-nav>div{flex-wrap:wrap;overflow:visible;gap:6px 14px}
.af12-design .af10-page-nav a{min-height:44px;display:inline-flex;align-items:center;white-space:normal}
.af12-design :is(.af-masthead a,.af-masthead summary){font-size:.9375rem}
.af12-design .af-menu-column a span{font-size:.875rem;color:#51594c}
.af12-design .af-header-contact span{font-size:.875rem;color:#51594c}
.af12-design .af-menu-panel{max-height:calc(100dvh - 190px);overflow:auto;overscroll-behavior:contain}
.af12-design :is(.af-faq-list,.af-local-faq) summary{padding-block:18px;font-size:1rem!important;line-height:1.6}
.af12-design :is(.af-dept-number,.af-products-note){color:#6e5745!important}
.af12-design .af-home .af-departments{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.af12-design .af-home .af-departments>a{display:flex;flex-direction:column;align-items:flex-start;gap:16px;min-width:0;height:auto;background:var(--af12-paper);border:1px solid var(--af12-line);border-radius:4px;padding:28px}
.af12-design .af-home .af-departments>a>.af-dept-number{position:static;inset:auto;display:block;width:auto;height:auto;flex:none;transform:none;margin:0;font-size:clamp(2.5rem,4vw,3.25rem);line-height:1.1;letter-spacing:0}
.af12-design .af-home .af-departments>a>h3{margin:0;font-size:clamp(1.65rem,2.3vw,2rem);line-height:1.2;overflow-wrap:anywhere}
.af12-design .af-home .af-departments>a>p{margin:0}
.af12-design .af-home .af-departments>a>.af-dept-link{margin-top:auto;padding-top:8px;width:100%;line-height:1.5}
.af12-design .af-home .af-departments p{font-size:1rem;line-height:1.65}
.af12-design .af-home .af-departments .af-dept-link{font-size:.875rem}
.af12-design .af-local-quote .atelier-contact-form-wrap,.af12-design .af-home .af-contact .atelier-contact-form-wrap{border-radius:6px;box-shadow:none}
.af12-design :is(.af-contact,.af-local-quote) :is(input:not([type=checkbox]):not([type=radio]),select){min-height:52px}
.af12-design :is(.af-contact,.af-local-quote) label{font-size:.9375rem!important}
.af12-design input[type=checkbox]{min-width:20px;min-height:20px;accent-color:var(--af12-ink)}
.af12-design :is(.af-contact,.af-local-quote) .atelier-consent{font-size:.875rem!important}
.af12-finder{width:min(var(--af12-width),calc(100% - var(--af12-gutter)*2));margin:44px auto 20px;padding:38px;display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:40px;border:1px solid var(--af12-line);border-top:3px solid var(--af12-clay);background:var(--af12-paper)}
.af12-finder h2{font-family:var(--af-serif,Georgia,serif);font-size:clamp(2rem,3vw,2.7rem);font-weight:400;line-height:1.15;margin:8px 0 18px;color:var(--af12-ink)}
.af12-finder h2 em{font-weight:400;color:var(--af12-clay)}
.af12-finder p{font-size:1rem;line-height:1.75;margin:0;color:var(--af12-muted)}
.af12-finder form{display:grid;grid-template-columns:1fr 1fr;gap:18px 14px;align-items:end}
.af12-finder label{display:block;font-size:.9375rem;font-weight:600;line-height:1.5;margin-bottom:8px;color:var(--af12-ink)}
.af12-finder :is(input,select){width:100%;min-height:52px;padding:12px;border:1px solid #a8ae9e;color:var(--af12-ink);background:#fff;font:inherit;line-height:1.4}
.af12-finder button{grid-column:1/-1;justify-self:start;padding:14px 26px;cursor:pointer;border:0}
.af12-finder .af12-search-status{font-size:.875rem;margin-top:20px;color:#4b584a}
.af12-finder .af12-finder-fallback{font-size:.875rem;line-height:1.8;margin-top:15px}
.af12-finder-fallback a{text-decoration:underline;text-underline-offset:3px;color:#714a32}
.af12-search-results{list-style:none!important;padding:0!important;margin:14px 0 0!important;display:grid;grid-template-columns:1fr 1fr;gap:8px}
.af12-search-results:empty{display:none}
.af12-search-results a{display:flex;flex-direction:column;text-decoration:none;border:1px solid var(--af12-line);background:#f5f3ed;padding:12px 15px;min-height:54px;color:var(--af12-ink)}
.af12-search-results a:hover{border-color:var(--af12-clay);background:#f1e8df}
.af12-search-results strong{font-size:1rem;line-height:1.5}
.af12-search-results span{font-size:.875rem;color:#565e50}
.af12-repair{margin:32px 0 0;padding:64px max(var(--af12-gutter),calc((100vw - var(--af12-width))/2));display:grid;grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr);gap:48px;background:#263b31;color:#fffdf8}
.af12-repair .af-eyebrow{color:#e9ba9a!important}
.af12-design :is(.af12-repair,.af-method) :is(a,button,summary):focus-visible{outline-color:#f6d3b3}
.af12-design #af-footer-v8 :is(.af8-tagline,.af8-bottom,.af8-google,.af8-bottom a){font-size:.875rem!important}
.af12-repair h2{font:400 clamp(2.1rem,3.1vw,3.3rem)/1.12 var(--af-serif,Georgia,serif);margin:16px 0 24px;color:#fffdf8}
.af12-repair h2 em{color:#e9ba9a}
.af12-repair p{font-size:1rem;line-height:1.8;color:#e0e6db}
.af12-repair-cards{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:stretch}
.af12-repair-cards>a{display:flex;flex-direction:column;align-items:flex-start;border:1px solid #748476;padding:30px;text-decoration:none!important;color:#fffdf8;border-radius:3px;background:#2d4337;transition:background .18s}
.af12-repair-cards>a:hover{background:#38523f}
.af12-repair-cards>a>span{font-size:.8125rem;line-height:1.65;letter-spacing:.06em;color:#efd0b9}
.af12-repair-cards h3{font:400 clamp(1.7rem,2.2vw,2.2rem)/1.2 var(--af-serif,Georgia,serif);margin:28px 0 16px;color:#fffdf8}
.af12-repair-cards strong{font-size:.9375rem;line-height:1.6;margin-top:auto;padding-top:26px;border-top:1px solid #738373;width:100%;color:#f8e1cd;font-weight:500}
.af12-repair-cards strong b{font-weight:400;float:right}
.af12-service-focus{width:min(var(--af12-width),calc(100% - var(--af12-gutter)*2));margin:0 auto;padding:52px 0}
.af12-focus-heading{max-width:820px;margin-bottom:28px}
.af12-focus-heading h2{font:400 clamp(1.9rem,3vw,2.8rem)/1.2 var(--af-serif,Georgia,serif);color:var(--af12-ink);margin:12px 0 20px}
.af12-focus-heading p{font-size:1rem;line-height:1.8}
.af12-focus-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.af12-focus-grid article{padding:28px;border:1px solid var(--af12-line);background:var(--af12-paper)}
.af12-focus-grid article>span{font-size:.875rem;color:#835036}
.af12-focus-grid h3{font:400 1.65rem/1.3 var(--af-serif,Georgia,serif);margin:18px 0;color:var(--af12-ink)}
.af12-focus-grid p{font-size:1rem;line-height:1.8;color:var(--af12-muted)}
.af12-sector-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.af12-sector-grid article{border:1px solid var(--af12-line);padding:26px;background:var(--af12-paper)}
.af12-sector-grid h3{font:400 1.8rem/1.2 var(--af-serif,Georgia,serif);color:var(--af12-ink);margin:12px 0}
.af12-sector-grid ul{padding:0;list-style:none}
.af12-sector-grid li a{display:inline-flex;align-items:center;min-height:44px;line-height:1.5;color:#445a43;text-underline-offset:3px}
.af12-sector-all{display:inline-flex;align-items:center;min-height:48px;padding-top:15px;border-top:1px solid var(--af12-line);font-weight:600;color:#714a32;font-size:.9375rem;line-height:1.6}
@media(max-width:1100px){
 .af12-sector-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .af12-design .af-home .af-welcome{grid-template-columns:1fr 1fr;gap:28px}
 .af12-design .af-home .af-welcome h1{font-size:clamp(2.5rem,4.8vw,3.5rem)}
 .af12-design .af-home .af-welcome-photo{aspect-ratio:4/5}
 .af12-finder{padding:28px;gap:28px;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr)}
 .af12-finder form{grid-template-columns:1fr}
 .af12-repair{grid-template-columns:1fr;gap:30px;padding-block:48px}
 .af12-repair-heading{max-width:750px}.af12-repair-heading h2 br{display:none}
 .af12-design .af-home .af-departments{grid-template-columns:repeat(2,minmax(0,1fr))}
 .af12-focus-grid{gap:14px}.af12-focus-grid article{padding:22px}
 .af12-design .af-local-quote{grid-template-columns:1fr!important;gap:28px!important}
}
@media(max-width:767px){
 .af12-sector-grid{grid-template-columns:1fr}
 .af12-design{--af12-gutter:20px}
 .af12-design .af-home .af-welcome{grid-template-columns:1fr;gap:26px;padding-block:26px}
 .af12-design .af-home .af-welcome h1{font-size:clamp(2.4rem,9vw,3.5rem);line-height:1.12;letter-spacing:-.025em}
 .af12-design .af-home .af-welcome-photo{aspect-ratio:3/2;border-radius:3px 3px 40px 3px}
 .af12-design .af-home .af-welcome-kicker{font-size:.8125rem!important}
 .af12-design .af-home .af-welcome-actions .af-button{width:100%;justify-content:center;text-align:center;min-height:50px}
 .af12-design .af-home .af-welcome-local p{font-size:.875rem}
 .af12-design .af-home .af-welcome-paths>a{padding:18px;min-height:82px}
 .af12-finder{margin-block:28px 12px;padding:24px 20px;grid-template-columns:1fr;gap:24px}
 .af12-finder h2 br{display:none}.af12-finder h2{font-size:2.1rem}
 .af12-finder form{grid-template-columns:1fr}.af12-finder button{width:100%;justify-self:stretch}
 .af12-search-results{grid-template-columns:1fr}
 .af12-repair{padding-block:38px;gap:24px}.af12-repair-cards{grid-template-columns:1fr;gap:16px}
 .af12-repair-cards>a{padding:25px}.af12-repair-cards h3{font-size:1.85rem;margin-top:20px}
 .af12-repair h2{font-size:2.5rem}
 .af12-service-focus{padding-block:36px}.af12-focus-grid{grid-template-columns:1fr}
 .af12-focus-grid article{padding:24px}
 .af12-design .af-home .af-departments{grid-template-columns:1fr;gap:14px}
 .af12-design .af-local-hero h1{font-size:clamp(2rem,8.6vw,3rem)!important;line-height:1.16}
 .af12-design .af-local-location dl{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .af12-design .af10-page-nav{display:block;padding:18px 20px}.af12-design .af10-page-nav>div{display:flex;gap:4px 16px}
 .af12-design .af-contact-email{font-size:.9375rem!important;overflow-wrap:anywhere}
 .af12-design :is(.atelier-contact-form-wrap,.atelier-contact-form){min-width:0}
 .af12-design .af-mobile-panel{max-height:calc(100dvh - var(--af-menu-top,90px));overflow-y:auto;overscroll-behavior:contain}
 .af12-design .af-mobile-panel a,.af12-design .af-mobile-panel summary{font-size:1rem;min-height:48px;line-height:1.5}
 .af12-design .af-local-nearby .af-local-inner>div{grid-template-columns:1fr!important}
}
@media(max-width:374px){
 .af12-design{--af12-gutter:16px}.af12-design .af-home .af-welcome h1{font-size:2.25rem}
 .af12-finder{padding:22px 16px}.af12-design .af-local-location dl{grid-template-columns:1fr!important}
 .af12-design .af-home .af-welcome-paths strong{font-size:1.35rem}
}
@media(prefers-reduced-motion:reduce){.af12-design *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
/* Complete trade / commune navigation, with comfortable mobile controls. */
.af19-directory h2{font:400 clamp(1.75rem,3vw,2.5rem)/1.2 var(--af-serif,Georgia,serif);margin:0 0 20px;overflow-wrap:anywhere}
.af19-trade-form{display:flex;flex-wrap:wrap;align-items:end;gap:16px;margin:24px 0;padding:24px;background:#fffdf8;border:1px solid #d8d1c3}
.af19-trade-form>div{flex:1 1 260px;min-width:0}
.af19-trade-form label{display:block;font-size:1rem;font-weight:600;line-height:1.5;margin-bottom:8px}
.af19-trade-form select{display:block;width:100%;max-width:100%;min-height:52px;padding:12px;border:1px solid #a8ae9e;background:#fff;color:#24382f;font:inherit}
.af19-trade-form button{flex:0 1 auto;min-height:52px;line-height:1.4;white-space:normal;cursor:pointer}
.af19-directory .atelier-communes-toggle>summary{flex-wrap:wrap;align-items:center;line-height:1.4;column-gap:16px;row-gap:8px}
.af19-directory .atelier-communes-toggle>summary span{font-size:.875rem;white-space:normal}
.af14-commune-directory summary{display:flex;align-items:center;justify-content:space-between;gap:16px}
.af14-commune-directory summary small{flex:none;margin:0}
.af14-commune-directory a span{flex:none}
.af12-design .af14-section{grid-template-columns:max-content minmax(0,1fr)}
.af14-section>.af14-number{position:static;min-width:2ch;line-height:1.3}
@media(max-width:767px){
 .af19-trade-form{padding:18px;gap:16px}
 .af19-trade-form>div,.af19-trade-form button{flex-basis:100%;width:100%}
 .af19-directory .atelier-commune-group{grid-template-columns:1fr;gap:10px}
 .af19-directory .atelier-commune-group>strong{position:static;width:auto}
 .af14-commune-directory h2{font-size:1.75rem;line-height:1.25}
 .af14-commune-directory summary{font-size:1rem;line-height:1.5}
 .af14-section{gap:14px}
}

