@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@500;600;700;800&family=JetBrains+Mono:wght@500;600&display=swap');

/* ===== SOVRAN HAUS · ASSAY theme layer (appended over Bootstrap) ===== */
:root{--ink:#0B0C10;--teal:#13151B;--teal-2:#171A21;--bone:#FFFFFF;--mint:#FFC21A;--amber:#FFC21A;--fog:rgba(255,255,255,.6);--line:rgba(255,255,255,.08);--line-2:rgba(255,255,255,.14);--f:"Plus Jakarta Sans","Pretendard Variable",Pretendard,"Helvetica Neue",Arial,sans-serif;--fm:"JetBrains Mono",SFMono-Regular,Menlo,Consolas,monospace;color-scheme:dark}
html,body{background:var(--ink)!important;color:var(--bone);font-family:var(--f);-webkit-font-smoothing:antialiased}
body{font-size:15px;line-height:1.55}
a{color:var(--mint)} a:hover,a:focus{color:var(--bone);text-decoration:none}
h1,h2,h3,h4,h5{font-family:var(--f);font-weight:600;letter-spacing:-.02em;color:var(--bone)}
::selection{background:var(--mint);color:var(--ink)}

/* guest top nav — floating glass pill */
.sx-topnav{position:sticky;top:env(safe-area-inset-top,0px);z-index:60;padding:14px max(16px,env(safe-area-inset-left,0px)) 0;background:transparent;border:0;pointer-events:none}
.sx-topnav-in{pointer-events:auto;max-width:1180px;margin:0 auto;height:60px;padding:0 8px 0 22px;display:flex;align-items:center;gap:22px;border-radius:999px;background:rgba(11,12,16,.62);backdrop-filter:blur(18px) saturate(150%);-webkit-backdrop-filter:blur(18px) saturate(150%);box-shadow:inset 0 0 0 1px rgba(255,255,255,.10),0 20px 50px -24px rgba(0,0,0,.7)}
.sx-brand{font:600 14px/1 var(--f);letter-spacing:.2em;color:var(--bone)!important;display:flex;align-items:center;gap:10px;white-space:nowrap}
.sx-brand i{display:block;width:10px;height:10px;border-radius:50%;background:var(--mint);box-shadow:0 0 12px rgba(255,194,26,.7)}
.sx-menu{display:flex;gap:4px;margin-left:auto;font-size:14px}
.sx-menu a{color:rgba(238,234,225,.72);padding:9px 14px;border-radius:999px;transition:background .2s,color .2s}
.sx-menu a:hover,.sx-menu a.is-active{color:var(--bone);background:rgba(255,255,255,.07)}
.sx-lang{display:flex;gap:2px;padding:3px;border-radius:999px;background:rgba(255,255,255,.05);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);font:500 12.5px/1 var(--f)}
.sx-lang a{color:var(--fog);padding:7px 11px;border-radius:999px}
.sx-lang a.is-active{color:#0B0C10;background:var(--bone)}
.sx-cta{height:44px;padding:0 20px;border-radius:999px;background:var(--mint);color:#0B0C10!important;font:500 14.5px/44px var(--f);white-space:nowrap;box-shadow:0 10px 26px -10px rgba(255,194,26,.6),inset 0 1px 0 rgba(255,255,255,.45);transition:box-shadow .25s}
.sx-cta:hover{box-shadow:0 14px 34px -10px rgba(255,194,26,.75),inset 0 1px 0 rgba(255,255,255,.5)}
@media(max-width:900px){.sx-menu a{padding:8px 9px;font-size:13px}}
@media(max-width:720px){.sx-menu{display:none}.sx-lang{margin-left:auto;display:flex}.sx-topnav-in{padding-left:18px;gap:10px}.sx-cta{padding:0 16px}}
@media(max-width:520px){.sx-cta{display:none}}
@media(max-width:380px){.sx-brand{letter-spacing:.12em;font-size:13px}}

/* logged-in navbar */
.navbar-default{background:rgba(4,17,15,.92);border:0;border-bottom:1px solid var(--line);border-radius:0;margin-bottom:28px}
.navbar-default .navbar-brand,.navbar-default .navbar-brand:hover{color:var(--bone);font-weight:700;letter-spacing:.16em;font-size:15px}
.navbar-default .navbar-nav>li>a{color:rgba(236,232,223,.72)}
.navbar-default .navbar-nav>li>a:hover,.navbar-default .navbar-nav>li>a:focus{color:var(--bone);background:transparent}
.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:hover,.navbar-default .navbar-nav>.active>a:focus{color:#0B0C10;background:var(--mint);border-radius:999px}
.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:hover{background:var(--teal-2);color:var(--bone)}
.navbar-default .navbar-toggle{border-color:var(--line-2)} .navbar-default .navbar-toggle .icon-bar{background:var(--bone)}
.navbar-default .navbar-toggle:hover,.navbar-default .navbar-toggle:focus{background:var(--teal-2)}
.navbar-default .navbar-collapse{border-color:var(--line)}
.badge{background:var(--teal-2);color:var(--mint);font-family:var(--fm);font-weight:500;border:1px solid var(--line-2)}

/* surfaces */
.well,.panel,.modal-content,.list-group-item{background:var(--teal);border:1px solid var(--line-2);border-radius:20px;box-shadow:inset 0 1px 0 rgba(255,255,255,.05);color:var(--bone)}
.panel-heading,.panel-footer{background:var(--teal-2)!important;border-color:var(--line)!important;color:var(--bone)!important}
.modal-header,.modal-footer{border-color:var(--line)}
.close{color:var(--bone);text-shadow:none;opacity:.6} .close:hover{color:var(--bone);opacity:1}
.dropdown-menu{background:var(--teal);border:1px solid var(--line-2);border-radius:16px;padding:6px;box-shadow:0 20px 50px -20px rgba(0,0,0,.7)}
.dropdown-menu>li>a{border-radius:10px}
.dropdown-menu>li>a{color:var(--bone)} .dropdown-menu>li>a:hover,.dropdown-menu>.active>a{background:var(--teal-2);color:var(--mint)}
hr{border-color:var(--line)}

/* forms */
label,.control-label{color:rgba(236,232,223,.8);font-weight:500;font-size:13px}
.form-control{background:rgba(11,12,16,.7);border:1px solid var(--line-2);color:var(--bone);border-radius:12px;height:46px;box-shadow:none;font-family:var(--f)}
textarea.form-control{height:auto}
.form-control:focus{border-color:var(--mint);box-shadow:0 0 0 4px rgba(255,194,26,.14)}
.form-control:-webkit-autofill{-webkit-box-shadow:inset 0 0 0 1000px #13151B;-webkit-text-fill-color:var(--bone)}
.form-control[disabled],.form-control[readonly]{background:rgba(1,38,36,.6);color:var(--fog)}
.form-control::placeholder{color:var(--fog)}
select.form-control option{background:var(--teal);color:var(--bone)}
.input-group-addon{background:var(--teal-2);border-color:var(--line-2);color:var(--bone)}
.help-block{color:var(--fog)}

/* buttons */
.btn{border-radius:999px;font-weight:500;padding-left:18px;padding-right:18px;transition:transform .18s,filter .18s}
.btn-primary,.btn-primary:focus{background:var(--mint);border-color:var(--mint);color:var(--ink)}
.btn-primary:hover,.btn-primary:active,.btn-primary.active{background:var(--mint);border-color:var(--mint);color:var(--ink);filter:brightness(1.07)}
.btn-default{background:transparent;border-color:var(--line-2);color:var(--bone)}
.btn-default:hover,.btn-default:focus,.btn-default.active{background:var(--teal-2);border-color:var(--bone);color:var(--bone)}
.btn-link{color:var(--mint)}

/* tables */
.table{color:var(--bone);font-variant-numeric:tabular-nums}
.table>thead>tr>th{border-bottom:1px solid var(--line-2);color:var(--fog);font:500 12px var(--fm);letter-spacing:.06em;text-transform:uppercase}
.table>tbody>tr>td,.table>tbody>tr>th{border-top:1px solid var(--line)}
.table-bordered,.table-bordered>tbody>tr>td,.table-bordered>thead>tr>th{border-color:var(--line)}
.table-striped>tbody>tr:nth-of-type(odd){background:rgba(236,232,223,.03)}
.table-hover>tbody>tr:hover{background:rgba(255,194,26,.05)}
.services-list-category-title,.table .service-category,tr.service-category td{color:var(--mint)!important;background:var(--teal-2)!important}

/* nav pills / tabs / pagination */
.nav-pills>li>a{color:rgba(236,232,223,.75);border-radius:999px}
.nav-pills>li>a:hover{background:var(--teal-2);color:var(--bone)}
.nav-pills>li.active>a,.nav-pills>li.active>a:hover,.nav-pills>li.active>a:focus{background:var(--mint);color:var(--ink)}
.nav-tabs{border-color:var(--line)} .nav-tabs>li>a{color:rgba(236,232,223,.75)} .nav-tabs>li>a:hover{background:var(--teal-2);border-color:var(--line)}
.nav-tabs>li.active>a,.nav-tabs>li.active>a:hover{background:var(--teal);color:var(--bone);border-color:var(--line-2) var(--line-2) transparent}
.pagination>li>a,.pagination>li>span{background:var(--teal);border-color:var(--line);color:var(--bone)}
.pagination>.active>a,.pagination>.active>a:hover{background:var(--mint);border-color:var(--mint);color:var(--ink)}

/* alerts / labels */
.alert-success{background:rgba(255,194,26,.1);border-color:rgba(255,194,26,.3);color:var(--mint)}
.alert-danger,.alert-warning{background:rgba(201,164,106,.1);border-color:rgba(201,164,106,.35);color:var(--amber)}
.alert-info{background:var(--teal-2);border-color:var(--line-2);color:var(--bone)}
.label-default{background:var(--teal-2)} .label-success{background:#E8A200} .label-warning{background:#B67816} .label-danger{background:#8a3b2b} .label-info{background:#1f5f73} .label-primary{background:#E8A200}

/* code (API docs) */
pre,code{background:#0F1116;border:1px solid var(--line);color:rgba(255,255,255,.72);font-family:var(--fm);border-radius:14px}
code{border:0;padding:2px 6px}

/* notifications */
#notify-wrapper{border-radius:6px}

/* v2 additions */
.ko,html[lang="ko"] body{word-break:keep-all}
html[lang="ko"] body{font-family:"Pretendard Variable",Pretendard,"Geist",sans-serif;letter-spacing:-.01em}
.table-bordered,.tbl-wrap,.well{border-radius:20px;overflow:hidden}
.pagination>li>a,.pagination>li>span{border-radius:10px!important;margin:0 2px}
.alert{border-radius:16px}
.label,.badge{border-radius:999px}

/* v5 SOVI nav */
html,body{background:#0B0C10}
/* theme nav restyle */
.sx-topnav{position:sticky;top:0;padding:0!important;background:rgba(11,12,16,.86)!important;backdrop-filter:blur(16px) saturate(140%);-webkit-backdrop-filter:blur(16px) saturate(140%);border-bottom:1px solid rgba(255,255,255,.07)!important;pointer-events:auto!important}
.sx-topnav-in{max-width:1200px!important;height:68px!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;padding:0 max(20px,env(safe-area-inset-left,0px))!important;backdrop-filter:none!important}
.sx-brand{font:800 17px/1 'Plus Jakarta Sans',sans-serif!important;letter-spacing:-.01em!important;color:#fff!important;gap:10px!important}
.sx-brand i{width:32px!important;height:32px!important;border-radius:0!important;background:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 100 100%22%3E%3Crect width=%22100%22 height=%22100%22 rx=%2224%22 fill=%22%230F0B1D%22/%3E%3Cg transform=%22translate(10 10) scale(.8)%22%3E%3Cpath d=%22M50 94 C33 94 9 73 8 52 C7.5 40 9 26 12 13 L31 31 L50 6 L69 31 L88 13 C91 26 92.5 40 92 52 C91 73 67 94 50 94 Z%22 fill=%22%23FFBE0B%22 stroke=%22%23FFBE0B%22 stroke-width=%225%22 stroke-linejoin=%22round%22/%3E%3Ccircle cx=%2212%22 cy=%2212%22 r=%226%22 fill=%22%23FFBE0B%22/%3E%3Ccircle cx=%2288%22 cy=%2212%22 r=%226%22 fill=%22%23E08E00%22/%3E%3Cpath d=%22M92 52 C91 73 67 94 50 94 C63 86 80 70 82 52 C83 42 82 32 80 21 L88 13 C91 26 92.5 40 92 52 Z%22 fill=%22%23E08E00%22/%3E%3Cpath d=%22M20 42 C23 35 29 32 36 32%22 stroke=%22%23fff%22 stroke-opacity=%22.45%22 stroke-width=%224.5%22 fill=%22none%22 stroke-linecap=%22round%22/%3E%3Ccircle cx=%2250%22 cy=%226%22 r=%227.5%22 fill=%22%2300F5D4%22/%3E%3Cellipse cx=%2232%22 cy=%2257%22 rx=%2210%22 ry=%2212.5%22 fill=%22%2314111F%22 transform=%22rotate(-8 32 57)%22/%3E%3Cellipse cx=%2268%22 cy=%2257%22 rx=%2210%22 ry=%2212.5%22 fill=%22%2314111F%22 transform=%22rotate(8 68 57)%22/%3E%3Ccircle cx=%2235.5%22 cy=%2252%22 r=%224%22 fill=%22%23fff%22/%3E%3Ccircle cx=%2271.5%22 cy=%2252%22 r=%224%22 fill=%22%23fff%22/%3E%3C/g%3E%3C/svg%3E") center/contain no-repeat!important;box-shadow:none!important}
.sx-menu a{color:rgba(255,255,255,.72)!important;font-weight:600}
.sx-menu a:hover,.sx-menu a.is-active{color:#fff!important;background:rgba(255,255,255,.06)!important}
.sx-lang{background:rgba(255,255,255,.04)!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)!important}
.sx-lang a{color:rgba(255,255,255,.6)!important}.sx-lang a.is-active{background:#FFC21A!important;color:#0B0C10!important;font-weight:700}
.sx-cta{background:#FFC21A!important;color:#0B0C10!important;font-weight:800!important;border-radius:10px!important;box-shadow:none!important}

html[lang^=ko] .sx4-status{font:600 11.5px/1 Pretendard,sans-serif;letter-spacing:.02em}
.sx-brand,.sx-brand:hover{text-decoration:none!important}

/* v6 guest subpages polish */
.well,.panel{background:#13151B!important;border:1px solid rgba(255,255,255,.08)!important;border-radius:16px!important;box-shadow:none!important}
.form-control{background:rgba(255,255,255,.035)!important;border:1px solid rgba(255,255,255,.09)!important;border-radius:10px!important;color:#fff!important;height:46px;box-shadow:none!important}
.form-control:focus{border-color:#FFC21A!important;box-shadow:0 0 0 3px rgba(255,194,26,.14)!important}
.btn-primary{background:#FFC21A!important;border:0!important;color:#0B0C10!important;font-weight:800!important;border-radius:10px!important}
.btn-primary:hover{background:#FFD54A!important}
.table>thead>tr>th{border-bottom:1px solid rgba(255,255,255,.08)!important;color:rgba(255,255,255,.5)}
.table>tbody>tr>td{border-top:1px solid rgba(255,255,255,.06)!important}
