/* Separate, tactile cards instead of continuous table borders. */
.library-catalog { margin-top:40px; border:1px solid #c4a96b66; border-radius:20px; background:radial-gradient(ellipse at top left,#204d46,#07292b 65%); color:#f8f1df; overflow:hidden; }
.library-catalog__head,.library-catalog__contents { padding:36px; }
.library-catalog__head { border-bottom:1px solid #e6c57d33; }
.library-catalog .library-catalog__head h2 { font-size:clamp(30px,3.6vw,52px); margin-bottom:22px; }
.library-catalog .library-catalog__head h2 em { color:#edcf89; }
.library-catalog__lead { font-family:var(--serif); font-size:20px; max-width:720px; line-height:1.6; }
.library-catalog p { line-height:1.8; }
.library-catalog__contents>p,.library-catalog article p,.library-growing p,.library-free>p,.library-about p,.library-prices p { font-size:13px; color:#c5d4ca; }
.library-catalog h3 { font-family:var(--serif); font-size:clamp(23px,2.5vw,32px); font-weight:400; line-height:1.4; margin:0 0 14px; }
.library-catalog h4 { font-family:var(--serif); font-size:19px; line-height:1.5; font-weight:400; margin:14px 0; }
.library-about { max-width:800px; }
.library-about summary { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:15px 0; color:#edcf89; font-size:12px; cursor:pointer; list-style:none; border-top:1px solid #e6c57d33; }
.library-about summary span { font-size:22px; }
.library-about[open] summary span { transform:rotate(45deg); }
.library-lessons { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin-top:24px; }
.library-lesson { padding:24px; border:1px solid #e6c57d33; border-radius:12px; background:#e6c57d06; }
.library-lesson>span,.library-free article>span { text-transform:uppercase; color:#e8ca87; letter-spacing:.13em; font-size:9px; }
.library-lesson p { margin-bottom:0; }
.library-more { margin-top:22px; }
.library-more>summary { display:flex; gap:16px; justify-content:center; align-items:center; flex-wrap:wrap; width:fit-content; margin:auto; border:1px solid #edcf89; border-radius:30px; padding:14px 24px; background:linear-gradient(110deg,#f7dfa3,#d5ae5b); color:#173330; cursor:pointer; list-style:none; font-size:12px; }
.library-more summary::-webkit-details-marker,.library-about summary::-webkit-details-marker { display:none; }
.library-more>summary small { font-size:10px; opacity:.75; }
.library-more__opened,.library-more[open] .library-more__closed { display:none; }
.library-more[open] .library-more__opened { display:inline; }
.library-growing { margin:36px 0; padding-left:24px; border-left:1px solid #edcf89; max-width:800px; }
.library-free { margin-top:40px; padding-top:32px; border-top:1px solid #e6c57d33; }
.library-free__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin:24px 0 40px; }
.library-free article { display:flex; flex-direction:column; padding:24px; border-radius:12px; background:#fff7df0a; border:1px solid #e6c57d55; }
.library-free article a { margin-top:auto; padding:12px 16px; border:1px solid #edcf8988; border-radius:25px; color:#edcf89; font-size:12px; text-align:center; }
.library-catalog .library-prices { margin-top:22px; }
.library-catalog .library-prices>div { display:flex; flex-direction:column; }
.library-catalog .library-prices .button { margin-top:auto; min-width:0; gap:10px; }
.library-duration { font-size:12px; color:#edcf89; margin-bottom:16px; }
.library-catalog .library-disclaimer { font-size:10px; color:#b2c4ba; margin:28px 0 0; max-width:850px; }
@media(max-width:1000px) { .library-lessons,.library-free__grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:680px) {
  .library-catalog__head,.library-catalog__contents { padding:24px 20px; }
  .library-lessons,.library-free__grid { grid-template-columns:1fr; }
  .library-lesson,.library-free article { padding:20px; }
  .library-catalog__lead { font-size:18px; }
  .library-catalog .library-prices .button { font-size:9px; padding:14px; letter-spacing:.06em; }
}
.author-story h3 { font-family:var(--serif); font-size:23px; font-weight:400; line-height:1.4; color:var(--gold-deep); margin:30px 0 16px; }
.author-story .author-story__signature { margin-top:26px; padding-top:20px; border-top:1px solid var(--line); }
.author:has(.author-story[open]) { align-items:start; }
.study .curriculum,.study .additional-tariffs { display:grid; gap:14px; }
.study .curriculum>.content-detail,.study .additional-tariffs>.content-detail { border:1px solid #d6b76d66; border-radius:14px; overflow:hidden; background:linear-gradient(115deg,#16413e,#0b282a); box-shadow:0 8px 24px #00000012; transition:border-color .2s,box-shadow .2s; }
.study .curriculum>.content-detail:hover,.study .additional-tariffs>.content-detail:hover { border-color:#e7c783; box-shadow:0 8px 28px #00000025; }
.study .study-disclosure { padding:24px 28px; gap:24px; }
.study .study-disclosure>span,.study .content-detail[open] .study-disclosure>span { transform:none; }
.study-disclosure__title { display:flex; flex-direction:column; gap:7px; min-width:0; }
.study .study-disclosure__title { flex-shrink:1; }
.study-disclosure__title strong { font-family:var(--serif); font-size:24px; line-height:1.3; font-weight:400; color:#fff5df; }
.study-disclosure__title small { font-size:12px; color:#c4d0c7; }
.study .study-disclosure__action { display:flex; align-items:center; justify-content:space-between; gap:20px; min-width:144px; border:1px solid #eed29a; border-radius:30px; padding:10px 16px; background:linear-gradient(110deg,#f7dfa3,#d5ae5b); color:#173330; font-size:11px; box-shadow:0 3px 16px #e6c37815; }
.study-disclosure__action b { font-size:24px; line-height:1; font-weight:400; transition:transform .2s; }
.study-disclosure__opened,.content-detail[open] .study-disclosure__closed { display:none; }
.content-detail[open] .study-disclosure__opened { display:inline; }
.content-detail[open] .study-disclosure__action b { transform:rotate(45deg); }
.study .curriculum>.content-detail>div,.study .additional-tariffs>.content-detail>div { max-width:none; margin:0 28px; padding:22px 0 26px; border-top:1px solid #e6c57d33; }
.study .content-detail:has(>.study-disclosure):focus-within { border-color:#f4d58d; }
.study-disclosure:focus-visible { outline-offset:-5px; border-radius:14px; }
@media(max-width:680px) {
  .study .study-disclosure { padding:20px; gap:18px; flex-wrap:wrap; }
  .study-disclosure__title { flex-basis:100%; }
  .study-disclosure__title strong { font-size:21px; }
  .study .study-disclosure__action { min-width:145px; }
  .study .curriculum>.content-detail>div,.study .additional-tariffs>.content-detail>div { margin:0 20px; }
}
.faq-preview { display:flex; align-items:center; justify-content:space-between; gap:30px; background:#eee9de; }
.faq-preview h2 { font-size:clamp(30px,3.3vw,46px); margin:0 0 16px; }
.faq-preview h2 em { color:var(--gold-deep); }
.faq-preview p:last-child { margin:0; font-size:13px; color:#68736b; }
.faq-preview .button { flex-shrink:0; border-color:#ac8a46; color:var(--gold-deep); }
.faq-breadcrumb { display:flex; flex-wrap:wrap; gap:24px; padding:28px 7vw 0; font-size:11px; color:#68736b; }
.faq-breadcrumb a { color:var(--gold-deep); }
.faq-page .faq { background:transparent; padding-top:50px; min-height:65vh; }
.faq-page h1 { font-size:clamp(42px,5vw,78px); margin:0; }
.faq-page h1 em { color:var(--gold-deep); }
@media(max-width:680px) {
  .faq-preview { align-items:flex-start; flex-direction:column; }
  .faq-breadcrumb { padding:24px 20px 0; }
  .faq-page .faq { padding-top:35px; }
}
.questions__head { display:block; max-width:760px; }
.questions__head .eyebrow { margin-bottom:22px; }
.questions__head h2 { font-size:clamp(32px,3.3vw,48px); line-height:1.15; }
.questions__head>p:last-child { max-width:520px; font-size:13px; padding:0; margin:20px 0 0; }
.question-grid { gap:16px; border:0; margin-top:32px; align-items:start; }
.question-card { min-height:0; border:1px solid #b8aa863b; border-radius:14px; background:linear-gradient(125deg,#fffdf7,#f0ebdf); box-shadow:0 5px 20px #163d2c05; overflow:hidden; transition:background .2s,border-color .2s,box-shadow .2s; }
.question-card:hover { border-color:#ab8a49; box-shadow:0 8px 24px #163d2c0c; }
.question-card summary,.question-card[open] summary { min-height:142px; padding:22px 24px; gap:12px; }
.question-card summary span { font-size:9px; letter-spacing:.16em; }
.question-card h3 { font-size:20px; line-height:1.3; margin:0 34px 0 0; }
.question-card summary i { width:28px; height:28px; border:1px solid #ae945955; border-radius:50%; background:transparent; right:18px; bottom:23px; }
.question-card summary i::before,.question-card summary i::after { content:""; position:absolute; width:10px; height:1px; background:#a38340; left:8px; top:13px; right:auto; bottom:auto; }
.question-card summary i::after { transform:rotate(90deg); }
.question-card[open] { border-color:#a48b54; background:linear-gradient(135deg,#123f3e,#062728); }
.question-card[open] summary span { color:#e9ca88; }
.question-card>p { padding:0 24px 24px; font-size:13px; line-height:1.8; color:#e0e9e1; }
.questions__conclusion { font-size:clamp(22px,2.2vw,30px); max-width:780px; margin-top:36px; }
.original-reviews { background:linear-gradient(145deg,#f0eadd,#e7e6db); }
.original-reviews h2 { font-size:clamp(34px,4vw,56px); }
.review-slider { padding:5px 2px 22px; scrollbar-width:thin; scrollbar-color:#bca36a #bca36a18; }
.review-slider article { padding:0; border-radius:16px; overflow:hidden; border:1px solid #ab945b30; box-shadow:0 8px 24px #163d2c08; }
.review-video { position:relative; aspect-ratio:16/10; background:#062728; flex-shrink:0; }
.review-play { position:relative; display:block; width:100%; height:100%; border:0; padding:0; cursor:pointer; background:#062728; color:white; }
.review-play img { width:100%; height:100%; display:block; object-fit:cover; }
.review-play::after { content:""; position:absolute; inset:0; background:linear-gradient(transparent 40%,#001e20c9); }
.play-icon { position:absolute; z-index:1; left:50%; top:50%; transform:translate(-50%,-50%); width:58px; height:58px; display:grid; place-items:center; padding-left:3px; border-radius:50%; background:#f0d18deb; color:#173737; box-shadow:0 0 0 7px #f4d58d24; transition:box-shadow .2s; }
.review-play:hover .play-icon { box-shadow:0 0 0 12px #f4d58d30; }
.play-caption { position:absolute; z-index:1; left:20px; bottom:16px; font-size:11px; letter-spacing:.04em; }
.review-video iframe { position:absolute; inset:0; width:100%; height:100%; border:0; }
.review-copy { padding:24px; display:flex; flex-direction:column; flex:1; }
.review-copy h3 { margin:0; }
.review-copy p { line-height:1.8; }
.review-slider .review-copy a { padding-top:12px; }
.mini-grid article { border-radius:16px; background:linear-gradient(135deg,#fffdf744,#d9ccaa18); }
.library-card { margin-top:30px; border:1px solid #c4a96b66; border-radius:18px; background:radial-gradient(ellipse at 0% 0%,#275854,#0a3031 65%); color:#f8f3e5; box-shadow:0 15px 40px #10362a12; overflow:hidden; }
.library-card summary { padding:30px 34px; gap:28px; }
.library-card summary>span,.library-card[open] summary>span { transform:none; }
.library-card .library-icon { display:grid; place-items:center; width:76px; height:76px; font-family:var(--serif); font-size:64px; font-weight:400; color:#e9cb86; }
.library-card .library-intro { display:flex; flex-direction:column; gap:10px; flex:1; min-width:0; }
.library-intro small { text-transform:uppercase; letter-spacing:.14em; font-size:9px; color:#e7c987; }
.library-intro strong { font-family:var(--serif); font-weight:400; font-size:34px; color:#fff8e8; line-height:1.15; }
.library-intro>span { color:#becfca; font-size:12px; max-width:440px; }
.library-card .library-action { display:flex; gap:18px; align-items:center; border:1px solid #e6c57d66; padding:14px 18px; border-radius:30px; color:#f0d18d; font-size:11px; }
.library-action b { font-size:20px; font-weight:400; }
.library-card .library-open,.library-card[open] .library-closed { display:none; }
.library-card[open] .library-open { display:inline; }
.library-card[open] .library-action b { transform:rotate(-90deg); }
.library-card>div { margin:0 34px; padding:24px 0 32px; border-top:1px solid #e6c57d33; }
.library-card>div p,.library-card>div li { color:#d3dfd8; }
.library-card .inline-link { color:#f0d18d; }
.library-prices>div { border:1px solid #e6c57d33; border-radius:12px; padding:22px; }
.library-prices h3 { font-family:var(--serif); font-weight:400; font-size:26px; }
@media(max-width:1000px) {
  .question-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .library-card summary { flex-wrap:wrap; }
  .library-card .library-action { margin-left:104px; }
}
@media(max-width:680px) {
  .question-grid { grid-template-columns:1fr; gap:12px; }
  .question-card summary,.question-card[open] summary { min-height:116px; padding:18px 22px; gap:8px; }
  .question-card h3 { font-size:20px; }
  .library-card summary { padding:24px; gap:16px; }
  .library-card .library-icon { width:42px; height:52px; font-size:46px; }
  .library-intro strong { font-size:28px; }
  .library-card .library-action { margin:4px 0 0; justify-content:space-between; flex-basis:100%; }
  .library-card>div { margin:0 24px; }
  .library-prices>div { padding:18px; }
  .review-copy { padding:22px; }
}
.reviews-page .original-reviews h1 { font-size:clamp(38px,5vw,70px); margin-bottom:25px; }
.reviews-page .original-reviews h1 em { color:var(--gold-deep); }
.review-gallery { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); overflow:visible; margin:35px 0; }
.review-gallery article { min-width:0; }
@media(max-width:1000px) { .review-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:680px) { .review-gallery { grid-template-columns:1fr; } }
