/* Role pages share the photographic hero, with their own route through the story. */
.audience-page { --module-tint:#eaf1e8; }
.audience-spelers { --module-tint:#e7eeeb; --module-tilt:4deg; }
.audience-page .module-hero h1 { font-size:clamp(46px,4.2vw,72px); }
.audience-page .module-hero-photo img { width:77%; object-position:48% center; }
.audience-spelers .module-hero-photo img { object-position:55% center; }
.audience-page .module-preview { bottom:45px; right:1%; }
.audience-page .module-preview li { grid-template-columns:50px 1fr 16px; }
.ar-intro,.ar-choices,.ar-closing { padding-block:var(--marketing-section-space,90px); }
.ar-intro-heading { display:grid; grid-template-columns:1.1fr .9fr; gap:12%; align-items:center; margin-bottom:45px; }
.ar-intro-heading h2,.ar-choice-heading h2,.ar-one h2 { font-size:var(--marketing-section-title,47px); line-height:1.05; }
.ar-intro-heading>p { font-size:18px; line-height:1.6; color:#4d646d; }
.ar-benefits { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px; }
.ar-benefits article>span { width:65px; height:65px; display:grid; place-items:center; background:var(--module-tint); color:var(--green); border-radius:45% 55% 38% 62% / 45% 40% 60% 55%; margin-bottom:23px; }
.ar-benefits article>span>.action-icon { width:29px; height:29px; }
.ar-benefits h3 { font-size:23px; margin-bottom:13px; }
.ar-benefits p { font-size:16px; line-height:1.65; color:#4d646d; }
.ar-journey { padding-block:85px 65px; background:var(--module-tint); clip-path:polygon(0 2%,25% 0,60% 2%,83% 0,100% 2%,100% 97%,70% 100%,30% 98%,0 100%); }
.ar-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:45px; list-style:none; margin:0; padding:0; }
.ar-steps>li { position:relative; }
.ar-steps>li:not(:last-child)::after { content:''; position:absolute; left:90px; right:-32px; top:35px; border-top:1px dashed #94ad92; }
.ar-step-icon { position:relative; display:grid; place-items:center; width:70px; height:70px; border-radius:50%; background:#fff; color:var(--green); margin-bottom:25px; }
.ar-step-icon>span { position:absolute; left:-4px; top:0; width:25px; height:25px; border:3px solid var(--module-tint); border-radius:50%; background:var(--green); color:#fff; display:grid; place-items:center; font-size:11px; }
.ar-step-icon>.action-icon { width:31px; height:31px; }
.ar-steps h3 { font-size:23px; margin-bottom:12px; }
.ar-steps p { font-size:16px; color:#4d646d; line-height:1.6; }
.ar-journey-note { display:block; font-size:34px; color:var(--green); text-align:right; margin-top:40px; transform:rotate(-3deg); }
.ar-choice-heading { max-width:720px; margin-bottom:40px; }
.ar-choice-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:30px; }
.ar-choice { display:flex; flex-direction:column; min-width:0; border:1px solid #e1e7dc; border-radius:16px; overflow:hidden; background:#fffdf8; box-shadow:0 10px 25px #15312606; }
.ar-choice:first-child { grid-column:1/-1; display:grid; grid-template-columns:1.05fr .95fr; }
.ar-choice-photo { overflow:hidden; min-height:245px; }
.ar-choice-photo>img { width:100%; height:100%; max-height:300px; min-height:245px; object-fit:cover; transition:transform .35s ease; }
.ar-choice:first-child .ar-choice-photo>img { max-height:none; }
.ar-choice-copy { padding:30px; display:flex; flex-direction:column; align-items:flex-start; }
.ar-choice-copy>.eyebrow { display:flex; gap:9px; align-items:center; margin-bottom:17px; font-size:10px; }
.ar-choice-copy>.eyebrow>.action-icon { width:19px; height:19px; }
.ar-choice h3 { font-size:clamp(26px,2.5vw,36px); font-weight:740; letter-spacing:-.045em; margin-bottom:18px; line-height:1.12; }
.ar-choice p { color:#4d646d; line-height:1.65; font-size:15px; margin-bottom:25px; }
.ar-choice-link { display:flex; gap:20px; align-items:center; padding-top:10px; border-bottom:1px solid #afc2af; padding-bottom:7px; font-size:14px; font-weight:650; margin-top:auto; }
.ar-choice-link>.action-icon { width:18px; height:18px; }
.ar-choice:hover .ar-choice-photo>img { transform:scale(1.025); }
.ar-choice:focus-visible { outline:3px solid var(--green); outline-offset:4px; }
.ar-choice--events,.ar-choice--travel { background:#edf1e6; }
.ar-choice--series,.ar-choice--one { background:#f4efdf; }
.ar-one { position:relative; isolation:isolate; overflow:hidden; padding-block:110px; background:var(--module-paper); }
.ar-one-photo { position:absolute; z-index:-1; inset:0; overflow:hidden; border-radius:6% 50% 0 0 / 5% 12% 0 0; }
.ar-one-photo>img { width:100%; height:100%; object-fit:cover; object-position:center; }
.ar-one-photo::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,#faf9f3f5 0%,#faf9f3ee 28%,#faf9f3af 50%,#faf9f320 80%); }
.ar-one-inner { display:grid; grid-template-columns:1fr .8fr; gap:17%; align-items:center; }
.ar-one-inner>div>p:not(.eyebrow) { font-size:17px; color:#4d646d; line-height:1.6; margin:25px 0; }
.ar-one-card { padding:25px; background:#fffef9; border:1px solid #e1e7dc; border-radius:16px; transform:rotate(4deg); box-shadow:0 20px 45px #183e2c20; }
.ar-one-card>div { display:flex; gap:13px; align-items:center; padding:17px 0; border-bottom:1px solid #e3eade; font-size:15px; }
.ar-one-card>div:first-child { padding-top:0; padding-bottom:20px; }
.ar-one-card>div>small { margin-left:auto; color:#64796a; font-size:9px; }
.ar-one-card>div>.action-icon { color:var(--green); width:23px; height:23px; }
.ar-one-card>div>.action-icon:last-child { margin-left:auto; width:15px; height:15px; }
.ar-one-card>.handwritten { display:block; color:var(--green); font-size:30px; padding-top:22px; }
.ar-closing { text-align:center; }
.ar-closing h2 { max-width:850px; font-size:clamp(36px,4vw,53px); margin-inline:auto; }
.ar-closing>p:not(.eyebrow) { max-width:620px; color:#4d646d; font-size:17px; line-height:1.6; margin:25px auto; }
@media(max-width:1100px) and (min-width:761px) {
 .audience-page .module-hero-photo::after { background:linear-gradient(180deg,#faf9f3eb,transparent 140px),linear-gradient(90deg,var(--module-paper) 35%,#faf9f3ed 47%,#faf9f38c 57%,transparent 68%); }
 .ar-intro-heading { gap:8%; }
 .ar-benefits { gap:25px; }
 .ar-one-inner { gap:8%; }
 .ar-choice-copy { padding:24px; }
 .audience-page .module-hero-copy { width:50%; }
}
@media(max-width:760px) {
 .audience-page .module-hero h1 { font-size:clamp(40px,10.5vw,65px); }
 .audience-page .module-hero-photo img { width:100%; object-position:50% center; }
 .audience-page .module-preview { right:auto; bottom:auto; }
 .ar-intro,.ar-choices,.ar-closing { padding-block:55px; }
 .ar-intro-heading { grid-template-columns:1fr; gap:20px; margin-bottom:30px; }
 .ar-intro-heading h2,.ar-choice-heading h2,.ar-one h2 { font-size:36px; }
 .ar-intro-heading>p { font-size:16px; }
 .ar-benefits { grid-template-columns:1fr; gap:28px; }
 .ar-benefits article>span { width:55px; height:55px; margin-bottom:18px; }
 .ar-benefits h3 { font-size:22px; }
 .ar-benefits p { font-size:15px; }
 .ar-journey { padding-block:60px 45px; }
 .ar-steps { grid-template-columns:1fr; gap:28px; }
 .ar-steps>li { display:grid; grid-template-columns:60px minmax(0,1fr); gap:0 20px; }
 .ar-steps>li:not(:last-child)::after { top:65px; bottom:-18px; left:29px; right:auto; border-top:0; border-left:1px dashed #94ad92; }
 .ar-step-icon { grid-row:1/3; width:60px; height:60px; margin:0; }
 .ar-step-icon>.action-icon { width:26px; height:26px; }
 .ar-steps h3 { font-size:21px; }
 .ar-steps p { font-size:15px; }
 .ar-journey-note { font-size:29px; margin-top:30px; }
 .ar-choice-grid { grid-template-columns:1fr; gap:24px; }
 .ar-choice:first-child { display:flex; grid-column:auto; }
 .ar-choice-photo,.ar-choice-photo>img { min-height:210px; max-height:240px; }
 .ar-choice-copy { padding:25px; }
 .ar-choice h3 { font-size:29px; }
 .ar-one { padding-block:60px; }
 .ar-one-inner { grid-template-columns:1fr; gap:35px; }
 .ar-one-card { width:90%; margin-inline:auto; padding:22px; transform:rotate(3deg); }
 .ar-one-photo::after { background:linear-gradient(180deg,#faf9f3f2 0%,#faf9f3d9 32%,#faf9f340 78%); }
 .ar-one-inner>div>p:not(.eyebrow) { font-size:16px; }
 .ar-closing { text-align:left; }
 .ar-closing h2 { font-size:36px; }
 .ar-closing>p:not(.eyebrow) { font-size:16px; }
}
@media(prefers-reduced-motion:reduce) { .ar-choice-photo>img { transition:none; } }
