/* LS Homepage Studio — front */
:root{--bg:#fff;--surface:#f2f4f1;--text:#1a2220;--muted:#5d6a66;--primary:#24415c;--accent:#e8a317;--dark:#14212b;--line:#dfe4e0;--on-primary:#fff;--on-accent:#111;--on-dark:#fff;--radius:12px;--container:1160px;--ff-head:'Pretendard',-apple-system,BlinkMacSystemFont,'Apple SD Gothic Neo','Malgun Gothic',sans-serif;--ff-body:'Pretendard',-apple-system,BlinkMacSystemFont,'Apple SD Gothic Neo','Malgun Gothic',sans-serif}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body.lshs-body{margin:0;background:var(--bg);color:var(--text);font:400 17px/1.75 var(--ff-body);-webkit-font-smoothing:antialiased;word-break:keep-all;overflow-wrap:break-word}
img{max-width:100%;height:auto}
a{color:inherit}
h1,h2,h3{font-family:var(--ff-head);line-height:1.25;letter-spacing:-.02em;margin:0;font-weight:700}
p{margin:0 0 1em}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.lshs-wrap{width:min(100% - 48px,var(--container));margin-inline:auto}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px}

/* 섹션 공통 */
.lshs-sec{--s-bg:var(--bg);--s-fg:var(--text);--s-mut:var(--muted);--s-line:var(--line);--s-btn:var(--primary);--s-btn-fg:var(--on-primary);--pad:88px;background:var(--s-bg);color:var(--s-fg);padding:var(--pad) 0}
.pad-s{--pad:52px}.pad-m{--pad:88px}.pad-l{--pad:140px}
.bg-surface{--s-bg:var(--surface)}
.bg-primary{--s-bg:var(--primary);--s-fg:var(--on-primary);--s-btn:var(--accent);--s-btn-fg:var(--on-accent)}
.bg-accent{--s-bg:var(--accent);--s-fg:var(--on-accent);--s-btn:var(--dark);--s-btn-fg:var(--on-dark)}
.bg-dark{--s-bg:var(--dark);--s-fg:var(--on-dark);--s-btn:var(--accent);--s-btn-fg:var(--on-accent)}
.bg-primary,.bg-accent,.bg-dark{--s-mut:color-mix(in srgb,var(--s-fg) 74%,transparent);--s-line:color-mix(in srgb,var(--s-fg) 26%,transparent)}
.lshs-hero{padding:0}

.sec-head{max-width:720px;margin-bottom:56px}
.sec-head.is-center{margin-inline:auto;text-align:center}
.sec-head h2,.split h2,.contact h2,.text-in h2,.cta-in h2{font-size:clamp(1.7rem,3.3vw,2.7rem)}
.sec-intro{color:var(--s-mut);margin:16px 0 0;font-size:1.06rem}

.lshs-btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 28px;border-radius:calc(var(--radius) * .8);background:var(--s-btn,var(--primary));color:var(--s-btn-fg,var(--on-primary));font:600 1rem/1 var(--ff-body);text-decoration:none;border:2px solid transparent;cursor:pointer;transition:filter .15s}
.lshs-btn:hover{filter:brightness(1.08)}
.lshs-btn.ghost{background:transparent;color:inherit;border-color:currentColor}
.btn-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}

/* 첫 화면 */
.hero{padding:var(--pad) 0;position:relative}
.hero h1{font-size:clamp(2.3rem,5.4vw,4.1rem);letter-spacing:-.035em;line-height:1.14}
.hero-text{font-size:1.2rem;color:var(--s-mut);margin:24px 0 0;max-width:34em}
.hero-split .hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:center}
.hero-media img,.split-media img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius);display:block}
.hero-center .hero-grid{text-align:center}
.hero-center .hero-copy{max-width:820px;margin-inline:auto}
.hero-center .hero-text{margin-inline:auto}
.hero-center .btn-row{justify-content:center}
.hero-cover{--s-btn:var(--accent);--s-btn-fg:var(--on-accent);color:#fff;background:var(--dark) center/cover no-repeat;min-height:min(88vh,800px);display:flex;align-items:center}
.hero-cover::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,14,20,.72),rgba(8,14,20,.28))}
.hero-cover .hero-grid{position:relative;width:min(100% - 48px,var(--container))}
.hero-cover .hero-text{color:rgba(255,255,255,.85)}

/* 특징 */
.feat-grid{display:grid;gap:44px 48px}
.feat-grid.cols-2{grid-template-columns:repeat(2,1fr)}
.feat-grid.cols-3{grid-template-columns:repeat(3,1fr)}
.feat-grid.cols-4{grid-template-columns:repeat(4,1fr)}
.feat{border-top:1px solid var(--s-line);padding-top:24px}
.feat-ic{font-size:1.9rem;line-height:1;margin-bottom:16px}
.feat h3{font-size:1.25rem;margin-bottom:10px}
.feat p{color:var(--s-mut);margin:0}

/* 이미지+글 */
.split{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}
.split.is-reverse .split-copy{order:2}
.split.no-media{grid-template-columns:1fr;max-width:760px}
.split.no-media .split-copy{order:0}
.split h2{margin-bottom:24px}
.rich p{color:var(--s-mut)}
.rich p:last-child{margin-bottom:0}

/* 갤러리 */
.gal{columns:3 240px;column-gap:16px}
.gal figure{margin:0 0 16px;break-inside:avoid}
.gal img{width:100%;display:block;border-radius:calc(var(--radius) * .7)}
.gal figcaption{font-size:.9rem;color:var(--s-mut);padding:8px 2px 0}

/* 가격 */
.plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px;align-items:stretch}
.plan{border:1px solid var(--s-line);border-radius:var(--radius);padding:36px 32px;display:flex;flex-direction:column;gap:6px}
.plan h3{font-size:1.2rem}
.plan-desc{color:var(--s-mut);margin:0}
.plan-price{font:700 2.3rem/1.2 var(--ff-head);margin:18px 0 14px;letter-spacing:-.03em}
.plan-price small{font-size:1rem;font-weight:500;color:var(--s-mut);margin-left:4px}
.plan ul{list-style:none;margin:0 0 28px;padding:18px 0 0;border-top:1px solid var(--s-line);flex:1}
.plan li{padding:5px 0 5px 26px;position:relative}
.plan li::before{content:"✓";position:absolute;left:0;color:var(--accent);font-weight:700}
.plan.hl{background:var(--primary);color:var(--on-primary);border-color:var(--primary);--s-btn:var(--accent);--s-btn-fg:var(--on-accent);--s-mut:color-mix(in srgb,var(--on-primary) 75%,transparent);--s-line:color-mix(in srgb,var(--on-primary) 28%,transparent)}

/* 후기 */
.quotes{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:56px 64px}
.quote{margin:0}
.quote blockquote{margin:0 0 20px;font:500 1.3rem/1.6 var(--ff-head);letter-spacing:-.015em}
.quote figcaption{display:flex;flex-direction:column;font-size:.95rem}
.quote figcaption span{color:var(--s-mut)}

/* FAQ */
.faq{max-width:820px}
.faq details{border-bottom:1px solid var(--s-line)}
.faq details:first-child{border-top:1px solid var(--s-line)}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:24px;padding:22px 0;font-weight:600;font-size:1.08rem}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:1.5rem;line-height:1;color:var(--s-mut)}
.faq details[open] summary::after{content:"–"}
.faq-a{padding:0 0 24px;color:var(--s-mut);max-width:44em}

/* CTA */
.cta-in{text-align:center;max-width:760px;margin-inline:auto}
.cta-in p{color:var(--s-mut);margin:16px 0 0;font-size:1.1rem}
.cta-in .btn-row{justify-content:center}

/* 문의 */
.contact{display:grid;grid-template-columns:1fr 1.1fr;gap:72px;align-items:start}
.contact-form{display:grid;gap:22px}
.contact-form label{display:grid;gap:6px;font-size:.92rem;font-weight:600}
.contact-form input,.contact-form textarea{width:100%;padding:12px 0;border:0;border-bottom:1px solid var(--s-line);background:transparent;color:inherit;font:400 1rem/1.5 var(--ff-body);border-radius:0}
.contact-form input:focus,.contact-form textarea:focus{outline:0;border-bottom-color:var(--s-fg)}
.contact-form .lshs-btn{justify-self:start}
.hp{position:absolute;left:-9999px;height:0;overflow:hidden}
.form-ok{color:#1d7a46;font-weight:600;margin:0}
.form-err{color:#b3261e;font-weight:600;margin:0}

/* 글 / HTML */
.text-in{max-width:760px}
.text-in.is-center{margin-inline:auto;text-align:center}
.text-in h2{margin-bottom:24px}
.lshs-html{overflow-wrap:anywhere}
.lshs-html h1{font-size:clamp(2rem,4vw,3rem);margin:0 0 .6em}
.lshs-html h2{font-size:clamp(1.5rem,3vw,2.2rem);margin:1.2em 0 .5em}
.lshs-html h3,.lshs-html h4{margin:1.1em 0 .4em}
.lshs-html img{border-radius:calc(var(--radius) * .6)}
.lshs-html table{border-collapse:collapse;display:block;overflow-x:auto}
.lshs-html td,.lshs-html th{border:1px solid var(--s-line);padding:12px 16px;text-align:left}
.lshs-html th{white-space:nowrap;background:color-mix(in srgb,var(--s-fg) 6%,transparent);width:9em}
.lshs-html table{width:100%}
.lshs-html a{text-decoration:underline;text-underline-offset:3px}

/* 헤더 */
.lshs-header{position:relative;z-index:30;background:var(--bg);color:var(--text);border-bottom:1px solid var(--line)}
.lshs-header.is-sticky{position:sticky;top:0}
.admin-bar .lshs-header.is-sticky{top:32px}
.lshs-header.is-overlay{position:absolute;inset:0 0 auto 0;background:transparent;border-color:rgba(255,255,255,.2);color:#fff}
.hd-in{display:flex;align-items:center;gap:28px;min-height:76px}
.brand{font:700 1.25rem/1 var(--ff-head);letter-spacing:-.02em;text-decoration:none}
.brand img{display:block;max-height:42px;width:auto}
.hd-nav{margin-left:auto;display:flex;align-items:center;gap:32px}
.hd-nav ul{display:flex;gap:28px;list-style:none;margin:0;padding:0}
.hd-nav li a{text-decoration:none;font-weight:500;padding:6px 0;border-bottom:2px solid transparent}
.hd-nav li a:hover{border-bottom-color:currentColor}
.hd-cta{min-height:42px;padding:0 20px;font-size:.95rem}
.hd-toggle{display:none;margin-left:auto;width:44px;height:44px;border:0;background:transparent;color:inherit;cursor:pointer;position:relative}
.hd-toggle i,.hd-toggle i::before,.hd-toggle i::after{content:"";position:absolute;left:11px;right:11px;height:2px;background:currentColor}
.hd-toggle i{top:21px}.hd-toggle i::before{top:-7px;left:0;right:0}.hd-toggle i::after{top:7px;left:0;right:0}

/* 푸터 */
.lshs-footer{background:var(--dark);color:var(--on-dark);padding:64px 0 28px;font-size:.95rem}
.ft-in{display:flex;justify-content:space-between;gap:48px;flex-wrap:wrap}
.ft-brand{max-width:420px}
.ft-brand strong{font:700 1.2rem var(--ff-head)}
.ft-brand p{margin:12px 0 0;opacity:.72}
.ft-links{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.ft-links a{text-decoration:none;opacity:.8}.ft-links a:hover{opacity:1;text-decoration:underline}
.ft-copy{margin-top:48px;padding-top:22px;border-top:1px solid rgba(255,255,255,.16);opacity:.6;font-size:.85rem}

.lshs-entry{padding:72px 0}
.lshs-post{padding:24px 0;border-bottom:1px solid var(--line)}
.lshs-meta{color:var(--muted);font-size:.9rem}

@media (max-width:860px){
  .lshs-sec{--pad:60px}.pad-l{--pad:88px}
  .hero-split .hero-grid,.split,.contact{grid-template-columns:1fr;gap:36px}
  .split.is-reverse .split-copy{order:0}
  .feat-grid.cols-3,.feat-grid.cols-4,.feat-grid.cols-2{grid-template-columns:1fr 1fr;gap:36px 28px}
  .hd-toggle{display:block}
  .hd-nav{position:absolute;top:100%;left:0;right:0;display:none;flex-direction:column;align-items:flex-start;gap:20px;padding:22px 24px 28px;background:var(--bg);color:var(--text);border-bottom:1px solid var(--line)}
  .hd-nav.is-open{display:flex}
  .hd-nav ul{flex-direction:column;gap:14px}
  .is-overlay .hd-nav{background:rgba(8,14,20,.96);color:#fff}
}
@media (max-width:560px){
  .feat-grid.cols-3,.feat-grid.cols-4,.feat-grid.cols-2{grid-template-columns:1fr}
  .sec-head{margin-bottom:36px}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.lshs-btn{transition:none}}
