:root{--green:#103e35;--dark:#102b26;--mint:#c5e6cb;--gold:#e7b75c;--cream:#f8f6f0;--ink:#17332d;--muted:#53665f}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Arial,sans-serif;color:var(--ink);background:#fff;line-height:1.6}a{color:inherit}a:focus-visible,button:focus-visible{outline:3px solid #e7b75c;outline-offset:4px}.skip{position:absolute;top:-100px;left:10px;background:white;padding:10px;z-index:20}.skip:focus{top:10px}.wrap{width:min(1160px,calc(100% - 48px));margin:auto}.site-header{background:var(--green);color:#fff;position:sticky;top:0;z-index:10;border-bottom:1px solid #ffffff22}.nav{display:flex;align-items:center;justify-content:space-between;gap:30px;min-height:84px}.brand{text-decoration:none;display:flex;align-items:center;gap:12px;font-size:14px;letter-spacing:.15em;line-height:1.2}.brand strong{color:var(--gold)}.brand small{display:block;font-size:9px;letter-spacing:.32em;margin-top:5px;color:#d3e5d9}.brand-mark{font-family:Georgia,serif;font-size:42px;font-weight:bold;letter-spacing:-.1em}.brand-dot{color:var(--gold)}nav{display:flex;align-items:center;gap:24px}nav a{text-decoration:none;font-size:13px;font-weight:600}nav a:hover{color:var(--gold)}.nav-cta{border:1px solid #8aab9e;padding:10px 16px;border-radius:5px}.menu-toggle{display:none;background:none;border:1px solid #b2c6ba;border-radius:4px;color:#fff;padding:8px 12px}.hero{background:var(--green);color:#fff;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:45px;align-items:center;min-height:600px;padding-top:75px;padding-bottom:75px}.eyebrow{font-size:11px;letter-spacing:.23em;font-weight:800;color:var(--gold);margin:0 0 22px}.eyebrow.dark{color:#a56e16}h1,h2,h3,p{margin-top:0}h1,h2{font-family:Georgia,'Times New Roman',serif;letter-spacing:-.035em;line-height:1.12}h1{font-size:clamp(48px,6vw,78px);max-width:720px;margin-bottom:24px}h1 em{font-style:normal;color:var(--gold)}h2{font-size:clamp(35px,4vw,55px);margin-bottom:22px}h3{font-size:20px;line-height:1.3}.hero-copy{max-width:570px;font-size:18px;color:#d8e8df}.actions{display:flex;flex-wrap:wrap;gap:12px;margin:34px 0}.button{display:inline-flex;align-items:center;justify-content:center;gap:18px;padding:14px 22px;border-radius:5px;font-size:14px;font-weight:800;text-decoration:none}.primary{background:var(--gold);color:#17332d}.primary:hover{background:#f5ca7a}.secondary{border:1px solid #b2c6ba;color:#fff}.secondary:hover{background:#ffffff16}.hero-note{font-size:12px;color:#b7d0c5}.hero-art{min-height:440px;border-radius:220px 220px 12px 12px;position:relative;overflow:hidden;background:linear-gradient(#c9e8d4 0%,#f5d994 52%,#c5c58d 100%);box-shadow:0 25px 70px #06291e88}.sun{position:absolute;width:185px;height:185px;background:#fff3be;border-radius:50%;left:45%;top:18%;box-shadow:0 0 65px #fff4b7}.hill{position:absolute;bottom:-80px;left:-30%;width:165%;height:280px;border-radius:50% 50% 0 0}.hill-back{background:#669a79;transform:rotate(-13deg);bottom:-80px}.hill-front{background:#245b47;transform:rotate(13deg);bottom:-155px}.art-caption{position:absolute;left:30px;bottom:35px;color:#fff;font-size:12px;letter-spacing:.2em;font-weight:800}.art-caption span{display:block;font-family:Georgia,serif;font-size:72px;line-height:1;letter-spacing:-.05em}.metrics{background:#eaf1e9}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;padding:30px 0}.metric-grid>div{display:flex;align-items:center;gap:13px}.metric-grid strong{font:normal 44px Georgia,serif;color:var(--green)}.metric-grid span{font-size:12px;line-height:1.4;max-width:120px}.section{padding:105px 0;scroll-margin-top:85px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:80px}.lead{font-size:20px;line-height:1.65;color:#375248}.values{margin-top:38px}.values>div{border-top:1px solid #dbe5dd;padding:16px 0}.values span{font-size:11px;color:#a56e16;font-weight:800;letter-spacing:.15em}.values h3{margin:5px 0}.values p{color:var(--muted);margin:0}.muted{background:var(--cream)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:70px;margin-bottom:38px}.section-heading>div{max-width:580px}.section-heading>p{max-width:350px;color:var(--muted)}.pillar-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.pillar{padding:29px;background:#fff;border:1px solid #e6e8df;border-radius:8px;min-height:255px;display:flex;flex-direction:column}.pillar-num{font-size:11px;font-weight:800;color:#a56e16;letter-spacing:.2em}.pillar h3{margin:26px 0 12px}.pillar p{color:var(--muted);font-size:14px}.pillar small{font-size:11px;font-weight:700;color:#47705b;margin-top:auto;border-top:1px solid #e9eee9;padding-top:14px}.short{max-width:650px}.timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:55px}.timeline article{border-top:3px solid #d7b05d;padding-top:24px}.year{display:block;font:normal 30px Georgia,serif;color:var(--green)}.phase{display:block;color:#a56e16;font-size:10px;font-weight:800;letter-spacing:.15em;margin:8px 0 25px}.timeline p{font-size:14px;color:var(--muted)}.deep{background:var(--green);color:white}.deep .lead{color:#e1eee7}.checks{padding:0;list-style:none}.checks li{padding:12px 0 12px 27px;border-bottom:1px solid #ffffff30;position:relative}.checks li:before{content:'✓';position:absolute;left:0;color:var(--gold)}.document{background:#edf1e9}.document-card{background:#fff;padding:50px;display:grid;grid-template-columns:1.4fr .6fr;gap:45px;align-items:center;border-radius:10px}.document-card p{max-width:620px;color:var(--muted)}.document-card .button{margin-top:10px}.document-art{background:var(--green);color:#fff;min-height:300px;display:grid;place-items:center;transform:rotate(3deg);box-shadow:12px 14px 0 #d8dfd2}.document-art span{font:normal 40px/1.2 Georgia,serif}.document-art b{color:var(--gold);font-size:64px}footer{background:var(--dark);color:#fff;padding:38px 0}.footer-inner{display:flex;justify-content:space-between;gap:25px}.footer-inner p{color:#b7cbc0;font-size:12px;margin:8px 0 0}.footer-inner a{font-size:13px}.detail-hero{background:var(--green);color:white;padding:75px 0}.detail-hero h1{font-size:clamp(42px,5vw,68px)}.detail{max-width:850px;margin:auto;padding:65px 24px}.detail h2{font-size:34px;margin-top:50px}.detail h3{margin-top:25px}.detail p,.detail li{color:#465a51}.detail table{border-collapse:collapse;width:100%;font-size:14px;margin:22px 0 35px}.detail th,.detail td{border:1px solid #dbe5dd;text-align:left;padding:12px}.detail th{background:#eaf1e9}.detail .note{background:#f8f2df;padding:18px;border-left:4px solid #d7b05d}.detail a{color:#165d49}@media(max-width:850px){.menu-toggle{display:block}nav{display:none;position:absolute;left:0;right:0;top:84px;background:var(--green);padding:22px 24px;flex-direction:column;align-items:stretch}nav.open{display:flex}.hero-grid,.two-col,.document-card{grid-template-columns:1fr;gap:35px}.hero-grid{padding-top:55px}.hero-art{min-height:350px;max-width:550px;width:100%;margin:auto}.pillar-grid{grid-template-columns:repeat(2,1fr)}.timeline{grid-template-columns:repeat(2,1fr)}.section-heading{display:block}.metric-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:540px){.wrap{width:min(100% - 32px,1160px)}.hero-grid{min-height:0}.hero-art{min-height:290px}.section{padding:65px 0}.pillar-grid,.timeline,.metric-grid{grid-template-columns:1fr}.metric-grid{gap:10px}.metric-grid>div{border-bottom:1px solid #cadace;padding:8px 0}.document-card{padding:26px}.footer-inner{display:block}.footer-inner>div+div{margin-top:25px}}


/* Homepage portrait */

figure.hero-portrait {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-self: center;

    box-sizing: border-box;
    width: 340px;
    max-width: 100%;
    height: 420px;
    min-height: 0;
    margin: 0 auto;

    overflow: hidden;
    border-radius: 170px 170px 12px 12px;
    background: #e8e9e5;
    box-shadow: 0 20px 50px #06291e55;
}

figure.hero-portrait > img {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;

    display: block;
    width: 100%;
    height: 100%;
    max-width: none;

    object-fit: cover;
    object-position: center 31%;
}

figure.hero-portrait > figcaption {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    gap: 2px;

    padding: 40px 25px 24px;
    color: white;
    background: linear-gradient(transparent, #103e35e8);
    letter-spacing: .1em;
}

figure.hero-portrait > figcaption strong {
    font-size: 21px;
}

figure.hero-portrait > figcaption span {
    font-size: 12px;
    letter-spacing: .05em;
}

/* Smaller portrait on mobile */

@media (max-width: 700px) {
    figure.hero-portrait {
        width: 280px;
        max-width: 100%;
        height: 350px;
        border-radius: 140px 140px 12px 12px;
        margin: 20px auto;
    }
}