.workshops-page { background: #fff; color: var(--navy); }
.workshops-page .site-header { background: rgba(255,255,255,.97); border-bottom: 1px solid var(--line); backdrop-filter: blur(14px); }
.workshop-hero { padding: 138px 0 76px; background: var(--navy); color: #fff; overflow: hidden; }
.workshop-hero-grid { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(340px,.72fr); align-items: center; gap: clamp(50px,7vw,110px); }
.workshop-breadcrumbs { margin-bottom: 34px; color: #bfc9d3; font-size: 13px; }
.workshop-breadcrumbs a { border-bottom: 1px solid var(--yellow); }
.workshop-hero h1 { max-width: 820px; margin-bottom: 28px; color: #fff; font-size: clamp(58px,6.6vw,98px); line-height: .91; overflow-wrap: normal; }
.workshop-hero h1 span { color: var(--yellow); }
.workshop-hero-copy > p:not(.eyebrow) { max-width: 690px; color: #d3dce4; font-size: clamp(18px,1.7vw,23px); line-height: 1.55; }
.workshop-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 24px; margin-top: 38px; }
.workshop-text-link { border-bottom: 2px solid var(--yellow); padding: 8px 0; color: #fff; font-weight: 800; }
.workshop-text-link span { margin-left: 12px; color: var(--yellow); }
.workshop-hero-facts { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 42px; padding: 0; list-style: none; }
.workshop-hero-facts li { border: 1px solid rgba(255,255,255,.25); padding: 9px 13px; color: #d3dce4; font-size: 12px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.workshop-hero-photo { position: relative; margin: 0 18px 18px 0; box-shadow: 18px 18px 0 var(--yellow); }
.workshop-hero-photo img { width: 100%; height: 600px; object-fit: cover; object-position: center 35%; filter: saturate(.82) contrast(1.03); }
.workshop-hero-photo figcaption { position: absolute; right: 0; bottom: 0; left: 0; padding: 16px 19px; background: rgba(7,27,49,.94); color: #fff; font-size: 13px; font-weight: 800; }
.workshop-intro { padding: 112px 0 122px; }
.workshop-heading { display: grid; grid-template-columns: minmax(0,1fr) minmax(280px,.55fr); align-items: end; gap: 70px; margin-bottom: 50px; }
.workshop-heading h2, .workshop-connect h2, .workshop-faq h2, .workshop-final h2 { margin: 0; font-size: clamp(46px,4.8vw,72px); line-height: .98; }
.workshop-heading h2 span, .workshop-connect h2 span, .workshop-faq h2 span { color: #d7b800; }
.workshop-heading > p { margin-bottom: 5px; color: #4b5e70; font-size: 18px; line-height: 1.65; }
.workshop-card-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
.workshop-card { display: flex; min-height: 590px; flex-direction: column; padding: 34px; border: 1px solid var(--line); }
.workshop-card-dark { background: var(--navy); color: #fff; }
.workshop-card-yellow { background: var(--yellow); color: var(--navy); }
.workshop-card-light { border-top: 8px solid var(--yellow); background: #f6f6f2; }
.workshop-card-number { margin-bottom: 44px; font-size: 12px; font-weight: 900; letter-spacing: .12em; }
.workshop-card-dark .workshop-card-number { color: var(--yellow); }
.workshop-card h3 { margin-bottom: 22px; color: inherit; font-size: clamp(29px,2.4vw,39px); line-height: 1.02; }
.workshop-card > p { color: inherit; opacity: .83; font-size: 16px; line-height: 1.6; }
.workshop-card dl { margin: 28px 0 32px; }
.workshop-card dl div { border-top: 1px solid currentColor; padding: 14px 0; }
.workshop-card dt { margin-bottom: 5px; font-size: 11px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.workshop-card dd { margin: 0; font-size: 15px; line-height: 1.45; }
.workshop-card > a { align-self: flex-start; margin-top: auto; border-bottom: 2px solid var(--yellow); padding-bottom: 4px; color: inherit; font-size: 14px; font-weight: 900; }
.workshop-card-yellow > a { border-color: var(--navy); }
.workshop-detail { padding: 112px 0; border-top: 1px solid var(--line); }
.workshop-detail-alt { background: #f4f4ef; }
.workshop-detail-grid { display: grid; grid-template-columns: 180px minmax(0,1fr); gap: clamp(40px,7vw,100px); }
.workshop-detail-index { border-top: 7px solid var(--yellow); padding-top: 18px; }
.workshop-detail-index span { display: block; font-family: var(--display-font,inherit); font-size: 70px; font-weight: 900; line-height: 1; }
.workshop-detail-index p { font-size: 12px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.workshop-detail-main h2 { margin-bottom: 24px; font-size: clamp(46px,5vw,76px); line-height: .96; }
.workshop-detail-main h2 span { color: #d7b800; }
.workshop-detail-lead { max-width: 820px; color: #45576a; font-size: 21px; line-height: 1.6; }
.workshop-detail-columns { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 56px; margin: 48px 0 38px; }
.workshop-detail-columns h3 { margin-bottom: 17px; font-size: 25px; }
.workshop-detail-columns ul { padding-left: 21px; }
.workshop-detail-columns li { margin-bottom: 11px; color: #405264; }
.workshop-detail-columns p { color: #405264; line-height: 1.7; }
.workshop-format { display: flex; flex-direction: column; margin-top: 28px; border-left: 6px solid var(--yellow); padding: 17px 20px; background: #fff; }
.workshop-format strong { font-size: 20px; }
.workshop-format span { margin-top: 4px; color: #546678; font-size: 14px; }
.workshop-process { padding: 106px 0 116px; background: var(--navy); color: #fff; }
.workshop-heading-light h2 { color: #fff; }
.workshop-heading-light h2 span { color: var(--yellow); }
.workshop-heading-light > p { color: #d0dae4; }
.workshop-process-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 2px; padding: 0; list-style: none; }
.workshop-process-grid li { min-height: 310px; padding: 32px; background: rgba(255,255,255,.07); }
.workshop-process-grid span { color: var(--yellow); font-size: 13px; font-weight: 900; letter-spacing: .12em; }
.workshop-process-grid h3 { margin: 54px 0 15px; color: #fff; font-size: 31px; }
.workshop-process-grid p { color: #d0dae4; line-height: 1.65; }
.workshop-connect { padding: 108px 0; }
.workshop-connect-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(360px,.8fr); gap: 90px; align-items: center; }
.workshop-connect-grid > div:first-child > p:not(.eyebrow) { max-width: 660px; color: #45576a; font-size: 18px; line-height: 1.7; }
.workshop-connect-links { display: grid; gap: 14px; }
.workshop-connect-links a { display: grid; grid-template-columns: 42px 1fr; padding: 24px; border: 1px solid var(--line); background: #f6f6f2; transition: transform .2s ease, box-shadow .2s ease; }
.workshop-connect-links a:hover { transform: translateY(-4px); box-shadow: 0 15px 30px rgba(7,27,49,.1); }
.workshop-connect-links span { grid-row: 1 / 3; color: #8a7500; font-size: 12px; font-weight: 900; }
.workshop-connect-links strong { font-size: 22px; }
.workshop-connect-links small { margin-top: 4px; color: #536577; font-size: 14px; }
.workshop-faq { padding: 108px 0; background: #f4f4ef; }
.workshop-faq-grid { display: grid; grid-template-columns: minmax(260px,.6fr) minmax(0,1fr); gap: 90px; }
.workshop-faq-list details { border-top: 1px solid #bec7cf; }
.workshop-faq-list details:last-child { border-bottom: 1px solid #bec7cf; }
.workshop-faq-list summary { position: relative; cursor: pointer; padding: 24px 52px 24px 0; font-size: 20px; font-weight: 800; list-style: none; }
.workshop-faq-list summary::-webkit-details-marker { display: none; }
.workshop-faq-list summary::after { content: "+"; position: absolute; right: 5px; top: 19px; color: #b99d00; font-size: 30px; }
.workshop-faq-list details[open] summary::after { content: "−"; }
.workshop-faq-list p { padding: 0 40px 24px 0; color: #45576a; line-height: 1.7; }
.workshop-final { padding: 92px 0 100px; background: var(--yellow); }
.workshop-final-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(340px,.72fr); gap: 80px; align-items: center; }
.workshop-final h2 span { color: var(--navy); }
.workshop-final-grid > div:last-child > p:first-child { font-size: 18px; line-height: 1.65; }
.button-dark { margin-top: 18px; background: var(--navy); color: #fff; box-shadow: 7px 7px 0 #fff; }
.workshop-final-note { margin-top: 22px; font-size: 13px; line-height: 1.5; }
@media (max-width: 1100px) { .workshop-card-grid { grid-template-columns: 1fr; } .workshop-card { min-height: 0; } .workshop-card dl { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; } .workshop-card dl div { border-top: 0; border-left: 3px solid currentColor; padding: 0 0 0 14px; } }
@media (max-width: 900px) { .workshop-hero-grid, .workshop-heading, .workshop-connect-grid, .workshop-faq-grid, .workshop-final-grid { grid-template-columns: 1fr; } .workshop-hero-photo { width: min(100% - 18px,620px); } .workshop-detail-grid { grid-template-columns: 1fr; } .workshop-detail-index { display: flex; align-items: center; gap: 18px; } .workshop-detail-index span { font-size: 54px; } .workshop-detail-index p { margin: 0; } }
@media (max-width: 680px) { .workshop-hero { padding: 122px 0 70px; } .workshop-hero h1 { font-size: clamp(48px,14vw,72px); } .workshop-hero-photo img { height: 460px; } .workshop-intro, .workshop-detail, .workshop-process, .workshop-connect, .workshop-faq { padding: 78px 0; } .workshop-card { padding: 28px; } .workshop-card dl { display: block; } .workshop-card dl div { margin-bottom: 15px; border-left: 0; border-top: 1px solid currentColor; padding: 13px 0 0; } .workshop-detail-columns, .workshop-process-grid { grid-template-columns: 1fr; gap: 24px; } .workshop-actions { align-items: flex-start; flex-direction: column; } .workshop-final { padding: 72px 0 80px; } }

.course-overview-hero { padding: 150px 0 90px; background: var(--navy); color: #fff; }
.course-overview-hero-grid { display: grid; grid-template-columns: minmax(0,1.12fr) minmax(330px,.65fr); gap: clamp(50px,7vw,100px); align-items: center; }
.course-overview-hero h1, .course-coming h1 { max-width: 850px; margin-bottom: 28px; color: #fff; font-size: clamp(58px,6.4vw,96px); line-height: .92; overflow-wrap: normal; }
.course-overview-hero h1 span, .course-coming h1 span { color: var(--yellow); }
.course-overview-hero-grid > div > p:last-child, .course-coming-grid > div > p { max-width: 720px; color: #d3dce4; font-size: clamp(18px,1.7vw,23px); line-height: 1.6; }
.course-overview-list { padding: 112px 0 122px; }
.course-category-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
.course-category-card { display: flex; min-height: 420px; flex-direction: column; padding: 36px; border: 1px solid var(--line); border-top: 8px solid var(--yellow); background: #f4f4ef; transition: transform .2s ease, box-shadow .2s ease; }
.course-category-card:hover { transform: translateY(-6px); box-shadow: 0 18px 38px rgba(7,27,49,.12); }
.course-category-card.is-live { background: var(--navy); color: #fff; }
.course-category-card-sport { background: var(--yellow); }
.course-category-card > span { margin-bottom: 54px; color: #8b7600; font-size: 12px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.course-category-card.is-live > span { color: var(--yellow); }
.course-category-card h3 { margin-bottom: 23px; color: inherit; font-size: clamp(34px,3vw,48px); }
.course-category-card p { color: inherit; opacity: .82; line-height: 1.65; }
.course-category-card strong { margin-top: auto; padding-top: 32px; font-size: 14px; }
.course-coming { min-height: 760px; padding: 168px 0 110px; background: var(--navy); color: #fff; }
.course-coming-sport { background: #0a0a0a; }
.course-coming-grid { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(330px,.62fr); gap: clamp(50px,8vw,120px); align-items: center; }
.course-coming-badge { display: inline-block; margin-bottom: 24px; padding: 9px 13px; background: var(--yellow); color: var(--navy); font-size: 12px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.course-coming-note { padding: 36px; border-top: 8px solid var(--yellow); background: #fff; color: var(--navy); }
.course-coming-note > span { color: #8b7600; font-size: 12px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.course-coming-note h2 { margin: 26px 0 24px; font-size: 42px; }
.course-coming-note ul { padding-left: 20px; color: #405264; }
.course-coming-note li { margin-bottom: 13px; line-height: 1.5; }
.course-coming-note p { margin: 28px 0 0; border-top: 1px solid var(--line); padding-top: 20px; font-weight: 800; }
@media (max-width: 1000px) { .course-category-grid { grid-template-columns: 1fr; } .course-category-card { min-height: 330px; } }
@media (max-width: 900px) { .course-overview-hero-grid, .course-coming-grid { grid-template-columns: 1fr; } .course-overview-hero .workshop-hero-photo { width: min(100% - 18px,620px); } }
@media (max-width: 680px) { .course-overview-hero, .course-coming { padding: 126px 0 78px; } .course-overview-hero h1, .course-coming h1 { font-size: clamp(48px,14vw,70px); } .course-overview-list { padding: 78px 0; } .course-category-card, .course-coming-note { padding: 28px; } }
