/* Service cards */
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:68px;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.service-card{position:relative;min-height:410px;padding:38px 34px 34px;background:var(--paper);border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:.3s ease;overflow:hidden}.service-card:hover{background:#fff;transform:translateY(-4px);box-shadow:0 22px 50px rgba(16,38,32,.09);z-index:2}.service-number{position:absolute;right:22px;top:18px;font:700 10px var(--font-display);letter-spacing:1px;color:#a2ada7}.service-icon{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:#e1e9df;color:var(--ink);font:600 27px Georgia;margin-bottom:34px}.service-card h3{font-size:22px;letter-spacing:-.7px;margin-bottom:12px}.service-card>p{font-size:14px;line-height:1.7;color:var(--muted);min-height:72px}.service-card ul{list-style:none;padding:0;margin:18px 0 26px;display:grid;gap:6px}.service-card li{font-size:12px;color:#52625c}.service-card li:before{content:"·";color:var(--sage-dark);margin-right:8px;font-weight:900}.service-card>a:not(.btn){font-weight:700;font-size:12px;border-bottom:1px solid var(--line);padding-bottom:4px}.service-card>a span{margin-left:8px}.service-cta{background:var(--ink);color:#fff;display:flex;flex-direction:column;justify-content:center}.service-cta:hover{background:var(--ink-2)}.service-cta .mini-label{font:700 9px var(--font-display);letter-spacing:1.6px;color:var(--amber);margin-bottom:22px}.service-cta h3{font-size:28px;max-width:240px}.service-cta>p{color:rgba(255,255,255,.65);min-height:0;margin-bottom:26px}.btn-cream{background:var(--cream);color:var(--ink);align-self:flex-start}.service-cta>small{font-size:9px;margin-top:15px;color:rgba(255,255,255,.45)}

/* Problem framing */
.pain-section{background:var(--ink);color:#fff;padding:105px 0;position:relative;overflow:hidden}.pain-section:before{content:"";position:absolute;width:500px;height:500px;border:1px solid rgba(255,255,255,.05);border-radius:50%;left:-200px;top:-200px;box-shadow:0 0 0 90px rgba(255,255,255,.018),0 0 0 180px rgba(255,255,255,.014)}.pain-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:100px;position:relative}.pain-copy h2{font-size:46px;line-height:1.12;letter-spacing:-2px}.pain-copy p{color:rgba(255,255,255,.6);max-width:440px}.pain-list{border-top:1px solid rgba(255,255,255,.15)}.pain-item{display:grid;grid-template-columns:52px 1fr;gap:16px;padding:28px 0;border-bottom:1px solid rgba(255,255,255,.15)}.pain-item>span{font:700 10px var(--font-display);color:var(--amber);padding-top:5px}.pain-item h3{font-size:18px;margin-bottom:6px}.pain-item p{color:rgba(255,255,255,.56);font-size:13px;margin:0}

/* Differentiation */
.split-layout{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.photo-panel{height:620px;position:relative;background:linear-gradient(0deg,rgba(8,30,23,.3),transparent),url("assets/northstar-hero.png") 73% center/cover no-repeat;box-shadow:var(--shadow)}.photo-badge{position:absolute;top:-26px;right:-26px;width:118px;height:118px;border-radius:50%;background:var(--amber);display:flex;align-items:center;justify-content:center;gap:6px;color:var(--ink);box-shadow:0 14px 30px rgba(16,38,32,.14)}.photo-badge strong{font:800 32px var(--font-display)}.photo-badge span{font:800 8px/1.4 var(--font-display);letter-spacing:.8px}.photo-caption{position:absolute;left:28px;bottom:28px;background:rgba(255,255,255,.94);padding:17px 20px;display:flex;align-items:center;gap:12px;box-shadow:0 12px 30px rgba(0,0,0,.12)}.photo-caption i{width:8px;height:8px;background:var(--sage-dark);border-radius:50%}.photo-caption small,.photo-caption strong{display:block}.photo-caption small{font:700 8px var(--font-display);letter-spacing:1.3px;color:var(--sage-dark)}.photo-caption strong{font:700 12px var(--font-display);margin-top:2px}.difference-copy h2{margin-bottom:26px}.difference-copy>.section-lede{font-size:16px}.check-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px 22px;margin:36px 0}.check-grid>div{display:flex;gap:12px}.check-grid b{flex:0 0 28px;height:28px;border-radius:50%;background:#dce8dc;display:grid;place-items:center;font-size:12px}.check-grid strong,.check-grid small{display:block}.check-grid strong{font:700 13px var(--font-display)}.check-grid small{font-size:11px;color:var(--muted);line-height:1.5;margin-top:3px}.text-arrow{display:inline-flex;gap:16px;align-items:center;font-weight:700;font-size:13px;border-bottom:1px solid var(--ink);padding-bottom:5px}

/* Case study */
.case-section{padding:110px 0;background:var(--ink);color:#fff}.case-head{display:grid;grid-template-columns:1fr .65fr;gap:100px;align-items:end;margin-bottom:55px}.case-head h2{font-size:58px;line-height:1.05;letter-spacing:-2.8px;margin:0}.case-head h2 em{color:var(--sage)}.case-head>p{color:rgba(255,255,255,.6);font-size:16px;max-width:430px;margin-bottom:7px}.case-card{display:grid;grid-template-columns:1.1fr .9fr;min-height:600px;background:#fff;color:var(--ink)}.case-image{position:relative;background:linear-gradient(0deg,rgba(7,26,20,.25),transparent),url("assets/northstar-hero.png") 67% center/cover no-repeat}.case-image>span{position:absolute;left:24px;top:24px;background:var(--amber);font:800 8px var(--font-display);letter-spacing:1.5px;padding:9px 12px}.case-copy{padding:50px}.quote-mark{font:700 60px/1 Georgia;color:var(--sage);height:42px}.case-copy blockquote{font:500 24px/1.5 Georgia;margin:10px 0 25px}.case-person{position:relative;padding-bottom:25px;border-bottom:1px solid var(--line)}.case-person strong,.case-person>span{display:block}.case-person strong{font:700 13px var(--font-display)}.case-person>span{font-size:11px;color:var(--muted)}.case-person .stars{position:absolute;right:0;top:5px}.case-copy dl{margin:20px 0 28px}.case-copy dl>div{display:grid;grid-template-columns:120px 1fr;padding:10px 0;border-bottom:1px solid rgba(16,38,32,.08)}.case-copy dt{font:700 8px var(--font-display);letter-spacing:1.2px;color:var(--sage-dark)}.case-copy dd{font-size:11px;margin:0}.case-copy dd strong{color:var(--sage-dark)}

/* Process */
.centered-heading{text-align:center}.centered-heading .eyebrow{justify-content:center}.centered-heading h2{margin-bottom:12px}.centered-heading>p{color:var(--muted)}.process-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:58px;position:relative}.process-grid:before{content:"";position:absolute;top:68px;left:16%;right:16%;height:1px;background:repeating-linear-gradient(90deg,var(--sage-dark) 0 5px,transparent 5px 11px)}.process-step{text-align:center;padding:0 40px;position:relative}.step-no{position:absolute;top:45px;left:calc(50% + 38px);font:800 9px var(--font-display);color:var(--sage-dark);background:var(--paper);padding:3px}.step-icon{position:relative;z-index:1;width:100px;height:100px;border-radius:50%;margin:16px auto 25px;display:grid;place-items:center;background:#dfeadf;border:10px solid var(--paper);outline:1px solid #c4d2c5;font-size:28px}.process-step h3{font-size:19px;margin-bottom:10px}.process-step p{font-size:13px;color:var(--muted);min-height:64px}.process-step small{font:700 8px var(--font-display);letter-spacing:1.2px;color:var(--sage-dark)}.process-cta{display:flex;flex-direction:column;align-items:center;gap:12px;margin-top:48px}.btn-dark{background:var(--ink);color:#fff}.process-cta>span{font-size:10px;color:var(--muted)}

/* Reviews and stats */
.reviews-section{padding:110px 0 0;background:#28483f;color:#fff}.review-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:90px}.review-summary h2{font-size:46px;line-height:1.1;letter-spacing:-2px}.big-rating{display:flex;align-items:center;gap:18px;margin:30px 0}.big-rating>strong{font:800 62px/1 var(--font-display)}.big-rating span>*{display:block}.big-rating b{color:var(--amber);letter-spacing:2px}.big-rating small{font-size:10px;color:rgba(255,255,255,.58);margin-top:4px}.review-platforms{display:flex;gap:18px;flex-wrap:wrap}.review-platforms span{font-size:10px;color:rgba(255,255,255,.55)}.review-platforms strong{color:#fff;margin-left:4px}.review-stack{display:grid;gap:18px}.review-card{background:var(--paper);color:var(--ink);padding:32px 36px}.review-card blockquote{font:500 20px/1.55 Georgia;margin:10px 0 25px}.review-card footer{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px}.review-avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#d6bfa7;font-size:10px;font-weight:700}.review-avatar.alt{background:#aabfae}.review-card footer strong,.review-card footer small{display:block}.review-card footer strong{font-size:11px}.review-card footer small{font-size:9px;color:var(--muted)}.review-card footer>b{font-size:8px;color:var(--sage-dark)}.stats-row{margin-top:90px;border-top:1px solid rgba(255,255,255,.15);display:grid;grid-template-columns:repeat(4,1fr)}.stats-row>div{padding:38px 30px;border-right:1px solid rgba(255,255,255,.15);text-align:center}.stats-row>div:first-child{border-left:1px solid rgba(255,255,255,.15)}.stats-row strong,.stats-row span{display:block}.stats-row strong{font:700 34px var(--font-display)}.stats-row strong:after{content:"+";color:var(--amber);font-size:18px}.stats-row>div:nth-child(3) strong:after,.stats-row>div:nth-child(4) strong:after{content:"%"}.stats-row span{font:700 8px var(--font-display);letter-spacing:1.3px;color:rgba(255,255,255,.52);margin-top:4px}
