/* =========================================================================
   IDEAL SOLUTIONS — Theme stylesheet
   1. Tokens   2. Reset   3. Typography   4. Layout   5. Components
   6. Header   7. Footer  8. Sections     9. Editor   10. Utilities
   ========================================================================= */

/* ---------- 1. TOKENS ---------------------------------------------------- */
:root{
  --is-coral:#FF5757;
  --is-coral-600:#EE3B3B;
  --is-coral-700:#C82727;
  --is-coral-50:#FFF0EF;
  --is-ink:#0B0B0B;
  --is-ink-900:#151515;
  --is-ink-700:#3C3A37;
  --is-ink-500:#6B6660;
  --is-paper:#FAF8F5;
  --is-paper-200:#F2EEE7;
  --is-paper-300:#E9E4DA;
  --is-line:#E0DACF;
  --is-line-strong:#C9C2B4;
  --is-line-ui:#8A8372;      /* borders on real controls: >=3:1 on paper and white */
  --is-line-ui-dark:#6E6A64;
  --is-line-dark:#292929;
  --is-white:#FFFFFF;

  --is-bg:var(--is-paper);
  --is-fg:var(--is-ink);

  --font-display:'Playfair Display',ui-serif,Georgia,'Times New Roman',serif;
  --font-body:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  --font-mono:ui-monospace,SFMono-Regular,'SF Mono',Menlo,Consolas,monospace;

  --wrap:1320px;
  --wrap-narrow:820px;
  --gutter:clamp(20px,5vw,64px);
  --section-y:clamp(72px,10vw,150px);

  --radius:0px;
  --radius-sm:2px;
  --shadow-lift:0 24px 60px -30px rgba(11,11,11,.35);
  --ease:cubic-bezier(.22,.61,.36,1);
  --t:.45s var(--ease);
}

/* ---------- 2. RESET ----------------------------------------------------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;overflow-x:clip}
@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;background:var(--is-bg);color:var(--is-fg);
  font-family:var(--font-body);font-size:1.0625rem;line-height:1.72;
  font-weight:400;letter-spacing:-.005em;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
  overflow-x:hidden;
}
img,svg,video{max-width:100%;height:auto;display:block}
figure{margin:0}
button,input,select,textarea{font:inherit;color:inherit}
a{color:inherit;text-decoration:none}
hr{border:0;border-top:1px solid var(--is-line);margin:2.5rem 0}
::selection{background:var(--is-coral);color:var(--is-white)}

:focus-visible{outline:3px solid var(--is-coral-600);outline-offset:3px}
.is-dark :focus-visible,.is-cta :focus-visible,.is-phero :focus-visible,.is-footer :focus-visible{outline-color:var(--is-coral)}
.is-skip{
  position:absolute;left:-9999px;top:0;z-index:999;
  background:var(--is-ink);color:var(--is-paper);padding:.9rem 1.4rem;
  font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;font-weight:600;
}
.is-skip:focus{left:0}
.screen-reader-text{
  border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;width:1px;
  margin:-1px;overflow:hidden;padding:0;position:absolute;word-wrap:normal!important;
}

/* ---------- 3. TYPOGRAPHY ------------------------------------------------ */
h1,h2,h3,h4,h5{
  font-family:var(--font-display);font-weight:800;
  line-height:1.07;letter-spacing:-.022em;margin:0 0 .55em;
  text-wrap:balance;
}
h1{font-size:clamp(2.75rem,6.4vw,5.25rem)}
h2{font-size:clamp(2.1rem,4.4vw,3.75rem)}
h3{font-size:clamp(1.45rem,2.4vw,2.1rem);font-weight:700}
h4{font-size:clamp(1.15rem,1.6vw,1.4rem);font-weight:700;letter-spacing:-.01em}
h5{font-size:1.05rem;font-weight:700}
p{margin:0 0 1.25em}
p:last-child{margin-bottom:0}
strong,b{font-weight:600}
blockquote{
  margin:2.5rem 0;padding:0 0 0 clamp(20px,3vw,40px);
  border-left:3px solid var(--is-coral);
  font-family:var(--font-display);font-size:clamp(1.25rem,2.2vw,1.75rem);
  line-height:1.4;font-style:italic;
}
blockquote cite{display:block;margin-top:1rem;font-family:var(--font-body);font-size:.85rem;font-style:normal;letter-spacing:.1em;text-transform:uppercase;color:var(--is-ink-500)}
code,kbd,pre{font-family:var(--font-mono);font-size:.9em}
code{background:var(--is-paper-300);padding:.15em .4em}
pre{background:var(--is-ink);color:var(--is-paper);padding:1.5rem;overflow:auto;font-size:.85rem;line-height:1.6}
pre code{background:none;padding:0}

.is-display{font-family:var(--font-display);font-weight:900;line-height:1.04;letter-spacing:-.03em}
.is-lead{font-size:clamp(1.1rem,1.55vw,1.3rem);line-height:1.62;color:var(--is-ink-700);font-weight:350}
.is-small{font-size:.9rem;line-height:1.65;color:var(--is-ink-500)}

/* Eyebrow / kicker — echoes the wordmark's tracked caps */
.is-eyebrow{
  display:inline-flex;align-items:center;gap:.75rem;
  font-size:.7rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;
  color:var(--is-ink-500);margin:0 0 1.5rem;
}
.is-eyebrow::before{content:"";width:28px;height:2px;background:var(--is-coral);flex:none}
.is-eyebrow--plain::before{display:none}

/* Coral marker behind a word — the logo device, reused as a type accent */
.is-mark{
  display:inline;padding:0 .12em;color:var(--is-ink);
  background-image:linear-gradient(var(--is-coral),var(--is-coral));
  background-repeat:no-repeat;
  background-position:0 0;
  background-size:100% 100%;
  -webkit-box-decoration-break:clone;box-decoration-break:clone;
}
/* A marked heading needs a little more leading so the bands never collide
   and never clip a descender. */
h1:has(.is-mark),h2:has(.is-mark),h3:has(.is-mark){line-height:1.22}
.is-hero h1:has(.is-mark),.is-phero h1:has(.is-mark),.is-cta h2:has(.is-mark){line-height:1.2}
.is-dark .is-mark,.is-cta .is-mark,.is-phero .is-mark{color:var(--is-ink)}

/* ---------- 4. LAYOUT ---------------------------------------------------- */
.is-wrap{width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gutter)}
.is-wrap--narrow{max-width:var(--wrap-narrow)}
.is-wrap--wide{max-width:1560px}
.is-section{padding-block:var(--section-y);position:relative}
.is-section--tight{padding-block:clamp(48px,6vw,88px)}
.is-section--flush-top{padding-top:0}

.is-grid{display:grid;gap:clamp(24px,3vw,48px)}
.is-grid--2{grid-template-columns:repeat(2,1fr)}
.is-grid--3{grid-template-columns:repeat(3,1fr)}
.is-grid--4{grid-template-columns:repeat(4,1fr)}
.is-split{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(32px,6vw,90px);align-items:start}
.is-split--center{align-items:center}
.is-split--aside{grid-template-columns:minmax(0,.28fr) minmax(0,.72fr)}
.is-split--aside-wide{grid-template-columns:minmax(0,.32fr) minmax(0,.68fr)}
.is-split--form{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)}
@media (max-width:1024px){
  .is-grid--4{grid-template-columns:repeat(2,1fr)}
  .is-grid--3{grid-template-columns:repeat(2,1fr)}
}
/* Two editorial columns stop working below about 880px — the measure gets
   too short and headings start breaking mid-phrase. */
@media (max-width:880px){
  .is-split,.is-split--aside,.is-split--aside-wide,.is-split--form{grid-template-columns:1fr}
}
@media (max-width:760px){
  .is-grid--2,.is-grid--3,.is-grid--4{grid-template-columns:1fr}
}

/* Dark surface */
.is-dark{background:var(--is-ink);color:var(--is-paper)}
.is-dark h1,.is-dark h2,.is-dark h3,.is-dark h4{color:var(--is-paper)}
.is-dark .is-lead{color:#B9B4AC}
.is-dark .is-eyebrow{color:#8E8981}
.is-dark .is-small{color:#8E8981}
.is-coral-surface{background:var(--is-coral);color:var(--is-ink)}
.is-paper-2{background:var(--is-paper-200)}

/* Section head */
.is-head{max-width:760px;margin-bottom:clamp(40px,5vw,72px)}
.is-head--center{margin-inline:auto;text-align:center}
.is-head--center .is-eyebrow{justify-content:center}
.is-head p{margin-top:1.4rem}

/* Hairline rule with a coral tick */
.is-rule{height:1px;background:var(--is-line);position:relative;margin-block:clamp(48px,6vw,80px)}
.is-rule::after{content:"";position:absolute;left:0;top:-1px;width:72px;height:3px;background:var(--is-coral)}
.is-dark .is-rule{background:var(--is-line-dark)}

/* ---------- 5. COMPONENTS ------------------------------------------------ */
/* Buttons */
.is-btn{
  --btn-bg:var(--is-ink);--btn-fg:var(--is-paper);--btn-bd:var(--is-ink);
  display:inline-flex;align-items:center;justify-content:center;gap:.7rem;
  padding:1.05rem 1.9rem;background:var(--btn-bg);color:var(--btn-fg);
  border:1.5px solid var(--btn-bd);cursor:pointer;
  font-size:.82rem;font-weight:600;letter-spacing:.13em;text-transform:uppercase;
  line-height:1;position:relative;overflow:hidden;isolation:isolate;
  transition:color var(--t),border-color var(--t),background-color var(--t);
}
.is-btn::after{
  content:"";position:absolute;inset:0;background:var(--is-coral);
  transform:translateY(101%);transition:transform var(--t);z-index:-1;
}
.is-btn:hover::after,.is-btn:focus-visible::after{transform:translateY(0)}
.is-btn:hover,.is-btn:focus-visible{color:var(--is-ink);border-color:var(--is-coral)}
.is-btn .is-btn__arrow{transition:transform var(--t)}
.is-btn:hover .is-btn__arrow{transform:translateX(4px)}
.is-btn--ghost{--btn-bg:transparent;--btn-fg:var(--is-ink);--btn-bd:var(--is-line-ui)}
.is-dark .is-btn--ghost{--btn-fg:var(--is-paper);--btn-bd:var(--is-line-ui-dark)}
.is-btn--coral{--btn-bg:var(--is-coral);--btn-fg:var(--is-ink);--btn-bd:var(--is-coral)}
.is-btn--coral::after{background:var(--is-ink)}
.is-btn--coral:hover,.is-btn--coral:focus-visible{color:var(--is-paper);border-color:var(--is-ink)}
.is-btn--light{--btn-bg:var(--is-paper);--btn-fg:var(--is-ink);--btn-bd:var(--is-paper)}
.is-btn--block{width:100%}
.is-btn--sm{padding:.8rem 1.35rem;font-size:.72rem}

/* Text link with underline draw */
.is-link{
  display:inline-flex;align-items:center;gap:.55rem;position:relative;
  font-weight:600;font-size:.82rem;letter-spacing:.13em;text-transform:uppercase;
  padding-bottom:.35rem;
}
.is-link::after{content:"";position:absolute;left:0;bottom:0;height:2px;width:100%;background:var(--is-coral);transform-origin:right;transform:scaleX(1);transition:transform var(--t)}
.is-link:hover::after{transform-origin:left;transform:scaleX(.35)}
.is-link svg{transition:transform var(--t)}
.is-link:hover svg{transform:translateX(4px)}

/* Card */
.is-card{
  position:relative;background:var(--is-white);border:1px solid var(--is-line);
  padding:clamp(28px,3vw,44px);display:flex;flex-direction:column;
  transition:transform var(--t),box-shadow var(--t),border-color var(--t);
  height:100%;
}
.is-card::before{content:"";position:absolute;left:-1px;top:-1px;width:0;height:4px;background:var(--is-coral);transition:width var(--t)}
.is-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lift);border-color:var(--is-line-strong)}
.is-card:hover::before{width:calc(100% + 2px)}
.is-card__index{font-family:var(--font-display);font-size:.95rem;font-weight:700;color:var(--is-coral);letter-spacing:.08em;margin-bottom:1.8rem}
.is-card h3{margin-bottom:.7rem}
.is-card p{color:var(--is-ink-700);font-size:.98rem}
.is-card__foot{margin-top:auto;padding-top:1.8rem}
.is-dark .is-card{background:var(--is-ink-900);border-color:var(--is-line-dark)}
.is-dark .is-card p{color:#A9A49C}
.is-dark .is-card:hover{border-color:#404040}

/* Icon tile */
.is-icon{
  width:56px;height:56px;flex:none;display:grid;place-items:center;
  background:var(--is-coral);color:var(--is-ink);margin-bottom:1.75rem;
}
.is-icon svg{width:26px;height:26px;stroke-width:1.5}

/* Stat */
.is-stat__num{font-family:var(--font-display);font-size:clamp(2.6rem,5vw,4.25rem);font-weight:800;line-height:1;letter-spacing:-.035em}
.is-stat__label{margin-top:.9rem;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--is-ink-500);font-weight:600}
.is-dark .is-stat__label{color:#8E8981}

/* Chip list */
.is-chips{display:flex;flex-wrap:wrap;gap:.6rem;list-style:none;margin:0;padding:0}
.is-chips li{
  border:1px solid var(--is-line-strong);padding:.5rem 1rem;
  font-size:.78rem;letter-spacing:.06em;font-weight:500;color:var(--is-ink-700);
}
.is-dark .is-chips li{border-color:var(--is-line-dark);color:#A9A49C}

/* Numbered / ticked lists */
.is-list{list-style:none;margin:0;padding:0;display:grid;gap:1rem}
.is-list li{position:relative;padding-left:2rem;color:var(--is-ink-700)}
.is-list li::before{
  content:"";position:absolute;left:0;top:.62em;width:11px;height:11px;
  background:var(--is-coral);
}
.is-dark .is-list li{color:#A9A49C}

/* Accordion */
.is-acc{border-top:1px solid var(--is-line)}
.is-acc__item{border-bottom:1px solid var(--is-line)}
.is-acc__btn{
  width:100%;background:none;border:0;cursor:pointer;text-align:left;
  padding:1.6rem 3rem 1.6rem 0;position:relative;
  font-family:var(--font-display);font-size:clamp(1.1rem,1.7vw,1.4rem);font-weight:700;
  line-height:1.3;letter-spacing:-.015em;
}
.is-acc__btn::after{
  content:"";position:absolute;right:.3rem;top:50%;width:14px;height:2px;background:var(--is-ink);
  transition:transform var(--t);
}
.is-acc__btn::before{
  content:"";position:absolute;right:.3rem;top:50%;width:14px;height:2px;background:var(--is-ink);
  transform:rotate(90deg);transition:transform var(--t);
}
.is-acc__btn[aria-expanded="true"]::before{transform:rotate(0)}
.is-acc__btn[aria-expanded="true"]{color:var(--is-coral-700)}
.is-acc__panel{overflow:hidden}
.is-js .is-acc__panel{height:0;transition:height var(--t)}
.is-acc__panel > div{padding:0 clamp(0px,4vw,60px) 1.9rem 0;color:var(--is-ink-700)}

/* Forms */
.is-field{display:grid;gap:.55rem;margin-bottom:1.35rem}
.is-field label{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;font-weight:600;color:var(--is-ink-500)}
.is-field .req{color:var(--is-coral-700)}
.is-field input,.is-field select,.is-field textarea{
  width:100%;padding:.95rem 1.05rem;background:var(--is-white);
  border:1px solid var(--is-line-ui);border-radius:0;
  font-size:.98rem;transition:border-color .2s,box-shadow .2s;
}
.is-field textarea{min-height:150px;resize:vertical}
.is-field input:focus,.is-field select:focus,.is-field textarea:focus{
  outline:3px solid var(--is-coral-600);outline-offset:1px;
  border-color:var(--is-coral-600);box-shadow:none;
}
.is-field .is-error{color:var(--is-coral-700);font-size:.82rem;letter-spacing:0;text-transform:none}
.is-consent{display:flex;gap:.8rem;align-items:flex-start;font-size:.85rem;color:var(--is-ink-700);margin-bottom:1.6rem;line-height:1.55}
.is-consent input{width:18px;height:18px;flex:none;margin-top:.2rem;accent-color:var(--is-coral-600)}
.is-notice{padding:1.1rem 1.3rem;border-left:3px solid var(--is-coral);background:var(--is-coral-50);font-size:.95rem;margin-bottom:1.75rem}
.is-notice--ok{border-left-color:#1E7A46;background:#EAF6EF}
.is-hp{position:absolute!important;left:-9999px!important}

/* ---------- 6. HEADER ---------------------------------------------------- */
.is-header{
  position:sticky;top:0;z-index:100;background:var(--is-paper);
  border-bottom:1px solid var(--is-line);
  transition:box-shadow var(--t),background-color var(--t);
}
.is-header.is-stuck{box-shadow:0 1px 24px rgba(11,11,11,.09)}
.is-header__bar{
  display:flex;align-items:center;justify-content:space-between;gap:2rem;
  min-height:86px;
}
.is-brand{display:flex;align-items:center;gap:.9rem;flex:none;padding-block:.9rem}
.is-brand img{width:auto;height:clamp(38px,4.6vw,54px)}
.is-brand__text{font-family:var(--font-display);font-size:1.4rem;font-weight:800;letter-spacing:-.02em;line-height:1}
.is-brand__text small{display:block;font-family:var(--font-body);font-size:.58rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--is-ink-500);margin-top:.35rem}

.is-nav{display:flex;align-items:center;gap:clamp(1rem,2.2vw,2.4rem)}
.is-nav ul{display:flex;align-items:center;gap:clamp(1rem,2.1vw,2.2rem);list-style:none;margin:0;padding:0}
.is-nav li{position:relative}
.is-nav a{
  display:block;padding:.45rem 0;font-size:.86rem;font-weight:500;letter-spacing:.01em;position:relative;
  white-space:nowrap;
}
@media (min-width:1081px){
  .is-nav > .is-btn{display:none}
}
.is-nav > ul > li > a::after{
  content:"";position:absolute;left:0;bottom:0;height:2px;width:100%;background:var(--is-coral);
  transform:scaleX(0);transform-origin:right;transition:transform .35s var(--ease);
}
.is-nav > ul > li > a:hover::after,
.is-nav > ul > li.current-menu-item > a::after,
.is-nav > ul > li.current-menu-ancestor > a::after,
.is-nav > ul > li.current_page_item > a::after{transform:scaleX(1);transform-origin:left}
.is-nav .menu-item-has-children > a{padding-right:1.1rem}
.is-nav .menu-item-has-children > a::before{
  content:"";position:absolute;right:0;top:50%;margin-top:-2px;
  border:4px solid transparent;border-top-color:var(--is-ink-500);
}
.is-nav .sub-menu{
  position:absolute;top:calc(100% + 14px);left:-1.4rem;min-width:264px;
  display:block;flex-direction:column;align-items:stretch;gap:0;
  background:var(--is-white);border:1px solid var(--is-line);padding:.6rem;
  box-shadow:var(--shadow-lift);
  opacity:0;visibility:hidden;transform:translateY(8px);
  transition:opacity .28s var(--ease),transform .28s var(--ease),visibility 0s linear .28s;
}
.is-nav li:hover > .sub-menu,.is-nav li:focus-within > .sub-menu{
  opacity:1;visibility:visible;transform:translateY(0);
  transition:opacity .28s var(--ease),transform .28s var(--ease),visibility 0s linear 0s;
}
.is-nav .sub-menu li{width:100%}
.is-nav .sub-menu a{padding:.75rem 1rem;font-size:.86rem;white-space:normal;transition:background-color .2s,padding-left .2s}
.is-nav .sub-menu a:hover{background:var(--is-paper-200);padding-left:1.3rem}

.is-header__cta{display:flex;align-items:center;gap:1.1rem;flex:none}
.is-header__phone{font-size:.84rem;font-weight:600;letter-spacing:.02em;white-space:nowrap}
.is-header__phone span{display:block;font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--is-ink-500);font-weight:600}

.is-burger{
  display:none;position:relative;width:48px;height:48px;padding:0;flex:none;
  border:1px solid var(--is-line-ui);background:none;cursor:pointer;
}
.is-burger span{
  position:absolute;left:50%;width:20px;height:1.5px;margin-left:-10px;
  background:var(--is-ink);transition:transform .3s var(--ease),opacity .2s;
}
.is-burger span:nth-child(1){top:17px}
.is-burger span:nth-child(2){top:23px}
.is-burger span:nth-child(3){top:29px}
.is-burger[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.is-burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.is-burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

@media (max-width:1080px){
  .is-burger{display:none}
  .is-js .is-burger{display:block}
  .is-header__cta .is-btn,.is-header__phone{display:none}
  .is-nav{
    position:fixed;inset:86px 0 0;background:var(--is-paper);
    flex-direction:column;align-items:stretch;justify-content:flex-start;
    padding:2rem var(--gutter) 4rem;overflow-y:auto;gap:0;
    border-top:1px solid var(--is-line);
  }
  .is-js .is-nav{
    transform:translateX(100%);transition:transform .4s var(--ease),visibility .4s;
    visibility:hidden;pointer-events:none;
  }
  .is-nav.is-open{transform:translateX(0);visibility:visible;pointer-events:auto}
  .is-nav ul{flex-direction:column;align-items:stretch;gap:0;width:100%}
  .is-nav > ul > li{border-bottom:1px solid var(--is-line)}
  .is-nav > ul > li > a{
    padding:1.15rem 0;font-family:var(--font-display);font-size:1.5rem;font-weight:700;letter-spacing:-.02em;
  }
  .is-nav .menu-item-has-children > a::before{right:.4rem;border-width:5px}
  .is-nav .sub-menu{
    position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;
    border:0;border-left:2px solid var(--is-coral);padding:0 0 1rem 1.1rem;margin-bottom:1rem;background:none;
  }
  .is-nav .sub-menu a{padding:.5rem 0;font-size:.95rem}
  .is-nav .is-btn{margin-top:2rem;width:100%}
  .is-nav .is-nav__meta{display:block;margin-top:2.4rem;font-size:.9rem;color:var(--is-ink-700)}
}
.is-nav__meta{display:none}
body.is-nav-open{overflow:hidden}

/* ---------- 7. FOOTER ---------------------------------------------------- */
.is-footer{background:var(--is-ink);color:#A9A49C;padding-top:clamp(64px,8vw,110px)}
.is-footer a{color:#A9A49C;transition:color .2s}
.is-footer a:hover{color:var(--is-coral)}
.is-footer__grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.25fr;gap:clamp(32px,4vw,64px);padding-bottom:clamp(48px,6vw,80px)}
@media (max-width:980px){.is-footer__grid{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.is-footer__grid{grid-template-columns:1fr}}
.is-footer__brand img{height:60px;width:auto;margin-bottom:1.6rem}
.is-footer__brand p{max-width:34ch;font-size:.95rem;line-height:1.7}
.is-footer h2,.is-footer h4{
  font-family:var(--font-body);font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--is-paper);font-weight:700;margin-bottom:1.5rem;line-height:1.4;
}
.is-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:.85rem;font-size:.95rem}
.is-footer__contact{display:grid;gap:1.15rem;font-size:.95rem;font-style:normal;line-height:1.6}
.is-footer__contact strong{display:block;color:var(--is-paper);font-weight:500}
.is-social{display:flex;gap:.6rem;margin-top:1.8rem}
.is-social a{width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--is-line-ui-dark);transition:background-color .25s,border-color .25s,color .25s}
.is-social a:hover{background:var(--is-coral);border-color:var(--is-coral);color:var(--is-ink)}
.is-social svg{width:17px;height:17px}
.is-footer__bar{
  border-top:1px solid var(--is-line-dark);padding-block:1.9rem;
  display:flex;flex-wrap:wrap;gap:1rem 2rem;align-items:center;justify-content:space-between;
  font-size:.82rem;
}
.is-footer__legal{display:flex;flex-wrap:wrap;gap:1.4rem;list-style:none;margin:0;padding:0}
.is-footer__reg{max-width:66ch;font-size:.8rem;line-height:1.65;color:#8E8981;padding-bottom:2rem}

/* ---------- 8. SECTIONS -------------------------------------------------- */
/* Hero */
.is-hero{position:relative;overflow:hidden;background:var(--is-paper);padding-block:clamp(64px,9vw,130px) clamp(56px,7vw,110px)}
.is-hero__grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(36px,5vw,80px);align-items:center}
@media (max-width:980px){.is-hero__grid{grid-template-columns:1fr}}
.is-hero h1{font-size:clamp(2.9rem,7.4vw,6rem);font-weight:900;letter-spacing:-.035em;line-height:1.05}
.is-hero .is-lead{max-width:52ch;margin-top:1.9rem}
.is-hero__actions{display:flex;flex-wrap:wrap;gap:1rem;margin-top:2.6rem}
.is-hero__meta{display:flex;flex-wrap:wrap;gap:clamp(24px,4vw,56px);margin-top:clamp(40px,5vw,64px);padding-top:2.2rem;border-top:1px solid var(--is-line)}
.is-hero__meta div{min-width:110px}
.is-hero__art{position:relative;aspect-ratio:1/1.06;width:100%}
.is-hero__art svg{width:100%;height:100%}
.is-hero__badge{
  position:absolute;left:-14px;bottom:26px;background:var(--is-ink);color:var(--is-paper);
  padding:1.1rem 1.4rem;max-width:272px;
}
@media (max-width:1100px){.is-hero__badge{display:none}}
.is-hero__badge strong{display:block;font-family:var(--font-display);font-size:1.5rem;line-height:1;margin-bottom:.4rem}
.is-hero__badge span{font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:#8E8981}

/* Ticker / marquee band */
.is-ticker{background:var(--is-coral);color:var(--is-ink);overflow:hidden;padding-block:.95rem;border-block:1px solid var(--is-ink)}
.is-ticker__track{display:flex;width:max-content;animation:is-marquee 38s linear infinite}
@media (prefers-reduced-motion:reduce){.is-ticker__track{animation:none}}
.is-ticker:hover .is-ticker__track{animation-play-state:paused}
.is-ticker span{
  display:inline-flex;align-items:center;gap:1.6rem;padding-inline:1.6rem;white-space:nowrap;
  font-size:.78rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;
}
.is-ticker span::after{content:"";width:6px;height:6px;background:var(--is-ink);flex:none}
@keyframes is-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* Page hero (interior pages) */
.is-phero{background:var(--is-ink);color:var(--is-paper);padding-block:clamp(64px,8vw,120px) clamp(56px,7vw,100px);position:relative;overflow:hidden}
.is-phero::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background-image:linear-gradient(to right,rgba(250,248,245,.06) 1px,transparent 1px),
                   linear-gradient(to bottom,rgba(250,248,245,.06) 1px,transparent 1px);
  background-size:26px 26px;
  -webkit-mask-image:linear-gradient(to left,#000 4%,transparent 64%);
  mask-image:linear-gradient(to left,#000 4%,transparent 64%);
}
.is-phero::after{
  content:"";position:absolute;right:0;top:0;bottom:0;width:clamp(7px,1.1vw,14px);
  background:var(--is-coral);
}
.is-phero__inner{position:relative;z-index:1;max-width:900px}
.is-phero h1{font-size:clamp(2.5rem,5.6vw,4.6rem);font-weight:800}
.is-phero .is-lead{max-width:60ch;margin-top:1.6rem;color:#B9B4AC}
.is-breadcrumb{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:#8E8981;margin-bottom:1.8rem}
.is-breadcrumb a:hover{color:var(--is-coral)}
.is-breadcrumb .sep{opacity:.55}

/* Service / feature grid with big index numerals */
.is-svc{
  position:relative;border-top:1px solid var(--is-line);padding-top:2.2rem;
  display:flex;flex-direction:column;min-height:100%;
}
.is-svc__no{font-size:.72rem;letter-spacing:.2em;font-weight:700;color:var(--is-coral-700);margin-bottom:1.5rem;min-height:2.6em;line-height:1.5}
.is-svc h3{margin-bottom:.8rem}
.is-svc p{color:var(--is-ink-700);font-size:.98rem}
.is-svc__link{margin-top:auto;padding-top:1.6rem}
.is-dark .is-svc{border-top-color:var(--is-line-dark)}
.is-dark .is-svc p{color:#A9A49C}
.is-dark .is-svc__no{color:var(--is-coral)}

/* Process steps */
.is-steps{counter-reset:step;display:grid;gap:0}
.is-step{
  display:grid;grid-template-columns:minmax(0,120px) minmax(0,1fr) minmax(0,1.05fr);
  gap:clamp(20px,3vw,48px);align-items:start;
  padding-block:clamp(30px,3.4vw,48px);border-top:1px solid var(--is-line);
  transition:background-color .35s var(--ease);
}
.is-step:last-child{border-bottom:1px solid var(--is-line)}
.is-step__no{
  font-family:var(--font-display);font-size:clamp(2.4rem,4vw,3.4rem);font-weight:800;
  line-height:.9;color:var(--is-line-ui);letter-spacing:-.04em;transition:color .35s var(--ease);
}
.is-step:hover .is-step__no{color:var(--is-coral)}
.is-step h3{margin:0}
.is-step p{color:var(--is-ink-700);margin:0}
.is-step__out{margin-top:1.1rem;font-size:.8rem;letter-spacing:.06em;color:var(--is-ink-500)}
.is-step__out b{color:var(--is-ink);font-weight:600}
@media (max-width:860px){
  .is-step{grid-template-columns:64px 1fr}
  .is-step > div:last-child{grid-column:2}
}
.is-dark .is-step{border-color:var(--is-line-dark)}
.is-dark .is-step:last-child{border-bottom-color:var(--is-line-dark)}
.is-dark .is-step__no{color:#3A3A3A}
.is-dark .is-step p{color:#A9A49C}
.is-dark .is-step__out b{color:var(--is-paper)}

/* Work / case study cards */
.is-work{display:grid;gap:clamp(24px,2.6vw,40px);grid-template-columns:repeat(2,1fr)}
@media (max-width:780px){.is-work{grid-template-columns:1fr}}
.is-work__item{position:relative;display:block;background:var(--is-white);border:1px solid var(--is-line);overflow:hidden;transition:border-color var(--t),transform var(--t),box-shadow var(--t)}
.is-work__item:hover{transform:translateY(-6px);box-shadow:var(--shadow-lift);border-color:var(--is-line-strong)}
.is-work__media{aspect-ratio:16/10;overflow:hidden;background:var(--is-paper-200);position:relative}
.is-work__media img,.is-work__media svg{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
.is-work__item:hover .is-work__media img{transform:scale(1.045)}
.is-work__tag{position:absolute;left:0;top:0;background:var(--is-coral);color:var(--is-ink);padding:.5rem .95rem;font-size:.68rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;z-index:2}
.is-work__body{padding:clamp(24px,2.6vw,36px)}
.is-work__body h3{margin-bottom:.6rem;font-size:clamp(1.3rem,2vw,1.7rem)}
.is-work__body p{color:var(--is-ink-700);font-size:.97rem;margin-bottom:1.4rem}
.is-work__metrics{display:flex;flex-wrap:wrap;gap:1.6rem;border-top:1px solid var(--is-line);padding-top:1.35rem}
.is-work__metrics b{display:block;font-family:var(--font-display);font-size:1.5rem;font-weight:800;line-height:1}
.is-work__metrics span{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--is-ink-500)}

/* Testimonial */
.is-quote{background:var(--is-white);border:1px solid var(--is-line);padding:clamp(30px,3.4vw,48px);height:100%;display:flex;flex-direction:column}
.is-quote__mark{font-family:var(--font-display);font-size:4rem;line-height:.6;color:var(--is-coral);margin-bottom:1.1rem}
.is-quote blockquote{margin:0 0 1.8rem;padding:0;border:0;font-size:clamp(1.05rem,1.5vw,1.3rem);font-style:normal;line-height:1.5}
.is-quote__who{margin-top:auto;display:flex;align-items:center;gap:1rem;padding-top:1.3rem;border-top:1px solid var(--is-line)}
.is-quote__avatar{width:46px;height:46px;flex:none;display:grid;place-items:center;background:var(--is-ink);color:var(--is-paper);font-family:var(--font-display);font-weight:700}
.is-quote__who strong{display:block;font-size:.95rem;font-weight:600}
.is-quote__who span{font-size:.8rem;color:var(--is-ink-500)}

/* Logos / trust row */
.is-trust{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:clamp(24px,4vw,64px)}
.is-trust li{list-style:none;font-family:var(--font-display);font-size:clamp(1.1rem,1.8vw,1.5rem);font-weight:700;color:var(--is-ink-500);letter-spacing:-.01em}

/* Big CTA band */
.is-cta{
  position:relative;overflow:hidden;background:var(--is-ink);color:var(--is-paper);
  padding-block:clamp(64px,8vw,120px);border-top:5px solid var(--is-coral);
}
.is-cta::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background-image:linear-gradient(to right,rgba(250,248,245,.055) 1px,transparent 1px),
                   linear-gradient(to bottom,rgba(250,248,245,.055) 1px,transparent 1px);
  background-size:26px 26px;
  -webkit-mask-image:radial-gradient(120% 90% at 8% 100%,#000 0%,transparent 70%);
  mask-image:radial-gradient(120% 90% at 8% 100%,#000 0%,transparent 70%);
}
.is-cta__inner{position:relative;z-index:1;display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(32px,5vw,72px);align-items:center}
@media (max-width:860px){.is-cta__inner{grid-template-columns:1fr}}
.is-cta h2{font-size:clamp(2.2rem,4.6vw,4rem)}
.is-cta__actions{display:flex;flex-wrap:wrap;gap:1rem}

/* Blog */
.is-posts{display:grid;gap:clamp(28px,3vw,44px);grid-template-columns:repeat(3,1fr)}
@media (max-width:1024px){.is-posts{grid-template-columns:repeat(2,1fr)}}
@media (max-width:680px){.is-posts{grid-template-columns:1fr}}
.is-post{display:flex;flex-direction:column;height:100%;border-top:1px solid var(--is-line);padding-top:1.9rem}
.is-post__media{aspect-ratio:16/10;overflow:hidden;background:var(--is-paper-200);margin-bottom:1.6rem}
.is-post__media img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
.is-post:hover .is-post__media img{transform:scale(1.045)}
.is-post__meta{display:flex;flex-wrap:wrap;gap:.9rem;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--is-ink-500);margin-bottom:1rem}
.is-post__meta a:hover{color:var(--is-coral-700)}
.is-post h2,.is-post h3{font-size:clamp(1.2rem,1.8vw,1.55rem);margin-bottom:.7rem;line-height:1.2}
.is-post h2 a,.is-post h3 a{background-image:linear-gradient(var(--is-coral),var(--is-coral));background-size:0 2px;background-repeat:no-repeat;background-position:0 100%;transition:background-size .4s var(--ease)}
.is-post:hover h2 a,.is-post:hover h3 a{background-size:100% 2px}
.is-post p{font-size:.95rem;color:var(--is-ink-700)}
.is-post__foot{margin-top:auto;padding-top:1.4rem}

.is-entry{max-width:100%;font-size:1.09rem;line-height:1.76}
.is-entry > *{max-width:760px;margin-inline:auto}
.is-entry > .alignwide{max-width:1060px}
.is-entry > .alignfull{max-width:none}
/* Prose headings are a step down from section headings — a policy page or an
   article needs a readable hierarchy, not a poster. */
.is-entry h2{font-size:clamp(1.55rem,2.3vw,2.05rem);margin-top:2.1em;margin-bottom:.6em}
.is-entry h3{font-size:clamp(1.2rem,1.6vw,1.4rem);margin-top:1.9em;margin-bottom:.5em}
.is-entry h4{font-size:1.05rem;margin-top:1.7em}
.is-entry ul,.is-entry ol{padding-left:1.3rem;margin-bottom:1.6rem}
.is-entry li{margin-bottom:.6rem}
.is-entry img{margin-block:2.2rem}
.is-entry a:not(.is-btn):not(.is-link){box-shadow:inset 0 -2px 0 var(--is-coral);transition:background-color .2s}
.is-entry a:not(.is-btn):not(.is-link):hover{background:var(--is-coral-50)}
.wp-caption-text,.wp-element-caption{font-size:.82rem;color:var(--is-ink-500);text-align:center;margin-top:-1.4rem;margin-bottom:2.2rem}

.is-pagination{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-top:clamp(48px,6vw,80px)}
.is-pagination .page-numbers{
  min-width:48px;height:48px;display:grid;place-items:center;padding-inline:.9rem;
  border:1px solid var(--is-line-ui);font-size:.9rem;font-weight:500;
  transition:background-color .25s,color .25s,border-color .25s;
}
.is-pagination .page-numbers:hover{background:var(--is-ink);color:var(--is-paper);border-color:var(--is-ink)}
.is-pagination .page-numbers.current{background:var(--is-coral);border-color:var(--is-coral);color:var(--is-ink);font-weight:700}

/* Sidebar / widgets */
.is-sidebar{display:grid;gap:2.6rem;align-content:start;position:sticky;top:110px}
.widget h2,.widget h3,.widget-title{font-family:var(--font-body);font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;font-weight:700;margin-bottom:1.3rem}
.widget ul{list-style:none;margin:0;padding:0;display:grid;gap:.8rem;font-size:.95rem}
.widget ul a:hover{color:var(--is-coral-700)}
.is-sidebar .is-card{background:var(--is-paper-200);border-color:var(--is-line)}

/* Comments */
.is-comments{margin-top:clamp(56px,6vw,90px);padding-top:clamp(40px,4vw,64px);border-top:1px solid var(--is-line)}
.comment-list{list-style:none;margin:0 0 3rem;padding:0;display:grid;gap:2.2rem}
.comment-list ol.children{list-style:none;padding-left:clamp(20px,4vw,52px);margin-top:2rem;display:grid;gap:2rem}
.comment-body{border-left:2px solid var(--is-line);padding-left:1.4rem}
.comment-meta{font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--is-ink-500);margin-bottom:.7rem}
.comment-author .fn{font-style:normal;font-weight:600;color:var(--is-ink)}
.comment-respond{background:var(--is-paper-200);padding:clamp(26px,3vw,44px);border:1px solid var(--is-line)}
.comment-form p{display:grid;gap:.5rem;margin-bottom:1.2rem}
.comment-form label{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;font-weight:600;color:var(--is-ink-500)}
.comment-form input[type=text],.comment-form input[type=email],.comment-form input[type=url],.comment-form textarea{
  width:100%;padding:.9rem 1rem;border:1px solid var(--is-line-ui);background:var(--is-white);
}
.comment-form input:focus,.comment-form textarea:focus{
  outline:3px solid var(--is-coral-600);outline-offset:1px;border-color:var(--is-coral-600);
}
.comment-form input[type=submit]{
  padding:1.05rem 1.9rem;background:var(--is-ink);color:var(--is-paper);border:1.5px solid var(--is-ink);
  font-size:.82rem;font-weight:600;letter-spacing:.13em;text-transform:uppercase;cursor:pointer;transition:background-color .3s,color .3s;
}
.comment-form input[type=submit]:hover{background:var(--is-coral);border-color:var(--is-coral);color:var(--is-ink)}

/* ---------- 9. UTILITIES & MOTION --------------------------------------- */
/* Only hide content for the reveal animation when the script is actually
   running. If JS fails or is blocked, everything renders as normal. */
.is-js .is-reveal{opacity:0;transform:translateY(26px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.is-js .is-reveal.is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.is-js .is-reveal{opacity:1;transform:none}}
.is-center{text-align:center}
.is-mt-0{margin-top:0}
.is-mt-2{margin-top:2rem}
.is-mt-4{margin-top:clamp(32px,4vw,56px)}
.is-mb-0{margin-bottom:0}
.is-maxw{max-width:62ch}
.is-sticky{position:sticky;top:110px}
.is-hide-sm{display:initial}
@media (max-width:760px){.is-hide-sm{display:none}}
.is-cols-2{columns:2;column-gap:clamp(24px,3vw,48px)}
@media (max-width:700px){.is-cols-2{columns:1}}
.is-tabular{font-variant-numeric:tabular-nums}
.alignleft{float:left;margin:.4rem 2rem 1.4rem 0}
.alignright{float:right;margin:.4rem 0 1.4rem 2rem}
.aligncenter{margin-inline:auto;display:block}
.is-clearfix::after{content:"";display:table;clear:both}
.is-backtop{
  position:fixed;right:clamp(16px,3vw,32px);bottom:clamp(16px,3vw,32px);z-index:90;
  width:48px;height:48px;display:grid;place-items:center;background:var(--is-ink);color:var(--is-paper);
  border:0;cursor:pointer;opacity:0;visibility:hidden;transform:translateY(12px);
  transition:opacity .3s,transform .3s,visibility .3s,background-color .3s;
}
.is-backtop.is-on{opacity:1;visibility:visible;transform:none}
.is-backtop:hover{background:var(--is-coral);color:var(--is-ink)}

/* Print */
@media print{
  .is-header,.is-footer,.is-cta,.is-backtop,.is-ticker{display:none!important}
  body{background:#fff;color:#000;font-size:11pt}
  a::after{content:" (" attr(href) ")";font-size:9pt;color:#555}
}

/* ---------- 10. LATE ADDITIONS ------------------------------------------ */
/* Entries that live inside a two-column split run full width of their column */
/* Flush entries fill their column, but the prose itself keeps a readable
   measure; figures, tables and wide blocks still run the full width. */
.is-split .is-entry > *,
.is-entry--flush > *{max-width:none;margin-inline:0}
.is-entry--flush{max-width:none}
.is-entry--flush > p,
.is-entry--flush > ul,
.is-entry--flush > ol,
.is-entry--flush > h2,
.is-entry--flush > h3,
.is-entry--flush > h4,
.is-entry--flush > blockquote,
.is-split .is-entry > p,
.is-split .is-entry > ul,
.is-split .is-entry > ol,
.is-split .is-entry > h2,
.is-split .is-entry > h3,
.is-split .is-entry > h4,
.is-split .is-entry > blockquote{max-width:68ch}

/* Custom logo from the media library */
.is-brand .custom-logo{height:clamp(38px,4.6vw,54px);width:auto}
.is-brand .custom-logo-link{display:block}

/* Definition list used for the company facts panel */
.is-facts{margin:2rem 0 0;display:grid;gap:0;border-top:1px solid var(--is-line)}
.is-facts > div{
  display:grid;grid-template-columns:minmax(0,.42fr) minmax(0,.58fr);gap:1.2rem;
  padding:1.1rem 0;border-bottom:1px solid var(--is-line);
}
@media (max-width:560px){.is-facts > div{grid-template-columns:1fr;gap:.35rem}}
.is-facts dt{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;font-weight:600;color:var(--is-ink-500);margin:0}
.is-facts dd{margin:0;font-size:.97rem;line-height:1.6}

/* Numbered variant of the ticked list */
ol.is-list{counter-reset:idsolstep}
ol.is-list li::before{
  counter-increment:idsolstep;content:counter(idsolstep) ".";
  background:none;width:auto;height:auto;top:0;
  font-family:var(--font-display);font-weight:700;font-size:1.05rem;color:var(--is-coral-700);font-variant-numeric:tabular-nums;
}

/* Search form */
.is-searchform__row{display:flex;gap:.6rem;flex-wrap:wrap}
.is-searchform input[type=search]{
  flex:1 1 200px;min-width:0;padding:.95rem 1.05rem;background:var(--is-white);
  border:1px solid var(--is-line-ui);
}
.is-searchform input[type=search]:focus{outline:3px solid var(--is-coral-600);outline-offset:1px;border-color:var(--is-coral-600)}
.is-dark .is-searchform input[type=search]{background:var(--is-ink-900);border-color:var(--is-line-dark);color:var(--is-paper)}

/* Core block defaults so editor content never looks unstyled */
.wp-block-button__link{
  display:inline-flex;align-items:center;padding:1.05rem 1.9rem;border-radius:0;
  background:var(--is-ink);color:var(--is-paper);border:1.5px solid var(--is-ink);
  font-size:.82rem;font-weight:600;letter-spacing:.13em;text-transform:uppercase;
  transition:background-color .3s,color .3s,border-color .3s;
}
.wp-block-button__link:hover{background:var(--is-coral);border-color:var(--is-coral);color:var(--is-ink)}
.is-outline .wp-block-button__link,.wp-block-button.is-style-outline .wp-block-button__link{background:transparent;color:var(--is-ink);border-color:var(--is-line-ui)}
.wp-block-separator{border:0;border-top:1px solid var(--is-line);max-width:120px;margin-block:2.6rem}
.wp-block-separator.is-style-wide{max-width:none}
.wp-block-table table{width:100%;border-collapse:collapse;font-size:.95rem}
.wp-block-table th,.wp-block-table td{border:1px solid var(--is-line);padding:.8rem 1rem;text-align:left}
.wp-block-table th{background:var(--is-paper-200);font-weight:600}
.wp-block-pullquote{border-block:2px solid var(--is-coral);padding-block:2rem;text-align:left}
.wp-block-quote{border-left:3px solid var(--is-coral);padding-left:1.6rem;margin-left:0}
.wp-block-image figcaption{font-size:.82rem;color:var(--is-ink-500)}
.wp-block-code{background:var(--is-ink);color:var(--is-paper);padding:1.4rem;overflow:auto}
.has-coral-color{color:var(--is-coral-700)!important}
.has-coral-background-color{background-color:var(--is-coral)!important}
.has-ink-color{color:var(--is-ink)!important}
.has-ink-background-color{background-color:var(--is-ink)!important;color:var(--is-paper)}
.has-paper-background-color{background-color:var(--is-paper)!important}
.has-paper-deep-background-color{background-color:var(--is-paper-200)!important}
.has-white-background-color{background-color:var(--is-white)!important}

/* Widgets inside the sticky post sidebar */
.is-sticky .widget + .widget{margin-top:2.2rem}
.is-chips a{display:block;margin:-.5rem -1rem;padding:.5rem 1rem;transition:color .2s}
.is-chips a:hover{color:var(--is-coral-700)}

/* Footer menus come out of wp_nav_menu as plain lists */
.is-footer .menu{list-style:none;margin:0;padding:0;display:grid;gap:.85rem;font-size:.95rem}
.is-footer__legal.menu{display:flex;flex-wrap:wrap;gap:1.4rem}

/* Case study hero metrics on a dark band */
.is-dark .is-stat__num{color:var(--is-paper)}

/* Long-form entry inside a narrow wrap should not be centred twice */
.is-wrap--narrow.is-entry > *{margin-inline:auto}
