
:root{
  --nm-ink:#211139;
  --nm-deep:#291342;
  --nm-purple:#42195f;
  --nm-purple-2:#58257b;
  --nm-lavender:#b88ce9;
  --nm-mint:#c9f2b8;
  --nm-mint-strong:#aee9bd;
  --nm-pink:#f6d8e8;
  --nm-yellow:#f1c45f;
  --nm-cream:#f4efe9;
  --nm-paper:#f8f5f1;
  --nm-white:#fff;
  --nm-text:#241c2e;
  --nm-muted:#756b78;
  --nm-line:#ddd5d8;
  --nm-shadow:0 24px 70px rgba(33,17,57,.12);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--nm-cream);color:var(--nm-text);font-family:"Manrope",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:inherit}img{max-width:100%;height:auto;display:block}button,input,select,textarea{font:inherit}
.nm-shell{width:min(1260px,calc(100% - 64px));margin-inline:auto}.nm-site-main{overflow:hidden}
.nm-skip-link{position:absolute;left:-9999px}.nm-skip-link:focus{left:16px;top:16px;z-index:9999;background:#fff;padding:10px 16px;border-radius:999px}.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Header — mirrors Namatch.com */
.nm-site-header{position:absolute;z-index:60;inset:26px 0 auto}
body:not(.namatch-home) .nm-site-header{position:relative;inset:auto;background:var(--nm-deep);padding:18px 0}
.nm-header-card{height:72px;padding:0 18px 0 24px;border:1px solid rgba(255,255,255,.14);border-radius:18px;background:linear-gradient(90deg,rgba(53,22,78,.97),rgba(46,17,69,.97));display:flex;align-items:center;box-shadow:0 16px 40px rgba(16,5,25,.16)}
.nm-brand{display:inline-flex;align-items:center;text-decoration:none;flex:0 0 auto}.custom-logo-link{display:flex}.custom-logo{max-height:42px;width:auto}
.nm-wordmark{position:relative;display:inline-flex;align-items:baseline;color:var(--nm-mint);font-size:30px;font-weight:500;letter-spacing:-.075em;line-height:1}.nm-wordmark b{font-weight:800}.nm-wordmark:after{content:"";position:absolute;left:3px;right:-3px;bottom:-7px;height:10px;border-bottom:2px solid var(--nm-mint);border-radius:50%;transform:skewX(-20deg)}
.nm-wordmark-large{font-size:58px}
.nm-desktop-nav{display:flex;gap:46px;align-items:center;margin:auto}.nm-desktop-nav a{font-size:14px;color:#fff;font-weight:700;text-decoration:none;opacity:.94}.nm-desktop-nav a:hover{color:var(--nm-mint)}
.nm-header-actions{display:flex;align-items:center;gap:10px}.nm-header-signin,.nm-header-start{text-decoration:none;font-size:14px;font-weight:800;border-radius:14px;min-height:44px;padding:0 19px;display:inline-flex;align-items:center;justify-content:center}.nm-header-signin{border:1px solid rgba(255,255,255,.24);color:#fff}.nm-header-start{background:var(--nm-mint);color:var(--nm-ink);min-width:118px}
.nm-menu-toggle{display:none;margin-left:auto;width:44px;height:44px;background:transparent;border:0;padding:7px}.nm-menu-toggle span:not(.screen-reader-text){display:block;height:2px;background:#fff;margin:5px 0;border-radius:3px}
.nm-mobile-nav{position:absolute;top:108px;left:20px;right:20px;background:#fff;border-radius:20px;padding:18px;box-shadow:var(--nm-shadow)}.nm-mobile-nav a{display:block;padding:10px;text-decoration:none;font-weight:700}.nm-mobile-cta{background:var(--nm-mint);border-radius:999px;text-align:center;margin-top:8px}

/* Hero */
.nm-hero{position:relative;min-height:850px;padding:160px 0 44px;color:#fff;background:radial-gradient(circle at 24% 40%,rgba(107,36,132,.54),transparent 34%),radial-gradient(circle at 83% 48%,rgba(91,37,122,.33),transparent 35%),linear-gradient(145deg,#3d155b 0%,#321247 52%,#251038 100%)}
.nm-hero:before{content:"";position:absolute;inset:0;opacity:.18;background-image:radial-gradient(circle at 20% 30%,#fff 0 1px,transparent 1.5px),radial-gradient(circle at 70% 60%,#fff 0 1px,transparent 1.5px);background-size:210px 220px,280px 260px;pointer-events:none}
.nm-hero-inner{display:grid;grid-template-columns:1.05fr .95fr;gap:36px;align-items:center;min-height:650px;position:relative;z-index:1}.nm-hero-copy{padding-top:30px}
.nm-eyebrow,.nm-kicker{text-transform:uppercase;letter-spacing:.22em;font-size:11px;font-weight:800;margin:0 0 18px}.nm-eyebrow{color:#e5dfe8;display:flex;align-items:center;gap:13px}.nm-eyebrow span{width:10px;height:10px;border-radius:50%;background:var(--nm-mint)}
.nm-hero h1{font-size:clamp(58px,6.8vw,100px);line-height:.91;letter-spacing:-.075em;font-weight:800;margin:0 0 28px}.nm-hero h1 em{font-style:normal;color:var(--nm-mint)}
.nm-hero-lede{font-size:clamp(17px,1.5vw,22px);line-height:1.55;max-width:610px;color:#e5dee8;margin:0 0 28px}
.nm-hero-actions{display:flex;gap:12px;flex-wrap:wrap}.nm-btn{min-height:52px;padding:0 24px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;gap:16px;text-decoration:none;font-weight:800;border:1px solid transparent;transition:.18s ease}.nm-btn:hover{transform:translateY(-2px)}.nm-btn-primary{background:var(--nm-mint);color:var(--nm-ink)}.nm-btn-ghost{color:#fff;border-color:rgba(255,255,255,.34);background:rgba(255,255,255,.025)}.nm-btn-pink{background:var(--nm-pink);color:var(--nm-ink)}.nm-btn-dark{background:var(--nm-ink);color:#fff}
.nm-proof-row{display:flex;gap:30px;flex-wrap:wrap;margin-top:28px;color:#e0d9e3;font-size:13px;font-weight:700}
.nm-hero-visual{height:585px;position:relative}.nm-map-shape{position:absolute;right:-20px;bottom:36px;width:600px;height:410px;background:linear-gradient(180deg,#8b8295,#665a72);opacity:.45;clip-path:polygon(8% 33%,17% 22%,28% 18%,41% 10%,54% 17%,66% 11%,81% 20%,93% 31%,87% 46%,92% 59%,78% 70%,69% 86%,52% 80%,41% 92%,30% 81%,16% 85%,5% 66%)}
.nm-worker-polaroid{position:absolute;width:178px;background:#efe9e2;border:7px solid #eee6df;border-bottom-width:42px;border-radius:24px;box-shadow:0 25px 60px rgba(8,3,15,.34);overflow:hidden;color:#fff}.nm-worker-polaroid img{width:100%;height:220px;object-fit:cover}.nm-worker-polaroid strong{position:absolute;left:12px;bottom:16px;font-size:13px}.nm-worker-polaroid small{display:none}.nm-worker-aisha{left:34px;top:118px;transform:rotate(-2deg)}.nm-worker-emeka{right:0;bottom:80px;transform:rotate(5deg)}
.nm-trust-badge,.nm-nearby-badge,.nm-growing,.nm-map-label{position:absolute;z-index:3}.nm-trust-badge{right:10px;top:108px;background:var(--nm-pink);color:var(--nm-ink);border-radius:999px;padding:10px 16px;font-size:13px;font-weight:800}.nm-nearby-badge{left:160px;bottom:80px;background:#f3efdc;color:var(--nm-ink);border-radius:999px;padding:10px 16px;font-size:12px;font-weight:700}.nm-growing{left:255px;top:275px;background:rgba(39,13,60,.78);border:1px solid rgba(255,255,255,.16);border-radius:999px;padding:8px 16px;text-transform:uppercase;letter-spacing:.08em;font-size:10px;text-align:center;color:#dce8c9;font-weight:800}.nm-map-label{font-size:9px;color:#f8f7f7}.nm-map-label:before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--nm-mint);box-shadow:0 0 0 4px rgba(201,242,184,.13);margin-right:6px}.nm-map-kano{top:205px;left:310px}.nm-map-lagos{bottom:90px;left:52px}.nm-map-ph{bottom:38px;right:94px}
.nm-marquee{height:44px;background:var(--nm-mint);overflow:hidden;white-space:nowrap;color:var(--nm-ink);font-size:11px;font-weight:800;letter-spacing:.12em}.nm-marquee div{display:inline-block;min-width:180%;padding:13px 0;animation:nm-marquee 25s linear infinite}@keyframes nm-marquee{to{transform:translateX(-50%)}}

/* Services — two-column source-site treatment */
.nm-section{padding:108px 0}.nm-services-showcase{background:linear-gradient(125deg,#b78bf0,#a566e0);padding:78px 0 72px}.nm-services-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:48px;align-items:center}.nm-services-copy .nm-kicker{color:#3a2450}.nm-services-copy h2{font-size:clamp(52px,5.2vw,78px);line-height:.98;letter-spacing:-.065em;margin:0 0 18px;color:var(--nm-ink)}.nm-services-copy>p:not(.nm-kicker){max-width:480px;color:#4d3d58;margin:0 0 24px;font-size:16px}.nm-service-tabs{margin-top:20px}.nm-service-tab{width:100%;border:0;border-top:1px solid rgba(33,17,57,.18);background:transparent;color:rgba(33,17,57,.58);display:grid;grid-template-columns:46px 1fr;grid-template-areas:"n t" ". s";text-align:left;padding:15px 0;cursor:pointer}.nm-service-tab:last-child{border-bottom:1px solid rgba(33,17,57,.18)}.nm-service-tab span{grid-area:n;font-size:10px;font-weight:800}.nm-service-tab b{grid-area:t;font-size:24px;letter-spacing:-.03em}.nm-service-tab small{grid-area:s;display:none;font-size:13px;color:#4c3a59;margin-top:4px}.nm-service-tab.is-active{color:var(--nm-ink)}.nm-service-tab.is-active small{display:block}
.nm-service-stage{position:relative;height:570px;border-radius:32px;overflow:hidden;background:#a87cdb;box-shadow:0 30px 60px rgba(54,26,75,.12)}.nm-service-stage>img{width:100%;height:100%;object-fit:cover;transition:opacity .2s ease,transform .35s ease}.nm-service-stage>img.is-changing{opacity:.45;transform:scale(1.02)}.nm-service-stage-card{position:absolute;left:22px;right:22px;bottom:22px;background:rgba(31,12,48,.94);color:#fff;border-radius:22px;padding:17px 72px 17px 18px;display:grid;gap:2px}.nm-service-stage-card small{font-size:10px;letter-spacing:.16em}.nm-service-stage-card strong{font-size:19px}.nm-stage-arrow{position:absolute;right:16px;top:50%;transform:translateY(-50%);width:46px;height:46px;border-radius:50%;border:0;background:var(--nm-mint);color:var(--nm-ink);font-size:22px;cursor:pointer}

/* How it works — left intro, stacked journey cards */
.nm-how-story{background:#f6f0ea;padding:100px 0}.nm-how-story-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:70px;align-items:start}.nm-how-intro{position:sticky;top:110px}.nm-how-intro .nm-kicker{color:#6d5c74}.nm-how-intro h2{font-size:clamp(52px,5.4vw,78px);line-height:.92;letter-spacing:-.065em;margin:0 0 26px;color:var(--nm-ink)}.nm-how-intro>p:not(.nm-kicker){max-width:440px;color:#786c79;font-size:16px}.nm-scroll-hint{display:flex;align-items:center;gap:12px;margin-top:38px;text-transform:uppercase;letter-spacing:.15em;font-size:10px;font-weight:800;color:#766080}.nm-scroll-hint span{width:58px;height:1px;background:#766080}
.nm-how-cards{display:grid;gap:26px}.nm-journey-card{position:relative;min-height:245px;border-radius:30px;padding:38px 92px 34px 38px;overflow:hidden}.nm-journey-card small{font-size:10px;letter-spacing:.17em;font-weight:800}.nm-journey-card>span{position:absolute;right:24px;top:-6px;font-size:150px;line-height:1;font-weight:800;opacity:.12;letter-spacing:-.1em}.nm-journey-card h3{font-size:34px;letter-spacing:-.05em;margin:62px 0 8px;line-height:1.05}.nm-journey-card p{font-size:16px;margin:0;max-width:560px}.nm-journey-card i{position:absolute;right:24px;top:26px;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;font-style:normal;font-size:20px}.nm-journey-one{background:var(--nm-mint);color:var(--nm-ink)}.nm-journey-one i{background:var(--nm-ink);color:#fff}.nm-journey-two{background:#ba86e8;color:#2f1645}.nm-journey-two i{background:#674383;color:#fff}.nm-journey-three{background:var(--nm-deep);color:#fff}.nm-journey-three i{background:var(--nm-mint);color:var(--nm-ink)}

/* Yellow statement block */
.nm-testimonial-yellow{background:var(--nm-yellow);padding:105px 0}.nm-testimonial-yellow-inner{text-align:center;max-width:1000px}.nm-star-disc{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--nm-ink);color:var(--nm-yellow);margin:0 auto 34px}.nm-testimonial-yellow blockquote{font-size:clamp(34px,4vw,58px);line-height:1.08;letter-spacing:-.05em;font-weight:800;color:var(--nm-ink);margin:0 auto;max-width:960px}.nm-testimonial-yellow p{font-size:13px;font-weight:700;color:#4c3c37;margin-top:26px}

/* People */
.nm-people-dark{background:linear-gradient(145deg,#3d155b,#271039);color:#fff;padding:96px 0 0}.nm-kicker-light{color:#dcd1e1}.nm-people-heading{display:grid;grid-template-columns:1fr .8fr;gap:90px;align-items:end;margin-bottom:40px}.nm-people-heading h2{font-size:clamp(52px,5.2vw,76px);line-height:.94;letter-spacing:-.065em;margin:0}.nm-people-heading p{color:#e3dbe8;margin:0 0 12px}.nm-people-heading a{color:var(--nm-mint);text-decoration:none;font-weight:800}.nm-people-portraits{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;align-items:end}.nm-people-portraits article{position:relative;height:460px;border-radius:28px 28px 0 0;overflow:hidden;background:#5a3a70}.nm-people-portraits article:nth-child(2){height:420px}.nm-people-portraits article:nth-child(3){height:445px}.nm-people-portraits article:nth-child(4){height:400px}.nm-people-portraits img{width:100%;height:100%;object-fit:cover}.nm-people-portraits article:after{content:"";position:absolute;inset:auto 0 0;height:42%;background:linear-gradient(transparent,rgba(23,8,35,.86))}.nm-people-portraits article>div{position:absolute;z-index:2;left:20px;right:20px;bottom:18px}.nm-people-portraits strong{display:block;font-size:18px}.nm-people-portraits span{font-size:12px;color:#e2d9e6}.nm-people-portraits small{float:right;margin-top:-22px;background:rgba(50,20,68,.78);padding:5px 8px;border-radius:999px;font-weight:800}

/* Trust */
.nm-trust-soft{background:#f3f3e9}.nm-trust-soft-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px;align-items:center}.nm-trust-soft-intro .nm-kicker{color:#6f6175}.nm-trust-soft-intro h2{font-size:clamp(52px,5.2vw,75px);line-height:.92;letter-spacing:-.065em;margin:0 0 24px;color:var(--nm-ink)}.nm-trust-soft-intro>p:not(.nm-kicker){color:#756c78;max-width:520px}.nm-trust-soft-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.nm-trust-soft-grid article{min-height:190px;background:#f2e8eb;border-radius:28px;padding:26px}.nm-trust-soft-grid h3{font-size:22px;margin:22px 0 6px}.nm-trust-soft-grid p{font-size:14px;color:#7a6f78;margin:0}.nm-icon{font-size:24px;color:#4d385c}

/* App */
.nm-app-com{background:#f4f1eb;padding:100px 0 105px}.nm-app-com-layout{display:grid;grid-template-columns:1fr .95fr;gap:70px;align-items:center}.nm-app-com-copy .nm-kicker{color:#63576a}.nm-app-com-copy h2{font-size:clamp(50px,5.2vw,78px);line-height:.95;letter-spacing:-.065em;color:var(--nm-ink);margin:0 0 26px}.nm-app-com-copy>p:not(.nm-kicker){color:#756d78;max-width:600px}.nm-store-row{display:flex;gap:12px;margin-top:28px;flex-wrap:wrap}.nm-store-row>span{width:190px;min-height:62px;border-radius:15px;background:var(--nm-deep);color:#fff;padding:10px 14px 10px 48px;display:grid;position:relative;line-height:1}.nm-store-row b{position:absolute;left:15px;top:18px;font-size:22px}.nm-store-row small{font-size:8px;letter-spacing:.05em;color:#b9adbF}.nm-store-row strong{font-size:17px;margin-top:4px}.nm-launch-link{display:inline-block;margin-top:18px;text-decoration:none;font-weight:800;color:#5b4970;font-size:13px}.nm-app-phone-scene{height:520px;position:relative}.nm-app-purple-panel{position:absolute;width:330px;height:380px;left:55px;top:68px;background:#8f59e6;border-radius:36px;transform:rotate(-6deg)}.nm-phone-card{position:absolute;right:56px;top:0;width:258px;height:500px;border:9px solid #211139;border-radius:42px;background:#fff;box-shadow:0 24px 55px rgba(33,17,57,.15);overflow:hidden;transform:rotate(7deg)}.nm-phone-notch{position:absolute;top:10px;left:50%;transform:translateX(-50%);width:90px;height:23px;border-radius:999px;background:#211139;z-index:2}.nm-phone-screen{padding:64px 18px 18px}.nm-phone-screen p{font-size:9px;letter-spacing:.14em;font-weight:800}.nm-phone-screen h3{font-size:26px;line-height:1.08;letter-spacing:-.045em;margin:10px 0 24px}.nm-phone-options{display:grid;grid-template-columns:1fr 1fr;gap:9px}.nm-phone-options span{border:1px solid #ded8dc;border-radius:14px;padding:14px 6px;text-align:center;font-size:10px;font-weight:700}.nm-mini-booking{margin-top:24px;background:var(--nm-mint);border-radius:18px;padding:15px;display:grid;gap:5px}.nm-mini-booking small{color:#6b626e}.nm-mini-booking strong{font-size:13px}.nm-mini-booking span{font-size:10px;color:#385b43}.nm-booking-badge{position:absolute;left:34px;bottom:18px;background:var(--nm-mint);color:#264232;border-radius:999px;padding:10px 16px;font-size:12px;font-weight:800;box-shadow:0 14px 25px rgba(50,33,55,.12)}

/* Final rounded lavender CTA */
.nm-final-com-wrap{background:#f4f1eb;padding:20px 0 74px}.nm-final-com{position:relative;background:#b486e8;border-radius:34px;min-height:470px;padding:82px 70px;text-align:center;overflow:hidden}.nm-final-com:before,.nm-final-com:after{content:"";position:absolute;border-radius:50%}.nm-final-com:before{width:170px;height:170px;border:40px solid var(--nm-mint);left:-60px;top:-60px}.nm-final-com:after{width:230px;height:230px;background:#e6bfce;right:-75px;bottom:-95px}.nm-final-com .nm-kicker{color:#5f4771}.nm-final-com h2{position:relative;z-index:1;font-size:clamp(50px,5.7vw,84px);line-height:.92;letter-spacing:-.065em;margin:0 0 26px;color:var(--nm-ink)}.nm-final-com>p:not(.nm-kicker){position:relative;z-index:1;color:#5d4b68}.nm-final-actions{position:relative;z-index:1;display:flex;justify-content:center;gap:12px;margin-top:30px;flex-wrap:wrap}

/* Footer */
.nm-footer-com{background:linear-gradient(135deg,#35134f,#4d166f);color:#fff;padding:82px 0 26px}.nm-footer-com-main{display:grid;grid-template-columns:1.25fr .75fr .7fr .8fr;gap:58px}.nm-footer-com-brand h2{font-size:38px;line-height:1.06;letter-spacing:-.05em;margin:64px 0 0;color:#f5efe5}.nm-footer-col{display:flex;flex-direction:column;align-items:flex-start;gap:9px}.nm-footer-col h3{font-size:11px;letter-spacing:.11em;font-weight:600;margin:0 0 12px}.nm-footer-col strong{font-size:13px}.nm-footer-col a{color:#fff;text-decoration:none;font-size:14px}.nm-footer-col p{font-size:13px;line-height:1.55;margin:0;color:#f0e8f3}.nm-footer-gap{margin-top:20px}.nm-footer-gap-lg{margin-top:34px!important}.nm-footer-button{padding:10px 16px;border-radius:7px!important;color:var(--nm-ink)!important;font-weight:800}.nm-footer-button-purple{background:#b871ed}.nm-footer-button-mint{background:#e5f3a6}.nm-contact-col strong{font-size:12px;margin-top:2px}.nm-footer-com-bottom{border-top:1px solid rgba(255,255,255,.14);margin-top:55px;padding-top:22px;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;font-size:11px;color:#f0e8f3}.nm-footer-com-bottom span:nth-child(2){text-align:center}.nm-footer-com-bottom a{text-align:right;color:#fff;text-decoration:none}

/* Responsive homepage */
@media(max-width:1050px){.nm-desktop-nav{gap:24px}.nm-hero-inner,.nm-services-layout,.nm-how-story-layout,.nm-trust-soft-layout,.nm-app-com-layout{grid-template-columns:1fr}.nm-hero{min-height:1040px}.nm-hero-visual{height:430px}.nm-map-shape{right:0}.nm-services-copy{max-width:720px}.nm-how-intro{position:static}.nm-people-heading{grid-template-columns:1fr;gap:22px}.nm-people-portraits{grid-template-columns:1fr 1fr}.nm-people-portraits article,.nm-people-portraits article:nth-child(n){height:430px;border-radius:28px}.nm-footer-com-main{grid-template-columns:1.2fr 1fr 1fr}.nm-contact-col{grid-column:2/4}.nm-app-phone-scene{max-width:600px;width:100%;margin-inline:auto}}
@media(max-width:820px){.nm-desktop-nav,.nm-header-actions{display:none}.nm-menu-toggle{display:block}.nm-header-card{height:66px}.nm-site-header{inset:16px 0 auto}.nm-shell{width:min(100% - 32px,1260px)}.nm-hero{padding-top:120px}.nm-hero h1{font-size:62px}.nm-hero-actions{display:grid;grid-template-columns:1fr}.nm-btn{width:100%}.nm-proof-row{gap:14px;font-size:11px}.nm-service-stage{height:480px}.nm-how-story{padding:80px 0}.nm-journey-card{min-height:215px}.nm-people-portraits{grid-template-columns:1fr 1fr}.nm-trust-soft-grid{grid-template-columns:1fr 1fr}.nm-final-com{padding:70px 30px}.nm-footer-com-main{grid-template-columns:1fr 1fr}.nm-footer-com-brand{grid-column:1/-1}.nm-contact-col{grid-column:auto}.nm-footer-com-bottom{grid-template-columns:1fr;gap:8px}.nm-footer-com-bottom span:nth-child(2),.nm-footer-com-bottom a{text-align:left}}
@media(max-width:560px){.nm-wordmark{font-size:26px}.nm-hero{min-height:1060px;padding-bottom:0}.nm-hero h1{font-size:54px}.nm-hero-lede{font-size:17px}.nm-proof-row{display:grid;grid-template-columns:1fr 1fr}.nm-hero-visual{height:360px}.nm-map-shape{width:470px;height:315px;right:-170px}.nm-worker-polaroid{width:138px;border-width:5px;border-bottom-width:32px}.nm-worker-polaroid img{height:165px}.nm-worker-aisha{left:0;top:100px}.nm-worker-emeka{right:-6px;bottom:24px}.nm-trust-badge{right:0;top:72px;font-size:10px}.nm-nearby-badge{left:105px;bottom:55px;font-size:9px}.nm-growing,.nm-map-label{display:none}.nm-marquee{height:38px}.nm-marquee div{padding:10px 0}.nm-section{padding:76px 0}.nm-services-showcase{padding:70px 0}.nm-services-copy h2,.nm-how-intro h2,.nm-trust-soft-intro h2,.nm-app-com-copy h2{font-size:50px}.nm-service-stage{height:410px}.nm-service-tab b{font-size:21px}.nm-journey-card{padding:30px 64px 28px 26px}.nm-journey-card h3{font-size:28px;margin-top:54px}.nm-journey-card>span{font-size:120px}.nm-testimonial-yellow{padding:75px 0}.nm-testimonial-yellow blockquote{font-size:35px}.nm-people-heading h2{font-size:52px}.nm-people-portraits{grid-template-columns:1fr}.nm-people-portraits article,.nm-people-portraits article:nth-child(n){height:440px}.nm-trust-soft-grid{grid-template-columns:1fr}.nm-app-phone-scene{height:470px}.nm-app-purple-panel{width:250px;height:320px;left:10px}.nm-phone-card{width:225px;height:440px;right:10px}.nm-phone-screen h3{font-size:22px}.nm-final-com{min-height:430px;padding:68px 20px}.nm-final-com h2{font-size:50px}.nm-footer-com-main{grid-template-columns:1fr}.nm-footer-com-brand h2{margin-top:44px}.nm-contact-col{grid-column:auto}.nm-wordmark-large{font-size:48px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.nm-marquee div{animation:none}.nm-btn,.nm-service-stage>img{transition:none}}
/* Inner pages */
.nm-inner-hero,.nm-job-hero{background:var(--nm-ink);color:#fff;padding:90px 0 66px}.nm-inner-hero h1,.nm-job-hero h1{font-size:clamp(42px,6vw,78px);line-height:1;letter-spacing:-.055em;margin:0;color:#fff}.nm-inner-hero p:not(.nm-kicker){color:#c9c1ce;max-width:680px;font-size:18px}.nm-job-category{display:inline-flex;margin-top:20px;background:var(--nm-mint);color:var(--nm-ink);border-radius:999px;padding:8px 13px;font-weight:800;font-size:13px}.nm-content-section{padding:72px 0 110px;background:var(--nm-paper);min-height:50vh}.nm-content-shell{max-width:1180px}.nm-reading-width{max-width:820px}.nm-post-section h1{font-size:56px;line-height:1.05;letter-spacing:-.05em}.nm-index-card{padding:28px 0;border-bottom:1px solid var(--nm-line)}.nm-index-card h2{margin:0 0 8px}.nm-index-card a{text-decoration:none}.nm-error-page{background:var(--nm-ink);min-height:70vh;color:#fff;padding:160px 0}.nm-error-page h1{font-size:72px;letter-spacing:-.06em;margin:0 0 10px}.nm-error-page p:not(.nm-kicker){color:#c8becc;margin-bottom:28px}

/* NaMatch Core visual integration — presentation only */
.namatch-core-page .nm-inner-hero{display:none}.namatch-core-page .nm-content-section{padding-top:62px}.namatch-core-page-join .nm-content-section,.namatch-core-page-login .nm-content-section{background:linear-gradient(150deg,var(--nm-deep),var(--nm-ink));min-height:760px;padding:120px 0}.namatch-core-page-join .nm-content-shell,.namatch-core-page-login .nm-content-shell{max-width:760px}
.namatch-wrap{color:var(--nm-text)!important}.namatch-core-page .namatch-wrap{margin-top:0!important}.namatch-card,.namatch-job-card,.namatch-apply-box,.namatch-stat,.namatch-table-wrap,.namatch-search{border-color:#e8e0e5!important;box-shadow:0 16px 48px rgba(33,17,57,.06)!important}.namatch-card,.namatch-job-card,.namatch-apply-box{border-radius:26px!important}.namatch-core-page-join .namatch-card,.namatch-core-page-login .namatch-card{padding:36px!important;box-shadow:0 30px 90px rgba(8,3,16,.3)!important}.namatch-core-page-join .namatch-card h2,.namatch-core-page-login .namatch-card h2{font-size:38px;letter-spacing:-.045em;color:var(--nm-ink)}
.namatch-btn{background:var(--nm-mint)!important;color:var(--nm-ink)!important;padding:14px 24px!important;min-height:50px!important;font-weight:800!important;box-shadow:none!important}.namatch-btn-secondary{background:#fff!important;border:1px solid #d9cedd!important}.namatch-choice-grid span{border-radius:18px!important}.namatch-choice-grid input:checked+span{border-color:var(--nm-deep)!important;background:#f3edf7!important}.namatch-form input,.namatch-form select,.namatch-form textarea,.namatch-search input,.namatch-search select{border-radius:14px!important;padding:14px 15px!important;border-color:#ddd5df!important}.namatch-form input:focus,.namatch-form select:focus,.namatch-form textarea:focus,.namatch-search input:focus,.namatch-search select:focus{border-color:var(--nm-violet)!important;outline:3px solid rgba(109,75,195,.12)!important}.namatch-eyebrow{color:var(--nm-violet)!important}.namatch-pill,.namatch-status{background:#f2edf6!important;color:var(--nm-deep)!important}.namatch-status-hired{background:#e5f8ea!important;color:#176b39!important}.namatch-job-card h3{letter-spacing:-.035em!important}.namatch-job-card h3 a{color:var(--nm-ink)!important}.namatch-stat strong{color:var(--nm-ink)!important}.namatch-notice{background:#eaf8ee!important;border-color:#c7e9d0!important}.namatch-error{border-radius:14px!important}


@media(max-width:720px){
 .nm-inner-hero,.nm-job-hero{padding:70px 0 52px}.nm-content-section{padding:54px 0 82px}.namatch-core-page-join .nm-content-section,.namatch-core-page-login .nm-content-section{padding:78px 0}.namatch-core-page-join .namatch-card,.namatch-core-page-login .namatch-card{padding:24px!important}
}
@media(max-width:480px){.nm-error-page h1{font-size:50px}}


/* =========================================================
   v0.3.0 — NaMatch scroll-story system
   Mirrors the source site's pinned/sticky, progressive feel.
   Marketplace logic remains entirely in NaMatch Core.
   ========================================================= */

/* Floating header stays with the visitor as the story unfolds. */
.namatch-home .nm-site-header{
  position:fixed;
  inset:26px 0 auto;
  z-index:120;
  pointer-events:none;
  transition:transform .35s ease, inset .35s ease;
}
.namatch-home .nm-site-header .nm-header-card,
.namatch-home .nm-site-header .nm-mobile-nav{pointer-events:auto}
.namatch-home .nm-site-header.is-scrolled{inset:12px 0 auto}
.namatch-home .nm-site-header.is-scrolled .nm-header-card{
  box-shadow:0 16px 50px rgba(15,5,26,.24);
  background:linear-gradient(90deg,rgba(43,18,66,.96),rgba(38,13,58,.96));
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}
body.admin-bar.namatch-home .nm-site-header{top:58px}
body.admin-bar.namatch-home .nm-site-header.is-scrolled{top:44px}

/* Hero gets a gentle depth effect rather than scrolling like a flat block. */
.nm-hero-copy,.nm-hero-visual{will-change:transform,opacity}
.namatch-home.nm-scroll-ready .nm-hero-copy{transform:translate3d(0,var(--nm-hero-copy-y,0),0)}
.namatch-home.nm-scroll-ready .nm-hero-visual{transform:translate3d(0,var(--nm-hero-visual-y,0),0)}

/* Services: one viewport is pinned while scroll progress changes the active service. */
@media(min-width:1051px){
  .nm-services-showcase{
    height:400vh;
    padding:0;
    position:relative;
  }
  .nm-services-layout{
    position:sticky;
    top:0;
    min-height:100vh;
    padding-top:118px;
    padding-bottom:54px;
    align-content:center;
  }
  .nm-services-copy,.nm-service-stage{will-change:transform,opacity}
  .nm-service-tab{
    transition:color .3s ease, opacity .3s ease, padding-left .3s ease;
  }
  .nm-service-tab.is-active{padding-left:8px}
  .nm-service-tab.is-active b{transform:translateX(0)}
  .nm-service-stage{
    transform:translateZ(0);
  }
  .nm-service-stage>img{
    transition:opacity .38s ease,transform .65s cubic-bezier(.2,.75,.25,1);
  }
  .nm-service-stage>img.is-changing{
    opacity:.18;
    transform:scale(1.035);
  }
  .nm-service-stage-card{
    transition:transform .45s cubic-bezier(.2,.75,.25,1),opacity .35s ease;
  }
  .nm-service-stage.is-switching .nm-service-stage-card{
    transform:translateY(8px);
    opacity:.55;
  }
}

/* How it works: cards form a scroll stack while the explanation stays pinned. */
@media(min-width:1051px){
  .nm-how-story{padding:110px 0 40px}
  .nm-how-story-layout{align-items:start}
  .nm-how-intro{top:128px}
  .nm-how-cards{padding-bottom:34vh;gap:0}
  .nm-journey-card{
    position:sticky;
    top:130px;
    margin-bottom:38vh;
    min-height:300px;
    transform-origin:center top;
    box-shadow:0 26px 70px rgba(31,15,45,.08);
    transition:filter .35s ease,transform .35s ease,opacity .35s ease;
  }
  .nm-journey-card:nth-child(1){z-index:1}
  .nm-journey-card:nth-child(2){z-index:2;top:144px}
  .nm-journey-card:nth-child(3){z-index:3;top:158px;margin-bottom:12vh}
  .nm-journey-card.is-behind{filter:saturate(.78);transform:scale(.975);opacity:.72}
  .nm-journey-card.is-current{filter:none;transform:scale(1);opacity:1}
}

/* Progressive reveal system, matching the Richy-style scroll treatment. */
.namatch-home.nm-scroll-ready .nm-reveal{
  opacity:0;
  transform:translate3d(0,34px,0);
  transition:opacity .72s cubic-bezier(.2,.75,.25,1),transform .72s cubic-bezier(.2,.75,.25,1);
}
.namatch-home.nm-scroll-ready .nm-reveal.nm-reveal-left{transform:translate3d(-34px,0,0)}
.namatch-home.nm-scroll-ready .nm-reveal.nm-reveal-right{transform:translate3d(34px,0,0)}
.namatch-home.nm-scroll-ready .nm-reveal.nm-reveal-scale{transform:scale(.965)}
.namatch-home.nm-scroll-ready .nm-reveal.is-visible{opacity:1;transform:none}
.namatch-home.nm-scroll-ready .nm-reveal-delay-1{transition-delay:.08s}
.namatch-home.nm-scroll-ready .nm-reveal-delay-2{transition-delay:.16s}
.namatch-home.nm-scroll-ready .nm-reveal-delay-3{transition-delay:.24s}
.namatch-home.nm-scroll-ready .nm-reveal-delay-4{transition-delay:.32s}

/* Portraits arrive in a subtle stagger rather than appearing as one flat grid. */
.nm-people-portraits article{will-change:transform,opacity}

/* App phone has a small scroll-led lift/tilt, echoing the source mock-up motion. */
.nm-app-phone-scene{will-change:transform}
.namatch-home.nm-scroll-ready .nm-app-phone-scene{transform:translate3d(0,var(--nm-phone-y,0),0)}

@media(max-width:1050px){
  .nm-services-showcase{height:auto;padding:78px 0 72px}
  .nm-services-layout{position:static;min-height:0;padding:0}
  .nm-journey-card{position:relative!important;top:auto!important;margin-bottom:26px!important}
}

@media(max-width:782px){
  body.admin-bar.namatch-home .nm-site-header,
  body.admin-bar.namatch-home .nm-site-header.is-scrolled{top:62px}
}

@media(max-width:820px){
  .namatch-home .nm-site-header{inset:16px 0 auto}
  .namatch-home .nm-site-header.is-scrolled{inset:8px 0 auto}
}

@media(prefers-reduced-motion:reduce){
  .namatch-home .nm-site-header,
  .namatch-home .nm-site-header .nm-header-card,
  .namatch-home.nm-scroll-ready .nm-reveal,
  .nm-journey-card,
  .nm-service-tab,
  .nm-service-stage-card{transition:none!important}
  .namatch-home.nm-scroll-ready .nm-reveal{opacity:1!important;transform:none!important}
  .namatch-home.nm-scroll-ready .nm-hero-copy,
  .namatch-home.nm-scroll-ready .nm-hero-visual,
  .namatch-home.nm-scroll-ready .nm-app-phone-scene{transform:none!important}
}

/* =========================================================
   v0.4.0 — mobile scroll behaviour + source-matched footer
   ========================================================= */

/* The hero map on Namatch.com is alive: tiny travelling route dashes + a pulsing Kano node. */
.nm-map-network{
  position:absolute;
  right:-20px;
  bottom:36px;
  width:600px;
  height:410px;
  z-index:1;
  overflow:visible;
  pointer-events:none;
  opacity:.72;
}
.nm-route{
  fill:none;
  stroke:rgba(225,218,232,.58);
  stroke-width:1.2;
  stroke-linecap:round;
  stroke-dasharray:3 8;
  vector-effect:non-scaling-stroke;
  animation:nm-route-travel 5.2s linear infinite;
}
.nm-route-two{animation-duration:6.2s;animation-direction:reverse;opacity:.72}
.nm-route-three{animation-duration:7.4s;opacity:.52}
@keyframes nm-route-travel{to{stroke-dashoffset:-88}}
.nm-kano-pulse{
  position:absolute;
  z-index:2;
  top:199px;
  left:302px;
  width:18px;
  height:18px;
  border:1px solid rgba(201,242,184,.95);
  border-radius:50%;
  pointer-events:none;
  animation:nm-kano-ring 2.15s ease-out infinite;
}
@keyframes nm-kano-ring{
  0%{transform:scale(.45);opacity:.9;box-shadow:0 0 0 0 rgba(201,242,184,.34)}
  65%{opacity:.28;box-shadow:0 0 0 11px rgba(201,242,184,0)}
  100%{transform:scale(1.55);opacity:0;box-shadow:0 0 0 18px rgba(201,242,184,0)}
}
.nm-map-kano:before{animation:nm-kano-dot 1.55s ease-in-out infinite}
@keyframes nm-kano-dot{0%,100%{transform:scale(.88);box-shadow:0 0 0 3px rgba(201,242,184,.12)}50%{transform:scale(1.18);box-shadow:0 0 0 7px rgba(201,242,184,.20)}}
.nm-nearby-badge{animation:nm-badge-float 4.4s ease-in-out infinite}
@keyframes nm-badge-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}

/* Scroll is the controller on every screen size. Tapping remains optional. */
.nm-service-tab{
  transition:color .28s ease,opacity .28s ease,padding-left .28s ease;
}
.nm-service-tab.is-active{padding-left:8px}
.nm-service-stage>img{
  transition:opacity .36s ease,transform .58s cubic-bezier(.2,.75,.25,1);
}
.nm-service-stage>img.is-changing{opacity:.18;transform:scale(1.035)}
.nm-service-stage-card{transition:transform .38s cubic-bezier(.2,.75,.25,1),opacity .3s ease}
.nm-service-stage.is-switching .nm-service-stage-card{transform:translateY(7px);opacity:.58}

/* Mobile journey cards respond to the reading position as they pass through the viewport. */
@media(max-width:1050px){
  .nm-journey-card{
    transition:opacity .42s ease,transform .48s cubic-bezier(.2,.75,.25,1),box-shadow .42s ease;
    opacity:.86;
    transform:scale(.985);
  }
  .nm-journey-card.is-current{opacity:1;transform:scale(1);box-shadow:0 22px 60px rgba(31,15,45,.10)}
  .nm-journey-card.is-behind{opacity:.72;transform:scale(.975)}
}

/* Exact mobile footer hierarchy from Namatch.com: availability → contact → office → copyright → back to top → legal owner. */
.nm-footer-mobile{display:none}
@media(max-width:820px){
  .nm-footer-com{
    background:#28103f;
    padding:0;
    color:#f7f2f8;
  }
  .nm-footer-com-main,.nm-footer-com-bottom{display:none!important}
  .nm-footer-mobile{
    display:block;
    width:100%;
    min-height:1280px;
    padding:170px 46px 106px;
  }
  .nm-footer-mobile-block{margin:0 0 66px}
  .nm-footer-mobile-block h3{
    margin:0 0 30px;
    color:rgba(240,230,244,.46);
    font-size:15px;
    line-height:1.2;
    font-weight:500;
    letter-spacing:0;
  }
  .nm-footer-mobile-block p,
  .nm-footer-mobile-block a{
    display:block;
    margin:0;
    color:#f7f2f8;
    text-decoration:none;
    font-size:19px;
    line-height:1.75;
    font-weight:400;
  }
  .nm-footer-mobile-block a+a{margin-top:10px}
  .nm-footer-mobile-block strong{
    display:block;
    margin-top:18px;
    color:#bff5c9;
    font-size:18px;
    line-height:1.45;
    font-weight:800;
  }
  .nm-footer-mobile-copy,
  .nm-footer-mobile-product{
    margin:0;
    color:rgba(240,230,244,.42);
    font-size:16px;
    line-height:1.6;
  }
  .nm-footer-mobile-copy{margin-top:8px}
  .nm-footer-mobile-top{
    display:inline-flex;
    align-items:center;
    gap:19px;
    margin-top:52px;
    color:#fff;
    text-decoration:none;
    font-size:19px;
    line-height:1.2;
  }
  .nm-footer-mobile-top span{color:#bff5c9;font-size:34px;font-weight:300;line-height:1;transform:translateY(-2px)}
  .nm-footer-mobile-product{margin-top:74px}
}

@media(max-width:560px){
  /* Keep the map information visible on phones, as on Namatch.com. */
  .nm-map-network{width:470px;height:315px;right:-170px;bottom:24px}
  .nm-kano-pulse{top:145px;left:195px;width:15px;height:15px}
  .nm-map-label{display:block;font-size:7px}
  .nm-growing{display:block;font-size:8px;left:42%;top:230px;padding:7px 12px}
  .nm-map-kano{top:151px;left:205px}
  .nm-map-lagos{bottom:61px;left:28px}
  .nm-map-ph{bottom:29px;right:49px}
  .nm-map-label:before{width:6px;height:6px;margin-right:4px}
  .nm-footer-mobile{min-height:1360px;padding:166px 46px 110px}
}

@media(prefers-reduced-motion:reduce){
  .nm-route,.nm-kano-pulse,.nm-map-kano:before,.nm-nearby-badge{animation:none!important}
}


/* =========================================================
   v0.5.0 — hero map composition tuned to Namatch.com
   ========================================================= */

/* The source hero uses deep-purple profile frames, not cream photo cards. */
.nm-worker-polaroid{
  background:linear-gradient(155deg,#56306d 0%,#3d1e55 58%,#2b153f 100%);
  border-color:#4a255f;
  color:#fff;
}
.nm-worker-polaroid img{
  border-radius:17px;
}
.nm-worker-polaroid strong{
  color:#fff;
  text-shadow:0 1px 12px rgba(18,6,28,.22);
}
.nm-worker-polaroid::after{
  content:"✓";
  position:absolute;
  right:11px;
  bottom:10px;
  width:24px;
  height:24px;
  border:2px solid var(--nm-mint);
  border-radius:50%;
  color:var(--nm-mint);
  display:grid;
  place-items:center;
  font-size:13px;
  line-height:1;
  font-weight:900;
  box-shadow:0 0 0 3px rgba(201,242,184,.06);
}

/* Route network is intentionally more legible than in v0.4. */
.nm-route{
  stroke:rgba(232,225,238,.70);
  stroke-width:1.35;
  stroke-dasharray:3 7;
}
.nm-route-two{opacity:.82}
.nm-route-three{opacity:.68}

@media(max-width:560px){
  /* Give the mobile visual its own composition instead of shrinking desktop. */
  .nm-hero{
    min-height:1240px;
    padding-bottom:34px;
  }
  .nm-hero-visual{
    height:610px;
    margin-top:16px;
    overflow:visible;
  }

  /* Larger, more central Nigeria map — the visual anchor on Namatch.com. */
  .nm-map-shape{
    width:650px;
    height:448px;
    right:-5px;
    bottom:70px;
    opacity:.54;
    background:linear-gradient(180deg,#817a96 0%,#675f79 100%);
  }
  .nm-map-network{
    width:650px;
    height:448px;
    right:-5px;
    bottom:70px;
    opacity:.90;
  }

  /* Larger diagonal worker cards: Aisha high-left, Emeka low-right. */
  .nm-worker-polaroid{
    width:215px;
    border-width:8px;
    border-bottom-width:52px;
    border-radius:29px;
    box-shadow:0 22px 54px rgba(10,3,18,.35);
  }
  .nm-worker-polaroid img{
    height:246px;
    border-radius:20px;
  }
  .nm-worker-polaroid strong{
    left:14px;
    bottom:14px;
    font-size:17px;
    letter-spacing:-.025em;
  }
  .nm-worker-polaroid::after{
    right:13px;
    bottom:11px;
    width:27px;
    height:27px;
    font-size:14px;
  }
  .nm-worker-aisha{
    left:0;
    top:58px;
    transform:rotate(-3.5deg);
  }
  .nm-worker-emeka{
    right:-2px;
    bottom:4px;
    transform:rotate(5.5deg);
  }

  /* Match the badge placement and breathing room in the source site. */
  .nm-trust-badge{
    right:0;
    top:25px;
    padding:11px 17px;
    font-size:13px;
    z-index:6;
  }
  .nm-nearby-badge{
    left:17px;
    bottom:8px;
    padding:12px 18px;
    font-size:12px;
    z-index:7;
  }
  .nm-growing{
    display:block;
    left:50%;
    top:262px;
    transform:translateX(-50%);
    min-width:172px;
    padding:9px 14px 8px;
    border-radius:22px;
    font-size:8px;
    line-height:1.35;
    letter-spacing:.16em;
    z-index:5;
  }
  .nm-growing br + *{font-size:inherit}

  /* Re-align geographic labels to the enlarged map. */
  .nm-map-label{
    display:block;
    font-size:8px;
    z-index:4;
    white-space:nowrap;
  }
  .nm-map-label:before{
    width:7px;
    height:7px;
    margin-right:5px;
    box-shadow:0 0 0 4px rgba(201,242,184,.14);
  }
  .nm-map-kano{
    top:173px;
    left:52%;
  }
  .nm-map-lagos{
    left:35px;
    bottom:88px;
  }
  .nm-map-ph{
    left:48%;
    right:auto;
    bottom:27px;
  }
  .nm-kano-pulse{
    top:166px;
    left:calc(52% - 9px);
    width:17px;
    height:17px;
  }

  /* Bring the mint ticker up directly after the map story. */
  .nm-marquee{
    margin-top:-2px;
    height:43px;
  }
}

@media(max-width:390px){
  .nm-hero{min-height:1195px}
  .nm-hero-visual{height:570px}
  .nm-map-shape,.nm-map-network{width:590px;height:407px;right:-11px;bottom:66px}
  .nm-worker-polaroid{width:194px;border-bottom-width:49px}
  .nm-worker-polaroid img{height:224px}
  .nm-worker-aisha{top:62px}
  .nm-worker-emeka{bottom:8px}
  .nm-growing{top:247px;min-width:156px}
  .nm-map-kano{top:163px;left:51%}
  .nm-kano-pulse{top:156px;left:calc(51% - 8px)}
  .nm-map-lagos{left:29px;bottom:82px}
  .nm-map-ph{left:47%;bottom:29px}
  .nm-nearby-badge{left:15px;bottom:7px}
}

/* =========================================================
   v0.6.0 — mobile Services is a true pinned scroll story
   The selector and changing photograph remain visible together.
   ========================================================= */


/* Sticky scroll stories must not sit inside an overflow-hidden main element. */
body.namatch-home{overflow-x:clip}
.namatch-home .nm-site-main{overflow:visible}

/* Wrapper introduced in v0.6 so the mobile intro can leave the stage
   without forcing the service selector and image apart. */
.nm-services-intro>p:not(.nm-kicker){
  max-width:480px;
  color:#4d3d58;
  margin:0 0 24px;
  font-size:16px;
}

@media(max-width:820px){
  /* The section supplies scroll distance; the inner composition stays pinned
     for long enough to show all four services with the image always in view. */
  .nm-services-showcase{
    position:relative!important;
    height:480svh!important;
    min-height:3000px;
    padding:0!important;
    overflow:visible;
    --nm-service-intro-y:0px;
    --nm-service-intro-opacity:1;
    --nm-service-tabs-y:238px;
  }
  .nm-services-layout{
    position:sticky!important;
    top:0!important;
    width:min(100% - 32px,1260px);
    height:100svh!important;
    min-height:100svh!important;
    padding:102px 0 14px!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-template-rows:clamp(220px,33svh,270px) minmax(270px,1fr)!important;
    gap:12px!important;
    align-items:stretch!important;
    align-content:stretch!important;
    overflow:hidden;
  }
  body.admin-bar .nm-services-layout{
    padding-top:128px!important;
  }
  .nm-services-copy{
    position:relative;
    height:100%;
    min-height:0;
    max-width:none!important;
    overflow:hidden;
    z-index:3;
  }
  .nm-services-intro{
    position:absolute;
    inset:0 0 auto;
    transform:translate3d(0,var(--nm-service-intro-y),0);
    opacity:var(--nm-service-intro-opacity);
    will-change:transform,opacity;
    transition:opacity .08s linear;
    pointer-events:none;
  }
  .nm-services-copy .nm-kicker{
    margin-bottom:12px;
    font-size:10px;
  }
  .nm-services-copy h2{
    margin:0 0 14px;
    font-size:clamp(42px,12vw,54px)!important;
    line-height:.96;
  }
  .nm-services-intro>p:not(.nm-kicker){
    margin:0;
    max-width:640px;
    font-size:15px;
    line-height:1.55;
  }
  .nm-service-tabs{
    position:absolute;
    inset:0 0 auto;
    margin:0!important;
    transform:translate3d(0,var(--nm-service-tabs-y),0);
    will-change:transform;
  }
  .nm-service-tab{
    min-height:48px;
    grid-template-columns:42px 1fr;
    padding:9px 0!important;
    transition:color .24s ease,opacity .24s ease,padding-left .24s ease;
  }
  .nm-service-tab.is-active{
    padding-left:7px!important;
  }
  .nm-service-tab span{
    font-size:10px;
    padding-top:4px;
  }
  .nm-service-tab b{
    font-size:20px!important;
    line-height:1.18;
  }
  .nm-service-tab small{
    font-size:12px;
    line-height:1.35;
    margin-top:4px;
    padding-right:8px;
  }
  .nm-service-stage{
    position:relative!important;
    width:100%;
    height:auto!important;
    min-height:270px;
    max-height:none;
    align-self:stretch;
    margin:0!important;
    border-radius:28px;
    z-index:2;
    box-shadow:0 24px 54px rgba(54,26,75,.14);
  }
  .nm-service-stage>img{
    height:100%!important;
    min-height:100%;
    object-position:center center;
  }
  .nm-service-stage-card{
    left:18px;
    right:18px;
    bottom:18px;
    border-radius:20px;
    padding:15px 68px 15px 17px;
  }
  .nm-service-stage-card strong{font-size:18px}
  .nm-stage-arrow{
    right:14px;
    width:45px;
    height:45px;
  }
}

@media(max-width:420px){
  .nm-services-showcase{
    height:500svh!important;
    min-height:3100px;
    --nm-service-tabs-y:224px;
  }
  .nm-services-layout{
    padding-top:96px!important;
    grid-template-rows:clamp(212px,32svh,250px) minmax(265px,1fr)!important;
    gap:10px!important;
  }
  body.admin-bar .nm-services-layout{padding-top:122px!important}
  .nm-services-copy h2{font-size:44px!important}
  .nm-services-intro>p:not(.nm-kicker){font-size:14px}
  .nm-service-tab{padding:8px 0!important}
  .nm-service-tab b{font-size:19px!important}
  .nm-service-stage-card{left:15px;right:15px;bottom:15px}
}

@media(max-width:360px){
  .nm-services-layout{
    padding-top:90px!important;
    grid-template-rows:205px minmax(250px,1fr)!important;
  }
  .nm-services-showcase{--nm-service-tabs-y:212px}
  .nm-services-copy h2{font-size:40px!important}
  .nm-service-tab b{font-size:18px!important}
}

@media(max-width:820px) and (prefers-reduced-motion:reduce){
  .nm-services-intro,.nm-service-tabs{transition:none!important}
}

/* =========================================================
   v0.7.0 — source-site scroll behaviour correction
   - mobile uses the compact NaMatch mark like Namatch.com
   - service intro leaves before the later service chapters
   - selector + image stay visible in the same pinned viewport
   - desktop has its own shorter, full-height sticky story so no
     empty purple tail is left behind after the service content.
   ========================================================= */
.nm-compact-mark{display:none;color:#fff;width:40px;height:32px;align-items:center;justify-content:center}
.nm-compact-mark svg{display:block;width:38px;height:30px}
.nm-full-brand{display:inline-flex;align-items:center}

@media(max-width:820px){
  /* Namatch.com uses the compact brand symbol throughout mobile browsing. */
  .nm-brand .nm-full-brand{display:none!important}
  .nm-brand .nm-compact-mark{display:inline-flex!important}
  .nm-header-card{padding-left:22px!important;padding-right:18px!important}

  /* Rebuild the service story around one pinned viewport. */
  .nm-services-showcase{
    height:430svh!important;
    min-height:2750px!important;
    padding:0!important;
    overflow:visible!important;
    --nm-service-intro-y:0px;
    --nm-service-intro-opacity:1;
    --nm-service-tabs-y:236px;
  }
  .nm-services-layout{
    top:0!important;
    height:100svh!important;
    min-height:100svh!important;
    padding:88px 0 10px!important;
    grid-template-rows:250px minmax(300px,1fr)!important;
    gap:10px!important;
    overflow:hidden!important;
  }
  body.admin-bar .nm-services-layout{padding-top:116px!important}
  .nm-services-copy{overflow:hidden!important}
  .nm-services-intro{z-index:1}
  .nm-service-tabs{z-index:2}
  .nm-service-tab{
    min-height:50px!important;
    padding:9px 0!important;
    grid-template-columns:42px 1fr!important;
  }
  .nm-service-tab b{font-size:20px!important}
  .nm-service-tab small{font-size:12px!important;line-height:1.3!important}
  .nm-service-stage{
    min-height:300px!important;
    height:100%!important;
    border-radius:28px!important;
  }
  .nm-service-stage>img{height:100%!important;object-fit:cover!important}
}

@media(max-width:420px){
  .nm-services-showcase{
    height:445svh!important;
    min-height:2820px!important;
    --nm-service-tabs-y:220px;
  }
  .nm-services-layout{
    padding-top:82px!important;
    grid-template-rows:236px minmax(292px,1fr)!important;
  }
  body.admin-bar .nm-services-layout{padding-top:110px!important}
}

@media(max-width:360px){
  .nm-services-showcase{--nm-service-tabs-y:208px}
  .nm-services-layout{grid-template-rows:224px minmax(278px,1fr)!important}
}

@media(min-width:1051px){
  /* Separate desktop choreography. The sticky frame is always one full viewport,
     and the section ends as soon as the fourth chapter finishes. */
  .nm-services-showcase{
    height:320vh!important;
    min-height:0!important;
    padding:0!important;
    overflow:clip!important;
  }
  .nm-services-layout{
    position:sticky!important;
    top:0!important;
    height:100vh!important;
    min-height:100vh!important;
    padding-top:104px!important;
    padding-bottom:36px!important;
    align-items:center!important;
    align-content:center!important;
  }
  .nm-service-stage{
    height:min(64vh,570px)!important;
    min-height:470px;
  }
}


/* =========================================================
   v0.8.0 — live-site parity correction
   Mobile now follows Namatch.com's natural scroll composition instead of a
   multi-viewport pinned scene. Desktop keeps a contained sticky story.
   ========================================================= */

@media(max-width:820px){
  /* Full wordmark at the top; compact N mark only after the Services story
     reaches the fixed header, matching the source site's navigation behaviour. */
  .nm-brand .nm-full-brand{display:inline-flex!important}
  .nm-brand .nm-compact-mark{display:none!important}
  .nm-site-header.is-compact-mobile .nm-brand .nm-full-brand{display:none!important}
  .nm-site-header.is-compact-mobile .nm-brand .nm-compact-mark{display:inline-flex!important}

  /* Remove the artificial 4–5 viewport pin. The source mobile page scrolls the
     heading, rows and photograph as one continuous composition. */
  .nm-services-showcase{
    position:relative!important;
    height:auto!important;
    min-height:0!important;
    padding:66px 0 78px!important;
    overflow:visible!important;
  }
  .nm-services-layout{
    position:relative!important;
    top:auto!important;
    width:min(100% - 32px,1260px)!important;
    height:auto!important;
    min-height:0!important;
    padding:0!important;
    display:block!important;
    overflow:visible!important;
  }
  body.admin-bar .nm-services-layout{padding-top:0!important}
  .nm-services-copy{
    position:relative!important;
    height:auto!important;
    min-height:0!important;
    max-width:none!important;
    overflow:visible!important;
  }
  .nm-services-intro{
    position:relative!important;
    inset:auto!important;
    transform:none!important;
    opacity:1!important;
    pointer-events:auto!important;
  }
  .nm-services-copy .nm-kicker{margin-bottom:14px!important}
  .nm-services-copy h2{
    margin:0 0 22px!important;
    font-size:clamp(48px,12.4vw,62px)!important;
    line-height:.98!important;
  }
  .nm-services-intro>p:not(.nm-kicker){
    margin:0!important;
    max-width:650px!important;
    font-size:17px!important;
    line-height:1.65!important;
  }
  .nm-service-tabs{
    position:relative!important;
    inset:auto!important;
    transform:none!important;
    margin:38px 0 0!important;
  }
  .nm-service-tab{
    min-height:0!important;
    grid-template-columns:44px 1fr!important;
    padding:14px 0!important;
  }
  .nm-service-tab.is-active{padding-left:8px!important}
  .nm-service-tab span{font-size:10px!important;padding-top:5px!important}
  .nm-service-tab b{font-size:23px!important;line-height:1.2!important}
  .nm-service-tab small{font-size:13px!important;line-height:1.45!important;margin-top:5px!important}

  /* The photograph follows immediately after the selector, so it is already
     visible while rows 02–04 become active. */
  .nm-service-stage{
    position:relative!important;
    width:100%!important;
    height:clamp(540px,78svh,720px)!important;
    min-height:0!important;
    max-height:none!important;
    margin:58px 0 0!important;
    border-radius:30px!important;
    overflow:hidden!important;
    box-shadow:0 24px 54px rgba(54,26,75,.14)!important;
  }
  .nm-service-stage>img{
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    object-fit:cover!important;
    object-position:center center!important;
  }
  .nm-service-stage-card{
    left:18px!important;
    right:18px!important;
    bottom:18px!important;
    border-radius:22px!important;
    padding:17px 72px 17px 18px!important;
  }
}

@media(max-width:420px){
  .nm-services-showcase{height:auto!important;min-height:0!important;padding:58px 0 72px!important}
  .nm-services-layout{padding:0!important;grid-template-rows:none!important}
  body.admin-bar .nm-services-layout{padding-top:0!important}
  .nm-services-copy h2{font-size:50px!important}
  .nm-services-intro>p:not(.nm-kicker){font-size:16px!important}
  .nm-service-tab{padding:12px 0!important}
  .nm-service-tab b{font-size:22px!important}
  .nm-service-stage{height:clamp(520px,76svh,650px)!important;margin-top:52px!important}
}

@media(max-width:360px){
  .nm-services-layout{grid-template-rows:none!important}
  .nm-services-copy h2{font-size:45px!important}
  .nm-service-tab b{font-size:20px!important}
}

@media(min-width:1051px){
  /* Keep desktop as a real sticky story, but contain its duration and never clip
     the sticky child. This removes the long empty purple tail seen previously. */
  .nm-services-showcase{
    height:240vh!important;
    min-height:0!important;
    padding:0!important;
    overflow:visible!important;
  }
  .nm-services-layout{
    position:sticky!important;
    top:0!important;
    height:100vh!important;
    min-height:100vh!important;
    padding-top:96px!important;
    padding-bottom:34px!important;
    align-content:center!important;
  }
}


/* =========================================================
   v0.9.0 — final mobile Services parity pass
   Keep the selector and changing photograph in one pinned viewport.
   The intro slides behind the compact header; no service row disappears
   before the corresponding image is visible.
   ========================================================= */
@media(max-width:820px){
  .nm-services-showcase{
    position:relative!important;
    height:300svh!important;
    min-height:2280px!important;
    padding:0!important;
    overflow:visible!important;
    --nm-service-intro-y:120px;
    --nm-service-intro-opacity:1;
    --nm-service-tabs-y:560px;
    --nm-service-stage-y:900px;
  }
  .nm-services-layout{
    position:sticky!important;
    top:0!important;
    width:min(100% - 32px,1260px)!important;
    height:100svh!important;
    min-height:100svh!important;
    margin-inline:auto!important;
    padding:0!important;
    display:block!important;
    overflow:hidden!important;
  }
  body.admin-bar .nm-services-layout{padding:0!important}
  .nm-services-copy{
    position:absolute!important;
    inset:0!important;
    height:100%!important;
    min-height:0!important;
    overflow:visible!important;
    z-index:3!important;
  }
  .nm-services-intro{
    position:absolute!important;
    inset:0 0 auto!important;
    transform:translate3d(0,var(--nm-service-intro-y),0)!important;
    opacity:var(--nm-service-intro-opacity)!important;
    pointer-events:none!important;
    will-change:transform,opacity;
  }
  .nm-services-copy .nm-kicker{margin:0 0 14px!important}
  .nm-services-copy h2{
    margin:0 0 20px!important;
    font-size:clamp(48px,12.4vw,62px)!important;
    line-height:.98!important;
  }
  .nm-services-intro>p:not(.nm-kicker){
    margin:0!important;
    max-width:650px!important;
    font-size:16px!important;
    line-height:1.62!important;
  }
  .nm-service-tabs{
    position:absolute!important;
    inset:0 0 auto!important;
    width:100%!important;
    margin:0!important;
    transform:translate3d(0,var(--nm-service-tabs-y),0)!important;
    will-change:transform;
    z-index:4!important;
  }
  .nm-service-tab{
    min-height:48px!important;
    grid-template-columns:42px 1fr!important;
    padding:9px 0!important;
  }
  .nm-service-tab.is-active{padding-left:7px!important}
  .nm-service-tab span{font-size:10px!important;padding-top:4px!important}
  .nm-service-tab b{font-size:20px!important;line-height:1.18!important}
  .nm-service-tab small{font-size:12px!important;line-height:1.3!important;margin-top:4px!important;padding-right:6px!important}
  .nm-service-stage{
    position:absolute!important;
    left:0!important;
    right:0!important;
    top:0!important;
    width:100%!important;
    height:min(68svh,620px)!important;
    min-height:500px!important;
    margin:0!important;
    transform:translate3d(0,var(--nm-service-stage-y),0)!important;
    border-radius:30px!important;
    overflow:hidden!important;
    z-index:2!important;
    box-shadow:0 24px 54px rgba(54,26,75,.14)!important;
    will-change:transform;
  }
  .nm-service-stage>img{
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    object-fit:cover!important;
    object-position:center center!important;
  }
  .nm-service-stage-card{
    left:18px!important;
    right:18px!important;
    bottom:18px!important;
    border-radius:22px!important;
    padding:17px 72px 17px 18px!important;
  }
  .nm-services-showcase.is-service-story-engaged .nm-site-header{pointer-events:auto}
}

@media(max-width:420px){
  .nm-services-showcase{
    height:315svh!important;
    min-height:2240px!important;
  }
  .nm-service-stage{
    height:min(66svh,575px)!important;
    min-height:470px!important;
  }
  .nm-service-tab b{font-size:19px!important}
  .nm-services-copy h2{font-size:48px!important}
}

@media(max-width:360px){
  .nm-services-showcase{height:325svh!important;min-height:2200px!important}
  .nm-service-stage{height:64svh!important;min-height:440px!important}
  .nm-service-tab b{font-size:18px!important}
  .nm-services-copy h2{font-size:43px!important}
}


/* =========================================================
   v0.9.1 — restore the full NaMatch logo on mobile
   The compact N-only mark has been retired.
   ========================================================= */
.nm-brand .nm-compact-mark{display:none!important}
.nm-brand .nm-full-brand{display:inline-flex!important}
.nm-site-header.is-compact-mobile .nm-brand .nm-compact-mark{display:none!important}
.nm-site-header.is-compact-mobile .nm-brand .nm-full-brand{display:inline-flex!important}
@media(max-width:820px){
  .nm-brand .custom-logo{max-height:42px!important;width:auto!important}
  .nm-brand .nm-wordmark{font-size:26px!important}
}

/* =========================================================
   v0.9.3 — Help & FAQ page
   Mirrors the clean, high-trust NaMatch.com FAQ treatment while
   keeping the content accurate for the current NaMatch.app web app.
   ========================================================= */
.namatch-faq-page-body .nm-site-header{
  position:relative;
  inset:auto;
  background:var(--nm-deep);
  padding:18px 0;
}
.nm-faq-page{
  background:var(--nm-paper);
  padding:clamp(72px,8vw,118px) 0 clamp(96px,10vw,150px);
  min-height:62vh;
}
.nm-faq-shell{
  display:grid;
  grid-template-columns:minmax(0,.86fr) minmax(520px,1.14fr);
  gap:clamp(58px,7vw,112px);
  align-items:start;
}
.nm-faq-intro{
  position:sticky;
  top:42px;
  max-width:570px;
}
.nm-faq-intro .nm-kicker{
  margin:0 0 22px;
  color:var(--nm-purple-2);
  font-size:12px;
  font-weight:800;
  letter-spacing:.22em;
  text-transform:uppercase;
}
.nm-faq-intro h1{
  margin:0;
  color:var(--nm-ink);
  font-size:clamp(52px,6.1vw,86px);
  line-height:.96;
  letter-spacing:-.064em;
  max-width:760px;
}
.nm-faq-lede{
  margin:30px 0 0;
  max-width:610px;
  color:var(--nm-muted);
  font-size:18px;
  line-height:1.72;
}
.nm-faq-links{
  display:flex;
  flex-wrap:wrap;
  gap:12px 24px;
  align-items:center;
  margin-top:34px;
}
.nm-faq-links a{
  display:inline-flex;
  gap:10px;
  align-items:center;
  color:var(--nm-ink);
  font-size:14px;
  font-weight:800;
  text-decoration:none;
}
.nm-faq-contact{
  background:var(--nm-mint);
  border-radius:999px;
  padding:12px 18px;
}
.nm-faq-privacy{
  border-bottom:1px solid rgba(33,17,57,.28);
  padding:10px 0 7px;
}
.nm-faq-list{
  border-top:1px solid rgba(33,17,57,.18);
}
.nm-faq-item{
  border-bottom:1px solid rgba(33,17,57,.18);
  background:transparent;
}
.nm-faq-item summary{
  list-style:none;
  cursor:pointer;
  display:grid;
  grid-template-columns:minmax(0,1fr) 42px;
  gap:24px;
  align-items:center;
  min-height:104px;
  padding:26px 4px 26px 0;
  color:var(--nm-ink);
  font-size:clamp(20px,2vw,28px);
  font-weight:800;
  line-height:1.22;
  letter-spacing:-.025em;
}
.nm-faq-item summary::-webkit-details-marker{display:none}
.nm-faq-item summary:focus-visible{
  outline:3px solid rgba(88,37,123,.28);
  outline-offset:6px;
  border-radius:8px;
}
.nm-faq-plus{
  position:relative;
  width:42px;
  height:42px;
  border:1px solid rgba(33,17,57,.23);
  border-radius:50%;
  transition:background .22s ease,border-color .22s ease,transform .22s ease;
}
.nm-faq-plus:before,.nm-faq-plus:after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:14px;
  height:2px;
  border-radius:2px;
  background:var(--nm-ink);
  transform:translate(-50%,-50%);
  transition:transform .22s ease,background .22s ease;
}
.nm-faq-plus:after{transform:translate(-50%,-50%) rotate(90deg)}
.nm-faq-item[open] .nm-faq-plus{
  background:var(--nm-ink);
  border-color:var(--nm-ink);
  transform:rotate(180deg);
}
.nm-faq-item[open] .nm-faq-plus:before,.nm-faq-item[open] .nm-faq-plus:after{
  background:var(--nm-mint);
}
.nm-faq-item[open] .nm-faq-plus:after{transform:translate(-50%,-50%) rotate(0deg)}
.nm-faq-answer{
  padding:0 74px 32px 0;
  color:var(--nm-muted);
  font-size:16px;
  line-height:1.75;
}
.nm-faq-answer p{margin:0;max-width:720px}
.nm-faq-answer a{color:var(--nm-purple-2);font-weight:800;text-decoration-thickness:1px;text-underline-offset:3px}
.nm-faq-item[open] summary{padding-bottom:14px}

@media(max-width:900px){
  .nm-faq-shell{grid-template-columns:1fr;gap:58px}
  .nm-faq-intro{position:static;max-width:760px}
  .nm-faq-list{max-width:none}
}
@media(max-width:560px){
  .namatch-faq-page-body .nm-site-header{padding:14px 0}
  .nm-faq-page{padding:62px 0 92px}
  .nm-faq-shell{gap:50px}
  .nm-faq-intro h1{font-size:48px;line-height:.98}
  .nm-faq-lede{font-size:16px;line-height:1.65;margin-top:24px}
  .nm-faq-links{display:grid;grid-template-columns:1fr;margin-top:28px;gap:10px}
  .nm-faq-links a{justify-content:center;min-height:48px}
  .nm-faq-privacy{border:1px solid rgba(33,17,57,.16);border-radius:999px;padding:11px 18px}
  .nm-faq-item summary{min-height:86px;grid-template-columns:minmax(0,1fr) 38px;gap:14px;padding:22px 0;font-size:19px}
  .nm-faq-plus{width:38px;height:38px}
  .nm-faq-answer{padding:0 48px 26px 0;font-size:15px;line-height:1.7}
}
@media(prefers-reduced-motion:reduce){
  .nm-faq-plus,.nm-faq-plus:before,.nm-faq-plus:after{transition:none}
}

/* =========================================================
   v0.9.4 — Terms & Privacy pages
   Clean legal-document layout using the NaMatch.com visual language.
   ========================================================= */
.namatch-legal-page-body .nm-site-header{
  position:relative;
  inset:auto;
  background:var(--nm-deep);
  padding:18px 0;
}
.nm-legal-page{
  background:var(--nm-paper);
  padding:clamp(72px,8vw,118px) 0 clamp(96px,10vw,150px);
  min-height:64vh;
}
.nm-legal-shell{
  display:grid;
  grid-template-columns:minmax(0,.82fr) minmax(560px,1.18fr);
  gap:clamp(60px,7.5vw,120px);
  align-items:start;
}
.nm-legal-intro{
  position:sticky;
  top:42px;
  max-width:570px;
}
.nm-legal-intro .nm-kicker{
  margin:0 0 22px;
  color:var(--nm-purple-2);
  font-size:12px;
  font-weight:800;
  letter-spacing:.22em;
  text-transform:uppercase;
}
.nm-legal-intro h1{
  margin:0;
  color:var(--nm-ink);
  font-size:clamp(48px,5.7vw,78px);
  line-height:.98;
  letter-spacing:-.06em;
}
.nm-legal-lede{
  margin:30px 0 0;
  color:var(--nm-muted);
  font-size:18px;
  line-height:1.72;
}
.nm-legal-updated{
  margin:22px 0 0;
  color:rgba(33,17,57,.55);
  font-size:13px;
  font-weight:700;
}
.nm-legal-contact{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin-top:30px;
  padding:12px 18px;
  border-radius:999px;
  background:var(--nm-mint);
  color:var(--nm-ink);
  font-size:14px;
  font-weight:800;
  text-decoration:none;
}
.nm-legal-content{
  border-top:1px solid rgba(33,17,57,.18);
}
.nm-legal-content section{
  padding:30px 0 32px;
  border-bottom:1px solid rgba(33,17,57,.18);
}
.nm-legal-content h2{
  margin:0 0 12px;
  color:var(--nm-ink);
  font-size:clamp(22px,2.2vw,30px);
  line-height:1.18;
  letter-spacing:-.035em;
}
.nm-legal-content p{
  margin:0;
  max-width:760px;
  color:var(--nm-muted);
  font-size:16px;
  line-height:1.78;
}
.nm-legal-content a{
  color:var(--nm-purple-2);
  font-weight:800;
  text-decoration-thickness:1px;
  text-underline-offset:3px;
}
.nm-legal-callout{
  margin-top:26px;
  padding:30px!important;
  border:0!important;
  border-radius:26px;
  background:linear-gradient(135deg,#efe2ff,#e8f8ef);
}
.nm-legal-callout h2{font-size:28px}
.nm-legal-callout>a{
  display:inline-flex;
  gap:10px;
  align-items:center;
  margin-top:18px;
  color:var(--nm-ink);
  text-decoration:none;
}
@media(max-width:900px){
  .nm-legal-shell{grid-template-columns:1fr;gap:58px}
  .nm-legal-intro{position:static;max-width:780px}
}
@media(max-width:560px){
  .namatch-legal-page-body .nm-site-header{padding:14px 0}
  .nm-legal-page{padding:62px 0 92px}
  .nm-legal-shell{gap:48px}
  .nm-legal-intro h1{font-size:47px;line-height:.98}
  .nm-legal-lede{font-size:16px;line-height:1.65;margin-top:24px}
  .nm-legal-updated{font-size:12px}
  .nm-legal-contact{display:flex;justify-content:center;min-height:48px}
  .nm-legal-content section{padding:26px 0 28px}
  .nm-legal-content h2{font-size:22px}
  .nm-legal-content p{font-size:15px;line-height:1.72}
  .nm-legal-callout{padding:24px!important;border-radius:22px}
}


/* =========================================================
   v0.9.5 — Services mobile parity rebuild
   NaMatch.com keeps the service selector and its matching image together.
   Earlier .app builds moved them independently, creating a large purple gap.
   This final override treats them as one pinned composition.
   ========================================================= */
.nm-service-story-panel{display:contents}

@media(min-width:821px){
  .nm-services-layout{
    display:grid!important;
    grid-template-columns:.9fr 1.1fr!important;
    grid-template-rows:auto 1fr!important;
    gap:20px 48px!important;
    align-items:center!important;
  }
  .nm-services-copy{grid-column:1;grid-row:1;align-self:end}
  .nm-service-story-panel{display:contents}
  .nm-service-tabs{grid-column:1;grid-row:2;align-self:start}
  .nm-service-stage{grid-column:2;grid-row:1 / span 2;align-self:center}
}

@media(max-width:820px){
  .nm-services-showcase{
    position:relative!important;
    height:350svh!important;
    min-height:2450px!important;
    padding:0!important;
    overflow:visible!important;
    --nm-service-intro-y:108px;
    --nm-service-intro-opacity:1;
    --nm-service-panel-y:570px;
  }
  .nm-services-layout{
    position:sticky!important;
    top:0!important;
    width:min(100% - 32px,1260px)!important;
    height:100svh!important;
    min-height:100svh!important;
    margin-inline:auto!important;
    padding:0!important;
    display:block!important;
    overflow:hidden!important;
  }
  body.admin-bar .nm-services-layout{padding:0!important}
  .nm-services-copy{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    overflow:visible!important;
    z-index:4!important;
    pointer-events:none!important;
  }
  .nm-services-intro{
    position:absolute!important;
    inset:0 0 auto!important;
    transform:translate3d(0,var(--nm-service-intro-y),0)!important;
    opacity:var(--nm-service-intro-opacity)!important;
    will-change:transform,opacity;
  }
  .nm-services-copy .nm-kicker{margin:0 0 12px!important;font-size:10px!important}
  .nm-services-copy h2{
    margin:0 0 15px!important;
    font-size:clamp(44px,11.6vw,56px)!important;
    line-height:.97!important;
  }
  .nm-services-intro>p:not(.nm-kicker){
    margin:0!important;
    max-width:600px!important;
    font-size:15px!important;
    line-height:1.5!important;
  }

  .nm-service-story-panel{
    position:absolute!important;
    inset:0 0 auto!important;
    width:100%!important;
    display:block!important;
    transform:translate3d(0,var(--nm-service-panel-y),0)!important;
    will-change:transform;
    z-index:3!important;
  }
  .nm-service-tabs{
    position:relative!important;
    inset:auto!important;
    width:100%!important;
    margin:0!important;
    transform:none!important;
    z-index:auto!important;
  }
  .nm-service-tab{
    min-height:50px!important;
    grid-template-columns:42px minmax(0,1fr)!important;
    padding:10px 0!important;
    border-top:1px solid rgba(33,17,57,.20)!important;
  }
  .nm-service-tab:last-child{border-bottom:1px solid rgba(33,17,57,.20)!important}
  .nm-service-tab.is-active{padding-left:7px!important}
  .nm-service-tab span{font-size:10px!important;padding-top:4px!important}
  .nm-service-tab b{font-size:21px!important;line-height:1.17!important}
  .nm-service-tab small{
    font-size:12px!important;
    line-height:1.35!important;
    margin-top:4px!important;
    padding-right:8px!important;
  }
  .nm-service-stage{
    position:relative!important;
    inset:auto!important;
    width:100%!important;
    height:clamp(350px,45svh,430px)!important;
    min-height:0!important;
    max-height:none!important;
    margin:18px 0 0!important;
    transform:none!important;
    border-radius:28px!important;
    overflow:hidden!important;
    box-shadow:0 22px 48px rgba(54,26,75,.14)!important;
    z-index:auto!important;
  }
  .nm-service-stage>img{
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    object-fit:cover!important;
    object-position:center center!important;
  }
  .nm-service-stage-card{
    left:15px!important;
    right:15px!important;
    bottom:15px!important;
    border-radius:18px!important;
    padding:13px 62px 13px 15px!important;
  }
  .nm-service-stage-card strong{font-size:17px!important}
  .nm-stage-arrow{right:12px!important;width:42px!important;height:42px!important}
}

@media(max-width:420px){
  .nm-services-showcase{height:360svh!important;min-height:2420px!important}
  .nm-service-tab{padding:9px 0!important}
  .nm-service-tab b{font-size:20px!important}
  .nm-service-stage{height:clamp(330px,43svh,390px)!important;margin-top:16px!important}
}

@media(max-width:360px){
  .nm-services-showcase{height:370svh!important;min-height:2350px!important}
  .nm-service-tab b{font-size:18px!important}
  .nm-service-tab small{font-size:11px!important}
  .nm-service-stage{height:clamp(310px,41svh,360px)!important}
}
