:root{color-scheme:light;--ink:#172747;--deep:#142342;--muted:#565c66;--gold:#9b6b2a;--gold-light:#e5ba77;--paper:#fbf8f0;--white:#fffdf8;--tint:#f6f1e7;--line:#e4dccd;--serif:Georgia,"Times New Roman",serif;--sans:"Pretendard","Apple SD Gothic Neo","Malgun Gothic",system-ui,sans-serif}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:92px}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 var(--sans);word-break:keep-all;overflow-wrap:anywhere}
a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{cursor:pointer}img{max-width:100%;display:block}p,h1,h2,h3,figure,ol,ul,dl{margin:0}
:focus-visible{outline:3px solid #a47734;outline-offset:4px}
[hidden]{display:none!important}
.icon-library{position:absolute;width:0;height:0;overflow:hidden}
.icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;flex:none;vertical-align:middle}
.skip{position:fixed;z-index:5;top:8px;left:8px;transform:translateY(-150%);background:var(--white);padding:8px 16px}.skip:focus{transform:none}
.wrap{width:min(1200px,calc(100% - 104px));margin-inline:auto}
.header{position:sticky;top:0;z-index:3;background:var(--paper);border-bottom:1px solid var(--line)}
.nav-wrap{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:25px}
.brand{display:inline-flex;align-items:center;gap:7px;flex:none;line-height:1}.brand img{width:45px;height:auto}.brand strong{display:block;font:700 32px/.82 var(--serif);letter-spacing:-.055em}.brand small{display:block;font:700 8px/1.15 var(--sans);letter-spacing:.12em;margin-top:6px}
.nav{display:flex;gap:32px;align-items:center;font-size:14px;font-weight:650}.nav a{padding:8px 0}.nav a:hover,.footer nav a:hover{color:var(--gold)}
.menu-toggle{display:none}
.button{display:inline-flex;align-items:center;justify-content:center;gap:13px;min-height:52px;border:1px solid var(--ink);border-radius:5px;background:var(--ink);color:#fff;padding:12px 20px;font-size:14px;font-weight:720;line-height:1.4;transition:background .18s,border-color .18s}
.button:hover{background:#283d66;border-color:#283d66}.button .icon{width:17px;height:17px}.button-small{min-height:39px;padding:8px 14px;gap:9px;font-size:13px}
.text-link{display:inline-flex;align-items:center;gap:9px;font-size:14px;font-weight:750}.text-link .icon{width:16px;height:16px}.text-link:hover{text-decoration:underline;text-underline-offset:5px;color:#7b531f}
.hero{padding:66px 0 70px}
.hero-layout{display:grid;grid-template-columns:1fr 1.08fr;align-items:center;gap:clamp(36px,5vw,76px)}
.eyebrow{font-size:11px;line-height:1.45;font-weight:820;letter-spacing:.19em;color:var(--gold);display:flex;align-items:center;gap:11px}
.gold-rule{display:inline-block;width:25px;height:1px;background:#b7833c;flex:none}
.hero h1{font:400 clamp(60px,6.25vw,102px)/.95 var(--serif);letter-spacing:-.073em;margin:23px 0 27px}
.hero h1 em{color:var(--gold);font-weight:400}
.hero-korean{font-size:clamp(26px,2.7vw,39px);font-weight:800;letter-spacing:-.065em;line-height:1.29}
.hero-desc{margin-top:15px;color:var(--muted);line-height:1.75;font-size:15px}
.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:16px 23px;margin-top:28px}
.hero-visual{position:relative;margin:0 9px 12px 0}
.photo-frame{isolation:isolate;position:relative;aspect-ratio:1.19;border-radius:8px 8px 8px 8px;background:#e4dbca}
.photo-frame::after{content:"";position:absolute;inset:11px -11px -11px 11px;border:1px solid #b59159;border-radius:8px;z-index:-1}
.hero-photo{position:relative;width:100%;height:100%;object-fit:cover;object-position:56% 50%;border-radius:8px}
.photo-caption{position:absolute;bottom:20px;left:20px;display:flex;align-items:center;gap:12px;background:var(--white);padding:10px 18px 10px 11px;border-radius:5px;box-shadow:0 4px 20px #151e3430}
.photo-caption .pin{display:grid;place-items:center;width:37px;height:37px;background:#f5ead7;color:#8d6125;border-radius:50%}
.photo-caption small{display:block;font-size:8px;font-weight:820;letter-spacing:.16em;color:#8d6125}
.photo-caption strong{display:block;font:700 17px/1.25 var(--serif)}
.journey{background:var(--deep);color:#fffaf0;padding:31px 0 37px}.journey-heading{display:flex;gap:16px;align-items:center;margin-bottom:23px}.journey-heading h2{font-size:19px;letter-spacing:-.04em}.journey-heading>span{font-size:10px;letter-spacing:.18em;font-weight:750;color:var(--gold-light)}
.journey-list{position:relative;list-style:none;display:grid;grid-template-columns:repeat(8,1fr);padding:0}
.journey-list::before{content:"";position:absolute;top:22px;left:6.25%;right:6.25%;border-top:1px dashed #a08d6a}
.journey-list li{position:relative;display:grid;justify-items:center;gap:8px;font-size:13px;font-weight:650;white-space:nowrap}
.journey-list li>span{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;border:1px solid #887657;color:var(--gold-light);background:var(--deep)}
.section{padding:88px 0}.section-tint{background:var(--tint);border-block:1px solid var(--line)}
.section h2{font-size:clamp(32px,4vw,52px);line-height:1.18;letter-spacing:-.07em;margin-top:13px}.section-intro{margin:15px 0 30px;color:var(--muted)}
.about-layout{display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:54px}
.about-copy{border-left:1px solid #b89152;padding:5px 0 5px 34px;color:var(--muted);max-width:615px}
.about-copy .lead{font-size:21px;color:var(--ink);font-weight:800;margin-bottom:10px;letter-spacing:-.04em}
.about-signature{color:#84591f;font-size:14px;font-weight:700;margin-top:12px}
.service-layout{display:grid;grid-template-columns:minmax(235px,.78fr) 1.6fr;gap:22px}
.tabs{display:grid;gap:6px}.tabs button{display:grid;grid-template-columns:21px auto 1fr;align-items:center;text-align:left;gap:11px;border-radius:5px;border:1px solid var(--line);min-height:47px;padding:8px 13px;background:var(--white);color:var(--ink);font-size:14px;font-weight:750}.tabs button span{font-size:11px;font-weight:600;justify-self:end;color:var(--muted);text-align:right}.tabs button .icon{color:var(--gold)}.tabs button:hover{border-color:#aa8854}.tabs button[aria-selected=true]{background:var(--ink);border-color:var(--ink);color:#fff}.tabs button[aria-selected=true] span,.tabs button[aria-selected=true] .icon{color:#f2d19c}
.service-panel{background:var(--white);border:1px solid var(--line);border-radius:8px;padding:32px 36px}.service-panel h3{font-size:29px;letter-spacing:-.06em;line-height:1.3;margin:9px 0 7px}.service-panel>p:not(.eyebrow){color:var(--muted)}.service-panel .text-link{margin-top:17px}
.checks{list-style:none;padding:0;margin-top:17px;display:grid;gap:6px;font-size:14px}.checks li{display:flex;gap:9px;align-items:baseline}.checks li::before{content:"✓";color:#8b5e22;font-weight:900}
.package-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.package{display:flex;flex-direction:column;background:var(--white);border:1px solid var(--line);border-radius:8px;padding:27px}.package.featured{background:#f9f0df;border-color:#c1a26c}.package h3{font:400 36px/1.1 var(--serif);letter-spacing:-.04em;margin:10px 0}.package>p:not(.eyebrow){color:var(--muted);font-size:14px}.package .checks{margin-bottom:22px}.package .text-link{margin-top:auto}
.process-list{display:grid;grid-template-columns:repeat(5,1fr);gap:18px;list-style:none;padding:0;margin-top:30px}.process-list li{border-top:1px solid #bd9b64;padding-top:15px}.process-list li>span{display:block;color:var(--gold);font:italic 24px/1.1 var(--serif);margin-bottom:9px}.process-list strong{display:block;font-size:16px;margin-bottom:4px}.process-list p,.process-note{font-size:14px;color:var(--muted)}.process-note{margin-top:18px}
.quote-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(25px,6vw,78px);align-items:start}.quote-copy>p:not(.eyebrow){color:var(--muted);margin-top:14px}
.quote-form{padding:27px;background:var(--white);border:1px solid var(--line);border-radius:8px}.form-label{font-weight:800;font-size:15px;padding:0}.form-label span{font-weight:550;font-size:11px;color:var(--muted);margin-left:6px}.quote-form select{width:100%;margin:6px 0 17px;padding:10px;border:1px solid #b7aa95;background:var(--white);color:var(--ink);border-radius:5px}.quote-form fieldset{border:0;margin:0;padding:0}.choices{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;margin-top:7px}.choices label{cursor:pointer;display:flex;align-items:center;gap:7px;padding:8px 9px;font-size:14px;border:1px solid var(--line);border-radius:5px}.choices input{accent-color:var(--ink);width:16px;height:16px;margin:0;flex:none}.choices label:has(input:checked){border-color:#a4814e;background:#faf1df}.form-note{color:var(--muted);font-size:13px;margin:14px 0}.quote-result{margin-top:13px;padding:10px 12px;background:#f3e7d0;border-radius:4px;font-size:14px}
.faq-layout{display:grid;grid-template-columns:.65fr 1.35fr;gap:40px}.accordion{border-top:1px solid #cdbda4}.accordion details{border-bottom:1px solid #cdbda4}.accordion summary{cursor:pointer;font-weight:750;padding:14px 28px 14px 0;position:relative;list-style:none}.accordion summary::-webkit-details-marker{display:none}.accordion summary::after{content:"+";position:absolute;right:2px;top:11px;font-size:20px;color:var(--gold)}.accordion details[open] summary::after{content:"−"}.accordion details>p,.policy{color:var(--muted);font-size:14px;padding-bottom:14px}.policy dl{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:10px 0}.policy dl div{border:1px solid var(--line);background:var(--white);padding:7px;text-align:center;border-radius:4px}.policy dd{margin:0;color:var(--ink);font-weight:800}
.footer{padding:32px 0}.footer-layout{display:flex;align-items:center;gap:22px 32px}.footer p{font-size:13px;color:var(--muted)}.footer nav{margin-left:auto;display:flex;gap:17px;font-size:13px;font-weight:700}
@media(max-width:1050px){.wrap{width:calc(100% - 68px)}.nav{gap:22px}.hero{padding:52px 0 56px}.hero-layout{gap:35px}.hero h1{font-size:clamp(54px,7.4vw,78px)}.desktop-break{display:none}.hero-actions{gap:12px 16px}.section{padding:70px 0}}
@media(max-width:760px){html{scroll-padding-top:76px}.wrap{width:calc(100% - 36px)}.nav-wrap{min-height:63px;gap:12px}.brand img{width:39px}.brand strong{font-size:29px}.brand small{font-size:7px}.hero{padding:40px 0 37px}.hero-layout{grid-template-columns:1fr;gap:28px}.hero h1{font-size:clamp(58px,10.9vw,85px);margin:17px 0 21px}.hero-korean{font-size:29px}.hero-desc{margin-top:11px}.hero-actions{margin-top:20px}.hero-visual{margin:0 8px 10px 0}.photo-frame{aspect-ratio:1.36}.photo-caption{left:12px;bottom:12px}.journey{padding:25px 0}.journey-heading{align-items:baseline;flex-wrap:wrap;gap:4px 12px;margin-bottom:15px}.journey-heading h2{font-size:17px}.journey-heading>span{font-size:9px}.journey-list{grid-template-columns:repeat(4,1fr);gap:14px 2px}.journey-list::before{display:none}.journey-list li>span{width:42px;height:42px}.journey-list li{gap:4px;font-size:12px}.section{padding:53px 0}.section h2{font-size:clamp(30px,7vw,43px)}.about-layout,.service-layout,.quote-layout,.faq-layout{grid-template-columns:1fr;gap:20px}.about-copy{padding-left:15px}.package-grid{grid-template-columns:1fr;gap:10px}.package{padding:22px}.process-list{grid-template-columns:repeat(2,1fr);gap:13px}.service-panel,.quote-form{padding:21px}.footer-layout{flex-wrap:wrap;gap:13px 18px}.footer nav{margin-left:0;width:100%}}
@media(max-width:360px){.hero h1{font-size:51px}.button{padding-inline:13px}.choices label{padding-inline:6px}.photo-caption{padding:7px 11px 7px 7px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}

/* Page navigation and forms */
.nav a[aria-current="page"]{color:var(--gold);text-decoration:underline;text-underline-offset:6px}
.subpage{min-height:calc(100vh - 196px)}
.subpage h1{font-size:clamp(34px,4.3vw,55px);line-height:1.18;letter-spacing:-.07em;margin-top:13px}
.subpage-link{margin-top:22px}
.page-heading{max-width:690px}
.page-heading>p:not(.eyebrow){margin-top:12px;color:var(--muted)}
.steps{display:flex;flex-wrap:wrap;gap:7px;list-style:none;padding:0;margin-top:15px;font-size:12px;font-weight:750}
.steps li{padding:4px 10px;border:1px solid var(--line);border-radius:4px;color:var(--muted)}
.steps li[aria-current="step"]{color:var(--ink);background:#f2e6ce;border-color:#c2a36b}
.steps li:has(a){text-decoration:underline;text-underline-offset:3px}
.choices label:has(input:disabled){cursor:default}
.choices label small{margin-left:auto;color:#785524;font-size:10px;font-weight:750}
.form-error{margin:12px 0;color:#9b3125;font-size:14px;font-weight:720}
.details-layout{grid-template-columns:minmax(235px,.72fr) minmax(0,1.28fr);gap:25px;margin-top:26px}
.selection-summary{background:var(--tint);border:1px solid var(--line);border-left:2px solid #b59159;border-radius:6px;padding:24px}
.selection-summary h2{font-size:25px;margin-top:7px}
.selection-summary h3{font-size:16px;margin-top:15px}
.selection-summary .checks{margin-top:7px}
.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.input-field{display:block;font-size:14px;font-weight:750}
.input-field>span{font-size:11px;font-weight:550;color:var(--muted);margin-left:4px}
.input-field input,.input-field textarea{display:block;width:100%;margin-top:4px;padding:9px 10px;border:1px solid #b7aa95;border-radius:5px;background:var(--white);color:var(--ink);font-weight:500;min-width:0}
.input-field textarea{resize:vertical}
.full-field{grid-column:1/-1}
.button:disabled{cursor:default;opacity:.65}
.quote-result dl{display:grid;grid-template-columns:max-content 1fr;gap:3px 12px;margin:7px 0}
.quote-result dt{font-weight:700}
.quote-result dd{margin:0;white-space:pre-wrap}
.consultation-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:start}
dialog{width:min(100% - 30px,515px);max-height:calc(100dvh - 30px);overflow:auto;padding:24px;border:1px solid var(--line);border-radius:8px;background:var(--white);color:var(--ink);box-shadow:0 16px 65px #14234245}
dialog::backdrop{background:#101d34a8}
.dialog-heading{display:flex;align-items:start;justify-content:space-between;gap:15px;margin-bottom:16px}
.dialog-heading h2{font-size:28px;margin:5px 0 0}
.close-dialog{display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--line);border-radius:5px;color:var(--ink);background:transparent}
#consultation-form .field-grid{grid-template-columns:1fr}
@media(max-width:900px){.header-cta{margin-left:auto;order:1}.menu-toggle{display:grid;place-items:center;order:2;width:42px;height:42px;padding:0;color:var(--ink);background:transparent;border:1px solid var(--line);border-radius:5px}.nav{display:none;position:absolute;top:100%;left:0;right:0;padding:12px 18px 17px;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:0 8px 16px #17274715}.nav.is-open{display:grid;gap:0}.nav a{padding:9px 0}}
@media(max-width:760px){.details-layout,.consultation-layout{grid-template-columns:1fr;gap:18px}.subpage{min-height:calc(100dvh - 210px)}}
@media(max-width:420px){.field-grid{grid-template-columns:1fr}.choices label small{font-size:9px}}
/* Service questions on the quote details page */
.quote-form h2{font-size:21px;letter-spacing:-.045em;margin:0 0 12px}
.questionnaire{margin-top:28px}
.questionnaire h2{margin-bottom:3px}
.questionnaire>p{margin-bottom:16px;color:var(--muted);font-size:13px}
.quote-form .question-section{min-width:0;margin:0 0 15px;padding:10px 14px 15px;border:1px solid var(--line);border-radius:6px;background:#fcf9f2}
.question-section>legend{max-width:100%;padding:0 6px;font-size:17px;font-weight:800;letter-spacing:-.035em}
.question-options{min-width:0}
.question-options>legend{font-size:14px;font-weight:750;padding:0}
.question-options .choices label{background:var(--white);font-size:13px}
.question-options .choices label:has(input:checked){background:#faf1df}
.quote-form .input-field select{display:block;width:100%;margin:4px 0 0;padding:9px 10px;border:1px solid #b7aa95;border-radius:5px;background:var(--white);color:var(--ink);font-weight:500;min-width:0}
.details-note{margin-top:20px}
.quote-result h3{margin-top:13px;font-size:15px}
.quote-result dl{grid-template-columns:minmax(0,1fr) minmax(0,1.35fr)}
@media(max-width:420px){.question-options .choices,.quote-result dl{grid-template-columns:1fr}.quote-result dd{margin-bottom:5px}}
.quote-terms{margin-top:23px;padding-top:17px;border-top:1px solid var(--line);font-size:14px}
.quote-terms h2{margin-bottom:7px}
.quote-terms>p{margin-bottom:10px}
.quote-terms details{border-bottom:1px solid var(--line)}
.quote-terms summary{padding:9px 0;cursor:pointer;font-weight:750}
.quote-terms details>p{margin:0 0 10px;color:var(--muted)}
.quote-terms dl{display:grid;grid-template-columns:max-content 1fr;gap:4px 10px;margin-bottom:10px}
.quote-terms dt{font-weight:750}
.quote-terms dd{margin:0;color:var(--muted)}
.quote-terms .terms-draft{color:#785524;font-weight:750}
.terms-consent{display:flex;gap:7px;align-items:baseline;margin-top:12px;font-weight:750}
.terms-consent input{flex:none;margin:0;align-self:flex-start;margin-top:4px}
.terms-consent small{color:var(--muted);font-size:11px;font-weight:600}
#send-quote,#send-consultation{margin-top:12px}
