/* E030 — scoped assessment pages; no homepage/portrait/logo/hero-image overrides. */
.e30-booking-page{--b30-paper:#f4f1e9;--b30-ink:#22372f;--b30-muted:#516258;--b30-copper:#a4491d;--b30-orange:#f5a25d;--b30-line:#cbd0c1;--b30-serif:Georgia,'Times New Roman',serif}
.e30-booking-page .page-hero .ep-hero-copy-v16{max-width:890px}
.b30-subnav{background:#192b26;border-block:1px solid #e2d9c42b;color:#ede9df}
.b30-subnav .wrap{display:flex;flex-wrap:wrap;gap:6px 40px;padding-block:15px}
.b30-subnav a{padding:10px 0;font-size:15px;text-decoration:none;border-bottom:1px solid transparent}
.b30-subnav a:hover{color:#ffc28b;border-color:#ffc28b}
.b30-intro,.b30-hub,.b30-preparation,.b30-decision{background:var(--b30-paper);color:var(--b30-ink);padding:86px 0}
.b30-intro-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(35px,6vw,96px);align-items:center}
.b30-kicker{display:block;color:var(--b30-copper);font:600 12px/1.7 Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase;margin-bottom:18px}
.b30-intro h2,.b30-heading h2,.b30-reservation h2,.b30-preparation h2,.b30-decision h2{font:400 clamp(32px,3.1vw,50px)/1.12 var(--b30-serif);letter-spacing:-.035em;margin:0 0 26px;text-wrap:balance}
.b30-intro h2 em,.b30-heading h2 em,.b30-preparation h2 em,.b30-decision h2 em{color:var(--b30-copper)}
.b30-intro p,.b30-heading>p,.b30-preparation p,.b30-decision p{font-size:17px;line-height:1.8;color:var(--b30-muted);margin:0 0 18px}
.b30-intro .b30-lead{font-size:20px;line-height:1.6;color:var(--b30-ink)}
.b30-inline-tags{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:26px;border-top:1px solid var(--b30-line);padding-top:20px;font-size:12px;line-height:1.7;color:#3d5745}
.b30-inline-tags span::before{content:'•';color:var(--b30-copper);margin-right:7px}
.b30-focus-card{background:#21382e;color:#f9f5eb;border:1px solid #50624e;border-radius:12px;overflow:hidden;box-shadow:0 20px 50px #142c2010}
.b30-focus-image{height:175px;position:relative;overflow:hidden}
.b30-focus-image::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#21382e,transparent 70%)}
.b30-focus-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:60% 48%}
.b30-focus-copy{padding:6px 32px 30px}.b30-focus-copy .b30-kicker{color:#ffc391;margin-bottom:8px}
.b30-focus-copy ul{list-style:none;margin:0;padding:0}
.b30-focus-copy li{display:flex;gap:15px;font-size:16px;line-height:1.7;padding:17px 0;border-bottom:1px solid #d8e0c624}
.b30-focus-copy li:last-child{border:0;padding-bottom:0}.b30-focus-copy .icon{flex:0 0 20px;color:#fac089;margin-top:5px}
.b30-process{background:#e7ecdf;color:var(--b30-ink);padding:78px 0 86px;border-block:1px solid #c5ceb9}
.b30-heading{display:grid;grid-template-columns:1.2fr .8fr;gap:65px;align-items:end;margin-bottom:36px}.b30-heading h2{margin-bottom:0}.b30-heading>p{margin:0}
.b30-process-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;list-style:none;margin:0;padding:0}
.b30-process-cards>li{background:#fcfaf4;border:1px solid #bfcab4;border-radius:10px;padding:28px;display:flex;flex-direction:column;min-width:0;box-shadow:0 10px 25px #284c2706}
.b30-number{font:italic 26px/1 var(--b30-serif);color:var(--b30-copper)}
.b30-process-cards .b30-number{width:49px;height:49px;border:1px solid #bca890;border-radius:50%;display:grid;place-items:center;margin-bottom:22px}
.b30-step-label{font:600 11px/1.8 Arial,sans-serif;letter-spacing:.11em;color:#53674b;margin-bottom:10px}
.b30-process-cards h3{font:400 29px/1.2 var(--b30-serif);letter-spacing:-.025em;margin:0 0 16px;color:var(--b30-ink)}
.b30-process-cards p{font-size:16px;line-height:1.75;color:var(--b30-muted);margin:0 0 22px}
.b30-step-outcome{margin-top:auto;border-top:1px solid var(--b30-line);padding-top:19px;font:italic 18px/1.4 var(--b30-serif);color:#78431f}
.b30-process-cards>li:nth-child(2){border-top:3px solid #a65328;padding-top:26px}.b30-process-cards>li:nth-child(3){border-top:3px solid #687d58;padding-top:26px}
.b30-reservation{background:#132820;color:#f7f4e9;padding:86px 0;position:relative;isolation:isolate}
.b30-reservation::before{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 88% 3%,#b47f3e21,transparent 48%);pointer-events:none}
.b30-reservation-grid{display:grid;grid-template-columns:minmax(0,.87fr) minmax(0,1.13fr);gap:clamp(30px,5vw,80px);align-items:start}
.b30-reservation .b30-kicker{color:#efb37f}.b30-reservation h2{font-size:clamp(31px,3vw,48px);color:#f7f4e9}.b30-reservation h2 em{color:#f5ae75}
.b30-reservation-aside>p{color:#ced7c8;line-height:1.75;font-size:17px;max-width:440px}
.b30-facts{margin:25px 0 24px}.b30-facts>div{display:grid;grid-template-columns:.7fr 1fr;gap:16px;border-top:1px solid #d2dcca2e;padding:15px 0;font-size:14px;line-height:1.6}.b30-facts dt{color:#bac9b4}.b30-facts dd{margin:0;color:#f9f4e8;text-align:right}.b30-reservation .text-link{color:#f1c29a;border-color:#95a189}
.b30-reservation-main{min-width:0}.b30-waiting{background:#fcfaf5;border:1px solid #cec4b0;color:var(--b30-ink);padding:36px;border-radius:14px;box-shadow:0 18px 55px #070e0940}
.b30-state{display:inline-flex;align-items:center;gap:10px;font-size:12px;line-height:1.5;color:#46633d;background:#e8eddf;border:1px solid #b8c8aa;border-radius:99px;padding:8px 12px;margin-bottom:23px}.b30-state .icon{width:18px;height:18px}
.b30-waiting h3{font:400 clamp(30px,2.6vw,40px)/1.14 var(--b30-serif);letter-spacing:-.03em;margin:0 0 18px;color:var(--b30-ink)}
.b30-waiting p{font-size:16px;line-height:1.8;color:var(--b30-muted);margin:0 0 24px}
.b30-waiting-actions{display:flex;flex-direction:column;align-items:stretch;gap:13px}
.b30-waiting .button,.b30-crosslink .button{background:#f5a25d;color:#14271e;border:1px solid #d28c50;gap:20px;min-height:56px;font-size:15px;justify-content:space-between;border-radius:4px;padding:15px 21px}
.b30-wa{border:1px solid #688565;color:#234c36;min-height:52px;display:flex;align-items:center;justify-content:center;gap:10px;border-radius:4px;text-decoration:none;font-size:15px;padding:13px 20px}.b30-wa:hover{background:#e9efdf}
.b30-waiting-divider{height:1px;background:var(--b30-line);margin:25px 0 20px}
.b30-waiting p.b30-reassurance{display:flex;gap:11px;font-size:13px;line-height:1.7;margin:0 0 18px}.b30-reassurance .icon{flex:0 0 18px;margin-top:3px}
.b30-waiting .text-link{font-size:14px;color:#6c421f;border-color:#c5b59d}
.b30-small{font-size:13px;line-height:1.7;color:#cad6c2;margin-top:18px}
.b30-admin{padding:16px 20px;margin-top:25px;border:1px dashed #c4b78e;border-radius:6px;font-size:13px;line-height:1.7;background:#223b2d}.b30-admin a{color:#ffd5aa}.b30-admin summary{cursor:pointer;font-weight:bold}.b30-test{padding:15px;background:#fff0c4;border:1px solid #b5832e;color:#4d320f;font-size:14px;line-height:1.6}
.b30-reservation-main .ecb{padding:25px;max-width:100%;box-shadow:none}.b30-reservation-main .ecb h2{color:var(--b30-ink);font-size:30px}
.b30-preparation-grid,.b30-decision-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(35px,6vw,88px);align-items:start}
.b30-checks{list-style:none;margin:0;padding:0}.b30-checks>li{display:flex;gap:18px;padding:23px 0;border-bottom:1px solid var(--b30-line)}.b30-checks>li:first-child{padding-top:0}.b30-checks .icon{color:var(--b30-copper);flex:0 0 20px;margin-top:6px}.b30-checks h3{font:400 25px/1.3 var(--b30-serif);margin:0 0 8px}.b30-checks p{font-size:16px;margin:0}
.b30-scope{padding:34px 0;background:#e5ebdc;color:#45553f}.b30-scope p{font-size:13px;line-height:1.8;max-width:1000px}.b30-scope .actions{margin-top:20px;gap:25px}.b30-scope .text-link{color:#754220;font-size:14px}
.b30-decision{background:#e8ecdf;border-block:1px solid #ccd3c1}.b30-decision-list{display:flex;flex-direction:column;gap:14px}.b30-decision-list>a{display:grid;grid-template-columns:35px 1fr 22px;align-items:center;gap:20px;background:#fcfaf4;padding:24px;border:1px solid #c3ceb7;border-radius:8px;text-decoration:none;color:var(--b30-ink)}.b30-decision-list strong{display:block;font:400 25px/1.22 var(--b30-serif);margin-bottom:8px}.b30-decision-list a>span>span{font-size:15px;line-height:1.7;color:var(--b30-muted);display:block}.b30-decision-list .icon{color:var(--b30-copper)}.b30-decision-list>a:hover{border-color:#a45d32;background:#fffdf7}
.b30-crosslink{background:#20392e;color:#f7f2e7;padding:32px 0;border-block:1px solid #b8bfa340}
.b30-crosslink-inner{display:flex;gap:25px;align-items:center}.b30-crosslink-icon{width:64px;height:64px;border:1px solid #bea474;border-radius:50%;display:grid;place-items:center;flex:0 0 64px;color:#ffd29b}.b30-crosslink-icon .icon{width:26px;height:26px}.b30-crosslink h2{color:#fbf5e7;font:400 30px/1.2 var(--b30-serif);letter-spacing:-.02em;margin:0 0 10px}.b30-crosslink .b30-kicker{color:#efb781;font-size:10px;margin-bottom:8px}.b30-crosslink p{color:#d1d9c7;font-size:15px;line-height:1.7;margin:0;max-width:700px}.b30-crosslink .button{flex:0 0 auto;margin-left:auto}
.e30-booking-page [id]{scroll-margin-top:110px}.e30-booking-page [class^="b30"] a:focus-visible,.e30-booking-page [class^="b30"] summary:focus-visible{outline:3px solid #b35727;outline-offset:5px}.b30-reservation a:focus-visible{outline-color:#ffc48d!important}
@media(max-width:1150px){.b30-process-cards{gap:17px}.b30-process-cards>li{padding:22px}.b30-crosslink-icon{display:none}.b30-crosslink-inner{flex-wrap:wrap}.b30-crosslink .button{margin-left:0}.b30-heading{gap:30px}}
@media(max-width:850px){.b30-intro-grid,.b30-heading,.b30-reservation-grid,.b30-preparation-grid,.b30-decision-grid{grid-template-columns:1fr;gap:30px}.b30-intro,.b30-hub,.b30-preparation,.b30-decision,.b30-process,.b30-reservation{padding:54px 0}.b30-process-cards{grid-template-columns:1fr}.b30-process-cards>li{display:grid;grid-template-columns:58px 1fr;column-gap:17px}.b30-process-cards .b30-number{grid-column:1;grid-row:1/3}.b30-process-cards .b30-step-label,.b30-process-cards h3,.b30-process-cards p,.b30-process-cards .b30-step-outcome{grid-column:2}.b30-process-cards h3{font-size:27px}.b30-process-cards p{margin-bottom:18px}.b30-reservation-aside>p{max-width:none}.b30-facts>div{grid-template-columns:1fr 1fr}.b30-reservation h2,.b30-preparation h2,.b30-decision h2{font-size:36px}.b30-crosslink-inner{display:block}.b30-crosslink .button{margin-top:22px;display:inline-flex}.b30-focus-image{height:200px}}
@media(max-width:540px){.b30-intro h2,.b30-heading h2,.b30-reservation h2,.b30-preparation h2,.b30-decision h2{font-size:32px}.b30-intro .b30-lead{font-size:18px}.b30-kicker{font-size:10px;letter-spacing:.1em}.b30-waiting{padding:23px 20px;border-radius:10px}.b30-waiting h3{font-size:30px}.b30-focus-copy{padding:0 22px 26px}.b30-focus-image{height:150px}.b30-subnav .wrap{gap:4px 24px;padding-block:9px}.b30-subnav a{font-size:13px;padding-block:8px}.b30-process-cards>li{display:flex;padding:24px}.b30-process-cards .b30-number{margin-bottom:18px}.b30-decision-list>a{grid-template-columns:27px 1fr;gap:15px;padding:22px}.b30-decision-list>a>.icon{display:none}.b30-decision-list strong{font-size:24px}.b30-crosslink .button{width:100%;white-space:normal;font-size:14px}.b30-reservation-main .ecb{padding:17px}.b30-facts{margin-bottom:14px}}
@media(prefers-reduced-motion:reduce){.e30-booking-page *{scroll-behavior:auto!important}}

/* The real booking module owns its own two-column layout; give it the full shell. */
.b30-has-calendar .b30-reservation-grid{grid-template-columns:1fr;gap:30px}
.b30-has-calendar .b30-reservation-aside{display:grid;grid-template-columns:1fr .85fr;gap:0 60px;align-items:end}
.b30-has-calendar .b30-reservation-aside .b30-kicker{grid-column:1/-1}
.b30-has-calendar .b30-reservation-aside h2{margin-bottom:0}
.b30-has-calendar .b30-reservation-aside>p{max-width:none;margin:0}
.b30-has-calendar .b30-facts,.b30-has-calendar .b30-reservation-aside>.text-link{display:none}
.b30-has-calendar .b30-reservation-main>.b30-kicker{margin-bottom:14px}
.b30-has-calendar .b30-reservation-main .ecb{padding:0;border:0;background:transparent}
@media(max-width:850px){.b30-has-calendar .b30-reservation-aside{grid-template-columns:1fr;gap:16px}}
/* Explicit light form surface inside the dark section; preserve the module's contrast. */
.b30-has-calendar .b30-reservation-main .ecb{background:#fbfaf5;border:1px solid #c5ccb9}
.b30-reservation-main .ecb .eb-aside h2{color:#faf5e8}
.b30-reservation-main .ecb .eb-main{background:#fbfaf5;color:#20332d}
