
html,body{overflow-x:clip}
.rd-br-m{display:none}
@media(max-width:640px){.rd-br-m{display:inline}}
.rd-root{font-family:var(--rd-font-body,system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif);color:var(--rd-text,#111827);background:var(--rd-background,#ffffff);line-height:var(--rd-lh-body,1.6);-webkit-font-smoothing:antialiased}
.rd-root h1,.rd-root h2,.rd-root h3,.rd-root h4{font-family:var(--rd-font-heading,system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif);line-height:var(--rd-lh-heading,1.15);letter-spacing:var(--rd-ls-heading,0em);margin:0}
.rd-root p{margin:0}
/* Paragraph rhythm lives here, not as an inline style, so a trailing paragraph
   can drop it. A Text block as the last child of a section was adding 14px below
   the content, which made every section look bottom-heavy against its own equal
   padding. Both selectors need the .rd-root prefix to outrank the reset above. */
.rd-root .rd-text{margin-bottom:14px}
.rd-root .rd-text:last-child{margin-bottom:0}
.rd-container{max-width:var(--rd-max-width,1120px);margin-inline:auto;padding-inline:24px}
.rd-container--narrow{max-width:760px}
.rd-section{padding-block:var(--rd-section-pad,64px)}
.rd-section--compact{padding-block:calc(var(--rd-section-pad,64px)*.5)}
.rd-section--spacious{padding-block:calc(var(--rd-section-pad,64px)*1.75)}
.rd-section--surface{background:var(--rd-surface,#f4f5f7)}
.rd-section--primary{background:var(--rd-primary,#1d4ed8);color:var(--rd-primary-contrast,#ffffff)}
.rd-section--dark{background:#0f172a;color:#f8fafc}
/* Waves: a tiled sine line drawn as a mask over currentColor, so the pattern
   picks up the section text colour instead of a hardcoded stroke. Light lines
   on a dark tenant, dark lines on a light one, no per-site override needed.
   Tile is one full period (80x14) so it repeats seamlessly on both axes. */
/* Split section: narrow intro rail beside a wider content area. Pairs with
   .rd-checkcards for guarantee/feature lists (intro left, item cards right). */
.rd-split{display:grid;gap:48px;grid-template-columns:.85fr 1.15fr;align-items:start}
@media(max-width:900px){.rd-split{grid-template-columns:1fr;gap:32px}}
.rd-checkcards{display:grid;gap:16px;grid-template-columns:1fr 1fr;list-style:none;margin:0;padding:0}
@media(max-width:640px){.rd-checkcards{grid-template-columns:1fr}}
.rd-checkcards li{background:var(--rd-surface,#f4f5f7);border:1px solid rgba(255,255,255,.12);border-radius:20px;padding:24px;transition:border-color .15s}
.rd-checkcards li:hover{border-color:color-mix(in srgb,var(--rd-accent,#f59e0b) 50%,transparent)}
.rd-checkcards li:last-child:nth-child(odd){grid-column:1/-1}
.rd-checkcards .rd-check{display:grid;place-items:center;width:24px;height:24px;flex-shrink:0;margin-top:2px;border-radius:999px;background:var(--rd-accent,#f59e0b);color:#111;font-size:12px;font-weight:700}
.rd-checkcards .rd-checkrow{display:flex;align-items:flex-start;gap:12px}
.rd-checkcards h3{font-size:1.1rem;margin:0 0 6px}
.rd-checkcards p{color:var(--rd-muted,#6b7280);font-size:.9rem;line-height:1.6;margin:0}
/* Section header row: title block left, short aside bottom-aligned right. */
.rd-sechead{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:24px}
.rd-sechead__aside{max-width:24rem;color:var(--rd-muted,#6b7280);line-height:1.7;margin:0}
/* Numbered-circle step rail: on desktop the 48px circles sit on a gradient
   hairline; each circle carries the page background so the line reads as
   threading behind them. Circle top offset and line top must match. */
.rd-steps{position:relative;margin-top:56px}
.rd-steps__line{display:none}
.rd-steps ol{list-style:none;margin:0;padding:0;display:grid;gap:36px}
.rd-steps__num{position:relative;z-index:1;display:grid;place-items:center;width:48px;height:48px;border-radius:999px;border:1px solid var(--rd-border,#e5e7eb);background:var(--rd-background,#ffffff);color:var(--rd-muted,#6b7280);font-size:14px;transition:border-color .15s,color .15s}
.rd-steps li:hover .rd-steps__num{border-color:var(--rd-accent,#f59e0b);color:var(--rd-accent,#f59e0b)}
.rd-steps h3{font-size:1.25rem;margin:22px 0 8px}
.rd-steps li p{color:var(--rd-muted,#6b7280);font-size:.875rem;line-height:1.65;margin:0}
@media(min-width:1024px){.rd-steps ol{grid-template-columns:repeat(var(--rd-steps-n,5),minmax(0,1fr));gap:40px}.rd-steps__line{display:block;position:absolute;left:24px;right:24px;top:24px;height:1px;background:linear-gradient(90deg,var(--rd-primary,#1d4ed8),var(--rd-c-cyan,#00FFFF),var(--rd-accent,#f59e0b));opacity:.5}}
/* Pair cards: two chip labels joined by an accent arrow over a one-line claim. */
.rd-vstack{display:grid;gap:16px}
.rd-paircard{background:var(--rd-surface,#f4f5f7);border:1px solid rgba(255,255,255,.12);border-radius:20px;padding:24px;transition:border-color .15s}
.rd-paircard:hover{border-color:color-mix(in srgb,var(--rd-accent,#f59e0b) 50%,transparent)}
.rd-paircard__row{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:12px}
.rd-paircard__row .rd-arrow{color:var(--rd-accent,#f59e0b);font-size:15px;line-height:1}
.rd-paircard p{color:var(--rd-muted,#6b7280);line-height:1.6;margin:0}
.rd-chip{display:inline-block;font-size:12px;letter-spacing:.02em;padding:4px 12px;border-radius:999px;border:1px solid var(--rd-border,#e5e7eb);color:var(--rd-muted,#6b7280)}
.rd-chip--accent{color:var(--rd-accent,#f59e0b);border-color:color-mix(in srgb,var(--rd-accent,#f59e0b) 45%,transparent);background:color-mix(in srgb,var(--rd-accent,#f59e0b) 8%,transparent)}
/* Solid primary closing card for the end of a card stack. */
.rd-card--electric{background:linear-gradient(135deg,var(--rd-primary,#1d4ed8),color-mix(in srgb,var(--rd-primary,#1d4ed8) 55%,#8A94FF));border-radius:20px;padding:24px;color:#fff}
.rd-card--electric h3{font-size:1.25rem;margin:0 0 8px;color:#fff}
.rd-card--electric p{color:rgba(255,255,255,.85);line-height:1.6;margin:0}
/* Hairline stat tiles: 1px gap over a border-colour ground reads as ruled cells. */
.rd-tiles{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--rd-border,#e5e7eb);border:1px solid var(--rd-border,#e5e7eb);border-radius:20px;overflow:hidden}
.rd-tiles>div{background:var(--rd-surface,#f4f5f7);padding:24px}
.rd-tiles strong{display:block;font-family:var(--rd-font-heading,system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif);font-size:1.9rem;font-weight:700;line-height:1.15}
.rd-tiles span{display:block;margin-top:8px;font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--rd-muted,#6b7280);line-height:1.6}
@media(max-width:640px){.rd-tiles{grid-template-columns:1fr}}
.rd-split--even{grid-template-columns:1fr 1fr}
@media(max-width:900px){.rd-split--even{grid-template-columns:1fr}}
/* Glow hero: dot grid (currentColor, so it adapts to the section text colour)
   under a breathing radial glow that bleeds down from above the top edge. */
.rd-section--glow{position:relative;overflow:hidden;isolation:isolate}
.rd-section--glow::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:radial-gradient(currentColor 1px,transparent 1px);background-size:26px 26px;opacity:.05}
.rd-section--glow::after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(120% 90% at 50% -10%,color-mix(in srgb,var(--rd-primary,#1d4ed8) 28%,transparent),transparent 70%);animation:rdPulseGlow 3.6s ease-in-out infinite}
@keyframes rdPulseGlow{0%,100%{opacity:.35}50%{opacity:.9}}
@media(prefers-reduced-motion:reduce){.rd-section--glow::after{animation:none;opacity:.5}}
.rd-text-gradient{background:linear-gradient(100deg,var(--rd-c-cyan,#00FFFF),var(--rd-primary,#1d4ed8) 90%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
/* Door cards: service grid with an oversized ghost number bleeding off the top
   right corner; the whole card is the hover group (border, ghost, and link). */
.rd-doorcards{display:grid;gap:20px;grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:1023px){.rd-doorcards{grid-template-columns:1fr 1fr}}
@media(max-width:639px){.rd-doorcards{grid-template-columns:1fr}}
.rd-doorcard{position:relative;display:flex;flex-direction:column;overflow:hidden;background:var(--rd-surface,#f4f5f7);border:1px solid var(--rd-border,#e5e7eb);border-radius:20px;padding:32px;transition:border-color .15s}
.rd-doorcard:hover{border-color:color-mix(in srgb,var(--rd-accent,#f59e0b) 50%,transparent)}
.rd-doorcard__ghost{position:absolute;top:-32px;right:-8px;font-family:var(--rd-font-heading,system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif);font-size:96px;font-weight:800;line-height:1;color:color-mix(in srgb,var(--rd-text,#111827) 4%,transparent);transition:color .15s;pointer-events:none}
.rd-doorcard:hover .rd-doorcard__ghost{color:color-mix(in srgb,var(--rd-accent,#f59e0b) 10%,transparent)}
.rd-doorcard__eb{font-size:11px;letter-spacing:.15em;color:var(--rd-muted,#6b7280)}
.rd-doorcard__eb b{font-weight:400;color:var(--rd-accent,#f59e0b)}
.rd-doorcard h3{font-size:1.5rem;margin:16px 0 0}
.rd-doorcard__desc{color:var(--rd-muted,#6b7280);line-height:1.6;margin:12px 0 0}
.rd-doorcard ul{list-style:none;margin:24px 0 0;padding:0;display:grid;gap:8px}
.rd-doorcard ul li{display:flex;align-items:baseline;gap:8px;font-size:.875rem;color:var(--rd-muted,#6b7280)}
.rd-doorcard ul li::before{content:'\25B8';color:var(--rd-accent,#f59e0b);font-size:.75rem}
.rd-doorcard__link{margin-top:auto;padding-top:32px;font-size:.875rem;font-weight:600;color:var(--rd-accent,#f59e0b);text-decoration:none;align-self:flex-start;transition:transform .15s}
.rd-doorcard:hover .rd-doorcard__link{transform:translateX(4px)}
/* Ladder rows: number | name | description in one hoverable rail per row. */
.rd-ladder{list-style:none;margin:0;padding:0;display:grid;gap:16px}
.rd-ladder>li{display:grid;gap:24px;background:var(--rd-surface,#f4f5f7);border:1px solid var(--rd-border,#e5e7eb);border-radius:20px;padding:32px;transition:border-color .15s}
@media(min-width:1024px){.rd-ladder>li{grid-template-columns:auto .9fr 1.6fr;align-items:center}}
.rd-ladder>li:hover{border-color:color-mix(in srgb,var(--rd-accent,#f59e0b) 50%,transparent)}
.rd-ladder__ghost{font-family:var(--rd-font-heading,system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif);font-size:48px;font-weight:800;line-height:1;color:color-mix(in srgb,var(--rd-text,#111827) 10%,transparent);transition:color .15s}
.rd-ladder>li:hover .rd-ladder__ghost{color:color-mix(in srgb,var(--rd-accent,#f59e0b) 25%,transparent)}
.rd-ladder__eb{font-size:11px;letter-spacing:.15em;color:var(--rd-accent,#f59e0b)}
.rd-ladder h3{font-size:1.5rem;margin:8px 0 0}
.rd-ladder__desc{color:var(--rd-muted,#6b7280);line-height:1.6;margin:0}
.rd-ladder__link{display:inline-block;margin-top:16px;font-size:.875rem;font-weight:600;color:var(--rd-accent,#f59e0b);text-decoration:none}
.rd-section--waves{position:relative;overflow:hidden;isolation:isolate}
.rd-section--waves::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:currentColor;opacity:.06;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='14'%3E%3Cpath d='M0 7 Q 20 1 40 7 T 80 7' fill='none' stroke='%23fff' stroke-width='1'/%3E%3C/svg%3E"),linear-gradient(to bottom,transparent 0,#000 18%,#000 82%,transparent 100%);mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='14'%3E%3Cpath d='M0 7 Q 20 1 40 7 T 80 7' fill='none' stroke='%23fff' stroke-width='1'/%3E%3C/svg%3E"),linear-gradient(to bottom,transparent 0,#000 18%,#000 82%,transparent 100%);-webkit-mask-repeat:repeat,no-repeat;mask-repeat:repeat,no-repeat;-webkit-mask-size:80px 14px,100% 100%;mask-size:80px 14px,100% 100%;-webkit-mask-composite:source-in;mask-composite:intersect}
.rd-align-center{text-align:center}
.rd-columns{display:grid;gap:var(--rd-gap,32px);grid-template-columns:repeat(var(--rd-cols,2),minmax(0,1fr))}
.rd-cards{display:grid;gap:calc(var(--rd-gap,32px)*.75);grid-template-columns:repeat(var(--rd-cols,3),minmax(0,1fr))}
/* 767, not 768: an iPad in portrait is exactly 768 and should get the tablet
   layout, not the phone one. The file previously used both values - .rd-pillars
   had a rule at each - so grids stacked on tablets that other blocks treated as
   desktop. */
@media(max-width:767px){.rd-columns,.rd-cards{grid-template-columns:1fr}}
/* Grid items stretch by default, which makes position:sticky a no-op — the
   item is already as tall as the row. align-self:start is what lets it pin. */
.rd-columns--sticky-first>:first-child{position:sticky;top:var(--rd-sticky-top,96px);align-self:start}
@media(max-width:767px){.rd-columns--sticky-first>:first-child{position:static}}
@media(prefers-reduced-motion:reduce){.rd-columns--sticky-first>:first-child{position:static}}
.rd-btn{display:inline-block;padding:12px 22px;border-radius:var(--rd-radius,10px);font-weight:600;text-decoration:none;border:2px solid transparent;font-size:1rem;line-height:1.2}
.rd-btn--primary{background:var(--rd-primary,#1d4ed8);color:var(--rd-primary-contrast,#ffffff)}
.rd-btn--accent{background:var(--rd-accent,#f59e0b);color:#111}
.rd-btn--outline{border-color:currentColor;color:inherit}
.rd-btn-row{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}
.rd-btn-row--center{justify-content:center}
.rd-eyebrow{color:var(--rd-accent,#f59e0b);font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:.875rem}
.rd-hero{padding-block:96px}
.rd-hero__title{font-size:clamp(2.2rem,5vw,3.4rem);margin:14px 0 18px}
.rd-hero__sub{font-size:1.25rem;opacity:.85;max-width:640px}
.rd-align-center .rd-hero__sub{margin-inline:auto}
.rd-heading--xl{font-size:clamp(2rem,4vw,2.8rem)}
.rd-heading--lg{font-size:clamp(1.6rem,3vw,2.1rem)}
.rd-heading--md{font-size:1.35rem}
.rd-text{white-space:pre-line;max-width:70ch}
.rd-text--muted{color:var(--rd-muted,#6b7280)}
.rd-section--primary .rd-text--muted,.rd-section--dark .rd-text--muted{color:inherit;opacity:.75}
.rd-text--lg{font-size:1.2rem}
.rd-align-center .rd-text,.rd-text.rd-align-center{margin-inline:auto}
.rd-card{background:var(--rd-surface,#f4f5f7);border:1px solid var(--rd-border,#e5e7eb);border-radius:var(--rd-radius,10px);padding:28px}
.rd-section--surface .rd-card{background:var(--rd-background,#ffffff)}
.rd-card h3{margin-bottom:10px;font-size:1.15rem}
.rd-card__icon{display:block;margin-bottom:12px}
.rd-card__icon svg{width:24px;height:24px;fill:var(--rd-text,#111827);display:block}
.rd-card p{color:var(--rd-muted,#6b7280)}
.rd-card a{color:var(--rd-primary,#1d4ed8);font-weight:600;text-decoration:none;display:inline-block;margin-top:14px}
.rd-testimonial{border-left:4px solid var(--rd-accent,#f59e0b);padding:8px 0 8px 28px;margin:0}
.rd-testimonial p{font-size:1.3rem;font-style:italic;max-width:60ch}
.rd-testimonial footer{margin-top:16px;color:var(--rd-muted,#6b7280);font-weight:600}
.rd-faq details{border:1px solid var(--rd-border,#e5e7eb);border-radius:var(--rd-radius,10px);padding:16px 20px;margin-bottom:12px;background:var(--rd-background,#ffffff)}
.rd-faq summary{font-weight:600;cursor:pointer}
.rd-faq details p{margin-top:10px;color:var(--rd-muted,#6b7280)}
.rd-img{max-width:100%;height:auto;display:block}
.rd-img--rounded{border-radius:var(--rd-radius,10px)}
.rd-video{aspect-ratio:16/9;width:100%}
.rd-video iframe{width:100%;height:100%;border:0;border-radius:var(--rd-radius,10px)}
.rd-divider{border:0;border-top:1px solid var(--rd-border,#e5e7eb);margin-block:8px}
.rd-shell--bg-surface{background:var(--rd-surface,#f4f5f7)}
.rd-shell--bg-primary{background:var(--rd-primary,#1d4ed8);color:var(--rd-primary-contrast,#ffffff)}
.rd-shell--bg-dark{background:#0f172a;color:#f8fafc}
.rd-shell--corners-rounded{border-radius:var(--rd-radius,10px);overflow:hidden}
.rd-shell--corners-xl{border-radius:24px;overflow:hidden}
.rd-shell--shadow-sm{box-shadow:0 2px 10px rgba(0,0,0,.09)}
.rd-shell--shadow-lg{box-shadow:0 12px 40px rgba(0,0,0,.16)}
.rd-shell--border{border:1px solid var(--rd-border,#e5e7eb)}
.rd-anim-fade{animation:rdFadeIn .6s ease-out both}
@keyframes rdFadeIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion: reduce){.rd-anim-fade{animation:none}}
.rd-root :focus-visible{outline:3px solid var(--rd-accent,#f59e0b);outline-offset:2px;border-radius:2px}
.rd-faq summary:focus-visible{outline:3px solid var(--rd-accent,#f59e0b);outline-offset:2px}
.rd-faq details[open]>*:not(summary){animation:rdFaqReveal .22s ease}
@keyframes rdFaqReveal{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.rd-faq details[open]>*:not(summary){animation:none}}
.rd-btngrid{display:grid;gap:calc(var(--rd-gap,32px)*.5);grid-template-columns:repeat(var(--rd-cols,3),minmax(0,1fr))}
.rd-btngrid .rd-btn{text-align:center}
.rd-masonry{columns:var(--rd-cols,3);column-gap:var(--rd-gap,32px)}
.rd-masonry>*{break-inside:avoid;margin-bottom:var(--rd-gap,32px)}
.rd-navx{display:flex;align-items:center;gap:24px;margin-left:auto}
.rd-nav__megabtn{background:none;border:none;cursor:pointer;color:var(--rd-text,#111827);font-weight:600;font-size:1rem;font-family:inherit;display:inline-flex;align-items:center;gap:5px;padding:0;text-decoration:none}
.rd-nav__caret{display:inline-flex;align-items:center;transition:transform .2s}
.rd-nav__caret svg{width:13px;height:13px;fill:currentColor;display:block}
.rd-nav__caret--up{transform:rotate(180deg)}
.rd-nav--frosted .rd-nav__megabtn{font-weight:500;font-size:.9rem;padding:8px 16px;border-radius:999px;transition:background .15s,color .15s;color:var(--rd-text,#111827)}
.rd-nav--frosted .rd-nav__megabtn:hover{background:rgba(255,255,255,.08)}
.rd-mega{position:absolute;top:calc(100% + 10px);left:50%;width:min(var(--rd-max-width,1120px),calc(100vw - 48px));background:color-mix(in srgb,var(--rd-background,#0E0C19) 96%,transparent);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.08);border-radius:14px;opacity:0;transform:translateX(-50%) translateY(-8px);pointer-events:none;visibility:hidden;transition:opacity .2s ease,transform .2s ease,visibility .2s;z-index:120}
.rd-mega--open{opacity:1;transform:translateX(-50%);pointer-events:auto;visibility:visible}
.rd-mega::before{content:'';position:absolute;top:-38px;left:0;right:0;height:38px}
.rd-mega__inner{display:grid;grid-template-columns:250px 1fr;gap:44px;padding:30px 24px;max-width:var(--rd-max-width,1120px);margin:0 auto}
.rd-mega__tabs{display:flex;flex-direction:column;gap:2px;border-right:1px solid rgba(255,255,255,.08);padding-right:22px}
.rd-mega__tab{text-align:left;background:none;border:none;color:var(--rd-muted,#6b7280);font-family:inherit;font-size:.9rem;font-weight:500;padding:8px 16px;border-radius:999px;cursor:pointer;transition:background .12s,color .12s}
.rd-mega__tab--on{color:var(--rd-accent,#f59e0b);background:rgba(255,255,255,.05)}
.rd-mega__content{animation:rdFadeIn .18s ease both;display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.rd-mega__hub{font-family:var(--rd-font-heading,sans-serif);font-weight:700;font-size:1.15rem;color:var(--rd-text,#111827);text-decoration:none}
.rd-mega__hub:hover{color:var(--rd-accent,#f59e0b)}
.rd-mega__desc{color:var(--rd-muted,#6b7280);font-size:.9rem;margin:0}
.rd-mega__links{display:grid;grid-template-columns:1fr 1fr;gap:6px 32px;margin-top:8px;width:100%}
/* Same treatment as .rd-dd__panel a, so Services behaves like About and
   Locations on hover. The pill needs the dropdown's padding and radius to
   render, which is why the old border-bottom separators are gone. */
/* 999px, not 8px, to match what the dropdown items ACTUALLY render as. Their
   own rule says 8px, but .rd-nav--frosted .rd-nav__links a also matches them
   (they sit inside that ul) and wins on specificity, so on screen they are
   pills at 8px 16px. The mega panel renders outside that ul and never
   inherited it, which is why it looked different. Values mirrored here
   deliberately rather than inherited, since the panel is not a descendant. */
.rd-mega__links a{display:block;color:var(--rd-text,#111827);text-decoration:none;font-size:.92rem;padding:8px 16px;border-radius:999px;font-weight:500;transition:background .12s,color .12s}
.rd-mega__links a:hover{background:rgba(255,255,255,.07);color:var(--rd-accent,#f59e0b)}
.rd-mega__all{margin-top:10px;color:var(--rd-accent,#f59e0b);font-size:.85rem;font-weight:600;text-decoration:none}
.rd-mmenu{position:fixed;inset:0;z-index:400;background:var(--rd-background,#fff);display:flex;flex-direction:column;padding:14px 24px 36px;overflow-y:auto;animation:rdMenuIn .25s ease}
.rd-mmenu__bar{display:flex;align-items:center;justify-content:space-between;min-height:48px;margin-bottom:26px}
.rd-mmenu__close{background:none;border:1px solid var(--rd-border,#e5e7eb);border-radius:50%;width:38px;height:38px;color:var(--rd-text,#111827);font-size:.95rem;cursor:pointer;display:flex;align-items:center;justify-content:center}
.rd-mmenu__nav{display:flex;flex-direction:column;gap:2px}
.rd-mmenu__link{font-size:1.35rem;font-weight:600;color:var(--rd-text,#111827);text-decoration:none;padding:8px 0;font-family:var(--rd-font-heading,sans-serif);display:block}
.rd-mmenu__group{display:flex;flex-direction:column;gap:0;margin:0 0 10px;padding-left:16px;border-left:1px solid var(--rd-border,#e5e7eb)}
.rd-mmenu__row{display:flex;align-items:center;justify-content:space-between;gap:12px}
.rd-mmenu__expand{background:none;border:1px solid var(--rd-border,#e5e7eb);border-radius:50%;width:32px;height:32px;color:var(--rd-text,#111827);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.9rem;line-height:1;transition:transform .2s;flex-shrink:0}
.rd-mmenu__expand--open{transform:rotate(180deg)}
.rd-mmenu__sub{text-decoration:none;padding:7px 0;display:block}
.rd-mmenu__sub b{display:block;color:var(--rd-text,#111827);font-size:1rem;font-weight:600}
.rd-mmenu__sub small{display:block;color:var(--rd-muted,#6b7280);font-size:.8rem;margin-top:1px}
.rd-mmenu>.rd-mmenu__item:last-child{margin-top:auto;padding-top:26px}
.rd-mmenu__cta{display:block;text-align:center;padding:14px 24px;font-size:1rem}
.rd-mmenu__item{opacity:0;transform:translateY(16px);animation:rdMenuItem .45s cubic-bezier(.22,.61,.36,1) forwards}
@keyframes rdMenuIn{from{opacity:0}to{opacity:1}}
@keyframes rdMenuItem{to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.rd-mmenu,.rd-mmenu__item{animation:none;opacity:1;transform:none}}
.rd-nav{background:var(--rd-background,#ffffff);border-bottom:1px solid var(--rd-border,#e5e7eb)}
.rd-nav__inner{display:flex;align-items:center;gap:28px;padding-block:14px}
.rd-nav__brand{font-family:var(--rd-font-heading,system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif);font-weight:800;font-size:1.25rem;color:var(--rd-text,#111827);text-decoration:none;display:inline-flex;align-items:center}
.rd-nav__logo{display:block;width:auto;max-width:100%}
.rd-nav__desktop{margin-left:auto}
.rd-nav__links{display:flex;gap:24px;list-style:none;margin:0;padding:0;align-items:center}
.rd-nav__links li{display:flex;align-items:center}
.rd-nav__links a{display:inline-flex;align-items:center;gap:5px}
.rd-nav__links a{color:var(--rd-text,#111827);text-decoration:none;font-weight:600}
.rd-nav__links a:hover{color:var(--rd-primary,#1d4ed8)}
.rd-nav__cta{padding:9px 18px}
.rd-nav__mobile{display:none;margin-left:auto;position:relative}
.rd-nav__phone{display:flex;align-items:center;color:var(--rd-text,#111827)}
.rd-nav__phone svg{width:24px;height:24px;fill:currentColor;display:block}
.rd-nav__burger{cursor:pointer;padding:0;border:none;background:none;display:flex;align-items:center;color:var(--rd-text,#111827)}
.rd-nav__burger svg{width:24px;height:24px;fill:currentColor;display:block}
.rd-nav__mobile[open] .rd-nav__burger{background:var(--rd-surface,#f4f5f7)}
.rd-nav__mobile nav{position:absolute;right:0;top:calc(100% + 8px);background:var(--rd-background,#ffffff);border:1px solid var(--rd-border,#e5e7eb);border-radius:var(--rd-radius,10px);box-shadow:0 12px 40px rgba(0,0,0,.14);min-width:220px;z-index:50}
.rd-nav__mobile li a{display:block;padding:10px 14px;color:var(--rd-text,#111827);text-decoration:none;font-weight:600;border-radius:6px}
.rd-nav__mobile li a:hover{background:var(--rd-surface,#f4f5f7)}
.rd-btn--light{background:#fff;color:#0d0d0d}
.rd-btn--light:hover{background:#e8e8e8}
.rd-nav--frosted{position:fixed;top:0;left:0;right:0;z-index:100;background:transparent;border-bottom:1px solid transparent;transition:transform .3s ease,background .25s ease,border-color .25s ease}
.rd-nav--frosted.rd-nav--scrolled{background:var(--rd-background,#ffffff);border-bottom-color:rgba(255,255,255,.08)}
.rd-nav--hidden{transform:translateY(-100%)}
.rd-nav--frosted .rd-nav__inner{padding-block:12px}
.rd-nav--frosted .rd-nav__links{gap:4px}
.rd-nav--frosted .rd-nav__links a{font-weight:500;font-size:.9rem;padding:8px 16px;border-radius:999px;transition:background .15s,color .15s}
.rd-nav--frosted .rd-nav__links a:hover{background:rgba(255,255,255,.08);color:var(--rd-text,#111827)}
.rd-nav--frosted .rd-nav__cta{border-radius:999px;padding:10px 24px;font-weight:600;font-size:.9rem}
/* padding-top matches the spacious section that sits above it (168px), so the
   gap into the footer reads as one rhythm rather than a seam. */
.rd-footer.rd-footer--showcase{background:transparent;padding-block:96px 20px}
.rd-fcard{background:var(--rd-primary,#1d4ed8);border-radius:28px;padding:56px 48px;color:#fff}
/* minmax(0,...) not bare fr: a bare fr keeps an automatic auto minimum, so the
   feature cards' min-content pushes this grid wider than the card that holds it
   and the whole column overflows the viewport. (No backticks in this file's
   comments — baseCss is a template literal and they would close it.) */
.rd-fcard__top{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:48px;margin-bottom:48px;align-items:start}
/* The two halves stack before they get cramped. The mobile block below starts at
   767px, which left 768-1023 running the desktop split in roughly half the room. */
@media(max-width:900px){.rd-fcard__top{grid-template-columns:minmax(0,1fr);gap:32px}}
.rd-fcard__heading{font-family:var(--rd-font-heading,system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif);font-size:clamp(2rem,4vw,2.8rem);font-weight:800;color:#fff;margin-bottom:14px;line-height:1.05}
.rd-fcard__email{display:block;color:#fff;font-size:1.05rem;text-decoration:none;margin-bottom:8px}
.rd-fcard__email:hover{text-decoration:underline}
.rd-fcard__book{color:#fff;text-decoration:underline;font-size:.95rem}
.rd-fcard__features{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.rd-fcard__feature{background:#fff;border-radius:12px;padding:16px 18px;display:flex;gap:12px;text-decoration:none;color:#0d0d0d;align-items:flex-start;transition:transform .15s}
.rd-fcard__feature:hover{transform:translateY(-2px)}
.rd-fcard__feature b{display:block;font-size:.95rem;line-height:1.3}
.rd-fcard__feature small{display:block;font-size:.78rem;color:#555;line-height:1.45;margin-top:3px}
.rd-fcard__icon{font-size:1.25rem;line-height:1.2}
.rd-fcard__grid{display:flex;justify-content:space-between;align-items:flex-end;gap:40px}
.rd-fcard__grid .rd-footer__cols{flex:0 1 auto;display:grid;grid-template-columns:repeat(3,minmax(130px,180px));gap:36px;justify-content:start}
.rd-fcard__socials{display:flex;gap:12px;flex-shrink:0}
.rd-fcard__soc{display:flex;align-items:center;justify-content:center;color:#fff;transition:opacity .15s,transform .15s}
.rd-fcard__soc:hover{opacity:.7;transform:translateY(-2px)}
.rd-fcard__soc svg{width:24px;height:24px;fill:currentColor;display:block}
/* Below 900px the link columns and the socials stop fitting on one row: three
   columns at their 130px floor plus the gap plus the icon strip exceeds the
   card's inner width, and neither side can shrink (socials are flex-shrink:0,
   the columns are already at their minimum). Let the row wrap so the icons drop
   underneath instead of running past the card's padding. The stacking rule below
   only started at 767px, which left 768-900 overflowing. */
@media(max-width:900px){
  .rd-fcard__grid{flex-wrap:wrap;align-items:flex-start;gap:30px}
  .rd-fcard__grid .rd-footer__cols{flex:1 1 100%;grid-template-columns:repeat(3,minmax(0,1fr))}
  .rd-fcard__socials{flex-basis:100%}
}
.rd-fcard__mark{width:150px;height:auto;display:block;flex-shrink:0}
.rd-fcard__say{display:flex;align-items:center;gap:34px}
.rd-fcard__featlabel{color:#fff;font-weight:600;font-size:1rem;margin-bottom:14px}
.rd-fcard__features{grid-auto-rows:1fr}
.rd-fcard__icon svg{width:22px;height:22px;fill:var(--rd-primary,#1d4ed8);display:block}
.rd-reveal{opacity:0;transform:translateY(56px) scale(.98);transition:opacity .7s ease,transform .8s cubic-bezier(.22,.61,.36,1)}
.rd-reveal--in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.rd-reveal{opacity:1;transform:none;transition:none}}
.rd-fcard .rd-footer__heading{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.8)}
.rd-footer .rd-fcard li a{color:rgba(255,255,255,.92)}
.rd-footer .rd-fcard li a:hover{color:#fff;text-decoration:underline}
.rd-footer__giant{font-family:var(--rd-font-heading,system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif);font-weight:800;font-size:clamp(2.6rem,11.5vw,10.5rem);line-height:.95;letter-spacing:-.03em;color:var(--rd-primary,#1d4ed8);text-align:center;white-space:nowrap;margin:36px 0 4px;user-select:none}
.rd-footer__giant img{display:block;width:100%;height:auto}
.rd-footer--showcase .rd-footer__giant{position:sticky;bottom:-1px;z-index:1;margin-bottom:0}
.rd-footer--showcase .rd-fcard{position:relative;z-index:2}
@media(prefers-reduced-motion:reduce){.rd-footer--showcase .rd-footer__giant{position:static}}
.rd-fcard__bottom{display:flex;align-items:center;justify-content:flex-end;gap:16px;margin-top:32px}
.rd-fcard__prompt{color:rgba(255,255,255,.85);font-size:.95rem}
.rd-fcard__bookbtn{background:#fff;color:#0d0d0d;border-radius:999px;padding:11px 24px;font-weight:600;font-size:.9rem;text-decoration:none;transition:transform .15s}
.rd-fcard__bookbtn:hover{transform:translateY(-2px)}
.rd-footer__addr{text-align:center;color:#94a3b8;font-size:.8rem;letter-spacing:.03em;margin-top:20px;line-height:1.8}
.rd-footer__addrlink{color:inherit;text-decoration:none;border-bottom:1px solid rgba(148,163,184,.35)}
.rd-footer__addrlink:hover{color:#fff;border-bottom-color:currentColor}
.rd-footer__addrsep{opacity:.55}
.rd-footer--showcase .rd-footer__note,.rd-footer--showcase .rd-footer__legal{text-align:center;max-width:none}
.rd-footer:not(.rd-footer--showcase) .rd-footer__policies{justify-content:flex-start;text-align:left}
/* Policy row: its own line under the address, above the copyright rule. Wraps
   rather than scrolls on narrow screens — four link labels do not fit 320px. */
.rd-footer__policies{text-align:center;margin-top:12px;font-size:12px;color:#94a3b8;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:0}
.rd-footer__legalsep{opacity:.55;margin:0 9px}
.rd-footer__legallink{color:inherit;text-decoration:none;border-bottom:1px solid rgba(148,163,184,.3)}
.rd-footer__legallink:hover{color:#fff;border-bottom-color:currentColor}
/* The note is measured off the giant wordmark, not the container, so the two
   read as one centred block. Both sides take the width from the same variable
   — change it once and they stay aligned. (The 11M site's custom CSS pins the
   wordmark image to 80% independently; the default here matches it.) */
.rd-footer--showcase{--rd-footer-giant-w:80%}
.rd-footer--showcase .rd-footer__giant img{width:var(--rd-footer-giant-w);margin-inline:auto}
.rd-footer--showcase .rd-footer__note{width:var(--rd-footer-giant-w);margin-inline:auto}
.rd-stack{position:relative}
.rd-stack__runway{height:34vh}
.rd-stack__card{position:sticky;display:grid;grid-template-columns:1fr 1.25fr;background:var(--rd-background,#ffffff);border:1px solid var(--rd-border,#e5e7eb);border-radius:14px;overflow:hidden;margin-bottom:24px;box-shadow:0 -12px 44px rgba(0,0,0,.5)}
.rd-stack__card:last-child{margin-bottom:0}
.rd-stack__left{padding:34px 32px;border-right:1px solid var(--rd-border,#e5e7eb);display:flex;flex-direction:column;justify-content:space-between;gap:28px;background:linear-gradient(160deg,var(--rd-surface,#f4f5f7) 0%,var(--rd-background,#ffffff) 100%)}
.rd-stack__right{padding:34px 32px;display:flex;flex-direction:column;justify-content:center;gap:12px}
.rd-stack__client{font-weight:600;font-size:1.05rem;color:var(--rd-text,#111827)}
.rd-stack__meta{font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--rd-muted,#6b7280);margin-top:4px}
.rd-stack__services{font-size:.75rem;color:var(--rd-muted,#6b7280);font-style:italic;margin-top:6px}
.rd-stack__big{font-family:var(--rd-font-heading,system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif);font-weight:800;font-size:4rem;line-height:1;letter-spacing:-.02em}
.rd-stack__hl{font-size:.95rem;margin-top:6px;color:var(--rd-text,#111827)}
.rd-stack__hlsub{font-size:.75rem;color:var(--rd-muted,#6b7280);margin-top:2px}
.rd-stack__stats{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.rd-stack__stat{background:var(--rd-surface,#f4f5f7);border:1px solid var(--rd-border,#e5e7eb);border-radius:8px;padding:10px;text-align:center}
.rd-stack__stat b{font-family:var(--rd-font-heading,system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif);font-weight:800;font-size:1.25rem;display:block;color:var(--rd-text,#111827)}
.rd-stack__stat span{font-size:.62rem;color:var(--rd-muted,#6b7280);text-transform:uppercase;letter-spacing:.04em;display:block;margin-top:3px;line-height:1.4}
.rd-stack__stat small{font-size:.6rem;color:var(--rd-muted,#6b7280);display:block;margin-top:2px}
.rd-stack__ai{background:rgba(0,255,255,.06);border:1px solid rgba(0,255,255,.18);border-radius:8px;padding:9px 12px;font-size:.75rem;color:var(--rd-c-cyan,#00FFFF);letter-spacing:.04em}
.rd-stack__context{background:rgba(32,47,255,.08);border:1px solid rgba(32,47,255,.18);border-radius:8px;padding:9px 12px;font-size:.75rem;color:var(--rd-muted,#6b7280);line-height:1.55}
@media(max-width:820px){.rd-stack__runway{display:none}.rd-stack__card{grid-template-columns:1fr;position:relative;top:auto!important}.rd-stack__left{border-right:none;border-bottom:1px solid var(--rd-border,#e5e7eb)}}
@media(prefers-reduced-motion:reduce){.rd-stack__runway{display:none}.rd-stack__card{position:relative;top:auto!important}}
.rd-qslider{max-width:820px}
.rd-qslider__quote{font-size:1.35rem;line-height:1.5;color:var(--rd-text,#111827);max-width:46ch;min-height:150px;margin:0;transition:opacity .22s ease}
.rd-qslider__quote--fade{opacity:0}
.rd-qslider__meta{transition:opacity .22s ease}
.rd-qslider__footer{display:flex;align-items:center;justify-content:flex-end;gap:14px;margin-top:20px}
.rd-qslider__pill{display:inline-flex;align-items:center;gap:9px;background:#fff;color:#0d0d0d;border-radius:999px;padding:4px 15px 4px 4px;font-size:.8rem;font-weight:600;white-space:nowrap}
.rd-qslider__avatar{width:26px;height:26px;border-radius:50%;background:var(--rd-primary,#1d4ed8);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:700}
.rd-qslider__nav{display:inline-flex;gap:8px}
.rd-qslider__btn{width:30px;height:30px;border-radius:50%;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.08);color:var(--rd-text,#111827);cursor:pointer;font-size:1rem;line-height:1;display:flex;align-items:center;justify-content:center;padding:0;transition:background .15s}
.rd-qslider__btn:hover{background:rgba(255,255,255,.2)}
@media(prefers-reduced-motion:reduce){.rd-qslider__quote,.rd-qslider__meta{transition:none}}
@media(max-width:767px){.rd-qslider__quote{font-size:1.15rem;min-height:0}}
.rd-workgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.rd-workcard{display:flex;flex-direction:column;background:#26232D;border:1px solid var(--rd-border,#e5e7eb);border-radius:14px;overflow:hidden;text-decoration:none;color:var(--rd-text,#111827);transition:transform .15s,background .15s}
.rd-workcard:hover{transform:translateY(-2px)}
.rd-workcard__media{aspect-ratio:4/3;background:linear-gradient(150deg,rgba(32,47,255,.30) 0%,rgba(14,12,25,.92) 75%);display:flex;align-items:center;justify-content:center}
.rd-workcard__media span{font-family:var(--rd-font-heading,system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif);font-weight:800;font-size:1.2rem;opacity:.65}
.rd-workcard__body{padding:20px 22px 24px}
.rd-workcard__cat{font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--rd-accent,#f59e0b)}
.rd-workcard__body h2,.rd-workcard__body h3{font-size:1.1rem;margin:8px 0 8px}
.rd-workcard__body p{color:var(--rd-muted,#6b7280);font-size:.88rem;line-height:1.6}
.rd-workhero{display:grid;grid-template-columns:1.4fr .8fr;gap:48px;align-items:start;margin-bottom:36px}
.rd-workchips{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.rd-workchip{font-size:.72rem;letter-spacing:.05em;padding:5px 12px;border-radius:999px;border:1px solid var(--rd-border,#e5e7eb);color:var(--rd-muted,#6b7280)}
/* Work teaser. Multi-column (not grid) so cards of unequal height interlock
   into a masonry wall; images keep their natural ratio to drive that stagger.
   Card internals are spans, not divs — the whole card is one <a>, and a block
   element inside an inline-level anchor is invalid HTML that browsers reflow. */
.rd-wteaser__head{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:36px}
.rd-wteaser__h{font-size:clamp(1.9rem,3.4vw,2.9rem);margin-top:10px}
.rd-root .rd-wteaser__intro{color:var(--rd-muted,#6b7280);margin-top:14px;max-width:52ch;line-height:1.65}
.rd-wteaser__all{white-space:nowrap;text-decoration:none;color:var(--rd-text,#111827);border-bottom:1px solid var(--rd-border,#e5e7eb);padding-bottom:3px;font-size:.95rem}
.rd-wteaser__all:hover{border-bottom-color:var(--rd-primary,#1d4ed8)}
.rd-wteaser__grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}
.rd-wteaser__col{display:flex;flex-direction:column;gap:24px;min-width:0}
/* Desktop-only stagger: drop the right column so the two sides never line up
   into rows. Removed below 820px, where the columns collapse to one and the
   offset would just be dead space above the second half. */
.rd-wteaser__col:nth-child(2){margin-top:88px}
.rd-wteaser__card{display:block;background:var(--rd-surface,#f4f5f7);border:1px solid var(--rd-border,#e5e7eb);border-radius:14px;overflow:hidden;text-decoration:none;color:var(--rd-text,#111827);transition:transform .15s,border-color .15s}
.rd-wteaser__card:hover{transform:translateY(-2px);border-color:var(--rd-primary,#1d4ed8)}
.rd-wteaser__media{display:block}
.rd-wteaser__media img{display:block;width:100%;height:auto}
/* Cropped shapes anchor to the top: a website capture loses nothing that
   matters off the bottom, but centre-cropping throws away the header. */
.rd-wteaser__media--wide img,.rd-wteaser__media--tall img,.rd-wteaser__media--square img{height:100%;object-fit:cover;object-position:top}
.rd-wteaser__media--wide img{aspect-ratio:16/9}
.rd-wteaser__media--tall img{aspect-ratio:4/5}
.rd-wteaser__media--square img{aspect-ratio:1/1}
.rd-wteaser__body{display:block;padding:22px 24px 26px}
.rd-wteaser__title{display:block;font-family:var(--rd-font-heading,system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif);font-weight:700;font-size:1.15rem}
/* Clamped to two lines so every card is the same height. Without this a blurb
   that wraps to three lines makes one card taller than the rest and the grid
   stops reading as a set. Keep blurbs short enough that nothing is truncated —
   the clamp is a floor under the layout, not a licence to overwrite. */
.rd-wteaser__blurb{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:var(--rd-muted,#6b7280);font-size:.9rem;line-height:1.6;margin-top:8px;min-height:2.88em}
.rd-wteaser__tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.rd-wteaser__tag{font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--rd-muted,#6b7280);border:1px solid var(--rd-border,#e5e7eb);border-radius:999px;padding:4px 11px}
@media(max-width:820px){.rd-wteaser__grid{grid-template-columns:1fr}.rd-wteaser__col:nth-child(2){margin-top:0}.rd-wteaser__head{flex-direction:column;align-items:flex-start;gap:20px}}
@media(prefers-reduced-motion:reduce){.rd-wteaser__card{transition:none}.rd-wteaser__card:hover{transform:none}}
.rd-workmeta{background:#26232D;border:1px solid var(--rd-border,#e5e7eb);border-radius:14px;padding:26px 26px 10px}
.rd-workmeta__row{display:flex;justify-content:space-between;gap:18px;padding-bottom:16px;margin-bottom:16px;border-bottom:1px solid var(--rd-border,#e5e7eb)}
.rd-workmeta__row:last-child{border-bottom:none}
.rd-workmeta__row span{font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--rd-muted,#6b7280);padding-top:2px}
.rd-workmeta__row b{font-size:.9rem;font-weight:600;text-align:right}
.rd-workph{border-radius:14px;border:1px solid var(--rd-border,#e5e7eb);aspect-ratio:16/8;display:flex;align-items:center;justify-content:center;margin:18px 0}
.rd-workph span{font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--rd-muted,#6b7280);opacity:.7}
.rd-worksection{margin-top:56px}
.rd-worksection h2{margin-bottom:14px}
.rd-worksection p{max-width:70ch;margin-bottom:10px}
.rd-workmore{margin-top:72px}
.rd-dd{position:relative}
.rd-dd__panel{position:absolute;top:calc(100% + 10px);left:50%;transform:translateX(-50%) translateY(-6px);min-width:230px;background:color-mix(in srgb,var(--rd-background,#0E0C19) 96%,transparent);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:10px;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .18s,transform .18s,visibility .18s;z-index:120}
.rd-dd--open .rd-dd__panel{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%)}
.rd-dd__panel::before{content:'';position:absolute;top:-12px;left:0;right:0;height:12px}
.rd-dd__panel a{display:block;padding:9px 14px;border-radius:8px;color:var(--rd-text,#111827);text-decoration:none;font-size:.9rem;font-weight:500}
.rd-dd__panel a:hover{background:rgba(255,255,255,.07);color:var(--rd-accent,#f59e0b)}
@media(max-width:820px){.rd-workgrid{grid-template-columns:1fr}.rd-workhero{grid-template-columns:1fr;gap:28px}}
.rd-prail{display:grid;grid-template-columns:1fr;border-top:1px solid var(--rd-border,#e5e7eb);border-bottom:1px solid var(--rd-border,#e5e7eb)}
.rd-prail__step{display:flex;flex-direction:column;gap:12px;padding:32px 24px;position:relative;transition:background .3s;border-bottom:1px solid var(--rd-border,#e5e7eb)}
.rd-prail__step:last-child{border-bottom:0}
.rd-prail__step:hover{background:#26232D}
.rd-prail__num{font-size:12px;font-weight:700;letter-spacing:.2em;color:var(--rd-accent,#f59e0b)}
.rd-prail__title{font-size:1.25rem;font-weight:600;margin:0}
.rd-prail__body{color:var(--rd-muted,#6b7280);font-size:.95rem;line-height:1.55;margin:0}
@media(min-width:640px) and (max-width:1023px){.rd-prail{grid-template-columns:1fr 1fr}.rd-prail__step:nth-child(odd){border-right:1px solid var(--rd-border,#e5e7eb)}}
@media(min-width:1024px){.rd-prail{grid-template-columns:repeat(var(--rd-prail-n,5),1fr)}.rd-prail__step{border-bottom:0;border-right:1px solid var(--rd-border,#e5e7eb)}.rd-prail__step:last-child{border-right:0}}
.rd-carousel{position:relative}
.rd-carousel__track{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-ms-overflow-style:none;padding:4px}
.rd-carousel__track::-webkit-scrollbar{display:none}
.rd-carousel__track:focus-visible{outline:3px solid var(--rd-accent,#f59e0b);outline-offset:2px;border-radius:8px}
.rd-ccard{flex:0 0 calc((100% - (var(--rd-carousel-per,2) - 1)*20px)/var(--rd-carousel-per,2));scroll-snap-align:start;background:var(--rd-surface,#f4f5f7);border:1px solid var(--rd-border,#e5e7eb);border-radius:14px;padding:28px 24px;margin:0;display:flex;flex-direction:column}
.rd-ccard__stars{color:var(--rd-accent,#f59e0b);letter-spacing:3px;font-size:.85rem;margin-bottom:14px}
.rd-ccard__quote{font-style:italic;color:var(--rd-muted,#6b7280);line-height:1.7;font-size:.95rem;margin:0 0 18px;flex:1}
.rd-ccard__author{display:block;font-weight:600;font-size:.9rem;color:var(--rd-text,#111827)}
.rd-ccard__role{display:block;font-size:.75rem;color:var(--rd-muted,#6b7280);text-transform:uppercase;letter-spacing:.06em;margin-top:2px}
.rd-ccard__tag{display:inline-block;font-size:.72rem;color:var(--rd-primary,#1d4ed8);letter-spacing:.06em;margin-top:6px}
.rd-carousel__nav{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:22px}
.rd-carousel__btn{width:38px;height:38px;border-radius:50%;border:1px solid var(--rd-border,#e5e7eb);background:transparent;color:var(--rd-text,#111827);cursor:pointer;font-size:1rem;transition:background .15s,border-color .15s}
.rd-carousel__btn:hover:not(:disabled){background:var(--rd-surface,#f4f5f7);border-color:var(--rd-accent,#f59e0b)}
.rd-carousel__btn:disabled{opacity:.35;cursor:default}
.rd-carousel__dots{display:flex;gap:8px}
.rd-carousel__dot{width:8px;height:8px;border-radius:50%;border:none;padding:0;background:var(--rd-border,#e5e7eb);cursor:pointer;transition:background .15s,transform .15s}
.rd-carousel__dot--on{background:var(--rd-accent,#f59e0b);transform:scale(1.25)}
.rd-footer{background:#0f172a;color:#e2e8f0;padding-block:56px;margin-top:auto}
.rd-footer__cols{display:grid;gap:40px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
.rd-footer__heading{font-weight:700;margin-bottom:12px;color:#fff}
.rd-footer ul{list-style:none;margin:0;padding:0}
.rd-footer li a{color:#cbd5e1;text-decoration:none;line-height:2}
.rd-footer li a:hover{color:#fff}
.rd-footer__note{margin-top:28px;color:#94a3b8;max-width:60ch;font-size:14px}
.rd-footer__legal{margin-top:28px;padding-top:20px;border-top:1px solid rgba(255,255,255,.14);color:#94a3b8;font-size:.875rem}
@media(max-width:767px){
.rd-hide-mobile{display:none!important}
.rd-m-align-left{text-align:left!important}
.rd-m-align-center{text-align:center!important}
.rd-m-pad-none{padding-block:0!important}
.rd-m-pad-sm{padding-block:16px!important}
.rd-m-pad-md{padding-block:40px!important}
.rd-masonry{columns:1}
.rd-btngrid{grid-template-columns:1fr}
.rd-nav__desktop,.rd-nav__cta{display:none}
.rd-nav__mobile{display:block}
.rd-mega{display:none}
.rd-fcard{padding:36px 24px;border-radius:20px}
.rd-fcard__top{grid-template-columns:1fr;gap:28px}
.rd-fcard__features{grid-template-columns:1fr}
.rd-fcard__grid{flex-direction:column;align-items:flex-start}
.rd-fcard__grid .rd-footer__cols{grid-template-columns:1fr 1fr;width:100%}
.rd-fcard__say{flex-direction:column;align-items:flex-start;gap:20px}
.rd-fcard__mark{width:110px}
.rd-ccard{flex-basis:100%}
}
@media(min-width:768px) and (max-width:1023px){.rd-hide-tablet{display:none!important}}
@media(max-width:1023px){.rd-nav__desktop,.rd-nav__cta{display:none}.rd-nav__mobile{display:flex;align-items:center;gap:24px}.rd-mega{display:none}}
@media(min-width:1024px){.rd-hide-desktop{display:none!important}}
.rd-trustbar{padding-block:18px;border-block:1px solid var(--rd-border,#e5e7eb)}
.rd-trustbar__inner{display:flex;flex-wrap:wrap;gap:12px 36px;justify-content:center;align-items:center}
.rd-trustbar__item{font-size:.85rem;color:var(--rd-muted,#6b7280);font-weight:600;letter-spacing:.04em}
.rd-trustbar__item svg{width:15px;height:15px;fill:currentColor;display:inline-block;vertical-align:-2px;margin-right:8px}
.rd-trustbar--marquee{overflow:hidden;padding-block:0;border:none;mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
.rd-trustbar__fade{overflow:hidden}
.rd-trustbar__track{display:flex;width:max-content;animation:rdTrustScroll 38s linear infinite}
.rd-trustbar__track:hover{animation-play-state:paused}
.rd-trustbar__list{display:flex;align-items:center}
.rd-trustbar--marquee .rd-trustbar__item{white-space:nowrap;padding:14px 28px;border-right:1px solid rgba(255,255,255,.25)}
@keyframes rdTrustScroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.rd-trustbar__track{animation:none;width:100%;flex-wrap:wrap;justify-content:center}.rd-trustbar__track [aria-hidden]{display:none}}
.rd-statgrid{display:grid;gap:20px;grid-template-columns:repeat(var(--rd-cols,2),minmax(0,1fr))}
.rd-statgrid--boxed{background:var(--rd-surface,#f4f5f7);border:1px solid var(--rd-border,#e5e7eb);border-radius:var(--rd-radius,10px);padding:28px}
.rd-stat__value{font-family:var(--rd-font-heading,system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif);font-weight:800;line-height:1}
.rd-stat--big .rd-stat__value{font-size:clamp(2rem,4vw,2.6rem)}
.rd-stat--small .rd-stat__value{font-size:1.4rem}
.rd-stat__label{margin-top:8px;font-weight:600;font-size:.9rem}
.rd-stat__sub{color:var(--rd-muted,#6b7280);font-size:.75rem;margin-top:2px}
.rd-pillars{display:grid;gap:1px;background:var(--rd-border,#e5e7eb);border:1px solid var(--rd-border,#e5e7eb);border-radius:var(--rd-radius,10px);overflow:hidden;grid-template-columns:repeat(var(--rd-cols,3),minmax(0,1fr))}
.rd-pillar{background:var(--rd-surface,#f4f5f7);padding:32px;display:flex;flex-direction:column}
.rd-pillar--featured{box-shadow:inset 0 2px 0 var(--rd-c-cyan,var(--rd-accent,#f59e0b))}
.rd-pillar__top{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.rd-pillar__number{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--rd-muted,#6b7280)}
.rd-pillar__badge{font-size:.7rem;color:var(--rd-c-cyan,var(--rd-accent,#f59e0b));letter-spacing:.08em}
.rd-pillar h3{font-size:1.15rem;margin-bottom:10px}
.rd-pillar p{color:var(--rd-muted,#6b7280);font-size:.95rem}
.rd-pillar__items{list-style:none;margin:14px 0 0;padding:0;font-size:.85rem;color:var(--rd-muted,#6b7280)}
.rd-pillar__items li{padding-block:4px;border-top:1px solid var(--rd-border,#e5e7eb)}
@media(max-width:767px){.rd-pillars{grid-template-columns:1fr}.rd-pillar{grid-column:auto!important}}
.rd-pillar__link{display:inline-block;margin-top:auto;padding-top:16px;color:var(--rd-primary,#1d4ed8);font-weight:600;text-decoration:none;font-size:.9rem}
.rd-pillar--featured .rd-pillar__link{color:var(--rd-c-cyan,var(--rd-primary,#1d4ed8))}
.rd-logostrip__heading{text-align:center;color:var(--rd-muted,#6b7280);font-size:.85rem;letter-spacing:.1em;text-transform:uppercase;margin-bottom:18px}
.rd-logostrip__row{display:flex;flex-wrap:wrap;gap:14px 40px;justify-content:center}
.rd-logostrip__name{font-family:var(--rd-font-heading,system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif);font-weight:700;font-size:1.05rem;color:var(--rd-muted,#6b7280);opacity:.85}
.rd-logostrip__mask{overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.rd-logostrip__track{display:flex;width:max-content;animation:rdTrustScroll 30s linear infinite}
.rd-logostrip__track:hover{animation-play-state:paused}
.rd-logostrip__run{display:flex;align-items:center}
.rd-logostrip--marquee .rd-logostrip__name{white-space:nowrap;padding:6px 28px}
@media(prefers-reduced-motion:reduce){.rd-logostrip__track{animation:none;width:100%;flex-wrap:wrap;justify-content:center}.rd-logostrip__track [aria-hidden]{display:none}}
@media(max-width:767px){.rd-pillars,.rd-statgrid{grid-template-columns:1fr}}
.rd-formgrid{grid-template-columns:1fr 1fr}
.rd-formgrid>*{grid-column:1/-1}
.rd-formgrid>.rd-formgrid__half{grid-column:auto}
@media(max-width:600px){.rd-formgrid>.rd-formgrid__half{grid-column:1/-1}}

/* the broadsheet: PaperSheet renders ground + framed paper page */
.np-ground{padding:clamp(12px,3vw,40px) clamp(8px,2vw,24px)}
.np-page{max-width:1240px;margin-inline:auto;background:var(--rd-surface,#f7eee5);color:var(--rd-c-ink,#1c1a17);border:1px solid #0f0e0d;box-shadow:0 18px 60px rgba(0,0,0,.55);padding:clamp(14px,2.4vw,28px) clamp(14px,2.4vw,28px) 0;font-family:var(--rd-font-body,Georgia,serif);font-size:15px;line-height:1.55}
.np-page a{color:var(--rd-c-accent-deep,#7d5411)}
/* ink-on-paper links: outrank the .np-page a default */
.np-page .np-masthead__title-wrap,.np-page .np-masthead__brand,.np-page .np-masthead__phone,.np-page .np-box__phone,.np-page .np-linklist__title,.np-page .np-headline a,.np-page .np-mbar__wordmark{color:var(--rd-c-ink,#1c1a17)}
.np-mmenu .np-mmenu__quote{color:var(--rd-c-accent-soft,#facb8d)}
.np-mmenu .np-mmenu__call{color:#141310}
.np-page .np-callbar__phone{color:#141310}
.np-hr{height:1px;border:0;margin:0;background:var(--rd-c-faint,rgba(28,26,23,.16))}
.np-label{font-family:var(--rd-font-heading,Georgia,serif);font-weight:600;font-size:13px;letter-spacing:.08em;text-transform:uppercase;margin:0 0 10px;color:var(--rd-c-ink,#1c1a17)}
.np-label--rule-heavy{border-bottom:2px solid var(--rd-c-ink,#1c1a17);padding-bottom:4px}
.np-label--rule-light{border-bottom:1px solid var(--rd-c-rule,rgba(28,26,23,.48));padding-bottom:4px}
.np-kicker{font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--rd-c-accent-deep,#7d5411)}
.np-headline{font-family:var(--rd-font-heading,Georgia,serif);font-weight:400;text-transform:uppercase;color:var(--rd-c-ink,#1c1a17);margin:4px 0 10px}
.np-headline a{color:inherit;text-decoration:none}
.np-headline a:hover{text-decoration:underline;text-underline-offset:4px}
.np-headline--lead{font-size:clamp(32px,4vw,52px);line-height:.98;letter-spacing:-.01em}
.np-headline--section{font-size:clamp(24px,2.6vw,31px);line-height:1.05}
.np-headline--card{font-size:clamp(20px,1.9vw,24px);line-height:1.08;margin:4px 0 10px}
.np-h1{font-family:var(--rd-font-heading,Georgia,serif);font-weight:400;font-size:clamp(34px,4.4vw,56px);line-height:1;text-transform:uppercase;margin:0 0 10px;color:var(--rd-c-ink,#1c1a17)}
.np-reviewed{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:color-mix(in srgb,var(--rd-c-ink,#1c1a17) 55%,transparent);margin-bottom:14px}
.np-intro{font-size:17px;line-height:1.6;margin:0;max-width:80ch}
.np-crumbs{font-size:11px;letter-spacing:.14em;text-transform:uppercase;margin-bottom:14px}
.np-crumbs a{color:var(--rd-c-accent-deep,#7d5411);text-decoration:none}
.np-crumbs a:hover{text-decoration:underline}
.np-pagehead{border-bottom:2px solid var(--rd-c-ink,#1c1a17);padding:22px 0 26px}
.np-pagehead--bare{border-bottom:0;padding-bottom:8px}
/* masthead */
.np-masthead--front .np-masthead__toprow{display:flex;justify-content:space-between;gap:12px;font-size:10px;letter-spacing:.2em;text-transform:uppercase;padding:2px 0 6px;border-bottom:1px solid var(--rd-c-rule,rgba(28,26,23,.48))}
.np-masthead__title-grid{display:grid;grid-template-columns:180px minmax(0,1fr) 180px;align-items:center;gap:18px;padding:18px 0 10px}
.np-masthead__title-art{display:block;text-decoration:none}
.np-masthead__title-art img{display:block;margin-inline:auto;width:min(440px,100%);height:auto}
.np-masthead__tagline--right{text-align:right}
.np-visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.np-masthead__tagline{font-size:11px;line-height:1.4;margin:0;font-style:italic}
.np-masthead__title-wrap{text-align:center;container-type:inline-size;text-decoration:none;color:inherit;display:block}
.np-masthead__the{display:block;font-size:11px;letter-spacing:.34em;text-transform:uppercase;margin-bottom:2px}
.np-masthead__title{font-family:var(--rd-font-heading,Georgia,serif);font-weight:400;font-size:min(76px,11.2cqw);white-space:nowrap;line-height:.9;letter-spacing:-.01em;margin:0;text-transform:uppercase}
.np-masthead__title-sub{letter-spacing:.06em}
.np-masthead__logo-cell{display:flex;justify-content:flex-end}
.np-logo{width:104px;height:104px;border-radius:50%;mix-blend-mode:multiply;display:block}
.np-logo--sm{width:44px;height:44px}
.np-masthead__folio{border-top:3px solid var(--rd-c-ink,#1c1a17);border-bottom:1px solid var(--rd-c-ink,#1c1a17);display:flex;justify-content:space-between;gap:12px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;padding:6px 2px;font-variant-numeric:tabular-nums}
.np-masthead--interior{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-bottom:14px;border-bottom:3px solid var(--rd-c-ink,#1c1a17)}
.np-masthead--interior .np-masthead__brand{display:flex;align-items:center;gap:14px;text-decoration:none;color:inherit}
.np-masthead__name{display:block;font-family:var(--rd-font-heading,Georgia,serif);font-size:clamp(20px,2.4vw,28px);text-transform:uppercase;letter-spacing:.06em;line-height:1}
.np-masthead__est{display:block;font-size:10px;letter-spacing:.18em;text-transform:uppercase;margin-top:2px}
.np-masthead__right{text-align:right}
.np-masthead__section{display:block;font-size:11px;letter-spacing:.14em;text-transform:uppercase}
.np-masthead__phone{font-family:var(--rd-font-heading,Georgia,serif);font-size:20px;color:var(--rd-c-ink,#1c1a17);text-decoration:none;font-variant-numeric:tabular-nums}
/* nav */
.np-nav{position:sticky;top:0;z-index:40;background:var(--rd-c-ink,#1c1a17);color:var(--rd-c-paper-deep,#fbf3e6);display:flex;justify-content:space-between;align-items:center;gap:clamp(4px,.75vw,18px);padding:9px;font-family:var(--rd-font-heading,Georgia,serif);font-size:clamp(9.5px,1.05vw,13px);letter-spacing:.02em;text-transform:uppercase;white-space:nowrap;overflow-x:auto}
.np-nav a{color:var(--rd-c-paper-deep,#fbf3e6);text-decoration:none;flex:none;display:inline-flex;align-items:center;gap:.42em}
.np-nav__icon{width:.95em;height:.95em;flex:none}
.np-nav a:hover{text-decoration:underline;text-underline-offset:4px}
.np-nav__cta{color:var(--rd-c-accent-soft,#facb8d)!important;border:1px solid var(--rd-c-accent-soft,#facb8d);padding:.36em .85em;margin-left:.4em}
.np-nav__cta:hover{background:color-mix(in srgb,var(--rd-c-accent-soft,#facb8d) 18%,transparent);text-decoration:none!important}
/* ticker */
.np-ticker{display:flex;align-items:stretch;border-bottom:1px solid var(--rd-c-rule,rgba(28,26,23,.48));overflow:hidden;margin-top:1px}
.np-ticker__label{flex:none;background:var(--rd-c-ink,#1c1a17);color:var(--rd-c-paper-deep,#fbf3e6);font-family:var(--rd-font-heading,Georgia,serif);font-size:12px;letter-spacing:.2em;text-transform:uppercase;padding:8px 14px;display:flex;align-items:center}
.np-ticker__track{flex:1;overflow:hidden;padding:8px 0}
.np-ticker__reel{display:flex;gap:36px;width:max-content;animation:npTick 42s linear infinite;font-size:12px;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}
@keyframes npTick{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.np-ticker__reel{animation:none}}
/* columns */
.np-cols{display:grid;grid-template-columns:var(--np-cols)}
.np-cols--gap-none{gap:0}
.np-cols--gap-normal{gap:24px}
.np-cols--gap-wide{gap:36px}
.np-cols--padded{padding:26px 0}
.np-cols--b-heavy{border-bottom:2px solid var(--rd-c-ink,#1c1a17)}
.np-cols--b-light{border-bottom:1px solid var(--rd-c-rule,rgba(28,26,23,.48))}
.np-cols--rules{gap:0}
.np-cols__col{padding-bottom:8px}
.np-cols--rules>.np-cols__col{border-right:1px solid var(--rd-c-rule,rgba(28,26,23,.48));padding:18px}
.np-cols--rules>.np-cols__col:first-child{padding-left:0}
.np-cols--rules>.np-cols__col:last-child{border-right:0;padding-right:0}
/* story */
.np-story--centered .np-story__head{text-align:center}
.np-story__head{margin-bottom:8px}
.np-story__head--ruled{border-bottom:1px solid var(--rd-c-rule,rgba(28,26,23,.48));padding-bottom:14px;margin-bottom:16px}
.np-deck{font-style:italic;font-size:16px;max-width:62ch;margin:0;line-height:1.4}
.np-story--centered .np-deck{margin-inline:auto}
.np-figure{margin:16px 0}
.np-plate{display:block;max-width:100%;filter:sepia(.22) saturate(.82) contrast(1.05);border:6px solid var(--rd-c-paper-deep,#fbf3e6);outline:1px solid var(--rd-c-faint,rgba(28,26,23,.16));box-sizing:border-box}
.np-caption{font-size:11px;font-style:italic;margin:6px 0 0;border-bottom:1px solid var(--rd-c-faint,rgba(28,26,23,.16));padding-bottom:6px}
.np-imgslot{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center;padding:12px;box-sizing:border-box;width:100%;background:color-mix(in srgb,var(--rd-c-paper-deep,#fbf3e6) 55%,transparent);border:1.5px dashed color-mix(in srgb,var(--rd-c-ink,#1c1a17) 35%,transparent);color:color-mix(in srgb,var(--rd-c-ink,#1c1a17) 55%,transparent)}
.np-imgslot svg{width:26px;height:26px;opacity:.45;flex:none}
.np-imgslot span{font-size:12px;font-style:italic;letter-spacing:.02em;max-width:90%}
.np-imgslot--circle{border-radius:50%;overflow:hidden;margin-inline:auto}
.np-imgslot--circle span{font-size:10.5px}
.np-plate--circle{border-radius:50%}
.np-body{font-size:14.5px;line-height:1.65}
.np-body p{margin:0 0 12px}
.np-body p:last-child{margin-bottom:0}
.np-body a{color:var(--rd-c-accent-deep,#7d5411)}
.np-body h2{font-family:var(--rd-font-heading,Georgia,serif);font-weight:400;font-size:clamp(26px,2.8vw,32px);margin:26px 0 10px;text-align:left;line-height:1.1}
.np-body h2:first-child{margin-top:0}
.np-body h3{font-family:var(--rd-font-heading,Georgia,serif);font-weight:400;font-size:24px;margin:20px 0 8px;line-height:1.12}
.np-body h4{font-family:var(--rd-font-heading,Georgia,serif);font-weight:400;font-size:20px;margin:16px 0 8px}
.np-body ul{margin:0 0 12px;padding-left:1.2em}
.np-body--justify{text-align:justify;hyphens:auto}
.np-body--justify h2,.np-body--justify h3,.np-body--justify h4{text-align:left}
.np-body--2col{columns:2;column-gap:32px;column-rule:1px solid var(--rd-c-faint,rgba(28,26,23,.16))}
.np-body--2col p,.np-body--2col ul{break-inside:avoid-column}
.np-body--dropcap>p:first-of-type::first-letter{float:left;font-family:var(--rd-font-heading,Georgia,serif);font-size:64px;line-height:.72;padding:7px 8px 0 0}
/* card */
.np-card--ruled{border-top:1px solid var(--rd-c-rule,rgba(28,26,23,.48));padding-top:12px;padding-bottom:8px}
.np-card__text{font-size:13px;line-height:1.55;text-align:justify;margin:10px 0 0}
.np-card__text a{color:var(--rd-c-accent-deep,#7d5411)}
.np-card .np-plate{margin-top:2px}
/* wire service Q&A */
.np-qa{background:color-mix(in srgb,var(--rd-c-paper-deep,#fbf3e6) 70%,transparent)}
.np-qa__masth{background:var(--rd-c-ink,#1c1a17);color:var(--rd-c-paper-deep,#fbf3e6);padding:7px 10px;text-align:center;margin-bottom:14px}
.np-qa__title{font-family:var(--rd-font-heading,Georgia,serif);font-size:19px;letter-spacing:.14em;text-transform:uppercase}
.np-qa__sub{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--rd-c-accent-soft,#facb8d)}
.np-qa__list{display:flex;flex-direction:column;gap:16px;font-size:13px;line-height:1.5}
.np-qa__q{font-family:var(--rd-font-heading,Georgia,serif);font-size:16px;margin-bottom:3px}
.np-qa__a{margin:0}
/* accordion */
.np-rulehead{display:flex;align-items:baseline;justify-content:space-between;gap:14px;border-bottom:2px solid var(--rd-c-ink,#1c1a17);margin:0 0 14px}
.np-rulehead .np-headline{margin-bottom:0}
.np-rulehead__aside{font-size:11px;letter-spacing:.14em;text-transform:uppercase;flex:none}
.np-acc__cols{columns:2;column-gap:36px}
.np-acc__item{break-inside:avoid;border-bottom:1px solid var(--rd-c-faint,rgba(28,26,23,.16));padding:12px 0}
.np-acc__item summary{cursor:pointer;font-family:var(--rd-font-heading,Georgia,serif);font-size:19px;list-style:none;display:flex;justify-content:space-between;gap:14px}
.np-acc__item summary::-webkit-details-marker{display:none}
.np-acc__mark{color:var(--rd-c-accent-deep,#7d5411);flex:none}
.np-acc__item[open] .np-acc__mark{transform:rotate(45deg)}
.np-acc__item p{margin:10px 0 0;font-size:13.5px;line-height:1.6;max-width:70ch}
/* tables */
.np-table{width:100%;border-collapse:collapse;font-size:13.5px;font-variant-numeric:tabular-nums}
.np-table caption{text-align:left;font-size:11px;letter-spacing:.16em;text-transform:uppercase;padding-bottom:10px}
.np-table th{text-align:left;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:color-mix(in srgb,var(--rd-c-ink,#1c1a17) 60%,transparent);padding:8px 8px 8px 0;border-bottom:1px solid var(--rd-c-rule,rgba(28,26,23,.48))}
.np-table td{padding:7px 8px 7px 0;border-bottom:1px solid var(--rd-c-faint,rgba(28,26,23,.16))}
.np-table--kv td:first-child{width:34%}
.np-table a{color:var(--rd-c-accent-deep,#7d5411)}
.np-tnote{font-size:12px;font-style:italic;margin:10px 0 0}
/* boxes */
.np-box{padding:18px}
/* breathing room when a box follows other content in the same column.
   Blocks may or may not carry an .rd-shell wrapper, so each side of the
   adjacency has to accept both shapes. */
:is(.np-linklist, .rd-shell:has(> .np-linklist)) + .np-box,
:is(.np-linklist, .rd-shell:has(> .np-linklist)) + .rd-shell > .np-box{margin-top:10px}
:is(.np-story, .rd-shell:has(> .np-story)) + .np-box,
:is(.np-story, .rd-shell:has(> .np-story)) + .rd-shell > .np-box{margin-top:5px}
:is(.np-box, .rd-shell:has(> .np-box)) + .np-box,
:is(.np-box, .rd-shell:has(> .np-box)) + .rd-shell > .np-box{margin-top:5px}
.np-box--double{border:3px double var(--rd-c-ink,#1c1a17);margin-bottom:8px}
/* per-instance spacing (Walt's Chronicle polish pass) */
[data-rd-block="PaperBox-9"]{margin-bottom:5px}
[data-rd-block="PaperBox-13"]{margin-top:5px}
/* accordion directly after a plain rate table (the Ledger article) */
:is(.np-table-wrap, .rd-shell:has(> .np-table-wrap)) + .np-acc,
:is(.np-table-wrap, .rd-shell:has(> .np-table-wrap)) + .rd-shell > .np-acc{margin-top:10px}
.np-box--solid{border:1px solid var(--rd-c-rule,rgba(28,26,23,.48))}
.np-box--heavy{border:2px solid var(--rd-c-ink,#1c1a17)}
.np-box--center{text-align:center}
.np-box__head{border-bottom:1px solid var(--rd-c-rule,rgba(28,26,23,.48));padding-bottom:8px;margin-bottom:14px}
.np-box__head--bare{border-bottom:1px solid var(--rd-c-rule,rgba(28,26,23,.48))}
.np-box__title{font-family:var(--rd-font-heading,Georgia,serif);font-size:22px;text-transform:uppercase;letter-spacing:.08em}
.np-box__sub{font-size:11px;font-style:italic}
.np-box__text{font-size:13px;line-height:1.55}
.np-box__text p{margin:8px 0}
.np-box__phone{display:block;font-family:var(--rd-font-heading,Georgia,serif);font-size:26px;color:var(--rd-c-ink,#1c1a17);text-decoration:none;margin:4px 0;font-variant-numeric:tabular-nums;white-space:nowrap}
/* narrow rail boxes (front-page left column): keep the number on one line */
.np-cols--rules .np-box__phone{font-size:19px}
.np-box__phonenote{font-size:11px;font-style:italic}
.np-box .rd-form{margin:0}
/* buttons */
.np-btnrow{display:flex;gap:12px;flex-wrap:wrap;margin-top:12px}
.np-box--center .np-btnrow{justify-content:center}
.np-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;cursor:pointer;text-decoration:none;font-family:var(--rd-font-heading,Georgia,serif);font-weight:600;font-size:14px;line-height:1.2;color:var(--rd-c-ink,#1c1a17);background:transparent;border:1px solid transparent;padding:10px 17px;border-radius:0;white-space:nowrap;font-variant-numeric:tabular-nums}
.np-btn--primary{color:var(--rd-c-accent-deep,#7d5411);border-color:var(--rd-accent,#b68235)}
.np-btn--primary:hover{background:color-mix(in srgb,var(--rd-accent,#b68235) 12%,transparent)}
.np-btn--secondary{border-color:var(--rd-c-rule,rgba(28,26,23,.48))}
.np-btn--secondary:hover{background:color-mix(in srgb,var(--rd-c-ink,#1c1a17) 7%,transparent)}
.np-btn--ghost{color:var(--rd-c-accent-deep,#7d5411);padding-inline:4px}
.np-btn--ghost:hover{background:color-mix(in srgb,var(--rd-accent,#b68235) 10%,transparent)}
/* letters */
.np-letters__list{display:flex;flex-direction:column;gap:16px}
.np-letter{margin:0;border-left:2px solid var(--rd-c-accent-deep,#7d5411);padding-left:14px;font-size:14.5px;line-height:1.6}
.np-letter p{margin:0 0 4px;font-style:italic}
.np-letter footer{font-size:12px}
/* link list */
.np-linklist--boxed{border:1px solid var(--rd-c-rule,rgba(28,26,23,.48));padding:14px;margin-top:5px}
.np-linklist__lead{font-size:13.5px;margin:0 0 14px}
.np-linklist__items{display:grid;grid-template-columns:repeat(var(--np-ll-cols,1),minmax(0,1fr));gap:14px 18px}
.np-linklist__items--plain{gap:6px 14px}
.np-linklist__title{font-family:var(--rd-font-heading,Georgia,serif);color:var(--rd-c-ink,#1c1a17);text-decoration:none;display:inline-block}
a.np-linklist__title:hover{text-decoration:underline;text-underline-offset:3px}
.np-linklist__items--lg .np-linklist__title{font-size:18px}
.np-linklist__items--md .np-linklist__title{font-size:16px}
.np-linklist__items--plain .np-linklist__title{font-family:var(--rd-font-body,Georgia,serif);font-size:13.5px}
.np-linklist__item p{margin:2px 0 0;font-size:12px;line-height:1.4}
/* facts */
.np-facts{font-size:13.5px;line-height:1.8;padding-bottom:8px}
.np-facts--ruled{border-top:1px solid var(--rd-c-rule,rgba(28,26,23,.48));padding-top:12px;margin-top:14px}
.np-facts__line a{color:var(--rd-c-accent-deep,#7d5411)}
/* CTA band */
.np-cta{padding:26px 0;display:flex;flex-wrap:wrap;align-items:center;gap:18px}
.np-cta--between{justify-content:space-between}
.np-cta--ruled{border-bottom:2px solid var(--rd-c-ink,#1c1a17)}
.np-cta__text{font-size:15px;line-height:1.6;margin:0;max-width:60ch}
.np-cta .np-btnrow{margin-top:0}
/* footer */
.np-footer{padding:26px 0;display:grid;grid-template-columns:35fr 25fr 20fr 20fr;gap:24px;font-size:13px}
.np-footer__brand{display:flex;align-items:center;gap:10px;margin-bottom:10px;font-family:var(--rd-font-heading,Georgia,serif);font-size:19px;text-transform:uppercase}
.np-footer__brand .np-logo--sm{width:52px;height:52px}
.np-footer__nap p{margin:0 0 10px;line-height:1.55}
.np-footer__nap p:last-child{margin-bottom:0}
.np-footer__nap a{color:var(--rd-c-accent-deep,#7d5411)}
.np-footer__links{display:flex;flex-direction:column;gap:4px}
.np-footer__links a{color:var(--rd-c-accent-deep,#7d5411);text-decoration:none}
.np-footer__links a:hover{text-decoration:underline}
.np-colophon{border-top:1px solid var(--rd-c-rule,rgba(28,26,23,.48));padding:14px 0;text-align:center;font-size:11px;letter-spacing:.14em;text-transform:uppercase}
.np-callbar{display:none}
/* forms on paper: FormRenderer uses inline styles tuned for app themes; on the
   broadsheet, fields go transparent with hairline rules and the submit button
   becomes the outlined primary */
.np-page form input:not([type=checkbox]),.np-page form select,.np-page form textarea{background:transparent!important;border:1px solid var(--rd-c-rule,rgba(28,26,23,.48))!important;border-radius:0!important;color:var(--rd-c-ink,#1c1a17)!important;font-size:14px!important;padding:8px 10px!important;caret-color:var(--rd-accent,#b68235)}
.np-page form label{font-size:10px!important;letter-spacing:.16em;text-transform:uppercase;font-weight:400!important}
.np-page form .rd-btn{background:transparent!important;color:var(--rd-c-accent-deep,#7d5411)!important;border:1px solid var(--rd-accent,#b68235)!important;border-radius:0!important;font-family:var(--rd-font-heading,Georgia,serif);font-weight:600;font-size:14px}
.np-page form .rd-btn:hover{background:color-mix(in srgb,var(--rd-accent,#b68235) 12%,transparent)!important}
/* mobile header: compact sticky bar + fullscreen ink menu (Chronicle mobile
   spec). Hidden on desktop; ≤920px it replaces the masthead + desktop strip. */
.np-mnav{display:none}
.np-mbar{position:sticky;top:0;z-index:60;background:var(--rd-surface,#f7eee5);border-bottom:2px solid var(--rd-c-ink,#1c1a17);display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 12px 6px}
.np-mbar__burger{flex:none;width:44px;height:44px;background:transparent;border:1px solid var(--rd-c-rule,rgba(28,26,23,.48));cursor:pointer;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:0}
.np-mbar__burger span{display:block;width:20px;height:1.5px;background:var(--rd-c-ink,#1c1a17)}
.np-mbar__wordmark{text-align:center;flex:1;text-decoration:none;color:var(--rd-c-ink,#1c1a17)}
.np-mbar__the{display:block;font-size:8px;letter-spacing:.28em;text-transform:uppercase}
.np-mbar__title{font-family:var(--rd-font-heading,Georgia,serif);font-size:20px;line-height:1;text-transform:uppercase;letter-spacing:.02em}
.np-mbar__title-sub{letter-spacing:.22em;font-size:12px}
.np-mbar__art{display:block;height:40px;width:auto;margin-inline:auto}
.np-mbar__call{flex:none;min-height:44px;min-width:44px;font-size:11px;padding:6px 10px}
.np-mmenu{position:fixed;inset:0;z-index:200;background:var(--rd-c-ink,#1c1a17);color:var(--rd-c-paper-deep,#fbf3e6);display:flex;flex-direction:column;overflow-y:auto}
.np-mmenu__bar{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid color-mix(in srgb,#f3f2f2 22%,transparent)}
.np-mmenu__brand{display:flex;align-items:center;gap:9px;font-family:var(--rd-font-heading,Georgia,serif);font-size:13px;letter-spacing:.18em;text-transform:uppercase}
.np-mmenu__brand img{width:30px;height:30px;border-radius:50%;filter:invert(1)}
.np-mmenu__close{background:transparent;border:1px solid color-mix(in srgb,#f3f2f2 35%,transparent);color:inherit;width:44px;height:44px;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center}
.np-mmenu__x{position:relative;display:block;width:20px;height:13px}
.np-mmenu__x span{position:absolute;top:6px;left:0;width:20px;height:1.5px;background:currentColor}
.np-mmenu__x span:first-child{transform:rotate(45deg)}
.np-mmenu__x span:last-child{transform:rotate(-45deg)}
.np-mmenu__nav{display:flex;flex-direction:column;padding:12px 18px;gap:2px}
.np-mmenu__nav>a,.np-mmenu__group summary{color:inherit;font-family:var(--rd-font-heading,Georgia,serif);font-size:26px;text-transform:uppercase;letter-spacing:.04em;padding:11px 0;border-bottom:1px solid color-mix(in srgb,#f3f2f2 14%,transparent);text-decoration:none;min-height:44px;box-sizing:border-box}
.np-mmenu__group summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:14px}
.np-mmenu__group summary::-webkit-details-marker{display:none}
.np-mmenu__plus{color:var(--rd-c-accent-soft,#facb8d);font-size:22px;transition:transform .15s}
.np-mmenu__group[open] .np-mmenu__plus{transform:rotate(45deg)}
.np-mmenu__group{border-bottom:1px solid color-mix(in srgb,#f3f2f2 14%,transparent)}
.np-mmenu__group summary{border-bottom:none}
.np-mmenu__sub{display:flex;flex-direction:column;padding-bottom:6px}
.np-mmenu__sub a{color:color-mix(in srgb,#f3f2f2 82%,transparent);font-family:var(--rd-font-heading,Georgia,serif);font-size:19px;text-transform:uppercase;letter-spacing:.05em;padding:9px 0 9px 1.1em;border-bottom:1px solid color-mix(in srgb,#f3f2f2 10%,transparent);text-decoration:none;display:block;min-height:44px;box-sizing:border-box}
.np-mmenu__sub a:last-child{border-bottom:none}
.np-mmenu__foot{margin-top:auto;padding:18px;display:flex;flex-direction:column;gap:9px;border-top:1px solid color-mix(in srgb,#f3f2f2 22%,transparent)}
.np-mmenu__quote{display:flex;align-items:center;justify-content:center;min-height:48px;border:1px solid var(--rd-c-accent-soft,#facb8d);color:var(--rd-c-accent-soft,#facb8d);font-family:var(--rd-font-heading,Georgia,serif);font-size:14px;letter-spacing:.16em;text-transform:uppercase;text-decoration:none}
.np-mmenu__call{display:flex;align-items:center;justify-content:center;gap:.5em;min-height:48px;background:var(--rd-c-accent-soft,#facb8d);color:#141310;font-family:var(--rd-font-heading,Georgia,serif);font-size:15px;letter-spacing:.08em;text-decoration:none;font-variant-numeric:tabular-nums}
.np-mmenu__call svg{width:1em;height:1em;flex:none}
.np-mmenu__est{text-align:center;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:color-mix(in srgb,#f3f2f2 60%,transparent);margin-top:9px}
/* responsive */
@media(max-width:920px){
  .np-cols{grid-template-columns:1fr!important}
  .np-cols--rules>.np-cols__col{border-right:0;border-bottom:1px solid var(--rd-c-rule,rgba(28,26,23,.48));padding:14px 0}
  .np-cols--rules>.np-cols__col:last-child{border-bottom:0}
  .np-masthead{display:none}
  .np-nav{display:none}
  .np-mnav{display:block;position:sticky;top:0;z-index:100}
  .np-body--2col{columns:1}
  .np-acc__cols{columns:1}
  .np-footer{grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
  .np-footer{grid-template-columns:1fr}
  .np-callbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:90;background:var(--rd-c-ink,#1c1a17);color:var(--rd-c-paper-deep,#fbf3e6);align-items:center;justify-content:center;gap:14px;padding:10px 16px;border-top:1px solid var(--rd-c-accent-soft,#facb8d)}
  .np-callbar__phone{display:flex;align-items:center;justify-content:center;min-height:44px;padding:0 22px;background:var(--rd-c-accent-soft,#facb8d);color:#141310;font-family:var(--rd-font-heading,Georgia,serif);font-size:17px;text-decoration:none;text-transform:uppercase;letter-spacing:.06em;font-variant-numeric:tabular-nums}
  .np-callbar__label{font-size:11px;letter-spacing:.14em;text-transform:uppercase}
  .rd-root:has(.np-callbar){padding-bottom:64px}
}

.cl-wrap{max-width:var(--rd-max-width,1180px);margin:0 auto}
.cl-sec{padding:96px 32px;background:var(--rd-background,#FFFFFF);color:var(--rd-text,#1D213E)}
.cl-sec--surface{background:var(--rd-surface,#F2F6FA)}
.cl-h2{font-size:40px;line-height:1.15;font-weight:800;margin:0;max-width:760px;color:var(--rd-accent,#1D213E);letter-spacing:var(--rd-ls-heading,-0.01em)}
.cl-h2--lg{font-size:44px;line-height:1.12;max-width:none}
.cl-h2--wide{font-size:38px;line-height:1.18;max-width:900px}
.cl-lead{font-size:18px;line-height:1.75;margin:20px 0 0;max-width:860px}
.cl-note{font-size:18px;line-height:1.75;margin:26px 0 0;max-width:820px}
.cl-eyebrow{font-size:13px;font-weight:700;letter-spacing:.16em;color:var(--rd-primary,#478EC1);margin-bottom:14px;text-transform:uppercase}

/* buttons */
.cl-btns{display:flex;flex-wrap:wrap;gap:14px;margin-top:28px}
.cl-btn{display:inline-block;padding:18px 30px;border-radius:8px;font-weight:700;font-size:18px;text-decoration:none;border:1.5px solid transparent}
.cl-btn--primary{background:var(--rd-primary,#478EC1);color:var(--rd-primary-contrast,#FFFFFF);box-shadow:0 4px 16px rgba(71,142,193,.30)}
.cl-btn--dark{background:var(--rd-accent,#1D213E);color:#FFFFFF}
.cl-btn--outline{background:transparent;border-color:var(--rd-primary,#478EC1);color:var(--rd-primary,#478EC1);padding:16.5px 28px;font-weight:600}

/* hero */
.cl-hero{padding:72px 32px 64px;background:linear-gradient(180deg,var(--rd-surface,#F2F6FA) 0%,var(--rd-background,#FFFFFF) 100%);color:var(--rd-text,#1D213E)}
.cl-hero__grid{display:grid;grid-template-columns:1.05fr 0.95fr;gap:56px;align-items:start}
.cl-pill{display:inline-flex;align-items:center;gap:10px;background:var(--rd-background,#FFFFFF);border:1px solid var(--rd-border,#DFE5EE);border-radius:999px;padding:8px 16px 8px 10px;font-size:14px;font-weight:600}
.cl-pill__icon{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:var(--rd-primary,#478EC1);color:#fff;font-size:12px}
.cl-hero__h1{font-size:60px;line-height:1.06;font-weight:800;margin:18px 0 0;color:var(--rd-accent,#1D213E);letter-spacing:var(--rd-ls-heading,-0.01em)}
.cl-hero__lede{font-size:19px;line-height:1.6;color:var(--rd-muted,#474D6B);margin:20px 0 0;max-width:600px}
.cl-hero__sub{font-size:26px;font-weight:800;color:var(--rd-primary,#478EC1);margin:26px 0 0}
.cl-hero__body{font-size:18px;line-height:1.75;margin:14px 0 0;max-width:620px}
.cl-hero__img{width:100%;object-fit:cover;border-radius:16px;display:block}
.cl-badgecard{background:var(--rd-background,#FFFFFF);border:1px solid var(--rd-border,#DFE5EE);border-radius:14px;padding:16px 20px;display:flex;align-items:center;gap:14px;box-shadow:0 10px 30px rgba(29,33,62,.12);margin-top:-38px;margin-left:24px;margin-right:24px;position:relative}
.cl-badgecard img{height:64px;width:auto;display:block}
.cl-badgecard__text{font-size:14px;line-height:1.4;font-weight:600;color:var(--rd-accent,#1D213E);max-width:150px}

/* utility bar */
.cl-ubar{background:var(--rd-accent,#1D213E);color:#CCD3E8;font-size:15px;padding:10px 32px}
.cl-ubar__inner{max-width:var(--rd-max-width,1180px);margin:0 auto;display:flex;gap:28px;align-items:center;justify-content:center;flex-wrap:wrap}
.cl-ubar__item{color:#CCD3E8;text-decoration:none}
.cl-ubar__item--strong{color:#FFFFFF;font-weight:600}
.cl-ubar__sep{opacity:.4}

/* proof strip */
.cl-proof{background:var(--rd-accent,#1D213E);padding:26px 32px}
.cl-proof__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;color:#E6E9F4;font-size:16px}
.cl-proof__item{display:flex;flex-direction:column;gap:4px}
.cl-proof__label{font-weight:700;color:#FFFFFF;font-size:17px}
.cl-proof__sub{color:var(--rd-c-navy-mute,#9BA3C2)}

/* split intro */
.cl-si--surface{background:var(--rd-surface,#F2F6FA)}
.cl-si--dark{background:var(--rd-accent,#1D213E);color:#E6E9F4}
.cl-si--dark .cl-h2{color:#FFFFFF}
.cl-si__split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
.cl-si__body{display:flex;flex-direction:column;gap:20px;font-size:18px;line-height:1.75}
.cl-si__body p{margin:0}
.cl-si__body .cl-btns{margin-top:4px}

/* step cards */
.cl-steps{display:grid;gap:18px;margin-top:38px}
.cl-steps--2{grid-template-columns:repeat(2,1fr)}
.cl-steps--3{grid-template-columns:repeat(3,1fr)}
.cl-steps--4{grid-template-columns:repeat(4,1fr)}
.cl-step{background:var(--rd-background,#FFFFFF);border:1px solid var(--rd-border,#DFE5EE);border-radius:14px;padding:26px}
.cl-step__n{font-weight:800;font-size:34px;color:var(--rd-primary,#478EC1);line-height:1}
.cl-step p{font-size:17px;line-height:1.7;margin:14px 0 0}

/* feature split */
.cl-fsplit{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.cl-fsplit--imgleft .cl-fsplit__main{order:2}
.cl-fsplit__cards{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:30px}
.cl-fsplit__card{background:var(--rd-background,#FFFFFF);border-radius:12px;padding:22px}
.cl-fsplit__card h3{font-size:19px;font-weight:700;margin:0;color:var(--rd-accent,#1D213E)}
.cl-fsplit__card p{font-size:16.5px;line-height:1.6;margin:8px 0 0}
.cl-fsplit__media img{width:100%;object-fit:cover;border-radius:16px;display:block}

/* check grid */
.cl-checks{display:grid;gap:16px;margin-top:36px}
.cl-checks--2{grid-template-columns:repeat(2,1fr)}
.cl-checks--3{grid-template-columns:repeat(3,1fr)}
.cl-check{background:var(--rd-background,#FFFFFF);border:1px solid var(--rd-border,#DFE5EE);border-radius:12px;padding:20px 22px;display:flex;gap:14px;align-items:flex-start;font-size:18px;font-weight:600;line-height:1.5;color:var(--rd-accent,#1D213E)}
.cl-check__tick{color:var(--rd-primary,#478EC1);font-weight:700}
.cl-check--cta{background:var(--rd-accent,#1D213E);border-color:var(--rd-accent,#1D213E);flex-direction:column;gap:12px;align-items:flex-start}
.cl-check__ctatitle{color:#FFFFFF;font-size:18px;font-weight:700;line-height:1.5}
.cl-check--cta .cl-btn{padding:13px 22px;font-size:16px}

/* bio panel */
.cl-bio{display:grid;grid-template-columns:0.85fr 1.15fr;gap:60px;align-items:start}
.cl-bio__portrait{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:16px;display:block}
.cl-bio__sig{height:70px;width:auto;display:block;margin-top:22px}
.cl-bio__creds{border:1px solid var(--rd-border,#DFE5EE);border-radius:14px;padding:22px;margin-top:22px}
.cl-bio__credlist{display:flex;flex-direction:column;gap:12px;font-size:16px;line-height:1.55;color:var(--rd-muted,#474D6B)}
.cl-bio__body{display:flex;flex-direction:column;gap:18px;font-size:18px;line-height:1.78;margin-top:22px}
.cl-bio__body p{margin:0}
.cl-bio__cards{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:30px}
.cl-bio__card{background:var(--rd-surface,#F2F6FA);border-radius:12px;padding:22px}
.cl-bio__card h3{font-size:20px;font-weight:700;margin:0;color:var(--rd-accent,#1D213E)}
.cl-bio__card p{font-size:16.5px;line-height:1.65;margin:8px 0 0}

/* compare */
.cl-cmp{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:34px}
.cl-cmp__col{border:1px solid var(--rd-border,#DFE5EE);border-radius:14px;padding:30px}
.cl-cmp__col--hi{border:2px solid var(--rd-primary,#478EC1);background:var(--rd-c-tint,#EFF5FB)}
.cl-cmp__title{font-size:21px;font-weight:700;margin:0;color:var(--rd-accent,#1D213E)}
.cl-cmp__title--dim{color:var(--rd-c-dim,#7A809B)}
.cl-cmp__list{display:flex;flex-direction:column;gap:12px;margin-top:16px;font-size:17px;line-height:1.6;color:var(--rd-c-deep,#2B3054)}
.cl-cmp__list--dim{color:var(--rd-c-dim,#7A809B)}

/* media cards */
.cl-mcards{display:grid;gap:22px;margin-top:36px}
.cl-mcards--2{grid-template-columns:repeat(2,1fr)}
.cl-mcards--3{grid-template-columns:repeat(3,1fr)}
.cl-mcard{border:1px solid var(--rd-border,#DFE5EE);border-radius:14px;overflow:hidden;background:var(--rd-background,#FFFFFF);display:flex;flex-direction:column}
.cl-mcard img{width:100%;object-fit:cover;display:block}
.cl-mcard__body{padding:22px;display:flex;flex-direction:column;gap:8px;flex:1}
.cl-mcard__body h3{font-size:21px;font-weight:700;margin:0;color:var(--rd-accent,#1D213E)}
.cl-mcard__body p{font-size:16.5px;line-height:1.6;margin:0;color:var(--rd-muted,#474D6B)}
.cl-mcard__link{margin-top:auto;padding-top:8px;color:var(--rd-primary,#478EC1);font-weight:600;text-decoration:none}

/* reviews */
.cl-rev__head{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:start}
.cl-ratecard{display:flex;align-items:center;gap:14px;border:1px solid var(--rd-border,#DFE5EE);border-radius:12px;padding:16px 20px}
.cl-ratecard__score{font-weight:800;font-size:38px;color:var(--rd-accent,#1D213E);line-height:1}
.cl-ratecard__meta{font-size:16px;line-height:1.4}
.cl-stars{color:var(--rd-c-gold,#E8A33D);letter-spacing:2px}
.cl-revs{display:grid;gap:22px;margin-top:36px}
.cl-revs--2{grid-template-columns:repeat(2,1fr)}
.cl-revs--3{grid-template-columns:repeat(3,1fr)}
.cl-rev{border:1px solid var(--rd-border,#DFE5EE);border-radius:14px;padding:26px;display:flex;flex-direction:column;gap:14px}
.cl-rev .cl-stars{font-size:18px}
.cl-rev__quote{font-size:17.5px;line-height:1.7;color:var(--rd-c-deep,#2B3054);margin:0}
.cl-rev__by{margin-top:auto;font-weight:700;color:var(--rd-accent,#1D213E)}
.cl-rev__src{font-weight:500;font-size:15px;margin-left:6px;color:var(--rd-primary,#478EC1)}

/* arrow links */
.cl-links{display:grid;gap:12px;margin-top:32px}
.cl-links--1{grid-template-columns:1fr}
.cl-links--2{grid-template-columns:repeat(2,1fr)}
.cl-linkrow{display:flex;align-items:center;justify-content:space-between;gap:16px;background:var(--rd-background,#FFFFFF);border:1px solid var(--rd-border,#DFE5EE);border-radius:12px;padding:20px 22px;font-size:17.5px;font-weight:600;color:var(--rd-text,#1D213E);text-decoration:none}
.cl-linkrow span:last-child{color:var(--rd-primary,#478EC1)}

/* feature bullets */
.cl-fb--dark{background:var(--rd-accent,#1D213E);color:#E6E9F4}
.cl-fb--dark .cl-h2{color:#FFFFFF}
.cl-fb--dark .cl-note{color:var(--rd-c-navy-mute,#9BA3C2)}
.cl-fb__listintro{font-weight:600}
.cl-fb__list{margin:20px 0 0;padding-left:22px;display:flex;flex-direction:column;gap:10px;font-size:17px;line-height:1.6;max-width:860px}

/* chips */
.cl-chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.cl-chip{border:1px solid var(--rd-border,#DFE5EE);border-radius:999px;padding:9px 18px;font-size:16px;font-weight:600;color:var(--rd-accent,#1D213E);background:var(--rd-background,#FFFFFF)}
.cl-fb--dark .cl-chip{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.18);color:#FFFFFF}

/* footer */
.cl-footer{background:var(--rd-c-footer,#151831);padding:72px 32px 32px;color:#DCE1F0}
.cl-footer__grid{display:grid;grid-template-columns:1.3fr 0.7fr 1fr 1fr;gap:40px}
.cl-footer__logo{height:auto;display:block}
.cl-footer__blurb{font-size:16px;line-height:1.7;color:var(--rd-c-navy-mute,#9BA3C2);margin:20px 0 0}
.cl-footer__socials{display:flex;flex-wrap:wrap;gap:16px;margin-top:20px;font-size:15px}
.cl-footer__socials a{color:#CCD3E8;text-decoration:none}
.cl-footer__badge{display:inline-block;margin-top:22px}
.cl-footer__badge img{height:56px;width:auto;display:block}
.cl-footer__label{font-size:13px;font-weight:700;letter-spacing:.16em;color:#7C85AD;margin-bottom:16px;text-transform:uppercase}
.cl-footer__links{display:flex;flex-direction:column;gap:10px;font-size:16px}
.cl-footer__links a{color:#DCE1F0;text-decoration:none}
.cl-footer__addr{font-size:16px;line-height:1.7;color:#DCE1F0}
.cl-footer__phone{display:inline-block;margin-top:14px;font-size:19px;font-weight:700;color:#FFFFFF;text-decoration:none}
.cl-footer__dirwrap{margin-top:14px}
.cl-footer__dir{color:var(--rd-c-link,#9CC6E8);font-weight:600;text-decoration:none}
.cl-footer__hours{display:flex;flex-direction:column;gap:10px;font-size:16px;color:#DCE1F0}
.cl-footer__day{color:#FFFFFF;font-weight:600}
.cl-footer__legal{margin-top:44px;padding-top:22px;border-top:1px solid rgba(255,255,255,.10);font-size:15px;color:var(--rd-c-navy-mute,#9BA3C2)}

/* ---- tablet: 768-1023px. Grids drop to 2-up or stack; 768 is a tablet, so
   the phone rules below must stop at 767px (see PERF/breakpoint note). ---- */
@media (max-width:1023px){
  .cl-sec{padding:72px 24px}
  .cl-hero{padding:56px 24px 48px}
  .cl-hero__grid{grid-template-columns:1fr;gap:36px}
  .cl-hero__h1{font-size:46px}
  .cl-badgecard{margin-top:16px;margin-left:0;margin-right:0}
  .cl-bio{grid-template-columns:1fr;gap:36px}
  .cl-si__split{grid-template-columns:1fr;gap:24px}
  .cl-steps--4{grid-template-columns:repeat(2,1fr)}
  .cl-fsplit{grid-template-columns:1fr;gap:32px}
  .cl-fsplit--imgleft .cl-fsplit__main{order:0}
  .cl-h2,.cl-h2--lg,.cl-h2--wide{font-size:34px}
  .cl-mcards--3,.cl-revs--3{grid-template-columns:repeat(2,1fr)}
  .cl-proof__grid{grid-template-columns:repeat(2,1fr);gap:20px}
  .cl-footer__grid{grid-template-columns:1fr 1fr;gap:32px}
  .cl-footer{padding:56px 24px 28px}
}
@media (max-width:767px){
  .cl-hide-sm{display:none}
  .cl-ubar{font-size:14px;padding:8px 16px}
  .cl-ubar__inner{gap:10px}
  .cl-sec{padding:56px 20px}
  .cl-hero{padding:40px 20px 40px}
  .cl-hero__h1{font-size:36px;line-height:1.12}
  .cl-hero__lede{font-size:17px}
  .cl-hero__sub{font-size:22px}
  .cl-h2,.cl-h2--lg,.cl-h2--wide{font-size:28px}
  .cl-lead,.cl-note{font-size:17px}
  .cl-btns{gap:10px}
  .cl-btn{padding:15px 22px;font-size:16px;width:100%;text-align:center}
  .cl-btn--outline{padding:13.5px 20px}
  .cl-checks--2,.cl-checks--3,.cl-mcards--2,.cl-mcards--3,
  .cl-revs--2,.cl-revs--3,.cl-cmp,.cl-bio__cards,.cl-links--2{grid-template-columns:1fr}
  .cl-proof__grid{grid-template-columns:1fr}
  .cl-steps--2,.cl-steps--3,.cl-steps--4,.cl-fsplit__cards{grid-template-columns:1fr}
  .cl-rev__head{grid-template-columns:1fr}
  .cl-footer__grid{grid-template-columns:1fr}
  .cl-cmp__col{padding:22px}
}
