/* One visual family, with a different silhouette and rhythm for each module. */
.module-page { --module-paper:#faf9f3; --module-tint:#eaf1e8; --module-tilt:-4deg; background:var(--module-paper); overflow-x:clip; }
.module-events { --module-tint:#f1eddf; --module-tilt:4deg; }
.module-travel { --module-tint:#e6eeeb; --module-tilt:-3deg; }
.module-series { --module-tint:#edf0e1; --module-tilt:3deg; }
.module-page h1,.module-page h2,.module-page h3 { font-family:'Roboto Flex',Roboto,Arial,sans-serif; }
.module-page h1,.module-page h2 { letter-spacing:-.055em; font-weight:740; color:#041e20; }
.module-page > header.header.header { background:transparent; box-shadow:none; margin-bottom:calc(-1 * var(--marketing-header-height)); }
.module-page > header.header.header.hero-scrolled { background:var(--module-paper); box-shadow:0 1px 0 #183c2514; }
.module-page .wrap { width:var(--marketing-content-width,91.4%); max-width:1600px; }
.module-page .button { border-radius:7px; min-height:48px; font-size:14px; gap:15px; }
.module-page .button.outline { background:#fffdf7e6; border-color:#698c86; }
.module-hero { position:relative; isolation:isolate; min-height:740px; min-height:max(740px,52.9vw); overflow:hidden; }
.module-shape-defs { position:absolute; }
.module-hero-photo { position:absolute; inset:0; z-index:-2; clip-path:url(#module-photo-shape); }
.module-hero-photo img { position:absolute; right:0; width:73%; height:100%; object-fit:cover; object-position:48% center; }
.module-hero-photo::after { content:''; position:absolute; inset:0; background:linear-gradient(180deg,#faf9f3eb,transparent 140px),linear-gradient(90deg,var(--module-paper) 24%,#faf9f3a3 36%,transparent 51%); }
.module-hero-inner { position:relative; padding-top:calc(var(--marketing-header-height) + 28px); padding-bottom:90px; }
.module-hero .mp-breadcrumb { margin-bottom:38px; font-size:11px; }
.module-hero-copy { width:45%; max-width:680px; }
.module-hero .eyebrow { font-size:10px; line-height:1.6; letter-spacing:.19em; max-width:410px; margin-bottom:20px; }
.module-hero h1 { font-size:clamp(46px,4.6vw,76px); line-height:1.02; }
.module-hero h1 em { font:inherit; color:inherit; letter-spacing:inherit; }
.module-note { display:inline-block; position:relative; font-size:clamp(28px,2.5vw,43px); line-height:1.15; color:var(--green); margin-top:20px; transform:rotate(-4deg); }
.module-note::after { content:''; position:absolute; right:3%; bottom:-10px; width:32%; height:10px; border-top:2px solid currentColor; border-radius:50%; transform:rotate(-3deg); }
.module-hero .mp-lead { max-width:470px; margin-top:35px; line-height:1.5; font-size:clamp(16px,1.4vw,21px); color:#4d646d; }
.module-hero .mp-actions { gap:12px; margin-top:25px; }
.module-preview { position:absolute; right:2%; bottom:50px; width:345px; max-width:37%; background:#fffef9; border:1px solid #e5e9e1; border-radius:15px; padding:22px; box-shadow:0 18px 50px #15312626; transform:rotate(var(--module-tilt)); }
.module-preview-heading { display:flex; align-items:center; gap:9px; padding-bottom:15px; border-bottom:1px solid #dce4dc; }
.module-preview-heading strong { font-size:15px; }
.module-preview-heading>span { margin-left:auto; font-size:9px; color:#63766c; }
.module-preview ol { padding:0; margin:0; list-style:none; }
.module-preview li { display:grid; grid-template-columns:74px 1fr 16px; align-items:center; gap:8px; padding:15px 0; border-bottom:1px solid #e5ebe3; font-size:12px; }
.module-preview li>span { font-size:10px; color:#527267; }
.module-preview li>strong { font-weight:650; line-height:1.4; }
.module-preview li>svg { width:16px; height:16px; color:var(--green); }
.module-preview-note { display:block; font-size:27px; margin-top:14px; color:var(--green); }
.module-events .module-hero-photo img { object-position:40% center; }
.module-travel .module-hero-photo img { width:82%; object-position:26% center; }
.module-travel .module-preview { right:6%; bottom:40px; }
.module-series .module-preview { right:4%; bottom:75px; }
.module-page .mp-module-nav { border:0; padding-block:27px; }
.module-page .mp-module-nav a { background:transparent; }
.module-page .mp-module-nav a[aria-current] { background:var(--green); }
.module-page .mp-section { padding-block:var(--marketing-section-space,80px); }
.module-page .mp-heading { max-width:720px; margin-bottom:45px; }
.module-page .mp-benefits { gap:48px; }
.module-page .mp-benefits article { position:relative; background:transparent; border:0; padding:0 18px 0 0; }
.module-page .mp-icon { width:72px; height:72px; background:var(--module-tint); margin-bottom:25px; border-radius:45% 55% 62% 38% / 54% 42% 58% 46%; }
.module-page .mp-benefits article:nth-child(2) .mp-icon { border-radius:60% 40% 40% 60% / 45% 56% 44% 55%; transform:rotate(8deg); }
.module-page .mp-benefits article:nth-child(2) .mp-icon svg { transform:rotate(-8deg); }
.module-page .mp-icon svg { width:30px; height:30px; }
.module-page .mp-benefits h3 { font-size:24px; }
.module-page .mp-story { position:relative; isolation:isolate; padding-block:110px; background:var(--module-tint); clip-path:polygon(0 3%,18% 0,51% 3%,78% 1%,100% 4%,100% 97%,76% 100%,43% 97%,18% 100%,0 97%); }
.module-events .mp-story { clip-path:polygon(0 1%,31% 4%,67% 0,100% 3%,100% 98%,65% 96%,30% 100%,0 97%); }
.module-travel .mp-story { border-radius:45% 8% 35% 4% / 6% 3% 5% 3%; clip-path:none; }
.module-series .mp-story { clip-path:polygon(0 4%,26% 0,67% 4%,100% 0,100% 96%,73% 100%,34% 97%,0 100%); }
.module-page .mp-story>.wrap { gap:10%; }
.module-page .mp-day { position:relative; background:#fffef9; transform:rotate(var(--module-tilt)); padding:30px; border-radius:16px; }
.module-page .mp-day::before { content:''; position:absolute; inset:14px -14px -14px 14px; border:1px solid #93ab965c; border-radius:16px; z-index:-1; transform:rotate(3deg); }
.module-page .mp-roles { gap:42px; }
.module-page .mp-connections { position:relative; background:var(--module-tint); padding:60px; border-radius:70px 24px 90px 28px; }
.module-events .mp-connections { border-radius:25px 100px 28px 75px; }
.module-travel .mp-connections { border-radius:80px 30px 65px 35px; }
.module-series .mp-connections { border-radius:28px 75px 28px 75px; }
.module-page .mp-demo { position:relative; padding-top:110px; padding-bottom:100px; }
.module-page .mp-demo::before { content:''; position:absolute; z-index:-1; width:280px; height:220px; top:65px; left:calc(50% - 140px); background:var(--module-tint); border-radius:46% 54% 66% 34% / 56% 40% 60% 44%; transform:rotate(-12deg); opacity:.55; }
@media (min-width:761px) and (max-width:1100px) {
    .module-hero { min-height:780px; }
    .module-hero-copy { width:51%; }
    .module-hero h1 { font-size:clamp(43px,5.3vw,58px); }
    .module-note { font-size:30px; }
    .module-preview { right:0; width:290px; padding:17px; }
    .module-preview-heading>span { display:none; }
    .module-page .mp-benefits { gap:25px; }
    .module-page .mp-benefits h3 { font-size:21px; }
}
@media (max-width:760px) {
    .module-page > header.header.header { height:77px; margin-bottom:-77px; }
    .module-page .wrap { width:calc(100% - 40px); }
    .module-hero { min-height:0; }
    .module-hero-inner { padding-top:96px; padding-bottom:35px; }
    .module-hero .mp-breadcrumb { margin-bottom:24px; }
    .module-hero-copy { width:100%; max-width:520px; }
    .module-hero .eyebrow { font-size:9px; max-width:310px; margin-bottom:15px; }
    .module-hero h1 { font-size:clamp(40px,10.5vw,65px); }
    .module-note { font-size:clamp(27px,6.8vw,39px); max-width:95%; margin-top:16px; }
    .module-hero .mp-lead { font-size:16px; max-width:95%; margin-top:28px; }
    .module-hero .mp-actions { flex-direction:row; align-items:center; gap:10px; }
    .module-hero .button { font-size:12px; padding-inline:14px; gap:10px; }
    .module-hero-photo { clip-path:none; }
    .module-hero-photo img,.module-travel .module-hero-photo img { width:100%; height:65%; top:auto; bottom:0; object-position:48% center; }
    .module-hero-photo::after { background:linear-gradient(180deg,var(--module-paper) 30%,#faf9f3f5 41%,#faf9f3ad 50%,transparent 66%); }
    .module-hero::before { content:''; position:absolute; inset:0 0 auto; height:90px; background:var(--module-tint); border-radius:0 0 0 100%; z-index:-1; left:48%; }
    .module-events .module-hero-photo img { object-position:40% center; }
    .module-preview,.module-travel .module-preview,.module-series .module-preview { position:relative; right:auto; bottom:auto; margin:180px 0 0 auto; width:290px; max-width:87%; padding:19px; }
    .module-travel .module-hero-photo img { object-position:25% center; }
    .module-travel .module-preview { margin-top:210px; }
    .module-events .module-preview { margin-right:8px; }
    .module-preview-heading strong { font-size:14px; }
    .module-preview-heading>span { font-size:8px; }
    .module-preview li { padding-block:13px; }
    .module-page .mp-module-nav { padding-block:22px; }
    .module-page .mp-section { padding-block:52px; }
    .module-page .mp-heading { margin-bottom:30px; }
    .module-page .mp-benefits { gap:30px; }
    .module-page .mp-benefits article { padding:0; }
    .module-page .mp-icon { width:60px; height:60px; margin-bottom:18px; }
    .module-page .mp-story { padding-block:65px; }
    .module-page .mp-story>.wrap { gap:40px; }
    .module-page .mp-day { padding:22px; transform:rotate(calc(var(--module-tilt) * .5)); }
    .module-page .mp-day::before { inset:9px -7px -9px 7px; }
    .module-page .mp-connections { padding:34px 25px; border-radius:42px 16px 46px 20px; }
    .module-page .mp-demo { padding-block:70px; text-align:center; }
    .module-page .mp-demo::before { width:220px; left:calc(50% - 110px); }
}
@media (prefers-reduced-motion:no-preference) {
    .module-page .mp-module-nav a { transition:background-color .15s ease; }
}

/* Events: a generous curved welcome, with the programme in the foreground. */
.module-events .module-hero-photo img { width:76%; object-position:50% center; }
.module-events .module-note { font-size:clamp(27px,2.35vw,40px); }
.module-events .module-preview { width:390px; right:1%; bottom:38px; padding:25px; }
.module-events .module-preview li { grid-template-columns:64px 1fr 18px; padding-block:19px; }
.module-events .module-preview li strong { display:flex; align-items:center; gap:12px; }
.module-events .module-preview li strong svg { box-sizing:content-box; width:22px; height:22px; flex-shrink:0; background:#e8eddf; color:var(--green); padding:9px; border-radius:8px; }
@media(max-width:760px) {
 .module-events .module-hero-photo img { width:100%; object-position:48% center; }
 .module-events .module-preview { width:300px; padding:18px; right:auto; bottom:auto; }
 .module-events .module-preview li { grid-template-columns:53px 1fr 16px; padding-block:13px; }
 .module-events .module-preview li strong { gap:8px; }
 .module-events .module-preview li strong svg { width:18px; height:18px; padding:6px; }
}
