:root{--navy:#1E468C;--navy-dark:#12306A;--navy-deep:#0A1E45;--gold:#FAB400;--gold-light:#FFC933;--green:#32A050;--kakao:#FEE500;--white:#FFFFFF;--gray-light:#F5F7FA;--gray:#8B95A1;--text:#1A1F2E;}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:"Noto Sans KR",sans-serif;color:var(--text);overflow-x:hidden;background:var(--white);}

/* NAV */
nav{position:fixed;top:0;width:100%;z-index:200;background:rgba(10,30,69,0.97);backdrop-filter:blur(12px);padding:0 40px;display:flex;align-items:center;justify-content:space-between;height:64px;border-bottom:1px solid rgba(250,180,0,0.2);}
.nav-logo{font-family:"Noto Serif KR",serif;font-weight:700;font-size:1rem;color:var(--white);line-height:1.3;}
.nav-logo span{color:var(--gold);}
.nav-logo small{display:block;font-size:0.875rem;color:rgba(255,255,255,0.70);font-family:"Noto Sans KR",sans-serif;font-weight:400;letter-spacing:0.05em;}
.nav-right{display:flex;align-items:center;gap:10px;}
.nav-phone{color:var(--white);font-size:0.875rem;font-weight:700;text-decoration:none;display:flex;align-items:center;gap:6px;padding:10px 14px;border-radius:4px;border:1px solid rgba(255,255,255,0.2);transition:background 0.2s;white-space:nowrap;}
.nav-phone:hover{background:rgba(255,255,255,0.1);}
.nav-cta{background:var(--gold);color:var(--navy-deep);font-weight:700;font-size:0.875rem;padding:10px 22px;border-radius:4px;border:none;cursor:pointer;font-family:"Noto Sans KR",sans-serif;transition:background 0.2s;}
.nav-cta:hover{background:var(--gold-light);}

/* HERO */
.hero{min-height:100vh;background:linear-gradient(135deg,var(--navy-deep) 0%,var(--navy) 60%,#0d2550 100%);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:120px 24px 80px;position:relative;overflow:hidden;}
#heroGlobe{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;}
.hero-inner{position:relative;z-index:5;display:flex;flex-direction:column;align-items:center;width:100%;}

.hero-inner{position:relative;z-index:5;display:flex;flex-direction:column;align-items:center;width:100%;}

/* 배지 — 상단 작은 텍스트 */
.hero-badge{
  display:inline-flex;align-items:center;gap:8px;
  background:rgba(250,180,0,0.15);
  border:1px solid rgba(250,180,0,0.5);
  color:var(--gold);
  font-size:0.875rem;font-weight:700;letter-spacing:0.08em;
  padding:7px 18px;border-radius:100px;margin-bottom:28px;
  animation:fadeUp 0.6s ease both;
  text-shadow:0 1px 8px rgba(0,0,0,0.6);
  box-shadow:0 2px 16px rgba(0,0,0,0.25);
}

/* 메인 제목 */
.hero h1{
  font-family:"Noto Serif KR",serif;
  font-size:clamp(2rem,5vw,4rem);font-weight:900;
  color:var(--white);line-height:1.25;letter-spacing:-0.03em;
  margin-bottom:20px;
  animation:fadeUp 0.7s 0.1s ease both;
  text-shadow:
    0 1px 4px rgba(0,0,0,0.9),
    0 2px 16px rgba(0,0,0,0.6),
    0 4px 40px rgba(10,30,69,0.5);
}
.hero h1 em{font-style:normal;color:var(--gold);position:relative;}
.hero h1 em::after{content:"";position:absolute;left:0;bottom:-4px;right:0;height:3px;background:var(--gold);border-radius:2px;}

/* 부제목 — font-weight 300→400, 크기 살짝 키움, 강한 shadow */
.hero-sub{
  font-size:clamp(1rem,2vw,1.18rem);
  color:rgba(255,255,255,0.95);
  line-height:1.85;max-width:560px;
  margin:0 auto 40px;
  font-weight:400;
  animation:fadeUp 0.7s 0.2s ease both;
  text-shadow:
    0 1px 4px rgba(0,0,0,0.85),
    0 2px 16px rgba(0,0,0,0.5);
}
.hero-sub strong{color:var(--white);font-weight:700;}

/* 설계사 프로필 카드 */
.agent-card{background:rgba(255,255,255,0.07);border:1px solid rgba(250,180,0,0.3);border-radius:16px;padding:20px 32px;display:inline-flex;align-items:center;gap:20px;margin-bottom:36px;animation:fadeUp 0.7s 0.25s ease both;}
.agent-avatar{width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,var(--gold),#e5a000);display:flex;align-items:center;justify-content:center;font-family:"Noto Serif KR",serif;font-size:1.3rem;font-weight:900;color:var(--navy-deep);flex-shrink:0;}
.agent-info{text-align:left;}
.agent-name{font-family:"Noto Serif KR",serif;font-size:1.1rem;font-weight:900;color:var(--white);margin-bottom:4px;}
.agent-tags{display:flex;gap:6px;flex-wrap:wrap;}
.agent-tag{background:rgba(250,180,0,0.2);border:1px solid rgba(250,180,0,0.4);color:var(--gold);font-size:0.875rem;font-weight:700;padding:4px 12px;border-radius:100px;letter-spacing:0.05em;}

.hero-btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;animation:fadeUp 0.7s 0.3s ease both;}
.btn-gold{background:var(--gold);color:var(--navy-deep);font-size:1rem;font-weight:700;padding:16px 36px;border-radius:6px;border:none;cursor:pointer;display:inline-flex;align-items:center;gap:8px;box-shadow:0 4px 24px rgba(250,180,0,0.35);transition:transform 0.2s,box-shadow 0.2s;font-family:"Noto Sans KR",sans-serif;}
.btn-gold:hover{transform:translateY(-2px);box-shadow:0 8px 32px rgba(250,180,0,0.45);}
.btn-outline{background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.25);color:var(--white);font-size:1rem;font-weight:500;padding:16px 36px;border-radius:6px;cursor:pointer;transition:background 0.2s;font-family:"Noto Sans KR",sans-serif;}
.btn-outline:hover{background:rgba(255,255,255,0.15);}
.hero-stats{display:flex;gap:48px;justify-content:center;margin-top:64px;padding-top:40px;border-top:1px solid rgba(255,255,255,0.2);animation:fadeUp 0.7s 0.4s ease both;flex-wrap:wrap;}
.stat-num{
  font-family:"Noto Serif KR",serif;font-size:2rem;font-weight:900;
  color:var(--gold);display:block;
  text-shadow:0 1px 4px rgba(0,0,0,0.8),0 2px 16px rgba(0,0,0,0.4);
}
.stat-label{
  font-size:1rem;font-weight:500;
  color:rgba(255,255,255,0.92);
  margin-top:5px;letter-spacing:0.04em;
  text-shadow:0 1px 6px rgba(0,0,0,0.7);
}
@keyframes fadeUp{from{opacity:0;transform:translateY(24px);}to{opacity:1;transform:translateY(0);}}

/* SECTIONS */
section{padding:100px 24px;}
.container{max-width:1080px;margin:0 auto;}
.sec-label{font-size:0.875rem;font-weight:700;letter-spacing:0.15em;color:var(--gold);text-transform:uppercase;margin-bottom:16px;display:block;}
.sec-title{font-family:"Noto Serif KR",serif;font-size:clamp(1.8rem,3.5vw,2.8rem);font-weight:900;line-height:1.3;letter-spacing:-0.03em;color:var(--navy-deep);margin-bottom:16px;}
.sec-title em{font-style:normal;color:var(--navy);border-bottom:3px solid var(--gold);padding-bottom:2px;}
.sec-desc{font-size:1rem;color:var(--gray);line-height:1.8;max-width:600px;}
.reveal{opacity:0;transform:translateY(28px);transition:opacity 0.65s ease,transform 0.65s ease;}
.reveal.visible{opacity:1;transform:translateY(0);}

/* 최미혜 설계사 소개 섹션 */
.agent-section{background:linear-gradient(135deg,var(--navy-deep) 0%,var(--navy) 100%);position:relative;overflow:hidden;}
.agent-layout{display:grid;grid-template-columns:300px 1fr;gap:80px;align-items:center;}
.agent-section::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 60% 80% at 80% 50%,rgba(250,180,0,0.08) 0%,transparent 70%);animation:glowShift 10s ease-in-out infinite alternate;}
@keyframes glowShift{0%{opacity:0.6;}100%{opacity:1;}}
.agent-section .container{position:relative;z-index:1;}
.agent-photo{width:280px;height:280px;border-radius:50%;background:linear-gradient(135deg,rgba(250,180,0,0.2),rgba(30,70,140,0.4));border:4px solid rgba(250,180,0,0.4);display:flex;align-items:center;justify-content:center;margin:0 auto;position:relative;}
.agent-photo::after{content:"";position:absolute;inset:-8px;border-radius:50%;border:2px solid rgba(250,180,0,0.15);}
.agent-photo-inner{font-size:4.5rem;}
.agent-text{color:var(--white);}
.agent-text .sec-title{color:var(--white);}
.agent-quote{font-family:"Noto Serif KR",serif;font-size:1.1rem;color:rgba(255,255,255,0.8);line-height:1.9;margin-bottom:32px;border-left:3px solid var(--gold);padding-left:20px;}
.agent-facts{display:flex;flex-direction:column;gap:14px;}
.agent-fact{display:flex;align-items:center;gap:14px;background:rgba(255,255,255,0.06);border-radius:10px;padding:14px 18px;}
.fact-icon{font-size:1.3rem;flex-shrink:0;}
.fact-text strong{display:block;font-size:1rem;font-weight:700;color:var(--gold);margin-bottom:4px;}
.fact-text span{font-size:1rem;color:rgba(255,255,255,0.78);font-weight:400;line-height:1.65;}

/* 30년 타임라인 */
.timeline-section{background:var(--gray-light);}
.timeline{margin-top:60px;position:relative;}
.timeline::before{content:"";position:absolute;left:50%;transform:translateX(-50%);top:0;bottom:0;width:2px;background:linear-gradient(180deg,var(--gold),var(--navy));}
.tl-item{display:flex;gap:40px;margin-bottom:48px;align-items:flex-start;}
.tl-item:nth-child(odd){flex-direction:row;}
.tl-item:nth-child(even){flex-direction:row-reverse;}
.tl-content{flex:1;background:var(--white);border-radius:12px;padding:24px 28px;box-shadow:0 4px 20px rgba(0,0,0,0.07);position:relative;}
.tl-item:nth-child(odd) .tl-content{text-align:right;}
.tl-item:nth-child(even) .tl-content{text-align:left;}
.tl-year{font-family:"Noto Serif KR",serif;font-size:1.4rem;font-weight:900;color:var(--gold);margin-bottom:6px;}
.tl-title{font-weight:700;font-size:1rem;color:var(--navy-deep);margin-bottom:6px;}
.tl-desc{font-size:1rem;color:var(--gray);line-height:1.7;}
.tl-dot{width:16px;height:16px;border-radius:50%;background:var(--gold);border:3px solid var(--white);box-shadow:0 0 0 3px var(--gold);flex-shrink:0;margin-top:28px;position:relative;z-index:1;}
.tl-empty{flex:1;}

/* WHY GA */
.why-ga{background:var(--white);}
.why-ga-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;margin-top:60px;}
.why-ga-text .big-quote{font-family:"Noto Serif KR",serif;font-size:clamp(1.5rem,3vw,2.2rem);font-weight:900;color:var(--navy-deep);line-height:1.4;margin-bottom:24px;}
.why-ga-text .big-quote em{font-style:normal;color:var(--navy);border-bottom:3px solid var(--gold);}
.why-ga-text p{font-size:1rem;color:var(--gray);line-height:1.9;margin-bottom:20px;}
.compare-table{border-radius:16px;overflow:hidden;border:2px solid #E8EDF4;}
.compare-row{display:grid;grid-template-columns:1.2fr 1fr 1fr;border-bottom:1px solid #E8EDF4;}
.compare-row:last-child{border-bottom:none;}
.compare-row.header{background:var(--navy-deep);}
.compare-cell{padding:14px 18px;font-size:1rem;}
.compare-row.header .compare-cell{color:rgba(255,255,255,0.85);font-weight:700;font-size:0.875rem;letter-spacing:0.05em;}
.compare-cell.label{font-weight:700;color:var(--navy-deep);background:var(--gray-light);}
.compare-cell.bad{color:#e53e3e;font-weight:500;}
.compare-cell.good{color:var(--green);font-weight:700;}
.compare-row.highlight{background:rgba(250,180,0,0.06);}

/* PROBLEM */
.problem{background:var(--gray-light);}
.prob-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;margin-top:60px;}
.prob-list{list-style:none;display:flex;flex-direction:column;gap:20px;}
.prob-item{background:var(--white);border-left:4px solid var(--gold);border-radius:0 8px 8px 0;padding:20px 24px;display:flex;align-items:flex-start;gap:14px;box-shadow:0 2px 12px rgba(0,0,0,0.06);}
.prob-item .ico{font-size:1.4rem;flex-shrink:0;margin-top:2px;}
.prob-item h4{font-weight:700;font-size:1rem;color:var(--navy-deep);margin-bottom:4px;}
.prob-item p{font-size:1rem;color:var(--gray);line-height:1.6;}
.prob-visual{background:linear-gradient(135deg,var(--navy-deep),var(--navy));border-radius:16px;padding:48px 40px;text-align:center;color:var(--white);}
.big-num{font-family:"Noto Serif KR",serif;font-size:5rem;font-weight:900;color:var(--gold);line-height:1;display:block;}
.prob-visual p{font-size:1rem;color:rgba(255,255,255,0.7);margin-top:12px;line-height:1.7;}
.prob-highlight{display:inline-block;margin-top:24px;background:rgba(250,180,0,0.15);border:1px solid rgba(250,180,0,0.3);color:var(--gold);font-size:0.875rem;font-weight:700;padding:8px 20px;border-radius:100px;}

/* SAVINGS */
.savings{background:var(--white);}
.sav-visual{display:flex;align-items:center;gap:24px;background:linear-gradient(135deg,var(--navy-deep),var(--navy));border-radius:20px;padding:48px 40px;margin:48px 0 36px;flex-wrap:wrap;justify-content:center;}
.sav-side{text-align:center;flex:1;min-width:200px;}
.sav-lbl{font-size:0.875rem;font-weight:700;letter-spacing:0.1em;color:rgba(255,255,255,0.72);margin-bottom:12px;text-transform:uppercase;display:block;}
.sav-lbl.after{color:var(--gold);}
.sav-amt{font-family:"Noto Serif KR",serif;font-size:2.4rem;font-weight:900;line-height:1;margin-bottom:12px;}
.sav-amt span{font-size:1rem;font-weight:400;margin-left:4px;}
.sav-before{color:rgba(255,255,255,0.45);text-decoration:line-through;}
.sav-after{color:var(--gold);}
.sav-desc{font-size:1rem;color:rgba(255,255,255,0.45);line-height:1.6;}
.sav-mid{display:flex;flex-direction:column;align-items:center;gap:12px;flex-shrink:0;}
.sav-badge{background:rgba(250,180,0,0.15);border:2px solid var(--gold);border-radius:12px;padding:16px 24px;text-align:center;}
.sav-badge .bs{display:block;font-size:0.875rem;font-weight:700;letter-spacing:0.1em;color:var(--gold);margin-bottom:4px;}
.sav-badge strong{display:block;font-family:"Noto Serif KR",serif;font-size:1.6rem;font-weight:900;color:var(--gold);}
.sav-badge small{display:block;font-size:0.875rem;color:rgba(255,255,255,0.72);margin-top:4px;}
.sav-table{background:var(--gray-light);border-radius:16px;padding:32px;}
.sav-table-title{font-weight:700;font-size:1rem;color:var(--navy-deep);margin-bottom:20px;}
.sav-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:24px;}
.sav-cell{background:var(--white);border-radius:8px;padding:12px 14px;border-left:3px solid var(--gold);}
.sav-cell .cn{display:block;font-size:1rem;color:var(--gray);}
.sav-cell .cv{display:block;font-size:1rem;font-weight:700;color:var(--green);}
.sav-cta{text-align:center;}
.btn-navy{display:inline-block;background:var(--navy);color:var(--white);font-size:1rem;font-weight:700;padding:14px 32px;border-radius:6px;text-decoration:none;transition:background 0.2s,transform 0.2s;}
.btn-navy:hover{background:var(--navy-dark);transform:translateY(-2px);}

/* TYPES */
.types-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px;margin-top:60px;}
.type-card{border:2px solid #E8EDF4;border-radius:12px;padding:32px 28px;transition:border-color 0.2s,transform 0.2s,box-shadow 0.2s;position:relative;overflow:hidden;}
.type-card::after{content:"";position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform 0.3s;}
.type-card:hover{border-color:var(--navy);transform:translateY(-4px);box-shadow:0 12px 40px rgba(30,70,140,0.12);}
.type-card:hover::after{transform:scaleX(1);}
.type-ico{font-size:2.2rem;margin-bottom:16px;display:block;}
.type-card h3{font-family:"Noto Serif KR",serif;font-size:1.05rem;font-weight:700;color:var(--navy-deep);margin-bottom:8px;}
.type-card p{font-size:1rem;color:var(--gray);line-height:1.7;}
.type-tag{display:inline-block;margin-top:14px;background:#EEF3FB;color:var(--navy);font-size:0.875rem;font-weight:700;padding:4px 12px;border-radius:100px;}

/* WHY NUM */
.why{background:linear-gradient(135deg,var(--navy-deep) 0%,var(--navy) 100%);color:var(--white);position:relative;overflow:hidden;}
.why-bg{position:absolute;inset:0;pointer-events:none;animation:whyShift 10s ease-in-out infinite alternate;}
@keyframes whyShift{0%{background:radial-gradient(ellipse 60% 50% at 15% 50%,rgba(250,180,0,0.08) 0%,transparent 70%);}100%{background:radial-gradient(ellipse 60% 50% at 75% 40%,rgba(250,180,0,0.09) 0%,transparent 70%);}}
.why .container{position:relative;z-index:1;}
.why .sec-title{color:var(--white);}
.why .sec-desc{color:rgba(255,255,255,0.6);}
.why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;margin-top:60px;border:2px solid rgba(255,255,255,0.1);border-radius:16px;overflow:hidden;}
.why-item{padding:40px 28px;background:rgba(255,255,255,0.04);border-right:1px solid rgba(255,255,255,0.08);transition:background 0.2s;text-align:center;}
.why-item:last-child{border-right:none;}
.why-item:hover{background:rgba(255,255,255,0.08);}
.why-num{font-family:"Noto Serif KR",serif;font-size:2.8rem;font-weight:900;color:var(--gold);display:block;margin-bottom:8px;}
.why-item h4{font-size:1rem;font-weight:700;color:var(--white);margin-bottom:8px;}
.why-item p{font-size:1rem;color:rgba(255,255,255,0.72);line-height:1.65;}

/* PROCESS */
.process{background:var(--gray-light);}
.proc-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:60px;position:relative;}
.proc-steps::before{content:"";position:absolute;top:36px;left:calc(16.67% + 24px);right:calc(16.67% + 24px);height:2px;background:var(--gold);z-index:0;}
.step{text-align:center;padding:0 24px;position:relative;z-index:1;}
.step-num{width:72px;height:72px;background:var(--navy);color:var(--white);border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:"Noto Serif KR",serif;font-size:1.5rem;font-weight:900;margin:0 auto 24px;border:3px solid var(--gold);position:relative;z-index:2;}
.step h3{font-family:"Noto Serif KR",serif;font-size:1.05rem;font-weight:700;color:var(--navy-deep);margin-bottom:10px;}
.step p{font-size:1rem;color:var(--gray);line-height:1.7;}
.step-time{display:inline-block;margin-top:12px;background:var(--gold);color:var(--navy-deep);font-size:0.875rem;font-weight:700;padding:4px 12px;border-radius:100px;}

/* TESTIMONIAL */
.testimonial{background:var(--white);}
.quote-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px;margin-top:60px;}
.quote-card{background:var(--gray-light);border-radius:12px;padding:32px;position:relative;}
.quote-card::before{content:"C";position:absolute;top:16px;left:24px;font-family:"Noto Serif KR",serif;font-size:4rem;font-weight:900;color:var(--gold);opacity:0.3;line-height:1;}
.quote-text{font-size:1rem;line-height:1.8;color:var(--text);margin-bottom:20px;margin-top:20px;}
.quote-author{display:flex;align-items:center;gap:12px;}
.author-av{width:40px;height:40px;border-radius:50%;background:var(--navy);display:flex;align-items:center;justify-content:center;color:var(--white);font-size:1rem;}
.author-info strong{display:block;font-size:1rem;font-weight:700;color:var(--navy-deep);}
.author-info span{font-size:0.875rem;color:var(--gray);}
.stars{color:var(--gold);font-size:0.875rem;margin-bottom:4px;}

/* INSURERS */
.ins-wrap{margin-top:48px;border:2px solid #E8EDF4;border-radius:16px;overflow:hidden;}
.ins-grp{padding:32px 36px;}
.ins-div{height:2px;background:#E8EDF4;}
.ins-lbl{font-size:0.875rem;font-weight:700;letter-spacing:0.1em;color:var(--navy);margin-bottom:16px;text-transform:uppercase;}
.ins-list{display:flex;flex-wrap:wrap;gap:10px;}
.ins-list span{background:var(--gray-light);color:var(--text);font-size:1rem;font-weight:500;padding:8px 16px;border-radius:100px;border:1px solid #E0E6EF;transition:border-color 0.2s,color 0.2s;}
.ins-list span:hover{border-color:var(--navy);color:var(--navy);}
.ins-note{margin-top:20px;text-align:center;font-size:1rem;color:var(--gray);}

/* CTA */
.cta{background:linear-gradient(135deg,var(--navy-deep),var(--navy));text-align:center;padding:120px 24px;position:relative;overflow:hidden;}
.cta-bg{position:absolute;inset:0;pointer-events:none;}
.cta-bg::before{content:"";position:absolute;width:80%;height:60%;border-radius:50%;background:radial-gradient(ellipse,rgba(250,180,0,0.15) 0%,transparent 70%);bottom:-20%;left:10%;animation:glowPulse 8s ease-in-out infinite;}
.cta-bg::after{content:"";position:absolute;top:-20%;left:20%;width:100px;height:200%;background:linear-gradient(180deg,transparent,rgba(250,180,0,0.06),transparent);transform:rotate(-30deg);animation:ctaRay 14s ease-in-out infinite;}
@keyframes ctaRay{0%,100%{left:10%;opacity:0.5;}50%{left:70%;opacity:1;}}
.cta-inner{position:relative;z-index:1;}
.cta h2{font-family:"Noto Serif KR",serif;font-size:clamp(2rem,4vw,3.2rem);font-weight:900;color:var(--white);line-height:1.3;letter-spacing:-0.03em;margin-bottom:16px;}
.cta h2 em{font-style:normal;color:var(--gold);}
.cta .cp{font-size:1rem;color:rgba(255,255,255,0.80);margin-bottom:16px;line-height:1.7;}
.cta-contact{font-family:"Noto Serif KR",serif;font-size:1.4rem;font-weight:900;color:var(--gold);margin-bottom:40px;display:block;}
.cta-btns{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;}
.btn-cta1{background:var(--gold);color:var(--navy-deep);font-size:1rem;font-weight:700;padding:18px 36px;border-radius:6px;border:none;cursor:pointer;display:inline-flex;align-items:center;gap:10px;transition:transform 0.2s,box-shadow 0.2s;box-shadow:0 4px 20px rgba(250,180,0,0.3);font-family:"Noto Sans KR",sans-serif;}
.btn-cta1:hover{transform:translateY(-2px);box-shadow:0 8px 32px rgba(250,180,0,0.4);}
.btn-cta2{background:rgba(255,255,255,0.1);border:1px solid rgba(255,255,255,0.3);color:var(--white);font-size:1rem;font-weight:500;padding:18px 36px;border-radius:6px;cursor:pointer;display:inline-flex;align-items:center;gap:10px;transition:background 0.2s;font-family:"Noto Sans KR",sans-serif;text-decoration:none;}
.btn-cta2:hover{background:rgba(255,255,255,0.18);}
.cta-note{margin-top:28px;font-size:0.875rem;color:rgba(255,255,255,0.65);font-weight:500;}

/* FOOTER */
footer{background:var(--navy-deep);padding:48px 24px;text-align:center;border-top:1px solid rgba(255,255,255,0.06);}
.footer-name{font-family:"Noto Serif KR",serif;font-size:1.2rem;font-weight:900;color:var(--gold);margin-bottom:8px;}
.footer-tags{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-bottom:16px;}
.footer-tag{background:rgba(250,180,0,0.15);border:1px solid rgba(250,180,0,0.3);color:var(--gold);font-size:0.875rem;font-weight:700;padding:4px 12px;border-radius:100px;}
footer p{color:rgba(255,255,255,0.62);font-size:1rem;line-height:2;}
footer strong{color:rgba(255,255,255,0.85);}
footer a{color:var(--gold);text-decoration:none;}

/* ====== 우측 플로팅 배너 ====== */
.float-bar{
  position:fixed;right:20px;top:50%;transform:translateY(-50%);
  z-index:500;display:flex;flex-direction:column;gap:10px;
  opacity:0;transition:opacity 0.4s ease;pointer-events:none;
}
.float-bar.show{opacity:1;pointer-events:auto;}
.float-btn{
  width:54px;height:54px;border-radius:50%;border:none;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  font-size:1.3rem;position:relative;
  transition:transform 0.2s,box-shadow 0.2s;
  box-shadow:0 4px 16px rgba(0,0,0,0.2);
}
.float-btn:hover{transform:scale(1.12);}
.float-btn .flabel{
  position:absolute;right:64px;
  background:var(--navy-deep);color:var(--white);
  font-size:0.875rem;font-weight:700;font-family:"Noto Sans KR",sans-serif;
  padding:6px 12px;border-radius:6px;white-space:nowrap;
  opacity:0;transform:translateX(8px);transition:opacity 0.2s,transform 0.2s;
  pointer-events:none;
}
.float-btn:hover .flabel{opacity:1;transform:translateX(0);}
.float-kakao{background:var(--kakao);}
.float-phone{background:#27a745;}
.float-consult{background:var(--gold);}
.float-pulse{animation:pulse 2s infinite;}
@keyframes pulse{0%,100%{box-shadow:0 4px 16px rgba(0,0,0,0.2);}50%{box-shadow:0 4px 24px rgba(250,180,0,0.5);}}

/* 모바일 하단 고정 바 */
.mobile-bar{display:none !important;}
.mobile-btn{display:none;}

/* MODAL */
.modal-overlay{display:none;position:fixed;inset:0;z-index:999;background:rgba(10,30,69,0.75);backdrop-filter:blur(6px);align-items:center;justify-content:center;padding:20px;}
.modal-overlay.open{display:flex;}
.modal-box{background:var(--white);border-radius:20px;padding:44px 40px;width:100%;max-width:560px;position:relative;box-shadow:0 24px 80px rgba(0,0,0,0.3);animation:mIn 0.3s ease;max-height:90vh;overflow-y:auto;}
@keyframes mIn{from{opacity:0;transform:translateY(20px) scale(0.97);}to{opacity:1;transform:none;}}
.modal-close{position:absolute;top:16px;right:20px;background:none;border:none;font-size:1.2rem;color:var(--gray);cursor:pointer;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background 0.2s;}
.modal-close:hover{background:var(--gray-light);}
.modal-badge{display:inline-block;background:var(--gold);color:var(--navy-deep);font-size:0.875rem;font-weight:700;letter-spacing:0.12em;padding:4px 12px;border-radius:100px;margin-bottom:14px;}
.modal-title{font-family:"Noto Serif KR",serif;font-size:1.6rem;font-weight:900;color:var(--navy-deep);margin-bottom:6px;}
.modal-sub{font-size:1rem;color:var(--gray);margin-bottom:28px;}
.mform{display:flex;flex-direction:column;gap:18px;}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.fgrp{display:flex;flex-direction:column;gap:6px;}
.fgrp label{font-size:1rem;font-weight:700;color:var(--navy-deep);}
.req{color:var(--gold);}
.hint{font-weight:400;color:var(--gray);}
.fgrp input,.fgrp textarea{border:2px solid #E0E6EF;border-radius:8px;padding:12px 14px;font-size:1rem;font-family:"Noto Sans KR",sans-serif;color:var(--text);transition:border-color 0.2s;outline:none;resize:none;}
.fgrp input:focus,.fgrp textarea:focus{border-color:var(--navy);}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px;}
.chip{background:var(--gray-light);border:2px solid #E0E6EF;border-radius:100px;padding:8px 16px;font-size:0.875rem;font-weight:500;color:var(--text);cursor:pointer;transition:all 0.15s;font-family:"Noto Sans KR",sans-serif;}
.chip:hover{border-color:var(--navy);color:var(--navy);}
.chip.on{background:var(--navy);border-color:var(--navy);color:var(--white);font-weight:700;}
.agree-row{display:flex;align-items:flex-start;gap:10px;font-size:1rem;color:var(--text);cursor:pointer;}
.agree-row input{margin-top:3px;accent-color:var(--navy);flex-shrink:0;}
.agree-desc{font-size:0.875rem;color:var(--gray);line-height:1.6;margin-top:-10px;}
.btn-submit{background:linear-gradient(135deg,var(--navy),var(--navy-dark));color:var(--white);font-size:1rem;font-weight:700;padding:16px;border-radius:8px;border:none;cursor:pointer;width:100%;transition:transform 0.2s;font-family:"Noto Sans KR",sans-serif;box-shadow:0 4px 20px rgba(30,70,140,0.3);}
.btn-submit:hover{transform:translateY(-2px);}
.fsuccess{text-align:center;padding:20px 0;display:none;}
.fsuccess-ico{width:64px;height:64px;border-radius:50%;background:var(--green);color:var(--white);font-size:1.8rem;display:flex;align-items:center;justify-content:center;margin:0 auto 16px;}
.fsuccess h4{font-family:"Noto Serif KR",serif;font-size:1.2rem;color:var(--navy-deep);margin-bottom:8px;}
.fsuccess p{font-size:1rem;color:var(--gray);line-height:1.7;}
.dprog{background:#E8EDF4;border-radius:100px;height:6px;margin-bottom:8px;}
.dprog-bar{background:linear-gradient(90deg,var(--navy),var(--gold));height:100%;border-radius:100px;transition:width 0.4s ease;}
.dstep-lbl{font-size:0.875rem;color:var(--gray);font-weight:500;text-align:right;margin-bottom:24px;}
.dstep{display:none;}
.dstep.active{display:block;}
.dq{font-family:"Noto Serif KR",serif;font-size:1.1rem;font-weight:700;color:var(--navy-deep);margin-bottom:18px;}
.dopts{display:flex;flex-direction:column;gap:10px;}
.dopts button{background:var(--gray-light);border:2px solid #E0E6EF;border-radius:10px;padding:14px 18px;font-size:1rem;font-weight:500;color:var(--text);cursor:pointer;text-align:left;transition:all 0.15s;font-family:"Noto Sans KR",sans-serif;}
.dopts button:hover{border-color:var(--navy);color:var(--navy);background:#EEF3FB;transform:translateX(4px);}
.res-ico{font-size:3rem;text-align:center;margin-bottom:12px;}
.res-title{font-family:"Noto Serif KR",serif;font-size:1.3rem;font-weight:900;color:var(--navy-deep);text-align:center;margin-bottom:10px;}
.res-desc{font-size:1rem;color:var(--gray);line-height:1.75;text-align:center;margin-bottom:14px;}
.res-tags{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:20px;}
.res-tags span{background:var(--navy);color:var(--white);font-size:0.875rem;font-weight:700;padding:6px 14px;border-radius:100px;}
.res-cta{font-size:1rem;color:var(--navy);font-weight:700;text-align:center;margin-bottom:18px;}
.btn-restart{background:none;border:none;color:var(--gray);font-size:1rem;cursor:pointer;display:block;margin:12px auto 0;font-family:"Noto Sans KR",sans-serif;text-decoration:underline;}

/* RESPONSIVE */
@media(max-width:768px){
  nav{padding:0 12px;}
  .nav-logo small{display:none;}
  .nav-logo{font-size:0.82rem;}
  .nav-phone{font-size:0.875rem;padding:8px 10px;}
  .nav-cta{padding:8px 14px;font-size:0.875rem;}

  /* 모바일 슬라이드 — 세로 화면에 맞춰 상단 포커스 */
  .slide-1{background-position:65% 15%;}  /* 의사 얼굴·상체 중심 */
  .slide-2{background-position:center 20%;}  /* 가족 상반신 중심 */
  .slide-3{background-position:center 30%;}  /* 커플 상체 중심 */
  /* 설계사 소개 섹션 */
  .agent-layout{grid-template-columns:1fr;gap:32px;}
  .agent-photo{display:none;}
  .why-ga-grid{grid-template-columns:1fr;}
  .prob-grid{grid-template-columns:1fr;}
  .sav-grid{grid-template-columns:repeat(2,1fr);}
  .why-grid{grid-template-columns:1fr 1fr;}
  .proc-steps{grid-template-columns:1fr;gap:40px;}
  .proc-steps::before{display:none;}
  .sav-visual{flex-direction:column;padding:32px 24px;}
  .modal-box{padding:28px 18px;}
  .frow{grid-template-columns:1fr;}
  .float-bar{display:none !important;}
  .mobile-bar{display:flex;}
  /* GA 비교표 모바일 스크롤 */
  .compare-table{overflow-x:auto;display:block;}
  .compare-row{min-width:360px;}
  /* Hero stats 2x2 */
  .hero-stats{gap:24px;}
  .hero-stats .stat{min-width:calc(50% - 24px);}
  /* 타임라인 모바일 */
  .timeline::before{left:20px;}
  .tl-item,.tl-item:nth-child(even){flex-direction:column !important;padding-left:48px;}
  .tl-dot{position:absolute;left:12px;}
  .tl-item{position:relative;}
  .tl-content,.tl-item:nth-child(odd) .tl-content,.tl-item:nth-child(even) .tl-content{text-align:left;}
  .tl-empty{display:none;}
  /* 하단 바 여백 */

  /* 섹션 패딩 축소 */
  section{padding:70px 18px;}
  .hero{padding:100px 18px 60px;}
}
@media(max-width:480px){
  .nav-logo{font-size:0.82rem;}
  .hero h1{font-size:1.8rem;}
  .sec-title{font-size:1.6rem;}
  .compare-cell{padding:10px 12px;font-size:0.875rem;}
  .agent-quote{font-size:0.95rem;}
  .sav-amt{font-size:1.8rem;}
}
