:root { --ink:#112a23; --green:#103f32; --lime:#c8e37f; --paper:#f4f1e8; --white:#fffdf7; --muted:#6c756f; --line:rgba(17,42,35,.16); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Arial, Helvetica, sans-serif; }
a { color:inherit; text-decoration:none; }
.nav-shell { height:84px; padding:0 5vw; display:flex; align-items:center; justify-content:space-between; background:var(--paper); border-bottom:1px solid var(--line); position:relative; z-index:10; }
.header-brand { display:flex; align-items:center; height:70px; }
.header-logo { display:block; width:220px; height:70px; object-fit:contain; object-position:left center; }
.brand { display:flex; align-items:center; gap:12px; font-size:19px; letter-spacing:-.03em; }
.brand b { font-weight:400; color:#718078; }
.brand-mark { width:38px; height:38px; display:grid; place-items:center; background:var(--green); color:var(--lime); font-size:12px; font-weight:800; letter-spacing:-.04em; }
.nav-links { display:flex; align-items:center; gap:34px; font-size:13px; }
.nav-links>a:not(.nav-cta):hover { opacity:.55; }
.nav-cta,.button { display:inline-flex; align-items:center; justify-content:center; gap:28px; }
.nav-cta { background:var(--green); color:white; padding:13px 18px; }
.nav-cta span,.button span { color:var(--lime); font-size:18px; }
.hero { min-height:690px; display:grid; grid-template-columns:1.22fr .78fr; position:relative; overflow:hidden; background:var(--paper); }
.hero-grid { position:absolute; inset:0 40% 0 0; opacity:.33; background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px); background-size:64px 64px; mask-image:linear-gradient(to bottom,black,transparent 90%); }
.hero-content { padding:110px 5vw 90px; position:relative; z-index:1; }
.eyebrow,.kicker { text-transform:uppercase; letter-spacing:.16em; font-size:11px; font-weight:700; }
.eyebrow { display:flex; align-items:center; gap:10px; margin:0 0 30px; }
.eyebrow span { width:7px; height:7px; border-radius:50%; background:#91b934; box-shadow:0 0 0 4px rgba(145,185,52,.15); }
h1 { font-family:Georgia,'Times New Roman',serif; font-size:clamp(56px,6.5vw,104px); line-height:.93; letter-spacing:-.06em; font-weight:400; margin:0; }
h1 em,h2 em { color:#668434; font-weight:400; }
.hero-lede { max-width:620px; font-size:18px; line-height:1.65; color:#4f6058; margin:34px 0; }
.hero-actions { display:flex; align-items:center; gap:30px; }
.button { min-height:52px; padding:0 20px; font-size:13px; font-weight:700; }
.button.primary { background:var(--green); color:white; }
.text-link { display:inline-flex; gap:18px; font-size:13px; border-bottom:1px solid var(--ink); padding-bottom:5px; }
.hero-panel { background:var(--green); color:white; margin:50px 3vw 50px 0; padding:32px; position:relative; min-height:560px; display:flex; flex-direction:column; justify-content:space-between; overflow:hidden; }
.hero-panel::after { content:""; position:absolute; width:270px; height:270px; border:1px solid rgba(200,227,127,.22); border-radius:50%; top:130px; left:50%; transform:translateX(-50%); }
.panel-code { font:10px monospace; letter-spacing:.12em; color:#aac0b7; }
.panel-copy { border-top:1px solid rgba(255,255,255,.2); padding-top:20px; position:relative; z-index:2; }
.panel-copy p { font:10px monospace; color:var(--lime); letter-spacing:.1em; }
.panel-copy strong { font-family:Georgia,serif; font-size:29px; line-height:1.15; font-weight:400; }
.molecule { position:absolute; inset:110px 50px 150px; }
.node { position:absolute; width:14px; height:14px; border:2px solid var(--lime); border-radius:50%; background:var(--green); z-index:2; }
.n1{left:15%;top:42%}.n2{left:48%;top:15%}.n3{right:8%;top:50%}.n4{left:45%;bottom:8%}
.bond { position:absolute; height:1px; background:rgba(200,227,127,.65); transform-origin:left center; }
.b1{width:44%;left:19%;top:44%;transform:rotate(-38deg)}.b2{width:43%;left:52%;top:20%;transform:rotate(38deg)}.b3{width:45%;left:50%;top:65%;transform:rotate(-37deg)}
.proof-strip { background:var(--white); display:grid; grid-template-columns:repeat(3,1fr); padding:27px 5vw; border-block:1px solid var(--line); }
.proof-strip>div { display:flex; gap:18px; padding:5px 26px; border-right:1px solid var(--line); }
.proof-strip>div:first-child { padding-left:0; }.proof-strip>div:last-child { border:0; }
.proof-strip span,.service-num { font:10px monospace; color:#839087; }
.proof-strip p { margin:0; font-size:12px; line-height:1.55; color:#6d7872; }.proof-strip b{color:var(--ink)}
.section { padding:110px 5vw; }
.services { display:grid; grid-template-columns:.72fr 1.28fr; gap:8vw; }
.kicker { color:#6d7872; margin:0 0 18px; }
h2 { font-family:Georgia,serif; font-weight:400; font-size:clamp(40px,4vw,64px); line-height:1; letter-spacing:-.05em; margin:0; }
.section-intro>p:last-child { max-width:430px; color:#637068; font-size:15px; line-height:1.7; margin-top:26px; }
.service-list { border-top:1px solid var(--ink); }
.service-card { display:grid; grid-template-columns:50px 1fr auto; gap:18px; padding:29px 0; border-bottom:1px solid var(--line); align-items:start; }
.service-card h3 { margin:0 0 9px; font:400 25px/1.15 Georgia,serif; }
.service-card p { margin:0; max-width:560px; color:#69756f; font-size:14px; line-height:1.55; }
.service-card>span:last-child { font-size:18px; transition:transform .2s; }.service-card:hover>span:last-child{transform:translate(4px,-4px)}
.service-card.featured { background:var(--green); color:white; padding:29px; margin:0 -29px; border:0; }.featured p{color:#bdc9c3}.featured .service-num{color:var(--lime)}
.approach { background:var(--green); color:white; display:grid; grid-template-columns:.8fr 1.2fr; gap:8vw; }
.kicker.light { color:#9bb4aa; }
.approach h2 em,.contact h2 em { color:var(--lime); }
.approach-head>p:last-child { max-width:520px; color:#b9c8c2; font-size:15px; line-height:1.7; margin-top:28px; }
.steps { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid rgba(255,255,255,.22); align-self:end; }
.steps article { padding:30px 24px 0 0; border-right:1px solid rgba(255,255,255,.15); min-height:240px; margin-right:24px; }
.steps article:last-child { border:0; margin:0; }
.steps span { font:10px monospace; color:var(--lime); }.steps h3{font:400 29px Georgia,serif;margin:54px 0 12px}.steps p{color:#afc0b9;font-size:13px;line-height:1.6;margin:0}
.expertise { display:grid; grid-template-columns:.35fr 1.65fr; gap:7vw; border-bottom:1px solid var(--line); }
.expertise-label { display:flex; flex-direction:column; min-height:560px; }.vertical-rule{width:1px;background:var(--line);flex:1;margin:28px 0 24px 5px}.expertise-label small{font:9px/1.7 monospace;letter-spacing:.1em;color:#849088}
.statement { margin:0; max-width:970px; font:400 clamp(37px,4.25vw,67px)/1.05 Georgia,serif; letter-spacing:-.045em; }.statement em{color:#708f39}
.audience-grid { display:grid; grid-template-columns:1fr 1fr; margin-top:80px; border-top:1px solid var(--ink); }
.audience-grid>div { display:grid; grid-template-columns:34px 1fr; column-gap:12px; padding:24px 22px 28px 0; border-bottom:1px solid var(--line); }
.audience-grid>div:nth-child(odd){border-right:1px solid var(--line)}.audience-grid>div:nth-child(even){padding-left:22px}
.audience-grid span{grid-row:1/3;font:10px monospace;color:#849088}.audience-grid strong{font:400 18px Georgia,serif}.audience-grid p{font-size:12px;color:#748079;line-height:1.5;margin:8px 0 0}
.focus-band { background:#1b342c; color:white; display:grid; grid-template-columns:1fr 1fr; gap:7vw; padding:85px 5vw; }
.focus-quote { max-width:800px; font:400 clamp(30px,3vw,49px)/1.12 Georgia,serif; letter-spacing:-.035em; margin:26px 0 0; }.focus-quote em{color:var(--lime)}
.focus-tags { display:flex; align-content:center; justify-content:flex-start; flex-wrap:wrap; gap:9px; padding-top:35px; }.focus-tags span{border:1px solid rgba(255,255,255,.22);border-radius:100px;padding:11px 17px;font:11px monospace;color:#c2d0ca}
.insights { display:grid; grid-template-columns:.7fr 1.3fr; gap:8vw; }.insights-intro{position:sticky;top:40px;align-self:start}.insight-list{border-top:1px solid var(--ink)}
.insight-list article{padding:32px 0 35px;border-bottom:1px solid var(--line)}.insight-list article>span{font:9px monospace;letter-spacing:.1em;color:#7b8a82}.insight-list h3{font:400 29px/1.2 Georgia,serif;margin:16px 0 10px;max-width:620px}.insight-list p{font-size:13px;line-height:1.6;color:#748078;max-width:560px}.insight-list a{display:inline-flex;gap:20px;margin-top:18px;font-size:12px;border-bottom:1px solid var(--ink);padding-bottom:5px}
.all-insights-link{display:inline-flex!important;gap:20px;margin-top:34px!important;font-weight:700}
.insights-hero{padding:105px 10vw 95px;background:var(--green);color:white;position:relative;overflow:hidden}.insights-hero::after{content:"RI";position:absolute;right:3vw;bottom:-.22em;font:400 250px/1 Georgia,serif;color:rgba(200,227,127,.055);letter-spacing:-.08em}.insights-hero .eyebrow{color:#b7c8c1}.insights-hero .eyebrow span{background:var(--lime)}.insights-hero h1{max-width:1120px;font-size:clamp(58px,7.2vw,108px)}.insights-hero h1 em{color:var(--lime)}.insights-hero>p:last-child{max-width:690px;color:#c2d0ca;font-size:17px;line-height:1.7;margin:36px 0 0;position:relative;z-index:1}
.insights-library{padding:105px 10vw 120px;display:grid;grid-template-columns:.65fr 1.35fr;gap:7vw}.library-heading{align-self:start;position:sticky;top:40px}.library-list{border-top:1px solid var(--ink)}.library-list article{padding:36px 0 40px;border-bottom:1px solid var(--line)}.library-list article>div{display:flex;gap:24px;font:9px monospace;letter-spacing:.1em;color:#7b8a82}.library-list article>div span:first-child{color:#668434}.library-list h3{font:400 clamp(29px,3vw,43px)/1.1 Georgia,serif;letter-spacing:-.025em;max-width:760px;margin:20px 0 15px}.library-list p{color:#66736c;font-size:14px;line-height:1.7;max-width:680px}.library-list a{display:inline-flex;gap:20px;margin-top:18px;font-size:12px;font-weight:700;border-bottom:1px solid var(--ink);padding-bottom:5px}
.insights-note{padding:70px 10vw;background:#1b342c;color:white;display:grid;grid-template-columns:.4fr 1.6fr;gap:7vw;align-items:start}.insights-note>span{font:9px monospace;letter-spacing:.14em;color:var(--lime)}.insights-note p{font:400 clamp(28px,3.3vw,51px)/1.12 Georgia,serif;letter-spacing:-.035em;margin:0;max-width:950px}.insights-note em{color:var(--lime)}
.article-hero{padding:80px 0 70px;width:min(70vw,1080px);margin:auto}.article-breadcrumb{display:flex;gap:10px;color:#738078;font:10px monospace;letter-spacing:.06em;text-transform:uppercase;margin-bottom:55px}.article-breadcrumb a{border-bottom:1px solid #9aa39e}.article-hero .kicker{color:#668434}.article-hero h1{font-size:clamp(48px,6.1vw,88px);line-height:.96;max-width:1080px}.article-dek{max-width:800px;font:400 22px/1.55 Georgia,serif;color:#52635a;margin:34px 0 42px}.article-byline{font:9px monospace;letter-spacing:.12em;color:#849088;margin:0}.article-rule{height:1px;background:var(--ink);margin:0 10vw}
.article-body{max-width:880px;margin:0 auto;padding:85px 5vw 100px}.article-body section{margin:0 0 70px}.article-body p{font-size:16px;line-height:1.85;color:#465850;margin:0 0 22px}.article-body .article-lead{font:400 25px/1.55 Georgia,serif;color:var(--ink);letter-spacing:-.01em}.article-section-num{display:block;font:10px monospace;color:#668434;margin-bottom:13px}.article-body h2{font-size:clamp(34px,4vw,50px);line-height:1.05;margin:0 0 26px}.article-body blockquote{margin:78px -7vw;padding:48px 4vw;border-block:1px solid var(--line);font:400 clamp(28px,3.3vw,43px)/1.25 Georgia,serif;color:var(--green);letter-spacing:-.025em}.article-disclaimer{border-top:1px solid var(--line);padding-top:24px;font-size:11px!important;color:#7b8780!important}
.article-cta{padding:90px 10vw;background:#0d2f27;color:white;display:grid;grid-template-columns:1.15fr .85fr;gap:7vw;align-items:end}.article-cta h2 em{color:var(--lime)}.article-cta>div:last-child p{color:#bac8c2;font-size:15px;line-height:1.7;max-width:520px;margin:0 0 28px}
.contact { padding:100px 5vw; background:#0d2f27; color:white; display:grid; grid-template-columns:1.2fr .8fr; gap:8vw; align-items:end; }.contact-side{padding-bottom:5px}.contact-side p{color:#bac8c2;font-size:15px;line-height:1.7;max-width:520px;margin:0 0 30px}.button.lime{background:var(--lime);color:var(--ink);width:max-content}.button.lime span{color:var(--ink)}.contact-email{display:block;width:max-content;margin-top:18px;color:#c5d3cd;font-size:12px;border-bottom:1px solid rgba(255,255,255,.35);padding-bottom:3px}
footer { background:#0a211c; color:white; padding:50px 5vw 35px; display:grid; grid-template-columns:1fr auto; gap:40px; align-items:start; }.footer-logo-link{display:block;width:max-content;background:var(--paper)}.footer-logo{display:block;width:220px;height:70px;object-fit:contain}footer>div{display:flex;flex-direction:column;gap:10px;font-size:11px;min-width:110px}footer small{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.1);padding-top:25px;margin-top:25px;color:#62776f;font-size:10px}
@media (max-width:900px){.nav-links>a:not(.nav-cta){display:none}.hero{grid-template-columns:1fr}.hero-content{padding-top:80px}.hero-panel{margin:0 5vw 60px;min-height:410px}.hero-grid{inset:0}.services,.approach,.expertise,.insights,.contact,.insights-library,.article-cta{grid-template-columns:1fr;gap:60px}.proof-strip{grid-template-columns:1fr}.proof-strip>div{border-right:0;border-bottom:1px solid var(--line);padding:14px 0}.proof-strip>div:last-child{border-bottom:0}.expertise-label{min-height:auto}.vertical-rule{height:80px;flex:none}.focus-band{grid-template-columns:1fr}.insights-intro,.library-heading{position:static}.steps{margin-top:20px}.contact{gap:35px}.insights-note{grid-template-columns:1fr;gap:25px}.article-body blockquote{margin-inline:0}}
@media (max-width:560px){.nav-shell{height:72px}.header-brand{height:58px}.header-logo{width:185px;height:58px}.brand b{display:none}.nav-cta{font-size:0;gap:0;width:44px;height:44px;padding:0}.nav-cta span{font-size:18px}.hero-content{padding:66px 6vw}.hero-lede{font-size:16px}.hero-actions{align-items:flex-start;flex-direction:column}.hero-panel{margin:0 6vw 40px}.section{padding:80px 6vw}.featured{margin:0 -18px;padding:24px 18px}.service-card{grid-template-columns:36px 1fr auto}.service-card h3{font-size:21px}.steps{grid-template-columns:1fr}.steps article{min-height:auto;padding:24px 0;border-right:0;border-bottom:1px solid rgba(255,255,255,.15);margin:0}.steps h3{margin:18px 0 8px}.audience-grid{grid-template-columns:1fr;margin-top:50px}.audience-grid>div:nth-child(odd){border-right:0}.audience-grid>div:nth-child(even){padding-left:0}.focus-band{padding:70px 6vw}.contact{padding:80px 6vw}.insights-hero{padding:70px 6vw}.insights-library{padding:75px 6vw}.insights-note{padding:60px 6vw}.article-hero{padding:58px 6vw 55px;width:auto;margin:0}.article-breadcrumb{margin-bottom:38px}.article-dek{font-size:19px}.article-body{padding:65px 6vw}.article-body .article-lead{font-size:22px}.article-body blockquote{padding:36px 0}.article-cta{padding:70px 6vw}footer{grid-template-columns:1fr}.footer-logo{width:185px;height:58px}footer small{grid-column:1}}
