@charset "utf-8";
/* =================================================================
   커뮤니티형_1 (동호회·단체) — 애드플랜 테마
   모든 선택자는 .mo- 로 시작한다. 게시판 스킨과 겹치지 않는다.
   ================================================================= */

:root{
  --mo-orange:#f3902b;
  --mo-orange-d:#e07c14;
  --mo-cream:#fdf3e6;
  --mo-cream-2:#fff8ef;
  --mo-yellow:#ffd85e;
  --mo-blue:#5b9bf5;
  --mo-mint:#4fc3a1;
  --mo-ink:#20242b;
  --mo-body:#6a7080;
  --mo-line:#eceef2;
  --mo-bg:#f7f8fa;
  --mo-wrap:1240px;
  --mo-gutter:24px;
  --mo-r:20px;
}

.mo-wrap{ max-width:var(--mo-wrap); margin:0 auto; padding:0 var(--mo-gutter); }

body{
  font-family:'Noto Sans KR','맑은 고딕',Malgun Gothic,sans-serif;
  color:var(--mo-body); background:#fff; letter-spacing:-.015em;
  padding-top:var(--mo-fixedh,140px);
}
.mo-skip{ position:absolute; left:-9999px; }
.mo-skip:focus{ left:10px; top:10px; z-index:999; background:#fff; padding:10px 16px; }

img{ max-width:100%; }
.mo-empty{ padding:36px 0; text-align:center; color:#9aa0ad; font-size:14px; }
.mo-empty a{ color:var(--mo-orange); text-decoration:underline; }
.mo-ico{ width:30px; height:30px; }

.mo-btn{
  display:inline-block; padding:12px 26px; border-radius:999px;
  background:var(--mo-orange); color:#fff; font-size:14px; font-weight:700;
  transition:background .18s ease;
}
.mo-btn:hover{ background:var(--mo-orange-d); color:#fff; }

/* --------------------------------------------------------------- 고정 상단 */
.mo-fixed{ position:fixed; top:0; left:0; right:0; z-index:100; background:#fff; }

.mo-demo{
  background:#20242b; color:rgba(255,255,255,.72); text-align:center;
  padding:9px var(--mo-gutter); display:flex; justify-content:center; gap:8px 26px; flex-wrap:wrap;
  font-size:11.5px;
}
.mo-demo b{ color:#fff; }
.mo-demo a{ color:#fff; border-bottom:1px solid rgba(255,255,255,.5); padding-bottom:2px; }

/* 공지 티커 */
.mo-tick{ background:var(--mo-cream); }
.mo-tick a{
  max-width:var(--mo-wrap); margin:0 auto; padding:8px var(--mo-gutter);
  display:flex; align-items:center; gap:10px; font-size:12.5px; color:#8a6b45;
}
.mo-tick em{
  font-style:normal; flex:none; background:var(--mo-orange); color:#fff;
  border-radius:999px; padding:3px 10px; font-size:11px; font-weight:700;
}
.mo-tick span{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.mo-tick a:hover span{ color:var(--mo-orange-d); text-decoration:underline; }

/* 유틸 바 */
.mo-util{ border-bottom:1px solid var(--mo-line); }
.mo-util__in{
  max-width:var(--mo-wrap); margin:0 auto; padding:0 var(--mo-gutter); height:34px;
  display:flex; align-items:center; justify-content:flex-end;
}
.mo-util__in ul{ display:flex; align-items:center; font-size:12px; }
.mo-util__in li{ position:relative; padding:0 12px; }
.mo-util__in li:last-child{ padding-right:0; }
.mo-util__in li + li::before{
  content:''; position:absolute; left:0; top:50%; width:1px; height:9px; margin-top:-4px;
  background:var(--mo-line);
}
.mo-util__in a{ color:#98a0af; }
.mo-util__in a:hover{ color:var(--mo-ink); }

/* 헤더 */
.mo-header__in{
  max-width:var(--mo-wrap); margin:0 auto; padding:0 var(--mo-gutter); height:74px;
  display:flex; align-items:center; gap:20px;
}
.mo-logo{ display:flex; align-items:center; gap:10px; flex:none; }
.mo-logo__mark{
  width:30px; height:30px; flex:none; border-radius:50%;
  background:
    radial-gradient(circle at 32% 34%, #fff 0 4px, transparent 4px),
    radial-gradient(circle at 68% 34%, #fff 0 4px, transparent 4px),
    linear-gradient(135deg, var(--mo-orange), var(--mo-yellow));
}
.mo-logo__txt strong{ display:block; font-size:17px; font-weight:800; color:var(--mo-ink); }
.mo-logo__txt small{ display:block; font-size:9.5px; letter-spacing:.14em; color:#a9b0bd; }

.mo-gnb{ margin-left:18px; }
.mo-gnb__ul{ display:flex; }
.mo-gnb__li{ position:relative; }
.mo-gnb__li > a{
  display:flex; align-items:center; gap:6px; padding:0 20px; line-height:74px;
  font-size:15.5px; font-weight:700; color:var(--mo-ink);
}
.mo-gnb__li > a i{
  width:6px; height:6px; border-right:1.6px solid #b4bac6; border-bottom:1.6px solid #b4bac6;
  transform:rotate(45deg) translateY(-2px);
}
.mo-gnb__li:hover > a,
.mo-gnb__li.is-on > a{ color:var(--mo-orange); }
.mo-gnb__sub{
  position:absolute; left:50%; top:100%; transform:translateX(-50%);
  min-width:158px; background:#fff; border-radius:14px; padding:9px 0;
  box-shadow:0 14px 30px rgba(30,36,50,.12); opacity:0; visibility:hidden;
  transition:opacity .16s ease;
}
.mo-gnb__li:hover .mo-gnb__sub,
.mo-gnb__li:focus-within .mo-gnb__sub{ opacity:1; visibility:visible; }
.mo-gnb__sub a{ display:block; padding:9px 20px; font-size:14px; color:#5d6472; text-align:center; }
.mo-gnb__sub a:hover{ color:var(--mo-orange); background:var(--mo-cream-2); }
.mo-gnb__empty{ font-size:13px; color:#9aa0ad; }
.mo-gnb__empty a{ color:var(--mo-orange); text-decoration:underline; }

.mo-qnav{ display:flex; gap:6px; margin-left:auto; }
.mo-qnav a{
  display:block; padding:7px 14px; border-radius:999px; font-size:12.5px; font-weight:600;
  color:#7b8493; background:var(--mo-bg);
}
.mo-qnav a:hover{ background:var(--mo-cream); color:var(--mo-orange-d); }

.mo-burger{
  display:none; margin-left:auto; width:40px; height:40px; background:none; border:0;
  flex-direction:column; justify-content:center; gap:5px; cursor:pointer;
}
.mo-burger span{ display:block; height:2px; background:var(--mo-ink); border-radius:2px; }

/* 모바일 드로어 */
.mo-drawer{ position:fixed; inset:0; z-index:200; }
.mo-drawer__bg{ position:absolute; inset:0; background:rgba(20,24,32,.45); }
.mo-drawer__panel{
  position:absolute; right:0; top:0; bottom:0; width:min(320px,86vw);
  background:#fff; padding:64px 24px 30px; overflow-y:auto;
}
.mo-drawer__close{ position:absolute; right:18px; top:18px; background:none; border:0; font-size:19px; cursor:pointer; }
.mo-drawer__panel > ul > li > a{
  display:block; padding:14px 0; font-size:16px; font-weight:700; color:var(--mo-ink);
  border-bottom:1px solid var(--mo-line);
}
.mo-drawer__panel ul ul{ padding:8px 0 12px 12px; }
.mo-drawer__panel ul ul a{ display:block; padding:7px 0; font-size:14px; color:var(--mo-body); }

/* --------------------------------------------------------------- 히어로 */
.mo-hero{ padding:26px 0 8px; }
.mo-hero__in{ display:grid; grid-template-columns:1.62fr 1fr; gap:20px; align-items:start; }

.mo-slider{ position:relative; border-radius:var(--mo-r); overflow:hidden; }
.mo-slider__track{ display:flex; will-change:transform; }
.mo-slide{
  flex:0 0 100%; position:relative; min-height:330px; padding:44px 46px;
  background-size:cover; background-position:center; overflow:hidden;
}
.mo-slide.is-a{ background-color:#eaf4ff; background-image:linear-gradient(120deg,#e8f3ff,#d7ecff); }
.mo-slide.is-b{ background-color:#e9f8f0; background-image:linear-gradient(120deg,#e6f8ef,#d3f0e2); }
.mo-slide.is-c{ background-color:#fff2e2; background-image:linear-gradient(120deg,#fff1de,#ffe3c4); }
.mo-slide.has-img{ background-position:right center; }
.mo-slide.has-img::before{
  content:''; position:absolute; inset:0; z-index:1;
  background:linear-gradient(90deg, rgba(255,255,255,.94) 0%, rgba(255,255,255,.8) 34%, rgba(255,255,255,0) 68%);
}
.mo-slide.has-img .mo-slide__deco{ display:none; }
.mo-slide__txt{ position:relative; z-index:2; max-width:60%; }
.mo-slide__txt h1, .mo-slide__txt h2{ font-size:clamp(21px,2.2vw,29px); font-weight:800; color:var(--mo-ink); line-height:1.35; }
.mo-slide__txt p{ margin-top:12px; font-size:14px; line-height:1.75; color:#5f6875; }
.mo-slide__txt .mo-btn{ margin-top:24px; }
.mo-slide__deco{
  position:absolute; right:-40px; bottom:-60px; width:290px; height:290px; border-radius:50%;
  background:rgba(255,255,255,.55);
}
.mo-slide__deco::after{
  content:''; position:absolute; left:52px; top:38px; width:150px; height:150px; border-radius:50%;
  background:rgba(243,144,43,.22);
}
.mo-slider__ctrl{
  position:absolute; left:46px; bottom:22px; z-index:3;
  display:flex; align-items:center; gap:4px;
  background:rgba(255,255,255,.9); border-radius:999px; padding:4px 6px;
  font-size:12px; color:#5f6875;
}
.mo-slider__ctrl button{
  width:26px; height:26px; border:0; background:none; cursor:pointer; font-size:16px; color:#5f6875;
}
.mo-slider__ctrl button:hover{ color:var(--mo-orange); }
.mo-slider__ctrl span{ min-width:38px; text-align:center; }

.mo-hero__side{ display:grid; gap:14px; }
.mo-welcome{
  position:relative; overflow:hidden; border-radius:var(--mo-r);
  background:linear-gradient(135deg,#ffe9cd,#ffd9a8); padding:26px 28px;
}
.mo-welcome h2{ font-size:19px; font-weight:800; color:#7a4d11; line-height:1.4; }
.mo-welcome p{ margin-top:10px; font-size:12.5px; line-height:1.75; color:#8a6330; }
.mo-welcome .mo-btn{ margin-top:16px; padding:10px 30px; }
.mo-welcome__deco{
  position:absolute; right:-26px; top:-26px; width:120px; height:120px; border-radius:50%;
  background:
    conic-gradient(from 0deg, rgba(255,255,255,.85) 0 25%, rgba(255,255,255,.35) 25% 50%,
                              rgba(255,255,255,.85) 50% 75%, rgba(255,255,255,.35) 75%);
}
.mo-boxes{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.mo-box{ border-radius:16px; overflow:hidden; border:1px solid var(--mo-line); }
.mo-box h3{
  background:var(--mo-orange); color:#fff; text-align:center;
  padding:10px; font-size:13px; font-weight:700;
}
.mo-box ul{ padding:6px 6px 10px; }
.mo-box a{
  display:flex; align-items:center; justify-content:space-between; gap:6px;
  padding:9px 12px; font-size:12.5px; color:#5f6875; border-radius:10px;
}
.mo-box a:hover{ background:var(--mo-cream-2); color:var(--mo-orange-d); }
.mo-box em{ font-style:normal; color:#c4cad4; }

/* --------------------------------------------------------------- 아이콘 바로가기 */
.mo-shortcut{ padding:70px 0 60px; }
.mo-shortcut__h{ text-align:center; font-size:24px; font-weight:800; color:var(--mo-ink); }
.mo-shortcut__list{
  display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:14px; margin-top:38px;
}
.mo-shortcut__list a{ display:flex; flex-direction:column; align-items:center; gap:14px; }
.mo-shortcut__list span{
  width:74px; height:74px; border-radius:22px; display:flex; align-items:center; justify-content:center;
  background:var(--mo-bg); color:var(--mo-orange); transition:background .18s ease, transform .18s ease;
}
.mo-shortcut__list a:hover span{ background:var(--mo-cream); transform:translateY(-4px); }
.mo-shortcut__list b{ font-size:13.5px; font-weight:600; color:#5f6875; }

/* --------------------------------------------------------------- 이달의 모임 */
.mo-prog{ padding:10px 0 80px; }
.mo-prog__in{ display:grid; grid-template-columns:290px 1fr; gap:40px; align-items:start; }
.mo-prog__head h2{ font-size:25px; font-weight:800; color:var(--mo-ink); line-height:1.4; }
.mo-prog__cate{ margin-top:26px; }
.mo-prog__cate a{ display:block; padding:7px 0; font-size:14px; color:#8a919e; }
.mo-prog__cate a:hover, .mo-prog__cate a.is-on{ color:var(--mo-orange); font-weight:700; }
.mo-prog__nav{ display:flex; gap:8px; margin-top:26px; }
.mo-prog__nav button{
  width:38px; height:38px; border-radius:50%; border:1px solid var(--mo-line);
  background:#fff; color:#8a919e; cursor:pointer; font-size:17px;
}
.mo-prog__nav button:hover{ border-color:var(--mo-orange); color:var(--mo-orange); }

.mo-prog__track{
  display:grid; grid-auto-flow:column; grid-auto-columns:minmax(0,1fr);
  gap:22px; overflow-x:auto; scroll-behavior:smooth; scrollbar-width:none;
}
.mo-prog__track::-webkit-scrollbar{ display:none; }
.mo-pcard__img{
  display:block; position:relative; border-radius:16px; overflow:hidden; background:var(--mo-bg);
  aspect-ratio:3/4;
}
.mo-pcard__img img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .3s ease; }
.mo-pcard:hover .mo-pcard__img img{ transform:scale(1.04); }
.mo-pcard__img em{
  position:absolute; left:0; right:0; bottom:0; padding:9px 14px;
  background:rgba(20,24,32,.62); color:#fff; font-style:normal; font-size:11.5px; text-align:center;
}
.mo-pcard strong{ display:block; margin-top:16px; font-size:15.5px; font-weight:700; color:var(--mo-ink); line-height:1.5; }
.mo-pcard:hover strong{ color:var(--mo-orange); }
.mo-pcard__cate{ display:block; margin-top:8px; font-size:12.5px; color:var(--mo-orange); }
.mo-pcard__meta{ display:block; margin-top:5px; font-size:12px; color:#a2a9b6; }

/* --------------------------------------------------------------- 소식 + 공간 */
.mo-news{ background:var(--mo-cream-2); padding:74px 0; border-radius:60px 60px 0 0; }
.mo-news__in{ display:grid; grid-template-columns:1.5fr 1fr; gap:40px; align-items:start; }
.mo-news__left > h2{ font-size:24px; font-weight:800; color:var(--mo-ink); margin-bottom:24px; }
.mo-news__list{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.mo-news__list a{
  display:block; height:100%; background:#fff; border-radius:16px; padding:22px 20px;
  transition:box-shadow .18s ease, transform .18s ease;
}
.mo-news__list a:hover{ box-shadow:0 12px 26px rgba(120,90,40,.1); transform:translateY(-3px); }
.mo-tag{
  display:inline-block; padding:4px 11px; border-radius:999px;
  background:var(--mo-cream); color:var(--mo-orange-d); font-size:11px; font-weight:700;
}
.mo-news__list strong{
  display:block; margin-top:14px; font-size:14.5px; font-weight:700; color:var(--mo-ink); line-height:1.55;
}
.mo-news__ex{ display:block; margin-top:10px; font-size:12.5px; line-height:1.7; color:#8a919e; }
.mo-news__list time{ display:block; margin-top:16px; font-size:11.5px; color:#b3b9c4; }

.mo-space{ position:relative; border-radius:24px; overflow:hidden; background:#fff; }
.mo-space > img{ width:100%; aspect-ratio:76/56; object-fit:cover; display:block; }
.mo-space__txt{ position:relative; padding:22px 24px 26px; }
.mo-space__txt h3{ font-size:19px; font-weight:800; color:var(--mo-ink); }
.mo-space__txt p{ margin-top:10px; font-size:12.5px; line-height:1.8; color:#8a919e; }
.mo-space__go{
  position:absolute; right:22px; bottom:24px; width:42px; height:42px; border-radius:50%;
  background:var(--mo-orange); color:#fff; display:flex; align-items:center; justify-content:center;
  font-size:19px;
}
.mo-space__go:hover{ background:var(--mo-orange-d); color:#fff; }

/* --------------------------------------------------------------- 배너 3종 */
.mo-bnr{ padding:56px 0 0; }
.mo-bnr__in{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.mo-bnr__i{
  display:flex; align-items:center; gap:16px; padding:24px 24px;
  background:var(--mo-bg); border-radius:18px; transition:background .18s ease;
}
.mo-bnr__i:hover{ background:var(--mo-cream); }
.mo-bnr__ico{
  width:52px; height:52px; flex:none; border-radius:16px; background:#fff;
  display:flex; align-items:center; justify-content:center; color:var(--mo-orange);
}
.mo-bnr__txt strong{ display:block; font-size:14.5px; font-weight:700; color:var(--mo-ink); line-height:1.5; }
.mo-bnr__txt span{ display:block; margin-top:7px; font-size:12.5px; line-height:1.7; color:#8a919e; }
.mo-bnr__go{ margin-left:auto; flex:none; color:#b3b9c4; font-size:17px; }
.mo-bnr__i:hover .mo-bnr__go{ color:var(--mo-orange); }

/* --------------------------------------------------------------- 후기 + CTA */
.mo-review{ padding:70px 0 90px; }
.mo-review__h{ font-size:25px; font-weight:800; color:var(--mo-ink); line-height:1.45; margin-bottom:32px; }
.mo-review__in{ display:grid; grid-template-columns:1fr 1fr 1fr; gap:20px; align-items:stretch; }
.mo-rcard{ position:relative; border-radius:20px; overflow:hidden; min-height:270px; display:block; background:#2a2f38; }
.mo-rcard img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.62; }
.mo-rcard::after{ content:''; position:absolute; inset:0; background:linear-gradient(180deg,rgba(20,24,32,.15),rgba(20,24,32,.72)); }
.mo-rcard__tag{
  position:relative; z-index:2; display:inline-block; margin:20px 0 0 20px;
  padding:5px 12px; border-radius:999px; background:rgba(255,255,255,.9);
  font-size:11.5px; font-weight:700; color:#5f6875;
}
.mo-rcard__txt{
  position:absolute; left:20px; right:20px; bottom:22px; z-index:2;
  color:#fff; font-size:14.5px; font-weight:600; line-height:1.7;
}
.mo-cta{ display:grid; gap:20px; }
.mo-cta__i{
  position:relative; border-radius:20px; padding:26px 24px; display:block; min-height:125px;
}
.mo-cta__i.is-yellow{ background:var(--mo-yellow); }
.mo-cta__i.is-blue{ background:var(--mo-blue); }
.mo-cta__i strong{ display:block; font-size:16.5px; font-weight:800; color:#20242b; }
.mo-cta__i.is-blue strong{ color:#fff; }
.mo-cta__i span{ display:block; margin-top:9px; font-size:12.5px; line-height:1.65; color:rgba(32,36,43,.72); }
.mo-cta__i.is-blue span{ color:rgba(255,255,255,.86); }
.mo-cta__i em{
  position:absolute; right:22px; bottom:22px; width:34px; height:34px; border-radius:50%;
  background:rgba(255,255,255,.75); color:#20242b; font-style:normal;
  display:flex; align-items:center; justify-content:center; font-size:15px;
}
.mo-cta__i.is-blue em{ background:rgba(255,255,255,.28); color:#fff; }

/* --------------------------------------------------------------- 서브페이지 */
.mo-sbanner{ background:linear-gradient(120deg,var(--mo-cream),#ffe7c9); }
.mo-sbanner__in{
  max-width:var(--mo-wrap); margin:0 auto; padding:46px var(--mo-gutter) 42px; text-align:center;
}
.mo-sbanner__in > p{ font-size:13px; color:#a8804b; }
.mo-sbanner__in > h1{ margin-top:8px; font-size:30px; font-weight:800; color:#5f4114; }
.mo-crumb{ margin-top:16px; display:flex; justify-content:center; gap:9px; font-size:12px; color:#a8804b; }
.mo-crumb span::before{ content:'›'; margin-right:9px; color:#cbab7d; }
.mo-crumb a{ color:#8a6330; }

.mo-sub{ padding:52px 0 90px; }
.mo-sub__in{
  max-width:var(--mo-wrap); margin:0 auto; padding:0 var(--mo-gutter);
  display:grid; grid-template-columns:210px 1fr; gap:48px; align-items:start;
}
.mo-sub__in.is-full{ grid-template-columns:1fr; gap:0; }
.mo-lnb h2{ font-size:18px; font-weight:800; color:var(--mo-ink); padding:0 6px 14px; }
.mo-lnb li a{
  display:block; padding:12px 16px; margin-bottom:4px; border-radius:12px;
  font-size:14px; color:#7b8493;
}
.mo-lnb li a:hover{ background:var(--mo-bg); color:var(--mo-orange); }
.mo-lnb li.is-on a{ background:var(--mo-cream); color:var(--mo-orange-d); font-weight:700; }
.mo-sub__body #bo_list, .mo-sub__body #bo_v, .mo-sub__body #bo_w, .mo-sub__body #bo_vc{
  --adb-maxw:100%; --adb-gutter:0;
}

/* --------------------------------------------------------------- 푸터 */
.mo-footer{ background:#20242b; color:#8f96a3; padding:52px 0 44px; }
.mo-footer__in{ display:grid; grid-template-columns:1.4fr 1fr 1.3fr; gap:34px; }
.mo-logo--foot .mo-logo__txt strong{ color:#fff; }
.mo-footer__brand p{ margin-top:16px; font-size:12.5px; line-height:1.85; color:#7d848f; }
.mo-footer__nav{ font-size:13px; }
.mo-footer__nav li{ margin-bottom:10px; }
.mo-footer__nav a{ color:#9aa1ad; }
.mo-footer__nav a:hover{ color:#fff; }
.mo-footer__nav a.is-strong{ color:#fff; font-weight:700; }
.mo-footer__info{ font-size:12.5px; line-height:1.9; color:#7d848f; }
.mo-footer__info a{ color:#9aa1ad; }
.mo-footer__copy{ margin-top:14px; font-size:11.5px; color:#666d78; }

.mo-top{
  position:fixed; right:22px; bottom:22px; z-index:90; width:46px; height:46px; border-radius:50%;
  background:var(--mo-orange); color:#fff; border:0; cursor:pointer; font-size:13px;
  opacity:0; visibility:hidden; transition:opacity .2s ease;
}
.mo-top.is-on{ opacity:.92; visibility:visible; }
.mo-top:hover{ opacity:1; background:var(--mo-orange-d); }

/* --------------------------------------------------------------- 반응형 */
@media (max-width:1200px){
  .mo-qnav{ display:none; }
  .mo-gnb__li > a{ padding:0 15px; font-size:14.5px; }
}
@media (max-width:1000px){
  .mo-gnb{ display:none; }
  .mo-burger{ display:flex; }
  .mo-header__in{ height:62px; }
  .mo-hero__in{ grid-template-columns:1fr; }
  .mo-shortcut__list{ grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px 14px; }
  .mo-prog__in{ grid-template-columns:1fr; gap:26px; }
  .mo-prog__head{ display:grid; grid-template-columns:1fr auto; align-items:end; gap:16px; }
  .mo-prog__cate{ display:flex; flex-wrap:wrap; gap:0 16px; grid-column:1 / -1; margin-top:14px; }
  .mo-prog__nav{ margin-top:0; }
  .mo-prog__track{ grid-auto-columns:minmax(0,46%); }
  .mo-news__in{ grid-template-columns:1fr; }
  .mo-news__list{ grid-template-columns:repeat(3,minmax(0,1fr)); }
  .mo-bnr__in{ grid-template-columns:1fr; }
  .mo-review__in{ grid-template-columns:1fr 1fr; }
  .mo-cta{ grid-column:1 / -1; grid-template-columns:1fr 1fr; }
  .mo-sub__in{ grid-template-columns:1fr; gap:26px; }
  .mo-lnb ul{ display:flex; flex-wrap:wrap; gap:6px; }
  .mo-footer__in{ grid-template-columns:1fr 1fr; }
}
@media (max-width:640px){
  :root{ --mo-gutter:18px; --mo-r:16px; }
  .mo-slide{ min-height:280px; padding:32px 26px; }
  .mo-slide__txt{ max-width:100%; }
  .mo-slider__ctrl{ left:26px; bottom:16px; }
  .mo-shortcut{ padding:52px 0 44px; }
  .mo-shortcut__h{ font-size:19px; line-height:1.5; }
  .mo-shortcut__list{ grid-template-columns:repeat(3,minmax(0,1fr)); }
  .mo-shortcut__list span{ width:62px; height:62px; border-radius:18px; }
  .mo-prog{ padding-bottom:56px; }
  .mo-prog__head h2, .mo-review__h{ font-size:20px; }
  .mo-prog__track{ grid-auto-columns:minmax(0,72%); }
  .mo-news{ padding:52px 0; border-radius:34px 34px 0 0; }
  .mo-news__list{ grid-template-columns:1fr; }
  .mo-review__in{ grid-template-columns:1fr; }
  .mo-cta{ grid-template-columns:1fr; }
  .mo-footer__in{ grid-template-columns:1fr; gap:26px; }
  .mo-sbanner__in{ padding:34px var(--mo-gutter); }
  .mo-sbanner__in > h1{ font-size:23px; }
}
