/* Digital Marketer — dark personal-brand theme */
:root{--bg:#07080b;--bg-2:#0c0e13;--card:#11141b;--card-2:#161a23;--line:rgba(255,255,255,.08);--line-2:rgba(255,255,255,.14);--text:#eef0f5;--muted:#9aa1b2;--dim:#6d7486;--a1:#ff6b35;--a2:#ffb547;--a3:#8b5cf6;--grad:linear-gradient(120deg,var(--a1),var(--a2));--radius:22px;--shadow:0 30px 80px -30px rgba(0,0,0,.8)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}
body.dx{margin:0;background:var(--bg);color:var(--text);font:16px/1.7 Inter,system-ui,-apple-system,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}

.dx main,.dx footer,.dx header{position:relative;z-index:1}
.dx a{color:inherit}.dx img{max-width:100%;display:block}
.dx h1,.dx h2,.dx h3,.dx h4{font-family:"Plus Jakarta Sans",Inter,sans-serif;letter-spacing:-.025em;margin:0}
.dx-wrap{width:min(1220px,calc(100% - 40px));margin:0 auto}.dx-narrow{max-width:820px}
.dx-kicker{display:inline-flex;align-items:center;gap:10px;font:700 12.5px/1 "Plus Jakarta Sans",sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--a2)}
.dx-kicker:before{content:"";width:22px;height:2px;border-radius:2px;background:var(--grad)}
.dx-h2{margin-top:14px!important;font-size:clamp(32px,3.8vw,52px);line-height:1.08;font-weight:800}
.dx-lead{font-size:clamp(17px,1.35vw,20px);color:var(--muted);max-width:58ch}
.dx em{font-style:normal;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.dx-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:15px 26px;border-radius:999px;border:1px solid transparent;background:var(--grad);color:#120a05!important;font:800 15px/1 "Plus Jakarta Sans",sans-serif;text-decoration:none;cursor:pointer;box-shadow:0 14px 40px -14px color-mix(in srgb,var(--a1) 70%,transparent);transition:transform .2s,box-shadow .2s}
.dx-btn i{font-style:normal;transition:transform .2s}.dx-btn:hover{transform:translateY(-2px);box-shadow:0 20px 50px -14px color-mix(in srgb,var(--a1) 85%,transparent)}.dx-btn:hover i{transform:translateX(3px)}
.dx-btn-ghost{background:rgba(255,255,255,.03);color:var(--text)!important;border-color:var(--line-2);box-shadow:none}.dx-btn-ghost:hover{border-color:var(--a2);box-shadow:none}
.dx-btn-sm{padding:11px 18px;font-size:14px}.dx-btn-block{width:100%;margin-top:8px}
.dx-link{color:var(--a2)!important;font-weight:700;text-decoration:none}
/* header */
.dx-header{position:sticky;top:0;z-index:60;transition:background .25s,border-color .25s,backdrop-filter .25s;border-bottom:1px solid transparent}
.dx-header.is-scrolled{background:rgba(7,8,11,.78);backdrop-filter:blur(16px) saturate(1.4);-webkit-backdrop-filter:blur(16px) saturate(1.4);border-color:var(--line)}
.dx-header-in{display:flex;align-items:center;gap:26px;height:82px}
.dx-brand{display:flex;align-items:center;text-decoration:none}.dx-brand img{height:40px;width:auto}.dx-brand b{font:800 20px "Plus Jakarta Sans"}
.dx-nav{display:flex;align-items:center;gap:6px;margin-left:auto;padding:6px;border-radius:999px;background:rgba(255,255,255,.03);border:1px solid var(--line)}
.dx-nav a{padding:9px 16px;border-radius:999px;text-decoration:none;font:600 14.5px "Plus Jakarta Sans";color:var(--muted);transition:color .2s,background .2s}
.dx-nav a:hover,.dx-nav a.is-active{color:var(--text);background:rgba(255,255,255,.06)}
.dx-nav-cta{display:none}
.dx-burger{display:none;width:46px;height:46px;border-radius:14px;border:1px solid var(--line-2);background:rgba(255,255,255,.03);cursor:pointer;flex-direction:column;justify-content:center;gap:6px;padding:0 12px;margin-left:auto}
.dx-burger span{display:block;height:2px;background:var(--text);border-radius:2px;transition:transform .2s}
.dx-burger[aria-expanded="true"] span:first-child{transform:translateY(4px) rotate(45deg)}.dx-burger[aria-expanded="true"] span:last-child{transform:translateY(-4px) rotate(-45deg)}
/* hero */
.dx-hero{padding:56px 0 30px}
.dx-hero-in{display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:center}
.dx-pill{display:inline-flex;align-items:center;gap:10px;padding:8px 15px;border-radius:999px;background:rgba(255,255,255,.04);border:1px solid var(--line-2);font:600 13px "Plus Jakarta Sans";color:var(--text)}
.dx-pill i{width:8px;height:8px;border-radius:50%;background:#3ee08f;box-shadow:0 0 0 4px rgba(62,224,143,.18);animation:dxPulse 2s infinite}
@keyframes dxPulse{50%{box-shadow:0 0 0 8px rgba(62,224,143,0)}}
.dx-hello{margin:26px 0 4px;font:600 20px "Plus Jakarta Sans";color:var(--muted)}
.dx-hero h1{font-size:clamp(42px,5.6vw,80px);line-height:1;font-weight:800;margin:6px 0 22px}
.dx-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.dx-trust{margin-top:20px;font-size:14px;color:var(--dim)}
.dx-hero-visual{position:relative}
.dx-portrait{position:relative;border-radius:32px;overflow:hidden;aspect-ratio:4/4.6;background:#0d0f14;box-shadow:var(--shadow);isolation:isolate}
.dx-portrait:before{content:"";position:absolute;inset:-2px;z-index:-1;border-radius:34px;background:conic-gradient(from 200deg,var(--a1),var(--a2),var(--a3),var(--a1));opacity:.55;filter:blur(30px)}
.dx-portrait img{width:100%;height:100%;object-fit:cover;object-position:center 20%}
.dx-portrait:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(7,8,11,.92));pointer-events:none}
.dx-portrait-name{position:absolute;left:24px;bottom:22px;z-index:2}.dx-portrait-name b{display:block;font:800 22px "Plus Jakarta Sans"}.dx-portrait-name small{color:var(--muted)}
.dx-float{position:absolute;z-index:3;padding:14px 18px;border-radius:18px;background:rgba(17,20,27,.86);backdrop-filter:blur(12px);border:1px solid var(--line-2);box-shadow:var(--shadow);animation:dxFloat 6s ease-in-out infinite}
.dx-float b{display:block;font:800 22px "Plus Jakarta Sans";background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}.dx-float span{font-size:12.5px;color:var(--muted)}
.dx-float-1{left:-34px;top:16%}.dx-float-2{right:-24px;top:44%;animation-delay:-2s}.dx-float-3{left:-12px;bottom:18%;animation-delay:-4s}
@keyframes dxFloat{50%{transform:translateY(-10px)}}
.dx-metrics{display:grid;grid-template-columns:repeat(4,1fr);margin-top:60px;border:1px solid var(--line);border-radius:var(--radius);background:rgba(255,255,255,.02)}
.dx-metrics>div{padding:26px 28px;border-right:1px solid var(--line)}.dx-metrics>div:last-child{border-right:0}
.dx-metrics strong{display:block;font:800 clamp(30px,3vw,44px)/1.1 "Plus Jakarta Sans"}.dx-metrics span{color:var(--muted);font-size:14px}
/* logos */
.dx-logos{padding:38px 0}.dx-logos p{margin:0 0 18px;text-align:center;font:700 12px "Plus Jakarta Sans";letter-spacing:.16em;text-transform:uppercase;color:var(--dim)}
.dx-logo-track{overflow:hidden;mask:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
.dx-logo-track div{display:flex;gap:64px;width:max-content;animation:dxMarquee 34s linear infinite}
.dx-logo-track span{font:800 24px "Plus Jakarta Sans";color:#4a5062;white-space:nowrap}
@keyframes dxMarquee{to{transform:translateX(-50%)}}
/* sections */
.dx-section{padding:110px 0}.dx-section-tight{padding:60px 0}
.dx-alt{background:linear-gradient(180deg,rgba(255,255,255,.015),rgba(255,255,255,.03));border-block:1px solid var(--line)}
.dx-head{max-width:740px;margin-bottom:48px}.dx-head p{color:var(--muted);font-size:17px}
.dx-center{text-align:center;margin-inline:auto}.dx-center .dx-kicker{justify-content:center}
.dx-row{max-width:none;display:flex;justify-content:space-between;align-items:flex-end;gap:20px}
.dx-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.dx-card{display:block;padding:30px;border-radius:var(--radius);background:var(--card);border:1px solid var(--line);text-decoration:none;transition:transform .25s,border-color .25s,background .25s}
.dx-card:hover{transform:translateY(-5px);border-color:color-mix(in srgb,var(--a2) 35%,transparent);background:var(--card-2)}
.dx-card h3{margin:18px 0 8px;font-size:21px}.dx-card p{margin:0;color:var(--muted);font-size:15px}
.dx-service b{display:inline-flex;gap:8px;margin-top:20px;color:var(--a2);font-size:14px}.dx-service b i{font-style:normal;transition:transform .2s}.dx-service:hover b i{transform:translateX(4px)}
.dx-ico{display:grid;place-items:center;width:54px;height:54px;border-radius:16px;background:linear-gradient(135deg,color-mix(in srgb,var(--a1) 18%,transparent),rgba(139,92,246,.18));border:1px solid var(--line-2);font-size:24px}
.dx-no{color:var(--a2);font-size:14px}
.dx-about{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:center}
.dx-about-img{position:relative;border-radius:28px;overflow:hidden;aspect-ratio:4/5;border:1px solid var(--line)}.dx-about-img img{width:100%;height:100%;object-fit:cover;object-position:center 25%;filter:grayscale(.2) contrast(1.05)}
.dx-about-badge{position:absolute;right:18px;bottom:18px;padding:16px 20px;border-radius:18px;background:rgba(7,8,11,.82);backdrop-filter:blur(10px);border:1px solid var(--line-2)}.dx-about-badge b{display:block;font:800 34px/1 "Plus Jakarta Sans";background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}.dx-about-badge span{font-size:13px;color:var(--muted)}
.dx-about .dx-checks{margin-top:24px}.dx-sign{margin-top:22px;font:600 italic 22px Georgia,serif;color:var(--a2)}
.dx-results{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:28px}
.dx-result{padding:28px;border-radius:var(--radius);background:var(--card);border:1px solid var(--line)}
.dx-result strong{display:block;font:800 clamp(36px,3.4vw,52px)/1.05 "Plus Jakarta Sans";background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.dx-result span{display:block;margin-top:6px;font-weight:700}.dx-result small{display:block;color:var(--dim)}
.dx-cases{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.dx-case{border-radius:var(--radius);overflow:hidden;background:var(--card);border:1px solid var(--line);transition:transform .25s,border-color .25s}.dx-case:hover{transform:translateY(-5px);border-color:var(--line-2)}
.dx-case img{aspect-ratio:16/10;width:100%;object-fit:cover}.dx-case>div{padding:24px}.dx-case h3{margin:12px 0 8px;font-size:20px}.dx-case p{margin:0 0 12px;color:var(--muted);font-size:15px}
.dx-tag{display:inline-block;padding:5px 11px;border-radius:999px;background:color-mix(in srgb,var(--a2) 10%,transparent);border:1px solid color-mix(in srgb,var(--a2) 22%,transparent);color:var(--a2);font:700 11.5px "Plus Jakarta Sans";letter-spacing:.02em}
.dx-split{display:grid;grid-template-columns:.85fr 1.15fr;gap:64px;align-items:start}.dx-split p{color:var(--muted)}.dx-sticky{position:sticky;top:110px}
.dx-steps{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.dx-steps li{display:grid;grid-template-columns:60px 1fr;gap:18px;padding:24px;border-radius:var(--radius);background:var(--card);border:1px solid var(--line)}
.dx-steps li>b{display:grid;place-items:center;width:60px;height:60px;border-radius:18px;background:var(--grad);color:#120a05;font:800 18px "Plus Jakarta Sans"}
.dx-steps h3{font-size:19px;margin:4px 0 6px}.dx-steps p{margin:0;font-size:15px}
.dx-chips{display:flex;flex-wrap:wrap;gap:10px}.dx-chips-center{justify-content:center}
.dx-chips span,.dx-chips button{padding:12px 20px;border-radius:999px;background:var(--card);border:1px solid var(--line);font:600 14.5px "Plus Jakarta Sans";color:var(--text)}
.dx-quotes{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.dx-quote{margin:0;display:flex;flex-direction:column;padding:32px;border-radius:var(--radius);background:var(--card);border:1px solid var(--line);min-height:260px;position:relative}
.dx-quote:before{content:"\201C";position:absolute;right:26px;top:6px;font:800 90px/1 Georgia,serif;color:color-mix(in srgb,var(--a2) 12%,transparent)}
.dx-stars{color:var(--a2);letter-spacing:3px}.dx-quote blockquote{margin:14px 0 24px;font-size:17px;line-height:1.7;color:#d7dae3;display:-webkit-box;-webkit-line-clamp:6;-webkit-box-orient:vertical;overflow:hidden}
.dx-quote figcaption{margin-top:auto;display:flex;align-items:center;gap:13px}.dx-quote figcaption img,.dx-av{width:48px;height:48px;border-radius:50%;object-fit:cover}
.dx-av{display:grid;place-items:center;background:var(--grad);color:#120a05;font:800 15px "Plus Jakarta Sans"}.dx-quote b{display:block}.dx-quote small{color:var(--dim)}
.dx-plans{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.dx-plan{position:relative;display:flex;flex-direction:column;padding:34px;border-radius:26px;background:var(--card);border:1px solid var(--line)}
.dx-plan.is-featured{border-color:color-mix(in srgb,var(--a2) 50%,transparent);background:linear-gradient(180deg,color-mix(in srgb,var(--a1) 8%,transparent),var(--card) 40%);transform:translateY(-10px);box-shadow:var(--shadow)}
.dx-plan>em{position:absolute;top:-13px;left:34px;padding:6px 13px;border-radius:999px;background:var(--grad);color:#120a05;-webkit-text-fill-color:#120a05;font:800 12px "Plus Jakarta Sans"}
.dx-plan h3{font-size:20px}.dx-plan>p{color:var(--muted);font-size:14.5px;margin:6px 0 0}
.dx-price{display:flex;align-items:baseline;gap:6px;margin:20px 0}.dx-price b{font:800 46px/1 "Plus Jakarta Sans"}.dx-price span{color:var(--muted)}
.dx-plan .dx-checks{margin-bottom:26px}.dx-plan .dx-btn{margin-top:auto}
.dx-checks{list-style:none;margin:0;padding:0;display:grid;gap:12px}.dx-checks li{position:relative;padding-left:32px;color:#d7dae3}
.dx-checks li:before{content:"✓";position:absolute;left:0;top:2px;display:grid;place-items:center;width:21px;height:21px;border-radius:50%;background:color-mix(in srgb,var(--a2) 14%,transparent);color:var(--a2);font-size:12px;font-weight:900}
.dx-faq{border-bottom:1px solid var(--line)}.dx-faq summary{display:flex;justify-content:space-between;gap:16px;padding:22px 0;font:700 17.5px "Plus Jakarta Sans";cursor:pointer;list-style:none}.dx-faq summary::-webkit-details-marker{display:none}
.dx-faq summary i{position:relative;flex:0 0 24px;height:24px;border-radius:50%;border:1px solid var(--line-2)}.dx-faq summary i:before,.dx-faq summary i:after{content:"";position:absolute;left:6px;right:6px;top:11px;height:2px;background:var(--a2);transition:transform .2s}.dx-faq summary i:after{transform:rotate(90deg)}
.dx-faq[open] summary i:after{transform:rotate(0)}.dx-faq p{margin:0 0 22px;color:var(--muted)}
/* posts */
.dx-post{display:flex;flex-direction:column;text-decoration:none;border-radius:var(--radius);overflow:hidden;background:var(--card);border:1px solid var(--line);transition:transform .25s,border-color .25s}
.dx-post:hover{transform:translateY(-5px);border-color:var(--line-2)}
.dx-post-img{aspect-ratio:16/9;background:#0d0f14;overflow:hidden}.dx-post-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.dx-post:hover .dx-post-img img{transform:scale(1.04)}
.dx-post-body{display:flex;flex-direction:column;flex:1;padding:22px 24px 24px}.dx-post-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.dx-post-meta small{color:var(--dim)}
.dx-post h3{margin:14px 0 10px;font-size:19px;line-height:1.35}.dx-post p{color:var(--muted);margin:0 0 14px}.dx-post b{margin-top:auto;color:var(--a2);font-size:14px}
.dx-post.is-big{display:grid;grid-template-columns:1.2fr 1fr}.dx-post.is-big .dx-post-img{aspect-ratio:auto;height:100%;min-height:340px}.dx-post.is-big .dx-post-body{padding:40px;justify-content:center}.dx-post.is-big h3{font-size:clamp(26px,2.6vw,36px)}
.dx-featured{margin-bottom:24px}
.dx-page-hero{padding:70px 0 50px}.dx-page-hero h1{font-size:clamp(40px,5.4vw,74px);line-height:1.02;font-weight:800;margin:16px 0}
.dx-back{display:inline-block;margin-bottom:22px;color:var(--muted);text-decoration:none;font-weight:600}.dx-back:hover{color:var(--a2)}
.dx-blog-tools{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-top:30px}
.dx-search{display:flex;align-items:center;gap:10px;padding:0 18px;height:50px;border-radius:999px;background:var(--card);border:1px solid var(--line-2);min-width:280px}.dx-search span{color:var(--dim);font-size:18px}
.dx-search input{flex:1;border:0;background:transparent;color:var(--text);font:inherit;outline:none}
.dx-chips button{cursor:pointer;transition:border-color .2s,background .2s}.dx-chips button i{font-style:normal;color:var(--dim);margin-left:4px}.dx-chips button.is-active{background:var(--grad);color:#120a05;border-color:transparent}.dx-chips button.is-active i{color:#3a2210}
.dx-empty{text-align:center;color:var(--muted);padding:30px}
/* article */
.dx-article-head{padding:56px 0 20px}.dx-article-head h1{font-size:clamp(34px,4.4vw,58px);line-height:1.1;font-weight:800;margin:16px 0}
.dx-author{display:flex;align-items:center;gap:12px;margin-top:22px}.dx-author img{width:46px;height:46px;border-radius:50%;object-fit:cover;object-position:center 20%}.dx-author b{display:block}.dx-author small{color:var(--dim)}
.dx-article-cover{margin:34px 0 0;border-radius:28px;overflow:hidden;border:1px solid var(--line)}.dx-article-cover img{width:100%;max-height:560px;object-fit:cover}
.dx-article-layout{display:grid;grid-template-columns:220px minmax(0,740px) 160px;gap:48px;justify-content:center;padding:50px 0 30px}
.dx-toc,.dx-share{position:sticky;top:110px;align-self:start;display:flex;flex-direction:column;gap:8px;font-size:14px}.dx-toc b,.dx-share b{font:700 12px "Plus Jakarta Sans";letter-spacing:.14em;text-transform:uppercase;color:var(--dim);margin-bottom:6px}
.dx-toc a{color:var(--muted);text-decoration:none;padding:4px 0 4px 12px;border-left:2px solid var(--line)}.dx-toc a.lvl-h3{padding-left:24px}.dx-toc a:hover,.dx-toc a.is-active{color:var(--a2);border-color:var(--a2)}
.dx-share a,.dx-share button{color:var(--muted);text-decoration:none;background:none;border:0;padding:0;text-align:left;font:inherit;cursor:pointer}.dx-share a:hover,.dx-share button:hover{color:var(--a2)}
.dx-prose{font-size:18px;line-height:1.85;color:#d9dce5}.dx-prose h2{font-size:30px;margin:44px 0 14px;color:var(--text)}.dx-prose h3{font-size:23px;margin:34px 0 12px;color:var(--text)}
.dx-prose p{margin:0 0 20px}.dx-prose a{color:var(--a2)}.dx-prose img{border-radius:18px;margin:26px 0;height:auto}.dx-prose ul,.dx-prose ol{padding-left:22px;margin:0 0 22px}.dx-prose li{margin:8px 0}
.dx-prose blockquote{margin:28px 0;padding:20px 26px;border-left:3px solid var(--a1);background:var(--card);border-radius:0 16px 16px 0;color:var(--text)}
.dx-prose code{background:var(--card-2);padding:2px 7px;border-radius:6px;font-size:.9em}.dx-prose pre{background:var(--card);padding:20px;border-radius:16px;overflow:auto}
.dx-prose table{width:100%;border-collapse:collapse;margin:24px 0;font-size:15px}.dx-prose th,.dx-prose td{padding:12px;border-bottom:1px solid var(--line);text-align:left}
.dx-author-card{display:flex;gap:22px;align-items:center;margin:20px 0 40px;padding:28px;border-radius:var(--radius);background:var(--card);border:1px solid var(--line)}.dx-author-card img{width:96px;height:96px;border-radius:50%;object-fit:cover;object-position:center 20%;flex:0 0 auto}.dx-author-card small{color:var(--dim)}.dx-author-card b{display:block;font:800 21px "Plus Jakarta Sans"}.dx-author-card p{margin:6px 0 10px;color:var(--muted)}
/* contact */
.dx-contact{background:radial-gradient(700px 400px at 100% 0,color-mix(in srgb,var(--a1) 12%,transparent),transparent 60%)}
.dx-contact-in{display:grid;grid-template-columns:.85fr 1.15fr;gap:56px;align-items:start}.dx-contact-copy p{color:var(--muted)}.dx-contact-copy .dx-checks{margin:24px 0}
.dx-contact-direct{display:grid;gap:10px;margin-top:6px}.dx-contact-direct a{display:block;padding:16px 18px;border-radius:16px;background:var(--card);border:1px solid var(--line);text-decoration:none;transition:border-color .2s}.dx-contact-direct a:hover{border-color:var(--a2)}.dx-contact-direct small{display:block;color:var(--dim);font-size:12px}.dx-contact-direct b{font:700 16px "Plus Jakarta Sans"}
.dx-reply{font-weight:600;color:var(--text)!important}
.dx-form{position:relative;padding:32px;border-radius:26px;background:var(--card);border:1px solid var(--line-2);box-shadow:var(--shadow)}
.dx-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.dx-form .dx-span{grid-column:1/-1}
.dx-form label span{display:block;font:600 13px "Plus Jakarta Sans";color:var(--muted);margin-bottom:7px}
.dx-form input,.dx-form select,.dx-form textarea{width:100%;padding:14px 15px;border-radius:14px;border:1px solid var(--line-2);background:#0a0c10;font:inherit;font-size:15px;color:var(--text);outline:none;transition:border-color .15s,box-shadow .15s}
.dx-form select option{background:#0a0c10}
.dx-form input:focus,.dx-form select:focus,.dx-form textarea:focus{border-color:var(--a2);box-shadow:0 0 0 4px color-mix(in srgb,var(--a2) 12%,transparent)}
.dx-form .is-bad{border-color:#ff5a6e!important}.dx-form-msg{margin:12px 0 0;padding:11px 13px;border-radius:12px;background:rgba(255,90,110,.1);color:#ff9aa7;font-size:14px;font-weight:600}
.dx-form-done{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;text-align:center;padding:32px;border-radius:26px;background:var(--card)}.dx-form-done[hidden]{display:none}
.dx-form-done b{display:grid;place-items:center;width:68px;height:68px;border-radius:50%;background:var(--grad);color:#120a05;font-size:30px}.dx-form-done h3{margin:18px 0 6px;font-size:26px}.dx-form-done p{color:var(--muted);max-width:40ch}
.portfolio-honeypot-v171{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
/* footer */
.dx-footer{margin-top:40px;border-top:1px solid var(--line);background:linear-gradient(180deg,transparent,rgba(255,255,255,.02))}
.dx-footer-cta{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;padding:60px 0;border-bottom:1px solid var(--line)}.dx-footer-cta h2{margin-top:12px;font-size:clamp(28px,3.2vw,44px)}
.dx-footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px;padding:56px 0 40px}
.dx-footer-about p{color:var(--muted);max-width:40ch;margin:16px 0}.dx-footer h4{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);margin-bottom:16px}
.dx-footer nav,.dx-footer-grid>div:last-child{display:flex;flex-direction:column;gap:10px}.dx-footer a{text-decoration:none;color:var(--muted)}.dx-footer a:hover{color:var(--a2)}.dx-footer span{color:var(--dim)}
.dx-socials{display:flex;flex-wrap:wrap;gap:8px}.dx-socials a{padding:8px 14px;border-radius:999px;border:1px solid var(--line-2);font-size:13.5px}
.dx-footer-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px;padding:24px 0 34px;border-top:1px solid var(--line);font-size:13.5px}
.dx-reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.8,.2,1)}.dx-reveal.is-in{opacity:1;transform:none}
@media(max-width:1100px){.dx-article-layout{grid-template-columns:minmax(0,1fr);max-width:780px;margin:0 auto}.dx-toc,.dx-share{position:static}.dx-toc{display:none}.dx-share{flex-direction:row;flex-wrap:wrap;gap:16px}}
@media(max-width:1000px){.dx-hero-in,.dx-split,.dx-contact-in,.dx-about{grid-template-columns:1fr}.dx-hero-visual{max-width:520px;margin:0 auto;width:100%}.dx-grid-3,.dx-cases,.dx-plans{grid-template-columns:1fr 1fr}.dx-results{grid-template-columns:1fr 1fr}.dx-metrics{grid-template-columns:1fr 1fr}.dx-metrics>div:nth-child(2){border-right:0}.dx-metrics>div:nth-child(-n+2){border-bottom:1px solid var(--line)}.dx-plan.is-featured{transform:none}.dx-sticky{position:static}.dx-post.is-big{grid-template-columns:1fr}.dx-float-1{left:8px}.dx-float-2{right:8px}.dx-float-3{left:8px}}
@media(max-width:820px){.dx-nav{position:fixed;inset:82px 12px auto 12px;flex-direction:column;align-items:stretch;gap:4px;padding:12px;border-radius:22px;background:rgba(12,14,19,.97);border:1px solid var(--line-2);transform:translateY(-12px);opacity:0;pointer-events:none;transition:transform .25s,opacity .25s}.dx-nav.is-open{transform:none;opacity:1;pointer-events:auto}.dx-nav a{padding:14px 16px}.dx-nav-cta{display:block;text-align:center;background:var(--grad)!important;color:#120a05!important;font-weight:800!important;margin-top:6px}.dx-burger{display:flex}.dx-head-cta{display:none}
.dx-section{padding:76px 0}.dx-grid-3,.dx-cases,.dx-plans,.dx-quotes,.dx-form-grid,.dx-footer-grid{grid-template-columns:1fr}.dx-row{flex-direction:column;align-items:flex-start}.dx-search{min-width:0;width:100%}.dx-form{padding:22px}}
@media(prefers-reduced-motion:reduce){.dx-logo-track div,.dx-float,.dx-pill i{animation:none}.dx-reveal{opacity:1;transform:none}}

/* hero name + resume sections */
.dx-hero h1.dx-name{font-size:clamp(46px,6.4vw,92px);line-height:.98;margin:4px 0 14px}
.dx-role{margin:0 0 18px;font:700 clamp(20px,2vw,28px)/1.3 "Plus Jakarta Sans",sans-serif;color:var(--text)}
.dx-role em{font-style:normal}
.dx-exp{position:relative;display:grid;gap:14px;margin:0;padding:0;list-style:none}
.dx-exp:before{content:"";position:absolute;left:23px;top:8px;bottom:8px;width:2px;background:linear-gradient(var(--a1),transparent)}
.dx-exp li{position:relative;display:grid;grid-template-columns:48px 1fr;gap:18px}
.dx-exp li>i{position:relative;z-index:1;display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--card);border:2px solid var(--a1);font-style:normal;color:var(--a2);font-weight:800}
.dx-exp-card{padding:22px 24px;border-radius:var(--radius);background:var(--card);border:1px solid var(--line)}
.dx-exp-card small{color:var(--a2);font:700 12.5px "Plus Jakarta Sans";letter-spacing:.06em}.dx-exp-card h3{margin:6px 0 2px;font-size:19px}.dx-exp-card b{color:var(--muted);font-weight:600}.dx-exp-card p{margin:10px 0 0;color:var(--muted);font-size:15px}
.dx-skills{display:grid;grid-template-columns:1fr 1fr;gap:18px 34px}
.dx-skill{display:grid;gap:8px}.dx-skill div{display:flex;justify-content:space-between;font:700 15px "Plus Jakarta Sans"}.dx-skill div span{color:var(--muted);font-weight:600}
.dx-skill i{display:block;height:8px;border-radius:8px;background:rgba(255,255,255,.06);overflow:hidden}.dx-skill i b{display:block;height:100%;width:var(--w);border-radius:8px;background:var(--grad);transform-origin:left;transition:transform 1.2s cubic-bezier(.2,.8,.2,1)}
.dx-reveal:not(.is-in) .dx-skill i b{transform:scaleX(0)}
.dx-edu{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.dx-edu article{padding:26px;border-radius:var(--radius);background:var(--card);border:1px solid var(--line)}
.dx-edu small{display:inline-block;padding:5px 11px;border-radius:999px;background:color-mix(in srgb,var(--a2) 12%,transparent);color:var(--a2);font:700 12px "Plus Jakarta Sans"}
.dx-edu h3{margin:14px 0 4px;font-size:19px}.dx-edu b{color:var(--muted);font-weight:600}.dx-edu p{margin:10px 0 0;color:var(--muted);font-size:15px}
@media(max-width:820px){.dx-skills,.dx-edu{grid-template-columns:1fr}}
/* ===== v2.3 footer ===== */
.dx-footer-grid{grid-template-columns:1.5fr 1fr 1fr 1.2fr!important;gap:40px}
.dx-fcol nav{display:flex;flex-direction:column;gap:11px}
.dx-status{display:inline-flex;align-items:center;gap:9px;margin:4px 0 18px;padding:7px 13px;border-radius:999px;background:rgba(62,224,143,.08);border:1px solid rgba(62,224,143,.22);color:#9ff0c6;font-size:13px;font-weight:600}
.dx-status i{width:8px;height:8px;border-radius:50%;background:#3ee08f;box-shadow:0 0 0 4px rgba(62,224,143,.18);animation:dxPulse 2s infinite}
.dx-fcontact{display:block;padding:12px 14px;border-radius:14px;background:var(--card);border:1px solid var(--line);margin-bottom:10px;color:var(--text)!important;font-weight:600;font-size:14.5px;word-break:break-word}
.dx-fcontact small{display:block;color:var(--dim);font-size:11.5px;font-weight:500}
.dx-clock{padding:16px;border-radius:16px;background:linear-gradient(135deg,color-mix(in srgb,var(--a1) 14%,transparent),color-mix(in srgb,var(--a3) 10%,transparent));border:1px solid var(--line-2)}
.dx-clock small{display:block;color:var(--muted);font-size:11.5px;letter-spacing:.06em;text-transform:uppercase}
.dx-clock b{display:block;margin:4px 0 2px;font:800 30px/1.1 "Plus Jakarta Sans";font-variant-numeric:tabular-nums;letter-spacing:-.01em}
.dx-clock span{color:var(--muted)!important;font-size:13px}
.dx-footer-bottom{align-items:center}.dx-footer-bottom a{color:var(--a2)!important}
.dx-top{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;border:1px solid var(--line-2);color:var(--text)!important;font-size:18px;transition:transform .2s,border-color .2s}.dx-top:hover{transform:translateY(-3px);border-color:var(--a2)}
/* logos with images */
.dx-logo-track span,.dx-logo-track a{display:flex;align-items:center;height:44px;color:#4a5062;text-decoration:none}
.dx-logo-track img{height:38px;width:auto;max-width:150px;object-fit:contain;filter:grayscale(1) brightness(1.6) opacity(.55);transition:filter .3s}
.dx-logo-track span:hover img,.dx-logo-track a:hover img{filter:none}
.dx-logo-track b{font:800 24px "Plus Jakarta Sans";white-space:nowrap}
/* blog pagination */
.dx-chips a{padding:12px 18px;border-radius:999px;background:var(--card);border:1px solid var(--line);font:600 14px "Plus Jakarta Sans";text-decoration:none;color:var(--text);transition:border-color .2s}.dx-chips a:hover{border-color:var(--line-2)}
.dx-chips a i{font-style:normal;color:var(--dim);margin-left:4px}.dx-chips a.is-active{background:var(--grad);color:#120a05;border-color:transparent}.dx-chips a.is-active i{color:rgba(18,10,5,.6)}
form.dx-search{margin:0}
.dx-pagination{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:8px;margin-top:44px}
.dx-pagination a,.dx-pagination span{min-width:46px;height:46px;padding:0 16px;display:grid;place-items:center;border-radius:14px;border:1px solid var(--line);background:var(--card);text-decoration:none;font:700 14.5px "Plus Jakarta Sans"}
.dx-pagination a:hover{border-color:var(--a2);color:var(--a2)}.dx-pagination .is-current{background:var(--grad);color:#120a05;border-color:transparent}.dx-pagination .is-off{opacity:.35}.dx-pagination .dx-dots{border:0;background:none;min-width:20px;padding:0}
/* article: wide title + sidebar */
.dx-article-head{padding:50px 0 10px}.dx-article-head h1{max-width:20ch}
.dx-article-cover{margin:36px 0 0}
.dx-article-layout{display:grid!important;grid-template-columns:minmax(0,1fr) 340px!important;gap:56px!important;justify-content:stretch!important;padding:50px 0 40px!important;max-width:none!important}
.dx-article-main{min-width:0;max-width:780px}
.dx-sidebar{display:flex;flex-direction:column;gap:18px;position:sticky;top:104px;align-self:start}
.dx-side-card{padding:20px;border-radius:20px;background:var(--card);border:1px solid var(--line)}
.dx-side-card>b{display:block;margin-bottom:12px;font:700 12px "Plus Jakarta Sans";letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}
.dx-sidebar .dx-toc{position:static;display:flex}
.dx-ad small{display:block;margin-bottom:10px;color:var(--dim);font-size:11px;letter-spacing:.12em;text-transform:uppercase}.dx-ad img{width:100%;border-radius:14px}
.dx-mini-post{display:grid;grid-template-columns:76px 1fr;gap:12px;align-items:center;padding:10px 0;border-top:1px solid var(--line);text-decoration:none}.dx-mini-post:first-of-type{border-top:0;padding-top:0}
.dx-mini-post img,.dx-mini-post>span{width:76px;height:56px;border-radius:10px;object-fit:cover;background:#0d0f14}
.dx-mini-post small{display:block;color:var(--dim);font-size:11.5px}.dx-mini-post b{display:block;font:700 14px/1.35 "Plus Jakarta Sans";color:var(--text);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.dx-mini-post:hover b{color:var(--a2)}
.dx-share-end{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;margin:44px 0 10px;padding:22px 24px;border-radius:20px;background:var(--card);border:1px solid var(--line)}
.dx-share-end b{font:700 16px "Plus Jakarta Sans"}.dx-share-end div{display:flex;flex-wrap:wrap;gap:8px}
.dx-share-end a,.dx-share-end button{padding:10px 16px;border-radius:999px;border:1px solid var(--line-2);background:transparent;color:var(--text);font:600 13.5px "Plus Jakarta Sans";text-decoration:none;cursor:pointer;transition:border-color .2s,color .2s}
.dx-share-end a:hover,.dx-share-end button:hover{border-color:var(--a2);color:var(--a2)}
@media(max-width:1100px){.dx-article-layout{grid-template-columns:1fr!important}.dx-sidebar{position:static}.dx-article-main{max-width:none}.dx-footer-grid{grid-template-columns:1fr 1fr!important}}
@media(max-width:820px){.dx-footer-grid{grid-template-columns:1fr!important}.dx-footer-bottom{flex-direction:column;text-align:center}}
/* header always available while scrolling */
.dx .dx-header{position:sticky!important;top:0;z-index:60!important}
/* ===== v2.5.1 footer large wordmark (Admin → Menu & Footer → Large Wordmark; empty = hidden) ===== */
.dx-wordmark{position:relative;overflow:hidden;padding:10px 0 0;margin-top:10px;border-top:1px solid var(--line);user-select:none;pointer-events:none}
.dx-wordmark span{display:block;width:100%;text-align:center;white-space:nowrap;font:800 clamp(64px,15.5vw,250px)/.86 "Plus Jakarta Sans",sans-serif;letter-spacing:-.045em;text-transform:uppercase;
 color:transparent;-webkit-text-stroke:1.2px color-mix(in srgb,var(--a2) 55%,transparent);
 background:linear-gradient(180deg,color-mix(in srgb,var(--a1) 55%,transparent) 0%,color-mix(in srgb,var(--a2) 22%,transparent) 45%,transparent 92%);-webkit-background-clip:text;background-clip:text;
 transform:translateY(18%);opacity:.9;transition:transform 1.4s cubic-bezier(.2,.8,.2,1),opacity 1.4s}
.dx-wordmark:not(.is-in) span{transform:translateY(60%);opacity:0}
.dx-wordmark:after{content:"";position:absolute;left:0;right:0;bottom:0;height:45%;background:linear-gradient(transparent,var(--bg));pointer-events:none}

/* v2.6 hero particles */
.dx-hero{position:relative;overflow:hidden}
.dx-hero-particles{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}
.dx-hero>.dx-wrap{position:relative;z-index:1}
@media(prefers-reduced-motion:reduce){.dx-hero-particles{display:none}}
/* v2.7 article: TOC left · content · latest + most read right */
.dx-article-layout{grid-template-columns:250px minmax(0,1fr) 320px!important;gap:44px!important;align-items:start}
.dx-article-main{max-width:760px;margin:0 auto;width:100%}
.dx-left{position:sticky;top:104px;align-self:start}
.dx-left .dx-toc{display:block;padding:18px}
.dx-toc summary{display:flex;justify-content:space-between;align-items:baseline;gap:10px;list-style:none;cursor:pointer;margin-bottom:12px}.dx-toc summary::-webkit-details-marker{display:none}
.dx-toc summary b{font:700 12px "Plus Jakarta Sans";letter-spacing:.14em;text-transform:uppercase;color:var(--text)}.dx-toc summary span{font-size:11.5px;color:var(--dim)}
.dx-toc nav{display:flex;flex-direction:column;gap:2px;max-height:calc(100vh - 230px);overflow:auto;scrollbar-width:thin}
.dx-toc nav a{font-size:13.5px;line-height:1.45;padding:7px 0 7px 12px}
.dx-progress{height:3px;margin-top:14px;border-radius:3px;background:rgba(255,255,255,.07);overflow:hidden}.dx-progress i{display:block;height:100%;width:0;background:var(--grad);transition:width .1s linear}
.dx-side-head{margin-bottom:12px}.dx-side-head b{display:block;font:800 16px "Plus Jakarta Sans";color:var(--text)}.dx-side-head span{font-size:12px;color:var(--dim)}
.dx-mini-post small{display:flex;align-items:center;gap:7px}
.dx-rank{font-style:normal;font:800 12px "Plus Jakarta Sans";padding:2px 7px;border-radius:999px;background:var(--grad);color:#120a05}
.dx-popular .dx-mini-post:first-of-type b{color:var(--a2)}
@media(max-width:1280px){.dx-article-layout{grid-template-columns:minmax(0,1fr) 320px!important}.dx-left{position:static;grid-column:1/-1}.dx-left .dx-toc nav{max-height:none}.dx-left .dx-toc:not([open]){padding-bottom:4px}.dx-progress{display:none}}
@media(max-width:1100px){.dx-article-layout{grid-template-columns:1fr!important}}
/* ===== v2.8 cleaner single article ===== */
.dx-article-head h1{max-width:30ch!important;font-size:clamp(34px,4.2vw,56px)!important;line-height:1.12!important;margin:18px 0 24px!important}
.dx-article-head .dx-author{margin-top:0}
.dx-article-layout{gap:56px!important}
/* TOC + sidebar: no boxes, just quiet lists */
.dx-left .dx-toc,.dx-sidebar .dx-side-card{padding:0!important;background:none!important;border:0!important;border-radius:0!important}
.dx-sidebar{gap:34px!important}
.dx-toc summary{margin-bottom:10px!important}
.dx-toc summary b,.dx-side-head b{font:700 11px/1 "Plus Jakarta Sans",sans-serif!important;letter-spacing:.16em!important;text-transform:uppercase;color:var(--dim)!important}
.dx-toc summary span{display:none}
.dx-toc nav a{font-size:13.5px!important;padding:6px 0 6px 12px!important}
.dx-side-head{margin-bottom:6px!important;padding-bottom:10px;border-bottom:1px solid var(--line)}
.dx-side-head span{display:none}
.dx-side-list .dx-mini-post{display:block!important;padding:12px 0!important;border-top:0!important;border-bottom:1px solid var(--line);text-decoration:none}
.dx-side-list .dx-mini-post:last-child{border-bottom:0}
.dx-side-list .dx-mini-post b{display:-webkit-box!important;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font:600 14px/1.45 "Plus Jakarta Sans",sans-serif!important;color:var(--text)!important;transition:color .2s}
.dx-side-list .dx-mini-post small{display:block!important;margin-top:4px;font-size:11.5px;color:var(--dim)}
.dx-side-list .dx-mini-post:hover b{color:var(--a2)!important}
.dx-mini-rank{display:grid!important;grid-template-columns:28px 1fr;gap:10px;align-items:start}
.dx-mini-rank>i{font-style:normal;font:700 13px/1.45 "Plus Jakarta Sans",sans-serif;color:var(--a2);opacity:.9}
.dx-popular .dx-mini-post:first-of-type b{color:var(--text)!important}
.dx-ad{padding:0!important}.dx-ad small{margin-bottom:8px}
.dx-share-end{background:none!important;border:0!important;border-top:1px solid var(--line)!important;border-bottom:1px solid var(--line)!important;border-radius:0!important;padding:22px 0!important}
.dx-author-card{background:none!important;border:0!important;border-radius:0!important;padding:28px 0 0!important}
/* ===== v2.8.1 article: wider reading column, slim "Latest" sidebar with thumbnails ===== */
.dx-article-layout{grid-template-columns:220px minmax(0,1fr) 270px!important;gap:52px!important}
.dx-article-main{max-width:820px!important}
.dx-side-list .dx-mini-thumb{display:grid!important;grid-template-columns:64px minmax(0,1fr);gap:12px;align-items:center;padding:11px 0!important}
.dx-mini-thumb img,.dx-mini-ph{width:64px;height:46px;border-radius:9px;object-fit:cover;background:var(--card);display:block}
.dx-mini-thumb b{font-size:13.5px!important;line-height:1.4!important}
.dx-mini-thumb small{margin-top:3px!important;font-size:11px!important}
@media(max-width:1280px){.dx-article-layout{grid-template-columns:minmax(0,1fr) 270px!important}}
@media(max-width:1100px){.dx-article-layout{grid-template-columns:1fr!important}}
/* v2.8.2: text column of Latest items must use the full width; full titles, no truncation */
.dx-side-list .dx-mini-thumb>span:not(.dx-mini-ph){display:block!important;width:auto!important;height:auto!important;min-width:0;background:none!important;border-radius:0!important;object-fit:initial}
.dx-side-list .dx-mini-thumb b{display:block!important;-webkit-line-clamp:unset!important;overflow:visible!important;white-space:normal!important;word-break:normal;overflow-wrap:anywhere}
.dx-side-list .dx-mini-thumb{align-items:start!important}
.dx-mini-thumb img,.dx-mini-ph{margin-top:2px}

/* =====================================================================
   CEO theme v2 — monochrome, cinematic (inspired by soummosupriya.com)
   ===================================================================== */
:root{--bg:#000;--bg-2:#070707;--card:#0b0b0b;--card-2:#121212;--line:rgba(255,255,255,.1);--line-2:rgba(255,255,255,.2);--text:#f5f5f3;--muted:#9b9b98;--dim:#5f5f5c;--a1:#ffffff;--a2:#d9d9d6;--a3:#8a8a8a;--grad:linear-gradient(120deg,var(--a1),var(--a2));--fd:"Anton","Bebas Neue",Impact,sans-serif;--fh:"Inter Tight",Inter,system-ui,sans-serif;--fm:"JetBrains Mono",ui-monospace,monospace}
body.ceo{background:#000;color:var(--text);font-family:Inter,system-ui,sans-serif}
.ceo h3,.ceo h4{font-family:var(--fh)}
.ceo em{font-style:normal;background:none;-webkit-text-fill-color:currentColor;color:inherit}
.ceo .dx-btn{border-radius:0;background:var(--text);color:#000!important;box-shadow:none;font-family:var(--fm)!important;font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;padding:16px 26px}
.ceo .dx-btn:hover{background:#fff;transform:none;box-shadow:none}
.ceo .dx-btn-ghost{background:transparent;color:var(--text)!important;border:1px solid var(--line-2)}
.ceo .dx-btn-ghost:hover{background:var(--text);color:#000!important}
/* header: transparent over the video, nav with text-roll hover */
.ceo .dx-header{position:fixed!important;left:0;right:0;top:0;background:transparent!important;border:0!important;mix-blend-mode:difference}
.ceo .dx-header.is-scrolled{background:transparent!important;backdrop-filter:none!important;box-shadow:none!important}
.ceo .dx-header-in{height:86px;width:min(1440px,calc(100% - 48px))}
.ceo .dx-brand img{height:34px;filter:brightness(0) invert(1)}
.ceo .dx-nav{background:none!important;border:0!important;gap:34px;padding:0}
.ceo .dx-nav a{padding:0!important;background:none!important;color:#fff!important;font:500 13px/1 var(--fm)!important;letter-spacing:.18em;text-transform:uppercase}
.ceo-roll{position:relative;display:inline-block;overflow:hidden;line-height:1.25;vertical-align:top}
.ceo-roll:after{content:attr(data-t);position:absolute;left:0;top:100%}
.ceo-roll,.ceo-roll:after{transition:transform .45s cubic-bezier(.7,0,.2,1)}
.ceo .dx-nav a:hover .ceo-roll{transform:translateY(-100%)}
.ceo .dx-head-cta{display:none}
.ceo .dx-burger{border-color:rgba(255,255,255,.4);background:transparent}.ceo .dx-burger span{background:#fff}
/* preloader */
.ceo-loader{position:fixed;inset:0;z-index:300;background:#000;transition:clip-path 1s cubic-bezier(.77,0,.18,1);clip-path:inset(0 0 0 0)}
.ceo-loader>div{position:absolute;left:4vw;right:4vw;bottom:5vh;display:flex;justify-content:space-between;align-items:flex-end}
.ceo-loader span{font:500 13px var(--fm);letter-spacing:.22em;text-transform:uppercase;color:var(--muted)}
.ceo-loader b{font:400 clamp(90px,18vw,280px)/.8 var(--fd);color:#fff;font-variant-numeric:tabular-nums;order:2}
.ceo-loader i{display:none}
.ceo-loader em{position:absolute;left:0;right:0;top:0;height:1px;background:rgba(255,255,255,.08)}.ceo-loader em i{display:block;height:100%;width:0;background:#fff}
.ceo-loader.is-done{clip-path:inset(0 0 100% 0)}
/* hero */
.ceo-hero{position:relative;min-height:100svh;margin:0;padding:0;display:flex;align-items:flex-end;overflow:hidden;background:#000}
.ceo-hero-video,.ceo-neural{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.05)}
.ceo-hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.35),rgba(0,0,0,0) 30%,rgba(0,0,0,.15) 55%,rgba(0,0,0,.92))}
.ceo-hero-in{position:relative;z-index:2;width:min(1440px,calc(100% - 48px));margin:0 auto;padding:0 0 40px}
.ceo-hello{margin:0 0 10px;font:500 14px var(--fm);letter-spacing:.2em;text-transform:uppercase;color:#d6d6d3}.ceo-hello span{color:#fff}
.ceo-headline{margin:0;display:flex;flex-wrap:wrap;column-gap:.22em;font:400 clamp(70px,13.6vw,250px)/.82 var(--fd)!important;letter-spacing:-.005em!important;text-transform:uppercase;color:#fff}
.ceo-line{display:block;overflow:hidden}
.ceo-line>span{display:inline-block;transform:translateY(105%);transition:transform 1.2s cubic-bezier(.16,1,.3,1);transition-delay:calc(var(--i)*.08s + .05s)}
html.ceo-ready .ceo-line>span{transform:none}
.ceo-hero-foot{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:26px;padding-top:18px;border-top:1px solid rgba(255,255,255,.18);font:500 12px var(--fm);letter-spacing:.18em;text-transform:uppercase;color:#cfcfcc}
.ceo-hero-foot p{margin:0;max-width:52ch;text-transform:none;letter-spacing:0;font:400 15px Inter,sans-serif;color:#bdbdba}
.ceo-scroll{display:inline-flex;align-items:center;gap:12px;color:#fff;text-decoration:none}
.ceo-scroll i{width:1px;height:34px;background:linear-gradient(#fff,transparent);animation:ceoDrop 1.8s ease-in-out infinite}
@keyframes ceoDrop{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}
.ceo-sound{position:absolute;z-index:3;right:24px;top:100px;display:inline-flex;align-items:center;gap:3px;padding:10px 14px;border:1px solid rgba(255,255,255,.3);background:rgba(0,0,0,.25);color:#fff;cursor:pointer;font:500 11px var(--fm);letter-spacing:.18em;text-transform:uppercase}
.ceo-sound i{display:block;width:2px;height:10px;background:currentColor;transform-origin:bottom;transform:scaleY(.3)}.ceo-sound span{margin-left:10px}
.ceo-sound[aria-pressed="true"] i{animation:ceoEq .9s ease-in-out infinite}.ceo-sound i:nth-child(2){animation-delay:.15s}.ceo-sound i:nth-child(3){animation-delay:.3s}.ceo-sound i:nth-child(4){animation-delay:.45s}
@keyframes ceoEq{50%{transform:scaleY(1)}}
/* shared section styles */
.ceo-section{position:relative;padding:140px 0}
.ceo .dx-wrap{width:min(1440px,calc(100% - 48px))}
.ceo-alt{background:#050505;border-block:1px solid var(--line)}
.ceo-label{display:inline-flex;align-items:center;gap:12px;font:500 12px/1 var(--fm);letter-spacing:.22em;text-transform:uppercase;color:var(--muted)}
.ceo-label:before{content:"(";color:var(--dim)}.ceo-label:after{content:")";color:var(--dim)}
.ceo-head{max-width:none;margin-bottom:60px;display:grid;grid-template-columns:260px 1fr;gap:30px;align-items:start}
.ceo-head-split{display:grid;grid-template-columns:260px minmax(0,1fr);gap:22px 30px;align-items:start}.ceo-head-split>div{display:contents}.ceo-head-split p,.ceo-head-split>.dx-btn{grid-column:2;justify-self:start;max-width:52ch;color:var(--muted);margin:6px 0 0}
.ceo-h2{margin:0!important;font:400 clamp(48px,7vw,120px)/.88 var(--fd)!important;letter-spacing:0!important;text-transform:uppercase;color:#fff}
.ceo-big{margin:20px 0 60px;font:400 clamp(90px,17vw,300px)/.8 var(--fd)!important;letter-spacing:0!important;text-transform:uppercase}
/* companies */
.ceo-logos{padding:40px 0;border-bottom:1px solid var(--line)}.ceo-logos p{margin:0 0 18px;text-align:center;font:500 11.5px var(--fm);letter-spacing:.22em;text-transform:uppercase;color:var(--dim)}
.ceo-marquee{overflow:hidden;mask:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}.ceo-marquee>div{display:flex;gap:80px;width:max-content;animation:dxMarquee 40s linear infinite}
.ceo-marquee span,.ceo-marquee a{display:flex;align-items:center;height:42px;text-decoration:none}.ceo-marquee b{font:400 30px var(--fd);color:#4b4b49;white-space:nowrap;text-transform:uppercase}.ceo-marquee img{height:34px;width:auto;max-width:150px;object-fit:contain;filter:grayscale(1) brightness(1.8) opacity(.45)}
/* about */
.ceo-about .dx-wrap{position:relative}
.ceo-about .ceo-label{margin-bottom:40px}
.ceo-statement{position:relative;z-index:2;margin:0 auto;max-width:18ch;text-align:center;font:400 clamp(44px,6.4vw,112px)/.95 var(--fd);text-transform:uppercase;letter-spacing:0}
.ceo-statement span{color:rgba(245,245,243,.14);transition:color .45s}.ceo-statement span.is-lit{color:#fff}
.ceo-about-media{position:absolute;inset:0;pointer-events:none;height:auto}
.ceo-float{position:absolute;margin:0;overflow:hidden;border:0;border-radius:0;box-shadow:none}.ceo-float img{display:block;width:100%;height:100%;object-fit:cover;filter:grayscale(1)}
.ceo-float-a{left:0;top:-40px;width:min(19vw,260px);aspect-ratio:3/4;opacity:.85}
.ceo-float-b{right:0;bottom:-120px;top:auto;width:min(17vw,230px);aspect-ratio:3/4;opacity:.85}
.ceo-stats{display:grid;grid-template-columns:repeat(4,1fr);margin-top:150px;border-top:1px solid var(--line)}
.ceo-stats>div{padding:26px 20px 0 0}.ceo-stats strong{display:block;font:400 clamp(54px,6vw,96px)/.9 var(--fd)}.ceo-stats span{display:block;margin-top:10px;font:500 11.5px var(--fm);letter-spacing:.16em;text-transform:uppercase;color:var(--dim)}
/* what I do */
.ceo-pillars{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.ceo-pillars li{position:relative;display:grid;grid-template-columns:90px minmax(0,1.3fr) minmax(0,1fr) 40px;gap:24px;align-items:center;padding:26px 0;border-bottom:1px solid var(--line);overflow:hidden;cursor:default}
.ceo-pillars li:before{content:"";position:absolute;inset:0;background:#fff;transform:scaleY(0);transform-origin:bottom;transition:transform .5s cubic-bezier(.7,0,.2,1);z-index:0}
.ceo-pillars li>*{position:relative;z-index:1;transition:color .35s}
.ceo-pillars li:hover:before{transform:scaleY(1)}.ceo-pillars li:hover>*{color:#000!important}
.ceo-pillar-no{font:500 12px var(--fm);color:var(--dim)}
.ceo-pillars h3{margin:0;font:400 clamp(60px,9vw,150px)/.85 var(--fd)!important;letter-spacing:0!important;text-transform:uppercase}
.ceo-pillars p{margin:0;color:var(--muted);max-width:40ch;font-size:16px}
.ceo-pillars li>i{font-style:normal;font-size:24px;color:var(--dim);transition:transform .35s}.ceo-pillars li:hover>i{transform:rotate(45deg)}
/* history */
.ceo-timeline{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.ceo-timeline li{display:grid;grid-template-columns:260px minmax(0,1fr) minmax(0,1fr);gap:30px;align-items:baseline;padding:34px 0;border-bottom:1px solid var(--line);transition:padding .4s cubic-bezier(.2,.8,.2,1)}
.ceo-timeline li:hover{padding-left:16px}
.ceo-year{font:400 clamp(28px,2.6vw,40px)/1 var(--fd);color:#fff;letter-spacing:.02em}
.ceo-timeline h3{margin:0 0 8px;font:400 clamp(32px,3.4vw,54px)/.95 var(--fd)!important;letter-spacing:0!important;text-transform:uppercase}
.ceo-timeline p{margin:0;font:500 12.5px var(--fm);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.ceo-timeline p i{font-style:normal;color:var(--dim);margin:0 8px}
.ceo-job-detail{font:400 15px Inter,sans-serif!important;letter-spacing:0!important;text-transform:none!important}
/* clients / approach + services */
.ceo-cards,.ceo-services{display:grid;grid-template-columns:repeat(3,1fr);gap:0;background:none;border:0;border-top:1px solid var(--line);border-radius:0}
.ceo-card,.ceo-service{padding:40px 34px 46px 0;margin-right:34px;background:none;border-right:1px solid var(--line);text-decoration:none}
.ceo-card:last-child,.ceo-service:last-child{border-right:0;margin-right:0}
.ceo-card:hover,.ceo-service:hover{background:none}
.ceo-card>span,.ceo-service>span{font:400 64px/1 var(--fd);color:#2a2a29}
.ceo-card h3,.ceo-service h3{margin:40px 0 14px;font:400 40px/1 var(--fd)!important;letter-spacing:0!important;text-transform:uppercase}
.ceo-card p,.ceo-service p{margin:0;color:var(--muted);font-size:15.5px;max-width:34ch}
.ceo-service b{display:inline-block;margin-top:26px;font:500 12px var(--fm);letter-spacing:.16em;text-transform:uppercase;color:#fff}
/* showreel */
.ceo-showreel{position:relative;padding:120px 0 140px;overflow:hidden}
.ceo-showreel-head{margin-bottom:46px}
.ceo-reel{position:relative;width:min(1440px,calc(100% - 48px));margin:0 auto;aspect-ratio:16/9;overflow:hidden;background:#0b0b0b;transform-origin:50% 50%;will-change:transform,clip-path;clip-path:inset(0 var(--ci,12%) round var(--cr,28px));cursor:pointer}
.ceo-reel video{width:100%;height:100%;object-fit:cover;filter:grayscale(1)}
.ceo-reel:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 50%,transparent 40%,rgba(0,0,0,.45))}
.ceo-reel-play{position:absolute;z-index:2;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;gap:10px;width:150px;height:150px;border-radius:50%;border:1px solid rgba(255,255,255,.55);background:rgba(0,0,0,.25);backdrop-filter:blur(6px);color:#fff;cursor:pointer;transition:transform .4s cubic-bezier(.2,.8,.2,1),background .3s}
.ceo-reel-play i{font-style:normal;font-size:24px;margin-left:4px}.ceo-reel-play span{position:absolute;bottom:-34px;white-space:nowrap;font:500 11.5px var(--fm);letter-spacing:.2em;text-transform:uppercase}
.ceo-reel:hover .ceo-reel-play{transform:translate(-50%,-50%) scale(1.08);background:#fff;color:#000}
.ceo-reel-time{position:absolute;z-index:2;right:22px;bottom:18px;font:500 12px var(--fm);letter-spacing:.14em;color:#fff}
.ceo-reel-modal{position:fixed;inset:0;z-index:400;display:grid;place-items:center;background:rgba(0,0,0,.94)}
.ceo-reel-modal[hidden]{display:none}
.ceo-reel-modal video{width:min(1200px,94vw);max-height:84vh;background:#000}
.ceo-reel-close{position:absolute;right:24px;top:22px;width:52px;height:52px;border-radius:50%;border:1px solid rgba(255,255,255,.35);background:none;color:#fff;font-size:18px;cursor:pointer}
/* testimonials */
.ceo-testimonials .ceo-head{margin-bottom:30px}
.ceo-slider{position:relative;padding:40px 0 0;border-top:1px solid var(--line)}
.ceo-qmark{position:absolute;right:0;top:10px;font:400 260px/.8 var(--fd);color:#1a1a19;pointer-events:none}
.ceo-slides{position:relative;min-height:320px}
.ceo-quote{position:absolute;inset:0;margin:0;opacity:0;transform:translateY(30px);transition:opacity .7s,transform .8s cubic-bezier(.2,.8,.2,1);pointer-events:none}
.ceo-quote.is-active{position:relative;opacity:1;transform:none;pointer-events:auto}
.ceo-quote blockquote{margin:0;max-width:20ch;font:400 clamp(44px,5.6vw,96px)/.95 var(--fd);text-transform:uppercase}
.ceo-quote figcaption{display:flex;flex-wrap:wrap;gap:6px 16px;align-items:baseline;margin-top:34px;font:500 12px var(--fm);letter-spacing:.14em;text-transform:uppercase}
.ceo-quote b{font:500 13px var(--fm)!important;letter-spacing:.14em;color:#fff}.ceo-quote span{color:var(--muted)}
.ceo-thumbs{display:flex;gap:14px;margin-top:46px}
.ceo-thumbs button{position:relative;width:62px;height:62px;padding:0;border-radius:50%;border:1px solid var(--line-2);background:#0e0e0e;overflow:hidden;cursor:pointer;opacity:.4;filter:grayscale(1);transition:opacity .3s,transform .3s}
.ceo-thumbs button.is-active{opacity:1;transform:scale(1.06);border-color:#fff}
.ceo-thumbs img{width:100%;height:100%;object-fit:cover}.ceo-thumbs span{font:400 22px var(--fd);color:#fff}
.ceo-thumbs button.is-active:after{content:"";position:absolute;inset:-5px;border-radius:50%;border:1px solid transparent;border-top-color:#fff;animation:ceoSpin 6s linear}
@keyframes ceoSpin{to{transform:rotate(360deg)}}
/* motto */
.ceo-motto{position:relative;overflow:hidden;min-height:100svh;display:flex;align-items:center;padding:140px 0;text-align:center;border:0;background:#000}
.ceo-motto-bg{position:absolute;inset:-12% 0;background-size:cover;background-position:center 20%;opacity:.42;filter:grayscale(1)}
.ceo-motto:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 50%,rgba(0,0,0,.2),#000 75%)}
.ceo-motto .dx-wrap{position:relative;z-index:1}.ceo-motto .ceo-label{justify-content:center}
.ceo-motto blockquote{margin:30px auto 0;max-width:15ch;font:400 clamp(56px,8.4vw,150px)/.88 var(--fd);text-transform:uppercase}
.ceo-motto cite{display:block;margin-top:30px;font:500 12px var(--fm);font-style:normal;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
/* connect */
.ceo-contact .ceo-label{display:flex}
.ceo-contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;align-items:start}
.ceo-contact-info p{color:var(--muted);margin:0 0 28px;font-size:17px;max-width:40ch}
.ceo-contact-line{display:block;padding:22px 0;border-top:1px solid var(--line);text-decoration:none;font:400 clamp(28px,2.8vw,44px)/1 var(--fd);letter-spacing:.01em;color:#fff!important;transition:padding .35s,color .25s}
.ceo-contact-line:hover{padding-left:12px}.ceo-contact-line small{display:block;margin-bottom:10px;font:500 11px var(--fm);letter-spacing:.2em;text-transform:uppercase;color:var(--dim)}
.ceo-socials{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line)}
.ceo-socials a{padding:18px 0;border-bottom:1px solid var(--line);font:500 12.5px var(--fm);letter-spacing:.16em;text-transform:uppercase;color:#fff;text-decoration:none}
.ceo-socials a:hover{color:var(--muted)}
.ceo .dx-form{background:#080808;border:1px solid var(--line);border-radius:0;box-shadow:none}
.ceo .dx-form input,.ceo .dx-form select,.ceo .dx-form textarea{background:#000;border-radius:0;border-color:var(--line-2)}
.ceo .dx-form input:focus,.ceo .dx-form select:focus,.ceo .dx-form textarea:focus{border-color:#fff;box-shadow:none}
.ceo .dx-form-done b{background:#fff;color:#000}
/* footer */
.ceo .dx-footer{background:#000;border-top:1px solid var(--line)}
.ceo .dx-footer-cta h2{font:400 clamp(48px,6vw,96px)/.9 var(--fd)!important;text-transform:uppercase}
.ceo .dx-wordmark span{font:400 clamp(80px,19vw,330px)/.8 var(--fd)!important;letter-spacing:0!important;color:#fff!important;-webkit-text-stroke:0!important;background:none!important;-webkit-background-clip:initial!important;opacity:1}
.ceo .dx-wordmark:after{display:none}
.ceo .dx-clock{background:none;border:0;padding:0}.ceo .dx-clock b{font:400 44px var(--fd)}
.ceo .dx-status{background:none;border-color:var(--line-2);color:#d6d6d3}.ceo .dx-status i{background:#fff;box-shadow:0 0 0 4px rgba(255,255,255,.15)}
.ceo .dx-fcontact{background:none;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:12px 0}
.ceo .dx-socials a{border-radius:0}
.ceo .dx-footer-bottom a,.ceo .dx-link{color:#fff!important}
/* blog / article in monochrome */
.ceo .dx-page-hero h1{font:400 clamp(70px,10vw,170px)/.85 var(--fd)!important;text-transform:uppercase;letter-spacing:0!important}
.ceo .dx-page-hero{padding-top:150px}
.ceo .dx-article-head{padding-top:130px}
.ceo .dx-article-head h1{font:400 clamp(48px,6vw,96px)/.92 var(--fd)!important;text-transform:uppercase;letter-spacing:0!important;max-width:22ch!important}
.ceo .dx-tag{background:none;border:1px solid var(--line-2);color:#fff;font-family:var(--fm);border-radius:0;letter-spacing:.12em}
.ceo .dx-post{border-radius:0;background:#060606}.ceo .dx-post-img img{filter:grayscale(1);transition:filter .5s,transform .5s}.ceo .dx-post:hover .dx-post-img img{filter:none}
.ceo .dx-post h3{font:400 28px/1 var(--fd)!important;text-transform:uppercase;letter-spacing:.01em!important}
.ceo .dx-post b{color:#fff}
.ceo .dx-chips a{border-radius:0}.ceo .dx-chips a.is-active{background:#fff;color:#000}
.ceo .dx-pagination a,.ceo .dx-pagination span{border-radius:0}.ceo .dx-pagination .is-current{background:#fff;color:#000}
.ceo .dx-search{border-radius:0}
.ceo .dx-prose h2,.ceo .dx-prose h3{font-family:var(--fd)!important;font-weight:400;text-transform:uppercase;letter-spacing:.01em}
.ceo .dx-prose h2{font-size:44px}.ceo .dx-prose h3{font-size:32px}
.ceo .dx-toc a:hover,.ceo .dx-toc a.is-active{color:#fff;border-color:#fff}
.ceo .dx-progress i{background:#fff}
.ceo .dx-mini-thumb img{filter:grayscale(1)}
.ceo .dx-page-hero h1 em,.ceo .dx-page-hero em{color:var(--muted)}
.ceo .dx-steps li>b{background:#fff;color:#000;border-radius:0}
.ceo .dx-checks li:before{background:none;border:1px solid var(--line-2);color:#fff}
/* responsive */
@media(max-width:1000px){.ceo-head,.ceo-head-split{grid-template-columns:1fr;gap:16px}.ceo-head-split p,.ceo-head-split>.dx-btn{grid-column:auto}.ceo-cards,.ceo-services{grid-template-columns:1fr}.ceo-card,.ceo-service{border-right:0;margin-right:0;border-bottom:1px solid var(--line);padding-right:0}.ceo-pillars li{grid-template-columns:50px 1fr 30px}.ceo-pillars p{grid-column:2/-1}.ceo-timeline li{grid-template-columns:1fr;gap:8px}.ceo-contact-grid{grid-template-columns:1fr}.ceo-stats{grid-template-columns:1fr 1fr}.ceo-float{display:none}.ceo-socials{grid-template-columns:1fr 1fr}.ceo-reel{clip-path:none!important}}
@media(max-width:820px){.ceo .dx-header{mix-blend-mode:normal}.ceo .dx-nav{background:rgba(0,0,0,.96)!important;border:1px solid var(--line-2)!important;border-radius:0;padding:12px!important}.ceo .dx-nav a{padding:16px!important}.ceo .dx-nav-cta{background:#fff!important;color:#000!important}}
@media(max-width:700px){.ceo-section{padding:90px 0}.ceo-hero-foot{flex-direction:column;align-items:flex-start}.ceo-headline{font-size:20vw!important}.ceo-showreel{padding:80px 0}.ceo-reel-play{width:110px;height:110px}.ceo-slides{min-height:400px}.ceo-motto{min-height:auto;padding:120px 0}}
@media(prefers-reduced-motion:reduce){.ceo-line>span{transform:none;transition:none}.ceo-marquee>div{animation:none}.ceo-loader{display:none}}

/* =====================================================================
   CEO v3 — orange accent + cursor-reveal lens (inspired by minhpham.design)
   ===================================================================== */
:root{--accent:#ff5b1f}
/* film grain for a richer black */
body.ceo:after{content:"";position:fixed;inset:-50%;z-index:250;pointer-events:none;opacity:.07;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");animation:ceoGrain 1.2s steps(6) infinite}
@keyframes ceoGrain{0%{transform:translate(0,0)}20%{transform:translate(-3%,2%)}40%{transform:translate(2%,-3%)}60%{transform:translate(-2%,-1%)}80%{transform:translate(3%,3%)}100%{transform:translate(0,0)}}
/* reveal lens */
.rv{position:relative}
.rv-alt{position:absolute;inset:-160px;padding:160px;box-sizing:border-box;z-index:3;pointer-events:none;background:var(--accent);color:#0a0a0a!important;clip-path:circle(0px at 50% 50%);will-change:clip-path;font:inherit;letter-spacing:inherit;text-transform:inherit;text-align:inherit;line-height:inherit;white-space:normal}
.ceo-headline .rv-alt{display:flex;flex-wrap:wrap;column-gap:.22em;align-content:flex-start}
.ceo-headline .rv-alt .ceo-line>span{transform:none!important;color:#0a0a0a}
.ceo-statement .rv-alt{color:#0a0a0a!important;display:block}
.ceo-statement>span.rv-alt{transition:none}
.ceo-pillars h3 .rv-alt{display:block}
.ceo-quote blockquote .rv-alt,.ceo-motto blockquote .rv-alt{display:block}
/* the orange dot cursor (desktop only) */
.ceo-cursor{position:fixed;left:0;top:0;z-index:260;width:18px;height:18px;margin:-9px 0 0 -9px;border-radius:50%;background:var(--accent);pointer-events:none;transform:translate3d(-100px,-100px,0) scale(1);transition:opacity .25s,width .3s,height .3s,margin .3s;opacity:0;mix-blend-mode:normal}
.ceo-cursor.is-on{opacity:1}.ceo-cursor.is-lens{opacity:0}
.ceo-cursor.is-link{width:54px;height:54px;margin:-27px 0 0 -27px;background:transparent;border:1px solid var(--accent)}
@media(hover:none),(pointer:coarse){.ceo-cursor{display:none}}
/* orange hover language */
.ceo .dx-nav a:hover{color:var(--accent)!important}
.ceo .dx-header .dx-nav a:hover .ceo-roll:after{color:var(--accent)}
.ceo .dx-btn:hover{background:var(--accent)!important;color:#0a0a0a!important}
.ceo .dx-btn-ghost:hover{background:var(--accent)!important;border-color:var(--accent)!important;color:#0a0a0a!important}
.ceo-label{color:var(--accent)}.ceo-label:before,.ceo-label:after{color:rgba(255,91,31,.5)}
.ceo-hello span{color:var(--accent)}
.ceo-pillars li:before{background:var(--accent)}
.ceo-timeline li:hover .ceo-year{color:var(--accent)}
.ceo-timeline li:hover{background:linear-gradient(90deg,rgba(255,91,31,.07),transparent 60%)}
.ceo-card:hover>span,.ceo-service:hover>span{color:var(--accent)}
.ceo-card>span,.ceo-service>span{transition:color .35s}
.ceo-service:hover h3{color:var(--accent)}.ceo-service h3{transition:color .3s}
.ceo-service b{color:var(--accent)}
.ceo-reel:hover .ceo-reel-play{background:var(--accent);border-color:var(--accent);color:#0a0a0a}
.ceo-thumbs button.is-active{border-color:var(--accent)}.ceo-thumbs button.is-active:after{border-top-color:var(--accent)}
.ceo-qmark{color:rgba(255,91,31,.16)}
.ceo-contact-line:hover{color:var(--accent)!important}
.ceo-socials a:hover{color:var(--accent)}
.ceo-stats strong{transition:color .3s}.ceo-stats>div:hover strong{color:var(--accent)}
.ceo .dx-form input:focus,.ceo .dx-form select:focus,.ceo .dx-form textarea:focus{border-color:var(--accent)}
.ceo .dx-form-done b{background:var(--accent)}
.ceo .dx-footer a:hover,.ceo .dx-footer-bottom a{color:var(--accent)!important}
.ceo .dx-wordmark span{transition:color .4s}.ceo .dx-wordmark:hover span{color:var(--accent)!important}
.ceo .dx-wordmark{pointer-events:auto}
.ceo .dx-post:hover h3{color:var(--accent)}.ceo .dx-post h3{transition:color .3s}
.ceo .dx-chips a.is-active,.ceo .dx-pagination .is-current{background:var(--accent);color:#0a0a0a}
.ceo .dx-toc a:hover,.ceo .dx-toc a.is-active{color:var(--accent);border-color:var(--accent)}
.ceo .dx-progress i{background:var(--accent)}
.ceo .dx-mini-post:hover b{color:var(--accent)!important}
.ceo .dx-prose a{color:var(--accent)}
.ceo ::selection{background:var(--accent);color:#000}
.ceo-loader em i{background:var(--accent)}
.ceo-scroll i{background:linear-gradient(var(--accent),transparent)}
.ceo-sound[aria-pressed="true"]{border-color:var(--accent);color:var(--accent)}
@media(prefers-reduced-motion:reduce){body.ceo:after{animation:none}.rv-alt{display:none}}

/* =====================================================================
   CEO v3.1 — calmer scale, stacked headings, minhpham-style testimonials
   ===================================================================== */
/* label above title (not side by side) */
.ceo-head,.ceo-head-split{display:block!important;max-width:980px;margin-bottom:56px}
.ceo-head .ceo-label,.ceo-head-split .ceo-label{display:flex;margin-bottom:22px}
.ceo-head-split>div{display:block!important}
.ceo-head-split p{max-width:56ch;margin:22px 0 0!important;color:var(--muted);font-size:17px}
.ceo-head-split>.dx-btn{margin-top:26px}
/* calmer type scale */
.ceo-headline{font-size:clamp(52px,8.4vw,150px)!important;line-height:.86!important;max-width:11.5em}
.ceo-hello{margin-bottom:18px}
.ceo-hero-in{padding-bottom:46px}
.ceo-h2{font-size:clamp(40px,5vw,84px)!important;line-height:.92!important}
.ceo-statement{font-size:clamp(34px,4.4vw,74px)!important;max-width:20ch}
.ceo-pillars h3{font-size:clamp(46px,6.6vw,108px)!important}
.ceo-pillars li{padding:22px 0}
.ceo-timeline h3{font-size:clamp(28px,2.8vw,44px)!important}
.ceo-big{font-size:clamp(76px,11vw,190px)!important;margin-bottom:46px}
.ceo-motto blockquote{font-size:clamp(46px,6vw,104px)!important}
.ceo-card h3,.ceo-service h3{font-size:34px!important}
.ceo-section{padding:120px 0}
.ceo .dx-wordmark span{font-size:clamp(70px,15vw,260px)!important}
/* about: real photos */
.ceo-float img{filter:grayscale(1) contrast(1.05)}
.ceo-float{transition:filter .4s}
.ceo-float-a{width:min(17vw,240px)!important;top:-10px!important}
.ceo-float-b{width:min(15vw,210px)!important;bottom:-80px!important}
.ceo-float:hover img{filter:none}
/* testimonials — minhpham style */
.ceo-testimonials{text-align:center}
.ceo-testimonials .ceo-label{justify-content:center;display:flex;margin-bottom:44px}
.ceo-slider{border-top:0!important;padding:0!important;max-width:1100px;margin:0 auto}
.ceo-thumbs{justify-content:center;margin:0 0 50px!important;gap:16px!important}
.ceo-thumbs button{width:58px!important;height:58px!important;opacity:.35!important;filter:grayscale(1)}
.ceo-thumbs button.is-active{width:76px!important;height:76px!important;opacity:1!important;filter:none;transform:none!important}
.ceo-thumbs span{font-size:20px!important}
.ceo-slides{min-height:0!important;display:grid}
.ceo-quote{grid-area:1/1;position:relative!important;inset:auto!important}
.ceo-quote blockquote{margin:0 auto!important;max-width:16ch!important;font-size:clamp(40px,5.2vw,84px)!important;line-height:.98!important;text-align:center}
.ceo-q{color:var(--accent);margin-right:.04em}
.ceo-quote figcaption{display:flex!important;flex-direction:column;align-items:center;gap:6px!important;margin-top:40px!important}
.ceo-quote figcaption b{font:400 26px var(--fd)!important;letter-spacing:.02em!important;text-transform:uppercase;color:#fff}
.ceo-quote figcaption span{font:500 12px var(--fm);letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.ceo-quote figcaption em{font:500 12px var(--fm);font-style:normal;letter-spacing:.16em;text-transform:uppercase;color:var(--accent)}
.ceo-qmark{display:none}
/* contact photo */
.ceo-contact-photo{margin:0 0 30px;width:min(260px,70%);aspect-ratio:3/4;overflow:hidden}
.ceo-contact-photo img{width:100%;height:100%;object-fit:cover;filter:grayscale(1);transition:filter .5s}
.ceo-contact-photo:hover img{filter:none}
@media(max-width:700px){.ceo-headline{font-size:15.5vw!important}.ceo-quote blockquote{font-size:11vw!important}}

/* ===== v3.2 photo usage: portrait beside the statement, one cinematic band, motto split ===== */
.ceo-about-grid{display:block}
.ceo-about-grid.has-photo{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);gap:60px;align-items:end}
.ceo-about-grid.has-photo .ceo-statement{text-align:left;margin:0;max-width:17ch}
.ceo-about-photo{position:relative;margin:0;align-self:end}
.ceo-about-photo:before{content:"";position:absolute;left:8%;right:8%;bottom:0;height:70%;border-radius:50% 50% 0 0;background:radial-gradient(circle at 50% 60%,rgba(255,91,31,.35),transparent 70%);filter:blur(30px);z-index:0}
.ceo-about-photo img{position:relative;z-index:1;display:block;width:100%;max-width:420px;margin-left:auto;height:auto;filter:grayscale(1) contrast(1.05);mask:linear-gradient(180deg,#000 80%,transparent);-webkit-mask:linear-gradient(180deg,#000 80%,transparent);transition:filter .6s}
.ceo-about-photo:hover img{filter:grayscale(0)}
.ceo-stats{margin-top:70px!important}
/* cinematic photo band */
.ceo-band{position:relative;height:min(78vh,760px);overflow:hidden;border-block:1px solid var(--line)}
.ceo-band-img{position:absolute;inset:-12% 0;background-size:cover;background-position:center 28%;filter:grayscale(1) contrast(1.08) brightness(.82);transition:filter .8s}
.ceo-band:hover .ceo-band-img{filter:grayscale(0) brightness(.9)}
.ceo-band:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#000 0%,transparent 22%,transparent 70%,#000 100%)}
.ceo-band-cap{position:absolute;left:0;right:0;bottom:30px;z-index:2;margin:0 auto}
/* motto split */
.ceo-motto{min-height:0!important;padding:130px 0!important;text-align:left!important}
.ceo-motto:after{display:none}
.ceo-motto-grid{display:block;text-align:center}
.ceo-motto.has-photo .ceo-motto-grid{display:grid;grid-template-columns:minmax(240px,.7fr) minmax(0,1.3fr);gap:70px;align-items:center;text-align:left}
.ceo-motto.has-photo .ceo-label{justify-content:flex-start}
.ceo-motto.has-photo blockquote{margin:26px 0 0!important;max-width:13ch}
.ceo-motto-photo{margin:0;aspect-ratio:4/5;overflow:hidden;position:relative}
.ceo-motto-photo img{width:100%;height:100%;object-fit:cover;object-position:center 15%;filter:grayscale(1);transition:filter .6s,transform 1.2s cubic-bezier(.2,.8,.2,1)}
.ceo-motto-photo:hover img{filter:none;transform:scale(1.03)}
.ceo-motto-photo:after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
@media(max-width:1000px){.ceo-about-grid.has-photo,.ceo-motto.has-photo .ceo-motto-grid{grid-template-columns:1fr;gap:40px}.ceo-about-photo img{margin:0 auto;max-width:320px}.ceo-band{height:52vh}}

/* =====================================================================
   CEO v4 — bigger imagery, section storytelling, 3D objects
   ===================================================================== */
/* hero morph on scroll */
.ceo-hero{--hp:0}
.ceo-hero-video,.ceo-neural{clip-path:inset(calc(var(--hp)*7%) calc(var(--hp)*5%) round calc(var(--hp)*36px));scale:calc(1 - var(--hp)*.06);will-change:clip-path,scale}
.ceo-hero-in{transform:translate3d(0,calc(var(--hp)*-90px),0);opacity:calc(1 - var(--hp)*1.1)}
/* section reveals: label → title → content */
.ceo-sec .ceo-label,.ceo-sec .ceo-h2,.ceo-sec .ceo-big,.ceo-sec .ceo-statement,.ceo-sec .ceo-pillars,.ceo-sec .ceo-timeline,.ceo-sec .ceo-cards,.ceo-sec .ceo-services,.ceo-sec .ceo-slider,.ceo-sec .ceo-motto-text,.ceo-sec .ceo-stats,.ceo-sec .ceo-contact-grid,.ceo-sec .dx-grid-3{opacity:0;transform:translate3d(0,70px,0);transition:opacity 1s cubic-bezier(.2,.8,.2,1),transform 1.2s cubic-bezier(.16,1,.3,1)}
.ceo-sec .ceo-label{transform:translate3d(-30px,0,0)}
.ceo-sec.ceo-in .ceo-label,.ceo-sec.ceo-in .ceo-h2,.ceo-sec.ceo-in .ceo-big,.ceo-sec.ceo-in .ceo-statement,.ceo-sec.ceo-in .ceo-pillars,.ceo-sec.ceo-in .ceo-timeline,.ceo-sec.ceo-in .ceo-cards,.ceo-sec.ceo-in .ceo-services,.ceo-sec.ceo-in .ceo-slider,.ceo-sec.ceo-in .ceo-motto-text,.ceo-sec.ceo-in .ceo-stats,.ceo-sec.ceo-in .ceo-contact-grid,.ceo-sec.ceo-in .dx-grid-3{opacity:1;transform:none}
.ceo-sec.ceo-in .ceo-h2,.ceo-sec.ceo-in .ceo-big{transition-delay:.12s}
.ceo-sec.ceo-in .ceo-pillars,.ceo-sec.ceo-in .ceo-timeline,.ceo-sec.ceo-in .ceo-cards,.ceo-sec.ceo-in .ceo-services,.ceo-sec.ceo-in .ceo-slider,.ceo-sec.ceo-in .dx-grid-3,.ceo-sec.ceo-in .ceo-stats{transition-delay:.25s}
/* "Next →" teaser strip between sections */
.ceo-next{position:relative;overflow:hidden;padding:18px 0;border-block:1px solid var(--line);background:#030303}
.ceo-next>div{display:flex;width:max-content;gap:0;animation:ceoNext 28s linear infinite}
.ceo-next span,.ceo-next b,.ceo-next i{display:inline-flex;align-items:center;white-space:nowrap}
.ceo-next span{padding:0 18px 0 46px;font:500 11.5px var(--fm);letter-spacing:.24em;text-transform:uppercase;color:var(--dim)}
.ceo-next b{font:400 clamp(28px,3.2vw,48px)/1 var(--fd);text-transform:uppercase;color:#fff;transition:color .3s}
.ceo-next i{padding-left:18px;font-style:normal;font-size:22px;color:var(--accent)}
.ceo-next:hover b{color:var(--accent)}
.ceo-next:hover>div{animation-duration:12s}
@keyframes ceoNext{to{transform:translateX(-50%)}}
/* fixed section indicator */
.ceo-indicator{position:fixed;left:24px;bottom:24px;z-index:70;display:flex;align-items:baseline;gap:12px;font:500 11px var(--fm);letter-spacing:.2em;text-transform:uppercase;color:#fff;mix-blend-mode:difference;opacity:0;transform:translateY(10px);transition:opacity .4s,transform .4s;pointer-events:none}
.ceo-indicator.is-on{opacity:1;transform:none}
.ceo-indicator b{font:400 30px/1 var(--fd);letter-spacing:0}
/* bigger imagery */
.ceo-about-grid.has-photo{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:40px!important;align-items:center!important}
.ceo-about-photo img{max-width:640px!important;width:100%}
.ceo-about-photo{margin-right:-4vw!important}
.ceo-band{height:100vh!important;max-height:980px}
.ceo-band-img{inset:-8% 0!important;scale:var(--bz,1.15);transition:filter .8s,scale .2s linear}
.ceo-band-cap{bottom:44px!important}
.ceo-band-cap .ceo-label{font-size:13px;color:#fff}
.ceo-motto.has-photo .ceo-motto-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:60px!important}
.ceo-motto-photo{aspect-ratio:auto!important;height:min(88vh,900px)}
.ceo-motto{padding:110px 0!important}
.ceo-motto.has-photo blockquote{font-size:clamp(52px,6.6vw,120px)!important;max-width:12ch}
/* image curtain reveal */
.ceo-reveal-img{clip-path:inset(100% 0 0 0);transition:clip-path 1.4s cubic-bezier(.77,0,.18,1)}
.ceo-reveal-img img,.ceo-reveal-img video{scale:1.18;transition:scale 2s cubic-bezier(.16,1,.3,1),filter .6s}
.ceo-reveal-img.ceo-shown{clip-path:inset(0 0 0 0)}
.ceo-reveal-img.ceo-shown img,.ceo-reveal-img.ceo-shown video{scale:1}
.ceo-reel.ceo-reveal-img{clip-path:inset(100% var(--ci,12%) 0 round var(--cr,28px))}
.ceo-reel.ceo-reveal-img.ceo-shown{clip-path:inset(0 var(--ci,12%) round var(--cr,28px))}
.ceo-band.ceo-reveal-img{clip-path:inset(12% 0 12% 0)}.ceo-band.ceo-reveal-img.ceo-shown{clip-path:inset(0)}
/* pillar hover photo */
.ceo-hoverimg{position:fixed;left:0;top:0;z-index:90;width:300px;height:380px;margin:0;pointer-events:none;overflow:hidden;clip-path:inset(50% 50% 50% 50%);transition:clip-path .5s cubic-bezier(.7,0,.2,1)}
.ceo-hoverimg.is-on{clip-path:inset(0 0 0 0)}
.ceo-hoverimg img{width:100%;height:100%;object-fit:cover;filter:grayscale(.2) contrast(1.05)}
.ceo-pillars li[data-img]{cursor:none}
/* 3D objects */
.ceo-has-3d{overflow:hidden}
.ceo-3d{position:absolute;pointer-events:none;z-index:0}
.ceo-has-3d>.dx-wrap{position:relative;z-index:1}
.ceo-globe{right:-8vw;top:50%;width:min(62vw,820px);height:min(62vw,820px);transform:translateY(-50%);opacity:.9}
.ceo-torus{right:-6vw;top:40px;width:min(48vw,640px);height:min(48vw,640px);opacity:.75}
@media(max-width:1000px){.ceo-about-photo{margin-right:0!important}.ceo-motto-photo{height:70vh}.ceo-globe,.ceo-torus{opacity:.35;width:110vw;height:110vw;right:-30vw}.ceo-indicator{display:none}}
@media(prefers-reduced-motion:reduce){.ceo-sec *{opacity:1!important;transform:none!important}.ceo-reveal-img{clip-path:none!important}.ceo-next>div{animation:none}}

/* =====================================================================
   CEO v5 — pinned scroll scenes, white Insights, minhpham-style connect & footer
   ===================================================================== */
.ceo-next{display:none!important}
/* generic pin */
[data-pin]{position:relative}
.ceo-pin{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden}
html.ceo-nopin [data-pin]{height:auto!important}html.ceo-nopin .ceo-pin{position:relative;height:auto;overflow:visible}
/* ticker (seamless) */
.ceo-ticker{overflow:hidden;padding:22px 0;border-block:1px solid var(--line);background:#030303}
.ceo-ticker-track{display:flex;width:max-content;animation:ceoTick 36s linear infinite}
.ceo-ticker-track>div{display:flex;align-items:center;flex-shrink:0}
.ceo-ticker span{padding:0 34px;font:400 clamp(26px,3vw,46px)/1 var(--fd);text-transform:uppercase;color:#fff;white-space:nowrap}
.ceo-ticker i{font-style:normal;color:var(--accent);font-size:20px}
.ceo-ticker:hover .ceo-ticker-track{animation-play-state:paused}
@keyframes ceoTick{to{transform:translateX(-50%)}}
/* about: photo fills the whole right column */
.ceo-about{padding:110px 0!important}
.ceo-about-grid.has-photo{display:grid!important;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)!important;gap:56px!important;align-items:stretch!important}
.ceo-about-copy{display:flex;flex-direction:column;justify-content:center}
.ceo-about-copy .ceo-label{margin-bottom:30px}
.ceo-about-grid.has-photo .ceo-statement{max-width:none!important}
.ceo-about-photo{position:relative;margin:0!important;min-height:min(86vh,900px);overflow:hidden}
.ceo-about-photo:before{display:none!important}
.ceo-about-photo img{position:absolute!important;inset:0;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover;object-position:center 20%;mask:none!important;-webkit-mask:none!important;filter:grayscale(1) contrast(1.06)}
.ceo-about-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.55),transparent 35%);pointer-events:none}
.ceo-about .ceo-stats{margin-top:56px!important;grid-template-columns:repeat(2,1fr)!important}
/* band: small photo → full screen → hand-over */
.ceo-band{height:260vh!important;max-height:none!important;border:0!important;overflow:visible!important}
.ceo-band:after{display:none!important}
.ceo-band .ceo-pin{display:grid;place-items:center;background:#000}
.ceo-band-frame{position:absolute;inset:0;transform:scale(var(--s,.34));border-radius:var(--r,26px);overflow:hidden;opacity:var(--o,1);will-change:transform}
.ceo-band-frame img{width:100%;height:100%;object-fit:cover;object-position:center 30%;filter:grayscale(calc(1 - var(--t,0))) contrast(1.05)}
.ceo-band-frame:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.78),transparent 55%);opacity:var(--t,0)}
.ceo-band-text{position:absolute;left:0;right:0;bottom:8vh;z-index:2;width:min(1440px,calc(100% - 48px));margin:0 auto;opacity:var(--t,0);transform:translateY(calc((1 - var(--t,0))*40px))}
.ceo-band-text .ceo-h2{max-width:14ch;margin-top:16px!important}
html.ceo-nopin .ceo-band .ceo-pin{height:80vh}html.ceo-nopin .ceo-band-frame{transform:none;border-radius:0}html.ceo-nopin .ceo-band-text{opacity:1;transform:none}
/* showreel: grows to full screen, then shrinks away */
.ceo-showreel{height:320vh!important;padding:0!important;overflow:visible!important}
.ceo-showreel .ceo-pin{display:grid;place-items:center}
.ceo-reel-head{position:absolute;top:13vh;left:0;right:0;width:min(1440px,calc(100% - 48px));margin:0 auto;z-index:1;opacity:var(--h,1)}
.ceo-reel{position:absolute!important;inset:0!important;width:100%!important;margin:0!important;aspect-ratio:auto!important;clip-path:none!important;transform:scale(var(--s,.42));border-radius:var(--r,30px);overflow:hidden;opacity:var(--o,1);z-index:2;cursor:none}
.ceo-reel video{filter:grayscale(.2)}
.ceo-reel:after{background:radial-gradient(circle at 50% 50%,transparent 50%,rgba(0,0,0,.45))!important}
.ceo-reel-play{display:none!important}
.ceo-reel-hint{position:absolute;left:50%;bottom:28px;transform:translateX(-50%);z-index:3;font:500 11.5px var(--fm);letter-spacing:.22em;text-transform:uppercase;color:#fff;opacity:.75}
@media(hover:hover){.ceo-reel-hint{display:none}}
html.ceo-nopin .ceo-showreel{padding:80px 0!important}html.ceo-nopin .ceo-showreel .ceo-pin{height:auto}html.ceo-nopin .ceo-reel-head{position:relative;top:0;margin-bottom:30px}html.ceo-nopin .ceo-reel{position:relative!important;transform:none;aspect-ratio:16/9!important;border-radius:0;cursor:pointer}
/* cursor ring for the showreel */
.ceo-cursor span{position:absolute;inset:0;display:grid;place-items:center;text-align:center;font:500 11px/1.3 var(--fm);letter-spacing:.18em;text-transform:uppercase;color:#0a0a0a;opacity:0;transition:opacity .25s}
.ceo-cursor.is-reel{width:140px;height:140px;margin:-70px 0 0 -70px;background:var(--accent);opacity:1!important}
.ceo-cursor.is-reel span{opacity:1;padding:0 18px}
/* services: the whole card fills with colour */
.ceo-service{position:relative;overflow:hidden;transition:color .35s}
.ceo-service:before{content:"";position:absolute;inset:0;background:var(--accent);transform:translateY(101%);transition:transform .55s cubic-bezier(.7,0,.2,1);z-index:0}
.ceo-service>*{position:relative;z-index:1;transition:color .35s}
.ceo-service:hover:before{transform:none}
.ceo-service:hover>*,.ceo-service:hover h3,.ceo-service:hover p,.ceo-service:hover b,.ceo-service:hover span{color:#0a0a0a!important}
.ceo-service{padding:40px 30px 46px!important;margin-right:0!important}
/* testimonials: scroll journey */
.ceo-testimonials{height:calc(var(--n,3) * 85vh + 60vh);padding:0!important}
.ceo-testimonials .ceo-pin{display:flex;align-items:center}
.ceo-testimonials .dx-wrap{width:min(1200px,calc(100% - 48px))}
.ceo-slides{position:relative;min-height:46vh!important;display:grid!important}
.ceo-quote{grid-area:1/1;opacity:0;transform:translate3d(0,60px,0) scale(.98);filter:blur(6px);transition:opacity .7s,transform .9s cubic-bezier(.16,1,.3,1),filter .7s!important}
.ceo-quote.is-past{transform:translate3d(0,-60px,0) scale(.98)}
.ceo-quote.is-active{opacity:1;transform:none;filter:none}
.ceo-journey{display:flex;align-items:center;gap:16px;max-width:520px;margin:40px auto 0}
.ceo-journey i{flex:1;height:1px;background:var(--accent);transform-origin:left;transform:scaleX(0)}
.ceo-journey:before{content:"";position:absolute}
.ceo-journey{position:relative}.ceo-journey:after{content:"";position:absolute;left:0;right:76px;top:50%;height:1px;background:var(--line);z-index:-1}
.ceo-journey span{font:500 12px var(--fm);letter-spacing:.16em;color:var(--muted)}
html.ceo-nopin .ceo-testimonials{height:auto;padding:90px 0!important}
/* motto: photo flies in & away, then the dot floods the screen white */
.ceo-motto{height:420vh!important;padding:0!important;min-height:0!important;background:#000!important}
.ceo-motto .ceo-pin{display:flex;align-items:center}
.ceo-motto-grid{display:block!important}
.ceo-motto-photo{position:absolute!important;left:50%;top:50%;width:min(34vw,460px)!important;height:auto!important;aspect-ratio:4/5!important;margin:calc(min(34vw,460px)*-.625) 0 0 calc(min(34vw,460px)*-.5)!important;z-index:1;opacity:0;will-change:transform,opacity}
.ceo-motto-photo img{filter:grayscale(1)!important}
.ceo-motto-text{position:relative;z-index:2;text-align:center}
.ceo-motto-text .ceo-label{justify-content:center;display:flex}
.ceo-motto blockquote{margin:26px auto 0!important;max-width:15ch!important;font-size:clamp(50px,7vw,124px)!important;mix-blend-mode:difference}
.ceo-dot{display:inline-block;color:var(--accent)}
.ceo-flood{position:absolute;inset:0;z-index:5;background:#f3f1ec;clip-path:circle(0 at 50% 50%);pointer-events:none}
html.ceo-nopin .ceo-motto{height:auto!important;padding:110px 0!important}html.ceo-nopin .ceo-motto-photo{position:relative!important;left:auto;top:auto;margin:0 auto 40px!important;opacity:1;width:min(70vw,360px)!important}html.ceo-nopin .ceo-flood{display:none}
/* insights on white */
.ceo-insights{background:#f3f1ec!important;color:#0a0a0a;border:0!important}
.ceo-insights .ceo-h2{color:#0a0a0a!important}
.ceo-insights .ceo-label{color:var(--accent)}
.ceo-insights .dx-post{background:#fff!important;border-color:rgba(0,0,0,.08)!important;color:#0a0a0a}
.ceo-insights .dx-post h3{color:#0a0a0a!important}.ceo-insights .dx-post:hover h3{color:var(--accent)!important}
.ceo-insights .dx-post-img img{filter:none!important}
.ceo-insights .dx-post-meta small{color:#6b6b68}
.ceo-insights .dx-tag{color:var(--accent);border-color:rgba(255,91,31,.4)}
.ceo-insights .dx-post b{color:var(--accent)!important}
.ceo-insights .dx-post:hover{box-shadow:0 30px 60px -30px rgba(0,0,0,.35)}
.ceo-insights-more{margin-top:44px}
.ceo-insights .dx-btn{background:#0a0a0a;color:#fff!important}.ceo-insights .dx-btn:hover{background:var(--accent)!important;color:#0a0a0a!important}
.ceo-fade-wb{height:45vh;background:linear-gradient(#f3f1ec,#000)}
/* connect — minhpham style */
.ceo-contact{padding:120px 0!important}
.ceo-contact .ceo-label{margin-bottom:24px}
.ceo-contact .ceo-big{margin:0 0 70px!important;line-height:.82!important}
.ceo-connect{display:grid;grid-template-columns:1fr 1fr 1fr;gap:40px;align-items:start;padding-bottom:70px;border-bottom:1px solid var(--line)}
.ceo-connect-col{display:flex;flex-direction:column;gap:6px}
.ceo-connect-col a{position:relative;display:inline-flex;align-items:center;gap:16px;font:400 clamp(36px,3.6vw,58px)/1.05 var(--fd);text-transform:uppercase;color:#e9e6df;text-decoration:none;transition:color .3s,padding .35s}
.ceo-connect-col a i{width:0;height:0;border-style:solid;border-width:0 12px 12px 0;border-color:transparent var(--accent) transparent transparent;transform:translateY(-10px)}
.ceo-connect-col a:hover{color:var(--accent);padding-left:10px}
.ceo-connect-info{display:flex;flex-direction:column;gap:26px}
.ceo-connect-info a{text-decoration:none}
.ceo-connect-info b{display:block;font:600 16px Inter,sans-serif;color:#e9e6df}
.ceo-connect-info span{display:block;margin-top:4px;font:400 15px Inter,sans-serif;color:var(--muted);transition:color .3s}
.ceo-connect-info a:hover span{color:var(--accent)}
.ceo-contact-form{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px;align-items:start;padding-top:70px}
.ceo-contact-intro h3{margin:0 0 14px;font:400 clamp(36px,3.4vw,56px)/1 var(--fd)!important;text-transform:uppercase}
.ceo-contact-intro p{margin:0;color:var(--muted);max-width:36ch;font-size:16px}
.ceo .dx-form{margin:0}
.ceo-contact-grid,.ceo-contact-info>p,.ceo-socials,.ceo-contact-line{display:none!important}
/* footer — minimal */
.ceo-footer{position:relative;background:#000;border-top:1px solid var(--line);padding:46px 0 26px;overflow:hidden}
.ceo-foot-row{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}
.ceo-foot-social{display:flex;flex-wrap:wrap;gap:8px 26px}
.ceo-foot-social a{font:500 12px var(--fm);letter-spacing:.18em;text-transform:uppercase;color:#cfccc5;text-decoration:none}.ceo-foot-social a:hover{color:var(--accent)}
.ceo-foot-time small{display:block;font:500 10.5px var(--fm);letter-spacing:.2em;text-transform:uppercase;color:var(--dim)}.ceo-foot-time b{font:400 30px var(--fd);letter-spacing:.04em;color:#fff;font-variant-numeric:tabular-nums}
.ceo-foot-top{font:500 12px var(--fm);letter-spacing:.18em;text-transform:uppercase;color:#fff;text-decoration:none}.ceo-foot-top:hover{color:var(--accent)}
.ceo-foot-word{margin:36px 0 18px;text-align:center;white-space:nowrap;font:400 clamp(70px,16.5vw,300px)/.8 var(--fd);text-transform:uppercase;color:#fff;user-select:none}
.ceo-foot-word .rv-alt{text-align:center}
.ceo-foot-bottom{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:18px;border-top:1px solid var(--line);font:500 11.5px var(--fm);letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}
.ceo-foot-bottom a{color:var(--accent);text-decoration:none}
@media(max-width:1000px){.ceo-about-grid.has-photo,.ceo-contact-form{grid-template-columns:1fr!important}.ceo-about-photo{min-height:70vh}.ceo-connect{grid-template-columns:1fr 1fr}.ceo-connect-info{grid-column:1/-1}}
@media(max-width:600px){.ceo-connect{grid-template-columns:1fr}.ceo-foot-row{flex-direction:column;align-items:flex-start}}

/* =====================================================================
   CEO v6 fixes
   ===================================================================== */
/* icosahedron: left side, much bigger */
.ceo-icosa{left:-10vw!important;right:auto!important;top:50%!important;transform:translateY(-50%);width:min(72vw,980px)!important;height:min(72vw,980px)!important;opacity:.55!important}
.ceo-has-3d#experience .ceo-timeline li{position:relative}
/* approach cards: whole card fills on hover, text turns dark */
.ceo-card{position:relative;overflow:hidden;padding:40px 30px 46px!important;margin-right:0!important}
.ceo-card:before{content:"";position:absolute;inset:0;background:var(--accent);transform:translateY(101%);transition:transform .55s cubic-bezier(.7,0,.2,1);z-index:0}
.ceo-card>*{position:relative;z-index:1;transition:color .35s}
.ceo-card:hover:before{transform:none}
.ceo-card:hover>*,.ceo-card:hover h3,.ceo-card:hover p,.ceo-card:hover span{color:#0a0a0a!important}
/* services: hover text white on orange */
.ceo-service:hover>*,.ceo-service:hover h3,.ceo-service:hover p,.ceo-service:hover b,.ceo-service:hover span{color:#fff!important}
/* testimonials: horizontal journey */
.ceo-testimonials{height:calc(var(--n,3) * 100vh)!important;text-align:left!important}
.ceo-testimonials .ceo-pin{display:block!important}
.ceo-t-head{position:absolute;left:0;right:0;top:12vh;z-index:2;display:flex;justify-content:space-between;align-items:center;gap:24px}
.ceo-journey{display:flex!important;align-items:center;gap:16px;max-width:none!important;margin:0!important;width:min(420px,50%)}
.ceo-journey:after,.ceo-journey:before{display:none!important}
.ceo-journey i{position:relative;flex:1;height:1px;background:var(--line-2);transform:none!important}
.ceo-journey i b{position:absolute;inset:0;background:var(--accent);transform-origin:left;transform:scaleX(0)}
.ceo-ttrack{position:absolute;left:0;top:0;bottom:0;display:flex;width:calc(var(--n,3) * 100vw);will-change:transform}
.ceo-tslide{flex:0 0 100vw;height:100%;margin:0;display:grid;grid-template-columns:minmax(160px,.32fr) minmax(0,1fr);gap:5vw;align-items:center;padding:20vh max(24px,calc((100vw - 1440px)/2)) 10vh;box-sizing:border-box}
.ceo-tavatar{position:relative;width:min(22vw,300px);aspect-ratio:1;border-radius:50%;overflow:hidden;background:#111;border:1px solid var(--line-2);display:grid;place-items:center;transform:scale(.86);transition:transform .8s cubic-bezier(.16,1,.3,1),border-color .5s}
.ceo-tavatar img{width:100%;height:100%;object-fit:cover;filter:grayscale(1)}
.ceo-tavatar span{font:400 clamp(60px,8vw,120px)/1 var(--fd);color:#2a2a28;transition:color .6s}
.ceo-tavatar i{position:absolute;right:14%;bottom:12%;font:500 12px var(--fm);font-style:normal;letter-spacing:.14em;color:var(--dim)}
.ceo-tslide.is-current .ceo-tavatar{transform:none;border-color:var(--accent)}
.ceo-tslide.is-current .ceo-tavatar span{color:var(--accent)}
.ceo-tslide blockquote{margin:0;font:400 clamp(40px,5vw,88px)/.98 var(--fd);text-transform:uppercase;max-width:18ch}
.ceo-tslide blockquote span{color:rgba(245,245,243,.14);transition:color .35s}
.ceo-tslide blockquote span.is-lit{color:#fff}
.ceo-tslide .ceo-q{color:var(--accent)!important}
.ceo-tslide figcaption{grid-column:2;display:flex;flex-direction:column;gap:6px;margin-top:-2vh}
.ceo-tslide figcaption b{font:400 26px var(--fd);text-transform:uppercase;color:#fff}
.ceo-tslide figcaption span{font:500 12px var(--fm);letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.ceo-tslide figcaption em{font:500 12px var(--fm);font-style:normal;letter-spacing:.16em;text-transform:uppercase;color:var(--accent)}
html.ceo-nopin .ceo-testimonials{height:auto!important;padding:90px 0!important}
html.ceo-nopin .ceo-t-head{position:relative;top:0;margin-bottom:30px}
html.ceo-nopin .ceo-ttrack{position:relative;width:auto;flex-direction:column;transform:none!important}
html.ceo-nopin .ceo-tslide{flex:auto;height:auto;grid-template-columns:1fr;padding:30px 24px}
html.ceo-nopin .ceo-tslide blockquote span{color:#fff}html.ceo-nopin .ceo-tavatar{width:110px}
/* motto: centred text, big photo that flies in and away, white flood from the dot */
.ceo-motto .ceo-pin{display:flex!important;align-items:center;justify-content:center}
.ceo-motto-text{width:min(1440px,calc(100% - 48px))!important;margin:0 auto!important;text-align:center!important}
.ceo-motto blockquote{margin:26px auto 0!important;max-width:16ch!important}
.ceo-motto-photo{position:absolute!important;left:50%!important;top:50%!important;margin:0!important;width:auto!important;height:min(78vh,820px)!important;aspect-ratio:4/5!important;z-index:3!important;opacity:0;transform:translate(-50%,-50%) scale(.16);box-shadow:0 60px 120px -40px rgba(0,0,0,.9)}
.ceo-flood{position:fixed!important;inset:0!important;z-index:59!important}
.ceo-motto.is-white .ceo-pin{background:#f3f1ec}
.ceo-motto.is-white .ceo-motto-text,.ceo-motto.is-white .ceo-motto-photo{visibility:hidden}
/* insights → connect: background darkens with scroll */
.ceo-insights{--wb:0;background:color-mix(in srgb,#050505 calc(var(--wb)*100%),#f3f1ec)!important;transition:none}
.ceo-insights .dx-wrap{opacity:calc(1 - var(--wb)*.9)}
.ceo-fade-wb{display:none!important}
.ceo-insights{padding-bottom:40vh!important}
/* connect: title + side info + form, aligned */
.ceo-contact .ceo-big{margin-bottom:56px!important}
.ceo-contact-wrap{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:64px;align-items:start}
.ceo-contact-side h3{margin:0 0 14px;font:400 clamp(34px,3.2vw,52px)/1 var(--fd)!important;text-transform:uppercase}
.ceo-contact-side>p{margin:0 0 30px;color:var(--muted);font-size:16.5px;max-width:38ch}
.ceo-cline{display:block;padding:18px 0;border-top:1px solid var(--line);font:400 clamp(24px,2.2vw,34px)/1 var(--fd);color:#fff;text-decoration:none;transition:color .25s,padding .3s}
.ceo-cline small{display:block;margin-bottom:8px;font:500 11px var(--fm);letter-spacing:.2em;text-transform:uppercase;color:var(--dim)}
.ceo-cline:hover{color:var(--accent);padding-left:10px}
.ceo-reply{margin-top:22px;font:500 12px var(--fm);letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}
.ceo-contact .ceo-connect,.ceo-contact .ceo-contact-form{display:none!important}
/* footer: minhpham "Connect" block */
.ceo-footer{padding:90px 0 28px!important}
.ceo-foot-label{display:block;margin-bottom:40px;font:500 13px var(--fm);letter-spacing:.42em;text-transform:uppercase;color:#cfccc5}
.ceo-footer .ceo-connect{display:grid;grid-template-columns:1fr 1fr 1fr;gap:40px;padding-bottom:70px;border-bottom:1px solid var(--line)}
.ceo-footer .ceo-connect-col{display:flex;flex-direction:column;gap:2px}
.ceo-footer .ceo-connect-col a{display:inline-flex;align-items:flex-start;gap:18px;font:600 clamp(32px,3.2vw,50px)/1.12 Inter,"Inter Tight",sans-serif;letter-spacing:-.03em;text-transform:none;color:#c9c3b6;text-decoration:none;transition:color .3s,transform .35s}
.ceo-footer .ceo-connect-col a i{flex:0 0 auto;width:0;height:0;margin-top:.32em;border-style:solid;border-width:0 13px 13px 0;border-color:transparent var(--accent) transparent transparent;transform:rotate(-90deg)}
.ceo-footer .ceo-connect-col a:hover{color:#fff;transform:translateX(8px)}
.ceo-footer .ceo-connect-info{display:flex;flex-direction:column;gap:22px;padding-top:8px}
.ceo-footer .ceo-connect-info b{display:block;font:600 16px Inter,sans-serif;color:#c9c3b6}
.ceo-footer .ceo-connect-info span{display:block;margin-top:4px;font:400 15px Inter,sans-serif;color:#77736b}
.ceo-footer .ceo-connect-info a{text-decoration:none}.ceo-footer .ceo-connect-info a:hover span{color:var(--accent)}
.ceo-footer .ceo-foot-time span{font-variant-numeric:tabular-nums}
.ceo-foot-row{display:none!important}
.ceo-foot-bottom{align-items:center}
@media(max-width:1000px){.ceo-contact-wrap{grid-template-columns:1fr}.ceo-footer .ceo-connect{grid-template-columns:1fr 1fr}.ceo-footer .ceo-connect-info{grid-column:1/-1}.ceo-tslide{grid-template-columns:1fr;gap:20px;padding-top:24vh}.ceo-tslide figcaption{grid-column:1}.ceo-tavatar{width:140px}.ceo-icosa{opacity:.25!important}}
@media(max-width:600px){.ceo-footer .ceo-connect{grid-template-columns:1fr}}

/* ===== v7 fixes ===== */
.ceo-indicator{display:none!important}
/* icosahedron: right side of History, balanced size */
.ceo-icosa{left:auto!important;right:3vw!important;top:52%!important;transform:translateY(-50%)!important;width:min(40vw,560px)!important;height:min(40vw,560px)!important;opacity:.85!important}
/* approach cards: white text on orange */
.ceo-card:hover>*,.ceo-card:hover h3,.ceo-card:hover p,.ceo-card:hover span{color:#fff!important}
/* testimonial avatar a little smaller */
.ceo-tavatar{width:min(14vw,200px)!important}
.ceo-tslide{grid-template-columns:minmax(120px,.24fr) minmax(0,1fr)!important}
.ceo-tavatar span{font-size:clamp(46px,5.4vw,84px)!important}
/* motto photo: always centred, large */
.ceo-motto-photo{left:0!important;right:0!important;top:0!important;bottom:0!important;margin:auto!important;width:min(62vh,560px)!important;height:min(78vh,700px)!important;aspect-ratio:auto!important;transform:translate3d(34vw,36vh,0) scale(.14)}
.ceo-motto-photo img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center 15%!important}
.ceo-motto.is-white .ceo-motto-text,.ceo-motto.is-white .ceo-motto-photo{visibility:visible}
/* no large name in the footer for this theme */
.ceo-foot-word{display:none!important}
.ceo-footer .ceo-connect{padding-bottom:60px}

/* =====================================================================
   v8 — root-cause fixes from the screen recording
   ===================================================================== */
/* The motto section had overflow:hidden + display:flex from an older rule.
   overflow:hidden breaks position:sticky (the pin never stuck → long black scroll, wrong dot position),
   display:flex shrank the pin to the left (text + photo off-centre). */
.ceo-motto{display:block!important;overflow:visible!important;text-align:center!important}
.ceo-motto .ceo-pin{width:100%}
[data-pin]{overflow:visible!important;display:block!important}
/* Insights: the whole section turns from a light page into a dark page (no grey veil over the cards) */
.ceo-insights .dx-wrap{opacity:1!important}
.ceo-insights .ceo-h2{color:color-mix(in srgb,#f5f5f3 calc(var(--wb)*100%),#0a0a0a)!important}
.ceo-insights .dx-post{background:color-mix(in srgb,#0d0d0d calc(var(--wb)*100%),#ffffff)!important;border-color:color-mix(in srgb,rgba(255,255,255,.1) calc(var(--wb)*100%),rgba(0,0,0,.08))!important}
.ceo-insights .dx-post h3{color:color-mix(in srgb,#f5f5f3 calc(var(--wb)*100%),#0a0a0a)!important}
.ceo-insights .dx-post-meta small{color:color-mix(in srgb,#8a8a87 calc(var(--wb)*100%),#6b6b68)!important}
.ceo-insights .dx-btn{background:color-mix(in srgb,#f5f5f3 calc(var(--wb)*100%),#0a0a0a)!important;color:color-mix(in srgb,#0a0a0a calc(var(--wb)*100%),#ffffff)!important}
.ceo-insights{padding-bottom:120px!important}
.ceo-contact{background:#050505}
/* testimonials: keep the heading/avatars clear of the fixed header */
.ceo-t-head{top:max(14vh,110px)!important}
.ceo-tslide{padding-top:max(24vh,190px)!important}
.ceo-insights{padding-bottom:70vh!important}
