/* GENERATED by deploy.sh: design-system tokens + components (handoff/_ds) + site.css. Do not edit. */
/* ---- _ds/tokens/colors.css */
:root{
/* Core palette */
--color-navy-900:#0F2A44;--color-blue-700:#1D4E89;--color-blue-500:#3B6EA8;--color-blue-200:#C9DBEE;--color-blue-50:#EAF1F8;
--color-green-800:#246B4C;--color-green-700:#2E7D5B;--color-green-300:#8FD3B0;--color-green-50:#E8F3EE;
/* Neutrals */
--color-ink-900:#1B2430;--color-ink-600:#5B6675;--color-line-200:#D9DEE4;--color-surface-50:#F5F7F6;--color-white:#FFFFFF;
/* Status */
--color-error-600:#B23B3B;--color-error-50:#FBEEEE;--color-warning-700:#9A6A00;--color-warning-50:#FBF5E6;
/* Rating stars (only use) */
--color-rating:#C7920A;
/* Semantic: text */
--text-heading:var(--color-navy-900);--text-body:var(--color-ink-900);--text-muted:var(--color-ink-600);
--text-link:var(--color-blue-700);--text-link-hover:var(--color-blue-500);
--text-on-dark:var(--color-white);--text-on-dark-muted:var(--color-blue-200);--text-accent-on-dark:var(--color-green-300);
/* Semantic: surfaces */
--surface-page:var(--color-white);--surface-alt:var(--color-surface-50);--surface-card:var(--color-white);
--surface-info:var(--color-blue-50);--surface-success:var(--color-green-50);--surface-notice:var(--color-warning-50);--surface-error:var(--color-error-50);
--surface-dark:var(--color-navy-900);--surface-dark-raised:#163654;
/* Semantic: borders */
--border-default:var(--color-line-200);--border-strong:#BFC7D1;--border-focus:var(--color-blue-700);--border-on-dark:rgba(201,219,238,.22);
/* Semantic: action */
--action-primary:var(--color-green-700);--action-primary-hover:var(--color-green-800);
--action-secondary:var(--color-blue-700);--action-secondary-hover:var(--color-blue-500);
/* Semantic: status */
--status-success:var(--color-green-700);--status-info:var(--color-blue-700);--status-warning:var(--color-warning-700);--status-error:var(--color-error-600);
/* Blueprint grid lines */
--grid-line-light:rgba(29,78,137,.08);--grid-line-light-major:rgba(29,78,137,.14);
--grid-line-dark:rgba(201,219,238,.07);--grid-line-dark-major:rgba(201,219,238,.13);
}
/* ---- _ds/tokens/typography.css */
:root{
--font-heading:"Manrope",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
--font-body:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
--font-mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--weight-extrabold:800;
--tracking-eyebrow:.08em;--tracking-wordmark:.01em;--tracking-heading:-.01em;--measure:70ch;
/* Type scale — mobile values; desktop overrides at 1024px */
--fs-display:36px;--lh-display:42px;
--fs-h1:32px;--lh-h1:38px;
--fs-h2:26px;--lh-h2:32px;
--fs-h3:20px;--lh-h3:28px;
--fs-h4:18px;--lh-h4:26px;
--fs-body-lg:18px;--lh-body-lg:28px;
--fs-body:16px;--lh-body:26px;
--fs-small:14px;--lh-small:22px;
--fs-eyebrow:12px;--lh-eyebrow:16px;
}
@media (min-width:1024px){:root{
--fs-display:56px;--lh-display:62px;--fs-h1:44px;--lh-h1:52px;--fs-h2:34px;--lh-h2:42px;--fs-h3:24px;--lh-h3:32px;
--fs-h4:20px;--lh-h4:28px;--fs-body-lg:20px;--lh-body-lg:32px;--fs-body:17px;--lh-body:28px;--fs-eyebrow:13px;
}}
/* ---- _ds/tokens/spacing.css */
:root{
--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--space-9:96px;--space-10:128px;
--radius-sm:4px;--radius-md:8px;--radius-lg:12px;
--shadow-sm:0 1px 2px rgba(15,42,68,.06);--shadow-md:0 6px 20px rgba(15,42,68,.08);
--border-width:1px;--border-width-strong:2px;
--container-max:1200px;--gutter:24px;--page-margin:16px;--section-y:64px;
--bp-sm:480px;--bp-md:768px;--bp-lg:1024px;--bp-xl:1280px;
--tap-min:44px;--input-h:48px;--header-h:72px;--header-h-compact:60px;--bottom-bar-h:68px;
--dur-fast:150ms;/* @kind other */--dur-base:200ms;/* @kind other */--dur-slow:250ms;/* @kind other */--ease-out:cubic-bezier(.2,.7,.2,1);/* @kind other */
--focus-ring:2px solid var(--border-focus);--focus-offset:2px;
--z-header:50;/* @kind other */--z-bottom-bar:60;/* @kind other */--z-overlay:80;/* @kind other */--z-toast:90;/* @kind other */
}
@media (min-width:768px){:root{--page-margin:24px;}}
@media (min-width:1024px){:root{--section-y:96px;--header-h:80px;}}
@media (min-width:1280px){:root{--section-y:112px;}}
/* ---- _ds/tokens/base.css */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--font-body);font-size:var(--fs-body);line-height:var(--lh-body);color:var(--text-body);background:var(--surface-page);-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:var(--text-link);text-decoration:none;text-underline-offset:3px}
a:hover{color:var(--text-link-hover);text-decoration:underline}
:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset)}
h1,h2,h3,h4{font-family:var(--font-heading);color:var(--text-heading);margin:0;text-wrap:balance}
p{margin:0;text-wrap:pretty}
.kdd-display{font-family:var(--font-heading);font-weight:800;font-size:var(--fs-display);line-height:var(--lh-display);letter-spacing:var(--tracking-heading);color:var(--text-heading)}
.kdd-h1{font-family:var(--font-heading);font-weight:700;font-size:var(--fs-h1);line-height:var(--lh-h1);letter-spacing:var(--tracking-heading);color:var(--text-heading)}
.kdd-h2{font-family:var(--font-heading);font-weight:700;font-size:var(--fs-h2);line-height:var(--lh-h2);letter-spacing:var(--tracking-heading);color:var(--text-heading)}
.kdd-h3{font-family:var(--font-heading);font-weight:600;font-size:var(--fs-h3);line-height:var(--lh-h3);color:var(--text-heading)}
.kdd-h4{font-family:var(--font-heading);font-weight:600;font-size:var(--fs-h4);line-height:var(--lh-h4);color:var(--text-heading)}
.kdd-body-lg{font-size:var(--fs-body-lg);line-height:var(--lh-body-lg)}
.kdd-body{font-size:var(--fs-body);line-height:var(--lh-body)}
.kdd-small{font-size:var(--fs-small);line-height:var(--lh-small)}
.kdd-muted{color:var(--text-muted)}
.kdd-eyebrow{font-family:var(--font-mono);font-weight:500;font-size:var(--fs-eyebrow);line-height:var(--lh-eyebrow);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--color-blue-700)}
.kdd-measure{max-width:var(--measure)}
.kdd-container{width:100%;max-width:calc(var(--container-max) + var(--page-margin)*2);margin:0 auto;padding:0 var(--page-margin)}
.kdd-section{padding:var(--section-y) 0;background:var(--surface-page)}
.kdd-section--alt{background:var(--surface-alt)}
.kdd-section--info{background:var(--surface-info)}
.kdd-section--dark{background:var(--surface-dark);color:var(--text-on-dark)}
.kdd-section--dark h1,.kdd-section--dark h2,.kdd-section--dark h3,.kdd-section--dark h4{color:var(--text-on-dark)}
.kdd-grid-bg{background-color:var(--surface-page);background-image:linear-gradient(var(--grid-line-light-major) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line-light-major) 1px,transparent 1px),linear-gradient(var(--grid-line-light) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line-light) 1px,transparent 1px);background-size:96px 96px,96px 96px,24px 24px,24px 24px}
.kdd-grid-bg--dark{background-color:var(--surface-dark);background-image:linear-gradient(var(--grid-line-dark-major) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line-dark-major) 1px,transparent 1px),linear-gradient(var(--grid-line-dark) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line-dark) 1px,transparent 1px);background-size:96px 96px,96px 96px,24px 24px,24px 24px}
.kdd-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
/* ---- _ds/components/brand/brand.css */
.kdd-icon svg{display:block}
.kdd-icon-mask{display:inline-block;flex:none;width:var(--icon-size,20px);height:var(--icon-size,20px);background-color:currentColor;-webkit-mask:var(--icon-url) center/contain no-repeat;mask:var(--icon-url) center/contain no-repeat;vertical-align:middle}
.kdd-logo{display:inline-flex;align-items:center;gap:12px;color:var(--color-navy-900);text-decoration:none;line-height:1}
a.kdd-logo:hover{text-decoration:none;color:var(--color-navy-900)}
.kdd-logo__mark{flex:none;display:block}
.kdd-logo__text{display:flex;flex-direction:column;gap:3px}
.kdd-logo__name{font-family:var(--font-heading);font-weight:800;letter-spacing:var(--tracking-wordmark);white-space:nowrap}
.kdd-logo__sub{font-family:var(--font-heading);font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--color-blue-700);white-space:nowrap}
.kdd-logo--stacked{flex-direction:column;gap:14px;text-align:center}
.kdd-logo--stacked .kdd-logo__text{align-items:center}
.kdd-logo--dark,.kdd-logo--dark:hover{color:var(--color-white)}
.kdd-logo--dark .kdd-logo__sub{color:var(--color-blue-200)}
.kdd-logo--mono .kdd-logo__sub{color:inherit}
.kdd-monogram{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:12%;background:var(--color-navy-900);color:var(--color-white);border-radius:18%;font-family:var(--font-heading);font-weight:800;letter-spacing:.02em;line-height:1}
.kdd-monogram__tick{display:block;position:relative;width:62%;height:0;border-top:2px solid var(--color-green-300)}
.kdd-monogram__tick::before,.kdd-monogram__tick::after{content:"";position:absolute;top:-5px;width:2px;height:8px;background:var(--color-green-300)}
.kdd-monogram__tick::before{left:0}.kdd-monogram__tick::after{right:0}
.kdd-monogram--light{background:var(--color-white);color:var(--color-navy-900);box-shadow:inset 0 0 0 1px var(--border-default)}
.kdd-monogram--light .kdd-monogram__tick,.kdd-monogram--light .kdd-monogram__tick::before,.kdd-monogram--light .kdd-monogram__tick::after{border-color:var(--color-green-700);background:var(--color-green-700)}
.kdd-monogram--light .kdd-monogram__tick{background:none}
.kdd-monogram__tick{background:none}
.kdd-dim{position:relative;display:flex;align-items:center;gap:12px;width:100%;color:var(--border-strong);min-height:14px}
.kdd-dim::before,.kdd-dim::after{content:"";position:absolute;top:50%;width:1px;height:14px;margin-top:-7px;background:currentColor}
.kdd-dim::before{left:0}.kdd-dim::after{right:0}
.kdd-dim__line{flex:1;height:1px;background:currentColor}
.kdd-dim__label{font-family:var(--font-mono);font-weight:500;font-size:12px;line-height:16px;letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--text-muted);white-space:nowrap}
.kdd-dim--dark{color:rgba(201,219,238,.4)}
.kdd-dim--dark .kdd-dim__label{color:var(--color-blue-200)}
.kdd-dim--accent::before,.kdd-dim--accent::after{background:var(--color-green-700)}
.kdd-dim--vertical{flex-direction:column;width:auto;height:100%;min-height:48px;min-width:14px}
.kdd-dim--vertical::before,.kdd-dim--vertical::after{top:auto;left:50%;width:14px;height:1px;margin:0 0 0 -7px}
.kdd-dim--vertical::before{top:0}.kdd-dim--vertical::after{bottom:0;right:auto}
.kdd-dim--vertical .kdd-dim__line{width:1px;height:auto}
.kdd-crop{position:relative;display:block;--crop-o:-8px;--crop-s:16px}
.kdd-crop__m{position:absolute;width:var(--crop-s);height:var(--crop-s);border:0 solid var(--color-blue-700);pointer-events:none}
.kdd-crop--dark .kdd-crop__m{border-color:var(--color-blue-200)}
.kdd-crop__m--tl{top:var(--crop-o);left:var(--crop-o);border-top-width:1.5px;border-left-width:1.5px}
.kdd-crop__m--tr{top:var(--crop-o);right:var(--crop-o);border-top-width:1.5px;border-right-width:1.5px}
.kdd-crop__m--bl{bottom:var(--crop-o);left:var(--crop-o);border-bottom-width:1.5px;border-left-width:1.5px}
.kdd-crop__m--br{bottom:var(--crop-o);right:var(--crop-o);border-bottom-width:1.5px;border-right-width:1.5px}
.kdd-label{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-mono);font-weight:500;font-size:var(--fs-eyebrow);line-height:var(--lh-eyebrow);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--color-blue-700)}
.kdd-label--boxed{padding:4px 8px;border:1px solid currentColor;border-radius:var(--radius-sm)}
.kdd-label--dark{color:var(--color-blue-200)}
.kdd-label--accent{color:var(--color-green-300)}
.kdd-label__num{color:var(--color-green-700)}
.kdd-label--dark .kdd-label__num{color:var(--color-green-300)}
.kdd-ph{position:relative;display:flex;align-items:center;justify-content:center;width:100%;overflow:hidden;border-radius:var(--radius-md);border:1px solid var(--border-default)}
.kdd-ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.kdd-ph__label{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;padding:12px;font-family:var(--font-mono);font-weight:500;font-size:12px;line-height:16px;letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--color-blue-500)}
.kdd-ph--dark{border-color:var(--border-on-dark)}
.kdd-ph--dark .kdd-ph__label{color:var(--color-blue-200)}
/* ---- _ds/components/actions/actions.css */
.kdd-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font-body);font-weight:600;border:2px solid transparent;border-radius:var(--radius-md);cursor:pointer;text-decoration:none;white-space:nowrap;transition:background-color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out);-webkit-tap-highlight-color:transparent}
.kdd-btn:hover{text-decoration:none}
.kdd-btn:active{transform:translateY(1px)}
.kdd-btn--md{min-height:44px;padding:0 18px;font-size:16px;line-height:20px}
.kdd-btn--lg{min-height:52px;padding:0 24px;font-size:17px;line-height:22px}
.kdd-btn--block{display:flex;width:100%}
.kdd-btn--primary{background:var(--action-primary);border-color:var(--action-primary);color:var(--color-white)}
.kdd-btn--primary:hover,.kdd-btn--primary:active{background:var(--action-primary-hover);border-color:var(--action-primary-hover);color:var(--color-white)}
.kdd-btn--secondary{background:var(--color-white);border-color:var(--action-secondary);color:var(--action-secondary)}
.kdd-btn--secondary:hover,.kdd-btn--secondary:active{background:var(--color-blue-50);border-color:var(--action-secondary);color:var(--color-navy-900)}
.kdd-btn--inverse{background:transparent;border-color:rgba(255,255,255,.55);color:var(--color-white)}
.kdd-btn--inverse:hover,.kdd-btn--inverse:active{background:rgba(255,255,255,.08);border-color:var(--color-white);color:var(--color-white)}
.kdd-btn--tertiary{background:none;border:0;padding:0;min-height:44px;color:var(--text-link)}
.kdd-btn--tertiary:hover{color:var(--color-navy-900);text-decoration:underline}
.kdd-btn--tertiary .kdd-btn__arrow{transition:transform var(--dur-base) var(--ease-out)}
.kdd-btn--tertiary:hover .kdd-btn__arrow{transform:translateX(3px)}
.kdd-btn--tertiary.kdd-btn--on-dark{color:var(--color-green-300)}
.kdd-btn--tertiary.kdd-btn--on-dark:hover{color:var(--color-white)}
.kdd-btn:disabled,.kdd-btn[aria-disabled="true"]{background:var(--color-line-200);border-color:var(--color-line-200);color:var(--color-ink-600);cursor:not-allowed;transform:none}
.kdd-btn--tertiary:disabled{background:none;color:var(--color-ink-600)}
.kdd-btn__spin{width:16px;height:16px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;animation:kdd-spin .7s linear infinite}
@keyframes kdd-spin{to{transform:rotate(360deg)}}
.kdd-phone{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-family:var(--font-body);font-weight:600;font-size:16px;color:var(--color-navy-900);text-decoration:none;white-space:nowrap;font-variant-numeric:tabular-nums}
.kdd-phone .kdd-icon{color:var(--color-green-700)}
.kdd-phone:hover{color:var(--color-blue-700);text-decoration:underline}
.kdd-phone--dark{color:var(--color-white)}
.kdd-phone--dark .kdd-icon{color:var(--color-green-300)}
.kdd-phone--dark:hover{color:var(--color-blue-200)}
.kdd-phone__meta{display:block;font-weight:400;font-size:13px;line-height:16px;color:var(--text-muted)}
.kdd-phone--dark .kdd-phone__meta{color:var(--color-blue-200)}
.kdd-link{color:var(--text-link);text-decoration:underline;text-decoration-color:rgba(29,78,137,.35);text-underline-offset:3px;text-decoration-thickness:1px;font-weight:500}
.kdd-link:hover{color:var(--color-navy-900);text-decoration-color:currentColor}
.kdd-link--plain{text-decoration:none}
.kdd-link--plain:hover{text-decoration:underline}
.kdd-link--dark{color:var(--color-blue-200);text-decoration-color:rgba(201,219,238,.4)}
.kdd-link--dark:hover{color:var(--color-white)}
.kdd-link .kdd-icon{margin-left:4px;vertical-align:-3px}
/* ---- _ds/components/navigation/navigation.css */
.kdd-header{position:sticky;top:0;z-index:var(--z-header);background:rgba(255,255,255,.97);border-bottom:1px solid transparent;transition:box-shadow var(--dur-base) var(--ease-out),border-color var(--dur-base) var(--ease-out)}
.kdd-header--static{position:relative}
.kdd-header--compact{border-bottom-color:var(--border-default);box-shadow:var(--shadow-sm)}
.kdd-header__bar{display:flex;align-items:center;gap:24px;height:var(--header-h);transition:height var(--dur-base) var(--ease-out)}
.kdd-header--compact .kdd-header__bar{height:var(--header-h-compact)}
.kdd-header__nav{display:none;align-items:center;gap:4px;margin-left:auto}
.kdd-header__actions{display:none;align-items:center;gap:20px}
.kdd-header__burger{margin-left:auto;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--color-white);color:var(--color-navy-900);cursor:pointer}
.kdd-header__mphone{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;margin-left:auto;color:var(--color-green-700);border-radius:var(--radius-md)}
.kdd-header__mphone+.kdd-header__burger{margin-left:0}
.kdd-nav__item{position:relative}
.kdd-nav__link{display:inline-flex;align-items:center;gap:4px;min-height:44px;padding:0 12px;border:0;background:none;font-family:var(--font-body);font-weight:500;font-size:15px;color:var(--color-navy-900);text-decoration:none;border-radius:var(--radius-sm);cursor:pointer}
.kdd-nav__link:hover{color:var(--color-blue-700);text-decoration:none;background:var(--color-blue-50)}
.kdd-nav__link[aria-current="page"]{color:var(--color-blue-700);box-shadow:inset 0 -2px 0 var(--color-blue-700);border-radius:0}
.kdd-nav__menu{position:absolute;top:calc(100% + 8px);left:0;min-width:280px;padding:8px;background:var(--color-white);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);display:grid;gap:2px}
.kdd-nav__menu a{display:flex;align-items:center;gap:12px;min-height:44px;padding:8px 12px;border-radius:var(--radius-md);color:var(--color-navy-900);font-size:15px;font-weight:500;text-decoration:none}
.kdd-nav__menu a:hover{background:var(--color-blue-50);color:var(--color-navy-900);text-decoration:none}
.kdd-nav__menu .kdd-icon{color:var(--color-blue-700)}
.kdd-mmenu{border-top:1px solid var(--border-default);background:var(--color-white);padding:8px 0 24px;max-height:calc(100vh - var(--header-h));overflow:auto}
.kdd-mmenu a,.kdd-mmenu__group{display:flex;align-items:center;justify-content:space-between;min-height:52px;padding:0 4px;border-bottom:1px solid var(--border-default);color:var(--color-navy-900);font-family:var(--font-heading);font-weight:600;font-size:18px;text-decoration:none}
.kdd-mmenu__group{border-bottom:0;font-family:var(--font-mono);font-weight:500;font-size:12px;letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--color-blue-700);min-height:40px;padding-top:12px}
.kdd-mmenu__sub a{font-family:var(--font-body);font-weight:500;font-size:16px;padding-left:12px}
.kdd-mmenu__cta{display:grid;gap:12px;margin-top:20px}
@media (min-width:1024px){.kdd-header__nav,.kdd-header__actions{display:flex}.kdd-header__burger,.kdd-header__mphone,.kdd-mmenu{display:none}}
.kdd-header--minimal .kdd-header__actions{display:flex;margin-left:auto}
.kdd-header--minimal .kdd-header__burger,.kdd-header--minimal .kdd-header__mphone{display:none}
.kdd-bbar{position:fixed;left:0;right:0;bottom:0;z-index:var(--z-bottom-bar);display:grid;grid-template-columns:1fr 1.4fr;gap:8px;padding:8px var(--page-margin) calc(8px + env(safe-area-inset-bottom));background:var(--color-white);border-top:1px solid var(--border-default);box-shadow:0 -4px 16px rgba(15,42,68,.08)}
.kdd-bbar--static{position:relative;box-shadow:none}
@media (min-width:1024px){.kdd-bbar:not(.kdd-bbar--always){display:none}}
.kdd-footer{background:var(--color-navy-900);color:var(--color-blue-200);padding:64px 0 32px;font-size:15px;line-height:24px}
.kdd-footer__top{display:grid;gap:40px;grid-template-columns:1fr}
.kdd-footer__brand p{margin-top:16px;max-width:320px;color:var(--color-blue-200)}
.kdd-footer__cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 24px}
.kdd-footer h4{font-family:var(--font-mono);font-weight:500;font-size:12px;line-height:16px;letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--color-green-300);margin:0 0 12px}
.kdd-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.kdd-footer a{color:var(--color-white);text-decoration:none;display:inline-flex;min-height:32px;align-items:center}
.kdd-footer a:hover{color:var(--color-blue-200);text-decoration:underline}
.kdd-footer__cred{margin-top:48px;padding:20px 0;border-top:1px solid var(--border-on-dark);border-bottom:1px solid var(--border-on-dark);display:flex;gap:12px;align-items:flex-start;color:var(--color-blue-200)}
.kdd-footer__cred .kdd-icon{color:var(--color-green-300);margin-top:2px}
.kdd-footer__legal{display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between;padding-top:20px;font-size:13px;color:var(--color-blue-200)}
.kdd-footer__legal nav{display:flex;gap:20px}
.kdd-footer__legal a{font-size:13px;color:var(--color-blue-200);min-height:24px}
@media (min-width:768px){.kdd-footer__cols{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (min-width:1024px){.kdd-footer{padding:96px 0 40px}.kdd-footer__top{grid-template-columns:320px 1fr;gap:64px}}
.kdd-crumbs{font-size:14px;line-height:22px}
.kdd-crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.kdd-crumbs li{display:inline-flex;align-items:center;gap:6px;color:var(--text-muted)}
.kdd-crumbs a{color:var(--color-blue-700)}
.kdd-crumbs .kdd-icon{color:var(--border-strong)}
.kdd-crumbs [aria-current]{color:var(--color-ink-900);font-weight:500}
.kdd-crumbs--dark li,.kdd-crumbs--dark [aria-current]{color:var(--color-white)}
.kdd-crumbs--dark a{color:var(--color-blue-200)}
.kdd-crumbs--dark .kdd-icon{color:rgba(201,219,238,.5)}
.kdd-chips{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0}
.kdd-chip{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 14px;border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--color-white);font-family:var(--font-body);font-weight:500;font-size:15px;color:var(--color-navy-900);text-decoration:none;cursor:pointer;transition:border-color var(--dur-fast),background-color var(--dur-fast)}
.kdd-chip:hover{border-color:var(--color-blue-500);color:var(--color-navy-900);text-decoration:none}
.kdd-chip .kdd-icon{color:var(--color-blue-700)}
.kdd-chip[aria-pressed="true"],.kdd-chip[aria-current="page"]{background:var(--color-blue-50);border-color:var(--color-blue-700);box-shadow:inset 0 0 0 1px var(--color-blue-700)}
.kdd-chips--dark .kdd-chip{background:transparent;border-color:var(--border-on-dark);color:var(--color-white)}
.kdd-chips--dark .kdd-chip .kdd-icon{color:var(--color-green-300)}
/* ---- _ds/components/content/content.css */
.kdd-sh{display:grid;gap:12px;max-width:760px}
.kdd-sh--center{margin:0 auto;text-align:center;justify-items:center}
.kdd-sh__intro{font-size:var(--fs-body-lg);line-height:var(--lh-body-lg);color:var(--text-muted)}
.kdd-sh--dark .kdd-sh__intro{color:var(--color-blue-200)}
.kdd-sh--dark h2{color:var(--color-white)}
.kdd-sh__row{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px 32px}
.kdd-hero{position:relative;padding:40px 0 56px;background:var(--surface-page);overflow:hidden}
.kdd-hero--service,.kdd-hero--area{background:var(--surface-alt);border-bottom:1px solid var(--border-default)}
.kdd-hero__grid{display:grid;gap:40px;align-items:center}
.kdd-hero__copy{display:grid;gap:20px;align-content:start}
.kdd-hero__sub{font-size:var(--fs-body-lg);line-height:var(--lh-body-lg);color:var(--color-ink-600);max-width:560px}
.kdd-hero__ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:4px}
.kdd-hero__points{display:flex;flex-wrap:wrap;gap:8px 20px;list-style:none;margin:0;padding:0;font-size:15px;color:var(--color-ink-900)}
.kdd-hero__points li{display:inline-flex;align-items:center;gap:8px}
.kdd-hero__points .kdd-icon{color:var(--color-green-700)}
.kdd-hero__media{position:relative}
@media (max-width:767px){.kdd-hero__ctas .kdd-btn{width:100%}}
@media (min-width:1024px){.kdd-hero{padding:72px 0 96px}.kdd-hero__grid{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:64px}.kdd-hero--service .kdd-hero__grid,.kdd-hero--area .kdd-hero__grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
.kdd-fpc{background:var(--color-white);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:24px;display:grid;gap:16px}
.kdd-fpc__head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-bottom:16px;border-bottom:1px solid var(--border-default)}
.kdd-fpc__opts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.kdd-fpc__opt{display:flex;align-items:center;gap:10px;min-height:48px;padding:0 12px;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--color-white);font:500 15px/20px var(--font-body);color:var(--color-navy-900);cursor:pointer;text-align:left}
.kdd-fpc__opt .kdd-icon{color:var(--color-blue-700)}
.kdd-fpc__opt:hover{border-color:var(--color-blue-500)}
.kdd-fpc__opt[aria-pressed="true"]{border-color:var(--color-blue-700);box-shadow:inset 0 0 0 1px var(--color-blue-700);background:var(--color-blue-50)}
.kdd-fpc__note{display:flex;align-items:center;gap:8px;justify-content:center;font-size:14px;color:var(--text-muted)}
.kdd-fpc__note .kdd-icon{color:var(--color-green-700)}
.kdd-trust{border-top:1px solid var(--border-default);border-bottom:1px solid var(--border-default);background:var(--color-white)}
.kdd-trust__list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));list-style:none;margin:0;padding:0}
.kdd-trust__item{padding:20px 16px;display:grid;gap:4px;border-left:1px solid var(--border-default)}
.kdd-trust__item:nth-child(odd){border-left:0}
.kdd-trust__item:nth-child(n+3){border-top:1px solid var(--border-default)}
.kdd-trust__val{font-family:var(--font-mono);font-weight:500;font-size:24px;line-height:30px;color:var(--color-navy-900);letter-spacing:-.01em}
.kdd-trust__val--tbd{color:var(--color-blue-500)}
.kdd-trust__lbl{font-size:14px;line-height:20px;color:var(--text-muted)}
.kdd-trust--dark{background:var(--color-navy-900);border-color:var(--border-on-dark)}
.kdd-trust--dark .kdd-trust__item{border-color:var(--border-on-dark)}
.kdd-trust--dark .kdd-trust__val{color:var(--color-white)}
.kdd-trust--dark .kdd-trust__val--tbd{color:var(--color-green-300)}
.kdd-trust--dark .kdd-trust__lbl{color:var(--color-blue-200)}
@media (min-width:768px){.kdd-trust__list{grid-template-columns:repeat(4,minmax(0,1fr))}.kdd-trust__item{padding:28px 24px;border-top:0!important}.kdd-trust__item:nth-child(odd){border-left:1px solid var(--border-default)}.kdd-trust__item:first-child{border-left:0}.kdd-trust--dark .kdd-trust__item{border-color:var(--border-on-dark)}.kdd-trust__val{font-size:30px;line-height:36px}}
.kdd-path{position:relative;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;padding:20px;background:var(--color-white);border:1px solid var(--border-default);border-radius:var(--radius-md);color:inherit;text-decoration:none;transition:border-color var(--dur-fast),box-shadow var(--dur-base)}
.kdd-path:hover{border-color:var(--color-blue-700);box-shadow:var(--shadow-md);text-decoration:none;color:inherit}
.kdd-path__icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:var(--radius-md);background:var(--color-blue-50);color:var(--color-blue-700)}
.kdd-path__title{font-family:var(--font-heading);font-weight:600;font-size:var(--fs-h4);line-height:var(--lh-h4);color:var(--color-navy-900)}
.kdd-path__text{font-size:15px;line-height:22px;color:var(--text-muted);margin-top:2px}
.kdd-path__arrow{color:var(--color-blue-700);transition:transform var(--dur-base) var(--ease-out)}
.kdd-path:hover .kdd-path__arrow{transform:translateX(4px)}
@media (min-width:1024px){.kdd-path--stacked{grid-template-columns:1fr;align-items:start;gap:16px;padding:24px;min-height:220px}.kdd-path--stacked .kdd-path__arrow{position:absolute;right:24px;bottom:24px}.kdd-path--stacked .kdd-path__body{padding-right:24px}}
.kdd-svc{display:flex;flex-direction:column;background:var(--color-white);border:1px solid var(--border-default);border-radius:var(--radius-md);overflow:hidden;transition:box-shadow var(--dur-base),border-color var(--dur-fast)}
.kdd-svc:hover{box-shadow:var(--shadow-md);border-color:var(--border-strong)}
.kdd-svc .kdd-ph{border:0;border-bottom:1px solid var(--border-default);border-radius:0}
.kdd-svc__body{display:flex;flex-direction:column;gap:12px;padding:20px 20px 24px;flex:1}
.kdd-svc__from{font-family:var(--font-mono);font-weight:500;font-size:13px;letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--color-blue-700)}
.kdd-svc__from b{font-weight:500;color:var(--color-navy-900);font-size:15px}
.kdd-svc ul{list-style:none;margin:0;padding:0;display:grid;gap:6px;font-size:15px;line-height:22px}
.kdd-svc li{display:flex;gap:8px;align-items:flex-start}
.kdd-svc li .kdd-icon{color:var(--color-green-700);margin-top:1px}
.kdd-svc__foot{margin-top:auto;padding-top:4px}
.kdd-feat{display:grid;gap:28px;grid-template-columns:1fr;list-style:none;margin:0;padding:0}
.kdd-feat__item{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:start}
.kdd-feat__icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid var(--color-blue-200);border-radius:var(--radius-md);color:var(--color-blue-700);background:var(--color-white)}
.kdd-feat__title{font-family:var(--font-heading);font-weight:600;font-size:var(--fs-h4);line-height:var(--lh-h4);color:var(--color-navy-900)}
.kdd-feat__text{margin-top:4px;font-size:15px;line-height:24px;color:var(--text-muted)}
.kdd-feat--dark .kdd-feat__icon{background:transparent;border-color:var(--border-on-dark);color:var(--color-green-300)}
.kdd-feat--dark .kdd-feat__title{color:var(--color-white)}
.kdd-feat--dark .kdd-feat__text{color:var(--color-blue-200)}
@media (min-width:768px){.kdd-feat{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1024px){.kdd-feat--c3{grid-template-columns:repeat(3,minmax(0,1fr))}.kdd-feat--c4{grid-template-columns:repeat(4,minmax(0,1fr))}.kdd-feat--c3 .kdd-feat__item,.kdd-feat--c4 .kdd-feat__item{grid-template-columns:1fr}}
.kdd-proc{list-style:none;margin:0;padding:0;display:grid;gap:0;counter-reset:none}
.kdd-proc__step{position:relative;display:grid;grid-template-columns:44px 1fr;gap:16px;padding-bottom:28px}
.kdd-proc__step:last-child{padding-bottom:0}
.kdd-proc__step::before{content:"";position:absolute;left:21.5px;top:48px;bottom:4px;width:1px;background:var(--color-blue-200)}
.kdd-proc__step:last-child::before{display:none}
.kdd-proc__num{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:1.5px solid var(--color-blue-700);border-radius:var(--radius-sm);background:var(--color-white);font-family:var(--font-mono);font-weight:500;font-size:15px;color:var(--color-blue-700)}
.kdd-proc__step--done .kdd-proc__num{background:var(--color-green-700);border-color:var(--color-green-700);color:var(--color-white)}
.kdd-proc__lbl{font-family:var(--font-mono);font-weight:500;font-size:12px;line-height:16px;letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--color-blue-700)}
.kdd-proc__title{font-family:var(--font-heading);font-weight:600;font-size:var(--fs-h4);line-height:var(--lh-h4);color:var(--color-navy-900);margin-top:4px}
.kdd-proc__text{font-size:15px;line-height:24px;color:var(--text-muted);margin-top:6px}
.kdd-proc--dark .kdd-proc__num{background:var(--color-navy-900);border-color:var(--color-green-300);color:var(--color-green-300)}
.kdd-proc--dark .kdd-proc__step::before{background:var(--border-on-dark)}
.kdd-proc--dark .kdd-proc__lbl{color:var(--color-green-300)}
.kdd-proc--dark .kdd-proc__title{color:var(--color-white)}
.kdd-proc--dark .kdd-proc__text{color:var(--color-blue-200)}
@media (min-width:1024px){.kdd-proc--auto{grid-template-columns:repeat(var(--n,5),minmax(0,1fr));gap:24px}.kdd-proc--auto .kdd-proc__step{grid-template-columns:1fr;gap:16px;padding:0}.kdd-proc--auto .kdd-proc__step::before{left:56px;right:-16px;top:21.5px;bottom:auto;width:auto;height:1px}.kdd-proc--auto .kdd-proc__step:last-child::before{display:none}}
.kdd-risk{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.kdd-risk--c2{grid-template-columns:1fr}
.kdd-risk__item{display:flex;align-items:flex-start;gap:12px;font-size:var(--fs-body);line-height:var(--lh-body);color:var(--color-ink-900)}
.kdd-risk__check{flex:none;display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:var(--color-green-50);color:var(--color-green-700);margin-top:1px}
.kdd-risk__item b{font-weight:600;color:var(--color-navy-900)}
.kdd-risk__item span.kdd-risk__sub{display:block;font-size:15px;line-height:22px;color:var(--text-muted)}
.kdd-risk--dark .kdd-risk__item{color:var(--color-white)}
.kdd-risk--dark .kdd-risk__item b{color:var(--color-white)}
.kdd-risk--dark .kdd-risk__check{background:rgba(143,211,176,.14);color:var(--color-green-300)}
.kdd-risk--dark .kdd-risk__sub{color:var(--color-blue-200)!important}
.kdd-risk--boxed .kdd-risk__item{padding:16px;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--color-white)}
@media (min-width:768px){.kdd-risk--c2{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 32px}}
.kdd-callout{display:grid;grid-template-columns:auto 1fr;gap:12px;padding:16px 20px;border-radius:var(--radius-md);border:1px solid transparent;font-size:15px;line-height:24px;color:var(--color-navy-900)}
.kdd-callout__title{font-weight:600;margin-bottom:2px}
.kdd-callout--info{background:var(--surface-info);border-color:var(--color-blue-200)}
.kdd-callout--info .kdd-icon{color:var(--color-blue-700)}
.kdd-callout--success{background:var(--surface-success);border-color:#BFE3CF}
.kdd-callout--success .kdd-icon{color:var(--color-green-700)}
.kdd-callout--notice{background:var(--surface-notice);border-color:#EBD8A6}
.kdd-callout--notice .kdd-icon{color:var(--color-warning-700)}
.kdd-callout--error{background:var(--surface-error);border-color:#EBC4C4}
.kdd-callout--error .kdd-icon{color:var(--color-error-600)}
.kdd-callout .kdd-icon{margin-top:2px}
.kdd-cred{display:grid;gap:32px;align-items:start}
.kdd-cred__photo{max-width:360px}
.kdd-cred__copy{display:grid;gap:16px}
.kdd-cred__role{font-family:var(--font-mono);font-weight:500;font-size:13px;letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--color-blue-700)}
.kdd-cred__list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;gap:10px}
.kdd-cred__list li{display:flex;gap:10px;align-items:flex-start;font-size:15px;line-height:22px}
.kdd-cred__list .kdd-icon{color:var(--color-blue-700);margin-top:1px}
.kdd-cred__isnt{display:grid;gap:12px;padding:20px;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--surface-alt);font-size:15px;line-height:24px}
.kdd-cred__isnt dt{font-family:var(--font-mono);font-weight:500;font-size:12px;letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--color-blue-700)}
.kdd-cred__isnt dd{margin:2px 0 0;color:var(--color-ink-900)}
@media (min-width:768px){.kdd-cred__list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1024px){.kdd-cred{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:64px}}
.kdd-faq{border-top:1px solid var(--border-default)}
.kdd-faq__item{border-bottom:1px solid var(--border-default)}
.kdd-faq__q{display:flex;width:100%;align-items:center;justify-content:space-between;gap:16px;min-height:64px;padding:16px 0;border:0;background:none;text-align:left;cursor:pointer;font-family:var(--font-heading);font-weight:600;font-size:var(--fs-h4);line-height:var(--lh-h4);color:var(--color-navy-900)}
.kdd-faq__q:hover{color:var(--color-blue-700)}
.kdd-faq__ic{flex:none;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--color-blue-700);transition:background-color var(--dur-fast)}
.kdd-faq__q[aria-expanded="true"] .kdd-faq__ic{background:var(--color-blue-50);border-color:var(--color-blue-200)}
.kdd-faq__a{padding:0 48px 20px 0;color:var(--color-ink-600);max-width:var(--measure)}
.kdd-cta{position:relative;border-radius:var(--radius-lg);overflow:hidden;padding:40px 24px;color:var(--color-white)}
.kdd-cta--bleed{border-radius:0}
.kdd-cta__inner{position:relative;display:grid;gap:20px;max-width:var(--container-max);margin:0 auto}
.kdd-cta h2{color:var(--color-white)}
.kdd-cta p{color:var(--color-blue-200);font-size:var(--fs-body-lg);line-height:var(--lh-body-lg);max-width:620px}
.kdd-cta__btns{display:flex;flex-wrap:wrap;gap:12px}
@media (max-width:767px){.kdd-cta__btns .kdd-btn{width:100%}}
@media (min-width:1024px){.kdd-cta{padding:72px 64px}.kdd-cta__inner{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:48px}}
/* ---- _ds/components/showcase/showcase.css */
.kdd-stars{display:inline-flex;gap:2px;vertical-align:middle}
.kdd-star{display:block;background:var(--color-line-200);clip-path:polygon(50% 0%,61.8% 35.3%,98% 35.3%,68.8% 57.1%,79.4% 91%,50% 70.4%,20.6% 91%,31.2% 57.1%,2% 35.3%,38.2% 35.3%)}
.kdd-star--on{background:var(--color-rating)}
.kdd-port{display:flex;flex-direction:column;background:var(--color-white);border:1px solid var(--border-default);border-radius:var(--radius-md);overflow:hidden;color:inherit;text-decoration:none;transition:box-shadow var(--dur-base),border-color var(--dur-fast)}
.kdd-port:hover{box-shadow:var(--shadow-md);border-color:var(--border-strong);text-decoration:none;color:inherit}
.kdd-port__media{position:relative}
.kdd-port__media .kdd-ph{border:0;border-radius:0}
.kdd-port__tag{position:absolute;top:12px;left:12px}
.kdd-port__body{display:grid;gap:8px;padding:16px 20px 20px;border-top:1px solid var(--border-default)}
.kdd-port__row{display:flex;justify-content:space-between;align-items:center;gap:12px}
.kdd-port__loc{display:flex;align-items:center;gap:6px;font-size:14px;color:var(--text-muted)}
.kdd-port__loc .kdd-icon{color:var(--color-blue-700)}
.kdd-port__meta{font-family:var(--font-mono);font-weight:500;font-size:12px;letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--color-ink-600)}
.kdd-cmp{position:relative;overflow:hidden;border-radius:var(--radius-md);border:1px solid var(--border-default);user-select:none;touch-action:pan-y}
.kdd-cmp__layer{position:absolute;inset:0}
.kdd-cmp__layer .kdd-ph{height:100%;border:0;border-radius:0;aspect-ratio:auto!important}
.kdd-cmp__lbl{position:absolute;top:12px;padding:4px 8px;border-radius:var(--radius-sm);background:rgba(15,42,68,.88);color:var(--color-white);font-family:var(--font-mono);font-weight:500;font-size:11px;letter-spacing:var(--tracking-eyebrow);text-transform:uppercase}
.kdd-cmp__handle{position:absolute;top:0;bottom:0;width:2px;margin-left:-1px;background:var(--color-white);box-shadow:0 0 0 1px rgba(15,42,68,.25);pointer-events:none}
.kdd-cmp__grip{position:absolute;top:50%;left:50%;width:44px;height:44px;margin:-22px 0 0 -22px;display:flex;align-items:center;justify-content:center;gap:0;border-radius:var(--radius-md);background:var(--color-white);color:var(--color-navy-900);box-shadow:var(--shadow-md);border:1px solid var(--border-default)}
.kdd-cmp input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;margin:0}
.kdd-cmp input:focus-visible+.kdd-cmp__handle .kdd-cmp__grip{outline:var(--focus-ring);outline-offset:2px}
.kdd-review{display:flex;flex-direction:column;gap:14px;padding:24px;background:var(--color-white);border:1px solid var(--border-default);border-radius:var(--radius-md);height:100%}
.kdd-review__text{font-size:var(--fs-body);line-height:var(--lh-body);color:var(--color-ink-900)}
.kdd-review__foot{margin-top:auto;display:flex;align-items:center;gap:12px;padding-top:14px;border-top:1px solid var(--border-default)}
.kdd-review__av{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:var(--color-blue-50);color:var(--color-blue-700);font-family:var(--font-heading);font-weight:700;font-size:15px;flex:none}
.kdd-review__name{font-weight:600;color:var(--color-navy-900);font-size:15px;line-height:20px}
.kdd-review__sub{font-size:13px;line-height:18px;color:var(--text-muted)}
.kdd-rating{display:flex;flex-wrap:wrap;align-items:center;gap:16px 24px}
.kdd-rating__score{font-family:var(--font-mono);font-weight:500;font-size:48px;line-height:1;color:var(--color-navy-900);letter-spacing:-.02em}
.kdd-rating__score--tbd{font-size:32px;color:var(--color-blue-500)}
.kdd-rating__meta{display:grid;gap:6px}
.kdd-rating__src{display:flex;align-items:center;gap:6px;font-size:14px;color:var(--text-muted)}
.kdd-rating--boxed{padding:24px;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--color-white)}
.kdd-price{position:relative;display:flex;flex-direction:column;gap:16px;padding:28px 24px;background:var(--color-white);border:1px solid var(--border-default);border-radius:var(--radius-lg);height:100%}
.kdd-price--featured{border:2px solid var(--color-blue-700);box-shadow:var(--shadow-md)}
.kdd-price__flag{position:absolute;top:-13px;left:24px;padding:4px 8px;border-radius:var(--radius-sm);background:var(--color-blue-700);color:var(--color-white);font-family:var(--font-mono);font-weight:500;font-size:11px;line-height:16px;letter-spacing:var(--tracking-eyebrow);text-transform:uppercase}
.kdd-price__amt{display:flex;align-items:baseline;gap:8px}
.kdd-price__from{font-family:var(--font-mono);font-weight:500;font-size:13px;letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--color-ink-600)}
.kdd-price__val{font-family:var(--font-mono);font-weight:500;font-size:36px;line-height:42px;color:var(--color-navy-900);letter-spacing:-.02em}
.kdd-price ul{list-style:none;margin:0;padding:16px 0 0;border-top:1px solid var(--border-default);display:grid;gap:10px;font-size:15px;line-height:22px}
.kdd-price li{display:flex;gap:10px;align-items:flex-start}
.kdd-price li .kdd-icon{color:var(--color-green-700);margin-top:1px}
.kdd-price__note{font-size:13px;line-height:20px;color:var(--text-muted)}
.kdd-price__foot{margin-top:auto;display:grid;gap:10px}
.kdd-lm{display:grid;gap:28px;padding:24px;background:var(--surface-info);border:1px solid var(--color-blue-200);border-radius:var(--radius-lg);align-items:center}
.kdd-lm__cover{position:relative;width:100%;max-width:220px;aspect-ratio:3/4;margin:0 auto;border-radius:4px 8px 8px 4px;padding:20px 18px;display:flex;flex-direction:column;justify-content:space-between;color:var(--color-white);box-shadow:var(--shadow-md),inset 6px 0 0 rgba(0,0,0,.18)}
.kdd-lm__ctitle{font-family:var(--font-heading);font-weight:800;font-size:22px;line-height:26px;color:var(--color-white)}
.kdd-lm__copy{display:grid;gap:14px}
.kdd-lm__form{display:flex;flex-direction:column;gap:10px}
.kdd-lm__form input{flex:1;min-width:0;height:var(--input-h);padding:0 14px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);font:400 16px/24px var(--font-body);color:var(--color-ink-900);background:var(--color-white)}
.kdd-lm__form input:focus{outline:var(--focus-ring);outline-offset:0;border-color:var(--border-focus)}
.kdd-lm__fine{font-size:13px;line-height:20px;color:var(--text-muted)}
@media (min-width:768px){.kdd-lm{grid-template-columns:200px minmax(0,1fr);padding:32px;gap:40px}.kdd-lm__form{flex-direction:row}}
.kdd-guide{display:flex;flex-direction:column;color:inherit;text-decoration:none;gap:16px}
.kdd-guide:hover{text-decoration:none;color:inherit}
.kdd-guide:hover .kdd-guide__title{color:var(--color-blue-700);text-decoration:underline;text-underline-offset:3px}
.kdd-guide__meta{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:14px;color:var(--text-muted)}
.kdd-guide__meta span{display:inline-flex;align-items:center;gap:6px}
.kdd-guide__title{font-family:var(--font-heading);font-weight:600;font-size:var(--fs-h3);line-height:var(--lh-h3);color:var(--color-navy-900)}
.kdd-article{display:grid;gap:40px}
.kdd-article__head{display:grid;gap:16px;max-width:820px}
.kdd-article__meta{display:flex;flex-wrap:wrap;gap:8px 20px;font-size:14px;color:var(--text-muted)}
.kdd-article__meta span{display:inline-flex;align-items:center;gap:6px}
.kdd-article__meta .kdd-icon{color:var(--color-blue-700)}
.kdd-toc{display:grid;gap:4px;padding:20px;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--surface-alt);align-self:start}
.kdd-toc ol{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:2px;counter-reset:toc}
.kdd-toc a{display:flex;gap:10px;padding:6px 0;font-size:15px;line-height:22px;color:var(--color-navy-900);text-decoration:none}
.kdd-toc a::before{counter-increment:toc;content:counter(toc,decimal-leading-zero);font-family:var(--font-mono);font-size:12px;color:var(--color-blue-700);padding-top:1px}
.kdd-toc a:hover{color:var(--color-blue-700);text-decoration:underline}
.kdd-prose{max-width:var(--measure);font-size:var(--fs-body);line-height:var(--lh-body);color:var(--color-ink-900)}
.kdd-prose>*+*{margin-top:20px}
.kdd-prose h2{font-family:var(--font-heading);font-weight:700;font-size:var(--fs-h3);line-height:var(--lh-h3);color:var(--color-navy-900);margin-top:40px;scroll-margin-top:96px}
.kdd-prose h3{font-family:var(--font-heading);font-weight:600;font-size:var(--fs-h4);line-height:var(--lh-h4);margin-top:28px}
.kdd-prose ul,.kdd-prose ol{padding-left:22px}
.kdd-prose li+li{margin-top:6px}
.kdd-prose a{color:var(--text-link);text-decoration:underline;text-decoration-color:rgba(29,78,137,.35);text-underline-offset:3px}
.kdd-inline-cta{display:grid;gap:14px;padding:24px;border-radius:var(--radius-md);background:var(--color-navy-900);color:var(--color-white)}
.kdd-inline-cta p{color:var(--color-blue-200);margin:0}
@media (min-width:1024px){.kdd-article__body{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:64px;align-items:start}.kdd-article__body .kdd-toc{position:sticky;top:96px;order:2}}
/* ---- _ds/components/forms/forms.css */
.kdd-field{display:grid;gap:6px;min-width:0}
.kdd-field__label{font-family:var(--font-body);font-weight:600;font-size:15px;line-height:20px;color:var(--color-navy-900)}
.kdd-field__req{color:var(--color-error-600);margin-left:2px}
.kdd-field__opt{font-weight:400;color:var(--text-muted);margin-left:6px}
.kdd-field__help{font-size:14px;line-height:20px;color:var(--text-muted)}
.kdd-field__err{display:flex;align-items:flex-start;gap:6px;font-size:14px;line-height:20px;font-weight:500;color:var(--color-error-600)}
.kdd-field__err .kdd-icon{margin-top:1px}
.kdd-input{display:block;width:100%;height:var(--input-h);padding:0 14px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--color-white);font-family:var(--font-body);font-size:16px;line-height:24px;color:var(--color-ink-900);transition:border-color var(--dur-fast),box-shadow var(--dur-fast);-webkit-appearance:none;appearance:none}
.kdd-input::placeholder{color:#8A94A1}
.kdd-input:hover{border-color:var(--color-ink-600)}
.kdd-input:focus,.kdd-input:focus-visible{outline:none;border-color:var(--border-focus);box-shadow:0 0 0 1px var(--border-focus)}
.kdd-input[aria-invalid="true"]{border-color:var(--color-error-600);box-shadow:0 0 0 1px var(--color-error-600)}
.kdd-input:disabled{background:var(--surface-alt);color:var(--color-ink-600);border-color:var(--border-default);cursor:not-allowed}
textarea.kdd-input{height:auto;min-height:128px;padding:12px 14px;resize:vertical}
.kdd-input-wrap{position:relative}
.kdd-input-wrap>.kdd-icon{position:absolute;top:50%;margin-top:-10px;pointer-events:none;color:var(--color-ink-600)}
.kdd-input-wrap--lead>.kdd-icon{left:14px}
.kdd-input-wrap--lead .kdd-input{padding-left:42px}
.kdd-input-wrap--select>.kdd-icon{right:14px;color:var(--color-blue-700)}
.kdd-input-wrap--select .kdd-input{padding-right:44px;cursor:pointer}
.kdd-check{display:flex;align-items:flex-start;gap:12px;min-height:44px;padding:10px 0;cursor:pointer;font-size:16px;line-height:24px;color:var(--color-ink-900)}
.kdd-check input{flex:none;-webkit-appearance:none;appearance:none;width:22px;height:22px;margin:1px 0 0;border:1.5px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--color-white);display:grid;place-content:center;cursor:pointer;transition:background-color var(--dur-fast),border-color var(--dur-fast)}
.kdd-check input[type="radio"]{border-radius:50%}
.kdd-check input:hover{border-color:var(--color-blue-700)}
.kdd-check input:focus-visible{outline:var(--focus-ring);outline-offset:2px}
.kdd-check input[type="checkbox"]:checked{background:var(--color-blue-700);border-color:var(--color-blue-700)}
.kdd-check input[type="checkbox"]:checked::after{content:"";width:6px;height:11px;border:solid #fff;border-width:0 2px 2px 0;transform:translateY(-1px) rotate(45deg)}
.kdd-check input[type="radio"]:checked{border-color:var(--color-blue-700);box-shadow:inset 0 0 0 5px var(--color-white);background:var(--color-blue-700)}
.kdd-check input:disabled{background:var(--surface-alt);border-color:var(--border-default);cursor:not-allowed}
.kdd-check--disabled{color:var(--color-ink-600);cursor:not-allowed}
.kdd-check--error input{border-color:var(--color-error-600)}
.kdd-check__sub{display:block;font-size:14px;line-height:20px;color:var(--text-muted)}
.kdd-rg{border:0;margin:0;padding:0;min-width:0;display:grid;gap:8px}
.kdd-rg legend{padding:0;margin-bottom:6px}
.kdd-rg--tiles .kdd-rg__opts{display:grid;grid-template-columns:repeat(var(--cols,2),minmax(0,1fr));gap:8px}
.kdd-rg__opts{display:grid;gap:0}
.kdd-rg--inline .kdd-rg__opts{display:flex;flex-wrap:wrap;gap:4px 24px}
.kdd-tile{position:relative;display:flex;align-items:center;gap:12px;min-height:56px;padding:10px 14px;border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--color-white);cursor:pointer;font-weight:500;font-size:15px;line-height:20px;color:var(--color-navy-900);transition:border-color var(--dur-fast),background-color var(--dur-fast)}
.kdd-tile input{position:absolute;opacity:0;pointer-events:none}
.kdd-tile .kdd-icon{color:var(--color-blue-700)}
.kdd-tile:hover{border-color:var(--color-blue-500)}
.kdd-tile:has(input:checked){border-color:var(--color-blue-700);box-shadow:inset 0 0 0 1px var(--color-blue-700);background:var(--color-blue-50)}
.kdd-tile:has(input:focus-visible){outline:var(--focus-ring);outline-offset:2px}
.kdd-tile__tick{margin-left:auto;display:none;color:var(--color-blue-700)}
.kdd-tile:has(input:checked) .kdd-tile__tick{display:block}
.kdd-tile--compact{min-height:44px;justify-content:center;text-align:center;padding:8px 10px}
.kdd-tile--compact .kdd-tile__tick{display:none!important}
.kdd-tile__sub{display:block;font-weight:400;font-size:13px;line-height:18px;color:var(--text-muted)}
.kdd-drop{display:grid;justify-items:center;gap:8px;padding:24px 16px;border:1.5px dashed var(--border-strong);border-radius:var(--radius-md);background:var(--surface-alt);text-align:center;cursor:pointer;transition:border-color var(--dur-fast),background-color var(--dur-fast)}
.kdd-drop:hover,.kdd-drop--over{border-color:var(--color-blue-700);background:var(--color-blue-50)}
.kdd-drop:focus-within{outline:var(--focus-ring);outline-offset:2px}
.kdd-drop__ic{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:var(--radius-md);background:var(--color-white);border:1px solid var(--color-blue-200);color:var(--color-blue-700)}
.kdd-drop__t{font-weight:600;font-size:15px;color:var(--color-navy-900)}
.kdd-drop__t u{color:var(--color-blue-700);text-underline-offset:3px}
.kdd-drop__s{font-size:13px;line-height:18px;color:var(--text-muted)}
.kdd-drop input{position:absolute;width:1px;height:1px;opacity:0}
.kdd-files{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:6px}
.kdd-files li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:6px 6px 6px 12px;border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--color-white)}
.kdd-files .kdd-icon{color:var(--color-blue-700)}
.kdd-files__name{font-size:15px;line-height:20px;color:var(--color-ink-900);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.kdd-files__size{display:block;font-family:var(--font-mono);font-size:12px;color:var(--text-muted)}
.kdd-files button{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:0;background:none;border-radius:var(--radius-sm);color:var(--color-ink-600);cursor:pointer}
.kdd-files button:hover{background:var(--color-error-50);color:var(--color-error-600)}
.kdd-cb{display:grid;gap:14px}
.kdd-cb__days{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}
.kdd-cb__day{display:grid;gap:2px;justify-items:center;min-height:56px;padding:8px 4px;border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--color-white);cursor:pointer;font-family:var(--font-body);color:var(--color-navy-900)}
.kdd-cb__day:hover{border-color:var(--color-blue-500)}
.kdd-cb__day[aria-pressed="true"]{border-color:var(--color-blue-700);box-shadow:inset 0 0 0 1px var(--color-blue-700);background:var(--color-blue-50)}
.kdd-cb__dow{font-family:var(--font-mono);font-weight:500;font-size:11px;letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--color-blue-700)}
.kdd-cb__date{font-weight:600;font-size:15px}
.kdd-success{display:grid;gap:16px;padding:28px 24px;border-radius:var(--radius-lg);background:var(--surface-success);border:1px solid #BFE3CF;text-align:left}
.kdd-success__ic{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;background:var(--color-green-700);color:var(--color-white)}
.kdd-success ol{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.kdd-success li{display:grid;grid-template-columns:28px 1fr;gap:10px;font-size:15px;line-height:22px}
.kdd-success li span:first-child{font-family:var(--font-mono);font-weight:500;font-size:13px;color:var(--color-green-800);padding-top:1px}
.kdd-fform{display:grid;gap:20px;padding:24px 20px;background:var(--color-white);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}
.kdd-fform--flat{box-shadow:none}
.kdd-fform__head{display:grid;gap:6px;padding-bottom:16px;border-bottom:1px solid var(--border-default)}
.kdd-fform__grid{display:grid;gap:18px}
.kdd-fform__note{display:flex;gap:8px;align-items:center;justify-content:center;font-size:14px;color:var(--text-muted);text-align:center}
.kdd-fform__note .kdd-icon{color:var(--color-green-700)}
.kdd-fform__more{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0;border:0;background:none;font:600 15px/20px var(--font-body);color:var(--color-blue-700);cursor:pointer}
.kdd-fform__more:hover{text-decoration:underline}
.kdd-fform__legal{font-size:13px;line-height:20px;color:var(--text-muted)}
@media (min-width:768px){.kdd-fform{padding:32px}.kdd-fform__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 20px}.kdd-fform__full{grid-column:1/-1}}
.kdd-steps{display:grid;gap:10px}
.kdd-steps__top{display:flex;justify-content:space-between;align-items:center;gap:12px}
.kdd-steps__bar{display:grid;grid-template-columns:repeat(var(--n,3),1fr);gap:6px}
.kdd-steps__seg{height:4px;border-radius:2px;background:var(--color-line-200)}
.kdd-steps__seg--on{background:var(--color-blue-700)}
.kdd-steps__seg--done{background:var(--color-green-700)}
.kdd-msf__nav{display:flex;gap:12px;align-items:center}
.kdd-msf__nav .kdd-btn--primary{flex:1}
/* ---- _ds/components/feedback/feedback.css */
.kdd-badge{display:inline-flex;align-items:center;gap:5px;min-height:24px;padding:2px 8px;border-radius:var(--radius-sm);border:1px solid transparent;font-family:var(--font-body);font-weight:600;font-size:13px;line-height:18px;white-space:nowrap}
.kdd-badge--permitted,.kdd-badge--success{background:var(--color-green-50);color:var(--color-green-800);border-color:#BFE3CF}
.kdd-badge--built{background:var(--color-navy-900);color:var(--color-white)}
.kdd-badge--built .kdd-icon{color:var(--color-green-300)}
.kdd-badge--inDesign,.kdd-badge--info{background:var(--color-blue-50);color:var(--color-blue-700);border-color:var(--color-blue-200)}
.kdd-badge--neutral{background:var(--color-white);color:var(--color-ink-900);border-color:var(--border-default)}
.kdd-badge--type{background:rgba(255,255,255,.95);color:var(--color-navy-900);border-color:var(--border-default);font-family:var(--font-mono);font-weight:500;font-size:11px;letter-spacing:var(--tracking-eyebrow);text-transform:uppercase}
.kdd-badge--warning{background:var(--color-warning-50);color:var(--color-warning-700);border-color:#EBD8A6}
.kdd-badge--error{background:var(--color-error-50);color:var(--color-error-600);border-color:#EBC4C4}
.kdd-toast{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:start;width:100%;max-width:420px;padding:14px 14px 14px 16px;background:var(--color-white);border:1px solid var(--border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-md);font-size:15px;line-height:22px;color:var(--color-ink-900);animation:kdd-toast-in var(--dur-slow) var(--ease-out)}
.kdd-toast--fixed{position:fixed;left:50%;bottom:calc(var(--bottom-bar-h) + 16px);transform:translateX(-50%);z-index:var(--z-toast);width:calc(100% - 32px)}
@media (min-width:1024px){.kdd-toast--fixed{left:auto;right:24px;bottom:24px;transform:none}}
.kdd-toast__title{font-weight:600;color:var(--color-navy-900)}
.kdd-toast--success>.kdd-icon{color:var(--color-green-700)}
.kdd-toast--info>.kdd-icon{color:var(--color-blue-700)}
.kdd-toast--error>.kdd-icon{color:var(--color-error-600)}
.kdd-toast--success{border-left-color:var(--border-default)}
.kdd-toast__x{display:flex;align-items:center;justify-content:center;width:32px;height:32px;margin:-6px -6px 0 0;border:0;background:none;border-radius:var(--radius-sm);color:var(--color-ink-600);cursor:pointer}
.kdd-toast__x:hover{background:var(--surface-alt)}
@keyframes kdd-toast-in{from{opacity:0;translate:0 8px}to{opacity:1;translate:0 0}}
.kdd-spin{display:inline-flex;align-items:center;gap:10px;font-size:15px;color:var(--text-muted)}
.kdd-spin__ring{border-radius:50%;border:2px solid var(--color-blue-200);border-top-color:var(--color-blue-700);animation:kdd-spin .8s linear infinite}
.kdd-skel{display:block;background:linear-gradient(90deg,var(--color-surface-50) 0%,#E9EDF0 50%,var(--color-surface-50) 100%);background-size:200% 100%;border-radius:var(--radius-sm);animation:kdd-shimmer 1.4s ease-in-out infinite}
@keyframes kdd-shimmer{from{background-position:100% 0}to{background-position:-100% 0}}
/* ---- site.css */
/* ==========================================================================
   Kelowna Drafting & Design: site layer on top of the design system.
   kdd.css = design-system tokens + components (handoff/_ds, verbatim) + this file. Edit this file, never kdd.css
   (deploy.sh regenerates it).
   ========================================================================== */

html { scroll-behavior: smooth; scroll-padding-top: 88px; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
body { overflow-x: hidden; }
[hidden] { display: none !important; }
.kdd-block { display: block; }

/* ---------------------------------------------------------------- Elementor / WordPress integration */
.e-con.kdd-el,
.elementor .e-con.kdd-el {
	--padding-top: 0; --padding-right: 0; --padding-bottom: 0; --padding-left: 0;
	--gap: 0; --row-gap: 0; --column-gap: 0; --content-width: 100%; --width: 100%;
	padding: 0; display: block;
}
.kdd-el > .elementor-widget,
.kdd-el > .elementor-element,
.kdd-el .elementor-widget-html,
.kdd-el .elementor-widget-container { margin: 0 !important; width: 100%; max-width: none; }
.elementor-widget-html:not(:last-child) { margin-bottom: 0; }
.kdd-main { display: block; }
.kdd-site-header { position: sticky; top: var(--wp-admin--admin-bar--height, 0px); z-index: var(--z-header); }
.kdd-site-header .kdd-header { position: relative; }
.kdd-skip:focus { position: fixed; top: 8px; left: 8px; z-index: 100; width: auto; height: auto; clip: auto; margin: 0; padding: 10px 16px; background: var(--color-white); border: 2px solid var(--border-focus); border-radius: var(--radius-md); }
/* Elementor's page wrapper must not clip the sticky header */
.elementor-page .elementor { overflow: visible; }

/* ---------------------------------------------------------------- layout helpers (the design used inline grids) */
.kdd-stack { display: grid; align-content: start; }
.kdd-stack--16 { gap: 16px; } .kdd-stack--20 { gap: 20px; } .kdd-stack--24 { gap: 24px; } .kdd-stack--32 { gap: 32px; } .kdd-stack--40 { gap: 40px; }
.kdd-cards { display: grid; gap: 24px; }
.kdd-cards--16 { gap: 16px; }
.kdd-cards--320 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); }
.kdd-cards--240 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); }
.kdd-cards--pad { padding-top: 12px; }
.kdd-split { display: grid; gap: 48px; align-items: start; }
.kdd-split--400 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 400px), 1fr)); gap: 40px; }
.kdd-split--440 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 440px), 1fr)); }
.kdd-section--flush-top { padding-top: 0; }

/* ---------------------------------------------------------------- header + nav (open states are [hidden] toggles in kdd.js) */
.kdd-nav__link[aria-expanded="true"] { background: var(--color-blue-50); }
.kdd-nav__link .kdd-icon { transition: transform var(--dur-fast) var(--ease-out); }
.kdd-nav__link[aria-expanded="true"] .kdd-icon { transform: rotate(180deg); }
.kdd-nav__link[data-current] { color: var(--color-blue-700); box-shadow: inset 0 -2px 0 var(--color-blue-700); border-radius: 0; }
.kdd-nav__menu { z-index: 5; }
.kdd-mmenu a .kdd-icon { color: var(--color-blue-700); }
.kdd-mmenu a[aria-current="page"] { color: var(--color-blue-700); }
@media (min-width: 1024px) { .kdd-mmenu { display: none !important; } }
.kdd-logo:hover { text-decoration: none; }

/* ---------------------------------------------------------------- hero */
.kdd-path__title, .kdd-path__text { display: block; }
.kdd-hero--page { padding: 32px 0 48px; }
.kdd-hero--page .kdd-hero__copy { max-width: 760px; }
.kdd-ph--art { aspect-ratio: 4 / 3; background-color: var(--color-white); }
.kdd-art { display: block; width: 100%; height: 100%; }

/* ---------------------------------------------------------------- pricing: "+ GST" sits with the amount */
.kdd-price__amt { flex-wrap: wrap; }
.kdd-price__gst { font-family: var(--font-mono); font-weight: 500; font-size: 13px; letter-spacing: var(--tracking-eyebrow); text-transform: uppercase; color: var(--text-muted); align-self: flex-end; padding-bottom: 6px; }

/* ---------------------------------------------------------------- Carriage Houses: sheet card + "who does what" */
.kdd-sheet { display: grid; gap: 20px; padding: 32px; background: var(--surface-card); border: 1px solid var(--border-default); border-radius: var(--radius-lg); }
.kdd-sheet__head { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; }
@media (max-width: 479px) { .kdd-sheet { padding: 24px 20px; } }
.kdd-who { display: grid; gap: 12px; align-content: start; padding: 24px; background: var(--surface-card); border: 1px solid var(--border-default); border-radius: var(--radius-md); }
.kdd-who--us { border: 2px solid var(--color-blue-700); }
.kdd-who__ic { display: flex; align-items: center; justify-content: center; width: 48px; height: 48px; border-radius: var(--radius-md); background: var(--color-blue-50); color: var(--color-blue-700); }

/* ---------------------------------------------------------------- FAQ (h3 wrapper around the button) */
.kdd-faq__h { margin: 0; font-size: inherit; line-height: inherit; }
.kdd-faq__a p { margin: 0; }
.kdd-faq__q .kdd-icon { transition: transform var(--dur-fast) var(--ease-out); }
.kdd-faq__q[aria-expanded="true"] .kdd-icon { transform: rotate(180deg); }

/* ---------------------------------------------------------------- contact facts, "Prefer to talk?" */
.kdd-facts { display: grid; gap: 0; margin: 0; border-top: 1px solid var(--border-default); }
.kdd-facts__row { display: grid; grid-template-columns: 24px 1fr; gap: 4px 12px; padding: 16px 0; border-bottom: 1px solid var(--border-default); }
.kdd-facts__row .kdd-icon { color: var(--color-blue-700); grid-row: span 2; margin-top: 2px; }
.kdd-facts dt { font-weight: 600; color: var(--color-navy-900); }
.kdd-facts dd { margin: 0; color: var(--text-muted); }
.kdd-talk { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }

/* ---------------------------------------------------------------- thank you + 404 */
.kdd-ty__card, .kdd-404__card { max-width: 720px; margin: 0 auto; }
.kdd-ty__card { padding: 40px 32px; gap: 20px; box-shadow: var(--shadow-md); }
.kdd-ty__card .kdd-success__ic { width: 56px; height: 56px; }
.kdd-ty__lead { font-size: var(--fs-body-lg); line-height: var(--lh-body-lg); color: var(--color-ink-900); }
.kdd-ty__card b { color: var(--color-navy-900); }
@media (max-width: 479px) { .kdd-ty__card { padding: 28px 20px; } }
.kdd-404__card { display: grid; gap: 20px; padding: 40px 32px; background: var(--color-white); border: 1px solid var(--border-default); border-radius: var(--radius-lg); box-shadow: var(--shadow-md); }
.kdd-404__card .kdd-label { justify-self: start; }

/* ---------------------------------------------------------------- legal prose */
.kdd-prose { max-width: var(--measure); display: grid; gap: 16px; }
.kdd-prose h2 { font-family: var(--font-heading); font-weight: 700; font-size: var(--fs-h3); line-height: var(--lh-h3); margin-top: 24px; }
.kdd-prose h2:first-child { margin-top: 0; }
.kdd-prose p, .kdd-prose li { color: var(--color-ink-900); }
.kdd-prose ul { margin: 0; padding-left: 22px; display: grid; gap: 6px; }
.kdd-prose a { text-decoration: underline; }

/* ---------------------------------------------------------------- footer */
.kdd-footer__h { font-family: var(--font-mono); font-weight: 500; font-size: 12px; line-height: 16px; letter-spacing: var(--tracking-eyebrow); text-transform: uppercase; color: var(--color-green-300); margin: 0 0 12px; }
.kdd-footer li { color: var(--color-blue-200); }
@media (min-width: 768px) { .kdd-footer__cols { grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); } }
.kdd-footer--lp { padding: 32px 0; }
.kdd-footer__lp { display: flex; flex-wrap: wrap; gap: 16px; justify-content: space-between; align-items: center; }
.kdd-footer__lp > span { max-width: 70ch; }
.kdd-footer__lp a { color: var(--color-blue-200); }

/* ---------------------------------------------------------------- mobile bottom bar */
.kdd-bbar--single { grid-template-columns: 1fr; }
@media (max-width: 1023px) {
	body.kdd-has-bbar { padding-bottom: calc(var(--bottom-bar-h) + 16px + env(safe-area-inset-bottom)); }
	body.kdd-menu-open .kdd-bbar { display: none; }
}

/* ---------------------------------------------------------------- forms (Contact Form 7 inside the design-system form) */
.kdd-form-wrap .wpcf7 { margin: 0; }
.kdd-form-wrap .hidden-fields-container { display: none; border: 0; margin: 0; padding: 0; }
.kdd-form-wrap .wpcf7-form-control-wrap { display: block; position: relative; }
.kdd-form-wrap .kdd-input-wrap--lead .wpcf7-form-control-wrap,
.kdd-form-wrap .kdd-input-wrap--select .wpcf7-form-control-wrap { position: static; }
.kdd-form-wrap .wpcf7-not-valid-tip { display: none; } /* kdd.js shows .kdd-field__err with the A6 wording */
.kdd-form-wrap .wpcf7-response-output { display: none !important; }
.kdd-form-wrap .wpcf7-spinner { display: none; }
.kdd-form-wrap .wpcf7 form .kdd-fform__status,
.kdd-fform__status { padding: 12px 14px; border-radius: var(--radius-sm); background: var(--surface-error); color: var(--color-error-600); font-weight: 500; font-size: 15px; line-height: 22px; border: 1px solid rgba(178,59,59,.3); }
.kdd-fform__legal { text-align: center; }
.kdd-fform__legal a { text-decoration: underline; }
.kdd-fform__grid--one { grid-template-columns: 1fr !important; }
.kdd-fform__grid--one .kdd-fform__full { grid-column: auto; }
.kdd-fform .kdd-field__err { margin-top: 2px; }
.kdd-fform select.kdd-input { -webkit-appearance: none; appearance: none; background-image: none; }
.kdd-fform select.kdd-input:invalid, .kdd-fform select.kdd-input option[value=""] { color: #8A94A1; }
.kdd-drop { position: relative; }
.kdd-drop .wpcf7-form-control-wrap { position: absolute; width: 1px; height: 1px; overflow: hidden; opacity: 0; }
.kdd-hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.kdd-btn--busy { opacity: .8; cursor: progress; }
.kdd-msf .kdd-h3:focus { outline: none; }
.kdd-msf__step { display: grid; gap: 16px; }
.kdd-msf:not(.kdd-msf--js) [data-kdd-next], .kdd-msf:not(.kdd-msf--js) [data-kdd-back] { display: none; }
#lp-form { scroll-margin-top: 88px; }
.kdd-hero--lp .kdd-fform { scroll-margin-top: 88px; }
