/* Refine layer. Loads after styles.css. Same palette and layout, less template. */
:root{--r:3px;--r-card:4px;--panel:#0d2430;--panel-2:#0b1e29;--text-soft:#b3c4cb;--text-dim:#93a9b3;--rule:rgba(167,206,219,.16)}
body{font-size:16px;line-height:1.65}
h1,h2,h3,h4{font-weight:600}
h1,h2{letter-spacing:-.03em;line-height:1.1}
h2{font-size:clamp(34px,4vw,52px)}
.mint-text,.muted-heading{color:inherit}
.status-dot{box-shadow:none;width:7px;height:7px}

/* Buttons and links */
.button{border-radius:var(--r);font-size:15px;font-weight:650;min-height:52px;padding:14px 24px;gap:18px;justify-content:center;transition:background .2s}
.button:hover{transform:none;box-shadow:none;background:#ff9884}
.button-small{min-height:44px;font-size:14.5px;padding:10px 18px}
.button-mint:hover{background:#a9efd8;box-shadow:none}
.button-dark{min-width:0;padding:15px 28px}
.button-dark:hover{box-shadow:none}
.text-link{font-size:15px;font-weight:600;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px;text-decoration-color:rgba(240,245,244,.4);transition:color .2s,text-decoration-color .2s}
.text-link:hover{color:var(--mint);text-decoration-color:var(--mint)}
.text-link:hover svg{transform:none}
.text-link-quiet{color:var(--text-dim);font-weight:500}
.service-body .text-link{color:var(--mint)}
.service-body .text-link-quiet{color:var(--text-dim)}
button:focus-visible,a:focus-visible,[tabindex]:focus-visible,summary:focus-visible{outline:2px solid var(--mint);outline-offset:4px}

/* Header */
.site-header{background:#07151ef5;backdrop-filter:none;height:84px}
.desktop-nav{gap:32px}
.desktop-nav a{font-size:15px;color:var(--text-soft)}
.brand small{font-size:10px;letter-spacing:.24em;margin-top:5px}
.brand>span{font-size:24px;letter-spacing:-.02em}
.brand img{width:38px;height:44px}
.mobile-nav{top:83px}
.mobile-nav a{font-size:18px;padding:16px 0}

/* Hero */
.hero{background:var(--bg);min-height:700px}
.hero-grid{opacity:.7}
.hero h1{font-size:clamp(58px,6.4vw,92px);line-height:1;letter-spacing:-.04em;margin-left:-3px;margin-bottom:30px}
.hero-intro{font-size:19px;line-height:1.6;max-width:520px;letter-spacing:0;color:#d3e0e5}
.hero-description{font-size:16.5px;line-height:1.7;max-width:470px;color:var(--text-dim);margin-top:18px}
.hero-actions{gap:28px;margin-top:34px}
.hero-actions .button{padding:15px 24px;font-size:15px;gap:12px}
.hero-actions .text-link{font-size:15px}
.shield-scene{filter:none}
.layer-node{background:var(--panel);border:1px solid #2b4e5b;border-radius:var(--r-card);box-shadow:none;backdrop-filter:none;padding:13px 16px;min-width:206px;gap:12px}
.layer-node:hover,.layer-node.active{border-color:#5fb9a2;transform:none;box-shadow:none}
.node-icon{border-radius:var(--r);background:#102c37;border-color:#2b4e5b;width:34px;height:36px}
.layer-node>span:nth-child(2){font-size:15.5px;font-weight:650}
.layer-node small{font-size:13px;color:var(--text-dim);margin-top:2px}
.active .node-indicator{box-shadow:none;background:var(--mint)}
.node-indicator{width:6px;height:6px;margin-left:auto}
.visual-caption{font-size:15.5px;color:#c4d4da;border-top:1px solid var(--rule);left:9%}
.visual-caption p{max-width:540px;min-height:48px}
.visual-instruction{font-size:13.5px;letter-spacing:0;color:#7f97a2;left:9%;bottom:-4px}
.hero-bottom{height:84px}
.scroll-cue{font-size:14px;color:var(--text-dim);letter-spacing:0}
.scroll-cue>span{height:30px;width:18px}

/* Scan: the hero picks up where the preloader leaves off */
.scan{transform:translateY(-130px);animation:scan-sweep 1.6s cubic-bezier(.45,0,.2,1) 2s 1 both}
.pl-done .scan{animation-delay:.7s}
@keyframes scan-sweep{0%{transform:translateY(-130px);opacity:0}12%{opacity:1}100%{transform:translateY(400px);opacity:0}}
.js:not(.pl-done) .hero-copy{animation-delay:1.55s}
.js:not(.pl-done) .hero-visual{animation-delay:1.7s}

/* Partners */
.partner-inner{grid-template-columns:200px minmax(0,1fr)}
.partner-inner>p{font-size:17px;line-height:1.4;color:var(--text-dim)}
.partner-inner>p strong{color:#d3e0e5;font-weight:600}
.partner-card{border-radius:var(--r-card)}
.partner-type{font-size:12.5px;color:#41606c;letter-spacing:0}
.partner-carousel-caption{font-size:13.5px;letter-spacing:0;color:var(--text-dim)}
.carousel-pause{font-size:13.5px;border-radius:var(--r);padding:6px 14px;color:var(--text-soft)}

/* Section heads */
.section-heading{align-items:flex-end;margin-bottom:56px}
.section-heading h2{max-width:660px}
.section-intro{font-size:17px;line-height:1.7;max-width:420px;color:var(--text-dim);padding-bottom:6px}

/* Services */
.service-trigger{font-size:24px;padding:26px 0;gap:0;justify-content:space-between;color:#c9d6db}
.service-body{padding:0 40px 32px 0}
.service-body>p{font-size:16.5px;line-height:1.7;max-width:500px;color:var(--text-soft)}
.service-body>p.service-scope{font-size:14.5px;color:var(--text-dim);margin-top:14px;max-width:none}
.service-links{display:flex;flex-wrap:wrap;gap:12px 30px;margin-top:20px}
.service-links .text-link{font-size:15px;margin:0}
.service-visual{background:var(--panel-2);border-radius:var(--r-card);min-height:430px}
.service-visual:before{display:none}
.diagram-title{font-size:15px;color:var(--text-dim);padding:24px 28px 0}
.map-centre{border-radius:var(--r-card);box-shadow:none;background:#102a36;border-color:#2e5864;width:88px;height:96px}
.map-centre:after{display:none}
.map-node{font-size:14px}
.map-node span{font-size:14px;letter-spacing:0}
.map-node svg{border-radius:var(--r);background:#102a36;border-color:#2b4e5b;width:46px;height:46px}
.service-visual[data-focus] .map-node svg{box-shadow:none}
.diagram-caption{padding:24px 28px}
.diagram-caption strong{font-size:16px;font-weight:600}
.diagram-caption p{font-size:14.5px;color:var(--text-dim);margin-top:4px;max-width:420px}

/* Demo */
.visibility-section{background:#0a1c26}
.visibility-section:before{display:none}
.command-centre{border-radius:var(--r-card);box-shadow:none;border-color:#2b4e5b}
.demo-toolbar{background:#0f2733}
.demo-title{font-size:17px}
.demo-label{font-size:14px;color:var(--text-soft)}
.demo-label .status-dot{width:6px;height:6px}
.demo-avatar{font-size:12.5px}
.demo-sidebar{background:#0b1e29;padding:22px 14px}
.workspace-label{font-size:14.5px}
.workspace-label small{font-size:12.5px;color:var(--text-dim)}
.workspace-icon{border-radius:var(--r);font-size:13.5px}
.dashboard-tabs>button{font-size:15px;border-radius:var(--r);padding:12px 12px}
.dashboard-tabs>button[aria-selected=true]{background:#123240;border-color:#2d5a66;color:var(--mint)}
.tab-badge{font-size:13px;background:none;color:var(--text-dim);padding:0}
.sidebar-bottom{font-size:13.5px;color:var(--text-dim)}
.demo-content{padding:30px 28px}
.dashboard-heading h3{font-size:24px;letter-spacing:-.02em}
.dashboard-heading p:not(.micro-label){font-size:15px;color:var(--text-dim);margin-top:6px}
.period-badge{border:0;padding:0;font-size:14px;color:var(--text-dim)}
.posture-card,.metric-card,.trend-card{background:#0f2833;border-color:#254552;border-radius:var(--r-card)}
.ring-progress{filter:none}
.score-ring{width:168px;height:168px}
.score-ring strong{font-size:40px;letter-spacing:-.02em}
.score-ring small{font-size:14px;color:var(--text-soft)}
.positive-change{font-size:14px}
.posture-card>p{font-size:13.5px;color:var(--text-dim)}
.metric-card>span{font-size:14.5px;color:var(--text-soft)}
.metric-card strong{font-size:30px;letter-spacing:-.02em}
.metric-card strong span{font-size:15px}
.metric-card>p{font-size:13.5px;color:var(--text-dim)}
.badge{border:0;background:none;padding:0;font-size:14px;font-weight:600;border-radius:0;gap:7px;color:var(--text-soft)}
.badge:before{content:'';width:7px;height:7px;border-radius:50%;background:currentColor;flex-shrink:0}
.badge-mint{color:var(--mint);background:none;border:0}
.badge-coral{color:#ff9f8e;background:none;border:0}
.badge-amber{color:#e9c48c;background:none;border:0}
.badge-blue{color:#9fc6e6;background:none;border:0}
.card-topline h4{font-size:16px;font-weight:600}
.trend-card>p{font-size:13.5px;color:var(--text-dim)}
.chart-months{font-size:12.5px;color:var(--text-dim)}
.dashboard-activity{border-radius:var(--r-card);background:none;border-color:#254552}
.dashboard-activity strong{font-size:15px;font-weight:600}
.dashboard-activity small{font-size:13.5px;color:var(--text-dim)}
.dashboard-activity .text-link{font-size:14.5px}
.demo-footer{font-size:13.5px;color:var(--text-dim);background:#0b1e29}
.demo-footer>span:first-child{color:var(--text-soft)}
.device-table{font-size:14.5px}
.device-table thead{font-size:13.5px;color:var(--text-dim);background:#0f2733}
.device-table td{color:#b6c8cf}
.device-table td:first-child{font-size:14px;letter-spacing:0;color:#d3e0e5}
.device-table small{font-size:13px;color:var(--text-dim)}
.status-inline{font-size:14px}
.demo-note{font-size:14.5px;color:var(--text-soft);border-radius:var(--r-card);background:none}
.demo-note strong{color:#e1ebee;font-weight:600}
.demo-note .text-link{font-size:14.5px}
.priority-row{border-radius:var(--r-card);background:#0f2833;border-color:#254552}
.priority-row strong{font-size:16px;font-weight:600}
.priority-row small{font-size:13.5px;color:var(--text-dim)}
.priority-number{font-size:15px;color:var(--text-dim);width:18px}
.report-cover.report-cover-real{transform:none;box-shadow:none;border:1px solid #3a6070;border-radius:2px}
.report-cover-real:hover{box-shadow:none}
.report-preview:hover .report-cover{transform:none}
.report-kind{font-size:14px;color:var(--mint);font-weight:600}
.report-description h4{font-size:28px;letter-spacing:-.02em;margin-top:10px}
.report-description ul{font-size:15.5px;color:var(--text-soft);gap:9px;margin:20px 0 22px}
.report-description li:before{content:'';display:inline-block;width:10px;height:1px;background:var(--mint);margin-right:12px;vertical-align:middle}
.report-fiction-note{font-size:13.5px;color:var(--text-dim)}
.report-direct-link{font-size:14px;color:var(--text-soft)}
.report-description .button{font-size:14.5px;min-height:44px;padding:10px 18px}

/* Estate */
.estate-copy h2{font-size:clamp(36px,4vw,52px);letter-spacing:-.03em;color:#fff}
.estate-copy>p:not(.eyebrow){font-size:17px;line-height:1.7;max-width:440px;color:#c2d1d7}
.estate-copy .button{font-size:15px;min-height:52px;padding:14px 24px}
.estate-hotspot>svg{box-shadow:none;backdrop-filter:none;background:#08212aeb}
.estate-hotspot.active>svg,.estate-hotspot:hover>svg{box-shadow:none}
.estate-hotspot>span{font-size:14px;border-radius:var(--r);backdrop-filter:none;background:#071c26e6;padding:7px 11px;color:#e3eef0}
.estate-detail{background:#081d29f2;backdrop-filter:none;border-radius:var(--r-card);box-shadow:none;padding:20px 24px}
.estate-detail h3{font-size:19px;font-weight:600;margin:0 0 6px;letter-spacing:-.01em}
.estate-detail p{font-size:15px;line-height:1.65;color:#b3c4cb;min-height:50px}
.estate-bottom{display:block;height:auto;padding:22px 0;font-size:15px;letter-spacing:0;color:#b3c4cb}
.estate-bottom p{margin:0}
.estate-bottom>span:before{display:none}

/* Approach */
.process-marker span{font-size:15px;width:auto;height:auto;border:0;background:none;color:var(--mint);font-weight:600}
.process-marker i{background:var(--rule)}
.process-marker i:after{display:none}
.process-list h3{font-size:24px;letter-spacing:-.02em}
.process-list p{font-size:16px;line-height:1.7;max-width:260px;color:var(--text-soft)}
.msp-callout{grid-template-columns:60px 1.1fr 1fr}
.msp-mark{border-radius:var(--r-card);background:none}
.msp-callout h3{font-size:28px;letter-spacing:-.02em}
.msp-callout>div:last-child>p{font-size:16.5px;line-height:1.7;color:var(--text-soft)}
.msp-callout .text-link{font-size:15px;color:var(--mint)}

/* FAQ */
.faq-list{max-width:900px;border-top:1px solid var(--rule)}
.faq-list details{border-bottom:1px solid var(--rule)}
.faq-list summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 0;font-family:var(--display);font-size:21px;font-weight:500;letter-spacing:-.01em;color:#d3e0e5}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary svg{width:20px;height:20px;color:#7ea3ab;transition:transform .25s}
.faq-list details[open] summary{color:#fff}
.faq-list details[open] summary svg{transform:rotate(45deg);color:var(--mint)}
.faq-answer{padding:0 56px 26px 0;max-width:720px}
.faq-answer p{font-size:16.5px;line-height:1.75;color:var(--text-soft)}
.faq-answer a{color:var(--mint);text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}

/* Contact and footer */
.contact-section:after{display:none}
.contact-inner{padding:84px 0}
.contact-inner h2{font-size:clamp(34px,4.2vw,54px);letter-spacing:-.03em;font-weight:600;max-width:640px}
.contact-inner p:not(.eyebrow){font-size:17.5px;line-height:1.6;color:#1f4743;margin-top:18px;max-width:520px}
.contact-actions{align-items:flex-start;gap:20px}
.contact-email{font-size:16px;color:#16403c;text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px;justify-content:flex-start}
.button-dark{font-size:16px;min-height:56px}
.site-footer{padding-top:72px}
.footer-main>div>p{font-size:16.5px;color:var(--text-dim)}
.footer-email{font-size:16px;color:#c0d1d7;text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
.footer-links{gap:90px}
.footer-links h3{font-size:16px;font-weight:600;color:#e1ebee;margin-bottom:14px}
.footer-links a{font-size:15.5px;color:var(--text-dim);margin-top:11px}
.footer-bottom{font-size:14px;color:var(--text-dim)}
#motion-toggle{font-size:14px;color:var(--text-dim)}

/* Dialogs */
.detail-dialog{border-radius:6px;box-shadow:none;border-color:#2b4e5b;background:#0b1e29}
.detail-dialog.report-dialog{border-radius:6px}
.detail-dialog h2{font-size:34px;letter-spacing:-.02em}
.dialog-eyebrow{font-size:15px;letter-spacing:0;text-transform:none;color:var(--mint);margin:2px 40px 14px 0}
.dialog-lead{font-size:16.5px;line-height:1.7;color:var(--text-soft)}
.dialog-section h3{font-size:18px}
.dialog-section p,.dialog-section li{font-size:16px;line-height:1.7;color:var(--text-soft)}
.dialog-note{font-size:14.5px;line-height:1.65;color:var(--text-dim);background:none;border-radius:var(--r-card)}
.dialog-close{border-radius:var(--r);width:36px;height:36px}
.report-viewer-heading{padding:28px 32px 22px}
.report-viewer-heading .dialog-eyebrow{font-size:15px}
.report-viewer-heading h2{font-size:30px}
.report-viewer-heading .dialog-lead{font-size:15.5px}
.report-page-controls{font-size:15px}
.report-nav-button{border-radius:var(--r);width:38px;height:38px}
.report-nav-button svg{width:18px;height:18px}
.report-nav-button:first-child svg{transform:rotate(180deg)}
.report-page-select select{font-size:15px;border-radius:var(--r)}
.report-zoom-button{font-size:14.5px;border-radius:var(--r)}
.report-viewer-footer>p{font-size:14px;color:var(--text-dim)}
.report-viewer-footer .text-link{font-size:15px}

/* Inner pages */
.page-hero{padding:92px 0 72px;border-bottom:1px solid var(--line);background:var(--bg)}
.crumbs{display:flex;gap:10px;font-size:14.5px;color:var(--text-dim);margin-bottom:28px}
.crumbs a:hover{color:var(--mint)}
.crumbs [aria-current]{color:var(--text-soft)}
.page-hero h1{font-size:clamp(40px,5vw,68px);letter-spacing:-.035em;max-width:900px;line-height:1.05}
.page-lead{max-width:660px;font-size:20px;line-height:1.6;color:#c6d5db;margin-top:26px}
.page-hero .hero-actions{margin-top:36px}
.split-section{padding:84px 0;border-bottom:1px solid var(--line)}
.split{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.5fr);gap:80px;align-items:start}
.split h2{font-size:clamp(28px,3vw,38px);line-height:1.15;letter-spacing:-.025em}
.split-body p{font-size:18px;line-height:1.75;color:var(--text-soft);max-width:680px}
.split-body p+p{margin-top:18px}
.split-body a{color:var(--mint);text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
.rows{margin:0;border-top:1px solid var(--rule)}
.rows>div{display:grid;grid-template-columns:minmax(0,.62fr) minmax(0,1fr);gap:32px;padding:22px 0;border-bottom:1px solid var(--rule)}
.rows dt{font-family:var(--display);font-size:19px;font-weight:550;color:#e1ebee;letter-spacing:-.01em}
.rows dd{margin:0;font-size:16.5px;line-height:1.7;color:var(--text-soft)}
.rows a{color:var(--mint);text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
.related-section{padding:56px 0;border-top:1px solid var(--line)}
.related-section .container{display:flex;flex-wrap:wrap;align-items:baseline;gap:14px 40px}
.related-section p{font-family:var(--display);font-size:20px;font-weight:550;color:#e1ebee}
.related-section nav{display:flex;flex-wrap:wrap;gap:12px 32px}
.related-section a{font-size:16px;color:var(--text-soft);text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px;text-decoration-color:rgba(240,245,244,.3)}
.related-section a:hover{color:var(--mint)}

/* Preloader: shield and bug draw in, then the screen lifts */
#preloader{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;background:#07151e;pointer-events:none;animation:pl-lift .65s cubic-bezier(.76,0,.24,1) 1.45s forwards}
.pl-done #preloader{display:none}
#preloader svg{overflow:visible;stroke-width:3.7;width:clamp(86px,9vw,112px);height:auto;aspect-ratio:113/130;animation:pl-fade .25s ease 1.4s forwards}
#preloader path{stroke-dasharray:1;stroke-dashoffset:1}
.pl-shield{animation:pl-draw .85s cubic-bezier(.65,0,.35,1) .05s forwards}
.pl-bug{animation:pl-draw .45s cubic-bezier(.65,0,.35,1) forwards}
.pl-b2{animation-delay:.4s}.pl-b1{animation-delay:.6s}.pl-b3{animation-delay:.7s}.pl-b4{animation-delay:.75s}
@keyframes pl-draw{to{stroke-dashoffset:0}}
@keyframes pl-fade{to{opacity:0}}
@keyframes pl-lift{0%{clip-path:inset(0 0 0 0)}99%{clip-path:inset(0 0 100% 0);visibility:visible}100%{clip-path:inset(0 0 100% 0);visibility:hidden}}
.motion-paused #preloader,.motion-paused .scan{display:none}
@media(prefers-reduced-motion:reduce){
  #preloader{animation:pl-fade .25s ease .35s forwards}
  #preloader svg{animation:none}
  #preloader path{stroke-dashoffset:0;animation:none!important}
  .scan{display:none}
}

/* Responsive */
@media(max-width:1199px){
  .desktop-nav{gap:20px}.desktop-nav a{font-size:14.5px}
  .split{gap:48px}
  .layer-node{min-width:176px;padding:11px 12px}
}
@media(max-width:999px){
  .site-header{height:76px}
  .desktop-nav a{font-size:14px}
  .header-cta{font-size:13.5px}
  .brand>span{font-size:21px}
  .hero h1{font-size:60px}
  .hero-intro{font-size:16px}.hero-description{font-size:14.5px}
  .layer-node{min-width:150px}.layer-node small{font-size:12px}.layer-node>span:nth-child(2){font-size:14px}
  .visual-caption{font-size:14px}
  .section-intro{font-size:15.5px}
  .split{grid-template-columns:1fr;gap:28px}
  .rows>div{grid-template-columns:1fr;gap:6px}
}
@media(max-width:767px){
  .site-header{height:72px}.mobile-nav{top:71px}
  .hero-inner{padding-top:44px}
  .hero h1{font-size:clamp(50px,13vw,70px);margin-bottom:22px}
  .hero-intro{font-size:17px}.hero-description{font-size:15.5px}
  .hero-actions{gap:20px}
  .hero-visual{height:480px}
  .layer-node{min-width:0;padding:10px 12px;gap:9px}
  .layer-node small{font-size:12px}
  .visual-caption{left:0;right:0;font-size:14.5px}
  .visual-instruction{left:0;font-size:13px}
  .partner-inner>p{font-size:15px}
  .section-heading{display:block;margin-bottom:34px}
  .section-intro{max-width:none;margin-top:18px;font-size:16.5px}
  h2{font-size:34px}
  .service-trigger{font-size:21px}
  .service-body{padding-right:0}
  .service-body>p{font-size:16px}
  .service-visual{min-height:400px}
  .demo-label{font-size:13px}
  .demo-label:after{display:none}
  .dashboard-tabs>button{font-size:13.5px;gap:5px}
  .dashboard-tabs>button>svg{display:none}
  .dashboard-heading h3{font-size:21px}
  .overview-grid{grid-template-columns:1fr}
  .trend-card{grid-template-columns:1fr 1fr}
  .device-table{min-width:520px}
  .estate-copy h2{font-size:36px}
  .estate-copy>p:not(.eyebrow){font-size:16px}
  .estate-bottom{font-size:14.5px}
  .process-list{grid-template-columns:1fr;gap:30px}
  .process-list p{max-width:none}
  .msp-callout{grid-template-columns:1fr;gap:16px}
  .msp-callout>div:last-child{grid-column:auto}
  .faq-list summary{font-size:18px;padding:20px 0}
  .faq-answer{padding-right:0}
  .contact-inner{padding:60px 0}
  .contact-inner h2{font-size:36px}
  .footer-links{grid-template-columns:1fr 1fr;gap:30px}
  .page-hero{padding:56px 0 48px}
  .page-lead{font-size:17.5px}
  .split-section{padding:56px 0}
  .split-body p{font-size:16.5px}
  .rows dd{font-size:16px}
  .related-section .container{display:block}
  .related-section nav{margin-top:14px;flex-direction:column;gap:12px}
  .detail-dialog h2{font-size:27px}
  .report-viewer-heading h2{font-size:25px}
}

/* Trust strip: real logos in colour on a light band */
.partner-strip{background:#fff;border-color:#d9e3e8}
.partner-inner>p{color:#4a5f69}
.partner-inner>p strong{color:#10242f}
.partner-card{background:transparent;color:#10242f}
.partner-brand{filter:none}
.smokeball-mask img{filter:none;mix-blend-mode:multiply;opacity:1}
.brand-microsoft{color:#4a4a4a}
.partner-type{opacity:1;transform:none;color:#4a5f69;font-size:12.5px}
.partner-card:is(:hover,:focus-visible,.is-selected){background:#fff;border-color:#d0dde3;box-shadow:none;transform:none}
.partner-window{mask-image:linear-gradient(90deg,transparent,#000 20px,#000 calc(100% - 20px),transparent)}
.partner-carousel-caption{color:#4a5f69}
.carousel-pause{color:#10242f;border-color:#b9c9d1}
@media(min-width:1200px){
  .partner-track{animation:none;width:100%}
  .partner-set{width:100%;justify-content:space-between;padding-right:0;gap:12px}
  .partner-set-clone,.partner-carousel-footer{display:none}
  .partner-window{mask-image:none;overflow:visible}
  .partner-card{width:auto;flex:1 1 0;min-width:0}
}

/* First 7 days */
.week{margin-top:72px;padding-top:40px;border-top:1px solid var(--rule)}
.week-title{font-family:var(--display);font-size:28px;font-weight:600;letter-spacing:-.02em;margin-bottom:26px}
.week-list{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-left:1px solid var(--rule)}
.week-list li{padding:2px 24px 4px;border-right:0;border-left:0;position:relative}
.week-list li+li{border-left:1px solid var(--rule)}
.week-list li:first-child{padding-left:24px}
.week-list strong{display:block;font-family:var(--display);font-size:18px;font-weight:600;color:var(--mint);margin-bottom:10px}
.week-list span{display:block;font-size:15px;line-height:1.7;color:var(--text-soft)}
@media(max-width:999px){.week-list{grid-template-columns:1fr 1fr;row-gap:30px}.week-list li:nth-child(3){border-left:1px solid var(--rule)}.week-list li:nth-child(odd){border-left:0}.week-list{border-left:0}.week-list li:first-child,.week-list li{padding-left:0}.week-list li:nth-child(even){padding-left:24px;border-left:1px solid var(--rule)}}
@media(max-width:560px){.week{margin-top:48px}.week-list{grid-template-columns:1fr}.week-list li,.week-list li:nth-child(odd),.week-list li:nth-child(even){padding:0 0 0 18px;border-left:1px solid var(--rule)}.week-title{font-size:24px}}

/* Sticky checkup CTA, phones only */
.sticky-cta{display:none}
@media(max-width:767px){
  .sticky-cta{display:flex;position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:40;align-items:center;justify-content:center;min-height:52px;padding:14px 18px;background:var(--coral);color:#07151e;font-weight:600;font-size:15.5px;border-radius:var(--r);box-shadow:0 8px 24px #0007;transform:translateY(160%);transition:transform .35s var(--ease);text-decoration:none}
  body.cta-on .sticky-cta{transform:none}
  .site-footer{padding-bottom:84px}
}
@media(prefers-reduced-motion:reduce){.sticky-cta{transition:none}}

/* Guides */
.guide-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.guide-card{display:block;padding:24px 22px 26px;background:var(--panel);border:1px solid var(--rule);border-radius:var(--r-card);transition:border-color .25s}
.guide-card:hover,.guide-card:focus-visible{border-color:var(--mint)}
.guide-card h3{font-family:var(--display);font-size:21px;font-weight:600;line-height:1.25;margin-bottom:12px}
.guide-card p{font-size:15px;line-height:1.65;color:var(--text-dim)}
@media(max-width:999px){.guide-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.guide-grid{grid-template-columns:1fr}}
.partner-carousel-caption:empty{display:none}
.split-body a.text-link{display:inline-block;margin-top:4px}
.footer-links{grid-template-columns:repeat(3,auto);gap:60px}
@media(max-width:999px){.footer-links{gap:40px}}
@media(max-width:767px){.footer-links{grid-template-columns:1fr 1fr;gap:28px}}
