/* Accessible, site-wide strategic session entry point. */
body.ts-booking-open{overflow:hidden}
#ts-booking-dialog,#ts-booking-dialog *{box-sizing:border-box}
#ts-booking-dialog{margin:auto;width:min(800px,calc(100vw - 32px));max-width:800px;max-height:calc(100dvh - 40px);padding:0;border:1px solid #557e81;border-radius:18px;background:#f5f9f8;color:#17363d;box-shadow:0 30px 130px #0009;overflow:auto;font:16px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;overscroll-behavior:contain;text-align:left;--ts-accent:#69dfd1}
#ts-booking-dialog::backdrop{background:#00151dc9;backdrop-filter:blur(6px)}
#ts-booking-dialog [hidden]{display:none!important}
#ts-booking-dialog h2,#ts-booking-dialog h3,#ts-booking-dialog p{margin:0}
#ts-booking-dialog h2{font-size:31px;line-height:1.16;letter-spacing:-.035em;font-weight:750;color:#fff;max-width:590px}
#ts-booking-dialog h3{font-size:19px;line-height:1.3;letter-spacing:-.02em;color:#153b3d}
#ts-booking-dialog .ts-modal-head{padding:26px 30px;background:linear-gradient(120deg,#0a2b33,#17484c);position:relative;border-top:3px solid var(--ts-accent)}
#ts-booking-dialog .ts-modal-eyebrow{color:#ecd091;font-size:10px;letter-spacing:.16em;line-height:1.6;font-weight:750;text-transform:uppercase;margin-bottom:11px}
#ts-booking-dialog .ts-modal-head>p:last-child{color:#d3e6e7;font-size:14px;margin-top:12px}
#ts-booking-dialog .ts-modal-close{position:absolute;right:18px;top:15px;width:38px;height:38px;border:1px solid #8cafad;background:#123c42;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:23px;line-height:1;cursor:pointer}
#ts-booking-dialog .ts-modal-head h2{padding-right:35px}
#ts-booking-dialog .ts-modal-body{padding:25px 30px 28px}
#ts-booking-dialog label{display:grid;gap:7px;font-weight:650;color:#284d52;font-size:13px;line-height:1.45;margin:0}
#ts-booking-dialog input,#ts-booking-dialog textarea,#ts-booking-dialog select{font:400 15px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;width:100%;padding:11px 13px;border:1px solid #b3cecb;border-radius:7px;background:#fff;color:#12353c;min-height:46px;box-shadow:none;max-width:100%}
#ts-booking-dialog textarea{resize:vertical;min-height:100px}
#ts-booking-dialog input::placeholder,#ts-booking-dialog textarea::placeholder{color:#678185}
#ts-booking-dialog button,#ts-booking-dialog a{font-family:inherit}
#ts-booking-dialog button:focus-visible,#ts-booking-dialog a:focus-visible,#ts-booking-dialog input:focus-visible,#ts-booking-dialog textarea:focus-visible,#ts-booking-dialog select:focus-visible{outline:3px solid #008275;outline-offset:3px}
#ts-booking-dialog .ts-context-panel{background:#e9f2f0;border:1px solid #c9dcd7;border-left:3px solid #278b7f;border-radius:9px;padding:14px 17px;margin:18px 0}
#ts-booking-dialog .ts-context-panel>span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.1em;font-weight:750;color:#426b69;margin-bottom:4px}
#ts-booking-dialog .ts-context-panel strong{font-size:16px;line-height:1.45;color:#133a3e}
#ts-booking-dialog .ts-context-panel p{font-size:12px;line-height:1.6;color:#466769;margin-top:4px}
#ts-booking-dialog .ts-context-panel ul{padding-left:18px;font-size:12px;line-height:1.55;color:#3c6364;margin:7px 0 0}
#ts-booking-dialog .ts-session-notice{border:1px solid #ddcead;border-left:3px solid #b88838;background:#fff8e9;padding:14px 17px;border-radius:8px;margin:18px 0;font-size:13px;line-height:1.65;color:#5c4d32}
#ts-booking-dialog .ts-session-notice strong{font-weight:750;display:block;color:#4d422e;margin-bottom:3px}
#ts-booking-dialog .ts-request-form{display:grid;gap:15px}
#ts-booking-dialog .ts-form-columns{display:grid;grid-template-columns:1fr 1fr;gap:15px}
#ts-booking-dialog .ts-modal-actions{display:flex;align-items:center;gap:11px;flex-wrap:wrap;margin-top:18px}
#ts-booking-dialog .ts-primary,#ts-booking-dialog .ts-secondary{border:1px solid transparent;font-size:14px;font-weight:700;line-height:1.5;padding:12px 18px;min-height:47px;border-radius:7px;display:inline-flex;align-items:center;justify-content:center;gap:16px;cursor:pointer;text-decoration:none}
#ts-booking-dialog .ts-primary{background:#0e6663;color:#fff}
#ts-booking-dialog .ts-primary:hover{background:#084e50}
#ts-booking-dialog .ts-secondary{border-color:#a4c0be;background:#fff;color:#234f52}
#ts-booking-dialog .ts-secondary:hover{background:#e6f2ef}
#ts-booking-dialog .ts-privacy{font-size:11px;line-height:1.65;color:#526f71;margin-top:12px}
#ts-booking-dialog pre{background:#fff;border:1px solid #c5d9d5;border-radius:8px;padding:18px;white-space:pre-wrap;overflow-wrap:anywhere;font:13px/1.65 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:#294c51;margin:14px 0}
#ts-booking-dialog .ts-copy-status{font-size:12px;color:#146958;margin-top:10px}
#ts-booking-dialog .ts-provider-frame{display:block;width:100%;min-height:620px;border:1px solid #c0d5d0;background:#fff;border-radius:9px;margin-top:16px}
#ts-booking-dialog .ts-live-copy{font-size:13px;line-height:1.6;color:#3e6266;margin-top:12px}
#ts-booking-dialog .ts-provider-note{font-size:11px;color:#5c7779;margin-top:12px}
#ts-booking-dialog .ts-provider-link{color:#0b7470;font-weight:700;text-decoration:underline;text-underline-offset:3px}
#ts-booking-dialog .ts-stage-link{background:none;border:0;color:#116e67;text-decoration:underline;text-underline-offset:3px;padding:3px 0;font:650 12px/1.5 inherit;cursor:pointer;margin-top:8px}
/* Contact landing retains the established company header, original logos and contact details. */
body[data-page="contact"] .ts-contact-hero{padding:66px 0 58px;background:radial-gradient(ellipse at 92% 20%,#276f6966,transparent 60%),linear-gradient(125deg,#0b2831,#104449);color:#f2fcfa}
body[data-page="contact"] .ts-contact-hero h1{font-size:clamp(39px,4.4vw,65px)!important;max-width:920px;line-height:1.06!important;letter-spacing:-.045em;color:#fff}
body[data-page="contact"] .ts-contact-hero h1 em{color:#ecc27d;font-style:normal}
body[data-page="contact"] .ts-contact-hero>.shell>p{max-width:770px;font-size:19px;line-height:1.7;color:#d0e5e2;margin-top:24px}
body[data-page="contact"] .ts-contact-hero .contact-kicker{font-size:11px;letter-spacing:.16em;font-weight:750;color:#efc985;display:block;margin-bottom:22px}
body[data-page="contact"] .ts-contact-hero .contact-hero-actions{display:flex;flex-wrap:wrap;gap:13px;margin-top:30px}
.ts-session-section{padding:55px 0 50px;background:#f3f8f6;color:#163c40}
.ts-session-section h2{font-size:42px;line-height:1.12;letter-spacing:-.04em;color:#183c41;margin:0}
.ts-session-section h2 em{color:#167c76;font-style:normal}
.ts-eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:.14em;line-height:1.6;font-weight:750;color:#49776f;margin:0 0 13px}
.ts-session-intro{font-size:16px;color:#527070;max-width:620px;margin:18px 0 26px;line-height:1.7}
.ts-session-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.ts-session-card{display:flex;flex-direction:column;gap:16px;text-align:left;padding:23px;background:#fff;border:1px solid #c7ddd7;border-top:3px solid #198b7b;border-radius:11px;color:#1b4346;min-height:195px;cursor:pointer;transition:transform .2s,border-color .2s;min-width:0}
.ts-session-card:hover{border-color:#1b8c7b;transform:translateY(-3px)}
.ts-session-card .ts-session-number{font-size:12px;letter-spacing:.08em;color:#8c692b;font-weight:700}
.ts-session-card h3{font-size:22px;line-height:1.25;letter-spacing:-.03em;margin:0;font-weight:700;color:#193f44}
.ts-session-card>span:last-child{display:flex;align-items:center;gap:18px;justify-content:space-between;font-size:12px;color:#146f67;font-weight:700;margin-top:auto}
.ts-session-status{font-size:13px;color:#566d6a;line-height:1.65;padding:16px 20px;background:#e6f0ec;border-radius:8px;margin-top:22px;border-left:3px solid #a99050}
.ts-contact-routes .section-intro h2{font-size:36px!important}
@media(max-width:850px){.ts-session-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){#ts-booking-dialog{width:calc(100vw - 20px);max-height:calc(100dvh - 20px);border-radius:13px}#ts-booking-dialog .ts-modal-head{padding:22px 20px}#ts-booking-dialog h2{font-size:27px}#ts-booking-dialog .ts-modal-body{padding:20px}#ts-booking-dialog .ts-form-columns{grid-template-columns:1fr}#ts-booking-dialog .ts-modal-actions{flex-direction:column;align-items:stretch}#ts-booking-dialog .ts-modal-actions>*{width:100%}#ts-booking-dialog .ts-provider-frame{min-height:540px}body[data-page="contact"] .ts-contact-hero{padding:39px 0}body[data-page="contact"] .ts-contact-hero h1{font-size:40px!important}body[data-page="contact"] .ts-contact-hero>.shell>p{font-size:16px}.ts-session-section{padding:35px 0}.ts-session-section h2{font-size:35px}.ts-session-card{padding:19px;min-height:186px}.ts-session-card h3{font-size:20px}.ts-session-status{font-size:12px}.ts-contact-routes .section-intro h2{font-size:31px!important}}
@media(max-width:480px){.ts-session-grid{grid-template-columns:1fr}.ts-session-card{min-height:150px}}
@media(prefers-reduced-motion:reduce){.ts-session-card{transition:none}.ts-session-card:hover{transform:none}}
body[data-page="contact"] .ts-contact-hero .btn-ghost{background:transparent!important;color:#effbf9!important;border:1px solid #a0bdb9!important}
body[data-page="contact"] .ts-contact-hero .btn-ghost:hover{background:#245553!important}
