
/* ===================================================================
   COMPILED STYLESHEET — replaces the Tailwind CDN runtime.
   Hand-authored to produce the exact same output as the utility
   classes used in this page (no JIT parser, no CDN request).
   If you later add a real build pipeline (Tailwind CLI/PostCSS),
   this file can be regenerated from the same source classes.
   =================================================================== */

/* ---------- Minimal preflight (subset of Tailwind's reset) ---------- */
*,*::before,*::after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;tab-size:4}
body{line-height:inherit}
.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
img,svg{display:block;max-width:100%}
button,select,input,textarea{font:inherit;color:inherit;background:transparent}
button{cursor:pointer}
a{color:inherit;text-decoration:inherit}
ul,ol{list-style:none}
svg{overflow:visible}

/* ---------- Design tokens (same values as the old tailwind.config) --- */
:root{
  --ink:#0A0A0A; --inkalt:#141414; --paper:#F5F5F2; --lime:#C6FF3D; --blue:#3D5AFE;
}

/* ---------- Layout / display ---------- */
.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.grid{display:grid}
.hidden{display:none}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}
.inset-0{inset:0}.inset-x-0{left:0;right:0}.inset-x-4{left:1rem;right:1rem}
.top-0{top:0}.top-2{top:.5rem}.top-6{top:1.5rem}.left-0{left:0}.left-2{left:.5rem}.right-0{right:0}.bottom-4{bottom:1rem}
.z-10{z-index:10}.z-40{z-index:40}.z-50{z-index:50}.z-\[100\]{z-index:100}
.overflow-hidden{overflow:hidden}.pointer-events-none{pointer-events:none}
.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.shrink-0{flex-shrink:0}
.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}
.justify-center{justify-content:center}.justify-between{justify-content:space-between}
.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}
.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.self-end{align-self:flex-end}
.w-full{width:100%}.h-full{height:100%}.min-h-screen{min-height:100vh}
.max-w-\[1440px\]{max-width:1440px}.max-w-5xl{max-width:64rem}.max-w-xl{max-width:36rem}
.max-w-md{max-width:28rem}.max-w-xs{max-width:20rem}
.mx-auto{margin-left:auto;margin-right:auto}
.cursor-pointer{cursor:pointer}
.object-cover{object-fit:cover}
.aspect-\[4\/3\]{aspect-ratio:4/3}
.group:hover .group-hover\:opacity-100{opacity:1}

/* Sizes used for icons/avatars/controls */
.w-5{width:1.25rem}.w-6{width:1.5rem}.w-9{width:2.25rem}.w-10{width:2.5rem}.w-12{width:3rem}.w-max{width:max-content}
.h-0\.5{height:.125rem}.h-5{height:1.25rem}.h-9{height:2.25rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-20{height:5rem}.h-px{height:1px}

/* ---------- Gap / space-y ---------- */
.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}
.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.gap-10{gap:2.5rem}.gap-12{gap:3rem}.gap-16{gap:4rem}
.space-y-2>* + *{margin-top:.5rem}.space-y-3>* + *{margin-top:.75rem}.space-y-5>* + *{margin-top:1.25rem}

/* ---------- Spacing: margin / padding ---------- */
.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}
.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-10{margin-bottom:2.5rem}
.mb-14{margin-bottom:3.5rem}.mb-16{margin-bottom:4rem}.mb-20{margin-bottom:5rem}
.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}
.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-10{margin-top:2.5rem}.mt-12{margin-top:3rem}
.pt-2{padding-top:.5rem}.pt-8{padding-top:2rem}.pt-32{padding-top:8rem}
.pb-20{padding-bottom:5rem}
.p-8{padding:2rem}
.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}
.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}
.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-7{padding-left:1.75rem;padding-right:1.75rem}.px-8{padding-left:2rem;padding-right:2rem}
.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}
.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}
.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}
.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-28{padding-top:7rem;padding-bottom:7rem}

/* ---------- Typography ---------- */
.font-display{font-family:'Urbanist',ui-sans-serif,system-ui,sans-serif}
.font-body{font-family:Urbanist,ui-sans-serif,system-ui,sans-serif}
.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-medium{font-weight:500}.font-normal{font-weight:400}
.text-xs{font-size:.75rem;line-height:1rem}.text-sm{font-size:.875rem;line-height:1.25rem}
.text-lg{font-size:1.125rem;line-height:1.75rem}.text-xl{font-size:1.25rem;line-height:1.75rem}
.text-2xl{font-size:1.5rem;line-height:2rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}
.text-5xl{font-size:3rem;line-height:1}.text-6xl{font-size:3.75rem;line-height:1}.text-7xl{font-size:4.5rem;line-height:1}
.leading-none{line-height:1}.leading-tight{line-height:1.25}.leading-\[0\.98\]{line-height:.98}
.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}
.text-center{text-align:center}.not-italic{font-style:normal}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.resize-y{resize:vertical}
.outline-none{outline:2px solid transparent;outline-offset:2px}

/* Responsive clamp for the hero H1 (replaces raw vw units — see item 12) */
.text-\[13vw\]{font-size:clamp(2.25rem,9vw,3.25rem)}
.text-\[9vw\]{font-size:clamp(2.75rem,9vw,4.5rem)}
.text-\[5\.2vw\]{font-size:clamp(3rem,5.2vw,4.75rem)}

/* ---------- Color: background / text / border (incl. opacity slashes) ---------- */
.bg-ink{background-color:var(--ink)}.bg-inkalt{background-color:var(--inkalt)}.bg-paper{background-color:var(--paper)}
.bg-lime{background-color:var(--lime)}.bg-white{background-color:#fff}.bg-transparent{background-color:transparent}
.bg-ink\/98{background-color:rgba(10,10,10,.98)}.bg-white\/10{background-color:rgba(255,255,255,.1)}
.text-ink{color:var(--ink)}.text-white{color:#fff}.text-lime{color:var(--lime)}.text-blue{color:var(--blue)}.text-red-400{color:#f87171}
.text-ink\/50{color:rgba(10,10,10,.5)}.text-ink\/60{color:rgba(10,10,10,.6)}.text-ink\/70{color:rgba(10,10,10,.7)}
.text-white\/35{color:rgba(255,255,255,.35)}.text-white\/40{color:rgba(255,255,255,.4)}.text-white\/50{color:rgba(255,255,255,.5)}
.text-white\/60{color:rgba(255,255,255,.6)}.text-white\/70{color:rgba(255,255,255,.7)}.text-white\/80{color:rgba(255,255,255,.8)}
.border{border-width:1px}.border-t{border-top-width:1px}.border-y{border-top-width:1px;border-bottom-width:1px}
.border-white\/5{border-color:rgba(255,255,255,.05)}.border-white\/10{border-color:rgba(255,255,255,.1)}
.border-white\/15{border-color:rgba(255,255,255,.15)}.border-white\/20{border-color:rgba(255,255,255,.2)}.border-white\/30{border-color:rgba(255,255,255,.3)}
.border-ink\/15{border-color:rgba(10,10,10,.15)}
.rounded{border-radius:.25rem}.rounded-lg{border-radius:.5rem}.rounded-2xl{border-radius:1rem}.rounded-full{border-radius:9999px}
.shadow-xl{box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1)}
.shadow-black\/40{--tw-shadow-color:rgba(0,0,0,.4)}
.accent-lime{accent-color:var(--lime)}
.backdrop-blur{backdrop-filter:blur(8px)}

/* ---------- Interactive states ---------- */
.hover\:text-lime:hover{color:var(--lime)}
.hover\:bg-white:hover{background-color:#fff}
.hover\:border-lime:hover{border-color:var(--lime)}
.hover\:border-lime\/50:hover{border-color:rgba(198,255,61,.5)}
.hover\:border-lime\/60:hover{border-color:rgba(198,255,61,.6)}
.focus\:border-lime:focus{border-color:var(--lime)}
.transition-all{transition-property:all;transition-duration:.2s}
.transition-colors{transition-property:color,background-color,border-color;transition-duration:.2s}
.transition-opacity{transition-property:opacity;transition-duration:.2s}
.transition-transform{transition-property:transform;transition-duration:.2s}
.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}
.opacity-0{opacity:0}.opacity-70{opacity:.7}
.translate-y-24{transform:translateY(6rem)}

/* ---------- Responsive breakpoints (Tailwind defaults) ---------- */
@media (min-width:640px){
  .sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sm\:text-xl{font-size:1.25rem;line-height:1.75rem}
  .sm\:text-3xl{font-size:1.875rem;line-height:2.25rem}
  .sm\:text-5xl{font-size:3rem;line-height:1}
  .sm\:text-6xl{font-size:3.75rem;line-height:1}
  .sm\:text-7xl{font-size:4.5rem;line-height:1}
  .sm\:w-auto{width:auto}
  .sm\:text-\[9vw\]{font-size:clamp(2.75rem,9vw,4.5rem)}
}
@media (min-width:768px){
  .md\:block{display:block}
  .md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
  .md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
  .md\:gap-8{gap:2rem}
}
@media (min-width:1024px){
  .lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:block{display:block}
  .lg\:px-12{padding-left:3rem;padding-right:3rem}
  .lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
  .lg\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}
  .lg\:col-span-2{grid-column:span 2/span 2}.lg\:col-span-3{grid-column:span 3/span 3}
  .lg\:col-span-4{grid-column:span 4/span 4}.lg\:col-span-5{grid-column:span 5/span 5}
  .lg\:col-span-6{grid-column:span 6/span 6}.lg\:col-span-7{grid-column:span 7/span 7}.lg\:col-span-9{grid-column:span 9/span 9}
  .lg\:col-start-6{grid-column-start:6}.lg\:col-start-7{grid-column-start:7}.lg\:col-start-9{grid-column-start:9}
  .lg\:text-left{text-align:left}
  .lg\:text-\[5\.2vw\]{font-size:clamp(3rem,5.2vw,4.75rem)}
}
@media (min-width:1280px){
  .xl\:col-span-8{grid-column:span 8/span 8}
}

@media (prefers-reduced-motion:no-preference){
  /* handled by page-specific keyframes below in the main <style> block */
}



  /* ==========================================================
     BASE / MOTION PREFERENCES
     ========================================================== */
  html { scroll-behavior: smooth; }
  body { font-family: 'Urbanist', sans-serif; background:#0A0A0A; color:#fff; }
  h1,h2,h3,h4 { font-family: 'Urbanist', sans-serif; }

  /* Visible, high-contrast focus ring everywhere */
  :focus-visible { outline: 2px solid #C6FF3D; outline-offset: 3px; border-radius: 2px; }

  /* ----------------------------------------------------------
     Scroll-reveal (IntersectionObserver toggles .is-visible)
     transform + opacity only → no layout shift / no CLS
     ---------------------------------------------------------- */
  .js .reveal { opacity: 0; transform: translateY(24px); transition: opacity .6s ease-out, transform .6s ease-out; }
  .js .reveal.is-visible { opacity: 1; transform: translateY(0); }

  /* ----------------------------------------------------------
     Hero background — lightweight CSS node/line network
     (no canvas, no video; pure CSS for performance)
     ---------------------------------------------------------- */
  .hero-grid-bg {
    background-image:
      radial-gradient(circle at 18% 30%, rgba(198,255,61,.16) 0, transparent 40%),
      radial-gradient(circle at 82% 65%, rgba(61,90,254,.18) 0, transparent 42%),
      linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px),
      linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px);
    background-size: auto, auto, 64px 64px, 64px 64px;
  }
  .hero-node { animation: pulse-node 3.4s ease-in-out infinite; }
  @keyframes pulse-node { 0%,100%{ opacity:.35 } 50%{ opacity:1 } }
  .hero-link { stroke-dasharray: 4 6; animation: dash-move 6s linear infinite; }
  @keyframes dash-move { to { stroke-dashoffset: -100; } }

  /* ----------------------------------------------------------
     Marquee — duplicated track, pauses on hover
     ---------------------------------------------------------- */
  .marquee-track { animation: marquee 26s linear infinite; }
  .marquee-wrap:hover .marquee-track { animation-play-state: paused; }
  @keyframes marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }

  /* ----------------------------------------------------------
     Progress line for the 3-step approach section
     ---------------------------------------------------------- */
  .js .progress-line { transform: scaleX(0); transform-origin: left; transition: transform 1s ease-out; }
  .js .progress-line.is-visible { transform: scaleX(1); }

  /* ----------------------------------------------------------
     Reduced motion: kill every non-essential animation
     ---------------------------------------------------------- */
  @media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    .reveal { opacity: 1 !important; transform: none !important; transition: none !important; }
    .hero-node, .hero-link, .marquee-track, .progress-line { animation: none !important; transition: none !important; }
    .marquee-track { transform: none; }
    .progress-line { transform: scaleX(1) !important; }
  }

  /* Hide native number input spinners is unnecessary here; utility class for skip-link */
  .skip-link { transform: translateY(-150%); transition: transform .2s ease-out; }
  .skip-link:focus { transform: translateY(0); }


  /* Small element-scoped styles kept out of Tailwind utilities for clarity */
  .mobile-link { border-bottom: 1px solid rgba(255,255,255,.08); padding-bottom: .75rem; }
  .service-chip { display:inline-flex; }
  .faq-item { border-top:1px solid rgba(255,255,255,.1); }
  .faq-item:last-child { border-bottom:1px solid rgba(255,255,255,.1); }
  .faq-summary { cursor:pointer; list-style:none; font-family:'Urbanist',sans-serif; font-weight:700; font-size:1.1rem; padding:20px 0; display:flex; justify-content:space-between; align-items:center; gap:16px; }
  .faq-summary::-webkit-details-marker { display:none; }
  .faq-summary::after { content:"+"; color:#C6FF3D; font-size:1.4rem; line-height:1; flex-shrink:0; }
  details[open] .faq-summary::after { content:"–"; }
  .faq-answer { color:rgba(255,255,255,.6); padding:0 0 22px; max-width:64ch; }

  .stat-bar { display:inline-block; width:40px; height:3px; background:#C6FF3D; border-radius:2px; margin:0 auto; }
  .stat-block.lg\:text-left .stat-bar { margin-left:0; }
  .stat-block .count-up { display:inline-block; transition: transform .3s cubic-bezier(.34,1.56,.64,1); }
  .stat-block.is-counted .count-up { animation: stat-pop .5s cubic-bezier(.34,1.56,.64,1); }
  @keyframes stat-pop { 0%{ transform:scale(1) } 40%{ transform:scale(1.18) } 100%{ transform:scale(1) } }
  @media (prefers-reduced-motion: reduce) { .stat-block.is-counted .count-up { animation:none; } }

  .service-chip span {
    border: 1px solid rgba(255,255,255,.15); border-radius: 999px; padding: .5rem 1rem;
    font-size: .875rem; color: rgba(255,255,255,.7); cursor: pointer; transition: all .2s ease-out;
  }
  .service-chip input:checked + span { background:#C6FF3D; border-color:#C6FF3D; color:#0A0A0A; font-weight:600; }
  .service-chip input:focus-visible + span { outline: 2px solid #C6FF3D; outline-offset: 2px; }


.wrap { max-width:1440px; margin:0 auto; padding:0 24px; }
@media (min-width:1024px){ .wrap{ padding:0 48px; } }
.lime { color:#C6FF3D; }
.btn-primary { display:inline-block; background:#C6FF3D; color:#0A0A0A; font-family:'Urbanist',sans-serif; font-weight:800; padding:16px 28px; border-radius:999px; text-decoration:none; }
.btn-primary:hover { background:#fff; }
.crumbs { font-size:14px; color:rgba(255,255,255,.5); padding:32px 0 8px; }
.crumbs a { text-decoration:none; border-bottom:1px solid rgba(255,255,255,.2); }
.svc-hero h1 { font-weight:800; font-size:clamp(2.25rem,5vw,3.5rem); line-height:1.05; max-width:18ch; margin:16px 0 0; }
.svc-hero p { color:rgba(255,255,255,.7); font-size:1.15rem; max-width:60ch; margin-top:20px; }
.svc-section { padding:52px 24px; border-top:1px solid rgba(255,255,255,.08); max-width:1440px; margin:0 auto; }
@media (min-width:1024px){ .svc-section{ padding-left:48px; padding-right:48px; } }
.svc-section:first-of-type { border-top:none; }
.svc-section h2 { font-weight:800; font-size:clamp(1.5rem,3vw,2.1rem); margin:0 0 24px; }
.svc-section h3 { font-weight:700; font-size:1.15rem; margin:0 0 10px; }
.grid-2 { display:grid; grid-template-columns:1fr; gap:32px; }
@media (min-width:900px){ .grid-2{ grid-template-columns: 1fr 1fr; } }
.grid-3 { display:grid; grid-template-columns:1fr; gap:20px; }
@media (min-width:900px){ .grid-3{ grid-template-columns: repeat(3,1fr); } }
.pain-card, .deliver-card, .who-card { border:1px solid rgba(255,255,255,.1); border-radius:16px; padding:24px; }
.pain-card p, .deliver-card p, .who-card p { color:rgba(255,255,255,.65); margin:0; }
.deliver-card .out { display:inline-block; margin-top:10px; font-size:13px; color:#C6FF3D; border:1px solid rgba(198,255,61,.3); border-radius:999px; padding:3px 10px; }
.steps-row { display:grid; grid-template-columns:1fr; gap:20px; }
@media (min-width:900px){ .steps-row{ grid-template-columns:repeat(3,1fr); } }
.step-num { display:inline-flex; align-items:center; justify-content:center; width:32px; height:32px; border-radius:50%; background:#C6FF3D; color:#0A0A0A; font-weight:800; font-family:'Urbanist',sans-serif; margin-bottom:12px; }
.two-city { background:#141414; border-radius:16px; padding:32px; }
.meta-row { display:flex; flex-wrap:wrap; gap:32px; padding:0; }
.kpi-list, .tool-list { display:flex; flex-wrap:wrap; gap:10px; padding:0; list-style:none; margin:4px 0 0; }
.kpi-list li, .tool-list li { border:1px solid rgba(255,255,255,.15); border-radius:999px; padding:6px 14px; font-size:14px; color:rgba(255,255,255,.75); }
.pkg-row { display:grid; grid-template-columns:1fr; gap:20px; }
@media (min-width:900px){ .pkg-row{ grid-template-columns:repeat(3,1fr); } }
.pkg-card { border:1px solid rgba(255,255,255,.12); border-radius:16px; padding:24px; }
.pkg-card .price { font-family:'Urbanist',sans-serif; font-weight:800; font-size:1.4rem; color:#C6FF3D; margin:8px 0 12px; }
.internal-links { display:flex; flex-wrap:wrap; gap:12px; }
.internal-links a { border:1px solid rgba(255,255,255,.15); border-radius:999px; padding:8px 16px; text-decoration:none; font-size:14px; color:rgba(255,255,255,.8); }
.internal-links a:hover { border-color:#C6FF3D; color:#C6FF3D; }
.cta-box { background:#141414; border-radius:16px; padding:40px; text-align:center; }
.cta-box p { color:rgba(255,255,255,.6); margin:12px 0 22px; }


.svc-acc { border-top:1px solid rgba(255,255,255,.1); }
.svc-acc:last-child { border-bottom:1px solid rgba(255,255,255,.1); }
.svc-acc > summary { cursor:pointer; list-style:none; display:flex; justify-content:space-between; align-items:center; gap:16px; padding:28px 0; }
.svc-acc > summary::-webkit-details-marker { display:none; }
.svc-acc > summary .plus { color:#C6FF3D; font-size:1.6rem; flex-shrink:0; }
.svc-acc[open] > summary .plus { transform:rotate(45deg); }
.svc-acc .acc-body { padding:0 0 40px; }
.city-pair { display:grid; grid-template-columns:1fr; gap:24px; position:relative; }
@media (min-width:900px){ .city-pair{ grid-template-columns:1fr 1fr; } }
.city-card { border:1px solid rgba(255,255,255,.1); border-radius:16px; padding:32px; }
.city-badge { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); width:64px; height:64px; border-radius:50%; background:#C6FF3D; color:#0A0A0A; font-family:'Urbanist',sans-serif; font-weight:800; display:none; align-items:center; justify-content:center; z-index:5; }
@media (min-width:900px){ .city-badge{ display:flex; } }
.value-card { border:1px solid rgba(255,255,255,.1); border-radius:16px; padding:24px; }
.team-card img { width:88px; height:88px; border-radius:50%; object-fit:cover; margin-bottom:14px; }
.office-card { background:#141414; border-radius:16px; padding:28px; }


/* ===================================================================
   PRODUCTION ADDITIONS — classes that replace former inline styles,
   plus new components (cards, form states, cookie banner, legal pages).
   Existing tokens and classes above are unchanged.
   =================================================================== */
.site-main{padding-top:80px}
.skip-link{position:fixed;top:.5rem;left:.5rem;z-index:100;background:var(--lime);color:var(--ink);font-family:'Urbanist',sans-serif;font-weight:700;padding:.5rem 1rem;border-radius:.25rem}
.hero-node-d1{animation-delay:.6s}
.hero-node-d2{animation-delay:1.2s}
.delivers-list{padding-left:20px;color:rgba(255,255,255,.75);line-height:2}
.delivers-list li{list-style:disc}

/* Service page (real <h1>, one page per service) */
.svc-hero{max-width:1440px;margin:0 auto;padding:32px 24px 56px}
@media (min-width:1024px){.svc-hero{padding-left:48px;padding-right:48px}}
.svc-eyebrow{font-family:'Urbanist',sans-serif;font-weight:700;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--lime);margin:0 0 6px}
.svc-lead{color:rgba(255,255,255,.7);font-size:1.05rem;max-width:70ch}
.svc-step-text{color:rgba(255,255,255,.65)}
.two-city h2{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--lime);margin:0 0 8px}
.two-city p{color:rgba(255,255,255,.75);max-width:70ch;margin:0}
.kpi-note{color:rgba(255,255,255,.45);font-size:13px;margin:10px 0 4px}
.faq-wrap{max-width:760px}
.cta-box h2{margin:0}
.svc-section-tight{padding-top:0;border-top:none}

/* Services overview cards */
.svc-group-title{font-family:'Urbanist',sans-serif;font-weight:700;font-size:.95rem;letter-spacing:.08em;text-transform:uppercase;color:var(--lime);margin:0 0 16px}
.svc-group{margin-bottom:56px}
.svc-card{display:block;border:1px solid rgba(255,255,255,.1);border-radius:16px;overflow:hidden;transition:border-color .2s}
.svc-thumb{display:block;aspect-ratio:16/9;border-radius:0}
.svc-card-body{display:block;padding:22px 26px 26px}
.svc-card:hover{border-color:rgba(198,255,61,.6)}
.svc-card h3{font-family:'Urbanist',sans-serif;font-weight:700;font-size:1.25rem;margin:0 0 10px}
.svc-card p{color:rgba(255,255,255,.6);margin:0 0 18px}
.svc-card .more{color:var(--lime);font-weight:500}

/* Team / contact / misc replaced inline styles */
.office-card p.office-addr{color:rgba(255,255,255,.5);font-size:.875rem}
.mail-row{display:flex;align-items:center;gap:12px;margin-top:24px;color:rgba(255,255,255,.5);font-size:.875rem}
.copy-btn{border:1px solid rgba(255,255,255,.2);border-radius:999px;padding:4px 12px;font-size:12px;color:rgba(255,255,255,.8);transition:all .2s}
.copy-btn:hover{border-color:var(--lime);color:var(--lime)}

/* Form states */
.field-error{color:#f87171;font-size:.8125rem;margin-top:6px;min-height:0}
.field-error:empty{display:none}
[aria-invalid="true"]{border-color:#f87171 !important}
.btn-loading{opacity:.7;cursor:progress}
.btn-loading::after{content:"";display:inline-block;width:14px;height:14px;margin-left:10px;border:2px solid var(--ink);border-right-color:transparent;border-radius:50%;vertical-align:-2px;animation:spin .7s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.btn-loading::after{animation:none}}
.form-status{font-weight:500;padding-top:8px}
.form-status.ok{color:var(--lime)}
.form-status.err{color:#f87171}
select option{background:#141414;color:#fff}
.req{color:var(--lime)}

/* Legal template pages */
.legal{max-width:820px;margin:0 auto;padding:48px 24px 96px}
.legal h1{font-family:'Urbanist',sans-serif;font-weight:800;font-size:clamp(2rem,4vw,3rem);line-height:1.1;margin:0 0 12px}
.legal h2{font-family:'Urbanist',sans-serif;font-weight:700;font-size:1.3rem;margin:36px 0 10px}
.legal p,.legal li{color:rgba(255,255,255,.7);line-height:1.7}
.legal .placeholder{border:1px dashed rgba(198,255,61,.5);border-radius:12px;padding:16px 18px;color:var(--lime);margin:8px 0}
.legal .meta{color:rgba(255,255,255,.4);font-size:.875rem;margin-bottom:32px}

/* Footer additions */
.footer-legal-id{color:rgba(255,255,255,.4);font-size:.8125rem;line-height:1.7}
.footer-bottom{display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;align-items:flex-start}

/* Cookie banner — Accept and Reject carry equal visual weight (Garante) */
.cc-banner{position:fixed;left:16px;right:16px;bottom:16px;z-index:100;max-width:720px;margin:0 auto;background:var(--inkalt);border:1px solid rgba(255,255,255,.2);border-radius:16px;padding:20px 22px;box-shadow:0 20px 25px -5px rgba(0,0,0,.4)}
.cc-banner[hidden]{display:none}
.cc-banner h2{font-family:'Urbanist',sans-serif;font-weight:700;font-size:1.05rem;margin:0 0 6px}
.cc-banner p{color:rgba(255,255,255,.7);font-size:.875rem;line-height:1.55;margin:0 0 14px}
.cc-banner a{color:var(--lime);border-bottom:1px solid rgba(198,255,61,.4)}
.cc-actions{display:flex;flex-wrap:wrap;gap:10px}
.cc-btn{font-family:'Urbanist',sans-serif;font-weight:700;font-size:.875rem;padding:11px 22px;border-radius:999px;border:2px solid var(--lime);background:var(--lime);color:var(--ink);transition:all .2s}
.cc-btn:hover{background:#fff;border-color:#fff}
.cc-btn.cc-secondary{background:transparent;color:var(--lime)}
.cc-btn.cc-secondary:hover{background:#fff;border-color:#fff;color:var(--ink)}
.cc-prefs{margin:0 0 14px;padding:0;border:0}
.cc-prefs[hidden]{display:none}
.cc-prefs label{display:flex;gap:10px;align-items:flex-start;color:rgba(255,255,255,.75);font-size:.875rem;margin-bottom:8px}
.cc-prefs input{margin-top:3px;accent-color:var(--lime)}
.footer-link-btn{color:inherit;text-align:left}
.footer-link-btn:hover{color:var(--lime)}

/* ===================================================================
   BRIDGE SECTION — "Istanbul – Milan axis" (editorial light section)
   Uses the existing --paper / --ink / --lime tokens.
   =================================================================== */
.bridge{background:var(--paper);color:var(--ink);padding:40px 0}
@media (min-width:1024px){.bridge{padding:56px 0}}
.bridge-grid{display:grid;grid-template-columns:1fr;gap:28px;align-items:stretch}
.bridge-grid>div:first-child{align-self:center}
.bridge-grid>div:last-child{display:flex}
@media (min-width:1024px){.bridge-grid{grid-template-columns:5fr 7fr;gap:48px}}
.bridge-kicker{display:inline-flex;align-items:center;gap:8px;font-family:'Urbanist',sans-serif;font-weight:700;font-size:12px;letter-spacing:.1em;text-transform:uppercase;border:1px solid rgba(10,10,10,.2);border-radius:999px;padding:6px 14px;margin-bottom:14px}
.bridge-kicker::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--ink)}
.bridge h2{font-weight:800;font-size:clamp(1.75rem,3vw,2.4rem);line-height:1.08;letter-spacing:-.02em;margin:0 0 12px}
.bridge-lead{color:rgba(10,10,10,.7);font-size:.97rem;line-height:1.55;max-width:52ch;margin:0 0 18px}
.bridge-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.bridge-stat{border:1px solid rgba(10,10,10,.15);border-radius:14px;padding:14px 16px}
.bridge-stat strong{display:block;font-family:'Urbanist',sans-serif;font-weight:800;font-size:1.15rem;margin-bottom:2px}
.bridge-stat span{color:rgba(10,10,10,.6);font-size:.8125rem}

.map-wrap{flex:1;display:flex;align-items:center;width:100%;border:1px solid rgba(10,10,10,.12);border-radius:20px;background:rgba(255,255,255,.55);overflow:hidden}
.map-stage{position:relative;width:100%}
.map-svg{display:block;width:100%;height:auto;overflow:hidden}
.map-land{fill:#E6E4DD;stroke:#D2CFC6;stroke-width:.8;stroke-linejoin:round}
.map-sea{fill:#F7F6F3;stroke:#D2CFC6;stroke-width:.8;stroke-linejoin:round}
.map-grid{stroke:rgba(10,10,10,.06);stroke-width:1;fill:none}
.map-route-base{fill:none;stroke:rgba(10,10,10,.45);stroke-width:2;stroke-dasharray:1 9;stroke-linecap:round}
.map-route-glow{fill:none;stroke:var(--lime);stroke-width:9;stroke-linecap:round;stroke-dasharray:70 930;stroke-dashoffset:0;opacity:.85;filter:blur(3px);animation:route-flow 4.2s linear infinite}
.map-route-core{fill:none;stroke:var(--ink);stroke-width:2.5;stroke-linecap:round;stroke-dasharray:70 930;stroke-dashoffset:0;animation:route-flow 4.2s linear infinite}
@keyframes route-flow{from{stroke-dashoffset:70}to{stroke-dashoffset:-930}}

.map-pin{position:absolute;width:44px;height:44px;margin:-22px 0 0 -22px;border-radius:50%;display:flex;align-items:center;justify-content:center;z-index:2}
.map-pin::before{content:"";position:absolute;width:16px;height:16px;border-radius:50%;background:var(--ink);border:3px solid var(--lime);box-shadow:0 0 0 1px var(--ink)}
.map-pin::after{content:"";position:absolute;width:16px;height:16px;border-radius:50%;border:2px solid var(--ink);animation:pin-pulse 2.4s ease-out infinite}
@keyframes pin-pulse{0%{transform:scale(1);opacity:.6}100%{transform:scale(3.2);opacity:0}}
.map-label{position:absolute;top:50%;left:calc(50% + 16px);transform:translateY(-50%);font-family:'Urbanist',sans-serif;font-weight:700;font-size:13px;letter-spacing:.02em;white-space:nowrap;pointer-events:none}
.map-pin.label-left .map-label{left:auto;right:calc(50% + 16px)}
.map-card{position:absolute;bottom:calc(100% - 4px);left:50%;transform:translate(-50%,6px);width:200px;background:var(--ink);color:#fff;border-radius:12px;padding:12px 14px;text-align:left;opacity:0;visibility:hidden;transition:opacity .2s,transform .2s,visibility .2s;pointer-events:none;box-shadow:0 12px 28px rgba(0,0,0,.25)}
.map-card.align-right{left:auto;right:-8px;transform:translate(0,6px)}
.map-card b{display:block;font-family:'Urbanist',sans-serif;font-weight:800;font-size:.95rem;margin-bottom:2px}
.map-card i{display:block;font-style:normal;color:var(--lime);font-size:.75rem;font-weight:500;margin-bottom:6px}
.map-card span{display:block;color:rgba(255,255,255,.75);font-size:.8rem;line-height:1.45}
.map-pin:hover .map-card,.map-pin:focus-visible .map-card,.map-pin:focus .map-card{opacity:1;visibility:visible;transform:translate(-50%,0)}
.map-pin:hover .map-card.align-right,.map-pin:focus-visible .map-card.align-right,.map-pin:focus .map-card.align-right{transform:translate(0,0)}
.map-pin:hover,.map-pin:focus-visible{z-index:5}
@media (prefers-reduced-motion:reduce){
  .map-route-glow,.map-route-core{animation:none;stroke-dasharray:none;opacity:.7}
  .map-pin::after{animation:none;opacity:.25;transform:scale(2)}
}

/* ===================================================================
   EDITORIAL IMAGERY — monochrome treatment keeps stock photos cohesive
   =================================================================== */
.ed-frame{position:relative;overflow:hidden;background:var(--inkalt);border-radius:4px}
.ed-img{display:block;width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.06) brightness(.96);transition:filter .5s ease,transform .8s ease}
.ed-frame:hover .ed-img{filter:grayscale(.15) contrast(1.04)}
.ed-wide{aspect-ratio:16/9;margin-bottom:28px}
@media (min-width:900px){.ed-wide{aspect-ratio:21/9}}
.svc-card .ed-frame{border-radius:0}
.ed-43{aspect-ratio:4/3}
.ed-34{aspect-ratio:3/4}
.ed-cap{margin-top:12px;font-size:.8125rem;letter-spacing:.04em;color:rgba(255,255,255,.55)}
.ed-cap b{color:var(--lime);font-family:'Urbanist',sans-serif;font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:.75rem}
.duo{display:grid;grid-template-columns:1fr;gap:24px}
@media (min-width:900px){.duo{grid-template-columns:7fr 5fr;gap:32px;align-items:start}.duo-b{margin-top:72px}}
.gallery{display:grid;grid-template-columns:1fr;gap:24px}
.gallery .ed-fill{aspect-ratio:4/3}
@media (min-width:900px){
  .gallery{grid-template-columns:2fr 1fr;grid-template-rows:auto auto;gap:24px 28px}
  .gallery .g-a{grid-row:1 / span 2}
  .gallery .g-a .ed-fill{aspect-ratio:auto;height:calc(100% - 28px);min-height:420px}
  .gallery .g-b .ed-fill,.gallery .g-c .ed-fill{aspect-ratio:4/3}
}
.work-frame{display:block}
@media (prefers-reduced-motion:reduce){.ed-img{transition:none}}

/* utility classes used by the new image blocks (missing from the compiled subset) */
.mb-12{margin-bottom:3rem}
.pb-16{padding-bottom:4rem}

/* ===================================================================
   MULTICHANNEL ECOSYSTEM — isometric devices + hotspots (dark theme)
   Graphite devices on near-black, lime accents; same tokens as the rest of the site.
   =================================================================== */
.dev{background:var(--inkalt);color:#fff;border-top:1px solid #222;padding:44px 0 48px}
.dev-grid{display:grid;grid-template-columns:1fr;gap:20px;align-items:center}
@media (min-width:1024px){.dev{padding:48px 0}.dev-grid{grid-template-columns:5fr 7fr;gap:40px}}
.dev-head{max-width:560px}
.dev-head h2{font-family:'Urbanist',sans-serif;font-weight:800;font-size:clamp(1.9rem,3.2vw,2.8rem);line-height:1.08;letter-spacing:-.02em;color:#fff;margin:0 0 14px}
.dev-head p{color:#A1A1AA;font-size:1rem;line-height:1.6;max-width:52ch;margin:0}
.dev-stage{position:relative;width:100%;max-width:820px;margin:0 auto}
.dev-svg{display:block;width:100%;height:auto;overflow:visible}

/* device parts */
.dv-glow{fill:rgba(198,255,61,.10)}
.dv-shadow{fill:rgba(0,0,0,.65)}
.dv-body{fill:#2B2B30;stroke:rgba(255,255,255,.10);stroke-width:1}
.dv-top{fill:#3D3D44;stroke:rgba(255,255,255,.10);stroke-width:1}
.dv-side{fill:#1B1B1E;stroke:rgba(255,255,255,.07);stroke-width:1}
.dv-bezel{fill:#000}
.dv-chin{fill:#26262A}
.dv-logo{fill:#46464E}
.dv-neck{fill:#2F2F35;stroke:rgba(255,255,255,.08);stroke-width:1}
.dv-strap{fill:#C6FF3D;stroke:rgba(0,0,0,.25);stroke-width:1}
.dv-slab-top{fill:#202024;stroke:rgba(255,255,255,.08);stroke-width:1}
.dv-slab-front{fill:#151517}
.dv-slab-side{fill:#0E0E10}
.ui-bg{fill:#0E0E10}
.ui-ink{fill:#F5F5F2}
.ui-mute{fill:#3A3A41}
.ui-terra{fill:#C6FF3D}
.ui-stone{fill:#1D1D21}
.ui-card{fill:#17171A;stroke:rgba(255,255,255,.08);stroke-width:1}
.ui-arch{fill:#2A2A30}
.ui-line{fill:none;stroke:#C6FF3D;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.ui-bezel{fill:#000}
.w-track{fill:none;stroke:rgba(255,255,255,.14);stroke-width:7}
.w-ring{fill:none;stroke:#C6FF3D;stroke-width:7;stroke-linecap:round}
.w-ring2{fill:none;stroke:#F5F5F2;stroke-width:5;stroke-linecap:round}
.w-bar{fill:rgba(255,255,255,.32)}

/* hotspots */
.dev-pin{position:absolute;width:40px;height:40px;margin:-20px 0 0 -20px;border-radius:50%;z-index:2}
.dev-pin::before,.dev-pin::after{content:"";position:absolute;inset:7px;border-radius:50%;border:2px solid var(--lime);animation:dev-pulse 2.4s ease-out infinite}
.dev-pin::after{animation-delay:1.2s}
@keyframes dev-pulse{0%{transform:scale(1);opacity:.75}100%{transform:scale(2.3);opacity:0}}
.dev-plus{position:absolute;inset:7px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 3px rgba(10,10,10,.7),0 0 22px rgba(198,255,61,.45);transition:transform .25s ease}
.dev-plus::before,.dev-plus::after{content:"";position:absolute;left:50%;top:50%;background:var(--ink);border-radius:1px;transform:translate(-50%,-50%)}
.dev-plus::before{width:10px;height:2px}
.dev-plus::after{width:2px;height:10px}
.dev-pin:hover .dev-plus,.dev-pin[aria-expanded="true"] .dev-plus{transform:rotate(45deg)}
.dev-pop{position:absolute;bottom:calc(100% + 4px);left:50%;transform:translate(-50%,6px);width:230px;background:var(--ink);color:#fff;border:1px solid #2E2E34;border-radius:12px;padding:12px 14px;text-align:left;box-shadow:0 14px 34px rgba(0,0,0,.6),0 0 0 1px rgba(198,255,61,.12);opacity:0;visibility:hidden;transition:opacity .2s,transform .2s,visibility .2s;pointer-events:none}
.dev-pop i{display:block;font-style:normal;font-family:'Urbanist',sans-serif;font-weight:700;font-size:.6875rem;letter-spacing:.1em;text-transform:uppercase;color:var(--lime);margin-bottom:4px}
.dev-pop b{display:block;font-family:'Urbanist',sans-serif;font-weight:700;font-size:.95rem;line-height:1.3;color:#fff}
.dev-pin:hover .dev-pop,.dev-pin:focus-visible .dev-pop,.dev-pin[aria-expanded="true"] .dev-pop{opacity:1;visibility:visible;transform:translate(-50%,0)}
.dev-left .dev-pop{left:-12px;transform:translate(0,6px)}
.dev-right .dev-pop{left:auto;right:-12px;transform:translate(0,6px)}
.dev-left:hover .dev-pop,.dev-left:focus-visible .dev-pop,.dev-left[aria-expanded="true"] .dev-pop,
.dev-right:hover .dev-pop,.dev-right:focus-visible .dev-pop,.dev-right[aria-expanded="true"] .dev-pop{transform:translate(0,0)}
.dev-pin:hover,.dev-pin:focus-visible,.dev-pin[aria-expanded="true"]{z-index:6}
.dev-list{display:none;list-style:none;margin:16px 0 0;padding:0;gap:10px}
.dev-list li{border:1px solid #222;border-radius:14px;padding:14px 16px;background:var(--ink)}
.dev-list i{display:block;font-style:normal;font-family:'Urbanist',sans-serif;font-weight:700;font-size:.6875rem;letter-spacing:.1em;text-transform:uppercase;color:var(--lime);margin-bottom:3px}
.dev-list b{font-family:'Urbanist',sans-serif;font-weight:700;font-size:1rem;color:#fff}
@media (max-width:719px){
  .dev{padding:36px 0 44px}
  .dev-pop{display:none}
  .dev-pin{pointer-events:none;transform:scale(.8)}
  .dev-list{display:grid}
}
@media (prefers-reduced-motion:reduce){.dev-pin::before,.dev-pin::after{animation:none;opacity:.35}.dev-pop,.dev-plus{transition:none}}

/* ===================================================================
   CAPABILITIES — 3x2 grid, light editorial surface (same ground as "Çalışmalar")
   =================================================================== */
.cap{background:var(--paper);color:#111;padding:72px 0 80px;border-top:1px solid #E5E2DC}
.cap h2{color:#111}
.cap-grid{display:grid;grid-template-columns:1fr;gap:20px}
@media (min-width:720px){.cap-grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1024px){.cap-grid{grid-template-columns:repeat(3,1fr);gap:24px}}
.cap-card{background:#fff;border:1px solid #E5E2DC;border-radius:16px;padding:28px;transition:border-color .25s ease,box-shadow .25s ease}
.cap-card:hover,.cap-card:focus-within{border-color:var(--lime);box-shadow:0 0 0 3px rgba(198,255,61,.35),0 12px 32px rgba(17,17,17,.06)}
.cap-icon{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:12px;background:#111;color:var(--lime);margin-bottom:20px}
.cap-card h3{font-family:'Urbanist',sans-serif;font-weight:800;font-size:1.35rem;line-height:1.2;color:#111;margin:0 0 16px}
.cap-list{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.cap-list li{position:relative;padding-left:28px;color:#4B4B4B;font-size:.9375rem;line-height:1.55}
.cap-list li b{color:#111;font-weight:600}
.cap-list li::before{content:"";position:absolute;left:0;top:.26em;width:17px;height:17px;background:no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Ccircle cx='9' cy='9' r='9' fill='%23C6FF3D'/%3E%3Cpath d='M5 9.4l2.6 2.6L13 6.4' fill='none' stroke='%230A0A0A' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
@media (max-width:719px){.cap{padding:52px 0 56px}.cap-card{padding:22px}}
@media (prefers-reduced-motion:reduce){.cap-card{transition:none}}

/* ===================================================================
   APPROACH PAGE — "Our secret" (2x2 cards) + client journey + asymmetric gallery
   =================================================================== */
.ap-hero{background:var(--paper);color:#111;padding:56px 0 72px}
.ap-grid{display:grid;grid-template-columns:1fr;gap:40px;align-items:start}
@media (min-width:1024px){.ap-grid{grid-template-columns:5fr 7fr;gap:56px}}
.ap-copy .bridge-kicker{margin-bottom:18px}
.ap-hero h1{font-family:'Urbanist',sans-serif;font-weight:800;font-size:clamp(2.2rem,4.4vw,3.5rem);line-height:1.02;letter-spacing:-.025em;color:#111;margin:0 0 20px}
.ap-hero p{color:#4B4B4B;font-size:1.0625rem;line-height:1.65;max-width:48ch;margin:0 0 28px}
.ap-cta{display:inline-block;background:var(--ink);color:#fff;font-family:'Urbanist',sans-serif;font-weight:700;padding:14px 26px;border-radius:999px;transition:background .2s,color .2s}
.ap-cta:hover{background:var(--lime);color:var(--ink)}
.ap-hint{display:block;margin-top:14px;font-size:.8125rem;color:#6B6B6B}
.ap-cards{display:grid;grid-template-columns:1fr;gap:14px;align-items:start}
@media (min-width:640px){.ap-cards{grid-template-columns:repeat(2,1fr);gap:16px}}

.sec-card{background:#111;color:#fff;border:1px solid #111;border-radius:18px;transition:box-shadow .25s ease,transform .25s ease}
.sec-card.is-accent{background:var(--lime);border-color:var(--lime);color:#0A0A0A}
.sec-toggle{position:relative;display:block;width:100%;text-align:left;color:inherit;padding:24px 56px 22px 24px;border-radius:18px}
.sec-tag{display:block;font-family:'Urbanist',sans-serif;font-weight:700;font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--lime);margin-bottom:10px}
.is-accent .sec-tag{color:rgba(10,10,10,.65)}
.sec-title{display:block;font-family:'Urbanist',sans-serif;font-weight:800;font-size:1.3rem;line-height:1.2;margin-bottom:10px}
.sec-sum{display:block;font-size:.9375rem;line-height:1.55;color:rgba(255,255,255,.72)}
.is-accent .sec-sum{color:rgba(10,10,10,.78)}
.sec-plus{position:absolute;right:20px;top:22px;width:26px;height:26px;border-radius:50%;border:1.5px solid currentColor;opacity:.7;transition:transform .25s ease,opacity .25s}
.sec-plus::before,.sec-plus::after{content:"";position:absolute;left:50%;top:50%;background:currentColor;transform:translate(-50%,-50%)}
.sec-plus::before{width:10px;height:1.5px}
.sec-plus::after{width:1.5px;height:10px}
.sec-card.is-open .sec-plus{transform:rotate(45deg);opacity:1}
.sec-detail{display:grid;grid-template-rows:1fr;transition:grid-template-rows .3s ease}
.sec-detail>div{overflow:hidden}
.sec-detail ul{list-style:none;display:grid;gap:10px;margin:0 24px;padding:16px 0 0;border-top:1px solid rgba(255,255,255,.12)}
.is-accent .sec-detail ul{border-top-color:rgba(10,10,10,.18)}
.sec-detail li{position:relative;padding-left:22px;font-size:.9rem;line-height:1.5;color:rgba(255,255,255,.88)}
.is-accent .sec-detail li{color:rgba(10,10,10,.85)}
.sec-detail li::before{content:"";position:absolute;left:0;top:.5em;width:10px;height:2px;background:var(--lime)}
.is-accent .sec-detail li::before{background:#0A0A0A}
.sec-card .sec-detail{padding-bottom:22px}
/* collapsed state only when JS is present; hover (pointer devices), focus and tap expand */
.js .sec-detail{grid-template-rows:0fr;padding-bottom:0}
.js .sec-card.is-open .sec-detail,.js .sec-card:focus-within .sec-detail{grid-template-rows:1fr;padding-bottom:22px}
@media (hover:hover){.js .sec-card:hover .sec-detail{grid-template-rows:1fr;padding-bottom:22px}.sec-card:hover{box-shadow:0 14px 34px rgba(17,17,17,.22);transform:translateY(-2px)}.sec-card.is-accent:hover{box-shadow:0 14px 34px rgba(198,255,61,.35)}}
.sec-toggle:focus-visible{outline:2px solid var(--lime);outline-offset:-3px}
.is-accent .sec-toggle:focus-visible{outline-color:#0A0A0A}

.jr{background:var(--ink);color:#fff;padding:72px 0 80px}
.jr-head{max-width:640px;margin-bottom:44px}
.jr-head h2{font-family:'Urbanist',sans-serif;font-weight:800;font-size:clamp(1.9rem,3.6vw,2.8rem);line-height:1.06;letter-spacing:-.02em;margin:0 0 12px}
.jr-head p{color:#A1A1AA;font-size:1.0625rem;line-height:1.6;margin:0}
.jr-grid{display:grid;grid-template-columns:1fr;gap:40px;align-items:start}
@media (min-width:1024px){.jr-grid{grid-template-columns:6fr 6fr;gap:64px}}
.jr-steps{list-style:none;margin:0;padding:0 0 0 54px;position:relative}
.jr-steps::before{content:"";position:absolute;left:17px;top:10px;bottom:10px;width:2px;background:linear-gradient(to bottom,var(--lime),rgba(198,255,61,.12))}
.jr-step{position:relative;padding-bottom:36px}
.jr-step:last-child{padding-bottom:0}
.jr-num{position:absolute;left:-54px;top:-2px;width:36px;height:36px;border-radius:50%;background:var(--lime);color:#0A0A0A;display:flex;align-items:center;justify-content:center;font-family:'Urbanist',sans-serif;font-weight:800;font-size:.9rem;box-shadow:0 0 0 6px var(--ink)}
.jr-when{display:block;font-family:'Urbanist',sans-serif;font-weight:700;font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--lime);margin:4px 0 6px}
.jr-step h3{font-family:'Urbanist',sans-serif;font-weight:800;font-size:1.5rem;line-height:1.15;color:#fff;margin:0 0 8px}
.jr-step p{color:#A1A1AA;font-size:.9875rem;line-height:1.6;max-width:46ch;margin:0}
.jr-gal{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.jr-gal .ed-frame{aspect-ratio:4/3}
.jr-gal .jr-a{grid-column:1 / -1}
@media (min-width:1024px){
  .jr-gal{grid-template-columns:repeat(6,1fr);gap:16px;position:sticky;top:104px}
  .jr-gal .jr-a{grid-column:1 / 5}
  .jr-gal .jr-b{grid-column:5 / 7;grid-row:1 / 3;display:flex;flex-direction:column}
  .jr-gal .jr-b .ed-frame{aspect-ratio:auto;flex:1;min-height:0}
  .jr-gal .jr-c{grid-column:1 / 3}
  .jr-gal .jr-d{grid-column:3 / 5;margin-top:36px}
  .jr-gal .jr-c .ed-frame,.jr-gal .jr-d .ed-frame{aspect-ratio:1/1}
}
@media (prefers-reduced-motion:reduce){.sec-card,.sec-detail,.sec-plus{transition:none}}

/* ===================================================================
   ABOUT PAGE — six-part editorial layout on the dark theme
   One vertical rhythm for every section; alternating ink / inkalt grounds.
   =================================================================== */
.ab-sec{padding:72px 0}
@media (max-width:719px){.ab-sec{padding:52px 0}}
.ab-hero{background:var(--ink);padding-top:56px}
.ab-why,.ab-valsec,.ab-close{background:var(--inkalt)}
.ab-pairsec,.ab-teamsec{background:var(--ink)}
.ab-hero h1{font-family:'Urbanist',sans-serif;font-weight:800;font-size:clamp(2.4rem,5.2vw,4.25rem);line-height:1.02;letter-spacing:-.025em;color:#fff;margin:0 0 18px}
.ab-head{max-width:720px;margin-bottom:40px}
.ab-head p{color:#A1A1AA;font-size:1.125rem;line-height:1.6;max-width:52ch;margin:0}
.ab-h2{font-family:'Urbanist',sans-serif;font-weight:800;font-size:clamp(1.75rem,3.2vw,2.5rem);line-height:1.08;letter-spacing:-.02em;color:#fff;margin:0 0 36px}

/* 1. gallery: asymmetric but ordered. Large left tile, two equal tiles stacked on the right */
.ab-gallery{display:grid;grid-template-columns:1fr;gap:14px}
.ab-gallery figure{position:relative;margin:0;display:flex;flex-direction:column}
.ab-gallery .ed-frame{aspect-ratio:4/3;flex:1}
@media (min-width:900px){
  .ab-gallery{grid-template-columns:repeat(12,1fr);gap:16px}
  .ab-g1{grid-column:1 / 8;grid-row:1 / 3}
  .ab-g2{grid-column:8 / 13}
  .ab-g3{grid-column:8 / 13}
  .ab-g1 .ed-frame{aspect-ratio:auto;min-height:100%}
  .ab-g2 .ed-frame,.ab-g3 .ed-frame{aspect-ratio:16/10;flex:none}
}
.ab-chip{position:absolute;left:14px;bottom:14px;display:inline-flex;align-items:center;gap:8px;max-width:calc(100% - 28px);background:rgba(10,10,10,.72);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:7px 14px;color:#fff;font-size:.78rem;line-height:1.2}
.ab-chip b{font-family:'Urbanist',sans-serif;font-weight:700;letter-spacing:.12em;color:var(--lime)}
.ab-chip b::after{content:"\2022";margin-left:8px;color:rgba(255,255,255,.5)}

/* 2. why "così" */
.ab-why-grid{display:grid;grid-template-columns:1fr;gap:28px;align-items:start}
@media (min-width:1024px){.ab-why-grid{grid-template-columns:5fr 7fr;gap:64px}}
.ab-why h2{font-family:'Urbanist',sans-serif;font-weight:800;font-size:clamp(2.2rem,4.6vw,3.75rem);line-height:1.02;letter-spacing:-.025em;color:#fff;margin:0}
.ab-why-text p{margin:0;color:#A1A1AA;font-size:1.125rem;line-height:1.7;max-width:56ch}
.ab-why-text p:first-child{font-family:'Urbanist',sans-serif;font-weight:700;font-size:clamp(1.4rem,2.3vw,1.95rem);line-height:1.28;letter-spacing:-.01em;color:#fff;margin-bottom:22px}

/* 3. Istanbul x Milan */
.ab-pair{position:relative;display:grid;grid-template-columns:1fr;gap:16px}
@media (min-width:900px){.ab-pair{grid-template-columns:1fr 1fr;gap:24px}}
.ab-city{background:var(--inkalt);border:1px solid #222;border-radius:18px;padding:36px}
@media (max-width:719px){.ab-city{padding:26px}}
.ab-city-tag{font-family:'Urbanist',sans-serif;font-weight:700;font-size:.75rem;letter-spacing:.12em;color:var(--lime);margin:0 0 14px}
.ab-city h3{font-family:'Urbanist',sans-serif;font-weight:800;font-size:clamp(1.5rem,2.4vw,1.9rem);line-height:1.15;color:#fff;margin:0 0 12px}
.ab-city p:last-child{color:#A1A1AA;font-size:1rem;line-height:1.65;margin:0;max-width:46ch}
.ab-badge{position:relative;z-index:2;justify-self:center;margin:-12px 0;display:flex;align-items:center;justify-content:center;width:60px;height:60px;border-radius:50%;background:var(--lime);color:#0A0A0A;font-family:'Urbanist',sans-serif;font-weight:800;font-size:.95rem;box-shadow:0 0 0 6px var(--ink),0 0 28px rgba(198,255,61,.35)}
@media (min-width:900px){.ab-badge{position:absolute;left:50%;top:50%;margin:0;width:72px;height:72px;font-size:1.05rem;transform:translate(-50%,-50%)}}

/* 4. values */
.ab-vals{display:grid;grid-template-columns:1fr;gap:16px}
@media (min-width:640px){.ab-vals{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1024px){.ab-vals{grid-template-columns:repeat(4,1fr);gap:20px}}
.ab-val{background:var(--ink);border:1px solid #222;border-radius:16px;padding:26px;transition:border-color .25s ease,box-shadow .25s ease}
.ab-val:hover{border-color:rgba(198,255,61,.6);box-shadow:0 0 0 1px rgba(198,255,61,.18),0 0 32px rgba(198,255,61,.08)}
.ab-icon{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;background:rgba(198,255,61,.10);border:1px solid rgba(198,255,61,.28);color:var(--lime);margin-bottom:18px}
.ab-val h3{font-family:'Urbanist',sans-serif;font-weight:800;font-size:1.2rem;line-height:1.2;color:#fff;margin:0 0 8px}
.ab-val p{color:#A1A1AA;font-size:.9375rem;line-height:1.6;margin:0}

/* 5. team */
.ab-team{display:grid;grid-template-columns:1fr;gap:16px}
@media (min-width:720px){.ab-team{grid-template-columns:repeat(3,1fr);gap:20px}}
.ab-member{background:var(--inkalt);border:1px solid #222;border-radius:18px;padding:32px 24px;text-align:center}
.ab-avatar{display:flex;align-items:center;justify-content:center;width:96px;height:96px;margin:0 auto 18px;border-radius:50%;background:#1E1E22;border:1px solid #2E2E34;color:var(--lime);font-family:'Urbanist',sans-serif;font-weight:800;font-size:1.5rem;letter-spacing:.04em}
.ab-member h3{font-family:'Urbanist',sans-serif;font-weight:800;font-size:1.2rem;color:#fff;margin:0 0 4px}
.ab-role{color:var(--lime);font-size:.875rem;font-weight:500;margin:0 0 6px}
.ab-spec{color:#A1A1AA;font-size:.875rem;margin:0}

/* 6. closing */
.ab-close{text-align:center}
.ab-close h2{font-family:'Urbanist',sans-serif;font-weight:800;font-size:clamp(1.9rem,3.8vw,3rem);line-height:1.08;letter-spacing:-.02em;color:#fff;max-width:20ch;margin:0 auto}
.ab-btn{display:inline-block;margin-top:28px;background:var(--lime);color:var(--ink);font-family:'Urbanist',sans-serif;font-weight:700;padding:16px 32px;border-radius:999px;transition:background .2s}
.ab-btn:hover{background:#fff}
@media (prefers-reduced-motion:reduce){.ab-val{transition:none}}

/* ===================================================================
   HERO — the two city names
   Lime text with a thin underline that draws in once, Istanbul first, then Milan.
   =================================================================== */
.hl{color:var(--lime);background:linear-gradient(var(--lime),var(--lime)) no-repeat 0 100% / 0 .075em;-webkit-box-decoration-break:clone;box-decoration-break:clone;padding-bottom:.06em;animation:hl-draw .9s cubic-bezier(.22,.8,.3,1) forwards}
.hl-1{animation-delay:.5s}
.hl-2{animation-delay:1.2s}
@keyframes hl-draw{to{background-size:100% .075em}}
@media (prefers-reduced-motion:reduce){.hl{animation:none;background-size:100% .075em}}

/* ===================================================================
   HEADER — theme follows the section under it (dark <-> light), logo cross-fades
   data-theme is set by site.js from the background of the section beneath the header.
   =================================================================== */
.site-header{background:rgba(10,10,10,.9);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.1);color:#fff;transition:background-color .35s ease,border-color .35s ease,color .35s ease}
.site-header[data-theme="light"]{background:rgba(245,245,242,.92);border-bottom-color:rgba(10,10,10,.1);color:#111}

/* logo: two stacked variants, cross-faded. Swap the text for the SVG <img> files when the Accento assets are added. */
.hd-logo{position:relative;display:inline-flex;align-items:center;min-height:36px;font-family:'Urbanist',sans-serif;font-weight:800;font-size:1.25rem;letter-spacing:-.025em}
.hd-logo-v{display:inline-flex;align-items:baseline;gap:4px;transition:opacity .35s ease}
.hd-logo-light{position:absolute;left:0;top:50%;transform:translateY(-50%);opacity:0}
.hd-dot{color:var(--lime)}
.hd-logo-light .hd-dot{color:#111}
.site-header[data-theme="light"] .hd-logo-dark{opacity:0}
.site-header[data-theme="light"] .hd-logo-light{opacity:1}

.hd-nav{color:rgba(255,255,255,.8)}
.hd-link{transition:color .2s ease}
.hd-link:hover{color:var(--lime)}
.hd-lang{color:rgba(255,255,255,.55)}
.hd-lang .is-active{color:var(--lime)}
.hd-bar{background:currentColor}
.hd-menu{background:rgba(10,10,10,.98);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:1px solid rgba(255,255,255,.1);transition:background-color .35s ease,border-color .35s ease}
.site-header[data-theme="light"] .hd-nav{color:rgba(17,17,17,.78)}
.site-header[data-theme="light"] .hd-link:hover{color:#111;text-decoration:underline;text-decoration-color:var(--lime);text-decoration-thickness:2px;text-underline-offset:7px}
.site-header[data-theme="light"] .hd-lang{color:rgba(17,17,17,.55)}
.site-header[data-theme="light"] .hd-lang .is-active{color:#111;font-weight:700}
.site-header[data-theme="light"] .hd-menu{background:rgba(245,245,242,.98);border-top-color:rgba(10,10,10,.1)}
.site-header[data-theme="light"] .mobile-link{border-bottom-color:rgba(10,10,10,.1)}
@media (prefers-reduced-motion:reduce){.site-header,.hd-menu,.hd-logo-v,.hd-link{transition:none}}
.hd-logo{min-height:36px}
.hd-logo-v{display:block;height:32px;width:auto;transition:opacity .35s ease}
.ft-logo{display:inline-block}
.ft-logo img{height:32px;width:auto;display:block}
@media (max-width:640px){.hd-logo-v{height:26px}}
.hd-logo-v{height:36px}
@media (max-width:640px){.hd-logo-v{height:30px}}
/* logo: word collapses into the icon tile once the page is scrolled */
.site-header{--lh:36px}
@media (max-width:640px){.site-header{--lh:30px}}
.hd-logo{overflow:hidden;width:calc(var(--lh)*3.155);transition:width .5s cubic-bezier(.65,0,.35,1)}
.hd-logo-v{height:var(--lh);width:auto;max-width:none;flex:none}
.site-header.is-compact .hd-logo{width:calc(var(--lh)*.931)}
@media (prefers-reduced-motion:reduce){.hd-logo{transition:none}}
/* devices: multi-screen / responsive copy */
.dev-kicker{display:inline-flex;align-items:center;gap:8px;font-family:'Urbanist',sans-serif;font-weight:700;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--lime);border:1px solid rgba(198,255,61,.35);border-radius:999px;padding:6px 14px;margin-bottom:16px}
.dev-kicker::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--lime)}
.dev-hint{display:none;margin-top:14px;font-size:.8125rem;color:rgba(255,255,255,.6)}
@media (min-width:1024px){.dev-hint{display:block}}
.dev-pop span{display:block;margin-top:6px;font-size:.8125rem;line-height:1.45;font-weight:400;color:rgba(255,255,255,.72)}
.dev-list span{display:block;margin-top:4px;font-size:.875rem;line-height:1.5;color:rgba(255,255,255,.7)}
.dev-layers{margin-top:40px;padding-top:28px;border-top:1px solid #222}
.dev-lt{font-family:'Urbanist',sans-serif;font-weight:700;font-size:1.125rem;color:#fff;margin:0 0 20px}
.dev-layers ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;gap:12px}
.dev-layers li{border:1px solid #222;border-radius:14px;padding:18px 18px 20px;background:var(--ink);position:relative}
.dev-ln{display:block;font-family:'Urbanist',sans-serif;font-weight:800;font-size:.8125rem;letter-spacing:.08em;color:var(--lime);margin-bottom:10px}
.dev-layers h3{font-family:'Urbanist',sans-serif;font-weight:700;font-size:1.0625rem;color:#fff;margin:0 0 6px}
.dev-layers p{margin:0;font-size:.875rem;line-height:1.55;color:rgba(255,255,255,.7)}
@media (min-width:640px){.dev-layers ol{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1024px){.dev-layers ol{grid-template-columns:repeat(4,1fr)}.dev-layers li:not(:last-child)::after{content:"";position:absolute;top:50%;right:-13px;width:12px;height:1px;background:rgba(198,255,61,.5)}}

/* ===== Insights page ===== */
.in-hero{padding:128px 0 56px;background:var(--ink)}
.in-head{max-width:760px;margin-bottom:48px}
.in-kicker{display:inline-block;font-family:'Urbanist',sans-serif;font-weight:700;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--lime);border:1px solid rgba(198,255,61,.35);border-radius:999px;padding:7px 14px;margin-bottom:20px}
.in-head h1{font-family:'Urbanist',sans-serif;font-weight:800;font-size:clamp(2.25rem,5.4vw,4rem);line-height:1.04;letter-spacing:-.025em;color:#fff;margin:0 0 18px;text-wrap:balance}
.in-head p{font-size:1.0625rem;line-height:1.65;color:rgba(255,255,255,.7);max-width:60ch;margin:0}
.in-feat{display:grid;grid-template-columns:1fr;background:#18181B;border:1px solid #27272A;border-radius:16px;overflow:hidden}
.in-feat-frame,.in-frame{border-radius:0;aspect-ratio:4/3}
.in-feat-media,.in-media{display:block}
.in-feat-body{padding:28px 24px 32px;display:flex;flex-direction:column;justify-content:center;gap:16px}
.in-feat h2{font-family:'Urbanist',sans-serif;font-weight:800;font-size:clamp(1.6rem,3vw,2.5rem);line-height:1.1;letter-spacing:-.02em;color:#fff;margin:0;text-wrap:balance}
.in-feat-sum{color:rgba(255,255,255,.7);line-height:1.65;margin:0;max-width:56ch}
@media (min-width:1024px){.in-feat{grid-template-columns:7fr 5fr}.in-feat-frame{aspect-ratio:auto;height:100%;min-height:440px}.in-feat-body{padding:48px 44px}}
.in-meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0;font-size:.8125rem;color:rgba(255,255,255,.6)}
.in-meta-lime{color:var(--lime);font-family:'Urbanist',sans-serif;font-weight:700;letter-spacing:.06em;text-transform:uppercase;font-size:.75rem}
.in-btn{display:inline-flex;align-self:flex-start;align-items:center;gap:8px;background:var(--lime);color:var(--ink);font-family:'Urbanist',sans-serif;font-weight:700;font-size:.9375rem;padding:14px 26px;border-radius:999px;border:0;cursor:pointer;transition:background-color .2s ease}
.in-btn:hover{background:#fff}
.in-list{padding:24px 0 80px;background:var(--ink)}
.in-tabs{display:none;flex-wrap:wrap;gap:8px;margin:0 0 32px;padding-bottom:20px;border-bottom:1px solid #27272A}
.js .in-tabs{display:flex}
.in-tab{font-family:'Urbanist',sans-serif;font-weight:500;font-size:.875rem;color:rgba(255,255,255,.7);background:transparent;border:1px solid #27272A;border-radius:999px;padding:9px 16px;min-height:40px;cursor:pointer;transition:color .2s,border-color .2s,background-color .2s}
.in-tab:hover{color:#fff;border-color:#52525B}
.in-tab[aria-pressed="true"]{background:var(--lime);border-color:var(--lime);color:var(--ink);font-weight:700}
.in-grid{display:grid;grid-template-columns:1fr;gap:32px 24px}
@media (min-width:640px){.in-grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1024px){.in-grid{grid-template-columns:repeat(3,1fr);gap:40px 28px}}
.in-card{display:flex;flex-direction:column;gap:12px;background:#18181B;border:1px solid #27272A;border-radius:12px;overflow:hidden;padding-bottom:20px}
.in-card[hidden]{display:none}
.in-card .in-meta,.in-card h3,.in-card .in-sum,.in-card .in-foot{padding:0 20px}
.in-card .in-media{margin-bottom:6px}
.in-card h3{font-family:'Urbanist',sans-serif;font-weight:700;font-size:1.25rem;line-height:1.2;letter-spacing:-.01em;margin:0}
.in-card h3 a{color:#fff;transition:color .2s ease}
.in-card:hover h3 a,.in-card h3 a:focus-visible{color:var(--lime)}
.in-sum{margin:0;font-size:.9375rem;line-height:1.6;color:rgba(255,255,255,.65)}
.in-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-top:14px!important;border-top:1px solid #27272A;margin-left:20px;margin-right:20px;padding-left:0!important;padding-right:0!important}
.in-by{display:flex;flex-direction:column;font-size:.8125rem;line-height:1.35}
.in-by b{color:#fff;font-weight:600}
.in-by i{font-style:normal;color:rgba(255,255,255,.55)}
.in-more{font-family:'Urbanist',sans-serif;font-weight:700;font-size:.875rem;color:var(--lime);white-space:nowrap}
.in-more:hover{color:#fff}
.in-empty{color:rgba(255,255,255,.7);padding:40px 0;text-align:center}
.in-nl{padding:0 0 96px;background:var(--ink)}
.in-nl-box{display:grid;gap:28px;background:#18181B;border:1px solid #27272A;border-radius:16px;padding:32px 24px}
.in-nl h2{font-family:'Urbanist',sans-serif;font-weight:800;font-size:clamp(1.5rem,2.6vw,2.1rem);line-height:1.12;letter-spacing:-.02em;color:#fff;margin:0 0 10px;text-wrap:balance}
.in-nl p{margin:0;color:rgba(255,255,255,.7);line-height:1.6}
.in-row{display:flex;flex-direction:column;gap:10px}
.in-row input{flex:1;min-width:0;background:var(--ink);border:1px solid #3F3F46;border-radius:999px;color:#fff;font:inherit;padding:14px 20px;min-height:48px}
.in-row input::placeholder{color:rgba(255,255,255,.45)}
.in-row input:focus-visible{outline:2px solid var(--lime);outline-offset:2px;border-color:var(--lime)}
.in-row input[aria-invalid="true"]{border-color:#FF6B6B}
.in-row .in-btn{align-self:stretch;justify-content:center;min-height:48px}
.in-row .in-btn:disabled{opacity:.6;cursor:wait}
.in-consent{display:flex;gap:10px;align-items:flex-start;margin-top:14px;font-size:.8125rem;line-height:1.5;color:rgba(255,255,255,.6)}
.in-consent input{margin-top:3px;accent-color:var(--lime);flex:none}
.in-consent a{color:var(--lime);text-decoration:underline}
.in-status{min-height:1.4em;margin:10px 0 0!important;font-size:.875rem}
.in-status.ok{color:var(--lime)}
.in-status.err{color:#FF8A8A}
@media (min-width:640px){.in-row{flex-direction:row}.in-row .in-btn{align-self:auto}}
@media (min-width:1024px){.in-nl-box{grid-template-columns:1fr 1fr;align-items:center;padding:48px 52px;gap:48px}}

/* ===== Home: reach (markets + sectors) ===== */
.rc{background:var(--paper);color:var(--ink);padding:64px 0}
.rc-top{display:grid;gap:28px;margin-bottom:36px}
@media (min-width:1024px){.rc{padding:72px 0}.rc-top{grid-template-columns:6fr 5fr;gap:56px;align-items:center}}
.rc-kicker{display:inline-flex;align-items:center;gap:8px;font-family:'Urbanist',sans-serif;font-weight:700;font-size:12px;letter-spacing:.1em;text-transform:uppercase;border:1px solid rgba(10,10,10,.2);border-radius:999px;padding:6px 14px;margin-bottom:16px}
.rc-kicker::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--ink)}
.rc-head h2{font-family:'Urbanist',sans-serif;font-weight:800;font-size:clamp(1.9rem,3.6vw,3rem);line-height:1.06;letter-spacing:-.025em;margin:0 0 12px;text-wrap:balance}
.rc-head p{color:rgba(10,10,10,.68);line-height:1.6;max-width:50ch;margin:0}
.rc-stats{display:flex;gap:28px;margin:22px 0 18px;padding:16px 0;border-top:1px solid rgba(10,10,10,.12);border-bottom:1px solid rgba(10,10,10,.12)}
.rc-stats b{display:block;font-family:'Urbanist',sans-serif;font-weight:800;font-size:1.75rem;letter-spacing:-.02em;line-height:1}
.rc-stats span{font-size:.8125rem;color:rgba(10,10,10,.62)}
.rc-link{font-weight:500;border-bottom:2px solid rgba(10,10,10,.2);padding-bottom:2px;transition:border-color .2s}
.rc-link:hover{border-color:var(--ink)}
.rc-panel{background:var(--ink);color:#fff;border-radius:18px;padding:22px 22px 14px;position:relative;overflow:hidden}
.rc-panel::before{content:"";position:absolute;inset:auto -40px -60px auto;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(198,255,61,.16),transparent 65%);pointer-events:none}
.rc-ptitle{font-family:'Urbanist',sans-serif;font-weight:700;font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.6);margin:0 0 6px}
.rc-rows{list-style:none;margin:0;padding:0;position:relative}
.rc-row{display:flex;align-items:center;gap:14px;padding:13px 0;border-top:1px solid rgba(255,255,255,.1)}
.rc-row:first-child{border-top:0}
.rc-code{flex:none;width:38px;height:38px;border-radius:50%;border:1px solid rgba(198,255,61,.5);display:grid;place-items:center;font-family:'Urbanist',sans-serif;font-weight:800;font-size:.75rem;color:var(--lime)}
.rc-name{display:flex;flex-direction:column;line-height:1.3;flex:1;min-width:0}
.rc-name b{font-family:'Urbanist',sans-serif;font-weight:700;font-size:1.0625rem}
.rc-name i{font-style:normal;font-size:.8125rem;color:rgba(255,255,255,.6)}
.rc-tag{display:inline-flex;align-items:center;gap:6px;font-size:.75rem;font-weight:600;color:var(--lime)}
.rc-dot{width:7px;height:7px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 0 rgba(198,255,61,.5);animation:rc-pulse 2.4s ease-out infinite}
@keyframes rc-pulse{70%{box-shadow:0 0 0 8px rgba(198,255,61,0)}100%{box-shadow:0 0 0 0 rgba(198,255,61,0)}}
.rc-ghost .rc-code{border-style:dashed;border-color:rgba(255,255,255,.25);color:rgba(255,255,255,.4)}
.rc-ghost .rc-name b{color:rgba(255,255,255,.55)}
.rc-shead{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px 16px;margin-bottom:16px}
.rc-shead h3{font-family:'Urbanist',sans-serif;font-weight:800;font-size:1.25rem;margin:0}
.rc-shead span{font-size:.8125rem;color:rgba(10,10,10,.55)}
.rc-cards{display:grid;grid-template-columns:1fr;gap:16px}
@media (min-width:768px){.rc-cards{grid-template-columns:repeat(3,1fr);gap:20px}}
.rc-card{position:relative}
.rc-frame{border-radius:14px;aspect-ratio:16/10}
.rc-frame .ed-img{height:100%}
.rc-sec{position:absolute;left:12px;top:12px;background:rgba(10,10,10,.82);color:#fff;font-size:.75rem;font-weight:600;padding:6px 12px;border-radius:999px;backdrop-filter:blur(6px)}
.rc-cbody{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 12px;padding:12px 2px 0}
.rc-cbody h3{font-family:'Urbanist',sans-serif;font-weight:700;font-size:1.0625rem;margin:0}
.rc-cbody p{margin:0;font-family:'Urbanist',sans-serif;font-weight:700;font-size:.8125rem;background:var(--ink);color:var(--lime);padding:4px 10px;border-radius:6px}
@media (prefers-reduced-motion:reduce){.rc-dot{animation:none}}

/* ===== Tools marquee band ===== */
.tb{background:var(--inkalt);border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08);padding:18px 0;overflow:hidden}
.tb-inner{max-width:1440px;margin:0 auto;display:flex;align-items:center;gap:20px 36px;padding:0 24px}
.tb-label{flex:none;margin:0;font-family:'Urbanist',sans-serif;font-weight:700;font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.6);white-space:nowrap}
.tb-track{flex:1;min-width:0;display:flex;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.tb-list{flex:none;display:flex;align-items:center;list-style:none;margin:0;padding:0;min-width:100%;justify-content:space-around;gap:0;animation:tb-scroll 75s linear infinite}
.tb-list li{flex:none;display:flex;align-items:center;font-family:'Urbanist',sans-serif;font-weight:700;font-size:1.0625rem;letter-spacing:-.01em;color:rgba(255,255,255,.78);padding:0 22px;white-space:nowrap;transition:color .2s}
.tb-list li::after{content:"";width:5px;height:5px;margin-left:44px;border-radius:50%;background:var(--lime);opacity:.7}
.tb-track:hover .tb-list{animation-play-state:paused}
.tb-list li:hover{color:var(--lime)}
@keyframes tb-scroll{to{transform:translateX(-100%)}}
@media (max-width:767px){.tb-inner{flex-direction:column;align-items:flex-start;gap:12px;padding:0}.tb-label{padding:0 24px}.tb-track{width:100%}}
@media (prefers-reduced-motion:reduce){.tb-list{animation:none}.tb-list[aria-hidden="true"]{display:none}.tb-track{overflow-x:auto;-webkit-mask-image:none;mask-image:none}.tb-list{flex-wrap:wrap;justify-content:flex-start;row-gap:8px}}
.tb-inner{padding:0}
.hero-sub{margin:28px 0 0;max-width:min(100%,50rem);font-size:clamp(1rem,1.35vw + .4rem,1.375rem);line-height:1.6;color:rgba(245,245,242,.82);text-wrap:pretty}
@media (min-width:1024px){.hero-sub{max-width:min(100%,46rem)}}

/* ===== Hero art: brand accent slashes + drifting colour fields + grain ===== */
.hero-art-bg{background:var(--ink)}
.ha{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.ha-orb{position:absolute;border-radius:50%;filter:blur(70px);will-change:transform}
.ha-o1{width:46vw;height:46vw;max-width:680px;max-height:680px;left:-12%;top:-18%;background:radial-gradient(circle,rgba(198,255,61,.30),transparent 68%);animation:ha-drift1 22s ease-in-out infinite alternate}
.ha-o2{width:52vw;height:52vw;max-width:760px;max-height:760px;right:-16%;bottom:-30%;background:radial-gradient(circle,rgba(61,90,254,.38),transparent 68%);animation:ha-drift2 26s ease-in-out infinite alternate}
.ha-slash{position:absolute;display:block;overflow:visible;will-change:transform}
.ha-s1{width:min(54vw,720px);right:-6%;top:12%;animation:ha-float1 18s ease-in-out infinite alternate}
.ha-s2{width:min(34vw,440px);right:20%;top:46%;animation:ha-float2 21s ease-in-out infinite alternate}
.ha-s3{width:min(22vw,300px);right:4%;bottom:6%;animation:ha-float3 24s ease-in-out infinite alternate}
.ha-grain{position:absolute;inset:0;opacity:.09;mix-blend-mode:overlay;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 .9 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}
@keyframes ha-drift1{to{transform:translate(14vw,10vh) scale(1.12)}}
@keyframes ha-drift2{to{transform:translate(-12vw,-8vh) scale(1.1)}}
@keyframes ha-float1{from{transform:translate(0,0) skewX(0)}to{transform:translate(-3vw,5vh) skewX(-2deg)}}
@keyframes ha-float2{from{transform:translate(0,0)}to{transform:translate(4vw,-6vh)}}
@keyframes ha-float3{from{transform:translate(0,0)}to{transform:translate(-5vw,-4vh)}}
@media (max-width:767px){.ha-s1{width:86vw;right:-30%;top:44%}.ha-s2{width:52vw;right:30%;top:68%}.ha-s3{width:34vw;right:-4%;bottom:2%}}
@media (prefers-reduced-motion:reduce){.ha-orb,.ha-slash{animation:none!important}}

/* ===== Hero: calm backdrop + city posters ===== */
.hero-poster-bg{background-color:var(--ink);background-image:radial-gradient(60% 55% at 12% 0%,rgba(198,255,61,.10),transparent 70%),radial-gradient(55% 50% at 100% 100%,rgba(61,90,254,.14),transparent 70%)}
.hero-grid2{display:grid;grid-template-columns:1fr;gap:40px}
@media (min-width:1024px){.hero-grid2{grid-template-columns:7fr 5fr;gap:48px;align-items:center}}
.hp{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:14px;max-width:520px;width:100%;margin:0 auto}
.hp-card{margin:0;position:relative;animation:hp-float 9s ease-in-out infinite alternate}
.hp-b{margin-top:28px;animation-delay:-4s}
.hp-frame{border-radius:14px;aspect-ratio:4/5;border:1px solid rgba(255,255,255,.12)}
.hp-frame .ed-img{height:100%}
.hp-card figcaption{display:grid;grid-template-columns:1fr auto;gap:2px 8px;padding:10px 2px 0;font-size:.75rem;color:rgba(245,245,242,.6)}
.hp-card figcaption b{font-family:'Urbanist',sans-serif;font-weight:700;font-size:.9375rem;color:#F5F5F2;letter-spacing:.02em;text-transform:uppercase}
.hp-time{text-align:right;font-variant-numeric:tabular-nums;color:var(--lime);font-weight:600;font-size:.875rem}
.hp-time i{font-style:normal;font-weight:400;font-size:.6875rem;color:rgba(245,245,242,.5);margin-left:2px}
.hp-card em{grid-column:1/-1;font-style:normal;letter-spacing:.04em}
.hp-pill{position:absolute;left:50%;top:44%;transform:translate(-50%,-50%);background:var(--lime);color:var(--ink);font-family:'Urbanist',sans-serif;font-weight:800;font-size:.75rem;letter-spacing:.04em;padding:8px 14px;border-radius:999px;white-space:nowrap;box-shadow:0 8px 24px rgba(0,0,0,.45)}
@media (min-width:1024px){.hp{gap:18px}.hp-a{transform:rotate(-2.5deg)}.hp-b{transform:rotate(2.5deg);margin-top:56px}}
@keyframes hp-float{to{translate:0 -8px}}
@media (prefers-reduced-motion:reduce){.hp-card{animation:none}}

/* ===== Hero: mirror cubes ===== */
.hs{width:100%;max-width:540px;margin:0 auto}
.hs-svg{display:block;width:100%;height:auto;overflow:visible}
.hs-cube{animation:hs-float 7s ease-in-out infinite alternate}
.hs-wave{animation:hs-wave 6s linear infinite}
.hs-sweep{animation:hs-sweep 9s ease-in-out infinite}
@keyframes hs-float{from{transform:translateY(calc(var(--fy,6px)*-1))}to{transform:translateY(var(--fy,6px))}}
@keyframes hs-wave{to{transform:translateX(calc(var(--wl)*-1))}}
@keyframes hs-sweep{0%{transform:translateX(calc(var(--s)*-.7))}55%,100%{transform:translateX(calc(var(--s)*1.5))}}
.hs-cap{display:flex;justify-content:center;gap:28px;margin:6px 0 0;font-size:.75rem;color:rgba(245,245,242,.6)}
.hs-cap span{display:flex;align-items:baseline;gap:7px}
.hs-cap b{font-family:'Urbanist',sans-serif;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#F5F5F2;font-size:.75rem}
.hs-cap time{font-variant-numeric:tabular-nums;color:var(--lime);font-weight:600;font-size:.875rem}
.hs-cap i{font-style:normal;font-size:.6875rem;color:rgba(245,245,242,.5)}
@media (prefers-reduced-motion:reduce){.hs-cube,.hs-wave,.hs-sweep{animation:none}}

/* ===== Hero: dynamism x design (arch + flowing lines) ===== */
.hs-stage{position:relative;width:100%;aspect-ratio:520/600}
.hs-bg,.hs-fg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.hs-cv{position:absolute;left:17.308%;top:6.667%;width:65.384%;height:86.667%;display:block}
.hs-cap em{font-style:normal;font-size:.6875rem;color:rgba(245,245,242,.5);letter-spacing:.04em}
.hs-cap{justify-content:space-between;max-width:340px;margin:10px auto 0}

/* ===== Hero: ramp tower (final sizing) ===== */
.hs{max-width:340px}
.hs-cv{position:static;display:block;width:100%;height:auto;aspect-ratio:4/5}
.hs-cap{max-width:none;justify-content:space-between;margin:8px 0 0;padding-top:10px;border-top:1px solid rgba(245,245,242,.12)}
@media (min-width:1024px){.hs{max-width:380px;margin-left:auto;margin-right:0}}
@media (max-width:1023px){.hs{max-width:300px;margin:8px auto 0}}
.hs-gulls{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:2}

/* "i" with the cosi logo accent: cream stem + lime slash instead of a dot */
.ac{position:relative;display:inline-block;color:#F5F5F2}
.ac::before{content:"";position:absolute;left:50%;top:.02em;width:.36em;height:.27em;transform:translateX(-50%);background:var(--lime);clip-path:polygon(0 0,40% 0,100% 100%,60% 100%)}
.ac-cap::before{top:-.17em}
/* keep the logo-style "i" inline so it never shifts the baseline */
.ac{display:inline;vertical-align:baseline}
.ac::before{top:.05em}
.ac-cap::before{top:-.11em}

/* hero headline on one line (size follows the container width) */
.hero-h1{white-space:nowrap;margin:0 0 28px;font-size:calc((min(100vw,1440px) - 48px) / 20.8)}
@media (min-width:1024px){.hero-h1{margin-bottom:40px;font-size:min(calc((min(100vw,1440px) - 96px) / 20.8),3.9rem)}}
.hero-copy .hero-sub{margin-top:0}
@media (max-width:1023px){.hero-sub{font-size:.9375rem}.hero-grid2{gap:28px}}

/* hero: content block centred in the first screen, headline and paragraph close together */
.hero-poster-bg{min-height:100vh;min-height:100svh;display:flex;align-items:center;padding-top:96px;padding-bottom:56px}
.hero-poster-bg>.relative{width:100%}
.hero-h1{margin-bottom:14px}
@media (min-width:1024px){.hero-h1{margin-bottom:20px}.hero-grid2{gap:32px}}
@media (max-width:1023px){.hero-grid2{gap:20px}}

/* hero: compact height, slightly larger one-line headline */
.hero-poster-bg{min-height:0;padding-top:88px;padding-bottom:36px}
.hero-h1{letter-spacing:-.032em;font-size:calc((min(100vw,1440px) - 48px) / 19.6)}
@media (min-width:1024px){.hero-poster-bg{padding-top:104px;padding-bottom:56px}.hero-h1{font-size:min(calc((min(100vw,1440px) - 96px) / 19.6),4.4rem)}}
.hero-copy>.mt-10{margin-top:22px}
.hero-copy>.mt-8{margin-top:18px}
.hs-cv{aspect-ratio:400/372}
@media (max-width:1023px){.hero-grid2{gap:12px}.hs{margin-top:0;max-width:260px}}

/* headline words that swap places: inline-blocks so they can be moved */
.hero-h1 .hl,.hero-h1 .sw{display:inline-block;vertical-align:baseline;white-space:pre}
.hero-h1{position:relative;z-index:1}

/* hero: two-line headline at the original large size */
.hero-h1{white-space:normal}
h1.font-display .hl,h1.font-display .sw{white-space:pre}
.hero-copy>h1{margin:0 0 16px}
.hero-copy>h1 .hl,.hero-copy>h1 .sw{display:inline-block;vertical-align:baseline}

/* primary hero CTA: lime pill with a dark arrow disc */
.hero-cta{display:inline-flex;align-items:center;gap:16px;padding:7px 7px 7px 26px;border-radius:999px;background:var(--lime);color:var(--ink);font-family:'Urbanist',sans-serif;font-weight:700;font-size:1rem;letter-spacing:-.005em;box-shadow:0 0 0 1px rgba(198,255,61,.5),0 12px 32px -8px rgba(198,255,61,.35);transition:box-shadow .3s ease,background-color .25s ease}
.hero-cta-i{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--ink);color:var(--lime);transition:transform .3s cubic-bezier(.22,.8,.3,1)}
.hero-cta:hover{background:#D9FF6B;box-shadow:0 0 0 1px rgba(198,255,61,.8),0 16px 40px -8px rgba(198,255,61,.5)}
.hero-cta:hover .hero-cta-i{transform:translateX(3px) rotate(-45deg)}
.hero-cta:focus-visible{outline:2px solid #fff;outline-offset:3px}
@media (prefers-reduced-motion:reduce){.hero-cta,.hero-cta-i{transition:none}}
@media (max-width:1023px){.hs{max-width:320px}}

/* ---- Home: one continuous dark canvas (ink / inkalt alternate, hairline dividers) ---- */
.bridge,.cap,.rc,.dev,#ap3{border-top:1px solid rgba(255,255,255,.08)}
.bridge{background:var(--ink);color:#fff}
.bridge-kicker,.rc-kicker{border-color:rgba(255,255,255,.2);color:#fff}
.bridge-kicker::before,.rc-kicker::before{background:var(--lime)}
.bridge-lead,.rc-head p{color:rgba(245,245,242,.78)}
.bridge-stat{border-color:rgba(255,255,255,.14)}
.bridge-stat span,.rc-stats span,.rc-shead span{color:rgba(245,245,242,.7)}
.cap{background:var(--ink);color:#fff;border-top-color:rgba(255,255,255,.08)}
.cap h2,.cap-card h3,.cap-list li b{color:#fff}
.cap-card{background:var(--inkalt);border-color:rgba(255,255,255,.1)}
.cap-card:hover,.cap-card:focus-within{border-color:rgba(198,255,61,.4);box-shadow:none}
.cap-icon{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14)}
.cap-list li{color:rgba(245,245,242,.78)}
.dev{border-top-color:rgba(255,255,255,.08)}
.rc{background:var(--ink);color:#fff}
.rc-stats{border-color:rgba(255,255,255,.12)}
.rc-link{border-bottom-color:rgba(255,255,255,.3)}.rc-link:hover{border-color:var(--lime)}
.rc-panel{background:var(--inkalt);border:1px solid rgba(255,255,255,.1)}
.map-wrap{border-color:rgba(255,255,255,.1);background:var(--inkalt)}
.map-land{fill:#1F1F1F;stroke:#2E2E2E}
.map-grid{stroke:rgba(255,255,255,.05)}
.map-route-base{stroke:rgba(255,255,255,.4)}
.map-label{color:#fff}
.map-sea{fill:var(--inkalt);stroke:#2E2E2E}
.map-route-core{stroke:#fff}
.map-pin::after{border-color:var(--lime)}

/* ---- Home: one continuous ink canvas; sections are separated by hairlines, depth comes from cards ---- */
.pg-home .tb,.pg-home .bridge,.pg-home #ap3,.pg-home .cap,.pg-home .dev,.pg-home .rc,
.pg-home main>section.bg-ink,.pg-home main>section.bg-inkalt{background:var(--ink)}
.pg-home #ap3 .ap3-card,.pg-home .rc-panel,.pg-home .dev-card{background:var(--inkalt)}
.pg-home footer{background:var(--ink)}

/* ---- Mobile hero: figure first (compact), headline right below ---- */
@media (max-width:1023px){.hero-grid2>.hs{order:-1;max-width:230px;margin:0 auto}.hero-grid2{gap:8px}}
@media (max-width:1023px){.hero-poster-bg{padding-top:10px}.hero-grid2>.hs{margin:0 auto;transform:translateX(6px)}}

.in-list-top{padding-top:104px}
.in-h1{font-family:'Urbanist',sans-serif;font-weight:800;font-size:clamp(2.1rem,6.4vw,3.6rem);line-height:1.1;letter-spacing:-.03em;color:#fff;margin:0 0 36px;max-width:18ch;text-wrap:balance}
@media (min-width:1024px){.in-list-top{padding-top:136px}.in-h1{margin-bottom:44px;max-width:22ch}}

/* ---- Footer grid: four columns that never collide ---- */
.ft-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:40px}
@media (min-width:640px){.ft-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 32px}.ft-c1{grid-column:1/-1}}
@media (min-width:1024px){.ft-grid{grid-template-columns:minmax(0,1.5fr) minmax(0,.9fr) minmax(0,1.3fr) minmax(0,1.3fr);gap:48px}.ft-c1{grid-column:auto}}
.ft-grid ul{list-style:none;margin:0;padding:0}
.ft-grid p.font-medium{white-space:nowrap}

/* ---- Home: colour. Cobalt + lime light behind the dark canvas, cobalt accents, one cobalt closing block ---- */
.pg-home .sp{background:radial-gradient(55% 70% at 100% 0%,rgba(61,90,254,.26),transparent 62%),radial-gradient(40% 50% at 0% 100%,rgba(198,255,61,.07),transparent 60%),var(--ink)}
.pg-home #ap3{background:radial-gradient(60% 55% at 0% 0%,rgba(61,90,254,.24),transparent 62%),var(--ink)}
.pg-home .cap{background:radial-gradient(50% 60% at 100% 0%,rgba(198,255,61,.09),transparent 62%),radial-gradient(55% 60% at 0% 100%,rgba(61,90,254,.2),transparent 62%),var(--ink)}
.pg-home .dev{background:radial-gradient(60% 80% at 85% 50%,rgba(61,90,254,.24),transparent 64%),var(--ink)}
.pg-home .rc{background:radial-gradient(55% 70% at 0% 50%,rgba(198,255,61,.08),transparent 62%),radial-gradient(45% 60% at 100% 100%,rgba(61,90,254,.2),transparent 62%),var(--ink)}
.pg-home main>section.bg-ink.py-28{background:radial-gradient(60% 90% at 50% 0%,rgba(61,90,254,.26),transparent 66%),var(--ink)}
.pg-home .cap-icon{background:var(--blue);border:0;color:#fff}
.pg-home .ap3-ic{background:rgba(61,90,254,.2);border-color:rgba(61,90,254,.6);color:#fff}
.pg-home #ap3 .ap3-card{background:linear-gradient(180deg,rgba(61,90,254,.14),rgba(61,90,254,0) 55%),var(--inkalt)}
.pg-home #ap3 .ap3-head .font-accent{color:var(--lime)}
.pg-home .sp-card{background:linear-gradient(180deg,rgba(61,90,254,.12),rgba(61,90,254,0) 60%),var(--inkalt)}
.pg-home .sp-card.is-active{background:linear-gradient(180deg,rgba(61,90,254,.2),rgba(61,90,254,0) 70%),#161616}
.pg-home .stat-block:nth-child(even) p.font-display{color:var(--blue)}
.pg-home .stat-block:nth-child(even) .stat-bar{background:var(--blue)}
.pg-home main>section.bg-inkalt.text-center{background:linear-gradient(180deg,rgba(10,10,10,0),rgba(10,10,10,.38)),var(--blue);border-top:0}
.pg-home main>section.bg-inkalt.text-center h2{color:#fff}
.pg-home main>section.bg-inkalt.text-center h2 .text-lime{color:var(--lime)}
.pg-home main>section.bg-inkalt.text-center p{color:rgba(255,255,255,.88)}
.pg-home main>section.bg-inkalt.text-center a{background:var(--lime);color:var(--ink)}
.pg-home main>section.bg-inkalt.text-center a:hover{background:#fff}

/* Home: calmer rhythm (fewer words per screen, tighter titles-only capability cards) */
.pg-home .cap-card{padding:22px 24px}
.pg-home .cap-card h3{margin-bottom:12px}
.pg-home .cap-list{gap:10px}
.pg-home .cap-list li{font-size:1rem}
.pg-home .cap-list li b{font-weight:500;color:#E9E9E3}
.pg-home .sp-head{margin-bottom:32px}
.pg-home .dev-head p{max-width:46ch}

.pin-ist{left:65.64%;top:79.40%}
.pin-mil{left:36.10%;top:62.90%}

.dev-pin-imac{left:54.60%;top:38.42%}
.dev-pin-ipad{left:20.03%;top:61.49%}
.dev-pin-iphone{left:81.06%;top:64.43%}

/* ---- Home: How we work (ap3) ---- */
.ap3-eyebrow{font-family:"JetBrains Mono",ui-monospace,monospace;font-weight:500;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--lime);margin:0 0 20px}
.ap3-head{display:grid;grid-template-columns:1fr;gap:20px;margin-bottom:56px}
.ap3-head h2{font-family:"Urbanist",sans-serif;font-weight:700;font-size:32px;line-height:1.08;letter-spacing:-.04em;margin:0;color:#fff;text-wrap:balance}
.ap3-head .font-accent{font:inherit;color:inherit;font-style:normal}
.ap3-lede{font-size:18px;line-height:1.55;color:rgba(245,245,242,.82);max-width:44ch;margin:0}
@media (min-width:1024px){.ap3-head{grid-template-columns:7fr 5fr;gap:48px;align-items:end}.ap3-head h2{font-size:48px}}
.ap3-rail{display:none}
@media (min-width:1024px){.ap3-rail{display:grid;grid-template-columns:repeat(3,1fr);column-gap:32px;position:relative;height:14px;margin-bottom:-7px;z-index:1;pointer-events:none}
.ap3-line,.ap3-fill{position:absolute;left:0;right:0;top:6px;height:1px}.ap3-line{background:rgba(255,255,255,.1)}
.ap3-fill{background:var(--lime);transform-origin:left;transform:scaleX(1);transition:transform .9s ease-out}
.js .ap3-fill{transform:scaleX(0)}.js .ap3-rail.is-on .ap3-fill{transform:scaleX(1)}
.ap3-rail i{position:relative;width:13px;height:13px;border-radius:50%;background:var(--inkalt);border:1px solid rgba(255,255,255,.3);margin-left:24px}
.js .ap3-rail.is-on i{border-color:var(--lime);transition:border-color .3s .3s}}
.ap3-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;gap:32px;align-items:stretch}
@media (min-width:1024px){.ap3-list{grid-template-columns:repeat(3,1fr)}}
.ap3-card{position:relative;display:flex;flex-direction:column;background:var(--ink);border:1px solid rgba(255,255,255,.1);border-radius:1rem;padding:28px;transition:border-color .2s,transform .2s}
.ap3-card:hover,.ap3-card:focus-within{border-color:rgba(198,255,61,.4);transform:translateY(-2px)}
.js .ap3-card{opacity:0;transform:translateY(16px);transition:opacity .45s ease-out var(--d),transform .45s ease-out var(--d),border-color .2s}
.js .ap3-card.is-in{opacity:1;transform:none}
.js .ap3-card.is-in:hover,.js .ap3-card.is-in:focus-within{transform:translateY(-2px);transition:opacity .45s,transform .2s,border-color .2s}
@media (max-width:1023px){.ap3-card:not(:last-child)::after{content:"";position:absolute;left:36px;top:100%;height:32px;width:1px;background:rgba(255,255,255,.1)}}
.ap3-ic{display:flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:14px;border:1px solid rgba(255,255,255,.14);color:#fff;margin-bottom:22px;transition:color .2s,border-color .2s}
.ap3-card:hover .ap3-ic,.ap3-card:focus-within .ap3-ic{color:var(--lime);border-color:rgba(198,255,61,.4)}
.ap3-top{display:flex;align-items:baseline;gap:14px;margin-bottom:20px;font-family:"JetBrains Mono",ui-monospace,monospace;font-size:12px;letter-spacing:.1em;text-transform:uppercase}
.ap3-n{color:#fff;font-weight:700}.ap3-t{color:rgba(245,245,242,.82);font-weight:500}
.ap3-card h3{font-family:"Urbanist",sans-serif;font-weight:600;font-size:22px;line-height:1.15;margin:0 0 14px;color:#fff}
.ap3-body{font-size:16px;line-height:1.6;color:rgba(245,245,242,.82);margin:0 0 24px}
.ap3-meta{margin:0 0 24px;display:grid;gap:14px;padding-top:20px;border-top:1px solid rgba(255,255,255,.1)}
.ap3-meta dt{font-family:"JetBrains Mono",ui-monospace,monospace;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:rgba(245,245,242,.7);margin-bottom:4px}
.ap3-meta dd{margin:0;font-size:15px;line-height:1.5;color:#fff}
.ap3-foot{margin-top:auto}
.ap3-btn{display:none;align-items:center;gap:8px;background:none;border:0;padding:6px 0;color:#fff;font:600 15px "Urbanist",sans-serif;cursor:pointer}
.ap3-btn::after{content:"+";color:var(--lime);font-size:18px;line-height:1}.ap3-btn[aria-expanded="true"]::after{content:"\2013"}
.ap3-btn:hover{color:var(--lime)}.ap3-btn:focus-visible,.ap3-cta:focus-visible,.ap3-link:focus-visible{outline:2px solid var(--lime);outline-offset:2px}
.js .ap3-btn{display:inline-flex}
.ap3-more{display:grid;grid-template-rows:1fr;transition:grid-template-rows .22s ease-out,visibility 0s}
.ap3-more-in{overflow:hidden;min-height:0}
.ap3-more ul{margin:0;padding:14px 0 0 18px;display:grid;gap:8px;font-size:15px;line-height:1.5;color:rgba(245,245,242,.82)}
.ap3-more li::marker{color:rgba(245,245,242,.5)}
.js .ap3-card:not(.is-open) .ap3-more{grid-template-rows:0fr;visibility:hidden;transition:grid-template-rows .22s ease-out,visibility 0s .22s}
.ap3-bar{margin-top:56px;padding-top:32px;border-top:1px solid rgba(255,255,255,.1);display:grid;grid-template-columns:1fr;gap:28px;align-items:center}
.ap3-bar-t{font-size:17px;line-height:1.5;color:#fff;margin:0 0 10px}
.ap3-micro{font-family:"JetBrains Mono",ui-monospace,monospace;font-size:12px;letter-spacing:.04em;color:rgba(245,245,242,.7);margin:0}
.ap3-act{display:flex;flex-direction:column;gap:16px;align-items:stretch;text-align:center}
.ap3-cta{display:inline-block;background:var(--lime);color:var(--ink);font:700 16px "Urbanist",sans-serif;padding:15px 28px;border-radius:999px;transition:filter .2s}
.ap3-cta:hover{filter:brightness(1.06)}
.ap3-link{color:#fff;font-weight:500;font-size:15px}.ap3-link:hover{color:var(--lime)}
@media (min-width:1024px){.ap3-card{padding:32px}.ap3-card h3{font-size:28px}.ap3-body{font-size:17px}.ap3-bar{grid-template-columns:1fr auto}.ap3-act{flex-direction:row;align-items:center;gap:28px}}
@media (prefers-reduced-motion:reduce){.js .ap3-card{transform:none;transition:opacity .45s ease-out var(--d),border-color .2s}.js .ap3-card.is-in{transform:none}.js .ap3-fill{transform:scaleX(1);transition:none}.ap3-more,.js .ap3-card:not(.is-open) .ap3-more{transition:none}.ap3-card:hover,.ap3-card:focus-within{transform:none}}

/* ---- Home: services grid ---- */
.sg{background:var(--ink);color:#fff;padding:72px 0;border-top:1px solid rgba(255,255,255,.08)}
.sg-eyebrow{font-family:"JetBrains Mono",ui-monospace,monospace;font-weight:500;font-size:12px;letter-spacing:.1em;color:var(--lime);margin:0 0 20px}
.sg-head{display:grid;gap:16px;margin-bottom:44px}
.sg-head h2{font-family:"Urbanist",sans-serif;font-weight:700;font-size:32px;line-height:1.08;letter-spacing:-.04em;margin:0}
.sg-head p{font-size:17px;line-height:1.55;color:rgba(245,245,242,.8);max-width:46ch;margin:0}
@media (min-width:1024px){.sg{padding:96px 0}.sg-head{grid-template-columns:7fr 5fr;gap:48px;align-items:end}.sg-head h2{font-size:48px}}
.sg-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;gap:20px}
@media (min-width:640px){.sg-grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1024px){.sg-grid{grid-template-columns:repeat(3,1fr);gap:24px}}
.sg-card{position:relative;display:flex;flex-direction:column;background:var(--inkalt);border:1px solid rgba(255,255,255,.1);border-radius:1rem;padding:28px;overflow:hidden;transition:border-color .2s,transform .2s}
.sg-card::before{content:"";position:absolute;right:-70px;top:-70px;width:200px;height:200px;border-radius:50%;background:radial-gradient(circle,rgba(198,255,61,.12),transparent 65%);opacity:0;transition:opacity .3s;pointer-events:none}
.sg-card:hover,.sg-card:focus-within{border-color:rgba(198,255,61,.4);transform:translateY(-2px)}
.sg-card:hover::before,.sg-card:focus-within::before{opacity:1}
.sg-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}
.sg-ic{display:flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:14px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.04);color:#fff;transition:color .2s,border-color .2s}
.sg-card:hover .sg-ic,.sg-card:focus-within .sg-ic{color:var(--lime);border-color:rgba(198,255,61,.4)}
.sg-n{font-family:"JetBrains Mono",ui-monospace,monospace;font-size:12px;letter-spacing:.1em;color:rgba(245,245,242,.55)}
.sg-card h3{font-family:"Urbanist",sans-serif;font-weight:600;font-size:22px;line-height:1.15;margin:0 0 10px}
.sg-card p{font-size:16px;line-height:1.55;color:rgba(245,245,242,.8);margin:0 0 20px}
.sg-chips{list-style:none;margin:0 0 24px;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.sg-chips li{font-size:13px;line-height:1;color:rgba(245,245,242,.82);border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:7px 12px}
.sg-more{margin-top:auto;font-weight:600;font-size:15px;color:#fff;display:inline-flex;gap:8px;align-items:center}
.sg-more::after{content:"";position:absolute;inset:0}
.sg-more:hover{color:var(--lime)}.sg-more:focus-visible{outline:2px solid var(--lime);outline-offset:-2px;border-radius:1rem}
.sg-all{display:inline-block;margin-top:32px;color:var(--lime);font-weight:500}
@media (prefers-reduced-motion:reduce){.sg-card,.sg-card::before{transition:none}.sg-card:hover,.sg-card:focus-within{transform:none}}

/* ---- Home: photography ---- */
.ph{background:var(--ink);padding:24px 0 72px}
.ph-grid{display:grid;grid-template-columns:1fr;gap:20px}
.ph-f{margin:0}
.ph-frame{position:relative;overflow:hidden;border-radius:1rem;border:1px solid rgba(255,255,255,.1);background:var(--inkalt);aspect-ratio:4/3}
.ph-frame::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,10,10,0) 55%,rgba(10,10,10,.55)),rgba(10,10,10,.12);pointer-events:none}
.ph-img{display:block;width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.06);transform:scale(1.001);transition:filter .5s,transform .8s ease-out}
.ph-f:hover .ph-img{filter:grayscale(.15) contrast(1.02);transform:scale(1.03)}
.ph-f figcaption{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 14px;padding:12px 2px 0;font-size:14px;color:rgba(245,245,242,.7)}
.ph-f figcaption b{font-family:"JetBrains Mono",ui-monospace,monospace;font-weight:500;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#fff}
@media (min-width:1024px){.ph{padding:32px 0 104px}.ph-grid{grid-template-columns:7fr 5fr;grid-template-rows:auto auto;gap:24px}.ph-a{grid-row:1/3}.ph-a .ph-frame{aspect-ratio:auto;height:calc(100% - 44px);min-height:360px}.ph-b .ph-frame,.ph-c .ph-frame{aspect-ratio:16/10}}
.ph-wide{padding:0 0 0}.ph-banner{aspect-ratio:16/9;max-height:520px}
@media (min-width:1024px){.ph-banner{aspect-ratio:21/9}.ph-wide{padding:0}}
.ph-wide{padding-top:0;padding-bottom:72px}
.ph-banner:hover .ph-img{filter:grayscale(.15)}
@media (prefers-reduced-motion:reduce){.ph-img{transition:none}.ph-f:hover .ph-img{transform:none}}

/* ---- /hakkimizda (ab2) ---- */
.ab2{padding:56px 0;color:#F7F7F2}.ab2-ink{background:var(--ink)}.ab2-alt{background:#121212}.ab2-paper{background:#F7F7F2;color:var(--ink)}
.ab2-wrap{max-width:1440px;margin:0 auto;padding:0 24px}
@media (min-width:1024px){.ab2{padding:120px 0}.ab2-wrap{padding:0 48px}}
.ab2 h1,.ab2 h2,.ab2 h3{font-family:"Urbanist",sans-serif;margin:0}
.ab2-eyebrow{font-family:"JetBrains Mono",ui-monospace,monospace;font-weight:500;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--lime);margin:0 0 20px}
.ab2-eyebrow-blue{color:var(--blue)}
.font-accent{font:inherit;font-style:normal}
.ab2-h2{font-weight:700;font-size:30px;line-height:1.08;letter-spacing:-.04em;text-wrap:balance}
@media (min-width:1024px){.ab2-h2{font-size:48px}.ab2-h2-m{font-size:44px}.ab2-h2-f{font-size:40px}.ab2-h2-c{font-size:40px}}
.ab2-h2-gap{margin-bottom:40px}.ab2-h2-c{font-size:28px}@media (min-width:1024px){.ab2-h2-c{font-size:40px}}
.ab2-br{display:none}@media (min-width:1024px){.ab2-br{display:inline}}
.ab2-hero{padding:104px 0 64px}
.ab2-hero-grid{display:grid;grid-template-columns:1fr;gap:28px;align-items:end}
.ab2-h1{font-weight:700;font-size:38px;line-height:1.02;letter-spacing:-.045em;margin:0}
.ab2-h1 span{display:block}.ab2-acc{color:var(--lime)}
.ab2-hero-p{font-size:17px;line-height:1.55;color:#D8D8D2;max-width:44ch;margin:0}
.ab2-kunye{list-style:none;margin:48px 0 28px;padding:20px 0 0;border-top:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;gap:8px;font-family:"JetBrains Mono",ui-monospace,monospace;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#9A9A94}
.ab2-jump{display:inline-block;margin-top:36px;color:var(--lime);border-bottom:1px solid rgba(198,255,61,.4);padding:12px 0 2px;font-weight:500}
.ab2-jump:hover{border-color:var(--lime)}.ab2 a:focus-visible{outline:2px solid var(--lime);outline-offset:3px}.ab2-paper a:focus-visible{outline-color:var(--blue)}
@media (min-width:1024px){.ab2-hero{padding:128px 0 112px}.ab2-hero-grid{grid-template-columns:7fr 5fr;gap:48px}.ab2-h1{font-size:76px}.ab2-hero-p{font-size:19px}.ab2-kunye{flex-direction:row;gap:40px;margin-top:72px}}
.ab2-duo{display:grid;grid-template-columns:1fr;gap:20px;margin-top:56px}
.ab2-fig{margin:0}
.ab2-ph{position:relative;overflow:hidden;border-radius:1rem;border:1px solid rgba(255,255,255,.1);background:#121212;aspect-ratio:4/3}
.ab2-ph img{display:block;width:100%;height:100%;object-fit:cover;filter:saturate(.85) contrast(1.03)}
.ab2-fig figcaption{margin-top:12px;font-family:"JetBrains Mono",ui-monospace,monospace;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#9A9A94}.ab2-fig figcaption b{color:#F7F7F2;font-weight:500}
.ab2-city{padding:0;overflow:hidden}.ab2-city .ab2-ph{border:0;border-radius:0;aspect-ratio:16/10;margin-bottom:24px}.ab2-city h3,.ab2-city p{margin-left:28px;margin-right:28px}.ab2-city p{margin-bottom:28px}
@media (min-width:1024px){.ab2-duo{grid-template-columns:7fr 5fr;gap:24px;margin-top:80px}.ab2-ph-a{aspect-ratio:4/3}.ab2-ph-b{aspect-ratio:1/1}.ab2-city h3,.ab2-city p{margin-left:40px;margin-right:40px}.ab2-city p{margin-bottom:40px}.ab2-city .ab2-ph{margin-bottom:32px}}
.ab2-why{padding-top:0}.ab2-why-in{display:grid;grid-template-columns:1fr;gap:28px;border-top:1px solid rgba(255,255,255,.1);padding-top:56px}
.ab2-lead{font-size:18px;line-height:1.5;color:#F7F7F2;margin:0}.ab2-dim{color:#9A9A94}
.ab2-why-r{display:grid;gap:24px;max-width:62ch}.ab2-body{font-size:17px;line-height:1.6;color:#D8D8D2;margin:0}
.ab2-cosi{font-size:19px;color:#F7F7F2}
.ab2-mono{font-family:"JetBrains Mono",ui-monospace,monospace;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#9A9A94;margin:0;line-height:1.7}
@media (min-width:1024px){.ab2-why{padding-bottom:128px}.ab2-why-in{grid-template-columns:4fr 8fr;gap:64px;padding-top:64px}.ab2-lead{font-size:20px}}
.ab2-head{display:grid;grid-template-columns:1fr;gap:20px;margin-bottom:40px}
.ab2-side{font-size:17px;line-height:1.55;color:#D8D8D2;max-width:44ch;margin:0}.ab2-paper .ab2-side{color:#3A3A36}
@media (min-width:1024px){.ab2-head{grid-template-columns:7fr 5fr;gap:48px;align-items:end;margin-bottom:56px}}
.ab2-cards{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;gap:24px}
.ab2-card{background:var(--ink);border:1px solid rgba(255,255,255,.1);border-radius:1rem;padding:28px;transition:border-color .2s,transform .2s}
.ab2-card:hover,.ab2-card:focus-within{border-color:rgba(198,255,61,.4);transform:translateY(-2px)}
.ab2-num{display:block;font-family:"JetBrains Mono",ui-monospace,monospace;font-size:12px;letter-spacing:.1em;color:#9A9A94;margin-bottom:20px}
.ab2-card h3{font-weight:600;font-size:21px;line-height:1.2;margin-bottom:12px}.ab2-card p{font-size:16px;line-height:1.6;color:#D8D8D2;margin:0}
.ab2-two{display:grid;grid-template-columns:1fr;gap:24px}.ab2-two .ab2-card h3{font-size:24px}.ab2-two .ab2-card p{font-size:17px}
.ab2-practical{font-size:18px;line-height:1.6;color:#F7F7F2;max-width:78ch;margin:40px 0 0}
@media (min-width:1024px){.ab2-cards,.ab2-two{grid-template-columns:repeat(2,1fr)}.ab2-card{padding:40px}.ab2-card h3{font-size:26px}.ab2-card p{font-size:17px}}
.ab2-rail{position:relative;height:1px;background:rgba(255,255,255,.1);margin-bottom:32px;display:none}
.ab2-rail i{position:absolute;left:0;top:0;height:1px;width:33.333%;background:var(--lime);transform-origin:left;transform:scaleX(1);transition:transform .9s ease-out}
.js .ab2-rail i{transform:scaleX(0)}.js .ab2-rail.is-on i{transform:scaleX(1)}
.ab2-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;gap:0}
.ab2-step{padding:28px 0;border-top:1px solid rgba(255,255,255,.1)}.ab2-step:first-child{border-top:0;padding-top:0}
.ab2-stag{font-family:"JetBrains Mono",ui-monospace,monospace;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#9A9A94;margin:0 0 14px}
.ab2-step h3{font-weight:600;font-size:20px;margin-bottom:12px}.ab2-sp{font-size:16px;line-height:1.6;color:#D8D8D2;margin:0 0 20px}
.ab2-dl{margin:0}.ab2-dl dt{font-family:"JetBrains Mono",ui-monospace,monospace;font-size:11px;letter-spacing:.1em;color:#9A9A94;margin-bottom:4px}.ab2-dl dd{margin:0;font-size:15px;line-height:1.5;color:#F7F7F2}
.ab2-link{display:inline-block;margin-top:32px;color:#fff;font-weight:500}.ab2-link:hover{color:var(--lime)}
@media (min-width:1024px){.ab2-rail{display:block}.ab2-steps{grid-template-columns:repeat(3,1fr);gap:24px}.ab2-step{padding:0;border-top:0}.ab2-step h3{font-size:24px}}
.ab2-lines{list-style:none;margin:0;padding:0;border-top:1px solid rgba(10,10,10,.12)}
.ab2-line{display:flex;gap:16px;align-items:flex-start;padding:22px 0;border-bottom:1px solid rgba(10,10,10,.12)}
.ab2-x{flex:none;margin-top:3px}.ab2-line p{margin:0;font-size:17px;line-height:1.5;color:#3A3A36;max-width:78ch}.ab2-line b{font-weight:600;color:var(--ink)}
@media (min-width:1024px){.ab2-line p{font-size:20px}.ab2-line{padding:26px 0}}
.ab2-team{list-style:none;margin:0;padding:0;border-top:1px solid rgba(255,255,255,.1)}
.ab2-row{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 0;border-bottom:1px solid rgba(255,255,255,.1)}
.ab2-row h3{font-weight:600;font-size:18px;line-height:1.25}.ab2-row h3 a{color:inherit;border-bottom:1px solid rgba(255,255,255,.25)}.ab2-row h3 a:hover{color:var(--lime);border-color:var(--lime)}
.ab2-row p{display:none;margin:0;font-size:16px;line-height:1.55;color:#D8D8D2}
.ab2-yr{font-family:"JetBrains Mono",ui-monospace,monospace;font-size:12px;letter-spacing:.08em;color:#9A9A94;white-space:nowrap;text-align:right}
.ab2-note{margin-top:28px}
@media (min-width:1024px){.ab2-row{align-items:baseline;gap:32px;padding:26px 0}.ab2-row h3{flex:0 0 300px;font-size:21px}.ab2-row p{display:block;flex:1}.ab2-yr{flex:0 0 110px}}
.ab2-faq{margin:0;max-width:72ch}.ab2-qa{padding:24px 0;border-top:1px solid rgba(255,255,255,.1)}.ab2-qa:first-child{border-top:0;padding-top:0}
.ab2-faq dt{font-weight:600;font-size:20px;line-height:1.3;color:#F7F7F2;margin-bottom:10px}.ab2-faq dd{margin:0;font-size:17px;line-height:1.6;color:#D8D8D2}
.ab2-end{padding-top:0}
.ab2-cta-card{background:#121212;border:1px solid rgba(255,255,255,.12);border-radius:20px;padding:24px;display:grid;grid-template-columns:1fr;gap:28px;align-items:center}
.ab2-cta-p{font-size:16px;line-height:1.55;color:#D8D8D2;max-width:56ch;margin:16px 0 0}
.ab2-act{display:flex;flex-direction:column;gap:16px;align-items:stretch;text-align:center}
.ab2-cta{display:inline-block;background:var(--lime);color:var(--ink);font:600 17px "Urbanist",sans-serif;padding:18px 32px;border-radius:999px;text-align:center;transition:filter .2s}.ab2-cta:hover{filter:brightness(1.06)}
.ab2-act .ab2-link{margin:0}
@media (min-width:1024px){.ab2-end{padding-bottom:128px}.ab2-cta-card{grid-template-columns:1fr auto;padding:72px;gap:48px}.ab2-cta-p{font-size:18px}.ab2-act{align-items:flex-start;text-align:left}}
.js .ab2-r{opacity:0;transform:translateY(16px);transition:opacity .45s ease-out var(--d,0ms),transform .45s ease-out var(--d,0ms),border-color .2s}
.js .ab2-r.is-in{opacity:1;transform:none}
.js .ab2-card.is-in:hover,.js .ab2-card.is-in:focus-within{transform:translateY(-2px);transition:opacity .45s,transform .2s,border-color .2s}
@media (prefers-reduced-motion:reduce){.js .ab2-r{transform:none;transition:opacity .45s ease-out var(--d,0ms)}.js .ab2-rail i{transform:scaleX(1);transition:none}.ab2-card:hover,.ab2-card:focus-within{transform:none}}

/* ---- Home: three starting points (dark, selector cards + one open panel) ---- */
.sp{background:var(--ink);color:#fff;padding:72px 0;border-top:1px solid rgba(255,255,255,.08)}
.sp-eyebrow{font-family:"JetBrains Mono",ui-monospace,monospace;font-weight:500;font-size:12px;letter-spacing:.1em;color:var(--lime);margin:0 0 20px}
.sp-head{display:grid;grid-template-columns:1fr;gap:20px;margin-bottom:40px}
.sp-head h2{font-family:"Urbanist",sans-serif;font-weight:700;font-size:30px;line-height:1.1;letter-spacing:-.04em;margin:0;text-wrap:balance}
.sp-head p{font-size:17px;line-height:1.55;color:#D8D8D2;max-width:44ch;margin:0}
.sp-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}
.sp-card{position:relative;background:var(--inkalt);border:1px solid rgba(255,255,255,.1);border-radius:1rem;padding:24px;transition:border-color .2s,transform .2s,background .2s}
.sp-card:hover,.sp-card:focus-within{border-color:rgba(198,255,61,.4);transform:translateY(-2px)}
.sp-card h3{margin:0}
.sp-btn{display:flex;width:100%;justify-content:space-between;align-items:center;gap:16px;background:none;border:0;padding:0;color:#fff;font:700 28px/1.1 "Urbanist",sans-serif;letter-spacing:-.02em;text-align:left;cursor:pointer}
.sp-btn:focus-visible{outline:2px solid var(--lime);outline-offset:6px;border-radius:6px}
.sp-chev{flex:none;width:12px;height:12px;border-right:2px solid var(--lime);border-bottom:2px solid var(--lime);transform:rotate(45deg) translate(-2px,-2px);transition:transform .2s}
.sp-btn[aria-expanded="true"] .sp-chev{transform:rotate(225deg) translate(-2px,-2px)}
.sp-sit{font-size:16px;line-height:1.5;font-style:italic;color:#D8D8D2;margin:14px 0 0}
.sp-card.is-active{border-color:rgba(198,255,61,.55);background:#161616}
.sp-card.is-active::before{content:"";position:absolute;left:24px;right:24px;top:-1px;height:2px;background:var(--lime)}
.sp-panel{padding:4px 4px 8px}
.sp-pl{margin:12px 0 24px}
.sp-who{font-size:15px;line-height:1.5;color:#D8D8D2;margin:0 0 18px}
.sp-who span{display:block;font-family:"JetBrains Mono",ui-monospace,monospace;font-size:11px;letter-spacing:.1em;color:#9A9A94;margin-bottom:6px}
.sp-links{font-size:15px;margin:0;color:#9A9A94}
.sp-links a{color:var(--lime);font-weight:500;text-decoration:none}.sp-links a:hover{text-decoration:underline;text-underline-offset:3px}
.sp-links a:focus-visible,.sp .hero-cta:focus-visible{outline:2px solid var(--lime);outline-offset:2px}
.sp-b{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.sp-b li{position:relative;padding-left:26px;font-size:16px;line-height:1.6;color:#D8D8D2}
.sp-b li::before{content:"";position:absolute;left:0;top:.8em;width:10px;height:1px;background:var(--lime)}
.js .sp-panel{display:none}.js .sp-panel.is-open{display:block;animation:sp-in .3s ease-out}
@keyframes sp-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.sp-bar{display:grid;grid-template-columns:1fr;gap:24px;align-items:center;margin-top:48px;padding-top:32px;border-top:1px solid rgba(255,255,255,.1)}
.sp-bar p{font-size:17px;line-height:1.5;margin:0;color:#fff;max-width:48ch}
.sp-bar .hero-cta{justify-content:space-between;width:100%}
@media (min-width:1024px){.sp{padding:104px 0}.sp-head{grid-template-columns:7fr 5fr;gap:48px;align-items:end;margin-bottom:56px}.sp-head h2{font-size:48px}.sp-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 24px}.sp-card{padding:32px}.js .sp-panel{grid-row:2;grid-column:1/-1}.sp-panel{grid-column:1/-1;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:32px;padding:16px 0 0}.js .sp-panel{display:none}.js .sp-panel.is-open{display:grid}.sp-pl{grid-column:1/5;margin:0}.sp-b{grid-column:6/13}.sp-btn{font-size:34px}.sp-bar{grid-template-columns:1fr auto;gap:48px;margin-top:56px;padding-top:40px}.sp-bar .hero-cta{width:auto;justify-content:flex-start}}
.js .sp-r{opacity:0;transform:translateY(16px);transition:opacity .45s ease-out var(--d,0ms),transform .45s ease-out var(--d,0ms),border-color .2s,background .2s}
.js .sp-r.is-in{opacity:1;transform:none}.js .sp-r.is-in:hover,.js .sp-r.is-in:focus-within{transform:translateY(-2px)}
@media (prefers-reduced-motion:reduce){.js .sp-r{transform:none;transition:opacity .45s ease-out var(--d,0ms)}.js .sp-panel.is-open{animation:none}.sp-card:hover,.sp-card:focus-within,.js .sp-r.is-in:hover{transform:none}.sp-chev{transition:none}}

/* ---- Home: testimonials (two drifting rows) ---- */
.tm{background:radial-gradient(55% 60% at 50% 0%,rgba(61,90,254,.2),transparent 65%),var(--ink);color:#fff;padding:72px 0;border-top:1px solid rgba(255,255,255,.08);overflow:hidden}
.tm-eyebrow{font-family:"JetBrains Mono",ui-monospace,monospace;font-weight:500;font-size:12px;letter-spacing:.1em;color:var(--lime);margin:0 0 20px}
.tm h2{font-family:"Urbanist",sans-serif;font-weight:700;font-size:30px;line-height:1.1;letter-spacing:-.04em;margin:0 0 40px;text-wrap:balance}
.tm-marq{overflow:hidden;margin:0 auto 16px;width:calc(100% - 48px);max-width:1344px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 min(20%,220px),#000 calc(100% - min(20%,220px)),transparent);mask-image:linear-gradient(90deg,transparent,#000 min(20%,220px),#000 calc(100% - min(20%,220px)),transparent)}
.tm-track{display:flex;gap:16px;width:max-content;animation:tm-l 150s linear infinite}
.tm-rev .tm-track{animation-name:tm-r;animation-duration:170s}
.tm-dup{display:flex;gap:16px}
.tm-marq:hover .tm-track,.tm-marq:focus-within .tm-track{animation-play-state:paused}
@keyframes tm-l{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes tm-r{from{transform:translateX(-50%)}to{transform:translateX(0)}}
.tm-card{flex:0 0 300px;margin:0;display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px;background:var(--inkalt);border:1px solid rgba(255,255,255,.1);border-radius:1rem;padding:28px 24px 24px}
.tm-card:nth-child(odd){background:linear-gradient(180deg,rgba(61,90,254,.16),rgba(61,90,254,0) 55%),var(--inkalt)}
.tm figcaption{display:flex;flex-direction:column;gap:2px}.tm figcaption b{font:700 20px/1.2 "Urbanist",sans-serif;letter-spacing:-.02em;color:#fff}.tm figcaption span{font:500 11px "JetBrains Mono",ui-monospace,monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--lime)}
.tm blockquote{margin:0;flex:1}.tm blockquote p{margin:0;font-size:15px;line-height:1.55;color:#E2E2DC}
.tm-stars{display:flex;gap:4px;color:var(--lime)}
.tm figcaption b{display:inline-flex;align-items:center;justify-content:center;gap:6px}.tm-vf{flex:none;color:var(--lime)}
.tm-note{margin:20px 0 0;font:500 12px "JetBrains Mono",ui-monospace,monospace;color:#9A9A94}
@media (min-width:1024px){.tm{padding:104px 0}.tm-marq{width:calc(100% - 96px)}.tm h2{font-size:48px;margin-bottom:56px}.tm-card{flex-basis:340px}}
@media (prefers-reduced-motion:reduce){.tm-track{animation:none}.tm-marq{overflow-x:auto;-webkit-mask-image:none;mask-image:none}.tm-dup{display:none}}

/* ---- Home: countries ---- */
.ct{background:radial-gradient(45% 60% at 0% 50%,rgba(61,90,254,.2),transparent 62%),var(--ink);color:#fff;padding:72px 0;border-top:1px solid rgba(255,255,255,.08)}
.ct-head{display:grid;gap:20px;margin-bottom:40px}
.ct-eyebrow{font:500 12px "JetBrains Mono",ui-monospace,monospace;letter-spacing:.1em;color:var(--lime);margin:0 0 20px}
.ct h2{font:700 30px/1.1 "Urbanist",sans-serif;letter-spacing:-.04em;margin:0;text-wrap:balance}
.ct-lead{margin:0;font-size:17px;line-height:1.55;color:#D8D8D2;max-width:46ch}
.ct-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.ct-item{display:flex;align-items:center;gap:14px;min-width:0;background:var(--inkalt);border:1px solid rgba(255,255,255,.1);border-radius:.875rem;padding:16px;transition:border-color .2s,transform .2s}
.ct-item:hover{border-color:rgba(198,255,61,.45);transform:translateY(-2px)}
.ct-flag{flex:none;width:44px;height:30px;border-radius:6px;overflow:hidden;border:1px solid rgba(255,255,255,.25);display:block;line-height:0}.ct-flag svg{width:100%;height:100%;display:block}
.ct-name{font:700 17px/1.2 "Urbanist",sans-serif;letter-spacing:-.02em;min-width:0}
.ct-tag{margin-left:auto;font:500 10px "JetBrains Mono",ui-monospace,monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--lime);border:1px solid rgba(198,255,61,.4);border-radius:999px;padding:3px 8px}
.ct-hub{background:linear-gradient(180deg,rgba(198,255,61,.1),rgba(198,255,61,0) 70%),var(--inkalt);border-color:rgba(198,255,61,.4)}
.ct-hub .ct-flag{border-color:var(--lime);box-shadow:0 0 0 2px rgba(198,255,61,.35)}
@media (min-width:768px){.ct-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.ct-item{padding:20px}}
@media (min-width:1024px){.ct{padding:104px 0}.ct-head{grid-template-columns:7fr 5fr;gap:48px;align-items:end;margin-bottom:56px}.ct h2{font-size:48px}.ct-name{font-size:20px}}
@media (max-width:420px){.ct-tag{display:none}}
@media (prefers-reduced-motion:reduce){.ct-item{transition:none}.ct-item:hover{transform:none}}

/* ---- Work page ---- */
.wk-hero{background:radial-gradient(50% 70% at 85% 0%,rgba(61,90,254,.24),transparent 62%),radial-gradient(35% 50% at 0% 100%,rgba(198,255,61,.06),transparent 60%),var(--ink);padding:64px 0 32px}
.wk-eyebrow{font:500 12px "JetBrains Mono",ui-monospace,monospace;letter-spacing:.1em;color:var(--lime);margin:0 0 20px}
.wk-hero h1{font-family:"Urbanist",sans-serif;font-weight:800;font-size:44px;line-height:1.02;letter-spacing:-.045em;margin:0 0 20px;text-wrap:balance}.wk-hero h1 .hl{color:var(--lime)}
.wk-lead{font-size:18px;line-height:1.55;color:#D8D8D2;max-width:48ch;margin:0 0 36px}
.wk-bar{display:flex;flex-wrap:wrap;gap:16px 24px;align-items:center;justify-content:space-between;padding-top:24px;border-top:1px solid rgba(255,255,255,.1)}
.wk-chips{display:none;gap:8px;flex-wrap:wrap}.js .wk-chips{display:flex}
.wk-chip{font:500 13px "Urbanist",sans-serif;color:#D8D8D2;background:transparent;border:1px solid rgba(255,255,255,.2);border-radius:999px;padding:8px 16px;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.wk-chip:hover{border-color:var(--lime);color:#fff}.wk-chip:focus-visible{outline:2px solid var(--lime);outline-offset:2px}
.wk-chip.is-on{background:var(--lime);border-color:var(--lime);color:var(--ink)}
.wk-sample{font:500 12px "JetBrains Mono",ui-monospace,monospace;color:#9A9A94}
.wk-list{background:var(--ink);padding:24px 0 24px}
.wk-row{display:grid;grid-template-columns:minmax(0,1fr);gap:28px;padding:40px 0;border-top:1px solid rgba(255,255,255,.1)}.wk-row[hidden]{display:none}
.wk-img{position:relative;border-radius:1rem;overflow:hidden;border:1px solid rgba(255,255,255,.1)}
.wk-no{position:absolute;left:16px;top:14px;font:500 12px "JetBrains Mono",ui-monospace,monospace;letter-spacing:.1em;color:var(--ink);background:var(--lime);border-radius:999px;padding:4px 10px}
.wk-meta{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}
.wk-sec{font:500 11px "JetBrains Mono",ui-monospace,monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--lime);border:1px solid rgba(198,255,61,.4);border-radius:999px;padding:4px 10px}
.wk-tag{font:500 11px "JetBrains Mono",ui-monospace,monospace;letter-spacing:.06em;color:#D8D8D2;background:rgba(61,90,254,.2);border:1px solid rgba(61,90,254,.5);border-radius:999px;padding:4px 10px}
.wk-body h2{font:800 32px/1.05 "Urbanist",sans-serif;letter-spacing:-.04em;margin:0 0 24px}
.wk-cols{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;margin-bottom:24px}
.wk-body h3{font:500 11px "JetBrains Mono",ui-monospace,monospace;letter-spacing:.1em;text-transform:uppercase;color:#9A9A94;margin:0 0 8px}
.wk-cols p{margin:0;font-size:16px;line-height:1.6;color:#E2E2DC}
.wk-res{display:flex;flex-direction:column;gap:6px;padding:20px 22px;border-radius:.875rem;background:linear-gradient(180deg,rgba(61,90,254,.18),rgba(61,90,254,.04)),var(--inkalt);border:1px solid rgba(61,90,254,.45)}
.wk-res h3{margin:0}.wk-res p{margin:0;font:800 26px/1.15 "Urbanist",sans-serif;letter-spacing:-.03em;color:var(--lime)}
.wk-cta{background:var(--ink);padding:24px 0 88px}
.wk-cta-card{display:grid;gap:28px;align-items:center;padding:36px 28px;border-radius:1.25rem;background:linear-gradient(180deg,rgba(10,10,10,0),rgba(10,10,10,.38)),var(--blue)}
.wk-cta-card h2{font:800 30px/1.05 "Urbanist",sans-serif;letter-spacing:-.04em;margin:0 0 12px;color:#fff}.wk-cta-card p{margin:0;font-size:17px;line-height:1.5;color:rgba(255,255,255,.88);max-width:50ch}
.wk-cta-card .hero-cta{justify-content:space-between;width:100%}
@media (min-width:1024px){.wk-hero{padding:96px 0 40px}.wk-hero h1{font-size:76px}.wk-lead{font-size:20px}.wk-row{grid-template-columns:repeat(12,minmax(0,1fr));gap:48px;padding:56px 0;align-items:center}.wk-img{grid-column:1/6}.wk-body{grid-column:6/13}.wk-row:nth-child(even) .wk-img{grid-column:8/13;grid-row:1}.wk-row:nth-child(even) .wk-body{grid-column:1/8;grid-row:1}.wk-body h2{font-size:44px}.wk-cols{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}.wk-res p{font-size:32px}.wk-cta{padding:32px 0 120px}.wk-cta-card{grid-template-columns:1fr auto;gap:48px;padding:56px}.wk-cta-card h2{font-size:44px}.wk-cta-card .hero-cta{width:auto}}
@media (prefers-reduced-motion:reduce){.wk-chip{transition:none}}

/* ---- /yaklasim (apx): dark editorial approach page ---- */
.apx{background:var(--ink);color:#fff;padding:56px 0}.apx-alt{background:#121212}
.apx-wrap{max-width:1440px;margin:0 auto;padding:0 24px}
.apx h1,.apx h2,.apx h3{font-family:"Urbanist",sans-serif;margin:0}
.apx-eyebrow{font-family:"JetBrains Mono",ui-monospace,monospace;font-weight:500;font-size:12px;letter-spacing:.1em;color:var(--lime);margin:0 0 20px}
.apx-hero{padding:104px 0 56px}
.apx-hgrid{display:grid;grid-template-columns:1fr;gap:40px;align-items:center}
.apx .apx-h1{font-weight:700;font-size:38px;line-height:1.03;letter-spacing:-.045em;text-wrap:balance;margin-bottom:24px}
.apx-lead{font-size:17px;line-height:1.6;color:#D8D8D2;max-width:54ch;margin:0 0 32px}
.apx-f{margin:0}.apx-ph{position:relative;overflow:hidden;border-radius:1rem;border:1px solid rgba(255,255,255,.1);background:#121212}
.apx-ph .ed-frame{border:0;border-radius:0;height:100%;width:100%}.apx-ph img{display:block;width:100%;height:100%;object-fit:cover;filter:saturate(.8) contrast(1.04)}
.apx-ph::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 60%,rgba(10,10,10,.5));pointer-events:none}
.apx-f figcaption{margin-top:12px;font-family:"JetBrains Mono",ui-monospace,monospace;font-size:12px;letter-spacing:.08em;color:#9A9A94}
.apx-hf .apx-ph{aspect-ratio:4/5;max-height:600px}.apx-hf .apx-ph img{object-position:50% 40%}
.apx-cards{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;gap:20px}
.apx-card{background:var(--ink);border:1px solid rgba(255,255,255,.1);border-radius:1rem;padding:28px;transition:border-color .2s,transform .2s}
.apx-card:hover,.apx-card:focus-within{border-color:rgba(198,255,61,.4);transform:translateY(-2px)}
.apx-tag{font-family:"JetBrains Mono",ui-monospace,monospace;font-size:12px;letter-spacing:.1em;color:var(--lime);margin:0 0 18px}
.apx-card h3{font-weight:700;font-size:24px;line-height:1.15;letter-spacing:-.02em;margin-bottom:12px}
.apx-sum{font-size:16px;line-height:1.6;color:#D8D8D2;margin:0 0 20px}
.apx-card ul{list-style:none;margin:0;padding:18px 0 0;border-top:1px solid rgba(255,255,255,.1);display:grid;gap:10px}
.apx-card li{position:relative;padding-left:24px;font-size:15px;line-height:1.5;color:#D8D8D2}
.apx-card li::before{content:"";position:absolute;left:0;top:.75em;width:10px;height:1px;background:var(--lime)}
.apx-jhead{display:grid;gap:12px;margin-bottom:40px;max-width:60ch}
.apx-jhead h2{font-weight:700;font-size:30px;line-height:1.08;letter-spacing:-.04em}.apx-jhead p{font-size:17px;line-height:1.55;color:#D8D8D2;margin:0}
.apx-steps{list-style:none;margin:0 0 56px;padding:0;display:grid;grid-template-columns:1fr;gap:0;border-top:1px solid rgba(255,255,255,.1)}
.apx-step{padding:26px 0;border-bottom:1px solid rgba(255,255,255,.1)}
.apx-when{font-family:"JetBrains Mono",ui-monospace,monospace;font-size:12px;letter-spacing:.1em;color:var(--lime);margin:0 0 12px}
.apx-step h3{font-weight:600;font-size:22px;margin-bottom:10px}.apx-step p:not(.apx-when){font-size:16px;line-height:1.6;color:#D8D8D2;margin:0;max-width:44ch}
.apx-gal{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.apx-g1{grid-column:1/-1}.apx-g1 .apx-ph{aspect-ratio:16/10}.apx-g2 .apx-ph,.apx-g3 .apx-ph{aspect-ratio:1/1}
.apx-end{padding-top:0}
.apx-close{background:#121212;border:1px solid rgba(255,255,255,.12);border-radius:20px;padding:32px 24px;display:grid;gap:24px;justify-items:start}
.apx-close h2{font-weight:700;font-size:28px;line-height:1.1;letter-spacing:-.04em}
.apx-close .hero-cta{width:100%;justify-content:space-between}
.apx .hero-cta:focus-visible{outline:2px solid var(--lime);outline-offset:2px}
@media (min-width:1024px){.apx{padding:120px 0}.apx-wrap{padding:0 48px}.apx-hero{padding:152px 0 96px}.apx-hgrid{grid-template-columns:7fr 5fr;gap:72px}.apx-h1{font-size:68px}.apx-lead{font-size:19px}.apx-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.apx-card{padding:40px}.apx-card h3{font-size:28px}.apx-sum{font-size:17px}.apx-jhead h2{font-size:48px}.apx-steps{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:32px;margin-bottom:96px}.apx-step{padding:36px 0}.apx-step h3{font-size:26px}.apx-gal{grid-template-columns:repeat(12,minmax(0,1fr));gap:24px}.apx-g1{grid-column:1/8}.apx-g1 .apx-ph{aspect-ratio:auto;height:420px}.apx-g2{grid-column:8/13;grid-row:1}.apx-g2 .apx-ph{aspect-ratio:auto;height:196px}.apx-g3{grid-column:8/13;grid-row:2}.apx-g3 .apx-ph{aspect-ratio:auto;height:196px}.apx-g1{grid-row:1/3}.apx-end{padding-bottom:128px}.apx-close{grid-template-columns:1fr auto;align-items:center;padding:64px;gap:48px}.apx-close h2{font-size:44px}.apx-close .hero-cta{width:auto}}
.js .apx-r{opacity:0;transform:translateY(16px);transition:opacity .45s ease-out var(--d,0ms),transform .45s ease-out var(--d,0ms),border-color .2s}
.js .apx-r.is-in{opacity:1;transform:none}.js .apx-card.is-in:hover,.js .apx-card.is-in:focus-within{transform:translateY(-2px);transition:opacity .45s,transform .2s,border-color .2s}
@media (prefers-reduced-motion:reduce){.js .apx-r{transform:none;transition:opacity .45s ease-out var(--d,0ms)}.apx-card:hover,.apx-card:focus-within{transform:none}}

/* ---- One background for the whole site: the hero's ink + lime/cobalt glow, repeated down every page ---- */
main.site-main{background-color:var(--ink);background-image:radial-gradient(60% 24% at 14% 25%,rgba(198,255,61,.10),transparent 100%),radial-gradient(60% 24% at 86% 75%,rgba(61,90,254,.15),transparent 100%);background-size:100% 1600px;background-repeat:repeat-y}
/* flat ink bands on inner pages let that glow through (paper bands and cards keep their own fills) */
body:not(.pg-home) main .wk-hero,body:not(.pg-home) main .wk-list,body:not(.pg-home) main .wk-cta,
body:not(.pg-home) main .in-hero,body:not(.pg-home) main .in-list,body:not(.pg-home) main .in-nl,
body:not(.pg-home) main .apx,body:not(.pg-home) main .ab2-ink,
body:not(.pg-home) main .an-hero,body:not(.pg-home) main .an-dark,
body:not(.pg-home) main .jr,body:not(.pg-home) main .ph,body:not(.pg-home) main>.bg-ink,body:not(.pg-home) main .svc-hero{background:transparent;background-image:none}
/* alternating bands: same ink, a touch of glass so the rhythm stays but the colour carries through */
body:not(.pg-home) main .ab2-alt,body:not(.pg-home) main .apx-alt,body:not(.pg-home) main>.bg-inkalt:not(.pg-home){background:rgba(18,18,18,.62)}

/* ---- One continuous canvas: no per-section fills, no hairlines between bands ---- */
body main .ab2-alt,body main .apx-alt,body main>.bg-inkalt:not(.text-center){background:transparent}
body.pg-home main>section:not(.text-center),
body.pg-home main .hero-poster-bg,body.pg-home main .tb,body.pg-home main .cap,body.pg-home main .sp,body.pg-home main #ap3,
body.pg-home main .dev,body.pg-home main .rc,body.pg-home main .ct,body.pg-home main .tm{background:transparent;background-image:none;border-top-color:transparent;border-bottom-color:transparent}
body main .sp,body main .cap,body main .dev,body main .rc,body main .ct,body main .tm{border-top-color:transparent}
body.pg-home main .tb{border-color:rgba(255,255,255,.06)}

/* ---- Hero figure: the isometric devices scene (replaces the old wireframe canvas) ---- */
.hero-grid2>.hs.hs-dev{max-width:none;width:100%;margin:0;transform:none}
.hs-dev .dev-stage{max-width:640px;margin:0 auto}
@media (min-width:1024px){.hero-grid2>.hs.hs-dev{margin-left:auto}.hs-dev .dev-stage{margin-right:0}}
@media (max-width:1023px){.hero-grid2>.hs.hs-dev{order:-1;max-width:340px;margin:0 auto}}

/* ---- Hero: no figure, one centred column, headline on a single line ---- */
.hero-poster-bg .hero-grid2{grid-template-columns:1fr;gap:0;text-align:center}
.hero-poster-bg .hero-copy{display:flex;flex-direction:column;align-items:center;max-width:none}
.hero-poster-bg h1{max-width:none;margin-left:auto;margin-right:auto;font-size:clamp(30px,8.4vw,44px);line-height:1.12}
.hero-poster-bg h1 br{display:none}
.hero-poster-bg .hero-sub{max-width:56ch;margin-left:auto;margin-right:auto;text-align:center}
.hero-poster-bg .hero-copy>div{justify-content:center}
@media (min-width:1100px){.hero-poster-bg h1{font-size:clamp(44px,4.5vw,76px);white-space:nowrap}.hero-poster-bg .hero-sub{font-size:1.25rem;max-width:62ch}}

/* ---- Capability cards: the icon plays a small animation on hover / focus ---- */
.cap-icon{overflow:hidden}.cap-icon svg{display:block}
@keyframes ci-draw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes ci-beat{0%,100%{transform:scale(1)}28%{transform:scale(1.16)}56%{transform:scale(1.05)}}
@keyframes ci-launch{0%{transform:translate(0,0);opacity:1}48%{transform:translate(11px,-11px);opacity:0}49%{transform:translate(-11px,11px);opacity:0}100%{transform:translate(0,0);opacity:1}}
@keyframes ci-sweep{0%,100%{transform:translate(0,0)}30%{transform:translate(2.5px,-2px)}65%{transform:translate(-2px,1.5px)}}
@keyframes ci-pop{0%,100%{transform:translateY(0) scale(1)}35%{transform:translateY(-2px) scale(1.1)}}
@keyframes ci-l{50%{transform:translateX(-2.5px)}}@keyframes ci-r{50%{transform:translateX(2.5px)}}
.ci{transform-box:fill-box;transform-origin:center}
.cap-card:hover .ci-web>*,.cap-card:focus-within .ci-web>*{stroke-dasharray:1;animation:ci-draw .8s ease both}
.cap-card:hover .ci-web>:nth-child(2),.cap-card:focus-within .ci-web>:nth-child(2){animation-delay:.12s}
.cap-card:hover .ci-web>:nth-child(3),.cap-card:focus-within .ci-web>:nth-child(3){animation-delay:.26s}
.cap-card:hover .ci-web>:nth-child(4),.cap-card:focus-within .ci-web>:nth-child(4){animation-delay:.38s}
.cap-card:hover .ci-web>:nth-child(5),.cap-card:focus-within .ci-web>:nth-child(5){animation-delay:.5s}
.cap-card:hover .ci-brain,.cap-card:focus-within .ci-brain{animation:ci-beat 1.1s ease-in-out infinite}
.cap-card:hover .ci-brain .ci-fold,.cap-card:focus-within .ci-brain .ci-fold{stroke-dasharray:1;animation:ci-draw .9s ease both}
.cap-card:hover .ci-ship,.cap-card:focus-within .ci-ship{animation:ci-launch 1.25s ease-in-out infinite}
.cap-card:hover .ci-seo,.cap-card:focus-within .ci-seo{animation:ci-sweep 1.3s ease-in-out infinite}
.cap-card:hover .ci-chat,.cap-card:focus-within .ci-chat{animation:ci-pop .9s ease-in-out infinite}
.cap-card:hover .ci-dev .ci-l,.cap-card:focus-within .ci-dev .ci-l{animation:ci-l .9s ease-in-out infinite}
.cap-card:hover .ci-dev .ci-r,.cap-card:focus-within .ci-dev .ci-r{animation:ci-r .9s ease-in-out infinite}
.ci-ship{transform-box:fill-box;transform-origin:center}.ci-l,.ci-r{transform-box:fill-box}
@media (prefers-reduced-motion:reduce){.cap-card .ci,.cap-card .ci *{animation:none!important}}

/* ---- Capability cards: on hover the icon opens into a photograph that fills the card ---- */
.cap-card{position:relative;overflow:hidden;isolation:isolate}
.cap-card>*:not(.cap-ph){position:relative;z-index:1}
.cap-ph{position:absolute!important;inset:0;z-index:0!important;clip-path:circle(0 at 46px 46px);transition:clip-path .75s cubic-bezier(.2,.8,.2,1);pointer-events:none}
.cap-ph::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,10,10,.10),rgba(10,10,10,.18))}
.cap-ph img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.12);transition:transform 1.1s cubic-bezier(.2,.8,.2,1)}
.cap-card:hover .cap-ph,.cap-card:focus-within .cap-ph,.cap-card.is-on .cap-ph{clip-path:circle(160% at 46px 46px)}
.cap-card:hover .cap-ph img,.cap-card:focus-within .cap-ph img,.cap-card.is-on .cap-ph img{transform:scale(1)}
.cap-card:hover .cap-icon,.cap-card:focus-within .cap-icon,.cap-card.is-on .cap-icon{background:var(--lime);color:var(--ink)}
.cap-card.is-on .ci-web>*{stroke-dasharray:1;animation:ci-draw .8s ease both}
.cap-card.is-on .ci-brain{animation:ci-beat 1.1s ease-in-out infinite}.cap-card.is-on .ci-ship{animation:ci-launch 1.25s ease-in-out infinite}
.cap-card{cursor:default;transition:border-color .25s ease,box-shadow .25s ease}
@media (prefers-reduced-motion:reduce){.cap-ph,.cap-ph img{transition:none}}
.cap-card:hover h3,.cap-card:hover .cap-list li,.cap-card:focus-within h3,.cap-card.is-on h3,.cap-card.is-on .cap-list li{text-shadow:0 1px 14px rgba(0,0,0,.7)}
.cap-card:hover .cap-list li b,.cap-card.is-on .cap-list li b{color:#fff}
/* bright photos: the text sits on a frosted dark panel instead of a heavy scrim */
.cap-card::after{content:"";position:absolute;left:10px;right:10px;bottom:10px;top:88px;border-radius:12px;background:rgba(10,10,10,.58);-webkit-backdrop-filter:blur(10px) saturate(1.1);backdrop-filter:blur(10px) saturate(1.1);border:1px solid rgba(255,255,255,.14);opacity:0;transform:translateY(8px);transition:opacity .45s ease .2s,transform .45s ease .2s;pointer-events:none;z-index:0}
.cap-card:hover::after,.cap-card:focus-within::after,.cap-card.is-on::after{opacity:1;transform:none}
.cap-card h3{padding-left:6px}.cap-list{padding:0 6px 4px}
@media (prefers-reduced-motion:reduce){.cap-card::after{transition:none}}

.cap-iso{width:100%;height:100%;display:block;transform:scale(1.12);transition:transform 1.1s cubic-bezier(.2,.8,.2,1)}
.cap-card:hover .cap-iso,.cap-card:focus-within .cap-iso,.cap-card.is-on .cap-iso{transform:scale(1)}
.cap-ph::after{background:none}

/* light isometric picture: it slides to the right, the text moves onto the light ground in ink */
.cap-card::after{display:none}
.cap-iso{transform:translateX(30%) scale(1.05)}
.cap-card:hover .cap-iso,.cap-card:focus-within .cap-iso,.cap-card.is-on .cap-iso{transform:translateX(25%) scale(.98)}
.cap-card h3,.cap-card .cap-list li,.cap-card .cap-list li b{transition:color .35s ease .15s,text-shadow .35s ease}
.cap-card:hover h3,.cap-card:focus-within h3,.cap-card.is-on h3,
.cap-card:hover .cap-list li,.cap-card:focus-within .cap-list li,.cap-card.is-on .cap-list li,
.cap-card:hover .cap-list li b,.cap-card:focus-within .cap-list li b,.cap-card.is-on .cap-list li b{color:#0A0A0A;text-shadow:none}
.cap-card:hover .cap-list li::before,.cap-card.is-on .cap-list li::before{filter:none}
.cap-card h3,.cap-list{max-width:58%}
@media (max-width:640px){.cap-card h3,.cap-list{max-width:60%}}
@media (prefers-reduced-motion:reduce){.cap-card h3,.cap-card .cap-list li,.cap-card .cap-list li b{transition:none}}
.cap-iso{transform-origin:50% 55%;transform:translateX(34%) scale(.86)}
.cap-card:hover .cap-iso,.cap-card:focus-within .cap-iso,.cap-card.is-on .cap-iso{transform:translateX(28%) scale(.8)}
.cap-card h3,.cap-list{max-width:54%}
/* the backdrop stays put, only the building slides right so the text keeps a light ground */
.cap-iso,.cap-card:hover .cap-iso,.cap-card:focus-within .cap-iso,.cap-card.is-on .cap-iso{transform:none}
.cap-bld{transform-box:view-box;transform-origin:240px 175px;transform:translate(118px,6px) scale(.84);transition:transform 1s cubic-bezier(.2,.8,.2,1)}
.cap-card:hover .cap-bld,.cap-card:focus-within .cap-bld,.cap-card.is-on .cap-bld{transform:translate(104px,4px) scale(.78)}
@media (prefers-reduced-motion:reduce){.cap-bld{transition:none}}
.cap-card:hover .cap-bld,.cap-card:focus-within .cap-bld,.cap-card.is-on .cap-bld{transform:translate(96px,2px) scale(.74)}

/* Capability cards: real Renaissance architecture photos on the right, light paper on the left for the text */
.cap-ph{background:#F5F5F2}
.cap-ph img{position:absolute;top:0;right:0;left:auto;width:62%;height:100%;object-fit:cover;transform:scale(1.08);
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 38%);mask-image:linear-gradient(90deg,transparent 0,#000 38%);
  filter:saturate(.55) brightness(.94) contrast(.96)}
.cap-card:hover .cap-ph img,.cap-card:focus-within .cap-ph img,.cap-card.is-on .cap-ph img{transform:scale(1)}
.cap-ph-seo img{object-position:50% 50%}
.cap-ph-web img{object-position:62% 50%}
.cap-ph-brand img{object-position:50% 50%}
.cap-ph-dev img{object-position:50% 50%}
.cap-ph-ads img{object-position:50% 35%}
.cap-ph-social img{object-position:50% 50%}

/* No sideways drift: the page never scrolls horizontally, inner strips don't chain scroll to it */
.tm-row{overscroll-behavior-x:contain}
.cap-grid,.cap-card{max-width:100%}

/* Fixed header: own compositing layer so it stays pinned to the top while scrolling.
   The blur behind it is dropped on small screens (it made the bar lag behind the page). */
@media (max-width:900px){
  .site-header{-webkit-backdrop-filter:none;backdrop-filter:none;background:rgba(10,10,10,.96)}
  .site-header[data-theme="light"]{background:rgba(245,245,242,.97)}
  .hd-menu{-webkit-backdrop-filter:none;backdrop-filter:none}
  html{scroll-behavior:auto}
}

/* Small screens: no blur layers anywhere (they made the fixed header and sections repaint/lag while scrolling) */
@media (max-width:900px){
  *,*::before,*::after{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
}

/* Pictures fade to black towards the text (left); text stays white */
.cap-ph{background:#141414}
.cap-ph img{-webkit-mask-image:linear-gradient(90deg,transparent 0,transparent 22%,#000 70%);mask-image:linear-gradient(90deg,transparent 0,transparent 22%,#000 70%)}
.cap-ph::after{background:linear-gradient(90deg,#141414 0,rgba(20,20,20,.92) 34%,rgba(20,20,20,0) 72%)!important}
.cap-card:hover h3,.cap-card:focus-within h3,.cap-card.is-on h3,
.cap-card:hover .cap-list li,.cap-card:focus-within .cap-list li,.cap-card.is-on .cap-list li,
.cap-card:hover .cap-list li b,.cap-card:focus-within .cap-list li b,.cap-card.is-on .cap-list li b{color:#fff;text-shadow:none}
.cap-ph-web img{object-position:62% 50%}
.cap-ph-seo img{object-position:60% 40%}

/* ===== About page: colour + working photos ===== */
.abp{padding:24px 0 72px}
.abp-h{margin:0 0 32px;max-width:18ch}
.abp-grid{display:grid;gap:16px;grid-template-columns:1fr}
.abp-f{position:relative;margin:0;border-radius:20px;overflow:hidden;background:#141414;border:1px solid rgba(61,90,254,.35);box-shadow:0 24px 60px -28px rgba(61,90,254,.55)}
.abp-f img{width:100%;height:100%;display:block;object-fit:cover;aspect-ratio:16/11;transition:transform .9s cubic-bezier(.2,.8,.2,1)}
.abp-f::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(61,90,254,.12) 0,rgba(10,10,10,0) 40%,rgba(10,10,10,.65) 100%);pointer-events:none}
.abp-f:hover img{transform:scale(1.04)}
.abp-f figcaption{position:absolute;left:14px;bottom:14px;z-index:1;font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.08em;text-transform:uppercase;background:#C6FF3D;color:#0A0A0A;padding:6px 12px;border-radius:999px;font-weight:500}
@media (min-width:900px){
  .abp-grid{grid-template-columns:1.5fr 1fr;grid-template-rows:1fr 1fr}
  .abp-1{grid-row:1/3}.abp-1 img{aspect-ratio:auto}
  .abp-2 img,.abp-3 img{aspect-ratio:16/9}
}
body.pg-about .ab2-eyebrow{display:inline-flex;align-items:center;gap:10px}
body.pg-about .ab2-eyebrow::before{content:"";width:22px;height:2px;background:#C6FF3D;border-radius:2px}
body.pg-about .ab2-card{background:linear-gradient(160deg,rgba(61,90,254,.2),rgba(20,20,20,.78) 62%);border-color:rgba(61,90,254,.4)}
body.pg-about .ab2-card:hover{border-color:#C6FF3D}
body.pg-about .ab2-num{color:#C6FF3D}
body.pg-about .ab2-step{border-top-color:rgba(198,255,61,.3)}
body.pg-about .ab2-stag{color:#C6FF3D}
body.pg-about .ab2-yr{color:#C6FF3D}
body.pg-about .ab2-row{transition:background-color .25s ease}
body.pg-about .ab2-row:hover{background:rgba(61,90,254,.14)}
body.pg-about .ab2-qa{border-left:2px solid rgba(61,90,254,.55);padding-left:18px}
body.pg-about .ab2-paper{background:linear-gradient(135deg,#3D5AFE,#2f45c9);color:#F5F5F2}
body.pg-about .ab2-paper .ab2-eyebrow-blue{color:#C6FF3D}
body.pg-about .ab2-paper .ab2-line{border-bottom-color:rgba(245,245,242,.28)}
body.pg-about .ab2-paper .ab2-side,body.pg-about .ab2-paper .ab2-line p{color:rgba(245,245,242,.92)}
body.pg-about .ab2-paper .ab2-x{stroke:#C6FF3D}
body.pg-about .ab2-paper .ab2-line b,body.pg-about .ab2-paper h2,body.pg-about .ab2-paper .ab2-h2{color:#fff}

/* Testimonials: no avatar circles, names only */
.tm-av{display:none!important}

/* ===== Mobile menu: theme colours ===== */
#menu-toggle{width:44px;height:44px;gap:0;border-radius:14px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.05);position:relative;transition:border-color .25s ease,background-color .25s ease,color .25s ease}
#menu-toggle .menu-bar{position:absolute;left:13px;width:18px;height:2px;border-radius:2px;transition:transform .28s cubic-bezier(.2,.8,.2,1),opacity .2s ease,background-color .25s ease}
#menu-toggle .menu-bar:nth-child(1){top:15px}
#menu-toggle .menu-bar:nth-child(2){top:21px;width:12px;left:19px}
#menu-toggle .menu-bar:nth-child(3){top:27px}
#menu-toggle[aria-expanded="true"]{border-color:#C6FF3D;background:rgba(198,255,61,.12)}
#menu-toggle[aria-expanded="true"] .menu-bar{background:#C6FF3D}
#menu-toggle[aria-expanded="true"] .menu-bar:nth-child(1){transform:translateY(6px) rotate(45deg)}
#menu-toggle[aria-expanded="true"] .menu-bar:nth-child(2){opacity:0}
#menu-toggle[aria-expanded="true"] .menu-bar:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
.site-header .hd-menu{background:radial-gradient(70% 38% at 0% 0%,rgba(198,255,61,.14),transparent 70%),radial-gradient(80% 45% at 100% 100%,rgba(61,90,254,.34),transparent 70%),rgba(10,10,10,.985);border-top:1px solid rgba(198,255,61,.25);box-shadow:0 30px 60px -20px rgba(0,0,0,.7);border-radius:0 0 24px 24px;counter-reset:ml}
#mobile-menu nav{gap:0;padding:8px 24px 24px;font-size:inherit}
#mobile-menu .mobile-link{counter-increment:ml;position:relative;display:flex;align-items:center;gap:16px;padding:16px 0;border-bottom:1px solid rgba(255,255,255,.1);font-family:'Urbanist',sans-serif;font-weight:700;font-size:26px;letter-spacing:-.02em;color:#fff;transition:color .2s ease,padding-left .25s ease}
#mobile-menu .mobile-link::before{content:counter(ml,decimal-leading-zero);font:500 12px/1 'JetBrains Mono',ui-monospace,monospace;letter-spacing:.08em;color:#C6FF3D;min-width:22px}
#mobile-menu .mobile-link::after{content:"→";margin-left:auto;font-size:20px;color:#C6FF3D;opacity:0;transform:translateX(-8px);transition:opacity .2s ease,transform .25s ease}
#mobile-menu .mobile-link:hover,#mobile-menu .mobile-link:focus-visible,#mobile-menu .mobile-link[aria-current="page"]{color:#C6FF3D}
#mobile-menu .mobile-link:hover::after,#mobile-menu .mobile-link:focus-visible::after,#mobile-menu .mobile-link[aria-current="page"]::after{opacity:1;transform:none}
#mobile-menu .hd-lang{gap:8px;padding:20px 0 4px;font-family:'JetBrains Mono',ui-monospace,monospace;font-size:12px;letter-spacing:.1em}
#mobile-menu .hd-lang a{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:34px;padding:0 14px;border-radius:999px;border:1px solid rgba(255,255,255,.2);color:rgba(255,255,255,.75);transition:background-color .2s ease,color .2s ease,border-color .2s ease}
#mobile-menu .hd-lang a.is-active{background:#C6FF3D;border-color:#C6FF3D;color:#0A0A0A;font-weight:700}
#mobile-menu .hd-lang a:not(.is-active):hover{border-color:#C6FF3D;color:#C6FF3D}
#mobile-menu nav>a.bg-lime{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:20px;padding:16px 20px;font-size:17px;box-shadow:0 12px 30px -10px rgba(198,255,61,.5)}
#mobile-menu nav>a.bg-lime::after{content:"→";display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#0A0A0A;color:#C6FF3D;font-size:15px}
@keyframes mm-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
#mobile-menu:not(.hidden) nav>*{animation:mm-in .4s cubic-bezier(.2,.8,.2,1) both}
#mobile-menu:not(.hidden) nav>*:nth-child(2){animation-delay:.04s}#mobile-menu:not(.hidden) nav>*:nth-child(3){animation-delay:.08s}#mobile-menu:not(.hidden) nav>*:nth-child(4){animation-delay:.12s}#mobile-menu:not(.hidden) nav>*:nth-child(5){animation-delay:.16s}#mobile-menu:not(.hidden) nav>*:nth-child(6){animation-delay:.2s}#mobile-menu:not(.hidden) nav>*:nth-child(7){animation-delay:.24s}
@media (prefers-reduced-motion:reduce){#mobile-menu:not(.hidden) nav>*,#menu-toggle .menu-bar{animation:none;transition:none}}

/* ===== Desktop header: theme colours ===== */
@media (min-width:1024px){
  .site-header:not([data-theme="light"]){background:linear-gradient(90deg,rgba(198,255,61,.07),rgba(10,10,10,0) 28%,rgba(10,10,10,0) 70%,rgba(61,90,254,.16)),rgba(10,10,10,.92);border-bottom:1px solid transparent;border-image:linear-gradient(90deg,rgba(198,255,61,.0),rgba(198,255,61,.45) 22%,rgba(61,90,254,.6) 78%,rgba(61,90,254,0)) 1}
  .site-header .hd-nav{gap:2px;padding:5px;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:rgba(255,255,255,.045)}
  .site-header:not([data-theme="light"]) .hd-nav .hd-link{display:inline-flex;align-items:center;padding:8px 18px;border-radius:999px;color:rgba(255,255,255,.82);transition:background-color .2s ease,color .2s ease}
  .site-header:not([data-theme="light"]) .hd-nav .hd-link:hover{background:rgba(198,255,61,.14);color:#C6FF3D}
  .site-header:not([data-theme="light"]) .hd-nav .hd-link[aria-current="page"]{background:#C6FF3D;color:#0A0A0A;font-weight:700}
  .site-header .hd-lang{gap:6px}
  .site-header .hd-lang>span{display:none}
  .site-header:not([data-theme="light"]) .hd-lang a{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:30px;padding:0 10px;border-radius:999px;border:1px solid rgba(255,255,255,.16);font-family:'JetBrains Mono',ui-monospace,monospace;letter-spacing:.08em;color:rgba(255,255,255,.7);transition:border-color .2s ease,color .2s ease,background-color .2s ease}
  .site-header:not([data-theme="light"]) .hd-lang a:hover{border-color:#C6FF3D;color:#C6FF3D}
  .site-header:not([data-theme="light"]) .hd-lang a.is-active{border-color:#C6FF3D;background:rgba(198,255,61,.14);color:#C6FF3D}
  .site-header a[data-event="cta_header"]{display:inline-flex;align-items:center;gap:10px;padding:6px 6px 6px 20px;box-shadow:0 10px 26px -10px rgba(198,255,61,.55)}
  .site-header a[data-event="cta_header"]::after{content:"→";display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#0A0A0A;color:#C6FF3D;font-size:15px;transition:transform .25s ease}
  .site-header a[data-event="cta_header"]:hover::after{transform:translateX(3px)}
}

/* ===== Desktop header v2: floating island ===== */
@media (min-width:1024px){
  .site-header:not([data-theme="light"]){background:transparent;border-bottom:0;border-image:none;-webkit-backdrop-filter:none;backdrop-filter:none;pointer-events:none}
  .site-header:not([data-theme="light"])>div:first-child{pointer-events:auto;height:64px;max-width:min(1180px,calc(100% - 48px));margin:12px auto 0;padding:0 10px 0 26px;border:1px solid transparent;border-radius:999px;background:linear-gradient(rgba(12,12,12,.82),rgba(12,12,12,.82)) padding-box,linear-gradient(100deg,rgba(198,255,61,.9),rgba(61,90,254,.9) 55%,rgba(61,90,254,.25)) border-box;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 18px 40px -18px rgba(0,0,0,.8),0 0 0 6px rgba(10,10,10,.0)}
  .site-header .hd-nav{gap:6px;padding:0;border:0;background:none;border-radius:0}
  .site-header:not([data-theme="light"]) .hd-nav .hd-link{position:relative;display:inline-flex;padding:10px 16px;border-radius:0;background:none;color:rgba(255,255,255,.78);font-weight:500;transition:color .2s ease}
  .site-header:not([data-theme="light"]) .hd-nav .hd-link::after{content:"";position:absolute;left:16px;right:16px;bottom:3px;height:2px;border-radius:2px;background:#C6FF3D;transform:scaleX(0);transform-origin:left;transition:transform .3s cubic-bezier(.2,.8,.2,1)}
  .site-header:not([data-theme="light"]) .hd-nav .hd-link:hover{background:none;color:#fff}
  .site-header:not([data-theme="light"]) .hd-nav .hd-link:hover::after{transform:scaleX(1)}
  .site-header:not([data-theme="light"]) .hd-nav .hd-link[aria-current="page"]{background:none;color:#fff;font-weight:600}
  .site-header:not([data-theme="light"]) .hd-nav .hd-link[aria-current="page"]::after{left:50%;right:auto;width:6px;height:6px;bottom:0;border-radius:50%;transform:translateX(-50%) scale(1)}
  .site-header .hd-lang{gap:2px}
  .site-header .hd-lang>span{display:none}
  .site-header:not([data-theme="light"]) .hd-lang a{min-width:0;height:auto;padding:6px 8px;border:0;border-radius:6px;background:none;font-size:11px;color:rgba(255,255,255,.5)}
  .site-header:not([data-theme="light"]) .hd-lang a:hover{background:none;color:#fff}
  .site-header:not([data-theme="light"]) .hd-lang a.is-active{background:none;color:#C6FF3D;box-shadow:inset 0 -2px 0 #C6FF3D;border-radius:0}
  .site-header a[data-event="cta_header"]{padding:12px 22px;gap:8px;box-shadow:0 10px 26px -12px rgba(198,255,61,.7)}
  .site-header a[data-event="cta_header"]::after{content:"↗";width:auto;height:auto;border-radius:0;background:none;color:#0A0A0A;font-size:15px}
  .site-header a[data-event="cta_header"]:hover::after{transform:translate(2px,-2px)}
}

/* ===== Desktop header v3: editorial bar with numbered links + scroll progress ===== */
@media (min-width:1024px){
  .site-header:not([data-theme="light"]){pointer-events:auto;background:rgba(10,10,10,.86);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.1);border-image:none}
  .site-header:not([data-theme="light"])>div:first-child{height:76px;max-width:1440px;margin:0 auto;padding:0 48px;border:0;border-radius:0;background:none;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none}
  .site-header .hd-nav{gap:36px;counter-reset:hn}
  .site-header:not([data-theme="light"]) .hd-nav .hd-link{counter-increment:hn;padding:6px 0;font-size:14px;font-weight:600;letter-spacing:-.005em;color:rgba(255,255,255,.88)}
  .site-header:not([data-theme="light"]) .hd-nav .hd-link::before{content:counter(hn,decimal-leading-zero);position:static;margin-right:8px;font:500 10px/1 'JetBrains Mono',ui-monospace,monospace;letter-spacing:.08em;color:#C6FF3D;align-self:flex-start;opacity:.8}
  .site-header:not([data-theme="light"]) .hd-nav .hd-link::after{display:none}
  .site-header:not([data-theme="light"]) .hd-nav .hd-link:hover,.site-header:not([data-theme="light"]) .hd-nav .hd-link[aria-current="page"]{color:#C6FF3D}
  .site-header .hd-lang{gap:6px;font-family:'JetBrains Mono',ui-monospace,monospace}
  .site-header .hd-lang>span{display:inline;color:rgba(255,255,255,.25)}
  .site-header:not([data-theme="light"]) .hd-lang a{padding:4px 2px;font-size:11px;letter-spacing:.08em;color:rgba(255,255,255,.55);box-shadow:none;border-radius:0}
  .site-header:not([data-theme="light"]) .hd-lang a:hover{color:#fff}
  .site-header:not([data-theme="light"]) .hd-lang a.is-active{color:#C6FF3D;box-shadow:none;font-weight:700}
  .site-header a[data-event="cta_header"]{background:transparent;color:#C6FF3D;border:1px solid #C6FF3D;padding:10px 20px;box-shadow:none;transition:background-color .2s ease,color .2s ease}
  .site-header a[data-event="cta_header"]::after{color:currentColor}
  .site-header a[data-event="cta_header"]:hover{background:#C6FF3D;color:#0A0A0A}
  .site-header::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:linear-gradient(90deg,#C6FF3D,#3D5AFE);transform:scaleX(0);transform-origin:left;pointer-events:none}
  @supports (animation-timeline:scroll()){.site-header::after{animation:hd-prog linear both;animation-timeline:scroll(root)}}
  @keyframes hd-prog{to{transform:scaleX(1)}}
}

/* ===== Desktop header v4: centred logo, symmetric split ===== */
@media (min-width:1024px){
  .site-header:not([data-theme="light"]){background:linear-gradient(180deg,rgba(10,10,10,.92),rgba(10,10,10,.78));border-bottom:1px solid transparent;border-image:linear-gradient(90deg,rgba(255,255,255,0),rgba(198,255,61,.55) 50%,rgba(255,255,255,0)) 1}
  .site-header:not([data-theme="light"])>div:first-child{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:84px;max-width:1440px;padding:0 48px}
  .site-header .hd-nav{grid-column:1;grid-row:1;justify-self:start;gap:28px}
  .site-header .hd-logo{grid-column:2;grid-row:1;justify-self:center}
  .site-header>div:first-child>div.lg\:flex{grid-column:3;grid-row:1;justify-self:end}
  .site-header:not([data-theme="light"]) .hd-nav .hd-link{padding:6px 0;font:500 12px/1 'JetBrains Mono',ui-monospace,monospace;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.8)}
  .site-header:not([data-theme="light"]) .hd-nav .hd-link::before{display:none}
  .site-header:not([data-theme="light"]) .hd-nav .hd-link::after{display:block;content:"";position:absolute;left:0;right:0;bottom:-2px;height:1px;background:#C6FF3D;transform:scaleX(0);transform-origin:center;transition:transform .3s cubic-bezier(.2,.8,.2,1)}
  .site-header:not([data-theme="light"]) .hd-nav .hd-link:hover::after,.site-header:not([data-theme="light"]) .hd-nav .hd-link[aria-current="page"]::after{transform:scaleX(1);width:auto;height:1px;border-radius:0;left:0;right:0;bottom:-2px}
  .site-header:not([data-theme="light"]) .hd-nav .hd-link:hover,.site-header:not([data-theme="light"]) .hd-nav .hd-link[aria-current="page"]{color:#fff}
  .site-header .hd-lang>span{display:none}
  .site-header:not([data-theme="light"]) .hd-lang a{padding:5px 8px;border:1px solid transparent;border-radius:999px}
  .site-header:not([data-theme="light"]) .hd-lang a.is-active{border-color:rgba(198,255,61,.6);color:#C6FF3D}
  .site-header a[data-event="cta_header"]{background:#C6FF3D;color:#0A0A0A;border:0;padding:12px 22px;box-shadow:0 12px 30px -12px rgba(198,255,61,.7)}
  .site-header a[data-event="cta_header"]:hover{background:#fff}
  .site-header::after{display:none}
}

/* ===== Desktop header v5: minimal bar + full-screen menu overlay ===== */
@media (min-width:1024px){
  .site-header:not([data-theme="light"]){background:transparent;border-bottom:0;border-image:none;-webkit-backdrop-filter:none;backdrop-filter:none}
  .site-header:not([data-theme="light"])>div:first-child{display:flex;height:84px;max-width:1440px;padding:0 48px;position:relative;z-index:2}
  .site-header .hd-nav{display:none!important}
  .site-header .hd-logo{grid-column:auto}
  .site-header>div:first-child>div.lg\:flex{margin-left:auto;gap:14px}
  .site-header #menu-toggle.lg\:hidden{display:flex!important;flex-direction:row;align-items:center;justify-content:center;gap:10px;width:auto;height:44px;margin-left:14px;padding:0 18px 0 44px;border-radius:999px;font:500 12px/1 'JetBrains Mono',ui-monospace,monospace;letter-spacing:.12em;color:#fff}
  .site-header #menu-toggle .menu-bar{left:18px}
  .site-header #menu-toggle .menu-bar:nth-child(2){left:24px}
  html[lang="tr"] #menu-toggle::before{content:"MENÜ"}
  html:not([lang="tr"]) #menu-toggle::before{content:"MENU"}
  #menu-toggle[aria-expanded="true"]::before{color:#C6FF3D}
  #mobile-menu.lg\:hidden:not(.hidden){display:block!important;position:fixed;left:0;right:0;top:0;height:100vh;overflow-y:auto;border-radius:0;border-top:0;z-index:1;background:radial-gradient(60% 55% at 12% 8%,rgba(198,255,61,.16),transparent 70%),radial-gradient(70% 60% at 92% 96%,rgba(61,90,254,.45),transparent 70%),#0A0A0A}
  #mobile-menu nav{max-width:1180px;margin:0 auto;padding:150px 48px 64px}
  #mobile-menu .mobile-link{font-size:clamp(44px,6.4vw,92px);line-height:1;padding:22px 0;gap:28px;letter-spacing:-.04em;border-bottom-color:rgba(255,255,255,.12)}
  #mobile-menu .mobile-link::before{font-size:14px;min-width:34px;align-self:flex-start;margin-top:12px}
  #mobile-menu .mobile-link::after{font-size:48px}
  #mobile-menu .mobile-link:hover{padding-left:18px}
  #mobile-menu .hd-lang,#mobile-menu nav>a.bg-lime{display:none}
}

/* ===== Desktop header v6: bar with centred links ===== */
@media (min-width:1024px){
  .site-header:not([data-theme="light"]){background:rgba(10,10,10,.9);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.1);border-image:none}
  .site-header:not([data-theme="light"])>div:first-child{display:flex;height:72px;max-width:1440px;margin:0 auto;padding:0 48px}
  .site-header .hd-nav{display:flex!important;grid-column:auto;position:absolute;left:50%;transform:translateX(-50%);gap:34px;padding:0;border:0;background:none}
  .site-header #menu-toggle.lg\:hidden{display:none!important}
  .site-header:not([data-theme="light"]) .hd-nav .hd-link{font:600 15px/1 'Urbanist',sans-serif;letter-spacing:-.01em;text-transform:none;color:rgba(255,255,255,.86);padding:8px 2px}
  .site-header:not([data-theme="light"]) .hd-nav .hd-link::after{left:0;right:0;bottom:-4px;height:2px;background:#C6FF3D}
  .site-header:not([data-theme="light"]) .hd-nav .hd-link[aria-current="page"]{color:#C6FF3D}
  .site-header>div.max-w-\[1440px\]{position:relative}
  .site-header .hd-logo{grid-column:auto}
  #mobile-menu.lg\:hidden{display:none!important}
}

/* ===== Home hero: taller, with a static Istanbul – Milan route visual ===== */
body.pg-home main .hero-poster-bg{display:flex;flex-direction:column;justify-content:center;min-height:clamp(640px,94vh,920px);padding-top:9rem;padding-bottom:4.5rem}
.hero-route{display:grid;grid-template-columns:1fr;gap:0;max-width:1040px;margin:56px auto 0;text-align:left}
.hr-card{position:relative;border:1px solid rgba(255,255,255,.16);border-radius:22px;padding:22px 24px 24px;background:linear-gradient(160deg,rgba(198,255,61,.1),rgba(20,20,20,.55) 62%),rgba(14,14,14,.6)}
.hr-card.hr-b{background:linear-gradient(200deg,rgba(61,90,254,.28),rgba(20,20,20,.55) 62%),rgba(14,14,14,.6);border-color:rgba(61,90,254,.5)}
.hr-coord{margin:0 0 10px;font:500 11px/1 'JetBrains Mono',ui-monospace,monospace;letter-spacing:.1em;color:#C6FF3D}
.hr-city{margin:0 0 16px;font-family:Urbanist,sans-serif;font-weight:800;font-size:clamp(30px,3.4vw,46px);line-height:1;letter-spacing:-.03em;color:#fff}
.hr-tags{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.hr-tags li{padding:7px 14px;border:1px solid rgba(255,255,255,.2);border-radius:999px;font:500 12px/1 'JetBrains Mono',ui-monospace,monospace;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.88)}
.hr-mid{position:relative;display:flex;align-items:center;justify-content:center;height:56px}
.hr-mid svg{display:none}
.hr-mid::before{content:"";position:absolute;left:50%;top:0;bottom:0;border-left:2px dotted rgba(198,255,61,.7)}
.hr-badge{position:relative;padding:8px 14px;border-radius:999px;background:#C6FF3D;color:#0A0A0A;font:700 11px/1 'JetBrains Mono',ui-monospace,monospace;letter-spacing:.12em}
@media (min-width:900px){
  .hero-route{grid-template-columns:1fr 240px 1fr;align-items:center;margin-top:72px}
  .hr-mid{height:auto;flex-direction:column;gap:10px}
  .hr-mid::before{display:none}
  .hr-mid svg{display:block;width:240px;height:auto}
  .hr-badge{margin-top:-8px}
}

/* ===== Home hero v2: global dot-matrix world (replaces the two-city route) ===== */
.hero-route{display:none}
.hero-globe{position:relative;max-width:1120px;margin:40px auto 0}
.gl-svg{display:block;width:100%;height:auto}
.gl-land circle{fill:rgba(245,245,242,.3)}
.gl-arcs path{fill:none;stroke-width:1.6;stroke-linecap:round;stroke-dasharray:1 7}
.gl-a{stroke:#C6FF3D}.gl-b{stroke:#8EA2FF}
.gl-n{fill:#0A0A0A;stroke:#F5F5F2;stroke-width:2}
.gl-h1{fill:#C6FF3D;stroke:#0A0A0A;stroke-width:2.5}
.gl-h2{fill:#3D5AFE;stroke:#F5F5F2;stroke-width:2.5}
.gl-halo{fill:rgba(198,255,61,.18)}.gl-halo-b{fill:rgba(61,90,254,.28)}
.gl-cap{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:18px 0 0;padding:0;list-style:none}
.gl-cap li{padding:8px 14px;border:1px solid rgba(255,255,255,.2);border-radius:999px;font:500 12px/1 'JetBrains Mono',ui-monospace,monospace;letter-spacing:.1em;color:rgba(255,255,255,.88)}
.gl-cap li.gl-cap-hi{background:#C6FF3D;border-color:#C6FF3D;color:#0A0A0A;font-weight:700}
@media (min-width:900px){.gl-cap{position:absolute;left:0;right:0;bottom:-6px;margin:0}}
body.pg-home main .hero-poster-bg{padding-bottom:3.5rem}
.hero-globe{width:100%}.hero-poster-bg .hero-grid2{width:100%}
.gl-arcs path{stroke-width:2.2;stroke-dasharray:2 7}
.gl-n{r:5}
.gl-land circle{fill:rgba(245,245,242,.38)}

/* ===== Home hero v3: map opens, hubs appear, arrows leave the hubs (one-time sequence) ===== */
.gl-band{opacity:0;animation:gl-fade .7s ease both}
.gl-land circle{fill:rgba(245,245,242,.4)}
.gl-hub .gl-region{opacity:0;transform-box:fill-box;transform-origin:center;animation:gl-region 1s cubic-bezier(.2,.8,.2,1) 1.5s both}
.gl-hi .gl-region{fill:rgba(198,255,61,.22)}
.gl-hm .gl-region{fill:rgba(61,90,254,.4)}
.gl-hub .gl-core{opacity:0;transform-box:fill-box;transform-origin:center;animation:gl-pop .5s cubic-bezier(.2,1.4,.4,1) 1.7s both}
.gl-hi .gl-core{fill:#C6FF3D;stroke:#0A0A0A;stroke-width:2.5}
.gl-hm .gl-core{fill:#3D5AFE;stroke:#F5F5F2;stroke-width:2.5}
.gl-ring{fill:none;stroke-width:1.6;opacity:0;transform-box:fill-box;transform-origin:center;animation:gl-ring 1.4s ease-out 1.9s 2 both}
.gl-hi .gl-ring{stroke:#C6FF3D}.gl-hm .gl-ring{stroke:#F5F5F2}
.gl-lab{font:700 13px/1 'JetBrains Mono',ui-monospace,monospace;letter-spacing:.14em;fill:#F5F5F2;opacity:0;animation:gl-fade .6s ease 2s both}
.gl-hi .gl-lab{fill:#C6FF3D}
.gl-arcs path.gl-arc{fill:none;stroke-width:2;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;animation:gl-draw 1.1s cubic-bezier(.4,0,.2,1) both}
.gl-arcs path.gl-a{stroke:#C6FF3D}.gl-arcs path.gl-b{stroke:#3D5AFE;stroke-width:2.4}
.gl-head{opacity:0;animation:gl-fade .3s ease both}
.gl-head.gl-a{fill:#C6FF3D}.gl-head.gl-b{fill:#3D5AFE}
.gl-n{opacity:0;fill:#0A0A0A;stroke:#F5F5F2;stroke-width:2;animation:gl-fade .3s ease both}
.gl-cap li{opacity:0;animation:gl-up .6s ease both}
.gl-cap li:nth-child(1){animation-delay:3.6s}.gl-cap li:nth-child(2){animation-delay:3.8s}.gl-cap li:nth-child(3){animation-delay:4s}
@keyframes gl-fade{from{opacity:0}to{opacity:1}}
@keyframes gl-up{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes gl-pop{from{opacity:0;transform:scale(.2)}to{opacity:1;transform:scale(1)}}
@keyframes gl-region{from{opacity:0;transform:scale(.15)}to{opacity:1;transform:scale(1)}}
@keyframes gl-ring{0%{opacity:.9;transform:scale(1)}100%{opacity:0;transform:scale(3.2)}}
@keyframes gl-draw{to{stroke-dashoffset:0}}
@media (prefers-reduced-motion:reduce){
  .gl-band,.gl-hub .gl-region,.gl-hub .gl-core,.gl-lab,.gl-head,.gl-n,.gl-cap li{animation:none;opacity:1}
  .gl-ring{display:none}
  .gl-arcs path.gl-arc{animation:none;stroke-dashoffset:0}
}

/* ===== Home hero v4: the map is the hero background; the headline fades in afterwards ===== */
body.pg-home main .hero-poster-bg{isolation:isolate}
.hero-globe{position:absolute;inset:0;z-index:0;display:flex;align-items:center;justify-content:center;max-width:none;width:100%;margin:0;pointer-events:none;overflow:hidden}
.hero-globe .gl-svg{flex:none;width:max(100%,820px);height:auto;opacity:.95}
.hero-globe::after{content:"";position:absolute;inset:0;background:radial-gradient(52% 40% at 50% 46%,rgba(10,10,10,.62),rgba(10,10,10,0) 100%);pointer-events:none}
.gl-cap{position:absolute!important;left:0;right:0;bottom:28px!important;margin:0!important;z-index:1}
.hero-poster-bg>.relative{position:relative;z-index:1}
.hero-poster-bg .hero-grid2{animation:hero-copy-in 1.9s cubic-bezier(.2,.7,.2,1) 4.2s both}
@keyframes hero-copy-in{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.hero-poster-bg .hero-grid2{animation:none}}
.gl-land circle{fill:rgba(245,245,242,.34)}
.hero-globe .gl-svg{transform:translateY(9%)}
.hero-globe::after{background:radial-gradient(58% 34% at 50% 40%,rgba(10,10,10,.78),rgba(10,10,10,0) 100%)}
.gl-arcs path.gl-arc{opacity:.85}

/* ===== Home hero v5: simpler map + digital-marketing icons at the end of each route ===== */
.gl-ic{opacity:0;animation:gl-pop .5s cubic-bezier(.2,1.4,.4,1) both;transform-box:fill-box;transform-origin:center}
.gl-ic circle{fill:#0A0A0A;stroke-width:2}
.gl-ic.gl-a circle{stroke:#C6FF3D}.gl-ic.gl-b circle{stroke:#3D5AFE}
.gl-ic g{stroke:#F5F5F2}
.gl-ic.gl-a g{stroke:#C6FF3D}
.gl-arcs path.gl-arc{opacity:.9}
.gl-land circle{fill:rgba(245,245,242,.3)}
@media (prefers-reduced-motion:reduce){.gl-ic{animation:none;opacity:1}}
.gl-land circle{fill:rgba(245,245,242,.42)}
.hero-globe::after{background:radial-gradient(50% 30% at 50% 42%,rgba(10,10,10,.6),rgba(10,10,10,0) 100%)}

/* ===== Home hero v6: clean stack - copy on top, map underneath (no overlap) ===== */
body.pg-home main .hero-poster-bg{justify-content:flex-start;min-height:clamp(720px,100vh,980px);padding-top:9.5rem;padding-bottom:clamp(330px,38vw,520px)}
.hero-globe{inset:auto 0 0 0;height:auto;align-items:flex-end}
.hero-globe::after{display:none}
.hero-globe .gl-svg{transform:none;width:max(100%,820px)}
.gl-land circle{fill:rgba(245,245,242,.34)}
.gl-hub .gl-region{display:none}
.gl-lab{font-size:12px}

/* ===== Home hero v7: minimal - drawn outline map, headline appears inside it ===== */
body.pg-home main .hero-poster-bg{justify-content:center;min-height:clamp(640px,92vh,900px);padding-top:8rem;padding-bottom:5rem}
.hero-globe{inset:0;height:100%;align-items:center;justify-content:center}
.hero-globe .gl-svg{width:max(100%,900px);height:auto;transform:none}
.gl-out{fill:none;stroke:rgba(245,245,242,.30);stroke-width:1.2;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;animation:gl-draw 2.4s ease-out forwards}
.gl-hub .gl-core{opacity:.9}
.gl-lab{font-size:11px;opacity:.7}
body.pg-home .hero-grid2{justify-items:center;text-align:center}
body.pg-home .hero-copy{margin-inline:auto;text-align:center;display:flex;flex-direction:column;align-items:center}
body.pg-home .hero-copy h1{margin-inline:auto}
body.pg-home .hero-copy .flex{justify-content:center}
@media (prefers-reduced-motion:reduce){.gl-out{animation:none;stroke-dashoffset:0}}
/* v7b: headline in by ~3s; map outlines draw faster */
.hero-poster-bg .hero-grid2{animation:hero-copy-in 1.1s cubic-bezier(.2,.7,.2,1) 1.9s both}
.gl-out{animation-duration:1.6s}
/* v7c: headline surfaces from depth - faint, blurred and slightly small, then sharpens */
@keyframes hero-depth{0%{opacity:0;filter:blur(16px);transform:scale(.9)}45%{opacity:.35}100%{opacity:1;filter:blur(0);transform:scale(1)}}
.hero-poster-bg .hero-grid2{animation:hero-depth 2.2s cubic-bezier(.25,.6,.3,1) 1.5s both;will-change:opacity,filter,transform}
@media (prefers-reduced-motion:reduce){.hero-poster-bg .hero-grid2{animation:none}}
/* v7d: headline rises out of the ground - clipped at its own bottom edge, no blur/fade */
@keyframes hero-soil{from{transform:translateY(105%)}to{transform:translateY(0)}}
.hero-poster-bg .hero-grid2{animation:none;clip-path:inset(-30% -10% 0 -10%);will-change:auto}
.hero-poster-bg .hero-grid2 .hero-copy{animation:hero-soil 1.8s cubic-bezier(.2,.75,.25,1) 1.4s both}
@media (prefers-reduced-motion:reduce){.hero-poster-bg .hero-grid2 .hero-copy{animation:none}}
/* v7e: calm, assured reveal - headline is unveiled left to right with a soft edge, then sub and CTA settle in */
@keyframes hero-unveil{from{-webkit-mask-position:100% 0;mask-position:100% 0;opacity:.0;transform:translateY(10px)}12%{opacity:1}to{-webkit-mask-position:0 0;mask-position:0 0;opacity:1;transform:translateY(0)}}
@keyframes hero-settle{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.hero-poster-bg .hero-grid2{clip-path:none}
.hero-poster-bg .hero-grid2 .hero-copy{animation:none}
.hero-poster-bg .hero-copy h1{
  -webkit-mask-image:linear-gradient(90deg,#000 0,#000 40%,transparent 60%);mask-image:linear-gradient(90deg,#000 0,#000 40%,transparent 60%);
  -webkit-mask-size:250% 100%;mask-size:250% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
  animation:hero-unveil 2.2s cubic-bezier(.45,.05,.25,1) 1.2s both}
.hero-poster-bg .hero-copy .hero-sub{animation:hero-settle 1.2s ease-out 2.7s both}
.hero-poster-bg .hero-copy .flex{animation:hero-settle 1.2s ease-out 2.7s both}
@media (prefers-reduced-motion:reduce){.hero-poster-bg .hero-copy h1,.hero-poster-bg .hero-copy .hero-sub,.hero-poster-bg .hero-copy .flex{animation:none;-webkit-mask-image:none;mask-image:none}}
/* v7f: hero headline in capitals; the lime accent sits at cap height */
.hero-poster-bg .hero-copy h1{text-transform:uppercase;letter-spacing:.015em;line-height:1.18}
@media (min-width:1024px){.hero-poster-bg .hero-copy h1{font-size:3.7vw}}
@media (max-width:1023px){.hero-poster-bg .hero-copy h1{font-size:min(9.5vw,56px)}}
.hero-poster-bg .hero-copy h1 .ac::before{top:-.11em}
/* v7g: centred copy, smaller type */
body.pg-home .hero-grid2{display:flex;justify-content:center;width:100%}
body.pg-home .hero-copy{width:100%;max-width:none;align-items:center;text-align:center}
body.pg-home .hero-copy h1{max-width:none;width:100%;text-align:center;margin-inline:auto}
body.pg-home .hero-copy .hero-sub{max-width:44rem;margin-inline:auto;text-align:center}
body.pg-home .hero-copy .flex{justify-content:center;width:100%}
@media (min-width:1024px){.hero-poster-bg .hero-copy h1{font-size:3vw}}
@media (max-width:1023px){.hero-poster-bg .hero-copy h1{font-size:min(7.2vw,40px)}}
/* v7h: hero description removed */
body.pg-home .hero-copy .hero-sub{display:none}
/* v7i: city names in white, no underline */
.hero-poster-bg .hero-copy h1 .hl{color:#F5F5F2;background:none;animation:none;padding-bottom:0}
/* v7j: exactly two lines in every language and at every width */
.hero-poster-bg .hero-copy h1{white-space:nowrap}
.hero-poster-bg .hero-copy h1 .hl,.hero-poster-bg .hero-copy h1 .sw{white-space:nowrap}
@media (max-width:1023px){.hero-poster-bg .hero-copy h1{font-size:clamp(17px,5.3vw,44px)}}
/* v7k: line break was hidden by an old rule */
.hero-poster-bg .hero-copy h1 br{display:block}
/* v7l: back to a single line on desktop (wraps naturally on small screens) */
.hero-poster-bg .hero-copy h1 br{display:none}
.hero-poster-bg .hero-copy h1,.hero-poster-bg .hero-copy h1 .hl,.hero-poster-bg .hero-copy h1 .sw{white-space:normal}
.hero-poster-bg .hero-copy h1 .hl,.hero-poster-bg .hero-copy h1 .sw{white-space:nowrap}
@media (min-width:1024px){.hero-poster-bg .hero-copy h1{white-space:nowrap}}
@media (max-width:1023px){.hero-poster-bg .hero-copy h1{font-size:min(7.2vw,40px)}}
/* v7m: mobile - map sits above the copy so city labels never run under the headline */
@media (max-width:1023px){
  body.pg-home main .hero-poster-bg{justify-content:flex-start;min-height:0;padding-top:calc(5.5rem + 360px);padding-bottom:5rem}
  .hero-globe{inset:5.5rem 0 auto 0;height:auto;align-items:flex-start}
  .hero-globe .gl-svg{width:max(100%,900px);height:auto}
}
/* v7n: finer coastline */
.gl-out{stroke:rgba(245,245,242,.36);stroke-width:1;stroke-linecap:round}
/* v7o: real coastlines (Natural Earth) drawn as one continuous line */
.gl-out{stroke-width:.9;stroke:rgba(245,245,242,.4);stroke-linejoin:round;animation:gl-draw 3.4s cubic-bezier(.5,.1,.3,1) forwards}
/* v7p: mobile - tighter map, headline sits right under it */
@media (max-width:1023px){
  body.pg-home main .hero-poster-bg{padding-top:calc(5rem + 215px + 1.5rem)}
  .hero-globe{inset:4.5rem 0 auto 0}
  .hero-globe .gl-svg{width:max(100%,640px)}
  .gl-lab{font-size:17px}
}
/* v7q: mobile - a little higher still */
@media (max-width:1023px){
  body.pg-home main .hero-poster-bg{padding-top:calc(3.5rem + 175px)}
  .hero-globe{inset:3.5rem 0 auto 0}
}
/* ===== Home sectors grid (replaces the old reach block) ===== */
.sx{background:#F5F5F2;color:#0A0A0A;padding:clamp(72px,9vw,128px) 0}
.sx-top{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:clamp(32px,4vw,56px)}
.sx .rc-head{max-width:640px}
.sx-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid rgba(10,10,10,.16);border-left:1px solid rgba(10,10,10,.16)}
@media (min-width:640px){.sx-grid{grid-template-columns:repeat(3,1fr)}}
@media (min-width:1024px){.sx-grid{grid-template-columns:repeat(5,1fr)}}
.sx-tile{position:relative;display:flex;flex-direction:column;justify-content:space-between;gap:36px;min-height:180px;padding:20px;border-right:1px solid rgba(10,10,10,.16);border-bottom:1px solid rgba(10,10,10,.16);transition:background .35s,color .35s}
.sx-n{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.12em;opacity:.55}
.sx-ic{color:#0A0A0A;transition:color .35s,transform .45s cubic-bezier(.2,.7,.2,1)}
.sx-name{font-family:'Urbanist',sans-serif;font-weight:700;font-size:clamp(16px,1.35vw,20px);line-height:1.2}
.sx-tile:hover{background:#0A0A0A;color:#F5F5F2}
.sx-tile:hover .sx-ic{color:#C6FF3D;transform:translateY(-4px)}
.sx-tile:hover .sx-n{opacity:.8}
.sx-note{margin:18px 0 0;font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.06em;opacity:.55}
/* sectors grid: the home page is dark, so the block follows it */
body.pg-home main .sx{background:transparent;color:#F5F5F2}
body.pg-home .sx .rc-head h2{color:#F5F5F2}
body.pg-home .sx .rc-head p{color:rgba(245,245,242,.72)}
body.pg-home .sx .rc-link{color:#F5F5F2}
.sx-grid{border-top-color:rgba(245,245,242,.16);border-left-color:rgba(245,245,242,.16)}
.sx-tile{border-right-color:rgba(245,245,242,.16);border-bottom-color:rgba(245,245,242,.16)}
.sx-ic{color:#F5F5F2}
.sx-tile:hover{background:#C6FF3D;color:#0A0A0A}
.sx-tile:hover .sx-ic{color:#0A0A0A}
/* sectors v2: separate rounded cards, ringed icon badges (lime / cobalt), soft hover glow */
.sx-grid{gap:14px;border:0}
.sx-tile{border:1px solid rgba(245,245,242,.12);border-radius:20px;background:linear-gradient(160deg,rgba(245,245,242,.06),rgba(245,245,242,.015) 60%);min-height:200px;padding:22px;overflow:hidden;isolation:isolate;
  transition:transform .45s cubic-bezier(.2,.7,.2,1),border-color .35s,background .35s,box-shadow .35s}
.sx-tile::before{content:"";position:absolute;right:-30%;top:-40%;width:90%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(198,255,61,.16),transparent 65%);opacity:0;transition:opacity .45s;z-index:-1}
.sx-tile:nth-child(even)::before{background:radial-gradient(circle,rgba(61,90,254,.28),transparent 65%)}
.sx-tile::after{content:"";position:absolute;left:22px;right:22px;bottom:0;height:2px;background:#C6FF3D;transform:scaleX(0);transform-origin:left;transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.sx-tile:nth-child(even)::after{background:#3D5AFE}
.sx-ic{width:58px;height:58px;padding:10px;box-sizing:border-box;border-radius:50%;border:1.5px solid #C6FF3D;color:#F5F5F2;background:#0A0A0A}
.sx-tile:nth-child(even) .sx-ic{border-color:#3D5AFE}
.sx-n{opacity:.4}
.sx-name{font-size:clamp(16px,1.3vw,19px);letter-spacing:-.005em}
.sx-tile:hover{background:linear-gradient(160deg,rgba(245,245,242,.09),rgba(245,245,242,.02) 60%);color:#F5F5F2;border-color:rgba(245,245,242,.28);transform:translateY(-4px)}
.sx-tile:hover::before{opacity:1}
.sx-tile:hover::after{transform:scaleX(1)}
.sx-tile:hover .sx-ic{color:#0A0A0A;background:#C6FF3D;border-color:#C6FF3D;transform:none}
.sx-tile:nth-child(even):hover .sx-ic{color:#F5F5F2;background:#3D5AFE;border-color:#3D5AFE}
@media (prefers-reduced-motion:reduce){.sx-tile,.sx-tile::after{transition:none}}
/* sector tiles as links + sector detail pages */
.sx-tile{padding:0}
.sx-a{display:flex;flex-direction:column;justify-content:space-between;gap:36px;min-height:200px;padding:22px;height:100%;color:inherit;text-decoration:none;position:relative}
.sx-go{position:absolute;top:18px;right:20px;font-size:16px;opacity:0;transform:translate(-4px,4px);transition:opacity .3s,transform .3s;color:#C6FF3D}
.sx-tile:hover .sx-go,.sx-a:focus-visible .sx-go{opacity:1;transform:none}
.sx-a:focus-visible{outline:2px solid #C6FF3D;outline-offset:-2px;border-radius:20px}
.sxp{padding:clamp(120px,14vw,168px) 0 clamp(72px,8vw,120px);color:#F5F5F2}
.sxp-crumb{display:flex;gap:10px;flex-wrap:wrap;font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.08em;text-transform:uppercase;opacity:.7;margin-bottom:32px}
.sxp-crumb a{color:inherit;text-decoration:none}.sxp-crumb a:hover{color:#C6FF3D}
.sxp-head{max-width:860px;margin-bottom:clamp(40px,5vw,72px)}
.sxp-ic{width:64px;height:64px;padding:12px;border:1.5px solid #C6FF3D;border-radius:50%;color:#F5F5F2;margin-bottom:24px}
.sxp-head h1{font-family:'Urbanist',sans-serif;font-weight:800;font-size:clamp(34px,5vw,64px);line-height:1.08;letter-spacing:-.02em;margin:0 0 20px}
.sxp-head p{font-size:clamp(17px,1.5vw,21px);line-height:1.55;color:rgba(245,245,242,.78);margin:0}
.sxp-k{font-family:'JetBrains Mono',monospace;font-weight:500;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#C6FF3D;margin:0 0 18px}
.sxp-stats{list-style:none;margin:0 0 clamp(48px,6vw,88px);padding:0;display:grid;gap:14px;grid-template-columns:1fr}
@media (min-width:768px){.sxp-stats{grid-template-columns:repeat(3,1fr)}}
.sxp-stat{display:flex;flex-direction:column;gap:12px;padding:26px;border:1px solid rgba(245,245,242,.14);border-radius:20px;background:linear-gradient(160deg,rgba(245,245,242,.06),rgba(245,245,242,.015) 60%)}
.sxp-stat b{font-family:'Urbanist',sans-serif;font-weight:800;font-size:clamp(34px,3.6vw,52px);line-height:1;letter-spacing:-.02em;color:#C6FF3D}
.sxp-stat.sxp-base b{color:#F5F5F2}
.sxp-stat span{font-size:15px;line-height:1.45;color:rgba(245,245,242,.82)}
.sxp-stat a{margin-top:auto;font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.04em;color:rgba(245,245,242,.55);text-decoration:none;border-bottom:1px solid rgba(245,245,242,.2);align-self:flex-start;padding-bottom:2px}
.sxp-stat a:hover{color:#C6FF3D;border-color:#C6FF3D}
.sxp-cols{display:grid;gap:clamp(24px,3vw,48px);grid-template-columns:1fr;margin-bottom:clamp(48px,6vw,88px)}
@media (min-width:900px){.sxp-cols{grid-template-columns:1fr 1fr}}
.sxp-cols article{padding-top:22px;border-top:1px solid rgba(245,245,242,.18)}
.sxp-cols article>span{font-family:'JetBrains Mono',monospace;font-size:12px;opacity:.5}
.sxp-cols h2{font-family:'Urbanist',sans-serif;font-weight:800;font-size:clamp(24px,2.2vw,32px);line-height:1.15;margin:10px 0 14px}
.sxp-cols p{font-size:17px;line-height:1.65;color:rgba(245,245,242,.8);margin:0}
.sxp-acts{list-style:none;margin:0 0 28px;padding:0;display:grid;gap:12px;grid-template-columns:1fr}
@media (min-width:768px){.sxp-acts{grid-template-columns:repeat(3,1fr)}}
.sxp-acts li{display:flex;gap:14px;align-items:flex-start;padding:18px 20px;border:1px solid rgba(245,245,242,.14);border-radius:16px;font-weight:600;line-height:1.35}
.sxp-acts li span{font-family:'JetBrains Mono',monospace;font-size:12px;color:#C6FF3D;padding-top:3px}
.sxp-note{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.04em;opacity:.55;max-width:760px;margin:0 0 clamp(40px,5vw,72px)}
.sxp-cta{padding:clamp(28px,4vw,48px);border-radius:24px;border:1px solid rgba(198,255,61,.35);background:radial-gradient(120% 140% at 100% 0,rgba(198,255,61,.12),transparent 60%);margin-bottom:32px}
.sxp-cta h2{font-family:'Urbanist',sans-serif;font-weight:800;font-size:clamp(24px,2.6vw,36px);margin:0 0 10px}
.sxp-cta p{margin:0 0 22px;color:rgba(245,245,242,.8);max-width:620px}
.sxp-back{color:rgba(245,245,242,.75);text-decoration:none;font-weight:600}.sxp-back:hover{color:#C6FF3D}
/* sector pages v2: calmer measure, jump links, two-column reading rows, prev/next */
.sxp{scroll-behavior:smooth}
.sxp-head{max-width:760px}
.sxp-head p{max-width:62ch}
.sxp-jump{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}
.sxp-jump a{font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.06em;color:rgba(245,245,242,.85);text-decoration:none;padding:9px 14px;border:1px solid rgba(245,245,242,.2);border-radius:999px;transition:border-color .25s,color .25s,background .25s}
.sxp-jump a:hover,.sxp-jump a:focus-visible{border-color:#C6FF3D;color:#C6FF3D}
.sxp-sec{margin-bottom:clamp(56px,7vw,104px);scroll-margin-top:96px}
.sxp-row{scroll-margin-top:96px;display:grid;gap:14px 48px;grid-template-columns:1fr;padding:clamp(28px,3.5vw,44px) 0;border-top:1px solid rgba(245,245,242,.16)}
@media (min-width:900px){.sxp-row{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}}
.sxp-rh span{font-family:'JetBrains Mono',monospace;font-size:12px;color:#C6FF3D;letter-spacing:.1em}
.sxp-rh h2{font-family:'Urbanist',sans-serif;font-weight:800;font-size:clamp(24px,2.4vw,34px);line-height:1.15;letter-spacing:-.01em;margin:10px 0 0}
.sxp-row p{font-size:clamp(17px,1.3vw,19px);line-height:1.75;color:rgba(245,245,242,.86);margin:0;max-width:60ch}
.sxp-row:last-of-type{margin-bottom:clamp(40px,5vw,72px)}
.sxp-stat{padding:24px}
.sxp-stat span{max-width:34ch}
.sxp-acts li{padding:20px}
.sxp-note{margin-top:0}
.sxp-pn{display:grid;grid-template-columns:1fr;gap:12px;margin:0 0 28px}
@media (min-width:640px){.sxp-pn{grid-template-columns:1fr 1fr}}
.sxp-pn a{display:flex;flex-direction:column;gap:4px;padding:20px 22px;border:1px solid rgba(245,245,242,.14);border-radius:16px;color:#F5F5F2;text-decoration:none;transition:border-color .25s,transform .35s}
.sxp-pn a:last-child{text-align:right}
.sxp-pn small{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;opacity:.6}
.sxp-pn b{font-family:'Urbanist',sans-serif;font-size:18px}
.sxp-pn a:hover{border-color:#C6FF3D;transform:translateY(-2px)}
@media (max-width:639px){.sxp-pn a:last-child{text-align:left}}
@media (prefers-reduced-motion:reduce){.sxp{scroll-behavior:auto}.sxp-pn a{transition:none}}
/* sectors: photo on hover (home) + hero photo (sector pages) + proportions */
.sx-tile{overflow:hidden}
.sx-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .5s,transform .8s cubic-bezier(.2,.7,.2,1);transform:scale(1.06);z-index:-2;filter:grayscale(.55) contrast(1.05)}
.sx-tile::after{z-index:1}
.sx-a::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,10,10,.35),rgba(10,10,10,.82));opacity:0;transition:opacity .5s;z-index:-1}
.sx-tile:hover .sx-bg{opacity:.55;transform:none}
.sx-tile:hover .sx-a::before{opacity:1}
.sx-a>*{position:relative}
.sxp-head{max-width:none;display:grid;gap:28px 56px;grid-template-columns:1fr;align-items:center}
@media (min-width:900px){.sxp-head{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}}
.sxp-ht{max-width:62ch}
.sxp-ph{margin:0;border-radius:24px;overflow:hidden;border:1px solid rgba(245,245,242,.14);position:relative;background:#141414}
.sxp-ph img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;filter:grayscale(.35) saturate(.8) contrast(1.02)}
.sxp-ph::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(10,10,10,.65))}
.sxp-ph figcaption{position:absolute;left:16px;bottom:12px;z-index:1;font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.04em;color:rgba(245,245,242,.8)}
.sxp-ph figcaption a{color:inherit;text-decoration:none;border-bottom:1px solid rgba(245,245,242,.3)}
.sxp-head{margin-bottom:clamp(48px,6vw,88px)}
.sxp-stats{align-items:stretch}
.sxp-sec>.sxp-k{padding-bottom:12px;border-bottom:1px solid rgba(245,245,242,.12);margin-bottom:22px}
.sxp-ph img{height:auto;aspect-ratio:4/3}
@media (max-width:899px){.sxp-ph img{aspect-ratio:16/10}}
/* photos: tone via overlay only (no filter) */
.sxp-ph img{filter:none}
.sxp-ph::after{background:linear-gradient(180deg,rgba(10,10,10,.12) 40%,rgba(10,10,10,.7))}
.sx-bg{filter:none}
@media (min-width:900px){.sxp-head{grid-template-columns:minmax(0,1fr) 340px}}
.sxp-ph{max-width:420px}
.sxp-ph img{aspect-ratio:3/2}
@media (max-width:899px){.sxp-ph{max-width:340px}.sxp-ph img{aspect-ratio:3/2}}
/* sector pages: explicit container so proportions hold at any width */
.sxp-w{width:100%;max-width:1120px;margin-inline:auto;padding-inline:24px}
@media (min-width:1024px){.sxp-w{padding-inline:48px}}
.sxp-head{align-items:start}
.sxp-ht{max-width:none}
.sxp-head h1{max-width:20ch}
/* sector pages: use more of the width */
.sxp-w{max-width:1440px}
@media (min-width:1024px){.sxp-w{padding-inline:48px}}
@media (min-width:900px){.sxp-head{grid-template-columns:minmax(0,1fr) 400px}}
.sxp-ph{max-width:400px}
.sxp-head h1{max-width:22ch}
.sxp-head p{max-width:68ch}
.sxp-row p{max-width:68ch}
@media (min-width:900px){.sxp-row{grid-template-columns:minmax(0,4fr) minmax(0,8fr)}}
.sxp-cta{display:grid;gap:8px 32px}
@media (min-width:900px){.sxp-cta{grid-template-columns:1fr auto;align-items:center}.sxp-cta h2,.sxp-cta p{grid-column:1}.sxp-cta a{grid-column:2;grid-row:1/3}}
.sxp-cta .hero-cta{width:auto;height:auto;white-space:nowrap}
/* sector pages v3: two feature cards + connected steps */
.sxp-duo{display:grid;gap:18px;grid-template-columns:1fr;margin-bottom:clamp(56px,7vw,104px);scroll-margin-top:96px}
@media (min-width:900px){.sxp-duo{grid-template-columns:1fr 1fr;gap:24px}}
.sxp-card{position:relative;overflow:hidden;padding:clamp(28px,3.2vw,44px);border-radius:28px;border:1px solid rgba(245,245,242,.14);background:linear-gradient(160deg,rgba(245,245,242,.07),rgba(245,245,242,.015) 60%);scroll-margin-top:96px;transition:border-color .35s,transform .45s cubic-bezier(.2,.7,.2,1)}
.sxp-card::before{content:"";position:absolute;right:-18%;top:-30%;width:70%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(198,255,61,.2),transparent 65%);pointer-events:none}
.sxp-c2::before{background:radial-gradient(circle,rgba(61,90,254,.34),transparent 65%)}
.sxp-card:hover{border-color:rgba(198,255,61,.5);transform:translateY(-3px)}
.sxp-c2:hover{border-color:rgba(61,90,254,.8)}
.sxp-big{position:absolute;right:24px;bottom:-18px;font-family:'Urbanist',sans-serif;font-weight:800;font-size:clamp(110px,12vw,180px);line-height:1;letter-spacing:-.04em;color:rgba(245,245,242,.05);pointer-events:none}
.sxp-ci{width:60px;height:60px;padding:14px;box-sizing:border-box;border-radius:50%;border:1.5px solid #C6FF3D;color:#F5F5F2;background:#0A0A0A;margin-bottom:26px;position:relative}
.sxp-c2 .sxp-ci{border-color:#3D5AFE}
.sxp-card h2{font-family:'Urbanist',sans-serif;font-weight:800;font-size:clamp(26px,2.4vw,36px);line-height:1.12;letter-spacing:-.015em;margin:0 0 16px;position:relative;max-width:18ch}
.sxp-card p{font-size:clamp(17px,1.25vw,19px);line-height:1.7;color:rgba(245,245,242,.86);margin:0;position:relative;max-width:52ch}
.sxp-acts{position:relative;counter-reset:a}
@media (min-width:768px){.sxp-acts::before{content:"";position:absolute;left:6%;right:6%;top:30px;height:1px;background:linear-gradient(90deg,#C6FF3D,#3D5AFE)}}
.sxp-acts li{flex-direction:column;gap:16px;align-items:flex-start;padding:0;border:0;background:none;border-radius:0;position:relative;font-size:clamp(16px,1.2vw,18px)}
.sxp-acts li span{display:grid;place-items:center;width:60px;height:60px;border-radius:50%;background:#0A0A0A;border:1.5px solid #C6FF3D;color:#F5F5F2;font-size:14px;padding:0;position:relative}
.sxp-acts li:nth-child(2) span{border-color:#3D5AFE}
.sxp-acts li{padding-right:16px}
@media (prefers-reduced-motion:reduce){.sxp-card{transition:none}}
/* sector pages: full capability grid + method steps */
.sxp-wi{max-width:760px;margin-bottom:clamp(28px,3.5vw,44px)}
.sxp-wi h3{font-family:'Urbanist',sans-serif;font-weight:800;font-size:clamp(24px,2.4vw,34px);line-height:1.15;letter-spacing:-.01em;margin:0 0 12px}
.sxp-wi p{font-size:clamp(16px,1.2vw,18px);line-height:1.65;color:rgba(245,245,242,.8);margin:0}
.sxp-w6s{list-style:none;margin:0 0 clamp(28px,3.5vw,44px);padding:0;display:grid;gap:14px;grid-template-columns:1fr}
@media (min-width:640px){.sxp-w6s{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1024px){.sxp-w6s{grid-template-columns:repeat(3,1fr)}}
.sxp-w6{position:relative;padding:24px;border:1px solid rgba(245,245,242,.14);border-radius:20px;background:linear-gradient(160deg,rgba(245,245,242,.06),rgba(245,245,242,.015) 60%);display:grid;gap:12px;align-content:start;transition:border-color .3s,transform .4s cubic-bezier(.2,.7,.2,1)}
.sxp-w6:hover{border-color:rgba(198,255,61,.5);transform:translateY(-3px)}
.sxp-w6:nth-child(even):hover{border-color:rgba(61,90,254,.8)}
.sxp-w6i{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;border:1.5px solid #C6FF3D;color:#F5F5F2;background:#0A0A0A}
.sxp-w6:nth-child(even) .sxp-w6i{border-color:#3D5AFE}
.sxp-w6n{font-family:'Urbanist',sans-serif;font-weight:800;font-size:19px;color:#F5F5F2;text-decoration:none;display:flex;justify-content:space-between;gap:12px}
.sxp-w6n i{font-style:normal;color:#C6FF3D;opacity:0;transform:translate(-4px,4px);transition:opacity .3s,transform .3s}
.sxp-w6:hover .sxp-w6n i{opacity:1;transform:none}
.sxp-w6 p{margin:0;font-size:16px;line-height:1.55;color:rgba(245,245,242,.82)}
.sxp-steps{list-style:none;margin:0;padding:22px 0 0;border-top:1px solid rgba(245,245,242,.14);display:grid;gap:12px;grid-template-columns:1fr}
@media (min-width:768px){.sxp-steps{grid-template-columns:repeat(4,1fr)}}
.sxp-steps li{font-weight:600;line-height:1.35;display:flex;gap:12px;align-items:baseline}
.sxp-steps li span{font-family:'JetBrains Mono',monospace;font-size:12px;color:#C6FF3D}
@media (prefers-reduced-motion:reduce){.sxp-w6{transition:none}}
/* method as a connected flow with a return loop */
.sxp-steps{display:none}
.sxp-flow{list-style:none;margin:0;padding:clamp(24px,3vw,36px) 0 0;display:grid;gap:26px;grid-template-columns:1fr;position:relative;border-top:1px solid rgba(245,245,242,.14)}
.sxp-flow li{position:relative;display:grid;grid-template-columns:60px 1fr;gap:4px 16px;align-items:center}
.sxp-sn{grid-row:1/3;display:grid;place-items:center;width:60px;height:60px;border-radius:50%;background:#0A0A0A;border:1.5px solid #C6FF3D;color:#F5F5F2;position:relative;z-index:1}
.sxp-flow li:nth-child(even) .sxp-sn{border-color:#3D5AFE}
.sxp-flow li b{font-family:'JetBrains Mono',monospace;font-weight:500;font-size:12px;color:#C6FF3D;letter-spacing:.1em;align-self:end}
.sxp-st{font-family:'Urbanist',sans-serif;font-weight:700;font-size:18px;line-height:1.25;align-self:start}
/* mobile: vertical line through the nodes */
.sxp-flow li:not(:last-child)::after{content:"";position:absolute;left:29px;top:60px;height:calc(100% - 60px + 26px);width:2px;background:linear-gradient(180deg,#C6FF3D,#3D5AFE)}
@media (min-width:768px){
  .sxp-flow{grid-template-columns:repeat(4,1fr);gap:0}
  .sxp-flow li{grid-template-columns:1fr;justify-items:start;gap:10px;padding-right:18px}
  .sxp-sn{grid-row:auto}
  .sxp-flow li:not(:last-child)::after{left:68px;right:8px;top:30px;height:2px;width:auto;background:linear-gradient(90deg,#C6FF3D,#3D5AFE)}
  .sxp-flow li:not(:last-child)::before{content:"";position:absolute;right:8px;top:25px;width:10px;height:10px;border-top:2px solid #3D5AFE;border-right:2px solid #3D5AFE;transform:rotate(45deg)}
  .sxp-flow li b{align-self:auto}
}
.sxp-loop{margin:22px 0 0;font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.04em;color:rgba(245,245,242,.7);display:flex;align-items:center;gap:10px}
.sxp-loop span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;border:1.5px solid #C6FF3D;color:#C6FF3D;font-size:14px}
/* home: method flow after sectors */
.hf{padding:clamp(56px,7vw,104px) 0}
.hf-top{display:flex;justify-content:space-between;align-items:flex-end;gap:28px;flex-wrap:wrap;margin-bottom:clamp(32px,4vw,56px)}
.hf-top>div{max-width:720px}
.hf h2{font-family:'Urbanist',sans-serif;font-weight:800;font-size:clamp(32px,4.2vw,56px);line-height:1.08;letter-spacing:-.02em;margin:14px 0 16px;color:#F5F5F2}
.hf p{font-size:clamp(16px,1.3vw,19px);line-height:1.65;color:rgba(245,245,242,.78);margin:0}
.hf-flow{border-top:0;padding-top:0}
.hf .sxp-loop{margin-top:28px}
/* five-step flow */
@media (min-width:768px){.sxp-flow{grid-template-columns:repeat(5,1fr)}}
@media (min-width:768px) and (max-width:1023px){.sxp-st{font-size:16px}}
.sxp-flow li:nth-child(5) .sxp-sn{border-color:#C6FF3D}
.sxp-flow li:nth-child(odd) .sxp-sn{border-color:#C6FF3D}

/* ===== Home sections v9 ===== */
/* capabilities: one sentence per card, photo opens from the icon; on touch the photo is already open */
.cap-sum{margin:14px 0 0;max-width:46ch;font-weight:400;font-size:16px;line-height:1.55;color:#D8D8D2;position:relative;z-index:1}
@media (max-width:640px){.cap-sum{font-size:15px}}
.cap-card:hover .cap-sum,.cap-card:focus-within .cap-sum,.cap-card.is-on .cap-sum{color:#fff}
@media (hover:none){
  .cap-ph{clip-path:circle(160% at 46px 46px)}
  .cap-ph img{transform:scale(1)}
}
/* process: output visuals, everything open */
.js .ap3-btn,.ap3-btn{display:none!important}
.js .ap3-card:not(.is-open) .ap3-more,.ap3-more{grid-template-rows:1fr!important;visibility:visible!important}
.ap3-vis{margin:4px 0 14px;border:1px solid rgba(255,255,255,.1);border-radius:.75rem;overflow:hidden;background:#F5F5F2;color:#0A0A0A;aspect-ratio:4/3;display:block}
.pv{height:100%;padding:16px;display:flex;flex-direction:column;gap:10px;font-family:"Urbanist",sans-serif}
.pv-h{display:flex;justify-content:space-between;gap:8px;font-family:"JetBrains Mono",ui-monospace,monospace;font-size:10px;letter-spacing:.08em;text-transform:uppercase;padding-bottom:8px;border-bottom:1px solid rgba(10,10,10,.14)}
.pv-h b{font-weight:700}.pv-h span{opacity:.6}
.pv-rows{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.pv-rows li{display:flex;gap:10px;align-items:center;font-size:12.5px;line-height:1.3}
.pv-p{font-style:normal;flex:none;font-family:"JetBrains Mono",ui-monospace,monospace;font-size:10px;font-weight:700;padding:3px 6px;border-radius:5px;border:1px solid rgba(10,10,10,.3)}
.pv-p.is-hi{background:#0A0A0A;color:#C6FF3D;border-color:#0A0A0A}
.pv-wf{flex:1;display:grid;grid-template-rows:14px 1fr auto;gap:8px;min-height:0}
.pv-nav{border:1.5px solid rgba(10,10,10,.45);border-radius:5px}
.pv-hero{border:1.5px solid rgba(10,10,10,.45);border-radius:7px;padding:10px;display:flex;flex-direction:column;gap:6px;justify-content:center}
.pv-hero em{font-style:normal;font-weight:800;font-size:15px}.pv-hero em.s{font-weight:500;font-size:11px;opacity:.6}
.pv-hero u{width:46px;height:14px;border-radius:999px;background:#0A0A0A;text-decoration:none}
.pv-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.pv-cards div{border:1.5px solid rgba(10,10,10,.45);border-radius:6px;padding:8px 6px;min-height:34px}
.pv-cards em{font-style:normal;font-size:10px;font-weight:600}
.pv-kpi{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.pv-kpi div{display:grid;gap:2px}.pv-kpi b{font-size:20px;font-weight:800;letter-spacing:-.02em}.pv-kpi span{font-size:10.5px;line-height:1.2;opacity:.7}
.pv-bars{flex:1;display:flex;align-items:flex-end;gap:6px;min-height:0;border-bottom:1px solid rgba(10,10,10,.2)}
.pv-bars i{flex:1;background:#0A0A0A;border-radius:3px 3px 0 0}.pv-bars i:last-child{background:#C6FF3D;outline:1px solid #0A0A0A}
.pv-cap{margin:0;font-family:"JetBrains Mono",ui-monospace,monospace;font-size:10px;opacity:.6}
.ap3-del{margin:0 0 18px;font-family:"JetBrains Mono",ui-monospace,monospace;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:#9A9A94}
.ap3-del span{color:#C6FF3D}
/* sectors: 3 x 2 grid, photo layer on hover (and always on touch) */
@media (min-width:1024px){.sx-grid{grid-template-columns:repeat(3,1fr)}}
.sx-tile{min-height:240px}
.sx-bg{filter:grayscale(.55) contrast(1.05)}
@media (hover:none){
  .sx-bg{opacity:.45;transform:none}
  .sx-a::before{opacity:1}
  .sx-go{opacity:1;transform:none}
}
/* countries: one line + full-bleed photo band */
.ct{padding-bottom:0}
.ct-line{margin:0 0 clamp(36px,5vw,64px);font:500 16px/1.9 "Urbanist",sans-serif;color:#D8D8D2;max-width:60ch}
@media (min-width:768px){.ct-line{font-size:18px;max-width:none}}
.ct-sep{opacity:.5}
.ct-c em{font:500 10px "JetBrains Mono",ui-monospace,monospace;letter-spacing:.08em;border:1px solid currentColor;border-radius:999px;padding:2px 7px;margin-left:6px;vertical-align:middle;font-style:normal}
.ct-tr{color:#C6FF3D}
.ct-it{color:#F5F5F2}
.ct-it::before,.ct-tr::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:8px;background:#3D5AFE}
.ct-tr::before{background:#C6FF3D}
.ct-it em{border-color:#3D5AFE}
.ct-band{position:relative;display:grid;grid-template-columns:1fr 1fr;height:260px;overflow:hidden}
@media (min-width:768px){.ct-band{height:420px}}
.ct-band img{width:100%;height:100%;object-fit:cover;display:block;filter:grayscale(.5) contrast(1.05)}
.ct-band::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,10,10,.55) 0%,rgba(10,10,10,.15) 45%,rgba(10,10,10,.85) 100%)}
/* approach loop: a real return arc from step 05 back to step 03 */
.hf-arcwrap{position:relative;height:84px;margin:6px 0 0 calc(40% + 30px);width:40%}
.hf-arc{position:absolute;left:0;top:0;width:100%;height:56px;overflow:visible;clip-path:inset(0 0 -20px 0)}
.hf-arc path{stroke:rgba(198,255,61,.4);stroke-width:1px;stroke-dasharray:5 5}
.hf-ah{position:absolute;left:-5px;top:-2px;width:10px;height:10px;border-top:1.5px solid rgba(198,255,61,.7);border-left:1.5px solid rgba(198,255,61,.7);transform:rotate(45deg)}
.hf-al{position:absolute;left:50%;top:58px;transform:translateX(-50%);white-space:nowrap;font:500 11px "JetBrains Mono",ui-monospace,monospace;letter-spacing:.08em;color:#9A9A94}
.js .hf-arcwrap .hf-arc{clip-path:inset(0 0 -20px 100%);transition:clip-path .9s ease-out}
.js .hf-arcwrap.is-visible .hf-arc{clip-path:inset(0 0 -20px 0)}
.js .hf-arcwrap .hf-ah{opacity:0;transition:opacity .3s .8s}
.js .hf-arcwrap.is-visible .hf-ah{opacity:1}
@media (max-width:767px){
  .hf-arcwrap{width:auto;margin:10px 0 0 29px;height:auto;padding-left:22px;border-left:2px dashed rgba(198,255,61,.4);min-height:56px;display:flex;align-items:center}
  .hf-arc,.hf-ah{display:none}
  .hf-al{position:static;transform:none;white-space:normal}
  .hf-al::before{content:"\2191";color:#C6FF3D;margin-right:8px}
}
@media (prefers-reduced-motion:reduce){.js .hf-arcwrap .hf-arc{clip-path:inset(0 0 -20px 0);transition:none}.js .hf-arcwrap .hf-ah{opacity:1;transition:none}}
/* capabilities: text column leaves the photo side free; icon follows the lime/ink rule (cobalt = Milan only) */
.cap-card h3,.cap-card .cap-sum{max-width:58%}
@media (max-width:640px){.cap-card h3,.cap-card .cap-sum{max-width:72%}}
.cap-icon{background:#0A0A0A;color:#C6FF3D;border:1px solid rgba(198,255,61,.5)}
.sx-ic,.sxp-ic,.sxp-ci,.sxp-sn,.sxp-w6i{border-color:#C6FF3D}
.sxp-flow li:nth-child(even) .sxp-sn,.sxp-w6:nth-child(even) .sxp-w6i,.sxp-c2 .sxp-ci,.sx-tile:nth-child(even) .sx-ic{border-color:#C6FF3D}

/* ===== Home fixes v10 ===== */
/* 1. capability photos: one shared tone so the six read as a set */
.cap-ph img{filter:grayscale(.35) contrast(1.05) brightness(.85)}
.cap-ph-seo img{object-position:50% 40%}
.cap-ph-web img{object-position:50% 45%}
.cap-ph-brand img{object-position:50% 50%}
.cap-ph-dev img{object-position:50% 40%}
.cap-ph-ads img{object-position:50% 50%}
.cap-ph-social img{object-position:50% 55%}
/* 2. sectors: landscape tiles, photo always visible, compact layout */
.sx{padding-top:128px}
.sx-tile{aspect-ratio:3/2;height:auto;min-height:0;padding:0}
.sx-a{position:absolute;inset:0;height:auto;min-height:0;padding:18px;display:flex;flex-direction:row;align-items:flex-end;gap:12px;justify-content:flex-start}
.sx-bg{opacity:.30;transform:none}
.sx-tile:hover .sx-bg,.sx-tile:focus-within .sx-bg{opacity:.60}
.sx-a::before{display:block;opacity:1}
.sx-n{position:absolute;top:16px;left:18px;margin:0}
.sx-go{top:14px;right:16px}
.sx-ic{width:40px;height:40px;padding:8px;flex:none;border-color:#C6FF3D}
.sx-name{line-height:1.15}
@media (hover:none){.sx-bg{opacity:.30}}
@media (max-width:767px){.sx-grid{grid-template-columns:1fr}.sx-tile{aspect-ratio:16/7}}
/* 3. countries: compact flag chips */
.ct-chips{list-style:none;margin:0 0 clamp(32px,4vw,48px);padding:0;display:flex;flex-wrap:wrap;gap:10px}
.ct-chip{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:#141414;font:500 15px/1 "Urbanist",sans-serif;color:#F5F5F2;transition:border-color .2s}
.ct-chip:hover,.ct-chip:focus-within{border-color:#C6FF3D}
.ct-cf{display:block;width:20px;height:14px;line-height:0;border-radius:3px;overflow:hidden;flex:none}
.ct-cf svg{width:100%;height:100%;display:block}
.ct-hubchip{border-color:rgba(198,255,61,.40)}
.ct-hubchip em{font:500 10px "JetBrains Mono",ui-monospace,monospace;letter-spacing:.08em;color:#C6FF3D;border:1px solid rgba(198,255,61,.4);border-radius:999px;padding:2px 7px;font-style:normal}
/* 4. band: shorter, two figures joined, labels */
.ct-band{height:260px;gap:2px;background:#0A0A0A}
@media (max-width:767px){.ct-band{height:180px}}
.ct-band figure{position:relative;margin:0;height:100%;overflow:hidden}
.ct-band img{width:100%;height:100%;object-fit:cover;display:block;filter:grayscale(.30) brightness(.80)}
.ct-band figcaption{position:absolute;left:16px;bottom:12px;z-index:2;font:500 11px "JetBrains Mono",ui-monospace,monospace;letter-spacing:.1em;color:rgba(255,255,255,.75)}
.ct-band::after{z-index:1;background:linear-gradient(90deg,#0A0A0A 0%,transparent 12%,transparent 88%,#0A0A0A 100%),linear-gradient(180deg,#0A0A0A 0%,transparent 18%,transparent 82%,#0A0A0A 100%)}
.ct-band{pointer-events:none}

/* supplied collage / desk images on the capability cards and service heroes: tamed so they sit in the dark theme */
.cap-ph img{filter:grayscale(.7) contrast(1.05) brightness(.85)}
.cap-ph-seo img{object-position:60% 50%}
.cap-ph-web img{object-position:50% 50%}
.cap-ph-brand img{object-position:50% 40%}
.cap-ph-dev img{object-position:50% 45%}
.cap-ph-ads img{object-position:50% 50%}
.cap-ph-social img{object-position:50% 50%}
.svc-hero-img{display:grid;gap:28px 56px;grid-template-columns:1fr;align-items:center}
@media (min-width:900px){.svc-hero-img{grid-template-columns:minmax(0,1fr) 420px}}
.svc-fig{margin:0;border-radius:24px;overflow:hidden;border:1px solid rgba(245,245,242,.14);position:relative;background:#141414}
.svc-fig img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;filter:grayscale(.7) contrast(1.05) brightness(.85)}
.svc-fig::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(10,10,10,.6))}
@media (max-width:899px){.svc-fig{max-width:420px}}

/* capability photos are visible at rest (softened), and come to full strength on hover / focus / tap */
.cap-ph{clip-path:circle(160% at 46px 46px)}
.cap-ph img{opacity:.5;transform:scale(1.04);transition:opacity .5s ease,transform 1s cubic-bezier(.2,.8,.2,1)}
.cap-card:hover .cap-ph img,.cap-card:focus-within .cap-ph img,.cap-card.is-on .cap-ph img{opacity:1;transform:scale(1)}
@media (prefers-reduced-motion:reduce){.cap-ph img{transition:none}}
.pg-home .cap-icon{background:#0A0A0A;border:1px solid rgba(198,255,61,.5);color:#C6FF3D}
.pg-home .cap-card:hover .cap-icon,.pg-home .cap-card:focus-within .cap-icon,.pg-home .cap-card.is-on .cap-icon{background:#C6FF3D;color:#0A0A0A}
/* sector tiles: photo fills the tile, number and arrow stay pinned (a generic child rule had put them back in the flow) */
.sx-a>.sx-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.sx-a>.sx-n,.sx-a>.sx-go{position:absolute}
.sx-a>.sx-ic,.sx-a>.sx-name{position:relative;z-index:1}
.sx-name{min-width:0;overflow-wrap:anywhere}
.sx-bg{opacity:.55}
.sx-tile:hover .sx-bg,.sx-tile:focus-within .sx-bg{opacity:.85}
.sx-a::before{background:linear-gradient(180deg,rgba(10,10,10,.15),rgba(10,10,10,.8))}
@media (hover:none){.sx-bg{opacity:.55}}

/* ===== Services overview ===== */
.svl{padding:clamp(120px,14vw,168px) 0 clamp(72px,8vw,120px);color:#F5F5F2}
.svl-head{max-width:820px;margin-bottom:clamp(48px,6vw,88px)}
.svl-eyebrow{font:500 12px "JetBrains Mono",ui-monospace,monospace;letter-spacing:.12em;text-transform:uppercase;color:#C6FF3D;margin:0 0 18px}
.svl-head h1{font-family:'Urbanist',sans-serif;font-weight:800;font-size:clamp(38px,5.4vw,72px);line-height:1.05;letter-spacing:-.02em;margin:0 0 20px}
.svl-head>p:not(.svl-eyebrow){font-size:clamp(17px,1.5vw,21px);line-height:1.6;color:rgba(245,245,242,.78);max-width:62ch;margin:0}
.svl-group{margin-bottom:clamp(56px,7vw,104px);scroll-margin-top:96px}
.svl-gh{display:flex;gap:20px;align-items:flex-start;padding-bottom:20px;margin-bottom:26px;border-bottom:1px solid rgba(245,245,242,.16)}
.svl-gh>span{font:500 12px "JetBrains Mono",ui-monospace,monospace;letter-spacing:.1em;color:#C6FF3D;padding-top:10px}
.svl-gh h2{font-family:'Urbanist',sans-serif;font-weight:800;font-size:clamp(28px,3vw,42px);line-height:1.1;margin:0 0 6px;letter-spacing:-.01em}
.svl-gh p{margin:0;color:rgba(245,245,242,.72);font-size:16px}
.svl-grid{display:grid;gap:18px;grid-template-columns:1fr}
@media (min-width:700px){.svl-grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1100px){.svl-grid{grid-template-columns:repeat(3,1fr)}}
.svl-card{display:flex;flex-direction:column;border:1px solid rgba(245,245,242,.14);border-radius:24px;overflow:hidden;background:linear-gradient(160deg,rgba(245,245,242,.06),rgba(245,245,242,.015) 60%);color:inherit;text-decoration:none;transition:border-color .3s,transform .45s cubic-bezier(.2,.7,.2,1)}
.svl-card:hover,.svl-card:focus-visible{border-color:rgba(198,255,61,.55);transform:translateY(-4px)}
.svl-ph{position:relative;display:block;aspect-ratio:3/2;overflow:hidden;background:#141414}
.svl-ph img{width:100%;height:100%;object-fit:cover;display:block;filter:grayscale(.7) contrast(1.05) brightness(.85);transition:transform .8s cubic-bezier(.2,.7,.2,1),filter .5s}
.svl-card:hover .svl-ph img{transform:scale(1.05);filter:grayscale(.35) contrast(1.05) brightness(.95)}
.svl-ph::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(10,10,10,.7))}
.svl-ph b{position:absolute;left:18px;bottom:14px;z-index:1;font:500 12px "JetBrains Mono",ui-monospace,monospace;letter-spacing:.1em;color:#F5F5F2}
.svl-body{display:flex;flex-direction:column;gap:10px;padding:22px 24px 26px;flex:1}
.svl-body h3{font-family:'Urbanist',sans-serif;font-weight:800;font-size:clamp(22px,1.8vw,26px);line-height:1.15;margin:0}
.svl-body p{margin:0;font-size:16px;line-height:1.55;color:rgba(245,245,242,.8)}
.svl-more{margin-top:auto;padding-top:10px;font-weight:700;color:#C6FF3D;display:inline-flex;gap:8px;align-items:center}
.svl-more i{font-style:normal;transition:transform .3s}
.svl-card:hover .svl-more i{transform:translateX(4px)}
@media (prefers-reduced-motion:reduce){.svl-card,.svl-ph img,.svl-more i{transition:none}}

/* ===== Services overview v2: editorial index rows ===== */
.svr-list{list-style:none;margin:0;padding:0;border-top:1px solid rgba(245,245,242,.16)}
.svr-list li{border-bottom:1px solid rgba(245,245,242,.16)}
.svr-row{position:relative;display:grid;grid-template-columns:1fr;gap:16px;padding:26px 0;color:inherit;text-decoration:none;transition:background .35s,padding .35s}
.svr-n{font:500 12px "JetBrains Mono",ui-monospace,monospace;letter-spacing:.1em;color:#C6FF3D}
.svr-t h3{font-family:'Urbanist',sans-serif;font-weight:800;font-size:clamp(30px,4.2vw,60px);line-height:1.02;letter-spacing:-.02em;margin:0 0 12px;transition:color .3s}
.svr-t p{margin:0;max-width:52ch;font-size:clamp(16px,1.25vw,18px);line-height:1.6;color:rgba(245,245,242,.78)}
.svr-more{display:inline-block;margin-top:14px;font:500 12px "JetBrains Mono",ui-monospace,monospace;letter-spacing:.08em;text-transform:uppercase;color:rgba(245,245,242,.6);border-bottom:1px solid rgba(245,245,242,.25);padding-bottom:2px}
.svr-img{display:block;border-radius:18px;overflow:hidden;border:1px solid rgba(245,245,242,.14);aspect-ratio:3/2;max-width:420px;background:#141414;transition:transform .55s cubic-bezier(.2,.7,.2,1)}
.svr-img img{width:100%;height:100%;object-fit:cover;display:block;filter:grayscale(.7) contrast(1.05) brightness(.85);transition:filter .4s}
.svr-go{display:none}
@media (min-width:900px){
  .svr-row{grid-template-columns:64px minmax(0,1fr) 300px 56px;gap:32px;align-items:center;padding:36px 0}
  .svr-img{max-width:none}
  .svr-go{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;border:1.5px solid rgba(198,255,61,.6);color:#C6FF3D;font-size:20px;transition:background .3s,color .3s,transform .3s}
}
.svr-row:hover,.svr-row:focus-visible{background:linear-gradient(90deg,rgba(198,255,61,.07),transparent 70%)}
.svr-row:hover .svr-t h3,.svr-row:focus-visible .svr-t h3{color:#C6FF3D}
.svr-row:hover .svr-img{transform:rotate(-2deg) scale(1.04)}
.svr-row:hover .svr-img img{filter:grayscale(.3) contrast(1.05) brightness(.95)}
.svr-row:hover .svr-go{background:#C6FF3D;color:#0A0A0A;transform:rotate(45deg)}
.svr-row:hover .svr-more{color:#C6FF3D;border-color:#C6FF3D}
@media (prefers-reduced-motion:reduce){.svr-row,.svr-img,.svr-img img,.svr-go{transition:none}.svr-row:hover .svr-img{transform:none}}

/* Solutions: zig-zag rows (photo left on the first row, then alternating) */
.svr-list li{border-bottom:0}
.svr-list{border-top:0;display:grid;gap:clamp(40px,6vw,88px)}
.svr-row{display:grid;grid-template-columns:1fr;gap:22px;padding:0;align-items:center}
.svr-row:hover,.svr-row:focus-visible{background:none}
.svr-n{display:block;margin-bottom:14px}
.svr-img{order:-1;max-width:none;aspect-ratio:3/2;border-radius:24px}
@media (min-width:900px){
  .svr-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(40px,6vw,96px);padding:0}
  .svr-list li:nth-child(odd) .svr-img{order:0}
  .svr-list li:nth-child(odd) .svr-t{order:1}
  .svr-list li:nth-child(even) .svr-img{order:1}
  .svr-list li:nth-child(even) .svr-t{order:0}
  .svr-list li:nth-child(even) .svr-t{text-align:left}
}
.svr-t{max-width:560px}
.svr-row:hover .svr-img{transform:scale(1.02) rotate(0)}
.svr-more{border-bottom-color:rgba(198,255,61,.5);color:#C6FF3D}
/* services overview: room between the last row and the call-to-action box */
.svl .svr-list{margin-bottom:clamp(64px,8vw,112px)}
.svl .sxp-cta{margin-top:0}
/* capability cards: more colour in the photos */
.cap-ph img{filter:grayscale(.15) contrast(1.05) brightness(.95) saturate(1.1);opacity:.7}
.cap-card:hover .cap-ph img,.cap-card:focus-within .cap-ph img,.cap-card.is-on .cap-ph img{opacity:1}

/* approach: images spread through the page */
.apx-gal{display:none}
.apx-bandw{padding-top:8px;padding-bottom:8px}
.apx-band .apx-ph{aspect-ratio:21/9}
.apx-band img{width:100%;height:100%;object-fit:cover;object-position:50% 45%;filter:none}
@media (max-width:767px){.apx-band .apx-ph{aspect-ratio:16/10}}
.apx-jrow{display:grid;gap:28px;grid-template-columns:1fr;align-items:center;margin-bottom:clamp(32px,4vw,56px)}
@media (min-width:900px){.apx-jrow{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:64px}}
.apx-jrow .apx-jhead{margin-bottom:0}
.apx-jfig .apx-ph{aspect-ratio:3/2}
.apx-jfig img{width:100%;height:100%;object-fit:cover}
.apx-endrow{display:grid;gap:28px;grid-template-columns:1fr;align-items:center}
@media (min-width:900px){.apx-endrow{grid-template-columns:320px minmax(0,1fr);gap:56px}}
.apx-efig{max-width:320px}
.apx-efig .apx-ph{aspect-ratio:1/1}
.apx-efig img{width:100%;height:100%;object-fit:cover}
.apx-bandsec{padding:16px 0}

/* three starting points: a photo on each card */
.sp-ph{display:block;aspect-ratio:3/2;border-radius:.75rem;overflow:hidden;margin:-4px -4px 20px;background:#141414;border:1px solid rgba(245,245,242,.1)}
.sp-ph img{width:100%;height:100%;object-fit:cover;display:block;filter:grayscale(.2) contrast(1.03) brightness(.92);transition:transform .7s cubic-bezier(.2,.7,.2,1),filter .4s}
.sp-card:hover .sp-ph img,.sp-card:focus-within .sp-ph img,.sp-card.is-active .sp-ph img{transform:scale(1.04);filter:grayscale(0) contrast(1.03) brightness(1)}
.sp-card:nth-child(1) .sp-ph img{object-position:50% 40%}
.sp-card:nth-child(2) .sp-ph img{object-position:50% 45%}
.sp-card:nth-child(3) .sp-ph img{object-position:50% 50%}
@media (prefers-reduced-motion:reduce){.sp-ph img{transition:none}}
/* countries: no photo band, so the section keeps its own bottom padding again */
.ct{padding-bottom:72px}
@media (min-width:1024px){.ct{padding-bottom:104px}}
.ct-chips{margin-bottom:0}

/* ===== 3D call-to-action banner ===== */
.c3s{padding:clamp(88px,9vw,150px) 0 clamp(40px,5vw,72px)}
.c3{position:relative;display:grid;grid-template-columns:1fr;gap:28px;padding:clamp(28px,5vw,72px);border-radius:32px;background:linear-gradient(135deg,#0A0A0A 35%,#141414);border:1px solid rgba(245,245,242,.12);color:#F5F5F2}
.c3-bg{position:absolute;inset:0;border-radius:inherit;overflow:hidden;pointer-events:none;background:radial-gradient(50% 70% at 0% 0%,rgba(198,255,61,.12),transparent 70%),radial-gradient(60% 80% at 100% 100%,rgba(61,90,254,.32),transparent 70%)}
.c3-copy{position:relative;z-index:1;max-width:620px}
.c3-eb{font:500 12px "JetBrains Mono",ui-monospace,monospace;letter-spacing:.12em;color:#C6FF3D;margin:0 0 18px}
.c3 h2{font-family:'Urbanist',sans-serif;font-weight:800;font-size:clamp(32px,4.4vw,60px);line-height:1.05;letter-spacing:-.025em;margin:0 0 20px}
.c3-g{background:linear-gradient(90deg,#C6FF3D,#3D5AFE);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}
.c3-copy p{font-size:clamp(16px,1.3vw,19px);line-height:1.6;color:rgba(245,245,242,.82);margin:0 0 12px;max-width:52ch}
.c3-copy .c3-small{font:500 12px "JetBrains Mono",ui-monospace,monospace;letter-spacing:.06em;color:rgba(245,245,242,.6);margin:0 0 26px}
.c3-stage{position:relative;height:340px;perspective:1400px;clip-path:inset(-260px -60px 0 -60px);pointer-events:none}
.c3-phone{position:absolute;left:50%;top:-40px;width:210px;height:430px;margin-left:-105px;border-radius:34px;background:#0A0A0A;border:3px solid rgba(245,245,242,.6);transform-style:preserve-3d;transform:rotateY(-20deg) rotateX(10deg) rotateZ(7deg);
  box-shadow:1px 1px 0 #3a3a3a,2px 2px 0 #333,3px 3px 0 #2d2d2d,4px 4px 0 #282828,5px 5px 0 #232323,6px 6px 0 #1e1e1e,28px 36px 60px rgba(0,0,0,.55);animation:c3-float 6s ease-in-out infinite}
.c3-notch{position:absolute;left:50%;top:8px;width:70px;height:20px;margin-left:-35px;border-radius:12px;background:#000;z-index:2}
.c3-screen{position:absolute;inset:6px;border-radius:28px;overflow:hidden;background:#0A0A0A;padding:38px 14px 14px;display:flex;flex-direction:column;gap:12px}
.c3-screen::after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,rgba(245,245,242,.1),transparent 40%);pointer-events:none}
.c3-s-top{display:flex;align-items:center;gap:5px}
.c3-s-top b{font:800 15px 'Urbanist',sans-serif;margin-right:auto}
.c3-s-top i{width:14px;height:2px;background:rgba(245,245,242,.6);border-radius:2px}
.c3-s-hero{display:grid;gap:6px;padding:12px;border-radius:12px;background:linear-gradient(135deg,rgba(61,90,254,.5),rgba(61,90,254,.1))}
.c3-s-hero span{display:block;height:7px;border-radius:4px;background:#F5F5F2}
.c3-s-hero .l1{width:86%}.c3-s-hero .l2{width:64%}.c3-s-hero .l3{width:40%;background:rgba(245,245,242,.5)}
.c3-s-hero u{display:block;width:62px;height:16px;border-radius:999px;background:#C6FF3D;margin-top:6px}
.c3-s-map{height:96px;border-radius:12px;border:1px solid rgba(245,245,242,.12);background:radial-gradient(circle,rgba(245,245,242,.45) 1.1px,transparent 1.6px) 0 0/9px 9px,#141414;position:relative}
.c3-s-map::before,.c3-s-map::after{content:"";position:absolute;width:9px;height:9px;border-radius:50%}
.c3-s-map::before{left:38%;top:34%;background:#3D5AFE;box-shadow:0 0 0 4px rgba(61,90,254,.3)}
.c3-s-map::after{left:58%;top:50%;background:#C6FF3D;box-shadow:0 0 0 4px rgba(198,255,61,.25)}
.c3-s-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}
.c3-s-cards span{height:46px;border-radius:9px;background:#141414;border:1px solid rgba(245,245,242,.12)}
.c3-s-cards span:nth-child(1){border-top:2px solid #C6FF3D}.c3-s-cards span:nth-child(2){border-top:2px solid #3D5AFE}.c3-s-cards span:nth-child(3){border-top:2px solid #C6FF3D}
.c3-chip{position:absolute;z-index:2;padding:8px 14px;border-radius:999px;font:700 12px "JetBrains Mono",ui-monospace,monospace;letter-spacing:.08em;background:#141414;border:1px solid rgba(198,255,61,.5);color:#C6FF3D;box-shadow:0 10px 24px rgba(0,0,0,.45);animation:c3-float2 5s ease-in-out infinite}
.c3-c1{left:6%;top:30%}.c3-c2{right:4%;top:18%;animation-delay:-1.6s;border-color:rgba(61,90,254,.7);color:#F5F5F2}.c3-c3{right:14%;top:70%;animation-delay:-3s}
@keyframes c3-float{0%,100%{transform:rotateY(-20deg) rotateX(10deg) rotateZ(7deg) translateY(0)}50%{transform:rotateY(-20deg) rotateX(10deg) rotateZ(7deg) translateY(-12px)}}
@keyframes c3-float2{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@media (min-width:900px){
  .c3{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:40px;align-items:center;min-height:420px}
  .c3-stage{height:100%;min-height:420px;align-self:stretch}
  .c3-phone{width:270px;height:550px;margin-left:-135px;top:-90px;border-radius:42px}
  .c3-screen{border-radius:36px;padding:46px 18px 18px}
  .c3-notch{width:86px;height:24px;margin-left:-43px}
  .c3-s-map{height:128px}.c3-s-cards span{height:58px}
}
@media (prefers-reduced-motion:reduce){.c3-phone,.c3-chip{animation:none}}

/* 3D banner v2: whole phone visible (top and bottom edges), tighter box */
.c3s{padding:clamp(96px,10vw,150px) 0 clamp(80px,9vw,130px)}
.c3{padding:22px;gap:16px}
.c3-stage{clip-path:none;height:230px;order:-1}
.c3-phone{width:160px;height:330px;margin-left:-80px;top:-70px;border-radius:28px}
.c3-notch{width:54px;height:16px;margin-left:-27px;top:7px}
.c3-screen{padding:30px 10px 10px;gap:8px;inset:5px;border-radius:23px}
.c3-s-hero{padding:9px;gap:5px}.c3-s-map{height:70px}.c3-s-cards span{height:34px}
.c3-s-top b{font-size:12px}
.c3 h2{font-size:clamp(28px,7.6vw,36px);margin-bottom:12px}
.c3-copy p{margin-bottom:8px;font-size:15px}
.c3-copy .c3-small{display:none}
.c3-eb{margin-bottom:12px}
.c3-chip{padding:6px 11px;font-size:11px}
.c3-c1{left:2%;top:46%}.c3-c2{right:0;top:24%}.c3-c3{right:6%;top:78%}
@media (min-width:900px){
  .c3{padding:clamp(32px,4vw,56px);gap:40px;min-height:360px}
  .c3-stage{order:0;height:100%;min-height:360px}
  .c3-phone{width:250px;height:510px;margin-left:-125px;top:-70px;border-radius:40px}
  .c3-notch{width:80px;height:22px;margin-left:-40px;top:9px}
  .c3-screen{padding:44px 16px 16px;gap:11px;inset:6px;border-radius:34px}
  .c3-s-hero{padding:12px;gap:6px}.c3-s-map{height:118px}.c3-s-cards span{height:54px}
  .c3-s-top b{font-size:15px}
  .c3 h2{font-size:clamp(34px,3.8vw,52px)}
  .c3-copy p{font-size:clamp(16px,1.25vw,18px)}
  .c3-copy .c3-small{display:block}
}
.c3-stage{height:252px}
@media (min-width:900px){.c3-stage{height:100%}}

/* 3D banner: the phone shows a white web page */
.c3-screen{background:#F5F5F2;color:#0A0A0A}
.c3-screen::after{background:linear-gradient(120deg,rgba(255,255,255,.55),transparent 38%)}
.c3-s-top i{background:rgba(10,10,10,.55)}
.c3-s-hero{background:#0A0A0A}
.c3-s-hero span{background:#F5F5F2}
.c3-s-hero .l3{background:rgba(245,245,242,.5)}
.c3-s-map{border-color:rgba(10,10,10,.14);background:radial-gradient(circle,rgba(10,10,10,.32) 1.1px,transparent 1.6px) 0 0/9px 9px,#E9E9E6}
.c3-s-cards span{background:#FFFFFF;border-color:rgba(10,10,10,.12)}

/* the phone shows a white version of the cosi home page, authored at 375px and scaled to the screen */
.c3-screen{padding:0;display:block;--s:.4;background:#F5F5F2}
.c3-s-top,.c3-s-hero,.c3-s-map,.c3-s-cards{display:none}
@media (min-width:900px){.c3-screen{--s:.635;padding:0}}
.c3p{width:375px;height:900px;transform:scale(var(--s));transform-origin:0 0;background:#F5F5F2;color:#0A0A0A;font-family:'Urbanist',sans-serif;position:relative}
.c3p-st{display:flex;justify-content:space-between;align-items:center;padding:14px 26px 6px;font:700 15px 'Urbanist',sans-serif}
.c3p-st span{display:flex;gap:4px}.c3p-st i{width:16px;height:9px;border-radius:2px;background:#0A0A0A}
.c3p-hd{display:flex;justify-content:space-between;align-items:center;padding:10px 22px 14px;border-bottom:1px solid rgba(10,10,10,.1)}
.c3p-logo{font:800 28px 'Urbanist',sans-serif;letter-spacing:-.04em}.c3p-logo em{font-style:normal;position:relative}.c3p-logo em::before{content:"";position:absolute;left:50%;top:-4px;width:7px;height:7px;background:#C6FF3D;transform:translateX(-50%) skewX(-20deg)}
.c3p-burger{display:grid;gap:5px;width:28px}.c3p-burger i{height:2.5px;background:#0A0A0A;border-radius:2px}.c3p-burger i:last-child{width:70%;justify-self:end}
.c3p-hero{padding:18px 22px 22px;text-align:center}
.c3p-map{position:relative;height:130px;margin:0 -8px 14px;background:radial-gradient(circle,rgba(10,10,10,.34) 1.3px,transparent 1.9px) 0 0/10px 10px;-webkit-mask-image:radial-gradient(70% 90% at 50% 50%,#000 55%,transparent 100%);mask-image:radial-gradient(70% 90% at 50% 50%,#000 55%,transparent 100%)}
.c3p-d1,.c3p-d2{position:absolute;width:11px;height:11px;border-radius:50%}
.c3p-d1{left:40%;top:38%;background:#3D5AFE;box-shadow:0 0 0 5px rgba(61,90,254,.25)}
.c3p-d2{left:58%;top:50%;background:#C6FF3D;box-shadow:0 0 0 5px rgba(198,255,61,.35);outline:1px solid #0A0A0A}
.c3p-map em{position:absolute;font:600 9px 'JetBrains Mono',monospace;letter-spacing:.1em;font-style:normal}
.c3p-l1{left:22%;top:26%;color:#3D5AFE}.c3p-l2{left:62%;top:66%}
.c3p-hero h3{font:800 25px/1.14 'Urbanist',sans-serif;letter-spacing:-.02em;margin:0 0 18px}
.c3p-btn{display:inline-flex;align-items:center;gap:12px;padding:9px 9px 9px 20px;border-radius:999px;background:#C6FF3D;font:700 15px 'Urbanist',sans-serif}
.c3p-btn u{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#0A0A0A;color:#C6FF3D;text-decoration:none;font-size:16px}
.c3p-tools{display:flex;align-items:center;gap:12px;padding:12px 22px;border-top:1px solid rgba(10,10,10,.1);border-bottom:1px solid rgba(10,10,10,.1);font:600 13px 'Urbanist',sans-serif;white-space:nowrap;overflow:hidden}
.c3p-tools i{width:4px;height:4px;border-radius:50%;background:#C6FF3D;outline:1px solid rgba(10,10,10,.4);flex:none}
.c3p-h2{font:800 28px 'Urbanist',sans-serif;letter-spacing:-.03em;margin:22px 22px 14px}
.c3p-card{position:relative;margin:0 22px 14px;padding:18px;min-height:128px;border:1px solid rgba(10,10,10,.12);border-radius:16px;background:#fff;overflow:hidden}
.c3p-card img{position:absolute;right:0;top:0;width:48%;height:100%;object-fit:cover;-webkit-mask-image:linear-gradient(90deg,transparent,#000 60%);mask-image:linear-gradient(90deg,transparent,#000 60%)}
.c3p-card b{display:block;position:relative;font:800 18px/1.15 'Urbanist',sans-serif;max-width:58%;margin-bottom:8px}
.c3p-card p{position:relative;margin:0;font:500 13px/1.4 'Urbanist',sans-serif;max-width:58%;color:rgba(10,10,10,.72)}
.c3-screen::after{z-index:3}

/* ===== Channel map ===== */
.wy{padding:clamp(24px,4vw,56px) 0 clamp(40px,5vw,80px)}
.wy-box{position:relative;height:clamp(420px,60vw,400px)}
.wy-lines{position:absolute;inset:0;width:100%;height:100%;overflow:visible;display:none}
.wy-lines path{fill:none;stroke:rgba(198,255,61,.55);stroke-width:1.2px;vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:0}
.js .wy-lines path{stroke-dashoffset:1;transition:stroke-dashoffset 1.2s ease-out var(--d,0ms)}
.js .wy-box.is-visible .wy-lines path,.js .wy-box.is-in .wy-lines path{stroke-dashoffset:0}
.wy-pill{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:2;padding:16px 28px;border-radius:12px;background:#0A0A0A;border:1px solid rgba(198,255,61,.7);box-shadow:0 0 60px rgba(198,255,61,.22),0 0 0 6px rgba(198,255,61,.06);text-align:center;max-width:min(86%,380px)}
.wy-pill span{font:600 clamp(16px,1.6vw,22px)/1.25 'Urbanist',sans-serif;color:#F5F5F2}
.wy-t{position:absolute;z-index:1;display:grid;justify-items:center;gap:8px;width:84px;transform:translateY(-50%)}
.wy-i{display:grid;place-items:center;width:64px;height:64px;border-radius:18px;background:#141414;border:1px solid rgba(245,245,242,.14);color:#F5F5F2;box-shadow:0 12px 28px rgba(0,0,0,.4);transition:border-color .3s,color .3s,transform .4s cubic-bezier(.2,.7,.2,1)}
.wy-t.is-b .wy-i{border-color:rgba(61,90,254,.6)}
.wy-t:hover .wy-i{border-color:#C6FF3D;color:#C6FF3D;transform:translateY(-4px)}
.wy-t em{font:500 10.5px 'JetBrains Mono',ui-monospace,monospace;letter-spacing:.06em;font-style:normal;color:rgba(245,245,242,.6);text-align:center;white-space:nowrap}

@media (min-width:900px){.wy-lines{display:block}.wy-box{height:400px}}
/* phones: pill on top, two columns of channel tiles underneath */
@media (max-width:899px){
  .wy-box{height:auto;display:grid;grid-template-columns:1fr 1fr;gap:12px 10px;padding-top:0}
  .wy-pill{position:relative;left:auto;top:auto;transform:none;grid-column:1/-1;max-width:none;margin-bottom:10px}
  .wy-t{position:static!important;transform:none;width:auto;grid-auto-flow:column;justify-content:start;justify-items:start;align-items:center;gap:12px;padding:10px 12px;border:1px solid rgba(245,245,242,.12);border-radius:16px;background:#141414}
  .wy-i{width:44px;height:44px;border-radius:12px;box-shadow:none}
  .wy-t em{font-size:11px;white-space:normal;text-align:left}
}
@media (prefers-reduced-motion:reduce){.js .wy-lines path{stroke-dashoffset:0;transition:none}.wy-i{transition:none}}

/* values / manifesto: header, labelled arms, manifesto paragraph */
.wy{padding:clamp(48px,6vw,96px) 0 clamp(48px,6vw,96px)}
.wy-head{max-width:760px;margin:0 0 clamp(28px,4vw,48px)}
.wy-eb{font:500 12px 'JetBrains Mono',ui-monospace,monospace;letter-spacing:.12em;color:#C6FF3D;margin:0 0 14px}
.wy-head h2{font-family:'Urbanist',sans-serif;font-weight:800;font-size:clamp(30px,4vw,52px);line-height:1.08;letter-spacing:-.02em;margin:0}
.wy-pill{display:grid;gap:4px}
.wy-pill small{font:500 11px 'JetBrains Mono',ui-monospace,monospace;letter-spacing:.12em;text-transform:uppercase;color:#C6FF3D}
.wy-pill span{font-size:clamp(17px,1.7vw,24px)}
.wy-t{width:112px}
.wy-t b{font:500 11px 'JetBrains Mono',ui-monospace,monospace;letter-spacing:.1em;color:#C6FF3D}
.wy-t em{font:700 clamp(14px,1.2vw,17px)/1.15 'Urbanist',sans-serif;letter-spacing:-.005em;color:#F5F5F2;white-space:normal;text-align:center}
.wy-man{margin:clamp(20px,3vw,36px) auto 0;max-width:62ch;text-align:center;font:500 clamp(17px,1.5vw,21px)/1.65 'Urbanist',sans-serif;color:rgba(245,245,242,.82)}
@media (max-width:899px){
  .wy-box{grid-template-columns:1fr 1fr}
  .wy-t{width:auto;grid-template-columns:auto 1fr;grid-template-areas:"i b" "i e";column-gap:12px;row-gap:0;align-items:center}
  .wy-t .wy-i{grid-area:i}.wy-t b{grid-area:b;align-self:end}.wy-t em{grid-area:e;text-align:left;align-self:start;font-size:15px}
  .wy-t:last-of-type{grid-column:1/-1}
  .wy-man{text-align:left}
}

/* hero: the descriptive sentence is back under the headline, so the service is clear at first glance */
body.pg-home .hero-copy .hero-sub{display:block;max-width:46rem;margin:0 auto 28px;text-align:center;font-size:clamp(15px,1.3vw,18px);line-height:1.6;color:rgba(245,245,242,.8)}
.hero-poster-bg .hero-copy .hero-sub{animation:hero-settle 1.2s ease-out 2.6s both}
.hero-poster-bg .hero-copy .flex{animation-delay:3.1s}
@media (max-width:1023px){body.pg-home .hero-copy .hero-sub{margin-bottom:22px}}

/* hero: after the headline, the flat map gathers into a globe under the button */
.hero-orb{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0}
.hero-globe{transition:opacity .9s ease}
.hero-poster-bg.is-orb .hero-globe{opacity:0}
@media (prefers-reduced-motion:reduce){.hero-globe{transition:none}}

/* hero on wide screens: copy on the left, the globe on the right (side by side instead of stacked) */
@media (min-width:1024px){
  body.pg-home main .hero-poster-bg{min-height:clamp(620px,88vh,860px);padding-top:9rem;padding-bottom:5rem}
  body.pg-home .hero-grid2{justify-content:flex-start}
  body.pg-home .hero-copy{max-width:min(640px,50%);margin:0;align-items:flex-start;text-align:left}
  .hero-poster-bg .hero-copy h1{white-space:normal;text-align:left;margin:0 0 20px;width:auto;font-size:clamp(34px,3.7vw,60px);line-height:1.1}
  .hero-poster-bg .hero-copy h1 br{display:block}
  body.pg-home .hero-copy .hero-sub{margin:0 0 28px;text-align:left;max-width:52ch}
  body.pg-home .hero-copy .flex{justify-content:flex-start}
}

/* hero: copy is in place from the first frame; the world map sits on the right from the start */
.hero-poster-bg .hero-grid2,
.hero-poster-bg .hero-copy h1,
.hero-poster-bg .hero-copy .hero-sub,
.hero-poster-bg .hero-copy .flex{animation:none!important;opacity:1!important;transform:none!important;-webkit-mask-image:none!important;mask-image:none!important}
@media (min-width:1024px){
  .hero-globe{inset:0 0 0 46%;width:auto;height:auto;align-items:center;justify-content:center}
  .hero-globe .gl-svg{width:100%;max-width:none;height:auto}
}

/* hero copy: left aligned everywhere (beats the older centred rules) */
body.pg-home .hero-grid2{justify-content:flex-start;text-align:left}
body.pg-home .hero-copy{align-items:flex-start;text-align:left;margin-inline:0}
body.pg-home .hero-copy h1{text-align:left;margin-inline:0;width:auto}
body.pg-home .hero-copy .hero-sub{text-align:left;margin-inline:0}
body.pg-home .hero-copy .flex{justify-content:flex-start}

/* hero timing: the map is drawn in under a second, the globe is formed by about 3 s */
.gl-out{animation-duration:.8s!important;animation-delay:0s!important}
.hero-globe{transition-duration:.5s}

/* hero: the map is already drawn when the page opens; only the change into a globe is animated */
.gl-out{animation:none!important;stroke-dashoffset:0!important}
.gl-hub .gl-core,.gl-lab,.gl-hub{animation:none!important;opacity:1!important}

/* hero on wide screens: sits higher and the section is shorter, so the page proportions read better */
@media (min-width:1024px){
  body.pg-home main .hero-poster-bg{min-height:clamp(540px,74vh,700px);justify-content:flex-start;padding-top:clamp(6.5rem,13vh,9rem);padding-bottom:3.5rem}
}

/* sector tiles: one editorial treatment for all photos - a cobalt duotone at rest, natural colour on hover */
.sx-tile{background:linear-gradient(160deg,#2a3fc9 0%,#141a52 55%,#0A0A0A 100%)}
.sx-bg{opacity:.9;mix-blend-mode:luminosity;filter:contrast(1.15) brightness(1.12);transform:scale(1.03);transition:opacity .5s,filter .5s,transform .8s cubic-bezier(.2,.7,.2,1),mix-blend-mode .5s}
.sx-a::before{background:linear-gradient(180deg,rgba(10,10,10,0) 30%,rgba(10,10,10,.78) 100%);opacity:1}
.sx-tile:hover .sx-bg,.sx-tile:focus-within .sx-bg{opacity:1;mix-blend-mode:normal;filter:contrast(1.05) brightness(.95);transform:scale(1.07)}
.sx-tile:nth-child(1) .sx-bg{object-position:50% 62%}
.sx-tile:nth-child(2) .sx-bg{object-position:50% 45%}
.sx-tile:nth-child(3) .sx-bg{object-position:50% 50%}
.sx-tile:nth-child(4) .sx-bg{object-position:50% 58%}
.sx-tile:nth-child(5) .sx-bg{object-position:50% 40%}
.sx-tile:nth-child(6) .sx-bg{object-position:50% 40%}
.sx-name,.sx-n{text-shadow:0 1px 12px rgba(0,0,0,.55)}
@media (hover:none){.sx-bg{opacity:.9}}
.sx-tile{background:linear-gradient(160deg,#18205f 0%,#0f1233 55%,#0A0A0A 100%)}
.sx-bg{opacity:.8;filter:contrast(1.1) brightness(1.05)}

/* sector tiles: the supplied photographs in their own colours, with a soft shade only where the label sits */
.sx-tile{background:#141414}
.sx-bg{opacity:1;mix-blend-mode:normal;filter:saturate(.88) contrast(1.02) brightness(.92);transform:scale(1.02)}
.sx-a::before{background:linear-gradient(180deg,rgba(10,10,10,0) 38%,rgba(10,10,10,.82) 100%);opacity:1}
.sx-tile:hover .sx-bg,.sx-tile:focus-within .sx-bg{opacity:1;filter:saturate(1) contrast(1.03) brightness(1);transform:scale(1.07)}
.sx-tile .sx-bg{object-position:50% 50%}
.sx-tile:nth-child(1) .sx-bg{object-position:60% 50%}
.sx-tile:nth-child(4) .sx-bg{object-position:50% 50%}
@media (hover:none){.sx-bg{opacity:1}}

/* sector tiles: smaller */
.sx-grid{gap:12px}
.sx-tile{aspect-ratio:16/9;min-height:0;border-radius:16px}
.sx-a{padding:14px;gap:10px}
.sx-ic{width:34px;height:34px;padding:7px}
.sx-n{top:12px;left:14px}
.sx-go{top:10px;right:12px}
.sx-name{font-size:clamp(14px,1.05vw,16px)}
@media (max-width:767px){
  .sx-grid{grid-template-columns:1fr 1fr;gap:10px}
  .sx-tile{aspect-ratio:4/3}
  .sx-a{flex-direction:column;align-items:flex-start;justify-content:flex-end;gap:8px;padding:12px}
  .sx-tile .sx-ic{width:30px;height:30px;padding:6px}
  .sx-name{font-size:14px;line-height:1.15}
  .sx-tile:last-child{grid-column:auto}
}
.sxp-head--np{grid-template-columns:1fr!important}

/* flip cards: front = sector with photo, back = the next sector */
.sx-tile{perspective:1100px}
.sx-flip{position:absolute;inset:0;transform-style:preserve-3d;transition:transform .9s cubic-bezier(.4,.2,.2,1)}
.sx-a{backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:16px;overflow:hidden}
.sx-back{transform:rotateY(180deg);background:linear-gradient(150deg,#1a2470 0%,#0f1233 60%,#0A0A0A 100%);flex-direction:column;align-items:flex-start;justify-content:flex-end}
.sx-back::before{display:none}
.sx-back::after{content:"";position:absolute;right:-30%;top:-40%;width:90%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(198,255,61,.16),transparent 65%);pointer-events:none}
.sx-back .sx-ic{width:44px;height:44px;padding:9px}
.sx-back .sx-name{font-size:clamp(15px,1.15vw,18px)}
.sx-tile.is-flip .sx-flip{transform:rotateY(180deg)}
.sx-ctl{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.sx-flipall{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border-radius:999px;border:1px solid rgba(245,245,242,.25);background:transparent;color:#F5F5F2;font:600 14px 'Urbanist',sans-serif;cursor:pointer;transition:border-color .2s,color .2s}
.sx-flipall:hover,.sx-flipall:focus-visible{border-color:#C6FF3D;color:#C6FF3D}
.sx-flipall[aria-pressed="true"] span{display:inline-block;transform:rotate(180deg)}
@media (prefers-reduced-motion:reduce){.sx-flip{transition:none}}
@media (max-width:767px){
  .sx-back .sx-ic{width:30px;height:30px;padding:6px}
  .sx-back .sx-name{font-size:14px}
  .sx-back .sx-n{top:10px}
}

/* back faces that carry a photograph */
.sx-back.has-ph{background:#141414}
.sx-back.has-ph::before{display:block;background:linear-gradient(180deg,rgba(10,10,10,0) 38%,rgba(10,10,10,.82) 100%);opacity:1}
.sx-back.has-ph::after{display:none}

/* process step 01: a photograph instead of the audit mock */
.ap3-vis-ph{background:#141414}
.ap3-vis-ph img{display:block;width:100%;height:100%;object-fit:cover}

/* approach: desk band smaller on desktop */
@media (min-width:900px){.apx-bandsec .apx-band{max-width:820px;margin-left:auto;margin-right:auto}.apx-bandsec .apx-band .apx-ph{aspect-ratio:21/8}}

/* approach: three photos side by side */
.apx-trio{display:grid;grid-template-columns:1fr;gap:16px}
.apx-trio .apx-band .apx-ph{aspect-ratio:4/3}
@media (min-width:768px){.apx-trio{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}}
@media (min-width:900px){.apx-bandsec .apx-trio .apx-band{max-width:none}.apx-bandsec .apx-trio .apx-band .apx-ph{aspect-ratio:4/3}}

/* hero: flat map starts clear of the text column, centred on the globe's final spot (74%) */
@media (min-width:1024px){.hero-globe{inset:0 8% 0 49%}.hero-globe .gl-svg{width:94%}}

/* hero: CTA centred on mobile */
@media (max-width:1023px){body.pg-home .hero-copy .flex{justify-content:center;width:100%}}

/* home: brands we work with (logos as light monochrome marks) */
.cl{background:var(--ink);color:#fff;padding:56px 0;border-top:1px solid rgba(255,255,255,.08)}
.cl-head{display:grid;gap:14px;margin-bottom:32px}
.cl-eyebrow{font:500 12px "JetBrains Mono",ui-monospace,monospace;letter-spacing:.1em;color:var(--lime);margin:0}
.cl h2{font:700 26px/1.15 "Urbanist",sans-serif;letter-spacing:-.04em;margin:0;text-wrap:balance;max-width:28ch}
.cl-row{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.cl-i{display:flex;align-items:center;justify-content:center;height:96px;background:var(--inkalt);border:1px solid rgba(255,255,255,.1);border-radius:.875rem;padding:0 14px;transition:border-color .2s}
.cl-i:hover{border-color:rgba(198,255,61,.45)}
.cl-i img{display:block;max-width:100%;width:auto;height:auto;opacity:.9;mix-blend-mode:screen}
.cl-grano img{max-height:26px;filter:invert(1)}
.cl-inri img{max-height:56px;filter:invert(1)}
.cl-flaneur21 img{max-height:28px;filter:grayscale(1) brightness(.83) contrast(20)}
@media (min-width:768px){.cl{padding:80px 0}.cl h2{font-size:34px}.cl-row{gap:20px}.cl-i{height:140px}.cl-grano img{max-height:34px}.cl-inri img{max-height:84px}.cl-flaneur21 img{max-height:40px}}
.cl-row{grid-template-columns:repeat(2,minmax(0,1fr))}
.cl-giovanni img{max-height:76px;filter:invert(1)}
@media (min-width:768px){.cl-row{grid-template-columns:repeat(4,minmax(0,1fr))}.cl-giovanni img{max-height:104px}}

/* home countries: desktop heading block stacked in the right half, chips unchanged */
@media (min-width:1024px){
  .ct .ct-head{display:block;margin-left:50%;margin-bottom:32px}
  .ct .ct-lead{margin-top:20px;max-width:46ch}
}
@media (min-width:1024px){
  .ct .ct-head{margin-left:auto;width:min(46%,640px);margin-bottom:48px}
  .ct .ct-head h2{font-size:clamp(40px,3.6vw,54px);line-height:1.06}
  .ct .ct-eyebrow{margin-bottom:24px}
  .ct .ct-lead{font-size:18px;max-width:none;margin-top:24px}
}
@media (min-width:1024px){.ct .ct-chips{margin-left:auto;width:min(46%,640px);flex-wrap:wrap;gap:12px}}

/* home countries: photo fills the open left half on desktop */
.ct-ph{display:none}
@media (min-width:1024px){
  .ct .max-w-\[1440px\]{position:relative}
  .ct-ph{display:block;position:absolute;left:3rem;top:0;bottom:0;width:calc(50% - 3rem - 40px);margin:0;border-radius:1rem;overflow:hidden;border:1px solid rgba(255,255,255,.1)}
  .ct-ph img{display:block;width:100%;height:100%;object-fit:cover;filter:saturate(.85)}
}

/* sectors: calm, unified photos (muted + darkened); natural colour on hover/focus */
.sx-tile .sx-a>.sx-bg{opacity:1;mix-blend-mode:normal;filter:saturate(.45) brightness(.62) contrast(1.05);transform:scale(1.02);transition:filter .5s ease,transform .8s cubic-bezier(.2,.7,.2,1)}
.sx-tile .sx-a::before{background:linear-gradient(180deg,rgba(10,10,10,.1) 0%,rgba(10,10,10,.55) 55%,rgba(10,10,10,.85) 100%);opacity:1}
.sx-tile:hover .sx-a>.sx-bg,.sx-tile:focus-within .sx-a>.sx-bg{filter:saturate(1) brightness(.9) contrast(1.03);transform:scale(1.06)}

/* starting points: open panel made clearer and easier to read */
.sp .sp-panel{background:rgba(245,245,242,.04);border:1px solid rgba(245,245,242,.14);border-radius:1rem;padding:24px;margin-top:8px}
.sp .sp-who{font-size:17px;line-height:1.6;font-weight:400;color:#F5F5F2;margin:0 0 20px}
.sp .sp-who span{font-size:12px;font-weight:500;letter-spacing:.12em;color:var(--lime);margin-bottom:10px}
.sp .sp-links{display:flex;flex-wrap:wrap;gap:8px;font-size:0}
.sp .sp-links>span{display:none}
.sp .sp-links a{display:inline-flex;align-items:center;font-size:14px;font-weight:600;color:var(--lime);border:1px solid rgba(198,255,61,.5);border-radius:999px;padding:8px 14px;text-decoration:none;transition:background .2s,color .2s}
.sp .sp-links a:hover{background:var(--lime);color:#0A0A0A;text-decoration:none}
.sp .sp-b{gap:0}
.sp .sp-b li{font-size:17px;line-height:1.55;font-weight:400;color:#F5F5F2;padding:16px 0 16px 34px;border-top:1px solid rgba(245,245,242,.12)}
.sp .sp-b li:first-child{border-top:0;padding-top:0}
.sp .sp-b li:last-child{padding-bottom:0}
.sp .sp-b li::before{width:14px;height:2px;top:calc(16px + .78em);background:var(--lime)}
.sp .sp-b li:first-child::before{top:.78em}
@media (min-width:1024px){.sp .sp-panel{padding:32px 36px;column-gap:48px}.sp .sp-pl{grid-column:1/5}.sp .sp-b{grid-column:6/13}.sp .sp-b li{font-size:18px}}

/* starting points: three fixed columns, nothing opens */
.sp .sp-card{display:flex;flex-direction:column}
.sp .sp-t{margin:0;font:700 28px/1.1 "Urbanist",sans-serif;letter-spacing:-.02em;color:#fff}
.sp .sp-sit{font-size:17px;line-height:1.55;font-style:normal;color:#F5F5F2;margin:12px 0 22px}
.sp .sp-b{margin:0 0 24px;padding-top:4px}
.sp .sp-b li:first-child{border-top:1px solid rgba(245,245,242,.12);padding-top:16px}
.sp .sp-b li:first-child::before{top:calc(16px + .78em)}
.sp .sp-links{margin-top:auto}
.sp .sp-b li{font-size:16px}
@media (min-width:1024px){.sp .sp-t{font-size:30px}.sp .sp-b li{font-size:16px}}
.sp .sp-b li{padding-top:12px;padding-bottom:12px}
.sp .sp-b li:first-child{padding-top:12px}
.sp .sp-b li:last-child{padding-bottom:12px}
.sp .sp-b li::before,.sp .sp-b li:first-child::before{top:calc(12px + .78em)}

/* process loop (arc, arrowhead, label): on desktop it arrives after the steps */
@media (min-width:768px){
  .js .hf-arcwrap .hf-arc{transition:clip-path 1.1s ease-out 1.4s}
  .js .hf-arcwrap .hf-ah{transition:opacity .4s 2.4s}
  .js .hf-arcwrap .hf-al{opacity:0;transform:translate(-50%,8px);transition:opacity .6s ease-out 2.5s,transform .6s ease-out 2.5s}
  .js .hf-arcwrap.is-visible .hf-al{opacity:1;transform:translateX(-50%)}
}
@media (min-width:768px) and (prefers-reduced-motion:reduce){
  .js .hf-arcwrap .hf-arc,.js .hf-arcwrap .hf-ah,.js .hf-arcwrap .hf-al{transition:none}
  .js .hf-arcwrap .hf-al{opacity:1;transform:translateX(-50%)}
}

/* process loop: earlier and more visible */
.hf-arc path{stroke:rgba(198,255,61,.85);stroke-width:2px;stroke-dasharray:7 6}
.hf-ah{width:14px;height:14px;left:-7px;top:-3px;border-top-width:2.5px;border-left-width:2.5px;border-color:#C6FF3D}
.hf-al{font-size:13px;font-weight:600;letter-spacing:.1em;color:#F5F5F2}
.hf-al::before{content:"\2191";color:#C6FF3D;margin-right:8px}
@media (min-width:768px){
  .js .hf-arcwrap .hf-arc{transition:clip-path .9s ease-out .5s}
  .js .hf-arcwrap .hf-ah{transition:opacity .3s 1.3s}
  .js .hf-arcwrap .hf-al{transition:opacity .5s ease-out 1.2s,transform .5s ease-out 1.2s}
}
.sp .sp-b{margin-bottom:0}

/* starting points: tighter cards, height follows the text */
.sp .sp-ph{aspect-ratio:16/9;margin-bottom:16px}
.sp .sp-sit{margin:10px 0 16px}
.sp .sp-b li,.sp .sp-b li:first-child,.sp .sp-b li:last-child{padding-top:9px;padding-bottom:9px}
.sp .sp-b li::before,.sp .sp-b li:first-child::before{top:calc(9px + .78em)}
.sp .sp-b li:last-child{padding-bottom:0}
@media (min-width:1024px){.sp .sp-card{padding:24px 24px 26px}}

/* page ambience: stronger lime-green wash, section backgrounds let it through */
main.site-main{background-image:radial-gradient(70% 30% at 12% 24%,rgba(198,255,61,.24),transparent 100%),radial-gradient(60% 24% at 90% 52%,rgba(198,255,61,.12),transparent 100%),radial-gradient(60% 24% at 86% 78%,rgba(61,90,254,.16),transparent 100%)}
.sp,.cl{background:transparent}
.ct{background-color:transparent}

/* starting points: easier-to-read list (numbered, bold lead-in, heavier weight) */
.sp .sp-b{counter-reset:spn}
.sp .sp-b li{counter-increment:spn;position:relative;padding:14px 0 14px 44px;font-size:17px;line-height:1.5;font-weight:500;color:#E9E9E3;letter-spacing:0}
.sp .sp-b li::before{content:counter(spn,decimal-leading-zero);position:absolute;left:0;top:calc(14px + .22em);width:auto;height:auto;background:none;font:500 13px "JetBrains Mono",ui-monospace,monospace;letter-spacing:.06em;color:var(--lime)}
.sp .sp-b li b{display:block;font-weight:700;font-size:17px;color:#fff;margin-bottom:2px}
.sp .sp-b li:first-child{padding-top:14px}
.sp .sp-b li:last-child{padding-bottom:0}
.sp .sp-b li:first-child::before{top:calc(14px + .22em)}
.sp .sp-b li,.sp .sp-b li:first-child{padding-top:11px;padding-bottom:11px}
.sp .sp-b li:last-child{padding-bottom:0}
.sp .sp-b li::before,.sp .sp-b li:first-child::before{top:calc(11px + .22em)}
.sp .sp-b li:first-child{border-top:0;padding-top:4px}
.sp .sp-b li:first-child::before{top:calc(4px + .22em)}

/* about: the two photos share one shorter height and align on both edges */
.ab2-duo{align-items:start}
.ab2-duo .ab2-ph-a,.ab2-duo .ab2-ph-b{aspect-ratio:16/10}
@media (min-width:1024px){
  .ab2-duo .ab2-ph-a,.ab2-duo .ab2-ph-b{aspect-ratio:auto;height:clamp(260px,26vw,360px)}
  .ab2-duo .ab2-ph img{height:100%}
}

/* about: "why we started" – readable, on-theme layout */
.ab2-why-r{max-width:none;gap:20px}
.ab2-why .ab2-lead{font-size:20px;line-height:1.5;font-weight:500;color:#fff}
.ab2-q{list-style:none;margin:0;padding:0;display:grid;gap:12px;counter-reset:abq}
.ab2-q li{counter-increment:abq;position:relative;padding:18px 20px 18px 60px;background:var(--inkalt);border:1px solid rgba(255,255,255,.12);border-radius:1rem;font:600 19px/1.4 "Urbanist",sans-serif;letter-spacing:-.01em;color:#fff}
.ab2-q li::before{content:counter(abq,decimal-leading-zero);position:absolute;left:20px;top:21px;font:500 13px "JetBrains Mono",ui-monospace,monospace;letter-spacing:.06em;color:var(--lime)}
.ab2-why .ab2-body{font-size:18px;line-height:1.65;color:#E9E9E3;max-width:62ch}
.ab2-why .ab2-mono{display:inline-block;justify-self:start;font-size:12px;color:#F5F5F2;border:1px solid rgba(198,255,61,.5);border-radius:999px;padding:8px 14px;text-transform:uppercase}
@media (min-width:1024px){
  .ab2-why-in{grid-template-columns:4fr 8fr}
  .ab2-why .ab2-lead{font-size:22px}
  .ab2-q{grid-template-columns:repeat(3,minmax(0,1fr))}
  .ab2-q li{padding:52px 18px 20px;font-size:18px}
  .ab2-q li::before{left:18px;top:20px}
}

/* about "why we started" v2: the three sentences are struck out, big and typographic */
.ab2-why .ab2-lead{font-size:15px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;font-family:"JetBrains Mono",ui-monospace,monospace;color:var(--lime)}
.ab2-q{display:block;grid-template-columns:none;gap:0;border-top:1px solid rgba(255,255,255,.14)}
.ab2-q li{display:block;padding:20px 0;background:none;border:0;border-bottom:1px solid rgba(255,255,255,.14);border-radius:0;font:700 clamp(24px,4.4vw,40px)/1.15 "Urbanist",sans-serif;letter-spacing:-.03em;color:#9A9A94;text-decoration:line-through;text-decoration-color:var(--lime);text-decoration-thickness:3px;text-decoration-skip-ink:none}
.ab2-q li::before{content:none}
.ab2-why .ab2-body:first-of-type{font-size:22px;line-height:1.5;font-weight:500;color:#fff}
@media (min-width:1024px){
  .ab2-q{grid-template-columns:none}
  .ab2-q li{padding:24px 0;font-size:40px}
  .ab2-q li::before{content:none}
  .ab2-why .ab2-lead{font-size:13px}
  .ab2-why .ab2-body:first-of-type{font-size:26px}
}

/* struck-out sentences: the line is drawn after the sentence is in view */
.ab2-q li{text-decoration:none}
.ab2-q li span{background:linear-gradient(var(--lime),var(--lime)) 0 56%/0 3px no-repeat;-webkit-box-decoration-break:clone;box-decoration-break:clone;transition:background-size .7s cubic-bezier(.2,.7,.2,1)}
.ab2-q.is-struck li span{background-size:100% 3px}
.ab2-q.is-struck li:nth-child(1) span{transition-delay:.5s}
.ab2-q.is-struck li:nth-child(2) span{transition-delay:1.1s}
.ab2-q.is-struck li:nth-child(3) span{transition-delay:1.7s}
.no-js .ab2-q li span,.ab2-q.is-static li span{background-size:100% 3px}
@media (prefers-reduced-motion:reduce){.ab2-q li span{background-size:100% 3px;transition:none}}

/* about "why we started": photo on the left, heading + text stacked on the right (desktop) */
.ab2-why-ph{display:none;margin:0}
@media (min-width:1024px){
  .ab2-why .ab2-why-in{grid-template-columns:5fr 7fr;column-gap:64px;row-gap:28px;align-items:start}
  .ab2-why-ph{display:block;grid-column:1;grid-row:1/3;position:sticky;top:110px;border-radius:1rem;overflow:hidden;border:1px solid rgba(255,255,255,.1);aspect-ratio:4/5;background:#121212}
  .ab2-why-ph img{display:block;width:100%;height:100%;object-fit:cover;object-position:78% 50%;filter:saturate(.9) contrast(1.02)}
  .ab2-why .ab2-why-l{grid-column:2;grid-row:1}
  .ab2-why .ab2-why-r{grid-column:2;grid-row:2}
}

/* about: "why we started" now opens the page */
.ab2-why-first{padding-top:clamp(112px,12vw,160px)}
.ab2-why-first .ab2-why-in{border-top:0;padding-top:0}

/* about: the opening statement is the page's h1 */
.ab2-h1-why{font-size:clamp(34px,8vw,44px);line-height:1.04;letter-spacing:-.045em}
@media (min-width:1024px){.ab2-h1-why{font-size:clamp(48px,4.6vw,64px)}}
.ab2-hero .ab2-h1{font-size:clamp(30px,7vw,36px)}
@media (min-width:1024px){.ab2-hero .ab2-h1{font-size:clamp(44px,4vw,56px)}}

/* about: "how we work" photos + process read as one section */
.ab2-hero{padding:72px 0 0}
#surec,#processo{padding:64px 0 56px}
.ab2-hero .ab2-hero-p{font-size:17px;color:#D8D8D2;max-width:44ch}
.ab2-hero .ab2-fig figcaption{margin-top:12px}
@media (min-width:1024px){
  .ab2-hero{padding:96px 0 0}
  #surec,#processo{padding:88px 0 96px}
  .ab2-hero .ab2-h1{font-size:48px;line-height:1.06}
  .ab2-hero .ab2-hero-p{font-size:17px}
  .ab2-hero .ab2-hero-grid{margin-bottom:0}
  #surec .ab2-wrap::before,#processo .ab2-wrap::before{content:"";display:block;height:1px;background:rgba(255,255,255,.12);margin-bottom:56px}
}
@media (min-width:1024px){
  #surec,#processo{padding-top:56px}
  #surec .ab2-wrap::before,#processo .ab2-wrap::before{margin-bottom:44px}
  .ab2-hero .ab2-h1{font-size:44px}
}

/* about: "what we don't do" follows the dark page instead of a coloured panel */
body.pg-about .ab2-paper{background:transparent;color:#F5F5F2}
body.pg-about .ab2-paper .ab2-lines{border-top:1px solid rgba(255,255,255,.14)}
body.pg-about .ab2-paper .ab2-line{border-bottom:1px solid rgba(255,255,255,.14)}
body.pg-about .ab2-paper .ab2-side,body.pg-about .ab2-paper .ab2-line p{color:#D8D8D2}
body.pg-about .ab2-paper .ab2-line b{color:#fff;font-weight:700}
body.pg-about .ab2-paper .ab2-x{stroke:#C6FF3D}
body.pg-about .ab2-paper .ab2-x{padding:0}
body.pg-about .ab2-paper .ab2-line{transition:background .25s}
body.pg-about .ab2-paper .ab2-line:hover{background:linear-gradient(90deg,rgba(198,255,61,.06),transparent 60%)}

/* about "what we don't do": compact table (icon | rule | reason) */
body.pg-about .ab2-paper .ab2-lines{border:1px solid rgba(255,255,255,.14);border-radius:1rem;overflow:hidden;background:rgba(255,255,255,.03)}
body.pg-about .ab2-paper .ab2-line{display:grid;grid-template-columns:20px 1fr;column-gap:14px;row-gap:4px;align-items:start;padding:16px 18px;border-bottom:1px solid rgba(255,255,255,.12)}
body.pg-about .ab2-paper .ab2-line:last-child{border-bottom:0}
body.pg-about .ab2-paper .ab2-line .ab2-x{grid-column:1;grid-row:1;width:16px;height:16px;margin-top:3px}
body.pg-about .ab2-paper .ab2-line b{grid-column:2;font-size:16px;line-height:1.35}
body.pg-about .ab2-paper .ab2-line p{grid-column:2;font-size:14px;line-height:1.5;color:#C9C9C2}
@media (min-width:1024px){
  body.pg-about .ab2-paper .ab2-line{grid-template-columns:20px minmax(0,380px) minmax(0,1fr);column-gap:24px;align-items:center;padding:14px 24px}
  body.pg-about .ab2-paper .ab2-line .ab2-x{margin-top:0;align-self:center}
  body.pg-about .ab2-paper .ab2-line b{grid-column:2;font-size:16px}
  body.pg-about .ab2-paper .ab2-line p{grid-column:3;font-size:15px;max-width:none;padding-left:24px;border-left:1px solid rgba(255,255,255,.12)}
}
/* "what we don't do" table: one step larger */
body.pg-about .ab2-paper .ab2-line{padding:18px 20px}
body.pg-about .ab2-paper .ab2-line b{font-size:17px}
body.pg-about .ab2-paper .ab2-line p{font-size:15px}
body.pg-about .ab2-paper .ab2-line .ab2-x{width:18px;height:18px}
@media (min-width:1024px){
  body.pg-about .ab2-paper .ab2-line{grid-template-columns:22px minmax(0,420px) minmax(0,1fr);padding:20px 28px}
  body.pg-about .ab2-paper .ab2-line b{font-size:19px}
  body.pg-about .ab2-paper .ab2-line p{font-size:17px;line-height:1.5}
}
/* about "work moments": heading on one line on desktop */
@media (min-width:1024px){.abp-h{max-width:none;white-space:nowrap}}
/* "what we don't do": intro text sits under the heading on desktop */
@media (min-width:1024px){body.pg-about .ab2-paper .ab2-head{grid-template-columns:1fr;gap:20px;margin-bottom:40px}body.pg-about .ab2-paper .ab2-side{max-width:62ch}}

/* about "work moments": three equal columns, short text under each photo */
.abp-f{background:none;border:0;box-shadow:none;border-radius:0;overflow:visible}
.abp-f::after{content:none}
.abp-f img{border-radius:1rem;border:1px solid rgba(255,255,255,.12);aspect-ratio:4/3;object-fit:cover}
.abp-f:hover img{transform:none}
.abp-f figcaption{position:static;display:block;background:none;color:#D8D8D2;padding:16px 4px 0;border-radius:0;text-transform:none;letter-spacing:0;font:400 16px/1.55 "Urbanist",sans-serif}
.abp-f figcaption b{display:block;font:700 20px/1.2 "Urbanist",sans-serif;letter-spacing:-.02em;color:#fff;margin-bottom:6px}
@media (min-width:768px){
  .abp-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:auto;gap:24px}
  .abp-1,.abp-2,.abp-3{grid-row:auto;grid-column:auto}
  .abp-1 img,.abp-2 img,.abp-3 img{aspect-ratio:4/3;height:auto}
}

/* solutions list: rows are plain content, not links */
.svr-row{cursor:default}
.svr-row:hover{background:none}
.svr-row:hover .svr-t h3{color:inherit}
.svr-row:hover .svr-img{transform:none}
.svr-row:hover .svr-img img{filter:none}

/* solutions: sizes brought in line with the other pages */
.svr-list{gap:clamp(32px,4vw,56px)}
.svr-row{gap:18px}
.svr-t h3{font-size:26px;line-height:1.12;margin:0 0 10px}
.svr-t p{font-size:16px;line-height:1.55;max-width:46ch}
.svr-img{aspect-ratio:3/2;border-radius:1rem}
@media (min-width:900px){
  .svr-list li:nth-child(odd) .svr-row{grid-template-columns:minmax(0,440px) minmax(0,1fr);gap:56px}
  .svr-list li:nth-child(even) .svr-row{grid-template-columns:minmax(0,1fr) minmax(0,440px);gap:56px;justify-items:start}
  .svr-list li:nth-child(even) .svr-img{justify-self:end}
  .svr-t h3{font-size:30px}
  .svr-t p{font-size:17px}
}
.svl-head h1{font-size:clamp(34px,4vw,52px);line-height:1.08;margin-bottom:16px}
.svl-head>p:not(.svl-eyebrow){font-size:17px;line-height:1.6;max-width:58ch}
.svl-head{margin-bottom:clamp(36px,4vw,56px)}
.svl .sxp-cta h2{font-size:clamp(26px,2.6vw,34px)}

/* solutions zig-zag: every row is the same width, centred, with the same gap between photo and text */
@media (min-width:900px){
  .svr-list li:nth-child(odd) .svr-row{grid-template-columns:minmax(0,440px) minmax(0,520px);justify-content:center;gap:56px}
  .svr-list li:nth-child(even) .svr-row{grid-template-columns:minmax(0,520px) minmax(0,440px);justify-content:center;gap:56px;justify-items:start}
  .svr-list li:nth-child(even) .svr-img{justify-self:stretch}
  .svr-t{max-width:none}
}
@media (min-width:900px){
  .svr-list li .svr-row{justify-items:stretch}
  .svr-t{width:100%}
  .svr-t p{max-width:none}
}

/* solutions: rows span the full page width again; text sits right next to its photo */
@media (min-width:900px){
  .svr-list li:nth-child(odd) .svr-row{grid-template-columns:440px minmax(0,1fr);justify-content:stretch;gap:56px}
  .svr-list li:nth-child(even) .svr-row{grid-template-columns:minmax(0,1fr) 440px;justify-content:stretch;gap:56px}
  .svr-list li:nth-child(odd) .svr-t{width:100%;max-width:520px;justify-self:start}
  .svr-list li:nth-child(even) .svr-t{width:100%;max-width:520px;justify-self:end}
  .svr-list li:nth-child(even) .svr-img{justify-self:end}
}

/* solutions: one centred text column; photos alternate to its left and right */
@media (min-width:900px){
  .svr-list li .svr-row{grid-template-columns:minmax(0,1fr) minmax(0,480px) minmax(0,1fr);gap:48px;align-items:center;justify-content:stretch}
  .svr-list li .svr-t{grid-column:2;grid-row:1;width:100%;max-width:none;justify-self:stretch;order:0}
  .svr-list li:nth-child(odd) .svr-img{grid-column:1;grid-row:1;justify-self:start;order:0}
  .svr-list li:nth-child(even) .svr-img{grid-column:3;grid-row:1;justify-self:end;order:0}
  .svr-list li .svr-img{width:100%;max-width:none}
}
@media (min-width:900px){
  .svr-list li:nth-child(odd) .svr-row,.svr-list li:nth-child(even) .svr-row{grid-template-columns:minmax(0,1fr) minmax(0,480px) minmax(0,1fr);gap:48px;align-items:center;justify-content:stretch}
  .svr-list li:nth-child(odd) .svr-t,.svr-list li:nth-child(even) .svr-t{grid-column:2;grid-row:1;width:100%;max-width:none;justify-self:stretch}
  .svr-list li:nth-child(odd) .svr-img{grid-column:1;grid-row:1;justify-self:start;width:100%}
  .svr-list li:nth-child(even) .svr-img{grid-column:3;grid-row:1;justify-self:end;width:100%}
}

/* solutions: five-point content list in the free side of each row, revealed with the row */
.svr-b{list-style:none;margin:0;padding:0;display:grid;gap:0;counter-reset:svb}
.svr-b li{counter-increment:svb;position:relative;padding:12px 0 12px 40px;border-top:1px solid rgba(255,255,255,.12);font:600 16px/1.35 "Urbanist",sans-serif;color:#F5F5F2}
.svr-b li:last-child{border-bottom:1px solid rgba(255,255,255,.12)}
.svr-b li::before{content:counter(svb,decimal-leading-zero);position:absolute;left:0;top:calc(12px + .15em);font:500 12px "JetBrains Mono",ui-monospace,monospace;letter-spacing:.06em;color:var(--lime)}
.js .svr-b li{opacity:0;transform:translateX(-18px);transition:opacity .55s ease-out,transform .55s ease-out}
.js .svr-b li.is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.js .svr-b li,.js .svr-list li:nth-child(even) .svr-b li{opacity:1;transform:none;transition:none}}
@media (max-width:899px){.svr-b{margin-top:4px}}
@media (min-width:900px){
  .svr-list li:nth-child(odd) .svr-b{grid-column:3;grid-row:1;align-self:center;max-width:384px}
  .svr-list li:nth-child(even) .svr-b{grid-column:1;grid-row:1;align-self:center;max-width:384px;justify-self:start}
  .js .svr-list li:nth-child(even) .svr-b li{transform:translateX(18px)}
  .js .svr-list li:nth-child(even) .svr-b li.is-in{transform:none}
}
@media (min-width:900px){.svr-list li:nth-child(even) .svr-b{width:100%;justify-self:stretch}}

/* solutions: text and list sit inside the same outlined frame style as the photos */
.svr-t,.svr-b{border:1px solid rgba(255,255,255,.14);border-radius:1rem;background:rgba(255,255,255,.03)}
.svr-t{padding:22px 22px 24px}
.svr-b{padding:8px 22px}
.svr-b li{border-top-color:rgba(255,255,255,.1)}
.svr-b li:first-child{border-top:0}
.svr-b li:last-child{border-bottom:0}
@media (min-width:900px){
  .svr-t{padding:28px 30px 30px}
  .svr-b{padding:10px 26px}
}
@media (min-width:900px){
  .svr-list li:nth-child(odd) .svr-row,.svr-list li:nth-child(even) .svr-row{align-items:stretch}
  .svr-t{display:flex;flex-direction:column;justify-content:center}
  .svr-b{align-self:stretch;display:flex;flex-direction:column;justify-content:center}
  .svr-list li:nth-child(odd) .svr-b,.svr-list li:nth-child(even) .svr-b{align-self:stretch}
}

/* solutions: one clear outline per service; photo, text and list live inside it */
.svr-row{border:1.5px solid rgba(245,245,242,.32);border-radius:1.25rem;background:rgba(255,255,255,.03);padding:16px;gap:18px;transition:border-color .3s}
.svr-t,.svr-b{border:0;background:none;border-radius:0}
.svr-img{border:0;border-radius:.875rem}
.svr-t{padding:6px 4px}
.svr-b{padding:0 4px}
@media (min-width:900px){
  .svr-list li:nth-child(odd) .svr-row,.svr-list li:nth-child(even) .svr-row{padding:22px;gap:40px;grid-template-columns:minmax(0,1fr) minmax(0,460px) minmax(0,1fr)}
  .svr-t{padding:8px 4px}
  .svr-b{padding:0 0 0 0}
  .svr-list li:nth-child(odd) .svr-b{border-left:1px solid rgba(245,245,242,.18);padding-left:32px}
  .svr-list li:nth-child(even) .svr-b{border-right:1px solid rgba(245,245,242,.18);padding-right:32px}
}

/* solutions: every row has the same layout – photo left, service in the middle, five points right */
@media (min-width:900px){
  .svr-list li:nth-child(even) .svr-img{grid-column:1;grid-row:1;justify-self:start;width:100%}
  .svr-list li:nth-child(even) .svr-b{grid-column:3;grid-row:1;justify-self:stretch;max-width:none;border-right:0;padding-right:0;border-left:1px solid rgba(245,245,242,.18);padding-left:32px}
  .js .svr-list li:nth-child(even) .svr-b li{transform:translateX(-18px)}
  .js .svr-list li:nth-child(even) .svr-b li.is-in{transform:none}
}

/* approach: process block follows the opening section more closely */
@media (min-width:1024px){.apx-hero{padding-bottom:24px}.apx-hero + .hf{padding-top:40px}}
@media (max-width:1023px){.apx-hero + .hf{padding-top:32px}}

/* approach: each of the four cards opens with a photo */
.apx-cph{display:block;aspect-ratio:3/2;border-radius:.75rem;overflow:hidden;border:1px solid rgba(255,255,255,.1);background:#121212;margin:0 0 20px}
.apx-cimg{display:block;width:100%;height:100%;object-fit:cover}
.apx-cimg-1{filter:invert(1) hue-rotate(180deg) saturate(1.1)}
@media (min-width:1024px){.apx-cph{margin-bottom:24px}}

/* approach cards: compact, four across on wide screens */
.apx-card{padding:20px}
.apx-cph{margin-bottom:16px;aspect-ratio:16/10}
.apx-card h3{font-size:20px;line-height:1.2;margin-bottom:8px}
.apx-sum{font-size:15px;line-height:1.5}
.apx-card ul{padding-top:14px;gap:8px}
.apx-card li{font-size:14px;line-height:1.45}
@media (min-width:768px){.apx-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.apx-card{padding:22px}.apx-card h3{font-size:21px}.apx-sum{font-size:15px}}
@media (min-width:1200px){.apx-cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.apx-card{padding:20px}.apx-card h3{font-size:20px}}

/* approach: spacing and card photos in proportion with the rest of the page */
.apx-hero + .hf{padding-bottom:32px}
.apx-hero + .hf + .apx-alt{padding-top:32px;padding-bottom:64px}
.apx-cph{aspect-ratio:2/1}
@media (min-width:1024px){.apx-hero + .hf{padding-bottom:40px}.apx-hero + .hf + .apx-alt{padding-top:40px;padding-bottom:88px}}

/* approach: no tinted panel behind the cards, so there is no hard edge against the page glow */
body:not(.pg-home) main .apx-alt{background:transparent}

/* approach: title above the four cards */
.apx-ch{font:700 clamp(30px,6vw,36px)/1.08 "Urbanist",sans-serif;letter-spacing:-.04em;margin:0 0 28px;color:#fff;text-wrap:balance}
@media (min-width:1024px){.apx-ch{font-size:44px;margin-bottom:36px}}

/* approach cards: a notch larger, same left/right edges as the rest of the page */
.apx-cph{aspect-ratio:3/2}
.apx-tag{font-size:13px}
.apx-card h3{font-size:22px;margin-bottom:10px}
.apx-sum{font-size:16px;line-height:1.55}
.apx-card li{font-size:15px;line-height:1.5}
@media (min-width:768px){.apx-card{padding:26px}.apx-card h3{font-size:23px}}
@media (min-width:1200px){.apx-cards{gap:24px}.apx-card{padding:24px}.apx-card h3{font-size:22px}}

/* approach hero photo: shorter on desktop */
@media (min-width:1024px){.apx-hf .apx-ph{aspect-ratio:auto;height:440px;max-height:none}.apx-hf .apx-ph img{object-position:50% 38%}}

/* approach: even vertical rhythm between hero, process flow and cards */
.apx .apx-ch{margin:0 0 28px}
.apx-hero{padding-bottom:40px}
.apx-hero + .hf{padding-top:40px;padding-bottom:48px}
.apx-hero + .hf + .apx-alt{padding-top:40px;padding-bottom:72px}
@media (min-width:1024px){
  .apx .apx-ch{margin-bottom:40px}
  .apx-hero{padding-bottom:64px}
  .apx-hero + .hf{padding-top:64px;padding-bottom:72px}
  .apx-hero + .hf + .apx-alt{padding-top:64px;padding-bottom:104px}
}

/* approach closing: photo, question and button stacked and centred on desktop */
@media (min-width:900px){
  .apx-end .apx-endrow{grid-template-columns:1fr;justify-items:center;text-align:center;gap:32px}
  .apx-end .apx-efig{width:260px;max-width:260px}
  .apx-end .apx-close{background:none;border:0;border-radius:0;padding:0;display:grid;grid-template-columns:1fr;justify-items:center;gap:28px}
  .apx-end .apx-close h2{font-size:clamp(30px,3vw,40px);line-height:1.1;margin:0;text-align:center}
  .apx-end .apx-close .hero-cta{width:auto;justify-content:flex-start}
}
@media (min-width:1024px){.apx-end{padding-top:24px;padding-bottom:104px}}

/* work page closing card: same dark card language as the rest of the site (no solid blue panel) */
.wk-cta-card{background:radial-gradient(120% 140% at 100% 0,rgba(198,255,61,.12),transparent 60%),rgba(255,255,255,.03);border:1px solid rgba(198,255,61,.35);padding:28px 24px;gap:22px}
.wk-cta-card h2{font-size:26px;line-height:1.1;margin-bottom:10px}
.wk-cta-card p{color:#D8D8D2;font-size:16px}
@media (min-width:768px){.wk-cta-card{padding:44px 48px;gap:40px}.wk-cta-card h2{font-size:clamp(28px,2.6vw,36px)}.wk-cta-card p{font-size:17px}}

/* real characters in the hero H1 (İstanbul, Milano); the accented glyph is drawn on top so crawlers and screen readers read the right word */
.ac[data-g]{color:transparent}
.ac[data-g]::after{content:attr(data-g);position:absolute;left:0;top:0;color:#F5F5F2;pointer-events:none}

/* work + insights: nothing published yet */
.wk-soon{margin:0;padding:48px 0;font:500 20px/1.5 "Urbanist",sans-serif;color:#D8D8D2;max-width:48ch}
.in-empty{padding:48px 0;font:500 20px/1.5 "Urbanist",sans-serif;color:#D8D8D2}

/* service pages: related services with a context sentence */
.rel-list{list-style:none;margin:0;padding:0;display:grid;gap:16px}
.rel-list li{border:1px solid rgba(255,255,255,.14);border-radius:1rem;padding:20px 22px;background:rgba(255,255,255,.03)}
.rel-list a{display:inline-block;font:700 19px/1.25 "Urbanist",sans-serif;letter-spacing:-.02em;color:#C6FF3D;text-decoration:none;border-bottom:1px solid rgba(198,255,61,.45)}
.rel-list a:hover{border-bottom-color:#C6FF3D}
.rel-list p{margin:10px 0 0;font-size:15px;line-height:1.5;color:#D8D8D2}
@media (min-width:768px){.rel-list{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* footer: services + priority sectors (site-wide internal links) */
.ft-nav{display:grid;grid-template-columns:1fr;gap:28px;margin:0 0 40px;padding-top:32px;border-top:1px solid rgba(255,255,255,.1)}
.ft-nav ul{list-style:none;margin:0;padding:0;display:grid;gap:8px;font-size:15px}
.ft-nav a{color:inherit;text-decoration:none}.ft-nav a:hover{color:#C6FF3D}
@media (min-width:768px){.ft-nav{grid-template-columns:2fr 1fr;gap:48px}.ft-nav>div:first-child ul{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px}}

/* ---- real case studies ---- */
.wk-list{padding-top:8px}
.cs-grid{display:grid;grid-template-columns:1fr;gap:20px}
.cs-card{display:flex;flex-direction:column;gap:14px;padding:26px 24px;border:1px solid rgba(255,255,255,.14);border-radius:1.25rem;background:rgba(255,255,255,.03);color:inherit;text-decoration:none;transition:border-color .25s,transform .25s}
.cs-card:hover,.cs-card:focus-visible{border-color:rgba(198,255,61,.5);transform:translateY(-3px)}
.cs-sector{margin:0;font:500 12px "JetBrains Mono",ui-monospace,monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--lime)}
.cs-card h2{margin:0;font:700 24px/1.15 "Urbanist",sans-serif;letter-spacing:-.03em;color:#fff;text-wrap:balance}
.cs-client{margin:0;font-size:14px;color:#9A9A94}
.cs-m{list-style:none;margin:6px 0 0;padding:16px 0 0;border-top:1px solid rgba(255,255,255,.12);display:grid;gap:12px}
.cs-m li{display:flex;align-items:baseline;gap:12px}
.cs-m b{flex:none;min-width:84px;font:800 28px/1 "Urbanist",sans-serif;letter-spacing:-.03em;color:var(--lime)}
.cs-m span{font-size:14px;line-height:1.35;color:#D8D8D2}
.cs-tags{margin:0;display:flex;flex-wrap:wrap;gap:8px}
.cs-tags span{font:500 12px "JetBrains Mono",ui-monospace,monospace;letter-spacing:.04em;color:#D8D8D2;border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:5px 11px}
.cs-more{margin-top:auto;padding-top:8px;font-weight:700;color:#fff}
.cs-more i{font-style:normal;display:inline-block;transition:transform .25s;color:var(--lime)}
.cs-card:hover .cs-more i{transform:translateX(4px)}
@media (min-width:768px){.cs-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1200px){.cs-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.cs-card{padding:30px 28px}.cs-card h2{font-size:26px}}

.cs-hero{padding:120px 0 40px;background:radial-gradient(50% 70% at 85% 0%,rgba(61,90,254,.2),transparent 62%)}
.cs-back{display:inline-flex;gap:8px;margin-bottom:28px;font:500 14px "JetBrains Mono",ui-monospace,monospace;color:#D8D8D2;text-decoration:none}
.cs-back:hover{color:var(--lime)}
.cs-hero h1{margin:0 0 20px;max-width:22ch;font:800 clamp(34px,5vw,60px)/1.04 "Urbanist",sans-serif;letter-spacing:-.045em;text-wrap:balance}
.cs-tags-lg{margin-bottom:36px}
.cs-prof{margin:0;display:grid;grid-template-columns:1fr;gap:0;border:1px solid rgba(255,255,255,.14);border-radius:1.25rem;background:rgba(255,255,255,.03);overflow:hidden}
.cs-prof>div{padding:18px 22px;border-top:1px solid rgba(255,255,255,.1)}
.cs-prof>div:first-child{border-top:0}
.cs-prof dt{font:500 12px "JetBrains Mono",ui-monospace,monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--lime);margin-bottom:6px}
.cs-prof dd{margin:0;font-size:16px;line-height:1.5;color:#F5F5F2}
@media (min-width:1024px){.cs-prof{grid-template-columns:repeat(3,minmax(0,1fr))}.cs-prof>div{border-top:0;border-left:1px solid rgba(255,255,255,.1);padding:22px 26px}.cs-prof>div:first-child{border-left:0}.cs-prof>div:nth-child(n+4){border-top:1px solid rgba(255,255,255,.1)}.cs-prof>div:nth-child(4){border-left:0}.cs-prof>div:last-child{grid-column:span 2}}

.cs-sec{padding:56px 0}
.cs-sec h2{margin:0 0 28px;font:700 clamp(28px,3.4vw,44px)/1.08 "Urbanist",sans-serif;letter-spacing:-.04em}
.cs-two{display:grid;grid-template-columns:1fr;gap:20px}
.cs-two h2{margin:0}
.cs-lead{margin:0 0 18px;font-size:19px;line-height:1.6;color:#E9E9E3;max-width:62ch}
@media (min-width:1024px){.cs-sec{padding:80px 0}.cs-two{grid-template-columns:4fr 8fr;gap:64px}.cs-lead{font-size:21px}}
.cs-ch{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;gap:16px}
.cs-ch li{padding:24px;border:1px solid rgba(255,255,255,.14);border-radius:1rem;background:rgba(255,255,255,.03)}
.cs-no{display:block;margin-bottom:12px;font:500 13px "JetBrains Mono",ui-monospace,monospace;color:var(--lime)}
.cs-ch h3{margin:0 0 8px;font:700 21px/1.2 "Urbanist",sans-serif;letter-spacing:-.02em}
.cs-ch p{margin:0;font-size:16px;line-height:1.55;color:#D8D8D2}
@media (min-width:900px){.cs-ch{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}}
.cs-ap{display:grid;grid-template-columns:1fr;gap:20px}
.cs-ap article{padding:26px 24px;border:1px solid rgba(255,255,255,.14);border-radius:1.25rem;background:rgba(255,255,255,.03)}
.cs-letter{margin:0 0 14px;display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;border:1.5px solid var(--lime);font:500 14px "JetBrains Mono",ui-monospace,monospace;color:var(--lime)}
.cs-ap h3{margin:0 0 16px;font:700 22px/1.18 "Urbanist",sans-serif;letter-spacing:-.025em}
.cs-ap ul{list-style:none;margin:0;padding:0;display:grid;gap:0}
.cs-ap li{padding:14px 0;border-top:1px solid rgba(255,255,255,.12)}
.cs-ap li b{display:block;margin-bottom:4px;font-size:16px;color:#fff}
.cs-ap li p{margin:0;font-size:15px;line-height:1.55;color:#D8D8D2}
@media (min-width:1024px){.cs-ap{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.cs-ap article{padding:32px 30px}}
.cs-res{background:radial-gradient(60% 80% at 50% 100%,rgba(198,255,61,.07),transparent 65%)}
.cs-note{margin:-12px 0 28px;font-size:17px;color:#D8D8D2}
.cs-rg{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;gap:16px}
.cs-rg li{padding:26px 24px;border:1px solid rgba(198,255,61,.35);border-radius:1.25rem;background:radial-gradient(120% 140% at 100% 0,rgba(198,255,61,.1),transparent 60%),rgba(255,255,255,.03)}
.cs-rg b{display:block;margin-bottom:10px;font:800 clamp(40px,4.4vw,56px)/1 "Urbanist",sans-serif;letter-spacing:-.045em;color:var(--lime)}
.cs-rg h3{margin:0 0 8px;font:700 19px/1.2 "Urbanist",sans-serif;letter-spacing:-.02em}
.cs-rg p{margin:0;font-size:15px;line-height:1.55;color:#D8D8D2}
@media (min-width:768px){.cs-rg{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1200px){.cs-rg{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}}
.cs-ap h3{display:flex;align-items:center;gap:14px}
.cs-letter{margin:0;flex:none}
.cs-chips{margin:0;display:flex;flex-wrap:wrap;gap:12px}
.cs-chips a{display:inline-flex;font:600 16px "Urbanist",sans-serif;color:var(--lime);border:1px solid rgba(198,255,61,.5);border-radius:999px;padding:10px 18px;text-decoration:none}
.cs-chips a:hover{background:var(--lime);color:#0A0A0A}

/* TR hero: the apostrophe suffix stays glued to the city name on the line above */
.hero-copy>h1 .nw{display:inline-block;white-space:nowrap;vertical-align:baseline}
