:root{--km-obsidian:#0b0b0b;--km-charcoal:#161616;--km-stone:#70685e;--km-limestone:#a89f93;--km-concrete:#8a8680;--km-porcelain:#f2efea;--km-mist:#c8c4be;--km-blueprint:#2a2622;--km-shell:#101010;--nav-height:4.75rem;--font-display:"Syne", sans-serif;--font-body:"Outfit", sans-serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-body);background:var(--km-shell);color:var(--km-porcelain);-webkit-font-smoothing:antialiased;line-height:1.6;overflow-x:hidden}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer;color:inherit;background:0 0;border:none}::selection{background:var(--km-stone);color:var(--km-porcelain)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.intro{z-index:1000;background:var(--km-obsidian);color:var(--km-stone);place-items:center;transition:opacity .7s,visibility .7s;display:grid;position:fixed;inset:0;overflow:hidden}.intro--exit{opacity:0;visibility:hidden;pointer-events:none}.intro__stage{z-index:1;flex-direction:column;align-items:center;gap:1.75rem;display:flex;position:relative}.intro__logo{width:min(28vw,140px);height:auto;color:var(--km-stone)}.intro__stroke{stroke-dasharray:120;stroke-dashoffset:120px;animation:1.1s cubic-bezier(.65,0,.35,1) forwards intro-draw}.intro__stroke--1{animation-delay:.2s}.intro__stroke--2{animation-delay:.45s}.intro__stroke--3{animation-delay:.7s}.intro__stroke--4{animation-delay:.85s}.intro__brand{text-align:center;opacity:0;transition:opacity .7s,transform .7s,letter-spacing 1s;transform:translateY(12px)}.intro--brand .intro__brand,.intro--exit .intro__brand{opacity:1;transform:translateY(0)}.intro__name{font-family:var(--font-display);letter-spacing:.55em;color:var(--km-porcelain);margin-left:.55em;font-size:clamp(1.1rem,3vw,1.65rem);font-weight:600}.intro__tag{font-family:var(--font-body);letter-spacing:.72em;color:var(--km-limestone);margin-top:.45rem;margin-left:.72em;font-size:.75rem;font-weight:300}.intro__coord{letter-spacing:.35em;color:var(--km-concrete);opacity:0;font-size:.65rem;animation:.8s 1s forwards intro-fade;position:absolute;bottom:2rem;left:50%;transform:translate(-50%)}@keyframes intro-draw{to{stroke-dashoffset:0}}@keyframes intro-fade{to{opacity:1}}@media (prefers-reduced-motion:reduce){.intro__stroke,.intro__coord{opacity:1;stroke-dashoffset:0;animation:none}.intro__brand{opacity:1;transform:none}}.site{opacity:0;transition:opacity .9s .15s}.site--ready{opacity:1}.nav{z-index:50;min-height:var(--nav-height);background:var(--km-charcoal);border-bottom:1px solid var(--km-blueprint);grid-template-columns:1fr auto;align-items:center;gap:1rem;padding:.85rem clamp(1rem,4vw,3rem);transition:box-shadow .35s;display:grid;position:sticky;top:0}.nav--elevated{box-shadow:0 12px 40px color-mix(in srgb, var(--km-obsidian) 55%, transparent)}.nav__brand{justify-self:start;align-items:center;gap:1rem;display:flex}.nav__logo{object-fit:contain;width:48px;height:48px}.nav__wordmark{font-family:var(--font-display);letter-spacing:.28em;flex-direction:column;font-size:.88rem;font-weight:600;line-height:1.2;display:flex}.nav__wordmark em{font-style:normal;font-family:var(--font-body);letter-spacing:.42em;color:var(--km-limestone);font-size:.68rem;font-weight:300}.nav__links{justify-self:center;gap:2rem;display:none}.nav__links a{letter-spacing:.18em;text-transform:uppercase;color:var(--km-mist);font-size:.8rem;transition:color .25s}.nav__links a:hover{color:var(--km-porcelain)}.nav__contact{letter-spacing:.16em;text-transform:uppercase;color:var(--km-mist);justify-self:end;font-size:.78rem;transition:color .25s;display:none}.nav__contact:hover{color:var(--km-porcelain)}.nav__toggle{z-index:60;flex-direction:column;grid-column:-2/-1;justify-content:center;justify-self:end;align-items:center;gap:7px;width:44px;height:44px;margin-left:auto;display:flex;position:relative}.nav__toggle span{background:var(--km-porcelain);width:22px;height:1px;transition:transform .3s,opacity .3s;display:block}.nav__toggle.is-open span:first-child{transform:translateY(4px)rotate(45deg)}.nav__toggle.is-open span:last-child{transform:translateY(-4px)rotate(-45deg)}.nav-mobile{z-index:55;background:var(--km-obsidian);flex-direction:column;justify-content:center;gap:1.75rem;padding:2rem;display:flex;position:fixed;inset:0}.nav-mobile a{font-family:var(--font-display);letter-spacing:.12em;color:var(--km-porcelain);font-size:clamp(1.6rem,6vw,2.4rem)}@media (width>=860px){.nav{grid-template-columns:1fr auto 1fr}.nav__links{grid-column:2;display:flex}.nav__contact{grid-column:3;justify-self:end;display:block}.nav__toggle{display:none}}.hero-home{background:var(--km-shell);padding:clamp(.85rem,2vw,1.35rem) clamp(1rem,4vw,2.25rem) clamp(1.25rem,3vw,2rem)}.hero-home__frame{background:var(--km-charcoal);border:1px solid var(--km-blueprint);border-radius:clamp(12px,1.4vw,20px);width:100%;max-width:1360px;height:clamp(14rem,42vh,24rem);margin:0 auto;position:relative;overflow:hidden}.hero-home__frame img{object-fit:cover;object-position:center 42%;width:100%;height:100%}@media (width<=640px){.hero-home{padding:.65rem .65rem 1rem}.hero-home__frame{height:clamp(16rem,48vh,20rem)}}.btn{letter-spacing:.18em;text-transform:uppercase;justify-content:center;align-items:center;padding:.9rem 1.55rem;font-size:.78rem;transition:background .25s,color .25s,border-color .25s;display:inline-flex}.btn--primary{background:var(--km-porcelain);color:var(--km-obsidian)}.btn--primary:hover{background:var(--km-limestone)}.btn--ghost{border:1px solid color-mix(in srgb, var(--km-stone) 70%, transparent);color:var(--km-porcelain)}.btn--ghost:hover{border-color:var(--km-limestone);color:var(--km-limestone)}.reveal{opacity:0;will-change:opacity, transform;transition:opacity .85s cubic-bezier(.22,1,.36,1),transform .85s cubic-bezier(.22,1,.36,1);transform:translateY(28px)}.reveal--in{opacity:1;transform:translateY(0)}.eyebrow{letter-spacing:.32em;text-transform:uppercase;color:var(--km-stone);margin-bottom:.85rem;font-size:.72rem}.section-head{margin-bottom:clamp(2rem,5vw,3rem)}.section-head h2,.info__aside h2,.principles__head h2{font-family:var(--font-display);letter-spacing:-.02em;font-size:clamp(1.85rem,4vw,2.85rem);font-weight:600;line-height:1.1}.info{background:var(--km-obsidian);border-bottom:1px solid var(--km-blueprint);padding:clamp(4.5rem,10vh,7.5rem) clamp(1.25rem,4vw,3.5rem);position:relative;overflow:hidden}.info__accent{border:1px solid color-mix(in srgb, var(--km-stone) 28%, transparent);pointer-events:none;border-radius:50%;width:min(42vw,28rem);height:min(42vw,28rem);position:absolute;top:-20%;right:-8%}.info__grid{gap:clamp(1.75rem,4vw,4.5rem);max-width:1100px;display:grid;position:relative}@media (width>=860px){.info__grid{grid-template-columns:.85fr 1.15fr;align-items:start}}.info__rule{background:var(--km-stone);transform-origin:0;width:3.5rem;height:1px;margin-top:1.5rem;animation:.9s .35s both rule-draw;display:block}.info__body{gap:1.15rem;display:grid}.info__body p{color:var(--km-mist);max-width:38rem;font-size:1.02rem;font-weight:300;line-height:1.7}.info__body .btn{justify-self:start;margin-top:.65rem}.services{background:linear-gradient(180deg, color-mix(in srgb, var(--km-stone) 6%, var(--km-charcoal)) 0%, var(--km-charcoal) 40%);border-bottom:1px solid var(--km-blueprint);padding:clamp(4.5rem,10vh,7.5rem) clamp(1.25rem,4vw,3.5rem)}.services__list{gap:.85rem;max-width:920px;display:grid}.service{border:1px solid var(--km-blueprint);background:color-mix(in srgb, var(--km-obsidian) 45%, transparent);grid-template-columns:3.75rem 1fr auto;align-items:start;gap:1rem;padding:1.45rem 1.35rem;transition:border-color .35s,background .35s,transform .35s;display:grid}.service:hover{border-color:color-mix(in srgb, var(--km-stone) 55%, transparent);background:color-mix(in srgb, var(--km-stone) 10%, var(--km-obsidian));transform:translate(4px)}.service__num{font-family:var(--font-display);letter-spacing:.12em;color:var(--km-stone);padding-top:.25rem;font-size:.85rem}.service__copy h3{font-family:var(--font-display);letter-spacing:.02em;margin-bottom:.45rem;font-size:1.15rem;font-weight:600;transition:color .3s}.service:hover .service__copy h3{color:var(--km-limestone)}.service__copy p{color:var(--km-mist);max-width:34rem;font-weight:300;line-height:1.6}.service__arrow{color:var(--km-stone);opacity:0;padding-top:.2rem;transition:opacity .3s,transform .3s;transform:translate(-6px)}.service:hover .service__arrow{opacity:1;transform:translate(0)}@media (width<=640px){.service{grid-template-columns:2.75rem 1fr}.service__arrow{display:none}}.principles{background:radial-gradient(ellipse 50% 40% at 85% 20%, color-mix(in srgb, var(--km-stone) 14%, transparent), transparent 60%), var(--km-obsidian);border-bottom:1px solid var(--km-blueprint);padding:clamp(4.5rem,10vh,7.5rem) 0}.principles__head{max-width:1100px;margin-bottom:clamp(2.5rem,6vw,4rem);padding:0 clamp(1.25rem,4vw,3.5rem)}.principles__intro{max-width:28rem;color:var(--km-mist);margin-top:1rem;font-weight:300;line-height:1.65}.principles__rail{border-top:1px solid var(--km-blueprint);gap:0;display:grid}.principle-row{border-bottom:1px solid var(--km-blueprint);grid-template-columns:minmax(4.5rem,8rem) 1fr;align-items:stretch;gap:clamp(1rem,3vw,2.5rem);padding:clamp(1.75rem,4vw,2.75rem) clamp(1.25rem,4vw,3.5rem);transition:background .4s;display:grid;position:relative;overflow:hidden}.principle-row:after{content:"";background:var(--km-limestone);transform-origin:top;width:2px;transition:transform .55s cubic-bezier(.22,1,.36,1);position:absolute;top:0;bottom:0;left:0;transform:scaleY(0)}.principle-row:hover{background:color-mix(in srgb, var(--km-stone) 8%, transparent)}.principle-row:hover:after{transform:scaleY(1)}.principle-row__num{font-family:var(--font-display);letter-spacing:-.04em;color:color-mix(in srgb, var(--km-stone) 45%, transparent);font-size:clamp(2.8rem,7vw,5rem);font-weight:600;line-height:.9;transition:color .35s,transform .45s}.principle-row:hover .principle-row__num{color:var(--km-limestone);transform:translateY(-4px)}.principle-row__main{align-content:center;gap:.85rem;max-width:38rem;display:grid}.principle-row__main h3{font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;color:var(--km-porcelain);font-size:clamp(1.25rem,2.8vw,1.7rem);font-weight:600}.principle-row__line{background:var(--km-stone);width:3rem;height:1px;transition:width .45s cubic-bezier(.22,1,.36,1),background .3s;display:block}.principle-row:hover .principle-row__line{background:var(--km-limestone);width:5.5rem}.principle-row__main p{color:var(--km-mist);font-size:clamp(.95rem,1.6vw,1.05rem);font-weight:300;line-height:1.7}@media (width<=640px){.principle-row{grid-template-columns:3.5rem 1fr}}.footer{background:var(--km-charcoal);border-top:1px solid var(--km-blueprint);padding:clamp(3rem,7vh,4.5rem) clamp(1.25rem,4vw,3.5rem) 1.5rem}.footer__top{border-bottom:1px solid var(--km-blueprint);gap:clamp(2rem,5vw,3.5rem);padding-bottom:clamp(2rem,4vw,3rem);display:grid}@media (width>=900px){.footer__top{grid-template-columns:.9fr 1.4fr;align-items:start}}.footer__brand{align-items:flex-start;gap:1rem;display:flex}.footer__logo{object-fit:contain;opacity:.9;flex-shrink:0;width:44px;height:44px}.footer__name{font-family:var(--font-display);letter-spacing:.22em;text-transform:uppercase;margin-bottom:.55rem;font-size:1rem;font-weight:600}.footer__tag{color:var(--km-mist);max-width:18rem;font-size:.9rem;font-weight:300;line-height:1.55}.footer__cols{grid-template-columns:1fr 1fr;gap:1.5rem;display:grid}@media (width>=700px){.footer__cols{grid-template-columns:repeat(4,1fr);gap:1.25rem}}.footer__label{letter-spacing:.28em;text-transform:uppercase;color:var(--km-stone);margin-bottom:.65rem;font-size:.62rem}.footer__col a,.footer__col p{font-family:var(--font-display);letter-spacing:.02em;color:var(--km-porcelain);font-size:.92rem;font-weight:500;line-height:1.5}.footer__col a{transition:color .25s}.footer__col a:hover{color:var(--km-limestone)}.footer__bottom{color:var(--km-concrete);letter-spacing:.14em;justify-content:space-between;align-items:center;gap:1rem;padding-top:1.25rem;font-size:.72rem;display:flex}.footer__bottom a{color:var(--km-mist);transition:color .25s}.footer__bottom a:hover{color:var(--km-porcelain)}@keyframes rule-draw{0%{opacity:0;transform:scaleX(0)}to{opacity:1;transform:scaleX(1)}}@media (prefers-reduced-motion:reduce){.site,.reveal,.service,.principle-row,.principle-row__num,.principle-row__line,.info__rule{opacity:1!important;transition:none!important;animation:none!important;transform:none!important}}
