/* FIT PROFIT v48 — universal stability, readability and client-first rendering */
:root{
  --v48-safe-left:max(8px,env(safe-area-inset-left,0px));
  --v48-safe-right:max(8px,env(safe-area-inset-right,0px));
  --v48-safe-bottom:max(8px,env(safe-area-inset-bottom,0px));
  --v48-header-offset:clamp(64px,8vw,92px);
  --v48-reading:72ch;
  --v48-control:44px;
}
*,*::before,*::after{box-sizing:border-box}
html{max-inline-size:100%;overflow-x:clip;scroll-padding-block-start:calc(var(--v48-header-offset) + 12px);text-size-adjust:100%;-webkit-text-size-adjust:100%}
body{max-inline-size:100%;min-inline-size:0;overflow-x:clip;margin-inline:0}
:where(header,nav,main,section,article,aside,footer,div,form,fieldset,ul,ol,li){min-inline-size:0}
:where(img,picture,video,canvas,iframe,svg){max-inline-size:100%;block-size:auto}
:where(h1,h2,h3,h4,h5,h6){max-inline-size:100%;overflow-wrap:normal;word-break:normal;text-wrap:balance;hyphens:manual}
:where(p,li,dd,blockquote){overflow-wrap:break-word;word-break:normal}
:where(code,pre,kbd,samp,.url,.mono){overflow-wrap:anywhere;word-break:break-word}
:where(article,.article-body,.prose,.content-copy,.reading-content) p{max-inline-size:var(--v48-reading);line-height:1.68}
h1{font-size:clamp(1.95rem,5.2vw,4.35rem);line-height:1.02}
h2{font-size:clamp(1.45rem,3.2vw,2.65rem);line-height:1.12}
h3{font-size:clamp(1.08rem,2vw,1.45rem);line-height:1.25}
:where(.card,.guide-card,.article-card,.tool-card,.product-card,.service-card,.intent-card,.related-card){min-inline-size:0;overflow:hidden}
:where(.card,.guide-card,.article-card,.tool-card,.product-card,.service-card,.intent-card,.related-card) :where(h2,h3,h4){font-size:clamp(1.02rem,1.7vw,1.28rem);line-height:1.25}
:where(.container,.shell,.wrap,.section-inner,.content-wrap){inline-size:min(100% - 2*var(--v48-safe-left),1440px);margin-inline:auto}
:where(input,select,textarea,button){min-inline-size:0;max-inline-size:100%;font:inherit}
:where(button,[role="button"],input,select,textarea,a.btn,a.button){min-block-size:var(--v48-control)}
:where(input,select,textarea){font-size:max(16px,1rem)}
:where(table){inline-size:100%;max-inline-size:100%;border-collapse:collapse}
:where(.table-wrap,.table-scroll,[role="region"]:has(>table)){max-inline-size:100%;overflow:auto;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}
.v48-skip-link{position:fixed;inset-block-start:8px;inset-inline-start:var(--v48-safe-left);z-index:2147483647;transform:translateY(-150%);padding:.72rem 1rem;border-radius:.75rem;background:#fff;color:#111;font-weight:700;text-decoration:none;box-shadow:0 8px 30px #0005}
.v48-skip-link:focus{transform:none}
:target{scroll-margin-block-start:calc(var(--v48-header-offset) + 16px)}

/* Fixed headers and menus must never compete for the same pixels. */
:where(.site-header,.header,.topbar,[data-site-header]){max-inline-size:100%;inset-inline:0;contain:layout style}
:where(.site-header__inner,.header-inner,.topbar-inner,[data-header-inner]){min-inline-size:0;max-inline-size:100%;gap:clamp(.45rem,1vw,1rem)}
:where(.site-nav,.header-nav,.primary-nav,[data-primary-nav]){min-inline-size:0;max-inline-size:100%}
:where(.site-nav a,.header-nav a,.primary-nav a){white-space:nowrap;font-size:clamp(.86rem,1vw,1rem)}
:where(.brand,.site-brand,.logo-lockup){min-inline-size:0;flex:0 1 auto}
:where(.brand-copy,.site-brand__copy,.logo-copy){min-inline-size:0;overflow:hidden;text-overflow:ellipsis}

:where(.menu-overlay,.site-menu,.nav-overlay,.brand-os,[data-menu-panel]){position:fixed!important;inset:0!important;inline-size:100%!important;max-inline-size:none!important;block-size:100dvh!important;min-block-size:100vh!important;max-block-size:none!important;overflow:auto!important;overscroll-behavior:contain;background:var(--surface,#080a09)!important;z-index:99999!important;transform:none}
:where(.menu-overlay,.site-menu,.nav-overlay,.brand-os,[data-menu-panel])[hidden]{display:none!important}
:where(.menu-grid,.brand-os__grid,.menu-links,[data-menu-grid]){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(.65rem,1.4vw,1rem);min-inline-size:0}
:where(.menu-grid,.brand-os__grid,.menu-links,[data-menu-grid]) a{font-size:clamp(1rem,1.6vw,1.25rem);line-height:1.2;overflow-wrap:normal;word-break:normal}
:where(.menu-close,[data-menu-close],[data-close-menu]){position:sticky;inset-block-start:0;z-index:2;min-block-size:44px}
body:has(:where(.menu-overlay,.site-menu,.nav-overlay,.brand-os,[data-menu-panel]):not([hidden]).is-open) :where(.site-header,.header,.topbar,[data-site-header]){visibility:hidden}

:where(.mobile-dock,.bottom-nav,.mobile-nav,[data-mobile-dock]){position:fixed!important;inset-inline-start:var(--v48-safe-left)!important;inset-inline-end:var(--v48-safe-right)!important;inset-block-end:var(--v48-safe-bottom)!important;inline-size:auto!important;max-inline-size:none!important;transform:none!important;margin:0!important;z-index:1000;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));contain:layout style}
:where(.mobile-dock,.bottom-nav,.mobile-nav,[data-mobile-dock]) a{min-inline-size:0;min-block-size:50px;display:grid;place-items:center;text-align:center;font-size:clamp(.66rem,2.7vw,.82rem);line-height:1.08;overflow:hidden;text-overflow:ellipsis}
body:is(.menu-open,.search-open,.language-open,.settings-open,.privacy-open,.modal-open,.v48-keyboard-open) :where(.mobile-dock,.bottom-nav,.mobile-nav,[data-mobile-dock]){display:none!important}

:where(.site-footer,footer[role="contentinfo"],footer){max-inline-size:100%;overflow:hidden}
:where(.footer-grid,.site-footer__grid,[data-footer-grid]){display:grid;grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(0,1fr));gap:clamp(1rem,2vw,2rem);align-items:start}
:where(.footer-grid,.site-footer__grid,[data-footer-grid]) :where(h2,h3,h4){font-size:clamp(1rem,1.5vw,1.2rem)}
:where(.footer-grid,.site-footer__grid,[data-footer-grid]) a{overflow-wrap:break-word}

/* Below-the-fold rendering without hiding indexable content. */
@supports(content-visibility:auto){
  main>section:nth-of-type(n+3),article>section:nth-of-type(n+3){content-visibility:auto;contain-intrinsic-size:auto 680px}
}

@media(max-width:1120px){
  :where(.site-nav,.header-nav,.primary-nav,[data-primary-nav]){display:none!important}
}
@media(max-width:760px){
  :root{--v48-header-offset:68px}
  :where(.container,.shell,.wrap,.section-inner,.content-wrap){inline-size:calc(100% - var(--v48-safe-left) - var(--v48-safe-right))}
  :where(.menu-grid,.brand-os__grid,.menu-links,[data-menu-grid]){grid-template-columns:1fr}
  :where(.footer-grid,.site-footer__grid,[data-footer-grid]){grid-template-columns:repeat(2,minmax(0,1fr))}
  :where(.grid,.cards,.card-grid,.guide-grid,.tools-grid,.products-grid,.services-grid,.related-grid,.intent-grid){grid-template-columns:1fr!important}
  h1{font-size:clamp(1.85rem,9vw,2.55rem)}
  h2{font-size:clamp(1.35rem,6vw,2rem)}
  body{padding-block-end:calc(76px + env(safe-area-inset-bottom,0px))}
}
@media(max-width:380px){
  :where(.footer-grid,.site-footer__grid,[data-footer-grid]){grid-template-columns:1fr}
  :where(.mobile-dock,.bottom-nav,.mobile-nav,[data-mobile-dock]) a{font-size:.64rem}
}
@media(max-height:520px) and (orientation:landscape){
  :where(.menu-overlay,.site-menu,.nav-overlay,.brand-os,[data-menu-panel]){block-size:100dvh!important}
  :where(.menu-grid,.brand-os__grid,.menu-links,[data-menu-grid]){grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
@media(forced-colors:active){:where(button,a,.card,.menu-overlay,.site-menu){forced-color-adjust:auto;border:1px solid CanvasText}}
@supports not(height:100dvh){:where(.menu-overlay,.site-menu,.nav-overlay,.brand-os,[data-menu-panel]){height:100vh!important}}

/* Runtime geometry guard, only when an offending element is detected. */
[data-v48-guarded="true"]{max-inline-size:100%!important;min-inline-size:0!important}


/* FIT PROFIT v48 · final responsive safeguards */
html,body{inline-size:100%;min-inline-size:0}
body{overflow-x:hidden;overflow-x:clip}
:where(.fp45-header-inner,.fp45-menu-inner,.fp45-footer-inner,.hero-grid,.section-grid,.content-grid){min-inline-size:0;max-inline-size:100%}
:where(.fp45-header-actions,.fp45-header-nav,.fp45-menu-tools){min-inline-size:0;flex-wrap:nowrap}
:where(.fp45-menu-card,.fp45-footer-links,.fp45-footer-brand){min-inline-size:0;overflow:hidden}
@media(max-width:1120px){.fp45-header-nav{display:none!important}}
@media(max-width:760px){
  :where(.fp45-header-inner,.fp45-menu-inner,.fp45-footer-inner){inline-size:calc(100% - max(16px,env(safe-area-inset-left,0px)) - max(16px,env(safe-area-inset-right,0px)));margin-inline:auto}
  :where(.fp45-menu-grid,.fp45-footer-top){grid-template-columns:1fr!important}
  :where(.fp45-menu-card h2,.fp45-menu-card h3){font-size:clamp(1rem,5vw,1.25rem)!important}
}
@media(max-width:340px){
  :where(.mobile-dock,.bottom-nav,.mobile-nav,[data-mobile-dock]){inset-inline-start:max(4px,env(safe-area-inset-left,0px))!important;inset-inline-end:max(4px,env(safe-area-inset-right,0px))!important}
  :where(.mobile-dock,.bottom-nav,.mobile-nav,[data-mobile-dock]) a{font-size:.6rem!important;padding-inline:1px!important}
}
@media(min-resolution:2dppx){:where(.fp45-header,.site-header){backface-visibility:hidden}}
