@font-face{font-family:'Geist';src:url('/fonts/Geist-Variable.ttf') format('truetype');font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:'Manrope';src:url('/fonts/Manrope-Variable.ttf') format('truetype');font-weight:200 800;font-style:normal;font-display:swap}
@font-face{font-family:'Geist Mono';src:url('/fonts/GeistMono-Variable.ttf') format('truetype');font-weight:100 900;font-style:normal;font-display:swap}
:root{--cp-font-heading:'Geist';--cp-font-body:'Manrope';--cp-font-code:'Geist Mono'}
body{font-family:var(--cp-font-body)}
h1,h2,h3,h4,h5,h6{font-family:var(--cp-font-heading)}
button,input,select,textarea,summary{font-family:var(--cp-font-body)}
code,pre,kbd,samp{font-family:var(--cp-font-code)}
/* CadencePlus digital system v1.3. Original product mechanics remain page-owned. */
:root{--cp-ink:#071923;--cp-navy:#0b3c5d;--cp-aqua:#00a8a8;--cp-accent-strong:#006c70;--cp-cloud:#f8fafb;--cp-mist:#eef3f5;--cp-paper:#f5f2ec;--cp-white:#fff;--cp-bg:var(--cp-cloud);--cp-text:var(--cp-ink);--cp-muted:#52616a;--cp-border:#d6e1e6;--cp-radius-sm:10px;--cp-radius-md:16px;--cp-radius-lg:24px;--cp-space-4:16px;--cp-space-6:24px;--cp-space-8:32px;--cp-space-12:48px;--cp-space-16:64px;--cp-space-24:96px}
html{scroll-padding-top:112px}
body{font-optical-sizing:auto;-webkit-font-smoothing:antialiased}
body :where(h1,h2,h3){text-wrap:balance}
body :where(p,li){text-wrap:pretty}
body :where(main,section,article,aside){min-width:0}
body :where(img,video){max-width:100%}
body :where(a,button,summary,select,input,textarea){scroll-margin-block:112px}
.cp-marketing{background:var(--cp-cloud);color:var(--cp-ink);line-height:1.65}
.cp-marketing :where(h1,h2,h3){letter-spacing:-.035em;font-weight:600}
.cp-marketing .section{padding-block:var(--cp-space-24)}
.cp-marketing .section-head{align-items:start;margin-bottom:40px}
.cp-marketing .section-head h2{font-size:clamp(1.9rem,3.5vw,3rem);max-width:22ch}
.cp-marketing .section-head p{max-width:44ch;color:var(--cp-muted);margin-top:14px}
/* Stable header geometry preserves the approved mobile landing height. */
header.cps-header.topbar{background:#fffffff5!important}
@supports(backdrop-filter:blur(1px)){header.cps-header.topbar{backdrop-filter:blur(12px)}}
.cps-header .cps-nav{gap:24px;font-size:13px}
.cps-header .cps-nav a{font-weight:550}
.cps-header .cps-resources-panel{border-radius:16px;box-shadow:0 12px 28px #0719230c}
.cps-header .cps-nav a[aria-current]{font-weight:700}
footer.cps-footer{padding-block:40px;background:var(--cp-navy)}
.cps-footer .cps-footer-social{justify-content:flex-start}
.cps-footer .accessibility-statement{font-size:13px}
.cps-footer .accessibility-statement summary{min-height:44px;align-content:center}
/* Approved landing: navy, three entry points, white material buttons. */
/* Learning directory: usable without scripting, enhanced with native filters. */
/* Product-specific surfaces share typography without replacing their controls. */
.cps-calculator .intro{padding-block:64px 44px}
.cps-calculator .intro h1{font-weight:650;letter-spacing:-.045em}
.cps-calculator .calculator{border-radius:24px;box-shadow:0 16px 44px #07192309}
.cps-calculator .form-section{padding-block:28px}
.cps-calculator .result-panel{border-radius:0;top:112px}
.cps-calculator .amount{font-weight:650;letter-spacing:-.055em;font-variant-numeric:tabular-nums}
.cps-calculator .country-card,.cps-calculator .level-grid label{box-shadow:none}
.cps-calculator .skill input:checked+span{background:#eaf3f2;border-color:var(--cp-accent-strong)}
.cps-dictionary .function-card{box-shadow:none;border-radius:16px}
.cps-dictionary .sidebar{border-radius:16px}
.cps-dictionary .search-wrap{border-radius:10px}
.cps-sql-learning .lesson-card{box-shadow:none;border-radius:16px}
.cps-sql-learning .practice{box-shadow:none;border-radius:16px}
.cps-sql-learning .lesson-card h4{font-weight:600}
.cps-sql-learning .sidebar{scrollbar-gutter:stable}
.cps-sql-game .program-card{border-radius:16px;box-shadow:none}
.cp-marketing .consulting-hero .page-wrap{text-align:left;padding-block:88px}
.cp-marketing .consulting-hero h1{max-width:16ch;letter-spacing:-.045em;font-weight:600}
.cp-marketing .consulting-hero p{margin:24px 0;max-width:48ch}
.cp-marketing .consulting-vector{display:none}
.cp-marketing .services-section .page-intro{text-align:left;max-width:none}
.cp-marketing .services-stack{max-width:none;gap:0;border-top:1px solid var(--cp-border)}
.cp-marketing .service-pill{border:0;border-bottom:1px solid var(--cp-border);border-radius:0;background:transparent;box-shadow:none}
.cp-marketing .service-toggle{padding:24px 0;min-height:88px;gap:24px}
.cp-marketing .service-panel p{padding:0 66px 28px;max-width:75ch}
.cp-marketing .service-pill:has([aria-expanded=true]){box-shadow:none}
.cp-marketing .consulting-next{max-width:none;text-align:left;background:var(--cp-mist);border-radius:16px}
.cp-marketing .consulting-cta{border-radius:10px}
.cp-marketing .contact-page{max-width:1000px;padding-block:64px}
.cp-marketing .contact-page .page-intro{text-align:left;max-width:none;margin-bottom:40px}
.cp-marketing .contact-page .page-intro p{margin-left:0;max-width:56ch}
.cp-marketing .contact-page .panel{padding:32px;border-radius:16px;box-shadow:none}
.cp-marketing .contact-page .social-panel{text-align:left}
.cp-marketing .contact-page .form-button{border-radius:10px}
.cp-marketing .contact-page .privacy-note{font-size:14px}
@media(min-width:1000px){.cp-marketing .contact-page .contact-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:32px;align-items:start}.cp-marketing .contact-page .contact-social{grid-template-columns:1fr 1fr}.cp-marketing .contact-page .contact-social a{justify-content:flex-start}}
@media(max-width:640px){html{scroll-padding-top:88px}.cp-marketing .section{padding-block:56px}.wrap{width:calc(100% - 36px)}.cp-marketing .section-head{display:block;margin-bottom:28px}.cp-marketing .consulting-hero .page-wrap{padding-block:56px}.cp-marketing .service-toggle{gap:16px}.cp-marketing .service-panel p{padding:0 0 24px}.cp-marketing .consulting-next{align-items:start;text-align:left}.cp-marketing .contact-page{padding-block:40px}.cp-marketing .contact-page .panel{padding:22px}.cps-calculator .intro{padding-block:44px 32px}.cps-calculator .result-panel{top:0}}
@media(forced-colors:active){header.cps-header.topbar{background:Canvas!important;backdrop-filter:none}}

.cps-header .cps-resources:has(a[aria-current])>summary{font-weight:700;text-decoration:underline;text-underline-offset:5px}

/* Bring dictionary search into view instead of a full-screen introduction. */
.cps-dictionary .dictionary-landing{min-height:0;padding:56px max(4vw,24px);text-align:left;align-content:start}
.cps-dictionary .dictionary-landing>div:first-child{width:min(1280px,100%);margin-inline:auto}
.cps-dictionary .dictionary-landing h1{font-size:clamp(2rem,4.2vw,3.6rem);margin:0 0 16px;max-width:22ch;font-weight:600}
.cps-dictionary .dictionary-landing .lede{margin:0;max-width:58ch;font-size:16px}
.cps-dictionary .dictionary-count{margin-top:16px}
.cps-dictionary .dictionary-landing .reference-visual,.cps-dictionary .dictionary-landing>.scroll-cue{display:none}
.cps-dictionary .workspace{box-shadow:none;border-radius:16px;margin-top:32px}
.cps-dictionary .card{box-shadow:none;border-radius:12px}
.cps-dictionary .toolbar{padding-block:24px}
@media(max-width:640px){.cps-dictionary .dictionary-landing{padding:36px 18px}.cps-dictionary .workspace{border-radius:0}.cps-dictionary .toolbar{padding-block:18px}}
.section-caption{font-family:var(--cp-font-body);font-size:14px;font-weight:400;line-height:1.6;letter-spacing:normal;color:var(--cp-muted);margin:12px 0 20px}
.about-photo>.section-caption{order:2;margin:12px 0 0}
.cps-dictionary .section-caption{color:var(--muted)}
