.wp-site-blocks{padding:0}.wp-site-blocks>*+*{margin-block-start:0}.impulsa-home :where(.is-layout-flow)>*{margin-block-start:0;margin-block-end:0}
:root {
  color-scheme: light;
  --navy: #07182b;
  --navy-soft: #173657;
  --navy-mid: #254567;
  --ink: #0b1c31;
  --muted: #526476;
  --gold: #e5ad4e;
  --gold-deep: #805314;
  --paper: #f3f5f4;
  --white: #ffffff;
  --line: #cad3dc;
  --font-display: "Archivo", "Segoe UI", Arial, sans-serif;
  --font-body: "Source Sans 3", "Segoe UI", Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--white); color: var(--ink); font-family: var(--font-body); font-size: 1rem; line-height: 1.55; }
body, input, textarea, select, button { font-synthesis: none; }
img, svg { display: block; max-width: 100%; }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }
a { color: inherit; }
h1, h2, h3, p, figure, dl { margin: 0; }
h1, h2, h3 { font-family: var(--font-display); line-height: 1.08; }
::selection { background: var(--gold); color: var(--navy); }
:focus-visible { outline: 3px solid var(--gold); outline-offset: 4px; }
* { scrollbar-color: #7890a3 var(--paper); }
.svg-defs { position: absolute; width: 0; height: 0; overflow: hidden; }
.container { width: min(100% - 3rem, 1320px); margin-inline: auto; }
.section-pad { padding-block: clamp(5rem, 8vw, 8rem); }
.skip-link { position: fixed; z-index: 100; top: -5rem; left: 1rem; padding: .7rem 1rem; background: var(--gold); color: var(--navy); font-weight: 700; text-decoration: none; }
.skip-link:focus { top: 1rem; }
.button, .nav-action { display: inline-flex; align-items: center; justify-content: center; gap: .9rem; text-decoration: none; font-family: var(--font-display); font-size: .88rem; font-weight: 700; line-height: 1.15; transition: background .2s ease, color .2s ease, transform .2s ease; }
.button { min-height: 54px; padding: .95rem 1.28rem; border: 1px solid transparent; border-radius: 2px; }
.button:hover, .nav-action:hover { transform: translateY(-2px); }
.button svg, .nav-action svg, .inline-link svg, .service-end a svg, .call-block a svg { width: 19px; height: 19px; flex: none; }
.button-gold { background: var(--gold); color: var(--navy); }
.button-gold:hover { background: #f4c575; }
.button-light { border-color: rgba(255,255,255,.52); color: var(--white); }
.button-light:hover { background: rgba(255,255,255,.12); }

.site-header { position: relative; z-index: 40; background: var(--white); }
.header-inner { display: flex; align-items: center; justify-content: space-between; gap: 2rem; min-height: 86px; }
.brand { display: flex; align-items: center; gap: .7rem; min-width: 0; text-decoration: none; color: var(--navy); }
.brand-mark { width: 40px; height: 49px; flex: none; }
.brand-words { display: flex; flex-direction: column; min-width: 0; line-height: 1; }
.brand-words strong { white-space: nowrap; font-family: var(--font-display); font-size: 1.13rem; font-weight: 800; letter-spacing: .12em; }
.brand-words em, .footer-brand em { color: var(--gold-deep); font-style: normal; }
.brand-words small { width: max-content; margin-top: .5rem; padding-top: .32rem; border-top: 1px solid var(--gold-deep); white-space: nowrap; font-family: var(--font-display); font-size: .7rem; font-weight: 700; letter-spacing: .04em; }
.site-nav { display: flex; align-items: center; gap: clamp(1rem, 2vw, 2rem); }
.site-nav > a:not(.nav-action) { color: var(--ink); font-family: var(--font-display); font-size: .86rem; font-weight: 600; text-decoration: none; text-underline-offset: 6px; }
.site-nav > a:not(.nav-action):hover { text-decoration: underline; }
.nav-action { min-height: 43px; padding: .75rem 1rem; background: var(--navy); color: var(--white); }
.menu-toggle { display: none; width: 46px; height: 46px; flex: none; align-items: center; justify-content: center; flex-direction: column; gap: 5px; border: 1px solid var(--line); border-radius: 2px; background: var(--white); }
.menu-toggle span { width: 21px; height: 2px; background: var(--navy); }

.hero { overflow: hidden; background: var(--navy); color: var(--white); }
.hero-main { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .95fr); align-items: center; gap: clamp(2.2rem, 4vw, 5rem); padding-block: clamp(4.1rem, 6vw, 6.3rem) 4.5rem; }
.hero-copy { position: relative; z-index: 1; }
.hero h1 { max-width: 730px; font-size: clamp(3.25rem, 5.6vw, 6rem); font-weight: 800; letter-spacing: -.038em; line-height: 1.01; text-wrap: balance; }
.hero h1 span { color: var(--gold); }
.hero-lede { max-width: 590px; margin-top: 2rem; color: #dce8f2; font-size: clamp(1.09rem, 1.5vw, 1.32rem); line-height: 1.52; }
.hero-actions { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 2.35rem; }
.hero-location { margin-top: 2.15rem; color: #b8c8d8; font-size: .88rem; letter-spacing: .01em; }
.hero-visual { min-width: 0; }
.photo-mosaic { display: grid; grid-template-columns: minmax(0, 1.34fr) minmax(0, 1fr); grid-template-rows: minmax(0, 1fr) minmax(0, 1fr); gap: 9px; height: clamp(410px, 38vw, 565px); }
.photo-mosaic figure { position: relative; min-width: 0; overflow: hidden; background: #27415d; }
.photo-mosaic img { width: 100%; height: 100%; object-fit: cover; }
.photo-main { grid-row: 1 / 3; }
.photo-main img { object-position: 50% 50%; }
.photo-small-a img { object-position: 50% 40%; }
.photo-small-b img { object-position: 52% 69%; }
.photo-note { display: flex; align-items: center; gap: .7rem; margin-top: .85rem; color: #c3d4e4; font-size: .78rem; letter-spacing: .01em; }
.photo-note span { width: 28px; height: 1px; background: var(--gold); }

.area-rail { display: grid; grid-template-columns: 300px minmax(0, 1fr); gap: clamp(2rem, 4vw, 5rem); padding-block: 2.25rem 2.8rem; border-top: 1px solid rgba(255,255,255,.25); }
.rail-intro h2 { font-size: clamp(1.45rem, 2.1vw, 2rem); font-weight: 500; letter-spacing: -.025em; }
.rail-intro h2 strong { color: var(--gold); font-weight: 800; }
.rail-intro p { max-width: 215px; margin-top: .75rem; color: #b6c8d9; font-size: .82rem; }
.rail-content { min-width: 0; }
.area-controls { position: relative; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); padding-bottom: 44px; }
.area-controls::before { content: ""; position: absolute; right: 12.5%; bottom: 22px; left: 12.5%; height: 1px; background: rgba(255,255,255,.4); }
.area-controls::after { content: ""; position: absolute; bottom: 0; left: 50%; width: 1px; height: 22px; background: var(--gold); }
.area-controls button { position: relative; display: flex; align-items: center; min-height: 67px; padding: 0 .95rem .85rem; border: 0; background: transparent; color: #c5d2df; font-family: var(--font-display); font-size: clamp(.82rem, 1.05vw, .94rem); font-weight: 600; line-height: 1.27; text-align: left; transition: color .2s ease, background .2s ease; }
.area-controls button::after { content: ""; position: absolute; top: 100%; left: 50%; width: 1px; height: 22px; background: rgba(255,255,255,.4); }
.area-controls button:hover, .area-controls button:focus-visible { color: var(--white); background: rgba(255,255,255,.07); }
.area-controls button[aria-pressed="true"] { background: rgba(229,173,78,.13); color: var(--gold); }
.area-controls button[aria-pressed="true"]::after { background: var(--gold); }
.team-core { display: flex; align-items: center; justify-content: center; gap: .65rem; padding-block: .35rem 1.1rem; }
.core-dot { width: 8px; height: 8px; flex: none; border-radius: 50%; background: var(--gold); box-shadow: 0 0 0 5px rgba(229,173,78,.16); }
.team-core strong { color: var(--white); font-family: var(--font-display); font-size: .92rem; }
.team-core > span:last-child { color: #aec1d3; font-size: .84rem; }
.area-spotlight { display: grid; grid-template-columns: 30px minmax(0, 1fr) auto; align-items: start; gap: 1rem; min-height: 79px; padding-top: 1.1rem; border-top: 1px solid rgba(255,255,255,.24); }
.spotlight-line { width: 24px; height: 1px; margin-top: .67rem; background: var(--gold); }
.area-spotlight strong { color: var(--gold); font-family: var(--font-display); font-size: .92rem; }
.area-spotlight p { max-width: 560px; margin-top: .18rem; color: #c2d1df; font-size: .88rem; line-height: 1.42; }
.finance-disclaimer:not([hidden]) { display: block; margin-top: .4rem; font-size: .8125rem; line-height: 1.5; }
.area-spotlight .finance-disclaimer { margin-top: .4rem; font-size: .8125rem; line-height: 1.5; }
.spotlight-action { display: flex; flex-direction: column; align-items: flex-end; gap: .28rem; padding-top: .1rem; white-space: nowrap; }
.spotlight-action span { color: #e7eef4; font-size: .8rem; }
.spotlight-action a { color: var(--gold); font-family: var(--font-display); font-size: .73rem; font-weight: 700; text-decoration: underline; text-underline-offset: 4px; }

.perspective { background: var(--white); }
.perspective-grid { display: grid; grid-template-columns: 1.1fr .75fr; align-items: end; gap: clamp(2rem, 7vw, 8rem); }
.perspective h2 { max-width: 780px; font-size: clamp(3rem, 5.2vw, 5.5rem); font-weight: 800; letter-spacing: -.036em; text-wrap: balance; }
.perspective-grid > div { max-width: 440px; padding-bottom: .3rem; }
.perspective p { color: var(--muted); font-size: 1.18rem; line-height: 1.62; }
.inline-link { display: inline-flex; align-items: center; gap: .7rem; margin-top: 1.55rem; padding-bottom: .27rem; border-bottom: 1px solid var(--gold-deep); color: var(--ink); font-family: var(--font-display); font-size: .9rem; font-weight: 700; text-decoration: none; }
.inline-link:hover { color: var(--gold-deep); }

.services { background: var(--paper); }
.section-heading { display: grid; grid-template-columns: 1.2fr .6fr; align-items: end; gap: 2rem; }
.services-heading { margin-bottom: 3.6rem; }
.services-heading h2 { max-width: 770px; font-size: clamp(2.9rem, 4.5vw, 4.7rem); font-weight: 800; letter-spacing: -.034em; text-wrap: balance; }
.services-heading p { max-width: 360px; justify-self: end; padding-bottom: .4rem; color: var(--muted); font-size: 1.12rem; }
.service-list { border-top: 1px solid var(--navy); }
.service-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .9fr) minmax(0, .55fr); gap: clamp(1.5rem, 4vw, 4.5rem); align-items: center; min-height: 174px; padding-block: 1.6rem; border-bottom: 1px solid var(--line); transition: background .2s ease; }
.service-row:hover { background: rgba(229,173,78,.1); }
.service-row h3 { font-size: clamp(1.65rem, 2.5vw, 2.75rem); font-weight: 700; letter-spacing: -.03em; }
.service-row > p { max-width: 390px; color: var(--muted); font-size: 1rem; line-height: 1.55; }
.service-end { display: flex; flex-direction: column; align-items: flex-start; gap: 1.15rem; }
.service-end > span { color: var(--navy-mid); font-family: var(--font-display); font-size: .81rem; font-weight: 700; }
.service-end a { display: inline-flex; align-items: center; gap: .4rem; padding-bottom: .2rem; border-bottom: 1px solid var(--gold-deep); color: var(--ink); font-family: var(--font-display); font-size: .8rem; font-weight: 700; text-decoration: none; }
.service-end a:hover { color: var(--gold-deep); }
.service-end a svg { width: 16px; height: 16px; }

.team { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); min-height: 650px; background: var(--gold); }
.team-photo { position: relative; min-height: 650px; overflow: hidden; background: #365171; }
.team-photo img { width: 100%; height: 100%; min-height: 650px; object-fit: cover; object-position: center 75%; }
.team-photo p { position: absolute; left: 2.5rem; bottom: 2rem; padding: .45rem .7rem; background: var(--navy); color: var(--white); font-size: .78rem; }
.team-content { display: flex; align-items: center; padding: 5rem clamp(2rem, 6vw, 7rem); }
.team-content-inner { width: min(100%, 650px); }
.team h2 { max-width: 620px; font-size: clamp(2.8rem, 4.5vw, 4.9rem); font-weight: 800; letter-spacing: -.035em; text-wrap: balance; }
.team-content-inner > p { max-width: 540px; margin-top: 1.35rem; color: #2c3032; font-size: 1.11rem; }
.team-list { margin-top: 2.7rem; border-top: 1px solid rgba(7,24,43,.45); }
.team-list > div { display: flex; justify-content: space-between; align-items: baseline; gap: 1.5rem; padding-block: .9rem; border-bottom: 1px solid rgba(7,24,43,.4); }
.team-list dt { font-family: var(--font-display); font-size: 1rem; font-weight: 700; }
.team-list dd { margin: 0; font-size: .87rem; text-align: right; }

.process { background: var(--white); }
.process-grid { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); gap: clamp(3rem, 7vw, 8rem); }
.process-grid > div { max-width: 550px; }
.process h2 { font-size: clamp(2.8rem, 4.5vw, 4.8rem); font-weight: 800; letter-spacing: -.034em; text-wrap: balance; }
.process-grid > div > p { max-width: 520px; margin-top: 1.5rem; color: var(--muted); font-size: 1.13rem; }
.process-list { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--navy); }
.process-list li { display: grid; grid-template-columns: 60px 1fr; gap: 1rem; padding-block: 1.55rem; border-bottom: 1px solid var(--line); }
.process-list li > span { padding-top: .2rem; color: var(--gold-deep); font-family: var(--font-display); font-size: 1rem; font-weight: 700; }
.process-list h3 { font-size: 1.23rem; font-weight: 700; }
.process-list p { max-width: 510px; margin-top: .5rem; color: var(--muted); font-size: .97rem; }

.news { padding-block: clamp(4.5rem, 6vw, 6.3rem); background: var(--navy-soft); color: var(--white); }
.news-inner { display: grid; grid-template-columns: 1.1fr .55fr; gap: 4rem; align-items: center; }
.news h2 { max-width: 750px; font-size: clamp(2.8rem, 4.2vw, 4.4rem); font-weight: 800; letter-spacing: -.032em; }
.news-inner > div:first-child > p { max-width: 650px; margin-top: 1.2rem; color: #d0dce7; font-size: 1.07rem; }
.news-status { padding-left: 2rem; border-left: 1px solid var(--gold); }
.news-status strong { display: block; font-family: var(--font-display); font-size: 1.6rem; }
.news-status p { max-width: 310px; margin-top: .7rem; color: #c7d5e1; font-size: .92rem; }

.contact { background: var(--paper); }
.contact-grid { display: grid; grid-template-columns: minmax(0, .83fr) minmax(0, 1.17fr); align-items: start; gap: clamp(2.5rem, 7vw, 8rem); }
.contact-copy { position: sticky; top: 2rem; }
.contact h2 { max-width: 600px; font-size: clamp(3rem, 5vw, 5.4rem); font-weight: 800; letter-spacing: -.036em; text-wrap: balance; }
.contact-copy > p { max-width: 470px; margin-top: 1.35rem; color: var(--muted); font-size: 1.16rem; }
.call-block { margin-top: 3rem; padding-top: 1rem; border-top: 1px solid var(--navy); }
.call-block span { display: block; color: var(--muted); font-family: var(--font-display); font-size: .78rem; font-weight: 700; }
.call-block a { display: inline-flex; align-items: center; gap: .8rem; margin-top: .3rem; color: var(--ink); font-family: var(--font-display); font-size: clamp(1.65rem, 3vw, 2.45rem); font-weight: 800; letter-spacing: -.02em; text-decoration: none; }
.call-block a:hover { color: var(--gold-deep); }
.call-block a svg { width: 25px; height: 25px; }
.contact-copy .contact-region { margin-top: 1.2rem; font-size: .88rem; }
.form-wrap { padding: clamp(1.5rem, 3vw, 3rem); background: var(--white); }
.form-heading { display: grid; grid-template-columns: .8fr 1.2fr; gap: 1.3rem; align-items: start; margin-bottom: 2rem; padding-bottom: 1.4rem; border-bottom: 1px solid var(--line); }
.form-heading h3 { max-width: 240px; font-size: 1.6rem; font-weight: 800; letter-spacing: -.02em; }
.form-heading p { color: #4e5f70; font-size: .86rem; line-height: 1.43; }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.1rem; }
.form-grid label { display: flex; flex-direction: column; gap: .45rem; min-width: 0; color: var(--ink); font-family: var(--font-display); font-size: .78rem; font-weight: 700; }
.form-grid input, .form-grid select, .form-grid textarea { width: 100%; min-height: 49px; padding: .7rem .78rem; border: 1px solid #aebdc9; border-radius: 2px; outline: 0; background: var(--white); color: var(--ink); font-family: var(--font-body); font-size: .94rem; font-weight: 400; transition: border-color .2s ease, box-shadow .2s ease; }
.form-grid textarea { min-height: 112px; resize: vertical; }
.form-grid input::placeholder, .form-grid textarea::placeholder { color: #657789; }
.form-grid input:focus, .form-grid select:focus, .form-grid textarea:focus { border-color: var(--navy-soft); box-shadow: 0 0 0 3px rgba(23,54,87,.16); }
.form-wide { grid-column: 1 / -1; }
.form-submit { width: 100%; margin-top: 1.4rem; }
.form-footnote { margin-top: .8rem; color: #556576; font-size: .76rem; text-align: center; }
.form-message { margin-top: 1rem; padding: .85rem 1rem; background: #e8f2e9; color: #1c4e29; font-size: .9rem; }

.site-footer { background: var(--navy); color: var(--white); }
.footer-inner { display: grid; grid-template-columns: 1.4fr 1fr auto; gap: 2rem; align-items: center; min-height: 150px; padding-block: 2rem; }
.footer-brand { display: flex; flex-direction: column; }
.footer-brand strong { font-family: var(--font-display); font-size: 1.13rem; letter-spacing: .1em; }
.footer-brand em { color: var(--gold); }
.footer-brand span { margin-top: .25rem; color: #acbdcb; font-family: var(--font-display); font-size: .7rem; font-weight: 600; letter-spacing: .04em; }
.footer-meta { display: flex; flex-direction: column; gap: .2rem; color: #bbcbd8; font-size: .79rem; }
.footer-inner > a { width: max-content; color: var(--white); font-family: var(--font-display); font-size: .82rem; font-weight: 600; text-decoration: underline; text-decoration-color: var(--gold); text-underline-offset: 6px; }

@media (max-width: 1160px) {
  .site-nav { gap: 1rem; }
  .hero h1 { font-size: clamp(3.3rem, 5.5vw, 5rem); }
  .hero-main { gap: 2rem; }
  .area-rail { grid-template-columns: 235px minmax(0, 1fr); }
  .service-row { grid-template-columns: .9fr 1fr .7fr; gap: 2rem; }
  .team-content { padding-inline: 3rem; }
}

@media (max-width: 900px) {
  .header-inner { min-height: 76px; }
  .menu-toggle { display: flex; }
  .site-nav { position: absolute; top: 100%; left: 0; right: 0; display: none; flex-direction: column; align-items: stretch; gap: 0; padding: .5rem 1.5rem 1.5rem; background: var(--white); box-shadow: 0 18px 28px rgba(7,24,43,.16); }
  .site-nav.is-open { display: flex; }
  .site-nav > a:not(.nav-action) { padding: .8rem .2rem; }
  .nav-action { width: max-content; margin-top: .7rem; }
  .hero-main { grid-template-columns: 1fr; padding-top: 4rem; }
  .hero h1 { max-width: 800px; font-size: clamp(3.7rem, 7.8vw, 6rem); }
  .hero-lede { max-width: 670px; }
  .photo-mosaic { height: clamp(390px, 55vw, 540px); }
  .area-rail { grid-template-columns: 1fr; gap: 1.5rem; }
  .rail-intro { display: flex; justify-content: space-between; align-items: end; gap: 2rem; }
  .service-row { grid-template-columns: .9fr 1fr; }
  .service-end { grid-column: 1 / -1; flex-direction: row; justify-content: space-between; }
  .team { grid-template-columns: 1fr; }
  .team-photo, .team-photo img { min-height: 570px; max-height: 700px; }
  .team-content { padding-block: 5rem; }
  .process-grid, .contact-grid { grid-template-columns: 1fr; }
  .contact-copy { position: static; }
}

@media (max-width: 640px) {
  .container { width: min(100% - 2rem, 1320px); }
  .section-pad { padding-block: 4.8rem; }
  .brand-mark { width: 32px; height: 41px; }
  .brand-words strong { font-size: .85rem; letter-spacing: .07em; }
  .brand-words small { margin-top: .36rem; font-size: .7rem; letter-spacing: .01em; }
  .hero-main { gap: 2.6rem; padding-block: 3.4rem 2.5rem; }
  .hero h1 { font-size: clamp(3.15rem, 11.6vw, 4.8rem); }
  .hero-lede { margin-top: 1.5rem; font-size: 1.07rem; }
  .hero-actions { gap: .65rem; margin-top: 1.85rem; }
  .hero-actions .button { width: 100%; }
  .hero-location { margin-top: 1.5rem; font-size: .79rem; }
  .photo-mosaic { grid-template-columns: 1.3fr .95fr; height: 330px; gap: 6px; }
  .photo-note { font-size: .72rem; letter-spacing: .01em; }
  .area-rail { gap: 1.15rem; padding-block: 1.8rem 2.2rem; }
  .rail-intro { display: block; }
  .rail-intro h2 { font-size: 1.6rem; }
  .rail-intro p { max-width: none; margin-top: .5rem; }
  .area-controls { grid-template-columns: repeat(2, minmax(0, 1fr)); padding-bottom: 34px; }
  .area-controls::before { right: 25%; bottom: 16px; left: 25%; }
  .area-controls::after { height: 16px; }
  .area-controls button { min-height: 60px; padding: .5rem .65rem .7rem; border-top: 1px solid rgba(255,255,255,.18); font-size: .83rem; }
  .area-controls button::after { height: 16px; }
  .area-controls button:nth-child(-n+2)::after { display: none; }
  .team-core { align-items: flex-start; flex-wrap: wrap; gap: .25rem .65rem; padding-bottom: 1rem; }
  .team-core > span:last-child { flex: 1 1 100%; text-align: center; }
  .area-spotlight { grid-template-columns: 18px 1fr; gap: .6rem; }
  .spotlight-line { width: 15px; }
  .spotlight-action { grid-column: 2; align-items: flex-start; padding-top: 0; }
  .perspective-grid, .section-heading, .news-inner { grid-template-columns: 1fr; gap: 1.4rem; }
  .perspective h2, .services-heading h2, .team h2, .process h2, .news h2, .contact h2 { font-size: clamp(2.65rem, 10vw, 3.5rem); }
  .perspective p, .services-heading p, .contact-copy > p { font-size: 1.05rem; }
  .services-heading { margin-bottom: 2.2rem; }
  .services-heading p { justify-self: start; }
  .service-row { grid-template-columns: 1fr; min-height: 0; gap: .7rem; padding-block: 1.45rem; }
  .service-row h3 { font-size: 1.83rem; }
  .service-row > p { font-size: .96rem; }
  .service-end { grid-column: auto; align-items: flex-start; flex-direction: column; gap: .6rem; margin-top: .3rem; }
  .team-photo, .team-photo img { min-height: 390px; max-height: 480px; }
  .team-photo p { left: 1rem; bottom: 1rem; font-size: .69rem; }
  .team-content { padding: 4rem 1rem; }
  .team-list > div { align-items: start; flex-direction: column; gap: .2rem; }
  .team-list dd { text-align: left; }
  .process-grid { gap: 2rem; }
  .process-list li { grid-template-columns: 42px 1fr; }
  .news { padding-block: 4.5rem; }
  .news-inner { gap: 2rem; }
  .news-status { padding-left: 1.1rem; }
  .contact-grid { gap: 2.3rem; }
  .call-block { margin-top: 2rem; }
  .form-wrap { padding: 1.3rem; }
  .form-heading, .form-grid { grid-template-columns: 1fr; }
  .form-heading { gap: .7rem; margin-bottom: 1.3rem; }
  .form-heading h3 { max-width: none; }
  .form-wide { grid-column: auto; }
  .footer-inner { grid-template-columns: 1fr; gap: 1.5rem; }
}

@media (max-width: 360px) {
  .brand-words strong { font-size: .74rem; }
  .brand-words small { font-size: .67rem; }
  .photo-mosaic { height: 285px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}

.photo-mosaic .wp-block-image { margin: 0; }
.photo-mosaic .wp-block-image img { width: 100%; height: 100%; object-fit: cover; }
.wp-block-group.hero-copy > .hero-lede { margin-top: 2rem; }
.wp-block-group.hero-copy > .hero-actions { margin-top: 2.35rem; }
.wp-block-group.hero-copy > .hero-location { margin-top: 2.15rem; }
.contact-action { display: flex; flex-direction: column; align-items: flex-start; gap: 1.4rem; justify-content: center; }
.contact-action h3 { font-size: clamp(1.7rem, 2.4vw, 2.5rem); letter-spacing: -.025em; }
.contact-action p { max-width: 48ch; color: var(--muted); }
.contact-action .privacy-link { font-size: .92rem; text-underline-offset: 4px; }
.contact-action .contact-safety, .contact-action .contact-identity { font-size: .94rem; line-height: 1.65; }
.contact-action .contact-identity a { overflow-wrap: anywhere; text-underline-offset: 4px; }
.footer-meta a { color: inherit; text-underline-offset: 4px; }
.news-post-list { display: grid; gap: 1.5rem; min-width: 0; }
.news-post-list article { border-bottom: 1px solid rgba(255,255,255,.25); padding-bottom: 1.5rem; }
.news-post-list h3 { font-size: 1.4rem; line-height: 1.25; }
.news-post-list a { text-underline-offset: 5px; }
.news-post-list time { display: block; color: #c3d4e4; font-size: .9rem; margin-bottom: .5rem; }
.news-inner .news-post-list p { font-size: 1rem; margin-top: .7rem; }
.impulsa-reading { max-width: 800px; width: min(100% - 3rem, 800px); margin-inline: auto; padding-block: clamp(3rem, 6vw, 5rem); min-height: 50vh; }
.impulsa-reading > * + * { margin-top: 1.5rem; }
.impulsa-reading h1 { font-size: clamp(2.5rem, 5vw, 4.5rem); letter-spacing: -.03em; overflow-wrap: anywhere; }
.impulsa-reading .wp-block-post-content > * + * { margin-top: 1.2rem; }
.impulsa-reading .wp-block-post-content h2 { font-size: 2rem; }
.impulsa-reading .wp-block-post-content a { color: var(--gold-deep); text-underline-offset: 4px; }
.impulsa-reading .wp-block-post-content img { height: auto; }
.wp-block-post-featured-image img { height: auto; }
@media (max-width: 640px) { .impulsa-reading { width: min(100% - 2rem, 800px); } }
