.phero{background:radial-gradient(1100px 560px at 50% -10%,#1C3D6A 0%,var(--navy) 50%,var(--navy-deep) 100%);color:var(--on-navy);position:relative;overflow:hidden;padding-block:0;border-bottom:1px solid var(--on-navy-rule)}
.phero-in{position:relative;text-align:center;max-width:880px;margin:0 auto;padding-block:clamp(52px,6vw,84px) clamp(44px,5vw,64px)}
.phero .eyebrow{justify-content:center}
.phero h1{font-family:var(--f-d);font-weight:600;font-size:clamp(34px,5.4vw,58px);line-height:1.06;letter-spacing:-.02em;margin:0;color:#fff;text-wrap:balance}
.phero h1 em{font-style:italic;color:var(--amber)}
.phero .sub{margin:22px auto 0;max-width:54ch;font-size:clamp(17px,2vw,19px);line-height:1.58;color:var(--on-navy-2)}

/* routes */
.routes{display:grid;gap:16px;margin-top:0}
@media (min-width:860px){.routes{grid-template-columns:repeat(3,1fr);gap:20px}}
.routes>a{display:grid;grid-template-columns:52px 1fr;gap:16px;align-items:start;padding:24px 24px;border:1px solid var(--rule);border-radius:12px;background:var(--surface);box-shadow:var(--shadow);text-decoration:none;color:inherit;transition:transform .2s,border-color .2s}
.routes>a:hover{transform:translateY(-3px);border-color:var(--amber)}
.routes>a.p{border-color:rgba(232,163,61,.6);background:var(--amber-wash)}
.routes b{display:block;font-family:var(--f-d);font-weight:600;font-size:19px;color:var(--ink);margin-bottom:4px;line-height:1.2}
.routes span{font-size:15px;line-height:1.5;color:var(--ink-2)}
.routes .go{display:block;margin-top:8px;font-family:var(--f-m);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--amber-ink)}

/* main grid */
.cgrid{display:grid;gap:40px;align-items:start}
@media (min-width:980px){.cgrid{grid-template-columns:1fr 1.05fr;gap:72px}}
.cgrid .lead p:first-child{margin-top:0}

.houses{display:grid;gap:16px;margin-top:30px}
.house{border:1px solid var(--rule);border-radius:14px;padding:26px 28px;background:var(--surface);box-shadow:var(--shadow);display:grid;grid-template-columns:1fr;gap:4px}
.house .k{font-family:var(--f-m);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--amber-ink);margin-bottom:6px;display:flex;align-items:center;gap:10px}
.house .k::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--amber)}
.house b{font-family:var(--f-d);font-weight:600;font-size:22px;color:var(--ink);line-height:1.15}
.house .city{font-size:15.5px;color:var(--muted);margin-bottom:12px}
.house .ln{display:grid;grid-template-columns:22px 1fr;gap:12px;align-items:center;font-size:16px;color:var(--ink);padding:5px 0}
.house .ln svg{width:17px;height:17px;color:var(--amber-ink)}
.house .ln a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--rule)}
.house .ln a:hover{border-color:var(--amber)}
.house .hrs{font-family:var(--f-m);font-size:11px;letter-spacing:.08em;color:var(--muted);margin-top:10px;line-height:1.7}

.social{margin-top:28px;display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px}
.social .lab{font-family:var(--f-m);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.social a{display:inline-flex;align-items:center;gap:8px;font-size:15px;color:var(--ink);text-decoration:none;border:1px solid var(--rule);border-radius:999px;padding:8px 14px;background:var(--surface)}
.social a:hover{border-color:var(--amber)}
.social svg{width:16px;height:16px}

.form{background:var(--surface);color:var(--ink);border-radius:14px;padding:32px 30px;box-shadow:var(--shadow);border:1px solid var(--rule)}
.form h3{font-family:var(--f-d);font-weight:600;font-size:24px;margin:0 0 6px}
.form .fp{margin:0 0 22px;font-size:15px;color:var(--muted)}
.form label{display:block;font-family:var(--f-m);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 6px}
.form .row{display:grid;gap:14px;margin-bottom:14px}
@media (min-width:560px){.form .row.two{grid-template-columns:1fr 1fr}}
.form input,.form select,.form textarea{width:100%;font:inherit;font-size:15.5px;color:var(--ink);background:var(--paper);border:1px solid var(--rule);border-radius:6px;padding:12px 14px}
.form input:focus,.form select:focus,.form textarea:focus{outline:2px solid var(--amber);outline-offset:1px;border-color:var(--amber)}
.form textarea{min-height:130px;resize:vertical}
.form .btn{width:100%;justify-content:center;margin-top:6px}
.form .fine{font-family:var(--f-m);font-size:11px;letter-spacing:.06em;color:var(--muted);margin:14px 0 0;text-align:center;line-height:1.6}

/* other doors */
.doors{display:grid;gap:14px;margin-top:48px}
@media (min-width:700px){.doors{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1040px){.doors{grid-template-columns:repeat(4,1fr);gap:18px}}
.doors>div{border:1px solid var(--on-navy-rule);border-radius:12px;padding:24px 22px;background:rgba(255,255,255,.04);display:flex;flex-direction:column;gap:8px}
.doors .k{font-family:var(--f-m);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--amber)}
.doors b{font-family:var(--f-d);font-weight:600;font-size:19px;color:#fff;line-height:1.2}
.doors p{margin:0;font-size:15px;line-height:1.5;color:var(--on-navy-2);flex:1}
.doors a{color:#fff;text-decoration:none;font-size:14.5px;border-bottom:1px solid var(--on-navy-rule);width:max-content;max-width:100%}
.doors a:hover{border-color:var(--amber)}
