/* Full-width surfaces with the homepage typography, spacing and footer. */
.subpage-layout{--page-gutter:clamp(24px,4.2vw,96px);--page-space:clamp(40px,4.5vw,72px);--peach:#f9e2d6;color:var(--ink);background:var(--cream);font-family:Arial,Helvetica,sans-serif}
.subpage-layout .site-shell{width:100%;max-width:none;margin:0;min-height:100svh;display:flex;flex-direction:column}
.subpage-layout .site-header{padding:20px var(--page-gutter);gap:28px;flex:none}
.subpage-layout .site-header .brand img{width:166px}
.subpage-layout .site-header nav{gap:clamp(14px,1.45vw,28px)}
.subpage-layout .site-header nav a{font-size:13px}
.subpage-layout .site-header nav a[aria-current=page]{color:var(--red)}
.subpage-layout main{flex:1;min-width:0}
.subpage-layout .page-main,.subpage-layout .doc,.subpage-layout .billing-shell{width:100%;max-width:none;margin:0;padding:var(--page-space) var(--page-gutter)}
.subpage-layout .page-intro{max-width:none;margin-bottom:44px}
.subpage-layout .page-intro .eyebrow,.subpage-layout .partners-intro .eyebrow,.subpage-layout .billing-eyebrow{font-size:11px;letter-spacing:1.4px;margin-bottom:16px}
.subpage-layout .page-intro h1,.subpage-layout .partners-intro h1,.subpage-layout .billing-intro h1,.subpage-layout .doc>h1{font-size:clamp(36px,4.4vw,58px);line-height:1.1;letter-spacing:-.045em;font-weight:800;margin-bottom:22px}
.subpage-layout .page-intro>p:last-child,.subpage-layout .partners-intro p,.subpage-layout .billing-intro>p:last-child{font-size:17px;line-height:1.75;max-width:68ch}
.subpage-layout .button{min-height:48px;border-radius:12px;padding:13px 21px}
.subpage-layout .button-coral{color:var(--ink)}
.subpage-layout .panel-card{padding:clamp(24px,2.5vw,38px);border-radius:20px}
.subpage-layout .accent-card{background:var(--peach);border-color:#eed1c0}
.subpage-layout .panel-grid{gap:clamp(24px,3vw,48px)}
.subpage-layout .panel-card h2{font-size:27px;letter-spacing:-.035em}
.subpage-layout .panel-card p{max-width:68ch}
.subpage-layout .contact-note{max-width:none}
.subpage-layout .faq-group summary{min-height:70px;gap:24px;padding:18px 0;font-size:16px;line-height:1.45}
.subpage-layout .faq-group summary::after{font-size:25px;color:var(--muted)}
.subpage-layout .faq-group h2{font-size:27px;letter-spacing:-.035em;margin-bottom:22px}
.subpage-layout .faq-group .details-body{font-size:15px;line-height:1.75;padding-bottom:26px;max-width:78ch}
.subpage-faq .page-main{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:54px clamp(40px,5vw,96px);align-content:start}
.subpage-faq .page-intro{grid-column:1/-1;margin-bottom:0}
.subpage-faq .faq-group{margin:0;min-width:0}

/* Partner information: an edge-to-edge intro and readable editorial columns. */
.subpage-partner-info .page-main{padding-top:0}
.subpage-partner-info .partner-hero{width:calc(100% + 2 * var(--page-gutter));max-width:none;margin:0 calc(-1 * var(--page-gutter));padding:var(--page-space) var(--page-gutter);border-radius:0;background:var(--peach);border-bottom:1px solid #eed1c0}
.subpage-partner-info .partner-hero h1{max-width:none}
.subpage-partner-info .editorial-steps{gap:clamp(28px,4vw,72px);margin:60px 0}
.subpage-partner-info .editorial-steps article{padding-top:26px}
.subpage-partner-info .editorial-steps h2{font-size:28px;letter-spacing:-.035em;margin:16px 0}
.subpage-partner-info .editorial-steps p{font-size:16px;line-height:1.75;max-width:52ch}
.subpage-partner-info .contact-note,.subpage-partner-info .faq-group{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.6fr);gap:0 clamp(40px,5vw,96px);border-left:0;border-top:1px solid var(--line);padding:42px 0;margin:0}
.subpage-partner-info .contact-note h2,.subpage-partner-info .faq-group h2{grid-column:1;grid-row:1/span 10;font-size:32px;line-height:1.2;letter-spacing:-.035em}
.subpage-partner-info .contact-note>p,.subpage-partner-info .contact-note>a,.subpage-partner-info .faq-group>details{grid-column:2}
.subpage-partner-info .contact-note>p{max-width:78ch;line-height:1.75}
.subpage-partner-info .contact-note>a{justify-self:start}
.subpage-partner-info .faq-group>details:first-of-type{border-top:0}

/* Document sections retain their text and anchor IDs. */
.subpage-document .doc{font-size:16px;line-height:1.8}
.subpage-document .doc>.lede{max-width:78ch;font-size:18px}
.subpage-document .doc>.callout,.subpage-document .doc>p:not(.eyebrow):not(.doc-meta){max-width:88ch}
.subpage-document .doc .subpage-doc-section{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(0,2fr);column-gap:clamp(40px,5vw,96px);padding:32px 0 18px;margin-top:26px;border-top:1px solid var(--line)}
.subpage-document .doc .subpage-doc-section>h2{margin:0;font-size:25px;line-height:1.3;letter-spacing:-.035em}
.subpage-document .subpage-doc-copy{min-width:0}
.subpage-document .subpage-doc-copy>p,.subpage-document .subpage-doc-copy>ul,.subpage-document .subpage-doc-copy>ol{max-width:88ch}
.subpage-document .subpage-doc-copy>:first-child{margin-top:0}
.subpage-document .doc table{font-size:15px;background:var(--paper);border-radius:12px}
.subpage-document .doc .form-example{max-width:none}

.subpage-login .auth-layout{max-width:560px}
.subpage-login .auth-layout .page-intro h1{font-size:clamp(36px,4.4vw,58px)}
.subpage-login .auth-layout>.small{line-height:1.75;margin-top:22px}
.subpage-login .form-stack{gap:20px}
.subpage-account .account-strip,.subpage-routes .account-strip{border-bottom:1px solid var(--line);padding-bottom:22px;margin-bottom:32px}
.subpage-account .contact-note{margin-top:42px}
.subpage-routes .routes-list{grid-template-columns:repeat(auto-fit,minmax(min(100%,330px),1fr));gap:28px}
.subpage-routes .route-card .small-map{height:230px}
.subpage-routes .route-card-body{padding:24px}

/* Maps keep their own controls, status colours and fullscreen mode. */
.subpage-planner .route-planner{--coral:#f66053;--paper:#fffcf7;--ink:#242b2a;--line:#ddd1c2;--muted:#625b52}
.subpage-planner .planner-heading h1{font-size:clamp(32px,3.2vw,48px);letter-spacing:-.04em}
.subpage-planner .planner-body{gap:30px}
.subpage-partners .partners-intro{margin-bottom:36px}
.subpage-partners .partners-filters{padding:24px}
.subpage-partners .partners-content{gap:30px}

.subpage-billing .billing-shell{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:32px clamp(40px,5vw,96px);align-content:start;align-items:start}
.subpage-billing .billing-intro,.subpage-billing .billing-shell>.billing-card,.subpage-billing .billing-shell>noscript{grid-column:1/-1}
.subpage-billing .billing-intro{margin-bottom:12px}
.subpage-billing .subpage-billing-overview,.subpage-billing .subpage-billing-actions{min-width:0}
.subpage-billing .billing-current{padding:clamp(24px,2.5vw,38px)}
.subpage-billing .billing-current .billing-status-title{font-size:30px}
.subpage-billing .billing-section{margin-top:0}
.subpage-billing .billing-shell>.billing-card{margin-bottom:0}
.subpage-billing .billing-primary{border-radius:12px}
.subpage-billing .billing-history-row{font-size:15px;padding:20px 0}

/* Footer branding uses the existing PNG, with its internal left padding offset. */
.subpage-layout .site-footer,.subpage-layout .simple-footer{flex:none;margin:0;padding:52px var(--page-gutter) 24px;border:0;border-top:1px solid var(--line);border-radius:0;background:#efe8dd}
.subpage-layout .subpage-footer-brand{display:block;margin:0;padding:8px 0;font-size:0;line-height:0;letter-spacing:0}
.subpage-layout .subpage-footer-brand img{display:block;width:174px;height:auto;mix-blend-mode:darken;transform:translateX(-7.722222%)}
.subpage-layout .site-footer{display:grid;grid-template-columns:1fr 1.2fr;column-gap:64px}
.subpage-layout .site-footer .footer-top{display:block;padding:0;margin:0;border:0}
.subpage-layout .footer-top p{font-size:14px;margin-top:8px}
.subpage-layout .footer-dots{margin-top:24px;gap:8px}
.subpage-layout .footer-dots i{width:10px;height:10px;background:var(--coral)}
.subpage-layout .footer-dots i:nth-child(2){background:#e6ad53}
.subpage-layout .footer-dots i:nth-child(3){background:#86a7c0}
.subpage-layout .footer-grid{gap:24px}
.subpage-layout .footer-grid h2{font-size:13px;margin-bottom:14px}
.subpage-layout .footer-grid a{display:flex;align-items:center;min-height:40px;font-size:13px;padding:4px 0;text-decoration:none}
.subpage-layout .footer-grid a:hover{text-decoration:underline}
.subpage-layout .footer-legal{grid-column:1/-1;margin-top:34px;gap:8px 24px}
.subpage-layout .footer-legal a{display:flex;align-items:center;min-height:40px;font-size:12px}
.subpage-layout .footer-bottom{grid-column:1/-1;margin-top:20px;padding-top:20px;border-color:var(--line);font-size:11px;color:var(--muted)}
.subpage-layout .simple-footer{display:grid;grid-template-columns:minmax(280px,1fr) repeat(3,auto);gap:10px 32px;align-content:start;align-items:start;padding-bottom:40px}
.subpage-layout .simple-footer>strong{grid-column:1;grid-row:1}
.subpage-layout .simple-footer>a:not(.subpage-footer-tagline){display:flex;align-items:center;min-height:40px;font-size:13px;grid-row:1}
.subpage-layout .simple-footer .subpage-footer-tagline{grid-column:1;grid-row:2;font-size:14px;text-decoration:none;color:var(--ink)}
.subpage-layout .simple-footer::after{content:"";display:block;grid-column:1;grid-row:3;width:46px;height:10px;margin-top:10px;background:radial-gradient(circle at 5px 5px,#f66053 4.8px,transparent 5px),radial-gradient(circle at 23px 5px,#e6ad53 4.8px,transparent 5px),radial-gradient(circle at 41px 5px,#86a7c0 4.8px,transparent 5px)}

@media(min-width:1100px){
 .subpage-login .auth-layout{max-width:none;margin:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,560px);column-gap:clamp(64px,8vw,160px);row-gap:22px}
 .subpage-login .auth-layout>.page-intro{grid-column:1;grid-row:1/span 4;max-width:640px}
 .subpage-login .auth-layout>:not(.page-intro){grid-column:2}
 .subpage-login .auth-layout>.small{margin-top:0}
 .subpage-planner .planner-body{grid-template-columns:minmax(0,1fr) clamp(340px,26vw,460px)}
 .subpage-planner .map-stage:not(.fullscreen){height:clamp(480px,62svh,760px)}
 .subpage-partners .partners-content{grid-template-columns:clamp(340px,29vw,520px) minmax(0,1fr)}
 .subpage-partners #partner-map{height:clamp(460px,62svh,720px)}
 .subpage-partners .partner-list{max-height:calc(clamp(460px,62svh,720px) + 100px)}
}
@media(max-width:1050px){
 .subpage-layout .site-header{padding:16px var(--page-gutter);gap:16px}
 .subpage-layout .site-header nav{gap:0}
 .subpage-layout .site-header nav a{font-size:15px}
 .subpage-layout .simple-footer{grid-template-columns:minmax(220px,1fr) repeat(3,auto);gap:10px 22px}
 .subpage-billing .billing-shell{column-gap:32px}
 .subpage-billing .billing-plan,.subpage-billing .billing-plan[aria-checked=true]{gap:10px;padding-inline:14px}
}
@media(max-width:850px){
 .subpage-billing .billing-shell{display:block}
 .subpage-billing .billing-intro{margin-bottom:32px}
 .subpage-billing .billing-current{margin-bottom:32px}
 .subpage-document .doc .subpage-doc-section{grid-template-columns:minmax(180px,.85fr) minmax(0,1.7fr);column-gap:32px}
}
@media(max-width:760px){
 .subpage-layout{--page-space:36px}
 .subpage-layout .page-intro h1,.subpage-layout .partners-intro h1,.subpage-layout .billing-intro h1,.subpage-layout .doc>h1,.subpage-login .auth-layout .page-intro h1{font-size:clamp(32px,7.5vw,40px)}
 .subpage-layout .page-intro{margin-bottom:32px}
 .subpage-layout .page-intro>p:last-child,.subpage-layout .partners-intro p,.subpage-layout .billing-intro>p:last-child{font-size:15px}
 .subpage-layout .panel-card{padding:24px}
 .subpage-layout .panel-grid{grid-template-columns:1fr}
 .subpage-faq .page-main{grid-template-columns:1fr;gap:40px}
 .subpage-faq .page-intro{margin-bottom:0}
 .subpage-layout .faq-group h2{font-size:25px}
 .subpage-layout .faq-group summary{font-size:15px;min-height:66px}
 .subpage-partner-info .editorial-steps{grid-template-columns:1fr;gap:30px;margin:36px 0}
 .subpage-partner-info .editorial-steps h2{font-size:26px}
 .subpage-partner-info .editorial-steps p{font-size:15px}
 .subpage-partner-info .contact-note,.subpage-partner-info .faq-group{display:block;padding:32px 0}
 .subpage-partner-info .contact-note h2{font-size:28px}
 .subpage-document .doc{font-size:15px}
 .subpage-document .doc .subpage-doc-section{display:block;padding-top:28px;margin-top:22px}
 .subpage-document .doc .subpage-doc-section>h2{font-size:23px;margin-bottom:20px}
 .subpage-document .doc table{font-size:13px}
 .subpage-planner .planner-body{gap:0}
 .subpage-partners .partners-filters{padding:16px}
 .subpage-billing .billing-current{padding:22px}
 .subpage-billing .billing-current .billing-status-title{font-size:24px}
 .subpage-layout .site-footer{grid-template-columns:1fr;gap:30px;padding-top:40px}
 .subpage-layout .footer-legal{margin:0;gap:4px 22px}
 .subpage-layout .footer-bottom{margin:0}
 .subpage-layout .simple-footer{display:flex;flex-wrap:wrap;gap:14px 24px;padding-top:32px}
 .subpage-layout .simple-footer>strong{order:0;flex-basis:100%}
 .subpage-layout .simple-footer .subpage-footer-tagline{order:1;flex-basis:100%}
 .subpage-layout .simple-footer::after{order:2;flex-basis:100%;margin:4px 0 8px}
 .subpage-layout .simple-footer>a:not(.subpage-footer-tagline){order:3}
}
@media(max-width:420px){
 .subpage-layout{--page-gutter:22px}
 .subpage-layout .site-header .brand img{width:146px}
 .subpage-layout .footer-grid{grid-template-columns:1fr;gap:22px}
 .subpage-layout .footer-contact,.subpage-layout .footer-help{display:block}
 .subpage-billing .billing-current{padding:18px}
 .subpage-billing .billing-plan-name{font-size:15px}
 .subpage-billing .billing-plan,.subpage-billing .billing-plan[aria-checked=true]{gap:8px;padding-inline:12px}
 .subpage-billing .billing-plan-amount{flex-direction:column;align-items:flex-end;gap:0}
}
@media print{
 .subpage-layout .site-header,.subpage-layout .site-footer,.subpage-layout .simple-footer{display:none}
 .subpage-layout .site-shell{display:block;min-height:0}
 .subpage-layout .doc{padding:0}
 .subpage-document .doc .subpage-doc-section{display:block;border:0;padding:0}
 .subpage-document .doc .subpage-doc-section>h2{margin-bottom:12px;break-after:avoid}
 .subpage-document .subpage-doc-copy>p,.subpage-document .subpage-doc-copy>ul,.subpage-document .subpage-doc-copy>ol{max-width:none}
}

/* 1.0.5: the same social row as the homepage, replacing the three decorative dots. */
.subpage-layout .footer-socials{display:flex;align-items:center;gap:6px;width:max-content;max-width:calc(100% + 10px);margin:18px 0 0 -10px;padding:0}
.subpage-layout .footer-socials .social-link{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;padding:0;color:var(--ink);background:transparent;border:0;border-radius:0;text-decoration:none;transition:color .16s}
.subpage-layout .footer-socials svg{display:block;width:24px;height:24px}
.subpage-layout .footer-socials a:hover{color:var(--coral)}
.subpage-layout .footer-socials a:focus-visible{color:var(--coral);outline:2px solid currentColor;outline-offset:2px}
.subpage-layout .simple-footer.has-footer-socials::after{display:none}
.subpage-layout .simple-footer .footer-socials{grid-column:1;grid-row:3;margin-top:6px}
@media(max-width:760px){.subpage-layout .simple-footer .footer-socials{order:2;flex-basis:100%;margin-top:0;margin-bottom:4px}}
@media(prefers-reduced-motion:reduce){.subpage-layout .footer-socials .social-link{transition:none}}
