@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600&family=DM+Sans:wght@400;500;600&display=swap');
:root{--navy:#172c36;--bronze:#bd9972;--cream:#f5f2eb;--ink:#24343b;--muted:#697277}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--cream);color:var(--ink);font:14px/1.7 'DM Sans',sans-serif}button,input,textarea,select{font:inherit}button,a{ -webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{cursor:pointer}h1,h2,h3,p{margin-top:0}h1,h2{font-family:'Cormorant Garamond',Georgia,serif;font-weight:400;line-height:1.02;letter-spacing:-1.5px}h2{font-size:54px}h3{font-weight:500}button:focus-visible,a:focus-visible{outline:3px solid var(--bronze);outline-offset:4px}.preview{padding:7px 5%;background:var(--navy);color:#e5d0b5;font-size:10px;letter-spacing:1px;display:flex;gap:24px;align-items:center}.preview span{color:#bfc8ca;letter-spacing:0}.preview button{margin-left:auto;color:#e5d0b5;background:none;border:0;font-size:11px}header{height:100px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;background:var(--cream)}.brand{display:flex;align-items:center;gap:12px;font:36px/1 Georgia,serif;letter-spacing:5px}.brand small{display:block;font:8px/2.6 'DM Sans',sans-serif;letter-spacing:2.4px}.mark{font:58px/1 Georgia;color:var(--bronze)}nav{display:flex;gap:32px;font-size:12px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:34px;padding:17px 25px;border:1px solid var(--bronze);background:var(--bronze);color:#162d38;font-size:12px;font-weight:600}.button.small{padding:12px 20px;background:transparent;font-size:11px}.hero{position:relative;min-height:660px;height:75vh;max-height:920px;color:white;background:#45514d}.hero>img,.shade{position:absolute;width:100%;height:100%;object-fit:cover}.hero>img{object-position:center 55%}.shade{background:linear-gradient(90deg,rgba(9,27,34,.79),rgba(9,27,34,.12)),linear-gradient(0deg,rgba(9,27,34,.5),transparent 40%)}.hero-copy{position:relative;padding:95px 8%}.eyebrow{font-size:10px;font-weight:600;letter-spacing:2.8px;color:#a38360;margin-bottom:26px}.hero .eyebrow{color:#e4c9a8}h1{font-size:88px;margin-bottom:25px}.hero-copy>p:not(.eyebrow){color:#e2e7e5;font-size:15px;line-height:1.8;margin-bottom:32px}.hero-foot{position:absolute;bottom:27px;left:8%;right:8%;display:flex;justify-content:space-between;font-size:9px;letter-spacing:1.5px;border-top:1px solid #ffffff35;padding-top:20px}.intro{padding:100px 8%;display:grid;grid-template-columns:1.2fr 1fr;column-gap:10%}.intro>.eyebrow{grid-column:1/-1}.intro h2{font-size:52px}.intro p:not(.eyebrow){color:var(--muted)}.text-link{display:inline-block;border-bottom:1px solid var(--bronze);padding:6px 0;font-size:12px}.services{padding:75px 8%;background:#eae7df}.section-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:36px}.section-head .eyebrow{margin-bottom:15px}.section-head h2{margin:0}.section-head>span{font-size:9px;letter-spacing:2px}.section-head>p{color:var(--muted);font-size:12px}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:32px}.service-grid article{border-top:1px solid #b7b8b0;padding-top:25px}.service-grid article>span{color:#9e805e;font-size:11px}.service-grid h3{font-family:Georgia,serif;font-size:25px;font-weight:400;margin:28px 0 13px}.service-grid p{font-size:12px;color:var(--muted)}.projects{padding:90px 8%}.filters{display:flex;gap:12px;margin-bottom:30px}.filters button{background:transparent;border:1px solid #c9c9bf;padding:7px 18px;border-radius:25px;font-size:11px}.filters button.active{background:var(--navy);color:white;border-color:var(--navy)}.gallery{display:grid;grid-template-columns:1.35fr 1fr;gap:35px}.project:first-child{grid-row:span 2}.project img{width:100%;height:250px;object-fit:cover;display:block}.project:first-child img{height:590px}.project>div{display:flex;justify-content:space-between;align-items:center;padding:14px 0}.project h3{margin:0;font:23px Georgia,serif}.project small{font-size:9px;color:var(--muted)}.project button{background:transparent;border:0;font-size:20px}.caption{font-size:9px;color:var(--muted);letter-spacing:.4px;margin-top:28px}.process{padding:80px 8%;background:var(--navy);color:#f5f2eb;display:grid;grid-template-columns:1fr 1fr;gap:10%}.process h2{font-size:58px}.process ol{list-style:none;padding:0;margin:0}.process li{display:flex;gap:30px;border-top:1px solid #ffffff25;padding:22px 0}.process li>span{color:var(--bronze);font-size:12px}.process h3{margin-bottom:7px;font-size:18px}.process li p{color:#afbdc2;font-size:12px;margin:0}.contact{padding:100px 8%;display:grid;grid-template-columns:1fr 1.1fr;gap:9%}.contact h2{font-size:65px}.contact p{color:var(--muted);font-size:12px}.channels{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:30px 0 15px}.channels button,.outline{background:none;border:1px solid #c8c4b9;padding:12px;text-align:left;font-size:12px}.connection-note{font-size:10px!important;line-height:1.6;color:var(--muted)}.form-top{border-bottom:1px solid #cac8bf;margin-bottom:25px;padding-bottom:15px}.form-top h3{font:24px Georgia,serif;margin-bottom:5px}.form-top span{font-size:8px;letter-spacing:1.5px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}label{display:block;font-size:11px;margin-bottom:15px}label>span{color:var(--muted)}input,textarea,select{width:100%;background:transparent;border:0;border-bottom:1px solid #b9bcb6;border-radius:0;padding:10px 0;color:var(--ink);outline-offset:3px}textarea{resize:vertical}.check{display:flex;gap:10px;align-items:start;font-size:10px}.check input{width:auto;margin-top:4px}form>.button{width:100%}footer{background:#e8e5dd;padding:40px 8%;display:flex;align-items:center;justify-content:space-between}footer p{margin:0;font:24px Georgia,serif}footer>span{font-size:10px;color:var(--muted)}.chat-button{position:fixed;right:25px;bottom:22px;border:1px solid #b99b77;background:var(--navy);color:white;border-radius:30px;padding:13px 22px;font-size:11px;box-shadow:0 3px 20px #0002}dialog{border:0;background:var(--cream);color:var(--ink);padding:45px;width:min(900px,94vw);max-height:90vh;box-shadow:0 20px 90px #0005}dialog::backdrop{background:#102631b8;backdrop-filter:blur(4px)}dialog h2{font-size:44px}dialog>p{font-size:12px;color:var(--muted)}.close{position:absolute;right:15px;top:10px;background:none;border:0;font-size:28px}.studio-tabs{display:flex;gap:8px;margin:25px 0}.studio-tabs button{padding:9px 16px;border:1px solid #b9b5aa;background:none}.studio-tabs button.active{background:var(--navy);color:white}#questionDialog{max-width:480px}#photoList article,#requestList article{border-top:1px solid #ccc;padding:18px 0}#photoList img{height:70px;width:100px;object-fit:cover;vertical-align:middle;margin-right:15px}#photoList button{float:right}#estimateOutput{background:white;padding:25px;margin-top:25px}#estimateOutput:empty{display:none}#estimateOutput table{width:100%;border-collapse:collapse}#estimateOutput td{padding:10px;border-bottom:1px solid #ddd}#estimateOutput p{white-space:pre-wrap}body:has(dialog[open]){overflow:hidden}@media(max-width:760px){.preview{padding:6px 4%;gap:10px;font-size:8px}.preview span{display:none}header{height:85px;padding:0 5%}nav{display:none}.brand{font-size:27px}.mark{font-size:45px}.brand small{font-size:6px}header .button{padding:10px;font-size:9px}.hero{height:690px;min-height:0}.hero-copy{padding:105px 7%}h1{font-size:65px}.hero-foot{left:7%;right:7%;font-size:8px}.hero-foot>span{max-width:170px}.intro,.contact,.process{display:block;padding:65px 7%}.intro h2,h2{font-size:42px}.intro>div{margin-top:25px}.services,.projects{padding:60px 7%}.service-grid{grid-template-columns:1fr 1fr;gap:22px}.section-head{display:block}.section-head>span{display:none}.section-head>p{margin-top:20px}.gallery{grid-template-columns:1fr;gap:25px}.project:first-child img,.project img{height:340px}.project:first-child{grid-row:auto}.filters{gap:7px;flex-wrap:wrap}.filters button{padding:7px 13px}.process ol{margin-top:40px}.contact h2{font-size:53px}.contact form{margin-top:40px}footer{padding:35px 7%;gap:25px;flex-wrap:wrap}footer p{font-size:20px}dialog{padding:35px 22px}.studio-tabs button{padding:8px;font-size:11px}.chat-button{right:15px;bottom:15px}.form-row{gap:12px}}@media print{body>*{display:none!important}body>dialog#studio{display:block!important;position:static;max-height:none;width:100%;padding:0}#studio>*{display:none!important}#studio>[data-panel=estimate]{display:block!important}[data-panel=estimate]>*{display:none!important}#estimateOutput{display:block!important}#estimateOutput button{display:none}}
header{position:relative;padding-top:15px}.language-switch{position:absolute;top:2px;right:5%;display:flex;gap:4px}.language-switch button{border:0;background:transparent;color:var(--muted);font-size:10px;padding:3px 7px}.language-switch button.selected{color:var(--navy);font-weight:600;border-bottom:1px solid var(--bronze)}html[lang=ko] h1,html[lang=ko] h2{font-family:'Apple SD Gothic Neo','Malgun Gothic',sans-serif;letter-spacing:-2px;font-weight:400;line-height:1.25}html[lang=ko] h1{font-size:68px}html[lang=ko] h2{font-size:43px}html[lang=ko] .project h3{font-family:inherit;font-size:21px}html[lang=ko] .eyebrow{letter-spacing:1.5px}@media(max-width:760px){header{padding-top:17px}html[lang=ko] h1{font-size:46px}html[lang=ko] h2{font-size:35px}html[lang=ko] .hero-foot>span{max-width:150px}}
html[lang=ko] h1,html[lang=ko] h2{word-break:keep-all}@media(max-width:380px){header .brand{font-size:23px;letter-spacing:3px;gap:6px}header .mark{font-size:34px}header .brand small{letter-spacing:1px;font-size:5px}header .button.small{max-width:135px;font-size:9px;padding:9px}html[lang=ko] h1{font-size:37px;letter-spacing:-1.8px}.hero-copy{padding-top:95px}.hero-copy>p:not(.eyebrow){font-size:13px}.button{gap:15px;padding:16px 18px}}
.channels>a{display:flex;flex-direction:column;gap:5px;border:1px solid #c8c4b9;padding:12px;font-size:12px;overflow-wrap:anywhere}.channels>a small{font-size:10px;color:var(--muted)}.channels>a:hover{border-color:var(--bronze);background:#ece7dc}
.basement-feature{border-top:1px solid #b7b8b0;padding:35px 0 40px;display:grid;grid-template-columns:1fr 1fr;gap:8%}.basement-feature h3{font:40px/1.18 'Cormorant Garamond',Georgia,serif;margin:0}.basement-feature p:not(.eyebrow){font-size:13px;color:var(--muted)}html[lang=ko] .basement-feature h3{font:30px/1.5 'Apple SD Gothic Neo','Malgun Gothic',sans-serif;word-break:keep-all}.gallery:empty{display:block;padding:20px 0}.gallery:empty:after{content:'Reference photos for this category will be added soon.';color:var(--muted);font-size:12px}html[lang=ko] .gallery:empty:after{content:'이 분류의 사진은 준비 중입니다. 실제 시공 사진을 추가할 예정입니다.'}@media(max-width:760px){.basement-feature{grid-template-columns:1fr;gap:25px}.basement-feature h3{font-size:35px}.hero-foot>span{max-width:190px;font-size:8px}.hero-copy .eyebrow{max-width:300px}}
.service-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.service-grid h3{overflow-wrap:break-word}html[lang=ko] .service-grid h3{font-family:'Apple SD Gothic Neo','Malgun Gothic',sans-serif;font-size:23px}@media(max-width:760px){.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-grid h3{font-size:23px}html[lang=ko] .service-grid h3{font-size:22px}}
.chat-button{z-index:50;display:inline-flex;align-items:center;justify-content:center;min-height:48px;bottom:max(22px,env(safe-area-inset-bottom));box-shadow:0 4px 22px #0003;font-size:13px;padding:14px 24px}.chat-button:hover{background:#29434f}.contact{padding-bottom:115px}@media(max-width:760px){.chat-button{right:16px;bottom:calc(16px + env(safe-area-inset-bottom));font-size:12px;padding:12px 20px}footer{padding-bottom:95px}}
.category-entry{display:block;text-align:left;width:100%;padding:0;border:0;background:none;color:inherit}.category-entry:hover img{filter:brightness(.88)}.category-caption{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:15px 0}.category-caption span{font-size:11px;color:var(--muted)}.project>small{display:block;color:var(--muted);font-size:10px;margin-bottom:15px}.category-placeholder{height:250px;background:#e7e2d8;display:grid;place-items:center;font:42px Georgia;color:var(--bronze)}.category-photos{display:grid;grid-template-columns:1fr 1fr;gap:22px}.category-photos img{width:100%;max-height:450px;object-fit:contain;background:#e9e5dd}.category-photos h3{font-size:15px;margin:10px 0}.category-photos>p{grid-column:1/-1;padding:35px 0;color:var(--muted)}@media(max-width:760px){.category-photos{grid-template-columns:1fr}.category-caption{align-items:start}.category-caption span{font-size:10px}.category-caption h3{font-size:21px}}
.category-photos{display:block}.work-project{padding:24px 0;border-top:1px solid #ccc}.work-project>h3{font-size:22px}.project-description{white-space:pre-wrap;font-size:13px;color:var(--muted)}.work-photo-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.managed-photos{display:flex;flex-wrap:wrap;gap:15px;margin-top:20px}.managed-photos>div{display:flex;flex-direction:column;gap:5px}#photoList .managed-photos button{float:none}#photoList h3{margin-bottom:8px}.managed-project small{color:var(--muted)}button:disabled{opacity:.5;cursor:wait}@media(max-width:760px){.work-photo-grid{grid-template-columns:1fr}}
.google-reviews{padding:65px 8%;display:grid;grid-template-columns:1.3fr 1fr;gap:8%;align-items:center;border-top:1px solid #d3cfc4}.google-reviews h2{font-size:46px}.google-reviews p:not(.eyebrow){font-size:13px;color:var(--muted)}.review-action>p{font-size:10px!important;margin-top:14px}.review-action .button{width:100%}@media(max-width:760px){.google-reviews{display:block;padding:55px 7%}.review-action{margin-top:25px}.google-reviews h2{font-size:36px}}
.service-entry{display:block;width:100%;height:100%;text-align:left;border:0;background:none;padding:0;color:inherit;cursor:pointer}.service-entry>span:first-child{color:#9e805e;font-size:11px}.service-entry .service-view{display:inline-block;color:var(--ink);font-size:11px;border-bottom:1px solid var(--bronze);padding:6px 0;margin-top:6px}.service-entry:hover h3,.service-entry:hover .service-view{color:#926d47}.service-grid article:focus-within{outline:2px solid var(--bronze);outline-offset:8px}
/* Service navigation: distinct cards with pointer, keyboard and touch feedback. */
.service-grid{gap:18px}.service-grid article{border:0;padding:0;min-width:0}.service-entry{position:relative;min-height:260px;padding:25px 23px;border:1px solid #c6b69f;border-radius:5px;background:#f7f4ee;box-shadow:0 3px 9px #172c3607;transition:transform .18s ease,background-color .18s ease,border-color .18s ease,box-shadow .18s ease}.service-entry h3{margin-top:24px;transition:color .18s ease}.service-entry p{transition:color .18s ease}.service-entry>span:first-child{display:inline-grid;place-items:center;width:29px;height:29px;border-radius:50%;background:#e9dfd0;color:#705334;font-weight:600}.service-entry .service-view{margin-top:12px;font-weight:600;color:#705334}.service-entry:after{content:'↗';position:absolute;right:23px;top:25px;color:#97724c;font-size:21px;transition:transform .18s ease,color .18s ease}.service-entry:focus-visible{outline:3px solid #9c754a;outline-offset:4px;background:#e9dfd0}.service-grid article:focus-within{outline:none}@media(hover:hover){.service-entry:hover{background:var(--navy);border-color:var(--navy);transform:translateY(-5px);box-shadow:0 12px 24px #172c3620}.service-entry:hover h3,.service-entry:hover .service-view{color:#f0d3ad}.service-entry:hover p{color:#d7e0e1}.service-entry:hover:after{color:#f0d3ad;transform:translate(2px,-2px)}}.service-entry:active{transform:translateY(1px) scale(.975);background:#d9c7ae;box-shadow:inset 0 2px 7px #172c3620}.service-entry:active h3,.service-entry:active .service-view{color:var(--navy)}.service-entry:active p{color:#374a51}@media(max-width:760px){.service-grid{gap:13px}.service-entry{padding:20px 16px;min-height:280px}.service-entry:after{right:16px;top:20px}.service-entry .service-view{font-size:10px}}@media(prefers-reduced-motion:reduce){.service-entry,.service-entry h3,.service-entry p,.service-entry:after{transition:none}.service-entry:hover,.service-entry:active{transform:none}}
.review-floating{position:fixed;right:25px;bottom:calc(84px + env(safe-area-inset-bottom));z-index:50;display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:12px 22px;background:#f5f2eb;color:#172c36;border:1px solid #a58055;border-radius:30px;box-shadow:0 4px 20px #0002;font-size:12px;font-weight:600;transition:background .18s ease,transform .18s ease}.review-floating:hover{background:#e6d3b9;transform:translateY(-2px)}.review-floating:active{transform:scale(.97)}@media(max-width:760px){.review-floating{right:16px;bottom:calc(78px + env(safe-area-inset-bottom));padding:11px 20px;font-size:11px}footer{padding-bottom:155px}}@media(prefers-reduced-motion:reduce){.review-floating{transition:none}.review-floating:hover,.review-floating:active{transform:none}}
#estimateForm fieldset{border:1px solid #c9c2b5;margin:20px 0;padding:20px}#estimateForm legend{font-weight:600;font-size:13px;padding:0 8px}.estimate-item-input{border-bottom:1px solid #c9c2b5;padding:15px 0;margin-bottom:20px}#estimateOutput{padding:0;background:transparent;overflow-x:auto}.estimate-toolbar{padding:20px 0}.estimate-toolbar p{font-size:11px}.estimate-page{width:816px;height:1056px;padding:50px 54px 32px;background:white;color:#18242b;font:13px/1.42 Arial,sans-serif;display:flex;flex-direction:column;margin:0 auto 24px;box-sizing:border-box;box-shadow:0 2px 16px #0001}.estimate-page header{display:block;background:white;height:auto;padding:0}.estimate-company{display:flex;justify-content:space-between;border-bottom:2px solid #263e4b;padding-bottom:9px;font-size:25px;letter-spacing:.3px}.estimate-company>b{font-size:23px;color:#2c4656}.estimate-company-detail{font-size:11px;margin:9px 0 20px}.estimate-meta{display:grid;grid-template-columns:1.25fr 1fr;gap:6px 16px;font-size:12px;overflow-wrap:anywhere}.estimate-header h3{font:600 17px Arial,sans-serif;margin:20px 0 14px}.estimate-column-head{display:flex;justify-content:space-between;background:#e8edf0;padding:9px 10px;border-top:1px solid #aebdc6;border-bottom:1px solid #aebdc6;font-size:11px}.estimate-body{flex:1;min-height:0;overflow:visible;padding-top:15px}.estimate-work{padding:0 0 18px;break-inside:avoid}.estimate-work-title{display:grid;grid-template-columns:1fr 135px;gap:18px;font-size:14px}.estimate-work-title>strong:last-child{text-align:right}.estimate-work p{white-space:pre-wrap;margin:7px 0 0;overflow-wrap:anywhere}.estimate-reference{font-size:11px}.estimate-reference a{color:#254b67;text-decoration:underline}.estimate-confirmation{margin:5px 0 20px;break-inside:avoid}.estimate-confirmation h4{font-size:13px;margin:0 0 10px}.estimate-confirmation p{white-space:pre-wrap;font-size:12px;overflow-wrap:anywhere}.estimate-totals{width:340px;margin:14px 0 22px auto}.estimate-totals>div{display:flex;justify-content:space-between;padding:7px 0;gap:12px}.estimate-grand{border-top:2px solid #294655;border-bottom:2px solid #294655;margin-top:5px;font-size:14px}.estimate-summary{break-inside:avoid}.estimate-summary>p{font-size:11px;white-space:pre-wrap}.estimate-page footer{display:block;background:white;border-top:1px solid #bac3c8;margin-top:12px;padding:9px 0 0;font-size:10px;color:#56656e}.estimate-pages{min-width:816px}html[lang=ko] .estimate-page h3{font:600 17px Arial,sans-serif}
@page{size:Letter;margin:0}@media print{html,body{margin:0!important;padding:0!important;background:white!important}body:has(dialog[open]){overflow:visible!important}#studio{overflow:visible!important;max-width:none!important;max-height:none!important;border:0!important;box-shadow:none!important;margin:0!important}#estimateOutput{overflow:visible!important;margin:0!important;padding:0!important}.estimate-toolbar{display:none!important}.estimate-pages{display:block!important}.estimate-page{box-shadow:none!important;margin:0!important;break-after:page;page-break-after:always;print-color-adjust:exact;-webkit-print-color-adjust:exact}.estimate-page:last-child{break-after:auto;page-break-after:auto}#estimateOutput .estimate-page p{white-space:pre-wrap}.estimate-page a{color:inherit}}
.estimate-company{border:0;padding-bottom:0;font-size:28px;font-weight:400}.estimate-company>strong{font-weight:400}.estimate-company>b{font-weight:400}.estimate-company-detail{padding-bottom:18px;border-bottom:1px solid #ccd5db;color:#5d6f7b}.estimate-header h3{font-weight:400;font-size:18px;margin:12px 0 34px}.estimate-column-head{background:#203c4b;color:white;border:0;padding:11px 14px;font-weight:400}.estimate-column-head b{font-weight:400}.estimate-work{border-bottom:1px solid #cbd5db;margin:0 14px 14px;padding-bottom:17px}.estimate-work-title{font-size:14px}.estimate-work-title strong{font-weight:400}.estimate-work p{color:#5d6f7b;font-size:12px}.estimate-meta b{font-weight:400}
