:root{--ink:#063c2c;--muted:#476358;--paper:#f8faf4;--lime:#b7ec6d;--line:#d6e5d7}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.6}
a{color:inherit;text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:5px}
button,a{-webkit-tap-highlight-color:transparent}
a:focus-visible,button:focus-visible{outline:3px solid #9a5c15;outline-offset:5px}
.wrap{width:min(1160px,calc(100% - 64px));margin-inline:auto}
.site-header{display:flex;align-items:center;justify-content:space-between;min-height:110px;border-bottom:1px solid var(--line);gap:24px}
.brand{font-weight:700;font-size:27px;letter-spacing:-1.2px;line-height:1.1;display:flex;align-items:center;gap:12px}
.brand small{display:block;font-size:9px;letter-spacing:2.5px;font-weight:500;margin-top:8px}
.brand-mark{display:flex;position:relative;align-items:center;justify-content:center;width:52px;height:52px;flex:0 0 52px;border-radius:50%;background:#06442f;color:#fff;font-size:43px;font-style:italic;letter-spacing:-5px;padding-right:9px;line-height:1;overflow:hidden}
.brand-mark span{position:absolute;right:2px;bottom:2px;transform:rotate(-10deg);color:var(--lime);font-size:20px}
.brand-mark .arrow-icon{display:inline-block;vertical-align:middle;color:var(--lime);width:24px;height:24px;stroke-width:2.2}
nav{display:flex;gap:34px;font-size:14px}nav a{padding:10px 0}nav a[aria-current]{border-bottom:2px solid var(--ink);font-weight:bold}
.menu-toggle{background:transparent;border:1px solid var(--line);padding:9px 14px;color:var(--ink);font:inherit}
.hero{display:grid;grid-template-columns:1.3fr 1fr;gap:64px;align-items:center;padding-block:80px 88px}
.eyebrow{text-transform:uppercase;letter-spacing:2px;font-size:11px;font-weight:700;margin:0 0 24px}
h1{font-size:clamp(42px,4.5vw,65px);letter-spacing:-3px;line-height:1.08;font-weight:500;margin:0 0 28px}
em{font-family:Georgia,serif;font-weight:400}p{color:var(--muted)}.lead{font-size:17px;line-height:1.8;max-width:640px}
.actions{display:flex;align-items:center;gap:26px;flex-wrap:wrap;margin-top:32px}
.button{background:var(--ink);color:white;display:inline-flex;align-items:center;justify-content:center;gap:24px;padding:15px 23px;font-size:13px;border-radius:4px}
.button:hover{background:#28564d;text-decoration:none}.text-link{font-size:13px;font-weight:600}
.small-note{font-size:12px;margin-top:25px;max-width:570px}
.bridge-art{position:relative;min-height:430px;background:var(--lime);overflow:hidden;border-radius:180px 180px 6px 6px}
.art-label{position:absolute;top:54px;width:100%;text-align:center;font-size:10px;letter-spacing:2px}
.orb{width:155px;height:155px;position:absolute;top:115px;left:calc(50% - 77px);border-radius:50%;background:#f4f6ce}
.bridge-line{position:absolute;width:140%;height:200px;border:2px solid var(--ink);border-radius:50%;left:-20%;transform:rotate(-27deg);top:190px}
.line-two{top:215px}.line-three{top:240px}
.art-bottom{position:absolute;bottom:25px;left:30px;right:30px;display:flex;justify-content:space-between;align-items:end;font-size:15px;line-height:1.3}
.art-arrow{font-size:56px}
.section{padding-block:65px}.soft{background:#f0f2e8}
.section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:32px}
h2{font-size:34px;line-height:1.2;font-weight:500;letter-spacing:-1px;margin:0 0 22px}
h3{font-size:21px;line-height:1.3;font-weight:500;letter-spacing:-.4px}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:35px}
.cards article{border-top:1px solid #bfcab6;padding:26px 12px 0 0}
.card-number{font-size:10px;letter-spacing:1.6px}.cards p{font-size:14px;max-width:310px}
.section-note{margin-top:30px;font-size:13px;color:var(--muted);max-width:740px}
.page-intro{padding-block:75px 45px}.page-intro h1{max-width:900px}
.service-list article{display:grid;grid-template-columns:100px 1fr;border-top:1px solid var(--line);padding-block:36px}
.service-list article>div{max-width:700px}.service-list ul{padding-left:20px;color:var(--muted);font-size:14px}
.service-list strong{color:var(--ink)}
.service-status{display:inline-block;border:1px solid #8aa789;border-radius:50px;padding:6px 11px;font-size:10px;letter-spacing:.06em;color:var(--ink);font-weight:700}
.callout{margin-block:40px 75px;background:var(--lime);padding:35px;display:flex;align-items:center;justify-content:space-between;gap:30px}
.callout p{max-width:600px}
.story{display:grid;grid-template-columns:1fr 1fr;gap:70px;padding-block:20px 80px}
.story-panel{background:var(--lime);padding:45px;display:flex;flex-direction:column;justify-content:center}
.story-panel h2{font-family:Georgia,serif;font-size:42px;line-height:1.3}
.contact-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:70px;padding-block:10px 85px}
.contact-panel{background:#edf1e3;padding:40px}.contact-panel .eyebrow{margin-top:20px}
.status-dot{display:block;width:12px;height:12px;border-radius:100%;background:#647c36}
.contact-list{margin:24px 0}.contact-list div{padding:14px 0;border-bottom:1px solid var(--line)}
.contact-list dt{text-transform:uppercase;letter-spacing:.1em;font-size:10px;font-weight:700;color:var(--muted)}
.contact-list dd{margin:5px 0 0;color:var(--ink);font-size:18px;font-weight:600;overflow-wrap:anywhere}
.contact-details ol{padding-left:23px}.contact-details li{padding-left:12px}.contact-details h3{margin-bottom:0}.contact-details li p{margin-top:7px}
.privacy-note{border-top:1px solid var(--line);padding-top:20px;font-size:13px}
footer{background:var(--ink);color:#f3f5e7;padding-block:40px 20px}
.footer-top{display:flex;justify-content:space-between;align-items:center;gap:30px;padding-bottom:35px}.footer-top .brand{display:block}
.footer-top p{font-size:14px;color:#d0dbcd}.footer-status{color:var(--lime);font-size:10px;letter-spacing:2px}
.footer-bottom{border-top:1px solid #47625b;padding-top:17px;display:flex;justify-content:space-between;gap:20px}
.footer-bottom p{color:#c5d1c6;font-size:10px}
.skip-link{position:fixed;top:-100px;left:10px;padding:12px;background:white;z-index:10}.skip-link:focus{top:10px}
@media(min-width:701px){.menu-toggle{display:none}}
@media(max-width:900px){.hero{gap:30px}.bridge-art{min-height:390px}h1{letter-spacing:-2px}.story,.contact-grid{gap:35px}}
@media(max-width:700px){
 .wrap{width:calc(100% - 40px)}.site-header{min-height:95px;flex-wrap:wrap;padding-block:22px;gap:20px}
 .brand{font-size:24px}nav{width:100%;justify-content:space-between;gap:15px}nav[data-collapsed="true"]{display:none}
 .hero{grid-template-columns:1fr;padding-block:45px;gap:35px}.bridge-art{min-height:360px;max-width:430px;width:100%;margin:auto}.art-label{top:40px}
 .hero h1{font-size:clamp(35px,10vw,48px)}.section{padding-block:45px}.section-heading{align-items:start;flex-direction:column}
 .cards{grid-template-columns:1fr;gap:15px}.cards p{max-width:none}.cards article{padding-top:20px}.cards h3{margin-block:12px}
 .page-intro{padding-block:45px 25px}.story,.contact-grid{grid-template-columns:1fr;padding-bottom:45px}.story-panel{padding:30px}
 .service-list article{grid-template-columns:35px 1fr;gap:12px}.service-list h2{font-size:28px}
 .service-status{max-width:100%;line-height:1.4}.callout{width:calc(100% - 40px);padding:25px;flex-direction:column;align-items:start;margin-bottom:45px}
 .contact-panel{padding:30px}.contact-list dd{font-size:16px}.footer-top{flex-wrap:wrap}.footer-bottom{flex-direction:column;gap:0}.footer-bottom p{margin-block:4px}h2{font-size:30px}
 .brand-mark{width:45px;height:45px;flex-basis:45px;font-size:38px}
}
@media(prefers-reduced-motion:no-preference){a,button{transition:background-color .15s,color .15s}}
