/*
Theme Name: Evolve Siteworks Simplified Engine
Theme URI: https://evolvesiteworks.com/
Author: Steve Wright
Description: Evolve Siteworks, one-page scroll theme for Interface Engineer LLC dba Evolve Siteworks. WebGL hero, client work slider, testimonial rotator, admin-editable content sections, plus a full on-page SEO + AEO layer (meta, Open Graph, JSON-LD structured data, FAQ).
Version: 1.0.0
License: GPL-2.0-or-later
Text Domain: evolve-siteworks
*/

/* ============ Tokens ============ */
:root{
  --bg:#0a0b0d;
  --bg-2:#101216;
  --card:#14171c;
  --ink:#f3eee4;
  --muted:#c4bfb9;
  --faint:#837e73;      /* lightened to meet WCAG AA contrast (4.5:1) on the dark bg */
  --accent:#f0a44f;      /* warm amber (brand heritage) */
  --accent-2:#e7c56f;    /* gold */
  --teal:#2dd4bf;        /* technical secondary */
  --purple:#a78bfa;      /* AEO high-tier accent */
  --line:#23262c;
  --wrap:1120px;
  --nav-h:68px;
  --serif:'Instrument Serif',Georgia,serif;
  --mono:'JetBrains Mono',ui-monospace,monospace;
  --sans:'Hanken Grotesk',system-ui,sans-serif;
}

*{box-sizing:border-box}
*, *::before, *::after{min-width:0}   /* let flex/grid children shrink instead of forcing the page wider */
html{-webkit-text-size-adjust:100%}
html,body{margin:0;padding:0}
body{
  background:var(--bg);
  color:var(--ink);
  font-family:var(--sans);
  font-size:17px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  position:relative;
  -webkit-hyphens:none;hyphens:none;
}

/* ---- iPhone right-gutter containment (hidden = old-iOS fallback, clip = modern hard clip) ---- */
html,body{
  max-width:100%;
  overflow-x:hidden;
  overflow-x:clip;
}

img{max-width:100%;height:auto;display:block}
a{color:inherit}
::selection{background:var(--accent);color:#0a0b0d}

.ie-wrap{max-width:var(--wrap);margin:0 auto;padding:0 clamp(20px,5vw,48px)}
.ie-skip{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.ie-skip:focus{left:16px;top:16px;z-index:200;background:var(--accent);color:#000;padding:10px 16px;border-radius:4px}
/* Clear keyboard focus on the dark theme (only on keyboard nav, not mouse clicks) */
a:focus-visible,button:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:3px}

/* ============ Type ============ */
.ie-eyebrow{font-family:var(--mono);font-size:14px;letter-spacing:.24em;text-transform:uppercase;color:var(--accent);margin:0 0 18px}
.ie-h2{font-family:var(--serif);font-weight:400;font-size:clamp(30px,4.4vw,52px);line-height:1.06;letter-spacing:-.01em;margin:0;max-width:18ch;text-wrap:balance}
.ie-lead{font-family:var(--serif);font-size:clamp(22px,3vw,34px);line-height:1.3;color:var(--ink);margin:0}

/* ============ Nav ============ */
.ie-nav{position:fixed;top:0;left:0;right:0;z-index:100;height:var(--nav-h);
  display:flex;align-items:center;
  background:transparent;transition:background .3s ease,border-color .3s ease,backdrop-filter .3s;
  border-bottom:1px solid transparent}
.ie-nav.is-stuck{background:rgba(10,11,13,.82);backdrop-filter:blur(12px);border-bottom-color:var(--line)}
.ie-nav__inner{max-width:var(--wrap);width:100%;margin:0 auto;padding:0 clamp(20px,5vw,48px);
  display:flex;align-items:center;justify-content:space-between}
.ie-nav__brand{font-family:var(--mono);font-size:14px;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;color:var(--ink);display:flex;flex-direction:column;gap:2px}
.ie-nav__brand-dot{color:var(--teal)}
/* size + tracking tuned so this line ends flush with EVOLVE·SITEWORKS above it;
   re-measure both if the wordmark text changes */
.ie-nav__brand-sub{font-size:8.5px;letter-spacing:.2347em;word-spacing:-.34em;color:var(--teal);text-transform:uppercase;display:block}
.ie-nav__links{display:flex;align-items:center;gap:clamp(14px,2vw,28px)}
.ie-nav__links a{font-family:var(--mono);font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;color:var(--muted);transition:color .2s}
.ie-nav__links a:hover{color:var(--ink)}
.ie-nav__cta{padding:8px 16px;border:1px solid var(--teal);border-radius:3px;color:var(--teal) !important}
.ie-nav__links .ie-nav__cta{font-size:16px}
.ie-nav__cta:hover{border-color:var(--accent);color:var(--accent) !important}
.ie-nav__toggle{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:8px}
.ie-nav__toggle span{width:24px;height:2px;background:var(--ink);transition:transform .3s,opacity .3s}

/* ============ Hero ============ */
.ie-hero{position:relative;min-height:calc(100svh - 90px);display:flex;align-items:center;overflow:hidden;
  background:#0a0b0d center/cover no-repeat fixed}
.ie-hero__canvas{position:absolute;inset:0;width:100%;height:100%;z-index:0}
.ie-hero__veil{position:absolute;inset:0;z-index:1;pointer-events:none;
  background:radial-gradient(120% 90% at 70% 35%,transparent 38%,rgba(10,11,13,.82) 100%)}
.ie-hero__content{position:relative;z-index:2;padding-top:calc(var(--nav-h) + 100px);padding-bottom:100px}
.ie-hero__title{font-family:var(--serif);font-weight:400;font-size:clamp(38px,5vw,76px);line-height:1.01;
  letter-spacing:-.02em;margin:0;max-width:none;white-space:nowrap}
.ie-hero__title em{font-style:normal;color:#fff}
.ie-hero__sub{max-width:54ch;margin:26px 0 0;font-size:clamp(16px,1.5vw,19px);color:rgba(255,255,255,.80)}
.ie-hero__cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:138px}
.ie-hero__formerly{margin:20px 0 0;font-family:var(--mono);font-size:12.5px;letter-spacing:.06em;color:var(--muted);text-shadow:0 1px 10px rgba(10,11,13,.85)}
.ie-hero__readout{position:absolute;left:0;right:0;bottom:18px;z-index:2;
  display:flex;justify-content:space-between;font-family:var(--mono);font-size:11px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--faint);padding:0 clamp(20px,5vw,48px)}

/* Buttons */
.ie-btn{display:inline-block;font-family:var(--mono);font-size:16px;letter-spacing:.07em;text-align:center;text-transform:uppercase;
  text-decoration:none;padding:14px 24px;border-radius:3px;transition:all .22s ease;cursor:pointer;border:1px solid transparent}
.ie-btn--solid{background:#050607;color:var(--accent);border-color:var(--accent)}
.ie-btn--solid:hover{background:rgba(231,197,111,.1);color:var(--accent);border-color:var(--accent)}
.ie-btn--ghost{background:#050607;color:var(--teal);border-color:var(--teal)}
.ie-btn--ghost:hover{background:rgba(98,175,157,.1);color:var(--teal);border-color:var(--teal)}

/* ============ Sections ============ */
.ie-section{padding:clamp(64px,11vw,140px) 0;position:relative}
.ie-head{margin-bottom:clamp(36px,6vw,68px)}
.ie-head--panel{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.07);border-radius:12px;padding:clamp(28px,4vw,48px) clamp(24px,4vw,48px);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.ie-intro{}
.ie-intro__grid{display:grid;grid-template-columns:1.4fr 1fr;gap:clamp(32px,6vw,80px);align-items:center}
.ie-stats{display:flex;flex-direction:column;gap:22px}
.ie-stat{display:flex;flex-direction:column;border-left:2px solid var(--accent);padding-left:18px}
.ie-stat__n{font-family:var(--serif);font-size:clamp(28px,4vw,40px);line-height:1;color:var(--ink)}
.ie-stat__l{font-size:14px;color:var(--muted);margin-top:6px}

/* Cards */
.ie-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.ie-card{background:var(--bg-2);border:1px solid var(--line);border-radius:12px;padding:clamp(24px,3vw,38px);transition:border-color .25s,transform .25s,background .25s}
.ie-card:hover{background:var(--card);border-color:#34373d;transform:translateY(-3px)}
.ie-card__num{font-family:var(--mono);font-size:12px;color:var(--teal);letter-spacing:.1em}
.ie-card__t{font-family:var(--serif);font-weight:400;font-size:25px;margin:14px 0 10px}
.ie-card__p{font-size:15.5px;color:var(--muted);margin:0}

/* Approach */
.ie-approach{background:var(--bg-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.ie-approach__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,72px);align-items:start}
.ie-approach__body p{color:var(--muted);margin:0 0 18px;font-size:17px}
.ie-approach__grid .ie-head{margin-bottom:0}

/* Work / marquee */
.ie-work{width:100%;overflow-x:hidden;overflow-x:clip}
.ie-marquee{width:100%;position:relative;overflow-x:hidden;overflow-x:clip;padding:9px 0}
/* Edge fades via overlays instead of mask-image: a CSS mask forces the moving
   strip into an offscreen buffer that re-rasterizes every frame (jank). */
.ie-marquee::before,.ie-marquee::after{content:"";position:absolute;top:0;bottom:0;width:9%;
  z-index:2;pointer-events:none}
.ie-marquee::before{left:0;background:linear-gradient(90deg,var(--bg),rgba(10,11,13,0))}
.ie-marquee::after{right:0;background:linear-gradient(270deg,var(--bg),rgba(10,11,13,0))}
.ie-marquee__track{display:flex;gap:26px;width:max-content;will-change:transform;animation:ie-scroll 60s linear infinite}
.ie-marquee[data-dir="rev"] .ie-marquee__track{animation-direction:reverse;animation-duration:72s}
.ie-marquee:hover .ie-marquee__track{animation-play-state:paused}
.ie-work-card{flex:0 0 auto;width:clamp(300px,34vw,420px);text-decoration:none;color:inherit;
  display:block;position:relative;transform:scale(.72);transition:transform .55s cubic-bezier(.22,.61,.36,1)}
.ie-work-card__shot{display:block;aspect-ratio:1280/820;border:1px solid var(--line);border-radius:10px;
  overflow:hidden;background:var(--card);box-shadow:0 12px 30px rgba(0,0,0,.35);
  transform:translateZ(0);backface-visibility:hidden}
.ie-work-card__shot img{width:100%;height:100%;object-fit:cover;object-position:top center;
  filter:grayscale(.45) brightness(.5);transition:filter .5s ease,transform .6s ease}
.ie-work-card__meta{display:flex;align-items:baseline;justify-content:space-between;gap:12px;
  margin-top:14px;font-family:var(--mono);font-size:13px;letter-spacing:.04em}
.ie-work-card__name{color:var(--ink)}
.ie-work-card__go{color:var(--accent);opacity:0;transform:translateX(-6px);transition:opacity .3s,transform .3s}
.ie-work-card:hover{transform:scale(.72) translateY(-6px)}
.ie-work-card:hover .ie-work-card__shot img{transform:scale(1.03)}
.ie-work-card:hover .ie-work-card__go{opacity:1;transform:none}
/* centered (focused) card grows and goes full colour; the rest sit smaller + darker */
.ie-work-card.is-center{transform:scale(1.15);z-index:3}
.ie-work-card.is-center:hover{transform:scale(1.15) translateY(-6px)}
.ie-work-card.is-center .ie-work-card__shot img{filter:none}
/* during the CSS->JS handoff on load, size the first centered card instantly (no zoom-in) */
.ie-marquee.is-booting .ie-work-card,
.ie-marquee.is-booting .ie-work-card__shot img{transition:none}
@keyframes ie-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.ie-marquee__nav{display:flex;justify-content:flex-end;gap:12px;margin:20px 0 4px}
.ie-marquee__nav button{width:42px;height:42px;border:1px solid var(--line);background:none;color:var(--ink);
  border-radius:50%;cursor:pointer;font-size:16px;line-height:1;transition:border-color .2s,color .2s}
.ie-marquee__nav button:hover{border-color:var(--accent);color:var(--accent)}
.ie-marquee.is-manual .ie-marquee__track{animation:none}

/* Testimonials */
.ie-words{background:var(--bg-2);border-top:1px solid var(--line)}
.ie-quotes{display:grid;max-width:840px}
.ie-quotes > .ie-quote{grid-area:1/1}   /* all quotes share one cell, so the block = tallest quote */
.ie-quote{opacity:0;visibility:hidden;pointer-events:none;transform:translateX(42px);
  filter:blur(5px);
  transition:opacity .5s ease,transform .7s cubic-bezier(.22,.72,.2,1),filter .5s ease,visibility .7s}
.ie-quote.is-active{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(0);filter:blur(0)}
.ie-quote blockquote{font-family:var(--serif);font-weight:400;font-size:clamp(24px,3.4vw,40px);line-height:1.28;
  margin:0;color:var(--ink)}
.ie-quote blockquote::before{content:"\201C";color:var(--accent);margin-right:.06em}
.ie-quote figcaption{margin-top:26px;font-family:var(--mono);font-size:13px;letter-spacing:.04em;
  display:flex;gap:14px;align-items:baseline;flex-wrap:wrap}
.ie-quote__a{color:var(--ink);text-transform:uppercase;letter-spacing:.1em}
.ie-quote__c{color:var(--teal)}
.ie-quotes__nav{display:flex;align-items:center;gap:18px;margin-top:40px}
.ie-quotes__nav button{width:42px;height:42px;border:1px solid var(--line);background:none;color:var(--ink);
  border-radius:50%;cursor:pointer;font-size:16px;transition:border-color .2s,color .2s}
.ie-quotes__nav button:hover{border-color:var(--accent);color:var(--accent)}
.ie-quotes__dots{display:flex;gap:8px}
.ie-quotes__dots button{width:8px;height:8px;border-radius:50%;border:0;padding:0;background:var(--line);cursor:pointer;transition:background .2s,transform .2s}
.ie-quotes__dots button.is-on{background:var(--accent);transform:scale(1.3)}

/* ============ Answer Engine Authority (AEO tool) ============ */
.ie-aeo{background:var(--bg-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.ie-aeo__intro{margin-top:18px;max-width:60ch;color:var(--muted);font-size:clamp(16px,1.5vw,18px);line-height:1.6}
.ie-aeo__tool{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(28px,5vw,72px);align-items:center;margin-top:48px}
.ie-aeo__factors-h{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.ie-aeo__factor{display:flex;gap:14px;align-items:flex-start;padding:15px 0;border-bottom:1px solid var(--line);cursor:pointer}
.ie-aeo__factor:first-of-type{border-top:1px solid var(--line)}
.ie-aeo__factor input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.ie-aeo__sw{flex:0 0 auto;width:42px;height:24px;margin-top:2px;border-radius:999px;background:var(--line);position:relative;transition:background .25s ease}
.ie-aeo__sw::after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#e9edf2;transition:transform .25s cubic-bezier(.34,1.56,.64,1)}
.ie-aeo__factor input:checked+.ie-aeo__sw{background:var(--teal)}
.ie-aeo__factor input:checked+.ie-aeo__sw::after{transform:translateX(18px)}
.ie-aeo__factor input:focus-visible+.ie-aeo__sw{outline:2px solid var(--accent);outline-offset:2px}
.ie-aeo__factor-body{flex:1}
.ie-aeo__factor-top{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.ie-aeo__factor-name{color:var(--ink);font-weight:600}
.ie-aeo__factor-w{font-family:var(--mono);font-size:12px;color:var(--muted);transition:color .25s}
.ie-aeo__factor input:checked~.ie-aeo__factor-body .ie-aeo__factor-w{color:var(--teal)}
.ie-aeo__factor-desc{display:block;margin-top:4px;color:var(--muted);font-size:14px;line-height:1.5}
.ie-aeo__viz{display:flex;flex-direction:column;align-items:center;text-align:center;gap:16px}
.ie-aeo__radar{width:min(360px,90%)}
.ie-aeo__svg{width:100%;height:auto;overflow:visible;display:block}
.ie-aeo__ring{fill:none;stroke:var(--line);stroke-width:1}
.ie-aeo__axis{stroke:var(--line);stroke-width:1}
.ie-aeo__axis-label{fill:var(--muted);font-family:var(--mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase}
.ie-aeo__fill{fill:var(--teal);fill-opacity:.14;stroke:none;transition:fill .3s}
.ie-aeo__shape{fill:none;stroke:var(--teal);stroke-width:2;stroke-linejoin:round;transition:stroke .3s}
.ie-aeo__dot{fill:var(--teal);transition:fill .3s}
.ie-aeo__tool[data-tier="high"] .ie-aeo__shape,.ie-aeo__tool[data-tier="high"] .ie-aeo__dot{stroke:var(--purple);fill:var(--purple)}
.ie-aeo__tool[data-tier="high"] .ie-aeo__fill{fill:var(--purple);fill-opacity:.16}
.ie-aeo__readout{display:flex;flex-direction:column;align-items:center;gap:10px}
.ie-aeo__score{display:flex;align-items:baseline;gap:11px}
.ie-aeo__score-n{font-family:var(--serif);font-size:clamp(52px,9vw,76px);line-height:.9;color:var(--ink);font-variant-numeric:tabular-nums}
.ie-aeo__tool[data-tier="high"] .ie-aeo__score-n{color:var(--purple)}
.ie-aeo__score-l{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);text-align:left;line-height:1.3}
.ie-aeo__verdict{max-width:40ch;color:var(--ink);font-size:16px;line-height:1.55;min-height:3.1em;margin:0}
.ie-aeo__note{font-family:var(--mono);font-size:11.5px;color:var(--muted);max-width:38ch;line-height:1.5;margin:2px 0 0}

/* Contact */
.ie-contact{border-top:1px solid var(--line)}
.ie-contact__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,72px);align-items:start}
.ie-contact__copy{color:var(--muted);margin-top:18px;max-width:42ch}
.ie-form{display:flex;flex-direction:column;gap:16px}
.ie-form label,.wpcf7-form label{display:flex;flex-direction:column;gap:7px;font-family:var(--mono);font-size:12px;
  letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.ie-form input,.ie-form textarea,
.wpcf7-form input[type=text],.wpcf7-form input[type=email],.wpcf7-form textarea{
  background:#1e2329;border:1px solid #4d5660;border-radius:6px;color:var(--ink);
  font-family:var(--sans);font-size:16px;padding:14px 15px;transition:border-color .2s,box-shadow .2s,background .2s;text-transform:none;letter-spacing:0}
.ie-form input,.ie-form textarea{width:100%;max-width:100%}
.ie-form input::placeholder,.ie-form textarea::placeholder{color:#6a727c}
.ie-form input:hover,.ie-form textarea:hover{border-color:#5e6772}
.ie-form input:focus,.ie-form textarea:focus,
.wpcf7-form input:focus,.wpcf7-form textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(240,164,79,.18);background:#0c0e11}
.ie-form__note{font-size:14px;color:var(--muted);margin:4px 0 0}
.ie-form__note a{color:var(--accent)}
.wpcf7-form input[type=submit]{background:#050607;color:var(--teal);border:1px solid var(--teal);font-family:var(--mono);
  font-size:16px;text-transform:uppercase;letter-spacing:.07em;padding:14px 24px;border-radius:3px;cursor:pointer;transition:background .2s}
.wpcf7-form input[type=submit]:hover{background:rgba(98,175,157,.1)}

/* Interior pages */
.ie-prose{max-width:70ch;color:var(--muted);font-size:18px}
.ie-prose h2,.ie-prose h3{font-family:var(--serif);color:var(--ink);font-weight:400}
.ie-prose a{color:var(--accent)}
.ie-page__wrap{padding-bottom:60px}

/* Footer */
.ie-footer{padding:20px 0 30px;background:rgba(0,0,0,.60);border-top:2px solid rgba(255,255,255,.16);position:relative;z-index:2}
.ie-footer__inner{}
.ie-footer__inner{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.ie-footer__brand{font-family:var(--mono);font-size:14px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);text-decoration:none;transition:color .2s;display:flex;flex-direction:column;gap:2px}
.ie-footer__brand:hover{color:var(--accent)}
.ie-footer__brand-dot{color:var(--teal)}
.ie-footer__brand-sub{font-size:8.5px;letter-spacing:.2347em;word-spacing:-.34em;color:var(--teal);text-transform:uppercase;display:block}
.ie-footer__links{display:flex;flex-wrap:wrap;gap:14px 20px}
.ie-footer__links a{font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;color:var(--muted);white-space:nowrap}
.ie-footer__links a:hover{color:var(--ink)}
.ie-footer__copy{font-size:12.5px;color:var(--muted)}
.ie-footer__bottom{flex-basis:100%;display:flex;align-items:center;justify-content:space-between;gap:12px 28px}
/* Copyright and the legal links share the third slot of the footer row. Tight
   inline gap, no vertical padding. */
.ie-footer__legal{display:flex;align-items:center;gap:8px 14px;flex-wrap:wrap;line-height:1.35}
.ie-footer__legal a{font-size:12.5px;color:var(--muted);text-decoration:none;white-space:nowrap}
.ie-footer__legal a:hover{color:var(--ink)}
.ie-footer__formerly{margin:0;font-family:var(--mono);font-size:11px;letter-spacing:.06em;color:var(--teal);white-space:nowrap;text-align:right}
@media(max-width:640px){
  .ie-footer__bottom{align-items:flex-start;flex-direction:column}
  .ie-footer__formerly{white-space:normal;text-align:left}
}

/* ============ 404 ============ */
.ie-404-page{min-height:calc(100vh - var(--nav-h));display:flex;align-items:center}
.ie-404{width:100%;display:grid;grid-template-columns:minmax(0,.85fr) minmax(360px,1.15fr);align-items:center;gap:clamp(44px,8vw,120px);padding-top:clamp(74px,10vw,138px);padding-bottom:clamp(74px,10vw,138px)}
.ie-404__copy{position:relative;z-index:2;max-width:590px}
.ie-404__copy h1{margin:12px 0 22px;font-family:var(--serif);font-size:clamp(48px,6.2vw,86px);font-weight:400;line-height:.98;letter-spacing:-.035em;color:#fff;text-wrap:balance}
.ie-404__copy>p:last-of-type{max-width:42ch;margin:0;font-size:clamp(16px,1.5vw,19px);line-height:1.65;color:rgba(255,255,255,.78)}
.ie-404__actions{display:flex;flex-wrap:wrap;gap:12px 16px;margin-top:34px}
.ie-404__art{position:relative;isolation:isolate;min-height:470px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.2);border-radius:50%;background:radial-gradient(circle,rgba(4,8,10,.92) 0 47%,rgba(4,8,10,.58) 48% 63%,transparent 64%);box-shadow:inset 0 0 80px rgba(98,175,157,.08),0 0 80px rgba(0,0,0,.28)}
.ie-404__art::before,.ie-404__art::after{content:"";position:absolute;inset:7%;z-index:-1;border:1px dashed rgba(98,175,157,.27);border-radius:50%}
.ie-404__art::after{inset:16%;border-style:solid;border-color:rgba(231,197,111,.2)}
.ie-404__art img{position:relative;z-index:2;width:min(73%,430px);height:auto;filter:drop-shadow(0 18px 22px rgba(0,0,0,.55))}
.ie-404__number{position:absolute;z-index:0;top:50%;left:50%;transform:translate(-50%,-51%);font-family:var(--mono);font-size:clamp(132px,18vw,250px);font-weight:700;line-height:1;letter-spacing:-.11em;color:rgba(255,255,255,.035);text-indent:-.11em}
.ie-404__orbit{position:absolute;inset:3%;border:1px solid rgba(255,255,255,.09);border-radius:50%;animation:ie-404-orbit 22s linear infinite}
.ie-404__orbit i{position:absolute;width:6px;height:6px;border-radius:50%;background:var(--teal);box-shadow:0 0 12px rgba(98,175,157,.9)}
.ie-404__orbit i:nth-child(1){top:8%;left:27%}.ie-404__orbit i:nth-child(2){right:7%;top:43%;width:4px;height:4px;background:var(--accent)}.ie-404__orbit i:nth-child(3){left:15%;bottom:16%;width:3px;height:3px}
.ie-404__status{position:absolute;z-index:3;left:50%;bottom:8%;transform:translateX(-50%);width:min(76%,400px);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:10px 14px;border:1px solid rgba(98,175,157,.35);border-radius:4px;background:rgba(3,7,9,.86);font-family:var(--mono);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.65);white-space:nowrap}
.ie-404__status i{height:1px;background:linear-gradient(90deg,var(--teal),rgba(98,175,157,.08))}
.ie-404__status strong{font-weight:500;color:var(--accent)}
@keyframes ie-404-orbit{to{transform:rotate(360deg)}}
@media(max-width:860px){
  .ie-404{grid-template-columns:1fr;gap:42px}
  .ie-404__copy{max-width:680px}
  .ie-404__art{width:min(100%,560px);min-height:0;aspect-ratio:1;justify-self:center}
}
@media(max-width:480px){
  .ie-404__art{width:calc(100% - 12px)}
  .ie-404__status{width:86%;gap:8px;font-size:7.5px}
}
@media(prefers-reduced-motion:reduce){.ie-404__orbit{animation:none}}

/* ============ Reveal animation ============ */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1);transition-delay:var(--d,0s)}
.reveal.is-in{opacity:1;transform:none}
/* The hero is above the fold and holds the LCP text. Never gate its paint on the JS
   scroll-reveal or an opacity fade (both delay LCP). Paint it opaque immediately with a
   pure-CSS, transform-only entrance — opacity stays 1, so the largest text paints as soon
   as the CSS loads, independent of when ie-main.js runs. */
.ie-hero .reveal{opacity:1;transform:none;transition:none;animation:ie-hero-rise .7s cubic-bezier(.2,.7,.2,1) both;animation-delay:var(--d,0s)}
@keyframes ie-hero-rise{from{transform:translateY(24px)}to{transform:none}}
@media(prefers-reduced-motion:reduce){.ie-hero .reveal{animation:none;transform:none}}

/* ============ Responsive ============ */
@media(max-width:980px){
  .ie-cards{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:860px){
  .ie-nav__links{position:fixed;inset:var(--nav-h) 0 auto 0;background:rgba(10,11,13,.97);backdrop-filter:blur(14px);
    flex-direction:column;align-items:flex-start;gap:0;padding:8px 0;border-bottom:1px solid var(--line);
    transform:translateY(-12px);opacity:0;pointer-events:none;transition:opacity .25s,transform .25s}
  .ie-nav.is-open .ie-nav__links{opacity:1;transform:none;pointer-events:auto}
  .ie-nav__links a{width:100%;padding:14px clamp(20px,5vw,48px);font-size:14px}
  .ie-nav__cta{border:0;border-radius:0}
  .ie-nav__toggle{display:flex}
  .ie-nav.is-open .ie-nav__toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .ie-nav.is-open .ie-nav__toggle span:nth-child(2){opacity:0}
  .ie-nav.is-open .ie-nav__toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .ie-intro__grid,.ie-approach__grid,.ie-contact__grid{grid-template-columns:1fr}
  .ie-cards{grid-template-columns:1fr}
  .ie-aeo__tool{grid-template-columns:1fr;gap:34px}
  .ie-aeo__viz{order:-1}
}
@media(max-width:560px){
  .ie-work-card{width:78vw}
  /* The card is already ~80vw here, so the desktop focus zoom pushed it past the
     viewport (clipping the label behind the edge fade) and up into the arrows.
     Keep the centered card at its own size; the smaller side cards still give the
     focus contrast. Extra gap under the arrows for breathing room. */
  .ie-work-card.is-center,
  .ie-work-card.is-center:hover{transform:scale(1)}
  .ie-marquee__nav{margin-bottom:14px}
  .ie-hero__title{font-size:clamp(34px,10vw,56px);max-width:none;white-space:normal}
  .ie-hero__sub{max-width:none}
}

/* ============ Reduced motion ============ */
@media(prefers-reduced-motion:reduce){
  .reveal{opacity:1;transform:none;transition:none}
  .ie-marquee__track{animation:none}
  *{scroll-behavior:auto !important}
}

/* ============ Smooth anchor scrolling ============ */
html{scroll-behavior:smooth}
section[id],main[id]{scroll-margin-top:var(--nav-h)}

/* ============ AI band ============ */
.ie-ai__inner{max-width:820px;border-left:3px solid var(--accent);padding-left:clamp(22px,4vw,44px)}
.ie-ai__lead{font-family:var(--serif);font-weight:400;font-size:clamp(26px,3.6vw,44px);line-height:1.18;
  letter-spacing:-.01em;margin:.45em 0 0;color:var(--ink);text-wrap:pretty}
.ie-ai__body{color:var(--muted);margin-top:18px;max-width:62ch;font-size:17px}
.ie-work__intro{color:var(--muted);font-family:var(--mono);font-size:14px;letter-spacing:.03em;margin:16px 0 0}

/* ============ About ============ */
.ie-about{background:var(--bg-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.ie-about__grid{display:grid;grid-template-columns:1.5fr 1fr;gap:clamp(36px,6vw,80px);align-items:start}
.ie-about__main .ie-eyebrow{margin-bottom:18px}
.ie-about__main .ie-h2{margin:0 0 clamp(22px,3vw,32px)}
.ie-about__body p{color:var(--muted);font-size:17px;line-height:1.65;margin:0 0 18px;max-width:62ch}
.ie-about__body p:last-child{margin-bottom:0}
.ie-about__aside{display:flex;flex-direction:column;gap:clamp(30px,4vw,42px)}
.ie-about__ai{border-left:3px solid var(--accent);padding-left:clamp(18px,2vw,24px)}
.ie-about__ai .ie-eyebrow{margin-bottom:10px}
.ie-about__ai-text{font-family:var(--serif);font-weight:400;font-size:clamp(19px,2.2vw,24px);
  line-height:1.3;color:var(--ink);margin:0}
@media(max-width:980px){.ie-about__grid{grid-template-columns:1fr}}
.ie-about__ai-link{font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;
  color:var(--teal);text-decoration:none;display:inline-block;margin-top:14px;transition:color .2s}
.ie-about__ai-link:hover{color:var(--ink)}

/* ============ About page redesign ============ */
.ie-about-scene{position:relative;background-color:#000}
.ie-about-scene::before{content:'';position:absolute;inset:0;background-image:var(--scene-bg);background-size:cover;background-position:center 80%;background-attachment:fixed;opacity:.40}
.ie-about-scene::after{content:'';position:fixed;inset:0;background:linear-gradient(180deg,rgba(10,11,13,.80) 0%,transparent 20%,transparent 78%,rgba(10,11,13,.65) 100%);pointer-events:none;z-index:1}
.ie-about-scene .ie-wrap{position:relative;z-index:2;padding-top:225px;padding-bottom:clamp(56px,8vw,100px)}
.ie-about-scene .ie-breadcrumb{margin-bottom:clamp(48px,7vw,88px)}
.ie-about-scene__intro{margin-bottom:clamp(32px,5vw,56px)}
.ie-about-hero__h{font-size:clamp(26px,3.8vw,52px);font-weight:700;line-height:1.15;color:var(--ink);max-width:1100px;margin:12px 0 0}

/* About editorial — text wraps around floated photos */
.ie-about-editorial{background:rgba(0,0,0,.60);border:2px solid rgba(255,255,255,.16);padding:clamp(28px,4vw,52px);border-radius:8px;overflow:hidden}
.ie-about-editorial .ie-eyebrow{margin-bottom:20px;display:block}
.ie-about-editorial p{color:rgba(255,255,255,.82);font-size:clamp(14.5px,1.25vw,17px);line-height:1.78;margin:0 0 22px}
.ie-about-editorial p:last-child{margin-bottom:0}
.ie-about-editorial__photo{border-radius:8px;overflow:hidden;cursor:pointer;flex-shrink:0;width:150px;height:150px}
.ie-about-editorial__photo--right{float:right;margin:4px 0 20px 28px}
.ie-about-editorial__photo--left{float:left;margin:4px 28px 20px 0}
.ie-about-editorial__photo img{width:100%;height:100%;object-fit:cover;display:block;border-radius:8px;transition:transform .4s ease}
.ie-about-editorial__photo:hover img{transform:scale(1.04)}
.ie-about-editorial__gallery{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-top:24px;padding-top:24px;border-top:1px solid rgba(255,255,255,.1)}
.ie-about-editorial__gallery-photo{overflow:hidden;border-radius:6px;cursor:pointer;aspect-ratio:1}
.ie-about-editorial__gallery-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease}
.ie-about-editorial__gallery-photo:hover img{transform:scale(1.06)}
@media(max-width:640px){
  .ie-about-editorial__gallery{grid-template-columns:repeat(2,1fr)}
}

/* ── Lightbox ── */
.ie-lb{position:fixed;inset:0;background:rgba(0,0,0,.20);z-index:9999;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .2s}
.ie-lb.is-open{opacity:1;pointer-events:all}
body.ie-lb-open{overflow:hidden}
.ie-lb__inner{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:100%;padding:40px}
.ie-lb__img{display:block;width:auto;height:auto;max-width:min(800px,100%);max-height:min(800px,calc(100vh - 80px));object-fit:contain;border-radius:4px;box-shadow:0 8px 48px rgba(0,0,0,.6)}
.ie-lb__close{position:absolute;top:16px;right:20px;background:none;border:none;color:#fff;font-size:32px;line-height:1;cursor:pointer;padding:8px;opacity:.7;transition:opacity .2s}
.ie-lb__close:hover{opacity:1}
.ie-lb__prev,.ie-lb__next{position:absolute;top:50%;transform:translateY(-50%);background:none;border:none;color:#fff;font-size:48px;line-height:1;cursor:pointer;padding:8px 14px;text-shadow:0 1px 8px rgba(0,0,0,.9);opacity:.80;transition:opacity .2s}
.ie-lb__prev{left:max(12px,calc(50% - 400px + 8px))}
.ie-lb__next{right:max(12px,calc(50% - 400px + 8px))}
.ie-lb__prev:hover,.ie-lb__next:hover{opacity:1}
.ie-lb__count{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);color:rgba(255,255,255,.5);font-size:13px;font-family:var(--mono)}

/* Testimonials inside the about scene */
.ie-about-testimonials{margin-top:clamp(56px,8vw,96px)}
.ie-about-testimonials .ie-head{margin-bottom:clamp(24px,4vw,40px)}
.ie-about-testimonials .ie-h2{color:var(--ink)}

/* ============ AI Agents ============ */
.ie-agents{background:var(--bg-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.ie-agents__intro{max-width:62ch;margin:20px 0 48px;font-size:clamp(16px,1.5vw,18px);color:var(--muted)}
.ie-agent-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.ie-agent-card{background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:clamp(24px,3vw,38px);transition:border-color .25s,transform .25s}
.ie-agent-card:hover{border-color:#34373d;transform:translateY(-3px)}
.ie-agent-card__n{font-family:var(--mono);font-size:12px;color:var(--purple);letter-spacing:.1em;display:block;margin-bottom:14px}
.ie-agent-card__t{font-family:var(--serif);font-weight:400;font-size:clamp(22px,2.4vw,27px);margin:0 0 10px}
.ie-agent-card__p{font-size:15.5px;color:var(--muted);margin:0;line-height:1.65}
.ie-agents__foot{margin-top:42px;text-align:center}
@media(max-width:860px){.ie-agent-cards{grid-template-columns:1fr}}

/* ============ Pricing ============ */
.ie-pricing__intro{max-width:60ch;margin:20px 0 32px;font-size:clamp(16px,1.5vw,18px);color:var(--muted)}
.ie-pricing__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;align-items:start}
.ie-price-card{background:var(--bg-2);border:1px solid var(--line);border-radius:12px;padding:clamp(28px,3vw,42px);display:flex;flex-direction:column}
.ie-price-card--featured{background:var(--card);border-color:var(--teal)}
.ie-price-card__badge{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--teal);margin:0 0 16px}
.ie-price-card__name{font-family:var(--sans);font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--teal);margin:0 0 14px}
.ie-price-card__price{font-family:var(--serif);font-size:clamp(44px,5vw,60px);color:var(--ink);line-height:1;margin:0 0 6px}
.ie-price-card__price sup{font-size:.42em;vertical-align:.25em}
.ie-price-card__timeline{font-family:var(--mono);font-size:12px;color:var(--faint);margin:0 0 28px}
.ie-price-card__divider{border:0;border-top:1px solid var(--line);margin:0 0 24px}
.ie-price-card__features{list-style:none;padding:0;margin:0 0 32px;display:flex;flex-direction:column;gap:11px;flex:1}
.ie-price-card__features li{font-size:15px;color:var(--muted);padding-left:18px;position:relative;line-height:1.45}
.ie-price-card__features li::before{content:"·";position:absolute;left:0;color:var(--teal);font-size:22px;line-height:.85}
.ie-pricing__footer{margin-top:32px;padding-top:28px;border-top:1px solid var(--line)}
.ie-pricing__footer-label{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0 0 14px}
.ie-pricing__baseline-items{display:flex;flex-wrap:wrap;gap:8px 24px;margin-bottom:20px}
.ie-pricing__baseline-item{font-size:14px;color:var(--muted);padding-left:16px;position:relative}
.ie-pricing__baseline-item::before{content:"·";position:absolute;left:0;color:var(--teal);font-size:20px;line-height:.85}
.ie-pricing__footer-ctas{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px 32px}
.ie-pricing__footer-ctas span{font-size:14px;color:var(--muted)}
.ie-pricing__footer-ctas a{color:var(--teal);text-decoration:none;transition:color .2s}
.ie-pricing__footer-ctas a:hover{color:var(--ink)}
.ie-pricing__maint{margin-top:40px;padding-top:36px;border-top:1px solid var(--line)}
.ie-pricing__maint-head{margin-bottom:20px}
.ie-pricing__maint-t{font-family:var(--serif);font-weight:400;font-size:clamp(20px,2vw,26px);margin:0 0 6px}
.ie-pricing__maint-sub{color:var(--muted);font-size:15px;margin:0}
.ie-pricing__maint-cards{display:flex;flex-direction:column;gap:12px}
.ie-pricing__maint-card{background:var(--bg-2);border:1px solid var(--line);border-radius:10px;padding:clamp(20px,2.5vw,28px);display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.ie-pricing__maint-body{flex:1;min-width:200px}
.ie-pricing__maint-name{font-family:var(--sans);font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0 0 6px}
.ie-pricing__maint-desc{font-size:15px;color:var(--muted);margin:0;line-height:1.5}
.ie-pricing__maint-aside{display:flex;align-items:center;gap:20px;flex-shrink:0}
.ie-pricing__maint-price{font-family:var(--serif);font-size:clamp(30px,3vw,40px);color:var(--ink);line-height:1;margin:0}
.ie-pricing__maint-price sup{font-size:.42em;vertical-align:.25em}
.ie-pricing__maint-freq{font-family:var(--mono);font-size:11px;color:var(--faint);margin:0;white-space:nowrap}
@media(max-width:860px){.ie-pricing__grid{grid-template-columns:1fr}.ie-pricing__maint-card{flex-direction:column;align-items:flex-start}.ie-pricing__maint-aside{width:100%;justify-content:space-between}}

/* ============ Sub-page photo scene ============ */
.ie-page-scene{position:relative;background-color:#000}
.ie-page-scene::before{content:'';position:absolute;inset:0;background-image:var(--scene-bg);background-size:cover;background-position:center 40%;background-attachment:fixed;opacity:.40}
.ie-page-scene::after{content:'';position:fixed;inset:0;background:linear-gradient(180deg,rgba(10,11,13,.80) 0%,transparent 20%,transparent 78%,rgba(10,11,13,.65) 100%);pointer-events:none;z-index:1}
.ie-page-scene>.ie-wrap{position:relative;z-index:2;padding-top:225px;padding-bottom:clamp(48px,6vw,80px)}
.ie-page-scene__intro{margin-bottom:clamp(32px,5vw,56px)}
.ie-page-scene__intro .ie-eyebrow{margin-bottom:20px;display:block}
.ie-page-scene h1{color:#fff}
.ie-page-editorial{background:rgba(0,0,0,.60);border:2px solid rgba(255,255,255,.16);padding:clamp(28px,4vw,52px);border-radius:8px;overflow:hidden}
.ie-page-editorial p{color:rgba(255,255,255,.82);font-size:clamp(14.5px,1.25vw,17px);line-height:1.78;margin:0 0 22px}
.ie-page-editorial p:last-child{margin-bottom:0}
.ie-card--glass,.ie-cs-card--glass{background:rgba(0,0,0,.60)!important;border:2px solid rgba(255,255,255,.16)!important}
.ie-page-scene .ie-price-card{background:rgba(0,0,0,.60)!important;border:2px solid rgba(255,255,255,.16)!important}
.ie-page-scene .ie-pricing__maint-card{background:rgba(0,0,0,.60)!important;border:2px solid rgba(255,255,255,.16)!important}
.ie-page-scene .ie-pricing__footer{background:rgba(0,0,0,.60);border:2px solid rgba(255,255,255,.16);border-radius:8px;padding:clamp(20px,3vw,32px) clamp(24px,3vw,40px) 16px}
/* Ghost buttons on dark hero + photo scenes */
.ie-hero .ie-btn--ghost,.ie-page-scene .ie-btn--ghost{background:#050607;color:var(--teal);border-color:var(--teal)}
.ie-hero .ie-btn--ghost:hover,.ie-page-scene .ie-btn--ghost:hover{background:rgba(98,175,157,.1);color:var(--teal);border-color:var(--teal)}
/* Contact Us hero button — orange */
.ie-hero__cta .ie-btn--ghost:first-child{color:var(--accent);border-color:var(--accent)}
.ie-hero__cta .ie-btn--ghost:first-child:hover{background:rgba(231,197,111,.1);color:var(--accent);border-color:var(--accent)}
/* Section CTA primary button — accent ghost */
.ie-page-scene .ie-section__cta .ie-btn--ghost:first-child{color:var(--accent);border-color:var(--accent);background:transparent}
.ie-page-scene .ie-section__cta .ie-btn--ghost:first-child:hover{background:rgba(231,197,111,.1);color:var(--accent);border-color:var(--accent)}
.ie-page-scene .ie-services-contact-cta{justify-content:center;text-align:center}
.ie-page-scene .ie-services-contact-cta .ie-btn--ghost:first-child{color:var(--teal);border-color:var(--teal)}
.ie-page-scene .ie-services-contact-cta .ie-btn--ghost:first-child:hover{background:rgba(98,175,157,.1);color:var(--teal);border-color:var(--teal)}
/* Testimonials CTA button — accent ghost */
.ie-about-testimonials .ie-btn--ghost{color:var(--accent);border-color:var(--accent);background:transparent}
.ie-about-testimonials .ie-btn--ghost:hover{background:rgba(231,197,111,.1);color:var(--accent);border-color:var(--accent)}
/* Contact on photo scene — stacked, light fields */
.ie-page-scene .ie-contact__grid{display:block}
.ie-page-scene .ie-contact__intro{margin-bottom:24px}
.ie-page-scene .ie-contact__copy{color:rgba(255,255,255,.82);max-width:none;margin-top:0}
.ie-contact__options{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 1px minmax(0,1fr);gap:clamp(30px,4vw,54px);align-items:stretch;max-width:1080px;margin:0 auto;padding-bottom:clamp(48px,6vw,80px)}
.ie-contact__booking{padding:28px;border:1px solid rgba(231,197,111,.42);border-radius:6px;background:rgba(0,0,0,.3)}
.ie-contact__booking h2{margin:0;font-size:clamp(21px,2.5vw,28px);font-weight:500;color:#fff}
.ie-contact__booking p{margin:8px 0 18px;color:rgba(255,255,255,.72);font-size:15px}
.ie-contact__booking .calendly-inline-widget{width:100%;min-width:0!important;margin-top:22px;overflow:hidden;border-radius:4px;background:#fff}
.ie-contact__booking .ie-btn--solid{background:#050607;color:var(--accent);border-color:var(--accent)}
.ie-contact__booking .ie-btn{padding-right:12px;padding-left:12px;white-space:nowrap}
.ie-antispam-trap{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}
.ie-contact__booking .ie-btn--solid:hover{background:rgba(231,197,111,.1);color:var(--accent)}
.ie-page-scene .ie-contact__form .wpcf7-form input[type=submit]{background:#050607;color:var(--teal);border:1px solid var(--teal)}
.ie-page-scene .ie-contact__form .wpcf7-form input[type=submit]:hover{background:rgba(98,175,157,.1);color:var(--teal)}
.ie-contact__divider{position:relative;align-self:stretch;width:1px;background:rgba(98,175,157,.4)}
.ie-contact__divider span{position:absolute;left:50%;top:28px;display:flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid rgba(98,175,157,.5);border-radius:50%;background:#080b0d;transform:translateX(-50%);font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--teal)}
.ie-contact__message h2{margin:0;font-size:clamp(21px,2.5vw,28px);font-weight:500;color:#fff}
.ie-contact__message.ie-page-editorial{padding:clamp(28px,3vw,40px)}
.ie-contact__copy--form{margin:8px 0 24px!important}
.ie-contact__form{margin-top:0}
/* Stack below 961px. Calendly will not paint its calendar under ~320px, and
   two columns narrower than that leave the booking box loading forever. */
@media(max-width:960px){
  .ie-contact__options{grid-template-columns:1fr;gap:28px}
  .ie-contact__divider{width:100%;height:1px}
  .ie-contact__divider span{top:50%;left:50%;transform:translate(-50%,-50%)}
}
.ie-page-scene .wpcf7-form input[type=text],
.ie-page-scene .wpcf7-form input[type=email],
.ie-page-scene .wpcf7-form input[type=tel],
.ie-page-scene .wpcf7-form input[type=url],
.ie-page-scene .wpcf7-form textarea,
.ie-page-scene .ie-form input,
.ie-page-scene .ie-form textarea{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.28);color:#fff}
.ie-page-scene .wpcf7-form input::placeholder,
.ie-page-scene .wpcf7-form textarea::placeholder,
.ie-page-scene .ie-form input::placeholder,
.ie-page-scene .ie-form textarea::placeholder{color:rgba(255,255,255,.45)}
.ie-page-scene .wpcf7-form label,
.ie-page-scene .ie-form label{color:rgba(255,255,255,.60)}
@media(max-width:640px){
  .ie-page-scene::before,.ie-about-scene::before{background-attachment:scroll;background-size:150% auto;background-position:center top;background-repeat:no-repeat;height:100svh;bottom:auto}
  .ie-page-scene::after,.ie-about-scene::after{background:linear-gradient(180deg,rgba(10,11,13,.80) 0%,transparent 25%,transparent 60%,rgba(10,11,13,1) 100%)}
  .ie-page-scene>.ie-wrap,.ie-about-scene .ie-wrap{padding-top:75px}
  .ie-hero__content{padding-top:calc(var(--nav-h) + 50px);padding-bottom:200px}
  .ie-cs-cards.reveal{opacity:1;transform:none;transition:none}
}

/* ============ Sub-page header / breadcrumb ============ */
.ie-page-header{padding:clamp(80px,10vw,120px) 0 0}
.ie-page-header--with-heading{padding-bottom:clamp(32px,5vw,60px)}
.ie-page-header--with-heading .ie-eyebrow{margin-top:clamp(20px,3vw,32px)}
.ie-page-header__intro{margin-top:16px;max-width:640px;color:var(--muted)}
.ie-section__cta{display:flex;gap:16px;flex-wrap:wrap;margin-top:40px}
.ie-page-cta{padding:clamp(40px,7vw,80px) 0;display:flex;justify-content:center}
.ie-contact__links{margin-top:24px;display:flex;flex-direction:column;gap:8px}
.ie-contact__links a{color:var(--teal);text-decoration:none;font-size:15px;transition:color .2s}
.ie-contact__links a:hover{color:var(--ink)}

/* Contact form fits its column on mobile (covers Contact Form 7 markup) */
.ie-form, .wpcf7, .wpcf7-form { width:100%; max-width:100% }
.wpcf7-form p { margin:0 0 16px }
.wpcf7-form-control-wrap { display:block; width:100% }
.ie-form input, .ie-form textarea,
.wpcf7-form input[type=text],
.wpcf7-form input[type=email],
.wpcf7-form input[type=tel],
.wpcf7-form input[type=url],
.wpcf7-form textarea,
.wpcf7-form select {
  width:100%;
  max-width:100%;
  box-sizing:border-box;
}

/* ============ FAQ ============ */
.ie-faq-sec{border-top:1px solid var(--line)}
.ie-faqs{max-width:820px}
.ie-faq-item{border-bottom:1px solid var(--line)}
.ie-faq-item:first-child{border-top:1px solid var(--line)}
.ie-faq-item__q{cursor:pointer;list-style:none;padding:24px 44px 24px 0;position:relative;
  font-family:var(--serif);font-weight:400;font-size:clamp(20px,2.4vw,27px);line-height:1.25;
  color:var(--ink);transition:color .2s}
.ie-faq-item__q::-webkit-details-marker{display:none}
.ie-faq-item__q::after{content:"+";position:absolute;right:6px;top:50%;transform:translateY(-50%);
  font-family:var(--mono);font-size:24px;color:var(--accent);transition:transform .3s}
.ie-faq-item[open] .ie-faq-item__q::after{transform:translateY(-50%) rotate(45deg)}
.ie-faq-item__q:hover{color:var(--accent)}
.ie-faq-item__a{color:var(--muted);font-size:17px;padding:2px 44px 26px 0;max-width:68ch}
.ie-faq-item__a p{margin:0 0 14px}
.ie-faq-item__a p:last-child{margin-bottom:0}
.ie-faq-item__a a{color:var(--accent)}

/* ============ Section star fields ============ */
/* Small hard-edged radial-gradient dots simulate individual stars;
   faint large gradients provide just enough color ambiance behind them. */
.ie-about{background:
  radial-gradient(circle at 18% 72%,rgba(255,255,255,.24) 0,transparent 2px),
  radial-gradient(circle at 65% 14%,rgba(255,255,255,.30) 0,transparent 1.5px),
  radial-gradient(circle at 82% 38%,rgba(167,139,250,.55) 0,transparent 2px),
  radial-gradient(circle at 34% 91%,rgba(255,255,255,.20) 0,transparent 2px),
  radial-gradient(circle at 91% 67%,rgba(255,255,255,.22) 0,transparent 1.5px),
  radial-gradient(circle at 48% 46%,rgba(45,212,191,.48) 0,transparent 1.5px),
  radial-gradient(42% 48% at 88% 8%,rgba(167,139,250,.05),transparent 55%),
  var(--bg-2)}
#services{background:
  radial-gradient(circle at 12% 28%,rgba(45,212,191,.52) 0,transparent 2px),
  radial-gradient(circle at 78% 15%,rgba(255,255,255,.26) 0,transparent 2px),
  radial-gradient(circle at 55% 74%,rgba(255,255,255,.20) 0,transparent 1.5px),
  radial-gradient(circle at 23% 58%,rgba(255,255,255,.30) 0,transparent 2px),
  radial-gradient(circle at 87% 82%,rgba(167,139,250,.50) 0,transparent 2px),
  radial-gradient(circle at 44% 33%,rgba(255,255,255,.18) 0,transparent 1.5px),
  radial-gradient(circle at 96% 44%,rgba(255,255,255,.22) 0,transparent 2px),
  radial-gradient(38% 48% at 12% 8%,rgba(45,212,191,.05),transparent 55%),
  var(--bg)}
.ie-agents{background:
  radial-gradient(circle at 8% 33%,rgba(255,255,255,.24) 0,transparent 2px),
  radial-gradient(circle at 72% 7%,rgba(167,139,250,.54) 0,transparent 2px),
  radial-gradient(circle at 38% 88%,rgba(255,255,255,.20) 0,transparent 1.5px),
  radial-gradient(circle at 91% 52%,rgba(255,255,255,.26) 0,transparent 2px),
  radial-gradient(circle at 54% 22%,rgba(45,212,191,.50) 0,transparent 1.5px),
  radial-gradient(circle at 16% 76%,rgba(255,255,255,.22) 0,transparent 2px),
  radial-gradient(42% 52% at 50% 3%,rgba(45,212,191,.05),transparent 55%),
  var(--bg-2)}
.ie-work{background:
  radial-gradient(circle at 22% 12%,rgba(255,255,255,.28) 0,transparent 2px),
  radial-gradient(circle at 68% 42%,rgba(167,139,250,.52) 0,transparent 1.5px),
  radial-gradient(circle at 45% 65%,rgba(255,255,255,.22) 0,transparent 2px),
  radial-gradient(circle at 83% 28%,rgba(255,255,255,.18) 0,transparent 2px),
  radial-gradient(circle at 6% 81%,rgba(45,212,191,.48) 0,transparent 2px),
  radial-gradient(circle at 58% 93%,rgba(255,255,255,.20) 0,transparent 1.5px),
  radial-gradient(38% 42% at 88% 72%,rgba(167,139,250,.05),transparent 55%),
  var(--bg)}
.ie-words{background:
  radial-gradient(circle at 92% 18%,rgba(255,255,255,.26) 0,transparent 2px),
  radial-gradient(circle at 15% 42%,rgba(45,212,191,.50) 0,transparent 2px),
  radial-gradient(circle at 48% 78%,rgba(255,255,255,.22) 0,transparent 1.5px),
  radial-gradient(circle at 74% 55%,rgba(255,255,255,.20) 0,transparent 2px),
  radial-gradient(circle at 31% 23%,rgba(167,139,250,.52) 0,transparent 2px),
  radial-gradient(circle at 85% 87%,rgba(255,255,255,.18) 0,transparent 1.5px),
  radial-gradient(42% 52% at 82% 8%,rgba(45,212,191,.05),transparent 55%),
  var(--bg-2)}
.ie-pricing{background:
  radial-gradient(circle at 5% 55%,rgba(167,139,250,.54) 0,transparent 2px),
  radial-gradient(circle at 42% 18%,rgba(255,255,255,.26) 0,transparent 2px),
  radial-gradient(circle at 78% 72%,rgba(255,255,255,.20) 0,transparent 1.5px),
  radial-gradient(circle at 25% 82%,rgba(255,255,255,.24) 0,transparent 2px),
  radial-gradient(circle at 90% 35%,rgba(45,212,191,.50) 0,transparent 2px),
  radial-gradient(circle at 62% 44%,rgba(255,255,255,.18) 0,transparent 1.5px),
  radial-gradient(38% 48% at 7% 28%,rgba(167,139,250,.05),transparent 55%),
  var(--bg)}
.ie-faq-sec{background:
  radial-gradient(circle at 78% 22%,rgba(255,255,255,.24) 0,transparent 2px),
  radial-gradient(circle at 14% 64%,rgba(45,212,191,.52) 0,transparent 2px),
  radial-gradient(circle at 55% 38%,rgba(255,255,255,.18) 0,transparent 1.5px),
  radial-gradient(circle at 88% 78%,rgba(167,139,250,.50) 0,transparent 2px),
  radial-gradient(circle at 35% 92%,rgba(255,255,255,.26) 0,transparent 2px),
  radial-gradient(42% 50% at 50% 95%,rgba(45,212,191,.05),transparent 55%),
  var(--bg)}
.ie-contact{background:
  radial-gradient(circle at 8% 28%,rgba(167,139,250,.58) 0,transparent 2.5px),
  radial-gradient(circle at 76% 15%,rgba(255,255,255,.28) 0,transparent 2px),
  radial-gradient(circle at 45% 72%,rgba(255,255,255,.22) 0,transparent 1.5px),
  radial-gradient(circle at 92% 55%,rgba(45,212,191,.54) 0,transparent 2px),
  radial-gradient(circle at 22% 88%,rgba(255,255,255,.20) 0,transparent 2px),
  radial-gradient(circle at 62% 35%,rgba(255,255,255,.18) 0,transparent 1.5px),
  radial-gradient(42% 58% at 8% 45%,rgba(167,139,250,.06),transparent 55%),
  var(--bg)}

/* ---- Case-study cards on the Work page ---- */
.ie-cs-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(18px,2.5vw,28px)}
@media(max-width:820px){.ie-cs-cards{grid-template-columns:1fr}}
.ie-cs-card{display:block;text-decoration:none;color:inherit;background:var(--card);border:1px solid var(--line);border-radius:12px;overflow:hidden;
  box-shadow:0 1px 4px rgba(0,0,0,.05);transition:border-color .25s,transform .25s,box-shadow .25s}
.ie-cs-card:hover{border-color:#d1d5db;transform:translateY(-3px);box-shadow:0 8px 24px rgba(0,0,0,.1)}
.ie-cs-card__shot{display:block;aspect-ratio:1200/768;overflow:hidden}
.ie-cs-card__shot img{width:100%;height:100%;object-fit:cover;display:block}
.ie-cs-card__body{display:block;padding:20px 22px 22px}
.ie-cs-card__name{display:block;font-family:var(--serif);font-size:22px;margin:0 0 8px}
.ie-cs-card__p{display:block;font-size:14.5px;color:var(--muted);margin:0 0 12px}
.ie-cs-card__go{display:block;font-family:var(--mono);font-size:12px;letter-spacing:.07em;text-transform:uppercase;color:var(--accent);text-decoration:none}

/* ============ Chevron nav arrows (work slider + testimonials) ============ */
[data-marquee-prev],[data-marquee-next],
[data-quote-prev],[data-quote-next]{position:relative}
[data-marquee-prev]::before,[data-marquee-next]::before,
[data-quote-prev]::before,[data-quote-next]::before{
  content:"";position:absolute;top:50%;left:50%;width:12px;height:12px;
  border:solid currentColor;border-width:0 2.5px 2.5px 0}
[data-marquee-next]::before,[data-quote-next]::before{
  transform:translate(-65%,-50%) rotate(-45deg)}
[data-marquee-prev]::before,[data-quote-prev]::before{
  transform:translate(-35%,-50%) rotate(135deg)}

/* ============ Back to top ============ */
.ie-totop{position:fixed;right:clamp(16px,3vw,28px);bottom:clamp(16px,3vw,28px);z-index:90;
  width:46px;height:46px;border-radius:50%;border:1px solid var(--line);
  background:rgba(16,18,22,.92);
  color:var(--ink);cursor:pointer;
  opacity:0;visibility:hidden;transform:translateY(10px);
  transition:opacity .3s ease,transform .3s ease,visibility .3s,border-color .2s,color .2s}
.ie-totop.is-on{opacity:1;visibility:visible;transform:none}
.ie-totop:hover{border-color:var(--accent);color:var(--accent)}
.ie-totop::before{content:"";position:absolute;top:55%;left:50%;width:11px;height:11px;
  border:solid currentColor;border-width:0 2.5px 2.5px 0;
  transform:translate(-50%,-50%) rotate(-135deg)}
@media(prefers-reduced-motion:reduce){.ie-totop{transition:opacity .2s linear}}

/* Left/right edge vignette — keeps eye on center */
body::after{content:'';position:fixed;inset:0;pointer-events:none;z-index:50;
  background:linear-gradient(to right,rgba(10,11,13,.55) 0%,transparent 18%,transparent 82%,rgba(10,11,13,.55) 100%)}




















/* =================================================================
 * EVOLUTION ENGINE  (home section + /evolution-engine/ page)
 * ================================================================= */
.ie-engine{background:var(--bg)}
.ie-engine__body{margin:20px 0 0;max-width:62ch;font-size:clamp(16px,1.4vw,18px);line-height:1.75;color:var(--muted)}

/* the four-step loop */
/* ============ Engine page: icons, process flow, cycle ============ */
/* Intro sits beside the service mark. The mark is decorative, so it is the
   first thing dropped on narrow screens rather than shrunk into illegibility. */
.ie-engine-intro{display:grid;grid-template-columns:1fr auto;gap:clamp(24px,4vw,56px);align-items:center}
.ie-engine-intro__text{min-width:0}
.ie-engine-intro__mark{width:clamp(170px,18vw,240px);height:auto;flex:none;
	filter:drop-shadow(0 6px 26px rgba(0,0,0,.55))}
@media (max-width:860px){
	.ie-engine-intro{grid-template-columns:1fr}
	.ie-engine-intro__mark{display:none}
}

.ie-ico{display:block;color:var(--teal)}

/* Five-step arrangement. HTML rather than one fixed SVG so it reflows and the
   text stays selectable and readable to a screen reader. */
.ie-flow{list-style:none;margin:clamp(30px,4vw,46px) 0 0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:clamp(10px,1.4vw,18px)}
.ie-flow__step{position:relative;display:flex;flex-direction:column;gap:8px;padding:clamp(16px,1.8vw,22px);border:1px solid rgba(255,255,255,.14);border-radius:10px;background:rgba(0,0,0,.5)}
/* Chevron between steps, drawn in CSS so it cannot get out of step with the
   grid the way a positioned SVG would. */
.ie-flow__step::after{content:"";position:absolute;top:50%;right:calc(clamp(10px,1.4vw,18px) * -1);width:clamp(10px,1.4vw,18px);height:9px;transform:translateY(-50%);
	background:linear-gradient(currentColor,currentColor) center/100% 1px no-repeat;color:rgba(255,255,255,.28)}
.ie-flow__step:last-child::after{display:none}
.ie-flow__ico{display:block}
.ie-flow__t{font-family:var(--mono);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:#fff}
.ie-flow__p{font-size:13px;line-height:1.55;color:rgba(255,255,255,.66)}
@media (max-width:900px){.ie-flow{grid-template-columns:repeat(2,1fr)}.ie-flow__step::after{display:none}}
@media (max-width:520px){.ie-flow{grid-template-columns:1fr}}

.ie-engine__ico{display:block;margin-bottom:12px}

/* The monthly cycle. */
.ie-cycle__wrap{margin:clamp(20px,2.6vw,30px) 0 clamp(24px,3vw,34px);overflow-x:auto}
.ie-cycle{display:block;width:100%;min-width:600px;height:auto}
.ie-cycle__box{fill:rgba(0,0,0,.55);stroke:rgba(255,255,255,.2)}
.ie-cycle__box--last{stroke:var(--teal)}
.ie-cycle__num{fill:var(--teal);font-family:var(--mono);font-size:12px;letter-spacing:.16em}
.ie-cycle__label{fill:#fff;font-family:var(--serif);font-size:21px}
.ie-cycle__note{fill:rgba(255,255,255,.6);font-size:12.5px}
.ie-cycle__line,.ie-cycle__arc{stroke:rgba(255,255,255,.34);fill:none}
.ie-cycle__arc{stroke-dasharray:5 5}
.ie-cycle__head{fill:rgba(255,255,255,.34);stroke:none}
.ie-cycle__pill{fill:var(--bg);stroke:rgba(255,255,255,.2)}
.ie-cycle__repeat{fill:rgba(255,255,255,.66);font-family:var(--mono);font-size:11.5px;letter-spacing:.1em;text-anchor:middle}

.ie-engine__closer{margin:clamp(34px,4vw,52px) 0 0;font-family:var(--mono);font-size:clamp(12px,1.1vw,13.5px);letter-spacing:.12em;text-transform:uppercase;color:var(--teal)}

/* Evolution Engine redesign. Restrained editorial structure, with the ape
   mark carrying the visual weight instead of a collection of generated UI. */
.ie-engine-page{--ie-gear-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpolygon points='35.5,14.9 42.1,12.8 41.8,3.7 58.2,3.7 57.9,12.8 64.5,14.9 70.7,18.1 77,11.5 88.5,23 81.9,29.3 85.1,35.5 87.2,42.1 96.3,41.8 96.3,58.2 87.2,57.9 85.1,64.5 81.9,70.7 88.5,77 77,88.5 70.7,81.9 64.5,85.1 57.9,87.2 58.2,96.3 41.8,96.3 42.1,87.2 35.5,85.1 29.3,81.9 23,88.5 11.5,77 18.1,70.7 14.9,64.5 12.8,57.9 3.7,58.2 3.7,41.8 12.8,42.1 14.9,35.5 18.1,29.3 11.5,23 23,11.5 29.3,18.1' fill='none' stroke='white' stroke-width='1.4' stroke-linejoin='miter'/%3E%3Ccircle cx='50' cy='50' r='24' fill='none' stroke='white' stroke-width='1.4'/%3E%3C/svg%3E")}
.ie-engine-page .ie-wrap{padding-bottom:clamp(56px,7vw,96px)}
.ie-ee-hero{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:clamp(32px,6vw,88px);align-items:start;padding:0 0 clamp(48px,6vw,82px)}
.ie-ee-hero__copy{max-width:730px}
.ie-ee-hero__copy .ie-about-hero__h{max-width:14ch}
.ie-ee-hero__art{position:relative;isolation:isolate;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:clamp(26px,4vw,54px)}
.ie-ee-hero__art::before{content:"";position:absolute;z-index:-1;width:min(92%,480px);aspect-ratio:1;border-radius:50%;border:1px solid rgba(231,197,111,.42);background:radial-gradient(circle,rgba(231,197,111,.15) 0,rgba(98,175,157,.08) 42%,transparent 70%);box-shadow:0 0 0 18px rgba(255,255,255,.025),0 0 0 42px rgba(255,255,255,.018),0 0 70px rgba(231,197,111,.1)}
.ie-ee-hero__art::after{content:"";position:absolute;z-index:-1;width:min(74%,390px);aspect-ratio:1;border-radius:50%;border:1px dashed rgba(98,175,157,.46);transform:rotate(-14deg);box-shadow:inset 0 0 35px rgba(98,175,157,.06)}
.ie-ee-hero__art img{position:relative;z-index:1;display:block;width:min(100%,520px);height:auto;filter:drop-shadow(0 18px 38px rgba(0,0,0,.55))}
.ie-ee-hero__art>span{position:relative;z-index:1;display:block;margin-top:12px;padding:7px 14px;border-top:1px solid rgba(255,255,255,.28);border-bottom:1px solid rgba(255,255,255,.16);font-family:var(--mono);font-size:clamp(11px,1.1vw,14px);font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.9)}
.ie-ee-hero__actions{display:flex;align-items:center;flex-wrap:wrap;gap:18px 24px;margin-top:clamp(28px,3vw,38px)}
.ie-ee-section-head{max-width:720px}
.ie-ee-section-head h2,.ie-ee-proof h2,.ie-ee-final h2{margin:10px 0 0;font-size:clamp(28px,3.8vw,48px);line-height:1.08;font-weight:500;letter-spacing:-.025em;color:#fff;text-wrap:balance}
.ie-ee-section-head>p:last-child{margin:18px 0 0;font-size:clamp(15px,1.3vw,17px);line-height:1.7;color:rgba(255,255,255,.78)}
.ie-ee-included-graphic{position:relative;width:min(100%,440px);margin:clamp(38px,6vw,72px) 0 0;padding:0 16px 11px;border:1px solid #dadce0;border-radius:8px;background:#fff;box-shadow:0 2px 6px rgba(0,0,0,.16),0 18px 40px rgba(0,0,0,.2);color:#3c4043}
.ie-ee-included-graphic svg{position:relative;display:block;width:100%;height:auto;overflow:visible}
.ie-ee-analytics__head{position:relative;display:flex;align-items:center;justify-content:space-between;margin:0 -16px;padding:15px 16px 13px;border-bottom:1px solid #e8eaed}
.ie-ee-analytics__head>div{display:flex;align-items:baseline;gap:10px}
.ie-ee-analytics__head strong{font-family:Arial,sans-serif;font-size:14px;font-weight:500;color:#202124}
.ie-ee-analytics__head span,.ie-ee-analytics__label{font-family:Arial,sans-serif;font-size:9px;letter-spacing:0;text-transform:none;color:#5f6368}
.ie-ee-analytics__head>div>span{padding-left:10px;border-left:1px solid #dadce0}
.ie-ee-analytics__chart{position:relative;padding:15px 0 8px}
.ie-ee-analytics__chart-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:7px}
.ie-ee-analytics__label{max-width:56%;font-weight:500;line-height:1.25;color:#3c4043}
.ie-ee-analytics__legend{white-space:nowrap;font:8px Arial,sans-serif;color:#5f6368}
.ie-ee-analytics__legend i,.ie-ee-analytics__legend b{display:inline-block;width:7px;height:7px;margin:0 4px 0 7px;border-radius:50%;background:#1a73e8}
.ie-ee-analytics__legend i{margin-left:0}
.ie-ee-analytics__legend b{height:1px;width:12px;border-radius:0;background:#9aa0a6;vertical-align:middle}
.ie-ee-analytics__months text{fill:#80868b;font-family:Arial,sans-serif;font-size:7px;letter-spacing:0}
.ie-ee-analytics__axis text{fill:#80868b;font-family:Arial,sans-serif;font-size:7px;letter-spacing:0;text-anchor:end}
.ie-ee-included-graphic__grid{fill:none;stroke:#e8eaed;stroke-width:1}
.ie-ee-included-graphic__line{fill:none;stroke:#1a73e8;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.ie-ee-included-graphic__comparison{fill:none;stroke:#9aa0a6;stroke-width:1.2;stroke-dasharray:4 4;stroke-linecap:round;stroke-linejoin:round}
.ie-ee-included-graphic__last-point{fill:#fff;stroke:#1a73e8;stroke-width:2}
.ie-ee-analytics__table{margin:2px -16px 8px;border-top:1px solid #dadce0;font-family:Arial,sans-serif}
.ie-ee-analytics__tr{display:grid;grid-template-columns:minmax(0,1fr) 58px 76px;align-items:center;min-height:28px;padding:0 12px;border-bottom:1px solid #f1f3f4;font-size:9px;color:#3c4043}
.ie-ee-analytics__tr--head{min-height:32px;background:#f8f9fa;font-size:8px;color:#5f6368}
.ie-ee-analytics__tr>span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.ie-ee-analytics__tr>span b{display:inline-block;width:15px;font-weight:400;color:#80868b}
.ie-ee-analytics__tr>span i{display:inline-block;width:6px;height:6px;margin-right:6px;border-radius:50%;background:#1a73e8}
.ie-ee-analytics__tr>span i.is-purple{background:#9334e6}.ie-ee-analytics__tr>span i.is-green{background:#188038}
.ie-ee-analytics__tr strong,.ie-ee-analytics__tr em{font-style:normal;font-weight:400;text-align:right;color:#202124}
.ie-ee-included-graphic>span{position:relative;display:block;font:8px Arial,sans-serif;letter-spacing:.08em;text-align:center;text-transform:uppercase;color:#80868b}
.ie-ee-process,.ie-ee-capabilities,.ie-ee-proof,.ie-ee-final{margin-top:clamp(54px,7vw,96px)}
.ie-ee-process{position:relative;overflow:hidden;padding:clamp(30px,4vw,48px);border:1px solid rgba(255,255,255,.2);border-radius:10px;background:linear-gradient(135deg,rgba(5,7,10,.9),rgba(10,15,18,.76));backdrop-filter:blur(5px)}
.ie-ee-process__steps{position:relative;list-style:none;margin:clamp(34px,4vw,50px) 0 0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:clamp(12px,2vw,28px)}
.ie-ee-process__steps::before{content:"";position:absolute;left:8%;right:8%;top:43px;height:2px;background:linear-gradient(90deg,var(--accent),var(--teal) 55%,rgba(98,175,157,.28));box-shadow:0 0 18px rgba(98,175,157,.26)}
.ie-ee-process__steps li{position:relative;z-index:1;text-align:center;padding:0 clamp(5px,1vw,12px)}
.ie-ee-process__node{position:relative;isolation:isolate;width:86px;height:86px;margin:0 auto 22px;display:flex;align-items:center;justify-content:center;border-radius:50%;border:1px solid rgba(231,197,111,.7);background:radial-gradient(circle at 38% 32%,rgba(231,197,111,.23),rgba(7,10,14,.98) 68%);box-shadow:0 0 0 8px rgba(7,10,14,.9),0 0 34px rgba(231,197,111,.12)}
.ie-ee-process__node::before{content:"";position:absolute;z-index:-1;inset:9px;background:currentColor;color:rgba(231,197,111,.17);-webkit-mask:var(--ie-gear-mask) center/contain no-repeat;mask:var(--ie-gear-mask) center/contain no-repeat}
.ie-ee-process__node b{position:relative;font-family:var(--mono);font-size:13px;letter-spacing:.16em;color:#fff}
.ie-ee-process__steps li:nth-child(n+3) .ie-ee-process__node{border-color:rgba(98,175,157,.78);background:radial-gradient(circle at 38% 32%,rgba(98,175,157,.23),rgba(7,10,14,.98) 68%);box-shadow:0 0 0 8px rgba(7,10,14,.9),0 0 34px rgba(98,175,157,.13)}
.ie-ee-process__steps li:nth-child(n+3) .ie-ee-process__node::before{color:rgba(98,175,157,.17)}
.ie-ee-process__steps strong{display:block;font-size:17px;color:#fff;font-weight:600}
.ie-ee-process__steps p{margin:9px auto 0;max-width:20ch;font-size:13px;line-height:1.58;color:rgba(255,255,255,.74)}

.ie-ee-system{position:relative;isolation:isolate;overflow:hidden;margin-top:clamp(54px,7vw,96px);display:grid;grid-template-columns:minmax(280px,.78fr) minmax(0,1.22fr);gap:clamp(40px,7vw,92px);align-items:center;padding:clamp(34px,5vw,64px);background:linear-gradient(135deg,rgba(8,11,15,.96),rgba(12,18,23,.88));border:1px solid rgba(255,255,255,.22);border-radius:10px;box-shadow:0 22px 70px rgba(0,0,0,.28)}
.ie-ee-system::before{content:"";position:absolute;z-index:-1;inset:0;background-image:linear-gradient(rgba(98,175,157,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(98,175,157,.035) 1px,transparent 1px);background-size:34px 34px;mask-image:linear-gradient(90deg,transparent 18%,#000 58%,#000)}
.ie-ee-system__copy h2{margin:10px 0 0;font-size:clamp(28px,3.5vw,44px);line-height:1.08;font-weight:500;letter-spacing:-.025em;color:#fff;text-wrap:balance}
.ie-ee-system__copy>p:not(.ie-eyebrow){margin:18px 0 0;font-size:15px;line-height:1.72;color:rgba(255,255,255,.8)}
.ie-ee-system__diagram{position:relative;display:grid;grid-template-columns:minmax(150px,.72fr) minmax(180px,1fr);grid-template-rows:auto auto;gap:clamp(28px,4vw,46px) clamp(30px,5vw,60px);align-items:start;min-height:430px;padding:38px 34px 30px 64px;border:1px solid rgba(255,255,255,.18);border-radius:8px;background:radial-gradient(circle at 68% 28%,rgba(231,197,111,.13),transparent 24%),radial-gradient(circle at 64% 34%,rgba(98,175,157,.11),transparent 50%),rgba(0,0,0,.32);overflow:hidden;box-shadow:inset 0 0 60px rgba(0,0,0,.28)}
.ie-ee-system__diagram::before{content:"";position:absolute;left:34%;right:16%;top:31%;height:1px;background:linear-gradient(90deg,transparent,rgba(98,175,157,.78),transparent);z-index:0}
.ie-ee-system__diagram::after{content:"";position:absolute;left:22px;top:22px;width:36px;height:36px;border-left:1px solid rgba(98,175,157,.34);border-top:1px solid rgba(98,175,157,.34)}
.ie-ee-system__sources{grid-column:1;grid-row:1;display:flex;flex-direction:column;gap:9px;position:relative;z-index:1;margin-top:8px}
.ie-ee-system__sources span{position:relative;padding:10px 12px 10px 25px;border:1px solid rgba(255,255,255,.18);border-radius:4px;background:rgba(5,7,10,.88);font-family:var(--mono);font-size:9.5px;line-height:1.2;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.76)}
.ie-ee-system__sources span::before{content:"";position:absolute;left:10px;top:50%;width:5px;height:5px;border-radius:50%;background:var(--teal);transform:translateY(-50%);box-shadow:0 0 8px rgba(98,175,157,.75)}
.ie-ee-system__core{grid-column:2;grid-row:1;position:relative;z-index:2;width:min(100%,190px);justify-self:center;aspect-ratio:1;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid rgba(231,197,111,.82);background:radial-gradient(circle at 38% 32%,rgba(231,197,111,.28),rgba(7,10,14,.98) 66%);box-shadow:0 0 0 10px rgba(231,197,111,.07),0 0 0 22px rgba(98,175,157,.035),0 0 60px rgba(231,197,111,.22);font-family:var(--mono);font-size:9px;line-height:1.35;letter-spacing:.13em;text-transform:uppercase;color:rgba(255,255,255,.7);text-align:center}
.ie-ee-system__core::before,.ie-ee-system__core::after{content:"";position:absolute;border-radius:50%;pointer-events:none}.ie-ee-system__core::before{inset:-18px;border:1px dashed rgba(98,175,157,.34)}.ie-ee-system__core::after{inset:18px;background:rgba(231,197,111,.15);-webkit-mask:var(--ie-gear-mask) center/contain no-repeat;mask:var(--ie-gear-mask) center/contain no-repeat}
.ie-ee-system__core i{position:absolute;inset:-22px;border-radius:50%;pointer-events:none;animation:ie-ee-orbit 12s linear infinite}
.ie-ee-system__core i::before{content:"";position:absolute;left:50%;top:-1px;width:2px;height:2px;margin-left:-1px;border-radius:50%;background:var(--teal);box-shadow:0 0 2px rgba(98,175,157,.95),0 0 5px rgba(98,175,157,.68)}
@keyframes ie-ee-orbit{to{transform:rotate(1turn)}}
@media(prefers-reduced-motion:reduce){.ie-ee-system__core i{animation:none}}
.ie-ee-system__core strong{font-size:13px;color:#fff}
.ie-ee-system__output{grid-column:1/-1;grid-row:2;position:relative;z-index:1;display:grid;grid-template-columns:minmax(150px,.38fr) minmax(0,1fr);gap:26px;align-items:center;padding:20px 22px;border:1px solid rgba(98,175,157,.42);border-radius:6px;background:linear-gradient(145deg,rgba(5,11,13,.94),rgba(8,17,19,.84));box-shadow:0 15px 35px rgba(0,0,0,.22)}
.ie-ee-system__output-head strong{display:block;font-size:15px;line-height:1.35;color:#fff}
.ie-ee-system__output-head small{display:block;margin-top:7px;font-family:var(--mono);font-size:9px;line-height:1.4;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.54)}
.ie-ee-system__bars{display:grid;gap:9px}
.ie-ee-system__bars>div{display:grid;grid-template-columns:105px minmax(0,1fr);gap:12px;align-items:center}
.ie-ee-system__bars span{font-family:var(--mono);font-size:8px;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.55);white-space:nowrap}
.ie-ee-system__bars i{position:relative;display:block;height:8px;border-radius:2px;background:rgba(255,255,255,.07);overflow:hidden}
.ie-ee-system__bars i::before{content:"";position:absolute;inset:0 auto 0 0;width:var(--bar-width);border-radius:inherit;background:linear-gradient(90deg,var(--teal),var(--accent-2));box-shadow:0 0 14px rgba(98,175,157,.35)}
.ie-ee-system__bars>div:nth-child(1) i{--bar-width:82%}.ie-ee-system__bars>div:nth-child(2) i{--bar-width:68%}.ie-ee-system__bars>div:nth-child(3) i{--bar-width:91%}.ie-ee-system__bars>div:nth-child(4) i{--bar-width:74%}

.ie-ee-capabilities{display:grid;grid-template-columns:minmax(250px,.72fr) minmax(0,1.28fr);gap:clamp(36px,7vw,92px);padding:clamp(32px,4vw,52px);background:linear-gradient(145deg,rgba(6,8,11,.94),rgba(10,13,17,.86));border:1px solid rgba(255,255,255,.22);border-radius:10px;backdrop-filter:blur(5px)}
.ie-ee-capabilities__grid{display:grid;grid-template-columns:repeat(2,1fr);column-gap:clamp(26px,4vw,52px)}
.ie-ee-capabilities__grid article{--icon-accent:98,175,157;display:grid;grid-template-columns:58px 1fr;gap:18px;padding:26px 0;border-top:1px solid rgba(255,255,255,.18)}
.ie-ee-capabilities__grid article:nth-child(-n+2){border-top:0;padding-top:0}
.ie-ee-capabilities__grid article:nth-child(7){grid-column:1/-1;padding-bottom:0}
.ie-ee-capabilities__grid article:nth-child(7)>div{max-width:760px}
.ie-ee-capabilities__grid article:nth-child(1),.ie-ee-capabilities__grid article:nth-child(4){--icon-accent:231,197,111}
.ie-ee-capabilities__grid article:nth-child(3),.ie-ee-capabilities__grid article:nth-child(6),.ie-ee-capabilities__grid article:nth-child(7){--icon-accent:128,205,190}
.ie-ee-capabilities__icon{position:relative;isolation:isolate;display:flex;align-items:center;justify-content:center;width:54px;height:54px;color:rgb(var(--icon-accent));transition:transform .2s,filter .2s}
.ie-ee-capabilities__icon::before{content:"";position:absolute;z-index:-1;inset:1px;background:radial-gradient(ellipse at center,rgba(var(--icon-accent),.15),rgba(var(--icon-accent),.045) 44%,transparent 70%);filter:blur(2px)}
.ie-ee-capabilities__icon::after{content:"";position:absolute;left:4px;right:4px;bottom:3px;height:1px;background:linear-gradient(90deg,transparent,rgba(var(--icon-accent),.56),transparent);box-shadow:0 0 8px rgba(var(--icon-accent),.26)}
.ie-ee-capabilities__icon .ie-ico{position:relative;z-index:1;width:38px;height:38px;stroke-width:1.15;filter:drop-shadow(0 0 4px rgba(var(--icon-accent),.5)) drop-shadow(0 7px 8px rgba(0,0,0,.42))}
.ie-ee-capabilities__grid article:hover .ie-ee-capabilities__icon{transform:translateY(-2px);filter:brightness(1.18)}
.ie-ee-capabilities__grid h3{margin:0;font-size:16px;font-weight:600;color:#fff}
.ie-ee-capabilities__grid p{margin:8px 0 0;font-size:13.5px;line-height:1.62;color:rgba(255,255,255,.76)}
.ie-ee-proof{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:1px;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.18);border-radius:10px;overflow:hidden}
.ie-ee-proof__main,.ie-ee-proof__dashboard{padding:clamp(28px,4vw,52px);background:rgba(6,8,11,.74)}
.ie-ee-proof__main p:not(.ie-eyebrow){margin:18px 0 0;max-width:64ch;font-size:15px;line-height:1.72;color:rgba(255,255,255,.78)}
.ie-ee-proof-flow{position:relative;list-style:none;margin:28px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:12px;max-width:520px}
.ie-ee-proof-flow::before{content:"";position:absolute;left:12%;right:12%;top:17px;height:1px;background:linear-gradient(90deg,var(--accent),var(--teal))}
.ie-ee-proof-flow li{position:relative;z-index:1;display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid rgba(255,255,255,.15);border-radius:4px;background:rgba(4,7,9,.88)}
.ie-ee-proof-flow b{display:flex;align-items:center;justify-content:center;width:14px;height:14px;padding:4px;border-radius:50%;background:var(--bg);font-family:var(--mono);font-size:8px;letter-spacing:.06em;color:var(--teal);box-shadow:0 0 0 4px rgba(4,7,9,.9)}
.ie-ee-proof-flow span{font-family:var(--mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.72)}
.ie-ee-proof__dashboard{background:rgba(11,16,22,.82)}
.ie-ee-proof__dashboard h3{margin:10px 0 0;font-family:var(--serif);font-size:clamp(23px,2.6vw,32px);font-weight:500;color:#fff}
.ie-ee-signal{margin:24px 0 8px;padding:16px 16px 10px;border:1px solid rgba(98,175,157,.2);border-radius:6px;background:rgba(3,8,10,.4);color:var(--teal)}
.ie-ee-signal svg{display:block;width:100%;height:auto;overflow:visible}
.ie-ee-signal__grid{fill:none;stroke:rgba(255,255,255,.09);stroke-width:1}
.ie-ee-signal__fill{fill:url(#ie-signal-fill)}
.ie-ee-signal__line{fill:none;stroke:currentColor;stroke-width:2}
.ie-ee-signal circle{fill:var(--accent-2);filter:drop-shadow(0 0 5px rgba(231,197,111,.8))}
.ie-ee-signal span{display:block;margin-top:8px;font-family:var(--mono);font-size:8.5px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.5)}
.ie-ee-proof__dashboard ul{list-style:none;margin:24px 0 0;padding:0}
.ie-ee-proof__dashboard li{position:relative;padding:13px 0 13px 22px;border-top:1px solid rgba(255,255,255,.15);font-size:13.5px;line-height:1.5;color:rgba(255,255,255,.76)}
.ie-ee-proof__dashboard li::before{content:"";position:absolute;left:0;top:20px;width:8px;height:2px;background:var(--teal)}
.ie-engine-page .ie-engine__faq{max-width:none}
.ie-ee-final{display:flex;align-items:center;justify-content:space-between;gap:32px;padding:clamp(30px,4vw,50px) 0;border-top:1px solid rgba(255,255,255,.24);border-bottom:1px solid rgba(255,255,255,.24)}
.ie-ee-final h2{max-width:18ch;font-size:clamp(25px,3.2vw,40px)}
@media (max-width:900px){
	.ie-ee-hero{grid-template-columns:1fr minmax(220px,.55fr)}
	.ie-ee-process__steps{grid-template-columns:repeat(5,minmax(150px,1fr));overflow-x:auto;padding:10px 10px 22px;scroll-snap-type:x proximity}
	.ie-ee-process__steps::before{left:85px;right:85px;top:53px}
	.ie-ee-process__steps li{scroll-snap-align:center}
	.ie-ee-system{grid-template-columns:1fr}
	.ie-ee-capabilities{grid-template-columns:1fr}
}
@media (max-width:680px){
	.ie-ee-hero{grid-template-columns:1fr;padding-top:0}
	.ie-ee-hero__art{order:-1;justify-content:flex-start;padding:0}
	.ie-ee-hero__art img{width:min(78vw,340px)}
	.ie-ee-process{padding:28px 20px}
	.ie-ee-process::after{display:none}
	.ie-ee-process__steps{grid-template-columns:1fr;gap:0;overflow:visible;padding:0}
	.ie-ee-process__steps::before{left:42px;right:auto;top:42px;bottom:42px;width:2px;height:auto;background:linear-gradient(var(--accent),var(--teal) 55%,rgba(98,175,157,.28))}
	.ie-ee-process__steps li{display:grid;grid-template-columns:86px 1fr;column-gap:22px;text-align:left;padding:0 0 32px}
	.ie-ee-process__steps li:last-child{padding-bottom:0}
	.ie-ee-process__node{grid-row:1/3;margin:0}
	.ie-ee-process__steps strong{align-self:end;padding-bottom:3px}
	.ie-ee-process__steps p{max-width:none;margin:5px 0 0}
	.ie-ee-system{padding:30px 20px}
	.ie-ee-system__diagram{grid-template-columns:1fr;grid-template-rows:auto auto auto;min-height:0;padding:24px 18px}
	.ie-ee-system__diagram::before{left:50%;right:auto;top:24%;width:1px;height:28%;background:linear-gradient(transparent,rgba(98,175,157,.65),transparent)}
	.ie-ee-system__diagram::after{left:12px;top:12px;width:24px;height:24px}
	.ie-ee-system__sources{display:grid;grid-template-columns:repeat(2,1fr)}
	.ie-ee-system__sources span:last-child{grid-column:1/-1}
	.ie-ee-system__core{grid-column:1;grid-row:2;width:150px;justify-self:center}
	.ie-ee-system__output{grid-column:1;grid-row:3;grid-template-columns:1fr;gap:16px;padding:18px}
	.ie-ee-system__bars>div{grid-template-columns:92px minmax(0,1fr)}
	.ie-ee-capabilities__grid{grid-template-columns:1fr}
	.ie-ee-included-graphic{margin-top:30px}
	.ie-ee-capabilities__grid article:nth-child(2){border-top:1px solid rgba(255,255,255,.18);padding-top:22px}
	.ie-ee-proof{grid-template-columns:1fr}
	.ie-ee-proof-flow{grid-template-columns:1fr;gap:8px}
	.ie-ee-proof-flow::before{left:25px;right:auto;top:16px;bottom:16px;width:1px;height:auto;background:linear-gradient(var(--accent),var(--teal))}
	.ie-ee-final{align-items:flex-start;flex-direction:column}
}

/* ============ Pricing: two labelled sections ============ */
/* The page carries two separate offers. Without a header on each, the three
   build cards and the subscription block ran together as one list. */
.ie-pricing__sec{margin-top:clamp(44px,5.5vw,72px);margin-bottom:clamp(20px,2.4vw,30px);padding-top:clamp(20px,2.4vw,28px);border-top:1px solid rgba(255,255,255,.18)}
/* The second section header holds only an eyebrow, so it needs its own gap
   above the card rather than inheriting the taller heading block's rhythm. */
.ie-pricing__sec--second{margin-top:50px;margin-bottom:clamp(16px,1.8vw,22px)}
.ie-pricing__sec-t{margin:10px 0 0;font-family:var(--serif);font-size:clamp(24px,2.6vw,34px);font-weight:400;line-height:1.15;color:#fff}
.ie-pricing__sec-p{margin:12px 0 0;max-width:62ch;font-size:15px;line-height:1.7;color:rgba(255,255,255,.78)}

/* ============ Services: the two ways to work together ============ */
.ie-paths{margin-top:clamp(28px,3.5vw,44px);display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(18px,2vw,26px)}
.ie-path{display:flex;flex-direction:column;padding:clamp(24px,2.6vw,34px);border:1px solid rgba(255,255,255,.16);border-radius:12px;background:rgba(0,0,0,.55);backdrop-filter:blur(3px)}
/* The subscription is the offer being steered toward, so it gets the accent
   edge and a slightly heavier ground. */
.ie-path--feature{border-color:rgba(255,255,255,.34);background:rgba(0,0,0,.72)}
.ie-path__k{margin:0;font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--teal)}
.ie-path__t{margin:12px 0 0;font-family:var(--serif);font-size:clamp(22px,2.2vw,29px);font-weight:400;line-height:1.15;color:#fff}
.ie-path__p{margin:14px 0 0;font-size:15px;line-height:1.7;color:rgba(255,255,255,.82)}
.ie-path__list{list-style:none;margin:18px 0 0;padding:0;display:flex;flex-direction:column;gap:7px}
.ie-path__list li{position:relative;padding-left:22px;font-size:14px;line-height:1.55;color:rgba(255,255,255,.72)}
.ie-path__list li::before{content:"→";position:absolute;left:0;top:0;color:var(--teal);font-family:var(--mono)}
.ie-path--feature .ie-path__list li::before{color:var(--accent)}
.ie-path__cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:auto;padding-top:24px}@media (max-width:820px){
  .ie-paths{grid-template-columns:1fr}
}

/* Build / Improve / Protect. Kept intentionally light: the numbered loop
   directly below is a bordered card grid, and two boxed grids stacked read as
   one heavy slab. A hairline rule per column is enough separation. */
.ie-engine__pillars{margin:clamp(32px,4vw,48px) 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,3vw,40px)}
.ie-engine__pillar{border-top:1px solid var(--line);padding-top:clamp(16px,1.8vw,22px)}
.ie-engine__pillar-t{margin:0 0 8px;font-size:clamp(18px,1.7vw,22px);font-weight:600;color:var(--ink);letter-spacing:-.01em}
.ie-engine__pillar-p{margin:0;font-size:14.5px;line-height:1.65;color:var(--muted)}
@media (max-width:760px){.ie-engine__pillars{grid-template-columns:1fr;gap:0}.ie-engine__pillar{padding-bottom:18px}}

.ie-engine__loop{list-style:none;margin:clamp(40px,5vw,64px) 0 0;padding:0;display:grid;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:12px;overflow:hidden;grid-template-columns:repeat(4,1fr)}
.ie-engine__step{background:var(--bg-2);padding:clamp(22px,2.4vw,32px);display:flex;flex-direction:column;gap:10px}
.ie-engine__step-n{font-family:var(--mono);font-size:11px;letter-spacing:.2em;color:var(--teal)}
.ie-engine__step-t{margin:0;font-size:clamp(17px,1.6vw,21px);font-weight:600;color:var(--ink);letter-spacing:-.01em}
.ie-engine__step-p{margin:0;font-size:14.5px;line-height:1.65;color:var(--muted)}
@media (max-width:960px){.ie-engine__loop{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.ie-engine__loop{grid-template-columns:1fr}}

/* engine page: what you get */
.ie-engine__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:clamp(18px,2vw,26px);margin-top:clamp(32px,4vw,48px)}
.ie-engine__item{background:rgba(16,18,22,.72);border:1px solid var(--line);border-radius:12px;padding:clamp(22px,2.4vw,30px)}
.ie-engine__item h3{margin:0 0 10px;font-size:17px;font-weight:600;color:var(--ink)}
.ie-engine__item p{margin:0;font-size:14.5px;line-height:1.65;color:var(--muted)}

/* engine page: prose blocks */
.ie-engine__block{margin-top:clamp(48px,6vw,80px);max-width:70ch}
.ie-engine__block h2{margin:0 0 16px;font-size:clamp(22px,2.6vw,32px);font-weight:600;color:var(--ink);letter-spacing:-.015em}
.ie-engine__block p{margin:0 0 14px;font-size:clamp(15px,1.3vw,17px);line-height:1.75;color:var(--muted)}
.ie-engine__block p:last-child{margin-bottom:0}

/* engine page: price callout */
.ie-engine__price{margin-top:clamp(48px,6vw,80px);border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:12px;background:rgba(16,18,22,.72);padding:clamp(24px,3vw,36px);max-width:70ch}
.ie-engine__price p{margin:0;font-size:clamp(15px,1.3vw,17px);line-height:1.75;color:var(--muted)}


/* Engine page sits on a photo scene: match the theme's existing scene-card
 * treatment so text stays readable over the background image. */
.ie-page-scene .ie-engine__item,
.ie-page-scene .ie-engine__price{background:rgba(0,0,0,.66);border:2px solid rgba(255,255,255,.16)}
.ie-page-scene .ie-engine__price{border-left:3px solid var(--accent)}
.ie-page-scene .ie-engine__item h3{color:#fff}
.ie-page-scene .ie-engine__item p,
.ie-page-scene .ie-engine__price p,
.ie-page-scene .ie-engine__block p{color:rgba(255,255,255,.84)}
.ie-page-scene .ie-engine__block h2{color:#fff}
.ie-page-scene .ie-engine__body{color:rgba(255,255,255,.88);text-shadow:0 1px 12px rgba(0,0,0,.75)}
/* the prose blocks have no panel of their own, so give them one */
.ie-page-scene .ie-engine__block{background:rgba(0,0,0,.60);border:2px solid rgba(255,255,255,.14);border-radius:12px;padding:clamp(24px,3vw,36px);max-width:74ch}

/* Evolution Engine tier on the pricing page */
.ie-engine-tier{--ie-tier-gear:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpolygon points='35.5,14.9 42.1,12.8 41.8,3.7 58.2,3.7 57.9,12.8 64.5,14.9 70.7,18.1 77,11.5 88.5,23 81.9,29.3 85.1,35.5 87.2,42.1 96.3,41.8 96.3,58.2 87.2,57.9 85.1,64.5 81.9,70.7 88.5,77 77,88.5 70.7,81.9 64.5,85.1 57.9,87.2 58.2,96.3 41.8,96.3 42.1,87.2 35.5,85.1 29.3,81.9 23,88.5 11.5,77 18.1,70.7 14.9,64.5 12.8,57.9 3.7,58.2 3.7,41.8 12.8,42.1 14.9,35.5 18.1,29.3 11.5,23 23,11.5 29.3,18.1' fill='none' stroke='white' stroke-width='1.2'/%3E%3Ccircle cx='50' cy='50' r='25' fill='none' stroke='white' stroke-width='1.2'/%3E%3C/svg%3E");position:relative;isolation:isolate;overflow:hidden;border:2px solid rgba(255,255,255,.16);border-top:3px solid var(--accent);border-radius:12px;background:rgba(0,0,0,.62);padding:clamp(24px,3vw,40px)}
.ie-engine-tier::before{content:"";position:absolute;z-index:-1;left:50%;top:51%;width:min(31%,325px);aspect-ratio:1;background:rgba(231,197,111,.3);-webkit-mask:var(--ie-tier-gear) center/contain no-repeat;mask:var(--ie-tier-gear) center/contain no-repeat;opacity:.22;filter:drop-shadow(0 0 16px rgba(231,197,111,.25));transform:translate(-50%,-50%) rotate(-8deg);pointer-events:none}
.ie-engine-tier::after{content:"";position:absolute;z-index:-1;left:50%;top:50%;width:min(43%,455px);height:min(44%,280px);background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 500 250'%3E%3Cg fill='none'%3E%3Cpath d='M15 205H485M15 145H485M15 85H485M95 25V225M195 25V225M295 25V225M395 25V225' stroke='%23ffffff' stroke-opacity='.09'/%3E%3Cpath d='M18 199 C75 196 88 175 137 178 S214 151 257 155 S327 112 365 119 S429 65 482 48' stroke='%2362af9d' stroke-width='3'/%3E%3C/g%3E%3Cg fill='%23070d0d' stroke='%23e7c56f' stroke-width='2'%3E%3Ccircle cx='18' cy='199' r='5'/%3E%3Ccircle cx='137' cy='178' r='5'/%3E%3Ccircle cx='257' cy='155' r='5'/%3E%3Ccircle cx='365' cy='119' r='5'/%3E%3Ccircle cx='482' cy='48' r='5'/%3E%3C/g%3E%3C/svg%3E") center/contain no-repeat;opacity:.24;transform:translate(-50%,-50%);pointer-events:none}
.ie-engine-tier::before,.ie-engine-tier::after{display:none}
.ie-engine-tier>*{position:relative;z-index:1}
.ie-engine-tier__t{margin:0;font-size:clamp(24px,3vw,34px);font-weight:600;color:#fff;letter-spacing:-.02em}
.ie-engine-tier__sub{margin:14px 0 0;max-width:74ch;font-size:clamp(15px,1.3vw,17px);line-height:1.7;color:rgba(255,255,255,.82)}
.ie-engine-tier__body{display:grid;grid-template-columns:1fr minmax(200px,260px);gap:clamp(24px,3vw,44px);margin-top:clamp(24px,3vw,34px);align-items:start}
.ie-engine-tier__features{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.ie-engine-tier__features li{position:relative;padding-left:24px;font-size:14.5px;line-height:1.6;color:rgba(255,255,255,.82)}
.ie-engine-tier__features li::before{content:"→";position:absolute;left:0;top:.05em;font-family:var(--mono);font-size:12px;color:var(--teal);text-shadow:0 0 7px rgba(98,175,157,.38)}
.ie-engine-tier__aside{display:flex;flex-direction:column;gap:14px;border-left:1px solid rgba(255,255,255,.14);padding-left:clamp(18px,2vw,28px)}
.ie-engine-tier__cta{position:absolute;right:clamp(24px,3vw,40px);bottom:clamp(24px,3vw,40px);display:flex;justify-content:flex-end}
.ie-engine-tier__aside>.ie-btn,.ie-engine-tier__cta .ie-btn{box-sizing:border-box;width:230px;max-width:100%;padding-right:12px;padding-left:12px;text-align:center;white-space:nowrap}
.ie-page-scene .ie-engine-tier__cta .ie-btn{color:var(--accent);border-color:var(--accent)}
.ie-page-scene .ie-engine-tier__cta .ie-btn:hover{background:rgba(231,197,111,.1);color:var(--accent);border-color:var(--accent)}
.ie-engine-tier__price{margin:0;font-family:var(--serif);font-size:clamp(38px,5vw,52px);line-height:1;color:#fff}
.ie-engine-tier__price sup{font-size:.45em;top:-.7em;position:relative;margin-right:2px}
.ie-engine-tier__freq{margin:6px 0 0;font-family:var(--mono);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--teal)}
.ie-engine-tier__fit{margin:0;font-size:13.5px;line-height:1.55;color:rgba(255,255,255,.62)}
@media (max-width:820px){.ie-engine-tier__body{grid-template-columns:1fr}
  .ie-engine-tier__aside{border-left:0;border-top:1px solid rgba(255,255,255,.14);padding-left:0;padding-top:20px}
  .ie-engine-tier__cta{position:static;margin-top:26px;padding-top:22px;border-top:1px solid rgba(255,255,255,.14)}
  .ie-engine-tier::before{width:76%;opacity:.09}
  .ie-engine-tier::after{width:62%;opacity:.12}}

/* Visible FAQ (Engine page) */
.ie-engine__faq{margin-top:clamp(48px,6vw,80px);max-width:74ch}
.ie-engine__faq h2{margin:0 0 20px;font-size:clamp(22px,2.6vw,32px);font-weight:600;color:#fff;letter-spacing:-.015em}
.ie-faq__row{border-top:1px solid rgba(255,255,255,.14)}
.ie-faq__row:last-child{border-bottom:1px solid rgba(255,255,255,.14)}
.ie-faq__q{cursor:pointer;list-style:none;padding:16px 32px 16px 0;position:relative;font-size:clamp(15px,1.35vw,17px);font-weight:500;color:#fff;line-height:1.5}
.ie-faq__q::-webkit-details-marker{display:none}
.ie-faq__q::after{content:'+';position:absolute;right:4px;top:50%;transform:translateY(-50%);font-family:var(--mono);font-size:18px;color:var(--teal);transition:transform .2s}
.ie-faq__row[open] .ie-faq__q::after{content:'\2212'}
.ie-faq__q:hover{color:var(--teal)}
.ie-faq__a{margin:0 0 18px;font-size:14.5px;line-height:1.75;color:rgba(255,255,255,.78);max-width:68ch}
.ie-page-scene .ie-engine__faq{background:rgba(0,0,0,.62);border:2px solid rgba(255,255,255,.14);border-radius:12px;padding:clamp(24px,3vw,36px)}
.ie-page-scene .ie-faq__row:first-of-type{border-top:0}
.ie-page-scene .ie-faq__row:last-child{border-bottom:0}
.ie-engine-tier__features li strong{color:#fff;font-weight:600}
.ie-page-scene .ie-engine__item--lead{border-color:rgba(240,164,79,.55)}
.ie-engine__item--lead h3{color:var(--accent)}

/* Mobile hero.
 * bg-home-sm.jpg looked like a small variant of bg-home.jpg and is not: it is a
 * different photograph, monochrome where the hero is teal. Pointing mobile at
 * it meant phones saw a different hero than desktop. bg-home-mobile.jpg is a
 * real crop of the actual hero, taller than the 1.5:1 original so a phone is
 * not zooming a landscape frame, and 111 KB against the desktop 276 KB.
 * The gradient scrim is repeated because background-image is one property, and
 * !important is needed because front-page.php sets the desktop value inline. */
@media (max-width:700px){
  .ie-hero{
    background-image:
      radial-gradient(ellipse 52% 46% at 60% 58%,rgba(10,11,13,.28) 0%,rgba(10,11,13,.52) 100%),
      url('img/backgrounds/bg-home-mobile.jpg') !important;
    /* The desktop rule sets `fixed`, which sizes the image to the viewport.
     * On a tall phone that crops a 1.5:1 landscape photo down to roughly a
     * third of its width and blows it up, so the hero reads as flat grey.
     * The page scenes already switch to `scroll` on mobile; the hero never did.
     * `auto 100%` keeps the photo's own proportions and fills the height,
     * which is what makes the depth in the image survive. */
    background-attachment: scroll !important;
    background-size: cover !important;
    background-position: center !important;
  }
}

/* Evolution Engine tiers. Three prices, one product: the layout deliberately
 * gives every tier the same block so it does not read as a feature ladder. */
.ie-engine-tier__range{margin:16px 0 0;font-family:var(--mono);font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.62)}
.ie-engine-tier__range strong{color:rgba(255,255,255,.9);font-weight:600}
.ie-tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.14);border-radius:10px;overflow:hidden;margin-top:clamp(22px,3vw,32px)}
/* One package: the price is a column of the block header, not a card inside a
   card. The nested panel left a wide empty area beside two short lines. */
.ie-engine-tier__head{display:grid;grid-template-columns:1fr auto;gap:clamp(24px,4vw,60px);align-items:start}
.ie-engine-tier__intro{min-width:0}
.ie-engine-tier__cost{min-width:200px;max-width:280px;padding-left:clamp(20px,2.6vw,34px);border-left:1px solid rgba(255,255,255,.18)}
.ie-engine-tier__who{margin:14px 0 0;max-width:56ch;font-size:14.5px;line-height:1.6;color:rgba(255,255,255,.66)}
.ie-engine-tier__incl{margin:14px 0 0;font-size:13.5px;line-height:1.55;color:rgba(255,255,255,.7)}
@media (max-width:820px){
	.ie-engine-tier__head{grid-template-columns:1fr;gap:24px}
	.ie-engine-tier__cost{max-width:none;padding-left:0;border-left:0;padding-top:22px;border-top:1px solid rgba(255,255,255,.18)}
}
.ie-tier{background:rgba(0,0,0,.55);padding:clamp(20px,2.4vw,28px);display:flex;flex-direction:column;gap:6px}
.ie-tier--mid{background:rgba(0,0,0,.72)}
.ie-tier__name{margin:0;font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--teal)}
.ie-tier__price{margin:6px 0 0;font-family:var(--serif);font-size:clamp(30px,3.6vw,40px);line-height:1;color:#fff}
.ie-tier__price sup{font-size:.45em;top:-.7em;position:relative;margin-right:2px}
.ie-tier__freq{margin:0;font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.5)}
.ie-tier__who{margin:12px 0 0;font-size:14px;line-height:1.6;color:rgba(255,255,255,.82)}
.ie-tier__work{margin:auto 0 0;padding-top:12px;font-size:13px;line-height:1.5;color:rgba(255,255,255,.6)}
.ie-engine-tier__same{margin:clamp(20px,2.6vw,28px) 0 0;max-width:78ch;font-size:15px;line-height:1.7;color:rgba(255,255,255,.82)}
.ie-engine-tier__same strong{color:#fff;font-weight:600}
.ie-tier__note{margin:0;font-size:13px;line-height:1.6;color:rgba(255,255,255,.66)}
.ie-tier__note strong{color:#fff;font-weight:600}
@media (max-width:760px){.ie-tiers{grid-template-columns:1fr}.ie-tier__work{margin-top:10px}}
.ie-tier__flag{display:inline-block;margin-left:8px;padding:2px 7px;border-radius:3px;border:1px solid rgba(255,255,255,.28);color:rgba(255,255,255,.62);font-size:9px;letter-spacing:.1em;vertical-align:middle}
/* The employee anchor: same panel language as the other prose blocks */
.ie-engine__anchor{margin-top:clamp(48px,6vw,80px);max-width:74ch}
.ie-engine__anchor h2{margin:0 0 16px;font-size:clamp(22px,2.6vw,32px);font-weight:600;letter-spacing:-.015em;text-wrap:balance}
.ie-engine__anchor p{margin:0 0 14px;font-size:clamp(15px,1.3vw,17px);line-height:1.75}
.ie-engine__anchor p:last-child{margin-bottom:0}
.ie-page-scene .ie-engine__anchor{background:rgba(0,0,0,.60);border:2px solid rgba(255,255,255,.14);border-left:3px solid var(--teal);border-radius:12px;padding:clamp(24px,3vw,36px)}
.ie-page-scene .ie-engine__anchor h2{color:#fff}
.ie-page-scene .ie-engine__anchor p{color:rgba(255,255,255,.84)}
/* The promise/limits block: same panel, warmer rail, because it is the
 * credibility argument rather than another feature. */
.ie-page-scene .ie-engine__promise{border-left:3px solid var(--accent-2)}

/* The Evolution Engine as a lead card: same family as the service cards, full
 * width so seven cards do not leave an orphan in the three-column grid. */
.ie-card--lead{grid-column:1/-1;display:block;text-decoration:none}
.ie-card--lead .ie-card__t{color:#fff}
.ie-card__more{display:inline-block;margin-top:14px;font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--teal)}
.ie-card--lead:hover .ie-card__more{color:#fff}
/* The one-off-build vs subscription line, used on home, work and services. */
.ie-engine__paths{margin:0 0 20px;font-size:15.5px;line-height:1.65;color:var(--muted);max-width:70ch}
.ie-page-scene .ie-engine__paths{color:rgba(255,255,255,.8)}

/* Ed revision: preserve the production design while improving readability. */
.ie-hero__sub,.ie-engine__body,.ie-path__p,.ie-path__list li,.ie-pricing__sec-p,.ie-price-card__features li,.ie-engine-tier__sub,.ie-engine-tier__who,.ie-engine-tier__same,.ie-engine-tier__features li,.ie-tier__note,.ie-prose p{font-size:18px}

/* Familiar one-off prices come first. The managed subscription follows as
   the easier "we handle it all" choice. Markup and editable pricing data stay
   unchanged; only the presentation order changes in this theme. */
.ie-ed-pricing .ie-page-scene>.ie-wrap{display:flex;flex-direction:column}
.ie-ed-pricing .ie-page-scene__intro{order:0;margin-bottom:0}
.ie-ed-pricing .ie-pricing__sec--second{order:1}
.ie-ed-pricing .ie-pricing__grid{order:2}
.ie-ed-pricing .ie-pricing__sec:not(.ie-pricing__sec--second){order:3}
.ie-ed-pricing .ie-engine-tier{order:4}

/* Simplified Evolution Engine page. */
.ie-engine-simple__section{margin-top:clamp(56px,7vw,96px)}
.ie-engine-simple__section>h2{margin:10px 0 0;font-family:var(--serif);font-size:clamp(32px,4vw,52px);font-weight:400;line-height:1.08;color:#fff;text-wrap:balance}
.ie-engine-page--simple .ie-engine__pillar-p,.ie-engine-page--simple .ie-engine__item p{font-size:17px}
.ie-engine-page--simple .ie-engine__faq{margin-bottom:clamp(56px,7vw,96px)}
.ie-services__faq{max-width:none;margin-bottom:clamp(56px,7vw,96px)}
.ie-growth-section__lead{max-width:720px;margin:22px 0 0;font-size:18px;line-height:1.7;color:rgba(255,255,255,.84)}
.ie-growth-loop{display:grid;grid-template-columns:repeat(4,1fr);margin-top:clamp(32px,4vw,52px);border:1px solid rgba(255,255,255,.24);border-radius:12px;overflow:hidden;background:rgba(0,0,0,.48)}
.ie-growth-loop article{min-width:0;padding:clamp(24px,2.8vw,34px)}
.ie-growth-loop article+article{border-left:1px solid rgba(255,255,255,.22)}
.ie-growth-loop span,.ie-growth-process b{display:block;margin-bottom:28px;font-family:var(--mono);font-size:11px;line-height:1.4;letter-spacing:.15em;color:var(--teal)}
.ie-growth-loop h3,.ie-growth-process h3{margin:0 0 14px;font-size:19px;font-weight:600;color:#fff}
.ie-growth-loop p,.ie-growth-process p{margin:0;font-size:16px;line-height:1.65;color:rgba(255,255,255,.8)}
.ie-growth-process{display:grid;grid-template-columns:repeat(3,1fr);margin-top:clamp(34px,4vw,54px);border-top:1px solid rgba(255,255,255,.36);border-bottom:1px solid rgba(255,255,255,.36)}
.ie-growth-ninety{padding:clamp(28px,4vw,48px);border:2px solid rgba(255,255,255,.14);border-radius:12px;background:rgba(0,0,0,.68)}
.ie-growth-process article{padding:clamp(28px,3.2vw,40px) clamp(22px,3vw,34px)}
.ie-growth-process article:first-child{padding-left:0}
.ie-growth-process article+article{border-left:1px solid rgba(255,255,255,.28)}
@media(max-width:900px){.ie-growth-loop{grid-template-columns:repeat(2,1fr)}.ie-growth-loop article:nth-child(3){border-left:0;border-top:1px solid rgba(255,255,255,.22)}.ie-growth-loop article:nth-child(4){border-top:1px solid rgba(255,255,255,.22)}}
@media(max-width:620px){.ie-growth-loop,.ie-growth-process{grid-template-columns:1fr}.ie-growth-loop article+article,.ie-growth-process article+article{border-left:0;border-top:1px solid rgba(255,255,255,.22)}.ie-growth-process article,.ie-growth-process article:first-child{padding:28px 0}.ie-growth-loop span,.ie-growth-process b{margin-bottom:18px}}

/* ============ Pricing: monthly management plans ============
 * Four plan cards replace the single Evolution Engine tier block. The order
 * values below put the one-off builds above the monthly plans; they override
 * the earlier .ie-ed-pricing block by source order. */
.ie-managed-pricing-v1{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(18px,3vw,30px);margin-top:clamp(30px,4vw,48px)}
.ie-managed-price-v1{display:flex;flex-direction:column;padding:clamp(26px,3.5vw,42px);border:1px solid rgba(255,255,255,.25);border-radius:10px;background:rgba(0,0,0,.55)}
.ie-managed-price-v1.is-featured{border-color:rgba(231,197,111,.65)}
/* The metal name is how clients refer to a plan, so it is the card's largest
 * type. No card is featured or badged. */
.ie-managed-price-v1 .ie-tier__name{font-size:clamp(11px,1.2vw,15px);letter-spacing:.12em;line-height:1.1}
/* Build package names sit at the same size as the metal names. */
.ie-ed-pricing .ie-price-card__name{font-size:clamp(11px,1.2vw,15px);letter-spacing:.12em;line-height:1.1}
/* No timeline line under the price any more, so the price carries its gap. */
.ie-ed-pricing .ie-price-card__price{margin-bottom:28px}
/* Each name takes its metal's colour, lifted enough to read on the dark card. */
.ie-managed-price-v1--bronze .ie-tier__name{color:#d4915a}
.ie-managed-price-v1--silver .ie-tier__name{color:#c9ced3}
.ie-managed-price-v1--gold .ie-tier__name{color:#e7c56f}
.ie-managed-price-v1--platinum .ie-tier__name{color:#e9edf0}
.ie-managed-price-v1__inherit{margin:18px 0 0;font-size:16px;line-height:1.65;color:rgba(255,255,255,.8)}
.ie-managed-price-v1__inherit+.ie-path__list{margin-top:6px}
.ie-managed-price-v1 .ie-path__list li{font-size:16px}
.ie-managed-price-v1 .ie-tier__price{margin:14px 0 0}
.ie-managed-price-v1__who,.ie-managed-price-v1__work{font-size:16px;line-height:1.65;color:rgba(255,255,255,.8)}
.ie-managed-price-v1__hours{color:#fff}
.ie-managed-price-v1 .ie-path__cta{padding-top:22px}
.ie-managed-price-v1 .ie-btn{margin-top:18px}
.ie-managed-terms-v1 .ie-path__list{margin-top:0}
.ie-managed-terms-v1 .ie-path__list li{font-size:16px;color:rgba(255,255,255,.8)}
.ie-ed-pricing .ie-managed-terms-v1{order:6}
#monthly-plans,#website-builds{scroll-margin-top:100px}
.ie-ed-pricing .ie-page-scene__intro{order:0}
.ie-ed-pricing .ie-pricing__sec--second{order:1}
.ie-ed-pricing .ie-pricing__grid{order:2}
.ie-ed-pricing .ie-pricing__sec:not(.ie-pricing__sec--second){order:4}
.ie-ed-pricing .ie-managed-pricing-v1{order:5}
.ie-ed-pricing .ie-tier__price sup,.ie-ed-pricing .ie-price-card__price sup{vertical-align:baseline;top:0}
@media(max-width:620px){.ie-managed-pricing-v1{grid-template-columns:1fr}}

/* Match Local pricing lists without changing lists on other pages. */
.ie-ed-pricing .ie-price-card__features li{padding-left:22px}
.ie-ed-pricing .ie-price-card__features li::before{content:"→";position:absolute;left:0;top:0;color:var(--teal);font-family:var(--mono);font-size:inherit;line-height:inherit}