/* ============================================================
   법률사무소 파운더스 · 필리핀 데스크
   공통 스타일시트
   ============================================================ */

:root{
  --ink:#0B1B33;
  --ink-deep:#060F1E;
  --ink-soft:#16294A;
  --slate:#44536E;
  --mute:#7E8CA1;
  --white:#FFFFFF;
  --line:#E3E6EB;
  --line-2:#F0F2F5;
  --wash:#F7F8FA;
  --gold:#BE9A3E;
  --gold-ink:#8A6B1C;
  --gold-soft:#D8BC77;
  --alert:#B32430;
  --brand:#0099D8;
  --line-dark:rgba(255,255,255,.16);
  --display:"Pretendard Variable",Pretendard,"Noto Sans KR",-apple-system,BlinkMacSystemFont,system-ui,sans-serif;
  --sans:"Pretendard Variable",Pretendard,"Noto Sans KR",-apple-system,BlinkMacSystemFont,system-ui,sans-serif;
  --gut:clamp(20px,5vw,86px);
  --navh:72px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;background:var(--white);color:var(--ink);
  font-family:var(--sans);font-weight:400;font-size:16px;line-height:1.75;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
  word-break:keep-all;overflow-wrap:break-word;
}
body.locked{overflow:hidden;}
img,video{display:block;max-width:100%;}
a{color:inherit;text-decoration:none;}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit;}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;}
h1,h2,h3,h4{font-family:var(--display);font-weight:700;margin:0;letter-spacing:-.035em;line-height:1.32;}
p{margin:0;}
ul,ol{margin:0;padding:0;list-style:none;}

/* ---------- 공통 요소 ---------- */
.wrap{max-width:1320px;margin:0 auto;padding-left:var(--gut);padding-right:var(--gut);}
.narrow{max-width:900px;}
.seclabel{
  font-size:12.5px;font-weight:700;letter-spacing:.14em;color:var(--gold-ink);
  display:flex;align-items:center;gap:12px;margin-bottom:20px;
}
.seclabel::before{content:"";width:32px;height:1px;background:var(--gold);}
.h-sec{font-size:clamp(26px,3.4vw,40px);font-weight:700;letter-spacing:-.04em;line-height:1.28;}
.lede{margin-top:18px;max-width:60ch;color:var(--slate);font-size:clamp(14.5px,1.25vw,16px);line-height:1.8;}
.btn{display:inline-flex;align-items:center;gap:10px;padding:15px 28px;font-size:14.5px;font-weight:600;transition:.25s;}
.btn-gold{background:var(--gold);color:var(--ink-deep);}
.btn-gold:hover{background:var(--gold-soft);}
.btn-ink{background:var(--ink);color:#fff;}
.btn-ink:hover{background:var(--ink-soft);}
.btn-ghost{border:1px solid rgba(255,255,255,.38);color:#fff;}
.btn-ghost:hover{background:rgba(255,255,255,.12);border-color:#fff;}
.btn-line{border:1px solid var(--line);color:var(--ink);}
.btn-line:hover{border-color:var(--ink);}

/* 링크형 더보기 */
.more{
  display:inline-flex;align-items:center;gap:10px;font-size:14px;font-weight:600;
  color:var(--ink);padding-bottom:4px;border-bottom:1px solid var(--gold);transition:gap .25s;
}
.more:hover{gap:16px;}

/* ---------- 스크롤 등장 ---------- */
.rv{opacity:0;transform:translateY(20px);}
.rv.in{opacity:1;transform:none;transition:opacity .75s ease,transform .75s cubic-bezier(.2,.7,.2,1);}

/* ---------- 언어 선택 ---------- */
#langGate{
  position:fixed;inset:0;z-index:200;background:rgba(6,15,30,.72);
  display:flex;align-items:center;justify-content:center;padding:24px;backdrop-filter:blur(3px);
}
#langGate.hide{display:none;}
.gate-card{
  width:min(500px,100%);background:var(--white);padding:clamp(30px,5vw,50px);text-align:center;
  box-shadow:0 40px 120px rgba(0,0,0,.45);animation:gateIn .45s cubic-bezier(.2,.7,.3,1) both;
}
@keyframes gateIn{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:none;}}
.gate-logo{height:40px;width:auto;margin:0 auto;}
.gate-rule{width:36px;height:1px;background:var(--gold);margin:20px auto 24px;}
.gate-card h2{font-size:clamp(20px,2.8vw,24px);}
.gate-sub{margin-top:12px;font-size:13.5px;color:var(--mute);line-height:1.9;}
.gate-opts{display:grid;gap:10px;margin-top:28px;}
.gate-opts button{
  border:1px solid var(--line);padding:16px 20px;text-align:left;
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  transition:background .2s,border-color .2s,transform .2s,color .2s;
}
.gate-opts button:hover{background:var(--ink);border-color:var(--ink);color:#fff;transform:translateX(4px);}
.gate-opts b{font-size:18px;font-weight:700;letter-spacing:-.025em;}
.gate-opts span{font-size:12.5px;color:var(--mute);letter-spacing:.06em;}
.gate-opts button:hover span{color:var(--gold-soft);}

/* ---------- 내비게이션 ---------- */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:120;display:flex;align-items:center;gap:26px;
  padding:18px var(--gut);transition:background .35s,padding .35s,box-shadow .35s;
  background:var(--ink);
}
body[data-page="home"] .nav{background:transparent;}
body[data-page="home"] .nav.solid{background:rgba(11,27,51,.96);padding-top:11px;padding-bottom:11px;box-shadow:0 1px 0 rgba(255,255,255,.09);}
.brand{display:flex;align-items:flex-end;gap:12px;color:#fff;white-space:nowrap;}
.brand-logo{height:34px;width:auto;}
.brand-sub{font-size:10.5px;letter-spacing:.18em;color:var(--gold-soft);font-weight:600;padding-bottom:2px;}
.nav-links{display:flex;gap:28px;margin-left:auto;}
.nav-links a{color:rgba(255,255,255,.86);font-size:14.5px;font-weight:500;letter-spacing:-.02em;position:relative;padding:5px 0;}
.nav-links a::after{content:"";position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--gold);transition:width .3s;}
.nav-links a:hover::after,.nav-links a.on::after{width:100%;}
.nav-links a.on{color:#fff;font-weight:700;}
.langsw{display:flex;align-items:center;gap:2px;border:1px solid rgba(255,255,255,.24);padding:3px;}
.langsw button{color:rgba(255,255,255,.7);font-size:11.5px;font-weight:700;letter-spacing:.08em;padding:5px 10px;transition:.2s;}
.langsw button.on{background:var(--gold);color:var(--ink-deep);}
.langsw button:not(.on):hover{color:#fff;}
.nav-tel{display:flex;align-items:center;gap:9px;background:var(--alert);color:#fff;padding:10px 18px;font-size:14px;font-weight:700;white-space:nowrap;transition:filter .25s;}
.nav-tel:hover{filter:brightness(1.12);}
.nav-tel small{font-size:10.5px;font-weight:500;opacity:.85;letter-spacing:.05em;}
.burger{display:none;width:34px;height:24px;position:relative;}
.burger i{position:absolute;left:0;right:0;height:1.5px;background:#fff;transition:.3s;}
.burger i:nth-child(1){top:3px;}.burger i:nth-child(2){top:11px;}.burger i:nth-child(3){top:19px;}
.burger.x i:nth-child(1){top:11px;transform:rotate(45deg);}
.burger.x i:nth-child(2){opacity:0;}
.burger.x i:nth-child(3){top:11px;transform:rotate(-45deg);}

/* ---------- 홈 히어로 ---------- */
.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;overflow:hidden;background:var(--ink-deep);}
.hero video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.hero .scrim{
  position:absolute;inset:0;
  background:
    linear-gradient(100deg,rgba(6,15,30,.86) 0%,rgba(6,15,30,.58) 34%,rgba(6,15,30,.12) 62%,rgba(6,15,30,.24) 100%),
    linear-gradient(0deg,rgba(6,15,30,.82) 0%,rgba(6,15,30,.34) 34%,rgba(6,15,30,0) 64%);
}
.hero-in{position:relative;width:100%;max-width:1320px;margin:0 auto;padding:0 var(--gut) clamp(70px,11vh,120px);}
.hero-rule{width:0;height:1px;background:var(--gold);margin-bottom:26px;animation:ruleIn 1.5s .5s cubic-bezier(.2,.7,.2,1) forwards;}
@keyframes ruleIn{to{width:96px;}}
.hero h1{
  text-shadow:0 2px 26px rgba(6,15,30,.45);color:#fff;
  font-size:clamp(28px,4vw,52px);font-weight:700;line-height:1.35;letter-spacing:-.045em;max-width:min(19em,100%);
}
.hero p{text-shadow:0 1px 18px rgba(6,15,30,.5);margin-top:24px;max-width:54ch;color:rgba(255,255,255,.82);font-size:clamp(14.5px,1.25vw,16px);line-height:1.8;}
.hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:36px;}
.hero-fade{opacity:0;transform:translateY(16px);animation:heroUp 1s cubic-bezier(.2,.7,.2,1) forwards;}
.hero-fade.d1{animation-delay:.15s;}.hero-fade.d2{animation-delay:.35s;}.hero-fade.d3{animation-delay:.55s;}
@keyframes heroUp{to{opacity:1;transform:none;}}
.scrollcue{
  position:absolute;left:50%;bottom:26px;transform:translateX(-50%);
  color:rgba(255,255,255,.6);font-size:11px;letter-spacing:.16em;font-weight:600;
  display:grid;justify-items:center;gap:8px;
}
.scrollcue i{display:block;width:1px;height:34px;background:linear-gradient(180deg,rgba(255,255,255,.7),rgba(255,255,255,0));}

/* ---------- 서브페이지 헤더 ---------- */
.phead{background:var(--ink);color:#fff;padding:calc(var(--navh) + clamp(54px,7vw,88px)) 0 clamp(46px,6vw,74px);}
.phead .seclabel{color:var(--gold-soft);}
.phead .seclabel::before{background:var(--gold-soft);}
.phead h1{font-size:clamp(28px,3.8vw,44px);color:#fff;}
.phead p{margin-top:18px;max-width:58ch;color:rgba(255,255,255,.74);font-size:clamp(14.5px,1.25vw,16px);line-height:1.8;}

/* ---------- 섹션 (흰 배경) ---------- */
.sec{padding:clamp(64px,8vw,110px) 0;background:var(--white);}
.sec + .sec{border-top:1px solid var(--line-2);}
.sec-wash{background:var(--wash);}
.sec-head{display:flex;flex-wrap:wrap;gap:18px 40px;align-items:flex-end;justify-content:space-between;}

/* ---------- 변호인단 ---------- */
.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2vw,30px);margin-top:clamp(34px,4.5vw,52px);}
.member{text-align:left;display:block;width:100%;}
.member-ph{position:relative;overflow:hidden;background:var(--wash);aspect-ratio:4/5;}
.member-ph img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1);}
.member:hover .member-ph img{transform:scale(1.045);}
.member-ph::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(11,27,51,.72),rgba(11,27,51,0) 42%);opacity:0;transition:opacity .4s;}
.member:hover .member-ph::after{opacity:1;}
.member-more{position:absolute;left:20px;bottom:18px;color:#fff;font-size:13px;font-weight:600;opacity:0;transform:translateY(8px);transition:.4s;display:flex;align-items:center;gap:8px;}
.member-more::before{content:"";width:18px;height:1px;background:var(--gold-soft);}
.member:hover .member-more{opacity:1;transform:none;}
.member-nm{display:flex;align-items:baseline;gap:10px;margin-top:18px;}
.member-nm b{font-size:21px;font-weight:700;letter-spacing:-.035em;}
.member-nm i{font-style:normal;font-size:12.5px;color:var(--gold-ink);font-weight:700;letter-spacing:.04em;}
.member-role{font-size:13.5px;color:var(--mute);margin-top:4px;font-weight:500;}
.member-tag{font-size:14px;color:var(--slate);margin-top:11px;line-height:1.75;}

#memGate{position:fixed;inset:0;z-index:190;background:rgba(6,15,30,.84);display:none;align-items:center;justify-content:center;padding:clamp(14px,4vw,40px);backdrop-filter:blur(4px);}
#memGate.on{display:flex;}
.mem-card{width:min(880px,100%);max-height:88svh;overflow:auto;background:var(--white);display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);animation:gateIn .4s cubic-bezier(.2,.7,.3,1) both;position:relative;}
.mem-card img{width:100%;height:100%;object-fit:cover;min-height:340px;}
.mem-body{padding:clamp(26px,3.4vw,44px);}
.mem-close{position:absolute;top:12px;right:14px;width:38px;height:38px;font-size:23px;line-height:1;z-index:2;}
.mem-body h3{font-size:clamp(23px,3vw,29px);}
.mem-body .role{color:var(--gold-ink);font-size:13.5px;font-weight:700;margin-top:7px;letter-spacing:.04em;}
.mem-body .tag{margin-top:16px;color:var(--slate);font-size:14.5px;line-height:1.8;padding-bottom:20px;border-bottom:1px solid var(--line);}
.mem-body ul{margin-top:20px;display:grid;gap:9px;}
.mem-body li{font-size:14px;color:var(--slate);line-height:1.7;padding-left:16px;position:relative;}
.mem-body li::before{content:"";position:absolute;left:0;top:11px;width:5px;height:1px;background:var(--gold);}

/* ---------- 업무분야 ---------- */
.pr-body{display:grid;grid-template-columns:minmax(0,290px) minmax(0,1fr);gap:clamp(24px,3.5vw,56px);margin-top:clamp(34px,4.5vw,52px);}
.pr-tabs{display:grid;gap:0;align-content:start;align-self:start;border-top:1px solid var(--line);}
.pr-tabs button{
  text-align:left;padding:18px 18px 18px 22px;position:relative;border-bottom:1px solid var(--line);
  color:var(--slate);font-size:15px;font-weight:500;letter-spacing:-.025em;transition:color .3s,background .3s;
}
.pr-tabs button::before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--gold);transform:scaleY(0);transform-origin:top;transition:transform .35s cubic-bezier(.2,.7,.2,1);}
.pr-tabs button:hover{color:var(--ink);}
.pr-tabs button.on{color:var(--ink);background:var(--wash);font-weight:700;}
.pr-tabs button.on::before{transform:scaleY(1);}
.pr-panel{border:1px solid var(--line);padding:clamp(26px,3.4vw,46px);min-height:340px;}
.pr-panel h3{font-size:clamp(22px,2.5vw,29px);}
.pr-panel .en{font-size:12.5px;letter-spacing:.09em;color:var(--gold-ink);margin-top:9px;font-weight:700;}
.pr-panel .desc{margin-top:20px;color:var(--slate);font-size:15px;line-height:1.85;max-width:56ch;}
.pr-list{margin-top:26px;padding-top:24px;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(2,1fr);gap:11px 30px;}
.pr-list li{font-size:14.5px;color:var(--slate);padding-left:17px;position:relative;line-height:1.65;}
.pr-list li::before{content:"";position:absolute;left:0;top:11px;width:6px;height:1px;background:var(--gold);}
.pr-fade{animation:panelIn .4s ease both;}
@keyframes panelIn{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:none;}}

/* 홈: 업무분야 카드 */
.area-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:clamp(34px,4.5vw,52px);}
.area-card{background:var(--white);padding:clamp(24px,2.8vw,34px);text-align:left;display:block;transition:background .3s;}
.area-card:hover{background:var(--wash);}
.area-card h3{font-size:19px;letter-spacing:-.035em;}
.area-card .en{font-size:11.5px;letter-spacing:.08em;color:var(--gold-ink);font-weight:700;margin-top:8px;}
.area-card p{margin-top:14px;font-size:14px;color:var(--slate);line-height:1.75;}

/* ---------- 체크리스트 · 절차 ---------- */
.check-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(20px,3vw,36px);margin-top:clamp(34px,4.5vw,50px);}
.check-card{border:1px solid var(--line);border-top:2px solid var(--gold);padding:clamp(24px,2.8vw,38px);}
.check-card h3{font-size:20px;}
.check-card p{font-size:14px;color:var(--mute);margin-top:9px;line-height:1.75;}
.check-card ul{margin-top:22px;display:grid;gap:12px;}
.check-card li{position:relative;padding-left:26px;font-size:14.5px;color:var(--slate);line-height:1.7;}
.check-card li::before{content:"";position:absolute;left:0;top:8px;width:9px;height:9px;border:1px solid var(--gold);}

.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:clamp(34px,4.5vw,50px);}
.step{background:var(--white);padding:clamp(24px,2.6vw,32px) clamp(16px,1.7vw,22px);}
.step b{font-size:12px;color:var(--gold-ink);font-weight:700;letter-spacing:.12em;}
.step h4{font-size:17px;margin-top:14px;}
.step p{font-size:13.5px;color:var(--slate);margin-top:10px;line-height:1.75;}

/* ---------- 법률가이드 ---------- */
.g-filter{display:flex;flex-wrap:wrap;gap:8px;margin-top:clamp(30px,4vw,44px);}
.g-filter button{border:1px solid var(--line);padding:9px 18px;font-size:13.5px;font-weight:500;color:var(--slate);transition:.25s;}
.g-filter button:hover{border-color:var(--ink);color:var(--ink);}
.g-filter button.on{background:var(--ink);border-color:var(--ink);color:#fff;font-weight:700;}
.g-list{margin-top:clamp(26px,3.4vw,40px);border-top:1px solid var(--line);}
.g-item{display:block;padding:clamp(24px,2.8vw,34px) 0;border-bottom:1px solid var(--line);transition:background .25s;}
.g-item:hover{background:var(--wash);}
.g-meta{display:flex;flex-wrap:wrap;align-items:center;gap:14px;font-size:12.5px;color:var(--mute);}
.g-cat{color:var(--gold-ink);font-weight:700;letter-spacing:.05em;}
.g-item h3{font-size:clamp(19px,2vw,23px);margin-top:10px;}
.g-item p{margin-top:10px;font-size:14.5px;color:var(--slate);line-height:1.75;max-width:70ch;}
.g-empty{margin-top:40px;padding:40px;border:1px solid var(--line);text-align:center;color:var(--mute);font-size:14.5px;}

.g-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:clamp(34px,4.5vw,52px);}
.g-card{background:var(--white);padding:clamp(24px,2.8vw,32px);display:block;transition:background .3s;}
.g-card:hover{background:var(--wash);}
.g-card h3{font-size:18px;margin-top:12px;line-height:1.45;}
.g-card p{margin-top:12px;font-size:13.5px;color:var(--slate);line-height:1.7;}

/* 가이드 본문 */
.g-article{padding:clamp(46px,6vw,80px) 0 clamp(64px,8vw,100px);}
.g-article .body{max-width:74ch;margin-top:clamp(30px,4vw,44px);}
.g-article .body h2{font-size:clamp(20px,2.2vw,25px);margin:44px 0 16px;padding-top:26px;border-top:1px solid var(--line);}
.g-article .body h3{font-size:clamp(17px,1.9vw,20px);margin:32px 0 12px;}
.g-article .body p{margin:0 0 18px;font-size:16px;line-height:1.95;color:#26334A;}
.g-article .body ul{margin:0 0 22px;display:grid;gap:10px;}
.g-article .body li{position:relative;padding-left:18px;font-size:15.5px;line-height:1.8;color:#26334A;}
.g-article .body li::before{content:"";position:absolute;left:0;top:13px;width:7px;height:1px;background:var(--gold);}
.g-article .body blockquote{margin:0 0 22px;padding:20px 24px;background:var(--wash);border-left:2px solid var(--gold);font-size:15px;line-height:1.85;color:var(--slate);}
.g-article .body strong{font-weight:700;color:var(--ink);}
.g-back{margin-top:clamp(40px,5vw,60px);padding-top:26px;border-top:1px solid var(--line);}
.g-cta{margin-top:clamp(40px,5vw,58px);background:var(--ink);color:#fff;padding:clamp(28px,3.4vw,42px);}
.g-cta h3{color:#fff;font-size:clamp(19px,2vw,23px);}
.g-cta p{margin-top:12px;color:rgba(255,255,255,.74);font-size:14.5px;line-height:1.8;max-width:52ch;}
.g-cta .row{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px;}

/* ---------- 상담 문의 ---------- */
.ct-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(30px,5vw,70px);margin-top:clamp(34px,4.5vw,50px);}
.ct-rows{display:grid;border-top:1px solid var(--line);}
.ct-row{display:grid;grid-template-columns:120px 1fr;gap:16px;padding:18px 2px;align-items:baseline;border-bottom:1px solid var(--line);}
.ct-row dt{font-size:12.5px;color:var(--gold-ink);letter-spacing:.07em;font-weight:700;}
.ct-row dd{margin:0;font-size:15px;color:var(--slate);line-height:1.75;}
.ct-row dd a:hover{color:var(--ink);}
.ct-side{background:var(--ink);color:#fff;padding:clamp(28px,3.4vw,44px);align-self:start;}
.ct-side h3{font-size:clamp(20px,2.3vw,25px);color:#fff;}
.ct-side p{margin-top:16px;color:rgba(255,255,255,.74);font-size:14.5px;line-height:1.8;}
.ct-btns{display:grid;gap:10px;margin-top:26px;}
.ct-btns a{display:flex;align-items:center;justify-content:space-between;padding:15px 20px;font-size:14.5px;font-weight:600;transition:.25s;}
.ct-btns .p{background:var(--alert);color:#fff;}
.ct-btns .p:hover{filter:brightness(1.14);}
.ct-btns .s{border:1px solid rgba(255,255,255,.3);color:#fff;}
.ct-btns .s:hover{background:rgba(255,255,255,.1);border-color:#fff;}
.ct-btns em{font-style:normal;opacity:.62;font-size:12px;letter-spacing:.04em;}

/* 홈 하단 상담 배너 */
.cta-band{background:var(--ink);color:#fff;padding:clamp(54px,7vw,90px) 0;}
.cta-band h2{color:#fff;font-size:clamp(24px,3vw,36px);}
.cta-band p{margin-top:16px;color:rgba(255,255,255,.74);font-size:15px;line-height:1.8;max-width:52ch;}
.cta-band .row{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px;}

/* ---------- 푸터 ---------- */
.foot{background:var(--white);border-top:1px solid var(--line);padding:clamp(42px,5vw,64px) 0 clamp(34px,4vw,48px);}
.foot-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:clamp(28px,4vw,60px);}
.foot-logo{height:30px;width:auto;}
.foot-info{margin-top:16px;font-size:13px;color:var(--slate);line-height:1.95;}
.foot-nav{display:flex;flex-wrap:wrap;gap:12px 26px;}
.foot-nav a{font-size:13.5px;color:var(--slate);font-weight:500;}
.foot-nav a:hover{color:var(--ink);}
.foot-note{margin-top:clamp(30px,4vw,46px);padding-top:22px;border-top:1px solid var(--line-2);font-size:12.5px;color:var(--mute);line-height:1.9;max-width:78ch;}

/* ---------- 퀵바 ---------- */
.rail{position:fixed;right:0;top:50%;transform:translateY(-50%);z-index:110;display:grid;gap:1px;background:rgba(255,255,255,.14);}
.rail a{background:var(--ink);color:#fff;width:84px;padding:15px 6px;text-align:center;font-size:11.5px;line-height:1.4;transition:background .25s;display:grid;gap:6px;justify-items:center;}
.rail a:hover{background:var(--gold);color:var(--ink-deep);}
.rail a.alert{background:var(--alert);}
.rail a.alert:hover{background:var(--gold);color:var(--ink-deep);}
.rail svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.4;}
.rail b{font-weight:700;font-size:12px;}

/* ---------- 작성 도구 (내부용) ---------- */
.wr-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,3vw,44px);margin-top:34px;align-items:start;}
.wr-field{margin-bottom:18px;}
.wr-field label{display:block;font-size:12.5px;font-weight:700;letter-spacing:.06em;color:var(--gold-ink);margin-bottom:8px;}
.wr-field input,.wr-field select,.wr-field textarea{
  width:100%;border:1px solid var(--line);padding:12px 14px;font-family:var(--sans);
  font-size:14.5px;color:var(--ink);background:var(--white);line-height:1.7;
}
.wr-field textarea{min-height:360px;resize:vertical;font-size:14px;}
.wr-field input:focus,.wr-field textarea:focus,.wr-field select:focus{outline:none;border-color:var(--gold);}
.wr-hint{font-size:12.5px;color:var(--mute);margin-top:6px;line-height:1.7;}
.wr-out{border:1px solid var(--line);padding:20px;background:var(--wash);font-size:12.5px;line-height:1.65;white-space:pre-wrap;word-break:break-all;max-height:340px;overflow:auto;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;}
.wr-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px;align-items:center;}
.wr-ok{font-size:13px;color:var(--gold-ink);font-weight:600;}

/* ---------- 반응형 ---------- */
@media (max-width:1180px){
  .rail{display:none;}
  .nav-links{gap:20px;}
}
@media (max-width:980px){
  .team-grid{grid-template-columns:repeat(2,1fr);}
  .pr-body{grid-template-columns:1fr;}
  .area-grid,.g-cards{grid-template-columns:repeat(2,1fr);}
  .steps{grid-template-columns:repeat(2,1fr);}
  .check-grid{grid-template-columns:1fr;}
  .ct-grid{grid-template-columns:1fr;}
  .mem-card{grid-template-columns:1fr;}
  .mem-card img{max-height:300px;min-height:0;}
  .foot-top{grid-template-columns:1fr;}
  .wr-grid{grid-template-columns:1fr;}
}
@media (max-width:760px){
  .burger{display:block;}
  .nav-links{
    position:fixed;top:0;right:0;bottom:0;width:min(300px,82vw);background:var(--ink);
    flex-direction:column;gap:0;padding:96px 30px 30px;transform:translateX(100%);
    transition:transform .4s cubic-bezier(.2,.7,.2,1);margin-left:0;
  }
  .nav-links.open{transform:none;}
  .nav-links a{padding:15px 0;border-bottom:1px solid rgba(255,255,255,.1);font-size:16px;}
  .nav-tel{display:none;}
  .langsw{margin-left:auto;}
  .brand-sub{display:none;}
  .brand-logo{height:28px;}
  .team-grid,.area-grid,.g-cards{grid-template-columns:1fr;}
  .pr-list{grid-template-columns:1fr;}
  .steps{grid-template-columns:1fr;}
  .ct-row{grid-template-columns:1fr;gap:4px;padding:15px 2px;}
  .hero{min-height:92svh;}
  .hero-cta{display:grid;gap:10px;}
  .btn{justify-content:center;padding:16px 20px;}
  .scrollcue{display:none;}
}
@media (prefers-reduced-motion:reduce){
  *{animation-duration:.01ms !important;transition-duration:.01ms !important;}
  .hero-rule{width:96px;}
  .hero-fade,.rv{opacity:1;transform:none;}
}
