@charset "utf-8";

#hqContactVisual .overview-visual-bg{
background-position:68% center;
}

#hqContact.contact-section{
--ct-bg:#ffffff;
--ct-cream:#F8F5F0;
--ct-marble:#f9f7f2;
--ct-text:#111111;
--ct-sub:#666666;
--ct-muted:#888888;
--ct-gold:#9A845F;
--ct-gold-soft:rgba(154,132,95,.12);
--ct-line:#eeeeee;
--ct-line-soft:#e8e4de;
position:relative;
padding:88px 0 108px;
background:var(--ct-bg);
color:var(--ct-text);
font-family:var(--k-font),var(--e-font);
box-sizing:border-box;
overflow:hidden;
}

#hqContact .contact-bg-deco{
position:absolute;
top:0;
right:0;
width:min(55%,720px);
height:480px;
opacity:.35;
background:radial-gradient(ellipse 80% 70% at 100% 0%,rgba(194,165,117,.14) 0%,transparent 65%);
pointer-events:none;
}

#hqContact .contact-inner{
position:relative;
z-index:1;
max-width:var(--layout-max,1200px);
margin:0 auto;
padding:0 var(--layout-gutter,80px);
}

/* Header — matches org / notice pattern */
#hqContact .contact-header{
margin-bottom:52px;
text-align:center;
}

#hqContact .contact-kicker{
margin:0 0 16px;
font-size:13px;
font-weight:600;
letter-spacing:.2em;
text-transform:uppercase;
color:var(--ct-gold);
font-family:var(--e-font),var(--k-font);
}

#hqContact .contact-heading{
margin:0 0 18px;
font-size:clamp(28px,2.4vw,36px);
font-weight:700;
line-height:1.35;
letter-spacing:-.02em;
}

#hqContact .contact-heading-en{
font-family:var(--e-font),var(--k-font);
letter-spacing:.04em;
}

#hqContact .contact-heading-sep{
margin:0 .35em;
font-weight:400;
color:var(--ct-muted);
}

#hqContact .contact-heading-ko{
font-family:var(--k-font),var(--e-font);
}

#hqContact .contact-intro{
margin:0 auto;
max-width:580px;
font-size:15px;
line-height:1.85;
color:var(--ct-sub);
word-break:keep-all;
}

/* Info strip */
#hqContact .contact-info-strip{
display:grid;
grid-template-columns:repeat(3,minmax(0,1fr));
margin:0 0 56px;
border:1px solid var(--ct-line-soft);
border-radius:20px;
background:var(--ct-cream);
box-shadow:0 4px 28px rgba(120,100,80,.05);
overflow:hidden;
}

#hqContact .contact-info-item{
display:flex;
flex-direction:column;
align-items:center;
justify-content:center;
gap:14px;
min-height:132px;
padding:32px 28px;
text-align:center;
box-sizing:border-box;
}

#hqContact .contact-info-item:not(:last-child){
border-right:1px solid var(--ct-line-soft);
}

#hqContact .contact-info-item-top{
display:flex;
align-items:center;
justify-content:center;
gap:10px;
}

#hqContact .contact-info-icon{
display:flex;
align-items:center;
justify-content:center;
width:36px;
height:36px;
border-radius:50%;
background:#ffffff;
color:var(--ct-gold);
border:1px solid rgba(154,132,95,.2);
flex-shrink:0;
}

#hqContact .contact-info-label{
font-size:11px;
font-weight:600;
letter-spacing:.14em;
text-transform:uppercase;
color:var(--ct-muted);
font-family:var(--e-font),var(--k-font);
line-height:1;
}

#hqContact .contact-info-value{
margin:0;
font-size:clamp(15px,1.2vw,17px);
font-weight:700;
line-height:1.4;
letter-spacing:-.01em;
color:var(--ct-text);
text-decoration:none;
word-break:break-all;
}

#hqContact a.contact-info-value{
transition:color .2s ease;
}

#hqContact a.contact-info-value:hover{
color:var(--ct-gold);
}

#hqContact .contact-info-value--stack{
display:flex;
flex-direction:column;
align-items:center;
gap:6px;
}

#hqContact .contact-info-main{
font-size:clamp(15px,1.2vw,17px);
font-weight:700;
line-height:1.35;
color:var(--ct-text);
}

#hqContact .contact-info-sub{
font-size:12px;
font-weight:500;
line-height:1.4;
color:var(--ct-sub);
letter-spacing:0;
}

/* Blocks */
#hqContact .contact-block{
margin-bottom:56px;
}

#hqContact .contact-block--form{
margin-bottom:0;
padding:48px;
border-radius:28px;
background:var(--ct-cream);
border:1px solid var(--ct-line-soft);
box-shadow:0 8px 40px rgba(120,100,80,.06);
}

#hqContact .contact-block-head{
display:flex;
flex-wrap:wrap;
align-items:flex-end;
justify-content:space-between;
gap:20px 32px;
margin-bottom:32px;
padding-bottom:24px;
border-bottom:1px solid var(--ct-line);
}

#hqContact .contact-block-kicker{
margin:0 0 8px;
font-size:12px;
font-weight:600;
letter-spacing:.16em;
text-transform:uppercase;
color:var(--ct-gold);
font-family:var(--e-font),var(--k-font);
}

#hqContact .contact-block-title{
margin:0;
font-size:clamp(22px,2vw,28px);
font-weight:700;
letter-spacing:-.02em;
font-family:var(--k-font),var(--e-font);
}

#hqContact .contact-location-tabs{
display:flex;
flex-wrap:wrap;
gap:10px;
}

#hqContact .contact-tab{
appearance:none;
display:flex;
flex-direction:column;
align-items:flex-start;
gap:2px;
min-width:140px;
padding:14px 20px;
border:1px solid var(--ct-line);
border-radius:14px;
background:#ffffff;
cursor:pointer;
font-family:var(--k-font),var(--e-font);
text-align:left;
transition:border-color .25s ease,background .25s ease,box-shadow .25s ease;
}

#hqContact .contact-tab-en{
font-size:10px;
font-weight:600;
letter-spacing:.1em;
color:var(--ct-muted);
font-family:var(--e-font),var(--k-font);
transition:color .25s ease;
}

#hqContact .contact-tab-ko{
font-size:14px;
font-weight:700;
color:var(--ct-text);
}

#hqContact .contact-tab.is-active,
#hqContact .contact-tab:hover{
border-color:var(--ct-gold);
background:linear-gradient(135deg,#faf8f4,#ffffff);
box-shadow:0 4px 16px rgba(154,132,95,.12);
}

#hqContact .contact-tab.is-active .contact-tab-en,
#hqContact .contact-tab:hover .contact-tab-en{
color:var(--ct-gold);
}

#hqContact .contact-tab.is-active{
background:linear-gradient(135deg,var(--ct-gold),#87724f);
border-color:var(--ct-gold);
}

#hqContact .contact-tab.is-active .contact-tab-en,
#hqContact .contact-tab.is-active .contact-tab-ko{
color:#ffffff;
}

#hqContact .contact-location-panel{
display:none;
grid-template-columns:minmax(0,1.08fr) minmax(0,0.92fr);
gap:28px;
align-items:stretch;
}

#hqContact .contact-location-panel.is-active{
display:grid;
}

#hqContact .contact-map-wrap{
position:relative;
border-radius:20px;
overflow:hidden;
border:1px solid var(--ct-line);
box-shadow:0 8px 32px rgba(0,0,0,.06);
}

#hqContact .contact-map-pin{
position:absolute;
top:18px;
left:18px;
z-index:3;
width:10px;
height:10px;
border-radius:50%;
background:var(--ct-gold);
box-shadow:0 0 0 6px rgba(154,132,95,.25);
pointer-events:none;
}

#hqContact .contact-map{
display:block;
width:100%;
height:360px;
border:none;
filter:saturate(.95);
}

#hqContact .contact-map-actions{
display:flex;
flex-wrap:wrap;
gap:8px;
padding:12px 14px;
background:linear-gradient(180deg,rgba(249,247,242,.98),#f5f0e8);
border-top:1px solid var(--ct-line-soft);
}

#hqContact .contact-map-btn{
display:inline-flex;
align-items:center;
padding:8px 16px;
border-radius:6px;
font-size:11px;
font-weight:600;
letter-spacing:.06em;
text-transform:uppercase;
color:#ffffff;
background:var(--ct-gold);
text-decoration:none;
font-family:var(--e-font),var(--k-font);
transition:background .25s ease,transform .25s ease;
}

#hqContact .contact-map-btn--outline{
color:var(--ct-gold);
background:transparent;
border:1px solid var(--ct-gold);
}

#hqContact .contact-map-btn:hover{
background:#87724f;
color:#ffffff;
transform:translateY(-1px);
}

#hqContact .contact-map-btn--outline:hover{
background:var(--ct-gold);
}

#hqContact .contact-directions--marble{
padding:28px;
border-radius:20px;
background-color:var(--ct-marble);
background-image:
radial-gradient(ellipse 100% 80% at 0% 0%,rgba(255,255,255,.85) 0%,transparent 55%),
linear-gradient(160deg,#faf8f4 0%,#f5f0e8 100%);
border:1px solid rgba(194,165,117,.18);
}

#hqContact .contact-address-card{
display:flex;
gap:16px;
align-items:flex-start;
margin-bottom:24px;
padding-bottom:22px;
border-bottom:1px dashed rgba(154,132,95,.25);
}

#hqContact .contact-zip{
flex-shrink:0;
padding:8px 12px;
border-radius:8px;
font-size:11px;
font-weight:700;
letter-spacing:.06em;
color:var(--ct-gold);
background:var(--ct-gold-soft);
font-family:var(--e-font),var(--k-font);
}

#hqContact .contact-address{
margin:0;
font-size:14px;
line-height:1.75;
color:var(--ct-sub);
}

#hqContact .contact-address strong{
display:block;
margin-bottom:6px;
font-size:15px;
font-weight:700;
color:var(--ct-text);
font-family:var(--e-font),var(--k-font);
letter-spacing:.02em;
}

#hqContact .contact-directions-list{
margin:0;
padding:0;
list-style:none;
}

#hqContact .contact-directions-list li{
display:flex;
gap:12px;
margin-bottom:18px;
}

#hqContact .contact-directions-list li:last-child{
margin-bottom:0;
}

#hqContact .contact-dir-icon{
flex-shrink:0;
margin-top:2px;
font-size:14px;
font-weight:700;
color:var(--ct-gold);
}

#hqContact .contact-directions-list p{
margin:4px 0 0;
font-size:14px;
line-height:1.65;
color:var(--ct-text);
word-break:keep-all;
}

#hqContact .contact-dir-label{
display:block;
font-size:12px;
font-weight:700;
letter-spacing:.04em;
color:var(--ct-gold);
}

/* Form layout */
#hqContact .contact-form-layout{
display:grid;
grid-template-columns:minmax(0,300px) minmax(0,1fr);
gap:40px 48px;
align-items:start;
}

#hqContact .contact-form-aside .contact-block-title{
margin-bottom:14px;
}

#hqContact .contact-form-desc{
margin:0 0 22px;
font-size:14px;
line-height:1.75;
color:var(--ct-sub);
word-break:keep-all;
}

#hqContact .contact-form-tips{
margin:0 0 28px;
padding:18px 20px;
border-left:3px solid var(--ct-gold);
border-radius:0 12px 12px 0;
list-style:none;
background:rgba(255,255,255,.7);
}

#hqContact .contact-form-tips li{
position:relative;
margin-bottom:8px;
padding-left:14px;
font-size:13px;
line-height:1.55;
color:var(--ct-sub);
}

#hqContact .contact-form-tips li::before{
content:'';
position:absolute;
left:0;
top:.55em;
width:5px;
height:5px;
border-radius:50%;
background:var(--ct-gold);
}

#hqContact .contact-form-tips li:last-child{
margin-bottom:0;
}

#hqContact .contact-form-tips a{
color:var(--ct-gold);
font-weight:600;
text-decoration:none;
}

#hqContact .contact-form-tips a:hover{
text-decoration:underline;
}

#hqContact .contact-trust-tags{
display:flex;
flex-wrap:wrap;
gap:8px;
}

#hqContact .contact-trust-tags span{
padding:8px 16px;
border:1px solid rgba(154,132,95,.35);
border-radius:999px;
font-size:12px;
font-weight:600;
letter-spacing:.08em;
color:var(--ct-gold);
background:#ffffff;
}

#hqContact .contact-form-panel{
padding:36px 32px;
border-radius:20px;
background:#ffffff;
border:1px solid var(--ct-line);
box-shadow:0 4px 28px rgba(120,100,80,.05);
}

#hqContact .contact-form-grid{
display:grid;
grid-template-columns:repeat(2,minmax(0,1fr));
gap:20px 16px;
margin-bottom:18px;
}

#hqContact .contact-field{
display:flex;
flex-direction:column;
gap:8px;
}

#hqContact .contact-field--full{
grid-column:1 / -1;
}

#hqContact .contact-field label{
font-size:13px;
font-weight:600;
color:var(--ct-text);
}

#hqContact .contact-required{
color:var(--ct-gold);
}

#hqContact .contact-field input,
#hqContact .contact-field select,
#hqContact .contact-field textarea{
width:100%;
padding:14px 16px;
border:1px solid var(--ct-line);
border-radius:12px;
font-size:14px;
color:var(--ct-text);
background:#fafafa;
font-family:var(--k-font),var(--e-font);
box-sizing:border-box;
transition:border-color .25s ease,background .25s ease,box-shadow .25s ease;
}

#hqContact .contact-field input:hover,
#hqContact .contact-field select:hover,
#hqContact .contact-field textarea:hover{
background:#ffffff;
}

#hqContact .contact-field input:focus,
#hqContact .contact-field select:focus,
#hqContact .contact-field textarea:focus{
outline:none;
border-color:var(--ct-gold);
background:#ffffff;
box-shadow:0 0 0 3px var(--ct-gold-soft);
}

#hqContact .contact-field textarea{
resize:vertical;
min-height:148px;
}

#hqContact .contact-privacy{
display:flex;
align-items:flex-start;
gap:10px;
margin-bottom:22px;
padding:14px 16px;
border-radius:10px;
font-size:13px;
line-height:1.55;
color:var(--ct-sub);
background:var(--ct-marble);
cursor:pointer;
}

#hqContact .contact-privacy input{
flex-shrink:0;
margin-top:2px;
accent-color:var(--ct-gold);
}

#hqContact .contact-form-actions{
display:flex;
flex-wrap:wrap;
align-items:center;
gap:16px 24px;
}

#hqContact .contact-submit{
display:inline-flex;
align-items:center;
gap:10px;
appearance:none;
border:1px solid var(--ct-gold);
padding:14px 28px;
border-radius:4px;
font-size:12px;
font-weight:600;
letter-spacing:.12em;
text-transform:uppercase;
color:#ffffff;
background:var(--ct-gold);
cursor:pointer;
font-family:var(--e-font),var(--k-font);
transition:background .25s ease,color .25s ease,transform .25s ease,box-shadow .25s ease;
}

#hqContact .contact-submit:hover{
background:#87724f;
border-color:#87724f;
box-shadow:0 8px 24px rgba(154,132,95,.3);
transform:translateY(-1px);
}

#hqContact .contact-submit-arrow{
font-size:14px;
transition:transform .25s ease;
}

#hqContact .contact-submit:hover .contact-submit-arrow{
transform:translateX(3px);
}

#hqContact .contact-form-note{
margin:0;
font-size:13px;
line-height:1.5;
color:var(--ct-gold);
}

#hqContact .contact-form-note.is-error{
color:#b54a4a;
}

#hqContact .contact-footer-line{
margin:48px 0 0;
padding-top:32px;
border-top:1px solid var(--ct-line);
text-align:center;
font-size:12px;
font-weight:600;
letter-spacing:.14em;
text-transform:uppercase;
color:var(--ct-muted);
font-family:var(--e-font),var(--k-font);
}

/* Reveal */
#hqContact .reveal-item{
opacity:0;
transform:translateY(22px);
transition:opacity .85s ease-out,transform .85s cubic-bezier(.16,1,.64,1);
}

#hqContact.is-revealing .reveal-item{
opacity:1;
transform:translateY(0);
}

#hqContact.is-revealing .reveal-item:nth-child(1){transition-delay:.04s}
#hqContact.is-revealing .reveal-item:nth-child(2){transition-delay:.1s}
#hqContact.is-revealing .reveal-item:nth-child(3){transition-delay:.16s}
#hqContact.is-revealing .reveal-item:nth-child(4){transition-delay:.22s}
#hqContact.is-revealing .reveal-item:nth-child(5){transition-delay:.28s}

@media (max-width:1024px){
#hqContact .contact-info-strip{
grid-template-columns:1fr;
}

#hqContact .contact-info-item:not(:last-child){
border-right:none;
border-bottom:1px solid var(--ct-line-soft);
}

#hqContact .contact-location-panel.is-active{
grid-template-columns:1fr;
}

#hqContact .contact-form-layout{
grid-template-columns:1fr;
}

#hqContact .contact-block--form{
padding:32px 28px;
}
}

@media (max-width:768px){
#hqContact{
padding:56px 0 72px;
}

#hqContact .contact-inner{
padding:0 24px;
}

#hqContact .contact-tab{
min-width:0;
flex:1;
}

#hqContact .contact-map{
height:260px;
}

#hqContact .contact-form-panel{
padding:24px 18px;
}

#hqContact .contact-form-grid{
grid-template-columns:1fr;
}

#hqContact .contact-block--form{
padding:24px 18px;
}
}

@media (prefers-reduced-motion:reduce){
#hqContact .reveal-item,
#hqContact .contact-submit{
transition:none;
}
}
