.elementor-216 .elementor-element.elementor-element-d0b15ec{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-216 .elementor-element.elementor-element-ffbc3c4{padding:0px 0px 0px 0px;}.elementor-216 .elementor-element.elementor-element-38952dcd{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-216 .elementor-element.elementor-element-4905e25a{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--gap:48px 48px;--row-gap:48px;--column-gap:48px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:5em;--padding-bottom:5em;--padding-left:0em;--padding-right:0em;}.elementor-216 .elementor-element.elementor-element-4905e25a:not(.elementor-motion-effects-element-type-background), .elementor-216 .elementor-element.elementor-element-4905e25a > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FCF9F5;}.elementor-216 .elementor-element.elementor-element-5a226915{--display:flex;--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--gap:16px 16px;--row-gap:16px;--column-gap:16px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-216 .elementor-element.elementor-element-7b66c95f{text-align:center;}.elementor-216 .elementor-element.elementor-element-7b66c95f p{margin-block-end:0px;}.elementor-216 .elementor-element.elementor-element-5031f3ba{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--gap:48px 48px;--row-gap:48px;--column-gap:48px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:5em;--padding-bottom:5em;--padding-left:0em;--padding-right:0em;}.elementor-216 .elementor-element.elementor-element-5031f3ba:not(.elementor-motion-effects-element-type-background), .elementor-216 .elementor-element.elementor-element-5031f3ba > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F7F4EE;}.elementor-216 .elementor-element.elementor-element-7544e07c{--display:flex;--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--gap:16px 16px;--row-gap:16px;--column-gap:16px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-216 .elementor-element.elementor-element-2a2304a8{text-align:center;font-size:0.72rem;font-weight:500;text-transform:uppercase;letter-spacing:2.8px;color:var( --e-global-color-secondary );}.elementor-216 .elementor-element.elementor-element-2a2304a8 p{margin-block-end:0px;}.elementor-216 .elementor-element.elementor-element-7cb033cd{text-align:center;}.elementor-216 .elementor-element.elementor-element-7cb033cd .elementor-heading-title{font-family:var( --e-global-typography-c0c00e9-font-family ), Sans-serif;font-size:var( --e-global-typography-c0c00e9-font-size );font-weight:var( --e-global-typography-c0c00e9-font-weight );text-transform:var( --e-global-typography-c0c00e9-text-transform );line-height:var( --e-global-typography-c0c00e9-line-height );letter-spacing:var( --e-global-typography-c0c00e9-letter-spacing );color:var( --e-global-color-primary );}.elementor-216 .elementor-element.elementor-element-f97da7d{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--gap:48px 48px;--row-gap:48px;--column-gap:48px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:5em;--padding-bottom:5em;--padding-left:0em;--padding-right:0em;}.elementor-216 .elementor-element.elementor-element-f97da7d:not(.elementor-motion-effects-element-type-background), .elementor-216 .elementor-element.elementor-element-f97da7d > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FCF9F5;}.elementor-216 .elementor-element.elementor-element-d852222{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--gap:48px 48px;--row-gap:48px;--column-gap:48px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:4em;--padding-bottom:5em;--padding-left:0em;--padding-right:0em;}.elementor-216 .elementor-element.elementor-element-d852222:not(.elementor-motion-effects-element-type-background), .elementor-216 .elementor-element.elementor-element-d852222 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F7F4EE;}.elementor-216 .elementor-element.elementor-element-7f86515a{--display:flex;--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--gap:16px 16px;--row-gap:16px;--column-gap:16px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-216 .elementor-element.elementor-element-1fc56e78{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--gap:48px 48px;--row-gap:48px;--column-gap:48px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:5em;--padding-bottom:5em;--padding-left:0em;--padding-right:0em;}.elementor-216 .elementor-element.elementor-element-1fc56e78:not(.elementor-motion-effects-element-type-background), .elementor-216 .elementor-element.elementor-element-1fc56e78 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FCF9F5;}.elementor-216 .elementor-element.elementor-element-5d783378{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--gap:48px 48px;--row-gap:48px;--column-gap:48px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:5em;--padding-bottom:5em;--padding-left:0em;--padding-right:0em;}.elementor-216 .elementor-element.elementor-element-5d783378:not(.elementor-motion-effects-element-type-background), .elementor-216 .elementor-element.elementor-element-5d783378 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FCF9F5;}.elementor-216 .elementor-element.elementor-element-55f88415{--display:flex;--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--gap:16px 16px;--row-gap:16px;--column-gap:16px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-216 .elementor-element.elementor-element-2df869df{text-align:center;}.elementor-216 .elementor-element.elementor-element-2df869df p{margin-block-end:0px;}.elementor-216 .elementor-element.elementor-element-7764adac{text-align:center;}.elementor-216 .elementor-element.elementor-element-7764adac .elementor-heading-title{font-family:var( --e-global-typography-c0c00e9-font-family ), Sans-serif;font-size:var( --e-global-typography-c0c00e9-font-size );font-weight:var( --e-global-typography-c0c00e9-font-weight );text-transform:var( --e-global-typography-c0c00e9-text-transform );line-height:var( --e-global-typography-c0c00e9-line-height );letter-spacing:var( --e-global-typography-c0c00e9-letter-spacing );color:var( --e-global-color-primary );}.elementor-216 .elementor-element.elementor-element-340514b{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-216 .elementor-element.elementor-element-68edac1e{--display:flex;}.elementor-216 .elementor-element.elementor-element-55faecb6 p{margin-block-end:0px;}.elementor-216 .elementor-element.elementor-element-35f77df8{--display:flex;}.elementor-216 .elementor-element.elementor-element-51501002 p{margin-block-end:0px;}.elementor-216 .elementor-element.elementor-element-49574f3f{--display:flex;}.elementor-216 .elementor-element.elementor-element-2c95a082 p{margin-block-end:0px;}.elementor-216 .elementor-element.elementor-element-5df4f134{--n-accordion-title-font-size:1rem;--n-accordion-item-title-space-between:0px;--n-accordion-item-title-distance-from-content:0px;--n-accordion-icon-size:15px;}.elementor-216 .elementor-element.elementor-element-47f7dfee{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}@media(max-width:1024px){.elementor-216 .elementor-element.elementor-element-4905e25a{--gap:32px 32px;--row-gap:32px;--column-gap:32px;--padding-top:0px;--padding-bottom:70px;--padding-left:32px;--padding-right:32px;}.elementor-216 .elementor-element.elementor-element-7b66c95f{text-align:center;}.elementor-216 .elementor-element.elementor-element-5031f3ba{--gap:32px 32px;--row-gap:32px;--column-gap:32px;--padding-top:3em;--padding-bottom:3em;--padding-left:1em;--padding-right:1em;}.elementor-216 .elementor-element.elementor-element-2a2304a8{text-align:center;}.elementor-216 .elementor-element.elementor-element-7cb033cd .elementor-heading-title{font-size:var( --e-global-typography-c0c00e9-font-size );line-height:var( --e-global-typography-c0c00e9-line-height );letter-spacing:var( --e-global-typography-c0c00e9-letter-spacing );}.elementor-216 .elementor-element.elementor-element-f97da7d{--gap:32px 32px;--row-gap:32px;--column-gap:32px;--padding-top:3em;--padding-bottom:3em;--padding-left:2em;--padding-right:2em;}.elementor-216 .elementor-element.elementor-element-d852222{--gap:32px 32px;--row-gap:32px;--column-gap:32px;--padding-top:0px;--padding-bottom:70px;--padding-left:32px;--padding-right:32px;}.elementor-216 .elementor-element.elementor-element-1fc56e78{--gap:32px 32px;--row-gap:32px;--column-gap:32px;--padding-top:3em;--padding-bottom:3em;--padding-left:2em;--padding-right:2em;}.elementor-216 .elementor-element.elementor-element-5d783378{--gap:32px 32px;--row-gap:32px;--column-gap:32px;--padding-top:50px;--padding-bottom:70px;--padding-left:32px;--padding-right:32px;}.elementor-216 .elementor-element.elementor-element-2df869df{text-align:center;}.elementor-216 .elementor-element.elementor-element-7764adac .elementor-heading-title{font-size:var( --e-global-typography-c0c00e9-font-size );line-height:var( --e-global-typography-c0c00e9-line-height );letter-spacing:var( --e-global-typography-c0c00e9-letter-spacing );}}@media(max-width:767px){.elementor-216 .elementor-element.elementor-element-4905e25a{--padding-top:50px;--padding-bottom:70px;--padding-left:20px;--padding-right:20px;}.elementor-216 .elementor-element.elementor-element-7b66c95f{text-align:center;}.elementor-216 .elementor-element.elementor-element-2a2304a8{text-align:center;}.elementor-216 .elementor-element.elementor-element-7cb033cd .elementor-heading-title{font-size:var( --e-global-typography-c0c00e9-font-size );line-height:var( --e-global-typography-c0c00e9-line-height );letter-spacing:var( --e-global-typography-c0c00e9-letter-spacing );}.elementor-216 .elementor-element.elementor-element-f97da7d{--padding-top:50px;--padding-bottom:70px;--padding-left:20px;--padding-right:20px;}.elementor-216 .elementor-element.elementor-element-d852222{--padding-top:0px;--padding-bottom:70px;--padding-left:20px;--padding-right:20px;}.elementor-216 .elementor-element.elementor-element-1fc56e78{--padding-top:50px;--padding-bottom:70px;--padding-left:20px;--padding-right:20px;}.elementor-216 .elementor-element.elementor-element-5d783378{--padding-top:3em;--padding-bottom:3em;--padding-left:1em;--padding-right:1em;}.elementor-216 .elementor-element.elementor-element-2df869df{text-align:center;}.elementor-216 .elementor-element.elementor-element-7764adac .elementor-heading-title{font-size:var( --e-global-typography-c0c00e9-font-size );line-height:var( --e-global-typography-c0c00e9-line-height );letter-spacing:var( --e-global-typography-c0c00e9-letter-spacing );}}@media(min-width:768px){.elementor-216 .elementor-element.elementor-element-5a226915{--width:70%;}.elementor-216 .elementor-element.elementor-element-55f88415{--width:70%;}.elementor-216 .elementor-element.elementor-element-340514b{--width:850px;}}@media(max-width:1024px) and (min-width:768px){.elementor-216 .elementor-element.elementor-element-5a226915{--width:65%;}.elementor-216 .elementor-element.elementor-element-7f86515a{--width:65%;}.elementor-216 .elementor-element.elementor-element-55f88415{--width:65%;}.elementor-216 .elementor-element.elementor-element-340514b{--width:100%;}}/* Start custom CSS for container, class: .elementor-element-5d783378 *//* ============================================================
   FAQ ACCORDION — scoped to the Elementor nested accordion
   Targets the exact classes visible in your DevTools
   ============================================================ */

/* Each accordion item: white card with rounded corners */
.e-n-accordion .e-n-accordion-item {
  background: #ffffff !important;
  border: 1px solid #e7e1d6 !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  margin-bottom: 12px !important;
  box-shadow: 0 10px 26px -20px rgba(20,26,61,.4) !important;
}

/* Remove any default border Elementor adds */
.e-n-accordion .e-n-accordion-item summary,
.e-n-accordion .e-n-accordion-item details {
  border: none !important;
}

/* The clickable title row */
.e-n-accordion .e-n-accordion-item-title {
  padding: 20px 22px !important;
  background: transparent !important;
  border: none !important;
  gap: 16px !important;
}

/* Question text */
.e-n-accordion .e-n-accordion-item-title-text,
.e-n-accordion .e-n-accordion-item-title-text * {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 1.12rem !important;
  font-weight: 600 !important;
  color: #1c2556 !important;
  letter-spacing: 0 !important;
  line-height: 1.35 !important;
}

/* Hover state on question */
.e-n-accordion .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text,
.e-n-accordion .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text * {
  color: #a8824f !important;
}

/* The +/- icon */
.e-n-accordion .e-n-accordion-item-title-icon {
  color: #c39a64 !important;
}
.e-n-accordion .e-n-accordion-item-title-icon svg,
.e-n-accordion .e-n-accordion-item-title-icon i {
  color: #c39a64 !important;
  fill: #c39a64 !important;
  width: 20px !important;
  height: 20px !important;
}

/* Rotate icon when open */
.e-n-accordion .e-n-accordion-item[open]
.e-n-accordion-item-title-icon svg {
  transform: rotate(180deg) !important;
}

/* Answer body padding */
.e-n-accordion .e-n-accordion-item .e-con-inner {
  padding: 0 22px 20px !important;
}

/* Answer text */
.e-n-accordion .e-n-accordion-item p,
.e-n-accordion .e-n-accordion-item
.elementor-widget-text-editor p {
  font-family: 'Jost', sans-serif !important;
  font-size: .96rem !important;
  line-height: 1.72 !important;
  color: #5b6472 !important;
  margin: 0 !important;
}

/* Remove blue highlight Elementor adds on open item */
.e-n-accordion .e-n-accordion-item[open]
.e-n-accordion-item-title {
  background: transparent !important;
}

/* Contain width to match mockup */
.e-n-accordion {
  max-width: 760px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}/* End custom CSS */
/* Start custom CSS *//* =====================================================================
   1 OCEAN CHARTERS  |  GLOBAL STYLESHEET
   Paste once into: Elementor > Site Settings > Custom CSS
   Then paste the section HTML snippets into HTML widgets.
   Everything is prefixed "oc-" so nothing clashes with your theme.
   ===================================================================== */

/* ---------- 1. TOKENS ---------- */
:root{
  --oc-navy:#1c2556; --oc-navy-2:#141a3d; --oc-navy-3:#26305f;
  --oc-gold:#c39a64; --oc-gold-lt:#d8b784; --oc-gold-dk:#a8824f;
  --oc-ivory:#f7f4ee; --oc-cream:#fbf9f4; --oc-white:#fff;
  --oc-ink:#20242e; --oc-muted:#5b6472; --oc-line:#e7e1d6;
  --oc-hair:rgba(195,154,100,.4); --oc-glass:rgba(255,255,255,.06);
  --oc-shadow:0 18px 46px -22px rgba(20,26,61,.45);
  --oc-serif:'Cormorant Garamond',Georgia,serif;
  --oc-sans:'Jost',system-ui,-apple-system,sans-serif;
  --oc-rose:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' fill='none' stroke='%23c39a64' stroke-width='0.9'%3E%3Ccircle cx='50' cy='50' r='46'/%3E%3Ccircle cx='50' cy='50' r='34'/%3E%3Cg fill='%23c39a64' stroke='none'%3E%3Cpath d='M50 6 L54 46 L50 50 L46 46 Z'/%3E%3Cpath d='M50 94 L46 54 L50 50 L54 54 Z'/%3E%3Cpath d='M6 50 L46 46 L50 50 L46 54 Z'/%3E%3Cpath d='M94 50 L54 54 L50 50 L54 46 Z'/%3E%3C/g%3E%3Cg fill='%23c39a64' stroke='none' opacity='0.6'%3E%3Cpath d='M50 16 L58 42 L50 50 Z'/%3E%3Cpath d='M50 84 L42 58 L50 50 Z'/%3E%3Cpath d='M16 50 L42 58 L50 50 Z'/%3E%3Cpath d='M84 50 L58 42 L50 50 Z'/%3E%3C/g%3E%3C/svg%3E");
  --oc-grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='0.5'/%3E%3C/svg%3E");
}

/* ---------- 2. TYPOGRAPHY BASE ---------- */
.oc *,.oc *::before,.oc *::after{box-sizing:border-box}
.oc{font-family:var(--oc-sans);color:var(--oc-ink);line-height:1.72}
.oc h1,.oc h2,.oc h3,.oc h4{
  font-family:var(--oc-serif);font-weight:600;color:var(--oc-navy);
  line-height:1.08;margin:0 0 14px;
}
.oc h1{font-size:clamp(2.3rem,5.6vw,3.6rem);letter-spacing:-.012em}
.oc h2{font-size:clamp(1.8rem,4vw,2.6rem);letter-spacing:-.008em}
.oc h3{font-size:clamp(1.2rem,2.2vw,1.42rem)}
.oc p{margin:0 0 14px;color:var(--oc-muted);font-weight:400}
.oc p:last-child{margin-bottom:0}
.oc strong{font-weight:600;color:var(--oc-ink)}
.oc-wrap{max-width:1160px;margin:0 auto;padding:0 24px}
.oc-sec{padding:clamp(58px,8vw,96px) 0}
.oc-center{text-align:center}

/* eyebrow */
.oc-eyebrow{
  font-family:var(--oc-sans);font-size:.72rem;font-weight:500;
  letter-spacing:2.8px;text-transform:uppercase;color:var(--oc-gold-dk);
  margin:0 0 12px;line-height:1.5;
}
.oc-lead{font-size:1.08rem;line-height:1.75;color:var(--oc-muted);max-width:780px;margin:0 auto}

/* ---------- 3. BUTTONS ---------- */
.oc-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  font-family:var(--oc-sans);font-weight:500;font-size:.97rem;letter-spacing:.04em;
  padding:14px 22px;border-radius:14px;border:1px solid transparent;
  text-decoration:none;cursor:pointer;
  transition:transform .18s ease,background .18s ease,color .18s ease,
             border-color .18s ease,box-shadow .18s ease,filter .18s ease;
}
.oc-btn svg{width:19px;height:19px;flex:none}
.oc-btn--gold{background:linear-gradient(180deg,var(--oc-gold-lt),var(--oc-gold));
  color:var(--oc-navy);box-shadow:0 12px 26px -12px rgba(195,154,100,.6)}
.oc-btn--gold:hover{transform:translateY(-2px);filter:brightness(1.05);color:var(--oc-navy)}
.oc-btn--navy{background:var(--oc-navy);color:#fff}
.oc-btn--navy:hover{transform:translateY(-2px);background:#243066;color:#fff}
.oc-btn--outline{background:transparent;color:var(--oc-navy);border-color:var(--oc-hair)}
.oc-btn--outline:hover{background:var(--oc-navy);color:#fff;border-color:var(--oc-navy);transform:translateY(-2px)}
.oc-btn--ghost{background:var(--oc-glass);color:#fff;border-color:var(--oc-hair);
  -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.oc-btn--ghost:hover{background:var(--oc-gold);color:var(--oc-navy);border-color:var(--oc-gold);transform:translateY(-2px)}
.oc-btn--full{width:100%}

/* ---------- 4. HERO  (navy gradient + compass rose behind) ---------- */
.oc-hero{
  position:relative;overflow:hidden;text-align:center;color:#fff;
  padding:clamp(70px,9vw,104px) 24px clamp(78px,10vw,110px);
  background:radial-gradient(120% 90% at 50% -20%,
    var(--oc-navy-3) 0%, var(--oc-navy) 46%, var(--oc-navy-2) 100%);
}
/* the compass rose watermark */
.oc-hero::before{
  content:"";position:absolute;top:26px;left:50%;transform:translateX(-50%);
  width:min(560px,120vw);height:min(560px,120vw);
  background:var(--oc-rose) center/contain no-repeat;
  opacity:.08;pointer-events:none;z-index:0;
}
/* subtle light bloom for depth */
.oc-hero::after{
  content:"";position:absolute;inset:0;pointer-events:none;z-index:0;
  background:
    radial-gradient(80% 60% at 18% 12%, rgba(126,168,201,.20), transparent 60%),
    radial-gradient(70% 55% at 82% 88%, rgba(195,154,100,.12), transparent 62%);
}
.oc-hero > *{position:relative;z-index:1}
.oc-hero .oc-eyebrow{color:var(--oc-gold-lt)}
.oc-hero h1{color:#fff;max-width:14ch;margin-left:auto;margin-right:auto;font-size:clamp(2.8rem,5.8vw,4.2rem)}
.oc-hero p{color:rgba(255,255,255,.86);font-size:clamp(1rem,2.3vw,1.16rem);max-width:620px;margin:18px auto 0}
.oc-hero__cta{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:24px}

/* page hero, shorter version for inner pages */
.oc-hero--page{padding:clamp(56px,7vw,80px) 24px clamp(60px,7vw,70px)}
.oc-hero--page h1{font-size:clamp(2.2rem,5.2vw,3.4rem)}

/* ---------- 5. DIVIDER ---------- */
.oc-divider{display:flex;align-items:center;gap:12px;max-width:340px;margin:26px auto 0}
.oc-divider::before,.oc-divider::after{
  content:"";height:1px;flex:1;
  background:linear-gradient(90deg,transparent,var(--oc-hair),transparent);
}
.oc-divider i{
  width:8px;height:8px;transform:rotate(45deg);background:var(--oc-gold);
  box-shadow:0 0 0 4px rgba(195,154,100,.16);flex:none;
}

/* ---------- 6. TRUST BAR ---------- */
.oc-trust{background:var(--oc-navy-2);border-top:1px solid rgba(255,255,255,.06)}
.oc-trust__grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:8px;
  max-width:1160px;margin:0 auto;padding:22px 24px;
}
.oc-trust__item{display:flex;align-items:center;gap:11px;justify-content:center}
.oc-trust__item svg{width:24px;height:24px;color:var(--oc-gold);flex:none}
.oc-trust__item b{display:block;color:#fff;font-family:var(--oc-sans);font-weight:600;font-size:.9rem;line-height:1.3}
.oc-trust__item span{display:block;font-size:.76rem;color:rgba(255,255,255,.6)}

/* ---------- 7. IMAGE PLACEHOLDER FRAMES ---------- */
/* Matches the mockups exactly. Drop an <img> inside and it takes over. */
.oc-frame{
  position:relative;isolation:isolate;overflow:hidden;border-radius:16px;
  border:1px solid rgba(195,154,100,.28);
  box-shadow:0 22px 50px -26px rgba(15,20,50,.75);
  display:flex;align-items:flex-end;padding:20px;min-height:180px;
  background:
    radial-gradient(120% 100% at 22% 8%, rgba(126,163,196,.34) 0%, rgba(126,163,196,0) 55%),
    radial-gradient(90% 80% at 88% 92%, rgba(195,154,100,.20) 0%, rgba(195,154,100,0) 60%),
    linear-gradient(158deg,#2a3a72 0%,#1d2556 48%,#131a3c 100%);
  transition:transform .25s ease, box-shadow .25s ease;
}
.oc-frame::before{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background-image:var(--oc-grain);background-size:180px 180px;
  opacity:.16;mix-blend-mode:overlay;
}
.oc-frame::after{
  content:"";position:absolute;left:0;right:0;bottom:0;top:0;z-index:1;pointer-events:none;
  background:linear-gradient(180deg,rgba(8,12,34,.10) 0%,rgba(8,12,34,.34) 46%,rgba(8,12,34,.80) 100%);
}
.oc-frame:hover{transform:translateY(-3px);box-shadow:0 28px 60px -26px rgba(15,20,50,.85)}
.oc-frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.oc-frame__cap{position:relative;z-index:2}
.oc-frame__cap b{
  display:block;font-family:var(--oc-serif);font-weight:600;color:#fff;
  font-size:1.12rem;line-height:1.2;text-shadow:0 2px 14px rgba(4,8,26,.85);
}
.oc-frame__cap i{
  display:block;font-style:normal;font-size:.64rem;letter-spacing:1.8px;
  text-transform:uppercase;color:var(--oc-gold-lt);margin-top:5px;
  text-shadow:0 2px 12px rgba(4,8,26,.9);
}
/* centred "to come" placeholder, dashed, as on the captain portrait */
.oc-frame--pending{
  align-items:center;justify-content:center;text-align:center;
  border-style:dashed;box-shadow:none;
}
.oc-frame--pending .oc-frame__cap{max-width:280px}
.oc-frame--pending .oc-frame__cap i{margin:0 0 8px;color:var(--oc-gold-lt)}
.oc-frame--pending .oc-frame__cap span{
  display:block;color:rgba(255,255,255,.62);font-size:.88rem;line-height:1.6;
}
.oc-frame--portrait{aspect-ratio:4/5;min-height:0}
.oc-frame--wide{aspect-ratio:16/9;min-height:0}
.oc-frame--tall{aspect-ratio:3/4;min-height:0}

/* ---------- 8. CARDS ---------- */
.oc-card{
  background:#fff;border:1px solid var(--oc-line);border-radius:18px;
  box-shadow:var(--oc-shadow);overflow:hidden;display:flex;flex-direction:column;
  transition:transform .2s ease,box-shadow .2s ease;
}
.oc-card:hover{transform:translateY(-4px);box-shadow:0 26px 56px -24px rgba(20,26,61,.5)}
.oc-card__thumb{
  position:relative;aspect-ratio:4/3;display:flex;align-items:flex-end;padding:16px;
  border-bottom:1px solid var(--oc-line);overflow:hidden;
  background:
    radial-gradient(120% 100% at 22% 8%, rgba(126,163,196,.34) 0%, rgba(126,163,196,0) 55%),
    linear-gradient(158deg,#2a3a72 0%,#1d2556 48%,#131a3c 100%);
}
.oc-card__thumb::before{
  content:"";position:absolute;inset:0;z-index:0;
  background-image:var(--oc-grain);background-size:180px 180px;opacity:.16;mix-blend-mode:overlay;
}
.oc-card__thumb::after{
  content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(180deg,rgba(8,12,34,.10) 0%,rgba(8,12,34,.34) 46%,rgba(8,12,34,.80) 100%);
}
.oc-card__thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.oc-card__label{
  position:relative;z-index:2;font-size:.62rem;letter-spacing:1.8px;
  text-transform:uppercase;color:var(--oc-gold-lt);
  text-shadow:0 2px 12px rgba(4,8,26,.9);
}
.oc-card__body{padding:28px 26px;display:flex;flex-direction:column;flex:1}
.oc-card__head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.oc-card h3{margin:0}
.oc-card .oc-btn{margin-top:auto}

.oc-badge{
  display:inline-block;font-family:var(--oc-sans);font-size:.6rem;font-weight:600;
  letter-spacing:1.4px;text-transform:uppercase;color:var(--oc-navy);
  background:var(--oc-ivory);border:1px solid var(--oc-hair);
  border-radius:999px;padding:5px 10px;white-space:nowrap;
}
.oc-price{display:flex;align-items:baseline;gap:8px;margin:14px 0 2px}
.oc-price b{font-family:var(--oc-serif);font-weight:700;color:var(--oc-gold-dk);
  font-size:1.85rem;line-height:1;letter-spacing:-.02em}
.oc-price span{font-size:.8rem;color:var(--oc-muted)}
.oc-dur{font-size:.7rem;letter-spacing:1.4px;text-transform:uppercase;color:var(--oc-muted);margin-bottom:12px}

/* ---------- 9. LISTS ---------- */
.oc-list{list-style:none;margin:0 0 22px;padding:0;display:grid;gap:9px}
.oc-list li{display:flex;gap:10px;align-items:flex-start;font-size:.94rem;color:var(--oc-ink)}
.oc-list li::before{
  content:"";width:7px;height:7px;margin-top:8px;flex:none;
  transform:rotate(45deg);background:var(--oc-gold);border-radius:1px;
}
.oc-checklist{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:9px 26px}
.oc-checklist li{display:flex;gap:10px;align-items:flex-start;font-size:.95rem;color:var(--oc-ink)}
.oc-checklist li::before{
  content:"";flex:none;width:16px;height:16px;margin-top:4px;background-color:var(--oc-gold-dk);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E") no-repeat center/contain;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E") no-repeat center/contain;
}

/* ---------- 10. CHIPS ---------- */
.oc-chips{display:flex;flex-wrap:wrap;gap:9px;margin:20px 0 0;padding:0;list-style:none}
.oc-chip{
  font-size:.78rem;border:1px solid var(--oc-hair);border-radius:999px;
  padding:8px 15px;color:var(--oc-navy);background:#fff;
}
.oc-navy .oc-chip,.oc-hero .oc-chip{color:#fff;background:var(--oc-glass)}

/* ---------- 11. STEPS  (how it works) ---------- */
.oc-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;list-style:none;margin:0;padding:0}
.oc-step{text-align:center;padding:10px}
.oc-step__ic{
  position:relative;width:58px;height:58px;margin:0 auto 16px;border-radius:50%;
  display:grid;place-items:center;background:#fff;border:1px solid var(--oc-hair);
  color:var(--oc-gold-dk);box-shadow:var(--oc-shadow);
}
.oc-step__ic svg{width:26px;height:26px}
.oc-step__n{
  position:absolute;top:-8px;right:-8px;width:24px;height:24px;border-radius:50%;
  background:var(--oc-navy);color:#fff;font-family:var(--oc-sans);font-size:.72rem;
  font-weight:600;display:grid;place-items:center;
}
.oc-step h3{font-size:1.15rem;margin-bottom:6px}
.oc-step p{font-size:.92rem}

/* ---------- 12. SECTION BACKGROUNDS ---------- */
.oc-ivory{background:var(--oc-ivory)}
.oc-cream{background:var(--oc-cream)}
.oc-navy{
  position:relative;overflow:hidden;color:#fff;
  background:radial-gradient(120% 90% at 50% -20%,
    var(--oc-navy-3) 0%, var(--oc-navy) 48%, var(--oc-navy-2) 100%);
}
.oc-navy::before{
  content:"";position:absolute;bottom:-180px;left:-140px;width:520px;height:520px;
  background:var(--oc-rose) center/contain no-repeat;opacity:.06;pointer-events:none;
}
.oc-navy > *{position:relative;z-index:1}
.oc-navy h1,.oc-navy h2,.oc-navy h3,.oc-navy h4{color:#fff}
.oc-navy p,.oc-navy li{color:rgba(255,255,255,.82)}
.oc-navy .oc-eyebrow{color:var(--oc-gold-lt)}
.oc-navy .oc-checklist li::before{background-color:var(--oc-gold-lt)}

/* ---------- 13. SPLIT BAND  (the vessel is yours) ---------- */
.oc-band{display:grid;grid-template-columns:1.05fr .95fr;border-radius:22px;overflow:hidden;box-shadow:var(--oc-shadow)}
.oc-band__text{
  background:linear-gradient(160deg,#243066,var(--oc-navy) 60%,var(--oc-navy-2));
  color:#fff;padding:clamp(34px,5vw,56px);
}
.oc-band__text h2{color:#fff}
.oc-band__text p{color:rgba(255,255,255,.82);margin-bottom:26px}
.oc-band__text .oc-eyebrow{color:var(--oc-gold-lt)}
.oc-band__media{position:relative;min-height:290px;border-radius:0}
.oc-band__media.oc-frame{border:0;border-radius:0;box-shadow:none;align-items:center;justify-content:center;text-align:center}

/* ---------- 14. SECTION HEADINGS ---------- */
.oc-head{max-width:660px;margin:0 auto 46px;text-align:center}
.oc-head h2{margin:0}
.oc-head p{margin-top:12px;font-size:1.02rem}
.oc-note{text-align:center;color:var(--oc-muted);font-size:.86rem;margin-top:26px}

/* =====================================================================
   15. FAQ  -  ELEMENTOR NATIVE ACCORDION
   Targets Elementor's nested accordion widget so it matches the mockup.
   Add the CSS class  oc-faq  to the accordion WIDGET (Advanced > CSS Classes)
   ===================================================================== */
.oc-faq .e-n-accordion{display:grid;gap:12px}

.oc-faq .e-n-accordion-item{
  background:#fff !important;
  border:1px solid var(--oc-line) !important;
  border-radius:14px !important;
  overflow:hidden;
  box-shadow:0 10px 26px -20px rgba(20,26,61,.4);
  transition:box-shadow .2s ease,border-color .2s ease;
}
.oc-faq .e-n-accordion-item[open]{
  border-color:var(--oc-hair) !important;
  box-shadow:0 16px 34px -22px rgba(20,26,61,.5);
}

/* the clickable title row */
.oc-faq .e-n-accordion-item-title{
  background:transparent !important;
  border:0 !important;
  padding:20px 22px !important;
  cursor:pointer;
  gap:16px;
}
.oc-faq .e-n-accordion-item-title-text,
.oc-faq .e-n-accordion-item-title-text *{
  font-family:var(--oc-serif) !important;
  font-size:1.12rem !important;
  font-weight:600 !important;
  line-height:1.35 !important;
  color:var(--oc-navy) !important;
  letter-spacing:0 !important;
}
.oc-faq .e-n-accordion-item-title:hover .e-n-accordion-item-title-text,
.oc-faq .e-n-accordion-item-title:hover .e-n-accordion-item-title-text *{color:var(--oc-gold-dk) !important}

/* the open / close icon */
.oc-faq .e-n-accordion-item-title-icon{color:var(--oc-gold-dk) !important}
.oc-faq .e-n-accordion-item-title-icon svg,
.oc-faq .e-n-accordion-item-title-icon i{
  width:22px !important;height:22px !important;font-size:20px !important;
  fill:var(--oc-gold-dk) !important;color:var(--oc-gold-dk) !important;
  transition:transform .25s ease;
}
.oc-faq .e-n-accordion-item[open] .e-n-accordion-item-title-icon svg,
.oc-faq .e-n-accordion-item[open] .e-n-accordion-item-title-icon i{transform:rotate(180deg)}

/* the answer body */
.oc-faq .e-n-accordion-item > .e-con,
.oc-faq .e-n-accordion-item .elementor-widget-text-editor{padding-top:0 !important}
.oc-faq .e-n-accordion-item p{
  font-family:var(--oc-sans) !important;
  font-size:.96rem !important;
  line-height:1.72 !important;
  color:var(--oc-muted) !important;
  margin:0 0 4px;
}
.oc-faq .e-n-accordion-item .e-con-inner{padding:0 22px 20px !important}

/* ---------- 16. FAQ  -  STANDALONE (no Elementor widget needed) ---------- */
.oc-faqlist{max-width:760px;margin:0 auto;display:grid;gap:12px}
.oc-faqlist details{
  background:#fff;border:1px solid var(--oc-line);border-radius:14px;overflow:hidden;
  box-shadow:0 10px 26px -20px rgba(20,26,61,.4);
}
.oc-faqlist summary{
  list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;
  gap:16px;padding:20px 22px;
  font-family:var(--oc-serif);font-weight:600;font-size:1.12rem;color:var(--oc-navy);
}
.oc-faqlist summary::-webkit-details-marker{display:none}
.oc-faqlist summary::after{
  content:"";flex:none;width:22px;height:22px;background-color:var(--oc-gold-dk);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E") no-repeat center/contain;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E") no-repeat center/contain;
  transition:transform .25s ease;
}
.oc-faqlist details[open] summary::after{transform:rotate(45deg)}
.oc-faqlist summary:hover{color:var(--oc-gold-dk)}
.oc-faqlist .oc-faqlist__a{padding:0 22px 20px}
.oc-faqlist .oc-faqlist__a p{font-size:.96rem;color:var(--oc-muted);margin:0}

/* ---------- 17. RESPONSIVE ---------- */
@media (max-width:1024px){
  .oc-steps{grid-template-columns:1fr 1fr}
  .oc-trust__grid{grid-template-columns:1fr 1fr;gap:18px}
}
@media (max-width:900px){
  .oc-band{grid-template-columns:1fr}
  .oc-band__media{min-height:230px}
}
@media (max-width:767px){
  .oc-sec{padding:52px 0}
  .oc-wrap{padding:0 20px}
  .oc-checklist{grid-template-columns:1fr}
  .oc-hero__cta{flex-direction:column}
  .oc-hero__cta .oc-btn{width:100%}
  .oc-trust__item{justify-content:flex-start}
}
@media (max-width:560px){
  .oc-steps,.oc-trust__grid{grid-template-columns:1fr}
  .oc-head{margin-bottom:34px}
}
@media (prefers-reduced-motion:reduce){
  .oc-btn,.oc-card,.oc-frame{transition:none}
  .oc-btn:hover,.oc-card:hover,.oc-frame:hover{transform:none}
}

/* ---------- 18. ACCESSIBILITY ---------- */
.oc a:focus-visible,.oc button:focus-visible,.oc summary:focus-visible{
  outline:2px solid var(--oc-gold-lt);outline-offset:3px;border-radius:8px;
}/* End custom CSS */