/* Berke bundle: berke-site-shell-v0404, berke-mobile-ux-v0409, berke-system-v0600, berke-iconography-v1, berke-system-v0200, berke-home-v0201, berke-design-contract-v0224 */
/* berke-site-shell-v0404 */
/** Berke 0.4.4 — final coded shell bridge. */
body.berke-release-0404 .berke-site-header,
body.berke-release-0404 .berke-site-footer {
    font-family: "IRANYekanX", Tahoma, Arial, sans-serif !important;
    font-style: normal !important;
    font-synthesis: none !important;
}

/* If Hello/Elementor emitted its own shell, keep only Berke's coded shell. */
body.berke-release-0404 > #site-header,
body.berke-release-0404 > header#site-header,
body.berke-release-0404 > .site-header:not(.berke-site-header),
body.berke-release-0404 > .elementor-location-header,
body.berke-release-0404 > #site-footer,
body.berke-release-0404 > footer#site-footer,
body.berke-release-0404 > .site-footer:not(.berke-site-footer),
body.berke-release-0404 > .elementor-location-footer {
    display: none !important;
}

/* Stable shell layer independent of historical release body classes. */
body.berke-release-0404 .berke-site-header {
    position: sticky;
    inset-block-start: 0;
    z-index: 1000;
    background: rgba(255,255,255,.96);
    border-bottom: 1px solid rgba(34,61,101,.10);
    box-shadow: 0 .45rem 1.6rem rgba(15,36,57,.07);
    backdrop-filter: blur(14px) saturate(125%);
    -webkit-backdrop-filter: blur(14px) saturate(125%);
}
body.berke-release-0404 .berke-site-footer {
    position: relative;
    z-index: 1;
}
body.berke-release-0404 .berke-menu > li > a,
body.berke-release-0404 .berke-mega-menu__trigger {
    font-size: .98rem !important;
    font-weight: 700 !important;
}
body.berke-release-0404 .berke-header-cta { font-size: .96rem !important; }
body.berke-release-0404 .berke-footer-brand__description,
body.berke-release-0404 .berke-footer-cta p { font-size: .98rem !important; line-height: 1.9 !important; }
body.berke-release-0404 .berke-footer-guides a,
body.berke-release-0404 .berke-footer-scope-list li,
body.berke-release-0404 .berke-footer-contact a,
body.berke-release-0404 .berke-footer-contact li > div > span { font-size: .88rem !important; }

@media (max-width: 63.999rem) {
    body.berke-release-0404 .berke-menu > li > a,
    body.berke-release-0404 .berke-mega-menu__trigger { font-size: .98rem !important; }
}
@media (prefers-reduced-motion: reduce) {
    body.berke-release-0404 .berke-site-header *,
    body.berke-release-0404 .berke-site-footer * { transition-duration: .01ms !important; animation-duration: .01ms !important; }
}


/* berke-mobile-ux-v0409 */
/**
 * Berke 0.4.9 — Mobile / tablet UX refinement.
 * Mobile is treated as an independent composition, not a scaled desktop page.
 */

/* Shared responsive foundations. */
html{scroll-padding-top:7rem}
.berke-core-section[id]{scroll-margin-top:6.5rem}
.berke-core-page,.berke-request-page{overflow-x:clip}
.berke-core-button,.berke-header-cta,.berke-mobile-cta,.berke-intake-submit,.berke-intake-wizard__nav button{touch-action:manipulation}
.berke-core-media-v0403 picture,.berke-core-media-v0403 picture img{display:block;width:100%}

/* Mobile action bar stays completely absent on desktop/tablet. */
.berke-mobile-actionbar{display:none}

/* Tablet quality pass: preserve whitespace and avoid stretched full-width text. */
@media (min-width:48rem) and (max-width:63.999rem){
	.berke-core-container,.berke-request-container,.berke-container{width:min(100% - 44px,72rem)}
	.berke-core-page-hero,.berke-core-hero{padding-block:clamp(3.5rem,6vw,5rem)}
	.berke-trust-hero .berke-core-page-hero__grid,.berke-request-hero-grid-0402{gap:2rem}
	.berke-core-page-hero__grid>div:first-child,.berke-home-hero__grid>.berke-core-hero__copy{max-width:52rem}
	.berke-home-principle-rail{grid-template-columns:repeat(2,minmax(0,1fr))!important}
	.berke-home-router__grid{gap:1rem}
	.berke-home-families--v0403,.berke-about-families-0403{grid-template-columns:repeat(2,minmax(0,1fr))!important}
	.berke-home-families--v0403 article:last-child,.berke-about-families-0403 article:last-child{grid-column:1/-1}
	.berke-service-family-nav{grid-template-columns:repeat(3,minmax(0,1fr))!important}
	.berke-about-layers{grid-template-columns:repeat(2,minmax(0,1fr))!important}
	.berke-cooperation-types{grid-template-columns:repeat(2,minmax(0,1fr))!important}
	.berke-contact-choice{gap:1rem}
	.berke-intake-form{max-width:58rem;margin-inline:auto}
	.berke-choice-grid--stage{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* Phone composition. */
@media (max-width:47.999rem){
	:root{--berke-mobile-gutter:18px;--berke-mobile-radius:18px;--berke-mobile-actionbar-h:0px}
	html{scroll-padding-top:5.4rem}
	body{max-width:100%;overflow-x:clip;-webkit-text-size-adjust:100%;text-size-adjust:100%}
	body.berke-mobile-actionbar-enabled{--berke-mobile-actionbar-h:68px;padding-bottom:calc(var(--berke-mobile-actionbar-h) + env(safe-area-inset-bottom))}
	body.berke-mobile-menu-open .berke-mobile-actionbar{display:none!important}
	.berke-container,.berke-core-container,.berke-request-container{width:calc(100% - (var(--berke-mobile-gutter) * 2))!important;max-width:none!important;margin-inline:auto!important}
	.berke-core-section[id]{scroll-margin-top:5.25rem}

	/* Header: smaller, denser, but no tiny touch targets. */
	.berke-site-header{background:rgba(255,255,255,.98)!important;box-shadow:0 1px 0 rgba(18,48,72,.08)!important}
	.berke-site-header__inner{min-height:4.25rem!important;gap:.55rem!important}
	.berke-site-branding__home{grid-template-columns:2.85rem minmax(0,1fr)!important;max-width:min(14rem,calc(100vw - 5.5rem))!important;gap:.55rem!important}
	.berke-site-branding__logo,.berke-site-branding__monogram{width:2.85rem!important;height:2.85rem!important}
	.berke-site-branding__title{font-size:.88rem!important;line-height:1.45!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
	.berke-site-branding__tagline{display:block!important;font-size:.6rem!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
	.berke-menu-toggle{width:3rem!important;height:3rem!important;min-width:3rem!important;min-height:3rem!important;padding:0!important;border-radius:.9rem!important;box-shadow:none!important}
	.berke-menu-toggle>span:last-child{display:none!important}

	/* Full-screen mobile drawer: simple surfaces, no expensive blur. */
	body>.berke-navigation-backdrop,body>button.berke-navigation-backdrop{background:rgba(10,31,49,.82)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
	body>.berke-primary-navigation{width:100vw!important;background:#f7fafc!important;box-shadow:none!important}
	.berke-mobile-drawer__header{min-height:4.65rem!important;padding:.72rem var(--berke-mobile-gutter)!important;padding-top:calc(.72rem + env(safe-area-inset-top))!important}
	.berke-mobile-drawer__heading strong{font-size:1rem!important}
	.berke-mobile-drawer__heading span{font-size:.72rem!important}
	.berke-mobile-drawer__close{width:3rem!important;height:3rem!important;border-radius:.9rem!important}
	.berke-mobile-drawer__body{padding:.65rem var(--berke-mobile-gutter) 1rem!important;scrollbar-width:none}
	.berke-mobile-drawer__body::-webkit-scrollbar{display:none}
	.berke-mobile-drawer__footer{padding:.7rem var(--berke-mobile-gutter) calc(.7rem + env(safe-area-inset-bottom))!important;box-shadow:0 -1px 0 rgba(17,49,73,.08)!important}
	.berke-menu{gap:.38rem!important}
	.berke-menu>li>a,.berke-mega-menu__trigger{min-height:3.45rem!important;padding:.65rem .72rem!important;font-size:.93rem!important;border-radius:.9rem!important;box-shadow:none!important}
	.berke-nav-icon--top{width:2.1rem!important;height:2.1rem!important}
	.berke-mega-menu__panel{padding-top:.5rem!important}
	.berke-mega-menu__overview{min-height:3.6rem!important;padding:.56rem .62rem!important;border-radius:.85rem!important;box-shadow:none!important}
	.berke-primary-navigation .berke-mega-menu__column-toggle{min-height:3.55rem!important;padding:.56rem .64rem!important;border-radius:.78rem!important}
	.berke-mega-menu__column{overflow:hidden;border:1px solid rgba(29,78,105,.08)!important;border-radius:.85rem!important;background:#fff!important}
	.berke-mega-menu__column+.berke-mega-menu__column{margin-top:.45rem}
	.berke-mega-menu__list{gap:.25rem!important;padding:.2rem .42rem .5rem!important}
	.berke-mega-menu__list a{min-height:3.25rem!important;padding:.56rem .6rem!important;border-radius:.72rem!important;background:#f9fbfc!important}
	.berke-mega-menu__item-copy strong{font-size:.87rem!important;line-height:1.55!important}
	.berke-mobile-quick-actions{gap:.5rem!important}
	.berke-mobile-tool,.berke-mobile-cta{min-height:3.25rem!important}

	/* Search becomes a bottom sheet on phones. */
	.berke-search-dialog{align-items:flex-end!important;padding:0!important}
	.berke-search-dialog__backdrop{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:rgba(10,31,49,.7)!important}
	.berke-search-dialog__panel{width:100%!important;max-width:none!important;margin:0!important;padding:1.15rem var(--berke-mobile-gutter) calc(1.15rem + env(safe-area-inset-bottom))!important;border-radius:1.35rem 1.35rem 0 0!important;box-shadow:0 -1rem 3rem rgba(13,37,55,.18)!important}
	.berke-search-dialog__panel h2{font-size:1.25rem!important;line-height:1.55!important}
	.berke-search-form{grid-template-columns:1fr!important;gap:.55rem!important}
	.berke-search-form__field,.berke-search-form__submit{min-height:3.25rem!important;font-size:1rem!important}

	/* Typography and spacing: mobile scale is purpose-built. */
	.berke-core-page{font-size:1rem!important;line-height:1.85!important}
	.berke-core-section{padding:3.1rem 0!important}
	.berke-core-page-hero,.berke-core-hero{padding:2.75rem 0 3.1rem!important}
	.berke-core-kicker,.berke-request-kicker{font-size:.78rem!important;letter-spacing:0!important}
	.berke-core-breadcrumb{font-size:.76rem!important;gap:.35rem!important;margin-bottom:.75rem!important;white-space:normal!important}
	.berke-core-page-hero h1,.berke-home-hero h1,.berke-request-page h1{font-size:clamp(2rem,9vw,2.75rem)!important;line-height:1.32!important;letter-spacing:-.02em!important;max-width:none!important}
	.berke-core-heading h2,.berke-core-final h2,.berke-request-form-heading h2{font-size:clamp(1.6rem,7.4vw,2.2rem)!important;line-height:1.45!important}
	.berke-core-lead,.berke-request-lead{font-size:.98rem!important;line-height:1.95!important}
	.berke-core-heading p:last-child{font-size:.95rem!important;line-height:1.9!important}
	.berke-core-actions{display:grid!important;grid-template-columns:1fr!important;gap:.58rem!important;width:100%!important;margin-top:1.15rem!important}
	.berke-core-button{display:flex!important;justify-content:center!important;width:100%!important;min-height:3.25rem!important;padding:.72rem 1rem!important;border-radius:.9rem!important;font-size:.94rem!important;text-align:center!important}

	/* Media: phone-specific 4:3 sources, softer corners/shadows. */
	.berke-core-media-v0403,.berke-core-concept-media,.berke-core-media{border-radius:1rem!important;box-shadow:0 10px 28px rgba(15,36,57,.07)!important}
	.berke-core-media-v0403 img,.berke-core-concept-media img{aspect-ratio:4/3!important;object-fit:cover!important}
	.berke-trust-hero .berke-core-page-hero__grid{gap:1.5rem!important}
	.berke-home-hero__grid{gap:1.5rem!important}
	.berke-home-hero__media{margin-top:.15rem!important}
	.berke-home-orbit{display:none!important}

	/* Home: compact decision-first experience. */
	.berke-home-principle-rail{display:flex!important;gap:.55rem!important;overflow-x:auto!important;scroll-snap-type:x proximity;padding:.15rem 0 .45rem!important;margin-top:1.15rem!important;scrollbar-width:none}
	.berke-home-principle-rail::-webkit-scrollbar{display:none}
	.berke-home-principle-rail>span{flex:0 0 auto;min-height:2.8rem;padding:.52rem .72rem!important;scroll-snap-align:start;border:1px solid #dce8ee;border-radius:999px;background:#fff;white-space:nowrap;font-size:.8rem!important}
	.berke-home-mini-icon{width:1.45rem!important;height:1.45rem!important}
	.berke-home-router__grid{grid-template-columns:1fr!important;gap:.72rem!important}
	.berke-home-route{grid-template-columns:2.5rem minmax(0,1fr)!important;gap:.7rem!important;padding:1.05rem!important;border-radius:1.05rem!important;box-shadow:none!important}
	.berke-home-route__icon{width:2.5rem!important;height:2.5rem!important}
	.berke-home-route__index{display:none!important}
	.berke-home-route h3{font-size:1.08rem!important;line-height:1.6!important}
	.berke-home-route p{font-size:.88rem!important;line-height:1.85!important}
	.berke-home-families--v0403{display:grid!important;grid-template-columns:none!important;grid-auto-flow:column!important;grid-auto-columns:minmax(82%,1fr)!important;gap:.7rem!important;overflow-x:auto!important;scroll-snap-type:x mandatory;padding:.15rem 0 .55rem!important;scrollbar-width:none}
	.berke-home-families--v0403::-webkit-scrollbar{display:none}
	.berke-home-families--v0403 article{scroll-snap-align:start;padding:1.25rem!important;border-radius:1.05rem!important;box-shadow:none!important}
	.berke-home-pillar-icon{width:2.65rem!important;height:2.65rem!important}
	.berke-home-service-layout{gap:1.2rem!important}
	.berke-home-service-row{grid-template-columns:2rem minmax(0,1fr) 1.2rem!important;gap:.55rem!important;padding:1rem .15rem!important}
	.berke-home-service-row__num{font-size:.72rem!important}
	.berke-home-service-row h3{font-size:1rem!important;line-height:1.55!important}
	.berke-home-service-row p{margin-top:.22rem!important;font-size:.82rem!important;line-height:1.75!important}
	.berke-home-diagnosis{gap:1.35rem!important}
	.berke-home-diagnosis .berke-core-media img{aspect-ratio:4/3!important;object-fit:cover!important}
	.berke-core-checks{gap:.55rem!important;padding:0!important}
	.berke-core-checks li{line-height:1.8!important}
	.berke-home-evidence-model{gap:.55rem!important}
	.berke-core-process{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:.55rem!important}
	.berke-core-process>div{padding:1rem!important}

	/* Services hub: horizontal family navigator + readable service cards. */
	.berke-services-v0400 .berke-core-side-note{padding:1rem!important;border-radius:1rem!important}
	.berke-service-family-nav{display:grid!important;grid-template-columns:none!important;grid-auto-flow:column!important;grid-auto-columns:minmax(84%,1fr)!important;gap:.65rem!important;overflow-x:auto!important;scroll-snap-type:x mandatory;padding:.15rem 0 .55rem!important;scrollbar-width:none}
	.berke-service-family-nav::-webkit-scrollbar{display:none}
	.berke-service-family-nav a{scroll-snap-align:start;min-height:7.2rem!important;padding:1rem!important;border-radius:1rem!important;box-shadow:none!important}
	.berke-service-family{gap:1.15rem!important}
	.berke-service-family__intro h2{font-size:1.7rem!important}
	.berke-service-family__items{gap:.55rem!important}
	.berke-service-family__items>a{min-height:4.5rem!important;padding:.9rem 1rem!important;border-radius:.92rem!important;box-shadow:none!important}
	.berke-service-family__items h3{font-size:.98rem!important;line-height:1.6!important}
	.berke-service-family__items p{font-size:.82rem!important;line-height:1.75!important}
	.berke-services-decision{gap:1rem!important}

	/* About: keep substance, reduce vertical fatigue. */
	.berke-about-story,.berke-about-scope,.berke-about-tehran,.berke-about-evidence{gap:1.25rem!important}
	.berke-about-story h2,.berke-about-scope__main h2,.berke-about-tehran h2{font-size:1.7rem!important}
	.berke-about-scope__grid,.berke-about-layers,.berke-about-families-0403,.berke-about-questions{grid-template-columns:1fr!important;gap:.6rem!important}
	.berke-about-scope__grid article,.berke-about-layers article,.berke-about-families-0403 article,.berke-about-questions article{padding:1rem!important;border-radius:.95rem!important;box-shadow:none!important}
	.berke-about-principles{gap:1.2rem!important}
	.berke-about-principles ol{grid-template-columns:1fr!important;gap:.55rem!important}
	.berke-about-principles li{grid-template-columns:2.3rem minmax(0,1fr)!important;padding:.9rem!important}

	/* Contact: direct action first, facts compact. */
	.berke-contact-choice{grid-template-columns:1fr!important;gap:.7rem!important}
	.berke-contact-choice__call,.berke-contact-choice__request{min-height:0!important;padding:1.15rem!important;border-radius:1.05rem!important;box-shadow:none!important}
	.berke-contact-choice__call strong{font-size:1.8rem!important}
	.berke-contact-choice__request h2{font-size:1.55rem!important}
	.berke-contact-facts{grid-template-columns:1fr!important;gap:.5rem!important}
	.berke-contact-facts>div{grid-template-columns:2.45rem minmax(0,1fr)!important;min-height:0!important;padding:.8rem .9rem!important;border-radius:.9rem!important}
	.berke-contact-facts>div>span{width:2.45rem!important;height:2.45rem!important}
	.berke-contact-guide-0403,.berke-contact-paths{gap:1rem!important}

	/* Cooperation: mobile cards and form are compact and touch-first. */
	.berke-cooperation-intro__grid,.berke-cooperation-model,.berke-cooperation-form-layout{gap:1.25rem!important}
	.berke-cooperation-types{display:grid!important;grid-template-columns:none!important;grid-auto-flow:column!important;grid-auto-columns:minmax(84%,1fr)!important;gap:.65rem!important;overflow-x:auto!important;scroll-snap-type:x mandatory;padding:.15rem 0 .55rem!important;scrollbar-width:none}
	.berke-cooperation-types::-webkit-scrollbar{display:none}
	.berke-cooperation-types article{scroll-snap-align:start;padding:1.05rem!important;border-radius:.95rem!important}
	.berke-cooperation-values{grid-template-columns:1fr!important;gap:.55rem!important}
	.berke-cooperation-form-copy{position:static!important}
	.berke-cooperation-form{padding:.9rem!important;border-radius:1rem!important;box-shadow:none!important}

	/* Request page: conversion content reaches the form quickly. */
	.berke-request-hero--v0402{padding:2.45rem 0 2.2rem!important}
	.berke-request-hero-grid-0402,.berke-request-hero-grid-0403{grid-template-columns:1fr!important;gap:1.15rem!important}
	.berke-request-hero-grid-0403 .berke-core-media-v0403--request{display:none!important}
	.berke-request-mini-process{display:flex!important;flex-wrap:nowrap!important;gap:.45rem!important;overflow-x:auto!important;padding-bottom:.25rem!important;scrollbar-width:none}
	.berke-request-mini-process::-webkit-scrollbar{display:none}
	.berke-request-mini-process span{flex:0 0 auto!important;justify-content:flex-start!important;min-height:2.5rem!important;padding:.4rem .58rem!important;font-size:.76rem!important;white-space:nowrap!important}
	.berke-request-phone--inline{display:flex!important;justify-content:space-between!important;width:100%!important;min-height:3rem!important;padding:.65rem .8rem!important;border:1px solid #dce8ee;border-radius:.9rem;background:#fff}
	.berke-request-form-section{padding:2.6rem 0 3.5rem!important}
	.berke-request-form-heading{margin-bottom:.9rem!important}
	.berke-request-form-main--focused{max-width:none!important}
	.berke-intake-form{padding:.82rem!important;border-radius:1rem!important;box-shadow:none!important}
	.berke-request-page--v0401 .berke-intake-form.is-wizard{overflow:visible!important}
	.berke-intake-step{padding:1rem 0!important}
	.berke-intake-step__head{grid-template-columns:2.35rem minmax(0,1fr)!important;gap:.65rem!important;margin-bottom:.8rem!important}
	.berke-intake-step__head>span{width:2.35rem!important;height:2.35rem!important}
	.berke-intake-step__head strong{font-size:1rem!important}
	.berke-intake-step__head small{font-size:.78rem!important;line-height:1.7!important}
	.berke-intake-grid{grid-template-columns:1fr!important;gap:.72rem!important}
	.berke-intake-field,.berke-intake-field--wide{grid-column:auto!important;min-width:0!important}
	.berke-intake-field input,.berke-intake-field textarea,.berke-intake-field select{min-height:3.2rem!important;font-size:1rem!important;border-radius:.82rem!important}
	.berke-intake-field textarea{min-height:7.5rem!important}
	.berke-service-picker{padding:0!important}
	.berke-service-picker__hint{font-size:.78rem!important;margin-bottom:.55rem!important}
	.berke-service-picker__groups{gap:.48rem!important}
	.berke-service-picker__group{border-radius:.9rem!important;box-shadow:none!important}
	.berke-service-picker__group>summary{grid-template-columns:minmax(0,1fr) auto 1rem!important;min-height:3.75rem!important;padding:.62rem .72rem!important}
	.berke-service-picker__chevron{display:block!important;width:.55rem!important;height:.55rem!important}
	.berke-service-picker__summary-copy strong{font-size:.92rem!important}
	.berke-service-picker__summary-copy small{display:none!important}
	.berke-service-picker__options{grid-template-columns:1fr!important;gap:.42rem!important;padding:.15rem .5rem .55rem!important}
	.berke-service-picker__option{min-height:3.35rem!important;padding:.58rem .68rem!important;border-radius:.78rem!important;transform:none!important}
	.berke-service-picker__option-copy strong{font-size:.87rem!important}
	.berke-choice-field__hint{font-size:.76rem!important;margin-bottom:.5rem!important}
	.berke-choice-grid,.berke-choice-grid--stage{grid-template-columns:1fr!important;gap:.42rem!important}
	.berke-choice-card__surface{min-height:3.3rem!important;padding:.58rem .68rem!important;border-radius:.78rem!important;font-size:.87rem!important;box-shadow:none!important;transform:none!important}
	.berke-intake-wizard__progress{position:sticky;top:4.35rem;z-index:4;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:.25rem!important;margin:0 -.82rem .9rem!important;padding:.55rem .82rem!important;background:rgba(255,255,255,.98);border-bottom:1px solid #e3edf1;box-shadow:0 .35rem .8rem rgba(15,36,57,.035)}
	.berke-intake-wizard__progress span{display:flex!important;justify-content:center!important;gap:.3rem!important;font-size:.68rem!important;white-space:nowrap!important}
	.berke-intake-wizard__progress b{width:1.45rem!important;height:1.45rem!important;font-size:.68rem!important}
	.berke-intake-wizard__nav{position:sticky;bottom:calc(var(--berke-mobile-actionbar-h,0px) + .35rem);z-index:3;grid-template-columns:1fr 1fr!important;gap:.48rem!important;margin:1rem -.15rem 0!important;padding:.35rem!important;border-radius:.92rem;background:rgba(255,255,255,.96);box-shadow:0 .55rem 1.6rem rgba(15,36,57,.09)}
	.berke-intake-wizard__nav button,.berke-intake-submit{min-height:3.2rem!important;border-radius:.78rem!important;font-size:.9rem!important}
	.berke-request-after-form{grid-template-columns:1fr!important;gap:.55rem!important;padding:.8rem!important;border-radius:.9rem!important}

	/* Footer: smaller visual footprint with preserved trust/contact info. */
	.berke-footer-principles__grid{display:grid!important;grid-template-columns:none!important;grid-auto-flow:column!important;grid-auto-columns:minmax(80%,1fr)!important;gap:.55rem!important;overflow-x:auto!important;scroll-snap-type:x mandatory;padding-bottom:.4rem!important;scrollbar-width:none}
	.berke-footer-principles__grid::-webkit-scrollbar{display:none}
	.berke-footer-principle{scroll-snap-align:start;padding:.85rem!important}
	.berke-footer-main{padding-block:2.1rem!important}
	.berke-footer-grid{gap:1.6rem!important}
	.berke-footer-brand__description{font-size:.88rem!important;line-height:1.8!important}
	.berke-footer-section h2{font-size:1rem!important;margin-bottom:.65rem!important}
	.berke-footer-guides ul{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:.35rem .65rem!important}
	.berke-footer-guides a{min-height:2.9rem!important;font-size:.82rem!important}
	.berke-footer-contact ul{gap:.4rem!important}
	.berke-footer-contact li{min-height:0!important;padding:.45rem 0!important}
	.berke-footer-bottom__inner{font-size:.72rem!important;line-height:1.7!important}
	.berke-back-to-top{bottom:calc(var(--berke-mobile-actionbar-h) + env(safe-area-inset-bottom) + .75rem)!important;width:2.8rem!important;height:2.8rem!important}

	/* Fixed mobile action bar: 2 clear actions, safe-area aware. */
	.berke-mobile-actionbar{position:fixed;z-index:10020;right:var(--berke-mobile-gutter);left:var(--berke-mobile-gutter);bottom:calc(.45rem + env(safe-area-inset-bottom));display:grid;grid-template-columns:minmax(5.8rem,.72fr) minmax(0,1.55fr);gap:.45rem;height:var(--berke-mobile-actionbar-h);padding:.42rem;border:1px solid rgba(33,82,108,.12);border-radius:1.08rem;background:rgba(255,255,255,.97);box-shadow:0 .8rem 2.2rem rgba(13,37,55,.16)}
	.berke-mobile-actionbar a{display:flex;align-items:center;justify-content:center;gap:.45rem;min-width:0;height:100%;text-decoration:none;border-radius:.78rem;font-size:.86rem;font-weight:800}
	.berke-mobile-actionbar__call{color:#173f55;background:#edf5f8}
	.berke-mobile-actionbar__call>span{display:grid;place-items:center;width:1.6rem;height:1.6rem}
	.berke-mobile-actionbar__call svg{width:1.05rem;height:1.05rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
	.berke-mobile-actionbar__request{color:#fff;background:#223d65}
	.berke-mobile-actionbar__request>span{font-size:1rem}

	/* iOS/Android input behavior and text resilience. */
	input,textarea,button{font-size:max(16px,1em)}
	.berke-core-page a,.berke-request-page a,.berke-site-footer a{overflow-wrap:break-word}
}

/* Very narrow devices: preserve hierarchy instead of shrinking to unreadable type. */
@media (max-width:23.5rem){
	:root{--berke-mobile-gutter:14px}
	.berke-site-branding__tagline{display:none!important}
	.berke-site-branding__home{max-width:11.5rem!important}
	.berke-core-page-hero h1,.berke-home-hero h1,.berke-request-page h1{font-size:1.9rem!important}
	.berke-home-families--v0403,.berke-service-family-nav,.berke-cooperation-types{grid-auto-columns:minmax(90%,1fr)!important}
	.berke-core-process{grid-template-columns:1fr!important}
	.berke-footer-guides ul{grid-template-columns:1fr!important}
	.berke-mobile-actionbar{grid-template-columns:5.3rem minmax(0,1fr)}
	.berke-mobile-actionbar a{font-size:.8rem}
	.berke-intake-wizard__progress span{font-size:.62rem!important}
}

/* Motion/accessibility: user preference always wins. */
@media (prefers-reduced-motion:reduce){
	*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
}


/* berke-system-v0600 */
/**
 * Berke System 0.6.0 — stabilized front-end contract.
 *
 * Purpose:
 * 1) keep a single typography scale and RTL composition contract;
 * 2) establish shared container/spacing/card/control behavior;
 * 3) normalize historical Berke/Elementor surfaces while they are migrated;
 * 4) avoid changing stored WordPress content.
 */

/* -------------------------------------------------------------------------
 * RTL / bidi contract
 * ---------------------------------------------------------------------- */
body.berke-system-v0600 {
	direction: rtl;
	font-size: var(--berke-type-body);
	line-height: var(--berke-leading-body);
}

body.berke-system-v0600 :where(
	.berke-core-page,
	.berke-p0006,
	.berke-tankseal,
	.berke-site-header,
	.berke-site-footer,
	.berke-mobile-panel,
	.berke-search-dialog,
	.berke-intake-form,
	.berke-service-context-link,
	.elementor
) {
	direction: rtl;
}

body.berke-system-v0600 :where(
	.berke-core-container,
	.berke-core-actions,
	.berke-home-families,
	.berke-service-family-nav,
	.berke-service-family,
	.berke-service-family__items,
	.berke-services-paths,
	.berke-projects-framework,
	.berke-tankseal-hero__grid,
	.berke-tankseal-trust,
	.berke-tankseal-cause-grid,
	.berke-tankseal-choice,
	.berke-tankseal-proof__grid,
	.berke-tankseal-type-grid,
	.berke-tankseal-timeline,
	.berke-tankseal-impact-grid,
	.berke-tankseal-trust-grid,
	.berke-tankseal-info__grid,
	.berke-tankseal-related__layout,
	.berke-tankseal-inquiry__grid,
	.berke-tankseal-related__links,
	.berke-intake-grid,
	.berke-intake-actions,
	.berke-mobile-panel__inner,
	.elementor-container,
	.elementor-row
) {
	direction: rtl;
}

body.berke-system-v0600 :where(input, textarea, select, button) {
	direction: rtl;
	text-align: start;
}

body.berke-system-v0600 :where(
	input[type="tel"],
	input[type="email"],
	input[type="url"],
	[data-berke-ltr],
	.berke-bidi-ltr,
	.berke-tankseal-inquiry__call a
) {
	direction: ltr;
	text-align: right;
	unicode-bidi: plaintext;
}

/* -------------------------------------------------------------------------
 * Typography contract
 * ---------------------------------------------------------------------- */
body.berke-system-v0600 :where(h1, h2, h3, h4, h5, h6) {
	letter-spacing: 0 !important;
	text-wrap: balance;
}

body.berke-system-v0600 :where(h1, .elementor-widget-heading h1.elementor-heading-title) {
	font-size: var(--berke-type-h1) !important;
	font-weight: 800 !important;
	line-height: var(--berke-leading-display) !important;
}

body.berke-system-v0600 :where(h2, .elementor-widget-heading h2.elementor-heading-title) {
	font-size: var(--berke-type-h2) !important;
	font-weight: 700 !important;
	line-height: var(--berke-leading-heading) !important;
}

body.berke-system-v0600 :where(h3, .elementor-widget-heading h3.elementor-heading-title) {
	font-size: var(--berke-type-h3) !important;
	font-weight: 700 !important;
	line-height: var(--berke-leading-heading) !important;
}

body.berke-system-v0600 :where(h4, .elementor-widget-heading h4.elementor-heading-title) {
	font-size: var(--berke-type-h4) !important;
	font-weight: 600 !important;
	line-height: 1.65 !important;
}

body.berke-system-v0600 :where(h5, h6) {
	font-size: 1rem !important;
	font-weight: 600 !important;
	line-height: 1.7 !important;
}

body.berke-system-v0600 :where(p, li, dd, dt, blockquote) {
	line-height: var(--berke-leading-body);
}

body.berke-system-v0600 :where(.elementor-widget-text-editor, .elementor-widget-text-editor p) {
	font-size: var(--berke-type-body);
	line-height: var(--berke-leading-body);
}

body.berke-system-v0600 :where(
	.berke-core-button,
	.berke-ui-button,
	.berke-header-cta,
	.berke-mobile-cta,
	.berke-intake-submit,
	button,
	input[type="submit"]
) {
	font-size: var(--berke-type-control) !important;
	line-height: 1.55 !important;
}

body.berke-system-v0600 :where(label, .berke-field-label, .elementor-field-label) {
	font-size: var(--berke-type-small) !important;
	line-height: 1.75 !important;
}

body.berke-system-v0600 :where(input, textarea, select, .elementor-field) {
	font-size: 1rem !important;
	line-height: 1.75 !important;
}

body.berke-system-v0600 :where(small, figcaption, .berke-text-small) {
	font-size: var(--berke-type-caption) !important;
	line-height: 1.75 !important;
}

/* Metadata/captions may be compact but never become unreadable. */
body.berke-system-v0600 :where(.berke-core-page, .berke-p0006, .berke-tankseal) :where(
	.berke-core-kicker,
	[class*="__eyebrow"],
	[class*="__label"],
	[class*="__meta"],
	[class*="__caption"]
) {
	font-size: var(--berke-type-caption) !important;
	line-height: var(--berke-leading-compact) !important;
}

body.berke-system-v0600 :where(.berke-core-page, .berke-p0006, .berke-tankseal) :where(
	article p,
	article li,
	[class*="card"] p,
	[class*="card"] li,
	[class*="grid"] p,
	[class*="grid"] li
) {
	font-size: var(--berke-type-card) !important;
	line-height: 1.86 !important;
}

/* -------------------------------------------------------------------------
 * Shared layout rhythm
 * ---------------------------------------------------------------------- */
body.berke-system-v0600 :where(.berke-container, .berke-core-container) {
	inline-size: min(calc(100% - (2 * var(--berke-gutter))), var(--berke-container));
	margin-inline: auto;
}

body.berke-system-v0600 :where(.berke-core-page, .berke-p0006, .berke-tankseal) :where(
	.berke-core-lead,
	.berke-home-hero__lead,
	.berke-core-hero__lead,
	.berke-tankseal-lead
) {
	font-size: var(--berke-type-lead) !important;
	line-height: 1.9 !important;
	max-inline-size: var(--berke-content-measure-wide);
}

/* New/shared cards use one family of geometry. Historical components keep
 * their semantics, but excessive decorative radius/shadow is restrained. */
body.berke-system-v0600 :where(
	.berke-ui-card,
	.berke-core-card,
	.berke-service-picker__option,
	.berke-choice-field__option
) {
	border: var(--berke-border-subtle);
	border-radius: var(--berke-radius-md);
	background: var(--berke-color-surface-elevated);
	box-shadow: var(--berke-shadow-xs);
}

body.berke-system-v0600 :where(
	.berke-ui-button,
	.berke-core-button,
	.berke-header-cta,
	.berke-mobile-cta,
	.berke-intake-submit,
	button,
	input[type="submit"]
) {
	min-block-size: var(--berke-control-min-touch);
}

/* Logical alignment is preferred for Persian copy. */
body.berke-system-v0600 :where(
	.berke-core-page,
	.berke-p0006,
	.berke-tankseal,
	.berke-site-footer,
	.berke-intake-form
) :where(h1, h2, h3, h4, p, li, label, summary) {
	text-align: start;
}

/* -------------------------------------------------------------------------
 * Core page calibration
 * ---------------------------------------------------------------------- */
body.berke-system-v0600 .berke-core-page {
	font-size: var(--berke-type-body) !important;
	line-height: var(--berke-leading-body) !important;
}

body.berke-system-v0600 .berke-core-page :where(
	.berke-home-families h3,
	.berke-service-family__items h3,
	.berke-home-projects-preview h3
) {
	font-size: var(--berke-type-h3) !important;
}

/* -------------------------------------------------------------------------
 * P-0007 calibration — latest service reference page
 * ---------------------------------------------------------------------- */
body.berke-system-v0600 .berke-tankseal {
	font-size: var(--berke-type-body) !important;
	line-height: var(--berke-leading-body) !important;
}

body.berke-system-v0600 .berke-tankseal .berke-tankseal-hero__copy h1 {
	max-inline-size: 17ch;
	font-size: var(--berke-type-display) !important;
	font-weight: 800 !important;
	line-height: 1.4 !important;
}

body.berke-system-v0600 .berke-tankseal :where(
	.berke-tankseal-heading h2,
	.berke-tankseal-split h2,
	.berke-tankseal-proof h2,
	.berke-tankseal-cost h2,
	.berke-tankseal-inquiry h2,
	.berke-tankseal-signature__intro h2,
	.berke-tankseal-faq__intro h2,
	.berke-tankseal-related h2
) {
	font-size: var(--berke-type-h2) !important;
	line-height: 1.55 !important;
}

body.berke-system-v0600 .berke-tankseal :where(
	.berke-tankseal-cause-grid h3,
	.berke-tankseal-type h3,
	.berke-tankseal-choice h3,
	.berke-tankseal-impact-grid h3,
	.berke-tankseal-trust-grid h3,
	.berke-tankseal-resource-grid h3
) {
	font-size: var(--berke-type-h3) !important;
	line-height: 1.62 !important;
}

body.berke-system-v0600 .berke-tankseal :where(
	.berke-tankseal-cause-grid p,
	.berke-tankseal-type p,
	.berke-tankseal-choice p,
	.berke-tankseal-impact-grid p,
	.berke-tankseal-trust-grid p,
	.berke-tankseal-resource-grid p,
	.berke-tankseal-faq details p,
	.berke-tankseal-related__links span,
	.berke-tankseal-inquiry__promise span
) {
	font-size: var(--berke-type-card) !important;
	line-height: 1.88 !important;
}

body.berke-system-v0600 .berke-tankseal :where(
	.berke-tankseal-breadcrumb .berke-core-container,
	.berke-tankseal-anchorbar a,
	.berke-tankseal-trust b,
	.berke-tankseal-trust small,
	.berke-tankseal-faq summary,
	.berke-tankseal-related__links b,
	.berke-intake-context-confirmation span,
	.berke-intake-context-confirmation strong,
	.berke-p0007-form-progress,
	.berke-p0007-form-nav button
) {
	font-size: var(--berke-type-small) !important;
}

body.berke-system-v0600 .berke-tankseal .berke-tankseal-anchorbar .berke-core-container {
	justify-content: flex-start;
}

/* Horizontal rails begin at the RTL start edge and preserve breathing room. */
body.berke-system-v0600 :where(
	.berke-tankseal-trust,
	.berke-tankseal-cause-grid,
	.berke-tankseal-type-grid,
	.berke-tankseal-info__grid,
	.berke-services-paths,
	.berke-projects-framework
) {
	direction: rtl;
	scroll-padding-inline-start: var(--berke-gutter);
}

/* -------------------------------------------------------------------------
 * Header / footer / historical readability floor
 * ---------------------------------------------------------------------- */
body.berke-system-v0600 :where(
	.berke-site-branding__tagline,
	.berke-mobile-drawer__heading span,
	.berke-core-label,
	.berke-core-media__caption span,
	.berke-home-service-row__num,
	.berke-core-process li > span,
	.berke-service-family-nav a > span,
	.berke-about-principles li > span,
	.berke-project-card dt,
	.berke-request-mini-process span,
	.berke-service-picker__hint,
	.berke-choice-field__hint,
	.berke-intake-wizard__progress span,
	.berke-intake-wizard__progress b,
	.berke-footer-bottom__inner,
	.berke-mobile-actionbar a
) {
	font-size: var(--berke-type-caption) !important;
	line-height: var(--berke-leading-compact) !important;
}

body.berke-system-v0600 .berke-tankseal :where(
	.berke-tankseal-hero__caption span,
	.berke-tankseal-hero__caption strong,
	.berke-tankseal-choice__label,
	.berke-tankseal-choice ul,
	.berke-tankseal-choice__statement span,
	.berke-tankseal-type strong,
	.berke-tankseal-type a,
	.berke-tankseal-potable__facts b,
	.berke-tankseal-potable__facts span,
	.berke-tankseal-timeline li > span,
	.berke-tankseal-timeline p,
	.berke-tankseal-impact-grid article > span,
	.berke-tankseal-trust-grid span,
	.berke-tankseal-info__grid span,
	.berke-tankseal-resource-grid > a > span,
	.berke-tankseal-inquiry__call span
) {
	font-size: var(--berke-type-caption) !important;
	line-height: 1.75 !important;
}

body.berke-system-v0600 :where(
	.berke-site-header a,
	.berke-site-header button,
	.berke-site-footer a,
	.berke-mobile-panel a,
	.berke-mobile-panel button
) {
	font-size: var(--berke-type-small);
	line-height: 1.65;
}

/* -------------------------------------------------------------------------
 * Responsive contract
 * ---------------------------------------------------------------------- */
@media (max-width: 47.999rem) {
	body.berke-system-v0600 .berke-tankseal .berke-tankseal-hero__copy h1 {
		font-size: var(--berke-type-display) !important;
		line-height: 1.47 !important;
	}

	body.berke-system-v0600 :where(
		.berke-tankseal-anchorbar .berke-core-container,
		.berke-tankseal-trust,
		.berke-tankseal-cause-grid,
		.berke-tankseal-type-grid,
		.berke-tankseal-info__grid
	) {
		direction: rtl;
	}

	body.berke-system-v0600 :where(input, textarea, select, .elementor-field) {
		font-size: 1rem !important; /* iOS zoom guard */
	}
}

@media (prefers-reduced-motion: reduce) {
	body.berke-system-v0600 *,
	body.berke-system-v0600 *::before,
	body.berke-system-v0600 *::after {
		scroll-behavior: auto !important;
	}
}

/* -------------------------------------------------------------------------
 * 0.10.1 — Canonical site-shell typography (header + footer)
 *
 * This is the effective compatibility contract for the historical coded shell.
 * It intentionally loads after legacy shell/mobile polish so tiny historical
 * Persian type cannot reappear at a breakpoint. New shell work should consume
 * these same tokens directly rather than introduce another scale.
 * ---------------------------------------------------------------------- */
body.berke-system-v0600 .berke-site-header .berke-site-branding__title {
	font-size: var(--berke-type-h4) !important;
	font-weight: 800 !important;
	line-height: var(--berke-leading-heading) !important;
}
body.berke-system-v0600 .berke-site-header .berke-site-branding__tagline,
body.berke-system-v0600 .berke-site-header.is-scrolled .berke-site-branding__tagline,
body.berke-system-v0600 .berke-site-header .berke-mobile-drawer__heading span,
body.berke-system-v0600 .berke-site-header .berke-mega-menu__overview-copy small,
body.berke-system-v0600 .berke-site-header .berke-mega-menu__description,
body.berke-system-v0600 .berke-site-header .berke-mega-menu__item-copy span {
	font-size: var(--berke-type-caption) !important;
	line-height: var(--berke-leading-compact) !important;
}
body.berke-system-v0600 .berke-site-header .berke-menu > li > a,
body.berke-system-v0600 .berke-site-header .berke-mega-menu__trigger {
	font-size: var(--berke-type-small) !important;
	font-weight: 700 !important;
	line-height: var(--berke-leading-compact) !important;
}
body.berke-system-v0600 .berke-site-header .berke-header-cta,
body.berke-system-v0600 .berke-site-header .berke-mobile-cta,
body.berke-system-v0600 .berke-site-header .berke-menu-toggle {
	font-size: var(--berke-type-control) !important;
	font-weight: 700 !important;
}
body.berke-system-v0600 .berke-site-header .berke-mobile-drawer__heading strong,
body.berke-system-v0600 .berke-site-header .berke-mega-menu__overview-copy strong,
body.berke-system-v0600 .berke-site-header .berke-mega-menu__title {
	font-size: var(--berke-type-h4) !important;
	font-weight: 800 !important;
	line-height: var(--berke-leading-heading) !important;
}
body.berke-system-v0600 .berke-site-header .berke-mega-menu__item-copy strong {
	font-size: var(--berke-type-small) !important;
	font-weight: 700 !important;
	line-height: var(--berke-leading-compact) !important;
}

body.berke-system-v0600 .berke-site-footer .berke-footer-eyebrow,
body.berke-system-v0600 .berke-site-footer .berke-footer-call__copy small,
body.berke-system-v0600 .berke-site-footer .berke-footer-brand__identity > div > span,
body.berke-system-v0600 .berke-site-footer .berke-footer-brand__promise,
body.berke-system-v0600 .berke-site-footer .berke-footer-contact small,
body.berke-system-v0600 .berke-site-footer .berke-footer-bottom p,
body.berke-system-v0600 .berke-site-footer .berke-footer-bottom__inner {
	font-size: var(--berke-type-caption) !important;
	line-height: var(--berke-leading-compact) !important;
}
body.berke-system-v0600 .berke-site-footer .berke-footer-cta p {
	font-size: var(--berke-type-body) !important;
	line-height: var(--berke-leading-body) !important;
}
body.berke-system-v0600 .berke-site-footer .berke-footer-call__copy strong,
body.berke-system-v0600 .berke-site-footer .berke-footer-brand__identity h2 {
	font-size: var(--berke-type-h4) !important;
	font-weight: 800 !important;
	line-height: var(--berke-leading-heading) !important;
}
body.berke-system-v0600 .berke-site-footer .berke-footer-section h2 {
	font-size: var(--berke-type-control) !important;
	font-weight: 800 !important;
	line-height: var(--berke-leading-heading) !important;
}
body.berke-system-v0600 .berke-site-footer .berke-footer-brand__description,
body.berke-system-v0600 .berke-site-footer .berke-footer-scope-list li,
body.berke-system-v0600 .berke-site-footer .berke-footer-guides a,
body.berke-system-v0600 .berke-site-footer .berke-footer-contact li > div > span,
body.berke-system-v0600 .berke-site-footer .berke-footer-contact a {
	font-size: var(--berke-type-small) !important;
	line-height: var(--berke-leading-body) !important;
}

@media (max-width: 47.999rem) {
	body.berke-system-v0600 .berke-site-header .berke-site-branding__tagline,
	body.berke-system-v0600 .berke-site-header .berke-mobile-drawer__heading span,
	body.berke-system-v0600 .berke-site-footer .berke-footer-eyebrow,
	body.berke-system-v0600 .berke-site-footer .berke-footer-call__copy small,
	body.berke-system-v0600 .berke-site-footer .berke-footer-brand__identity > div > span,
	body.berke-system-v0600 .berke-site-footer .berke-footer-brand__promise,
	body.berke-system-v0600 .berke-site-footer .berke-footer-contact small,
	body.berke-system-v0600 .berke-site-footer .berke-footer-bottom p,
	body.berke-system-v0600 .berke-site-footer .berke-footer-bottom__inner {
		font-size: var(--berke-type-caption) !important;
	}
	body.berke-system-v0600 .berke-site-footer .berke-footer-brand__description,
	body.berke-system-v0600 .berke-site-footer .berke-footer-scope-list li,
	body.berke-system-v0600 .berke-site-footer .berke-footer-guides a,
	body.berke-system-v0600 .berke-site-footer .berke-footer-contact li > div > span,
	body.berke-system-v0600 .berke-site-footer .berke-footer-contact a {
		font-size: var(--berke-type-small) !important;
	}
}



/* berke-iconography-v1 */
/**
 * BERKE ICONOGRAPHY & VISUAL ACCENT SYSTEM v1.0 — canonical shell calibration.
 * berke-logical-layout: strict
 *
 * Meaning first: Aqua=water/service, Teal=diagnosis/maintenance,
 * Green=verified/result/contact, Amber=attention/risk, Navy=structure/info.
 * Text stays neutral; accents live primarily on icon/surface.
 */

/* Semantic tone variables can live on the icon itself or its parent. */
.berke-icon-tone--aqua {
	--berke-icon-fg: var(--berke-icon-aqua);
	--berke-icon-bg: var(--berke-icon-aqua-bg);
	--berke-icon-border: var(--berke-icon-aqua-border);
}
.berke-icon-tone--teal {
	--berke-icon-fg: var(--berke-icon-teal);
	--berke-icon-bg: var(--berke-icon-teal-bg);
	--berke-icon-border: var(--berke-icon-teal-border);
}
.berke-icon-tone--green {
	--berke-icon-fg: var(--berke-icon-green);
	--berke-icon-bg: var(--berke-icon-green-bg);
	--berke-icon-border: var(--berke-icon-green-border);
}
.berke-icon-tone--amber {
	--berke-icon-fg: var(--berke-icon-amber);
	--berke-icon-bg: var(--berke-icon-amber-bg);
	--berke-icon-border: var(--berke-icon-amber-border);
}
.berke-icon-tone--navy {
	--berke-icon-fg: var(--berke-icon-navy);
	--berke-icon-bg: var(--berke-icon-navy-bg);
	--berke-icon-border: var(--berke-icon-navy-border);
}

/* Reusable primitives for future pages. */
.berke-icon {
	display: inline-grid;
	place-items: center;
	flex: 0 0 auto;
	color: var(--berke-icon-fg, var(--berke-icon-navy));
}
.berke-icon svg {
	display: block;
	width: 100%;
	height: 100%;
	fill: none;
	stroke: currentColor;
	stroke-width: var(--berke-icon-stroke);
	stroke-linecap: round;
	stroke-linejoin: round;
	vector-effect: non-scaling-stroke;
}
.berke-icon--nav { width: var(--berke-icon-glyph-nav); height: var(--berke-icon-glyph-nav); }
.berke-icon--action { width: var(--berke-icon-glyph-action); height: var(--berke-icon-glyph-action); }
.berke-icon--section { width: var(--berke-icon-glyph-section); height: var(--berke-icon-glyph-section); }
.berke-icon--feature { width: var(--berke-icon-glyph-feature); height: var(--berke-icon-glyph-feature); }
.berke-icon-surface {
	display: inline-grid;
	place-items: center;
	flex: 0 0 auto;
	color: var(--berke-icon-fg, var(--berke-icon-navy));
	background: var(--berke-icon-bg, var(--berke-icon-navy-bg));
	border: 1px solid var(--berke-icon-border, var(--berke-icon-navy-border));
	border-radius: var(--berke-radius-sm);
}

/* -------------------------------------------------------------------------
 * Header — restrained semantic accents + optical calibration.
 * ---------------------------------------------------------------------- */
body.berke-iconography-v1 .berke-navigation-item--services { --berke-icon-fg: var(--berke-icon-aqua); --berke-icon-bg: var(--berke-icon-aqua-bg); --berke-icon-border: var(--berke-icon-aqua-border); }
body.berke-iconography-v1 .berke-navigation-item--cooperation { --berke-icon-fg: var(--berke-icon-amber); --berke-icon-bg: var(--berke-icon-amber-bg); --berke-icon-border: var(--berke-icon-amber-border); }
body.berke-iconography-v1 .berke-navigation-item--about { --berke-icon-fg: var(--berke-icon-teal); --berke-icon-bg: var(--berke-icon-teal-bg); --berke-icon-border: var(--berke-icon-teal-border); }
body.berke-iconography-v1 .berke-navigation-item--contact { --berke-icon-fg: var(--berke-icon-green); --berke-icon-bg: var(--berke-icon-green-bg); --berke-icon-border: var(--berke-icon-green-border); }
body.berke-iconography-v1 .berke-navigation-item--projects { --berke-icon-fg: var(--berke-icon-navy); --berke-icon-bg: var(--berke-icon-navy-bg); --berke-icon-border: var(--berke-icon-navy-border); }

body.berke-iconography-v1 .berke-site-header .berke-nav-icon {
	color: var(--berke-icon-fg, var(--berke-icon-navy)) !important;
	background: var(--berke-icon-bg, var(--berke-icon-navy-bg)) !important;
	border-color: var(--berke-icon-border, var(--berke-icon-navy-border)) !important;
	box-shadow: inset 0 0 0 1px rgba(255,255,255,.28) !important;
	transition: transform var(--berke-motion-duration-base) var(--berke-motion-ease-standard), color var(--berke-transition), background-color var(--berke-transition), border-color var(--berke-transition) !important;
}
body.berke-iconography-v1 .berke-site-header .berke-nav-icon--top { width: var(--berke-icon-surface-nav) !important; height: var(--berke-icon-surface-nav) !important; }
body.berke-iconography-v1 .berke-site-header .berke-nav-icon--top svg { width: var(--berke-icon-glyph-nav) !important; height: var(--berke-icon-glyph-nav) !important; }
body.berke-iconography-v1 .berke-site-header .berke-nav-icon--column svg { width: var(--berke-icon-glyph-action) !important; height: var(--berke-icon-glyph-action) !important; }
body.berke-iconography-v1 .berke-site-header .berke-nav-icon--item svg { width: var(--berke-icon-glyph-nav) !important; height: var(--berke-icon-glyph-nav) !important; }
body.berke-iconography-v1 .berke-site-header .berke-nav-icon svg,
body.berke-iconography-v1 .berke-header-tool svg,
body.berke-iconography-v1 .berke-mobile-tool__icon svg {
	fill: none;
	stroke: currentColor;
	stroke-width: var(--berke-icon-stroke) !important;
	stroke-linecap: round;
	stroke-linejoin: round;
}

/* Service-family meaning in the mega menu. */
body.berke-iconography-v1 .berke-mega-menu__column--sky { --berke-icon-fg: var(--berke-icon-aqua); --berke-icon-bg: var(--berke-icon-aqua-bg); --berke-icon-border: var(--berke-icon-aqua-border); }
body.berke-iconography-v1 .berke-mega-menu__column--aqua { --berke-icon-fg: var(--berke-icon-teal); --berke-icon-bg: var(--berke-icon-teal-bg); --berke-icon-border: var(--berke-icon-teal-border); }
body.berke-iconography-v1 .berke-mega-menu__column--indigo { --berke-icon-fg: var(--berke-icon-amber); --berke-icon-bg: var(--berke-icon-amber-bg); --berke-icon-border: var(--berke-icon-amber-border); }
body.berke-iconography-v1 .berke-mega-menu__column .berke-nav-icon { color: var(--berke-icon-fg) !important; background: var(--berke-icon-bg) !important; border-color: var(--berke-icon-border) !important; }

body.berke-iconography-v1 .berke-menu > li > a:hover .berke-nav-icon,
body.berke-iconography-v1 .berke-menu > li > a:focus-visible .berke-nav-icon,
body.berke-iconography-v1 .berke-mega-menu__trigger:hover .berke-nav-icon,
body.berke-iconography-v1 .berke-mega-menu__trigger:focus-visible .berke-nav-icon,
body.berke-iconography-v1 .berke-mega-menu__trigger[aria-expanded="true"] .berke-nav-icon,
body.berke-iconography-v1 .berke-mega-menu__list a:hover .berke-nav-icon,
body.berke-iconography-v1 .berke-mega-menu__list a:focus-visible .berke-nav-icon {
	transform: translateY(-1px);
}

body.berke-iconography-v1 .berke-header-tool,
body.berke-iconography-v1 .berke-mobile-tool__icon {
	color: var(--berke-icon-fg, var(--berke-icon-navy)) !important;
	background: var(--berke-icon-bg, var(--berke-icon-navy-bg)) !important;
	border-color: var(--berke-icon-border, var(--berke-icon-navy-border)) !important;
}
body.berke-iconography-v1 .berke-header-tool svg,
body.berke-iconography-v1 .berke-mobile-tool__icon svg { width: var(--berke-icon-glyph-action) !important; height: var(--berke-icon-glyph-action) !important; }
body.berke-iconography-v1 .berke-header-tool:hover {
	color: #fff !important;
	background: var(--berke-icon-fg, var(--berke-icon-navy)) !important;
	border-color: var(--berke-icon-fg, var(--berke-icon-navy)) !important;
}
body.berke-iconography-v1 .berke-header-tool:focus-visible {
	color: var(--berke-icon-fg, var(--berke-icon-navy)) !important;
	background: var(--berke-icon-bg, var(--berke-icon-navy-bg)) !important;
	border-color: var(--berke-icon-fg, var(--berke-icon-navy)) !important;
	outline: 3px solid rgba(75,184,221,.34) !important;
	outline-offset: 2px !important;
}

body.berke-iconography-v1 .berke-header-cta__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: 1.85rem;
	height: 1.85rem;
	color: #fff;
	background: rgba(255,255,255,.12);
	border: 1px solid rgba(255,255,255,.16);
	border-radius: .58rem;
	transition: transform var(--berke-transition), background-color var(--berke-transition);
}
body.berke-iconography-v1 .berke-header-cta__icon svg {
	width: 1rem;
	height: 1rem;
	fill: none;
	stroke: currentColor;
	stroke-width: var(--berke-icon-stroke-compact);
	stroke-linecap: round;
	stroke-linejoin: round;
}
body.berke-iconography-v1 .berke-header-cta:hover .berke-header-cta__icon,
body.berke-iconography-v1 .berke-header-cta:focus-visible .berke-header-cta__icon,
body.berke-iconography-v1 .berke-mobile-cta:hover .berke-header-cta__icon,
body.berke-iconography-v1 .berke-mobile-cta:focus-visible .berke-header-cta__icon {
	transform: translateY(-1px);
	background: rgba(255,255,255,.18);
}

/* -------------------------------------------------------------------------
 * Footer — semantic diversity with calibrated glyph/surface size.
 * ---------------------------------------------------------------------- */
body.berke-iconography-v1 .berke-footer-principle__icon,
body.berke-iconography-v1 .berke-footer-contact__icon,
body.berke-iconography-v1 .berke-footer-brand__promise > span,
body.berke-iconography-v1 .berke-footer-scope-list li > span {
	color: var(--berke-icon-fg, #a8e4f4) !important;
	border-color: var(--berke-icon-border, rgba(75,184,221,.18)) !important;
	transition: transform var(--berke-transition), background-color var(--berke-transition), border-color var(--berke-transition) !important;
}
body.berke-iconography-v1 .berke-footer-principle__icon,
body.berke-iconography-v1 .berke-footer-contact__icon {
	width: var(--berke-icon-surface-footer) !important;
	height: var(--berke-icon-surface-footer) !important;
}
body.berke-iconography-v1 .berke-footer-principle__icon svg,
body.berke-iconography-v1 .berke-footer-contact__icon svg {
	width: var(--berke-icon-glyph-footer) !important;
	height: var(--berke-icon-glyph-footer) !important;
	fill: none;
	stroke: currentColor;
	stroke-width: var(--berke-icon-stroke) !important;
	stroke-linecap: round;
	stroke-linejoin: round;
}

/* Dark footer gets lighter foreground tones for reliable graphical contrast. */
body.berke-iconography-v1 .berke-site-footer .berke-icon-tone--aqua { --berke-icon-fg: #75d0e7; --berke-icon-border: rgba(117,208,231,.22); }
body.berke-iconography-v1 .berke-site-footer .berke-icon-tone--teal { --berke-icon-fg: #79d4c5; --berke-icon-border: rgba(121,212,197,.22); }
body.berke-iconography-v1 .berke-site-footer .berke-icon-tone--green { --berke-icon-fg: #91d6ac; --berke-icon-border: rgba(145,214,172,.22); }
body.berke-iconography-v1 .berke-site-footer .berke-icon-tone--amber { --berke-icon-fg: #f0c47a; --berke-icon-border: rgba(240,196,122,.22); }
body.berke-iconography-v1 .berke-site-footer .berke-icon-tone--navy { --berke-icon-fg: #9fc0df; --berke-icon-border: rgba(159,192,223,.22); }

body.berke-iconography-v1 .berke-icon-tone--aqua .berke-footer-principle__icon,
body.berke-iconography-v1 .berke-footer-contact__icon.berke-icon-tone--aqua,
body.berke-iconography-v1 .berke-footer-scope-list .berke-icon-tone--aqua > span { background: rgba(75,184,221,.11) !important; }
body.berke-iconography-v1 .berke-icon-tone--teal .berke-footer-principle__icon,
body.berke-iconography-v1 .berke-footer-contact__icon.berke-icon-tone--teal,
body.berke-iconography-v1 .berke-footer-scope-list .berke-icon-tone--teal > span { background: rgba(72,190,170,.11) !important; }
body.berke-iconography-v1 .berke-icon-tone--green .berke-footer-principle__icon,
body.berke-iconography-v1 .berke-footer-contact__icon.berke-icon-tone--green,
body.berke-iconography-v1 .berke-footer-brand__promise.berke-icon-tone--green > span { background: rgba(93,190,135,.11) !important; }
body.berke-iconography-v1 .berke-icon-tone--amber .berke-footer-principle__icon,
body.berke-iconography-v1 .berke-footer-contact__icon.berke-icon-tone--amber,
body.berke-iconography-v1 .berke-footer-scope-list .berke-icon-tone--amber > span { background: rgba(224,166,67,.11) !important; }
body.berke-iconography-v1 .berke-footer-contact__icon.berke-icon-tone--navy { background: rgba(133,172,211,.11) !important; }

body.berke-iconography-v1 .berke-footer-principle:hover .berke-footer-principle__icon,
body.berke-iconography-v1 .berke-footer-contact li:hover .berke-footer-contact__icon,
body.berke-iconography-v1 .berke-footer-guides a:hover .berke-footer-link-arrow,
body.berke-iconography-v1 .berke-footer-guides a:focus-visible .berke-footer-link-arrow { transform: translateY(-1px); }

/* Canonical shell type floor remains enforced after historical layers. */
body.berke-iconography-v1 .berke-mobile-tool { font-size: var(--berke-type-control) !important; font-weight: 700 !important; }
body.berke-iconography-v1 .berke-footer-principle strong { font-size: var(--berke-type-small) !important; line-height: var(--berke-leading-compact) !important; }
body.berke-iconography-v1 .berke-footer-principle > div > span { font-size: var(--berke-type-caption) !important; line-height: var(--berke-leading-compact) !important; }

/* Tablet/mobile: same semantics, quieter surfaces and lower motion density. */
@media (max-width: 63.999rem) {
	body.berke-iconography-v1 .berke-header-cta__icon { width: 1.75rem; height: 1.75rem; }
	body.berke-iconography-v1 .berke-site-header .berke-nav-icon { box-shadow: none !important; }
}
@media (max-width: 47.999rem) {
	body.berke-iconography-v1 .berke-site-header .berke-nav-icon--top { width: 1.9rem !important; height: 1.9rem !important; }
	body.berke-iconography-v1 .berke-site-header .berke-nav-icon--top svg { width: 1.05rem !important; height: 1.05rem !important; }
	body.berke-iconography-v1 .berke-footer-principle__icon,
	body.berke-iconography-v1 .berke-footer-contact__icon { width: 2.35rem !important; height: 2.35rem !important; }
}

@media (prefers-reduced-motion: reduce) {
	body.berke-iconography-v1 .berke-site-header .berke-nav-icon,
	body.berke-iconography-v1 .berke-header-tool,
	body.berke-iconography-v1 .berke-header-cta__icon,
	body.berke-iconography-v1 .berke-footer-principle__icon,
	body.berke-iconography-v1 .berke-footer-contact__icon,
	body.berke-iconography-v1 .berke-footer-brand__promise > span,
	body.berke-iconography-v1 .berke-footer-scope-list li > span,
	body.berke-iconography-v1 .berke-footer-link-arrow { transition: none !important; transform: none !important; }
}


/* berke-system-v0200 */
/*
 * BERKE SYSTEM FINALIZER v2.1 — 0.20.0
 * Compatibility finalizer for historical Berke page classes.
 * Values are owned only by tokens.css / typography.css / design-system.css.
 * This file may map legacy classes to canonical roles, but MUST NOT define a
 * competing typography, spacing, control or color scale.
 * berke-reference-ui: true
 * berke-logical-layout: strict
 */

body.berke-system-v0200{direction:rtl}
body.berke-system-v0200 main{
  direction:rtl;
  font-family:var(--berke-font-family)!important;
  color:var(--berke-color-text,#173f55);
}
body.berke-system-v0200 main *,
body.berke-system-v0200 main *::before,
body.berke-system-v0200 main *::after{box-sizing:border-box}

/* --------------------------------------------------------------------------
   SEMANTIC TYPOGRAPHY
   -------------------------------------------------------------------------- */
body.berke-system-v0200 main :where(h1,h2,h3,h4,h5,h6){
  margin-block-start:0;
  font-family:var(--berke-font-family)!important;
  color:var(--berke-color-heading,#0f2439);
  letter-spacing:0!important;
  text-wrap:balance;
}
body.berke-system-v0200 main h1{
  font-size:var(--berke-type-h1)!important;
  font-weight:800!important;
  line-height:var(--berke-leading-display)!important;
}
body.berke-system-v0200 main h2{
  font-size:var(--berke-type-h2)!important;
  font-weight:700!important;
  line-height:var(--berke-leading-heading)!important;
}
body.berke-system-v0200 main h3{
  font-size:var(--berke-type-h3)!important;
  font-weight:700!important;
  line-height:var(--berke-leading-heading)!important;
}
body.berke-system-v0200 main :where(h4,h5,h6){
  font-size:var(--berke-type-h4)!important;
  font-weight:600!important;
  line-height:1.65!important;
}
body.berke-system-v0200 main :where(p,li,dd,dt,label,input,select,textarea,td){
  font-size:var(--berke-type-body);
  line-height:var(--berke-leading-body);
}
body.berke-system-v0200 main :where(small,figcaption){font-size:var(--berke-type-caption)!important;line-height:1.7!important}
body.berke-system-v0200 main :where(th,summary){font-size:var(--berke-type-card)!important;font-weight:700!important;line-height:1.65!important}
body.berke-system-v0200 main :where(strong,b){font-size:inherit!important}

body.berke-system-v0200 main :where(
  .berke-h010-kicker,.berke-about14-kicker,.berke-contact13-kicker,
  .berke-request12-kicker,.berke-services11-kicker,.berke-core-kicker,
  .p33-kicker,.berke-p7-kicker,.berke-core-eyebrow,.p33-eyebrow,
  [class*="__eyebrow"],[class*="__kicker"]
){
  font-size:var(--berke-type-caption)!important;
  font-weight:700!important;
  line-height:1.7!important;
}
body.berke-system-v0200 main :where(
  .berke-h010-lead,.berke-about14-lead,.berke-contact13-lead,
  .berke-request12-lead,.berke-services11-lead,.berke-core-lead,
  .p33-lead,.berke-p7-lead,[class*="__lead"]
){font-size:var(--berke-type-lead)!important;line-height:var(--berke-leading-body)!important}
body.berke-system-v0200 main :where(
  [class*="breadcrumb"],figcaption,.berke-about14-realms__meta,.p33-review__meta,
  [class*="__meta"],[class*="__caption"]
){font-size:var(--berke-type-small)!important}

/* --------------------------------------------------------------------------
   CONTROL GEOMETRY
   -------------------------------------------------------------------------- */
body.berke-system-v0200 main :where(
  .berke-ui-button,.berke-core-button,.berke-h010-button,.berke-about14-button,
  .berke-contact13-button,.berke-request12-button,.berke-services11-button,
  .berke-p7-button,.p33-button,.berke-intake-submit,.berke-intake-wizard__nav button
){
  display:inline-flex;
  align-items:center!important;
  justify-content:center!important;
  inline-size:auto;
  block-size:auto!important;
  min-block-size:var(--berke-ds-control-min)!important;
  min-inline-size:0;
  padding:var(--berke-ds-control-pad-block) var(--berke-ds-control-pad-inline)!important;
  border-radius:var(--berke-ds-control-radius)!important;
  font-size:var(--berke-type-control)!important;
  font-weight:700!important;
  line-height:1.45!important;
  white-space:normal;
  text-align:center;
  flex:0 0 auto!important;
  align-self:auto!important;
}
body.berke-system-v0200 main :where(.p33-button--block,.berke-intake-submit){inline-size:100%!important}
body.berke-system-v0200 main :where(
  .berke-h010-actions,.berke-h010-final__actions,.berke-about14-actions,.berke-about14-final__actions,
  .berke-contact13-primary__actions,.berke-contact13-final__actions,.berke-request12-actions,
  .berke-services11-actions,.berke-core-actions,.berke-p7-actions,.p33-actions,.p33-hero__actions
){
  align-items:center!important;
  align-content:center!important;
}
body.berke-system-v0200 main :where(
  .berke-h010-actions,.berke-h010-final__actions,.berke-about14-actions,.berke-about14-final__actions,
  .berke-contact13-primary__actions,.berke-contact13-final__actions,.berke-request12-actions,
  .berke-services11-actions,.berke-core-actions,.berke-p7-actions,.p33-actions,.p33-hero__actions
) > :where(a,button){block-size:auto!important;align-self:center!important}

/* --------------------------------------------------------------------------
   VERTICAL RHYTHM — top-level sections only; nested semantic sections keep
   their component geometry. This is the canonical anti-empty-space rule.
   -------------------------------------------------------------------------- */
body.berke-system-v0200 main#content > section{
  padding-block-start:var(--berke-ds-section-y)!important;
  padding-block-end:var(--berke-ds-section-y)!important;
}
body.berke-system-v0200 main#content > :where(
  .berke-h010-final,.berke-contact13-final,.berke-about14-final,.berke-services11-final,
  .berke-core-final,.p33-inquiry,.berke-p7-inquiry,.berke-p7-related
){
  padding-block-start:var(--berke-ds-section-y-compact)!important;
  padding-block-end:var(--berke-ds-section-y-compact)!important;
}
body.berke-system-v0200 main#content > :where(
  .berke-h010-hero,.berke-contact13-hero,.berke-request12-hero,.berke-about14-hero,
  .berke-core-page-hero,.p33-hero,.berke-p7-hero
){
  padding-block-start:var(--berke-hero-pad-start)!important;
  padding-block-end:var(--berke-hero-pad-end)!important;
}
body.berke-system-v0200 main :where(
  .berke-h010-section-head,.berke-about14-section-head,.berke-services11-section-head,
  .berke-core-section__head,.p33-section__head,.berke-p7-section__head
){margin-block-end:var(--berke-ds-section-head-gap)!important}

/* --------------------------------------------------------------------------
   GLOBAL HERO EDGE CONTRACT v3 — exact shared physical top and bottom edges.
   -------------------------------------------------------------------------- */
[data-berke-hero-contract="v3"]{
  direction:rtl;
  font-family:var(--berke-font-family)!important;
  padding-block-start:var(--berke-hero-pad-start)!important;
  padding-block-end:var(--berke-hero-pad-end)!important;
}
[data-berke-hero-contract="v3"] [data-berke-hero-grid]{
  align-items:stretch!important;
  column-gap:var(--berke-hero-column-gap)!important;
}
[data-berke-hero-contract="v3"] [data-berke-hero-copy],
[data-berke-hero-contract="v3"] [data-berke-hero-visual]{
  align-self:stretch!important;
  min-inline-size:0;
  min-block-size:0;
  margin-block:0!important;
}
[data-berke-hero-contract="v3"] [data-berke-hero-copy],
[data-berke-hero-contract="v3"] [data-berke-hero-visual]{display:flex!important;flex-direction:column!important}
[data-berke-hero-contract="v3"] [data-berke-hero-completion]{margin-block-start:auto!important}
.berke-hero-completion{
  flex:1 1 auto;
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-block-size:6.75rem;
  margin-block-start:clamp(.85rem,1.6vw,1.2rem)!important;
  padding:clamp(.8rem,1.35vw,1rem);
  border:1px solid var(--berke-hero-completion-line);
  border-radius:.9rem;
  background:#f7fbfc;
  box-shadow:0 .3rem .9rem rgba(15,36,57,.025);
}
.berke-hero-completion__label{
  margin:0 0 .58rem!important;
  color:#176d88!important;
  font-size:var(--berke-type-small)!important;
  font-weight:800!important;
  line-height:1.65!important;
}
.berke-hero-completion__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.62rem}
.berke-hero-completion__grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}
.berke-hero-completion__grid>span{
  display:grid;
  align-content:start;
  gap:.12rem;
  min-inline-size:0;
  padding:.58rem .64rem;
  border:1px solid rgba(199,218,226,.82);
  border-radius:.68rem;
  background:rgba(255,255,255,.84);
  color:var(--berke-hero-completion-ink);
  line-height:1.7;
}
.berke-hero-completion__grid>span>b{font-size:var(--berke-type-card)!important;font-weight:800!important}
.berke-hero-completion__grid>span>small{color:var(--berke-hero-completion-muted);font-size:var(--berke-type-caption)!important;line-height:1.68!important}
.berke-hero-completion--home .berke-hero-completion__grid>span{display:flex;align-items:center;gap:.45rem}
.berke-hero-completion--home .berke-hero-completion__grid>span>b{color:#176d88;font-size:var(--berke-type-caption)!important}
[data-berke-hero-contract="v3"] [data-berke-hero-visual] > :first-child{flex:1 1 auto;min-block-size:0}
[data-berke-hero-contract="v3"] [data-berke-hero-visual] > picture:first-child,
[data-berke-hero-contract="v3"] [data-berke-hero-visual] > div:first-child{display:block}
[data-berke-hero-contract="v3"] [data-berke-hero-visual] > picture:first-child > img,
[data-berke-hero-contract="v3"] [data-berke-hero-visual] > div:first-child img,
[data-berke-hero-contract="v3"] [data-berke-hero-visual] > img:first-child:only-child{
  inline-size:100%!important;
  block-size:100%!important;
  object-fit:cover!important;
}
[data-berke-hero-contract="v3"] [data-berke-hero-visual] > :not(:first-child){flex:0 0 auto}
[data-berke-hero-contract="v3"] :where(.berke-contact13-primary,.berke-request12-visual,.berke-about14-visual){block-size:100%}
.berke-cooperation-hero__copy{max-inline-size:42rem}
.berke-cooperation-hero__visual{min-inline-size:0}
.berke-cooperation-hero__visual>.berke-core-concept-media{margin:0}
.p33-hero__copy[data-berke-hero-copy] .p33-hero__trust[data-berke-hero-completion],
.berke-p7-hero__copy[data-berke-hero-copy] .berke-p7-principles[data-berke-hero-completion]{margin-block-start:auto!important;padding-block-start:1rem}
[data-berke-hero-contract="v3"] .p33-hero__media > img:first-child:only-child,
[data-berke-hero-contract="v3"] .berke-p7-media--hero{flex:1 1 auto;min-block-size:0}
[data-berke-hero-contract="v3"] .berke-p7-media--hero > picture,
[data-berke-hero-contract="v3"] .berke-p7-media--hero > picture > img{block-size:100%!important}
body.berke-home-v0153 .berke-h010-hero .berke-h010-principles{display:none!important}

/* --------------------------------------------------------------------------
   GLOBAL SPLIT SECTION EDGE CONTRACT v1 — all primary columns share both
   physical start and end lines on desktop/landscape tablet.
   -------------------------------------------------------------------------- */
[data-berke-section-edge="v1"]{direction:rtl;font-family:var(--berke-font-family)!important}
@media (min-width:56.001rem){
  [data-berke-section-edge="v1"]{align-items:stretch!important}
  [data-berke-section-edge="v1"] > *{align-self:stretch!important;min-block-size:0}
  [data-berke-section-edge="v1"] > :where(a,button){align-self:center!important;block-size:auto!important}

  .berke-request12-form-layout[data-berke-section-edge="v1"] > .berke-request12-form-main{display:flex;flex-direction:column;min-block-size:0}
  .berke-request12-form-layout[data-berke-section-edge="v1"] > .berke-request12-form-main > .berke-intake-form{flex:1 1 auto}
  .berke-request12-form-layout[data-berke-section-edge="v1"] > .berke-request12-guide{block-size:100%;grid-template-rows:repeat(3,minmax(0,1fr));align-content:stretch}
  .berke-request12-form-layout[data-berke-section-edge="v1"] .berke-request12-guide__block{min-block-size:0;block-size:100%;align-content:start}

  .berke-contact13-prepare__layout[data-berke-section-edge="v1"] > .berke-contact13-prepare__items,
  .berke-about14-realms__layout[data-berke-section-edge="v1"] > .berke-about14-realms__list,
  .berke-about14-method__layout[data-berke-section-edge="v1"] > .berke-about14-method__steps{block-size:100%;align-content:stretch;grid-auto-rows:minmax(0,1fr)}
  .berke-contact13-prepare__layout[data-berke-section-edge="v1"] .berke-contact13-prepare__items > li,
  .berke-about14-realms__layout[data-berke-section-edge="v1"] .berke-about14-realms__list > li,
  .berke-about14-method__layout[data-berke-section-edge="v1"] .berke-about14-method__steps > li{block-size:100%}

  .berke-h010-diagnosis__grid[data-berke-section-edge="v1"] > *{block-size:100%}
  .berke-cooperation-form-layout[data-berke-section-edge="v1"] > .berke-cooperation-form-copy{position:static!important;display:flex;flex-direction:column;block-size:100%}
  .berke-cooperation-form-layout[data-berke-section-edge="v1"] .berke-cooperation-project-note{margin-block-start:auto}
  .berke-cooperation-form-layout[data-berke-section-edge="v1"] > .berke-cooperation-form{block-size:100%}
  .berke-cooperation-intro__grid[data-berke-section-edge="v1"] > .berke-cooperation-intro__points,
  .berke-cooperation-model[data-berke-section-edge="v1"] > .berke-cooperation-model__list{block-size:100%;align-content:stretch}

  .berke-services11-family__layout[data-berke-section-edge="v1"] > .berke-services11-family__intro{position:static!important;inset-block-start:auto!important}
  .berke-services11-family__layout[data-berke-section-edge="v1"] > *,
  .berke-services11-tank__layout[data-berke-section-edge="v1"] > *,
  .berke-services11-diagnosis__layout[data-berke-section-edge="v1"] > *{block-size:100%}
  .berke-projects-empty-v0500__layout[data-berke-section-edge="v1"] > .berke-project-document-v0500{block-size:100%;align-content:stretch}

  :where(.p33-split,.p33-calculator-layout,.p33-media-split,.p33-technical__grid,.p33-bottom-grid)[data-berke-section-edge="v1"]{align-items:stretch!important}
  :where(.p33-split,.p33-calculator-layout,.p33-media-split,.p33-technical__grid,.p33-bottom-grid)[data-berke-section-edge="v1"] > *{block-size:100%}
  .p33-media-split[data-berke-section-edge="v1"] > .p33-media-card,
  .p33-technical__grid[data-berke-section-edge="v1"] > .p33-media-card{display:flex;min-block-size:0}
  .p33-media-split[data-berke-section-edge="v1"] > .p33-media-card > img,
  .p33-technical__grid[data-berke-section-edge="v1"] > .p33-media-card > img{inline-size:100%!important;block-size:100%!important;aspect-ratio:auto!important;object-fit:cover!important}
  .p33-calculator-layout[data-berke-section-edge="v1"] > .p33-calculator{display:flex;flex-direction:column}
  .p33-calculator-layout[data-berke-section-edge="v1"] .p33-calculator__result{flex:1 1 auto;display:grid;align-content:center}
  .p33-split[data-berke-section-edge="v1"] > .p33-compare-wrap,
  .p33-split[data-berke-section-edge="v1"] .p33-compare{block-size:100%}

  :where(.berke-p7-potable__layout,.berke-p7-process__layout,.berke-p7-cost__layout,.berke-p7-prep__layout,.berke-p7-resources__layout,.berke-p7-faq__layout,.berke-p7-related__layout,.berke-p7-inquiry__layout)[data-berke-section-edge="v1"]{align-items:stretch!important}
  :where(.berke-p7-potable__layout,.berke-p7-process__layout,.berke-p7-cost__layout,.berke-p7-prep__layout,.berke-p7-resources__layout,.berke-p7-faq__layout,.berke-p7-related__layout,.berke-p7-inquiry__layout)[data-berke-section-edge="v1"] > *{block-size:100%}
  .berke-p7-faq__layout[data-berke-section-edge="v1"] > header,
  .berke-p7-inquiry__layout[data-berke-section-edge="v1"] > .berke-p7-inquiry__copy{position:static!important;inset-block-start:auto!important}
  .berke-p7-inquiry__layout[data-berke-section-edge="v1"] > .berke-p7-inquiry__copy{display:flex;flex-direction:column}
  .berke-p7-inquiry__layout[data-berke-section-edge="v1"] .berke-p7-inquiry__call{margin-block-start:auto}
  .berke-p7-inquiry__layout[data-berke-section-edge="v1"] > .berke-p7-inquiry__form{display:flex;flex-direction:column}
  .berke-p7-inquiry__layout[data-berke-section-edge="v1"] > .berke-p7-inquiry__form > .berke-intake-form{flex:1 1 auto}
  .berke-p7-potable__layout[data-berke-section-edge="v1"] > ol,
  .berke-p7-cost__layout[data-berke-section-edge="v1"] > .berke-p7-impact,
  .berke-p7-resources__layout[data-berke-section-edge="v1"] > .berke-p7-resources__list,
  .berke-p7-faq__layout[data-berke-section-edge="v1"] > .berke-p7-faq__items,
  .berke-p7-related__layout[data-berke-section-edge="v1"] > nav{block-size:100%}

  /* v1.1: direct media/visual columns must consume the same physical rectangle as adjacent copy. */
  [data-berke-section-edge="v1"] > :where(figure,[class*="__visual"],[class*="__media"]){
    align-self:stretch!important;
    block-size:100%!important;
    max-block-size:none!important;
    min-block-size:0!important;
  }
  [data-berke-section-edge="v1"] > figure,
  [data-berke-section-edge="v1"] > :where([class*="__visual"],[class*="__media"]){
    display:flex!important;
    flex-direction:column!important;
  }
  [data-berke-section-edge="v1"] > figure > :where(picture,img):first-child,
  [data-berke-section-edge="v1"] > :where([class*="__visual"],[class*="__media"]) > :where(picture,figure,img):first-child{
    flex:1 1 auto!important;
    min-block-size:0!important;
  }
  [data-berke-section-edge="v1"] > figure > picture:first-child,
  [data-berke-section-edge="v1"] > :where([class*="__visual"],[class*="__media"]) > figure:first-child{
    display:flex!important;
    flex-direction:column!important;
  }
  [data-berke-section-edge="v1"] > figure > picture:first-child > img,
  [data-berke-section-edge="v1"] > :where([class*="__visual"],[class*="__media"]) > picture:first-child > img,
  [data-berke-section-edge="v1"] > :where([class*="__visual"],[class*="__media"]) > figure:first-child > picture:first-child > img,
  [data-berke-section-edge="v1"] > :where([class*="__visual"],[class*="__media"]) > img:first-child{
    inline-size:100%!important;
    block-size:100%!important;
    object-fit:cover!important;
  }

}

/* --------------------------------------------------------------------------
   RESPONSIVE COMPOSITION — mobile is not a scaled desktop.
   -------------------------------------------------------------------------- */
@media (max-width:70rem){
  .berke-hero-completion__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .berke-hero-completion__grid>span:last-child:nth-child(odd){grid-column:1/-1}
}
@media (max-width:56rem){
  [data-berke-hero-contract="v3"] [data-berke-hero-grid]{align-items:start!important;row-gap:var(--berke-hero-column-gap)!important}
  [data-berke-hero-contract="v3"] [data-berke-hero-copy]{align-self:start!important;display:block!important}
  [data-berke-hero-contract="v3"] [data-berke-hero-visual]{align-self:start!important;display:block!important;block-size:auto}
  [data-berke-hero-contract="v3"] [data-berke-hero-completion]{margin-block-start:.9rem!important}
  [data-berke-hero-contract="v3"] [data-berke-hero-visual] > :first-child{display:block;min-block-size:0}
  [data-berke-hero-contract="v3"] [data-berke-hero-visual] > picture:first-child > img,
  [data-berke-hero-contract="v3"] [data-berke-hero-visual] > div:first-child img,
  [data-berke-hero-contract="v3"] [data-berke-hero-visual] > img:first-child:only-child{block-size:auto!important}
  .berke-hero-completion{display:block;min-block-size:0;padding:.8rem;border-radius:.84rem}
  .berke-hero-completion__grid,.berke-hero-completion__grid--4{grid-template-columns:1fr 1fr}
  .berke-hero-completion__grid>span:last-child:nth-child(odd){grid-column:1/-1}
  .p33-hero__copy[data-berke-hero-copy] .p33-hero__trust[data-berke-hero-completion],
  .berke-p7-hero__copy[data-berke-hero-copy] .berke-p7-principles[data-berke-hero-completion]{padding-block-start:0}

  [data-berke-section-edge="v1"]{align-items:start!important}
  [data-berke-section-edge="v1"] > *{block-size:auto!important;min-block-size:0}
  .berke-request12-form-layout[data-berke-section-edge="v1"] > .berke-request12-form-main{display:block}
  .berke-request12-form-layout[data-berke-section-edge="v1"] > .berke-request12-guide{block-size:auto;grid-template-rows:none}
  .berke-cooperation-form-layout[data-berke-section-edge="v1"] > .berke-cooperation-form-copy,
  .berke-p7-inquiry__layout[data-berke-section-edge="v1"] > .berke-p7-inquiry__copy{display:block}
  .p33-media-split[data-berke-section-edge="v1"] > .p33-media-card > img,
  .p33-technical__grid[data-berke-section-edge="v1"] > .p33-media-card > img{block-size:auto!important;aspect-ratio:3/2!important}
}
@media (max-width:32rem){
  .berke-hero-completion__grid,.berke-hero-completion__grid--4{grid-template-columns:1fr}
  .berke-hero-completion__grid>span:last-child:nth-child(odd){grid-column:auto}
}

/* Accessibility stays visible under every page-specific layer. */
body.berke-system-v0200 main :where(a,button,input,select,textarea,summary):focus-visible{
  outline:3px solid rgba(75,184,221,.45)!important;
  outline-offset:2px!important;
}
@media (prefers-reduced-motion:reduce){
  body.berke-system-v0200 main *,
  body.berke-system-v0200 main *::before,
  body.berke-system-v0200 main *::after{
    scroll-behavior:auto!important;
    transition-duration:.01ms!important;
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
  }
}


/* --------------------------------------------------------------------------
   DARK SURFACE CONTRAST CONTRACT v1
   Any intentionally dark content surface must declare data-berke-surface="dark".
   The contract owns readable foreground colors. Nested light/form surfaces reset.
   -------------------------------------------------------------------------- */
body.berke-system-v0200 main [data-berke-surface="dark"]{
  color:var(--berke-color-on-dark)!important;
}
body.berke-system-v0200 main [data-berke-surface="dark"] :where(
  h1,h2,h3,h4,h5,h6,p,li,dt,dd,blockquote,figcaption,small,strong,b,summary,label,span
){
  color:var(--berke-color-on-dark)!important;
}
body.berke-system-v0200 main [data-berke-surface="dark"] :where(
  [class*="__kicker"],[class*="__eyebrow"],[class*="__meta"],[class*="__caption"],
  .berke-core-kicker,.p33-kicker,.berke-p7-kicker
){
  color:var(--berke-color-on-dark)!important;
}
body.berke-system-v0200 main [data-berke-surface="dark"] a:not(
  [class*="button"]
):not(
  [class*="submit"]
){
  color:var(--berke-color-on-dark)!important;
  text-decoration-color:rgba(255,255,255,.45);
}
body.berke-system-v0200 main [data-berke-surface="dark"] :where(svg,[aria-hidden="true"]){
  color:inherit;
}

/* Light islands inside dark sections keep dark ink and normal form geometry. */
body.berke-system-v0200 main [data-berke-surface="dark"] :where(
  [data-berke-surface="light"],
  .berke-intake-form,
  .berke-p7-inquiry__form,
  .p33-inquiry__form,
  .berke-hero-completion,
  .berke-contact13-request
){
  color:var(--berke-color-text)!important;
}
body.berke-system-v0200 main [data-berke-surface="dark"] :where(
  [data-berke-surface="light"],
  .berke-intake-form,
  .berke-p7-inquiry__form,
  .p33-inquiry__form,
  .berke-hero-completion,
  .berke-contact13-request
) :where(h1,h2,h3,h4,h5,h6,p,li,dt,dd,small,strong,b,summary,label){
  color:var(--berke-color-text)!important;
}
body.berke-system-v0200 main [data-berke-surface="dark"] :where(
  .berke-intake-form,.berke-p7-inquiry__form,.p33-inquiry__form
) :where(input,select,textarea){
  color:#173f55!important;
  background:#fff!important;
}

/* Known historical dark components that are not top-level sections yet. */
body.berke-system-v0200 main :where(
  .berke-about14-system__head,
  .berke-contact13-call,
  .berke-h010-route--dark
){
  color:var(--berke-color-on-dark)!important;
}
body.berke-system-v0200 main :where(
  .berke-about14-system__head,
  .berke-contact13-call,
  .berke-h010-route--dark
) :where(h1,h2,h3,h4,h5,h6,p,small,strong,b,span){
  color:var(--berke-color-on-dark)!important;
}

/* --------------------------------------------------------------------------
   READING DENSITY CONTRACT v1
   Opens internal text rhythm without reintroducing empty section bands.
   Outer section spacing and edge alignment remain owned by the existing tokens.
   -------------------------------------------------------------------------- */
body.berke-system-v0200 main :where(
  .berke-core-heading,
  [class*="__copy"],
  [class*="__intro"],
  [class*="__head"]
) > :where(h1,h2,h3) + p{
  margin-block-start:var(--berke-ds-copy-gap)!important;
}
body.berke-system-v0200 main :where(
  .berke-core-heading,
  [class*="__copy"],
  [class*="__intro"],
  [class*="__head"]
) > p + p{
  margin-block-start:var(--berke-ds-copy-gap)!important;
}
body.berke-system-v0200 main :where(
  article,
  [class*="card"],
  [class*="__block"]
) :where(p,li,dd){
  line-height:var(--berke-leading-support)!important;
}
body.berke-system-v0200 main :where(
  article,
  [class*="card"],
  [class*="__block"]
) :where(h2,h3,strong,b) + p{
  margin-block-start:var(--berke-ds-card-copy-gap)!important;
}
body.berke-system-v0200 main :where(
  .berke-hero-completion__grid > span,
  .berke-request12-steps li,
  .berke-contact13-prepare__items li,
  .berke-about14-method__steps > li,
  .berke-about14-realms__list > li
){
  row-gap:.18rem;
}



/* berke-home-v0201 */
/* berke-logical-layout: strict */
/* berke-reference-ui: true */
/**
 * Berke Home 0.20.1 — Canonical composition finalization.
 * Scope: front page presentation only. Existing content/URLs/SEO/JS remain unchanged.
 */
body.berke-home-v0201 .berke-h010,
body.berke-home-v0201 .berke-h010 *{box-sizing:border-box;font-family:var(--berke-font-family)!important;font-synthesis:none}
body.berke-home-v0201 .berke-h010{
  --home-ink:#132c46;
  --home-ink-2:#36596c;
  --home-muted:#587482;
  --home-line:#d8e5ea;
  --home-soft:#eef6f8;
  --home-dark:#102d47;
  --home-aqua:#4bb8dd;
  --home-section:clamp(2.75rem,4.5vw,4.15rem);
  --home-section-compact:clamp(2.15rem,3.4vw,3rem);
  --home-hero-pad-start:clamp(2.35rem,3.8vw,3.5rem);
  --home-hero-pad-end:clamp(1.75rem,2.8vw,2.45rem);
  --home-hero-column-gap:clamp(1.6rem,3vw,2.8rem);
  direction:rtl;color:var(--home-ink);background:#fff;font-size:var(--berke-type-body);line-height:var(--berke-leading-body);overflow:clip
}
body.berke-home-v0201 .berke-h010 :where(h1,h2,h3,h4,p,figure){margin-block-start:0}
body.berke-home-v0201 .berke-h010 :where(h1,h2,h3,h4){color:var(--home-ink);text-wrap:balance}
body.berke-home-v0201 .berke-h010 :where(p,li){overflow-wrap:normal;word-break:normal}
body.berke-home-v0201 .berke-h010 a{text-underline-offset:.2em}
body.berke-home-v0201 .berke-h010-container{width:min(calc(100% - 2.5rem),82rem);margin-inline:auto}
body.berke-home-v0201 .berke-h010-section{padding-block:var(--home-section)}
body.berke-home-v0201 .berke-h010-section--soft{background:var(--home-soft)}
body.berke-home-v0201 .berke-h010-kicker{margin:0 0 .55rem;color:#176d88;font-size:max(var(--berke-type-small),.9rem);font-weight:800;line-height:1.7}
body.berke-home-v0201 .berke-h010-kicker--dark{color:#9fe0ef}
body.berke-home-v0201 .berke-h010-heading{max-width:45rem;margin-block-end:clamp(1.15rem,2vw,1.65rem)}
body.berke-home-v0201 .berke-h010-heading--wide{max-width:60rem}
body.berke-home-v0201 .berke-h010-heading h2{margin:0;font-size:var(--berke-type-h2);font-weight:800;line-height:var(--berke-leading-heading)}
body.berke-home-v0201 .berke-h010-heading>p:last-child{margin:.55rem 0 0;color:var(--home-ink-2);font-size:var(--berke-type-body);line-height:1.9}
body.berke-home-v0201 .berke-h010-heading--sticky{position:sticky;inset-block-start:6.5rem;align-self:start}

/* Hero Start Alignment Contract: first copy and first media share one top grid line. */
body.berke-home-v0201 .berke-h010-hero{padding-block:var(--home-hero-pad-start) var(--home-hero-pad-end);background:linear-gradient(180deg,#f7fbfd 0%,#fff 78%)}
body.berke-home-v0201 .berke-h010-hero__grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);column-gap:var(--home-hero-column-gap);align-items:start}
body.berke-home-v0201 .berke-h010-hero__copy,
body.berke-home-v0201 .berke-h010-hero__media{align-self:start;margin-block-start:0}
body.berke-home-v0201 .berke-h010-hero__copy{max-width:42rem}
body.berke-home-v0201 .berke-h010-hero h1{max-width:18ch;margin:0;font-size:var(--berke-type-display);font-weight:800;line-height:var(--berke-leading-display)}
body.berke-home-v0201 .berke-h010-lead{max-width:41rem;margin:.8rem 0 0;color:var(--home-ink-2);font-size:var(--berke-type-lead);font-weight:500;line-height:1.9}
body.berke-home-v0201 .berke-h010-actions{display:flex;flex-wrap:wrap;gap:.65rem;margin-block-start:1rem}
body.berke-home-v0201 .berke-h010-button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:var(--berke-control-min);padding:.68rem 1.05rem;border:1px solid transparent;border-radius:var(--berke-radius-pill);font-size:var(--berke-type-control);font-weight:700;line-height:1.5;text-decoration:none;transition:transform var(--berke-motion-duration-fast) var(--berke-motion-ease-standard),background-color var(--berke-motion-duration-fast) var(--berke-motion-ease-standard),border-color var(--berke-motion-duration-fast) var(--berke-motion-ease-standard)}
body.berke-home-v0201 .berke-h010-button:hover{transform:translateY(-1px)}
body.berke-home-v0201 .berke-h010-button--primary{color:#fff;background:var(--berke-color-primary-900)}
body.berke-home-v0201 .berke-h010-button--secondary{color:var(--berke-color-primary-900);border-color:var(--berke-color-border-strong);background:#fff}
body.berke-home-v0201 .berke-h010-button--light{color:var(--berke-color-primary-900);background:#fff}
body.berke-home-v0201 .berke-h010-button--ghost{color:#fff;border-color:rgba(255,255,255,.35);background:transparent}
body.berke-home-v0201 .berke-h010-media{margin:0}
body.berke-home-v0201 .berke-h010-media__frame{position:relative;overflow:hidden;border-radius:1.1rem;background:#dce8ee;box-shadow:0 .75rem 2rem rgba(15,36,57,.08)}
body.berke-home-v0201 .berke-h010-media__image{display:block;width:100%;height:100%;object-fit:cover}
body.berke-home-v0201 .berke-h010-media--hero .berke-h010-media__frame{aspect-ratio:5/4}
body.berke-home-v0201 .berke-h010-media figcaption{margin-block-start:.5rem;color:#55717f;font-size:max(var(--berke-type-caption),.88rem);line-height:1.75}
body.berke-home-v0201 .berke-h010-principles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-block-start:1.35rem;border-block:1px solid var(--home-line)}
body.berke-home-v0201 .berke-h010-principles span{display:flex;align-items:center;gap:.5rem;min-height:3.35rem;padding:.65rem .85rem;border-inline-start:1px solid var(--home-line);color:var(--home-ink-2);font-size:max(var(--berke-type-small),.9rem);font-weight:600}
body.berke-home-v0201 .berke-h010-principles span:first-child{border-inline-start:0}
body.berke-home-v0201 .berke-h010-principles b{color:#176d88;font-size:max(var(--berke-type-caption),.88rem)}

/* Situation router: compact but still decision-first. */
body.berke-home-v0201 .berke-h010-router{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid var(--home-line);border-radius:1rem;overflow:hidden;background:#fff;box-shadow:0 .45rem 1.3rem rgba(15,36,57,.04)}
body.berke-home-v0201 .berke-h010-route{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.85rem;padding:clamp(1.15rem,2vw,1.55rem);color:inherit;text-decoration:none;background:#fff;transition:background-color var(--berke-motion-duration-base) var(--berke-motion-ease-standard)}
body.berke-home-v0201 .berke-h010-route+.berke-h010-route{border-inline-start:1px solid var(--home-line)}
body.berke-home-v0201 .berke-h010-route:hover{background:#f8fcfd}
body.berke-home-v0201 .berke-h010-route--dark{color:#fff;background:var(--home-dark)}
body.berke-home-v0201 .berke-h010-route--dark:hover{background:#173953}
body.berke-home-v0201 .berke-h010-route__index{display:grid;place-items:center;width:2.7rem;height:2.7rem;border-radius:50%;color:#176d88;background:#eef8fb;font-size:max(var(--berke-type-caption),.88rem);font-weight:800}
body.berke-home-v0201 .berke-h010-route--dark .berke-h010-route__index{color:#a8e4f4;background:rgba(255,255,255,.08)}
body.berke-home-v0201 .berke-h010-route__label{margin:0 0 .15rem;color:#176d88;font-size:max(var(--berke-type-small),.9rem);font-weight:800}
body.berke-home-v0201 .berke-h010-route--dark .berke-h010-route__label{color:#a8e4f4}
body.berke-home-v0201 .berke-h010-route h3{margin:0;font-size:var(--berke-type-h3);font-weight:800;line-height:1.65}
body.berke-home-v0201 .berke-h010-route--dark h3{color:#fff}
body.berke-home-v0201 .berke-h010-route p:not(.berke-h010-route__label){margin:.35rem 0 0;color:#506b7d;font-size:var(--berke-type-card);line-height:1.8}
body.berke-home-v0201 .berke-h010-route--dark p:not(.berke-h010-route__label){color:#d7e5eb}
body.berke-home-v0201 .berke-h010-route strong{display:inline-flex;gap:.35rem;margin-block-start:.55rem;color:#176d88;font-size:max(var(--berke-type-small),.9rem)}
body.berke-home-v0201 .berke-h010-route--dark strong{color:#a8e4f4}

/* Three families: editorial, not card-heavy. */
body.berke-home-v0201 .berke-h010-families{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.15rem}
body.berke-home-v0201 .berke-h010-families article{padding-block-start:.9rem;border-block-start:2px solid var(--berke-color-primary-500)}
body.berke-home-v0201 .berke-h010-family__num{color:#176d88;font-size:max(var(--berke-type-caption),.88rem);font-weight:800}
body.berke-home-v0201 .berke-h010-families h3{margin:.35rem 0 0;font-size:var(--berke-type-h3);font-weight:800;line-height:1.65}
body.berke-home-v0201 .berke-h010-families p{margin:.4rem 0 0;color:#405f71;font-size:var(--berke-type-card);line-height:1.8}
body.berke-home-v0201 .berke-h010-families a,
body.berke-home-v0201 .berke-h010-inline-action a,
body.berke-home-v0201 .berke-h010-text-link{display:inline-flex;gap:.35rem;margin-block-start:.55rem;color:#176d88;font-size:max(var(--berke-type-small),.9rem);font-weight:800;text-decoration:none}
body.berke-home-v0201 .berke-h010-inline-action{margin-block-start:1rem;padding-block-start:.75rem;border-block-start:1px solid var(--home-line)}

/* Frequent paths: full-width editorial matrix; no sticky/empty companion column. */
body.berke-home-v0201 .berke-h010-paths{display:block}
body.berke-home-v0201 .berke-h010-paths>.berke-h010-heading{max-width:60rem}
body.berke-home-v0201 .berke-h010-path-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-block-start:1px solid var(--home-line);border-inline-start:1px solid var(--home-line)}
body.berke-home-v0201 .berke-h010-path-list>a{display:grid;grid-template-columns:2.35rem minmax(0,1fr) auto;gap:.8rem;align-items:center;min-block-size:6.25rem;padding:1rem;color:inherit;text-decoration:none;border-block-end:1px solid var(--home-line);border-inline-end:1px solid var(--home-line);transition:background-color var(--berke-motion-duration-fast) var(--berke-motion-ease-standard)}
body.berke-home-v0201 .berke-h010-path-list>a:hover{background:#f8fcfd}
body.berke-home-v0201 .berke-h010-path-list__num{color:#176d88;font-size:max(var(--berke-type-caption),.88rem);font-weight:800}
body.berke-home-v0201 .berke-h010-path-list h3{margin:0;font-size:var(--berke-type-h4);font-weight:800;line-height:1.65}
body.berke-home-v0201 .berke-h010-path-list p{margin:.25rem 0 0;color:#506b7d;font-size:var(--berke-type-card);line-height:1.8}
body.berke-home-v0201 .berke-h010-path-list__arrow{color:#176d88;font-size:1.05rem}

/* Diagnosis is a visual/text pair; start alignment prevents dead vertical bands. */
body.berke-home-v0201 .berke-h010-diagnosis{color:#fff;background:var(--home-dark)}
body.berke-home-v0201 .berke-h010-diagnosis__grid{display:grid;grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr);gap:clamp(1.6rem,3.2vw,3rem);align-items:start}
body.berke-home-v0201 .berke-h010-diagnosis__copy,
body.berke-home-v0201 .berke-h010-media--dark{align-self:start;margin-block-start:0}
body.berke-home-v0201 .berke-h010-diagnosis h2{margin:0;color:#fff;font-size:var(--berke-type-h2);font-weight:800;line-height:var(--berke-leading-heading)}
body.berke-home-v0201 .berke-h010-diagnosis__copy>p:not(.berke-h010-kicker){margin:.55rem 0 0;color:#d7e5eb;font-size:var(--berke-type-body);line-height:1.9}
body.berke-home-v0201 .berke-h010-diagnosis ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem .85rem;margin:.85rem 0 0;padding:0;list-style:none}
body.berke-home-v0201 .berke-h010-diagnosis li{padding:.42rem .85rem .42rem 0;border-inline-start:2px solid var(--berke-color-primary-500);color:#f0f7fa;font-size:var(--berke-type-card)}
body.berke-home-v0201 .berke-h010-media--dark .berke-h010-media__frame{box-shadow:none}
body.berke-home-v0201 .berke-h010-media--dark figcaption{color:#bfd6e2}

/* Evidence + process: compact information density. */
body.berke-home-v0201 .berke-h010-projects{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem}
body.berke-home-v0201 .berke-h010-projects article{padding:1rem;border:1px solid var(--home-line);border-radius:.9rem;background:#fff}
body.berke-home-v0201 .berke-h010-projects article>span{color:#176d88;font-size:max(var(--berke-type-caption),.88rem);font-weight:800}
body.berke-home-v0201 .berke-h010-projects h3{margin:.3rem 0 0;font-size:var(--berke-type-h3)}
body.berke-home-v0201 .berke-h010-projects p{margin:.35rem 0 0;color:#506b7d;font-size:var(--berke-type-card)}
body.berke-home-v0201 .berke-h010-evidence-flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-block:1px solid var(--home-line)}
body.berke-home-v0201 .berke-h010-evidence-flow>div{padding:1rem;border-inline-start:1px solid var(--home-line)}
body.berke-home-v0201 .berke-h010-evidence-flow>div:first-child{border-inline-start:0}
body.berke-home-v0201 .berke-h010-evidence-flow span{color:#176d88;font-size:max(var(--berke-type-caption),.88rem);font-weight:800}
body.berke-home-v0201 .berke-h010-evidence-flow strong{display:block;margin-block-start:.2rem;color:var(--home-ink);font-size:var(--berke-type-h4)}
body.berke-home-v0201 .berke-h010-evidence-flow p{margin:.25rem 0 0;color:#506b7d;font-size:var(--berke-type-card);line-height:1.75}
body.berke-home-v0201 .berke-h010-process{display:block}
body.berke-home-v0201 .berke-h010-process>.berke-h010-heading{max-width:60rem}
body.berke-home-v0201 .berke-h010-timeline{--h010-progress:0;position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:0;padding:0;list-style:none}
body.berke-home-v0201 .berke-h010-timeline::before,
body.berke-home-v0201 .berke-h010-timeline::after{content:"";position:absolute;z-index:0;inset-inline:1.325rem;inset-block-start:1.325rem;height:2px;transform-origin:100% 50%/* berke-rtl-physical-ok: process progresses from first RTL step */}
body.berke-home-v0201 .berke-h010-timeline::before{background:#d4e6ed}
body.berke-home-v0201 .berke-h010-timeline::after{background:var(--berke-color-primary-500);transform:scaleX(var(--h010-progress));transition:transform 80ms linear}
body.berke-home-v0201 .berke-h010-timeline li{position:relative;z-index:1;display:grid;grid-template-rows:auto 1fr;gap:.65rem;align-items:start;padding-inline-end:clamp(.85rem,1.8vw,1.25rem)}
body.berke-home-v0201 .berke-h010-timeline li:first-child{padding-inline-end:0}
body.berke-home-v0201 .berke-h010-timeline__marker{position:relative;z-index:2;display:grid;place-items:center;width:2.65rem;height:2.65rem;border:1px solid var(--berke-color-border-strong);border-radius:50%;color:#55717f;background:#fff;font-size:max(var(--berke-type-caption),.88rem);font-weight:800;transition:color var(--berke-motion-duration-fast) var(--berke-motion-ease-standard),background-color var(--berke-motion-duration-fast) var(--berke-motion-ease-standard),border-color var(--berke-motion-duration-fast) var(--berke-motion-ease-standard)}
body.berke-home-v0201 .berke-h010-timeline li.is-active .berke-h010-timeline__marker{color:#fff;border-color:var(--berke-color-primary-600);background:var(--berke-color-primary-600)}
body.berke-home-v0201 .berke-h010-timeline h3{margin:0;font-size:var(--berke-type-h4);font-weight:800}
body.berke-home-v0201 .berke-h010-timeline p{margin:.25rem 0 0;color:#506b7d;font-size:var(--berke-type-card);line-height:1.8}

body.berke-home-v0201 .berke-h010-final{padding-block:var(--home-section-compact);color:#fff;background:var(--berke-color-primary-900)}
body.berke-home-v0201 .berke-h010-final__inner{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1.4rem;align-items:center}
body.berke-home-v0201 .berke-h010-final h2{margin:0;color:#fff;font-size:var(--berke-type-h2);font-weight:800;line-height:var(--berke-leading-heading)}
body.berke-home-v0201 .berke-h010-final p:not(.berke-h010-kicker){max-width:45rem;margin:.4rem 0 0;color:#d7e5eb;font-size:var(--berke-type-body)}
body.berke-home-v0201 .berke-h010-final .berke-h010-actions{margin:0;justify-content:flex-end}

/* Existing M3 motion engine remains progressive enhancement only. */
html.h010-motion-ready body.berke-home-v0201 .berke-h010 [data-h010-reveal],
html.h010-motion-ready body.berke-home-v0201 .berke-h010 [data-h010-item]{opacity:0;transform:translateY(var(--berke-motion-distance-reveal));transition:opacity 520ms var(--berke-motion-ease-enter),transform 520ms var(--berke-motion-ease-enter)}
html.h010-motion-ready body.berke-home-v0201 .berke-h010 [data-h010-reveal].is-visible,
html.h010-motion-ready body.berke-home-v0201 .berke-h010 [data-h010-item].is-visible{opacity:1;transform:none}
html.h010-motion-ready body.berke-home-v0201 .berke-h010 [data-h010-item]{transition-delay:var(--h010-delay,0ms)}
body.berke-home-v0201 .berke-h010-media--hero .berke-h010-media__frame::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(135deg,rgba(238,248,251,.78),rgba(75,184,221,.08));transform:scaleX(0);transform-origin:100% 50%;z-index:2/* berke-rtl-physical-ok: decorative hero surface origin */}
html.h010-motion-ready body.berke-home-v0201 .berke-h010-media--hero.is-hero-settled .berke-h010-media__frame::after{animation:h0201-surface 760ms var(--berke-motion-ease-enter) both}
@keyframes h0201-surface{0%{transform:scaleX(1)}100%{transform:scaleX(0)}}

/* Wide laptop / tablet landscape: preserve two-column hero and alignment. */
@media (max-width:73.75rem){
  body.berke-home-v0201 .berke-h010-container{width:min(100% - 2.25rem,72rem)}
  body.berke-home-v0201 .berke-h010-hero__grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:1.7rem;align-items:start}
  body.berke-home-v0201 .berke-h010-families{gap:.9rem}
}
/* Tablet portrait: intentional single-column composition, no typography shrink. */
@media (max-width:60rem){
  body.berke-home-v0201 .berke-h010{--home-section:3rem;--home-section-compact:2.35rem;--home-hero-column-gap:1.5rem}
  body.berke-home-v0201 .berke-h010-hero__grid,
  body.berke-home-v0201 .berke-h010-diagnosis__grid{grid-template-columns:1fr}
  body.berke-home-v0201 .berke-h010-path-list{grid-template-columns:1fr}
  body.berke-home-v0201 .berke-h010-timeline{grid-template-columns:1fr;gap:.9rem}
  body.berke-home-v0201 .berke-h010-timeline::before,
  body.berke-home-v0201 .berke-h010-timeline::after{inset-inline:auto;inset-inline-start:1.325rem;inset-block:.2rem;width:2px;height:auto;transform-origin:center top}
  body.berke-home-v0201 .berke-h010-timeline::before{transform:translateX(50%)}
  body.berke-home-v0201 .berke-h010-timeline::after{transform:translateX(50%) scaleY(var(--h010-progress))}
  body.berke-home-v0201 .berke-h010-timeline li{grid-template-columns:2.65rem minmax(0,1fr);grid-template-rows:none;gap:.8rem;padding-inline-end:0}
  body.berke-home-v0201 .berke-h010-hero__grid{row-gap:var(--home-hero-column-gap)}
  body.berke-home-v0201 .berke-h010-heading--sticky{position:static}
  body.berke-home-v0201 .berke-h010-hero__copy{max-width:52rem}
  body.berke-home-v0201 .berke-h010-media--hero{max-width:52rem}
  body.berke-home-v0201 .berke-h010-principles{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.berke-home-v0201 .berke-h010-principles span:nth-child(odd){border-inline-start:0}
  body.berke-home-v0201 .berke-h010-principles span:nth-child(n+3){border-block-start:1px solid var(--home-line)}
  body.berke-home-v0201 .berke-h010-router{grid-template-columns:1fr}
  body.berke-home-v0201 .berke-h010-route+.berke-h010-route{border-inline-start:0;border-block-start:1px solid var(--home-line)}
  body.berke-home-v0201 .berke-h010-families{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.berke-home-v0201 .berke-h010-families article:last-child{grid-column:1/-1}
  body.berke-home-v0201 .berke-h010-diagnosis__copy{order:0}
  body.berke-home-v0201 .berke-h010-media--dark{order:1}
  body.berke-home-v0201 .berke-h010-evidence-flow{grid-template-columns:1fr}
  body.berke-home-v0201 .berke-h010-evidence-flow>div{border-inline-start:0;border-block-start:1px solid var(--home-line)}
  body.berke-home-v0201 .berke-h010-evidence-flow>div:first-child{border-block-start:0}
  body.berke-home-v0201 .berke-h010-final__inner{grid-template-columns:1fr}
  body.berke-home-v0201 .berke-h010-final .berke-h010-actions{justify-content:flex-start}
}
/* Mobile: compact vertical rhythm; principles become horizontal chips. */
@media (max-width:47.999rem){
  body.berke-home-v0201 .berke-h010{--home-section:2.35rem;--home-section-compact:1.95rem;--home-hero-pad-start:2.15rem;--home-hero-pad-end:1.7rem;--home-hero-column-gap:1.2rem}
  body.berke-home-v0201 .berke-h010-container{width:min(100% - 1.5rem,45rem)}
  body.berke-home-v0201 .berke-h010-hero h1{font-size:var(--berke-type-h1)}
  body.berke-home-v0201 .berke-h010-actions{display:grid;grid-template-columns:1fr}
  body.berke-home-v0201 .berke-h010-button{width:100%}
  body.berke-home-v0201 .berke-h010-media--hero .berke-h010-media__frame{aspect-ratio:4/3;border-radius:1rem}
  body.berke-home-v0201 .berke-h010-principles{display:flex;gap:.45rem;overflow-x:auto;scroll-snap-type:x proximity;margin-block-start:1rem;padding-block-end:.25rem;border-block:0;scrollbar-width:none}
  body.berke-home-v0201 .berke-h010-principles::-webkit-scrollbar{display:none}
  body.berke-home-v0201 .berke-h010-principles span{flex:0 0 auto;min-height:2.65rem;padding:.45rem .68rem;border:1px solid var(--home-line)!important;border-radius:999px;scroll-snap-align:start;background:#fff;white-space:nowrap;font-size:max(var(--berke-type-caption),.88rem)}
  body.berke-home-v0201 .berke-h010-heading{margin-block-end:1rem}
  body.berke-home-v0201 .berke-h010-route{grid-template-columns:2.45rem minmax(0,1fr);gap:.7rem;padding:1rem}
  body.berke-home-v0201 .berke-h010-route__index{width:2.45rem;height:2.45rem}
  body.berke-home-v0201 .berke-h010-families{grid-template-columns:1fr;gap:.9rem}
  body.berke-home-v0201 .berke-h010-families article:last-child{grid-column:auto}
  body.berke-home-v0201 .berke-h010-path-list>a{grid-template-columns:1.8rem minmax(0,1fr) auto;gap:.6rem;padding-block:.78rem}
  body.berke-home-v0201 .berke-h010-diagnosis ul{grid-template-columns:1fr}
  body.berke-home-v0201 .berke-h010-projects{grid-template-columns:1fr}
  body.berke-home-v0201 .berke-h010-timeline{gap:.8rem}
  body.berke-home-v0201 .berke-h010-timeline li{grid-template-columns:2.45rem minmax(0,1fr);gap:.7rem}
  body.berke-home-v0201 .berke-h010-timeline__marker{width:2.45rem;height:2.45rem}
  body.berke-home-v0201 .berke-h010-timeline::before,
  body.berke-home-v0201 .berke-h010-timeline::after{inset-inline-start:1.15rem}
}
@media (max-width:25rem){
  body.berke-home-v0201 .berke-h010-container{width:min(100% - 1.1rem,45rem)}
  body.berke-home-v0201 .berke-h010-route{grid-template-columns:1fr}
  body.berke-home-v0201 .berke-h010-route__index{justify-self:start}
}
@media (prefers-reduced-motion:reduce){
  body.berke-home-v0201 .berke-h010-button,
  body.berke-home-v0201 .berke-h010-path-list>a,
  body.berke-home-v0201 .berke-h010-timeline__marker{transition:none!important}
  body.berke-home-v0201 .berke-h010-button:hover{transform:none!important}
  html.h010-motion-ready body.berke-home-v0201 .berke-h010 [data-h010-reveal],
  html.h010-motion-ready body.berke-home-v0201 .berke-h010 [data-h010-item]{opacity:1!important;transform:none!important;transition:none!important}
  body.berke-home-v0201 .berke-h010-media--hero .berke-h010-media__frame::after{display:none!important}
  body.berke-home-v0201 .berke-h010-timeline::after{transform:scaleX(1)!important;transition:none!important}
}

@media (max-width:60rem) and (prefers-reduced-motion:reduce){
  body.berke-home-v0201 .berke-h010-timeline::after{transform:translateX(50%) scaleY(1)!important}
}


/* berke-design-contract-v0224 */
/*
 * BERKE DESIGN CONTRACT v1.3 — 0.22.4
 * This file is deliberately enqueued LAST. It owns invariants, not aesthetics.
 */

/* Surface contract ------------------------------------------------------- */
body.berke-system-v0200 main [data-berke-surface="dark"]{
  color:var(--berke-color-white,#fff)!important;
}
body.berke-system-v0200 main [data-berke-surface="dark"] :where(
  h1,h2,h3,h4,h5,h6,p,li,dt,dd,summary,label,legend,blockquote,
  [class*="__title"],[class*="__heading"],[class*="__lead"],[class*="__copy"]
):not([data-berke-surface="light"] *){color:var(--berke-color-white,#fff)!important}
body.berke-system-v0200 main [data-berke-surface="dark"] :where(
  small,figcaption,[class*="__meta"],[class*="__caption"],[class*="__eyebrow"],[class*="__kicker"]
):not([data-berke-surface="light"] *){color:#bfeaff!important}
body.berke-system-v0200 main [data-berke-surface="dark"] a:not([class*="button"]):not(.button):not([role="button"]):not([data-berke-surface="light"] *){color:#9fe8ff!important}
body.berke-system-v0200 main [data-berke-surface="light"]{
  color:var(--berke-color-text,#173f55)!important;
}
body.berke-system-v0200 main [data-berke-surface="light"] :where(h1,h2,h3,h4,h5,h6,[class*="__title"],[class*="__heading"]){color:var(--berke-color-heading,#0f2439)!important}
body.berke-system-v0200 main [data-berke-surface="light"] :where(p,li,dt,dd,summary,label,legend,small,figcaption,[class*="__meta"],[class*="__caption"]){color:var(--berke-color-text,#173f55)!important}


/* Button contrast contract ------------------------------------------------
 * Buttons are their own surface. A dark-section link rule must never recolor
 * a white/light button. Light/secondary button text stays deep navy so the
 * foreground remains readable on white and near-white fills.
 */
body.berke-system-v0200 main :where(a,button,[role="button"])[class*="button--light"],
body.berke-system-v0200 main :where(a,button,[role="button"])[class*="button--secondary"]{
  color:#123a5a!important;
  text-shadow:none!important;
}
body.berke-system-v0200 main :where(a,button,[role="button"])[class*="button--light"] :where(svg,path),
body.berke-system-v0200 main :where(a,button,[role="button"])[class*="button--secondary"] :where(svg,path){
  color:currentColor!important;
  stroke:currentColor;
}
body.berke-system-v0200 main [data-berke-surface="dark"] :where(a,button,[role="button"])[class*="button--light"],
body.berke-system-v0200 main [data-berke-surface="dark"] :where(a,button,[role="button"])[class*="button--secondary"]{
  color:#123a5a!important;
}

/* Form surface contract -------------------------------------------------
 * Shared intake forms are independent light surfaces even when nested in a
 * dark CTA section. Parent surface rules may never recolor form copy or
 * controls. Controls must remain visibly bounded and placeholder copy must
 * remain WCAG-readable on white.
 */
body.berke-system-v0200 main [data-berke-form-surface="light"]{
  background:#fff!important;
  color:#173f55!important;
  color-scheme:light;
}
body.berke-system-v0200 main [data-berke-form-surface="light"] :where(
  h1,h2,h3,h4,h5,h6,p,label,legend,strong,small,
  .berke-intake-step__head strong,.berke-intake-step__head small,
  .berke-choice-field__hint,.berke-intake-privacy,.berke-intake-status
){color:#173f55!important}
body.berke-system-v0200 main [data-berke-form-surface="light"] :where(
  input:not([type="hidden"]):not([type="radio"]):not([type="checkbox"]),textarea,select
){
  background:#fff!important;
  color:#123a5a!important;
  border-color:#7893a4!important;
  caret-color:#123a5a!important;
  box-shadow:none;
  opacity:1!important;
}
body.berke-system-v0200 main [data-berke-form-surface="light"] :where(
  input:not([type="hidden"]):not([type="radio"]):not([type="checkbox"]),textarea
)::placeholder{
  color:#607688!important;
  opacity:1!important;
}
body.berke-system-v0200 main [data-berke-form-surface="light"] select :where(option,optgroup){
  background:#fff!important;
  color:#123a5a!important;
}
body.berke-system-v0200 main [data-berke-form-surface="light"] :where(
  input:not([type="hidden"]),textarea,select
):focus{
  border-color:#167fa4!important;
  box-shadow:0 0 0 3px rgba(22,127,164,.16)!important;
  outline:none!important;
}
body.berke-system-v0200 main [data-berke-form-surface="light"] .berke-choice-card__surface,
body.berke-system-v0200 main [data-berke-form-surface="light"] .berke-service-picker__group,
body.berke-system-v0200 main [data-berke-form-surface="light"] .berke-service-picker__option{
  color:#173f55!important;
}

/* Split media/copy contract -------------------------------------------- */
@media (min-width:56.001rem){
  body.berke-system-v0200 main [data-berke-section-edge="v1"]{
    align-items:stretch!important;
  }
  body.berke-system-v0200 main [data-berke-section-edge="v1"] > *{
    align-self:stretch!important;
    min-block-size:0!important;
    margin-block-start:0!important;
    margin-block-end:0!important;
  }
  body.berke-system-v0200 main [data-berke-section-edge="v1"] > :where(figure,[class*="__visual"],[class*="__media"]){
    display:flex!important;
    flex-direction:column!important;
    block-size:100%!important;
    max-block-size:none!important;
  }
  body.berke-system-v0200 main [data-berke-section-edge="v1"] > :where(figure,[class*="__visual"],[class*="__media"]) :where(picture,img):first-child{
    flex:1 1 auto!important;
    min-block-size:0!important;
  }
  body.berke-system-v0200 main [data-berke-section-edge="v1"] > :where(figure,[class*="__visual"],[class*="__media"]) img{
    inline-size:100%!important;
    block-size:100%!important;
    max-block-size:none!important;
    object-fit:cover!important;
  }
}

/* Hero contract --------------------------------------------------------- */
@media (min-width:56.001rem){
  body.berke-system-v0200 main [data-berke-hero-contract="v3"] [data-berke-hero-grid]{align-items:stretch!important}
  body.berke-system-v0200 main [data-berke-hero-contract="v3"] :where([data-berke-hero-copy],[data-berke-hero-visual]){
    align-self:stretch!important;
    block-size:100%!important;
    margin-block:0!important;
  }
  body.berke-system-v0200 main [data-berke-hero-contract="v3"] [data-berke-hero-copy]{justify-content:flex-start!important}
  body.berke-system-v0200 main [data-berke-hero-contract="v3"] [data-berke-hero-completion]{margin-block-start:auto!important}
  body.berke-system-v0200 main [data-berke-hero-contract="v3"] [data-berke-hero-visual] img{
    block-size:100%!important;
    max-block-size:none!important;
    object-fit:cover!important;
  }
}

/* Prevent common structural regressions -------------------------------- */
body.berke-system-v0200 main img{max-inline-size:100%;height:auto}
body.berke-system-v0200 main :where(a,button,input,select,textarea){max-inline-size:100%}
@media (max-width:56rem){
  body.berke-system-v0200 main [data-berke-section-edge="v1"] > *,
  body.berke-system-v0200 main [data-berke-hero-contract="v3"] :where([data-berke-hero-copy],[data-berke-hero-visual]){
    block-size:auto!important;
    min-block-size:0!important;
  }
}

/* Admin-only runtime QA badge/panel ------------------------------------ */
.berke-design-qa-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.22rem .55rem;border-radius:999px;font-size:11px;font-weight:800;cursor:pointer;border:1px solid rgba(255,255,255,.28)}
.berke-design-qa-badge.is-pass{background:#0d6b4c;color:#fff}.berke-design-qa-badge.is-fail{background:#9d2e2e;color:#fff}.berke-design-qa-badge.is-wait{background:#65551a;color:#fff}
.berke-design-qa-panel{position:fixed;z-index:999999;inset-block-start:72px;inset-inline-start:16px;inline-size:min(420px,calc(100vw - 32px));max-block-size:70vh;overflow:auto;padding:16px;background:#fff;color:#14293b;border:1px solid #cbd8e0;border-radius:12px;box-shadow:0 20px 60px rgba(0,0,0,.25);direction:rtl;font-family:inherit}
.berke-design-qa-panel[hidden]{display:none}.berke-design-qa-panel h3{margin:0 0 10px;color:#0f2439!important}.berke-design-qa-panel ul{margin:0;padding-inline-start:20px}.berke-design-qa-panel li{margin-block:6px;color:#25445b!important;font-size:13px!important}.berke-design-qa-panel button{margin-block-start:12px}

/* 0.22.3 Core enforcement: overflow, controls, hero v4 ---------------- */
html,body{max-inline-size:100%;overflow-x:clip}
body.berke-system-v0200 main,
body.berke-system-v0200 main :where(section,article,div,form,fieldset,figure){min-inline-size:0}
body.berke-system-v0200 main :where(img,svg,video,iframe,canvas){max-inline-size:100%}
body.berke-system-v0200 main :where(input,select,textarea,button,.berke-ui-button,.berke-core-button){box-sizing:border-box}
body.berke-system-v0200 main :where(button,input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),select,.berke-ui-button,.berke-core-button){min-block-size:44px}
body.berke-system-v0200 main :where(input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),select,textarea){border-radius:10px}
body.berke-system-v0200 main textarea{min-block-size:112px;resize:vertical}
body.berke-system-v0200 main :where(button,.berke-ui-button,.berke-core-button){line-height:1.25}

@media (min-width:56.001rem){
 body.berke-system-v0200 main [data-berke-hero-contract="v4"] [data-berke-hero-grid]{align-items:stretch!important}
 body.berke-system-v0200 main [data-berke-hero-contract="v4"] :where([data-berke-hero-copy],[data-berke-hero-visual]){align-self:stretch!important;block-size:100%!important;margin-block:0!important;min-inline-size:0!important}
 body.berke-system-v0200 main [data-berke-hero-contract="v4"] [data-berke-hero-copy]{display:flex!important;flex-direction:column!important;justify-content:flex-start!important}
 body.berke-system-v0200 main [data-berke-hero-contract="v4"] [data-berke-hero-completion]{margin-block-start:auto!important}
 body.berke-system-v0200 main [data-berke-hero-contract="v4"] [data-berke-hero-visual]{display:flex!important;overflow:hidden}
 body.berke-system-v0200 main [data-berke-hero-contract="v4"] [data-berke-hero-visual] :where(picture,img){inline-size:100%!important;block-size:100%!important;max-block-size:none!important}
 body.berke-system-v0200 main [data-berke-hero-contract="v4"] [data-berke-hero-visual] img{object-fit:cover!important}
}
@media (max-width:56rem){
 body.berke-system-v0200 main [data-berke-hero-contract="v4"] :where([data-berke-hero-copy],[data-berke-hero-visual]){block-size:auto!important;min-block-size:0!important;min-inline-size:0!important}
}

/* 0.22.4 QA cleanup ------------------------------------------------------
 * Core geometry rules. These are intentionally conservative and are scoped
 * to the public content tree so WordPress admin chrome does not affect QA.
 */
body.berke-system-v0200 main{
  inline-size:100%;
  max-inline-size:100%;
  overflow-wrap:anywhere;
}
body.berke-system-v0200 main :where(.berke-core-container,.berke-request-container,[class*="__container"],[class$="-container"]){
  max-inline-size:100%;
  min-inline-size:0;
  box-sizing:border-box;
}
body.berke-system-v0200 main :where(.berke-core-actions,[class*="__actions"],[class*="-actions"]){
  min-inline-size:0;
  flex-wrap:wrap;
}
body.berke-system-v0200 main :where(a[class*="button"],button,[role="button"],input[type="submit"],input[type="button"]){
  min-block-size:44px;
  box-sizing:border-box;
}
body.berke-system-v0200 main :where(input:not([type="hidden"]):not([type="radio"]):not([type="checkbox"]),select){
  min-block-size:44px;
}
body.berke-system-v0200 main :where(input[type="radio"],input[type="checkbox"]){
  min-block-size:0!important;
  min-inline-size:0!important;
}
body.berke-system-v0200 main :where(.berke-core-media-v0403,[data-berke-hero-visual]){
  min-inline-size:0;
  overflow:hidden;
}
body.berke-system-v0200 main [data-berke-hero-contract="v4"] [data-berke-hero-grid] > *{
  min-inline-size:0!important;
}
body.berke-system-v0200 main [data-berke-hero-contract="v4"] [data-berke-hero-visual] :where(figure,picture){
  inline-size:100%;
  max-inline-size:100%;
  margin:0;
}
@media (max-width:56rem){
  body.berke-system-v0200 main [data-berke-hero-contract="v4"] [data-berke-hero-grid]{
    grid-template-columns:minmax(0,1fr)!important;
  }
  body.berke-system-v0200 main [data-berke-hero-contract="v4"] [data-berke-hero-copy]{order:1!important}
  body.berke-system-v0200 main [data-berke-hero-contract="v4"] [data-berke-hero-visual]{order:2!important}
  body.berke-system-v0200 main :where(a[class*="button"],button,[role="button"],input[type="submit"],input[type="button"]){
    max-inline-size:100%;
  }
}


