/* 하니비 랜딩 공유 스타일 */
:root{
  --pine:#234434; --pine-soft:#2E6B52;
  --yellow-1:#FBEAB3; --yellow-2:#F4D680; --cream:#FCEFD2;
  --ink:#2A2622; --muted:#5C6660; --line:#ECEAE2;
  --ochre:#B08A3E; --bg-soft:#FAFAF7;
}
*{margin:0;padding:0;box-sizing:border-box;font-family:'Pretendard','Apple SD Gothic Neo',sans-serif;}
html{scroll-behavior:smooth;}
body{color:var(--ink);line-height:1.6;background:#fff;-webkit-font-smoothing:antialiased;}
a{text-decoration:none;color:inherit;}
img{max-width:100%;display:block;}
.wrap{max-width:1120px;margin:0 auto;padding:0 24px;}
section{padding:96px 0;scroll-margin-top:76px;}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:54px;padding:0 28px;border-radius:14px;font-weight:700;font-size:16px;transition:transform .15s,opacity .15s,box-shadow .15s;}
.btn:hover{transform:translateY(-2px);}
.btn-primary{background:var(--pine);color:#fff;box-shadow:0 8px 22px rgba(35,68,52,.2);}
.btn-ghost{background:rgba(35,68,52,.07);color:var(--pine);}

/* NAV */
nav{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.9);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);}
nav .nav-inner{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:66px;}
.brand{display:flex;align-items:center;gap:9px;font-weight:800;font-size:20px;color:var(--pine);letter-spacing:-.02em;justify-self:start;}
.nav-menu{display:flex;gap:34px;justify-self:center;}
.nav-menu a{font-size:15.5px;font-weight:600;color:#3A3A36;padding:6px 2px;position:relative;transition:color .15s;}
.nav-menu a:hover{color:var(--pine);}
.nav-menu a::after{content:'';position:absolute;left:0;bottom:-4px;width:0;height:2px;background:var(--yellow-2);transition:width .2s;}
.nav-menu a:hover::after{width:100%;}
.nav-login{justify-self:end;height:42px;padding:0 20px;border-radius:11px;background:var(--pine);color:#fff;font-weight:700;font-size:14.5px;display:inline-flex;align-items:center;transition:opacity .15s;}
.nav-login:hover{opacity:.9;}
@media(max-width:860px){
  nav .nav-inner{grid-template-columns:1fr auto;}
  .nav-menu{display:none;}
}

/* HERO */
.hero{background:linear-gradient(160deg,var(--yellow-1) 0%,var(--yellow-2) 100%);padding:72px 0 80px;text-align:center;position:relative;overflow:hidden;}
.hero .badge{display:inline-block;background:rgba(35,68,52,.1);color:var(--pine);font-weight:700;font-size:13px;letter-spacing:.04em;padding:7px 14px;border-radius:999px;margin-bottom:24px;}
.hero h1{font-size:50px;font-weight:800;color:var(--pine);letter-spacing:-.03em;line-height:1.22;margin-bottom:18px;}
.hero p{font-size:18px;color:#4A5C50;max-width:540px;margin:0 auto 34px;}
.hero .actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;}
.hero-mark{margin-bottom:28px;}
@media(max-width:600px){.hero h1{font-size:34px;}.hero p{font-size:16px;}}

/* SECTION HEADINGS */
.sec-tag{text-align:center;color:var(--ochre);font-weight:700;font-size:14px;letter-spacing:.1em;text-transform:uppercase;margin-bottom:12px;}
.sec-title{text-align:center;font-size:34px;font-weight:800;color:var(--pine);letter-spacing:-.02em;margin-bottom:14px;}
.sec-sub{text-align:center;color:var(--muted);font-size:16px;max-width:560px;margin:0 auto 56px;}
@media(max-width:600px){.sec-title{font-size:27px;}}

/* SHOWCASE — 큰 폰 화면 + 옆 텍스트 (좌우 교차) */
.showcase{overflow:hidden;}
.showcase:nth-of-type(even){background:var(--bg-soft);}
.show-row{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center;}
.show-row.reverse .show-visual{order:2;}
.show-visual{display:flex;justify-content:center;}
.phone{position:relative;width:300px;max-width:78%;border:13px solid #1c201d;border-radius:46px;overflow:hidden;background:#1c201d;box-shadow:0 34px 70px rgba(35,68,52,.22);}
.phone::before{content:'';position:absolute;top:13px;left:50%;transform:translateX(-50%);width:120px;height:24px;background:#1c201d;border-radius:0 0 16px 16px;z-index:2;}
.phone img{width:100%;border-radius:33px;}
.show-text .eyebrow{color:var(--ochre);font-weight:800;font-size:14px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:14px;}
.show-text h2{font-size:40px;font-weight:800;color:var(--pine);letter-spacing:-.025em;line-height:1.25;margin-bottom:20px;}
.show-text p{font-size:17.5px;color:var(--muted);line-height:1.75;max-width:440px;}
.show-text .mini{margin-top:26px;display:flex;flex-direction:column;gap:12px;}
.show-text .mini div{display:flex;gap:10px;align-items:flex-start;font-size:15px;color:var(--ink);}
.show-text .mini .dot{color:var(--pine-soft);font-weight:800;}
@media(max-width:820px){
  .show-row{grid-template-columns:1fr;gap:40px;text-align:center;}
  .show-row.reverse .show-visual{order:0;}
  .show-text p{margin:0 auto;}
  .show-text .mini{align-items:center;}
  .show-text h2{font-size:30px;}
}

/* TRUST */
.trust-bg{background:var(--pine);}
.trust-bg .sec-tag{color:#E0C982;}.trust-bg .sec-title{color:#fff;}.trust-bg .sec-sub{color:#B7C5BC;}
.trust{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;}
.trust-item{display:flex;gap:16px;align-items:flex-start;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:24px;}
.trust-item .tic{width:46px;height:46px;border-radius:12px;background:rgba(247,222,150,.18);display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0;}
.trust-item h3{font-size:16.5px;color:#fff;margin-bottom:5px;}
.trust-item p{font-size:14px;color:#A9BBB0;line-height:1.6;}
@media(max-width:760px){.trust{grid-template-columns:1fr;}}

/* DOWNLOAD */
.download{background:linear-gradient(160deg,var(--pine) 0%,#1a3528 100%);color:#fff;text-align:center;}
.download h2{font-size:36px;font-weight:800;color:#fff;letter-spacing:-.02em;margin-bottom:14px;}
.download p{color:#C9D6CE;font-size:17px;margin-bottom:32px;}
.btn-store{background:var(--yellow-2);color:var(--pine);}
.soon{color:#A9BBB0;font-size:13px;margin-top:16px;}

/* PAGE HEADER (서브페이지 공통) */
.page-head{background:linear-gradient(160deg,var(--yellow-1),var(--yellow-2));padding:72px 0 64px;text-align:center;}
.page-head h1{font-size:40px;font-weight:800;color:var(--pine);letter-spacing:-.02em;margin-bottom:10px;}
.page-head p{color:#4A5C50;font-size:16px;}
@media(max-width:600px){.page-head h1{font-size:30px;}}

/* NOTICE */
.notice-list{max-width:820px;margin:0 auto;border-top:2px solid var(--pine);}
.notice-row{display:flex;gap:24px;align-items:baseline;padding:24px 6px;border-bottom:1px solid var(--line);}
.notice-row .date{color:var(--ochre);font-weight:700;font-size:14px;white-space:nowrap;min-width:96px;}
.notice-row .ttl{color:var(--ink);font-size:17px;font-weight:600;}
.notice-row .tag{font-size:12px;font-weight:700;color:var(--pine);background:rgba(244,214,128,.45);padding:3px 9px;border-radius:7px;margin-right:10px;}
@media(max-width:600px){.notice-row{flex-direction:column;gap:6px;}}

/* SUPPORT */
.support-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:940px;margin:0 auto;}
.support-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:36px 26px;text-align:center;}
.support-card .ic{width:56px;height:56px;border-radius:15px;background:linear-gradient(160deg,var(--yellow-1),var(--yellow-2));display:flex;align-items:center;justify-content:center;font-size:27px;margin:0 auto 16px;}
.support-card h3{font-size:18px;color:var(--pine);margin-bottom:8px;}
.support-card p{font-size:14.5px;color:var(--muted);line-height:1.7;}
.support-card a{color:var(--pine-soft);font-weight:700;}
@media(max-width:760px){.support-grid{grid-template-columns:1fr;}}

/* FAQ */
.faq{max-width:820px;margin:0 auto;}
.faq-item{border:1px solid var(--line);border-radius:14px;margin-bottom:12px;background:#fff;overflow:hidden;}
.faq-item summary{padding:22px 26px;font-weight:700;color:var(--pine);cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;font-size:16.5px;}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{content:'+';font-size:25px;color:var(--ochre);font-weight:400;line-height:1;}
.faq-item[open] summary::after{content:'\2212';}
.faq-item[open] summary{border-bottom:1px solid var(--line);}
.faq-a{padding:20px 26px 24px;color:var(--muted);font-size:15px;line-height:1.75;}

/* FOOTER */
footer{background:#1a1d1b;color:#B7BDB9;padding:56px 0 40px;font-size:14px;}
footer .cols{display:flex;justify-content:space-between;flex-wrap:wrap;gap:32px;margin-bottom:36px;}
footer h4{color:#fff;font-size:15px;margin-bottom:14px;font-weight:700;}
footer a:hover{color:#fff;}
footer .biz div{margin-bottom:5px;}
footer .links a{display:block;margin-bottom:8px;}
footer .bottom{border-top:1px solid #2c302d;padding-top:20px;color:#7d837f;font-size:13px;}

/* 스크롤 등장 애니메이션 — 블록 통째로 좌/우/아래에서 */
.reveal-left,.reveal-right,.reveal-up{opacity:0;transition:opacity .85s cubic-bezier(.2,.7,.25,1),transform .85s cubic-bezier(.2,.7,.25,1);will-change:opacity,transform;}
.reveal-left{transform:translateX(-64px);}
.reveal-right{transform:translateX(64px);}
.reveal-up{transform:translateY(52px);}
.show-visual.reveal-left,.show-visual.reveal-right{transform:translateX(var(--vx,-64px)) scale(.92);}
.reveal-right.show-visual{--vx:64px;}
.reveal-left.show-visual{--vx:-64px;}
.in{opacity:1!important;transform:none!important;}
@media(prefers-reduced-motion:reduce){
  .reveal-left,.reveal-right,.reveal-up{opacity:1!important;transform:none!important;transition:none!important;}
}

/* 공지사항 아코디언 */
.notice-acc{max-width:820px;margin:0 auto;border-top:2px solid var(--pine);}
.notice-acc details{border-bottom:1px solid var(--line);}
.notice-acc summary{display:flex;gap:18px;align-items:center;padding:24px 6px;cursor:pointer;list-style:none;}
.notice-acc summary::-webkit-details-marker{display:none;}
.notice-acc .date{color:var(--ochre);font-weight:700;font-size:14px;min-width:96px;white-space:nowrap;}
.notice-acc .ttl{font-size:17px;font-weight:600;color:var(--ink);flex:1;}
.notice-acc .tag{font-size:12px;font-weight:700;color:var(--pine);background:rgba(244,214,128,.45);padding:3px 9px;border-radius:7px;margin-right:10px;}
.notice-acc summary::after{content:'+';font-size:23px;color:var(--ochre);line-height:1;}
.notice-acc details[open] summary::after{content:'\2212';}
.notice-acc .body{padding:4px 6px 28px;color:var(--muted);font-size:15px;line-height:1.85;white-space:pre-line;}
@media(max-width:600px){.notice-acc summary{flex-wrap:wrap;gap:8px;}.notice-acc .ttl{flex-basis:100%;}}

/* 문의 폼 */
.inquiry{max-width:680px;margin:56px auto 0;background:#fff;border:1px solid var(--line);border-radius:22px;padding:40px 36px;box-shadow:0 14px 40px rgba(35,68,52,.06);}
.inquiry h3{font-size:21px;color:var(--pine);text-align:center;margin-bottom:6px;}
.inquiry .desc{text-align:center;color:var(--muted);font-size:14px;margin-bottom:28px;}
.field{margin-bottom:18px;}
.field label{display:block;font-size:14px;font-weight:700;color:var(--pine);margin-bottom:7px;}
.field label .req{color:#D9534F;}
.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);border-radius:12px;padding:14px 15px;font-size:15px;color:var(--ink);background:#fff;font-family:inherit;transition:border-color .15s;}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--pine-soft);box-shadow:0 0 0 3px rgba(46,107,82,.1);}
.field textarea{min-height:150px;resize:vertical;}
.field .row{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
@media(max-width:560px){.field .row{grid-template-columns:1fr;}}
.agree{display:flex;gap:9px;align-items:flex-start;font-size:13.5px;color:var(--muted);margin:6px 0 22px;line-height:1.5;}
.agree input{width:18px;height:18px;margin-top:1px;flex-shrink:0;accent-color:var(--pine);}
.agree a{color:var(--pine-soft);font-weight:600;text-decoration:underline;}
.inquiry .btn{width:100%;}
.sent-banner{max-width:680px;margin:0 auto 28px;background:#EAF5EF;border:1px solid #BDE0CE;color:#1f5b3e;border-radius:14px;padding:18px 22px;font-size:15px;font-weight:600;text-align:center;}

/* ===== 굿닥식 일반 스크롤 — 큰 섹션·넉넉한 여백·큰 타이포 ===== */
.showcase{ padding: 124px 0; }
.show-row{ gap: 80px; }
.show-text h2{ font-size: clamp(30px, 4vw, 46px); line-height: 1.25; }
.show-text p{ font-size: clamp(16px, 1.6vw, 18.5px); }
.show-text .mini div{ font-size: 15.5px; }
.phone{ width: clamp(270px, 28vw, 350px); }

/* 감성 문제제기 섹션 (굿닥 스타일 — 큰 굵은 한 줄) */
.statement{ padding: 150px 0; text-align: center; }
.statement .accent{ display:inline-block; width:10px; height:10px; border-radius:999px; background:var(--pine-soft); margin-bottom:28px; }
.statement h2{ font-size: clamp(29px, 5vw, 50px); font-weight:800; color:var(--pine); line-height:1.34; letter-spacing:-.03em; }
.statement p{ font-size: clamp(15px, 1.6vw, 18px); color:var(--muted); margin:24px auto 0; line-height:1.75; max-width:540px; }

@media(max-width:820px){
  .showcase{ padding: 76px 0; }
  .show-text p{ margin: 0 auto; }
  .statement{ padding: 96px 0; }
  .statement h2{ font-size: clamp(25px, 7vw, 34px); }
}

/* ===== 카카오톡 채널 플로팅 버튼 ===== */
.kakao-fab{
  position: fixed; right: 18px; bottom: 18px; z-index: 60;
  display: flex; align-items: center; gap: 8px;
  height: 54px; padding: 0 20px 0 16px; border-radius: 999px;
  background: #FEE500; color: #3C1E1E; font-weight: 800; font-size: 14px;
  box-shadow: 0 8px 24px rgba(0,0,0,.2); transition: transform .15s;
}
.kakao-fab:hover{ transform: translateY(-2px); }
.kakao-fab svg{ width: 24px; height: 24px; flex-shrink: 0; }
@media(max-width:600px){
  .kakao-fab{ width: 56px; padding: 0; justify-content: center; right: 16px; bottom: 16px; }
  .kakao-fab span{ display: none; }
}

/* 사업자 정보 (푸터) */
.biz-info{ margin-top: 14px; color:#8b918d; font-size:12.5px; line-height:1.8; max-width:520px; }
.biz-info a{ color:#b7bdb9; text-decoration:underline; }
.biz-info a:hover{ color:#fff; }

/* 글자 크기 조절 컨트롤 (a11y.js가 주입) — 좌하단 고정, 카카오 FAB(우하단)와 겹치지 않음 */
.a11y-font{position:fixed;left:14px;bottom:16px;z-index:60;display:flex;align-items:center;gap:6px;
  background:#fff;border:1px solid var(--line);border-radius:999px;padding:6px 10px;
  box-shadow:0 4px 16px rgba(0,0,0,.12);}
.a11y-font-label{font-size:12px;color:var(--muted);font-weight:700;white-space:nowrap;}
.a11y-font-btn{width:34px;height:34px;border-radius:50%;border:1.5px solid var(--line);background:#fff;
  color:var(--pine);font-weight:800;line-height:1;cursor:pointer;display:flex;align-items:center;
  justify-content:center;transition:all .15s;}
.a11y-font-btn:hover{border-color:var(--pine-soft);}
.a11y-font-btn[aria-pressed="true"]{border-color:var(--pine);background:var(--pine);color:#fff;}
@media(max-width:520px){.a11y-font{left:10px;bottom:12px;gap:4px;padding:5px 8px;}
  .a11y-font-label{display:none;}}
