:root{--ink:#164c5a;--deep:#093f4d;--teal:#248b80;--mint:#eaf2ed;--paper:#fcfcf9;--gold:#b8994d;--line:#d9e1dd;--muted:#536b71}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 'DM Sans',sans-serif}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a,input,textarea{outline-offset:5px}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--teal)}header{height:100px;padding:0 5.5%;display:flex;align-items:center;justify-content:space-between;gap:30px;border-bottom:1px solid var(--line);background:rgba(252,252,249,.97);position:sticky;top:0;z-index:20}.brand img{display:block;width:224px;height:auto}nav{display:flex;gap:34px;font-size:14px}nav a:hover,.text-link:hover{color:var(--teal)}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:38px;background:var(--ink);color:white;padding:17px 24px;border:1px solid var(--ink);border-radius:3px;font-size:15px;font-weight:500;cursor:pointer;transition:background .2s,transform .2s}.button:hover{background:var(--teal);border-color:var(--teal);transform:translateY(-2px)}.button span{font-size:22px;line-height:1}.small{padding:11px 20px;font-size:14px;gap:30px}.hero{position:relative;overflow:hidden;min-height:690px;padding:74px 5.5% 0}.hero-copy{position:relative;z-index:2;width:69%;max-width:850px}.eyebrow{font-size:12px;letter-spacing:.18em;font-weight:600;margin:0 0 30px}.sep{color:var(--gold);margin:0 14px}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3,h4{font-family:'League Spartan','DM Sans',sans-serif;font-weight:500;line-height:1.05;letter-spacing:-.035em}h1{font-size:clamp(50px,6.5vw,94px);margin:0 0 28px;max-width:830px}h1 span,h2 span{color:var(--teal)}.lead{color:var(--muted);font-size:18px;line-height:1.7}.hero-actions{display:flex;align-items:center;gap:30px;margin:34px 0 66px}.text-link{font-size:14px;border-bottom:1px solid var(--gold);padding:8px 0}.text-link span{margin-left:14px}.hero-art{position:absolute;right:0;top:0;height:100%;width:34%;background:#e6eeea;overflow:hidden;border-bottom-left-radius:100% 70%}.arc{position:absolute;width:730px;height:1050px;border:1px solid #b9cec3;border-radius:50%;top:-330px;left:-360px;transform:rotate(-28deg)}.a1{border-width:50px;border-color:#d1e2d9}.a2{left:-312px;top:-310px;border-width:27px;border-color:#a7cbbd}.a3{left:-277px;top:-281px;border-color:var(--gold)}.art-copy{position:absolute;right:13%;top:37%;font-family:'League Spartan',sans-serif;font-size:clamp(28px,3vw,46px);line-height:1.25;letter-spacing:-.03em}.art-copy em{font-style:normal;color:var(--teal)}.art-foot{position:absolute;right:13%;bottom:100px;font-size:11px;letter-spacing:.16em}.hero-bottom{position:relative;z-index:2;display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding:23px 0;color:var(--muted);font-size:12px}.hero-bottom span:last-child{letter-spacing:.1em}.section{padding:100px 8%;max-width:1600px;margin:auto}h2{font-size:clamp(38px,4vw,60px);margin-bottom:30px}h3{font-size:30px;margin-bottom:14px}p{color:var(--muted)}.split{display:grid;grid-template-columns:1.1fr 1fr;gap:12%}.intro{padding-top:105px;padding-bottom:105px}.intro h2{max-width:580px}.intro .split>div{padding-top:4px}.intro h3{font-size:27px;margin-top:24px}.skip{position:fixed;left:20px;top:-100px;z-index:40;background:white;padding:12px}.skip:focus{top:10px}footer{border-top:1px solid var(--line);padding:36px 5.5%;display:flex;align-items:center;justify-content:space-between;gap:24px;font-size:12px}footer img{width:180px;height:auto}@media(min-width:1600px){.hero{padding-left:max(5.5%,calc((100vw - 1400px)/2))}}@media(max-width:900px){header{padding:0 5%;height:82px}.brand img{width:190px}nav{gap:20px}.hero{padding:60px 6% 0;min-height:640px}.hero-copy{width:80%}.hero-art{width:27%;opacity:.6}.art-copy,.art-foot{display:none}.hero-bottom{margin-top:40px}.split{gap:7%}.section{padding:75px 6%}}@media(max-width:650px){header{height:76px;gap:16px}.brand img{width:170px}nav{display:none}.small{padding:9px 12px;gap:12px}.hero{padding:44px 6% 0;min-height:auto}.hero-copy{width:100%}h1{font-size:55px;line-height:1.02;max-width:510px}.hero-art{width:16%;opacity:.3;pointer-events:none}.lead{font-size:16px}.hero-actions{align-items:flex-start;flex-direction:column;gap:12px;margin-bottom:36px}.hero-bottom{margin-top:0;font-size:11px;flex-direction:column;gap:6px}.section{padding:62px 6%}.split{grid-template-columns:1fr;gap:12px}.eyebrow{font-size:11px;margin-bottom:24px}h2{font-size:42px}footer{flex-wrap:wrap;align-items:flex-start}footer span{width:100%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
.needs{background:#eff3ef;max-width:none}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px}.section-heading>p{font-size:15px;margin-bottom:36px}.needs-list{margin-top:24px}.needs details{border-top:1px solid #c9d7cf}.needs details:last-child{border-bottom:1px solid #c9d7cf}summary{display:flex;align-items:center;gap:26px;padding:25px 0;cursor:pointer;list-style:none;font-family:'League Spartan',sans-serif;font-size:28px;line-height:1.15;letter-spacing:-.02em}summary::-webkit-details-marker{display:none}.num{font:12px 'DM Sans',sans-serif;color:var(--teal);flex:0 0 30px}.toggle{margin-left:auto;position:relative;flex:0 0 28px;height:28px;border:1px solid #a6bcb4;border-radius:50%}.toggle:before,.toggle:after{content:'';position:absolute;width:10px;height:1px;background:var(--ink);top:13px;left:8px}.toggle:after{transform:rotate(90deg)}details[open] .toggle:after{transform:rotate(0)}details[open] summary{color:var(--teal)}.answer{padding:0 56px 30px;max-width:850px}.answer p{margin-bottom:12px}.expertise h2{margin-bottom:54px}.pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}.pillars article{border-top:2px solid var(--teal);padding-top:25px}.pillar-number{display:block;font-size:11px;letter-spacing:.075em;min-height:55px;font-weight:600}.pillars h3{font-size:33px;line-height:1.05}.pillars p{font-size:15px;margin-bottom:0}.partner{background:var(--deep);color:#fff;position:relative;overflow:hidden}.partner .eyebrow{color:#b8d9ce}.partner h2{font-size:clamp(46px,5vw,72px)}.partner h2 span{color:#86cbbb}.partner-lead{color:#c4d5d7;font-size:19px;max-width:430px}.connected>div{display:flex;gap:24px;border-bottom:1px solid #32616b;padding:0 0 19px;margin-bottom:22px}.connected>div>span{font-size:12px;color:#cdb46d;padding-top:7px}.connected p{color:#b5cdd0;margin:0;font-size:18px}.connected strong{font-weight:500;color:white}.whole{border-top:1px solid #32616b;padding-top:34px;margin:32px 0 0;color:#fff;font-family:'League Spartan',sans-serif;font-size:35px;letter-spacing:-.03em}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:60px;margin-top:50px}.steps article{border-top:1px solid var(--line);padding-top:25px}.steps article>span{display:block;color:var(--teal);font-size:16px;margin-bottom:28px}.steps h3{font-size:32px}.principle{border-top:1px solid var(--line);padding-top:36px;margin-top:46px;font-family:'League Spartan',sans-serif;font-size:36px;letter-spacing:-.03em}.principle span{color:var(--teal);margin-left:10px}.custom{background:#edf2ed;max-width:none}.example-options{display:flex;flex-wrap:wrap;gap:10px;max-width:490px;margin-top:30px}.example-options button{border:1px solid #b6c8bd;background:transparent;color:var(--ink);border-radius:30px;padding:11px 17px;font-size:14px;cursor:pointer;transition:.2s}.example-options button:hover{border-color:var(--teal)}.example-options button[aria-pressed=true]{background:var(--ink);color:#fff;border-color:var(--ink)}.example-panel{background:var(--paper);padding:38px 40px;border-top:3px solid var(--teal);position:relative;min-height:430px}.example-panel .eyebrow{font-size:11px;letter-spacing:.1em}.example-index{position:absolute;right:36px;top:40px;font-size:11px;color:var(--muted)}.example-panel h3{font-size:40px;max-width:360px}.example-panel>p:not(.eyebrow){font-size:16px}.example-result{border-top:1px solid var(--line);padding-top:20px;margin-top:24px}.example-result>span{font-size:10px;letter-spacing:.13em;color:var(--teal);font-weight:600}.example-result p{font-size:19px;line-height:1.45;margin-top:10px;color:var(--ink)}.custom-close{margin-top:55px;text-align:center}.custom-close h3{font-size:32px}.custom-close p{margin-bottom:0}.custom-close strong{color:var(--ink);font-weight:600}.people .split{grid-template-columns:1fr 1.1fr;gap:8%}.people-copy>p{max-width:480px}.local-note{border-left:2px solid var(--gold);padding-left:20px;margin:35px 0 20px}.local-note>span{font-size:11px;letter-spacing:.16em}.local-note p{margin-top:8px;color:var(--ink)}.local-note strong{font-weight:600}.portraits{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start;padding-top:20px}.portraits figure{margin:0}.portraits figure:nth-child(2){margin-top:62px}.portraits img{width:100%;height:300px;object-fit:cover;object-position:center 25%;border-radius:2px}.portraits figure:nth-child(2) img{object-position:52% center}.portraits figcaption{padding-top:12px;line-height:1.4}.portraits figcaption strong{font-weight:600;font-size:16px;display:block}.portraits figcaption span{font-size:12px;color:var(--muted)}.portrait-caption{grid-column:1/-1;letter-spacing:.02em;font-size:13px;border-top:1px solid var(--line);padding-top:20px;margin-top:10px}.portrait-caption strong{color:var(--teal)}.contact{background:#e6efea;border-top:1px solid #d4e0d8}.contact .section{gap:9%;grid-template-columns:1fr 1fr}.contact h2{font-size:clamp(46px,4.7vw,70px)}.contact-signoff{margin-top:46px;font-family:'League Spartan',sans-serif;font-size:25px;line-height:1.25;color:var(--teal)}form{padding-top:10px}label{display:block;font-size:13px;font-weight:500;color:var(--ink);margin-bottom:20px}label>span{font-size:11px;font-weight:400;color:var(--muted)}input,textarea{display:block;width:100%;border:0;border-bottom:1px solid #9bb6a7;background:rgba(255,255,255,.48);padding:13px 12px;color:var(--ink);margin-top:8px;border-radius:0}textarea{resize:vertical;min-height:120px;font-size:15px}input:focus,textarea:focus{background:white}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.field-hint{font-size:11px;color:var(--muted);display:block;margin-top:-13px;margin-bottom:23px}.form-note{font-size:11px;margin-top:16px;max-width:380px;line-height:1.6}.form-feedback{background:white;border-left:3px solid var(--teal);padding:20px;margin-top:20px}.form-feedback p{font-size:14px;margin:10px 0}.form-feedback button{background:none;border:0;border-bottom:1px solid var(--teal);padding:0;color:var(--ink);cursor:pointer;font-size:14px}@media(max-width:1050px){.pillars{grid-template-columns:1fr 1fr;gap:40px}.pillar-number{min-height:38px}.steps{gap:30px}.portraits img{height:240px}.example-panel{padding:30px}.example-index{right:25px;top:32px}}@media(max-width:650px){.section-heading{display:block}.section-heading>p{margin-bottom:22px}.section-heading h2 br{display:none}summary{font-size:24px;gap:12px;padding:22px 0}.num{flex-basis:20px;font-size:11px}.answer{padding:0 0 24px 32px;font-size:15px}.pillars{gap:32px 22px}.pillars h3{font-size:28px}.pillars p{font-size:14px}.pillar-number{font-size:10px;min-height:43px}.partner .split{gap:34px}.partner h2{font-size:51px}.partner-lead{font-size:17px}.connected p{font-size:16px}.whole{font-size:29px}.steps{grid-template-columns:1fr;gap:22px;margin-top:30px}.steps article{display:grid;grid-template-columns:40px 1fr;column-gap:12px}.steps h3{font-size:30px}.steps article>span{grid-row:1/3;margin-top:3px}.steps p{grid-column:2;margin-bottom:0}.principle{font-size:29px}.principle span{display:block;margin:6px 0 0}.custom .split{gap:34px}.example-panel{min-height:420px;padding:28px}.example-panel h3{font-size:35px}.example-options button{font-size:13px;padding:10px 14px}.custom-close{text-align:left;margin-top:35px}.custom-close h3{font-size:29px}.people .split{grid-template-columns:1fr;gap:20px}.portraits{gap:16px}.portraits img{height:250px}.portraits figure:nth-child(2){margin-top:35px}.contact .section{grid-template-columns:1fr;gap:32px}.contact h2{font-size:51px}.contact-signoff{display:none}.form-row{gap:12px}.contact form{padding-top:0}.contact .button{width:100%}}@media(max-width:360px){h1{font-size:48px}.brand img{width:145px}.portraits img{height:210px}.pillars{grid-template-columns:1fr}}
