/* CCST V1.1 · 30 October 2026
 * All content styles are scoped to #ccst-page to protect the shared SQI menu.
 * Palette: burgundy #812b3e, ink #272727, forest #14383b, cream #faf7ef.
 * Layout follows the shared menu's 1000px boundary. No external font dependency.
 */
body { margin: 0; background: #fff; }
body > table { width: 100%; max-width: 1000px; margin-inline: auto; }
.ccst-skip { position: absolute; top: -100px; left: 16px; z-index: 1000; padding: 14px; background: #fff; color: #812b3e; }
.ccst-skip:focus { top: 12px; }
#ccst-page {
  --ink: #272727;
  --muted: #595959;
  --burgundy: #812b3e;
  --line: #deded7;
  --forest: #14383b;
  --cream: #faf7ef;
  width: 100%; max-width: 1000px; margin-inline: auto;
  color: var(--ink); background: #fff;
  font: 400 17px/1.7 Arial, Helvetica, sans-serif;
  -webkit-text-size-adjust: 100%;
}
#ccst-page *, #ccst-page *::before, #ccst-page *::after { box-sizing: border-box; }
#ccst-page [hidden] { display: none !important; }
#ccst-page a { color: var(--burgundy); text-underline-offset: 4px; }
#ccst-page a:hover { text-decoration-thickness: 2px; }
#ccst-page :is(a,button,summary,input,select):focus-visible { outline: 3px solid #b77c25; outline-offset: 4px; }
#ccst-page button, #ccst-page input, #ccst-page select { font: inherit; }
#ccst-page button, #ccst-page summary { cursor: pointer; }
#ccst-page img { display: block; max-width: 100%; height: auto; }
#ccst-page p { margin: 0 0 1.1em; }
#ccst-page p:last-child { margin-bottom: 0; }
#ccst-page h1, #ccst-page h2, #ccst-page h3 { color: inherit; text-wrap: balance; }
#ccst-page h1 { margin: 0 0 22px; font: 700 clamp(35px, 4vw, 48px)/1.08 Georgia, 'Times New Roman', serif; letter-spacing: -1.4px; }
#ccst-page h1 em { font-style: normal; color: var(--burgundy); }
#ccst-page h2 { margin: 0 0 24px; font: 700 clamp(30px, 3.5vw, 40px)/1.15 Georgia, 'Times New Roman', serif; letter-spacing: -.6px; }
#ccst-page h3 { margin: 0 0 16px; font-size: 23px; line-height: 1.3; letter-spacing: -.4px; }
#ccst-page ul { margin: 18px 0; padding-left: 24px; }
#ccst-page li { padding-left: 4px; margin-bottom: 12px; }
#ccst-page li::marker { color: var(--burgundy); }
#ccst-page .eyebrow { margin-bottom: 20px; color: var(--burgundy); font-size: 12px; line-height: 1.6; font-weight: 700; letter-spacing: 1.6px; text-transform: uppercase; }
#ccst-page .muted { color: var(--muted); }
#ccst-page .section { padding: 64px 36px; scroll-margin-top: 80px; border-bottom: 1px solid var(--line); }
#ccst-page .program-ribbon { padding: 10px 20px; background: #c51f2b; color: #fff; text-align: center; font-size: 12px; font-weight: 700; letter-spacing: 1.7px; }
#ccst-page .program-nav { display: flex; align-items: center; justify-content: space-between; gap: 15px; position: sticky; top: 0; z-index: 20; padding: 16px 28px; border-bottom: 1px solid var(--line); background: #fff; font-size: 14px; line-height: 1.4; }
#ccst-page .program-nav a { text-decoration: none; color: #333; white-space: nowrap; padding-block: 7px; }
#ccst-page .program-nav a:hover { color: var(--burgundy); text-decoration: underline; }
#ccst-page .program-nav .nav-cta { font-weight: 700; color: var(--burgundy); }
#ccst-page .hero { display: grid; grid-template-columns: 1.06fr 1fr; align-items: center; gap: 36px; padding-top: 48px; padding-bottom: 48px; }
#ccst-page .hero .eyebrow { font-size: 11px; letter-spacing: 1.2px; }
#ccst-page .hero-lead { font-size: 18px; line-height: 1.65; }
#ccst-page .hero-art img { border-radius: 3px; }
#ccst-page .hero-dates { padding: 24px 0 0; display: grid; gap: 18px; }
#ccst-page .hero-dates p { padding-left: 18px; border-left: 3px solid #c51f2b; margin: 0; }
#ccst-page .hero-dates span { display: block; font-size: 11px; letter-spacing: 1.1px; color: var(--muted); margin-bottom: 5px; }
#ccst-page .hero-dates strong { font-size: 18px; line-height: 1.5; }
#ccst-page .actions { display: flex; align-items: center; flex-wrap: wrap; gap: 14px 22px; margin: 26px 0; }
#ccst-page .button { display: inline-flex; justify-content: center; align-items: center; min-height: 48px; padding: 13px 20px; border: 1px solid var(--burgundy); border-radius: 5px; background: var(--burgundy); color: #fff; text-decoration: none; text-align: center; font-size: 16px; font-weight: 700; line-height: 1.4; }
#ccst-page .button:hover { background: #652033; border-color: #652033; color: #fff; }
#ccst-page .button.outline { background: #fff; color: var(--burgundy); }
#ccst-page .button.outline:hover { background: #f8eef1; }
#ccst-page .text-link, #ccst-page .pdf-link { font-weight: 700; font-size: 15px; }
#ccst-page .facts { display: grid; grid-template-columns: repeat(3,1fr); padding: 28px 36px; border-bottom: 1px solid var(--line); background: var(--cream); text-align: center; }
#ccst-page .facts p { margin: 0; font-size: 14px; }
#ccst-page .facts p + p { border-left: 1px solid #d5d1c9; }
#ccst-page .facts strong { display: block; color: var(--forest); font: 700 30px/1.4 Georgia,serif; }
#ccst-page .intro-grid { display: grid; grid-template-columns: 1fr 1.1fr; gap: 40px; }
#ccst-page .intro-grid h2 { font-size: 30px; }
#ccst-page .opening p:first-child { font: 400 26px/1.4 Georgia,serif; padding-left: 20px; border-left: 3px solid #c51f2b; }
#ccst-page .wide-photo { margin: 36px 0 0; }
#ccst-page .wide-photo p { margin: 0; }
#ccst-page .wide-photo img { width: 100%; border-radius: 5px; }
#ccst-page .wide-photo figcaption { margin-top: 8px; color: var(--muted); font-size: 12px; }
#ccst-page .section-actions { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 14px 24px; margin-bottom: 24px; font-size: 14px; font-weight: 700; }
#ccst-page .edition-grid, #ccst-page .pricing-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; margin: 28px 0; }
#ccst-page .edition { display: flex; flex-direction: column; align-items: flex-start; padding: 28px; border: 1px solid var(--line); border-top: 4px solid var(--burgundy); border-radius: 5px; }
#ccst-page .edition:first-child { background: var(--cream); }
#ccst-page .format { display: block; margin: 0 0 12px; font-size: 12px; letter-spacing: 1.6px; font-weight: 700; text-transform: uppercase; color: var(--burgundy); }
#ccst-page .edition h3 { font-size: 28px; }
#ccst-page .edition-date { border-top: 1px solid var(--line); padding-top: 20px; margin-top: auto; width: 100%; }
#ccst-page .edition-date small { display: block; color: var(--muted); font-size: 14px; margin-bottom: 10px; }
#ccst-page .edition-date time { display: block; font-size: 21px; font-weight: 700; line-height: 1.5; }
#ccst-page .edition .button { width: 100%; margin-top: auto; }
#ccst-page .tint { background: #f2f5f3; }
#ccst-page .outcomes ul { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 36px; list-style: none; padding: 0; }
#ccst-page .outcomes li { padding: 16px 0 0; border-top: 1px solid #ccd8d0; margin: 0; }
#ccst-page .outcomes li:last-child { grid-column: 1/-1; font-size: 22px; }
/* Native details remain functional when scripts are blocked or disabled. */
#ccst-page summary { display: flex; align-items: center; justify-content: space-between; gap: 20px; list-style: none; min-height: 64px; padding: 20px 0; font-size: 19px; font-weight: 700; line-height: 1.4; }
#ccst-page summary::-webkit-details-marker { display: none; }
#ccst-page .plus { flex: 0 0 18px; width: 18px; height: 18px; position: relative; color: var(--burgundy); }
#ccst-page .plus::before, #ccst-page .plus::after { content: ''; position: absolute; background: currentColor; top: 8px; left: 0; width: 18px; height: 2px; }
#ccst-page .plus::after { transform: rotate(90deg); }
#ccst-page details[open] > summary .plus::after { transform: none; }
#ccst-page .disclosure { border-top: 1px solid var(--line); margin-top: 14px; }
#ccst-page .detail-body { padding: 0 0 24px; }
#ccst-page .highlight-box { padding: 20px 24px; background: #f7f7f3; border-left: 3px solid #b9c4bb; margin: 24px 0; }
#ccst-page .curriculum { background: #f0f1f2; }
#ccst-page .text-button { display: block; margin: 0 0 18px auto; padding: 10px 0; border: 0; border-bottom: 1px solid var(--burgundy); background: transparent; color: var(--burgundy); font-weight: 700; font-size: 15px; }
#ccst-page .module { margin: 14px 0; background: #fff; border: 1px solid #d6d9dc; border-radius: 6px; overflow: hidden; }
#ccst-page .module > summary { display: grid; grid-template-columns: 100px 1fr 18px; gap: 22px; padding: 25px; }
#ccst-page .module-number { align-self: flex-start; background: #f6e9ed; color: var(--burgundy); padding: 9px; border-radius: 4px; font-size: 15px; text-align: center; }
#ccst-page .module-name { font-size: 15px; color: var(--muted); font-weight: 400; line-height: 1.65; }
#ccst-page .module-name > strong:last-child { display: block; font-size: 23px; color: var(--ink); line-height: 1.3; margin-top: 4px; }
#ccst-page .module-name br:last-of-type { display: none; }
#ccst-page .module-body { padding: 28px; border-top: 1px solid #e1e3e6; }
#ccst-page .module-body ul { columns: 2; column-gap: 35px; }
#ccst-page .module-body li { break-inside: avoid; }
#ccst-page .module-body .highlight-box { padding: 16px 20px; margin: 18px 0 0; background: #fafaf8; border-left: 0; }
#ccst-page .dark { background: var(--forest); color: #fff; }
#ccst-page .dark .eyebrow { color: #e7d5ac; }
#ccst-page .dark p { color: #f3f6f3; }
#ccst-page .diplomas { display: grid; grid-template-columns: 1fr 1fr; gap: 26px; margin: 32px 0; }
#ccst-page .diplomas div { border-top: 1px solid #688182; padding: 20px 0; }
#ccst-page .diplomas strong { display: block; font: 700 42px/1.2 Georgia,serif; }
#ccst-page .diplomas span { display: block; margin-top: 10px; }
#ccst-page .materials-list { display: grid; grid-template-columns: repeat(2,1fr); gap: 12px 28px; margin: 26px 0; padding: 24px; border: 1px solid var(--line); background: var(--cream); }
#ccst-page .materials-list p { margin: 0; }
#ccst-page .faculty-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; margin: 30px 0 40px; }
#ccst-page .faculty-grid img { width: 100%; height: 230px; object-fit: cover; object-position: top; border-radius: 5px; margin-bottom: 18px; }
#ccst-page .faculty-grid p { font-size: 16px; }
#ccst-page .video-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; margin: 30px 0; }
#ccst-page .video-grid article { display: flex; flex-direction: column; }
#ccst-page .video-grid h3 { font-size: 18px; letter-spacing: 0; }
#ccst-page .video-container { margin-top: auto; aspect-ratio: 16 / 9; }
#ccst-page iframe { display: block; width: 100%; height: 100%; border: 0; }
#ccst-page .warm { background: var(--cream); }
#ccst-page .testimonial-wrap { position: relative; margin: 25px 14px 30px; }
#ccst-page .testimonial-rail { display: flex; gap: 18px; overflow-x: auto; padding: 0 0 20px; scroll-snap-type: x mandatory; scrollbar-color: var(--burgundy) #e5dfd4; scrollbar-width: thin; }
#ccst-page .quote { flex: 0 0 calc((100% - 36px)/3); margin: 0; padding: 24px; background: #fff; border: 1px solid #ddd7cb; border-top: 3px solid #caa04c; border-radius: 6px; display: flex; flex-direction: column; scroll-snap-align: start; }
#ccst-page blockquote { margin: 0 0 28px; font-size: 16px; line-height: 1.8; }
#ccst-page blockquote::before { content: '“'; display: block; font: 700 50px/.9 Georgia,serif; color: var(--burgundy); margin-bottom: 8px; }
#ccst-page .quote figcaption { margin-top: auto; padding-top: 18px; border-top: 1px solid var(--line); font-size: 14px; line-height: 1.5; }
#ccst-page .quote strong { display: block; color: #171717; }
#ccst-page .quote figcaption span { display: block; color: var(--muted); margin-top: 6px; }
#ccst-page .rail-arrow { position: absolute; top: 45%; z-index: 2; display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 1px solid #c8bfb0; border-radius: 50%; background: #fff; color: var(--burgundy); font-size: 34px; line-height: 1; }
#ccst-page .rail-arrow.prev { left: -23px; }
#ccst-page .rail-arrow.next { right: -23px; }
#ccst-page .rail-arrow:disabled { opacity: .4; cursor: default; }
#ccst-page .testimonial-links { display: flex; flex-wrap: wrap; gap: 24px; }
#ccst-page .photo-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
#ccst-page .photo-grid img { height: 240px; width: 100%; object-fit: cover; border-radius: 4px; }
#ccst-page .pricing { background: #f7f9f7; }
#ccst-page .pricing > h2 + h2 { font: 700 24px/1.4 Arial,sans-serif; letter-spacing: 0; }
#ccst-page .price-card { padding: 30px; border: 1px solid #b8ccc0; border-radius: 7px; background: #fff; }
#ccst-page .price-card:first-child { border-top: 4px solid #245b50; padding-top: 27px; }
#ccst-page .price-card .price { font-size: 46px; font-weight: 700; line-height: 1.1; letter-spacing: -2px; margin: 18px 0 8px; color: var(--forest); }
#ccst-page .price-card .price span { font-size: 14px; letter-spacing: 0; }
#ccst-page .price-card .price + p { font-size: 14px; color: var(--muted); }
#ccst-page .price-card dl { margin: 28px 0; }
#ccst-page .price-card dl > div { display: flex; justify-content: space-between; gap: 14px; padding: 20px 0; border-top: 1px solid var(--line); }
#ccst-page .price-card dt { font-size: 16px; font-weight: 700; }
#ccst-page .price-card dd { margin: 0; text-align: right; font-size: 20px; font-weight: 700; color: var(--forest); white-space: nowrap; }
#ccst-page .price-card dd span { display: block; font-size: 13px; font-weight: 400; }
#ccst-page .price-card .team-price { margin: 0 -12px; padding: 20px 12px; background: #edf4e4; border-bottom: 1px solid #d6e1cb; }
#ccst-page .price-card small { font-weight: 400; font-size: 13px; }
#ccst-page .price-card .button { width: 100%; }
#ccst-page .currency-note { text-align: center; color: var(--muted); font-size: 14px; }
#ccst-page .finance-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
#ccst-page .finance-grid p { padding: 20px; background: #fff; border: 1px solid var(--line); }
#ccst-page .guarantee-card { padding: 30px; background: #fff; border-radius: 6px; border-top: 5px solid #b99144; color: var(--ink); }
#ccst-page .guarantee-card p { color: var(--ink); }
#ccst-page .signature { padding: 20px 0; border-top: 1px solid var(--line); font-size: 15px; }
#ccst-page .contact { background: #faf9f5; }
#ccst-page .contact-layout { columns: 2; column-gap: 45px; }
#ccst-page .contact-layout > h2, #ccst-page .contact-layout > h2 + p { column-span: all; }
#ccst-page .contact-layout > * { break-inside: avoid; }
#ccst-page .contact-layout img { max-width: 300px; }
#ccst-page .contact-layout p:has(img[alt="Teléfono Icon"]) { display: none; }
#ccst-page .social-logos { display: flex; gap: 15px; }
#ccst-page .social-logos img { width: 32px; height: 32px; }
#ccst-page .book-content > a > img, #ccst-page #libro .detail-body > a > img { float: left; margin: 4px 24px 12px 0; width: 100px; }
#ccst-page form { display: grid; grid-template-columns: 180px minmax(0,1fr); align-items: center; gap: 14px; padding: 28px; background: var(--cream); clear: both; }
#ccst-page form p { grid-column: 1/-1; margin: 0 0 10px; font-size: 14px; }
#ccst-page form input:not([type="hidden"]), #ccst-page form select { width: 100%; min-width: 0; min-height: 46px; border: 1px solid #a9aaa7; padding: 10px; border-radius: 4px; background: #fff; color: #222; }
#ccst-page form input[type="submit"] { grid-column: 2; background: var(--burgundy); color: #fff; cursor: pointer; border-color: var(--burgundy); font-weight: 700; white-space: normal; }
#ccst-page form label { font-weight: 700; }
#ccst-page .page-footer { padding: 25px 36px; display: flex; align-items: center; justify-content: space-between; gap: 20px; color: var(--muted); font-size: 12px; }
#ccst-page .page-footer p { margin: 0; }
#ccst-page .page-footer a { white-space: nowrap; }
@media (max-width: 800px) {
  #ccst-page .section { padding: 44px 24px; }
  #ccst-page .program-nav { overflow-x: auto; justify-content: flex-start; padding: 12px 24px; }
  #ccst-page .hero { grid-template-columns: 1fr; gap: 30px; }
  #ccst-page .hero-art { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; align-items: center; }
  #ccst-page .hero-dates { padding-top: 0; }
  #ccst-page .hero-copy { max-width: 650px; }
  #ccst-page .intro-grid { grid-template-columns: 1fr; gap: 28px; }
  #ccst-page .quote { flex-basis: calc((100% - 18px)/2); }
  #ccst-page .faculty-grid { gap: 18px; }
  #ccst-page .faculty-grid img { height: 190px; }
  #ccst-page .price-card { padding: 24px; }
}
@media (max-width: 600px) {
  #ccst-page { font-size: 17px; }
  #ccst-page .section { padding: 38px 22px; scroll-margin-top: 75px; }
  #ccst-page h1 { font-size: 38px; }
  #ccst-page h2 { font-size: 31px; }
  #ccst-page .hero-art, #ccst-page .edition-grid, #ccst-page .pricing-grid, #ccst-page .intro-grid, #ccst-page .video-grid, #ccst-page .finance-grid { grid-template-columns: 1fr; }
  #ccst-page .hero-art { gap: 22px; }
  #ccst-page .hero-dates { grid-template-columns: 1fr; }
  #ccst-page .hero-lead { font-size: 18px; }
  #ccst-page .facts { padding: 22px 12px; gap: 8px; }
  #ccst-page .facts strong { font-size: 23px; }
  #ccst-page .facts p { font-size: 12px; line-height: 1.5; }
  #ccst-page .program-ribbon { font-size: 10px; letter-spacing: 1px; }
  #ccst-page .outcomes ul, #ccst-page .materials-list { grid-template-columns: 1fr; }
  #ccst-page .outcomes li:last-child { font-size: 19px; }
  #ccst-page .diplomas { gap: 18px; }
  #ccst-page .diplomas strong { font-size: 34px; }
  #ccst-page .diplomas span { font-size: 15px; }
  #ccst-page .module > summary { grid-template-columns: 1fr 18px; gap: 10px; padding: 20px; }
  #ccst-page .module-number { grid-column: 1; justify-self: start; padding: 5px 9px; font-size: 13px; }
  #ccst-page .module-name { grid-column: 1; }
  #ccst-page .module-name > strong:last-child { font-size: 21px; }
  #ccst-page .module > summary .plus { grid-column: 2; grid-row: 1/3; }
  #ccst-page .module-body { padding: 20px; }
  #ccst-page .module-body ul { columns: 1; }
  #ccst-page .module-body .highlight-box { padding: 12px; }
  #ccst-page .faculty-grid { grid-template-columns: 1fr; gap: 28px; }
  #ccst-page .faculty-grid article { display: grid; grid-template-columns: 115px 1fr; gap: 18px; }
  #ccst-page .faculty-grid article > p:has(img) { margin: 0; }
  #ccst-page .faculty-grid img { height: 150px; margin: 0; }
  #ccst-page .faculty-grid p { font-size: 15px; }
  #ccst-page .quote { flex-basis: 100%; padding: 23px; }
  #ccst-page .quote blockquote { font-size: 17px; }
  #ccst-page .photo-grid { grid-template-columns: 1fr; }
  #ccst-page .photo-grid img { height: auto; }
  #ccst-page .guarantee-card { padding: 24px; }
  #ccst-page .contact-layout { columns: 1; }
  #ccst-page form { grid-template-columns: 1fr; padding: 22px; gap: 8px; }
  #ccst-page form input:not([type="hidden"]), #ccst-page form select { margin-bottom: 12px; }
  #ccst-page form input[type="submit"] { grid-column: 1; }
  #ccst-page .page-footer { padding: 24px 22px; flex-wrap: wrap; }
}
@media (prefers-reduced-motion: no-preference) { html { scroll-behavior: smooth; } }
@media print {
  #sqi-menu-shell, #ccst-page .program-nav, #ccst-page .section-actions, #ccst-page button, #ccst-page .actions, #ccst-page iframe { display: none !important; }
  #ccst-page .section { padding: 20px 0; }
  #ccst-page .dark { background: #fff; color: #222; }
  #ccst-page .dark p { color: #222; }
  #ccst-page .testimonial-rail { display: block; }
  #ccst-page .quote { margin: 14px 0; break-inside: avoid; }
}
#ccst-page .video-fallback { font-size: 14px; margin-top: 10px; }
/* Prevent intrinsic table/image widths from widening small phones. */
body > #sqi-menu-shell { table-layout: fixed; }
#sqi-nav-modern .sqn-logo { min-width: 0; }
#ccst-page .contact-layout img { max-width: min(300px, 100%); }
@media (max-width: 360px) {
  #ccst-page .price-card { padding-inline: 18px; }
  #ccst-page .price-card dl > div { gap: 8px; }
  #ccst-page .price-card dd { font-size: 17px; }
  #ccst-page .price-card dt { font-size: 14px; }
}

/* ========================================================================== 
   CCST V1.1 — Brochure-inspired editorial presentation.
   All new rules are scoped to #ccst-page; shared SQI navigation stays independent.
   ========================================================================== */
#ccst-page { --navy:#101c30; --gold:#efb84f; --paper:#fffcf5; font-size:18px; }
#ccst-page h2 { font-size:clamp(32px,3.8vw,44px); }
#ccst-page .section { padding:68px 40px; }
#ccst-page .flagship { display:block; padding:0; background:var(--navy); color:white; }
#ccst-page .flagship .hero-copy { max-width:none; padding:42px 44px 34px; }
#ccst-page .hero-pretitle { display:inline-block; padding:6px 13px; margin-bottom:24px; background:var(--gold); color:#182133; font:700 21px/1.3 Georgia,serif; }
#ccst-page .flagship .eyebrow { color:#e6d3ae; font-size:12px; }
#ccst-page .flagship h1 { max-width:880px; font-size:clamp(42px,5.7vw,66px); font-weight:400; line-height:1.04; letter-spacing:-1.8px; }
#ccst-page .flagship h1 em { display:block; color:white; }
#ccst-page .flagship .hero-lead { max-width:780px; font-size:20px; line-height:1.65; color:#f1f2f4; }
#ccst-page .flagship .actions { margin-bottom:0; }
#ccst-page .flagship .button:not(.outline) { background:#c51f2b; border-color:#c51f2b; }
#ccst-page .flagship .pdf-link { color:#fff; }
#ccst-page .hero-photo { margin:0; position:relative; }
#ccst-page .hero-photo img { width:100%; height:300px; object-fit:cover; object-position:center 42%; }
#ccst-page .hero-photo figcaption { padding:15px 30px; background:#c51f2b; color:white; text-align:center; font-size:25px; font-weight:700; line-height:1.3; }
#ccst-page .flagship .hero-dates { display:grid; grid-template-columns:1.15fr 1fr; padding:25px 40px; gap:28px; background:#fff7df; color:#202631; }
#ccst-page .hero-dates p { border-color:#bd8b25; }
#ccst-page .hero-dates span { color:#454545; }
#ccst-page .facts { background:#fff; padding:27px 30px; border-bottom:1px solid #d5d2c8; }
#ccst-page .facts strong { font-size:34px; color:var(--navy); }
#ccst-page .intro-sequence { max-width:780px; margin:auto; }
#ccst-page .intro-sequence .opening { margin-bottom:40px; }
#ccst-page .opening p:first-child { font-size:30px; line-height:1.45; }
#ccst-page .transformation { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin:38px 0; padding:26px 0; border-top:1px solid #dcd6c8; border-bottom:1px solid #dcd6c8; }
#ccst-page .transformation > div { display:flex; gap:15px; align-items:flex-start; position:relative; }
#ccst-page .transformation > div + div { border-left:1px solid #dcd6c8; padding-left:20px; }
#ccst-page .transformation span { color:#bd4526; font-size:36px; font-weight:700; line-height:1.2; }
#ccst-page .transformation p { font-size:17px; line-height:1.45; }
#ccst-page .transformation strong { display:block; color:var(--navy); font-size:16px; }
#ccst-page .harvard { background:#fff8e8; border-top:4px solid #c49433; }
#ccst-page .harvard-layout { display:grid; grid-template-columns:1.3fr 1fr; gap:36px; align-items:start; }
#ccst-page .harvard-layout aside { padding-top:5px; }
#ccst-page .harvard-layout img { border-radius:6px; }
#ccst-page .preparation { margin-top:22px; padding:25px; background:white; border:1px solid #dfd3b8; }
#ccst-page .preparation ol { margin-bottom:0; padding-left:22px; font-size:16px; }
#ccst-page .curriculum { background:#fff8e6; }
#ccst-page .learning-map { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; margin:24px 0 30px; background:#d4cdbf; border:1px solid #d4cdbf; border-radius:8px; overflow:hidden; }
#ccst-page .learning-map a { display:flex; flex-direction:column; align-items:flex-start; padding:18px; background:white; color:#242a34; text-decoration:none; font-size:14px; line-height:1.5; }
#ccst-page .learning-map a:hover { background:#fff0c9; }
#ccst-page .learning-map a > span { color:var(--burgundy); font-size:26px; }
#ccst-page .learning-map strong { font-size:22px; line-height:1.4; }
#ccst-page .learning-map a:last-child strong { font-size:18px; }
#ccst-page .module { border:1px solid #ddcba6; border-left:5px solid #b78627; border-radius:8px; margin:18px 0; box-shadow:0 3px 0 #ebdfc733; }
#ccst-page .module:nth-child(even) { border-left-color:#812b3e; }
#ccst-page .module > summary { grid-template-columns:90px minmax(0,1fr) 110px; gap:20px; padding:26px 22px; }
#ccst-page .module-number { background:#fff0c8; color:#63451a; font-weight:bold; }
#ccst-page .module:nth-child(even) .module-number { background:#f7e8ec; color:#812b3e; }
#ccst-page .module-name > strong:last-child { font-size:25px; }
#ccst-page .module:hover, #ccst-page .disclosure:hover { border-color:#b78627; }
#ccst-page .module[open] > summary { background:#fff6df; }
#ccst-page .module-body { border-color:#e6d9bc; background:white; }
#ccst-page .expand-label { display:flex; align-items:center; justify-content:flex-end; gap:12px; font-size:13px; font-weight:700; color:var(--burgundy); }
#ccst-page .when-open, #ccst-page details[open] > summary .when-closed { display:none; }
#ccst-page details[open] > summary .when-open { display:inline; }
#ccst-page .plus { width:30px; height:30px; flex-basis:30px; border:1px solid #c4a5a9; border-radius:50%; }
#ccst-page .plus::before, #ccst-page .plus::after { width:12px; left:8px; top:13px; }
#ccst-page .disclosure { border:1px solid #d8d0c4; border-radius:8px; background:#fff; margin-top:20px; overflow:hidden; scroll-margin-top:90px; }
#ccst-page .disclosure > summary { padding:23px 25px; gap:24px; background:#fffcf5; }
#ccst-page .disclosure-label { display:block; }
#ccst-page .disclosure-label > strong { font-size:22px; }
#ccst-page .teaser { display:block; font-size:15px; line-height:1.5; font-weight:400; color:#56534d; margin-top:8px; }
#ccst-page .detail-body { padding:24px 25px; border-top:1px solid #e6dfd1; }
#ccst-page .credentials { background:#f7f4ed; }
#ccst-page .diplomas { gap:24px; }
#ccst-page .diplomas article { position:relative; background:white; padding:30px; border:1px solid #d9c49b; border-top:5px solid #c39844; box-shadow:0 6px 20px #5e4c2c0a; }
#ccst-page .diplomas strong { color:var(--navy); font-size:52px; margin:22px 0 12px; }
#ccst-page .diplomas .eyebrow { max-width:250px; letter-spacing:.8px; padding-right:15px; font-size:11px; }
#ccst-page .diplomas h3 { font:700 24px/1.4 Georgia,serif; margin:0; }
#ccst-page .credential-seal { position:absolute; top:20px; right:20px; display:grid; place-items:center; width:36px; height:36px; border:1px solid #b99144; border-radius:50%; color:#8c641c; font-size:24px; margin:0; }
#ccst-page .sqi-about-logo { width:320px; margin-bottom:24px; }
#ccst-page .video-facade { position:relative; background:#142d32; overflow:hidden; border-radius:6px; }
#ccst-page .video-trigger { position:relative; display:grid; place-items:center; width:100%; height:100%; min-height:180px; border:0; padding:0; color:white; background:#173b40; }
#ccst-page .video-trigger img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
#ccst-page .video-grid .video-trigger img { object-position:center 20%; }
#ccst-page .video-trigger::after { content:''; position:absolute; inset:0; background:linear-gradient(transparent 30%,#0009); }
#ccst-page .play-disc { z-index:1; display:grid; place-items:center; border-radius:50%; background:#fff; color:var(--burgundy); width:60px; height:60px; font-size:22px; box-shadow:0 2px 12px #0003; }
#ccst-page .video-trigger:hover .play-disc { background:#ffedc6; }
#ccst-page .play-caption { position:absolute; bottom:14px; left:18px; z-index:1; font-size:14px; font-weight:bold; }
#ccst-page .video-monogram { position:absolute; top:16px; left:20px; color:#c3d2d0; font:bold 30px Georgia,serif; }
#ccst-page .testimonial-scale { display:flex; align-items:center; gap:34px; padding:24px 0; margin:28px 0 35px; border-block:1px solid #d8c9ab; }
#ccst-page .testimonial-scale p { margin:0; font-size:15px; }
#ccst-page .testimonial-scale strong { display:block; font:700 43px/1.2 Georgia,serif; color:var(--burgundy); }
#ccst-page .testimonial-scale a { margin-left:auto; max-width:190px; font-size:15px; font-weight:bold; }
#ccst-page .quote { border-top-color:#c59b48; padding:25px; }
#ccst-page .quote blockquote { font-size:17px; line-height:1.75; }
#ccst-page .quote.enhanced blockquote { max-height:270px; overflow:hidden; }
#ccst-page .quote .read-quote { align-self:flex-start; border:0; padding:12px 0 0; background:none; font-size:14px; font-weight:bold; color:var(--burgundy); text-decoration:underline; text-underline-offset:4px; }
#ccst-page .rail-end { flex:0 0 calc((100% - 36px)/3); display:flex; flex-direction:column; justify-content:center; text-align:center; align-items:center; gap:15px; padding:30px 20px; border:1px dashed #ab8a53; border-radius:6px; font-size:15px; scroll-snap-align:start; background:#fff7e2; }
#ccst-page .rail-end > span { font-size:40px; }
#ccst-page .rail-end strong { font-size:21px; }
#ccst-page .gallery-link { text-align:right; margin-top:-12px; }
#ccst-page .video-heading { margin-top:50px; }
#ccst-page .video-testimonial { flex:0 0 calc((100% - 18px)/2); scroll-snap-align:start; background:#fff; border:1px solid #d9cfbd; border-radius:7px; overflow:hidden; }
#ccst-page .video-testimonial .video-facade { border-radius:0; }
#ccst-page .video-testimonial h4 { margin:18px 20px 5px; font-size:17px; line-height:1.5; }
#ccst-page .video-testimonial > p { margin:0 20px 20px; font-size:15px; color:#5c5c5c; }
#ccst-page dialog { width:min(680px,calc(100% - 28px)); max-height:85vh; overflow:auto; border:1px solid #cfbf9e; border-radius:10px; padding:32px; color:#222; }
#ccst-page dialog::backdrop { background:#0d1725aa; }
#ccst-page .dialog-close { display:block; margin:0 0 25px auto; border:1px solid #c9bfae; border-radius:5px; padding:9px 15px; background:white; color:#812b3e; }
#ccst-page dialog h2 { font-size:25px; }
#ccst-page dialog blockquote { font-size:20px; }
#ccst-page .dialog-byline { font-weight:bold; }
#ccst-page .currency-control { display:flex; gap:16px; justify-content:flex-end; align-items:center; margin-bottom:28px; font-size:15px; font-weight:bold; }
#ccst-page .currency-control select { padding:12px 14px; background:#fff; border:1px solid #aebfb5; border-radius:5px; max-width:100%; }
#ccst-page .pricing-grid { align-items:stretch; }
#ccst-page .price-card { padding:0; overflow:hidden; border:1px solid #b6cbbf; border-top:5px solid #245b50; }
#ccst-page .price-card:first-child { padding-top:0; border-top-width:5px; }
#ccst-page .rack { padding:28px; }
#ccst-page .rack h3 { font-size:24px; }
#ccst-page .price-card .price { font-size:43px; letter-spacing:-1.5px; margin:20px 0 12px; }
#ccst-page [data-usd] { white-space:nowrap; }
#ccst-page .price-card .price > span { font-size:inherit; letter-spacing:inherit; }
#ccst-page .price-card .price small { font-size:14px; font-weight:400; letter-spacing:0; }
#ccst-page .installments { border-top:1px solid #dbe3de; padding-top:18px; margin-top:20px; font-size:16px; }
#ccst-page .installments p { margin:8px 0 0; }
#ccst-page .single-payment { padding:26px 28px; background:#edf4e3; border-block:1px solid #cddfbb; }
#ccst-page .single-payment .saving { display:inline-block; margin:0 0 16px; color:#fff; background:#245b50; padding:7px 10px; border-radius:4px; font-size:16px; font-weight:700; }
#ccst-page .single-payment h4 { font-size:23px; margin:0; }
#ccst-page .single-payment .price { margin-top:10px; }
#ccst-page .single-payment > p:not(.price):not(.saving) { font-size:15px; }
#ccst-page .group-pricing { padding:6px 28px 15px; }
#ccst-page .price-card dl { margin:0; }
#ccst-page .price-card dt small { display:block; }
#ccst-page .price-card dd { font-size:18px; }
#ccst-page .price-card dd [data-usd] { font-size:18px; font-weight:bold; }
#ccst-page .price-card .team-price { background:#fafbf8; }
#ccst-page .pricing-terms { padding:25px 0; font-size:16px; }
#ccst-page .payment-brands { display:flex; align-items:center; gap:12px; margin-bottom:28px; }
#ccst-page .payment-brands span { position:relative; display:block; height:38px; overflow:hidden; }
#ccst-page .payment-brands img { max-width:none; width:291px; height:38px; }
#ccst-page .cards-first { width:181px; }
#ccst-page .cards-last { width:44px; }
#ccst-page .cards-last img { position:absolute; right:0; }
#ccst-page .hotel-layout { display:grid; grid-template-columns:1fr 1fr; gap:25px; align-items:center; }
#ccst-page .hotel-layout figure { margin:0; }
#ccst-page .hotel-layout img { border-radius:5px; }
#ccst-page .hotel-layout figcaption { font-size:12px; color:#666; margin-top:8px; }
#ccst-page .guarantee { background:#f8f2e5; padding:45px 40px; }
#ccst-page .guarantee-card { border:1px solid #d6bf8f; border-left:7px solid #b58b3e; padding:35px; background:white; }
#ccst-page .guarantee-card h2 { margin-bottom:20px; }
#ccst-page .guarantee-card p { max-width:770px; line-height:1.9; font-size:19px; font-weight:400; }
#ccst-page #por-que { max-width:850px; margin:auto; }
#ccst-page .signature { display:flow-root; font-size:17px; padding:30px 0; }
#ccst-page .signature > a { float:left; margin-right:25px; }
#ccst-page .signature img { width:130px; height:150px; object-fit:cover; object-position:top; border-radius:6px; }
#ccst-page .book { display:grid; grid-template-columns:1fr 1.05fr; gap:32px; align-items:start; background:#fff5d9; border-top:4px solid #d5ad50; }
#ccst-page .book-pitch > a { display:block; float:left; margin:0 24px 15px 0; width:130px; }
#ccst-page .book-pitch > a > img { width:130px; max-height:210px; object-fit:contain; box-shadow:8px 10px 15px #4a3c251f; }
#ccst-page .book h2 { font-size:31px; line-height:1.2; }
#ccst-page .book-pitch > p { clear:both; font-size:16px; line-height:1.8; }
#ccst-page .book form { grid-template-columns:1fr; padding:26px; gap:8px; background:white; border:1px solid #d4c9b0; border-radius:8px; }
#ccst-page .book form label { font-size:15px; margin-top:6px; }
#ccst-page .book form input[type="submit"] { grid-column:1; margin-top:12px; min-height:54px; }
#ccst-page .book form input, #ccst-page .book form select { min-height:45px; }
#ccst-page .version-label { white-space:nowrap; }
#ccst-page .page-footer { flex-wrap:wrap; }
@media(max-width:800px) {
 #ccst-page .section { padding:50px 28px; }
 #ccst-page .flagship { padding:0; }
 #ccst-page .flagship .hero-copy { padding:35px 28px; }
 #ccst-page .flagship .hero-dates { padding:25px 28px; }
 #ccst-page .harvard-layout { grid-template-columns:1fr; }
 #ccst-page .harvard-layout aside { display:grid; grid-template-columns:1fr 1fr; gap:22px; align-items:start; }
 #ccst-page .preparation { margin-top:0; }
 #ccst-page .module > summary { grid-template-columns:80px minmax(0,1fr) 90px; gap:14px; }
 #ccst-page .expand-label { font-size:12px; gap:8px; }
 #ccst-page .quote, #ccst-page .rail-end { flex-basis:calc((100% - 18px)/2); }
 #ccst-page .book { gap:25px; }
 #ccst-page .rack, #ccst-page .single-payment, #ccst-page .group-pricing { padding-inline:22px; }
 #ccst-page .transformation { gap:12px; }
 #ccst-page .transformation > div { gap:10px; }
}
@media(max-width:600px) {
 #ccst-page .section { padding:40px 22px; }
 #ccst-page .flagship { padding:0; }
 #ccst-page .flagship .hero-copy { padding:30px 22px; }
 #ccst-page .flagship h1 { font-size:43px; letter-spacing:-1.3px; }
 #ccst-page .flagship .hero-lead { font-size:18px; }
 #ccst-page .hero-pretitle { font-size:18px; }
 #ccst-page .hero-photo img { height:205px; }
 #ccst-page .hero-photo figcaption { font-size:20px; padding:15px 22px; }
 #ccst-page .flagship .hero-dates { grid-template-columns:1fr; padding:24px 22px; }
 #ccst-page .facts { padding:22px 12px; }
 #ccst-page .facts strong { font-size:24px; }
 #ccst-page .opening p:first-child { font-size:25px; }
 #ccst-page .transformation { grid-template-columns:1fr; gap:16px; }
 #ccst-page .transformation > div + div { border-left:0; border-top:1px solid #e1d9c7; padding:16px 0 0; }
 #ccst-page .transformation > div { gap:20px; }
 #ccst-page .transformation span { width:45px; }
 #ccst-page .harvard-layout aside, #ccst-page .diplomas, #ccst-page .hotel-layout, #ccst-page .book { grid-template-columns:1fr; }
 #ccst-page .learning-map { grid-template-columns:1fr 1fr; }
 #ccst-page .module > summary { grid-template-columns:1fr 95px; padding:20px 16px; }
 #ccst-page .module-number { grid-column:1; }
 #ccst-page .module-name { grid-column:1/-1; grid-row:2; }
 #ccst-page .module > summary > .expand-label { grid-column:2; grid-row:1; }
 #ccst-page .module-name > strong:last-child { font-size:23px; }
 #ccst-page .disclosure > summary { padding:20px; gap:15px; }
 #ccst-page .disclosure-label > strong { font-size:20px; }
 #ccst-page .disclosure > summary > .expand-label { flex-direction:column-reverse; flex:0 0 55px; text-align:center; }
 #ccst-page .detail-body { padding:22px 20px; }
 #ccst-page .testimonial-scale { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
 #ccst-page .testimonial-scale a { grid-column:1/-1; margin:0; max-width:none; }
 #ccst-page .testimonial-scale strong { font-size:36px; }
 #ccst-page .quote, #ccst-page .rail-end, #ccst-page .video-testimonial { flex-basis:100%; }
 #ccst-page .currency-control { flex-direction:column; align-items:flex-start; gap:8px; }
 #ccst-page .currency-control select { width:100%; font-size:16px; }
 #ccst-page .price-card { padding:0; }
 #ccst-page .price-card .price { font-size:40px; }
 #ccst-page .guarantee-card { padding:24px; }
 #ccst-page .guarantee-card p { font-size:18px; }
 #ccst-page .signature > a { float:none; display:block; margin:0 0 20px; }
}
@media(max-width:360px) {
 #ccst-page .flagship h1 { font-size:37px; }
 #ccst-page .price-card { padding:0; }
 #ccst-page .rack, #ccst-page .single-payment, #ccst-page .group-pricing { padding-inline:18px; }
 #ccst-page .price-card .price { font-size:35px; }
 #ccst-page .price-card dd, #ccst-page .price-card dd [data-usd] { font-size:16px; }
 #ccst-page .book form { padding:18px; }
}
/* Full-width book headline, followed by an image/copy + form pairing. */
#ccst-page .book-heading { grid-column:1/-1; max-width:850px; margin-bottom:5px; font-size:clamp(31px,3.6vw,42px); }
#ccst-page .book-pitch > a { float:none; width:180px; margin:0 auto 28px; }
#ccst-page .book-pitch > a > img { width:180px; max-height:260px; }
/* Clamp at complete lines, never through the middle of letters. */
#ccst-page .quote.enhanced blockquote { max-height:none; overflow:visible; }
#ccst-page .quote.enhanced .quote-words { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:7; overflow:hidden; }


/* ========================================================================== 
   CCST V1.2 — visible identities, authentic photography and supplied SVG icons.
   Keep this section grouped for straightforward review and maintenance.
   ========================================================================== */
/* Modality icons are decorative; the adjacent headings provide the labels. */
#ccst-page .modality-description { position:relative; padding-left:62px; }
#ccst-page .modality-icon { position:absolute; left:0; top:2px; width:46px; height:46px; }
#ccst-page .edition .format { display:flex; align-items:center; gap:12px; }
#ccst-page .edition-icon { width:36px; height:36px; }

/* SQI's logo belongs to the always-visible summary, not the expandable body. */
#ccst-page summary .sqi-about-logo { display:block; width:320px; max-width:100%; height:auto; margin:0 0 18px; }

/* A single count, with no written/video breakdown. */
#ccst-page .testimonial-scale .combined-testimonial-count { font-size:20px; line-height:1.4; }
#ccst-page .combined-testimonial-count strong { display:inline-block; margin-right:12px; }

/* Preserve entire photographs: do not crop out people at the edges. */
#ccst-page .graduation-photo { margin:36px 0 0; }
#ccst-page .graduation-photo a,
#ccst-page .participant-photo-strip a { display:block; border:0; text-decoration:none; }
#ccst-page .graduation-photo img,
#ccst-page .participant-photo-strip img { display:block; width:100%; height:auto; border-radius:8px; }
#ccst-page .graduation-photo figcaption { padding-top:12px; color:#555; font-size:14px; }
#ccst-page .participant-photo-strip { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:20px; margin:0 0 38px; }

/* Larger portrait beside the personal signature. Links retain clear focus cues. */
#ccst-page .signature { display:grid; grid-template-columns:210px minmax(0,1fr); align-items:center; gap:30px; padding:34px 0; }
#ccst-page .signature > a.signature-photo { float:none; margin:0; display:block; }
#ccst-page .signature img { display:block; width:210px; height:auto; max-width:100%; border-radius:8px; }
#ccst-page .signature-copy p { margin:0 0 18px; }
#ccst-page .signature-copy p:last-child { margin:0; }
#ccst-page .signature a { text-decoration:none; border-bottom:0; }
#ccst-page .signature a:hover { color:#541b2c; }
#ccst-page .signature a:focus-visible { outline:2px solid var(--burgundy); outline-offset:5px; border-radius:2px; }
#ccst-page .signature-copy a strong { font-size:21px; }
#ccst-page .book-pitch > a { width:220px; }
#ccst-page .book-pitch > a > img { width:220px; height:auto; max-height:none; }

@media (max-width:700px) {
  #ccst-page .testimonial-scale { grid-template-columns:1fr; }
  #ccst-page .signature { grid-template-columns:160px minmax(0,1fr); gap:22px; }
  #ccst-page .signature img { width:160px; }
}
@media (max-width:520px) {
  #ccst-page .signature { grid-template-columns:1fr; gap:22px; }
  #ccst-page .signature img { width:190px; }
  #ccst-page .participant-photo-strip { grid-template-columns:1fr; gap:16px; }
  #ccst-page summary .sqi-about-logo { width:260px; }
  #ccst-page .combined-testimonial-count strong { display:block; margin:0 0 4px; }
}


/* CCST V1.3 — contact links and supplied current book product photograph. */
/* Scoped to the contact copy: outlined action buttons retain their borders. */
#ccst-page .contact-layout a,
#ccst-page .contact-layout a:hover,
#ccst-page .contact-layout a:focus { text-decoration:none; border-bottom:0; }
#ccst-page .contact-layout a:hover { color:#541b2c; }
#ccst-page .contact-layout a:focus-visible { outline:2px solid var(--burgundy); outline-offset:4px; }
/* The photograph already contains a white backdrop; avoid a second rectangular shadow. */
#ccst-page .book-pitch > a { width:260px; max-width:100%; }
#ccst-page .book-pitch > a > img { display:block; width:100%; height:auto; box-shadow:none; border-radius:5px; }
