/* Practical visitor guidance inherits Cassini's type, colour and spacing roles. */
.cv-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:var(--layout-heading-gap);padding:var(--layout-section) var(--layout-gutter);background:var(--wash)}
.co-main .cv-hero h1{font-size:clamp(3.75rem,6.4vw,6rem);max-width:10ch}
.cv-hero>div{max-width:42ch}
.cv-hero p{margin:0 0 1.75rem;color:var(--muted)}
:is(.cv-hero,.cv-location,.cv-contact) .co-text-link svg{flex-shrink:0;width:20px;height:20px}
.cv-jump{display:flex;flex-wrap:wrap;gap:.5rem 2rem;padding:1rem var(--layout-gutter);border-bottom:1px solid var(--line)}
.cv-jump a{display:inline-flex;align-items:center;min-height:44px;color:var(--link);font-size:var(--type-action);font-weight:600;text-underline-offset:5px;text-decoration-thickness:1px}
:is(.cv-arrival,.cv-packing,.cv-questions){display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(2rem,7vw,7rem)}
:is(.cv-arrival,.cv-packing,.cv-questions) h2{max-width:13ch}
:is(.cv-arrival,.cv-packing,.cv-questions) p{max-width:60ch;color:var(--muted);line-height:1.8;margin:1.5rem 0 0}
.cv-location>p{color:var(--ink);margin-bottom:1.5rem}
.cv-arrival-copy>p:first-child{margin-top:0}
.cv-arrival-copy>div{margin-top:2rem;padding-top:2rem;border-top:1px solid var(--line)}
.cv-arrival-copy h3{font-size:1.625rem}
.cv-arrival-copy h3+p{margin-top:1rem}
.cv-packing{background:var(--wash)}
.cv-packing-list{list-style:disc outside;margin:0;padding-left:1.25rem;display:grid;gap:1rem;font-size:var(--type-body);line-height:1.8;color:var(--ink)}
.cv-packing-list li{padding-left:.5rem}
.cv-packing-list li::marker{color:var(--link)}
.cv-glass{margin-top:2rem;padding-top:2rem;border-top:1px solid var(--control-border)}
.cv-glass h3{font-size:1.625rem}
.cv-glass p{margin-top:.75rem}
.cv-questions .faq-list{min-width:0}
.cv-questions .faq-list summary{gap:1.5rem;font-size:1.25rem;line-height:1.5;font-weight:600}
.cv-questions .faq-list summary>span:first-child{min-width:0}
.cv-questions .faq-list summary>span[aria-hidden="true"]{flex-shrink:0}
.cv-questions .faq-list p{margin:0 0 1.75rem;font-size:var(--type-body);line-height:1.8}
.cv-questions .faq-list a{color:var(--link);text-underline-offset:4px}
.cv-contact{display:flex;justify-content:space-between;align-items:center;gap:var(--layout-heading-gap);background:var(--wash)}
.cv-contact p{max-width:48ch;margin:1.5rem 0 0;color:var(--muted)}
.cv-contact .co-actions{align-items:center;gap:1.5rem}
:is(.cv-arrival,.cv-packing,.cv-questions) [id],#boarding,#what-to-bring{scroll-margin-top:2rem}
@media(max-width:900px){
 .cv-hero{grid-template-columns:minmax(0,1fr);gap:2rem}
 .cv-hero>div{max-width:56ch}
 .cv-hero h1 br{display:none}
 :is(.cv-arrival,.cv-packing,.cv-questions){grid-template-columns:minmax(0,1fr);gap:2rem}
 :is(.cv-arrival,.cv-packing,.cv-questions) h2{max-width:none}
 .cv-contact{display:block}
 .cv-contact .co-actions{margin-top:2rem}
}
@media(max-width:540px){
 .cv-jump{column-gap:1.5rem}
 .cv-contact .co-actions{align-items:flex-start;flex-direction:column}
 .cv-questions .faq-list summary{padding-block:1.5rem}
}
