:root{--navy:#0b1d30;--deep:#10293d;--gold:#d8b886;--paper:#f6f4ee;--ink:#193044;--muted:#64717c;--line:#19304425}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;font-family:"Malgun Gothic","Apple SD Gothic Neo","Noto Sans KR",sans-serif;background:var(--paper);color:var(--ink);word-break:keep-all;line-height:1.6}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:6px}input:focus,textarea:focus{outline:1px solid var(--gold);border-color:var(--gold)}[hidden]{display:none!important}.skip{position:fixed;top:-90px;left:15px;background:var(--gold);color:var(--navy);padding:12px;z-index:100}.skip:focus{top:12px}header{height:94px;padding:0 6%;background:var(--navy);color:#e0e5e8;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff1a;position:sticky;top:0;z-index:20}.brand{font:31px Georgia,serif;letter-spacing:7px;color:var(--gold);display:inline-flex;align-items:center;gap:17px}.arch{display:inline-block;width:22px;height:31px;border:1px solid var(--gold);border-bottom:0;border-radius:50% 50% 0 0;flex-shrink:0}nav{display:flex;align-items:center;gap:29px;font-size:12px}nav a:hover,.text-link:hover{color:var(--gold)}.nav-contact{border:1px solid #d8b88666;padding:12px 19px;color:var(--gold)}.menu{display:none}.hero{background:var(--navy);color:#fff;padding:68px 6% 0;display:grid;grid-template-columns:1.08fr 1fr;column-gap:7%;overflow:hidden}.eyebrow{font-size:10px;letter-spacing:2.7px;font-weight:500;color:#8a6b3d;margin:0 0 25px}.hero .eyebrow,.contact .eyebrow,.process .eyebrow{color:var(--gold)}h1{font-size:clamp(44px,4.7vw,73px);font-weight:400;line-height:1.4;letter-spacing:-3.7px;margin:0}em{font-style:normal;color:var(--gold);font-family:Batang,"Noto Serif KR",Georgia,serif;font-weight:400}.intro{font-size:15px;line-height:1.95;color:#b8c3cd;margin:27px 0 32px}.actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;gap:28px;padding:17px 23px;border:1px solid transparent;font-size:12px;font-weight:600;cursor:pointer;min-height:50px}.gold{background:var(--gold);color:var(--navy)}.gold:hover{background:#e7cda3}.outline{background:transparent;border-color:#d8b88677;color:var(--gold)}.outline:hover{background:#ffffff09}.text-link{font-size:11px;border-bottom:1px solid #ffffff40;padding:8px 0}.region{font-size:10px;color:#afc0cd;margin:35px 0}.hero-art{position:relative;margin:0;border:1px solid #d8b88645;background:#223c47;min-height:530px;overflow:hidden}.hero-art img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover}.art-top{position:absolute;top:24px;left:25px;right:25px;display:flex;justify-content:space-between;gap:15px;font-size:7px;letter-spacing:2px;color:#e0c89f;z-index:2}.hero-art figcaption{position:absolute;left:25px;right:25px;bottom:24px;display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:11px;color:#fff}.hero-art small{font-size:8px;color:#d9d9cc}.hero-bottom{grid-column:1/-1;border-top:1px solid #ffffff22;display:flex;justify-content:space-between;padding:22px 0;margin-top:42px;font-size:8px;letter-spacing:2px;color:#a0b2c2}.hero-bottom>span:last-child{letter-spacing:.5px}.scope-strip{padding:24px 10%;background:#ebe8e0;display:flex;justify-content:space-between;align-items:center;color:#656f72;font-size:12px;letter-spacing:1px}.scope-strip i{height:15px;width:1px;background:#19304425}.section{padding:105px 8%}h2{font-size:clamp(31px,3.1vw,47px);font-weight:400;line-height:1.5;letter-spacing:-2px;margin:0}h3{font-weight:500;margin:0}.about-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:10%}.serif-note{font:italic 16px Georgia,serif;color:#8e754e;margin-top:35px}.lead{font-size:22px;line-height:1.7;margin:4px 0 25px;letter-spacing:-.6px}.body-copy{font-size:13px;line-height:2;color:var(--muted)}.principles{margin-top:33px}.principles article{border-top:1px solid var(--line);padding:21px 0;display:flex;gap:20px}.principles article>span{font:17px Georgia,serif;color:#9c7b4c;line-height:1.5}.principles h3{font-size:15px}.principles p{font-size:11px;color:var(--muted);line-height:1.9;margin:8px 0 0}.services{background:#eae7df}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:43px}.section-head>p{font-size:12px;line-height:1.95;color:var(--muted)}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.service{background:#f7f5ef;border:1px solid #19304415;padding:31px;display:flex;flex-direction:column;min-width:0}.service.featured{background:var(--navy);color:#f8f6ef}.service-label{font-size:8px;letter-spacing:1.6px;color:#866b45;margin:0}.featured .service-label{color:var(--gold)}.service-icon{width:57px;height:57px;stroke:#ad8c5a;stroke-width:1.2;margin:31px 0 25px}.featured .service-icon{stroke:var(--gold)}.service h3{font-size:20px;letter-spacing:-.7px}.service>p:not(.service-label){font-size:12px;line-height:2;color:var(--muted);margin:18px 0}.featured>p:not(.service-label){color:#b9c5d0}.service ul{list-style:none;padding:20px 0;margin:8px 0 18px;border-top:1px solid #8e8f8b40;font-size:10px;line-height:2.5}.service li:before{content:'—';color:#ac8956;margin-right:10px}.service>a{display:block;font-size:11px;margin-top:auto;padding-top:20px;border-top:1px solid #8e8f8b40;min-height:44px}.service>a:hover{color:#a17d43}.fineprint{font-size:10px;color:var(--muted);line-height:1.9;margin:22px 0 0}.process{background:var(--navy);color:#fff}.process .section-head>p{color:#aab9c7}.steps{list-style:none;margin:0;padding:35px 0 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:35px;border-top:1px solid #d8b88655}.step-number{font:51px Georgia,serif;color:var(--gold)}.step-en{font-size:8px!important;letter-spacing:2px;color:#b6a383!important;margin:12px 0 18px!important}.steps h3{font-size:17px;letter-spacing:-.4px}.steps p{font-size:12px;line-height:1.95;color:#adbdcb;margin-top:15px}.promise{border:1px solid #d8b88644;display:flex;align-items:center;gap:23px;padding:23px 28px;margin-top:43px}.promise .arch{width:16px;height:24px}.promise p{font-size:12px;color:#cad4dd;margin:0}.promise strong{color:var(--gold);font-weight:500}.promise small{margin-left:auto;color:#a3b3c1;font-size:9px;letter-spacing:1px}.standards{display:grid;grid-template-columns:1fr 1.2fr;gap:10%;background:#edeae2}.standard-list article{display:flex;gap:23px;border-bottom:1px solid var(--line);padding:24px 0}.standard-list article:first-child{padding-top:5px}.standard-list article>span{color:#9b7b4a;font-size:20px}.standard-list h3{font-size:16px}.standard-list p{font-size:12px;line-height:1.95;color:var(--muted);margin:10px 0 0}.faq{display:grid;grid-template-columns:1fr 1.3fr;gap:10%}.questions{border-top:1px solid #19304455}details{border-bottom:1px solid var(--line);padding:23px 0}summary{font-size:13px;list-style:none;cursor:pointer;display:flex;align-items:baseline;justify-content:space-between;gap:25px}summary::-webkit-details-marker{display:none}summary:after{content:'+';color:#9b7b4a;font-size:20px;font-weight:300}details[open] summary:after{content:'−'}details p{font-size:12px;line-height:2;color:var(--muted);padding-right:25px;margin:20px 0 3px}.contact{background:var(--deep);color:#fff}.contact-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:10%}.contact-intro{font-size:13px;color:#b5c3cf;line-height:2;margin:25px 0}.phone{font:36px Georgia,serif;letter-spacing:1px;color:var(--gold);display:inline-block;margin:20px 0 27px}.contact-details{margin:36px 0 0;font-size:11px}.contact-details>div{display:flex;gap:22px;margin:16px 0}.contact-details dt{color:#a4b6c5;font-size:8px;letter-spacing:1.4px;min-width:78px;padding-top:3px}.contact-details dd{margin:0;color:#c6d2dd;overflow-wrap:anywhere}.brief{border:1px solid #ffffff26;padding:32px}.brief .eyebrow{font-size:8px;margin-bottom:18px}.brief h3{font-size:23px;font-weight:400;line-height:1.6;margin:0 0 25px}.brief label{font-size:10px;color:#b8c7d4;display:block;margin-bottom:9px}.brief input,.brief textarea{display:block;width:100%;border:1px solid #ffffff30;border-radius:0;background:#0b1d3055;padding:12px;color:#fff;font-size:12px;margin-bottom:17px;min-width:0}.brief input::placeholder,.brief textarea::placeholder{color:#a1afbd}.brief textarea{resize:vertical;min-height:82px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.brief button{width:100%}.form-note{font-size:10px;line-height:1.9;color:#a4b5c4;margin:17px 0 0}#copy-status{color:var(--gold);font-size:12px;line-height:1.8}#dm-next{font-size:12px;display:inline-block;border-bottom:1px solid var(--gold);padding-bottom:5px;color:var(--gold)}footer{background:var(--navy);padding:40px 6%;color:#a1b1bf}.footer-top{display:flex;gap:35px;align-items:center;padding-bottom:30px;border-bottom:1px solid #ffffff1c}.footer-top .brand{font-size:26px}.footer-top .arch{height:26px;width:19px}.footer-top p{font-size:11px}.back-top{margin-left:auto;font-size:10px}.footer-bottom{display:flex;gap:28px;flex-wrap:wrap;font-size:9px;padding-top:24px}.footer-bottom>span:last-child{margin-left:auto}.mobile-contact{display:none}a,button,summary{transition:color .2s,background-color .2s}@media(min-width:1600px){.hero{padding-top:90px}.hero-art{min-height:650px}.section{padding-top:125px;padding-bottom:125px}}@media(max-width:1100px){nav{gap:18px;font-size:11px}.hero{column-gap:5%}h1{font-size:49px}.hero-art{min-height:510px}.actions{gap:17px}.button{padding:15px 18px;font-size:11px}.service{padding:25px 20px}.service h3{font-size:18px}.section{padding:85px 6%}.contact-grid{gap:6%}.phone{font-size:30px}.promise small{display:none}}@media(max-width:760px){html{scroll-padding-top:76px}header{height:76px;padding:0 6%}.brand{font-size:26px;letter-spacing:6px}.arch{width:19px;height:27px}.menu{display:flex;flex-direction:column;justify-content:center;gap:6px;background:transparent;border:1px solid #d8b88666;width:42px;height:42px;padding:11px;cursor:pointer}.menu span{display:block;width:18px;height:1px;background:var(--gold)}nav{display:none;position:absolute;top:76px;left:0;right:0;background:var(--navy);padding:25px 6%;flex-direction:column;align-items:stretch;gap:14px;border-bottom:1px solid #d8b88666;font-size:13px}nav.open{display:flex}nav>a{padding:10px 0}nav .nav-contact{padding:12px 15px}.hero{padding:42px 6% 0;grid-template-columns:1fr}.hero .eyebrow{font-size:8px;letter-spacing:2px;margin-bottom:24px}h1{font-size:clamp(38px,8.9vw,56px);letter-spacing:-2.4px;line-height:1.4}.intro{font-size:13px;margin:24px 0}.actions{gap:18px}.button{font-size:11px;padding:15px 18px}.text-link{font-size:10px}.region{font-size:9px;margin:28px 0}.hero-art{min-height:340px;margin-top:8px}.hero-art img{object-position:center 57%}.art-top{top:20px;left:20px;right:20px;font-size:6px;letter-spacing:1.5px}.hero-art figcaption{left:20px;right:20px;bottom:20px;font-size:10px}.hero-art small{font-size:7px}.hero-bottom{font-size:6px;letter-spacing:1px;gap:20px;margin-top:26px;padding:20px 0}.hero-bottom>span:last-child{letter-spacing:0}.scope-strip{padding:20px 6%;font-size:9px;letter-spacing:0;gap:10px}.scope-strip i{height:10px}.section{padding:67px 6%}.eyebrow{font-size:8px;letter-spacing:2px;margin-bottom:22px}h2{font-size:32px;letter-spacing:-1.5px;line-height:1.5}.about-grid,.standards,.faq{grid-template-columns:1fr;gap:30px}.serif-note{font-size:14px;margin:24px 0 0}.lead{font-size:19px;line-height:1.8}.body-copy{font-size:12px}.principles h3{font-size:14px}.principles p{font-size:11px}.section-head{display:block;margin-bottom:30px}.section-head>p{font-size:11px;margin-top:23px}.service-grid{grid-template-columns:1fr;gap:17px}.service{padding:28px}.service-label{font-size:8px}.service-icon{margin:23px 0;width:49px;height:49px}.service h3{font-size:22px}.service>p:not(.service-label){font-size:12px}.service ul{font-size:11px}.service>a{font-size:12px}.fineprint{font-size:9px}.steps{grid-template-columns:1fr 1fr;gap:26px 23px;padding-top:27px}.step-number{font-size:42px}.step-en{font-size:7px!important;letter-spacing:1.5px}.steps h3{font-size:15px}.steps p{font-size:11px;line-height:1.95}.promise{padding:20px 16px;gap:16px;margin-top:32px;align-items:flex-start}.promise p{font-size:11px;line-height:1.9}.promise .arch{height:22px;width:15px}.standard-list h3{font-size:14px}.standard-list p{font-size:11px}.standard-list article{gap:18px}.questions summary{font-size:12px;line-height:1.9}.questions details p{font-size:11px;padding-right:10px}.contact-grid{grid-template-columns:1fr;gap:35px}.contact-intro{font-size:12px}.phone{font-size:32px}.contact .actions{gap:12px}.contact-details{margin-top:30px}.brief{padding:25px}.brief h3{font-size:23px}.form-note{font-size:9px}.footer-top{flex-wrap:wrap;gap:12px 20px}.footer-top .brand{font-size:23px}.footer-top p{font-size:9px}.back-top{width:100%;margin:6px 0 0}.footer-bottom{gap:12px 18px;font-size:8px}.footer-bottom>span:last-child{margin:0;width:100%}footer{padding:33px 6% 95px}.mobile-contact{display:grid;grid-template-columns:1fr 1fr;position:fixed;bottom:0;left:0;right:0;z-index:25;padding-bottom:env(safe-area-inset-bottom);background:var(--gold);box-shadow:0 -4px 20px #0002}.mobile-contact a{text-align:center;padding:16px 10px;font-size:12px;font-weight:600;color:var(--navy)}.mobile-contact a:last-child{background:var(--navy);color:var(--gold);border-top:1px solid #d8b88677}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}a,button,summary{transition:none}}

/* Mobile readability and touch improvements, 2026-11-01. */
html{scroll-padding-bottom:110px}
section,.about-grid>div,.contact-grid>div,.form-row>div{min-width:0}
@media(max-width:900px){
 .brief input,.brief textarea{font-size:16px;line-height:1.6;scroll-margin:110px 0}
}
@media(max-width:760px){
 .menu{width:44px;height:44px}
 nav{max-height:calc(100dvh - 76px - 72px);overflow-y:auto;overscroll-behavior:contain}
 nav>a{min-height:44px;display:flex;align-items:center}
 .intro{font-size:15px;line-height:1.9}
 .region{font-size:12px}
 .button{font-size:14px;min-height:50px;padding:15px 18px}
 .text-link{font-size:12px;min-height:44px;display:inline-flex;align-items:center}
 .hero .actions{gap:12px 20px}
 .hero-bottom{flex-wrap:wrap;font-size:8px;gap:10px 20px}
 .scope-strip{font-size:11px;gap:10px;flex-wrap:wrap;justify-content:center}
 .scope-strip span{white-space:nowrap}
 .body-copy,.principles p,.section-head>p,.standard-list p,.questions details p,.contact-intro{font-size:14px;line-height:1.95}
 .principles h3,.standard-list h3{font-size:16px}
 .principles article{gap:16px}
 .service>p:not(.service-label){font-size:14px;line-height:1.95}
 .service ul{font-size:13px;line-height:2.2}
 .service>a{font-size:14px;min-height:48px}
 .fineprint{font-size:12px;line-height:1.9}
 .steps{display:block;padding-top:8px}
 .steps li{display:grid;grid-template-columns:48px minmax(0,1fr);gap:8px 18px;border-bottom:1px solid #ffffff22;padding:28px 0}
 .steps li:last-child{border-bottom:0}
 .step-number{grid-column:1;grid-row:1/4;font-size:38px;line-height:1.2;padding-top:4px}
 .step-en{grid-column:2;font-size:9px!important;letter-spacing:1.8px;margin:0!important}
 .steps h3{grid-column:2;font-size:18px}
 .steps li>p:last-child{grid-column:2;font-size:14px;line-height:1.95;margin:0}
 .promise p{font-size:13px}
 .questions summary{font-size:15px;line-height:1.8;min-height:44px;align-items:center}
 details{padding:14px 0}
 .phone{font-size:clamp(24px,7.4vw,32px);letter-spacing:.4px}
 .contact-details{font-size:14px}
 .contact-details dt{font-size:10px;min-width:70px}
 .contact-details>div{gap:15px}
 .brief{padding:24px}
 .brief label{font-size:13px}
 .form-note{font-size:12px;line-height:1.9}
 #copy-status,#dm-next{font-size:14px;line-height:1.9}
 #dm-next{min-height:44px;padding:10px 0}
 .mobile-contact a{font-size:14px;min-height:54px;display:flex;align-items:center;justify-content:center}
 .mobile-contact{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}
 body.form-focused .mobile-contact{visibility:hidden;pointer-events:none}
 footer{padding-bottom:calc(100px + env(safe-area-inset-bottom))}
 .footer-top p,.back-top{font-size:12px}
 .back-top{min-height:44px;padding:12px 0}
 .footer-bottom{font-size:11px;line-height:1.9}
}
@media(max-width:380px){
 .form-row{grid-template-columns:1fr;gap:0}
 .contact .actions{display:grid;grid-template-columns:1fr}
 .contact .actions .button{width:100%}
 .hero-art figcaption{flex-wrap:wrap;gap:6px}
 .hero-art figcaption small{font-size:9px}
 .scope-strip i{display:none}
 .scope-strip{gap:10px 17px}
}

/* Keep each headline phrase on one line at the available column width */
.hero>div:first-child{container-type:inline-size}
.hero h1{font-size:clamp(24px,10.5cqw,72px);letter-spacing:-.04em;line-height:1.45}
.headline-line{display:block;white-space:nowrap}

/* Live consultation form */
.brief .consent-line{display:flex;gap:10px;align-items:flex-start;font-size:12px;line-height:1.8;margin:18px 0;cursor:pointer}
.brief .consent-line input{display:inline-block;width:20px;height:20px;min-width:20px;flex-shrink:0;margin:2px 0 0;padding:0;accent-color:var(--gold)}
.brief details{margin:24px 0 16px;border-color:#ffffff40}
.brief summary{color:var(--gold);font-size:13px;line-height:1.8}
.brief details p,.cloud-notice{font-size:12px;line-height:1.9;color:#c0cbd5;overflow-wrap:anywhere}
.cloud-notice a{text-decoration:underline;color:var(--gold)}
#intake-status{font-size:14px;line-height:1.9;color:var(--gold);overflow-wrap:anywhere}
button:disabled{cursor:wait;opacity:.65}
.privacy-page{max-width:900px;margin:auto;padding:60px 6% 110px}
.privacy-page h1{font-size:32px;letter-spacing:-1px}.privacy-page h2{font-size:21px;margin:35px 0 15px}.privacy-page p,.privacy-page li{font-size:14px;line-height:2}.privacy-page a{text-decoration:underline;overflow-wrap:anywhere}.privacy-page .button{margin-top:30px}
