:root { --ink:#26332a; --forest:#365c42; --moss:#74863b; --sun:#cd912b; --terra:#a63d1c; --cream:#f7f1e4; --paper:#fffdf8; --blue:#315e78; --serif:"Cormorant Garamond", Georgia, serif; --sans:"DM Sans", Arial, sans-serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:var(--sans); line-height:1.55; }
a { color:inherit; }
.skip-link { position:absolute; left:-10000px; top:auto; }.skip-link:focus { left:1rem; top:1rem; z-index:100; padding:.7rem 1rem; background:#fff; }
.site-header { min-height:104px; display:flex; align-items:center; justify-content:space-between; padding:8px clamp(1.25rem,5vw,5rem); background:var(--paper); position:sticky; top:0; z-index:20; border-bottom:1px solid rgba(22,32,22,.1); }
.brand { display:flex; align-items:center; gap:.85rem; text-decoration:none; font:700 1.65rem/0.8 var(--serif); letter-spacing:.07em; text-transform:uppercase; }.brand img { width:84px; height:84px; object-fit:contain; }.brand em { color:var(--terra); font-style:normal; }
.navigation { display:flex; align-items:center; gap:clamp(.9rem,2vw,1.8rem); font-size:.82rem; font-weight:600; }.navigation a { text-decoration:none; }.navigation a:not(.nav-contact):hover { color:var(--terra); }.nav-contact { padding:.6rem .9rem; border:1px solid var(--forest); border-radius:2px; }.menu-toggle { display:none; }
.hero { min-height:700px; position:relative; overflow:hidden; isolation:isolate; padding:clamp(5rem,10vw,8rem) clamp(1.25rem,11vw,10rem) 8rem; color:var(--cream); background:linear-gradient(115deg,#315b43 0%,#547544 44%,#899449 100%); }.hero:before { content:""; position:absolute; inset:0; z-index:-1; opacity:.32; background:radial-gradient(ellipse at 78% 28%,#ffdc94 0 2%,transparent 22%), radial-gradient(ellipse at 100% 100%,#c95d2b 0,transparent 49%); }.hero-content { max-width:760px; position:relative; z-index:2; }.eyebrow { margin:0 0:.7rem; color:var(--sun); font-size:.76rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }.hero h1, h2, h3 { font-family:var(--serif); }.hero h1 { margin:0; font-size:clamp(3.6rem,8vw,7rem); line-height:.84; letter-spacing:-.045em; }.hero-intro { max-width:590px; margin:1.8rem 0 2rem; font-size:1.05rem; }.hero-actions { display:flex; flex-wrap:wrap; gap:.8rem; }.button { display:inline-block; padding:.85rem 1.15rem; border-radius:2px; font-size:.9rem; font-weight:700; text-decoration:none; transition:transform .2s; }.button:hover { transform:translateY(-2px); }.button-primary { color:var(--cream); background:var(--terra); }.button-light { color:var(--ink); background:var(--cream); }.hero-identity { position:absolute; top:2.2rem; right:clamp(1.25rem,7vw,6rem); z-index:2; display:flex; align-items:center; gap:1rem; text-transform:uppercase; }.hero-identity img { width:clamp(120px,14vw,185px); height:clamp(120px,14vw,185px); object-fit:contain; filter:drop-shadow(0 5px 12px rgba(24,48,29,.28)); }.hero-identity p { margin:0; color:#fff6df; font:700 clamp(1.7rem,2.8vw,2.7rem)/.78 var(--serif); letter-spacing:.08em; }.hero-identity em { color:#f2b345; font-style:normal; }.hero-quote { position:absolute; right:clamp(1.25rem,8vw,7rem); bottom:8.5rem; margin:0; max-width:350px; color:#fff0ca; font:italic clamp(2rem,3.4vw,3rem)/.96 var(--serif); text-align:center; text-shadow:0 2px 18px rgba(24,48,29,.28); }.hero-horizon { position:absolute; left:-5%; right:-5%; bottom:-6.5rem; height:13rem; background:linear-gradient(160deg,transparent 29%,rgba(48,82,51,.82) 30% 49%,rgba(30,57,38,.95) 50%); transform:skewY(-4deg); z-index:-1; }
.section { padding:clamp(4.5rem,8vw,8rem) clamp(1.25rem,11vw,10rem); }.mission { background:var(--cream); }.section-heading { max-width:660px; }.section h2 { margin:0; font-size:clamp(2.7rem,5vw,4.7rem); line-height:.92; letter-spacing:-.035em; }.section h2 em { color:var(--terra); }.lead { max-width:690px; margin:1.6rem 0 3rem; font-size:1.1rem; }.mission-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:1.2rem; }.mission-card { min-height:248px; padding:1.55rem; color:#fff; border-radius:3px; }.presence { background:var(--terra); }.help { background:var(--moss); }.link { background:var(--blue); }.card-icon { display:grid; place-items:center; width:3.1rem; height:3.1rem; border:1px solid rgba(255,255,255,.55); border-radius:50%; font-size:.65rem; letter-spacing:-.25em; }.help .card-icon { font-size:1.4rem; }.link .card-icon { font-size:1.7rem; }.mission-card h3 { margin:1.4rem 0 .25rem; font-size:2.05rem; line-height:1; }.mission-card p { margin:0; font-size:.93rem; }
.act { display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(2rem,8vw,8rem); align-items:center; background:#2e4937; color:var(--cream); }.act-visual { min-height:420px; padding:2rem; display:flex; flex-direction:column; justify-content:flex-end; color:#f6d486; background:linear-gradient(150deg,transparent 20%,rgba(33,62,41,.4)), radial-gradient(ellipse at 70% 20%,#e3a33f,transparent 12%), linear-gradient(150deg,#8fa14b,#426b42 65%,#294837); clip-path:polygon(16% 0,100% 9%,85% 95%,4% 100%,0 28%); }.act-visual span { font-size:.8rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }.act-visual strong { font:italic clamp(2.2rem,4vw,3.4rem)/.9 var(--serif); }.act h2 { color:#fff; }.act h2:after { content:""; display:block; width:54px; height:3px; margin:1.3rem 0; background:var(--sun); }.action-list { margin-top:2rem; border-top:1px solid rgba(255,255,255,.25); }.action-list a { display:grid; grid-template-columns:45px 1fr; column-gap:8px; padding:1rem 0; text-decoration:none; border-bottom:1px solid rgba(255,255,255,.25); }.action-list a:hover strong { color:var(--sun); }.action-list span { color:var(--sun); font-size:.75rem; font-weight:700; }.action-list strong { font-size:.95rem; }.action-list small { grid-column:2; opacity:.72; }
.signal { display:grid; grid-template-columns:1.5fr .75fr; gap:clamp(2rem,7vw,7rem); align-items:center; background:#e9dfcc; }.signal-content h2 { max-width:620px; }.signal-content > p:not(.eyebrow) { max-width:660px; font-size:1.08rem; }.privacy-note { padding:2rem; border-left:4px solid var(--sun); background:var(--paper); }.privacy-note span { color:var(--sun); font-size:1.3rem; }.privacy-note h3 { margin:.5rem 0; font-size:1.65rem; }.privacy-note p { margin:0; font-size:.9rem; }
.association { background:var(--paper); }.association-grid { display:grid; grid-template-columns:1.1fr .9fr; gap:clamp(2rem,10vw,10rem); max-width:1000px; margin-top:2.5rem; }.association-grid > p { margin:0; font:600 1.45rem/1.25 var(--serif); }.association-grid div { border-left:1px solid rgba(22,32,22,.25); padding-left:1.8rem; }.association-grid p { margin-top:0; }.text-link { color:var(--terra); font-weight:700; text-decoration-thickness:1px; }
.navigation a.active { color:var(--terra); }.about-hero { display:grid; grid-template-columns:1.15fr .85fr; gap:4rem; align-items:end; min-height:440px; padding:clamp(4.5rem,9vw,8rem) clamp(1.25rem,11vw,10rem); color:var(--cream); background:linear-gradient(125deg,#315b43,#618047 70%,#a89b51); }.about-hero h1 { margin:0; font:600 clamp(4rem,8vw,7.2rem)/.79 var(--serif); letter-spacing:-.045em; }.about-hero h1 em { color:#f8c35a; }.about-hero > p { max-width:430px; margin:0 0 .5rem; font:500 1.22rem/1.42 var(--serif); }.about-story { display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(2rem,10vw,10rem); padding:clamp(4.5rem,8vw,8rem) clamp(1.25rem,11vw,10rem); background:var(--cream); }.about-statement { display:flex; flex-direction:column; justify-content:center; padding:2rem; color:var(--cream); background:var(--terra); }.about-statement span { color:#f4c867; font-size:.8rem; font-weight:700; letter-spacing:.16em; }.about-statement p { margin:1rem 0 0; font:italic 2.25rem/.94 var(--serif); }.about-copy { max-width:700px; }.about-copy h2, .about-corsica h2, .about-actions h2, .about-call h2 { margin:0 0 1.4rem; font:600 clamp(2.8rem,5vw,4.8rem)/.9 var(--serif); letter-spacing:-.035em; }.about-copy p:not(.eyebrow), .about-corsica p:not(.eyebrow) { font-size:1.05rem; }.about-corsica { display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,10vw,10rem); padding:clamp(4.5rem,8vw,8rem) clamp(1.25rem,11vw,10rem); color:var(--cream); background:#31513b; }.about-corsica h2 em { color:#f4c867; }.about-corsica > div:last-child { align-self:end; max-width:510px; font-size:1.06rem; }.about-actions { padding:clamp(4.5rem,8vw,8rem) clamp(1.25rem,11vw,10rem); }.about-actions-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.2rem; margin-top:2.6rem; }.about-actions-grid article { padding:1.5rem; border-top:3px solid var(--sun); background:#f2eadc; }.about-actions-grid span { color:var(--terra); font-size:.78rem; font-weight:700; }.about-actions-grid h3 { margin:.9rem 0 .35rem; font-size:2rem; line-height:.95; }.about-actions-grid p { margin:0; font-size:.93rem; }.about-call { padding:clamp(4.5rem,8vw,7rem) clamp(1.25rem,11vw,10rem); text-align:center; color:var(--cream); background:linear-gradient(115deg,#375e43,#698344); }.about-call h2 { max-width:750px; margin-left:auto; margin-right:auto; }.about-call > p:not(.eyebrow) { max-width:620px; margin:0 auto 1.8rem; }
.site-footer { display:grid; grid-template-columns:1.1fr .85fr .9fr; gap:2.5rem; padding:3.5rem clamp(1.25rem,11vw,10rem) 1.25rem; color:var(--cream); background:var(--forest); }.footer-brand img { width:90px; height:90px; object-fit:contain; }.footer-brand p { font:italic 1.35rem/1 var(--serif); }.footer-label { margin:0 0:.5rem; color:var(--sun); font-size:.75rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }.site-footer a { display:block; width:max-content; max-width:100%; margin:.18rem 0; overflow-wrap:anywhere; color:var(--cream); }.site-footer p { font-size:.9rem; }.copyright { grid-column:1/-1; margin:1.5rem 0 0; padding-top:1rem; border-top:1px solid rgba(255,255,255,.25); font-size:.72rem!important; opacity:.75; }
@media (max-width:800px) { .site-header { min-height:84px; }.brand { font-size:1.3rem; }.brand img { width:66px; height:66px; }.menu-toggle { display:block; padding:.55rem .7rem; border:1px solid var(--forest); background:transparent; font:600 .8rem var(--sans); }.navigation { display:none; position:absolute; top:100%; left:0; right:0; padding:1rem 1.25rem 1.3rem; background:var(--paper); border-bottom:1px solid #ddd; flex-direction:column; align-items:flex-start; }.navigation.open { display:flex; }.hero { min-height:720px; padding-top:13rem; }.hero-identity { top:1.5rem; left:1.25rem; right:auto; }.hero-identity img { width:112px; height:112px; }.hero-identity p { font-size:1.8rem; }.hero-quote { top:auto; bottom:4.7rem; right:1.25rem; max-width:300px; font-size:1.75rem; }.mission-cards, .act, .signal, .association-grid, .site-footer, .about-hero, .about-story, .about-corsica, .about-actions-grid { grid-template-columns:1fr; }.about-hero { min-height:420px; gap:2rem; }.about-story { gap:2rem; }.about-statement { min-height:240px; }.section { padding-top:4rem; padding-bottom:4rem; }.site-footer { gap:1.5rem; }.footer-brand img { width:72px; height:72px; } }
@media (max-width:440px) { .brand span { font-size:1.1rem; }.brand img { width:58px; height:58px; }.hero h1 { font-size:3.25rem; }.hero-intro { font-size:.95rem; }.hero-quote { display:none; }.hero { min-height:620px; padding-top:12rem; }.hero-identity img { width:96px; height:96px; }.hero-identity p { font-size:1.55rem; }.mission-card { min-height:0; } }
