/* ============================================================
   RESPLANDES JR — Dark Mode System
   Barlow 800 display · Inter body · #AD0011 brand red
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Barlow:wght@400;500;600;700;800;900&family=Inter:wght@300;400;500;600&family=JetBrains+Mono:wght@400;500&display=swap');

:root {
  --bg:    #0D0D0D;
  --bg1:   #141414;
  --bg2:   #1A1A1A;
  --bg3:   #232323;
  --fg:    #FFFFFF;
  --fg2:   #C0C0C0;
  --fg3:   #787878;
  --border:rgba(255,255,255,0.08);
  --brd2:  rgba(255,255,255,0.14);
  --red:   #AD0011;
  --redh:  #C5000F;
  --reddim:rgba(173,0,17,0.14);
  --ease:  cubic-bezier(0.16,1,0.3,1);
  --fast:  150ms;
  --base:  250ms;
  --slow:  400ms;
  --cin:   800ms;
}

/* ── Base ─────────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;scroll-behavior:smooth}
body{font-family:'Inter',sans-serif;font-size:16px;line-height:1.6;color:var(--fg);background:var(--bg);overflow-x:hidden}
::selection{background:var(--red);color:#fff}
:focus-visible{outline:2px solid var(--red);outline-offset:3px;border-radius:3px}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer;background:none;border:0;color:inherit}
img,svg{display:block;max-width:100%;height:auto}

/* ── Layout ───────────────────────────────────────── */
.c{width:100%;max-width:1280px;margin-inline:auto;padding-inline:clamp(24px,4vw,80px)}
.sec{padding-block:clamp(80px,10vw,140px)}
.sec--1{background:var(--bg1)}
.sec--2{background:var(--bg2)}

/* ── Logo ─────────────────────────────────────────── */
.logo{display:inline-flex;align-items:center;gap:12px;text-decoration:none}
.logo__icon{flex-shrink:0}
.logo__text{display:grid;gap:2px}
.logo__name{font-family:'Barlow',sans-serif;font-weight:800;font-size:1.0625rem;letter-spacing:.08em;text-transform:uppercase;color:#fff;line-height:1}
.logo__sub{font-family:'Barlow',sans-serif;font-weight:500;font-size:.625rem;letter-spacing:.32em;text-transform:uppercase;color:var(--fg3);line-height:1}

/* ── Nav pill ─────────────────────────────────────── */
.nav-wrap{position:fixed;top:20px;left:50%;transform:translateX(-50%);z-index:100;pointer-events:none}
.nav-pill{pointer-events:all;background:rgba(18,18,18,0.88);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid var(--border);border-radius:999px;padding:5px;display:flex;align-items:center;gap:2px}
.nav-pill a{padding:9px 22px;border-radius:999px;font-size:.875rem;font-weight:500;color:rgba(255,255,255,.65);transition:all var(--fast) var(--ease);white-space:nowrap}
.nav-pill a:hover{color:#fff}
.nav-pill a.active{background:rgba(255,255,255,.1);color:#fff}
.nav-cta{margin-left:6px;background:var(--red)!important;color:#fff!important;font-weight:600!important}
.nav-cta:hover{background:var(--redh)!important}
.nav-back{color:var(--fg3)!important;font-size:.75rem!important;padding:9px 14px!important;border-right:1px solid var(--border);margin-right:4px}

/* ── Buttons ──────────────────────────────────────── */
.btn{display:inline-flex;align-items:center;gap:12px;padding:18px 36px;border-radius:999px;font-family:'Barlow',sans-serif;font-weight:700;font-size:.875rem;letter-spacing:.08em;text-transform:uppercase;border:none;cursor:pointer;transition:all var(--base) var(--ease);white-space:nowrap}
.btn--red{background:var(--red);color:#fff}
.btn--red:hover{background:var(--redh);transform:translateY(-2px)}
.btn--ghost{background:transparent;color:#fff;border:1px solid var(--brd2)}
.btn--ghost:hover{background:var(--bg3);transform:translateY(-2px)}
.btn--sm{padding:12px 24px;font-size:.75rem}
.btn--lg{padding:22px 48px;font-size:1rem}
.btn__arr{transition:transform var(--base) var(--ease)}
.btn:hover .btn__arr{transform:translateX(6px)}

/* ── Section label ────────────────────────────────── */
.sl{display:flex;align-items:center;gap:10px;font-family:'Barlow',sans-serif;font-size:.75rem;font-weight:600;letter-spacing:.26em;text-transform:uppercase;color:var(--fg3);margin-bottom:28px}

/* ── Image slot dark ──────────────────────────────── */
.isd{position:relative;overflow:hidden;background:var(--bg2);background-image:repeating-linear-gradient(45deg,transparent,transparent 10px,rgba(255,255,255,.018) 10px,rgba(255,255,255,.018) 11px)}
.isd__lbl{position:absolute;bottom:16px;left:16px;font-family:'JetBrains Mono',monospace;font-size:.6rem;color:var(--fg3);letter-spacing:.1em;text-transform:uppercase;background:rgba(0,0,0,.5);padding:4px 10px;border-radius:999px}
.isd__num{position:absolute;bottom:16px;right:16px;font-family:'JetBrains Mono',monospace;font-size:.6875rem;color:rgba(255,255,255,.4);letter-spacing:0}
.isd__ov{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.6) 0%,transparent 55%);opacity:0;transition:opacity var(--base) var(--ease)}
.isd:hover .isd__ov{opacity:1}
.isd img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease)}
.isd:hover img{transform:scale(1.04)}

/* ── Hero ─────────────────────────────────────────── */
.hero{position:relative;min-height:100svh;display:flex;flex-direction:column;overflow:hidden;padding-top:0}
.hero__bg{position:absolute;inset:0}
.hero__bg .isd{width:100%;height:100%}
.hero__grad{position:absolute;inset:0;background:linear-gradient(105deg,rgba(0,0,0,.88) 0%,rgba(0,0,0,.55) 50%,rgba(0,0,0,.3) 100%)}
.hero__inner{position:relative;z-index:2;flex:1;display:flex;flex-direction:column;justify-content:space-between;padding-block:100px 56px}
.hero__logo-row{padding-inline:clamp(24px,4vw,80px)}
.hero__bottom{display:grid;grid-template-columns:1fr;gap:48px;align-items:end;padding-inline:clamp(24px,4vw,80px)}
@media(min-width:1024px){.hero__bottom{grid-template-columns:1fr 1fr}}
.hero__title{font-family:'Barlow',sans-serif;font-weight:900;font-size:68px;line-height:.97;letter-spacing:-.02em;color:#fff;text-transform:uppercase;text-wrap:balance}
.hero__title span{display:block;overflow:hidden;padding-bottom:.04em}
.hero__title span em{display:block;animation:line-up var(--cin) var(--ease) both;color:inherit;font-style:normal}
.hero__title span:nth-child(1) em{animation-delay:.05s}
.hero__title span:nth-child(2) em{animation-delay:.18s}
.hero__title span:nth-child(3) em{animation-delay:.29s}
.hero__title span:nth-child(4) em{animation-delay:.38s}
.hero__right{display:flex;flex-direction:column;gap:24px;justify-content:flex-end;animation:fade-up .7s var(--ease) .4s both}
.hero__right p{font-size:1rem;color:rgba(255,255,255,.7);line-height:1.65;max-width:44ch}
.hero__micro{font-family:'JetBrains Mono',monospace;font-size:.6875rem;color:var(--fg3);display:flex;align-items:center;gap:10px}
.hero__micro::before{content:'';width:24px;height:1px;background:var(--red)}
.hero__ctas{display:flex;gap:12px;flex-wrap:wrap}

/* ── Marquee ──────────────────────────────────────── */
.mq{overflow:hidden;border-block:1px solid var(--border);padding-block:18px;background:var(--bg1)}
.mq__track{display:flex;gap:40px;width:max-content;animation:marquee 55s linear infinite;font-family:'Barlow',sans-serif;font-size:clamp(1.5rem,2.5vw,2rem);font-weight:700;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;align-items:center;color:var(--fg3)}
.mq__track .dot{color:var(--red);font-size:1rem}
.mq__track em{font-style:normal;color:var(--red)}
@media(prefers-reduced-motion:reduce){.mq__track{animation:none}}

/* ── Service cards ────────────────────────────────── */
.svcs{display:grid;grid-template-columns:1fr;gap:16px}
@media(min-width:768px){.svcs{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1100px){.svcs{grid-template-columns:repeat(4,1fr)}}
.svc{background:var(--bg2);border:1px solid var(--border);border-radius:16px;padding:32px;display:flex;flex-direction:column;gap:24px;transition:all var(--base) var(--ease);position:relative;overflow:hidden}
.svc::before{content:'';position:absolute;inset:0;background:radial-gradient(60% 60% at 80% 20%,var(--reddim),transparent 80%);opacity:0;transition:opacity var(--base) var(--ease)}
.svc:hover{border-color:var(--brd2);background:var(--bg3)}
.svc:hover::before{opacity:1}
.svc__num{font-family:'JetBrains Mono',monospace;font-size:.6875rem;color:var(--red);letter-spacing:.1em}
.svc__icon{width:44px;height:44px;border:1px solid var(--brd2);border-radius:10px;display:grid;place-items:center;color:var(--fg2)}
.svc__title{font-family:'Barlow',sans-serif;font-weight:700;font-size:1.25rem;color:#fff;line-height:1.2}
.svc__desc{font-size:.9375rem;color:var(--fg3);line-height:1.65;flex:1}
.svc__link{display:inline-flex;align-items:center;gap:8px;font-size:.75rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--fg3);margin-top:auto;transition:color var(--fast)}
.svc:hover .svc__link{color:var(--red)}

/* ── Portfolio grid ───────────────────────────────── */
.pgrid{display:grid;grid-template-columns:1fr;gap:2px}
@media(min-width:768px){.pgrid{grid-template-columns:1fr 1fr}}
.pitem{position:relative;overflow:hidden;cursor:pointer;border-radius:0}
.pitem .isd{height:320px}
@media(min-width:1024px){.pitem .isd{height:380px}}
.pitem__body{padding:24px 0 32px}
.pitem__title{font-family:'Barlow',sans-serif;font-weight:700;font-size:1.375rem;color:#fff;margin-bottom:12px;line-height:1.2}
.pitem__desc{font-size:.9375rem;color:var(--fg3);line-height:1.6;max-width:52ch;margin-bottom:16px}
.pitem__tags{display:flex;gap:8px;flex-wrap:wrap}
.ptag{padding:5px 14px;border:1px solid var(--brd2);border-radius:999px;font-size:.75rem;color:var(--fg3);letter-spacing:.04em}

/* ── Diff numbered ────────────────────────────────── */
.diffs{display:grid;grid-template-columns:1fr;border-top:1px solid var(--border)}
@media(min-width:768px){.diffs{grid-template-columns:1fr 1fr}}
.diff{padding:28px 0;border-bottom:1px solid var(--border);display:flex;gap:20px;align-items:start;transition:background var(--fast)}
@media(min-width:768px){.diff{padding:28px 32px}.diffs .diff:nth-child(2n){border-left:1px solid var(--border)}}
.diff:hover{background:var(--bg2)}
.diff__num{font-family:'JetBrains Mono',monospace;font-size:.6875rem;color:var(--red);min-width:28px;padding-top:4px}
.diff__text{font-family:'Barlow',sans-serif;font-weight:600;font-size:clamp(1rem,1.4vw,1.25rem);color:#fff;line-height:1.3}

/* ── Stats ────────────────────────────────────────── */
.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:2px}
@media(min-width:768px){.stats{grid-template-columns:repeat(4,1fr)}}
.stat{background:var(--bg2);padding:40px 32px;border:1px solid var(--border)}
.stat__val{font-family:'Barlow',sans-serif;font-weight:900;font-size:clamp(2.5rem,5vw,4.5rem);line-height:.95;letter-spacing:-.03em;color:#fff;margin-bottom:12px}
.stat__val span{color:var(--red)}
.stat__lbl{font-size:.8125rem;color:var(--fg3);letter-spacing:.06em;text-transform:uppercase;font-weight:500;line-height:1.4}

/* ── Testimonials ─────────────────────────────────── */
.quotes{display:grid;grid-template-columns:1fr;gap:2px}
@media(min-width:768px){.quotes{grid-template-columns:repeat(3,1fr)}}
.quote{background:var(--bg2);border:1px solid var(--border);border-radius:16px;padding:36px 32px;display:flex;flex-direction:column;gap:20px;transition:border-color var(--base)}
.quote:hover{border-color:var(--brd2)}
.quote__num{font-family:'JetBrains Mono',monospace;font-size:.625rem;color:var(--red);letter-spacing:.1em}
.quote__text{font-family:'Barlow',sans-serif;font-weight:500;font-size:1rem;color:rgba(255,255,255,.85);line-height:1.65;flex:1}
.quote__text::before{content:open-quote;color:var(--red);font-weight:700}
.quote__text::after{content:close-quote;color:var(--red);font-weight:700}
.quote__name{font-weight:600;font-size:.9375rem;color:#fff}
.quote__role{font-size:.8125rem;color:var(--fg3)}

/* ── Compare ──────────────────────────────────────── */
.cmp{background:var(--bg2);border:1px solid var(--border);border-radius:16px;overflow:hidden}
.cmp__head{display:grid;grid-template-columns:1fr 1fr;background:var(--bg3);border-bottom:1px solid var(--border)}
.cmp__hcell{padding:18px 28px;font-family:'Barlow',sans-serif;font-size:.6875rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;display:flex;align-items:center;gap:10px}
.cmp__hcell--bad{color:var(--fg3)}
.cmp__hcell--good{color:var(--red);border-left:1px solid var(--border)}
.cmp__dot{width:8px;height:8px;border-radius:999px;background:currentColor}
.cmp__row{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--border)}
.cmp__row:last-child{border-bottom:none}
.cmp__cell{padding:22px 28px;font-size:.9375rem;line-height:1.5}
.cmp__cell--bad{color:var(--fg3);text-decoration:line-through;text-decoration-color:rgba(255,255,255,.15)}
.cmp__cell--good{color:#fff;border-left:1px solid var(--border)}

/* ── Chips ────────────────────────────────────────── */
.chips{display:flex;flex-wrap:wrap;gap:10px}
.chip{padding:10px 20px;border:1px solid var(--brd2);border-radius:999px;font-size:.9375rem;color:var(--fg2);transition:all var(--fast) var(--ease);display:inline-flex;align-items:center;gap:8px}
.chip:hover{background:var(--red);border-color:var(--red);color:#fff;transform:translateY(-2px)}
.chip__dot{width:5px;height:5px;border-radius:999px;background:var(--red)}

/* ── FAQ ──────────────────────────────────────────── */
.faq{border-top:1px solid var(--border)}
.faq details{border-bottom:1px solid var(--border)}
.faq summary{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:24px 0;cursor:pointer;font-family:'Barlow',sans-serif;font-size:clamp(1rem,1.5vw,1.375rem);font-weight:700;color:#fff;line-height:1.3;list-style:none;transition:color var(--fast)}
.faq summary::-webkit-details-marker{display:none}
.faq summary:hover{color:var(--red)}
.faq__icon{width:16px;height:16px;position:relative;flex-shrink:0;color:var(--fg3)}
.faq__icon::before,.faq__icon::after{content:'';position:absolute;background:currentColor;transition:transform var(--base) var(--ease)}
.faq__icon::before{top:50%;left:0;right:0;height:1px;transform:translateY(-50%)}
.faq__icon::after{left:50%;top:0;bottom:0;width:1px;transform:translateX(-50%)}
details[open] .faq__icon::after{transform:translateX(-50%) rotate(90deg)}
.faq__panel{display:grid;grid-template-columns:1fr;gap:8px;padding:0 0 24px}
@media(min-width:768px){.faq__panel{grid-template-columns:auto 1fr;gap:24px}}
.faq__n{font-family:'JetBrains Mono',monospace;font-size:.6875rem;color:var(--red);white-space:nowrap;padding-top:4px}
.faq__panel p{font-size:1rem;color:var(--fg3);line-height:1.7;max-width:68ch}

/* ── Case section ─────────────────────────────────── */
.case-sec{position:relative;overflow:hidden}
.case-sec::before{content:'';position:absolute;right:-160px;top:-160px;width:600px;height:600px;background:radial-gradient(circle,rgba(173,0,17,.5) 0%,transparent 60%);filter:blur(24px);animation:glow 6s ease-in-out infinite;pointer-events:none}
.case-sec::after{content:'';position:absolute;left:-240px;bottom:-200px;width:500px;height:500px;background:radial-gradient(circle,rgba(173,0,17,.18) 0%,transparent 65%);filter:blur(40px);pointer-events:none}
.case-inner{position:relative;z-index:1}
.case-grid{display:grid;grid-template-columns:1fr;gap:48px}
@media(min-width:1024px){.case-grid{grid-template-columns:6fr 5fr;gap:80px;align-items:start}}
.case-title{font-family:'Barlow',sans-serif;font-weight:900;font-size:clamp(1.75rem,3vw,3rem);line-height:1.05;letter-spacing:-.02em;color:#fff;margin-bottom:32px}
.case-body p{font-size:1rem;color:var(--fg3);line-height:1.7;margin-bottom:20px}
.case-quote{border-left:2px solid var(--red);padding-left:28px;margin-top:36px}
.case-quote blockquote{font-family:'Barlow',sans-serif;font-weight:600;font-size:clamp(1.125rem,1.8vw,1.5rem);color:#fff;line-height:1.4;font-style:italic}
.case-quote blockquote::before{content:open-quote;color:var(--red)}
.case-quote blockquote::after{content:close-quote;color:var(--red)}
.case-quote .author{margin-top:16px;font-size:.875rem;color:var(--fg3)}
.case-quote .author strong{color:#fff}

/* ── CTA final ────────────────────────────────────── */
.cta-end{position:relative;overflow:hidden;background:var(--bg1)}
.cta-end::before{content:'';position:absolute;right:-200px;top:-200px;width:700px;height:700px;background:radial-gradient(circle,rgba(173,0,17,.4) 0%,transparent 58%);filter:blur(20px);animation:glow 7s ease-in-out infinite;pointer-events:none}
.cta-end__inner{position:relative;z-index:1}
.cta-end__title{font-family:'Barlow',sans-serif;font-weight:900;font-size:clamp(2.25rem,5vw,5rem);line-height:1;letter-spacing:-.03em;color:#fff;max-width:20ch;margin-block:20px 40px;text-transform:uppercase}
.cta-end__title em{font-style:normal;color:var(--red)}
.cta-end__micro{font-family:'JetBrains Mono',monospace;font-size:.6875rem;color:var(--fg3);display:flex;align-items:center;gap:10px;margin-bottom:32px}
.cta-end__micro::before{content:'';width:24px;height:1px;background:var(--red)}
.cta-end__ctas{display:flex;gap:12px;flex-wrap:wrap}

/* ── Footer ───────────────────────────────────────── */
.footer{background:#0A0A0A;padding-block:60px 32px;border-top:1px solid var(--border)}
.footer__grid{display:grid;grid-template-columns:1fr;gap:40px;margin-bottom:60px}
@media(min-width:768px){.footer__grid{grid-template-columns:5fr 3fr 3fr;gap:60px}}
.footer__brand-name{font-family:'Barlow',sans-serif;font-weight:900;font-size:clamp(2rem,4vw,3.5rem);line-height:.95;letter-spacing:-.03em;text-transform:uppercase;color:#fff}
.footer__brand-name span{color:var(--red)}
.footer__sub{margin-top:16px;font-size:.9375rem;color:var(--fg3);max-width:36ch;line-height:1.6}
.footer__col-ttl{font-family:'Barlow',sans-serif;font-size:.6875rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--fg3);margin-bottom:20px}
.footer__list{list-style:none;display:grid;gap:12px}
.footer__list a,.footer__list span{font-size:.9375rem;color:rgba(255,255,255,.6);transition:color var(--fast)}
.footer__list a:hover{color:#fff}
.footer__bottom{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding-top:28px;border-top:1px solid var(--border);font-size:.8125rem;color:var(--fg3)}

/* ── Reveal ───────────────────────────────────────── */
.rev{opacity:0;transform:translateY(24px);transition:opacity var(--cin) var(--ease),transform var(--cin) var(--ease)}
.rev.vis{opacity:1;transform:none}
.rev.d1{transition-delay:80ms}.rev.d2{transition-delay:160ms}.rev.d3{transition-delay:240ms}.rev.d4{transition-delay:320ms}

/* ── Keyframes ────────────────────────────────────── */
@keyframes line-up{from{transform:translateY(108%);opacity:0}to{transform:translateY(0);opacity:1}}
@keyframes fade-up{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes glow{0%,100%{opacity:.85;transform:scale(1)}50%{opacity:1;transform:scale(1.07)}}

/* ── Mobile nav ───────────────────────────────────── */
@media(max-width:767px){
  .nav-pill .nav-links{display:none}
  .hero__title{font-size:clamp(2.25rem,9vw,3.5rem)}
}
