/* Les Silencieux - univers accueillant, accessible et sans dépendance graphique */
:root{--ink:#1c3342;--muted:#526875;--blue:#176b91;--blue-dark:#194c66;--teal:#2b827e;--mint:#eff8f4;--cream:#fcfaf5;--paper:#fff;--line:#e1ebe8;--peach:#fee6cc;--sky:#e4f2f7;--shadow:0 18px 52px rgba(30,67,75,.075)}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}body{margin:0;background:#fdfcf9;color:var(--ink);font:16.5px/1.74 system-ui,-apple-system,'Segoe UI',sans-serif;-webkit-font-smoothing:antialiased}
a{color:var(--blue);text-underline-offset:4px}a:hover{color:var(--blue-dark)}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #f5b95a;outline-offset:3px}
.wrap{max-width:1120px;margin-inline:auto;padding-inline:28px}.reading{max-width:790px;margin-inline:auto}
header{background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);position:relative;z-index:10}
nav{min-height:94px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.brand{display:flex;align-items:center;font-size:1.34rem;font-weight:820;letter-spacing:-.045em;color:var(--blue-dark);text-decoration:none;white-space:nowrap}.links{display:flex;align-items:center;gap:32px}.links a{color:#314958;text-decoration:none;font-size:.97rem;font-weight:650}.links a[aria-current]{color:var(--blue)}.links a:hover{text-decoration:underline}
h1,h2,h3{font-weight:770;letter-spacing:-.045em;line-height:1.16}h1{font-size:clamp(2.45rem,5.9vw,4.5rem);margin:0 0 22px}h2{font-size:clamp(1.65rem,3vw,2.35rem);margin:0 0 18px}h3{font-size:1.16rem;margin:0 0 10px}p{margin:0 0 17px}ul{margin:0 0 18px;padding-left:1.3em}li{margin-bottom:10px}
.eyebrow{display:inline-flex;align-items:center;gap:9px;letter-spacing:.055em;text-transform:uppercase;font-size:.78rem;font-weight:800;color:#206e7d;margin:0 0 17px}.eyebrow::before{content:'';display:inline-block;width:9px;height:9px;background:#f2ba70;border-radius:99px}
.lead{font-size:clamp(1.08rem,1.9vw,1.3rem);line-height:1.68;color:#435b66}.muted,.small{color:var(--muted)}.small{font-size:.91rem}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;background:var(--blue);border:1px solid var(--blue);border-radius:999px;color:#fff;text-decoration:none;padding:12px 22px;font-size:.96rem;line-height:1.3;font-weight:700;box-shadow:0 5px 13px rgba(23,107,145,.12);transition:transform .18s ease,box-shadow .18s ease}
.btn:hover{color:white;background:var(--blue-dark);transform:translateY(-2px);box-shadow:0 8px 18px rgba(23,107,145,.18)}.btn.light{background:white;color:var(--blue);box-shadow:none}.btn.light:hover{background:#f4faf9;color:var(--blue)}
.hero-band{background:linear-gradient(118deg,#f1f9f6 0%,#f9fbfa 57%,#fff4e7 100%);border-bottom:1px solid #e3eeeb;overflow:hidden}.hero{min-height:520px;display:grid;grid-template-columns:minmax(0,1.16fr) minmax(270px,.84fr);gap:36px;align-items:center;padding-top:72px;padding-bottom:77px}.hero h1 strong{color:var(--blue);font-weight:770}.hero .lead{max-width:620px}.intro{max-width:590px;color:#455b65}.buttons{display:flex;flex-wrap:wrap;gap:13px;margin-top:27px}
.hero-art{position:relative;min-height:350px;display:grid;place-items:center;isolation:isolate}.hero-art:before{content:'';width:340px;height:340px;border-radius:45% 55% 60% 40%;background:linear-gradient(140deg,#dceff0 0%,#d9efe8 65%,#fbe4cd 100%);position:absolute;z-index:-1;transform:rotate(-18deg)}.hero-art:after{content:'';position:absolute;left:8%;bottom:7%;width:98px;height:98px;border-radius:50%;background:rgba(255,255,255,.8);z-index:-1}.owl-card{width:236px;height:236px;background:white;border-radius:43% 57% 45% 55%;display:grid;place-items:center;transform:rotate(-6deg);box-shadow:0 20px 45px rgba(26,85,101,.12)}.owl-card img{width:176px;height:176px;object-fit:contain;transform:rotate(6deg)}.tiny-deco{position:absolute;display:grid;place-items:center;width:66px;height:66px;border-radius:22px;background:#fff;box-shadow:0 12px 30px rgba(26,85,101,.08);color:var(--teal)}.tiny-deco svg{width:28px;height:28px}.tiny-deco.one{right:2%;top:4%;transform:rotate(9deg)}.tiny-deco.two{left:2%;bottom:5%;background:#fff1e1;color:#b7773d;transform:rotate(-9deg)}
.section{padding-top:84px;padding-bottom:84px}.section-heading{max-width:700px;margin-bottom:30px}.section-heading p{color:var(--muted);font-size:1.08rem}
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.card{border:1px solid var(--line);border-radius:24px;background:var(--paper);padding:26px;box-shadow:0 5px 22px rgba(27,72,84,.025)}.card p{color:var(--muted);margin:0}.card h3{margin-top:17px}.icon-tile{width:52px;height:52px;border-radius:18px;background:var(--sky);display:grid;place-items:center;color:var(--blue)}.icon-tile.peach{background:#fff0dd;color:#ad6c34}.icon-tile.mint{background:#e7f5ec;color:#278070}.icon-tile svg{width:26px;height:26px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linejoin:round;stroke-linecap:round}
.feature-band{background:#f5faf8;border-top:1px solid #e3efea;border-bottom:1px solid #e3efea}.feature-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.feature{background:white;border:1px solid #dfece8;border-radius:20px;padding:22px;text-decoration:none;min-height:155px;display:flex;flex-direction:column;justify-content:space-between;transition:transform .15s ease,border-color .15s ease}.feature:hover{transform:translateY(-3px);border-color:#b8d9d4}.feature span{color:var(--ink);font-weight:750;font-size:1.06rem}.feature small{color:var(--teal);font-weight:650}
.contact-bg{padding-top:84px;padding-bottom:84px}.contact-shell{background:linear-gradient(135deg,#eff7f3,#f8fcfa 64%,#fff2e6);border:1px solid #dceae3;border-radius:34px;padding:clamp(26px,5vw,64px);display:grid;grid-template-columns:minmax(220px,.83fr) minmax(330px,1.17fr);gap:64px;align-items:start}.contact-shell h2{font-size:clamp(1.85rem,3vw,2.55rem)}.contact-shell .subtext{color:#516875;font-size:1.08rem}.form-panel{background:white;border:1px solid #e4edea;padding:30px;border-radius:26px;box-shadow:var(--shadow)}.form-panel label{display:block;font-size:.94rem;font-weight:720;margin-bottom:6px}.field{margin-bottom:16px}.form-panel input,.form-panel textarea{width:100%;font:inherit;border:1px solid #cddbd9;border-radius:13px;padding:12px 14px;background:#fbfdfc;color:var(--ink)}.form-panel textarea{min-height:135px;resize:vertical}.form-panel button{cursor:pointer}.form-panel button:disabled{opacity:.6;cursor:progress}.form-panel .small{line-height:1.55;margin:11px 0 0}.form-panel .small a{font-weight:600}.form-status{font-size:.92rem;margin-top:14px}.form-status:empty{display:none}.form-status.error{color:#8b312e}.form-status.success{color:#156c50}
.page-hero{padding-top:74px;padding-bottom:36px;background:linear-gradient(160deg,#f1f8f6,#fcfbf7)}.page-hero .lead{max-width:750px}.resource-controls{padding-top:44px;padding-bottom:22px}.search-label{font-weight:720;display:block;margin-bottom:10px}.search-field{position:relative}.search-field input{width:100%;padding:17px 20px 17px 52px;border:1px solid #c9dedb;background:white;border-radius:18px;font:inherit;color:var(--ink);box-shadow:0 4px 18px rgba(42,73,71,.035)}.search-field svg{position:absolute;left:20px;top:19px;width:22px;height:22px;stroke:var(--muted);fill:none;stroke-width:2;stroke-linecap:round}.filters{display:flex;flex-wrap:wrap;gap:10px;margin-top:23px}.filter{background:#fff;border:1px solid #d9e8e2;color:#365a62;border-radius:999px;font:inherit;font-size:.9rem;padding:9px 16px;cursor:pointer}.filter:hover,.filter[aria-pressed=true]{background:#dceee9;border-color:#8cbfb5;color:#144f4c}.result-head{display:flex;justify-content:space-between;align-items:center;gap:14px;margin:18px 0}.result-head strong{font-size:.98rem;color:#36505b}.resource-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;padding-bottom:30px}.resource-card{background:white;border:1px solid var(--line);border-radius:21px;padding:23px;transition:box-shadow .2s ease,transform .2s ease;display:flex;flex-direction:column;align-items:flex-start}.resource-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.resource-card .topic{color:#337b76;font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.resource-card h2{font-size:1.19rem;line-height:1.28;letter-spacing:-.025em;margin:10px 0}.resource-card h2 a{text-decoration:none;color:var(--ink)}.resource-card h2 a:hover{color:var(--blue)}.resource-card p{color:var(--muted);font-size:.94rem;line-height:1.6;margin:0 0 14px;flex:1}.resource-card .more{font-weight:750;font-size:.9rem;text-decoration:none}.resource-card[hidden]{display:none}.category-heading{margin:30px 0 15px}.category-heading h2{font-size:1.35rem;margin:0 0 7px}.category-heading p{color:var(--muted);margin:0}.category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0 0 24px}.category-card{min-width:0;text-align:left;border:1px solid #dce9e4;border-radius:18px;padding:19px;background:linear-gradient(145deg,#fff 0%,#f5faf8 100%);color:var(--ink);font:inherit;cursor:pointer;display:flex;flex-direction:column;align-items:flex-start;gap:10px;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.category-card strong{font-size:1.02rem;line-height:1.3;letter-spacing:-.02em}.category-description{font-size:.88rem;line-height:1.5;color:var(--muted);flex:1}.category-meta{width:100%;display:flex;justify-content:space-between;align-items:center;gap:8px;color:#4d7378;font-size:.8rem;font-weight:700}.category-explore{color:var(--blue)}.category-card:hover,.category-card[aria-pressed=true]{transform:translateY(-2px);border-color:#9fc9bf;box-shadow:0 10px 28px rgba(30,67,75,.08);background:#f0f8f5}.filters{margin:0 0 10px}.filter{font-weight:700}.resource-card{min-height:100%}.resource-card h2 a:focus-visible{border-radius:4px}#load-more-wrap{text-align:center;margin:0 0 80px}#load-more-wrap[hidden]{display:none}.nothing{background:#f3faf8;padding:20px 24px;border-radius:16px}.nothing[hidden]{display:none}
.breadcrumb{color:#47727a;font-size:.86rem;margin-bottom:22px}.breadcrumb a{text-decoration:none;font-weight:680}.article-hero{padding:64px 0 39px;background:linear-gradient(120deg,#f0f8f4,#fafcfa 80%,#fff6ec);border-bottom:1px solid var(--line)}.article-hero h1{font-size:clamp(2.1rem,4.5vw,3.5rem);max-width:850px}.article-hero .lead{max-width:810px}.article-layout{padding:54px 0 80px}.article-body{font-size:1.055rem;line-height:1.84}.article-body h2{font-size:1.65rem;margin:52px 0 17px}.article-body p{margin:0 0 20px}.article-body strong{font-weight:730}.quickpoints{background:#eef8f5;border:1px solid #d6e9e2;padding:28px 32px;border-radius:25px;margin:0 0 48px}.quickpoints h2{margin:0 0 14px;font-size:1.32rem}.quickpoints ul{margin:0;padding-left:24px}.quickpoints li{margin:0 0 10px}.quickpoints li:last-child{margin:0}.article-body .facts{background:#fff8ef;border:1px solid #f6e5cd;padding:26px 30px;border-radius:22px;margin-top:40px}.facts h2{margin:0 0 15px}.facts li{margin-bottom:13px}.related-section{border-top:1px solid var(--line);padding-top:32px;margin-top:50px}.related-list{display:grid;grid-template-columns:repeat(2,1fr);gap:11px}.related-list a{display:flex;align-items:center;justify-content:space-between;gap:8px;background:#f4faf8;padding:15px 18px;border-radius:14px;text-decoration:none;font-size:.96rem;font-weight:650}.related-list a:hover{background:#e5f3ef}.back{display:inline-flex;margin-top:32px;text-decoration:none;font-weight:700}
.legal-layout{padding:70px 0 90px}.legal-layout h1{font-size:2.65rem}.legal-layout h2{font-size:1.42rem;margin:32px 0 12px}.legal-layout p{line-height:1.8}.legal-layout ul{line-height:1.8}
footer{background:#e9f3f0;border-top:1px solid #d9e8e2;padding:31px 0;color:#49616a;font-size:.9rem}.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:20px}.footer-inner .foot-links{display:flex;gap:24px;flex-wrap:wrap}.footer-inner a{text-decoration:none;color:var(--blue-dark);font-weight:650}
@media(max-width:950px){.category-grid,.resource-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero{grid-template-columns:1.15fr .75fr}.hero-art:before{width:270px;height:270px}.owl-card{width:198px;height:198px}.owl-card img{width:142px;height:142px}.contact-shell{gap:35px}.cards{gap:12px}}
@media(max-width:760px){.wrap{padding-inline:20px}nav{min-height:80px}.links{gap:15px}.links a{font-size:.88rem}.hero{grid-template-columns:1fr;padding:55px 20px 46px;gap:14px;min-height:0}.hero-art{min-height:230px}.hero-art:before{width:220px;height:220px}.owl-card{width:158px;height:158px}.owl-card img{width:113px;height:113px}.tiny-deco{width:49px;height:49px;border-radius:17px}.tiny-deco svg{width:20px;height:20px}.tiny-deco.one{right:20%}.tiny-deco.two{left:20%}.section,.contact-bg{padding-top:58px;padding-bottom:58px}.cards{grid-template-columns:1fr}.feature-grid{grid-template-columns:repeat(2,1fr)}.contact-shell{grid-template-columns:1fr;gap:18px}.category-grid,.resource-grid{grid-template-columns:1fr}.article-layout{padding:34px 0 60px}}
@media(max-width:430px){.wrap{padding-inline:16px}nav{flex-wrap:wrap;justify-content:center;padding:12px 0 15px;gap:4px}.links{width:100%;justify-content:center}.hero{padding-inline:16px}.hero-art{min-height:200px}.hero-art:before{width:185px;height:185px}.owl-card{width:138px;height:138px}.owl-card img{width:100px;height:100px}.tiny-deco.one{right:15%;top:2%}.tiny-deco.two{left:15%}.buttons .btn{flex:1;white-space:nowrap;font-size:.85rem;padding:12px}.feature-grid{grid-template-columns:1fr}.contact-shell{padding:22px 16px;border-radius:24px}.form-panel{padding:19px;border-radius:20px}.quickpoints{padding:22px}.article-body .facts{padding:22px}.related-list{grid-template-columns:1fr}.footer-inner{display:block}.foot-links{margin-top:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms!important}}

.contact-options address{font-style:normal;line-height:1.8;color:var(--ink);padding:14px 18px;background:#fff;border:1px solid var(--line);border-radius:15px;margin:4px 0 12px}.contact-options .btn{margin:2px 0 8px}


.association-section{padding:78px 0;background:#f1f8f5;border-top:1px solid #e1ece6;border-bottom:1px solid #e1ece6}.association-copy{max-width:860px}.association-copy h2{margin-bottom:22px}.association-copy p{color:#435b66;line-height:1.8}.resource-intro{max-width:820px;color:#435b66}.emergency-notice{grid-column:1/-1;background:#fff3eb;border:1px solid #efc6aa;border-left:5px solid #c66e4e;border-radius:20px;padding:22px 26px;color:#4c3028}.emergency-notice strong{display:block;font-size:1.08rem;color:#713a2d;margin-bottom:7px}.emergency-notice p{margin:0;line-height:1.65}.emergency-notice a{font-weight:800;color:#713a2d}.contact-details h2,.donation-panel h2{font-size:clamp(1.55rem,2.7vw,2rem);margin-bottom:14px}.contact-phone{margin:8px 0 4px}.contact-phone a{font-size:1.55rem;line-height:1.3;font-weight:800;text-decoration:none;letter-spacing:.01em}.contact-details .small{margin-bottom:22px}.donation-panel{background:#fff;border:1px solid #e1eae5;border-radius:25px;padding:28px;box-shadow:0 10px 30px rgba(30,67,75,.055)}.donation-panel .eyebrow{margin-bottom:12px}.donation-panel p{color:#526875;line-height:1.7}.donation-panel .btn{margin-top:4px}.association-copy p:last-child{margin-bottom:0}
.contact-shell>.donation-panel{grid-column:1/-1}.form-panel h2{font-size:clamp(1.55rem,2.7vw,2rem);margin-bottom:18px}

/* Accessible navigation on touch screens */
.menu-toggle{display:none;align-items:center;justify-content:center;width:48px;height:48px;padding:10px;border:1px solid var(--line);border-radius:15px;background:#fff;color:var(--blue-dark);cursor:pointer}
.menu-toggle svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.brand{min-width:0}.links a{min-height:44px;display:inline-flex;align-items:center}
img,svg{max-width:100%}
.useful-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;margin-bottom:34px}
.useful-card{min-width:0;min-height:100%;}
.useful-card h3{font-size:1.12rem;line-height:1.32;margin:0 0 12px;letter-spacing:-.02em}
.useful-card h3 a{text-decoration:none;color:var(--ink)}
.useful-card h3 a:hover{color:var(--blue)}
.useful-card .more{display:inline-flex;align-items:center;gap:6px;min-height:44px}
.useful-category[hidden],.useful-card[hidden]{display:none}
.filters .filter{min-height:44px;display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
.filter[aria-pressed="true"]{background:#dceee9;border-color:#8cbfb5;color:#144f4c}
.back-to-top{position:fixed;right:max(18px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));z-index:20;width:50px;height:50px;display:grid;place-items:center;border:1px solid #c9ddd8;border-radius:50%;background:#fff;color:var(--blue-dark);box-shadow:0 7px 22px rgba(28,65,72,.17);cursor:pointer;transition:transform .18s ease,box-shadow .18s ease}
.back-to-top:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(28,65,72,.2)}
.back-to-top svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.back-to-top[hidden]{display:none}
@media(max-width:950px){.useful-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-shell{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px}.hero{grid-template-columns:minmax(0,1.05fr) minmax(0,.85fr)}.feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){
  html,body{max-width:100%}
  .wrap{padding-inline:20px}
  header{position:sticky;top:0}
  nav{position:relative;min-height:72px;flex-wrap:nowrap;justify-content:space-between;padding:8px 0;gap:12px}
  .brand{font-size:1.18rem;white-space:normal}
  .menu-toggle{display:inline-flex;flex:none;touch-action:manipulation}
  .links{display:none;position:absolute;top:calc(100% + 1px);left:-20px;right:-20px;width:auto;margin:0;padding:9px 20px 14px;flex-direction:column;align-items:stretch;gap:2px;background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line);box-shadow:0 15px 24px rgba(28,65,72,.12)}
  .links.is-open{display:flex}
  .links a{width:100%;min-height:50px;padding:8px 14px;border-radius:12px;font-size:1rem}
  .links a:hover,.links a[aria-current="page"]{background:#eff8f4;text-decoration:none}
  .hero{grid-template-columns:minmax(0,1fr);padding:48px 20px 38px;gap:10px;min-height:0}
  .hero-copy{min-width:0}.hero h1{font-size:clamp(2.05rem,9vw,3.2rem)}
  .hero-art{min-height:195px;overflow:hidden}.hero-art:before{width:185px;height:185px}.owl-card{width:142px;height:142px}.owl-card img{width:102px;height:102px}
  .tiny-deco{display:none}
  .section,.contact-bg{padding-top:56px;padding-bottom:56px}
  .contact-shell{grid-template-columns:minmax(0,1fr);gap:20px;padding:24px 20px;border-radius:24px}
  .contact-shell>.emergency-notice,.contact-shell>.donation-panel{grid-column:1}
  .form-panel{min-width:0;padding:20px;border-radius:21px}
  .form-panel input,.form-panel textarea{min-width:0;width:100%}
  .contact-shell p,.donation-panel p{overflow-wrap:anywhere}
  .useful-grid,.resource-grid,.category-grid{grid-template-columns:minmax(0,1fr)}
  .resource-card,.useful-card{padding:21px}
  .filters{gap:8px}.filter{max-width:100%;white-space:normal;text-align:center}
  .article-layout{padding:32px 0 56px}.article-body{font-size:1rem;line-height:1.75}.quickpoints,.article-body .facts{padding:21px}
  .reading{width:100%}.legal-layout{padding-top:48px}
  .footer-inner{display:flex;flex-direction:column;align-items:flex-start;gap:12px}.footer-inner .foot-links{gap:8px 18px}
}
@media(max-width:390px){.wrap{padding-inline:16px}.links{left:-16px;right:-16px;padding-inline:16px}.hero{padding-inline:16px}.buttons{align-items:stretch}.buttons .btn{white-space:normal;flex:1 1 100%;font-size:.94rem}.contact-shell{padding:20px 15px}.emergency-notice{padding:19px 17px}.donation-panel{padding:21px}.footer-inner{font-size:.86rem}}

@media (min-width:761px) and (max-width:900px){
  nav{position:relative}
  .menu-toggle{display:inline-flex;flex:none}
  .links{display:none;position:absolute;z-index:30;top:calc(100% + 1px);right:0;width:min(360px,calc(100vw - 40px));margin:0;padding:10px;flex-direction:column;align-items:stretch;gap:2px;background:#fff;border:1px solid var(--line);border-radius:0 0 18px 18px;box-shadow:0 15px 24px rgba(28,65,72,.12)}
  .links.is-open{display:flex}
  .links a{width:100%;min-height:50px;padding:8px 14px;border-radius:12px;font-size:1rem}
  .links a:hover,.links a[aria-current="page"]{background:#eff8f4;text-decoration:none}
}

/* Breathing room between directory search and theme filters */
.resource-controls .filters{margin-top:20px}

/* Mobile reading comfort for knowledge articles */
@media(max-width:760px){
  .article-hero .reading{padding-inline:20px}
  .article-layout.reading{width:100%;margin-inline:auto;padding:32px 20px 88px}
  .article-body{min-width:0;max-width:100%;overflow-wrap:anywhere}
  .article-body h2{font-size:clamp(1.35rem,6vw,1.6rem);line-height:1.25;margin:40px 0 14px}
  .back-to-top{width:44px;height:44px;right:max(12px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom))}
}

/* More balanced line endings and headings, with a safe fallback for older browsers */
p,li{ text-wrap:pretty }
h1,h2,h3{ text-wrap:balance }

/* Header refinement: a more editorial, balanced shared navigation */
:root{--header-offset:88px}
header{
  position:sticky;
  top:0;
  z-index:30;
  background:rgba(255,255,255,.985);
  border-bottom:1px solid rgba(209,225,220,.82);
  box-shadow:0 5px 18px rgba(28,65,72,.035);
  -webkit-backdrop-filter:saturate(140%) blur(8px);
  backdrop-filter:saturate(140%) blur(8px);
  transition:background-color .22s ease,box-shadow .22s ease,border-color .22s ease;
}
header.is-scrolled:not(.menu-open){background:rgba(255,255,255,.86);border-bottom-color:rgba(209,225,220,.68);box-shadow:0 8px 22px rgba(28,65,72,.065)}
header.menu-open{background:#fff}
#association,#contact{scroll-margin-top:calc(var(--header-offset, 100px) + 12px)}
nav{min-height:88px;gap:32px}
.brand{
  flex:0 0 auto;
  font-size:clamp(1.38rem,2vw,1.58rem);
  font-weight:820;
  letter-spacing:-.055em;
  line-height:1;
  color:#174f69;
  transition:color .18s ease;
}
.brand:hover{color:var(--blue)}
.links{gap:4px;padding:5px;border:1px solid #e8efec;border-radius:19px;background:#f8fbf9}
.links a{
  position:relative;
  justify-content:center;
  min-height:46px;
  padding:0 14px;
  border-radius:14px;
  color:#3d5360;
  font-size:.91rem;
  font-weight:660;
  white-space:nowrap;
  transition:color .18s ease,background-color .18s ease,box-shadow .18s ease;
}
.links a:hover{background:#edf6f2;color:#174f69;text-decoration:none}
.links a[aria-current="page"]{color:#155a72;background:#fff;box-shadow:0 2px 7px rgba(27,72,84,.07)}
.links a[aria-current="page"]::after{
  content:"";
  position:absolute;
  left:calc(50% - 13px);
  bottom:4px;
  width:26px;
  height:2px;
  border-radius:2px;
  background:#3d928b;
}
.links a[href$="#contact"]{
  margin-left:3px;
  padding-inline:18px;
  background:#e7f3ef;
  color:#185d68;
  font-weight:740;
}
.links a[href$="#contact"]:hover{background:#d8ebe4;color:#124c59}
.links a[href$="#contact"]::after{display:none}
.menu-toggle{width:50px;height:50px;border-radius:16px;background:#f8fbf9;border-color:#dbe8e3;transition:background-color .18s ease,border-color .18s ease,transform .18s ease}
.menu-toggle:hover{background:#edf6f2;border-color:#bfd8d0}
.menu-toggle:active{transform:scale(.97)}
@media(max-width:1100px) and (min-width:901px){
  nav{gap:18px}
  .brand{font-size:1.38rem}
  .links{gap:1px;padding:4px}
  .links a{padding-inline:10px;font-size:.87rem}
  .links a[href$="#contact"]{padding-inline:13px}
}
@media(max-width:900px){
  header{background:rgba(255,255,255,.98)}
  header.is-scrolled:not(.menu-open){background:rgba(255,255,255,.88)}
  :root{--header-offset:90px}
  nav{min-height:78px;gap:14px}
  .brand{font-size:clamp(1.25rem,3vw,1.45rem)}
  .links{top:calc(100% + 1px);left:-20px;right:-20px;width:auto;margin:0;padding:13px 20px 17px;gap:5px;border:1px solid #e5eeea;border-top:0;border-radius:0 0 22px 22px;background:#fff;box-shadow:0 16px 28px rgba(28,65,72,.11)}
  .links a{justify-content:flex-start;min-height:52px;padding:0 16px;border-radius:13px;font-size:.98rem}
  .links a[aria-current="page"]{background:#f0f7f4;box-shadow:none}
  .links a[aria-current="page"]::after{left:5px;top:calc(50% - 11px);bottom:auto;width:3px;height:22px;border-radius:3px}
  .links a[href$="#contact"]{margin:3px 0 0;background:#e7f3ef}
  .links a[href$="#contact"]:hover{background:#d8ebe4}
}
@media(max-width:390px){
  :root{--header-offset:84px}
  nav{min-height:72px}
  .brand{font-size:1.22rem;letter-spacing:-.05em}
  .menu-toggle{width:46px;height:46px}
  .links{left:-16px;right:-16px;padding-inline:16px}
}
