:root{--bg:#f3f5f4;--bg-soft:#fafbfa;--surface:#ffffffdb;--surface-strong:#fff;--text:#3d3f44;--muted:#66686d;--muted-strong:#4c4f54;--line:#4c4f5424;--line-strong:#4c4f543d;--accent:#39c500;--accent-soft:#39c5001f;--accent-strong:#2f9f06;--shadow:0 18px 40px #3d3f4414;--radius:24px;--max:1160px}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;color:var(--text);background:radial-gradient(circle at 0 0,#39c50014,#0000 24%),radial-gradient(circle at 92% 12%,#39c5000d,#0000 18%),linear-gradient(#fafbfa 0%,#f3f5f4 50%,#eef1f0 100%);margin:0;font-family:Plus Jakarta Sans,Avenir Next,Segoe UI,sans-serif;line-height:1.55}a{color:inherit;text-decoration:none}img,svg,main{display:block}.page-shell{position:relative;overflow:clip}.container{width:min(100% - 2rem, var(--max));margin:0 auto}.section{padding:2rem 0}.eyebrow{color:var(--accent-strong);letter-spacing:.18em;text-transform:uppercase;margin:0 0 .8rem;font-size:.78rem;font-weight:700}.section-heading{max-width:52rem;margin-bottom:2.2rem}.section-intro{max-width:44rem}.contact-section .section-intro{margin-top:1rem}h1,h2,h3,h4{letter-spacing:-.05em;margin:0;font-family:Plus Jakarta Sans,Avenir Next,Segoe UI,sans-serif;font-weight:800;line-height:.98}h1{max-width:16ch;font-size:clamp(3.2rem,6vw,5.6rem)}h2{max-width:18ch;margin-bottom:1rem;font-size:clamp(2.1rem,4.6vw,3.5rem)}h3{font-size:clamp(1.25rem,2vw,1.6rem)}p,li,label,input,textarea,button{font-size:1rem}p{color:var(--muted);margin:0}strong{color:var(--muted-strong)}ul{margin:0;padding:0;list-style:none}.button{border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:.55rem;min-height:3rem;padding:.8rem 1.2rem;font-weight:600;transition:transform .18s,background-color .18s,border-color .18s,color .18s,box-shadow .18s;display:inline-flex}.button:hover,.button:focus-visible{transform:translateY(-1px)}.button-primary{color:#fff;background:linear-gradient(#39c500 0%,#2f9f06 100%);box-shadow:0 14px 30px #2f9f063d}.button-primary:hover,.button-primary:focus-visible{background:linear-gradient(#42d508 0%,#35ad0d 100%)}.button-secondary{color:var(--muted-strong);border-color:var(--line);background:#fffdf88c}.button-secondary:hover,.button-secondary:focus-visible{border-color:var(--line-strong);background:#fffdf8d1}.text-link{color:var(--accent-strong);align-items:center;gap:.4rem;font-weight:600;display:inline-flex}.text-link:after{content:"→";transition:transform .18s}.text-link:hover:after,.text-link:focus-visible:after{transform:translate(.2rem)}.site-header{z-index:10;backdrop-filter:blur(18px);background:#fafbfadb;border-bottom:1px solid #4c4f5414;position:sticky;top:0}.header-row{justify-content:space-between;align-items:center;gap:1.5rem;min-height:5.4rem;display:flex}.wordmark{color:var(--text);letter-spacing:-.04em;align-items:center;font-weight:800;display:inline-flex}.wordmark-logo{width:auto;height:3.3rem}.header-actions{align-items:center;gap:1rem;display:flex}.nav-list{align-items:center;gap:.25rem;display:flex}.nav-link{min-height:2.5rem;color:var(--muted-strong);border-radius:999px;align-items:center;padding:.55rem .9rem;font-weight:600;display:inline-flex}.nav-link.active,.nav-link:hover,.nav-link:focus-visible{background:#fffc;box-shadow:inset 0 0 0 1px #4c4f5414}.hero{padding-top:2rem}.hero-grid{grid-template-columns:minmax(0,1.25fr) minmax(19rem,.75fr);align-items:stretch;gap:2rem;display:grid}.hero-stacked .hero-grid{grid-template-columns:1fr}.hero-stacked .hero-copy{max-width:68rem}.hero-stacked .hero-aside{max-width:42rem}.hero-copy{gap:1.2rem;display:grid}.hero-body{max-width:48rem;font-size:1.12rem}.hero-actions{flex-wrap:wrap;gap:.85rem;margin-top:.35rem;display:flex}.hero-panel,.surface-card,.service-card,.contact-panel,.service-detail,.timeline-card,.cta-band{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);position:relative}.hero-panel{background:linear-gradient(#fffffff5 0%,#f3f7f2f5 100%);height:100%;padding:1.6rem}.hero-panel:before,.cta-band:before{content:"";border-radius:calc(var(--radius) - .75rem);pointer-events:none;border:1px solid #39c5001f;position:absolute;inset:1rem}.hero-list{gap:1rem;display:grid}.hero-list li{grid-template-columns:1.3rem 1fr;align-items:start;gap:.85rem;display:grid}.hero-list li:before{content:"";background:var(--accent);border-radius:999px;width:.7rem;height:.7rem;margin-top:.35rem;box-shadow:0 0 0 .45rem #39c50014}.split-grid,.two-column,.services-grid,.detail-grid,.footer-grid{gap:1.25rem;display:grid}.split-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.two-column{grid-template-columns:1.05fr .95fr;align-items:start}.services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.surface-card,.service-card,.contact-panel,.service-detail,.timeline-card{padding:1.55rem}.service-card,.service-detail{gap:1rem;display:grid}.card-kicker{background:linear-gradient(90deg, var(--accent) 0%, #667a4233 100%);border-radius:999px;width:3.25rem;height:.3rem}.service-summary{color:var(--muted-strong)}.list-grid{gap:.9rem;display:grid}.list-grid li,.bullet-list li{padding-left:1.2rem;position:relative}.list-grid li:before,.bullet-list li:before{content:"";background:var(--accent);border-radius:999px;width:.42rem;height:.42rem;position:absolute;top:.63rem;left:0}.stats-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.stat strong{letter-spacing:.12em;text-transform:uppercase;color:var(--accent-strong);margin-bottom:.25rem;font-size:.85rem;display:block}.quote-block{background:#ffffff8f;border-left:4px solid #39c50066;border-radius:0 1.1rem 1.1rem 0;gap:1rem;padding:1.55rem;display:grid}.timeline-card{background:linear-gradient(#fffffff5 0%,#f4f7f5eb 100%)}.timeline-card p+p{margin-top:.9rem}.headshot{object-fit:cover;width:min(100%,16.8rem);height:100%;box-shadow:var(--shadow);border-radius:1.25rem}.bio-layout{grid-template-columns:minmax(16rem,16.8rem) minmax(0,1fr);align-items:stretch;gap:1.5rem;display:grid}.cta-band{background:linear-gradient(135deg,#fffffff2 0%,#eff4eef2 100%);justify-content:space-between;align-items:end;gap:1.5rem;padding:2rem;display:flex}.cta-actions{flex-shrink:0}.contact-layout{grid-template-columns:minmax(0,1fr);place-items:start;display:grid}.contact-layout .contact-panel{width:min(100%,44rem)}.contact-note,.status-banner{border:1px solid var(--line);background:#ffffffc7;border-radius:1rem;padding:1rem 1.1rem}.status-banner{border-color:#39c50052;margin-bottom:1rem}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}form{gap:1rem;display:grid}label{color:var(--muted-strong);gap:.45rem;font-weight:500;display:grid}input,textarea{width:100%;color:var(--text);font:inherit;background:#ffffffd1;border:1px solid #4c4f5424;border-radius:1rem;padding:.9rem 1rem;transition:border-color .18s,box-shadow .18s,background-color .18s}input:focus,textarea:focus{background:var(--surface-strong);border-color:#39c5008c;outline:none;box-shadow:0 0 0 .25rem #39c5001f}textarea{resize:vertical;min-height:11rem}.field-note,.footer-copy,.footer-meta,.footer-bottom p{color:var(--muted)}.site-footer{padding:1rem 0 2rem}.footer-grid{border-top:1px solid var(--line);grid-template-columns:1.2fr .8fr .9fr;padding:2rem 0}.footer-brand{margin-bottom:.7rem;display:inline-block}.hero-body,.section-intro{font-size:1.08rem;line-height:1.65}.footer-logo{width:auto;height:3rem}.footer-label{color:var(--muted-strong);margin-bottom:.75rem;font-weight:700}.footer-links{gap:.55rem;display:grid}.footer-email{color:var(--accent-strong);margin-bottom:.7rem;font-weight:600;display:inline-block}.footer-bottom{border-top:1px solid #4c4f5414;padding-top:1rem}.not-found{place-items:center;min-height:60vh;display:grid}@media (width<=980px){.header-row,.header-actions,.hero-grid,.two-column,.bio-layout,.contact-layout,.footer-grid,.cta-band{flex-direction:column;grid-template-columns:1fr;align-items:start}.services-grid,.detail-grid,.split-grid,.stats-row,.bio-layout,.form-grid{grid-template-columns:1fr}.header-actions,.header-cta{width:100%}}@media (width<=720px){body{background:radial-gradient(circle at 0 0,#39c50012,#0000 22%),linear-gradient(#fafbfa 0%,#f3f5f4 50%,#eef1f0 100%)}.section{padding:2rem 0}.hero{padding-top:1rem}.site-header{position:static}.header-row{padding:1rem 0}.nav-list{flex-wrap:wrap}h1{max-width:13ch}}
