
:root{--cream:#F2EEE3;--cream-soft:#EAE5D6;--cream-warm:#E8DFC8;--ink:#0F0F0F;--ink-soft:#1A1A1A;--brand:#1F4D3D;--brand-soft:#5A8F7B;--brand-light:#8FB5A4;--grey:#6B6862;--grey-soft:#3A3A38;--green-deep:#1F2A24;--green-soft:#76C893;--shadow-soft:0 1px 0 rgba(15,15,15,.04),0 12px 32px -8px rgba(15,15,15,.08);--shadow-hover:0 1px 0 rgba(15,15,15,.06),0 28px 56px -14px rgba(15,15,15,.18);--shadow-mega:0 24px 80px -20px rgba(15,15,15,.25),0 8px 32px -8px rgba(15,15,15,.1);--inset-light:inset 0 1px 0 rgba(255,255,255,.6);--ease-out:cubic-bezier(.2,.8,.2,1);--card-green:#1F4D3D;--card-slate:#2A3540;--card-plum:#3D2A40;--card-teal:#1F3D44;--card-copper:#5C3F2C;--card-green-soft:#76C893;--card-slate-soft:#8FA3B8;--card-plum-soft:#B89FBE;--card-teal-soft:#8FC0CC;--card-copper-soft:#D9A380}
  html{scroll-behavior:smooth;overflow-x:hidden}body{font-family:'Hanken Grotesk',sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden;padding-top:80px}[data-anim]{opacity:0;will-change:opacity,transform}.word{display:inline-block;will-change:transform,opacity}.arrow{display:inline-block;transition:transform 360ms var(--ease-out)}.group:hover .arrow{transform:translateX(6px)}.magnetic{transition:transform 280ms var(--ease-out);will-change:transform}::selection{background:var(--ink);color:var(--cream)}@media(prefers-reduced-motion:reduce){[data-anim],.word{opacity:1!important;transform:none!important}}
  body::before{content:'';position:fixed;inset:0;pointer-events:none;background-image:radial-gradient(circle at 25% 25%,rgba(31,77,61,.018) 0%,transparent 40%),radial-gradient(circle at 75% 75%,rgba(15,15,15,.018) 0%,transparent 40%);z-index:1}main,footer{position:relative;z-index:2}header{z-index:30}.scroll-progress{position:fixed;top:0;left:0;height:2px;background:var(--brand);width:0%;z-index:60;transition:width 80ms linear}.card{box-shadow:var(--shadow-soft),var(--inset-light);transition:box-shadow 480ms var(--ease-out),transform 480ms var(--ease-out)}.card:hover{box-shadow:var(--shadow-hover),var(--inset-light);transform:translateY(-4px)}
  .nav-item{position:relative}.nav-trigger-wrap{position:relative}.mega-panel{position:absolute;top:100%;left:0;transform:translateY(-12px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity 320ms var(--ease-out),transform 320ms var(--ease-out),visibility 0s linear 320ms;z-index:40;padding-top:12px}.nav-item.menu-open .mega-panel{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0);transition:opacity 320ms var(--ease-out),transform 320ms var(--ease-out),visibility 0s linear 0s}
  .nav-trigger{position:relative}.nav-trigger::after{content:'';position:absolute;left:16px;right:16px;bottom:-22px;height:2px;background:var(--brand);transform:scaleX(0);transform-origin:center;transition:transform 360ms var(--ease-out)}.nav-item:hover .nav-trigger::after,.nav-item.menu-open .nav-trigger::after{transform:scaleX(1)}.nav-link{position:relative}.nav-link::after{content:'';position:absolute;left:16px;right:16px;bottom:-22px;height:2px;background:var(--brand);transform:scaleX(0);transform-origin:center;transition:transform 360ms var(--ease-out)}.nav-link:hover::after{transform:scaleX(1)}
  .mega-area{transition:background 280ms ease;border-radius:12px}.mega-area:hover .mega-area-name{color:var(--brand)}.mega-area:hover .mega-area-arrow{transform:translateX(6px);opacity:1;color:var(--brand)}.mega-area-arrow{transition:transform 320ms var(--ease-out),opacity 320ms ease,color 320ms ease;opacity:.3}.mega-area-name{transition:color 320ms ease}
  .mega-cat{color:var(--cream);position:relative}.mega-cat-name{transition:color 320ms ease}.mega-cat-arrow{transition:transform 320ms var(--ease-out),opacity 320ms ease,color 320ms ease;opacity:.35;color:var(--cream)}.mega-cat:hover,.mega-cat.active{background:rgba(118,200,147,.08)}.mega-cat.active{background:rgba(143,181,164,.12)}.mega-cat:hover .mega-cat-name,.mega-cat.active .mega-cat-name{color:var(--brand-light)}.mega-cat:hover .mega-cat-arrow,.mega-cat.active .mega-cat-arrow{transform:translateX(5px);opacity:1;color:var(--brand-light)}
  .mega-depth{position:absolute;top:28px;left:28px;right:28px;bottom:28px;opacity:0;pointer-events:none;transform:translateX(8px);transition:opacity 320ms var(--ease-out),transform 320ms var(--ease-out)}.mega-depth.active{opacity:1;pointer-events:auto;transform:translateX(0)}
  .mega-group{display:block;background:#fff;border:1px solid rgba(15,15,15,.08);border-radius:16px;padding:22px 22px 20px;min-height:178px;position:relative;overflow:hidden;transition:background-color 240ms ease,border-color 240ms ease,box-shadow 360ms var(--ease-out);box-shadow:0 1px 0 rgba(15,15,15,.04)}.mega-group-inner{position:relative;z-index:1;display:flex;flex-direction:column;height:100%;min-height:134px}.mega-group-name{font-size:22px;font-weight:700;line-height:1.18;letter-spacing:-.012em;color:var(--ink);margin-bottom:10px;transform:scale(.818);transform-origin:left top;transition:transform 280ms var(--ease-out),color 240ms ease;font-kerning:none}.mega-group-arrow{font-size:13px;opacity:.4;display:inline-block;transition:transform 280ms var(--ease-out),opacity 240ms ease,color 240ms ease}.mega-group-desc{font-size:13px;line-height:1.55;color:var(--grey-soft);margin:0 0 auto;transition:color 240ms ease}.mega-scan{font-family:'JetBrains Mono',monospace;font-size:10.5px;line-height:1.6;color:var(--grey);margin-top:18px;padding-top:14px;border-top:1px solid rgba(15,15,15,.08);transition:color 240ms ease,border-color 240ms ease}
  .mega-group:hover{border-color:transparent;box-shadow:0 1px 0 rgba(255,255,255,.05),0 18px 40px -12px rgba(15,15,15,.28)}.mega-group:hover .mega-group-name{transform:scale(1);color:var(--cream)}.mega-group:hover .mega-group-arrow{transform:translateX(6px);opacity:1;color:var(--cream)}.mega-group:hover .mega-group-desc{color:rgba(255,250,240,.85);animation:megaSweep 420ms var(--ease-out) 80ms both}.mega-group:hover .mega-scan{color:rgba(255,250,240,.65);border-top-color:rgba(255,255,255,.18);animation:megaSweep 420ms var(--ease-out) 160ms both}
  @keyframes megaSweep{from{transform:translateY(10px);opacity:0}to{transform:translateY(0);opacity:1}}
  .mega-group[data-theme="green"]:hover{background-color:var(--card-green)}.mega-group[data-theme="slate"]:hover{background-color:var(--card-slate)}.mega-group[data-theme="plum"]:hover{background-color:var(--card-plum)}.mega-group[data-theme="teal"]:hover{background-color:var(--card-teal)}.mega-group[data-theme="copper"]:hover{background-color:var(--card-copper)}.mega-group[data-theme="green"]:hover .mega-scan{color:var(--card-green-soft)}.mega-group[data-theme="slate"]:hover .mega-scan{color:var(--card-slate-soft)}.mega-group[data-theme="plum"]:hover .mega-scan{color:var(--card-plum-soft)}.mega-group[data-theme="teal"]:hover .mega-scan{color:var(--card-teal-soft)}.mega-group[data-theme="copper"]:hover .mega-scan{color:var(--card-copper-soft)}
  .mega-cat-ai{position:relative;overflow:hidden;background:linear-gradient(118deg,rgba(31,77,61,.55) 0%,rgba(31,61,68,.45) 22%,rgba(61,42,64,.45) 44%,rgba(92,63,44,.4) 66%,rgba(31,77,61,.5) 88%,rgba(118,200,147,.3) 100%);background-size:280% 280%;background-position:0% 50%;border:1px solid rgba(143,181,164,.2);animation:aiCatDrift 16s ease-in-out infinite}.mega-cat-ai::before{content:'';position:absolute;top:50%;left:50%;width:320px;height:220px;transform:translate(-50%,-50%);background:radial-gradient(ellipse at 20% 50%,rgba(118,200,147,.28) 0%,transparent 55%),radial-gradient(ellipse at 80% 50%,rgba(184,159,190,.2) 0%,transparent 55%),radial-gradient(ellipse at 50% 50%,rgba(143,192,204,.18) 0%,transparent 60%);filter:blur(32px);pointer-events:none;opacity:.75;transition:opacity 600ms ease;z-index:0}.mega-cat-ai::after{content:'';position:absolute;top:0;left:-120%;width:60%;height:100%;background:linear-gradient(105deg,transparent 0%,rgba(143,181,164,.2) 45%,rgba(242,238,227,.14) 50%,rgba(184,159,190,.2) 55%,transparent 100%);pointer-events:none;z-index:1;transition:left 900ms var(--ease-out)}.mega-cat-ai:hover::after,.mega-cat-ai.active::after{left:130%}.mega-cat-ai:hover,.mega-cat-ai.active{background:linear-gradient(118deg,rgba(31,77,61,.75) 0%,rgba(31,61,68,.65) 22%,rgba(61,42,64,.65) 44%,rgba(92,63,44,.55) 66%,rgba(31,77,61,.7) 88%,rgba(118,200,147,.45) 100%);background-size:280% 280%;border-color:rgba(143,181,164,.42)}.mega-cat-ai:hover::before,.mega-cat-ai.active::before{opacity:1}@keyframes aiCatDrift{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}.ai-mobile-label,.ai-footer-label{background:linear-gradient(118deg,#1F4D3D 0%,#1F3D44 33%,#3D2A40 66%,#5C3F2C 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;background-size:200% 200%;animation:aiCatDrift 16s ease-in-out infinite}.mega-group[data-theme="ai-copilot"]:hover{background:linear-gradient(125deg,#1F4D3D 0%,#1F3D44 35%,#2A5C4B 65%,#3D2A40 100%)}.mega-group[data-theme="ai-openai"]:hover{background:linear-gradient(125deg,#3D2A40 0%,#2D2540 35%,#1F3D44 65%,#1F4D3D 100%)}.mega-group[data-theme="ai-governance"]:hover{background:linear-gradient(125deg,#2A3540 0%,#3D2A40 40%,#5C3F2C 75%,#2A3540 100%)}.mega-group[data-theme="ai-copilot"]:hover .mega-scan{color:var(--card-green-soft)}.mega-group[data-theme="ai-openai"]:hover .mega-scan{color:var(--card-plum-soft)}.mega-group[data-theme="ai-governance"]:hover .mega-scan{color:var(--card-copper-soft)}
  #mobile-drawer{overflow:hidden}#mobile-drawer.open{pointer-events:auto}#mobile-drawer.open #mobile-backdrop{opacity:1}#mobile-drawer.open #mobile-panel{translate:0}body.no-scroll{overflow:hidden}
  .display-numeral{font-family:'JetBrains Mono',monospace;font-feature-settings:"ss01"}



.cn2-hero { position: relative; overflow: hidden; border-radius: 24px; }
.cn2-ph { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.cn2-scrim { position: absolute; inset: 0; background: linear-gradient(100deg, rgba(8, 14, 11, 0.94) 30%, rgba(8, 14, 11, 0.66) 58%, rgba(8, 14, 11, 0.42)), radial-gradient(640px circle at 92% 112%, rgba(31, 77, 61, 0.55), transparent 62%); }
.cn2-in { position: relative; display: grid; grid-template-columns: 1.05fr 1fr; gap: clamp(26px, 3.4vw, 60px); padding: clamp(28px, 3.6vw, 56px); align-items: center; }
.cn2-h1 span { display: block; font-weight: 800; font-size: clamp(30px, 3.6vw, 54px); letter-spacing: -0.034em; line-height: 1.05; color: #F2EFE6; }
.cn2-h1 .g { color: #8FB5A4; }
.cn2-lead { font-size: clamp(13px, 1.15vw, 16px); color: rgba(242, 239, 230, 0.82); margin-top: clamp(12px, 1.6vw, 20px); max-width: 440px; line-height: 1.65; }
.cn2-tels { display: flex; gap: clamp(24px, 3vw, 48px); margin-top: clamp(20px, 2.6vw, 34px); flex-wrap: wrap; }
.cn2-tb span { display: block; font-size: clamp(11.5px, 1vw, 13px); color: rgba(242, 239, 230, 0.62); }
.cn2-tb a { display: block; font-weight: 800; font-size: clamp(19px, 1.9vw, 27px); letter-spacing: -0.015em; color: #F2EFE6; margin-top: 3px; text-decoration: none; }
.cn2-tb a:hover { color: #8FB5A4; }
.cn2-tb em { display: block; font-style: normal; font-size: clamp(11px, 1vw, 12.5px); color: #8FB5A4; margin-top: 3px; min-height: 1.2em; }
.cn2-addr { font-size: clamp(11px, 1vw, 12.5px); color: rgba(242, 239, 230, 0.55); margin-top: clamp(20px, 2.6vw, 32px); }
.cn2-card { background: #FFFFFF; border-radius: 18px; padding: clamp(20px, 2.2vw, 30px); box-shadow: 0 22px 54px rgba(8, 14, 11, 0.4); }
.cn2-ways { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(14px, 1.6vw, 22px); padding-top: clamp(40px, 5vw, 64px); padding-bottom: clamp(56px, 7vw, 96px); }
.cn2-way { background: #FFFFFF; border: 1px solid rgba(20, 20, 20, 0.09); border-radius: 20px; padding: clamp(20px, 2.2vw, 30px); }
.cn2-way h3 { font-size: clamp(17px, 1.6vw, 21px); font-weight: 700; letter-spacing: -0.02em; color: var(--ink); }
.cn2-way p { font-size: clamp(12.5px, 1.1vw, 14.5px); color: var(--grey-soft); margin-top: 8px; line-height: 1.65; }
.cn2-way a { display: inline-flex; align-items: center; gap: 8px; margin-top: 14px; font-size: clamp(12.5px, 1.1vw, 14px); font-weight: 600; color: var(--ink); text-decoration: none; }
.cn2-way a:hover { color: var(--brand); }
@media (max-width: 1000px) { .cn2-in { grid-template-columns: 1fr; } .cn2-ways { grid-template-columns: 1fr; } }
