@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Manrope:wght@500;600;700&family=Newsreader:ital,opsz,wght@1,6..72,400&display=swap');

:root{--ink:#101926;--ink-2:#182536;--paper:#f4f0e8;--white:#fffdf8;--coral:#ef6a5b;--coral-dark:#c84d40;--mist:#d9e0e4;--muted:#687483;--line:rgba(16,25,38,.16);--sans:"DM Sans",sans-serif;--display:"Manrope",sans-serif;--serif:"Newsreader",serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.65}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
.skip-link{position:fixed;top:-5rem;left:1rem;z-index:20;background:var(--coral);color:#fff;padding:.7rem 1rem}.skip-link:focus{top:1rem}
.site-header{height:124px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(1.25rem,4vw,5rem);border-bottom:1px solid var(--line);background:rgba(244,240,232,.94);position:relative;z-index:10}
.brand{display:flex;align-items:center}
.brand-logo{width:240px;height:auto}
nav{display:flex;align-items:center;gap:clamp(1.2rem,2.5vw,2.6rem);font-size:.9rem;font-weight:500}
nav a:not(.nav-cta){border-bottom:1px solid transparent}nav a:hover:not(.nav-cta),nav a[aria-current=page]{border-color:var(--ink)}
.nav-cta{padding:.65rem 1rem;border:1px solid var(--ink);transition:.2s}.nav-cta:hover{background:var(--ink);color:var(--paper)}
.menu-toggle{display:none;background:transparent;border:1px solid var(--ink);padding:.45rem .7rem;font:inherit}
.hero{min-height:680px;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:7vw;align-items:center;padding:clamp(4.5rem,10vw,8.5rem) clamp(1.25rem,7vw,8.5rem);background:var(--paper)}
.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;font-weight:600;margin:0 0 1.6rem;color:var(--coral-dark)}
h1,h2,h3,p{margin-top:0}
h1,h2{font-family:var(--display);letter-spacing:-.055em;line-height:1.02}
h1{font-size:clamp(3.6rem,7.6vw,8rem);max-width:950px;margin-bottom:2rem}
h1 em,h2 em{font-family:var(--serif);font-weight:400}
.lede{font-size:clamp(1.15rem,1.5vw,1.38rem);line-height:1.55;max-width:700px;color:#394454}
.hero-actions{display:flex;gap:2rem;align-items:center;margin-top:2.4rem;flex-wrap:wrap}
.button{display:inline-flex;align-items:center;justify-content:center;gap:1.2rem;padding:.95rem 1.2rem;font-weight:600;font-size:.92rem;transition:.2s}
.button-primary{background:var(--coral);color:var(--ink)}.button-primary:hover{background:var(--coral-dark);color:#fff}
.text-link{display:inline-flex;gap:.75rem;align-items:center;border-bottom:1px solid var(--ink);font-weight:600;font-size:.92rem}
.signal-card{height:450px;background:var(--ink);color:var(--paper);padding:1.6rem;display:flex;flex-direction:column;justify-content:space-between;box-shadow:1.25rem 1.25rem 0 var(--coral)}
.signal-head{display:flex;justify-content:space-between;text-transform:uppercase;letter-spacing:.13em;font-size:.67rem}
.signal-head span:last-child{color:#8be0ad}.signal-head span:last-child:before{content:"";display:inline-block;width:6px;height:6px;background:#8be0ad;border-radius:50%;margin-right:.5rem}
.system-map{display:grid;grid-template-columns:.7fr .85fr 1.25fr 1.25fr;column-gap:.75rem;align-items:center;min-height:245px}
.map-sources{display:grid;gap:.65rem}.map-sources span{display:flex;align-items:center;min-height:36px;border:1px solid #485669;padding:.35rem .5rem;color:#b8c1ca;text-transform:uppercase;font-size:.56rem;letter-spacing:.12em}
.map-routes{height:130px;background:url("/assets/kds-flow-mark.png") center/contain no-repeat}.map-routes i{display:none}
.map-decision,.map-output{position:relative;display:flex;flex-direction:column;justify-content:center;min-width:0;min-height:96px;padding:1rem .7rem;border:1px solid #718096;background:var(--ink-2);line-height:1.2}.map-decision{border-color:var(--coral)}.map-decision:after{content:"→";position:absolute;right:-1.25rem;top:50%;transform:translateY(-50%);color:var(--coral)}.map-decision small,.map-output small{display:block;margin-bottom:.5rem;color:#97a5b3;text-transform:uppercase;letter-spacing:.1em;font-size:.5rem}.map-decision strong,.map-output strong{font:600 .72rem var(--display)}
.signal-caption{margin:0;text-transform:uppercase;letter-spacing:.12em;color:#9ba8b4;font-size:.6rem}
.proof-strip{background:var(--ink);color:#9eabb8;display:grid;grid-template-columns:repeat(4,1fr);padding:1.25rem clamp(1.25rem,7vw,8.5rem);gap:2rem;font-size:.76rem;text-transform:uppercase;letter-spacing:.13em}
.proof-strip p{margin:0}.proof-strip p:not(:last-child):after{content:"+";float:right;color:var(--coral)}
.section{padding:clamp(5rem,9vw,9rem) clamp(1.25rem,7vw,8.5rem)}
.section-intro{display:grid;grid-template-columns:1fr 1.3fr;gap:5vw;align-items:end;margin-bottom:4rem}
.section-intro .eyebrow{align-self:start}.section-intro h2{font-size:clamp(2.8rem,5vw,5rem);margin:0}.section-intro>p:last-child{grid-column:2;color:var(--muted);max-width:600px}
.service-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.service-grid article{padding:clamp(2rem,4vw,3.7rem);border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:370px}
.service-number{display:block;color:var(--coral-dark);font-size:.75rem;margin-bottom:3rem}
.service-grid h3{font:600 clamp(1.5rem,2.3vw,2.2rem) var(--display);letter-spacing:-.04em}
.service-grid p{color:var(--muted);max-width:520px}.service-grid ul{padding:0;list-style:none;margin:2rem 0 0}.service-grid li{border-top:1px solid var(--line);padding:.55rem 0;font-size:.84rem}
.approach{background:var(--ink);color:var(--paper);display:grid;grid-template-columns:1fr 1fr;gap:9vw}
.approach .eyebrow{color:var(--coral)}blockquote{font:400 clamp(2.8rem,5vw,5.4rem)/1.05 var(--serif);margin:0;letter-spacing:-.035em}
.steps article{display:grid;grid-template-columns:50px 1fr;gap:1.5rem;padding:1.8rem 0;border-top:1px solid #344052}.steps article:last-child{border-bottom:1px solid #344052}.steps span{color:var(--coral);font-size:.72rem}.steps h3{font:600 1.2rem var(--display);margin-bottom:.5rem}.steps p{color:#a8b2bc;margin:0}
.experience{display:grid;grid-template-columns:1fr 1fr;gap:8vw}.experience h2{font-size:clamp(2.8rem,5vw,5rem)}.experience>div:last-child{padding-top:3rem;color:#4d5865;font-size:1.08rem}.experience .text-link{margin-top:1rem;color:var(--ink)}
.contact{padding:clamp(5rem,10vw,9rem) clamp(1.25rem,7vw,8.5rem);background:var(--coral);color:var(--ink);text-align:center}.contact .eyebrow{color:var(--ink)}.contact h2{font-size:clamp(3rem,7vw,7rem);margin-bottom:1.5rem}.contact p:not(.eyebrow){max-width:620px;margin:0 auto 2rem}.button-light{background:var(--white)}.button-light:hover{background:var(--ink);color:var(--white)}
footer{padding:3.2rem clamp(1.25rem,7vw,8.5rem);background:var(--ink);color:#9da8b4;display:grid;grid-template-columns:1fr 1fr 1fr;gap:2rem;font-size:.78rem}footer p:last-child{text-align:right}footer a:hover{color:var(--white)}.brand-footer{align-self:start}.brand-footer .brand-logo{filter:brightness(0) invert(1);opacity:.92}
.page-hero{padding:clamp(5rem,9vw,9rem) clamp(1.25rem,7vw,8.5rem);display:grid;grid-template-columns:1.4fr .6fr;gap:7vw;align-items:end}.page-hero h1{font-size:clamp(3.5rem,7vw,7rem);margin:0}.page-hero .lede{margin-bottom:.6rem}
.bio{display:grid;grid-template-columns:.65fr 1.35fr;gap:9vw;border-top:1px solid var(--line);align-items:start}.bio figure{margin:0;align-self:start}.bio figure picture{display:block}.bio figure img{display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:contain;background:var(--ink)}.bio figcaption{font-weight:600;margin-top:1rem}.bio figcaption span{font-size:.8rem;color:var(--muted);font-weight:400}.bio-copy h2,.principles h2{font-size:clamp(2.7rem,5vw,5rem)}.bio-copy>p:not(.eyebrow){font-size:1.08rem;color:#4d5865}
.principles{background:#dce3e5;display:grid;grid-template-columns:.75fr 1.25fr;gap:8vw}.principle-list article{display:grid;grid-template-columns:50px 1fr 1.3fr;gap:1rem;border-top:1px solid rgba(16,25,38,.22);padding:1.5rem 0}.principle-list span{color:var(--coral-dark);font-size:.72rem}.principle-list h3{font:600 1.05rem var(--display)}.principle-list p{color:#5b6673;font-size:.9rem}
.expertise{padding:clamp(4rem,7vw,7rem) clamp(1.25rem,7vw,8.5rem)}.tag-list{display:flex;flex-wrap:wrap;gap:.7rem}.tag-list span{border:1px solid var(--line);padding:.65rem 1rem;border-radius:2rem;font-size:.88rem;background:var(--white)}
.credentials{padding:0 clamp(1.25rem,7vw,8.5rem) clamp(5rem,9vw,9rem)}.credential-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.credential-grid article{display:grid;grid-template-columns:auto 1fr;gap:1.3rem;align-items:start;padding:1.5rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.credential-grid strong{font:600 1.05rem var(--display)}.credential-grid span{color:var(--muted);font-size:.82rem;line-height:1.5}
@media(max-width:850px){.site-header{height:104px}.brand-logo{width:205px}.menu-toggle{display:block}nav{display:none;position:absolute;left:0;right:0;top:104px;background:var(--paper);padding:1.5rem;flex-direction:column;align-items:stretch;border-bottom:1px solid var(--line)}nav.is-open{display:flex}.nav-cta{text-align:center}.hero{grid-template-columns:1fr;padding-top:4rem}.signal-card{height:340px;max-width:500px}.proof-strip{grid-template-columns:1fr 1fr}.section-intro,.approach,.experience,.page-hero,.bio,.principles{grid-template-columns:1fr}.section-intro>p:last-child{grid-column:1}.page-hero{gap:2rem}.bio figure{max-width:360px}.principle-list article{grid-template-columns:40px 1fr}.principle-list p{grid-column:2}.service-grid,.credential-grid{grid-template-columns:1fr}footer{grid-template-columns:1fr}footer p:last-child{text-align:left}}
@media(max-width:520px){.site-header{height:92px}.brand-logo{width:170px}nav{top:92px}h1{font-size:3.2rem}.hero{min-height:auto}.signal-card{height:360px;box-shadow:.65rem .65rem 0 var(--coral)}.system-map{grid-template-columns:.7fr 1.1fr 1fr}.map-routes{height:105px}.map-output{grid-column:3;margin:.75rem 0 0}.map-decision:after{content:"↓";right:.5rem;top:auto;bottom:-1.5rem}.proof-strip{grid-template-columns:1fr}.proof-strip p:not(:last-child):after{content:""}.section{padding-top:4.5rem;padding-bottom:4.5rem}.service-grid article{min-height:auto}.hero-actions{align-items:stretch;flex-direction:column}.button{width:100%}.contact .button{width:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
