/* The updated course only: incumbent ROASL colors, typography and content. */
/* Visual narrative: real teaching photographs, explicit empty photo slots, one clear enquiry. */
.roasl-story-page .roasl-story-chapter { padding-block: clamp(48px,7vw,100px); }
.roasl-story-page .roasl-story-chapter > .container { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: clamp(28px,6vw,80px); align-items: center; }
.roasl-story-page .roasl-story-chapter h2,
.roasl-story-page .roasl-story-close h2 { color: var(--roasl-emerald-deep); font-size: clamp(32px,3.6vw,52px); line-height: 1.12; letter-spacing: -.025em; text-wrap: balance; margin: 0 0 24px; }
.roasl-story-page .roasl-story-intro { font-size: 21px; line-height: 1.55; margin: 0 0 28px; }
.roasl-story-page .roasl-story-body p { font-size: 17px; line-height: 1.65; margin: 0 0 20px; }
.roasl-story-page .roasl-story-body strong { display: block; color: var(--roasl-emerald-action); font-size: 19px; margin-bottom: 5px; }
.roasl-story-page .roasl-story-figure { min-width: 0; margin: 0; }
.roasl-story-page .roasl-story-figure img { display: block; width: 100%; height: 540px; object-fit: cover; border-radius: 14px; }
.roasl-story-page .roasl-story-figure figcaption { font-size: 14px; line-height: 1.5; margin-top: 14px; color: var(--roasl-ink); }
.roasl-story-page .roasl-story-placeholder { min-height: 420px; box-sizing: border-box; padding: 40px; border: 1px dashed var(--roasl-champagne); border-radius: 14px; background: var(--roasl-ivory); display: flex; flex-direction: column; justify-content: center; align-items: flex-start; }
.roasl-story-page .roasl-story-placeholder span { font-size: clamp(28px,3vw,40px); line-height: 1.15; max-width: 10ch; color: var(--roasl-emerald-deep); }
.roasl-story-page .roasl-story-placeholder p { max-width: 30ch; font-size: 17px; line-height: 1.6; margin: 24px 0 0; }
.roasl-story-page .roasl-story-reverse { background: var(--roasl-ivory); }
.roasl-story-page .roasl-story-reverse .roasl-story-text { order: 2; }
.roasl-story-page .roasl-story-reverse .roasl-story-figure { order: 1; }
.roasl-story-page .roasl-story-close { background: var(--roasl-emerald-deep); padding-block: clamp(48px,7vw,88px); }
.roasl-story-page .roasl-story-close > .container { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 48px; align-items: start; }
.roasl-story-page .roasl-story-close h2 { color: var(--roasl-ivory); }
.roasl-story-page .roasl-story-close p { color: var(--roasl-ivory); font-size: 20px; line-height: 1.6; margin: 0 0 24px; }
.roasl-story-page .roasl-story-close .btn-primary { background: var(--roasl-champagne); color: var(--roasl-ink); }
.roasl-story-page .roasl-story-close .btn-primary:hover { background: var(--roasl-ivory); }
.roasl-story-page .course-content .program-section > .suboffer-new { display: none; }
.roasl-story-page .course-content .offer { max-width: 20ch; }
.roasl-story-page .trainers { display: block !important; background: var(--roasl-ivory); }
@media (max-width: 700px) {
  .roasl-story-page .roasl-story-chapter > .container,
  .roasl-story-page .roasl-story-close > .container { grid-template-columns: minmax(0,1fr); gap: 28px; }
  .roasl-story-page .roasl-story-reverse .roasl-story-text,
  .roasl-story-page .roasl-story-reverse .roasl-story-figure { order: initial; }
  .roasl-story-page .roasl-story-figure img { height: 400px; }
  .roasl-story-page .roasl-story-placeholder { min-height: 280px; padding: 28px; }
  .roasl-story-page .roasl-story-intro { font-size: 19px; }
  .roasl-story-page .roasl-story-close .btn { white-space: normal; }
}
/* Pilot course: establish a consistent content grid before migrating other pages. */
:is(.page-id-5881,.page-id-5883,.page-id-5884) .roasl-course-experience > section > .container { width: 100%; max-width: 1320px; box-sizing: border-box; margin-inline: auto; padding-inline: clamp(20px,4vw,56px); }
:is(.page-id-5881,.page-id-5883,.page-id-5884) .roasl-course-experience .hero .hero-inner { grid-template-columns: minmax(0,1.15fr) minmax(0,1fr); }
:is(.page-id-5881,.page-id-5883,.page-id-5884) .roasl-course-experience .hero .hero-inner .hero-image { min-width: 0; width: 100%; max-width: 100%; }
:is(.page-id-5881,.page-id-5883,.page-id-5884) .roasl-course-experience .hero .hero-inner .hero-image > img { width: 100%; max-width: none; height: 520px; object-fit: cover; }
:is(.page-id-5881,.page-id-5883,.page-id-5884) .roasl-course-experience .trainers__wrapper { display: grid; grid-template-columns: minmax(0,.7fr) minmax(0,1fr); gap: clamp(24px,5vw,64px); align-items: center; }
:is(.page-id-5881,.page-id-5883,.page-id-5884) .roasl-course-experience .trainers__left,
:is(.page-id-5881,.page-id-5883,.page-id-5884) .roasl-course-experience .trainers__right { width: 100%; max-width: none; min-width: 0; }
:is(.page-id-5881,.page-id-5883,.page-id-5884) .roasl-course-experience .trainers__left img { width: 100%; height: 460px; object-fit: cover; object-position: center 25%; border-radius: 14px; }
:is(.page-id-5881,.page-id-5883,.page-id-5884) .roasl-course-experience .trainers__right .suboffer { font-size: clamp(28px,3vw,40px); line-height: 1.15; margin-bottom: 16px; }
:is(.page-id-5881,.page-id-5883,.page-id-5884) .roasl-course-experience .trainers__content-new { max-height: none; overflow: visible; font-size: 18px; line-height: 1.6; }
:is(.page-id-5881,.page-id-5883,.page-id-5884) .roasl-course-experience .roasl-course-formats > .container { display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); gap: clamp(24px,5vw,64px); align-items: start; }
:is(.page-id-5881,.page-id-5883,.page-id-5884) .roasl-course-experience .roasl-course-formats .roasl-course-card:only-child { max-width: none; }
:is(.page-id-5881,.page-id-5883,.page-id-5884) .roasl-course-experience .program-section { margin-top: 28px; }
@media (max-width: 700px) {
  :is(.page-id-5881,.page-id-5883,.page-id-5884) .roasl-course-experience .hero .hero-inner,
  :is(.page-id-5881,.page-id-5883,.page-id-5884) .roasl-course-experience .trainers__wrapper,
  :is(.page-id-5881,.page-id-5883,.page-id-5884) .roasl-course-experience .roasl-course-formats > .container { grid-template-columns: minmax(0,1fr); }
  :is(.page-id-5881,.page-id-5883,.page-id-5884) .roasl-course-experience .hero .hero-inner .hero-image > img { height: 360px; }
  :is(.page-id-5881,.page-id-5883,.page-id-5884) .roasl-course-experience .trainers__left img { height: 380px; }
}
.roasl-course-experience { --course-ease: cubic-bezier(.16,1,.3,1); color: var(--roasl-ink); }
.roasl-course-experience ::selection { color: var(--roasl-ink); background: var(--roasl-champagne-light); }
.roasl-course-experience a { text-underline-offset: .2em; }
.roasl-course-experience :is(a,summary):focus-visible { outline: 3px solid var(--roasl-champagne); outline-offset: 5px; }
.roasl-course-experience > section { scroll-margin-top: calc(88px + var(--roasl-header-offset, 0px)); }
.roasl-course-experience .offer { font-size: clamp(32px,3.6vw,56px); line-height: 1.08; letter-spacing: -.025em; text-wrap: balance; margin-bottom: 32px; }
.roasl-course-experience .hero { position: relative; background: var(--roasl-emerald-deep); overflow: hidden; padding: clamp(40px,5vw,80px) 0; }
.roasl-course-experience .hero-bg-overlay { background: var(--roasl-emerald-deep) !important; }
.roasl-course-experience .hero-inner { display: grid; grid-template-columns: 1.25fr 1fr; align-items: center; gap: clamp(32px,5vw,80px); }
.roasl-course-experience .hero-text { width: auto; max-width: none; gap: 0; }
.roasl-course-experience .hero h1 { font-size: clamp(34px,3.7vw,60px); line-height: 1.08; letter-spacing: -.03em; margin: 0 0 28px; text-wrap: balance; color: var(--roasl-ivory); }
.roasl-course-experience .hero-text > p { font: inherit; font-size: clamp(18px,1.4vw,22px); line-height: 1.6; max-width: 55ch; margin: 0 0 24px; color: var(--roasl-ivory); }
.roasl-course-experience .hero .main__desc { margin: 0 0 30px; }
.roasl-course-experience .hero .main__desc :is(ul,li) { font-size: 16px; line-height: 1.6; }
.roasl-course-experience .hero .main__desc ul { padding-left: 20px; }
.roasl-course-experience .hero .main__desc li::marker { color: var(--roasl-champagne); }
.roasl-course-experience .hero-actions { display: flex; align-items: flex-start; flex-direction: column; gap: 16px; margin: 0; }
.roasl-course-experience .hero-actions .roasl-hero-note { font: inherit; font-size: 16px; line-height: 1.5; margin: 0; color: var(--roasl-champagne-light); }
.roasl-course-experience .roasl-hero-facts { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; margin: 0 0 28px; padding-top: 24px; border-top: 1px solid rgb(230 207 155 / 35%); }
.roasl-course-experience .roasl-hero-facts dt { margin-bottom: 8px; font-size: 14px; line-height: 1.4; color: var(--roasl-champagne-light); }
.roasl-course-experience .roasl-hero-facts dd { margin: 0; font-size: 20px; line-height: 1.4; color: var(--roasl-ivory); }
.roasl-course-experience .roasl-hero-facts .roasl-fact-price dd { font-size: clamp(28px,3vw,42px); font-weight: 700; line-height: 1.15; color: var(--roasl-champagne-light); font-variant-numeric: tabular-nums; }
.roasl-course-experience .roasl-course-card .roasl-related-facts { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; margin: auto 0 0; padding-top: 20px; border-top: 1px solid var(--roasl-champagne-light); }
.roasl-course-experience .roasl-related-facts dt { margin-bottom: 8px; }
.roasl-course-experience .roasl-related-facts dd { margin: 0; font-size: 17px; line-height: 1.4; font-weight: 400; }
.roasl-course-experience .roasl-related-facts .roasl-fact-price dd { font-size: clamp(26px,2.5vw,34px); line-height: 1.15; font-weight: 700; color: var(--roasl-emerald-deep); }
@media (max-width: 380px) {
  .roasl-course-experience :is(.roasl-hero-facts,.roasl-course-card .roasl-related-facts) { grid-template-columns: minmax(0,1fr); gap: 16px; }
}
.roasl-course-experience .btn { border-radius: 12px; padding: 15px 24px; height: auto; min-height: 48px; width: auto; font-size: 17px; line-height: 1.3; font-weight: 700; box-shadow: none; transition: background-color 180ms, color 180ms; }
.roasl-course-experience .btn-primary { background: var(--roasl-emerald-action); color: var(--roasl-ivory); border: 0; }
.roasl-course-experience .btn-primary:hover { background: var(--roasl-emerald-deep); color: var(--roasl-ivory); }
.roasl-course-experience .hero .btn-primary { background: var(--roasl-champagne); color: var(--roasl-ink); }
.roasl-course-experience .hero .btn-primary:hover { background: var(--roasl-ivory); }
.roasl-course-experience .hero-image { position: relative; width: 100%; max-width: none; height: auto; margin: 0; border-radius: 14px; }
.roasl-course-experience .hero-image img { width: 100%; height: min(590px,48vw); object-fit: cover; object-position: 50% 35%; border-radius: 14px; display: block; animation: roasl-photo-open 750ms var(--course-ease) both; }
.roasl-course-experience .hero-image::after { content: ''; position: absolute; inset: 12px; border: 1px solid var(--roasl-champagne); border-radius: 8px; pointer-events: none; animation: roasl-frame-open 750ms var(--course-ease) both; }
.roasl-course-nav { position: sticky; top: var(--roasl-header-offset, 0px); z-index: 20; background: var(--roasl-ivory); border-bottom: 1px solid var(--roasl-champagne-light); }
.roasl-course-nav .container { display: flex; width: 100%; max-width: 1440px; margin-inline: auto; box-sizing: border-box; padding-inline: clamp(16px,4vw,56px); gap: clamp(24px,4vw,64px); overflow-x: auto; scrollbar-width: thin; scrollbar-color: var(--roasl-champagne) var(--roasl-ivory); }
.roasl-course-nav a { padding: 22px 0; position: relative; flex-shrink: 0; font-size: 16px; font-weight: 700; color: var(--roasl-ink); text-decoration: none; }
.roasl-course-nav a::after { content: ''; height: 2px; position: absolute; bottom: 0; inset-inline: 0; background: var(--roasl-emerald-action); transform: scaleX(0); transform-origin: left; transition: transform 220ms var(--course-ease); }
.roasl-course-nav a:is(:hover,[aria-current])::after { transform: scaleX(1); }
.roasl-course-experience .roasl-course-section { padding-block: clamp(48px,7vw,104px); }
.roasl-course-experience .roasl-course-audience > .container { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(24px,6vw,90px); }
.roasl-course-experience .roasl-course-copy { max-width: 65ch; }
.roasl-course-experience .roasl-course-copy p { font-size: clamp(18px,1.45vw,22px); line-height: 1.65; margin: 0 0 24px; }
.roasl-course-experience .roasl-course-audience .roasl-course-copy p { padding-bottom: 24px; border-bottom: 1px solid var(--roasl-champagne-light); }
.roasl-course-experience .roasl-course-copy strong { display: block; font-weight: 700; color: var(--roasl-emerald-action); margin-bottom: 8px; }
.roasl-course-experience .roasl-course-result { background: var(--roasl-emerald-deep); color: var(--roasl-ivory); }
.roasl-course-experience .roasl-course-result .offer { color: var(--roasl-champagne-light); max-width: 15ch; }
.roasl-course-experience .roasl-course-result > .container { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(24px,6vw,90px); }
.roasl-course-experience .roasl-course-result .roasl-course-copy :is(p,strong) { color: var(--roasl-ivory); }
.roasl-course-experience .roasl-course-formats { background: var(--roasl-ivory); }
.roasl-course-experience .roasl-course-formats .offer { max-width: 21ch; margin-bottom: 40px; }
.roasl-course-experience .roasl-course-formats .roasl-course-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; align-items: stretch; }
.roasl-course-experience .roasl-course-formats .roasl-course-card { background: white; padding: clamp(24px,2.4vw,36px); gap: 20px; border: 1px solid var(--roasl-champagne-light); transition: border-color 200ms; }
.roasl-course-experience .roasl-course-formats .roasl-course-card:hover { border-color: var(--roasl-emerald-action); }
.roasl-course-experience .roasl-course-card h3 { font-size: clamp(24px,2vw,30px); line-height: 1.15; letter-spacing: -.02em; }
.roasl-course-experience .roasl-course-card .roasl-format-price { font-size: clamp(32px,3vw,44px); font-weight: 700; color: var(--roasl-emerald-deep); line-height: 1.15; font-variant-numeric: tabular-nums; }
.roasl-course-experience .roasl-course-card dl { font-size: 16px; }
.roasl-course-experience .roasl-course-card dt { font-weight: 400; font-size: 14px; }
.roasl-course-experience .roasl-course-card dd { font-weight: 700; }
.roasl-course-experience .roasl-format-conditions { font-size: 15px; line-height: 1.6; }
.roasl-course-experience .roasl-format-conditions summary { cursor: pointer; font-weight: 700; text-decoration: underline; text-underline-offset: 4px; }
.roasl-course-experience .roasl-format-conditions p { font-size: 15px; line-height: 1.6; margin-top: 12px; }
.roasl-course-experience .roasl-course-formats .roasl-course-card:first-child:not(:only-child) { grid-row: span 2; background: var(--roasl-emerald-deep); color: var(--roasl-ivory); border-color: transparent; }
.roasl-course-experience .roasl-course-formats .roasl-course-card:first-child:not(:only-child) :is(h3,p,dt,dd) { color: var(--roasl-ivory); }
.roasl-course-experience .roasl-course-formats .roasl-course-card:first-child:not(:only-child) .roasl-format-price { color: var(--roasl-champagne-light); }
.roasl-course-experience .roasl-course-formats .roasl-course-card:first-child:not(:only-child) .btn { background: var(--roasl-champagne); color: var(--roasl-ink); margin-top: 16px; }
.roasl-course-experience .roasl-course-card:only-child { max-width: 620px; }
.roasl-course-experience .roasl-course-formats .roasl-course-grid:has(> :only-child) { grid-template-columns: minmax(0,620px); }
.roasl-course-experience :is(.course-content,.doc,.trainers,.payment-section,.faq-section,.benefits-section,.new_gallery) { padding-block: clamp(48px,6vw,88px); margin-block: 0; }
.roasl-course-experience .course-content .container > p,
.roasl-course-experience .program-section > p { font-size: 20px; line-height: 1.6; max-width: 65ch; }
.roasl-course-experience .content-layout { margin-block: 36px 48px; }
.roasl-course-experience .content-image { max-width: 44%; height: 430px; overflow: hidden; }
.roasl-course-experience .content-image img { width: 100%; height: 100%; object-fit: cover; }
.roasl-course-experience :is(.content-card,.benefit-card) { background: var(--roasl-ivory); box-shadow: none; border: 0; border-radius: 12px; padding: 28px; transform: none; }
.roasl-course-experience :is(.content-card,.benefit-card):hover { box-shadow: none; transform: none; }
.roasl-course-experience .content-card p { font-size: 18px; line-height: 1.6; }
.roasl-course-experience .roasl-program-item { padding-block: 24px; }
.roasl-course-experience .roasl-program-item summary { list-style: none; position: relative; padding-right: 48px; font-size: clamp(22px,2.2vw,32px); line-height: 1.25; }
.roasl-course-experience .roasl-program-item summary::-webkit-details-marker { display: none; }
.roasl-course-experience .roasl-program-item summary::before,
.roasl-course-experience .roasl-program-item summary::after { content: ''; position: absolute; right: 4px; top: .6em; width: 20px; height: 2px; background: var(--roasl-emerald-action); transition: transform 200ms; }
.roasl-course-experience .roasl-program-item summary::after { transform: rotate(90deg); }
.roasl-course-experience .roasl-program-item[open] summary::after { transform: rotate(0deg); }
.roasl-course-experience .roasl-program-item > div p { font-size: 18px; line-height: 1.65; max-width: 65ch; }
.roasl-course-experience .roasl-program-item[open] > div { animation: roasl-answer-open 220ms ease-out; }
.roasl-course-experience .roasl-course-related { background: var(--roasl-ivory); }
.roasl-course-experience .roasl-course-related .roasl-course-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 32px; }
.roasl-course-experience .roasl-course-related .roasl-course-card { padding: 0 0 28px; border: 0; border-bottom: 1px solid var(--roasl-champagne); border-radius: 0; background: transparent; overflow: hidden; }
.roasl-course-experience .roasl-course-related .roasl-course-card img { aspect-ratio: 16/10; border-radius: 12px; object-position: center 35%; transition: clip-path 350ms var(--course-ease); clip-path: inset(0 round 12px); }
.roasl-course-experience .roasl-course-related .roasl-course-card:hover img { clip-path: inset(8px round 12px); }
.roasl-course-experience .roasl-course-related .roasl-course-card h3 a { color: var(--roasl-emerald-deep); }
.roasl-course-experience .roasl-course-related .roasl-course-card > p { font-size: 18px; line-height: 1.6; }
@keyframes roasl-photo-open { from { clip-path: inset(0 0 12% 0 round 14px); } to { clip-path: inset(0 round 14px); } }
@keyframes roasl-frame-open { from { clip-path: inset(0 100% 0 0); } to { clip-path: inset(0); } }
@keyframes roasl-answer-open { from { opacity: .35; } to { opacity: 1; } }
@media (min-width: 1025px) {
  .roasl-course-experience .roasl-course-nav {
    position: relative;
    top: auto;
    width: min(960px, calc(100% - 64px));
    margin: 24px auto;
    box-sizing: border-box;
    border: 1px solid var(--roasl-champagne-light);
    border-radius: 14px;
  }
  .roasl-course-experience .roasl-course-nav .container {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(0, 1fr);
    max-width: none;
    width: 100%;
    padding: 8px;
    gap: 8px;
    overflow: visible;
  }
  .roasl-course-experience .roasl-course-nav a {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    box-sizing: border-box;
    padding: 12px 20px;
    border-radius: 8px;
    font-size: 17px;
    line-height: 1.4;
    text-align: center;
    transition: background-color 180ms ease-out, color 180ms ease-out;
  }
  .roasl-course-experience .roasl-course-nav a::after { display: none; }
  .roasl-course-experience .roasl-course-nav a:hover { background: var(--roasl-champagne-light); color: var(--roasl-ink); }
  .roasl-course-experience .roasl-course-nav a[aria-current] { background: var(--roasl-emerald-action); color: var(--roasl-ivory); }
  .roasl-course-experience .roasl-course-nav a:focus-visible { outline-offset: 2px; outline-color: var(--roasl-emerald-action); }
  .roasl-course-experience > section { scroll-margin-top: calc(24px + var(--roasl-header-offset, 0px)); }
}
@media (max-width: 1024px) {
  .roasl-course-experience .hero-inner { grid-template-columns: 1.15fr .85fr; gap: 28px; }
  .roasl-course-experience .hero-image img { height: 480px; }
  .roasl-course-experience .roasl-course-formats .roasl-course-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .roasl-course-experience .roasl-course-formats .roasl-course-card:first-child:not(:only-child) { grid-row: auto; }
}
@media (max-width: 700px) {
  .roasl-course-experience .hero-inner { grid-template-columns: minmax(0,1fr); }
  .roasl-course-experience .hero-image { max-width: 100%; }
  .roasl-course-experience .hero-image img { height: 330px; object-position: center 30%; }
  .roasl-course-experience .hero-actions .btn { width: 100%; text-align: center; }
  .roasl-course-experience :is(.roasl-course-audience,.roasl-course-result) > .container { grid-template-columns: minmax(0,1fr); gap: 12px; }
  .roasl-course-experience .roasl-course-formats .roasl-course-grid,
  .roasl-course-experience .roasl-course-related .roasl-course-grid { grid-template-columns: minmax(0,1fr); }
  .roasl-course-nav a { font-size: 14px; padding-block: 18px; }
  .roasl-course-experience .content-image { max-width: 100%; height: 320px; }
  .roasl-course-experience .content-cards { min-width: 0; flex-basis: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .roasl-course-experience *, .roasl-course-experience *::after { animation: none !important; scroll-behavior: auto !important; }
  .roasl-course-experience .roasl-course-related .roasl-course-card img { transition: none; clip-path: none; }
  .roasl-course-nav a::after, .roasl-course-experience summary::after { transition: none; }
}

.page-id-5881 .roasl-course-experience .roasl-course-formats > .container { display: block; }
