/* ============ RIONE shared stylesheet ============ */
:root{
  --white:#FFFFFF;
  --offwhite:#F7F6F3;
  --steel-bg:#EFF2F3;
  --ink:#181A1E;
  --ink-soft:#5B5F66;
  --ink-faint:#9A9EA4;
  --line:#E7E5E0;
  --line-strong:#D8D5CE;
  --navy:#232C36;
  --navy-2:#2E3947;
  --brass:#B4903E;
  --brass-bright:#C9A24F;
  --brass-bg:rgba(180,144,62,0.09);
  --font-body:'Pretendard Variable', Pretendard, -apple-system, BlinkMacSystemFont, 'Malgun Gothic', sans-serif;
  --container:1160px;
  --pad: clamp(24px, 6vw, 88px);
}

*{box-sizing:border-box;}
html, body{height:100%;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:var(--font-body);
  background:var(--white);
  color:var(--ink);
  -webkit-font-smoothing:antialiased;
  line-height:1.65;
  word-break:keep-all;
  overflow-wrap:break-word;
  display:flex;
  flex-direction:column;
  min-height:100vh;
}
h1,h2,h3{
  font-family:var(--font-body);
  margin:0;
  font-weight:800;
  letter-spacing:-0.02em;
}
p{margin:0;}
a{color:inherit;text-decoration:none;}
ul{list-style:none;margin:0;padding:0;}
img{max-width:100%;display:block;}
.container{max-width:var(--container); margin:0 auto; padding-left:var(--pad); padding-right:var(--pad);}
.container-wide{max-width:1360px;}

@media (prefers-reduced-motion: reduce){
  *{animation-duration:0.01ms !important; animation-iteration-count:1 !important; transition-duration:0.01ms !important; scroll-behavior:auto !important;}
}
:focus-visible{outline:2px solid var(--brass-bright); outline-offset:3px;}

/* ---------- Header ---------- */
.site-header{
  position:sticky; top:0; left:0; right:0; z-index:100;
  display:flex; align-items:center; justify-content:space-between;
  padding:20px var(--pad);
  background:rgba(255,255,255,0.92);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
.brand{display:flex; align-items:center; gap:12px;}
.brand-mark-full{height:54px; width:auto; display:block;}
.brand-mark-icon{width:34px; height:34px; flex-shrink:0;}
.brand-text{display:flex; flex-direction:column; line-height:1.15;}
.brand-en{font-weight:800; font-size:17px; letter-spacing:0.06em; color:var(--ink);}
.brand-kr{font-size:11px; color:var(--ink-soft); letter-spacing:0.02em;}

.site-header nav{display:flex; gap:36px;}
.site-header nav a{
  font-size:14.5px; font-weight:600; color:var(--ink-soft);
  padding-bottom:4px; border-bottom:2px solid transparent;
  transition:color .2s ease, border-color .2s ease;
}
.site-header nav a:hover{color:var(--ink);}
.site-header nav a.active{color:var(--ink); border-color:var(--brass);}

.header-right{display:flex; align-items:center; gap:20px;}
.lang-switch{
  display:flex; align-items:center; gap:2px;
  background:var(--offwhite); border:1px solid var(--line-strong); border-radius:100px;
  padding:4px;
}
.lang-option{
  font-family:var(--font-body); font-size:12px; font-weight:700;
  letter-spacing:0.03em;
  background:transparent; color:var(--ink-faint);
  border:none; border-radius:100px;
  padding:7px 15px; cursor:pointer;
  transition:background .2s ease, color .2s ease;
}
.lang-option:hover{color:var(--ink);}
.lang-option.active{background:var(--navy); color:#fff;}
.lang-option.active:hover{color:#fff;}

@media (max-width:820px){
  .site-header nav{display:none;}
}

/* ---------- Section shared ---------- */
section{padding:104px var(--pad);}
.section-label{
  font-size:12px; font-weight:800; letter-spacing:0.18em; text-transform:uppercase;
  color:var(--brass);
  margin-bottom:16px;
}
.section-head{max-width:700px; margin-bottom:52px;}
.section-head h2{font-size:clamp(32px, 4vw, 46px); margin-bottom:16px;}
.section-head p{color:var(--ink-soft); font-size:18px; line-height:1.85;}

/* ---------- Footer ---------- */
footer{
  background:var(--navy); color:rgba(255,255,255,0.6);
  padding:40px var(--pad);
  font-size:12.5px;
  display:flex; flex-direction:column; gap:6px;
  margin-top:auto;
}
footer .footer-brand{
  color:#fff; font-weight:800; letter-spacing:0.05em; font-size:14px;
  margin-bottom:8px;
}

/* ---------- Buttons / links ---------- */
.btn{
  display:inline-flex; align-items:center; gap:10px;
  font-size:14px; font-weight:700;
  padding:13px 26px; border-radius:100px;
  background:var(--navy); color:#fff;
  transition:background .2s ease, transform .2s ease;
}
.btn:hover{background:var(--navy-2); transform:translateY(-1px);}
.btn-outline{
  background:transparent; color:var(--ink); border:1px solid var(--line-strong);
}
.btn-outline:hover{border-color:var(--brass); color:var(--brass); background:transparent;}

/* ---------- Hero (home) ---------- */
.home-hero{
  position:relative; min-height:100vh;
  display:flex; align-items:flex-start;
  overflow:hidden;
  background-image:
    linear-gradient(180deg, rgba(10,14,20,0.2) 0%, rgba(10,14,20,0.28) 55%, rgba(10,14,20,0.38) 100%),
    url('https://images.unsplash.com/photo-1486406146926-c627a92ad1ab?fm=jpg&q=80&w=2400&fit=crop');
  background-size:cover;
  background-position:center;
}
.home-hero-content{
  position:relative; z-index:2; width:100%;
  padding-top:clamp(120px, 22vh, 200px);
  padding-left:max(8px, calc(var(--pad) - 130px));
}
.home-hero .eyebrow{
  font-size:16px; font-weight:800; letter-spacing:0.22em; text-transform:uppercase;
  color:var(--brass-bright); margin-bottom:22px;
  text-shadow:0 2px 14px rgba(0,0,0,0.35);
}
.home-hero h1{
  font-size:clamp(46px, 7.4vw, 84px);
  line-height:1.2;
  color:#FFFFFF;
  max-width:17ch;
  text-shadow:0 4px 24px rgba(0,0,0,0.35);
}
.home-hero .hero-sub{
  margin-top:28px; font-size:25px; color:rgba(255,255,255,0.9); max-width:52ch; line-height:1.8;
  text-shadow:0 2px 16px rgba(0,0,0,0.3);
}

/* ---------- About page ---------- */
.about-hero{
  min-height:82vh;
  max-width:var(--container); margin:0 auto;
  padding-left:max(16px, calc(var(--pad) - 40px)); padding-right:var(--pad);
  padding-top:112px; padding-bottom:56px;
  display:grid; grid-template-columns:1.4fr 0.6fr; gap:32px; align-items:center;
}
.about-hero h1{font-size:clamp(38px, 5.8vw, 66px); line-height:1.3; margin-bottom:8px; white-space:normal;}
.about-lede{
  margin-top:32px;
  padding-left:26px;
  border-left:2px solid var(--brass);
  font-size:23px;
  line-height:1.85;
  color:var(--ink-soft);
  max-width:640px;
  font-weight:500;
}
.about-mark{
  display:flex; flex-direction:column; align-items:center; justify-content:center;
}
.about-mark img{width:100%; max-width:430px;}
@media (max-width:900px){
  .about-hero{grid-template-columns:1fr; padding-top:100px; min-height:auto; gap:48px; padding-left:var(--pad);}
  .about-mark{order:-1;}
}

/* ---------- Business cards ---------- */
.biz-grid{
  display:grid; grid-template-columns:repeat(3, 1fr); gap:1px;
  background:var(--line); border:1px solid var(--line);
}
.biz-card{
  background:var(--white); padding:64px 36px; display:flex; flex-direction:column; gap:26px;
  position:relative;
}
.biz-card::before{
  content:''; position:absolute; top:0; left:0; right:0; height:3px;
  background:var(--brass);
}
.biz-icon-badge{
  width:92px; height:92px; border-radius:50%;
  background:var(--navy);
  display:flex; align-items:center; justify-content:center;
  flex-shrink:0;
}
.biz-icon{width:44px; height:44px; color:var(--brass-bright);}
.biz-card h3{font-size:29px;}
.biz-card p{color:var(--ink-soft); font-size:18.5px; line-height:1.85;}
.biz-affiliate{
  padding-top:14px;
  border-top:1px solid var(--line);
  font-size:13.5px; color:var(--ink-faint); letter-spacing:0.01em;
}
.biz-affiliate a{color:var(--brass); font-weight:700; border-bottom:1px solid transparent;}
.biz-affiliate a:hover{border-color:var(--brass);}
@media (max-width:860px){ .biz-grid{grid-template-columns:1fr;} }

/* ---------- Location tabs ---------- */
.loc-tabs{display:flex; gap:10px; margin-bottom:48px; flex-wrap:wrap;}
.loc-tab{
  font-size:13.5px; font-weight:700; padding:10px 20px; border-radius:100px;
  background:var(--offwhite); color:var(--ink-soft); cursor:pointer;
  border:1px solid var(--line-strong);
  transition:all .2s ease;
}
.loc-tab.active{background:var(--navy); color:#fff; border-color:var(--navy);}
.loc-panel{display:none; grid-template-columns:1fr 1fr; gap:1px; background:var(--line); border:1px solid var(--line);}
.loc-panel.active{display:grid;}
.loc-info{background:var(--white); padding:40px 36px;}
.loc-info .loc-name{font-size:22px; font-weight:800; margin-bottom:6px;}
.loc-info .loc-role{font-size:13px; color:var(--brass); font-weight:700; margin-bottom:22px;}
.loc-info .loc-desc-line{font-size:14px; color:var(--ink-soft); line-height:1.7; margin:-12px 0 22px;}
.loc-info dl{display:flex; flex-direction:column; gap:14px;}
.loc-info .row{display:flex; flex-direction:column; gap:4px;}
.loc-info dt{font-size:12px; color:var(--ink-faint); letter-spacing:0.05em; text-transform:uppercase;}
.loc-info dd{margin:0; font-size:15px; color:var(--ink);}
.loc-visual{background:var(--steel-bg); position:relative; overflow:hidden; min-height:280px;}
.loc-visual iframe{position:absolute; inset:0; width:100%; height:100%; border:0; display:block;}
.loc-visual svg{width:70px; height:70px; color:var(--navy); opacity:0.5;}
.placeholder-note{
  display:inline-block; margin-top:10px; font-size:12px; color:var(--brass);
  background:var(--brass-bg); padding:4px 10px; border-radius:6px;
}
@media (max-width:760px){ .loc-panel{grid-template-columns:1fr;} }

/* ---------- Careers page ---------- */
.career-hero{
  position:relative; min-height:clamp(200px, 28vh, 320px);
  display:flex; align-items:center;
  overflow:hidden;
  background-image:
    linear-gradient(180deg, rgba(10,14,20,0.42) 0%, rgba(10,14,20,0.55) 100%),
    url('https://images.unsplash.com/photo-1746021535490-cd4d7fe7ab2a?fm=jpg&q=80&w=2400&fit=crop');
  background-size:cover;
  background-position:center 30%;
  margin-top:0;
}
.career-hero .container{}
.career-hero h1{
  font-size:clamp(30px, 4.2vw, 48px); color:#fff; font-weight:800;
  text-shadow:0 3px 18px rgba(0,0,0,0.35);
}

.talent-head{text-align:center; max-width:640px; margin:0 auto 56px;}
.talent-head .section-label{justify-content:center;}
.talent-head h2{font-size:clamp(28px, 3.4vw, 38px); margin-top:4px;}
.talent-head .rule{width:48px; height:2px; background:var(--brass); margin:20px auto 0;}

.tie-banner{
  position:relative; overflow:hidden;
  border-radius:2px;
  min-height:340px;
  display:flex; align-items:center; justify-content:center;
  text-align:center;
  background-image:
    linear-gradient(180deg, rgba(10,12,16,0.72) 0%, rgba(10,12,16,0.8) 100%),
    url('https://images.unsplash.com/photo-1759310610325-2c7cb621e5e3?fm=jpg&q=80&w=2000&fit=crop');
  background-size:cover;
  background-position:center;
  padding:56px 32px;
}
.tie-banner .tie-title{
  font-size:clamp(34px, 4.6vw, 52px); font-weight:800; letter-spacing:0.08em;
  color:#fff; margin-bottom:22px;
}
.tie-banner p{color:rgba(255,255,255,0.82); font-size:16px; line-height:1.8; max-width:640px; margin:0 auto;}
.tie-banner p.tie-strong{color:#fff; font-weight:700; font-size:18px; margin-top:6px;}

.tie-grid{
  display:grid; grid-template-columns:repeat(3,1fr); gap:1px;
  background:var(--line); border:1px solid var(--line);
  margin-top:1px;
}
.tie-card{
  position:relative; background:var(--white);
  padding:56px 36px 44px;
  text-align:center;
  overflow:hidden;
}
.tie-card .tie-bigletter{
  position:absolute; left:50%; top:-0.15em; transform:translateX(-50%);
  font-size:220px; font-weight:800; color:var(--offwhite);
  z-index:0; line-height:1; user-select:none; pointer-events:none;
}
.tie-card > *{position:relative; z-index:1;}
.tie-icon-badge{
  width:76px; height:76px; border-radius:50%;
  background:var(--navy); margin:0 auto 24px;
  display:flex; align-items:center; justify-content:center;
}
.tie-icon-badge svg{width:34px; height:34px; color:var(--brass-bright);}
.tie-card .tie-word{font-size:22px; font-weight:800; color:var(--ink); margin-bottom:4px;}
.tie-card .tie-en{font-size:12px; font-weight:700; letter-spacing:0.14em; color:var(--brass); text-transform:uppercase;}
.tie-card p{margin-top:16px; color:var(--ink-soft); font-size:15px; line-height:1.75;}
@media (max-width:860px){ .tie-grid{grid-template-columns:1fr;} .tie-card .tie-bigletter{font-size:160px;} }

.career-cta{
  text-align:center; background:var(--offwhite);
}
.career-cta p{font-size:17px; color:var(--ink-soft); margin-bottom:22px;}

/* ---------- Contact page ---------- */
.contact-grid{
  display:grid; grid-template-columns:repeat(3, 1fr); gap:1px;
  background:var(--line); border:1px solid var(--line);
}
.contact-item{background:var(--white); padding:36px;}
.ci-label{ display:block; font-size:12px; letter-spacing:0.1em; text-transform:uppercase; color:var(--ink-faint); margin-bottom:10px; }
.ci-value{display:block; font-size:17px; font-weight:700; color:var(--ink);}
.ci-value a{color:inherit; border-bottom:1px solid var(--line-strong);}
.ci-value a:hover{border-color:var(--brass); color:var(--brass);}
@media (max-width:900px){ .contact-grid{grid-template-columns:1fr;} }
