/* ---------------------------------------------------------------------------
   Fonts, served from this domain rather than fonts.googleapis.com.

   The Google stylesheet was render blocking and cost about 570ms of First
   Contentful Paint on mobile: the browser had to resolve and connect to two
   extra hosts, download a stylesheet, and only then discover which font files
   it needed. These files are the same ones Google serves (Inter and Manrope are
   both SIL Open Font License), limited to the latin and latin-ext subsets,
   which is exactly the coverage the site had before.

   font-display:swap is kept, so text is visible immediately in a fallback face.
--------------------------------------------------------------------------- */
/* Inter 600 italic, latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url(/dist-front/redesign/fonts/inter-600-italic-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Inter 600 italic, latin */
@font-face {
  font-family: 'Inter';
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url(/dist-front/redesign/fonts/inter-600-italic-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Inter 600, latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/dist-front/redesign/fonts/inter-600-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Inter 600, latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/dist-front/redesign/fonts/inter-600-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Manrope 400, latin-ext */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/dist-front/redesign/fonts/manrope-400-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Manrope 400, latin */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/dist-front/redesign/fonts/manrope-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Manrope 500, latin-ext */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/dist-front/redesign/fonts/manrope-500-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Manrope 500, latin */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/dist-front/redesign/fonts/manrope-500-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Manrope 600, latin-ext */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/dist-front/redesign/fonts/manrope-600-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Manrope 600, latin */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/dist-front/redesign/fonts/manrope-600-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Manrope 700, latin-ext */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/dist-front/redesign/fonts/manrope-700-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Manrope 700, latin */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/dist-front/redesign/fonts/manrope-700-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ==========================================================================
   websitedeveloper.tech redesign (built section by section)
   Reference: quland.mamunuiux.com navbar + grid hero, in our brand colours.
   No gradients by request; the grid is drawn with 1px lines only.
   ========================================================================== */

:root{
    --wd-brand:#0E50FE;
    --wd-brand-dark:#0a3fcc;
    --wd-ink:#101828;          /* headings */
    --wd-text:#4b5563;         /* body copy */
    --wd-muted:#6d6d6d;        /* nav links, like the reference */
    --wd-line:#e7e8e9;         /* header borders */
    --wd-grid-bg:#f3f4f9;      /* hero background */
    --wd-grid-line:rgba(229,231,236,.9);   /* reference: #e5e7ec at ~42% over #f3f4f9 */
    --wd-grid-cell:56px;
    --wd-white:#fff;
    --wd-star:#f5b93c;
    --wd-radius-pill:999px;
    --wd-font-body:"Manrope", system-ui, -apple-system, "Segoe UI", sans-serif;
    --wd-font-head:"Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
    --wd-container:1400px;
}

*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; }
body.wd{
    margin:0; font-family:var(--wd-font-body); color:var(--wd-text); background:var(--wd-white);
    font-size:16px; line-height:1.6; -webkit-font-smoothing:antialiased;
}
.wd img{ max-width:100%; height:auto; display:block; }
.wd a{ color:inherit; text-decoration:none; }
.wd button{ font:inherit; }
.wd-visually-hidden{ position:absolute!important; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.wd-skip{ position:absolute; left:16px; top:-60px; z-index:1000; background:var(--wd-ink); color:#fff; padding:10px 16px; border-radius:8px; }
.wd-skip:focus{ top:16px; }
.wd :focus-visible{ outline:2px solid var(--wd-brand); outline-offset:3px; }

.wd-container{ width:100%; max-width:var(--wd-container); margin:0 auto; padding:0 20px; }

/* ---------- Header ---------------------------------------------------- */
.wd-header{ position:absolute; top:0; left:0; right:0; z-index:50; padding-top:20px; }
.wd-header__card{ border:1px solid var(--wd-line); background:var(--wd-white); }

/* Top strip: address on white, contact details on a solid brand block */
.wd-topbar{ display:flex; align-items:stretch; height:45px; border-bottom:1px solid var(--wd-line); font-size:14px; }
.wd-topbar__left{ display:flex; align-items:center; gap:8px; padding-left:50px; color:var(--wd-muted); flex:1; min-width:0; }
.wd-topbar__right{
    display:flex; align-items:center; justify-content:flex-end; gap:32px; padding:0 50px 0 70px;
    background:var(--wd-brand); color:#fff; clip-path:polygon(28px 0, 100% 0, 100% 100%, 0 100%);
}
.wd-topbar__right a{ display:inline-flex; align-items:center; gap:8px; color:#fff; }
.wd-topbar__right a:hover{ text-decoration:underline; text-underline-offset:3px; }
.wd-topbar svg{ width:16px; height:16px; flex:none; }

/* Main bar */
.wd-nav{ display:flex; align-items:center; justify-content:space-between; gap:24px; height:95px; padding:0 50px; }
.wd-logo{ flex:none; display:block; }
.wd-logo img{ width:200px; height:auto; }
.wd-menu{ display:flex; align-items:center; gap:30px; margin:0; padding:0; list-style:none; white-space:nowrap; }
.wd-menu > li{ position:relative; }
.wd-menu > li > a, .wd-menu__toggle{
    display:inline-flex; align-items:center; gap:6px; font-weight:600; font-size:16px; color:var(--wd-muted);
    padding:34px 0; background:none; border:0; cursor:pointer; line-height:1;
}
.wd-menu > li > a:hover, .wd-menu__toggle:hover, .wd-menu > li > a[aria-current="page"]{ color:var(--wd-brand); }
.wd-menu__toggle svg{ width:12px; height:12px; transition:transform .2s; }
.wd-dropdown{
    position:absolute; top:100%; left:-20px; min-width:260px; margin:0; padding:10px 0; list-style:none;
    background:#fff; border:1px solid rgba(14,80,254,.12); border-radius:0 0 8px 8px;
    box-shadow:0 10px 15px -3px rgba(0,0,0,.1), 0 4px 6px -4px rgba(0,0,0,.1);
    opacity:0; visibility:hidden; transform:translateY(8px); transition:opacity .2s, transform .2s, visibility .2s;
}
.wd-dropdown a{ display:block; padding:9px 22px; font-size:15px; font-weight:500; color:var(--wd-ink); }
.wd-dropdown a:hover{ color:var(--wd-brand); background:#f5f7ff; }
.wd-menu > li:hover > .wd-dropdown,
.wd-menu > li:focus-within > .wd-dropdown,
.wd-menu__toggle[aria-expanded="true"] + .wd-dropdown{ opacity:1; visibility:visible; transform:none; }
.wd-menu > li:hover .wd-menu__toggle svg,
.wd-menu__toggle[aria-expanded="true"] svg{ transform:rotate(180deg); }

.wd-nav__actions{ display:flex; align-items:center; gap:16px; flex:none; }
.wd-search{ position:relative; }
.wd-search input{
    width:220px; height:46px; border:1px solid var(--wd-line); border-radius:var(--wd-radius-pill);
    padding:0 18px 0 44px; font:inherit; font-size:15px; color:var(--wd-ink); background:#fff;
}
.wd-search input::placeholder{ color:#9ca3af; }
.wd-search input:focus{ outline:none; border-color:var(--wd-brand); }
.wd-search svg{ position:absolute; left:16px; top:50%; width:18px; height:18px; transform:translateY(-50%); color:#9ca3af; pointer-events:none; }

.wd-btn{
    display:inline-flex; align-items:center; justify-content:center; gap:8px; height:50px; padding:0 30px;
    border-radius:41px; font-weight:700; font-size:16px; line-height:1; white-space:nowrap;
    border:1px solid var(--wd-brand); background:var(--wd-brand); color:#fff; transition:background .2s, border-color .2s, transform .2s;
}
.wd .wd-btn{ color:#fff; }
.wd-btn:hover{ background:var(--wd-brand-dark); border-color:var(--wd-brand-dark); }
.wd-btn svg{ width:16px; height:16px; }
.wd-link{
    display:inline-flex; align-items:center; gap:6px; font-weight:700; color:var(--wd-ink);
    border-bottom:1px solid currentColor; padding-bottom:2px; line-height:1.2;
}
.wd-link:hover{ color:var(--wd-brand); }
.wd-link svg{ width:14px; height:14px; }

.wd-burger{
    display:none; width:48px; height:48px; border-radius:50%; border:1px solid var(--wd-line); background:#fff;
    align-items:center; justify-content:center; cursor:pointer; color:var(--wd-ink);
}
.wd-burger svg{ width:20px; height:20px; }

/* Sticky state: the main bar pins to the top once the page scrolls */
.wd-header.is-stuck{ position:fixed; padding-top:0; animation:wd-drop .3s ease; }
.wd-header.is-stuck .wd-container{ max-width:none; padding:0; }
.wd-header.is-stuck .wd-header__card{ border-width:0 0 1px; box-shadow:0 8px 30px rgba(16,24,40,.08); }
.wd-header.is-stuck .wd-topbar{ display:none; }
.wd-header.is-stuck .wd-nav{ height:78px; max-width:var(--wd-container); margin:0 auto; }
.wd-header.is-stuck .wd-menu > li > a, .wd-header.is-stuck .wd-menu__toggle{ padding:28px 0; }
@keyframes wd-drop{ from{ transform:translateY(-100%); } to{ transform:none; } }

/* Mobile drawer */
.wd-drawer{ position:fixed; inset:0; z-index:100; visibility:hidden; overflow:hidden; } /* overflow:hidden clips the closed panel, which sits at translateX(100%) and otherwise adds ~4px of horizontal page scroll on phones */
.wd-drawer.is-open{ visibility:visible; }
.wd-drawer__overlay{ position:absolute; inset:0; background:rgba(16,24,40,.45); opacity:0; transition:opacity .25s; }
.wd-drawer.is-open .wd-drawer__overlay{ opacity:1; }
.wd-drawer__panel{
    position:absolute; top:0; right:0; bottom:0; width:min(360px, 88vw); background:#fff; padding:22px 24px 30px;
    overflow-y:auto; transform:translateX(100%); transition:transform .25s ease; display:flex; flex-direction:column; gap:22px;
}
.wd-drawer.is-open .wd-drawer__panel{ transform:none; }
.wd-drawer__head{ display:flex; align-items:center; justify-content:space-between; }
.wd-drawer__head img{ width:160px; }
.wd-drawer__close{ width:44px; height:44px; border-radius:50%; border:1px solid var(--wd-line); background:#fff; display:grid; place-items:center; cursor:pointer; color:var(--wd-ink); }
.wd-drawer__close svg{ width:18px; height:18px; }
.wd-drawer__menu{ list-style:none; margin:0; padding:0; border-top:1px solid var(--wd-line); }
.wd-drawer__menu > li{ border-bottom:1px solid var(--wd-line); }
.wd-drawer__menu a, .wd-drawer__menu button{
    display:flex; width:100%; align-items:center; justify-content:space-between; padding:14px 2px;
    font-weight:600; color:var(--wd-ink); background:none; border:0; cursor:pointer; text-align:left;
}
.wd-drawer__menu button svg{ width:12px; height:12px; transition:transform .2s; }
.wd-drawer__menu button[aria-expanded="true"] svg{ transform:rotate(180deg); }
.wd-drawer__sub{ list-style:none; margin:0 0 10px; padding:0 0 0 12px; }
.wd-drawer__sub[hidden]{ display:none; }
.wd-drawer__sub a{ padding:9px 2px; font-weight:500; color:var(--wd-text); }
.wd-drawer__contact{ display:grid; gap:10px; font-size:15px; }
.wd-drawer__contact a{ display:flex; gap:10px; align-items:center; color:var(--wd-ink); }
.wd-drawer__contact svg{ width:16px; height:16px; color:var(--wd-brand); }
body.wd-lock{ overflow:hidden; }

/* ---------- Hero -------------------------------------------------------- */
.wd-hero{
    position:relative; overflow:hidden; background-color:var(--wd-grid-bg);
    /* 1px grid lines, 56px cells, like the reference's tile grid */
    background-image:
        linear-gradient(to right, var(--wd-grid-line) 1px, transparent 1px),
        linear-gradient(to bottom, var(--wd-grid-line) 1px, transparent 1px);
    background-size:var(--wd-grid-cell) var(--wd-grid-cell);
    background-position:center top;
    padding:240px 0 90px; min-height:760px; display:flex; align-items:center;
}
/* Cursor spotlight: the same grid in brand colour, revealed only around the pointer */
.wd-hero__spot{
    position:absolute; inset:0; pointer-events:none; opacity:0; transition:opacity .3s;
    background-image:
        linear-gradient(to right, rgba(14,80,254,.35) 1px, transparent 1px),
        linear-gradient(to bottom, rgba(14,80,254,.35) 1px, transparent 1px);
    background-size:var(--wd-grid-cell) var(--wd-grid-cell); background-position:center top;
    -webkit-mask-image:radial-gradient(160px circle at var(--mx, 50%) var(--my, 50%), #000, transparent 70%);
            mask-image:radial-gradient(160px circle at var(--mx, 50%) var(--my, 50%), #000, transparent 70%);
}
.wd-hero.is-lit .wd-hero__spot{ opacity:1; }

.wd-hero__inner{ position:relative; text-align:center; max-width:980px; margin:0 auto; }
.wd-badge{
    display:inline-flex; align-items:center; gap:10px; padding:14px 24px; border-radius:var(--wd-radius-pill);
    background:#fff; color:var(--wd-brand); font-weight:600; font-size:16px; line-height:1;
    box-shadow:0 10px 60px rgba(14,80,254,.18); margin-bottom:32px;
}
.wd-badge svg{ width:18px; height:18px; color:var(--wd-star); }
.wd-hero__title{
    font-family:var(--wd-font-head); color:var(--wd-ink); font-weight:600; letter-spacing:-.025em;
    font-size:clamp(38px, 5.2vw, 72px); line-height:1.12; margin:0 0 30px;
}
.wd-hero__title em{ font-style:italic; font-weight:600; }
.wd-hero__hl{ display:inline-block; background:var(--wd-brand); color:#fff; padding:0 .18em; margin-left:.12em; font-style:normal; line-height:1.1; }
.wd-hero__lead{ font-size:clamp(16px, .6vw + 13px, 19px); line-height:1.7; color:var(--wd-text); max-width:660px; margin:0 auto 42px; }
.wd-hero__ctas{ display:flex; align-items:center; justify-content:center; gap:30px; flex-wrap:wrap; }

/* ---------- Client results (device slider) ---------------------------- */
.wd-results{
    /* The tilted mockup's 3D projection reaches a few pixels past the container
       on phones, which gave the page horizontal scroll. clip (not hidden) cuts
       that off without turning the section into a scroll container. */
    overflow-x:clip;
    position:relative; background-color:var(--wd-grid-bg);
    background-image:
        linear-gradient(to right, var(--wd-grid-line) 1px, transparent 1px),
        linear-gradient(to bottom, var(--wd-grid-line) 1px, transparent 1px);
    background-size:var(--wd-grid-cell) var(--wd-grid-cell); background-position:center top;
    padding:0 0 110px; margin-top:-1px;
}
/* Tilt: set by redesign.js from scroll position (--wd-tilt, --wd-scale). */
.wd-results__stage{ perspective:1000px; max-width:1240px; margin:0 auto; }
.wd-device{
    --wd-tilt:20deg; --wd-scale:1.04;
    transform:rotateX(var(--wd-tilt)) scale(var(--wd-scale)); transform-origin:50% 0; will-change:transform;
    background:#16171b; border:1px solid #2a2c33; border-radius:30px; padding:14px;
    box-shadow:0 9px 20px #0000004a, 0 37px 37px #00000042, 0 84px 50px #00000026, 0 149px 60px #0000000a;
}
/* Desktop: sidebar (head + caption) on the left, screenshot on the right */
.wd-device__screen{
    display:grid; grid-template-columns:290px 1fr; grid-template-rows:1fr auto;
    grid-template-areas:"head view" "caption view";
    border-radius:18px; overflow:hidden; background:#0f1013;
}
.wd-device__head{ grid-area:head; padding:30px 20px 10px; min-width:0; }
.wd-device__viewport{ grid-area:view; position:relative; overflow:hidden; background:#fff; aspect-ratio:1600 / 925; touch-action:pan-y; min-width:0; }
/* min-width:0 above and below: without it the slide track's min-content width
   (the screenshots) sets the floor for the grid column, so on phones the whole
   mockup was laid out wider than the screen and the page scrolled sideways. */
.wd-device__caption{ grid-area:caption; margin:0; padding:18px 22px 26px; font-size:13.5px; line-height:1.6; color:#a3a9b5; }

.wd-device__eyebrow{ margin:0 0 6px; font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:#7b808c; }
.wd-device__title{ margin:0 0 22px; font-family:var(--wd-font-head); font-weight:600; font-size:26px; line-height:1.2; color:#fff; letter-spacing:-.01em; }
.wd-device__tabs{ display:flex; flex-direction:column; gap:6px; }
.wd-device__tabs button{
    position:relative; display:flex; align-items:center; gap:12px; width:100%; text-align:left; padding:13px 14px 15px;
    border-radius:12px; border:1px solid transparent; background:transparent; color:#c9ccd3;
    font-weight:600; font-size:14.5px; line-height:1.3; cursor:pointer; transition:background .2s, color .2s;
}
.wd-device__tabs button:hover{ background:rgba(255,255,255,.06); }
.wd-device__tabs button[aria-selected="true"]{ background:#fff; color:var(--wd-ink); }
.wd-device__tabs button:focus-visible{ outline:2px solid var(--wd-brand); outline-offset:2px; }
.wd-device__num{ font-size:12px; font-weight:700; color:#858a95; font-variant-numeric:tabular-nums; }
.wd-device__tabs button[aria-selected="true"] .wd-device__num{ color:var(--wd-brand); }
.wd-device__progress{ position:absolute; left:14px; right:14px; bottom:6px; height:3px; border-radius:3px; background:rgba(14,80,254,.15); opacity:0; }
.wd-device__progress span{ display:block; height:100%; width:0; border-radius:3px; background:var(--wd-brand); }
.wd-device__tabs button[aria-selected="true"] .wd-device__progress{ opacity:1; }
.wd-device.is-playing .wd-device__tabs button[aria-selected="true"] .wd-device__progress span{ animation:wd-progress var(--wd-interval, 4000ms) linear forwards; }
.wd-device.is-paused .wd-device__progress span{ animation-play-state:paused !important; }
@keyframes wd-progress{ from{ width:0; } to{ width:100%; } }

.wd-device__track{ display:flex; height:100%; transition:transform .7s cubic-bezier(.65,0,.35,1); min-width:0; }
.wd-device__slide{ flex:0 0 100%; min-width:0; margin:0; height:100%; }
.wd-device__slide picture, .wd-device__slide img{ display:block; width:100%; height:100%; }
.wd-device__slide img{ object-fit:cover; object-position:top left; }
.wd-device__counter{
    position:absolute; right:14px; bottom:14px; padding:5px 11px; border-radius:999px; font-size:12px; font-weight:600;
    background:rgba(16,24,40,.72); color:#fff; font-variant-numeric:tabular-nums; display:none;
}
.wd-device__counter b{ font-weight:700; }

.wd-results__more{ text-align:center; margin:56px 0 0; color:var(--wd-text); font-size:15px; }
.wd-results__more a{ color:var(--wd-brand); font-weight:700; text-decoration:underline; text-underline-offset:3px; }

/* Tablet and phone: title, swipeable tabs, square close-up, caption */
@media (max-width: 1099.98px){
    .wd-device__screen{ grid-template-columns:1fr; grid-template-rows:auto auto auto; grid-template-areas:"head" "view" "caption"; }
    .wd-device__head{ padding:22px 0 14px; }
    .wd-device__eyebrow, .wd-device__title{ padding:0 20px; }
    .wd-device__title{ font-size:24px; margin-bottom:16px; }
    .wd-device__tabs{
        flex-direction:row; gap:8px; overflow-x:auto; padding:0 20px 4px; scroll-snap-type:x mandatory; scroll-padding:0 20px;
        scrollbar-width:none; -webkit-mask-image:linear-gradient(to right, transparent 0, #000 14px, #000 calc(100% - 28px), transparent);
                mask-image:linear-gradient(to right, transparent 0, #000 14px, #000 calc(100% - 28px), transparent);
    }
    .wd-device__tabs::-webkit-scrollbar{ display:none; }
    .wd-device__tabs button{
        width:auto; flex:none; white-space:nowrap; scroll-snap-align:start; padding:10px 14px 12px; gap:8px;
        border:1px solid #2b2e36; border-radius:999px; font-size:14px;
    }
    .wd-device__tabs button[aria-selected="true"]{ border-color:#fff; }
    .wd-device__progress{ left:16px; right:16px; bottom:4px; height:2px; }
    .wd-device__caption{ padding:16px 20px 22px; font-size:14px; color:#c3c8d2; min-height:5.4em; }
    .wd-device__counter{ display:block; }
}
@media (max-width: 767.98px){
    /* The mockup was laid out wider than the screen on phones, giving the whole
       page a few pixels of horizontal scroll: the scrollable tab strip inside it
       is a flex row whose buttons set the min-content width, so the device grew
       to fit them. min-width:0 lets the strip scroll instead. */
    .wd-device{ --wd-scale:1; max-width:100%; }
    .wd-device, .wd-device__screen, .wd-device__head, .wd-device__tabs{ min-width:0; }
    .wd-device__tabs button{ flex:0 0 auto; }
    /* square, art-directed close-ups on phones */
    .wd-device__viewport{ aspect-ratio:1 / 1; }
    .wd-device__slide img{ object-position:center; }
}
@media (max-width: 575.98px){
    .wd-results{ padding-bottom:80px; }
    .wd-results .wd-container{ padding:0 14px; }
    .wd-device{ border-radius:24px; padding:7px; box-shadow:0 20px 40px rgba(16,24,40,.25); }
    .wd-device__screen{ border-radius:18px; }
    .wd-device__head{ padding-top:20px; }
    .wd-device__eyebrow, .wd-device__title{ padding:0 18px; }
    .wd-device__title{ font-size:22px; }
    .wd-device__tabs{ padding:0 18px 4px; scroll-padding:0 18px; }
    .wd-device__caption{ padding:14px 18px 20px; font-size:13.5px; }
    .wd-results__more{ font-size:14px; padding:0 6px; }
}

/* ---------- Shared section heading ------------------------------------ */
.wd-section-head{ text-align:center; max-width:760px; margin:0 auto 56px; }
.wd-eyebrow{ margin:0 0 12px; font-size:14px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--wd-brand); }
.wd-section-title{ margin:0 0 16px; font-family:var(--wd-font-head); font-weight:600; font-size:clamp(30px, 3.6vw, 48px); line-height:1.15; letter-spacing:-.02em; color:var(--wd-ink); text-wrap:balance; }
.wd-section-lead{ margin:0 auto; max-width:620px; font-size:17px; line-height:1.7; color:var(--wd-text); }

/* ---------- Services ---------------------------------------------------- */
.wd-services{ background:#fff; padding:120px 0 90px; }
.wd-scards{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(3, 1fr); gap:32px; }
/* Reference design: photo card, white title on the image, blue icon block + dark text panel at the bottom */
.wd-scard{ position:relative; min-height:432px; overflow:hidden; background:#111; isolation:isolate; }
.wd-scard__img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2; transition:transform .6s ease; }
.wd-scard::before{ content:""; position:absolute; inset:0; background:rgba(10,12,16,.55); z-index:-1; transition:background .3s; }
.wd-scard:hover .wd-scard__img{ transform:scale(1.05); }
.wd-scard:hover::before{ background:rgba(10,12,16,.45); }
.wd-scard__title{ margin:0; padding:36px 40px 0; font-family:var(--wd-font-head); font-weight:600; font-size:26px; line-height:1.25; letter-spacing:-.01em; color:#fff; }
.wd-scard__title a{ color:#fff; }
.wd-scard__title a::after{ content:""; position:absolute; inset:0; z-index:1; } /* whole card is the link */
.wd-scard__title a:focus-visible{ outline:none; }
.wd-scard:has(a:focus-visible){ outline:3px solid var(--wd-brand); outline-offset:3px; }
.wd-scard__foot{ position:absolute; left:14px; right:14px; bottom:14px; display:flex; min-height:200px; }
.wd-scard__icon{ flex:0 0 98px; background:var(--wd-brand); color:#fff; display:grid; place-items:center; }
.wd-scard__icon svg{ width:48px; height:48px; }
.wd-scard__text{ flex:1; margin:0; background:#0e0f12; color:#b9bec8; font-size:17px; line-height:1.9; padding:32px 40px; display:flex; align-items:center; }

.wd-services__all{ text-align:center; margin:44px 0 0; }

/* ---------- Marquee ----------------------------------------------------- */
.wd-marquee{ background:var(--wd-brand); color:#fff; overflow:hidden; padding:26px 0; }
.wd-marquee__track{ display:flex; width:max-content; animation:wd-marquee 40s linear infinite; }
.wd-marquee:hover .wd-marquee__track{ animation-play-state:paused; }
.wd-marquee__group{ display:flex; list-style:none; margin:0; padding:0; }
.wd-marquee__group li{
    display:flex; align-items:center; gap:22px; padding-right:56px; white-space:nowrap;
    font-family:var(--wd-font-head); font-weight:600; font-size:26px; letter-spacing:.08em; text-transform:uppercase;
}
.wd-marquee__star{ font-size:20px; opacity:.85; }
@keyframes wd-marquee{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }

@media (max-width: 1199.98px){
    .wd-scards{ gap:22px; }
    .wd-scard__title{ padding:28px 26px 0; font-size:22px; }
    .wd-scard__icon{ flex-basis:80px; }
    .wd-scard__text{ padding:24px 24px; font-size:15.5px; line-height:1.75; }
}
@media (max-width: 899.98px){
    .wd-scards{ grid-template-columns:1fr; max-width:560px; margin:0 auto; }
}
@media (max-width: 575.98px){
    .wd-services{ padding:84px 0 64px; }
    .wd-section-head{ margin-bottom:36px; }
    .wd-section-lead{ font-size:16px; }
    .wd-scards{ gap:18px; }
    .wd-scard{ min-height:400px; }
    .wd-scard__title{ padding:26px 22px 0; font-size:22px; }
    .wd-scard__foot{ left:10px; right:10px; bottom:10px; min-height:0; }
    .wd-scard__icon{ flex-basis:68px; }
    .wd-scard__icon svg{ width:36px; height:36px; }
    .wd-scard__text{ padding:22px 20px; font-size:15px; line-height:1.7; }
    .wd-marquee{ padding:18px 0; }
    .wd-marquee__group li{ font-size:18px; gap:14px; padding-right:34px; }
    .wd-marquee__star{ font-size:15px; }
}
@media (prefers-reduced-motion: reduce){
    .wd-marquee__track{ animation:none; }
    .wd-scard__img, .wd-scard::before{ transition:none; }
}

/* ---------- About / welcome (reference layout, blue on white) ------- */
.wd-about{ position:relative; overflow:hidden; background:#fff; padding:120px 0 130px; }
.wd-about__squiggle{ position:absolute; left:5%; top:40px; width:110px; }
.wd-about__arrow{ position:absolute; left:1.5%; top:330px; width:88px; }
.wd-about__arcs{ position:absolute; right:0; top:0; width:130px; }
.wd-about__grid{ display:grid; grid-template-columns:minmax(0, 1fr) minmax(0, 1.12fr); gap:70px; align-items:center; }

.wd-about__media{ position:relative; width:min(100%, 500px); aspect-ratio:500 / 560; margin-left:auto; }
.wd-about__back{ position:absolute; left:0; top:23%; width:66%; height:72%; object-fit:cover; }
.wd-about__frame{ position:absolute; right:0; top:0; width:74%; height:88%; background:#141820; padding:18px; }
.wd-about__front{ width:100%; height:100%; object-fit:cover; }
.wd-about__badge{
    position:absolute; right:32px; bottom:32px; width:62%; display:flex; align-items:center; gap:18px;
    background:#141820; padding:22px 24px; border:3px solid var(--wd-brand); outline:10px solid #141820;
}
.wd-about__badge svg{ width:54px; height:54px; flex:none; color:var(--wd-brand); }
.wd-about__badge p{ margin:0; line-height:1.1; }
.wd-about__badge b{ display:block; font-family:var(--wd-font-head); font-size:44px; font-weight:600; color:#fff; }
.wd-about__badge span{ display:block; margin-top:6px; font-size:13px; color:#9aa3b5; }

.wd-about__eyebrow{ margin:0 0 14px; font-size:15px; font-weight:600; letter-spacing:.14em; color:var(--wd-text); }
.wd-about__title{ position:relative; margin:0 0 26px; font-family:var(--wd-font-head); font-weight:600; font-size:clamp(32px, 3.6vw, 52px); line-height:1.15; letter-spacing:-.02em; color:var(--wd-ink); }
.wd-about__mark{ position:absolute; left:-2px; top:.72em; width:.9em; height:.42em; background:var(--wd-brand); transform:skewX(-18deg); z-index:-1; border-radius:2px; }
.wd-about__title{ z-index:0; }
.wd-about__text{ margin:0 0 34px; font-size:17px; line-height:2; color:var(--wd-text); max-width:620px; }
.wd-about__features{ display:grid; grid-template-columns:1fr 1fr; gap:28px; margin-bottom:38px; }
.wd-about__feature h3{ display:flex; align-items:center; gap:10px; margin:0 0 12px; font-family:var(--wd-font-head); font-weight:600; font-size:20px; line-height:1.3; color:var(--wd-ink); }
.wd-about__feature h3 svg{ width:18px; height:18px; flex:none; }
.wd-about__feature p{ margin:0; font-size:16px; line-height:1.9; color:var(--wd-text); }

.wd-about__bars{ display:grid; gap:26px; margin-bottom:44px; max-width:620px; }
.wd-bar__label{ display:flex; justify-content:space-between; align-items:baseline; gap:16px; margin:0 0 12px; font-family:var(--wd-font-head); font-weight:600; font-size:18px; color:var(--wd-ink); }
.wd-bar__label span:last-child{ font-family:var(--wd-font-body); font-size:15px; font-weight:600; color:var(--wd-text); }
.wd-bar__track{ height:16px; border-radius:999px; background:#e8eeff; overflow:hidden; }
.wd-bar__fill{ display:block; height:100%; width:0; border-radius:999px; background:var(--wd-brand); box-shadow:inset -6px 0 0 #fff, inset -9px 0 0 var(--wd-brand); transition:width 1.4s cubic-bezier(.25,.8,.25,1); }
.wd-about.is-in .wd-bar__fill{ width:var(--wd-pct); }
.wd-no-js .wd-bar__fill{ width:var(--wd-pct); }

.wd-about__btn{
    display:inline-flex; align-items:center; justify-content:center; min-height:64px; padding:0 40px;
    background:var(--wd-brand); font-weight:700; font-size:16px; transition:background .2s;
}
.wd .wd-about__btn{ color:#fff; }
.wd-about__btn:hover{ background:var(--wd-brand-dark); }

@media (max-width: 1099.98px){
    .wd-about{ padding:96px 0 100px; }
    .wd-about__grid{ grid-template-columns:1fr; gap:64px; }
    .wd-about__media{ margin:0 auto; }
    .wd-about__arrow{ display:none; }
}
@media (max-width: 575.98px){
    .wd-about{ padding:76px 0 84px; }
    .wd-about__squiggle{ width:70px; left:2%; top:20px; }
    .wd-about__arcs{ width:84px; }
    .wd-about__frame{ padding:12px; }
    .wd-about__badge{ right:18px; bottom:18px; width:70%; padding:14px 14px; gap:12px; outline-width:6px; }
    .wd-about__badge svg{ width:38px; height:38px; }
    .wd-about__badge b{ font-size:32px; }
    .wd-about__badge span{ font-size:12px; }
    .wd-about__text{ font-size:16px; line-height:1.85; }
    .wd-about__features{ grid-template-columns:1fr; gap:22px; }
    .wd-bar__label{ font-size:16px; }
    .wd-about__btn{ width:100%; min-height:58px; padding:14px 20px; text-align:center; line-height:1.35; }
}
@media (prefers-reduced-motion: reduce){ .wd-bar__fill{ transition:none; } }

/* ---------- Process ("How we do it"): vertical timeline, old layout on white */
.wd-process{ background:#fff; padding:120px 0; }
.wd-process__list{
    --wd-rail:22px;                      /* x-centre of the timeline line */
    --wd-progress:0;                     /* 0..1, set by redesign.js as you scroll */
    position:relative; list-style:none; margin:0 auto; padding:0; max-width:1160px;
}
.wd-process__list::before, .wd-process__list::after{
    content:""; position:absolute; left:calc(var(--wd-rail) - 1.5px); top:10px; bottom:10px; width:3px; border-radius:3px;
}
.wd-process__list::before{ background:#dfe6fb; }
.wd-process__list::after{ background:var(--wd-brand); bottom:auto; height:calc((100% - 20px) * var(--wd-progress)); }
.wd-step{
    position:relative; display:grid; grid-template-columns:44px minmax(0, 300px) minmax(0, 1fr);
    column-gap:36px; padding:0 0 76px;
}
.wd-step:last-child{ padding-bottom:0; }
.wd-step__icon{
    position:relative; z-index:1; width:44px; height:44px; border-radius:50%; background:#fff; color:var(--wd-brand);
    border:3px solid var(--wd-brand); display:grid; place-items:center; box-shadow:0 0 0 6px #fff;
}
.wd-step__icon svg{ width:20px; height:20px; }
.wd-step__num{ display:block; margin:2px 0 8px; font-size:13px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--wd-brand); }
.wd-step__title{ margin:0; font-family:var(--wd-font-head); font-weight:600; font-size:clamp(22px, 2vw, 28px); line-height:1.25; letter-spacing:-.01em; color:var(--wd-ink); }
.wd-step__body p{ margin:0 0 22px; font-size:17px; line-height:1.85; color:var(--wd-text); max-width:640px; }
.wd-step__body a{ color:var(--wd-brand); font-weight:600; text-decoration:underline; text-underline-offset:3px; }
.wd-step__imgs{ display:grid; grid-template-columns:1fr 1fr; gap:16px; max-width:640px; }
.wd-step__imgs img{ width:100%; aspect-ratio:3 / 2; object-fit:cover; object-position:left top; border-radius:14px; background:#eef1f7; }

@media (max-width: 991.98px){
    .wd-step{ grid-template-columns:44px minmax(0, 1fr); column-gap:22px; row-gap:14px; padding-bottom:60px; }
    .wd-step__body{ grid-column:2; }
}
@media (max-width: 575.98px){
    .wd-process{ padding:84px 0; }
    .wd-process__list{ --wd-rail:18px; }
    .wd-step{ grid-template-columns:36px minmax(0, 1fr); column-gap:16px; padding-bottom:48px; }
    .wd-step__icon{ width:36px; height:36px; border-width:2.5px; box-shadow:0 0 0 5px #fff; }
    .wd-step__icon svg{ width:17px; height:17px; }
    .wd-step__head{ align-self:center; }
    .wd-step__title{ font-size:21px; }
    .wd-step__body p{ font-size:15.5px; line-height:1.8; margin-bottom:16px; }
    .wd-step__imgs{ gap:10px; }
    .wd-step__imgs img{ border-radius:10px; }
}

/* ---------- Case studies (old homepage cards, on white) ---------------- */
.wd-cases{ background:#fff; padding:120px 0; border-top:1px solid #eef0f4; }
.wd-cases__grid{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(3, 1fr); gap:28px; }
.wd-case{
    display:flex; flex-direction:column; border:1px solid var(--wd-line); border-radius:28px; overflow:hidden; background:#fff;
    transition:box-shadow .3s, transform .3s, border-color .3s;
}
.wd-case:hover{ box-shadow:0 24px 50px rgba(16,24,40,.10); transform:translateY(-4px); border-color:rgba(14,80,254,.25); }
.wd-case__media{ display:block; overflow:hidden; border-bottom:1px solid var(--wd-line); background:#f3f4f9; }
.wd-case__media img{ width:100%; aspect-ratio:16 / 10; object-fit:cover; object-position:top; transition:transform .6s ease; }
.wd-case:hover .wd-case__media img{ transform:scale(1.04); }
.wd-case__body{ display:flex; flex-direction:column; flex:1; padding:28px 28px 30px; }
.wd-case__cat{ margin:0 0 10px; font-size:13px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--wd-brand); }
.wd-case__name{ margin:0 0 12px; font-family:var(--wd-font-head); font-weight:600; font-size:26px; line-height:1.2; letter-spacing:-.01em; color:var(--wd-ink); }
.wd-case__text{ margin:0 0 22px; font-size:15.5px; line-height:1.75; color:var(--wd-text); }
.wd-case__metrics{ display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-bottom:24px; }
.wd-case__metric{ margin:0; padding:16px 16px 14px; border-radius:16px; background:#f3f6ff; border:1px solid #e3eaff; }
.wd-case__metric strong{ display:block; font-family:var(--wd-font-head); font-weight:600; font-size:26px; line-height:1.1; color:var(--wd-ink); margin-bottom:6px; }
.wd-case__metric span{ display:block; font-size:13px; line-height:1.4; color:var(--wd-text); }
.wd-case__btns{ margin-top:auto; display:flex; flex-wrap:wrap; gap:10px; }
.wd-case__btn{
    display:inline-flex; align-items:center; gap:8px; height:46px; padding:0 20px; border-radius:999px;
    background:var(--wd-brand); border:1px solid var(--wd-brand); font-weight:700; font-size:14.5px; white-space:nowrap; transition:background .2s, color .2s;
}
.wd .wd-case__btn{ color:#fff; }
.wd-case__btn:hover{ background:var(--wd-brand-dark); }
.wd .wd-case__btn--ghost{ background:#fff; color:var(--wd-ink); border-color:var(--wd-line); }
.wd .wd-case__btn--ghost:hover{ border-color:var(--wd-brand); color:var(--wd-brand); background:#fff; }
.wd-case__btn svg{ width:14px; height:14px; }

@media (max-width: 1099.98px){ .wd-cases__grid{ grid-template-columns:repeat(2, 1fr); } }
@media (max-width: 767.98px){ .wd-cases__grid{ grid-template-columns:1fr; max-width:520px; margin:0 auto; } }
@media (max-width: 575.98px){
    .wd-cases{ padding:84px 0; }
    .wd-case{ border-radius:22px; }
    .wd-case__body{ padding:22px 20px 24px; }
    .wd-case__name{ font-size:23px; }
    .wd-case__metric strong{ font-size:22px; }
    .wd-case__btns{ flex-direction:column; }
    .wd-case__btn{ justify-content:center; width:100%; }
}
@media (prefers-reduced-motion: reduce){ .wd-case, .wd-case__media img{ transition:none; } }

/* ---------- What you get (included) ------------------------------------ */
.wd-included{ background:#fff; padding:120px 0; border-top:1px solid #eef0f4; }
.wd-included__grid{ display:grid; grid-template-columns:minmax(0, 1fr) minmax(0, 1fr); gap:64px; align-items:start; }
.wd-included .wd-section-title{ text-align:left; }
.wd-included__text{ margin:0 0 30px; font-size:17px; line-height:1.9; color:var(--wd-text); }
.wd-included__text a, .wd-included__results p a:not(.wd-btn):not(.wd-link){ color:var(--wd-brand); font-weight:600; text-decoration:underline; text-underline-offset:3px; }
.wd-included__box{ display:flex; align-items:center; gap:18px; padding:20px 22px; border-radius:18px; background:#f3f6ff; border:1px solid #e3eaff; margin-bottom:40px; }
.wd-included__box-icon{ flex:none; width:58px; height:58px; border-radius:14px; background:var(--wd-brand); color:#fff; display:grid; place-items:center; }
.wd-included__box-icon svg{ width:30px; height:30px; }
.wd-included__box p{ margin:0; font-family:var(--wd-font-head); font-weight:600; font-size:20px; line-height:1.4; color:var(--wd-ink); }
.wd-included__results h3{ margin:0 0 12px; font-family:var(--wd-font-head); font-weight:600; font-size:26px; line-height:1.25; letter-spacing:-.01em; color:var(--wd-ink); }
.wd-included__results p{ margin:0 0 26px; font-size:16.5px; line-height:1.85; color:var(--wd-text); }
.wd-included__ctas{ display:flex; align-items:center; flex-wrap:wrap; gap:26px; margin:0 !important; }

.wd-included__card{ position:sticky; top:110px; border:1px solid var(--wd-line); border-radius:24px; padding:34px 32px; background:#fff; box-shadow:0 20px 50px rgba(16,24,40,.06); }
.wd-included__card-title{ margin:0 0 22px; font-size:14px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--wd-brand); }
.wd-included__list{ list-style:none; margin:0; padding:0; display:grid; gap:0; }
.wd-included__list li{ display:flex; gap:16px; padding:16px 0; border-top:1px solid #eef0f4; }
.wd-included__list li:first-child{ border-top:0; padding-top:0; }
.wd-included__list svg{ flex:none; width:24px; height:24px; margin-top:2px; }
.wd-included__list strong{ display:block; font-family:var(--wd-font-head); font-weight:600; font-size:17px; line-height:1.35; color:var(--wd-ink); margin-bottom:4px; }
.wd-included__list span{ display:block; font-size:15px; line-height:1.65; color:var(--wd-text); }

@media (max-width: 1099.98px){
    .wd-included__grid{ grid-template-columns:1fr; gap:44px; }
    .wd-included__card{ position:static; }
}
@media (max-width: 575.98px){
    .wd-included{ padding:84px 0; }
    .wd-included__text{ font-size:16px; line-height:1.8; }
    .wd-included__box{ padding:16px; gap:14px; }
    .wd-included__box-icon{ width:48px; height:48px; }
    .wd-included__box p{ font-size:17px; }
    .wd-included__results h3{ font-size:22px; }
    .wd-included__card{ padding:24px 20px; border-radius:20px; }
    .wd-included__ctas{ flex-direction:column; align-items:stretch; gap:18px; text-align:center; }
    .wd-included__ctas .wd-link{ justify-content:center; align-self:center; }
}

/* ---------- Google reviews (old testimonial layout, on white) --------- */
.wd-reviews{ background:#fff; padding:120px 0; border-top:1px solid #eef0f4; overflow:hidden; }
.wd-reviews__grid{ display:grid; grid-template-columns:minmax(0, 360px) minmax(0, 1fr); gap:56px; align-items:center; }
.wd-reviews .wd-section-title{ text-align:left; }
.wd-reviews__text{ margin:0 0 26px; font-size:16.5px; line-height:1.8; color:var(--wd-text); }
.wd-reviews__score{ display:flex; align-items:center; gap:16px; padding:18px 20px; border:1px solid var(--wd-line); border-radius:18px; margin-bottom:26px; }
.wd-reviews__g svg{ width:42px; height:42px; display:block; }
.wd-reviews__num{ display:flex; align-items:center; gap:10px; margin:0 0 2px; }
.wd-reviews__num b{ font-family:var(--wd-font-head); font-size:34px; font-weight:600; color:var(--wd-ink); line-height:1; }
.wd-reviews__stars svg{ width:110px; height:22px; display:block; }
.wd-reviews__count{ margin:0; font-size:14px; color:var(--wd-text); }

.wd-reviews__score{ margin-bottom:18px; }
.wd-reviews__also{ margin:0 0 10px; font-size:13px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:#6b7280; }
.wd-reviews__profiles{ list-style:none; margin:0 0 26px; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.wd-reviews__profiles a{ position:relative; display:block; padding:12px 34px 12px 14px; border:1px solid var(--wd-line); border-radius:14px; transition:border-color .2s; }
.wd-reviews__profiles a:hover{ border-color:var(--wd-brand); }
.wd-reviews__profiles b{ display:block; font-size:15px; color:var(--wd-ink); }
.wd-reviews__profiles span{ display:block; font-size:12.5px; color:var(--wd-text); line-height:1.4; }
.wd-reviews__profiles svg{ position:absolute; right:12px; top:14px; width:13px; height:13px; color:#9ca3af; }
.wd-reviews__carousel{ min-width:0; }
.wd-reviews__track{
    list-style:none; margin:0; padding:6px 2px 22px; display:grid; grid-auto-flow:column; grid-auto-columns:calc((100% - 24px) / 2);
    gap:24px; overflow-x:auto; scroll-behavior:smooth; scrollbar-width:none; overscroll-behavior-x:contain;
}
/* Snapping is switched on by JS once the page has loaded (redesign.js adds
   .is-snap). With "scroll-snap-type: x mandatory" applied at first paint,
   Chrome performs a snap scroll during load and then reports no Largest
   Contentful Paint at all: every page carrying this carousel scored NO_LCP in
   PageSpeed Insights, which is also why several other performance audits
   errored. Applying it after load keeps the snapping and restores LCP. */
.wd-reviews__track.is-snap{ scroll-snap-type:x mandatory; }
.wd-reviews__track::-webkit-scrollbar{ display:none; }
.wd-reviews__track:focus-visible{ outline:2px solid var(--wd-brand); outline-offset:4px; border-radius:12px; }
.wd-review{ scroll-snap-align:start; }
.wd-review figure{ margin:0; height:100%; display:flex; flex-direction:column; padding:26px 26px 24px; border:1px solid var(--wd-line); border-radius:22px; background:#fff; box-shadow:0 10px 30px rgba(16,24,40,.05); }
.wd-review__head{ display:flex; align-items:center; gap:12px; margin-bottom:14px; }
.wd-review__avatar{ flex:none; width:44px; height:44px; border-radius:50%; color:#fff; display:grid; place-items:center; font-weight:700; font-size:18px; }
.wd-review__who{ flex:1; min-width:0; }
.wd-review__who b{ display:block; font-size:16px; color:var(--wd-ink); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.wd-review__who span{ display:block; font-size:13px; color:#6b7280; }
.wd-review__g svg{ width:22px; height:22px; display:block; }
.wd-review__stars{ margin:0 0 12px; }
.wd-review__stars svg{ width:100px; height:20px; display:block; }
.wd-review__text{
    margin:0; font-size:15.5px; line-height:1.75; color:#374151;
    display:-webkit-box; -webkit-line-clamp:7; -webkit-box-orient:vertical; overflow:hidden;
}
.wd-review__text.is-open{ display:block; -webkit-line-clamp:unset; }
.wd-review__more{ align-self:flex-start; margin-top:12px; padding:0; background:none; border:0; color:var(--wd-brand); font-weight:700; font-size:14.5px; cursor:pointer; text-decoration:underline; text-underline-offset:3px; }
.wd-reviews__nav{ display:flex; gap:10px; justify-content:flex-end; }
.wd-reviews__arrow{ width:48px; height:48px; border-radius:50%; border:1px solid var(--wd-line); background:#fff; color:var(--wd-ink); display:grid; place-items:center; cursor:pointer; transition:background .2s, color .2s, border-color .2s; }
.wd-reviews__arrow:hover:not(:disabled){ background:var(--wd-brand); border-color:var(--wd-brand); color:#fff; }
.wd-reviews__arrow:disabled{ opacity:.4; cursor:default; }
.wd-reviews__arrow svg{ width:20px; height:20px; }

@media (max-width: 1099.98px){
    .wd-reviews__grid{ grid-template-columns:1fr; gap:40px; }
    .wd-reviews__intro{ max-width:640px; }
}
@media (max-width: 767.98px){ .wd-reviews__track{ grid-auto-columns:86%; gap:14px; } }
@media (max-width: 575.98px){
    .wd-reviews{ padding:84px 0; }
    .wd-reviews__intro .wd-btn{ width:100%; }
    .wd-review figure{ padding:20px 18px; border-radius:18px; }
    .wd-review__text{ font-size:15px; }
    .wd-reviews__nav{ justify-content:center; }
}
@media (prefers-reduced-motion: reduce){ .wd-reviews__track{ scroll-behavior:auto; } }

/* ---------- Blog guides ---------------------------------------------- */
.wd-blog{ background:#fff; padding:120px 0; border-top:1px solid #eef0f4; }
.wd-blog__grid{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(3, 1fr); gap:28px; }
.wd-post{ position:relative; display:flex; flex-direction:column; border:1px solid var(--wd-line); border-radius:24px; overflow:hidden; background:#fff; transition:box-shadow .3s, transform .3s, border-color .3s; }
.wd-post:hover{ box-shadow:0 24px 50px rgba(16,24,40,.10); transform:translateY(-4px); border-color:rgba(14,80,254,.25); }
.wd-post__media{ display:block; overflow:hidden; background:#eef1f7; }
.wd-post__media img{ width:100%; aspect-ratio:3 / 2; object-fit:cover; transition:transform .6s ease; }
.wd-post:hover .wd-post__media img{ transform:scale(1.04); }
.wd-post__body{ display:flex; flex-direction:column; flex:1; padding:24px 26px 26px; }
.wd-post__meta{ display:flex; flex-wrap:wrap; align-items:center; gap:8px 12px; margin:0 0 12px; font-size:13px; color:#6b7280; }
.wd-post__cat{ padding:4px 10px; border-radius:999px; background:#f3f6ff; color:var(--wd-brand); font-weight:700; font-size:12px; letter-spacing:.04em; }
.wd-post__title{ margin:0 0 12px; font-family:var(--wd-font-head); font-weight:600; font-size:21px; line-height:1.35; letter-spacing:-.01em; color:var(--wd-ink); }
.wd-post__title a{ color:inherit; }
.wd-post__title a::after{ content:""; position:absolute; inset:0; z-index:1; } /* whole card is the link */
.wd-post__title a:focus-visible{ outline:none; }
.wd-post:has(.wd-post__title a:focus-visible){ outline:3px solid var(--wd-brand); outline-offset:3px; }
.wd-post:hover .wd-post__title{ color:var(--wd-brand); }
.wd-post__answer{ margin:0 0 18px; font-size:15px; line-height:1.7; color:var(--wd-text); }
.wd-post__answer span{ font-weight:700; color:var(--wd-ink); }
.wd-post__by{ margin:auto 0 0; padding-top:14px; border-top:1px solid #eef0f4; font-size:13px; font-weight:600; color:#6b7280; }

@media (max-width: 1099.98px){ .wd-blog__grid{ grid-template-columns:repeat(2, 1fr); } }
@media (max-width: 767.98px){ .wd-blog__grid{ grid-template-columns:1fr; max-width:520px; margin:0 auto; } }
@media (max-width: 575.98px){
    .wd-blog{ padding:84px 0; }
    .wd-post{ border-radius:20px; }
    .wd-post__body{ padding:20px 20px 22px; }
    .wd-post__title{ font-size:19px; }
}
@media (prefers-reduced-motion: reduce){ .wd-post, .wd-post__media img{ transition:none; } }

/* ---------- FAQ (native details/summary accordion) --------------------- */
.wd-faq{ background:#fff; padding:120px 0; border-top:1px solid #eef0f4; }
.wd-faq__list{ max-width:900px; margin:0 auto; display:grid; gap:14px; }
.wd-faq__item{ border:1px solid var(--wd-line); border-radius:18px; background:#fff; transition:border-color .2s, box-shadow .2s; }
.wd-faq__item[open]{ border-color:rgba(14,80,254,.35); box-shadow:0 14px 34px rgba(16,24,40,.06); }
.wd-faq__item summary{ display:flex; align-items:center; justify-content:space-between; gap:20px; padding:22px 26px; cursor:pointer; list-style:none; }
.wd-faq__item summary::-webkit-details-marker{ display:none; }
.wd-faq__item summary:focus-visible{ outline:2px solid var(--wd-brand); outline-offset:2px; border-radius:18px; }
.wd-faq__item h3{ margin:0; font-family:var(--wd-font-head); font-weight:600; font-size:18.5px; line-height:1.4; color:var(--wd-ink); }
.wd-faq__item[open] h3{ color:var(--wd-brand); }
.wd-faq__icon{ position:relative; flex:none; width:38px; height:38px; border-radius:50%; background:#f3f6ff; }
.wd-faq__icon::before, .wd-faq__icon::after{ content:""; position:absolute; left:50%; top:50%; width:14px; height:2px; background:var(--wd-brand); border-radius:2px; transform:translate(-50%, -50%); transition:transform .25s; }
.wd-faq__icon::after{ transform:translate(-50%, -50%) rotate(90deg); }
.wd-faq__item[open] .wd-faq__icon{ background:var(--wd-brand); }
.wd-faq__item[open] .wd-faq__icon::before, .wd-faq__item[open] .wd-faq__icon::after{ background:#fff; }
.wd-faq__item[open] .wd-faq__icon::after{ transform:translate(-50%, -50%) rotate(0deg); }
.wd-faq__answer{ padding:0 26px 24px; }
.wd-faq__answer p{ margin:0; font-size:16px; line-height:1.85; color:var(--wd-text); max-width:760px; }
.wd-faq__answer a, .wd-faq__more a{ color:var(--wd-brand); font-weight:600; text-decoration:underline; text-underline-offset:3px; }
.wd-faq__more{ text-align:center; margin:40px 0 0; color:var(--wd-text); }

@media (max-width: 575.98px){
    .wd-faq{ padding:84px 0; }
    .wd-faq__item summary{ padding:18px 18px; gap:14px; }
    .wd-faq__item h3{ font-size:16.5px; }
    .wd-faq__icon{ width:32px; height:32px; }
    .wd-faq__answer{ padding:0 18px 20px; }
    .wd-faq__answer p{ font-size:15px; line-height:1.8; }
}
@media (prefers-reduced-motion: reduce){ .wd-faq__icon::before, .wd-faq__icon::after{ transition:none; } }

/* ---------- Contact form --------------------------------------------- */
.wd-contact{ background:#fff; padding:120px 0; border-top:1px solid #eef0f4; scroll-margin-top:90px; }
.wd-contact__grid{ display:grid; grid-template-columns:minmax(0, .9fr) minmax(0, 1.1fr); gap:64px; align-items:start; }
.wd-contact .wd-section-title{ text-align:left; }
.wd-contact__lead{ margin:0 0 34px; font-size:17px; line-height:1.85; color:var(--wd-text); }
.wd-contact__ways{ list-style:none; margin:0; padding:0; display:grid; gap:14px; }
.wd-contact__ways li{ display:flex; align-items:center; gap:16px; padding:16px 18px; border:1px solid var(--wd-line); border-radius:16px; }
.wd-contact__icon{ flex:none; width:48px; height:48px; border-radius:12px; background:var(--wd-brand); color:#fff; display:grid; place-items:center; }
.wd-contact__icon svg{ width:22px; height:22px; }
.wd-contact__ways div > span{ display:block; font-size:13px; color:#6b7280; margin-bottom:2px; }
.wd-contact__ways a{ font-weight:700; font-size:16px; color:var(--wd-ink); word-break:break-word; }
.wd-contact__ways a:hover{ color:var(--wd-brand); }
.wd-contact__ways address{ font-style:normal; }

.wd-contact__card{ border:1px solid var(--wd-line); border-radius:24px; padding:36px 34px; background:#fff; box-shadow:0 24px 60px rgba(16,24,40,.08); }
.wd-form{ display:grid; gap:18px; }
.wd-form__row{ display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.wd-field label{ display:block; margin-bottom:8px; font-size:14.5px; font-weight:700; color:var(--wd-ink); }
.wd-field label span{ color:var(--wd-brand); }
.wd-field input, .wd-field select, .wd-field textarea{
    width:100%; font:inherit; font-size:15.5px; color:var(--wd-ink); background:#fff;
    border:1px solid #d9dde6; border-radius:12px; padding:13px 14px; transition:border-color .2s, box-shadow .2s;
}
.wd-field select{ appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='m2.5 4.5 3.5 3.5 3.5-3.5' fill='none' stroke='%236b7280' stroke-width='1.6'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 14px center; background-size:12px; padding-right:38px; }
.wd-field textarea{ resize:vertical; min-height:130px; }
.wd-field input:focus, .wd-field select:focus, .wd-field textarea:focus{ outline:none; border-color:var(--wd-brand); box-shadow:0 0 0 4px rgba(14,80,254,.12); }
.wd-field ::placeholder{ color:#9ca3af; }
.wd-form__submit{ width:100%; height:56px; border-radius:14px; font-size:16.5px; cursor:pointer; }
.wd-form__note{ margin:0; font-size:13px; line-height:1.6; color:#6b7280; text-align:center; }
.wd-form__note a{ color:var(--wd-brand); text-decoration:underline; }
.wd-alert{ margin:0 0 20px; padding:14px 16px; border-radius:12px; background:#f3f6ff; border:1px solid #d6e0ff; color:var(--wd-ink); font-size:15px; }
.wd-alert--ok{ background:#ecfdf3; border-color:#abefc6; color:#05603a; font-weight:600; }
.wd-alert--error{ background:#fef3f2; border-color:#fecdca; color:#912018; }
.wd-alert--error p{ margin:0 0 6px; font-weight:700; }
.wd-alert--error ul{ margin:0; padding-left:18px; }

@media (max-width: 1099.98px){ .wd-contact__grid{ grid-template-columns:1fr; gap:44px; } }
@media (max-width: 575.98px){
    .wd-contact{ padding:84px 0; }
    .wd-contact__lead{ font-size:16px; }
    .wd-contact__card{ padding:24px 18px; border-radius:20px; }
    .wd-form__row{ grid-template-columns:1fr; }
    .wd-field input, .wd-field select, .wd-field textarea{ font-size:16px; } /* no iOS zoom on focus */
}

/* ---------- Footer ----------------------------------------------------- */
.wd-footer{ background:#f7f9fc; border-top:1px solid var(--wd-line); padding:64px 0 0; color:var(--wd-text); }
.wd-footer a{ color:inherit; }
.wd-footer__map{ position:relative; margin:0 0 20px; border-radius:22px; overflow:hidden; border:1px solid var(--wd-line); background:#e8ecf3; }
.wd-footer__map iframe{ display:block; width:100%; height:420px; border:0; }
.wd-footer__directions{ position:absolute; left:16px; bottom:16px; display:inline-flex; align-items:center; gap:8px; padding:10px 16px; border-radius:999px; background:#fff; box-shadow:0 8px 24px rgba(16,24,40,.18); font-weight:700; font-size:14px; }
.wd-footer .wd-footer__directions{ color:var(--wd-ink); }
.wd-footer__directions:hover{ color:var(--wd-brand) !important; }
.wd-footer__directions svg{ width:13px; height:13px; }
@media (max-width: 575.98px){ .wd-footer__map iframe{ height:320px; } .wd-footer__map{ border-radius:18px; } }
.wd-footer__contact{ list-style:none; margin:0 0 56px; padding:0; display:grid; grid-template-columns:repeat(3, 1fr); gap:16px; }
.wd-footer__contact li{ display:flex; align-items:center; gap:14px; padding:18px 20px; background:#fff; border:1px solid var(--wd-line); border-radius:16px; }
.wd-footer__cicon{ flex:none; width:46px; height:46px; border-radius:12px; background:var(--wd-brand); color:#fff; display:grid; place-items:center; }
.wd-footer__cicon svg{ width:21px; height:21px; }
.wd-footer__contact div > span{ display:block; font-size:13px; color:#6b7280; }
.wd-footer__contact a{ font-weight:700; color:var(--wd-ink); word-break:break-word; }
.wd-footer__contact a:hover{ color:var(--wd-brand); }
.wd-footer__contact address{ font-style:normal; }

.wd-footer__main{ display:grid; grid-template-columns:1.6fr repeat(4, 1fr); gap:40px; padding-bottom:44px; }
.wd-footer__logo img{ width:190px; margin-bottom:18px; }
.wd-footer__about p{ margin:0 0 20px; font-size:15px; line-height:1.8; max-width:360px; }
.wd-footer__about p a{ color:var(--wd-brand); font-weight:600; text-decoration:underline; text-underline-offset:3px; }
.wd-footer__social{ list-style:none; margin:0; padding:0; display:flex; gap:10px; }
.wd-footer__social a{ width:42px; height:42px; border-radius:50%; border:1px solid var(--wd-line); background:#fff; display:grid; place-items:center; color:var(--wd-ink); transition:background .2s, color .2s, border-color .2s; }
.wd-footer__social a:hover{ background:var(--wd-brand); border-color:var(--wd-brand); color:#fff; }
.wd-footer__social svg{ width:18px; height:18px; }
.wd-footer__title{ margin:0 0 16px; font-family:var(--wd-font-head); font-weight:600; font-size:16px; color:var(--wd-ink); }
.wd-footer__col ul{ list-style:none; margin:0; padding:0; display:grid; gap:10px; }
.wd-footer__col a{ font-size:15px; }
.wd-footer__col a:hover{ color:var(--wd-brand); text-decoration:underline; text-underline-offset:3px; }

.wd-footer__profiles{ display:flex; flex-wrap:wrap; align-items:center; gap:10px 16px; padding:20px 0; border-top:1px solid var(--wd-line); }
.wd-footer__profiles p{ margin:0; font-size:13px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:#6b7280; }
.wd-footer__profiles ul{ list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:8px; }
.wd-footer__profiles a{ display:inline-block; padding:6px 14px; border:1px solid var(--wd-line); border-radius:999px; background:#fff; font-size:14px; font-weight:600; color:var(--wd-ink); }
.wd-footer__profiles a:hover{ border-color:var(--wd-brand); color:var(--wd-brand); }
.wd-footer__bottom{ display:flex; flex-wrap:wrap; justify-content:space-between; gap:10px 24px; padding:20px 0 26px; border-top:1px solid var(--wd-line); font-size:14px; }
.wd-footer__bottom p{ margin:0; }
.wd-footer__legal{ display:flex; gap:10px; }
.wd-footer__legal a:hover{ color:var(--wd-brand); }

@media (max-width: 1099.98px){
    .wd-footer__main{ grid-template-columns:repeat(2, 1fr); }
    .wd-footer__about{ grid-column:1 / -1; }
    .wd-footer__about p{ max-width:560px; }
}
@media (max-width: 767.98px){ .wd-footer__contact{ grid-template-columns:1fr; margin-bottom:40px; } }
@media (max-width: 575.98px){
    .wd-footer{ padding-top:48px; }
    .wd-footer__main{ gap:30px 18px; }
    .wd-footer__bottom{ flex-direction:column; text-align:center; align-items:center; }
}

/* ---------- Lagos areas hub (pillar -> cluster links) ----------------- */
.wd-areas{ background:#fff; padding:120px 0; border-top:1px solid #eef0f4; }
.wd-areas__grid{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(2, 1fr); gap:14px; max-width:1100px; margin-inline:auto; }
.wd-area{ position:relative; display:flex; gap:16px; align-items:flex-start; padding:20px 22px; border:1px solid var(--wd-line); border-radius:18px; background:#fff; transition:border-color .2s, box-shadow .2s; }
.wd-area:hover{ border-color:rgba(14,80,254,.35); box-shadow:0 14px 30px rgba(16,24,40,.07); }
.wd-area__pin{ flex:none; width:44px; height:44px; border-radius:12px; background:#f3f6ff; color:var(--wd-brand); display:grid; place-items:center; }
.wd-area:hover .wd-area__pin{ background:var(--wd-brand); color:#fff; }
.wd-area__pin svg{ width:20px; height:20px; }
.wd-area__title{ margin:0 0 4px; font-family:var(--wd-font-head); font-weight:600; font-size:17.5px; line-height:1.35; color:var(--wd-ink); }
.wd-area__title a::after{ content:""; position:absolute; inset:0; border-radius:18px; }
.wd-area__title a:focus-visible{ outline:none; }
.wd-area:has(a:focus-visible){ outline:2px solid var(--wd-brand); outline-offset:3px; }
.wd-area:hover .wd-area__title{ color:var(--wd-brand); }
.wd-area p{ margin:0; font-size:14.5px; line-height:1.6; color:var(--wd-text); }
.wd-areas__states{ max-width:1100px; margin:28px auto 0; text-align:center; font-size:15px; color:var(--wd-text); line-height:1.9; }
.wd-areas__states a{ color:var(--wd-brand); font-weight:600; text-decoration:underline; text-underline-offset:3px; }
@media (max-width: 767.98px){ .wd-areas__grid{ grid-template-columns:1fr; } }
@media (max-width: 575.98px){ .wd-areas{ padding:84px 0; } .wd-area{ padding:16px 16px; } }

/* ---------- Inner-page hero (same design, page height) + breadcrumb --- */
.wd-hero--page{ min-height:0; padding:230px 0 110px; }
.wd-hero--page .wd-hero__title{ font-size:clamp(36px, 4.6vw, 64px); margin-bottom:24px; }
.wd-hero--page .wd-hero__lead{ max-width:720px; }
.wd-crumbs{ margin:0 0 22px; }
.wd-crumbs ol{ list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; justify-content:center; gap:6px; font-size:14px; font-weight:600; color:#6b7280; }
.wd-crumbs li{ display:flex; align-items:center; gap:6px; }
.wd-crumbs li + li::before{ content:"›"; color:#9ca3af; font-weight:400; }
.wd-crumbs a{ color:var(--wd-brand); }
.wd-crumbs a:hover{ text-decoration:underline; text-underline-offset:3px; }
.wd-crumbs [aria-current]{ color:var(--wd-ink); }
@media (max-width: 1099.98px){ .wd-hero--page{ padding:170px 0 80px; } }
@media (max-width: 575.98px){ .wd-hero--page{ padding:130px 0 64px; } .wd-crumbs{ margin-bottom:16px; } }

/* ---------- About: Our Story ------------------------------------------- */
.wd-story{ background:#fff; padding:110px 0; }
.wd-story .wd-section-head{ margin-bottom:34px; }
.wd-facts{ max-width:980px; margin:0 auto 54px; display:grid; grid-template-columns:repeat(4, 1fr); gap:12px; }
.wd-fact{ padding:18px 18px 16px; border:1px solid var(--wd-line); border-radius:16px; background:#fff; text-align:center; }
.wd-fact dt{ margin:0 0 6px; font-size:12.5px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:#6b7280; }
.wd-fact dd{ margin:0; font-family:var(--wd-font-head); font-weight:600; font-size:17px; line-height:1.35; color:var(--wd-ink); }
.wd-fact dd a{ color:inherit; text-decoration:underline; text-decoration-color:rgba(14,80,254,.35); text-underline-offset:4px; }
.wd-fact dd a:hover{ color:var(--wd-brand); }
.wd-story__text{ max-width:780px; margin:0 auto; }
.wd-story__text p{ margin:0 0 24px; font-size:17.5px; line-height:1.9; color:#374151; }
.wd-story__text a{ color:var(--wd-brand); font-weight:600; text-decoration:underline; text-underline-offset:3px; }
.wd-story__mission{ margin-top:34px !important; padding:24px 26px; border-left:4px solid var(--wd-brand); background:#f5f8ff; border-radius:0 16px 16px 0; }
.wd-story__mission strong{ color:var(--wd-ink); }
@media (max-width: 991.98px){ .wd-facts{ grid-template-columns:repeat(2, 1fr); } }
@media (max-width: 575.98px){
    .wd-story{ padding:76px 0; }
    .wd-facts{ gap:10px; margin-bottom:38px; }
    .wd-fact{ padding:14px 12px; }
    .wd-fact dd{ font-size:15px; }
    .wd-story__text p{ font-size:16px; line-height:1.85; }
    .wd-story__mission{ padding:18px 18px; }
}

/* ---------- About: Meet the Founder ------------------------------------- */
.wd-founder{ background:#fff; padding:110px 0; border-top:1px solid #eef0f4; }
.wd-founder__grid{ display:grid; grid-template-columns:minmax(0, 380px) minmax(0, 1fr); gap:64px; align-items:start; max-width:1160px; margin:0 auto; }
.wd-founder__card{ position:sticky; top:110px; padding:22px; border:1px solid var(--wd-line); border-radius:24px; background:#fff; box-shadow:0 20px 50px rgba(16,24,40,.07); text-align:center; }
.wd-founder__photo{ aspect-ratio:6 / 7; border-radius:18px; overflow:hidden; background:#f3f6ff; display:grid; place-items:center; margin-bottom:20px; }
.wd-founder__photo img{ width:100%; height:100%; object-fit:cover; }
.wd-founder__monogram{ width:140px; height:140px; border-radius:50%; background:var(--wd-brand); color:#fff; display:grid; place-items:center; font-family:var(--wd-font-head); font-weight:600; font-size:52px; letter-spacing:.02em; }
.wd-founder__name{ margin:0; font-family:var(--wd-font-head); font-weight:600; font-size:24px; color:var(--wd-ink); }
.wd-founder__role{ margin:4px 0 16px; font-size:15px; color:var(--wd-text); }
.wd-founder__links{ list-style:none; margin:0 0 18px; padding:0; display:flex; justify-content:center; gap:8px; }
.wd-founder__links a{ display:inline-block; padding:6px 14px; border:1px solid var(--wd-line); border-radius:999px; font-size:14px; font-weight:600; color:var(--wd-ink); }
.wd-founder__links a:hover{ border-color:var(--wd-brand); color:var(--wd-brand); }
.wd-founder__cta{ width:100%; }
.wd-founder .wd-section-title{ text-align:left; }
.wd-founder__text{ margin:0 0 30px; font-size:17.5px; line-height:1.9; color:#374151; }
.wd-founder__label{ margin:0 0 12px; font-size:13px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:#6b7280; }
.wd-founder__skills{ list-style:none; margin:0 0 34px; padding:0; display:flex; flex-wrap:wrap; gap:8px; }
.wd-founder__skills li{ padding:8px 14px; border-radius:999px; background:#f3f6ff; border:1px solid #e3eaff; font-size:14.5px; font-weight:600; color:var(--wd-ink); }
/* Founder certifications: real certificates, each linked to its own PDF */
.wd-founder__creds{ list-style:none; margin:0 0 14px; padding:0; display:grid; gap:10px; }
.wd-founder__creds li{ padding:14px 16px; border:1px solid var(--wd-line); border-radius:14px; background:#fff; }
.wd-founder__creds a{ display:block; font-weight:600; font-size:16px; color:var(--wd-ink); text-decoration:none; }
.wd-founder__creds a:hover{ color:var(--wd-brand); text-decoration:underline; text-underline-offset:3px; }
.wd-founder__creds span{ display:block; margin-top:4px; font-size:13.5px; color:#6b7280; font-variant-numeric:tabular-nums; }
.wd-founder__note{ margin:0 0 34px; font-size:14.5px; line-height:1.7; color:#6b7280; }
.wd-founder__note a{ color:var(--wd-brand); font-weight:600; }
.wd-founder__quote{ margin:0 0 16px; padding:20px 22px; border:1px solid var(--wd-line); border-left:4px solid var(--wd-brand); border-radius:0 16px 16px 0; background:#fff; }
.wd-founder__quote blockquote{ margin:0 0 10px; font-size:16.5px; line-height:1.75; color:var(--wd-ink); }
.wd-founder__quote figcaption{ font-size:14px; color:#6b7280; }
.wd-founder__quote figcaption a{ color:var(--wd-brand); font-weight:600; }
@media (max-width: 991.98px){
    .wd-founder__grid{ grid-template-columns:1fr; gap:40px; }
    .wd-founder__card{ position:static; max-width:420px; margin:0 auto; }
}
@media (max-width: 575.98px){ .wd-founder{ padding:76px 0; } .wd-founder__text{ font-size:16px; } .wd-founder__quote{ padding:16px 16px; } }

/* ---------- About: who you are hiring ---------------------------------- */
.wd-team{ background:#fff; padding:110px 0; border-top:1px solid #eef0f4; }
.wd-team .wd-section-head{ margin-bottom:34px; }
.wd-team__intro{ max-width:800px; margin:0 auto 44px; text-align:center; }
.wd-team__intro p{ margin:0 0 16px; font-size:17.5px; line-height:1.85; color:#374151; }
.wd-team__grid{ display:grid; grid-template-columns:repeat(2, 1fr); gap:20px; max-width:1100px; margin:0 auto; }
.wd-team__block{ padding:30px 30px 10px; border:1px solid var(--wd-line); border-radius:22px; background:#fff; }
.wd-team__block h3{ margin:0 0 14px; font-family:var(--wd-font-head); font-weight:600; font-size:22px; color:var(--wd-ink); display:flex; align-items:center; gap:10px; }
.wd-team__block h3::before{ content:""; width:10px; height:10px; border-radius:3px; background:var(--wd-brand); flex:none; }
.wd-team__block p{ margin:0 0 20px; font-size:16px; line-height:1.85; color:#374151; }
.wd-team a{ color:var(--wd-brand); font-weight:600; text-decoration:underline; text-underline-offset:3px; }
.wd-team__close{ max-width:800px; margin:40px auto 0; text-align:center; font-size:17px; color:#374151; }
@media (max-width: 991.98px){ .wd-team__grid{ grid-template-columns:1fr; max-width:720px; } }
@media (max-width: 575.98px){ .wd-team{ padding:76px 0; } .wd-team__intro p{ font-size:16px; text-align:left; } .wd-team__block{ padding:22px 20px 6px; border-radius:18px; } .wd-team__block h3{ font-size:19px; } }

/* ---------- Responsive ------------------------------------------------- */
@media (max-width: 1399.98px){
    .wd-menu{ gap:22px; }
    .wd-search input{ width:180px; }
    .wd-nav, .wd-topbar__left{ padding-left:30px; }
    .wd-nav{ padding-right:30px; }
    .wd-topbar__right{ padding-right:30px; }
}
@media (max-width: 1279.98px){
    .wd-search{ display:none; }
}
@media (max-width: 1099.98px){
    .wd-topbar{ display:none; }
    .wd-menu, .wd-nav__actions .wd-btn{ display:none; }
    .wd-burger{ display:inline-flex; }
    .wd-nav{ height:78px; padding:0 20px; }
    .wd-logo img{ width:170px; }
    .wd-hero{ padding:190px 0 110px; min-height:0; }
}
@media (max-width: 575.98px){
    .wd-header{ padding-top:12px; }
    .wd-container{ padding:0 12px; }
    .wd-nav{ height:68px; padding:0 14px; }
    .wd-logo img{ width:150px; }
    .wd-burger{ width:44px; height:44px; }
    .wd-hero{ padding:150px 0 90px; }
    .wd-badge{ font-size:14px; padding:11px 18px; margin-bottom:24px; }
    .wd-hero__title{ margin-bottom:22px; }
    .wd-hero__lead{ margin-bottom:34px; }
    .wd-hero__ctas{ gap:22px; flex-direction:column; }
}
@media (prefers-reduced-motion: reduce){
    .wd-header.is-stuck{ animation:none; }
    .wd-dropdown, .wd-drawer__panel, .wd-drawer__overlay, .wd-hero__spot, .wd-device__track{ transition:none; }
    .wd-device{ --wd-tilt:0deg; --wd-scale:1; }
}

/* About section reused with several paragraphs (location pages) */
.wd-about__text:has(+ .wd-about__text){ margin-bottom:16px; }

/* ===== Location page: what we build in {area} ===== */
.wd-local{ background:#fff; padding:110px 0; }
.wd-local__grid{ display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; }
.wd-local__text{ margin:0 0 28px; font-size:17px; line-height:1.9; color:var(--wd-text); }
.wd-local__label{ margin:0 0 12px; font-weight:700; color:var(--wd-ink); }
.wd-local__areas{ list-style:none; margin:0 0 32px; padding:0; display:flex; flex-wrap:wrap; gap:10px; }
.wd-local__areas li{ padding:8px 16px; border-radius:999px; background:#f3f6ff; border:1px solid #e3eaff; color:var(--wd-brand); font-weight:600; font-size:15px; }
.wd-local__meet{ display:flex; gap:18px; padding:22px; border-radius:18px; background:#f3f6ff; border:1px solid #e3eaff; }
.wd-local__meet-icon{ flex:none; width:54px; height:54px; border-radius:14px; background:var(--wd-brand); color:#fff; display:grid; place-items:center; }
.wd-local__meet-icon svg{ width:28px; height:28px; }
.wd-local__meet p{ margin:0; color:var(--wd-text); line-height:1.7; }
.wd-local__meet .wd-local__meet-title{ margin-bottom:4px; font-family:var(--wd-font-head); font-weight:600; font-size:19px; color:var(--wd-ink); }
.wd-local__list{ list-style:none; margin:0; padding:32px; display:grid; grid-template-columns:1fr 1fr; gap:14px 22px; border:1px solid var(--wd-line); border-radius:22px; box-shadow:0 20px 50px rgba(16,24,40,.06); }
.wd-local__list li{ display:flex; gap:12px; align-items:flex-start; font-weight:600; color:var(--wd-ink); line-height:1.45; }
.wd-local__list svg{ flex:none; width:22px; height:22px; margin-top:1px; }
@media (max-width: 991.98px){
    .wd-local{ padding:80px 0; }
    .wd-local__grid{ grid-template-columns:1fr; gap:40px; }
}
@media (max-width: 575.98px){
    .wd-local{ padding:64px 0; }
    .wd-local__list{ grid-template-columns:1fr; padding:22px; }
    .wd-local__meet{ padding:16px; gap:14px; }
    .wd-local__meet-icon{ width:46px; height:46px; }
}

/* ===== Location page: nearby areas (reuses .wd-areas cards) ===== */
.wd-areas--nearby .wd-section-lead a{ color:var(--wd-brand); font-weight:600; text-decoration:underline; text-underline-offset:3px; }
.wd-areas__grid--3{ grid-template-columns:repeat(3, 1fr); }
.wd-areas__sides{ max-width:1100px; margin:28px auto 0; display:grid; gap:8px; text-align:center; font-size:15px; line-height:1.9; color:var(--wd-text); }
.wd-areas__sides p{ margin:0; }
.wd-areas__sides strong{ color:var(--wd-ink); }
.wd-areas__sides a{ color:var(--wd-brand); font-weight:600; text-decoration:underline; text-underline-offset:3px; }
@media (max-width: 991.98px){ .wd-areas__grid--3{ grid-template-columns:1fr; } }

/* ===== Location page: local guide (the page's own H2 blocks from the CMS) ===== */
.wd-guide{ background:#fff; padding:40px 0 110px; }
.wd-guide__body{ max-width:900px; }
.wd-guide__body h2{ margin:56px 0 16px; font-family:var(--wd-font-head); font-weight:600; font-size:clamp(26px, 3vw, 38px); line-height:1.2; letter-spacing:-.02em; color:var(--wd-ink); text-wrap:balance; }
.wd-guide__body h2:first-child{ margin-top:0; }
.wd-guide__body h3{ position:relative; margin:28px 0 8px; padding-left:18px; font-family:var(--wd-font-head); font-weight:600; font-size:20px; line-height:1.35; color:var(--wd-ink); }
.wd-guide__body h3::before{ content:""; position:absolute; left:0; top:.3em; width:5px; height:1em; border-radius:3px; background:var(--wd-brand); }
.wd-guide__body p, .wd-guide__body li{ font-size:17px; line-height:1.85; color:var(--wd-text); }
.wd-guide__body p{ margin:0 0 16px; }
.wd-guide__body ul{ margin:0 0 20px; padding-left:22px; }
.wd-guide__body li{ margin-bottom:6px; }
.wd-guide__body li::marker{ color:var(--wd-brand); }
.wd-guide__body strong{ color:var(--wd-ink); }
.wd-guide__body a{ color:var(--wd-brand); font-weight:600; text-decoration:underline; text-underline-offset:3px; }
@media (max-width: 575.98px){
    .wd-guide{ padding:24px 0 72px; }
    .wd-guide__body p, .wd-guide__body li{ font-size:16px; line-height:1.8; }
}

/* ===== Service pages ===== */
.wd-sblocks{ background:#fff; padding:110px 0; }
.wd-sblocks__grid{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(2, 1fr); gap:22px; }
.wd-sblock{ padding:30px; border:1px solid var(--wd-line); border-radius:22px; background:#fff; transition:border-color .2s, box-shadow .2s; }
.wd-sblock:hover{ border-color:rgba(14,80,254,.35); box-shadow:0 18px 40px rgba(16,24,40,.07); }
.wd-sblock__icon{ display:grid; place-items:center; width:54px; height:54px; margin-bottom:18px; border-radius:14px; background:var(--wd-brand); color:#fff; }
.wd-sblock__icon svg{ width:28px; height:28px; }
.wd-sblock__title{ margin:0 0 10px; font-family:var(--wd-font-head); font-weight:600; font-size:21px; line-height:1.3; color:var(--wd-ink); }
.wd-sblock p{ margin:0; font-size:16px; line-height:1.8; color:var(--wd-text); }
@media (min-width: 992px){ .wd-sblocks__grid:has(> :nth-child(3):last-child){ grid-template-columns:repeat(3, 1fr); } }
.wd-sblocks__close{ max-width:760px; margin:36px auto 0; text-align:center; font-size:17px; line-height:1.8; color:var(--wd-ink); font-weight:500; }
.wd-sfeat{ background:#fff; padding:40px 0 110px; }
.wd-sfeat__grid{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(3, 1fr); gap:0; border-top:1px solid var(--wd-line); border-left:1px solid var(--wd-line); }
.wd-sfeat__item{ padding:32px 30px; border-right:1px solid var(--wd-line); border-bottom:1px solid var(--wd-line); }
.wd-sfeat__num{ display:block; margin-bottom:14px; font-family:var(--wd-font-head); font-weight:700; font-size:15px; color:var(--wd-brand); letter-spacing:.08em; }
.wd-sfeat__item h3{ margin:0 0 10px; font-family:var(--wd-font-head); font-weight:600; font-size:19px; line-height:1.35; color:var(--wd-ink); }
.wd-sfeat__item p{ margin:0; font-size:15.5px; line-height:1.75; color:var(--wd-text); }
.wd-areas--services .wd-section-lead a{ color:var(--wd-brand); font-weight:600; text-decoration:underline; text-underline-offset:3px; }
@media (max-width: 991.98px){
    .wd-sblocks{ padding:80px 0; }
    .wd-sfeat__grid{ grid-template-columns:repeat(2, 1fr); }
}
@media (max-width: 767.98px){
    .wd-sblocks__grid, .wd-sfeat__grid{ grid-template-columns:1fr; }
}
@media (max-width: 575.98px){
    .wd-sblocks{ padding:64px 0; }
    .wd-sblock{ padding:22px; }
    .wd-sfeat{ padding:24px 0 72px; }
    .wd-sfeat__item{ padding:24px 20px; }
}

/* Service page: real project proof */
.wd-sproof{ background:#fff; padding:20px 0 90px; }
.wd-sproof__card > *{ min-width:0; }
.wd-sproof .wd-btn{ white-space:normal; text-align:center; }
.wd-sproof__card{ display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); gap:48px; align-items:center; padding:48px; border-radius:28px; background:#f3f6ff; border:1px solid #e3eaff; }
.wd-sproof__text{ margin:0 0 24px; font-size:17px; line-height:1.85; color:var(--wd-text); }
.wd-sproof__label{ margin:0 0 12px; font-weight:700; color:var(--wd-ink); }
.wd-sproof__built{ list-style:none; margin:0 0 30px; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:10px 20px; }
.wd-sproof__built li{ display:flex; gap:10px; align-items:flex-start; font-weight:600; color:var(--wd-ink); line-height:1.45; }
.wd-sproof__built svg{ flex:none; width:20px; height:20px; margin-top:1px; }
.wd-sproof__stats{ list-style:none; margin:0; padding:0; display:grid; gap:16px; }
.wd-sproof__stats li{ padding:22px 24px; border-radius:18px; background:#fff; border:1px solid #e3eaff; }
.wd-sproof__stats b{ display:block; font-family:var(--wd-font-head); font-weight:700; font-size:40px; line-height:1.1; color:var(--wd-brand); }
.wd-sproof__stats span{ display:block; margin-top:4px; font-size:15px; line-height:1.5; color:var(--wd-text); }
@media (max-width: 991.98px){ .wd-sproof__card{ grid-template-columns:minmax(0,1fr); padding:32px; gap:32px; } }
@media (max-width: 575.98px){
    .wd-sproof{ padding:8px 0 64px; }
    .wd-sproof__card{ padding:22px; border-radius:22px; }
    .wd-sproof__built{ grid-template-columns:1fr; }
    .wd-sproof__stats b{ font-size:34px; }
}

/* Service page long-form sections */
.wd-guide--service{ padding:60px 0 70px; }
.wd-guide--service .wd-eyebrow{ margin-bottom:10px; }
.wd-guide--service h2{ margin-top:0; }

/* Services hub */
.wd-hub .wd-section-lead a{ color:var(--wd-brand); font-weight:600; text-decoration:underline; text-underline-offset:3px; }
.wd-hub__grid{ grid-template-columns:repeat(3, 1fr); }
.wd-hub__card{ position:relative; display:flex; flex-direction:column; }
.wd-hub__card .wd-sblock__title a::after{ content:""; position:absolute; inset:0; border-radius:22px; }
.wd-hub__card:hover .wd-sblock__title{ color:var(--wd-brand); }
.wd-hub__from{ margin-top:auto !important; padding-top:16px; font-weight:700; font-size:15px !important; color:var(--wd-brand) !important; }
@media (max-width: 991.98px){ .wd-hub__grid{ grid-template-columns:repeat(2, 1fr); } }
@media (max-width: 767.98px){ .wd-hub__grid{ grid-template-columns:1fr; } }

/* ===== Case study page ===== */
.wd-csover{ background:#fff; padding:10px 0 90px; }
.wd-csover__grid{ display:grid; grid-template-columns:minmax(0,1.6fr) minmax(0,1fr); gap:40px; align-items:center; }
.wd-csover__media{ margin:0; border-radius:24px; overflow:hidden; background:#f3f6ff; border:1px solid #e3eaff; }
.wd-csover__media img{ display:block; width:100%; height:auto; max-height:560px; object-fit:cover; object-position:top; }
.wd-csblock__media img{ max-height:620px; object-fit:cover; object-position:top; }
.wd-csshow__grid img{ aspect-ratio:3/2; object-fit:cover; object-position:top; }
.wd-csover__facts{ padding:30px; border:1px solid var(--wd-line); border-radius:22px; box-shadow:0 20px 50px rgba(16,24,40,.06); }
.wd-csover__facts dl{ margin:0; display:grid; gap:16px; }
.wd-csover__facts dt{ font-size:13px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--wd-brand); }
.wd-csover__facts dd{ margin:2px 0 0; font-weight:600; color:var(--wd-ink); overflow-wrap:anywhere; }
.wd-csover__facts dd a{ color:var(--wd-ink); text-decoration:underline; text-underline-offset:3px; }
.wd-csover__metrics{ list-style:none; margin:24px 0 0; padding:24px 0 0; border-top:1px solid var(--wd-line); display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.wd-csover__metrics b{ display:block; font-family:var(--wd-font-head); font-size:30px; color:var(--wd-brand); line-height:1.1; }
.wd-csover__metrics span{ font-size:14px; color:var(--wd-text); }
.wd-csover__note{ margin:22px 0 0; padding:16px; border-radius:14px; background:#fff8e6; border:1px solid #f5e0a8; font-size:15px; line-height:1.6; color:#5b4a1a; }
.wd-csblock{ background:#fff; padding:90px 0; }
.wd-csblock--alt{ padding-top:20px; }
.wd-csblock__grid{ display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:56px; align-items:center; }
.wd-csblock--alt .wd-csblock__grid{ grid-template-columns:minmax(0,1fr) minmax(0,1.2fr); }
.wd-csblock__intro{ margin:0 0 26px; font-size:17px; line-height:1.85; color:var(--wd-text); }
.wd-csblock__media{ margin:0; border-radius:22px; overflow:hidden; border:1px solid var(--wd-line); background:#f8f9fb; }
.wd-csblock__media img{ display:block; width:100%; height:auto; }
.wd-cspoints{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:18px 26px; }
.wd-cspoints h3{ position:relative; margin:0 0 6px; padding-left:16px; font-family:var(--wd-font-head); font-weight:600; font-size:17.5px; line-height:1.35; color:var(--wd-ink); }
.wd-cspoints h3::before{ content:""; position:absolute; left:0; top:.28em; width:5px; height:1em; border-radius:3px; background:var(--wd-brand); }
.wd-cspoints p{ margin:0; font-size:15.5px; line-height:1.7; color:var(--wd-text); }
.wd-csresults{ padding-top:40px; }
.wd-csshow{ background:#fff; padding:40px 0 90px; }
.wd-csshow__grid{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.wd-csshow__grid figure{ margin:0; }
.wd-csshow__grid img{ display:block; width:100%; height:auto; border-radius:18px; border:1px solid var(--wd-line); }
.wd-csshow__grid figcaption{ margin-top:10px; font-weight:600; color:var(--wd-ink); }
@media (max-width: 991.98px){
    .wd-csover__grid, .wd-csblock__grid, .wd-csblock--alt .wd-csblock__grid{ grid-template-columns:minmax(0,1fr); gap:32px; }
    .wd-csblock{ padding:64px 0; }
}
@media (max-width: 575.98px){
    .wd-cspoints, .wd-csshow__grid{ grid-template-columns:1fr; }
    .wd-csover__facts{ padding:22px; }
}

/* ===== Pricing ===== */
.wd-prices{ background:#fff; padding:40px 0 100px; }
.wd-prices__grid{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:24px; align-items:stretch; }
.wd-price{ display:flex; flex-direction:column; padding:32px 28px; border:1px solid var(--wd-line); border-radius:24px; background:#fff; box-shadow:0 20px 50px rgba(16,24,40,.06); }
.wd-price:nth-child(2){ border-color:rgba(14,80,254,.45); box-shadow:0 24px 60px rgba(14,80,254,.12); }
.wd-price__name{ margin:0 0 14px; font-family:var(--wd-font-head); font-weight:600; font-size:21px; color:var(--wd-ink); }
.wd-price__amount{ margin:0; color:var(--wd-ink); }
.wd-price__amount span{ font-size:15px; color:var(--wd-text); }
.wd-price__amount b{ font-family:var(--wd-font-head); font-size:38px; line-height:1.1; color:var(--wd-brand); }
.wd-price__period{ margin:4px 0 0; font-size:14px; color:var(--wd-text); }
.wd-price__list{ list-style:none; margin:24px 0 28px; padding:22px 0 0; border-top:1px solid var(--wd-line); display:grid; gap:12px; }
.wd-price__list li{ display:flex; gap:10px; align-items:flex-start; font-size:15.5px; line-height:1.5; color:var(--wd-ink); }
.wd-price__list li.is-no{ color:var(--wd-muted); }
.wd-price__list svg{ flex:none; width:20px; height:20px; margin-top:1px; }
.wd-price__btn{ margin-top:auto; justify-content:center; text-align:center; }
.wd-prices__more{ max-width:760px; margin:32px auto 0; text-align:center; color:var(--wd-text); line-height:1.8; }
.wd-prices__more a{ color:var(--wd-brand); font-weight:600; text-decoration:underline; text-underline-offset:3px; }
.wd-prices-inc{ background:#fff; padding:90px 0; border-top:1px solid #eef0f4; }
.wd-prices-inc .wd-section-head{ margin-bottom:40px; }
@media (max-width: 991.98px){ .wd-prices__grid{ grid-template-columns:minmax(0,1fr); max-width:560px; margin:0 auto; } }

/* FAQ page: questions are H2s (directly under the page H1) */
.wd-faq--page{ padding-top:40px; }
.wd-faq__item h2.wd-faq__q{ margin:0; font-family:var(--wd-font-head); font-weight:600; font-size:18.5px; line-height:1.4; color:var(--wd-ink); }
.wd-faq__answer a{ color:var(--wd-brand); font-weight:600; text-decoration:underline; text-underline-offset:3px; }
@media (max-width: 575.98px){ .wd-faq__item h2.wd-faq__q{ font-size:16.5px; } }

/* Tables and quick-answer box inside long-form content (location guides, service sections, blog posts) */
.wd-guide__body table{ width:100%; margin:8px 0 24px; border-collapse:separate; border-spacing:0; border:1px solid var(--wd-line); border-radius:16px; overflow:hidden; font-size:15.5px; }
.wd-guide__body th{ background:#f3f6ff; color:var(--wd-ink); font-weight:700; text-align:left; padding:12px 16px; border-bottom:1px solid var(--wd-line); }
.wd-guide__body td{ padding:12px 16px; color:var(--wd-text); border-bottom:1px solid var(--wd-line); vertical-align:top; line-height:1.6; }
.wd-guide__body tr:last-child td{ border-bottom:0; }
.wd-guide__body blockquote{ margin:0 0 28px; padding:20px 24px; border-radius:16px; background:#f3f6ff; border:1px solid #e3eaff; color:var(--wd-ink); font-size:17px; line-height:1.75; }
.wd-guide__body blockquote p:last-child{ margin-bottom:0; }
@media (max-width: 767.98px){
    .wd-guide__body table{ display:block; overflow-x:auto; white-space:normal; }
    .wd-guide__body th, .wd-guide__body td{ min-width:140px; }
}

/* ===== Blog post ===== */
.wd-post{ background:#fff; padding:10px 0 60px; }
.wd-post__wrap{ max-width:820px; }
.wd-post__meta{ margin:0 0 24px; font-size:15px; color:var(--wd-text); }
.wd-post__meta a{ color:var(--wd-ink); font-weight:600; }
.wd-post__photo{ margin:0 0 32px; border-radius:20px; overflow:hidden; border:1px solid var(--wd-line); }
.wd-post__photo img{ display:block; width:100%; height:auto; }
.wd-post__body{ max-width:none; }
.wd-post__body h2:first-child{ margin-top:0; }
.wd-post__body ol{ margin:0 0 20px; padding-left:22px; }
.wd-post__body img{ max-width:100%; height:auto; border-radius:14px; }
.wd-post__author{ display:flex; gap:18px; margin:48px 0 24px; padding:24px; border:1px solid var(--wd-line); border-radius:20px; }
.wd-post__avatar{ flex:none; display:grid; place-items:center; width:60px; height:60px; border-radius:50%; background:var(--wd-brand); color:#fff; font-family:var(--wd-font-head); font-weight:700; }
.wd-post__author p{ margin:0; color:var(--wd-text); line-height:1.7; }
.wd-post__author .wd-post__author-name{ margin-bottom:4px; font-weight:700; color:var(--wd-ink); }
.wd-post__author a{ color:var(--wd-brand); }
.wd-post__cta{ padding:28px; border-radius:20px; background:#f3f6ff; border:1px solid #e3eaff; }
.wd-post__cta p{ margin:0 0 10px; color:var(--wd-text); line-height:1.7; }
.wd-post__cta .wd-post__cta-title{ font-family:var(--wd-font-head); font-weight:600; font-size:22px; color:var(--wd-ink); }
.wd-post__cta .wd-post__cta-title a{ color:var(--wd-ink); }
.wd-post__cta-links{ display:flex; flex-wrap:wrap; gap:16px; align-items:center; margin:16px 0 0 !important; }
.wd-post__related{ padding-top:40px; }

/* ===== Blog listing ===== */
.wd-blogx{ background:#fff; padding:10px 0 90px; }
.wd-blogx__cats{ display:flex; flex-wrap:wrap; gap:10px; justify-content:center; margin:0 0 48px; }
.wd-blogx__cats a{ padding:8px 18px; border-radius:999px; border:1px solid var(--wd-line); color:var(--wd-ink); font-weight:600; font-size:15px; }
.wd-blogx__cats a:hover, .wd-blogx__cats a[aria-current]{ background:var(--wd-brand); border-color:var(--wd-brand); color:#fff; }
.wd-blogx__h2{ text-align:center; margin-bottom:28px; }
.wd-blogx__topics{ display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:20px; margin-bottom:72px; }
.wd-blogx__topic{ padding:24px; border:1px solid var(--wd-line); border-radius:20px; background:#fff; }
.wd-blogx__topic h3{ margin:0 0 12px; font-family:var(--wd-font-head); font-weight:600; font-size:19px; color:var(--wd-ink); }
.wd-blogx__topic ul{ margin:0; padding-left:18px; }
.wd-blogx__topic li{ margin-bottom:8px; line-height:1.5; }
.wd-blogx__topic li::marker{ color:var(--wd-brand); }
.wd-blogx__topic a{ color:var(--wd-text); font-size:15px; }
.wd-blogx__topic a:hover{ color:var(--wd-brand); text-decoration:underline; }
.wd-blogx__grid{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:24px; }
.wd-blogx__card{ position:relative; display:flex; flex-direction:column; border:1px solid var(--wd-line); border-radius:20px; overflow:hidden; background:#fff; transition:box-shadow .2s, border-color .2s; }
.wd-blogx__card:hover{ border-color:rgba(14,80,254,.35); box-shadow:0 18px 40px rgba(16,24,40,.07); }
.wd-blogx__img img{ display:block; width:100%; aspect-ratio:16/9; object-fit:cover; }
.wd-blogx__body{ padding:20px 22px 24px; }
.wd-blogx__meta{ margin:0 0 8px; font-size:13px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--wd-brand); }
.wd-blogx__title{ margin:0 0 8px; font-family:var(--wd-font-head); font-weight:600; font-size:19px; line-height:1.35; }
.wd-blogx__title a{ color:var(--wd-ink); }
.wd-blogx__title a::after{ content:""; position:absolute; inset:0; }
.wd-blogx__card:hover .wd-blogx__title a{ color:var(--wd-brand); }
.wd-blogx__desc{ margin:0; font-size:15px; line-height:1.65; color:var(--wd-text); }
.wd-blogx__pages{ display:flex; justify-content:center; align-items:center; gap:20px; margin-top:40px; font-weight:600; }
.wd-blogx__pages a{ color:var(--wd-brand); text-decoration:underline; text-underline-offset:3px; }
@media (max-width: 991.98px){ .wd-blogx__topics, .wd-blogx__grid{ grid-template-columns:repeat(2, minmax(0,1fr)); } }
@media (max-width: 767.98px){ .wd-blogx__topics, .wd-blogx__grid{ grid-template-columns:minmax(0,1fr); } }

/* ---------- "Check it yourself": the evidence behind every claim ---------- */
.wd-verify{ background:var(--wd-grid-bg, #f7f8fb); padding:100px 0; border-top:1px solid #eef0f4; }
.wd-verify .wd-section-head{ margin-bottom:40px; }
.wd-verify__grid{ display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:20px; }
.wd-verify__card{ background:#fff; border:1px solid var(--wd-line); border-radius:20px; padding:26px 28px; }
.wd-verify__card h3{ margin:0 0 12px; font-family:var(--wd-font-head); font-weight:600; font-size:20px; line-height:1.3; color:var(--wd-ink); }
.wd-verify__card p{ margin:0 0 12px; font-size:16px; line-height:1.75; color:var(--wd-text); }
.wd-verify__card a{ color:var(--wd-brand); font-weight:600; text-decoration:underline; text-underline-offset:3px; }
.wd-verify__table{ width:100%; border-collapse:collapse; margin:0 0 14px; font-size:15px; }
.wd-verify__table th, .wd-verify__table td{ text-align:left; padding:9px 10px; border-bottom:1px solid var(--wd-line); }
.wd-verify__table th{ font-size:13px; letter-spacing:.06em; text-transform:uppercase; color:#6b7280; font-weight:700; }
.wd-verify__table td:nth-child(2), .wd-verify__table td:nth-child(3){ font-variant-numeric:tabular-nums; white-space:nowrap; }
.wd-verify__how{ margin:0; font-size:15px; color:#4b5563; }
.wd-verify__how strong{ color:var(--wd-ink); }
@media (max-width: 767.98px){
    .wd-verify{ padding:72px 0; }
    .wd-verify__grid{ grid-template-columns:1fr; }
    .wd-verify__card{ padding:22px 20px; }
}

/* ---------- Case study: the searches a client site was built to win ------- */
.wd-ckw{ background:#fff; padding:90px 0; border-top:1px solid #eef0f4; }
.wd-ckw__list{ list-style:none; margin:0 0 22px; padding:0; display:flex; flex-wrap:wrap; gap:10px; }
.wd-ckw__list a{ display:inline-block; padding:10px 16px; border:1px solid var(--wd-line); border-radius:999px; background:#f7f8fb; font-size:15px; font-weight:600; color:var(--wd-ink); text-decoration:none; }
.wd-ckw__list a:hover{ border-color:var(--wd-brand); color:var(--wd-brand); background:#fff; }
.wd-ckw__note{ margin:0; max-width:900px; font-size:15.5px; line-height:1.8; color:#4b5563; }
.wd-ckw__note a{ color:var(--wd-brand); font-weight:600; }
@media (max-width: 575.98px){ .wd-ckw{ padding:64px 0; } }

/* ---------- Pricing: what is inside the price, vs commonly charged extra --- */
.wd-compare{ background:#fff; padding:100px 0; border-top:1px solid #eef0f4; }
.wd-compare__table{ width:100%; border-collapse:collapse; margin:0 0 20px; }
.wd-compare__table th, .wd-compare__table td{ text-align:left; padding:16px 18px; border-bottom:1px solid var(--wd-line); vertical-align:top; font-size:15.5px; line-height:1.65; color:var(--wd-text); }
.wd-compare__table thead th{ font-size:13px; letter-spacing:.07em; text-transform:uppercase; color:#6b7280; font-weight:700; border-bottom:2px solid var(--wd-line); }
.wd-compare__table td strong{ display:block; color:var(--wd-ink); font-size:16.5px; }
.wd-compare__table td span{ display:block; margin-top:3px; font-size:14px; color:#6b7280; }
.wd-compare__table td:last-child{ font-weight:600; color:var(--wd-ink); background:#f5f9ff; }
.wd-compare__note{ margin:0; max-width:900px; font-size:16px; line-height:1.8; color:#4b5563; }
.wd-compare__note a{ color:var(--wd-brand); font-weight:600; }
@media (max-width: 767.98px){
    .wd-compare{ padding:72px 0; }
    .wd-compare__table thead{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
    .wd-compare__table tr{ display:block; margin-bottom:14px; border:1px solid var(--wd-line); border-radius:16px; overflow:hidden; }
    .wd-compare__table td{ display:block; border-bottom:1px solid var(--wd-line); padding:14px 16px; }
    .wd-compare__table td:last-child{ border-bottom:0; }
    .wd-compare__table td:nth-child(2)::before{ content:"Often an extra: "; font-weight:700; color:#6b7280; }
    .wd-compare__table td:last-child::before{ content:"Here: "; font-weight:700; color:#6b7280; }
}

/* Blog: the one next step under a post's quick answer */
.wd-post__qcta{ margin:-6px 0 30px; }
.wd-post__qcta .wd-btn{ text-decoration:none; }
.wd-post__qcta .wd-btn svg{ width:15px; height:15px; margin-left:8px; }

/* Spam trap field on the contact form: off screen, never shown, never focused.
   display:none is avoided on purpose, because many bots ignore hidden fields. */
.wd-hp{ position:absolute; left:-9999px; top:auto; width:1px; height:1px; overflow:hidden; }

/* "These are Nigerian prices" note, shown wherever a naira figure appears. */
.wd-pricenote{ margin:26px auto 0; max-width:760px; text-align:center; font-size:14.5px; line-height:1.7; color:#6b7280; }
.wd-pricenote a{ color:var(--wd-brand); font-weight:600; }


/* ---- Phone field with country selector (contact form), 6 Oct 2026 ---- */
.wd-phone{display:flex;gap:.5rem;align-items:stretch}
.wd-phone input{flex:1 1 auto;min-width:0}
/* Narrow box: the visible face shows "NG +234"; the real select is invisible on top
   of it so the open list can still read "Nigeria (+234)" in full. */
.wd-cc{position:relative;flex:0 0 6.6rem;display:flex}
.wd-cc select{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;z-index:2;
  font-size:1rem;border:0;-webkit-appearance:none;appearance:none}
.wd-cc__face{display:flex;align-items:center;justify-content:space-between;gap:.35rem;width:100%;
  padding:0 .6rem;border:1px solid var(--wd-line,#d3d8df);border-radius:.5rem;background:#fff;
  font-size:.92rem;font-weight:600;color:var(--wd-ink,#18191c);white-space:nowrap;pointer-events:none}
.wd-cc__face svg{width:.68rem;height:.68rem;flex:0 0 auto;opacity:.65}
.wd-cc select:focus-visible + .wd-cc__face{outline:2px solid var(--wd-brand,#0b3fa8);outline-offset:1px}
@media (max-width:30rem){ .wd-cc{flex:0 0 6rem} .wd-cc__face{font-size:.86rem;padding:0 .5rem} }

/* ---- Floating WhatsApp button, 6 Oct 2026 ----
   Fixed, so it is out of the document flow and cannot cause layout shift. Inline SVG,
   so no extra request. Sits after the footer in the source. */
.wd-wa{position:fixed;right:1.15rem;bottom:1.15rem;z-index:60;display:flex;align-items:center;
  text-decoration:none;font-family:inherit}
.wd-wa__icon{position:relative;z-index:2;display:grid;place-items:center;width:3.75rem;height:3.75rem;
  border-radius:50%;background:#25d366;color:#fff;flex:0 0 auto;
  box-shadow:0 .4rem 1.25rem rgba(0,0,0,.3),0 0 0 .32rem rgba(37,211,102,.22);
  transition:transform .22s ease,box-shadow .22s ease}
.wd-wa__icon svg{width:2.1rem;height:2.1rem}
.wd-wa:hover .wd-wa__icon,.wd-wa:focus-visible .wd-wa__icon{transform:scale(1.08)}
/* The label's right edge runs underneath the circle (negative margin + extra right
   padding + lower z-index), so the two read as one object. */
/* Arrow after the text, pointing right at the green circle. */
.wd-wa__arrow{display:inline-block;vertical-align:-.08em;width:.95rem;height:.72rem;margin-left:.42rem;
  opacity:.9;animation:wd-wa-point 1.5s ease-in-out infinite}
@keyframes wd-wa-point{0%,100%{transform:translateX(0)}50%{transform:translateX(.22rem)}}
@media (prefers-reduced-motion:reduce){ .wd-wa__arrow{animation:none} }
.wd-wa__label{position:relative;z-index:1;white-space:nowrap;
  background:#0f2d1c;color:#fff;font-size:.95rem;font-weight:650;line-height:1;
  padding:.92rem 1.05rem;padding-right:2.9rem;margin-right:-2.2rem;border-radius:2rem;
  box-shadow:0 .35rem 1rem rgba(0,0,0,.28);
  opacity:0;transform:translateX(2.2rem) scale(.96);transform-origin:right center;
  pointer-events:none;transition:opacity .4s cubic-bezier(.2,.8,.2,1),transform .4s cubic-bezier(.2,.8,.2,1)}
.wd-wa:hover .wd-wa__label,.wd-wa:focus-visible .wd-wa__label,.wd-wa.is-open .wd-wa__label{
  opacity:1;transform:translateX(0) scale(1)}
.wd-wa.is-open .wd-wa__icon{animation:wd-wa-nudge 1.1s ease 1}
@keyframes wd-wa-nudge{0%,100%{transform:scale(1)}30%{transform:scale(1.12)}60%{transform:scale(.98)}}
.wd-wa:focus-visible{outline:3px solid #25d366;outline-offset:5px;border-radius:2rem}
@media (max-width:26rem){
  .wd-wa{right:.85rem;bottom:.85rem}
  .wd-wa__icon{width:3.35rem;height:3.35rem}
  .wd-wa__icon svg{width:1.85rem;height:1.85rem}
  .wd-wa__label{font-size:.85rem;padding:.78rem .9rem;padding-right:2.6rem;margin-right:-2rem}
}
@media (prefers-reduced-motion:reduce){
  .wd-wa__label{opacity:1;transform:translateX(0) scale(1);transition:none}
  .wd-wa__icon{transition:none}
  .wd-wa.is-open .wd-wa__icon{animation:none}
}
