/* Selected V2: immersive planning section and informational-page composition. */
/* Portrait-led benefits, with four separate quiet cards rather than one panel. */
body[data-design="v2"][data-page="home"] [data-section="benefits"] { background: var(--white); }
body[data-design="v2"][data-page="home"] .benefit-editorial { display: grid; grid-template-columns: .9fr 1.1fr; gap: 28px; align-items: stretch; }
body[data-design="v2"][data-page="home"] .benefit-photo { position: relative; min-width: 0; overflow: hidden; border-radius: var(--radius-lg); background: var(--paper); }
body[data-design="v2"][data-page="home"] .benefit-photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center top; }
/* Fixed smile inset in the same sculpted corner family as the choice cards. */
body[data-design="v2"][data-page="home"] .has-smile-detail { --smile-detail-size: clamp(104px, 28vw, 150px); }
body[data-design="v2"][data-page="home"] .benefit-photo-brand { position: absolute; z-index: 2; left: 22px; top: 22px; width: clamp(90px, 28%, 130px); aspect-ratio: 450 / 105; background: var(--navy-950); opacity: .38; mask: url("/assets/ksmile-logo.svg") center / contain no-repeat; -webkit-mask: url("/assets/ksmile-logo.svg") center / contain no-repeat; pointer-events: none; }
body[data-design="v2"][data-page="home"] .has-smile-detail::before { content: ''; position: absolute; z-index: 1; bottom: 0; right: 0; width: calc(var(--smile-detail-size) + 24px); height: calc(var(--smile-detail-size) + 24px); border-top-left-radius: 40px; background: var(--white); pointer-events: none; }
body[data-design="v2"][data-page="home"] .has-smile-detail::after { content: ''; position: absolute; z-index: 1; bottom: 0; right: 0; width: calc(var(--smile-detail-size) + 48px); height: calc(var(--smile-detail-size) + 48px); background: radial-gradient(circle at 0 0, transparent 23.5px, var(--white) 24px) right top / 24px 24px no-repeat, radial-gradient(circle at 0 0, transparent 23.5px, var(--white) 24px) left bottom / 24px 24px no-repeat; pointer-events: none; }
body[data-design="v2"][data-page="home"] .smile-detail { position: absolute; z-index: 2; right: 8px; bottom: 8px; width: var(--smile-detail-size); height: var(--smile-detail-size); border: 0; border-radius: var(--radius-md); overflow: hidden; background: var(--paper); box-shadow: none; pointer-events: none; }
body[data-design="v2"][data-page="home"] .smile-detail img { object-position: center; }
body[data-design="v2"][data-page="home"] .benefit-editorial .benefit-surface { min-width: 0; padding: 0; border: 0; background: transparent; box-shadow: none; }
body[data-design="v2"][data-page="home"] .benefit-grid { grid-template-columns: 1fr; gap: 14px; }
body[data-design="v2"][data-page="home"] .benefit-item:nth-child(n) { display: grid; grid-template-columns: 40px minmax(0,1fr); gap: 6px 20px; padding: 24px; border: 0; border-radius: var(--radius-md); background: var(--paper); }
body[data-design="v2"][data-page="home"] .benefit-item .benefit-icon { grid-row: 1 / 3; width: 40px; height: 40px; margin: 0; }
body[data-design="v2"][data-page="home"] .benefit-item .benefit-icon svg { width: 36px; height: 36px; }
body[data-design="v2"][data-page="home"] .benefit-item h3 { grid-column: 2; margin: 0; min-height: 0; }
body[data-design="v2"][data-page="home"] .benefit-item p { grid-column: 2; margin: 0; font-size: 16px; }
@media (max-width:900px) {
 body[data-design="v2"][data-page="home"] .benefit-editorial { grid-template-columns: 1fr; gap: 24px; }
 body[data-design="v2"][data-page="home"] .benefit-photo { aspect-ratio: 4 / 3; max-height: 480px; }
 /* An in-flow portrait establishes the mobile grid row height in WebKit. */
 body[data-design="v2"][data-page="home"] .benefit-photo > img { position: relative; inset: auto; display: block; height: auto; max-height: 480px; aspect-ratio: 4 / 3; }
}
@media (max-width:720px) {
 body[data-design="v2"][data-page="home"] .benefit-photo { aspect-ratio: 1; }
 body[data-design="v2"][data-page="home"] .benefit-photo > img { aspect-ratio: 1; }
 body[data-design="v2"][data-page="home"] .benefit-item:nth-child(n) { grid-template-columns: 32px minmax(0,1fr); gap: 6px 16px; padding: 22px; }
 body[data-design="v2"][data-page="home"] .benefit-item .benefit-icon,
 body[data-design="v2"][data-page="home"] .benefit-item .benefit-icon svg { width: 32px; height: 32px; }
}

/* Quiet concentric circles, clipped to the final cyan section only. */
body[data-design="v2"] [data-section="final"] { position: relative; isolation: isolate; overflow: hidden; }
body[data-design="v2"] [data-section="final"]::before { content: ''; position: absolute; z-index: 0; width: 330px; height: 330px; right: -120px; top: -180px; border: 1px solid rgba(7,26,42,.07); border-radius: 50%; box-shadow: 0 0 0 68px rgba(7,26,42,.025), 0 0 0 136px rgba(7,26,42,.018); pointer-events: none; }
body[data-design="v2"] [data-section="final"] .final-cta { z-index: 1; background: transparent; }

/* Method cards reuse the audience-card radii and bottom-right pocket. */
body[data-design="v2"] .illustration-card { position: relative; display: flex; flex-direction: column; padding: 28px; border: 2px solid var(--line-light); border-radius: var(--radius-lg); }
body[data-design="v2"] .illustration-media { flex: none; border-radius: var(--radius-md); }
body[data-design="v2"] .illustration-media img { inset: 8px; width: calc(100% - 16px); height: calc(100% - 16px); object-fit: contain; }
body[data-design="v2"] .method-copy { position: static; flex: 1; margin-top: 0; padding: 24px 0 64px; border: 0; }
/* Erase the rectangular corner and trace the same 24/40px curved pocket. */
body[data-design="v2"] .illustration-card::before { content: ''; position: absolute; right: -2px; bottom: -2px; width: 120px; height: 88px; background: var(--navy-950); pointer-events: none; }
body[data-design="v2"] .illustration-card::after { content: ''; position: absolute; right: -2px; bottom: -2px; width: 120px; height: 88px; background: var(--line-light); mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='88' viewBox='0 0 120 88'%3E%3Cpath d='M119 0 A23 23 0 0 1 96 23 H64 A41 41 0 0 0 23 64 A23 23 0 0 1 0 87' fill='none' stroke='white' stroke-width='2'/%3E%3C/svg%3E") center / 120px 88px no-repeat; pointer-events: none; }
body[data-design="v2"] .illustration-card .number { position: absolute; top: auto; bottom: 4px; left: auto; right: 10px; z-index: 1; margin: 0; width: 64px; height: 44px; border-radius: var(--radius-md); outline: none; font-size: 18px; font-weight: 800; }
body[data-design="v2"] .illustration-card .number::before,
body[data-design="v2"] .illustration-card .number::after { display: none; }
body[data-design="v2"] .illustration-card h3 { margin-top: 0; }
body[data-design="v2"] .method-copy .method-label { display: block; margin: 24px 0 0; font-size: 11px; line-height: 1.6; color: var(--cyan-500); }
body[data-design="v2"] .illustration-card:not(:last-child) .method-copy::after { content: ''; position: absolute; bottom: 25px; right: -44px; width: 42px; height: 2px; background: var(--line-light); }
@media (max-width:720px) {
 body[data-design="v2"] .illustration-grid { gap: 56px; }
 body[data-design="v2"] .illustration-card:not(:last-child) .method-copy::after { bottom: -58px; right: 41px; width: 2px; height: 48px; }
}

/* Local-only animated hero study; static poster remains the fallback. */
body[data-design="v2"][data-page="home"] .hero-video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; opacity: 0; pointer-events: none; }
body[data-design="v2"][data-page="home"] .hero-video.is-playing { opacity: 1; }
body[data-design="v2"][data-page="home"] .hero-motion-toggle { position: absolute; z-index: 3; right: 24px; bottom: 24px; display: grid; place-items: center; width: 44px; height: 44px; padding: 10px; border: 1px solid var(--line-light); border-radius: var(--radius-md); background: var(--navy-950); color: var(--white); box-shadow: none; cursor: pointer; }
body[data-design="v2"][data-page="home"] .hero-motion-toggle[hidden] { display: none; }
body[data-design="v2"][data-page="home"] .hero-motion-toggle svg { width: 20px; height: 20px; stroke: currentColor; stroke-width: 2; fill: none; }
body[data-design="v2"][data-page="home"] .hero-motion-toggle .motion-play { display: none; }
body[data-design="v2"][data-page="home"] .hero-motion-toggle[data-paused="true"] .motion-play { display: block; }
body[data-design="v2"][data-page="home"] .hero-motion-toggle[data-paused="true"] .motion-pause { display: none; }
@media (max-width:900px) {
 body[data-design="v2"][data-page="home"] .home-hero .hero-media img,
 body[data-design="v2"][data-page="home"] .hero-video { object-position: center; }
}

/* Owner-selected breathing room for the two image-led homepage sections. */
body[data-design="v2"][data-page="home"] .home-hero { min-height: 760px; }
body[data-design="v2"][data-page="home"] .hero-copy { min-height: 760px; padding-block: 108px; }
@media (max-width:900px) {
 body[data-design="v2"][data-page="home"] .home-hero { min-height: 0; }
 body[data-design="v2"][data-page="home"] .hero-copy { min-height: 0; padding-block: 64px 36px; }
 body[data-design="v2"][data-page="home"] .hero-media { height: 390px; }
}
@media (max-width:720px) {
 body[data-design="v2"][data-page="home"] .hero-copy { padding-block: 56px 30px; }
 body[data-design="v2"][data-page="home"] .hero-media { height: 330px; }
}
body[data-design="v2"][data-page="home"] main > [data-section="process"] { position: relative; isolation: isolate; overflow: hidden; background: var(--navy-950); min-height: 640px; padding-block: 132px; }
body[data-design="v2"][data-page="home"] [data-section="process"] .editorial-split { display: block; }
body[data-design="v2"][data-page="home"] [data-section="process"] .editorial-copy { position: relative; z-index: 2; max-width: 510px; }
body[data-design="v2"][data-page="home"] [data-section="process"] h2 { color: var(--white); }
body[data-design="v2"][data-page="home"] [data-section="process"] .eyebrow,
body[data-design="v2"][data-page="home"] [data-section="process"] .text-link { color: var(--cyan-500); }
body[data-design="v2"][data-page="home"] [data-section="process"] .section-intro { color: var(--white); }
body[data-design="v2"][data-page="home"] [data-section="process"] .text-link { min-height: 44px; }
body[data-design="v2"][data-page="home"] [data-section="process"] .editorial-visual { position: absolute; z-index: 0; inset: 0; border: 0; border-radius: 0; background: var(--navy-950); }
body[data-design="v2"][data-page="home"] [data-section="process"] .editorial-visual img { width: 100%; height: 100%; padding: 0; object-fit: cover; object-position: center; }
body[data-design="v2"][data-page="home"] [data-section="process"] .editorial-visual::after { content: ''; position: absolute; inset: 0; }

/* Audience choices: shared paper surface, white section, navy on pointer hover only. */
body[data-design="v2"] [data-section="audiences"] { background: var(--white); }
body[data-design="v2"] [data-section="audiences"] > .page-shell { grid-template-columns: 1fr; gap: 48px; align-items: start; }
body[data-design="v2"] [data-section="audiences"] .section-head > div { display: grid; grid-template-columns: 1.15fr 1fr; gap: 0 100px; width: 100%; }
body[data-design="v2"] [data-section="audiences"] .eyebrow { grid-column: 1 / -1; }
body[data-design="v2"] [data-section="audiences"] .section-intro { margin: 0; align-self: end; }
body[data-design="v2"] .audience-grid { gap: 42px; align-items: stretch; }
body[data-design="v2"] :is(.audience-card, .location-choice),
body[data-design="v2"] :is(.audience-card, .location-choice):first-child,
body[data-design="v2"] :is(.audience-card, .location-choice):last-child {
 --audience-surface: var(--paper);
 --audience-heading: var(--navy-900);
 --audience-copy: var(--muted);
 --audience-button: var(--navy-950);
 --audience-button-ink: var(--white);
 display: flex; flex-direction: column; min-width: 0; padding: 28px 28px 12px; border: 0;
 background: var(--audience-surface); border-radius: var(--radius-lg); transition: background-color .2s ease;
}
/* White cut-out and rounded joins frame the separate arrow, without an image overlay. */
body[data-design="v2"] :is(.audience-card, .location-choice)::before { content: ''; position: absolute; right: 0; bottom: 0; width: 96px; height: 64px; border-top-left-radius: 40px; background: var(--white); pointer-events: none; }
body[data-design="v2"] :is(.audience-card, .location-choice)::after { content: ''; position: absolute; right: 0; bottom: 0; width: 120px; height: 88px; background: radial-gradient(circle at 0 0, transparent 23.5px, var(--white) 24px) right top / 24px 24px no-repeat, radial-gradient(circle at 0 0, transparent 23.5px, var(--white) 24px) left bottom / 24px 24px no-repeat; pointer-events: none; }
body[data-design="v2"] .audience-portrait { position: relative; width: 100%; aspect-ratio: 1; overflow: hidden; border-radius: var(--radius-md); background: var(--cyan-100); }
body[data-design="v2"] .audience-portrait img { display: block; position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 52% 50%; }
body[data-design="v2"] :is(.audience-card, .location-choice) h3 { margin-top: 24px; color: var(--audience-heading); transition: color .2s ease; }
body[data-design="v2"] :is(.audience-card, .location-choice) p { color: var(--audience-copy); transition: color .2s ease; }
body[data-design="v2"] :is(.audience-card, .location-choice) .text-link { min-height: 44px; align-self: flex-start; color: var(--audience-heading); transition: color .2s ease; }
body[data-design="v2"] :is(.audience-card, .location-choice) .text-link::after { content: ''; position: absolute; inset: 0; z-index: 2; border-radius: var(--radius-lg); }
body[data-design="v2"] :is(.audience-card, .location-choice) .text-link:focus-visible { outline: none; }
body[data-design="v2"] :is(.audience-card, .location-choice) .text-link:focus-visible::after { outline: 3px solid var(--cyan-600); outline-offset: 4px; }
body[data-design="v2"] .choice-arrow { position: absolute; right: 12px; bottom: 6px; z-index: 1; display: grid; place-items: center; width: 64px; height: 44px; border-radius: var(--radius-md); background: var(--audience-button); color: var(--audience-button-ink); transition: background-color .2s ease, color .2s ease; }
body[data-design="v2"] .choice-arrow svg { width: 24px; height: 24px; transform: none; }
@media (hover: hover) and (pointer: fine) {
 body[data-design="v2"] :is(.audience-card, .location-choice):hover { --audience-surface: var(--navy-950); --audience-heading: var(--white); --audience-copy: var(--white); --audience-button: var(--cyan-500); --audience-button-ink: var(--navy-950); background: var(--audience-surface); }
}
@media (prefers-reduced-motion: reduce) {
 body[data-design="v2"] :is(.audience-card, .location-choice),
 body[data-design="v2"] :is(.audience-card, .location-choice):first-child,
 body[data-design="v2"] :is(.audience-card, .location-choice):last-child,
 body[data-design="v2"] :is(.audience-card, .location-choice) h3,
 body[data-design="v2"] :is(.audience-card, .location-choice) p,
 body[data-design="v2"] :is(.audience-card, .location-choice) .text-link,
 body[data-design="v2"] .choice-arrow { transition: none; }
}
@media (max-width:900px) {
 body[data-design="v2"] [data-section="audiences"] > .page-shell { gap: 40px; }
 body[data-design="v2"] [data-section="audiences"] .section-head { max-width: 740px; }
 body[data-design="v2"] [data-section="audiences"] .section-head > div { grid-template-columns: 1fr; gap: 0; }
 body[data-design="v2"] [data-section="audiences"] .section-intro { margin-top: 23px; }
}
@media (max-width:720px) {
 body[data-design="v2"] .audience-grid { gap: 38px; }
 body[data-design="v2"] .audience-portrait { aspect-ratio: 4 / 3; }
 body[data-design="v2"] :is(.audience-card, .location-choice) h3 { margin-top: 22px; }
 body[data-design="v2"] :is(.audience-card, .location-choice) p { flex: none; }
 body[data-design="v2"] :is(.audience-card, .location-choice) .text-link { margin-top: 14px; }
}

/* Repeat the choice-card treatment only for homepage locations. */
body[data-design="v2"][data-page="home"] [data-section="locations"] { background: var(--white); }
/* One central booking number, shared by all three location cards. */
body[data-design="v2"] .location-call { margin-top: 28px; }
body[data-design="v2"] .location-call p { margin: 0 0 14px; font-size: 16px; line-height: 1.6; color: var(--navy-950); }
body[data-design="v2"] .location-call-button { gap: 10px; padding-inline: 18px; max-width: 100%; }
body[data-design="v2"] .location-call-button .line-icon { flex: none; width: 20px; height: 20px; background: transparent; color: currentColor; }
body[data-design="v2"] .location-call-button .line-icon svg { width: 20px; height: 20px; }
body[data-design="v2"] .location-call-button span { white-space: nowrap; }
body[data-design="v2"] .location-grid { border-top: 0; gap: 42px; overflow: visible; }
body[data-design="v2"] .location-card.location-choice { position: relative; align-items: flex-start; text-align: left; gap: 0; }
/* Actual logo K, decorative only, placed in the unused right-hand space. */
body[data-design="v2"] .location-choice .location-watermark { position: absolute; top: 26px; right: 22px; width: 32%; max-width: 120px; aspect-ratio: 96 / 105; background: var(--navy-950); opacity: .06; mask: url('/assets/ksmile-k-watermark.svg') center / contain no-repeat; -webkit-mask: url('/assets/ksmile-k-watermark.svg') center / contain no-repeat; pointer-events: none; }
@media (hover: hover) and (pointer: fine) {
 body[data-design="v2"] .location-choice:hover .location-watermark { background: #000; opacity: .18; }
}
body[data-design="v2"] .location-choice .line-icon { color: var(--cyan-600); }
body[data-design="v2"] .location-choice h3 { margin-top: 18px; }
body[data-design="v2"] .location-choice p { flex: 1; }
body[data-design="v2"] .location-choice .text-link { margin-top: 22px; }
@media (hover: hover) and (pointer: fine) {
 body[data-design="v2"] .location-choice:hover .line-icon { color: var(--cyan-500); }
}
@media (max-width:720px) {
 body[data-design="v2"] .location-call p
}

/* Wide photographic openings with readable navy copy. */
body[data-design="v2"] .page-hero { position: relative; display: grid; grid-template-columns: 1fr 1fr; border: 0; border-radius: 0; box-shadow: none; min-height: 580px; isolation: isolate; }
body[data-design="v2"] .page-hero-copy { position: relative; z-index: 2; padding: 74px 54px 78px max(22px,calc((100vw - var(--container))/2)); }
body[data-design="v2"] .page-hero h1 { max-width: 650px; }
body[data-design="v2"] .page-hero h1 span { color: var(--white); }
body[data-design="v2"] .page-hero .hero-intro { max-width: 580px; color: var(--white); }
body[data-design="v2"] .page-hero .eyebrow { color: var(--cyan-500); }
body[data-design="v2"] .page-hero .btn { background: var(--cyan-500); color: var(--navy-950); }
body[data-design="v2"] .page-hero-media { margin: 0; border-radius: 0; min-height: 0; }
body[data-design="v2"] .page-hero-media::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg,var(--navy-950),rgba(7,26,42,.15) 18%,transparent 35%); }
body[data-design="v2"] .page-hero-media img { object-position: center; }
body[data-design="v2"][data-page="bambini"] .page-hero-media img { object-position: 92% 50%; }
body[data-design="v2"][data-page="adulti"] .page-hero-media img { object-position: 60% 45%; }
body[data-design="v2"][data-page="adolescenti"] .page-hero-media img { object-position: 32% 50%; }
body[data-design="v2"] [data-section="benefits"] .section-head > div:not(:has(.section-intro)) { display: block; max-width: 850px; }
body[data-design="v2"] [data-section="editorial"] { background: var(--cyan-100); }
body[data-design="v2"] [data-section="editorial"] .editorial-visual { background: var(--white); }
body[data-design="v2"] .dark-panel > h2 { max-width: 850px; }
body[data-design="v2"] .dark-panel > .section-intro { max-width: 760px; color: var(--white); }
body[data-design="v2"] .clinical-boundary { border-radius: 0; background: none; border-top: 1px solid var(--line); padding: 25px 0 0; }
body[data-design="v2"] .concern-grid { border-radius: 0; background: none; gap: 0 40px; }
body[data-design="v2"] .concern-item { border-top: 1px solid var(--line); padding: 32px 0; min-height: 0; }
body[data-design="v2"] .concern-item .line-icon { background: none; }
body[data-design="v2"] .concern-item h3 { min-height: 2.4em; }
body[data-design="v2"] [data-section="timeline"] { background: var(--paper); }
body[data-design="v2"] .process-panel { border: 0; padding: 0; box-shadow: none; overflow: visible; }
body[data-design="v2"] .timeline { margin-top: 66px; }
body[data-design="v2"] .timeline .step-number { background: var(--cyan-500); color: var(--navy-950); box-shadow: 0 0 0 7px var(--paper); }
body[data-design="v2"] .timeline-step { padding-inline: 22px; }
body[data-design="v2"] .timeline-step:first-child { padding-left: 0; }
body[data-design="v2"] .timeline-step:last-child { padding-right: 0; }
body[data-design="v2"] .quote-process { border-radius: 0; overflow: visible; gap: 44px; }
body[data-design="v2"] .quote-step { position: relative; border: 0; padding: 0; }
body[data-design="v2"] .quote-step .step-number { background: var(--cyan-500); color: var(--navy-950); box-shadow: none; }
body[data-design="v2"] .quote-step:not(:last-child)::after { content: ''; position: absolute; top: 22px; left: 62px; width: calc(100% - 24px); height: 1px; background: var(--line); }
body[data-design="v2"] .location-detail { grid-template-columns: minmax(0,1.2fr) minmax(0,.8fr); gap: 80px; align-items: start; }
body[data-design="v2"] .location-detail-main { border-radius: 0; padding: 0; }
body[data-design="v2"] .location-detail-main ul { margin-top: 34px; gap: 0; }
body[data-design="v2"] .location-detail-main li { padding: 22px 0; border-top: 1px solid var(--line); }
body[data-design="v2"] .location-detail-side { border-radius: 22px; padding: 38px; background: var(--cyan-100); }
body[data-design="v2"] .location-detail-side .btn { background: var(--navy-950); color: var(--white); }
body[data-design="v2"] .location-detail-side .hero-actions { display: flex; flex-direction: column; align-items: flex-start; gap: 14px; }
body[data-design="v2"] .location-map-frame { margin-top: 34px; overflow: hidden; border: 1px solid var(--line); border-radius: 22px; aspect-ratio: 16 / 9; background: var(--cyan-100); }
body[data-design="v2"] .location-map-frame iframe { display: block; width: 100%; height: 100%; border: 0; }
body[data-design="v2"] .faq-group-title:not(:first-child) { margin-top: 46px; }

@media (min-width:901px) and (max-width:1100px) {
 body[data-design="v2"] .page-hero-copy { padding-right: 34px; }
 body[data-design="v2"][data-page="home"] [data-section="process"] .editorial-copy { max-width: 44%; }
 body[data-design="v2"] .location-detail { gap: 40px; }
 body[data-design="v2"] .location-detail-side { padding: 28px; }
 body[data-design="v2"] .timeline-step { padding-inline: 16px; }
}
@media (max-width:900px) {
 body[data-design="v2"] .page-hero { grid-template-columns: 1fr; min-height: 0; }
 body[data-design="v2"] .page-hero-copy { padding: 54px 22px 40px; width: min(100%,700px); }
 body[data-design="v2"] .page-hero-media { height: 360px; }
 body[data-design="v2"] .page-hero-media::after { background: linear-gradient(180deg,var(--navy-950),transparent 28%); }
 body[data-design="v2"][data-page="faq"] .page-hero-media img { object-position: 90% center; }
 body[data-design="v2"] .location-detail { grid-template-columns: 1fr; gap: 36px; }
 body[data-design="v2"] .location-detail-side { max-width: 650px; }
 body[data-design="v2"] .timeline { margin-top: 46px; }
 body[data-design="v2"] .timeline-step,
 body[data-design="v2"] .timeline-step:first-child,
 body[data-design="v2"] .timeline-step:last-child { padding: 0 0 42px 44px; }
 body[data-design="v2"] .timeline-step:last-child { padding-bottom: 0; }
 body[data-design="v2"][data-page="home"] main > [data-section="process"] { padding: 64px 0 0; min-height: 0; }
 body[data-design="v2"][data-page="home"] [data-section="process"] .editorial-copy { max-width: 640px; padding-bottom: 20px; }
 body[data-design="v2"][data-page="home"] [data-section="process"] .editorial-visual { position: relative; height: 370px; width: 100vw; margin-left: calc((var(--shell-width) - 100vw)/2); }
 body[data-design="v2"][data-page="home"] [data-section="process"] .editorial-visual img { object-position: right center; }
 body[data-design="v2"][data-page="home"] [data-section="process"] .editorial-visual::after { background: linear-gradient(180deg,var(--navy-950),transparent 25%); }
}
@media (max-width:720px) {
 body[data-design="v2"] .page-hero-copy { padding: 44px 20px 30px; }
 body[data-design="v2"] .page-hero-media { height: 310px; }
 body[data-design="v2"] .page-hero-media img { inset: 0; width: 100%; }
 body[data-design="v2"] .page-hero h1 { font-size: clamp(44px,13vw,58px); }
 body[data-design="v2"] .concern-grid { grid-template-columns: 1fr; }
 body[data-design="v2"] .concern-item { display: grid; grid-template-columns: 28px 1fr; gap: 0 18px; padding: 24px 0; }
 body[data-design="v2"] .concern-item .line-icon { grid-row: 1 / 3; }
 body[data-design="v2"] .concern-item h3 { min-height: 0; margin: 0; }
 body[data-design="v2"] .concern-item p { grid-column: 2; }
 body[data-design="v2"] .quote-process { gap: 30px; }
 body[data-design="v2"] .quote-step { padding-left: 66px; }
 body[data-design="v2"] .quote-step .step-number { position: absolute; left: 0; top: 0; }
 body[data-design="v2"] .quote-step:not(:last-child)::after { top: 58px; bottom: -15px; left: 22px; width: 1px; height: auto; }
 body[data-design="v2"] .location-detail-side { padding: 30px 24px; }
 body[data-design="v2"] .location-map-frame { aspect-ratio: 4 / 3; }
 body[data-design="v2"][data-page="home"] [data-section="process"] .editorial-visual { height: 310px; margin-left: -20px; }
}

/* Supporting pages inherit the selected homepage composition, not its content. */
@media (min-width:901px) {
 body[data-design="v2"] .nav-link,
 body[data-design="v2"] .nav-dropdown > button,
 body[data-design="v2"] .dropdown-panel a { font-size: 16px; white-space: nowrap; }
 body[data-design="v2"] .header-cta { font-size: 15px; white-space: nowrap; }
 body[data-design="v2"] .page-hero { display: block; min-height: 700px; }
 body[data-design="v2"] .page-hero-copy { width: var(--shell-width); margin-inline: auto; padding: 100px 0; min-height: 700px; display: flex; flex-direction: column; justify-content: center; }
 body[data-design="v2"] .page-hero-copy > * { max-width: 49%; }
 body[data-design="v2"] .page-hero-copy h1 { max-width: 54%; }
 body[data-design="v2"] .page-hero-media,
 body[data-design="v2"][data-page="home"] [data-section="process"] .editorial-visual { position: absolute; inset: 0 0 0 auto; width: 64%; height: 100%; z-index: 0; }
 body[data-design="v2"] .page-hero-media::after,
 body[data-design="v2"][data-page="home"] [data-section="process"] .editorial-visual::after { background: linear-gradient(90deg,var(--navy-950) 0%,rgba(7,26,42,.93) 12%,rgba(7,26,42,.50) 32%,rgba(7,26,42,0) 62%); }
 body[data-design="v2"] .page-hero-media img,
 body[data-design="v2"][data-page="home"] [data-section="process"] .editorial-visual img { object-position: 65% center; }
 body[data-design="v2"][data-page="faq"] .page-hero-media img { object-position: 100% center; }
}
@media (min-width:901px) and (max-width:1100px) {
 body[data-design="v2"] .nav-shell { gap: 14px; }
 body[data-design="v2"] .desktop-nav { gap: 0; }
 body[data-design="v2"] .nav-link,
 body[data-design="v2"] .nav-dropdown > button { padding-inline: 8px; }
 body[data-design="v2"] .brand img { width: 125px; }
 body[data-design="v2"] .header-cta { padding-inline: 14px; }
 body[data-design="v2"] .page-hero-copy h1 { max-width: 57%; }
}
body[data-design="v2"]:not([data-page="home"]) main > .section:not([data-section="hero"]):not([data-section="results"]):not([data-section="cases"]) { padding-block: 104px; }
body[data-design="v2"]:not([data-page="home"]) [data-section="editorial"] { background: var(--navy-950); }
body[data-design="v2"]:not([data-page="home"]) [data-section="editorial"] h2,
body[data-design="v2"]:not([data-page="home"]) [data-section="editorial"] .section-intro,
body[data-design="v2"]:not([data-page="home"]) [data-section="editorial"] .clinical-boundary,
body[data-design="v2"]:not([data-page="home"]) [data-section="editorial"] .clinical-boundary strong { color: var(--white); }
body[data-design="v2"]:not([data-page="home"]) [data-section="editorial"] .eyebrow { color: var(--cyan-500); }
body[data-design="v2"]:not([data-page="home"]) [data-section="editorial"] .clinical-boundary { border-color: var(--line-light); }
body[data-design="v2"]:not([data-page="home"]) [data-section="editorial"] .boundary-symbol { border-color: var(--line-light); }
body[data-design="v2"]:not([data-page="home"]) [data-section="editorial"] .btn { background: var(--cyan-500); color: var(--navy-950); }
body[data-design="v2"]:not([data-page="home"]) [data-section="editorial"] .editorial-visual { border-radius: 18px; }
body[data-design="v2"]:not([data-page="home"]) [data-section="editorial"]:has(+ [data-section="method"]) { border-bottom: 1px solid var(--line-light); }
body[data-design="v2"]:not([data-page="home"]) [data-section="editorial"].is-light { background: var(--paper); }
body[data-design="v2"]:not([data-page="home"]) [data-section="editorial"].is-light h2 { color: var(--navy-900); }
body[data-design="v2"]:not([data-page="home"]) [data-section="editorial"].is-light .section-intro { color: var(--muted); }
body[data-design="v2"]:not([data-page="home"]) [data-section="editorial"].is-light .eyebrow { color: var(--cyan-600); }
body[data-design="v2"]:not([data-page="home"]) [data-section="editorial"].is-light .clinical-boundary,
body[data-design="v2"]:not([data-page="home"]) [data-section="editorial"].is-light .clinical-boundary strong { color: var(--ink); }
body[data-design="v2"]:not([data-page="home"]) [data-section="editorial"].is-light .clinical-boundary,
body[data-design="v2"]:not([data-page="home"]) [data-section="editorial"].is-light .boundary-symbol { border-color: var(--line); }
body[data-design="v2"]:not([data-page="home"]) [data-section="editorial"].is-light .btn { background: var(--navy-950); color: var(--white); }
body[data-design="v2"] [data-section="method"].is-light { background: var(--paper); }
body[data-design="v2"] [data-section="method"].is-light h2 { color: var(--navy-900); }
body[data-design="v2"] [data-section="method"].is-light .section-intro { color: var(--muted); }
body[data-design="v2"] [data-section="method"].is-light .eyebrow { color: var(--cyan-600); }
body[data-design="v2"] [data-section="method"].is-light .illustration-card:not(:last-child) .method-copy::after { background: var(--line); }
body[data-design="v2"] [data-section="method"].is-light .illustration-card h3 { color: var(--navy-900); }
body[data-design="v2"] [data-section="method"].is-light .illustration-card p { color: var(--muted); }
body[data-design="v2"] [data-section="method"].is-light .illustration-card:not(:last-child) .number::after { background: var(--line); }
/* The card frame and its bottom-right pocket are authored for a navy panel;
   on a light section they must borrow the dark-context line and paper ground. */
body[data-design="v2"] [data-section="method"].is-light .illustration-card { --line-light: var(--line); }
body[data-design="v2"] [data-section="method"].is-light .illustration-card::before { background: var(--paper); }
/* Five genuine stages get a legible connected sequence instead of narrow columns. */
body[data-design="v2"] [data-section="timeline"] > .page-shell { display: grid; grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr); gap: 96px; align-items: start; }
body[data-design="v2"] [data-section="timeline"] .timeline { grid-template-columns: 1fr; margin: 7px 0 0 22px; }
body[data-design="v2"] [data-section="timeline"] .timeline::before { display: none; }
body[data-design="v2"] [data-section="timeline"] .timeline-step,
body[data-design="v2"] [data-section="timeline"] .timeline-step:first-child { border-left: 2px solid var(--line); padding: 0 0 48px 48px; }
body[data-design="v2"] [data-section="timeline"] .timeline-step:last-child { padding: 0 0 0 48px; border-left-color: transparent; }
body[data-design="v2"] [data-section="timeline"] .step-number { top: -5px; left: -23px; width: 44px; height: 44px; transform: none; }
body[data-design="v2"] [data-section="timeline"] h3 { min-height: 0; }
body[data-design="v2"] [data-section="timeline"] .timeline-step p { max-width: 510px; font-size: 16px; }
body[data-design="v2"] [data-section="quote"] .quote-process { margin-top: 62px; }
body[data-design="v2"] [data-section="quote"] .clinical-boundary { margin-top: 48px; }
body[data-design="v2"]:not([data-page="home"]) .faq-group-title { padding-block: 22px 10px; }
@media (max-width:900px) {
 body[data-design="v2"]:not([data-page="home"]) main > .section:not([data-section="hero"]):not([data-section="results"]):not([data-section="cases"]) { padding-block: 64px; }
 body[data-design="v2"] .page-hero-copy { padding-block: 64px 36px; }
 body[data-design="v2"] .page-hero-media { height: 390px; }
 body[data-design="v2"] [data-section="timeline"] > .page-shell { grid-template-columns: 1fr; gap: 36px; }
 body[data-design="v2"] [data-section="timeline"] .section-head { margin: 0; }
}
@media (max-width:720px) {
 body[data-design="v2"]:not([data-page="home"]) main > .section:not([data-section="hero"]):not([data-section="results"]):not([data-section="cases"]) { padding-block: 56px; }
 body[data-design="v2"] .page-hero-copy { padding-block: 56px 30px; }
 body[data-design="v2"] .page-hero-media { height: 330px; }
 body[data-design="v2"] [data-section="quote"] .quote-process { margin-top: 38px; }
}

/* Supporting pages: reuse quiet cards without repeating homepage-only decoration. */
body[data-design="v2"]:not([data-page="home"]) [data-section="benefits"],
body[data-design="v2"]:not([data-page="home"]) [data-section="concerns"],
body[data-design="v2"]:not([data-page="home"]) [data-section="timeline"],
body[data-design="v2"]:not([data-page="home"]) [data-section="quote"],
body[data-design="v2"]:not([data-page="home"]) [data-section="locations"] { background: var(--white); }
/* Reuse the editorial dark treatment so the mid-page benefits grid on /adulti and
   /adolescenti breaks up the run of light sections after the hero. */
body[data-design="v2"][data-page="adulti"] [data-section="benefits"],
body[data-design="v2"][data-page="adolescenti"] [data-section="benefits"] { background: var(--navy-950); }
body[data-design="v2"][data-page="adulti"] [data-section="benefits"] h2,
body[data-design="v2"][data-page="adolescenti"] [data-section="benefits"] h2 { color: var(--white); }
body[data-design="v2"][data-page="adulti"] [data-section="benefits"] .eyebrow,
body[data-design="v2"][data-page="adolescenti"] [data-section="benefits"] .eyebrow { color: var(--cyan-500); }
body[data-design="v2"]:not([data-page="home"]) .benefit-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
body[data-design="v2"]:not([data-page="home"]) .benefit-item:nth-child(n) { display: grid; grid-template-columns: 40px minmax(0,1fr); gap: 6px 20px; padding: 24px; border: 0; border-radius: var(--radius-md); background: var(--paper); }
body[data-design="v2"]:not([data-page="home"]) .benefit-item .benefit-icon { grid-row: 1 / 3; width: 40px; height: 40px; margin: 0; }
body[data-design="v2"]:not([data-page="home"]) .benefit-item .benefit-icon svg { width: 36px; height: 36px; }
body[data-design="v2"]:not([data-page="home"]) .benefit-item h3 { grid-column: 2; margin: 0; min-height: 0; }
body[data-design="v2"]:not([data-page="home"]) .benefit-item p { grid-column: 2; margin: 0; font-size: 16px; }
body[data-design="v2"]:not([data-page="home"]) .editorial-visual { border-radius: var(--radius-lg); }
body[data-design="v2"]:not([data-page="home"]) .editorial-visual img[src*="why-ksmile"] { object-fit: contain; padding: 18px; }
body[data-design="v2"]:not([data-page="home"]) .concern-grid { gap: 14px; background: transparent; overflow: visible; }
body[data-design="v2"]:not([data-page="home"]) .concern-item {
 display: grid;
 grid-template-columns: 40px minmax(0,1fr);
 gap: 6px 20px;
 padding: 24px;
 border: 0;
 border-radius: var(--radius-md);
 background: var(--paper);
}
body[data-design="v2"]:not([data-page="home"]) .concern-item .line-icon { grid-row: 1 / 3; width: 40px; height: 40px; margin: 0; background: transparent; }
body[data-design="v2"]:not([data-page="home"]) .concern-item .line-icon svg { width: 24px; height: 24px; stroke-width: 1.7; }
body[data-design="v2"]:not([data-page="home"]) .concern-item h3 { grid-column: 2; min-height: 0; margin: 0; }
body[data-design="v2"]:not([data-page="home"]) .concern-item p { grid-column: 2; margin: 0; font-size: 16px; line-height: 1.6; }
body[data-design="v2"]:not([data-page="home"]) .timeline-step:nth-child(n) { margin-bottom: 20px; padding: 24px 28px 24px 48px; border: 0; border-radius: var(--radius-md); background: var(--paper); }
body[data-design="v2"]:not([data-page="home"]) .timeline-step .step-number { top: 24px; font-size: 18px; box-shadow: 0 0 0 7px var(--white); }
body[data-design="v2"]:not([data-page="home"]) .timeline-step:not(:last-child)::after { content: ''; position: absolute; top: 75px; bottom: -37px; left: -2px; width: 2px; background: var(--line); }
body[data-design="v2"]:not([data-page="home"]) .quote-process { gap: 28px; }
body[data-design="v2"]:not([data-page="home"]) .quote-step { padding: 28px; border: 0; border-radius: var(--radius-md); background: var(--paper); }
body[data-design="v2"]:not([data-page="home"]) .quote-step:not(:last-child)::after { top: 49px; left: auto; right: -28px; width: 28px; height: 2px; }
body[data-design="v2"]:not([data-page="home"]) .quote-step .step-number { background: var(--cyan-500); color: var(--navy-950); font-size: 18px; }
body[data-design="v2"]:not([data-page="home"]) .location-detail-side { position: relative; overflow: hidden; background: var(--paper); border-radius: var(--radius-lg); }
body[data-design="v2"]:not([data-page="home"]) .location-detail-side > * { position: relative; z-index: 1; }
body[data-design="v2"]:not([data-page="home"]) .location-detail-side .location-watermark { position: absolute; z-index: 0; top: 26px; right: 24px; width: 112px; aspect-ratio: 96 / 105; background: var(--navy-950); opacity: .06; mask: url('/assets/ksmile-k-watermark.svg') center / contain no-repeat; -webkit-mask: url('/assets/ksmile-k-watermark.svg') center / contain no-repeat; pointer-events: none; }
body[data-design="v2"]:not([data-page="home"]) .location-detail-side .line-icon { width: 58px; height: 58px; margin-bottom: 24px; background: var(--cyan-100); color: var(--cyan-600); }
body[data-design="v2"]:not([data-page="home"]) .location-detail-side .line-icon svg { width: 27px; height: 27px; stroke-width: 1.7; }
body[data-design="v2"]:not([data-page="home"]) .location-detail-main li { display: grid; grid-template-columns: 40px minmax(0,1fr); gap: 6px 20px; padding: 24px; margin-top: 16px; border: 0; border-radius: var(--radius-md); background: var(--paper); }
body[data-design="v2"]:not([data-page="home"]) .location-detail-main .line-icon { width: 40px; height: 40px; margin: 0; background: transparent; }
body[data-design="v2"]:not([data-page="home"]) .location-detail-main .line-icon svg { width: 24px; height: 24px; stroke-width: 1.7; }
body[data-design="v2"]:not([data-page="home"]) .location-detail-main li > span { min-width: 0; font-size: 16px; line-height: 1.6; }
body[data-design="v2"]:not([data-page="home"]) .location-detail-main li strong { display: block; margin-bottom: 6px; color: var(--navy-950); font-family: "Manrope", Arial, sans-serif; font-size: clamp(18px,1.45vw,22px); line-height: 1.15; }
body[data-design="v2"]:not([data-page="home"]) .location-detail-main li strong + br { display: none; }
body[data-design="v2"]:not([data-page="home"]) .faq-list { border-top: 1px solid var(--line); }
body[data-design="v2"]:not([data-page="home"]) .faq-item { margin: 0; padding: 0; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; background: transparent; }
body[data-design="v2"]:not([data-page="home"]) .faq-answer p { padding-right: 64px; }
@media (max-width:720px) {
 body[data-design="v2"]:not([data-page="home"]) .benefit-item:nth-child(n) { padding: 22px; grid-template-columns: 32px minmax(0,1fr); gap: 6px 16px; }
 body[data-design="v2"]:not([data-page="home"]) .benefit-item .benefit-icon,
 body[data-design="v2"]:not([data-page="home"]) .benefit-item .benefit-icon svg { width: 32px; height: 32px; }
}
@media (max-width:720px) {
 body[data-design="v2"]:not([data-page="home"]) .benefit-grid { grid-template-columns: 1fr; gap: 14px; }
 body[data-design="v2"]:not([data-page="home"]) .concern-item { grid-template-columns: 32px minmax(0,1fr); gap: 6px 16px; padding: 22px; }
 body[data-design="v2"]:not([data-page="home"]) .concern-item .line-icon { width: 32px; height: 32px; }
 body[data-design="v2"]:not([data-page="home"]) .concern-item .line-icon svg { width: 22px; height: 22px; }
 body[data-design="v2"]:not([data-page="home"]) .location-detail-main li { grid-template-columns: 32px minmax(0,1fr); gap: 6px 16px; padding: 22px; }
 body[data-design="v2"]:not([data-page="home"]) .location-detail-main .line-icon { width: 32px; height: 32px; }
 body[data-design="v2"]:not([data-page="home"]) .location-detail-main .line-icon svg { width: 22px; height: 22px; }
 body[data-design="v2"]:not([data-page="home"]) .timeline-step:nth-child(n) { padding: 24px 22px 24px 36px; }
 body[data-design="v2"]:not([data-page="home"]) .quote-step:not(:last-child)::after { top: auto; bottom: -28px; left: 49px; right: auto; width: 2px; height: 28px; }
 body[data-design="v2"]:not([data-page="home"]) .faq-item { padding: 0; }
 body[data-design="v2"]:not([data-page="home"]) .faq-answer p { padding-right: 48px; }
}

/* Approved patient-decision blocks: quiet questions, not another sales panel. */
body[data-design="v2"] .decision-support { display: grid; grid-template-columns: .9fr 1.1fr; gap: 44px; padding: 36px; border-radius: var(--radius-lg); background: var(--paper); }
body[data-design="v2"] .decision-support h2 { margin: 0; font-size: clamp(25px, 2.4vw, 34px); line-height: 1.2; }
body[data-design="v2"] .decision-copy { min-width: 0; }
body[data-design="v2"] .decision-copy p, body[data-design="v2"] .decision-copy li { font-size: 16px; line-height: 1.7; color: var(--muted); }
body[data-design="v2"] .decision-copy ul { margin: 0 0 22px; padding-left: 20px; }
body[data-design="v2"] .decision-copy li + li { margin-top: 12px; }
body[data-design="v2"] .parent-support { margin-top: 28px; }
body[data-design="v2"] .parent-support h3 { margin: 0 0 8px; font-size: 20px; }
body[data-design="v2"][data-page="bambini"] .benefit-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
body[data-design="v2"] .maintenance-link { display: inline-block; margin-top: 14px; text-underline-offset: 4px; line-height: 1.6; font-size: 15px; }
#maintenance { scroll-margin-top: 110px; }
@media (max-width:900px) {
 body[data-design="v2"] .decision-support { grid-template-columns: 1fr; gap: 22px; padding: 28px; }
 body[data-design="v2"][data-page="bambini"] .benefit-grid { grid-template-columns: 1fr; }
}
@media (max-width:480px) {
 body[data-design="v2"] .decision-support { padding: 24px; }
}

/* Approved supporting-page structure and supplied hero crops. */
body[data-design="v2"] .related-topics nav { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 40px; margin-top:32px; }
body[data-design="v2"] .related-topics nav a { display:flex; align-items:center; justify-content:space-between; gap:18px; min-height:64px; padding:18px 0; border-bottom:1px solid var(--line); text-decoration:none; font-weight:600; }
body[data-design="v2"] .related-topics nav a span { flex:none; }
body[data-design="v2"] .stage-question { padding-top:20px; border-top:1px solid var(--line); margin-top:24px; }
body[data-design="v2"] .stage-question strong { display:block; margin-bottom:9px; font-size:12px; line-height:1.5; color:var(--navy-950); }
body[data-design="v2"] .concern-topic { margin-top:44px; }
body[data-design="v2"] .concern-topic-title { font-size:clamp(24px,2.5vw,32px); margin-bottom:26px; }
body[data-design="v2"] .faq-topics { display:grid; margin-top:28px; }
body[data-design="v2"] .faq-topics a { padding:12px 0; min-height:44px; text-underline-offset:5px; }
body[data-design="v2"] .faq-topic-group + .faq-topic-group { margin-top:36px; }
body[data-design="v2"] .faq-topic-group h3 { scroll-margin-top:120px; margin:0 0 12px; font-size:20px; letter-spacing:-.02em; text-transform:none; }
body[data-design="v2"] .routine-note { margin-top:44px; }
body[data-design="v2"] .routine-note .decision-support { background:var(--paper); color:var(--ink); }
body[data-design="v2"] .routine-note .decision-support h2 { color:var(--navy-950); }
body[data-design="v2"] .request-explanation .section-intro { max-width:850px; }
body[data-design="v2"] .address-first { grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); }
body[data-design="v2"] .address-first .location-detail-side h2 { font-size:clamp(25px,2.5vw,32px); line-height:1.2; }
body[data-design="v2"] .back-to-centres { display:inline-flex; align-items:center; min-height:44px; margin-top:20px; text-underline-offset:5px; }
body[data-design="v2"] .has-supplied-hero .page-hero-media img { object-position:var(--hero-focus,75%) 40%; }
@media (min-width:901px) {
 body[data-design="v2"] .has-supplied-hero:not(.portrait-hero) .page-hero-media { width:100%; }
 body[data-design="v2"] .has-supplied-hero:not(.portrait-hero) .page-hero-media::after { background:linear-gradient(90deg,var(--navy-950),rgba(7,26,42,.3) 38%,transparent 56%); }
 body[data-design="v2"] .has-supplied-hero:not(.portrait-hero) .page-hero-copy h1 { max-width:48%; }
}
@media (max-width:900px) {
 body[data-design="v2"] .address-first { grid-template-columns:1fr; }
 body[data-design="v2"] .has-supplied-hero .page-hero-media img { object-position:var(--hero-focus,75%) 35%; }
 body[data-design="v2"] .portrait-hero .page-hero-media { height:440px; }
}
@media (max-width:720px) {
 body[data-design="v2"] .related-topics nav { grid-template-columns:1fr; }
 body[data-design="v2"] .portrait-hero .page-hero-media { height:370px; }
}

/* White homepage-style cutout cards with a sticky introductory column. */
body[data-design="v2"]:is([data-page="come"],[data-page="bambini"],[data-page="costs"]) .guided-process { --line-light:var(--line); background:var(--white); overflow:visible; }
body[data-design="v2"]:is([data-page="come"],[data-page="bambini"],[data-page="costs"]) .guided-process > .guided-layout { display:grid; grid-template-columns:minmax(300px,.85fr) minmax(0,1.25fr); grid-template-rows:auto; gap:72px; align-items:start; }
body[data-design="v2"] .guided-sidebar { position:sticky; top:110px; display:flex; flex-direction:column; align-self:start; gap:24px; max-height:calc(100svh - 134px); min-width:0; }
body[data-design="v2"] .guided-heading { min-height:0; overflow-y:auto; scrollbar-width:thin; }
body[data-design="v2"] .guided-heading h2 { font-size:clamp(34px,3.2vw,46px); line-height:1.08; }
body[data-design="v2"] .guided-heading .section-intro { margin-top:24px; font-size:16px; line-height:1.65; }
body[data-design="v2"] .guided-cards { display:grid; grid-template-columns:minmax(0,1fr); grid-template-rows:none; gap:42px; list-style:none; margin:0; padding:0; }
body[data-design="v2"] .guided-card { min-width:0; background:var(--white); }
body[data-design="v2"] .guided-card::before { background:var(--white); }
body[data-design="v2"] .guided-card .illustration-media { height:220px; aspect-ratio:auto; padding:0; border:0; background:var(--white); }
body[data-design="v2"] .guided-card .illustration-media img { position:static; display:block; width:100%; height:100%; object-fit:contain; }
body[data-design="v2"] .guided-card .method-copy { padding:24px 0 64px; }
body[data-design="v2"] .guided-card h3 { color:var(--navy-950); font-size:clamp(23px,2vw,28px); line-height:1.25; margin:0; }
body[data-design="v2"] .guided-card p { max-width:none; margin-top:16px; color:var(--muted); font-size:17px; line-height:1.7; }
body[data-design="v2"] .guided-card .number { color:var(--navy-950); background:var(--cyan-500); }
body[data-design="v2"] .guided-card:not(:last-child) .method-copy::after { right:41px; bottom:-44px; width:2px; height:40px; background:var(--cyan-500); }
body[data-design="v2"] .guided-content { min-width:0; }
body[data-design="v2"] .guided-content > .clinical-boundary { margin-top:42px; }
body[data-design="v2"] .guided-continuity { flex:none; display:flex; align-items:flex-start; gap:16px; padding:24px; background:var(--paper); border-radius:var(--radius-md); }
body[data-design="v2"] .guided-continuity svg { flex:none; width:32px; height:32px; stroke:var(--navy-950); stroke-width:1.5; fill:none; }
body[data-design="v2"] .guided-continuity svg path+path { stroke:var(--cyan-600); }
body[data-design="v2"] .guided-continuity h3 { font-size:18px; line-height:1.4; }
body[data-design="v2"] .guided-continuity p { margin-top:10px; color:var(--muted); font-size:14px; line-height:1.6; }
body[data-design="v2"] .guided-sidebar .maintenance-link { flex:none; display:inline-flex; align-items:center; margin:0; min-height:44px; font-size:14px; }
@media(min-width:901px) and (max-width:1100px) {
 body[data-design="v2"]:is([data-page="come"],[data-page="bambini"],[data-page="costs"]) .guided-process > .guided-layout { grid-template-columns:minmax(280px,.85fr) minmax(0,1.25fr); gap:36px; }
 body[data-design="v2"] .guided-sidebar { top:100px; max-height:calc(100svh - 124px); gap:18px; }
 body[data-design="v2"] .guided-continuity { padding:20px; }
}
@media(max-width:900px) {
 body[data-design="v2"]:is([data-page="come"],[data-page="bambini"],[data-page="costs"]) .guided-process > .guided-layout { grid-template-columns:minmax(0,1fr); grid-template-rows:auto; gap:40px; }
 body[data-design="v2"] .guided-sidebar { position:static; max-height:none; gap:24px; }
 body[data-design="v2"] .guided-heading { overflow:visible; }
 body[data-design="v2"] .guided-heading h2 { font-size:clamp(34px,6.3vw,46px); }
 body[data-design="v2"] .guided-card .illustration-media { height:210px; }
}
@media(max-width:480px) {
 body[data-design="v2"] .guided-card { padding:24px; }
 body[data-design="v2"] .guided-card .illustration-media { height:190px; }
 body[data-design="v2"] .guided-card p { font-size:16px; }
}

/* Approved scenes use the established method-card shell and corner pocket. */
body[data-design="v2"] .imagery-benefits .has-illustrations { overflow:visible; }
body[data-design="v2"]:is([data-page="adulti"],[data-page="adolescenti"]) .imagery-benefits .concept-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
body[data-design="v2"] .imagery-benefits .concept-card .method-copy::after { display:none; }
body[data-design="v2"] .imagery-benefits .concept-icon svg { width:24px; height:24px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
body[data-design="v2"]:is([data-page="adulti"],[data-page="adolescenti"],[data-page="bambini"],[data-page="costs"]) .section.is-light { background:var(--white); }
@media(max-width:900px) {
 body[data-design="v2"]:is([data-page="adulti"],[data-page="adolescenti"]) .imagery-benefits .concept-grid { grid-template-columns:minmax(0,1fr); }
}
