/* ==========================================================================
   WyteRock France — design system
   Palette sampled directly from the brand wordmark:
     magenta  #9E005D   (wordmark)
     black    #000000   (the signature dot replacing the "o" in Rock)
   v0.1.0
   ========================================================================== */

:root{
  /* --- brand --- */
  --wyr-magenta:      #9E005D;
  --wyr-magenta-deep: #7A0048;   /* AA-safe on white for small text, hover states */
  --wyr-magenta-dark: #5C0036;
  --wyr-magenta-tint: #FBF2F7;
  --wyr-magenta-line: #E8D3DF;
  --wyr-black:        #000000;

  /* --- neutrals: generous white, restrained cool grey for technical text --- */
  --wyr-white:      #FFFFFF;
  --wyr-off:        #FAFAFB;
  --wyr-off-2:      #F4F5F7;
  --wyr-line:       #E3E5E9;
  --wyr-line-soft:  #EDEEF1;
  --wyr-slate:      #4A4F59;   /* body text, AA on white */
  --wyr-slate-mute: #6B7280;   /* secondary/technical, AA on white */
  --wyr-ink:        #14161A;   /* headings */

  /* --- type --- */
  --wyr-serif: "Cormorant Garamond", "Didot", "Bodoni MT", "Playfair Display", Georgia, "Times New Roman", serif;
  --wyr-sans:  "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;

  /* --- rhythm --- */
  --wyr-max:     1240px;
  --wyr-narrow:  820px;
  --wyr-gut:     clamp(1.25rem, 4vw, 2.5rem);
  --wyr-section: clamp(4.5rem, 10vw, 9rem);
  --wyr-r:       2px;   /* deliberately near-square: clinical, not consumer */

  --wyr-shadow:    0 1px 2px rgba(20,22,26,.04), 0 8px 28px rgba(20,22,26,.06);
  --wyr-shadow-lg: 0 2px 6px rgba(20,22,26,.05), 0 24px 60px rgba(20,22,26,.10);
  --wyr-ease: cubic-bezier(.22,.61,.36,1);
}

/* ---------- reset / base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
}
body{
  margin:0;
  font-family:var(--wyr-sans);
  font-size:clamp(1rem,.97rem + .18vw,1.075rem);
  line-height:1.72;
  color:var(--wyr-slate);
  background:var(--wyr-white);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;            /* guarantee: no horizontal body scroll */
}
img,svg,video{max-width:100%;height:auto;display:block}
a{color:var(--wyr-magenta-deep);text-decoration:none}
a:hover{text-decoration:underline;text-underline-offset:3px}
:focus-visible{outline:2px solid var(--wyr-magenta);outline-offset:3px;border-radius:var(--wyr-r)}
::selection{background:var(--wyr-magenta);color:#fff}

h1,h2,h3,h4{
  font-family:var(--wyr-serif);
  color:var(--wyr-ink);
  font-weight:600;
  line-height:1.1;
  letter-spacing:-.012em;
  margin:0 0 .6em;
  text-wrap:balance;
}
h1{font-size:clamp(2.6rem,1.7rem + 4.2vw,5rem);letter-spacing:-.022em}
h2{font-size:clamp(2rem,1.4rem + 2.5vw,3.35rem);letter-spacing:-.018em}
h3{font-size:clamp(1.3rem,1.15rem + .7vw,1.7rem)}
h4{font-size:clamp(1.05rem,1rem + .3vw,1.2rem);font-family:var(--wyr-sans);font-weight:650;letter-spacing:-.005em}
p{margin:0 0 1.15em}
p:last-child{margin-bottom:0}

/* ---------- layout ---------- */
.wyr-wrap{width:100%;max-width:var(--wyr-max);margin-inline:auto;padding-inline:var(--wyr-gut)}
.wyr-narrow{max-width:var(--wyr-narrow)}
.wyr-section{padding-block:var(--wyr-section)}
.wyr-section--tint{background:var(--wyr-off)}
.wyr-section--line{border-top:1px solid var(--wyr-line-soft)}
.wyr-center{text-align:center}
.wyr-center .wyr-eyebrow{justify-content:center}

/* ---------- the black dot: the brand's signature device ---------- */
.wyr-dot{
  display:inline-block;
  width:.42em;height:.42em;
  background:var(--wyr-black);
  border-radius:50%;
  flex:0 0 auto;
  /* optical centring: a baseline-set circle reads low against x-height */
  vertical-align:middle;
  position:relative;
  top:-.045em;
}
.wyr-dot--mag{background:var(--wyr-magenta)}
/* The "o" swapped for the dot inside a heading.
   Geometry measured from the lowercase "o" of the headline face
   (Cormorant Garamond 600) at a 200px em: ink width 84, x-height 82,
   top +80 and bottom -2 relative to the baseline, side bearings 6 / 7.2.
   A solid circle reads heavier than the open counter of an "o", so the
   diameter is pulled back 4% optically — 0.403em rather than 0.42em.
   All values are em-relative, so the device scales with the fluid clamp()
   headline and holds its alignment at every breakpoint. */
.wyr-o{
  display:inline-block;
  width:.403em;
  height:.403em;
  background:var(--wyr-black);
  border-radius:50%;
  vertical-align:baseline;
  transform:translateY(.007em);   /* seats it on the baseline, matching the o's overshoot */
  margin-left:.030em;             /* side bearings matched to the o */
  margin-right:.036em;
}
.wyr-rule{
  width:56px;height:2px;background:var(--wyr-black);
  border:0;margin:0 0 2rem;margin-inline-start:0;
}
.wyr-center .wyr-rule{margin-inline:auto}

/* ---------- eyebrow ---------- */
.wyr-eyebrow{
  display:flex;align-items:center;gap:.6rem;
  font-family:var(--wyr-sans);
  font-size:.72rem;font-weight:650;
  letter-spacing:.19em;text-transform:uppercase;
  color:var(--wyr-magenta-deep);
  margin:0 0 1.1rem;
}
.wyr-eyebrow .wyr-dot{width:6px;height:6px;top:-.5px}
.wyr-eyebrow--light{color:#F3C9DF}
.wyr-eyebrow--light .wyr-dot{background:#fff}

/* ---------- lede ---------- */
.wyr-lede{
  font-size:clamp(1.1rem,1.02rem + .45vw,1.35rem);
  line-height:1.62;
  color:var(--wyr-slate);
}
.wyr-muted{color:var(--wyr-slate-mute)}
.wyr-small{font-size:.86rem;line-height:1.6}

/* ---------- buttons ---------- */
.wyr-btn{
  display:inline-flex;align-items:center;gap:.6rem;
  font-family:var(--wyr-sans);font-size:.9rem;font-weight:600;
  letter-spacing:.02em;
  padding:.95rem 1.7rem;
  border-radius:var(--wyr-r);
  border:1px solid transparent;
  cursor:pointer;
  transition:background .25s var(--wyr-ease),color .25s var(--wyr-ease),border-color .25s var(--wyr-ease),transform .25s var(--wyr-ease);
  text-decoration:none!important;
  line-height:1.2;
}
.wyr-btn:hover{transform:translateY(-1px)}
.wyr-btn--primary{background:var(--wyr-magenta);color:#fff;border-color:var(--wyr-magenta)}
.wyr-btn--primary:hover{background:var(--wyr-magenta-deep);border-color:var(--wyr-magenta-deep);color:#fff}
.wyr-btn--ghost{background:transparent;color:var(--wyr-ink);border-color:var(--wyr-line)}
.wyr-btn--ghost:hover{border-color:var(--wyr-black);background:var(--wyr-white)}
.wyr-btn--onblack{background:#fff;color:var(--wyr-ink);border-color:#fff}
.wyr-btn--onblack:hover{background:var(--wyr-magenta);color:#fff;border-color:var(--wyr-magenta)}
.wyr-btn--outline-light{background:transparent;color:#fff;border-color:rgba(255,255,255,.42)}
.wyr-btn--outline-light:hover{border-color:#fff;background:rgba(255,255,255,.08);color:#fff}
.wyr-btn__ico{width:17px;height:17px;flex:0 0 auto;fill:currentColor}
.wyr-btns{display:flex;flex-wrap:wrap;gap:.85rem;align-items:center}

/* arrow link */
.wyr-arrow{
  display:inline-flex;align-items:center;gap:.5rem;
  font-family:var(--wyr-sans);font-size:.87rem;font-weight:600;
  letter-spacing:.04em;text-transform:uppercase;
  color:var(--wyr-magenta-deep);text-decoration:none!important;
}
.wyr-arrow svg{width:15px;height:15px;fill:currentColor;transition:transform .25s var(--wyr-ease)}
.wyr-arrow:hover svg{transform:translateX(4px)}

/* ==========================================================================
   HEADER
   ========================================================================== */
.wyr-header{
  position:sticky;top:0;z-index:900;
  background:rgba(255,255,255,.88);
  backdrop-filter:saturate(180%) blur(14px);
  -webkit-backdrop-filter:saturate(180%) blur(14px);
  border-bottom:1px solid var(--wyr-line-soft);
}
.wyr-header__in{display:flex;align-items:center;justify-content:space-between;gap:clamp(1rem,2.5vw,2.25rem);min-height:84px}
.wyr-brand{display:flex;align-items:center;text-decoration:none!important;flex:0 0 auto}
.wyr-brand img{width:auto;height:37px;display:block}
.wyr-nav{display:flex;align-items:center;gap:clamp(1.15rem,2vw,1.9rem)}
/* the in-nav WhatsApp button is the mobile-drawer affordance only */
.wyr-nav .wyr-btn{display:none}
.wyr-nav a{
  font-size:.875rem;font-weight:550;letter-spacing:.01em;
  color:var(--wyr-slate);text-decoration:none!important;
  position:relative;padding-block:.4rem;line-height:1;white-space:nowrap;
  transition:color .2s var(--wyr-ease);
}
.wyr-nav a::after{
  content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;
  background:var(--wyr-black);transform:scaleX(0);transform-origin:left;
  transition:transform .28s var(--wyr-ease);
}
.wyr-nav a:hover,.wyr-nav a[aria-current="page"]{color:var(--wyr-ink)}
.wyr-nav a:hover::after,.wyr-nav a[aria-current="page"]::after{transform:scaleX(1)}
.wyr-header__cta{display:flex;align-items:center;gap:.75rem;flex:0 0 auto}
.wyr-header__cta .wyr-btn{padding:.68rem 1.25rem;font-size:.83rem}

.wyr-burger{
  display:none;width:44px;height:44px;
  align-items:center;justify-content:center;
  background:transparent;border:1px solid var(--wyr-line);border-radius:var(--wyr-r);
  cursor:pointer;padding:0;
}
.wyr-burger span{display:block;width:19px;height:1.5px;background:var(--wyr-ink);position:relative;transition:background .2s}
.wyr-burger span::before,.wyr-burger span::after{
  content:"";position:absolute;left:0;width:19px;height:1.5px;background:var(--wyr-ink);
  transition:transform .28s var(--wyr-ease),top .28s var(--wyr-ease);
}
.wyr-burger span::before{top:-6px}
.wyr-burger span::after{top:6px}
.wyr-burger[aria-expanded="true"] span{background:transparent}
.wyr-burger[aria-expanded="true"] span::before{top:0;transform:rotate(45deg)}
.wyr-burger[aria-expanded="true"] span::after{top:0;transform:rotate(-45deg)}

@media (max-width:940px){
  .wyr-burger{display:flex}
  .wyr-header__cta{display:none}
  .wyr-nav{
    position:absolute;top:100%;left:0;right:0;
    flex-direction:column;align-items:stretch;gap:0;
    background:var(--wyr-white);
    border-bottom:1px solid var(--wyr-line);
    padding:.5rem var(--wyr-gut) 1.5rem;
    box-shadow:var(--wyr-shadow-lg);
    display:none;
  }
  .wyr-nav[data-open="true"]{display:flex}
  .wyr-nav a{padding:.95rem 0;border-bottom:1px solid var(--wyr-line-soft);font-size:1rem}
  .wyr-nav a::after{display:none}
  .wyr-nav .wyr-btn{display:inline-flex;margin-top:1.1rem;justify-content:center;border-bottom:0}
}

/* ==========================================================================
   HERO
   ========================================================================== */
.wyr-hero{position:relative;background:var(--wyr-white);overflow:hidden}
.wyr-hero__in{
  display:grid;grid-template-columns:1.02fr .98fr;
  gap:clamp(2rem,5vw,4.5rem);align-items:center;
  padding-block:clamp(3.5rem,7vw,6.5rem);
}
.wyr-hero__copy{max-width:640px}
.wyr-hero h1{margin-bottom:.42em}
.wyr-hero__lede{
  font-size:clamp(1.08rem,1rem + .5vw,1.35rem);
  line-height:1.6;color:var(--wyr-slate);max-width:38ch;margin-bottom:2.1rem;
}
.wyr-hero__fig{position:relative;border-radius:var(--wyr-r);box-shadow:var(--wyr-shadow-lg);margin:0}
.wyr-hero__fig img{border-radius:var(--wyr-r)}
/* The signature dot, placed with intent: it straddles the top-left corner of the
   image card, half on the white page and half on the image, so it reads as a
   deliberate registration mark rather than an element loose inside the picture. */
.wyr-hero__fig::before{
  content:"";
  position:absolute;
  top:0;left:0;
  width:clamp(18px,1.9vw,26px);
  aspect-ratio:1;
  background:var(--wyr-black);
  border-radius:50%;
  transform:translate(-50%,-50%);
  z-index:2;
}
/* on the dark Innovation hero the mark would vanish into the ground */
.wyr-dark .wyr-hero__fig::before{background:var(--wyr-magenta)}
.wyr-hero__fig img{width:100%;height:100%;object-fit:cover;aspect-ratio:5/3.4}
.wyr-hero__meta{
  display:flex;flex-wrap:wrap;gap:.6rem 1.6rem;align-items:center;
  margin-top:2.4rem;padding-top:1.5rem;border-top:1px solid var(--wyr-line-soft);
  font-size:.79rem;font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:var(--wyr-slate-mute);
}
.wyr-hero__meta span{display:inline-flex;align-items:center;gap:.5rem}
.wyr-hero__meta .wyr-dot{width:5px;height:5px;top:-.5px}
@media (max-width:900px){
  .wyr-hero__in{grid-template-columns:1fr;gap:2.5rem}
  .wyr-hero__copy{max-width:none}
  .wyr-hero__lede{max-width:none}
}

/* ==========================================================================
   PILLARS
   ========================================================================== */
.wyr-pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--wyr-line)}
.wyr-pillar{
  position:relative;padding:clamp(2rem,3.4vw,3rem) clamp(1.5rem,2.6vw,2.5rem);
  border-right:1px solid var(--wyr-line);
  background:var(--wyr-white);
  transition:background .3s var(--wyr-ease);
  display:flex;flex-direction:column;
}
.wyr-pillar:last-child{border-right:0}
.wyr-pillar:hover{background:var(--wyr-magenta-tint)}
.wyr-pillar__n{
  font-family:var(--wyr-serif);font-size:.95rem;font-weight:600;
  color:var(--wyr-magenta);letter-spacing:.1em;margin-bottom:1.6rem;
  display:flex;align-items:center;gap:.55rem;
}
.wyr-pillar__n .wyr-dot{width:7px;height:7px}
.wyr-pillar h3{margin-bottom:.55em}
.wyr-pillar p{font-size:.965rem;color:var(--wyr-slate);flex:1 0 auto;margin-bottom:0}
.wyr-pillar .wyr-arrow{margin-top:1.75rem;align-self:flex-start}
@media (max-width:900px){
  .wyr-pillars{grid-template-columns:1fr}
  .wyr-pillar{border-right:0;border-bottom:1px solid var(--wyr-line)}
  .wyr-pillar:last-child{border-bottom:0}
}

/* ==========================================================================
   SPLIT (image + copy) — alternating
   ========================================================================== */
.wyr-split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5.5vw,5rem);align-items:center}
.wyr-split--flip .wyr-split__fig{order:2}
.wyr-split__fig{border-radius:var(--wyr-r);overflow:hidden;box-shadow:var(--wyr-shadow);position:relative}
.wyr-split__fig img{width:100%;aspect-ratio:16/11;object-fit:cover}
.wyr-split__copy h2{margin-bottom:.5em}
@media (max-width:880px){
  .wyr-split{grid-template-columns:1fr;gap:2.25rem}
  .wyr-split--flip .wyr-split__fig{order:0}
}

/* ---------- capability list ---------- */
.wyr-caps{list-style:none;margin:1.9rem 0 0;padding:0;display:grid;gap:.05rem}
.wyr-caps li{
  display:flex;align-items:flex-start;gap:.85rem;
  padding:.82rem 0;border-bottom:1px solid var(--wyr-line-soft);
  font-size:.955rem;color:var(--wyr-slate);
}
.wyr-caps li:first-child{border-top:1px solid var(--wyr-line-soft)}
.wyr-caps .wyr-dot{width:6px;height:6px;margin-top:.66em;top:0}
.wyr-caps strong{color:var(--wyr-ink);font-weight:600}

/* ==========================================================================
   STAT / CREDIBILITY STRIP
   ========================================================================== */
.wyr-strip{background:var(--wyr-ink);color:#fff}
.wyr-strip .wyr-wrap{padding-block:clamp(3rem,6vw,4.75rem)}
.wyr-strip h2{color:#fff}
.wyr-strip__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1.75rem,4vw,3.5rem)}
.wyr-strip__item{border-top:2px solid var(--wyr-magenta);padding-top:1.4rem}
.wyr-strip__item h4{color:#fff;margin-bottom:.5rem;font-size:1.02rem}
.wyr-strip__item p{color:rgba(255,255,255,.66);font-size:.92rem;margin:0}
@media (max-width:820px){.wyr-strip__grid{grid-template-columns:1fr}}

/* ==========================================================================
   CARDS
   ========================================================================== */
.wyr-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem}
.wyr-card{
  background:var(--wyr-white);border:1px solid var(--wyr-line);
  border-radius:var(--wyr-r);padding:clamp(1.5rem,2.4vw,2.1rem);
  transition:border-color .28s var(--wyr-ease),box-shadow .28s var(--wyr-ease),transform .28s var(--wyr-ease);
}
.wyr-card:hover{border-color:var(--wyr-black);box-shadow:var(--wyr-shadow);transform:translateY(-2px)}
.wyr-card__ico{
  width:40px;height:40px;margin-bottom:1.35rem;
  display:flex;align-items:center;justify-content:center;
  border:1px solid var(--wyr-magenta-line);border-radius:50%;
}
.wyr-card__ico .wyr-dot{width:10px;height:10px;top:0}
.wyr-card h4{margin-bottom:.55rem}
.wyr-card p{font-size:.93rem;color:var(--wyr-slate-mute);margin:0}

/* ==========================================================================
   INNOVATION — dark, deliberately non-disclosing
   ========================================================================== */
.wyr-dark{background:var(--wyr-ink);color:rgba(255,255,255,.76)}
.wyr-dark h2,.wyr-dark h3,.wyr-dark h4{color:#fff}
.wyr-dark .wyr-lede{color:rgba(255,255,255,.8)}
.wyr-dark .wyr-rule{background:var(--wyr-magenta)}
.wyr-dark .wyr-caps li{border-color:rgba(255,255,255,.13);color:rgba(255,255,255,.78)}
.wyr-dark .wyr-caps li:first-child{border-top-color:rgba(255,255,255,.13)}
.wyr-dark .wyr-caps .wyr-dot{background:var(--wyr-magenta)}
.wyr-dark .wyr-caps strong{color:#fff}
.wyr-dark .wyr-split__fig{box-shadow:none;border:1px solid rgba(255,255,255,.1)}

.wyr-badge{
  display:inline-flex;align-items:center;gap:.6rem;
  border:1px solid var(--wyr-magenta);
  color:#fff;background:rgba(158,0,93,.18);
  padding:.5rem 1.05rem;border-radius:999px;
  font-size:.74rem;font-weight:650;letter-spacing:.16em;text-transform:uppercase;
  margin-bottom:1.6rem;
}
.wyr-badge .wyr-dot{background:var(--wyr-magenta);width:7px;height:7px;top:0}
.wyr-badge--light{background:var(--wyr-magenta-tint);color:var(--wyr-magenta-deep);border-color:var(--wyr-magenta-line)}

/* ==========================================================================
   CTA
   ========================================================================== */
.wyr-cta{background:var(--wyr-magenta);color:#fff;text-align:center}
.wyr-cta .wyr-wrap{padding-block:clamp(3.75rem,7.5vw,6rem)}
.wyr-cta h2{color:#fff;margin-bottom:.45em}
.wyr-cta p{color:rgba(255,255,255,.9);max-width:56ch;margin-inline:auto;margin-bottom:2.1rem;font-size:1.06rem}
.wyr-cta .wyr-btns{justify-content:center}
.wyr-cta .wyr-rule{background:#fff}

/* ==========================================================================
   CONTACT
   ========================================================================== */
.wyr-contact{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4.5rem)}
@media (max-width:880px){.wyr-contact{grid-template-columns:1fr}}
.wyr-contact__box{
  border:1px solid var(--wyr-line);border-radius:var(--wyr-r);
  padding:clamp(1.6rem,3vw,2.4rem);background:var(--wyr-white);
}
.wyr-contact__row{padding:1.1rem 0;border-bottom:1px solid var(--wyr-line-soft)}
.wyr-contact__row:last-child{border-bottom:0;padding-bottom:0}
.wyr-contact__row:first-child{padding-top:0}
.wyr-contact__k{
  font-size:.71rem;font-weight:650;letter-spacing:.17em;text-transform:uppercase;
  color:var(--wyr-slate-mute);margin-bottom:.4rem;display:flex;align-items:center;gap:.5rem;
}
.wyr-contact__k .wyr-dot{width:5px;height:5px;top:-.5px}
.wyr-contact__v{color:var(--wyr-ink);font-size:1rem;font-weight:500}
.wyr-placeholder{
  color:var(--wyr-slate-mute);font-style:italic;font-weight:400;
  border-bottom:1px dashed var(--wyr-magenta-line);
}

/* ==========================================================================
   WHATSAPP — discreet text link in Contact only. No button, no float.
   The number exists solely inside the href, never as rendered text.
   ========================================================================== */
.wyr-wa-link{
  display:inline-flex;align-items:center;gap:.45rem;
  color:var(--wyr-magenta-deep);
  font-size:inherit;font-weight:500;
  text-decoration:underline;text-underline-offset:3px;
  text-decoration-color:var(--wyr-magenta-line);
  transition:text-decoration-color .2s var(--wyr-ease),color .2s var(--wyr-ease);
}
.wyr-wa-link:hover{color:var(--wyr-magenta-dark);text-decoration-color:currentColor}
.wyr-wa-link svg{width:14px;height:14px;fill:currentColor;flex:0 0 auto;opacity:.75}

/* ==========================================================================
   FOOTER
   ========================================================================== */
.wyr-footer{background:var(--wyr-ink);color:rgba(255,255,255,.62);padding-block:clamp(3rem,6vw,4.5rem) 0}
.wyr-footer__grid{
  display:grid;grid-template-columns:1.6fr 1fr 1fr;
  gap:clamp(2rem,4vw,3.5rem);padding-bottom:3rem;
}
.wyr-footer img{height:34px;width:auto;margin-bottom:1.35rem;
  /* the wordmark is dark magenta + black; lift the black dot on dark ground */
  filter:brightness(0) invert(1) sepia(1) saturate(0) ;
}
.wyr-footer__logo{display:inline-block;margin-left:0}
.wyr-footer p{font-size:.9rem;color:rgba(255,255,255,.58);max-width:40ch}

.wyr-footer__grid > div{min-width:0}
.wyr-footer h5{
  font-family:var(--wyr-sans);font-size:.71rem;font-weight:650;
  letter-spacing:.17em;text-transform:uppercase;color:#fff;
  margin:0 0 1.15rem;display:flex;align-items:center;gap:.5rem;
}
.wyr-footer h5 .wyr-dot{background:var(--wyr-magenta);width:5px;height:5px;top:-.5px}
.wyr-footer ul{list-style:none;margin:0;padding:0}
.wyr-footer li{margin-bottom:.7rem}
.wyr-footer li a{color:rgba(255,255,255,.62);font-size:.9rem;text-decoration:none!important;transition:color .2s}
.wyr-footer li a:hover{color:#fff}
.wyr-footer__bar{
  border-top:1px solid rgba(255,255,255,.11);
  padding-block:1.5rem;
  display:flex;flex-wrap:wrap;gap:.6rem 1.5rem;
  align-items:center;justify-content:space-between;
  font-size:.8rem;color:rgba(255,255,255,.45);
}
.wyr-ver{
  display:inline-flex;align-items:center;gap:.5rem;line-height:1;
  font-variant-numeric:tabular-nums;letter-spacing:.05em;
}
.wyr-ver .wyr-dot{background:var(--wyr-magenta);width:5px;height:5px;top:0}
@media (max-width:820px){.wyr-footer__grid{grid-template-columns:1fr;gap:2.25rem}}

/* ---------- reveal on scroll ---------- */
.wyr-rv{opacity:0;transform:translateY(16px);transition:opacity .7s var(--wyr-ease),transform .7s var(--wyr-ease)}
.wyr-rv.is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.wyr-rv{opacity:1;transform:none}}

/* ---------- a11y ---------- */
.wyr-skip{
  position:absolute;left:-9999px;top:0;z-index:1000;
  background:var(--wyr-magenta);color:#fff;padding:.85rem 1.4rem;
  font-size:.9rem;font-weight:600;text-decoration:none!important;
}
.wyr-skip:focus{left:0}
.wyr-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
