#contact{--red:#c41028;--ink:#17191d;--muted:#626971;--line:#e1e5e7;--teal:#087d79;color-scheme:light;color:var(--ink);background:#f5f7f8;font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65}#contact .guide-section{padding:76px 0}#contact .wrap{width:min(1160px,calc(100% - 56px));margin:0 auto}#contact h2{font-family:Arial,Helvetica,sans-serif;font-size:38px;line-height:1.15;font-weight:750}#contact h3{font-family:Arial,Helvetica,sans-serif;font-weight:700}#contact form{border-top:0}#contact input,#contact select,#contact textarea{margin-top:0}#contact .form-grid{margin-top:0}#contact form>label{margin-top:0}#contact .booking-form label{display:flex}#contact .booking-form>h3{margin-top:0}#contact .contact-methods{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:14px}#contact .contact-method{display:flex;align-items:center;justify-content:center;border:1px solid;border-radius:4px;text-decoration:none}#contact .booking-notes .eyebrow{color:var(--teal)}#contact .operator-note img{flex:none}#contact .section-heading p{max-width:76ch}#contact .svg-icon{object-fit:contain;flex-shrink:0}#contact .button{cursor:pointer}

















#contact .eyebrow{color: var(--red); font-size: 11px; font-weight: 750; text-transform: uppercase; line-height: 1.5; margin-bottom: 16px;}

























#contact .button{min-height: 46px; display: inline-flex; gap: 10px; align-items: center; justify-content: center; padding: 10px 18px; font-size: 13px; line-height: 1.4; font-weight: 700; text-decoration: none; border: 1px solid transparent; border-radius: 4px; transition: background 0.2s, transform 0.2s;}
#contact .button:hover{transform: translateY(-2px);}
#contact .button-red{color: rgb(255, 255, 255); background: var(--red);}
#contact .button-red:hover{background: rgb(162, 11, 32);}
#contact .button-dark{color: rgb(255, 255, 255); background: rgb(32, 37, 43);}









#contact .section-heading{max-width: 760px; margin-bottom: 36px;}
#contact .section-heading > p:last-child:not(.eyebrow){font-size: 15px; color: var(--muted); margin-top: 18px; line-height: 1.8;}









































#contact .booking-steps{padding: 0px; list-style: none; display: grid; grid-template-columns: repeat(3, minmax(0px, 1fr)); gap: 28px; margin: 0px 0px 44px;}
#contact .booking-steps li{border-top: 2px solid var(--red); padding: 18px 0px;}
#contact .booking-steps span{color: var(--red); font-size: 12px; font-weight: 700;}
#contact .booking-steps h3{margin: 10px 0px; font-size: 19px;}
#contact .booking-steps p{font-size: 14px; color: var(--muted);}
#contact .booking-layout{display: grid; grid-template-columns: minmax(0px, 1.4fr) minmax(0px, 1fr); gap: 64px; align-items: start;}
#contact .booking-form{min-width: 0px;}
#contact .booking-form > h3{font-size: 24px; margin-bottom: 24px;}
#contact .form-grid{display: grid; grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 16px 20px; margin-bottom: 22px;}
#contact .booking-form label{display: flex; flex-direction: column; gap: 8px; font-size: 12px; font-weight: 700; min-width: 0px;}
#contact .booking-form input,#contact .booking-form select,#contact .booking-form textarea{width: 100%; min-width: 0px; max-width: 100%; border: 1px solid rgb(203, 210, 216); background: rgb(255, 255, 255); color: rgb(36, 42, 48); border-radius: 4px; font-size: 14px; line-height: 1.5; padding: 11px 12px; min-height: 44px;}
#contact .booking-form textarea{resize: vertical; font-size: 13px; font-weight: 400; min-height: 185px;}
#contact .form-actions{display: flex; flex-wrap: wrap; gap: 12px; margin-top: 16px;}
#contact .form-status{min-height: 24px; font-size: 12px; color: var(--teal); padding-top: 8px;}
#contact .booking-notes{border-top: 1px solid rgb(203, 210, 216); padding-top: 24px;}
#contact .booking-notes h3{font-size: 28px;}
#contact .booking-notes ul{padding-left: 18px; font-size: 14px; color: var(--muted); margin: 20px 0px 28px;}
#contact .booking-notes li + li{margin-top: 15px;}
#contact .operator-note{display: flex; align-items: flex-start; gap: 12px; padding-top: 22px; border-top: 1px solid rgb(216, 223, 226); font-size: 12px; line-height: 1.8; color: rgb(96, 105, 112);}
#contact .operator-note svg{color: var(--teal); margin-top: 3px;}














#contact .venue-links .eyebrow{display: block; margin-bottom: 10px;}
















@media (max-width: 900px){


#contact .booking-layout{gap: 32px;}



}
@media (max-width: 700px){

















#contact .section-heading{margin-bottom: 28px;}
#contact .section-heading > p:last-child:not(.eyebrow){font-size: 14px; line-height: 1.8;}
#contact .eyebrow{font-size: 10px; margin-bottom: 12px;}












#contact .booking-layout{grid-template-columns: minmax(0px, 1fr); gap: 30px;}










#contact .booking-steps{grid-template-columns: minmax(0px, 1fr); gap: 0px; margin-bottom: 24px;}
#contact .booking-steps li{display: grid; grid-template-columns: 26px minmax(0px, 1fr); gap: 8px 12px; padding: 17px 0px; border-top: 1px solid rgb(204, 211, 216);}
#contact .booking-steps span{grid-row: 1 / 3; margin-top: 3px;}
#contact .booking-steps h3{margin: 0px; font-size: 17px;}
#contact .booking-steps p{grid-column: 2; font-size: 13px;}
#contact .form-grid{gap: 14px 12px;}
#contact .booking-form input,#contact .booking-form select{font-size: 14px; padding: 10px 8px;}
#contact .booking-form textarea{min-height: 240px;}
#contact .booking-notes h3{font-size: 25px;}
#contact .travel-layout .section-heading{margin-bottom: 0px;}







}
#contact #booking > .wrap > .section-heading{margin-bottom: 24px;}
#contact #booking .booking-steps{margin-bottom: 28px;}
#contact #booking .booking-steps li{padding: 14px 0px;}
#contact #booking .booking-steps h3{color: var(--ink); font-size: 17px; margin: 7px 0px;}
#contact #booking .booking-steps p{font-size: 13px; line-height: 1.6;}
@media (max-width: 700px){#contact #booking .booking-steps li{padding: 12px 0px; gap: 4px 10px;}
#contact #booking .booking-steps h3{font-size: 16px; margin: 0px;}
#contact #booking > .wrap > .section-heading > p:last-child{line-height: 1.65; margin-top: 12px;}}
#contact .contact-methods{display: grid; grid-template-columns: repeat(3, minmax(0px, 1fr)); gap: 10px; margin-top: 14px;}
#contact .contact-method{min-width: 0px; min-height: 46px; display: flex; align-items: center; justify-content: center; gap: 8px; border: 1px solid rgb(204, 215, 219); border-radius: 4px; text-decoration: none; font-size: 13px; font-weight: 700; background: rgb(255, 255, 255); color: var(--ink);}
#contact .contact-method:hover{border-color: var(--teal); background: rgb(237, 247, 245);}
#contact .contact-method svg{width: 17px; height: 17px; color: var(--teal);}
#contact .contact-method[href^="https://t.me"]{background: rgb(238, 248, 253); border-color: rgb(187, 221, 235); color: rgb(18, 98, 138);}
#contact .contact-method[aria-disabled="true"]{opacity: 0.5; cursor: not-allowed;}
@media (max-width: 400px){#contact .contact-methods{gap: 6px;}
#contact .contact-method{gap: 5px; font-size: 12px;}
#contact .contact-method svg{width: 15px; height: 15px;}}

















@media (max-width: 700px){

}
@media (prefers-reduced-motion: reduce){
}


@media (prefers-reduced-motion: reduce){
}






#contact html:is([lang="ja"], [lang="zh-Hans"]) .section-heading h2{line-height: 1.4;}
#contact html:is([lang="ja"], [lang="zh-Hans"]) .contact-method{font-size: 11px;}
@media (max-width: 700px){


#contact html:is([lang="ja"], [lang="zh-Hans"]) .contact-method{font-size: 10px;}}





#contact #booking .section-heading > .booking-manager-role{display: block; padding-left: 12px; border-left: 3px solid rgb(168, 201, 190); color: rgb(32, 102, 93); font-weight: 700;}
#contact :is(#booking, #venues) .contact-methods{align-items: stretch;}
#contact :is(#booking, #venues) .contact-method{height: 48px; min-height: 48px; box-sizing: border-box; line-height: 1.3; transition: background-color 0.2s, border-color 0.2s, box-shadow 0.2s;}
#contact :is(#booking, #venues) .contact-method > .icon-v2{width: 18px; height: 18px; flex: 0 0 18px; margin: 0px; align-self: center;}
#contact :is(#booking, #venues) .contact-method:focus-visible{outline: rgb(8, 123, 118) solid 2px; outline-offset: 3px;}
#contact :is(#booking, #venues) .contact-method:hover{box-shadow: rgba(24, 61, 56, 0.08) 0px 2px 6px;}

@media (prefers-reduced-motion: no-preference){
}
@media (max-width: 700px){#contact :is(#booking, #venues) .contact-method{height: 46px; min-height: 46px;}
#contact #booking .section-heading > .booking-manager-role{padding-left: 10px;}}
#contact img.svg-icon{display: block; width: 20px; height: 20px; aspect-ratio: 1 / 1; object-fit: contain; flex-shrink: 0;}




#contact svg.lucide{display: block; flex-shrink: 0; fill: none; stroke: currentcolor; stroke-width: 1.75; stroke-linecap: round; stroke-linejoin: round; aspect-ratio: 1 / 1;}
#contact :is(a, button) > .lucide{width: 18px; height: 18px;}



#contact .section-heading{max-width: 720px; margin-bottom: 32px;}
#contact .section-heading h2{font-size: 36px; line-height: 1.16; font-weight: 750; max-width: 25ch; color: rgb(32, 86, 91); text-wrap: balance;}
#contact :is(#prices, #booking) .section-heading h2{color: rgb(134, 51, 72);}
#contact :is(#types, #faq) .section-heading h2{color: rgb(43, 80, 105);}
#contact .section-heading h2::after{content: ""; display: block; width: 42px; height: 3px; margin-top: 17px; background: linear-gradient(90deg, currentcolor 0px, currentcolor 72%, rgb(196, 163, 113) 72%, rgb(196, 163, 113) 100%); border-radius: 1px;}
#contact .section-heading > .eyebrow{color: rgb(157, 56, 80);}


#contact .section-heading > p:last-child:not(.eyebrow){font-size: 15px; line-height: 1.85; color: var(--muted); max-width: 72ch; margin-top: 16px;}
#contact .eyebrow{display: flex; align-items: center; gap: 10px; font-size: 10px; font-weight: 750; color: var(--red); text-transform: uppercase; margin-bottom: 14px;}
#contact .section-heading > .eyebrow::before{content: ""; width: 22px; height: 2px; background: var(--red); flex: 0 0 auto;}







#contact .hero-actions .button{padding: 13px 20px; min-height: 48px; border-color: rgba(255, 255, 255, 0.145); box-shadow: rgba(0, 0, 0, 0.133) 0px 5px 18px;}
#contact .button{border-radius: 5px; transition: background 0.18s, border-color 0.18s, box-shadow 0.18s; transform: none;}
#contact .button:hover{transform: none; box-shadow: rgba(0, 0, 0, 0.133) 0px 3px 12px;}

#contact .icon-button .lucide{width: 19px; height: 19px;}











#contact .icon-badge .lucide{width: 23px; height: 23px;}





#contact .nightlife-options article > a > .lucide{width: 15px; height: 15px;}








#contact .note > .lucide{width: 19px; height: 19px; margin-top: 2px;}








#contact .quote-tool .eyebrow{color: rgb(165, 217, 206); font-size: 10px; margin-bottom: 20px;}



#contact .quote-tool .text-link > .lucide{margin-top: 1px;}





#contact .inclusions-grid .icon-badge .lucide{width: 22px; height: 22px; margin: 0px;}


#contact #booking > .wrap > .section-heading{margin-bottom: 26px;}
#contact #booking .booking-steps{gap: 28px; margin-bottom: 34px;}
#contact #booking .booking-steps li{border-top: 1px solid rgb(209, 218, 223); padding: 16px 0px; display: grid; grid-template-columns: 30px minmax(0px, 1fr); gap: 4px 12px; align-content: start;}
#contact .booking-steps li > span{display: flex; align-items: center; justify-content: center; background: rgb(32, 43, 51); color: rgb(255, 255, 255); width: 28px; height: 28px; grid-row: 1 / 3; font-size: 10px; font-weight: 700; border-radius: 4px;}
#contact #booking .booking-steps h3{font-size: 16px; line-height: 1.4; margin: 0px; color: rgb(32, 43, 51);}
#contact #booking .booking-steps p{grid-column: 2; font-size: 12px; line-height: 1.7; margin: 0px;}
#contact .booking-layout{grid-template-columns: minmax(0px, 1.45fr) minmax(0px, 1fr); gap: 48px;}
#contact .booking-form{background: rgb(255, 255, 255); border: 1px solid rgb(220, 227, 231); border-radius: 6px; padding: 28px;}
#contact .booking-form > h3{font-size: 22px; padding-bottom: 20px; margin-bottom: 22px; border-bottom: 1px solid rgb(227, 232, 235);}
#contact .form-grid{gap: 18px 16px;}
#contact .booking-form label{font-size: 11px; color: rgb(74, 86, 96); font-weight: 700; gap: 7px;}
#contact .booking-form :is(input, select, textarea){border-color: rgb(205, 215, 221); border-radius: 4px; background: rgb(251, 252, 253); color: rgb(37, 45, 53); box-shadow: none;}
#contact .booking-form :is(input, select, textarea):focus{background: rgb(255, 255, 255); border-color: var(--teal); outline: rgba(8, 123, 118, 0.133) solid 2px; outline-offset: 0px;}
#contact .booking-form input,#contact .booking-form select{font-size: 14px; min-height: 44px; line-height: 1.5; padding: 10px 11px;}
#contact .booking-form textarea{font-size: 13px; line-height: 1.75; min-height: 235px; resize: vertical;}
#contact .form-actions{margin-top: 14px;}
#contact .form-actions .button{background: rgb(255, 255, 255); color: rgb(58, 72, 82); border-color: rgb(205, 215, 221); font-size: 12px; min-height: 42px; padding: 10px 14px;}
#contact .form-actions .button > .lucide{width: 16px; height: 16px;}
#contact .contact-methods{gap: 8px;}
#contact .contact-method{font-size: 12px; border-color: rgb(206, 218, 222); min-height: 46px; gap: 8px;}
#contact .contact-method > .lucide{width: 17px; height: 17px; color: inherit;}
#contact .contact-method[href^="tel:"]{background: rgb(249, 240, 241); color: rgb(160, 26, 47); border-color: rgb(236, 208, 214);}
#contact .contact-method[href^="sms:"]{background: rgb(237, 246, 243); color: rgb(33, 105, 83); border-color: rgb(200, 222, 215);}
#contact .contact-method[href^="https://t.me"]{background: rgb(237, 246, 252); color: rgb(22, 103, 142); border-color: rgb(201, 224, 238);}
#contact .contact-method:hover{filter: brightness(0.97);}
#contact .form-status{font-size: 11px; min-height: 20px;}
#contact .booking-notes{border: 0px; padding: 18px 0px 0px;}
#contact .booking-notes h3{font-size: 27px; line-height: 1.2;}
#contact .booking-notes ul{list-style: none; padding: 0px; margin: 24px 0px 28px;}
#contact .booking-notes li{position: relative; padding: 0px 0px 17px 18px; margin: 0px 0px 16px; border-bottom: 1px solid rgb(217, 225, 229); font-size: 13px; line-height: 1.85;}
#contact .booking-notes li::before{content: ""; position: absolute; left: 0px; top: 8px; width: 5px; height: 5px; background: var(--teal);}
#contact .operator-note{border: 0px; padding-top: 0px; font-size: 11px; color: rgb(99, 112, 121);}
#contact .operator-note > .lucide{width: 18px; height: 18px;}




#contact .travel-points .icon-badge > .lucide{width: 20px; height: 20px;}







#contact .faq-grid summary > .lucide{width: 18px; height: 18px; color: var(--teal); transition: transform 0.2s;}
#contact .faq-grid details[open] summary > .lucide{transform: rotate(45deg);}




#contact .venue-links .eyebrow{color: var(--teal); margin-bottom: 12px;}


#contact .venue-links > a > .lucide{width: 22px; height: 22px; color: var(--teal);}

#contact .venue-section .contact-methods{max-width: 520px; margin-top: 18px;}






#contact .footer-links .lucide{width: 14px; height: 14px;}

#contact .mobile-booking > .lucide{width: 18px; height: 18px;}
@media (max-width: 1000px){




#contact .booking-layout{gap: 28px;}
#contact .booking-form{padding: 22px;}
}
@media (max-width: 700px){

#contact .section-heading{margin-bottom: 24px;}
#contact .section-heading h2{font-size: 28px; line-height: 1.2;}
#contact .section-heading > p:last-child:not(.eyebrow){font-size: 13px; line-height: 1.85; margin-top: 14px;}
#contact .eyebrow{font-size: 9px; margin-bottom: 12px;}














#contact .icon-badge .lucide{width: 21px; height: 21px;}











#contact .note > .lucide{width: 17px; height: 17px; flex: 0 0 auto;}
#contact .booking-layout{grid-template-columns: minmax(0px, 1fr); gap: 28px;}










#contact #booking .booking-steps{grid-template-columns: 1fr; gap: 0px; margin-bottom: 24px;}
#contact #booking .booking-steps li{padding: 13px 0px; gap: 3px 12px;}
#contact #booking .booking-steps h3{font-size: 15px;}
#contact #booking .booking-steps p{font-size: 12px;}
#contact .booking-form{padding: 20px 16px;}
#contact .booking-form > h3{font-size: 20px; margin-bottom: 20px; padding-bottom: 16px;}
#contact .form-grid{gap: 15px 12px;}
#contact .booking-form :is(input, select, textarea){font-size: 16px; padding: 10px 8px;}
#contact .booking-form textarea{min-height: 275px; font-size: 14px; line-height: 1.8;}
#contact .booking-notes{padding-top: 0px;}
#contact .booking-notes h3{font-size: 24px;}
#contact .booking-notes li{font-size: 12px;}
#contact .contact-methods{gap: 6px;}
#contact .contact-method{font-size: 11px; gap: 6px; min-height: 44px;}
#contact .contact-method > .lucide{width: 15px; height: 15px;}
#contact .travel-layout .section-heading{margin-bottom: 0px;}











}
@media (max-width: 359px){


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

#contact .contact-method{gap: 4px; font-size: 10px;}}













#contact .phrase-copy > .lucide{width: 16px; height: 16px;}

@media (max-width: 700px){







}






#contact .menu-toggle > .lucide{width: 17px; height: 17px;}
@media (max-width: 700px){
}









#contact #booking .booking-steps li > span{width: 28px; height: 28px; border: 0px; border-radius: 50%; box-shadow: none; background: rgb(29, 101, 98); color: rgb(255, 255, 255); font-family: Arial, Helvetica, sans-serif; font-size: 12px; font-weight: 700; line-height: 1;}






#contact .contact-method > .icon-v2{width: 19px; height: 19px; flex: 0 0 auto;}





@media (max-width: 700px){




#contact .contact-method > .icon-v2{width: 17px; height: 17px;}}
#contact .section-heading > .eyebrow:has(.section-number)::before{display: none;}
#contact .section-heading > .eyebrow:has(.section-number){gap: 11px; min-height: 30px;}
#contact .section-number{width: 34px; height: 30px; display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; background: rgb(255, 255, 255); color: rgb(149, 54, 76); border: 1px solid rgb(226, 204, 209); border-radius: 5px; font-family: Georgia, "Times New Roman", serif; font-size: 18px; font-weight: 700; line-height: 1; font-variant-numeric: lining-nums tabular-nums; box-shadow: rgb(238, 230, 232) 0px 2px 0px;}
#contact .booking-steps li > span{width: 32px; height: 32px; border-radius: 5px; display: inline-flex; align-items: center; justify-content: center; background: rgb(252, 249, 248); border: 1px solid rgb(221, 199, 204); color: rgb(146, 54, 74); font-family: Georgia, "Times New Roman", serif; font-size: 18px; font-weight: 700; line-height: 1; font-variant-numeric: lining-nums tabular-nums; box-shadow: rgb(238, 229, 231) 0px 2px 0px;}


#contact #booking .booking-steps{gap: 14px;}
#contact #booking .booking-steps li{grid-template-columns: 32px minmax(0px, 1fr); padding: 17px 15px; border: 1px solid rgb(220, 227, 230); border-radius: 6px; background: rgba(255, 255, 255, 0.85); box-shadow: rgb(232, 237, 239) 0px 2px 0px;}


@media (max-width: 700px){#contact .section-number{width: 30px; height: 28px; font-size: 16px;}
#contact .booking-steps li > span{width: 30px; height: 30px; font-size: 17px;}

#contact #booking .booking-steps{gap: 10px;}
#contact #booking .booking-steps li{grid-template-columns: 30px minmax(0px, 1fr); padding: 13px 12px;}
#contact #booking .booking-steps h3{font-size: 15px;}}

#contact .nightlife-intro .section-heading{margin-bottom: 0px;}



@media (max-width: 700px){

}
#contact #booking .section-heading > .booking-manager-role{font-size: 15px; font-weight: 700; color: var(--teal); line-height: 1.5; margin-top: 14px;}
#contact .contact-method > span{min-width: 0px; line-height: 1.35; text-align: center; white-space: normal;}
#contact .contact-method{padding: 7px 5px;}
@media (max-width: 700px){#contact #booking .section-heading > .booking-manager-role{font-size: 13px;}
#contact .contact-method:has(span){gap: 5px;}}



@media (max-width: 700px){
}


#contact .date-input-shell{position: relative; display: block; min-width: 0px;}
#contact .date-input-placeholder{position: absolute; top: 50%; left: 12px; transform: translateY(-50%); pointer-events: none; font-size: 14px; font-weight: 400; color: rgb(107, 116, 125); line-height: 1.5;}
#contact .date-input-shell input[data-has-value="false"]::-webkit-datetime-edit{opacity: 0;}
#contact .date-input-shell input[data-has-value="true"] + .date-input-placeholder{display: none;}
@media (max-width: 700px){#contact .date-input-placeholder{left: 9px; font-size: 16px;}}













#contact .menu-close > .lucide{width: 21px; height: 21px;}

@media(max-width:700px){#contact .guide-section{padding:60px 0}#contact .wrap{width:calc(100% - 40px)}#contact h2{font-size:29px}}.goguryeo-gallery{background:#050606;padding:28px 0 18px;overflow:hidden}.goguryeo-gallery .bukchang-gallery-row{display:block;width:100%;margin:0;padding:0;list-style:none;overflow-x:auto;overflow-y:hidden;white-space:nowrap;font-size:0;line-height:0;scrollbar-width:none;scroll-behavior:auto;overscroll-behavior-x:contain;touch-action:pan-x pan-y}.goguryeo-gallery .bukchang-gallery-row::-webkit-scrollbar{display:none}.goguryeo-gallery .bukchang-gallery-row+.bukchang-gallery-row{margin-top:4px}.goguryeo-gallery .bukchang-gallery-row>li{display:inline-block;width:150px;height:150px;vertical-align:top}.goguryeo-gallery .bukchang-gallery-row img{width:150px;height:150px;object-fit:cover;user-select:none}.goguryeo-gallery .bukchang-gallery-note{margin:12px auto 0;padding:0 20px;max-width:1160px;color:#a2aca8;font-size:10px;line-height:1.6}@media(max-width:639px){.goguryeo-gallery{padding:20px 0 14px}.goguryeo-gallery .bukchang-gallery-row>li,.goguryeo-gallery .bukchang-gallery-row img{width:100px;height:100px}}
