/* base.css — reset, type, layout primitives. Logical properties only. */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-block-start:88px;color-scheme:light}
html{--t1:var(--mo-fast) var(--ease);--t2:var(--mo-base) var(--ease);--t3:var(--mo-slow) var(--ease);--dir:1}
[dir="rtl"]{--dir:-1}
body{margin:0;min-height:100vh;font-family:var(--font-sans);font-size:var(--fs-body);line-height:var(--lh-body);font-weight:400;color:var(--ink-700);background:var(--white);font-synthesis:none;overflow-x:clip}
img,svg,video,picture{display:block;max-width:100%}
img{height:auto}
button,input,select,textarea{font:inherit;color:inherit;letter-spacing:inherit}
button{cursor:pointer}
summary{list-style:none;cursor:pointer}
summary::-webkit-details-marker{display:none}
/* Small uppercase labels */
.card__brand,.mega__label,.dnav__label{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
h1,h2,h3,h4{margin:0;color:var(--ink-900);text-wrap:balance}
.optional{font-weight:400;color:var(--ink-500)}
h1{font-size:var(--fs-h1);line-height:var(--lh-h1);font-weight:var(--fw-h1);letter-spacing:var(--ls-h1)}
h2{font-size:var(--fs-h2);line-height:var(--lh-h2);font-weight:var(--fw-h2);letter-spacing:var(--ls-h2)}
h3{font-size:var(--fs-h3);line-height:var(--lh-h3);font-weight:var(--fw-h3);letter-spacing:var(--ls-h3)}
h4{font-size:var(--fs-h4);line-height:var(--lh-h4);font-weight:var(--fw-h4)}
p,ul,ol,dl,dd,figure,blockquote{margin:0}
ul.plain,ol.plain{list-style:none;padding:0}
p{text-wrap:pretty}
a{color:var(--azure-700);text-decoration-thickness:1px;text-underline-offset:.2em}
a:hover{color:var(--navy-800)}
strong,b{font-weight:600}
:focus-visible{outline:var(--focus-width) solid var(--azure-500);outline-offset:var(--focus-offset)}
.on-navy :focus-visible{outline-color:var(--sky-300)}
.on-navy .qcard :focus-visible{outline-color:var(--azure-500)}
::selection{background:var(--sky-200);color:var(--ink-900)}

.skip-link{position:absolute;inset-inline-start:16px;inset-block-start:-120px;z-index:200;padding:12px 18px;background:var(--navy-900);color:#fff;border-radius:var(--r-panel);font-weight:600;text-decoration:none}
.skip-link:focus{inset-block-start:12px;color:#fff}
.vh{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

.wrap{width:min(100% - 2 * var(--gutter),var(--container));margin-inline:auto}
.section{padding-block:var(--sp-9)}
.section--tint{background:var(--sky-50)}
/* Two white sections in a row: one gap between them, not two */
.section:not(.section--tint,.band-navy,.cta-band)+.section:not(.section--tint,.band-navy,.cta-band){padding-block-start:0}

/* Icon size: rules set --i (one declaration instead of width + height) */
.i{width:var(--i,24px);height:var(--i,24px);flex:none;fill:currentColor}
/* Arrows and carets point along the reading direction; logos, phone/WhatsApp glyphs, checks and search never mirror */
.i-dir{transform:scaleX(var(--dir))}
.i--sm{--i:18px}
.i--lg{--i:28px}

.eyebrow{display:block;font-size:var(--fs-eyebrow);line-height:var(--lh-eyebrow);font-weight:600;letter-spacing:var(--ls-eyebrow);text-transform:var(--tt-eyebrow);color:var(--azure-700)}
.lead{font-size:var(--fs-lead);line-height:var(--lh-lead);color:var(--ink-500)}
.small{font-size:var(--fs-small);line-height:var(--lh-small)}
.muted{color:var(--ink-500)}
.nowrap{white-space:nowrap}

.sec-head{display:grid;gap:12px;margin-block-end:clamp(28px,4vw,48px);max-width:44rem}
.sec-head--center{margin-inline:auto;text-align:center;justify-items:center}
.sec-head--split{max-width:none;display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:8px 32px}
.sec-head .lead{max-width:40rem}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}
