@font-face{font-family:Montserrat;font-style:normal;font-weight:300 600;font-display:swap;src:url(/assets/fonts/montserrat-latin.woff2) format('woff2')}
:root{--bg:#fdfcf9;--panel:#f5f2ec;--ink:#1d1c1a;--muted:#5d5a54;--line:#e2ded5;--brass:#a0865a;--dark:#2b2926;--dark-ink:#f8f6f1;--inv:0;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#161615;--panel:#1f1e1c;--ink:#f3f1ec;--muted:#b0aea7;--line:#363430;--brass:#c9ae78;--dark:#262522;--inv:1;color-scheme:dark}}
:root[data-theme="dark"]{--bg:#161615;--panel:#1f1e1c;--ink:#f3f1ec;--muted:#b0aea7;--line:#363430;--brass:#c9ae78;--dark:#262522;--inv:1;color-scheme:dark}
html{scroll-padding-top:calc(env(safe-area-inset-top,0px) + 76px);scroll-behavior:smooth}
*,*:before,*:after{box-sizing:inherit}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
img,video{max-width:100%}
body{margin:0;overflow-x:hidden;background:var(--bg);color:var(--ink);font:400 16px/1.75 Montserrat,system-ui,sans-serif}
h1,h2,h3{font-weight:300;line-height:1.2;margin:0 0 .6em;letter-spacing:.01em}
h1{font-size:clamp(1.9rem,4.6vw,3.2rem)}
h2{font-size:clamp(1.5rem,3.2vw,2.2rem)}
h3{font-size:1.05rem;font-weight:600;letter-spacing:.02em;margin-bottom:.4em}
p{margin:0 0 1em;max-width:62ch;color:var(--muted)}
a{color:inherit}
:focus-visible{outline:2px solid var(--brass);outline-offset:3px}
.wrap{max-width:1120px;margin:0 auto;padding:0 24px}
.inv{filter:invert(var(--inv))}
header{position:sticky;top:env(safe-area-inset-top,0px);background:var(--bg);border-bottom:1px solid var(--line);z-index:20}
header .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:68px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-weight:300;letter-spacing:.28em;font-size:.9rem}
.brand img{height:38px;width:auto}
nav{display:flex;gap:26px;align-items:center;overflow-x:auto;font-size:.88rem}
nav a{text-decoration:none;white-space:nowrap}
.btn{display:inline-block;padding:14px 28px;border:1px solid var(--ink);background:var(--ink);color:var(--bg);text-decoration:none;font-weight:600;font-size:.88rem;letter-spacing:.06em}
.btn.alt{background:transparent;color:var(--ink)}
.hero .wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center;padding-top:64px;padding-bottom:64px}
.hero p{font-size:1.1rem}
.cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.hero figure{margin:0;border-bottom:3px solid var(--brass)}
.hero img{display:block;width:100%;height:auto;max-height:440px;aspect-ratio:4/3;object-fit:cover}
.strip{background:var(--dark);color:var(--dark-ink);text-align:center;padding:26px 24px;font-weight:300;font-size:1.15rem;letter-spacing:.14em}
section{padding:80px 0}
.head{max-width:60ch;margin-bottom:40px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:28px}
.card img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;margin-bottom:16px}
.card p{font-size:.92rem;margin:0}
.card.cta-card{background:var(--dark);color:var(--dark-ink);padding:28px;display:flex;flex-direction:column;justify-content:flex-end}
.card.cta-card p{color:inherit;opacity:.8;margin-bottom:20px}
.card.cta-card .btn{background:var(--dark-ink);color:var(--dark);border-color:var(--dark-ink);text-align:center}
.split{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:center}
.split img,.split video{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;border-bottom:3px solid var(--brass)}
.split img{aspect-ratio:4/3;max-height:440px}
.split video{background:var(--panel)}
.vals{list-style:none;margin:24px 0 0;padding:0}
.vals li{padding:14px 0;border-top:1px solid var(--line)}
.vals li:last-child{border-bottom:1px solid var(--line)}
.vals b{font-weight:600;margin-right:10px}
.panel{background:var(--panel)}
.zones{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.zones div{padding:8px 28px;border-left:1px solid var(--brass)}
.zones p{margin:0}
details{border-top:1px solid var(--line);padding:18px 0}
details:last-of-type{border-bottom:1px solid var(--line)}
summary{cursor:pointer;font-weight:600}
details p{margin:.8em 0 0}
.contact{background:var(--dark);color:var(--dark-ink)}
.contact p{color:inherit;opacity:.8}
.contact .wrap{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.contact .btn{background:var(--dark-ink);color:var(--dark);border-color:var(--dark-ink)}
.contact .btn.alt{background:transparent;color:var(--dark-ink)}
.contact img{height:120px;width:auto;filter:invert(1);margin-bottom:20px}
address{font-style:normal;line-height:2}
footer{padding:28px 0;color:var(--muted);font-size:.82rem}
footer .wrap{display:flex;flex-wrap:wrap;gap:10px 24px;justify-content:space-between}
.crumbs{font-size:.8rem;color:var(--muted);padding-top:20px}
.crumbs a{text-decoration:none}
.crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.crumbs li+li:before{content:"/";margin-right:6px}
.prose{max-width:72ch}
.prose h2{margin-top:1.4em}
.prose ul{color:var(--muted);padding-left:1.2em;margin:0 0 1em}
.prose li{margin-bottom:.4em}
.card a{text-decoration:none}
.card h3 a:after{content:" →";color:var(--brass)}
.zones a{text-decoration:none}
.links{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;list-style:none;padding:0;margin:0}
.links a{display:block;padding:16px 18px;border:1px solid var(--line);text-decoration:none;font-weight:600;font-size:.92rem}
.links a:hover{border-color:var(--brass)}
footer nav{display:flex;flex-wrap:wrap;gap:8px 20px;overflow:visible;font-size:.82rem}
footer nav a{white-space:normal}
footer .cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px;width:100%;padding-bottom:20px;border-bottom:1px solid var(--line);margin-bottom:10px}
footer .cols p{margin:0 0 .4em;font-weight:600;color:var(--ink)}
footer .cols a{display:block;text-decoration:none;line-height:1.9}
@media (max-width:800px){.hero .wrap,.split,.contact .wrap{grid-template-columns:1fr;gap:32px}.hero .wrap{padding-top:32px}section{padding:56px 0}nav a:not(.btn){display:none}}
footer .cols p a{display:inline;line-height:inherit}
.tree,.tree ul{list-style:none;margin:0;padding:0}
.tree ul{margin:.4em 0 .8em 1.1em;padding-left:1.1em;border-left:1px solid var(--brass)}
.tree li{margin:.35em 0}
.tree a{text-decoration:none;font-weight:600}
.tree ul ul a{font-weight:400}
.tree span{color:var(--muted);font-weight:600}
.prose .tree{color:var(--ink)}
.avis-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:36px}
.avis-head .cta{margin-top:0}
.avis-score{display:flex;align-items:center;gap:12px;margin:0;color:var(--ink)}
.avis-score b{font-size:2rem;font-weight:300;line-height:1}
.avis-score span:last-child{color:var(--muted);font-size:.9rem}
.stars{color:var(--brass);letter-spacing:.12em}
.avis-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px}
.avis-card{background:var(--bg);border-top:3px solid var(--brass);padding:24px}
.avis-card p{font-size:.92rem;margin:.6em 0 0}
.avis-who{display:flex;align-items:center;gap:12px;margin-bottom:10px}
.avis-who img{width:40px;height:40px;border-radius:50%;object-fit:cover}
.avis-who div{display:flex;flex-direction:column;line-height:1.4}
.avis-name{font-weight:600;text-decoration:none}
.avis-date{color:var(--muted);font-size:.8rem}
.avis-more{display:inline-block;margin-top:.6em;font-size:.82rem;color:var(--brass)}
.avis-source{font-size:.78rem;margin:24px 0 0}
.avis-item{flex:0 0 calc((100% - 40px)/3);scroll-snap-align:start;margin:0;background:var(--bg);border:1px solid var(--line);border-bottom:3px solid var(--brass);padding:24px 24px 20px;display:flex;flex-direction:column;gap:14px}
.avis-item .stars{color:var(--brass);letter-spacing:.2em;font-size:1rem}
.avis-item blockquote{margin:0;flex:1}
.avis-item blockquote p{margin:0;color:var(--ink);font-size:.95rem;line-height:1.65}
.avis-item blockquote a{color:var(--brass);font-size:.85rem;white-space:nowrap}
.avis-item figcaption{display:flex;flex-direction:column;font-size:.88rem;line-height:1.4}
.avis-item figcaption span{color:var(--muted);font-size:.78rem}
#avis .cta{margin-top:28px}
.avis-carousel{position:relative;max-width:1120px;margin:0 auto;padding:0 24px}
.avis-view{overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;-webkit-overflow-scrolling:touch;outline:none}
.avis-view::-webkit-scrollbar{display:none}
.avis-view:focus-visible{outline:2px solid var(--brass);outline-offset:4px}
.avis-track{display:flex;gap:20px;padding:4px 0 8px}
.avis-nav{position:absolute;top:50%;transform:translateY(-70%);z-index:2;width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:var(--bg);color:var(--ink);font:300 1.8rem/1 Montserrat,system-ui,sans-serif;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0 0 4px;box-shadow:0 2px 10px rgba(0,0,0,.12)}
.avis-nav:hover{border-color:var(--brass);color:var(--brass)}
.avis-nav.prev{left:-12px}.avis-nav.next{right:-12px}
.avis-dots{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin-top:18px}
.avis-dots button{width:8px;height:8px;padding:0;border:0;border-radius:50%;background:var(--line);cursor:pointer}
.avis-dots button.on{background:var(--brass);width:22px;border-radius:4px}
@media (max-width:900px){.avis-item{flex-basis:calc((100% - 20px)/2)}}
@media (max-width:600px){.avis-carousel{padding:0 18px}.avis-item{flex-basis:100%}.avis-nav{display:none}}
@media (min-width:1180px){.avis-nav.prev{left:-30px}.avis-nav.next{right:-30px}}
@media (max-width:800px){.hero img,.split img{aspect-ratio:3/2;max-height:none}.head{margin-bottom:28px}.zones{gap:18px}}
@media (max-width:600px){body{font-size:15.5px;line-height:1.7}.wrap{padding:0 18px}section{padding:44px 0}header .wrap{min-height:60px;gap:12px}.brand{letter-spacing:.18em;font-size:.8rem;gap:8px}.brand img{height:32px}nav .btn{padding:10px 14px;font-size:.78rem}.hero .wrap{padding-top:24px;padding-bottom:40px;gap:24px}.hero p{font-size:1rem}.cta{margin-top:22px}.cta .btn{flex:1 1 100%;text-align:center;padding:15px 20px}.grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:22px 14px}.card h3{font-size:.95rem}.card p{font-size:.86rem}.card.cta-card{grid-column:1/-1}.strip{font-size:.95rem;letter-spacing:.08em;padding:20px 18px}.zones div{padding:6px 18px}summary{padding:4px 0;line-height:1.5}.contact .wrap{gap:28px}.contact img{height:84px}address{line-height:1.8;overflow-wrap:anywhere}.links a{padding:14px 16px}footer .cols{grid-template-columns:1fr 1fr;gap:20px 16px}footer .cols a{line-height:1.6;padding:4px 0;overflow-wrap:anywhere}.avis-item{padding:20px}}
@media (max-width:380px){.brand span{display:none}footer .cols{grid-template-columns:1fr}}

.mnav,.mbar{display:none}
@media (max-width:800px){header nav{display:none}header details.mnav{display:block;border:0;padding:0}.mnav summary{list-style:none;display:flex;align-items:center;gap:10px;padding:9px 14px;border:1px solid var(--line);font-size:.82rem;letter-spacing:.06em}.mnav summary::-webkit-details-marker{display:none}.mnav summary:before{content:"";width:16px;height:11px;background:linear-gradient(currentColor,currentColor) 0 0/100% 1.5px no-repeat,linear-gradient(currentColor,currentColor) 0 50%/100% 1.5px no-repeat,linear-gradient(currentColor,currentColor) 0 100%/100% 1.5px no-repeat}.mnav[open] summary{border-color:var(--brass)}.mnav-list{position:absolute;left:0;right:0;top:100%;background:var(--bg);border-bottom:3px solid var(--brass);box-shadow:0 12px 24px rgba(0,0,0,.1);padding:6px 0;max-height:calc(100vh - 140px);overflow-y:auto}.mnav-list a{display:block;padding:13px 24px;text-decoration:none;font-weight:600;font-size:.95rem;border-top:1px solid var(--line)}.mnav-list a:first-child{border-top:0}
.mbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:30;gap:10px;padding:10px 14px calc(10px + env(safe-area-inset-bottom,0px));background:var(--bg);border-top:1px solid var(--line);box-shadow:0 -4px 16px rgba(0,0,0,.06)}.mbar a{flex:1;text-align:center;padding:13px 10px;font-weight:600;font-size:.88rem;letter-spacing:.04em;text-decoration:none;border:1px solid var(--ink);background:var(--ink);color:var(--bg)}.mbar a+a{background:transparent;color:var(--ink)}body{padding-bottom:72px}
p{max-width:none}.prose li{margin-bottom:.6em}.zones{grid-template-columns:1fr}.zones div{padding:4px 0 4px 18px}}
@media (max-width:600px){body{font-size:16px;line-height:1.7}h1{font-size:1.75rem;letter-spacing:0;line-height:1.22}h2{font-size:1.42rem;letter-spacing:0;line-height:1.25}h3{font-size:1rem}.mnav-list a{padding:13px 18px}.hero p{font-size:1.02rem}.prose h2{margin-top:1.2em}.prose ul{padding-left:1.1em}
.grid{grid-template-columns:1fr;gap:20px}.card:has(>a>img){display:grid;grid-template-columns:116px 1fr;grid-template-rows:auto 1fr;column-gap:16px;align-items:start}.card:has(>a>img)>a:first-child{grid-row:span 2}.card:has(>a>img) img{aspect-ratio:1/1;margin:0}.card h3{font-size:1rem;margin-top:2px}.card p{font-size:.92rem;line-height:1.6}
details{padding:16px 0}summary{line-height:1.45}.vals li{padding:12px 0}.avis-list{grid-template-columns:1fr}}
.faqpage .wrap{max-width:900px}
.faq-toc{margin-bottom:8px}
.faq-toc a{padding:12px 16px}
.faqpage h2{font-size:1.25rem;margin:52px 0 14px;color:var(--brass);font-weight:400;letter-spacing:.04em;scroll-margin-top:90px}
.faqpage summary{line-height:1.5}
.faqpage details p a{color:var(--ink);text-decoration-color:var(--brass)}
.faq-more{margin-top:56px;background:var(--dark);color:var(--dark-ink);padding:32px 28px;display:flex;flex-wrap:wrap;gap:20px 32px;align-items:center;justify-content:space-between}
.faq-more h2{margin:0;color:inherit;font-size:1.3rem;font-weight:300}
.faq-more p{margin:6px 0 0;color:inherit;opacity:.8}
.faq-more .cta{margin-top:0}
.faq-more .btn{background:var(--dark-ink);color:var(--dark);border-color:var(--dark-ink)}
.faq-more .btn.alt{background:transparent;color:var(--dark-ink)}
.faq-all{margin-top:28px}
@media (max-width:600px){.faqpage h2{margin-top:40px;font-size:1.15rem}.faq-more{padding:26px 20px}.faq-more .cta{width:100%}.faq-more .btn{flex:1;text-align:center}}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.partgrid{list-style:none;margin:8px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px}
.part{display:flex;flex-direction:column;gap:6px;height:100%;text-decoration:none;border:1px solid var(--line);border-bottom:3px solid var(--brass);background:var(--bg);padding:20px;transition:transform .2s,box-shadow .2s}
.part:hover,.part:focus-visible{transform:translateY(-3px);box-shadow:0 8px 24px rgba(0,0,0,.1)}
.part-logo{display:flex;align-items:center;justify-content:center;background:#fff;height:150px;padding:16px;margin-bottom:10px;border:1px solid #ece9e1}
.part-logo img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}
.part-name{font-weight:600;font-size:1.05rem}
.part-desc{color:var(--muted);font-size:.85rem;line-height:1.5}
.part-go{color:var(--brass);font-size:.85rem;font-weight:600;margin-top:auto;padding-top:6px}
.res{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px}
.res a{display:flex;flex-direction:column;gap:4px;height:100%;text-decoration:none;border:1px solid var(--line);border-left:3px solid var(--brass);background:var(--bg);padding:18px 20px}
.res a:hover,.res a:focus-visible{background:var(--panel)}
.res .rt{font-weight:600;line-height:1.4}
.res .rh{color:var(--brass);font-size:.78rem;letter-spacing:.04em}
.res .rd{color:var(--muted);font-size:.88rem;line-height:1.6}
.res-note{font-size:.85rem;color:var(--muted);margin-top:36px}
@media (prefers-reduced-motion:reduce){.part{transition:none}.part:hover,.part:focus-visible{transform:none}}
@media (max-width:600px){.partgrid{grid-template-columns:1fr 1fr;gap:14px}.part{padding:14px}.part-logo{height:100px;padding:10px}.part-name{font-size:.95rem}.res{grid-template-columns:1fr}.res a{padding:16px}}
@media (max-width:380px){.partgrid{grid-template-columns:1fr}}
/* Blog */
.posts{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:24px;list-style:none;margin:0;padding:0}
.post a{display:flex;flex-direction:column;height:100%;border:1px solid var(--line);background:var(--bg);text-decoration:none;color:inherit;transition:border-color .2s}
.post a:hover,.post a:focus-visible{border-color:var(--brass)}
.post img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;border-bottom:3px solid var(--brass)}
.post-txt{display:grid;gap:8px;padding:18px 20px 22px}
.post small{color:var(--muted);font-size:.76rem;letter-spacing:.06em;text-transform:uppercase}
.post b{font-weight:600;font-size:1.05rem;line-height:1.35}
.post-txt>span{color:var(--muted);font-size:.9rem}
.prose figure{margin:1.6em 0}.prose figure img{display:block;width:100%;height:auto}
.prose blockquote{margin:1.4em 0;padding:4px 0 4px 18px;border-left:3px solid var(--brass);font-style:italic}
.prose ol{color:var(--muted);padding-left:1.3em;margin:0 0 1em}
@media (max-width:600px){.posts{gap:18px}.post-txt{padding:16px 16px 18px}}
