:root{--ink:#24282b;--muted:#62686d;--line:#c9cdd0;--blue:#4d96c9;--blue-dark:#2d678d;--max:980px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;min-height:100vh;color:var(--ink);background:#fff;font-family:"Helvetica Neue",Helvetica,Arial,system-ui,sans-serif;line-height:1.5;font-size:15px}
a{color:var(--blue-dark)}
a:focus-visible{outline:3px solid #111;outline-offset:3px}
.skip-link{position:absolute;left:1rem;top:-4rem;z-index:100;padding:.55rem .8rem;background:#111;color:#fff;text-decoration:none}
.skip-link:focus{top:1rem}
.site-header{width:min(calc(100% - 24px),var(--max));margin:18px auto 0;min-height:46px;display:flex;align-items:stretch;justify-content:space-between;border:1px solid #a8adb0;border-bottom-color:#7f878b;border-radius:5px;overflow:hidden;background:linear-gradient(#fafafa 0%,#eceeef 48%,#dcdfe1 52%,#d1d5d7 100%);box-shadow:inset 0 1px 0 #fff,0 1px 2px rgba(0,0,0,.12),0 3px 0 #6aa9c8}
.brand{display:inline-flex;align-items:center;gap:.7rem;padding:0 15px;color:#222;text-decoration:none;border-right:1px solid rgba(90,96,100,.22)}
.brand-mark{display:grid;place-items:center;width:29px;height:27px;border:1px solid #92999d;border-radius:4px;background:linear-gradient(#fefefe,#d8dcde);box-shadow:inset 0 1px 0 #fff;color:#3f464a;font:700 9px Monaco,"Courier New",monospace;letter-spacing:.05em}
.brand-copy{display:flex;flex-direction:column;justify-content:center;line-height:1.1}
.brand-name{font-size:13px;font-weight:700}
.brand-subtitle{margin-top:3px;color:#6e7478;font-size:9px;letter-spacing:.04em;text-transform:uppercase}
.site-header>nav{display:flex;align-items:stretch;margin-left:auto}
.site-header>nav a{display:flex;align-items:center;padding:0 13px;color:#3d4347;text-decoration:none;font-size:12px;border-left:1px solid rgba(255,255,255,.6);border-right:1px solid rgba(91,97,101,.18)}
.site-header>nav a:hover,.site-header>nav a:focus-visible{background:rgba(77,150,201,.11)}
main{width:min(calc(100% - 24px),var(--max));margin:0 auto}
section{margin:52px 0}
.hero{min-height:430px;display:flex;align-items:center;margin-top:0;padding:70px 38px 60px;border-bottom:1px solid #ddd;background:linear-gradient(#fff 0%,#fff 66%,#f6f6f6 100%)}
.hero-copy{max-width:700px}
.eyebrow,.section-label{margin:0 0 10px;color:#777;text-transform:uppercase;letter-spacing:.09em;font-size:10px;font-weight:700}
h1,h2,h3{margin-top:0;color:#222;font-weight:500;line-height:1.08}
h1{max-width:11ch;margin-bottom:16px;font-size:clamp(44px,6vw,68px);letter-spacing:-.045em}
h2{max-width:17ch;margin-bottom:20px;font-size:clamp(28px,4.5vw,44px);letter-spacing:-.03em}
h3{margin-bottom:8px;font-size:18px;font-weight:600}
.lede{max-width:620px;margin:0;color:#555;font-size:18px;line-height:1.5}
.hero-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}
.button{display:inline-block;padding:6px 14px 7px;border-radius:12px;text-decoration:none;font-size:13px;font-weight:600}
.button.primary{color:#fff;border:1px solid #2c6e9a;background:linear-gradient(#74b9e5 0%,#4fa1d7 48%,#3b8fc6 52%,#347fae 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.55),0 1px 1px rgba(0,0,0,.2);text-shadow:0 -1px 0 rgba(0,0,0,.3)}
.button.secondary{color:#444;border:1px solid #b5b5b5;background:linear-gradient(#fff,#e8e8e8);box-shadow:inset 0 1px 0 #fff,0 1px 1px rgba(0,0,0,.1)}
.panel,.contact-panel{padding:30px 32px;border:1px solid var(--line);border-radius:6px;background:linear-gradient(#fff,#f5f5f5);box-shadow:inset 0 1px 0 #fff,0 1px 2px rgba(0,0,0,.05)}
.two-column,.srco{display:grid;grid-template-columns:1fr 1fr;gap:42px}
.two-column p,.srco p{margin-top:0;color:#555;font-size:15px}
#method,section[aria-labelledby="principles-title"]{padding:0 6px}
.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:24px;border:1px solid var(--line);border-radius:6px;overflow:hidden;background:#f8f8f8}
.process-card{min-height:210px;padding:20px 18px;border-right:1px solid var(--line);background:linear-gradient(#fff,#f3f3f3)}
.process-card:last-child{border-right:0}
.process-card:nth-child(1){border-top:3px solid #6baed6}.process-card:nth-child(2){border-top:3px solid #7fc9c1}.process-card:nth-child(3){border-top:3px solid #a79bd3}.process-card:nth-child(4){border-top:3px solid #d9a889}
.step{display:block;margin-bottom:42px;color:#8a8a8a;font:700 11px Monaco,"Courier New",monospace}
.process-card p{color:#666;font-size:14px}
.principle{margin:18px 0 0;padding:14px 16px;border:1px solid #c7dbe7;border-radius:4px;background:linear-gradient(#f8fcfe,#edf6fa);color:#3f5664;font-size:15px;font-weight:600}
.principles-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:18px;border-top:1px solid #d8d8d8;border-bottom:1px solid #d8d8d8}
.principles-grid article{padding:20px 22px;border-right:1px solid #dedede}
.principles-grid article:last-child{border-right:0}
.principles-grid p{color:#666}
.contact-panel{text-align:center;padding-top:38px;padding-bottom:40px}
.contact-panel h2{max-width:none;margin-bottom:12px}
.contact-panel p{color:#666}
.contact-panel a{font-weight:600;font-size:16px}
footer{width:min(calc(100% - 24px),var(--max));margin:0 auto;padding:18px 4px 34px;border-top:1px solid #d5d5d5;color:#8a8a8a;font-size:11px;text-align:center}
@media(max-width:760px){.site-header{flex-direction:column;align-items:stretch}.brand{min-height:46px;border-right:0;border-bottom:1px solid rgba(0,0,0,.12)}.site-header>nav{width:100%}.site-header>nav a{flex:1 1 25%;justify-content:center;padding:10px 4px}.hero{min-height:auto;padding:48px 18px 44px}.two-column,.srco{grid-template-columns:1fr}.process-grid{grid-template-columns:1fr 1fr}.process-card:nth-child(2){border-right:0}.process-card:nth-child(-n+2){border-bottom:1px solid var(--line)}.principles-grid{grid-template-columns:1fr}.principles-grid article{border-right:0;border-bottom:1px solid #dedede}.principles-grid article:last-child{border-bottom:0}}
@media(max-width:480px){.brand-subtitle{display:none}.brand-name{font-size:12px}.site-header>nav a{font-size:11px}h1{font-size:43px}h2{font-size:30px}.process-grid{grid-template-columns:1fr}.process-card,.process-card:nth-child(2){border-right:0;border-bottom:1px solid var(--line)}.process-card:last-child{border-bottom:0}.panel,.contact-panel{padding:24px 20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
