/* Editorial location pages. All rules are limited to the opted-in Pages. */
.if-location-page { --loc-ink:#181126; --loc-purple:#74328d; --loc-muted:#62576f; --loc-line:#e4dbe9; --loc-soft:#f7f3fa; }
.if-location-page :is(#primary, .if-loc-guide-template, .if-loc-index-template) { --if-type-button:1rem; }
.if-location-page .if-loc-content { gap:0!important; padding:0!important; width:100%; }
.if-location-page .if-loc-section { padding:88px 0!important; gap:0; width:100%; }
.if-location-page .if-loc-shell { width:min(1280px,calc(100% - 80px))!important; max-width:1280px!important; margin-inline:auto!important; padding:0!important; gap:24px; }
.if-location-page .if-loc-section .elementor-widget { margin-bottom:0; }
.if-location-page .if-loc-eyebrow .elementor-heading-title { color:var(--loc-purple); font-size:12px; font-weight:700; line-height:1.5; letter-spacing:.13em; text-transform:uppercase; }
.if-location-page .if-loc-hero { color:var(--if-white); background:var(--if-purple-surface); padding:78px 0 84px!important; overflow:hidden; }
.if-location-page .if-loc-hero__inner { display:grid; grid-template-columns:minmax(0,1.75fr) minmax(0,1fr); align-items:center; gap:80px; }
.if-location-page .if-loc-hero__copy { padding:0; gap:24px; min-width:0; }
.if-location-page .if-loc-title .elementor-heading-title { color:var(--loc-ink); font-size:clamp(44px,5.2vw,76px); line-height:1.04; letter-spacing:-.055em; font-weight:600; }
.if-location-page .if-loc-intro { font-size:21px; line-height:1.65; color:#50465d; max-width:730px; }
.if-location-page .if-loc-intro p:last-child,.if-location-page .if-loc-prose p:last-child { margin-bottom:0; }
.if-location-page .if-loc-hero__aside { --if-lilac:#e0bce8; padding:32px; border:1px solid rgba(255,255,255,.16); background:rgba(255,255,255,.045); border-radius:24px; gap:20px; min-width:0; box-shadow:none; }
.if-location-page .if-loc-hero__aside .elementor-heading-title { font-size:28px; color:var(--if-white); letter-spacing:-.03em; }
.if-location-page .if-loc-hero__aside .if-loc-small { font-size:15px; line-height:1.7; color:#e1dbea; }
.if-location-page .if-loc-hero .if-loc-title .elementor-heading-title,
.if-location-page .if-loc-hero .if-loc-stat .elementor-heading-title { color:var(--if-white); }
.if-location-page .if-loc-hero .if-loc-eyebrow .elementor-heading-title { color:var(--if-lilac); }
.if-location-page .if-loc-hero :is(.if-loc-intro,.if-loc-prose,.if-loc-lead-link,.if-loc-stat .elementor-widget-text-editor) { color:#e1dbea; }
.if-location-page .if-loc-hero :is(.if-loc-prose,.if-loc-lead-link) a { text-decoration:underline; text-underline-offset:.25em; }
.if-location-page .if-loc-presence p { display:inline-flex; align-items:center; gap:9px; margin:0; color:#453051; font-size:16px; line-height:1.6; font-weight:600; }
.if-location-page .if-loc-presence p:before { content:""; width:9px; height:9px; border-radius:50%; background:#763b92; flex-shrink:0; }
.if-location-page .if-loc-hero .if-loc-presence p { color:var(--if-white); }
.if-location-page .if-loc-hero .if-loc-presence p:before { background:var(--if-lilac); }
.if-location-page .if-loc-buttons { padding:0; display:flex; flex-direction:row; flex-wrap:wrap; gap:14px; }
.if-location-page .if-loc-buttons .elementor-widget-button { width:auto; }
/* Button appearance and arrows come from the existing native theme classes. */
.if-location-page .if-loc-buttons .elementor-widget-button { max-width:100%; min-width:0; }
.if-location-page .if-loc-buttons .elementor-button { max-width:100%; min-width:0; white-space:normal; }
.if-location-page .if-loc-buttons .elementor-button-content-wrapper,
.if-location-page .if-loc-buttons .elementor-button-text { min-width:0; white-space:normal; }
/* Light content surfaces need a dark focus ring; dark panels retain their lilac ring. */
.if-location-page :is(#primary, .if-loc-guide-template, .if-loc-index-template) :is(.ifx-related-cards,.if-loc-expert-section) :is(.elementor-button,.if-button,.ifx-button,.ifx-expert-card__action):not(.if-surface--dark a,.ifx-location-office a,.ifx-expert-spotlight__profile a):focus-visible { outline:2px solid var(--if-indigo); outline-offset:4px; }
.if-location-page .if-loc-overview { background:#fff; }
.if-location-page .if-loc-two-column { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.35fr); gap:80px; align-items:start; }
.if-location-page .if-loc-section-title .elementor-heading-title { font-size:clamp(32px,3.4vw,49px); line-height:1.12; letter-spacing:-.04em; color:var(--loc-ink); font-weight:600; }
.if-location-page .if-loc-prose { font-size:17px; line-height:1.85; color:#574c63; }
.if-location-page .if-loc-prose p { margin:0 0 1.2em; }
.if-location-page .if-loc-prose a,.if-location-page .if-loc-sources a { color:#65307f; text-decoration:underline; text-underline-offset:4px; }
.if-location-page .if-loc-sectors { background:var(--loc-soft); }
.if-location-page .if-loc-section-head { padding:0; gap:18px; max-width:780px; margin-bottom:42px; }
.if-location-page .if-loc-topic { display:grid; grid-template-columns:minmax(0,.62fr) minmax(0,1fr); gap:70px; padding:46px 0; border-top:1px solid var(--loc-line); }
.if-location-page .if-loc-topic:last-child { border-bottom:1px solid var(--loc-line); }
.if-location-page .if-loc-topic__head { padding:0; gap:18px; }
.if-location-page .if-loc-topic__body { padding:0; gap:18px; }
.if-location-page .if-loc-topic-title .elementor-heading-title { color:#32203f; font-size:32px; line-height:1.2; letter-spacing:-.035em; }
.if-location-page .if-loc-topic-number .elementor-heading-title { font-size:15px; letter-spacing:.13em; color:#9150a4; font-weight:600; }
.if-location-page .if-loc-source-links { font-size:13px; line-height:1.8; }
.if-location-page .if-loc-source-links p { margin:0; }
.if-location-page .if-loc-sector-cards,
.if-location-page .if-loc-service-cards { min-width:0; width:100%; }
.if-location-page .if-loc-topic > .if-loc-sector-cards { grid-column:1 / -1; }
.if-location-page .ifx-related-card .ifx-card__title { min-width:0; overflow-wrap:anywhere; }
.if-location-page .if-loc-lead-section { background:#fff; }
/* Reuse the Engineering qualifying panel's shared grid, glow and purple gradient. */
.if-location-page :is(.ifx-location-office,.ifx-expert-spotlight__profile) { background:var(--if-purple-surface); }
.if-location-page .if-loc-lead-section .ifx-expert-spotlight__cta { max-width:100%; min-width:0; white-space:normal; }
.if-location-page .if-loc-lead-section .ifx-expert-spotlight__cta .if-icon { flex:none; }
/* The existing InnoFund globe artwork replaces the native circular ornament. */
.if-location-page .if-loc-lead-section .ifx-expert-spotlight__profile::after { right:-8%; bottom:-8%; width:62%; aspect-ratio:1; border:0; border-radius:0; background:rgba(217,179,226,.12); -webkit-mask:url('../images/innofund-globe.svg') center / contain no-repeat; mask:url('../images/innofund-globe.svg') center / contain no-repeat; pointer-events:none; }
.if-location-page .if-loc-quote-status { margin:1.5rem 0 .75rem; }
/* Match the theme's existing editorial blockquote, rather than inventing a quote card. */
.if-location-page .if-loc-lead-quote { margin:2.5rem 0; padding:0 0 0 1.5rem; border-left:3px solid var(--if-violet); color:var(--if-indigo); font-size:var(--if-type-body-lg); }
.if-location-page .if-loc-expert-section { background:#fff; }
.if-location-page .if-loc-expert-section .ifx-expert-grid__rail { grid-template-columns:repeat(3,minmax(0,1fr)); }
.if-location-page .if-loc-proof { background:#f8f5fa; }
.if-location-page .if-loc-proof .ifx-testimonials { width:100%; }
.if-location-page .if-loc-proof .ifx-testimonial-card__quote { font-size:clamp(19px,2vw,25px); }
.if-location-page .if-loc-services { background:#fff; }
.if-location-page .if-loc-office-section { background:linear-gradient(125deg,#eee3f4,#faf7fc); }
/* Keep text links and keyboard focus visible on the existing dark panels. */
.if-location-page :is(#primary, .if-loc-guide-template, .if-loc-index-template) :is(.ifx-location-office,.ifx-expert-spotlight__profile,.if-surface--dark) a:not(.if-button,.ifx-button,.elementor-button,.if-expert-actions a) { color:var(--if-white); }
.if-location-page :is(#primary, .if-loc-guide-template, .if-loc-index-template) :is(.ifx-location-office,.ifx-expert-spotlight__profile,.if-surface--dark) a:not(.if-button,.ifx-button,.elementor-button,.if-expert-actions a):is(:hover,:focus-visible) { color:var(--if-lilac); text-decoration:underline; text-underline-offset:.25em; }
.if-location-page :is(#primary, .if-loc-guide-template, .if-loc-index-template) :is(.ifx-location-office,.ifx-expert-spotlight__profile,.if-surface--dark) a:focus-visible { outline-color:var(--if-lilac); }
.if-location-page .if-loc-sources { background:#fff; color:#71657b; font-size:14px; line-height:1.8; }
.if-location-page .if-loc-sources .elementor-heading-title { font-size:26px; line-height:1.3; letter-spacing:-.02em; color:#44324f; }
.if-location-page .if-loc-sources ul { columns:2; gap:40px; margin:18px 0; padding-left:20px; }
.if-location-page .if-loc-sources li { break-inside:avoid; margin-bottom:10px; }
.if-location-page .if-loc-footnote { width:100%; padding:20px 0 0; margin-top:16px; border-top:1px solid var(--loc-line); gap:8px; color:var(--loc-muted); font-size:13px; line-height:1.6; }
.if-location-page .if-loc-footnote .elementor-widget-text-editor { margin:0; }
.if-location-page .if-loc-footnote p { margin:0 0 .5em; }
.if-location-page .if-loc-footnote p:last-child { margin-bottom:0; }
.if-location-page .if-loc-footnote a { color:var(--if-violet); text-decoration:underline; text-underline-offset:.2em; }
.if-location-page :is(.if-loc-source-links,.if-loc-note) a { text-decoration:underline; text-underline-offset:.2em; }
.if-location-page .if-loc-note { font-size:14px; line-height:1.8; color:#74657c; margin-top:20px; }
.if-location-page .if-loc-stat-row { display:flex; flex-direction:row; padding:0; gap:24px; }
.if-location-page .if-loc-stat { padding:0; gap:8px; flex:1; }
.if-location-page .if-loc-stat .elementor-heading-title { font-size:40px; color:#5b2a72; font-weight:500; letter-spacing:-.04em; }
.if-location-page .if-loc-stat .elementor-widget-text-editor { font-size:12px; color:#776080; }
@media(max-width:1024px) {
 .if-location-page .if-loc-hero__inner { gap:36px; grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); }
 .if-location-page .if-loc-two-column,.if-location-page .if-loc-topic { gap:36px; }
 .if-location-page .if-loc-expert-section .ifx-expert-grid__rail { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:767px) {
 .if-location-page .if-loc-shell { width:calc(100% - 40px)!important; }
 .if-location-page .if-loc-section { padding:56px 0!important; }
 .if-location-page .if-loc-hero { padding:48px 0 54px!important; }
 .if-location-page .if-loc-hero__inner,.if-location-page .if-loc-two-column,.if-location-page .if-loc-topic { display:flex; flex-direction:column; gap:28px; }
 .if-location-page .if-loc-title .elementor-heading-title { font-size:46px; }
 .if-location-page .if-loc-intro { font-size:18px; }
 .if-location-page .if-loc-hero__aside { width:100%; padding:26px; }
 .if-location-page .if-loc-topic { padding:32px 0; }
 .if-location-page .if-loc-topic-title .elementor-heading-title { font-size:29px; }
 .if-location-page .if-loc-prose { font-size:16px; }
 .if-location-page .if-loc-sources ul { columns:1; }
 .if-location-page .if-loc-expert-section .ifx-expert-grid__rail { display:flex; }
 .if-location-page .if-loc-expert-section .ifx-expert-card { flex:0 0 85%; }
}
@media(max-width:359px) { .if-location-page .if-loc-title .elementor-heading-title { font-size:39px; } .if-location-page .if-loc-shell { width:calc(100% - 32px)!important; } }
@media(prefers-reduced-motion:reduce) { .if-location-page *, .if-location-page *:before, .if-location-page *:after { scroll-behavior:auto!important; transition:none!important; animation:none!important; } }
