/* S7 extends Main/City V2 only on explicitly selected routes. */
.pt2 { --pt2-paper:#fff; --pt2-ground:#f5f8f7; --pt2-ink:#133c37; --pt2-muted:#486660; --pt2-accent:#0d5c52; --pt2-line:#c9d8d3; }
body.pt2 { background:var(--pt2-ground); color:var(--pt2-ink); }
.pt2 *, .pt2 *::before, .pt2 *::after { box-sizing:border-box; }
.pt2 ::selection { background:#bce2d7; color:#103e34; }
.pt2 :focus-visible { outline:3px solid #b74332; outline-offset:4px; }
.pt2 h1 { font-size:clamp(2.2rem,4.8vw,4.4rem); line-height:1.06; letter-spacing:-.03em; max-width:18ch; }
.pt2 h2 { font-size:clamp(1.5rem,2.4vw,2.3rem); letter-spacing:-.025em; }
.pt2 h3 { font-size:1.22rem; line-height:1.25; }
.pt2 p, .pt2 li { max-width:72ch; }
.pt2 .site-header { position:relative; background:var(--pt2-paper); }
.pt2 .header-row { gap:1.3rem; min-height:5.1rem; }
.pt2 .desktop-nav { gap:1.1rem; }
.pt2 .brand { text-decoration:none; }
.pt2 .brand img { width:154px; height:auto; background:var(--pt2-ink); padding:8px 10px; border-radius:8px; }
.pt2 .brand span { color:var(--pt2-muted); border-left-color:var(--pt2-line); font-size:.85rem; }
.pt2 .site-header .desktop-nav a, .pt2 .site-header .mobile-nav summary, .pt2 .site-header .mobile-nav nav a { color:var(--pt2-ink); }
.pt2 .site-header .mobile-nav summary { border-color:var(--pt2-line); }
.pt2 .site-header .desktop-nav a:hover, .pt2 .site-header .desktop-nav a[aria-current="page"], .pt2 .site-header .mobile-nav summary:hover, .pt2 .site-header .mobile-nav nav a:hover, .pt2 .site-header .mobile-nav nav a[aria-current="page"] { color:var(--pt2-ink); background:#e2efea; }
.pt2 .pt2-brand-name { font-size:1.23rem; line-height:1.15; color:var(--pt2-ink); }
.pt2 .pt2-brand-name span { display:block; font-size:.8rem; margin-top:.25rem; color:var(--pt2-muted); font-weight:400; }
.pt2 .brand span { font-size:.83rem; }
.pt2 .site-header .pt-services-nav { margin-left:auto; }
.pt2-hero { padding:clamp(2rem,5vw,4.5rem) 0 2.3rem; }
.pt2-hero-grid { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(17rem,1fr); gap:clamp(2rem,5vw,4rem); align-items:start; }
.pt2-lead { font-size:1.16rem; line-height:1.65; color:var(--pt2-muted); max-width:48ch; }
.pt2-actions { display:flex; align-items:center; flex-wrap:wrap; gap:1rem; margin:1.4rem 0; }
.pt2-button { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:.72rem 1.2rem; border:0; border-radius:12px; background:var(--pt2-accent); color:#fff; text-decoration:none; font-weight:650; cursor:pointer; }
.pt2-button:hover { background:#093e38; color:#fff; }
.pt2-link { font-weight:650; padding:.7rem 0; }
.pt2-planner { padding:1.6rem; background:#e2efea; border-radius:16px; }
.pt2-planner h2 { font-size:1.5rem; margin-bottom:.6rem; }
.pt2-planner p { color:#345a51; font-size:.96rem; }
.pt2-planner label { display:block; font-weight:650; margin:1rem 0 .45rem; }
.pt2-planner select { display:block; width:100%; min-height:48px; padding:.65rem .75rem; border:1px solid #6c8e83; border-radius:10px; color:#173e34; background:#fff; font:inherit; }
.pt2-planner .pt2-button { margin-top:1rem; width:100%; }
.pt2-selection-note { margin:1rem 0 0; font-size:.87rem!important; }
.pt2-section { padding:2rem 0 2.5rem; }
.pt2-section-header { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:baseline; gap:1rem; margin-bottom:1.3rem; }
.pt2-section-header h2 { margin:0; }
.pt2-topic-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); background:var(--pt2-paper); border:1px solid var(--pt2-line); border-radius:16px; overflow:hidden; }
.pt2-topic { padding:1.6rem; border-right:1px solid var(--pt2-line); border-bottom:1px solid var(--pt2-line); }
.pt2-topic:nth-child(3n) { border-right:0; }
.pt2-topic:nth-last-child(-n+3) { border-bottom:0; }
.pt2-topic h3 a { color:var(--pt2-ink); }
.pt2-topic p { font-size:.95rem; color:var(--pt2-muted); margin-bottom:.8rem; }
.pt2-topic ul, .pt2-inline-list { padding:0; list-style:none; margin:0; }
.pt2-topic li + li { margin-top:.45rem; }
.pt2-guide-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:3rem; }
.pt2-guide { display:block; padding:1.4rem 0; border-top:1px solid var(--pt2-line); text-decoration:none; }
.pt2-guide strong { display:block; font-size:1.23rem; line-height:1.35; margin-bottom:.5rem; }
.pt2-guide span { display:block; font-size:.96rem; color:var(--pt2-muted); }
.pt2-guide:hover strong { text-decoration:underline; text-underline-offset:.2em; }
.pt2-city-list { display:flex; flex-wrap:wrap; gap:.5rem 1.2rem; padding:0; list-style:none; }
.pt2-city-list a { display:inline-block; padding:.4rem 0; }
.pt2-trust { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:3rem; border-top:1px solid var(--pt2-line); padding-top:2rem; }
.pt2-trust p { color:var(--pt2-muted); }
.pt2-archive { margin:1.5rem 0 3rem; border-top:1px solid var(--pt2-line); padding-top:1.5rem; }
.pt2-archive > summary { font-weight:650; font-size:1.18rem; cursor:pointer; padding:.6rem 0; }
.pt2-archive .hero, .pt2-archive .compact-info { display:none; }
.pt2-archive .shell { width:100%; }
.pt2-archive .section { padding:1.5rem 0; }
.pt2-archive .eyebrow { display:none; }
.pt2-transport { margin:0; }
.pt2-transport dt { font-weight:650; margin-top:1.1rem; }
.pt2-transport dd { margin:.2rem 0 0; font-size:.95rem; line-height:1.6; color:#345a51; }
.pt2-region { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:3rem; }
.pt2-region ul { padding-left:1.2rem; }
.pt2-region li + li { margin-top:.9rem; }
.pt2-checklist { background:#e2efea; padding:1.4rem 1.6rem; border-radius:16px; }
.pt2-checklist h3 { margin-top:0; }
.pt2-source-links { font-size:.9rem; }
.pt2-paths { margin:1rem 0 2rem; padding:1.3rem 1.5rem; background:#e2efea; border-radius:16px; }
.pt2-paths h2 { font-size:1.45rem; }
.pt2-paths ul { margin-bottom:0; padding-left:1.2rem; }
.pt2-paths li + li { margin-top:.6rem; }
.pt2 .page-intro .eyebrow { display:none; }
.pt2 .page-intro { padding:2rem 0 1rem; }
.pt2 .content-section { padding-top:1rem; }
.pt2 .prose { max-width:72ch; }
.pt2 .prose.pt-card { background:transparent; border-radius:0; box-shadow:none; border:0; padding:0; }
.pt2 .pt-services-context { margin:0; }
.pt2 .prose h2 { margin-top:2.2rem; margin-bottom:.8rem; font-size:1.55rem; }
.pt2 .affiliate-slot { margin-top:2rem; background:#edf5f1; padding:1.3rem; border-radius:12px; }
.pt2 .pt-ad-label { color:#36564c; font-size:.84rem; overflow-wrap:anywhere; }
.pt2 .breadcrumbs { font-size:.87rem; overflow-wrap:anywhere; }
.pt2 .breadcrumbs li { max-width:100%; }
.pt2 .site-footer { margin-top:2rem; }
@media (min-width:901px) { .pt2 .site-header .desktop-nav { display:flex; } .pt2 .site-header .mobile-nav { display:none; } }
@media (max-width:900px) { .pt2 .site-header .desktop-nav { display:none; } .pt2 .site-header .mobile-nav { display:block; } .pt2-topic-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .pt2-topic:nth-child(3n) { border-right:1px solid var(--pt2-line); } .pt2-topic:nth-child(2n) { border-right:0; } .pt2-topic:nth-last-child(-n+3) { border-bottom:1px solid var(--pt2-line); } .pt2-topic:nth-last-child(-n+2) { border-bottom:0; } }
@media (max-width:640px) { .pt2 .shell { width:calc(100% - 2rem); } .pt2 .header-row { gap:.7rem; flex-wrap:wrap; padding-block:.65rem; } .pt2 .brand { min-width:0; flex:1; } .pt2 .brand img { width:132px; } .pt2 .pt-services-nav { flex-basis:100%; width:100%; margin:0; justify-content:space-between; } .pt2-hero-grid, .pt2-region, .pt2-trust { grid-template-columns:1fr; gap:1.6rem; } .pt2-hero { padding-top:1.8rem; } .pt2 h1 { font-size:2.45rem; max-width:18ch; } .pt2-lead { font-size:1.05rem; } .pt2-planner { padding:1.3rem; } .pt2-topic-grid { display:block; } .pt2-topic { border-right:0!important; border-bottom:1px solid var(--pt2-line)!important; padding:1.25rem; } .pt2-topic:last-child { border-bottom:0!important; } .pt2-guide-grid { grid-template-columns:1fr; } .pt2-section { padding:1.5rem 0; } .pt2-guide { padding:1.1rem 0; } .pt2-trust { gap:1rem; } .pt2 .pt-services-menu nav { right:0; max-width:calc(100vw - 2rem); } }
@media (prefers-reduced-motion:no-preference) { .pt2-button { transition:background-color .16s ease-out; } .pt2-guide strong { transition:color .16s ease-out; } }
