.visitor-guide { --vg-line: #dfe5f0; }
.visitor-guide .vg-intro { padding-top: 70px; padding-bottom: 55px; }
.visitor-guide h1 { max-width: 900px; }
.visitor-guide .vg-lead { max-width: 780px; }
.visitor-guide .vg-eyebrow { color: var(--blue); font-weight: 700; margin-bottom: 12px; }
.visitor-guide .vg-section { padding-top: 64px; padding-bottom: 64px; scroll-margin-top: 100px; }
.visitor-guide .vg-tint { background: var(--blue-ll); }
.visitor-guide .vg-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; margin: 28px 0; }
.visitor-guide .vg-four { grid-template-columns: repeat(4,minmax(0,1fr)); }
.visitor-guide .vg-two { grid-template-columns: repeat(2,minmax(0,1fr)); }
.visitor-guide .vg-card { padding: 26px; border: 1px solid var(--vg-line); border-radius: 18px; background: white; }
.visitor-guide .vg-card p:last-child { margin-bottom: 0; }
.visitor-guide .vg-facts { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 25px; margin: 30px 0; padding: 25px 0; border-top: 1px solid var(--vg-line); border-bottom: 1px solid var(--vg-line); }
.visitor-guide .vg-facts strong,.visitor-guide .vg-facts span { display: block; }
.visitor-guide .vg-facts strong { color:var(--blue); margin-bottom:8px; }
.visitor-guide .vg-secondary { display: inline-block; margin: 12px 22px; }
.visitor-guide .vg-nav { background:white; border-block:1px solid var(--vg-line); }
.visitor-guide .vg-nav .container { display:flex; flex-wrap:wrap; gap:12px 26px; padding-block:18px; }
.visitor-guide .vg-nav a { font-weight:700; }
.visitor-guide .vg-price { display:grid; grid-template-columns:1fr 1fr; gap:40px; border:1px solid var(--vg-line); border-radius:22px; padding:36px; }
.visitor-guide .vg-price-values { display:flex; flex-wrap:wrap; gap:24px; }
.visitor-guide .vg-price-values span,.visitor-guide .vg-price-values strong { display:block; }
.visitor-guide .vg-price-values strong { color:var(--blue); font-size:1.65em; }
.visitor-guide .vg-note { margin-top:24px; max-width:900px; }
.visitor-guide .vg-school { border:1px solid var(--vg-line); border-radius:16px; margin:16px 0; scroll-margin-top:100px; overflow:hidden; }
.visitor-guide .vg-school summary { padding:25px 28px; display:flex; justify-content:space-between; gap:24px; cursor:pointer; list-style:none; }
.visitor-guide .vg-school summary::-webkit-details-marker { display:none; }
.visitor-guide .vg-school summary strong { display:block; font-size:1.3em; margin-bottom:8px; }
.visitor-guide .vg-school summary .vg-eyebrow { display:block; margin-bottom:6px; }
.visitor-guide .vg-plus { color:var(--blue); font-size:2em; }
.visitor-guide .vg-school[open] .vg-plus { transform:rotate(45deg); }
.visitor-guide .vg-school[open] summary { background:var(--blue-ll); }
.visitor-guide .vg-school-body { padding:28px; }
.visitor-guide .vg-gallery { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:24px 0; }
.visitor-guide .vg-gallery img { width:100%; height:auto; aspect-ratio:3/2; object-fit:cover; border-radius:10px; }
.visitor-guide .vg-resources { display:flex; gap:15px 25px; flex-wrap:wrap; }
.visitor-guide .vg-faq { border-bottom:1px solid var(--vg-line); padding:20px 0; }
.visitor-guide .vg-faq summary { font-weight:700; cursor:pointer; }
.visitor-guide .vg-faq p { padding-top:16px; max-width:900px; white-space:pre-line; }
.visitor-guide :focus-visible { outline:3px solid var(--blue); outline-offset:5px; }
@media(max-width:991px) { .visitor-guide .vg-four { grid-template-columns:repeat(2,minmax(0,1fr)); } .visitor-guide .vg-price { gap:24px; padding:24px; } }
@media(max-width:767px) { .visitor-guide .vg-intro { padding-top:35px; } .visitor-guide .vg-section { padding-block:40px; } .visitor-guide .vg-grid,.visitor-guide .vg-price,.visitor-guide .vg-facts { grid-template-columns:1fr; } .visitor-guide .vg-facts { gap:18px; } .visitor-guide .vg-card,.visitor-guide .vg-school summary,.visitor-guide .vg-school-body { padding:20px; } .visitor-guide .vg-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); } .visitor-guide .vg-secondary { margin-left:0; } }
