.faq-card { overflow: hidden; border: 1px solid #d8d0c6; border-radius: 18px; background: rgba(255,255,255,.94); box-shadow: 0 4px 15px rgba(49,39,33,.05); transition: all .3s ease; }
.faq-card:hover { transform: translateY(-3px); border-color: #baad9d; box-shadow: 0 12px 28px rgba(49,39,33,.1); }
.faq-card[open] { border-color: #978270; box-shadow: 0 12px 30px rgba(94,72,58,.12); }
.faq-card summary { display:flex; align-items:center; gap:15px; padding:20px 22px; cursor:pointer; list-style:none; }
.faq-card summary::-webkit-details-marker { display:none; }
.faq-number { display:flex; align-items:center; justify-content:center; min-width:38px; height:38px; border-radius:50%; background:#ece9e4; color:#5e483a; font-size:12px; font-weight:800; }
.faq-card[open] .faq-number { background:#5e483a; color:#fff; }
.faq-question { flex:1; color:#312721; font-size:16px; font-weight:700; line-height:1.5; }
.faq-icon { display:flex; align-items:center; justify-content:center; min-width:34px; height:34px; border-radius:50%; background:#f6f5f3; color:#5e483a; transition:all .3s ease; }
.faq-card[open] .faq-icon { transform:rotate(45deg); background:#5e483a; color:#fff; }
.faq-answer { border-top:1px solid #ece9e4; padding:0 22px 21px 75px; color:#647060; font-size:14px; line-height:1.8; }
.faq-card:not([open]) > .faq-answer { display:none; padding:0; min-height:0; border-top:0; }
.zone-wrapper { display:grid; grid-template-columns:50px 1fr 50px; align-items:center; gap:20px; margin-top:40px; }
.zone-card { background:#fff; border:1px solid #eae6e2; border-radius:20px; overflow:hidden; transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease; }
.zone-card:hover { transform:translateY(-5px); border-color:#d4cdc3; box-shadow:0 15px 35px rgba(49,39,33,.1); }
.zone-image-wrapper { width:100%; height:230px; overflow:hidden; background:#ece9e4; }
.zone-image { width:100%; height:100%; object-fit:cover; display:block; transition:transform .5s ease; }
.zone-card:hover .zone-image { transform:scale(1.05); }
.zone-card-content { padding:23px 22px 24px; }
.zone-label { font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.13em; color:#77614d; margin-bottom:8px; }
.zone-name { font-family:'Playfair Display',serif; font-size:25px; line-height:1.2; font-weight:700; color:#312721; margin-bottom:10px; }
.zone-description { font-size:14px; line-height:1.7; color:#687363; min-height:72px; }
.zone-distance { display:flex; align-items:center; gap:8px; margin-top:17px; padding-top:14px; border-top:1px solid #f0edea; font-size:12px; color:#687363; }
.zone-distance i { color:#bc8c3f; font-size:12px; }
.zone-arrow { width:40px; height:40px; display:flex; align-items:center; justify-content:center; border-radius:50%; background:#fff; border:1px solid #d8d0c6; color:#5e483a; box-shadow:0 8px 20px rgba(49,39,33,.12); cursor:pointer; transition:all .3s ease; }
.zone-arrow:hover:not(:disabled) { background:#5e483a; color:#fff; border-color:#5e483a; transform:scale(1.08); }
.zone-arrow:disabled { opacity:.3; cursor:not-allowed; background:#f6f5f3; color:#5e483a; box-shadow:none; }
@media (max-width:767px) { .zone-wrapper { grid-template-columns:36px 1fr 36px; gap:8px; margin-top:35px; } .zone-arrow { width:36px; height:36px; font-size:12px; } .zone-image-wrapper { height:220px; } .zone-card-content { padding:21px; } .zone-name { font-size:23px; } .zone-description { font-size:14px; min-height:auto; } .faq-card summary { gap:10px; padding:17px; } .faq-question { font-size:16px; } .faq-number { min-width:32px; height:32px; font-size:10px; } .faq-icon { min-width:30px; height:30px; } .faq-answer { padding:0 17px 18px 59px; } }

/* Sticky in-page section nav */
.tr-snav { position: sticky; top: 5.4rem; z-index: 30; display: flex; justify-content: center; padding: .7rem 1rem; pointer-events: none; }
.tr-snav-in { pointer-events: auto; display: flex; gap: .25rem; max-width: 100%; overflow-x: auto; scrollbar-width: none; padding: .35rem; border-radius: 999px; background: rgba(255,252,244,.82); -webkit-backdrop-filter: blur(16px) saturate(150%); backdrop-filter: blur(16px) saturate(150%); border: 1px solid rgba(188,140,63,.3); box-shadow: 0 12px 30px -18px rgba(40,25,15,.45); }
.tr-snav-in::-webkit-scrollbar { display: none; }
.tr-snav a { flex: none; padding: .5rem .95rem; border-radius: 999px; font-size: .8rem; font-weight: 600; color: #5e483a; white-space: nowrap; transition: background .25s, color .25s; }
.tr-snav a:hover { background: rgba(188,140,63,.15); }
.tr-snav a.is-on { background: #34241b; color: #f4ead3; }
main section[id] { scroll-margin-top: 9rem; }
@media (max-width: 767px) { .tr-snav { top: 4.9rem; padding: .5rem .6rem; } }
