:root{--bg:#e8ece7;--bg-deep:#d7ddd6;--surface:#ffffff9e;--surface-strong:#f4f6f3;--ink:#14201c;--ink-soft:#3d4b45;--muted:#66756e;--brand:#0b2a4a;--brand-2:#143a63;--accent:#b8925a;--accent-soft:#d8c19a;--line:#16352f1f;--shadow:0 18px 50px #14201c1f;--radius:18px;--font-display:"Noto Serif KR", serif;--font-body:"Noto Sans KR", sans-serif;--max:1120px;--header:72px}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;color:var(--ink);font-family:var(--font-body);background:radial-gradient(1200px 600px at 10% -10%, #b8925a2e, transparent 55%), radial-gradient(900px 500px at 100% 0%, #21484129, transparent 50%), linear-gradient(180deg, #eef2ec 0%, var(--bg) 40%, #dfe6df 100%);background-attachment:fixed;margin:0;line-height:1.65}body:before{content:"";pointer-events:none;opacity:.35;z-index:0;background-image:linear-gradient(#16352f08 1px,#0000 1px),linear-gradient(90deg,#16352f08 1px,#0000 1px);background-size:48px 48px;position:fixed;inset:0;-webkit-mask-image:linear-gradient(#0000008c,#0000 85%);mask-image:linear-gradient(#0000008c,#0000 85%)}#root{z-index:1;min-height:100vh;position:relative}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button,input,textarea,select{font:inherit}button{cursor:pointer}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.02em;margin:0;font-weight:600;line-height:1.25}p{margin:0}.site-shell{flex-direction:column;min-height:100vh;display:flex}.site-main{flex:1}.container{width:min(var(--max), calc(100% - 2rem));margin-inline:auto}.btn{border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:.5rem;min-height:48px;padding:.75rem 1.25rem;transition:transform .25s,background .25s,color .25s,border-color .25s;display:inline-flex}.btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--brand);color:#f4f7f4}.btn-primary:hover{background:var(--brand-2)}.btn-ghost{color:#f4f7f4;background:0 0;border-color:#f4f7f473}.btn-ghost:hover{background:#f4f7f41a}.btn-outline{border-color:var(--line);color:var(--brand);background:0 0}.btn-outline:hover{border-color:var(--brand);background:#16352f0a}.section{padding:5.5rem 0}.section-head{max-width:40rem;margin-bottom:2.5rem}.section-head .eyebrow{color:var(--accent);letter-spacing:.08em;margin-bottom:.75rem;font-size:.85rem;font-weight:600;display:inline-block}.section-head h2{margin-bottom:.85rem;font-size:clamp(1.8rem,3vw,2.5rem)}.section-head p{color:var(--ink-soft);font-size:1.02rem}.reveal{opacity:0;transition:opacity .7s,transform .7s;transform:translateY(18px)}.reveal.is-visible{opacity:1;transform:none}@keyframes rise{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}@keyframes slowZoom{0%{transform:scale(1.08)}to{transform:scale(1)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.site-header{z-index:50;height:var(--header);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);background:#e8ece7d1;position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;gap:1rem;height:100%;display:flex}.brand{align-items:center;gap:.75rem;display:inline-flex}.brand-mark{border-radius:.55rem;flex-shrink:0;width:2.1rem;height:2.1rem;display:block}.brand-text{flex-direction:column;line-height:1.1;display:flex}.brand-text strong{font-family:var(--font-display);letter-spacing:-.03em;font-size:1.25rem;font-weight:700}.brand-text em{color:var(--muted);letter-spacing:.04em;font-size:.72rem;font-style:normal}.site-nav{align-items:center;gap:.35rem;display:flex}.site-nav a{color:var(--ink-soft);border-radius:999px;padding:.55rem .8rem;font-size:.95rem;font-weight:500;transition:background .2s,color .2s}.site-nav a:hover,.site-nav a.active{color:var(--brand);background:#16352f0f}.nav-phone{margin-left:.4rem;background:var(--brand)!important;color:#f4f7f4!important}.nav-phone:hover{background:var(--brand-2)!important}.nav-toggle{border:1px solid var(--line);background:#ffffff80;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:6px;width:44px;height:44px;display:none}.nav-toggle span{background:var(--brand);width:18px;height:2px;transition:transform .25s,opacity .25s}.nav-toggle.is-open span:first-child{transform:translateY(4px)rotate(45deg)}.nav-toggle.is-open span:last-child{transform:translateY(-4px)rotate(-45deg)}@media (width<=860px){.nav-toggle{display:inline-flex}.site-nav{top:calc(var(--header) + .5rem);border:1px solid var(--line);box-shadow:var(--shadow);opacity:0;pointer-events:none;background:#f4f6f3f5;border-radius:16px;flex-direction:column;align-items:stretch;padding:.75rem;transition:opacity .2s,transform .2s;position:absolute;left:1rem;right:1rem;transform:translateY(-6px)}.site-nav.is-open{opacity:1;pointer-events:auto;transform:none}.nav-phone{text-align:center;margin-left:0}}.site-footer{border-top:1px solid var(--line);background:linear-gradient(#0000,#16352f0f);margin-top:2rem;padding:3rem 0 1.5rem}.footer-grid{grid-template-columns:1.4fr 1fr 1fr;gap:2rem;padding-bottom:2rem;display:grid}.footer-brand{font-family:var(--font-display);margin-bottom:.6rem;font-size:1.35rem;font-weight:700}.footer-copy,.footer-meta{color:var(--muted);font-size:.92rem}.footer-label{letter-spacing:.06em;color:var(--accent);margin-bottom:.75rem;font-size:.8rem;font-weight:700}.footer-links{gap:.45rem;display:grid}.footer-links a{color:var(--ink-soft)}.footer-links a:hover{color:var(--brand)}.footer-phone{font-family:var(--font-display);margin-bottom:.35rem;font-size:1.35rem;font-weight:700;display:inline-block}.footer-mail{color:var(--ink-soft);word-break:break-all;margin-bottom:.4rem;font-size:.92rem;display:block}.footer-mail:hover{color:var(--brand)}.footer-bottom{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;gap:1rem;padding-top:1rem;font-size:.82rem;display:flex}@media (width<=800px){.footer-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column}}.faq-list{gap:.75rem;display:grid}.faq-item{border:1px solid var(--line);background:#ffffff8c;border-radius:16px;transition:border-color .2s,background .2s;overflow:hidden}.faq-item.is-open{background:#fffc;border-color:#16352f47}.faq-trigger{text-align:left;background:0 0;border:0;grid-template-columns:auto 1fr auto;align-items:center;gap:.85rem;width:100%;padding:1rem 1.1rem;display:grid}.faq-cat{letter-spacing:.04em;color:var(--brand);white-space:nowrap;background:#0b2a4a14;border-radius:999px;padding:.3rem .55rem;font-size:.72rem;font-weight:700}.faq-q{color:var(--ink);font-weight:600}.faq-icon{text-align:center;width:1.5rem;color:var(--accent);font-size:1.2rem;font-weight:500}.faq-panel{padding:0 1.1rem 1.1rem}.faq-panel p{color:var(--ink-soft);padding-left:3.75rem}@media (width<=640px){.faq-trigger{grid-template-columns:1fr auto;grid-template-areas:"cat icon""q q"}.faq-cat{grid-area:cat;justify-self:start}.faq-q{grid-area:q}.faq-icon{grid-area:icon}.faq-panel p{padding-left:0}}.hero{min-height:calc(100vh - var(--header));color:#f4f7f4;align-items:end;display:grid;position:relative;overflow:hidden}.hero-media{position:absolute;inset:0}.hero-media img{object-fit:cover;width:100%;height:100%;animation:18s ease-out forwards slowZoom}.hero-shade{background:linear-gradient(90deg,#0a1612c7 0%,#0a161273 48%,#0a161247 100%),linear-gradient(#0a161233 0%,#0a1612b8 100%);position:absolute;inset:0}.hero-content{z-index:1;max-width:min(52rem,100% - 2rem);margin-left:max(1rem, calc((100% - var(--max)) / 2));padding:5rem 0 4.5rem;animation:.9s both rise;position:relative}.hero-brand{font-family:var(--font-display);letter-spacing:-.04em;color:#fff;text-shadow:0 10px 40px #00000059;margin-bottom:1rem;font-size:clamp(2.8rem,7vw,5rem);font-weight:700;line-height:1}.hero-content h1{white-space:normal;color:#f4f7f4f2;max-width:none;margin-bottom:1rem;font-size:clamp(1.15rem,2.5vw,1.85rem);font-weight:500;line-height:1.45}.hero-content h1 em{color:#fff;font-style:normal;font-weight:700}.hero-lead{color:#f4f7f4d1;max-width:34rem;margin-bottom:1.75rem;font-size:1.02rem}.hero-actions{flex-wrap:wrap;gap:.75rem;display:flex}.about-block{grid-template-columns:1.3fr 1fr;align-items:end;gap:2rem;display:grid}.about-block .section-head{margin-bottom:0}.about-points{gap:1.1rem;display:grid}.about-points div{border-top:1px solid var(--line);gap:.3rem;padding-top:1rem;display:grid}.about-points strong{font-family:var(--font-display);font-size:1.2rem}.about-points span{color:var(--muted);font-size:.95rem}.dual-grid{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.dual-panel{color:#f4f7f4;isolation:isolate;border-radius:22px;flex-direction:column;justify-content:flex-end;min-height:280px;padding:2rem 1.7rem;transition:transform .3s;display:flex;position:relative;overflow:hidden}.dual-panel:before{content:"";z-index:-1;background-position:50%;background-size:cover;transition:transform .6s;position:absolute;inset:0}.dual-panel:after{content:"";z-index:-1;background:linear-gradient(#0c181433,#0c1814c7);position:absolute;inset:0}.dual-panel.demolition:before{background-image:url(/images/hero.png)}.dual-panel.interior:before{background-image:url(/images/interior/kitchen.jpg)}.featured-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:.75rem;display:grid}.featured-card{aspect-ratio:3/4;isolation:isolate;border-radius:16px;transition:transform .3s;display:block;position:relative;overflow:hidden}.featured-card:after{content:"";z-index:1;background:linear-gradient(#0000 45%,#0b2a4ad1 100%);position:absolute;inset:0}.featured-card img{object-fit:cover;width:100%;height:100%;transition:transform .5s}.featured-card:hover{transform:translateY(-3px)}.featured-card:hover img{transform:scale(1.04)}.featured-label{z-index:2;color:#fff;font-family:var(--font-display);font-size:1.15rem;font-weight:700;position:absolute;bottom:.9rem;left:.9rem;right:.9rem}.dual-panel:hover{transform:translateY(-3px)}.dual-panel:hover:before{transform:scale(1.05)}.dual-label{letter-spacing:.12em;color:var(--accent-soft);margin-bottom:.55rem;font-size:.78rem}.dual-panel h3{margin-bottom:.5rem;font-size:2rem}.dual-panel p{color:#f4f7f4d1;margin-bottom:1.2rem}.dual-cta{color:#fff;font-weight:600}.process-list{grid-template-columns:repeat(4,1fr);gap:1rem;margin:0;padding:0;list-style:none;display:grid}.process-list li{border-top:2px solid var(--brand);padding:1.3rem .2rem 0}.process-list span{color:var(--accent);font-family:var(--font-display);margin-bottom:.55rem;display:block}.process-list strong{margin-bottom:.45rem;font-size:1.1rem;display:block}.process-list p{color:var(--muted);font-size:.92rem}.review-preview-grid{grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}.review-preview-grid article{border-top:1px solid var(--line);padding:1.3rem 0}.review-preview-grid .meta{color:var(--accent);justify-content:space-between;gap:.75rem;margin-bottom:.7rem;font-size:.82rem;font-weight:600;display:flex}.review-preview-grid h3{margin-bottom:.5rem;font-size:1.15rem}.review-preview-grid p{color:var(--ink-soft);margin-bottom:.85rem}.review-preview-grid .area{color:var(--muted);font-size:.88rem}.section-actions{margin-top:2rem}.faq-home .section-actions{margin-top:1.5rem}@media (width<=900px){.about-block,.dual-grid,.process-list,.review-preview-grid{grid-template-columns:1fr}.featured-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.featured-card:last-child{aspect-ratio:16/9;grid-column:1/-1}.hero-content{width:auto;margin-left:1rem;margin-right:1rem}.hero-content h1{font-size:clamp(1.1rem,4.5vw,1.4rem)}}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;display:grid}.service-card{border-top:1px solid var(--line);background:0 0;padding:1.5rem 1.4rem 1.35rem}.service-card.has-image{border-top:0;border:1px solid var(--line);background:#ffffff73;border-radius:16px;padding:0;overflow:hidden}.service-photo{aspect-ratio:16/10;background:var(--bg-deep);overflow:hidden}.service-photo img{object-fit:cover;width:100%;height:100%;transition:transform .5s}.service-card.has-image:hover .service-photo img{transform:scale(1.04)}.service-body{padding:0}.service-card.has-image .service-body{padding:1.15rem 1.2rem 1.25rem}.service-index{font-family:var(--font-display);color:var(--accent);margin-bottom:.7rem;font-size:.95rem}.service-card h3{margin-bottom:.55rem;font-size:1.35rem}.service-card .service-body>p{color:var(--ink-soft);margin-bottom:1rem}.service-card ul{gap:.45rem;margin:0;padding:0;list-style:none;display:grid}.service-card li{color:var(--muted);padding-left:1rem;font-size:.95rem;position:relative}.service-card li:before{content:"";background:var(--accent);border-radius:50%;width:.4rem;height:.4rem;position:absolute;top:.55em;left:0}@media (width<=720px){.service-grid{grid-template-columns:1fr}}.service-hero{color:#f4f7f4;padding:4.5rem 0 3.5rem;position:relative;overflow:hidden}.service-hero:before{content:"";z-index:-2;background-position:50%;background-size:cover;animation:16s ease-out forwards slowZoom;position:absolute;inset:0}.service-hero:after{content:"";z-index:-1;background:linear-gradient(120deg,#0c1814d1,#0c181473);position:absolute;inset:0}.demolition-hero:before{background-image:url(/images/hero.png)}.interior-hero:before{background-image:url(/images/interior/kitchen.jpg)}.service-hero .eyebrow{color:var(--accent-soft);letter-spacing:.12em;margin-bottom:.8rem;font-size:.8rem;font-weight:600}.service-hero h1{margin-bottom:1rem;font-size:clamp(2.4rem,6vw,4rem)}.service-hero p{color:#f4f7f4db;max-width:38rem;font-size:1.05rem}.note-panel{border-top:1px solid var(--line);padding:2rem 0 0}.note-panel h2{margin-bottom:1.2rem;font-size:clamp(1.5rem,3vw,2rem)}.note-panel ul{gap:.75rem;margin:0 0 1.75rem;padding:0;list-style:none;display:grid}.note-panel li{color:var(--ink-soft);padding-left:1.1rem;position:relative}.note-panel li:before{content:"";background:var(--brand);border-radius:50%;width:.45rem;height:.45rem;position:absolute;top:.55em;left:0}.note-actions{flex-wrap:wrap;gap:.75rem;display:flex}.reviews-hero{padding:4rem 0 2.5rem}.reviews-hero .eyebrow{color:var(--accent);letter-spacing:.1em;margin-bottom:.7rem;font-size:.8rem;font-weight:600}.reviews-hero h1{margin-bottom:.85rem;font-size:clamp(2.3rem,5vw,3.6rem)}.reviews-hero p{max-width:40rem;color:var(--ink-soft);margin-bottom:1.4rem}.filter-row{flex-wrap:wrap;gap:.45rem;margin-bottom:2rem;display:flex}.filter-row button{border:1px solid var(--line);color:var(--ink-soft);background:#ffffff73;border-radius:999px;padding:.45rem .85rem;font-size:.9rem}.filter-row button.is-active{background:var(--brand);border-color:var(--brand);color:#f4f7f4}.reviews-list{gap:1.25rem;display:grid}.review-item{border-top:1px solid var(--line);padding:1.5rem 0}.review-top{justify-content:space-between;align-items:start;gap:1rem;display:flex}.review-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:.7rem;margin-bottom:.55rem;font-size:.84rem;font-weight:600;display:flex}.review-meta .review-category{color:var(--brand);white-space:nowrap;background:#0b2a4a14;border-radius:999px;padding:.2rem .55rem}.review-item h2{margin-bottom:.6rem;font-size:clamp(1.25rem,2.5vw,1.6rem)}.review-summary{color:var(--ink-soft);margin-bottom:1rem}.before-after{grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem;display:grid}.before-after strong{letter-spacing:0;color:var(--brand);font-size:.92rem;font-family:var(--font-display);margin-bottom:.35rem;display:block}.before-after p{color:var(--muted);font-size:.95rem}.tag-row{flex-wrap:wrap;gap:.4rem;display:flex}.tag-row span{color:var(--ink-soft);background:#16352f0f;border-radius:999px;padding:.25rem .55rem;font-size:.8rem}.empty{color:var(--muted);padding:2rem 0}.btn-text{color:var(--muted);background:0 0;border:0;padding:.2rem .4rem}.btn-text:hover{color:var(--brand)}.modal-backdrop{z-index:80;background:#0c161273;place-items:center;padding:1rem;animation:.2s fadeIn;display:grid;position:fixed;inset:0}.modal{background:var(--surface-strong);border:1px solid var(--line);width:min(560px,100%);max-height:min(90vh,840px);box-shadow:var(--shadow);border-radius:18px;padding:1.25rem;overflow:auto}.modal-head{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.modal-head h2{font-size:1.35rem}.review-form{gap:.85rem;display:grid}.review-form label{color:var(--ink-soft);gap:.35rem;font-size:.88rem;font-weight:600;display:grid}.review-form input,.review-form textarea,.review-form select{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:12px;padding:.7rem .8rem}.form-row{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.form-hint{color:var(--muted);font-size:.82rem;font-weight:400}@media (width<=720px){.before-after,.form-row{grid-template-columns:1fr}}.contact-hero{padding:4rem 0 1rem}.contact-hero .eyebrow{color:var(--accent);letter-spacing:.1em;margin-bottom:.7rem;font-size:.8rem;font-weight:600}.contact-hero h1{margin-bottom:.85rem;font-size:clamp(2.3rem,5vw,3.6rem)}.contact-hero p{max-width:40rem;color:var(--ink-soft)}.contact-grid{grid-template-columns:.9fr 1.1fr;align-items:start;gap:2rem;display:grid}.contact-info h2,.contact-form h2{margin-bottom:1rem;font-size:1.45rem}.contact-info .phone{font-family:var(--font-display);margin-bottom:.35rem;font-size:clamp(1.8rem,4vw,2.4rem);font-weight:700;display:inline-block}.contact-info .mail{color:var(--ink-soft);word-break:break-all;margin-bottom:.75rem;display:inline-block}.contact-info .mail:hover{color:var(--brand)}.contact-info p{color:var(--ink-soft);margin-bottom:.35rem}.contact-info ul{gap:.55rem;margin:1.4rem 0 0;padding:0;list-style:none;display:grid}.contact-info li{color:var(--muted);padding-left:1rem;position:relative}.contact-info li:before{content:"";background:var(--accent);border-radius:50%;width:.4rem;height:.4rem;position:absolute;top:.55em;left:0}.contact-form{border:1px solid var(--line);background:#fff9;border-radius:18px;gap:.85rem;padding:1.4rem;display:grid}.contact-form label{color:var(--ink-soft);gap:.35rem;font-size:.88rem;font-weight:600;display:grid}.contact-form input,.contact-form textarea,.contact-form select{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:12px;padding:.7rem .8rem}.sent-msg{color:var(--brand);font-size:.9rem}.error-msg{color:#9b2c2c;font-size:.9rem}@media (width<=860px){.contact-grid{grid-template-columns:1fr}}
