
:root{--green:#102b20;--green2:#173d2e;--cream:#f5ead4;--paper:#fbf4e7;--rust:#b64f21;--olive:#667042;--ink:#15281f;--shadow:0 18px 45px rgba(15,38,28,.18)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#e9e0d1;color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.55}
button,a{font:inherit}a{color:inherit}.page{width:min(100%,1120px);margin:auto;background:var(--paper);min-height:100vh;box-shadow:0 0 60px rgba(20,40,30,.16)}
.site-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:14px 18px;background:rgba(16,43,32,.96);backdrop-filter:blur(12px);color:#fff;border-bottom:1px solid rgba(255,255,255,.08)}
.brand{display:flex;align-items:center;gap:11px;text-decoration:none;min-width:0}.mark{width:50px;height:50px;flex:0 0 50px;border:2px solid #f4ead7;border-radius:50%;position:relative;overflow:hidden}.mark:before{content:"";position:absolute;left:8px;right:7px;bottom:11px;height:19px;border-left:2px solid #f4ead7;border-top:2px solid #f4ead7;transform:skewX(-34deg) rotate(10deg)}.mark:after{content:"";position:absolute;width:10px;height:10px;border-radius:50%;background:#c66335;right:2px;top:2px;border:2px solid #f4ead7}
.brand strong{display:block;font-family:Georgia,serif;font-size:clamp(1.25rem,5vw,2rem);letter-spacing:.08em;line-height:1}.brand span{display:block;font-size:.75rem;color:#f3eadb;margin-top:4px;white-space:nowrap}
.menu-btn{border:0;background:none;color:#c66335;padding:9px;display:grid;gap:5px;cursor:pointer}.menu-btn i{display:block;width:30px;height:3px;border-radius:5px;background:currentColor}
.drawer{position:fixed;inset:0 0 0 auto;z-index:40;width:min(84vw,340px);background:#102b20;color:white;padding:calc(24px + env(safe-area-inset-top)) 25px 30px;transform:translateX(105%);transition:.28s ease;box-shadow:-20px 0 60px rgba(0,0,0,.3)}.drawer.open{transform:none}.drawer h2{font-family:Georgia,serif;font-size:2rem;margin:20px 0}.drawer a{display:block;text-decoration:none;padding:13px 0;border-bottom:1px solid rgba(255,255,255,.12)}.close{float:right;background:none;border:0;color:#fff;font-size:2rem}.scrim{position:fixed;inset:0;z-index:35;background:rgba(0,0,0,.38);opacity:0;pointer-events:none;transition:.2s}.scrim.open{opacity:1;pointer-events:auto}
.hero{position:relative;aspect-ratio:941/405;background-image:url('hero-cap-vivant.webp');background-size:cover;background-position:center;overflow:hidden}.hero:after{content:"";position:absolute;inset:auto 0 0;height:34px;background:linear-gradient(to bottom,transparent,var(--paper));opacity:.25}.hero-actions{position:absolute;right:15px;bottom:14px;display:flex;gap:8px}.pill{border:1px solid rgba(255,255,255,.55);background:rgba(16,43,32,.86);color:#fff;text-decoration:none;border-radius:999px;padding:9px 13px;font-weight:700;font-size:.84rem;box-shadow:0 8px 25px rgba(0,0,0,.2)}
.section{padding:32px 20px}.intro{background:radial-gradient(circle at 10% 10%,rgba(255,255,255,.8),transparent 35%),linear-gradient(#fbf3e5,#f4ead7);display:grid;gap:22px}.intro p{margin:0;font-size:1.05rem}.script{font-family:"Segoe Script","Bradley Hand",cursive;font-size:1.55rem;margin:8px 0 0;text-align:center}.map-wrap{display:flex;justify-content:center}.map-wrap img{width:min(100%,430px);mix-blend-mode:multiply}
.section-title{font-family:Georgia,serif;font-size:clamp(2rem,8vw,3.2rem);line-height:1.05;margin:0 0 12px}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.72rem;font-weight:800;color:var(--rust)}
.cards{display:grid;grid-template-columns:1fr;gap:15px;padding:0 20px 32px;background:#f4ead7}.card{position:relative;border-radius:22px;overflow:hidden;box-shadow:var(--shadow);background:#173d2e;aspect-ratio:267/316;cursor:pointer;border:0;padding:0;text-align:left}.card img{width:100%;height:100%;object-fit:cover;display:block;transition:.35s}.card:hover img,.card:focus img{transform:scale(1.025)}.card:after{content:"Voir";position:absolute;right:12px;bottom:12px;background:rgba(255,255,255,.9);color:#173d2e;padding:7px 10px;border-radius:999px;font-weight:800;font-size:.75rem}
.spirit{background:#f9f0df;padding:32px 20px 42px;display:grid;gap:25px;align-items:center}.tape-photo{position:relative;background:#fff;padding:8px;box-shadow:0 14px 35px rgba(26,44,34,.18);transform:rotate(-1deg)}.tape-photo:before{content:"";position:absolute;width:92px;height:28px;left:-18px;top:-9px;background:rgba(224,204,163,.72);transform:rotate(-8deg);z-index:2;clip-path:polygon(3% 14%,96% 0,100% 85%,4% 100%)}.tape-photo img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;object-position:center 38%}.spirit-copy h2{font-family:"Segoe Script","Bradley Hand",cursive;font-weight:500;font-size:3rem;margin:0;color:#1a2e25}.paw{font-size:1.8rem}.underline{width:58px;height:4px;background:var(--rust);border-radius:3px;margin-top:18px}
.quote{background:linear-gradient(160deg,#173d2e,#0f2a20);color:#fff;padding:38px 20px 42px;display:grid;gap:25px;align-items:center;position:relative;overflow:hidden}.quote:after{content:"♞";position:absolute;font-size:17rem;right:-35px;bottom:-100px;opacity:.03}.quote blockquote{margin:0;font-size:1.18rem;max-width:30ch}.quote blockquote:before{content:"“";display:block;color:var(--rust);font-size:5rem;line-height:.5;font-family:Georgia,serif}.quote cite{display:block;margin-top:12px;color:#e16c39;font-style:normal}.mini-polaroid{background:#fff;padding:7px 7px 22px;transform:rotate(2deg);box-shadow:0 13px 30px rgba(0,0,0,.24);max-width:350px;margin:auto}.mini-polaroid img{width:100%;display:block}
.ctas{display:grid;gap:12px;background:#102b20;padding:0 20px 40px}.cta{display:flex;align-items:center;justify-content:center;gap:12px;min-height:62px;border-radius:14px;text-decoration:none;font-weight:900;letter-spacing:.06em;text-transform:uppercase;border:1px solid rgba(255,255,255,.18);box-shadow:0 12px 25px rgba(0,0,0,.18)}.cta.primary{background:linear-gradient(135deg,#c65b2a,#a83f18);color:white}.cta.secondary{background:#f5ead4;color:#173d2e}
.detail{padding:48px 20px;background:#fffaf0;border-top:1px solid #e4d5bd}.detail-grid{display:grid;gap:22px}.detail-card{padding:22px;border-radius:18px;background:#f5eadf;border:1px solid #eadbc4}.detail h3{font-family:Georgia,serif;font-size:1.5rem;margin:0 0 8px}.route-list{display:grid;gap:14px;margin-top:20px}.route-item{display:grid;grid-template-columns:42px 1fr;gap:12px;align-items:start}.route-item b{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#173d2e;color:#fff}
footer{padding:35px 20px calc(35px + env(safe-area-inset-bottom));background:#0d241b;color:#d9e0db;text-align:center}footer a{color:#fff}.small{font-size:.86rem;opacity:.8}
.modal{position:fixed;inset:0;z-index:60;display:none;align-items:end;justify-content:center;background:rgba(0,0,0,.5);padding:12px}.modal.open{display:flex}.modal-panel{width:min(100%,650px);max-height:86vh;overflow:auto;background:#fffaf0;border-radius:24px 24px 16px 16px;padding:25px;box-shadow:0 25px 70px rgba(0,0,0,.35)}.modal-panel button{float:right;border:0;background:#173d2e;color:#fff;border-radius:50%;width:38px;height:38px;font-size:1.3rem}

@media(min-width:720px){.site-header{padding:18px 34px}.intro{grid-template-columns:1.1fr .9fr;padding:54px 48px;align-items:center}.cards{grid-template-columns:repeat(3,1fr);padding:0 48px 54px}.spirit{grid-template-columns:1fr 1.2fr;padding:54px 48px}.quote{grid-template-columns:1.3fr .7fr;padding:58px 48px}.ctas{grid-template-columns:1fr 1fr;padding:0 48px 50px}.detail{padding:70px 48px}.detail-grid{grid-template-columns:repeat(2,1fr)}.hero-actions{right:32px;bottom:26px}}
@media(min-width:1000px){.hero{aspect-ratio:941/405}.brand span{font-size:.9rem}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

.brand-emblem{width:58px;height:54px;object-fit:contain;object-position:center;flex:0 0 58px;filter:drop-shadow(0 4px 8px rgba(0,0,0,.18))}
.podcast{padding:52px 20px;background:linear-gradient(160deg,#102b20 0%,#173d2e 100%);color:#fff;position:relative;overflow:hidden}
.podcast:before{content:"";position:absolute;inset:auto -90px -120px auto;width:300px;height:300px;border:1px solid rgba(198,99,53,.24);border-radius:50%}
.podcast-inner{position:relative;z-index:1;max-width:920px;margin:auto}
.podcast-head{display:grid;grid-template-columns:100px 1fr;gap:20px;align-items:center;margin-bottom:25px}
.podcast-logo{width:100%;max-height:132px;object-fit:contain;filter:drop-shadow(0 15px 30px rgba(0,0,0,.25))}
.podcast .eyebrow{color:#d77a4a}
.podcast .section-title{color:#fff;margin-bottom:10px}
.podcast-intro{color:#efe5d4;max-width:660px}
.audio-card{background:rgba(251,244,231,.08);border:1px solid rgba(251,244,231,.16);border-radius:20px;padding:18px;margin:25px 0;box-shadow:0 18px 45px rgba(0,0,0,.18)}
.jingle-button{width:100%;border:0;background:none;color:#fff;display:flex;align-items:center;gap:14px;text-align:left;cursor:pointer;padding:0}
.jingle-icon{width:50px;height:50px;border-radius:50%;display:grid;place-items:center;background:#b64f21;color:#fff;font-size:1.1rem;flex:0 0 50px;box-shadow:0 8px 18px rgba(182,79,33,.34)}
.jingle-title{display:block;font-weight:800;font-size:1.02rem}.jingle-sub{display:block;color:#dccfbc;font-size:.82rem;margin-top:2px}
.jingle-time{margin-left:auto;color:#d77a4a;font-variant-numeric:tabular-nums;font-weight:700}
.jingle-track{height:5px;background:rgba(255,255,255,.14);border-radius:99px;overflow:hidden;margin-top:16px}
.jingle-progress{height:100%;width:0;background:#d77a4a;border-radius:99px}
.jingle-quote{margin:18px 0 0;padding:15px 18px;border-left:3px solid #b64f21;background:rgba(0,0,0,.12);font-family:Georgia,serif;font-style:italic;color:#f5ead4}
.podcast-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:22px}
.podcast-card{background:#f8efdf;color:#173126;border-radius:18px;padding:19px;min-height:165px;box-shadow:0 13px 30px rgba(0,0,0,.14)}
.podcast-card b{display:block;color:#b64f21;text-transform:uppercase;letter-spacing:.08em;font-size:.74rem;margin-bottom:7px}
.podcast-card h3{font-family:Georgia,serif;margin:0 0 7px;font-size:1.28rem}.podcast-card p{font-size:.9rem;margin:0}
@media(max-width:690px){
  .podcast{padding:42px 18px}.podcast-head{grid-template-columns:78px 1fr;gap:14px}
  .podcast-grid{grid-template-columns:1fr}.podcast-card{min-height:0}
  .jingle-time{font-size:.82rem}
}


.support-pill{background:#b64f21!important;color:#fff!important;border-color:#b64f21!important}
.funding{padding:58px 20px;background:#f5ead7;position:relative;overflow:hidden}
.funding:before{content:"";position:absolute;left:-80px;top:70px;width:230px;height:230px;border:1px solid rgba(182,79,33,.18);border-radius:50%}
.funding-inner{position:relative;z-index:1;max-width:920px;margin:auto}
.funding-lead{max-width:720px;font-size:1.02rem}
.funding-highlight{display:grid;grid-template-columns:minmax(190px,.7fr) 1.3fr;gap:18px;margin:28px 0}
.goal-card{background:#173d2e;color:#fff;border-radius:22px;padding:24px;box-shadow:0 18px 40px rgba(23,61,46,.18)}
.goal-card small{display:block;color:#e6c6aa;text-transform:uppercase;letter-spacing:.11em;font-weight:800;font-size:.72rem}
.goal-card strong{display:block;font-family:Georgia,serif;font-size:2.5rem;line-height:1;margin:10px 0 8px;color:#fff}
.goal-card p{margin:0;color:#eadfce}
.funding-story{background:#fffaf0;border:1px solid rgba(23,61,46,.1);border-radius:22px;padding:24px;box-shadow:0 14px 34px rgba(54,46,34,.08)}
.funding-story h3{font-family:Georgia,serif;color:#173d2e;font-size:1.5rem;margin:0 0 10px}
.funding-story p{margin:0 0 10px}.funding-story p:last-child{margin-bottom:0}
.budget-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:24px 0}
.budget-item{background:#fff;border-radius:16px;padding:15px 12px;border-top:4px solid #b64f21;box-shadow:0 10px 24px rgba(54,46,34,.07)}
.budget-item b{display:block;color:#173d2e;font-size:1.08rem;margin-bottom:5px}.budget-item span{font-size:.8rem;color:#5e635c;line-height:1.25;display:block}
.support-levels{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:22px 0}
.support-level{background:#e6eee7;border-radius:16px;padding:16px;color:#173d2e}
.support-level b{display:block;color:#b64f21;font-size:1.13rem;margin-bottom:4px}.support-level span{font-size:.84rem}
.funding-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:24px}
.funding-cta{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 22px;border-radius:999px;background:#b64f21;color:#fff!important;text-decoration:none;font-weight:800;box-shadow:0 10px 24px rgba(182,79,33,.24)}
.funding-note{font-size:.78rem;color:#6b6a62;margin-top:15px;max-width:760px}
@media(max-width:760px){
 .funding{padding:44px 18px}.funding-highlight{grid-template-columns:1fr}.budget-grid{grid-template-columns:repeat(2,1fr)}
 .budget-item:last-child{grid-column:1/-1}.support-levels{grid-template-columns:1fr 1fr}.goal-card strong{font-size:2.2rem}
}
@media(max-width:430px){.support-levels{grid-template-columns:1fr}.funding-actions{display:block}.funding-cta{width:100%}.budget-grid{gap:8px}.budget-item{padding:13px 10px}}


.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.story-lead{max-width:760px;font-size:1.06rem;margin:0 0 16px}
.hand-note{font-family:"Segoe Script","Bradley Hand",cursive;color:#9f4823;font-size:1.35rem;margin:26px 0 0}
.card{cursor:default}
.campaign-status{margin-top:18px;padding:18px 20px;border-left:4px solid #b64f21;background:#fff7ea;border-radius:0 14px 14px 0;max-width:760px}
.campaign-status strong{display:block;color:#173d2e;font-family:Georgia,serif;font-size:1.14rem;margin-bottom:4px}
.campaign-status p{margin:0}
.simple-funding{align-items:stretch}
.legal-page{padding:54px 20px 70px;background:#fffaf0;min-height:70vh}
.legal-inner{max-width:780px;margin:auto}
.legal-inner h1,.legal-inner h2{font-family:Georgia,serif;color:#173d2e}
.legal-inner h1{font-size:clamp(2rem,7vw,3.4rem);line-height:1.05;margin:0 0 24px}
.legal-inner h2{font-size:1.35rem;margin:32px 0 8px}
.legal-inner p,.legal-inner li{color:#334a40}
.legal-back{display:inline-flex;margin-bottom:28px;text-decoration:none;color:#b64f21;font-weight:800}
footer a{text-underline-offset:3px}
@media(max-width:690px){
  .story-lead{font-size:1rem}
  .hand-note{font-size:1.18rem}
  .simple-funding{display:grid;grid-template-columns:1fr}
}

.cards a.card{text-decoration:none;color:inherit;display:block}
.cards a.card:focus-visible{outline:3px solid #b64f21;outline-offset:4px}

.podcast-card{padding:0;overflow:hidden}.podcast-card-link{display:block;color:inherit;text-decoration:none;padding:19px;height:100%}

.souix{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:28px;
  align-items:center;
  padding:48px 22px;
  background:#f6ecd9;
}
.souix-copy{max-width:620px}
.souix-copy h2{
  margin:4px 0 14px;
  color:#173d2e;
  font-family:Georgia,serif;
  font-size:clamp(2rem,6vw,3.2rem);
  line-height:1.02;
}
.souix-copy p{margin:0 0 13px;color:#354c41}
.souix-note{
  margin-top:22px!important;
  font-family:"Segoe Script","Bradley Hand",cursive;
  color:#9f4823!important;
  font-size:1.14rem;
}
.souix-photo{
  max-width:360px;
  justify-self:end;
  transform:rotate(1.4deg);
}
.souix-photo img{
  width:100%;
  aspect-ratio:4/5;
  object-fit:cover;
  object-position:center 34%;
  display:block;
}
@media(max-width:690px){
  .souix{grid-template-columns:1fr;padding:42px 18px;gap:22px}
  .souix-photo{justify-self:center;max-width:320px;order:-1}
}
