/* HODADAK 홈 전용 — 시안 B2(대성님 확정). 글꼴·토큰·머리 메뉴·카드·하단 링크는 site.css(먼저 읽음) */
:root{--lines:clamp(150px,21vh,210px)}
body{font-size:17px}

/* 머리 */
.top{position:fixed;inset:0 0 auto;z-index:40;height:var(--head);display:flex;align-items:center;gap:var(--s3);padding:0 var(--gutter);transition:background .4s,box-shadow .4s}
.top.is-solid{background:rgba(242,244,248,.88);backdrop-filter:blur(14px);box-shadow:0 1px 0 var(--line)}
.top .logo{height:26px;width:auto;flex:none;display:block}
.top .right{margin-left:auto;display:flex;align-items:center;gap:var(--s2)}

/* 스크롤 무대: 위 문장 + 아래 16:9 카드 */
.journey{position:relative;height:520vh}
.stage{position:sticky;top:0;height:100svh;display:flex;flex-direction:column;align-items:center;padding:var(--head) var(--gutter) var(--s6)}
.stage{justify-content:center}
.frame{position:relative;flex:none;aspect-ratio:16/9;width:min(100%,1600px,calc((100svh - var(--head) - 36px) * 16 / 9))}
.frame .card{position:absolute;inset:0}
.lines{position:absolute;left:5%;top:0;bottom:0;width:31%;z-index:3;pointer-events:none}
.scrim{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(242,244,248,.92) 0%,rgba(242,244,248,.78) 30%,rgba(242,244,248,0) 50%)}
.chapter{position:absolute;left:0;right:0;top:50%;display:grid;gap:var(--s3);opacity:0;will-change:opacity,transform}
.chapter.first{opacity:1}
.chapter .no{font-size:13px;font-weight:700;letter-spacing:.14em;color:var(--blue)}
.chapter h1,.chapter h2{margin:0;font-size:clamp(26px,2.7vw,48px);line-height:1.18;letter-spacing:-.03em;font-weight:700;text-wrap:balance}
.chapter p{margin:10px 0 0;font-size:clamp(16px,1.1vw,18px);color:var(--ink-2);max-width:40em}
.card{position:relative;flex:none;aspect-ratio:16/9;border-radius:var(--r-card);overflow:hidden;background:#D9DDE4;isolation:isolate;will-change:transform;cursor:none}
.film-wrap{position:absolute;inset:0}
.film-wrap video{width:100%;height:100%;object-fit:cover;display:block}
.glow{position:absolute;inset:0;pointer-events:none;background:radial-gradient(520px circle at var(--mx,50%) var(--my,50%),rgba(255,255,255,.22),transparent 60%);mix-blend-mode:soft-light;opacity:0;transition:opacity .6s}
.card.is-hover .glow{opacity:1}
.ring-cursor{position:absolute;left:0;top:0;width:34px;height:34px;margin:-17px 0 0 -17px;pointer-events:none;opacity:0;transition:opacity .3s}
.card.is-hover .ring-cursor{opacity:1}
.card-foot{position:absolute;left:0;right:0;bottom:0;display:flex;justify-content:space-between;align-items:center;padding:16px 22px;font-size:13px;font-weight:700;letter-spacing:.14em;color:rgba(32,38,50,.68);pointer-events:none}
.progress{display:flex;align-items:center;gap:10px}
.progress svg{width:22px;height:22px}
.scene{position:absolute;inset:0;will-change:transform}
.card{background:linear-gradient(90deg,#DDE0E6 0%,#E8E9EC 55%,#ECE8E3 100%)}
.mark{position:absolute;left:0;top:0;height:10px;width:auto;opacity:0;pointer-events:none;will-change:transform,opacity,filter}

/* 브랜드 이야기·문의 */
.story{padding:clamp(96px,14vw,200px) var(--gutter);background:var(--surface)}
.story-in{max-width:1100px;margin:0 auto;display:grid;gap:var(--s6)}
.story blockquote{margin:0;font-size:clamp(28px,3.4vw,50px);line-height:1.38;letter-spacing:-.03em;font-weight:600}
.story blockquote span{color:var(--faint);transition:color .8s}
.story blockquote span.on{color:var(--ink)}
.contact{padding:clamp(96px,12vw,180px) var(--gutter);display:grid;grid-template-columns:minmax(0,1fr);justify-items:start;gap:var(--s6);max-width:1400px;margin:0 auto}
.contact h2{margin:0;font-size:clamp(38px,5.4vw,84px);line-height:1.1;letter-spacing:-.04em;font-weight:700;text-wrap:balance}
.contact p{margin:0;font-size:clamp(16px,1.3vw,19px);color:var(--ink-2)}
.mail{display:inline-flex;align-items:center;min-height:60px;padding:0 28px;border-radius:var(--r-pill);background:var(--blue);color:#fff;font-size:18px;font-weight:700;text-decoration:none;transition:background .3s,transform .3s}
.contact > *{max-width:100%}
@media (max-width:400px){ .mail{min-height:52px;padding:0 20px;font-size:16px;overflow-wrap:anywhere} }
.mail:hover{background:var(--blue-strong);transform:translateY(-2px)}
.foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--s3);padding:28px var(--gutter);border-top:1px solid var(--line);font-size:13px;color:var(--muted)}

/* 좁은 화면: 카드는 세로로 조금 길게, 영상은 꽉 채움 */
@media (max-width:760px){
  :root{--head:64px;--lines:clamp(170px,30vh,230px)}
  .pill{padding:0 14px;min-height:38px;font-size:13px}
  .stage{justify-content:flex-start}
  .frame{aspect-ratio:auto;width:100%;display:flex;flex-direction:column;align-items:center}
  .lines{position:relative;left:auto;width:100%;height:var(--lines)}
  .frame .card{position:relative;inset:auto}
  .scrim{display:none}
  .chapter{top:0;gap:6px}
  .chapter .no{padding-top:0}
  .chapter h1,.chapter h2{font-size:clamp(25px,7vw,34px)}
  .card{aspect-ratio:4/5;width:min(100%,calc((100svh - var(--head) - var(--lines) - 40px) * 4 / 5));cursor:auto}
  .ring-cursor{display:none}
}

/* 움직임 줄이기 */
@media (prefers-reduced-motion:reduce){
  .journey{height:auto}
  .stage{position:relative;height:auto;display:block;padding-top:calc(var(--head) + 24px)}
  .frame{aspect-ratio:auto;width:auto}
  .lines{position:relative;left:auto;width:auto;height:auto;display:grid;gap:var(--s7)}
  .scrim{display:none}
  .chapter{position:relative;opacity:1;transform:none}
  .chapter::after{content:"";grid-column:1/-1;display:block;aspect-ratio:16/9;margin-top:var(--s4);border-radius:var(--r-card);background:var(--ground) var(--still) center/contain no-repeat}
  .card{display:none}
  .story blockquote span{color:var(--ink)}
}

/* 메뉴 */

/* 공통 구역 */
.sec{padding:clamp(80px,10vw,150px) var(--gutter)}
.sec-in{max-width:1400px;margin:0 auto;display:grid;gap:var(--s6)}
.sec-in.narrow{max-width:880px}
.sec-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:var(--s4)}
.sec h2{margin:6px 0 0;font-size:clamp(28px,3vw,46px);line-height:1.2;letter-spacing:-.03em;font-weight:700}
.sec-lead{margin:10px 0 0;color:var(--ink-2);max-width:36em}
.sec-note{margin:6px 0 0;font-size:13px;color:var(--muted)}
.more{font-size:15px;font-weight:700;color:var(--blue);text-decoration:none}
.more:hover{text-decoration:underline;text-underline-offset:4px}

/* 프로그램 카드 */
.prog-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:var(--s4)}

/* 업무 꿀팁 */
.tips{background:var(--surface)}
.sns{display:flex;gap:var(--s2)}
.tip-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s4)}
.tip{position:relative;display:grid;align-content:end;gap:6px;aspect-ratio:4/5;padding:20px;border-radius:var(--r-card);overflow:hidden;background:var(--ground);color:var(--ink);text-decoration:none}
.tip img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s}
a.tip:hover img{transform:scale(1.03)}
.tip .tip-tag,.tip strong{position:relative}
.tip img ~ .tip-tag,.tip img ~ strong{display:none}
.tip-tag{justify-self:start;padding:4px 10px;border-radius:var(--r-pill);background:#EEF4FF;color:var(--blue-strong);font-size:13px;font-weight:700}
.tip strong{font-size:20px;line-height:1.3}
.tip em{font-style:normal;font-size:14px;color:var(--muted)}
.tip.soon{border:1.5px dashed var(--line);background:transparent}

/* 자주 묻는 질문 */
.faq details{border-top:1px solid var(--line)}
.faq details:last-of-type{border-bottom:1px solid var(--line)}
.faq summary{display:flex;justify-content:space-between;align-items:center;gap:var(--s3);min-height:64px;font-size:18px;font-weight:700;cursor:pointer;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";width:10px;height:10px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(45deg);transition:transform .25s;flex:none}
.faq details[open] summary::after{transform:rotate(-135deg)}
.faq details p{margin:0 0 20px;color:var(--ink-2);max-width:44em}

/* 도구 제안 칩 */
.asks{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--s2)}
.asks a{display:inline-flex;align-items:center;min-height:44px;padding:0 18px;border-radius:var(--r-pill);border:1.5px solid var(--line);background:var(--surface);font-size:15px;font-weight:600;color:var(--ink);text-decoration:none;transition:border-color .25s,color .25s}
.asks a:hover{border-color:var(--blue);color:var(--blue)}

/* 맨 아래 */
.site-foot{border-top:1px solid var(--line);background:var(--surface);padding:56px var(--gutter) 28px}
.foot-in{max-width:1400px;margin:0 auto;display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--s6)}
.foot-brand p{margin:10px 0 0;font-size:14px;color:var(--muted)}
.foot-cols{display:flex;flex-wrap:wrap;gap:clamp(32px,6vw,96px)}
.foot-cols div{display:grid;gap:10px;align-content:start}
.foot-cols strong{font-size:14px}
.foot-cols a{font-size:14px;color:var(--ink-2);text-decoration:none}
.foot-cols a:hover{color:var(--blue)}
.foot-legal{max-width:1400px;margin:40px auto 0;padding-top:20px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--s3);font-size:13px;color:var(--muted)}

@media (max-width:900px){
  .tip-grid{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:72%;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:4px}
  .tip-grid li{scroll-snap-align:start}
}
