.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}@font-face{font-family:Montserrat Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/montserrat-cyrillic-ext-wght-normal.CO5hGrJv.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Montserrat Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/montserrat-cyrillic-wght-normal.EAA9jha_.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Montserrat Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/montserrat-vietnamese-wght-normal.k7S-YeeD.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Montserrat Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/montserrat-latin-ext-wght-normal.BsZE-iaG.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Montserrat Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/montserrat-latin-wght-normal.l_AIctKy.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Zen Antique;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/zen-antique-japanese-400-normal.C0qcIwyp.woff2) format("woff2"),url(/_astro/zen-antique-japanese-400-normal.BwAXPYbP.woff) format("woff")}:root{--bg-color: #f4f3ee;--bg-inverse: #0f1115;--surface-soft: #fbfaf6;--surface-mid: #eeebe3;--surface-deep: #d9d4c7;--text-main: #2a2a2a;--text-sub: #6b6f76;--text-muted: #9ca0a7;--accent: #1e3a5f;--accent-soft: #5a7a94;--accent-deep: #0f1c30;--accent-muted: #a69f93;--accent-cyan: #1e3a5f;--accent-purple: #1e3a5f;--accent-orange: #5a7a94;--accent-gradient: linear-gradient(135deg, #2e5180, #1e3a5f, #0f1c30);--glass-bg: rgba(244, 243, 238, .85);--modal-bg: rgba(244, 243, 238, .95);--fs-display: clamp(2.4rem, 5vw + 1rem, 5rem);--fs-h2: clamp(1.2rem, 2vw + .5rem, 2rem);--fs-h3: .8rem;--fs-body: 1rem;--fs-small: .85rem;--font-jp: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic UI", "Yu Gothic", Meiryo, system-ui, sans-serif;--font-latin-jp: "Montserrat Variable", "Hiragino Sans", "Yu Gothic UI", Meiryo, system-ui, sans-serif;--sp-xs: 4px;--sp-sm: 12px;--sp-md: 24px;--sp-lg: 48px;--sp-xl: 96px;--radius-sm: 6px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--ease-out-quart: cubic-bezier(.22, 1, .36, 1);--ease-in-out-quart: cubic-bezier(.4, 0, .2, 1);--dur-fast: .2s;--dur-mid: .4s;--dur-slow: .8s;--font-pulse-wght: 0}body.theme-dark{--bg-color: #0f1115;--text-main: #e8e6e1;--text-sub: #9ca0a7;--surface-soft: #1a1e28;--surface-mid: #161922}:root{--font-pulse-wght: 0;--bg-color: #F4F3EE;--text-main: #2A2A2A;--text-sub: #6B6F76;--glass-bg: rgba(244, 243, 238, .85);--modal-bg: rgba(244, 243, 238, .95);--accent: #1E3A5F;--accent-soft: #5A7A94;--accent-deep: #0F1C30;--accent-muted: #A69F93;--accent-cyan: #1E3A5F;--accent-purple: #1E3A5F;--accent-orange: #5A7A94;--accent-gradient: linear-gradient(135deg, #2E5180, #1E3A5F, #0F1C30);--fs-display: clamp(2.4rem, 5vw + 1rem, 5rem);--fs-h2: clamp(1.2rem, 2vw + .5rem, 2rem);--fs-h3: .8rem;--fs-body: 1rem;--fs-small: .85rem;--sp-xs: 4px;--sp-sm: 12px;--sp-md: 24px;--sp-lg: 48px;--sp-xl: 96px}h1,h2,h3,h4,.hero-eyebrow,.step-heading p{text-wrap:balance}p,.philosophy-body,.philosophy-closer,.bento-desc,.case-text,.modal-desc,.case-preview-result{text-wrap:pretty}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background-color:var(--bg-color);color:var(--text-main);overflow-x:hidden;width:100%;cursor:none}.skip-link{position:fixed;top:-40px;left:16px;padding:8px 16px;background:#1e3a5f;color:#f4f3ee;text-decoration:none;font-weight:700;font-size:.85rem;border-radius:6px;z-index:10000;transition:top .2s ease}.skip-link:focus-visible{top:16px;outline:3px solid #5A7A94;outline-offset:2px}.tech-showcase,.impact-numbers,.case-studies,.labs,.pre-footer-cta,footer{content-visibility:auto;contain-intrinsic-size:auto 700px}.fonts-loaded body{font-family:var(--font-latin-jp)}html.touch-device body{cursor:auto}.scroll-progress{position:fixed;top:0;left:0;width:0%;height:3px;background:var(--accent-gradient);z-index:100;animation:scroll-fill linear both;animation-timeline:scroll()}@keyframes scroll-fill{0%{width:0%}to{width:100%}}#tech-canvas{position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1;opacity:0;transition:opacity .8s ease}#tech-canvas.visible{opacity:.6}.custom-cursor{position:fixed;width:20px;height:20px;border:1.5px solid #1E3A5F;border-radius:50%;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);transition:width .2s,height .2s,border-color .2s,background .2s;will-change:transform;mix-blend-mode:difference;opacity:0}.custom-cursor.visible{opacity:1}.custom-cursor.hover{width:44px;height:44px;background:linear-gradient(135deg,#2e518052,#1e3a5f52,#0f1c3052);border-color:transparent}html.touch-device .custom-cursor,html.touch-device #trail-canvas{display:none}.container{max-width:1140px;margin:0 auto;padding:0 24px;position:relative;z-index:1}section{padding:0}.gradient-text-hero{background:var(--accent-gradient);background-size:200% 100%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.gradient-text{color:#1e3a5f}h3{font-size:.8rem;font-weight:700;letter-spacing:.25em;text-transform:uppercase;color:#999;margin-bottom:40px;text-align:center}header{position:fixed;top:0;width:100%;padding:20px 40px;display:flex;justify-content:space-between;align-items:center;z-index:10;background:#f4f3eee0;border-bottom:1px solid rgba(42,42,42,.06);transition:background .6s,border-color .6s}header.enhanced{background:#f4f3eeb3;backdrop-filter:blur(10px)}.logo{font-weight:900;font-size:1.5rem;letter-spacing:.1em;cursor:pointer;background:linear-gradient(135deg,#2a2a2a,#1e3a5f);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;opacity:0;animation:fade-up .5s ease forwards;border:none;padding:0;font-family:inherit;text-decoration:none}.logo:focus-visible{outline:2px solid var(--accent);outline-offset:6px;border-radius:4px}button:focus-visible,a:focus-visible,[role=button]:focus-visible{outline:2px solid var(--accent, #1E3A5F);outline-offset:3px;border-radius:4px}.ambient-btn{background:#f4f3ee99;border:1px solid rgba(42,42,42,.08);backdrop-filter:blur(10px);width:38px;height:38px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.05rem;transition:transform .2s,background .3s}.ambient-btn:hover{transform:scale(1.08)}.ambient-btn.active{background:var(--accent-gradient);border-color:transparent}body.theme-dark .ambient-btn{background:#14141499;border-color:#ffffff14}.hero{height:100vh;display:flex;align-items:center;justify-content:center;text-align:center;perspective:1200px;perspective-origin:50% 45%}.hero-content{transform-style:preserve-3d;will-change:transform}.hero-content h1{font-size:clamp(2.4rem,5vw + 1rem,5rem);font-weight:400;line-height:1.2;margin-bottom:20px;letter-spacing:.02em}.hero-content h2{font-size:clamp(1.2rem,2vw + .5rem,2rem);font-weight:700;margin-bottom:40px}.hero-content .hero-eyebrow{font-size:1rem;color:var(--text-sub);letter-spacing:.1em;text-transform:uppercase;opacity:0;animation:fade-up .6s ease .1s forwards}.hero-title{-webkit-text-fill-color:unset;background:none;position:relative}.hero-title .char{display:inline-block;font-family:Zen Antique,serif;color:#2a2a2a;filter:url(#ink-filter);clip-path:inset(0 100% 0 0);animation:brush-wipe .6s cubic-bezier(.4,0,.2,1) forwards;animation-delay:calc(.4s + var(--i) * .12s)}body.theme-dark .hero-title .char{color:#e8e6e1}.hero-title .char-line{display:inline-block}@keyframes brush-wipe{0%{clip-path:inset(0 100% 0 0)}60%{clip-path:inset(0 0% 0 0)}to{clip-path:inset(0 0% 0 0);filter:url(#ink-filter)}}.hero-subtitle .word{display:inline-block;opacity:0;transform:translateY(12px);animation:fade-up .5s cubic-bezier(.22,1,.36,1) forwards;animation-delay:calc(2s + var(--i) * .12s);margin-right:.3em;font-variation-settings:"wght" calc(700 + var(--font-pulse-wght, 0) * 150);transition:font-variation-settings .08s linear}.tech-showcase h3,.case-studies h3,.labs h3,.impact-numbers h3{font-variation-settings:"wght" calc(700 + var(--font-pulse-wght, 0) * 80);transition:font-variation-settings .08s linear}.bento-title{font-variation-settings:"wght" 700;transition:font-variation-settings .28s cubic-bezier(.22,1,.36,1)}.bento-card:hover .bento-title{font-variation-settings:"wght" 880}@keyframes gradient-shimmer{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}@supports (animation-timeline: scroll()){.hero-content{animation:hero-parallax linear both;animation-timeline:scroll();animation-range:0vh 60vh}@keyframes hero-parallax{0%{transform:scale(1) translateY(0);opacity:1}to{transform:scale(.88) translateY(-60px);opacity:0}}}@keyframes fade-up{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}.cta-btn{display:inline-block;margin-top:32px;padding:18px 52px;border-radius:8px;background:#1e3a5f;color:#f4f3ee;font-weight:700;font-size:.95rem;letter-spacing:.06em;text-decoration:none;position:relative;overflow:hidden;box-shadow:0 4px 16px #00000026;transition:transform .2s,box-shadow .2s;--magnetic-x: 0px;--magnetic-y: 0px;transform:translate(var(--magnetic-x),var(--magnetic-y));opacity:0;animation:cta-enter .6s cubic-bezier(.22,1,.36,1) 3s forwards}.cta-btn:before{content:"";position:absolute;inset:0;background:var(--accent-gradient);opacity:0;transition:opacity .3s;z-index:-1}.cta-btn:after{content:"";position:absolute;top:0;left:-100%;width:50%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.15),transparent);z-index:2;pointer-events:none;animation:shimmer-sweep 4s ease-in-out 3s infinite}.cta-btn:hover{transform:translate(var(--magnetic-x),var(--magnetic-y)) translateY(-2px);box-shadow:0 8px 28px #1e3a5f47;background:transparent}.cta-btn:hover:before{opacity:1}@keyframes cta-enter{0%{opacity:0;transform:translate(var(--magnetic-x),var(--magnetic-y)) translateY(20px)}to{opacity:1;transform:translate(var(--magnetic-x),var(--magnetic-y))}}@keyframes shimmer-sweep{0%,70%{left:-100%}to{left:200%}}@keyframes cta-glow{0%,to{box-shadow:0 4px 16px #00000026}50%{box-shadow:0 4px 24px #1e3a5f47,0 0 40px #5a7a941f}}.cta-btn.glowing{animation:cta-glow 3s ease-in-out infinite}.section-hidden{opacity:0;transform:translateY(40px)}.section-visible{opacity:1;transform:translateY(0);transition:opacity .8s ease,transform .8s cubic-bezier(.22,1,.36,1)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.custom-cursor,#trail-canvas,.scroll-progress{display:none!important}.hero-title .char,.hero-subtitle .word,.hero-eyebrow,.cta-btn,.logo{opacity:1!important;transform:none!important;filter:url(#ink-filter)!important;clip-path:none!important}.section-hidden{opacity:1!important;transform:none!important}}@media(max-width:768px){.hero-title .char{animation-duration:.5s;filter:none;animation-delay:calc(.2s + var(--i) * .05s)}}@media(max-width:480px){header{padding:16px 20px}}.philosophy{padding:120px 0 80px;text-align:left}.philosophy-lead{font-size:clamp(1.3rem,1.5vw + .5rem,1.6rem);font-weight:700;line-height:1.6;margin-bottom:32px;color:var(--text-main)}.philosophy-body{font-size:1.05rem;line-height:2.2;color:var(--text-sub);margin-bottom:40px;max-width:640px}.highlight{font-weight:700;color:var(--text-main);border-bottom:none;background-image:linear-gradient(#1e3a5f,#1e3a5f);background-size:0% 2px;background-position:left bottom;background-repeat:no-repeat;transition:background-size .8s ease;padding-bottom:2px}.highlight.animate-underline{background-size:100% 2px}.philosophy-signature{padding-top:32px;border-top:1px solid #eee}.philosophy-brand{font-size:1.3rem;font-weight:900;letter-spacing:.05em;margin-bottom:12px;color:var(--text-main)}.philosophy-closer{font-size:.95rem;line-height:2.2;color:var(--text-sub)}.section-visible .philosophy-lead{animation:content-slide .8s cubic-bezier(.22,1,.36,1) .2s both}.section-visible .philosophy-body{animation:content-slide .8s cubic-bezier(.22,1,.36,1) .4s both}.section-visible .philosophy-signature{animation:content-slide .8s cubic-bezier(.22,1,.36,1) .6s both}@keyframes content-slide{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.impact-numbers{padding:100px 0;background:#fbfaf6}.metrics-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:40px;text-align:center;padding-top:40px}.metric-card{display:flex;flex-direction:column;align-items:center;gap:4px}.metric-number{font-size:clamp(2.8rem,5vw,4rem);font-weight:900;font-family:Montserrat Variable,sans-serif;line-height:1}.metric-unit{font-size:.75rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:#bbb}.metric-label{font-size:.85rem;color:var(--text-sub);font-weight:500;margin-top:4px}@property --border-angle{syntax: "<angle>"; initial-value: 0deg; inherits: false;}.tech-showcase{padding:100px 0;background:#eeebe3}.bento-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;padding-top:40px}.bento-card{background:#fbfaf6;border-radius:16px;padding:32px;border:1px solid #E2DED4;cursor:pointer;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;display:flex;flex-direction:column;gap:16px;position:relative;overflow:hidden;--magnetic-x: 0px;--magnetic-y: 0px;transform:translate(var(--magnetic-x),var(--magnetic-y))}.bento-card:after{content:"";position:absolute;inset:-2px;border-radius:18px;background:conic-gradient(from var(--border-angle),#2E5180,#1E3A5F,#0F1C30,#2E5180);z-index:-1;opacity:0;transition:opacity .3s}.bento-card:hover:after{opacity:1;animation:border-rotate 2s linear infinite}@keyframes border-rotate{to{--border-angle: 360deg}}.bento-card:hover{transform:translate(var(--magnetic-x),var(--magnetic-y)) translateY(-4px);box-shadow:0 16px 40px #00000014;border-color:transparent}.bento-wide{grid-column:span 2}.bento-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center}.bento-title{font-family:Montserrat Variable,sans-serif;font-weight:700;font-size:1.05rem;color:#2a2a2a;margin-bottom:4px}.bento-desc{font-size:.85rem;color:var(--text-sub);line-height:1.6}.bento-arrow{position:absolute;top:32px;right:32px;font-size:1.2rem;color:#b8b3a7;transition:color .2s,transform .2s}.bento-card:hover .bento-arrow{color:#1e3a5f;transform:translate(4px)}.bento-card{opacity:0;transform:translate(var(--magnetic-x,0),var(--magnetic-y,0)) translateY(20px)}.bento-card.revealed{opacity:1;transform:translate(var(--magnetic-x,0),var(--magnetic-y,0)) translateY(0);transition:opacity .5s ease,transform .5s ease}.bento-card:nth-child(1){transition-delay:0ms}.bento-card:nth-child(2){transition-delay:80ms}.bento-card:nth-child(3){transition-delay:.16s}.bento-card:nth-child(4){transition-delay:.24s}.bento-card:nth-child(5){transition-delay:.32s}.bento-card:nth-child(6){transition-delay:.4s}.bento-card:nth-child(7){transition-delay:.48s}.geo-icon{position:relative;width:32px;height:32px}.geo-ai{border:2px solid #1E3A5F;border-radius:50%;animation:geo-pulse 3s ease-in-out infinite}.geo-ai:before{content:"";position:absolute;top:50%;left:50%;width:12px;height:12px;background:var(--accent-gradient);border-radius:50%;transform:translate(-50%,-50%)}.geo-ai:after{content:"";position:absolute;top:-4px;left:50%;width:2px;height:8px;background:#5a7a94;transform:translate(-50%);box-shadow:0 36px #5a7a94,-16px 6px #5a7a94,16px 6px #5a7a94}.geo-cloud{border:2px solid #5A7A94;border-radius:8px}.geo-cloud:before{content:"";position:absolute;top:-6px;left:8px;width:16px;height:16px;border:2px solid #5A7A94;border-radius:50%;background:var(--bg-color)}.geo-workflow{border:2px solid #A69F93;border-radius:50%}.geo-workflow:before{content:"";position:absolute;top:50%;left:50%;width:14px;height:14px;border:2px solid #A69F93;border-radius:2px;transform:translate(-50%,-50%) rotate(45deg)}.geo-data{border-bottom:2px solid #1E3A5F}.geo-data:before{content:"";position:absolute;bottom:0;left:4px;width:6px;height:20px;background:#5a7a94;border-radius:2px 2px 0 0;box-shadow:8px 6px #1e3a5f,16px -2px #2a2a2a}.geo-scale{border:2px solid #5A7A94;border-radius:4px}.geo-scale:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:10px solid #5A7A94;transform:translate(-50%,-60%)}.geo-security{width:28px;height:32px;border:2px solid #1E3A5F;border-radius:50% 50% 4px 4px}.geo-security:before{content:"";position:absolute;top:40%;left:50%;width:8px;height:10px;border:2px solid #1E3A5F;border-radius:50% 50% 0 0;transform:translate(-50%)}.geo-realtime{border:2px solid #2A2A2A;border-radius:50%}.geo-realtime:before{content:"";position:absolute;top:50%;left:50%;width:2px;height:10px;background:#2a2a2a;transform-origin:bottom center;transform:translate(-50%,-100%) rotate(-45deg)}.geo-realtime:after{content:"";position:absolute;top:50%;left:50%;width:2px;height:7px;background:#2a2a2a;transform-origin:bottom center;transform:translate(-50%,-100%) rotate(90deg)}@keyframes geo-pulse{0%,to{transform:scale(1);opacity:.8}50%{transform:scale(1.08);opacity:1}}.case-studies{padding:100px 0;background:#fbfaf6}.case-preview-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;padding-top:40px}.case-preview{padding:32px;border-left:4px solid var(--accent);background:#eeebe3;border-radius:0 12px 12px 0;cursor:pointer;transition:transform .2s,box-shadow .2s}.case-preview:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0000000f}.case-preview-label{font-family:Montserrat Variable,sans-serif;font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);display:block;margin-bottom:12px}.case-preview-title{font-size:1.1rem;font-weight:700;color:var(--text-main);margin-bottom:8px;line-height:1.4}.case-preview-result{font-size:.85rem;color:var(--text-sub);line-height:1.6;margin-bottom:16px}.case-preview-link{font-size:.8rem;font-weight:700;color:var(--accent);font-family:var(--font-latin-jp);letter-spacing:.05em}.labs{padding:120px 0;background:#0f1115;color:#e8e6e1;position:relative;overflow:hidden}.labs h3{color:#9ca0a7}.labs-grid{display:grid;grid-template-columns:3fr 2fr;gap:48px;align-items:center;padding-top:32px}.labs-canvas-wrap{position:relative;width:100%;aspect-ratio:4 / 3;border-radius:16px;overflow:hidden;border:1px solid rgba(232,230,225,.08);box-shadow:0 24px 60px #00000059}#labs-canvas{display:block;width:100%;height:100%}.labs-hint{position:absolute;bottom:14px;right:16px;font-family:Montserrat Variable,sans-serif;font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;color:#e8e6e18c;background:#0f11158c;padding:6px 10px;border-radius:6px;backdrop-filter:blur(4px)}.labs-text h4{font-family:Montserrat Variable,sans-serif;font-size:clamp(1.3rem,1.6vw + .5rem,1.8rem);font-weight:700;margin-bottom:20px;color:#e8e6e1;line-height:1.35}.labs-text p{font-size:.95rem;line-height:2;color:#9ca0a7;margin-bottom:28px}.labs-text em{font-style:normal;color:#e8e6e1;font-weight:700}.labs-stack{list-style:none;display:flex;flex-wrap:wrap;gap:8px}.labs-stack li{font-family:Montserrat Variable,sans-serif;font-size:.72rem;letter-spacing:.08em;color:#9ca0a7;padding:6px 12px;border:1px solid rgba(232,230,225,.12);border-radius:999px}@media(max-width:768px){.labs-grid{grid-template-columns:1fr;gap:32px}}.pre-footer-cta{padding:100px 0;background:#0f1115;text-align:center}.cta-heading{font-size:clamp(2rem,4vw,3.2rem);font-weight:900;margin-bottom:16px}.cta-sub{font-size:1rem;color:#f4f3ee8c;margin-bottom:40px;font-weight:500}.cta-btn-light{background:#f4f3ee;color:#1e3a5f;opacity:1;animation:none}.cta-btn-light:hover{background:#fbfaf6;color:#1e3a5f}.cta-btn-light:before{display:none}body{transition:background-color .8s ease,color .6s ease}body.theme-dark{--bg-color: #0F1115;--text-main: #E8E6E1;--text-sub: #9CA0A7;background-color:#0f1115;color:#e8e6e1}body.theme-dark header{background:#0f1115e0;border-bottom-color:#e8e6e114}body.theme-dark header.enhanced{background:#0f1115b8}body.theme-dark .philosophy-signature{border-top-color:#e8e6e114}body.theme-dark .impact-numbers{background:#0f1115}body.theme-dark .tech-showcase{background:#161922}body.theme-dark .bento-card{background:#1a1e28;border-color:#2a2f3a}body.theme-dark .bento-card:hover{border-color:transparent}body.theme-dark .bento-title{color:#e8e6e1}body.theme-dark .case-studies{background:#0f1115}body.theme-dark .case-preview{background:#161922}body.theme-dark .modal-overlay{background:#0f111599}body.theme-dark .modal-content{background:#1a1e28;border-color:#e8e6e114;color:#e8e6e1}body.theme-dark .modal-desc{color:#9ca0a7}body.theme-dark .case-study{background:#161922}body.theme-dark .case-text{color:#9ca0a7}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#f4f3eeb8;backdrop-filter:blur(15px);z-index:100;display:flex;justify-content:center;align-items:center;opacity:0;pointer-events:none;transition:opacity .4s ease}.modal-overlay.active{opacity:1;pointer-events:auto}.modal-content{background:#fbfaf6;width:90%;max-width:800px;max-height:90vh;border-radius:20px;box-shadow:0 25px 50px #0f11151f;padding:50px;position:relative;overflow-y:auto;transform:scale(.9);transition:transform .4s ease;border:1px solid rgba(42,42,42,.06)}.modal-overlay.active .modal-content{transform:scale(1)}.close-btn{position:absolute;top:20px;right:20px;font-size:2rem;cursor:pointer;color:#999;transition:color .3s;background:none;border:none;padding:0;line-height:1;font-family:inherit}.close-btn:hover{color:#2a2a2a}.close-btn:focus-visible{outline:2px solid var(--accent);outline-offset:4px}@supports (view-transition-name: none){::view-transition-group(modal-source){animation-duration:.42s;animation-timing-function:cubic-bezier(.22,1,.36,1)}::view-transition-old(modal-source),::view-transition-new(modal-source){animation-duration:.42s}}.modal-title{font-size:2.5rem;margin-bottom:20px;font-weight:900}.modal-desc{font-size:1.1rem;color:#555;margin-bottom:40px;line-height:1.8}.modal-metrics{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:32px}.mm-card{padding:16px 18px;background:linear-gradient(135deg,#1e3a5f0a,#5a7a9408);border:1px solid rgba(30,58,95,.12);border-radius:12px;opacity:0;transform:translateY(8px);animation:mm-in .45s cubic-bezier(.22,1,.36,1) forwards;animation-delay:calc(var(--i, 0) * 90ms)}@keyframes mm-in{to{opacity:1;transform:translateY(0)}}.mm-label{font-family:Montserrat Variable,sans-serif;font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#8a847a;margin-bottom:8px}.mm-value-row{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:10px}.mm-value{font-family:Montserrat Variable,sans-serif;font-size:1.8rem;font-weight:900;color:#1e3a5f;font-variant-numeric:tabular-nums;line-height:1.1}.mm-delta{font-size:.75rem;font-weight:700;color:#2e7d6e;letter-spacing:.03em}.mm-bar{position:relative;height:6px;background:#1e3a5f14;border-radius:3px;overflow:hidden;margin-bottom:6px}.mm-bar-before{position:absolute;left:0;top:0;bottom:0;background:#a69f9366;border-radius:3px}.mm-bar-after{position:absolute;left:0;top:0;bottom:0;background:linear-gradient(90deg,#2e5180,#1e3a5f);border-radius:3px;width:100%}.mm-legend{display:flex;justify-content:space-between;font-size:.68rem;color:#9ca0a7;font-family:Montserrat Variable,sans-serif}.mm-legend-after{color:#1e3a5f;font-weight:700}body.theme-dark .mm-card{background:#1e3a5f24;border-color:#e8e6e114}body.theme-dark .mm-label{color:#9ca0a7}body.theme-dark .mm-value{color:#e8e6e1}body.theme-dark .mm-legend{color:#6b7885}body.theme-dark .mm-legend-after{color:#e8e6e1}@media(max-width:560px){.modal-metrics{grid-template-columns:1fr}}.case-study{background:#f8f9fa;border-left:5px solid #1E3A5F;padding:30px;border-radius:0 10px 10px 0}.case-label{font-size:.8rem;font-weight:700;color:#1e3a5f;text-transform:uppercase;letter-spacing:.1em;margin-bottom:10px;display:block}.case-title{font-weight:700;font-size:1.2rem;margin-bottom:10px}.case-text{font-size:.95rem;color:#666;line-height:1.6}.detail-source{display:none}footer{padding:60px 0 32px;background:#eeebe3;position:relative}footer:before{content:"";position:absolute;top:0;left:50%;width:0;height:2px;background:var(--accent-gradient);transition:width 1s ease,left 1s ease}footer.border-visible:before{width:100%;left:0}.footer-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;padding-bottom:40px;border-bottom:1px solid #D9D4C7}.footer-left .footer-brand{font-weight:900;font-size:1.2rem;letter-spacing:.15em;color:#8a847a;margin-bottom:8px;text-align:left}.footer-left .footer-tagline{font-size:.85rem;color:#a69f93;margin-bottom:24px;font-weight:500;text-align:left}.footer-left .notice{font-size:.75rem;color:#8a847a;padding:16px 20px;border:1px solid #D9D4C7;border-radius:8px;line-height:1.8;text-align:left;max-width:420px}.footer-right{display:flex;gap:48px;justify-content:flex-end}.footer-nav-group{display:flex;flex-direction:column;gap:8px}.footer-nav-label{font-family:Montserrat Variable,sans-serif;font-size:.7rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:#8a847a;margin-bottom:4px}.footer-nav-link{font-size:.8rem;color:#6b6f76;text-decoration:none;transition:color .2s;cursor:pointer}.footer-nav-link:hover{color:#1e3a5f}.footer-bottom{padding-top:24px;text-align:center}.footer-bottom .copyright{font-size:.72rem;color:#b8b3a7}body.theme-dark footer{background:#0f1115}body.theme-dark .footer-grid{border-bottom-color:#e8e6e114}body.theme-dark .footer-left .notice{border-color:#e8e6e114}body.theme-dark .footer-nav-link{color:#7d8289}body.theme-dark .footer-nav-link:hover{color:#e8e6e1}@media(max-width:768px){.modal-content{padding:30px}.modal-title{font-size:1.8rem}.metrics-grid{grid-template-columns:repeat(2,1fr);gap:48px 24px}.bento-grid{grid-template-columns:repeat(2,1fr)}.bento-wide{grid-column:span 2}.case-preview-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr;gap:32px}.footer-right{justify-content:flex-start}}@media(max-width:480px){.philosophy-lead{font-size:1.3rem}.bento-grid{grid-template-columns:1fr}.bento-wide{grid-column:span 1}.metrics-grid{grid-template-columns:1fr 1fr;gap:40px 16px}.cta-btn{padding:14px 36px;font-size:.9rem}}@keyframes astroFadeInOut{0%{opacity:1}to{opacity:0}}@keyframes astroFadeIn{0%{opacity:0;mix-blend-mode:plus-lighter}to{opacity:1;mix-blend-mode:plus-lighter}}@keyframes astroFadeOut{0%{opacity:1;mix-blend-mode:plus-lighter}to{opacity:0;mix-blend-mode:plus-lighter}}@keyframes astroSlideFromRight{0%{transform:translate(100%)}}@keyframes astroSlideFromLeft{0%{transform:translate(-100%)}}@keyframes astroSlideToRight{to{transform:translate(100%)}}@keyframes astroSlideToLeft{to{transform:translate(-100%)}}@media(prefers-reduced-motion){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}[data-astro-transition-scope]{animation:none!important}}
