@charset "UTF-8";
:root{--ink:#142b3b;--paper:#f7f6f2;--navy:#102b3d;--accent:#c7a46a;--muted:#52616a;--line:#d4d8d8;--white:#fff;--serif:Georgia,'Times New Roman',serif;--sans:'Segoe UI',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:1rem/1.7 var(--sans)}a{color:inherit;text-underline-offset:.25em}a:hover{text-decoration-thickness:2px}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #a77931;outline-offset:5px}p{margin:0 0 1.3rem}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.12;margin:0 0 1.4rem}h1{font-size:clamp(2.6rem,5.3vw,5.5rem);letter-spacing:-.035em}h2{font-size:clamp(2rem,3.6vw,3.5rem);letter-spacing:-.025em}h3{font-size:1.6rem}ul{padding-left:1.25rem}.wrap{width:min(1180px,calc(100% - 96px));margin:auto}.skip{position:absolute;left:1rem;top:-100px;background:var(--white);padding:1rem;z-index:9}.skip:focus{top:1rem}header{background:var(--paper);border-bottom:1px solid var(--line)}.header-inner{min-height:105px;display:flex;align-items:center;justify-content:space-between;gap:30px}.wordmark{text-decoration:none;line-height:1.05}.wordmark strong{display:block;font-family:var(--serif);font-weight:400;letter-spacing:.05em;font-size:1.65rem}.wordmark span{font-size:.75rem;letter-spacing:.28em;display:block;margin-top:9px}.nav{display:flex;align-items:center;gap:32px;flex-wrap:wrap}.nav a{font-size:.9rem;text-decoration:none;padding:10px 0}.nav a[aria-current=page]{border-bottom:2px solid #8b682f}.nav .nav-contact{border:1px solid var(--ink);padding:10px 20px}.eyebrow{font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;font-weight:600;margin-bottom:1.5rem}.hero{padding:90px 0 86px}.hero-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:85px;align-items:center}.hero h1{max-width:760px}.hero .intro{font-size:1.13rem;max-width:650px;color:var(--muted)}.actions{display:flex;gap:15px;flex-wrap:wrap;margin:32px 0}.button{display:inline-block;text-decoration:none;padding:13px 23px;border:1px solid var(--navy);font-size:.93rem;min-height:48px}.button.primary{background:var(--navy);color:var(--white)}.button:hover{background:#27485a;color:var(--white)}.note{font-size:.86rem;color:var(--muted)}.diagram{background:var(--navy);color:var(--white);padding:38px;position:relative}.diagram .eyebrow{color:#e0c38f}.diagram h2{font-size:2.25rem;line-height:1.25}.growth-path{margin-top:38px}.growth-step{display:grid;grid-template-columns:35px 1fr;gap:16px;padding:20px 0;border-top:1px solid #456071}.growth-step .num{color:#e0c38f;font-family:var(--serif);font-size:1.4rem}.growth-step strong{font-weight:500}.growth-step small{display:block;color:#d4dde3;font-size:.89rem}.diagram-footer{border-top:1px solid #456071;padding-top:22px;font-size:.85rem;color:#d4dde3}.ribbon{border-block:1px solid var(--line);padding:22px 0}.ribbon .wrap{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap;font-size:.85rem}.ribbon b{font-weight:500}.section{padding:80px 0}.section-head{display:grid;grid-template-columns:1fr 1fr;gap:70px;margin-bottom:36px}.section-head p{color:var(--muted);max-width:520px;padding-top:10px}.three{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}.problem{border-top:1px solid var(--line);padding-top:25px}.problem p{color:var(--muted)}.marker{color:#80602d;font-size:.8rem;letter-spacing:.12em;margin-bottom:25px}.dark{background:var(--navy);color:var(--white)}.dark .eyebrow{color:#e0c38f}.dark p{color:#d4dde3}.dark .button{border-color:#e0c38f;color:var(--navy);background:#e0c38f}.service-teaser{padding:24px 0;border-top:1px solid #456071}.service-teaser h3{font-size:1.55rem;margin-bottom:12px}.plain-link{display:inline-block;margin-top:18px}.split{display:grid;grid-template-columns:1fr 1fr;gap:90px}.principle-list{counter-reset:item}.principle{padding:20px 0;border-top:1px solid var(--line)}.principle h3{font-family:var(--sans);font-size:1.08rem;font-weight:500;margin-bottom:8px}.principle p{color:var(--muted);margin:0}.cta{border-top:1px solid var(--line);padding:65px 0}.cta .wrap{display:flex;align-items:center;justify-content:space-between;gap:40px}.cta h2{font-size:2.6rem;margin-bottom:12px}.cta p{margin:0;max-width:650px;color:var(--muted)}footer{background:#0c2230;color:#d4dde3;padding:40px 0}.footer-inner{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap}footer .wordmark strong{font-size:1.3rem}footer nav{display:flex;gap:24px;flex-wrap:wrap;font-size:.87rem}.copyright{margin-top:30px;font-size:.8rem;color:#b4c3cd}.page-hero{padding:75px 0 60px;border-bottom:1px solid var(--line)}.page-hero h1{max-width:850px;font-size:clamp(2.7rem,5vw,4.8rem)}.page-hero p{max-width:720px;color:var(--muted);font-size:1.13rem}.jump-links{display:flex;flex-wrap:wrap;gap:12px 25px;margin-top:30px;font-size:.9rem}.service-group{padding:70px 0;border-bottom:1px solid var(--line)}.group-head{display:grid;grid-template-columns:80px 1fr 1fr;gap:30px;margin-bottom:35px}.group-index{font-family:var(--serif);font-size:3rem;color:#876834}.group-head h2{font-size:2.7rem}.group-head p{color:var(--muted)}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px}.service{border-top:1px solid var(--line);padding:25px 0}.service.featured{background:var(--navy);color:var(--white);padding:30px;border:0}.service.featured p,.service.featured li{color:#d4dde3}.service.featured .eyebrow{color:#e0c38f}.service p{color:var(--muted)}.service .label{font-size:.8rem;font-weight:600;margin-top:25px;letter-spacing:.07em;text-transform:uppercase}.service ul{font-size:.96rem}.service .boundary{font-size:.88rem;border-top:1px solid var(--line);padding-top:16px;margin-top:20px}.service.featured .boundary{border-color:#456071}.service.full{grid-column:1/-1}.domains{display:grid;grid-template-columns:1fr 1fr;gap:0 45px;list-style:none;padding:0;counter-reset:domains}.domains li{padding:13px 0;border-bottom:1px solid var(--line);counter-increment:domains;font-size:.96rem}.domains li::before{content:counter(domains,decimal-leading-zero);color:#80602d;margin-right:15px;font-size:.82rem}details{border-top:1px solid var(--line);padding:20px 0}summary{font-weight:500;cursor:pointer;min-height:28px}details p{margin:15px 0 0;color:var(--muted)}.about-lead{max-width:700px}.contact-panel{border-top:4px solid var(--accent);background:var(--navy);color:var(--white);padding:40px}.contact-panel p{color:#d4dde3}.contact-panel ul{color:#d4dde3}.contact-panel h2{font-size:2.5rem}.contact-panel .contact-status{border-top:1px solid #456071;padding-top:20px;font-size:.9rem;color:#e0c38f}.bio-placeholder{margin-top:35px;background:#e9edef;padding:25px;font-size:.95rem}.bio-placeholder p{margin:0;color:var(--muted)}.preview-tag{font-size:.75rem;color:var(--muted);margin-bottom:15px}.process-line{display:flex;gap:25px;margin-top:30px;flex-wrap:wrap}.process-line span{border-top:1px solid var(--line);padding-top:15px;flex:1;min-width:140px}.process-line small{display:block;color:var(--muted)}
@media(max-width:900px){.wrap{width:calc(100% - 48px)}.hero-grid{gap:35px}.hero{padding:60px 0}.section-head,.split{gap:40px}.nav{gap:18px}.group-head{grid-template-columns:50px 1fr}.group-head p{grid-column:2}.diagram{padding:25px}.three{gap:20px}}
@media(max-width:680px){.wrap{width:calc(100% - 36px)}.header-inner{padding:22px 0;flex-wrap:wrap;gap:20px}.nav{gap:20px;width:100%;justify-content:space-between}.nav a{font-size:.83rem}.nav .nav-contact{padding:8px 12px}.wordmark strong{font-size:1.5rem}.hero-grid,.section-head,.split,.three,.service-grid{grid-template-columns:1fr;gap:30px}.hero{padding:45px 0}.hero h1{font-size:3.1rem}.section,.service-group{padding:50px 0}.section-head{gap:5px}.ribbon .wrap{gap:12px}.diagram{padding:30px}.group-head{gap:16px}.group-head h2{font-size:2.1rem}.group-head p{grid-column:1/-1}.group-index{font-size:2.5rem}.domains{grid-template-columns:1fr}.cta .wrap{display:block}.cta .button{margin-top:25px}.contact-panel{padding:28px}.page-hero{padding:45px 0}.service.full{grid-column:auto}.footer-inner{display:block}footer nav{margin-top:25px}.section-head p{padding-top:0}.note{font-size:.85rem}}
/* Keep content flexible under narrow viewports and enlarged text. */
.hero-grid>*,.section-head>*,.split>*,.three>*,.service-grid>*,.group-head>*{min-width:0}
p,li,h1,h2,h3,.wordmark,.contact-panel{overflow-wrap:break-word}
.nav a,.jump-links a,footer nav a,.plain-link{min-height:44px;display:inline-flex;align-items:center}
summary{min-height:48px;padding:10px 0}
.button{text-align:center}
.contact-panel a{overflow-wrap:anywhere}
@media(max-width:1000px){.header-inner{flex-wrap:wrap;padding:20px 0;gap:18px}.nav{flex-wrap:wrap}.hero-grid{align-items:start}}
@media(max-width:820px){
 .hero-grid,.section-head,.split,.three,.service-grid{grid-template-columns:1fr;gap:28px}
 .hero{padding:42px 0}.hero h1{max-width:680px;font-size:clamp(2.35rem,6.5vw,3.6rem)}
 .hero .intro{max-width:680px}.section-head{gap:10px}.section-head p{padding-top:0}
 .nav{width:100%;justify-content:space-between}.service.full{grid-column:auto}
 .cta .wrap{display:block}.cta .button{margin-top:24px}.domains{grid-template-columns:1fr}
}
@media(max-width:680px){
 .header-inner{padding:18px 0;gap:16px}.wordmark span{font-size:.8rem;letter-spacing:.2em}
 .nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;align-items:stretch}
 .nav a,.nav .nav-contact{justify-content:center;text-align:center;font-size:.9rem;line-height:1.3;min-height:48px;padding:8px 4px;border:1px solid var(--line)}
 .nav a[aria-current=page]{background:var(--navy);color:var(--white);border-color:var(--navy)}
 .hero{padding:28px 0 36px}.hero h1{font-size:clamp(2.15rem,8.5vw,2.65rem);line-height:1.12;letter-spacing:-.025em;margin-bottom:20px}
 .hero .intro{font-size:1rem;line-height:1.6}.eyebrow{font-size:.875rem;letter-spacing:.1em;margin-bottom:16px}
 .actions{display:grid;grid-template-columns:1fr;gap:12px;margin:22px 0}.actions .button{width:100%;min-height:48px}
 .note,.marker,.growth-step small,.diagram-footer,.ribbon .wrap,.service .boundary,.copyright{font-size:.875rem}
 .diagram{padding:24px}.diagram h2{font-size:2rem}.growth-path{margin-top:24px}.growth-step{padding:16px 0}
 .section,.service-group{padding:42px 0}.section-head{margin-bottom:24px}
 h2,.cta h2{font-size:2rem}.page-hero{padding:32px 0}.page-hero h1{font-size:clamp(2.1rem,8.5vw,2.6rem);line-height:1.15}
 .page-hero p{font-size:1rem}.group-head{margin-bottom:20px}.group-head h2{font-size:1.9rem}
 .jump-links{gap:8px 16px;margin-top:20px}.jump-links a{min-height:44px}
 .contact-panel{padding:24px}.contact-panel h2{font-size:2rem}.contact-panel .contact-status{font-size:.95rem}
 .service.featured{padding:24px}.cta{padding:42px 0}.cta .button{width:100%}
 footer nav{display:flex;gap:8px 20px}footer nav a{font-size:.95rem;padding:8px 0;min-height:44px}
 .process-line{gap:16px}.process-line span{flex-basis:100%;min-width:0}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Restrained green accents; shared grid rows align problem body copy. */
:root{--green:#28634f;--green-light:#b8d9c8}
.marker,.group-index,.domains li::before{color:var(--green)}
.problem{border-top:2px solid var(--green)}
.checkup{background:#edf3ef;border-block:1px solid #c9d8cf}
.contact-panel{border-top-color:var(--green-light)}
.diagram .eyebrow,.dark .eyebrow,.growth-step .num{color:var(--green-light)}
.button.primary{background:var(--green);border-color:var(--green)}
.button.primary:hover{background:#1d4d3d}
@media(min-width:821px){.problem{display:grid;grid-template-rows:subgrid;grid-row:span 3;row-gap:0}.problem .marker{align-self:start}.problem h3{align-self:start}.problem p{align-self:start}}

#inquiry-form{display:grid;gap:10px}#inquiry-form label{font-weight:600;margin-top:8px}#inquiry-form label span{font-weight:400}#inquiry-form input,#inquiry-form textarea{width:100%;min-width:0;font:1rem/1.5 var(--sans);padding:12px;border:1px solid #84999f;background:#fff;color:var(--ink);border-radius:0}#inquiry-form textarea{resize:vertical}#inquiry-form input:focus-visible,#inquiry-form textarea:focus-visible{outline:3px solid var(--green-light);outline-offset:3px}#inquiry-form button{background:var(--green-light);color:var(--navy);font:1rem var(--sans);min-height:48px;cursor:pointer}#inquiry-form button:disabled{opacity:.7;cursor:default}.form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.form-note,#form-status{font-size:.875rem;margin:12px 0;line-height:1.6}#spam-check{min-height:65px}.contact-email{margin-top:22px}

#inquiry-form select{width:100%;min-width:0;font:1rem/1.5 var(--sans);padding:12px;border:1px solid #84999f;background:#fff;color:var(--ink);min-height:48px}#inquiry-form select:focus-visible{outline:3px solid var(--green-light);outline-offset:3px}
