.card__icon{margin:0 0 var(--s25) 0; }
.card__icon svg{width:28px; height:28px; color:#2d2d2d; stroke-width:1.5; transition:color 0.3s ease; }
.card--dark .card__icon svg{color:rgba(255,255,255,0.6); }
/* ── Video Hero ── */
.vhero{padding:0 var(--s30) var(--s30); height:calc(100dvh - 80px); min-height:700px; }
.vhero__box{position:relative; width:100%; height:100%; overflow:hidden; background:linear-gradient(180deg,#111111 0%,#1a1a1a 100%); border-radius:20px; display:flex; flex-direction:column; }
.vhero__video{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0.35; pointer-events:none; }
/* .vhero__overlay{position:absolute; inset:0; background:linear-gradient(180deg,rgba(0,0,0,0.3) 0%,rgba(0,0,0,0.1) 40%,rgba(0,0,0,0.5) 100%); pointer-events:none; border-radius:20px; }
*/
.vhero__content{position:relative; z-index:2; flex:1; display:flex; flex-direction:column; justify-content:space-between; padding:100px var(--s60) var(--s50); width:100%; }
.vhero__top{opacity:0; transform:translateY(40px); animation:vheroFadeUp 1s ease forwards 0.3s; }
.vhero__brand{font-family:'Inter',sans-serif; font-size:var(--f-14); font-weight:700; color:rgba(255,255,255,0.45); text-transform:uppercase; letter-spacing:0.12em; margin:0 0 var(--s20) 0; }
.vhero__brand span{color:rgba(255,255,255,0.25); }
.vhero__headline{font-family:'Inter',sans-serif; font-size:var(--font-h1); font-weight:600; color:#ffffff; letter-spacing:-0.03em; line-height:1.05; margin:0; }
.vhero__headline span{color:rgba(255,255,255,0.4); }
.vhero__divider{display:flex; align-items:center; gap:0; margin:auto 0 0 0; padding-bottom:var(--s35); opacity:0; animation:vheroFadeUp 0.8s ease forwards 0.7s; }
.vhero__line{flex:1; height:1px; background:rgba(255,255,255,0.2); }
.vhero__marker{font-family:'Inter',sans-serif; font-size:var(--f-14); font-weight:300; color:rgba(255,255,255,0.35); padding:0 var(--s20); user-select:none; }
.vhero__bottom{display:flex; justify-content:space-between; align-items:flex-end; gap:60px; opacity:0; animation:vheroFadeUp 0.8s ease forwards 0.9s; }
.vhero__tagline{max-width:540px; }
.vhero__tagline-text{font-family:'Inter',sans-serif; font-size:var(--f-16); font-weight:400; color:rgba(255,255,255,0.7); line-height:1.5; margin:0; }
.vhero__tagline-proof{font-family:'Inter',sans-serif; font-size:var(--f-14); font-weight:600; color:rgba(255,255,255,0.5); margin:var(--s20) 0 0 0; }
.vhero__services{text-align:right; }
.vhero__services-label{font-family:'Inter',sans-serif; font-size:11px; font-weight:700; color:rgba(255,255,255,0.4); text-transform:uppercase; letter-spacing:0.1em; margin:0 0 var(--s20) 0; }
.vhero__services-list{list-style:none; margin:0; padding:0; }
.vhero__services-list li{font-family:'Inter',sans-serif; font-size:var(--f-14); font-weight:500; color:rgba(255,255,255,0.6); line-height:2; transition:color 0.2s ease; }
.vhero__services-list li:hover{color:#ffffff; }
@keyframes vheroFadeUp{to{opacity:1; transform:translateY(0); }
}
/* ── Home page card overrides ── */
.home-card--link{font-size:var(--f-14); font-weight:600; color:#1d1d1f; text-decoration:none; border-bottom:1px solid #1d1d1f; padding-bottom:1px; transition:color 0.2s ease,border-color 0.2s ease; margin-top:auto; display:inline-block; }
.home-card--link:hover{color:#ff4a00; border-color:#ff4a00; }
.section--dark .home-card--link{color:#ffffff; border-color:rgba(255,255,255,0.4); }
.section--dark .home-card--link:hover{color:#ff4a00; border-color:#ff4a00; }
/* ── Card hover inversion (light sections) ── */
.section--light .card:not(.card--bordered){transition:background 0.3s ease,transform 0.25s cubic-bezier(0.4,0,0.2,1); }
.section--light .card:not(.card--bordered):before{content:''; position:absolute; top:0; left:0; width:100%; height:100%; background:linear-gradient(180deg,#1a1a1a 0%,#2d2d2d 100%); z-index:-1; pointer-events:none; border-radius:16px; opacity:0; transition:opacity 0.3s ease,transform 0.3s ease; }
.section--light .card:not(.card--bordered):hover:before{opacity:1; }
.section--light .card:not(.card--bordered):hover .card__icon svg{color:#ffffff; }
.section--light .card:not(.card--bordered):hover .card__subtitle{color:rgba(255,255,255,0.5); }
.section--light .card:not(.card--bordered):hover .card__title{color:#ffffff; }
.section--light .card:not(.card--bordered):hover .card__text{color:rgba(255,255,255,0.7); }
.section--light .card:not(.card--bordered):hover .home-card--link{color:rgba(255,255,255,0.6); border-color:rgba(255,255,255,0.3); }
.section--light .card:not(.card--bordered):hover .home-card--link:hover{color:#d4622b; border-color:#d4622b; }
.section--light .card:not(.card--bordered):hover .ais-card__label{color:rgba(255,255,255,0.5); }
.section--light .card:not(.card--bordered):hover .ais-card__link{color:rgba(255,255,255,0.6); }
.section--light .card:not(.card--bordered):hover .ais-card__link:hover{color:#d4622b; }
/* ── AI-Driven Development Section (dark grey) ── */
.section--light.ai-dev-section .section-label,.section--light.ai-dev-section .section-header--split__left .section-label{color:rgba(255,255,255,0.4); }
.section--light.ai-dev-section .section-heading,.section--light.ai-dev-section .section-header--split__left .section-heading{color:#ffffff; }
.section--light.ai-dev-section .section-heading span,.section--light.ai-dev-section .section-header--split__left .section-heading span{color:rgba(255,255,255,0.4); }
.section--light.ai-dev-section .section-intro{color:rgba(255,255,255,0.6); }
.ai-card{position:relative; overflow:hidden; background:#ffffff; border:none; border-radius:16px; padding:var(--s40); min-height:410px; display:flex; flex-direction:column; transition:background 0.5s ease,transform 0.25s cubic-bezier(0.4,0,0.2,1); }
.ai-card:hover{background:#f0f0f0; }
.ai-card__number{position:absolute; top:24px; right:28px; font-family:var(--font-primary); font-size:var(--font-h1); font-weight:700; line-height:1; background:linear-gradient(135deg,rgba(45,45,45,0.1) 0%,rgba(45,45,45,0.03) 100%); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; transition:all 0.5s ease; pointer-events:none; }
.ai-card:hover .ai-card__number{background:linear-gradient(135deg,rgba(45,45,45,0.18) 0%,rgba(45,45,45,0.06) 100%); -webkit-background-clip:text; background-clip:text; }
.ai-card .card__text{margin-top:auto; padding-top:var(--s20); color:#4a5568; transition:color 0.4s ease; }
.ai-card:hover .card__title{color:#1a1a1a; }
.ai-card:hover .card__text{color:#2d2d2d; }
/* ── AI Services Section ── */
.ais-card{background:#ffffff; position:relative; padding-left:var(--s50); }
.ais-card::before{content:''; position:absolute; top:36px; left:20px; width:3px; height:0; background:linear-gradient(180deg,#2d2d2d,#4a4a4a); border-radius:2px; transition:height 0.4s ease; }
.ais-card:hover::before{/* height:calc(100% - 72px); */
}
.ais-card__label{text-transform:uppercase; color:#4a4a4a; margin:0 0 5px 0 !important; }
.ais-card .card__title{color:#2d2d2d; }
.ais-card__link{font-size:var(--f-14); font-weight:600; color:#4a4a4a; text-decoration:none; margin-top:auto; display:inline-block; transition:color 0.2s ease,gap 0.2s ease; }
.ais-card__link span{display:inline-block; transition:transform 0.2s ease; }
.ais-card__link:hover{color:#d4622b; }
.ais-card__link:hover span{transform:translateX(4px); }
.ais-card:hover .ais-card__link:hover span{transform:translateX(4px); }
/* ── Engagement Models Section ── */
.engage-card{background:#ffffff; border-radius:16px; padding:var(--s40); min-height:420px; display:flex; flex-direction:column; transition:background 0.3s ease,transform 0.25s cubic-bezier(0.4,0,0.2,1); position:relative; overflow:hidden; }
.engage-card::after{content:''; position:absolute; bottom:0; left:0; width:100%; height:3px; background:linear-gradient(90deg,#2d2d2d,#4a4a4a); transform:scaleX(0); transform-origin:left; transition:transform 0.4s ease; }
.engage-card:hover::after{transform:scaleX(1); }
.engage-card:hover{background:linear-gradient(180deg,#1a1a1a 0%,#2d2d2d 100%); }
.engage-card__title{font-family:var(--font-primary); font-weight:600; color:#2d2d2d; margin:0 0 var(--s20) 0; transition:color 0.3s ease; }
.engage-card:hover .engage-card__title{color:#ffffff; }
.engage-card__text{font-family:var(--font-primary); font-size:var(--f-16); color:#6e6e73; margin:0 0 var(--s20) 0; transition:color 0.3s ease; margin-top:auto; }
.engage-card:hover .engage-card__text{color:rgba(255,255,255,0.7); }
.engage-card__best{font-family:var(--font-primary); font-size:var(--f-14); line-height:1.6; color:#4a5568; margin-top:var(--s10); transition:color 0.3s ease; }
.engage-card__best strong{color:#2d2d2d; transition:color 0.3s ease; }
.engage-card:hover .engage-card__best{color:rgba(255,255,255,0.6); }
.engage-card:hover .engage-card__best strong{color:rgba(255,255,255,0.85); }
/* ── How We Deliver Section ── */
.deliver-section{}
.deliver-grid{display:grid; grid-template-columns:repeat(5,1fr); gap:0; position:relative; }
.deliver-grid::before{content:''; position:absolute; top:10%; left:10%; width:80%; height:1px; background:#000; }
.deliver-card{text-align:center; padding:0 var(--s25); position:relative; }
.deliver-card__num{display:inline-flex; align-items:center; justify-content:center; width:48px; height:48px; border-radius:50%; background:#2d2d2d; font-family:var(--font-primary); font-size:var(--f-18); font-weight:700; color:#ffffff; margin-bottom:var(--s35); position:relative; z-index:1; transition:all 0.4s ease; }
.deliver-card:hover .deliver-card__num{background:#2d2d2d; transform:scale(1.1); }
.deliver-card__title{font-family:var(--font-primary); font-size:var(--f-18); font-weight:600; color:#2d2d2d; margin-bottom:var(--s15); transition:color 0.3s ease; }
.deliver-card__text{font-family:var(--font-primary); font-size:var(--f-14); line-height:1.6; color:#6e6e73; transition:color 0.3s ease; }
.deliver-card:hover .deliver-card__text{color:#1d1d1f; }
/* ── Case Study — Two-Card Layout ── */
.case-carousel{display:flex; gap:24px; overflow-x:auto; scroll-snap-type:x mandatory; scroll-behavior:smooth; -webkit-overflow-scrolling:touch; padding:var(--s10) 0 var(--s25) 0; scrollbar-width:none; }
.case-carousel::-webkit-scrollbar{display:none; }
.case-slide{flex:0 0 100%; max-width:100%; scroll-snap-align:start; display:grid; grid-template-columns:1fr 2fr; gap:3px; min-height:480px; }
/* Left card — Image */
.case-card-image{border-radius:20px; overflow:hidden; position:relative; min-height:480px; }
.case-card-image__bg{position:absolute; inset:0; width:100%; height:100%; }
.case-card-image__bg img{width:100%; height:100%; object-fit:cover; display:block; }
.case-card-image__bg--placeholder{width:100%; height:100%; position:absolute; inset:0; }
.case-card-image__bg--placeholder.case-img-1{background:linear-gradient(135deg,#2d2d2d 0%,#4a4a4a 60%,#666666 100%); }
.case-card-image__bg--placeholder.case-img-2{background:linear-gradient(135deg,#1a1a1a 0%,#2d2d2d 50%,#4a4a4a 100%); }
.case-card-image__bg--placeholder.case-img-3{background:linear-gradient(135deg,#111111 0%,#1a1a1a 50%,#2d2d2d 100%); }
.case-card-image__label{position:absolute; bottom:28px; left:28px; font-family:var(--font-primary); font-size:11px; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; color:rgba(255,255,255,0.6); background:rgba(0,0,0,0.3); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); padding:var(--s10) var(--s20); border-radius:8px; }
/* Right card — Info */
.case-card-info{background:#ffffff; border-radius:20px; padding:var(--s50); display:flex; flex-direction:column; justify-content:center; }
.case-card-info:hover{}
.case-card-info__label{font-size:11px; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; color:#4a4a4a; margin:0 0 var(--s20) 0; }
.case-card-info__title{font-family:var(--font-primary); font-size:var(--font-h3); font-weight:600; color:#2d2d2d; margin:0 0 var(--s20) 0; line-height:1.3; }
.case-card-info__text{font-family:var(--font-primary); font-size:var(--f-14); line-height:1.7; color:#6e6e73; margin:0 0 var(--s35) 0; }
.case-card-info__stats{display:flex; gap:36px; padding-top:var(--s30); border-top:1px solid rgba(45,45,45,0.08); margin-top:auto; }
.case-card-info__stat{display:flex; flex-direction:column; }
.case-card-info__stat-value{font-family:var(--font-primary); font-size:var(--font-h3); font-weight:700; color:#2d2d2d; line-height:1.2; }
.case-card-info__stat-label{font-family:var(--font-primary); font-size:12px; font-weight:500; color:#86868b; margin-top:var(--s10); }
/* Carousel navigation */
.case-carousel-nav{display:flex; align-items:center; justify-content:center; gap:16px; margin-top:var(--s35); }
.case-carousel-btn{width:48px; height:48px; border-radius:50%; border:1.5px solid rgba(45,45,45,0.15); background:#ffffff; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:all 0.3s ease; }
.case-carousel-btn:hover{background:#2d2d2d; border-color:#2d2d2d; }
.case-carousel-btn svg{width:18px; height:18px; stroke:#2d2d2d; fill:none; stroke-width:2; transition:stroke 0.3s ease; }
.case-carousel-btn:hover svg{stroke:#ffffff; }
.case-carousel-dots{display:flex; gap:8px; }
.case-carousel-dot{width:10px; height:10px; border-radius:50%; background:rgba(45,45,45,0.15); border:none; cursor:pointer; transition:all 0.3s ease; padding:0; }
.case-carousel-dot.active{background:#2d2d2d; width:28px; border-radius:5px; }
/* ── Projects grid ── */
.project-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.project-item{border-radius:16px; overflow:hidden; aspect-ratio:4 / 3; }
.project-item img{width:100%; height:100%; object-fit:cover; display:block; transition:transform 0.4s ease; }
.project-item:hover img{transform:scale(1.04); }
/* ── Blog cards — Thumbnail style (matching blog listing page) ── */
.blog-grid-home{display:grid; grid-template-columns:repeat(4,1fr); gap:3px; }
.blog-card-sm{background:#ffffff; border-radius:16px; overflow:hidden; padding:var(--s30); min-height:480px; display:flex; flex-direction:column; text-decoration:none; color:inherit; position:relative; transition:transform 0.25s cubic-bezier(0.4,0,0.2,1); }
.blog-card-sm:hover{transform:translateY(-2px); }
.blog-card-sm__plus{position:absolute; top:20px; right:20px; width:34px; height:34px; border:1px solid #e8e8ed; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:var(--f-16); font-weight:300; color:#c8c8c8; transition:all 0.2s; }
.blog-card-sm:hover .blog-card-sm__plus{border-color:#1d1d1f; color:#1d1d1f; }
.blog-card-sm__thumb{width:150px; height:216px; border-radius:10px; background:#f0f0f0; overflow:hidden; margin-bottom:var(--s20); flex-shrink:0; }
.blog-card-sm__thumb img{width:100%; height:100%; object-fit:cover; }
.blog-card-sm__body{margin-top:auto; }
.blog-card-sm__date{font-size:12px; font-weight:500; color:#86868b; margin:0 0 var(--s10); }
.blog-card-sm__title{font-size:var(--f-18); font-weight:600; line-height:1.3; letter-spacing:-0.01em; color:#1d1d1f; margin:0 0 var(--s10); }
.blog-card-sm__excerpt{font-size:var(--f-14); font-weight:500; line-height:1.55; color:#6e6e73; margin:0; }
/* ── Blog Detail — Sticky Image Split Layout ── */
.blog-split{display:grid; grid-template-columns:42% 1fr; min-height:100vh; }
/* Left:sticky image panel with padding and rounded corners */
.blog-split__image{position:sticky; top:0; height:100vh; padding:var(--s30); background:transparent; box-sizing:border-box; }
.blog-split__image-inner{width:100%; height:100%; border-radius:16px; overflow:hidden; background:#1d1d1f; }
.blog-split__image-inner img{width:100%; height:100%; object-fit:cover; /* opacity:0.7; */
}
.blog-split__image-placeholder{width:100%; height:100%; display:flex; align-items:center; justify-content:center; background:linear-gradient(160deg,#2a2a2e 0%,#1d1d1f 50%,#111111 100%); }
.blog-split__image-placeholder span{font-size:var(--f-14); font-weight:500; color:rgba(255,255,255,0.25); letter-spacing:0.06em; text-transform:uppercase; }
/* Right:scrolling content */
.blog-split__content{padding:0 var(--s70) var(--s80); max-width:760px; }
/* Hero zone fills viewport on load — scroll to read article */
.blog-detail__hero-zone{/* min-height:100vh; */
 display:flex; flex-direction:column; /* justify-content:flex-end; */
 padding-top:var(--s80); padding-bottom:var(--s20); box-sizing:border-box; }
/* Breadcrumb */
.blog-detail__breadcrumb{font-size:var(--f-14); font-weight:500; color:#686868; margin-bottom:var(--s50); display:flex; align-items:center; gap:8px; display:none; }
.blog-detail__breadcrumb a{color:#686868; text-decoration:none; transition:color 0.2s; }
.blog-detail__breadcrumb a:hover{color:#1d1d1f; }
.blog-detail__breadcrumb .sep{color:#c8c8c8; }
/* Tag */
.blog-detail__tag{font-size:12px; font-weight:600; letter-spacing:0.04em; text-transform:uppercase; color:#86868b; background:transparent; border:1px solid #e2e2e5; padding:var(--s10) var(--s20); display:inline; margin-bottom:var(--s30); width:fit-content; border-radius:50px; }
/* Date */
.blog-detail__date{font-size:var(--f-14); font-weight:500; color:#86868b; margin:0 0 var(--s10); }
/* Title */
.blog-detail__title{font-size:var(--font-h2); font-weight:600; line-height:1.1; letter-spacing:-0.03em; color:#1d1d1f; margin:0 0 var(--s35); }
/* Excerpt / lead */
.blog-detail__lead{font-size:var(--f-18); font-weight:500; line-height:1.65; color:#3a3a3c; margin:0 0 var(--s40); padding-bottom:var(--s40); border-bottom:1px solid #e8e8ed; display:none; }
/* Author row */
.blog-detail__author-row{display:flex; align-items:center; gap:12px; margin-bottom:0; }
.blog-detail__author-avatar{width:40px; height:40px; border-radius:50%; background:#e8e8ed; display:flex; align-items:center; justify-content:center; font-size:var(--f-14); font-weight:600; color:#686868; }
.blog-detail__author-name{font-size:var(--f-14); font-weight:600; color:#1d1d1f; line-height:1.3; }
.blog-detail__author-meta{font-size:var(--f-14); font-weight:500; color:#86868b; }
/* Article body */
.blog-article h2{font-size:var(--font-h3); font-weight:600; line-height:1.2; letter-spacing:-0.02em; color:#1d1d1f; margin:var(--s60) 0 var(--s20); }
.blog-article h3{font-size:var(--f-20); font-weight:600; line-height:1.3; letter-spacing:-0.01em; color:#1d1d1f; margin:var(--s40) 0 var(--s20); }
.blog-article p{font-size:var(--f-16); font-weight:500; color:#3a3a3c; margin:0 0 var(--s25); }
.blog-article ul,.blog-article ol{padding-left:var(--s25); margin:0 0 var(--s25); }
.blog-article li{font-size:var(--f-16); font-weight:500; line-height:1.75; color:#3a3a3c; margin-bottom:var(--s10); list-style:disc; }
.blog-article ol li{list-style:decimal; }
.blog-article blockquote{border-left:3px solid #1d1d1f; padding:4px 0 4px var(--s25); margin:var(--s35) 0; }
.blog-article blockquote p{font-size:var(--f-20); font-weight:600; line-height:1.5; color:#1d1d1f; margin:0; }
.blog-article a{color:#1d1d1f; }
.blog-article a:hover{color:#686868; }
/* Callout box */
.blog-callout{background:#f5f5f5; border-radius:12px; padding:var(--s30) var(--s35); margin:var(--s35) 0; }
.blog-callout__label{font-size:12px; font-weight:600; letter-spacing:0.06em; text-transform:uppercase; color:#686868; margin:0 0 var(--s10); }
.blog-callout p{margin:0; }
/* Tags at bottom */
.blog-detail__tags{display:flex; align-items:center; gap:8px; flex-wrap:wrap; padding-top:var(--s50); border-top:1px solid #e8e8ed; margin-top:var(--s60); }
.blog-detail__tags-label{font-size:var(--f-14); font-weight:600; color:#1d1d1f; margin-right:var(--s10); }
.blog-detail__tag-pill{font-size:12px; font-weight:500; color:#686868; background:transparent; border:1px solid #e2e2e5; padding:var(--s10) var(--s15); border-radius:980px; }
/* Previous / Next navigation — dark image cards */
.blog-nav{display:grid; grid-template-columns:1fr 1fr; gap:3px; margin-top:var(--s70); }
.blog-nav__card{position:relative; background:#1d1d1f; border-radius:16px; overflow:hidden; min-height:220px; display:flex; flex-direction:column; justify-content:flex-end; text-decoration:none; color:#ffffff; transition:transform 0.25s cubic-bezier(0.4,0,0.2,1); }
.blog-nav__card:hover{transform:translateY(-2px); }
.blog-nav__card-bg{position:absolute; inset:0; background:linear-gradient(135deg,#2a2a2e 0%,#1d1d1f 100%); z-index:0; }
.blog-nav__card-bg img{width:100%; height:100%; object-fit:cover; opacity:0.4; }
.blog-nav__card-overlay{position:absolute; inset:0; background:linear-gradient(to top,rgba(0,0,0,0.8) 0%,rgba(0,0,0,0.05) 60%); z-index:1; }
.blog-nav__card-content{position:relative; z-index:2; padding:var(--s35); }
.blog-nav__label{font-size:12px; font-weight:600; letter-spacing:0.06em; text-transform:uppercase; color:rgba(255,255,255,0.45); margin:0 0 var(--s10); }
.blog-nav__title{font-size:var(--f-20); font-weight:600; line-height:1.3; letter-spacing:-0.01em; color:#ffffff; margin:0; }
.blog-nav__card-plus{position:absolute; top:20px; right:20px; width:36px; height:36px; border:1px solid rgba(255,255,255,0.2); border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:var(--f-18); font-weight:300; color:rgba(255,255,255,0.5); z-index:2; transition:all 0.2s; }
.blog-nav__card:hover .blog-nav__card-plus{border-color:#ffffff; color:#ffffff; }
/* Responsive */
/* ── Team Page Styles ── */
/* Leadership featured cards — photo-fill with overlay text */
.team-leader__intro{display:flex; flex-direction:column; justify-content:center; padding:0 var(--s35) 0 0; overflow:hidden; }
.team-leader__desc{font-family:var(--font-primary,'Inter',sans-serif); font-size:var(--f-14); font-weight:500; color:#6e6e73; line-height:1.65; margin-top:var(--s20); }
.team-leadership{display:grid; grid-template-columns:1fr 1fr 1fr; grid-auto-rows:1fr; align-items:stretch; gap:3px; margin-top:var(--s50); }
.team-leader{position:relative; border-radius:16px; overflow:hidden; aspect-ratio:3 / 2; background:#1d1d1f; }
.team-leader img{width:100%; height:100%; object-fit:cover; display:block; }
.team-leader__overlay{position:absolute; inset:0; background:linear-gradient(180deg,rgba(0,0,0,0) 40%,rgba(0,0,0,0.7) 100%); display:flex; flex-direction:column; justify-content:flex-end; padding:var(--s35); }
.team-leader__role-tag{position:absolute; top:24px; right:24px; font-size:12px; font-weight:600; letter-spacing:0.04em; text-transform:uppercase; color:rgba(255,255,255,0.7); background:rgba(0,0,0,0.35); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); padding:var(--s10) var(--s15); border-radius:980px; }
.team-leader__name{font-size:var(--font-h3); font-weight:700; color:#ffffff; margin:0 0 4px; line-height:1.2; letter-spacing:-0.02em; }
.team-leader__role{font-size:var(--f-14); font-weight:500; color:rgba(255,255,255,0.6); margin:0; line-height:1.4; }
/* Department label */
.team-department{margin-top:var(--s70); margin-bottom:var(--s20); }
.team-department:first-child{margin-top:0; }
.team-department__name{font-size:var(--f-14); font-weight:600; letter-spacing:0.04em; text-transform:uppercase; color:rgba(255,255,255,0.3); margin:0; }
/* Team member grid */
.team-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:3px; }
/* Individual member card — photo-fill with overlay text */
.team-member{position:relative; border-radius:16px; overflow:hidden; aspect-ratio:3 / 4; background:#1d1d1f; }
.team-member img{width:100%; height:100%; object-fit:cover; display:block; }
.team-member__overlay{position:absolute; inset:0; background:linear-gradient(180deg,rgba(0,0,0,0) 50%,rgba(0,0,0,0.7) 100%); display:flex; flex-direction:column; justify-content:flex-end; padding:var(--s20); }
.team-member__role-tag{position:absolute; top:14px; right:14px; font-size:10px; font-weight:600; letter-spacing:0.03em; text-transform:uppercase; color:rgba(255,255,255,0.65); background:rgba(0,0,0,0.35); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); padding:4px var(--s10); border-radius:980px; max-width:70%; text-align:right; line-height:1.3; }
.team-member__name{font-size:var(--f-14); font-weight:700; color:#ffffff; margin:0 0 2px; line-height:1.25; letter-spacing:-0.01em; }
.team-member__role{font-size:11px; font-weight:500; color:rgba(255,255,255,0.5); margin:0; line-height:1.35; }
/* Hiring badge */
.team-hiring{display:inline-flex; align-items:center; gap:8px; background:rgba(0,122,255,0.12); color:#4da3ff; font-size:var(--f-14); font-weight:600; letter-spacing:0.02em; padding:var(--s10) var(--s20); border-radius:980px; margin-top:var(--s20); text-decoration:none; transition:background 0.2s; }
.team-hiring:hover{background:rgba(0,122,255,0.2); }
.team-hiring__dot{width:7px; height:7px; background:#4da3ff; border-radius:50%; animation:pulse-dot 2s ease-in-out infinite; }
@keyframes pulse-dot{0%,100%{opacity:1; }
50%{opacity:0.4; }
}
/* Responsive */
/* ── Blog Listing — Fabrica-inspired ── */
/* Top featured row:4-unit grid,large card spans 2 */
.blog-top-row{display:grid; grid-template-columns:repeat(4,1fr); gap:3px; margin-bottom:3px; }
/* Large featured card — spans 2 columns */
.blog-card-lg{grid-column:span 2; position:relative; background:#1d1d1f; border-radius:16px; overflow:hidden; min-height:480px; display:flex; flex-direction:column; justify-content:flex-end; text-decoration:none; color:#ffffff; }
.blog-card-lg__bg{position:absolute; inset:0; background:linear-gradient(135deg,#2a2a2e 0%,#1d1d1f 100%); z-index:0; }
.blog-card-lg__bg img{width:100%; height:100%; object-fit:cover; opacity:0.5; }
.blog-card-lg__overlay{position:absolute; inset:0; background:linear-gradient(to top,rgba(0,0,0,0.85) 0%,rgba(0,0,0,0.1) 60%); z-index:1; }
.blog-card-lg__content{position:relative; z-index:2; padding:var(--s40); }
.blog-card-lg__plus{position:absolute; top:28px; right:28px; width:40px; height:40px; border:1px solid rgba(255,255,255,0.25); border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:var(--f-20); font-weight:300; color:rgba(255,255,255,0.6); z-index:2; transition:all 0.2s; }
.blog-card-lg:hover .blog-card-lg__plus{border-color:#ffffff; color:#ffffff; }
.blog-card-lg__date{font-size:var(--f-14); font-weight:500; color:rgba(255,255,255,0.5); margin:0 0 var(--s15); }
.blog-card-lg__title{font-size:var(--font-h3); font-weight:600; line-height:1.2; letter-spacing:-0.02em; color:#ffffff; margin:0 0 var(--s15); }
.blog-card-lg__excerpt{font-size:var(--f-14); font-weight:500; line-height:1.55; color:rgba(255,255,255,0.55); margin:0; max-width:420px; }
/* Bottom grid cards — thumbnail style */
.blog-bottom-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:3px; }
/* Newsletter CTA */
.blog-newsletter{background:linear-gradient(180deg,#111111 0%,#1a1a1a 100%); border-radius:16px; padding:var(--s60) var(--s70); display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center; margin-top:var(--s60); }
.blog-newsletter__heading{font-size:var(--font-h3); font-weight:600; line-height:1.15; letter-spacing:-0.02em; color:#ffffff; margin:0 0 var(--s15); }
.blog-newsletter__text{font-size:var(--f-16); font-weight:500; line-height:1.6; color:rgba(255,255,255,0.55); margin:0; }
.blog-newsletter__form{display:flex; gap:12px; }
.blog-newsletter__input{flex:1; font-family:var(--font-primary); font-size:var(--f-14); font-weight:500; padding:var(--s15) var(--s20); border-radius:10px; border:1px solid rgba(255,255,255,0.15); background:rgba(255,255,255,0.06); color:#ffffff; outline:none; transition:border-color 0.2s; }
.blog-newsletter__input::placeholder{color:rgba(255,255,255,0.35); }
.blog-newsletter__input:focus{border-color:rgba(255,255,255,0.4); }
.blog-newsletter__btn{font-family:var(--font-primary); font-size:var(--f-14); font-weight:600; color:#1d1d1f; background:#ffffff; border:none; padding:var(--s15) var(--s30); border-radius:10px; cursor:pointer; transition:background 0.2s; white-space:nowrap; }
.blog-newsletter__btn:hover{background:#e8e8ed; }
/* Responsive */
/* ── Contact Page Styles ── */
/* Two-column layout:info left,form right */
.contact-layout{display:grid; grid-template-columns:1fr 1.3fr; gap:72px; align-items:start; }
/* LEFT COLUMN — Contact info on light bg */
.contact-info{display:flex; flex-direction:column; gap:40px; padding-top:var(--s10); }
.contact-info__intro{display:flex; flex-direction:column; gap:12px; }
.contact-info__label{font-family:var(--font-primary); font-size:var(--f-14); font-weight:600; letter-spacing:0.06em; text-transform:uppercase; color:#86868b; margin:0; }
.contact-info__heading{font-family:var(--font-primary); font-size:var(--font-h3); font-weight:700; color:#1d1d1f; line-height:1.2; margin:0; }
.contact-info__heading span{color:#86868b; }
.contact-info__text{font-family:var(--font-primary); font-size:var(--f-14); font-weight:500; color:#6e6e73; line-height:1.65; margin:4px 0 0 0; }
/* Contact detail rows */
.contact-details{display:flex; flex-direction:column; gap:28px; }
.contact-detail{display:flex; align-items:flex-start; gap:16px; }
.contact-detail__icon{width:40px; height:40px; flex-shrink:0; background:#f5f5f7; border-radius:10px; display:flex; align-items:center; justify-content:center; }
.contact-detail__icon svg{width:20px; height:20px; fill:none; stroke:#1d1d1f; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.contact-detail__content{display:flex; flex-direction:column; gap:2px; }
.contact-detail__label{font-family:var(--font-primary); font-size:11px; font-weight:700; letter-spacing:0.08em; text-transform:uppercase; color:#86868b; margin:0; }
.contact-detail__value{font-family:var(--font-primary); font-size:var(--f-16); font-weight:600; color:#1d1d1f; text-decoration:none; margin:0; }
.contact-detail__note{font-family:var(--font-primary); font-size:var(--f-14); font-weight:500; color:#86868b; line-height:1.5; margin:2px 0 0 0; }
/* Divider */
.contact-info__divider{width:100%; height:1px; background:#e8e8ed; margin:0; border:none; }
/* Office locations */
.contact-offices{display:flex; flex-direction:column; gap:20px; }
.contact-offices__label{font-family:var(--font-primary); font-size:11px; font-weight:700; letter-spacing:0.08em; text-transform:uppercase; color:#86868b; margin:0; }
.contact-office{display:flex; flex-direction:column; gap:4px; }
.contact-office__city{font-family:var(--font-primary); font-size:var(--f-14); font-weight:600; color:#1d1d1f; margin:0; }
.contact-office__address{font-family:var(--font-primary); font-size:var(--f-14); font-weight:500; color:#86868b; line-height:1.5; margin:0; }
.contact-office__tz{font-family:var(--font-primary); font-size:12px; font-weight:600; letter-spacing:0.03em; text-transform:uppercase; color:#aeaeb2; margin:2px 0 0 0; }
/* RIGHT COLUMN — Dark form card */
.contact-form-card{background:#1d1d1f; border-radius:16px; padding:var(--s50); }
.contact-form-card__label{font-family:var(--font-primary); font-size:var(--f-14); font-weight:600; letter-spacing:0.06em; text-transform:uppercase; color:rgba(255,255,255,0.3); margin:0 0 var(--s15) 0; }
.contact-form-card__heading{font-family:var(--font-primary); font-size:var(--f-20); font-weight:700; color:#ffffff; line-height:1.25; margin:0 0 var(--s10) 0; }
.contact-form-card__text{font-family:var(--font-primary); font-size:var(--f-14); font-weight:500; color:rgba(255,255,255,0.45); line-height:1.55; margin:0 0 var(--s40) 0; }
/* Select dropdown */
.form__select{font-family:var(--font-primary); font-size:var(--f-16); font-weight:500; color:#ffffff; background:transparent; border:1px solid rgba(255,255,255,0.15); border-radius:12px; padding:var(--s15) var(--s20); -webkit-appearance:none; -moz-appearance:none; appearance:none; background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='rgba(255,255,255,0.4)' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 18px center; cursor:pointer; transition:border-color 0.2s; }
.form__select:focus{border-color:rgba(255,255,255,0.35); outline:none; }
.form__select option{background:#1d1d1f; color:#ffffff; }
/* Responsive */
/* ── Careers Page Styles ── */
/* Split headers — align description to bottom */
.section .split{align-items:end; }
/* Why join — values grid */
.careers-values-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:3px; margin-top:var(--s50); }
.careers-value-card{background:rgba(255,255,255,0.06); border-radius:16px; padding:var(--s40); display:flex; flex-direction:column; min-height:320px; }
.careers-value-card__number{font-size:var(--f-14); font-weight:600; color:rgba(255,255,255,0.3); letter-spacing:0.04em; margin:0 0 auto; }
.careers-value-card__title{font-size:var(--f-20); font-weight:600; line-height:1.25; letter-spacing:-0.01em; color:#ffffff; margin:0 0 var(--s15); }
.careers-value-card__text{font-size:var(--f-14); font-weight:500; line-height:1.6; color:rgba(255,255,255,0.5); margin:0; }
/* Open positions */
.careers-positions{display:flex; flex-direction:column; gap:3px; margin-top:var(--s50); }
.careers-position{display:flex; align-items:center; justify-content:space-between; background:#ffffff; border-radius:16px; padding:var(--s30) var(--s40); text-decoration:none; color:inherit; transition:padding-left 0.25s; }
.careers-position:hover{padding-left:var(--s50); }
.careers-position__info{display:flex; flex-direction:column; gap:4px; }
.careers-position__title{font-size:var(--f-20); font-weight:600; color:#1d1d1f; margin:0; line-height:1.3; }
.careers-position__meta{display:flex; gap:8px; align-items:center; }
.careers-position__tag{font-size:var(--f-14); font-weight:500; color:#86868b; }
.careers-position__tag-dot{font-size:4px; color:#c8c8c8; }
.careers-position__exp{font-size:var(--f-14); font-weight:500; color:#86868b; }
.careers-position__arrow{width:40px; height:40px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:var(--f-18); color:#c8c8c8; transition:all 0.2s; flex-shrink:0; }
.careers-position:hover .careers-position__arrow{color:#1d1d1f; }
/* Hiring process timeline */
.careers-process{display:grid; grid-template-columns:repeat(4,1fr); gap:3px; margin-top:var(--s50); }
.careers-step{background:#ffffff; border-radius:16px; padding:var(--s40); display:flex; flex-direction:column; min-height:260px; }
.careers-step__number{font-size:var(--font-h2); font-weight:800; color:#e8e8ed; letter-spacing:-0.03em; line-height:1; margin:0 0 auto; }
.careers-step__title{font-size:var(--f-18); font-weight:600; color:#1d1d1f; margin:0 0 var(--s10); line-height:1.3; }
.careers-step__text{font-size:var(--f-14); font-weight:500; line-height:1.6; color:#6e6e73; margin:0; }
/* Responsive */
/* ── Career Detail — Sticky Split Layout ── */
.job-split{display:grid; grid-template-columns:42% 1fr; min-height:100vh; }
/* Left:sticky panel */
.job-split__sidebar{position:sticky; top:0; height:100vh; padding:var(--s30); box-sizing:border-box; }
.job-split__sidebar-inner{width:100%; height:100%; border-radius:16px; overflow:hidden; background:linear-gradient(180deg,#111111 0%,#1a1a1a 100%); display:flex; flex-direction:column; justify-content:flex-end; padding:var(--s60) var(--s50); position:relative; }
.job-split__sidebar-inner::before{content:''; position:absolute; inset:0; background:linear-gradient(160deg,#2a2a2e 0%,#1a1a1a 30%,#111111 100%); z-index:0; }
.job-split__sidebar-content{position:relative; z-index:1; }
.job-split__sidebar-label{font-size:12px; font-weight:600; letter-spacing:0.06em; text-transform:uppercase; color:rgba(255,255,255,0.35); margin:0 0 var(--s20); }
.job-split__sidebar-title{font-size:var(--font-h3); font-weight:700; line-height:1.12; letter-spacing:-0.03em; color:#ffffff; margin:0 0 var(--s25); }
.job-split__sidebar-meta{display:flex; flex-wrap:wrap; gap:10px; margin-bottom:var(--s40); }
.job-split__sidebar-tag{font-size:12px; font-weight:500; color:rgba(255,255,255,0.5); background:rgba(255,255,255,0.06); padding:var(--s10) var(--s20); border-radius:980px; }
.job-split__sidebar-btn{display:inline-block; font-family:var(--font-primary); font-size:var(--f-14); font-weight:600; color:#1d1d1f; background:#ffffff; border:none; padding:var(--s20) var(--s40); border-radius:10px; text-decoration:none; transition:background 0.2s; cursor:pointer; }
.job-split__sidebar-btn:hover{background:#e8e8ed; }
/* Right:scrolling content */
.job-split__content{padding:0 var(--s70) var(--s80); max-width:760px; }
/* Hero zone */
.job-detail__hero-zone{/* min-height:100vh; */
 display:flex; flex-direction:column; /* justify-content:flex-end; */
 padding-top:var(--s80); padding-bottom:0px; box-sizing:border-box; }
/* Breadcrumb */
.job-detail__breadcrumb{font-size:var(--f-14); font-weight:500; color:#686868; margin-bottom:var(--s50); display:flex; align-items:center; gap:8px; display:none; }
.job-detail__breadcrumb a{color:#686868; text-decoration:none; transition:color 0.2s; }
.job-detail__breadcrumb a:hover{color:#1d1d1f; }
.job-detail__breadcrumb .sep{color:#c8c8c8; }
/* Summary heading */
.job-detail__summary-heading{font-size:var(--font-h3); font-weight:600; line-height:1.12; letter-spacing:-0.03em; color:#1d1d1f; margin:0 0 var(--s25); }
/* Summary lead */
.job-detail__lead{font-size:var(--f-18); font-weight:500; line-height:1.65; color:#3a3a3c; margin:0 0 var(--s40); padding-bottom:var(--s40); display:none; }
/* Quick facts row */
.job-facts{display:grid; grid-template-columns:repeat(3,1fr); gap:3px; margin-bottom:var(--s50); margin-top:var(--s30); }
.job-fact{background:#efefef; border-radius:12px; padding:var(--s25); }
.job-fact__label{font-size:12px; font-weight:600; letter-spacing:0.04em; text-transform:uppercase; color:#86868b; margin:0 0 var(--s10); }
.job-fact__value{font-size:var(--f-16); font-weight:600; color:#1d1d1f; margin:0; line-height:1.3; }
/* Article body — reuse blog-article pattern */
.job-article .wp-block-heading{/* font-size:28px; font-weight:600; line-height:1.2; letter-spacing:-0.02em; color:#1d1d1f; */
 margin:var(--s60) 0 var(--s20); }
.job-article .wp-block-heading:first-child{margin-top:0; }
.job-article h3{font-size:var(--f-20); font-weight:600; line-height:1.3; letter-spacing:-0.01em; color:#1d1d1f; margin:var(--s40) 0 var(--s15); }
.job-article p{font-size:var(--f-16); font-weight:500; line-height:1.75; color:#3a3a3c; margin:0 0 var(--s20); }
.job-article ul{padding-left:var(--s25); margin:0 0 var(--s25); }
.job-article li{font-size:var(--f-16); font-weight:500; line-height:1.75; color:#3a3a3c; margin-bottom:var(--s10); list-style:disc; }
/* Apply Form */
.job-apply-form{margin-top:var(--s60); text-align:left; }
.job-apply-form__heading{font-size:var(--f-24); font-weight:600; letter-spacing:-0.02em; color:#1d1d1f; margin:0 0 var(--s10); }
.job-apply-form__text{font-size:var(--f-14); font-weight:500; line-height:1.6; color:#6e6e73; margin:0 0 var(--s35); }
.job-apply-form__grid{display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.job-apply-form__field{display:flex; flex-direction:column; gap:6px; }
.job-apply-form__field--full{grid-column:1 / -1; }
.job-apply-form__label{font-size:var(--f-14); font-weight:600; color:#1d1d1f; letter-spacing:0.01em; }
.job-apply-form__label span{color:#86868b; font-weight:500; }
.job-apply-form__input,.job-apply-form__textarea{font-family:var(--font-primary); font-size:var(--f-14); font-weight:500; color:#1d1d1f; background:#ffffff; border:none; border-radius:10px; padding:var(--s15) var(--s20); outline:none; transition:box-shadow 0.2s; }
.job-apply-form__input:focus,.job-apply-form__textarea:focus{box-shadow:0 0 0 2px #1d1d1f; }
.job-apply-form__input::placeholder,.job-apply-form__textarea::placeholder{color:#c8c8c8; }
.job-apply-form__textarea{resize:vertical; min-height:120px; line-height:1.6; }
.job-apply-form__actions{grid-column:1 / -1; margin-top:var(--s10); }
.job-apply-form__btn{display:inline-block; font-family:var(--font-primary); font-size:var(--f-14); font-weight:600; color:#ffffff; background:#1d1d1f; border:none; padding:var(--s20) var(--s40); border-radius:10px; cursor:pointer; transition:background 0.2s; }
.job-apply-form__btn:hover{background:#3a3a3c; }
/* File upload zone */
.job-apply-form__upload{position:relative; background:#ffffff; border-radius:10px; padding:var(--s30) var(--s20); text-align:left; cursor:pointer; transition:box-shadow 0.2s; }
.job-apply-form__upload:hover{box-shadow:0 0 0 2px #1d1d1f; }
.job-apply-form__upload.has-file{box-shadow:0 0 0 2px #1d1d1f; }
.job-apply-form__upload input[type="file"]{position:absolute; inset:0; width:100%; height:100%; opacity:0; cursor:pointer; }
.job-apply-form__upload-text{font-size:var(--f-14); font-weight:500; color:#86868b; line-height:1.5; }
.job-apply-form__upload-text strong{color:#1d1d1f; font-weight:600; }
.job-apply-form__upload-hint{font-size:12px; color:#c8c8c8; margin-top:4px; }
.job-apply-form__file-name{font-size:var(--f-14); font-weight:600; color:#1d1d1f; }
/* Back link */
.job-back{display:inline-flex; align-items:center; gap:8px; font-size:var(--f-14); font-weight:600; color:#1d1d1f; text-decoration:none; margin-top:var(--s50); transition:color 0.2s; }
.job-back:hover{color:#686868; }
/* Responsive */
/* ===== About page specific styles ===== */
/* Stat banner — horizontal strip */
.about-stats{display:grid; grid-template-columns:repeat(4,1fr); gap:0; border-top:1px solid #e8e8ed; border-bottom:1px solid #e8e8ed; padding:var(--s60) 0; }
.about-stat{text-align:center; position:relative; }
.about-stat::after{content:''; position:absolute; right:0; top:10%; height:80%; width:1px; background:#e8e8ed; }
.about-stat:last-child::after{display:none; }
.about-stat__number{font-size:var(--font-h2); font-weight:800; letter-spacing:-0.03em; color:#1d1d1f; line-height:1; margin:0 0 var(--s10) 0; }
.about-stat__label{font-size:var(--f-14); font-weight:500; color:#86868b; margin:0; line-height:1.5; }
/* Name card — dark feature card */
.name-card{display:grid; grid-template-columns:1fr 1.6fr; gap:60px; align-items:center; background:#1d1d1f; border-radius:16px; padding:var(--s60) var(--s60); }
.name-card__left{}
.name-card__right{}
/* Story cards — 2-column grid */
.story-grid{display:grid; grid-template-columns:1fr 1fr; gap:3px; }
.story-card{background:#ffffff; border-radius:16px; padding:var(--s50) var(--s40); }
.story-card__year{font-size:var(--f-14); font-weight:600; letter-spacing:0.04em; text-transform:uppercase; color:#86868b; margin:0 0 var(--s20) 0; }
.story-card__title{font-size:var(--font-h4); font-weight:700; color:#1d1d1f; line-height:1.35; margin:0 0 var(--s20) 0; }
.story-card__text{font-size:var(--f-16); font-weight:500; color:#6e6e73; line-height:1.7; margin:0; }
.story-card--span{grid-column:1 / -1; background:#1d1d1f; }
.story-card--span .story-card__year{color:rgba(255,255,255,0.35); }
.story-card--span .story-card__title{color:#ffffff; }
.story-card--span .story-card__text{color:rgba(255,255,255,0.55); }
/* How we work — icon rows */
.work-grid{display:grid; grid-template-columns:1fr 1fr; gap:3px; }
.work-item{background:rgba(255,255,255,0.06); border-radius:16px; padding:var(--s40); }
.work-item__icon{width:44px; height:44px; border-radius:12px; background:rgba(255,255,255,0.08); display:flex; align-items:center; justify-content:center; margin-bottom:var(--s25); }
.work-item__icon svg{width:22px; height:22px; stroke:rgba(255,255,255,0.5); fill:none; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.work-item__title{font-size:var(--f-18); font-weight:700; color:#ffffff; line-height:1.4; margin:0 0 var(--s15) 0; }
.work-item__text{font-size:var(--f-16); font-weight:500; color:rgba(255,255,255,0.5); line-height:1.7; margin:0; }
/* Values grid — 5 columns,one per value */
.values-grid{display:grid; grid-template-columns:repeat(5,1fr); gap:3px; }
.value-card{background:#ffffff; border-radius:16px; padding:var(--s35) var(--s30); }
.value-card__number{font-size:var(--font-h2); font-weight:800; color:#f0f0f0; line-height:1; margin:0 0 var(--s20) 0; }
.value-card__title{font-size:var(--f-18); font-weight:700; color:#1d1d1f; line-height:1.4; margin:0 0 var(--s10) 0; }
.value-card__text{font-size:var(--f-16); font-weight:500; color:#6e6e73; line-height:1.7; margin:0; }
/* Lessons — split rows with accent left border */
.lesson-row{display:grid; grid-template-columns:1fr 1.5fr; gap:40px; padding:var(--s40) 0; border-bottom:1px solid rgba(255,255,255,0.08); align-items:start; }
.lesson-row:last-child{border-bottom:none; }
.lesson-row__title{font-size:var(--f-20); font-weight:700; color:#ffffff; line-height:1.4; margin:0; }
.lesson-row__text{font-size:var(--f-16); font-weight:500; color:rgba(255,255,255,0.5); line-height:1.7; margin:0; }
/* Responsive */
/* ── Responsive:1024px ── */
@media (max-width:1024px){.blog-split{grid-template-columns:1fr; }
.blog-split__image{position:relative; height:50vh; min-height:340px; padding:var(--s20); }
.blog-split__content{padding:0 var(--s60) var(--s80) 100px; max-width:100%; }
.blog-detail__hero-zone{min-height:auto; padding-top:var(--s60); padding-bottom:var(--s50); }
.blog-detail__title{font-size:var(--font-h3); }
.team-leadership{grid-template-columns:1fr 1fr; }
.team-leader__intro{grid-column:1 / -1; padding:0 0 var(--s25) 0; }
.team-leadership .team-leader{aspect-ratio:4 / 3; }
.team-grid{grid-template-columns:repeat(3,1fr); }
.blog-top-row{grid-template-columns:repeat(2,1fr); }
.blog-card-lg{grid-column:span 2; min-height:380px; }
.blog-card-sm{min-height:380px; }
.blog-bottom-grid{grid-template-columns:repeat(2,1fr); }
.blog-newsletter{grid-template-columns:1fr; padding:var(--s50) var(--s40); }
.contact-layout{grid-template-columns:1fr; gap:48px; }
.contact-form-card{order:-1; }
.careers-values-grid{grid-template-columns:1fr; }
.careers-process{grid-template-columns:repeat(2,1fr); }
.job-split{grid-template-columns:1fr; }
.job-split__sidebar{position:relative; height:auto; min-height:420px; padding:var(--s20); }
.job-split__content{padding:0 var(--s50) var(--s80); max-width:100%; }
.job-detail__hero-zone{min-height:auto; padding-top:var(--s60); padding-bottom:var(--s50); }
.job-detail__summary-heading{font-size:var(--font-h3); }
.job-split__sidebar-title{font-size:var(--font-h3); }
.name-card{padding:var(--s50) var(--s40); gap:40px; }
.story-grid{gap:3px; }
.story-card{padding:var(--s40) var(--s35); }
.work-grid{gap:3px; }
.work-item{padding:var(--s35); }
.values-grid{grid-template-columns:repeat(3,1fr); }
.lesson-row{grid-template-columns:1fr; gap:16px; }
}
/* ── Responsive:900px ── */
@media (max-width:900px){.vhero{padding:0 var(--s20) var(--s20); }
.vhero__content{padding:var(--s80) var(--s35) var(--s40); }
.vhero__bottom{flex-direction:column; align-items:flex-start; gap:28px; }
.vhero__services{text-align:left; }
.deliver-grid{grid-template-columns:1fr; gap:48px; }
.deliver-grid::before{display:none; }
.case-slide{grid-template-columns:1fr; min-height:auto; }
.case-card-image{min-height:280px; }
.case-card-info{padding:var(--s35); }
.case-card-info__title{font-size:var(--f-24); }
.case-card-info__stats{gap:24px; flex-wrap:wrap; }
.case-card-info__stat-value{font-size:var(--f-24); }
.project-grid{grid-template-columns:repeat(2,1fr); }
.blog-grid-home{grid-template-columns:repeat(2,1fr); }
.blog-card-sm{min-height:380px; }
}
/* ── Responsive:768px ── */
@media (max-width:768px){.blog-split__image{height:40vh; min-height:280px; padding:var(--s20); }
.blog-split__content{padding:0 var(--s25) var(--s60); }
.blog-detail__title{font-size:var(--font-h3); }
.blog-detail__lead{font-size:var(--f-16); }
.blog-article h2{font-size:var(--f-24); }
.blog-nav{grid-template-columns:1fr; }
.team-grid{grid-template-columns:repeat(2,1fr); }
.team-leader__name{font-size:var(--f-24); }
.team-department{margin-top:var(--s50); }
.blog-top-row{grid-template-columns:1fr; }
.blog-card-lg{grid-column:span 1; min-height:340px; }
.blog-card-sm{min-height:340px; }
.blog-bottom-grid{grid-template-columns:1fr; }
.blog-card-lg__title{font-size:var(--f-24); }
.blog-newsletter{padding:var(--s40) var(--s25); }
.blog-newsletter__heading{font-size:var(--font-h3); }
.blog-newsletter__form{flex-direction:column; }
.contact-form-card{padding:var(--s30) var(--s25); }
.contact-info__heading{font-size:var(--f-24); }
.careers-process{grid-template-columns:1fr; }
.careers-value-card{min-height:auto; padding:var(--s35); }
.careers-step{min-height:auto; padding:var(--s30); }
.careers-position__info{flex-direction:column; align-items:flex-start; gap:8px; }
.careers-position__title{font-size:var(--f-18); }
.job-split__sidebar{min-height:360px; padding:var(--s20); }
.job-split__sidebar-inner{padding:var(--s40) var(--s30); }
.job-split__content{padding:0 var(--s25) var(--s60); }
.job-detail__summary-heading{font-size:var(--font-h3); }
.job-split__sidebar-title{font-size:var(--f-24); }
.job-facts{grid-template-columns:1fr; }
.job-apply-form__grid{grid-template-columns:1fr; }
.name-card{grid-template-columns:1fr; padding:var(--s40) var(--s35); gap:28px; }
.about-stats{grid-template-columns:repeat(2,1fr); gap:32px 0; padding:var(--s40) 0; }
.about-stat::after{display:none; }
.about-stat{text-align:left; padding:0 var(--s25); }
.about-stat__number{font-size:var(--font-h3); }
.story-grid{grid-template-columns:1fr; }
.story-card--span{grid-column:auto; }
.work-grid{grid-template-columns:1fr; }
.values-grid{grid-template-columns:repeat(2,1fr); }
}
/* ── Responsive:600px ── */
@media (max-width:600px){.vhero{padding:0 var(--s20) var(--s20); }
.vhero__content{padding:var(--s70) var(--s20) var(--s30); }
.vhero__headline{font-size:var(--font-h3); }
.vhero__divider{padding-bottom:var(--s20); }
.case-card-image{min-height:220px; }
.case-card-info{padding:var(--s30); }
.case-card-info__title{font-size:var(--f-20); }
.case-carousel-btn{width:40px; height:40px; }
.project-grid{grid-template-columns:1fr; }
.blog-grid-home{grid-template-columns:1fr; }
.blog-card-sm{min-height:340px; }
}
/* ── Responsive:480px ── */
@media (max-width:480px){.blog-split__content{padding:0 var(--s20) var(--s50); }
.blog-detail__title{font-size:var(--f-24); }
.team-grid{grid-template-columns:repeat(1,1fr); }
.team-leader__overlay{padding:var(--s25); }
.team-member__overlay{padding:var(--s20); }
.team-member__name{font-size:var(--f-14); }
.team-member__role{font-size:10px; }
.blog-card-lg__content{padding:var(--s30); }
}

/* New Styles */
.section--light .card--ghost-num {
  background: #ffffff;
  box-shadow: 0 2px 20px rgba(0, 0, 0, 0.06);
  min-height: 340px;
}
/* ── Agent example cards (dark section) ── */
.agent-example {
  background: rgba(255, 255, 255, 0.06);
  border-radius: 16px;
  padding: 32px;
  transition: background 0.3s ease;
}
.agent-example:hover {
  background: rgba(255, 255, 255, 0.1);
}
.agent-example__label {
  font-size: 12px;
  font-weight: 600;  
  letter-spacing: 0.08em;
  color: rgba(255, 255, 255, 0.4);
  margin-bottom: 12px;
}
.agent-example__name {
  font-size: 20px;
  font-weight: 700;
  color: #ffffff;
  margin-bottom: 12px;
  line-height: 1.3;
}
.agent-example__desc {
  font-size: 15px;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.6);
  margin-bottom: 20px;
}
.agent-example__result {
  display: inline-block;
  font-size: 13px;
  font-weight: 600;
  color: #ffffff;
  background: rgba(255, 255, 255, 0.1);
  padding: 8px 16px;
  border-radius: 8px;
}

.scope-card {
  background: rgba(255, 255, 255, 0.06);
  border-radius: 16px;
  padding: 40px 32px;
  transition: background 0.3s ease;
}
.scope-card:hover {
  background: rgba(255, 255, 255, 0.1);
}
.scope-card__label {
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: rgba(255, 255, 255, 0.4);
  margin-bottom: 16px;
}
.scope-card__name {
  font-size: 24px;
  font-weight: 700;
  color: #ffffff;
  margin-bottom: 8px;
}
.scope-card__timeline {
  font-size: 14px;
  color: rgba(255, 255, 255, 0.5);
  margin-bottom: 24px;
}
.scope-card__list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.scope-card__list li {
  font-size: 15px;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.6);
  padding: 6px 0;
  padding-left: 20px;
  position: relative;
}
.scope-card__list li::before {
  content: "—";
  position: absolute;
  left: 0;
  color: rgba(255, 255, 255, 0.3);
}
 /* ── Tech card with logo ── */
 .tech-card {
  background: rgba(255, 255, 255, 0.06);
  border-radius: 16px;
  padding: 32px;
  transition: background 0.3s ease;
}
.tech-card:hover {
  background: rgba(255, 255, 255, 0.1);
}
.tech-card__method {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.35);
  margin-top: 20px;
  margin-bottom: 8px;
}
.tech-card__logo {
  width: 48px;
  height: 48px;
  margin-bottom: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.tech-card__logo svg {
  width: 40px;
  height: 40px;
}
.tech-card__name {
  font-size: 18px;
  font-weight: 700;
  color: #ffffff;
  margin-bottom: 10px;
}
.tech-card__desc {
  font-size: 15px;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.6);
}

/* ── Technology Stack Grid ── */
.tech-stack-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 3px;
}
.tech-stack-item {
  background: rgba(255,255,255,0.06);
  border-radius: 16px;
  padding: 32px 24px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
  text-align: center;
}
.tech-stack-item__name {
  font-size: 14px;
  font-weight: 600;
  color: rgba(255,255,255,0.7);
  margin: 0;
}
.tech-stack-item__icon {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0.7;
}
.tech-stack-item__icon svg {
  width: 36px;
  height: 36px;
}


 /* ── Need cards (numbered, gray section) ── */
 .need-card {
  background: #ffffff;
  border-radius: 16px;
  padding: var(--s40);
  position: relative;
  transition: background 0.3s ease;
}
.need-card:hover {
  background: linear-gradient(180deg, #1a1a1a 0%, #2d2d2d 100%);
}
.need-card__number,
.need-card__num {
  /* font-size: 64px;
  font-weight: 800;
  color: rgba(0, 0, 0, 0.05);
  line-height: 1;
  margin-bottom: 16px;
  letter-spacing: -0.03em; */

  position: absolute;
  top: -12px;
  right: 16px;
  font-size: 130px;
  font-weight: 800;
  color: rgba(0, 0, 0, 0.04);
  line-height: 1;
  letter-spacing: -0.05em;
  pointer-events: none;
  user-select: none;
  margin: 0;
  z-index: 0;
  transition: color 0.3s ease;
}
.need-card:hover .need-card__number,
.need-card:hover .need-card__num {
  color: rgba(255, 255, 255, 0.08);
}
.need-card h4,
.need-card__title {
  font-size: 20px;
  font-weight: 700;
  color: #1d1d1f;
  margin-bottom: 12px;
  
}
.need-card:hover h4,
.need-card:hover .need-card__title {
  color: #ffffff;
}
.need-card p,
.need-card__desc {
  font-size: 15px;
  line-height: 1.6;
  color: #6e6e73;
  margin-bottom: 24px;
}
.need-card:hover p,
.need-card:hover .need-card__desc {
  color: rgba(255, 255, 255, 0.7);
}
.need-card ul,
.need-card__list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.need-card ul li,
.need-card__list li {
  font-size: 14px;
  line-height: 1.6;
  color: #6e6e73;
  padding: 5px 0;
  padding-left: 20px;
  position: relative;
}
.need-card:hover ul li,
.need-card:hover .need-card__list li {
  color: rgba(255, 255, 255, 0.5);
}
.need-card ul li::before,
.need-card__list li::before {
  content: "—";
  position: absolute;
  left: 0;
  color: #d2d2d7;
}

.need-card:hover ul li::before,
.need-card:hover .need-card__list li::before {
  color: rgba(255, 255, 255, 0.25);
}
.need-card:hover .need-card__num,
.need-card:hover .need-card__number {
  color: rgba(255, 255, 255, 0.05);
}
/* ── vs-table on light sections (base CSS has white text for dark sections) ── */
.section--light .vs-table thead th:first-child {
  background: #f0f0f5;
  color: #86868b;
}
.section--light .vs-table thead th:nth-child(2) {
  background: #1d1d1f;
  color: #ffffff;
}
.section--light .vs-table thead th:nth-child(3) {
  background: #f0f0f5;
  color: #86868b;
}
.section--light .vs-table tbody tr {
  border-top-color: #e8e8ed;
}
.section--light .vs-table tbody td {
  color: #1d1d1f;
}
.section--light .vs-table tbody td:first-child {
  background: #fafafa;
  color: #86868b;
}
.section--light .vs-table tbody td:nth-child(2) {
  background: #f5f5f7;
  color: #1d1d1f;
  font-weight: 600;
}
.section--light .vs-table tbody td:nth-child(3) {
  background: #fafafa;
  color: #48484a;
}

.dashboard-example {
  background: rgba(255, 255, 255, 0.06);
  border-radius: 16px;
  padding: 36px;
  min-height: 420px;
  display: flex;
  flex-direction: column;
  transition: background 0.3s ease;
}
.dashboard-example:hover {
  background: rgba(255, 255, 255, 0.1);
}
.dashboard-example__label {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.35);
  margin-bottom: 16px;
}
.dashboard-example h3 {
  font-size: 22px;
  font-weight: 700;
  color: #ffffff;
  margin: 0 0 16px 0;
  line-height: 1.3;
}
.dashboard-example p {
  font-size: 15px;
  color: rgba(255, 255, 255, 0.65);
  line-height: 1.65;
  margin: 0 0 24px 0;
}
.dashboard-example__result {
  margin-top: auto;
  padding-top: 20px;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  font-size: 13px;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.5);
  letter-spacing: 0.02em;
}
.dashboard-example__result strong {
  color: #ffffff;
  font-weight: 700;
  display: block;
  font-size: 28px;
  margin-top: 6px;
  letter-spacing: -0.02em;
}
  /* ── KB example cards (dark section) ── */
  .kb-example {
    background: rgba(255, 255, 255, 0.06);
    border-radius: 16px;
    padding: 36px;
    min-height: 420px;
    display: flex;
    flex-direction: column;
    transition: background 0.3s ease;
  }
  .kb-example:hover {
    background: rgba(255, 255, 255, 0.1);
  }
  .kb-example__label {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.35);
    margin-bottom: 16px;
  }
  .kb-example h3 {
    font-size: 22px;
    font-weight: 700;
    color: #ffffff;
    margin: 0 0 16px 0;
    line-height: 1.3;
  }
  .kb-example p {
    font-size: 15px;
    color: rgba(255, 255, 255, 0.65);
    line-height: 1.65;
    margin: 0 0 24px 0;
  }
  .kb-example__result {
    margin-top: auto;
    padding-top: 20px;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    font-size: 13px;
    font-weight: 500;
    color: rgba(255, 255, 255, 0.5);
    letter-spacing: 0.02em;
  }
  .kb-example__result strong {
    color: #ffffff;
    font-weight: 700;
    display: block;
    font-size: 28px;
    margin-top: 6px;
    letter-spacing: -0.02em;
  }


 /* ── Service card hover ── */
 .section--light .card,
 .section--gray .card {
   transition: background 0.3s ease, transform 0.25s cubic-bezier(0.4, 0, 0.2, 1);
 }
 .section--light .card:hover,
 .section--gray .card:hover {
   background: linear-gradient(180deg, #1a1a1a 0%, #2d2d2d 100%);
 }
 .section--light .card:hover h4,
 .section--gray .card:hover h4,
 .section--light .card:hover h3,
 .section--gray .card:hover h3 {
   color: #ffffff;
 }
 .section--light .card:hover p,
 .section--gray .card:hover p,
 .section--light .card:hover .card__service-desc,
 .section--gray .card:hover .card__service-desc {
   color: rgba(255, 255, 255, 0.7);
 }
 .section--light .card:hover .card__service-num,
 .section--gray .card:hover .card__service-num {
   color: rgba(255, 255, 255, 0.15);
 }

 .section--light .card:hover ul li,
 .section--gray .card:hover ul li {
   color: rgba(255, 255, 255, 0.7);
 }
 .section--light .card:hover ul li::before,
 .section--gray .card:hover ul li::before {
   color: rgba(255, 255, 255, 0.3);
 }
 .section--light .card:hover .card__service-footer,
 .section--gray .card:hover .card__service-footer {
   color: rgba(255, 255, 255, 0.5);
 }
 .section--light .card:hover .card__meta,
 .section--gray .card:hover .card__meta {
   color: rgba(255, 255, 255, 0.4);
 }
.section-intro--center{text-align: center;}
.section-intro--center .section-intro {
    margin-left: auto;
    margin-right: auto;
}
/*.callout {
    padding: 2rem;
    background: linear-gradient(180deg, #0a0a0a 0%, #2d2d2d 100%);
    border-left: 4px solid #878a90;
    border-radius: 8px;
    margin-top: 2rem;
}*/
.callout {
    background: #f5f5f5;
    border-left: 4px solid #e8e8ed;
    border-radius: 8px;
    padding: 2rem;
    margin-top: 2.5rem;
}
.callout__label {
    display: block;
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #686868;
    margin-bottom: 0.75rem;
}
.callout h4 {
    font-size: 1rem;
    font-weight: 700;
    color: #1d1d1f;
    margin: 0 0 0.5rem;
}
.callout p {
    font-size: 0.9375rem;
    color: #6e6e73;
    margin: 0;
    line-height: 1.7;
}
.section--dark .callout__label {
    color: rgba(255, 255, 255, 0.5);
	display: block;
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    margin-bottom: 0.75rem;
}
.section--dark .callout {
    background: rgba(255, 255, 255, 0.06);
    border-left-color: #e8e8ed;
}
.section--dark .callout h4 {
    color: #fff;
	font-size: 1rem;
    font-weight: 700;
    margin: 0 0 0.5rem;
}
.section--dark .callout p {
     color: rgba(255,255,255,0.8);
}
.section--light .callout + .callout {
     margin-top: 1rem;
}
.pillar-list {
    list-style: none;
    padding: 0;
    margin: 0.75rem 0 0;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}
.pillar-list li {
    font-size: 0.8125rem;
    color: #686868;
    background: #f5f5f5;
    border-radius: 100px;
    padding: 0.25rem 0.875rem;
}
.stagger:nth-child(2) {
    transition-delay: 100ms;
}
.stagger.visible {
    opacity: 1;
    transform: translateY(0);
}

.reveal.visible {
    opacity: 1;
    transform: translateY(0);
}


/* Implementation area cards — light section */
.impl-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
    margin-top: 2rem;
}
.impl-card {
    background: #ffffff;
    border: 1px solid rgba(0,0,0,0.06);
    border-radius: 16px;
    padding: 1.75rem;
}
.impl-card h4 ,
.platform-card h4{
    font-size: 1rem;
    font-weight: 700;
    color: #1d1d1f;
    margin: 0 0 0.5rem;
}
.impl-card p,
.platform-card p{
    font-size: 0.9rem;
    line-height: 1.65;
    color: #6e6e73;
    margin: 0;
}
.platform-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.5rem;
    margin-top: 2.5rem;
}
.platform-card {
    background: #ffffff;
    border: 1px solid rgba(0, 0, 0, 0.06);
    border-radius: 16px;
    padding: 1.75rem 1.5rem;
}
/* Tools table */
.tools-table-wrap {
    overflow-x: auto;
    margin-top: 2rem;
}
.tools-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.9rem;
}
.tools-table th {
    text-align: left;
    padding: 0.75rem 1.25rem;
    background: #e8e8ed;
    color: #1d1d1f;
    font-weight: 700;
    font-size: 0.78rem;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}
.tools-table td {
    padding: 0.875rem 1.25rem;
    border-bottom: 1px solid #e8e8ed;
    color: #1d1d1f;
    vertical-align: middle;
}
.tools-table tr:last-child td {
    border-bottom: none;
}
.tools-table tr:hover td {
    background: #ffffff;
}
.tools-table td:first-child {
    font-weight: 600;
    color: #1d1d1f;
    width: 30%;
}
/* Dual panel — dark section */
.dual-panel {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3rem;
    margin-top: 2.5rem;
}
.dual-panel__col h3 {
    font-size: 1rem;
    font-weight: 700;
    color: #fff;
    margin: 0 0 1.5rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid rgba(255,255,255,0.12);
}
.dual-panel__col ul {
    list-style: none;
    padding: 0;
    margin: 0;
}
.dual-panel__col ul li {
    font-size: 0.95rem;
    line-height: 1.65;
    color: rgba(255,255,255,0.75);
    padding: 1rem 0;
    border-bottom: 1px solid rgba(255,255,255,0.08);
}
.dual-panel__col ul li:last-child {
    border-bottom: none;
}
.dual-panel__col ul li strong {
    display: block;
    color: #fff;
    font-weight: 600;
    margin-bottom: 0.25rem;
    font-size: 0.95rem;
}

/* What We Need cards */
.need_grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
    margin-top: 2rem;
}
.need_card {
    background: #fff;
    border: 1px solid rgba(0,0,0,0.06);
    border-radius: 16px;
    padding: 2rem;
}
.need_card_num {
    font-size: 2.25rem;
    font-weight: 800;
    color: rgba(0, 0, 0, 0.06);
    line-height: 1;
    margin-bottom: 1rem;
    font-feature-settings: "tnum";
}
.need_card h4 {
    font-size: 1rem;
    font-weight: 700;
    color: #1d1d1f;
    margin: 0 0 0.5rem;
}
.need_card p {
    font-size: 0.95rem;
    line-height: 1.65;
    color: #6e6e73;
    margin: 0;
}
.setup-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2rem;
    margin-top: 2.5rem;
}
.setup-card {
    background: #ffffff;
    border: none;
    border-radius: 16px;
    padding: 2rem;
}
.setup-card__heading {
    font-size: 1.25rem;
    font-weight: 600;
    color: #1d1d1f;
    margin: 0 0 1.25rem;
    padding-bottom: 0.875rem;
    border-bottom: 1px solid #e8e8ed;
}
.setup-card__list {
    list-style: none;
    padding: 0;
    margin: 0;
}
.setup-card__list li {
    font-size: 0.9375rem;
    color: #6e6e73;
    padding: 0.625rem 0;
    border-bottom: 1px solid #f5f5f5;
    line-height: 1.6;
}
.authority-stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
    margin-top: 3rem;
}
.authority-stat {
    text-align: center;
    padding: 2rem 1.5rem;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 16px;
}
.authority-stat__num {
    font-size: 3.25rem;
    font-weight: 900;
    color: #fff;
    line-height: 1;
    display: block;
    margin-bottom: 0.75rem;
}
.authority-stat__text {
    font-size: 0.9375rem;
    color: rgba(255, 255, 255, 0.65);
    line-height: 1.6;
}
.tier-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
    margin-top: 2.5rem;
}
.tier-card {
    background: #fff;
    border-radius: 16px;
    padding: 2rem;
    border: 1px solid rgba(0, 0, 0, 0.06);
    border-top: 3px solid #e8e8ed;
}
.tier-card__range {
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #686868;
    display: block;
    margin-bottom: 0.375rem;
}
.tier-card__subtitle {
    font-size: 0.8125rem;
    font-weight: 600;
    color: #686868;
    display: block;
    margin-bottom: 0.875rem;
}
.tier-card h3 {
    font-size: 1.25rem;
    font-weight: 800;
    color: #1d1d1f;
    margin: 0 0 0.875rem;
}
.tier-card p {
    font-size: 0.9375rem;
    color: #6e6e73;
    line-height: 1.7;
    margin: 0;
}
/* Responsive */
@media (max-width: 900px) {
    .impl-grid { grid-template-columns: 1fr 1fr; }
    .dual-panel { grid-template-columns: 1fr; gap: 2rem; }
    .need-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 600px) {
    .impl-grid { grid-template-columns: 1fr; }
    .need-grid { grid-template-columns: 1fr; }
    .timeline__step { gap: 1.5rem; padding: 2rem 0; }
    .timeline__num { width: 40px; height: 40px; font-size: 0.75rem; }
    .timeline__title { font-size: 1.0625rem; }
}