:root{
  --paper:#f7f5ef;
  --ink:#151511;
  --muted:#66645e;
  --green:#526f3d;
  --sage:#82916a;
  --earth:#8b5b34;
  --black:#1a1a18;
  --max:1500px;
  --serif: Georgia, 'Times New Roman', serif;
  --sans: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', Arial, sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.55}
a{color:inherit}
.skip-link{position:fixed;left:12px;top:-60px;background:#000;color:#fff;padding:.7rem 1rem;z-index:1000}.skip-link:focus{top:12px}
.site-header{height:108px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 clamp(24px,4vw,64px);position:sticky;top:0;background:rgba(247,245,239,.94);backdrop-filter:blur(16px);z-index:50;border-bottom:1px solid rgba(0,0,0,.05)}
.header-left{font-size:11px;letter-spacing:.35em;line-height:1.75;font-weight:600}
.brand{display:block;width:190px}.brand img{display:block;width:100%;height:auto}
.main-nav{display:flex;justify-content:flex-end;align-items:center;gap:clamp(18px,2.2vw,36px);font-size:11px;text-transform:uppercase;letter-spacing:.28em;font-weight:700}.main-nav a{text-decoration:none}.main-nav a:hover{color:var(--green)}
.menu-toggle{display:none;justify-self:end;width:38px;height:38px;border:0;background:transparent;padding:8px;cursor:pointer}.menu-toggle span{display:block;height:1.5px;background:var(--ink);margin:5px 0}
.chapter{min-height:100vh;scroll-margin-top:108px}.chapter-inner,.text-wrap{max-width:var(--max);margin:0 auto;padding:clamp(54px,6vw,92px) clamp(24px,4vw,64px)}
.eyebrow{font-size:11px;letter-spacing:.3em;text-transform:uppercase;font-weight:700;color:var(--muted);margin:0 0 18px}
h1,h2,h3{font-family:var(--serif);font-weight:400;letter-spacing:-.035em;margin:0}
h1,h2{font-size:clamp(48px,6vw,96px);line-height:.98;max-width:1380px}
.subline{font-family:var(--serif);font-size:clamp(19px,1.6vw,28px);color:var(--muted);margin:18px 0 0}
.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:42px}
.flip-card{perspective:1600px;height:clamp(450px,58vh,610px)}
.flip-card__inner{display:block;width:100%;height:100%;position:relative;border:0;background:none;padding:0;transform-style:preserve-3d;transition:transform .7s cubic-bezier(.2,.7,.2,1);cursor:pointer;border-radius:18px}
.flip-card__inner:focus-visible{outline:3px solid #1c5c3a;outline-offset:5px}
.flip-card.is-flipped .flip-card__inner{transform:rotateY(180deg)}
@media (hover:hover) and (pointer:fine){.flip-card:hover .flip-card__inner{transform:rotateY(180deg)}}
.flip-card__face{position:absolute;inset:0;display:flex;border-radius:18px;overflow:hidden;backface-visibility:hidden;-webkit-backface-visibility:hidden;box-shadow:inset 0 0 0 1px rgba(0,0,0,.05)}
.flip-card__front{align-items:center;justify-content:center;background:#ddd}
.flip-card__back{transform:rotateY(180deg)}
.flip-mark{position:absolute;right:28px;bottom:22px;font-size:32px;font-family:var(--serif);font-weight:300}
.year{font-family:var(--serif);font-size:clamp(86px,8.4vw,150px);letter-spacing:-.08em;line-height:1}
.word{font-family:var(--serif);font-size:clamp(46px,5vw,82px);letter-spacing:-.045em;line-height:1}
.card-label{position:absolute;bottom:25%;font-family:var(--serif);font-size:clamp(24px,2.1vw,36px)}
.tone-sage{background:linear-gradient(145deg,#8fa077,#70815e);color:#111}
.tone-earth{background:linear-gradient(145deg,#9b6a3f,#734424);color:#fff}
.tone-black{background:linear-gradient(145deg,#282826,#111);color:#fff}
.tone-paper{background:linear-gradient(145deg,#f3eddf,#e8dfcd);color:#111}
.tone-deep{background:linear-gradient(145deg,#1c241c,#0d0e0d);color:#fff}
.tone-transition{background:linear-gradient(135deg,#7f5232 0%,#68492a 42%,#4e653a 100%);color:#fff}
.tone-green{background:linear-gradient(145deg,#4f733f,#28552f);color:#fff}
.image-back{background-image:linear-gradient(to top,rgba(0,0,0,.72),rgba(0,0,0,.08) 58%),var(--bg);background-size:cover;background-position:center;color:#fff;align-items:flex-end}
.back-copy{display:block;text-align:left;padding:0 38px 44px;width:100%;text-shadow:0 1px 12px rgba(0,0,0,.4)}
.back-copy strong{display:block;font-family:var(--serif);font-weight:400;font-size:clamp(30px,2.6vw,48px);line-height:1.05;max-width:90%}
.back-copy small{display:block;font-size:clamp(14px,1.05vw,18px);line-height:1.45;margin-top:14px;max-width:88%;font-weight:500}
.back-copy em{display:block;font-style:normal;letter-spacing:.28em;font-size:10px;font-weight:800;margin-top:22px}
.text-back{align-items:center;justify-content:center}
.team-copy,.contact-copy{display:block;text-align:center;width:86%;font-family:var(--serif)}
.team-copy strong,.contact-copy strong{display:block;font-size:clamp(42px,4vw,66px);font-weight:400;line-height:1;margin-bottom:36px}
.team-copy span,.contact-copy span{display:block;font-size:clamp(25px,2vw,34px);line-height:1.35}
.team-copy small{display:block;font-size:clamp(18px,1.4vw,24px);margin-top:44px}
.contact-copy small{display:block;font-family:var(--sans);font-size:13px;letter-spacing:.04em;margin-top:6px}
.contact-copy a{display:block;font-size:clamp(15px,1.15vw,20px);margin:28px 0 0;text-decoration:none;overflow-wrap:anywhere}.contact-copy a:hover{text-decoration:underline}
.contact-copy em{display:block;font-family:var(--sans);font-size:14px;font-style:normal;line-height:1.45;margin:32px auto 0;max-width:82%}
.chapter-foot{display:flex;justify-content:space-between;gap:20px;border-top:1px solid rgba(0,0,0,.16);padding-top:16px;margin-top:28px;font-size:10px;letter-spacing:.28em;text-transform:uppercase;font-weight:700;color:#54534f}
.text-chapter{background:#fff}
.text-wrap{max-width:1180px;padding-top:clamp(74px,9vw,140px);padding-bottom:clamp(80px,10vw,150px)}
.text-wrap h2{font-size:clamp(52px,6vw,96px);margin-bottom:34px}.text-wrap h2 span{color:var(--green)}
.text-wrap p{font-family:var(--serif);font-size:clamp(20px,1.55vw,27px);line-height:1.45;margin:0 0 28px;max-width:1080px}.text-wrap strong{color:var(--green);font-weight:700}.text-wrap .closing{font-size:clamp(27px,2.2vw,38px);margin-top:46px}.leadline{color:var(--green);font-size:clamp(25px,2vw,34px)!important}
.business-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;margin:48px 0 50px}.business-grid article{position:relative;padding-left:78px}.business-grid .number{position:absolute;left:0;top:0;width:52px;height:52px;border-radius:50%;background:#e6eddc;color:var(--green);display:grid;place-items:center;font-family:var(--serif);font-size:30px}.business-grid h3{font-size:clamp(30px,2.5vw,44px);color:var(--green);margin-bottom:16px}.business-grid p{font-size:clamp(18px,1.25vw,22px);margin:0}
.site-footer{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:30px;padding:44px clamp(24px,4vw,64px);border-top:1px solid rgba(0,0,0,.08);font-size:12px;color:var(--muted)}.site-footer img{width:145px}.site-footer nav{display:flex;gap:22px}.site-footer a{text-decoration:none}
@media(max-width:920px){
  .site-header{height:88px;grid-template-columns:1fr auto auto;padding:0 22px}.header-left{display:none}.brand{width:150px}.main-nav{display:none;position:absolute;top:88px;left:0;right:0;background:var(--paper);padding:24px;flex-direction:column;align-items:flex-start;border-bottom:1px solid #ddd}.main-nav.is-open{display:flex}.menu-toggle{display:block}.chapter{scroll-margin-top:88px}
  .card-grid{grid-template-columns:1fr}.flip-card{height:520px}.chapter-foot{flex-direction:column}.business-grid{grid-template-columns:1fr;gap:34px}.site-footer{grid-template-columns:1fr}.site-footer nav{justify-content:flex-start}
  h1,h2{font-size:clamp(46px,12vw,72px)}
}
@media(max-width:560px){
  .chapter-inner,.text-wrap{padding-left:18px;padding-right:18px}.flip-card{height:440px}.back-copy{padding:0 26px 34px}.year{font-size:90px}.word{font-size:54px}.team-copy strong,.contact-copy strong{font-size:45px}.team-copy span,.contact-copy span{font-size:24px}.text-wrap p{font-size:19px}.business-grid article{padding-left:0;padding-top:64px}.business-grid .number{top:0}.site-header{padding:0 18px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.flip-card__inner{transition:none}}

/* v2: opened-card image cleanup and safer text spacing */
.image-back{background-position:center center}
@media(max-width:920px){
  .back-copy{padding-left:32px;padding-right:32px}
}

/* v3: fuller team lists */
#team .team-copy > span { line-height: 1.55; }
#team .team-copy { gap: 14px; }
@media (max-width: 1100px) {
  #team .team-copy > span { font-size: 0.98rem; }
}

/* v6: bilingual navigation, impact and legal pages */
.lang-switch{border-left:1px solid rgba(0,0,0,.18);padding-left:20px}
.impact-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px 70px;margin:44px 0 42px}
.impact-grid article{padding-top:20px;border-top:1px solid rgba(0,0,0,.15)}
.impact-grid h3,.legal-wrap h3{font-family:var(--serif);font-size:clamp(28px,2.2vw,40px);color:var(--green);margin:0 0 12px}
.impact-grid p{font-size:clamp(18px,1.25vw,22px);margin:0}
.legal-wrap{max-width:1180px}
.legal-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px 70px;margin-top:36px}
.legal-grid section{padding-top:18px;border-top:1px solid rgba(0,0,0,.14)}
.legal-wrap a{color:var(--green)}
.legal-note{margin-top:44px!important;padding-top:18px;border-top:1px solid rgba(0,0,0,.14);font-size:16px!important;color:var(--muted)}
@media(max-width:920px){
  .impact-grid,.legal-grid{grid-template-columns:1fr}
  .lang-switch{border-left:0;padding-left:0}
}


/* v7: mobile refinement */
@media (max-width: 920px) {
  .site-header{
    min-height:72px;
    padding:12px 18px;
  }

  .header-left{
    display:none;
  }

  .brand img{
    max-height:44px;
    width:auto;
  }

  .chapter{
    padding-left:18px;
    padding-right:18px;
  }

  .chapter-inner,
  .text-wrap{
    width:100%;
  }

  .card-chapter{
    padding-top:72px;
    padding-bottom:72px;
  }

  .text-chapter{
    padding-top:72px;
    padding-bottom:72px;
  }

  .chapter h1,
  .chapter h2{
    line-height:.98;
    margin-bottom:24px;
  }

  .subline{
    margin-bottom:30px;
  }

  .card-grid{
    grid-template-columns:1fr;
    gap:18px;
  }

  .flip-card{
    min-height:390px;
  }

  .flip-card__inner{
    min-height:390px;
  }

  .flip-card__front .year{
    font-size:clamp(74px,24vw,118px);
  }

  .flip-card__front .word{
    font-size:clamp(42px,13vw,68px);
    line-height:.95;
  }

  .back-copy{
    padding:28px 24px 26px;
  }

  .back-copy strong{
    font-size:clamp(30px,8vw,44px);
    line-height:1;
  }

  .back-copy small{
    font-size:16px;
    line-height:1.42;
  }

  .team-copy,
  .contact-copy{
    padding:28px 24px;
  }

  .team-copy strong,
  .contact-copy strong{
    font-size:clamp(30px,8vw,44px);
  }

  .team-copy > span,
  .contact-copy > span{
    font-size:17px;
    line-height:1.5;
  }

  .contact-copy a{
    font-size:15px;
    overflow-wrap:anywhere;
  }

  .chapter-foot{
    margin-top:22px;
    gap:14px;
    flex-direction:column;
    align-items:flex-start;
  }

  .chapter-foot span:last-child{
    text-align:left;
  }

  .text-wrap > p,
  .text-wrap article p{
    font-size:17px;
    line-height:1.55;
  }

  .leadline{
    font-size:clamp(22px,6vw,30px)!important;
    line-height:1.2!important;
  }

  .impact-grid,
  .business-grid,
  .legal-grid{
    gap:14px;
    margin-top:28px;
  }

  .impact-grid article,
  .business-grid article{
    padding-top:16px;
  }

  .impact-grid h3,
  .business-grid h3,
  .legal-wrap h3{
    font-size:clamp(26px,7vw,34px);
  }

  .site-footer{
    gap:18px;
    padding:34px 18px;
    align-items:flex-start;
  }

  .site-footer nav{
    display:flex;
    gap:18px;
    flex-wrap:wrap;
  }

  .main-nav{
    padding:20px 18px 26px;
  }

  .main-nav a{
    font-size:18px;
  }
}

@media (max-width: 480px) {
  .flip-card,
  .flip-card__inner{
    min-height:370px;
  }

  .chapter h1{
    font-size:clamp(52px,15vw,72px);
  }

  .chapter h2{
    font-size:clamp(44px,12vw,62px);
  }

  .eyebrow{
    margin-bottom:14px;
  }

  .card-label{
    font-size:13px;
  }
}
