@charset "utf-8";
html{scroll-padding-top:125px}

:root{--bc-purple:#2400A1;--bc-purple-deep:#1A0078;--bc-purple-mid:#7C5EE5;--bc-purple-soft:#B9A8FF;--bc-purple-bg:#E0D6FF;--bc-lime:#FFE01B;--bc-lime-deep:#E5C800;--bc-lime-soft:#FFF7C2;--bc-warm:#FF7A45;--bc-blue:#2E5BFF;--ink-1000:#0A0A0C;--ink-900:#15161A;--ink-800:#22232A;--ink-600:#4A4B54;--ink-500:#6C6E78;--ink-400:#9A9CA4;--ink-300:#C7C9CE;--ink-200:#E4E5E8;--ink-150:#ECEDF0;--ink-100:#F2F3F5;--ink-50:#F8F9FA;--paper:#FFF;--fg-1:var(--ink-1000);--fg-2:var(--ink-600);--fg-3:var(--ink-400);--fg-on-dark:var(--paper);--fg-accent:var(--bc-purple);--bg-page:var(--paper);--bg-surface:var(--ink-50);--bg-inverse:var(--ink-1000);--border-1:var(--ink-200);--border-2:var(--ink-300);--border-strong:var(--ink-1000);--font-display:Poppins,system-ui,sans-serif;--font-serif:Poppins,Georgia,serif;--font-body:Poppins,system-ui,-apple-system,sans-serif;--font-mono:Poppins,Menlo,monospace;--tracking-display:-.035em;--tracking-heading:-.02em;--tracking-body:-.005em;--tracking-mono:0;--tracking-eyebrow:.14em;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px;--sp-6:32px;--sp-7:48px;--sp-8:64px;--sp-9:96px;--sp-10:128px;--sp-11:160px;--sp-12:200px;--r-0:0;--r-1:2px;--r-2:4px;--r-3:8px;--r-4:16px;--ease-out:cubic-bezier(0.2,0.8,0.2,1);--ease-spring:cubic-bezier(0.34,1.56,0.64,1);--dur-fast:120ms;--dur-base:240ms;--dur-slow:480ms;--page-pad-x:clamp(20px,5vw,80px);--page-max:1440px;--gutter:clamp(16px,2vw,32px)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--font-body);font-size:16px;line-height:1.55;color:var(--fg-1);background:var(--bg-page);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}

#hero-slider{min-height:300px;position:relative}
#hero-slider .flexslider{border:none;z-index:1;margin-bottom:0}
#hero-slider .flexslider .slides{position:relative;overflow:hidden;margin:0;padding:0}
#hero-slider .flexslider .slides li img{width:100%;height:100%;object-fit:cover;position:absolute}
#hero-slider .flexslider .slides li{background-repeat:no-repeat;background-size:cover !important;background-position:top center !important}
#hero-slider .flexslider .slider-text br{display:none}
#hero-slider .flexslider .flex-control-nav{bottom:5px;z-index:1000;position:absolute;text-align:center;width:100%;z-index:99}
#hero-slider .flexslider .flex-direction-nav{display:none}

.hero-new{padding:20px !important;position:absolute;top:55px;left:0;width:100%;z-index:999}

.hero-left h1.Millwork,
.hero-left h2.Millwork,
.hero-left h1.Millwork + .highlight,
.hero-left h2.Millwork + .highlight{color:#89664d}

.hero-new .br{display:none}

.hero-left{padding:50px 0 0 0}
.hero-left h1,
.hero-left h2{font-size:30px;font-weight:700}
.highlight{color:#3f2b96}
.subtitle{margin-top:20px;font-size:18px;color:#000}
.subtitle span{color:#3f2b96;font-weight:600}
.underline{width:80px;height:4px;background:#fc0;margin:25px 0}
.services{margin-top:30px}
.service{text-align:center;font-weight:600;display:inline-block;width:48%}
.service p{font-size:13px !important;}
.service img{width:65px !important;margin-bottom:10px;height:auto !important;position:relative !important;border-radius: 4px;display:inline-block !important}
.info-bar{display:flex;justify-content:space-around;align-items:center;background:linear-gradient(90deg,#3f2b96,#5a4dd8);color:#fff;padding:20px 10px;font-size:10px;text-align:center;
clip-path: polygon(25px 0, 100% 0, calc(100% - 25px) 100%, 0% 100%);border-radius:5px;font-weight:600}
.info-item{flex:1;padding:0 10px;position:relative}
.info-item:nth-child(2){border-left:1px solid #fff;border-right:1px solid #fff}

.flex-control-nav{text-align:center}
.flex-control-nav li{margin:0 3px;display:inline-block}
.flex-control-nav li a{background:#ccc;height:12px;width:12px;border-radius:100%;display:inline-block;text-indent:-99999px}
.flex-control-nav li a.flex-active{background:#2400a1;border-color:#060606}

#hero-slider .flexslider .slides li:after{background-image:linear-gradient(#fff,#fff);content:"";height:100%;width:100%;position:absolute;top:0;left:0;opacity:.75}
#hero-slider .flexslider .flex-control-nav{bottom:-20px}

.eyebrow{font-family:var(--font-mono);font-size:11px;font-weight:500;letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--ink-500);display:inline-flex;align-items:center;gap:var(--sp-2)}
.eyebrow .idx{color:var(--bc-purple);font-weight:600}
.eyebrow.on-dark{color:#ffffff8c}
.eyebrow.on-dark .idx{color:var(--bc-lime)}
.eyebrow.on-purple{color:#ffffffb3}
.eyebrow.on-purple .idx{color:var(--bc-lime)}
.eyebrow .dot{width:8px;height:8px;background:var(--bc-lime);display:inline-block;border-radius:50%;animation:bc-pulse 1.6s ease-in-out infinite}
@keyframes bc-pulse {
0%,100%{opacity:1;transform:scale(1);box-shadow:0 0 0 0 #ffe01b99}
50%{opacity:.6;transform:scale(0.9);box-shadow:0 0 0 6px #ffe01b00}
}
.display{font-family:var(--font-display);font-weight:500;letter-spacing:var(--tracking-display);line-height:.95;color:var(--fg-1);margin:0;text-wrap:balance}
.display em{font-family:var(--font-serif);font-weight:300;font-style:italic;letter-spacing:-.02em}
.h1{font-family:var(--font-display);font-weight:500;font-size:clamp(36px,5.2vw,76px);line-height:1;letter-spacing:-.028em;margin:0;text-wrap:balance}
.h1 em{font-family:var(--font-serif);font-weight:300;font-style:italic}
.h2{font-family:var(--font-display);font-weight:500;font-size:clamp(28px,3.6vw,56px);line-height:1.02;letter-spacing:-.022em;margin:0}
.h3{font-family:var(--font-display);font-weight:500;font-size:clamp(22px,2.2vw,32px);line-height:1.1;letter-spacing:-.018em;margin:0}
.lede{font-family:var(--font-body);font-weight:300;font-size:clamp(17px,1.4vw,22px);line-height:1.45;letter-spacing:-.01em;color:var(--ink-600);max-width:56ch;margin:0;text-wrap:pretty}
.body{font-family:var(--font-body);font-size:16px;line-height:1.6;color:var(--ink-600);margin:0;text-wrap:pretty}
.mono{font-family:var(--font-mono);font-size:12px;letter-spacing:0;color:var(--ink-500)}
.page-container{max-width:var(--page-max);margin:0 auto;padding-inline:var(--page-pad-x)}
.section{padding-block:clamp(25px,10vh,50px);position:relative}
.rule{height:1px;background:var(--ink-200);width:100%;display:block;border:0}
.rule--strong{background:var(--ink-1000)}
.rule--lime{background:var(--bc-lime);height:2px}
.sec-head{display:grid;grid-template-columns:1fr;gap:var(--sp-5);margin-bottom:clamp(40px,5vh,72px)}

@media (min-width: 900px) {
.sec-head{grid-template-columns:200px 1fr;gap:var(--gutter);align-items:baseline}

.hero-new{padding:40px !important;}

.hero-left{padding:40px}
.hero-left{max-width:55%;padding:5% 0 0 0}

.hero-left h1,
.hero-left h2{font-size:45px;}
.subtitle{font-size:22px;}

.hero-left h1.AEC{font-size:70px;}

.services{display:flex;gap:40px;margin-top:30px;}
.service img{width:85px !important;}

.service{width:20%;}
}
.sec-head .meta{padding-top:8px}
.sec-head .title{max-width:22ch}
.sec-head.has-mascot{position:relative}
@media (min-width: 900px) {
.sec-head.has-mascot{grid-template-columns:200px auto 1fr;column-gap:var(--sp-5)}
}
.mascot{width:150px;height:auto;justify-self:start;align-self:start;margin-top:calc(var(--sp-2) * -1);margin-left:calc(var(--sp-4) * -1);opacity:.95;pointer-events:none;user-select:none;-webkit-user-drag:none;filter:drop-shadow(0 6px 18px #00000014)}
@media (max-width: 899px) {
.mascot{position:absolute;top:0;right:0;width:90px}
}
.mascot-windmill{animation:mascot-float 5s ease-in-out infinite}
.mascot-butterfly{animation:mascot-orbit 12s ease-in-out infinite}
.mascot-branch{width:130px;margin-left:calc(var(--sp-6) * -1);transform-origin:30% 50%;animation:mascot-sway 6s ease-in-out infinite}
.title-with-mascot{display:flex;align-items:center;gap:var(--sp-4);flex-wrap:wrap}
.title-mascot{width:140px;height:auto;flex:0 0 auto;opacity:.95;pointer-events:none;user-select:none;-webkit-user-drag:none;filter:drop-shadow(0 6px 18px #00000014)}
.title-mascot.mascot-branch{margin-left:0;width:200px}
.mascot-globe{width:100px;animation:mascot-spin 22s linear infinite,mascot-float 5.5s ease-in-out infinite}
.mascot-boat{animation:mascot-boat 5s ease-in-out infinite;transform-origin:50% 80%}
@keyframes mascot-spin {
from{transform:rotate(0deg)}
to{transform:rotate(360deg)}
}
@keyframes mascot-float {
0%,100%{transform:translateY(0)}
50%{transform:translateY(-10px)}
}
@keyframes mascot-orbit {
0%,100%{transform:translate(0,0) rotate(0deg)}
25%{transform:translate(-4px,-6px) rotate(-4deg)}
50%{transform:translate(0,-10px) rotate(0deg)}
75%{transform:translate(4px,-6px) rotate(4deg)}
}
@keyframes mascot-boat {
0%,100%{transform:translate(0,0) rotate(-2deg)}
50%{transform:translate(0,-4px) rotate(2deg)}
}
@keyframes mascot-sway {
0%,100%{transform:rotate(-3deg) translateY(0)}
50%{transform:rotate(3deg) translateY(-4px)}
}
@media (prefers-reduced-motion: reduce) {
.mascot,.mascot *{animation:none!important}
}
.btn{display:inline-flex;align-items:center;gap:10px;height:48px;padding-inline:22px;font-family:var(--font-body);font-weight:500;font-size:14px;letter-spacing:-.005em;border:1px solid transparent;border-radius:var(--r-2);cursor:pointer;text-decoration:none;transition:background var(--dur-fast),color var(--dur-fast),border-color var(--dur-fast),transform var(--dur-base) var(--ease-out),box-shadow var(--dur-base);white-space:nowrap;position:relative}
.btn .arrow{font-family:var(--font-mono);font-size:14px;transition:transform var(--dur-base) var(--ease-out)}
.btn:hover .arrow{transform:translateX(4px)}
.btn--primary{background:var(--bc-purple);color:var(--paper);box-shadow:0 4px 18px -4px #2400a173}
.btn--primary:hover{background:var(--bc-purple-deep);transform:translateY(-1px);box-shadow:0 8px 24px -4px #2400a180;color:#fff}
.btn--lime{background:var(--bc-lime);color:var(--ink-1000);box-shadow:0 4px 18px -4px #ffe01b80}
.btn--lime:hover{background:var(--bc-lime-deep);transform:translateY(-1px)}
.btn--dark{background:var(--ink-1000);color:var(--paper)}
.btn--dark:hover{background:var(--bc-purple)}
.btn--ghost{background:transparent;color:var(--ink-1000);border-color:var(--ink-1000)}
.btn--ghost:hover{background:var(--ink-1000);color:var(--paper)}
.btn--ghost-light{background:transparent;color:var(--paper);border-color:#fff6}
.btn--ghost-light:hover{background:var(--paper);color:var(--bc-purple);border-color:var(--paper)}
.btn--sm{height:38px;padding-inline:16px;font-size:13px}
.hero{padding-top:clamp(120px,14vh,160px);padding-bottom:clamp(72px,10vh,120px);position:relative;overflow:hidden;background:radial-gradient(ellipse 60% 50% at 85% 10%,#2400a11a,transparent 60%),radial-gradient(ellipse 50% 40% at 0% 90%,#ffe01b1f,transparent 60%),linear-gradient(180deg,#FDFBFF 0%,#FFF 60%)}
.hero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(to right,#2400a10f 1px,transparent 1px),linear-gradient(to bottom,#2400a10f 1px,transparent 1px);background-size:64px 64px;background-position:center;mask-image:radial-gradient(ellipse 70% 60% at 50% 50%,black 30%,transparent 80%);-webkit-mask-image:radial-gradient(ellipse 70% 60% at 50% 50%,black 30%,transparent 80%);pointer-events:none}
.hero > *{position:relative;z-index:1}
.hero-eyebrow-row{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--sp-5);margin-bottom:clamp(32px,5vh,56px);flex-wrap:wrap}
.hero-eyebrow-row .booking{font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;color:var(--ink-1000);text-transform:uppercase;text-align:right;background:var(--bc-lime);padding:8px 14px;border-radius:var(--r-2);display:inline-flex;align-items:center;gap:8px}
.hero-eyebrow-row .booking::before{content:"";width:6px;height:6px;background:var(--ink-1000);border-radius:50%;animation:bc-pulse 1.6s ease-in-out infinite}
.hero-main{display:grid;grid-template-columns:1fr;gap:clamp(40px,6vw,80px);align-items:center}
@media (min-width: 1000px) {
.hero-main{grid-template-columns:1.3fr 1fr}
}
.hero h1.display{font-size:clamp(44px,8vw,124px);line-height:.94;letter-spacing:-.038em;margin:0}
.hero h1.display.hero-h1-sm{font-size:clamp(34px,5.4vw,82px);line-height:1.02;letter-spacing:-.025em}
.hero h1.display .accent{color:var(--bc-purple);position:relative;display:inline-block}
.hero h1.display .accent::after{content:"";position:absolute;left:0;right:0;bottom:.08em;height:.12em;background:var(--bc-lime);z-index:-1}
.hero h1.display em{color:var(--ink-1000)}
.hero-lede{margin-top:clamp(24px,3vh,36px);max-width:44ch;font-size:clamp(16px,1.3vw,19px);color:var(--ink-600)}
.hero-ctas{margin-top:clamp(24px,3vh,36px);display:inline-flex;align-items:center;gap:var(--sp-4);flex-wrap:wrap}
.hero-trust{margin-top:clamp(28px,4vh,40px);display:inline-flex;align-items:center;gap:var(--sp-4);padding:10px 14px;background:var(--paper);border:1px solid var(--ink-200);border-radius:var(--r-3)}
.hero-trust .avatars{display:inline-flex}
.hero-trust .avatars span{width:28px;height:28px;border-radius:50%;background:var(--ink-300);border:2px solid var(--paper);margin-right:-8px;background-size:cover;background-position:center}
.hero-trust .avatars span:nth-child(1){background:var(--bc-purple);color:var(--paper);font-family:var(--font-mono);font-size:9px;font-weight:600;display:flex;align-items:center;justify-content:center}
.hero-trust .text{font-size:13px;color:var(--ink-600);line-height:1.3}
.hero-trust .text strong{color:var(--ink-1000);font-weight:600}
.hero-visual{position:relative;aspect-ratio:4 / 5;max-width:480px;width:100%;margin-inline:auto;perspective:1200px}
.hero-visual .photo-card{position:absolute;inset:0;border-radius:var(--r-4);overflow:hidden;background:var(--ink-100);box-shadow:0 1px 0 #fff9 inset,0 20px 60px -20px #2400a159 0 4px 12px -2px #0a0a0c1a;transform:rotate(-2.5deg);transition:transform var(--dur-slow) var(--ease-out)}
.hero-visual:hover .photo-card{transform:rotate(0deg) scale(1.01)}
.hero-visual .photo-card img{width:100%;height:100%;object-fit:cover}
.hero-visual .photo-card .tag{position:absolute;left:16px;bottom:16px;font-family:var(--font-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--paper);background:#0a0a0ca6;backdrop-filter:blur(8px);padding:8px 12px;border-radius:var(--r-2);display:inline-flex;gap:8px;align-items:center}
.hero-visual .photo-card .tag::before{content:"";width:6px;height:6px;background:var(--bc-lime);border-radius:50%;animation:bc-pulse 1.6s ease-in-out infinite}
.hero-visual .chip-card{position:absolute;background:var(--paper);border:1px solid var(--ink-200);border-radius:var(--r-3);padding:12px 14px;box-shadow:0 10px 30px -10px #0a0a0c26;display:flex;align-items:center;gap:10px;font-family:var(--font-body);font-size:13px;font-weight:500;color:var(--ink-1000);z-index:2;animation:bc-float 5s ease-in-out infinite}
.hero-visual .chip-card .icon{width:32px;height:32px;background:var(--bc-purple);color:var(--paper);border-radius:var(--r-2);display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:13px;font-weight:700}
.hero-visual .chip-card.chip-1{top:8%;left:-8%;animation-delay:0s}
.hero-visual .chip-card.chip-2{top:42%;right:-10%;animation-delay:-1.6s}
.hero-visual .chip-card.chip-2 .icon{background:var(--bc-lime);color:var(--ink-1000)}
.hero-visual .chip-card.chip-3{bottom:6%;left:-6%;animation-delay:-3.2s}
.hero-visual .chip-card.chip-3 .icon{background:var(--ink-1000);color:var(--paper)}
.hero-visual .chip-card .lbl{color:var(--ink-500);font-size:10px;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em}
.hero-visual .chip-card .val{font-size:14px;font-weight:600;color:var(--ink-1000);display:block;margin-top:2px}
@keyframes bc-float {
0%,100%{transform:translateY(0)}
50%{transform:translateY(-10px)}
}
.hero-strip{margin-top:clamp(56px,8vh,96px);padding-top:var(--sp-7);border-top:1px solid var(--ink-200);display:grid;grid-template-columns:repeat(2,1fr);gap:var(--sp-5)}
@media (min-width: 700px) {
.hero-strip{grid-template-columns:repeat(4,1fr)}
}
.kpi{position:relative;padding-right:var(--sp-4)}
.kpi .label{font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-500);margin-bottom:var(--sp-3)}
.kpi .value{font-family:var(--font-display);font-weight:600;font-size:clamp(36px,4vw,56px);line-height:1;letter-spacing:-.025em;color:var(--ink-1000);display:inline-flex;align-items:baseline;gap:4px}
.kpi .value sup{font-family:var(--font-mono);font-size:14px;color:var(--bc-purple);font-weight:600;letter-spacing:0;position:relative;top:-1.4em}
.kpi.accent .value{color:var(--bc-purple)}
.kpi.accent .value sup{color:var(--ink-1000)}
.kpi .bar{position:absolute;left:0;top:-1px;height:3px;background:var(--bc-purple);transition:width 1.2s var(--ease-out);width:0}
.kpi.accent .bar{background:var(--bc-lime)}
.infiniteslide_wrap{overflow:hidden;white-space:nowrap;background:var(--bc-purple);padding-top:16px}
.marquee ul.text-center{padding-left:5px}
.marquee-item{font-family:var(--font-display);font-weight:500;font-size:14px;letter-spacing:-.01em;color:var(--paper);display:inline-flex;align-items:center;gap:var(--sp-6);position:relative}
.marquee-item::after{content:"";width:8px;height:8px;background:var(--bc-lime);display:inline-block;border-radius:50%}
#capability{background:var(--bg-page)}
.cap-list-wrap{display:grid;gap:var(--gutter)}
.cap-row{display:grid;grid-template-columns:1fr;gap:var(--gutter);align-items:stretch;padding:clamp(28px,4vh,48px);background:var(--paper);border:1px solid var(--ink-200);border-radius:var(--r-4);transition:border-color var(--dur-base),transform var(--dur-base) var(--ease-out),box-shadow var(--dur-base);position:relative;overflow:hidden}
.cap-row:hover{border-color:var(--bc-purple);box-shadow:0 24px 60px -24px #2400a140;transform:translateY(-2px)}
.cap-row::before{content:"";position:absolute;top:0;left:0;width:0;height:3px;background:var(--bc-purple);transition:width var(--dur-slow) var(--ease-out)}
.cap-row:hover::before{width:100%}
@media (min-width: 900px) {
.cap-row{grid-template-columns:5px 1fr 1.1fr;gap:var(--sp-7);align-items:center}
.cap-row.flip{grid-template-columns:1.1fr 1fr 80px}
.cap-row.flip .cap-num{order:3;text-align:right}
.cap-row.flip .cap-text{order:2}
.cap-row.flip .cap-visual{order:1}
}
.cap-row .cap-num{font-family:var(--font-mono);font-size:14px;color:var(--bc-purple);letter-spacing:.04em;font-weight:600}
.cap-row .cap-text{display:flex;flex-direction:column;gap:var(--sp-4)}
.cap-row .cap-title{font-family:var(--font-display);font-weight:500;font-size:clamp(28px,3vw,44px);line-height:1;letter-spacing:-.025em;color:var(--ink-1000)}
.cap-row .cap-body{font-family:var(--font-body);font-size:15px;line-height:1.6;color:var(--ink-600);max-width:42ch}
.cap-row .cap-list{font-family:var(--font-mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-1000);display:flex;flex-wrap:wrap;gap:var(--sp-2);margin:4px 0 0;padding:0;list-style:none}
.cap-row .cap-list li{background:var(--bc-purple-bg);color:var(--bc-purple-deep);padding:6px 10px;border-radius:var(--r-2);font-size:12px}
.cap-row .cap-visual{position:relative;aspect-ratio:5 / 4;background:var(--ink-100);overflow:hidden;border-radius:var(--r-3)}
.cap-row .cap-visual img{width:100%;height:100%;object-fit:cover;transition:transform var(--dur-slow) var(--ease-out)}
.cap-row:hover .cap-visual img{transform:scale(1.04)}
.cap-row .cap-visual .label{position:absolute;left:var(--sp-4);bottom:var(--sp-4);font-family:var(--font-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--paper);background:#0a0a0cb3;backdrop-filter:blur(8px);padding:6px 10px;border-radius:var(--r-2);display:inline-flex;align-items:center;gap:8px}
.cap-row .cap-visual .label::before{content:"";width:6px;height:6px;background:var(--bc-lime);display:inline-block;border-radius:50%}
.cap-row .cap-visual .corner{position:absolute;top:var(--sp-4);right:var(--sp-4);background:var(--paper);font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--bc-purple);padding:6px 10px;border-radius:var(--r-2);font-weight:600}
.cap-row .cap-link{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-body);font-weight:600;font-size:14px;color:var(--bc-purple);text-decoration:none;margin-top:var(--sp-2);width:fit-content;transition:gap var(--dur-fast)}
.cap-row .cap-link:hover{gap:14px}
.cap-row .cap-link .arrow{transition:transform var(--dur-base) var(--ease-out)}
.ba-section{background:var(--ink-1000);color:var(--paper);position:relative;overflow:hidden}
.ba-section::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 90% 10%,#2400a140,transparent 50%),radial-gradient(circle at 5% 90%,#ffe01b1a,transparent 40%);pointer-events:none}
.ba-section .page-container{position:relative}
.ba-section h2{color:var(--paper)}
.ba-section .lede{color:#ffffffa6}
.ba-section .eyebrow{color:#ffffff80}
.ba-section .eyebrow .idx{color:var(--bc-lime)}
.ba-wrap{position:relative;margin-top:clamp(40px,5vh,64px);border-radius:var(--r-4);overflow:hidden;background:var(--ink-900);border:1px solid #ffffff1a;user-select:none;aspect-ratio:16 / 9;cursor:ew-resize}
.ba-wrap img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none}
.ba-wrap .before{clip-path:inset(0 calc(100% - var(--pos,50%)) 0 0)}
.ba-wrap .handle{position:absolute;top:0;bottom:0;left:var(--pos,50%);width:2px;background:var(--bc-lime);pointer-events:none;z-index:2}
.ba-wrap .handle::after{content:"↔";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:48px;height:48px;background:var(--bc-lime);color:var(--ink-1000);border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:18px;font-weight:600;box-shadow:0 6px 20px #0a0a0c66}
.ba-wrap .tag-l,.ba-wrap .tag-r{position:absolute;top:var(--sp-5);font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--paper);background:#0a0a0c99;backdrop-filter:blur(8px);padding:8px 12px;border-radius:var(--r-2);z-index:3}
.ba-wrap .tag-l{left:var(--sp-5)}
.ba-wrap .tag-l::before{content:"● ";color:var(--bc-lime)}
.ba-wrap .tag-r{right:var(--sp-5)}
.ba-wrap .tag-r::before{content:"● ";color:var(--bc-purple-mid)}
.ba-hint{margin-top:var(--sp-5);font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;color:#ffffff80;text-transform:uppercase;display:inline-flex;align-items:center;gap:10px}
.ba-hint .key{background:#ffffff1a;border:1px solid #fff3;padding:4px 10px;border-radius:var(--r-1);color:var(--paper)}
.process{background:linear-gradient(180deg,var(--ink-50) 0%,var(--paper) 100%);border-top:1px solid var(--ink-200);border-bottom:1px solid var(--ink-200)}
.process-grid{display:grid;grid-template-columns:1fr;gap:var(--gutter);position:relative}
@media (min-width: 900px) {
.process-grid{grid-template-columns:repeat(4,1fr)}
.process-grid::before{content:"";position:absolute;top:32px;left:5%;right:5%;height:1px;background:repeating-linear-gradient(to right,var(--ink-300) 0 6px,transparent 6px 12px);z-index:0}
}
.phase{background:var(--paper);padding:var(--sp-6) var(--sp-5);border:1px solid var(--ink-200);border-radius:var(--r-3);display:flex;flex-direction:column;gap:var(--sp-4);min-height:280px;position:relative;transition:all var(--dur-base) var(--ease-out);z-index:1}
.phase:hover{border-color:var(--bc-purple);transform:translateY(-3px);box-shadow:0 20px 40px -16px #2400a133}
.phase .ph-circle{width:36px;height:36px;border-radius:50%;background:var(--paper);border:2px solid var(--ink-300);color:var(--ink-1000);display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:.04em;transition:all var(--dur-base)}
.phase:hover .ph-circle{background:var(--bc-purple);border-color:var(--bc-purple);color:var(--paper)}
.phase.accent .ph-circle{background:var(--bc-lime);border-color:var(--bc-lime)}
.phase.accent:hover .ph-circle{background:var(--bc-purple);border-color:var(--bc-purple);color:var(--paper)}
.phase .ph-title{font-family:var(--font-display);font-weight:500;font-size:24px;line-height:1.05;letter-spacing:-.018em;color:var(--ink-1000)}
.phase .ph-body{font-size:14px;line-height:1.55;color:var(--ink-600);margin:0;flex:1}
.phase .ph-meta{font-family:var(--font-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-500);padding-top:var(--sp-4);border-top:1px solid var(--ink-150);display:flex;justify-content:space-between}
.phase .ph-meta .accent{color:var(--bc-purple);font-weight:600}
.work-grid{display:grid;grid-template-columns:1fr;gap:var(--gutter)}
@media (min-width: 700px) {
.work-grid{grid-template-columns:repeat(6,1fr);grid-auto-rows:110px}
}
.work-card{position:relative;overflow:hidden;background:var(--ink-100);display:block;cursor:auto;border-radius:var(--r-3);text-decoration:none}
.work-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform var(--dur-slow) var(--ease-out)}
.work-card:hover img{transform:scale(1.06)}
.work-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,#0a0a0cd9 100%);pointer-events:none;transition:opacity var(--dur-base)}
.work-card .wc-meta{position:absolute;inset:auto 0 0 0;padding:var(--sp-5);color:var(--paper);display:flex;flex-direction:column;gap:6px;z-index:2;transform:translateY(8px);transition:transform var(--dur-base) var(--ease-out)}
.work-card:hover .wc-meta{transform:translateY(0)}
.work-card .wc-tag{font-family:var(--font-mono);font-size:10px;letter-spacing:.14em;/*text-transform:uppercase;*/color:var(--bc-lime);display:inline-flex;align-items:center;gap:6px}
.work-card .wc-tag::before{content:"";width:5px;height:5px;background:var(--bc-lime);border-radius:50%}
.work-card .wc-title{font-family:var(--font-display);font-weight:500;font-size:clamp(18px,1.6vw,22px);line-height:1.1;letter-spacing:-.015em;color:var(--paper);text-transform:capitalize;}
.work-card.aspect{aspect-ratio:4 / 3}
.work-card .wc-spec{position:absolute;top:var(--sp-4);left:var(--sp-4);font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--paper);background:#0a0a0c99;backdrop-filter:blur(8px);padding:5px 9px;border-radius:var(--r-2);z-index:2}
.work-card .wc-arrow{position:absolute;top:var(--sp-4);right:var(--sp-4);width:36px;height:36px;background:var(--bc-lime);color:var(--ink-1000);border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:14px;font-weight:700;z-index:2;opacity:0;transform:translate(8px,-8px);transition:all var(--dur-base) var(--ease-out);display:none}
.work-card:hover .wc-arrow{opacity:1;transform:translate(0,0)}
@media (min-width: 700px) {
.work-card.aspect{aspect-ratio:auto}
.work-card.size-tall{grid-column:span 3;grid-row:span 5}
.work-card.size-square{grid-column:span 3;grid-row:span 3}
.work-card.size-wide{grid-column:span 6;grid-row:span 4}
.work-card.size-md{grid-column:span 3;grid-row:span 4}
}
.work-filters{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin-bottom:var(--sp-6)}
.work-filter{font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;padding:8px 14px;border:1px solid var(--ink-300);background:var(--paper);color:var(--ink-1000);border-radius:var(--r-pill,999px);cursor:pointer;transition:all var(--dur-fast);text-transform:uppercase}
.work-filter:hover{border-color:var(--ink-1000)}
.work-filter.active{background:var(--ink-1000);color:var(--paper);border-color:var(--ink-1000)}
.stack{background:var(--ink-1000);color:var(--paper)}
.stack .sec-head .meta .eyebrow{color:#ffffff80}
.stack .sec-head .meta .eyebrow .idx{color:var(--bc-lime)}
.stack h2{color:var(--paper)}
.stack .lede{color:#ffffffa6}
.stack-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:#ffffff14;border:1px solid #ffffff14;border-radius:var(--r-3);overflow:hidden;margin-top:clamp(40px,5vh,72px)}
@media (min-width: 700px) {
.stack-grid{grid-template-columns:repeat(4,1fr)}
}
.stack-cell{background:var(--ink-1000);padding:var(--sp-6) var(--sp-5);display:flex;flex-direction:column;gap:var(--sp-2);transition:background var(--dur-fast);min-height:150px;justify-content:space-between;position:relative}
.stack-cell:hover{background:var(--ink-900)}
.stack-cell::before{content:"";position:absolute;top:0;left:0;width:0;height:2px;background:var(--bc-lime);transition:width var(--dur-base) var(--ease-out)}
.stack-cell:hover::before{width:100%}
.stack-cell .name{font-family:var(--font-display);font-weight:600;font-size:22px;line-height:1;letter-spacing:-.018em;color:var(--paper)}
.stack-cell .role{font-family:var(--font-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#ffffff80}
.stack-cell .version{font-family:var(--font-mono);font-size:10px;letter-spacing:.04em;color:var(--bc-lime);display:inline-flex;align-items:center;gap:6px}
.stack-cell .version::before{content:"";width:5px;height:5px;background:var(--bc-lime);border-radius:50%}
#industries{background:radial-gradient(ellipse 60% 50% at 80% 100%,#2400a114,transparent 70%),var(--paper)}
.ind-list{border-top:1px solid var(--ink-200)}
.ind-row{display:grid;grid-template-columns:60px 1fr auto 56px;align-items:center;gap:var(--sp-5);padding-block:clamp(20px,3vh,36px);padding-inline:0;border-bottom:1px solid var(--ink-200);cursor:auto;transition:background var(--dur-fast),padding-inline var(--dur-base) var(--ease-out);position:relative;text-decoration:none}
.ind-row::before{content:"";position:absolute;left:0;right:0;top:0;bottom:0;background:var(--bc-purple);transform:scaleX(0);transform-origin:left;transition:transform var(--dur-base) var(--ease-out);z-index:0;border-radius:var(--r-2)}
.ind-row:hover::before{transform:scaleX(1)}
.ind-row > *{position:relative;z-index:1;transition:color var(--dur-base)}
.ind-row:hover{padding-inline:var(--sp-5)}
.ind-row .ind-num{font-family:var(--font-mono);font-size:12px;color:var(--ink-400);letter-spacing:.04em}
.ind-row .ind-name{font-family:var(--font-display);font-weight:500;font-size:clamp(28px,3.2vw,48px);line-height:1;letter-spacing:-.022em;color:var(--ink-1000)}
.ind-row .ind-name em{font-family:var(--font-serif);font-weight:300;font-style:italic}
.ind-row .ind-cnt{font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-500)}
.ind-row .ind-arrow{width:40px;height:40px;border-radius:50%;background:var(--ink-100);display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:14px;color:var(--ink-1000);transition:all var(--dur-base)}
.ind-row:hover .ind-num,.ind-row:hover .ind-name,.ind-row:hover .ind-cnt{color:var(--paper)}
.ind-row:hover .ind-arrow{background:var(--bc-lime);color:var(--ink-1000);transform:rotate(-45deg)}
.quote-band{background:var(--bc-purple);color:var(--paper);padding-block:clamp(72px,10vh,120px);position:relative;overflow:hidden}
.quote-band::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 90% 10%,#ffe01b38,transparent 40%),radial-gradient(circle at 0% 100%,#ffffff14,transparent 50%);pointer-events:none}
.quote-band .page-container{position:relative}
.quote-band .q-mark{font-family:var(--font-serif);font-style:italic;font-weight:300;font-size:clamp(120px,14vw,200px);line-height:.6;color:var(--bc-lime);display:block;margin-bottom:-45px}
.quote-band .q-text{font-family:var(--font-display);font-weight:400;font-size:22px;line-height:1.5;letter-spacing:-.022em;color:var(--paper);margin:0 0 var(--sp-7);text-wrap:balance}
.quote-band .q-text em{font-family:var(--font-serif);font-weight:300;font-style:italic}
.quote-band .q-meta{display:flex;align-items:center;gap:var(--sp-4);flex-wrap:wrap}
.quote-band .q-avatar{width:56px;height:56px;background:var(--ink-1000);border-radius:50%;overflow:hidden;flex-shrink:0;border:2px solid var(--bc-lime)}
.quote-band .q-avatar img{width:100%;height:100%;object-fit:cover}
.quote-band .q-name{font-family:var(--font-display);font-weight:600;font-size:16px;color:var(--paper);letter-spacing:-.005em}
.quote-band .q-role{font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#ffffffb3}
.quote-band .q-controls{margin-left:auto;display:inline-flex;align-items:center;gap:var(--sp-4)}
.quote-band .q-btn{width:44px;height:44px;background:#ffffff1a;border:1px solid #ffffff4d;color:var(--paper);font-family:var(--font-mono);font-size:16px;cursor:pointer;transition:all var(--dur-fast);border-radius:50%;display:inline-flex;align-items:center;justify-content:center}
.quote-band .q-btn:hover{background:var(--bc-lime);color:var(--ink-1000);border-color:var(--bc-lime)}
.quote-band .q-dots{font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;color:#ffffffb3}
.client-logo-marquee{margin-top:clamp(48px,6vh,64px);padding-top:var(--sp-7);padding-bottom:var(--sp-3);border-top:1px solid #fff3;overflow:hidden;position:relative;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 8%,#000 92%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 8%,#000 92%,transparent 100%)}
.client-logo-track{display:flex;gap:clamp(40px,5vw,72px);width:max-content;animation:client-logo-scroll 60s linear infinite;will-change:transform;align-items:center}
.client-logo-marquee:hover .client-logo-track{animation-play-state:paused}
.client-logo{flex:0 0 auto;width:clamp(160px,12vw,170px);height:56px;display:flex;align-items:center;justify-content:center;color:#ffffff8c;opacity:1;transition:color var(--dur-base) var(--ease-out)}
.client-logo:hover{color:var(--paper)}
.client-logo svg{width:100%;height:100%;fill:currentColor;stroke:currentColor}
.client-logo svg text{fill:currentColor;stroke:none}
@keyframes client-logo-scroll {
from{transform:translateX(0)}
to{transform:translateX(-50%)}
}
@media (prefers-reduced-motion: reduce) {
.client-logo-track{animation:none;flex-wrap:wrap}
}
#contact{background:var(--bg-page);position:relative}
#contact::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 0% 0%,#2400a10f,transparent 50%),radial-gradient(circle at 100% 100%,#ffe01b14,transparent 50%);pointer-events:none}
#contact > .page-container{position:relative}
.contact-grid{display:grid;grid-template-columns:1fr;gap:clamp(40px,6vw,80px)}
@media (min-width: 900px) {
.contact-grid{grid-template-columns:1.1fr 1fr;align-items:start}
}
.contact-left h2{margin-bottom:var(--sp-6)}
.contact-left h2 em.purple{color:var(--bc-purple)}
.contact-left .lede{margin-bottom:var(--sp-7)}
.contact-meta{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-6);margin-top:var(--sp-7);padding-top:var(--sp-6);border-top:1px solid var(--ink-200)}
.contact-meta .lbl{font-family:var(--font-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-500);margin-bottom:var(--sp-2)}
.contact-meta .val{font-family:var(--font-display);font-weight:600;font-size:16px;color:var(--ink-1000);letter-spacing:-.01em}
.form{background:var(--paper);border:1px solid var(--ink-200);border-radius:var(--r-4);padding:clamp(28px,4vw,44px);display:flex;flex-direction:column;gap:var(--sp-5);box-shadow:0 20px 60px -30px #2400a140;position:relative}
.form::before{content:"";position:absolute;top:-1px;left:24px;right:24px;height:3px;background:linear-gradient(90deg,var(--bc-purple),var(--bc-lime));border-radius:var(--r-2)}
.form-row{display:grid;grid-template-columns:1fr;gap:var(--sp-5)}
@media (min-width: 600px) {
.form-row{grid-template-columns:1fr 1fr}
}
.field{display:flex;flex-direction:column;gap:8px}
.field label{font-family:var(--font-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-500)}
.field input,.field select,.field textarea{font-family:var(--font-body);font-size:15px;background:var(--ink-50);border:1px solid var(--ink-200);padding:12px 14px;color:var(--ink-1000);outline:none;border-radius:var(--r-2);transition:all var(--dur-fast)}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--bc-purple);background:var(--paper);box-shadow:0 0 0 4px #2400a11f}
.field textarea{min-height:96px;resize:vertical}
.field .checks{display:flex;flex-wrap:wrap;gap:var(--sp-2)}
.chip{font-family:var(--font-mono);font-size:11px;letter-spacing:.04em;padding:8px 14px;border:1px solid var(--ink-300);background:var(--paper);color:var(--ink-1000);cursor:pointer;border-radius:var(--r-pill,999px);transition:all var(--dur-fast);user-select:none}
.chip:hover{border-color:var(--bc-purple);color:var(--bc-purple)}
.chip.active{background:var(--bc-purple);color:var(--paper);border-color:var(--bc-purple)}
.chip.active.lime{background:var(--bc-lime);color:var(--ink-1000);border-color:var(--bc-lime)}
.form-submit{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);margin-top:var(--sp-3);flex-wrap:wrap}
.form-submit .privacy{font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;color:var(--ink-500);max-width:32ch;line-height:1.5}
body[data-intensity="quiet"] .marquee{background:var(--ink-1000)}
body[data-intensity="quiet"] .quote-band{background:var(--ink-1000)}
body[data-intensity="quiet"] .quote-band::before{opacity:.4}
body[data-intensity="quiet"] .hero{background:var(--paper)}
body[data-intensity="quiet"] .hero::before{opacity:.5}
body[data-intensity="loud"] .hero h1.display .accent{background:linear-gradient(180deg,#ffe01b00 60%,var(--bc-lime) 60%)}
body[data-intensity="loud"] .hero h1.display .accent::after{display:none}
body[data-intensity="loud"] .cap-row:nth-child(2n+1){background:linear-gradient(135deg,var(--paper) 60%,var(--bc-purple-bg) 100%)}
::selection{background:var(--bc-lime);color:var(--ink-1000)}
:focus-visible{outline:2px solid var(--bc-purple);outline-offset:2px}
.reveal{opacity:0;transform:translateY(20px);transition:opacity .8s var(--ease-out),transform .8s var(--ease-out)}
.reveal.in{opacity:1;transform:translateY(0)}
@media (max-width: 700px) {
.hero h1.display{font-size:clamp(40px,12vw,64px)}
.nav-mono{display:none}
.hero-ctas .btn{flex:1;justify-content:center;min-width:140px}
.hero-visual{display:none}
.ba-wrap .tag-l,.ba-wrap .tag-r{font-size:9px;padding:5px 8px}
.ind-row{grid-template-columns:40px 1fr 36px;gap:var(--sp-3)}
.ind-row .ind-cnt{display:none}
}
.process-grid.wflow-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.process-grid.eng-grid{grid-template-columns:repeat(3,1fr)}
@media (max-width: 900px) {
.process-grid.eng-grid{grid-template-columns:1fr}
}
.case-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--sp-5);margin-top:var(--sp-8)}
@media (max-width: 900px) {
.case-grid{grid-template-columns:1fr}
}
.case-card{background:var(--paper);border:1px solid var(--border-1);border-radius:var(--r-3,4px);padding:var(--sp-6);display:flex;flex-direction:column;gap:var(--sp-4);transition:border-color var(--dur-base) var(--ease-out),transform var(--dur-base) var(--ease-out)}
.case-card:hover{border-color:var(--ink-1000);transform:translateY(-2px)}
.case-metric{display:flex;align-items:baseline;gap:var(--sp-3);padding-bottom:var(--sp-4);border-bottom:1px solid var(--border-1)}
.case-kicker{font-family:var(--font-display);font-weight:600;font-size:clamp(22px,1.9vw,26px);line-height:1.15;letter-spacing:-.02em;color:var(--bc-purple);padding-bottom:var(--sp-4);border-bottom:1px solid var(--border-1)}
.case-metric-val{font-family:var(--font-display);font-weight:700;font-size:clamp(48px,5vw,72px);line-height:1;letter-spacing:-.03em;color:var(--bc-purple)}
.case-metric-lbl{font-size:13px;color:var(--ink-600);letter-spacing:-.005em;max-width:16ch}
.case-title{font-family:var(--font-display);font-weight:600;font-size:clamp(22px,2vw,28px);line-height:1.2;letter-spacing:-.02em;color:var(--ink-1000);margin:0}
.case-body{font-size:15px;line-height:1.55;color:var(--ink-600);margin:0}
.case-foot{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);margin-top:auto;padding-top:var(--sp-4);border-top:1px solid var(--border-1);flex-wrap:wrap}
.case-chips{display:flex;gap:6px;flex-wrap:wrap}
.case-chip{font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-600);background:var(--ink-100);padding:4px 8px;border-radius:2px}
.case-all{display:flex;justify-content:flex-end;margin-top:var(--sp-6)}
.case-all-link{display:inline-flex;align-items:center;gap:var(--sp-2);font-family:var(--font-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-1000);text-decoration:none;padding:var(--sp-3) var(--sp-4);border:1px solid var(--ink-1000);border-radius:2px;transition:background var(--dur-base) var(--ease-out),color var(--dur-base) var(--ease-out)}
.case-all-link:hover{background:var(--ink-1000);color:var(--paper)}
.case-all-link .arrow{transition:transform var(--dur-base) var(--ease-out)}
.case-all-link:hover .arrow{transform:translateX(3px)}
.stack-stack{display:flex;flex-direction:column;gap:var(--sp-6)}
.stack-group{display:grid;grid-template-columns:160px 1fr;gap:var(--sp-6);align-items:start;padding-top:var(--sp-5);border-top:1px solid #ffffff1f}
.stack-group:first-child{border-top:0;padding-top:0}
.stack-group-label{font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--bc-lime);padding-top:4px}
@media (max-width: 760px) {
.stack-group{grid-template-columns:1fr;gap:var(--sp-3)}
}
.stack-disclaimer{margin-top:var(--sp-7);font-family:var(--font-mono);font-size:10px;letter-spacing:.02em;color:#fff6;line-height:1.6;text-align:center}
.insights-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-5)}
@media (max-width: 900px) {
.insights-grid{grid-template-columns:1fr}
}
.insight-card{display:flex;flex-direction:column;gap:var(--sp-3);padding:var(--sp-5);background:var(--paper);border:1px solid var(--border-1);border-radius:var(--r-3,4px);text-decoration:none;color:inherit;position:relative;transition:border-color var(--dur-base) var(--ease-out),transform var(--dur-base) var(--ease-out)}
.insight-card:hover{border-color:var(--ink-1000);transform:translateY(-2px)}
.insight-num{font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;color:var(--bc-purple);font-weight:600}
.insight-tag{font-family:var(--font-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-500)}
.insight-title{font-family:var(--font-display);font-weight:600;font-size:22px;line-height:1.25;letter-spacing:-.02em;color:var(--ink-1000);margin:0;text-wrap:balance}
.insight-body{font-size:14.5px;line-height:1.55;color:var(--ink-600);margin:0;flex:1}
.insight-foot{display:flex;align-items:center;justify-content:space-between;margin-top:var(--sp-3);padding-top:var(--sp-4);border-top:1px solid var(--border-1);font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-500)}
.insight-foot .arrow{color:var(--bc-purple);font-size:14px;transition:transform var(--dur-base) var(--ease-out)}
.insight-card:hover .insight-foot .arrow{transform:translateX(4px)}
.faq-list{display:flex;flex-direction:column;border-top:1px solid var(--border-1)}
.faq-row{border-bottom:1px solid var(--border-1);transition:background var(--dur-base) var(--ease-out)}
.faq-row.open{background:var(--ink-50)}
.faq-q{display:grid;grid-template-columns:30px 1fr 32px;align-items:center;gap:var(--sp-4);width:100%;padding:var(--sp-5) var(--sp-4);background:transparent;border:0;text-align:left;cursor:pointer;font-family:var(--font-display);color:var(--ink-1000);transition:padding var(--dur-base) var(--ease-out)}
.faq-q:hover{padding-left:var(--sp-5)}
.faq-num{font-family:var(--font-mono);font-size:12px;letter-spacing:.08em;color:var(--bc-purple);font-weight:600}
.faq-q-text{font-size:clamp(18px,1.6vw,22px);font-weight:500;letter-spacing:-.015em;line-height:1.3}
.faq-icon{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--ink-300);border-radius:50%;font-family:var(--font-mono);font-size:16px;color:var(--ink-600);transition:all var(--dur-base) var(--ease-out);justify-self:end}
.faq-row.open .faq-icon{background:var(--bc-purple);color:var(--paper);border-color:var(--bc-purple)}
.faq-a{padding:0;display:none}
.faq-row.open .faq-a{display:block}
.faq-a p{font-size:15.5px;line-height:1.7;color:var(--ink-600);margin:-10px 0 0 0;padding:0px 25px 25px 65px; /*max-width:80ch;*/text-wrap:pretty}
@media (max-width: 700px) {
.faq-q{grid-template-columns:40px 1fr 28px;gap:var(--sp-3);padding:var(--sp-4) var(--sp-3)}
.faq-num{font-size:10px}
.faq-icon{width:28px;height:28px;font-size:14px}
.faq-a{padding:0}
}
.contact-meta{grid-template-columns:repeat(2,1fr)}
.scrolllightbox{display:none}
.img-globe{position:absolute;right:25px;bottom:-35px;width:50px;height:auto}
.home-form-bg .gravity-theme{background:url(../images/short-form-bg-home.png) 90% bottom no-repeat #f2f0f9;border-radius:15px;padding:25px 25px 60px;margin-top:25px}
.home-form-bg .gform_wrapper.gravity-theme .gfield.gfield--width-half{grid-column:span 12}
.home-form-bg .large{border:none;border-bottom:1px solid #000;background-color:transparent;border-radius:0!important;padding-left:0!important;font-size:15px;transition:var(--be-transition)}
.home-form-bg .textarea{height:75px!important}
.home-form-bg .large:hover,.home-form-bg .large:active,.home-form-bg .large:focus,.home-form-bg .large:focus-visible,.home-form-bg .large:focus-within,.home-form-bg .large:visited{border-bottom-color:#2400A1;box-shadow:none;outline:none!important}
.home-form-bg .large::placeholder{color:#000!important}
.home-form-bg .button{background:#2400A1;border-radius:25px;padding:8px 0;width:100%;text-align:center;color:#fff;font-size:15px;border:none;transition:var(--be-transition)}
.home-form-bg .button:hover{background:#5F53F4}
.home-form-bg .nice-select::after{border-bottom:1px solid #000;border-right:1px solid #000}
.home-form-bg .gform_wrapper.gravity-theme .gfield_error [aria-invalid="true"]{border:none!important;border-bottom:1px solid #c02b0a!important}
.home-form-bg .gform_confirmation_message{border:none;box-shadow:none;color:#000}
.home-form-bg .list{width:100%}
.home-form-bg .current,.home-form-bg .list li,.home-form-bg .gform_wrapper.gravity-theme input[type="text"]{font-size:15px}
.home-form-bg .vertical-middle,.Portfolio .vertical-middle{text-align:left;position:relative;top:50%;transform:translateY(-50%)}
.box-WHITE{border-radius:15px;background:#FFF;box-shadow:-2px 2px 3px 0 #c8c8c840;padding:25px 25px 15px;margin-top:25px}
.box-WHITE span{display:inline-block;width:50px;vertical-align:top}
.box-WHITE div{display:inline-block;width:calc(100% - 75px);vertical-align:top}
.box-WHITE div strong{display:block;padding-bottom:15px;font-size:20px}
.box-WHITE div p{font-size:16px}
.box-WHITE a{color:#2400A1}
.box-WHITE a:hover{color:#999}

@media only screen and (min-width: 992px) {
#hero-slider{min-height:500px}
#hero-slider .flexslider .flex-control-nav{bottom:100px}	
}



@media (min-width: 1200px) {
.home-form-bg .gravity-theme{margin-top:0}
#contact .h1{font-size:50px}



#hero-slider .flexslider .flex-control-nav{bottom:25px}

#hero-slider .flexslider .slides li:after{opacity:0}

}


@media (min-width: 1600px) {

.hero-new{padding:60px !important;}

.hero-left{max-width:51%;padding:6% 0 0 0}

.hero-left h1,
.hero-left h2{font-size:65px;}
.subtitle{font-size:25px;}

.hero-left h1.AEC{font-size:90px;}
.hero-left h1.AEC + .subtitle{font-size:35px}

.services{display:flex;gap:40px;margin-top:30px;}
.service{width:20%}

.hero-new .br{display:block}

}


p.title{text-align:center}
.from-blog p.title{font-size:28px;font-weight:700;padding:0}
.from-blog ul{padding:0 0 32px;margin:0;list-style:none}
.from-blog li{margin:0;position:relative;padding:0}
.from-blog img{width:100%;height:auto;margin-bottom:20px;border-radius:10px 10px 0 0;border-bottom:1px solid #ccc;padding-bottom:20px;transition:var(--be-transition)}
.from-blog a{display:block;position:relative;border:1px solid #ddd;padding:20px;margin:5px;border-radius:10px}
.from-blog a span{display:block;color:#222;font-weight:700;font-size:15px;padding:0;width:100%;z-index:99;transition:var(--be-transition)}
.from-blog img:hover{transform:scale(1.05)}

.footer-img{text-align:center;padding:10px 0 32px 0;position:relative;text-align:center}
.footer-img img{position:absolute}
.footer-img img.green-tree{left:0;bottom:0;display:none}
.footer-img img.wind-power{left:150px;bottom:0;display:none}
.footer-img img.yellow-tree{left:300px;bottom:0;display:none}
.footer-img .yellow-circle{position:relative;margin:0 0 -150px 0;height:275px;width:275px;display:inline-block;border-radius:100%}
.footer-img .yellow-circle2{position:relative;margin:0 0 -150px 0;height:275px;width:275px;display:inline-block;border-radius:100%}
.footer-img img.butterfly{right:150px;bottom:-50px;width:auto;height:125px}
.footer-img img.cloud-small{right:-75px;bottom:0;width:auto;height:45px}
.yellow-circle{background:linear-gradient(90deg, #FFBF00, #2400A1, #33FF33);background-size:1000% 1000%;animation:gradient 15s ease infinite}
.sep-line-bg-office{display:block;background:url(../images/sep-line-bg.svg) top right no-repeat;width:142px;height:6px;margin:25px auto;}

@media only screen and (min-width : 768px) and (max-width : 1024px) and (orientation : portrait) {
.footer-img img.butterfly{right:375px}
.footer-img img.cloud-small{right:125px}	
}

@media only screen and (min-width: 992px) {
.footer-img{text-align:right;padding-bottom:0}
.footer-img img.green-tree,
.footer-img img.wind-power,
.footer-img img.yellow-tree{display:block}
.footer-img .yellow-circle,
.footer-img .yellow-circle2{position:relative;margin:0 0 -150px 0;height:300px;width:300px;display:inline-block;border-radius:100%}
.footer-img img.butterfly{right:150px;bottom:-75px;width:auto;height:184px}
.footer-img img.cloud-small{right:-100px;bottom:0;width:auto;height:56px}	

.from-blog p.title{padding:0;font-size:32px;margin-top:-25px}
}

