/* Cross-page section partials used by Academy and SMP pages. */

/* --- Shared section-heading rhythm ---------------------------------------- */
.sk-eyebrow{
  font-family:var(--serif);font-weight:400;letter-spacing:.06em;
  color:var(--clay);text-align:center;
  font-size:clamp(30px,5vw,56px);line-height:1.1;
}
.sk-subtitle{
  text-align:center;color:var(--ink);font-weight:600;
  font-size:clamp(15px,2.2vw,19px);margin-top:14px;
}

/* --- INTERVIEWS band ------------------------------------------------------- */
.sk-interview{padding-block:var(--section-y);}
.sk-interview__head{text-align:center;max-width:860px;}
.sk-interview__eyebrow{
  font-size:clamp(28px,6.2vw,72px);color:var(--clay);line-height:1.1;white-space:nowrap;
}
.sk-interview__title{
  margin-top:14px;font-weight:600;color:var(--ink);
  font-size:clamp(16px,2.6vw,24px);
}
.sk-interview__body{margin-top:18px;color:var(--gray);font-size:13px;line-height:1.9;}
.sk-interview__video{
  margin-top:48px;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);
  width:100vw;max-width:none;
  background-color:var(--ink-dark);border-radius:0;overflow:hidden;
  height:100vh;height:100svh;min-height:560px;display:flex;align-items:center;justify-content:center;
  position:relative;transform-origin:50% 50%;backface-visibility:hidden;will-change:transform;
}
.js-anim .sk-interview__video{transform:scale(.68);}
.sk-interview__video video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:2;}
.sk-interview__video[data-video-url]:not(.is-playing){cursor:pointer;}
.sk-interview__video[data-video-url]:not(.is-playing)::before{
  content:'';
  position:absolute;
  top:50%;left:50%;
  transform:translate(-50%,-50%);
  width:72px;height:72px;
  border-radius:50%;
  background-color:rgba(255,255,255,0.14);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpolygon points='9,5 20,12 9,19' fill='white'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:center;
  background-size:30px 30px;
  border:2px solid rgba(255,255,255,0.35);
  box-sizing:border-box;
  transition:background-color 200ms ease;
  z-index:1;
  pointer-events:none;
}
@media (hover:hover){
  .sk-interview__video[data-video-url]:not(.is-playing):hover::before{
    background-color:rgba(255,255,255,0.26);
  }
}

@media (max-width:768px){
  .sk-interview__video{margin-top:32px;min-height:480px;}
}

@media (prefers-reduced-motion:reduce){
  .js-anim .sk-interview__video{transform:scale(1);}
}

/* --- FAQ accordion --------------------------------------------------------- */
.sk-faq{padding-block:var(--section-y);max-width:calc(800px + 48px);}
.sk-faq__title{text-align:center;color:var(--clay);font-size:clamp(34px,5vw,52px);margin-bottom:40px;}
.sk-faq__item{border-bottom:1px solid #E7E2DD;transition:background-color 0.3s ease;}
.sk-faq__q{
  width:100%;background:none;border:0;cursor:pointer;
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:22px 8px;text-align:left;font-size:15px;font-weight:600;color:var(--ink);
  font-family:var(--sans);transition:color 0.3s ease;
}
.sk-faq__icon{
  flex:0 0 auto;width:20px;height:20px;position:relative;
  transition:transform 0.3s ease;
  display:flex;align-items:center;justify-content:center;
}
.sk-faq__icon::before,.sk-faq__icon::after{
  content:"";position:absolute;left:50%;top:50%;background-color:var(--gray);
  transition:transform 0.3s ease,opacity 0.3s ease;
}
.sk-faq__icon::before{width:14px;height:1.5px;transform:translate(-50%,-50%);}
.sk-faq__icon::after{width:1.5px;height:14px;transform:translate(-50%,-50%);}
.sk-faq__item.is-open .sk-faq__icon{transform:rotate(45deg);}
.sk-faq__item.is-open{background-color:#F7F4F1;}
.sk-faq__a{
  overflow:hidden;max-height:0;
  transition:max-height 0.3s ease,opacity 0.25s ease;
  opacity:0;
  color:var(--gray);font-size:13px;line-height:1.8;padding:0 8px;
}
.sk-faq__item.is-open .sk-faq__a{
  max-height:200px;padding-bottom:22px;opacity:1;
  transition:max-height 0.3s ease,opacity 0.25s ease;
}

/* --- START NOW band -------------------------------------------------------- */
.sk-startnow{padding-block:clamp(100px,12vw,168px);text-align:center;}
.sk-startnow__title{color:var(--clay);font-size:clamp(34px,5vw,52px);}
.sk-startnow__sub{color:var(--clay);font-weight:600;margin-top:10px;font-size:clamp(15px,2.2vw,18px);}
.sk-startnow__grid{
  margin-top:44px;display:grid;grid-template-columns:repeat(3,1fr);gap:20px;text-align:left;
}
.sk-startnow__col{display:flex;flex-direction:column;align-items:center;background-color:#F4F4F4;border-radius:8px;padding:44px 36px;}
.sk-startnow__coltitle{text-align:center;font-weight:700;color:#656565;font-size:20px;}
.sk-startnow__note{text-align:center;color:#828282;font-size:14px;margin-top:6px;}
.sk-startnow__items{list-style:none;width:100%;max-width:100%;margin:24px 0 0;padding:0;flex:1;display:flex;flex-direction:column;justify-content:center;align-items:stretch;}
.sk-startnow__items li{
  position:relative;width:100%;max-width:100%;padding-left:38px;min-height:24px;font-size:16px;color:#828282;line-height:1.6;margin-bottom:12px;text-align:left;overflow-wrap:break-word;
}
.sk-startnow__items li:last-child{margin-bottom:0;}
.sk-startnow__items li::before{
  content:"";position:absolute;left:0;top:2px;width:24px;height:24px;
  background:#fff;border-radius:6px;box-shadow:0 2px 6px rgba(0,0,0,.10);
}
.sk-startnow__items li::after{
  content:"";position:absolute;left:7px;top:8px;width:10px;height:6px;
  border-left:2px solid var(--clay);border-bottom:2px solid var(--clay);
  transform:rotate(-45deg);
}
@media (max-width:768px){
  .sk-startnow__grid{grid-template-columns:1fr;gap:14px;}
  .sk-faq__title{font-size:64px;}
  .sk-startnow__title{font-size:64px;}
  .sk-startnow__sub{font-size:25px;}
}

/* --- Full-bleed image band ------------------------------------------------- */
.sk-fullbleed{position:relative;width:100%;aspect-ratio:16/6;overflow:hidden;}
.sk-fullbleed__img{width:100%;height:100%;object-fit:cover;}
.sk-fullbleed__caption{
  position:absolute;left:0;right:0;bottom:8%;color:var(--white);text-align:center;padding:0 24px;
}
.sk-fullbleed--left .sk-fullbleed__caption{text-align:left;left:8%;right:auto;}
.sk-fullbleed__title{font-weight:600;font-size:clamp(14px,2vw,18px);}
.sk-fullbleed__sub{font-size:12px;margin-top:6px;opacity:.9;}
@media (max-width:768px){
  .sk-fullbleed{aspect-ratio:4/3;}
}

/* ===== 바로가기 — quick-link tabbed carousel (sk-barogage), shared: scalpkang/smp/academy ===== */
.sk-barogage{position:relative;overflow:hidden;background-color:#1a1a1a;color:#fff;padding-block:120px;}
.sk-barogage::before{
  content:"";position:absolute;inset:0;
  background-image:url('../images/com-bg-3606c7.webp?v=1');background-size:cover;background-position:center;
  transform:scale(1.12);transition:transform 1.4s cubic-bezier(.2,.6,.2,1);
}
.sk-barogage.is-in::before{transform:scale(1);}
.sk-barogage__inner{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;column-gap:60px;row-gap:48px;align-items:start;}
.sk-barogage__left{grid-column:1;align-self:center;}
.sk-barogage__head{font-family:var(--serif);font-size:40px;font-weight:400;letter-spacing:-.05em;line-height:1.25;margin:0 0 24px;color:#fff;}
.sk-barogage__body{max-width:480px;margin:0;font-family:var(--sans);font-weight:500;font-size:20px;line-height:1.5;letter-spacing:-.02em;color:#fff;}
.sk-barogage__right{grid-column:2;}
.sk-barogage__panels{display:grid;}
.sk-barogage__panel{grid-area:1/1;opacity:0;visibility:hidden;transition:opacity .45s ease,visibility .45s ease;pointer-events:none;}
.sk-barogage__panel.is-active{opacity:1;visibility:visible;pointer-events:auto;}
.sk-barogage__img{display:block;width:100%;height:auto;}
.sk-barogage__hero{position:relative;aspect-ratio:600/400;}
.sk-barogage__hero .sk-barogage__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .45s ease;}
.sk-barogage__hero .sk-barogage__img.is-active{opacity:1;}
.sk-barogage__thumbs{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:10px 0 0 0;width:100%;}
.sk-barogage__thumb{display:block;padding:0;border:0;background:none;cursor:pointer;opacity:.6;transition:opacity .25s ease;}
.sk-barogage__thumb.is-active,.sk-barogage__thumb:hover{opacity:1;}
.sk-barogage__thumb .sk-barogage__img{aspect-ratio:150/100;object-fit:cover;}
.sk-barogage__tabs{grid-column:1/-1;display:flex;justify-content:center;gap:24px;margin-top:40px;}
.sk-barogage__tab{flex:0 0 auto;width:min(38%,285px);display:block;text-decoration:none;color:inherit;font:inherit;background:none;border:0;cursor:pointer;text-align:left;padding:0;}
.sk-barogage__tab-line{display:block;width:100%;height:2px;background-color:rgba(255,255,255,.5);transition:background-color .3s ease;}
.sk-barogage__tab-label{display:block;margin-top:13px;font-family:var(--sans);font-weight:500;font-size:16px;letter-spacing:-.05em;color:rgba(255,255,255,.5);transition:color .3s ease;}
.sk-barogage__tab.is-active .sk-barogage__tab-line{background-color:#fff;}
.sk-barogage__tab.is-active .sk-barogage__tab-label{color:#fff;}
@media (max-width:768px){
  .sk-barogage{padding-block:64px;margin-top:48px;}
  .sk-barogage__inner{grid-template-columns:1fr;column-gap:0;row-gap:32px;}
  .sk-barogage__left,.sk-barogage__right{grid-column:1;}
  .sk-barogage__head{font-size:28px;}
  .sk-barogage__body{font-size:16px;max-width:none;}
  .sk-barogage__thumbs{width:100%;}
  .sk-barogage__tabs{gap:16px;}
  .sk-barogage__tab{width:auto;flex:1 1 0;max-width:none;}
}

/* ===== LOCATION / HOURS (sk-location), shared: scalpkang/smp/academy ===== */
.sk-location{padding-block:var(--section-y);}
.sk-location__intro{max-width:869px;margin-inline:auto;text-align:center;}
.sk-location__title{font-family:var(--serif);font-size:clamp(48px,7vw,90px);white-space:nowrap;font-weight:400;letter-spacing:-.02em;color:var(--clay);margin:0;line-height:1.1;}
.sk-location__subtitle{font-family:var(--sans);font-weight:600;font-size:32px;letter-spacing:-.05em;color:var(--clay);margin:16px 0 0;}
.sk-location__body{font-family:var(--sans);font-weight:500;font-size:18px;line-height:1.6;letter-spacing:-.05em;color:var(--gray);margin:24px 0 0;}
.sk-location__hours-group{width:fit-content;margin:80px auto 0;}
.sk-location__hours{display:flex;gap:60px;align-items:center;}
.sk-location__hours-img{width:360px;height:480px;object-fit:cover;flex-shrink:0;}
.sk-location__hours-info{flex:0 0 auto;}
.sk-location__hours-label{font-family:var(--sans);font-weight:500;font-size:20px;color:var(--clay);margin:0 0 32px;}
.sk-location__hours-table{list-style:none;margin:0;padding:0;}
.sk-location__hours-table li{display:flex;align-items:baseline;gap:32px;font-family:var(--sans);font-size:18px;color:var(--gray);padding-block:0;line-height:1.4;}
.sk-location__hours-table li span:first-child{flex:0 0 96px;white-space:nowrap;}
.sk-location__hours-table li span:last-child{white-space:nowrap;}
.sk-location__note{margin:32px 0 0;text-align:left;font-family:var(--sans);font-weight:500;font-size:14px;letter-spacing:-.03em;color:var(--gray);line-height:1.6;}
.sk-location__map-wrap{max-width:1200px;margin:80px auto 0;padding-inline:24px;}
.sk-location__map-label{text-align:center;font-family:var(--sans);font-weight:600;font-size:32px;color:var(--clay);margin:0 0 40px;}
/* Daum/Kakao roughmap renders at a fixed px size (mapWidth×mapHeight); its map tiles are
   absolutely positioned, so its internal width/height can't be overridden. shared-sections.js
   scales the whole widget with transform to fit this container (see barogage/map scaler). */
.sk-location__map{width:100%;overflow:hidden;}
.sk-location__map .root_daum_roughmap{transform-origin:top left;}
.sk-location__addr{display:flex;gap:120px;width:100%;margin-top:40px;font-family:var(--sans);font-size:18px;color:var(--gray);line-height:1.6;text-align:left;}
.sk-location__addr > div{flex:1 1 0;text-align:left;}
.sk-location__addr h4{margin:0 0 12px;color:var(--gray);font-weight:500;font-size:18px;text-align:left;}
.sk-location__addr p{margin:0;text-align:left;}
@media (max-width:768px){
  .sk-location__title{font-size:clamp(28px,8vw,44px);}
  .sk-location__subtitle{font-size:22px;}
  .sk-location__hours-group{width:100%;}
  .sk-location__hours{flex-direction:column;align-items:stretch;gap:24px;}
  .sk-location__hours-img{width:100%;height:auto;aspect-ratio:360/480;}
  .sk-location__hours-table li{gap:16px;}
  .sk-location__addr{flex-direction:column;gap:40px;}
}

/* ---- WHY IS SCALPKANG DIFFERENT (shared: SCALPKANG + Academy + SMP) ---- */
.sk-scalp-why{background-color:var(--white);padding-block:clamp(96px,12vw,160px);}
.sk-scalp-why__inner{display:grid;grid-template-columns:40fr 60fr;gap:50px;align-items:start;}
.sk-scalp-why__left{position:sticky;top:150px;align-self:start;}
.sk-scalp-why__eyebrow{font-family:var(--sans);font-weight:500;font-size:15px;line-height:24px;letter-spacing:-0.03em;color:var(--clay);margin:0;}
.sk-scalp-why__head{font-family:var(--serif);font-weight:400;font-size:68px;line-height:72px;letter-spacing:-0.02em;color:var(--clay);margin:8px 0 0;}
.sk-scalp-why__line{display:block;}
.sk-scalp-why__body{font-family:var(--sans);font-weight:500;font-size:14px;line-height:24px;letter-spacing:-0.05em;color:var(--gray);margin:24px 0 0;max-width:340px;}
.sk-scalp-why__right{display:flex;flex-direction:column;gap:64px;}
.sk-scalp-why__card{display:flex;flex-direction:column;}
.sk-scalp-why__img{width:100%;height:auto;display:block;border-radius:5px;}
.sk-scalp-why__badge{order:-1;display:flex;align-items:flex-start;gap:8px;margin:0 0 10px;}
.sk-scalp-why__dot{display:block;width:6px;height:6px;margin-top:2px;border-radius:50%;background-color:var(--clay);flex-shrink:0;}
.sk-scalp-why__label{font-family:var(--sans);font-weight:500;font-size:14px;letter-spacing:-0.03em;color:var(--gray);line-height:1.4;}
/* Reveal animations — JS adds .is-why-visible; stagger delay set inline per element */
.sk-scalp-why__eyebrow,
.sk-scalp-why__line,
.sk-scalp-why__body{opacity:0;transform:translateY(24px);transition:opacity 0.65s ease,transform 0.65s ease;}
.sk-scalp-why__eyebrow.is-why-visible,
.sk-scalp-why__line.is-why-visible,
.sk-scalp-why__body.is-why-visible{opacity:1;transform:translateY(0);}
.sk-scalp-why__card{opacity:0;transform:translateY(40px);transition:opacity 0.6s ease,transform 0.6s ease;}
.sk-scalp-why__card.is-why-visible{opacity:1;transform:translateY(0);}
@media (prefers-reduced-motion:reduce){
  .sk-scalp-why__eyebrow,
  .sk-scalp-why__line,
  .sk-scalp-why__body,
  .sk-scalp-why__card{opacity:1;transform:none;transition:none;}
}
@media (max-width:768px){
  .sk-scalp-why__inner{grid-template-columns:1fr;gap:48px;}
  .sk-scalp-why__left{position:static;text-align:center;}
  .sk-scalp-why__head{font-size:40px;line-height:48px;}
  .sk-scalp-why__right{gap:40px;}
}

/* Awards carousel — shared: SCALPKANG + Academy + SMP */
/* ---- Awards carousel (5-in-view, auto-snap every 1s, clay arrow nav) ---- */
.sk-scalp-awards{background-color:var(--white);padding-top:clamp(80px,10vw,130px);padding-bottom:clamp(100px,12vw,170px);text-align:center;}
.sk-scalp-awards__head{font-size:90px;line-height:90px;color:var(--clay);letter-spacing:-0.02em;text-align:center;}
.sk-scalp-awards__sub{margin-top:14px;font-family:var(--sans);font-weight:600;font-size:32px;line-height:46px;color:var(--clay);letter-spacing:-0.05em;text-align:center;}
/* constrained to the 1200px body container (not full-bleed); arrows stay within it */
.sk-scalp-awards__carousel{--aw-gap:30px;--aw-per:5;position:relative;box-sizing:border-box;
  max-width:var(--maxw);margin-top:48px;margin-left:auto;margin-right:auto;
  padding-left:56px;padding-right:56px;}
.sk-scalp-awards__marquee{overflow-x:auto;overflow-y:hidden;
  scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;
  scroll-snap-type:x mandatory;}
.sk-scalp-awards__marquee::-webkit-scrollbar{display:none;}
.sk-scalp-awards__track{display:flex;align-items:center;gap:var(--aw-gap);user-select:none;padding-block:52px;}
.sk-scalp-awards__item{flex:0 0 calc((100% - (var(--aw-per) - 1) * var(--aw-gap)) / var(--aw-per));margin:0;box-sizing:border-box;
  background-color:var(--white);border-radius:10px;padding:18px;transition:transform .4s cubic-bezier(.2,.6,.2,1);transform-origin:center center;
  scroll-snap-align:center;scroll-snap-stop:always;}
.sk-scalp-awards__item.is-active{transform:scale(1.2);position:relative;z-index:1;}
.sk-scalp-awards__img{width:100%;height:240px;display:block;object-fit:contain;
  -webkit-user-drag:none;user-select:none;}
.sk-scalp-awards__arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:2;
  width:48px;height:48px;border-radius:999px;background-color:var(--clay);
  border-top:0;border-bottom:0;border-left:0;border-right:0;cursor:pointer;
  display:flex;align-items:center;justify-content:center;padding:0;
  box-shadow:0 4px 14px rgba(0,0,0,.18);transition:opacity .2s ease,transform .2s ease;}
.sk-scalp-awards__arrow svg{width:20px;height:20px;display:block;stroke:var(--white);}
.sk-scalp-awards__arrow--prev{left:6px;}
.sk-scalp-awards__arrow--next{right:6px;}
@media (hover:hover){
  .sk-scalp-awards__arrow:hover{transform:translateY(-50%) scale(1.08);}
}
.sk-scalp-awards__caption{min-height:1.8em;margin-top:28px;font-size:24px;color:var(--gray-light);line-height:1.8;white-space:pre-line;
  opacity:1;transform:translateY(0);transition:opacity .22s ease,transform .22s ease;}
.sk-scalp-awards__caption.is-changing{opacity:0;transform:translateY(6px);}
.sk-scalp-awards__caption-title{display:block;font-size:26px;font-weight:700;color:var(--clay);}
.sk-scalp-awards__caption-body{display:block;margin-top:10px;font-size:16px;color:var(--gray-light);}
.sk-scalp-awards__caption-date{display:block;margin-top:8px;font-size:14px;color:var(--gray);}
@media (max-width:768px){
  .sk-scalp-awards__head{font-size:64px;line-height:1;word-break:keep-all;overflow-wrap:normal;hyphens:none;}
  .sk-scalp-awards__sub{font-size:20px;line-height:30px;margin-top:24px;}
  .sk-scalp-awards__carousel{--aw-gap:14px;--aw-per:3;padding-left:44px;padding-right:44px;}
  .sk-scalp-awards__img{height:180px;}
  .sk-scalp-awards__arrow{width:38px;height:38px;}
  .sk-scalp-awards__arrow svg{width:16px;height:16px;}
}
