/* Premium Lumi presentation layer */
:root{--spot-x:50vw;--spot-y:20vh}
body{background:#050505}body::after{animation:none;opacity:.35}.card::after{animation:none;opacity:.55}.portfolio-thumb img{filter:brightness(.8) saturate(.9);transform:scale(1.01)}
body::before{animation:none;background:radial-gradient(540px circle at var(--spot-x) var(--spot-y),rgba(185,28,28,.10),transparent 58%),radial-gradient(circle at 18% 20%,rgba(185,28,28,.08),transparent 24%),radial-gradient(circle at 82% 65%,rgba(185,28,28,.06),transparent 26%)}
.brand{display:inline-flex;align-items:center;gap:.7rem;text-decoration:none}
.brand-logo{width:38px;height:38px;border-radius:10px;object-fit:cover;border:1px solid rgba(239,68,68,.35);box-shadow:0 0 20px rgba(185,28,28,.16)}
.mobile-menu-button{display:none;width:42px;height:42px;border:1px solid #27272a;border-radius:10px;background:#0a0a0a;color:#fff;align-items:center;justify-content:center}
.mobile-menu-button span,.mobile-menu-button::before,.mobile-menu-button::after{content:"";display:block;width:18px;height:2px;background:currentColor;transition:.2s}
.mobile-menu-button span{margin:4px 0}
.mobile-menu{display:none;position:fixed;left:16px;right:16px;top:76px;z-index:70;padding:12px;border:1px solid #27272a;border-radius:14px;background:rgba(5,5,5,.98);box-shadow:0 24px 70px rgba(0,0,0,.65)}
.mobile-menu.open{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}
.mobile-menu a{padding:10px 12px;border-radius:8px;color:#d4d4d8;text-decoration:none;font-size:.9rem;font-weight:700}
.mobile-menu a:hover{background:rgba(185,28,28,.12);color:#fff}
.hero-section>div:not(.hero-art){opacity:0;animation:heroUp .7s cubic-bezier(.2,.8,.2,1) forwards}
.hero-section>div:not(.hero-art):nth-child(1){animation-delay:.08s}
@keyframes heroUp{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
.reveal{opacity:0;transform:translateY(22px);transition:opacity .65s ease,transform .65s cubic-bezier(.2,.8,.2,1)}
.reveal.is-visible{opacity:1;transform:none}
.results-grid,.proof-grid{display:grid;gap:16px;grid-template-columns:repeat(3,minmax(0,1fr))}
.result-card{padding:24px;border:1px solid #27272a;border-radius:16px;background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.012))}
.result-value{font-size:clamp(1.8rem,4vw,3rem);font-weight:900;color:#ef4444}
.result-label{margin-top:6px;font-weight:800}
.result-note{margin-top:8px;color:#a1a1aa;font-size:.82rem;line-height:1.5}
.case-study{display:grid;grid-template-columns:minmax(220px,.8fr) 1.2fr;overflow:hidden}
.case-study-media{position:relative;min-height:320px;background:#090909}
.case-study-media img{width:100%;height:100%;object-fit:cover;filter:brightness(.72) saturate(.9)}
.case-study-media::after,.portfolio-thumb::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(0,0,0,.88))}
.case-study-body{padding:34px}
.case-meta{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:24px}
.case-meta dt{color:#ef4444;font-size:.68rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.case-meta dd{margin:6px 0 0;color:#d4d4d8;font-size:.9rem;line-height:1.5}
.case-private{margin-top:22px;padding:14px;border-left:2px solid #b91c1c;background:rgba(185,28,28,.07);color:#a1a1aa;font-size:.82rem;line-height:1.5}
.portfolio-card{position:relative}
.portfolio-overlay{position:absolute;inset:auto 0 0;z-index:3;padding:42px 16px 14px;background:linear-gradient(transparent,rgba(0,0,0,.96));opacity:0;transform:translateY(8px);transition:.25s;pointer-events:none}
.portfolio-card:hover .portfolio-overlay,.portfolio-card:focus-visible .portfolio-overlay{opacity:1;transform:none}
.portfolio-overlay strong{display:block;color:#fff;font-size:.9rem}.portfolio-overlay span{color:#f87171;font-size:.7rem;text-transform:uppercase;letter-spacing:.12em}
.service-icon{width:34px;height:34px;margin-bottom:18px;color:#ef4444;transition:transform .3s,color .3s,filter .3s}
#services .card:hover .service-icon{transform:translateY(-3px) scale(1.04);color:#fff;filter:drop-shadow(0 0 8px rgba(239,68,68,.5))}
#process .grid{position:relative}
#process .grid::before,#process .grid::after{content:"";position:absolute;top:20px;left:0;right:0;height:2px;background:#27272a;z-index:-1}
#process .grid::after{right:auto;width:var(--process-progress,0%);background:#ef4444;box-shadow:0 0 16px rgba(239,68,68,.45);transition:width .15s linear}
.founder-card{display:grid;grid-template-columns:170px 1fr;gap:34px;align-items:center}
.founder-logo{width:170px;height:170px;object-fit:cover;border-radius:22px;border:1px solid rgba(239,68,68,.35);box-shadow:0 0 45px rgba(185,28,28,.16)}
.review-carousel #reviews-list article{display:none}
.review-carousel #reviews-list article.active-review{display:block;animation:reviewFade .35s ease}
@keyframes reviewFade{from{opacity:0;transform:translateX(8px)}to{opacity:1;transform:none}}
.carousel-controls{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:16px}
.carousel-controls button{width:42px;height:42px;border:1px solid #3f3f46;border-radius:50%;background:#0a0a0a;color:#fff;font-size:1.1rem}
.carousel-controls button:hover{border-color:#ef4444;background:rgba(185,28,28,.12)}
.btn{position:relative;overflow:hidden}.btn::after{content:"→";margin-left:.55rem;transition:transform .2s}.btn:hover::after{transform:translateX(3px)}
button.btn::after{content:""}
main>section{position:relative}
main>section+section::before{content:"";position:absolute;top:0;left:50%;width:min(92%,1150px);height:1px;transform:translateX(-50%);background:linear-gradient(90deg,transparent,rgba(185,28,28,.45),transparent)}
/* Loading overlay removed for instant first paint. */
.parallax-img{will-change:transform;transition:transform .18s ease-out}
@media(max-width:900px){.case-study{grid-template-columns:1fr}.case-study-media{min-height:240px}.results-grid,.proof-grid{grid-template-columns:1fr 1fr}.founder-card{grid-template-columns:120px 1fr}.founder-logo{width:120px;height:120px}}
@media(max-width:767px){header nav{display:none!important}.mobile-menu-button{display:flex;flex-direction:column}.header-cta{display:none}.results-grid,.proof-grid,.case-meta{grid-template-columns:1fr}.founder-card{grid-template-columns:1fr}.founder-logo{width:120px;height:120px}.case-study-body{padding:24px}#process .grid::before,#process .grid::after{display:none}.portfolio-overlay{opacity:1;transform:none;padding-top:34px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}.parallax-img{transform:none!important}}
.metric-note{padding:14px 16px;border-left:2px solid #7f1d1d;background:rgba(127,29,29,.08);border-radius:0 10px 10px 0}.early-cta{background:linear-gradient(120deg,rgba(127,29,29,.16),rgba(255,255,255,.025))}.footer-links{display:flex;flex-wrap:wrap;gap:18px}.footer-links a{color:#a1a1aa;text-decoration:none}.footer-links a:hover{color:#fff}.legal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.legal-grid h2{font-size:1.15rem;font-weight:800;color:#fff}.legal-grid p{margin-top:10px;color:#a1a1aa;font-size:.92rem;line-height:1.75}@media(max-width:767px){.legal-grid{grid-template-columns:1fr}.footer-links{gap:14px}}
/* Performance-tuned background field: four larger shapes, transform-only animation. */
.shape{filter:none;animation-duration:18s;will-change:transform}
.shape.square{width:170px;height:170px}
.shape.circle{width:240px;height:240px}
.shape.triangle{border-left-width:90px;border-right-width:90px;border-bottom-width:156px}
.shape.star{font-size:150px}
.s1{top:10%;left:-4%}.s2{top:34%;right:-7%}.s3{top:64%;left:-6%}.s4{top:84%;right:2%}
@keyframes floatShape{0%,100%{transform:translate3d(0,0,0) rotate(18deg);opacity:.3}50%{transform:translate3d(14px,-22px,0) rotate(28deg);opacity:.58}}
.page-hidden .shape{animation-play-state:paused}
@media(max-width:767px){.shape.square{width:125px;height:125px}.shape.circle{width:175px;height:175px}.shape.triangle{border-left-width:68px;border-right-width:68px;border-bottom-width:118px}.shape.star{font-size:115px}}
.portfolio-thumb{isolation:isolate;background:#0a0a0a}.portfolio-thumb img{width:100%;height:100%;object-fit:cover;object-position:center;filter:brightness(.74) saturate(.88) contrast(1.04)}.portfolio-thumb::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(135deg,rgba(127,29,29,.12),transparent 45%),linear-gradient(180deg,transparent 45%,rgba(0,0,0,.78));pointer-events:none}.portfolio-info{min-height:132px}.review-intro{padding:14px 16px;border-left:2px solid #b91c1c;background:rgba(127,29,29,.08);border-radius:0 10px 10px 0}
.reviews-proof{max-width:760px}.principles-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.principle-number{display:inline-grid;place-items:center;width:40px;height:40px;border:1px solid rgba(239,68,68,.35);border-radius:50%;color:#f87171;font-size:.78rem;font-weight:900}.portfolio-tags{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.project-status{font-size:.62rem;font-weight:900;letter-spacing:.11em;text-transform:uppercase;color:#a1a1aa}.campaign-brief{display:grid;grid-template-columns:.8fr 1.2fr;gap:30px;padding:28px;border:1px solid #27272a;border-radius:16px;background:linear-gradient(120deg,rgba(127,29,29,.14),rgba(255,255,255,.02))}.brief-list{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;list-style:none;margin:0;padding:0}.brief-list li{padding:12px 10px;border:1px solid #27272a;border-radius:10px;background:rgba(0,0,0,.35);color:#d4d4d8;font-size:.72rem;font-weight:700}.brief-list span{display:block;margin-bottom:5px;color:#ef4444;font-size:.66rem}.review-context{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}.review-context span{padding:10px 12px;border:1px solid #27272a;border-radius:9px;color:#d4d4d8;font-size:.78rem}.review-context strong{display:block;margin-bottom:3px;color:#f87171;font-size:.6rem;letter-spacing:.12em;text-transform:uppercase}.review-outcome{margin:14px 0 0;padding:12px 14px;border-left:2px solid #b91c1c;background:rgba(127,29,29,.07);color:#e4e4e7;font-size:.9rem;line-height:1.6}@media(max-width:900px){.principles-grid{grid-template-columns:1fr}.campaign-brief{grid-template-columns:1fr}.brief-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.review-context{grid-template-columns:1fr}.brief-list{grid-template-columns:1fr}}
/* Statement typography: dimensional red gradients without image assets. */
main h1,main h2{letter-spacing:-.045em;text-wrap:balance}
main h1{background:linear-gradient(118deg,#fff 2%,#f4f4f5 28%,#f87171 57%,#dc2626 80%,#7f1d1d 112%);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 12px 38px rgba(185,28,28,.12)}
main h1 .red,main h2 .red{background:linear-gradient(110deg,#ff8b8b 0%,#ef4444 38%,#b91c1c 72%,rgba(127,29,29,.7) 100%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 7px 20px rgba(239,68,68,.16))}
main section h2{font-size:clamp(2.65rem,6.2vw,5.6rem);line-height:.94;font-weight:900}
main section h2::after{content:"";display:block;width:72px;height:3px;margin-top:20px;border-radius:99px;background:linear-gradient(90deg,#ef4444,rgba(239,68,68,.08));box-shadow:0 0 18px rgba(239,68,68,.22)}
#share-review h2::after,#contact h2::after{margin-left:auto;margin-right:auto}
@media(max-width:767px){main section h2{font-size:clamp(2.45rem,12vw,4.4rem)}main h1{font-size:clamp(3.3rem,14vw,5.5rem)}}
#principles{display:none!important}
/* User-requested simplification: hide detailed completed-project metadata and selected service cards. */
#active-projects .case-meta{display:none!important}
#services .mt-12.grid>.card:nth-child(2),#services .mt-12.grid>.card:nth-child(3),#services .mt-12.grid>.card:nth-child(5){display:none!important}
#services .mt-12.grid{grid-template-columns:repeat(3,minmax(0,1fr))}
/* Stronger decorative field. */
.shape{border-color:rgba(239,68,68,.48)!important;opacity:.62!important;filter:drop-shadow(0 0 28px rgba(239,68,68,.2))!important}
.shape.square{width:270px;height:270px}.shape.circle{width:360px;height:360px}.shape.triangle{border-left-width:135px;border-right-width:135px;border-bottom-width:234px;border-bottom-color:rgba(239,68,68,.32)!important}.shape.star{font-size:230px;color:rgba(239,68,68,.36)!important}
/* Brand slogan. */
.hero-slogan{margin:0 0 18px;font-size:clamp(.82rem,1.4vw,1rem);font-weight:900;letter-spacing:.32em;color:#fff;text-transform:uppercase}.hero-slogan span{color:#ef4444;text-shadow:0 0 18px rgba(239,68,68,.35)}
/* Intro loader uses existing Lumi logo asset; no generated image. */
.lumi-loader{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;background:radial-gradient(circle at 50% 45%,rgba(127,29,29,.18),transparent 30%),#030303;transition:opacity .55s ease,visibility .55s ease}.lumi-loader.is-done{opacity:0;visibility:hidden;pointer-events:none}.loader-core{width:min(72vw,360px);text-align:center}.loader-core img{width:min(210px,60vw);height:auto;margin:auto;filter:drop-shadow(0 0 28px rgba(239,68,68,.22));animation:loaderPulse 1.25s ease-in-out infinite}.loader-slogan{margin-top:24px;font-size:.7rem;font-weight:900;letter-spacing:.28em;color:#e4e4e7}.loader-slogan span{color:#ef4444}.loader-line{height:2px;margin:22px auto 0;overflow:hidden;border-radius:10px;background:#18181b}.loader-line i{display:block;width:42%;height:100%;background:linear-gradient(90deg,#7f1d1d,#ef4444,#f87171);animation:loaderSweep 1s ease-in-out infinite}@keyframes loaderPulse{50%{transform:scale(1.035);filter:drop-shadow(0 0 42px rgba(239,68,68,.38))}}@keyframes loaderSweep{0%{transform:translateX(-120%)}100%{transform:translateX(340%)}}
@media(max-width:767px){#services .mt-12.grid{grid-template-columns:1fr}.shape.square{width:190px;height:190px}.shape.circle{width:250px;height:250px}.shape.triangle{border-left-width:95px;border-right-width:95px;border-bottom-width:165px}.shape.star{font-size:165px}}
/* Readability pass: friendlier rounded typography + clean portfolio cards. */
:root{--sans:"Arial Rounded MT Bold","Avenir Next Rounded","Nunito",ui-rounded,system-ui,-apple-system,BlinkMacSystemFont,sans-serif}
body,input,textarea,select,button{font-family:var(--sans)!important}
body{letter-spacing:-.012em}.text-sm.uppercase,.hero-slogan,.portfolio-role,.project-status{letter-spacing:.12em!important}
h1,h2,h3,.result-value,.principle-number{letter-spacing:-.035em!important}
#portfolio .portfolio-card{border-radius:22px;isolation:isolate}
#portfolio .portfolio-info{position:relative;z-index:4;min-height:0!important;padding:1.25rem 1.25rem 1.4rem;background:linear-gradient(180deg,rgba(13,13,13,.96),rgba(8,8,8,.99))}
#portfolio .portfolio-info h3{font-size:1.35rem;line-height:1.2;margin:.75rem 0 .45rem!important}
#portfolio .portfolio-scope{font-size:.92rem;line-height:1.55;color:#a1a1aa;margin:0}
#portfolio .portfolio-tags{align-items:flex-start;gap:.55rem;justify-content:flex-start}
#portfolio .portfolio-role,#portfolio .project-status{display:inline-flex;align-items:center;width:auto;max-width:100%;font-size:.68rem!important;line-height:1.25!important;padding:.42rem .62rem;border-radius:999px;text-decoration:none!important;white-space:normal}
#portfolio .portfolio-role{background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.28);color:#f87171}
#portfolio .project-status{background:rgba(255,255,255,.045);border:1px solid rgba(161,161,170,.2);color:#a1a1aa}
/* The old mobile overlay sat directly on top of the title/scope. Keep the card itself as the CTA instead. */
#portfolio .portfolio-overlay{display:none!important}
@media(max-width:767px){#portfolio .portfolio-card{border-radius:18px}#portfolio .portfolio-info{padding:1.05rem 1rem 1.2rem}#portfolio .portfolio-info h3{font-size:1.25rem}.portfolio-role,.project-status{letter-spacing:.08em!important}}
/* Final refinement: clearer hierarchy, premium motion, less visual noise. */
main>section{position:relative}main>section+section{border-top:1px solid rgba(255,255,255,.035)}
main>section>div>p:first-child:not(.hero-slogan),main>section>p:first-child{font-size:.72rem!important;letter-spacing:.24em!important;color:#f87171!important}
main section h2{max-width:980px}.card p,.portfolio-scope{max-width:62ch}
.reveal{opacity:0;transform:translate3d(0,34px,0) scale(.985);filter:blur(5px);transition:opacity .75s cubic-bezier(.2,.75,.2,1),transform .85s cubic-bezier(.2,.75,.2,1),filter .7s ease}.reveal.is-visible{opacity:1;transform:none;filter:none}
.shape{animation:shapeFloat 13s ease-in-out infinite alternate;will-change:transform}.shape:nth-child(2n){animation-duration:17s;animation-direction:alternate-reverse}.shape:nth-child(3n){animation-duration:21s}@keyframes shapeFloat{0%{transform:translate3d(-8px,8px,0) rotate(-2deg)}100%{transform:translate3d(20px,-22px,0) rotate(5deg)}}
.interactive-surface{position:relative;transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .22s ease,border-color .25s ease,box-shadow .25s ease;will-change:transform}.interactive-surface::after{content:"";position:absolute;inset:0;z-index:6;pointer-events:none;border-radius:inherit;opacity:0;background:radial-gradient(circle at var(--cx,50%) var(--cy,50%),rgba(239,68,68,.13),transparent 42%);transition:opacity .25s ease}.interactive-surface:hover{border-color:rgba(239,68,68,.48)!important;box-shadow:0 20px 55px rgba(0,0,0,.32),0 0 30px rgba(239,68,68,.09)}.interactive-surface:hover::after{opacity:1}
a[class*="bg-red"],button[class*="bg-red"],.btn-primary{position:relative;overflow:hidden;isolation:isolate;transition:transform .2s ease,box-shadow .25s ease,filter .25s ease}a[class*="bg-red"]::after,button[class*="bg-red"]::after,.btn-primary::after{content:"";position:absolute;inset:-60% -30%;z-index:-1;background:linear-gradient(105deg,transparent 36%,rgba(255,255,255,.26) 49%,transparent 62%);transform:translateX(-85%) rotate(8deg);transition:transform .65s ease}a[class*="bg-red"]:hover,button[class*="bg-red"]:hover,.btn-primary:hover{transform:translateY(-2px);box-shadow:0 12px 34px rgba(220,38,38,.26);filter:saturate(1.08)}a[class*="bg-red"]:hover::after,button[class*="bg-red"]:hover::after,.btn-primary:hover::after{transform:translateX(85%) rotate(8deg)}
.stat-number{font-variant-numeric:tabular-nums}.stat-card{overflow:hidden}
#portfolio .portfolio-card img{transition:transform .65s cubic-bezier(.2,.75,.2,1),filter .4s ease}#portfolio .portfolio-card:hover img{transform:scale(1.055)!important;filter:saturate(1.08) contrast(1.03)}
.lumi-loader{transition:opacity .7s cubic-bezier(.2,.75,.2,1),visibility .7s ease,transform .7s ease}.lumi-loader.is-done{transform:scale(1.025)}
@media(prefers-reduced-motion:reduce){.shape,.reveal,.interactive-surface{animation:none!important;transition:none!important;transform:none!important;filter:none!important}.reveal{opacity:1!important}}