@charset "UTF-8";
:root{--navy:#071d3f;--blue:#2459dd;--ink:#16253c;--muted:#5b697c;--line:#dce3ec;--ice:#f2f6fb;--white:#fff;--max:1248px;color-scheme:light;font-family:Inter,"Aptos","Segoe UI",Arial,sans-serif;color:var(--ink);font-synthesis:none;scroll-behavior:smooth;scroll-padding-top:112px}
*{box-sizing:border-box}
body{margin:0;background:#fff;font-size:16px;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;max-width:100%}h1,h2,h3,p{margin:0}
a,button,summary{-webkit-tap-highlight-color:transparent}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #eda321;outline-offset:6px}
::selection{background:#c4d8ff;color:var(--navy)}
.container{width:min(var(--max),calc(100% - 112px));margin-inline:auto}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;left:20px;top:-100px;background:var(--navy);color:#fff;padding:14px 20px;z-index:100}.skip-link:focus{top:12px}
.site-header{height:100px;border-bottom:1px solid #edf0f5;background:rgba(255,255,255,.97);position:sticky;top:0;z-index:20}
.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:28px}
.brand{display:block;flex-shrink:0;width:186px}
.brand img{width:100%;height:auto;aspect-ratio:3/1;object-fit:cover;object-position:center}
.navigation{display:flex;align-items:center;gap:38px;font-size:.9rem;font-weight:550}
.navigation>a{transition:color .18s}.navigation>a:hover{color:var(--blue)}
.nav-external{display:flex;align-items:center;gap:25px;border-left:1px solid var(--line);padding-left:36px;margin-left:6px;color:var(--muted)}.nav-external span{font-size:1.25rem}
.menu-toggle{display:none}
.hero{display:grid;grid-template-columns:1.04fr 1fr;align-items:center;gap:36px;padding-top:67px;padding-bottom:55px;min-height:682px}
.eyebrow{font-size:.75rem;line-height:1.6;letter-spacing:.14em;font-weight:650;color:var(--blue)}
.hero .eyebrow{display:flex;align-items:center;gap:13px;margin-bottom:25px}
.short-rule{height:2px;width:28px;flex-shrink:0;background:var(--blue)}
h1{font-size:clamp(3.6rem,5.55vw,5rem);line-height:1.06;letter-spacing:-.055em;color:var(--navy);font-weight:600}h1 span{color:var(--blue)}
.hero-description{color:var(--muted);font-size:1.09rem;line-height:1.75;max-width:470px;margin-top:25px}
.hero-actions{display:flex;align-items:center;gap:29px;flex-wrap:wrap;margin-top:31px}
.button{display:inline-flex;align-items:center;justify-content:center;gap:25px;padding:17px 21px;min-height:55px;border-radius:5px;font-size:.9rem;font-weight:600;transition:background .2s,transform .2s}
.button-primary{background:var(--navy);color:white}.button-primary:hover{background:var(--blue);transform:translateY(-2px)}.button span{font-size:1.25rem;line-height:1}
.text-link{display:inline-flex;align-items:center;gap:17px;font-size:.9rem;font-weight:550;padding:12px 0;border-bottom:1px solid transparent}.text-link:hover{border-color:var(--blue);color:var(--blue)}.text-link span{font-size:1.2rem}
.hero-origin{margin-top:42px;font-size:.75rem;letter-spacing:.065em;line-height:1.8;color:#68758a;font-weight:550}.hero-origin span{margin:0 9px;color:#7b8da5}
.hero-visual{align-self:center;min-width:0}.artwork-wrap{aspect-ratio:1/1;border-radius:8px;background:#eaf1fb;overflow:hidden}.hero-art{width:100%;height:100%;object-fit:cover}
.visual-caption{display:flex;justify-content:space-between;gap:15px;margin-top:17px;font-size:.8rem;color:var(--muted)}.caption-index{font-size:.75rem;letter-spacing:.06em;color:#63758f;white-space:nowrap}
.stats-wrap{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.stats{display:grid;grid-template-columns:repeat(3,1fr);padding-block:31px}
.stat{display:flex;align-items:center;gap:24px;padding-left:37px;border-left:1px solid var(--line)}.stat:first-child{border:0;padding-left:0}
.stat strong{font-weight:550;font-size:2.9rem;line-height:1;letter-spacing:-.055em;color:var(--navy)}.stat strong>span{font-size:2.15rem;color:var(--blue);font-weight:400}
.stat p{font-size:.875rem;line-height:1.7;font-weight:600}.stat p>span{font-size:.8rem;color:var(--muted);font-weight:400}
.section-pad{padding-block:105px}
.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:55px;margin-bottom:54px}
.section-heading .eyebrow,.about-heading .eyebrow{margin-bottom:20px}
h2{font-size:clamp(2.1rem,3.5vw,3rem);line-height:1.14;letter-spacing:-.045em;color:var(--navy);font-weight:550}
.section-intro{max-width:360px;font-size:1rem;line-height:1.8;color:var(--muted);padding-bottom:4px}
.expertise{background:var(--ice)}
.expertise-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:52px;align-items:start}
.expertise-item{border-top:1px solid #d3dde9}.expertise-item:nth-last-child(-n+2){border-bottom:1px solid #d3dde9}
.expertise-item summary{list-style:none;display:flex;gap:18px;align-items:center;min-height:92px;cursor:pointer;padding:21px 5px 21px 0;transition:color .2s}.expertise-item summary::-webkit-details-marker{display:none}.expertise-item summary:hover{color:var(--blue)}
.item-number{font-size:.75rem;line-height:1.8;color:#60748f;font-variant-numeric:tabular-nums;align-self:flex-start;padding-top:3px;min-width:22px}
.expertise-item h3{font-size:1.07rem;line-height:1.5;font-weight:550;flex:1;letter-spacing:-.015em}
.expand-icon{display:block;width:24px;height:24px;flex-shrink:0;position:relative;margin-left:4px}
.expand-icon:before,.expand-icon:after{content:"";position:absolute;background:#637995;left:6px;right:6px;top:11px;height:1.5px;transition:transform .2s}.expand-icon:after{transform:rotate(90deg)}
details[open] .expand-icon:after{transform:rotate(0)}details[open] h3{color:var(--blue)}
.expertise-description{padding:0 29px 27px 40px}.expertise-description p{font-size:1rem;line-height:1.75;color:var(--muted)}
.tech-stack{display:flex;align-items:center;justify-content:space-between;gap:35px;margin-top:52px}.tech-stack>span{font-size:.75rem;font-weight:650;letter-spacing:.08em;color:#586c88}
.tech-stack>div{display:flex;align-items:center;flex-wrap:wrap;gap:33px;font-size:.95rem;font-weight:650;color:#536783;letter-spacing:-.015em}
.project-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:22px}
.project{border:1px solid var(--line);padding:30px;border-radius:8px;display:flex;flex-direction:column;min-width:0;transition:transform .22s,border-color .22s}.project:hover{transform:translateY(-4px);border-color:#a5b9d8}
.project-featured{grid-column:span 3;min-height:335px;padding:34px}.project-small{grid-column:span 2;min-height:340px}
.project-top{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:31px}
.project-tag{font-size:.75rem;line-height:1.6;font-weight:650;letter-spacing:.05em}.project-number{font-size:.75rem;color:#61728a;white-space:nowrap}
.project-main{flex:1}.project h3{font-size:1.9rem;letter-spacing:-.05em;color:var(--navy);font-weight:650;margin-bottom:18px}.project h3 span{font-weight:400}
.project-main p{font-size:1rem;line-height:1.7;color:var(--muted);max-width:480px}
.project-link{border-top:1px solid var(--line);margin-top:27px;padding-top:17px;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:.875rem;font-weight:550}.project-link:hover{text-decoration:underline;text-underline-offset:4px}
.project-arrow{width:33px;height:33px;border-radius:50%;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;font-size:1.25rem;flex-shrink:0;transition:transform .2s}.project-link:hover .project-arrow{transform:rotate(45deg)}
.project-navy{background:var(--navy);border-color:var(--navy);color:#f6f8fd}.project-navy h3{color:white;font-size:2.65rem}.project-navy h3>span{color:#a0c1ff}.project-navy .project-main p{color:#c3cddd}.project-navy .project-link,.project-navy .project-arrow{border-color:#3b4e6b}.project-navy .project-tag,.project-navy .project-number{color:#a0c1ff}
.project-ice{background:#edf3fa;border-color:#edf3fa}.project-ice h3{font-size:2.3rem}.project-ice .project-tag{color:#3a628d}
.project-blue{background:#f0f5ff;border-color:#d9e5ff}.project-blue h3 span{color:var(--blue)}
.project-small h3{font-size:1.75rem}.project-small .project-number{display:none}
.about{background:var(--navy);color:#fff}.about-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:35px}.about .eyebrow{color:#9abcfb}.about h2{color:#fff}
.about-location{font-size:.75rem;letter-spacing:.1em;line-height:2;color:#a9bce0}.about-location span{font-size:.9rem;letter-spacing:0;color:#cfdaeb}
.about-story{display:grid;grid-template-columns:1.1fr 1fr;gap:74px;margin-top:44px;padding-bottom:47px;border-bottom:1px solid #304561}.about-story p{font-size:1rem;line-height:1.9;color:#c3cfdf}.about-story strong{font-weight:600;color:white}
.purpose-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:74px;padding-top:46px}.purpose-label{font-size:.75rem;letter-spacing:.09em;color:#98b4df;font-weight:600}.purpose-grid h3{font-size:1.7rem;font-weight:500;letter-spacing:-.03em;margin:13px 0 19px}.purpose-grid p{font-size:1rem;line-height:1.9;color:#c3cfdf}
.values{margin-top:48px;border-top:1px solid #304561;padding-top:35px}.values ul{display:flex;flex-wrap:wrap;gap:20px 44px;list-style:none;padding:0;margin:25px 0 0}.values li{font-size:1.12rem;letter-spacing:-.02em;position:relative}.values li:not(:last-child):after{content:"/";position:absolute;right:-26px;color:#7893bc;font-size:.9rem;top:3px}
.site-footer{padding-top:48px}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:35px;padding-bottom:40px}.footer-brand{width:190px}.footer-top>p{font-size:.92rem;line-height:1.8}.footer-top>p>span{color:var(--muted)}
.footer-link{display:flex;align-items:center;gap:28px;font-weight:550;font-size:1.08rem}.footer-link:hover{color:var(--blue)}.footer-link span{font-size:1.8rem}
.footer-bottom{border-top:1px solid var(--line);padding-block:23px 28px;display:flex;justify-content:space-between;align-items:center;gap:25px;font-size:.75rem;color:var(--muted)}.footer-bottom a{font-size:.875rem}.footer-bottom a span{margin-left:14px}
@media(min-width:1600px){:root{--max:1320px}.hero{gap:65px}.hero h1{font-size:5.35rem}}
@media(max-width:1100px){
.container{width:calc(100% - 72px)}.navigation{gap:24px}.nav-external{padding-left:24px}.hero{gap:25px;min-height:auto;padding-top:55px}h1{font-size:4.1rem}.hero-description{font-size:1rem}.hero-origin{margin-top:32px}.stat{padding-left:25px;gap:18px}.stat strong{font-size:2.5rem}.stat p>span{display:none}.expertise-list{column-gap:36px}.project{padding:25px}.project-featured{padding:30px}.project-small h3{font-size:1.5rem}.section-pad{padding-block:85px}.about-story,.purpose-grid{gap:48px}.tech-stack{align-items:flex-start}.tech-stack>div{gap:19px}
}
@media(max-width:850px){
.container{width:calc(100% - 48px)}.site-header{height:85px}.brand{width:162px}.navigation{gap:22px}.nav-external{display:none}.hero{grid-template-columns:1.05fr .95fr;gap:20px;padding-block:45px}.hero h1{font-size:3.25rem}.hero .eyebrow{font-size:.75rem;gap:8px;letter-spacing:.06em}.short-rule{width:17px}.hero-actions{gap:20px}.button{padding:15px 17px;gap:18px;font-size:.875rem}.text-link{font-size:.875rem}.hero-origin{font-size:.75rem;max-width:275px}.hero-origin span{margin:0 5px}.visual-caption{display:none}.stat{padding-left:18px;gap:13px}.stat strong{font-size:2.2rem}.stat p{font-size:.875rem}.stats{padding-block:25px}.section-heading{gap:30px}.section-intro{max-width:290px;font-size:1rem}.expertise-list{column-gap:25px}.expertise-item h3{font-size:1rem}.expertise-item summary{gap:12px}.expertise-description{padding-left:33px;padding-right:15px}.project-grid{gap:18px}.project-small{grid-column:span 3;min-height:310px}.project-small:last-child{grid-column:span 6;min-height:245px}.project-small:last-child .project-main{display:flex;align-items:flex-start;gap:40px}.project-small:last-child h3{min-width:180px}.project h3{font-size:1.8rem}.project-navy h3{font-size:2.3rem}.project-ice h3{font-size:1.9rem}.tech-stack{flex-direction:column;gap:18px}.about-story,.purpose-grid{gap:35px}.footer-top>p{display:none}
}
@media(max-width:620px){
:root{scroll-padding-top:90px}.container{width:calc(100% - 40px)}.site-header{height:79px}.brand{width:158px}.header-inner{gap:18px}
.menu-toggle{display:flex;flex-direction:column;gap:7px;align-items:center;justify-content:center;width:44px;height:44px;background:transparent;border:1px solid var(--line);border-radius:4px;cursor:pointer}.menu-toggle span{display:block;width:18px;height:1.5px;background:var(--navy);transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4.25px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4.25px) rotate(-45deg)}
.navigation{display:none;position:absolute;left:0;right:0;top:78px;background:#fff;padding:15px 25px 23px;border-bottom:1px solid var(--line);box-shadow:0 12px 18px #071d3f0b;flex-direction:column;align-items:stretch;gap:0}.navigation.is-open{display:flex}.navigation a{padding:15px 0;font-size:1rem}.navigation .nav-external{display:flex;justify-content:space-between;border-left:0;border-top:1px solid var(--line);margin:8px 0 0}
.hero{grid-template-columns:1fr;gap:35px;padding-top:35px;padding-bottom:29px}.hero .eyebrow{font-size:.75rem;gap:10px;margin-bottom:20px;letter-spacing:.055em}.short-rule{width:23px}.hero h1{font-size:clamp(2.9rem,11vw,4.3rem);line-height:1.055}.hero-description{font-size:1rem;line-height:1.75;max-width:410px;margin-top:22px}.hero-actions{gap:22px;margin-top:24px}.button{font-size:.875rem;padding:16px 19px;gap:23px}.text-link{font-size:.875rem;gap:12px}.hero-origin{font-size:.75rem;max-width:none;margin-top:27px}.hero-origin span{margin:0 7px}.hero-visual{width:100%}.artwork-wrap{aspect-ratio:1.2/1}.hero-art{object-position:50% 50%}.visual-caption{display:flex;font-size:.75rem;margin-top:13px}.caption-index{font-size:.75rem}
.stats{padding-block:24px;grid-template-columns:repeat(3,minmax(0,1fr))}.stat,.stat:first-child{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding-left:14px}.stat:first-child{padding-left:0}.stat strong{font-size:2.1rem}.stat strong>span{font-size:1.6rem}.stat p{font-size:.875rem;font-weight:500;line-height:1.5}.stat p>span{display:none}
.section-pad{padding-block:64px}.section-heading{display:block;margin-bottom:34px}.section-heading .eyebrow,.about-heading .eyebrow{font-size:.75rem;margin-bottom:15px}h2{font-size:2.15rem;line-height:1.15}.section-intro{max-width:100%;margin-top:24px;font-size:1rem;line-height:1.75}
.expertise-list{grid-template-columns:1fr;gap:0}.expertise-item:nth-last-child(2){border-bottom:0}.expertise-item summary{min-height:83px;padding-block:21px;gap:14px}.expertise-item h3{font-size:1rem}.item-number{font-size:.75rem}.expertise-description{padding:0 27px 24px 36px}.expertise-description p{font-size:1rem}.tech-stack{margin-top:34px;gap:19px}.tech-stack>div{gap:14px 24px;font-size:.9rem}
.project-grid{grid-template-columns:1fr;gap:17px}.project-featured,.project-small,.project-small:last-child{grid-column:auto;padding:27px;min-height:320px}.project-top{margin-bottom:27px}.project-tag{font-size:.75rem}.project-small .project-number{display:none}.project h3{font-size:1.8rem}.project-navy h3{font-size:2.4rem}.project-ice h3{font-size:2.05rem}.project-main p{font-size:1rem}.project-small:last-child .project-main{display:block}.project-small:last-child h3{min-width:0}.project-link{font-size:.875rem}
.about-heading{display:block}.about-location{margin-top:25px;font-size:.75rem}.about-location br{display:none}.about-location span{margin-left:20px;font-size:.875rem}.about-story{grid-template-columns:1fr;gap:22px;margin-top:30px;padding-bottom:35px}.about-story p,.purpose-grid p{font-size:1rem;line-height:1.85}.purpose-grid{grid-template-columns:1fr;gap:37px;padding-top:35px}.purpose-grid h3{margin:9px 0 15px;font-size:1.65rem}.values{margin-top:36px;padding-top:28px}.values .eyebrow{font-size:.75rem}.values ul{gap:17px 33px;margin-top:20px}.values li{font-size:1rem}.values li:not(:last-child):after{right:-20px}
.site-footer{padding-top:28px}.footer-top{gap:20px;padding-bottom:25px}.footer-brand{width:146px}.footer-link{font-size:.92rem;gap:15px}.footer-link span{font-size:1.4rem}.footer-bottom{align-items:flex-start;flex-direction:column;gap:17px;padding-block:23px;font-size:.75rem;line-height:1.6}.footer-bottom a{font-size:.875rem}
}
@media(max-width:370px){.stat p{font-size:.8125rem}.hero-actions{gap:13px}.visual-caption{display:block}.caption-index{display:none}.project{padding:22px}.project-number{display:none}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.button:hover,.project:hover{transform:none}}
@media print{.site-header{position:static}.menu-toggle,.hero-actions{display:none}.container{width:100%}.hero{min-height:auto}.hero-visual{max-width:350px}.section-pad{padding-block:35px}.project,.purpose-grid article{break-inside:avoid}.about{background:white;color:var(--ink)}.about h2,.about h3,.about p,.about strong{color:var(--ink)}.about .eyebrow,.purpose-label{color:var(--blue)}.project-main p{color:inherit}}
