
:root{--navy:#071a44;--blue:#0b56b5;--sky:#eaf4ff;--yellow:#ffd33d;--ink:#111827;--muted:#667085;--line:#dbe5f2;--bg:#f6f9fc}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:"Pretendard","Noto Sans KR","Malgun Gothic",system-ui,sans-serif;color:var(--ink);background:var(--bg);letter-spacing:0;word-break:keep-all;overflow-wrap:break-word}
a{color:inherit;text-decoration:none}img{max-width:100%;display:block}section{padding:54px 18px}.wrap{max-width:1120px;margin:0 auto}
.topbar{position:sticky;top:0;z-index:20;background:linear-gradient(90deg,var(--navy),var(--blue));color:#fff;text-align:center;font-weight:800;padding:9px 12px;font-size:14px}
.nav{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:35px;z-index:18}.nav .wrap{display:flex;align-items:center;justify-content:space-between;padding:11px 18px}.brand{display:flex;gap:10px;align-items:center;font-weight:900;color:var(--navy)}.brand img{width:46px;height:46px;border-radius:14px}.navlinks{display:flex;gap:8px;font-size:15px;color:#344054}.navlinks a{padding:10px 14px;border:1px solid var(--line);border-radius:999px;background:#fff;font-weight:900}.navlinks a:hover{border-color:#9fc4ff;color:var(--blue)}
.hero{padding:0;background:#fff}.hero-grid{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:.9fr 1.1fr;min-height:670px}.hero-copy{padding:64px 34px 58px;display:flex;flex-direction:column;justify-content:center}.eyebrow{color:var(--blue);font-weight:900;margin-bottom:14px}.hero h1{font-size:clamp(40px,6vw,76px);line-height:1.08;margin:0;color:var(--navy);letter-spacing:0}.hero p{font-size:20px;line-height:1.72;color:#344054;margin:24px 0}.hero-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:18px}.fact{background:#f8fbff;border:1px solid var(--line);border-radius:10px;padding:14px;min-height:78px}.fact strong{display:block;color:var(--navy);font-size:16px;line-height:1.25}.fact span{font-size:13px;color:var(--muted)}.hero-media{position:relative;overflow:hidden;padding:28px;display:flex;align-items:center;background:linear-gradient(140deg,#eaf4ff,#fff)}.hero-media img{width:min(100%,620px);margin:auto;aspect-ratio:1/1;object-fit:cover;border-radius:22px;border:8px solid #071a44;box-shadow:0 28px 70px rgba(7,26,68,.22);animation:breathe 4.5s ease-in-out infinite}.hero-media img[src=""],.carousel-visible img[src=""]{display:none}
.band-white{background:#fff}.band-navy{background:linear-gradient(135deg,#061538,#09265c);color:#fff}.band-navy .section-head h2,.band-navy .story h3,.band-navy .review strong,.band-navy .service h3{color:#fff}.band-navy .section-head p,.band-navy .story p,.band-navy .review p,.band-navy .service p{color:#dce9ff}.band-navy .review small{color:#ffd33d}.band-navy .story,.band-navy .review,.band-navy .service{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.22)}.band-navy .badges span{background:rgba(255,255,255,.13);border-color:rgba(255,255,255,.23);color:#fff}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:22px}.section-head h2{font-size:clamp(27px,4vw,44px);line-height:1.14;color:var(--navy);margin:0}.section-head p{color:var(--muted);margin:0;max-width:560px;line-height:1.7}.carousel-visible{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(180px,230px);gap:14px;overflow-x:auto;padding:2px 0 16px;scroll-snap-type:x mandatory}.carousel-visible a{scroll-snap-align:start;background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden;box-shadow:0 12px 26px rgba(15,23,42,.07);transition:transform .22s,box-shadow .22s;animation:cardRise .55s ease both}.carousel-visible a:nth-child(2){animation-delay:.05s}.carousel-visible a:nth-child(3){animation-delay:.1s}.carousel-visible a:nth-child(4){animation-delay:.15s}.carousel-visible a:nth-child(5){animation-delay:.2s}.carousel-visible a:nth-child(6){animation-delay:.25s}.carousel-visible a:hover{transform:translateY(-5px);box-shadow:0 18px 36px rgba(15,23,42,.13)}.carousel-visible img{aspect-ratio:1/1;object-fit:cover;background:#eef5ff}.carousel-visible strong{display:block;padding:12px 12px 4px;color:var(--navy);line-height:1.25}.carousel-visible span{display:block;padding:0 12px 14px;color:var(--muted);font-size:13px;line-height:1.35}
.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.service{background:#fff;border:1px solid var(--line);border-radius:10px;padding:20px;box-shadow:0 12px 28px rgba(15,23,42,.05);animation:cardFloat 3.8s ease-in-out infinite}.service:nth-child(2){animation-delay:.25s}.service:nth-child(3){animation-delay:.5s}.service:nth-child(4){animation-delay:.75s}.service i{font-style:normal;width:42px;height:42px;border-radius:999px;display:grid;place-items:center;background:#fff;color:var(--blue);font-size:24px;font-weight:900;box-shadow:0 8px 22px rgba(15,23,42,.13);animation:iconPulse 2s ease-in-out infinite}.service h3{color:var(--navy);margin:16px 0 8px;line-height:1.3}.service p{color:var(--muted);line-height:1.65;margin:0;font-size:15px}
.price-band{background:var(--navy);color:#fff}.price-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:18px;align-items:center}.price-boxes{display:grid;grid-template-columns:1fr 1fr;gap:12px}.price-box{background:#fff;color:var(--navy);border-radius:8px;padding:20px}.price-box b{font-size:44px;color:var(--blue)}.price-band p{color:#d9e7ff;line-height:1.7}
.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.story,.review,.accordion details{background:#fff;border:1px solid var(--line);border-radius:8px;padding:20px;box-shadow:0 12px 28px rgba(15,23,42,.05)}.story h3,.review strong{color:var(--navy)}.story p,.review p,.accordion p{color:#475467;line-height:1.7}.badges{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.badges span{font-size:13px;background:#eef5ff;color:var(--blue);border:1px solid #cfe1fb;padding:7px 10px;border-radius:999px}
.review-row{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.review small{color:var(--blue);font-weight:900}.accordion{display:grid;gap:10px}.accordion summary{cursor:pointer;font-weight:900;color:var(--navy);font-size:18px}.accordion details[open]{border-color:#bdd6ff}
.case-grid{display:grid;gap:16px}.case-card{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden;box-shadow:0 14px 32px rgba(15,23,42,.08);animation:cardRise .55s ease both}.case-card:nth-child(2){animation-delay:.08s}.case-card:nth-child(3){animation-delay:.16s}.case-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:0}.case-before{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:#dbe5f2}.case-before.single{grid-template-columns:1fr}.case-after{position:relative;background:#eef5ff}.case-card img{width:100%;height:100%;min-height:260px;object-fit:cover}.case-label{position:absolute;left:12px;top:12px;background:rgba(7,26,68,.92);color:#fff;border-radius:999px;padding:7px 11px;font-size:13px;font-weight:900}.case-before-wrap{position:relative}.case-before-wrap .case-label{background:rgba(71,84,103,.9)}.case-copy{padding:18px 20px}.case-copy h3{margin:0 0 8px;color:var(--navy);font-size:21px}.case-copy p{margin:0;color:#475467;line-height:1.65}.case-note{margin-top:18px;color:var(--muted);line-height:1.7}
.link-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.link-grid a{background:#fff;border:1px solid var(--line);border-radius:8px;padding:14px;color:var(--navy);font-weight:800}.footer{background:#07111f;color:#dce7f7;padding:34px 18px 94px}.footer .wrap{display:grid;gap:10px}.footer a{text-decoration:underline}
.floating-actions{position:fixed;left:14px;right:14px;bottom:14px;z-index:30;display:grid;grid-template-columns:1.15fr .85fr;gap:10px}.floating-actions a{min-height:60px;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:19px;font-weight:1000;box-shadow:0 18px 40px rgba(11,86,181,.35);animation:pulse 1.8s infinite}.floating-actions .tel{background:linear-gradient(90deg,var(--blue),#073b91);color:#fff}.floating-actions .sms{background:linear-gradient(90deg,#ffd33d,#ffb900);color:var(--navy)}@keyframes pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.018)}}@keyframes breathe{0%,100%{transform:scale(1)}50%{transform:scale(1.025)}}@keyframes cardRise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes cardFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes iconPulse{0%,100%{box-shadow:0 8px 22px rgba(15,23,42,.13)}50%{box-shadow:0 8px 24px rgba(255,211,61,.38)}}
.naver-carousel-dom{position:absolute;left:-9999px;top:0;width:1px;height:1px;overflow:hidden;opacity:.01}
@media(max-width:860px){.topbar{font-size:13px;line-height:1.35}.nav{top:34px}.nav .wrap{padding:9px 14px}.navlinks{display:flex;gap:6px}.navlinks a{font-size:13px;padding:8px 10px}.brand span{display:none}.hero-grid{grid-template-columns:1fr}.hero-media{order:1;min-height:0;padding:18px 18px 8px}.hero-media img{width:min(100%,520px);border-width:6px;border-radius:18px}.hero-copy{order:2;padding:24px 20px 32px}.hero-facts{grid-template-columns:repeat(2,1fr)}.service-grid{grid-template-columns:repeat(2,1fr)}.story-grid,.review-row,.price-grid,.link-grid,.case-layout{grid-template-columns:1fr}.price-boxes{grid-template-columns:1fr 1fr}section{padding:42px 16px}.section-head{display:block}.section-head p{margin-top:10px}.carousel-visible{grid-auto-columns:minmax(150px,42vw);gap:12px}.carousel-visible strong{font-size:14px;padding:10px 10px 3px}.carousel-visible span{font-size:12px;padding:0 10px 12px}.hero h1{font-size:38px;line-height:1.12}.hero p{font-size:17px;margin:18px 0;line-height:1.72}.footer{padding-bottom:106px}.service{padding:16px}.service i{width:38px;height:38px;font-size:22px}.service p{font-size:14px}.case-card img{min-height:190px}.case-before{grid-template-columns:1fr 1fr}}
@media(max-width:420px){.price-boxes{grid-template-columns:1fr}.hero-facts{grid-template-columns:1fr 1fr}.hero-media{padding:14px 14px 2px}.floating-actions{grid-template-columns:1fr 1fr}.floating-actions a{font-size:16px;min-height:58px}.fact{padding:12px}.fact strong{font-size:15px}.fact span{font-size:12px}}
