/* Public gateway only. Porter application screens continue to use app.css. */
.landing-page .landing-hero { display: grid; align-items: center; padding: 132px clamp(22px, 7.3vw, 140px) 96px; }
.landing-page .hero-copy { position: relative; left: auto; top: auto; width: min(800px, 61vw); transform: none; }
.landing-page .hero-copy h1 { font-size: clamp(3rem, 4.7vw, 5.7rem); line-height: 1.16; letter-spacing: -.04em; }
.landing-page .hero-copy > p:not(.section-index) { margin-top: 28px; margin-bottom: 30px; }
.portal-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.portal-actions .hero-action { gap: 30px; min-width: 236px; }
.portal-ambulance-action { background: var(--accent-dark); color: white; }
.portal-ambulance-action:hover { background: #096675; }
.portal-services { display: grid; grid-template-columns: 1fr 1.7fr; gap: clamp(32px, 6vw, 110px); padding: clamp(64px, 8vw, 128px) clamp(22px, 7.3vw, 140px); background: var(--paper-white); border-bottom: 1px solid var(--line); scroll-margin-top: 24px; }
.portal-services-heading h2 { margin: 20px 0; font: 600 clamp(2rem, 3vw, 3.4rem)/1.3 var(--font-heading); letter-spacing: -.035em; }
.portal-services-heading > p:last-child { margin: 0; color: var(--ink-soft); line-height: 1.7; }
.portal-service-list { border-top: 1px solid var(--ink); }
.portal-service { display: grid; grid-template-columns: 32px minmax(0, 1fr) 28px; gap: 24px; align-items: start; padding: 30px 0; border-bottom: 1px solid var(--line); text-decoration: none; transition: color .2s ease, padding .2s ease; }
.portal-service-number { padding-top: 8px; font-size: .75rem; color: var(--accent-dark); }
.portal-service strong { display: block; margin: 0 0 10px; font: 600 clamp(1.3rem, 1.8vw, 1.85rem)/1.4 var(--font-heading); }
.portal-service-description { display: block; color: var(--ink-soft); font-size: .95rem; line-height: 1.8; }
.portal-service-arrow { padding-top: 2px; font-size: 1.5rem; transition: transform .2s ease; }
.portal-service:hover { color: var(--accent-dark); }
.portal-service:hover .portal-service-arrow { transform: translate(3px, -3px); }
.portal-service:focus-visible { outline-offset: 6px; }
@media (max-width: 900px) {
    .landing-page .hero-copy { width: min(690px, 80vw); }
    .portal-services { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
    .landing-page .landing-hero { padding-top: 112px; padding-bottom: 72px; }
    .landing-page .hero-copy { width: 100%; }
    .landing-page .hero-copy h1 { font-size: clamp(2.2rem, 8.5vw, 3.2rem); line-height: 1.22; }
    .landing-page .hero-copy .section-index { margin-bottom: 20px; }
    .landing-page .hero-copy > p:not(.section-index) { max-width: 100%; font-size: .94rem; margin: 24px 0; }
    .portal-actions { display: grid; grid-template-columns: 1fr; }
    .portal-actions .hero-action { min-width: 0; min-height: 54px; }
    .portal-service { grid-template-columns: 24px minmax(0, 1fr) 24px; gap: 14px; padding: 25px 0; }
    .portal-service-description br { display: none; }
}
@media (prefers-reduced-motion: reduce) {
    .portal-service, .portal-service-arrow { transition: none; }
}
