/* A dedicated, spacious service page using the site's existing brand and fonts. */
.punctual-page main {background:#fff}
.punctual-hero {padding:64px 32px 0;max-width:1504px;margin:auto}
.punctual-hero-copy {max-width:1000px;margin:0 auto;text-align:center;padding:20px 0 44px}
.punctual-hero h1 {font-size:clamp(48px,6vw,84px);line-height:1.02;letter-spacing:-.045em;margin:0 0 28px;text-wrap:balance}
.punctual-hero h1 span {color:#bd2027}
.punctual-hero-copy>p:not(.eyebrow) {font-size:21px;line-height:1.55;max-width:52ch;margin:0 auto 28px;color:#514c47}
.punctual-actions {display:flex;align-items:center;justify-content:center;gap:28px;flex-wrap:wrap}
.punctual-page .punctual-actions .button {border-radius:12px}
.punctual-reassurance {display:flex;flex-wrap:wrap;gap:12px 28px;justify-content:center;margin-top:28px;font-size:14px;color:#514c47}
.punctual-reassurance span::before {content:'✓';color:#b71e25;margin-right:8px;font-weight:700}
.punctual-hero-photo {position:relative;margin:0;border-radius:40px;overflow:hidden;background:#f5f3ee;height:clamp(280px,35vw,500px)}
.punctual-hero-photo img {display:block;width:100%;height:100%;object-fit:cover;object-position:50% 45%}
.punctual-hero-photo figcaption {position:absolute;bottom:24px;right:24px;background:#fff;border-radius:14px;padding:16px 22px;font-size:18px;font-weight:700;color:#23211f}
.punctual-page main>.punctual-panel {width:calc(100% - 64px);max-width:1440px;margin:28px auto;padding:64px;border-radius:40px;background:#f7f5f0;border:1px solid #ebe7e0}
.punctual-heading {text-align:center;max-width:840px;margin:0 auto 38px}
.punctual-heading h2 {margin:0 auto 20px;max-width:26ch}
.punctual-heading>p:not(.eyebrow) {font-size:18px;line-height:1.6;color:#514c47;margin:0 auto;max-width:55ch}
.punctual-page .punctual-cards {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding:0;list-style:none;margin:0}
.punctual-cards>article,.punctual-cards>li {padding:30px;background:#fff;border:1px solid #e7e2da;border-radius:22px}
.punctual-number {display:inline-flex;align-items:center;justify-content:center;border:1px solid #e8d7d3;width:38px;height:38px;border-radius:50%;font-size:13px;color:#b32027;background:#fff}
.punctual-cards h3 {font-size:25px;line-height:1.15;margin:24px 0 16px}
.punctual-page .punctual-cards p {font-size:17px;line-height:1.65;color:#514c47;margin:0}
.punctual-page main>.punctual-split {display:grid;grid-template-columns:1fr 1fr;gap:56px;background:#fff;padding:32px;align-items:center}
.punctual-image {height:100%;min-height:500px;border-radius:26px;overflow:hidden}
.punctual-image img {width:100%;height:100%;object-fit:cover;object-position:70% center;display:block}
.punctual-copy {padding:24px 24px 24px 0}
.punctual-copy h2 {margin:0 0 24px}
.punctual-copy>p:not(.eyebrow) {font-size:18px;line-height:1.65;color:#514c47}
.punctual-list {list-style:none;padding:0;margin:28px 0 0}
.punctual-list li {padding:18px 0;border-top:1px solid #e8e3dc;font-size:17px;line-height:1.55}
.punctual-list strong,.punctual-list span {display:block}
.punctual-list span {color:#514c47;margin-top:5px}
.punctual-page main>.punctual-process {background:linear-gradient(175deg,#fff 0%,#fff 68%,#fff8f6 87%,#f9e2de 100%);text-align:center}
.punctual-process .punctual-cards {text-align:left}
.punctual-process>.button {margin-top:32px;border-radius:12px}
.punctual-page main>.punctual-expectations {display:grid;grid-template-columns:1fr 1fr;gap:64px}
.punctual-expectations h2 {margin-bottom:0}
.punctual-expectations p:not(.eyebrow) {font-size:18px;line-height:1.65;color:#514c47}
.punctual-expectations .text-link {display:inline-flex;margin-top:22px}
.punctual-page .punctual-faq {padding:64px 32px;max-width:1280px;border:0}
.punctual-page .quote-section {margin-bottom:48px}
@media(max-width:1000px){
.punctual-page main>.punctual-panel {padding:36px}
.punctual-page .punctual-cards {gap:12px}
.punctual-cards>article,.punctual-cards>li {padding:24px}
.punctual-page main>.punctual-split {grid-template-columns:1fr;gap:24px;padding:28px}
.punctual-image {min-height:0;height:380px}
.punctual-copy {padding:8px}
.punctual-page main>.punctual-expectations {grid-template-columns:1fr;gap:24px}
}
@media(max-width:650px){
.punctual-hero {padding:36px 16px 0}
.punctual-hero-copy {padding:12px 6px 32px}
.punctual-hero h1 {font-size:46px;letter-spacing:-.04em;margin-bottom:24px}
.punctual-hero-copy>p:not(.eyebrow) {font-size:18px}
.punctual-actions {gap:20px;flex-direction:column}
.punctual-actions .button {width:100%;max-width:360px}
.punctual-reassurance {gap:8px 16px;font-size:13px}
.punctual-hero-photo {border-radius:24px;height:290px}
.punctual-hero-photo img {object-position:34% center}
.punctual-hero-photo figcaption {bottom:16px;right:16px;left:16px;padding:12px;text-align:center;font-size:15px}
.punctual-page main>.punctual-panel {width:calc(100% - 32px);padding:28px 20px;border-radius:26px;margin:20px auto}
.punctual-page .punctual-cards {grid-template-columns:1fr;gap:12px}
.punctual-cards>article,.punctual-cards>li {padding:24px}
.punctual-cards h3 {font-size:25px;margin:16px 0 12px}
.punctual-page main>.punctual-split {padding:16px;gap:20px}
.punctual-image {height:260px;border-radius:18px}
.punctual-heading {margin-bottom:28px}
.punctual-page main h2 {font-size:34px}
.punctual-page .punctual-faq {padding:36px 4px}
.punctual-expectations p:not(.eyebrow),.punctual-copy>p:not(.eyebrow) {font-size:17px}
}
.punctual-hero-copy>.eyebrow,.punctual-heading>.eyebrow {justify-content:center;margin-inline:auto;width:fit-content}
