:root{--paper:#f7f7ef;--ink:#173d30;--forest:#143d30;--green:#2e7d32;--leaf:#66bb6a;--aqua:#00acc1;--purple:#4b2e6f;--muted:#57665b;--line:#d7dfd2;--lavender:#eeedf4;--lime:#ddec9a;--font:"Avenir Next",Avenir,"Segoe UI",Arial,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:24px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
button,a,summary{-webkit-tap-highlight-color:transparent}
a:focus-visible,summary:focus-visible{outline:3px solid var(--purple);outline-offset:6px}
.contact-section a:focus-visible{outline-color:var(--lime)}
::selection{background:#ddec9a;color:#143d30}
.wrap{width:min(1280px,calc(100% - 112px));margin-inline:auto}
.skip-link{position:absolute;top:8px;left:8px;z-index:10;transform:translateY(-180%);padding:10px 20px;background:var(--forest);color:white}
.skip-link:focus{transform:none}
.review-note{padding:7px 20px;background:#e8e9e1;color:#465544;text-align:center;font-size:11px;letter-spacing:.07em;line-height:1.5}
.review-note span{margin-inline:12px;color:#798276}
.site-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:28px}
.wordmark{display:grid;width:185px;line-height:1.05;flex-shrink:0}
.wordmark-name{font-size:26px;font-weight:800;letter-spacing:-.055em;white-space:nowrap}
.brand-x{color:var(--purple)}
.wordmark-sub{font-size:10px;font-weight:600;letter-spacing:.34em;margin-top:7px;color:#367882}
nav{display:flex;align-items:center;gap:34px;font-size:13px;font-weight:500}
nav>a:not(.nav-contact){border-bottom:1px solid transparent;padding-block:8px}
nav>a:not(.nav-contact):hover{border-color:var(--forest)}
.nav-contact{border:1px solid #bcc9b9;border-radius:3px;padding:11px 18px;transition:background .16s}
.nav-contact:hover{background:#e8efdc}
.nav-contact span{margin-left:18px}
.hero{display:grid;grid-template-columns:1.05fr 1fr;gap:60px;align-items:center;padding-block:50px 70px}
.eyebrow{font-size:10px;line-height:1.6;letter-spacing:.15em;text-transform:uppercase;font-weight:650;margin:0 0 22px}
.hero-copy>.eyebrow{display:flex;align-items:center;gap:10px;letter-spacing:.105em}
.status-dot{display:block;width:7px;height:7px;flex:none;border-radius:50%;background:#488b47;box-shadow:0 0 0 4px #e6eddb}
h1,h2,h3,p{margin-top:0}
h1{font-size:clamp(50px,5.5vw,83px);font-weight:550;line-height:1.015;letter-spacing:-.067em;margin-bottom:27px}
h1>span{color:var(--purple)}
.hero-description{max-width:430px;font-size:16px;line-height:1.8;color:var(--muted);margin-bottom:28px}
.hero-actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;padding:14px 22px;border-radius:3px;font-size:12px;font-weight:600;transition:background .16s,transform .16s}
.button-dark{background:var(--forest);color:var(--paper)}
.button-dark:hover{background:#23583e;transform:translateY(-2px)}
.text-link{display:inline-flex;align-items:center;gap:12px;font-size:12px;font-weight:600;border-bottom:1px solid #90a38e;padding-block:6px}
.text-link:hover{color:var(--purple);border-color:var(--purple)}
.hero-footnote{font-size:10px;line-height:1.6;color:#60735d;margin-top:38px;margin-bottom:0}
.hero-footnote span{margin-inline:7px}
.brand-art{margin:0;padding:10px 10px 0;border:1px solid #ced6c8;border-radius:6px;background:#f0f0e5;transform:rotate(1deg)}
.brand-art img{display:block;width:100%;height:auto;border-radius:3px}
.brand-art figcaption{display:flex;justify-content:space-between;align-items:center;padding:14px 5px;font-size:10px;letter-spacing:.06em;font-weight:500}
.brand-art figcaption>span:last-child{font-size:9px;color:#6a7763;letter-spacing:.14em}
.principle-ribbon{border-block:1px solid var(--line);background:#eef1e5}
.ribbon-inner{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-block:20px;font-size:12px;font-weight:500;letter-spacing:.025em}
.ribbon-separator{color:#78a052;font-size:22px;line-height:1}
.section-space{padding-block:100px}
.approach-section{display:grid;grid-template-columns:1fr 1fr;gap:90px}
.section-number{color:#60745b;margin-bottom:22px}
.section-number>span{margin-inline:10px;color:#8c9d84}
h2{font-size:clamp(35px,3.3vw,48px);line-height:1.13;font-weight:550;letter-spacing:-.052em;margin-bottom:25px}
.section-intro>p:not(.eyebrow){max-width:465px;font-size:14px;line-height:1.9;color:var(--muted);margin-bottom:17px}
.section-intro>p.design-note{font-size:11px}
.botanical-note{display:flex;align-items:center;gap:20px;margin-top:28px;color:#658650}
.botanical-note svg{width:180px;max-width:45%;height:auto}
.botanical-note span{font-size:11px;line-height:1.8;letter-spacing:.04em;font-style:italic}
.principles{padding-top:36px}
.principles details{border-top:1px solid #c8d3c0;padding-block:23px}
.principles details:last-child{border-bottom:1px solid #c8d3c0}
.principles summary{list-style:none;display:flex;align-items:center;gap:20px;cursor:pointer;font-size:18px;font-weight:550;letter-spacing:-.035em;line-height:1.45}
.principles summary::-webkit-details-marker{display:none}
.detail-number{font-size:10px;letter-spacing:.04em;flex:none;color:#5a704e}
.detail-toggle{font-size:25px;margin-left:auto;flex:none;font-weight:350;color:#4b2e6f;transition:transform .2s}
details[open] .detail-toggle{transform:rotate(45deg)}
.detail-content{padding:15px 30px 1px 37px}
.detail-content p{font-size:13px;color:var(--muted);line-height:1.9;margin-bottom:17px}
.detail-label{font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:#5f7557;font-weight:600}
.progress-section{background:var(--lavender);border-block:1px solid #e1dfeb}
.progress-section .section-number{color:#586c51}
.progress-inner{display:grid;grid-template-columns:1fr 1fr;gap:90px;padding-block:80px}
.progress-heading h2{color:var(--purple)}
.progress-heading>p:not(.eyebrow){max-width:410px;font-size:14px;color:#656176;line-height:1.9;margin-bottom:24px}
.progress-heading .text-link{color:var(--purple);border-color:#ad9ebd}
.development-path{padding-top:6px}
.path-caption{font-size:10px;letter-spacing:.13em;color:var(--purple);font-weight:650;padding-bottom:19px;border-bottom:1px solid #cec7d9;margin-bottom:25px}
.path-caption span{display:block;font-size:10px;letter-spacing:0;font-weight:400;color:#6f657d;margin-top:4px}
.development-path ol{list-style:none;padding:0;margin:0}
.development-path li{display:grid;grid-template-columns:35px 1fr;gap:18px;position:relative;padding-bottom:26px}
.development-path li:not(:last-child):before{content:"";position:absolute;top:34px;bottom:2px;left:17px;width:1px;background:#cfc8dc}
.stage-marker{display:grid;place-items:center;height:35px;border:1px solid #bfb4ce;border-radius:50%;font-size:11px;color:#7c6c8e}
.current-stage .stage-marker{background:var(--purple);color:white;border-color:var(--purple)}
.current-label{display:inline-block;font-size:8px;letter-spacing:.12em;font-weight:700;line-height:1.2;background:#dcd2e9;color:#4b2e6f;padding:5px 7px;margin-bottom:8px}
.development-path h3{font-size:17px;line-height:1.4;color:#51405f;letter-spacing:-.025em;font-weight:550;margin:3px 0 5px}
.development-path li p{font-size:12px;line-height:1.8;color:#73677e;margin-bottom:0;max-width:330px}
.path-note{font-size:10px;color:#70657a;line-height:1.9;border-top:1px solid #cec7d9;padding-top:16px;margin:0;max-width:430px}
.contact-section{background:var(--forest);color:var(--paper)}
.contact-inner{display:grid;grid-template-columns:1.1fr 1fr;gap:90px;align-items:center;padding-block:85px}
.contact-section .section-number{color:#c1d0ae}
.contact-section .section-number>span{color:#8ba784}
.contact-section h2{font-size:clamp(34px,3.5vw,50px)}
.contact-section p:not(.eyebrow){max-width:430px;font-size:13px;color:#c1d0c2;line-height:1.9;margin-bottom:0}
.contact-label{display:block;font-size:9px;letter-spacing:.14em;color:#b4ca9e;font-weight:600;margin-bottom:8px}
.email-link,.phone-link{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-bottom:15px;border-bottom:1px solid #4d6b52;font-size:clamp(18px,2.1vw,27px);font-weight:450;line-height:1.5;letter-spacing:-.025em;transition:color .16s}
.email-link{margin-bottom:27px}
.email-link:hover,.phone-link:hover{color:var(--lime)}
.email-link>span,.phone-link>span{font-size:20px;color:var(--lime)}
.contact-details p{font-size:10px!important;margin-top:20px}
.site-footer{display:flex;justify-content:space-between;gap:20px;align-items:center;padding-block:24px;font-size:10px;color:#5a6e56}
.footer-domain{letter-spacing:.04em}
.site-footer a{border-bottom:1px solid transparent}
.site-footer a:hover{border-color:var(--forest)}
@media(min-width:1600px){.hero{gap:90px;padding-top:65px}.hero h1{font-size:88px}}
@media(max-width:1100px){.wrap{width:calc(100% - 64px)}.hero{gap:35px}.hero-actions{gap:18px}h1{font-size:clamp(47px,5.6vw,66px)}.hero-description{font-size:14px}.approach-section,.progress-inner,.contact-inner{gap:48px}.principles summary{font-size:17px}.site-header{padding-block:25px}nav{gap:23px}}
@media(max-width:760px){.wrap{width:calc(100% - 40px)}.review-note{font-size:9px;padding:7px 10px;letter-spacing:.025em}.review-note span{margin-inline:6px}.site-header{align-items:flex-start;flex-wrap:wrap;padding-block:21px 17px;gap:19px}.wordmark{width:145px}.wordmark-name{font-size:24px}.wordmark-sub{font-size:9px;letter-spacing:.28em}nav{width:100%;gap:20px;justify-content:space-between;border-top:1px solid var(--line);padding-top:12px;font-size:11px}.nav-contact{border:none;padding:6px 0}.nav-contact span{margin-left:7px}.hero{grid-template-columns:1fr;gap:36px;padding-block:28px 37px}.hero-copy>.eyebrow{font-size:9px;margin-bottom:21px}.hero h1{font-size:clamp(49px,10vw,72px);line-height:1.02;margin-bottom:23px}.hero h1 br:last-child{display:none}.hero h1>span{display:inline}.hero-description{max-width:470px;font-size:14px;line-height:1.8;margin-bottom:23px}.hero-actions{gap:15px}.button{font-size:11px;padding:13px 17px;gap:22px}.hero-actions .text-link{font-size:10px;gap:6px}.hero-footnote{margin-top:25px;font-size:9px}.hero-footnote span{margin-inline:3px}.brand-art{width:min(100%,480px);justify-self:center;padding:7px 7px 0;transform:rotate(.5deg)}.brand-art figcaption{font-size:9px;padding:11px 4px}.ribbon-inner{gap:8px;font-size:9px;letter-spacing:0;justify-content:space-between;padding-block:16px}.ribbon-separator{font-size:13px}.ribbon-inner>span:not(.ribbon-separator){max-width:125px;text-align:center;line-height:1.5}.approach-section{grid-template-columns:1fr;gap:25px}.section-space{padding-block:55px}.section-number{font-size:9px;margin-bottom:19px}h2{font-size:36px;margin-bottom:20px}.section-intro>p:not(.eyebrow){max-width:none;font-size:13px}.section-intro>p.design-note{font-size:10px}.botanical-note{margin-top:20px}.botanical-note svg{width:150px}.principles{padding-top:0}.principles summary{font-size:17px;gap:15px}.principles details{padding-block:19px}.detail-content{padding-left:30px}.progress-inner{grid-template-columns:1fr;padding-block:53px;gap:35px}.progress-heading>p:not(.eyebrow){font-size:13px}.development-path{padding-top:0}.progress-heading h2 br:last-child{display:none}.contact-inner{grid-template-columns:1fr;padding-block:54px;gap:36px}.contact-section h2{font-size:36px}.contact-section p:not(.eyebrow){font-size:13px}.email-link,.phone-link{font-size:clamp(19px,5.6vw,28px)}.site-footer{flex-wrap:wrap;gap:12px;padding-block:22px;font-size:9px}.footer-domain{display:none}}
@media(max-width:360px){.hero h1{font-size:45px}.hero-actions{align-items:flex-start;flex-direction:column;gap:13px}.ribbon-inner{font-size:8px}.contact-section h2,h2{font-size:33px}.wordmark-name{font-size:22px}nav{gap:10px;font-size:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
@media print{.review-note{background:white;color:black}nav,.hero-actions,.botanical-note{display:none}.wrap{width:100%}.site-header{padding-top:0}.hero,.approach-section,.progress-inner,.contact-inner{gap:25px;padding-block:25px}.hero h1{font-size:42px}.brand-art{max-width:270px;transform:none;justify-self:end}.principle-ribbon{background:white}.progress-section,.contact-section{background:white!important;color:#143d30!important}.contact-section p:not(.eyebrow),.contact-label,.email-link>span,.phone-link>span{color:#143d30!important}.contact-inner{grid-template-columns:1fr 1fr}details{break-inside:avoid}.contact-section{break-inside:avoid}.email-link,.phone-link{font-size:17px}.section-space{padding-block:30px}}
