/* Generated 390px mobile baseline; rebuild with build-mobile-rem.py. */
.community-page{--ink: #233e53; --muted: #778b99; --accent: #396d84; color: var(--ink);}
.community-page [hidden]{display: none !important;}
.community-page .subpage-hero--community{background: rgb(242, 240, 235); color: var(--ink);}
.community-page .subpage-hero-media::before{background: linear-gradient(90deg, rgba(246, 245, 241, 0.38), transparent 65%);}
.community-page .subpage-hero-label{color: rgb(107, 132, 145);}
.community-page .subpage-hero-lead{color: rgb(90, 115, 130);}
.community-page .breadcrumb, .community-page .breadcrumb a, .community-page .breadcrumb strong{color: rgb(97, 120, 135);}
.community-page .subpage-hero-media img{filter: none;}
.community-main{padding: 4.375rem 0 5rem;}
.community-eyebrow{font-size: max(10px,0.6875rem); font-weight: 650; letter-spacing: 0.14em; color: rgb(120, 146, 159); margin-bottom: 0.8125rem;}
.community-heading{font-size: 2.125rem; line-height: 1.4; letter-spacing: -0.045em; font-weight: 650; word-break: keep-all;}
.community-description{font-size: max(13px,1rem); line-height: 1.85; color: var(--muted); margin-top: 1rem; word-break: keep-all;}
.community-toolbar{display: flex; justify-content: space-between; align-items: flex-end; gap: 1.75rem; margin-bottom: 1.875rem;}
.community-count{font-size: max(10px,0.8125rem); color: rgb(125, 144, 158); margin-top: 0.875rem;}
.community-search{display: flex; width: 20.625rem; max-width: 100%; flex-shrink: 0; border: 1px solid rgb(212, 223, 229); background: rgb(247, 249, 250); border-radius: 0.5rem; padding: 0.3125rem 0.5rem 0.3125rem 1rem;}
.community-search input{font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; font-language-override: inherit; font-size: max(13px,0.875rem); color: var(--ink); width: 100%; min-width: 0; border: 0; background: transparent; outline: 0;}
.community-search:focus-within{outline: rgb(71, 127, 158) solid 0.125rem; outline-offset: 0.1875rem;}
.community-search button{border: 0; background: transparent; color: var(--ink); display: grid; place-items: center; width: 2.625rem; height: 2.625rem; flex-shrink: 0; cursor: pointer;}
.community-search svg{width: 1.375rem; height: 1.375rem; fill: none; stroke: currentcolor; stroke-width: 1.7;}
.community-page a:focus-visible, .community-page button:focus-visible{outline: rgb(57, 126, 171) solid 0.125rem; outline-offset: 0.3125rem;}
.community-btn{display: inline-flex; align-items: center; justify-content: center; gap: 1.5rem; min-height: 3.125rem; padding: 0.875rem 1.4375rem; font-size: max(13px,0.875rem); font-weight: 600; background: rgb(39, 75, 97); color: rgb(255, 255, 255); border: 1px solid rgb(39, 75, 97); border-radius: 0.4375rem; transition: background 0.2s, transform 0.2s;}
.community-btn--light{background: white; color: var(--ink); border-color: rgb(208, 221, 228);}
.community-btn svg{width: 1.1875rem; height: 1.1875rem; fill: none; stroke: currentcolor; stroke-width: 1.6;}
.community-actions{display: flex; gap: 0.625rem; flex-wrap: wrap; margin-top: 1.75rem; align-items: center;}
.community-grid{display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 2rem 1.375rem; scroll-margin-top: 6.875rem;}
.community-card{min-width: 0; display: block;}
.community-thumb{position: relative; overflow: hidden; border-radius: 0.625rem; background: rgb(239, 243, 245); aspect-ratio: 4 / 3; display: grid; place-items: center;}
.community-thumb img{position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s cubic-bezier(0.2, 0.7, 0.3, 1);}
.community-thumb-fallback{color: rgb(138, 156, 167); font-size: max(10px,0.8125rem);}
.community-card h3{font-size: max(13px,1rem); font-weight: 550; line-height: 1.65; letter-spacing: -0.025em; margin-top: 0.9375rem; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; min-height: 3.3em; word-break: keep-all; overflow-wrap: anywhere;}
.community-card time{display: block; color: rgb(137, 154, 166); font-size: max(10px,0.75rem); margin-top: 0.5rem;}
.community-card .card-kicker{display: block; font-size: 0.625rem; color: rgb(125, 147, 159); letter-spacing: 0.07em; margin-top: 0.9375rem;}
.community-card .card-kicker + h3{margin-top: 0.375rem;}
.community-grid--instagram .community-thumb{aspect-ratio: 1 / 1;}
.community-grid--youtube .community-thumb{aspect-ratio: 16 / 9;}
.community-play{position: absolute; inset: 0; background: rgba(0, 0, 0, 0.24); display: grid; place-items: center; transition: background 0.25s;}
.community-play svg{width: 3.3125rem; height: 3.3125rem; border-radius: 50%; background: rgba(255, 255, 255, 0.16); border: 1px solid rgba(255, 255, 255, 0.7); padding: 1.0625rem 0.9375rem 1.0625rem 1.1875rem; fill: white; transition: background 0.25s, transform 0.25s, border-color 0.25s;}
.community-social{display: flex; align-items: center; gap: 1.125rem; margin-bottom: 2.25rem; padding-bottom: 1.5625rem; border-bottom: 1px solid rgb(224, 232, 236);}
.community-social > svg{width: 3.25rem; height: 3.25rem; flex-shrink: 0; fill: none; stroke: currentcolor; stroke-width: 1.5; color: rgb(196, 86, 132);}
.community-social--youtube > svg{color: rgb(233, 71, 73); stroke: none; fill: currentcolor;}
.community-social strong{font-size: max(13px,1.125rem); display: block; font-weight: 650;}
.community-social p{font-size: max(10px,0.8125rem); color: rgb(125, 145, 158); margin-top: 0.4375rem;}
.community-social .community-btn{margin-left: auto;}
.community-pager{display: flex; align-items: center; justify-content: center; gap: 0.4375rem; margin-top: 2.5rem; flex-wrap: wrap; color: rgb(141, 160, 170);}
.community-pager a{min-width: 2.625rem; height: 2.625rem; padding: 0 0.75rem; border-radius: 0.4375rem; display: grid; place-items: center; color: rgb(99, 124, 141); font-size: max(13px,0.875rem);}
.community-pager a[aria-current="page"]{background: rgb(45, 92, 114); color: white;}
.community-empty{padding: 4.0625rem 0.9375rem; border-bottom: 1px solid rgb(220, 229, 233); text-align: center;}
.community-empty h3{font-size: 1.4375rem; margin-bottom: 0.9375rem;}
.community-empty p{color: var(--muted);}
.community-qna{border-top: 0.125rem solid rgb(41, 75, 94); scroll-margin-top: 6.875rem;}
.community-qna-row, .community-qna-head{display: grid; grid-template-columns: 3.125rem minmax(0, 1fr) 5rem 5.9375rem 5.625rem; gap: 1.125rem; align-items: center; padding: 1.5rem 1.125rem; border-bottom: 1px solid rgb(223, 231, 236);}
.community-qna-head{font-size: max(10px,0.75rem); color: rgb(135, 153, 166); padding-top: 1.0625rem; padding-bottom: 1.0625rem;}
.community-qna-row{transition: background 0.2s; font-size: max(10px,0.8125rem); color: rgb(126, 145, 158);}
.community-qna-title{font-size: max(13px,1rem); font-weight: 550; line-height: 1.7; color: var(--ink); overflow-wrap: anywhere; word-break: keep-all;}
.community-qna-title svg{display: inline-block; width: 0.8125rem; height: 0.875rem; fill: none; stroke: rgb(140, 159, 172); stroke-width: 1.5; margin-left: 0.5625rem; vertical-align: middle;}
.community-status{background: rgb(237, 244, 245); color: rgb(78, 122, 130); font-size: max(10px,0.75rem); border-radius: 0.3125rem; text-align: center; padding: 0.4375rem 0.25rem;}
.community-status--waiting{background: rgb(243, 243, 241); color: rgb(141, 139, 119);}
.community-qna-actions{display: flex; justify-content: flex-end; margin-top: 1.4375rem;}
.community-news-list{border-top: 0.125rem solid rgb(41, 75, 94); scroll-margin-top: 6.875rem;}
.community-news-row{display: grid; grid-template-columns: 9.375rem minmax(0, 1fr) 2.5rem; gap: 1.75rem; padding: 2.125rem 0.75rem; border-bottom: 1px solid rgb(220, 229, 233); align-items: start; transition: background 0.2s;}
.community-news-date{font-size: max(13px,0.875rem); color: rgb(124, 148, 161); padding-top: 0.3125rem;}
.community-news-row h3{font-size: 1.5rem; font-weight: 600; letter-spacing: -0.035em; line-height: 1.55; word-break: keep-all;}
.community-news-row p{font-size: max(13px,0.9375rem); line-height: 1.9; color: rgb(122, 141, 154); margin-top: 0.75rem; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;}
.community-news-arrow{font-size: 1.625rem; color: rgb(145, 165, 177);}
.community-intro-grid{display: grid; grid-template-columns: 1fr 1.05fr; gap: 4.0625rem; align-items: start;}
.community-intro-grid .community-heading{font-size: 2.5rem; line-height: 1.4;}
.community-intro-grid .community-description{max-width: 28.125rem;}
.community-guide-panel{background: rgb(241, 246, 248); border: 1px solid rgb(224, 233, 238); border-radius: 0.9375rem; padding: 2rem 2.1875rem;}
.community-guide-panel h3{font-size: max(13px,1.1875rem); font-weight: 650; line-height: 1.6; margin-bottom: 1.25rem;}
.community-guide-items{list-style: none; margin: 0; padding: 0;}
.community-guide-items li{display: flex; align-items: flex-start; gap: 1.125rem; padding: 1.25rem 0; border-top: 1px solid rgb(219, 229, 235);}
.community-guide-items li:last-child{padding-bottom: 0;}
.community-guide-items small{font-size: max(10px,0.75rem); color: rgb(138, 165, 180); padding-top: 0.3125rem;}
.community-guide-items strong{font-size: max(13px,1rem); line-height: 1.6; font-weight: 600;}
.community-guide-items p{font-size: max(13px,0.875rem); line-height: 1.8; margin-top: 0.3125rem; color: rgb(125, 144, 157);}
.community-section{margin-top: 4rem; padding-top: 2.5rem; border-top: 1px solid rgb(223, 231, 236);}
.community-section-head{display: flex; align-items: flex-end; justify-content: space-between; gap: 1.25rem; margin-bottom: 1.5rem;}
.community-section-head h2{font-size: 1.5625rem; font-weight: 650; letter-spacing: -0.04em;}
.community-section-head p{font-size: max(13px,0.875rem); color: var(--muted); line-height: 1.8;}
.community-courses{display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem;}
.community-course{padding: 1.6875rem 1.75rem; border: 1px solid rgb(217, 228, 234); border-radius: 0.625rem; position: relative; transition: background 0.2s, border-color 0.2s;}
.community-course small{font-size: 0.625rem; letter-spacing: 0.09em; color: rgb(130, 158, 172);}
.community-course h3{font-size: 1.375rem; font-weight: 600; margin: 0.875rem 0 0.625rem;}
.community-course p{font-size: max(13px,0.875rem); color: rgb(123, 143, 156); line-height: 1.85;}
.community-course span{display: block; font-size: max(10px,0.8125rem); margin-top: 1.6875rem; color: rgb(66, 111, 135);}
.community-course svg{position: absolute; right: 1.625rem; top: 1.625rem; width: 1.625rem; height: 1.625rem; fill: none; stroke: rgb(129, 156, 174); stroke-width: 1.35;}
.community-contact-strip{margin-top: 2.5rem; border-radius: 0.75rem; background: rgb(35, 62, 83); color: white; padding: 1.8125rem 2.1875rem; display: flex; align-items: center; gap: 1.375rem; justify-content: space-between;}
.community-contact-strip h3{font-size: max(13px,1.25rem); font-weight: 550;}
.community-contact-strip p{font-size: max(13px,0.875rem); color: rgb(178, 196, 207); margin-top: 0.625rem; line-height: 1.8;}
.community-contact-strip .community-actions{margin: 0; flex-shrink: 0;}
.community-contact-strip .community-btn{border-color: rgb(114, 136, 150); background: transparent; color: white;}
.community-page .notice-detail-inner{max-width: 65.625rem;}
.community-page .notice-content img{height: auto; max-width: 100%; display: block; margin: 1.25rem auto;}
.community-page .notice-content{overflow-wrap: anywhere;}
.community-page .notice-content:empty{display: none;}
.community-gallery-photos{display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.125rem; margin-top: 1.875rem;}
.community-gallery-photos img{display: block; width: 100%; height: auto; border-radius: 0.5rem;}
.community-gallery-photos figure{margin: 0;}
.community-gallery-photos figure:first-child{grid-column: 1 / -1;}
@media (hover: hover){.community-btn:hover{background: rgb(59, 99, 122); color: white; transform: translateY(-0.125rem);}
.community-course:hover{background: rgb(243, 247, 249); border-color: rgb(169, 192, 205);}
.community-card:hover .community-thumb img{transform: scale(1.045);}
.community-card:hover h3{color: rgb(68, 119, 140);}
.community-card:hover .community-play{background: transparent;}
.community-card:hover .community-play svg{background: rgb(232, 60, 64); border-color: rgb(232, 60, 64); transform: scale(1.07);}
.community-qna-row:hover, .community-news-row:hover{background: rgb(246, 249, 250);}
.community-pager a:hover{background: rgb(237, 243, 246);}}
.community-card:focus-visible .community-play{background: transparent;}
.community-card:focus-visible .community-play svg{background: rgb(232, 60, 64); border-color: rgb(232, 60, 64);}


.community-intro-grid{gap: 1.875rem;}
.community-intro-grid .community-heading{font-size: 2.125rem;}
.community-guide-panel{padding: 1.5625rem;}
.community-grid{gap: 1.75rem 1.0625rem;}
.community-contact-strip{align-items: flex-start; flex-direction: column;}
.community-toolbar{align-items: flex-start;}
.community-heading{font-size: 1.8125rem;}
.community-search{width: 17.5rem;}
.community-news-row{grid-template-columns: 6.25rem minmax(0, 1fr) 1.75rem;}
.community-main{padding: 2.6875rem 0 3.4375rem;}
.community-toolbar{flex-direction: column; gap: 1.375rem;}
.community-search{width: 100%;}
.community-grid{grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.6875rem 0.875rem;}
.community-intro-grid{grid-template-columns: 1fr; gap: 1.875rem;}
.community-intro-grid .community-heading{font-size: 1.875rem;}
.community-description{font-size: max(13px,0.9375rem);}
.community-courses{grid-template-columns: 1fr; gap: 0.75rem;}
.community-course{padding: 1.4375rem;}
.community-course span{margin-top: 1.0625rem;}
.community-section{margin-top: 2.5rem; padding-top: 1.875rem;}
.community-section-head{align-items: flex-start; flex-direction: column; gap: 0.625rem;}
.community-qna-row, .community-qna-head{grid-template-columns: minmax(0, 1fr) 4.6875rem; gap: 0.75rem; padding: 1.25rem 0.375rem;}
.community-qna-head{display: none;}
.community-qna-number{display: none;}
.community-qna-title{grid-column: 1 / -1; font-size: max(13px,0.9375rem);}
.community-qna-author{grid-column: 1; font-size: max(10px,0.75rem);}
.community-qna-row time{grid-area: 3 / 1; font-size: max(10px,0.75rem);}
.community-status{grid-area: 2 / 2 / 4;}
.community-news-row{grid-template-columns: minmax(0, 1fr) 1.5625rem; gap: 0.8125rem; padding: 1.6875rem 0;}
.community-news-date{grid-column: 1 / -1; font-size: max(10px,0.75rem);}
.community-news-row h3{font-size: max(13px,1.25rem);}
.community-news-row p{font-size: max(13px,0.875rem);}
.community-contact-strip{padding: 1.625rem;}
.community-contact-strip .community-actions{flex-wrap: wrap;}
.community-social{flex-wrap: wrap; gap: 0.875rem;}
.community-social .community-btn{margin-left: 0; min-height: 2.6875rem; padding: 0.625rem 1.0625rem;}
.community-social > svg{width: 2.5rem; height: 2.5rem;}
.community-social strong{font-size: max(13px,1rem);}
.community-social p{font-size: max(10px,0.75rem);}
.community-card h3{font-size: max(13px,0.875rem); margin-top: 0.6875rem;}
.community-heading{font-size: 1.6875rem;}
.community-gallery-photos{grid-template-columns: 1fr; gap: 0.875rem;}
.community-page .notice-detail-header h2{font-size: 1.5rem;}
.community-page .subpage-hero-media::before{background: linear-gradient(rgb(242, 240, 235) 0%, rgb(242, 240, 235) 34%, rgba(242, 240, 235, 0.25) 58%, transparent 80%);}
.community-page .subpage-hero-media img{mask-image: linear-gradient(transparent, rgb(0, 0, 0) 26%);}
.community-page .subpage-hero > .wrap{padding-bottom: 10.625rem;}
.community-btn{gap: 1rem;}
.community-play svg{width: 2.6875rem; height: 2.6875rem; padding: 0.8125rem 0.6875rem 0.8125rem 0.9375rem;}
.community-pager{gap: 0.1875rem;}
.community-pager a{min-width: 2.3125rem; padding: 0 0.5rem;}
.community-guide-panel{padding: 1.4375rem;}
.community-contact-strip .community-actions{gap: 0.5rem;}
@media (prefers-reduced-motion: reduce){.community-page *, .community-page ::before{scroll-behavior: auto !important; transition: none !important;}}
