﻿:root{
  --paper:#F5F1EA;
  --paper-2:#EBE5D8;
  --ink:#0F0E0C;
  --ink-2:#1A1916;
  --ink-3:#25241F;
  --muted:#6B6759;
  --lime:#D4F76A;
  --lime-deep:#B6E04A;
  --accent:#FF5A1F;
  --accent-deep:#E04412;
  --accent-soft:#FFE8DD;
  --coral:#1A8CFF;
  --line:rgba(15,14,12,.14);

  --container:1350px;
  --pad:clamp(20px,4vw,44px);
  --header-h:80px;

  --font-sans:"Poppins","Segoe UI","SF Pro Text","Helvetica Neue",Arial,sans-serif;
  --font-serif:Georgia,"Times New Roman",serif;
  --font-mono:"SF Mono","Cascadia Code","JetBrains Mono","Roboto Mono",Consolas,monospace;

  --ease:cubic-bezier(.16,1,.3,1);
  --ease-snap:cubic-bezier(.32,.72,0,1);
}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 20px)}
body{
  font-family:var(--font-sans);
  background:var(--paper);
  color:var(--ink);
  font-size:16px;line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer;background:none;border:0;color:inherit}
ul{list-style:none}
::selection{background:var(--lime);color:var(--ink)}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}
body::-webkit-scrollbar{width:11px}
body::-webkit-scrollbar-track{background:var(--paper-2)}
body::-webkit-scrollbar-thumb{background:var(--ink);border:3px solid var(--paper-2);border-radius:8px}

.container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:var(--pad)}
.mono{font-family:var(--font-mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase}
.serif-it{font-family:var(--font-serif);font-style:italic;font-weight:400;text-transform:none;letter-spacing:0}

/* Preloader */
.preloader{position:fixed;inset:0;z-index:9999;background:var(--ink);display:flex;align-items:center;justify-content:center;transition:opacity .5s,visibility .5s}
.preloader.loaded{opacity:0;visibility:hidden;pointer-events:none}
.preloader__logo{width:80px;height:80px;animation:preloaderPulse 1.5s ease-in-out infinite}
@keyframes preloaderPulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.8}}

/* Noise */
.noise{position:fixed;inset:-50%;z-index:200;pointer-events:none;opacity:.05;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  animation:grain 9s steps(6) infinite}
@keyframes grain{
  0%,100%{transform:translate(0,0)}20%{transform:translate(-4%,3%)}
  40%{transform:translate(3%,-4%)}60%{transform:translate(-3%,-2%)}80%{transform:translate(4%,2%)}}

.skip{position:absolute;left:-999px;top:10px;z-index:999;background:var(--ink);color:var(--lime);padding:10px 18px;border-radius:6px;font-weight:700}
.skip:focus{left:10px}

.cursor{position:fixed;top:0;left:0;width:30px;height:30px;border:1.5px solid #fff;border-radius:50%;
  z-index:400;pointer-events:none;mix-blend-mode:difference;opacity:0;
  transform:translate(-50%,-50%);transition:width .25s,height .25s,opacity .3s}
.cursor.is-on{opacity:1}
.cursor.is-big{width:58px;height:58px}
@media (hover:none),(pointer:coarse){.cursor{display:none}}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;
  padding:15px 28px;border:2px solid var(--ink);border-radius:999px;
  font-weight:700;font-size:15px;letter-spacing:-.01em;line-height:1;
  background:var(--lime);color:var(--ink);box-shadow:0 0 0 0 var(--ink);
  transition:transform .25s var(--ease),box-shadow .25s var(--ease),background .25s,color .25s;
  white-space:nowrap}
.btn .arr{display:inline-block;transition:transform .3s var(--ease)}
.btn:hover{transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--ink)}
.btn:hover .arr{transform:translate(3px,-3px)}
.btn:active{transform:translate(0,0);box-shadow:1px 1px 0 var(--ink)}
.btn--ghost{background:transparent}
.btn--ghost:hover{background:var(--ink);color:var(--paper)}
.btn--ink{background:var(--ink);color:var(--lime);border-color:var(--ink)}
.btn--ink:hover{box-shadow:4px 4px 0 var(--lime-deep)}
.btn--sm{padding:11px 20px;font-size:14px}
.btn--block{width:100%;padding:19px 28px;font-size:16px}
.dark .btn{border-color:var(--lime);box-shadow:0 0 0 0 var(--lime)}
.dark .btn:hover{box-shadow:4px 4px 0 var(--lime)}
.dark .btn--ghost{color:var(--paper);background:transparent}
.dark .btn--ghost:hover{background:var(--lime);color:var(--ink)}

.topbar{background:var(--ink);color:var(--paper);display:flex;align-items:stretch;height:40px;position:relative;z-index:60}
.topbar__marquee{flex:1;overflow:hidden;display:flex;align-items:center}
.topbar__clock{display:flex;align-items:center;gap:8px;padding-inline:20px;border-left:1px solid rgba(242,239,230,.18);
  font-family:var(--font-mono);font-size:12px;letter-spacing:.12em;color:var(--lime);white-space:nowrap}
.topbar__clock .dot{width:7px;height:7px;border-radius:50%;background:var(--lime);animation:pulse 1.6s ease-in-out infinite}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.7)}}

.marquee{overflow:hidden;position:relative}
.marquee__track{display:flex;width:max-content;align-items:center;animation:marquee var(--speed,32s) linear infinite}
.marquee:hover .marquee__track{animation-play-state:paused}
@keyframes marquee{to{transform:translateX(-50%)}}
.topbar .marquee__track{--speed:26s;gap:0}
.topbar .t-item{display:inline-flex;align-items:center;gap:14px;padding-inline:18px;
  font-family:var(--font-mono);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap}
.topbar .t-item b{color:var(--lime);font-weight:400}
.topbar a.t-item{color:inherit;text-decoration:none;cursor:pointer;transition:color .25s,background .25s;border-radius:6px;margin:2px 0}
.topbar a.t-item:hover{color:var(--ink);background:rgba(201,255,61,.14)}
.topbar a.t-item:hover b{color:var(--ink)}
.topbar a.t-item .t-item__text{display:inline-block;max-width:42ch;overflow:hidden;text-overflow:ellipsis}

.header{position:sticky;top:0;z-index:100;background:var(--paper);
  border-bottom:1px solid var(--line);transition:box-shadow .35s}
.header.is-scrolled{box-shadow:0 10px 30px -18px rgba(15,14,12,.35)}
.header__in{display:flex;align-items:center;gap:28px;height:var(--header-h);transition:height .35s var(--ease)}
.header.is-scrolled .header__in{height:66px}

/* =========================================================
   LOGO — universal friendly sizing
   ========================================================= */
.logo{display:flex;align-items:center;gap:12px;flex-shrink:0;text-decoration:none;color:var(--ink);min-height:40px}
.logo__mark{width:40px;height:40px;flex:0 0 auto;color:var(--ink);transition:transform .7s var(--ease);display:block}
.logo__img{
    height: 40px;
    max-height: 40px;
    width: auto;
    max-width: 200px;
    flex-shrink: 0;
    object-fit: contain;
    display: block;
}
.logo__mark .ring{fill:none;stroke:var(--ink);stroke-width:2;transition:stroke-dasharray .8s var(--ease),stroke-dashoffset .8s var(--ease)}
.logo__mark .bg{fill:var(--lime);transition:fill .4s var(--ease)}
.logo__mark .star{fill:var(--ink);transition:transform .7s var(--ease),fill .4s var(--ease);transform-origin:center}
.logo__mark .dot{fill:var(--coral);transition:transform .5s var(--ease);transform-origin:center}
.logo:hover .logo__mark{transform:rotate(-8deg)}
.logo:hover .logo__mark .bg{fill:var(--ink)}
.logo:hover .logo__mark .ring{stroke:var(--lime)}
.logo:hover .logo__mark .star{fill:var(--lime);transform:rotate(180deg) scale(1.15)}
.logo:hover .logo__mark .dot{transform:scale(1.6)}

/* ---------- Footer logo — dark-theme effect (no card chrome) ---------- */
.footer__logo{
  position:relative;
  display:inline-flex;align-items:center;gap:12px;
  padding:6px 10px 6px 6px;
  text-decoration:none;color:inherit;border-radius:14px;
  isolation:isolate;
  transition:transform .4s var(--ease);
}
/* Lime halo behind the logo (always on, brighter on hover) */
.footer__logo::before{
  content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:-1;
  background:radial-gradient(circle at 30% 50%, rgba(212,247,106,.16), transparent 65%);
  opacity:.85;transition:opacity .4s var(--ease), background .4s var(--ease);
}
/* Lime accent border (always on, brighter on hover) */
.footer__logo::after{
  content:"";position:absolute;inset:-1px;border-radius:inherit;pointer-events:none;
  border:1px solid rgba(212,247,106,.18);
  transition:border-color .4s var(--ease);
}
.footer__logo .logo__img{height:42px;max-height:42px;max-width:200px;
  filter:brightness(0) invert(1) drop-shadow(0 0 12px rgba(212,247,106,.32));
  transition:filter .4s var(--ease), transform .4s var(--ease);
  position:relative;z-index:1;
}
.footer__logo .logo__mark{width:42px;height:42px;transition:transform .4s var(--ease)}
.footer__logo .logo__word{color:var(--paper);font-size:20px;transition:color .3s var(--ease)}
.footer__logo .logo__word em{color:var(--lime)}
.footer__logo .logo__mark .bg{fill:var(--lime);transition:fill .3s var(--ease)}
.footer__logo .logo__mark .ring{stroke:var(--ink);transition:stroke .3s var(--ease)}
.footer__logo .logo__mark .star{fill:var(--ink);transition:fill .3s var(--ease), transform .4s var(--ease);transform-origin:center}
.footer__logo:hover{transform:translateY(-2px)}
.footer__logo:hover::before{background:radial-gradient(circle at 30% 50%, rgba(212,247,106,.32), transparent 65%);opacity:1}
.footer__logo:hover::after{border-color:rgba(212,247,106,.55)}
.footer__logo:hover .logo__img{filter:brightness(0) invert(1) drop-shadow(0 0 22px rgba(212,247,106,.7));transform:scale(1.04)}
.footer__logo:hover .logo__mark{transform:rotate(-6deg) scale(1.05)}
.footer__logo:hover .logo__mark .star{transform:rotate(180deg) scale(1.15)}

/* Mobile menu logo — matches the mobile header height */
.mobile-menu__top .logo__img{height:40px;max-height:40px;max-width:200px;filter:brightness(0) invert(1)}
.mobile-menu__top .logo__mark{width:40px;height:40px}
.mobile-menu__top .logo__word{color:var(--paper)}
.mobile-menu__top .logo__word em{color:var(--lime)}

/* Responsive: scale down logos on small screens */
@media (max-width: 640px) {
    .logo__img { height: 34px; max-height: 34px; max-width: 160px; }
    .logo__mark { width: 34px; height: 34px; }
    .mobile-menu__top .logo__img { height: 36px; max-height: 36px; max-width: 170px; }
    .mobile-menu__top .logo__mark { width: 36px; height: 36px; }
    .ftr-brand-card{max-width:none;padding:16px 16px 14px}
    .ftr-brand-card__mark{width:48px;height:48px}
    .ftr-brand-card__name{font-size:15.5px}
}
.logo__word{font-weight:800;font-size:22px;letter-spacing:-.045em;line-height:1;display:inline-flex;align-items:baseline;gap:1px}
.logo__word em{font-family:var(--font-serif);font-style:italic;font-weight:500;color:var(--accent);font-size:1.05em;letter-spacing:-.02em}
.logo__dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--coral);margin-left:3px;transform:translateY(-7px);
  box-shadow:0 0 0 0 rgba(255,90,31,.5);animation:pulse 2s infinite}

.nav{display:flex;gap:clamp(18px,2.4vw,38px);margin-inline:auto;align-items:center}
.nav a,.nav .nav-trigger{position:relative;font-weight:600;font-size:15px;letter-spacing:-.01em;padding:6px 0;color:var(--ink);background:none;border:0;cursor:pointer;font-family:inherit;display:inline-flex;align-items:center;gap:6px}
.nav a::after,.nav .nav-trigger::after{content:"";position:absolute;left:0;bottom:0;height:2px;width:100%;background:var(--ink);
  transform:scaleX(0);transform-origin:right;transition:transform .35s var(--ease)}
.nav a:hover::after,.nav .nav-trigger:hover::after,.nav a.is-active::after,.nav .has-dropdown.is-open .nav-trigger::after{transform:scaleX(1);transform-origin:left}
.nav a.is-active{color:var(--accent)}
.nav a.is-active::after{background:var(--accent)}
.nav .nav-trigger .caret{width:9px;height:9px;display:inline-block;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .3s var(--ease)}
.has-dropdown.is-open .nav-trigger .caret{transform:translateY(2px) rotate(225deg)}

.has-dropdown{position:relative}
.dropdown{position:absolute;top:calc(100% + 18px);left:50%;transform:translateX(-50%) translateY(-8px);
  min-width:280px;background:var(--paper);border:2px solid var(--ink);border-radius:16px;padding:10px;
  box-shadow:8px 8px 0 var(--ink);opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity .28s var(--ease),transform .28s var(--ease),visibility .28s;z-index:60}
.dropdown::before{content:"";position:absolute;left:50%;top:-8px;width:14px;height:14px;background:var(--paper);
  border-top:2px solid var(--ink);border-left:2px solid var(--ink);transform:translateX(-50%) rotate(45deg)}
.has-dropdown.is-open .dropdown{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(0)}
.dropdown a{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:10px;font-weight:600;font-size:14px;color:var(--ink);text-decoration:none;transition:background .25s,color .25s,transform .25s var(--ease)}
.dropdown a::after{display:none}
.dropdown a:hover{background:var(--lime);color:var(--ink);transform:translateX(2px)}
.dropdown a .dd-icon{width:34px;height:34px;flex:0 0 auto;border-radius:9px;background:var(--ink);color:var(--lime);display:grid;place-items:center}
.dropdown a .dd-icon svg{width:18px;height:18px}
.dropdown a .dd-meta{display:flex;flex-direction:column;line-height:1.2}
.dropdown a .dd-meta small{font-family:var(--font-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:500;margin-top:3px}

.header__right{display:flex;align-items:center;gap:16px;margin-left:auto;flex-shrink:0}
.status-pill{display:inline-flex;align-items:center;gap:9px;padding:9px 16px;border:1px solid var(--line);
  border-radius:999px;font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}
.status-pill .dot{width:8px;height:8px;border-radius:50%;background:var(--coral);animation:pulse 1.6s infinite}

.burger{display:none;width:46px;height:46px;border:1.5px solid var(--ink);border-radius:50%;
  position:relative;transition:background .3s;flex-shrink:0}
.burger span{position:absolute;left:13px;right:13px;height:2px;background:var(--ink);border-radius:2px;
  transition:transform .4s var(--ease),opacity .3s,top .4s var(--ease)}
.burger span:nth-child(1){top:16px}
.burger span:nth-child(2){top:22px}
.burger span:nth-child(3){top:28px}
body.nav-open .burger span:nth-child(1){top:22px;transform:rotate(45deg)}
body.nav-open .burger span:nth-child(2){opacity:0}
body.nav-open .burger span:nth-child(3){top:22px;transform:rotate(-45deg)}

.scrim{position:fixed;inset:0;background:rgba(15,14,12,.6);backdrop-filter:blur(3px);
  z-index:140;opacity:0;visibility:hidden;transition:opacity .45s,visibility .45s}
body.nav-open .scrim{opacity:1;visibility:visible}

.mobile-menu{position:fixed;top:0;right:0;bottom:0;width:min(430px,100vw);z-index:150;
  background:var(--ink);color:var(--paper);display:flex;flex-direction:column;
  transform:translateX(105%);visibility:hidden;
  transition:transform .55s var(--ease-snap),visibility .55s}
body.nav-open .mobile-menu{transform:translateX(0);visibility:visible}
body.nav-open{overflow:hidden}
.mobile-menu::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.06;
  background-image:radial-gradient(circle at 1px 1px,var(--paper) 1px,transparent 0);background-size:26px 26px}

.mobile-menu__top{display:flex;align-items:center;justify-content:space-between;
  padding:18px clamp(20px,6vw,34px);border-bottom:1px solid rgba(242,239,230,.14);gap:14px}
.mobile-menu__logo{min-width:0}
.mobile-menu__top .logo__mark{color:var(--paper)}
.mobile-menu__top .logo__mark .bg{fill:var(--lime)}
.mobile-menu__top .logo__mark .ring{stroke:var(--ink)}
.mobile-menu__top .logo__mark .star{fill:var(--ink)}
.menu-close{width:44px;height:44px;border:1.5px solid rgba(242,239,230,.35);border-radius:50%;
  display:grid;place-items:center;font-size:18px;color:var(--paper);transition:transform .4s var(--ease),border-color .3s,color .3s}
.menu-close:hover{transform:rotate(90deg);border-color:var(--lime);color:var(--lime)}

.mobile-menu__nav{padding:clamp(24px,5vh,44px) clamp(20px,6vw,34px);display:flex;flex-direction:column;gap:4px;overflow-y:auto}
.mobile-menu__nav a{display:flex;align-items:baseline;gap:16px;padding:13px 0;
  font-size:clamp(30px,7vw,40px);font-weight:800;letter-spacing:-.03em;line-height:1;
  border-bottom:1px solid rgba(242,239,230,.1);
  transform:translateX(46px);opacity:0;
  transition:transform .6s var(--ease) calc(var(--i)*70ms + .18s),opacity .6s ease calc(var(--i)*70ms + .18s),color .3s,padding-left .3s}
body.nav-open .mobile-menu__nav a{transform:translateX(0);opacity:1}
.mobile-menu__nav a:hover{color:var(--lime);padding-left:10px}
.mobile-menu__nav .num{font-family:var(--font-mono);font-size:11px;letter-spacing:.15em;color:var(--lime)}

.mobile-menu__foot{margin-top:auto;padding:22px clamp(20px,6vw,34px) 30px;border-top:1px solid rgba(242,239,230,.14)}
.mobile-menu__foot .big-mail{font-family:var(--font-serif);font-style:italic;font-size:20px;color:var(--lime);display:inline-block;margin-bottom:6px}
.mobile-menu__foot .tel{font-family:var(--font-mono);font-size:13px;letter-spacing:.08em;opacity:.75;display:block;margin-bottom:16px}
.mobile-menu__whatsapp{display:inline-flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:14px 18px;margin-bottom:14px;
  background:#25D366;color:#fff;border-radius:12px;font-weight:700;font-size:15px;text-decoration:none;letter-spacing:-.01em;
  transition:transform .25s var(--ease),box-shadow .25s;box-shadow:0 6px 16px -6px rgba(37,211,102,.5)}
.mobile-menu__whatsapp:hover{transform:translateY(-2px);box-shadow:0 10px 22px -6px rgba(37,211,102,.65)}
.mobile-menu__whatsapp svg{flex-shrink:0}
.mobile-menu__socials{display:flex;gap:10px;flex-wrap:wrap}
.mobile-menu__socials a{font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;
  border:1px solid rgba(242,239,230,.3);border-radius:999px;padding:8px 14px;transition:background .3s,color .3s,border-color .3s}
.mobile-menu__socials a:hover{background:var(--lime);color:var(--ink);border-color:var(--lime)}
.mobile-menu__clock{margin-top:16px;font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;color:rgba(242,239,230,.55)}

.hero{position:relative;overflow:hidden;padding-top:clamp(44px,6vw,84px);padding-bottom:clamp(56px,7vw,96px)}
.hero__bg{position:absolute;inset:0;pointer-events:none;
  background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);
  background-size:72px 72px;
  -webkit-mask-image:radial-gradient(ellipse 90% 80% at 60% 0%,#000 0%,transparent 75%);
          mask-image:radial-gradient(ellipse 90% 80% at 60% 0%,#000 0%,transparent 75%);
  opacity:.5}
.hero__grid{position:relative;display:grid;grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);
  gap:clamp(36px,4vw,72px);align-items:center}

/* Shared section kicker — every section's little icon + label pill */
.kicker{
  display:inline-flex;align-items:center;gap:8px;
  padding:6px 12px 6px 8px;
  background:var(--paper);color:var(--ink);
  border:1.5px solid var(--ink);border-radius:999px;
  font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;
  box-shadow:3px 3px 0 var(--ink);
  width:fit-content;margin:0 0 22px;
  transition:transform .3s var(--ease),box-shadow .3s var(--ease);
}
.kicker:hover{transform:translate(-1px,-1px);box-shadow:4px 4px 0 var(--ink)}
.kicker__ico{
  display:inline-grid;place-items:center;flex-shrink:0;
  width:20px;height:20px;border-radius:50%;
  background:var(--lime);color:var(--ink);
  border:1.5px solid var(--ink);
}
.kicker__ico svg{width:11px;height:11px;display:block}
.kicker__label{line-height:1;display:inline-flex;align-items:center;gap:6px}
.kicker__label .dot{width:5px;height:5px;border-radius:50%;background:var(--accent,#FF5A1F)}

/* Light-on-dark variant for dark hero / footer contexts */
.kicker--dark{
  background:var(--ink);color:var(--paper);
  border-color:rgba(242,239,230,.2);
  box-shadow:3px 3px 0 rgba(212,247,106,.5);
}
.kicker--dark:hover{box-shadow:4px 4px 0 rgba(212,247,106,.65)}
.kicker--dark .kicker__ico{background:var(--lime);color:var(--ink);border-color:var(--lime)}

/* Subtle coral-on-lime variant for CTA sections */
.kicker--coral{
  background:var(--ink);color:var(--lime);
  border-color:var(--ink);
  box-shadow:3px 3px 0 var(--lime);
}
.kicker--coral:hover{box-shadow:4px 4px 0 var(--lime)}
.kicker--coral .kicker__ico{background:var(--accent);color:#fff;border-color:var(--accent)}

/* Auto-apply the dark variant to any kicker sitting inside a dark section
   (.cta.dark, .testimonials, .services-page-hero, .blog-hero, .legal-hero,
   .page-dynamic-hero, .portfolio-hero, .about-hero, .footer__col h5 + .kicker) */
.cta.dark .kicker:not(.kicker--coral),
.testimonials .kicker:not(.kicker--coral),
.services-page-hero .kicker,
.blog-hero .kicker,
.legal-hero .kicker,
.page-dynamic-hero .kicker,
.portfolio-hero .kicker,
.about-hero .kicker{
  background:var(--ink);color:var(--paper);
  border-color:rgba(242,239,230,.2);
  box-shadow:3px 3px 0 rgba(212,247,106,.5);
}
.cta.dark .kicker:hover:not(.kicker--coral),
.testimonials .kicker:hover:not(.kicker--coral),
.services-page-hero .kicker:hover,
.blog-hero .kicker:hover,
.legal-hero .kicker:hover,
.page-dynamic-hero .kicker:hover,
.portfolio-hero .kicker:hover,
.about-hero .kicker:hover{
  box-shadow:4px 4px 0 rgba(212,247,106,.65);
}

/* The old spinning-◐ keyframe (kept in case other call-sites still rely on it) */
@keyframes spin{to{transform:rotate(360deg)}}

.hero__title{font-size:clamp(32px,4.6vw,64px);font-weight:800;line-height:1.02;letter-spacing:-.035em;text-transform:uppercase}
.hero__title .line{display:block;overflow:hidden;padding-bottom:.06em;margin-bottom:-.06em}
.hero__title .line__inner{display:inline-block;transform:translateY(112%);transition:transform 1s var(--ease)}
.hero__title.in .line:nth-child(1) .line__inner{transition-delay:.05s}
.hero__title.in .line:nth-child(2) .line__inner{transition-delay:.14s}
.hero__title.in .line:nth-child(3) .line__inner{transition-delay:.23s}
.hero__title.in .line:nth-child(4) .line__inner{transition-delay:.32s}
.hero__title.in .line__inner{transform:translateY(0)}
.hero__title .accent{font-family:var(--font-serif);font-style:italic;font-weight:400;text-transform:none;
  color:var(--accent);position:relative;padding-inline:.05em}
.hero__title .squig{position:absolute;left:0;right:0;bottom:-.14em;width:100%;height:.22em;overflow:visible}
.hero__title .squig path{fill:none;stroke:var(--coral);stroke-width:5;stroke-linecap:round;
  stroke-dasharray:320;stroke-dashoffset:320;transition:stroke-dashoffset 1.1s var(--ease) .9s}
.hero__title.in .squig path{stroke-dashoffset:0}
.hero__title .dot-end{color:var(--coral)}

.hero__meta{margin-top:34px;display:flex;flex-direction:column;gap:26px;max-width:520px}
.hero__meta p{font-size:17px;color:var(--muted);max-width:46ch}
.hero__meta p strong{color:var(--ink)}
.hero__actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.hero__rating{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--muted)}
.hero__rating .stars{color:var(--coral);letter-spacing:2px;font-size:15px}
.hero__rating b{color:var(--ink)}

.hero__art{position:relative;width:100%;max-width:560px;margin-inline:auto;display:grid;
  grid-template-columns:1fr;gap:20px;align-items:center;justify-items:center;padding:8px 0}
.hero__art [data-depth]{will-change:transform}

.hero__image{position:relative;width:100%;max-width:520px;margin:0;justify-self:center;z-index:2;
  aspect-ratio:1/1;border:2px solid var(--ink);border-radius:18px;overflow:hidden;background:var(--paper);
  box-shadow:10px 10px 0 var(--ink)}
.hero__image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}

.device{position:relative;margin:0;max-width:100%}
.device__screen{background:var(--paper);overflow:hidden;position:relative}

.device--desktop{position:relative;width:100%;max-width:520px;justify-self:end;z-index:2;
  border:2px solid var(--ink);border-radius:14px;background:var(--ink);padding:10px 10px 0;
  box-shadow:10px 10px 0 var(--ink)}
.device--desktop .device__bar{display:flex;align-items:center;gap:6px;padding:6px 4px 10px;border-bottom:1px solid rgba(242,239,230,.15);margin-bottom:8px;flex-wrap:nowrap}
.device--desktop .device__dot{width:9px;height:9px;flex:0 0 auto;border-radius:50%;background:#5a5a5a}
.device--desktop .device__dot:nth-child(1){background:var(--accent)}
.device--desktop .device__dot:nth-child(2){background:var(--lime-deep)}
.device--desktop .device__dot:nth-child(3){background:var(--coral)}
.device--desktop .device__url{margin-left:10px;font-family:var(--font-mono);font-size:10px;color:rgba(242,239,230,.55);background:rgba(242,239,230,.06);padding:4px 10px;border-radius:99px;flex:1;min-width:0;max-width:240px;letter-spacing:.04em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.device--desktop .device__screen{border-radius:6px;aspect-ratio:16/10;display:flex;flex-direction:column}
.device--desktop .device__base{height:18px;background:var(--ink);margin:0 -10px;border-bottom-left-radius:12px;border-bottom-right-radius:12px;position:relative}
.device--desktop .device__base::before{content:"";position:absolute;left:50%;top:0;transform:translateX(-50%);width:60px;height:4px;background:rgba(242,239,230,.18);border-radius:0 0 6px 6px}

.screen{padding:18px 22px;display:flex;flex-direction:column;gap:14px;height:100%;background:linear-gradient(180deg,#FBF9F2 0%,var(--paper) 100%)}
.screen__nav{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}
.screen__logo{display:inline-flex;align-items:center;gap:6px;font-weight:800;font-size:12px;letter-spacing:-.03em;flex:0 0 auto;min-width:0}
.screen__logo svg{width:18px;height:18px;flex:0 0 auto}
.screen__logo svg .bg{fill:var(--lime)}
.screen__logo svg .ring{stroke:var(--ink);fill:none;stroke-width:2}
.screen__logo svg .star{fill:var(--ink)}
.screen__logo em{font-family:var(--font-serif);font-style:italic;color:var(--accent)}
.screen__links{display:flex;gap:10px;flex:1;justify-content:center;min-width:0}
.screen__links i{height:6px;width:34px;background:var(--ink);opacity:.12;border-radius:3px;display:inline-block}
.screen__cta{font-size:9px;font-weight:700;background:var(--ink);color:var(--lime);padding:6px 10px;border-radius:99px;letter-spacing:.06em;text-transform:uppercase;flex:0 0 auto}
.screen__hero{flex:1;display:flex;flex-direction:column;justify-content:center;gap:8px;min-width:0}
.screen__pill{display:inline-block;font-size:8px;font-weight:700;color:var(--ink);background:var(--lime);padding:4px 8px;border-radius:99px;width:fit-content;letter-spacing:.06em;text-transform:uppercase}
.screen__hero h4{font-size:24px;line-height:1.05;letter-spacing:-.03em;color:var(--ink);font-weight:800;margin-top:4px}
.screen__hero h4 em{font-family:var(--font-serif);font-style:italic;font-weight:400;color:var(--accent)}
.screen__hero p{font-size:9px;color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-family:var(--font-mono)}
.screen__btn{display:inline-block;width:fit-content;font-size:10px;font-weight:700;background:var(--ink);color:var(--paper);padding:8px 14px;border-radius:99px;margin-top:6px;letter-spacing:.04em}
.screen__cards{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;min-width:0}
.screen__card{height:46px;border-radius:8px;background:var(--paper-2);position:relative;overflow:hidden;min-width:0}
.screen__card::before{content:"";position:absolute;inset:8px 8px auto;border-radius:4px;height:8px;background:var(--ink);opacity:.15}
.screen__card::after{content:"";position:absolute;left:8px;right:8px;top:24px;height:3px;background:var(--ink);opacity:.1;border-radius:2px;box-shadow:0 8px 0 0 rgba(15,14,12,.08),0 14px 0 0 rgba(15,14,12,.06)}
.screen__card.sc1{background:linear-gradient(135deg,var(--lime),var(--lime-deep))}
.screen__card.sc2{background:linear-gradient(135deg,var(--accent),var(--accent-deep))}
.screen__card.sc3{background:linear-gradient(135deg,var(--coral),#5BA8FF)}
.screen__card.sc1::before,.screen__card.sc2::before,.screen__card.sc3::before{background:rgba(255,255,255,.55);opacity:1}

.device--mobile{position:relative;width:clamp(160px,28vw,200px);z-index:3;justify-self:start;
  border:6px solid var(--ink);border-radius:30px;background:var(--ink);padding:0;
  box-shadow:8px 8px 0 var(--accent)}
.device__notch{position:absolute;left:50%;top:6px;transform:translateX(-50%);width:54%;height:14px;background:var(--ink);border-radius:0 0 12px 12px;z-index:2}
.device__notch::after{content:"";position:absolute;right:14px;top:5px;width:6px;height:6px;border-radius:50%;background:#2a2a2a}
.device--mobile .device__screen--m{border-radius:22px;aspect-ratio:9/19.5;overflow:hidden;background:linear-gradient(180deg,#FBF9F2 0%,var(--paper) 100%);position:relative}

.mscreen{padding:24px 16px 18px;display:flex;flex-direction:column;gap:14px;height:100%}
.mscreen__status{position:absolute;top:6px;right:14px;font-size:8px;font-weight:700;font-family:var(--font-mono);color:var(--ink);letter-spacing:.04em}
.mscreen__hero{flex:1;display:flex;flex-direction:column;justify-content:center;gap:10px;padding-top:14px;min-width:0}
.mscreen__logo svg{width:22px;height:22px}
.mscreen__logo svg rect{fill:var(--lime)}
.mscreen__logo svg path{fill:var(--ink)}
.mscreen__hero h5{font-size:20px;line-height:1.05;letter-spacing:-.03em;color:var(--ink);font-weight:800}
.mscreen__hero h5 em{font-family:var(--font-serif);font-style:italic;font-weight:400;color:var(--accent)}
.mscreen__btn{display:inline-block;width:fit-content;font-size:9px;font-weight:700;background:var(--ink);color:var(--paper);padding:7px 12px;border-radius:99px;letter-spacing:.04em;margin-top:4px}
.mscreen__rows{display:flex;flex-direction:column;gap:6px;margin-top:auto;min-width:0}
.mscreen__row{height:28px;border-radius:8px;background:var(--paper-2);position:relative;overflow:hidden;min-width:0}
.mscreen__row::before{content:"";position:absolute;left:6px;top:6px;width:16px;height:16px;border-radius:50%;background:var(--ink);opacity:.18}
.mscreen__row::after{content:"";position:absolute;left:28px;right:8px;top:8px;height:4px;background:var(--ink);opacity:.15;border-radius:2px;box-shadow:0 7px 0 0 rgba(15,14,12,.1)}
.mscreen__row.r1{background:linear-gradient(135deg,var(--lime),var(--lime-deep))}
.mscreen__row.r2{background:linear-gradient(135deg,var(--accent),var(--accent-deep))}
.mscreen__row.r3{background:linear-gradient(135deg,var(--coral),#5BA8FF)}
.mscreen__row.r1::before,.mscreen__row.r2::before,.mscreen__row.r3::before,
.mscreen__row.r1::after,.mscreen__row.r2::after,.mscreen__row.r3::after{background:rgba(255,255,255,.7);opacity:1}
.mscreen__nav{display:flex;justify-content:space-around;align-items:center;padding:10px 4px 4px;border-top:1px solid var(--line);margin-top:8px}
.mscreen__nav span{width:18px;height:18px;border-radius:5px;background:var(--ink);opacity:.18}
.mscreen__nav span.on{background:var(--ink);opacity:1}

@media (min-width:640px){
  .hero__art{grid-template-columns:1fr;justify-content:center;gap:18px}
  .hero__image{max-width:480px}
}

.hero__foot{position:relative;margin-top:clamp(44px,6vw,72px);display:flex;justify-content:space-between;
  align-items:center;gap:18px;border-top:1px solid var(--line);padding-top:20px;flex-wrap:wrap}
.hero__foot .mono{color:var(--muted)}
.scroll-hint{display:inline-flex;align-items:center;gap:10px}
.scroll-hint .wheel{width:22px;height:34px;border:1.5px solid var(--muted);border-radius:99px;position:relative}
.scroll-hint .wheel::after{content:"";position:absolute;left:50%;top:6px;width:3px;height:7px;margin-left:-1.5px;
  border-radius:3px;background:var(--ink);animation:wheel 1.8s var(--ease) infinite}
@keyframes wheel{0%{transform:translateY(0);opacity:1}70%{transform:translateY(12px);opacity:0}100%{opacity:0}}

.trustbar{background:var(--paper-2);border-block:1px solid var(--line);padding-block:clamp(48px,6vw,72px)}
.trustbar__head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:30px;flex-wrap:wrap}
.trustbar__head .mono{color:var(--muted)}
.trustbar__head .clutch{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:12px;letter-spacing:.1em}
.trustbar__head .clutch .stars{color:var(--coral)}

.marquee--logos{border-block:1px solid var(--line);padding-block:26px;--speed:38s;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
          mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.marquee--logos .marquee__track{gap:clamp(44px,6vw,84px);align-items:center}
.logo-item{display:inline-flex;align-items:center;justify-content:center;height:32px;opacity:.55;transition:opacity .3s,transform .3s,filter .3s;transform:translateY(0);color:var(--ink)}
.logo-item svg{display:block;height:100%;width:auto;max-width:none}
.logo-item:hover{opacity:1;transform:translateY(-3px)}
.lg-caps{font-weight:800;letter-spacing:.28em}
.lg-serif{font-family:var(--font-serif);font-style:italic}
.lg-mono{font-family:var(--font-mono);letter-spacing:.06em}
.lg-bold{font-weight:800;letter-spacing:-.03em}
.lg-outline{font-weight:800;color:transparent;-webkit-text-stroke:1.3px var(--ink)}
.lg-star{color:var(--coral)}

.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(20px,3vw,40px);margin-top:clamp(38px,5vw,56px)}
.stat{padding-left:22px;border-left:2px solid var(--ink);position:relative}
.stat::before{content:"";position:absolute;left:-2px;top:0;height:34px;width:2px;background:var(--coral)}
.stat__num{display:block;font-size:clamp(38px,3.6vw,54px);font-weight:800;letter-spacing:-.04em;line-height:1}
.stat__label{display:block;font-weight:600;margin-top:8px}
.stat__note{display:block;font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-top:3px}

.dark{background:var(--ink);color:var(--paper);--line:rgba(242,239,230,.16)}
.cta{position:relative;overflow:hidden;padding-block:clamp(76px,10vw,140px)}
.cta::before{content:"FYC®";position:absolute;right:-4%;top:50%;transform:translateY(-50%);
  font-size:clamp(220px,32vw,460px);font-weight:800;letter-spacing:-.05em;line-height:1;
  color:transparent;-webkit-text-stroke:1.5px rgba(242,239,230,.08);pointer-events:none;
  animation:floaty 9s ease-in-out infinite}
@keyframes floaty{0%,100%{transform:translateY(-52%)}50%{transform:translateY(-46%)}}

.cta__title{font-size:clamp(30px,4.4vw,60px);font-weight:800;line-height:1.05;letter-spacing:-.035em;
  text-transform:uppercase;max-width:15ch;position:relative;z-index:2}
.cta__title .wild{font-family:var(--font-serif);font-style:italic;font-weight:400;text-transform:none;color:var(--coral)}
.cta__title .outline{color:transparent;-webkit-text-stroke:1.8px var(--lime)}
.cta__lead{margin-top:26px;max-width:52ch;font-size:18px;color:rgba(242,239,230,.72);position:relative;z-index:2}
.cta__lead em{font-family:var(--font-serif);font-style:italic;color:var(--lime)}
.cta__actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:40px;position:relative;z-index:2}

.email-copy{display:inline-flex;align-items:center;gap:14px;padding:14px 22px;border:1.5px solid rgba(242,239,230,.3);
  border-radius:999px;font-family:var(--font-mono);font-size:clamp(13px,1.5vw,16px);letter-spacing:.03em;color:var(--paper);
  transition:border-color .3s,background .3s,transform .25s var(--ease)}
.email-copy:hover{border-color:var(--lime);transform:translateY(-2px)}
.email-copy.is-copied{background:var(--lime);color:var(--ink);border-color:var(--lime)}
.email-copy .copy-ico{font-size:1.15em;line-height:1}

.ticker{background:var(--lime);color:var(--ink);border-block:2px solid var(--ink);
  transform:rotate(-1.6deg) scale(1.02);margin-top:clamp(60px,8vw,100px);--speed:24s;position:relative;z-index:2}
.ticker .marquee__track{gap:0;padding-block:15px}
.ticker .t-item{display:inline-flex;align-items:center;gap:22px;padding-inline:22px;
  font-weight:800;font-size:clamp(16px,2vw,22px);letter-spacing:.02em;text-transform:uppercase;white-space:nowrap}
.ticker .t-item .star{color:var(--accent);font-size:.8em}

.about{position:relative;background:var(--paper);padding-block:clamp(76px,10vw,140px);overflow:hidden}
.about::before{content:"";position:absolute;left:-12%;top:18%;width:520px;height:520px;border-radius:50%;
  background:radial-gradient(circle,rgba(212,247,106,.35),transparent 70%);pointer-events:none;filter:blur(20px)}
.about__grid{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(40px,6vw,90px);align-items:center}
.about__media{position:relative;border:2px solid var(--ink);border-radius:18px;overflow:hidden;background:var(--paper-2);
  aspect-ratio:4/5;box-shadow:10px 10px 0 var(--ink)}
.about__media img{width:100%;height:100%;object-fit:cover;animation:kenburns 18s var(--ease) infinite alternate}
@keyframes kenburns{0%{transform:scale(1)}100%{transform:scale(1.05)}}
.about__media .sticker{position:absolute;left:-18px;top:24px;background:var(--coral);color:var(--ink);
  padding:8px 14px;font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;
  font-weight:700;transform:rotate(-4deg);box-shadow:4px 4px 0 var(--ink)}
.about__kicker{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;background:var(--lime);
  border:1.5px solid var(--ink);border-radius:999px;font-family:var(--font-mono);font-size:11px;
  letter-spacing:.14em;text-transform:uppercase;font-weight:700}
.about__title{font-size:clamp(28px,4vw,56px);font-weight:800;line-height:1.05;letter-spacing:-.03em;
  text-transform:uppercase;margin-top:18px;max-width:18ch}
.about__title .serif-it{font-family:var(--font-serif);font-style:italic;font-weight:400;text-transform:none}
.about__lead{margin-top:22px;font-size:17px;color:var(--muted);max-width:54ch;line-height:1.55}
.about__points{margin-top:34px;display:grid;grid-template-columns:1fr 1fr;gap:18px 26px;max-width:540px}
.about__point{display:flex;align-items:flex-start;gap:12px;font-size:15px;line-height:1.45}
.about__point .dot{flex:0 0 auto;width:10px;height:10px;border-radius:50%;background:var(--accent);margin-top:7px;
  box-shadow:2px 2px 0 var(--ink)}
.about__point b{color:var(--ink);font-weight:700}
.about__actions{margin-top:36px;display:flex;gap:14px;flex-wrap:wrap;align-items:center}

/* ----- Services page hero (top of /services) ----- */
.services-page-hero{position:relative;padding-block:clamp(56px,7vw,100px);overflow:hidden;background:var(--ink);color:var(--paper);border-bottom:1.5px solid var(--ink);min-height:auto;
  background-image:
    linear-gradient(180deg, rgba(15,14,12,.6) 0%, rgba(15,14,12,.78) 60%, rgba(15,14,12,.92) 100%),
    url("https://images.unsplash.com/photo-1551434678-e076c223a692?auto=format&fit=crop&w=1800&q=80");
  background-size: cover;
  background-position: center 40%;
  background-repeat: no-repeat;
}
.services-page-hero::before{content:"";position:absolute;inset:0;background:
  radial-gradient(circle at 12% 0%,rgba(212,247,106,.22),transparent 45%),
  radial-gradient(circle at 90% 110%,rgba(255,90,31,.16),transparent 55%);
  pointer-events:none}
.services-page-hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent,rgba(212,247,106,.55),transparent)}
.services-page-hero__grid{position:relative;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(32px,5vw,72px);align-items:center}
.services-page-hero__copy{max-width:62ch}
.services-page-hero__kicker{display:inline-flex;align-items:center;gap:8px;padding:5px 11px;background:var(--lime);color:var(--ink);
  border-radius:999px;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;width:fit-content;margin-bottom:12px}
.services-page-hero__title{font-size:clamp(28px,4vw,52px);font-weight:800;line-height:1.05;letter-spacing:-.025em;text-transform:uppercase;margin:0 0 14px;max-width:18ch;color:var(--paper)}
.services-page-hero__title .serif-it{font-family:var(--font-serif);font-style:italic;font-weight:400;text-transform:none;color:var(--lime)}
.services-page-hero__sub{font-size:clamp(14.5px,1.2vw,16.5px);line-height:1.55;color:rgba(242,239,230,.85);max-width:60ch;margin:0 0 22px}
.services-page-hero__chips{display:flex;gap:8px;flex-wrap:wrap}
.services-page-hero__chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:rgba(255,255,255,.08);color:var(--paper);
  border:1px solid rgba(242,239,230,.18);border-radius:999px;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;font-weight:600;backdrop-filter:blur(8px)}

.services-page-hero__art{position:relative;width:100%;aspect-ratio:1/1;max-width:440px;margin-inline:auto;display:grid;place-items:center}
.services-page-hero__center{position:relative;z-index:2;width:140px;height:140px;border-radius:50%;background:var(--lime);color:var(--ink);
  border:2px solid var(--ink);display:grid;place-items:center;box-shadow:6px 6px 0 rgba(212,247,106,.18);animation:heroFloat 5s var(--ease) infinite}
.services-page-hero__center-num{font-size:48px;font-weight:800;letter-spacing:-.04em;line-height:1;display:block}
.services-page-hero__center-label{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;display:block;margin-top:2px}
@keyframes heroFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.services-page-hero__bubble{position:absolute;display:inline-flex;align-items:center;gap:8px;padding:10px 14px;background:var(--paper);color:var(--ink);
  border:1.5px solid var(--ink);border-radius:999px;font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;
  box-shadow:3px 3px 0 rgba(255,255,255,.18);animation:bubbleFloat 6s var(--ease) infinite}
.services-page-hero__bubble svg{width:14px;height:14px}
.services-page-hero__bubble--1{top:8%;left:6%;animation-delay:0s}
.services-page-hero__bubble--2{top:14%;right:6%;animation-delay:1.2s}
.services-page-hero__bubble--3{bottom:14%;left:4%;animation-delay:2.4s;background:var(--coral)}
.services-page-hero__bubble--4{bottom:6%;right:4%;animation-delay:3.6s;background:var(--lime)}
@keyframes bubbleFloat{0%,100%{transform:translate(0,0)}50%{transform:translate(0,-6px)}}

@media (max-width:980px){
  .services-page-hero__grid{grid-template-columns:1fr;gap:32px;text-align:center;justify-items:center}
  .services-page-hero__copy{margin-inline:auto}
  .services-page-hero__chips{justify-content:center}
  .services-page-hero__title{margin-inline:auto}
  .services-page-hero__sub{margin-inline:auto}
  .services-page-hero__art{max-width:360px}
}
@media (max-width:520px){
  .services-page-hero{padding-block:40px}
  .services-page-hero__art{max-width:300px}
  .services-page-hero__center{width:110px;height:110px}
  .services-page-hero__center-num{font-size:36px}
  .services-page-hero__bubble{font-size:9.5px;padding:7px 10px}
}

.services{position:relative;background:var(--paper-2);padding-block:clamp(76px,10vw,140px);border-block:1px solid var(--line)}
.services__head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:30px;align-items:end;margin-bottom:48px}
.services__head .kicker{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;background:var(--ink);color:var(--lime);
  border-radius:999px;font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:700}
.services__title{font-size:clamp(28px,4vw,56px);font-weight:800;line-height:1.05;letter-spacing:-.03em;
  text-transform:uppercase;margin-top:18px;max-width:18ch}
.services__title .serif-it{font-family:var(--font-serif);font-style:italic;font-weight:400;text-transform:none}
.services__intro{color:var(--muted);font-size:17px;line-height:1.55;max-width:46ch;justify-self:end}
.services__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.svc{position:relative;background:var(--paper);border:2px solid var(--ink);border-radius:18px;padding:30px 28px 32px;
  transition:transform .35s var(--ease),box-shadow .35s var(--ease);overflow:hidden;
  display:flex;flex-direction:column}
.svc::after{content:"";position:absolute;inset:auto -30% -30% auto;width:160px;height:160px;border-radius:50%;
  background:radial-gradient(circle,rgba(255,90,31,.18),transparent 70%);opacity:0;transition:opacity .4s}
.svc:hover{transform:translate(-4px,-4px);box-shadow:6px 6px 0 var(--ink)}
.svc:hover::after{opacity:1}
.svc--lime::after{background:radial-gradient(circle,rgba(212,247,106,.55),transparent 70%)}
.svc--coral::after{background:radial-gradient(circle,rgba(255,90,31,.3),transparent 70%)}
.svc__num{font-family:var(--font-mono);font-size:11px;letter-spacing:.18em;color:var(--muted);text-transform:uppercase}
.svc__icon{width:54px;height:54px;border-radius:14px;background:var(--ink);color:var(--lime);display:grid;place-items:center;margin-top:18px;
  box-shadow:3px 3px 0 var(--ink)}
.svc__icon svg{width:26px;height:26px}
.svc__title{font-size:clamp(18px,1.8vw,22px);font-weight:800;letter-spacing:-.02em;margin-top:20px;text-transform:uppercase}
.svc__desc{margin-top:10px;color:var(--muted);font-size:14.5px;line-height:1.55}
.svc__list{margin-top:18px;display:flex;flex-wrap:wrap;gap:6px;list-style:none;padding:0}
.svc__list li,.svc__list span{font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;
  padding:5px 9px;border:1px solid var(--line);border-radius:999px;color:var(--ink-3);background:#FBF9F2}

.faq{position:relative;background:var(--paper);padding-block:clamp(76px,10vw,140px);overflow:hidden}
.faq::before{content:"";position:absolute;right:-10%;top:30%;width:480px;height:480px;border-radius:50%;
  background:radial-gradient(circle,rgba(26,140,255,.12),transparent 70%);pointer-events:none;filter:blur(20px)}
.faq__head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:30px;align-items:end;margin-bottom:48px;position:relative}
.faq__kicker{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;background:var(--ink);color:var(--lime);
  border-radius:999px;font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;width:fit-content}
.faq__title{font-size:clamp(28px,4vw,56px);font-weight:800;line-height:1.05;letter-spacing:-.03em;
  text-transform:uppercase;margin-top:18px;max-width:18ch}
.faq__title .serif-it{font-family:var(--font-serif);font-style:italic;font-weight:400;text-transform:none}
.faq__intro{color:var(--muted);font-size:17px;line-height:1.55;max-width:46ch;justify-self:end}
.faq__list{position:relative;display:flex;flex-direction:column;gap:14px;max-width:920px;margin-inline:auto}
.faq__item{background:var(--paper-2);border:2px solid var(--ink);border-radius:16px;overflow:hidden;
  transition:transform .35s var(--ease),box-shadow .35s var(--ease)}
.faq__item[open]{background:var(--paper);box-shadow:6px 6px 0 var(--ink);transform:translate(-2px,-2px)}
.faq__item:hover{transform:translateY(-2px)}
.faq__item[open]:hover{transform:translate(-2px,-2px)}
.faq__q{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:22px 26px;font-size:clamp(16px,1.6vw,19px);font-weight:700;letter-spacing:-.01em;color:var(--ink);
  font-family:var(--font-sans);text-transform:none}
.faq__q::-webkit-details-marker{display:none}
.faq__q::marker{display:none}
.faq__q .num{font-family:var(--font-mono);font-size:11px;letter-spacing:.16em;color:var(--accent);font-weight:700;flex:0 0 auto;min-width:34px}
.faq__q-inner{display:flex;align-items:center;gap:14px;min-width:0;flex:1}
.faq__q-text{flex:1;min-width:0;line-height:1.4}
.faq__icon{width:38px;height:38px;flex:0 0 auto;border:2px solid var(--ink);border-radius:50%;
  background:var(--lime);display:grid;place-items:center;transition:transform .4s var(--ease),background .3s;position:relative}
.faq__icon::before,.faq__icon::after{content:"";position:absolute;left:50%;top:50%;width:14px;height:2px;background:var(--ink);border-radius:1px;margin-left:-7px;margin-top:-1px;transition:transform .4s var(--ease),opacity .25s}
.faq__icon::before{transform:rotate(0deg)}
.faq__icon::after{transform:rotate(90deg)}
.faq__item[open] .faq__icon{background:var(--accent)}
.faq__item[open] .faq__icon::after{transform:rotate(0deg);opacity:0}
.faq__a-wrap{display:grid;grid-template-columns:1fr;grid-template-rows:0fr;transition:grid-template-rows .45s var(--ease),margin-top .45s var(--ease);overflow:hidden}
.faq__a-inner{min-height:0;overflow:hidden;opacity:0;transform:translateY(-4px);transition:opacity .35s var(--ease) .05s,transform .4s var(--ease) .05s}
.faq__item[open] > .faq__a-wrap{grid-template-rows:1fr}
.faq__item[open] > .faq__a-wrap > .faq__a-inner{opacity:1;transform:translateY(0)}
.faq__a{padding:0 26px 24px 64px;color:var(--muted);font-size:16px;line-height:1.6}
.faq__a p{margin:0}
.faq__a a{color:var(--accent);font-weight:600;border-bottom:1.5px solid currentColor}
.faq__cta{margin-top:48px;text-align:center;position:relative}
.faq__cta p{color:var(--muted);font-size:16px;margin-bottom:18px}

/* ---------- SERVICES v2 ---------- */
.svc__head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.svc__thumb{width:54px;height:54px;border-radius:12px;overflow:hidden;background:var(--paper-2);border:1.5px solid var(--ink);flex-shrink:0;display:none}
.svc__thumb img{width:100%;height:100%;object-fit:cover}
.svc--has-thumb .svc__thumb{display:block}
.svc__list{margin-top:18px;display:flex;flex-wrap:wrap;gap:6px;list-style:none;padding:0}
.svc__list li{font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;
  background:var(--paper-2);color:var(--ink);padding:5px 10px;border-radius:999px;border:1px solid var(--line)}
.svc__more{display:inline-flex;align-items:center;gap:8px;margin-top:22px;font-weight:700;font-size:14px;letter-spacing:-.01em;color:var(--ink);text-decoration:none;transition:color .25s,gap .25s}
.svc__more svg{width:14px;height:14px;transition:transform .25s}
.svc:hover .svc__more{color:var(--accent);gap:11px}
.svc:hover .svc__more svg{transform:translate(2px,-2px)}
.services__more{margin-top:40px;display:flex;justify-content:center}

/* ---------- PROCESS ---------- */
.process{position:relative;background:var(--paper-2);padding-block:clamp(76px,10vw,140px);overflow:hidden}
.process__head{text-align:center;max-width:760px;margin:0 auto 56px;position:relative}
.process__head .kicker{display:inline-flex}
.process__title{font-size:clamp(28px,4vw,52px);font-weight:800;line-height:1.05;letter-spacing:-.03em;text-transform:uppercase;margin-top:16px}
.process__title .serif-it{font-family:var(--font-serif);font-style:italic;font-weight:400;text-transform:none}
.process__intro{color:var(--muted);font-size:17px;line-height:1.55;margin:18px auto 0;max-width:54ch}
.process__steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:0;position:relative;counter-reset:step}
.process-step{position:relative;padding:28px 24px 28px 0;display:flex;flex-direction:column;gap:10px;background:var(--paper-2);z-index:1}
.process-step + .process-step{padding-left:24px;border-left:2px dashed rgba(15,14,12,.18)}
.process-step__num{font-family:var(--font-mono);font-size:13px;letter-spacing:.18em;color:var(--accent);font-weight:700}
.process-step__title{font-size:clamp(18px,1.8vw,22px);font-weight:800;letter-spacing:-.02em;margin-top:4px;text-transform:uppercase}
.process-step__desc{color:var(--muted);font-size:14.5px;line-height:1.55;margin:0}
.process-step__line{display:none}

/* ---------- WORK / PORTFOLIO PREVIEW ---------- */
.work{position:relative;background:var(--paper);padding-block:clamp(76px,10vw,140px)}
.work__head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:48px;flex-wrap:wrap}
.work__title{font-size:clamp(28px,4vw,52px);font-weight:800;line-height:1.05;letter-spacing:-.03em;text-transform:uppercase;margin-top:14px;max-width:18ch}
.work__title .serif-it{font-family:var(--font-serif);font-style:italic;font-weight:400;text-transform:none}
.work__see-all{white-space:nowrap}
.work__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.work-card{position:relative;background:var(--paper);border:2px solid var(--ink);border-radius:18px;overflow:hidden;
  transition:transform .35s var(--ease),box-shadow .35s var(--ease)}
.work-card:hover{transform:translate(-4px,-4px);box-shadow:6px 6px 0 var(--ink)}
.work-card__link{display:flex;flex-direction:column;height:100%;text-decoration:none;color:inherit}
.work-card__media{position:relative;aspect-ratio:4/3;background:var(--paper-2);overflow:hidden}
.work-card__media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s var(--ease)}
.work-card:hover .work-card__media img{transform:scale(1.05)}
.work-card__ph{position:absolute;inset:0;display:grid;place-items:center;color:var(--muted)}
.work-card__ph svg{width:48px;height:48px}
.work-card__view{position:absolute;left:14px;bottom:14px;background:var(--ink);color:var(--lime);padding:8px 14px;border-radius:999px;
  font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;display:inline-flex;align-items:center;gap:6px;
  opacity:0;transform:translateY(8px);transition:opacity .3s,transform .3s}
.work-card:hover .work-card__view{opacity:1;transform:none}
.work-card__view .arr{transition:transform .3s}
.work-card:hover .work-card__view .arr{transform:translate(2px,-2px)}
.work-card__body{padding:22px 24px 26px;display:flex;flex-direction:column;gap:8px;flex:1}
.work-card__tag{display:inline-flex;align-items:center;align-self:flex-start;padding:4px 10px;background:var(--lime);color:var(--ink);
  border:1.5px solid var(--ink);border-radius:999px;font-family:var(--font-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;font-weight:700}
.work-card__title{font-size:clamp(18px,1.6vw,22px);font-weight:800;letter-spacing:-.02em;line-height:1.2;margin-top:4px}
.work-card__desc{color:var(--muted);font-size:14.5px;line-height:1.5;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.work-card__client{font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-top:auto;padding-top:10px}
.work__empty{padding:24px;background:var(--paper-2);border:1.5px dashed var(--line);border-radius:14px;text-align:center;color:var(--muted)}

/* ---------- TESTIMONIALS ---------- */
.testimonials{position:relative;background:var(--ink);color:var(--paper);padding-block:clamp(76px,10vw,140px);overflow:hidden}
.testimonials::before{content:"";position:absolute;left:-10%;top:30%;width:480px;height:480px;border-radius:50%;
  background:radial-gradient(circle,rgba(212,247,106,.18),transparent 70%);pointer-events:none;filter:blur(20px)}
.testimonials__head{text-align:center;max-width:760px;margin:0 auto 56px;position:relative}
.testimonials__title{font-size:clamp(28px,4vw,52px);font-weight:800;line-height:1.05;letter-spacing:-.03em;text-transform:uppercase;color:var(--paper);margin-top:14px}
.testimonials__title .serif-it{font-family:var(--font-serif);font-style:italic;font-weight:400;text-transform:none}
.testimonials__intro{color:rgba(242,239,230,.7);font-size:17px;line-height:1.55;margin:18px auto 0;max-width:54ch}
.testimonials__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;position:relative}
.testimonial{background:rgba(255,255,255,.04);border:1.5px solid rgba(242,239,230,.15);border-radius:18px;padding:28px 26px 26px;
  display:flex;flex-direction:column;gap:18px;position:relative;transition:transform .3s,border-color .3s,background .3s}
.testimonial:hover{transform:translateY(-4px);border-color:var(--lime);background:rgba(212,247,106,.05)}
.testimonial__quote-mark{position:absolute;top:18px;right:22px;width:30px;height:30px;color:var(--lime);opacity:.7}
.testimonial__body{margin:0;flex:1}
.testimonial__body p{font-size:16px;line-height:1.55;color:rgba(242,239,230,.92);margin:0}
.testimonial__person{display:flex;align-items:center;gap:14px;padding-top:18px;border-top:1px solid rgba(242,239,230,.12)}
.testimonial__avatar{width:48px;height:48px;border-radius:50%;object-fit:cover;border:2px solid var(--lime);flex-shrink:0;background:rgba(255,255,255,.1)}
.testimonial__meta{display:flex;flex-direction:column;line-height:1.3;min-width:0}
.testimonial__name{font-weight:700;font-size:15px;color:var(--paper)}
.testimonial__role{font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:rgba(242,239,230,.6);margin-top:3px}
.testimonials__ratings{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin-top:42px;position:relative}
.rating-pill{display:inline-flex;align-items:center;gap:10px;padding:12px 20px;background:rgba(255,255,255,.05);
  border:1px solid rgba(242,239,230,.15);border-radius:999px}
.rating-pill__name{font-family:var(--font-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--lime);font-weight:700}
.rating-pill__stars{color:var(--lime);letter-spacing:1px;font-size:13px}
.rating-pill__score{font-weight:700;font-size:14px;color:var(--paper)}

/* ---------- RESPONSIVE — new sections ---------- */
@media (max-width:980px){
  .process__steps{grid-template-columns:repeat(2,1fr);gap:0}
  .process-step{padding:24px 20px;border-left:0 !important}
  .process-step:nth-child(odd){border-right:2px dashed rgba(15,14,12,.18)}
  .process-step:nth-last-child(2):nth-child(odd){border-bottom:2px dashed rgba(15,14,12,.18);padding-bottom:28px}
  .process-step:last-child{grid-column:1/-1;border-top:2px dashed rgba(15,14,12,.18);padding-top:28px}
  .work__grid{grid-template-columns:repeat(2,1fr)}
  .testimonials__grid{grid-template-columns:1fr;max-width:560px;margin:0 auto}
}
@media (max-width:760px){
  .faq__head{grid-template-columns:1fr}
  .faq__intro{justify-self:start}
  .faq__q{padding:18px 20px;font-size:16px;gap:12px}
  .faq__a{padding:0 20px 22px 20px}
  .faq__a-wrap{transition-duration:.4s}
  .faq__item[open] > .faq__a-wrap{transition-duration:.4s}
  .process__head{margin-bottom:36px}
  .work__head{margin-bottom:32px;flex-direction:column;align-items:flex-start}
  .testimonials__ratings{gap:10px}
  .rating-pill{padding:10px 16px;font-size:13px}
}
@media (max-width:620px){
  .process__steps{grid-template-columns:1fr;gap:0}
  .process-step{padding:22px 0 !important;border-left:0 !important;border-right:0 !important;border-top:1px solid var(--line) !important}
  .process-step:first-child{border-top:0 !important;padding-top:0 !important}
  .work__grid{grid-template-columns:1fr}
  .testimonial{padding:24px 22px 22px}
  .testimonial__quote-mark{top:14px;right:18px;width:24px;height:24px}
  .testimonial__body p{font-size:15px}
  .testimonials__ratings{flex-direction:column;align-items:stretch}
  .rating-pill{justify-content:center}
  .services__more{margin-top:28px}
  .svc__more{font-size:13px}
}
@media (max-width:380px){
  .work-card__body{padding:18px 18px 20px}
  .testimonial{padding:20px 18px}
  .testimonial__avatar{width:40px;height:40px}
  .testimonial__name{font-size:14px}
}

.brief{padding-block:clamp(76px,10vw,140px);position:relative}
.brief__grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(40px,5vw,84px);align-items:start}

.brief__title{font-size:clamp(26px,3.4vw,46px);font-weight:800;letter-spacing:-.03em;line-height:1.08;text-transform:uppercase}
.brief__title .accent{font-family:var(--font-serif);font-style:italic;font-weight:400;text-transform:none;color:var(--accent)}
.brief__intro{margin-top:20px;color:var(--muted);max-width:44ch;font-size:17px}

.steps{margin-top:42px;display:flex;flex-direction:column}
.step{display:flex;gap:22px;padding:22px 0;border-top:1px solid var(--line);position:relative}
.step:last-child{border-bottom:1px solid var(--line)}
.step__num{font-family:var(--font-mono);font-size:13px;letter-spacing:.1em;color:var(--coral);padding-top:4px;flex-shrink:0}
.step h4{font-size:18px;font-weight:700;letter-spacing:-.01em}
.step p{font-size:15px;color:var(--muted);margin-top:4px;max-width:40ch}
.step::after{content:"";position:absolute;left:-16px;top:50%;width:6px;height:6px;border-radius:50%;
  background:var(--lime);border:1.5px solid var(--ink);transform:translateY(-50%);opacity:0;transition:opacity .3s}
.step:hover::after{opacity:1}

.brief__alt{margin-top:34px;padding:20px 24px;border:1.5px dashed var(--line);border-radius:14px;font-size:15px;color:var(--muted)}
.brief__alt b{color:var(--ink)}
.brief__alt a{color:var(--accent);font-weight:600;border-bottom:1.5px solid currentColor}

.form-card{background:#FBF9F2;border:2px solid var(--ink);border-radius:20px;
  box-shadow:12px 12px 0 var(--paper-2),12px 12px 0 1.5px var(--ink);overflow:hidden}
.form-card__head{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;
  padding:22px clamp(22px,3vw,36px);border-bottom:1.5px solid var(--ink);background:var(--lime)}
.form-card__head h3{font-size:19px;font-weight:800;letter-spacing:-.02em;text-transform:uppercase}
.reply-badge{font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;
  background:var(--ink);color:var(--lime);padding:8px 14px;border-radius:999px;white-space:nowrap}

.form-body{padding:clamp(22px,3vw,36px)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.field{display:flex;flex-direction:column;gap:8px;position:relative}
.field--full{grid-column:1/-1}
.field label{font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.field label b{color:var(--coral)}
.field input[type=text],.field input[type=email],.field textarea,.field input[type=tel],.field input[type=url]{
  width:100%;padding:14px 16px;border:1.5px solid var(--line);border-radius:12px;
  background:var(--paper);font-family:inherit;font-size:15px;color:var(--ink);
  transition:border-color .25s,box-shadow .25s,transform .25s}
.field input:hover,.field textarea:hover{border-color:rgba(15,14,12,.4)}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--ink);box-shadow:4px 4px 0 var(--lime)}
.field textarea{resize:vertical;min-height:120px}
.field .err-msg{display:none;font-size:12.5px;color:var(--coral);font-weight:600}
.field.has-error input,.field.has-error textarea{border-color:var(--coral);animation:shake .4s var(--ease)}
.field.has-error .err-msg{display:block}
@keyframes shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}

.counter{position:absolute;right:2px;top:2px;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.1em;color:var(--muted)}

.pillset{display:flex;flex-wrap:wrap;gap:10px}
.pill{position:relative}
.pill input{position:absolute;width:1px;height:1px;opacity:0}
.pill span{display:inline-block;padding:11px 18px;border:1.5px solid var(--line);border-radius:999px;
  font-size:14px;font-weight:600;transition:all .25s var(--ease);user-select:none;cursor:pointer}
.pill span:hover{border-color:var(--ink);transform:translateY(-2px)}
.pill input:checked + span{background:var(--ink);color:var(--lime);border-color:var(--ink);transform:translateY(-2px);box-shadow:3px 3px 0 var(--lime-deep)}
.pill input:focus-visible + span{outline:2px solid var(--accent);outline-offset:3px}

.budget-summary{font-family:var(--font-mono);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}

.consent{display:flex;gap:12px;align-items:flex-start;cursor:pointer;font-size:13.5px;color:var(--muted)}
.consent input{position:absolute;opacity:0;width:1px;height:1px}
.consent .box{width:22px;height:22px;border:1.5px solid var(--ink);border-radius:6px;flex-shrink:0;
  display:grid;place-items:center;font-size:13px;font-weight:800;color:transparent;transition:all .25s var(--ease);margin-top:1px}
.consent input:checked ~ .box{background:var(--lime);color:var(--ink);transform:rotate(-4deg)}
.consent input:focus-visible ~ .box{outline:2px solid var(--accent);outline-offset:3px}
.consent a{color:var(--accent);border-bottom:1px solid currentColor}

.submit-btn{position:relative;overflow:hidden}
.submit-btn .spinner{display:none;width:18px;height:18px;border:2.5px solid rgba(15,14,12,.25);
  border-top-color:var(--ink);border-radius:50%;animation:spin .7s linear infinite}
.submit-btn.is-loading .spinner{display:inline-block}
.submit-btn.is-loading .label-default{display:none}
.submit-btn.is-loading{pointer-events:none;opacity:.85}

.form-success{display:none;padding:clamp(36px,5vw,60px);text-align:center}
.form-card.is-sent .form-body{display:none}
.form-card.is-sent .form-success{display:block;animation:popIn .6s var(--ease)}
@keyframes popIn{from{opacity:0;transform:scale(.94) translateY(12px)}to{opacity:1;transform:none}}
.check-ring{width:88px;height:88px;margin:0 auto 24px}
.check-ring circle{fill:none;stroke:var(--lime-deep);stroke-width:4;stroke-dasharray:264;stroke-dashoffset:264;animation:draw 1s var(--ease) forwards .1s}
.check-ring path{fill:none;stroke:var(--ink);stroke-width:6;stroke-linecap:round;stroke-linejoin:round;
  stroke-dasharray:60;stroke-dashoffset:60;animation:draw .6s var(--ease) forwards .8s}
@keyframes draw{to{stroke-dashoffset:0}}
.form-success h3{font-size:clamp(26px,3vw,34px);font-weight:800;letter-spacing:-.02em;text-transform:uppercase}
.form-success h3 em{font-family:var(--font-serif);font-style:italic;text-transform:none;color:var(--accent)}
.form-success p{color:var(--muted);margin:12px auto 26px;max-width:38ch}

.footer{position:relative;overflow:hidden;background:var(--ink)}
.footer::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(circle at 12% 8%,rgba(212,247,106,.08),transparent 45%),
             radial-gradient(circle at 90% 110%,rgba(255,90,31,.07),transparent 50%)}
.footer__marquee{border-bottom:1px solid var(--line);--speed:30s;padding-block:20px}
.footer__marquee .t-item{display:inline-flex;align-items:center;gap:26px;padding-inline:26px;
  font-family:var(--font-serif);font-style:italic;font-size:clamp(18px,2.2vw,26px);white-space:nowrap;color:rgba(242,239,230,.85)}
.footer__marquee .t-item .ast{color:var(--lime);font-style:normal}

.footer__grid{display:grid;grid-template-columns:1.15fr .65fr .7fr .9fr 1.1fr;gap:clamp(24px,3.2vw,48px);
  padding-block:clamp(52px,7vw,84px)}
.footer h5{font-family:var(--font-mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--lime);margin-bottom:20px}
.footer__col ul li{margin-bottom:11px}
.footer__col ul a{font-size:15px;color:rgba(242,239,230,.75);display:inline-flex;align-items:center;gap:6px;transition:color .25s,gap .25s}
/* Arrow on hover is for text nav links only — social icons render the platform glyph instead */
.footer__col:not(.ftr-social-col) ul a:hover{color:var(--lime);gap:11px}
.footer__col:not(.ftr-social-col) ul a:hover::after{content:"↗"}

/* Newsletter column */
.footer__col--newsletter h5{margin-bottom:14px}
.ftr-newsletter__lede{font-size:14px;color:rgba(242,239,230,.7);line-height:1.55;margin:0 0 16px;max-width:36ch}
.ftr-newsletter{display:flex;align-items:stretch;gap:6px;background:rgba(255,255,255,.05);
  border:1.5px solid rgba(255,255,255,.14);border-radius:12px;padding:6px;transition:border-color .25s,background .25s}
.ftr-newsletter:focus-within{border-color:var(--lime);background:rgba(212,247,106,.08)}
.ftr-newsletter input{flex:1;min-width:0;background:transparent;border:0;color:var(--paper);font-size:14px;padding:8px 10px;font-family:inherit}
.ftr-newsletter input::placeholder{color:rgba(242,239,230,.45)}
.ftr-newsletter input:focus{outline:none}
.ftr-newsletter button{appearance:none;width:38px;height:38px;border-radius:8px;border:0;cursor:pointer;
  background:linear-gradient(135deg,var(--lime),var(--lime-deep));color:var(--ink);
  display:inline-flex;align-items:center;justify-content:center;transition:transform .2s,box-shadow .2s}
.ftr-newsletter button:hover{transform:translateY(-1px);box-shadow:0 4px 14px rgba(212,247,106,.35)}
.ftr-newsletter button:disabled{opacity:.5;cursor:not-allowed;transform:none}
.ftr-newsletter__msg{font-size:12.5px;line-height:1.5;margin-top:8px;min-height:18px;color:rgba(242,239,230,.7)}
.ftr-newsletter__msg.is-error{color:#FF8A6E}
.ftr-newsletter__msg.is-ok{color:var(--lime)}
.ftr-pushopt{margin-top:18px;padding-top:16px;border-top:1px dashed rgba(255,255,255,.12)}
.ftr-pushopt__row{display:flex;align-items:flex-start;gap:10px;cursor:pointer;
  padding:10px 12px;border-radius:10px;background:rgba(255,255,255,.03);border:1px solid transparent;transition:background .2s,border-color .2s,transform .2s}
.ftr-pushopt__row.is-nudge{animation:nudgeBg 1.6s var(--ease) 2;border-color:rgba(212,247,106,.35);background:rgba(212,247,106,.08)}
@keyframes nudgeBg{0%,100%{background:rgba(212,247,106,.05)}50%{background:rgba(212,247,106,.18)}}
.ftr-pushopt__row:hover{background:rgba(255,255,255,.06)}
.ftr-pushopt__row input{position:absolute;opacity:0;pointer-events:none}
.ftr-pushopt__ico{width:34px;height:34px;flex-shrink:0;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,var(--lime),var(--lime-deep));color:var(--ink)}
.ftr-pushopt__ico svg{width:18px;height:18px}
.ftr-pushopt__copy{display:flex;flex-direction:column;line-height:1.3;min-width:0}
.ftr-pushopt__copy strong{font-size:13.5px;font-weight:700;color:var(--paper)}
.ftr-pushopt__copy small{font-size:12px;color:rgba(242,239,230,.6);margin-top:2px}
.ftr-pushopt__row input:checked + .ftr-pushopt__ico{background:linear-gradient(135deg,var(--lime),var(--lime-deep))}
.ftr-pushopt__row input:not(:checked) + .ftr-pushopt__ico{background:rgba(255,255,255,.1);color:rgba(242,239,230,.6)}

/* Floating push opt-in bar (above-page prompt) */
.fyc-push-bar{position:fixed;left:50%;bottom:24px;transform:translate(-50%,30px);z-index:95;
  width:min(540px,calc(100vw - 32px));
  display:flex;align-items:center;gap:14px;padding:14px 16px;
  background:var(--ink);color:var(--paper);border:1.5px solid rgba(212,247,106,.35);border-radius:18px;
  box-shadow:0 22px 50px -10px rgba(0,0,0,.5),0 0 0 4px rgba(212,247,106,.12);
  opacity:0;pointer-events:none;transition:transform .4s var(--ease),opacity .3s}
.fyc-push-bar.is-in{transform:translate(-50%,0);opacity:1;pointer-events:auto}
.fyc-push-bar.is-ok{border-color:rgba(22,163,74,.5);box-shadow:0 22px 50px -10px rgba(0,0,0,.5),0 0 0 4px rgba(22,163,74,.18)}
.fyc-push-bar.is-err{border-color:rgba(220,38,38,.5);box-shadow:0 22px 50px -10px rgba(0,0,0,.5),0 0 0 4px rgba(220,38,38,.16)}
.fyc-push-bar__cta:disabled{opacity:.6;cursor:not-allowed}
.fyc-push-bar__cta.is-retry{background:linear-gradient(135deg,var(--accent),#FF7A45);color:#fff}
.fyc-push-bar__icon{width:38px;height:38px;flex-shrink:0;border-radius:10px;display:grid;place-items:center;
  background:linear-gradient(135deg,var(--lime),var(--lime-deep));color:var(--ink)}
.fyc-push-bar__icon svg{width:20px;height:20px}
.fyc-push-bar__body{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.35}
.fyc-push-bar__body strong{font-size:14.5px;font-weight:800;color:var(--paper)}
.fyc-push-bar__body span{font-size:12.5px;color:rgba(242,239,230,.7);margin-top:2px}
.fyc-push-bar__actions{display:flex;gap:6px;align-items:center;flex-shrink:0}
.fyc-push-bar__cta{appearance:none;border:0;cursor:pointer;padding:9px 16px;border-radius:10px;font-weight:700;font-size:13px;
  background:linear-gradient(135deg,var(--lime),var(--lime-deep));color:var(--ink);
  transition:transform .2s,box-shadow .2s}
.fyc-push-bar__cta:hover{transform:translateY(-1px);box-shadow:0 4px 14px rgba(212,247,106,.35)}
.fyc-push-bar__no{appearance:none;border:0;cursor:pointer;padding:9px 12px;border-radius:10px;font-weight:600;font-size:13px;
  background:transparent;color:rgba(242,239,230,.7);transition:color .2s,background .2s}
.fyc-push-bar__no:hover{color:var(--paper);background:rgba(255,255,255,.06)}
.fyc-push-bar__close{position:absolute;top:8px;right:8px;width:24px;height:24px;border-radius:50%;
  background:rgba(255,255,255,.08);color:rgba(242,239,230,.6);border:0;cursor:pointer;
  display:grid;place-items:center;transition:background .2s,color .2s}
.fyc-push-bar__close:hover{background:rgba(255,255,255,.16);color:var(--paper)}
@media (max-width:520px){
  .fyc-push-bar{flex-wrap:wrap;bottom:14px;padding:12px 14px}
  .fyc-push-bar__icon{width:32px;height:32px}
  .fyc-push-bar__body{flex:1 1 calc(100% - 50px);order:1}
  .fyc-push-bar__actions{order:2;width:100%;justify-content:flex-end}
  .fyc-push-bar__close{order:0;position:static;margin-left:auto}
  .footer__grid{grid-template-columns:1fr 1fr}
  .footer__col--newsletter{grid-column:1 / -1}
}

/* Dark-theme logo effect now lives on .footer__logo above (no card chrome, just halo + glow) */

.addr{font-style:normal;font-size:15px;line-height:1.85;color:rgba(242,239,230,.75)}
.addr a{border-bottom:1px solid rgba(242,239,230,.3);transition:color .25s,border-color .25s}
.addr a:hover{color:var(--lime);border-color:var(--lime)}

/* ---------- Footer contact list (scoped) ---------- */
.ftr-contact{list-style:none;padding:0;margin:16px 0 0;display:grid;gap:2px}
.ftr-contact__item{display:flex;align-items:center;gap:12px;padding:6px 0;line-height:1.3}
.ftr-contact__ico{flex-shrink:0;width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:rgba(212,247,106,.12);color:var(--lime);transition:background .25s,color .25s,transform .25s var(--ease)}
.ftr-contact__item:hover .ftr-contact__ico{background:var(--lime);color:var(--ink);transform:scale(1.06)}
.ftr-contact__ico svg{width:15px;height:15px}
.ftr-contact__meta{color:rgba(242,239,230,.78);font-size:13.5px;font-weight:500;letter-spacing:-.005em;min-width:0;word-break:break-word}
.ftr-contact__link{color:rgba(242,239,230,.92);text-decoration:none;transition:color .25s;border-bottom:1px dashed transparent}
.ftr-contact__link:hover{color:var(--lime);border-bottom-color:var(--lime)}

/* ---------- Footer social icons (simple, clean, dark) ---------- */
.ftr-social-col{position:relative}
.ftr-social-blurb{display:none}
.ftr-social{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:10px}
.ftr-social__btn{
  --brand:rgba(242,239,230,.78);
  position:relative;display:inline-flex;align-items:center;justify-content:center;
  width:40px;height:40px;border-radius:50%;
  background:transparent;color:rgba(242,239,230,.78);text-decoration:none;
  border:1.5px solid rgba(242,239,230,.18);
  transition:transform .3s var(--ease),color .3s,border-color .3s,background .3s;
  flex-shrink:0;
}
.ftr-social__btn:hover,
.ftr-social__btn:focus-visible{
  color:var(--lime);
  border-color:var(--lime);
  background:rgba(212,247,106,.08);
  transform:translateY(-2px);
}
.ftr-social__btn:focus-visible{outline:2px solid var(--lime);outline-offset:3px}
.ftr-social__ico{display:inline-flex;align-items:center;justify-content:center;width:100%;height:100%}
.ftr-social__ico svg{width:15px;height:15px;display:block;fill:currentColor;stroke:currentColor;transition:transform .3s var(--ease)}
.ftr-social__btn:hover .ftr-social__ico svg{transform:scale(1.1)}
.ftr-social__empty{width:100%;padding:14px 14px;font-size:13px;color:rgba(242,239,230,.4);font-style:italic;
  border:1px dashed rgba(242,239,230,.15);border-radius:10px;list-style:none;text-align:center}

.newsletter{margin-top:26px}
.newsletter p{font-size:13.5px;color:rgba(242,239,230,.6);margin-bottom:12px}
.newsletter__row{display:flex;border:1.5px solid var(--line);border-radius:999px;overflow:hidden;transition:border-color .3s}
.newsletter__row:focus-within{border-color:var(--lime)}
.newsletter input{flex:1;min-width:0;background:transparent;border:0;padding:12px 18px;color:var(--paper);font-family:inherit;font-size:14px}
.newsletter input:focus{outline:none}
.newsletter input::placeholder{color:rgba(242,239,230,.4)}
.newsletter button{background:var(--lime);color:var(--ink);font-weight:700;font-size:14px;padding:12px 20px;transition:background .25s;white-space:nowrap}
.newsletter button:hover{background:var(--lime-deep)}
.newsletter .nl-ok{font-family:var(--font-mono);font-size:12px;letter-spacing:.1em;color:var(--lime)}

.footer__word{overflow:hidden;border-top:1px solid var(--line);padding-block:8px;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);
          mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}
.footer__word .marquee__track{--speed:44s}
.footer__word span{font-size:clamp(64px,11vw,150px);font-weight:800;letter-spacing:-.045em;line-height:1.05;
  text-transform:lowercase;white-space:nowrap;padding-inline:12px;
  color:transparent;-webkit-text-stroke:1.5px rgba(242,239,230,.4);transition:color .4s}
.footer__word span:hover{color:var(--lime);-webkit-text-stroke-color:var(--lime)}
.footer__word .ast{color:var(--coral);-webkit-text-stroke:0}

.footer__bottom{border-top:1px solid var(--line);padding-block:22px;display:flex;justify-content:space-between;
  align-items:center;gap:16px;flex-wrap:wrap;font-size:13px;color:rgba(242,239,230,.5)}
.footer__bottom .legal{display:flex;gap:22px;flex-wrap:wrap}
.footer__bottom .legal a:hover{color:var(--lime)}
.footer__bottom .made em{font-family:var(--font-serif);font-style:italic;color:rgba(242,239,230,.7)}

.to-top{position:fixed;right:22px;bottom:22px;width:54px;height:54px;z-index:120;border-radius:50%;
  background:var(--ink);color:var(--lime);display:grid;place-items:center;font-size:19px;font-weight:700;
  box-shadow:0 12px 28px -10px rgba(15,14,12,.5);
  opacity:0;visibility:hidden;transform:translateY(16px);
  transition:opacity .4s,transform .4s var(--ease),visibility .4s}
.to-top.is-visible{opacity:1;visibility:visible;transform:none}
.to-top svg{position:absolute;inset:0;transform:rotate(-90deg)}
.to-top circle{fill:none;stroke-width:2.5}
.to-top .ring-bg{stroke:rgba(212,247,106,.2)}
.to-top .ring-fg{stroke:var(--lime);stroke-linecap:round;stroke-dasharray:144.5;stroke-dashoffset:144.5;transition:stroke-dashoffset .15s linear}
.to-top:hover span{transform:translateY(-3px)}
.to-top span{transition:transform .3s var(--ease);position:relative}

/* In-page top-of-site announcement banner (auto-shown for new blog posts) */
.fyc-topbar{
  position:sticky;top:0;left:0;right:0;z-index:80;
  background:linear-gradient(135deg,var(--ink) 0%,var(--ink-2) 100%);
  color:var(--paper);
  border-bottom:1.5px solid rgba(212,247,106,.35);
  box-shadow:0 8px 30px -10px rgba(0,0,0,.45);
  transform:translateY(-100%);opacity:0;pointer-events:none;
  transition:transform .45s var(--ease),opacity .3s var(--ease);
}
body.has-fyc-topbar{padding-top:var(--topbar-h,0)}
.fyc-topbar.is-in{transform:translateY(0);opacity:1;pointer-events:auto}
.fyc-topbar__inner{
  max-width:1280px;margin:0 auto;display:flex;align-items:center;gap:14px;
  padding:12px clamp(16px,3vw,28px);
}
.fyc-topbar__pill{
  display:inline-flex;align-items:center;gap:6px;
  padding:5px 11px;border-radius:999px;
  font-family:var(--font-mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;font-weight:800;
  background:linear-gradient(135deg,var(--lime),var(--lime-deep));color:var(--ink);
  flex-shrink:0;
}
.fyc-topbar__pulse{width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 0 rgba(255,90,31,.7);animation:fycPulse 1.8s infinite}
@keyframes fycPulse{0%,100%{box-shadow:0 0 0 0 rgba(255,90,31,.7)}50%{box-shadow:0 0 0 8px rgba(255,90,31,0)}}
.fyc-topbar__img{
  width:48px;height:48px;flex-shrink:0;border-radius:10px;object-fit:cover;display:block;
  background:var(--paper-2);border:1.5px solid var(--ink);
}
.fyc-topbar__img--placeholder{display:grid;place-items:center;color:var(--muted);background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.18)}
.fyc-topbar__img--placeholder svg{width:22px;height:22px}
.fyc-topbar__body{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.3}
.fyc-topbar__title{
  font-size:14.5px;font-weight:800;letter-spacing:-.01em;color:var(--paper);
  text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.fyc-topbar__title:hover{color:var(--lime)}
.fyc-topbar__excerpt{font-size:12.5px;color:rgba(242,239,230,.7);margin-top:2px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:64ch}
.fyc-topbar__actions{display:flex;align-items:center;gap:6px;flex-shrink:0}
.fyc-topbar__cta{
  display:inline-flex;align-items:center;gap:6px;
  padding:9px 16px;border-radius:10px;
  background:linear-gradient(135deg,var(--lime),var(--lime-deep));color:var(--ink);
  font-weight:800;font-size:13px;letter-spacing:-.005em;text-decoration:none;
  transition:transform .2s,box-shadow .2s;
}
.fyc-topbar__cta:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(212,247,106,.35);color:var(--ink)}
.fyc-topbar__close{
  width:32px;height:32px;border-radius:8px;border:0;cursor:pointer;
  background:rgba(255,255,255,.08);color:rgba(242,239,230,.85);
  display:grid;place-items:center;transition:background .2s,color .2s;
}
.fyc-topbar__close:hover{background:rgba(255,255,255,.18);color:var(--paper)}
@media (max-width:680px){
  .fyc-topbar__inner{flex-wrap:wrap;gap:10px;padding:10px 14px}
  .fyc-topbar__pill{order:1}
  .fyc-topbar__img{order:2;width:42px;height:42px}
  .fyc-topbar__body{order:4;flex:1 1 100%}
  .fyc-topbar__actions{order:3;margin-left:auto}
  .fyc-topbar__title{white-space:normal}
  .fyc-topbar__excerpt{display:none}
}

/* ---------- Floating WhatsApp launcher (click-to-open demo chat) ---------- */
html.wa-demo-open,html.wa-demo-open body{overflow:hidden}
.wa-launcher{position:fixed;left:22px;bottom:22px;z-index:120;display:flex;align-items:flex-end;gap:14px;flex-direction:row;pointer-events:none}
.wa-launcher > *{pointer-events:auto}

/* Pulse halos that draw the eye */
.wa-launcher__halo{position:absolute;left:0;bottom:0;width:62px;height:62px;border-radius:50%;
  background:rgba(37,211,102,.45);pointer-events:none;opacity:0;z-index:-1;
  animation:waHalo 2.6s var(--ease) infinite}
.wa-launcher__halo--2{animation-delay:1.3s;background:rgba(37,211,102,.3)}
@keyframes waHalo{
  0%   {transform:scale(.85);opacity:.6}
  70%  {transform:scale(1.6);opacity:0}
  100% {transform:scale(1.6);opacity:0}
}

/* Main floating button */
.wa-launcher__btn{
  position:relative;width:64px;height:64px;border-radius:50%;
  background:linear-gradient(135deg,#25D366 0%,#128C7E 100%);
  color:#fff;display:grid;place-items:center;cursor:pointer;
  border:2px solid #fff;outline:none;
  box-shadow:
    0 10px 28px -4px rgba(37,211,102,.55),
    0 0 0 4px rgba(37,211,102,.18),
    inset 0 1px 0 rgba(255,255,255,.25);
  transition:transform .35s var(--ease),box-shadow .35s var(--ease),background .3s;
  animation:waEntrance .8s var(--ease) .8s both;
}
@keyframes waEntrance{
  0%   {transform:scale(0) rotate(-180deg);opacity:0}
  60%  {transform:scale(1.12) rotate(8deg);opacity:1}
  100%  {transform:scale(1) rotate(0);opacity:1}
}
.wa-launcher__btn:hover,
.wa-launcher__btn:focus-visible{
  transform:translateY(-3px) scale(1.06);
  background:linear-gradient(135deg,#2BDA75 0%,#0FA695 100%);
  box-shadow:
    0 16px 36px -6px rgba(37,211,102,.7),
    0 0 0 5px rgba(37,211,102,.22),
    inset 0 1px 0 rgba(255,255,255,.3);
}
.wa-launcher__btn:focus-visible{outline:2px solid #fff;outline-offset:4px}
.wa-launcher__btn:active{transform:scale(.98);transition-duration:.12s}
.wa-launcher__ico{width:32px;height:32px;display:block;transition:transform .35s var(--ease);filter:drop-shadow(0 2px 4px rgba(0,0,0,.18))}
.wa-launcher__btn:hover .wa-launcher__ico{transform:scale(1.08) rotate(-6deg)}
.wa-launcher__btn[aria-expanded="true"]{transform:scale(.96)}
.wa-launcher__btn[aria-expanded="true"] .wa-launcher__ico{transform:rotate(90deg)}
.wa-launcher__label{
  position:absolute;left:calc(100% + 10px);top:50%;transform:translate(-6px,-50%);
  background:var(--ink);color:var(--paper);border:1px solid rgba(37,211,102,.5);
  padding:6px 11px;border-radius:9px;white-space:nowrap;
  font-family:var(--font-mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;
  opacity:0;pointer-events:none;transition:opacity .3s var(--ease),transform .3s var(--ease);
  box-shadow:0 8px 20px -6px rgba(0,0,0,.5);
}
.wa-launcher__label::before{
  content:"";position:absolute;right:100%;top:50%;transform:translateY(-50%);
  border:6px solid transparent;border-right-color:var(--ink);
}
.wa-launcher__btn:hover .wa-launcher__label,
.wa-launcher__btn:focus-visible .wa-launcher__label{opacity:1;transform:translate(0,-50%)}

/* ====== Demo chat (modal/popover) ====== */
.wa-demo{
  position:fixed;inset:0;z-index:130;display:grid;place-items:center;
  padding:16px;
}
.wa-demo[hidden]{display:none}
.wa-demo__scrim{
  position:absolute;inset:0;background:rgba(15,14,12,.55);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
  opacity:0;transition:opacity .25s var(--ease);
}
.wa-demo.is-open .wa-demo__scrim{opacity:1}
.wa-demo__panel{
  position:relative;width:100%;max-width:380px;max-height:min(86vh,720px);
  display:flex;flex-direction:column;
  background:#ECE5DD;color:var(--ink);border-radius:20px;overflow:hidden;
  box-shadow:0 32px 60px -16px rgba(0,0,0,.6),0 0 0 1px rgba(0,0,0,.04);
  transform:translateY(20px) scale(.96);opacity:0;transition:transform .35s var(--ease),opacity .25s var(--ease);
}
.wa-demo.is-open .wa-demo__panel{transform:translateY(0) scale(1);opacity:1}

/* Header */
.wa-demo__head{
  display:flex;align-items:center;gap:12px;padding:14px 14px 14px 16px;
  background:linear-gradient(135deg,#128C7E 0%,#075E54 100%);color:#fff;position:relative;
  flex-shrink:0;
}
.wa-demo__avatar{
  position:relative;width:44px;height:44px;flex-shrink:0;border-radius:50%;
  background:#fff;display:grid;place-items:center;overflow:hidden;
  box-shadow:0 0 0 2px rgba(255,255,255,.35);
}
.wa-demo__avatar-img{width:100%;height:100%;object-fit:cover;display:block}
.wa-demo__avatar svg{width:100%;height:100%;display:block}
.wa-demo__avatar-online{
  position:absolute;right:-1px;bottom:-1px;width:12px;height:12px;border-radius:50%;
  background:#25D366;border:2.5px solid #075E54;
  animation:waOnline 1.6s ease-in-out infinite;
}
@keyframes waOnline{0%,100%{box-shadow:0 0 0 0 rgba(37,211,102,.6)}50%{box-shadow:0 0 0 4px rgba(37,211,102,0)}}
.wa-demo__meta{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.25;gap:2px}
.wa-demo__meta strong{font-size:15px;font-weight:800;letter-spacing:-.01em;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wa-demo__meta small{font-size:11.5px;color:rgba(255,255,255,.85);display:inline-flex;align-items:center;gap:6px}
.wa-demo__online{
  display:inline-block;width:8px;height:8px;border-radius:50%;background:#DCF8C6;flex-shrink:0;
  box-shadow:0 0 4px rgba(220,248,198,.8);
}
.wa-demo__close{
  width:34px;height:34px;border-radius:10px;background:rgba(255,255,255,.12);color:#fff;border:0;cursor:pointer;
  display:grid;place-items:center;transition:background .2s,transform .2s;flex-shrink:0;
}
.wa-demo__close:hover{background:rgba(255,255,255,.24);transform:rotate(90deg)}

/* Chat thread — WhatsApp-like paper background */
.wa-demo__chat{
  position:relative;flex:1;min-height:200px;overflow-y:auto;padding:14px 14px 6px;
  background:
    repeating-linear-gradient(0deg,transparent 0,transparent 28px,rgba(0,0,0,.025) 28px,rgba(0,0,0,.025) 29px),
    #ECE5DD;
  -webkit-overflow-scrolling:touch;
}
.wa-demo__day{
  display:block;margin:2px auto 12px;padding:3px 12px;width:fit-content;
  font-family:var(--font-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;
  background:rgba(255,255,255,.92);color:#54656F;border-radius:8px;
  box-shadow:0 1px 0 rgba(0,0,0,.05);
}
.wa-demo__bubble{
  max-width:82%;padding:7px 9px 5px;margin:0 0 6px;border-radius:10px;
  font-size:13.5px;line-height:1.45;color:#111B21;
  background:#FFF;border:1px solid rgba(0,0,0,.04);
  box-shadow:0 1px .5px rgba(0,0,0,.13);
  position:relative;animation:waBubbleIn .4s var(--ease) both;
}
.wa-demo__bubble--in{margin-right:auto;border-top-left-radius:2px}
.wa-demo__bubble--in:nth-of-type(1){animation-delay:.05s}
.wa-demo__bubble--in:nth-of-type(2){animation-delay:.2s}
@keyframes waBubbleIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.wa-demo__bubble p{margin:0}
.wa-demo__bubble strong{color:#075E54;font-weight:700}
.wa-demo__time{
  display:block;font-size:10px;color:#667781;text-align:right;margin-top:2px;letter-spacing:.02em;
}
.wa-demo__typing-bubble{
  max-width:70px;padding:10px 12px;display:inline-flex;align-items:center;
}
.wa-demo__typing{display:inline-flex;align-items:center;gap:4px}
.wa-demo__typing-dot{
  width:6px;height:6px;border-radius:50%;background:#90A4AE;display:inline-block;
  animation:waTyping 1.4s infinite ease-in-out both;
}
.wa-demo__typing-dot:nth-child(2){animation-delay:.18s}
.wa-demo__typing-dot:nth-child(3){animation-delay:.36s}
@keyframes waTyping{
  0%,60%,100%{opacity:.3;transform:translateY(0)}
  30%{opacity:1;transform:translateY(-3px)}
}

/* Quick reply list */
.wa-demo__replies{
  display:flex;flex-direction:column;gap:8px;padding:10px 12px 12px;
  background:#fff;border-top:1px solid rgba(0,0,0,.06);flex-shrink:0;
}
.wa-demo__quick{
  display:flex;align-items:center;gap:12px;padding:12px 14px;
  background:#F7F5F2;border:1.5px solid rgba(37,211,102,.25);border-radius:14px;
  text-decoration:none;color:#111B21;transition:transform .2s,box-shadow .2s,background .2s,border-color .2s;
  cursor:pointer;
}
.wa-demo__quick:hover{
  transform:translateY(-2px);background:#DCF8C6;border-color:rgba(37,211,102,.55);
  box-shadow:0 8px 20px -6px rgba(37,211,102,.45);color:#0B3B2E;
}
.wa-demo__quick:active{transform:translateY(0)}
.wa-demo__quick-ico{
  width:36px;height:36px;flex-shrink:0;border-radius:10px;display:grid;place-items:center;
  background:linear-gradient(135deg,rgba(37,211,102,.16),rgba(18,140,126,.16));font-size:18px;
}
.wa-demo__quick-body{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.3}
.wa-demo__quick-body strong{font-size:13.5px;font-weight:700;letter-spacing:-.01em}
.wa-demo__quick-body small{font-size:12px;color:#54656F;margin-top:2px}
.wa-demo__quick-arrow{
  width:24px;height:24px;flex-shrink:0;display:grid;place-items:center;
  background:#fff;border:1px solid rgba(0,0,0,.06);border-radius:8px;
  color:#075E54;font-weight:800;transition:transform .2s,background .2s;
}
.wa-demo__quick:hover .wa-demo__quick-arrow{background:#075E54;color:#fff;transform:translateX(2px)}

/* Footer caption */
.wa-demo__foot{
  padding:10px 14px 12px;display:flex;align-items:center;gap:6px;justify-content:center;
  font-size:11px;color:#54656F;background:#fff;border-top:1px solid rgba(0,0,0,.04);
  flex-shrink:0;
}
.wa-demo__lock{color:#25D366;display:inline-flex;align-items:center}

/* Mobile (bottom-sheet) */
@media (max-width:640px){
  .wa-demo{align-items:flex-end;padding:0}
  .wa-demo__panel{
    max-width:none;width:100%;max-height:90vh;border-radius:24px 24px 0 0;
  }
  .wa-demo__scrim{background:rgba(15,14,12,.5)}
  .wa-demo__quick-body strong{font-size:14.5px}
  .wa-demo__quick-body small{font-size:12.5px}
  .wa-launcher{left:14px;bottom:14px;gap:10px}
  .wa-launcher__btn{width:56px;height:56px}
  .wa-launcher__ico{width:28px;height:28px}
  .wa-launcher__halo{width:56px;height:56px}
  .wa-launcher__label{display:none}
}
/* Tablet */
@media (min-width:641px) and (max-width:900px){
  .wa-demo__panel{max-width:420px}
}
@media (prefers-reduced-motion: reduce){
  .wa-launcher__halo,.wa-launcher__btn,.wa-demo__scrim,.wa-demo__panel,.wa-demo__bubble,.wa-demo__quick{animation:none!important;transition:none!important}
  .wa-demo__panel{transform:none;opacity:1}
  .wa-demo.is-open .wa-demo__scrim{opacity:1}
}

/* Legacy class (kept for backwards-compat with old selectors) */
.whatsapp-float{position:fixed;left:22px;bottom:22px;width:60px;height:60px;z-index:120;
  background:#25D366;color:#fff;border-radius:50%;display:grid;place-items:center;
  box-shadow:0 8px 24px -4px rgba(37,211,102,.5);transition:transform .3s var(--ease),box-shadow .3s}
.whatsapp-float:hover{transform:scale(1.1);box-shadow:0 12px 32px -4px rgba(37,211,102,.6)}
.whatsapp-float svg{width:32px;height:32px}

[data-reveal]{opacity:0;transform:translateY(34px);transition:opacity .9s var(--ease) var(--d,0s),transform .9s var(--ease) var(--d,0s)}
[data-reveal].in{opacity:1;transform:none}
.hero__title[data-reveal]{opacity:1;transform:none}

@media (max-width:1199px){
  :root{--header-h:74px}
  .status-pill{display:none}
  .cta::before{opacity:.7}
}
@media (max-width:1023px){
  .nav{display:none}
  .burger{display:block}
  .header .btn{display:none}
  .header .wa-btn{display:none}
  .header__cta{display:none}
  /* Hide the inline WhatsApp CTA explicitly on mobile/tablet; users reach WhatsApp via the
     full-width "Chat on WhatsApp" button in the mobile menu. */
  .header .wa-btn,
  .header__cta{display:none !important}
  .hero__grid{grid-template-columns:1fr;gap:48px}
  .hero__art{max-width:560px;margin-inline:auto}
  .hero__title{font-size:clamp(30px,6.2vw,54px)}
  .stats{grid-template-columns:repeat(2,1fr);row-gap:36px}
  .brief__grid{grid-template-columns:1fr;gap:56px}
  .footer__grid{grid-template-columns:1fr 1fr;row-gap:48px}
  .footer__brand{grid-column:1/-1}
}
@media (max-width:767px){
  html{scroll-padding-top:80px}
  :root{--header-h:68px}
  .topbar{height:36px}
  .topbar__clock{display:none}
  .header__in{gap:14px}
  .logo__word{font-size:19px}
  .hero{padding-top:32px;padding-bottom:48px}
  .hero__title{font-size:clamp(28px,8.5vw,44px)}
  .hero__actions{flex-direction:column;align-items:stretch}
  .hero__actions .btn{width:100%;justify-content:center}
  .hero__rating{flex-wrap:wrap}
  .hero__art{grid-template-columns:1fr;gap:18px;justify-items:center;max-width:100%}
  .hero__image{max-width:100%;width:100%}
  .hero__foot{justify-content:center;text-align:center;gap:12px}
  .hero__foot .mono{font-size:11px}
  .stats{gap:26px}
  .stat{padding-left:16px}
  .form-grid{grid-template-columns:1fr}
  .footer__grid{grid-template-columns:1fr;gap:40px}
  .ftr-social{gap:8px}
  .ftr-social__btn{width:38px;height:38px}
  .ftr-social__ico svg{width:14px;height:14px}
  .footer__bottom{flex-direction:column;text-align:center}
  .ftr-contact{gap:2px}
  .ftr-contact__ico{width:30px;height:30px}
  .ftr-contact__ico svg{width:14px;height:14px}
  .ftr-contact__meta{font-size:13px}
  .cta__actions{flex-direction:column;align-items:stretch}
  .email-copy{justify-content:center}
  .to-top{right:14px;bottom:14px;width:48px;height:48px}
}
@media (max-width:400px){
  .stat__num{font-size:34px}
  .hero__image{border-radius:14px;box-shadow:6px 6px 0 var(--ink)}
  .screen__hero h4{font-size:20px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  [data-reveal]{opacity:1;transform:none}
  .hero__title .line__inner{transform:none}
  .hero__title .squig path{stroke-dashoffset:0}
  .marquee__track{animation:none;width:auto}
  .marquee{overflow-x:auto}
  .cursor{display:none}
}

/* Blog Styles */
.blog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:30px}
.blog-card{background:var(--paper);border:2px solid var(--ink);border-radius:18px;overflow:hidden;transition:transform .35s var(--ease),box-shadow .35s var(--ease)}
.blog-card:hover{transform:translate(-4px,-4px);box-shadow:6px 6px 0 var(--ink)}
.blog-card__image{aspect-ratio:16/10;overflow:hidden}
.blog-card__image img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.blog-card:hover .blog-card__image img{transform:scale(1.05)}
.blog-card__content{padding:24px}
.blog-card__meta{font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:12px}
.blog-card__title{font-size:22px;font-weight:800;letter-spacing:-.02em;line-height:1.2;margin-bottom:12px}
.blog-card__title a{transition:color .25s}
.blog-card__title a:hover{color:var(--accent)}
.blog-card__excerpt{color:var(--muted);font-size:15px;line-height:1.6;margin-bottom:16px}
.blog-card__footer{display:flex;justify-content:space-between;align-items:center}
.blog-card__read{font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;font-weight:700}

/* Portfolio Styles */
.portfolio-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:30px}
.portfolio-card{position:relative;border:2px solid var(--ink);border-radius:18px;overflow:hidden;background:var(--paper)}
.portfolio-card:hover .portfolio-card__overlay{opacity:1}
.portfolio-card__image{aspect-ratio:16/10;overflow:hidden}
.portfolio-card__image img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.portfolio-card:hover .portfolio-card__image img{transform:scale(1.05)}
.portfolio-card__overlay{position:absolute;inset:0;background:rgba(15,14,12,.9);display:flex;flex-direction:column;justify-content:center;padding:30px;opacity:0;transition:opacity .35s var(--ease)}
.portfolio-card__title{font-size:26px;font-weight:800;letter-spacing:-.02em;color:var(--paper);margin-bottom:12px}
.portfolio-card__industry{font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--lime);margin-bottom:16px}
.portfolio-card__desc{color:rgba(242,239,230,.8);font-size:15px;line-height:1.6}
.portfolio-card__link{position:absolute;inset:0;z-index:1}

/* Pagination */
.pagination{display:flex;justify-content:center;align-items:center;gap:8px;margin-top:48px}
.pagination a,.pagination span{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:44px;padding:0 12px;border:1.5px solid var(--line);border-radius:999px;font-weight:600;transition:all .25s var(--ease)}
.pagination a:hover{border-color:var(--ink);background:var(--ink);color:var(--lime)}
.pagination .current{background:var(--ink);color:var(--lime);border-color:var(--ink)}

/* Service Detail */
.service-hero{padding-top:clamp(44px,6vw,84px);padding-bottom:clamp(44px,6vw,84px)}
.service-content{max-width:800px;margin:0 auto}
.service-content h2{font-size:clamp(28px,4vw,46px);font-weight:800;letter-spacing:-.03em;line-height:1.1;text-transform:uppercase;margin:48px 0 24px}
.service-content h3{font-size:clamp(20px,2.5vw,28px);font-weight:700;letter-spacing:-.02em;margin:36px 0 16px}
.service-content p{color:var(--muted);font-size:17px;line-height:1.7;margin-bottom:20px}
.service-content ul{margin:20px 0;padding-left:0;list-style:none}
.service-content ul li{position:relative;padding-left:28px;margin-bottom:12px;font-size:16px;color:var(--muted)}
.service-content ul li::before{content:"✓";position:absolute;left:0;color:var(--accent);font-weight:700}

/* Page Sections */
.section{padding-block:clamp(60px,8vw,120px)}
.section--alt{background:var(--paper-2)}
.section__header{text-align:center;max-width:700px;margin:0 auto 48px}
.section__title{font-size:clamp(28px,4vw,48px);font-weight:800;letter-spacing:-.03em;text-transform:uppercase;margin-bottom:16px}
.section__title .serif-it{font-family:var(--font-serif);font-style:italic;font-weight:400;text-transform:none}
.section__subtitle{color:var(--muted);font-size:18px}

/* Contact Page */
.contact-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:60px;align-items:start}
.contact-info{position:sticky;top:calc(var(--header-h) + 24px)}
.contact-info__item{display:flex;gap:16px;padding:20px 0;border-bottom:1px solid var(--line)}
.contact-info__icon{width:48px;height:48px;background:var(--ink);color:var(--lime);border-radius:12px;display:grid;place-items:center;flex-shrink:0}
.contact-info__label{font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}
.contact-info__value{font-weight:600;font-size:16px}
.contact-info__value a{transition:color .25s}
.contact-info__value a:hover{color:var(--accent)}

/* Privacy & Terms */
.legal-content{max-width:none}
.legal-content h1{font-size:clamp(32px,5vw,56px);font-weight:800;letter-spacing:-.03em;text-transform:uppercase;margin-bottom:16px}
.legal-content h2{font-size:clamp(20px,2.5vw,28px);font-weight:700;letter-spacing:-.02em;margin:40px 0 16px;padding-top:20px;border-top:1px solid var(--line)}
.legal-content p{color:var(--muted);font-size:16px;line-height:1.7;margin-bottom:16px}
.legal-content ul{margin:16px 0;padding-left:24px}
.legal-content ul li{color:var(--muted);font-size:16px;line-height:1.7;margin-bottom:8px}

/* Dynamic CMS pages (page.php) */
.page-dynamic__article{max-width:800px;margin:0 auto}
.page-dynamic__head{margin-bottom:32px}
.page-dynamic__title{font-size:clamp(34px,5.5vw,64px);font-weight:800;letter-spacing:-.03em;text-transform:uppercase;line-height:1.05;margin:0 0 16px}
.page-dynamic__lead{font-size:clamp(16px,1.8vw,20px);line-height:1.55;color:var(--muted);max-width:60ch;margin:0}
.page-dynamic__hero{margin:0 0 36px;border:2px solid var(--ink);border-radius:18px;overflow:hidden;box-shadow:8px 8px 0 var(--ink)}
.page-dynamic__hero img{width:100%;height:auto;display:block;aspect-ratio:16/9;object-fit:cover}
.page-dynamic__body{font-size:17px;line-height:1.75;color:var(--ink-2)}
.page-dynamic__body h1,.page-dynamic__body h2,.page-dynamic__body h3{font-weight:800;letter-spacing:-.02em;color:var(--ink);margin:36px 0 14px;line-height:1.2}
.page-dynamic__body h2{font-size:clamp(22px,2.6vw,30px);text-transform:uppercase;padding-top:24px;border-top:1px solid var(--line)}
.page-dynamic__body h3{font-size:clamp(18px,2vw,22px);text-transform:none}
.page-dynamic__body p{margin:0 0 18px}
.page-dynamic__body a{color:var(--ink);text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:3px;transition:color .25s}
.page-dynamic__body a:hover{color:var(--accent)}
.page-dynamic__body ul,.page-dynamic__body ol{margin:0 0 20px;padding-left:24px}
.page-dynamic__body li{margin-bottom:8px}
.page-dynamic__body img{max-width:100%;height:auto;border-radius:12px;margin:20px 0}
.page-dynamic__body blockquote{border-left:3px solid var(--lime);padding:8px 0 8px 20px;margin:24px 0;font-style:italic;color:var(--muted)}
.page-dynamic__body code{font-family:var(--font-mono);font-size:.9em;background:var(--paper-2);padding:2px 6px;border-radius:4px}
@media (max-width:620px){
  .page-dynamic__hero{box-shadow:5px 5px 0 var(--ink);border-radius:14px}
  .page-dynamic__body{font-size:16px;line-height:1.7}
}

/* ---------- Shared single-page layout (blog post / single service / single portfolio) ---------- */
.post{padding-block:clamp(40px,6vw,80px) clamp(40px,6vw,80px)}
.post-hero{margin-bottom:clamp(40px,5vw,72px)}
.post-hero__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,4vw,64px);align-items:center}
.post-hero__copy{min-width:0}
.post-breadcrumbs{font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:24px}
.post-breadcrumbs ol{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center}
.post-breadcrumbs li{display:flex;align-items:center;gap:10px}
.post-breadcrumbs li:not(:last-child)::after{content:"/";color:var(--line-strong);font-family:inherit}
.post-breadcrumbs a{color:var(--muted);transition:color .25s}
.post-breadcrumbs a:hover{color:var(--ink)}
.post-breadcrumbs li[aria-current="page"]{color:var(--ink);font-weight:600;max-width:42ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.post-category{display:inline-flex;align-items:center;gap:8px;padding:7px 14px;background:var(--lime);color:var(--ink);border:1.5px solid var(--ink);border-radius:999px;font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;text-decoration:none;margin-bottom:20px;transition:transform .25s}
.post-category:hover{transform:translateY(-1px)}
.post-category__dot{width:6px;height:6px;border-radius:50%;background:var(--ink)}
.post-title{font-size:clamp(30px,4.6vw,56px);font-weight:800;letter-spacing:-.03em;line-height:1.05;text-transform:uppercase;margin:0 0 18px;max-width:22ch}
.post-title::first-letter{color:inherit}
.post-excerpt{font-size:clamp(16px,1.4vw,19px);line-height:1.55;color:var(--muted);max-width:54ch;margin:0 0 28px}
.post-meta{display:flex;flex-wrap:wrap;gap:20px 28px;align-items:center;padding:18px 0 0;border-top:1px solid var(--line);margin-top:8px}
.post-author{display:flex;align-items:center;gap:12px}
.post-author__avatar,.post-author__initial{width:44px;height:44px;border-radius:50%;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:16px;color:var(--ink);background:linear-gradient(135deg,var(--lime),var(--lime-deep));border:2px solid var(--ink);overflow:hidden}
.post-author__avatar{object-fit:cover}
.post-author__meta{display:flex;flex-direction:column;line-height:1.2}
.post-author__name{font-weight:700;font-size:14px;color:var(--ink)}
.post-author__role{font-family:var(--font-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-top:2px}
.post-meta__stats{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center}
.post-meta__item{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:500}
.post-meta__item svg{flex-shrink:0}
.post-hero__media{position:relative;margin:0}
.post-hero__media img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border:2px solid var(--ink);border-radius:18px;box-shadow:10px 10px 0 var(--lime);display:block;background:var(--paper-2)}
.post-hero__placeholder{width:100%;aspect-ratio:16/9;background:var(--paper-2);border:2px solid var(--ink);border-radius:18px;display:flex;align-items:center;justify-content:center;color:var(--muted);box-shadow:10px 10px 0 var(--lime)}
.post-hero__placeholder svg{width:80px;height:80px}
.post-hero__chip{position:absolute;left:-12px;top:24px;background:var(--coral);color:var(--ink);padding:8px 14px;font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;transform:rotate(-4deg);box-shadow:4px 4px 0 var(--ink)}

.post-body__grid{display:grid;grid-template-columns:1fr;gap:clamp(36px,4vw,60px);max-width:1350px;margin:0 auto}
@media (min-width:980px){.post-body__grid{grid-template-columns:minmax(0,1.85fr) minmax(0,1fr)}}
.post-main{min-width:0}
.post-sidebar{min-width:0;display:flex;flex-direction:column;gap:24px}
@media (min-width:980px){
  .post-sidebar{position:sticky;top:96px;max-height:calc(100vh - 96px);overflow-y:auto;align-self:start}
  .post-sidebar::-webkit-scrollbar{width:6px}
  .post-sidebar::-webkit-scrollbar-thumb{background:var(--line);border-radius:3px}
}

.post-toc{position:relative;border:1.5px solid var(--line);border-radius:14px;background:var(--paper-2);margin-bottom:36px;overflow:hidden}
.post-toc__toggle{display:flex;align-items:center;gap:12px;width:100%;padding:14px 18px;background:none;border:0;cursor:pointer;font-family:var(--font-mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--ink);text-align:left;transition:background .2s}
.post-toc__toggle:hover{background:rgba(212,247,106,.15)}
.post-toc__icon{width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;color:var(--accent)}
.post-toc__label{flex:1}
.post-toc__chev{transition:transform .25s;font-size:14px}
.post-toc[aria-expanded="true"] .post-toc__chev{transform:rotate(180deg)}
.post-toc__panel{padding:6px 8px 14px;border-top:1px solid var(--line);background:#fff}
.post-toc__panel[hidden]{display:none}
.post-toc__list{list-style:none;padding:0;margin:0;counter-reset:toc}
.post-toc__list li{counter-increment:toc;margin:0;padding:0}
.post-toc__list a{display:flex;align-items:baseline;gap:10px;padding:8px 12px;border-radius:8px;color:var(--ink-2);font-size:14px;line-height:1.45;text-decoration:none;transition:background .2s,color .2s,padding-left .2s}
.post-toc__list a::before{content:counter(toc,decimal-leading-zero);font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;color:var(--muted);font-weight:600;min-width:24px;flex-shrink:0}
.post-toc__list a:hover,.post-toc__list a.is-active{background:rgba(212,247,106,.18);color:var(--ink);padding-left:16px}
.post-toc__list .toc-h3 a{padding-left:34px;font-size:13px;color:var(--muted)}
.post-toc__empty{padding:12px 14px;color:var(--muted);font-size:13px}

.post-content{font-size:17px;line-height:1.8;color:var(--ink-2);max-width:none}
.post-content > *:first-child{margin-top:0}
.post-content h1,.post-content h2,.post-content h3,.post-content h4{font-weight:800;letter-spacing:-.02em;color:var(--ink);line-height:1.2;margin:48px 0 16px;scroll-margin-top:96px}
.post-content h1{font-size:clamp(26px,3.4vw,38px);text-transform:uppercase}
.post-content h2{font-size:clamp(22px,2.8vw,32px);text-transform:uppercase;padding-top:24px;border-top:1px solid var(--line)}
.post-content h3{font-size:clamp(18px,2.2vw,24px);text-transform:none;margin:32px 0 12px}
.post-content h4{font-size:clamp(16px,1.8vw,20px);text-transform:none}
.post-content p{margin:0 0 20px}
.post-content a{color:var(--ink);text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:3px;transition:color .2s}
.post-content a:hover{color:var(--accent)}
.post-content ul,.post-content ol{margin:0 0 22px;padding-left:24px}
.post-content li{margin-bottom:8px}
.post-content img{max-width:100%;height:auto;border-radius:12px;margin:28px 0;display:block}
.post-content figure{margin:28px 0}
.post-content figcaption{font-size:13px;color:var(--muted);text-align:center;margin-top:8px;font-style:italic}
.post-content blockquote{border-left:4px solid var(--accent);padding:14px 0 14px 22px;margin:28px 0;font-style:italic;color:var(--ink-2);background:linear-gradient(90deg,rgba(212,247,106,.12),transparent 60%);border-radius:0 8px 8px 0}
.post-content code{font-family:var(--font-mono);font-size:.9em;background:var(--paper-2);color:var(--ink);padding:2px 7px;border-radius:5px;border:1px solid var(--line)}
.post-content pre{background:#0F0E0C;color:#F5F1EA;padding:20px 22px;border-radius:12px;overflow-x:auto;margin:24px 0;font-size:14px;line-height:1.6}
.post-content pre code{background:none;padding:0;border:0;color:inherit}
.post-content table{width:100%;border-collapse:collapse;margin:24px 0;font-size:14px}
.post-content th,.post-content td{padding:10px 12px;border:1px solid var(--line);text-align:left}
.post-content th{background:var(--paper-2);font-weight:700}
.post-content hr{border:0;border-top:1px solid var(--line);margin:36px 0}

.post-tags{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:40px;padding-top:28px;border-top:1px solid var(--line)}
.post-tags__label{font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-right:6px}
.post-tag{display:inline-block;padding:6px 12px;border:1px solid var(--line);border-radius:999px;background:var(--paper-2);color:var(--ink);font-size:13px;text-decoration:none;transition:background .2s,border-color .2s,color .2s}
.post-tag:hover{background:var(--ink);color:var(--lime);border-color:var(--ink)}

.post-share{margin-top:40px;padding:28px;background:var(--paper-2);border:1.5px solid var(--line);border-radius:18px}
.post-share__label{display:block;font-family:var(--font-mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);font-weight:700;margin-bottom:14px}
.post-share__list{display:flex;flex-wrap:wrap;gap:10px}
.post-share__btn{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border:1.5px solid var(--ink);border-radius:10px;background:#fff;color:var(--ink);font-size:14px;font-weight:600;text-decoration:none;transition:background .2s,color .2s,transform .2s;cursor:pointer;font-family:inherit}
.post-share__btn svg{width:16px;height:16px;flex-shrink:0}
.post-share__btn:hover{background:var(--ink);color:var(--lime);transform:translateY(-1px)}
.post-share__copy.is-copied{background:var(--lime);color:var(--ink);border-color:var(--ink)}

.sidebar-block{background:var(--paper-2);border:1.5px solid var(--line);border-radius:18px;padding:22px}
.sidebar-block__title{display:flex;align-items:center;gap:10px;margin:0 0 18px;font-family:var(--font-mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink);font-weight:700;padding-bottom:12px;border-bottom:1px solid var(--line)}
.sidebar-block__title svg{color:var(--accent);flex-shrink:0}
.sidebar-empty{padding:14px;color:var(--muted);font-size:13px;font-style:italic;text-align:center}

.popular-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:14px;counter-reset:p}
.popular-item{display:flex;gap:14px;align-items:flex-start}
.popular-item__num{flex-shrink:0;width:34px;height:34px;border-radius:8px;background:var(--ink);color:var(--lime);display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;font-weight:700}
.popular-item__body{min-width:0;flex:1;display:flex;flex-direction:column;gap:4px}
.popular-item__title{font-size:14px;font-weight:700;line-height:1.35;color:var(--ink);text-decoration:none;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;transition:color .2s}
.popular-item__title:hover{color:var(--accent)}
.popular-item__meta{display:flex;gap:6px;align-items:center;font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}

.category-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}
.category-item{margin:0}
.category-link{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border-radius:10px;background:#fff;text-decoration:none;color:var(--ink);font-size:14px;font-weight:600;border:1px solid transparent;transition:background .2s,border-color .2s,transform .2s}
.category-link:hover{background:var(--lime);border-color:var(--ink);transform:translateX(2px)}
.category-link__count{flex-shrink:0;min-width:28px;height:24px;padding:0 8px;display:inline-flex;align-items:center;justify-content:center;background:var(--ink);color:var(--lime);border-radius:999px;font-family:var(--font-mono);font-size:11px;font-weight:700}

.recent-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:14px}
.recent-item{margin:0}
.recent-item__link{display:flex;gap:12px;align-items:center;text-decoration:none;color:inherit;padding:8px;border-radius:10px;transition:background .2s}
.recent-item__link:hover{background:#fff}
.recent-item__img,.recent-item__ph{flex-shrink:0;width:60px;height:60px;border-radius:8px;object-fit:cover;background:#fff;display:inline-flex;align-items:center;justify-content:center;color:var(--muted);border:1px solid var(--line)}
.recent-item__ph svg{width:22px;height:22px}
.recent-item__body{min-width:0;flex:1;display:flex;flex-direction:column;gap:4px}
.recent-item__title{font-size:13px;font-weight:600;line-height:1.35;color:var(--ink);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.recent-item__date{font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}

@media (max-width:980px){
  .post-hero__grid{grid-template-columns:1fr;gap:32px}
  .post-hero__copy{order:2}
  .post-hero__media{order:1}
  .post-hero__media img,.post-hero__placeholder{box-shadow:6px 6px 0 var(--lime)}
  .post-hero__chip{left:8px;top:8px;font-size:10px;padding:6px 10px}
  .post-meta{gap:14px 20px}
}
@media (max-width:620px){
  .post{padding-block:clamp(28px,5vw,48px) clamp(28px,5vw,48px)}
  .post-hero{margin-bottom:32px}
  .post-title{font-size:clamp(26px,8vw,36px);letter-spacing:-.02em;line-height:1.08}
  .post-excerpt{font-size:15px}
  .post-author__avatar,.post-author__initial{width:38px;height:38px;font-size:14px}
  .post-author__name{font-size:13px}
  .post-meta__stats{width:100%;gap:6px 14px}
  .post-meta__item{font-size:10px}
  .post-hero__media img,.post-hero__placeholder{box-shadow:4px 4px 0 var(--lime);border-radius:14px}
  .post-share{padding:20px;border-radius:14px}
  .post-share__btn{padding:9px 12px;font-size:13px}
  .post-share__btn span{display:none}
  .post-toc__toggle{font-size:11px;padding:12px 14px}
  .post-content{font-size:16px;line-height:1.7}
  .post-content h1,.post-content h2,.post-content h3{scroll-margin-top:80px}
  .sidebar-block{padding:18px;border-radius:14px}
}

/* ---------- Gallery / Tech / Highlights (shared by service + portfolio) ---------- */
.service-gallery{margin-bottom:36px}
.service-gallery__title{font-family:var(--font-mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink);font-weight:700;margin:0 0 16px;padding-bottom:10px;border-bottom:1px solid var(--line)}
.service-gallery__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.service-gallery__item{display:block;overflow:hidden;border:1.5px solid var(--ink);border-radius:14px;background:var(--paper-2);transition:transform .25s,box-shadow .25s;cursor:zoom-in;position:relative}
.service-gallery__item:hover{transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--ink)}
.service-gallery__item img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;display:block;transition:transform .4s}
.service-gallery__item:hover img{transform:scale(1.04)}
.service-gallery__item::after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(15,14,12,0) 60%,rgba(15,14,12,.4));opacity:0;transition:opacity .25s;pointer-events:none}
.service-gallery__item:hover::after{opacity:1}
.service-gallery__item::before{content:"🔍";position:absolute;right:12px;top:12px;width:32px;height:32px;display:grid;place-items:center;background:var(--lime);color:var(--ink);border:1.5px solid var(--ink);border-radius:50%;font-size:14px;z-index:1;opacity:0;transform:scale(.7);transition:opacity .25s,transform .25s;pointer-events:none;box-shadow:2px 2px 0 var(--ink)}
.service-gallery__item:hover::before{opacity:1;transform:scale(1)}

.service-tech{margin-top:40px;padding:24px;background:var(--paper-2);border:1.5px solid var(--line);border-radius:18px}
.service-tech__title{font-family:var(--font-mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink);font-weight:700;margin:0 0 14px}
.service-tech__list{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px}
.service-tech__item{padding:6px 12px;background:#fff;border:1px solid var(--ink);border-radius:999px;font-size:13px;font-weight:600;color:var(--ink)}

.service-highlights{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin:0 0 36px;padding:0}
.service-highlight{display:flex;align-items:center;gap:14px;padding:18px 18px;background:var(--paper-2);border:1.5px solid var(--line);border-radius:14px;transition:transform .25s,border-color .25s,background .25s}
.service-highlight:hover{transform:translateY(-2px);border-color:var(--lime);background:rgba(201,255,61,.05)}
.service-highlight__icon{flex-shrink:0;width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;background:var(--ink);color:var(--lime)}
.service-highlight__icon svg{width:20px;height:20px}
.service-highlight__body{display:flex;flex-direction:column;line-height:1.3;min-width:0}
.service-highlight__label{font-family:var(--font-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:600}
.service-highlight__value{font-size:15px;font-weight:800;color:var(--ink);margin-top:2px;word-break:break-word}

@media (max-width:620px){
  .service-gallery__grid{grid-template-columns:repeat(2,1fr);gap:10px}
  .service-gallery__item{border-radius:10px}
  .service-tech{padding:18px;border-radius:14px}
  .service-highlight{padding:14px;gap:12px}
  .service-highlight__icon{width:36px;height:36px;border-radius:8px}
  .service-highlight__icon svg{width:18px;height:18px}
  .service-highlight__value{font-size:14px}
}

/* ---------- Project meta (portfolio detail) ---------- */
.project-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px 24px;margin:24px 0 0;padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.project-meta__item{display:flex;flex-direction:column;gap:4px}
.project-meta dt{font-family:var(--font-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0;font-weight:600}
.project-meta dd{margin:0;font-size:15px;font-weight:700;color:var(--ink)}
.project-meta dd a{color:var(--ink);text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:3px;transition:color .2s}
.project-meta dd a:hover{color:var(--accent)}

@media (max-width:620px){
  .project-meta{grid-template-columns:repeat(2,1fr);gap:12px 18px;padding:14px 0}
  .project-meta dd{font-size:14px}
}

/* ---------- CTA sub-line (used on single service/portfolio dark CTA) ---------- */
.cta__sub{color:rgba(242,239,230,.7);max-width:52ch;margin:14px auto 0;font-size:16px;line-height:1.5}

/* About section — mobile friendly */
@media (max-width:980px){
  .about__grid,.services__head{grid-template-columns:1fr}
  .services__head .services__intro{justify-self:start}
  .services__grid{grid-template-columns:repeat(2,1fr)}
  .about__points{grid-template-columns:1fr}
  .about__copy{text-align:left}
  .about__title{max-width:none}
  .about__lead{max-width:none}
  .about__actions{justify-content:flex-start}
}
@media (max-width:620px){
  .services__grid{grid-template-columns:1fr}
  .about{padding-block:clamp(48px,9vw,80px);overflow:hidden}
  .about__grid{gap:32px}
  .about__media{aspect-ratio:4/5;box-shadow:6px 6px 0 var(--ink);border-radius:14px;max-width:100%}
  .about__media img{width:100%;height:100%;object-fit:cover}
  .about__media .sticker{left:12px;top:12px;font-size:10px;padding:6px 10px}
  .about__kicker{font-size:10px;padding:5px 10px}
  .about__title{font-size:clamp(26px,8vw,36px);letter-spacing:-.02em;margin-top:14px;line-height:1.08}
  .about__lead{font-size:15px;margin-top:16px;line-height:1.6}
  .about__points{margin-top:24px;gap:14px}
  .about__point{font-size:14px;gap:10px}
  .about__point .dot{width:9px;height:9px;margin-top:6px}
  .about__actions{margin-top:26px;flex-direction:column;align-items:stretch;gap:10px}
  .about__actions .btn{width:100%;justify-content:center;padding:14px 20px;font-size:14px}
  .about::before{width:280px;height:280px;left:-30%;top:8%}
}
@media (max-width:380px){
  .about__title{font-size:26px}
  .about__media{box-shadow:4px 4px 0 var(--ink)}
  .about__media .sticker{font-size:9px;padding:5px 8px}
}

/* Admin Styles */
.admin-body{background:#f0f0f0}
.admin-wrap{display:flex;min-height:100vh}
.admin-sidebar{width:260px;background:var(--ink);color:var(--paper);flex-shrink:0;position:fixed;height:100vh;overflow-y:auto}
.admin-sidebar__logo{padding:24px 20px;border-bottom:1px solid rgba(255,255,255,.1);display:flex;align-items:center;gap:12px}
.admin-sidebar__logo svg{width:36px;height:36px}
.admin-sidebar__logo span{font-weight:800;font-size:18px;letter-spacing:-.02em}
.admin-sidebar__nav{padding:20px 0}
.admin-nav-item{display:flex;align-items:center;gap:12px;padding:14px 20px;color:rgba(255,255,255,.7);font-weight:500;transition:all .25s}
.admin-nav-item:hover,.admin-nav-item.active{background:rgba(255,255,255,.1);color:var(--lime)}
.admin-nav-item svg{width:20px;height:20px}
.admin-nav-item .badge{background:var(--accent);color:#fff;font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px;margin-left:auto}
.admin-main{flex:1;margin-left:260px;padding:24px}
.admin-topbar{background:#fff;border-radius:12px;padding:16px 24px;display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;box-shadow:0 2px 8px rgba(0,0,0,.05)}
.admin-card{background:#fff;border-radius:12px;padding:24px;box-shadow:0 2px 8px rgba(0,0,0,.05)}
.admin-card__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.admin-card__title{font-size:18px;font-weight:700}
.admin-table{width:100%;border-collapse:collapse}
.admin-table th,.admin-table td{padding:14px 16px;text-align:left;border-bottom:1px solid var(--line)}
.admin-table th{font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:600}
.admin-table tr:hover{background:rgba(0,0,0,.02)}
.admin-table .actions{display:flex;gap:8px}
.admin-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:8px;font-weight:600;font-size:14px;transition:all .25s}
.admin-btn--primary{background:var(--ink);color:var(--lime)}
.admin-btn--primary:hover{background:var(--ink-2)}
.admin-btn--ghost{background:transparent;border:1px solid var(--line)}
.admin-btn--ghost:hover{background:var(--paper-2)}
.admin-btn--danger{background:#dc3545;color:#fff}
.admin-btn--sm{padding:6px 12px;font-size:13px}
.admin-form-group{margin-bottom:20px}
.admin-form-group label{display:block;font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.admin-form-group input,.admin-form-group textarea,.admin-form-group select{width:100%;padding:12px 16px;border:1.5px solid var(--line);border-radius:8px;font-family:inherit;font-size:15px;transition:border-color .25s}
.admin-form-group input:focus,.admin-form-group textarea:focus,.admin-form-group select:focus{outline:none;border-color:var(--ink)}
.admin-form-group textarea{min-height:150px;resize:vertical}
.admin-form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.admin-form-row--3{grid-template-columns:1fr 1fr 1fr}
.admin-media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:16px}
.admin-media-item{aspect-ratio:1;border:2px solid var(--line);border-radius:8px;overflow:hidden;position:relative;cursor:pointer}
.admin-media-item img{width:100%;height:100%;object-fit:cover}
.admin-media-item:hover .admin-media-overlay{opacity:1}
.admin-media-overlay{position:absolute;inset:0;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .25s}
.admin-media-overlay button{background:#fff;color:var(--ink);border:none;border-radius:6px;padding:8px 12px;font-weight:600;cursor:pointer}


/* =========================================================
   Image Lightbox (single service + single portfolio galleries)
   ========================================================= */
body.fyc-lightbox-open{overflow:hidden}
.fyc-lightbox{position:fixed;inset:0;z-index:9999;background:rgba(8,8,8,.94);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .25s var(--ease);padding:24px}
.fyc-lightbox.is-open{opacity:1;pointer-events:auto}
.fyc-lightbox__stage{position:relative;max-width:min(1200px,92vw);max-height:86vh;display:flex;align-items:center;justify-content:center;width:100%;height:100%}
.fyc-lightbox__img{max-width:100%;max-height:86vh;width:auto;height:auto;object-fit:contain;border-radius:14px;box-shadow:0 20px 60px rgba(0,0,0,.45);background:#000;display:block}
.fyc-lightbox__close{position:absolute;top:18px;right:18px;width:44px;height:44px;border-radius:50%;background:var(--lime);color:var(--ink);border:2px solid var(--ink);display:grid;place-items:center;cursor:pointer;box-shadow:3px 3px 0 rgba(212,247,106,.4);transition:transform .25s var(--ease),background .2s;z-index:2}
.fyc-lightbox__close:hover{transform:scale(1.06) rotate(90deg)}
.fyc-lightbox__close svg{width:18px;height:18px}
.fyc-lightbox__nav{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;background:rgba(255,255,255,.1);color:var(--paper);border:1.5px solid rgba(255,255,255,.25);display:grid;place-items:center;cursor:pointer;transition:background .2s,transform .25s var(--ease);z-index:2}
.fyc-lightbox__nav:hover{background:rgba(255,255,255,.2);transform:translateY(-50%) scale(1.06)}
.fyc-lightbox__nav--prev{left:24px}
.fyc-lightbox__nav--next{right:24px}
.fyc-lightbox__nav svg{width:18px;height:18px}
.fyc-lightbox__counter{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);padding:6px 14px;background:rgba(0,0,0,.55);color:var(--paper);border:1px solid rgba(255,255,255,.18);border-radius:999px;font-family:var(--font-mono);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;z-index:2}
@media (max-width:640px){
  .fyc-lightbox{padding:0}
  .fyc-lightbox__close{top:10px;right:10px;width:40px;height:40px}
  .fyc-lightbox__nav{width:40px;height:40px}
  .fyc-lightbox__nav--prev{left:10px}
  .fyc-lightbox__nav--next{right:10px}
  .fyc-lightbox__counter{bottom:10px}
  .fyc-lightbox__img{border-radius:0}
}
