/*
 * WeDominators — fixes and new blocks from the owner notes of 2026-09-15.
 * Loaded after core.css (and any page extras). Uses the concept's tokens only.
 */

/* ── Menu the same width as the page sections ─────────────────────────────── */
body>header .navbar{width:var(--w);max-width:100%;justify-content:space-between}
body>header .navbar .nav-links{margin-inline:auto}

/* ── Gradient word in split hero headings ─────────────────────────────────── */
/* The word-reveal script wraps each word in an inline-block span; a background-clip:text on the
   parent <em> does not paint transformed children, so "Our Work & Case Studies" rendered as
   "Our Work &". Give each word its own gradient. */
.hero h1 em .w{color:transparent;background:linear-gradient(112deg,var(--accent),var(--accent-2) 62%,var(--accent));-webkit-background-clip:text;background-clip:text}

/* ── Uploaded images in the concept's art slots ───────────────────────────── */
.art.has-img,.thumb.has-img{background-size:cover!important;background-position:center top!important;background-repeat:no-repeat!important}
.art.has-img::before,.art.has-img::after,.thumb.has-img::after{opacity:.28}

/* ── "Big" statement that is a paragraph, not a heading ───────────────────── */
.about-copy div.big{color:var(--ink)}

/* ── Audit form: one frame on a laptop screen ─────────────────────────────── */
#contact .end-card{padding:clamp(1.5rem,3vw,2.5rem) clamp(1.5rem,3.6vw,3rem)}
#contact .end-card h2{font-size:clamp(1.7rem,3vw,2.5rem);margin-top:.4rem}
#contact .end-card>p{margin-block:.5rem .1rem}
#contact .end-card .end-note{margin-top:.8rem}
.aud{margin-top:.9rem}
.aud-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem .9rem;margin-top:.8rem}
.aud-grid .span2{grid-column:1/-1}
.fld2 textarea{min-height:58px}
.aud-foot{margin-top:.9rem}
.aud-err{margin:.8rem 0 0;color:#e5484d;font-size:.86rem;text-align:left}
.wd-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}
@media (max-width:900px){.aud-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.aud-grid{grid-template-columns:1fr}}

/* ── Reviews ──────────────────────────────────────────────────────────────── */
.rv-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
@media (max-width:1000px){.rv-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.rv-grid{grid-template-columns:1fr}}
.rv-card{margin:0;padding:1.5rem 1.5rem 1.3rem;border-radius:22px;display:flex;flex-direction:column;gap:1rem}
.rv-stars{color:#f5b301;letter-spacing:.12em;font-size:.95rem}
.rv-stars i{font-style:normal;color:color-mix(in oklab,var(--ink) 18%,transparent)}
.rv-card blockquote{margin:0;color:var(--ink);font-size:1rem;line-height:1.65;flex:1}
.rv-card blockquote p{margin:0 0 .6rem}
.rv-card figcaption{display:flex;align-items:center;gap:.7rem}
.rv-card figcaption img{width:44px;height:44px;border-radius:50%;object-fit:cover}
.rv-card figcaption span{display:flex;flex-direction:column;flex:1;min-width:0}
.rv-card figcaption b{font:600 .95rem/1.25 var(--font-d);color:var(--ink)}
.rv-card figcaption small{color:var(--mute);font-size:.8rem}
.rv-card figcaption em{font-style:normal;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--mute)}

/* ── Shared pill + small helpers ──────────────────────────────────────────── */
.pf-pill{display:inline-flex;align-items:center;padding:.42rem .9rem;border-radius:999px;background:color-mix(in oklab,var(--accent) 16%,transparent);color:var(--accent);font:600 .72rem/1 var(--font-b);letter-spacing:.1em;text-transform:uppercase}
.pf-actions{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.6rem}
.wd-pills{display:flex;flex-wrap:wrap;gap:.45rem;justify-content:center;margin-top:1.2rem}
.wd-pills a{padding:.45rem .9rem;border-radius:999px;border:1px solid var(--line);color:var(--ink2);font-size:.85rem;text-decoration:none;transition:border-color .3s,color .3s}
.wd-pills a:hover,.wd-pills a[aria-current]{border-color:var(--accent);color:var(--accent)}

/* ── Portfolio grid (archive + "more projects") ───────────────────────────── */
.pf-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1rem,2vw,1.4rem)}
@media (max-width:1000px){.pf-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:620px){.pf-grid{grid-template-columns:1fr}}
.pf-card{display:flex;flex-direction:column;border-radius:22px;overflow:hidden;text-decoration:none;color:inherit}
.pf-card[hidden]{display:none}
.pf-img{display:block;aspect-ratio:16/10;overflow:hidden;background:var(--thumb-a)}
.pf-img img{display:block;width:100%;height:100%;object-fit:cover;object-position:top;transition:transform 1.1s var(--ease)}
.pf-card:hover .pf-img img,.pf-card:focus-visible .pf-img img{transform:scale(1.04)}
.pf-txt{display:block;padding:1rem 1.2rem 1.25rem}
.pf-txt small{display:block;font:600 .66rem/1 var(--font-b);letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}
.pf-txt b{display:block;margin-top:.5rem;font:600 1.06rem/1.3 var(--font-d);color:var(--ink)}

/* ── Single portfolio project ─────────────────────────────────────────────── */
.pf-hero{padding:8.5rem 0 1rem}
.pf-hero .crumbs{justify-content:flex-start;margin-bottom:1.6rem}
.pf-hero h1{font-size:clamp(2.2rem,5.2vw,4.3rem);max-width:20ch;margin:1rem 0 0}
.pf-hero .lede{max-width:46rem;margin:1rem 0 0;color:var(--ink2)}
.pf-meta{display:flex;flex-wrap:wrap;gap:.6rem 1.4rem;margin:1.2rem 0 0;padding:0;list-style:none;font:500 .84rem/1.2 var(--font-b);color:var(--mute)}
.pf-meta li::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--accent);margin-right:.5rem;vertical-align:middle}
.pf-browser{margin:2.4rem 0 0;border-radius:18px;overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow);background:color-mix(in oklab,var(--ink) 6%,var(--bg))}
.pf-bar{display:flex;align-items:center;gap:.4rem;padding:.6rem .9rem;border-bottom:1px solid var(--line)}
.pf-bar i{width:10px;height:10px;border-radius:50%;background:color-mix(in oklab,var(--ink) 24%,transparent)}
.pf-bar span{margin-left:.6rem;font:500 .74rem/1 var(--font-b);color:var(--mute);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pf-screen{--fh:clamp(300px,46vw,620px);height:var(--fh);overflow:hidden;position:relative;background:#fff}
.pf-screen img{display:block;width:100%;height:auto;transform:translateY(0);transition:transform 8s cubic-bezier(.45,.05,.55,.95)}
.pf-browser:hover .pf-screen img,.pf-browser:focus-visible .pf-screen img,.pf-phone:hover .pf-screen img,.pf-phone:focus-visible .pf-screen img{transform:translateY(calc(-100% + var(--fh)))}
.pf-hint{display:block;text-align:center;margin-top:.7rem;font-size:.78rem;color:var(--mute)}
.pf-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));margin:1.4rem 0 0;border-radius:20px;overflow:hidden}
.pf-facts>div{padding:1.05rem 1.2rem;border-right:1px solid var(--line)}
.pf-facts>div:last-child{border-right:0}
.pf-facts dt{font:600 .64rem/1 var(--font-b);letter-spacing:.14em;text-transform:uppercase;color:var(--mute);margin-bottom:.55rem}
.pf-facts dd{margin:0;font:600 .98rem/1.3 var(--font-d);color:var(--ink)}
.pf-facts dd a{color:var(--accent);text-decoration:none}
.pf-story{max-width:46rem;margin:clamp(2.4rem,5vw,3.6rem) auto 0}
.pf-story h2{display:flex;align-items:center;gap:.8rem;font-size:clamp(1.45rem,2.5vw,2rem);margin:2.2rem 0 .8rem}
.pf-story h2::before{content:"";flex:none;width:4px;height:1.05em;border-radius:3px;background:var(--accent)}
.pf-story p{color:var(--ink2);font-size:1.04rem;line-height:1.78;margin:0 0 .9rem}
.pf-high{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,320px);gap:clamp(1.6rem,4vw,3.4rem);align-items:center;max-width:62rem;margin:clamp(2.6rem,5vw,4rem) auto 0}
.pf-high.solo{grid-template-columns:1fr;max-width:46rem}
@media (max-width:860px){.pf-high{grid-template-columns:1fr}}
.pf-high h3{font:600 .7rem/1 var(--font-b);letter-spacing:.16em;text-transform:uppercase;color:var(--mute);margin:0 0 1rem}
.pf-high ul{list-style:none;padding:0;margin:0;display:grid;gap:.8rem}
.pf-high li{display:flex;gap:.7rem;color:var(--ink);font-size:1.02rem;line-height:1.5}
.pf-high li::before{content:"";flex:none;width:8px;height:8px;margin-top:.5em;border-radius:50%;background:var(--accent)}
.pf-phone{width:min(300px,76vw);margin-inline:auto;padding:11px;border-radius:40px;border:1px solid var(--line);background:color-mix(in oklab,var(--ink) 10%,var(--bg));box-shadow:var(--shadow)}
.pf-phone .pf-screen{--fh:560px;border-radius:30px}
.pf-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem;max-width:62rem;margin:clamp(2.4rem,5vw,3.4rem) auto 0}
.pf-col{padding:1.4rem 1.5rem;border-radius:20px}
.pf-col h3{font:600 .7rem/1 var(--font-b);letter-spacing:.16em;text-transform:uppercase;color:var(--mute);margin:0 0 1rem}
.pf-col ul{margin:0;padding-left:1.1rem;color:var(--ink2);display:grid;gap:.45rem}
.pf-more{margin-top:clamp(3rem,6vw,4.6rem)}
.pf-more .sect-head{margin-bottom:1.6rem}
@media (prefers-reduced-motion:reduce){.pf-screen img{transition:none}}

/* ── Single case study ────────────────────────────────────────────────────── */
.cs2{padding:8.5rem 0 0}
.cs2-hero{text-align:center}
.cs2-hero .crumbs{justify-content:center;margin-bottom:1.4rem}
.cs2-hero h1{font-size:clamp(2.1rem,4.8vw,3.9rem);max-width:22ch;margin:1rem auto 0}
.cs2-hero .lede{max-width:44rem;margin:1rem auto 0;color:var(--ink2)}
.cs2-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.9rem;max-width:66rem;margin:2.4rem auto 0}
.cs2-metrics>div{padding:1.25rem 1rem;border-radius:20px;text-align:center}
.cs2-metrics b{display:block;font:600 clamp(1.55rem,2.8vw,2.15rem)/1 var(--font-d);color:var(--ink);font-variant-numeric:tabular-nums lining-nums}
.cs2-metrics span{display:block;margin-top:.55rem;font:600 .64rem/1.25 var(--font-b);letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
.cs2-figure{margin:2rem auto 0;max-width:66rem;border-radius:22px;overflow:hidden}
.cs2-figure img{display:block;width:100%;height:auto}
.cs2-body{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:clamp(1.6rem,4vw,3rem);align-items:start;max-width:66rem;margin:clamp(2.6rem,5vw,3.8rem) auto 0}
@media (max-width:900px){.cs2-body{grid-template-columns:1fr}}
.cs2-story .prose{max-width:none}
.cs2-story .prose p{color:var(--ink2);font-size:1.05rem;line-height:1.8;margin:0 0 1.1rem}
.cs2-story .prose p:first-child{color:var(--ink);font-size:1.18rem;line-height:1.65}
.cs2-story .prose strong{color:var(--ink)}
.cs2-side{position:sticky;top:6.5rem;display:grid;gap:.9rem}
.cs2-card{padding:1.3rem 1.4rem;border-radius:20px}
.cs2-card p{color:var(--ink2);font-size:.9rem;margin:.2rem 0 1rem}
.cs2-facts{margin:0;display:grid;gap:.85rem}
.cs2-facts div{display:flex;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--line);padding-bottom:.7rem}
.cs2-facts div:last-child{border-bottom:0;padding-bottom:0}
.cs2-facts dt{color:var(--mute);font-size:.82rem}
.cs2-facts dd{margin:0;color:var(--ink);font-weight:600;font-size:.9rem;text-align:right}
.cs2-facts dd a{color:var(--accent);text-decoration:none}
.cs2-related{margin-top:clamp(3rem,6vw,4.6rem)}
.cs2-related .sect-head{margin-bottom:1.6rem}

/* ── Article index pager + contents ───────────────────────────────────────── */
.wd-empty{text-align:center;color:var(--ink2);padding:2rem 0}
.toc{margin:0;padding-left:1.1rem;display:grid;gap:.45rem;font-size:.9rem}
.toc a{color:var(--ink2);text-decoration:none}
.toc a:hover{color:var(--accent)}
