:root, .study-main, .study-header, .study-footer {
  --study-navy: #073b5a;
  --study-ink: #082f44;
  --study-blue: #006b91;
  --study-dot: #00a6ce;
  --study-sky: #eaf7fb;
  --study-mist: #f4f8fa;
  --study-line: #cdd7dc;
  --study-muted: #486471;
}

.study-main {
  color: var(--study-ink);
  background: #fff;
  font-family: Aptos, "Segoe UI", Arial, sans-serif;
  font-size: 16px;
  line-height: 1.65;
}

.study-main *, .study-header *, .study-footer * { box-sizing: border-box; }
.study-main img, .study-header img, .study-footer img { display: block; max-width: 100%; height: auto; }
.study-main a, .study-header a, .study-footer a { color: inherit; text-decoration: none; }
.study-shell { width: min(1240px, calc(100% - 48px)); margin-inline: auto; }
.study-section { padding: 128px 0; }
.study-main h1, .study-main h2, .study-main h3 { margin: 0; color: var(--study-navy); font-weight: 760; line-height: 1.03; letter-spacing: -.045em; text-wrap: balance; }
.study-main h1 { max-width: 780px; font-size: clamp(3.45rem, 6.1vw, 6.7rem); }
.study-main h2 { font-size: clamp(2.65rem, 4.8vw, 5rem); }
.study-main h3 { font-size: clamp(1.25rem, 2vw, 1.75rem); line-height: 1.16; letter-spacing: -.028em; }
.study-main p { margin: 0 0 1.25rem; }
.study-eyebrow { margin: 0 0 19px !important; color: var(--study-blue); font-size: .7rem; font-weight: 850; line-height: 1.25; letter-spacing: .19em; text-transform: uppercase; }
.study-main a:focus-visible, .study-header a:focus-visible, .study-footer a:focus-visible, .study-mobile-menu summary:focus-visible, .study-mobile-demo-menu summary:focus-visible { outline: 3px solid #006893; outline-offset: 4px; }
.study-skip-link { position: fixed; z-index: 100; top: 10px; left: 12px; transform: translateY(-160%); padding: 10px 14px; color: #fff; background: #073b5a; font-family: Aptos, "Segoe UI", Arial, sans-serif; font-weight: 800; text-decoration: none; }
.study-skip-link:focus { transform: translateY(0); }
.study-services, .study-quality, .study-work-report, .study-city, .study-knowledge { scroll-margin-top: 92px; }

.study-header { position: sticky; top: 0; z-index: 50; color: #082f44; background: #fff; border-bottom: 1px solid #cdd7dc; font-family: Aptos, "Segoe UI", Arial, sans-serif; }
.study-header-inner { min-height: 80px; display: grid; grid-template-columns: minmax(230px, 308px) 1fr auto; gap: 36px; align-items: center; }
.study-brand img { width: 100%; }
.study-nav { display: flex; justify-content: center; gap: 34px; font-size: .86rem; font-weight: 750; }
.study-nav a { position: relative; padding: 27px 0; }
.study-nav a::after { content: ""; position: absolute; right: 0; bottom: 19px; left: 0; height: 2px; transform: scaleX(0); transform-origin: left; background: #00a6ce; transition: transform .2s ease; }
.study-nav a:hover::after { transform: scaleX(1); }
.study-header-actions { display: flex; align-items: center; gap: 18px; }
.study-service-link { color: #486471 !important; font-size: .78rem; font-weight: 750; }
.study-mobile-menu { display: none; }
.study-button { min-height: 50px; display: inline-flex; align-items: center; justify-content: center; padding: 13px 22px; border: 1px solid transparent; color: var(--study-ink); font-size: .86rem; font-weight: 800; line-height: 1.2; transition: color .18s ease, background-color .18s ease, border-color .18s ease; }
.study-button--primary { color: #fff !important; background: var(--study-blue); }
.study-button--primary:hover { background: var(--study-navy); }
.study-button--line { border-color: #8ba3ad; background: transparent; }
.study-button--line:hover { color: var(--study-blue); border-color: var(--study-blue); }
.study-header-cta { min-height: 44px; padding: 10px 17px; }
.study-button-row { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }
.study-arrow-link { display: inline-flex; gap: 16px; align-items: center; color: var(--study-blue) !important; font-size: .88rem; font-weight: 800; }
.study-arrow-link > span { transition: transform .18s ease; }
.study-arrow-link:hover > span { transform: translate(3px, -3px); }

.study-hero { padding: 72px 0 0; background: linear-gradient(90deg, #fff 0, #fff 62%, var(--study-sky) 62%, var(--study-sky) 100%); }
.study-hero-grid { display: grid; grid-template-columns: .92fr 1.08fr; gap: 82px; align-items: center; }
.study-hero-copy { padding: 42px 0 66px; }
.study-hero-copy > p:not(.study-eyebrow) { max-width: 660px; margin-top: 30px; color: var(--study-muted); font-size: clamp(1.08rem, 1.6vw, 1.32rem); }
.study-hero-visual { position: relative; margin: 0; align-self: stretch; background: var(--study-mist); }
.study-hero-visual::before { content: ""; position: absolute; z-index: 2; top: -22px; left: -22px; width: 86px; height: 86px; border-top: 2px solid #9baeb7; border-left: 2px solid #9baeb7; }
.study-hero-visual::after { content: ""; position: absolute; z-index: 3; top: -28px; left: -28px; width: 13px; height: 13px; border-radius: 50%; background: var(--study-dot); box-shadow: 0 0 0 6px #fff; }
.study-hero-visual img { width: 100%; height: 100%; min-height: 610px; object-fit: cover; object-position: 51% center; }
.study-hero-visual figcaption, .study-report-grid figcaption, .study-service-hero figcaption { position: absolute; right: 0; bottom: 0; left: 0; display: flex; gap: 18px; padding: 14px 18px; color: #fff; background: rgba(7,59,90,.91); font-size: .78rem; }
.study-hero-visual figcaption span, .study-report-grid figcaption span, .study-service-hero figcaption span { color: #8ee4f3; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.study-operation-bar { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--study-line); border-left: 1px solid var(--study-line); background: #fff; }
.study-operation-bar span { position: relative; padding: 21px 24px 21px 33px; border-right: 1px solid var(--study-line); color: var(--study-muted); font-size: .82rem; }
.study-operation-bar span::before { content: ""; position: absolute; top: 50%; left: 17px; width: 7px; height: 7px; transform: translateY(-50%); border-radius: 50%; background: var(--study-dot); }
.study-operation-bar strong { color: var(--study-navy); }

.study-heading-grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: 110px; align-items: end; margin-bottom: 64px; }
.study-heading-grid > :last-child { max-width: 520px; justify-self: end; color: var(--study-muted); }
.study-heading-grid .study-arrow-link { margin-top: 9px; }
.study-services { background: #fff; }
.study-core-service { display: grid; grid-template-columns: 1.08fr .92fr; min-height: 430px; border-block: 1px solid var(--study-line); }
.study-core-service > img { width: 100%; height: 100%; object-fit: cover; }
.study-core-service > div { display: flex; flex-direction: column; justify-content: center; padding: clamp(38px, 6vw, 72px); }
.study-core-service h3 { margin: 20px 0; font-size: clamp(2rem, 3.5vw, 3.55rem); }
.study-core-service p { max-width: 540px; color: var(--study-muted); }
.study-index { color: var(--study-blue); font-size: .69rem; font-weight: 850; letter-spacing: .17em; text-transform: uppercase; }
.study-inline-links { display: flex; flex-wrap: wrap; gap: 20px 32px; margin-top: 22px; }
.study-service-index { border-top: 1px solid var(--study-line); }
.study-service-index > article { display: grid; grid-template-columns: .72fr .78fr 1fr; gap: 44px; padding: 32px 0; border-bottom: 1px solid var(--study-line); }
.study-service-title { display: grid; grid-template-columns: 42px 1fr; gap: 14px; }
.study-service-title > span { color: var(--study-blue); font-size: .69rem; font-weight: 850; }
.study-service-index article > p { margin: 0; color: var(--study-muted); font-size: .92rem; }
.study-service-links { display: flex; flex-wrap: wrap; gap: 8px 20px; align-content: start; }
.study-service-links a { display: inline-flex; gap: 7px; color: var(--study-navy); font-size: .83rem; font-weight: 750; }
.study-service-links a:hover { color: var(--study-blue); }
.study-service-links a span { color: var(--study-dot); }

.study-quality { background: var(--study-sky); }
.study-quality-grid { display: grid; grid-template-columns: .88fr 1.12fr; gap: 108px; align-items: start; }
.study-quality-intro > p:not(.study-eyebrow) { max-width: 560px; margin: 30px 0 44px; color: var(--study-muted); font-size: 1.08rem; }
.study-quality-intro img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }
.study-quality-links { display: flex; flex-wrap: wrap; gap: 11px 22px; padding-top: 20px; }
.study-quality-links .study-arrow-link { font-size: .78rem; }
.study-operating-line { position: relative; margin: 0; padding: 0; list-style: none; }
.study-operating-line::before { content: ""; position: absolute; top: 20px; bottom: 20px; left: 14px; width: 2px; background: #9aadb6; }
.study-operating-line li { position: relative; display: grid; grid-template-columns: 54px 1fr; gap: 24px; min-height: 152px; padding: 0 0 35px; }
.study-operating-line li > span { position: relative; z-index: 1; width: 30px; height: 30px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: var(--study-dot); box-shadow: 0 0 0 8px var(--study-sky); font-size: .61rem; font-weight: 900; }
.study-operating-line h3 { margin-bottom: 11px; font-size: clamp(1.55rem, 2.4vw, 2.25rem); }
.study-operating-line p { max-width: 560px; color: var(--study-muted); }

.study-work-report { padding: 30px 0; background: var(--study-navy); }
.study-report-grid { display: grid; grid-template-columns: 1.45fr .8fr .8fr; gap: 12px; }
.study-report-grid figure { position: relative; min-height: 360px; margin: 0; overflow: hidden; }
.study-report-grid img { width: 100%; height: 100%; object-fit: cover; }
.study-report-grid figure:not(.study-report-large) figcaption { flex-direction: column; gap: 2px; }

.study-city { background: #fff; }
.study-city-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 98px; align-items: start; }
.study-city-copy > p:not(.study-eyebrow) { max-width: 590px; margin: 30px 0 0; color: var(--study-muted); }
.study-district-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 26px; margin: 50px 0 0; padding: 0; border-top: 1px solid var(--study-line); list-style: none; }
.study-district-list li { display: grid; grid-template-columns: 28px 1fr; gap: 10px; padding: 10px 0; border-bottom: 1px solid #e4ecef; color: var(--study-muted); font-size: .78rem; }
.study-district-list li > span { color: var(--study-blue); font-size: .65rem; font-weight: 850; }
.study-city-visual { position: sticky; top: 110px; display: grid; grid-template-columns: 1.35fr .85fr; grid-template-rows: 1fr .68fr; gap: 14px; min-height: 700px; }
.study-city-photo { grid-row: 1 / 3; width: 100%; height: 100%; object-fit: cover; }
.study-city-map { display: grid; grid-template-rows: 1fr auto; background: var(--study-sky); }
.study-city-map img { width: 100%; height: 100%; padding: 18px; object-fit: contain; }
.study-city-map p { display: flex; align-items: end; gap: 10px; margin: 0; padding: 18px; color: var(--study-navy); }
.study-city-map strong { color: var(--study-blue); font-size: 3.9rem; line-height: .8; }
.study-city-map span { font-weight: 800; }

.study-evidence-section { padding: 112px 0; color: #fff; background: var(--study-navy); }
.study-evidence-heading { display: grid; grid-template-columns: 1fr 1fr; gap: 50px; align-items: end; margin-bottom: 60px; }
.study-evidence-heading .study-eyebrow { color: #8ee4f3; }
.study-evidence-heading h2 { color: #fff; }
.study-evidence { position: relative; display: grid; grid-template-columns: repeat(6, 1fr); border-top: 2px solid #849ba7; }
.study-evidence::before, .study-evidence::after { content: ""; position: absolute; top: -7px; width: 12px; height: 12px; border-radius: 50%; background: var(--study-dot); box-shadow: 0 0 0 5px var(--study-navy); }
.study-evidence::before { left: 0; }
.study-evidence::after { right: 0; }
.study-evidence > div { padding: 28px 12px 0 0; }
.study-evidence strong { display: block; color: #fff; font-size: clamp(2.3rem, 4vw, 4rem); line-height: 1; letter-spacing: -.04em; }
.study-evidence span { display: block; margin-top: 8px; color: #bcd0d8; font-size: .76rem; font-weight: 700; }

.study-paths { background: var(--study-mist); }
.study-path-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--study-line); border-bottom: 1px solid var(--study-line); }
.study-path-grid article { min-height: 310px; display: flex; flex-direction: column; padding: 34px; border-right: 1px solid var(--study-line); }
.study-path-grid article:first-child { border-left: 1px solid var(--study-line); }
.study-path-grid article > span { color: var(--study-blue); font-size: .67rem; font-weight: 850; }
.study-path-grid h3 { margin: 42px 0 16px; font-size: clamp(1.55rem, 2.5vw, 2.2rem); }
.study-path-grid p { color: var(--study-muted); }
.study-path-grid .study-arrow-link { margin-top: auto; }

.study-knowledge { background: #fff; }
.study-knowledge-grid { display: grid; grid-template-columns: 1.2fr .8fr; border-block: 1px solid var(--study-line); }
.study-knowledge-feature { display: grid; grid-template-columns: 1fr 1fr; min-height: 420px; border-right: 1px solid var(--study-line); }
.study-knowledge-feature > img { width: 100%; height: 100%; object-fit: cover; }
.study-knowledge-feature > div { display: flex; flex-direction: column; justify-content: center; padding: 38px; }
.study-knowledge-grid article > div > span, .study-knowledge-list article > span { color: var(--study-blue); font-size: .66rem; font-weight: 850; letter-spacing: .11em; text-transform: uppercase; }
.study-knowledge-grid h3 { margin: 16px 0; }
.study-knowledge-grid p { color: var(--study-muted); font-size: .92rem; }
.study-knowledge-list article { min-height: 210px; padding: 34px; border-bottom: 1px solid var(--study-line); }
.study-knowledge-list article:last-child { border-bottom: 0; }

.study-contact { padding: 104px 0; color: var(--study-ink); background: var(--study-sky); }
.study-contact-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: 100px; align-items: center; }
.study-contact-grid > div:last-child { max-width: 540px; justify-self: end; color: var(--study-muted); }
.study-phone { display: inline-flex; gap: 15px; align-items: center; color: var(--study-blue) !important; font-weight: 800; }
.study-logo-strip { padding: 27px 0; color: #486471; background: #fff; border-top: 1px solid #cdd7dc; font-family: Aptos, "Segoe UI", Arial, sans-serif; }
.study-logo-inner { display: grid; grid-template-columns: 220px 1fr; gap: 34px; align-items: center; }
.study-logo-inner > p { margin: 0; font-size: .66rem; font-weight: 850; line-height: 1.4; letter-spacing: .1em; text-transform: uppercase; }
.study-logo-row { display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 25px; align-items: center; }
.study-logo-row span { min-width: 0; min-height: 44px; display: grid; place-items: center; }
.study-logo-row img { max-height: 33px; filter: grayscale(1); opacity: .5; }
.study-footer { padding: 50px 0 20px; color: #bdd0d8; background: #073b5a; font-family: Aptos, "Segoe UI", Arial, sans-serif; }
.study-footer a { color: inherit; text-decoration: none; }
.study-footer-main { display: grid; grid-template-columns: 1.45fr .85fr .85fr .7fr; gap: 50px; }
.study-footer-brand img { width: 285px; padding: 9px; background: #fff; }
.study-footer-brand p { max-width: 390px; }
.study-footer h2 { margin: 0 0 16px; color: #8ee4f3; font-size: .66rem; letter-spacing: .16em; text-transform: uppercase; }
.study-footer p { margin: 0; font-size: .84rem; line-height: 1.8; }
.study-footer-bottom { display: flex; justify-content: space-between; margin-top: 36px; padding-top: 18px; border-top: 1px solid rgba(255,255,255,.2); font-size: .73rem; }
.study-footer-bottom span:last-child { display: flex; gap: 24px; }

.study-breadcrumbs { display: flex; flex-wrap: wrap; gap: 9px; padding-top: 26px; color: var(--study-muted); font-size: .75rem; }
.study-service-hero { padding: 50px 0 0; background: linear-gradient(90deg, #fff 0, #fff 65%, var(--study-sky) 65%); }
.study-service-hero-grid { display: grid; grid-template-columns: 1fr .86fr; gap: 92px; align-items: center; }
.study-service-hero-grid > div { padding: 38px 0 64px; }
.study-service-hero h1 { max-width: 650px; }
.study-service-hero-grid > div > p:not(.study-eyebrow) { max-width: 620px; margin-top: 28px; color: var(--study-muted); font-size: 1.2rem; }
.study-service-hero figure { position: relative; align-self: stretch; margin: 0; }
.study-service-hero figure::before { content: ""; position: absolute; z-index: 2; top: 28px; left: -32px; width: 64px; border-top: 2px solid #8ca1ab; }
.study-service-hero figure::after { content: ""; position: absolute; z-index: 3; top: 22px; left: -38px; width: 13px; height: 13px; border-radius: 50%; background: var(--study-dot); box-shadow: 0 0 0 6px #fff; }
.study-service-hero figure img { width: 100%; height: 100%; min-height: 500px; object-fit: cover; }
.study-service-facts { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--study-line); border-left: 1px solid var(--study-line); background: #fff; }
.study-service-facts span { padding: 19px 22px; border-right: 1px solid var(--study-line); color: var(--study-muted); font-size: .8rem; }
.study-service-facts strong { color: var(--study-navy); }
.study-service-intro { padding: 92px 0; background: var(--study-sky); }
.study-service-intro-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 75px; }
.study-service-intro-grid p { margin: 0; color: var(--study-ink); font-size: clamp(1.12rem, 1.7vw, 1.35rem); line-height: 1.72; }
.study-service-section { padding: 104px 0; background: #fff; }
.study-service-section--tint { background: var(--study-mist); }
.study-service-section-grid { display: grid; grid-template-columns: .72fr 1.28fr; gap: 105px; align-items: start; }
.study-service-section-heading { position: sticky; top: 112px; }
.study-service-section-heading > span { display: block; margin-bottom: 17px; color: var(--study-blue); font-size: .68rem; font-weight: 850; letter-spacing: .15em; }
.study-service-section-heading h2 { font-size: clamp(2rem, 3.7vw, 3.55rem); }
.study-service-copy { max-width: 760px; }
.study-service-copy > p { color: var(--study-muted); }
.study-service-copy h3 { margin: 35px 0 14px; font-size: clamp(1.25rem, 2vw, 1.65rem); }
.study-service-copy a { color: var(--study-blue); font-weight: 800; text-decoration: underline; text-underline-offset: 4px; }
.study-check-list { display: grid; grid-template-columns: 1fr 1fr; gap: 0 30px; margin: 26px 0 32px; padding: 0; border-top: 1px solid var(--study-line); list-style: none; }
.study-check-list li { position: relative; padding: 13px 0 13px 23px; border-bottom: 1px solid var(--study-line); }
.study-check-list li::before { content: ""; position: absolute; top: 22px; left: 0; width: 7px; height: 7px; border-radius: 50%; background: var(--study-dot); }
.study-service-proof { padding: 30px 0; background: var(--study-navy); }
.study-service-proof-grid { display: grid; grid-template-columns: 1.15fr .85fr; min-height: 460px; align-items: center; }
.study-service-proof figure { position: relative; align-self: stretch; margin: 0; }
.study-service-proof img { width: 100%; height: 100%; object-fit: cover; }
.study-service-proof figcaption { position: absolute; right: 0; bottom: 0; left: 0; padding: 12px 18px; color: #d8e6eb; background: rgba(7,59,90,.9); font-size: .76rem; }
.study-service-proof-grid > div { padding: 64px; color: #d5e4e9; }
.study-service-proof .study-eyebrow { color: #8ee4f3; }
.study-service-proof h2 { margin-bottom: 24px; color: #fff; }
.study-service-proof .study-arrow-link { color: #8ee4f3 !important; }
.study-service-faq { padding: 112px 0; background: var(--study-sky); }
.study-faq-list { border-top: 1px solid #afc6cf; }
.study-faq-list details { border-bottom: 1px solid #afc6cf; }
.study-faq-list summary { position: relative; padding: 21px 50px 21px 0; color: var(--study-navy); cursor: pointer; font-weight: 800; list-style: none; }
.study-faq-list summary::-webkit-details-marker { display: none; }
.study-faq-list summary::after { content: "+"; position: absolute; right: 5px; top: 15px; color: var(--study-blue); font-size: 1.7rem; font-weight: 400; }
.study-faq-list details[open] summary::after { content: "–"; }
.study-faq-list details > div { padding: 0 45px 17px 0; color: var(--study-muted); }

.shared-study-hero .breadcrumbs { margin-bottom: 36px; color: var(--study-muted); }
.shared-study-hero .breadcrumbs a:hover { color: var(--study-blue); }
.shared-study-hero-grid--text { grid-template-columns: minmax(0, 850px); }
.shared-study-hero--text { background: linear-gradient(90deg, #fff 0, #fff 72%, var(--study-sky) 72%); }
.shared-study-hero--text .study-service-hero-grid > div { padding-bottom: 78px; }
.shared-study-hero h1 { color: var(--study-navy); font-size: clamp(2.75rem, 5.3vw, 5.9rem); }
.approved-page { color: var(--study-ink); font-family: Aptos, "Segoe UI", Arial, sans-serif; }
.approved-page .detail-intro-section { background: var(--study-sky); }
.approved-page .detail-intro { max-width: 1000px; }
.approved-page .detail-section { padding-block: 112px; }
.approved-page .detail-section--tint { background: var(--study-mist); }
.approved-page .detail-section-heading > span { color: var(--study-blue); }
.approved-page .detail-copy a { color: var(--study-blue); }
.approved-page .detail-copy .button-primary { color: #fff; }
.approved-page .detail-copy .button-primary:hover { color: #fff; }
.approved-page .check-list li::before { color: var(--study-dot); }
.approved-page .faq-section { background: var(--study-sky); }
.area-hub-page, .district-page, .blog-article, .blog-overview-section, .blog-recent-section, .blog-archive-section { font-family: Aptos, "Segoe UI", Arial, sans-serif; }
.page-hero { padding: 54px 0 72px; color: var(--study-ink); background: linear-gradient(90deg, #fff 0, #fff 72%, var(--study-sky) 72%); border-bottom: 1px solid var(--study-line); }
.page-hero .breadcrumbs { margin-bottom: 34px; color: var(--study-muted); }
.page-hero .eyebrow { color: var(--study-blue); }
.page-hero h1 { color: var(--study-navy); }
.legal-content { font-family: Aptos, "Segoe UI", Arial, sans-serif; }
.legal-content h2 { padding-top: 16px; border-top: 1px solid var(--study-line); }
.blog-article-hero { color: var(--study-ink); background: linear-gradient(90deg, #fff 0, #fff 64%, var(--study-sky) 64%); }
.blog-article-hero .breadcrumbs { color: var(--study-muted); }
.blog-article-heading h1 { color: var(--study-navy); }
.blog-article-heading .eyebrow { color: var(--study-blue); }
.blog-article-heading .lead { color: var(--study-muted); }
.blog-article-heading .article-byline { color: var(--study-muted); }
.blog-article-heading .article-byline strong { color: var(--study-navy); }
.blog-article-hero-image { filter: none; }

.study-mobile-demo-page { min-height: 100vh; padding: 34px 20px 70px; background: #dfe7ea; }
.study-mobile-demo-note { width: min(430px, 100%); display: flex; justify-content: space-between; gap: 18px; margin: 0 auto 14px; color: #486471; font-size: .72rem; font-weight: 750; }
.study-mobile-demo-note a { color: var(--study-blue); }
.study-mobile-demo-shell { width: min(430px, 100%); margin: 0 auto; overflow: hidden; border: 1px solid #b7c6cc; background: #fff; box-shadow: 0 26px 70px rgba(7,59,90,.16); }
.study-mobile-demo-header { min-height: 70px; display: flex; align-items: center; justify-content: space-between; padding: 0 18px; border-bottom: 1px solid var(--study-line); background: #fff; }
.study-mobile-demo-header > img { width: 245px; }
.study-mobile-demo-menu { position: relative; }
.study-mobile-demo-menu summary { width: 44px; height: 44px; display: grid; place-content: center; gap: 5px; cursor: pointer; list-style: none; }
.study-mobile-demo-menu summary::-webkit-details-marker { display: none; }
.study-mobile-demo-menu summary span { width: 23px; height: 2px; display: block; background: var(--study-navy); }
.study-mobile-demo-menu nav { position: absolute; z-index: 5; top: 50px; right: -19px; width: 250px; display: grid; padding: 12px 18px; border: 1px solid var(--study-line); background: #fff; box-shadow: 0 18px 30px rgba(7,59,90,.12); }
.study-mobile-demo-menu nav a { min-height: 42px; display: flex; align-items: center; border-bottom: 1px solid #e5edef; color: var(--study-navy); font-size: .82rem; font-weight: 750; }
.study-mobile-demo-menu nav a:last-child { border-bottom: 0; }
.study-mobile-demo-hero { padding: 48px 20px 0; background: linear-gradient(#fff 0 58%, var(--study-sky) 58%); }
.study-mobile-demo-hero h1 { font-size: 2.7rem; hyphens: auto; overflow-wrap: break-word; }
.study-mobile-demo-hero > p:not(.study-eyebrow) { margin-top: 25px; color: var(--study-muted); }
.study-mobile-demo-hero .study-button { width: 100%; }
.study-mobile-demo-hero figure { position: relative; margin: 40px 0 0; }
.study-mobile-demo-hero figure::before { content: ""; position: absolute; z-index: 2; top: -15px; left: -5px; width: 58px; height: 48px; border-top: 2px solid #95aab3; border-left: 2px solid #95aab3; }
.study-mobile-demo-hero figure::after { content: ""; position: absolute; z-index: 3; top: -21px; left: -11px; width: 13px; height: 13px; border-radius: 50%; background: var(--study-dot); box-shadow: 0 0 0 5px #fff; }
.study-mobile-demo-hero figure img { width: 100%; aspect-ratio: 4 / 4.3; object-fit: cover; object-position: 52% center; }
.study-mobile-demo-hero figcaption { position: absolute; right: 0; bottom: 0; left: 0; display: flex; gap: 12px; padding: 12px 13px; color: #fff; background: rgba(7,59,90,.92); font-size: .7rem; }
.study-mobile-demo-hero figcaption span { color: #8ee4f3; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.study-mobile-demo-facts { display: grid; grid-template-columns: 1fr 1fr; border-block: 1px solid var(--study-line); border-left: 1px solid var(--study-line); background: #fff; }
.study-mobile-demo-facts span { padding: 15px; border-right: 1px solid var(--study-line); color: var(--study-muted); font-size: .7rem; }
.study-mobile-demo-facts strong { color: var(--study-navy); }
.study-mobile-demo-next { padding: 54px 20px 64px; background: #fff; }
.study-mobile-demo-next h2 { margin-bottom: 25px; font-size: 2.7rem; }
.study-mobile-demo-next > a { color: var(--study-blue); font-size: .82rem; font-weight: 800; }

@media (max-width: 1050px) {
  .study-header-inner { grid-template-columns: minmax(210px, 275px) 1fr auto; gap: 20px; }
  .study-nav { gap: 19px; }
  .study-service-link { display: none; }
  .study-hero-grid, .study-quality-grid, .study-city-grid, .study-service-hero-grid { gap: 52px; }
  .study-report-grid { grid-template-columns: 1.25fr 1fr; }
  .study-report-grid figure:last-child { display: none; }
  .study-logo-row { grid-template-columns: repeat(4, 1fr); }
  .study-service-index > article { grid-template-columns: .8fr 1fr; }
  .study-service-links { grid-column: 1 / 3; padding-left: 56px; }
}

@media (max-width: 820px) {
  .study-section { padding: 88px 0; }
  .study-header-inner { min-height: 72px; grid-template-columns: 1fr auto; }
  .study-brand { width: min(270px, 70vw); }
  .study-nav, .study-header-actions { display: none; }
  .study-mobile-menu { display: block; }
  .study-mobile-menu summary { width: 46px; height: 46px; display: grid; place-content: center; gap: 5px; cursor: pointer; list-style: none; }
  .study-mobile-menu summary::-webkit-details-marker { display: none; }
  .study-mobile-menu summary span { width: 24px; height: 2px; display: block; background: #073b5a; }
  .study-mobile-menu[open] nav { position: absolute; top: 72px; right: 0; left: 0; display: grid; padding: 16px 24px 24px; border-bottom: 1px solid #cdd7dc; background: #fff; box-shadow: 0 18px 30px rgba(7,59,90,.08); }
  .study-mobile-menu nav a { min-height: 44px; display: flex; align-items: center; justify-content: center; border-bottom: 1px solid #e6edef; font-weight: 750; }
  .study-hero { background: linear-gradient(#fff 0 55%, var(--study-sky) 55%); }
  .study-hero-grid, .study-heading-grid, .study-core-service, .study-quality-grid, .study-city-grid, .study-evidence-heading, .study-contact-grid, .study-service-hero-grid, .study-service-intro-grid, .study-service-section-grid, .study-service-proof-grid { grid-template-columns: 1fr; }
  .study-hero-grid { gap: 22px; }
  .study-hero-copy { padding: 25px 0 30px; }
  .study-hero-visual img { min-height: 500px; }
  .study-operation-bar { grid-template-columns: 1fr 1fr; }
  .study-heading-grid { gap: 25px; }
  .study-heading-grid > :last-child { max-width: 680px; justify-self: start; }
  .study-core-service > img { max-height: 460px; }
  .study-quality-grid { gap: 60px; }
  .study-quality-intro img { max-height: 480px; object-fit: cover; }
  .study-city-visual { position: static; min-height: 560px; }
  .study-evidence { grid-template-columns: repeat(3, 1fr); row-gap: 35px; }
  .study-path-grid { grid-template-columns: 1fr; }
  .study-path-grid article { min-height: 250px; border-left: 1px solid var(--study-line); border-bottom: 1px solid var(--study-line); }
  .study-knowledge-grid, .study-knowledge-feature { grid-template-columns: 1fr; }
  .study-knowledge-feature { border-right: 0; border-bottom: 1px solid var(--study-line); }
  .study-knowledge-feature > img { max-height: 440px; }
  .study-logo-inner { grid-template-columns: 1fr; gap: 18px; }
  .study-footer-main { grid-template-columns: 1.4fr 1fr 1fr; }
  .study-footer-main > div:last-child { grid-column: 2; }
  .study-service-hero { background: linear-gradient(#fff 0 58%, var(--study-sky) 58%); }
  .study-service-hero-grid { gap: 10px; }
  .study-service-hero figure img { min-height: 440px; }
  .study-service-facts { grid-template-columns: 1fr 1fr; }
  .study-service-section-grid { gap: 32px; }
  .study-service-section-heading { position: static; }
  .study-service-proof-grid > div { padding: 48px 16px; }
}

@media (max-width: 560px) {
  .study-shell { width: min(100% - 28px, 1240px); }
  .study-section { padding: 72px 0; }
  .study-main h1 { font-size: clamp(2.8rem, 13vw, 4.15rem); }
  .study-main h2 { font-size: clamp(2.2rem, 10vw, 3.35rem); }
  .study-button-row { align-items: stretch; }
  .study-button { width: 100%; }
  .study-hero { padding-top: 38px; }
  .study-hero-visual img { min-height: 390px; }
  .study-hero-visual::before { top: -13px; left: -7px; }
  .study-hero-visual::after { top: -19px; left: -13px; }
  .study-operation-bar span { padding: 16px 12px 16px 26px; font-size: .72rem; }
  .study-operation-bar span::before { left: 11px; }
  .study-core-service > div { padding: 32px 10px 36px; }
  .study-service-index > article { grid-template-columns: 1fr; gap: 16px; }
  .study-service-links { grid-column: auto; padding-left: 0; }
  .study-district-list { grid-template-columns: 1fr; }
  .study-city-visual { min-height: 430px; grid-template-columns: 1.2fr .8fr; }
  .study-city-map strong { font-size: 2.7rem; }
  .study-city-map span { font-size: .72rem; }
  .study-evidence { grid-template-columns: repeat(2, 1fr); }
  .study-path-grid article { padding: 27px; }
  .study-logo-row { grid-template-columns: repeat(2, 1fr); }
  .study-footer-main { grid-template-columns: 1fr 1fr; }
  .study-footer-brand { grid-column: 1 / 3; }
  .study-footer-main > div:last-child { grid-column: auto; }
  .study-footer-bottom { flex-direction: column; gap: 8px; }
  .study-service-hero figure img { min-height: 360px; }
  .study-service-facts { grid-template-columns: 1fr 1fr; }
  .study-service-facts span { padding: 14px; font-size: .72rem; }
  .study-service-intro { padding: 66px 0; }
  .study-service-intro-grid { gap: 24px; }
  .study-service-section { padding: 76px 0; }
  .study-check-list { grid-template-columns: 1fr; }
  .study-service-proof figure { min-height: 340px; }
  .study-service-faq { padding: 76px 0; }
}

@media (prefers-reduced-motion: reduce) {
  .study-main *, .study-main *::before, .study-main *::after, .study-header *, .study-footer * { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}

/* WordPress bridge: preserves the approved mockup while native blocks remain editable. */
body { margin: 0; color: var(--study-ink); background: #fff; font-family: Aptos, "Segoe UI", Arial, sans-serif; }
.wp-site-blocks { padding: 0; }
.wp-site-blocks > * { margin-block-start: 0; }
.wp-block-template-part { margin: 0; }
.geb24-main { margin: 0; overflow: hidden; }
.geb24-section { padding-block: 104px; }
.geb24-section--tint { background: var(--study-mist); }
.geb24-section--navy { color: #d5e4e9; background: var(--study-navy); }
.geb24-section--navy :where(h2,h3,a,strong) { color: #fff; }
.geb24-service-hero { background: linear-gradient(90deg,#fff 0,#fff 72%,var(--study-sky) 72%); }
.geb24-service-hero h1 { color: var(--study-navy); }
.geb24-service-card,.geb24-audience-card,.geb24-process-card,.geb24-post-grid .wp-block-post { border-radius: 0; border-color: var(--study-line); box-shadow: none; }
.geb24-service-card { border-top: 1px solid var(--study-line); }
.geb24-process-number { background: var(--study-blue); }
.geb24-final-cta { border-radius: 0; }
.geb24-faq-item { border-color: var(--study-line); }
.geb24-footer-meta { color: #bdd0d8; }
.wp-element-button,.wp-block-button__link { border-radius: 2px; }
.wp-block-post-featured-image img { object-fit: cover; }
@media (max-width: 680px) { .geb24-section { padding-block: 72px; } }

/*
 * Blog index bridge.
 *
 * The archive is emitted by a Shortcode block. WordPress' block wrapper and
 * core block styles can otherwise win the cascade for generic article/grid
 * classes. Keep the approved mockup geometry explicit at that boundary.
 */
.geb24-main .blog-overview-section .blog-featured {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr);
	min-height: 520px;
	align-items: stretch;
}

.geb24-main .blog-overview-section .blog-featured > .blog-featured-media {
	display: block;
	grid-column: 1;
	grid-row: 1;
	min-width: 0;
	height: 100%;
	overflow: hidden;
}

.geb24-main .blog-overview-section .blog-featured > .blog-featured-media > img {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 520px;
	max-width: none;
	object-fit: cover;
}

.geb24-main .blog-overview-section .blog-featured > .blog-featured-copy {
	grid-column: 2;
	grid-row: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: clamp(38px, 6vw, 72px);
}

.geb24-main .blog-recent-section .article-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 22px;
}

.geb24-main .blog-recent-section .article-card {
	min-width: 0;
	display: grid;
	grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
}

.geb24-main .blog-recent-section .article-card > a {
	display: block;
	min-width: 0;
	height: 100%;
	overflow: hidden;
}

.geb24-main .blog-recent-section .article-card > a > img {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 290px;
	max-width: none;
	object-fit: cover;
}

.geb24-main .blog-recent-section .article-card > div {
	min-width: 0;
	min-height: 310px;
	display: flex;
	flex-direction: column;
	padding: 30px;
}

.geb24-main .blog-archive-section .blog-archive-layout {
	display: grid;
	grid-template-columns: minmax(0, .42fr) minmax(0, .58fr);
	gap: 100px;
	align-items: start;
}

.geb24-main .blog-archive-section .archive-year {
	display: grid;
	grid-template-columns: 90px minmax(0, 1fr);
	gap: 28px;
}

.geb24-main .blog-archive-section .archive-year li {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 22px;
}

@media (max-width: 1080px) {
	.geb24-main .blog-recent-section .article-card {
		grid-template-columns: 1fr;
	}

	.geb24-main .blog-recent-section .article-card > a > img {
		height: auto;
		min-height: 230px;
		aspect-ratio: 16 / 9;
	}
}

@media (max-width: 860px) {
	.geb24-main .blog-overview-section .blog-featured,
	.geb24-main .blog-archive-section .blog-archive-layout {
		grid-template-columns: 1fr;
	}

	.geb24-main .blog-overview-section .blog-featured {
		min-height: 0;
	}

	.geb24-main .blog-overview-section .blog-featured > .blog-featured-media,
	.geb24-main .blog-overview-section .blog-featured > .blog-featured-copy {
		grid-column: 1;
	}

	.geb24-main .blog-overview-section .blog-featured > .blog-featured-media {
		grid-row: 1;
		height: auto;
	}

	.geb24-main .blog-overview-section .blog-featured > .blog-featured-copy {
		grid-row: 2;
	}

	.geb24-main .blog-overview-section .blog-featured > .blog-featured-media > img {
		height: auto;
		min-height: 0;
		max-width: 100%;
		aspect-ratio: 16 / 9;
	}

	.geb24-main .blog-archive-section .blog-archive-layout {
		gap: 45px;
	}
}

@media (max-width: 580px) {
	.geb24-main .blog-overview-section .blog-featured > .blog-featured-copy {
		padding: 32px 24px;
	}

	.geb24-main .blog-recent-section .article-grid {
		grid-template-columns: 1fr;
		gap: 18px;
	}

	.geb24-main .blog-recent-section .article-card > div {
		min-height: 0;
	}

	.geb24-main .blog-archive-section .archive-year,
	.geb24-main .blog-archive-section .archive-year li {
		grid-template-columns: 1fr;
	}

	.geb24-main .blog-archive-section .archive-year {
		gap: 8px;
	}

	.geb24-main .blog-archive-section .archive-year li {
		gap: 3px;
	}
}
