/* vanilla base reset (no framework) */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; font-family: var(--ibci5-font, system-ui, -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif); line-height: 1.5; color: var(--ibci5-ink, #111); background: var(--ibci5-bg, #fff); }
h1, h2, h3, h4, h5, h6 { font-family: var(--ibci5-font-display, var(--ibci5-font, system-ui, sans-serif)); }
img, svg, video, canvas { max-width: 100%; height: auto; }
a { color: inherit; }
*:focus-visible { outline: 2px solid var(--ibci5-primary, #2563eb); outline-offset: 2px; }
/* visibility shim for framework toggles */
.hidden { display: none !important; }

/* design tokens */
:root {
  --ibci5-primary: #2F5D45;
  --ibci5-secondary: #3B6E8F;
  --ibci5-accent: #C9A227;
  --ibci5-ink: #2E2A24;
  --ibci5-slate: #5F584C;
  --ibci5-mist: #E3D6C3;
  --ibci5-border: #D9CCB8;
  --ibci5-surface: #FFFFFF;
  --ibci5-bg: #F4EDE1;
  --ibci5-text: #2E2A24;
  --ibci5-font: 'Avenir Next', Avenir, 'Segoe UI', system-ui, sans-serif;
  --ibci5-font-display: 'Avenir Next', Avenir, 'Segoe UI', 'Century Gothic', sans-serif;
}

/* state utilities */
.is-open { display: block !important; }
.is-active { display: block !important; }
[hidden] { display: none !important; }

/* framework-injected components (vanilla) */
[data-ibci5-ui="cookie-banner"] { position: fixed; left: 1rem; right: 1rem; bottom: 1rem; z-index: 9999; margin: 0 auto; max-width: 56rem; border: 1px solid var(--ibci5-border, #e5e7eb); background: var(--ibci5-surface, #fff); border-radius: 1rem; padding: 1rem; box-shadow: 0 10px 30px rgba(0,0,0,.15); }
[data-ibci5-ui="cookie-banner"] > div { display: flex; flex-wrap: wrap; gap: 1rem; align-items: flex-start; justify-content: space-between; }
[data-ibci5-ui="cookie-banner"] > div > div:last-child { display: flex; flex-wrap: wrap; gap: .5rem; }
[data-ibci5-ui="cookie-banner"] a { text-decoration: underline; }
[data-ibci5-cs-action], [data-ibci5-ag-action] { cursor: pointer; border-radius: .5rem; padding: .5rem .9rem; font-size: .8rem; border: 1px solid var(--ibci5-border, #d1d5db); background: transparent; color: var(--ibci5-ink, #111); }
[data-ibci5-cs-action="accept-all"], [data-ibci5-cs-action="save"], [data-ibci5-ag-action="confirm"] { background: var(--ibci5-primary, #2563eb); color: #fff; border-color: transparent; font-weight: 600; }
[data-ibci5-cs-action="reject-all"] { background: var(--ibci5-ink, #111); color: #fff; border-color: transparent; font-weight: 600; }
[data-ibci5-cs-panel] { margin-top: 1rem; border: 1px solid var(--ibci5-border, #e5e7eb); background: var(--ibci5-surface, #fff); border-radius: .75rem; padding: 1rem; font-size: .875rem; }
[data-ibci5-cs-panel] > div { display: flex; flex-wrap: wrap; gap: .75rem; }
[data-ibci5-ui="cookie-banner"] label { display: inline-flex; align-items: center; gap: .5rem; }
[data-ibci5-ui="age-gate-overlay"] { position: fixed; inset: 0; z-index: 10000; display: flex; align-items: center; justify-content: center; background: rgba(0,0,0,.8); }
[data-ibci5-ui="age-gate-overlay"] > div { width: 100%; max-width: 28rem; margin: 0 1rem; background: var(--ibci5-surface, #1a1a2e); color: var(--ibci5-ink, #fff); border-radius: 1rem; padding: 2rem; text-align: center; box-shadow: 0 20px 60px rgba(0,0,0,.4); }
[data-ibci5-ui="age-gate-overlay"] > div > div:last-of-type { display: flex; flex-direction: column; gap: .75rem; }
[data-ibci5-ag-action] { padding: .75rem 1.5rem; }

/* sections */
/* ibci5:header */
/* ibci5:header */
#header.site-header{position:sticky;top:0;z-index:60;background:var(--ibci5-bg);border-bottom:1px solid var(--ibci5-border);font-family:inherit}
#header.is-scrolled{box-shadow:0 6px 18px rgba(47,93,69,.14)}
.site-header__inner{max-width:72rem;margin:0 auto;padding:.75rem clamp(1rem,4vw,3rem);display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:4rem}
.brand{display:inline-flex;align-items:center;gap:.5rem;text-decoration:none;color:var(--ibci5-ink);font-weight:700;font-size:1.05rem;letter-spacing:-.015em}
.brand__mark{display:grid;place-items:center;width:2rem;height:2rem;border-radius:10px;background:var(--ibci5-primary);color:var(--ibci5-surface);font-size:.95rem;line-height:1}
.primary-nav{display:flex;align-items:center;gap:clamp(1rem,2vw,1.75rem)}
.primary-nav__list{display:flex;align-items:center;gap:clamp(1rem,2vw,1.5rem);list-style:none;margin:0;padding:0}
.primary-nav__list a{display:inline-block;color:var(--ibci5-slate);text-decoration:none;font-size:.95rem;font-weight:500;padding:.4rem 0;border-bottom:2px solid transparent;transition:color .18s ease,border-color .18s ease}
.primary-nav__list a:hover{color:var(--ibci5-primary);border-bottom-color:var(--ibci5-accent)}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.6rem 1.1rem;border-radius:10px;font-weight:600;font-size:.95rem;text-decoration:none;border:1px solid transparent;transition:transform .18s ease,background-color .18s ease,color .18s ease}
.button--primary{background:var(--ibci5-primary);color:var(--ibci5-surface);border-color:var(--ibci5-primary)}
.button--primary:hover{background:var(--ibci5-accent);border-color:var(--ibci5-accent);color:var(--ibci5-ink);transform:translateY(-2px)}
.site-header__note{margin:0;max-width:72rem;padding:0 clamp(1rem,4vw,3rem) .6rem;font-size:.8rem;color:var(--ibci5-slate);text-wrap:balance}
.nav-toggle{display:none}
.brand:focus-visible,.primary-nav a:focus-visible,.nav-toggle:focus-visible,.button:focus-visible{outline:2px solid var(--ibci5-secondary);outline-offset:2px}
@media (max-width:768px){
  .nav-toggle{display:inline-flex;align-items:center;gap:.5rem;min-height:44px;padding:.5rem .85rem;background:var(--ibci5-surface);border:1px solid var(--ibci5-border);border-radius:10px;color:var(--ibci5-ink);font:inherit;font-weight:600;font-size:.95rem;cursor:pointer}
  .primary-nav{display:none}
  .nav-toggle[aria-expanded="true"] ~ .primary-nav{display:flex;flex-direction:column;align-items:stretch;position:absolute;left:0;right:0;top:100%;padding:1rem clamp(1rem,4vw,3rem) 1.25rem;gap:1rem;background:var(--ibci5-surface);border-bottom:1px solid var(--ibci5-border)}
  .primary-nav__list{flex-direction:column;align-items:flex-start;gap:.6rem}
  .primary-nav__list a{font-size:1rem;padding:.35rem 0}
  .primary-nav .button{width:100%}
}
@media (prefers-reduced-motion:reduce){.button,.primary-nav__list a{transition:none}}
::selection{background:var(--ibci5-accent);color:var(--ibci5-ink)}
/* ibci5:footer */
/* ibci5:footer */
.site-footer{background:var(--ibci5-ink);color:var(--ibci5-mist);font-family:'Avenir Next',Avenir,'Segoe UI',system-ui,sans-serif;padding:clamp(2.5rem,7vw,4.5rem) clamp(1rem,4vw,3rem) 1.5rem;}
.footer-inner{max-width:72rem;margin:0 auto;display:grid;grid-template-columns:1.5fr 1fr 1.3fr 1.3fr;gap:clamp(1.5rem,4vw,3rem);}
.footer-logo{margin:0 0 .5rem;font-size:1.25rem;font-weight:700;letter-spacing:-.01em;color:var(--ibci5-surface);}
.footer-tagline{margin:0 0 1rem;max-width:22rem;font-size:.9rem;line-height:1.55;color:var(--ibci5-mist);text-wrap:balance;}
.footer-contact{display:flex;flex-direction:column;gap:.4rem;font-style:normal;font-size:.875rem;}
.footer-contact a,.footer-col a{color:var(--ibci5-mist);text-decoration:none;border-bottom:1px solid rgba(227,214,195,.4);}
.footer-contact a:hover,.footer-contact a:focus-visible,.footer-col a:hover,.footer-col a:focus-visible{color:var(--ibci5-accent);border-bottom-color:var(--ibci5-accent);}
.footer-col h3{margin:0 0 .75rem;font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ibci5-accent);}
.footer-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.55rem;}
.footer-col li{font-size:.875rem;line-height:1.45;color:var(--ibci5-mist);}
.footer-note{margin:.75rem 0 0;font-size:.8125rem;line-height:1.55;color:var(--ibci5-mist);}
.footer-legal{max-width:72rem;margin:2.5rem auto 0;padding-top:1.25rem;border-top:1px solid rgba(227,214,195,.28);display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;justify-content:space-between;font-size:.8125rem;color:var(--ibci5-mist);}
.footer-legal p{margin:0;}
.site-footer :focus-visible{outline:2px solid var(--ibci5-accent);outline-offset:2px;}
@media (max-width:900px){.footer-inner{grid-template-columns:1fr 1fr;}}
@media (max-width:600px){.footer-inner{grid-template-columns:1fr;}.footer-legal{flex-direction:column;}}
@media (prefers-reduced-motion:reduce){.site-footer a{transition:none;}}
/* ibci5:hero */
/* ibci5:hero */
#hero{background:var(--ibci5-bg);color:var(--ibci5-text);font-family:'Avenir Next',Avenir,system-ui,sans-serif;padding:clamp(2rem,6vw,4.5rem) clamp(1rem,4vw,3rem)}
#hero ::selection{background:var(--ibci5-accent);color:var(--ibci5-ink)}
.hero-grid{max-width:72rem;margin:0 auto;display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:1.5rem;align-items:start}
.map-panel{position:relative;min-height:27rem;border:1px solid var(--ibci5-border);border-radius:16px;overflow:hidden;background:radial-gradient(circle at 30% 35%,transparent 0 28px,var(--ibci5-border) 28px 29px),linear-gradient(155deg,var(--ibci5-surface),var(--ibci5-mist))}
.route{position:absolute;height:0;border-top:2px dashed var(--ibci5-accent);transform-origin:0 0}
.route-a{left:18%;top:26%;width:34%;transform:rotate(30deg)}
.route-b{left:44%;top:50%;width:26%;transform:rotate(50deg)}
.map-pin{position:absolute;display:inline-flex;align-items:center;gap:.4rem;min-height:44px;padding:.35rem .7rem;border:1px solid var(--ibci5-border);border-radius:99px;background:var(--ibci5-surface);color:var(--ibci5-ink);font:inherit;font-size:.8rem;font-weight:600;cursor:pointer;box-shadow:0 2px 10px rgba(46,42,36,.14);transition:transform .2s,border-color .2s}
.map-pin::before{content:"";width:.6rem;height:.6rem;border-radius:50%;background:var(--ibci5-primary)}
.pin-carpathians{left:6%;top:18%}.pin-kyiv{left:43%;top:44%}.pin-odesa{left:58%;top:70%}
.map-pin:hover{transform:translateY(-2px);border-color:var(--ibci5-accent)}
.map-pin:focus-visible{outline:2px solid var(--ibci5-secondary);outline-offset:2px}
.map-pin.is-active{background:var(--ibci5-primary);border-color:var(--ibci5-primary);color:var(--ibci5-surface)}
.map-card{position:absolute;left:1rem;bottom:1rem;width:min(21rem,calc(100% - 2rem));padding:1rem;background:var(--ibci5-surface);border:1px solid var(--ibci5-border);border-radius:10px;box-shadow:0 12px 26px rgba(46,42,36,.18)}
.map-card[hidden]{display:none}
.map-card h2{margin:0 0 .35rem;font-size:1.05rem}
.map-card p{margin:0 0 .5rem;font-size:.85rem;color:var(--ibci5-slate);line-height:1.5}
.map-card .map-stats{font-weight:700;font-variant-numeric:tabular-nums;color:var(--ibci5-ink)}
.map-card a{color:var(--ibci5-primary);font-size:.85rem;font-weight:600}
.hero-panel{display:flex;flex-direction:column;gap:1rem}
.hero-eyebrow,.hero-search label{margin:0;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ibci5-slate)}
h1{margin:0;font-size:clamp(2rem,4vw,3.25rem);line-height:1.05;letter-spacing:-.025em;text-wrap:balance;color:var(--ibci5-ink)}
.hero-lead{margin:0;color:var(--ibci5-slate);line-height:1.6}
.hero-search{display:grid;gap:.5rem;padding:.9rem;background:var(--ibci5-surface);border:1px solid var(--ibci5-border);border-radius:10px}
.hero-search select,.hero-search button{min-height:44px;font:inherit;border-radius:6px}
.hero-search select{padding:.55rem .7rem;border:1px solid var(--ibci5-border);background:var(--ibci5-bg);color:var(--ibci5-ink)}
.hero-search button{border:1px solid var(--ibci5-primary);background:var(--ibci5-primary);color:var(--ibci5-surface);font-weight:700;cursor:pointer}
.hero-search button:hover{background:var(--ibci5-ink);border-color:var(--ibci5-ink)}
.hero-photo{margin:0}
.hero-photo img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:10px}
.hero-note,.hero-photo figcaption{margin:.45rem 0 0;font-size:.78rem;color:var(--ibci5-slate)}
.hero-link{align-self:flex-start;display:inline-flex;align-items:center;min-height:44px;color:var(--ibci5-primary);font-weight:600;font-size:.9rem}
@media(max-width:900px){.hero-grid{grid-template-columns:minmax(0,1fr)}.map-panel{min-height:22rem}}
@media(prefers-reduced-motion:reduce){.map-pin{transition:none}.map-pin:hover{transform:none}}
/* ibci5:regions */
/* ibci5:regions */
.regions{background:var(--ibci5-bg);color:var(--ibci5-text);padding:clamp(3rem,8vw,6rem) clamp(1rem,4vw,2.5rem)}
.regions__inner{max-width:72rem;margin:0 auto}
.regions__caption{margin:0 0 .5rem;font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ibci5-slate)}
.regions__title{margin:0 0 .75rem;font-size:clamp(1.6rem,3.4vw,2.5rem);line-height:1.1;letter-spacing:-.02em;color:var(--ibci5-ink);text-wrap:balance}
.regions__lead{margin:0 0 2.5rem;max-width:60ch;line-height:1.6;color:var(--ibci5-slate)}
.regions__list{list-style:none;margin:0;padding:0;border-top:1px solid var(--ibci5-border)}
.region{display:grid;grid-template-columns:auto 1fr auto;gap:clamp(1rem,3vw,2rem);align-items:start;padding:clamp(1.25rem,3vw,2rem) 0;border-bottom:1px solid var(--ibci5-border)}
.region__num{font-size:.8rem;font-variant-numeric:tabular-nums;letter-spacing:.08em;color:var(--ibci5-accent);padding-top:.35rem}
.region__name{margin:0 0 .4rem;font-size:clamp(1.2rem,2vw,1.5rem);color:var(--ibci5-primary)}
.region__desc{margin:0 0 .9rem;max-width:52ch;line-height:1.6}
.region__meta{display:flex;flex-wrap:wrap;gap:.5rem 1.75rem;margin:0}
.region__meta div{display:flex;flex-direction:column;gap:.15rem}
.region__meta dt{font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ibci5-slate)}
.region__meta dd{margin:0;font-size:.95rem;font-weight:600;font-variant-numeric:tabular-nums;color:var(--ibci5-ink)}
.region__link{align-self:center;min-height:44px;display:inline-flex;align-items:center;padding:.5rem 1rem;border:1px solid var(--ibci5-primary);border-radius:10px;color:var(--ibci5-primary);font-size:.875rem;font-weight:600;text-decoration:none;white-space:nowrap;transition:background .2s,color .2s}
.region__link:hover{background:var(--ibci5-primary);color:var(--ibci5-surface)}
.region__link:focus-visible{outline:2px solid var(--ibci5-accent);outline-offset:2px}
.regions__note{margin:1.75rem 0 0;font-size:.875rem;line-height:1.55;color:var(--ibci5-slate)}
.regions__note a{color:var(--ibci5-secondary)}
.regions ::selection{background:var(--ibci5-accent);color:var(--ibci5-ink)}
@media (max-width:768px){.region{grid-template-columns:auto 1fr}.region__link{grid-column:2;justify-self:start;margin-top:.25rem}}
@media (prefers-reduced-motion:reduce){.region__link{transition:none}}
/* ibci5:itineraries */
/* ibci5:itineraries */
#itineraries{background:var(--ibci5-bg);color:var(--ibci5-text);padding:clamp(3rem,8vw,6rem) 0}
#itineraries .itineraries__inner{max-width:72rem;margin:0 auto;padding:0 clamp(1rem,4vw,3rem)}
#itineraries .itineraries__caption{margin:0 0 .6rem;font-size:.75rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--ibci5-secondary)}
#itineraries .itineraries__title{margin:0 0 .7rem;font-size:clamp(1.5rem,3vw,2.5rem);line-height:1.12;letter-spacing:-.02em;text-wrap:balance;color:var(--ibci5-ink)}
#itineraries .itineraries__lede{margin:0;max-width:54ch;color:var(--ibci5-slate);font-size:1rem;line-height:1.6}
#itineraries .itineraries__media{margin:clamp(1.5rem,4vw,2.5rem) 0;padding:0}
#itineraries .itineraries__media img{display:block;width:100%;height:auto;border-radius:16px;border:1px solid var(--ibci5-border)}
#itineraries .itineraries__media figcaption{margin-top:.6rem;font-size:.85rem;color:var(--ibci5-slate)}
#itineraries .itineraries__grid{display:grid;grid-template-columns:1fr;gap:1rem}
#itineraries .trip-card{display:flex;flex-direction:column;gap:.55rem;padding:1.25rem;background:var(--ibci5-surface);border:1px solid var(--ibci5-border);border-radius:14px;transition:transform .2s ease,border-color .2s ease}
#itineraries .trip-card:hover,#itineraries .trip-card:focus-within{transform:translateY(-2px);border-color:var(--ibci5-accent)}
#itineraries .trip-card__region{margin:0;font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ibci5-secondary)}
#itineraries .trip-card__name{margin:0;font-size:1.15rem;line-height:1.25;color:var(--ibci5-ink)}
#itineraries .trip-card__facts{margin:0;display:flex;flex-wrap:wrap;gap:.35rem 1.1rem;font-size:.85rem}
#itineraries .trip-card__facts div{display:flex;gap:.35rem;align-items:baseline}
#itineraries .trip-card__facts dt{color:var(--ibci5-slate)}
#itineraries .trip-card__facts dt::after{content:":"}
#itineraries .trip-card__facts dd{margin:0;font-weight:600;color:var(--ibci5-ink);font-variant-numeric:tabular-nums}
#itineraries .trip-card__price{margin:0;display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--ibci5-slate)}
#itineraries .trip-card__tier{padding:.15rem .5rem;border-radius:999px;background:var(--ibci5-mist);color:var(--ibci5-ink);font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
#itineraries .trip-card__amount{font-size:1.25rem;font-weight:700;color:var(--ibci5-primary);font-variant-numeric:tabular-nums}
#itineraries .trip-card__includes{margin:0;font-size:.85rem;line-height:1.55;color:var(--ibci5-slate)}
#itineraries .trip-card__link{margin-top:auto;padding-top:.35rem;color:var(--ibci5-primary);font-weight:600;text-decoration:underline;text-underline-offset:3px}
#itineraries .itineraries__foot{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:space-between;margin-top:clamp(1.5rem,4vw,2.25rem)}
#itineraries .itineraries__note{margin:0;max-width:58ch;font-size:.85rem;line-height:1.55;color:var(--ibci5-slate)}
#itineraries .itineraries__cta{display:inline-block;padding:.8rem 1.4rem;border-radius:10px;background:var(--ibci5-primary);color:var(--ibci5-surface);font-weight:600;text-decoration:none;border:1px solid var(--ibci5-primary);min-height:44px}
#itineraries .itineraries__cta:hover{background:var(--ibci5-ink);border-color:var(--ibci5-ink)}
#itineraries a:focus-visible{outline:2px solid var(--ibci5-accent);outline-offset:2px;border-radius:6px}
#itineraries ::selection{background:var(--ibci5-accent);color:var(--ibci5-ink)}
@media (min-width:768px){#itineraries .itineraries__grid{grid-template-columns:repeat(2,1fr);gap:1.25rem}}
@media (prefers-reduced-motion:reduce){#itineraries .trip-card{transition:none}#itineraries .trip-card:hover{transform:none}}
/* ibci5:how-it-works */
/* ibci5:how-it-works */
#how-it-works{background:var(--ibci5-bg);color:var(--ibci5-text);font-family:'Avenir Next',Avenir,'Segoe UI',system-ui,sans-serif;padding:clamp(3rem,8vw,6rem) 0;}
#how-it-works .how-it-works__inner{max-width:72rem;margin:0 auto;padding:0 clamp(1rem,4vw,3rem);}
#how-it-works .how-it-works__eyebrow{margin:0 0 .75rem;font-size:.8125rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ibci5-secondary);}
#how-it-works .how-it-works__title{margin:0 0 1rem;max-width:34ch;font-size:clamp(1.5rem,3vw,2.5rem);line-height:1.15;letter-spacing:-.02em;color:var(--ibci5-ink);text-wrap:balance;}
#how-it-works .how-it-works__lede{margin:0 0 clamp(2rem,5vw,3rem);max-width:58ch;font-size:1.0625rem;line-height:1.65;color:var(--ibci5-slate);}
#how-it-works .how-it-works__steps{list-style:none;margin:0;padding:0;}
#how-it-works .how-it-works__step{display:grid;grid-template-columns:4.5rem minmax(0,1fr);gap:1.25rem;padding:clamp(1.5rem,3vw,2rem) 0;border-top:1px solid var(--ibci5-border);transition:transform .2s ease,border-color .2s ease;}
#how-it-works .how-it-works__step:last-child{border-bottom:1px solid var(--ibci5-border);}
#how-it-works .how-it-works__step:hover{transform:translateY(-2px);border-top-color:var(--ibci5-accent);}
#how-it-works .how-it-works__num{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1.25rem;font-weight:700;font-variant-numeric:tabular-nums;color:var(--ibci5-accent);}
#how-it-works .how-it-works__step-title{margin:0 0 .5rem;font-size:1.1875rem;line-height:1.3;font-weight:700;color:var(--ibci5-ink);}
#how-it-works .how-it-works__text{margin:0 0 .75rem;max-width:62ch;font-size:1rem;line-height:1.65;color:var(--ibci5-slate);}
#how-it-works .how-it-works__link{display:inline-block;min-height:44px;line-height:44px;font-weight:600;color:var(--ibci5-primary);text-decoration:underline;text-underline-offset:3px;}
#how-it-works .how-it-works__link:hover{color:var(--ibci5-secondary);}
#how-it-works a:focus-visible,#how-it-works button:focus-visible{outline:2px solid var(--ibci5-secondary);outline-offset:3px;border-radius:6px;}
#how-it-works ::selection{background:var(--ibci5-mist);color:var(--ibci5-ink);}
@media (max-width:640px){#how-it-works .how-it-works__step{grid-template-columns:1fr;gap:.5rem;}}
@media (prefers-reduced-motion:reduce){#how-it-works .how-it-works__step{transition:none;}#how-it-works .how-it-works__step:hover{transform:none;}}
/* ibci5:testimonials */
/* ibci5:testimonials */
.quotes{padding:clamp(3rem,7vw,6rem) clamp(1rem,4vw,3rem);background:var(--ibci5-bg);color:var(--ibci5-text)}
.quotes-inner{max-width:72rem;margin:0 auto}
.quotes-head{max-width:44rem;margin-bottom:clamp(1.75rem,4vw,3rem)}
.quotes-caption{margin:0 0 .5rem;font-size:.75rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ibci5-slate)}
.quotes-head h2{margin:0;font-size:clamp(1.5rem,3vw,2.5rem);line-height:1.15;letter-spacing:-.02em;text-wrap:balance;color:var(--ibci5-ink)}
.quotes-lede{margin:.85rem 0 0;line-height:1.6;color:var(--ibci5-slate)}
.quotes-more{display:inline-block;margin-top:1rem;color:var(--ibci5-primary);font-weight:700;text-decoration:underline;text-underline-offset:3px}
.quote-list{display:grid;gap:clamp(1rem,3vw,2rem);margin:0;padding:0;list-style:none}
.quote-card{display:flex;flex-direction:column;gap:1.25rem;padding:clamp(1.25rem,3vw,2rem);background:var(--ibci5-surface);border:1px solid var(--ibci5-border);border-left:3px solid var(--ibci5-primary);border-radius:10px;transition:transform .2s ease,border-color .2s ease}
.quote-card:last-child{border-left-color:var(--ibci5-secondary)}
.quote-card:hover{transform:translateY(-2px);border-color:var(--ibci5-accent)}
.quote-text{margin:0;font-size:1.0625rem;line-height:1.65}
.quote-route{display:flex;align-items:center;gap:.5rem;padding:.6rem .75rem;background:var(--ibci5-mist);border-radius:6px;font-size:.8125rem;font-weight:700;color:var(--ibci5-ink)}
.route-path{flex:1;min-width:1.25rem;border-top:2px dashed var(--ibci5-secondary)}
.quote-stats{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;margin:0;padding:0;list-style:none;font-size:.875rem;color:var(--ibci5-slate)}
.quote-stats strong{color:var(--ibci5-ink);font-variant-numeric:tabular-nums}
.quote-who{margin:auto 0 0;padding-top:1rem;border-top:1px solid var(--ibci5-border);font-size:.875rem;color:var(--ibci5-slate)}
.quote-who b,.quote-who cite{color:var(--ibci5-ink);font-style:normal}
.quotes :focus-visible{outline:2px solid var(--ibci5-accent);outline-offset:2px}
.quotes ::selection{background:var(--ibci5-accent);color:var(--ibci5-ink)}
@media (min-width:768px){.quote-list{grid-template-columns:1.15fr 1fr}}
@media (prefers-reduced-motion:reduce){.quote-card{transition:none}.quote-card:hover{transform:none}}
/* ibci5:advisories */
/* ibci5:advisories */
#advisories{background:var(--ibci5-bg);color:var(--ibci5-text);padding:clamp(2.5rem,6vw,4.5rem) 0;font-family:'Avenir Next',Avenir,'Segoe UI',system-ui,sans-serif}
#advisories .advisories__inner{max-width:60rem;margin:0 auto;padding:0 clamp(1rem,4vw,3rem)}
#advisories .advisories__panel{background:var(--ibci5-surface);border:1px solid var(--ibci5-border);border-left:5px solid var(--ibci5-accent);border-radius:16px;padding:clamp(1.5rem,4vw,2.75rem)}
#advisories .advisories__kicker{margin:0 0 .6rem;font-size:.75rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--ibci5-secondary)}
#advisories .advisories__title{margin:0 0 .85rem;font-size:clamp(1.5rem,3vw,2.15rem);line-height:1.15;letter-spacing:-.015em;font-weight:700;color:var(--ibci5-ink);text-wrap:balance}
#advisories .advisories__lede{margin:0 0 1.5rem;font-size:1rem;line-height:1.65;color:var(--ibci5-slate);max-width:62ch}
#advisories .advisories__list{list-style:none;margin:0 0 1.75rem;padding:0;display:grid;gap:1rem}
#advisories .advisories__list li{font-size:.9375rem;line-height:1.6;color:var(--ibci5-slate);padding-left:1.15rem;border-left:2px solid var(--ibci5-mist)}
#advisories .advisories__point{display:block;font-weight:700;color:var(--ibci5-ink)}
#advisories .advisories__links{margin:0;display:flex;flex-wrap:wrap;gap:.5rem 1.75rem}
#advisories .advisories__link{color:var(--ibci5-primary);font-weight:600;text-decoration:underline;text-underline-offset:3px;min-height:44px;display:inline-flex;align-items:center;transition:color .18s ease}
#advisories .advisories__link:hover{color:var(--ibci5-secondary)}
#advisories .advisories__link:focus-visible{outline:3px solid var(--ibci5-secondary);outline-offset:3px;border-radius:6px}
#advisories ::selection{background:var(--ibci5-mist);color:var(--ibci5-ink)}
@media (min-width:768px){#advisories .advisories__list{grid-template-columns:1fr 1fr;gap:1.25rem 2rem}}
@media (prefers-reduced-motion:reduce){#advisories .advisories__link{transition:none}}

/* ibci5:contact */
/* ibci5:contact */
#contact{background:var(--ibci5-surface);color:var(--ibci5-text);font-family:'Avenir Next',Avenir,'Segoe UI',system-ui,sans-serif;padding:clamp(3rem,8vw,6.5rem) 0}
#contact .contact-inner{max-width:72rem;margin:0 auto;padding:0 clamp(1rem,4vw,3rem)}
#contact .contact-head{max-width:44rem;margin-bottom:clamp(2rem,5vw,3.5rem)}
#contact .contact-eyebrow{margin:0 0 .75rem;font-size:.8125rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--ibci5-secondary)}
#contact .contact-title{margin:0 0 1rem;font-size:clamp(1.75rem,3.6vw,2.75rem);line-height:1.12;letter-spacing:-.02em;color:var(--ibci5-ink);text-wrap:balance}
#contact .contact-lead{margin:0;line-height:1.65;color:var(--ibci5-slate)}
#contact .contact-grid{display:grid;grid-template-columns:1fr;gap:clamp(1.25rem,3vw,2rem);padding-top:clamp(1.5rem,4vw,2.5rem);border-top:1px solid var(--ibci5-border)}
#contact .contact-item{border-left:3px solid var(--ibci5-mist);padding-left:1.125rem}
#contact .contact-label{margin:0 0 .5rem;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--ibci5-slate)}
#contact .contact-value{margin:0 0 .4rem;line-height:1.55;color:var(--ibci5-ink);font-variant-numeric:tabular-nums}
#contact .contact-value a{color:var(--ibci5-primary);text-decoration:none;border-bottom:1px solid var(--ibci5-border)}
#contact .contact-value a:hover{color:var(--ibci5-ink);border-color:var(--ibci5-accent)}
#contact .contact-note{margin:0;font-size:.875rem;color:var(--ibci5-slate)}
#contact .contact-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.875rem 1.5rem;margin-top:clamp(2rem,4vw,2.5rem)}
#contact .contact-cta{display:inline-flex;align-items:center;min-height:44px;padding:.75rem 1.5rem;border-radius:10px;background:var(--ibci5-primary);color:var(--ibci5-surface);font-weight:600;text-decoration:none}
#contact .contact-cta:hover{background:var(--ibci5-ink)}
#contact .contact-link{display:inline-flex;align-items:center;min-height:44px;color:var(--ibci5-secondary);font-weight:600;text-underline-offset:3px}
#contact .contact-advisory{max-width:48rem;margin:clamp(1.5rem,4vw,2rem) 0 0;padding:.875rem 1.125rem;border:1px solid var(--ibci5-border);border-radius:10px;background:var(--ibci5-bg);font-size:.875rem;line-height:1.6;color:var(--ibci5-slate)}
#contact :focus-visible{outline:2px solid var(--ibci5-accent);outline-offset:2px}
#contact ::selection{background:var(--ibci5-accent);color:var(--ibci5-ink)}
@media(min-width:768px){#contact .contact-grid{grid-template-columns:repeat(3,1fr)}}
@media(prefers-reduced-motion:reduce){#contact .contact-cta{transition:none}}
/* ibci5:page-intro */
/* ibci5:page-intro */
#page-intro{background:var(--ibci5-bg);color:var(--ibci5-text);padding:clamp(2.5rem,6vw,4.5rem) 0 clamp(2rem,5vw,3.5rem);border-bottom:1px solid var(--ibci5-border);font-family:'Avenir Next',Avenir,'Segoe UI',system-ui,sans-serif}
#page-intro .intro-shell{max-width:72rem;margin-inline:auto;padding-inline:clamp(1rem,4vw,3rem)}
#page-intro .intro-caption{margin:0 0 .75rem;font-size:.75rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--ibci5-slate)}
#page-intro .intro-title{margin:0 0 1rem;max-width:24ch;font-size:clamp(2rem,4vw,3rem);line-height:1.06;letter-spacing:-.02em;color:var(--ibci5-ink);text-wrap:balance}
#page-intro .intro-lede{margin:0 0 1.75rem;max-width:62ch;font-size:1.0625rem;line-height:1.65;color:var(--ibci5-slate)}
#page-intro .filter-bar{display:flex;flex-wrap:wrap;gap:1.5rem 2.5rem;padding-top:1.5rem;border-top:1px solid var(--ibci5-border)}
#page-intro .filter-set{display:flex;flex-direction:column;gap:.5rem;min-width:0}
#page-intro .filter-label{margin:0;font-size:.8125rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ibci5-ink)}
#page-intro .chip-row{display:flex;flex-wrap:wrap;gap:.5rem}
#page-intro .chip{display:inline-flex;align-items:center;min-height:44px;padding:.5rem .9375rem;font:inherit;font-size:.875rem;font-weight:500;border:1px solid var(--ibci5-border);border-radius:999px;background:var(--ibci5-surface);color:var(--ibci5-ink);cursor:pointer;transition:transform .18s ease,border-color .18s ease,background-color .18s ease,color .18s ease}
#page-intro .chip:hover{transform:translateY(-2px);border-color:var(--ibci5-accent)}
#page-intro .chip:focus-visible{outline:2px solid var(--ibci5-secondary);outline-offset:2px}
#page-intro .chip[aria-pressed="true"]{background:var(--ibci5-primary);border-color:var(--ibci5-primary);color:var(--ibci5-surface)}
#page-intro .chip-clear{border-style:dashed;color:var(--ibci5-slate)}
#page-intro .chip-clear:hover{border-color:var(--ibci5-slate);color:var(--ibci5-ink)}
#page-intro .filter-footer{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin-top:1.5rem}
#page-intro .filter-status{margin:0;font-size:.9375rem;line-height:1.5;color:var(--ibci5-slate)}
#page-intro .intro-more{margin:1.25rem 0 0;font-size:.9375rem}
#page-intro .intro-link{color:var(--ibci5-secondary);font-weight:600;text-decoration:underline;text-underline-offset:3px}
#page-intro .intro-link:focus-visible{outline:2px solid var(--ibci5-accent);outline-offset:3px;border-radius:6px}
#page-intro ::selection{background:var(--ibci5-accent);color:var(--ibci5-ink)}
@media (max-width:640px){#page-intro .filter-bar{gap:1.25rem}#page-intro .filter-set{width:100%}}
@media (prefers-reduced-motion:reduce){#page-intro .chip{transition:none}#page-intro .chip:hover{transform:none}}
/* ibci5:itinerary-list */
/* ibci5:itinerary-list */
.itinerary-list{padding:clamp(2.5rem,6vw,5rem) 0;background:var(--ibci5-bg);color:var(--ibci5-text)}
.itinerary-list__inner{max-width:72rem;margin:0 auto;padding:0 clamp(1rem,4vw,3rem)}
.itinerary-list__eyebrow{margin:0 0 .5rem;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:var(--ibci5-secondary)}
.itinerary-list__title{margin:0 0 .75rem;font-family:'Century Gothic','Avenir Next',serif;font-size:clamp(1.6rem,3vw,2.4rem);line-height:1.15;letter-spacing:-.01em;text-wrap:balance}
.itinerary-list__lede{margin:0;max-width:46rem;line-height:1.6;color:var(--ibci5-slate)}
.filter-bar{display:flex;flex-wrap:wrap;gap:.5rem;margin:1.75rem 0 .75rem}
.filter-chip{min-height:44px;padding:.5rem 1rem;border:1px solid var(--ibci5-border);border-radius:999px;background:var(--ibci5-surface);color:var(--ibci5-ink);font:inherit;font-size:.875rem;cursor:pointer;transition:transform .15s ease,border-color .15s ease}
.filter-chip:hover{transform:translateY(-2px);border-color:var(--ibci5-accent)}
.filter-chip.is-active{background:var(--ibci5-primary);border-color:var(--ibci5-primary);color:var(--ibci5-surface)}
.filter-chip:focus-visible,.trip-row__link:focus-visible{outline:2px solid var(--ibci5-accent);outline-offset:2px}
.filter-status{margin:0 0 1.25rem;font-size:.875rem;color:var(--ibci5-slate)}
.trip-rows{list-style:none;margin:0;padding:0;border-top:1px solid var(--ibci5-border)}
.trip-row{display:grid;gap:.35rem;padding:1.15rem 0;border-bottom:1px solid var(--ibci5-border)}
.trip-row h3{margin:0 0 .2rem;font-size:1.05rem;line-height:1.3}
.trip-row p{margin:0}
.trip-row__region,.trip-row__meta{font-size:.875rem;color:var(--ibci5-slate)}
.trip-row__price{font-variant-numeric:tabular-nums;font-weight:700;color:var(--ibci5-primary)}
.trip-row__price span{font-size:.8rem;font-weight:400;color:var(--ibci5-slate)}
.trip-row__link{justify-self:start;display:inline-flex;align-items:center;min-height:44px;padding:0 1rem;border:1px solid var(--ibci5-primary);border-radius:6px;color:var(--ibci5-primary);font-size:.875rem;font-weight:600;text-decoration:none;transition:transform .15s ease,background .15s ease,color .15s ease}
.trip-row__link:hover{background:var(--ibci5-primary);color:var(--ibci5-surface);transform:translateY(-2px)}
.trip-row.is-hidden{display:none}
.itinerary-list__foot{margin:2rem 0 0;font-size:.875rem;line-height:1.6;color:var(--ibci5-slate)}
.itinerary-list__foot a{color:var(--ibci5-secondary);text-decoration:underline}
.itinerary-list ::selection{background:var(--ibci5-accent);color:var(--ibci5-ink)}
@media(min-width:768px){.trip-row{grid-template-columns:minmax(0,1.7fr) minmax(0,1fr) auto auto;align-items:center;gap:1.25rem}}
@media(prefers-reduced-motion:reduce){.filter-chip,.trip-row__link{transition:none}.filter-chip:hover,.trip-row__link:hover{transform:none}}
/* ibci5:compare-table */
/* ibci5:compare-table */
#compare-table{padding:clamp(3rem,8vw,7rem) clamp(1rem,4vw,3rem);background:var(--ibci5-bg);color:var(--ibci5-text);font-family:'Avenir Next',Avenir,'Segoe UI',system-ui,sans-serif}
#compare-table ::selection{background:var(--ibci5-accent);color:var(--ibci5-ink)}
.compare{max-width:72rem;margin:0 auto}
.compare-caption{margin:0 0 .5rem;font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ibci5-slate)}
.compare-title{margin:0 0 .75rem;font-size:clamp(1.5rem,3vw,2.5rem);line-height:1.15;letter-spacing:-.01em;color:var(--ibci5-ink);text-wrap:balance}
.compare-lede{max-width:44rem;margin:0 0 1.5rem;color:var(--ibci5-slate)}
.compare-picker{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}
.trip-chip{font:inherit;font-size:.875rem;min-height:44px;padding:.6rem .9rem;border:1px solid var(--ibci5-border);border-radius:10px;background:var(--ibci5-surface);color:var(--ibci5-ink);cursor:pointer;transition:transform .15s ease,border-color .15s ease,background .15s ease,color .15s ease}
.trip-chip:hover{transform:translateY(-2px);border-color:var(--ibci5-accent)}
.trip-chip[aria-pressed="true"]{background:var(--ibci5-primary);border-color:var(--ibci5-primary);color:var(--ibci5-surface)}
.trip-chip:focus-visible{outline:2px solid var(--ibci5-accent);outline-offset:2px}
.compare-status{margin:0 0 1rem;font-size:.875rem;color:var(--ibci5-slate)}
.compare-scroll{overflow-x:auto;background:var(--ibci5-surface);border:1px solid var(--ibci5-border);border-radius:16px}
.compare-scroll:focus-visible{outline:2px solid var(--ibci5-accent);outline-offset:2px}
.compare-table{width:100%;min-width:34rem;border-collapse:collapse;font-size:.9375rem}
.compare-table th,.compare-table td{padding:.9rem 1rem;text-align:left;vertical-align:top;border-bottom:1px solid var(--ibci5-border)}
.compare-table thead th{background:var(--ibci5-mist);color:var(--ibci5-ink);font-size:.8125rem;letter-spacing:.06em;text-transform:uppercase}
.compare-table tbody th{font-weight:600;color:var(--ibci5-slate);white-space:nowrap}
.compare-table tbody tr:last-child th,.compare-table tbody tr:last-child td{border-bottom:0}
.compare-table .cell-price{font-weight:700;color:var(--ibci5-primary);font-variant-numeric:tabular-nums}
.compare-note{margin:1rem 0 .75rem;font-size:.8125rem;line-height:1.6;color:var(--ibci5-slate)}
.compare-link{display:inline-flex;align-items:center;min-height:44px;font-weight:600;color:var(--ibci5-secondary)}
.compare-link:hover{color:var(--ibci5-primary)}
.compare-link:focus-visible{outline:2px solid var(--ibci5-accent);outline-offset:2px}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media (max-width:640px){.compare-table{font-size:.875rem}.compare-table th,.compare-table td{padding:.7rem .75rem}}
@media (prefers-reduced-motion:reduce){.trip-chip{transition:none}.trip-chip:hover{transform:none}}

/* ibci5:inclusions */
/* ibci5:inclusions */
.inclusions{background:var(--ibci5-bg);color:var(--ibci5-text);padding:clamp(3rem,8vw,6rem) 0;font-family:'Avenir Next',Avenir,'Segoe UI',system-ui,sans-serif}
.inclusions-inner{max-width:72rem;margin:0 auto;padding:0 clamp(1rem,4vw,3rem)}
.inclusions-kicker{margin:0 0 .5rem;font-size:.875rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ibci5-secondary)}
.inclusions-head h2{margin:0 0 .75rem;font-size:clamp(1.5rem,3vw,2.5rem);line-height:1.15;letter-spacing:-.02em;text-wrap:balance;font-family:'Avenir Next',Avenir,'Century Gothic',serif}
.inclusions-lede{max-width:62ch;margin:0 0 clamp(1.5rem,4vw,3rem);line-height:1.6;color:var(--ibci5-slate)}
.inclusions-columns{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1rem,3vw,2rem)}
.inclusions-panel{background:var(--ibci5-surface);border:1px solid var(--ibci5-border);border-radius:16px;padding:clamp(1.25rem,3vw,2rem)}
.inclusions-panel h3{margin:0 0 1rem;padding-bottom:.75rem;font-size:1.125rem;border-bottom:2px solid var(--ibci5-border)}
.inclusions-panel-included h3{color:var(--ibci5-primary);border-bottom-color:var(--ibci5-primary)}
.inclusions-panel-excluded h3{color:var(--ibci5-ink);border-bottom-color:var(--ibci5-accent)}
.inclusions-panel ul{list-style:none;margin:0;padding:0;display:grid;gap:.75rem}
.inclusions-panel li{position:relative;padding-left:1.75rem;line-height:1.5;color:var(--ibci5-slate)}
.inclusions-panel li::before{position:absolute;left:0;top:0;font-weight:700}
.inclusions-panel-included li::before{content:"\2713";color:var(--ibci5-primary)}
.inclusions-panel-excluded li::before{content:"\2013";color:var(--ibci5-accent)}
.inclusions-note{margin:clamp(1.5rem,4vw,2rem) 0 0;font-size:.9375rem;line-height:1.6;color:var(--ibci5-slate)}
.inclusions-note a{color:var(--ibci5-secondary);text-decoration:underline;text-underline-offset:2px}
.inclusions-note a:hover{color:var(--ibci5-primary)}
.inclusions-note a:focus-visible{outline:3px solid var(--ibci5-accent);outline-offset:2px;border-radius:6px}
.inclusions ::selection{background:var(--ibci5-mist);color:var(--ibci5-ink)}
@media (max-width:768px){.inclusions-columns{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.inclusions *{transition:none !important}}
/* ibci5:contact-intro */
/* ibci5:contact-intro */
.contact-intro {
  background: var(--ibci5-bg);
  color: var(--ibci5-text);
  padding: clamp(3rem, 7vw, 6rem) clamp(1rem, 4vw, 3rem);
}
.contact-intro__inner {
  max-width: 72rem;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
  gap: clamp(1.75rem, 4vw, 3.5rem);
  align-items: start;
}
.contact-intro__eyebrow {
  margin: 0 0 0.75rem;
  font-size: 0.75rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ibci5-slate);
}
.contact-intro__title {
  margin: 0 0 1rem;
  font-size: clamp(1.65rem, 3.4vw, 2.6rem);
  line-height: 1.12;
  letter-spacing: -0.02em;
  text-wrap: balance;
  color: var(--ibci5-ink);
}
.contact-intro__text {
  margin: 0 0 1.25rem;
  max-width: 34rem;
  font-size: 1.0625rem;
  line-height: 1.65;
  color: var(--ibci5-slate);
}
.contact-intro__note {
  margin: 0;
  max-width: 34rem;
  padding-left: 1rem;
  border-left: 3px solid var(--ibci5-accent);
  font-size: 0.9375rem;
  line-height: 1.6;
  color: var(--ibci5-ink);
}
.contact-intro__steps {
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: enquiry-step;
  display: grid;
  gap: 0.75rem;
}
.contact-intro__step {
  position: relative;
  counter-increment: enquiry-step;
  background: var(--ibci5-surface);
  border: 1px solid var(--ibci5-border);
  border-radius: 10px;
  padding: 1rem 1.25rem 1rem 3.25rem;
  font-size: 0.9375rem;
  line-height: 1.6;
  color: var(--ibci5-text);
}
.contact-intro__step::before {
  content: counter(enquiry-step, decimal-leading-zero);
  position: absolute;
  left: 1.15rem;
  top: 1rem;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  font-variant-numeric: tabular-nums;
  color: var(--ibci5-primary);
}
.contact-intro__advisory {
  grid-column: 1 / -1;
  margin: 0;
  padding-top: 1.25rem;
  border-top: 1px solid var(--ibci5-border);
  font-size: 0.9375rem;
  line-height: 1.6;
  color: var(--ibci5-slate);
}
.contact-intro__link {
  color: var(--ibci5-primary);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.contact-intro__link:hover {
  color: var(--ibci5-accent);
}
.contact-intro__link:focus-visible {
  outline: 2px solid var(--ibci5-accent);
  outline-offset: 2px;
  border-radius: 2px;
}
.contact-intro ::selection {
  background: var(--ibci5-mist);
  color: var(--ibci5-ink);
}
@media (max-width: 768px) {
  .contact-intro__inner {
    grid-template-columns: minmax(0, 1fr);
  }
  .contact-intro__step {
    padding-left: 2.9rem;
  }
}
@media (prefers-reduced-motion: reduce) {
  .contact-intro__link {
    transition: none;
  }
}
/* ibci5:enquiry-form */
/* ibci5:enquiry-form */
#enquiry-form{background:var(--ibci5-bg);color:var(--ibci5-text);font-family:'Avenir Next',Avenir,'Segoe UI',system-ui,sans-serif;padding:clamp(3rem,8vw,6rem) clamp(1rem,4vw,3rem)}
#enquiry-form ::selection{background:var(--ibci5-accent);color:var(--ibci5-ink)}
.enquiry-form__inner{max-width:72rem;margin:0 auto;display:grid;grid-template-columns:1fr;gap:clamp(1.5rem,4vw,3rem);align-items:start}
.enquiry-form__caption{margin:0;text-transform:uppercase;letter-spacing:.12em;font-size:.75rem;font-weight:700;color:var(--ibci5-secondary)}
.enquiry-form__title{margin:.5rem 0 1rem;font-size:clamp(1.6rem,3vw,2.4rem);line-height:1.15;letter-spacing:-.015em;color:var(--ibci5-ink);text-wrap:balance}
.enquiry-form__lede{margin:0 0 1.25rem;max-width:46ch;line-height:1.7;color:var(--ibci5-slate)}
.enquiry-form__points{list-style:none;margin:0 0 1.5rem;padding:0;display:grid;gap:.55rem}
.enquiry-form__points li{position:relative;padding-left:1.3rem;line-height:1.55;color:var(--ibci5-ink)}
.enquiry-form__points li::before{content:"";position:absolute;left:0;top:.55em;width:.5rem;height:.5rem;border-radius:50%;background:var(--ibci5-accent)}
.enquiry-form__contact{margin:0;font-size:.9rem;line-height:1.6;color:var(--ibci5-slate)}
.enquiry-form__contact a{color:var(--ibci5-primary);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.enquiry-form__panel{display:grid;gap:1.1rem;background:var(--ibci5-surface);border:1px solid var(--ibci5-border);border-radius:16px;padding:clamp(1.25rem,3vw,2rem);box-shadow:0 12px 32px rgba(46,42,36,.07)}
.enquiry-form__row{display:grid;grid-template-columns:1fr;gap:1.1rem}
.field{display:grid;gap:.4rem}
.field label{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--ibci5-slate)}
.field input,.field select,.field textarea{font:inherit;width:100%;min-height:44px;padding:.7rem .8rem;color:var(--ibci5-ink);background:var(--ibci5-bg);border:1px solid var(--ibci5-border);border-radius:10px}
.field textarea{min-height:112px;resize:vertical}
.field ::placeholder{color:var(--ibci5-slate);opacity:.8}
.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--ibci5-accent);outline-offset:2px;border-color:var(--ibci5-accent)}
.enquiry-form__submit{justify-self:start;min-height:48px;padding:.85rem 1.7rem;font:inherit;font-weight:700;color:var(--ibci5-surface);background:var(--ibci5-primary);border:1px solid var(--ibci5-primary);border-radius:10px;cursor:pointer;transition:transform .18s ease,background-color .18s ease}
.enquiry-form__submit:hover{background:var(--ibci5-secondary);border-color:var(--ibci5-secondary);transform:translateY(-2px)}
.enquiry-form__submit:focus-visible{outline:2px solid var(--ibci5-accent);outline-offset:3px}
.enquiry-form__submit:active{transform:translateY(0)}
.enquiry-form__note{margin:0;font-size:.78rem;line-height:1.55;color:var(--ibci5-slate)}
.enquiry-form__note a{color:var(--ibci5-primary);font-weight:600;text-decoration:underline;text-underline-offset:3px}
@media (min-width:640px){.enquiry-form__row{grid-template-columns:1fr 1fr}}
@media (min-width:1024px){.enquiry-form__inner{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr)}}
@media (prefers-reduced-motion:reduce){#enquiry-form *{transition:none!important}.enquiry-form__submit:hover{transform:none}}
/* ibci5:contact-details */
/* ibci5:contact-details */
.contact-details{background:var(--ibci5-bg);color:var(--ibci5-text);padding:clamp(3rem,8vw,6rem) clamp(1rem,4vw,3rem)}
.contact-details__inner{max-width:72rem;margin:0 auto}
.contact-details__caption{margin:0 0 .75rem;font-size:.75rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ibci5-secondary)}
.contact-details__title{margin:0 0 1rem;font-size:clamp(1.75rem,3.4vw,2.6rem);line-height:1.1;letter-spacing:-.02em;text-wrap:balance}
.contact-details__lead{max-width:52ch;margin:0 0 clamp(2rem,5vw,3rem);color:var(--ibci5-slate)}
.contact-details__grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr))}
.contact-card{background:var(--ibci5-surface);border:1px solid var(--ibci5-border);border-radius:16px;padding:1.5rem;transition:transform .2s ease,border-color .2s ease}
.contact-card:hover{transform:translateY(-2px);border-color:var(--ibci5-accent)}
.contact-card h3{margin:0 0 .6rem;font-size:.8125rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ibci5-slate)}
.contact-card p,.contact-card address{margin:0;font-size:1.0625rem;line-height:1.55;font-style:normal}
.contact-card a{color:var(--ibci5-primary);text-decoration:none;border-bottom:1px solid var(--ibci5-border)}
.contact-card a:hover{border-color:var(--ibci5-accent)}
.contact-details__phone{font-variant-numeric:tabular-nums}
.contact-card__note{margin-top:.45rem!important;font-size:.8125rem;color:var(--ibci5-slate)}
.contact-details__hours{margin:0;padding:0;list-style:none;display:grid;gap:.35rem;font-size:1rem}
.contact-details__foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.75rem 2rem;margin-top:clamp(1.75rem,4vw,2.5rem);padding-top:1.25rem;border-top:1px solid var(--ibci5-border);font-size:.875rem;color:var(--ibci5-slate)}
.contact-details__foot p{margin:0}
.contact-details__foot a{color:var(--ibci5-primary);font-weight:600;text-decoration:none;border-bottom:1px solid var(--ibci5-border)}
.contact-details__foot a:hover{border-color:var(--ibci5-accent)}
.contact-details :focus-visible{outline:2px solid var(--ibci5-accent);outline-offset:2px}
.contact-details ::selection{background:var(--ibci5-mist);color:var(--ibci5-ink)}
@media (max-width:640px){.contact-details__grid{grid-template-columns:1fr}.contact-details__foot{flex-direction:column}}
@media (prefers-reduced-motion:reduce){.contact-card{transition:none}.contact-card:hover{transform:none}}
/* ibci5:booking-terms */
/* ibci5:booking-terms */
#booking-terms{background:var(--ibci5-bg);color:var(--ibci5-text);border-top:1px solid var(--ibci5-border);padding:clamp(3rem,8vw,6rem) clamp(1rem,4vw,3rem);}
#booking-terms .terms-inner{max-width:72rem;margin:0 auto;display:grid;gap:clamp(1.5rem,4vw,3rem);}
@media (min-width:1024px){#booking-terms .terms-inner{grid-template-columns:20rem minmax(0,1fr);gap:clamp(2rem,5vw,4rem);align-items:start;}}
#booking-terms .terms-head{border-left:3px solid var(--ibci5-accent);padding-left:1rem;}
#booking-terms .terms-caption{margin:0 0 .5rem;font-size:.75rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ibci5-primary);}
#booking-terms .terms-title{margin:0;font-family:Georgia,'Times New Roman',serif;font-size:clamp(1.6rem,3vw,2.4rem);line-height:1.15;letter-spacing:-.02em;text-wrap:balance;}
#booking-terms .terms-lede{margin:.9rem 0 0;max-width:34ch;color:var(--ibci5-slate);font-size:1rem;line-height:1.6;}
#booking-terms .terms-list{margin:0;display:grid;gap:1px;background:var(--ibci5-border);border:1px solid var(--ibci5-border);border-radius:10px;overflow:hidden;}
#booking-terms .terms-item{background:var(--ibci5-surface);padding:1.1rem 1.25rem;}
@media (min-width:768px){#booking-terms .terms-item{display:grid;grid-template-columns:14rem minmax(0,1fr);gap:1.5rem;padding:1.35rem 1.5rem;}}
#booking-terms dt{font-size:.95rem;font-weight:700;color:var(--ibci5-ink);}
#booking-terms dd{margin:.35rem 0 0;color:var(--ibci5-slate);font-size:.95rem;line-height:1.65;}
@media (min-width:768px){#booking-terms dd{margin:0;}}
#booking-terms .terms-advisory{grid-column:1/-1;background:var(--ibci5-mist);border:1px solid var(--ibci5-border);border-left:3px solid var(--ibci5-secondary);border-radius:10px;padding:1.25rem 1.4rem;}
#booking-terms .terms-advisory p{margin:0;max-width:70ch;color:var(--ibci5-ink);font-size:.95rem;line-height:1.65;}
#booking-terms .terms-links{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;margin-top:1rem;}
#booking-terms .terms-links a{color:var(--ibci5-primary);font-weight:600;text-decoration:underline;text-underline-offset:3px;}
#booking-terms .terms-links a:hover{color:var(--ibci5-secondary);}
#booking-terms .terms-links a:focus-visible{outline:2px solid var(--ibci5-accent);outline-offset:2px;border-radius:4px;}
#booking-terms ::selection{background:var(--ibci5-accent);color:var(--ibci5-ink);}
.policy-page {
  font-family: var(--ibci5-font);
  color: var(--ibci5-text);
  background: var(--ibci5-bg);
  padding: 2rem 1rem;
  line-height: 1.6;
}
.policy-content {
  max-width: 800px;
  margin: 0 auto;
  background: var(--ibci5-surface);
  border-radius: var(--radius-md);
  padding: 2rem;
  box-shadow: 0 2px 8px rgba(0,0,0,0.05);
}
.policy-header {
  border-bottom: 2px solid var(--ibci5-border);
  padding-bottom: 1rem;
  margin-bottom: 1.5rem;
}
.policy-header h1 {
  font-family: var(--ibci5-font-display);
  color: var(--ibci5-primary);
  font-size: 2rem;
  margin: 0 0 0.25rem;
}
.policy-updated {
  color: var(--ibci5-slate);
  font-size: 0.875rem;
  margin: 0;
}
.policy-section {
  margin-bottom: 1.5rem;
}
.policy-section h2 {
  color: var(--ibci5-secondary);
  font-size: 1.25rem;
  margin: 0 0 0.5rem;
}
.policy-section p {
  margin: 0 0 0.75rem;
}
.contact-form {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  max-width: 400px;
}
.contact-form label {
  font-weight: 600;
  color: var(--ibci5-ink);
}
.contact-form input,
.contact-form textarea {
  padding: 0.5rem;
  border: 1px solid var(--ibci5-border);
  border-radius: var(--radius-sm);
  font-family: inherit;
  font-size: 1rem;
}
.contact-form textarea {
  resize: vertical;
}
.button-primary {
  background: var(--ibci5-primary);
  color: var(--ibci5-surface);
  border: none;
  padding: 0.75rem 1.5rem;
  border-radius: var(--radius-sm);
  font-size: 1rem;
  cursor: pointer;
  font-weight: 600;
  align-self: flex-start;
}
.button-primary:hover {
  background: var(--ibci5-secondary);
}
.policy-footer {
  border-top: 2px solid var(--ibci5-border);
  padding-top: 1rem;
  margin-top: 2rem;
  font-size: 0.875rem;
  color: var(--ibci5-slate);
}
.policy-footer p {
  margin: 0.25rem 0;
}
.policy-footer strong {
  color: var(--ibci5-primary);
}
:root {
  --ibci5-primary: #2F5D45;
  --ibci5-secondary: #3B6E8F;
  --ibci5-accent: #C9A227;
  --ibci5-ink: #2E2A24;
  --ibci5-slate: #5F584C;
  --ibci5-mist: #E3D6C3;
  --ibci5-border: #D9CCB8;
  --ibci5-surface: #FFFFFF;
  --ibci5-bg: #F4EDE1;
  --ibci5-text: #2E2A24;
  --ibci5-font: 'Avenir Next', Avenir, 'Segoe UI', system-ui, sans-serif;
  --ibci5-font-display: 'Avenir Next', Avenir, 'Segoe UI', 'Century Gothic', sans-serif;
}
.policy-page {
  max-width: 800px;
  margin: 0 auto;
  padding: 2rem 1.5rem;
  background: var(--ibci5-bg);
  color: var(--ibci5-text);
  font-family: var(--ibci5-font);
  line-height: 1.6;
}
.policy-header {
  margin-bottom: 2rem;
  border-bottom: 2px solid var(--ibci5-primary);
  padding-bottom: 1rem;
}
.policy-header h1 {
  font-family: var(--ibci5-font-display);
  font-size: 2rem;
  color: var(--ibci5-primary);
  margin: 0 0 0.5rem;
}
.policy-intro {
  color: var(--ibci5-slate);
  font-size: 1.1rem;
  margin: 0;
}
.policy-section {
  margin-bottom: 2rem;
}
.policy-section h2 {
  font-family: var(--ibci5-font-display);
  font-size: 1.4rem;
  color: var(--ibci5-secondary);
  margin: 0 0 0.75rem;
  padding-bottom: 0.25rem;
  border-bottom: 1px solid var(--ibci5-border);
}
.policy-section p {
  margin: 0 0 1rem;
}
.policy-footer {
  margin-top: 2.5rem;
  padding-top: 1.5rem;
  border-top: 2px solid var(--ibci5-primary);
}
.business-details {
  font-style: normal;
  background: var(--ibci5-surface);
  padding: 1.5rem;
  border: 1px solid var(--ibci5-border);
  border-radius: 10px;
  color: var(--ibci5-slate);
}
.business-details p {
  margin: 0 0 0.5rem;
}
.business-details strong {
  color: var(--ibci5-primary);
}
.business-details a {
  color: var(--ibci5-secondary);
  text-decoration: none;
}
.business-details a:hover {
  text-decoration: underline;
}
.policy-page{max-width:800px;margin:0 auto;padding:3rem 1.5rem;font-family:var(--ibci5-font);color:var(--ibci5-text);background-color:var(--ibci5-bg);line-height:1.6}.policy-content{background:var(--ibci5-surface);border-radius:var(--radius-md,10px);padding:2.5rem;box-shadow:0 2px 8px rgba(0,0,0,.05);border:1px solid var(--ibci5-border)}.policy-content h1{font-size:2rem;font-weight:700;color:var(--ibci5-primary);margin-bottom:1.5rem;border-bottom:2px solid var(--ibci5-accent);padding-bottom:.5rem}.policy-content h2{font-size:1.25rem;font-weight:600;color:var(--ibci5-secondary);margin:1.5rem 0 .75rem}.policy-content p{margin-bottom:1rem;color:var(--ibci5-slate)}.policy-footer{margin-top:2rem;padding:1.5rem;background:var(--ibci5-mist);border-radius:var(--radius-md,10px);border:1px solid var(--ibci5-border);font-size:.95rem}.policy-footer h2{font-size:1.1rem;color:var(--ibci5-primary);margin-bottom:.75rem}.policy-footer p{margin:0;color:var(--ibci5-ink);line-height:1.8}
.policy-page {
  max-width: 800px;
  margin: 0 auto;
  padding: 2rem 1.5rem;
  background: var(--ibci5-surface);
  color: var(--ibci5-text);
  font-family: var(--ibci5-font);
  line-height: 1.6;
  border-radius: var(--radius-lg, 16px);
  box-shadow: 0 4px 12px rgba(0,0,0,0.05);
}
.policy-header {
  border-bottom: 2px solid var(--ibci5-border);
  padding-bottom: 1rem;
  margin-bottom: 2rem;
}
.policy-header h1 {
  font-family: var(--ibci5-font-display);
  color: var(--ibci5-primary);
  margin: 0;
  font-size: 2rem;
}
.policy-content h2 {
  color: var(--ibci5-secondary);
  margin-top: 2rem;
  margin-bottom: 0.75rem;
  font-size: 1.25rem;
}
.policy-content p {
  margin: 0 0 1rem;
}
.contact-form {
  margin-top: 2rem;
  padding: 1.5rem;
  background: var(--ibci5-bg);
  border: 1px solid var(--ibci5-border);
  border-radius: var(--radius-md, 10px);
}
.contact-form label {
  display: block;
  margin-bottom: 0.25rem;
  font-weight: 600;
  color: var(--ibci5-ink);
}
.contact-form input,
.contact-form textarea {
  width: 100%;
  padding: 0.6rem;
  margin-bottom: 1rem;
  border: 1px solid var(--ibci5-border);
  border-radius: var(--radius-sm, 6px);
  font-family: inherit;
  font-size: 1rem;
  background: var(--ibci5-surface);
  color: var(--ibci5-text);
  box-sizing: border-box;
}
.contact-form button {
  display: inline-block;
  background: var(--ibci5-primary);
  color: #fff;
  border: none;
  padding: 0.75rem 1.5rem;
  border-radius: var(--radius-sm, 6px);
  font-size: 1rem;
  cursor: pointer;
  font-family: inherit;
}
.contact-form button:hover {
  background: var(--ibci5-secondary);
}
.policy-footer {
  margin-top: 3rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--ibci5-border);
  font-size: 0.85rem;
  color: var(--ibci5-slate);
  text-align: center;
}
.policy-page{max-width:920px;margin:0 auto;padding:48px 24px;background:var(--ibci5-bg);color:var(--ibci5-text);font-family:var(--ibci5-font);line-height:1.6;}
.policy-hero{background:var(--ibci5-surface);border:1px solid var(--ibci5-border);border-radius:16px;padding:32px;text-align:center;box-shadow:0 1px 2px rgba(46,42,36,.06);}
.policy-eyebrow{margin:0 0 8px;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--ibci5-secondary);font-weight:600;}
.policy-hero h1{margin:0 0 12px;font-family:var(--ibci5-font-display);font-size:30px;line-height:1.25;color:var(--ibci5-primary);}
.policy-lead{margin:0;color:var(--ibci5-slate);}
.policy-content{background:var(--ibci5-surface);border:1px solid var(--ibci5-border);border-radius:16px;padding:32px;margin-top:24px;}
.policy-content h2{margin:0 0 12px;font-size:19px;color:var(--ibci5-primary);}
.policy-content h2:not(:first-child){margin-top:24px;}
.policy-content p{margin:0 0 12px;}
.policy-steps{margin:0;padding-left:20px;}
.policy-steps li{margin-bottom:10px;}
.policy-footer{margin-top:24px;border-top:2px solid var(--ibci5-accent);padding-top:20px;}
.policy-footer h2{margin:0 0 12px;font-size:17px;color:var(--ibci5-ink);}
.policy-address{font-style:normal;color:var(--ibci5-slate);}
.policy-address p{margin:0 0 6px;}
.policy-address strong{color:var(--ibci5-ink);}
.policy-page a{color:var(--ibci5-secondary);text-decoration:underline;}
.policy-page a:focus-visible{outline:2px solid var(--ibci5-accent);outline-offset:2px;border-radius:6px;}
@media (max-width:600px){.policy-page{padding:28px 16px;}.policy-hero,.policy-content{padding:20px;}.policy-hero h1{font-size:24px;}}
section[data-ibci5-oy5]:not([data-ibci5-oy5='header']):not([data-ibci5-oy5='footer']) { position: relative; }
section[data-ibci5-oy5]:not([data-ibci5-oy5='header']):not([data-ibci5-oy5='footer']) { border-top: 1px solid var(--ibci5-border); }
section[data-ibci5-oy5] h1, section[data-ibci5-oy5] h2 { letter-spacing: -0.03em; }
section[data-ibci5-oy5] [class*='rounded'] { border-radius: var(--ibci5-radius-sm, 0.25rem); }
:root {
  --ibci5-c-content-width: 72rem;
  --ibci5-c-gutter: clamp(1rem, 4vw, 3rem);
  --ibci5-c-measure: 65ch;
  --ibci5-c-heading-display: clamp(2.5rem, 6vw, 5.5rem);
}
[data-ibci5-dr] { scroll-margin-top: 1.5rem; }
main > section, main [data-ibci5-oy5] { padding-inline: var(--ibci5-c-gutter); }
[data-ibci5-dr*='article'], [data-ibci5-dr*='review'] { max-width: var(--ibci5-c-measure); }
h1 { font-size: var(--ibci5-c-heading-display); }
@media (max-width: 768px) { [data-ibci5-dr] { min-width: 0; } }