/* 2.2: scoped theme isolation, brand palette, robust headings and readable HTML.
   No global typography, body, footer or SEO overrides. */
#fp-homepage{--fp-blue:#5b86a8;--fp-deep:#2f5f7a;--fp-night:#2f5f7a;--fp-off:#f7f8f6;--fp-ink:#1c1c1c;--fp-gold:#d4b77c;--fp-admin-offset:0px;container-type:inline-size;container-name:factoport;}
#fp-homepage :is(h1,h2,h3,h4,h5,h6){font-family:Helvetica,Arial,sans-serif;font-weight:700;font-style:normal;color:var(--fp-ink);text-transform:none;letter-spacing:-.025em;word-break:normal;overflow-wrap:normal;hyphens:none;}
#fp-homepage :is(p,li,dd,dt,summary,button,a,select,small,strong,span){font-family:inherit;text-transform:none;}
#fp-homepage :is(button,a,select,summary){letter-spacing:normal;}
#fp-homepage .fp-eyebrow,#fp-homepage .fp-mini-label{letter-spacing:.13em;text-transform:uppercase;}
#fp-homepage h2{font-size:clamp(1.65rem,3.2cqi,3rem);line-height:1.16;}
#fp-homepage h3{font-size:clamp(1.15rem,2cqi,1.6rem);line-height:1.3;}
#fp-homepage .fp-hero h1{font-family:Helvetica,Arial,sans-serif;color:var(--fp-deep);font-weight:700;letter-spacing:-.035em;line-height:1.12;hyphens:none;word-break:normal;overflow-wrap:normal;max-width:100%;}
#fp-homepage .fp-title-line{font:inherit;color:inherit;letter-spacing:inherit;}
#fp-homepage .fp-hero-role{font-size:.78rem;line-height:1.5;color:var(--fp-deep);margin-top:12px;max-width:52ch;}
#fp-homepage .fp-hero .fp-lead{font-family:Helvetica,Arial,sans-serif;line-height:1.65;}
#fp-homepage :is(.fp-overview-copy h2,.fp-image-info-title,.fp-profile-head h2){color:var(--fp-deep);}
#fp-homepage .fp-profile-head h2{font-size:1.55rem;}
#fp-homepage .fp-heading-grid{grid-template-columns:minmax(0,1fr);}
#fp-homepage #fp-fit-title{max-width:26ch;}
#fp-homepage .fp-desktop-break{display:none;}
/* Brand blue is intentionally not darkened. Small copy gets a light surface:
   white/main blue only passes the large-text threshold, gold/blue does not. */
#fp-homepage .fp-journey-panel{background:var(--fp-blue);color:var(--fp-ink);gap:26px;padding:32px;border-radius:8px;}
#fp-homepage #fp-journey-heading{color:#fff;font-size:clamp(1.5rem,2.2cqi,1.9rem);font-weight:700;line-height:1.24;margin:12px 0 20px;max-width:34ch;}
#fp-homepage #fp-journey-number{color:#fff;font-size:2.6rem;line-height:1.2;font-weight:500;}
#fp-homepage #fp-journey-kicker{display:inline-block;background:var(--fp-gold);color:var(--fp-ink);padding:4px 9px;margin:0;border-radius:3px;font-size:.68rem;}
#fp-homepage .fp-journey-body{background:var(--fp-off);color:var(--fp-ink);padding:20px 22px;border-radius:5px;}
#fp-homepage #fp-journey-text,#fp-homepage #fp-journey-focus{color:var(--fp-ink);font-size:1rem;line-height:1.65;}
#fp-homepage #fp-journey-focus{border-left:3px solid var(--fp-gold);padding-left:14px;margin-top:16px;}
#fp-homepage .fp-journey-context{background:var(--fp-off);color:var(--fp-ink);border:0;border-radius:5px;padding:22px;align-self:start;}
#fp-homepage .fp-journey-context>span,#fp-homepage .fp-journey-context li{color:var(--fp-ink);font-size:.9rem;line-height:1.65;}
#fp-homepage .fp-journey-context>span{font-weight:700;}
/* The existing host footer is the only footer. Utility information is contextual. */
#fp-homepage .fp-trust .fp-image-note{grid-column:1/-1;margin:2px 0 0;font-size:.75rem;line-height:1.55;color:var(--fp-muted);max-width:85ch;}
#fp-homepage .fp-profile-panel .fp-reading-controls{display:block;margin-top:18px;border-top:1px solid var(--fp-line);}
#fp-homepage #fp-motion-toggle{font-size:.76rem;min-height:44px;max-width:100%;text-align:left;}
#fp-homepage #fp-motion-note{display:block;font-size:.7rem;}
/* Primary content remains in ordinary HTML even if JavaScript is unavailable. */
#fp-homepage .fp-reference{margin-top:24px;border-top:1px solid #c7d2d9;padding:3px 0 0;}
#fp-homepage .fp-reference>summary{display:list-item;cursor:pointer;padding:14px 3px;font-size:.9rem;font-weight:700;line-height:1.5;color:var(--fp-deep);}
#fp-homepage .fp-reference>summary::after{content:none;}
#fp-homepage .fp-reference-body{padding:10px 0 24px;max-width:82ch;color:var(--fp-ink);font-size:.95rem;line-height:1.7;}
#fp-homepage .fp-reference-body p{margin:10px 0 16px;}
#fp-homepage .fp-reference-body h3{font-size:1.22rem;line-height:1.4;margin:18px 0 10px;}
#fp-homepage .fp-reference-body ul,#fp-homepage .fp-reference-body ol{margin:12px 0 20px;padding-left:24px;}
#fp-homepage .fp-reference-body li{margin:6px 0;}
#fp-homepage .fp-static-topic{border:1px solid var(--fp-line);border-radius:6px;margin:10px 0;background:#fff;}
#fp-homepage .fp-static-topic>summary{padding:15px 18px;cursor:pointer;font-size:.95rem;line-height:1.5;font-weight:700;color:var(--fp-deep);display:list-item;}
#fp-homepage .fp-static-topic>summary::after{content:none;}
#fp-homepage .fp-static-topic-body{padding:0 20px 20px;}
#fp-homepage .fp-reference-body dt{font-weight:700;margin-top:18px;color:var(--fp-deep);}
#fp-homepage .fp-reference-body dd{margin-left:0;}
#fp-homepage .fp-static-steps>li{padding-bottom:12px;}
#fp-homepage .fp-knowledge-all>a{border-bottom:1px solid #b8c7d0;color:var(--fp-deep);font-size:.84rem;padding:8px 1px;min-height:40px;}
#fp-homepage .fp-comparison-next{margin-top:28px;padding-top:22px;border-top:1px solid var(--fp-line);max-width:86ch;}
#fp-homepage .fp-comparison-next>p{font-size:.95rem;line-height:1.7;color:var(--fp-muted);}
#fp-homepage .fp-comparison-next>a{display:inline-flex;gap:12px;align-items:center;margin-top:10px;padding:8px 0;min-height:44px;font-size:.92rem;color:var(--fp-deep);text-decoration:underline;text-underline-offset:4px;}
#fp-homepage :is(.fp-reference,.fp-static-topic){scroll-margin-top:calc(100px + var(--fp-admin-offset));}
#fp-homepage:not([data-initialized="true"]) .fp-js-only{display:none!important;}
#fp-homepage:not([data-initialized="true"]) .fp-nav{display:flex;position:static;inset:auto;flex-wrap:wrap;width:auto;max-height:none;background:transparent;padding:10px 0;box-shadow:none;}
#fp-homepage:not([data-initialized="true"]) .fp-reveal{opacity:1;transform:none;}
#fp-homepage:not([data-initialized="true"]) .fp-nav a{font-size:.85rem;padding:6px;}
#fp-homepage .fp-header{top:var(--fp-admin-offset);}
#fp-homepage .fp-progress{top:var(--fp-admin-offset);}
#fp-homepage .fp-section{scroll-margin-top:calc(100px + var(--fp-admin-offset));}
body.admin-bar #fp-homepage{--fp-admin-offset:32px;}
@media(max-width:782px){body.admin-bar #fp-homepage{--fp-admin-offset:46px;}}
@media(max-width:600px){body.admin-bar #fp-homepage{--fp-admin-offset:0px;}}
@media(min-width:1000px){
 #fp-homepage .fp-hero-copy{width:51%;max-width:690px;}
 #fp-homepage[data-focus="neutral"] .fp-hero-copy,#fp-homepage:not([data-focus]) .fp-hero-copy{width:66%;max-width:860px;}
 #fp-homepage .fp-hero h1{font-size:clamp(2.15rem,4.2cqi,3.85rem);}
 #fp-homepage .fp-title-line{display:block;white-space:nowrap;}
 #fp-homepage .fp-hero .fp-lead{max-width:49ch;}
 #fp-homepage .fp-heading-grid{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:52px;}
 #fp-homepage .fp-desktop-break{display:block;}
}
@media(max-width:999px){
 #fp-homepage .fp-hero-stage{grid-template-areas:'eyebrow' 'title' 'image' 'lead' 'role' 'actions' 'context' 'note' 'guidance';}
 #fp-homepage .fp-hero .fp-hero-role{grid-area:role;width:calc(100% - 40px);margin:12px auto 0;max-width:none;}
 #fp-homepage .fp-title-line{display:inline;white-space:normal;}
 #fp-homepage .fp-hero h1{font-size:clamp(1.5rem,5.4cqi,2.8rem);hyphens:none;}
 #fp-homepage .fp-journey-panel{padding:24px;gap:20px;}
}
@media(max-width:699px){
 #fp-homepage h2{font-size:clamp(1.4rem,6cqi,2rem);}
 #fp-homepage .fp-hero h1{font-size:clamp(1.4rem,5.4cqi,2rem);hyphens:none;}
 #fp-homepage .fp-hero .fp-hero-role{font-size:.74rem;}
 #fp-homepage .fp-journey-panel{padding:22px 16px;}
 #fp-homepage .fp-journey-body{padding:17px 14px;}
 #fp-homepage .fp-journey-context{padding:17px 14px;}
 #fp-homepage #fp-journey-heading{font-size:1.45rem;}
 #fp-homepage .fp-reference>summary,#fp-homepage .fp-static-topic>summary{font-size:.85rem;}
 #fp-homepage .fp-static-topic-body{padding:0 14px 16px;}
 #fp-homepage .fp-reference-body{font-size:.9rem;}
 #fp-homepage .fp-comparison-next>a{display:block;}
 #fp-homepage .fp-reading-controls{padding-right:0;}
}
/* Elementor may place the shortcode in a narrow container on a wide viewport. */
@container factoport (max-width:999px){
 #fp-homepage .fp-hero-stage{display:grid;height:auto;grid-template-columns:minmax(0,1fr);grid-template-areas:'eyebrow' 'title' 'image' 'lead' 'role' 'actions' 'context' 'note' 'guidance';}
 #fp-homepage .fp-hero-content,#fp-homepage .fp-hero-copy,#fp-homepage .fp-hero-guidance{display:contents;}
 #fp-homepage .fp-hero-bg{grid-area:image;position:relative;inset:auto;height:auto;aspect-ratio:1671/941;width:100%;margin-top:14px;}
 #fp-homepage .fp-hero .fp-eyebrow{grid-area:eyebrow;width:calc(100% - 40px);margin:32px auto 12px;}
 #fp-homepage .fp-hero h1{grid-area:title;width:calc(100% - 40px);margin:0 auto;font-size:clamp(1.4rem,5.4cqi,3rem);}
 #fp-homepage .fp-title-line{display:inline;white-space:normal;}
 #fp-homepage .fp-hero .fp-lead{grid-area:lead;width:calc(100% - 40px);max-width:none;margin:22px auto 0;}
 #fp-homepage .fp-hero .fp-hero-role{grid-area:role;width:calc(100% - 40px);margin:12px auto 0;max-width:none;}
 #fp-homepage .fp-hero .fp-actions{grid-area:actions;width:calc(100% - 40px);margin:22px auto 0;}
 #fp-homepage .fp-hero .fp-flow-note{grid-area:note;width:calc(100% - 40px);margin:20px auto 24px;}
 #fp-homepage .fp-hero-profile-summary{grid-area:context;width:calc(100% - 40px);margin:16px auto 0;}
 #fp-homepage .fp-hero-hints{right:8%;top:25%;width:37%;}
 #fp-homepage .fp-hint-text{font-size:clamp(1rem,3.5cqi,2rem);}
 #fp-homepage .fp-hero-image-copy{grid-area:guidance;position:relative;inset:auto;width:calc(100% - 40px);height:auto;margin:0 auto 28px;padding-top:16px;overflow:visible;clip:auto;white-space:normal;}
 #fp-homepage .fp-heading-grid{grid-template-columns:minmax(0,1fr);gap:24px;}
 #fp-homepage .fp-desktop-break{display:none;}
}
@media(prefers-reduced-motion:reduce){#fp-homepage *,#fp-homepage *::before,#fp-homepage *::after{scroll-behavior:auto!important;}}
/* Intermediate widths need real reflow, not word fragments or clipped columns. */
@container factoport (max-width:1119px){
 #fp-homepage .fp-journey-track{overflow-x:auto;scroll-snap-type:x proximity;}
 #fp-homepage .fp-journey-step{flex:0 0 210px;min-width:210px;}
 #fp-homepage .fp-journey-panel{grid-template-columns:44px minmax(0,1fr);gap:22px;}
 #fp-homepage .fp-journey-context{grid-column:2;}
}
@container factoport (max-width:999px){
 #fp-homepage .fp-media-copy-grid{grid-template-columns:minmax(0,1fr);gap:32px;}
}
@container factoport (max-width:759px){
 #fp-homepage .fp-journey-panel{grid-template-columns:minmax(0,1fr);}
 #fp-homepage .fp-journey-context{grid-column:auto;}
}
@media(max-width:359px){
 #fp-homepage:not([data-initialized="true"]) #fp-decision-title{font-size:1.25rem;}
}
@container factoport (max-width:359px){
 #fp-homepage .fp-journey-panel{padding:20px 12px;}
 #fp-homepage .fp-journey-body{padding:16px 10px;}
 #fp-homepage #fp-journey-focus{padding-left:0;border-left:0;border-top:2px solid var(--fp-gold);padding-top:12px;}
 #fp-homepage .fp-journey-context{padding:16px 12px;}
}
