/* Central Pacific guides: shared Pacific Soul colors and typography. */
.location-hero { padding:170px 0 72px; color:#fff; background:radial-gradient(ellipse at 95% 10%,#285c50,transparent 65%),var(--forest); }
.location-hero h1 { max-width:920px; margin:0 0 28px; font-size:clamp(2.7rem,5.8vw,5.5rem); }
.location-lead { max-width:790px; margin:0; font-size:clamp(1.05rem,1.8vw,1.25rem); color:#e1e9e2; }
.location-breadcrumb { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:35px; font-size:.8rem; color:#d3ddd5; }
.location-breadcrumb a { text-underline-offset:4px; }
.location-jump { display:flex; flex-wrap:wrap; gap:12px 26px; margin-top:35px; }
.location-jump a { min-height:44px; display:inline-flex; align-items:center; color:#fff; text-underline-offset:6px; }
.location-directory { padding-block:48px 72px; }
.location-orientation { padding:28px; background:var(--sand); border-left:3px solid var(--coral); }
.location-orientation p { margin:10px 0 0; }
.location-area { margin-top:65px; scroll-margin-top:24px; }
.location-area h2,.location-specialist h2,.location-related h2 { max-width:800px; margin:0 0 28px; font-size:clamp(2rem,3.4vw,3.2rem); }
.location-card-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.location-card { padding:28px; background:#fff; border:1px solid #e3e5da; }
.location-card h3 { margin:0 0 18px; font-size:1.8rem; }
.location-card h3 a { text-decoration-thickness:1px; text-underline-offset:6px; }
.location-card p { color:#4c6058; }
.location-card .location-card-theme { font-weight:600; color:var(--forest); }
.location-specialist { margin-top:65px; max-width:900px; padding-top:35px; border-top:1px solid #ccd3c8; }
.location-inline-links { display:flex; flex-wrap:wrap; gap:12px 25px; }
.location-inline-links a { display:inline-flex; align-items:center; min-height:44px; }
.location-story-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(260px,.46fr); gap:65px; padding-block:60px 72px; align-items:start; }
.location-story h2 { font-size:clamp(1.8rem,2.7vw,2.4rem); margin:0 0 20px; }
.location-story p { line-height:1.85; }
.location-story-section { margin-top:42px; }
.location-planning { padding:30px; border:1px solid #d5ddd2; background:#fff; }
.location-planning h2 { font-size:2rem; margin-bottom:22px; }
.location-planning h3 { font-family:inherit; font-size:1rem; font-weight:600; letter-spacing:0; margin-top:28px; }
.location-planning ul { padding-left:20px; }
.location-planning li a { display:inline-block; padding-block:6px; }
.location-small,.location-sources { font-size:.88rem; color:#51665c; }
.location-sources { border-top:1px solid #d5ddd2; margin-top:48px; padding-top:25px; }
.location-sources h2 { font-family:inherit; font-size:1rem; font-weight:600; letter-spacing:0; }
.location-sources li { margin-block:10px; }
.location-related { padding:50px 0 65px; background:var(--sand); }
.location-related>.container>.text-link { margin-top:30px; }
.location-network { padding:48px 0; background:#e9e9de; color:var(--forest); }
.location-network-heading { display:flex; align-items:end; justify-content:space-between; gap:25px; margin-bottom:30px; }
.location-network-heading .eyebrow { margin-bottom:10px; }
.location-network h2 { margin:0; font-size:clamp(1.8rem,3vw,2.7rem); }
.location-network-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:25px; }
.location-network h3 { font-family:inherit; font-size:.8rem; font-weight:700; letter-spacing:.035em; line-height:1.5; }
.location-network ul { list-style:none; padding:0; margin:12px 0 0; }
.location-network li a { display:inline-block; padding:9px 0; font-size:.9rem; text-decoration-thickness:1px; text-underline-offset:4px; }
.location-network a[aria-current=page] { font-weight:700; }
.location-network a:hover,.location-card a:hover { color:#9d432e; }
.location-network a:focus-visible,.location-story-grid a:focus-visible,.location-directory a:focus-visible,.location-hero a:focus-visible,.location-related a:focus-visible { outline:3px solid var(--coral); outline-offset:4px; }
@media(max-width:991px) { .location-story-grid { gap:30px; grid-template-columns:minmax(0,1fr) minmax(240px,.5fr); } .location-card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .location-network-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:650px) { .location-hero { padding:135px 0 45px; } .location-story-grid { grid-template-columns:minmax(0,1fr); padding-top:30px; } .location-card-grid { grid-template-columns:minmax(0,1fr); } .location-network-heading { display:block; } .location-network-heading>.text-link { margin-top:22px; } .location-network-grid { gap:22px 16px; } .location-orientation,.location-planning,.location-card { padding:22px; } .location-network li a { min-height:44px; } }
@media(max-width:360px) { .location-network-grid { grid-template-columns:minmax(0,1fr); } }
