@import url('./website-theme.css?v=8');

/* Presentation for the three information pages only. */
body.info-page-shell, body:has(.info-page-shell) { min-width: 0; }
.info-page-shell { padding: 0 28px 26px; color: #143247; }
.info-page-shell .contact-header-shell, .info-page-shell .contact-page, .info-page-shell .contact-footer-shell { width: min(1444px,100%); margin: 0 auto; padding: 0; }
.info-page-shell .contact-topbar { min-height: 100px; }
.info-page-shell .contact-brand-name { font-family: inherit; font-weight: 800; letter-spacing: -.045em; }
.info-page-shell .contact-planner-button, .info-page-shell .contact-private-badge { min-height: 48px; padding: 12px 20px; border-radius: 18px; font-size: .95rem; }
.info-page-shell .contact-planner-button { background: linear-gradient(120deg,#087ca4,#075985); }
.info-page-shell .contact-private-badge { border-color: #bde6f4; background: #f3fcff; }
.info-page-shell .contact-header-actions svg { flex: none; width: 23px; height: 23px; }
.info-page-shell .info-hero { position: relative; overflow: hidden; isolation: isolate; min-height: 285px; border-radius: 26px; background: #0586af url('/island-banner.webp') right bottom / auto 100% no-repeat; }
.info-page-shell .info-hero::before { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg,rgba(0,83,127,.8),rgba(0,101,144,.3) 58%,transparent 85%); }
.info-page-shell .info-hero-copy { max-width: 69%; padding: 38px 42px; color: white; }
.info-page-shell .info-hero .contact-eyebrow { margin: 0 0 12px; color: #e5f8ff; font-size: .8rem; font-weight: 800; letter-spacing: .15em; }
.info-page-shell .info-hero h1 { margin: 0; color: white; font-family: inherit; font-size: clamp(2rem,3.5vw,3.35rem); font-weight: 800; letter-spacing: -.045em; line-height: 1.1; }
.info-page-shell .info-hero .contact-intro { max-width: 690px; margin: 16px 0 0; color: white; font-size: 1.12rem; line-height: 1.55; white-space: normal; }
.info-page-shell .terms-updated { display: inline-block; margin: 20px 0 0; padding: 7px 13px; color: #075985; border-radius: 999px; background: #e3f6fc; font-size: .8rem; font-weight: 700; }
.info-page-shell .contact-page-main { padding: 0; }
.info-page-shell .contact-card { max-width: none; margin: 20px 0 0; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.info-page-shell .help-list { max-width: none; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; margin: 0; padding: 0; }
.info-page-shell .help-item { display: flex; flex-direction: column; align-items: center; gap: 18px; min-width: 0; padding: 30px 24px; border: 1px solid #cce9f4; border-radius: 22px; background: white; text-align: center; box-shadow: 0 5px 20px rgba(8,124,164,.04); }
.info-page-shell .help-item + .help-item { margin: 0; }
.info-page-shell .help-icon { display: grid; place-items: center; flex: none; width: 80px; height: 80px; border: 0; border-radius: 50%; color: #087ca4; background: #e1f6fc; }
.info-page-shell .help-icon svg { width: 38px; height: 38px; }
.info-page-shell .help-item h2 { margin: 0 0 9px; color: #143247; font-family: inherit; font-size: 1.3rem; font-weight: 800; letter-spacing: -.03em; }
.info-page-shell .help-item p { margin: 0; color: #536f83; font-size: 1rem; line-height: 1.55; }
.info-page-shell .photo-card { position: relative; isolation: isolate; overflow: hidden; display: grid; grid-template-columns: 96px minmax(0,1fr); gap: 18px 28px; margin: 20px 0 0; padding: 30px; border: 1px solid #cce9f4; border-radius: 22px; background: white; }
.info-page-shell .photo-card::after { content: ''; position: absolute; z-index: -1; pointer-events: none; right: 16px; bottom: 12px; width: min(280px,calc(100% - 32px)); height: 110px; background: url('/leg-waves.svg') right bottom / contain no-repeat; opacity: .25; }
.info-page-shell .photo-card::after, .photo-card::after, .photo-card::before { content: none !important; display: none !important; background: none !important; } /* no sun and waves in the photo box (website and phones) */
.info-page-shell .photo-icon { align-self: start; width: 96px; height: 96px; padding: 0; border: 0; border-radius: 50%; background: #e1f6fc; }
.info-page-shell .photo-icon svg { width: 46px; height: 46px; }
.info-page-shell .photo-eyebrow { margin: 0 0 9px; color: #087ca4; font-size: .76rem; font-weight: 800; letter-spacing: .13em; }
.info-page-shell .photo-card h2 { color: #143247; font-family: inherit; font-size: clamp(1.5rem,2.5vw,2.1rem); font-weight: 800; }
.info-page-shell .photo-card p { max-width: 940px; color: #536f83; font-size: 1rem; line-height: 1.65; }
.info-page-shell .photo-card .photo-eyebrow { margin: 0 0 9px; color: #087ca4; font-size: .76rem; font-weight: 800; letter-spacing: .13em; }
.info-page-shell .photo-card .photo-note { margin-top: 16px; font-size: .9rem; }
.info-page-shell .photo-button { grid-column: 2; justify-self: start; display: inline-flex; align-items: center; gap: 20px; min-height: 48px; margin: 0; padding: 13px 22px; border-radius: 14px; color: white !important; background: linear-gradient(120deg,#087ca4,#075985); font-weight: 800; text-decoration: none; }
.info-page-shell .photo-button:hover { background: #075985; }
.info-page-shell .email-panel { position: relative; isolation: isolate; overflow: hidden; display: flex; align-items: center; gap: 24px; margin: 20px 0 0; padding: 34px; border: 0; border-radius: 22px; color: white; background: linear-gradient(120deg,#075985,#087ca4); }
.info-page-shell .email-panel::after { content: ''; position: absolute; z-index: -1; pointer-events: none; right: 0; bottom: 0; width: 260px; height: 90px; background: url('/theme-waves.svg') right bottom / 100% auto no-repeat; }
.info-page-shell .email-icon { display: grid; place-items: center; flex: none; width: 86px; height: 86px; border: 3px solid #42b4d3; border-radius: 50%; }
.info-page-shell .email-icon svg { width: 44px; height: 44px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linejoin: round; }
.info-page-shell .email-panel > div { flex: 1; min-width: 0; }
.info-page-shell .email-label { color: #e5f8ff; font-size: .76rem; letter-spacing: .13em; }
.info-page-shell .email-address { display: block; margin-top: 7px; color: white !important; font-family: inherit; font-size: clamp(1.15rem,2.4vw,2.1rem); font-weight: 800; overflow-wrap: anywhere; }
.info-page-shell .email-button { flex: none; display: inline-flex; align-items: center; gap: 16px; min-height: 48px; padding: 13px 22px; border-radius: 14px; color: #075985 !important; background: white; font-weight: 800; text-decoration: none; }
.info-page-shell .legal-layout { display: grid; grid-template-columns: 280px minmax(0,1fr); align-items: start; gap: 22px; margin-top: 22px; }
.info-page-shell .info-contents { padding: 24px 18px; border: 1px solid #cce9f4; border-radius: 22px; background: white; }
@media screen and (min-width: 821px) {
  .info-page-shell .info-contents-pin { position: sticky; top: var(--info-contents-top, 18px); align-self: start; }
}
.info-page-shell .info-contents h2 { margin: 0 10px 16px; font-size: 1.25rem; font-weight: 800; }
.info-page-shell .info-contents ol { display: grid; gap: 5px; margin: 0; padding: 0; list-style: none; }
.info-page-shell .info-contents a { display: flex; align-items: flex-start; gap: 10px; padding: 10px; border-radius: 12px; color: #536f83; font-size: .87rem; line-height: 1.4; text-decoration: none; }
.info-page-shell .info-contents a:hover { color: #075985; background: #eaf8ff; }
.info-page-shell .info-contents a span { display: grid; place-items: center; flex: none; width: 24px; height: 24px; margin-top: -2px; border-radius: 50%; color: #075985; background: #e5f5fb; font-size: .75rem; font-weight: 800; }
.info-page-shell .terms-content { min-width: 0; max-width: none; margin: 0; padding: 32px 36px; border: 1px solid #cce9f4; border-radius: 22px; background: white; }
.info-page-shell .terms-section { scroll-margin-top: 24px; padding: 0 0 28px; }
.info-page-shell .terms-section + .terms-section { padding-top: 28px; border-color: #e0eef4; }
.info-page-shell .terms-section h2 { display: flex; align-items: center; gap: 14px; margin: 0 0 14px; color: #143247; font-size: 1.3rem; line-height: 1.3; font-weight: 800; }
.info-page-shell .legal-section-number { display: grid; place-items: center; flex: none; width: 38px; height: 38px; border-radius: 50%; color: #075985; background: #e1f6fc; font-size: 1rem; }
.info-page-shell .terms-section p, .info-page-shell .terms-section li { color: #536f83; font-size: 1rem; line-height: 1.75; }
.info-page-shell .terms-contact { margin: 0; padding: 22px !important; border-color: #cce9f4 !important; background: #f0faff; }
.info-page-shell .site-footer { border-radius: 26px; background: linear-gradient(125deg,#075985,#087ca4 62%,#075985); }
.info-page-shell .site-footer .footer-bottom { display: block; }

@media (max-width: 1050px) {
  .info-page-shell .info-hero-copy { max-width: 78%; padding: 32px; }
  .info-page-shell .legal-layout { grid-template-columns: 240px minmax(0,1fr); gap: 18px; }
  .info-page-shell .terms-content { padding: 28px; }
  .info-page-shell .help-item { padding: 24px 18px; }
  .info-page-shell .help-item h2 { font-size: 1.12rem; }
  .info-page-shell .email-panel { flex-wrap: wrap; }
  .info-page-shell .email-button { margin-left: 110px; }
}
@media (max-width: 820px) {
  .info-page-shell { padding: 0 18px 22px; }
  .info-page-shell .contact-topbar { gap: 12px; }
  .info-page-shell .contact-brand-eyebrow { font-size: .58rem; }
  .info-page-shell .contact-brand-name { font-size: 1.5rem; }
  .info-page-shell .contact-planner-button, .info-page-shell .contact-private-badge { padding: 12px; }
  .info-page-shell .contact-header-actions a span { display: none; }
  .info-page-shell .legal-layout { grid-template-columns: minmax(0,1fr); }
  .info-page-shell .info-contents { padding: 18px; }
  .info-page-shell .info-contents h2 { margin: 0 0 10px; font-size: 1.1rem; }
  .info-page-shell .info-contents ol { display: flex; gap: 8px; overflow-x: auto; padding: 4px 2px 8px; }
  .info-page-shell .info-contents li { flex: none; }
  .info-page-shell .info-contents a { align-items: center; max-width: 250px; background: #f1faff; }
  .info-page-shell .info-contents a span { margin: 0; }
}
@media (max-width: 580px) {
  .info-page-shell { padding: 0 12px 20px; }
  .info-page-shell .contact-topbar { min-height: 80px; gap: 8px; }
  .info-page-shell .contact-brand-lockup { gap: 8px; }
  .info-page-shell .contact-brand-mark { flex-basis: 38px; width: 38px; height: 42px; border-radius: 13px; }
  .info-page-shell .contact-brand-eyebrow { font-size: clamp(.37rem,1.68vw,.58rem); letter-spacing: .03em; }
  .info-page-shell .contact-brand-name { font-size: clamp(.95rem,4.35vw,1.32rem); }
  .info-page-shell .contact-header-actions { gap: 5px; }
  .info-page-shell .contact-header-actions a { flex: none; width: 42px; min-height: 44px; padding: 9px; border-radius: 14px; }
  .info-page-shell .contact-header-actions svg { width: 22px; height: 22px; }
  .info-page-shell .info-hero { min-height: 0; border-radius: 22px; background-size: 100% auto; }
  .info-page-shell .info-hero::before { background: linear-gradient(180deg,rgba(0,83,127,.75),rgba(0,101,144,.3) 60%,transparent 88%); }
  .info-page-shell .info-hero-copy { max-width: none; padding: 25px 22px 138px; }
  .info-page-shell .info-hero h1 { font-size: clamp(1.75rem,7vw,2.35rem); }
  .info-page-shell .info-hero .contact-eyebrow { font-size: .7rem; }
  .info-page-shell .info-hero .contact-intro { font-size: .95rem; line-height: 1.55; }
  .info-page-shell .terms-updated { margin-top: 16px; font-size: .72rem; }
  .info-page-shell .help-list { grid-template-columns: minmax(0,1fr); gap: 12px; }
  .info-page-shell .help-item { flex-direction: row; align-items: flex-start; gap: 16px; padding: 22px 18px; text-align: left; }
  .info-page-shell .help-icon { width: 54px; height: 54px; }
  .info-page-shell .help-icon svg { width: 28px; height: 28px; }
  .info-page-shell .help-item h2 { font-size: 1.1rem; }
  .info-page-shell .help-item p { font-size: .92rem; }
  .info-page-shell .photo-card { grid-template-columns: minmax(0,1fr); gap: 18px; padding: 24px 20px; }
  .info-page-shell .photo-icon { width: 68px; height: 68px; }
  .info-page-shell .photo-icon svg { width: 34px; height: 34px; }
  .info-page-shell .photo-card h2 { font-size: 1.65rem; }
  .info-page-shell .photo-card p { font-size: .94rem; }
  .info-page-shell .photo-card .photo-note { font-size: .85rem; }
  .info-page-shell .photo-button { grid-column: 1; font-size: .92rem; }
  .info-page-shell .email-panel { gap: 18px; padding: 24px 20px; }
  .info-page-shell .email-icon { width: 54px; height: 54px; }
  .info-page-shell .email-icon svg { width: 28px; height: 28px; }
  .info-page-shell .email-panel > div { flex-basis: 100%; }
  .info-page-shell .email-address { font-size: clamp(1rem,5vw,1.5rem); }
  .info-page-shell .email-button { margin: 0; }
  .info-page-shell .terms-content { padding: 24px 20px; }
  .info-page-shell .terms-section h2 { gap: 10px; font-size: 1.12rem; }
  .info-page-shell .legal-section-number { width: 32px; height: 32px; font-size: .86rem; }
  .info-page-shell .terms-section p, .info-page-shell .terms-section li { font-size: .95rem; line-height: 1.7; }
  .info-page-shell .terms-contact { padding: 18px !important; }
  .info-page-shell .site-footer { border-radius: 22px; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
@media (max-width: 360px) {
  .info-page-shell .contact-brand-name { font-size: .88rem; }
  .info-page-shell .contact-brand-eyebrow { font-size: .37rem; }
}

.info-page-shell .email-button:hover { background: #e4f6fc; }

@media screen and (max-width: 580px) {
  .info-page-shell .contact-topbar .contact-brand-mark { flex: 0 0 46px; width: 46px; height: 50px; border-radius: 15px; }
  .info-page-shell .contact-topbar .contact-brand-eyebrow { font-size: clamp(.5rem,2vw,.68rem); line-height: 1.25; letter-spacing: .03em; }
}

@media screen and (max-width: 580px) {
  .info-page-shell .contact-topbar .contact-brand-name { font-size: 1.17rem; }
  .info-page-shell .contact-topbar .contact-brand-lockup { flex: 1 1 0; min-width: 0; }
  .info-page-shell .contact-topbar .contact-brand-lockup > :last-child { min-width: 0; }
  .info-page-shell .contact-topbar .contact-brand-eyebrow { font-size: clamp(.6rem, 2.1vw, .72rem); white-space: nowrap; text-wrap: initial; }
}
