:root{--bg:#EDEFEA;--ink:#10202E;--mut:#52606C;--line:#C9CFCB;--card:#F6F7F3;--acc:#2F6F73;--deep:#0F2230;--on:#EDEFEA;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#0C1822;--ink:#E6EAE6;--mut:#9AA8B2;--line:#25394A;--card:#12232F;--acc:#6FB5B8;--deep:#081119;--on:#E6EAE6}}
:root[data-theme="dark"]{--bg:#0C1822;--ink:#E6EAE6;--mut:#9AA8B2;--line:#25394A;--card:#12232F;--acc:#6FB5B8;--deep:#081119;--on:#E6EAE6}
html{scroll-behavior:smooth;scroll-padding-top:calc(env(safe-area-inset-top,0px) + 70px)}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:400 16px/1.6 "Instrument Sans",system-ui,sans-serif}
h1,h2,h3{font-family:"Source Serif 4",Georgia,serif;font-weight:500;line-height:1.14;margin:0;letter-spacing:-.015em}
a{color:inherit}
.wrap{max-width:1120px;margin:0 auto;padding:0 22px}
section{padding:72px 0;border-top:1px solid var(--line)}
/* intro */
#intro{position:fixed;inset:0;z-index:100;background:#0A1621;color:#E6EAE6;display:grid;place-items:center;text-align:center;transition:opacity .7s,visibility .7s}
#intro.gone{opacity:0;visibility:hidden}
#intro svg{position:absolute;inset:0;width:100%;height:100%}
#intro path{stroke:#6FB5B8;stroke-width:1;fill:none;opacity:.35;stroke-dasharray:1200;stroke-dashoffset:1200;animation:draw 2.2s ease forwards}
#intro path:nth-child(2n){animation-delay:.2s}
@keyframes draw{to{stroke-dashoffset:0}}
#intro .nm{position:relative;font:400 clamp(28px,6vw,46px)/1 "Source Serif 4",serif;letter-spacing:.02em;opacity:0;animation:up .9s .5s ease forwards}
#intro .tg{position:relative;margin-top:16px;font-size:12px;letter-spacing:.32em;color:#9AA8B2;opacity:0;animation:up .9s 1.1s ease forwards}
@keyframes up{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
#skip{position:absolute;right:20px;bottom:calc(20px + env(safe-area-inset-bottom,0px));background:none;border:0;color:#9AA8B2;font:inherit;font-size:13px;cursor:pointer;z-index:2;padding:8px}
/* nav */
header{position:fixed;top:0;left:0;right:0;z-index:50;padding-top:env(safe-area-inset-top,0px);background:linear-gradient(var(--bg) 60%,transparent)}
.nav{display:flex;align-items:center;justify-content:space-between;height:68px}
.logo{font:500 20px "Source Serif 4",serif;text-decoration:none;letter-spacing:-.01em}
.links{display:flex;align-items:center;gap:26px;font-size:14px}
.links a.l{text-decoration:none;color:var(--mut)}
.links a.l:hover{color:var(--ink)}
.cb{width:68px;height:68px;border-radius:50%;background:var(--acc);color:#fff;display:grid;place-items:center;text-align:center;font-size:11px;line-height:1.15;font-weight:600;text-decoration:none;margin-top:16px;box-shadow:0 0 0 6px var(--bg)}
.cb:hover{filter:brightness(1.1)}
@media(max-width:700px){.l{display:none}.cb{width:60px;height:60px;font-size:10px}}
:focus-visible{outline:2px solid var(--acc);outline-offset:3px}
/* hero */
.hero{min-height:100svh;display:flex;align-items:center;padding:110px 0 70px;border:0;position:relative;overflow:hidden}
.hero h1{font-size:clamp(32px,4.8vw,58px);max-width:15ch}
.hero p{max-width:48ch;color:var(--mut);font-size:clamp(16px,1.5vw,18px);margin:20px 0 28px}
.btns{display:flex;flex-wrap:wrap;gap:12px}
.btn{display:inline-block;padding:14px 24px;border-radius:999px;border:1px solid var(--ink);text-decoration:none;font-weight:500;font-size:15px;cursor:pointer;background:none;color:var(--ink);font-family:inherit}
.btn.p{background:var(--ink);color:var(--bg)}
.hero svg.bg{position:absolute;right:5%;top:50%;transform:translateY(-50%);width:min(46vw,620px);max-width:none;opacity:.4;pointer-events:none;z-index:-1}




/* intro section */
.two{display:grid;gap:44px;grid-template-columns:1fr}
@media(min-width:860px){.two{grid-template-columns:1fr 1fr;align-items:center}}
h2{font-size:clamp(26px,3.4vw,40px)}
.lead{color:var(--mut);max-width:48ch;margin-top:16px;font-size:17px}
.hub{width:100%;max-width:460px;margin:0 auto;display:block}
.hub .n{fill:var(--card);stroke:var(--line)}
.hub text{fill:var(--ink);font:500 11.5px "Instrument Sans",sans-serif;text-anchor:middle}
.hub .c{fill:var(--deep)}
.hub .ct{fill:var(--on);font:400 17px "Source Serif 4",serif}
.hub line{stroke:var(--acc);stroke-width:1}
/* expertise */
.acc{margin-top:44px;border-top:1px solid var(--ink)}
.it{border-bottom:1px solid var(--line)}
.it button{width:100%;display:flex;gap:18px;align-items:baseline;text-align:left;background:none;border:0;color:inherit;padding:22px 0;cursor:pointer;font:inherit}
.it .no{font-size:14px;color:var(--acc);font-weight:600;min-width:28px}
.it .t{font:500 clamp(19px,2.4vw,26px)/1.2 "Source Serif 4",serif;flex:1;letter-spacing:-.015em}
.it .pl{width:22px;height:22px;position:relative;flex:none;align-self:center}
.it .pl:before,.it .pl:after{content:"";position:absolute;left:0;right:0;top:50%;height:1.5px;background:var(--ink);transition:transform .3s}
.it .pl:after{transform:rotate(90deg)}
.it.open .pl:after{transform:rotate(0)}
.pn{display:grid;grid-template-rows:0fr;transition:grid-template-rows .4s ease}
.it.open .pn{grid-template-rows:1fr}
.pn>div{overflow:hidden}
.pn p{margin:0 0 14px 46px;color:var(--mut);max-width:60ch}
.pn ul{list-style:none;margin:0 0 28px 46px;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.pn li{border:1px solid var(--line);background:var(--card);padding:6px 14px;border-radius:999px;font-size:14px}
/* approach */
.steps{display:grid;gap:0;margin-top:44px;counter-reset:s}
@media(min-width:860px){.steps{grid-template-columns:repeat(4,1fr)}}
.st{padding:22px 22px 26px 0;border-top:2px solid var(--ink);counter-increment:s}
.st:before{content:counter(s);display:block;font:500 28px "Source Serif 4",serif;color:var(--acc);margin-bottom:10px}
.st h3{font-size:20px;margin-bottom:8px}
.st p{margin:0;color:var(--mut);font-size:15px}
/* cta/footer */
.cta{background:var(--deep);color:var(--on);border:0;text-align:left}
.cta h2{max-width:20ch}
.cta .btn{border-color:var(--on);color:var(--on)}
.cta .btn.p{background:var(--on);color:var(--deep)}
footer{padding:28px 0;font-size:13px;color:var(--mut)}
/* contact page */
#contact{display:none;min-height:100svh;padding:120px 0 60px;border:0}
body.cp #contact{display:block}
body.cp main{display:none}
.cd{display:grid;gap:0;margin-top:40px;max-width:640px}
.cd a,.cd div{display:flex;justify-content:space-between;gap:16px;padding:20px 0;border-top:1px solid var(--line);text-decoration:none}
.cd span:first-child{color:var(--mut)}
.wa{margin-top:34px;display:inline-flex;gap:10px}
@media(prefers-reduced-motion:reduce){*{animation-duration:.01s!important;animation-delay:0s!important;transition:none!important}html{scroll-behavior:auto}}

.pn p{margin:0 0 20px 46px}
.sv{margin:0 0 34px 46px;display:grid;gap:0 36px;grid-template-columns:1fr}
@media(min-width:860px){.sv{grid-template-columns:1fr 1fr}}
.sv div{padding:16px 0;border-top:1px solid var(--line)}
.sv b{display:block;font-weight:600;font-size:16px;margin-bottom:4px}
.sv span{color:var(--mut);font-size:15px;display:block;max-width:52ch}
@media(max-width:700px){.pn p,.sv{margin-left:0}}




.hero .hub .spin{transform-box:view-box;transform-origin:200px 200px;animation:rot 80s linear infinite}
.hero .hub .nd{transform-box:fill-box;transform-origin:center;animation:rot 80s linear infinite reverse}
@keyframes rot{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.hero .hub .spin,.hero .hub .nd{animation:none!important}}
@media(max-width:860px){.hero svg.bg{right:auto;left:50%;transform:translate(-50%,-50%);width:min(104vw,560px);opacity:.22}}
.hero .hub .spin{will-change:transform}
.hero.off .hub .spin,.hero.off .hub .nd{animation-play-state:paused}
body.lock{overflow:hidden}
button,a{-webkit-tap-highlight-color:transparent}
.it button:hover .t{color:var(--acc)}
.it.open .t{color:var(--acc)}

.hg{display:grid;gap:40px;align-items:center;grid-template-columns:1fr}
.lgw{display:block;width:clamp(190px,22vw,250px);background:#000;border-radius:14px;overflow:hidden;line-height:0;margin:0 0 26px}
.lgw img{display:block;width:100%;height:auto}
:root[data-theme="dark"] .lgw{background:none}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .lgw{background:none}}
@media(min-width:861px){.hg{grid-template-columns:1.2fr .8fr;gap:56px}
.hero svg.bg{position:static;transform:none;width:100%;max-width:420px;margin:0 auto;opacity:.95;z-index:auto}}
#intro .tg{font-size:11px;letter-spacing:.22em;max-width:34ch;margin-left:auto;margin-right:auto;line-height:1.6}
#intro .lgw{background:none;width:clamp(200px,34vw,300px);margin:22px auto 0;position:relative;opacity:0;animation:up .8s .5s ease forwards}
#intro .lgw img{display:block;width:100%;height:auto}

/* Refined opening identity */
#intro .intro-brand{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center}
#intro .intro-title{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:2px;opacity:0;animation:up .9s .5s ease forwards;font-family:"Instrument Sans",system-ui,sans-serif;color:#E6EAE6}
#intro .intro-title span:first-child{font-family:"Source Serif 4",Georgia,serif;font-size:clamp(34px,7vw,62px);font-weight:500;line-height:.98;letter-spacing:-.035em}
#intro .intro-title span:nth-child(2){font-size:clamp(16px,2.7vw,25px);font-weight:500;letter-spacing:.19em;line-height:1.15;color:#B7C3C9}
#intro .intro-title small{margin-top:8px;font-size:clamp(9px,1.3vw,12px);font-weight:600;letter-spacing:.42em;color:#6FB5B8}
#intro .intro-brand .lgw{width:clamp(125px,17vw,185px);margin:24px auto 0;opacity:0;animation:up .8s .85s ease forwards}
#intro .intro-brand .lgw img{display:block;width:100%;height:auto}
@media(max-width:600px){#intro .intro-title span:first-child{font-size:clamp(30px,10vw,44px)}#intro .intro-title span:nth-child(2){font-size:14px;letter-spacing:.14em}#intro .intro-title small{font-size:9px;letter-spacing:.32em}#intro .intro-brand .lgw{width:125px;margin-top:20px}}

.logo-mark{display:flex;align-items:center;width:170px;height:52px;overflow:hidden}.logo-mark img{width:100%;height:100%;object-fit:contain;object-position:left center;display:block}.logo-mark:hover{opacity:.9}
#why{background:var(--card)}.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);margin-top:44px;border:1px solid var(--line)}.why-grid>div{background:var(--card);padding:28px}.why-grid b{color:var(--acc);font-size:13px}.why-grid h3{font-size:24px;margin:12px 0 6px}.why-grid p{color:var(--mut);margin:0}.answer-flow{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:44px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.answer-flow .st{padding:28px 24px;border-right:1px solid var(--line)}.answer-flow .st:last-child{border-right:0}.answer-flow .st h3{margin:0 0 10px}.answer-flow .st p{color:var(--mut);margin:0}@media(max-width:800px){.why-grid,.answer-flow{grid-template-columns:1fr}.answer-flow .st{border-right:0;border-bottom:1px solid var(--line)}.answer-flow .st:last-child{border-bottom:0}.logo-mark{width:145px}}
<style>
.site-switcher{position:relative;display:inline-flex;align-items:center;max-width:min(430px,52vw);font-family:"Instrument Sans",system-ui,sans-serif}.site-switcher-trigger{appearance:none;border:0;background:transparent;color:var(--ink);display:inline-flex;align-items:center;gap:10px;padding:9px 12px 9px 0;cursor:pointer;text-align:left}.site-switcher-trigger:hover{color:var(--acc)}.site-switcher-trigger .switch-dot{width:6px;height:6px;border-radius:50%;background:var(--acc);box-shadow:0 0 0 4px color-mix(in srgb,var(--acc) 12%,transparent);flex:none}.site-switcher-trigger .switch-name{font-size:11px;font-weight:600;letter-spacing:.13em;line-height:1.25;white-space:nowrap}.site-switcher-trigger .switch-chevron{width:8px;height:8px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .22s ease}.site-switcher.open .switch-chevron{transform:rotate(225deg) translate(-1px,-1px)}.site-switcher-menu{position:absolute;top:calc(100% + 8px);left:0;width:min(360px,calc(100vw - 44px));padding:7px;background:color-mix(in srgb,var(--card) 94%,var(--bg));border:1px solid var(--line);border-radius:12px;box-shadow:0 18px 45px rgba(0,0,0,.16);opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .2s ease,transform .2s ease,visibility .2s ease;backdrop-filter:blur(14px);z-index:70}.site-switcher.open .site-switcher-menu{opacity:1;visibility:visible;transform:none}.site-switcher-option{display:flex;align-items:center;justify-content:space-between;gap:18px;width:100%;padding:12px 13px;border-radius:8px;text-decoration:none;color:var(--ink);font-size:11px;letter-spacing:.08em;line-height:1.4;transition:background .18s ease,color .18s ease}.site-switcher-option:hover{background:color-mix(in srgb,var(--acc) 10%,transparent);color:var(--acc)}.site-switcher-option.current{color:var(--acc);background:color-mix(in srgb,var(--acc) 7%,transparent)}.site-switcher-option strong{font-weight:600}.site-switcher-option small{display:block;margin-top:3px;color:var(--mut);font-size:9px;letter-spacing:.06em}.site-switcher-option .option-arrow{font-size:15px;opacity:.65}.mode-fade{transition:opacity .28s ease,transform .28s ease}.mode-changing .mode-fade{opacity:.25;transform:translateY(4px)}
.services-teaser{position:relative;margin-top:34px;max-width:560px;min-height:155px}.services-label{display:inline-block;font-size:12px;font-weight:800;letter-spacing:.22em;color:var(--acc);padding:9px 14px;border:1px solid var(--acc);border-radius:999px;background:var(--card);position:relative;z-index:2}.curved-arrow{position:absolute;left:90px;top:22px;width:150px;height:92px;overflow:visible;fill:none;stroke:var(--acc);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;opacity:.9}.service-feature{display:inline-flex;align-items:center;gap:10px;margin-top:58px;padding:16px 20px;border:1px solid var(--acc);border-radius:5px;background:linear-gradient(135deg,var(--deep),color-mix(in srgb,var(--deep) 78%,var(--acc)));color:var(--on);font-size:12px;font-weight:700;letter-spacing:.08em;line-height:1.35;text-decoration:none;box-shadow:0 12px 30px color-mix(in srgb,var(--deep) 18%,transparent),inset 0 1px 0 rgba(255,255,255,.08);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}.service-feature:after{content:"↗";font-size:16px;color:var(--acc);margin-left:auto}.service-feature:hover{transform:translateY(-3px);border-color:var(--acc);box-shadow:0 16px 34px color-mix(in srgb,var(--deep) 24%,transparent),inset 0 1px 0 rgba(255,255,255,.1)}.service-feature span{font-weight:600;font-size:10px;letter-spacing:.1em;color:color-mix(in srgb,var(--on) 76%,var(--acc))}
@media(max-width:700px){.consultant-brand{max-width:220px;font-size:8px}.services-teaser{margin-top:28px;min-height:170px}.curved-arrow{left:70px;width:125px}.service-feature{display:flex;flex-direction:column;align-items:flex-start;max-width:100%;margin-top:62px}.service-feature span{font-size:9px}.service-feature:after{position:absolute;right:16px;bottom:14px}}

.explore-below{margin-top:14px}.explore-below a{color:var(--mut);font-size:14px;text-decoration:none;border-bottom:1px solid var(--line);padding-bottom:3px}.explore-below a:hover{color:var(--ink)}