/* Dedicated enterprise capabilities. Shared rhythm, distinct product compositions. */
.ef-page { position: relative; z-index: 1; }
.ef-page h1,.ef-page h2,.ef-page h3 { margin: 0; max-width: none; }
.ef-page h2 { font-size: clamp(32px,3.5vw,48px); line-height: 1.09; letter-spacing: -.045em; }
.ef-page h3 { font-size: 20px; line-height: 1.25; letter-spacing: -.025em; }
.ef-page p { text-wrap: pretty; }
.ef-page .eyebrow { font-size: 11px; margin: 0 0 22px; letter-spacing: .1em; }
.ef-page a:focus-visible,.ef-page summary:focus-visible { outline: 2px solid var(--acc-royal); outline-offset: 5px; }
.ef-page [id] { scroll-margin-top: 108px; }
.ef-hero { padding: 88px 0 62px; overflow: hidden; }
.ef-hero-grid { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 52px; }
.ef-breadcrumb { display: flex; gap: 10px; flex-wrap: wrap; color: var(--dim); font-size: 12px; margin: 0 0 32px; }
.ef-breadcrumb a { text-decoration: none; color: var(--text); }
.ef-breadcrumb a:hover { text-decoration: underline; }
.ef-hero h1 { font-size: clamp(42px,4.5vw,65px); line-height: 1.04; letter-spacing: -.055em; font-weight: 600; }
.ef-hero h1 > span { color: var(--acc-royal); }
.ef-description { max-width: 490px; color: var(--dim); font-size: 17px; line-height: 1.75; margin: 25px 0 28px; }
.ef-page .cta-row { gap: 18px; }
.ef-page .btn { font-size: 13px; }
.ef-text-link { display: inline-flex; align-items: center; gap: 15px; font-size: 13px; font-weight: 600; line-height: 1.5; text-decoration: none; padding-block: 10px; }
.ef-text-link:hover { text-decoration: underline; text-underline-offset: 5px; }
.ef-visual { position: relative; min-width: 0; border: 1px solid var(--line-hi); border-radius: 28px; background: radial-gradient(ellipse at 70% 25%,rgba(82,133,224,.14),transparent 65%),var(--panel-2); padding: 24px; }
.ef-visual-label { display: flex; align-items: center; gap: 10px; font-size: 11px; font-weight: 600; color: var(--dim); }
.ef-visual-caption { color: var(--dim); font-size: 10px; margin: 18px 0 0; text-align: center; line-height: 1.5; }
.ef-status { display: inline-flex; align-items: center; gap: 6px; font-size: 10px; color: var(--acc-royal); }
.ef-status:before { content: ""; width: 5px; height: 5px; border-radius: 50%; background: currentColor; }
.ef-connect { position: relative; height: 395px; display: flex; justify-content: center; align-items: center; }
.ef-connect > img { display: block; width: auto; height: 350px; position: relative; transform: rotate(5deg) translateX(37px); filter: drop-shadow(0 18px 16px rgba(20,40,80,.13)); }
.ef-connect-ring { position: absolute; inset: 55px 10px; border: 1px solid var(--line-hi); border-radius: 50%; transform: rotate(-25deg); }
.ef-connect-ring:after { content: ''; position: absolute; inset: 28px -15px; border: 1px solid var(--line-hi); border-radius: 50%; }
.ef-float { position: absolute; left: 0; bottom: 47px; padding: 20px 24px; border-radius: 16px; border: 1px solid var(--line-hi); background: var(--panel); box-shadow: 0 12px 32px rgba(20,40,80,.08); }
.ef-float strong { display: block; font-size: 18px; letter-spacing: -.025em; margin-top: 10px; }.ef-float p { color: var(--dim); font-size: 11px; margin: 7px 0 0; }
.ef-map-scene { margin: 28px 0 0; }.ef-map-scene > svg { width: 100%; display: block; background: var(--panel); border: 1px solid var(--line-hi); border-radius: 14px; }
.ef-map-walls { stroke: var(--dim); stroke-width: 2; opacity: .55; }.ef-map-route { stroke: var(--acc-royal); stroke-width: 4; stroke-dasharray: 6 5; stroke-linecap: round; }.ef-map-pin,.ef-map-entry { fill: var(--acc-royal); }.ef-map-halo { fill: var(--acc-royal); opacity: .12; }.ef-map-text { fill: var(--dim); font-size: 13px; font-family: var(--sans); }
.ef-map-key { display: flex; gap: 16px; margin-top: 14px; font-size: 9px; color: var(--dim); }.ef-map-key span { display: flex; align-items: center; gap: 6px; }.ef-map-key i { height: 5px; width: 5px; border-radius: 50%; background: var(--acc-royal); }.ef-map-key span:nth-child(2) i { width: 16px; height: 2px; }
.ef-address { padding: 30px 4px 8px; }.ef-address small { display: block; font-size: 8px; color: var(--dim); letter-spacing: .08em; }.ef-address strong { display: block; font-size: 24px; letter-spacing: -.035em; margin-top: 13px; }.ef-address p { font-size: 12px; color: var(--dim); margin: 8px 0 0; }
.ef-plan { padding: 30px 14px 0; }.ef-plan-heading span { display: block; font-size: 9px; letter-spacing: .09em; color: var(--dim); }.ef-plan-heading > strong { display: block; font-size: 29px; letter-spacing: -.045em; margin: 12px 0 26px; }.ef-plan ol { list-style: none; padding: 0; margin: 0; }.ef-plan li { display: flex; align-items: center; gap: 20px; padding: 17px 0; border-top: 1px solid var(--line-hi); }.ef-plan li > span { color: var(--acc-royal); font-size: 11px; }.ef-plan li strong { display: block; font-size: 16px; font-weight: 600; }.ef-plan li small { display: block; color: var(--dim); font-size: 11px; margin-top: 6px; }.ef-plan-note { margin-top: 18px; padding: 20px; border-radius: 12px; background: var(--panel); font-size: 12px; line-height: 1.7; color: var(--dim); }.ef-plan-note strong { color: var(--text); font-weight: 500; }
.ef-index { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding-block: 22px; border-block: 1px solid var(--line-hi); font-size: 12px; }.ef-index > span { font-weight: 600; }.ef-index > div { display: flex; flex-wrap: wrap; gap: 8px 30px; }.ef-index a { color: var(--dim); text-decoration: none; padding-block: 8px; }.ef-index a:hover { color: var(--text); }
.ef-section { padding: 96px 0; }.ef-workflow,.ef-faq-grid { display: grid; grid-template-columns: 1fr 1.12fr; gap: 110px; }.ef-section-copy > p:not(.eyebrow) { color: var(--dim); font-size: 16px; line-height: 1.75; margin: 24px 0 0; }.ef-section-copy > .ef-text-link { margin-top: 20px; }.ef-steps { list-style: none; margin: 0; padding: 0; }.ef-steps li { display: grid; grid-template-columns: 34px 1fr; gap: 18px; padding: 26px 0; border-top: 1px solid var(--line-hi); }.ef-steps li:first-child { padding-top: 0; border-top: 0; }.ef-steps li:last-child { padding-bottom: 0; }.ef-step-number { color: var(--acc-royal); font-size: 12px; padding-top: 4px; }.ef-steps p { color: var(--dim); font-size: 14px; line-height: 1.75; margin: 10px 0 0; }
.ef-in-view { background: var(--panel-2); border-block: 1px solid var(--line-hi); }.ef-detail-grid > .ef-section-copy { display: grid; grid-template-columns: 1fr 1fr; gap: 0 90px; margin-bottom: 42px; }.ef-detail-grid > .ef-section-copy .eyebrow { grid-column: 1/-1; }.ef-detail-grid > .ef-section-copy > p:not(.eyebrow) { margin: 0; }.ef-detail-grid > .ef-section-copy > a { grid-column: 2; justify-self: start; margin-top: 10px; }.ef-product { margin: 0; min-width: 0; }.ef-product-stage { overflow: hidden; border: 1px solid var(--line-hi); border-radius: 20px; background: var(--panel); box-shadow: 0 20px 60px rgba(20,40,80,.07); }.ef-product img { display: block; width: 100%; height: auto; }.ef-product figcaption { color: var(--dim); font-size: 11px; line-height: 1.65; margin-top: 17px; max-width: 700px; }
.ef-in-view--portrait .ef-detail-grid { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 100px; }.ef-in-view--portrait .ef-section-copy { display: block; margin-bottom: 0; }.ef-in-view--portrait .ef-section-copy > p:not(.eyebrow) { margin-top: 24px; }.ef-in-view--portrait .ef-section-copy > a { margin-top: 20px; }.ef-in-view--portrait .ef-product-stage { display: grid; place-items: center; padding: 35px; background: radial-gradient(ellipse at 50% 60%,rgba(82,133,224,.11),transparent 65%),var(--panel); box-shadow: none; }.ef-in-view--portrait .ef-product img { width: auto; height: 450px; max-width: 100%; object-fit: contain; filter: drop-shadow(0 15px 20px rgba(20,40,80,.1)); }
.ef-applications-head { max-width: 620px; margin-bottom: 40px; }.ef-applications { display: grid; grid-template-columns: repeat(3,1fr); border-block: 1px solid var(--line-hi); }.ef-applications article { padding: 28px 32px 30px; border-right: 1px solid var(--line-hi); }.ef-applications article:first-child { padding-left: 0; }.ef-applications article:last-child { border: 0; padding-right: 0; }.ef-application-number { display: block; color: var(--acc-royal); font-size: 11px; margin-bottom: 32px; }.ef-applications p { color: var(--dim); font-size: 14px; line-height: 1.75; margin: 13px 0 0; }
.ef-questions { padding-top: 20px; }.ef-faq { border: 1px solid var(--line-hi); background: var(--panel); border-radius: 18px; overflow: hidden; }.ef-faq details + details { border-top: 1px solid var(--line-hi); }.ef-faq summary { display: flex; align-items: center; justify-content: space-between; gap: 24px; cursor: pointer; list-style: none; padding: 23px 26px; font-size: 15px; font-weight: 500; line-height: 1.5; }.ef-faq summary::-webkit-details-marker { display: none; }.ef-faq summary > span { font-size: 21px; color: var(--dim); flex-shrink: 0; font-weight: 400; }.ef-faq details[open] summary > span { transform: rotate(45deg); }.ef-faq details > p { color: var(--dim); font-size: 14px; line-height: 1.75; padding: 0 26px 25px; margin: 0; }.ef-faq summary:focus-visible { outline-offset: -5px; }
.ef-close { padding: 0 0 72px; }.ef-close-panel { position: relative; overflow: hidden; padding: 64px; border-radius: 28px; background: #101b32; color: #f7f8fc; }.ef-close-panel:after { content: ''; position: absolute; right: -140px; top: -150px; width: 600px; height: 600px; border: 1px solid rgba(153,190,255,.15); border-radius: 50%; box-shadow: 0 0 0 60px rgba(153,190,255,.04),0 0 0 120px rgba(153,190,255,.025); pointer-events: none; }.ef-close-panel > * { position: relative; z-index: 1; }.ef-close-panel .eyebrow { color: #a1bafa; }.ef-close-panel h2 { max-width: 650px; }.ef-close-panel > p:not(.eyebrow) { color: #b7c4da; max-width: 500px; font-size: 16px; line-height: 1.7; margin: 22px 0 28px; }
.ef-related { padding-bottom: 80px; }.ef-related > div { display: flex; justify-content: space-between; align-items: center; gap: 20px; margin-bottom: 20px; }.ef-related .eyebrow { margin: 0; }.ef-related ul { display: grid; grid-template-columns: repeat(3,1fr); gap: 0 32px; padding: 0; margin: 0; list-style: none; }.ef-related li { border-top: 1px solid var(--line-hi); }.ef-related li a { display: grid; grid-template-columns: 1fr 16px; gap: 8px 14px; text-decoration: none; padding: 22px 0; }.ef-related strong { font-size: 14px; font-weight: 600; }.ef-related li span { color: var(--dim); font-size: 12px; line-height: 1.6; grid-column: 1; }.ef-related b { grid-column: 2; grid-row: 1; font-weight: 400; color: var(--dim); }.ef-related li a:hover strong { color: var(--acc-royal); }
@media(min-width:1400px) {  }
@media(max-width:1050px) { .ef-hero-grid { gap: 30px; }.ef-hero h1 { font-size: 48px; }.ef-hero .cta-row { align-items: flex-start; flex-direction: column; gap: 10px; }.ef-workflow,.ef-faq-grid { gap: 50px; }.ef-in-view--portrait .ef-detail-grid { gap: 50px; }.ef-detail-grid > .ef-section-copy { gap: 0 40px; }.ef-visual { padding: 20px; }.ef-connect > img { transform: rotate(5deg) translateX(18px); }.ef-float { padding: 18px; }.ef-float strong { font-size: 16px; } }
@media(max-width:760px) { .ef-hero { padding: 48px 0 36px; }.ef-hero-grid { grid-template-columns: 1fr; gap: 36px; }.ef-hero h1 { font-size: clamp(42px,8vw,58px); }.ef-breadcrumb { margin-bottom: 26px; }.ef-description { max-width: 580px; font-size: 16px; margin: 22px 0; }.ef-hero .cta-row { flex-direction: row; align-items: center; gap: 12px 22px; }.ef-visual { max-width: 540px; width: 100%; justify-self: center; }.ef-connect { height: 345px; }.ef-connect > img { height: 310px; transform: rotate(5deg) translateX(25px); }.ef-float { bottom: 30px; }.ef-index { align-items: flex-start; flex-direction: column; gap: 10px; padding-block: 20px; }.ef-index > div { gap: 6px 24px; }.ef-section { padding: 64px 0; }.ef-workflow,.ef-faq-grid { grid-template-columns: 1fr; gap: 35px; }.ef-section-copy { max-width: 580px; }.ef-section-copy > p:not(.eyebrow) { font-size: 15px; margin-top: 20px; }.ef-steps li:first-child { border-top: 1px solid var(--line-hi); padding-top: 26px; }.ef-page h3 { font-size: 19px; }.ef-detail-grid > .ef-section-copy { display: block; margin-bottom: 30px; }.ef-detail-grid > .ef-section-copy > p:not(.eyebrow) { margin-top: 20px; }.ef-product-stage { border-radius: 12px; }.ef-product figcaption { font-size: 10px; }.ef-in-view--portrait .ef-detail-grid { grid-template-columns: 1fr; gap: 30px; }.ef-in-view--portrait .ef-section-copy { margin: 0; }.ef-in-view--portrait .ef-product-stage { padding: 28px; }.ef-in-view--portrait .ef-product img { height: 380px; }.ef-applications-head { margin-bottom: 30px; }.ef-applications { grid-template-columns: 1fr; }.ef-applications article,.ef-applications article:first-child,.ef-applications article:last-child { padding: 25px 0; border-right: 0; }.ef-applications article + article { border-top: 1px solid var(--line-hi); }.ef-application-number { margin-bottom: 16px; }.ef-questions { padding-top: 0; }.ef-faq summary { padding: 20px; font-size: 14px; }.ef-faq details > p { padding: 0 20px 22px; font-size: 13px; }.ef-close { padding-bottom: 46px; }.ef-close-panel { padding: 40px 28px; border-radius: 22px; }.ef-close-panel h2 { font-size: 34px; }.ef-close-panel > p:not(.eyebrow) { font-size: 15px; }.ef-related { padding-bottom: 48px; }.ef-related > div { display: block; }.ef-related > div > a { margin-top: 8px; }.ef-related ul { grid-template-columns: 1fr 1fr; gap: 0 24px; } }
@media(max-width:400px) { .ef-hero h1 { font-size: 41px; }.ef-visual { padding: 18px; }.ef-index > div { gap: 6px 18px; }.ef-address strong { font-size: 22px; }.ef-plan { padding-inline: 4px; }.ef-related ul { grid-template-columns: 1fr; }.ef-float { padding: 16px; }.ef-float strong { font-size: 15px; } }

/* Command uses a full-width rendering of the existing custom console. */
.ef-page--command .ef-hero { padding-top:70px; }
.ef-page--command .ef-hero-grid { display:block; }
.ef-page--command .ef-hero-copy { display:grid; grid-template-columns:1.1fr 1fr; gap:0 80px; align-items:start; }
.ef-page--command .ef-breadcrumb { grid-column:1/-1; margin-bottom:26px; }
.ef-page--command .ef-hero h1 { grid-column:1; grid-row:2/4; font-size:clamp(44px,4.4vw,62px); }
.ef-page--command .ef-description { grid-column:2; margin:0; max-width:490px; }
.ef-page--command .ef-hero .cta-row { grid-column:2; margin-top:24px; }
.ef-command-rendering { margin:46px 0 0; }
.ef-command-frame { padding:8px; background:linear-gradient(145deg,rgba(132,157,210,.35),rgba(132,157,210,.08)); border:1px solid var(--line-hi); border-radius:25px; box-shadow:0 28px 65px rgba(15,30,65,.16); }
.ef-command-frame picture { display:block; overflow:hidden; border-radius:18px; background:#070c1e; }
.ef-command-frame img { display:block; width:100%; height:auto; }
.ef-command-rendering figcaption { display:flex; flex-wrap:wrap; justify-content:space-between; gap:10px 24px; margin:18px 2px 0; color:var(--dim); font-size:11px; line-height:1.6; }
.ef-command-rendering figcaption a { color:var(--text); text-underline-offset:4px; }
@media(max-width:1050px) { .ef-page--command .ef-hero-copy { gap:0 40px; }.ef-page--command .ef-hero h1 { font-size:48px; } }
@media(max-width:760px) {
 .ef-page--command .ef-hero { padding-top:48px; }
 .ef-page--command .ef-hero-copy { display:block; }
 .ef-page--command .ef-hero h1 { font-size:clamp(41px,7.5vw,54px); }
 .ef-page--command .ef-description { margin-top:22px; }
 .ef-command-rendering { margin-top:34px; }
 .ef-command-frame { padding:4px; border-radius:18px; }.ef-command-frame picture { border-radius:13px; }
 .ef-command-rendering figcaption { font-size:10px; margin-top:14px; }
}
