/* Secondary pages inherit the validated homepage tokens and components. */
.landing-page--guide .landing-prose,.landing-page--access .landing-prose { max-width:none; }
.landing-page--guide .landing-prose > p,.landing-page--access .landing-prose > p { max-width:var(--content-width); }
.landing-page--guide .landing-hero h1,.landing-page--access .landing-hero h1 { font-size:clamp(2.2rem,4vw,3.4rem); }
.practical-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--space-6); margin-block:var(--space-8); }
.practical-grid > .wp-block-group__inner-container { display:contents; }
.practical-grid--two { grid-template-columns:repeat(2,minmax(0,1fr)); }
.practical-card { min-width:0; padding:var(--space-8); border:var(--card-border); border-radius:var(--card-radius); box-shadow:var(--card-shadow); background:var(--color-background); }
.landing-prose .practical-card h3 { margin-top:0; line-height:var(--line-height-heading); }
.landing-prose .practical-card p { font-size:var(--font-size-card); color:var(--color-text-muted); }
.practical-card > :last-child { margin-bottom:0; }
.practical-card--photo { padding:0 0 var(--space-6); overflow:hidden; }
.practical-card--photo .wp-block-image { margin:0 0 var(--space-6); }
.practical-card--photo .wp-block-image img { width:100%; aspect-ratio:16/10; object-fit:cover; display:block; }
.landing-prose .practical-card--photo h3,.landing-prose .practical-card--photo p { margin-inline:var(--space-6); }
.practical-card--photo .wp-element-caption { font-size:var(--font-size-sm); color:var(--color-text-muted); line-height:1.5; margin:var(--space-3) var(--space-6) 0; }
.practical-card--bus::before,.practical-card--train::before,.practical-card--parking::before { content:''; display:block; width:var(--icon-lg); height:var(--icon-lg); margin-bottom:var(--space-5); background:var(--color-primary); mask:var(--practical-icon) center / contain no-repeat; }
.practical-card--bus { --practical-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='6' y='3' width='20' height='24' rx='4'/%3E%3Cpath d='M6 9h20M6 18h20M16 9v9M9 27v3M23 27v3M3 11v6M29 11v6M10 23h2M20 23h2'/%3E%3C/svg%3E"); }
.practical-card--train { --practical-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='7' y='3' width='18' height='22' rx='5'/%3E%3Cpath d='M7 9h18M7 17h18M16 9v8M11 21h1M20 21h1M12 25l-4 5M20 25l4 5M10 28h12'/%3E%3C/svg%3E"); }
.practical-card--parking { --practical-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='3' width='24' height='26' rx='4'/%3E%3Cpath d='M12 24V9h5a5 5 0 0 1 0 10h-5'/%3E%3C/svg%3E"); }
.practical-callout { background:var(--color-primary-light); padding:var(--space-8); border-radius:var(--radius-lg); margin-block:var(--space-10); }
.landing-prose .practical-callout h2 { margin-top:0; }
.practical-actions { display:flex; flex-wrap:wrap; gap:var(--space-3); }
.practical-actions .wp-block-button__link { background:var(--color-action); color:var(--color-action-text); border-radius:var(--radius-sm); padding:var(--space-3) var(--space-6); min-height:var(--button-height); display:inline-flex; align-items:center; font-weight:var(--font-weight-semibold); text-decoration:none; }
.practical-actions .wp-block-button__link:hover { background:var(--color-action-hover); }
.practical-sources { margin-top:var(--space-12); padding-top:var(--space-6); border-top:var(--card-border); font-size:var(--font-size-card-meta); color:var(--color-text-muted); overflow-wrap:anywhere; }
.landing-prose .practical-sources h2 { font-size:var(--font-size-xl); margin-top:0; }
.landing-prose .wp-block-details { padding:var(--space-5) 0; border-bottom:var(--card-border); }
.landing-prose .wp-block-details summary { cursor:pointer; font-weight:var(--font-weight-semibold); color:var(--color-text); }
.landing-prose .wp-block-details p { margin-top:var(--space-4); margin-bottom:0; }
@media(max-width:70rem) { .practical-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:47.99rem) { .practical-grid,.practical-grid--two { grid-template-columns:1fr; gap:var(--space-4); } .practical-card,.practical-callout { padding:var(--space-6); } .practical-card--photo { padding:0 0 var(--space-6); } .practical-actions .wp-block-button { width:100%; } .practical-actions .wp-block-button__link { width:100%; justify-content:center; } }
.site-main:not(.home-main) { padding-top: var(--space-6); }
.landing-breadcrumb { display:flex; flex-wrap:wrap; gap:var(--space-2); font-size:var(--font-size-sm); color:var(--color-text-muted); margin-bottom:var(--space-6); }
.landing-breadcrumb a { color:var(--color-text-muted); }
.landing-hero { padding:var(--space-12); border-radius:var(--radius-lg); background:var(--color-surface); overflow:hidden; }
.landing-hero--photo { display:grid; grid-template-columns:1.05fr 1fr; padding:0; min-height:30rem; }
.landing-hero__copy { padding:var(--space-12); align-self:center; }
.landing-hero:not(.landing-hero--photo) .landing-hero__copy { padding:0; max-width:var(--content-width); }
.landing-eyebrow { color:var(--color-primary); font-size:var(--font-size-card-meta); font-weight:var(--font-weight-semibold); margin:0 0 var(--space-4); }
.landing-hero h1 { font-size:var(--font-size-hero); line-height:var(--line-height-heading); letter-spacing:-.025em; margin:0 0 var(--space-6); text-wrap:balance; }
.landing-lead { color:var(--color-text-muted); font-size:var(--font-size-lg); line-height:1.65; margin-bottom:var(--space-6); }
.landing-actions { display:flex; flex-wrap:wrap; align-items:center; gap:var(--space-3); }
.landing-reassurance { display:flex; gap:var(--space-2); align-items:center; font-size:var(--font-size-card-meta); margin:var(--space-5) 0 0; color:var(--color-primary-dark); }
.landing-reassurance .cdi-icon { flex-shrink:0; }
.landing-hero__image { min-width:0; background:var(--color-surface-warm); }
.landing-hero__image img { display:block; height:100%; width:100%; object-fit:cover; }
.landing-page--team .landing-hero__image { display:flex; align-items:center; justify-content:center; padding:var(--space-8); background:var(--color-primary-light); }
.landing-page--team .landing-hero__image img { width:min(100%,430px); height:auto; border-radius:var(--card-radius); }
.landing-page--clinic .landing-hero--photo { grid-template-columns:1fr; }
.landing-page--clinic .landing-hero__copy { max-width:52rem; }
.landing-page--clinic .landing-hero__image { height:clamp(14rem,28vw,23rem); }
.landing-page--clinic .landing-hero__image img { height:100%; object-fit:cover; }
.landing-body { margin-block:var(--section-space-feature); }
.landing-body--aside { display:grid; grid-template-columns:minmax(0,1fr) 20rem; gap:var(--space-16); align-items:start; }
.landing-prose { max-width:var(--content-width); min-width:0; font-size:var(--font-size-lg); }
.landing-prose h2 { font-size:var(--font-size-2xl); margin-top:var(--space-12); margin-bottom:var(--space-5); }
.landing-prose h2:first-child { margin-top:0; }
.landing-prose h3 { font-size:var(--font-size-xl); margin-top:var(--space-8); }
.landing-prose p,.landing-prose ul { margin-bottom:var(--space-5); }
.landing-prose a { text-underline-offset:.2em; }
.landing-prose .wp-block-gallery { margin-block:var(--space-8); gap:var(--space-4); }
.landing-prose .wp-block-gallery img { border-radius:var(--card-radius); }
.landing-note { padding:var(--space-5); background:var(--color-primary-light); border-radius:var(--card-radius); font-size:var(--font-size-md); }
.landing-offer { position:sticky; top:var(--space-6); }
.landing-offer__inner { border:var(--card-border); border-radius:var(--card-radius); box-shadow:var(--card-shadow); padding:var(--space-8); background:var(--color-surface); }
.landing-offer__inner > .cdi-icon { width:var(--icon-lg); height:var(--icon-lg); color:var(--color-primary); margin-bottom:var(--space-5); }
.landing-offer h2 { font-size:var(--font-size-xl); margin:0 0 var(--space-4); }
.landing-offer p { font-size:var(--font-size-card); color:var(--color-text-muted); }
.landing-offer .button { width:100%; margin-top:var(--space-4); }
.landing-price { border-top:var(--card-border); margin-top:var(--space-6); padding-top:var(--space-6); }
.landing-price > span { font-size:var(--font-size-card-meta); color:var(--color-primary-dark); }
.landing-price strong { display:block; font-size:var(--font-size-price); line-height:1.15; margin-block:var(--space-2) var(--space-4); font-weight:var(--font-weight-bold); white-space:nowrap; }
.landing-price small { font-size:.48em; font-weight:var(--font-weight-semibold); }
.landing-price p { font-size:var(--font-size-sm); }
.landing-related { margin-block:var(--section-space-comfortable); }
.landing-services { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--space-6); }
.landing-service { border:var(--card-border); border-radius:var(--card-radius); box-shadow:var(--card-shadow); overflow:hidden; display:flex; flex-direction:column; }
.landing-service__photo { display:block; aspect-ratio:var(--service-ratio); overflow:hidden; background:var(--color-surface); }
.landing-service__photo img { width:100%; height:100%; object-fit:cover; }
.landing-service__copy { padding:var(--space-6); display:flex; flex:1; flex-direction:column; }
.landing-service h3 { font-size:var(--font-size-xl); margin:0 0 var(--space-3); }
.landing-service h3 a { color:var(--color-text); text-decoration:none; }
.landing-service p { color:var(--color-text-muted); font-size:var(--font-size-card); margin:0 0 var(--space-4); }
.landing-service .button { margin-top:auto; align-self:flex-start; }
.landing-appointment { scroll-margin-top:var(--space-6); display:grid; grid-template-columns:1.4fr 1fr; background:var(--color-primary-light); border-radius:var(--radius-lg); overflow:hidden; margin-top:var(--section-space-feature); }
.landing-appointment__copy { padding:var(--space-10); }
.landing-appointment h2 { font-size:var(--font-size-2xl); max-width:21ch; }
.landing-appointment p { font-size:var(--font-size-lg); }
.landing-appointment .landing-address { font-size:var(--font-size-card-meta); color:var(--color-text-muted); margin-top:var(--space-5); margin-bottom:0; }
.landing-appointment__image img { width:100%; height:100%; object-fit:cover; }
.landing-location { display:grid; grid-template-columns:1fr 1fr; gap:var(--space-10); align-items:center; padding:var(--space-8); border:var(--card-border); border-radius:var(--card-radius); box-shadow:var(--card-shadow); }
.landing-location img { width:100%; max-height:28rem; object-fit:contain; }
.landing-page--legal .landing-body { max-width:var(--content-width); margin-inline:auto; }
.landing-page--legal .landing-hero h1 { font-size:var(--font-size-2xl); }
.blog-intro { max-width:48rem; margin-block:var(--space-6) var(--space-12); }
.blog-intro h1,.article-header h1 { font-size:var(--font-size-hero); text-wrap:balance; }
.blog-intro p { font-size:var(--font-size-lg); color:var(--color-text-muted); }
.posts-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--space-8); }
.posts-list .post-card { border:var(--card-border); border-radius:var(--card-radius); box-shadow:var(--card-shadow); padding:0 0 var(--space-6); overflow:hidden; }
.post-card > :not(.post-thumbnail) { margin-inline:var(--space-6); }
.post-card .post-thumbnail { display:block; aspect-ratio:1.8; margin:0 0 var(--space-6); }
.post-card .post-thumbnail img { width:100%; height:100%; object-fit:cover; }
.post-card h2 { font-size:var(--font-size-xl); }
.post-card h2 a { color:var(--color-text); text-decoration:none; }
.post-card h2 a:hover { color:var(--color-primary); text-decoration:underline; }
.post-card .entry-summary { font-size:var(--font-size-card); color:var(--color-text-muted); }
.article-header { max-width:52rem; margin:var(--space-6) auto var(--space-8); text-align:center; }
.article-header .entry-meta { justify-content:center; }
.article-featured { max-width:60rem; margin:0 auto var(--space-12); }
.article-featured img { display:block; width:100%; max-height:34rem; object-fit:cover; border-radius:var(--radius-lg); }
.article-content { margin-inline:auto; }
@media(max-width:70rem) {
 .landing-hero__copy { padding:var(--space-8); }
 .landing-hero h1 { font-size:clamp(2.2rem,4vw,3.2rem); }
 .landing-body--aside { grid-template-columns:minmax(0,1fr) 18rem; gap:var(--space-8); }
 .landing-offer__inner { padding:var(--space-6); }
 .landing-services { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .landing-appointment { grid-template-columns:1.5fr 1fr; }
 .landing-appointment__copy { padding:var(--space-8); }
}
@media(max-width:47.99rem) {
 .landing-hero { padding:var(--space-6); }
 .landing-hero--photo { grid-template-columns:1fr; padding:0; min-height:0; }
 .landing-hero__copy { padding:var(--space-6); }
 .landing-hero h1 { font-size:2.4rem; }
 .landing-hero__image { height:16rem; }
 .landing-page--team .landing-hero__image { height:auto; }
 .landing-body--aside { display:flex; flex-direction:column; }
 .landing-offer { position:static; width:100%; order:-1; }
 .landing-offer__inner { padding:var(--space-6); }
 .landing-price strong { font-size:var(--font-size-price-mobile); }
 .landing-prose { font-size:var(--font-size-card); }
 .landing-services,.posts-list { grid-template-columns:1fr; }
 .landing-service__photo { aspect-ratio:2; }
 .landing-appointment { grid-template-columns:1fr; }
 .landing-appointment__copy { padding:var(--space-6); }
 .landing-appointment__image { height:12rem; }
 .landing-location { grid-template-columns:1fr; padding:var(--space-6); }
 .landing-actions .button { flex:1 1 auto; }
 .article-header { text-align:left; }
 .article-header h1 { font-size:2.4rem; }
 .article-header .entry-meta { justify-content:flex-start; }
}
