:root{--bg:#070809;--panel:#101216;--text:#f5f5f3;--muted:#a4a6ac;--line:#292d33;--gold:#cbb083}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Roboto,Helvetica,Arial,sans-serif;line-height:1.5;overflow-x:hidden}a{color:inherit;text-decoration:none}.site-header{position:fixed;z-index:20;top:0;left:0;right:0;height:94px;padding:18px clamp(24px,5vw,72px);display:flex;align-items:center;justify-content:space-between;background:linear-gradient(180deg,rgba(7,8,9,.95),rgba(7,8,9,.58));backdrop-filter:blur(18px)}.brand svg{display:block;width:260px;height:auto;max-width:55vw}.site-header nav{display:flex;gap:32px;color:#b2b4b9;font-size:13px}.site-header nav a{transition:.25s}.site-header nav a:hover{color:#fff}.menu-toggle{border:1px solid #3a3e45;background:#101216;color:#ddd;border-radius:999px;padding:11px 17px;font:inherit;font-size:13px;cursor:pointer;display:inline-flex;align-items:center;gap:10px;transition:.3s}.menu-toggle i{font-style:normal;font-size:17px;line-height:1}.menu-toggle:hover{background:#f4f4f2;color:#090a0b}.site-menu{position:absolute;top:82px;right:clamp(24px,5vw,72px);width:250px;padding:10px;border:1px solid #30343a;border-radius:22px;background:rgba(16,18,22,.96);backdrop-filter:blur(22px);box-shadow:0 20px 60px rgba(0,0,0,.35);display:flex;flex-direction:column;gap:3px;opacity:0;visibility:hidden;transform:translateY(-8px) scale(.98);transform-origin:top right;transition:opacity .25s ease,transform .25s ease,visibility .25s}.site-menu.open{opacity:1;visibility:visible;transform:translateY(0) scale(1)}.site-menu a{padding:14px 15px;border-radius:14px;color:#cfd1d5;font-size:14px}.site-menu a:hover{background:#f4f4f2;color:#090a0b}.hero{min-height:100svh;padding:190px clamp(30px,7.5vw,120px) 100px;display:flex;align-items:center;background:radial-gradient(circle at 60% 65%,rgba(48,51,56,.26),transparent 35%)}.hero-content{max-width:980px}.hero h1 em{margin-left:.12em}.hero h1{font-size:clamp(58px,9vw,126px);line-height:.9;letter-spacing:-.075em;margin:0;font-weight:780}.lead{max-width:770px;color:#aeb0b6;font-size:clamp(18px,2.2vw,28px);line-height:1.55;margin:48px 0 34px}.actions{display:flex;gap:16px;flex-wrap:wrap}.button{min-height:62px;padding:0 29px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:16px;font-weight:650;border:1px solid #353940;transition:transform .28s cubic-bezier(.2,.8,.2,1),background .28s,color .28s,border-color .28s}.button.primary{background:#f5f5f3;color:#090a0b;border-color:#f5f5f3}.button.secondary{color:#ddd;background:transparent}.button:hover{transform:translateY(-3px)}.button:active{transform:scale(.96)}.section{padding:150px clamp(30px,7.5vw,120px);border-top:1px solid #202329}.section-heading{margin-bottom:64px}.eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:12px;color:#858991;margin:0 0 26px}.section h2,.contact-copy h2{font-size:clamp(45px,7vw,92px);line-height:.94;letter-spacing:-.065em;margin:0}.services-section{min-height:100svh}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{position:relative;isolation:isolate;overflow:hidden;min-height:250px;padding:38px 42px 34px;border:1px solid #2b2f35;border-radius:38px;background:#101216;cursor:pointer;transition:min-height .55s cubic-bezier(.2,.8,.2,1),transform .45s cubic-bezier(.2,.8,.2,1),border-color .35s,box-shadow .35s}.card:before{content:"";position:absolute;z-index:0;inset:0;background:#f4f3ef;clip-path:circle(0% at 50% 50%);transition:clip-path .8s cubic-bezier(.16,1,.3,1)}.card.active:before{clip-path:circle(150% at 50% 50%)}.card>*{position:relative;z-index:1}.card.active{color:#0a0b0c;border-color:#f4f3ef;transform:translateY(-5px);box-shadow:0 20px 70px rgba(0,0,0,.25)}.card>span{position:relative;font-size:12px;letter-spacing:.16em;color:#8b8e95}.card h3{position:relative;font-size:clamp(29px,3vw,44px);letter-spacing:-.045em;margin:58px 0 16px}.card p{position:relative;color:#a7a9af;font-size:19px;line-height:1.55;margin:0;max-width:500px;max-height:0;overflow:hidden;opacity:0;transform:translateY(10px);transition:max-height .5s ease,opacity .3s ease,transform .45s ease}.card.active{min-height:430px}.card.active p{max-height:240px;opacity:1;transform:translateY(0)}.card.active>span,.card.active p{color:#656970}.projects-section{padding-top:130px}.project-card{border:1px solid #2b2f35;border-radius:38px;background:#101216;padding:42px;display:flex;justify-content:space-between;gap:40px;align-items:flex-end;margin-bottom:18px}.project-card>div{max-width:1050px}.project-card>div>span{font-size:12px;letter-spacing:.16em;color:#858991}.project-card h3{font-size:clamp(55px,8vw,110px);line-height:.9;letter-spacing:-.08em;margin:65px 0 20px}.project-card p{color:#a4a6ac;font-size:18px;line-height:1.55}.project-detail{max-width:980px;margin-top:22px}.project-status{color:#d7d7d3!important;border-left:2px solid #cbb083;padding-left:16px;margin-top:24px}.guard-project{background:linear-gradient(145deg,#101216,#0d0f12)}.guard-details{display:none}.guard-project.expanded .guard-details{display:block}.guard-toggle{font:inherit;color:#ddd;background:transparent;cursor:pointer}.guard-toggle i{font-style:normal;margin-left:12px}.tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.tags span{font-size:10px;border:1px solid #383c42;padding:6px 9px;color:#aaa}.project-link{border:1px solid #3a3e45;border-radius:999px;padding:15px 20px;white-space:nowrap;transition:.3s}.project-link:hover{background:#fff;color:#000}.project-link i{font-style:normal;margin-left:12px}.statement{padding:190px clamp(30px,7.5vw,120px);border-top:1px solid #202329;background:#f2f1ed;color:#0a0b0c}.statement .eyebrow{color:#73757a}.statement h2{font-size:clamp(55px,8vw,115px);line-height:.9;letter-spacing:-.075em;margin:0}.contact-section{position:relative;min-height:850px;display:grid;grid-template-columns:1fr minmax(320px,560px);align-items:end;gap:50px}.contact-section>.mail-card{grid-column:2}.contact-section>.contact-animation{grid-column:2;grid-row:2}.contact-copy h2{max-width:800px}.contact-copy .lead{font-size:20px;margin-top:28px}.mail-card{position:relative;justify-self:end;width:min(100%,560px);min-height:82px;padding:27px 30px;border:1px solid #30343a;border-radius:26px;display:flex;align-items:center;justify-content:space-between;color:#ddd;transition:min-height .75s cubic-bezier(.2,.8,.2,1),background .3s,border-color .3s,transform .3s;overflow:hidden}.mail-card:hover{background:#f4f3ef;color:#090a0b;transform:translateY(-4px)}.mail-card:active{transform:scale(.98)}.mail-card i{font-style:normal;font-size:22px}.mail-address{transition:transform .5s ease}.mail-message{display:block;position:absolute;left:30px;right:30px;top:112px;opacity:0;transform:translateY(18px);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:15px;line-height:1.45;transition:opacity .45s ease .2s,transform .6s cubic-bezier(.2,.8,.2,1) .2s}.mail-card.expanded{min-height:290px;background:#101216;border-color:#30343a;align-items:flex-start}.mail-card.expanded:hover{background:#101216;color:#ddd}.mail-card.expanded .mail-address{position:absolute;left:30px;top:34px;transform:none}.mail-card.expanded>i{position:absolute;right:30px;top:32px}.mail-card.expanded .mail-message{top:105px;opacity:1;transform:translateY(0)}.cursor{animation:blink .85s steps(1) infinite}.cursor.done{animation:none;opacity:0}@keyframes blink{50%{opacity:0}}footer{padding:28px clamp(30px,5vw,72px);border-top:1px solid #202329;color:#70737a;font-size:11px;display:grid;grid-template-columns:1fr auto 1fr;gap:20px}footer div{display:flex;gap:22px}footer span:last-child{text-align:right}.footer-membership{display:inline-flex;align-items:center;justify-content:flex-end;gap:7px;color:#70737a}.footer-membership>span{white-space:nowrap}.ihk-mark{width:16px;height:16px;flex:0 0 16px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}footer a:hover{color:#fff}@media(max-width:850px){.site-header{height:90px;padding:17px 22px}.brand svg{width:260px;max-width:58vw}.site-header nav{display:none}.menu-toggle{display:inline-flex}.site-menu{top:78px;right:22px;width:min(280px,calc(100vw - 44px))}.hero{padding:145px 30px 80px;min-height:100svh}.hero h1{font-size:clamp(54px,14vw,90px)}.hero .lead{font-size:22px;line-height:1.52;margin-top:44px}.actions{gap:12px}.button{min-height:58px;padding:0 25px}.section{padding:110px 30px}.section-heading{margin-bottom:48px}.cards{grid-template-columns:1fr;gap:18px}.card{min-height:205px;padding:34px 34px;border-radius:34px}.card.active{min-height:390px}.card h3{margin-top:48px}.card p{font-size:18px}.projects-section{display:block;padding-top:90px}.project-card{padding:30px;border-radius:30px;display:flex;flex-direction:column;align-items:stretch;gap:28px}.project-card h3{margin:48px 0 18px;font-size:clamp(52px,15vw,82px)}.project-card p{font-size:17px}.project-detail{font-size:16px!important}.project-link{align-self:flex-start}.statement{padding:130px 30px}.contact-section{min-height:760px;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-end}.contact-copy h2{font-size:clamp(48px,13vw,78px)}.mail-card{width:100%;margin-top:55px;transform:none}.mail-card:hover{transform:translateY(-4px)}.mail-card:active{transform:scale(.98)}.mail-card.expanded{min-height:290px}.contact-animation{right:auto;bottom:auto}footer{grid-template-columns:1fr;gap:12px;padding:25px 30px}footer span:last-child{text-align:left}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

.legal-page{padding-top:170px;min-height:100vh}.legal-page h1{font-size:clamp(52px,8vw,110px);line-height:.9;letter-spacing:-.075em;margin:0}.legal-content{max-width:820px;margin-top:60px;color:#a4a6ac;font-size:17px;line-height:1.7}.legal-content h2{font-size:clamp(24px,3vw,34px)!important;line-height:1.05!important;letter-spacing:-.035em!important;color:#f5f5f3;margin:48px 0 16px!important}.legal-content p{margin:0 0 20px}.legal-content ul{padding-left:24px;margin:0 0 24px}.legal-content li{margin:8px 0}.legal-content a{text-decoration:underline;text-underline-offset:3px}.legal-note{color:#73767d!important;font-size:13px;margin-top:55px!important}.legal-back{margin-top:60px}.type-cursor{font-weight:300;color:#777;margin-left:4px;animation:blink .85s steps(1) infinite}.card{opacity:1;transform:none}.card.entered{opacity:1;transform:none;transition:opacity .7s ease,transform .8s cubic-bezier(.2,.8,.2,1)}