/* The start page follows one grid: orientation, audience routes, inquiry. */
.pf-front {
    background-image:linear-gradient(132deg,#182f42 15%,#203d55 100%);
}
.pf-front::before { opacity:.28; background-size:auto 122%; }
.pf-front-grid {
    grid-template-columns:minmax(0,1.02fr) minmax(0,1fr);
    align-items:center;
    gap:clamp(27px,4.5vw,64px);
    padding-block:clamp(30px,4.1vw,57px);
}
.pf-front h1 {
    font-size:clamp(48px,5.85vw,84px);
    line-height:.95;
    margin-bottom:clamp(15px,2vw,27px);
}
.pf-front-copy > p:not(.pf-front-tag) { max-width:47ch; }
.pf-front-audience { max-width:37rem; margin-bottom:clamp(13px,1.6vw,23px); }
.pf-front-audience > p {
    color:#f4e2c4;
    font-size:.76rem;
    letter-spacing:.095em;
    margin-bottom:.55rem;
}
.pf-front-choices {
    grid-template-columns:minmax(0,1.37fr) repeat(2,minmax(0,1fr));
    gap:0;
    max-width:none;
    border:1px solid #91a4af;
    background:#244056;
}
.pf-front-choices a {
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    grid-template-rows:auto auto;
    align-content:center;
    column-gap:5px;
    row-gap:2px;
    min-height:65px;
    padding:9px clamp(7px,1vw,13px);
    border:0;
    box-shadow:none;
    background:transparent;
    color:#faf7ee;
}
.pf-front-choices a + a { border-left:1px solid #91a4af; }
.pf-front-choices strong { font-weight:600; }
.pf-front-choices small {
    grid-column:1/-1;
    grid-row:2;
    color:#d4e0e6;
    font-size:.76rem;
    font-weight:400;
}
.pf-front-choices a span { display:block; grid-column:2; grid-row:1; font-size:.82em; }
.pf-front-choices a:hover { color:#fff; background:#32516a; box-shadow:inset 0 -2px #dec29a; }
.pf-front-choices a:focus-visible { z-index:1; outline-offset:-3px; }
.pf-front-actions { gap:3px 18px; }
.pf-front-primary { gap:14px; }
.pf-front-secondary { font-weight:500; }

.pf-front-media {
    display:grid;
    gap:12px;
    min-width:0;
    padding:0;
}
.pf-front-photo {
    background:#29465a;
    box-shadow:none;
    border:1px solid #738896;
}
.pf-front-photo img {
    height:clamp(190px,20.7vw,280px);
    object-position:center 49%;
    filter:none;
}
.pf-front-photo figcaption {
    top:auto;
    bottom:0;
    padding:2px 9px;
    background:#182f42;
}
.pf-front-area {
    position:relative;
    inset:auto;
    display:grid;
    grid-template-columns:minmax(128px, .7fr) minmax(0,1.4fr);
    grid-template-rows:auto 1fr;
    width:auto;
    margin:0;
    border:1px solid #d0d5cc;
    border-top:2px solid #d8bb8f;
    box-shadow:none;
}
.pf-front-area figcaption {
    grid-column:1;
    grid-row:1;
    display:grid;
    gap:2px;
    padding:13px 11px 0;
}
.pf-front-area figcaption strong { font-size:1rem; }
.pf-front-area-link {
    grid-column:1;
    grid-row:2;
    display:flex;
    flex-flow:column;
    align-items:start;
    align-self:end;
    padding:7px 11px 2px;
}
.pf-front-area-link a { min-height:44px; }
.pf-front-area .pf-map-art {
    grid-column:2;
    grid-row:1 / span 2;
    align-self:center;
    border-left:1px solid #cbd5ce;
}
.pf-front-area .pf-map-art img { border:0; }

.pf-index-intro > p:last-child { max-width:35ch; }
.pf-home-service > summary { min-height:72px; padding-inline:12px; }
.pf-home-service[open] > summary { box-shadow:inset 3px 0 #2e4a66; }

@media (max-width:880px) {
    .pf-front-grid { grid-template-columns:minmax(0,1fr); gap:22px; }
    .pf-front h1 { font-size:clamp(40px,9.5vw,72px); }
    .pf-front-media { grid-template-columns:minmax(0,1.12fr) minmax(0,1fr); gap:12px; }
    .pf-front-photo img { height:100%; min-height:200px; }
    .pf-front-area {
        grid-template-columns:minmax(0,1fr);
        grid-template-rows:auto auto 1fr;
    }
    .pf-front-area .pf-map-art { grid-column:1; grid-row:2; border-left:0; border-block:1px solid #cbd5ce; }
    .pf-front-area figcaption { display:flex; padding:9px 10px; }
    .pf-front-area-link { grid-row:3; flex-flow:row wrap; align-items:center; padding:0 10px; }
}
@media (max-width:600px) {
    .pf-front-grid { padding-block:22px 26px; gap:17px; }
    .pf-front-tag { margin-bottom:11px; gap:4px 9px; }
    .pf-front-tag span { padding-left:9px; }
    .pf-front h1 { font-size:clamp(36px,10.15vw,57px); margin-bottom:12px; }
    .pf-front-copy > p:not(.pf-front-tag) { font-size:1rem; line-height:1.43; margin-bottom:14px; }
    .pf-front-audience { margin-bottom:10px; }
    .pf-front-audience > p { margin-bottom:5px; }
    .pf-front-choices { grid-template-columns:minmax(0,1fr); }
    .pf-front-choices a, .pf-front-choices a:first-child {
        grid-column:auto;
        grid-template-columns:minmax(0,1fr) auto 12px;
        grid-template-rows:auto;
        gap:7px;
        min-height:44px;
        padding:5px 9px;
        align-items:center;
    }
    .pf-front-choices a + a { border-left:0; border-top:1px solid #91a4af; }
    .pf-front-choices small { grid-column:2; grid-row:1; font-size:.72rem; white-space:nowrap; }
    .pf-front-choices a span { grid-column:3; grid-row:1; justify-self:end; }
    .pf-front-media { grid-template-columns:minmax(0,1fr); gap:10px; }
    .pf-front-photo img { height:clamp(170px,48vw,260px); min-height:0; }
    .pf-front-area-link a { min-height:44px; }
}
