:root,[data-bs-theme=light]{--navy:#222831;--slate:#393E46;--taupe:#948979;--cream:#DFD0B8;--taupe-ink:#6B6255;--accent:var(--navy);--accent-soft:#EFE7DA;--bs-primary:var(--navy);--bs-primary-rgb:11,80,47;--bs-link-color:var(--navy);--bs-link-color-rgb:11,80,47;--bs-link-hover-color:var(--slate);--bs-body-color:#1c1c1c;--bs-body-bg:#fff;--bs-heading-color:#111;--bs-body-font-family:'Poppins',sans-serif;--tc-theme-primary:var(--navy)}
body,h1,h2,h3,h4,h5,h6,p,a,li,button,input,select,textarea,.btn,.nav-link{font-family:'Poppins',sans-serif!important}
body{background:#fff!important;color:#1c1c1c}
h1,h2,h3,h4,h5,h6{color:#111;letter-spacing:-.02em}
.text-primary,.text-accent{color:var(--accent)!important}
.bg-primary{background-color:var(--accent)!important}
.btn-primary{--bs-btn-bg:var(--navy);--bs-btn-border-color:var(--navy);--bs-btn-hover-bg:var(--slate);--bs-btn-hover-border-color:var(--slate);--bs-btn-active-bg:var(--slate);background:var(--navy)!important;border-color:var(--navy)!important;color:#fff!important}
.btn{font-weight:500}
.logo-nav{height:38px;width:auto}.logo-foot{height:48px;width:auto}
header .navbar{position:absolute;top:0;left:0;right:0;background:#fff}
.nav-link{color:#1c1c1c!important;font-weight:500}.nav-link.active,.nav-link:hover{color:var(--accent)!important}
.list-check{list-style:none;padding-left:0}.list-check li{margin-bottom:.4rem}
.ticker{overflow:hidden;white-space:nowrap}.ticker-track{display:inline-flex;gap:2rem;align-items:center;animation:tick 60s linear infinite}
.ticker-item{font-size:1.25rem;font-weight:600;color:#9a9a9a}@keyframes tick{to{transform:translateX(-50%)}}
.pt-250{padding-top:150px!important}.pt-hero{padding-top:150px}
.py-6{padding-top:96px;padding-bottom:96px}.pb-6{padding-bottom:96px}.mt-6{margin-top:56px}
.sec-label{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;font-weight:500;color:#555;text-align:center}.sec-label span{color:var(--accent)}
.hero-title{font-weight:700;font-size:clamp(2.4rem,6vw,4.6rem);line-height:1.05}
.display-head{font-weight:700;font-size:clamp(1.9rem,4vw,3rem);line-height:1.1}
.text-muted-2{color:#a3a3a3}
.lead-sm{max-width:680px;color:#555;font-size:1.05rem}
.card-dark{background:var(--navy);border-radius:28px;padding:40px}
.card-photo{position:relative;border-radius:28px;overflow:hidden;min-height:420px;background:#eee}
.card-photo img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.photo-stats{position:absolute;left:20px;right:20px;bottom:20px;display:flex;gap:12px}
.stat-pill{background:#fff;border-radius:16px;padding:14px 16px;flex:1;box-shadow:0 6px 20px rgba(0,0,0,.08)}.stat-pill strong{display:block;font-size:1.6rem;color:var(--accent)}.stat-pill span{font-size:.8rem;color:#555}
.soft-card{background:#fff;border:1px solid #ececec;border-radius:20px;padding:28px;display:flex;flex-direction:column;box-shadow:0 2px 12px rgba(0,0,0,.03)}
.bg-soft{background:#F7F3EC}.bg-accent-soft{background:var(--accent-soft)!important}
.big-num{font-size:2.6rem;font-weight:700;color:var(--accent);line-height:1}
.icon-box{width:52px;height:52px;border-radius:14px;background:var(--accent-soft);color:var(--accent);display:flex;align-items:center;justify-content:center;font-size:1.4rem}
.step-num{width:44px;height:44px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600}
.faq{max-width:820px}.faq .accordion-item{border:1px solid #ececec;border-radius:16px!important;margin-bottom:12px;overflow:hidden}
.faq .accordion-button{font-weight:600;font-size:1.05rem}.faq .accordion-button:not(.collapsed){background:var(--accent-soft);color:var(--accent);box-shadow:none}
.footer-home1{background:#222831!important}.footer-home1 .text-primary{color:#DFD0B8!important}
#preloader,.cursor,.follower{display:none!important}
@media(max-width:767px){.card-dark{padding:28px;border-radius:22px}.card-photo{min-height:360px}.photo-stats{flex-direction:column;gap:8px}.py-6{padding-top:64px;padding-bottom:64px}.pt-hero,.pt-250{padding-top:120px!important}.fs-120{font-size:2.2rem!important}.fs-250{font-size:3.5rem!important}.ds-3{font-size:2.2rem!important}.logo-nav{height:30px}}
/* animations */
.js-anim .reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}
.js-anim .reveal.in{opacity:1;transform:none}
.hero-title .line{display:block;opacity:0;transform:translateY(40px);animation:heroIn .9s cubic-bezier(.2,.7,.2,1) forwards}
.hero-title .line:nth-child(2){animation-delay:.15s}.hero-title .line:nth-child(3){animation-delay:.3s}
@keyframes heroIn{to{opacity:1;transform:none}}
.ticker-track{animation:tick 40s linear infinite;will-change:transform}.ticker:hover .ticker-track{animation-play-state:paused}
.ticker{mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.soft-card,.card-portfolio,.p-5.border,.p-6.border{transition:transform .3s ease,box-shadow .3s ease,opacity .7s ease}
.soft-card:hover,.p-5.border:hover,.p-6.border:hover{transform:translateY(-6px);box-shadow:0 14px 34px rgba(34,40,49,.12)}
.btn{transition:transform .2s ease,box-shadow .2s ease,background .2s}.btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(0,0,0,.12)}
.stat-pill{animation:floaty 5s ease-in-out infinite}.stat-pill:nth-child(2){animation-delay:-2.5s}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.card-photo img{transition:transform 1.2s ease}.card-photo:hover img{transform:scale(1.04)}
.accordion-collapse.collapsing{transition:height .35s cubic-bezier(.2,.7,.2,1)}
.award-card{background:linear-gradient(135deg,var(--navy),#393E46);color:#fff;border-radius:24px;padding:36px;position:relative;overflow:hidden}
.award-card h3{color:#fff;font-weight:700;font-size:clamp(1.4rem,3vw,2.1rem)}
.award-card .bi-trophy-fill{font-size:3rem;color:#DFD0B8;animation:floaty 4s ease-in-out infinite}
.award-card:after{content:"";position:absolute;right:-60px;top:-60px;width:220px;height:220px;border-radius:50%;background:rgba(255,255,255,.08)}
.hero-badge{display:inline-flex;gap:8px;align-items:center;background:var(--accent-soft);color:var(--accent);border-radius:999px;padding:8px 16px;font-size:.9rem;font-weight:500}
.gallery img{width:100%;height:100%;object-fit:cover;border-radius:18px;transition:transform .4s}.gallery a{display:block;overflow:hidden;border-radius:18px;aspect-ratio:16/9}.gallery a:hover img{transform:scale(1.05)}
@media (prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.hero-title .line{opacity:1;transform:none}.js-anim .reveal{opacity:1;transform:none}}
@media(max-width:767px){.stat-pill{animation:none}.award-card{padding:26px}}
.vid-thumb{position:relative;display:block;width:100%;border:0;padding:0;background:#111;aspect-ratio:4/5;overflow:hidden;cursor:pointer}
.vid-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.vid-thumb:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 50%,rgba(0,0,0,.45))}
.video-card:hover .vid-thumb img{transform:scale(1.05)}
.play-btn{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:72px;height:72px;border-radius:50%;background:rgba(255,255,255,.95);color:var(--navy);display:flex;align-items:center;justify-content:center;font-size:2.2rem;z-index:2;box-shadow:0 0 0 0 rgba(255,255,255,.6);animation:pulse 2.2s infinite;transition:transform .25s}
.vid-thumb:hover .play-btn{transform:translate(-50%,-50%) scale(1.1)}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(255,255,255,.55)}70%{box-shadow:0 0 0 18px rgba(255,255,255,0)}100%{box-shadow:0 0 0 0 rgba(255,255,255,0)}}
.vid-tag{position:absolute;left:14px;bottom:14px;z-index:2;color:#fff;font-size:.8rem;font-weight:500;background:rgba(34,40,49,.85);padding:6px 12px;border-radius:999px}
.vid-dialog{max-width:min(420px,92vw)}#vidPlayer{max-height:80vh;background:#000}
.vid-thumb video{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease}
.video-card:hover .vid-thumb video,.video-card:hover .vid-thumb img{transform:scale(1.04)}
.vid-thumb .play-btn{width:56px;height:56px;font-size:1.5rem;top:auto;left:auto;right:14px;bottom:14px;transform:none}
.vid-thumb:hover .play-btn{transform:scale(1.1)}
.img-thumb{cursor:default}
.quote-thumb{cursor:default;background:linear-gradient(140deg,var(--navy),#393E46);display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:32px;color:#fff}
.quote-thumb:after{display:none}
.q-mark{font-size:7rem;line-height:.6;color:rgba(255,255,255,.25);font-weight:700}
.q-ini{width:88px;height:88px;border-radius:50%;background:#fff;color:var(--navy);font-weight:700;font-size:1.9rem;display:flex;align-items:center;justify-content:center;margin:12px 0 18px;box-shadow:0 10px 30px rgba(0,0,0,.2)}
.q-line{font-size:1.35rem;font-weight:600;line-height:1.3;max-width:300px}
/* v4: Foun outlined titles */
@font-face{font-family:'Foun';src:url('../fonts/foun/Foun-Regular.woff2') format('woff2'),url('../fonts/foun/Foun-Regular.otf') format('opentype');font-weight:400;font-style:normal;font-display:swap}
.logo-nav{height:46px}.logo-foot{height:64px}
.hero-title,.display-head,main section h1,main .ds-3,main .fs-250,footer h2.display-head{
 font-family:'Foun','Poppins',sans-serif!important;font-weight:400!important;letter-spacing:.01em;line-height:1.02;
 color:transparent;-webkit-text-stroke:1.6px #111;paint-order:stroke fill;transition:color .4s ease}
.hero-title{font-size:clamp(3rem,8.5vw,6.6rem)!important}
.display-head{font-size:clamp(2.4rem,5.5vw,4.2rem)!important}
main .ds-3{font-size:clamp(2.4rem,5.5vw,4.4rem)!important}
.hero-title .text-muted-2,.display-head .text-muted-2{color:transparent!important;-webkit-text-stroke:1.6px var(--accent)}
.hero-title:hover,.display-head:hover,main section h1:hover{color:#111}
.hero-title:hover .text-muted-2,.display-head:hover .text-muted-2{color:var(--accent)!important}
.card-dark .display-head,footer .display-head,.text-white.display-head{-webkit-text-stroke-color:#fff!important}
.card-dark .display-head span,footer .display-head span{-webkit-text-stroke:1.6px #DFD0B8!important;color:transparent!important}
.card-dark .display-head:hover,footer .display-head:hover{color:#fff!important}
.card-dark .display-head:hover span,footer .display-head:hover span{color:#DFD0B8!important}
@supports not (-webkit-text-stroke:1px #000){.hero-title,.display-head,main section h1{color:#111}.text-muted-2{color:var(--accent)!important}}
@media(max-width:767px){.hero-title,.display-head,main section h1,main .ds-3{-webkit-text-stroke-width:1.2px}.hero-title .text-muted-2,.display-head .text-muted-2{-webkit-text-stroke-width:1.2px}}
.hero-title,.display-head,main section h1,main .ds-3,main .fs-250{text-transform:uppercase}
.card-dark .display-head.text-white,footer .display-head.text-white{color:transparent!important}
.card-dark .display-head.text-white:hover,footer .display-head.text-white:hover{color:#fff!important}
/* animated workflow */
.flow{position:relative;--p:0}
.flow-track{position:absolute;left:10%;right:10%;top:30px;height:4px;background:#e3e9e5;border-radius:4px}
.flow-fill{position:absolute;left:0;top:0;height:100%;width:calc(var(--p)*100%);background:linear-gradient(90deg,var(--navy),#948979);border-radius:4px}
.flow-dot{position:absolute;top:50%;left:calc(var(--p)*100%);width:16px;height:16px;margin:-8px 0 0 -8px;border-radius:50%;background:#948979;box-shadow:0 0 0 6px rgba(148,137,121,.25);animation:dotPulse 1.6s ease-in-out infinite}
@keyframes dotPulse{50%{box-shadow:0 0 0 12px rgba(148,137,121,0)}}
.flow-steps{display:grid;grid-template-columns:repeat(5,1fr);gap:20px;position:relative}
.flow-node{width:60px;height:60px;margin:0 auto 18px;border-radius:50%;background:#fff;border:2px solid #d5dfd9;display:flex;align-items:center;justify-content:center;font-weight:600;color:#8a9a90;transition:all .5s cubic-bezier(.3,1.6,.5,1);position:relative;z-index:1}
.flow-card{opacity:.45;transform:translateY(16px) scale(.97);transition:opacity .6s,transform .6s cubic-bezier(.2,.7,.2,1),box-shadow .3s}
.flow-step.on .flow-node{background:var(--navy);border-color:var(--navy);color:#fff;transform:scale(1.15);box-shadow:0 0 0 8px rgba(34,40,49,.12)}
.flow-step.on .flow-card{opacity:1;transform:none}
.flow .flow-card.reveal{opacity:.45}.flow .flow-step.on .flow-card.reveal{opacity:1}
@media(max-width:991px){
.flow-track{left:29px;right:auto;top:30px;bottom:30px;width:4px;height:auto}
.flow-fill{width:100%;height:calc(var(--p)*100%);background:linear-gradient(180deg,var(--navy),#948979)}
.flow-dot{left:50%;top:calc(var(--p)*100%);margin:-8px 0 0 -8px}
.flow-steps{grid-template-columns:1fr;gap:22px}
.flow-step{display:grid;grid-template-columns:60px 1fr;gap:16px;align-items:start}
.flow-node{margin:0}}
@media (prefers-reduced-motion:reduce){.flow{--p:1!important}.flow-card{opacity:1!important;transform:none!important}.flow-step .flow-node{background:var(--navy);border-color:var(--navy);color:#fff}.flow-dot{display:none}}

/* v5 palette: navy #222831 / slate #393E46 / taupe #948979 / cream #DFD0B8 */
:root,[data-bs-theme=light]{--accent:#948979;--accent-soft:#EFE7DA;--bs-primary:#222831;--bs-primary-rgb:34,40,49;--bs-link-color:#222831;--bs-link-color-rgb:34,40,49;--bs-link-hover-color:#6B6255;--bs-body-color:#222831;--bs-heading-color:#222831}
body{color:#222831}h1,h2,h3,h4,h5,h6{color:#222831}
.text-primary,.text-accent{color:var(--taupe-ink)!important}
.btn-primary{background:#222831!important;border-color:#222831!important;color:#DFD0B8!important}
.btn-primary:hover{background:#393E46!important;border-color:#393E46!important}
.card-dark .btn-primary,.award-card .btn-primary,footer .btn-primary{background:#DFD0B8!important;border-color:#DFD0B8!important;color:#222831!important}
.card-dark .btn-light,.award-card .btn-light,footer .btn-light{background:transparent!important;border:1px solid #DFD0B8!important;color:#DFD0B8!important}
.card-dark .btn-light:hover,.award-card .btn-light:hover{background:#DFD0B8!important;color:#222831!important}
.btn-outline-dark{color:#222831;border-color:#222831}.btn-outline-dark:hover{background:#222831;color:#DFD0B8}
.nav-link{color:#222831!important}.nav-link.active,.nav-link:hover{color:var(--taupe-ink)!important}
.sec-label{color:#393E46}.sec-label span{color:#948979}
.hero-title,.display-head,main section h1,main .ds-3,main .fs-250{-webkit-text-stroke-color:#222831}
.hero-title:hover,.display-head:hover,main section h1:hover{color:#222831}
.hero-title .text-muted-2,.display-head .text-muted-2{-webkit-text-stroke-color:#948979!important}
.hero-title:hover .text-muted-2,.display-head:hover .text-muted-2{color:#948979!important}
.card-dark .display-head,footer .display-head{-webkit-text-stroke-color:#DFD0B8!important}
.card-dark .display-head span,footer .display-head span{-webkit-text-stroke-color:#948979!important}
.card-dark .display-head:hover,footer .display-head:hover{color:#DFD0B8!important}
.card-dark .display-head:hover span,footer .display-head:hover span{color:#948979!important}
.card-dark,.card-dark .text-white{color:#DFD0B8}.card-dark .text-white-50,footer .text-white-50,footer .text-secondary{color:rgba(223,208,184,.75)!important}
.card-dark .text-white{color:#DFD0B8!important}
.card-dark .text-accent{color:#948979!important}
.footer-home1{background:#222831!important}footer .bg-dark{background:#393E46!important}footer h4,footer .text-white{color:#DFD0B8!important}
.award-card{background:linear-gradient(135deg,#222831,#393E46);color:#DFD0B8}.award-card h3{color:#DFD0B8}.award-card .bi-trophy-fill{color:#948979}
.hero-badge{background:#EFE7DA;color:#222831}.hero-badge i{color:#6B6255}
.big-num{color:#222831}.stat-pill strong{color:#222831}
.bg-accent-soft{background:#EFE7DA!important}.bg-soft{background:#F7F3EC}
.icon-box{background:#EFE7DA;color:#222831}.step-num{background:#222831;color:#DFD0B8}
.faq .accordion-button:not(.collapsed){background:#EFE7DA;color:#222831}
.flow-track{background:#E6DED1}.flow-fill{background:linear-gradient(90deg,#222831,#948979)}
.flow-dot{background:#948979;box-shadow:0 0 0 6px rgba(148,137,121,.3)}
@keyframes dotPulse{50%{box-shadow:0 0 0 12px rgba(148,137,121,0)}}
.flow-step.on .flow-node{background:#222831;border-color:#222831;color:#DFD0B8;box-shadow:0 0 0 8px rgba(148,137,121,.25)}
.flow-node{border-color:#DCD3C4;color:#948979}
@media(max-width:991px){.flow-fill{background:linear-gradient(180deg,#222831,#948979)}}
@media (prefers-reduced-motion:reduce){.flow-step .flow-node{background:#222831;border-color:#222831;color:#DFD0B8}}
.vid-tag{background:rgba(34,40,49,.85);color:#DFD0B8}.play-btn{color:#222831}
.quote-thumb{background:linear-gradient(140deg,#222831,#393E46)}.q-ini{color:#222831;background:#DFD0B8}.q-line{color:#DFD0B8}.q-mark{color:rgba(148,137,121,.5)}
.soft-card:hover,.p-5.border:hover,.p-6.border:hover{box-shadow:0 14px 34px rgba(34,40,49,.12)}
.list-check .bi{color:#948979!important}
.stat-stack{display:flex;flex-direction:column;gap:16px}
.stat-box{flex:1;background:#EFE7DA;border-radius:20px;padding:24px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;transition:transform .3s ease,box-shadow .3s ease}
.stat-box:hover{transform:translateY(-4px);box-shadow:0 12px 28px rgba(34,40,49,.12)}
.stat-box .big-num{font-size:3rem;color:#222831}.stat-lbl{color:#393E46;font-weight:500;margin-top:6px}
.stat-dark{background:#222831}.stat-dark .big-num{color:#DFD0B8}.stat-dark .stat-lbl{color:#DFD0B8}
@media(max-width:767px){.stat-box{padding:20px}.stat-box .big-num{font-size:2.5rem}}
/* v6: photo backgrounds + texture */
.bg-photo{position:relative;overflow:hidden;isolation:isolate}
.bg-photo:before{content:"";position:absolute;inset:0;z-index:-2;background-size:cover;background-repeat:no-repeat}
.bg-photo:after{content:"";position:absolute;inset:0;z-index:-1}
.bg-laptop:before{background-image:url(../imgs/cris-laptop.webp);background-position:right 30% top 20%}
.bg-laptop:after{background:linear-gradient(100deg,rgba(34,40,49,.97) 0%,rgba(34,40,49,.9) 45%,rgba(57,62,70,.55) 100%)}
.bg-stylus:before{background-image:url(../imgs/cris-stylus.webp);background-position:center 30%}
.bg-stylus:after{background:radial-gradient(ellipse at center,rgba(34,40,49,.82),rgba(34,40,49,.94) 70%)}
.card-photo picture{position:absolute;inset:0}.card-photo picture img{width:100%;height:100%;object-fit:cover;object-position:center 30%}
.resume-photo{aspect-ratio:1/1;object-fit:cover;box-shadow:0 12px 30px rgba(34,40,49,.15)}
/* grain */
body:after{content:"";position:fixed;inset:-50%;pointer-events:none;z-index:9999;opacity:.06;
background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 .13 0 0 0 0 .16 0 0 0 0 .19 0 0 0 .9 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");background-size:160px 160px}
/* paper texture on cream sections */
.bg-soft,.bg-accent-soft,.stat-box:not(.stat-dark),.hero-badge{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='300' height='300'><filter id='p'><feTurbulence type='fractalNoise' baseFrequency='.035 .9' numOctaves='3' seed='4'/><feColorMatrix values='0 0 0 0 .58 0 0 0 0 .54 0 0 0 0 .47 0 0 0 .18 0'/></filter><rect width='100%' height='100%' filter='url(%23p)'/></svg>")}
.card-dark:not(.bg-photo),.footer-home1,.stat-dark,.award-card{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='d'><feTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2'/><feColorMatrix values='0 0 0 0 .87 0 0 0 0 .82 0 0 0 0 .72 0 0 0 .07 0'/></filter><rect width='100%' height='100%' filter='url(%23d)'/></svg>")!important}
.award-card{background-color:#222831!important}
@media(max-width:767px){.bg-laptop:before{background-position:70% 15%}.bg-laptop:after{background:rgba(34,40,49,.9)}body:after{opacity:.045}}
@media(max-width:767px){.card-photo{min-height:480px}.card-photo picture img{object-position:center 15%}.photo-stats{flex-direction:row;left:12px;right:12px;bottom:12px;gap:8px}.stat-pill{padding:10px 12px}.stat-pill strong{font-size:1.25rem}.stat-pill span{font-size:.7rem}}
.socials{display:flex;flex-wrap:wrap;gap:10px}
.socials a{width:42px;height:42px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#222831;color:#DFD0B8;transition:transform .2s,background .2s}
.socials a:hover{transform:translateY(-3px);background:#948979;color:#222831}
.socials svg{width:20px;height:20px}
.oj-badge{font-weight:700;font-size:.8rem;letter-spacing:.02em;font-family:'Poppins',sans-serif}
.socials-dark a{background:#393E46;color:#DFD0B8}.socials-dark a:hover{background:#DFD0B8;color:#222831}
/* work page */
.browser-frame{border-radius:16px;overflow:hidden;background:#fff;box-shadow:0 18px 40px rgba(34,40,49,.14);border:1px solid #E6DED1;transition:transform .35s,box-shadow .35s}
.browser-frame:hover{transform:translateY(-6px);box-shadow:0 26px 50px rgba(34,40,49,.2)}
.bf-bar{display:flex;align-items:center;gap:6px;padding:10px 14px;background:#222831}
.bf-bar span{width:10px;height:10px;border-radius:50%;background:#948979}.bf-bar span:nth-child(2){background:#DFD0B8}.bf-bar span:nth-child(3){background:#393E46;border:1px solid #948979}
.bf-url{margin-left:12px;flex:1;background:#393E46;color:#DFD0B8;font-size:.75rem;border-radius:999px;padding:3px 12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bf-shot{aspect-ratio:16/10;overflow:hidden}.bf-shot img{width:100%;height:100%;object-fit:cover;object-position:top;transition:transform 1.2s ease}
.browser-frame:hover .bf-shot img{transform:scale(1.06)}
.case-card{padding:48px}.case-steps .cs{display:flex;gap:14px;align-items:flex-start;margin-bottom:16px;color:rgba(223,208,184,.85)}
.case-steps .cs i{font-size:1.2rem;color:#948979;background:rgba(223,208,184,.08);border-radius:12px;width:42px;height:42px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.case-steps strong{color:#DFD0B8}
.kpi{background:rgba(223,208,184,.08);border:1px solid rgba(223,208,184,.15);border-radius:20px;padding:22px;color:#DFD0B8;height:100%;transition:transform .3s}
.kpi:hover{transform:translateY(-4px)}.kpi>i,.kpi i.bi{font-size:1.6rem;color:#948979}
.kpi-num{font-size:clamp(2.2rem,4vw,3.2rem);font-weight:700;line-height:1.1;color:#DFD0B8}.kpi-lbl{color:rgba(223,208,184,.75);font-weight:500}
.bar-row{display:grid;grid-template-columns:60px 1fr;align-items:center;gap:10px;margin-bottom:8px;font-size:.85rem;color:rgba(223,208,184,.8)}
.bar{height:14px;background:rgba(223,208,184,.1);border-radius:999px;overflow:hidden}
.bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,#948979,#DFD0B8);border-radius:999px;transition:width 1.6s cubic-bezier(.2,.7,.2,1)}
.bars.on .bar i{width:var(--w)}.kpi-note{color:rgba(223,208,184,.55)}.case-foot{color:#DFD0B8;border-top:1px solid rgba(223,208,184,.15);padding-top:20px}
@media (prefers-reduced-motion:reduce){.bar i{width:var(--w)}}
@media(max-width:767px){.case-card{padding:28px}}
.display-head.h-sub{font-size:clamp(1.8rem,3vw,2.4rem)!important}
/* pinned horizontal scroll */
.hs{position:relative}
.hs-sticky{position:relative}
.hs-pinned .hs-sticky{position:sticky;overflow:hidden;padding:14px 4px 0}
.hs-track.row{flex-wrap:nowrap;margin-left:0;margin-right:0;will-change:transform}
.hs-track.row>[class*="col"]{flex:0 0 auto;width:min(460px,82vw);max-width:none;padding-left:0;padding-right:20px}
.hs-track.row.g-4{--bs-gutter-x:0}
.hs-progress{height:4px;background:#E6DED1;border-radius:4px;margin-top:22px;overflow:hidden;display:none}
.hs-progress i{display:block;height:100%;background:linear-gradient(90deg,#222831,#948979);transform:scaleX(0);transform-origin:left}
.hs-pinned .hs-progress{display:block}
.hs-native .hs-track.row{overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding-bottom:14px;scrollbar-width:thin}
.hs-native .hs-track.row>[class*="col"]{scroll-snap-align:start;width:min(460px,84vw)}
.hs-native .hs-progress{display:none}
.hs-track .mb-6{margin-bottom:0!important}
/* ===== v7 ===== */
/* expandable cards */
.xcard{position:relative;background:#fff;border:1px solid #ECE5DA;border-radius:20px;padding:26px;height:100%;cursor:pointer;transition:box-shadow .35s,transform .35s,border-color .35s;outline:none}
.xcard-proj{background:transparent;border:0;padding:0;cursor:default}
.xc-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.xc-tag{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;font-weight:600;color:var(--taupe-ink);text-align:right}
.xc-sum{margin-bottom:0;color:#393E46;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.xc-more{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .5s cubic-bezier(.2,.7,.2,1),opacity .4s,margin .4s}
.xc-more>*{min-height:0;overflow:hidden}
.xc-more{overflow:hidden}
.xc-hint{display:inline-flex;align-items:center;gap:6px;margin-top:14px;font-size:.8rem;font-weight:600;color:var(--taupe-ink);transition:opacity .3s}
.xc-hint i{transition:transform .35s}
.xcard.open .xc-more{grid-template-rows:1fr;opacity:1;margin-top:14px}
.xcard.open .xc-sum{-webkit-line-clamp:unset}
.xcard.open .xc-hint i{transform:rotate(45deg)}
.xcard.open{box-shadow:0 18px 40px rgba(34,40,49,.14);border-color:#948979}
@media (hover:hover) and (pointer:fine){
 .xcard:hover .xc-more,.xcard:focus-within .xc-more{grid-template-rows:1fr;opacity:1;margin-top:14px}
 .xcard:hover .xc-sum{-webkit-line-clamp:unset}
 .xcard:hover{box-shadow:0 18px 40px rgba(34,40,49,.14);border-color:#948979;transform:translateY(-4px)}
 .xcard:hover .xc-hint i{transform:rotate(45deg)}
 .xcard-proj:hover{box-shadow:none;transform:none}}
.xc-more .list-check{margin-bottom:6px}
.xc-more>div,.xc-more>ul{display:block}
/* the xc-more grid needs a single child wrapper; JS wraps if needed */
.hs-track{align-items:flex-start}
/* service icon illustrations */
.icon-box{position:relative}
.icon-box:after{content:"";position:absolute;inset:-5px;border-radius:18px;border:1px dashed rgba(148,137,121,.55);animation:spin 18s linear infinite}
/* decor */
main>section,.band{position:relative;overflow-x:clip}
main>section>.container,main>section>div:not(.deco){position:relative;z-index:1}
.deco{position:absolute;inset:0;pointer-events:none;z-index:0;overflow:hidden}
.deco>*{position:absolute;opacity:.55;will-change:transform}
.d-ring{width:220px;height:220px;border-radius:50%;border:1.5px solid #DFD0B8;animation:spin 40s linear infinite}
.d-ring:after{content:"";position:absolute;inset:26px;border-radius:50%;border:1.5px dashed #948979}
.d-dots{width:180px;height:180px;background-image:radial-gradient(#948979 1.6px,transparent 1.8px);background-size:18px 18px;animation:drift 14s ease-in-out infinite alternate;opacity:.35}
.d-blob{width:320px;height:320px;border-radius:42% 58% 63% 37%/45% 41% 59% 55%;background:radial-gradient(circle at 30% 30%,rgba(223,208,184,.55),rgba(223,208,184,0) 70%);animation:morph 18s ease-in-out infinite alternate}
.d-spark{width:34px;height:34px;color:#948979;animation:twinkle 4s ease-in-out infinite}
.d-wave{width:260px;height:60px;color:#948979;animation:drift 12s ease-in-out infinite alternate;opacity:.5}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes drift{from{transform:translate3d(0,0,0)}to{transform:translate3d(30px,-24px,0)}}
@keyframes morph{0%{border-radius:42% 58% 63% 37%/45% 41% 59% 55%;transform:translate3d(0,0,0) rotate(0)}100%{border-radius:58% 42% 36% 64%/55% 60% 40% 45%;transform:translate3d(-40px,30px,0) rotate(40deg)}}
@keyframes twinkle{0%,100%{transform:scale(.7) rotate(0);opacity:.3}50%{transform:scale(1.1) rotate(45deg);opacity:.85}}
/* bands */
.band{background:#F7F3EC;border-top:1px solid #E6DED1;border-bottom:1px solid #E6DED1;padding:18px 0;overflow:hidden;white-space:nowrap}
.band-dark{background:#222831;border-color:#222831}
.band-track{display:inline-flex;gap:28px;align-items:center;animation:tick 36s linear infinite;will-change:transform}
.band-track span{font-family:'Foun','Poppins',sans-serif;text-transform:uppercase;font-size:2rem;color:transparent;-webkit-text-stroke:1px #222831;letter-spacing:.02em}
.band-dark .band-track span{-webkit-text-stroke-color:#DFD0B8}
.band-track .bd-star{-webkit-text-stroke:0;color:#948979;font-size:1.3rem;font-family:'Poppins'}
/* shimmer on dark cards */
.card-dark:not(.bg-photo):before,.award-card:before{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 30%,rgba(223,208,184,.07) 50%,transparent 70%);background-size:250% 100%;animation:shimmer 7s linear infinite;pointer-events:none}
.card-dark{position:relative}
@keyframes shimmer{from{background-position:150% 0}to{background-position:-100% 0}}
/* theme toggle */
.theme-toggle{width:42px;height:42px;border-radius:50%;border:1px solid #D8CFC1;background:transparent;color:#222831;display:inline-flex;align-items:center;justify-content:center;transition:transform .3s,background .3s}
.theme-toggle:hover{transform:rotate(-20deg);background:#EFE7DA}
.theme-toggle .tt-sun{display:none}
[data-theme=dark] .theme-toggle .tt-sun{display:inline}[data-theme=dark] .theme-toggle .tt-moon{display:none}
.logo-dark{display:none}[data-theme=dark] .logo-dark{display:inline}[data-theme=dark] .logo-light{display:none}
/* back to top */
.to-top{position:fixed;right:22px;bottom:22px;width:52px;height:52px;border-radius:50%;border:0;background:#222831;color:#DFD0B8;z-index:1050;display:flex;align-items:center;justify-content:center;opacity:0;transform:translateY(20px) scale(.9);pointer-events:none;transition:opacity .35s,transform .35s;box-shadow:0 10px 26px rgba(34,40,49,.25)}
.to-top.show{opacity:1;transform:none;pointer-events:auto}.to-top:hover{transform:translateY(-3px)}
.to-top svg{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg)}
.to-top circle{fill:none;stroke-width:3}.to-top .tt-bg{stroke:rgba(223,208,184,.2)}.to-top .tt-ring{stroke:#948979;stroke-dasharray:132;stroke-dashoffset:132;stroke-linecap:round}
.to-top i{position:relative;font-size:1.2rem}
/* ===== DARK THEME ===== */
[data-theme=dark]{color-scheme:dark}
[data-theme=dark] body{background:#222831!important;color:#DFD0B8}
[data-theme=dark] h1,[data-theme=dark] h2,[data-theme=dark] h3,[data-theme=dark] h4,[data-theme=dark] h5,[data-theme=dark] h6{color:#F1E7D6}
[data-theme=dark] p,[data-theme=dark] li,[data-theme=dark] .lead-sm{color:#D9CCB6}
[data-theme=dark] .text-secondary,[data-theme=dark] .small.text-secondary{color:#B8AC99!important}
[data-theme=dark] .text-primary,[data-theme=dark] .text-accent,[data-theme=dark] .xc-tag,[data-theme=dark] .xc-hint{color:#C9BBA4!important}
[data-theme=dark] a{color:#DFD0B8}
[data-theme=dark] header .navbar{background:#222831}
[data-theme=dark] .nav-link{color:#DFD0B8!important}[data-theme=dark] .nav-link.active,[data-theme=dark] .nav-link:hover{color:#948979!important}
[data-theme=dark] .offcanvas{background:#222831;color:#DFD0B8}[data-theme=dark] .offcanvas .btn-close{filter:invert(1)}
[data-theme=dark] .theme-toggle{color:#DFD0B8;border-color:#393E46}[data-theme=dark] .theme-toggle:hover{background:#393E46}
[data-theme=dark] .btn-primary{background:#DFD0B8!important;border-color:#DFD0B8!important;color:#222831!important}
[data-theme=dark] .btn-primary:hover{background:#948979!important;border-color:#948979!important}
[data-theme=dark] .btn-outline-dark,[data-theme=dark] .btn-outline-secondary{color:#DFD0B8;border-color:#DFD0B8}
[data-theme=dark] .btn-outline-dark:hover{background:#DFD0B8;color:#222831}
[data-theme=dark] .hero-title,[data-theme=dark] .display-head,[data-theme=dark] main section h1,[data-theme=dark] main .ds-3,[data-theme=dark] main .fs-250{-webkit-text-stroke-color:#DFD0B8}
[data-theme=dark] .hero-title:hover,[data-theme=dark] .display-head:hover,[data-theme=dark] main section h1:hover{color:#DFD0B8}
[data-theme=dark] .text-muted-2{color:#948979}
[data-theme=dark] .sec-label{color:#C9BBA4}
[data-theme=dark] .soft-card,[data-theme=dark] .xcard:not(.xcard-proj),[data-theme=dark] .accordion-item,[data-theme=dark] .p-5.border,[data-theme=dark] .p-6.border,[data-theme=dark] .flow-card{background:#393E46!important;border-color:#4A505A!important;color:#DFD0B8}
[data-theme=dark] .card-dark{background-color:#1B2027}
[data-theme=dark] .bg-soft,[data-theme=dark] .band{background:#2B313A!important;border-color:#393E46}
[data-theme=dark] .bg-secondary-1,[data-theme=dark] .bg-accent-soft,[data-theme=dark] .hero-badge{background:#393E46!important;color:#DFD0B8}
[data-theme=dark] .hero-badge i{color:#C9BBA4}
[data-theme=dark] .band-track span{-webkit-text-stroke-color:#DFD0B8}
[data-theme=dark] .stat-box{background:#393E46}[data-theme=dark] .stat-box .big-num,[data-theme=dark] .big-num{color:#F1E7D6}[data-theme=dark] .stat-lbl{color:#D9CCB6}
[data-theme=dark] .stat-dark{background:#DFD0B8}[data-theme=dark] .stat-dark .big-num,[data-theme=dark] .stat-dark .stat-lbl{color:#222831}
[data-theme=dark] .stat-pill{background:#222831}[data-theme=dark] .stat-pill strong{color:#F1E7D6}[data-theme=dark] .stat-pill span{color:#D9CCB6}
[data-theme=dark] .icon-box{background:#222831;color:#DFD0B8}
[data-theme=dark] .accordion-button{background:#393E46;color:#F1E7D6}[data-theme=dark] .accordion-button:not(.collapsed){background:#2B313A;color:#DFD0B8}
[data-theme=dark] .accordion-button:after{filter:invert(1) sepia(.3)}[data-theme=dark] .accordion-body{color:#D9CCB6}
[data-theme=dark] .form-control,[data-theme=dark] .form-select{background-color:#222831;color:#F1E7D6;border-color:#4A505A}
[data-theme=dark] .form-control::placeholder{color:#B8AC99}
[data-theme=dark] .flow-track{background:#393E46}[data-theme=dark] .flow-fill{background:linear-gradient(90deg,#948979,#DFD0B8)}
[data-theme=dark] .flow-node{background:#2B313A;border-color:#4A505A;color:#C9BBA4}
[data-theme=dark] .flow-step.on .flow-node{background:#DFD0B8;border-color:#DFD0B8;color:#222831}
[data-theme=dark] .ticker-item{color:#B8AC99}
[data-theme=dark] .browser-frame{background:#393E46;border-color:#4A505A}
[data-theme=dark] .footer-home1{background:#1B2027!important}[data-theme=dark] footer .bg-dark{background:#14181D!important}
[data-theme=dark] .d-ring{border-color:#393E46}[data-theme=dark] .d-blob{background:radial-gradient(circle at 30% 30%,rgba(148,137,121,.25),rgba(148,137,121,0) 70%)}
[data-theme=dark] .socials a{background:#393E46}
[data-theme=dark] .to-top{background:#DFD0B8;color:#222831}[data-theme=dark] .to-top .tt-bg{stroke:rgba(34,40,49,.2)}[data-theme=dark] .to-top .tt-ring{stroke:#222831}
[data-theme=dark] body:after{opacity:.05;filter:invert(1)}
[data-theme=dark] .hs-progress{background:#393E46}
[data-theme=dark] .list-check .bi{color:#C9BBA4!important}
[data-theme=dark] .border-top{border-color:#4A505A!important}
[data-theme=dark] .vid-tag{background:rgba(223,208,184,.9);color:#222831}
@media (prefers-reduced-motion:reduce){.deco>*,.band-track,.icon-box:after,.card-dark:before,.award-card:before{animation:none!important}}
@media(max-width:767px){.d-ring{width:140px;height:140px}.d-blob{width:200px;height:200px}.band-track span{font-size:1.4rem}.to-top{right:14px;bottom:14px;width:46px;height:46px}}
.hs-measure .xc-more{grid-template-rows:1fr!important;opacity:1;margin-top:14px;transition:none!important}
.hs-measure .xc-sum{-webkit-line-clamp:unset}
/* ===== v8: carousels + overlay cards ===== */
.hs{position:relative}
.hs-track.row{display:flex;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-behavior:auto;margin:0;padding:6px 2px 18px;gap:16px;--bs-gutter-x:0;scrollbar-width:none;align-items:stretch;transform:none!important}
.hs-track.row::-webkit-scrollbar{display:none}
.hs-track.row>[class*="col"]{flex:0 0 auto;width:min(400px,84vw);max-width:none;padding:0;margin:0!important;scroll-snap-align:start}
.hs-track.dragging{scroll-snap-type:none;cursor:grabbing;user-select:none}
.hs-track.dragging a{pointer-events:none}
.hs-ctrl{display:flex;align-items:center;gap:10px;margin-top:6px}
.hs-ctrl .hs-progress{display:block;flex:1;margin:0;height:4px}
.hs-progress i{transition:transform .25s}
.hs-btn{width:44px;height:44px;border-radius:50%;border:1px solid #222831;background:transparent;color:#222831;display:inline-flex;align-items:center;justify-content:center;transition:background .25s,color .25s,opacity .25s,transform .25s}
.hs-btn:hover:not(:disabled){background:#222831;color:#DFD0B8;transform:translateY(-2px)}
.hs-btn:disabled{opacity:.3;cursor:default}
.hs-static .hs-ctrl{display:none}
[data-theme=dark] .hs-btn{border-color:#DFD0B8;color:#DFD0B8}[data-theme=dark] .hs-btn:hover:not(:disabled){background:#DFD0B8;color:#222831}
/* overlay expansion */
.xcard{overflow:hidden;display:flex;flex-direction:column;padding:22px;transform:none}
.xcard .xc-hint{margin-top:auto;padding-top:12px}
.xc-sum{-webkit-line-clamp:2!important}
.xc-more{display:block!important;position:absolute;inset:0;margin:0!important;padding:20px 22px;background:#fff;overflow-y:auto;opacity:0;transform:translateY(14px);pointer-events:none;transition:opacity .35s ease,transform .35s ease;z-index:3;grid-template-rows:none!important;border-radius:inherit}
.xc-more>*{overflow:visible!important}
.xc-otitle{font-weight:700;font-size:1.05rem;margin-bottom:10px;color:#222831}
.xcard.open .xc-more{opacity:1;transform:none;pointer-events:auto}
@media (hover:hover) and (pointer:fine){.xcard:hover .xc-more,.xcard:focus-within .xc-more{opacity:1;transform:none;pointer-events:auto}.xcard:hover{transform:none}}
.xc-more .btn{margin-top:6px}
.xc-close{display:none}
.xcard-proj{padding:0;border-radius:16px;background:#fff;border:1px solid #ECE5DA}
.xcard-proj>.d-flex{padding:14px 16px 0}.xcard-proj .xc-hint{padding:10px 16px 14px}
.xcard-proj .browser-frame{border:0;border-radius:0;box-shadow:none}
.xcard-proj .xc-more{padding:22px}
.xcard-proj .xc-more p{margin-top:0!important}
.hs-measure .xc-more{position:absolute!important}
/* tighter section spacing */
.py-6{padding-top:72px;padding-bottom:72px}.pb-6{padding-bottom:72px}.pb-120{padding-bottom:80px!important}.mt-8{margin-top:40px!important}
[data-theme=dark] .xc-more{background:#393E46}[data-theme=dark] .xc-otitle{color:#F1E7D6}
[data-theme=dark] .xcard-proj{background:#393E46;border-color:#4A505A}
@media(max-width:767px){.py-6{padding-top:56px;padding-bottom:56px}.hs-btn{width:38px;height:38px}}
.hs-track.row>[class*="col"]{width:min(480px,84vw)}
.hs .xcard:not(.xcard-proj){min-height:250px}.xc-more{scrollbar-width:thin}
/* v9 */
section .mt-8:has(> [data-hs]),section .mt-8:has(> .hs){margin-top:56px}
.job-feature{background:linear-gradient(90deg,rgba(148,137,121,.14),transparent);border-left:4px solid #948979;border-radius:12px;margin-top:1rem}
.dz-tabs{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.dz-tabs button{border:1px solid rgba(148,137,121,.5);background:transparent;color:inherit;border-radius:999px;padding:7px 16px;font-size:14px;transition:.25s}
.dz-tabs button small{opacity:.6;margin-left:4px}
.dz-tabs button:hover,.dz-tabs button.active{background:#222831;color:#DFD0B8;border-color:#222831}
[data-theme=dark] .dz-tabs button:hover,[data-theme=dark] .dz-tabs button.active{background:#DFD0B8;color:#222831;border-color:#DFD0B8}
.dz-grid{columns:4 240px;column-gap:16px}
.dz-item{display:block;break-inside:avoid;margin-bottom:16px;border-radius:14px;overflow:hidden;background:#EFE7DA;cursor:zoom-in;box-shadow:0 6px 20px rgba(34,40,49,.08)}
[data-theme=dark] .dz-item{background:#393E46}
.dz-item img{width:100%;height:auto;display:block;transition:transform .5s ease}
.dz-item:hover img{transform:scale(1.06)}
.dz-item.hide{display:none}
.dz-lb{position:fixed;inset:0;z-index:2000;background:rgba(20,24,30,.94);display:flex;align-items:center;justify-content:center;padding:60px 70px}
.dz-lb[hidden]{display:none}
.dz-lb img{max-width:100%;max-height:100%;object-fit:contain;border-radius:8px}
.dz-lb button{position:absolute;border:0;background:rgba(223,208,184,.15);color:#DFD0B8;width:46px;height:46px;border-radius:50%;font-size:20px}
.dz-x{top:14px;right:14px}.dz-p{left:14px;top:50%}.dz-n{right:14px;top:50%}
.dz-cap{position:absolute;bottom:12px;left:0;right:0;text-align:center;color:#DFD0B8;margin:0;font-size:14px}
@media(max-width:575px){.dz-grid{columns:2;column-gap:10px}.dz-item{margin-bottom:10px}.dz-lb{padding:60px 10px}.dz-p,.dz-n{top:auto!important;bottom:40px}}
.svc-group+.svc-group{margin-top:56px!important}
