@charset "UTF-8";
:root{--navy:#18394c;--blue:#2d6f94;--ink:#203643;--muted:#69777d;--line:#dce4e6;--pale:#f2f6f7;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;font-family:"Pretendard","Noto Sans KR",-apple-system,BlinkMacSystemFont,"Segoe UI","Malgun Gothic",sans-serif;color:var(--ink);line-height:1.7;word-break:keep-all;overflow-wrap:break-word}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{max-width:100%;display:block}h1,h2,h3,p{margin:0}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #3e94c4;outline-offset:5px}input:focus,textarea:focus,select:focus{outline:2px solid var(--blue);outline-offset:2px}.container{width:min(1200px,calc(100% - 96px));margin-inline:auto}.section{padding-block:108px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:2.2px;color:var(--blue);margin-bottom:20px}.header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.97);border-bottom:1px solid #e7ecec}.header-inner{height:92px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:12px;font-size:26px;line-height:1.15;font-weight:800;letter-spacing:-1px;white-space:nowrap}.brand-light{font-weight:400}.brand small{display:block;font-size:8px;letter-spacing:3.4px;margin-top:6px;font-weight:600}.brand-icon{width:31px;height:37px;display:grid;grid-template-columns:1fr 1fr;gap:3px;transform:skewY(-7deg)}.brand-icon i{border:1.6px solid var(--navy)}.brand-icon i:nth-child(2),.brand-icon i:nth-child(4){background:#adc9d5}nav{display:flex;gap:34px;align-items:center;font-size:13px;font-weight:600}nav a:hover{color:var(--blue)}.nav-contact{border:1px solid var(--navy);padding:10px 19px;display:flex;gap:22px}.menu-toggle{display:none}.skip-link{position:fixed;top:-100px;left:20px;background:var(--navy);color:white;padding:12px;z-index:100}.skip-link:focus{top:10px}.hero{position:relative;min-height:680px;background:#f0f2ee;isolation:isolate}.hero-photo{position:absolute;inset:0;z-index:-2;background:url("assets/home-interior.jpg") 65% 54%/cover no-repeat}.hero:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(246,247,242,.98) 0%,rgba(246,247,242,.94) 27%,rgba(246,247,242,.55) 47%,rgba(246,247,242,0) 73%)}.hero-inner{padding-block:63px 88px}.hero .eyebrow{font-size:10px;letter-spacing:2.4px}.hero-brand{font-size:18px;margin-bottom:14px;font-weight:600}.hero h1{font-size:clamp(40px,4.7vw,65px);font-weight:500;line-height:1.27;letter-spacing:-3px}.hero h1 span{color:var(--blue)}.hero-description{margin-top:24px;font-size:17px;font-weight:500}.hero-description span{padding:0 8px;color:#8a989b}.hero-buttons{display:flex;gap:10px;margin-top:29px;max-width:474px}.button{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 18px;background:var(--navy);color:#fff;font-size:13px;font-weight:600;min-height:54px;transition:background .2s,transform .2s}.hero-buttons .button{flex:1}.button:hover{background:var(--blue);transform:translateY(-2px)}.button span{font-size:19px}.hero-note{font-size:11px;margin-top:18px;color:#5b6d72}.hero-bottom{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:15px 48px;border-top:1px solid #fff8;font-size:9px;letter-spacing:1.8px}.hero-bottom a{font-size:11px;letter-spacing:0}.photo-note{position:absolute;right:20px;bottom:58px;background:#ffffffbd;padding:2px 7px;font-size:9px;color:#4e605f}.region-strip{border-bottom:1px solid var(--line);background:#fff}.region-strip .container{display:grid;grid-template-columns:1fr 1fr;padding-block:23px;gap:30px}.region-strip p{display:flex;align-items:center;gap:15px;font-size:12px}.region-strip p+ p{border-left:1px solid var(--line);padding-left:30px}.region-strip p>span:last-child{color:var(--muted)}.tiny-icon{font-size:10px;color:var(--blue);border:1px solid #d2dfe5;border-radius:50%;width:27px;height:27px;display:grid;place-items:center;flex-shrink:0}h2{font-size:37px;font-weight:500;line-height:1.45;letter-spacing:-1.8px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:42px}.section-heading>p,.detail-intro>p:not(.eyebrow):not(.area){font-size:14px;color:var(--muted);line-height:1.95}.service-grid,.case-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.overview-card{border:1px solid var(--line);transition:transform .2s,box-shadow .2s}.overview-card:hover{transform:translateY(-4px);box-shadow:0 12px 30px #18394c0c}.service-art{height:275px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#e7edf0}.glass-art{background:linear-gradient(125deg,#eaf0ee,#dae5e8 70%,#c5d5d9)}.art-window{display:flex;width:59%;height:120%;transform:perspective(700px) rotateY(-18deg) rotateZ(7deg);border:12px solid #fcfdfb;box-shadow:12px 14px 26px #18394c23;background:linear-gradient(140deg,#b7cfd97a 10%,#faffff 46%,#d3e3e6 47%,#b3cbd180)}.art-window i{width:50%;border:4px solid #f9fcfa}.art-window:after{content:"";position:absolute;top:48%;height:8px;background:#fbfdfa;width:100%}.mesh-art{background:#e7e7df}.art-screen{width:60%;height:125%;border:13px solid #f5f6f2;transform:perspective(700px) rotateY(20deg) rotateZ(-9deg);box-shadow:-12px 14px 26px #18394c20;background-color:#aebbb6;background-image:repeating-linear-gradient(0deg,transparent,transparent 2px,#53655a60 2px,#53655a60 3px),repeating-linear-gradient(90deg,transparent,transparent 2px,#53655a60 2px,#53655a60 3px)}.art-screen i{position:absolute;right:-7px;top:50%;width:6px;height:35px;background:#7c8f8c}.art-tag{position:absolute;left:20px;bottom:18px;font-size:9px;letter-spacing:1.7px;background:#ffffffd9;padding:5px 10px}.overview-content{padding:29px 30px}.overview-content .eyebrow{font-size:9px}.overview-content h3{display:flex;justify-content:space-between;font-size:24px;font-weight:500;margin:7px 0 10px;letter-spacing:-.8px}.overview-content h3 span{font-size:25px;font-weight:400}.overview-content p{font-size:13px;color:var(--muted)}.region-label{display:inline-block;font-size:11px;background:var(--pale);padding:4px 10px;margin-top:23px;color:#526c79}.detail-section{background:#f3f6f6;border-top:1px solid #e9efef}.screen-section{background:#fbfbf7}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px}.detail-intro h2{margin-bottom:23px}.problem-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:24px}.problem-tags span{border:1px solid #d9e2e2;border-radius:3px;font-size:11px;padding:5px 10px;color:#64777b}.area{font-size:12px;margin-top:28px}.area>span{color:var(--muted);margin-right:12px}.text-link{display:inline-flex;gap:30px;border-bottom:1px solid var(--navy);padding:12px 0 7px;font-size:13px;margin-top:15px}.text-link:hover{color:var(--blue)}.detail-list>div{display:flex;gap:24px;padding:23px 0;border-bottom:1px solid #dbe3e4}.detail-list>div:first-child{padding-top:0}.detail-list>div>span{font-size:11px;color:var(--blue);padding-top:5px}.detail-list h3{font-size:18px;font-weight:600;margin-bottom:10px;letter-spacing:-.6px}.detail-list p{font-size:13px;color:var(--muted);line-height:1.9}.detail-list .scope-note{font-size:11px;margin-top:20px;line-height:1.8}.case-card{min-width:0}.case-top{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--navy);padding:16px 0;font-size:13px}.case-top>span{font-size:9px;color:var(--muted);letter-spacing:1px}.comparison{display:grid;grid-template-columns:1fr 1fr;gap:3px}.photo-slot{aspect-ratio:1/1.1;position:relative;background:#edf1f2;overflow:hidden;display:grid;place-items:center}.photo-slot.after{background:#e6eef1}.photo-slot img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.photo-placeholder{text-align:center;color:#799099;font-size:11px}.placeholder-icon{display:block;margin:0 auto 12px;font-size:30px;line-height:1;font-weight:200;color:#9db0b6}.photo-placeholder small{display:block;font-size:9px;letter-spacing:1px;margin-top:7px}.photo-badge{position:absolute;top:14px;left:14px;padding:4px 9px;background:#fff;font-size:9px;letter-spacing:1px;z-index:1}.after .photo-badge{background:var(--navy);color:#fff}.case-card h3{font-size:19px;font-weight:500;margin:20px 0 5px}.case-card>p{font-size:12px;color:var(--muted)}.case-notice{font-size:11px;color:var(--muted);margin-top:25px}.care-section{background:#294B5F;color:#fff;padding:80px 0}.care-heading{text-align:center}.care-heading .eyebrow{color:#a9c8d7}.care-heading h2{font-size:35px}.care-heading>p:last-child{font-size:13px;color:#bdcdd6;margin-top:22px;line-height:1.9}.process-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:50px;border-top:1px solid #ffffff30;padding-top:33px}.process-grid article{padding-inline:35px;border-left:1px solid #ffffff25}.process-grid article:first-child{border-left:0;padding-left:0}.process-grid article>span{font-size:11px;color:#adc8d5}.process-grid h3{font-size:19px;font-weight:500;margin:13px 0 11px}.process-grid p{font-size:12px;color:#c1cfd6;line-height:1.9}.faq-section{display:grid;grid-template-columns:1fr 1.5fr;gap:75px}.faq-list details{border-bottom:1px solid var(--line)}.faq-list details:first-child{border-top:1px solid var(--line)}summary{list-style:none;cursor:pointer;font-size:15px;padding:24px 30px 24px 0;position:relative}summary::-webkit-details-marker{display:none}summary:after{content:"+";position:absolute;right:0;font-size:20px;font-weight:300;top:19px}details[open] summary:after{content:"−"}.faq-list p{padding:0 25px 23px 0;font-size:13px;color:var(--muted);line-height:1.9}.contact-section{background:#eef4f6}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:85px}.contact-description{font-size:14px;color:var(--muted);line-height:1.9;margin-top:24px}.contact-buttons{display:flex;gap:10px;margin-top:35px}.contact-buttons .button{flex:1;max-width:200px}.contact-note{font-size:11px;color:var(--muted);margin-top:13px}.contact-status{font-size:12px;color:var(--blue);margin-top:10px}.inquiry-form{background:#fff;padding:32px;border:1px solid #dfe7ea}.inquiry-form h3{font-weight:600;font-size:19px;letter-spacing:-.6px}.inquiry-form>p{font-size:11px;color:var(--muted);margin:7px 0 24px}.inquiry-form label{display:flex;flex-direction:column;gap:7px;font-size:12px;margin-bottom:16px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}input,select,textarea{width:100%;min-width:0;border:1px solid #dce3e6;border-radius:0;padding:11px 12px;background:#fff;color:var(--ink);font-size:12px}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#8b969b}.photo-tip{display:flex;gap:12px;align-items:center;background:#f4f7f8;padding:13px;margin-bottom:18px}.photo-tip>span{font-size:24px;font-weight:300;color:var(--blue)}.photo-tip p{font-size:10px;color:var(--muted)}.photo-tip strong{font-weight:500;color:var(--ink)}.copy-button{width:100%;border:1px solid var(--navy);background:#fff;color:var(--navy);padding:12px 15px;display:flex;justify-content:space-between;font-size:12px}.copy-button:hover{background:var(--pale)}.inquiry-form .form-status{font-size:10px;margin:12px 0 0}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-block:43px}.footer-top>p{font-size:12px;color:var(--muted)}.footer-top>a:last-child{font-size:11px}.footer-bottom{padding-block:20px 30px;border-top:1px solid var(--line);display:flex;justify-content:space-between;font-size:10px;color:var(--muted)}.mobile-contact{display:none}
@media(min-width:1500px){.hero-inner{padding-block:80px 105px}.hero{min-height:750px}}
@media(max-width:1050px){.container{width:calc(100% - 56px)}nav{gap:22px;font-size:12px}.detail-grid,.contact-grid{gap:40px}.hero h1{font-size:55px}.region-strip p{gap:10px;font-size:11px}.region-strip p+p{padding-left:20px}.section-heading>p{font-size:12px}.section{padding-block:80px}.faq-section{gap:40px}h2{font-size:33px}.hero-buttons{max-width:440px}.hero-buttons .button{font-size:12px;padding:15px}.service-art{height:240px}}
@media(max-width:760px){html{scroll-padding-top:84px}.container{width:calc(100% - 40px)}.header-inner{height:74px}.brand{font-size:23px}.brand-icon{width:27px;height:33px}.brand small{font-size:7px}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:6px;width:44px;height:44px;border:0;background:transparent;padding:10px}.menu-toggle span{height:1.5px;background:var(--navy);width:24px;transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.75px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.75px) rotate(-45deg)}nav{display:none;position:absolute;top:74px;left:0;right:0;background:#fff;padding:15px 20px 25px;border-bottom:1px solid var(--line);box-shadow:0 10px 15px #18394c0a}nav.open{display:flex;flex-direction:column;gap:0;align-items:stretch}nav a{padding:13px;font-size:14px}.nav-contact{margin-top:8px;justify-content:space-between}.hero{min-height:720px}.hero-photo{background-position:64% 65%;inset:210px 0 0}.hero:before{background:linear-gradient(180deg,#f4f5ef 0%,#f4f5ef 26%,#f4f5efda 44%,#f4f5ef30 70%,#f4f5ef00 85%)}.hero-inner{padding-block:35px 225px}.hero .eyebrow{font-size:8px;letter-spacing:1.6px;margin-bottom:18px}.hero-brand{font-size:15px;margin-bottom:12px}.hero h1{font-size:47px;letter-spacing:-2.5px;line-height:1.28}.hero-description{font-size:14px;margin-top:20px}.hero-description span{padding:0 4px}.hero-buttons{gap:8px;margin-top:22px;max-width:440px}.hero-buttons .button{font-size:11px;padding:13px 12px;gap:5px;min-height:52px}.hero-buttons .button span{font-size:16px}.hero-note{font-size:10px;margin-top:12px}.hero-bottom{padding:13px 20px;background:#f9faf4c7}.hero-bottom>span{font-size:7px;letter-spacing:1px}.hero-bottom>a{font-size:9px}.photo-note{bottom:48px;right:10px;font-size:8px}.region-strip .container{grid-template-columns:1fr;gap:13px;padding-block:20px}.region-strip p{font-size:11px;gap:10px;flex-wrap:wrap}.region-strip p+p{padding:0;border:0}.region-strip p>span:last-child{font-size:10px}.tiny-icon{width:24px;height:24px}.section{padding-block:64px}.eyebrow{font-size:9px;letter-spacing:1.8px;margin-bottom:15px}h2{font-size:29px;letter-spacing:-1.2px;line-height:1.45}.section-heading{display:block;margin-bottom:28px}.section-heading>p{margin-top:20px;font-size:12px}.service-grid{gap:14px}.service-art{height:165px}.art-tag{font-size:6px;letter-spacing:.5px;left:8px;bottom:10px;padding:4px 5px}.art-window,.art-screen{width:78%;border-width:7px}.art-window i{border-width:2px}.overview-content{padding:18px 13px}.overview-content .eyebrow{font-size:8px;letter-spacing:1px}.overview-content h3{font-size:17px;letter-spacing:-1px;gap:3px;line-height:1.5;align-items:center}.overview-content h3 span{font-size:18px}.overview-content p{font-size:11px;line-height:1.8}.region-label{font-size:9px;padding:4px 7px;margin-top:15px}.detail-grid{grid-template-columns:1fr;gap:36px}.detail-intro>p:not(.eyebrow):not(.area){font-size:12px}.problem-tags span{font-size:10px}.area{font-size:11px;line-height:1.9}.area>span{display:block}.text-link{font-size:12px}.detail-list h3{font-size:17px}.detail-list p{font-size:12px}.detail-list>div{gap:18px}.detail-list .scope-note{font-size:10px}.case-grid{grid-template-columns:1fr;gap:32px}.case-card h3{font-size:18px}.photo-slot{aspect-ratio:1/1}.case-notice{font-size:10px}.care-section{padding-block:60px}.care-heading h2{font-size:29px}.care-heading>p:last-child{font-size:12px}.process-grid{grid-template-columns:1fr;gap:24px;margin-top:32px;padding-top:26px}.process-grid article{border-left:0;border-bottom:1px solid #ffffff20;padding:0 0 24px;display:grid;grid-template-columns:95px 1fr;gap:4px 12px}.process-grid article:last-child{border-bottom:0;padding:0}.process-grid article>span{grid-row:1/3;padding-top:4px;font-size:10px}.process-grid h3{font-size:17px;margin:0}.process-grid p{font-size:11px}.faq-section{grid-template-columns:1fr;gap:28px}summary{font-size:13px;padding-block:21px}.faq-list p{font-size:12px}.contact-grid{grid-template-columns:1fr;gap:30px}.contact-description{font-size:12px}.contact-buttons{margin-top:25px}.contact-buttons .button{max-width:none}.inquiry-form{padding:24px 19px}.inquiry-form h3{font-size:18px}input,select,textarea{font-size:16px;padding:10px}input::placeholder,textarea::placeholder{font-size:12px}.footer-top{flex-wrap:wrap;padding-block:30px;gap:18px}.footer-top>p{order:3;width:100%;font-size:10px}.footer-bottom{flex-direction:column;gap:8px;padding-bottom:105px;font-size:9px}.mobile-contact{display:block;position:fixed;bottom:0;left:0;right:0;z-index:25;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:#fffffff5;border-top:1px solid var(--line)}.mobile-contact a{display:flex;justify-content:space-between;align-items:center;background:var(--navy);color:white;padding:13px 20px;font-size:14px;min-height:50px}}
@media(max-width:370px){.hero h1{font-size:42px}.container{width:calc(100% - 32px)}.hero-buttons .button{font-size:10px;padding:12px 9px}.overview-content{padding:15px 10px}.overview-content h3{font-size:15px}.service-art{height:145px}.form-row{grid-template-columns:1fr;gap:0}.region-strip p>span:last-child{font-size:9px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
/* 실제 현장 중심 구성. 원본 사진에 색상·선명도 효과를 적용하지 않습니다. */
.hero{background:#f2f5f5;min-height:640px}.hero:before{display:none}.hero-photo{inset:0 0 0 51%;background-image:url("images/19.window-after.jpg");background-position:center}.hero-copy{width:49%;padding-right:25px}.hero h1{font-size:54px}.hero-bottom{background:#ffffffdf}.service-art img{width:100%;height:100%;object-fit:cover}.service-art{background:#e8eded}.button:hover,.overview-card:hover{transform:none;box-shadow:none}.overview-content p,.detail-list p,.case-card>p{font-size:14px}.case-grid{gap:32px}.photo-slot{padding:0;border:0;width:100%;cursor:zoom-in;aspect-ratio:4/3}.photo-slot img{filter:none}.photo-badge{font-size:11px;top:10px;left:10px}.case-card:nth-child(2) .photo-slot{aspect-ratio:4/3}.support-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-top:45px;padding-top:30px;border-top:1px solid var(--line)}.support-case h3{font-size:18px;font-weight:500;margin-bottom:18px}.support-case .eyebrow{letter-spacing:.5px;margin-bottom:8px}.support-case>p:last-child{font-size:13px;color:var(--muted);margin-top:14px}.contact-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.contact-buttons .button{max-width:none;min-width:0;padding:13px 10px;font-size:12px;gap:4px}.contact-buttons .button span{font-size:14px}.kakao-action{cursor:pointer}#inquiry-notice{position:fixed;bottom:90px;left:50%;transform:translateX(-50%);max-width:calc(100% - 32px);width:max-content;background:var(--navy);color:white;padding:12px 18px;font-size:13px;z-index:40;border:1px solid #a8bac5}#photo-dialog{border:0;padding:55px 16px 16px;background:white;width:min(1000px,94vw);max-height:92dvh;color:var(--navy)}#photo-dialog::backdrop{background:#102330d9}#photo-dialog img{width:100%;height:auto;max-height:72dvh;object-fit:contain}#photo-dialog p{font-size:13px;text-align:center;margin-top:12px}.photo-close{position:absolute;right:16px;top:12px;padding:5px 12px;background:white;border:1px solid var(--line);color:var(--navy)}
@media(max-width:1050px) and (min-width:761px){.hero h1{font-size:43px}.hero-buttons{flex-direction:column}.contact-grid{gap:25px}.contact-buttons .button{font-size:11px}.contact-buttons .button span{display:none}}
@media(max-width:760px){.hero{display:flex;flex-direction:column;min-height:0;padding-bottom:42px}.hero-inner{order:0;padding-block:30px}.hero-copy{width:100%;padding:0}.hero h1{font-size:43px}.hero-photo{position:relative;inset:auto;order:1;height:230px;z-index:0;background-position:center 55%}.hero-bottom{z-index:1}.photo-note{z-index:1;bottom:53px}.hero-buttons{max-width:none}.hero-buttons .button{font-size:12px;min-height:52px}.hero-note{font-size:11px}.hero-description{font-size:15px}.section{padding-block:52px}.service-art{height:180px}.overview-content p{font-size:12px}.detail-list p{font-size:13px}.comparison{gap:6px}.case-grid{gap:36px}.case-card .photo-slot,.case-card:nth-child(2) .photo-slot{aspect-ratio:3/4}.case-card:first-child img{object-position:50% 50%}.case-card>p{font-size:13px}.photo-badge{font-size:10px;top:8px;left:8px;padding:4px 7px}.support-grid{grid-template-columns:1fr;gap:32px;margin-top:35px;padding-top:26px}.support-case .photo-slot{aspect-ratio:3/4}.support-case>p:last-child{font-size:12px}.contact-buttons .button{font-size:12px;justify-content:center;padding:14px 6px}.contact-buttons .button span{display:none}.mobile-contact{display:grid;grid-template-columns:repeat(3,1fr);gap:0;padding:10px 12px calc(10px + env(safe-area-inset-bottom))}.mobile-contact a{justify-content:center;padding:13px 4px;border-right:1px solid #ffffff50;font-size:15px}.mobile-contact a:last-child{border:0}.footer-bottom{padding-bottom:110px}}

/* 모바일 전용 개선: 761px 이상의 PC 스타일에는 영향을 주지 않습니다. */
@media (max-width:760px) {
  html { scroll-padding-top:90px; scroll-padding-bottom:100px; }
  body { line-height:1.8; }
  .container { width:calc(100% - 40px); }
  .section { padding-block:48px; }
  .eyebrow { font-size:11px; letter-spacing:1.3px; }
  .header-inner { height:70px; }
  nav { top:70px; max-height:calc(100dvh - 160px); overflow-y:auto; overscroll-behavior:contain; }
  nav a { min-height:48px; padding:12px; font-size:16px; }
  .nav-contact { min-height:50px; }
  .hero-inner { padding-block:28px; }
  .hero h1 { font-size:42px; line-height:1.3; }
  .hero .eyebrow { font-size:10px; letter-spacing:1px; }
  .hero-brand { font-size:17px; }
  .hero-description { font-size:16px; margin-top:18px; }
  .hero-buttons { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
  .hero-buttons .button { font-size:13px; min-width:0; min-height:56px; padding:12px 10px; line-height:1.6; }
  .hero-buttons .button span { flex-shrink:0; }
  .hero-note { font-size:12px; }
  .hero-photo { height:250px; }
  .hero-bottom { min-height:44px; padding:4px 20px; }
  .hero-bottom a { display:flex; align-items:center; min-height:44px; font-size:11px; }
  .photo-note { font-size:10px; bottom:57px; }
  .region-strip .container { gap:16px; }
  .region-strip p { display:grid; grid-template-columns:26px 1fr; gap:2px 10px; font-size:14px; }
  .region-strip p .tiny-icon { grid-row:1/3; }
  .region-strip p>span:last-child { grid-column:2; font-size:13px; }
  .section-heading>p,.detail-intro>p:not(.eyebrow):not(.area),.detail-list p,
  .case-card>p,.support-case>p:last-child,.faq-list p,.contact-description { font-size:15px; line-height:1.85; }
  .overview-content { padding:22px; }
  .overview-content .eyebrow { font-size:11px; }
  .overview-content h3 { font-size:23px; letter-spacing:-.7px; margin-block:8px 12px; }
  .overview-content p { font-size:15px; line-height:1.8; }
  .region-label { font-size:12px; padding:5px 9px; }
  .art-tag { font-size:10px; padding:5px 8px; left:12px; bottom:12px; }
  .problem-tags span { font-size:12px; }
  .area { font-size:14px; }
  .text-link { min-height:48px; align-items:center; font-size:15px; }
  .detail-list h3,.support-case h3,.case-card h3 { font-size:20px; }
  .detail-list>div { gap:14px; }
  .detail-list>div>span { font-size:12px; }
  .detail-list .scope-note,.case-notice { font-size:13px; line-height:1.8; }
  .case-top { font-size:15px; }
  .case-top>span { font-size:10px; }
  .comparison { gap:8px; }
  .photo-badge { font-size:11px; padding:4px 7px; }
  .care-heading>p:last-child,.process-grid p { font-size:14px; line-height:1.85; }
  .process-grid article { grid-template-columns:85px 1fr; }
  .process-grid article>span { font-size:12px; }
  .process-grid h3 { font-size:19px; }
  summary { font-size:15px; min-height:56px; }
  .inquiry-form { padding:24px 20px; }
  .inquiry-form>p,.inquiry-form label { font-size:14px; }
  input,select,textarea { min-height:48px; font-size:16px; }
  input::placeholder,textarea::placeholder { font-size:14px; }
  .photo-tip p { font-size:12px; }
  .copy-button { min-height:50px; font-size:14px; align-items:center; }
  .inquiry-form .form-status,.contact-note,.contact-status { font-size:12px; line-height:1.8; }
  .contact-buttons .button { font-size:13px; min-height:52px; }
  .mobile-contact { padding:8px 12px calc(8px + env(safe-area-inset-bottom)); }
  .mobile-contact a { min-height:54px; font-size:16px; }
  #inquiry-notice { bottom:calc(84px + env(safe-area-inset-bottom)); font-size:14px; }
  #photo-dialog { padding:64px 12px 18px; width:96vw; max-height:90dvh; }
  #photo-dialog img { max-height:65dvh; }
  #photo-dialog p { font-size:14px; }
  .photo-close { min-height:44px; min-width:70px; top:10px; }
  .footer-top>p,.footer-top>a:last-child,.footer-bottom { font-size:12px; }
  .footer-top>a:last-child { display:flex; align-items:center; min-height:44px; }
  .footer-bottom { padding-bottom:calc(104px + env(safe-area-inset-bottom)); }
}
@media (max-width:600px) {
  .service-grid { grid-template-columns:1fr; gap:24px; }
  .service-art { height:auto; aspect-ratio:3/2; }
  .form-row { grid-template-columns:1fr; gap:0; }
}
@media (max-width:370px) {
  .container { width:calc(100% - 32px); }
  .hero h1 { font-size:38px; }
  .hero-description { font-size:14px; }
  .hero-buttons .button { font-size:12px; padding-inline:8px; }
  .hero-buttons .button span { font-size:13px; }
  .contact-buttons .button { font-size:12px; }
  .hero-bottom>span { letter-spacing:.3px; }
}

/* 간결한 선형 로고와 작은 브랜드 슬로건 */
.brand { gap:9px; }
.brand-icon { display:block; width:24px; height:28px; transform:none; color:var(--navy); flex-shrink:0; }
.hero { min-height:500px; }
.hero-inner { padding-block:66px 90px; }
.hero h1 { font-size:36px; line-height:1.55; letter-spacing:-1.4px; font-weight:500; }
.hero h1 .slogan-line { display:block; }
.hero h1 .slogan-line:first-child { color:var(--navy); }
.hero-description { font-size:19px; margin-top:26px; font-weight:600; }
.hero-brand { margin-bottom:22px; }
.overview-card { display:flex; flex-direction:column; }
.overview-content { flex:1; display:flex; flex-direction:column; align-items:flex-start; }
.overview-content h3 { width:100%; }
.overview-content .region-label { margin-top:auto; }
.feature-list { list-style:none; margin:14px 0 24px; padding:0; font-size:15px; line-height:1.8; }
.feature-list li { position:relative; padding-left:19px; margin-block:7px; }
.feature-list li:before { content:""; width:5px; height:5px; position:absolute; left:1px; top:.75em; background:var(--blue); }
nav a[aria-current="page"] { color:var(--blue); text-decoration:underline; text-underline-offset:6px; }
.landing-hero { padding-block:60px; background:#f2f5f5; }
.landing-hero-grid { display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center; }
.landing-copy h1 { font-size:38px; font-weight:600; line-height:1.45; letter-spacing:-1.3px; }
.landing-copy .eyebrow { letter-spacing:.8px; margin-bottom:14px; }
.landing-area { color:var(--blue); font-size:15px; margin-top:12px; }
.landing-copy .feature-list { margin-block:24px; font-size:16px; }
.landing-actions { display:flex; gap:20px; align-items:center; flex-wrap:wrap; }
.landing-actions .button { min-width:220px; font-size:14px; }
.landing-case-link { font-size:13px; min-height:48px; display:flex; align-items:center; border-bottom:1px solid var(--line); }
.landing-note { font-size:12px; color:var(--muted); margin-top:18px; line-height:1.8; }
.landing-photo { margin:0; position:relative; align-self:stretch; min-height:420px; }
.landing-photo img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.landing-photo figcaption { position:absolute; bottom:12px; right:12px; padding:4px 8px; background:#ffffffe6; color:var(--navy); font-size:11px; }
.landing-work-layout { display:grid; grid-template-columns:1fr 1fr; gap:32px; align-items:start; }
.landing-page .case-grid { grid-template-columns:1fr; }
.landing-page .support-grid { grid-template-columns:1fr; margin:0; padding:16px 0 0; border-top:1px solid var(--navy); }
.landing-page .support-case .eyebrow { margin-bottom:0; font-size:11px; }
.landing-page .support-case h3 { font-size:18px; margin-bottom:16px; }
.landing-page .photo-slot { aspect-ratio:3/4; }
.related-service { display:flex; justify-content:space-between; gap:20px; padding-block:24px; font-size:13px; border-bottom:1px solid var(--line); }
.related-service a { display:flex; align-items:center; min-height:44px; }
@media (min-width:761px) and (max-width:1050px) {
  .hero h1 { font-size:29px; }
  .hero-description { font-size:16px; }
  .landing-hero-grid { gap:30px; }
  .landing-copy h1 { font-size:31px; }
  .landing-copy .feature-list { font-size:15px; }
}
@media (max-width:760px) {
  .brand-icon { width:21px; height:25px; }
  .brand { font-size:23px; }
  .hero { min-height:0; }
  .hero-inner { padding-block:34px 30px; }
  .hero h1 { font-size:28px; line-height:1.6; letter-spacing:-1px; }
  .hero-brand { font-size:16px; margin-bottom:22px; }
  .hero-description { font-size:16px; margin-top:24px; }
  .hero-buttons { margin-top:20px; }
  .hero-note { margin-top:18px; }
  .feature-list { font-size:15px; margin-top:8px; }
  .feature-list li { margin-block:6px; }
  .landing-hero { padding-block:28px 0; }
  .landing-hero-grid { grid-template-columns:1fr; gap:24px; }
  .landing-copy h1 { font-size:29px; line-height:1.45; letter-spacing:-.8px; }
  .landing-copy .eyebrow { font-size:11px; margin-bottom:10px; }
  .landing-area { font-size:14px; margin-top:8px; line-height:1.8; }
  .landing-copy .feature-list { font-size:14px; margin-block:18px; }
  .landing-copy .feature-list li { margin-block:5px; }
  .landing-actions { display:grid; grid-template-columns:1.2fr 1fr; gap:12px; align-items:stretch; }
  .landing-actions .button { min-width:0; font-size:13px; padding:12px; min-height:52px; }
  .landing-case-link { font-size:12px; justify-content:center; }
  .landing-note { font-size:12px; margin-top:14px; }
  .landing-photo { min-height:0; height:245px; }
  .landing-photo figcaption { font-size:10px; }
  .landing-work-layout { grid-template-columns:1fr; gap:36px; }
  .landing-page .section-heading h2 { font-size:27px; }
  .landing-page .support-grid { padding-top:20px; }
  .landing-page .support-case h3 { font-size:20px; margin-block:8px 18px; }
  .related-service { flex-direction:column; gap:4px; padding-block:16px; font-size:14px; }
}
@media (max-width:370px) {
  .hero h1 { font-size:25px; }
  .hero-description { font-size:14px; }
  .landing-copy h1 { font-size:27px; }
  .landing-actions .button { font-size:12px; padding:10px; }
  .landing-case-link { font-size:11px; }
}

/* 실제 서비스 안내와 네 가지 연락 경로 */
.service-heading { font-size:32px; line-height:1.55; }
.care-heading h2 { font-size:34px; line-height:1.55; }
.process-grid { gap:0; }
.process-grid article>span { font-size:22px; color:#fff; }
.process-grid h3 { font-size:24px; margin-block:12px; }
.process-grid p { font-size:16px; line-height:1.85; }
.contact-buttons { grid-template-columns:repeat(2,minmax(0,1fr)); }
.contact-buttons .button { min-height:52px; font-size:14px; background:#2F6F91; color:#fff; }
.hero-bottom { justify-content:flex-end; }
@media (max-width:760px) {
  .hero h1 { font-size:25px; line-height:1.55; }
  .hero-inner { padding-block:30px; }
  .hero-buttons { grid-template-columns:1fr; gap:10px; }
  .hero-buttons .button { width:100%; min-height:52px; font-size:15px; padding-inline:18px; }
  .service-heading { font-size:25px; line-height:1.6; letter-spacing:-.8px; }
  .care-heading { text-align:left; }
  .care-heading h2 { font-size:26px; line-height:1.6; letter-spacing:-.8px; }
  .process-grid { display:grid; grid-template-columns:1fr; gap:24px; margin-top:28px; padding-top:24px; }
  .process-grid article { display:grid; grid-template-columns:42px 1fr; gap:6px 12px; padding-bottom:24px; }
  .process-grid article>span { grid-row:1/3; font-size:21px; padding-top:0; }
  .process-grid h3 { font-size:21px; margin:0; }
  .process-grid p { font-size:15px; }
  .contact-buttons .button { font-size:14px; }
  .mobile-contact { grid-template-columns:repeat(4,minmax(0,1fr)); padding:6px 8px calc(6px + env(safe-area-inset-bottom)); background:#fff; }
  .mobile-contact a { flex-direction:column; justify-content:center; align-items:center; gap:4px; min-height:56px; padding:5px 2px; font-size:12px; line-height:1.5; background:transparent; color:var(--navy); border-right:1px solid var(--line); }
  .mobile-contact a svg { display:block; width:23px; height:23px; flex-shrink:0; }
  html { scroll-padding-bottom:110px; }
  .footer-bottom { padding-bottom:calc(120px + env(safe-area-inset-bottom)); }
  #inquiry-notice { bottom:calc(90px + env(safe-area-inset-bottom)); }
  /* 전체 사진은 확대 보기에서 원본 비율로 확인할 수 있습니다. */
  #photo-dialog { max-height:calc(100dvh - 100px); }
}
@media (max-width:370px) {
  .hero h1 { font-size:23px; }
  .service-heading { font-size:23px; }
  .care-heading h2 { font-size:24px; }
}
/* 상단 지역 안내: 숫자 없이 서비스명과 지역만 표시 */
.region-strip p { display:flex; flex-direction:column; align-items:flex-start; gap:4px; }
@media (max-width:760px) {
  .region-strip p { display:flex; gap:2px; }
}
/* 작은 휴대폰에서도 방충망 소개 제목의 두 줄 구성 유지 */
@media (min-width:761px) and (max-width:900px) {
  #screen .detail-intro h2 { font-size:26px; }
}
@media (max-width:370px) {
  #screen .detail-intro h2 { font-size:clamp(23px,7vw,26px); }
}

/* 서비스 소개·작업사례는 같은 제목 위계, 작업 단계는 하위 위계 */
.window-photo-gallery { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; margin-top:32px; }
.window-photo-set { display:flex; flex-direction:column; gap:8px; min-width:0; padding:8px; border:1px solid var(--line); background:var(--white); }
.window-photo { position:relative; display:block; width:100%; aspect-ratio:4/3; overflow:hidden; padding:0; border:0; background:transparent; cursor:zoom-in; }
.window-photo img { display:block; width:100%; height:100%; object-fit:cover; }
.screen-photo-gallery { grid-template-columns:repeat(3,minmax(0,1fr)); }
@media (max-width:760px) {
  .window-photo-gallery { grid-template-columns:1fr; gap:32px; }
  .window-photo-set { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; padding:4px; }
}
.brand .brand-wordmark { display:inline-flex; align-items:center; height:45.078125px; }
.brand .brand-light { color:#64afd0; }
@media (max-width:760px) {
  .brand .brand-wordmark { height:40.484375px; }
}
#window .detail-intro h2,
#screen .detail-intro h2,
body:not(.landing-page) #contact h2,
body:not(.landing-page) .faq-section h2,
#works .section-heading h2 {
  font-size:37px;
  font-weight:500;
  line-height:1.45;
}
@media (min-width:901px) and (max-width:1050px) {
  #window .detail-intro h2,
  #screen .detail-intro h2,
  body:not(.landing-page) #contact h2,
  body:not(.landing-page) .faq-section h2,
  #works .section-heading h2 { font-size:33px; }
}
@media (min-width:761px) and (max-width:900px) {
  #window .detail-intro h2,
  #screen .detail-intro h2,
  body:not(.landing-page) #contact h2,
  body:not(.landing-page) .faq-section h2,
  #works .section-heading h2 { font-size:26px; }
}
@media (max-width:760px) {
  #window .detail-intro h2,
  #screen .detail-intro h2,
  body:not(.landing-page) #contact h2,
  body:not(.landing-page) .faq-section h2,
  #works .section-heading h2 {
    font-size:26px;
    font-weight:500;
    line-height:1.5;
  }
}
@media (max-width:370px) {
  #window .detail-intro h2,
  #screen .detail-intro h2,
  body:not(.landing-page) #contact h2,
  body:not(.landing-page) .faq-section h2,
  #works .section-heading h2 { font-size:clamp(23px,7vw,26px); }
}
