/* Scoped to the five ADEM content pages. */
.adem-page {
    --adem-navy: #123d54;
    --adem-blue: #075580;
    --adem-teal: #067b83;
    --adem-muted: #526976;
    --adem-line: #dce8ed;
    color: var(--adem-navy);
    font-size: 17px;
    line-height: 1.8;
    margin-block: 0;
}
.adem-page *, .adem-page *::before, .adem-page *::after { box-sizing: border-box; }
.adem-page .wp-block-group { margin-block-start: 0; }
.adem-page p { margin: 0 0 20px; }
.adem-page p:last-child { margin-bottom: 0; }
.adem-page h1, .adem-page h2, .adem-page h3 { color: var(--adem-navy); text-wrap: balance; }
.adem-page h1 { font-size: clamp(38px, 4.5vw, 64px); font-weight: 600; line-height: 1.09; letter-spacing: -.045em; margin: 0 0 26px; }
.adem-page h2 { font-size: clamp(28px, 3vw, 40px); font-weight: 600; line-height: 1.2; letter-spacing: -.035em; margin: 0 0 24px; }
.adem-page h3 { font-size: 23px; font-weight: 600; line-height: 1.35; letter-spacing: -.02em; margin: 0 0 14px; }
.adem-page .adem-section { padding-block: 76px; }
.adem-page .adem-section-inner { width: 100%; max-width: 1244px; margin: 0 auto; padding-inline: 32px; }
.adem-page .adem-tint { background: #f2f8fa; }
.adem-page .adem-prose { max-width: 800px; }
.adem-page .adem-prose-wide { max-width: 960px; }
.adem-page .adem-eyebrow { color: var(--adem-teal); font-size: 12px; font-weight: 700; line-height: 1.5; text-transform: uppercase; letter-spacing: .15em; margin-bottom: 20px; }
.adem-page .adem-lead { color: var(--adem-muted); font-size: 20px; line-height: 1.7; }
.adem-page .adem-tagline { color: var(--adem-teal); font-size: clamp(22px, 2.2vw, 28px); font-weight: 500; line-height: 1.4; }
.adem-page .adem-hero { background: radial-gradient(ellipse at 100% 0, #d6edf0 0, transparent 52%), #f2f8fa; padding-block: 68px; border-bottom: 1px solid var(--adem-line); }
.adem-page .adem-hero-grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, .85fr); gap: 64px; align-items: center; }
.adem-page .adem-hero-copy { max-width: 740px; }
.adem-page .adem-welcome-hero { position: relative; overflow: hidden; isolation: isolate; background: #f2f8fa; min-height: 460px; display: flex; align-items: center; }
.adem-page .adem-welcome-hero .adem-welcome-image { position: absolute; inset: 0 0 0 auto; width: 60%; height: 100%; margin: 0; z-index: -1; -webkit-mask-image: linear-gradient(to right, transparent, #000 48%); mask-image: linear-gradient(to right, transparent, #000 48%); }
.adem-page .adem-welcome-hero .adem-welcome-image img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.adem-page .adem-welcome-hero .adem-hero-copy { max-width: 610px; width: 57%; }
.adem-page .adem-welcome-hero h1 { font-size: clamp(36px, 4vw, 58px); }
@media (max-width: 760px) {
    .adem-page .adem-welcome-hero { padding-bottom: 300px; }
    .adem-page .adem-welcome-hero .adem-hero-copy { width: 100%; max-width: none; }
    .adem-page .adem-welcome-hero .adem-welcome-image { inset: auto 0 0; width: 100%; height: 290px; -webkit-mask-image: linear-gradient(to bottom, transparent, #000 40%); mask-image: linear-gradient(to bottom, transparent, #000 40%); }
}
.adem-page .adem-hero-panel { border: 1px solid #fff; border-radius: 22px; background: #fff; padding: 28px; box-shadow: 0 14px 42px #0b4b7010; }
.adem-page .adem-hero-panel .adem-eyebrow { margin-bottom: 12px; }
.adem-page .adem-hero-panel h3 { font-size: 26px; }
.adem-page .adem-hero-panel p { color: var(--adem-muted); font-size: 16px; }
.adem-page .adem-hero-panel .adem-figure { margin: -28px -28px 24px; }
.adem-page .adem-hero-panel .adem-figure img { border-radius: 21px 21px 0 0; aspect-ratio: 4 / 3; }
.adem-page .adem-figure { margin: 0; }
.adem-page .adem-figure img { display: block; width: 100%; height: auto; object-fit: cover; border-radius: 20px; }
.adem-page .adem-figure figcaption { color: var(--adem-muted); font-size: 13px; margin-top: 12px; }
.adem-page .adem-actions { display: flex; gap: 14px; flex-wrap: wrap; margin-top: 28px; }
.adem-page .wp-block-button__link { background: var(--adem-blue); color: #fff; border: 1px solid var(--adem-blue); border-radius: 8px; padding: 13px 23px; font-size: 16px; line-height: 1.5; font-weight: 600; text-decoration: none; transition: background-color .15s ease; }
.adem-page .wp-block-button__link:hover { background: #053e5e; }
.adem-page .adem-button-secondary .wp-block-button__link { color: var(--adem-blue); background: transparent; border-color: #a9c7d5; }
.adem-page .adem-button-secondary .wp-block-button__link:hover { background: #e5f1f5; }
.adem-page a:focus-visible, .adem-page summary:focus-visible { outline: 3px solid #00a2b1; outline-offset: 5px; }
.adem-page .adem-grid { display: grid; gap: 24px; }
.adem-page .adem-grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.adem-page .adem-grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.adem-page .adem-split { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 72px; align-items: start; }
.adem-page .adem-split-even { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 48px; }
.adem-page .adem-card { padding: 28px; border: 1px solid var(--adem-line); border-radius: 16px; background: #fff; }
.adem-page .adem-card p { color: var(--adem-muted); }
.adem-page .adem-card .adem-eyebrow { color: var(--adem-teal); margin-bottom: 10px; }
.adem-page .adem-card h3 { margin-bottom: 12px; }
.adem-page .adem-stats { border-bottom: 1px solid var(--adem-line); background: #fff; padding-block: 26px; }
.adem-page .adem-stat { padding: 10px 24px; border-left: 2px solid #6cc5cd; }
.adem-page .adem-stat .adem-number { color: var(--adem-blue); font-size: 29px; font-weight: 600; letter-spacing: -.025em; line-height: 1.2; margin: 0 0 8px; }
.adem-page .adem-stat p { color: var(--adem-muted); font-size: 14px; }
.adem-page #program { padding-block: 48px; }
.adem-page #program .adem-section-heading { margin-bottom: 20px; }
.adem-page #program .adem-eyebrow { margin-bottom: 12px; }
.adem-page #program h2 { font-size: clamp(26px, 2.5vw, 32px); margin-bottom: 16px; }
.adem-page .adem-topic-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 28px; list-style: none; padding: 0; margin: 16px 0 0; }
.adem-page .adem-topic-list li { display: flex; align-items: center; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--adem-line); font-size: 16px; line-height: 1.5; font-weight: 500; }
.adem-page .adem-topic-list li::before { content: '\2713'; flex: 0 0 22px; height: 22px; border-radius: 50%; background: #dceff0; color: var(--adem-teal); font-size: 13px; line-height: 22px; font-weight: 700; text-align: center; }
.adem-page .adem-callout { border-left: 3px solid #0c8991; border-radius: 0 14px 14px 0; padding: 26px 30px; background: #eaf5f5; }
.adem-page .adem-callout p { margin-bottom: 12px; }
.adem-page .adem-callout p:last-child { margin-bottom: 0; }
.adem-page .adem-refund-highlight { margin-top: 28px; }
.adem-page .adem-grid + .adem-small { margin-top: 18px; }
.adem-page .adem-date { font-size: clamp(23px, 2.6vw, 32px); font-weight: 600; line-height: 1.3; letter-spacing: -.03em; color: var(--adem-blue); margin-bottom: 12px; }
.adem-page .adem-fee { font-size: clamp(44px, 5vw, 62px); line-height: 1.1; font-weight: 600; letter-spacing: -.045em; color: var(--adem-blue); margin-bottom: 20px; }
.adem-page .adem-card-featured { border: 2px solid #12838c; background: #f5fbfb; }
.adem-page .adem-card-featured .adem-eyebrow { color: var(--adem-teal); }
.adem-page .adem-checklist { padding: 0; margin: 20px 0 0; list-style: none; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 44px; }
.adem-page .adem-checklist li { padding: 15px 0 15px 28px; border-bottom: 1px solid var(--adem-line); position: relative; line-height: 1.65; }
.adem-page .adem-checklist li::before { content: '\2713'; color: var(--adem-teal); font-weight: 700; position: absolute; left: 0; }
.adem-page .adem-detail { border-bottom: 1px solid var(--adem-line); padding: 22px 0; margin: 0; }
.adem-page .adem-detail summary { color: var(--adem-navy); cursor: pointer; font-size: 21px; font-weight: 600; line-height: 1.5; }
.adem-page .adem-detail p { color: var(--adem-muted); }
.adem-page .adem-detail[open] summary { margin-bottom: 24px; }
.adem-page .adem-detail .wp-block-list { padding-left: 22px; }
.adem-page .adem-facts { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.adem-page .adem-facts li { background: #fff; border: 1px solid var(--adem-line); border-radius: 14px; padding: 26px; }
.adem-page .adem-info-list { list-style: none; padding: 0; margin: 0; }
.adem-page .adem-info-list li { padding: 15px 0; border-bottom: 1px solid var(--adem-line); }
.adem-page .adem-signoff { margin-top: 30px; padding-top: 26px; border-top: 1px solid var(--adem-line); }
.adem-page .adem-signoff p { margin-bottom: 6px; }
.adem-page .adem-signoff .adem-tagline { font-size: 26px; }
.adem-page .adem-closing { background: #0c3e58; color: #e1eff4; }
.adem-page .adem-closing h2, .adem-page .adem-closing h3, .adem-page .adem-closing .adem-tagline { color: #fff; }
.adem-page .adem-closing .adem-eyebrow { color: #8edce0; }
.adem-page .adem-closing .wp-block-button__link { background: #fff; color: #075580; border-color: #fff; }
.adem-page .adem-closing .wp-block-button__link:hover { background: #dff2f5; }
.adem-page .adem-closing .adem-button-secondary .wp-block-button__link { background: transparent; color: #fff; border-color: #6b96ac; }
.adem-page .adem-closing .adem-split { align-items: center; }
.adem-page .adem-section-heading { margin-bottom: 34px; }
.adem-page .adem-flow { display: grid; gap: 34px; }
.adem-page .adem-clinical-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 36px 48px; align-items: center; }
.adem-page .adem-clinical-grid .adem-clinical-photo img { width: 100%; height: 340px; object-fit: cover; object-position: center 45%; }
@media (max-width: 760px) {
    .adem-page .adem-clinical-grid { grid-template-columns: 1fr; gap: 26px; }
    .adem-page .adem-clinical-grid .adem-clinical-photo img { height: 280px; }
}
.adem-page .adem-small { font-size: 15px; color: var(--adem-muted); }
.adem-page .adem-trip-teaser { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: 48px; align-items: start; }
.adem-page .adem-trip-card { padding: 34px; border-radius: 22px; background: radial-gradient(ellipse at 100% 0, #126e7b 0, transparent 70%), #103f58; color: #e8f4f7; box-shadow: 0 14px 32px #103f5812; }
.adem-page .adem-trip-card .adem-eyebrow { color: #a2e5e5; margin-bottom: 16px; }
.adem-page .adem-trip-card h3 { color: #fff; font-size: 34px; margin-bottom: 18px; }
.adem-page .adem-trip-card .adem-trip-included { font-size: 14px; color: #bce9e7; padding-top: 18px; border-top: 1px solid #ffffff30; }
.adem-page .adem-trip-card .wp-block-button__link { background: #fff; color: var(--adem-blue); border-color: #fff; }
.adem-page .adem-trip-card .wp-block-button__link:hover { background: #e2f3f4; }
.adem-page .adem-trip-practical { margin-top: 40px; }
.adem-page .adem-practical-cards { margin-top: 40px; }
.adem-page .adem-community-gallery.wp-block-gallery.has-nested-images { margin-top: 28px; }
.adem-page .adem-community-gallery.wp-block-gallery.has-nested-images figure.wp-block-image img { aspect-ratio: 4 / 3; object-position: center 75%; }
.adem-page .adem-summer-heading { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); align-items: center; gap: 40px; margin-bottom: 32px; }
.adem-page .adem-summer-heading .adem-section-heading { margin-bottom: 0; }
.adem-page .adem-summer-photo figure { margin: 0; }
.adem-page .adem-summer-photo img { display: block; width: 100%; height: auto; border-radius: 18px; }
@media (max-width: 760px) {
    .adem-page .adem-summer-heading { grid-template-columns: 1fr; gap: 24px; }
}
.adem-page .adem-practical-card { display: flex; flex-direction: column; padding: 32px; border-top: 3px solid #198b94; }
.adem-page .adem-practical-card .adem-actions { margin-top: auto; padding-top: 12px; }
.adem-page .adem-destination-section { scroll-margin-top: 28px; }
.adem-page .adem-destination-gallery.wp-block-gallery.has-nested-images { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; margin: 0; }
.adem-page .adem-destination-gallery.wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image) { width: 100%; margin: 0; flex-grow: 0; }
.adem-page .adem-destination-gallery.wp-block-gallery.has-nested-images figure.wp-block-image img { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 14px; }
.adem-page .adem-podgorica-gallery.wp-block-gallery.has-nested-images { grid-template-columns: repeat(2,minmax(0,1fr)); }
@media (max-width: 760px) {
    .adem-page .adem-destination-gallery.wp-block-gallery.has-nested-images { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
}
@media (max-width: 520px) {
    .adem-page .adem-destination-gallery.wp-block-gallery.has-nested-images { grid-template-columns: 1fr; }
}
.adem-page .adem-zabljak-section { scroll-margin-top: 28px; border-top: 1px solid var(--adem-line); }
.adem-page .adem-trip-details { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 56px; margin-bottom: 36px; }
.adem-page .adem-trip-details h2 { margin-bottom: 18px; }
.adem-page .adem-zabljak-gallery.wp-block-gallery.has-nested-images { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin: 0; }
.adem-page .adem-zabljak-gallery.wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image) { width: 100%; margin: 0; flex-grow: 0; }
.adem-page .adem-zabljak-gallery.wp-block-gallery.has-nested-images figure.wp-block-image img { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 14px; }
@media (max-width: 900px) {
    .adem-page .adem-trip-teaser, .adem-page .adem-trip-details { grid-template-columns: 1fr; gap: 28px; }
    .adem-page .adem-zabljak-gallery.wp-block-gallery.has-nested-images { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 520px) {
    .adem-page .adem-trip-card { padding: 26px; }
    .adem-page .adem-trip-card h3 { font-size: 29px; }
    .adem-page .adem-zabljak-gallery.wp-block-gallery.has-nested-images { grid-template-columns: 1fr; gap: 16px; }
}
.adem-page .adem-agenda-gallery.wp-block-gallery.has-nested-images figure.wp-block-image figcaption {
    position: static;
    order: -1;
    width: 100%;
    max-height: none;
    margin: 0 0 10px;
    padding: 0;
    background: none;
    color: var(--adem-teal);
    font-size: 13px;
    font-weight: 600;
    line-height: 1.5;
    text-align: center;
    overflow: visible;
}
@media (max-width: 1000px) {
    .adem-page .adem-hero-grid { gap: 32px; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); }
    .adem-page .adem-split { gap: 36px; }
    .adem-page .adem-grid-3 { gap: 16px; }
    .adem-page .adem-card { padding: 24px; }
}
@media (max-width: 760px) {
    .adem-page { font-size: 16px; line-height: 1.75; }
    .adem-page .adem-section { padding-block: 48px; }
    .adem-page .adem-section-inner { padding-inline: 24px; }
    .adem-page .adem-hero { padding-block: 44px; }
    .adem-page .adem-hero-grid, .adem-page .adem-split, .adem-page .adem-grid-2, .adem-page .adem-grid-3 { grid-template-columns: 1fr; gap: 26px; }
    .adem-page .adem-hero-panel { padding: 24px; }
    .adem-page .adem-hero-panel .adem-figure { margin: -24px -24px 24px; }
    .adem-page .adem-hero-panel .adem-figure img { aspect-ratio: 16 / 9; }
    .adem-page .adem-stats { padding-block: 24px; }
    .adem-page .adem-stats .adem-grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
    .adem-page .adem-stat { padding: 4px 10px; }
    .adem-page .adem-stat .adem-number { font-size: 22px; }
    .adem-page .adem-stat p { font-size: 12px; line-height: 1.5; }
    .adem-page .adem-topic-list, .adem-page .adem-checklist, .adem-page .adem-facts { grid-template-columns: 1fr; }
    .adem-page #program { padding-block: 32px; }
    .adem-page .adem-topic-list { margin-top: 16px; }
    .adem-page .adem-lead { font-size: 18px; }
    .adem-page .adem-callout { padding: 22px; }
    .adem-page .adem-detail summary { font-size: 19px; }
}
@media (prefers-reduced-motion: reduce) {
    .adem-page .wp-block-button__link { transition: none; }
}
/* Keep the welcome sign beyond the soft edge of the hero image. */
@media (min-width: 761px) {
    .adem-page .adem-welcome-hero .adem-welcome-image {
        width: 55%;
        -webkit-mask-image: linear-gradient(to right, transparent, #000 28%);
        mask-image: linear-gradient(to right, transparent, #000 28%);
    }
}
/* Softly blend the summer photo toward the title. */
.adem-page .adem-summer-heading {
    position: relative;
    isolation: isolate;
    display: flex;
    align-items: center;
    min-height: 250px;
    padding-block: 28px;
}
.adem-page .adem-summer-heading .adem-section-heading {
    width: 54%;
    position: relative;
    z-index: 1;
}
.adem-page .adem-summer-heading .adem-summer-photo {
    position: absolute;
    inset: 0 0 0 auto;
    width: 59%;
    height: 100%;
    z-index: -1;
    -webkit-mask-image: linear-gradient(to right, transparent, #000 46%);
    mask-image: linear-gradient(to right, transparent, #000 46%);
}
.adem-page .adem-summer-photo figure,
.adem-page .adem-summer-photo .wp-lightbox-container { height: 100%; }
.adem-page .adem-summer-photo img {
    height: 100%;
    object-fit: cover;
    border-radius: 0 18px 18px 0;
}
@media (max-width: 760px) {
    .adem-page .adem-summer-heading { display: block; padding-block: 0 220px; }
    .adem-page .adem-summer-heading .adem-section-heading { width: 100%; }
    .adem-page .adem-summer-heading .adem-summer-photo {
        inset: auto 0 0;
        width: 100%;
        height: 210px;
        -webkit-mask-image: linear-gradient(to bottom, transparent, #000 42%);
        mask-image: linear-gradient(to bottom, transparent, #000 42%);
    }
}
@media (min-width: 761px) {
    .adem-page .adem-summer-heading .adem-summer-photo {
        width: 68%;
        -webkit-mask-image: linear-gradient(to right, transparent, #000 44%);
        mask-image: linear-gradient(to right, transparent, #000 44%);
    }
    .adem-page .adem-summer-photo img {
        object-position: center;
        image-rendering: auto;
    }
}
/* Frame the sunset and upper bay, above the cable car. */
.adem-page .adem-summer-photo img { object-position: center 18%; }
@media (min-width: 761px) {
    .adem-page .adem-summer-heading .adem-summer-photo {
        width: 60%;
        -webkit-mask-image: linear-gradient(to right, transparent 5%, #000 52%);
        mask-image: linear-gradient(to right, transparent 5%, #000 52%);
    }
}
