:root{--ink:#172f2b;--green:#164b40;--mint:#eaf2ec;--muted:#65736b;--line:#dce5dc;--paper:#fafbf7;--accent:#d9ed93}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;color:var(--ink);background:var(--paper);font-family:"Pretendard","Noto Sans KR","Apple SD Gothic Neo","Malgun Gothic",sans-serif;-webkit-font-smoothing:antialiased;word-break:keep-all}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #86a83d;outline-offset:5px}.skip{position:absolute;top:-80px;background:white;padding:20px;z-index:99}.skip:focus{top:0}.header{height:100px;padding:0 max(32px,calc((100vw - 1280px)/2));display:flex;align-items:center;gap:40px;background:rgba(250,251,247,.96);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20;backdrop-filter:blur(12px)}.brand{display:flex;gap:11px;align-items:center;flex-shrink:0;font-size:22px;font-weight:850;letter-spacing:-1px}.brand svg{width:38px;height:42px;stroke:var(--green);stroke-width:2.1;fill:none}.brand-light{font-weight:500}.brand small{display:block;font-size:8px;letter-spacing:1.4px;margin-top:5px;font-weight:500}.header nav{display:flex;gap:30px;margin-left:auto;font-size:14px;font-weight:600}.header nav a{padding:12px 0}.header nav a:hover{color:#5f8129}.header-call{border:1px solid var(--ink);border-radius:6px;padding:13px 19px;font-size:13px;font-weight:700;white-space:nowrap}.header-call span{margin-left:20px}.menu-toggle{display:none}.hero{padding:60px 40px 0;background:#edf3ec}.hero-inner,.hero-bottom{max-width:1280px;margin:auto}.hero-inner{display:grid;grid-template-columns:1.08fr 1fr;gap:35px;align-items:center}.eyebrow{font-size:12px;font-weight:700;letter-spacing:.2px;display:flex;align-items:center;gap:9px;margin-bottom:30px}.dot{width:7px;height:7px;border-radius:50%;background:#56803e}.hero h1{font-size:clamp(39px,4.05vw,61px);line-height:1.3;letter-spacing:-3.6px;margin:0 0 24px;font-weight:800}.hero h1 em{font-style:normal;color:#55734a}.hero-desc{font-size:16px;line-height:1.9;color:#526358;margin:0}.hero-actions{display:flex;align-items:center;gap:27px;margin-top:35px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;border-radius:5px;padding:19px 23px;font-size:14px;font-weight:700}.primary{background:var(--green);color:white}.primary:hover{background:#236353}.text-link{font-size:13px;border-bottom:1px solid #899d88;padding:10px 0}.text-link span{margin-left:14px}.hero-facts{display:flex;margin-top:44px;padding-top:27px;border-top:1px solid #ccd8cb;gap:35px;max-width:460px}.hero-facts>div+div{border-left:1px solid #c9d6c8;padding-left:35px}.hero-facts strong{font-size:37px;font-weight:600;letter-spacing:-1.5px}.hero-facts strong span{font-size:14px;letter-spacing:-.3px;margin-left:7px}.hero-facts small{display:block;margin-top:8px;font-size:11px;color:#677968}.hero-facts strong.types{font-size:15px;letter-spacing:-.3px;line-height:1.55}.hero-visual{height:540px;position:relative;border-radius:150px 12px 12px 12px;isolation:isolate}.hero-visual:before{content:"";position:absolute;inset:20px -17px -16px 35px;border:1px solid #b7c8af;border-radius:145px 12px 12px 12px;z-index:-1}.hero-visual>img{width:100%;height:100%;object-fit:cover;object-position:60% center;border-radius:inherit;background:#d3dfd0}.image-tag{position:absolute;bottom:45px;left:-25px;display:flex;gap:17px;align-items:center;background:var(--paper);padding:20px 26px;box-shadow:0 8px 24px #122e2810;font-size:14px;line-height:1.6;border-radius:5px}.small-mark{width:43px;height:48px;display:grid;place-items:center;font-family:Georgia,serif;font-size:40px;border:1px solid #becab9;color:#52754d}.image-disclaimer{position:absolute;bottom:12px;right:12px;background:#12352dcc;color:white;font-size:9px;padding:5px 7px;border-radius:3px}.hero-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:60px;padding:23px 0;border-top:1px solid #d2ddcf;font-size:12px;color:#697b65}.hero-bottom>a{font-size:9px;letter-spacing:1.4px}.hero-bottom>a span{margin-left:25px;font-size:19px}.section{max-width:1280px;margin:auto;padding:100px 0}.section-label{font-size:10px;letter-spacing:2px;color:#657d62;font-weight:700;margin-bottom:30px}h2{font-size:40px;line-height:1.4;letter-spacing:-2px;margin:0;font-weight:750}.about-top{display:grid;grid-template-columns:1fr 1fr;gap:70px}.about-intro p:first-child{font-size:21px;line-height:1.7;margin:0 0 22px;letter-spacing:-.6px}.muted{color:var(--muted);font-size:15px;line-height:1.9}.principles{display:grid;grid-template-columns:repeat(3,1fr);margin-top:55px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.principles article{padding:32px 35px 33px 0}.principles article+article{border-left:1px solid var(--line);padding-left:35px}.principles span{color:#8a9b82;font-family:Georgia,serif;font-style:italic;font-size:17px}.principles h3{margin:19px 0 12px;font-size:20px;letter-spacing:-.6px}.principles p{font-size:14px;line-height:1.8;color:var(--muted);margin:0}.services-section{background:#f0f2eb}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:43px}.section-heading p{margin:0 0 4px}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.service-card{background:#fafbf8;border:1px solid #e1e5da;border-radius:8px;position:relative;padding:30px 23px 0;transition:transform .2s,border-color .2s}.service-card:hover{transform:translateY(-4px);border-color:#a0b58d}.service-icon{width:52px;height:55px;color:#426a48}.service-icon svg{width:45px;height:45px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.service-no{position:absolute;right:23px;top:32px;font-size:10px;color:#97a28f;letter-spacing:1px}.service-card h3{font-size:18px;letter-spacing:-.6px;margin:24px 0 13px}.service-card p{font-size:12px;line-height:1.9;color:var(--muted);margin:0 0 26px}.card-tags{border-top:1px solid #e1e6dc;font-size:11px;color:#60705a;padding:17px 0}.card-tags span{margin:0 10px}.service-note{display:flex;gap:15px;margin-top:23px;align-items:baseline;color:#677260;font-size:11px;line-height:1.8}.service-note>span{flex-shrink:0;font-weight:700}.service-note p{margin:0}.case-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px}.case-card{border:0;text-align:left;background:none;padding:0;display:block}.case-art{height:300px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:filter .2s}.case-card:hover .case-art{filter:brightness(.97)}.art-label{position:absolute;top:22px;left:25px;font-size:9px;letter-spacing:1.5px;color:#71806e}.art-note{position:absolute;bottom:12px;right:15px;font-size:9px;color:#697865}.fee-art{background:#e9eee3}.paper-art{width:260px;padding:23px 25px 17px;background:#fffdf8;transform:rotate(-5deg) translateY(20px);box-shadow:15px 15px 0 #d4dfc7,0 15px 30px #29362212}.paper-head{border-bottom:1px solid #ccd7c8;padding-bottom:15px;font-size:13px;font-weight:700;display:flex;justify-content:space-between}.paper-head span{color:#66814b}.paper-row{display:flex;justify-content:space-between;align-items:center;padding:12px 0;font-size:10px;border-bottom:1px solid #edf0e9}.paper-row i{display:block;width:45px;height:5px;background:#dfe6d7}.paper-foot{font-size:10px;color:#587444;margin-top:15px}.waste-art{background:#ece8dd}.cost-art{text-align:center;transform:translateY(12px)}.cost-art>small{display:block;font-size:13px;color:#6b725e}.cost-art>strong{font-size:87px;letter-spacing:-5px;font-weight:500;line-height:1.3}.cost-art>strong span{font-size:27px;letter-spacing:-1px;margin-left:12px}.progress-pill{display:flex;align-items:center;justify-content:center;gap:8px;background:#f9f9f1;padding:10px 18px;font-size:11px;border-radius:30px;color:#557043}.progress-pill span{width:6px;height:6px;border-radius:50%;background:#849c51}.case-meta{display:flex;justify-content:space-between;margin-top:24px;font-size:10px;color:#77836f}.case-meta>span:first-child{color:#54754c}.case-card h3{font-size:26px;line-height:1.5;letter-spacing:-1.2px;margin:14px 0 13px}.case-card>p{color:var(--muted);font-size:14px;line-height:1.8;margin:0}.case-link{display:flex;justify-content:space-between;padding:22px 0 12px;border-bottom:1px solid #cdd8c7;font-size:12px;font-weight:700}.case-link>span{font-size:20px}.faq-section{border-top:1px solid var(--line)}.faq-wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;padding-top:80px;padding-bottom:80px}.faq-wrap h2{font-size:32px}.faq-list{border-top:1px solid #b8c9b2}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:24px 0;font-size:15px;font-weight:600}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{font-size:22px;font-weight:400;color:#73876b}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list details p{margin:0;padding:0 30px 24px 0;color:var(--muted);font-size:13px;line-height:1.9}.contact{background:#173f35;color:#f7f8ef}.contact-inner{max-width:1280px;margin:auto;padding:85px 0}.contact .section-label{color:#a3b9a0}.contact-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:100px}.contact h2{font-size:43px;letter-spacing:-2.3px}.contact-grid>div>p{font-size:14px;color:#bed0bd;line-height:1.9;margin-top:25px}.phone{font-size:45px;letter-spacing:-1.5px;display:inline-block;margin-top:15px;border-bottom:1px solid #7d9e7e;padding-bottom:10px}.phone span{font-size:30px;margin-left:25px;color:var(--accent)}.phone-note{display:block;font-size:10px;color:#b2c3b0;margin-top:13px}.contact-panel{background:#234b40;border:1px solid #436150;border-radius:8px;padding:30px}.contact-panel h3{margin:0;font-size:17px;letter-spacing:-.5px}.contact-panel ol{list-style:none;padding:0;margin:25px 0}.contact-panel li{display:flex;gap:20px;margin:22px 0;align-items:baseline}.contact-panel li>span{font-size:11px;color:#a7bb8a}.contact-panel li b{font-size:13px;font-weight:600}.contact-panel li small{display:block;font-size:11px;margin-top:7px;color:#b2c7b5}.copy-button{display:flex;justify-content:space-between;width:100%;background:var(--accent);color:#274525;border:0;border-radius:4px;padding:16px;font-size:12px;font-weight:700}.copy-button:hover{background:#e8f6bb}#copy-status{font-size:11px!important;min-height:16px;margin:10px 0 0!important;color:#d8e8cf!important}footer{max-width:1280px;margin:auto;display:flex;gap:35px;align-items:center;padding:40px 0}.footer-brand{font-weight:800;font-size:18px;letter-spacing:-1px}footer div{font-size:10px;color:#778171;line-height:1.8}footer div span{display:block}footer small{font-size:8px;letter-spacing:1px;margin-left:auto;color:#7d8877}.mobile-call{display:none}dialog{border:0;border-radius:12px;padding:0;max-width:700px;width:calc(100% - 32px);max-height:85vh;color:var(--ink);background:var(--paper);box-shadow:0 30px 90px #0003}dialog::backdrop{background:#102d27a8;backdrop-filter:blur(4px)}.dialog-bar{position:sticky;top:0;background:var(--paper);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:14px 26px;font-size:10px;letter-spacing:1px;z-index:1}.dialog-bar button{font-size:30px;border:0;background:none;line-height:1;width:40px;height:40px}#dialog-body{padding:20px 38px 40px}#dialog-body h2{font-size:29px;margin:15px 0 28px}#dialog-body h3{font-size:18px;margin:25px 0 12px}#dialog-body p{font-size:14px;line-height:1.95;color:#526354}#dialog-body .case-status{font-size:11px;color:#587840;background:#edf2df;padding:10px 15px;border-radius:5px}#dialog-body a{margin-top:20px}.dialog-note{border-top:1px solid var(--line);padding-top:18px;font-size:11px!important;color:#788573!important}
@media(min-width:1440px){.hero{padding-top:70px}.hero-visual{height:560px}}
@media(max-width:1360px){.section,.contact-inner,footer{margin-left:50px;margin-right:50px}.header{padding-left:40px;padding-right:40px;gap:28px}.header nav{gap:22px}.hero-visual{height:510px}}
@media(max-width:1050px){.hero h1{font-size:42px;letter-spacing:-2.7px}.hero-actions{gap:16px;flex-wrap:wrap}.hero-visual{height:480px}.hero-inner{gap:25px}.hero-desc{font-size:14px}.header nav{gap:18px;font-size:12px}.brand{font-size:19px}.header-call{display:none}.service-grid{grid-template-columns:1fr 1fr}.service-card p{font-size:14px}.contact-grid{gap:45px}.case-card h3{font-size:23px}}
@media(max-width:760px){html{scroll-padding-top:85px}.header{height:76px;padding:0 22px;gap:15px}.brand{font-size:19px}.brand svg{width:31px}.brand small{font-size:7px}.menu-toggle{display:flex;margin-left:auto;width:38px;height:38px;border:0;background:transparent;flex-direction:column;gap:6px;align-items:center;justify-content:center}.menu-toggle span{width:22px;height:1px;background:var(--ink);transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.header nav{display:none;position:absolute;top:76px;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--line);padding:15px 25px;font-size:15px}.header nav.open{display:flex;flex-direction:column;gap:4px}.hero{padding:38px 24px 0}.hero-inner{display:flex;flex-direction:column;align-items:stretch;gap:40px}.eyebrow{font-size:10px;margin-bottom:25px}.hero h1{font-size:43px;letter-spacing:-2.8px;line-height:1.3;margin-bottom:21px}.hero-desc{font-size:13px;line-height:1.9}.hero-actions{margin-top:27px;gap:18px}.button{font-size:12px;padding:16px 18px;gap:20px}.text-link{font-size:11px}.text-link span{margin-left:8px}.hero-facts{margin-top:30px;padding-top:22px;gap:28px}.hero-facts>div+div{padding-left:28px}.hero-facts strong{font-size:32px}.hero-facts strong span{font-size:12px}.hero-facts strong.types{font-size:13px}.hero-facts small{font-size:10px}.hero-visual{height:365px;border-top-left-radius:100px;margin-left:10px;margin-right:8px}.hero-visual:before{inset:15px -10px -10px 20px;border-top-left-radius:100px}.image-tag{left:-15px;bottom:35px;padding:13px 18px;font-size:12px}.small-mark{height:39px;width:35px;font-size:30px}.image-disclaimer{font-size:8px;right:8px}.hero-bottom{margin-top:35px;padding:20px 0;font-size:10px}.hero-bottom>a{font-size:0;letter-spacing:0}.hero-bottom>a span{font-size:18px}.section,.contact-inner,footer{margin-left:24px;margin-right:24px}.section{padding:65px 0}.section-label{font-size:9px;margin-bottom:22px}h2{font-size:31px;letter-spacing:-1.5px}.about-top{grid-template-columns:1fr;gap:25px}.about-intro p:first-child{font-size:18px}.muted{font-size:13px}.desktop{display:none}.principles{grid-template-columns:1fr;margin-top:30px}.principles article,.principles article+article{border-left:0;padding:24px 0;position:relative;padding-left:42px}.principles article+article{border-top:1px solid var(--line)}.principles article>span{position:absolute;left:0;top:28px;font-size:15px}.principles h3{margin:0 0 9px;font-size:18px}.principles p{font-size:13px}.section-heading{display:block;margin-bottom:30px}.section-heading>p{margin-top:20px;font-size:13px}.service-grid{gap:10px}.service-card{padding:21px 16px 0}.service-card h3{font-size:15px;letter-spacing:-.7px;margin-top:17px}.service-card p{font-size:11px;line-height:1.9}.service-card p br{display:none}.service-icon svg{width:35px;height:35px}.service-icon{height:40px}.service-no{right:14px;top:24px}.card-tags{font-size:9px;padding:14px 0}.card-tags span{margin:0 5px}.service-note{font-size:10px;gap:10px}.case-grid{grid-template-columns:1fr;gap:36px}.case-art{height:270px}.case-card h3{font-size:23px}.case-card>p{font-size:13px}.case-meta{margin-top:20px}.faq-wrap{grid-template-columns:1fr;gap:20px}.faq-wrap h2{font-size:30px}.faq-wrap h2 br{display:none}.faq-list summary{font-size:13px;padding:21px 0}.contact-inner{padding:55px 0}.contact-grid{grid-template-columns:1fr;gap:35px}.contact h2{font-size:33px}.contact-grid>div>p{font-size:13px}.phone{font-size:38px}.contact-panel{padding:24px}.contact-panel h3{font-size:16px}footer{flex-wrap:wrap;gap:17px;padding:30px 0 95px}.footer-brand{width:100%;font-size:17px}footer small{font-size:7px}.mobile-call{display:flex;position:fixed;bottom:12px;left:12px;right:12px;z-index:15;align-items:center;justify-content:space-between;gap:10px;padding:17px 20px;background:#143f34;color:white;box-shadow:0 4px 20px #0003;border:1px solid #6e9271;border-radius:8px;font-size:11px}.mobile-call b{font-size:12px;color:#dcecaa}#dialog-body{padding:15px 24px 30px}#dialog-body h2{font-size:24px}#dialog-body p{font-size:13px}.dialog-bar{padding:10px 18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Readable, generous typography for consultation-focused visitors. */
body{font-size:20px;line-height:1.75}
.header nav{font-size:18px}.header-call{font-size:17px}
.eyebrow{font-size:17px;flex-wrap:wrap}.hero-desc{font-size:22px;line-height:1.9}
.button{font-size:19px;line-height:1.5}.text-link{font-size:18px}
.hero-facts{max-width:none;gap:24px}.hero-facts>div+div{padding-left:24px}
.hero-facts strong.types,.hero-facts strong span{font-size:19px}.hero-facts small{font-size:16px}
.image-tag{font-size:19px}.image-disclaimer{font-size:13px}.hero-bottom{font-size:17px}
.section-label{font-size:14px}h2{font-size:46px}
.about-intro p:first-child{font-size:27px}.muted,.section-heading>p{font-size:20px;line-height:1.9}
.principles h3{font-size:26px}.principles p{font-size:20px;line-height:1.9}
.service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.service-card{padding:30px 28px 0}.service-card h3{font-size:26px}.service-card p{font-size:20px;line-height:1.9}
.card-tags{font-size:17px}.service-note{font-size:17px}.service-no{font-size:14px}
.case-card h3{font-size:30px}.case-card>p{font-size:20px}.case-meta{font-size:15px}.case-link{font-size:19px}
.art-label,.art-note{font-size:12px}.paper-head{font-size:18px}.paper-row,.paper-foot{font-size:14px}
.cost-art>small{font-size:19px}.progress-pill{font-size:16px}
.faq-wrap h2{font-size:40px}.faq-list summary{font-size:22px}.faq-list details p{font-size:20px;line-height:1.9}
.contact h2{font-size:46px}.contact-grid>div>p{font-size:21px}.phone-note{font-size:16px}
.contact-panel h3{font-size:24px}.contact-panel li b{font-size:20px}.contact-panel li small{font-size:17px}.contact-panel li>span{font-size:16px}
.copy-button{font-size:18px}#copy-status{font-size:16px!important}
footer div{font-size:16px}footer small{font-size:12px}
dialog{max-width:800px}#dialog-body h2{font-size:34px}#dialog-body h3{font-size:25px}#dialog-body p{font-size:20px;line-height:1.95}
#dialog-body .case-status{font-size:16px}.dialog-note{font-size:16px!important}
@media(max-width:1050px){.header{gap:18px}.header nav{gap:16px;font-size:16px}.hero-inner{grid-template-columns:1fr 1fr}.contact-grid{gap:30px}}
@media(max-width:760px){
 .header nav{font-size:21px}.header nav a{padding:13px 0}
 .eyebrow{font-size:15px}.hero h1{font-size:44px;letter-spacing:-2.5px}.hero-desc{font-size:21px;line-height:1.9}
 .hero-desc br,.principles p br,.case-card>p br{display:none}
 .hero-actions{gap:20px;align-items:stretch}.hero-actions .button{width:100%;padding:19px 22px;font-size:20px}.text-link{font-size:18px}
 .hero-facts{gap:17px;flex-wrap:wrap}.hero-facts>div+div{padding-left:17px}.hero-facts strong.types,.hero-facts strong span{font-size:17px}.hero-facts small{font-size:15px}
 .image-tag{font-size:18px}.image-disclaimer{font-size:11px}.hero-bottom{font-size:15px}
 .section-label{font-size:13px}h2,.faq-wrap h2{font-size:35px;line-height:1.5}.about-intro p:first-child{font-size:23px}
 .muted,.section-heading>p{font-size:20px;line-height:1.9}.principles h3{font-size:24px}.principles p{font-size:20px}
 .service-grid{grid-template-columns:minmax(0,1fr);gap:20px}.service-card{padding:27px 24px 0}.service-card h3{font-size:25px}.service-card p{font-size:20px}.card-tags{font-size:16px}
 .service-note{display:block;font-size:16px}.service-note>span{display:block;margin-bottom:7px}
 .case-card h3{font-size:27px;letter-spacing:-1px}.case-card>p{font-size:20px}.case-meta{font-size:14px}.case-link{font-size:19px}
 .faq-list summary{font-size:21px;padding:25px 0}.faq-list details p{font-size:20px;padding-right:0}
 .contact h2{font-size:35px}.contact-grid>div>p{font-size:20px}.phone{font-size:37px}.phone span{margin-left:10px}.phone-note{font-size:16px}
 .contact-panel{padding:24px 20px}.contact-panel h3{font-size:23px}.contact-panel li{gap:12px}.contact-panel li b{font-size:20px}.contact-panel li small{font-size:17px}
 .copy-button{font-size:18px;gap:10px}.mobile-call{font-size:16px;padding:17px 16px}.mobile-call b{font-size:16px;white-space:nowrap}
 footer div{font-size:15px}footer small{font-size:11px;margin-left:0}
 #dialog-body{padding:18px 22px 30px}#dialog-body h2{font-size:29px}#dialog-body h3{font-size:24px}#dialog-body p{font-size:20px}#dialog-body .button{font-size:18px;flex-wrap:wrap;gap:10px}
}
@media(max-width:380px){.hero h1{font-size:39px}.hero-facts>div+div{border-left:0;padding-left:0}.mobile-call{font-size:14px;gap:6px}.mobile-call b{font-size:15px}.phone{font-size:33px}}

/* Problem-first landing page. */
.hero h1{font-size:clamp(36px,3.5vw,54px);letter-spacing:-2.6px;line-height:1.4}
.hero-inner{grid-template-columns:1.2fr 1fr}.hero-visual{height:590px}
.hero-copy{min-width:0}.hero-bottom{gap:20px}
.concerns-section{background:#fafbf7}.concern-intro{max-width:750px}
.concern-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:36px 0 70px}
.concern-tabs a{display:flex;flex-direction:column;align-items:flex-start;padding:26px;background:#eaf2e7;border:1px solid #c6d6bf;border-radius:12px;transition:background .2s,transform .2s}
.concern-tabs a:hover{background:#dcebcf;transform:translateY(-3px)}
.concern-tabs span{font-size:16px;color:#526c4b}.concern-tabs strong{font-size:25px;line-height:1.55;margin:13px 0 20px;letter-spacing:-1px}.concern-tabs b{align-self:flex-end;font-size:24px;color:var(--green)}
.problem{display:grid;grid-template-columns:1fr 1.15fr;gap:70px;padding:65px 0;border-top:1px solid #cfdcc9;scroll-margin-top:25px}
.problem-number{font-size:18px;font-weight:700;color:#658052}.problem-question>p:not(.muted){font-size:17px;color:#58734c;margin:15px 0}
.problem h3{font-size:34px;line-height:1.6;letter-spacing:-1.4px;margin:0 0 22px}
.problem-question .muted{font-size:20px}.answer-label{display:block;font-size:22px;font-weight:700;line-height:1.6;color:var(--green);margin-bottom:25px}
.problem-answer ol{padding:0;list-style:none;counter-reset:steps;margin:0}
.problem-answer li{counter-increment:steps;position:relative;padding:0 0 22px 44px}
.problem-answer li:before{content:counter(steps);position:absolute;left:0;top:2px;width:29px;height:29px;border-radius:50%;background:#e3eddc;text-align:center;line-height:29px;font-size:16px;color:#426438}
.problem-answer li b{font-size:21px}.problem-answer li p{font-size:19px;color:#586b5d;line-height:1.85;margin:8px 0 0}
.problem-link{display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid #9eb393;padding:16px 0;font-size:19px;font-weight:700;color:var(--green)}
.problem-note{font-size:16px;line-height:1.8;color:#65745e;background:#eff3e9;padding:17px;border-radius:6px}
.concern-cta{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:32px;background:#edf3e5;border-radius:12px;margin-top:20px}
.concern-cta h3{font-size:24px;margin:0 0 10px;line-height:1.6}.concern-cta p{font-size:18px;color:#5b6e52;margin:0}.concern-cta .button{flex-shrink:0}
.about{border-top:1px solid var(--line)}
@media(max-width:1050px){.hero-inner{grid-template-columns:1fr 1fr}.hero h1{font-size:36px;letter-spacing:-2px}.hero-visual{height:580px}.problem{gap:32px}.concern-tabs{gap:12px}.concern-tabs a{padding:20px}.concern-tabs strong{font-size:22px}.concern-cta{flex-direction:column;align-items:flex-start}.header nav{font-size:15px}}
@media(max-width:760px){
 .hero h1{font-size:clamp(31px,7.8vw,43px);letter-spacing:-1.5px;line-height:1.5}.hero-desc{font-size:20px}.hero-visual{height:300px}.hero-inner{gap:32px}
 .hero-facts{margin-top:26px}.hero-bottom{font-size:15px}.header nav{font-size:21px}
 .concerns-section .section{padding-top:50px}.concerns-section h2{font-size:32px}
 .concern-tabs{grid-template-columns:1fr;gap:12px;margin:28px 0 40px}
 .concern-tabs a{position:relative;padding:20px 48px 20px 22px}.concern-tabs span{font-size:16px}.concern-tabs strong{font-size:24px;margin:7px 0 0}.concern-tabs b{position:absolute;right:22px;top:38px}
 .problem{grid-template-columns:1fr;gap:24px;padding:42px 0}.problem h3{font-size:29px;letter-spacing:-1px}.problem-question .muted{font-size:20px}.problem-question .muted br{display:none}
 .answer-label{font-size:23px;margin-bottom:23px}.problem-answer li{padding-left:38px}.problem-answer li b{font-size:21px}.problem-answer li p{font-size:20px}
 .problem-link{font-size:19px}.problem-note{font-size:17px}.concern-cta{padding:24px;gap:24px}.concern-cta h3{font-size:25px}.concern-cta p{font-size:20px}.concern-cta .button{width:100%;font-size:18px;gap:10px}
}

/* Continuous, accessible building gallery. */
.buildings-section{padding:65px 0 45px;background:#f1f4ed;border-bottom:1px solid var(--line);overflow:hidden}
.buildings-heading{max-width:1280px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:24px}.buildings-heading .section-label{margin-bottom:15px}.buildings-heading h2{font-size:40px}.buildings-heading p{margin:12px 0 0}
.buildings-pause{background:transparent;border:1px solid #82977e;border-radius:30px;font-size:16px;padding:12px 20px;flex-shrink:0;min-height:48px}.buildings-pause:hover{background:#e0eacf}
.buildings-draft,.buildings-hint{max-width:1280px;margin:22px auto;font-size:16px;color:#56684e;line-height:1.7}.buildings-hint{margin-bottom:0}
.buildings-viewport{overflow-x:auto;scrollbar-width:thin;scrollbar-color:#9caf90 transparent;overscroll-behavior-x:contain;padding:6px 0 18px;outline-offset:-3px;direction:ltr}
.buildings-viewport:focus-visible{outline:3px solid #86a83d}.buildings-track{display:flex;width:max-content;gap:22px;padding:0 24px}.buildings-group{display:flex;gap:22px}
.building-card{width:340px;flex-shrink:0;background:var(--paper);border:1px solid #d2decb;border-radius:14px;overflow:hidden}.building-placeholder{height:250px;background:#dfe8d7;display:flex;flex-direction:column;justify-content:center;align-items:center;position:relative;color:#526b45;text-align:center}.building-card:nth-child(even) .building-placeholder{background:#e7e9dc}.building-placeholder>span{font-size:80px;line-height:1;font-weight:750;color:#a8b99a;letter-spacing:-5px}.building-placeholder>p{font-size:20px;line-height:1.7;margin:16px 0 0}.building-caption{padding:23px}.building-caption h3{font-size:23px;line-height:1.5;margin:0 0 8px;letter-spacing:-.6px}.building-caption p{font-size:17px;line-height:1.7;margin:0;color:var(--muted)}.building-card img{display:block;width:100%;height:250px;object-fit:cover}
@media(max-width:1360px){.buildings-heading,.buildings-draft,.buildings-hint{margin-left:50px;margin-right:50px}}
@media(max-width:760px){.buildings-section{padding:45px 0 32px}.buildings-heading,.buildings-draft,.buildings-hint{margin-left:24px;margin-right:24px}.buildings-heading{display:block}.buildings-heading h2{font-size:32px}.buildings-heading .muted{font-size:20px}.buildings-pause{margin-top:22px;font-size:17px}.buildings-draft,.buildings-hint{font-size:16px}.building-card{width:min(310px,80vw)}.building-placeholder,.building-card img{height:230px}.building-caption{padding:21px}.building-caption h3{font-size:23px}.building-caption p{font-size:18px}.buildings-track,.buildings-group{gap:16px}}

/* Illustrated portfolio cards */
.building-card img{height:auto;aspect-ratio:1;object-fit:contain;background:#f6f3eb}
.building-caption{padding:20px 24px 22px}
.building-location{display:block;font-size:16px;color:var(--muted);margin-bottom:5px}
.building-caption h3{font-size:25px;margin:0}
@media(max-width:760px){.building-card img{height:auto}.building-caption{padding:17px 20px 20px}.building-caption h3{font-size:24px}}

/* Hero concern cards and direct consultation channels. */
.hero-help{min-width:0;background:#dfe9dd;border:1px solid #c8d8c3;border-radius:28px;padding:30px;box-shadow:0 18px 50px #2347350a}
.help-kicker{display:inline-block;color:#4d6b46;font-size:16px;font-weight:700;letter-spacing:.04em;margin-bottom:10px}
.help-heading h2{font-size:32px;line-height:1.4;letter-spacing:-1.3px;margin:0 0 23px}
.help-card{display:flex;align-items:center;gap:15px;background:#fafcf7;border:1px solid #d2dfcc;border-radius:14px;padding:22px 18px;margin-top:12px;transition:transform .2s,box-shadow .2s}
.help-card:hover{transform:translateY(-3px);box-shadow:0 8px 20px #23473512}
.help-number{align-self:flex-start;font-size:15px;font-weight:700;color:#66815b;padding-top:5px}.help-card>div{flex:1;min-width:0}
.help-card h3{font-size:23px;line-height:1.45;letter-spacing:-.8px;margin:0 0 7px}.help-card p{font-size:17px;line-height:1.65;color:#5b6e5a;margin:0}
.help-arrow{font-size:23px;color:#55734a}.help-foot{font-size:16px;line-height:1.8;margin:22px 0 0;color:#5a7058}.help-foot strong{font-weight:600;color:#274a3c}
.hero-actions{flex-wrap:wrap;gap:12px}.hero-actions .button{gap:22px}.kakao-button{background:#fee500;color:#191919;border:1px solid #e5cf00}.kakao-button:hover{background:#f5db00}
.contact-chat{margin-top:24px}.contact-chat p{font-size:17px;line-height:1.7;color:inherit;margin:12px 0 0}.mobile-consult{display:none}
@media(max-width:1050px){.hero-help{padding:24px}.help-heading h2{font-size:28px}.help-card{padding:18px 14px;gap:10px}.help-card h3{font-size:21px}.help-card p{font-size:17px}}
@media(max-width:760px){.hero-inner{grid-template-columns:minmax(0,1fr)}.hero-help{padding:24px 18px;border-radius:20px}.help-heading{padding:0 4px}.help-heading h2{font-size:30px}.help-card{padding:22px 14px}.help-card h3{font-size:23px}.help-card p{font-size:18px}.help-foot{font-size:17px;padding:0 4px}.hero-actions .button{width:100%}.mobile-consult{display:grid;grid-template-columns:1fr 1fr;position:fixed;left:12px;right:12px;bottom:calc(10px + env(safe-area-inset-bottom));z-index:15;gap:8px;padding:7px;background:#fafbf7;border:1px solid #d2dfcc;border-radius:13px;box-shadow:0 4px 22px #0002}.mobile-consult a{display:flex;align-items:center;justify-content:space-between;gap:6px;min-height:54px;padding:14px 12px;border-radius:8px;font-size:17px;font-weight:700}.mobile-phone{background:#164b40;color:white}.mobile-kakao{background:#fee500;color:#191919}footer{padding-bottom:calc(115px + env(safe-area-inset-bottom))}}
@media(max-width:380px){.mobile-consult a{font-size:15px}.help-card h3{font-size:21px}.help-card p{font-size:17px}}

/* Stronger mobile typography and deliberate gallery note line breaks. */
.brand-light{font-weight:800}
.hero h1{font-weight:900;line-height:1.35}
.hero-facts strong{font-weight:900}.hero-facts strong.types{font-weight:800}
.buildings-note-label{display:inline-block;font-size:17px;font-weight:800;line-height:1.5;background:#e2ebdb;color:#345336;border-radius:6px;padding:7px 12px;margin-bottom:4px}
.buildings-draft p{margin:14px 0 0;line-height:1.75}.buildings-draft p+p{margin-top:16px}
@media(max-width:760px){
 .brand{font-size:25px;font-weight:900;letter-spacing:-1.2px}.brand small{font-weight:500;letter-spacing:1px}
 .hero h1{font-size:clamp(33px,8.5vw,47px);font-weight:900;letter-spacing:-1.8px;line-height:1.38}
 .hero-desc{font-size:21px;font-weight:500;color:#40574a}
 .hero-facts{display:grid;grid-template-columns:1fr;gap:18px;padding-top:24px}
 .hero-facts>div{padding:0 0 18px;border-bottom:1px solid #ccd8cb}.hero-facts>div+div{border-left:0;padding-left:0;border-bottom:0;padding-bottom:0}
 .hero-facts strong{font-size:52px;line-height:1.2;font-weight:900;letter-spacing:-1.5px}.hero-facts strong span{font-size:25px;font-weight:800;letter-spacing:-1px}
 .hero-facts strong.types{display:block;font-size:27px;font-weight:800;line-height:1.5;letter-spacing:-.8px}.hero-facts small{font-size:18px;line-height:1.6;margin-top:9px;color:#52684f;font-weight:500}
 .help-heading h2{font-weight:850}.help-card h3{font-weight:800}
 .buildings-draft{font-size:16px;letter-spacing:-.35px}.buildings-draft p{line-height:1.85}
}
@media(max-width:380px){.brand{font-size:23px}.brand small{font-size:8px;letter-spacing:.5px}.hero-facts strong.types{font-size:25px}}

/* Year-end offer and management credentials */
.hero h1{font-size:clamp(36px,3.65vw,58px);line-height:1.32;letter-spacing:-2px}
.hero-desc strong{color:var(--ink);font-weight:850}
.hero-facts .managed-count>strong{font-size:88px;color:var(--green);line-height:1.1;letter-spacing:-5px;white-space:nowrap}
.hero-facts .managed-count>strong span{font-size:22px;letter-spacing:-1px;margin-left:8px}
.hero-facts .managed-count>strong .count-plus{font-size:52px;vertical-align:top;margin-left:0;letter-spacing:-3px}
.hero-facts .managed-count small{font-size:16px;margin:8px 0;line-height:1.6}
.event-reopen{display:block;background:#e1eccb;border:1px solid #aabd96;border-radius:10px;text-align:left;padding:12px 16px;margin:22px 0 0;color:var(--green);font:inherit;font-size:14px;cursor:pointer}
.event-reopen[hidden]{display:none}.event-reopen b{display:block;font-size:17px;margin-top:3px}
#yearend-dialog{position:fixed;inset:0;box-sizing:border-box;width:min(500px,calc(100% - 28px));max-width:500px;max-height:calc(100dvh - 28px);padding:0;border:1px solid #b8c8b8;border-radius:24px;margin:auto;overflow-y:auto;background:#f8faf3;color:var(--ink);box-shadow:0 30px 100px #001c2755}
#yearend-dialog::backdrop{background:rgba(9,29,24,.65)}
.event-content{text-align:center;padding:38px 30px 24px;background:radial-gradient(ellipse at top,#e1edcd,transparent 70%)}
.event-close{position:absolute;right:10px;top:8px;width:40px;height:40px;border:0;border-radius:50%;background:transparent;color:var(--ink);font-size:30px;cursor:pointer}
.event-eyebrow{font-size:22px;font-weight:900;letter-spacing:.5px;margin:8px 0 20px}
#yearend-title{font-size:30px;line-height:1.45;letter-spacing:-1.2px;margin:0}
.event-offer{margin:22px 0 18px;padding:20px;background:var(--green);color:#e5f3a8;border-radius:18px;display:flex;align-items:baseline;justify-content:center;flex-wrap:wrap;gap:0 10px}
.event-offer>span{width:100%;font-size:30px;font-weight:900;color:white}
.event-offer>strong{font-size:104px;line-height:1.15;letter-spacing:-5px;font-weight:900}
.event-offer>strong span{font-size:35px;letter-spacing:-2px;margin-left:6px}.event-offer>b{font-size:35px}
.event-message{font-size:18px;line-height:1.7;margin:0 0 20px}.event-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.event-actions .button{padding:15px 8px;justify-content:center;font-size:15px;min-width:0;white-space:nowrap}
#yearend-scope{font-size:13px;line-height:1.8;color:#58685e;margin:18px 0 0}
.event-footer{display:grid;grid-template-columns:1fr 100px;border-top:1px solid var(--line);background:#edf2e9}.event-footer button{border:0;background:none;font:inherit;font-size:14px;padding:17px;cursor:pointer;color:var(--ink)}.event-footer button+button{border-left:1px solid var(--line)}
#yearend-dialog button:focus-visible,.event-reopen:focus-visible{outline:3px solid #7b9947;outline-offset:-4px}
@media(max-width:760px){.hero h1{font-size:clamp(30px,7.5vw,46px);letter-spacing:-1.5px}.hero-facts .managed-count>strong{font-size:86px}.help-kicker{line-height:1.6}.event-reopen{width:100%}}
@media(max-width:380px){.event-content{padding:34px 18px 20px}#yearend-title{font-size:25px}.event-offer>strong{font-size:84px}.event-actions .button{font-size:13px}}

@media(max-width:380px){.event-eyebrow{font-size:20px}.event-offer>span{font-size:28px}}
