/* ============================================================
   Princeton Private Car — pages.css
   Inner-page additions. Uses the same design tokens as style.css
   ============================================================ */
.page-hero { position: relative; padding: 9.5rem 0 5rem; overflow: hidden; background: var(--c-bg); border-bottom: 1px solid var(--c-b1); }
.page-hero .page-hero-bg { position: absolute; inset: 0; z-index: 0; }
.page-hero .page-hero-bg img { width: 100%; height: 100%; object-fit: cover; filter: brightness(.9); }
.page-hero .page-hero-bg::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,.35) 0%, rgba(10,10,10,.94) 100%); }
.page-hero .container-inner { position: relative; z-index: 1; }
.breadcrumb { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; font-size: .72rem; letter-spacing: .2em; text-transform: uppercase; color: var(--c-t2); margin-bottom: 1.5rem; }
.breadcrumb a { color: var(--c-t2); }
.breadcrumb a:hover { color: var(--c-or); }
.breadcrumb .sep { color: var(--c-or); font-size: .6rem; }
.breadcrumb .current { color: var(--c-or); }
.page-section { background: var(--c-bg); padding: 6rem 0; }
.page-section.alt { background: var(--c-bg-3); border-top: 1px solid var(--c-b1); border-bottom: 1px solid var(--c-b1); }
.panel { background: var(--c-bg-2); border: 1px solid var(--c-b1); border-radius: 2px; transition: border-color .3s ease, box-shadow .3s ease; }
.panel:hover { border-color: var(--c-or); box-shadow: var(--sh-card); }
.panel-static:hover { border-color: var(--c-b1); box-shadow: none; }
.icon-box { width: 3rem; height: 3rem; display: flex; align-items: center; justify-content: center; background: var(--c-bg-3); border: 1px solid var(--c-b2); color: var(--c-or); transition: background-color .25s ease, color .25s ease; }
.panel:hover .icon-box { background: var(--c-or); color: #fff; }
.check-list li { display: flex; align-items: flex-start; gap: .75rem; color: var(--c-t2); font-weight: 300; }
.check-list li i { color: var(--c-or); margin-top: .35rem; font-size: .7rem; }
.stat-num { font-family: 'Cormorant Garamond', serif; font-weight: 700; color: var(--c-or); font-size: 2.1rem; line-height: 1; }
.faq-item { background: var(--c-bg-2); border: 1px solid var(--c-b1); border-radius: 2px; }
.faq-item summary { cursor: pointer; list-style: none; padding: 1.15rem 1.5rem; display: flex; justify-content: space-between; align-items: center; gap: 1rem; font-family: 'Cormorant Garamond', serif; font-size: 1.3rem; color: var(--c-t1); }
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary i { color: var(--c-or); font-size: .75rem; transition: transform .25s ease; }
.faq-item[open] { border-color: var(--c-or-border); }
.faq-item[open] summary i { transform: rotate(45deg); }
.faq-item p { padding: 0 1.5rem 1.35rem; color: var(--c-t2); font-weight: 300; font-size: .95rem; }
.fact-row { display: flex; justify-content: space-between; gap: 1rem; padding: .85rem 0; border-bottom: 1px solid var(--c-b1); font-size: .85rem; }
.fact-row:last-child { border-bottom: 0; }
.fact-row span:first-child { color: var(--c-t2); letter-spacing: .12em; text-transform: uppercase; font-size: .7rem; font-weight: 600; }
.fact-row span:last-child { color: var(--c-t1); text-align: right; }
.tag-chip { display: inline-block; padding: .35rem .8rem; border: 1px solid var(--c-or-border); background: var(--c-or-fill); color: var(--c-or); font-size: .7rem; letter-spacing: .18em; text-transform: uppercase; font-weight: 600; border-radius: 2px; }
.img-frame { position: relative; overflow: hidden; border: 1px solid var(--c-b1); border-radius: 2px; box-shadow: 0 10px 40px rgba(0,0,0,.5); }
.img-frame img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s ease; }
.img-frame:hover img { transform: scale(1.05); }
.link-pill { display: flex; align-items: center; justify-content: space-between; padding: 1rem 1.25rem; background: var(--c-bg-2); border: 1px solid var(--c-b1); border-radius: 2px; color: var(--c-t1); font-size: .8rem; letter-spacing: .12em; text-transform: uppercase; font-weight: 600; transition: border-color .25s ease, color .25s ease; }
.link-pill:hover { border-color: var(--c-or); color: var(--c-or); }
.link-pill i { color: var(--c-or); font-size: .65rem; }
.timeline-dot { width: .75rem; height: .75rem; background: var(--c-or); border-radius: 999px; box-shadow: 0 0 0 4px var(--c-or-glow); }
@media (max-width: 767px) { .page-hero { padding: 8rem 0 3.5rem; } .page-section { padding: 4rem 0; } body { padding-bottom: 4.5rem; } }
