/* Shared visual hierarchy. Keep the existing brand colors and font families. */
:root{--radius-ui:6px;--radius-media:4px}
body{line-height:1.75}
h1,h2{font-weight:700;line-height:1.3;letter-spacing:-.035em}
h3{font-weight:700;line-height:1.45}
.hero h1{font-size:clamp(36px,5.2vw,64px);max-width:14em}
.hero p{font-size:clamp(16px,1.7vw,20px);font-weight:400;line-height:1.8}
h2{font-size:clamp(28px,3.5vw,42px)}
.sub{font-size:16px;line-height:1.8}
.kicker-s,.page-head .kicker-s{font-size:12px;letter-spacing:.14em;font-weight:700}
section[id]{scroll-margin-top:90px}
.btn,.nav a.btn-nav,.faq-cta a,.endcta .btn,.quote-bar .go{border-radius:var(--radius-ui);box-shadow:none}
.btn:hover,.nav a.btn-nav:hover,.quote-bar .go:hover{box-shadow:none;transform:none}
header.scrolled{box-shadow:none}
.nav>nav{display:flex;align-items:center;flex-wrap:nowrap}
.mobile-nav[hidden]{display:none}
.legal-page main{padding-top:32px;padding-bottom:90px}
.legal-page h2{font-size:20px;line-height:1.5;max-width:none}
.chat-fab,.chat-fab:hover{border-radius:8px;box-shadow:0 2px 8px rgba(18,48,35,.12);transform:none}
.stat,.stat:hover,.svc,.svc:hover,.case>a,.case>a:hover,.plant,.plant:hover{box-shadow:none;transform:none;border-radius:var(--radius-media)}
.stats{gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.stat{border:0;border-right:1px solid var(--line);border-radius:0;padding:30px 16px}
.stat:last-child{border-right:0}
.stat .num{font-weight:700}
.mq-track>.case:only-child{flex-basis:100%;margin-right:0}
.mq-track>.case:only-child>a{display:grid;grid-template-columns:1.5fr 1fr;background:none;border:0;align-items:center}
.mq-track>.case:only-child .case-body{padding:32px}
.mq-track>.case:only-child h3{font-size:clamp(22px,2.8vw,30px);font-weight:700}
.svc-grid{column-gap:48px;row-gap:0}
.svc{border:0;border-top:1px solid var(--line);border-radius:0;padding:30px 0}
.svc-ico{background:none;border-radius:0;width:32px;height:32px;margin-bottom:20px;justify-content:flex-start}
.svc h3{font-size:22px;font-weight:700}
.svc p,.about p,.intro-text p{font-size:16px;line-height:1.85}
.img-ph,.intro-photo,.fphoto,.dphoto,.gthumb{border-radius:var(--radius-media);box-shadow:none}
.facts li{border-radius:0;background:none;border:0;border-top:1px solid var(--line);padding:22px 0}
.facts b{font-weight:700;font-size:17px}
.prow{border-radius:0;border-bottom:1px solid var(--line)}
.prow .pico{background:none;box-shadow:none;border-radius:0;flex-basis:56px;width:56px;height:56px}
.prow .ptext h3{font-size:20px;font-weight:700}
.faq-cta{border-radius:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.qa .t{font-weight:500;font-size:17px}
.qa .a{font-size:15px;line-height:1.85}
.breadcrumb{font-size:13px;color:var(--gray);padding-top:28px;display:flex;gap:10px;align-items:center}
.breadcrumb a{color:inherit;text-underline-offset:4px}
.page-head{text-align:left;padding-top:32px;padding-bottom:32px}
.page-head h1{margin-inline:0;font-size:clamp(32px,4vw,48px);font-weight:700}
.page-head p{max-width:42em;line-height:1.8}
.page-head .kicker-s{margin-bottom:12px}
.tabs{justify-content:flex-start;border-bottom:1px solid var(--line);gap:8px;padding-bottom:16px}
.tab,.chip,.search,select,.dsz{border-radius:var(--radius-ui)}
.plant{border-color:var(--line)}
.plant:hover{border-color:var(--green)}
.modal{border-radius:10px 10px 0 0}
.consent,.field input,.field textarea,.send,.dadd,.add{border-radius:var(--radius-ui)}
.quote-bar{box-shadow:none}
.field input,.field textarea,.search input,select{font-size:16px}
:where(a,button,input,select,textarea,summary):focus-visible{outline:3px solid var(--green);outline-offset:4px}
.phone-demo{background:var(--bg-soft)}
.demo-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.demo-copy h2{max-width:12em}
.demo-copy>p{margin-top:22px;color:var(--gray);font-size:16px;line-height:1.85}
.demo-steps{list-style:none;padding:0;margin:32px 0;border-top:1px solid var(--line)}
.demo-steps li{display:flex;gap:18px;padding:18px 0;border-bottom:1px solid var(--line);font-size:15px}
.demo-steps span{font-size:12px;color:var(--green);padding-top:3px;font-weight:700}
.demo-link{display:inline-block;color:var(--green);font-weight:700;text-underline-offset:6px;padding:12px 0}
.demo-device{margin:0;min-width:0;text-align:center}
.phone-shell{position:relative;width:min(100%,360px);height:680px;margin:auto;padding:10px;background:var(--green-dark);border:1px solid var(--green-dark);border-radius:38px}
.phone-shell iframe{display:block;width:100%;height:100%;border:0;border-radius:28px;background:var(--bg-soft)}
.demo-device figcaption{font-size:13px;color:var(--gray);margin-top:18px}
.demo-placeholder{position:absolute;inset:10px;overflow:hidden;border-radius:28px;background:var(--green-dark);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:26px;gap:20px}
.demo-placeholder[hidden]{display:none}
.demo-placeholder img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.4}
.demo-placeholder p,.demo-placeholder button{position:relative}
.demo-placeholder p{font-size:25px;font-family:'Noto Serif KR',serif;line-height:1.5}
.demo-placeholder button{background:#fff;color:var(--green-dark);border:0;border-radius:6px;padding:14px 22px;font-size:16px;font-weight:700}
.demo-reset{border:0;background:none;color:var(--green);font-size:13px;text-decoration:underline;text-underline-offset:4px;padding:12px}
.demo-reset[hidden]{display:none}
@media(min-width:640px){.modal{border-radius:10px}}
@media(max-width:820px){
  .stats .stat:nth-child(2){border-right:0}
  .stats .stat:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .demo-grid{grid-template-columns:1fr;gap:36px}
  .demo-copy h2{max-width:18em}
  .phone-shell{height:620px}
}
@media(max-width:520px){
  .nav a.link{margin-left:8px}
  .nav a.btn-nav{padding:9px 12px}
  .hamburger{margin-left:4px;flex-shrink:0}
  .logo img{height:40px}
  .mq-track>.case:only-child>a{grid-template-columns:1fr}
  .mq-track>.case:only-child .case-body{padding:24px 0}
  .hero{min-height:72svh}
  section{padding:64px 0}
  .page-head{padding-top:24px;padding-bottom:24px}
  .stat{padding:24px 12px}
  .svc h3{font-size:20px}
  .prow .pico{flex-basis:44px;width:44px;height:44px}
  .phone-shell{height:580px;max-width:340px}
  .demo-grid{gap:28px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.plant{animation:none}}
