:root{--paper:#FFFFFF;--soft:#F3F6F2;--ink:#1B2420;--muted:#5A665F;--line:#DDE4DC;--accent:#28a739;--accent-d:#1F8A2E;--on-accent:#FFFFFF;color-scheme:light}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:5rem}
body{margin:0;background:var(--paper);color:var(--ink);font:500 1.05rem/1.65 "Raleway",system-ui,-apple-system,"Segoe UI",sans-serif;font-variant-numeric:lining-nums;font-feature-settings:"lnum" 1}
img{max-width:100%;height:auto;display:block}a{color:var(--accent);text-underline-offset:3px}a:hover{color:var(--accent-d)}
h1,h2,h3{font-family:"Raleway",system-ui,sans-serif;font-weight:800;line-height:1.12;letter-spacing:-.015em;margin:0 0 .55em;text-wrap:balance}
h1{font-size:clamp(2.3rem,6vw,4.1rem)}h2{font-size:clamp(1.8rem,4vw,2.6rem)}h3{font-size:1.35rem}
p{margin:0 0 1em;max-width:68ch}.lead{font-size:1.18rem}.muted{color:var(--muted)}
.kicker{display:block;color:var(--accent);font-weight:700;margin-bottom:.4rem}
.wrap{max-width:72rem;margin:0 auto;padding:0 1.25rem}
.skip{position:absolute;left:-999px;top:0}.skip:focus{left:1rem;top:1rem;background:var(--accent);color:#fff;padding:.5rem 1rem;z-index:99}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.site{position:sticky;top:0;z-index:20;background:var(--paper);border-bottom:1px solid var(--line)}
.bar{display:flex;align-items:center;gap:1.5rem;min-height:4.5rem}
.logo{display:inline-block;flex:none}.logo img{height:46px;width:auto}
.main ul{list-style:none;display:flex;gap:1.15rem;margin:0;padding:0}
.main a{color:var(--ink);text-decoration:none;font-weight:600;padding:.3rem 0}
.main a:hover{color:var(--accent)}.main a[aria-current]{color:var(--accent);box-shadow:inset 0 -3px 0 var(--accent)}
.bar .btn{margin-left:auto;gap:0}
.menu{display:none;margin-left:auto}
.menu summary{list-style:none;cursor:pointer;font-weight:700;padding:.6rem 1.1rem;border:2px solid var(--accent);color:var(--accent);border-radius:999px}
.menu summary::-webkit-details-marker{display:none}
.menu ul{position:absolute;left:0;right:0;top:100%;list-style:none;margin:0;padding:.5rem 1.25rem 1.25rem;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:0 12px 24px rgba(0,0,0,.06)}
.menu li a{display:block;padding:.7rem 0;color:var(--ink);text-decoration:none;font-size:1.15rem;font-weight:600;border-bottom:1px solid var(--line)}
.menu li a[aria-current]{color:var(--accent)}
@media (max-width:1100px){.main{display:none}.menu{display:block}.bar .btn{margin-left:0}}
@media (max-width:520px){.bar .btn span{display:none}.logo img{height:38px}}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;padding:.75rem 1.3rem;border-radius:999px;font-weight:700;text-decoration:none;border:2px solid var(--accent);color:var(--accent);line-height:1.2;background:transparent}
.btn:hover{border-color:var(--accent-d);color:var(--accent-d)}
.btn-p{background:var(--accent);color:var(--on-accent)}.btn-p:hover{background:var(--accent-d);color:#fff}
.btns{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem}
.hero{position:relative;color:#fff;min-height:min(78vh,42rem);display:flex;align-items:flex-end;background:#1E4A32;overflow:hidden;padding:0}
.hero.small{min-height:min(54vh,27rem)}
.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(8,22,14,.88),rgba(8,22,14,.3) 65%,rgba(8,22,14,.1))}
.hero .wrap{position:relative;z-index:1;padding-top:5rem;padding-bottom:3rem;width:100%}
.hero p{max-width:46ch}.hero .btn:not(.btn-p){color:#fff;border-color:#fff}
.status{display:inline-flex;align-items:center;gap:.55rem;margin:0 0 1.25rem;padding:.35rem .9rem;border-radius:999px;background:rgba(255,255,255,.16);font-weight:600;font-size:.95rem}
.status i{width:.6rem;height:.6rem;border-radius:50%;background:#C9CFCB}.status.open i{background:#5EE07A}
.plain .status{background:var(--soft);border:1px solid var(--line)}.plain .status.open i{background:var(--accent)}
.plain{padding:4rem 0 1rem}
section{padding:4.5rem 0}.alt{background:var(--soft)}
.cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:2.25rem}
.split{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}
@media (max-width:820px){.split{grid-template-columns:1fr}}
.photo{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:6px;background:var(--line)}
.service h3{margin-top:1.1rem}.service h3 a{color:inherit;text-decoration:none}.service p{color:var(--muted)}
.num{font-weight:800;font-size:2.4rem;color:var(--accent);line-height:1;display:block;margin-bottom:.6rem}
.logos{display:grid;grid-template-columns:repeat(auto-fill,minmax(8.5rem,1fr));gap:1rem;list-style:none;padding:0;margin:2rem 0 1rem}
.logos a{display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid var(--line);border-radius:8px;aspect-ratio:3/2;padding:.45rem;transition:border-color .15s;overflow:hidden}
.logos a:hover{border-color:var(--accent)}.logos img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}
.tag{--hole:var(--paper);position:relative;background:var(--accent);color:#fff;padding:2.5rem 1.4rem 1.2rem;clip-path:polygon(20px 0,calc(100% - 20px) 0,100% 20px,100% 100%,0 100%,0 20px);border-radius:0 0 8px 8px;transform:rotate(-1.5deg);align-self:start}
.alt .tag{--hole:var(--soft)}
.tag::before{content:"";position:absolute;top:12px;left:50%;width:14px;height:14px;margin-left:-7px;border-radius:50%;background:var(--hole)}
.tag-type{display:block;font-weight:600;font-size:.95rem}
.tag-name{display:block;font-weight:800;font-size:1.65rem;line-height:1.1;margin:.2rem 0 .9rem}
.tag dl{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;margin:0;border-top:2px dashed rgba(255,255,255,.55);padding-top:.8rem}
.tag dt{font-size:.85rem}.tag dd{margin:0;font-size:1.3rem;font-weight:800;white-space:nowrap}
.tag-foot{font-size:.85rem;margin:.8rem 0 0}
a.tag{text-decoration:none;display:block;color:#fff}a.tag:hover{transform:rotate(0);color:#fff}
.tag .big{font-size:2.3rem;font-weight:800;line-height:1}
.tags{display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:2rem;margin:2rem 0}
.chips{display:flex;flex-wrap:wrap;gap:.5rem;margin:1.5rem 0 0;padding:0;list-style:none}
.chips a{display:block;border:1px solid var(--line);background:var(--paper);border-radius:999px;padding:.45rem 1rem;color:var(--ink);text-decoration:none;font-weight:600}
.chips a:hover{border-color:var(--accent);color:var(--accent)}
.cat{padding:3rem 0 1rem}.cat h2{border-bottom:3px solid var(--accent);padding-bottom:.4rem}
.item{display:grid;grid-template-columns:minmax(15rem,21rem) 1fr;gap:2.5rem;padding:2rem 0 2.5rem;border-bottom:1px solid var(--line)}
.item:last-child{border-bottom:0}@media (max-width:760px){.item{grid-template-columns:1fr;gap:1.5rem}}
.specs{display:grid;grid-template-columns:max-content 1fr;gap:.2rem 1.5rem;margin:1rem 0}.specs dt{color:var(--muted)}.specs dd{margin:0;font-weight:600}
.note{border-left:4px solid var(--accent);padding:.25rem 0 .25rem 1rem;margin:1.25rem 0}
table{border-collapse:collapse;width:100%}th,td{text-align:left;padding:.6rem .5rem;border-bottom:1px solid var(--line)}td:last-child{text-align:right;font-weight:700}
.steps{counter-reset:s;list-style:none;padding:0;margin:1.5rem 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:1.5rem}
.steps li{counter-increment:s;padding-top:3.2rem;position:relative}
.steps li::before{content:counter(s);position:absolute;top:0;left:0;font-weight:800;font-size:2.4rem;line-height:1;color:var(--accent)}
.rates{list-style:none;padding:0;margin:1.5rem 0;border-top:3px solid var(--accent)}
.rates li{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--line);font-size:1.1rem}
.rates b{font-size:1.6rem;font-weight:800;white-space:nowrap}
details.faq{border-bottom:1px solid var(--line)}
details.faq summary{cursor:pointer;padding:1.1rem 2rem 1.1rem 0;font-weight:700;font-size:1.1rem;position:relative;list-style:none}
details.faq summary::-webkit-details-marker{display:none}
details.faq summary::after{content:"+";position:absolute;right:.25rem;top:.85rem;font-size:1.6rem;line-height:1;color:var(--accent)}
details.faq[open] summary::after{content:"−"}details.faq>div{padding:0 0 1.25rem}
details.inc summary{cursor:pointer;color:var(--accent);font-weight:600}
blockquote{margin:0}
.reviews{display:grid;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:2rem;margin-top:2rem}
.reviews blockquote{border-top:3px solid var(--accent);padding-top:1rem}
.reviews blockquote p{display:-webkit-box;-webkit-line-clamp:8;-webkit-box-orient:vertical;overflow:hidden}
.reviews footer{font-weight:700;margin-top:.5rem}.reviews footer small{display:block;font-weight:500;color:var(--muted)}
.stars{color:#F2B01E;letter-spacing:.1em;font-size:1.1rem}
.score{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem 1rem;margin:0 0 .5rem}.score b{font-size:2rem;font-weight:800}
.prods{display:grid;grid-template-columns:repeat(auto-fill,minmax(12.5rem,1fr));gap:1.25rem;margin:1.75rem 0 1rem}
.prod{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:8px;text-decoration:none;color:var(--ink);overflow:hidden;transition:border-color .15s}
.prod:hover{border-color:var(--accent);color:var(--ink)}
.prod img{width:100%;aspect-ratio:1;object-fit:contain;padding:1rem;background:#fff}
.prod span{padding:0 1rem}.prod .pb{font-size:.85rem;color:var(--muted)}.prod .pn{font-weight:700;padding-bottom:1rem}
.vcat{padding:3.5rem 0;border-top:1px solid var(--line)}
.hours{margin:.5rem 0 1rem}.hours td{padding:.4rem .5rem .4rem 0;font-weight:500}.hours td:last-child{text-align:left}
.map{width:100%;aspect-ratio:4/3;border:0;border-radius:6px;background:var(--line)}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}@media(max-width:700px){.gallery{grid-template-columns:1fr}}
.foot{background:var(--soft);color:var(--ink);padding:3.5rem 0 2rem;border-top:4px solid var(--accent)}
.foot a{color:var(--ink);text-decoration:none}.foot a:hover{color:var(--accent)}
.foot ul{list-style:none;padding:0;margin:0}.foot li{margin:.3rem 0}
.ftitle{font-weight:800;font-size:1.05rem;color:var(--accent);margin:0 0 .75rem}
.legal{border-top:1px solid var(--line);margin-top:2.5rem;padding-top:1.25rem;font-size:.9rem;color:var(--muted)}.legal a{text-decoration:underline}.cc{position:fixed;left:1rem;right:1rem;bottom:1rem;z-index:50;max-width:40rem;margin:0 auto;background:#fff;color:var(--ink);border:1px solid var(--line);border-top:4px solid var(--accent);border-radius:10px;box-shadow:0 12px 32px rgba(0,0,0,.18);padding:1.25rem 1.25rem 1rem}.cc[hidden]{display:none}.cc p{margin:0 0 1rem;font-size:.95rem;max-width:none}.cc-b{display:flex;gap:.75rem;flex-wrap:wrap}.cc-b .btn{flex:1;min-width:8rem}.annonce{background:var(--accent);color:#fff;text-align:center;padding:.6rem 1rem;font-weight:600}.annonce a{color:#fff;text-decoration:underline;margin-left:.35rem}.annonce a:hover{color:#fff}.item.off .btns{display:none}.item.off .tag{filter:grayscale(1);opacity:.55}.form{position:relative;background:var(--soft);border:1px solid var(--line);border-radius:10px;padding:1.5rem;max-width:48rem;margin-top:1.5rem}.alt .form{background:var(--paper)}.form label{display:flex;flex-direction:column;gap:.3rem;font-weight:700;font-size:.95rem;margin:0 0 1rem}.form input,.form select,.form textarea{font:inherit;font-weight:500;padding:.65rem .75rem;border:1px solid #C9D2C8;border-radius:6px;background:#fff;color:var(--ink);width:100%}.form textarea{min-height:6rem;resize:vertical}.fg{display:grid;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:0 1rem}.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.small{font-size:.88rem}.linkbtn{background:none;border:0;padding:0;font:inherit;color:inherit;text-decoration:underline;cursor:pointer}