:root{
  --forest:#123e31;
  --forest-2:#0c2f26;
  --forest-3:#1d5140;
  --moss:#6f8055;
  --copper:#bb672f;
  --copper-dark:#8f4820;
  --cream:#f6f0e6;
  --cream-2:#ede3d2;
  --paper:#fbf8f1;
  --ink:#17251f;
  --muted:#5e685f;
  --line:rgba(23,37,31,.16);
  --white:#fffdf9;
  --shadow:0 18px 50px rgba(27,38,29,.13);
  --radius:22px;
  --radius-sm:14px;
  --max:1240px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.65;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit}
.container{width:min(calc(100% - 40px),var(--max));margin-inline:auto}
.eyebrow{font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;font-weight:800;color:var(--copper)}
.kicker{font-size:.79rem;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:var(--moss)}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif;line-height:1.08;margin:0 0 .6em}
h1{font-size:clamp(2.65rem,6vw,6.25rem);letter-spacing:-.035em}
h2{font-size:clamp(2rem,4vw,4rem);letter-spacing:-.025em}
h3{font-size:clamp(1.35rem,2.3vw,2rem)}
p{margin:.35rem 0 1rem}
.lead{font-size:clamp(1.08rem,1.6vw,1.32rem);line-height:1.65;color:#33433a}
.small{font-size:.88rem;color:var(--muted)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:46px;padding:.76rem 1.15rem;border-radius:999px;border:1px solid transparent;font-weight:750;transition:.25s ease;cursor:pointer}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:var(--copper);color:white;box-shadow:0 9px 24px rgba(187,103,47,.22)}
.btn-primary:hover{background:var(--copper-dark)}
.btn-light{background:#fff;color:var(--forest);border-color:#fff}
.btn-outline{color:#fff;border-color:rgba(255,255,255,.72);background:rgba(10,35,28,.22);backdrop-filter:blur(8px)}
.btn-outline-dark{color:var(--forest);border-color:var(--forest);background:transparent}

/* Header */
.site-header{position:sticky;top:0;z-index:50;background:rgba(16,57,45,.97);color:#fff;box-shadow:0 4px 22px rgba(5,22,17,.14)}
.nav-wrap{min-height:92px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:24px}
.brand{display:flex;align-items:center;gap:.9rem;min-width:235px}
.brand img{width:62px;height:62px}
.brand-copy strong{font-family:Georgia,"Times New Roman",serif;font-size:1.26rem;display:block;line-height:1}
.brand-copy span{display:block;font-size:.68rem;opacity:.74;margin-top:.32rem;letter-spacing:.02em}
.nav-links{display:flex;justify-content:center;align-items:center;gap:clamp(14px,2vw,28px)}
.nav-links a{font-size:.93rem;opacity:.88;position:relative;white-space:nowrap}
.nav-links a::after{content:"";position:absolute;left:0;right:100%;bottom:-8px;height:2px;background:var(--copper);transition:.25s ease}
.nav-links a:hover,.nav-links a.active{opacity:1}
.nav-links a:hover::after,.nav-links a.active::after{right:0}
.menu-btn{display:none;border:1px solid rgba(255,255,255,.28);background:transparent;color:white;border-radius:10px;padding:.6rem .72rem}

/* Home hero */
.hero{position:relative;min-height:min(760px,78vh);display:flex;align-items:flex-end;color:#fff;overflow:hidden;background:var(--forest)}
.hero-media{position:absolute;inset:0;background-image:linear-gradient(90deg,rgba(6,27,21,.18),rgba(6,27,21,.1)),url('https://upload.wikimedia.org/wikipedia/commons/6/64/For%C3%AAt_d%27Eawy_h%C3%AAtres01.JPG');background-size:cover;background-position:center}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,20,16,.05) 0%,rgba(4,20,16,.2) 48%,rgba(4,20,16,.68) 100%)}
.hero-content{position:relative;z-index:2;padding:clamp(100px,14vw,180px) 0 72px;max-width:920px}
.hero h1{max-width:900px;text-shadow:0 4px 24px rgba(0,0,0,.28)}
.hero .lead{color:rgba(255,255,255,.92);max-width:760px;font-size:clamp(1.16rem,2vw,1.55rem)}
.hero-actions{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1.6rem}
.hero-note{display:flex;gap:12px;align-items:center;margin-bottom:18px;font-size:.82rem;letter-spacing:.15em;text-transform:uppercase;font-weight:800;color:#f3ddca}
.hero-note::before{content:"";width:36px;height:1px;background:#f3ddca}

/* Shared */
.section{padding:clamp(72px,9vw,128px) 0}
.section-tight{padding:clamp(52px,7vw,84px) 0}
.bg-cream{background:var(--cream)}
.bg-forest{background:var(--forest);color:#fff}
.bg-forest .lead,.bg-forest p{color:rgba(255,255,255,.84)}
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(36px,6vw,86px);align-items:center}
.split-wide{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}
.photo-card{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);background:#ddd;position:relative}
.photo-card img{width:100%;height:100%;object-fit:cover}
.photo-card.tall{aspect-ratio:4/5}
.photo-card.landscape{aspect-ratio:16/10}
.photo-card.square{aspect-ratio:1/1}
.photo-caption{font-size:.78rem;color:var(--muted);margin-top:.65rem}
.section-head{max-width:860px;margin-bottom:clamp(32px,5vw,56px)}
.section-head.center{text-align:center;margin-inline:auto}
.rule{width:72px;height:2px;background:var(--copper);margin:1.35rem 0}

/* Home */
.project-intro{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(32px,7vw,90px);align-items:start}
.statement{font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.5rem,2.7vw,2.45rem);line-height:1.28;color:var(--forest);border-left:3px solid var(--copper);padding-left:1.4rem}
.pillars{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.pillar{padding:2rem 1.4rem 2.2rem;border-right:1px solid var(--line);position:relative}
.pillar:last-child{border-right:0}
.pillar-num{font-family:Georgia,serif;font-size:2.8rem;color:rgba(187,103,47,.24);line-height:1}
.pillar h3{font-size:1.45rem;margin:.4rem 0 .55rem;color:var(--forest)}
.landscape-band{display:grid;grid-template-columns:1.2fr .8fr;min-height:600px}
.landscape-band .image{background:url('https://upload.wikimedia.org/wikipedia/commons/2/24/Monts_du_Lyonnais_%40_Cr%C3%AAt_de_la_Perdrix.jpg') center/cover no-repeat;min-height:480px}
.landscape-band .copy{background:var(--forest);color:#fff;padding:clamp(46px,7vw,92px);display:flex;flex-direction:column;justify-content:center}
.landscape-band .copy p{color:rgba(255,255,255,.82)}
.mosaic{display:grid;grid-template-columns:1.15fr .85fr;gap:24px}
.mosaic-stack{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.mosaic .photo-card:first-child{min-height:520px}
.mosaic-stack .photo-card{min-height:248px}
.approach-list{display:grid;grid-template-columns:repeat(5,1fr);gap:0;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#fff}
.approach-item{padding:1.5rem 1.2rem;border-right:1px solid var(--line)}
.approach-item:last-child{border-right:0}
.approach-item span{display:block;font-size:.73rem;letter-spacing:.15em;color:var(--copper);font-weight:800;margin-bottom:.55rem}
.approach-item strong{font-family:Georgia,serif;color:var(--forest);font-size:1.1rem}
.contact-band{background:var(--copper);color:white;border-radius:var(--radius);padding:clamp(30px,5vw,60px);display:grid;grid-template-columns:1fr auto;align-items:center;gap:30px}
.contact-band h2{font-size:clamp(2rem,4vw,3.5rem)}

/* Internal hero */
.page-hero{background:var(--cream);padding:clamp(58px,8vw,105px) 0;overflow:hidden}
.page-hero-grid{display:grid;grid-template-columns:1fr .85fr;gap:clamp(36px,7vw,90px);align-items:center}
.page-hero h1{color:var(--forest);font-size:clamp(3rem,6vw,5.7rem)}
.breadcrumbs{font-size:.78rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin-bottom:1.5rem}
.page-hero-art{position:relative;min-height:430px}
.page-hero-art .photo-card{position:absolute;inset:0 0 0 8%;border-radius:38% 38% 18px 18px / 16% 16% 18px 18px}
.page-hero-art::before{content:"";position:absolute;width:180px;height:180px;border:1px solid var(--copper);border-radius:50%;left:-8%;bottom:4%;opacity:.65}
.page-hero-art::after{content:"";position:absolute;width:110px;height:110px;background:var(--copper);border-radius:50%;right:-6%;top:7%;opacity:.12}

/* Project */
.manifesto{display:grid;grid-template-columns:.7fr 1.3fr;gap:60px;align-items:start}
.manifesto-index{position:sticky;top:130px;border-left:2px solid var(--copper);padding-left:1.3rem}
.manifesto-index a{display:block;margin:.5rem 0;color:var(--muted);font-size:.92rem}
.manifesto-body section{padding:0 0 56px;margin-bottom:56px;border-bottom:1px solid var(--line)}
.manifesto-body section:last-child{border-bottom:0;margin-bottom:0}
.official-block{background:var(--forest);color:white;border-radius:var(--radius);padding:clamp(34px,5vw,58px);display:grid;grid-template-columns:1.3fr .7fr;gap:30px}
.official-block dl{display:grid;grid-template-columns:auto 1fr;gap:.7rem 1.2rem;margin:0}
.official-block dt{color:#e0b492;font-weight:700}
.official-block dd{margin:0}

/* Nature */
.field-note{display:grid;grid-template-columns:130px 1fr 1fr;gap:clamp(24px,4vw,52px);align-items:start;padding:52px 0;border-top:1px solid var(--line)}
.field-note:last-child{border-bottom:1px solid var(--line)}
.note-num{font-family:Georgia,serif;font-size:4.4rem;line-height:.9;color:rgba(18,62,49,.16)}
.note-copy h2{font-size:clamp(1.8rem,3vw,3rem)}
.note-image{min-height:320px;border-radius:var(--radius-sm);overflow:hidden}
.note-image img{width:100%;height:100%;object-fit:cover}
.note-pull{padding:60px 0;text-align:center;max-width:920px;margin:auto}
.note-pull p{font-family:Georgia,serif;font-size:clamp(1.7rem,3.4vw,3.2rem);line-height:1.28;color:var(--forest)}

/* Regards */
.lens{display:grid;grid-template-columns:.85fr 1.15fr;min-height:520px;border-top:1px solid var(--line)}
.lens:nth-child(even){grid-template-columns:1.15fr .85fr}
.lens:nth-child(even) .lens-image{order:2}
.lens-image{min-height:520px;background:#ddd}
.lens-image img{width:100%;height:100%;object-fit:cover}
.lens-copy{padding:clamp(48px,7vw,92px);display:flex;flex-direction:column;justify-content:center}
.lens-copy .num{font-size:.72rem;letter-spacing:.16em;color:var(--copper);font-weight:800;margin-bottom:1rem}
.lens-copy h2{font-size:clamp(2rem,3.8vw,3.6rem)}
.lens-copy p{max-width:650px}

/* Transmission */
.journal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.journal-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:2rem;min-height:310px;position:relative;overflow:hidden}
.journal-card::after{content:"";position:absolute;width:96px;height:96px;border:1px solid rgba(187,103,47,.3);border-radius:50%;right:-24px;bottom:-24px}
.journal-card .num{font-family:Georgia,serif;font-size:3rem;color:rgba(187,103,47,.25)}
.journal-card h3{color:var(--forest)}
.journal-feature{display:grid;grid-template-columns:.95fr 1.05fr;gap:0;border-radius:var(--radius);overflow:hidden;background:var(--forest);color:white}
.journal-feature img{width:100%;height:100%;object-fit:cover;min-height:480px}
.journal-feature .copy{padding:clamp(42px,6vw,74px);display:flex;flex-direction:column;justify-content:center}
.journal-feature p{color:rgba(255,255,255,.82)}

/* Resources */
.resource-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:clamp(34px,6vw,78px);align-items:start}
.resource-nav{position:sticky;top:125px;border:1px solid var(--line);border-radius:var(--radius-sm);padding:1.2rem;background:#fff}
.resource-nav a{display:block;padding:.7rem .8rem;border-radius:9px;font-size:.91rem;color:var(--muted)}
.resource-nav a:hover{background:var(--cream);color:var(--forest)}
.resource-content section{padding:0 0 52px;margin-bottom:52px;border-bottom:1px solid var(--line)}
.resource-content h2{font-size:clamp(1.9rem,3.3vw,3rem)}
.checklist{list-style:none;padding:0;margin:1.2rem 0}
.checklist li{position:relative;padding:.55rem 0 .55rem 1.65rem}
.checklist li::before{content:"";position:absolute;left:0;top:1.05rem;width:.58rem;height:.58rem;border-radius:50%;background:var(--copper)}
.resource-photo{margin:1.5rem 0 2rem;border-radius:var(--radius-sm);overflow:hidden;max-height:460px}
.resource-photo img{width:100%;height:100%;object-fit:cover}

/* Contact */
.contact-hero{background:linear-gradient(90deg,rgba(12,47,38,.95),rgba(12,47,38,.83)),url('https://upload.wikimedia.org/wikipedia/commons/0/0d/Oak_bark.jpg') center/cover;color:#fff;padding:clamp(70px,10vw,130px) 0}
.contact-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:clamp(40px,7vw,90px);align-items:start}
.contact-info{background:var(--forest);color:#fff;border-radius:var(--radius);padding:2rem;position:sticky;top:130px}
.contact-info a{color:#f4c6a4}
.contact-info p{color:rgba(255,255,255,.8)}
.contact-form{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:clamp(28px,5vw,54px);box-shadow:var(--shadow)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.field{margin-bottom:1.1rem}
label{display:block;font-weight:720;margin-bottom:.42rem;color:var(--forest)}
input,textarea,select{width:100%;border:1px solid #c8cdc8;background:#fff;border-radius:10px;padding:.86rem 1rem;color:var(--ink)}
textarea{min-height:180px;resize:vertical}
input:focus,textarea:focus,select:focus{outline:3px solid rgba(187,103,47,.16);border-color:var(--copper)}
.form-note{font-size:.82rem;color:var(--muted)}
.notice{border-radius:10px;padding:1rem 1.1rem;margin-bottom:1rem;font-size:.92rem}
.notice.success{background:#e5f3e8;color:#225f35}
.notice.error{background:#f8e9e5;color:#8c3d2f}
.hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}

/* Legal */
.legal{max-width:900px;margin-inline:auto}
.legal h2{font-size:1.8rem;margin-top:2.2rem;color:var(--forest)}
.legal h3{font-size:1.25rem;margin-top:1.6rem;color:var(--forest)}
.legal ul{padding-left:1.2rem}
.legal-note{background:var(--cream);border-left:3px solid var(--copper);padding:1rem 1.2rem;border-radius:0 10px 10px 0}

/* Footer */
.site-footer{background:var(--forest-2);color:#fff;margin-top:0}
.footer-main{padding:58px 0 38px;display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:50px}
.footer-brand .brand{margin-bottom:1.2rem}
.footer-brand p{max-width:420px;color:rgba(255,255,255,.72)}
.footer-title{font-size:.74rem;letter-spacing:.15em;text-transform:uppercase;color:#d6a883;font-weight:800;margin-bottom:.9rem}
.footer-links a{display:block;margin:.5rem 0;color:rgba(255,255,255,.78)}
.footer-links a:hover{color:#fff}
.footer-bottom{border-top:1px solid rgba(255,255,255,.13);padding:20px 0 26px;display:flex;justify-content:space-between;gap:20px;font-size:.78rem;color:rgba(255,255,255,.55)}

/* 404 */
.error-page{min-height:75vh;display:grid;place-items:center;background:var(--cream);text-align:center;padding:50px 20px}
.error-code{font-family:Georgia,serif;font-size:clamp(6rem,18vw,14rem);line-height:.8;color:rgba(18,62,49,.12)}

@media (max-width:1050px){
  .nav-wrap{grid-template-columns:auto auto;justify-content:space-between;min-height:78px}
  .nav-links{display:none;position:absolute;top:78px;left:0;right:0;background:var(--forest-2);padding:22px 20px 28px;flex-direction:column;align-items:flex-start;box-shadow:0 12px 24px rgba(0,0,0,.2)}
  .nav-links.open{display:flex}
  .header-cta{display:none}
  .menu-btn{display:inline-flex}
  .pillars{grid-template-columns:1fr 1fr}
  .pillar:nth-child(2){border-right:0}
  .pillar:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .approach-list{grid-template-columns:1fr 1fr 1fr}
  .approach-item:nth-child(3){border-right:0}
  .approach-item:nth-child(-n+3){border-bottom:1px solid var(--line)}
  .page-hero-grid,.split,.split-wide,.project-intro,.official-block,.contact-grid,.journal-feature{grid-template-columns:1fr}
  .page-hero-art{min-height:360px}
  .manifesto{grid-template-columns:1fr}
  .manifesto-index{position:static}
  .field-note{grid-template-columns:90px 1fr}
  .field-note .note-image{grid-column:2}
  .resource-layout{grid-template-columns:1fr}
  .resource-nav{position:static;display:grid;grid-template-columns:1fr 1fr}
  .contact-info{position:static}
}
@media (max-width:760px){
  .container{width:min(calc(100% - 28px),var(--max))}
  .brand{min-width:0}.brand img{width:52px;height:52px}.brand-copy strong{font-size:1.08rem}.brand-copy span{display:none}
  .hero{min-height:640px}.hero-content{padding-bottom:44px}.hero h1{font-size:clamp(2.65rem,13vw,4.2rem)}
  .pillars,.journal-grid,.mosaic,.mosaic-stack,.approach-list{grid-template-columns:1fr}
  .pillar,.pillar:nth-child(2),.approach-item,.approach-item:nth-child(3){border-right:0;border-bottom:1px solid var(--line)}
  .landscape-band{grid-template-columns:1fr}.landscape-band .image{min-height:380px}
  .contact-band{grid-template-columns:1fr}.contact-band .btn{justify-self:start}
  .page-hero-art{min-height:300px}.page-hero-art .photo-card{inset:0}
  .field-note{grid-template-columns:1fr}.note-num{font-size:3rem}.field-note .note-image{grid-column:auto}
  .lens,.lens:nth-child(even){grid-template-columns:1fr}.lens:nth-child(even) .lens-image{order:0}.lens-image{min-height:360px}
  .journal-grid{gap:14px}
  .resource-nav{grid-template-columns:1fr}
  .form-row{grid-template-columns:1fr}
  .footer-main{grid-template-columns:1fr;gap:28px}.footer-bottom{flex-direction:column}
}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
:focus-visible{outline:3px solid #f0a66c;outline-offset:3px}
.skip-link{position:fixed;left:-9999px;top:12px;background:#fff;color:#123e31;padding:.65rem .85rem;border-radius:8px;z-index:1000;font-weight:700}
.skip-link:focus{left:12px}
