:root{--paper:#f7f5ef;--ink:#24251f;--red:#e32b24;--muted:#74756b;--line:#deded4;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper);scroll-behavior:smooth;scroll-padding-top:30px}
*{box-sizing:border-box}
body{margin:0}
a{color:inherit;text-decoration:none}
button,a,input{-webkit-tap-highlight-color:transparent}
a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--red);outline-offset:5px}
::selection{background:#f5c6b5}
.wrap{width:min(1200px,calc(100% - 96px));margin-inline:auto}
.header{min-height:116px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:24px}
.header nav{display:flex;gap:34px;font-size:14px}
.header nav a{padding-block:14px;white-space:nowrap}
.header-call{background:#eeede5;border-color:#dfdfd4;white-space:nowrap}
.header-call:hover{background:#e4e3d8}
.hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:35px;padding-block:80px;align-items:center}
.eyebrow{font-size:10px;letter-spacing:1.6px;font-weight:700;margin:0 0 25px;line-height:1.6}
.dot{display:inline-block;width:7px;height:7px;background:var(--red);border-radius:50%;margin-right:9px}
.hero h1{font-size:clamp(52px,5.5vw,80px);line-height:1.03;letter-spacing:-3px;margin:0 0 25px;font-weight:800}
em{font-family:Georgia,'Times New Roman',serif;font-weight:400;color:var(--red);letter-spacing:-3px}
.intro{font-size:16px;color:#67695f;line-height:1.8;margin:0 0 30px}
.actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.hero-actions{grid-column:1;align-self:start}
.red{background:var(--red);color:#fff}
.red:hover{background:#c92520}
.outline{border-color:#cfcec4;background:transparent}
.outline:hover{background:#efede5;border-color:#989b8b}
.light{background:var(--paper);border-color:#d7d8c9}
.light:hover{background:#fff}
.hero-art{position:relative;isolation:isolate;aspect-ratio:1;display:grid;place-items:center;align-self:center;min-width:0;grid-column:2}
.hero-disc{position:absolute;left:13.833333%;top:10.666667%;z-index:-1;width:77%;height:77%;border-radius:50%;background:#e52e25;pointer-events:none}
.hero-mascot{position:relative;z-index:1;display:block;width:96%;height:96%;object-fit:contain;max-width:none;transform:rotate(-3deg) translateY(-4%)}
.hero-details{position:absolute;inset:0;z-index:2;width:100%;height:100%;pointer-events:none}
.service-strip{border-block:1px solid var(--line);background:#efeee6}
.services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding-block:23px;gap:30px}
.services span{font-size:14px;font-weight:600;display:flex;align-items:center;gap:18px}
.services span:not(:first-child){border-left:1px solid #cecec2;padding-left:35px}
.services b{font-size:10px;color:var(--red);font-weight:400}
.flyer-section{padding-top:75px;padding-bottom:80px}
.section-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:34px;gap:20px}
.section-heading .eyebrow{margin-bottom:12px}
h2{font-size:46px;letter-spacing:-2px;line-height:1.07;margin:0}
.red-dot{color:var(--red)}
.section-heading>p{text-align:right;font-size:13px;line-height:1.6;color:var(--muted);margin:0}
.flyer-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;align-items:start}
.flyer-slot{border-radius:8px;overflow:hidden}
.flyer-slot.empty{aspect-ratio:.87;background:#efeee8;border:1px dashed #d4d3c9;position:relative}
.slot-number{position:absolute;bottom:18px;left:18px;font-size:10px;letter-spacing:1px;color:#9b9c8f}
.flyer-slot img{width:100%;height:auto;display:block}
.flyer-slot.has-flyer{border:1px solid var(--line);background:white}
.contact-section{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:60px;border-radius:12px;background:#eaeadd;padding:50px 55px}
.contact-lead h2{font-size:58px;margin-bottom:28px}
.contact-lead em{color:#5e6552}
.contact-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px;align-content:center}
.detail{min-width:0;overflow-wrap:anywhere}
.detail .eyebrow{margin-bottom:12px;font-size:9px}
.detail address,.detail p{font-size:15px;line-height:1.7;font-style:normal;margin-top:0}
.detail .hours{color:#626756;font-size:14px}
.detail:last-child{grid-column:1/-1;padding-top:24px;border-top:1px solid #c9ccbb}
.phone{display:inline-flex;align-items:center;min-height:48px;font-size:clamp(24px,2.5vw,32px);font-weight:400;letter-spacing:-.6px;line-height:1.3;white-space:nowrap;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px}
.phone:hover{color:#5e6552}
.footer{padding-block:36px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.footer>span{font-size:11px;color:var(--muted)}
.footer .identity{width:190px}
.footer .identity>img{filter:grayscale(1) brightness(.3)}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
@media(min-width:1450px){.hero{padding-block:100px}}
@media(max-width:1000px){
    .wrap{width:calc(100% - 56px)}
    .header{gap:18px}.header nav{gap:20px}
    .hero{gap:30px}
    .contact-section{padding:36px;gap:30px}.contact-lead h2{font-size:50px}
    .contact-details{gap:20px}.flyer-grid{gap:14px}
}
@media(min-width:721px) and (max-width:850px){
    .header-call{font-size:11px;padding-inline:12px}
    .header nav{font-size:12px;gap:16px}
    .contact-section{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);padding:30px;gap:25px}
    .contact-lead h2{font-size:44px}
    .contact-details{gap:16px}.detail address,.detail p{font-size:13px}
}
@media(max-width:720px){
    .wrap{width:calc(100% - 40px)}
    .header{min-height:94px;gap:12px}.header nav{display:none}
    .header-call{font-size:11px;padding-inline:11px;gap:8px}
    .header-call .icon{width:15px;height:15px}
    .hero{grid-template-columns:minmax(0,1fr);padding-top:36px;padding-bottom:30px;gap:18px}
    .hero-copy{order:1}
    .hero-art{order:2;width:min(82%,300px);margin-inline:auto;grid-column:auto}
    .hero-actions{order:3;grid-column:auto;margin-top:0}
    .hero h1{font-size:clamp(44px,12vw,64px);letter-spacing:-2.5px}
    .eyebrow{font-size:9px}.intro{font-size:15px}
    .services{grid-template-columns:repeat(3,max-content);justify-content:space-between;gap:8px;padding-block:20px}
    .services span{flex-direction:column;align-items:flex-start;font-size:11px;line-height:1.5;gap:5px;white-space:nowrap}
    .services span:not(:first-child){padding-left:12px}.services b{display:block;font-size:9px}
    .flyer-section{padding-block:50px}
    .section-heading{gap:15px}.section-heading>p{font-size:11px}
    .section-heading h2{font-size:37px}.section-heading .eyebrow{font-size:8px;letter-spacing:1px}
    .flyer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.flyer-slot.empty{aspect-ratio:.9}
    .contact-section{grid-template-columns:minmax(0,1fr);padding:28px;gap:32px}
    .contact-lead h2{font-size:50px}.contact-details{gap:20px}
    .detail address,.detail p{font-size:13px}
    .footer{padding-block:30px}.footer>span{font-size:10px}
    .footer .identity{width:155px}
}
@media(max-width:370px){
    .wrap{width:calc(100% - 32px)}
    .header{gap:8px}.header-call{font-size:10px;padding-inline:9px;gap:6px}
    .header-call .icon{width:14px;height:14px}
    .section-heading{align-items:flex-start;flex-direction:column;gap:12px}
    .section-heading>p{text-align:left}.section-heading>p br{display:none}
    .contact-section{padding:22px}.contact-lead h2{font-size:44px}
    .contact-details{grid-template-columns:minmax(0,1fr)}
}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}}
/* Visualiseur intégré, avec fermeture native via Échap. */
.viewer-open{overflow:hidden}
.flyer-viewer{width:min(1100px,calc(100vw - 40px));height:90vh;height:90dvh;max-width:none;max-height:calc(100dvh - 24px);padding:0;border:1px solid #dcdcd2;border-radius:12px;background:var(--paper);color:var(--ink);box-shadow:0 24px 100px #0005}
.flyer-viewer[open]{display:grid;grid-template-rows:auto minmax(0,1fr)}
.flyer-viewer::backdrop{background:#11140feb;backdrop-filter:blur(5px)}
.viewer-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 18px;border-bottom:1px solid var(--line)}
.viewer-toolbar h2{font-size:18px;letter-spacing:-.4px}
.viewer-actions{display:flex;gap:10px}
.viewer-button{background:#eeede5;border-color:#d4d4c8;color:var(--ink)}
.viewer-button:hover{background:#e0e0d4}
#viewer-close>span:first-child{font-size:24px;font-weight:400;line-height:1}
.viewer-stage{display:flex;align-items:center;justify-content:center;min-height:0;overflow:auto;padding:16px;overscroll-behavior:contain}
.viewer-stage>img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}
@media(max-width:480px){.flyer-viewer{width:calc(100vw - 16px);height:calc(100dvh - 32px)}.viewer-toolbar{padding:10px;gap:8px}.viewer-toolbar h2{font-size:15px}.viewer-actions{gap:6px}.viewer-button{padding-inline:10px;font-size:12px}.viewer-stage{padding:8px}}
.contact-section .button{width:224px;max-width:100%;height:54px;padding:12px 16px;gap:12px}
.contact-section .button>.icon{width:20px;height:20px}
