/*! Corwell theme styles — generated by tools/sync_wp.py from the design source. Edit the sources, not this file. */

/* ============================================================
   corwell.css
   ============================================================ */
/* =========================================================
   CORWELL — Design tokens
   ========================================================= */
:root{
  --ink:#0B1020;          /* headings, dark sections */
  --ink-2:#141A2E;        /* dark surfaces */
  --ink-3:#1E2540;        /* dark borders */
  --text:#2A3042;         /* body text  (12.9:1 on white) */
  --muted:#5B6275;        /* secondary  (6.2:1 on white) */
  --muted-on-dark:#A3AAC0;/* secondary on ink (8.1:1) */
  --paper:#FFFFFF;
  --soft:#F4F5F9;
  --soft-2:#ECEEF5;
  --line:#E3E6EE;
  --primary:#2B4CFF;      /* 5.9:1 on white */
  --primary-600:#1F3BE0;
  --primary-50:#EEF1FF;
  --accent:#D4FF3F;       /* lime — on ink only */
  --success:#12A150;
  --danger:#D92D20;

  --f-sans:"Geist", "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  --f-serif:"Instrument Serif", Georgia, "Times New Roman", serif;

  --fs-display:clamp(2.75rem, 1.6rem + 4.6vw, 5.5rem);
  --fs-h2:clamp(2rem, 1.4rem + 2.4vw, 3.5rem);
  --fs-h3:clamp(1.25rem, 1.1rem + .5vw, 1.5rem);
  --fs-lead:clamp(1.0625rem, 1rem + .3vw, 1.25rem);

  --r-sm:10px; --r-md:16px; --r-lg:24px; --r-xl:32px; --r-pill:999px;
  --sh-sm:0 1px 2px rgba(11,16,32,.06), 0 1px 1px rgba(11,16,32,.04);
  --sh-md:0 12px 32px -12px rgba(11,16,32,.18), 0 2px 6px rgba(11,16,32,.05);
  --sh-lg:0 40px 80px -24px rgba(11,16,32,.28);

  --container:1280px;
  --gutter:clamp(16px, 4vw, 40px);
  --section:clamp(80px, 6vw + 40px, 140px);
  --ease:cubic-bezier(.2,.7,.2,1);
}
@media (min-width:1800px){ :root{ --container:1360px } }

/* =========================================================
   Base
   ========================================================= */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;font-family:var(--f-sans);font-size:1rem;line-height:1.65;color:var(--text);background:var(--paper);-webkit-font-smoothing:antialiased;overflow-x:hidden;font-feature-settings:"ss01","cv11"}
img,svg{display:block;max-width:100%}
img{height:auto}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer;background:none;border:0;padding:0}
h1,h2,h3,h4{color:var(--ink);font-weight:600;letter-spacing:-.035em;line-height:1.05;margin:0;overflow-wrap:anywhere}
p{margin:0}
ul,ol{margin:0;padding:0;list-style:none}
figure{margin:0}
em.serif,.serif{font-family:var(--f-serif);font-style:italic;font-weight:400;letter-spacing:-.01em}
:focus-visible{outline:3px solid var(--primary);outline-offset:3px}
a:not([class]):focus-visible{border-radius:4px}
.on-dark :focus-visible{outline-color:var(--accent)}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip-link{position:fixed;left:16px;top:-60px;z-index:999;background:var(--ink);color:#fff;padding:12px 18px;border-radius:var(--r-sm);transition:top .2s}
.skip-link:focus{top:16px}
.container{width:100%;max-width:calc(var(--container) + var(--gutter)*2);margin-inline:auto;padding-inline:var(--gutter)}
.section{padding-block:var(--section)}
.hero__grid>*,.about__grid>*,.faq__grid>*,.cta>*,.testi__wrap>*,.sec-head>*,.footer__news>*,.footer__cols>*{min-width:0}
.ico{width:20px;height:20px;flex:none;stroke:currentColor;fill:none;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}

/* Eyebrow + section heads */
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:.8125rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--primary)}
.eyebrow::before{content:"";width:8px;height:8px;border-radius:2px;background:currentColor;transform:rotate(45deg)}
.on-dark .eyebrow{color:var(--accent)}
.sec-head{display:grid;grid-template-columns:1.1fr .9fr;gap:24px 64px;align-items:end;margin-bottom:clamp(40px,5vw,72px)}
.sec-head h2{font-size:var(--fs-h2);margin-top:18px}
.sec-head p{font-size:var(--fs-lead);color:var(--muted);max-width:52ch}
.sec-head--center{grid-template-columns:1fr;text-align:center;justify-items:center}
.sec-head--center p{margin-inline:auto}

/* Buttons */
.btn{--bg:var(--primary);--fg:#fff;--bd:var(--primary);position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 26px;border-radius:var(--r-pill);background:var(--bg);color:var(--fg);border:1.5px solid var(--bd);font-weight:600;font-size:.975rem;letter-spacing:-.01em;white-space:nowrap;transition:background .25s var(--ease),color .25s var(--ease),border-color .25s var(--ease),transform .2s var(--ease),box-shadow .25s var(--ease)}
.btn .ico{width:18px;height:18px;transition:transform .3s var(--ease)}
.btn:hover{--bg:var(--primary-600);--bd:var(--primary-600);box-shadow:0 10px 24px -10px var(--primary-glow,rgba(43,76,255,.6))}
.btn:hover .ico{transform:translateX(3px)}
.btn:active{transform:translateY(1px) scale(.99)}
.btn[disabled]{opacity:.45;pointer-events:none}
.btn--dark{--bg:var(--ink);--bd:var(--ink)}
.btn--dark:hover{--bg:#000;--bd:#000;box-shadow:0 10px 24px -10px rgba(11,16,32,.6)}
.btn--accent{--bg:var(--accent);--fg:var(--ink);--bd:var(--accent)}
.btn--accent:hover{--bg:var(--accent-200,#E4FF7A);--bd:var(--accent-200,#E4FF7A);box-shadow:0 10px 30px -10px rgba(212,255,63,.55)}
.btn--outline{--bg:transparent;--fg:var(--ink);--bd:var(--line)}
.btn--outline:hover{--bg:var(--ink);--fg:#fff;--bd:var(--ink);box-shadow:none}
.on-dark .btn--outline{--fg:#fff;--bd:rgba(255,255,255,.22)}
.on-dark .btn--outline:hover{--bg:#fff;--fg:var(--ink);--bd:#fff}
.btn--sm{min-height:42px;padding:0 18px;font-size:.9rem}
.btn--lg{min-height:60px;padding:0 32px;font-size:1.0625rem}
.link-arrow{display:inline-flex;align-items:center;gap:8px;font-weight:600;color:var(--ink);transition:gap .25s var(--ease),color .2s}
.link-arrow .ico{width:18px;height:18px}
.link-arrow:hover{gap:12px;color:var(--primary)}

/* Brand */
.brand{display:inline-flex;align-items:center;gap:10px;color:var(--ink);flex:none}
.brand svg{width:40px;height:40px}
.brand b{font-size:1.6rem;font-weight:700;letter-spacing:-.055em;line-height:1}
.on-dark .brand{color:#fff}

/* =========================================================
   Header (variant 2 — with top bar)
   ========================================================= */
.topbar{background:var(--ink);color:var(--muted-on-dark);font-size:.84rem}
.topbar .container{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:44px}
.topbar__list{display:flex;gap:28px;align-items:center}
.topbar__list li{display:flex;align-items:center;gap:8px}
.topbar__list .ico{width:16px;height:16px;color:var(--accent)}
.topbar a:hover{color:#fff}
.topbar__right{display:flex;align-items:center;gap:20px}
.social{display:flex;gap:6px}
.social a{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;transition:background .2s,color .2s}
.social a:hover{background:rgba(255,255,255,.1);color:#fff}
.social .ico{width:15px;height:15px}
.lang{position:relative}
.lang>button{display:flex;align-items:center;gap:6px;padding:6px 0;color:var(--muted-on-dark)}
.lang>button:hover{color:#fff}
.lang .ico{width:14px;height:14px}
.lang__menu{position:absolute;right:0;top:100%;min-width:150px;background:#fff;color:var(--text);border-radius:var(--r-sm);box-shadow:var(--sh-md);padding:6px;opacity:0;visibility:hidden;transform:translateY(6px);transition:.2s var(--ease);z-index:60}
.lang:hover .lang__menu,.lang:focus-within .lang__menu{opacity:1;visibility:visible;transform:none}
.lang__menu a{display:flex;justify-content:space-between;padding:8px 10px;border-radius:8px}
.lang__menu a:hover{background:var(--soft)}
.lang__menu a[aria-current]{color:var(--primary);font-weight:600}

.header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.86);backdrop-filter:saturate(180%) blur(16px);-webkit-backdrop-filter:saturate(180%) blur(16px);border-bottom:1px solid transparent;transition:border-color .3s,box-shadow .3s}
.header>.container{display:flex;align-items:center;gap:32px;height:88px;transition:height .35s var(--ease)}
.header.is-stuck{border-bottom-color:var(--line);box-shadow:0 8px 30px -18px rgba(11,16,32,.25)}
.header.is-stuck>.container{height:72px}
.nav{margin-inline:auto}
.nav__list{display:flex;gap:4px}
.nav__item{position:relative}
.nav__link{display:flex;align-items:center;gap:6px;height:44px;padding:0 14px;border-radius:var(--r-pill);font-weight:500;font-size:.96rem;color:var(--ink);transition:background .2s,color .2s}
.nav__link .ico{width:14px;height:14px;transition:transform .25s var(--ease)}
.nav__link:hover,.nav__item:focus-within>.nav__link{background:var(--soft)}
.nav__item:hover>.nav__link .ico,.nav__item:focus-within>.nav__link .ico{transform:rotate(180deg)}
.nav__link[aria-current="page"]{color:var(--primary)}
.nav__link[aria-current="page"]::after{content:"";position:absolute;left:50%;bottom:2px;width:5px;height:5px;border-radius:50%;background:var(--primary);transform:translateX(-50%)}

.dropdown{position:absolute;top:calc(100% + 10px);left:-8px;min-width:240px;padding:8px;background:#fff;border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--sh-lg);opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .25s var(--ease),transform .25s var(--ease),visibility .25s}
.dropdown::before{content:"";position:absolute;inset:-12px 0 auto;height:12px}
.nav__item:hover>.dropdown,.nav__item:focus-within>.dropdown{opacity:1;visibility:visible;transform:none}
.dropdown li{position:relative}
.dropdown a{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border-radius:10px;font-size:.94rem;color:var(--text);transition:background .2s,color .2s,padding .2s}
.dropdown a:hover{background:var(--soft);color:var(--ink);padding-left:16px}
.dropdown a .ico{width:14px;height:14px;transform:rotate(-90deg)}
.dropdown .dropdown{top:-9px;left:calc(100% + 8px)}
.dropdown .dropdown::before{inset:0 auto 0 -12px;width:12px;height:auto}
.dropdown li:hover>.dropdown,.dropdown li:focus-within>.dropdown{opacity:1;visibility:visible;transform:none}

.mega{position:fixed;left:50%;top:auto;width:min(1120px,calc(100vw - 48px));transform:translate(-50%,8px);margin-top:10px;display:grid;grid-template-columns:repeat(3,1fr) 300px;gap:8px;padding:12px;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-lg);opacity:0;visibility:hidden;transition:opacity .25s var(--ease),transform .25s var(--ease),visibility .25s}
.mega::before{content:"";position:absolute;inset:-22px 0 auto;height:22px}
.nav__item:hover>.mega,.nav__item:focus-within>.mega{opacity:1;visibility:visible;transform:translate(-50%,0)}
.mega__col{padding:12px}
.mega__title{font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:4px 12px 10px}
.mega__link{display:flex;gap:14px;padding:12px;border-radius:14px;transition:background .2s}
.mega__link:hover{background:var(--soft)}
.mega__ico{display:grid;place-items:center;width:42px;height:42px;flex:none;border-radius:12px;background:var(--primary-50);color:var(--primary);transition:background .2s,color .2s}
.mega__link:hover .mega__ico{background:var(--primary);color:#fff}
.mega__link strong{display:block;color:var(--ink);font-weight:600;font-size:.95rem;line-height:1.3}
.mega__link span{display:block;color:var(--muted);font-size:.85rem;line-height:1.45;margin-top:2px}
.mega__promo{position:relative;border-radius:18px;overflow:hidden;min-height:300px;color:#fff;display:flex;flex-direction:column;justify-content:flex-end;padding:22px;background:var(--ink-2)}
.mega__promo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.6}
.mega__promo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(11,16,32,.92))}
.mega__promo>*{position:relative;z-index:1}
.mega__promo small{color:var(--accent);font-weight:600;letter-spacing:.06em;text-transform:uppercase;font-size:.72rem}
.mega__promo strong{font-size:1.2rem;line-height:1.25;letter-spacing:-.02em;margin:8px 0 14px;font-weight:600}
.mega__promo a{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:.9rem}
.mega__promo a .ico{width:16px;height:16px}

.header__actions{margin-left:auto;display:flex;align-items:center;gap:6px}
.icon-btn{position:relative;display:grid;place-items:center;width:46px;height:46px;border-radius:50%;color:var(--ink);transition:background .2s}
.icon-btn:hover{background:var(--soft)}
.icon-btn .badge{position:absolute;top:6px;right:5px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--primary);color:#fff;font-size:.68rem;font-weight:700;display:grid;place-items:center;border:2px solid #fff}
.header__cta{margin-left:10px}
.burger{display:none}

/* Mini cart */
.cart{position:relative}
.minicart{position:absolute;right:-8px;top:calc(100% + 14px);width:360px;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-lg);padding:20px;opacity:0;visibility:hidden;transform:translateY(8px);transition:.25s var(--ease)}
.minicart::before{content:"";position:absolute;inset:-16px 0 auto;height:16px}
.cart:hover .minicart,.cart:focus-within .minicart{opacity:1;visibility:visible;transform:none}
.minicart__head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:12px}
.minicart__head strong{color:var(--ink);font-size:1.05rem}
.minicart__head span{color:var(--muted);font-size:.85rem}
.minicart__item{display:grid;grid-template-columns:64px 1fr auto;gap:14px;align-items:center;padding:12px 0;border-top:1px solid var(--line)}
.minicart__thumb{width:64px;height:64px;border-radius:12px;background:var(--soft);display:grid;place-items:center;color:var(--primary)}
.minicart__thumb .ico{width:26px;height:26px}
.minicart__item strong{display:block;color:var(--ink);font-size:.92rem;font-weight:600;line-height:1.3}
.minicart__item span{color:var(--muted);font-size:.84rem}
.minicart__item button{color:var(--muted);width:30px;height:30px;border-radius:50%;display:grid;place-items:center}
.minicart__item button:hover{background:var(--soft);color:var(--danger)}
.minicart__item button .ico{width:15px;height:15px}
.minicart__total{display:flex;justify-content:space-between;padding:14px 0;border-top:1px solid var(--line);font-weight:600;color:var(--ink)}
.minicart__btns{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.minicart__btns .btn{min-height:46px;padding:0 14px}

/* Search panel */
.search-panel{position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 30px 60px -30px rgba(11,16,32,.3);padding:28px 0 32px;opacity:0;visibility:hidden;transform:translateY(-8px);transition:.3s var(--ease)}
.search-panel.is-open{opacity:1;visibility:visible;transform:none}
.search-form{position:relative;display:flex;align-items:center;gap:12px;border:1.5px solid var(--line);border-radius:var(--r-pill);padding:6px 6px 6px 22px;background:#fff;transition:border-color .2s,box-shadow .2s}
.search-form:focus-within{border-color:var(--primary);box-shadow:0 0 0 5px var(--primary-50)}
.search-form .ico{color:var(--muted)}
.search-form input{flex:1;min-width:0;border:0;outline:0;background:transparent;font-size:1.05rem;height:48px}
.search-panel__tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px;align-items:center;color:var(--muted);font-size:.9rem}
.chip{display:inline-flex;align-items:center;height:34px;padding:0 14px;border-radius:var(--r-pill);background:var(--soft);color:var(--ink);font-size:.86rem;font-weight:500;transition:background .2s,color .2s}
.chip:hover{background:var(--ink);color:#fff}

/* Mobile menu (off-canvas) */
.mmenu{position:fixed;inset:0;z-index:100;visibility:hidden}
.mmenu__overlay{position:absolute;inset:0;background:rgba(11,16,32,.5);opacity:0;transition:opacity .35s var(--ease)}
.mmenu__panel{position:absolute;inset:0 0 0 auto;width:min(440px,100%);background:#fff;display:flex;flex-direction:column;transform:translateX(100%);transition:transform .45s var(--ease)}
.mmenu.is-open{visibility:visible}
.mmenu.is-open .mmenu__overlay{opacity:1}
.mmenu.is-open .mmenu__panel{transform:none}
.mmenu__top{display:flex;align-items:center;justify-content:space-between;padding:16px var(--gutter);border-bottom:1px solid var(--line);height:72px}
.mmenu__body{flex:1;overflow-y:auto;padding:16px var(--gutter) 32px}
.mmenu__body .search-form{margin-bottom:12px}
.mmenu__body .search-form input{height:42px;font-size:1rem}
.mnav>li{border-bottom:1px solid var(--line)}
.mnav a,.mnav button{display:flex;width:100%;align-items:center;justify-content:space-between;padding:16px 0;font-size:1.15rem;font-weight:500;color:var(--ink);text-align:left;letter-spacing:-.01em}
.mnav button .ico{transition:transform .3s var(--ease)}
.mnav button[aria-expanded="true"] .ico{transform:rotate(45deg)}
.mnav button[aria-expanded="true"]{color:var(--primary)}
.mnav__sub{display:grid;grid-template-rows:0fr;transition:grid-template-rows .35s var(--ease)}
.mnav__sub>ul{overflow:hidden}
.mnav button[aria-expanded="true"]+.mnav__sub{grid-template-rows:1fr}
.mnav__sub a{padding:10px 0 10px 16px;font-size:1rem;color:var(--muted);border-left:2px solid var(--line)}
.mnav__sub li:last-child a{margin-bottom:14px}
.mnav__sub a:hover{color:var(--ink);border-left-color:var(--primary)}
.mmenu__foot{display:grid;gap:18px;margin-top:28px}
.mmenu__foot .btn{width:100%}
.mmenu__contact{display:grid;gap:10px;color:var(--muted);font-size:.95rem}
.mmenu__contact a{display:flex;align-items:center;gap:10px;color:var(--ink);font-weight:500}
.mmenu__contact .ico{color:var(--primary)}
.mmenu .social a{width:42px;height:42px;background:var(--soft);color:var(--ink)}
.mmenu .social a:hover{background:var(--ink);color:#fff}

/* =========================================================
   1. Hero
   ========================================================= */
.hero{position:relative;padding:clamp(48px,6vw,88px) 0 clamp(64px,7vw,110px);overflow:hidden;isolation:isolate}
.hero::before{content:"";position:absolute;inset:0;z-index:-2;background:
  radial-gradient(900px 500px at 85% 10%,rgba(43,76,255,.13),transparent 60%),
  radial-gradient(700px 420px at 0% 100%,rgba(212,255,63,.22),transparent 60%)}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:64px 64px;mask-image:radial-gradient(ellipse 70% 60% at 50% 30%,#000 10%,transparent 75%);-webkit-mask-image:radial-gradient(ellipse 70% 60% at 50% 30%,#000 10%,transparent 75%);opacity:.6}
.hero__grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(40px,5vw,80px);align-items:center}
.pill-note{display:inline-flex;align-items:center;gap:10px;padding:6px 16px 6px 6px;border-radius:var(--r-pill);background:#fff;border:1px solid var(--line);box-shadow:var(--sh-sm);font-size:.88rem;color:var(--text);max-width:100%}
.pill-note b{background:var(--ink);color:var(--accent);border-radius:var(--r-pill);padding:4px 10px;font-size:.75rem;letter-spacing:.04em;font-weight:600;flex:none}
.pill-note span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hero h1{font-size:var(--fs-display);font-weight:600;letter-spacing:-.05em;line-height:.98;margin:28px 0 26px}
.hero h1 .serif{color:var(--primary);letter-spacing:-.02em;font-size:1.08em;line-height:.9}
.hero__lead{font-size:var(--fs-lead);color:var(--muted);max-width:50ch}
.hero__cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:36px}
.play{display:inline-flex;align-items:center;gap:14px;font-weight:600;color:var(--ink);padding-right:8px}
.play i{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;border:1.5px solid var(--line);background:#fff;transition:.25s var(--ease)}
.play i .ico{width:16px;height:16px;fill:currentColor;stroke:none;margin-left:2px}
.play:hover i{background:var(--ink);color:#fff;border-color:var(--ink);transform:scale(1.06)}
.hero__trust{display:flex;align-items:center;gap:18px;margin-top:48px;padding-top:28px;border-top:1px solid var(--line);flex-wrap:wrap}
.avatars{display:flex}
.avatars span{width:44px;height:44px;border-radius:50%;border:3px solid #fff;margin-left:-12px;background:var(--soft-2) center/cover;box-shadow:var(--sh-sm)}
.avatars span:first-child{margin-left:0}
.avatars span:last-child{display:grid;place-items:center;background:var(--ink);color:var(--accent);font-size:.75rem;font-weight:700}
.hero__trust p{font-size:.92rem;color:var(--muted);line-height:1.45}
.stars{display:flex;gap:2px;color:#F5A524;margin-bottom:2px}
.stars .ico{width:15px;height:15px;fill:currentColor;stroke:none}
.hero__trust strong{color:var(--ink)}

.hero__visual{position:relative;aspect-ratio:1/1.06;max-width:600px;justify-self:end;width:100%}
.hero__img{position:absolute;inset:0 0 0 12%;border-radius:var(--r-xl);overflow:hidden;background:var(--ink-2);box-shadow:var(--sh-lg)}
.hero__img img{width:100%;height:100%;object-fit:cover}
.hero__img::after{content:"";position:absolute;inset:0;background:linear-gradient(200deg,transparent 50%,rgba(11,16,32,.55))}
.hero__arc{position:absolute;right:-60px;top:-60px;width:220px;height:220px;border-radius:50%;border:44px solid var(--accent);z-index:-1;opacity:.9}
.float-card{position:absolute;background:#fff;border-radius:20px;box-shadow:var(--sh-lg);padding:18px 20px;z-index:2}
.float-card--chart{left:0;bottom:12%;width:min(270px,56%)}
.float-card--chart small{display:block;color:var(--muted);font-size:.8rem;font-weight:500}
.float-card--chart .val{display:flex;align-items:baseline;gap:10px;margin:2px 0 12px}
.float-card--chart .val b{font-size:1.9rem;color:var(--ink);letter-spacing:-.04em;font-weight:600}
.float-card--chart .val em{font-style:normal;color:var(--success);font-weight:600;font-size:.85rem;background:#E7F7EE;padding:2px 8px;border-radius:var(--r-pill)}
.bars{display:flex;align-items:flex-end;gap:7px;height:64px}
.bars i{flex:1;border-radius:6px 6px 3px 3px;background:var(--soft-2);height:var(--h);transform-origin:bottom;animation:grow 1.2s var(--ease) both;animation-delay:var(--d)}
.bars i:last-child{background:var(--primary)}
.bars i:nth-last-child(2){background:#A9B7FF}
@keyframes grow{from{transform:scaleY(.1)}}
.float-card--badge{right:-4%;top:9%;display:flex;align-items:center;gap:14px;background:var(--ink);color:#fff}
.float-card--badge .ring{width:52px;height:52px;border-radius:50%;background:conic-gradient(var(--accent) 0 92%,rgba(255,255,255,.12) 0);display:grid;place-items:center}
.float-card--badge .ring::after{content:"92%";display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--ink);font-size:.72rem;font-weight:700}
.float-card--badge b{display:block;font-size:.95rem;font-weight:600;line-height:1.2}
.float-card--badge span{font-size:.8rem;color:var(--muted-on-dark)}
.float-card--tag{right:8%;bottom:-3%;display:flex;align-items:center;gap:10px;padding:12px 18px 12px 12px;border-radius:var(--r-pill)}
.float-card--tag i{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--primary);color:#fff}
.float-card--tag i .ico{width:16px;height:16px}
.float-card--tag b{color:var(--ink);font-size:.9rem;font-weight:600}
.floaty{animation:floaty 7s ease-in-out infinite}
.floaty--2{animation-delay:-3.5s}
@keyframes floaty{50%{transform:translateY(-10px)}}

/* =========================================================
   2. Client logos marquee
   ========================================================= */
.clients{padding:36px 0 8px}
.clients__label{text-align:center;color:var(--muted);font-size:.92rem;margin-bottom:28px}
.clients__label b{color:var(--ink)}
.marquee{position:relative;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
.marquee__track{display:flex;gap:72px;width:max-content;animation:marquee 38s linear infinite}
.marquee:hover .marquee__track{animation-play-state:paused}
@keyframes marquee{to{transform:translateX(calc(-50% - 36px))}}
.logo-item{display:flex;align-items:center;gap:10px;color:#6B7186;font-weight:600;font-size:1.35rem;letter-spacing:-.04em;white-space:nowrap;transition:color .25s}
.logo-item:hover{color:var(--ink)}
.logo-item svg{width:30px;height:30px}
.logo-item.serif{font-size:1.6rem}

/* =========================================================
   3. About
   ========================================================= */
.about__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,96px);align-items:center}
.about__media{position:relative;display:grid;grid-template-columns:1.25fr 1fr;grid-template-rows:auto auto;gap:16px}
.about__media figure{margin:0;border-radius:var(--r-lg);overflow:hidden;background:var(--soft-2)}
.about__media figure img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.about__media figure:hover img{transform:scale(1.04)}
.about__media .m1{grid-row:1/3;aspect-ratio:3/4.4}
.about__media .m2{aspect-ratio:1/1}
.exp{border-radius:var(--r-lg);background:var(--primary);color:#fff;padding:24px;display:flex;flex-direction:column;justify-content:space-between;aspect-ratio:1/1;position:relative;overflow:hidden}
.exp::after{content:"";position:absolute;right:-40px;bottom:-40px;width:140px;height:140px;border-radius:50%;border:26px solid rgba(255,255,255,.12)}
.exp b{font-size:clamp(2.6rem,2rem + 2vw,4rem);font-weight:600;letter-spacing:-.06em;line-height:1}
.exp b sup{font-size:.45em;color:var(--accent);vertical-align:top;margin-left:2px}
.exp span{font-size:.95rem;line-height:1.35;max-width:14ch;position:relative;z-index:1}
.about__content h2{font-size:var(--fs-h2);margin:18px 0 24px}
.about__content>p{color:var(--muted);font-size:var(--fs-lead)}
.feature-list{display:grid;gap:4px;margin:32px 0}
.feature-list li{display:grid;grid-template-columns:auto 1fr;gap:18px;padding:18px 0;border-top:1px solid var(--line)}
.feature-list li:last-child{border-bottom:1px solid var(--line)}
.feature-list i{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:var(--primary-50);color:var(--primary)}
.feature-list strong{display:block;color:var(--ink);font-size:1.05rem;font-weight:600;letter-spacing:-.01em}
.feature-list span{color:var(--muted);font-size:.95rem}
.signature{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.signature__person{display:flex;align-items:center;gap:14px}
.signature__person img{width:52px;height:52px;border-radius:50%;object-fit:cover;background:var(--soft-2)}
.signature__person b{display:block;color:var(--ink);font-weight:600;line-height:1.3}
.signature__person span{color:var(--muted);font-size:.88rem}
.signature .serif{font-size:2rem;color:var(--ink);opacity:.85;line-height:1}

/* =========================================================
   4. Services — bento
   ========================================================= */
.services{background:var(--soft)}
.bento{display:grid;grid-template-columns:repeat(12,1fr);gap:20px}
.svc{position:relative;grid-column:span 4;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:32px;display:flex;flex-direction:column;min-height:300px;overflow:hidden;transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s}
.svc:hover{transform:translateY(-6px);box-shadow:var(--sh-md);border-color:transparent}
.svc__ico{display:grid;place-items:center;width:56px;height:56px;border-radius:16px;background:var(--primary-50);color:var(--primary);margin-bottom:auto;transition:background .3s,color .3s,transform .4s var(--ease)}
.svc__ico .ico{width:26px;height:26px}
.svc:hover .svc__ico{background:var(--primary);color:#fff;transform:rotate(-8deg)}
.svc__num{position:absolute;top:30px;right:32px;font-size:.85rem;color:var(--muted);font-weight:500;font-variant-numeric:tabular-nums}
.svc h3{font-size:var(--fs-h3);margin:40px 0 10px;letter-spacing:-.025em}
.svc p{color:var(--muted);font-size:.97rem}
.svc .link-arrow{margin-top:22px}
.svc--wide{grid-column:span 8;background:var(--ink);border-color:var(--ink);color:var(--muted-on-dark);display:grid;grid-template-columns:1fr 1fr;gap:32px}
.svc--wide h3{color:#fff;font-size:clamp(1.6rem,1.2rem+1.2vw,2.25rem)}
.svc--wide .svc__ico{background:rgba(212,255,63,.12);color:var(--accent)}
.svc--wide:hover .svc__ico{background:var(--accent);color:var(--ink)}
.svc--wide p{color:var(--muted-on-dark)}
.svc--wide .link-arrow{color:#fff}
.svc--wide .link-arrow:hover{color:var(--accent)}
.svc__left{display:flex;flex-direction:column}
.svc__chart{position:relative;border-radius:var(--r-md);background:var(--ink-2);border:1px solid var(--ink-3);padding:22px;display:flex;flex-direction:column;justify-content:space-between;min-height:240px}
.svc__chart header{display:flex;justify-content:space-between;align-items:center;color:#fff;font-size:.9rem;font-weight:500}
.svc__chart header span{color:var(--accent);font-size:.82rem;background:rgba(212,255,63,.1);padding:3px 10px;border-radius:var(--r-pill)}
.svc__chart svg{width:100%;height:auto;margin-top:16px}
.svc__chart .legend{display:flex;gap:18px;font-size:.8rem;margin-top:12px}
.svc__chart .legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:-1px}
.svc--cta{grid-column:span 8;background:var(--primary);border-color:var(--primary);color:#fff;justify-content:space-between}
.svc--cta::after{content:"";position:absolute;right:-60px;bottom:-90px;width:300px;height:300px;border-radius:50%;border:48px solid rgba(255,255,255,.1);box-shadow:0 0 0 48px rgba(255,255,255,.05)}
.svc--cta>*{position:relative;z-index:1}
.svc--cta p{max-width:40ch}
.svc--cta h3{color:#fff;margin-top:0;font-size:clamp(1.5rem,1.2rem + 1vw,2rem)}
.svc--cta p{color:rgba(255,255,255,.92)}
.svc--cta .btn{align-self:flex-start;margin-top:24px}

/* =========================================================
   5. Stats
   ========================================================= */
.stats{background:var(--ink);color:var(--muted-on-dark);position:relative;overflow:hidden}
.stats::before{content:"";position:absolute;width:700px;height:700px;left:-200px;top:-300px;border-radius:50%;background:radial-gradient(closest-side,rgba(43,76,255,.35),transparent)}
.stats .container{position:relative}
.stats__top{display:flex;justify-content:space-between;align-items:end;gap:32px;flex-wrap:wrap;margin-bottom:64px}
.stats__top h2{color:#fff;font-size:var(--fs-h2);max-width:17ch;margin-top:18px}
.stats__top h2 .serif{color:var(--accent)}
.stats__grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--ink-3)}
.stat{padding:36px 28px 8px 0;border-right:1px solid var(--ink-3)}
.stat+.stat{padding-left:28px}
.stat:last-child{border-right:0}
.stat b{display:flex;align-items:baseline;color:#fff;font-size:clamp(2.75rem,2rem + 2.4vw,4.5rem);font-weight:500;letter-spacing:-.06em;line-height:1;font-variant-numeric:tabular-nums}
.stat b sup{color:var(--accent);font-size:.5em;margin-left:4px;letter-spacing:0}
.stat strong{display:block;color:#fff;font-weight:600;margin:18px 0 6px}
.stat p{font-size:.93rem;max-width:26ch}

/* =========================================================
   6. Process
   ========================================================= */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;counter-reset:step;position:relative}
.step{position:relative;padding:32px 28px;border-radius:var(--r-lg);background:#fff;border:1px solid var(--line);transition:background .35s var(--ease),border-color .35s,transform .35s var(--ease)}
.step::before{counter-increment:step;content:"0" counter(step);display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:var(--soft);color:var(--ink);font-weight:600;font-size:.95rem;margin-bottom:56px;transition:.35s var(--ease)}
.step::after{content:"";position:absolute;top:58px;left:92px;right:-10px;height:1.5px;background:repeating-linear-gradient(90deg,var(--line) 0 6px,transparent 6px 12px)}
.step:last-child::after{display:none}
.step:hover{background:var(--primary);border-color:var(--primary);transform:translateY(-6px)}
.step:hover::before{background:var(--accent);color:var(--ink)}
.step:hover h3,.step:hover p,.step:hover .step__time{color:#fff}
.step h3{font-size:1.3rem;margin-bottom:10px;transition:color .35s}
.step p{color:var(--muted);font-size:.95rem;transition:color .35s}
.step__time{display:inline-flex;align-items:center;gap:6px;margin-top:22px;font-size:.84rem;font-weight:600;color:var(--primary);transition:color .35s}
.step__time .ico{width:15px;height:15px}

/* =========================================================
   7. Projects
   ========================================================= */
.projects{background:var(--soft)}
.filters{display:flex;flex-wrap:wrap;gap:8px}
.filters button{height:44px;padding:0 20px;border-radius:var(--r-pill);border:1.5px solid var(--line);background:#fff;font-weight:500;font-size:.93rem;color:var(--ink);transition:.2s var(--ease)}
.filters button:hover{border-color:var(--ink)}
.filters button[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:#fff}
.proj-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:20px}
.proj{grid-column:span 4;position:relative;display:flex;flex-direction:column;border-radius:var(--r-lg);overflow:hidden;background:#fff;border:1px solid var(--line);transition:transform .35s var(--ease),box-shadow .35s,opacity .35s}
.proj--lg{grid-column:span 6}
.proj.is-hidden{display:none}
.proj:hover{transform:translateY(-6px);box-shadow:var(--sh-md)}
.proj__img{position:relative;aspect-ratio:16/11;overflow:hidden;background:var(--soft-2)}
.proj--lg .proj__img{aspect-ratio:16/10}
.proj__img img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease)}
.proj:hover .proj__img img{transform:scale(1.06)}
.proj__tag{position:absolute;left:16px;top:16px;background:rgba(255,255,255,.92);backdrop-filter:blur(6px);padding:6px 12px;border-radius:var(--r-pill);font-size:.78rem;font-weight:600;color:var(--ink)}
.proj__go{position:absolute;right:16px;bottom:16px;display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:var(--accent);color:var(--ink);transform:scale(.6) rotate(-45deg);opacity:0;transition:.4s var(--ease)}
.proj:hover .proj__go{transform:scale(1) rotate(-45deg);opacity:1}
.proj__body{padding:24px 26px 26px;display:flex;flex-direction:column;gap:14px;flex:1}
.proj__body h3{font-size:1.3rem;letter-spacing:-.025em;line-height:1.2}
.proj__body h3 a::after{content:"";position:absolute;inset:0}
.proj__meta{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:auto;padding-top:16px;border-top:1px solid var(--line);font-size:.88rem;color:var(--muted)}
.proj__meta b{color:#0B7A3B;font-weight:600}
.center-cta{display:flex;justify-content:center;margin-top:48px}

/* =========================================================
   8. Testimonials
   ========================================================= */
.testi__wrap{display:grid;grid-template-columns:360px 1fr;gap:clamp(32px,5vw,80px);align-items:stretch}
.testi__score{border-radius:var(--r-xl);background:var(--ink);color:var(--muted-on-dark);padding:36px;display:flex;flex-direction:column;justify-content:space-between;gap:32px;position:relative;overflow:hidden}
.testi__score::after{content:"";position:absolute;right:-70px;top:-70px;width:200px;height:200px;border-radius:50%;border:36px solid rgba(212,255,63,.12)}
.testi__score b{display:block;color:#fff;font-size:5rem;font-weight:500;letter-spacing:-.06em;line-height:1}
.testi__score .stars .ico{width:20px;height:20px}
.testi__score p{font-size:.95rem}
.rating-rows{display:grid;gap:12px}
.rating-rows div{display:grid;grid-template-columns:80px 1fr 40px;align-items:center;gap:12px;font-size:.88rem}
.rating-rows span:nth-child(2){height:6px;border-radius:3px;background:var(--ink-3);overflow:hidden}
.rating-rows span:nth-child(2) i{display:block;height:100%;background:var(--accent);width:var(--w)}
.rating-rows span:last-child{text-align:right;color:#fff}
.slider{position:relative;display:flex;flex-direction:column;min-width:0}
.slider__viewport{overflow:hidden;border-radius:var(--r-xl);flex:1}
.slider__track{display:flex;transition:transform .7s var(--ease);height:100%}
.quote{flex:0 0 100%;padding:clamp(32px,4vw,56px);background:var(--soft);border-radius:var(--r-xl);display:flex;flex-direction:column}
.quote__mark{width:56px;height:56px;color:var(--primary)}
.quote blockquote{margin:28px 0 36px;font-size:clamp(1.35rem,1rem + 1.3vw,2rem);line-height:1.35;color:var(--ink);letter-spacing:-.025em;font-weight:500}
.quote blockquote .serif{color:var(--primary);font-size:1.1em}
.quote footer{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:auto;flex-wrap:wrap}
.person{display:flex;align-items:center;gap:14px}
.person img{width:56px;height:56px;border-radius:50%;object-fit:cover;background:var(--soft-2)}
.person b{display:block;color:var(--ink);font-weight:600}
.person span{color:var(--muted);font-size:.9rem}
.quote__co{font-weight:700;color:var(--ink);opacity:.5;font-size:1.25rem;letter-spacing:-.04em}
.slider__nav{display:flex;align-items:center;justify-content:space-between;margin-top:24px}
.dots{display:flex;gap:0}
.dots button{box-sizing:content-box;width:10px;height:10px;border:7px solid transparent;background-clip:content-box;border-radius:12px;background:var(--line);transition:width .35s var(--ease),background .35s}
.dots button[aria-current="true"]{width:32px;background:var(--ink)}
.arrows{display:flex;gap:10px}
.arrows button{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;border:1.5px solid var(--line);color:var(--ink);transition:.2s var(--ease)}
.arrows button:hover{background:var(--ink);border-color:var(--ink);color:#fff}
.arrows button:first-child .ico{transform:rotate(180deg)}

/* =========================================================
   9. Pricing
   ========================================================= */
.pricing{background:var(--soft)}
.toggle{display:inline-flex;align-items:center;gap:4px;padding:5px;background:#fff;border:1px solid var(--line);border-radius:var(--r-pill);margin-top:28px}
.toggle button{height:42px;padding:0 20px;border-radius:var(--r-pill);font-weight:500;font-size:.93rem;color:var(--muted);display:flex;align-items:center;gap:8px;transition:.25s var(--ease)}
.toggle button[aria-pressed="true"]{background:var(--ink);color:#fff}
.toggle em{font-style:normal;background:var(--accent);color:var(--ink);font-size:.72rem;font-weight:700;padding:3px 8px;border-radius:var(--r-pill)}
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:stretch}
.plan{background:#fff;border:1px solid var(--line);border-radius:var(--r-xl);padding:36px;display:flex;flex-direction:column;position:relative;transition:transform .35s var(--ease),box-shadow .35s}
.plan:hover{transform:translateY(-6px);box-shadow:var(--sh-md)}
.plan__name{display:flex;justify-content:space-between;align-items:center}
.plan__name h3{font-size:1.25rem;letter-spacing:-.02em}
.plan__badge{background:var(--accent);color:var(--ink);font-size:.75rem;font-weight:700;padding:5px 12px;border-radius:var(--r-pill)}
.plan>p{color:var(--muted);font-size:.95rem;margin:10px 0 28px}
.price{display:flex;align-items:baseline;gap:6px;padding-bottom:28px;border-bottom:1px solid var(--line)}
.price b{font-size:3.5rem;font-weight:500;letter-spacing:-.06em;color:var(--ink);line-height:1;font-variant-numeric:tabular-nums}
.price small{font-size:1.5rem;color:var(--ink);font-weight:500;align-self:flex-start;margin-top:6px}
.price span{color:var(--muted);font-size:.95rem}
.plan ul{display:grid;gap:14px;margin:28px 0 36px}
.plan li{display:flex;gap:12px;font-size:.96rem;align-items:flex-start}
.plan li .ico{width:20px;height:20px;color:var(--primary);margin-top:2px}
.plan li.off{color:#6E7487}
.plan li.off .ico{color:#C2C6D3}
.plan--featured li.off{color:#8E95AB}
.plan .btn{margin-top:auto;width:100%}
.plan--featured{background:var(--ink);border-color:var(--ink);color:var(--muted-on-dark)}
.plan--featured h3,.plan--featured .price b,.plan--featured .price small{color:#fff}
.plan--featured>p,.plan--featured .price span{color:var(--muted-on-dark)}
.plan--featured .price{border-color:var(--ink-3)}
.plan--featured li .ico{color:var(--accent)}
.plan--featured li{color:#E3E6F0}
.pricing__note{text-align:center;color:var(--muted);margin-top:32px;font-size:.95rem}
.pricing__note a{color:var(--primary);font-weight:600;text-decoration:underline;text-underline-offset:3px}

/* =========================================================
   10. FAQ
   ========================================================= */
.faq__grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(40px,6vw,96px);align-items:start}
.faq__aside{position:sticky;top:120px}
.faq__aside h2{font-size:var(--fs-h2);margin:18px 0 20px}
.faq__aside>p{color:var(--muted);font-size:var(--fs-lead)}
.help-card{margin-top:36px;padding:28px;border-radius:var(--r-lg);background:var(--soft);display:grid;gap:16px}
.help-card .avatars span{width:48px;height:48px}
.help-card strong{color:var(--ink);font-size:1.1rem;font-weight:600;letter-spacing:-.01em}
.help-card p{color:var(--muted);font-size:.95rem;margin-top:-8px}
.help-card .btn{justify-self:start}
.acc{border-top:1px solid var(--line)}
.acc details{border-bottom:1px solid var(--line)}
.acc summary{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:28px 0;cursor:pointer;list-style:none;font-size:clamp(1.05rem,1rem + .35vw,1.25rem);font-weight:600;color:var(--ink);letter-spacing:-.02em}
.acc summary::-webkit-details-marker{display:none}
.acc summary i{display:grid;place-items:center;width:40px;height:40px;flex:none;border-radius:50%;border:1.5px solid var(--line);transition:.3s var(--ease)}
.acc summary:hover i{border-color:var(--ink)}
.acc details[open] summary i{background:var(--primary);border-color:var(--primary);color:#fff;transform:rotate(45deg)}
.acc__body{color:var(--muted);padding:0 64px 28px 0;font-size:1rem;max-width:68ch}
.acc details[open] .acc__body{animation:fadeDown .4s var(--ease)}
@keyframes fadeDown{from{opacity:0;transform:translateY(-6px)}}

/* =========================================================
   11. Blog
   ========================================================= */
.posts{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.post{position:relative;display:flex;flex-direction:column;gap:18px}
.post__img{position:relative;aspect-ratio:4/3;border-radius:var(--r-lg);overflow:hidden;background:var(--soft-2)}
.post__img img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease)}
.post:hover .post__img img{transform:scale(1.05)}
.post__date{position:absolute;left:16px;bottom:16px;background:#fff;border-radius:14px;padding:8px 12px;text-align:center;line-height:1.1;box-shadow:var(--sh-sm)}
.post__date b{display:block;color:var(--ink);font-size:1.35rem;font-weight:600;letter-spacing:-.03em}
.post__date span{font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.post__meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;font-size:.86rem;color:var(--muted)}
.post__cat{color:var(--primary);font-weight:600;position:relative;z-index:1}
.post__meta i{width:4px;height:4px;border-radius:50%;background:#C2C6D3}
.post h3{font-size:1.4rem;line-height:1.25;letter-spacing:-.025em}
.post h3 a{background:linear-gradient(currentColor,currentColor) 0 100%/0 1.5px no-repeat;transition:background-size .4s var(--ease)}
.post:hover h3 a{background-size:100% 1.5px}
.post h3 a::after{content:"";position:absolute;inset:0}
.post p{color:var(--muted);font-size:.97rem}

/* =========================================================
   12. CTA + form
   ========================================================= */
.cta-wrap{padding-bottom:var(--section)}
.cta{position:relative;border-radius:clamp(24px,3vw,40px);background:var(--ink);color:var(--muted-on-dark);padding:clamp(32px,5vw,72px);display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,5vw,80px);overflow:hidden;isolation:isolate}
.cta::before{content:"";position:absolute;inset:auto -10% -60% auto;width:620px;height:620px;border-radius:50%;background:radial-gradient(closest-side,rgba(43,76,255,.55),transparent);z-index:-1}
.cta::after{content:"";position:absolute;inset:0;z-index:-1;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:56px 56px;mask-image:linear-gradient(120deg,#000,transparent 60%);-webkit-mask-image:linear-gradient(120deg,#000,transparent 60%)}
.cta h2{color:#fff;font-size:var(--fs-h2);margin:18px 0 22px}
.cta h2 .serif{color:var(--accent)}
.cta__lead{font-size:var(--fs-lead);max-width:44ch}
.cta__contacts{display:grid;gap:14px;margin-top:40px}
.cta__contacts a{display:flex;align-items:center;gap:16px;color:#fff;font-weight:500;font-size:1.05rem;width:max-content;max-width:100%}
.cta__contacts a i{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:rgba(255,255,255,.07);border:1px solid var(--ink-3);color:var(--accent);transition:.25s}
.cta__contacts a:hover i{background:var(--accent);color:var(--ink)}
.cta__contacts small{display:block;color:var(--muted-on-dark);font-size:.82rem;font-weight:400}
.form{background:#fff;border-radius:var(--r-lg);padding:clamp(24px,3vw,40px);color:var(--text);display:grid;grid-template-columns:1fr 1fr;gap:18px 16px;align-content:start}
.form h3{grid-column:1/-1;font-size:1.5rem;letter-spacing:-.025em}
.form>p{grid-column:1/-1;color:var(--muted);font-size:.95rem;margin-top:-10px}
.field{display:grid;gap:8px}
.field--full{grid-column:1/-1}
.field label{font-size:.88rem;font-weight:600;color:var(--ink)}
.field label:not(.radio):not(.check):not(.switch):not(.file)>span:not([class]){color:var(--danger)}
.input{width:100%;height:52px;padding:0 16px;border:1.5px solid var(--line);border-radius:12px;background:var(--soft);transition:border-color .2s,background .2s,box-shadow .2s;outline:0;font-size:1rem}
.input::placeholder{color:#8E94A6}
.input:hover{border-color:#C9CEDB}
.input:focus{border-color:var(--primary);background:#fff;box-shadow:0 0 0 4px var(--primary-50)}
textarea.input{height:120px;padding:14px 16px;resize:vertical}
select.input{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%230B1020' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' viewBox='0 0 24 24'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;padding-right:44px}
.input[aria-invalid="true"]{border-color:var(--danger);background:#FFF5F4}
.field__err{font-size:.82rem;color:var(--danger);display:none}
.input[aria-invalid="true"]+.field__err{display:block}
.check{grid-column:1/-1;display:flex;gap:12px;align-items:flex-start;font-size:.9rem;color:var(--muted);cursor:pointer}
.check input{appearance:none;width:22px;height:22px;flex:none;border:1.5px solid #C9CEDB;border-radius:6px;margin:1px 0 0;display:grid;place-items:center;transition:.2s;cursor:pointer}
.check input:checked{background:var(--primary);border-color:var(--primary)}
.check input:checked::after{content:"";width:6px;height:11px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg) translate(-1px,-1px)}
.check a{color:var(--ink);text-decoration:underline;text-underline-offset:2px}
.form .btn{grid-column:1/-1;width:100%}
.btn .spinner{width:18px;height:18px;border-radius:50%;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;animation:spin .7s linear infinite;display:none}
.btn.is-loading .spinner{display:block}
.btn.is-loading .ico{display:none}
@keyframes spin{to{transform:rotate(360deg)}}
.form__success{grid-column:1/-1;display:none;align-items:center;gap:14px;padding:16px;border-radius:12px;background:#E7F7EE;color:#0B6B35;font-weight:500;font-size:.95rem}
.form__success .ico{width:24px;height:24px}
.form.is-sent .form__success{display:flex}

/* =========================================================
   Footer (variant 1 — wide)
   ========================================================= */
.footer{background:var(--ink);color:var(--muted-on-dark);padding-top:clamp(64px,7vw,100px);position:relative;overflow:hidden}
.footer__news{display:grid;grid-template-columns:1fr auto;gap:32px;align-items:center;padding-bottom:56px;border-bottom:1px solid var(--ink-3)}
.footer__news h2{color:#fff;font-size:clamp(1.75rem,1.3rem + 1.6vw,2.75rem);max-width:18ch}
.footer__news h2 .serif{color:var(--accent)}
.news-form{display:flex;gap:8px;background:rgba(255,255,255,.06);border:1px solid var(--ink-3);border-radius:var(--r-pill);padding:6px;width:min(480px,100%);transition:border-color .2s}
.news-form:focus-within{border-color:var(--accent)}
.news-form input{flex:1;min-width:0;background:transparent;border:0;outline:0;color:#fff;padding:0 18px;font-size:1rem}
.news-form input::placeholder{color:#8990A6}
.footer__news small{display:block;margin-top:12px;font-size:.84rem;padding-left:20px}
.footer__cols{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.3fr;gap:48px;padding:64px 0}
.footer__about p{margin:22px 0 26px;max-width:34ch;font-size:.97rem}
.footer .social{gap:8px}
.footer .social a{width:44px;height:44px;border:1px solid var(--ink-3);color:#fff}
.footer .social a:hover{background:var(--accent);color:var(--ink);border-color:var(--accent)}
.footer .social .ico{width:17px;height:17px}
.footer h4,.footer .footer__title{color:#fff;font-size:1rem;font-weight:600;letter-spacing:-.01em;margin-bottom:22px}
.footer__links{display:grid;gap:12px;font-size:.97rem}
.footer__links a{position:relative;transition:color .2s,padding .25s var(--ease)}
.footer__links a:hover{color:#fff;padding-left:12px}
.footer__links a::before{content:"";position:absolute;left:0;top:50%;width:6px;height:1.5px;background:var(--accent);opacity:0;transition:opacity .2s}
.footer__links a:hover::before{opacity:1}
.f-contact{display:grid;gap:18px;font-size:.95rem}
.f-contact li{display:flex;gap:14px}
.f-contact .ico{color:var(--accent);margin-top:3px}
.f-contact b{display:block;color:#fff;font-weight:500}
.f-contact a:hover{color:#fff}
.hours{display:grid;gap:6px;margin-top:4px}
.hours>span{display:flex;justify-content:space-between;gap:12px}
.hours span:last-child{color:#fff}
.footer__big{font-size:clamp(4rem,17vw,17rem);font-weight:700;letter-spacing:-.075em;line-height:.8;color:transparent;-webkit-text-stroke:1px var(--ink-3);text-align:center;user-select:none;margin-bottom:-.12em;white-space:nowrap}
.footer__bar{border-top:1px solid var(--ink-3);position:relative;background:var(--ink)}
.footer__bar .container{display:flex;justify-content:space-between;align-items:center;gap:16px 32px;min-height:76px;flex-wrap:wrap;font-size:.9rem;padding-block:16px}
.footer__bar nav ul{display:flex;gap:24px;flex-wrap:wrap}
.footer__bar a:hover{color:#fff}
.to-top{position:fixed;right:24px;bottom:24px;z-index:40;width:54px;height:54px;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;box-shadow:var(--sh-md);opacity:0;visibility:hidden;transform:translateY(12px);transition:.35s var(--ease)}
.to-top svg.ring{position:absolute;inset:0;width:54px;height:54px;transform:rotate(-90deg)}
.to-top svg.ring circle{fill:none;stroke:var(--accent);stroke-width:2.5;stroke-dasharray:157;stroke-dashoffset:var(--p,157);transition:stroke-dashoffset .1s}
.to-top .ico{transform:rotate(-90deg)}
.to-top.is-visible{opacity:1;visibility:visible;transform:none}
.to-top:hover{background:var(--primary)}

/* =========================================================
   Reveal on scroll
   ========================================================= */
.js .reveal{opacity:0;transform:translateY(28px);transition:opacity .9s var(--ease),transform .9s var(--ease);transition-delay:var(--d,0s)}
.js .reveal.in{opacity:1;transform:none}

/* =========================================================
   Responsive — 1200 / 992 / 768 / 480 / 390
   ========================================================= */
@media (max-width:1280px){
  .nav__link{padding:0 11px}
  .header__cta{display:none}
}
@media (max-width:1200px){
  .topbar__list li.hide-lg{display:none}
  .mega{grid-template-columns:repeat(3,1fr)}
  .mega__promo{display:none}
  .svc,.svc--cta{grid-column:span 6}
  .svc--wide{grid-column:span 12}
  .footer__cols{grid-template-columns:1fr 1fr;gap:48px 32px}
}
@media (max-width:1100px){
  .nav,.header .lang{display:none}
  .burger{display:grid}
  .header__cta{display:inline-flex}
}
@media (max-width:992px){
  .topbar{display:none}
  .header>.container,.header.is-stuck>.container{height:72px;gap:16px}
  .hero__grid,.about__grid,.faq__grid,.cta{grid-template-columns:1fr}
  .hero__visual{justify-self:center;max-width:620px}
  .sec-head{grid-template-columns:1fr}
  .stats__grid{grid-template-columns:1fr 1fr}
  .stat:nth-child(2){border-right:0}
  .stat:nth-child(3){padding-left:0}
  .stat:nth-child(n+3){border-top:1px solid var(--ink-3)}
  .steps{grid-template-columns:1fr 1fr}
  .step::after{display:none}
  .proj,.proj--lg{grid-column:span 6}
  .testi__wrap{grid-template-columns:1fr}
  .testi__score{flex-direction:row;flex-wrap:wrap;align-items:flex-end}
  .testi__score>*{flex:1 1 240px}
  .plans{grid-template-columns:1fr;max-width:560px;margin-inline:auto}
  .faq__aside{position:static}
  .posts{grid-template-columns:1fr 1fr}
  .posts .post:last-child{display:none}
  .footer__news{grid-template-columns:1fr}
}
@media (max-width:768px){
  .header__cta{display:none}
  .bento{gap:16px}
  .svc--wide{grid-template-columns:1fr}
  .svc{min-height:0}
  .proj,.proj--lg{grid-column:span 12}
  .about__media{grid-template-columns:1fr 1fr}
  .about__media .m1{aspect-ratio:3/4.2}
  .posts{grid-template-columns:1fr}
  .posts .post:last-child{display:flex}
  .form{grid-template-columns:1fr}
  .footer__cols{grid-template-columns:1fr 1fr}
  .footer__about{grid-column:1/-1}
  .footer__bar .container{justify-content:center;text-align:center}
}
@media (max-width:600px){
  .svc,.svc--wide,.svc--cta{grid-column:span 12}
  .hero__visual{aspect-ratio:1/1.12}
  .hero__img{inset:0 0 10% 0}
  .float-card--chart{left:-4px;bottom:0;width:62%}
  .float-card--badge{right:-4px;top:5%;padding:12px 14px;gap:10px}
  .float-card--badge .ring{width:44px;height:44px}
  .float-card--badge .ring::after{width:34px;height:34px;font-size:.65rem}
  .float-card--tag{display:none}
  .hero__arc{width:150px;height:150px;border-width:30px;right:-50px;top:-40px}
}
@media (max-width:480px){
  :root{--gutter:16px}
  .hero__cta .btn{flex:1 1 100%}
  .hero__cta .play{width:100%;justify-content:center}
  .stats__grid{grid-template-columns:1fr}
  .stat,.stat+.stat{padding:28px 0 20px;border-right:0}
  .stat+.stat{border-top:1px solid var(--ink-3)}
  .steps{grid-template-columns:1fr}
  .step::before{margin-bottom:32px}
  .about__media{grid-template-columns:1fr;gap:12px}
  .about__media .m1{grid-row:auto;aspect-ratio:4/3}
  .about__media .m2{display:none}
  .exp{aspect-ratio:auto;flex-direction:row;align-items:center;gap:16px}
  .exp span{max-width:none}
  .svc{padding:26px}
  .plan{padding:28px}
  .testi__score{padding:28px}
  .testi__score b{font-size:4rem}
  .acc__body{padding-right:0}
  .acc summary{padding:22px 0}
  .footer__cols{grid-template-columns:1fr;gap:40px;padding:48px 0}
  .news-form{flex-direction:column;border-radius:var(--r-md);background:transparent;border:0;padding:0}
  .news-form input{height:54px;border:1px solid var(--ink-3);border-radius:var(--r-pill);background:rgba(255,255,255,.06)}
  .news-form .btn{width:100%}
  .footer__news small{padding-left:0}
  .minicart{position:fixed;left:16px;right:16px;top:64px;width:auto}
  .minicart::before{display:none}
  .slider__nav{gap:16px}
  .to-top{right:16px;bottom:16px}
  .filters{flex-wrap:nowrap;overflow-x:auto;margin-inline:calc(var(--gutter)*-1);padding-inline:var(--gutter);scrollbar-width:none}
  .filters::-webkit-scrollbar{display:none}
  .filters button{flex:none}
}
@media (max-width:400px){
  .header__actions .icon-btn.search-toggle{display:none}
  .brand b{font-size:1.45rem}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .js .reveal{opacity:1;transform:none}
}


/* ============================================================
   components.css
   ============================================================ */
/* =========================================================
   CORWELL — Shared components (inner pages, WordPress core, states)
   Requires corwell.css (tokens, base, header, footer, buttons).
   ========================================================= */

.is-hidden,.is-more{display:none!important}
[hidden]{display:none!important}
.section--soft{background:var(--soft)}
.section--dark{background:var(--ink);color:var(--muted-on-dark)}
.section--dark h2,.section--dark h3{color:#fff}
.section--tight{padding-block:clamp(56px,5vw,88px)}
.lead{font-size:var(--fs-lead);color:var(--muted)}
.muted{color:var(--muted)}
.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
@media (max-width:992px){.grid-3,.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}

/* ---------------------------------------------------------
   Page header — 4 variants: --image, --solid, --minimal, (hidden = omit)
   --------------------------------------------------------- */
.page-hero{position:relative;overflow:hidden;isolation:isolate;padding:clamp(56px,7vw,112px) 0 clamp(48px,6vw,96px)}
.page-hero__inner{position:relative;display:grid;gap:18px;max-width:880px}
.page-hero--center .page-hero__inner{margin-inline:auto;text-align:center;justify-items:center}
.page-hero h1{font-size:clamp(2.5rem,1.6rem + 3.6vw,4.75rem);letter-spacing:-.05em;line-height:1}
.page-hero h1 .serif{color:var(--primary)}
.page-hero p{font-size:var(--fs-lead);color:var(--muted);max-width:60ch}
.page-hero--solid{background:var(--soft)}
.page-hero--solid::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(700px 360px at 90% 0%,rgba(43,76,255,.12),transparent 60%),radial-gradient(520px 300px at 0% 100%,rgba(212,255,63,.25),transparent 60%)}
.page-hero--solid::after{content:"";position:absolute;inset:0;z-index:-1;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:64px 64px;mask-image:linear-gradient(180deg,#000,transparent 85%);-webkit-mask-image:linear-gradient(180deg,#000,transparent 85%);opacity:.55}
.page-hero--image{background:var(--ink);color:#fff;padding:clamp(80px,10vw,160px) 0 clamp(64px,8vw,120px)}
.page-hero--image>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.page-hero--image::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(11,16,32,.92) 0%,rgba(11,16,32,.65) 55%,rgba(11,16,32,.35))}
.page-hero--image h1{color:#fff}
.page-hero--image h1 .serif{color:var(--accent)}
.page-hero--image p{color:#D5D9E6}
.page-hero--minimal{padding:clamp(40px,4vw,64px) 0 clamp(24px,3vw,40px);border-bottom:1px solid var(--line)}
.page-hero--minimal h1{font-size:clamp(2rem,1.5rem + 2vw,3.25rem)}
.page-hero__meta{display:flex;flex-wrap:wrap;gap:10px 22px;align-items:center;color:var(--muted);font-size:.95rem}
.page-hero--image .page-hero__meta{color:#C9CEDC}

/* Breadcrumbs */
.crumbs ol{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;font-size:.9rem;color:var(--muted)}
.crumbs li{display:flex;align-items:center;gap:10px;min-width:0}
.crumbs li+li::before{content:"";width:6px;height:6px;border-top:1.5px solid currentColor;border-right:1.5px solid currentColor;transform:rotate(45deg);opacity:.6}
.crumbs a{color:var(--ink);font-weight:500;transition:color .2s}
.crumbs a:hover{color:var(--primary)}
.crumbs [aria-current]{overflow-wrap:anywhere}
.page-hero--image .crumbs ol{color:#C9CEDC}
.page-hero--image .crumbs a{color:#fff}
.page-hero--image .crumbs a:hover{color:var(--accent)}

/* ---------------------------------------------------------
   Layout with sidebar
   --------------------------------------------------------- */
.layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:clamp(40px,4vw,64px);align-items:start}
.layout--left{grid-template-columns:340px minmax(0,1fr)}
.layout--left .sidebar{order:-1}
.layout--full{grid-template-columns:minmax(0,1fr)}
.layout--narrow{max-width:820px;margin-inline:auto}
.sidebar{display:grid;gap:24px;align-content:start}
.sidebar--sticky{position:sticky;top:110px}
@media (max-width:992px){.layout,.layout--left{grid-template-columns:minmax(0,1fr)}.layout--left .sidebar{order:0}.sidebar{position:static}}

/* ---------------------------------------------------------
   Widgets (WordPress core + Corwell widgets)
   --------------------------------------------------------- */
.widget{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:28px;min-width:0}
.widget--soft{background:var(--soft);border-color:var(--soft)}
.widget__title{font-size:1.125rem;font-weight:600;letter-spacing:-.02em;color:var(--ink);margin-bottom:20px;display:flex;align-items:center;gap:10px}
.widget__title::before{content:"";width:6px;height:6px;border-radius:2px;background:var(--primary);transform:rotate(45deg)}
.on-dark .widget__title,.footer .widget__title{color:#fff}
.widget ul ul{margin:8px 0 0 16px;padding-left:12px;border-left:1.5px solid var(--line)}
/* lists with counts: categories, archives, pages, meta, nav menu */
.w-list{display:grid;gap:2px}
.w-list a{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:9px 0;color:var(--text);transition:color .2s,padding .25s var(--ease)}
.w-list a:hover{color:var(--primary);padding-left:6px}
.w-list a span{min-width:30px;height:24px;padding:0 8px;border-radius:12px;background:var(--soft);font-size:.78rem;font-weight:600;display:grid;place-items:center;color:var(--muted);transition:.2s}
.w-list a:hover span{background:var(--primary);color:#fff}
.w-list li+li{border-top:1px dashed var(--line)}
.w-list [aria-current] {color:var(--primary);font-weight:600}
/* recent posts */
.w-posts{display:grid;gap:18px}
.w-posts a{display:grid;grid-template-columns:76px minmax(0,1fr);gap:14px;align-items:center}
.w-posts img,.w-posts .ph{width:76px;height:76px;border-radius:14px;object-fit:cover;background:var(--soft-2)}
.w-posts b{display:block;color:var(--ink);font-size:.95rem;font-weight:600;line-height:1.35;letter-spacing:-.01em;overflow-wrap:anywhere;transition:color .2s}
.w-posts a:hover b{color:var(--primary)}
.w-posts small{color:var(--muted);font-size:.82rem}
.w-posts--noimg a{grid-template-columns:1fr}
/* recent comments */
.w-comments{display:grid;gap:16px}
.w-comments li{display:grid;grid-template-columns:auto 1fr;gap:12px;font-size:.92rem;color:var(--muted)}
.w-comments li>svg{width:18px;height:18px;color:var(--primary);margin-top:3px}
.w-comments b{color:var(--ink);font-weight:600}
.w-comments a{color:var(--ink);font-weight:500}
.w-comments a:hover{color:var(--primary)}
/* tag cloud */
.tags{display:flex;flex-wrap:wrap;gap:8px}
.tags a{display:inline-flex;align-items:center;height:34px;padding:0 14px;border-radius:var(--r-pill);border:1.5px solid var(--line);font-size:.86rem;font-weight:500;color:var(--ink);transition:.2s var(--ease)}
.tags a:hover{background:var(--ink);border-color:var(--ink);color:#fff}
.tags a.is-lg{font-size:1rem;height:38px}
.tags a.is-sm{font-size:.78rem;height:30px}
/* calendar */
.w-cal table{width:100%;border-collapse:collapse;font-size:.88rem;text-align:center;table-layout:fixed}
.w-cal caption{font-weight:600;color:var(--ink);margin-bottom:12px;text-align:left}
.w-cal th{color:var(--muted);font-weight:600;font-size:.76rem;padding:6px 0}
.w-cal td{padding:3px 0}
.w-cal td>*{display:grid;place-items:center;width:34px;height:34px;margin:auto;border-radius:50%}
.w-cal td a{background:var(--primary-50);color:var(--primary);font-weight:600}
.w-cal td a:hover{background:var(--primary);color:#fff}
.w-cal td.today>*{background:var(--ink);color:#fff}
.w-cal nav{display:flex;justify-content:space-between;margin-top:12px;font-size:.88rem;font-weight:600}
.w-cal nav a{color:var(--primary)}
/* search */
.w-search{display:flex;align-items:center;gap:8px;border:1.5px solid var(--line);border-radius:var(--r-pill);padding:5px 5px 5px 18px;transition:border-color .2s,box-shadow .2s;background:#fff}
.w-search:focus-within{border-color:var(--primary);box-shadow:0 0 0 4px var(--primary-50)}
.w-search input{flex:1;min-width:0;border:0;outline:0;background:transparent;height:42px}
.w-search button{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--ink);color:#fff;flex:none;transition:background .2s}
.w-search button:hover{background:var(--primary)}
/* text / custom html / rss */
.w-text{color:var(--muted);font-size:.95rem}
.w-text p+p{margin-top:12px}
.w-rss li+li{margin-top:16px;padding-top:16px;border-top:1px dashed var(--line)}
.w-rss a{color:var(--ink);font-weight:600;line-height:1.35;display:block}
.w-rss a:hover{color:var(--primary)}
.w-rss time{display:block;color:var(--muted);font-size:.8rem;margin:4px 0}
.w-rss p{color:var(--muted);font-size:.9rem}
/* media */
.w-media img,.w-media video{width:100%;border-radius:14px;background:var(--soft-2)}
.w-media figcaption{color:var(--muted);font-size:.84rem;margin-top:10px}
.w-media audio{width:100%}
.w-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.w-gallery a{aspect-ratio:1;border-radius:10px;overflow:hidden;background:var(--soft-2)}
.w-gallery img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}
.w-gallery a:hover img{transform:scale(1.08)}
/* Corwell widgets */
.w-about{text-align:center;display:grid;justify-items:center;gap:12px}
.w-about img{width:96px;height:96px;border-radius:50%;object-fit:cover;background:var(--soft-2)}
.w-about b{color:var(--ink);font-size:1.1rem}
.w-about p{color:var(--muted);font-size:.93rem}
.w-contact{display:grid;gap:16px;font-size:.94rem}
.w-contact li{display:grid;grid-template-columns:40px 1fr;gap:12px;align-items:center}
.w-contact i{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--primary-50);color:var(--primary)}
.w-contact b{display:block;color:var(--ink);font-weight:600;font-size:.82rem;letter-spacing:.04em;text-transform:uppercase}
.w-contact a:hover{color:var(--primary)}
.w-hours{display:grid;gap:10px;font-size:.94rem}
.w-hours li{display:flex;justify-content:space-between;gap:12px;padding-bottom:10px;border-bottom:1px dashed var(--line)}
.w-hours li:last-child{border:0;padding:0}
.w-hours b{color:var(--ink);font-weight:600}
.w-hours .closed{color:var(--danger);font-weight:600}
.w-social{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.w-social a{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;background:var(--soft);font-weight:500;font-size:.9rem;color:var(--ink);transition:.2s}
.w-social a:hover{background:var(--ink);color:#fff}
.w-social .ico{width:17px;height:17px}
.w-news{background:var(--ink);border-color:var(--ink);color:var(--muted-on-dark);position:relative;overflow:hidden}
.w-news .field__err{color:#FFB4AB}
.w-news::after{pointer-events:none;content:"";position:absolute;right:-50px;top:-50px;width:140px;height:140px;border-radius:50%;border:28px solid rgba(212,255,63,.12)}
.w-news .widget__title{color:#fff}
.w-news p{font-size:.93rem;margin-bottom:16px}
.w-news .input{background:rgba(255,255,255,.06);border-color:var(--ink-3);color:#fff}
.w-news .input::placeholder{color:#8990A6}
.w-news .btn{width:100%;margin-top:10px}
.w-projects{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.w-projects a{position:relative;aspect-ratio:1;border-radius:14px;overflow:hidden;background:var(--soft-2)}
.w-projects img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.w-projects a:hover img{transform:scale(1.08)}
.w-projects span{position:absolute;inset:auto 8px 8px;background:rgba(255,255,255,.94);border-radius:8px;padding:5px 8px;font-size:.74rem;font-weight:600;color:var(--ink);line-height:1.25}
.w-cta{background:var(--primary);border-color:var(--primary);color:#fff;position:relative;overflow:hidden}
.w-cta h3{color:#fff;font-size:1.4rem;margin-bottom:10px}
.w-cta p{color:rgba(255,255,255,.85);font-size:.94rem;margin-bottom:20px}
.w-cta>*{position:relative;z-index:1}
.w-cta::after{pointer-events:none;content:"";position:absolute;right:-60px;bottom:-60px;width:180px;height:180px;border-radius:50%;border:34px solid rgba(255,255,255,.1)}

/* ---------------------------------------------------------
   Pagination
   --------------------------------------------------------- */
.pagination{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin-top:56px}
.pagination a,.pagination span{display:grid;place-items:center;min-width:48px;height:48px;padding:0 14px;border-radius:var(--r-pill);border:1.5px solid var(--line);font-weight:600;color:var(--ink);transition:.2s var(--ease)}
.pagination a:hover{border-color:var(--ink)}
.pagination [aria-current]{background:var(--ink);border-color:var(--ink);color:#fff}
.pagination .dots{border:0;min-width:24px;padding:0;color:var(--muted)}
.pagination .pg-nav{display:flex;gap:8px;padding:0 20px}
.pagination .pg-nav .ico{width:16px;height:16px}
.pagination .pg-prev .ico{transform:rotate(180deg)}
.pagination .is-disabled{opacity:.4;pointer-events:none}
@media (max-width:480px){.pagination .pg-nav b{display:none}.pagination .pg-nav{padding:0}.pagination .hide-sm{display:none}}

/* ---------------------------------------------------------
   Post cards — list / grid / masonry / sticky / no image / formats
   --------------------------------------------------------- */
.post-card{position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;transition:transform .35s var(--ease),box-shadow .35s;min-width:0}
.post-card:hover{transform:translateY(-4px);box-shadow:var(--sh-md)}
.post-card__img{position:relative;aspect-ratio:16/10;overflow:hidden;background:var(--soft-2);display:block}
.post-card__img img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease)}
.post-card:hover .post-card__img img{transform:scale(1.05)}
.post-card__body{padding:26px 28px 28px;display:flex;flex-direction:column;gap:14px;flex:1;min-width:0}
.post-card h2,.post-card h3{font-size:clamp(1.25rem,1.1rem + .5vw,1.5rem);line-height:1.25;letter-spacing:-.025em;overflow-wrap:anywhere}
.post-card h2 a,.post-card h3 a{transition:color .2s}
.post-card h2 a:hover,.post-card h3 a:hover{color:var(--primary)}
.post-card p{color:var(--muted);font-size:.97rem}
.post-card .link-arrow{margin-top:auto;padding-top:6px}
.meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;font-size:.86rem;color:var(--muted);min-width:0}
.meta>*{display:inline-flex;align-items:center;gap:6px;min-width:0}
.meta .ico{width:15px;height:15px}
.meta a:hover{color:var(--primary)}
.meta .cat{color:var(--primary);font-weight:600}
.meta .author{overflow-wrap:anywhere}
.badge{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 12px;border-radius:var(--r-pill);font-size:.76rem;font-weight:700;letter-spacing:.02em;background:var(--soft);color:var(--ink);white-space:nowrap}
.badge .ico{width:14px;height:14px}
.badge--primary{background:var(--primary);color:#fff}
.badge--accent{background:var(--accent);color:var(--ink)}
.badge--dark{background:var(--ink);color:#fff}
.badge--success{background:#E7F7EE;color:#0B6B35}
.badge--danger{background:#FDECEA;color:#B42318}
.post-card__img .badge,.post-card__badges{position:absolute;left:16px;top:16px;z-index:1}
.post-card__badges{display:flex;gap:6px}
.post-card__fmt{position:absolute;right:16px;top:16px;width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.94);display:grid;place-items:center;color:var(--ink);z-index:1}
.post-card__fmt .ico{width:18px;height:18px}
.post-card__play{position:absolute;inset:0;margin:auto;width:72px;height:72px;border-radius:50%;background:#fff;display:grid;place-items:center;color:var(--ink);box-shadow:var(--sh-lg);transition:transform .3s var(--ease)}
.post-card__play .ico{fill:currentColor;stroke:none;margin-left:3px}
.post-card:hover .post-card__play{transform:scale(1.08)}
/* list layout */
.post-card--row{flex-direction:row}
.post-card--row .post-card__img{flex:0 0 42%;aspect-ratio:auto;min-height:300px}
.post-card--row .post-card__body{padding:32px 36px}
@media (max-width:768px){.post-card--row{flex-direction:column}.post-card--row .post-card__img{aspect-ratio:16/10;min-height:0}.post-card--row .post-card__body{padding:24px}}
/* sticky / featured */
.post-card--sticky{border:2px solid var(--primary);box-shadow:0 20px 50px -24px rgba(43,76,255,.45)}
.post-card--sticky::before{content:"";position:absolute;inset:0 0 auto;height:4px;background:linear-gradient(90deg,var(--primary),var(--accent));z-index:2}
/* no image */
.post-card--noimg .post-card__body{padding:32px;background:linear-gradient(160deg,var(--soft) 0%,#fff 60%)}
.post-card--noimg .post-card__body::before{content:"";width:48px;height:48px;border-radius:14px;background:var(--primary-50) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' fill='none' stroke='%232B4CFF' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' viewBox='0 0 24 24'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'/%3E%3Cpath d='M14 2v6h6M8 13h8M8 17h5'/%3E%3C/svg%3E") center no-repeat}
/* quote / link formats */
.post-card--quote{background:var(--ink);border-color:var(--ink);color:var(--muted-on-dark)}
.post-card--quote .post-card__body{padding:36px}
.post-card--quote blockquote{margin:0;color:#fff;font-size:1.35rem;line-height:1.4;letter-spacing:-.02em;font-weight:500}
.post-card--quote cite{font-style:normal;color:var(--accent);font-weight:600;font-size:.92rem}
.post-card--quote .ico{width:40px;height:40px;color:var(--accent)}
.post-card--link{background:var(--primary);border-color:var(--primary);color:#fff}
.post-card--link .post-card__body{padding:36px}
.post-card--link h3,.post-card--link h2{color:#fff}
.post-card--link h2 a:hover,.post-card--link h3 a:hover{color:var(--accent)}
.post-card--quote blockquote p{color:#fff}
.post-card--link a.ext{display:inline-flex;gap:8px;align-items:center;color:var(--accent);font-weight:600;overflow-wrap:anywhere}
.post-card--audio audio{width:100%;margin-top:4px}
/* masonry */
.masonry{columns:3 300px;column-gap:24px}
.masonry>*{break-inside:avoid;margin-bottom:24px}
.masonry .post-card__img{aspect-ratio:auto}
.masonry .post-card__img img{height:auto}
.posts-list{display:grid;gap:28px}
.posts-grid{display:grid;grid-template-columns:repeat(var(--cols,3),minmax(0,1fr));gap:24px}
.posts-grid--2{--cols:2}
@media (max-width:992px){.posts-grid{--cols:2}}
@media (max-width:640px){.posts-grid{--cols:1}}
/* archive heading box (category / tag / author / date) */
.archive-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:32px}
.archive-head p{color:var(--muted)}
.archive-head p b{color:var(--ink)}
.view-switch{display:flex;gap:4px;padding:4px;border:1px solid var(--line);border-radius:var(--r-pill)}
.view-switch a{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;color:var(--muted)}
.view-switch a[aria-current]{background:var(--ink);color:#fff}
.view-switch .ico{width:18px;height:18px}

/* ---------------------------------------------------------
   Notices / alerts
   --------------------------------------------------------- */
.notice{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:start;padding:16px 18px;border-radius:14px;border:1px solid;font-size:.95rem}
.notice .ico{width:22px;height:22px;margin-top:1px}
.notice b{display:block;font-weight:600}
.notice--info{background:var(--primary-50);border-color:#CDD6FF;color:#1A2E99}
.notice--success{background:#E7F7EE;border-color:#B6E4C8;color:#0B6B35}
.notice--warning{background:#FFF6E0;border-color:#F6DE9E;color:#7A4D00}
.notice--error{background:#FDECEA;border-color:#F6C3BE;color:#9F1C12}
.notice__close{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;color:inherit;opacity:.7}
.notice__close:hover{opacity:1;background:rgba(0,0,0,.06)}
.notice__close .ico{width:16px;height:16px;margin:0}

/* ---------------------------------------------------------
   Empty states
   --------------------------------------------------------- */
.empty{display:grid;justify-items:center;text-align:center;gap:14px;padding:clamp(48px,6vw,88px) 24px;border:1.5px dashed var(--line);border-radius:var(--r-xl);background:linear-gradient(180deg,var(--soft),#fff)}
.empty__ico{width:88px;height:88px;border-radius:28px;background:#fff;box-shadow:var(--sh-md);display:grid;place-items:center;color:var(--primary);margin-bottom:8px;position:relative}
.empty__ico::after{content:"";position:absolute;right:-6px;top:-6px;width:22px;height:22px;border-radius:50%;background:var(--accent);border:4px solid #fff}
.empty__ico .ico{width:38px;height:38px}
.empty h2,.empty h3{font-size:clamp(1.4rem,1.2rem + .8vw,1.9rem)}
.empty p{color:var(--muted);max-width:46ch}
.empty .w-search{width:min(460px,100%);margin-top:6px}
.empty__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:6px}

/* ---------------------------------------------------------
   Loading — dots, spinner button, skeletons
   --------------------------------------------------------- */
.loader{display:inline-flex;gap:6px}
.loader i{width:8px;height:8px;border-radius:50%;background:currentColor;animation:ld 1s infinite ease-in-out}
.loader i:nth-child(2){animation-delay:.15s}.loader i:nth-child(3){animation-delay:.3s}
@keyframes ld{0%,80%,100%{transform:scale(.5);opacity:.4}40%{transform:scale(1);opacity:1}}
.btn .loader{display:none}
.btn.is-loading .loader{display:inline-flex}
.btn.is-loading>.ico{display:none}
.load-more{display:grid;justify-items:center;gap:14px;margin-top:48px}
.load-more p{color:var(--muted);font-size:.92rem}
.progress{width:220px;height:4px;border-radius:2px;background:var(--line);overflow:hidden}
.progress i{display:block;height:100%;background:var(--primary);width:var(--w,60%);border-radius:2px}
.skeleton{background:linear-gradient(90deg,var(--soft) 0%,var(--soft-2) 40%,var(--soft) 80%);background-size:300% 100%;animation:sk 1.4s linear infinite;border-radius:10px}
@keyframes sk{from{background-position:100% 0}to{background-position:-100% 0}}
.sk-card{border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden}
.sk-card .sk-img{aspect-ratio:16/10;border-radius:0}
.sk-card .sk-body{padding:26px;display:grid;gap:12px}
.sk-line{height:14px}.sk-line--lg{height:24px}.sk-line--w60{width:60%}.sk-line--w80{width:80%}.sk-line--w40{width:40%}

/* ---------------------------------------------------------
   Form extras — states, radio, switch, file upload
   --------------------------------------------------------- */
.input:disabled,select.input:disabled{opacity:.55;cursor:not-allowed;background:var(--soft-2)}
.input.is-filled{background:#fff;border-color:#C9CEDB}
.field__hint{font-size:.82rem;color:var(--muted)}
.field--error .input{border-color:var(--danger);background:#FFF5F4}
.field--error .field__err{display:block}
.field--success .input{border-color:var(--success)}
.radio{display:flex;gap:12px;align-items:center;font-size:.95rem;cursor:pointer}
.radio input{appearance:none;width:22px;height:22px;flex:none;border:1.5px solid #C9CEDB;border-radius:50%;margin:0;display:grid;place-items:center;cursor:pointer;transition:.2s}
.radio input:checked{border-color:var(--primary);border-width:7px}
.radio input[aria-invalid="true"],.check input[aria-invalid="true"]{border-color:var(--danger);background:#FFF5F4}
.switch{display:inline-flex;gap:12px;align-items:center;cursor:pointer;font-size:.95rem}
.switch input{appearance:none;width:46px;height:26px;border-radius:13px;background:#C9CEDB;position:relative;margin:0;cursor:pointer;transition:background .25s}
.switch input::after{content:"";position:absolute;left:3px;top:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:var(--sh-sm);transition:transform .25s var(--ease)}
.switch input:checked{background:var(--primary)}
.switch input:checked::after{transform:translateX(20px)}
.file{display:flex;align-items:center;gap:14px;padding:14px;border:1.5px dashed #C9CEDB;border-radius:14px;background:var(--soft);transition:.2s;position:relative;flex-wrap:wrap}
.file:hover,.file:focus-within{border-color:var(--primary);background:var(--primary-50)}
.file input{position:absolute;inset:0;opacity:0;cursor:pointer}
.file__ico{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:#fff;color:var(--primary);flex:none}
.file__txt{flex:1;min-width:0;font-size:.92rem}
.file__txt b{display:block;color:var(--ink)}
.file__name{color:var(--muted);font-size:.85rem;overflow-wrap:anywhere}
.file.has-file{border-style:solid;border-color:var(--success);background:#F1FBF5}
.file.has-error{border-color:var(--danger);background:#FFF5F4}
.form__error{grid-column:1/-1;display:none;align-items:center;gap:12px;padding:14px 16px;border-radius:12px;background:#FDECEA;color:#9F1C12;font-size:.93rem;font-weight:500}
.form.is-failed .form__error{display:flex}
.form-card{background:#fff;border:1px solid var(--line);border-radius:var(--r-xl);padding:clamp(24px,3vw,44px);box-shadow:var(--sh-md)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 16px}
.form-grid .field--full,.form-grid .check,.form-grid .btn,.form-grid .form__success,.form-grid .form__error{grid-column:1/-1}
.form-grid .btn{width:100%}
.js-form.is-sent .form__success{display:flex}
@media (max-width:600px){.form-grid{grid-template-columns:1fr}}

/* ---------------------------------------------------------
   Tabs
   --------------------------------------------------------- */
.tabs__list{display:flex;gap:4px;padding:5px;background:var(--soft);border-radius:var(--r-pill);width:max-content;max-width:100%;overflow-x:auto;scrollbar-width:none}
.tabs__list::-webkit-scrollbar{display:none}
.tabs__list [role="tab"]{height:44px;padding:0 20px;border-radius:var(--r-pill);font-weight:500;color:var(--muted);white-space:nowrap;transition:.25s var(--ease)}
.tabs__list [role="tab"]:hover{color:var(--ink)}
.tabs__list [aria-selected="true"]{background:#fff;color:var(--ink);box-shadow:var(--sh-sm)}
.tabs__panel{padding-top:32px}

/* ---------------------------------------------------------
   Team member card
   --------------------------------------------------------- */
.member{position:relative;display:flex;flex-direction:column;gap:16px;min-width:0}
.member__img{position:relative;aspect-ratio:4/5;border-radius:var(--r-lg);overflow:hidden;background:var(--soft-2)}
.member__img img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease),filter .5s}
.member:hover .member__img img{transform:scale(1.05)}
.member__social{position:absolute;left:12px;right:12px;bottom:12px;display:flex;justify-content:center;gap:6px;padding:8px;border-radius:var(--r-pill);background:rgba(255,255,255,.92);backdrop-filter:blur(8px);transform:translateY(16px);opacity:0;transition:.35s var(--ease)}
.member:hover .member__social,.member:focus-within .member__social{transform:none;opacity:1}
.member__social a{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;color:var(--ink);transition:.2s}
.member__social a:hover{background:var(--ink);color:#fff}
.member__social .ico{width:16px;height:16px}
.member h3{font-size:1.25rem;letter-spacing:-.02em;overflow-wrap:anywhere}
.member h3 a::after{content:"";position:absolute;inset:0}
.member h3 a:hover{color:var(--primary)}
.member span{color:var(--muted);font-size:.93rem}
@media (hover:none){.member__social{transform:none;opacity:1}}

/* ---------------------------------------------------------
   Entry content — WordPress post/page typography (+ Gutenberg alignments)
   --------------------------------------------------------- */
.entry{font-size:1.0625rem;line-height:1.8;color:var(--text);min-width:0;overflow-wrap:break-word}
.entry>*+*{margin-top:1.4em}
.entry h2{font-size:clamp(1.6rem,1.3rem + 1vw,2.1rem);margin-top:1.9em}
.entry h3{font-size:clamp(1.3rem,1.15rem + .6vw,1.6rem);margin-top:1.7em}
.entry h4{font-size:1.2rem;margin-top:1.6em}
.entry h5{font-size:1.05rem;margin-top:1.5em}
.entry h6{font-size:.95rem;text-transform:uppercase;letter-spacing:.06em;margin-top:1.5em}
.entry a{color:var(--primary);text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:3px}
.entry a:hover{text-decoration-color:transparent}
.entry ul,.entry ol{padding-left:1.4em}
.entry ul{list-style:none}
.entry ul>li{position:relative}
.entry ul>li::before{content:"";position:absolute;left:-1.1em;top:.72em;width:7px;height:7px;border-radius:2px;background:var(--primary);transform:rotate(45deg)}
.entry ol{list-style:decimal}
.entry ol>li::marker{color:var(--primary);font-weight:600}
.entry li+li{margin-top:.45em}
.entry li>ul,.entry li>ol{margin-top:.45em}
.entry blockquote{margin-inline:0;padding:28px 32px;border-left:4px solid var(--primary);background:var(--soft);border-radius:0 var(--r-md) var(--r-md) 0;font-size:1.2rem;line-height:1.55;color:var(--ink);font-weight:500;letter-spacing:-.01em}
.entry blockquote cite{display:block;margin-top:12px;font-style:normal;font-size:.92rem;color:var(--muted);font-weight:500}
.entry .pullquote{border:0;border-top:2px solid var(--ink);border-bottom:2px solid var(--ink);background:none;border-radius:0;text-align:center;padding:36px 12px;font-family:var(--f-serif);font-style:italic;font-weight:400;font-size:clamp(1.6rem,1.2rem + 1.4vw,2.3rem);line-height:1.25}
.entry code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.88em;background:var(--soft);padding:2px 7px;border-radius:6px;color:#B4235C}
.entry pre{background:var(--ink);color:#E3E6F0;padding:22px 24px;border-radius:var(--r-md);overflow-x:auto;font-size:.9rem;line-height:1.65}
.entry pre code{background:none;color:inherit;padding:0}
.entry .verse{font-family:var(--f-serif);font-size:1.25rem;white-space:pre-wrap;background:none;color:var(--ink);padding:0}
.entry table{width:100%;border-collapse:collapse;font-size:.95rem}
.entry .wp-block-table,.entry .table-scroll{overflow-x:auto;margin-inline:0}
.entry th,.entry td{padding:14px 16px;border-bottom:1px solid var(--line);text-align:left}
.entry thead th{background:var(--soft);color:var(--ink);font-weight:600}
.entry tbody tr:hover{background:#FAFBFD}
.entry img{border-radius:var(--r-md)}
.entry figure{margin-inline:0}
.entry figcaption,.wp-caption-text{color:var(--muted);font-size:.86rem;margin-top:10px;text-align:center}
.entry hr{border:0;height:1px;background:var(--line);margin-block:2.4em}
.entry .alignleft{float:left;margin:.4em 1.6em 1em 0;max-width:50%}
.entry .alignright{float:right;margin:.4em 0 1em 1.6em;max-width:50%}
.entry .aligncenter{margin-inline:auto;display:block}
.entry .alignwide{margin-inline:calc(-1 * max(0px, min(120px, 8vw, (100vw - 100%) / 2 - var(--gutter))))}
.entry .alignfull{margin-inline:calc(50% - 50vw);max-width:100vw;border-radius:0}
.entry .alignfull img{border-radius:0}
.entry::after{content:"";display:table;clear:both}
.entry .lead-p{font-size:1.25rem;color:var(--ink);line-height:1.6}
.entry .dropcap::first-letter{float:left;font-family:var(--f-serif);font-size:4.6em;line-height:.8;margin:.08em .12em 0 0;color:var(--primary)}
.entry .gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.entry .gallery img{width:100%;height:100%;object-fit:cover;aspect-ratio:1}
@media (max-width:600px){.entry .alignleft,.entry .alignright{float:none;margin:0;max-width:100%}.entry .alignwide{margin-inline:0}.entry blockquote{padding:22px}}

/* Page links for paginated posts (<!--nextpage-->) */
.page-links{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding-top:24px;border-top:1px solid var(--line);font-weight:600;color:var(--ink)}
.page-links a,.page-links span:not(.page-links__label){display:grid;place-items:center;width:40px;height:40px;border-radius:50%;border:1.5px solid var(--line)}
.page-links span[aria-current]{background:var(--ink);color:#fff;border-color:var(--ink)}
.page-links a:hover{border-color:var(--ink)}

/* ---------------------------------------------------------
   Single post parts: tags/share bar, author box, prev/next, related
   --------------------------------------------------------- */
.post-foot{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;padding:28px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:48px}
.post-foot .tags{align-items:center}
.post-foot .tags b{color:var(--ink);margin-right:4px;font-weight:600}
.share{display:flex;align-items:center;gap:8px}
.share b{color:var(--ink);font-weight:600;margin-right:4px}
.share a,.share button{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;border:1.5px solid var(--line);color:var(--ink);transition:.2s}
.share a:hover,.share button:hover{background:var(--ink);border-color:var(--ink);color:#fff}
.share .ico{width:16px;height:16px}
.author-box{display:grid;grid-template-columns:96px 1fr;gap:24px;padding:32px;border-radius:var(--r-lg);background:var(--soft);margin-top:40px}
.author-box img{width:96px;height:96px;border-radius:50%;object-fit:cover;background:var(--soft-2)}
.author-box small{color:var(--primary);font-weight:600;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase}
.author-box h3{font-size:1.3rem;margin:4px 0 8px;overflow-wrap:anywhere}
.author-box p{color:var(--muted);font-size:.96rem}
.author-box .social{margin-top:14px}
.author-box .social a{background:#fff;color:var(--ink)}
.author-box .social a:hover{background:var(--ink);color:#fff}
@media (max-width:600px){.author-box{grid-template-columns:1fr;text-align:left;padding:24px}.author-box img{width:72px;height:72px}}
.post-nav{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:40px}
.post-nav a{display:grid;gap:6px;padding:22px 24px;border:1px solid var(--line);border-radius:var(--r-lg);transition:.25s var(--ease);min-width:0}
.post-nav a:hover{border-color:var(--ink);background:var(--soft)}
.post-nav small{display:flex;align-items:center;gap:8px;color:var(--muted);font-weight:600;font-size:.82rem;letter-spacing:.04em;text-transform:uppercase}
.post-nav small .ico{width:16px;height:16px}
.post-nav .prev small .ico{transform:rotate(180deg)}
.post-nav b{color:var(--ink);font-weight:600;line-height:1.35;overflow-wrap:anywhere}
.post-nav .next{text-align:right}
.post-nav .next small{justify-content:flex-end}
@media (max-width:600px){.post-nav{grid-template-columns:1fr}.post-nav .next{text-align:left}.post-nav .next small{justify-content:flex-start}}

/* ---------------------------------------------------------
   Comments — nested up to 5+ levels
   --------------------------------------------------------- */
.comments{margin-top:64px}
.comments__title{font-size:clamp(1.5rem,1.3rem + .8vw,2rem);margin-bottom:28px;display:flex;align-items:center;gap:12px}
.comments__title span{display:grid;place-items:center;min-width:36px;height:36px;padding:0 10px;border-radius:18px;background:var(--primary);color:#fff;font-size:.95rem;letter-spacing:0}
.comment-list,.comment-list .children{display:grid;gap:16px}
.comment-list .children{margin:16px 0 0 clamp(16px,4vw,56px);padding-left:clamp(12px,2vw,24px);border-left:2px solid var(--line)}
.comment{display:grid;grid-template-columns:56px minmax(0,1fr);gap:16px;padding:24px;border-radius:var(--r-lg);background:#fff;border:1px solid var(--line)}
.comment__avatar{width:56px;height:56px;border-radius:50%;object-fit:cover;background:var(--soft-2);display:grid;place-items:center;font-weight:700;color:var(--primary)}
.comment__head{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin-bottom:8px}
.comment__head b{color:var(--ink);font-weight:600;overflow-wrap:anywhere}
.comment__head time{color:var(--muted);font-size:.85rem}
.comment__body{color:var(--text);font-size:.98rem;overflow-wrap:anywhere}
.comment__actions{display:flex;gap:16px;margin-top:12px}
.comment__actions a{display:inline-flex;align-items:center;gap:6px;font-size:.88rem;font-weight:600;color:var(--ink)}
.comment__actions a:hover{color:var(--primary)}
.comment__actions .ico{width:15px;height:15px}
.comment--author{background:var(--primary-50);border-color:#CDD6FF}
.comment--pending{border-style:dashed;background:#FFFCF2}
.comment__pending{display:inline-flex;align-items:center;gap:6px;font-size:.82rem;color:#7A4D00;background:#FFF0C2;padding:4px 10px;border-radius:var(--r-pill);font-weight:600;margin-bottom:8px}
.comment-list .children .children .children .children{margin-left:12px;padding-left:12px}
@media (max-width:600px){.comment{grid-template-columns:40px minmax(0,1fr);padding:18px;gap:12px}.comment__avatar{width:40px;height:40px}.comment-list .children{margin-left:10px;padding-left:10px}}
.comments-closed{display:flex;align-items:center;gap:12px;padding:18px 20px;border-radius:14px;background:var(--soft);color:var(--muted);font-weight:500}
.comment-form{margin-top:48px;padding:clamp(24px,3vw,40px);border-radius:var(--r-xl);background:var(--soft)}
.comment-form h3{font-size:1.6rem;margin-bottom:6px}
.comment-form>p{color:var(--muted);margin-bottom:24px}
.comment-form .form-grid{grid-template-columns:1fr 1fr 1fr}
.comment-form .input{background:#fff}
@media (max-width:768px){.comment-form .form-grid{grid-template-columns:1fr}}
.reply-title{display:flex;justify-content:space-between;align-items:center;gap:12px}
.reply-title a{font-size:.9rem;color:var(--danger);font-weight:600}

/* ---------------------------------------------------------
   Timeline (About / history)
   --------------------------------------------------------- */
.timeline{position:relative;display:grid;gap:0}
.timeline::before{content:"";position:absolute;left:50%;top:0;bottom:0;width:2px;background:var(--line);transform:translateX(-50%)}
.tl-item{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:80px;padding-block:28px}
.tl-item::before{content:"";position:absolute;left:50%;top:40px;width:18px;height:18px;border-radius:50%;background:#fff;border:4px solid var(--primary);transform:translateX(-50%);z-index:1}
.tl-item:nth-child(odd) .tl-card{grid-column:1;text-align:right}
.tl-item:nth-child(even) .tl-card{grid-column:2}
.tl-card{padding:28px;border-radius:var(--r-lg);background:#fff;border:1px solid var(--line)}
.tl-card b{display:block;font-size:2.25rem;letter-spacing:-.05em;color:var(--primary);font-weight:600;line-height:1}
.tl-card h3{font-size:1.25rem;margin:12px 0 8px}
.tl-card p{color:var(--muted);font-size:.95rem}
@media (max-width:768px){.timeline::before{left:9px}.tl-item{grid-template-columns:1fr;gap:0;padding-left:40px}.tl-item::before{left:9px;top:36px}.tl-item:nth-child(odd) .tl-card,.tl-item:nth-child(even) .tl-card{grid-column:1;text-align:left}}

/* ---------------------------------------------------------
   CTA band (reusable bottom-of-page call to action)
   --------------------------------------------------------- */
.cta-band{position:relative;overflow:hidden;isolation:isolate;border-radius:clamp(24px,3vw,40px);background:var(--primary);color:#fff;padding:clamp(36px,5vw,72px);display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:28px}
.cta-band::before{content:"";position:absolute;right:-80px;top:-120px;width:420px;height:420px;border-radius:50%;border:70px solid rgba(255,255,255,.08);z-index:-1}
.cta-band::after{content:"";position:absolute;left:30%;bottom:-200px;width:400px;height:400px;border-radius:50%;background:radial-gradient(closest-side,rgba(212,255,63,.3),transparent);z-index:-1}
.cta-band h2{color:#fff;font-size:clamp(1.9rem,1.4rem + 2vw,3.2rem);max-width:20ch}
.cta-band h2 .serif{color:var(--accent)}
.cta-band p{color:rgba(255,255,255,.85);margin-top:12px;max-width:52ch}
.cta-band__btns{display:flex;flex-wrap:wrap;gap:12px}
.cta-band .btn--outline{--fg:#fff;--bd:rgba(255,255,255,.4)}
.cta-band .btn--outline:hover{--bg:#fff;--fg:var(--ink);--bd:#fff}

/* ---------------------------------------------------------
   Modal (quick view, video, etc.)
   --------------------------------------------------------- */
.modal{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:16px;visibility:hidden}
.modal__overlay{position:absolute;inset:0;background:rgba(11,16,32,.6);backdrop-filter:blur(4px);opacity:0;transition:opacity .3s}
.modal__box{position:relative;width:min(960px,100%);max-height:calc(100vh - 32px);overflow:auto;background:#fff;border-radius:var(--r-xl);box-shadow:var(--sh-lg);transform:translateY(20px) scale(.98);opacity:0;transition:.35s var(--ease)}
.modal.is-open{visibility:visible}
.modal.is-open .modal__overlay{opacity:1}
.modal.is-open .modal__box{transform:none;opacity:1}
.modal__close{position:absolute;right:14px;top:14px;z-index:2;width:44px;height:44px;border-radius:50%;background:#fff;box-shadow:var(--sh-sm);display:grid;place-items:center;color:var(--ink)}
.modal__close:hover{background:var(--ink);color:#fff}

/* ---------------------------------------------------------
   Data table (comparison, jobs, documents)
   --------------------------------------------------------- */
.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r-lg);background:#fff}
.table{width:100%;border-collapse:collapse;font-size:.95rem;min-width:640px}
.table th,.table td{padding:16px 20px;text-align:left;border-bottom:1px solid var(--line);vertical-align:middle}
.table thead th{background:var(--soft);color:var(--ink);font-weight:600;font-size:.88rem}
.table tbody tr:last-child td{border-bottom:0}
.table tbody tr:hover{background:#FAFBFD}
.table td .ico{width:20px;height:20px}
.table .yes{color:var(--primary)}
.table .no{color:#C2C6D3}

/* Icon box (feature/value cards) */
.ibox{padding:32px;border-radius:var(--r-lg);background:#fff;border:1px solid var(--line);display:grid;gap:14px;align-content:start;transition:transform .35s var(--ease),box-shadow .35s,border-color .35s}
.ibox:hover{transform:translateY(-4px);box-shadow:var(--sh-md);border-color:transparent}
.ibox__ico{display:grid;place-items:center;width:56px;height:56px;border-radius:16px;background:var(--primary-50);color:var(--primary);margin-bottom:8px}
.ibox__ico .ico{width:26px;height:26px}
.ibox h3{font-size:1.25rem;letter-spacing:-.02em}
.ibox p{color:var(--muted);font-size:.96rem}
.section--dark .ibox{background:var(--ink-2);border-color:var(--ink-3)}
.section--dark .ibox p{color:var(--muted-on-dark)}
.section--dark .ibox__ico{background:rgba(212,255,63,.1);color:var(--accent)}

/* Logo grid (partners) */
.logo-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.logo-grid>*{display:grid;place-items:center;min-height:120px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:16px}
@media (max-width:768px){.logo-grid{grid-template-columns:repeat(2,1fr)}}

/* Check list */
.checks{display:grid;gap:12px}
.checks li{display:flex;gap:12px;align-items:flex-start}
.checks .ico{width:22px;height:22px;color:var(--primary);flex:none;margin-top:1px}
.on-dark .checks .ico{color:var(--accent)}

/* Key-value info list (project details, job details) */
.info-list{display:grid}
.info-list li{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px dashed var(--line);font-size:.95rem}
.info-list li:last-child{border-bottom:0}
.info-list span{color:var(--muted)}
.info-list b{color:var(--ink);font-weight:600;text-align:right;overflow-wrap:anywhere}

/* Dark-surface fixes */
.page-hero--image .btn--outline,.section--dark .btn--outline{--fg:#fff;--bd:rgba(255,255,255,.3)}
.page-hero--image .btn--outline:hover,.section--dark .btn--outline:hover{--bg:#fff;--fg:var(--ink);--bd:#fff}
.section--dark h2 .serif,.section--dark h3 .serif{color:var(--accent)}
.plan__name{min-height:30px}
.member__social{z-index:2}
.logo-grid>.logo-item{display:flex;justify-content:center}
.field:has([aria-invalid="true"]) .field__err{display:block}
.on-dark .dots button,.section--dark .dots button{background:rgba(255,255,255,.25)}
.on-dark .dots button[aria-current="true"],.section--dark .dots button[aria-current="true"]{background:var(--accent)}
.on-dark .arrows button,.section--dark .arrows button{border-color:rgba(255,255,255,.3);color:#fff}
.on-dark .arrows button:hover,.section--dark .arrows button:hover{background:#fff;border-color:#fff;color:var(--ink)}
@media (max-width:600px){.crumbs li:last-child:not(:first-child):not(:nth-child(2)){display:none}}

/* =========================================================
   Header variants (1 classic = "topbar": false · 2 top bar = default ·
   3 --transparent · 4 --center · 5 --side)
   ========================================================= */
.brand__tile{fill:var(--logo,#2B4CFF)}
.side-toggle{display:none}
.dropdown--demos small{font-size:.7rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--primary);background:var(--primary-50);padding:2px 8px;border-radius:var(--r-pill)}

/* 3 — transparent over a dark hero; turns solid ink when stuck */
.header--transparent{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;margin-bottom:-88px;border-bottom-color:rgba(255,255,255,.08)}
.header--transparent .brand,.header--transparent .nav__link,.header--transparent .icon-btn{color:#fff}
.header--transparent .nav__link:hover,.header--transparent .nav__item:focus-within>.nav__link,.header--transparent .icon-btn:hover{background:rgba(255,255,255,.1)}
.header--transparent .nav__link[aria-current="page"]{color:var(--accent)}
.header--transparent .nav__link[aria-current="page"]::after{background:var(--accent)}
.header--transparent .icon-btn .badge{border-color:var(--ink)}
.header--transparent .btn--dark{--bg:#fff;--fg:var(--ink);--bd:#fff}
.header--transparent .btn--dark:hover{--bg:var(--accent);--bd:var(--accent);--fg:var(--ink)}
.header--transparent.is-stuck{background:rgba(11,16,32,.86);backdrop-filter:saturate(160%) blur(16px);-webkit-backdrop-filter:saturate(160%) blur(16px);border-bottom-color:rgba(255,255,255,.08);box-shadow:0 12px 30px -18px rgba(0,0,0,.6)}
.header--transparent :focus-visible{outline-color:var(--accent)}
@media (max-width:992px){.header--transparent{margin-bottom:-72px}}

/* 4 — centered: logo on top, menu underneath */
@media (min-width:1101px){
  .header--center>.container{display:grid;grid-template-columns:1fr auto 1fr;grid-template-rows:auto auto;height:auto;gap:0 24px}
  .header--center.is-stuck>.container{height:auto}
  .header--center .brand{grid-column:2;grid-row:1;height:84px;transition:height .35s var(--ease)}
  .header--center .header__actions{grid-column:3;grid-row:1;justify-self:end}
  .header--center .nav{grid-column:1/-1;grid-row:2;margin:0;display:flex;justify-content:center;border-top:1px solid var(--line);padding:6px 0}
  .header--center.is-stuck .brand{height:64px}
  .header--center .header__lead{grid-column:1;grid-row:1;align-self:center;display:flex;gap:10px;align-items:center;font-size:.9rem;color:var(--muted)}
  .header--center .header__lead .ico{color:var(--primary);width:18px;height:18px}
  .header--center .header__lead a{color:var(--ink);font-weight:600}
}
.header__lead{display:none}

/* 5 — with side panel button */
.header--side .side-toggle{display:grid}
.header--side .header__cta{display:none}
.sidepanel{position:fixed;inset:0;z-index:110;visibility:hidden}
.sidepanel__overlay{position:absolute;inset:0;background:rgba(11,16,32,.5);opacity:0;transition:opacity .35s var(--ease)}
.sidepanel__box{position:absolute;inset:0 0 0 auto;width:min(440px,100%);background:#fff;overflow-y:auto;padding:40px 36px;display:grid;gap:24px;align-content:start;transform:translateX(100%);transition:transform .45s var(--ease)}
.sidepanel.is-open{visibility:visible}
.sidepanel.is-open .sidepanel__overlay{opacity:1}
.sidepanel.is-open .sidepanel__box{transform:none}
.sidepanel__close{position:absolute;right:20px;top:20px;background:var(--soft)}
.sidepanel__lead{color:var(--muted);font-size:1.05rem}
.sidepanel__gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.sidepanel__gallery img{aspect-ratio:1;object-fit:cover;border-radius:12px;background:var(--soft-2);width:100%}
.sidepanel__title{font-size:1.25rem}
.sidepanel .btn{width:100%}
.sidepanel .social a{width:42px;height:42px;background:var(--soft);color:var(--ink)}
.sidepanel .social a:hover{background:var(--ink);color:#fff}
@media (max-width:480px){.sidepanel__box{padding:32px 20px}}

/* =========================================================
   Footer variants (1 wide = default · 2 --medium · 3 --simple)
   ========================================================= */
.footer--medium .footer__cols{grid-template-columns:1.4fr 1fr 1.2fr 1.4fr}
.footer__subscribe p{font-size:.95rem;margin:-8px 0 18px}
.news-form--stack{flex-direction:column;border-radius:var(--r-md);background:transparent;border:0;padding:0;width:100%}
.news-form--stack input{height:52px;border:1px solid var(--ink-3);border-radius:var(--r-pill);background:rgba(255,255,255,.06)}
.news-form--stack input:focus{border-color:var(--accent)}
.news-form--stack .btn{width:100%}
.footer--simple{padding-top:56px}
.footer--simple__row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:28px;padding-bottom:48px}
.footer__inline{display:flex;flex-wrap:wrap;gap:8px 28px;font-weight:500}
.footer__inline a{color:#fff;transition:color .2s}
.footer__inline a:hover{color:var(--accent)}
.footer--simple .social a{width:44px;height:44px;border:1px solid var(--ink-3);color:#fff}
.footer--simple .social a:hover{background:var(--accent);color:var(--ink);border-color:var(--accent)}
@media (max-width:1200px){.footer--medium .footer__cols{grid-template-columns:1fr 1fr}}
@media (max-width:768px){.footer--simple__row{flex-direction:column;text-align:center}.footer__inline{justify-content:center}}
@media (max-width:480px){.footer--medium .footer__cols{grid-template-columns:1fr}}
.brand__dot{fill:var(--logo-dot,#D4FF3F)}
.news-form--stack input{flex:none}
.on-dark .logo-item:hover,.section--dark .logo-item:hover{color:#fff}

/* Mini cart — product thumbs, free-shipping meter, empty state (body.cart-is-empty) */
.minicart__thumb{overflow:hidden}
.minicart__thumb img{width:100%;height:100%;object-fit:cover}
.minicart__item a:hover{color:var(--primary)}
.minicart__free{display:grid;gap:8px;padding:12px 0 14px;border-top:1px solid var(--line);font-size:.84rem;color:var(--muted)}
.minicart__free b{color:var(--ink)}
.minicart__free .progress{width:100%}
.minicart__empty{display:none;text-align:center;justify-items:center;gap:10px;padding:12px 4px 4px}
.minicart__empty-ico{width:64px;height:64px;border-radius:20px;background:var(--primary-50);color:var(--primary);display:grid;place-items:center;margin-bottom:4px}
.minicart__empty-ico .ico{width:28px;height:28px}
.minicart__empty strong{color:var(--ink);font-size:1.05rem}
.minicart__empty p{color:var(--muted);font-size:.9rem;margin-bottom:6px}
.cart-is-empty .minicart__full{display:none}
.cart-is-empty .minicart__empty{display:grid}
.cart-is-empty .cart-count{display:none}
.modal__box{z-index:1}
.page-hero__meta>span{display:inline-flex;align-items:center;gap:8px}
.page-hero__meta .ico{width:18px;height:18px}
@media (max-width:480px){.btn{white-space:normal;text-align:center;line-height:1.25;padding-block:10px}}
.cta-band .eyebrow{color:var(--accent)}
/* style-guide fixes */
.tags a{height:auto;min-height:34px;padding-block:6px;max-width:100%;overflow-wrap:anywhere;line-height:1.3}
.btn:not(.btn--outline):not(.btn--dark):not(.btn--accent):active{--bg:var(--primary-press,#1A33C4);--bd:var(--primary-press,#1A33C4)}
.btn--dark:active{--bg:#000;--bd:#000}
.btn--outline .spinner,.btn--accent .spinner{border-color:rgba(11,16,32,.2);border-top-color:var(--ink)}
.btn[aria-disabled="true"],.btn.is-disabled{opacity:.45;pointer-events:none}
.btn.is-loading{pointer-events:none}
/* Refinements */
@media (max-width:480px){.news-form input{flex:none}}
.field__opt{color:var(--muted)!important;font-weight:500}
@media (max-width:600px){.tabs__list{width:100%;flex-wrap:wrap;border-radius:var(--r-md)}.tabs__list [role="tab"]{flex:1 1 auto;padding:0 14px}}
@media (max-width:480px){.pagination .pg-nav b{display:none}.pagination .pg-nav{padding:0;min-width:48px}.pagination{gap:6px}.pagination a,.pagination span{min-width:42px;height:42px;padding:0 10px}}
/* Refinements */
h1,h2,h3{text-wrap:balance}
h3{line-height:1.18}
@media (max-width:768px){.post-card--row .post-card__img{flex:none}.post-card--row .post-card__body{flex:1 0 auto}}
.post-card--quote .meta .ico{width:15px;height:15px}
.entry h2,.entry h3{margin-bottom:.6em}
.entry h2+*,.entry h3+*{margin-top:0}
@media (max-width:600px){.comment-list .children .children .children{margin-left:0;padding-left:10px}}
.logo-grid{border:1px solid var(--line);border-right:0;border-bottom:0}
@media (max-width:768px) and (min-width:361px){.footer__cols{grid-template-columns:1fr 1fr;gap:40px 24px}.footer__cols>.footer__about,.footer__cols>div:last-child{grid-column:1/-1}}
@media (max-width:768px){.footer__bar nav ul{justify-content:center;gap:8px 20px}.footer__big{font-size:22vw;margin-bottom:-.08em}}
.hours>span>span:first-child{color:var(--muted-on-dark);font-weight:400}
.hours>span>span:last-child{color:#fff;font-weight:500}
@media (max-width:600px){.to-top{bottom:84px}}
.sidepanel__hours{padding-top:20px;border-top:1px solid var(--line)}
.sidepanel__note{color:var(--muted);font-size:.85rem;margin-top:auto}
.minicart__items{max-height:min(320px,46vh);overflow-y:auto;margin-right:-8px;padding-right:8px;scrollbar-width:thin}
.minicart__item strong{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.minicart__free.is-done{color:var(--success)}
.minicart__free.is-done span:first-child{display:flex;align-items:center;gap:8px}
.minicart__free.is-done .ico{width:18px;height:18px}
.minicart__free.is-done .progress i{background:var(--success)}
.mega__link span,.mega__promo strong{text-wrap:pretty}

/* Navigation refinements */
html{scroll-padding-top:120px}
@media (max-width:992px){html{scroll-padding-top:96px}}
.lang.is-open .lang__menu{opacity:1;visibility:visible;transform:none}
.mnav a.is-current,.mnav__sub a.is-current{color:var(--primary);border-left-color:var(--primary)}
.dropdown a.is-current{color:var(--primary);font-weight:600}


/* ============================================================
   headers.css
   ============================================================ */
/* =========================================================
   CORWELL — Header skins & top bars (one per demo)
   build.py adds  .hdr--corporate | --consulting | --agency | --construction | --finance
   to <header class="header"> and injects src/partials/topbar-<demo>.html.
   Layout variants  (classic / top bar / transparent / centered / side)
   still come from header--* classes; these skins only restyle them.
   ========================================================= */

/* Optional header parts — hidden unless a skin enables them */
.hdr-status,.hdr-login,.hdr-kbd{display:none}
.nav__list{position:relative}
.nav__ind{position:absolute;left:0;top:50%;height:40px;width:0;border-radius:var(--r-pill);transform:translate(var(--x,0),-50%);transition:transform .45s cubic-bezier(.2,.8,.2,1),width .45s cubic-bezier(.2,.8,.2,1),opacity .25s;opacity:0;pointer-events:none;z-index:0}
.nav__list.has-ind .nav__ind{opacity:1}
.nav__item{z-index:1}

/* ---------- Shared top bar pieces ---------- */
.topbar .container{min-height:42px}
.tb-link{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;transition:color .2s}
.tb-link .ico{width:15px;height:15px}
.tb-marquee{overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);flex:1;min-width:0}
.tb-marquee__track{display:flex;width:max-content;animation:tbMarquee 48s linear infinite}
.tb-marquee:hover .tb-marquee__track{animation-play-state:paused}
.tb-marquee__track li{display:flex;align-items:center;gap:10px;padding:0 28px;white-space:nowrap;position:relative}
.tb-marquee__track li::after{content:"";position:absolute;right:0;top:50%;width:4px;height:4px;border-radius:50%;background:currentColor;opacity:.35;transform:translateY(-50%)}
@keyframes tbMarquee{to{transform:translateX(-50%)}}

/* =========================================================
   1. CORPORATE — floating "island" header + announcement rotator
   ========================================================= */
.tb--corporate{background:linear-gradient(90deg,#0B1020 0%,#151C3A 50%,#0B1020 100%);position:relative;overflow:hidden}
.tb--corporate::before{content:"";position:absolute;inset:0;background:radial-gradient(400px 60px at 18% 50%,rgba(212,255,63,.12),transparent 70%),radial-gradient(400px 60px at 80% 50%,rgba(43,76,255,.25),transparent 70%);pointer-events:none}
.tb--corporate .container{position:relative}
.tb-rotator{display:flex;align-items:center;gap:12px;min-width:0;flex:1}
.tb-chip{flex:none;height:22px;padding:0 10px;border-radius:var(--r-pill);background:var(--accent);color:var(--ink);font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;display:grid;place-items:center}
.tb-rotator__list{position:relative;height:22px;flex:1;min-width:0}
.tb-rotator__list li{position:absolute;inset:0;display:flex;align-items:center;opacity:0;transform:translateY(10px);transition:opacity .5s var(--ease),transform .5s var(--ease)}
.tb-rotator__list li.is-on{opacity:1;transform:none}
.tb-rotator__list li.is-out{opacity:0;transform:translateY(-10px)}
.tb-rotator__list a{color:#E3E6F0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.tb-rotator__list a:hover{color:#fff}
.tb-rotator__list a span{color:var(--accent);margin-left:4px}

.hdr--corporate{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;border-bottom:0;padding-top:14px;transition:padding .45s var(--ease)}
.hdr--corporate>.container{height:76px;width:calc(100% - var(--gutter)*2);max-width:var(--container);padding:0 10px 0 22px;border-radius:24px;background:rgba(255,255,255,.78);backdrop-filter:saturate(180%) blur(18px);-webkit-backdrop-filter:saturate(180%) blur(18px);border:1px solid rgba(11,16,32,.07);box-shadow:0 1px 0 rgba(255,255,255,.7) inset,0 18px 40px -26px rgba(11,16,32,.35);transition:max-width .55s cubic-bezier(.2,.8,.2,1),height .45s var(--ease),box-shadow .35s,background .35s}
.hdr--corporate.is-stuck{padding-top:8px;box-shadow:none;border-bottom:0}
.hdr--corporate.is-stuck>.container{height:64px;max-width:1180px;background:rgba(255,255,255,.88);box-shadow:0 22px 50px -24px rgba(11,16,32,.38)}
.hdr--corporate .nav__ind{background:var(--soft-2)}
.hdr--corporate .nav__link{background:transparent!important;position:relative}
.hdr--corporate .nav__link[aria-current="page"]{color:var(--primary)}
.hdr--corporate .header__cta{border-radius:16px}
@media (max-width:1100px){.hdr--corporate>.container{padding:0 8px 0 18px}}
@media (max-width:992px){
  .tb--corporate{display:block}
  .tb--corporate .topbar__right{display:none}
  .tb--corporate .container{min-height:38px;font-size:.8rem}
  .hdr--corporate{padding-top:10px}
  .hdr--corporate>.container,.hdr--corporate.is-stuck>.container{height:62px;border-radius:20px}
}
@media (max-width:480px){.hdr--corporate>.container{width:calc(100% - 20px);padding:0 6px 0 14px}}

/* =========================================================
   2. CONSULTING — editorial header + live office clocks
   ========================================================= */
.tb--consulting{background:#F3EEE3;color:#4A4A3F;border-bottom:1px solid rgba(14,46,34,.1);font-size:.8rem}
.tb--consulting .container{min-height:40px}
.tb-clocks{display:flex;align-items:center;gap:26px}
.tb-clocks li{display:flex;align-items:center;gap:8px;white-space:nowrap}
.tb-clocks span{letter-spacing:.08em;text-transform:uppercase;font-size:.7rem;font-weight:600;color:#6B6A5C}
.tb-clocks time{font-family:var(--f-serif);font-style:italic;font-size:1.05rem;color:var(--ink);font-variant-numeric:tabular-nums}
.tb-clocks i{width:6px;height:6px;border-radius:50%;background:#B9B4A3}
.tb-clocks li.is-open i{background:#1E9E62;box-shadow:0 0 0 3px rgba(30,158,98,.18)}
.tb-note{font-family:var(--f-serif);font-style:italic;font-size:.95rem;color:#3E4A44}
.tb--consulting .lang>button{color:#4A4A3F}
.tb--consulting .lang>button:hover{color:var(--ink)}

.hdr--consulting{background:rgba(251,249,244,.9);border-bottom:1px solid rgba(14,46,34,.1)}
.hdr--consulting>.container{height:92px}
.hdr--consulting.is-stuck{border-bottom-color:rgba(14,46,34,.14);box-shadow:0 12px 30px -24px rgba(14,46,34,.4)}
.hdr--consulting.is-stuck>.container{height:72px}
.hdr--consulting .nav__list{counter-reset:nav;gap:2px}
.hdr--consulting .nav__link{background:none!important;border-radius:0;padding:0 14px;font-size:.92rem;letter-spacing:.01em;gap:4px}
.hdr--consulting .nav__item>.nav__link::before{counter-increment:nav;content:"0" counter(nav);font-family:var(--f-serif);font-style:italic;font-size:.82rem;color:var(--primary);opacity:.75;margin-right:4px;transform:translateY(-4px)}
.hdr--consulting .nav__link>.ico{display:none}
.hdr--consulting .nav__link{background-image:linear-gradient(var(--primary),var(--primary))!important;background-repeat:no-repeat!important;background-size:0 1.5px!important;background-position:14px calc(100% - 8px)!important;transition:background-size .35s var(--ease),color .2s}
.hdr--consulting .nav__link:hover,.hdr--consulting .nav__item:focus-within>.nav__link,.hdr--consulting .nav__link[aria-current="page"]{background-size:calc(100% - 28px) 1.5px!important;color:var(--ink)}
.hdr--consulting .nav__link[aria-current="page"]::after{display:none}
.hdr--consulting .header__cta{--bg:transparent;--fg:var(--ink);--bd:var(--ink);border-radius:0;min-height:46px;letter-spacing:.02em}
.hdr--consulting .header__cta:hover{--bg:var(--primary);--fg:#fff;--bd:var(--primary)}
.hdr--consulting .icon-btn:hover{background:rgba(14,46,34,.06)}
@media (max-width:1200px){.tb-note{display:none}}
@media (max-width:992px){.hdr--consulting>.container,.hdr--consulting.is-stuck>.container{height:72px}}

/* =========================================================
   3. AGENCY — dark glass nav pill, sliding glow, ⌘K, status + news ticker
   ========================================================= */
.tb--agency{background:#05070F;border-bottom:1px solid rgba(255,255,255,.07);font-size:.8rem;color:#A9B0C7}
.tb--agency .tb-marquee{height:38px;display:flex;align-items:center}
.tb--agency .tb-marquee__track{animation-duration:55s}
.tb--agency li b{font-weight:600;background:linear-gradient(90deg,var(--accent),#9B86FF);-webkit-background-clip:text;background-clip:text;color:transparent;text-transform:uppercase;letter-spacing:.06em;font-size:.72rem}

.hdr--agency>.container{gap:20px}
.hdr--agency .nav{padding:5px;border-radius:var(--r-pill);border:1px solid transparent;background:linear-gradient(rgba(14,16,34,.72),rgba(14,16,34,.72)) padding-box,linear-gradient(120deg,rgba(155,134,255,.75),rgba(255,255,255,.08) 40%,rgba(212,255,63,.55)) border-box;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 20px 50px -30px rgba(106,77,255,.6)}
.hdr--agency .nav__list{gap:0}
.hdr--agency .nav__link{height:40px;padding:0 15px;font-size:.92rem;background:transparent!important;color:#DADDF0}
.hdr--agency .nav__link:hover,.hdr--agency .nav__item:focus-within>.nav__link{color:#fff}
.hdr--agency .nav__link[aria-current="page"]{color:#fff}
.hdr--agency .nav__link[aria-current="page"]::after{display:none}
.hdr--agency .nav__ind{background:linear-gradient(120deg,var(--primary,#6A4DFF),#8E73FF);box-shadow:0 8px 24px -6px rgba(106,77,255,.75),inset 0 1px 0 rgba(255,255,255,.25)}
.hdr--agency .hdr-status{display:inline-flex;align-items:center;gap:8px;height:32px;padding:0 12px;border-radius:var(--r-pill);background:rgba(212,255,63,.08);border:1px solid rgba(212,255,63,.25);color:#E6FF9A;font-size:.78rem;font-weight:600;white-space:nowrap;margin-right:6px}
.hdr--agency .hdr-status i{width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 0 rgba(212,255,63,.6);animation:hdrPulse 2s infinite}
@keyframes hdrPulse{70%{box-shadow:0 0 0 8px rgba(212,255,63,0)}100%{box-shadow:0 0 0 0 rgba(212,255,63,0)}}
.hdr--agency .search-toggle{width:auto;height:40px;padding:0 8px 0 13px;gap:10px;display:inline-flex;align-items:center;border:1px solid rgba(255,255,255,.14);border-radius:var(--r-pill);background:rgba(255,255,255,.04)}
.hdr--agency .hdr-kbd{display:inline-grid;place-items:center;height:24px;padding:0 7px;border-radius:7px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);font:600 .72rem/1 ui-monospace,SFMono-Regular,Menlo,monospace;color:#C9CDE0}
.hdr--agency .header__cta{border-radius:var(--r-pill)}
.hdr--agency.is-stuck{background:rgba(5,7,15,.72)}
@media (max-width:1520px){.hdr--agency .nav__link{padding:0 12px}.hdr--agency>.container{gap:14px}}
@media (max-width:1360px){.hdr--agency .hdr-status{display:none}}
@media (max-width:1240px){.hdr--agency .hdr-kbd{display:none}.hdr--agency .search-toggle{width:46px;padding:0;justify-content:center;border-color:transparent;background:none}}
@media (max-width:992px){.tb--agency{display:block}}

/* =========================================================
   4. CONSTRUCTION — centered logo, 24/7 line, full-bleed dark nav band
   ========================================================= */
.tb--construction{position:relative;background:#101418;font-size:.8rem;color:#B7BFC9}
.tb--construction::before{content:"";position:absolute;left:0;top:0;bottom:0;width:clamp(16px,2vw,28px);background:repeating-linear-gradient(-45deg,#FFC21A 0 8px,#101418 8px 16px)}
.tb-facts{display:flex;gap:26px;align-items:center}
.tb-facts li{white-space:nowrap;display:flex;align-items:center;gap:8px}
.tb-facts li+li::before{content:"";width:5px;height:5px;background:#FFC21A;transform:rotate(45deg);margin-right:18px;margin-left:-14px}
.tb-safety b{color:#FFC21A;font-size:.95rem;font-variant-numeric:tabular-nums}

.hdr--construction{background:#fff;border-bottom:0}
.hdr--construction .header__lead{gap:12px}
.hdr--construction .header__lead-ico{display:grid;place-items:center;width:44px;height:44px;background:var(--primary);color:#fff;flex:none}
.hdr--construction .header__lead-ico .ico{width:20px;height:20px;color:#fff}
.hdr--construction .header__lead small{display:block;font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.hdr--construction .header__lead a{font-weight:700;font-size:1.05rem;color:var(--ink);letter-spacing:-.01em}
.hdr--construction .header__cta{border-radius:0;--bg:var(--primary);--bd:var(--primary)}
@media (min-width:1101px){
  .hdr--construction .nav{background:#101418;border-image:linear-gradient(#101418,#101418) fill 0/0/0 100vmax;border-top:0;padding:0}
  .hdr--construction .nav__link{height:54px;border-radius:0;padding:0 20px;color:#E8EBEF;text-transform:uppercase;letter-spacing:.08em;font-size:.8rem;font-weight:700;background:none!important;position:relative}
  .hdr--construction .nav__link:hover,.hdr--construction .nav__item:focus-within>.nav__link{background:rgba(255,255,255,.06)!important;color:#fff}
  .hdr--construction .nav__link[aria-current="page"]{color:#FFC21A}
  .hdr--construction .nav__link[aria-current="page"]::after{left:20px;right:20px;bottom:0;width:auto;height:3px;border-radius:0;transform:none;background:#FFC21A}
  .hdr--construction .nav__item+.nav__item>.nav__link::before{content:"";position:absolute;left:0;top:50%;width:1px;height:16px;background:rgba(255,255,255,.12);transform:translateY(-50%)}
  .hdr--construction .dropdown,.hdr--construction .mega{border-radius:0}
}

/* =========================================================
   5. FINANCE — market ticker + refined header with client login
   ========================================================= */
.tb--finance{background:#0A1E3A;color:#9FB0C8;font-size:.8rem;border-bottom:1px solid rgba(255,255,255,.06)}
.tb-market{display:flex;align-items:center;height:38px}
.tb-market__label{flex:none;display:flex;align-items:center;gap:8px;padding:0 18px 0 var(--gutter);height:100%;font-weight:700;color:#fff;letter-spacing:.04em;text-transform:uppercase;font-size:.72rem;border-right:1px solid rgba(255,255,255,.08);background:#0A1E3A;position:relative;z-index:1}
.tb-market__label small{font-weight:500;text-transform:none;letter-spacing:0;color:#7E8FA8;font-size:.72rem}
.tb-market__label i{width:7px;height:7px;border-radius:50%;background:#5FE3C0;box-shadow:0 0 0 0 rgba(95,227,192,.6);animation:hdrPulse2 2s infinite}
@keyframes hdrPulse2{70%{box-shadow:0 0 0 7px rgba(61,214,140,0)}100%{box-shadow:0 0 0 0 rgba(61,214,140,0)}}
.tb--finance .tb-marquee__track{animation-duration:60s}
.tb--finance li span{color:#9FB0C8}
.tb--finance li b{color:#fff;font-weight:600;font-variant-numeric:tabular-nums}
.tb--finance li em{display:inline-flex;align-items:center;gap:2px;font-style:normal;font-weight:600;font-variant-numeric:tabular-nums}
.tb--finance li em .ico{width:13px;height:13px;stroke-width:2.4}
.tb--finance li.up em{color:#5FE3C0}
.tb--finance li.up em .ico{transform:rotate(180deg)}
.tb--finance li.down em{color:#FF7A7A}

.hdr--finance{background:rgba(255,255,255,.92);border-bottom:1px solid var(--line)}
.hdr--finance>.container{height:84px}
.hdr--finance.is-stuck>.container{height:70px}
.hdr--finance .nav__link{background:none!important;font-size:.93rem;color:#33405A;padding:0 13px}
.hdr--finance .nav__link::before{content:"";position:absolute;left:13px;right:13px;bottom:8px;height:2px;border-radius:2px;background:var(--primary);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}
.hdr--finance .nav__link{position:relative}
.hdr--finance .nav__link:hover::before,.hdr--finance .nav__item:focus-within>.nav__link::before,.hdr--finance .nav__link[aria-current="page"]::before{transform:none}
.hdr--finance .nav__link[aria-current="page"]{color:var(--ink);font-weight:600}
.hdr--finance .nav__link[aria-current="page"]::after{display:none}
.hdr--finance .hdr-login{display:inline-flex;align-items:center;gap:8px;height:42px;padding:0 16px;border-radius:12px;border:1.5px solid var(--line);font-weight:600;font-size:.88rem;color:var(--ink);white-space:nowrap;transition:.2s;margin-right:4px}
.hdr--finance .hdr-login .ico{width:16px;height:16px;color:var(--primary)}
.hdr--finance .hdr-login:hover{border-color:var(--ink)}
.hdr--finance .header__cta{display:inline-flex;border-radius:12px;--bg:var(--primary);--bd:var(--primary)}
.hdr--finance .side-toggle{border:1.5px solid var(--line);border-radius:12px;width:44px;height:44px}
@media (max-width:1440px){.hdr--finance .header__cta{display:none}}
@media (max-width:1200px){.hdr--finance .hdr-login{display:none}}
@media (max-width:992px){.tb--finance{display:block}.tb-market__label small{display:none}.hdr--finance>.container,.hdr--finance.is-stuck>.container{height:68px}}

/* Reduced motion: stop marquees and pulses, keep content readable */
@media (prefers-reduced-motion:reduce){
  .tb-marquee__track{animation:none}
  .tb-marquee{overflow-x:auto}
  .hdr--agency .hdr-status i,.tb-market__label i{animation:none}
}
@media (max-width:1280px){.hdr--consulting .nav__item>.nav__link::before{display:none}.hdr--consulting .nav__link{padding:0 10px;background-position:10px calc(100% - 8px)!important}.hdr--consulting .nav__link:hover,.hdr--consulting .nav__item:focus-within>.nav__link,.hdr--consulting .nav__link[aria-current="page"]{background-size:calc(100% - 20px) 1.5px!important}}

/* Agency skin on pages without a dark hero: solid dark bar instead of transparent */
.hdr--agency:not(.header--transparent){background:#070A16;backdrop-filter:none;border-bottom:1px solid rgba(255,255,255,.08)}
.hdr--agency:not(.header--transparent).is-stuck{background:rgba(7,10,22,.9);backdrop-filter:saturate(160%) blur(16px)}
.hdr--agency:not(.header--transparent) .brand,.hdr--agency:not(.header--transparent) .icon-btn{color:#fff}
.hdr--agency:not(.header--transparent) .icon-btn:hover{background:rgba(255,255,255,.1)}
.hdr--agency:not(.header--transparent) .btn--dark{--bg:#fff;--fg:var(--ink);--bd:#fff}
.hdr--agency:not(.header--transparent) .btn--dark:hover{--bg:var(--accent);--bd:var(--accent)}
.hdr--agency:not(.header--transparent) .icon-btn .badge{border-color:#070A16}


/* ============================================================
   blocks.css
   ============================================================ */
/* =========================================================
   CORWELL — Gutenberg core block styles (front end)
   Styles real WordPress block markup (wp-block-*, is-style-*, has-*-color …).
   Ships with the theme as-is. Requires corwell.css + components.css (.entry).
   Post content is rendered inside `.entry` (classic templates) or
   `.wp-block-post-content.entry` (block templates); `.wp-site-blocks` is the
   block-theme root. Presets below mirror theme.json (settings.color.palette,
   settings.typography.fontSizes, settings.layout).
   ========================================================= */

/* ---------------------------------------------------------
   1. Presets — mirror theme.json
   --------------------------------------------------------- */
:root{
  --wp--preset--color--ink:#0B1020;
  --wp--preset--color--primary:#2B4CFF;
  --wp--preset--color--primary-dark:#1F3BE0;
  --wp--preset--color--primary-light:#EEF1FF;
  --wp--preset--color--accent:#D4FF3F;
  --wp--preset--color--body:#2A3042;
  --wp--preset--color--muted:#5B6275;
  --wp--preset--color--soft:#F4F5F9;
  --wp--preset--color--line:#E3E6EE;
  --wp--preset--color--white:#FFFFFF;
  --wp--preset--color--success:#12A150;
  --wp--preset--color--danger:#D92D20;
  --wp--preset--font-size--small:.875rem;
  --wp--preset--font-size--medium:1.0625rem;
  --wp--preset--font-size--large:clamp(1.25rem,1.1rem + .6vw,1.5rem);
  --wp--preset--font-size--x-large:clamp(1.6rem,1.3rem + 1vw,2.125rem);
  --wp--preset--font-size--xx-large:clamp(2.25rem,1.6rem + 2.4vw,3.5rem);
  --wp--style--global--content-size:760px;
  --wp--style--global--wide-size:1200px;
  --wp--style--block-gap:1.5rem;
  --wp--style--root--padding-left:var(--gutter);
  --wp--style--root--padding-right:var(--gutter);
}

.has-ink-color{color:var(--wp--preset--color--ink)!important}
.has-primary-color{color:var(--wp--preset--color--primary)!important}
.has-primary-dark-color{color:var(--wp--preset--color--primary-dark)!important}
.has-primary-light-color{color:var(--wp--preset--color--primary-light)!important}
.has-accent-color{color:var(--wp--preset--color--accent)!important}
.has-body-color{color:var(--wp--preset--color--body)!important}
.has-muted-color{color:var(--wp--preset--color--muted)!important}
.has-soft-color{color:var(--wp--preset--color--soft)!important}
.has-line-color{color:var(--wp--preset--color--line)!important}
.has-white-color{color:var(--wp--preset--color--white)!important}
.has-success-color{color:var(--wp--preset--color--success)!important}
.has-danger-color{color:var(--wp--preset--color--danger)!important}

.has-ink-background-color{background-color:var(--wp--preset--color--ink)!important}
.has-primary-background-color{background-color:var(--wp--preset--color--primary)!important}
.has-primary-dark-background-color{background-color:var(--wp--preset--color--primary-dark)!important}
.has-primary-light-background-color{background-color:var(--wp--preset--color--primary-light)!important}
.has-accent-background-color{background-color:var(--wp--preset--color--accent)!important}
.has-body-background-color{background-color:var(--wp--preset--color--body)!important}
.has-muted-background-color{background-color:var(--wp--preset--color--muted)!important}
.has-soft-background-color{background-color:var(--wp--preset--color--soft)!important}
.has-line-background-color{background-color:var(--wp--preset--color--line)!important}
.has-white-background-color{background-color:var(--wp--preset--color--white)!important}
.has-success-background-color{background-color:var(--wp--preset--color--success)!important}
.has-danger-background-color{background-color:var(--wp--preset--color--danger)!important}

.has-ink-border-color{border-color:var(--wp--preset--color--ink)!important}
.has-primary-border-color{border-color:var(--wp--preset--color--primary)!important}
.has-accent-border-color{border-color:var(--wp--preset--color--accent)!important}
.has-line-border-color{border-color:var(--wp--preset--color--line)!important}

.has-small-font-size{font-size:var(--wp--preset--font-size--small)!important}
.has-medium-font-size{font-size:var(--wp--preset--font-size--medium)!important}
.has-large-font-size{font-size:var(--wp--preset--font-size--large)!important}
.has-x-large-font-size{font-size:var(--wp--preset--font-size--x-large)!important}
.has-xx-large-font-size{font-size:var(--wp--preset--font-size--xx-large)!important}
:is(p,li).has-large-font-size,:is(p,li).has-x-large-font-size{line-height:1.45}
p.has-xx-large-font-size{line-height:1.15;letter-spacing:-.03em}

.has-text-align-left{text-align:left}
.has-text-align-center{text-align:center}
.has-text-align-right{text-align:right}

/* Text on dark / saturated backgrounds: headings + links follow the text colour */
.has-text-color :where(h1,h2,h3,h4,h5,h6){color:inherit}
.has-background:is(.has-ink-background-color,.has-primary-background-color,.has-primary-dark-background-color,.has-body-background-color) a:not(.wp-element-button){color:inherit}
:is(p,h1,h2,h3,h4,h5,h6).has-background{padding:1.15em 1.5em;border-radius:var(--r-md)}

.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;word-wrap:normal!important}

/* ---------------------------------------------------------
   2. Layout — flow / constrained / flex / grid + alignments
   --------------------------------------------------------- */
.has-global-padding{padding-left:var(--wp--style--root--padding-left);padding-right:var(--wp--style--root--padding-right)}
.is-layout-constrained>:where(:not(.alignleft):not(.alignright):not(.alignfull)){max-width:var(--wp--style--global--content-size);margin-left:auto!important;margin-right:auto!important}
.is-layout-constrained>.alignwide{max-width:var(--wp--style--global--wide-size)}
.is-layout-constrained>.alignfull{max-width:none}
.has-global-padding>.alignfull{margin-left:calc(var(--wp--style--root--padding-left) * -1)!important;margin-right:calc(var(--wp--style--root--padding-right) * -1)!important;width:auto}
.is-layout-constrained>.alignleft{float:left;margin-inline:0 2em}
.is-layout-constrained>.alignright{float:right;margin-inline:2em 0}

/* Flow spacing between inner blocks (beats the base p{margin:0}; headings keep their larger .entry margins) */
:is(.is-layout-flow,.is-layout-constrained,.wp-block-media-text__content)>*{margin-block:0}
:is(.is-layout-flow,.is-layout-constrained,.wp-block-media-text__content)>*+*{margin-block-start:1.1em}
.entry :is(.is-layout-flow,.is-layout-constrained,.wp-block-cover__inner-container,.wp-block-media-text__content,.wp-block-column)>:first-child{margin-top:0}

.is-layout-flex{display:flex;flex-wrap:wrap;align-items:center;gap:var(--wp--style--block-gap)}
.is-layout-flex.is-nowrap{flex-wrap:nowrap}
.is-layout-flex.is-vertical{flex-direction:column;align-items:flex-start}
.entry .is-layout-flex>*,.is-layout-flex>*{margin:0}
.is-content-justification-left{justify-content:flex-start}
.is-content-justification-center{justify-content:center}
.is-content-justification-right{justify-content:flex-end}
.is-content-justification-space-between{justify-content:space-between}
.is-layout-flex.is-vertical.is-content-justification-center{align-items:center}
.is-layout-flex.is-vertical.is-content-justification-right{align-items:flex-end}
.is-layout-flex.is-vertical.is-content-justification-stretch{align-items:stretch}
.is-layout-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(12rem,100%),1fr));gap:var(--wp--style--block-gap)}
.entry .is-layout-grid>*{margin:0}

/* Lists rendered by blocks are UI, not prose: drop the .entry bullets */
.entry :is(.wp-block-gallery,.wp-block-latest-posts,.wp-block-latest-comments,.wp-block-archives-list,.wp-block-categories-list,.wp-block-social-links,.wp-block-navigation,.wp-block-post-template,.wp-block-page-list){padding-left:0;list-style:none}
.entry :is(.wp-block-gallery,.wp-block-latest-posts,.wp-block-latest-comments,.wp-block-archives-list,.wp-block-categories-list,.wp-block-social-links,.wp-block-navigation,.wp-block-post-template,.wp-block-page-list) li::before{content:none}
.entry :is(.wp-block-gallery,.wp-block-latest-posts,.wp-block-latest-comments,.wp-block-archives-list,.wp-block-categories-list,.wp-block-social-links,.wp-block-navigation,.wp-block-post-template,.wp-block-page-list) li+li{margin-top:0}
.entry :is(.wp-block-categories-list,.wp-block-navigation) ul{padding-left:0;list-style:none}

/* ---------------------------------------------------------
   3. Text blocks
   --------------------------------------------------------- */
/* Paragraph */
.has-drop-cap:not(:focus)::first-letter{float:left;font-family:var(--f-serif);font-size:4.6em;font-weight:400;font-style:normal;line-height:.8;margin:.08em .12em 0 0;color:var(--primary);text-transform:uppercase}
.has-drop-cap.has-text-color:not(:focus)::first-letter{color:inherit}

/* Heading */
.entry h1{font-size:clamp(2.25rem,1.6rem + 2.4vw,3.25rem);letter-spacing:-.045em;margin-top:1.4em}
.entry :is(h5,h6){color:var(--ink);font-weight:600;letter-spacing:-.01em;line-height:1.3}
.entry h6{letter-spacing:.06em}
.wp-block-heading.has-text-align-center{margin-inline:auto}

/* List */
.entry ol.wp-block-list ol{list-style:lower-alpha}
.entry .wp-block-list.has-background{padding:1.25em 1.5em 1.25em 2.6em;border-radius:var(--r-md)}

/* Quote — default uses .entry blockquote; large style is editorial */
.wp-block-quote p+p{margin-top:.8em}
.wp-block-quote cite,.wp-block-quote footer{display:block;margin-top:14px;font-style:normal;font-size:.92rem;color:var(--muted);font-weight:500;letter-spacing:0}
.entry .wp-block-quote.has-text-align-center{border-left:0;border-top:4px solid var(--primary);border-radius:0 0 var(--r-md) var(--r-md)}
.entry .wp-block-quote.has-text-align-right{border-left:0;border-right:4px solid var(--primary);border-radius:var(--r-md) 0 0 var(--r-md)}
.entry .wp-block-quote:is(.is-style-large,.is-large){position:relative;background:none;border:0;border-radius:0;padding:0 0 0 clamp(44px,6vw,72px);font-family:var(--f-serif);font-style:italic;font-weight:400;font-size:clamp(1.55rem,1.25rem + 1.2vw,2.15rem);line-height:1.3;letter-spacing:-.01em}
.entry .wp-block-quote:is(.is-style-large,.is-large)::before{content:"\201C";position:absolute;left:0;top:-.08em;font-size:2.6em;line-height:1;color:var(--primary);font-style:normal}
.wp-block-quote:is(.is-style-large,.is-large) cite{font-family:var(--f-sans);font-style:normal;font-size:.9rem;letter-spacing:.04em;text-transform:uppercase}
.entry .wp-block-quote.has-background{border-left:0;border-radius:var(--r-md)}

/* Pullquote */
.wp-block-pullquote{margin-inline:0;padding:clamp(32px,4vw,48px) clamp(8px,2vw,24px);border-top:2px solid var(--ink);border-bottom:2px solid var(--ink);text-align:center;color:var(--ink);overflow-wrap:break-word}
.entry .wp-block-pullquote blockquote{margin:0;padding:0;border:0;background:none;border-radius:0;font-family:var(--f-serif);font-style:italic;font-weight:400;font-size:clamp(1.6rem,1.2rem + 1.4vw,2.3rem);line-height:1.25;letter-spacing:-.01em;color:inherit}
.wp-block-pullquote p+p{margin-top:.6em}
.wp-block-pullquote cite{display:block;margin-top:18px;font-family:var(--f-sans);font-style:normal;font-size:.86rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.wp-block-pullquote.has-background{border:0;border-radius:var(--r-lg);padding:clamp(36px,5vw,64px) clamp(24px,5vw,56px)}
.wp-block-pullquote.has-text-color cite{color:inherit;opacity:.78}
.wp-block-pullquote.alignleft,.wp-block-pullquote.alignright{max-width:min(320px,50%)}
.wp-block-pullquote.alignleft{text-align:left}
.wp-block-pullquote.alignright{text-align:right}
.entry .wp-block-pullquote:is(.alignleft,.alignright) blockquote{font-size:1.5rem}

/* Code / Preformatted / Verse */
.wp-block-code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;background:var(--ink);color:#E3E6F0;padding:22px 24px;border-radius:var(--r-md);overflow-x:auto;font-size:.9rem;line-height:1.65;white-space:pre;tab-size:2}
.wp-block-code code{display:block;font-family:inherit;font-size:inherit;white-space:inherit;background:none;color:inherit;padding:0;border-radius:0}
.entry pre.wp-block-preformatted{background:var(--soft);color:var(--text);border:1px solid var(--line);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.92rem;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere}
.entry pre.wp-block-verse{background:none;color:var(--ink);font-family:var(--f-serif);font-size:clamp(1.2rem,1.1rem + .4vw,1.4rem);line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere;padding:4px 0 4px 24px;border-left:2px solid var(--line);border-radius:0}

/* Table (+ stripes style, header/footer, caption) */
.wp-block-table{margin-inline:0;overflow-x:auto;border:1px solid var(--line);border-radius:var(--r-md);background:#fff;-webkit-overflow-scrolling:touch}
.wp-block-table table{width:100%;min-width:520px;border-collapse:collapse;font-size:.95rem}
.wp-block-table .has-fixed-layout{table-layout:fixed}
.wp-block-table :is(th,td){padding:14px 16px;border:0;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;overflow-wrap:break-word}
.entry .wp-block-table thead th{background:var(--soft);color:var(--ink);font-weight:600;font-size:.9rem;border-bottom:1px solid var(--line)}
.wp-block-table tbody tr:last-child :is(td,th){border-bottom:0}
.wp-block-table tfoot :is(td,th){background:var(--soft);color:var(--ink);font-weight:600;border-top:1px solid var(--line);border-bottom:0}
.wp-block-table :is(th,td).has-text-align-center{text-align:center}
.wp-block-table :is(th,td).has-text-align-right{text-align:right}
.entry .wp-block-table figcaption{position:sticky;left:0;margin:0;padding:12px 16px;border-top:1px solid var(--line);text-align:left;color:var(--muted);font-size:.86rem}
.entry .wp-block-table.is-style-stripes thead th{background:var(--ink);color:#fff;border-bottom:0}
.wp-block-table.is-style-stripes :is(td,th){border-bottom:0}
.wp-block-table.is-style-stripes tbody tr:nth-child(even){background:var(--soft)}
.entry .wp-block-table.is-style-stripes tbody tr:hover{background:var(--primary-50)}
.wp-block-table.is-style-stripes tfoot :is(td,th){background:#fff;border-top:2px solid var(--ink)}

/* ---------------------------------------------------------
   4. Media blocks
   --------------------------------------------------------- */
/* Image */
.wp-block-image{margin-inline:0}
.wp-block-image img{height:auto;max-width:100%;vertical-align:bottom;background:var(--soft-2);border-radius:var(--r-md)}
.wp-block-image :where(.alignwide,.alignfull) img,.wp-block-image:is(.alignwide,.alignfull) img,.wp-block-image.size-full img{width:100%}
.wp-block-image.alignfull img{border-radius:0}
.wp-block-image.is-style-rounded img{border-radius:9999px}
.wp-block-image.aligncenter{display:table;margin-inline:auto}
.wp-block-image.aligncenter>figcaption{display:table-caption;caption-side:bottom}
.wp-block-image a{display:block;border-radius:var(--r-md);overflow:hidden}
.wp-block-image a img{transition:transform .8s var(--ease)}
.wp-block-image a:hover img{transform:scale(1.03)}
.wp-element-caption,.entry .wp-element-caption{color:var(--muted);font-size:.86rem;line-height:1.5;margin-top:10px;text-align:center}
.wp-block-image.alignleft .wp-element-caption,.wp-block-image.alignright .wp-element-caption{text-align:left}

/* Gallery (nested images, 2–8 columns, cropped) */
.wp-block-gallery.has-nested-images{--gap:var(--wp--style--gallery-gap-default,12px);display:flex;flex-wrap:wrap;align-items:normal;gap:var(--gap);margin-inline:0}
.wp-block-gallery.has-nested-images figure.wp-block-image{position:relative;display:flex;flex-direction:column;flex-grow:1;justify-content:center;margin:0;max-width:100%;width:calc(50% - var(--gap) / 2);border-radius:var(--r-sm);overflow:hidden;background:var(--soft-2)}
.wp-block-gallery.has-nested-images.columns-1 figure.wp-block-image{width:100%}
.wp-block-gallery.has-nested-images:is(.columns-default,.columns-3) figure.wp-block-image{width:calc(33.333% - var(--gap) * 2 / 3)}
.wp-block-gallery.has-nested-images.columns-4 figure.wp-block-image{width:calc(25% - var(--gap) * 3 / 4)}
.wp-block-gallery.has-nested-images.columns-5 figure.wp-block-image{width:calc(20% - var(--gap) * 4 / 5)}
.wp-block-gallery.has-nested-images.columns-6 figure.wp-block-image{width:calc(16.666% - var(--gap) * 5 / 6)}
.wp-block-gallery.has-nested-images figure.wp-block-image img{display:block;width:100%;max-width:100%;height:auto;border-radius:0;background:none}
.wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image img{flex:1 0 0%;height:100%;aspect-ratio:4/3;object-fit:cover}
.wp-block-gallery.has-nested-images figure.wp-block-image>a{display:flex;flex:1 0 0%;flex-direction:column;border-radius:0}
.entry .wp-block-gallery.has-nested-images figure.wp-block-image figcaption{position:absolute;inset:auto 0 0;margin:0;padding:32px 12px 10px;max-height:60%;overflow:auto;background:linear-gradient(0deg,rgba(11,16,32,.78),transparent);color:#fff;font-size:.8rem;line-height:1.4;text-align:center;scrollbar-width:none}
.wp-block-gallery.has-nested-images figure.wp-block-image:hover img{transform:scale(1.04)}
.wp-block-gallery.has-nested-images figure.wp-block-image img{transition:transform .8s var(--ease)}
.entry .wp-block-gallery .blocks-gallery-caption{flex-basis:100%;width:100%;margin-top:4px}
@media (max-width:600px){
  .wp-block-gallery.has-nested-images:is(.columns-default,.columns-3,.columns-4,.columns-5,.columns-6) figure.wp-block-image{width:calc(50% - var(--gap) / 2)}
}

/* Cover */
.wp-block-cover,.wp-block-cover-image{position:relative;isolation:isolate;display:flex;align-items:center;justify-content:center;min-height:430px;padding:clamp(28px,5vw,64px);overflow:hidden;border-radius:var(--r-lg);background:var(--ink-2);color:#fff;overflow-wrap:break-word}
.wp-block-cover.alignfull{border-radius:0}
.wp-block-cover.is-light{color:var(--ink)}
.wp-block-cover .wp-block-cover__image-background,.wp-block-cover .wp-block-cover__video-background{position:absolute;inset:0;z-index:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:0;border:0;border-radius:0;object-fit:cover;box-shadow:none}
.wp-block-cover .wp-block-cover__background{position:absolute;inset:0;z-index:1;opacity:.5}
.wp-block-cover .has-background-dim:not([class*=-background-color]){background-color:var(--ink)}
.wp-block-cover .has-background-dim-0{opacity:0}
.wp-block-cover .has-background-dim-10{opacity:.1}
.wp-block-cover .has-background-dim-20{opacity:.2}
.wp-block-cover .has-background-dim-30{opacity:.3}
.wp-block-cover .has-background-dim-40{opacity:.4}
.wp-block-cover .has-background-dim-50{opacity:.5}
.wp-block-cover .has-background-dim-60{opacity:.6}
.wp-block-cover .has-background-dim-70{opacity:.7}
.wp-block-cover .has-background-dim-80{opacity:.8}
.wp-block-cover .has-background-dim-90{opacity:.9}
.wp-block-cover .has-background-dim-100{opacity:1}
.wp-block-cover .has-background-gradient{opacity:1}
.wp-block-cover__inner-container{position:relative;z-index:2;width:100%;color:inherit}
.wp-block-cover:not(.is-light) :is(h1,h2,h3,h4,h5,h6,p){color:inherit}
.wp-block-cover:not(.is-light) a:not(.wp-element-button){color:inherit}
.wp-block-cover:not(.is-light) .is-style-outline>.wp-block-button__link:not(.has-text-color),
.has-ink-background-color .is-style-outline>.wp-block-button__link:not(.has-text-color),
.has-primary-background-color .is-style-outline>.wp-block-button__link:not(.has-text-color){color:#fff;border-color:rgba(255,255,255,.4)}
.wp-block-cover:not(.is-light) .is-style-outline>.wp-block-button__link:not(.has-text-color):hover,
.has-ink-background-color .is-style-outline>.wp-block-button__link:not(.has-text-color):hover,
.has-primary-background-color .is-style-outline>.wp-block-button__link:not(.has-text-color):hover{background:#fff;color:var(--ink);border-color:#fff}
.wp-block-cover.has-custom-content-position .wp-block-cover__inner-container{width:auto;max-width:min(100%,640px)}
.wp-block-cover:is(.is-position-top-left,.is-position-top-center,.is-position-top-right){align-items:flex-start}
.wp-block-cover:is(.is-position-bottom-left,.is-position-bottom-center,.is-position-bottom-right){align-items:flex-end}
.wp-block-cover:is(.is-position-top-left,.is-position-center-left,.is-position-bottom-left){justify-content:flex-start}
.wp-block-cover:is(.is-position-top-right,.is-position-center-right,.is-position-bottom-right){justify-content:flex-end}
.wp-block-cover.is-position-bottom-left .wp-block-cover__inner-container>*,
.wp-block-cover.is-position-center-left .wp-block-cover__inner-container>*,
.wp-block-cover.is-position-top-left .wp-block-cover__inner-container>*{margin-left:0!important}
@media (max-width:600px){.wp-block-cover,.wp-block-cover-image{min-height:360px}}

/* Media & Text */
.wp-block-media-text{display:grid;grid-template-columns:50% minmax(0,1fr);grid-template-rows:auto;align-items:center;direction:ltr;border-radius:var(--r-lg);overflow:hidden}
.wp-block-media-text.has-media-on-the-right{grid-template-columns:minmax(0,1fr) 50%}
.wp-block-media-text.is-vertically-aligned-top{align-items:start}
.wp-block-media-text.is-vertically-aligned-bottom{align-items:end}
.wp-block-media-text__media{grid-column:1;grid-row:1;margin:0;align-self:stretch;display:flex;align-items:center}
.wp-block-media-text__content{grid-column:2;grid-row:1;min-width:0;padding:8px clamp(20px,6%,48px);word-break:normal;overflow-wrap:break-word}
.wp-block-media-text.has-media-on-the-right .wp-block-media-text__media{grid-column:2}
.wp-block-media-text.has-media-on-the-right .wp-block-media-text__content{grid-column:1}
.wp-block-media-text__media :is(img,video){width:100%;height:auto;vertical-align:middle;border-radius:var(--r-lg);background:var(--soft-2)}
.wp-block-media-text.is-image-fill .wp-block-media-text__media img{height:100%;object-fit:cover}
.wp-block-media-text.has-background .wp-block-media-text__media img{border-radius:0;height:100%;object-fit:cover}
.wp-block-media-text.has-background .wp-block-media-text__content{padding:clamp(28px,4vw,48px)}
@media (max-width:600px){
  .wp-block-media-text.is-stacked-on-mobile{grid-template-columns:100%!important}
  .wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__media{grid-column:1;grid-row:1}
  .wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__content{grid-column:1;grid-row:2;padding:24px 0 0}
  .wp-block-media-text.is-stacked-on-mobile.has-background .wp-block-media-text__content{padding:24px}
}

/* Video / Audio */
.wp-block-video{margin-inline:0}
.wp-block-video video{display:block;width:100%;height:auto;border-radius:var(--r-md);background:var(--ink)}
.wp-block-audio{margin-inline:0;padding:12px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--soft)}
.wp-block-audio audio{display:block;width:100%;min-width:0}
.entry .wp-block-audio figcaption{margin:10px 6px 2px;text-align:left}

/* File */
.wp-block-file{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px 20px;padding:14px 14px 14px 16px;border:1px solid var(--line);border-radius:var(--r-lg);background:#fff;font-size:.98rem}
.wp-block-file>a:not(.wp-block-file__button){flex:1 1 220px;min-width:0;display:inline-flex;align-items:center;gap:14px;color:var(--ink);font-weight:600;line-height:1.35;text-decoration:none;overflow-wrap:anywhere}
.wp-block-file>a:not(.wp-block-file__button)::before{content:"";flex:none;width:44px;height:44px;border-radius:12px;background:var(--primary-50) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' fill='none' stroke='%232B4CFF' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' viewBox='0 0 24 24'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'/%3E%3Cpath d='M14 2v6h6M8 13h8M8 17h5'/%3E%3C/svg%3E") center no-repeat}
.wp-block-file>a:not(.wp-block-file__button):hover{color:var(--primary)}
a.wp-block-file__button{border:1.5px solid transparent;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 20px;border-radius:var(--r-pill);background:var(--ink);color:#fff;font-weight:600;font-size:.9rem;text-decoration:none;white-space:nowrap;transition:background .25s var(--ease)}
a.wp-block-file__button::before{content:"";width:16px;height:16px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3v12m0 0-5-5m5 5 5-5M4 21h16'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3v12m0 0-5-5m5 5 5-5M4 21h16'/%3E%3C/svg%3E") center/contain no-repeat}
a.wp-block-file__button:hover{background:var(--primary);color:#fff}
.wp-block-file__embed{display:block;width:100%;height:600px;margin-bottom:12px;border:1px solid var(--line);border-radius:var(--r-md)}

/* ---------------------------------------------------------
   5. Design blocks
   --------------------------------------------------------- */
/* Buttons / Button */
.wp-block-buttons{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.wp-block-buttons.is-vertical{flex-direction:column;align-items:flex-start}
.wp-block-buttons>.wp-block-button{margin:0}
.wp-block-button__link,a.wp-block-button__link,.wp-element-button{display:inline-flex;align-items:center;justify-content:center;gap:.6em;min-height:3.3em;padding:.75em 1.7em;border:1.5px solid var(--primary);border-radius:var(--r-pill);background:var(--primary);color:#fff;font-family:inherit;font-weight:600;font-size:.975rem;line-height:1.2;letter-spacing:-.01em;text-align:center;text-decoration:none;word-break:normal;cursor:pointer;transition:background .25s var(--ease),color .25s var(--ease),border-color .25s var(--ease),transform .2s var(--ease),box-shadow .25s var(--ease)}
.wp-block-button__link:hover,.wp-element-button:hover{background:var(--primary-600);border-color:var(--primary-600);color:#fff;box-shadow:0 10px 24px -10px rgba(43,76,255,.6)}
.wp-block-button__link:active{transform:translateY(1px) scale(.99)}
.wp-block-button__link.has-background{border-color:transparent}
.wp-block-button__link.has-background:hover{box-shadow:0 10px 24px -10px rgba(11,16,32,.45);transform:translateY(-1px)}
.wp-block-button.has-custom-font-size .wp-block-button__link{font-size:inherit}
.wp-block-button.is-style-outline>.wp-block-button__link,.wp-block-button__link.is-style-outline{background:transparent;color:var(--ink);border-color:var(--line)}
.wp-block-button.is-style-outline>.wp-block-button__link:hover{background:var(--ink);color:#fff;border-color:var(--ink);box-shadow:none}
.wp-block-button.is-style-outline>.wp-block-button__link.has-text-color{border-color:currentColor}
.wp-block-button.has-custom-width{max-width:100%}
.wp-block-button.has-custom-width .wp-block-button__link{width:100%}
.wp-block-buttons>.wp-block-button.wp-block-button__width-25{width:calc(25% - 12px * .75)}
.wp-block-buttons>.wp-block-button.wp-block-button__width-50{width:calc(50% - 12px * .5)}
.wp-block-buttons>.wp-block-button.wp-block-button__width-75{width:calc(75% - 12px * .25)}
.wp-block-buttons>.wp-block-button.wp-block-button__width-100{width:100%;flex-basis:100%}
.wp-block-button.aligncenter{text-align:center}
@media (max-width:480px){.wp-block-buttons>.wp-block-button:is(.wp-block-button__width-25,.wp-block-button__width-50,.wp-block-button__width-75){width:100%}}

/* Columns */
.wp-block-columns{display:flex;flex-wrap:wrap!important;align-items:normal!important;gap:clamp(20px,3vw,32px);margin-inline:0}
.wp-block-columns.are-vertically-aligned-center{align-items:center!important}
.wp-block-columns.are-vertically-aligned-top{align-items:flex-start!important}
.wp-block-columns.are-vertically-aligned-bottom{align-items:flex-end!important}
.wp-block-column{flex-grow:1;flex-basis:0;min-width:0;overflow-wrap:break-word;word-break:normal}
.wp-block-column[style*=flex-basis]{flex-grow:0}
.wp-block-column.is-vertically-aligned-center{align-self:center}
.wp-block-column.is-vertically-aligned-top{align-self:flex-start}
.wp-block-column.is-vertically-aligned-bottom{align-self:flex-end}
.wp-block-column.has-background,.wp-block-columns.has-background{padding:clamp(20px,3vw,32px);border-radius:var(--r-lg)}
@media (min-width:782px){.wp-block-columns{flex-wrap:nowrap!important}}
@media (max-width:781px){.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column{flex-basis:100%!important}}

/* Group / Row / Stack */
.wp-block-group{box-sizing:border-box}
.wp-block-group.has-background{padding:clamp(24px,4vw,48px);border-radius:var(--r-lg)}
.wp-block-group.alignfull.has-background{border-radius:0;padding-block:clamp(48px,6vw,88px)}
.wp-block-group.has-border-color{border:1px solid;border-radius:var(--r-lg);padding:clamp(20px,3vw,32px)}

/* Separator (default · wide · dots) */
hr.wp-block-separator,.entry hr.wp-block-separator{height:0;background:none;border:0;border-top:2px solid currentColor;color:var(--ink);width:96px;max-width:100%;margin-block:2.4em;margin-inline:auto;opacity:1}
.entry hr.wp-block-separator.has-alpha-channel-opacity{opacity:1}
hr.wp-block-separator.is-style-wide,.entry hr.wp-block-separator.is-style-wide{width:100%;border-top-width:1px;color:var(--line)}
hr.wp-block-separator.has-text-color.is-style-wide,hr.wp-block-separator.has-background.is-style-wide{border-top-width:2px}
hr.wp-block-separator.is-style-dots,.entry hr.wp-block-separator.is-style-dots{width:auto;border:0;height:auto;line-height:1;text-align:center;overflow:visible}
hr.wp-block-separator.is-style-dots::before{content:"\25C6\2003\25C6\2003\25C6";display:block;font-size:.55rem;letter-spacing:0;color:var(--primary);font-family:var(--f-sans)}
hr.wp-block-separator.is-style-dots.has-text-color::before{color:currentColor}
hr.wp-block-separator.has-background:not(.is-style-dots){background:none!important}

/* Spacer */
.wp-block-spacer{clear:both}

/* More (read-more link in archives) + Page Break (<!--nextpage--> links) */
a.more-link{display:inline-flex;align-items:center;gap:8px;font-weight:600;color:var(--ink);text-decoration:none;transition:gap .25s var(--ease),color .2s}
a.more-link::after{content:"\2192";font-weight:500}
a.more-link:hover{gap:12px;color:var(--primary)}
.post-nav-links{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding-top:24px;border-top:1px solid var(--line);font-weight:600;color:var(--ink)}
.post-nav-links .post-page-numbers,.entry .post-nav-links a.post-page-numbers{display:grid;place-items:center;min-width:40px;height:40px;padding:0 10px;border-radius:var(--r-pill);border:1.5px solid var(--line);color:var(--ink);text-decoration:none;transition:.2s var(--ease)}
.entry .post-nav-links a.post-page-numbers:hover{border-color:var(--ink)}
.post-nav-links .post-page-numbers.current{background:var(--ink);border-color:var(--ink);color:#fff}

/* ---------------------------------------------------------
   6. Widget blocks
   --------------------------------------------------------- */
/* Latest Posts — list + grid */
.wp-block-latest-posts{padding:0;margin-inline:0;list-style:none}
.wp-block-latest-posts:not(.is-grid)>li{padding:14px 0;border-bottom:1px dashed var(--line);overflow-wrap:anywhere}
.wp-block-latest-posts:not(.is-grid)>li:first-child{padding-top:0}
.wp-block-latest-posts:not(.is-grid)>li:last-child{border-bottom:0;padding-bottom:0}
a.wp-block-latest-posts__post-title{display:block;color:var(--ink);font-weight:600;line-height:1.35;letter-spacing:-.01em;text-decoration:none;transition:color .2s}
a.wp-block-latest-posts__post-title:hover{color:var(--primary)}
.wp-block-latest-posts__post-author,.wp-block-latest-posts__post-date{display:block;margin-top:6px;color:var(--muted);font-size:.84rem}
.wp-block-latest-posts__post-author:has(+.wp-block-latest-posts__post-date){display:inline-block}
.wp-block-latest-posts__post-author+.wp-block-latest-posts__post-date{display:inline-block}
.wp-block-latest-posts__post-author+.wp-block-latest-posts__post-date::before{content:"\00B7";margin:0 8px}
.wp-block-latest-posts__post-excerpt{margin-top:8px;color:var(--muted);font-size:.95rem;line-height:1.6}
.wp-block-latest-posts__featured-image{margin:0;border-radius:var(--r-md);overflow:hidden;background:var(--soft-2)}
.wp-block-latest-posts__featured-image a{display:block}
.wp-block-latest-posts__featured-image img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;border-radius:0;transition:transform .8s var(--ease)}
.wp-block-latest-posts__featured-image a:hover img{transform:scale(1.05)}
.wp-block-latest-posts__featured-image.alignleft{float:left;width:88px;margin:4px 16px 4px 0}
.wp-block-latest-posts__featured-image.alignleft img{aspect-ratio:1}
.wp-block-latest-posts:not(.is-grid)>li::after{content:"";display:table;clear:both}
.wp-block-latest-posts.is-grid{display:grid;grid-template-columns:repeat(var(--cols,2),minmax(0,1fr));gap:32px 24px}
.wp-block-latest-posts.is-grid.columns-3{--cols:3}
.wp-block-latest-posts.is-grid.columns-4{--cols:4}
.wp-block-latest-posts.is-grid>li{display:flex;flex-direction:column;min-width:0;margin:0}
.wp-block-latest-posts.is-grid .wp-block-latest-posts__featured-image{margin-bottom:16px}
.wp-block-latest-posts.is-grid a.wp-block-latest-posts__post-title{font-size:1.1rem;line-height:1.3;overflow-wrap:anywhere}
@media (max-width:600px){.wp-block-latest-posts.is-grid{grid-template-columns:minmax(0,1fr)}}

/* Latest Comments */
.wp-block-latest-comments{display:grid;gap:20px;padding:0;margin-inline:0;list-style:none}
.wp-block-latest-comments__comment{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;margin:0;line-height:1.5;list-style:none}
.has-avatars .wp-block-latest-comments__comment{grid-template-columns:48px minmax(0,1fr)}
.wp-block-latest-comments__comment-avatar{width:48px;height:48px;border-radius:50%!important;object-fit:cover;background:var(--soft-2)}
.wp-block-latest-comments__comment article{min-width:0}
.wp-block-latest-comments .wp-block-latest-comments__comment-meta,.has-avatars .wp-block-latest-comments__comment .wp-block-latest-comments__comment-excerpt,.has-avatars .wp-block-latest-comments__comment .wp-block-latest-comments__comment-meta{margin-left:0}
.wp-block-latest-comments__comment-meta{color:var(--muted);font-size:.93rem;overflow-wrap:anywhere}
a.wp-block-latest-comments__comment-author,a.wp-block-latest-comments__comment-link{color:var(--ink);font-weight:600;text-decoration:none}
a.wp-block-latest-comments__comment-link:hover,a.wp-block-latest-comments__comment-author:hover{color:var(--primary)}
.wp-block-latest-comments__comment-date{display:block;margin-top:2px;color:var(--muted);font-size:.8rem}
.wp-block-latest-comments__comment-excerpt{margin-top:10px}
.wp-block-latest-comments__comment-excerpt p{padding:12px 16px;border-radius:4px var(--r-md) var(--r-md) var(--r-md);background:var(--soft);color:var(--text);font-size:.95rem;line-height:1.6;overflow-wrap:anywhere}

/* Archives + Categories — list (with counts) and dropdown */
.wp-block-archives-list,.wp-block-categories-list{padding:0;margin-inline:0;list-style:none}
:is(.wp-block-archives-list,.wp-block-categories-list) li{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 12px;padding:10px 0;border-bottom:1px dashed var(--line);color:var(--muted);font-size:.86rem;font-weight:600;font-variant-numeric:tabular-nums}
:is(.wp-block-archives-list,.wp-block-categories-list) li:last-child{border-bottom:0}
:is(.wp-block-archives-list,.wp-block-categories-list) li a{color:var(--ink);font-size:1rem;font-weight:500;text-decoration:none;transition:color .2s,padding .25s var(--ease);overflow-wrap:anywhere;min-width:0}
:is(.wp-block-archives-list,.wp-block-categories-list) li a:hover{color:var(--primary);padding-left:6px}
:is(.wp-block-archives-list,.wp-block-categories-list) li.current-cat>a{color:var(--primary);font-weight:600}
.wp-block-categories-list ul.children{flex-basis:100%;margin:6px 0 0 4px;padding-left:16px;border-left:1.5px solid var(--line)}
.wp-block-categories-list ul.children li{padding:7px 0;border-bottom:0}
:is(.wp-block-archives__label,.wp-block-categories__label){display:block;margin-bottom:8px;font-size:.88rem;font-weight:600;color:var(--ink)}
:is(.wp-block-archives-dropdown,.wp-block-categories-dropdown) select{width:100%;max-width:100%;height:52px;padding:0 44px 0 16px;border:1.5px solid var(--line);border-radius:12px;background:var(--soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%230B1020' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' viewBox='0 0 24 24'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 16px center;appearance:none;-webkit-appearance:none;font-size:1rem;color:var(--ink);cursor:pointer;outline:0;transition:border-color .2s,background-color .2s,box-shadow .2s}
:is(.wp-block-archives-dropdown,.wp-block-categories-dropdown) select:hover{border-color:#C9CEDB}
:is(.wp-block-archives-dropdown,.wp-block-categories-dropdown) select:focus{border-color:var(--primary);background-color:#fff;box-shadow:0 0 0 4px var(--primary-50)}

/* Calendar */
.wp-block-calendar{padding:20px;border:1px solid var(--line);border-radius:var(--r-lg);background:#fff;text-align:center}
.wp-block-calendar table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:.9rem;font-variant-numeric:tabular-nums}
.wp-block-calendar caption{caption-side:top;margin-bottom:12px;text-align:left;font-weight:600;font-size:1.05rem;color:var(--ink);letter-spacing:-.01em}
.entry .wp-block-calendar :is(th,td){padding:3px 0;border:0;text-align:center;background:none}
.entry .wp-block-calendar thead th{background:none;color:var(--muted);font-weight:600;font-size:.74rem;letter-spacing:.04em;text-transform:uppercase}
.entry .wp-block-calendar tbody tr:hover{background:none}
.wp-block-calendar td{height:42px;color:var(--text)}
.wp-block-calendar td a{display:grid;place-items:center;width:36px;height:36px;margin:auto;border-radius:50%;background:var(--primary-50);color:var(--primary);font-weight:600;text-decoration:none;transition:.2s}
.wp-block-calendar td a:hover{background:var(--primary);color:#fff}
.wp-block-calendar td#today{position:relative;z-index:0;color:#fff;font-weight:600}
.wp-block-calendar td#today::before{content:"";position:absolute;left:50%;top:50%;z-index:-1;width:36px;height:36px;border-radius:50%;background:var(--ink);transform:translate(-50%,-50%)}
.wp-block-calendar td#today a{background:var(--ink);color:#fff}
.wp-calendar-nav{display:flex;justify-content:space-between;gap:12px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line);font-size:.88rem;font-weight:600}
.wp-calendar-nav a{color:var(--primary);text-decoration:none}
.wp-calendar-nav a:hover{color:var(--ink)}

/* Tag Cloud — default (soft pills) + outline style */
.wp-block-tag-cloud{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.wp-block-tag-cloud.aligncenter{justify-content:center}
.wp-block-tag-cloud a,a.tag-cloud-link{display:inline-flex;align-items:center;min-height:2.3em;padding:.3em 1em;border:1.5px solid transparent;border-radius:var(--r-pill);background:var(--soft);color:var(--ink);font-weight:500;line-height:1.2;text-decoration:none;transition:.2s var(--ease)}
.wp-block-tag-cloud a:hover{background:var(--ink);border-color:var(--ink);color:#fff}
.wp-block-tag-cloud.is-style-outline a{background:transparent;border-color:var(--line)}
.wp-block-tag-cloud.is-style-outline a:hover{background:var(--ink);border-color:var(--ink);color:#fff}

/* Search — button outside · inside · icon only · no button */
.wp-block-search__label{display:block;margin-bottom:8px;font-size:.88rem;font-weight:600;color:var(--ink)}
.wp-block-search__inside-wrapper{display:flex;align-items:center;gap:8px;min-width:0;max-width:100%}
.wp-block-search__input{flex:1 1 auto;min-width:0;height:52px;padding:0 18px;border:1.5px solid var(--line);border-radius:var(--r-pill);background:#fff;color:var(--ink);font-size:1rem;outline:0;transition:border-color .2s,box-shadow .2s;-webkit-appearance:none;appearance:none}
.wp-block-search__input::placeholder{color:#8E94A6}
.wp-block-search__input:hover{border-color:#C9CEDB}
.wp-block-search__input:focus{border-color:var(--primary);box-shadow:0 0 0 4px var(--primary-50)}
.wp-block-search__button{flex:none;min-height:52px;padding:0 24px;margin:0;border-color:var(--ink);background:var(--ink);font-size:.95rem}
.wp-block-search__button:hover{background:var(--primary);border-color:var(--primary)}
.wp-block-search__button svg{width:22px;height:22px;fill:currentColor}
.wp-block-search__button-inside .wp-block-search__inside-wrapper{padding:5px 5px 5px 18px;border:1.5px solid var(--line);border-radius:var(--r-pill);background:#fff;transition:border-color .2s,box-shadow .2s}
.wp-block-search__button-inside .wp-block-search__inside-wrapper:focus-within{border-color:var(--primary);box-shadow:0 0 0 4px var(--primary-50)}
.wp-block-search__button-inside .wp-block-search__input{height:44px;padding:0;border:0;border-radius:0;box-shadow:none;background:transparent}
.wp-block-search__button-inside .wp-block-search__button{min-height:44px;padding:0 20px}
.wp-block-search__icon-button .wp-block-search__button{width:52px;padding:0;border-radius:50%}
.wp-block-search__icon-button.wp-block-search__button-inside .wp-block-search__button{width:44px;min-height:44px;height:44px}

/* Social Icons — default · logos only · pill shape */
.wp-block-social-links{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:0;margin-inline:0;list-style:none;font-size:18px}
.wp-block-social-links.has-small-icon-size{font-size:14px}
.wp-block-social-links.has-normal-icon-size{font-size:18px}
.wp-block-social-links.has-large-icon-size{font-size:24px}
.wp-block-social-links.has-huge-icon-size{font-size:32px}
.wp-block-social-links .wp-social-link{display:block;margin:0;border-radius:50%;background:var(--soft);color:var(--ink);transition:background .2s,color .2s,transform .2s var(--ease)}
.wp-block-social-links .wp-social-link:hover{background:var(--ink);color:#fff;transform:translateY(-2px)}
a.wp-block-social-link-anchor,.wp-block-social-links .wp-block-social-link-anchor{display:flex;align-items:center;justify-content:center;gap:.5em;padding:.65em;border-radius:inherit;color:inherit;text-decoration:none;line-height:0}
.wp-block-social-link-anchor svg{width:1em;height:1em}
.wp-block-social-link-anchor svg:not(.ico){fill:currentColor}
.wp-block-social-links.has-icon-color .wp-social-link{color:inherit}
.wp-block-social-links.is-style-logos-only .wp-social-link{background:none!important;color:var(--ink)}
.wp-block-social-links.is-style-logos-only .wp-social-link:hover{color:var(--primary);transform:translateY(-2px)}
.wp-block-social-links.is-style-logos-only .wp-block-social-link-anchor{padding:.35em}
.wp-block-social-links.is-style-pill-shape .wp-social-link{width:auto;border-radius:var(--r-pill)}
.wp-block-social-links.is-style-pill-shape .wp-block-social-link-anchor{padding:.65em 1.1em}
.wp-block-social-links.has-visible-labels .wp-block-social-link-anchor{line-height:1}
.wp-block-social-link-label{font-size:.875rem;font-weight:600;line-height:1}
.wp-block-social-links.on-dark .wp-social-link,.has-ink-background-color .wp-block-social-links:not(.is-style-logos-only) .wp-social-link{background:rgba(255,255,255,.08);color:#fff}

/* ---------------------------------------------------------
   7. Theme blocks
   --------------------------------------------------------- */
/* Navigation (static + submenu on hover / focus / toggle) */
.wp-block-navigation{position:relative;font-size:.96rem}
.wp-block-navigation ul{margin:0;padding:0;list-style:none}
.wp-block-navigation__container{display:flex;flex-wrap:wrap;align-items:center;gap:4px}
.wp-block-navigation.items-justified-center .wp-block-navigation__container{justify-content:center}
.wp-block-navigation.items-justified-right .wp-block-navigation__container{justify-content:flex-end}
.wp-block-navigation.items-justified-space-between .wp-block-navigation__container{justify-content:space-between}
.wp-block-navigation .wp-block-navigation-item{position:relative;display:flex;align-items:center;margin:0}
.wp-block-navigation a.wp-block-navigation-item__content{display:flex;align-items:center;min-height:44px;padding:0 14px;border-radius:var(--r-pill);color:var(--ink);font-weight:500;text-decoration:none;transition:background .2s,color .2s}
.wp-block-navigation a.wp-block-navigation-item__content:hover{background:var(--soft)}
.wp-block-navigation .current-menu-item>a.wp-block-navigation-item__content,.wp-block-navigation a.wp-block-navigation-item__content[aria-current]{color:var(--primary)}
.wp-block-navigation .has-child>a.wp-block-navigation-item__content{padding-right:4px}
.wp-block-navigation__submenu-icon{display:grid;place-items:center;width:32px;height:32px;margin:0 4px 0 0;padding:0;border:0;border-radius:50%;background:none;color:var(--ink);cursor:pointer}
.wp-block-navigation__submenu-icon svg{width:12px;height:12px;stroke:currentColor;transition:transform .25s var(--ease)}
.wp-block-navigation .has-child:hover>.wp-block-navigation__submenu-icon svg,.wp-block-navigation .has-child:focus-within>.wp-block-navigation__submenu-icon svg{transform:rotate(180deg)}
.wp-block-navigation__submenu-container{position:absolute;left:0;top:100%;z-index:20;display:flex;flex-direction:column;min-width:230px;max-width:min(300px,calc(100vw - 32px));padding:8px!important;margin-top:8px!important;background:#fff;border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--sh-lg);opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .25s var(--ease),transform .25s var(--ease),visibility .25s}
.wp-block-navigation__submenu-container::before{content:"";position:absolute;inset:-12px 0 auto;height:12px}
.wp-block-navigation .has-child:hover>.wp-block-navigation__submenu-container,.wp-block-navigation .has-child:focus-within>.wp-block-navigation__submenu-container,.wp-block-navigation .wp-block-navigation-submenu__toggle[aria-expanded=true]~.wp-block-navigation__submenu-container{opacity:1;visibility:visible;transform:none}
.wp-block-navigation__submenu-container .wp-block-navigation-item{width:100%}
.wp-block-navigation__submenu-container a.wp-block-navigation-item__content{width:100%;min-height:0;padding:10px 12px;border-radius:10px;color:var(--text);font-size:.94rem}
.wp-block-navigation__submenu-container a.wp-block-navigation-item__content:hover{color:var(--ink)}
.wp-block-navigation.is-vertical .wp-block-navigation__container{flex-direction:column;align-items:stretch;gap:2px}
.wp-block-navigation.is-vertical a.wp-block-navigation-item__content{min-height:0;padding:9px 0;border-radius:0;background:none;color:var(--text)}
.wp-block-navigation.is-vertical a.wp-block-navigation-item__content:hover{background:none;color:var(--primary)}
.wp-block-navigation.is-vertical .wp-block-navigation-item{flex-wrap:wrap}
.wp-block-navigation.is-vertical .wp-block-navigation__submenu-icon{display:none}
.wp-block-navigation.is-vertical .wp-block-navigation__submenu-container{position:static;flex-basis:100%;min-width:0;max-width:none;margin:0 0 6px 2px!important;padding:0 0 0 14px!important;border:0;border-left:1.5px solid var(--line);border-radius:0;box-shadow:none;opacity:1;visibility:visible;transform:none}
.wp-block-navigation.is-vertical .wp-block-navigation__submenu-container a.wp-block-navigation-item__content{padding:6px 0}

/* Site Logo / Site Title / Tagline */
.wp-block-site-logo{line-height:0}
.wp-block-site-logo a{display:inline-block;line-height:0}
.wp-block-site-logo img,.entry .wp-block-site-logo img{height:auto;max-width:100%;border-radius:0;background:none}
.wp-block-site-logo.is-style-rounded img{border-radius:9999px}
.wp-block-site-title{font-size:1.6rem;font-weight:700;letter-spacing:-.055em;line-height:1.1;color:var(--ink)}
.wp-block-site-title a,.entry .wp-block-site-title a{color:inherit;text-decoration:none}
.wp-block-site-title a:hover{color:var(--primary)}
.wp-block-site-tagline{color:var(--muted);font-size:.95rem}

/* Post Title / Date / Terms / Featured Image / Excerpt / Content */
:is(h1,h2,h3,h4,h5,h6,p).wp-block-post-title{margin:0;line-height:1.2;letter-spacing:-.03em;overflow-wrap:anywhere}
.wp-block-post-title a,.entry .wp-block-post-title a{color:inherit;text-decoration:none;background:linear-gradient(currentColor,currentColor) 0 100%/0 1.5px no-repeat;transition:background-size .4s var(--ease),color .2s}
.wp-block-post-title a:hover{background-size:100% 1.5px}
.wp-block-post-date{color:var(--muted);font-size:.9rem}
.wp-block-post-date a{color:inherit;text-decoration:none}
.wp-block-post-date__modified-date{font-style:italic}
.wp-block-post-terms{color:var(--muted);font-size:.86rem;font-weight:600;letter-spacing:.01em}
.wp-block-post-terms a,.entry .wp-block-post-terms a{color:var(--primary);text-decoration:none}
.wp-block-post-terms a:hover{color:var(--ink)}
.wp-block-post-terms__prefix{color:var(--ink)}
.wp-block-post-terms.taxonomy-post_tag{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.wp-block-post-terms.taxonomy-post_tag .wp-block-post-terms__separator{display:none}
.wp-block-post-terms.taxonomy-post_tag a,.entry .wp-block-post-terms.taxonomy-post_tag a{display:inline-flex;align-items:center;height:32px;padding:0 13px;border:1.5px solid var(--line);border-radius:var(--r-pill);color:var(--ink);font-weight:500;transition:.2s var(--ease)}
.wp-block-post-terms.taxonomy-post_tag a:hover{background:var(--ink);border-color:var(--ink);color:#fff}
.wp-block-post-featured-image{position:relative;margin:0;overflow:hidden;border-radius:var(--r-lg);background:var(--soft-2)}
.wp-block-post-featured-image a{display:block;height:100%}
.wp-block-post-featured-image img,.entry .wp-block-post-featured-image img{display:block;width:100%;height:auto;max-width:100%;object-fit:cover;border-radius:0;vertical-align:bottom;transition:transform .9s var(--ease)}
.wp-block-post-featured-image a:hover img{transform:scale(1.05)}
.wp-block-post-excerpt{color:var(--muted);font-size:.96rem;line-height:1.65}
.wp-block-post-excerpt__more-text{margin-top:12px}
a.wp-block-post-excerpt__more-link{display:inline-flex;align-items:center;gap:8px;color:var(--ink);font-weight:600;text-decoration:none;transition:gap .25s var(--ease),color .2s}
a.wp-block-post-excerpt__more-link::after{content:"\2192"}
a.wp-block-post-excerpt__more-link:hover{gap:12px;color:var(--primary)}

/* Query Loop: Post Template + Pagination */
.wp-block-post-template{margin:0;padding:0;list-style:none;display:grid;gap:40px}
.wp-block-post-template.is-layout-grid{grid-template-columns:repeat(var(--cols,3),minmax(0,1fr));gap:36px 24px}
.wp-block-post-template.is-layout-grid.columns-2{--cols:2}
.wp-block-post-template.is-layout-grid.columns-4{--cols:4}
.wp-block-post-template .wp-block-post{display:flex;flex-direction:column;gap:12px;min-width:0;margin:0}
.wp-block-post-template .wp-block-post-featured-image{margin-bottom:6px;border-radius:var(--r-md)}
.wp-block-post-template :is(h2,h3,h4).wp-block-post-title{font-size:1.2rem;line-height:1.3;letter-spacing:-.02em}
@media (max-width:600px){.wp-block-post-template.is-layout-grid{grid-template-columns:minmax(0,1fr)}}
.wp-block-query-pagination{display:flex;flex-wrap:wrap;align-items:center;gap:12px 8px;margin-top:48px}
.wp-block-query-pagination-numbers{display:flex;flex-wrap:wrap;gap:6px}
.wp-block-query-pagination :is(a,span).page-numbers,a.wp-block-query-pagination-previous,a.wp-block-query-pagination-next{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:44px;height:44px;padding:0 14px;border:1.5px solid var(--line);border-radius:var(--r-pill);color:var(--ink);font-weight:600;font-size:.94rem;text-decoration:none;transition:.2s var(--ease)}
.wp-block-query-pagination a:hover{border-color:var(--ink)}
.wp-block-query-pagination .page-numbers.current{background:var(--ink);border-color:var(--ink);color:#fff}
.wp-block-query-pagination .page-numbers.dots{min-width:20px;padding:0;border:0;color:var(--muted)}
.wp-block-query-pagination-previous-arrow,.wp-block-query-pagination-next-arrow{display:inline-block;font-weight:500}
@media (max-width:600px){
  .wp-block-query-pagination{justify-content:space-between}
  .wp-block-query-pagination-numbers{order:-1;flex-basis:100%;justify-content:center}
}

/* ---------------------------------------------------------
   8. Embeds (responsive wrappers + X/Twitter fallback card)
   --------------------------------------------------------- */
.wp-block-embed{margin-inline:0;overflow-wrap:break-word}
.wp-block-embed iframe{max-width:100%;border:0}
.wp-block-embed__wrapper{position:relative}
.wp-has-aspect-ratio .wp-block-embed__wrapper::before{content:"";display:block;padding-top:50%}
.wp-embed-aspect-21-9 .wp-block-embed__wrapper::before{padding-top:42.85%}
.wp-embed-aspect-18-9 .wp-block-embed__wrapper::before{padding-top:50%}
.wp-embed-aspect-16-9 .wp-block-embed__wrapper::before{padding-top:56.25%}
.wp-embed-aspect-4-3 .wp-block-embed__wrapper::before{padding-top:75%}
.wp-embed-aspect-1-1 .wp-block-embed__wrapper::before{padding-top:100%}
.wp-embed-aspect-9-16 .wp-block-embed__wrapper::before{padding-top:177.77%}
.wp-has-aspect-ratio .wp-block-embed__wrapper iframe{position:absolute;inset:0;width:100%;height:100%}
.wp-block-embed.is-type-video .wp-block-embed__wrapper{overflow:hidden;border-radius:var(--r-md);background:var(--ink)}
.wp-block-embed-twitter .wp-block-embed__wrapper{max-width:550px}
.wp-block-embed-twitter.aligncenter .wp-block-embed__wrapper{margin-inline:auto}
.entry blockquote.twitter-tweet,blockquote.twitter-tweet{position:relative;margin:0;padding:22px 24px 20px;border:1px solid var(--line);border-radius:var(--r-lg);background:#fff;box-shadow:var(--sh-sm);color:var(--muted);font-family:var(--f-sans);font-size:.92rem;font-style:normal;font-weight:400;line-height:1.55;letter-spacing:0;overflow-wrap:anywhere}
blockquote.twitter-tweet::before{content:"";position:absolute;right:22px;top:22px;width:20px;height:20px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%230B1020'%3E%3Cpath d='M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z'/%3E%3C/svg%3E") center/contain no-repeat}
blockquote.twitter-tweet p{margin:0 0 14px;padding-right:32px;color:var(--ink);font-size:1.05rem;line-height:1.5}
blockquote.twitter-tweet a,.entry blockquote.twitter-tweet a{color:var(--primary);text-decoration:none;font-weight:500}
blockquote.twitter-tweet a:hover{text-decoration:underline}
.entry .wp-block-embed figcaption{text-align:left}

/* Inline semantics inside content */
.entry kbd{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.82em;padding:1px 7px;border:1px solid var(--line);border-bottom-width:2px;border-radius:6px;background:#fff;color:var(--ink);white-space:nowrap}
.entry mark,.has-inline-color{padding:0 .1em}


/* ============================================================
   WordPress markup (wp/_src/wp.css)
   ============================================================ */
/* WordPress markup mapped onto the Corwell design.
   The design styles its own class names (.w-list, .w-cal…); here the same look is applied to the markup
   WordPress core, widgets, menus and comments print. */

/* ---------- Brand ---------- */
.brand__tile{fill:var(--logo,var(--primary))}
.brand__dot{fill:var(--logo-dot,var(--accent))}
.brand--custom .custom-logo-link{display:inline-flex;align-items:center}
.brand--custom img{width:auto;max-height:48px;max-width:220px;object-fit:contain}
.header.is-stuck .brand--custom img{max-height:40px}

/* ---------- Required WordPress classes ---------- */
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.screen-reader-text:focus{position:static!important;width:auto;height:auto;clip:auto;margin:0}
.sticky{position:relative}
.bypostauthor>.comment{border-color:var(--primary)}
.wp-caption{max-width:100%}
.wp-caption img{display:block;border-radius:var(--r-md)}
.wp-caption-text,.gallery-caption{color:var(--muted);font-size:.86rem;margin-top:10px}
.alignleft{float:left;margin:6px 28px 16px 0}
.alignright{float:right;margin:6px 0 16px 28px}
.aligncenter{display:block;margin-inline:auto;text-align:center}
.entry::after{content:"";display:table;clear:both}
.entry img{height:auto}
.gallery{display:grid;grid-template-columns:repeat(var(--cols,3),1fr);gap:12px;margin:28px 0}
.gallery-columns-1{--cols:1}.gallery-columns-2{--cols:2}.gallery-columns-4{--cols:4}.gallery-columns-5{--cols:5}.gallery-columns-6{--cols:6}.gallery-columns-7{--cols:7}.gallery-columns-8{--cols:8}.gallery-columns-9{--cols:9}
.gallery-item{margin:0}
.gallery-item img{width:100%;height:auto;border-radius:12px}
.post-password-form{display:grid;gap:14px;padding:28px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--soft)}
.post-password-form label{display:grid;gap:8px;font-weight:600;color:var(--ink)}
.post-password-form input[type=password]{height:48px;border:1.5px solid var(--line);border-radius:var(--r-sm);padding:0 14px;background:#fff}
.post-password-form input[type=submit]{justify-self:start;height:46px;padding:0 22px;border-radius:var(--r-pill);background:var(--ink);color:#fff;font-weight:600;cursor:pointer}
.edit-link{margin-top:20px;font-size:.88rem}
.edit-link a{color:var(--primary);font-weight:600}
.page-links{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:32px;padding-top:24px;border-top:1px solid var(--line)}
.page-links__title{font-weight:600;color:var(--ink);margin-right:6px}
.page-links>span:not(.page-links__title),.page-links a span{display:grid;place-items:center;min-width:40px;height:40px;padding:0 10px;border-radius:12px;border:1.5px solid var(--line);font-weight:600}
.page-links>span:not(.page-links__title){background:var(--ink);border-color:var(--ink);color:#fff}
.page-links a:hover span{border-color:var(--primary);color:var(--primary)}

/* ---------- Header: WordPress menus ---------- */
.nav__link.is-ancestor{color:var(--primary)}
.dropdown .is-current>a,.dropdown a[aria-current]{color:var(--primary);font-weight:600}
.mega:not(:has(.mega__promo)){grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.mega__promo p{color:var(--muted);font-size:.88rem}
.mnav__parent a{font-weight:600}
.tb-menu{display:flex;gap:16px;font-size:.82rem}
.tb-menu a{color:inherit;opacity:.85}
.tb-menu a:hover{opacity:1}
.topbar .tb-note{margin:0}
.header--static{position:relative!important}
body.admin-bar .header{top:var(--wp-admin--admin-bar--height,32px)}
@media (max-width:600px){body.admin-bar .header.is-stuck{top:0}}

/* ---------- Sidebar widgets (classic and block widgets) ---------- */
.widget>ul,.widget>div>ul,.widget .wp-block-categories,.widget .wp-block-archives,.widget .wp-block-page-list,.widget .wp-block-latest-posts,.widget .menu,.widget_nav_menu ul{display:grid;gap:2px;list-style:none;margin:0;padding:0}
.widget li{list-style:none}
.widget_categories li,.widget_archive li,.widget_pages li,.widget_meta li,.widget_nav_menu li,.widget .wp-block-categories li,.widget .wp-block-archives li,.widget .wp-block-page-list li{border-top:1px dashed var(--line)}
.widget_categories>ul>li:first-child,.widget_archive>ul>li:first-child,.widget_pages>ul>li:first-child,.widget_meta>ul>li:first-child,.widget_nav_menu ul.menu>li:first-child,.widget .wp-block-categories>li:first-child,.widget .wp-block-archives>li:first-child,.widget .wp-block-page-list>li:first-child{border-top:0}
.widget_categories a,.widget_archive a,.widget_pages a,.widget_meta a,.widget_nav_menu a,.widget .wp-block-categories a,.widget .wp-block-archives a,.widget .wp-block-page-list a{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:9px 0;color:var(--text);overflow-wrap:anywhere;transition:color .2s,padding .25s var(--ease)}
.widget_categories a:hover,.widget_archive a:hover,.widget_pages a:hover,.widget_meta a:hover,.widget_nav_menu a:hover,.widget .wp-block-categories a:hover,.widget .wp-block-archives a:hover,.widget .wp-block-page-list a:hover{color:var(--primary);padding-left:6px}
.widget .count,.widget .wp-block-categories .count{flex:none;min-width:30px;height:24px;padding:0 8px;border-radius:12px;background:var(--soft);font-size:.78rem;font-weight:600;display:grid;place-items:center;color:var(--muted);transition:.2s}
.widget a:hover .count{background:var(--primary);color:#fff}
.widget .current-cat>a,.widget .current_page_item>a,.widget .current-menu-item>a{color:var(--primary);font-weight:600}
.widget select{width:100%;height:46px;border:1.5px solid var(--line);border-radius:var(--r-sm);padding:0 12px;background:#fff;color:var(--ink)}

/* Recent posts */
.widget_recent_entries ul,.widget .wp-block-latest-posts{display:grid;gap:14px}
.widget_recent_entries li,.widget .wp-block-latest-posts li{display:grid;gap:2px}
.widget_recent_entries a,.widget .wp-block-latest-posts__post-title{color:var(--ink);font-weight:600;font-size:.95rem;line-height:1.35;overflow-wrap:anywhere}
.widget_recent_entries a:hover,.widget .wp-block-latest-posts__post-title:hover{color:var(--primary)}
.widget_recent_entries .post-date,.widget .wp-block-latest-posts__post-date{color:var(--muted);font-size:.82rem}
.widget .wp-block-latest-posts__featured-image img{border-radius:12px}

/* Recent comments */
.widget_recent_comments ul,.widget .wp-block-latest-comments{display:grid;gap:14px;padding:0;margin:0}
.widget_recent_comments li,.widget .wp-block-latest-comments__comment{font-size:.92rem;color:var(--muted);line-height:1.45;padding-left:26px;position:relative;margin:0}
.widget_recent_comments li::before,.widget .wp-block-latest-comments__comment::before{content:"";position:absolute;left:0;top:3px;width:16px;height:16px;border-radius:5px;background:var(--primary-50);box-shadow:inset 0 0 0 1.5px var(--primary)}
.widget_recent_comments a,.widget .wp-block-latest-comments a{color:var(--ink);font-weight:600}
.widget_recent_comments a:hover,.widget .wp-block-latest-comments a:hover{color:var(--primary)}

/* Tag cloud */
.tagcloud,.wp-block-tag-cloud{display:flex;flex-wrap:wrap;gap:8px}
.tagcloud a,.wp-block-tag-cloud a{display:inline-flex;align-items:center;height:34px;padding:0 14px;border-radius:var(--r-pill);border:1.5px solid var(--line);font-size:.86rem!important;font-weight:500;color:var(--ink);transition:.2s var(--ease)}
.tagcloud a:hover,.wp-block-tag-cloud a:hover{background:var(--ink);border-color:var(--ink);color:#fff}

/* Calendar (classic widget; the block is styled in blocks.css) */
.widget_calendar table{width:100%;border-collapse:collapse;font-size:.88rem;text-align:center;table-layout:fixed}
.widget_calendar caption{font-weight:600;color:var(--ink);margin-bottom:12px;text-align:left}
.widget_calendar th{color:var(--muted);font-weight:600;font-size:.76rem;padding:6px 0}
.widget_calendar td{padding:3px 0;height:38px}
.widget_calendar td a{display:grid;place-items:center;width:34px;height:34px;margin:auto;border-radius:50%;background:var(--primary-50);color:var(--primary);font-weight:600}
.widget_calendar td a:hover{background:var(--primary);color:#fff}
.widget_calendar #today{font-weight:700;color:var(--primary)}
.widget_calendar .wp-calendar-nav{display:flex;justify-content:space-between;margin-top:12px;font-size:.88rem;font-weight:600}
.widget_calendar .wp-calendar-nav a{color:var(--primary)}

/* Text, custom HTML, RSS, media */
.widget_text,.widget_custom_html{color:var(--muted);font-size:.95rem}
.widget .textwidget p+p{margin-top:12px}
.widget .textwidget a{color:var(--primary);text-decoration:underline;text-underline-offset:3px}
.widget_rss li+li{margin-top:16px;padding-top:16px;border-top:1px dashed var(--line)}
.widget_rss .rsswidget{color:var(--ink);font-weight:600;line-height:1.35;display:block}
.widget_rss .widget__title .rsswidget{display:inline}
.widget_rss .widget__title img{display:none}
.widget_rss .rss-date{display:block;color:var(--muted);font-size:.8rem;margin:4px 0}
.widget_rss .rssSummary{color:var(--muted);font-size:.9rem}
.widget_media_image img,.widget_media_video video,.widget .wp-block-image img{width:100%;height:auto;border-radius:14px}
.widget_media_audio audio,.widget .wp-block-audio audio{width:100%}
.widget .gallery{margin:0;gap:8px}
.widget .wp-block-heading,.widget>h2:not(.widget__title),.widget .wp-block-group>h2{font-size:1.125rem;font-weight:600;letter-spacing:-.02em;color:var(--ink);margin-bottom:20px;display:flex;align-items:center;gap:10px}
.widget .wp-block-heading::before{content:"";width:6px;height:6px;border-radius:2px;background:var(--primary);transform:rotate(45deg);flex:none}
.widget .wp-block-search__label{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap;border:0} /* hidden visually, still read by screen readers */
.widget .wp-block-search__inside-wrapper{display:flex;align-items:center;gap:8px;border:1.5px solid var(--line)!important;border-radius:var(--r-pill);padding:5px 5px 5px 18px!important;background:#fff}
.widget .wp-block-search__input{border:0;outline:0;height:42px;background:transparent;padding:0}
.widget .wp-block-search__button{margin:0;width:44px;height:44px;border-radius:50%;background:var(--ink);color:#fff;border:0;padding:0;display:grid;place-items:center;font-size:0}
.widget .wp-block-search__button svg{width:18px;height:18px;fill:currentColor}
.widget .wp-block-search__button:not(.has-icon)::before{content:"";width:18px;height:18px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") center/contain no-repeat}

/* ---------- Footer widget areas ---------- */
.footer-widget+.footer-widget{margin-top:32px}
.footer__title{color:#fff;font-size:1rem;font-weight:600;letter-spacing:-.01em;margin-bottom:22px}
.footer .widget{background:none;border:0;padding:0;border-radius:0;color:var(--muted-on-dark)}
.footer .widget a{color:var(--muted-on-dark)}
.footer .widget a:hover{color:#fff}
.footer .widget li{border-top:0!important}
.footer .widget_categories a,.footer .widget_archive a,.footer .widget_pages a,.footer .widget_meta a,.footer .widget_nav_menu a{padding:6px 0}
.footer .widget .count{background:rgba(255,255,255,.08);color:var(--muted-on-dark)}
.footer .footer__about .footer-widget p{color:var(--muted-on-dark)}
.footer .menu{display:grid;gap:12px}
.footer__bar nav ul{display:flex;flex-wrap:wrap;gap:8px 22px}
.footer__bar .menu{display:flex;flex-wrap:wrap;gap:8px 22px}

/* ---------- Posts, archives, search ---------- */
.archive-head p b{color:var(--ink)}
.post-card__title{overflow-wrap:anywhere}
.post-card .by__avatar,.post-card .by img{width:34px;height:34px;border-radius:50%;object-fit:cover}
.search-result{padding:28px 0;border-bottom:1px solid var(--line)}
.search-result:first-child{padding-top:0}
.search-result__type{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:.84rem;margin-bottom:10px}
.search-result__title{font-size:clamp(1.15rem,1rem + .5vw,1.4rem);line-height:1.3;letter-spacing:-.02em;margin-bottom:8px;overflow-wrap:anywhere}
.search-result__title a{color:var(--ink)}
.search-result__title a:hover{color:var(--primary)}
.search-result p{color:var(--muted)}
.search-result__url{display:inline-block;margin-top:8px;color:var(--primary);font-size:.84rem;overflow-wrap:anywhere}
.empty-state{text-align:center;padding:clamp(40px,6vw,72px) 24px;border:1.5px dashed var(--line);border-radius:var(--r-xl);display:grid;justify-items:center;gap:14px}
.empty-state__ico{display:grid;place-items:center;width:64px;height:64px;border-radius:20px;background:var(--primary-50);color:var(--primary)}
.empty-state__ico .ico{width:28px;height:28px}
.empty-state h2{font-size:clamp(1.4rem,1.2rem + 1vw,1.9rem);letter-spacing:-.02em}
.empty-state p{color:var(--muted);max-width:520px}
.empty-state .w-search{width:min(100%,440px);margin-top:8px}
.entry-title,.page-hero h1{overflow-wrap:anywhere}
.post-meta .avatar{width:44px;height:44px;border-radius:50%}
.author-box .avatar{width:96px;height:96px;border-radius:50%;object-fit:cover}
.post-nav>span:empty{display:block}

/* ---------- Comments ---------- */
.comment-list li.comment-item{list-style:none}
.comment__avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover}
.comment__date{color:var(--muted)}
.comment__date:hover{color:var(--primary)}
.comment-reply-link,.comment-edit-link{display:inline-flex;align-items:center;gap:6px}
.comment-respond{margin-top:8px}
.comment-respond .reply-title small{display:block;font-size:.88rem;font-weight:500;margin-top:6px}
.comment-respond .reply-title small a{color:var(--danger)}
.comment-form__form{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.comment-form__form>p{margin:0}
.comment-form__form .field--full,.comment-form__form .comment-notes,.comment-form__form .logged-in-as,.comment-form__form .comment-form-comment,.comment-form__form .comment-form-url,.comment-form__form .comment-form-cookies-consent,.comment-form__form .form-submit{grid-column:1/-1}
.comment-form__form .field{display:grid;gap:8px}
.comment-form__form label{font-weight:600;color:var(--ink);font-size:.92rem}
.comment-form__form .req{color:var(--danger)}
.comment-form__form .comment-form-cookies-consent{display:flex;gap:10px;align-items:flex-start;color:var(--muted);font-size:.9rem}
.comment-form__form .comment-form-cookies-consent label{font-weight:400;color:var(--muted)}
.comment-form__form .logged-in-as,.comment-form__form .comment-notes{color:var(--muted);font-size:.92rem}
.comment-form__form .logged-in-as a{color:var(--primary)}
.comments-closed,.comments__closed{display:flex;align-items:center;gap:10px;color:var(--muted);margin-top:24px}
@media (max-width:600px){.comment-form__form{grid-template-columns:1fr}}

/* ---------- Pages ---------- */
.child-pages{margin-top:48px;padding-top:32px;border-top:1px solid var(--line)}
.child-pages__title{font-size:1.25rem;letter-spacing:-.02em;margin-bottom:18px}
.child-pages__list{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
.child-pages__list a{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;padding:18px;border:1px solid var(--line);border-radius:var(--r-md);transition:border-color .2s,transform .3s var(--ease)}
.child-pages__list a:hover{border-color:var(--primary);transform:translateY(-2px)}
.child-pages__ico{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:var(--primary-50);color:var(--primary)}
.child-pages__list b{display:block;color:var(--ink);overflow-wrap:anywhere}
.child-pages__list small{display:block;color:var(--muted);font-size:.84rem;margin-top:2px}
.canvas-content>*:not(.alignfull):not(.elementor){max-width:var(--container,1240px);margin-inline:auto}

/* Long words from user content never break the layout */
.entry,.widget,.comment__body,.page-hero__inner{overflow-wrap:anywhere}
.entry pre{overflow-x:auto}
.entry>table,.entry .wp-block-table>table{display:block;overflow-x:auto}
.post-card .by{display:inline-flex;align-items:center;gap:10px}
.tb-hours{opacity:.9}
.comment>div,.post-main,.page-main,.blog-main,.shop-main{min-width:0}
.comment__body pre,.comment__body table{max-width:100%;overflow-x:auto}
.comment__body img{max-width:100%;height:auto}
.entry--compact{font-size:.98rem}
.entry--compact>*+*{margin-top:.9em}
.entry--compact :is(h1,h2,h3){font-size:1.2rem}
.entry--compact :is(h4,h5,h6){font-size:1rem}

/* ---------- Block styles registered in inc/blocks.php ---------- */
.is-style-corwell-card{padding:clamp(24px,3vw,36px);border:1px solid var(--line);border-radius:var(--r-lg);background:#fff}
.is-style-corwell-dark{padding:clamp(32px,5vw,64px);border-radius:var(--r-xl);background:var(--ink);color:var(--muted-on-dark)}
.is-style-corwell-dark :is(h1,h2,h3,h4){color:#fff}
.is-style-corwell-dark .wp-block-button.is-style-outline .wp-block-button__link{color:#fff;border-color:rgba(255,255,255,.35)}
ul.is-style-corwell-check{list-style:none;padding-left:0}
ul.is-style-corwell-check li{position:relative;padding-left:34px}
ul.is-style-corwell-check li+li{margin-top:10px}
ul.is-style-corwell-check li::before{content:"";position:absolute;left:0;top:.2em;width:22px;height:22px;border-radius:50%;background:var(--primary-50) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232B4CFF' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 5 5L20 7'/%3E%3C/svg%3E") center/12px no-repeat}
.is-style-corwell-rounded img{border-radius:var(--r-xl)}
.wp-block-quote.is-style-corwell-accent{border:0;padding:32px 36px;border-radius:var(--r-lg);background:var(--ink);color:#fff}
.wp-block-quote.is-style-corwell-accent p{font-family:var(--f-serif);font-style:italic;font-size:1.6rem;line-height:1.3}
.wp-block-quote.is-style-corwell-accent cite{color:var(--accent);font-style:normal}
.is-style-corwell-eyebrow{font-size:.78rem!important;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--primary)}
.is-style-corwell-dark .is-style-corwell-eyebrow{color:var(--accent)}
.wp-block-separator.is-style-corwell-dashed{border:0;border-top:1.5px dashed var(--line);background:none}

/* ---------- Services, projects, team members, jobs ---------- */
.cpt-single__media{margin:0 0 32px;border-radius:var(--r-xl);overflow:hidden;background:var(--soft)}
.cpt-single__media img{width:100%;height:auto;display:block}
.cpt-facts dl{display:grid;gap:0;margin:0}
.cpt-facts dl>div{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-top:1px dashed var(--line)}
.cpt-facts dl>div:first-child{border-top:0;padding-top:0}
.cpt-facts dt{color:var(--muted);font-size:.9rem}
.cpt-facts dd{margin:0;color:var(--ink);font-weight:600;text-align:right;overflow-wrap:anywhere}
.cpt-facts dd a{color:var(--primary)}
.cpt-cta{width:100%}
.cpt-social{justify-content:flex-start}

/* Footer contact column: the opening-hours table takes the full column width. */
.f-contact__hours{flex:1}
.footer__col .footer__links{margin:0}

/* ---------- Single service, project, team member and job pages (template-parts/content/single-cpt-*.php) ---------- */
/* Editor content inside the designed blocks: paragraphs, h3 and lists as in the design */
.cpt-content>*{margin:0}
.cpt-content .wp-block-list,.cpt-content ul{display:grid;gap:12px;padding:0;list-style:none}
.cpt-content ul>li{position:relative;padding-left:34px}
.cpt-content ul>li::before{content:"";position:absolute;left:0;top:1px;width:22px;height:22px;background:var(--primary);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='m8 12 3 3 5-6'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='m8 12 3 3 5-6'/%3E%3C/svg%3E") center/contain no-repeat}
.cpt-content img{border-radius:var(--r-md);height:auto}
.ss-overview--text{grid-template-columns:minmax(0,1fr)}
.ps-text{display:grid;gap:18px;color:var(--text);font-size:1.0625rem;line-height:1.8;max-width:68ch}
.ps-facts__lead{color:inherit;transition:background .2s}
.ps-facts__lead:hover{background:var(--primary-50)}
.ts-bio>p:first-child{font-size:var(--fs-lead);color:var(--ink)}
.ts-profile__grid--solo{grid-template-columns:minmax(0,1fr);max-width:900px}
.ts-main .tags span{display:inline-flex;align-items:center;min-height:34px;padding:6px 14px;border-radius:var(--r-pill);border:1.5px solid var(--line);font-size:.86rem;font-weight:500;color:var(--ink);line-height:1.3}
.ts-projects .ps-related__all{justify-self:end}
.jb-entry>p:first-child{font-size:1.25rem;color:var(--ink);line-height:1.6}
.jb-summary .info-list li:nth-child(4) b{color:var(--ink)}
.jb-summary .info-list li.jb-stack b{color:#0B7A3B} /* success green, darkened to AA contrast on the card */
.jb-summary .share{justify-content:center;margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}
.jb-summary .share,.ps-facts .share{flex-wrap:nowrap;gap:6px}
.jb-summary .share b,.ps-facts .share b{white-space:nowrap;margin-right:2px}
@media (max-width:992px){.ts-projects .ps-related__all{justify-self:start}}

/* --- Fix 2026-11-02: the consulting top bar is light --- */
/* .topbar a:hover{color:#fff} was written for dark bars. The consulting bar
   is #F3EEE3, and white on it gives 1.16:1 contrast — on hover the phone
   number and the social icons disappeared. The author already handled this
   for the language button (.tb--consulting .lang>button:hover) but missed
   the links. */
.tb--consulting a:hover{color:var(--ink)}
.tb--consulting a:hover svg{color:var(--ink)}

/* --- Fix 2026-11-02: the consulting header does not fit at 1366-1440 --- */
/* The author hides the item numbers (01…08) below 1280, but a menu of eight
   items with numbers stops fitting at 1440 already: the "Book a
   consultation" button ran 69 px past the right edge (106 px at 1366).
   The threshold is raised to 1500. Measured. */
@media (max-width:1700px){.hdr--consulting .nav__item>.nav__link::before{display:none}}
/* "Case studies" wrapped onto two lines and broke the header's alignment. */
.hdr--consulting .nav__link{white-space:nowrap}

/* --- Fix 2026-11-02: the finance header was clipped at 1280 --- */
/* The author has @media (max-width:1440px){.hdr--finance .header__cta
   {display:none}}, but the login button is called .hdr-login — the rule
   never matched, and at 1280 the sidebar button ran 14 px past the right
   edge. Target the real class. */
@media (max-width:1440px){.hdr--finance .hdr-login{display:none}}

/* --- Fix 2026-11-02: the corporate header was clipped at 1366 --- */
/* Eight menu items plus search, cart and the button did not fit: "Book a
   consultation" ran 28 px past the right edge. The item padding is 14 px —
   reduce it to 10 px below 1400: eight items then free 64 px, which is more
   than enough. Checked without the demo-corporate class: the overflow is the
   same, so it is not the palette. */
@media (max-width:1400px){.hdr--corporate .nav__link{padding-left:10px;padding-right:10px}}

/* --- Fix 2026-11-02: the quote form in the construction hero was clipped --- */
/* The hero panel is 400 px wide, but the grid inside it sized itself to its
   content: 620 px. With overflow:hidden that cut off 220 px — the "Project
   type" and "Site location" fields went under the edge and the label broke
   mid-word. Give the grid columns that can shrink. The rule is narrow: it
   touches only the panel in the hero, not the wide form on the "Request a
   quote" page. */
.cxh__dock .cx-quote{grid-template-columns:repeat(2,minmax(0,1fr))}
.cxh__dock .cx-quote>*{min-width:0}
/* The "Project type" field was pushed wide by its own list of options: the
   label ran 107 px past the panel. Stop the content from setting the width. */
.cxh__dock .cx-quote label,
.cxh__dock .cx-quote .field{min-width:0;max-width:100%}
.cxh__dock .cx-quote select,
.cxh__dock .cx-quote input,
.cxh__dock .cx-quote textarea{width:100%;min-width:0;max-width:100%}

/* --- Fix 2026-11-02: rows that scroll sideways --- */
/* The logo marquee (.marquee) has an edge fade, the filter row does not, and
   on a phone it cut a word through the middle of a letter ("Finance" broke
   at 27 px). A mask, not a fill: the row sits on different backgrounds in
   different demos, and a colour gradient would suit only one of them. */
.filters{
	-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 18px,#000 calc(100% - 18px),transparent 100%);
	mask-image:linear-gradient(90deg,transparent 0,#000 18px,#000 calc(100% - 18px),transparent 100%);
}
@media (min-width:1101px){
	/* on a wide screen the row fits whole — the fade would only get in the way */
	.filters{-webkit-mask-image:none;mask-image:none}
}

/* --- Fix 2026-11-03: content slid past the corporate header --- */
/* The stuck corporate header is transparent (background:transparent,
   backdrop-filter:none) and the white pill is only 1180 px wide. On a wide
   screen the hero button sat at 270…559 and showed to the left of the pill,
   as if it had escaped the header. The other four demos have a backdrop;
   corporate was missed.
   A soft blur over the whole band: the pill keeps floating, and whatever
   slides underneath stops jarring. */
.hdr--corporate.is-stuck{background:rgba(255,255,255,.72);backdrop-filter:blur(14px) saturate(1.3);-webkit-backdrop-filter:blur(14px) saturate(1.3)}
.hdr--corporate.is-stuck>.container{position:relative}

/* --- Fix 2026-11-03: the button escaped the pill while scrolling --- */
/* When it sticks, the corporate header narrows the pill from 1360 to 1180 px
   (.hdr--corporate.is-stuck>.container{max-width:1180px}), but the row inside
   cannot shrink: logo 137 + menu 695 + actions 314, two 32 px gaps and 32 px
   of padding — exactly 1242 px. The "Book a consultation" button ran 53 px
   past the right edge, and at ANY window width: both figures are fixed.
   Measured: scrollWidth 1232 against clientWidth 1178.
   Keep the narrowing, but never let the pill be narrower than its content.
   NOTE: min(max-content,100%) does not work here — the CSS math functions
   take lengths only, and max-content inside them makes the whole declaration
   invalid; the computed min-width stayed 0px. Measured. So the limit is a
   media query instead: below 1200 px the menu is already compressed by the
   padding rule (row 1178 px) and max-content is not needed. */
@media (min-width:1200px){
	.hdr--corporate.is-stuck>.container{min-width:max-content}
}

/* --- Fix 2026-11-03: the corporate pill sat unevenly --- */
/* It is rounded on all four corners (border-radius:24px) and carries a
   shadow, so it is meant to float, but the padding was set on the top only:
   padding-top 14px (8px when stuck, 10px on narrow screens) and zero at the
   bottom. Measured: 14 px above the pill, 0 below — the bottom corners ran
   into the edge of the header and looked cut off, while a strip of
   background showed above. The other four demos have a full-width header
   that sits flush (0/0); only this one was off. Mirror the author's own
   numbers. */
.hdr--corporate{padding-bottom:14px}
.hdr--corporate.is-stuck{padding-bottom:8px}
@media (max-width:992px){
	.hdr--corporate{padding-bottom:10px}
}

/* --- Fix 2026-11-03: the finance sidebar button ran past the edge --- */
/* On 2026-11-02 .hdr-login was hidden below 1440 — but the finance pill only
   widens from 1360 to 1440 on very wide windows. In the band where the login
   button already shows and the pill is still narrow, the row needs 1378 px
   against 1360: .icon-btn.side-toggle ran 18 px past the right edge.
   Measured at 1500, 1550, 1600, 1650 and 1700 — the same every time, so this
   is a whole band, not the edge of one width.
   Hiding the login button on every laptop is not an option — it is a real
   link. So below 1440 the earlier rule stands (no button, the row fits), and
   above it the pill may not be narrower than its content. The thresholds
   meet without a gap: 1440 and 1441. */
@media (min-width:1441px){
	.hdr--finance>.container{min-width:max-content}
}

/* --- Fix 2026-11-03: team photos did not fill their frame --- */
/* .member__img is a 4/5 frame with overflow:hidden, and the image is set to
   height:100%;object-fit:cover. But Elementor ships .elementor img
   {height:auto} with the SAME specificity (0,1,1) and loads later — so it
   wins. The height became auto and cover stopped working: a portrait photo
   of 1600x2400 rendered at 302x453 (75 px of overflow), a landscape one of
   1600x1066 at 302x201, leaving 176 px of empty frame below it. Measured on
   the construction home page through CSS.getMatchedStyles.
   Repeat the class so the specificity becomes 0,2,1 and the theme wins. */
.member__img.member__img img{
	width:100%;
	height:100%;
	object-fit:cover;
}

/* --- Fix 2026-11-03: the fourth footer column --- */
/* The footer draws four columns: the "about" block and three widget areas.
   The demo import did not fill them and the fallback produced only two, so
   there were three cells against four tracks and a hole on the right
   (measured 355 236 236 307 px with three cells). Fixed at the cause: the
   demo places widgets in footer-2 and footer-3, and the fallback now works
   per area. What follows is only a safety net for when the buyer leaves
   fewer than four blocks: the number of tracks then matches the number of
   blocks. With four, the intended proportions are untouched. */
@media (min-width:993px){
	.footer__cols:not(:has(> :nth-child(4))){
		grid-template-columns:1.5fr;
		grid-auto-flow:column;
		grid-auto-columns:1fr;
	}
}
/* A column list coming from a block widget arrives as a <ul>, while
   .footer__links expects a grid without markers. */
ul.footer__links{list-style:none;margin:0;padding:0}
.footer__col .footer__title{margin:0 0 18px}
/* A footer column heading comes from a block widget and was picking up the
   blog sidebar rule: color:var(--ink) — dark on dark (measured
   rgb(11,16,32) on rgb(11,16,32)). The footer is dark, so override it. */
.footer .widget .wp-block-heading,
.footer .widget>h2:not(.widget__title),
.footer .widget .wp-block-group>h2{
	color:#fff;
	font-size:1rem;
	letter-spacing:-.01em;
	margin-bottom:22px;
	display:block;
}
.footer .widget .wp-block-heading::before{display:none}
