:root{--v3-forest:#10392d;--v3-gold:#b59165;--v3-paper:#f7f5ef;--v3-ink:#192923}html{scroll-behavior:smooth}body{background:var(--v3-paper);color:var(--v3-ink)}.nav-extra{display:flex;align-items:center;gap:11px}.theme-switch{border:1px solid #c3bcad;background:transparent;color:var(--green,#10392d);height:42px;width:42px;border-radius:50%;font-size:22px;display:flex;justify-content:center;align-items:center;flex-shrink:0}.theme-switch:hover{background:#e7e0d5}.v3-estimate-banner{background:#ece6d9;padding:95px 0;color:#193a2e}.v3-estimate-inner{display:flex;align-items:center;justify-content:space-between;gap:35px}.v3-estimate-inner h2{font-family:'Noto Serif KR',serif;font-weight:500;line-height:1.45;font-size:clamp(30px,3.3vw,49px);letter-spacing:-.05em;margin:13px 0 16px}.v3-estimate-inner p{line-height:1.9;color:#56645c;margin:0}.v3-estimate-link,.v3-solid{background:#10392d;color:#fff!important;padding:18px 28px;display:inline-flex;align-items:center;justify-content:space-between;gap:28px;border:0;white-space:nowrap;font-size:14px;font-weight:600;text-decoration:none;cursor:pointer}.v3-estimate-link:hover,.v3-solid:hover{background:#1b5542}.cms-work-heading{font-family:'Noto Serif KR',serif;color:#fff;font-size:29px;margin:60px 0 26px}.cms-work-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-bottom:45px}.cms-work-card{display:flex;flex-direction:column;gap:7px;color:#fff}.cms-work-card img{width:100%;aspect-ratio:4/3;object-fit:cover;margin-bottom:10px}.cms-work-card span{font-size:11px;color:#c5c3b7}.cms-work-card strong{font-size:17px;font-weight:500}.cms-work-card span:last-child{margin-top:5px;color:#e3c49b}.v3-subnav{height:84px;display:flex;align-items:center;justify-content:space-between;padding:0 max(25px,calc((100vw - 1300px)/2));background:#10392d;color:#fff;gap:22px}.v3-subnav>a:first-child{font-family:Georgia,serif;font-size:23px;letter-spacing:.13em}.v3-subnav small{font-size:10px}.v3-subnav nav{display:flex;gap:20px;margin-left:auto}.v3-subnav nav a,.v3-subnav>a:not(:first-child){font-size:13px}.v3-subnav button{border:1px solid #98b0a4;color:#fff;background:none;border-radius:50%;width:38px;height:38px;font-size:22px;cursor:pointer}.privacy-page{max-width:800px;margin:85px auto;padding:0 25px;line-height:2}.privacy-page h1{font-size:35px}.privacy-page li{margin:14px 0}.work-page{background:#f7f5ef;font-family:'Noto Sans KR',sans-serif}.work-content{max-width:1060px;margin:0 auto;padding:80px 25px 140px}.work-intro{text-align:center;margin-bottom:38px}.work-intro span{letter-spacing:.2em;font-size:11px;color:#ac8a61}.work-intro h1{font-family:'Noto Serif KR',serif;font-size:42px;line-height:1.35}.work-intro p{font-size:15px;color:#617268;line-height:1.85;white-space:pre-wrap}.work-content>img{display:block;max-width:100%;width:100%;max-height:850px;object-fit:contain;background:#e6e4dc}.work-note{font-size:11px;color:#7d837c;margin:18px 0 42px}
/* dark theme respects user choice; primary brand color remains constant on the hero */
body.theme-dark{--ivory:#141d1b;--paper:#1c2823;--ink:#e9ebe2;--line:rgba(223,236,218,.18);--v3-paper:#141d1b;--v3-ink:#e9ebe2;background:#141d1b;color:#e9ebe2}body.theme-dark .header{background:#172821;box-shadow:0 1px 0 #314039}body.theme-dark .logo,body.theme-dark .nav>a,body.theme-dark .hamburger span{color:#e5eadd}body.theme-dark .nav>a{color:#e5eadd}body.theme-dark .hamburger span{background:#e5eadd}body.theme-dark .about,body.theme-dark .services,body.theme-dark .process,body.theme-dark .location{background:#17201d}body.theme-dark .technology,body.theme-dark .value-line,body.theme-dark .v3-estimate-banner{background:#26322c;color:#eae9df}body.theme-dark .about-right p,body.theme-dark .section-heading>p,body.theme-dark .about-right .about-emphasis,body.theme-dark .service-card p,body.theme-dark .process-step p,body.theme-dark .location-card>p,body.theme-dark .v3-estimate-inner p{color:#c5cac0}body.theme-dark .service-card h3,body.theme-dark .process-step h3,body.theme-dark .location-card h3,body.theme-dark .about-features strong,body.theme-dark .about-left h2,body.theme-dark .section-heading h2{color:#f0f0e8}body.theme-dark .laser-grid,body.theme-dark .laser-information,body.theme-dark .edge-compare,body.theme-dark .location-card,body.theme-dark .contact-panel,body.theme-dark .hardware-card{background:#243129;color:#e9eadd}body.theme-dark .laser-information h3,body.theme-dark .laser-bullets strong,body.theme-dark .edge-description h4,body.theme-dark .location-contact a{color:#e9eadd}body.theme-dark .laser-information>p,body.theme-dark .laser-bullets small,body.theme-dark .edge-description p{color:#c7d0c5}body.theme-dark .theme-switch{color:#e9eadd;border-color:#586e62}body.theme-dark .theme-switch:hover{background:#2c3e34}body.theme-dark .value-inner>span:not(.value-plus){color:#e9eadd}body.theme-dark .location-link{color:#e5ceae}body.theme-dark .contact-section{background:#101c17}body.theme-dark .footer{background:#0b1712}body.theme-dark .quote-footer{background:#0e1713}body.theme-dark .work-intro h1{color:#f0f0e8}body.theme-dark .work-intro p{color:#b8c3b9}body.theme-dark .privacy-page{color:#e5eadd}
@media(max-width:980px){.v3-estimate-inner{flex-direction:column;align-items:flex-start}.cms-work-list{grid-template-columns:repeat(2,minmax(0,1fr))}.nav-extra{gap:8px}.nav-extra .theme-switch{width:35px;height:35px;font-size:19px}.nav-extra .nav-cta{display:none}}
@media(max-width:640px){.v3-estimate-banner{padding:68px 0}.v3-estimate-inner h2{font-size:32px}.v3-estimate-link{width:100%;justify-content:space-between}.cms-work-list{grid-template-columns:1fr}.cms-work-heading{font-size:22px}.v3-subnav{height:71px;padding:0 16px;gap:10px}.v3-subnav>a:first-child{font-size:17px}.v3-subnav nav a{font-size:11px}.v3-subnav nav{gap:11px}.work-content{padding:55px 18px}.work-intro h1{font-size:29px}}

.hero h1{white-space:normal;overflow-wrap:normal}


/* V21.1 typography repair: sub-navigation anchor selector + clear Korean text */
:root{--juan-ui-font:'Noto Sans KR','Apple SD Gothic Neo','Malgun Gothic','NanumSquare',sans-serif;--juan-readable-gold:#e1c196}
body.quote-page,body.work-page,body.service-page{font-family:var(--juan-ui-font);font-weight:400;-webkit-font-smoothing:antialiased;word-break:keep-all}
/* Do not let a:first-child target the first item inside nav: the old rule made '홈으로' huge and letter-spaced. */
.v3-subnav{font-family:var(--juan-ui-font);height:auto;min-height:78px;padding-block:12px;gap:18px}
.v3-subnav>a:first-child,.v3-subnav>a:first-child:visited{font-family:var(--juan-ui-font);font-size:21px;letter-spacing:.055em;font-weight:800;line-height:1.25;color:#f9f7ef;text-decoration:none;white-space:nowrap}
.v3-subnav>a:first-child small{font-size:11px;letter-spacing:.07em;font-weight:650}
.v3-subnav nav{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:24px;margin-left:auto}
.v3-subnav nav a,.v3-subnav nav a:first-child,.v3-subnav nav a:visited{font-family:var(--juan-ui-font);font-size:14px;letter-spacing:0;font-weight:600;line-height:1.3;color:#f2f5ed;text-decoration:none;white-space:nowrap}
.v3-subnav nav a:hover,.v3-subnav nav a:focus-visible{color:#ffdfae;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px}
.v3-subnav #theme-toggle{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;line-height:1}
/* Portfolio pages do not load the homepage reset stylesheet. Reset anchors here explicitly. */
body.work-page a,body.work-page a:visited{color:inherit;text-decoration:none}
body.work-page .v3-subnav a,body.work-page .v3-subnav a:visited{color:#f5f4ee}
body.work-page .v3-subnav nav a:hover,body.work-page .v3-subnav nav a:focus-visible{color:#ffdfae;text-decoration:underline}
body.work-page .v4-back{color:#c2d0c4}
body.theme-dark .quote-top h1,body.theme-dark .v4-list-hero h1,body.theme-dark .v4-detail-intro h1{color:#f9f7f0}
@media(max-width:740px){
 .v3-subnav{min-height:68px;padding:10px 16px;gap:10px}
 .v3-subnav>a:first-child{font-size:16px;letter-spacing:.025em;line-height:1.3}
 .v3-subnav>a:first-child small{font-size:9px}
 .v3-subnav nav{gap:12px}
 .v3-subnav nav a,.v3-subnav nav a:first-child{font-size:12px;line-height:1.35;letter-spacing:0}
 .v3-subnav #theme-toggle{width:37px;height:37px;font-size:19px}
}
@media(max-width:410px){
 .v3-subnav{gap:8px;padding-inline:12px}
 .v3-subnav>a:first-child{font-size:14px}
 .v3-subnav>a:first-child small{font-size:8px}
 .v3-subnav nav{gap:8px}
 .v3-subnav nav a,.v3-subnav nav a:first-child{font-size:11px}
 .v3-subnav #theme-toggle{width:32px;height:32px;font-size:17px}
}
/* Work pages use their own stylesheet (not styles.css); remove browser default body inset. */
body.work-page{margin:0}
