@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap');
:root{--bg:#0b1220;--bg-deep:#090f19;--panel:#111b2a;--line:#293447;--text:#f4f3ef;--muted:#a5aebc;--accent:#c5f277;--accent-dark:#1b2d18;--font-head:'Space Grotesk',system-ui,sans-serif;--font-body:'DM Sans',system-ui,sans-serif}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:92px}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.65 var(--font-body);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible{outline:3px solid var(--accent);outline-offset:5px}::selection{background:var(--accent);color:var(--bg)}img{display:block;max-width:100%}.container{width:min(1180px,calc(100% - 64px));margin-inline:auto}.skip-link{position:absolute;left:20px;top:-90px;z-index:99;background:var(--accent);padding:10px 16px;color:#111}.skip-link:focus{top:10px}.page-glow{position:absolute;pointer-events:none;top:0;right:0;width:70vw;height:800px;background:radial-gradient(ellipse at 60% 20%,#1b374338,transparent 68%);z-index:-1}
.site-header{height:92px;border-bottom:1px solid #ffffff15;position:relative;z-index:5}.header-inner{display:flex;align-items:center;justify-content:space-between;height:100%;gap:25px}.identity{display:flex;align-items:center;gap:14px;font:700 13px/1 var(--font-head);letter-spacing:.18em;white-space:nowrap}.identity-mark{font-size:28px;letter-spacing:-.12em}.mark-dot{color:var(--accent)}.main-nav{display:flex;gap:34px;color:#cbd0da;font-size:13px;font-weight:700}.main-nav a,.hero-links a,.footer a{transition:color .2s}.main-nav a:hover,.hero-links a:hover,.footer a:hover{color:var(--accent)}.header-contact{background:var(--accent);color:var(--bg);padding:11px 19px;font-size:13px;font-weight:700;transition:background .2s;white-space:nowrap}.header-contact:hover,.btn-primary:hover{background:#e0ffa5}.header-contact span{padding-left:16px}
.hero{min-height:710px;padding-block:95px 105px;display:grid;grid-template-columns:1.13fr .87fr;gap:65px;align-items:center}.hero-copy{position:relative;z-index:2}.eyebrow,.section-index,.tiny-label{font:700 11px/1.3 var(--font-head);letter-spacing:.19em}.eyebrow{display:flex;align-items:center;flex-wrap:wrap;gap:13px;color:var(--accent);margin-bottom:39px}.slash{color:#647286}.pulse{display:inline-block;width:8px;height:8px;background:var(--accent);border-radius:50%;box-shadow:0 0 16px #c5f27780}.hero-kicker{font:500 clamp(19px,2vw,25px)/1.2 var(--font-head);margin:0 0 19px;color:#d2d9e2}.hero h1,.section-heading h2,.contact-inner h2{font-family:var(--font-head);font-weight:600;letter-spacing:-.065em}.hero h1{font-size:clamp(43px,4.75vw,68px);line-height:1.115;margin:0 0 27px}.hero h1 span{color:var(--accent)}.hero-description{font-size:16px;line-height:1.85;color:var(--muted);max-width:520px;margin:0 0 32px}.hero-actions{display:flex;gap:13px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:33px;padding:14px 20px;font-weight:700;font-size:13px;min-height:54px;transition:background .2s,border-color .2s}.btn-primary{background:var(--accent);color:var(--bg)}.btn-secondary{border:1px solid #677184;color:var(--text)}.btn-secondary:hover{border-color:var(--accent)}.hero-links{display:flex;align-items:center;flex-wrap:wrap;gap:19px;margin-top:41px;color:#a7b0bf;font-size:12px;font-weight:700}.link-separator{height:15px;width:1px;background:#536073}
.hero-visual{position:relative;max-width:460px;width:100%;margin-left:auto}.portrait-backdrop{position:absolute;inset:25px -22px -19px 25px;border:1px solid #507452;background:linear-gradient(145deg,#253d38,#111d2b);transform:rotate(4deg)}.portrait-frame{height:auto;aspect-ratio:4/5;position:relative;background:linear-gradient(150deg,#283e40,#1b2b30 55%,#101c28);border:1px solid #577365;overflow:hidden}.portrait-frame img{width:100%;height:100%;object-fit:cover;object-position:center 26%;filter:saturate(.86)}.portrait-placeholder{display:none;position:absolute;inset:0;align-items:center;justify-content:center;flex-direction:column;gap:9px;color:#bed9c2;font:700 12px/1.2 var(--font-head);letter-spacing:.22em}.portrait-empty .portrait-placeholder{display:flex}.portrait-placeholder svg{width:115px;height:115px;opacity:.6;margin-bottom:10px}.portrait-placeholder small{font:400 12px var(--font-body);letter-spacing:0;color:#a3b5af}.portrait-label{position:absolute;bottom:-34px;left:-37px;background:var(--accent);color:#0b1820;padding:19px 50px 21px 23px;min-width:290px;box-shadow:10px 12px 0 #0b1220;display:flex;flex-direction:column;gap:7px}.portrait-label strong{font:600 19px/1.2 var(--font-head);letter-spacing:-.04em}.portrait-label .tiny-label{font-size:9px;letter-spacing:.17em}.label-arrow{position:absolute;right:17px;top:18px;font-size:23px}.vertical-note{position:absolute;right:-38px;top:8px;writing-mode:vertical-rl;font:600 9px var(--font-head);letter-spacing:.23em;color:#7c8b98}
.ticker{border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden}.ticker-inner{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:22px;white-space:nowrap}.ticker span{font:700 11px var(--font-head);letter-spacing:.1em;color:#9aa8b8}.ticker i{display:block;flex:none;width:5px;height:5px;background:var(--accent);transform:rotate(45deg)}
.section{padding-block:125px}.section-index{color:var(--accent)}.section-heading h2{font-size:clamp(40px,5vw,69px);line-height:1.14;margin:29px 0 0}.section-heading h2 em,.contact-inner h2 em{font-style:normal;color:var(--accent)}.about-section{display:grid;grid-template-columns:1fr 1fr;column-gap:110px}.about-copy{padding-top:34px;color:var(--muted);max-width:530px}.about-copy p{margin:0 0 20px}.about-copy .lead{font:500 clamp(20px,2.1vw,27px)/1.5 var(--font-head);color:var(--text);letter-spacing:-.027em;margin-bottom:26px}.text-link{display:inline-flex;gap:18px;color:var(--accent);font-weight:700;font-size:14px;margin-top:14px;border-bottom:1px solid #c5f27780;padding-bottom:7px}.text-link:hover{border-color:var(--accent)}
.expertise-wrap{background:#111b2a;border-top:1px solid #ffffff10;border-bottom:1px solid #ffffff10}.section-topline{display:flex;justify-content:space-between;align-items:center;gap:15px}.section-topline p{font:700 11px var(--font-head);letter-spacing:.16em;color:#8090a1}.expertise-title h2{margin-top:25px}.expertise-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:57px}.expertise-card{background:#162233;border:1px solid #324052;padding:31px 28px 29px;min-height:378px;display:flex;flex-direction:column;transition:transform .2s,border-color .2s}.expertise-card:hover{transform:translateY(-5px);border-color:#718f69}.card-number{font:600 12px var(--font-head);color:#8594a8}.card-symbol{font:500 37px/1.5 var(--font-head);color:var(--accent);min-height:83px}.expertise-card h3{font:600 25px/1.25 var(--font-head);letter-spacing:-.04em;margin:0 0 15px}.expertise-card p{font-size:14px;color:var(--muted);margin:0 0 27px}.tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto}.tags span{border:1px solid #425063;color:#bec8d4;padding:5px 10px;font-size:10px;font-weight:700;letter-spacing:.04em}
.work-title h2{margin-top:26px}.project-list{margin-top:55px;border-top:1px solid #364354}.project-item{display:grid;grid-template-columns:55px minmax(0,1fr) 155px 36px;align-items:center;gap:22px;min-height:116px;border-bottom:1px solid #364354;transition:padding .2s,background .2s}.project-item:hover{padding-inline:13px;background:#ffffff06}.project-count{color:var(--accent);font:600 12px var(--font-head)}.project-content{display:flex;flex-direction:column;gap:6px;min-width:0}.project-content strong{font:600 clamp(22px,2.6vw,32px)/1.2 var(--font-head);letter-spacing:-.04em;overflow-wrap:anywhere}.project-content small{font:400 13px var(--font-body);color:var(--muted)}.project-category{font:600 10px var(--font-head);letter-spacing:.1em;color:#a7b5c5}.project-arrow{font-size:27px;color:var(--accent);text-align:right}
.contact-section{background:var(--accent);color:#112019;padding-block:90px 95px}.contact-top{display:flex;justify-content:space-between;align-items:center}.contact-top .section-index{color:#3e6641}.contact-star{font-size:40px;line-height:1}.contact-intro{font:700 11px var(--font-head);letter-spacing:.2em;margin:68px 0 18px;color:#36533f}.contact-inner h2{font-size:clamp(48px,7.4vw,102px);line-height:1.02;margin:0 0 50px}.contact-inner h2 em{color:#3e684b}.email-feature{border-top:1px solid #4f8051;border-bottom:1px solid #4f8051;min-height:137px;display:grid;grid-template-columns:1fr auto 34px;align-items:center;gap:24px}.email-feature>span:first-child{font:700 11px var(--font-head);letter-spacing:.15em}.email-feature strong{font:600 clamp(24px,4.1vw,54px)/1.1 var(--font-head);letter-spacing:-.055em;overflow-wrap:anywhere}.email-arrow{font-size:33px}.email-feature:hover strong{text-decoration:underline;text-underline-offset:7px}.contact-social{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:35px}.contact-social a{border-bottom:1px solid #659465;display:grid;grid-template-columns:1fr auto;column-gap:15px;row-gap:9px;padding-bottom:20px}.contact-social a>span:first-child{grid-column:1/-1;font:700 10px var(--font-head);letter-spacing:.16em;color:#46664b}.contact-social strong{font:600 clamp(15px,1.8vw,20px) var(--font-head);overflow-wrap:anywhere}.contact-social a>span:last-child{font-size:21px}.contact-social a:hover strong{text-decoration:underline}
.footer{background:#0a111c;color:#8996a7}.footer-inner{min-height:90px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:12px}
@media(max-width:1050px){.hero{gap:40px}.hero h1{font-size:clamp(42px,5.1vw,59px)}.ticker-inner{gap:19px}.ticker span{font-size:9px}.about-section{gap:48px}.expertise-card{padding:25px 22px}}
@media(max-width:760px){.container{width:min(100% - 38px,560px)}.site-header{height:75px}.identity-label{font-size:11px}.identity-mark{font-size:25px}.main-nav{display:none}.header-contact{padding:10px 14px}.hero{min-height:0;grid-template-columns:1fr;gap:59px;padding-block:62px 94px}.eyebrow{gap:9px;font-size:9px;margin-bottom:30px}.hero h1{font-size:clamp(37px,8.4vw,59px);letter-spacing:-.055em}.hero-description{font-size:15px}.hero-links{margin-top:30px}.hero-visual{width:min(100% - 35px,410px);margin:0 auto 0 12px}.portrait-label{left:-12px;bottom:-30px;min-width:240px;padding:15px 42px 17px 18px}.portrait-label strong{font-size:16px}.vertical-note{right:-32px}.ticker-inner{justify-content:flex-start;gap:23px;overflow-x:auto;scrollbar-width:none}.ticker-inner::-webkit-scrollbar{display:none}.ticker{overflow:hidden}.ticker span{font-size:10px}.section{padding-block:82px}.about-section{grid-template-columns:1fr;gap:20px}.about-copy{padding-top:0}.section-heading h2{font-size:clamp(38px,9vw,58px)}.expertise-grid{grid-template-columns:1fr;gap:13px;margin-top:42px}.expertise-card{min-height:0;padding:25px}.card-symbol{min-height:70px}.section-topline p{font-size:9px;text-align:right}.project-item{grid-template-columns:25px minmax(0,1fr) 25px;gap:12px;min-height:99px}.project-category{display:none}.project-content strong{font-size:23px}.project-content small{font-size:12px}.project-arrow{font-size:23px}.contact-section{padding-block:69px}.contact-intro{margin-top:48px}.contact-inner h2{font-size:clamp(46px,10vw,75px)}.email-feature{grid-template-columns:1fr 26px;gap:12px;padding-block:25px}.email-feature>span:first-child{grid-column:1/-1}.email-feature strong{font-size:clamp(27px,6.5vw,42px)}.email-arrow{font-size:26px}.contact-social{grid-template-columns:1fr;gap:21px}.footer-inner{padding-block:25px;gap:8px}.footer-inner span:nth-child(2){order:3;flex-basis:100%}}
@media(max-width:370px){.container{width:calc(100% - 28px)}.identity{gap:7px}.header-contact{font-size:11px}.header-contact span{padding-left:4px}.hero h1{font-size:35px}.hero-actions{flex-direction:column;align-items:stretch}.hero-visual{width:calc(100% - 24px)}.hero-links{gap:12px}.contact-inner h2{font-size:42px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
