/* DIGITUP — editorial public site. All component colors come from these tokens. */
@font-face {
  font-family:Inter;
  src:url('/assets/fonts/inter-latin.woff2') format('woff2');
  font-weight:100 900;
  font-display:swap
}
@font-face {
  font-family:Tajawal;
  src:url('/assets/fonts/tajawal-400-arabic.woff2') format('woff2');
  font-weight:400;
  font-display:swap
}
@font-face {
  font-family:Tajawal;
  src:url('/assets/fonts/tajawal-700-arabic.woff2') format('woff2');
  font-weight:700;
  font-display:swap
}
:root {
  --paper:#101125;
  --paper-2:#181a35;
  --card:#fff;
  --ink:#f5f5fa;
  --muted:#b2b4c9;
  --brand:#a2a6ff;
  --action:#484edb;
  --action-hover:#3c42bd;
  --gold:#feca3c;
  --line:#33364f;
  --on-dark:#f5f5fa;
  --dark-muted:#c7c6c0;
  --dark:#0c0d1c;
  --overlay:rgba(10,11,23,.9);
  --hero-glow:rgba(77,65,191,.23);
  --grid-dot:rgba(179,181,237,.15);
  --light-canvas:#f5f6fa;
  --light-ink:#212334;
  --light-muted:#585d72;
  --light-line:#d5d8e2;
  --mask-opaque:#000;
  --nav-bg:rgba(16,17,37,.94);
  --sans:Inter,system-ui,sans-serif;
  --max:1480px;
  --gutter:clamp(22px,4.5vw,80px);
  --fast:150ms;
  --medium:220ms;
  --slow:420ms;
  --ease:cubic-bezier(.2,.7,.2,1);
}
* {
  box-sizing:border-box
}
html {
  scroll-behavior:smooth;
  scroll-padding-top:100px
}
body {
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:var(--sans);
  font-size:14px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased
}
html[lang=ar] {
  --sans:Tajawal,Inter,system-ui,sans-serif
}
html[lang=ar] h1 {
  font-family:Inter,system-ui,sans-serif
}
::selection {
  background:var(--brand);
  color:var(--on-dark)
}
a {
  color:inherit;
  text-decoration:none
}
button {
  font:inherit;
  color:inherit;
  cursor:pointer
}
button,a,summary {
  -webkit-tap-highlight-color:transparent
}
button {
  background:none
}
img {
  display:block;
  max-width:100%;
  height:auto
}
svg {
  display:block
}
h1,h2,h3,h4,p,figure {
  margin:0
}
em {
  font-style:normal
}
a,button,summary {
  touch-action:manipulation
}
:focus-visible {
  outline:2px solid var(--brand);
  outline-offset:6px
}
button:disabled {
  opacity:.4;
  cursor:default
}
[hidden] {
  display:none!important
}
.wrap {
  width:100%;
  max-width:var(--max);
  margin-inline:auto;
  padding-inline:var(--gutter)
}
.skip-link {
  position:fixed;
  inset-block-start:12px;
  inset-inline-start:12px;
  z-index:100;
  background:var(--paper);
  padding:12px 20px;
  transform:translateY(-160%)
}
.skip-link:focus {
  transform:none
}
.section {
  padding-block:100px;
  scroll-margin-top:36px
}
.section-head {
  margin-bottom:45px
}
.eyebrow {
  font-size:11px;
  font-weight:600;
  letter-spacing:.08em;
  text-transform:uppercase
}
.section-head .eyebrow {
  margin-bottom:24px
}
.h2 {
  font-size:clamp(30px,3.4vw,48px);
  font-weight:500;
  line-height:1.12;
  letter-spacing:-.045em;
  text-wrap:balance;
  max-width:880px
}
.h2 em {
  color:var(--muted)
}
.lead {
  font-size:15px;
  line-height:1.75;
  color:var(--muted);
  max-width:600px
}
.section-head .lead {
  margin-top:24px
}
.num {
  font-size:12px;
  font-variant-numeric:tabular-nums;
  color:var(--muted)
}
/* Quiet navigation, with the work as the primary destination. */
.nav {
  position:sticky;
  top:0;
  z-index:30;
  background:var(--nav-bg);
  border-bottom:1px solid var(--line);
  backdrop-filter:blur(16px)
}
.nav-inner {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
  min-height:90px
}
.brand-logo {
  display:block;
  width:150px;
  flex-shrink:0
}
.brand-logo img {
  width:100%
}
.nav-links {
  display:flex;
  gap:30px;
  margin-inline-start:auto
}
.nav-links a,.nav-login {
  font-size:12px;
  font-weight:500;
  min-height:44px;
  display:flex;
  align-items:center
}
.nav-links a {
  position:relative
}
.nav-links a:after {
  content:'';
  position:absolute;
  inset-inline:0;
  bottom:7px;
  height:1px;
  background:currentColor;
  transform:scaleX(0);
  transform-origin:left;
  transition:transform var(--medium)
}
.nav-links a:hover:after {
  transform:scaleX(1)
}
.nav-right {
  display:flex;
  align-items:center;
  gap:24px
}
.lang-switch {
  display:flex;
  align-items:center;
  gap:2px
}
.lang-switch button {
  border:0;
  min-width:40px;
  min-height:44px;
  font-size:11px;
  color:var(--muted);
  padding:0 7px
}
.lang-switch button[aria-pressed=true] {
  color:var(--brand);
  text-decoration:underline;
  text-underline-offset:5px
}
.lang-switch>span {
  display:none
}
.nav-login {
  border-inline-start:1px solid var(--line);
  padding-inline-start:24px
}
.nav-burger {
  display:none;
  width:44px;
  height:44px;
  border:0;
  padding:10px
}
.nav-burger span {
  height:1px;
  display:block;
  background:var(--ink);
  margin:6px 0
}
.mobile-menu {
  position:fixed;
  inset:90px 0 0;
  z-index:29;
  overflow-y:auto;
  background:var(--paper);
  padding:30px var(--gutter) 60px
}
.mm-link {
  display:block;
  font-size:30px;
  line-height:1.3;
  padding:10px 0;
  border-bottom:1px solid var(--line)
}
.mm-lang {
  margin-top:20px
}
.mm-label {
  margin-top:25px;
  color:var(--muted)
}
.mm-sub {
  display:flex;
  gap:25px;
  margin:12px 0 30px
}
.mm-sub a {
  min-height:44px;
  display:flex;
  align-items:center
}
.menu-open {
  overflow:hidden
}
/* Hero: an oversized wordmark composition, punctuated by one direction arrow. */
.hero {
  padding-top:44px;
  padding-bottom:0
}
.hero-kicker {
  display:flex;
  justify-content:space-between;
  gap:24px
}
.edition {
  font-size:10px;
  font-weight:500;
  letter-spacing:.06em;
  color:var(--muted)
}
.hero-heading {
  display:grid;
  grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);
  align-items:end;
  gap:40px;
  margin-top:50px
}
.hero h1 {
  font-size:clamp(64px,8.4vw,124px);
  line-height:.95;
  font-weight:500;
  letter-spacing:-.078em
}
.hero h1>span {
  display:block
}
.hero h1>span+span {
  white-space:nowrap
}
.hero h1 em {
  position:relative
}
.hero h1 em:after {
  content:'';
  position:absolute;
  bottom:1%;
  inset-inline:8% 0;
  height:6px;
  background:var(--gold)
}
.hero-arrow {
  display:inline-block;
  width:.62em;
  height:.62em;
  margin-inline-start:.18em;
  transition:transform var(--slow) var(--ease);
  vertical-align:baseline;
  color:var(--brand)
}
.hero-note {
  padding-bottom:10px;
  font-size:14px;
  line-height:1.65
}
.tiny-orbit {
  display:block;
  font-size:46px;
  line-height:1;
  margin-bottom:22px
}
.hero-index {
  display:block;
  font-size:9px;
  letter-spacing:.05em;
  margin-top:24px;
  color:var(--muted)
}
.hero-bottom {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:60px;
  margin-block:44px
}
.hero-bottom .lead {
  max-width:520px;
  font-size:14px
}
.hero-sub:empty {
  display:none
}
.hero-sub:not(:empty) {
  font-size:22px;
  margin-bottom:12px
}
.hero-actions {
  flex-shrink:0;
  display:flex;
  align-items:center;
  gap:30px
}
.btn {
  min-height:52px;
  border:1px solid var(--line);
  border-radius:8px;
  padding:15px 22px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:28px;
  font-size:12px;
  font-weight:500;
  transition:transform var(--medium) var(--ease),background var(--medium),color var(--medium)
}
.btn-primary {
  background:var(--action);
  border-color:var(--action);
  color:var(--on-dark)
}
.btn-primary:hover {
  background:var(--action-hover)
}
.btn-primary>span[aria-hidden] {
  font-size:22px;
  line-height:1
}
.btn-whatsapp {
  border-color:var(--line)
}
.btn-whatsapp svg {
  width:18px;
  height:18px
}
.link-work {
  display:flex;
  gap:20px;
  align-items:center;
  font-size:12px;
  min-height:44px
}
.link-work:hover {
  color:var(--brand)
}
.hero-stage {
  display:block;
  width:100%;
  max-width:420px;
  justify-self:end;
  position:relative;
  overflow:hidden;
  border-radius:12px;
  background:var(--dark);
  color:var(--on-dark)
}
.stage-image {
  overflow:hidden;
  aspect-ratio:3/1
}
.stage-image img {
  width:100%;
  height:100%;
  object-fit:cover;
  transform:translate(var(--shift-x,0px),var(--shift-y,0px)) scale(1.035);
  transition:transform var(--slow) var(--ease)
}
.stage-caption {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:18px 24px;
  font-size:11px
}
.stage-cta {
  display:flex;
  align-items:center;
  gap:20px;
  color:var(--dark-muted)
}
/* A static logo roster allows deliberate browsing, with no perpetual marquee. */
.clients-section {
  padding-block:70px
}
.clients-section .section-head {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:30px;
  margin-bottom:32px
}
.clients-section .eyebrow {
  margin:0;
  max-width:150px
}
.clients-section .h2 {
  font-size:24px;
  letter-spacing:-.03em;
  max-width:440px
}
.clients-section .lead {
  display:none
}
.logo-preview {
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:1px;
  border-block:1px solid var(--line)
}
.logo-chip {
  height:110px;
  display:flex;
  align-items:center;
  justify-content:center
}
.logo-chip img {
  width:130px;
  height:85px;
  object-fit:contain;
  mix-blend-mode:normal;
  filter:grayscale(1);
  transition:filter var(--medium)
}
.logo-chip:hover img {
  filter:none
}
.logo-more>summary {
  cursor:pointer;
  font-size:11px;
  color:var(--muted);
  padding:16px 0;
  min-height:44px;
  text-align:end;
  list-style-position:inside
}
.logo-more .logo-preview {
  border-top:0
}
/* Portfolio: native horizontal scrolling, plus keyboard-operable controls. */
#stories {
  border-top:1px solid var(--line);
  padding-top:80px
}
.stories-rail {
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:calc((100% - 48px)/3);
  gap:24px;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  scrollbar-width:thin;
  scrollbar-color:var(--line) transparent;
  padding:8px 6px 24px;
  margin-inline:-6px
}
.story-card {
  min-width:0;
  border:0;
  padding:0;
  text-align:start;
  scroll-snap-align:start;
  align-self:start
}
.story-art {
  display:block;
  aspect-ratio:4/5;
  overflow:hidden;
  border-radius:10px;
  background:var(--paper-2)
}
.story-art img {
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform var(--slow) var(--ease)
}
.story-card:hover .story-art img {
  transform:scale(1.035)
}
.story-caption {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding-top:18px;
  font-size:15px
}
.story-caption strong {
  font-weight:500
}
.story-caption>span {
  font-size:22px
}
.story-description {
  display:block;
  font-size:11px;
  color:var(--muted);
  margin-top:4px
}
.stories-controls {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  font-size:11px;
  color:var(--muted);
  margin-top:20px
}
.stories-controls>div {
  display:flex;
  gap:10px
}
.stories-controls button {
  border:1px solid var(--line);
  width:46px;
  height:46px;
  border-radius:50%;
  font-size:22px
}
.stories-controls button:hover {
  border-color:var(--brand);
  color:var(--brand)
}
/* Proof and method use rules and whitespace instead of repeated cards. */
.proof-section {
  padding-block:60px;
  border-block:1px solid var(--line)
}
.proof-section .section-head {
  display:grid;
  grid-template-columns:1fr 2fr;
  gap:32px
}
.proof-section .eyebrow {
  margin:0
}
.proof-section .h2 {
  font-size:30px;
  max-width:700px
}
.proof-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:35px;
  padding-top:24px
}
.stat-tile {
  display:flex;
  flex-direction:column;
  gap:12px;
  border-inline-start:1px solid var(--line);
  padding-inline-start:22px
}
.stat-ic {
  display:none
}
.stat-tile strong {
  font-size:48px;
  line-height:1.2;
  font-weight:500;
  letter-spacing:-.05em;
  font-variant-numeric:tabular-nums
}
.stat-tile>span {
  font-size:12px;
  color:var(--muted);
  max-width:220px
}
.system-carousel {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:32px
}
.system-carousel .card {
  border-top:1px solid var(--line);
  padding-top:20px
}
.system-carousel h3 {
  font-size:20px;
  letter-spacing:-.03em;
  font-weight:500;
  margin:32px 0 14px
}
.card p {
  font-size:13px;
  line-height:1.8;
  color:var(--muted)
}
.slider-dots {
  display:none
}
#services {
  border-block:1px solid var(--line);
  display:grid;
  grid-template-columns:minmax(0,.8fr) minmax(0,1.3fr);
  gap:50px
}
#services .section-head {
  position:sticky;
  top:130px;
  align-self:start
}
#services .h2 {
  font-size:38px
}
.services-slider {
  display:block
}
.services-slider .card {
  display:grid;
  grid-template-columns:32px 1fr 22px;
  gap:14px;
  border-top:1px solid var(--line);
  padding:24px 0;
  position:relative;
  transition:padding var(--medium)
}
.services-slider .card:last-child {
  border-bottom:1px solid var(--line)
}
.services-slider .card:after {
  content:'↗';
  grid-column:3;
  grid-row:1;
  font-size:22px;
  line-height:1
}
.services-slider .card h3 {
  font-size:19px;
  font-weight:500;
  letter-spacing:-.025em
}
.services-slider .card p {
  grid-column:2;
  max-width:500px
}
.services-slider .card:hover {
  padding-inline-start:10px;
  color:var(--brand)
}
.services-all {
  grid-column:2;
  font-size:12px;
  margin-top:-20px
}
.services-all a {
  display:inline-flex;
  min-height:44px;
  align-items:center;
  text-decoration:underline;
  text-underline-offset:6px
}
.why-section {
  display:grid;
  grid-template-columns:1fr 1.3fr;
  gap:80px
}
.why-section .h2 {
  font-size:38px
}
.why-acc details {
  border-top:1px solid var(--line)
}
.why-acc details:last-child {
  border-bottom:1px solid var(--line)
}
.why-acc summary {
  display:flex;
  align-items:center;
  gap:20px;
  padding:24px 0;
  cursor:pointer;
  list-style:none
}
.why-acc summary::-webkit-details-marker {
  display:none
}
.acc-num {
  color:var(--muted);
  font-size:11px
}
.acc-title {
  font-size:17px;
  font-weight:500
}
.acc-ic {
  width:18px;
  height:18px;
  margin-inline-start:auto;
  transition:transform var(--medium)
}
details[open] .acc-ic {
  transform:rotate(180deg)
}
.acc-body {
  padding:0 38px 25px;
  font-size:13px;
  line-height:1.8;
  color:var(--muted)
}
.founder-section {
  background:var(--paper-2);
  padding-block:70px
}
.founder-grid {
  display:grid;
  grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);
  gap:100px;
  align-items:center
}
.founder-portrait {
  max-width:440px;
  border-radius:12px;
  overflow:hidden
}
.founder-portrait img {
  width:100%;
  aspect-ratio:1;
  object-fit:cover
}
.founder-copy .eyebrow {
  margin-bottom:24px
}
.founder-role {
  font-size:12px;
  color:var(--muted);
  margin-top:12px
}
.founder-quote {
  font-size:18px;
  line-height:1.7;
  letter-spacing:-.02em;
  margin-top:30px
}
.founder-quote em {
  font-weight:600
}
.founder-badges {
  display:flex;
  gap:20px;
  flex-wrap:wrap;
  font-size:10px;
  margin-top:30px;
  color:var(--muted)
}
.founder-badges>span {
  border-top:1px solid var(--line);
  padding-top:12px
}
#team .section-head {
  display:grid;
  grid-template-columns:1fr 2fr;
  gap:20px 50px
}
#team .eyebrow {
  grid-row:1/3;
  margin:0
}
#team .lead {
  margin:0
}
.cover-card {
  border-radius:12px;
  overflow:hidden
}
.cover-card img {
  width:100%
}
.contact-section {
  padding-block:80px 100px
}
.contact-card {
  border-top:1px solid var(--line);
  padding-top:60px;
  text-align:center
}
.contact-card .eyebrow {
  margin-bottom:24px
}
.contact-card .h2 {
  max-width:820px;
  margin-inline:auto;
  font-size:clamp(36px,5.5vw,76px)
}
.contact-card .lead {
  margin:28px auto
}
.cta-actions {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:15px
}
.contact-reassure {
  font-size:11px;
  color:var(--muted);
  margin-top:22px
}
.footer {
  padding-block:60px 25px;
  background:var(--dark);
  color:var(--on-dark)
}
.footer-grid {
  display:grid;
  grid-template-columns:2fr 1fr 1fr 1fr;
  gap:60px
}
.footer-logo {
  width:150px
}
.footer-tagline {
  max-width:290px;
  color:var(--dark-muted);
  font-size:12px;
  margin-top:25px
}
.footer-col {
  display:flex;
  flex-direction:column;
  gap:5px
}
.footer-col h4 {
  font-size:11px;
  margin-bottom:12px;
  font-weight:500;
  color:var(--dark-muted)
}
.footer-col a {
  font-size:12px;
  min-height:32px;
  display:flex;
  align-items:center
}
.footer-col a:hover {
  text-decoration:underline;
  text-underline-offset:5px
}
.footer :focus-visible {
  outline-color:var(--gold)
}
.footer-signature {
  font-size:clamp(42px,11vw,164px);
  font-weight:500;
  letter-spacing:-.065em;
  line-height:1.1;
  margin-block:70px 45px
}
.foot-bottom {
  display:flex;
  justify-content:space-between;
  gap:20px;
  font-size:10px;
  color:var(--dark-muted);
  border-top:1px solid var(--muted);
  padding-top:22px
}
/* Native dialog keeps focus and Escape semantics. */
.story-modal {
  border:1px solid var(--line);
  border-radius:12px;
  padding:36px 64px 18px;
  background:var(--dark);
  color:var(--on-dark);
  max-width:calc(100vw - 24px);
  max-height:calc(100dvh - 24px);
  overflow:auto
}
.story-modal::backdrop {
  background:var(--overlay)
}
.story-modal figure {
  margin:0
}
.story-modal figure img {
  height:min(76dvh,850px);
  width:auto;
  max-width:100%;
  object-fit:contain;
  margin:auto
}
.story-modal figcaption {
  font-size:12px;
  text-align:center;
  margin-top:10px
}
.modal-close,.modal-nav {
  position:absolute;
  color:var(--on-dark);
  border:0;
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  font-size:30px
}
.modal-close {
  right:6px;
  top:0
}
.modal-nav {
  top:45%
}
.modal-nav.prev {
  left:5px
}
.modal-nav.next {
  right:5px
}
.story-modal :focus-visible {
  outline-color:var(--gold)
}
.project-cursor {
  pointer-events:none;
  position:fixed;
  top:-31px;
  left:-31px;
  width:62px;
  height:62px;
  border-radius:50%;
  background:var(--paper);
  color:var(--ink);
  z-index:45;
  display:grid;
  place-items:center;
  font-size:30px;
  opacity:0;
  transition:opacity var(--fast);
  border:1px solid var(--line)
}
.project-cursor.is-visible {
  opacity:1
}
/* Reveal is only enabled after observer setup; content survives script failures. */
.motion-ready .reveal {
  opacity:0;
  transform:translateY(18px);
  transition:opacity var(--slow) var(--ease),transform var(--slow) var(--ease)
}
.motion-ready .reveal.in {
  opacity:1;
  transform:none
}
@media(min-width:1101px) {
  .hero-heading {
    min-height:280px
  }
}
@media(max-width:1100px) {
  .nav-links {
    display:none
  }
  .nav-burger {
    display:block
  }
  .nav-right {
    margin-inline-start:auto
  }
  .hero-heading {
    grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);
    gap:20px
  }
  .hero h1 {
    font-size:11vw
  }
  .hero-bottom {
    gap:35px
  }
  .hero-actions {
    flex-direction:column;
    align-items:flex-start;
    gap:10px
  }
  .hero-note {
    font-size:12px
  }
  .hero-index {
    font-size:8px
  }
  .edition {
    font-size:8px
  }
  .section {
    padding-block:70px
  }
  .stories-rail {
    grid-auto-columns:42%
  }
  .founder-grid {
    gap:50px
  }
  .footer-grid {
    gap:30px
  }
  .why-section {
    gap:40px
  }
  #services {
    gap:35px
  }
  .logo-chip img {
    width:100px
  }
  .logo-chip {
    height:90px
  }
  .system-carousel {
    gap:22px
  }
}
@media(max-width:720px) {
  html {
    scroll-padding-top:80px
  }
  .nav-inner {
    min-height:74px;
    gap:12px
  }
  .brand-logo {
    width:124px
  }
  .nav-right {
    gap:8px
  }
  .nav-right>.lang-switch {
    display:none
  }
  .nav-login {
    border:0;
    padding:0;
    font-size:11px
  }
  .mobile-menu {
    top:74px
  }
  .hero {
    padding-top:28px
  }
  .hero-kicker {
    align-items:flex-start
  }
  .hero-kicker .eyebrow {
    font-size:9px;
    max-width:200px
  }
  .edition {
    display:none
  }
  .hero-heading {
    display:block;
    margin-top:38px
  }
  .hero h1 {
    font-size:15vw;
    letter-spacing:-.075em
  }
  .hero h1 em:after {
    height:3px
  }
  .hero-note {
    display:flex;
    align-items:center;
    gap:15px;
    margin-top:28px;
    max-width:none
  }
  .tiny-orbit {
    font-size:27px;
    margin:0
  }
  .hero-note p {
    font-size:12px;
    max-width:230px
  }
  .hero-index {
    display:none
  }
  .hero-bottom {
    display:block;
    margin-block:20px 30px
  }
  .hero-bottom .lead {
    font-size:13px
  }
  .hero-actions {
    flex-direction:row;
    align-items:center;
    justify-content:space-between;
    gap:15px;
    margin-top:25px;
    flex-wrap:wrap
  }
  .btn {
    font-size:11px;
    padding:14px 17px;
    gap:20px;
    min-height:48px
  }
  .link-work {
    font-size:11px;
    gap:12px
  }
  .stage-image {
    aspect-ratio:1.55
  }
  .stage-image img {
    object-position:43% center
  }
  .stage-caption {
    padding:14px;
    font-size:10px
  }
  .stage-caption>span:first-child {
    max-width:130px
  }
  .stage-cta {
    gap:8px
  }
  .stage-cta span {
    max-width:80px
  }
  .section {
    padding-block:55px
  }
  .section-head {
    margin-bottom:30px
  }
  .h2 {
    font-size:32px
  }
  .section-head .eyebrow {
    margin-bottom:20px
  }
  .section-head .lead {
    font-size:13px;
    margin-top:20px
  }
  .clients-section .section-head {
    display:block
  }
  .clients-section .eyebrow {
    max-width:none;
    margin-bottom:14px
  }
  .clients-section .h2 {
    font-size:24px;
    max-width:320px
  }
  .logo-preview {
    grid-template-columns:repeat(3,minmax(0,1fr))
  }
  .logo-chip {
    height:80px
  }
  .logo-chip img {
    width:95px;
    height:68px
  }
  .logo-more>summary {
    font-size:10px
  }
  #stories {
    padding-top:50px
  }
  .stories-rail {
    grid-auto-columns:76%;
    gap:18px
  }
  .story-caption {
    font-size:14px
  }
  .stories-controls>span {
    max-width:180px
  }
  .proof-section .section-head {
    display:block
  }
  .proof-section .h2 {
    font-size:28px
  }
  .proof-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:32px 20px
  }
  .stat-tile {
    padding-inline-start:14px
  }
  .stat-tile strong {
    font-size:40px
  }
  .stat-tile>span {
    font-size:11px
  }
  .system-carousel {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:35px 22px
  }
  .system-carousel h3 {
    font-size:18px;
    margin-top:20px
  }
  .card p {
    font-size:12px
  }
  #services {
    display:block
  }
  #services .section-head {
    position:static
  }
  #services .h2,.why-section .h2 {
    font-size:32px
  }
  .services-slider .card {
    grid-template-columns:23px 1fr 20px;
    gap:10px
  }
  .services-slider .card h3 {
    font-size:17px
  }
  .services-all {
    margin-top:25px
  }
  .why-section {
    display:block
  }
  .acc-title {
    font-size:16px
  }
  .acc-body {
    padding-inline:0
  }
  .founder-grid {
    grid-template-columns:1fr;
    gap:35px
  }
  .founder-portrait {
    max-width:350px
  }
  .founder-quote {
    font-size:16px;
    margin-top:24px
  }
  .founder-badges {
    font-size:10px
  }
  #team .section-head {
    display:block
  }
  #team .lead {
    margin-top:22px
  }
  .cover-card img {
    aspect-ratio:1.8;
    object-fit:cover;
    object-position:45%
  }
  .contact-section {
    padding-block:40px 60px
  }
  .contact-card {
    padding-top:45px
  }
  .contact-card .h2 {
    font-size:40px
  }
  .contact-card .lead {
    font-size:13px
  }
  .cta-actions {
    flex-wrap:wrap
  }
  .footer-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:32px 24px
  }
  .footer-grid>div:first-child {
    grid-column:1/-1
  }
  .footer-tagline {
    max-width:340px
  }
  .footer-col a {
    min-height:40px
  }
  .footer-signature {
    margin-block:45px 30px;
    font-size:12vw
  }
  .foot-bottom {
    font-size:9px
  }
  .story-modal {
    padding:40px 42px 18px
  }
  .story-modal figure img {
    height:auto;
    max-height:75dvh
  }
  .project-cursor {
    display:none
  }
}
@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto
  }
  *,*:before,*:after {
    animation:none!important;
    transition:none!important;
    scroll-behavior:auto!important
  }
  .motion-ready .reveal {
    opacity:1;
    transform:none
  }
  .project-cursor {
    display:none
  }
  .stage-image img {
    transform:none
  }
  .story-card:hover .story-art img {
    transform:none
  }
}
.hero-whatsapp {
  display:inline-flex;
  align-items:center;
  min-height:40px;
  font-size:11px;
  color:var(--muted);
  text-decoration:underline;
  text-underline-offset:4px
}
.hero-whatsapp:hover {
  color:var(--brand)
}
.footer-col a {
  min-height:40px
}
@media (prefers-reduced-motion: no-preference)  {
  .hero-kicker, .hero-heading, .hero-bottom  {
    animation:hero-arrive var(--slow) var(--ease) both
  }
  .hero-heading  {
    animation-delay:90ms
  }
  .hero-bottom  {
    animation-delay:150ms
  }
}
@keyframes hero-arrive  {
  from  {
    opacity:0;
    transform:translateY(14px)
  }
  to  {
    opacity:1;
    transform:translateY(0)
  }
}

/* Studio direction: immersive opening, asymmetric work, one crisp light interlude. */
.hero {
  position:relative;
  padding-bottom:64px;
  isolation:isolate;
}
.hero::before {
  content:'';
  position:absolute;
  inset:0;
  background:radial-gradient(ellipse at 76% 40%,var(--hero-glow),transparent 62%);
  z-index:-1;
  pointer-events:none;
}
.hero-heading {
  grid-template-columns:minmax(0,1.38fr) minmax(0,1fr);
  gap:70px;
  margin-top:58px;
  align-items:center;
}
.hero-title-group {min-width:0}
.hero h1 {font-size:clamp(64px,8.4vw,126px);font-weight:500;line-height:1.02}
.hero h1 em {color:var(--gold)}
.hero h1 em::after {display:none}
.hero-arrow {color:var(--gold);width:.47em;height:.47em;margin-inline-start:.12em}
.hero-note {margin-top:25px;color:var(--ink);max-width:420px;font-size:12px}
.tiny-orbit {font-size:24px;color:var(--gold)}
.hero-bottom {display:block;margin:30px 0 0}
.hero-bottom .lead {max-width:440px;font-size:13px}
.hero-actions {margin-top:22px;gap:24px;flex-wrap:wrap}
.btn {border-radius:6px;min-height:54px}
.hero-stage {
  overflow:visible;
  background:transparent;
  max-width:460px;
  position:relative;
  transform:perspective(1000px) rotateY(var(--tilt-y,0deg)) rotateX(var(--tilt-x,0deg));
  transition:transform var(--slow) var(--ease);
}
.hero-stage::before {
  content:'';
  position:absolute;
  inset:12% -6% 10% -6%;
  border:1px solid var(--line);
  border-radius:50%;
  transform:rotate(-22deg) scaleX(1.06);
  z-index:-1;
}
.portrait-index {display:block;margin-bottom:20px;font-size:9px;letter-spacing:.12em;color:var(--muted);text-align:end}
.stage-image {border-radius:48% 48% 8px 8px;aspect-ratio:1/1.1;border:1px solid var(--line)}
.stage-image img {object-fit:cover;object-position:center;transform:translate(var(--shift-x,0px),var(--shift-y,0px)) scale(1.04)}
.stage-caption {padding:18px 0;font-size:12px;border-bottom:1px solid var(--line)}
.hero-whatsapp {font-size:11px}
.clients-section {padding-block:46px 64px;border-top:1px solid var(--line)}
.clients-section .h2 {font-size:20px}
.logo-preview {gap:8px;border:0}
.logo-chip {background:var(--card);border-radius:4px;height:90px}
.logo-more .logo-preview {margin-top:12px}
#stories {padding-top:85px;background:var(--dark)}
#stories .section-head {display:grid;grid-template-columns:.65fr 1.8fr;gap:20px 50px}
#stories .eyebrow {grid-row:1/3;margin:0;padding-top:8px}
#stories .h2 {font-size:clamp(36px,4.4vw,64px);max-width:850px}
#stories .lead {margin:0}
.stories-rail {grid-auto-columns:43%;gap:36px;padding-bottom:30px;scroll-padding-inline:6px}

.story-art {border-radius:4px;aspect-ratio:1/1.08}
.story-caption {font-size:21px;padding-top:22px}
.story-description {font-size:11px;margin-top:6px}
.proof-section {background:var(--dark);border-top:0;padding-block:60px 80px}
.proof-section .h2 {font-size:28px}
.stat-tile strong {font-size:64px}
#system {padding-block:100px 110px}
.system-carousel .card {position:relative}
.system-carousel .card:before {content:'';width:6px;height:6px;border-radius:50%;background:var(--gold);position:absolute;top:-4px;inset-inline-start:0}



#services {
  --paper:var(--light-canvas);
  --ink:var(--light-ink);
  --muted:var(--light-muted);
  --line:var(--light-line);
  --brand:var(--action);
  background:var(--paper);
  color:var(--ink);
  gap:80px;
  padding-block:100px;
}
.services-mark {display:block;font-size:clamp(70px,12vw,170px);line-height:1;font-weight:500;letter-spacing:-.08em;margin-bottom:38px;color:var(--action)}
#services .h2 {font-size:38px}
.services-slider .card {padding-block:30px}
.why-section {padding-block:100px}
.founder-section {background:transparent;border-block:1px solid var(--line)}
.founder-portrait {border-radius:4px}
#team .h2 {font-size:clamp(34px,4.5vw,64px)}
.cover-card {border-radius:4px}
.contact-section {position:relative;background:var(--dark);overflow:hidden;padding-block:90px 110px}

.contact-card {position:relative;border:0;padding:0;text-align:start}
.contact-card .h2 {font-size:clamp(48px,7vw,104px);margin:0;max-width:1100px}
.contact-card .h2 em {color:var(--gold)}
.contact-card .lead {margin:30px 0}
.cta-actions {justify-content:flex-start}
.footer {border-top:1px solid var(--line)}
.footer-signature {color:var(--muted);font-size:clamp(42px,9vw,132px)}
.project-cursor {background:var(--gold);color:var(--dark);border:0}
@media(max-width:1100px) {
  .hero-heading {gap:32px}
  .hero h1 {font-size:8.3vw}
  .hero-actions {flex-direction:row;gap:16px}
  .hero-stage {max-width:360px}
  #services {gap:45px}
  #stories .section-head {grid-template-columns:.6fr 1.4fr;gap:20px 35px}
  .stories-rail {grid-auto-columns:48%;gap:24px}
}
@media(max-width:720px) {
  .hero {padding-bottom:40px}
  .hero-heading {grid-template-columns:1fr;gap:36px;margin-top:38px}
  .hero h1 {font-size:15vw}
  .hero-note {margin-top:22px;font-size:12px}
  .hero-bottom {margin-top:22px}
  .hero-actions {gap:12px;margin-top:14px;align-items:center}
  .hero-stage {max-width:300px;justify-self:center;width:88%}
  .portrait-index {font-size:8px;margin-bottom:12px}
  .stage-caption {font-size:11px;padding:14px 0}
  .stage-cta span {max-width:none}
  .stage-caption>span:first-child {max-width:none}
  .clients-section {padding-block:36px}
  .logo-chip {height:72px}
  #stories {padding-block:50px}
  #stories .section-head {display:block}
  #stories .eyebrow {margin-bottom:20px;padding:0}
  #stories .h2 {font-size:34px}
  #stories .lead {margin-top:20px}
  .stories-rail {grid-auto-columns:82%;gap:18px}

  .story-caption {font-size:17px}
  .proof-section {padding-block:35px 55px}
  .stat-tile strong {font-size:44px}
  #system {padding-block:55px}
  .system-carousel .card:nth-child(n) {margin-top:0}
  #services {padding-block:55px}
  .services-mark {font-size:92px;margin-bottom:26px}
  #services .h2 {font-size:32px}
  .services-slider .card {padding-block:24px}
  .why-section {padding-block:55px}
  .contact-section {padding-block:60px 70px}
  .contact-card .h2 {font-size:46px}

}
@media(prefers-reduced-motion:reduce) {
  .hero-stage {transform:none}
  .stage-image img {transform:none}
}

.hero {overflow:clip}
.hero-note {display:flex;align-items:center;gap:14px}
.hero-note .tiny-orbit {margin:0;flex-shrink:0}
.founder-intro .eyebrow {margin-bottom:24px}
.founder-intro .h2 {font-size:clamp(38px,4.5vw,64px)}
.founder-arrow {display:block;color:var(--gold);font-size:70px;line-height:1.2;margin-top:20px}
.founder-copy .founder-quote {margin-top:0;font-size:clamp(20px,2vw,28px);line-height:1.6}
@media(max-width:720px) {.founder-arrow {font-size:45px;margin-top:10px}.founder-grid {gap:25px}}
/* Client marks read as a quiet signature band on the dark canvas. */
.logo-chip {background:transparent;border-radius:0}
.logo-chip img {filter:grayscale(1) invert(1);mix-blend-mode:screen;opacity:.8;transition:opacity var(--medium)}
.logo-chip:hover img {filter:grayscale(1) invert(1);opacity:1}
/* Shared icon geometry and control alignment. */
.icon-sprite {position:absolute;width:0;height:0;overflow:hidden;pointer-events:none}
.ui-icon {display:block;width:20px;height:20px;flex:0 0 20px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.brand-logo {min-height:44px;display:flex;align-items:center}
.nav-links a {min-width:40px;justify-content:center}
.nav-burger {position:relative}
.nav-burger span {transition:transform var(--medium),opacity var(--medium);transform-origin:center}
.nav-burger[aria-expanded=true] span:first-child {transform:translateY(7px) rotate(45deg)}
.nav-burger[aria-expanded=true] span:nth-child(2) {opacity:0}
.nav-burger[aria-expanded=true] span:last-child {transform:translateY(-7px) rotate(-45deg)}
.btn {line-height:1.4;gap:16px}
.btn > span {min-width:0}
.btn .ui-icon {width:20px;height:20px;flex-basis:20px}
.hero-note .tiny-orbit {width:22px;height:22px;flex-basis:22px;stroke-width:1.3}
.hero-whatsapp {gap:8px}
.hero-whatsapp .ui-icon {width:14px;height:14px;flex-basis:14px}
.link-work {gap:12px}
.link-work .ui-icon {width:18px;height:18px;flex-basis:18px}
.stage-cta {gap:10px;align-items:center}
.stage-cta .ui-icon {width:18px;height:18px;flex-basis:18px}
.services-mark {display:flex;align-items:center;gap:8px}
.services-mark .ui-icon {width:.65em;height:.65em;flex-basis:.65em;stroke-width:1.4}
.services-slider .card {grid-template-columns:32px minmax(0,1fr) 24px;column-gap:16px;row-gap:12px;align-items:start}
.services-slider .card:after {content:none}
.services-slider .card .num {grid-column:1;grid-row:1;line-height:28px}
.services-slider .card h3 {grid-column:2;grid-row:1;line-height:28px;margin:0}
.services-slider .card > .ui-icon {grid-column:3;grid-row:1;align-self:start;margin-top:4px}
.services-slider .card p {grid-column:2;grid-row:2}
.services-slider .card:hover {padding-inline-start:0}
.services-slider .card > .ui-icon {transition:transform var(--medium)}
.services-slider .card:hover > .ui-icon {transform:translate(2px,-2px)}
.services-all a {gap:12px}
.services-all .ui-icon {width:18px;height:18px;flex-basis:18px}
.logo-more > summary {display:flex;align-items:center;justify-content:flex-end;gap:10px;list-style:none}
.logo-more > summary::-webkit-details-marker {display:none}
.logo-more > summary .ui-icon {width:16px;height:16px;flex-basis:16px;transition:transform var(--medium)}
.logo-more[open] > summary .ui-icon {transform:rotate(180deg)}
.stories-rail {grid-auto-columns:30%;gap:28px}
.story-art {aspect-ratio:9/16}
.story-art img {object-fit:contain}
.story-card:hover .story-art img {transform:none}
.story-caption {align-items:start;gap:12px}
.story-caption strong {min-width:0;line-height:1.4}
.story-caption .ui-icon {margin-top:4px}
.stories-controls .rail-navigation {align-items:center;gap:12px}
.rail-position {font-variant-numeric:tabular-nums;font-size:11px;min-width:64px;text-align:center}
.stories-controls button {display:grid;place-items:center;flex-shrink:0}
.stories-controls button:hover:disabled {border-color:var(--line);color:var(--muted)}
.project-cursor .ui-icon {width:26px;height:26px;flex-basis:26px}
.founder-arrow.ui-icon {width:64px;height:64px;stroke-width:1.3}
.footer-signature {display:flex;align-items:center;gap:.16em;white-space:nowrap}
.footer-signature .ui-icon {width:.68em;height:.68em;flex-basis:.68em;stroke-width:1.3}
.contact-card .h2 {text-wrap:initial}
.contact-card .h2 em {display:block}
.contact-card .btn-primary {min-width:220px}
.modal-close,.modal-nav {border:1px solid var(--line);border-radius:50%;background:var(--dark);transition:background var(--medium)}
.modal-close:hover,.modal-nav:hover {background:var(--paper-2)}
.modal-close {top:10px;right:10px}
.story-modal {padding:62px 64px 24px}
.story-modal figure img {max-height:calc(100dvh - 160px)}
.story-modal figcaption {margin-top:16px}
html[dir=rtl] .directional-icon,html[dir=rtl] .rail-navigation button .ui-icon,html[dir=rtl] .modal-nav .ui-icon {transform:scaleX(-1)}
@media(max-width:1100px) {.stories-rail {grid-auto-columns:42%;gap:24px}}
@media(max-width:720px) {
  .hero-bottom {margin-top:18px}
  .hero-note {margin-top:18px;padding-bottom:0}
  .hero-actions {display:grid;grid-template-columns:1fr;gap:8px;margin-top:18px}
  .hero-actions .btn {width:100%;justify-content:space-between}
  .hero-actions .link-work {justify-content:space-between;min-height:48px;width:100%}
  .mobile-menu > .btn {width:100%;justify-content:space-between}
  .cta-actions {display:grid;grid-template-columns:1fr;gap:12px;width:100%}
  .cta-actions .btn {width:100%;min-height:52px;justify-content:center}
  .contact-card .btn-primary {min-width:0}
  .services-slider .card {grid-template-columns:22px minmax(0,1fr) 20px;column-gap:12px;row-gap:10px}
  .services-slider .card h3 {line-height:26px}
  .services-slider .card .num {line-height:26px}
  .services-slider .card > .ui-icon {width:18px;height:18px;margin-top:4px}
  .stories-rail {grid-auto-columns:82%;gap:18px}

  .stories-controls {gap:12px;align-items:center}
  .stories-controls > span {max-width:150px;flex:1}
  .stories-controls .rail-navigation {gap:8px}
  .rail-position {min-width:48px;font-size:10px}
  .founder-arrow.ui-icon {width:44px;height:44px}
  .story-modal {padding:60px 42px 20px}
  .story-modal .modal-nav {width:36px;height:44px;border-radius:8px}
  .story-modal .modal-nav.prev {left:3px}
  .story-modal .modal-nav.next {right:3px}
  .contact-card .h2 {font-size:clamp(34px,10.6vw,46px);line-height:1.12}
}

/* Shared baselines for artwork, captions and method steps. */
.story-card {margin-top:0}
.story-caption strong {display:block;min-height:2.8em}
.system-carousel {align-items:start}
.system-carousel .card {margin-top:0}
.system-carousel .card h3 {line-height:1.4;min-height:1.4em}

/* Transparent portrait: no arch, frame, orbit or decorative caption above it. */
.hero-stage::before {content:none}
.hero-stage {max-width:500px}
.stage-image {border:0;border-radius:0;background:transparent;aspect-ratio:1;overflow:visible}
.stage-image img {object-fit:contain;object-position:center bottom;mask-image:linear-gradient(to bottom,var(--mask-opaque) 88%,transparent 100%)}
.stage-caption {border:0;padding-top:8px;max-width:85%;margin-inline:auto}
@media(max-width:720px) {.hero-stage {width:100%;max-width:340px}.story-modal .modal-nav {width:40px}}

/* Approved portrait includes the jacket and trousers; preserve its full framing. */
.hero-stage {max-width:440px}
.stage-image {aspect-ratio:2/3;max-height:620px}
.stage-image img {mask-image:none;transform:translate(var(--shift-x,0px),var(--shift-y,0px));object-fit:contain}
@media(max-width:1100px) {.hero-stage {max-width:370px}}
@media(max-width:720px) {.hero-stage {max-width:310px}.stage-image {max-height:none}}
@media(prefers-reduced-motion:reduce) {.stage-image img {transform:none}}

/* Continuous references and soft editorial transitions. */
.clients-section,#stories,#services,.founder-section,.footer,.foot-bottom,
.system-carousel .card,.services-slider .card,.services-slider .card:last-child,
.why-acc details,.why-acc details:last-child,.founder-badges>span {border:0}
.system-carousel .card:before,.services-slider .card:after {content:none}
#stories,.proof-section,.contact-section {background:transparent}
#services {--ink:#f5f5fa;--muted:#b2b4c9;--brand:#a2a6ff;background:radial-gradient(ellipse at 10% 40%,rgba(72,78,219,.12),transparent 65%);color:var(--ink)}
.services-mark {color:var(--muted);font-size:clamp(50px,7vw,96px)}
.services-slider .card {grid-template-columns:32px 1fr;padding-block:28px}
.services-slider .card:hover h3 {text-decoration:underline;text-underline-offset:7px}
.why-acc details {padding-block:6px}
.project-cursor {width:24px;height:24px;background:transparent;border:1px solid var(--gold)}
.logo-wall {display:block;min-width:0}
.logo-marquee {overflow:hidden;direction:ltr;mask-image:linear-gradient(to right,transparent,#000 6%,#000 94%,transparent)}
.logo-track {display:flex;width:max-content;animation:client-flow 80s linear infinite;will-change:transform}
.logo-sequence {display:flex;flex-shrink:0;align-items:center;gap:40px;padding-inline-end:40px}
.logo-sequence .logo-chip {width:160px;flex:0 0 160px;height:105px;background:transparent}
.logo-sequence .logo-chip img {width:140px;height:94px;object-fit:contain}
.logo-pause {display:block;margin:18px 0 0 auto;min-height:44px;padding:8px 0;color:var(--muted);background:none;border:0;font:inherit;font-size:11px;cursor:pointer;text-underline-offset:5px}
.logo-pause:hover {text-decoration:underline}
.logo-wall.is-paused .logo-track {animation-play-state:paused}
@keyframes client-flow {to {transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce) {.logo-track {animation:none}.logo-marquee {overflow-x:auto;mask-image:none}.logo-sequence[aria-hidden] {display:none}.logo-pause {display:none}}
@media(max-width:720px) {.logo-sequence {gap:24px;padding-inline-end:24px}.logo-sequence .logo-chip {width:130px;flex-basis:130px}.logo-sequence .logo-chip img {width:120px}}
/* Each figure owns its space, including at intermediate viewport widths. */
.proof-grid {grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(24px,4vw,64px)}
.stat-tile {min-width:0;border:0;padding:0;container-type:inline-size}
.stat-tile strong {display:block;font-size:clamp(32px,25cqi,64px);white-space:nowrap;line-height:1.2;letter-spacing:-.055em}
.stat-tile>span {max-width:100%;line-height:1.7}
@media(max-width:900px) {.proof-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 28px}.stat-tile strong {font-size:clamp(32px,25cqi,58px)}}
@media(max-width:360px) {.proof-grid {gap:32px 20px}.stat-tile strong {font-size:clamp(28px,25cqi,42px)}}

.hero-actions {display:flex;flex-wrap:wrap;align-items:center;gap:14px}
.hero-actions .btn {justify-content:center;min-height:54px}
.hero-actions .btn-whatsapp svg {width:20px;height:20px;flex-shrink:0}
@media(max-width:720px) {.hero-actions {display:grid;grid-template-columns:1fr}.hero-actions .btn {justify-content:center}}

.founder-grid {grid-template-columns:minmax(0,.85fr) minmax(0,1.2fr);gap:clamp(32px,6vw,90px);align-items:center}
.founder-photo {margin:0;min-width:0}
.founder-photo img {display:block;width:100%;height:auto;border-radius:12px}
.founder-copy .founder-intro {margin-bottom:28px}
.founder-copy .founder-intro .eyebrow {margin-bottom:14px}
.founder-copy .founder-quote {font-size:clamp(17px,1.6vw,23px)}
@media(max-width:720px) {.founder-grid {grid-template-columns:1fr}.founder-photo {max-width:440px}.founder-copy .founder-intro {margin-bottom:22px}}

.team-carousel {min-width:0;margin-top:48px}
.team-window {overflow:hidden;direction:ltr;mask-image:linear-gradient(to right,transparent,#000 3%,#000 97%,transparent)}
.team-track {display:flex;width:max-content;animation:team-flow 18s linear infinite;will-change:transform}
.team-sequence {display:flex;align-items:end;flex-shrink:0;gap:0;padding-inline-end:0}
.team-photo {margin:0 -12px 0 0;width:clamp(280px,34vw,500px);aspect-ratio:1;flex-shrink:0;background:radial-gradient(ellipse at 50% 75%,rgba(72,78,219,.13),transparent 68%)}
.team-photo img {width:100%;height:100%;object-fit:contain;object-position:center bottom;mask-image:linear-gradient(#000 88%,transparent)}
.team-carousel.is-paused .team-track {animation-play-state:paused}
@keyframes team-flow {to {transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce) {.team-track {animation:none}.team-window {overflow-x:auto;mask-image:none}.team-sequence[aria-hidden] {display:none}.team-pause {display:none}}

.nav {border-bottom:0}

.proof-section {border:0}

.team-photo--wide {width:clamp(380px,48vw,706px);aspect-ratio:1.41}

/* The collective leads the page; the solo portrait belongs to the founder. */
.hero-heading {grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:44px;align-items:center}
.hero-stage {max-width:720px;width:100%}
.stage-image {aspect-ratio:1473/1068;max-height:none}
.stage-image img {mask-image:linear-gradient(#000 91%,transparent)}
.founder-photo {width:100%;max-width:420px;justify-self:center}
.founder-photo img {border-radius:0;object-fit:contain;mask-image:linear-gradient(#000 94%,transparent)}
@media(max-width:1100px) {.hero-heading {gap:28px}.hero-stage {max-width:none}.hero h1 {font-size:8vw}}
@media(max-width:720px) {.hero-heading {grid-template-columns:1fr;gap:32px}.hero h1 {font-size:15vw}.hero-stage {width:100%;max-width:520px}.founder-photo {max-width:310px}}

/* A continuous fade joins the team to the next editorial section. */
#team {padding-bottom:24px}
#team + #stories {padding-top:40px}
.team-photo {background:none}
.team-window {mask-image:linear-gradient(to bottom,#000 72%,rgba(0,0,0,.94) 80%,rgba(0,0,0,.55) 91%,transparent 100%)}
.team-photo img {mask-image:none}
@media(max-width:720px) {#team {padding-bottom:12px}#team + #stories {padding-top:28px}.team-carousel {margin-top:28px}}

/* One heading, one short introduction, aligned with the content below. */
#team .section-head,#stories .section-head,#proof .section-head,#system .section-head,#services .section-head,#why .section-head {display:block;max-width:none;margin-bottom:36px;text-align:start}
#team .section-head .h2,#stories .section-head .h2,#proof .section-head .h2,#system .section-head .h2,#services .section-head .h2,#why .section-head .h2 {max-width:none;margin:0;font-size:clamp(30px,3.5vw,50px);line-height:1.17;letter-spacing:-.035em}
#team .section-head .lead,#stories .section-head .lead,#system .section-head .lead,#services .section-head .lead {max-width:850px;margin:16px 0 0;font-size:clamp(15px,1.35vw,18px);line-height:1.65}
#team .team-carousel {margin-top:32px}

#clients .section-head {display:block;margin-bottom:28px;text-align:start}
#clients .section-head .h2 {margin:0;font-size:clamp(30px,3.5vw,50px);line-height:1.17;letter-spacing:-.035em}

/* Founder: portrait, identity and expertise in a single clear hierarchy. */
.founder-grid {grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(32px,6vw,88px)}
.founder-photo {max-width:470px;background:radial-gradient(ellipse at 50% 45%,rgba(79,72,210,.15),transparent 67%)}
.founder-intro .h2 {font-size:clamp(38px,4.6vw,66px);line-height:1.08;margin-bottom:22px}
.founder-intro .founder-role {font-size:clamp(15px,1.5vw,19px);margin:0 0 9px;color:var(--ink)}
.founder-expertise {font-size:clamp(17px,1.8vw,24px);line-height:1.4;color:var(--gold);margin:0}
.founder-copy .founder-quote {font-size:clamp(16px,1.5vw,20px);line-height:1.8;color:var(--muted);max-width:620px}
.founder-community {display:flex;align-items:center;gap:18px;margin-top:30px}
.founder-community strong {font-size:clamp(30px,3vw,42px);letter-spacing:-.04em;font-weight:500}
.founder-community span {font-size:14px;color:var(--muted);max-width:170px;line-height:1.5}
@media(max-width:720px) {.founder-grid {grid-template-columns:1fr;gap:24px}.founder-photo {max-width:330px}.founder-intro .h2 {font-size:42px}}

/* The moving sequences enter and leave at the viewport edges. */
#team .team-carousel,#clients .logo-wall {width:100vw;max-width:none;margin-inline:calc(50% - 50vw)}
.logo-marquee {mask-image:none}

/* The founder is the section title; the biography carries his other activities. */
.founder-intro .h2 {font-size:clamp(34px,3.8vw,54px);line-height:1.15;margin:0 0 24px;max-width:650px}
.founder-name {font-size:clamp(23px,2.3vw,30px);font-weight:500;color:var(--ink);letter-spacing:-.02em;margin:0}
.founder-copy .founder-intro {margin-bottom:24px}
.founder-copy .founder-quote {font-size:clamp(16px,1.45vw,19px);line-height:1.8}
.founder-quote strong {font-weight:600;color:var(--ink)}
.founder-story {margin-top:18px}

/* A compact introduction below the main headline replaces the top kicker. */
.hero-heading {margin-top:12px}
.hero-location {width:18px;height:18px;flex:0 0 18px;color:var(--gold)}
.hero-note {gap:10px}
@media(max-width:720px) {.hero-heading {margin-top:8px}}

/* Ambient light belongs to the full canvas, never a bounded section. */
main {position:relative;isolation:isolate;background:radial-gradient(ellipse 75% 600px at 75% 190px,rgba(77,65,191,.18),transparent 75%)}
.hero::before {content:none}
.hero {padding-top:24px;padding-bottom:24px}
#services {background:transparent}
.founder-photo {background:none}
.nav {background:linear-gradient(to bottom,rgba(16,17,37,.98),rgba(16,17,37,.92));border:0;backdrop-filter:blur(16px)}
.nav::after {content:'';position:absolute;top:100%;left:0;right:0;height:24px;background:linear-gradient(rgba(16,17,37,.92),transparent);pointer-events:none}
.footer {background:linear-gradient(to bottom,var(--paper),var(--dark) 180px);border:0}
#clients {padding-top:18px;padding-bottom:36px}
#clients .section-head {width:100%;max-width:none;margin-bottom:16px}
#clients .section-head .h2 {width:100%;max-width:none;white-space:nowrap;font-size:clamp(23px,3vw,42px)}
@media(min-width:1101px) and (max-height:950px) {.hero h1 {font-size:clamp(64px,7vw,104px)}.hero-stage {max-width:590px}.hero-bottom {margin-top:22px}.hero-note {margin-top:18px}.hero {padding-top:20px;padding-bottom:20px}}
@media(max-width:720px) {#clients .section-head .h2 {font-size:clamp(20px,5.7vw,32px)}.hero {padding-top:20px;padding-bottom:24px}}

/* Collaborations flow across the same full-width canvas as the team. */
#stories .stories-rail {display:block;width:100vw;max-width:none;margin-inline:calc(50% - 50vw);overflow:hidden;padding:0;scroll-snap-type:none;direction:ltr}
.stories-track {display:flex;width:max-content;animation:collaboration-flow 138.461538s linear infinite;will-change:transform}
.stories-sequence {display:flex;flex-shrink:0;gap:24px;padding-inline-end:24px}
.stories-sequence .story-card {width:clamp(260px,29vw,440px);flex-shrink:0;text-align:start;white-space:normal}
.stories-track:focus-within {animation-play-state:paused}
@keyframes collaboration-flow {to {transform:translateX(-50%)}}
@media(max-width:720px) {.stories-sequence {gap:16px;padding-inline-end:16px}.stories-sequence .story-card {width:76vw}}
@media(prefers-reduced-motion:reduce) {.stories-track {animation:none}#stories .stories-rail {overflow-x:auto}.stories-sequence[aria-hidden] {display:none}}

/* Nine connected specialties, readable together rather than a long list. */
#services {display:block}
#services .section-head {position:static;width:100%}
#services .services-slider {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;overflow:visible;width:100%}
#services .services-slider .card {display:grid;grid-template-columns:32px minmax(0,1fr);grid-template-rows:auto 1fr;gap:14px 14px;min-width:0;margin:0;padding:24px;border:0;border-radius:16px;background:rgba(255,255,255,.035);transition:background .2s,transform .2s}
#services .services-slider .card:hover {background:rgba(254,202,60,.065);transform:translateY(-3px)}
#services .service-icon {width:27px;height:27px;color:var(--gold)}
#services .services-slider .card h3 {grid-column:2;grid-row:1;font-size:19px;line-height:1.4;margin:0;align-self:center}
#services .services-slider .card p {grid-column:1 / -1;grid-row:2;font-size:14px;line-height:1.7;margin:0;color:var(--muted)}
#services .services-all {margin-top:26px}
.system-carousel .num,.stat-tile strong {color:var(--gold)}
@media(max-width:1000px) {#services .services-slider {grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px) {#services .services-slider {grid-template-columns:1fr;gap:12px}#services .services-slider .card {padding:20px}}

/* Compact closing sequence, without a frame around the focused main content. */
main#top:focus {outline:none}
#why {padding-bottom:40px}
#founder {padding-top:28px;padding-bottom:28px}
#contact {padding-top:38px;padding-bottom:48px}
.footer {padding-top:36px;border:0;box-shadow:none}
.foot-bottom {margin-top:32px;border:0}
@media(max-width:720px) {#why {padding-bottom:24px}#founder {padding-block:20px}#contact {padding-block:32px}}
@media(hover:hover) {.stories-track:hover {animation-play-state:paused}}

/* Equal service cards with compact descriptions. */
#services .services-slider {grid-auto-rows:1fr}
#services .services-slider .card {grid-template-rows:54px 48px;align-content:center;row-gap:12px}
#services .services-slider .card p {line-height:24px;max-height:48px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
#services .services-slider .card .service-icon {align-self:center}

/* More breathing room under navigation; references speak through their logos. */
.hero {padding-top:42px}
.logo-sequence .logo-chip {width:180px;flex-basis:180px;height:118px}
.logo-sequence .logo-chip img {width:160px;height:106px}
@media(max-width:720px) {.hero {padding-top:34px}.logo-sequence .logo-chip {width:148px;flex-basis:148px;height:106px}.logo-sequence .logo-chip img {width:138px;height:96px}}

/* Editorial metrics: readable labels and stable animated values. */
#proof .proof-grid {gap:clamp(24px,4vw,64px);align-items:start}
#proof .stat-tile {padding-block:12px;text-align:start}
#proof .stat-tile strong {font-size:clamp(36px,28cqi,80px);font-weight:500;line-height:1.1;font-variant-numeric:tabular-nums;letter-spacing:-.055em;margin-bottom:18px}
#proof .stat-tile>span:not(.stat-ic) {font-size:15px;line-height:1.65;max-width:230px;color:var(--muted)}
.story-card {cursor:default}
.stories-track:hover {animation-play-state:running}
@media(max-width:720px) {#proof .stat-tile strong {font-size:clamp(32px,27cqi,60px)}#proof .stat-tile>span:not(.stat-ic) {font-size:13px}}

/* Preserve badge lettering; only isolated transparent marks receive a flat tint. */
.logo-sequence {gap:20px;padding-inline-end:20px}
.logo-sequence .logo-chip {width:210px;flex-basis:210px;height:138px}
.logo-sequence .logo-chip img {width:194px;height:128px}
.logo-sequence .logo-chip img,.logo-sequence .logo-chip:hover img {filter:brightness(0) invert(1);mix-blend-mode:normal;opacity:.72;object-fit:contain}
.logo-sequence .logo-chip--detailed img,.logo-sequence .logo-chip--detailed:hover img {filter:grayscale(1) brightness(1.35);opacity:.88}
@media(max-width:720px) {
 .logo-sequence {gap:14px;padding-inline-end:14px}
 .logo-sequence .logo-chip {width:166px;flex-basis:166px;height:116px}
 .logo-sequence .logo-chip img {width:154px;height:104px}
}

/* The first screen ends with references, before the team introduction. */
.hero-bottom .lead {font-size:18px;line-height:1.7;max-width:540px}
.hero-actions .btn {min-height:62px;font-size:16px;padding-inline:26px}
.hero-note {font-size:14px}
.hero-stage {max-width:none;width:112%;margin-inline-start:-6%}
#clients {padding-top:28px;padding-bottom:36px}
#team {padding-top:40px;padding-bottom:28px}
#founder {padding-top:28px;padding-bottom:32px}
.logo-chip--luxina img {clip-path:inset(0 0 29% 0);transform:translateY(13%)}
@media(min-width:1101px){
 .hero {min-height:calc(100svh - 272px);display:flex;align-items:center;padding-top:42px;padding-bottom:24px}
 .hero-heading {width:100%}
}
@media(max-width:720px){.hero-stage{width:106%;margin-inline-start:-3%}.hero-bottom .lead{font-size:16px}.hero-actions .btn{font-size:14px;min-height:56px;padding-inline:20px}}
@media(min-width:1101px) and (max-height:800px){
 .hero {min-height:calc(100svh - 240px);padding-top:18px;padding-bottom:14px}
 .hero-heading {margin-top:0}
 .hero h1 {font-size:clamp(64px,6.3vw,86px)}
 .stage-image {aspect-ratio:auto;height:400px}
 #clients {padding-top:12px;padding-bottom:22px}
 .logo-sequence .logo-chip {height:116px}
 .logo-sequence .logo-chip img {height:110px}
}

/* Compact agency navigation and a clear personal-space entry. */
.nav-inner {gap:26px}
.nav-links {gap:24px;align-items:center}
.agency-menu {position:relative}
.agency-toggle {display:flex;align-items:center;gap:8px;min-height:44px;border:0;background:none;color:var(--ink);font:500 13px var(--font-sans);padding:0 8px;cursor:pointer}
.agency-toggle svg {color:var(--gold);transition:transform .2s}
.agency-toggle[aria-expanded=true] svg {transform:rotate(180deg)}
.agency-links {position:absolute;top:calc(100% + 10px);inset-inline-start:-18px;width:250px;padding:12px;background:var(--paper);border:1px solid var(--line);border-radius:16px;box-shadow:0 20px 60px rgba(0,0,0,.25)}
.agency-links[hidden] {display:none}
.nav-links .agency-links a {justify-content:flex-start;gap:16px;padding:12px;min-height:50px;border-radius:9px;font-size:14px}
.agency-links a::after {display:none}
.agency-links a:hover {background:rgba(255,255,255,.05)}
.agency-number {color:var(--gold);font-size:11px;font-variant-numeric:tabular-nums}
.nav .nav-login {gap:10px;border:1px solid var(--line);border-radius:24px;padding:0 18px;min-height:44px;background:rgba(255,255,255,.045);font-size:13px;white-space:nowrap;transition:background .2s,border-color .2s}
.nav-login svg {color:var(--gold)}
.nav .nav-login:hover {background:rgba(254,202,60,.08);border-color:var(--gold)}
.nav .lang-switch {gap:0;padding:3px;border-radius:24px;background:rgba(255,255,255,.03)}
.nav .lang-switch button {min-width:34px;min-height:32px;border-radius:18px}
.nav .lang-switch button[aria-pressed=true] {color:var(--gold);background:rgba(254,202,60,.08);text-decoration:none}
.agency-toggle:focus-visible {outline:2px solid var(--gold);outline-offset:4px;border-radius:8px}
.mobile-menu {overflow-y:auto;max-height:calc(100dvh - 90px)}
@media(max-width:720px){.nav-inner{gap:12px}.nav-right{gap:10px}.nav .nav-login{padding-inline:12px;font-size:12px}.nav-login svg{width:16px}}

.hero-note {font-size:clamp(17px,1.45vw,22px);max-width:none}

/* Recruitment action alongside the team introduction. */
#team .team-heading {display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:32px;align-items:center;max-width:none}
#team .team-heading .h2 {grid-column:1;grid-row:1}
#team .team-heading .lead {grid-column:1;grid-row:2}
.team-join-button {grid-column:2;grid-row:1;display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:46px;padding:12px 20px;border-radius:999px;background:#ffce38;color:#111123;font-size:14px;font-weight:600;white-space:nowrap;text-decoration:none;transition:background .2s,transform .2s}
.team-join-button:hover {background:#ffda69;transform:translateY(-2px)}
.team-join-button:focus-visible {outline:2px solid #fff;outline-offset:5px}
@media(max-width:760px){#team .team-heading {grid-template-columns:1fr;gap:0}#team .team-heading .team-join-button{grid-column:1;grid-row:3;justify-self:start;margin-top:20px}}
@media(prefers-reduced-motion:reduce){.team-join-button{transition:none}.team-join-button:hover{transform:none}}

.hero-actions{gap:10px}.hero-actions .btn{padding-inline:18px;font-size:14px;min-height:56px}.hero-actions .btn-join-team{border:1px solid #ffce3860;background:#ffce3808;color:var(--ink)}.hero-actions .btn-join-team:hover{background:#ffce3818;border-color:#ffce38}@media(max-width:720px){.hero-actions{grid-template-columns:1fr 1fr}.hero-actions .btn{padding-inline:12px;font-size:13px}.hero-actions .btn-whatsapp{grid-column:1/-1}}
/* Hero: three distinct entry points. */
.hero-actions {gap:12px}
.hero-actions .btn {min-height:60px;padding:16px 22px;border-radius:12px;font-size:15px;font-weight:600;line-height:1.2;transition:background .2s,box-shadow .2s,transform .2s;border:1px solid transparent}
.hero-actions .btn-primary {background:#4b4be0;color:#fff;box-shadow:0 5px 16px #4b4be018}
.hero-actions .btn-join-team {background:#ffce38;color:#151525;border-color:#ffce38;box-shadow:0 5px 16px #ffce380c}
.hero-actions .btn-whatsapp {background:#25d366;color:#092b18;border-color:#25d366;box-shadow:0 5px 16px #25d3660c}
.hero-actions .btn-primary:hover {background:#5a5aeb}
.hero-actions .btn-join-team:hover {background:#ffdb6b;border-color:#ffdb6b}
.hero-actions .btn-whatsapp:hover {background:#49df81;border-color:#49df81}
.hero-actions .btn:hover {transform:translateY(-2px)}
.hero-actions .btn:focus-visible {outline:2px solid #fff;outline-offset:4px}
@media(max-width:720px){.hero-actions{gap:10px}.hero-actions .btn{min-height:56px;padding:15px 12px;font-size:14px}}
@media(prefers-reduced-motion:reduce){.hero-actions .btn{transition:none}.hero-actions .btn:hover{transform:none}}

#services {padding-bottom:28px}
#services + #why {padding-top:28px}
@media(max-width:720px){#services{padding-bottom:20px}#services + #why{padding-top:20px}}
.cta-actions.hero-actions .btn {min-width:0;width:auto}
@media(max-width:720px){.cta-actions.hero-actions .btn{width:100%}}
/* A little more presence, growing into the available upper/right space. */
@media(min-width:1101px){.hero-stage .stage-image{transform:scale(1.07);transform-origin:12% 90%}}
@media(min-width:721px) and (max-width:1100px){.hero-stage .stage-image{transform:scale(1.03);transform-origin:30% 90%}}

#team .team-heading {display:block}
#team .team-heading .h2 {margin-bottom:0}
#team .team-heading .lead {margin-top:16px;max-width:1050px}

/* Consistent title-to-description rhythm across the landing page. */
.section-head .h2 {margin-bottom:0}
.section-head .h2 + .lead {margin-top:16px}
.founder-copy .founder-intro .h2 {margin-bottom:16px}
.founder-copy .founder-intro {margin-bottom:16px}
.founder-intro .founder-name {color:var(--gold);font-size:clamp(28px,2.7vw,38px);font-weight:500;font-style:italic;letter-spacing:-.025em;line-height:1.25}
.founder-instagram {display:inline-flex;align-items:center;gap:10px;margin-top:24px;padding:13px 19px;min-height:48px;border:1px solid #ffce3860;border-radius:12px;background:#ffce3809;color:var(--gold);font-size:15px;font-weight:500;text-decoration:none;transition:background .2s,border-color .2s}
.founder-instagram:hover {background:#ffce3818;border-color:var(--gold)}
.founder-instagram:focus-visible {outline:2px solid var(--gold);outline-offset:4px}
@media(prefers-reduced-motion:reduce){.founder-instagram{transition:none}}

/* Uniform hover zoom; no cursor tracking, perspective or tilt. */
.hero-stage {transform:none}
.hero-stage .stage-image img {transform:scale(1);transform-origin:center center;transition:transform 400ms ease}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.hero-stage:hover .stage-image img{transform:scale(1.025)}}
@media(prefers-reduced-motion:reduce){.hero-stage .stage-image img{transition:none;transform:none}}

#team .team-heading .team-description {max-width:none}
.team-description > span {display:block}
.team-description > span + span {margin-top:4px}

.founder-copy .founder-story {margin-top:20px}
.founder-socials {display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.founder-socials .founder-instagram {margin-top:0}

/* Founder social links: coloured icon medallions and clean labels. */
.founder-socials{gap:26px;margin-top:26px}
.founder-socials .founder-instagram{border:0;border-radius:999px;background:transparent;color:var(--ink);padding:4px 12px 4px 0;gap:12px;min-height:54px;font-size:15px;font-weight:500;transition:color .2s,background .2s}
.founder-socials .founder-instagram svg{width:46px;height:46px;padding:10px;box-sizing:border-box;border-radius:12px;color:white;flex-shrink:0;background:linear-gradient(140deg,#7544ce,#c83681 55%,#dc713b);transition:transform .2s,box-shadow .2s}
.founder-socials .founder-instagram[href*="linkedin"] svg{background:#0a66c2}
.founder-socials .founder-instagram:hover{background:transparent;color:#fff}
.founder-socials .founder-instagram:hover svg{transform:translateY(-3px);box-shadow:0 6px 18px #0003}
@media(max-width:420px){.founder-socials{gap:18px}.founder-socials .founder-instagram{font-size:14px;padding-inline-end:4px;gap:9px}}
@media(prefers-reduced-motion:reduce){.founder-socials .founder-instagram,.founder-socials .founder-instagram svg{transition:none}.founder-socials .founder-instagram:hover svg{transform:none}}

/* Accès direct au site de l’Académie. */
.nav-links .nav-academy{color:var(--gold);white-space:nowrap}
/* Device-specific public navigation, reading rhythm and touch controls. */
@media(max-width:1100px){
 .nav .nav-login,.nav .lang-switch button,.mobile-menu .lang-switch button{min-height:44px;min-width:44px}
 .nav-inner{min-height:78px}
 .mobile-menu{top:78px;max-height:calc(100dvh - 78px);padding:20px var(--gutter) calc(28px + env(safe-area-inset-bottom,0px))}
 .mobile-menu .mm-heading{font-size:12px;color:var(--gold);margin:0 0 10px;letter-spacing:.08em}
 .mobile-menu .mm-link{font-size:20px;min-height:48px;padding:12px 0}
 .mobile-menu .mm-sub{gap:20px;margin-bottom:16px;flex-wrap:wrap}
 .mobile-menu .mm-lang{margin-top:16px}
 .mobile-menu .mm-label{margin-top:16px}
 .hero-actions{flex-direction:row;flex-wrap:wrap;align-items:stretch}
 .hero-actions .btn{justify-content:center;gap:9px}
 .section-head .lead,#team .team-heading .lead{font-size:16px;line-height:1.7;margin-top:12px}
 .section-head{margin-bottom:24px}
 .footer a{min-height:44px;display:inline-flex;align-items:center}
 .faq-row summary,.why-item summary{min-height:48px}
}
@media(min-width:721px) and (max-width:1100px){
 .hero{padding-top:30px}
 .hero-heading{grid-template-columns:1.05fr 1fr;gap:24px}
 .hero h1{font-size:clamp(64px,8vw,88px)}
 .hero-bottom .lead{font-size:16px;line-height:1.65}
 .hero-stage{width:104%;margin-inline-start:-2%}
 .hero-actions .btn{min-height:52px;padding:13px 15px;font-size:14px}
 .founder-grid{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:30px}
 .founder-intro .h2{font-size:34px}
 #services .services-slider{grid-template-columns:repeat(2,minmax(0,1fr))}
 .cta-actions.hero-actions{display:flex}
}
@media(max-width:720px){
 :root{--gutter:22px}
 html{scroll-padding-top:90px}
 .nav-inner{min-height:72px;gap:10px}
 .nav .brand-logo{width:124px;flex-shrink:0}
 .nav .nav-login{font-size:12px;padding:0 11px;gap:6px}
 .nav-right{gap:6px}
 .mobile-menu{top:72px;max-height:calc(100dvh - 72px)}
 .hero{padding-top:24px;padding-bottom:12px}
 .hero-heading{margin-top:0;gap:0}
 .hero h1{font-size:clamp(48px,14.7vw,88px);line-height:1.02;letter-spacing:-.065em}
 .hero-note{margin-top:20px;gap:8px}
 .hero-note p{font-size:15px;max-width:none}
 .hero-bottom{margin-top:18px;margin-bottom:20px}
 .hero-bottom .lead{font-size:15px;line-height:1.7}
 .hero-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}
 .hero-actions .btn,.cta-actions.hero-actions .btn{width:100%;min-height:52px;font-size:13px;padding:12px 10px}
 .hero-actions .btn-whatsapp{grid-column:1/-1}
 .hero-stage{width:100%;margin:0}
 .hero-stage .stage-image{height:auto;aspect-ratio:1.3;transform:none}
 .hero-stage .stage-image img{object-fit:contain;object-position:center;transform:none}
 .h2{font-size:clamp(28px,7.5vw,38px);line-height:1.15}
 .section{padding-block:40px}
 #team .team-heading .lead{font-size:14px;line-height:1.65}
 .team-description>span+span{margin-top:8px}
 .founder-grid{grid-template-columns:1fr;gap:24px}
 .founder-photo{max-width:320px;margin-inline:auto}
 .founder-intro .h2{font-size:30px}
 .founder-copy .founder-quote{font-size:15px;line-height:1.75}
 .founder-copy .founder-story{margin-top:16px}
 .founder-socials{gap:22px;margin-top:20px}
 #services .services-slider{display:grid;grid-template-columns:1fr;gap:12px}
 #services .card{padding:20px;min-height:0}
 #services .card h3{font-size:17px;line-height:1.4}
 #services .card p{font-size:14px;line-height:1.6;margin-top:10px}
 #proof .stat-tile>span:not(.stat-ic){font-size:13px}
 .cta .h2,.cta h2{font-size:clamp(34px,9vw,52px);line-height:1.15}
 .cta .lead{font-size:15px;line-height:1.6}
 .project-cursor{display:none}
}
@media(max-width:360px){:root{--gutter:16px}.nav .brand-logo{width:106px}.nav .nav-login{padding-inline:8px;font-size:11px}.hero-actions .btn{font-size:12px}}
@media(pointer:coarse){a,button{-webkit-tap-highlight-color:transparent}.hero-actions .btn:hover{transform:none}}
@media(min-width:721px) and (max-width:1100px){.hero-bottom .hero-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.hero-bottom .hero-actions .btn-whatsapp{grid-column:1/-1}}

/* Photo complète : conserver les chaussures et le détourage sur chaque format. */
.hero-stage .stage-image img{mask-image:none;object-fit:contain}

/* Mobile et tablette : titre, portrait, puis identité et présentation. */
@media(max-width:1100px){
 .founder-grid{grid-template-columns:minmax(0,1fr);gap:18px}
 .founder-grid .founder-copy,.founder-grid .founder-intro{display:contents;opacity:1;transform:none}
 .founder-grid .founder-intro .h2{grid-row:1;margin:0}
 .founder-grid .founder-photo{grid-row:2;max-width:360px;margin:6px auto 0}
 .founder-grid .founder-name{margin:0}
 .founder-grid .founder-quote,.founder-grid .founder-story{margin:0}
 .founder-grid .founder-socials{margin-top:4px}
}

/* Emblème UP officiel dans la signature de marque. */
.hero h1 .hero-up{display:inline-flex;align-items:baseline;gap:.04em;white-space:nowrap}
.hero-up img{display:inline-block;width:1.3em;height:auto;align-self:center;transform:translateY(.045em)}

/* Public landing: airy rounded services and a quieter first screen. */
.hero-bottom .lead{max-width:40ch;text-wrap:pretty}
.hero-note{color:var(--muted)}
#services{padding-block:64px}
#services .section-head{max-width:760px;margin-bottom:30px}
#services .services-slider{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;overflow:visible;grid-auto-rows:auto}
#services .services-slider .card{display:grid;grid-template-columns:44px minmax(0,1fr);grid-template-rows:auto auto;align-content:start;gap:12px 16px;padding:26px;min-height:0;border:0;border-radius:28px;background:color-mix(in srgb,var(--ink) 4%,transparent);box-shadow:none;transition:background 180ms ease,transform 180ms ease}
#services .services-slider .card:before,#services .services-slider .card:after{content:none}
#services .services-slider .card .service-icon{grid-column:1;grid-row:1;width:30px;height:30px;margin:0;align-self:center;color:var(--gold)}
#services .services-slider .card h3{grid-column:2;grid-row:1;font-size:18px;line-height:1.4;margin:0;align-self:center;color:var(--ink)}
#services .services-slider .card p{grid-column:1 / -1;grid-row:2;display:block;max-height:none;overflow:visible;-webkit-line-clamp:unset;font-size:14px;line-height:1.65;margin:0;color:var(--muted)}
#services .services-slider .card:hover{padding:26px;background:color-mix(in srgb,var(--gold) 8%,transparent);transform:translateY(-3px)}
#services .services-slider .card:hover h3{text-decoration:none}
#services .services-slider .card:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
#stories .section-head,#system .section-head{margin-bottom:32px}
@media(min-width:1101px){.hero-heading{column-gap:48px}.hero h1{font-size:clamp(70px,7.4vw,112px)}.hero-bottom{margin-top:24px}.hero-bottom .lead{font-size:18px;line-height:1.7}.hero-stage .stage-image{transform:none}}
@media(min-width:721px) and (max-width:1100px){#services .services-slider{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){#services{padding-block:44px}#services .section-head{margin-bottom:24px}#services .services-slider{grid-template-columns:minmax(0,1fr);gap:12px}#services .services-slider .card,#services .services-slider .card:hover{padding:22px;border-radius:24px;column-gap:12px;grid-template-columns:30px minmax(0,1fr)}#services .services-slider .card h3{font-size:17px}#services .services-slider .card p{grid-column:2}.hero-bottom .lead{max-width:36ch}.hero-stage .stage-image{aspect-ratio:auto}.hero-stage .stage-image img{height:auto;width:100%}}
@media(prefers-reduced-motion:reduce){#services .services-slider .card{transition:none}}

/* Compact rhythm through method, differentiation and contact. */
#system{padding-block:40px}
#system .section-head{margin-bottom:24px}
#system .system-carousel .card{padding-top:8px}
#system .system-carousel h3{margin:16px 0 10px}
#why{padding-block:40px;gap:48px;align-items:start}
#why .section-head{margin-bottom:0}
#why .why-acc summary{padding-block:16px;min-height:52px}
#why .acc-body{padding-bottom:16px}
#contact{padding-block:40px 56px}
@media(max-width:720px){#system,#why{padding-block:28px}#why{gap:24px}#contact{padding-block:28px 40px}#system .system-carousel{row-gap:24px}}

/* Keep the brand signature on two balanced lines at every viewport. */
.hero h1>span:first-child{font-weight:400;white-space:nowrap;letter-spacing:-.065em}
.hero h1>span+span{font-size:.88em;line-height:1.02;letter-spacing:-.055em;margin-top:0;font-weight:500}
.hero h1 .hero-up{margin-left:.015em}
.hero-up img{width:1.38em}

/* Separate the method from the differentiators without expanding other sections. */
#system + #why{margin-top:24px}
@media(max-width:720px){#system + #why{margin-top:16px}}

/* Hero signature: two balanced text lines beside the official UP mark. */
.hero h1.hero-lift-title{display:flex;align-items:center;gap:.3em;font-size:clamp(38px,4.25vw,66px);line-height:1;letter-spacing:-.06em}
.hero-lift-title .hero-lift-words{display:flex;flex-direction:column;white-space:nowrap}
.hero-lift-title .hero-lift-words>span:first-child{font-size:1.13em;line-height:1.12;font-weight:500;letter-spacing:.015em}
.hero-lift-title .hero-lift-words>span+span{font-size:1em;line-height:1.15;font-weight:400}
.hero h1.hero-lift-title .hero-up{margin:0;flex-shrink:0}
.hero h1.hero-lift-title .hero-up img{width:3.3em;height:auto;transform:none}
.hero-photo-group{position:relative;min-width:0;align-self:center;padding-top:85px}
.hero-photo-group .hero-stage{display:block;width:100%;max-width:none;margin:0}
@font-face{font-family:Caveat;src:url('/assets/fonts/caveat.woff2') format('woff2');font-weight:400 700;font-display:swap}
.hero-photo-note{position:absolute;top:0;left:8%;margin:0;pointer-events:none;text-align:left}
.hero-photo-note p{font-family:Caveat,cursive;font-size:24px;font-weight:500;line-height:1.15;color:var(--gold);margin:0;transform:rotate(-4deg);transform-origin:left center}
.hero-photo-note svg{position:absolute;left:0;top:38px;width:65px;height:160px;stroke:var(--gold);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
@media(min-width:721px) and (max-width:1100px){.hero h1.hero-lift-title{font-size:3.8vw}.hero-photo-group{padding-top:65px}.hero-photo-note{left:0}.hero-photo-note p{font-size:20px}.hero-photo-note svg{width:44px;height:105px;top:30px}}
@media(max-width:720px){.hero h1.hero-lift-title{font-size:7.6vw;gap:.22em}.hero h1.hero-lift-title .hero-up img{width:3.3em}.hero-bottom{margin:12px 0}.hero-photo-group{padding-top:58px;margin-top:28px}.hero-photo-note{left:4%}.hero-photo-note p{font-size:21px}.hero-photo-note svg{left:-4px;top:28px;width:42px;height:90px}}

/* Optical alignment with the visible capitals and lowercase descenders. */
.hero h1.hero-lift-title .hero-up img{width:3.53em;height:auto;transform:translateY(.015em)}
.hero-note-mobile{display:none}
@media(max-width:720px){.hero-title-group>.hero-note{display:none}.hero-note-mobile{display:flex;justify-content:center;margin:20px 0 12px}.hero-note-mobile p{font-size:14px}.hero-photo-group{margin-top:24px}.hero h1.hero-lift-title{font-size:7.6vw}}

@font-face{font-family:Manrope;src:url('/assets/fonts/manrope.woff2') format('woff2');font-weight:200 800;font-display:swap}
.hero h1.hero-lift-title{font-family:Manrope,Inter,sans-serif;letter-spacing:-.035em}
.hero-lift-title .hero-lift-words>span:first-child{font-size:1.09em;font-weight:600;letter-spacing:.015em}
.hero-lift-title .hero-lift-words>span+span{font-weight:500;letter-spacing:-.035em}

@media(max-width:720px){.hero h1.hero-lift-title{justify-content:center;width:100%}.hero-photo-group{justify-self:center;width:100%}.hero-note-mobile{text-align:center}}

.hero-lift-title .hero-lift-words>span:first-child{font-size:1.35em;letter-spacing:0;font-weight:500}
.hero-lift-title .hero-lift-words>span+span{font-size:1em;letter-spacing:0;font-weight:500}
.hero-photo-note{top:42px;left:12%}
.hero-photo-note p{font-size:20px}
.hero-photo-note svg{top:23px;left:0;width:54px;height:115px}
@media(min-width:721px) and (max-width:1100px){.hero-photo-note{top:26px;left:4%}.hero-photo-note p{font-size:17px}.hero-photo-note svg{top:21px;width:38px;height:75px}}
@media(max-width:720px){.hero-photo-note{top:20px;left:7%}.hero-photo-note p{font-size:18px}.hero-photo-note svg{top:21px;left:-2px;width:36px;height:68px}}

.hero-lift-title .hero-lift-words>span:first-child{font-size:1.68em}
.hero h1.hero-lift-title .hero-up img{width:4em}
.hero h1.hero-lift-title{font-size:clamp(36px,4vw,62px)}
@media(min-width:721px) and (max-width:1100px){.hero h1.hero-lift-title{font-size:3.25vw}}
@media(max-width:720px){.hero h1.hero-lift-title{font-size:7vw}}

@font-face{font-family:Outfit;src:url('/assets/fonts/outfit.woff2') format('woff2');font-weight:100 900;font-display:swap}
.hero h1.hero-lift-title{font-family:Outfit,Inter,sans-serif}
.hero-lift-title .hero-lift-words>span:first-child{font-size:1.6em;font-weight:500;letter-spacing:0;line-height:1}
.hero-lift-title .hero-lift-words>span+span{font-weight:500;letter-spacing:0;line-height:1.25;padding-left:.025em}
.hero-photo-note svg{width:42px;height:88px;left:-5px}
@media(min-width:721px) and (max-width:1100px){.hero-photo-note svg{width:30px;height:58px;left:-5px}}
@media(max-width:720px){.hero-photo-note svg{width:28px;height:52px;left:-5px}}
/* Keep the annotation attached to the scene during pointer interaction. */
.hero-photo-group .hero-stage:hover .stage-image img{transform:none}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.hero-photo-group{transition:transform 400ms ease;transform-origin:center center}.hero-photo-group:hover{transform:scale(1.025)}}
@media(prefers-reduced-motion:reduce){.hero-photo-group{transition:none;transform:none}}

.hero-lift-title .hero-lift-words>span:first-child{font-weight:600}
.hero-lift-title .hero-lift-words>span+span{font-weight:400}

.hero h1.hero-text-title{display:block;font-size:clamp(38px,4.5vw,70px);letter-spacing:-.025em}
.hero-text-title .hero-lift-words>span:first-child{font-size:1em;font-weight:600;line-height:1.1;letter-spacing:-.025em}
.hero-text-title .hero-lift-words>span+span{font-size:1em;font-weight:400;line-height:1.15;letter-spacing:-.025em;padding-left:0}
.hero-text-title em{font-style:normal;color:var(--gold)}
@media(min-width:721px) and (max-width:1100px){.hero h1.hero-text-title{font-size:3.75vw}}
@media(max-width:720px){.hero h1.hero-text-title{font-size:8vw;text-align:center}}

.hero-text-title .hero-lift-words>span:first-child,.hero-text-title .hero-lift-words>span+span{font-weight:500;letter-spacing:-.025em}
@media(max-width:720px){.hero h1.hero-text-title{font-size:clamp(22px,6.9vw,46px)}.hero-text-title .hero-lift-words{flex-direction:row;justify-content:center;align-items:baseline;gap:.23em}.hero-text-title .hero-lift-words>span:first-child,.hero-text-title .hero-lift-words>span+span{line-height:1.2}}

.hero h1.hero-text-title{font-size:clamp(30px,3.8vw,60px)}
.hero-text-title .hero-lift-words{flex-direction:row;align-items:baseline;gap:.23em;white-space:nowrap}
.hero-text-title .hero-lift-words>span:first-child,.hero-text-title .hero-lift-words>span+span{font-size:1em;font-weight:400;line-height:1.2;letter-spacing:-.025em}
.hero-text-title em{font-weight:700}
@media(min-width:721px) and (max-width:1100px){.hero h1.hero-text-title{font-size:3.6vw}}
@media(max-width:720px){.hero h1.hero-text-title{font-size:clamp(22px,6.9vw,46px)}.hero-text-title .hero-lift-words{justify-content:center}}

@font-face{font-family:'DM Sans';src:url('/assets/fonts/dm-sans.woff2') format('woff2');font-weight:100 1000;font-display:swap}
.hero h1.hero-text-title{font-family:'DM Sans',Inter,sans-serif;font-optical-sizing:auto}
.hero-photo-note p{font-size:16px;opacity:.76}
.hero-photo-note svg{width:34px;height:72px;stroke-width:1.3;opacity:.7}
@media(min-width:721px) and (max-width:1100px){.hero-photo-note p{font-size:14px}.hero-photo-note svg{width:25px;height:48px}}
@media(max-width:720px){.hero h1.hero-text-title{font-size:clamp(28px,10.5vw,62px)}.hero-photo-note p{font-size:14px}.hero-photo-note svg{width:23px;height:43px;top:19px}.hero-photo-group{margin-top:20px}}

/* Single-line signature with a restrained marker gesture. */
.hero h1.hero-text-title{font-size:clamp(38px,4.75vw,75px)}
.hero h1.hero-text-title .hero-lift-words{display:inline;white-space:nowrap;font-weight:400;line-height:1.2;letter-spacing:-.025em}
.hero-text-title .hero-lift-words>.hero-marker{position:relative;display:inline-block;font-size:1em;font-weight:400;line-height:inherit;letter-spacing:inherit}
@media(min-width:721px) and (max-width:1100px){.hero h1.hero-text-title{font-size:4.3vw}}
@media(max-width:720px){.hero h1.hero-text-title{font-size:clamp(28px,10.5vw,62px)}}

/* Tablet hierarchy: signature first, agency descriptor second. */
@media(min-width:721px) and (max-width:1100px){
 .hero h1.hero-text-title{font-size:clamp(40px,5.6vw,60px);margin-bottom:0}
 .hero-title-group>.hero-note{margin-top:12px;gap:7px}
 .hero-title-group>.hero-note p{font-size:clamp(14px,1.65vw,17px);line-height:1.4}
 .hero-title-group .hero-location{width:14px;height:14px;flex-basis:14px}
}

/* Lift gesture and a calmer action hierarchy. */
:root{--whatsapp-accent:#25d366}
.nav .nav-login{background:color-mix(in srgb,var(--action) 14%,var(--paper));border:1px solid color-mix(in srgb,var(--brand) 24%,transparent);border-radius:14px;gap:9px;padding:6px 14px 6px 7px;font-weight:500;transition:background var(--medium),border-color var(--medium)}
.nav .nav-login svg{box-sizing:content-box;width:16px;height:16px;padding:7px;border-radius:10px;background:var(--gold);color:var(--paper);flex-shrink:0}
.nav .nav-login:hover{background:color-mix(in srgb,var(--action) 26%,var(--paper));border-color:var(--brand)}
.hero-actions .btn{border-radius:16px;min-height:54px;padding:14px 20px;box-shadow:none;font-weight:600}
.hero-actions .btn-primary{background:var(--action);border-color:var(--action);color:var(--on-dark)}
.hero-actions .btn-primary:hover{background:var(--action-hover);border-color:var(--action-hover)}
.hero-actions .btn-join-team{background:color-mix(in srgb,var(--gold) 8%,var(--paper));border-color:color-mix(in srgb,var(--gold) 30%,transparent);color:var(--gold)}
.hero-actions .btn-join-team:hover{background:color-mix(in srgb,var(--gold) 16%,var(--paper));border-color:var(--gold)}
.hero-actions .btn-whatsapp{background:color-mix(in srgb,var(--whatsapp-accent) 8%,var(--paper));border-color:color-mix(in srgb,var(--whatsapp-accent) 30%,transparent);color:var(--whatsapp-accent);box-shadow:none}
.hero-actions .btn-whatsapp:hover{background:color-mix(in srgb,var(--whatsapp-accent) 16%,var(--paper));border-color:var(--whatsapp-accent)}
@media(max-width:720px){.nav .nav-login{padding:5px 9px 5px 5px;gap:7px}.nav .nav-login svg{width:14px;height:14px;padding:6px}.hero-actions .btn{padding:12px}}

/* Each glyph lifts independently without changing the line's layout. */
.hero h1.hero-text-title .hero-letter-line{display:inline;white-space:nowrap;font-size:1em;font-weight:400;letter-spacing:-.025em;line-height:1.2}
.hero h1.hero-text-title .hero-word{display:inline-block;font:inherit;letter-spacing:inherit;white-space:nowrap}
.hero h1.hero-text-title .hero-letter{display:inline-block;font:inherit;letter-spacing:inherit;transform:translateY(var(--letter-lift,0px));transition:transform var(--medium) var(--ease)}
.hero h1.hero-text-title .hero-word-up{font-weight:700;color:var(--gold)}
@media(prefers-reduced-motion:reduce){.hero h1.hero-text-title .hero-letter{transition:none;transform:none}}

/* Clear, unified account action without a nested icon tile. */
.nav .nav-login{background:var(--gold);color:var(--paper);border-color:var(--gold);border-radius:999px;padding:10px 18px;gap:9px;font-weight:600}
.nav .nav-login svg{padding:0;width:18px;height:18px;background:none;border-radius:0;color:inherit}
.nav .nav-login:hover{background:var(--gold);border-color:var(--gold);filter:brightness(1.08)}
.nav .nav-login:focus-visible{outline:2px solid var(--brand);outline-offset:4px}
@media(max-width:720px){.nav .nav-login{padding:9px 12px;gap:7px}.nav .nav-login svg{width:16px;height:16px}}

/* Overlay follows the existing contained image, without changing its dimensions. */
.hero-photo-group .stage-image{position:relative}
.portrait-arrow{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;stroke:var(--gold);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;opacity:.8}
.portrait-arrow .arrow-tablet,.portrait-arrow .arrow-mobile{display:none}
@media(min-width:721px) and (max-width:1100px){.portrait-arrow .arrow-desktop{display:none}.portrait-arrow .arrow-tablet{display:block}.portrait-arrow{stroke-width:2}}
@media(max-width:720px){.portrait-arrow .arrow-desktop{display:none}.portrait-arrow .arrow-mobile{display:block}.portrait-arrow{stroke-width:2.5}}

/* Reserve space for client logos in the first viewport. */
@media(min-width:1101px){
 .hero{min-height:0;padding-top:16px;padding-bottom:12px}
 .hero-heading{margin-top:0}
 .hero-photo-group{padding-top:36px}
 .hero-photo-note{top:12px;left:12%}
 .hero-photo-group .stage-image{height:clamp(280px,calc(100svh - 290px),540px);aspect-ratio:auto}
 #clients{padding-top:8px;padding-bottom:16px}
}
@media(min-width:721px) and (max-width:1100px){
 .hero{padding-top:12px;padding-bottom:8px}
 .hero-photo-group{padding-top:32px}
 .hero-photo-note{top:8px}
 .hero-photo-group .stage-image{height:clamp(220px,calc(100svh - 280px),420px);aspect-ratio:auto}
 #clients{padding-top:8px;padding-bottom:12px}
}
@media(max-width:720px){
 .hero{padding-top:12px;padding-bottom:4px}
 .hero-photo-group{padding-top:28px;margin-top:12px}
 .hero-photo-note{top:3px}
 .hero-photo-group .stage-image{height:clamp(205px,calc(100svh - 330px),390px);aspect-ratio:auto}
 .hero-photo-group .stage-image img{height:100%;width:100%;object-fit:contain;object-position:center}
 .hero-note-mobile{margin:10px 0 4px}
 #clients{padding-top:4px;padding-bottom:8px}
 #clients .logo-chip{height:76px}
 #clients .logo-chip img{height:66px}
}
@media(max-width:720px){.hero-photo-note{top:38px}}
@media(min-width:1101px){#clients .logo-chip{height:108px}#clients .logo-chip img{height:98px}}
@media(min-width:721px) and (max-width:1100px){.hero-photo-group .stage-image{height:clamp(200px,calc(100svh - 340px),380px)}#clients .logo-chip{height:96px}#clients .logo-chip img{height:86px}}

/* Keep the caption and arrow in the portrait’s own coordinate system. */
.hero-photo-note{display:none}
.portrait-caption{fill:var(--gold);stroke:none;font-family:Caveat,cursive;font-size:46px;font-weight:500}

/* On phones the first screen ends with client logos above the fixed actions. */
@media(max-width:720px){
 .landing-intro{box-sizing:border-box;min-height:calc(100svh - 76px);display:flex;flex-direction:column;padding-bottom:88px}
 .landing-intro .hero{width:100%}
 .landing-intro #clients{margin-top:auto;width:100%;flex-shrink:0}
}

.portrait-arrow{overflow:visible}
@media(max-width:720px){
 .landing-intro .hero{padding-top:30px}
 .hero-photo-group{margin-top:4px;padding-top:20px}
 .hero-photo-group .stage-image{height:min(calc(100vw - 44px),calc(100svh - 310px));min-height:205px}
 .landing-intro #clients{margin-top:14px}
 .hero-note-mobile{margin-top:12px;margin-bottom:0}
}
/* Distribute spare phone height while keeping logos above the fixed actions. */
@media(max-width:720px){
 .hero-photo-group{margin-top:clamp(14px,3svh,28px)}
 .hero-note-mobile{margin-top:clamp(20px,3svh,30px)}
 .landing-intro #clients{margin-top:auto}
}
/* Balance the first screen against the available height, independently per layout. */
@media(min-width:721px){
 .landing-intro{min-height:calc(100svh - 90px);display:flex;flex-direction:column}
 .landing-intro .hero{width:100%;flex:1;align-content:center;padding-top:clamp(20px,4svh,44px);padding-bottom:clamp(16px,3svh,32px)}
 .landing-intro #clients{width:100%;margin-top:auto;padding-bottom:24px;flex-shrink:0}
}
@media(max-width:720px){
 .hero-photo-group{margin-top:clamp(20px,4.5svh,42px)}
 .hero-note-mobile{margin-top:clamp(26px,5svh,46px)}
 #clients .logo-sequence{gap:12px;padding-inline-end:12px}
 #clients .logo-chip{width:126px;flex-basis:126px;height:84px}
 #clients .logo-chip img{width:120px;height:78px}
 #clients .logo-chip img[src*="proteinbar"]{width:94px;height:64px}
 #clients .logo-chip img[src*="lc-waikiki"]{width:126px;height:84px}
}
/* Drop the dark badge fill while retaining its light lettering and border. */
.logo-sequence .logo-chip img[src*="le-safran"],
.logo-sequence .logo-chip:hover img[src*="le-safran"]{filter:url(#safran-outline);mix-blend-mode:normal;opacity:.8}
@media(max-width:720px) and (max-height:740px){
 .landing-intro .hero{padding-top:18px}
 .hero-photo-group{margin-top:18px}
 .hero-photo-group .stage-image{height:min(calc(100vw - 44px),calc(100svh - 420px));min-height:180px}
 .hero-note-mobile{margin-top:20px}
}
/* Tablets follow the same reading order as phones, including landscape touch screens. */
@media(min-width:721px) and (max-width:1100px), (min-width:721px) and (max-width:1366px) and (pointer:coarse){
 .landing-intro{box-sizing:border-box;min-height:calc(100svh - 90px);padding-bottom:88px}
 .landing-intro .hero{display:block;flex:0 0 auto;min-height:0;padding-top:24px;padding-bottom:12px}
 .hero-heading{display:grid;grid-template-columns:1fr;margin-top:0;gap:0}
 .hero h1.hero-text-title{font-size:clamp(40px,7.6vw,78px);justify-content:center;text-align:center}
 .hero-title-group>.hero-note,.hero-title-group>.hero-bottom{display:none}
 .hero-photo-group{width:100%;margin-top:28px;padding-top:24px;justify-self:center}
 .hero-photo-group .stage-image{height:clamp(180px,calc(100svh - 600px),760px);max-height:calc(100vw - 100px);aspect-ratio:auto}
 .hero-photo-group .stage-image img{width:100%;height:100%;object-fit:contain;object-position:center}
 .hero-note-mobile{display:flex;justify-content:center;margin:28px 0 0;text-align:center}
 .hero-note-mobile p{font-size:18px}
 .landing-intro #clients{padding-top:12px;padding-bottom:12px;margin-top:auto}
 #clients .logo-chip{width:160px;flex-basis:160px;height:96px}
 #clients .logo-chip img{width:148px;height:86px}
}
@media(min-width:1101px) and (pointer:fine){
 .landing-intro .hero{padding-top:clamp(32px,5svh,64px)}
 .hero-photo-group .stage-image{height:clamp(280px,calc(100svh - 340px),660px)}
}
@media(min-width:721px) and (max-width:1100px) and (min-height:900px), (min-width:721px) and (max-width:1366px) and (pointer:coarse) and (min-height:900px){
 .hero-photo-group{margin-top:60px}
 .hero-note-mobile{margin-top:48px}
}

/* Keep the hand-drawn arrow crisp at every portrait size. */
.portrait-arrow{opacity:.85}
.portrait-arrow path{vector-effect:non-scaling-stroke;stroke-width:1}
/* Reuse the action-bar clearance when the visitor scrolls into the team section. */
@media(max-width:1100px){
 .landing-intro + #team{margin-top:-64px;padding-top:20px}
}

/* Quiet utility icons leave the wordmark as the header’s focal point. */
.nav .nav-login,.nav .nav-academy-icon{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;min-width:44px;padding:0;border:1px solid transparent;border-radius:50%;background:transparent;color:var(--ink);flex-shrink:0}
.nav .nav-login:hover,.nav .nav-academy-icon:hover{background:#ffffff08;color:var(--gold);border-color:#ffffff20;filter:none}
.nav .nav-login svg,.nav .nav-academy-icon svg{width:22px;height:22px;padding:0;background:none;color:inherit}
.nav .nav-login span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.nav .nav-academy-icon:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
@media(min-width:1101px){.nav .nav-academy-icon{display:none}}

.founder-socials .founder-instagram:hover span,.founder-socials .founder-instagram:focus-visible span{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1.5px}

/* Soft keyword emphasis; the underline follows wrapped text without shifting it. */
.section .h2 em{color:color-mix(in srgb,var(--gold) 72%,var(--muted));font-style:normal;background-image:linear-gradient(currentColor,currentColor);background-repeat:no-repeat;background-position:0 100%;background-size:0% 2px;box-decoration-break:clone;-webkit-box-decoration-break:clone;transition:background-size .28s ease}
@media(hover:hover){.section .h2:hover em{background-size:100% 2px}}
[dir=rtl] .section .h2 em{background-position:100% 100%}
@media(prefers-reduced-motion:reduce){.section .h2 em{transition:none}}

/* Equal service cards, with two readable lines of supporting copy. */
#services .services-slider{grid-auto-rows:1fr}
#services .services-slider .card{grid-template-rows:minmax(50px,auto) minmax(47px,auto)}
#services .services-slider .card p{white-space:pre-line;min-block-size:3.3em}

/* Wide duo keeps complete shoulders and backs at the same display height. */
.team-photo--wide{width:clamp(420px,51vw,750px);aspect-ratio:1.5}


/* Consistent head-to-waist framing and visible space between silhouettes. */
.team-carousel{--portrait-height:clamp(290px,34vw,500px);--portrait-gap:clamp(28px,3vw,48px)}
.team-sequence{gap:var(--portrait-gap);padding-inline-end:var(--portrait-gap)}
.team-photo{position:relative;overflow:hidden;margin:0;height:var(--portrait-height);width:calc(var(--portrait-height) * var(--portrait-ratio,1));aspect-ratio:auto}
.team-photo img{position:absolute;max-width:none;width:var(--image-width,100%);height:var(--image-height,100%);left:var(--image-left,0%);top:var(--image-top,0%);object-fit:fill}
.team-track{animation-duration:30s}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
  .founder-photo img{transition:transform 400ms ease;transform-origin:center bottom}
  .founder-photo:hover img{transform:scale(1.025)}
}
