.fp-info { padding-top: clamp(9rem,14vw,13rem); padding-bottom: clamp(4rem,8vw,8rem); min-height: 75vh; }
.fp-info header { max-width: 64rem; margin: 2.5rem 0; }
.fp-info h1 { font-size: clamp(2.4rem,5.8vw,6rem); line-height: 1.04; letter-spacing: -.035em; overflow-wrap: anywhere; hyphens: auto; }
.fp-breadcrumb { display: flex; flex-wrap: wrap; gap: .5rem; font-size: .9rem; color: #c0c9c3; }
.fp-prose { max-width: 58rem; font-size: 1.1rem; line-height: 1.7; color: #e3e7df; }
.fp-prose > * + * { margin-top: 1.25rem; }
.fp-prose h2 { font-size: clamp(1.5rem,3vw,2.3rem); line-height: 1.15; margin-top: 2.5rem; overflow-wrap: anywhere; }
.fp-prose h3 { font-size: 1.35rem; line-height: 1.3; }
.fp-prose a:not(.fp-button) { color: #d0ff36; text-decoration: underline; text-underline-offset: .2em; }
.fp-prose img { max-width: 100%; height: auto; border-radius: 1rem; }
.fp-prose ul,.fp-prose ol { padding-left: 1.5rem; }
.fp-prose details { padding: 1.25rem; border: 1px solid #455449; border-radius: .7rem; background: #112219; }
.fp-prose summary { cursor: pointer; font-size: 1.2rem; font-weight: 700; line-height: 1.4; }
.fp-prose details p { margin-top: 1rem; }
.fp-editorial-note { border-left: 3px solid #ccff32; padding: 1.2rem 1.4rem; background: #183021; font-size: 1rem; }
.fp-download { display: grid; gap: .25rem; border: 1px solid #4b604f; padding: 1.5rem; border-radius: .75rem; margin-bottom: 1rem; text-decoration: none; }
.fp-download span { font-size: 1rem; color: #d6ded5; }
.fp-article-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.5rem; }
.fp-article-grid article { padding: 1.5rem; border: 1px solid #455449; border-radius: 1rem; }
.fp-article-grid h2 { margin-top: 1rem; font-size: 1.7rem; }
.fp-text-button { background: none; border: 0; color: inherit; font: inherit; text-align: left; text-decoration: underline; text-underline-offset: .2em; cursor: pointer; padding: .5rem 0; }
.fp-footer__inner { flex-wrap: wrap; gap: 1rem 1.5rem; }
.fp-footer a,.fp-footer button { color: #c6cec8; }
.fp-footer a:hover,.fp-footer button:hover { color: #ccff32; }
.fp-footer { padding-bottom: 5.5rem; }
.fp-consent { position: fixed; inset: 0; margin: auto; width: min(94vw,44rem); max-height: 90dvh; color: #172015; background: #f2efe5; border: 1px solid #5e744b; border-radius: 1.2rem; padding: 0; z-index: 10000; }
.fp-consent::backdrop { background: #000a; backdrop-filter: blur(5px); }
.fp-consent__inner { padding: clamp(1.25rem,4vw,2.25rem); max-height: 90dvh; display: flex; flex-direction: column; }
.fp-consent__scroll { overflow-y: auto; min-height: 0; }
.fp-consent .fp-kicker { color: #42600b; }
.fp-consent h2 { margin: .75rem 0; font-size: clamp(1.8rem,4vw,2.7rem); line-height: 1.05; }
.fp-consent p { margin: 1rem 0; line-height: 1.5; }
.fp-consent a { color: #264600; text-decoration: underline; }
.fp-consent label { display: flex; gap: .9rem; padding: .8rem 0; align-items: flex-start; cursor: pointer; }
.fp-consent label strong { display: block; margin-bottom: .2rem; }
.fp-consent input { flex-shrink: 0; width: 1.4rem; height: 1.4rem; accent-color: #315200; }
.fp-consent__actions { display: flex; flex-wrap: wrap; gap: .65rem; flex-shrink: 0; padding-top: .8rem; }
.fp-consent__actions button { flex: 1 1 9rem; border: 1px solid #233719; border-radius: .35rem; padding: .9rem .7rem; font: inherit; font-weight: 700; color: #f5f4e9; background: #233719; cursor: pointer; }
.fp-consent__actions button:hover { background: #3c572b; }
:focus-visible { outline: 3px solid #90be23; outline-offset: 4px; }
.fp-nav-submenu { max-height: 75dvh; overflow-y: auto; }
.fp-hero__grid { padding-bottom: 5.5rem; }
.fp-pricing-byo { padding: clamp(3rem, 6vw, 6rem) 0; background: #f1eee5; color: #111914; }
.fp-pricing-byo__inner { display: grid; grid-template-columns: minmax(0, 1fr) minmax(16rem, .7fr); align-items: center; gap: 3rem; }
.fp-pricing-byo .fp-kicker { color: #527000; }
.fp-pricing-byo h2 { max-width: 13ch; margin: 0; font-size: clamp(2.5rem, 5vw, 4.5rem); line-height: 1; text-transform: uppercase; }
.fp-pricing-byo__action { display: grid; justify-items: start; gap: 1rem; }
.fp-pricing-byo__action strong { font-size: 3rem; line-height: 1.2; }
.fp-pricing-byo__action small { font-size: 1rem; font-weight: 600; }
.fp-pricing-byo__action p { margin: 0; }
.fp-info header.fp-info__illustrated { max-width: none; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .8fr); align-items: center; gap: 2.5rem; }
.fp-info__illustrated img { width: 100%; aspect-ratio: 1.4; object-fit: cover; border-radius: 1rem 5rem 1rem 1rem; }
.fp-info__illustrated h1 { font-size: clamp(2.6rem, 5vw, 5rem); }
@media (max-width: 780px) { .fp-pricing-byo__inner, .fp-info header.fp-info__illustrated { grid-template-columns: 1fr; gap: 1.8rem; } }
.fp-group-packages { padding: clamp(3rem,7vw,7rem) 0; background: #101f17; color: #eee; }
.fp-group-packages h2 { max-width: 50rem; font-size: clamp(2.5rem,5vw,4.5rem); line-height: 1.05; margin-bottom: 2rem; }
.fp-group-packages__grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1rem; }
.fp-group-packages article { padding: 1.5rem; background: #192b1f; border: 1px solid #42543d; border-radius: 1rem; display: flex; flex-direction: column; gap: .9rem; }
.fp-group-packages h3 { font-size: clamp(1.5rem,2.1vw,2.1rem); }
.fp-group-packages strong { font-size: 2.5rem; color: #ccff32; }
.fp-group-packages p { color: #d2dcd2; line-height: 1.5; }
.fp-group-packages a { color: #ccff32; margin-top: auto; }
.fp-group-packages__note { margin-top: 1.5rem; max-width: 60rem; }
.fp-booking-context { padding: 1rem; border: 1px solid #6c8e36; border-radius: .5rem; margin-bottom: 1.5rem; background: #f0f5e4; color: #233719; }
.fp-booking-page .fp-policy-text,.fp-booking-page .fp-field-hint { color: #495447; font-size: .95rem; line-height: 1.6; }
.fp-booking-page a:not(.fp-button) { color: #365115; text-decoration: underline; }
.fp-booking-page .fp-pkg-price { white-space: nowrap; }
.fp-chat__ai-consent { grid-column: 1/-1; font-size: .85rem; line-height: 1.5; }
.fp-chat__ai-consent input { width: auto; }
@media(max-width:1060px) { .fp-group-packages__grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) { .fp-article-grid,.fp-group-packages__grid { grid-template-columns: 1fr; } .fp-prose { font-size: 1rem; } .fp-footer__inner { align-items: flex-start; } }
@media print { .fp-header,.fp-footer,.fp-chat,.fp-consent { display:none!important; } .fp-info { padding:0; } .fp-prose,.fp-prose a {color:black!important;} .fp-prose details> * {display:block;} }
