/* 2.0.3: full-width section surfaces, with readable inner content containers. */
body.fxm-site:has(#primary .fxm-page) #content,
body.fxm-site:has(#primary .fxph-home-v1) #content,
body.fxm-site #content .ast-container:has(#primary .fxm-page),
body.fxm-site #content .ast-container:has(#primary .fxph-home-v1),
body.fxm-site #primary:has(.fxm-page),
body.fxm-site #primary:has(.fxph-home-v1),
body.fxm-site #primary :is(.site-main,.fxp-page-entry,.fxj-page,.ast-article-single,.entry-content):has(.fxm-page),
body.fxm-site #primary :is(.site-main,.fxp-page-entry,.fxj-page,.ast-article-single,.entry-content):has(.fxph-home-v1){width:100%!important;max-width:none!important;margin:0!important;padding:0!important;border:0;float:none;box-sizing:border-box}
body.fxm-site #primary :is(.fxm-page,.fxph-home-v1){width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
body.fxm-site .fxm :is(.fxm-hero,.fxm-section--closing,.fxm-section--manifesto),
body.fxm-site .fxph :is(.fxph-hero,.fxph-security){width:100%;max-width:none;margin-inline:0;border-radius:0}
/* Inner .fxm-shell / .fxph-shell keep their existing max-width and mobile gutters.
   No viewport-width breakout or negative margins: scrollbar width stays in bounds. */
/* Explicit colour pairs cover both native page families. */
body.fxm-site .fxph :is(.fxph-hero,.fxph-security) a.fxp-link--primary:not(.fxp-deferred){background:#FF6A00!important;border-color:#FF6A00!important;color:#0B2A4A!important}
body.fxm-site .fxph :is(.fxph-hero,.fxph-security) a.fxp-link--primary:not(.fxp-deferred):is(:hover,:active){background:#FFB37A!important;border-color:#FFB37A!important;color:#0B2A4A!important}
body.fxm-site .fxph :is(.fxph-hero,.fxph-security) a.fxp-link--secondary:not(.fxp-deferred){background:#0B2A4A!important;border-color:#A9BECF!important;color:#fff!important}
body.fxm-site .fxph :is(.fxph-hero,.fxph-security) a.fxp-link--secondary:not(.fxp-deferred):is(:hover,:active){background:#214666!important;border-color:#fff!important;color:#fff!important}
body.fxm-site .fxph :is(.fxph-hero,.fxph-security) a.fxp-link :is(span,strong){color:inherit!important}
body.fxm-site .fxph :is(.fxph-hero,.fxph-security) a.fxp-link:focus-visible{outline:3px solid #00B4FF!important;outline-offset:4px!important}
/* Readable light-surface secondary links, including the Homepage closing contact area. */
body.fxm-site .fxph .fxph-close a.fxp-link--secondary:not(.fxp-deferred){background:#fff!important;color:#0B2A4A!important;border-color:#0B2A4A!important}
body.fxm-site .fxph :is(.fxph-hero,.fxph-security) :is(h1,h2,h3,h4){color:#fff!important}
body.fxm-site .fxph .fxph-hero h1 .fxph-orange{color:#FF6A00}
/* Remove decorative counters, not prices, dates, statistics or ordered instructions. */
body.fxm-site :is(.fxm-section-marker,.fxph-flow-number,.fxph-layer-number,.fxph-delivery-number){display:none!important}
body.fxm-site .fxm .fxm-process li::before,body.fxm-site .fxv-section-timeline .fxp-card::before{content:none!important;display:none!important}
body.fxm-site .fxph .fxph-flow-step,body.fxm-site .fxph .fxph-security-row{grid-template-columns:minmax(0,1fr);padding-left:22px;border-left:3px solid #00B4FF;margin-bottom:16px}
body.fxm-site .fxph .fxph-flow-step::after{content:none}
body.fxm-site .fxph .fxph-human{border-left-color:#FF6A00;background:#FFF4EA;border-radius:0 12px 12px 0;padding:18px 22px}
body.fxm-site .fxph .fxph-delivery-step{display:block;border:1px solid #D7E3EB;border-radius:18px;padding:28px;background:#fff;box-shadow:0 12px 32px #0B2A4A08}
body.fxm-site .fxph .fxph-delivery-step::before{width:38px;height:4px;left:28px;top:0;border-radius:0 0 4px 4px}
body.fxm-site .fxph .fxph-delivery-step>p:last-child{grid-column:auto}
/* Atmosphere and varied geometry, with all important text on solid surfaces. */
body.fxm-site .fxph .fxph-hero{position:relative;isolation:isolate;background:#0B2A4A;background-image:radial-gradient(ellipse at 90% 5%,#00B4FF24,transparent 45%)}
body.fxm-site .fxph .fxph-hero-aside{background:#0B2A4A;border:1px solid #52708A;border-radius:22px;padding:28px;box-shadow:0 20px 52px #06172D33}
body.fxm-site .fxph .fxph-hero-top{gap:40px}
body.fxm-site .fxph .fxph-rail{gap:18px;border-top:0;padding-block:18px 32px}
body.fxm-site .fxph .fxph-rail-lane{padding:22px!important;border:1px solid #52708A!important;border-radius:16px;background:#0B2A4A}
body.fxm-site .fxph .fxph-automation{background:radial-gradient(ellipse at 100% 0,#E5F5FC,transparent 55%),#fff}
body.fxm-site .fxph .fxph-workflow{box-shadow:0 24px 64px #0B2A4A12;border:1px solid #B9CFDE;border-radius:22px}
body.fxm-site .fxph .fxph-security-map{padding:26px;border:1px solid #52708A;border-radius:22px;background:#0B2A4A}
body.fxm-site .fxph .fxph-service-directory{gap:20px}
body.fxm-site .fxph .fxph-service-row{border:1px solid #D7E3EB;border-radius:18px;padding:26px;background:#fff;box-shadow:0 10px 30px #0B2A4A07}
body.fxm-site .fxph .fxph-service-row::before{position:static;margin-bottom:16px;width:34px;height:34px}
body.fxm-site .fxm .fxm-section{padding-block:64px;border-bottom:0}
body.fxm-site .fxm .fxm-section h2::after{content:"";display:block;width:48px;height:4px;border-radius:4px;margin-top:20px;background:#FF6A00}
body.fxm-site .fxm :is(.fxm-column,.fxm-start-grid>div){padding:28px;border:1px solid #D5E3EC;border-radius:18px;background:#fff;box-shadow:0 8px 28px #0B2A4A06}
body.fxm-site .fxm :is(.fxm-section--manifesto,.fxm-section--closing) .fxm-column{background:#0B2A4A;border-color:#52708A}
body.fxm-site .fxm .fxm-process li{border:1px solid #D5E3EC;border-left:4px solid #00749A;border-radius:14px;padding:24px;background:#fff;box-shadow:0 8px 24px #0B2A4A07}
body.fxm-site .fxm .fxm-process li:nth-child(even){border-left-color:#FF6A00}
body.fxm-site .fxm .fxm-hero-visual{border-radius:24px;padding:14px;background:#E8F4FA;box-shadow:0 22px 54px #0B2A4A12;min-width:0}
body.fxm-site .fxm .fxm-callout{border-radius:0 16px 16px 0}
/* Light panels inside navy heroes must not inherit their surrounding white text. */
body.fxm-site .fxm :is(.fxm-hero-visual,.fxm-callout){color:#0B2A4A}
body.fxm-site .fxm :is(.fxm-hero-visual,.fxm-callout) :is(h1,h2,h3,h4,p,li,dt,dd,figcaption){color:#0B2A4A!important}
body.fxm-site .fxm .fxm-process li,
body.fxm-site .fxm .fxm-process li :is(h2,h3,h4,p,span,strong){color:#0B2A4A!important}
body.fxm-site .fxm :is(.fxm-hero-visual,.fxm-callout) p.fxm-kicker{color:#8A4100!important}
body.fxm-site .fxm :is(.fxm-hero-visual,.fxm-callout) a:not(.fxp-link){color:#075879!important}
body.fxm-site .fxm :is(.fxm-hero-visual,.fxm-callout) a:not(.fxp-link):hover{color:#8A4100!important}
body.fxm-site .fxm .fxm-security-map{padding:20px}
body.fxm-site .fxm .fxm-security-map li{padding-block:4px}
body.fxm-site .fxm .fxm-story{border:1px solid #D7E3EB;border-radius:18px;overflow:hidden;background:#fff;box-shadow:0 10px 30px #0B2A4A08}
body.fxm-site .fxm .fxm-story-copy{padding:24px}
body.fxm-site :is(.fxph-detail,.fxm-faq details){border-radius:12px;padding-inline:20px;background:#F5F9FC;margin-bottom:12px}
/* A short, user-triggered comparison is illustrative; no measured performance claim. */
body.fxm-site .fxe-workflow-switch{border:1px solid #B9CFDE;border-radius:16px;padding:20px;margin:0 0 28px;background:#fff;color:#0B2A4A}
body.fxm-site .fxe-workflow-switch .fxe-switch-label{font-size:14px;font-weight:650;margin-bottom:12px}
body.fxm-site .fxe-switch-controls{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
body.fxm-site .fxe-switch-controls button{font:650 14px/1.4 system-ui;min-height:44px;padding:10px 14px;border-radius:8px;border:1px solid #9BB3C4;background:#fff;color:#0B2A4A;cursor:pointer}
body.fxm-site .fxe-switch-controls button[aria-pressed=true]{background:#0B2A4A;color:#fff;border-color:#0B2A4A}
body.fxm-site .fxe-switch-controls button:focus-visible{outline:3px solid #00749A;outline-offset:3px}
body.fxm-site .fxe-workflow-switch .fxe-switch-description{font-size:15px;line-height:1.7;margin:0;max-width:none}
@media(prefers-reduced-motion:no-preference){
 body.fxm-site :is(.fxph-service-row,.fxph-rail-lane,.fxm-story,.fxm-column,.fxph-delivery-step){transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
 body.fxm-site .fxe-enter{animation:fxe-enter .45s ease-out both}
 @keyframes fxe-enter{from{transform:translateY(10px)}to{transform:translateY(0)}}
}
@media(hover:hover) and (prefers-reduced-motion:no-preference){
 body.fxm-site :is(.fxph-service-row,.fxph-rail-lane,.fxm-story):hover{transform:translateY(-4px);box-shadow:0 18px 42px #0B2A4A15;border-color:#699DBB}
}
@media(max-width:800px){
 body.fxm-site .fxph .fxph-hero-aside{display:block;padding:24px}
 body.fxm-site .fxph .fxph-rail{gap:12px}
 body.fxm-site .fxm .fxm-section{padding-block:44px}
 body.fxm-site .fxph .fxph-service-row{padding:24px}
 body.fxm-site .fxm .fxm-story-copy,body.fxm-site .fxm .fxm-column{padding:22px}
}
@media(max-width:480px){
 body.fxm-site .fxph .fxph-hero-aside{padding:20px}
 body.fxm-site .fxph .fxph-rail-lane{display:block}
 body.fxm-site .fxph .fxph-hero-aside .fxph-actions a{width:100%;margin-right:0}
 body.fxm-site .fxm .fxm-hero-visual{padding:8px}
 body.fxm-site .fxph .fxph-security-map{padding:20px}
}
@media(prefers-reduced-motion:reduce){body.fxm-site .fxe-enter{animation:none!important;transform:none!important}}
@media(forced-colors:active){
 body.fxm-site .fxm :is(.fxm-hero-visual,.fxm-callout,.fxm-process li) :is(h1,h2,h3,h4,p,li,dt,dd,figcaption,span,strong){color:CanvasText!important}
 body.fxm-site .fxm :is(.fxm-hero-visual,.fxm-callout) p.fxm-kicker{color:CanvasText!important}
 body.fxm-site .fxm :is(.fxm-hero-visual,.fxm-callout) a:not(.fxp-link){color:LinkText!important}
 body.fxm-site .fxph :is(.fxph-hero,.fxph-security) :is(h1,h2,h3,h4){color:CanvasText!important}
 body.fxm-site .fxph :is(.fxph-hero,.fxph-security) a.fxp-link:not(.fxp-deferred){background:Canvas!important;color:LinkText!important;border-color:LinkText!important;forced-color-adjust:auto}
 body.fxm-site .fxph :is(.fxph-hero,.fxph-security) a.fxp-link:focus-visible{outline-color:Highlight!important}
}
