@font-face{font-family:'CC Title';src:local('Jalnan 2 TTF'),local('Jalnan2TTF'),url(/fonts/chemicode/5ecb417838955918.woff2) format('woff2');font-display:swap}
@font-face{font-family:'CC Body';src:local('Jalnan Gothic'),local('JalnanGothicTTF'),url(/fonts/chemicode/37feb4e3091af995.woff2) format('woff2');font-display:swap}
@font-face{font-family:'CC Title2';src:local('Jalnan 2 TTF'),local('Jalnan2TTF'),url(/fonts/chemicode/5ecb417838955918.woff2) format('woff2');font-display:swap}
@font-face{font-family:'CC Title2';src:local('Jalnan Gothic'),local('JalnanGothicTTF'),url(/fonts/chemicode/37feb4e3091af995.woff2) format('woff2');unicode-range:U+1100-11FF,U+3130-318F,U+AC00-D7A3;font-display:swap}
@font-face{font-family:'Noto Sans KR';src:local('Jalnan Gothic'),local('JalnanGothicTTF'),url(/fonts/chemicode/37feb4e3091af995.woff2) format('woff2');unicode-range:U+1100-11FF,U+3130-318F,U+AC00-D7A3;font-display:swap}
@font-face{font-family:'Diphylleia';src:local('Jalnan Gothic'),local('JalnanGothicTTF'),url(/fonts/chemicode/37feb4e3091af995.woff2) format('woff2');unicode-range:U+1100-11FF,U+3130-318F,U+AC00-D7A3;font-display:swap}
@font-face{font-family:'Diph';src:url(/fonts/chemicode/40953670430b821c.woff2) format('woff2');font-display:swap}
@font-face{font-family:'NotoKR';src:local('Noto Sans KR'),url(/fonts/chemicode/809450f0b886d49a.woff2) format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'NotoKR';src:local('Noto Sans KR Bold'),url(/fonts/chemicode/419a46fa75b0c492.woff2) format('woff2');font-weight:700;font-display:swap}


body{
  --green:#0F6B49; --btn:#488F75; --ink:#000; --kc:#272D2B; --gray:#787878; --line:#C5D2CD;
  --mint:#9BFFF9; --cta:#F7F7F7; --btn2:#E6E6E6;
  --t:'CC Title','Noto Sans KR',sans-serif; --b:'CC Body','Noto Sans KR',sans-serif; --en:'Diph',serif; --s:'NotoKR','Noto Sans KR','Malgun Gothic',sans-serif;
}
*{box-sizing:border-box}
body{display:block;margin:0;background:#fff;color:var(--ink)}
body{font-family:var(--b);-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img,video{display:block}
.page{display:none}.page.on{display:block}
.wrap{width:1280px;max-width:calc(100% - 160px);margin:0 auto}
.t{font-family:var(--t);font-weight:400;margin:0;line-height:1}
.en{font-family:var(--en);font-weight:400}
.g{color:var(--green)}

/* 머리 */
.hd{position:relative;height:150px;max-width:1440px;margin:0 auto}
.hd .logo{position:absolute;left:26px;top:21px;width:192px}
.hd nav{position:absolute;right:83px;top:57px;display:flex;align-items:center;height:52px}
.hd nav a.m{font-family:var(--t);font-size:20px;line-height:1;margin-right:49px;transition:color .2s}
.hd nav a.m:nth-child(3){margin-right:57px}
.hd nav a.m:hover{color:var(--green)}
.hd .login{width:96px;height:52px;border-radius:8px;background:#000;color:#fff;font-family:var(--b);font-size:16px;display:grid;place-items:center;transition:transform .2s,background .2s}
.hd .login:hover{transform:translateY(-2px);background:#1c1c1c}

/* 버튼 공통 효과 */
.bt{transition:transform .2s ease,box-shadow .2s ease,background .2s ease,filter .2s ease;cursor:pointer}
.bt:hover{transform:translateY(-3px)}

/* ---------- 메인 ---------- */
.top{position:relative;text-align:center;height:396px}
.top .glow{position:absolute;left:50%;top:-60px;width:940px;height:320px;transform:translateX(-50%);background:radial-gradient(ellipse 50% 50% at 50% 50%,rgba(150,214,198,.7) 0%,rgba(178,226,213,.5) 40%,rgba(255,255,255,0) 100%);filter:blur(6px);pointer-events:none}
.top h1{position:relative;font-family:var(--b);font-size:40px;letter-spacing:-.012em;color:var(--kc);padding-top:49px}
.top h2{position:relative;font-size:32px;color:var(--green);margin-top:31px;white-space:pre}
.top .btns{position:relative;display:flex;justify-content:center;align-items:center;margin-top:30px}
.top .b1{width:176px;height:76px;border-radius:38px;background:var(--btn);color:#fff;font-family:var(--b);font-size:24px;display:grid;place-items:center}
.top .b1:hover{background:#3d7f67;box-shadow:0 10px 24px rgba(72,143,117,.35)}
.top .sep{width:1px;height:37px;background:#D7DCE2;margin:0 17px 0 17px}
.top .b2{width:176px;height:76px;border-radius:38px;background:#fff;border:2px solid #E3E6EA;color:#000;font-family:var(--b);font-size:24px;display:grid;place-items:center;box-shadow:0 2px 6px rgba(0,0,0,.06)}
.top .b2:hover{box-shadow:0 10px 24px rgba(0,0,0,.12)}

.hero{position:relative;height:640px;overflow:hidden}
.hero img{width:100%;height:100%;object-fit:cover;transform:scale(1.04);transition:transform 2.4s ease}
.hero.in img{transform:scale(1)}
.hero .tx{position:absolute;left:0;right:0;top:239px;text-align:center}
.hero .en1{font-family:var(--en);font-size:38px;letter-spacing:.13em;color:var(--mint);line-height:1;margin-right:-.13em}
.hero .ko{font-family:var(--b);font-size:44px;line-height:59px;color:#fff;margin-top:20px}
.hero .ln{display:block;opacity:0;transform:translateY(26px);transition:opacity .9s ease,transform .9s cubic-bezier(.2,.7,.2,1)}
.hero.in .ln{opacity:1;transform:none}
.hero.in .ln:nth-child(2){transition-delay:.25s}.hero.in .ln:nth-child(3){transition-delay:.5s}

.sec2{padding-top:181px}
.sec2 h2{font-family:var(--b);font-size:48px;letter-spacing:-.027em}
.cards{display:grid;grid-template-columns:repeat(4,296px);justify-content:space-between;margin-top:65px}
.card .ph{height:405px;border-radius:36px;overflow:hidden;background:#eee}
.card .ph img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.card:hover .ph img{transform:scale(1.05)}
.card .lb{font-family:var(--en);font-size:30px;line-height:1;margin-top:32px}
.card .lb b{font-weight:400;color:var(--green)}
.card p{margin:12px 0 0;color:var(--gray);font-size:20px;line-height:30px;white-space:nowrap}
.card.c2 p,.card.c3 p{line-height:36px;margin-top:9px}
.card.c4 .lb{margin-top:29px}
.card.c4 p{font-size:24px;line-height:36px;margin-top:11px}

.sec3{display:flex;justify-content:space-between;margin-top:173px}
.sec3 .l{padding-top:9px}
.sec3 h2{font-family:var(--b);font-size:48px;letter-spacing:-.027em}
.sec3 p{margin:74px 0 0;font-size:36px;line-height:54px;letter-spacing:-.012em;color:var(--gray)}
.sec3 p .en{color:var(--green);letter-spacing:0}
.sec3 .rep{width:704px;height:703px;border-radius:20px;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.17);margin-right:-23px;background:#fff}
.sec3 .rep img{width:100%;height:100%}

/* 아래 띠 + 바닥 */
.cta{background:var(--cta);height:236px;margin-top:120px}
.cta .wrap{height:100%;display:flex;align-items:center;justify-content:space-between}
.cta h2{font-family:var(--b);font-size:48px;letter-spacing:-.027em}
.cta .bs{display:flex;gap:23px}
.cta .k1{width:169px;height:76px;border-radius:8px;background:#000;color:#fff;font-family:var(--b);font-size:24px;display:grid;place-items:center}
.cta .k1:hover{box-shadow:0 10px 22px rgba(0,0,0,.25)}
.cta .k2{width:248px;height:76px;border-radius:8px;background:var(--btn2);color:#000;font-family:var(--b);font-size:24px;display:grid;place-items:center}
.cta .k2:hover{background:#dadada}
.ft{position:relative;height:263px;max-width:1440px;margin:0 auto;font-family:var(--s)}
.ft .fl{position:absolute;left:65px;top:56px;font-family:var(--en);font-size:24px;line-height:1}
.ft .fl b{font-weight:400;color:var(--green)}
.ft .cols{position:absolute;left:721px;top:48px;display:flex}
.ft .col{width:219px}
.ft .col h4{margin:0;font-size:16px;font-weight:500;line-height:24px}
.ft .col a{display:block;font-size:16px;line-height:24px;color:#363636;margin-top:24px;transition:color .2s}
.ft .col a:hover{color:var(--green)}
.ft .col a .en{font-family:var(--en)}
.ft .sns{position:absolute;left:75px;top:182px;display:flex;gap:28px}
.ft .sns svg{width:20px;height:20px;fill:var(--gray);transition:fill .2s}
.ft .sns a:hover svg{fill:var(--green)}


/* 피그마 글씨체 반영 */
.top h1 .g,.intro h1 .g{font-family:var(--t)}
.ab .s1 .lead{font-family:var(--t)}
.ft .sns{display:none!important}
/* ---------- 케미코드란 ---------- */
.intro{display:flex;align-items:flex-start;margin-top:84px}
.intro .ph{width:654px;height:347px;overflow:hidden;flex:none}
.intro .ph img{width:100%;height:100%;object-fit:cover;transition:transform 1.6s ease}
.intro .ph.in img{transform:scale(1.03)}
.intro .r{margin-left:52px;padding-top:58px;flex:none}
.intro h1{font-family:var(--b);font-size:48px;letter-spacing:-.006em;white-space:nowrap}
.intro h1 .en{font-size:48px;letter-spacing:0;margin-right:16px}
.intro p{margin:37px 0 0;font-size:24px;line-height:36px;color:var(--gray);white-space:nowrap}
.dv{position:relative;height:2px;margin-top:33px}
.dv:before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:var(--line)}
.dv i{position:absolute;left:0;top:0;height:2px;width:60px;background:#237A59;transform-origin:left;transform:scaleX(0);transition:transform 1s cubic-bezier(.2,.7,.2,1) .15s}
.dv.in i{transform:scaleX(1)}
.ab h2.k{font-size:48px;letter-spacing:-.027em;color:var(--green)}
.ab .s1 h2.k{margin-top:54px}
.ab .lead{margin:41px 0 0;font-size:36px;line-height:60px;letter-spacing:-.028em;color:var(--gray)}
.how{display:flex;justify-content:space-between;align-items:flex-start;margin-top:72px}
.how .l{padding-top:166px}
.how .row{display:flex;align-items:baseline;white-space:nowrap}
.how .row + .row{margin-top:28px}
.how .num{font-family:var(--b);font-size:66px;line-height:72px;letter-spacing:-.017em;color:var(--green)}
.how .row span:not(.num){font-family:var(--t);font-size:32px;letter-spacing:-.028em;color:var(--gray);margin-left:6px}
.how .c{font-family:var(--t);margin:71px 0 0;font-size:32px;line-height:50px;letter-spacing:-.025em;color:var(--gray)}
.how .vid{width:622px;height:624px;margin-top:-10px;margin-right:3px;background:#fff}
.how .vid video{width:100%;height:100%;object-fit:cover;mix-blend-mode:multiply}
.ab .dv2{margin-top:98px}
.ab .why h2.k{margin-top:95px}
.ab .big{font-family:var(--b);font-size:64px;letter-spacing:-.023em;margin-top:55px}
.ab .why .lead{margin-top:41px}
.ab .rows{margin-top:61px}
.ab .rows div{display:flex;font-size:36px;line-height:60px;letter-spacing:-.025em;color:var(--gray)}
.ab .rows b{font-family:var(--b);font-weight:400;color:var(--green);width:99px;letter-spacing:-.04em}
.ab .dv3{margin-top:103px}
.ab .jo h2.k{font-size:40px;letter-spacing:-.017em;margin-top:84px}
.ab .jo .big{margin-top:58px}
.ab .jo .lead{margin-top:70px}
.pair{margin-top:78px;border-radius:24px;overflow:hidden;height:715px;background:#cfe9df}
.pair img{width:100%;height:100%;object-fit:cover;animation:float 7s ease-in-out infinite}
@keyframes float{0%,100%{transform:scale(1.02) translateY(4px)}50%{transform:scale(1.02) translateY(-6px)}}
.ab + .cta,.ab .cta{margin-top:189px}


/* ---------- 16가지 유형 / 조직궁합도 (피그마 좌표 그대로) ---------- */
.fx{position:relative;width:1440px;margin:0 auto}
.fxo{overflow:hidden}
.fx .a{position:absolute;margin:0;line-height:1;white-space:nowrap}
.fx .bn{left:0;width:1440px;display:block}
.fx .t16{font-family:var(--t);font-size:92px;color:#1A7353}
.fx .ten{font-family:var(--en);font-size:95px;color:#000}
.fx .tdesc{left:0;width:1440px;text-align:center;font-family:var(--b);font-size:26px;color:#787878}
.fx .k40{font-family:var(--t);font-size:40px;letter-spacing:-.017em;color:var(--green)}
.fx .k64{font-family:var(--b);font-size:64px;letter-spacing:-.023em;color:#000}
.fx .l36{font-family:var(--b);font-size:36px;line-height:60px;letter-spacing:-.025em;color:var(--gray);white-space:nowrap}
.fx .dvx{left:66px;width:1280px;margin:0}
.fx .ttl{position:absolute;left:0;top:0;margin:0;font-weight:400}
.fx .bnw{overflow:hidden}
.fx .bnw img{transform:scale(1.04);transition:transform 2.4s ease}
.fx .bnw.in img{transform:scale(1)}
/* 16유형 위젯 */
.tw{position:absolute;line-height:normal;width:1080px;transform-origin:0 0;display:grid;grid-template-columns:440px 1fr;gap:80px;font-family:var(--b);color:#111;word-break:keep-all}
.tw .tabs{display:flex;gap:18px;margin-bottom:30px;white-space:nowrap}
.tw .tabs button{all:unset;cursor:pointer;font-family:var(--t);font-size:14px;color:#6B7280;padding-bottom:6px;border-bottom:2px solid transparent;transition:color .2s,border-color .2s}
.tw .tabs button:hover{color:#111}
.tw .tabs button.on{color:#111;border-color:#111}
.tw .grid{display:grid;grid-template-columns:repeat(4,1fr);row-gap:30px}
.tw .c{all:unset;cursor:pointer;position:relative;text-align:center;font-family:var(--t);font-size:26px;letter-spacing:.02em;opacity:.36;padding-bottom:12px;transition:opacity .25s,transform .25s}
.tw .c:after{content:"";position:absolute;left:50%;bottom:0;width:0;height:3px;border-radius:2px;background:currentColor;transform:translateX(-50%);transition:width .25s}
.tw .c:hover{opacity:.85}
.tw .c.on{opacity:1;transform:scale(1.12)}.tw .c.on:after{width:26px}
.tw.focus .c:not(.hit):not(.on){opacity:.12}
.tw.focus .c.hit:not(.on){opacity:.85}
.tw .c.t1,.pk .ch.t1{color:#1A7353}.tw .c.t2,.pk .ch.t2{color:#22628A}.tw .c.t3,.pk .ch.t3{color:#8A6410}.tw .c.t4,.pk .ch.t4{color:#A33A3A}
.tw .dt{transition:opacity .25s}
.tw .dt.sw{opacity:0}
.tw .dt .code{font-family:var(--t);font-size:64px;line-height:1;color:#1A7353;letter-spacing:.02em}
.tw .dt .tag{font-family:var(--t);font-size:14px;color:#1A7353;margin:18px 0 6px}
.tw .dt h2{font-family:var(--t);font-weight:400;font-size:28px;margin:0 0 10px}
.tw .dt .one{margin:0;color:#6B7280;font-size:16px;line-height:27px}
.tw .dt .q{margin:26px 0 0;border-left:3px solid #1A7353;padding:2px 0 2px 16px;color:#374151;font-size:16px;line-height:28px}
.tw .ab{display:grid;grid-template-columns:1fr 1fr;gap:16px 28px;margin-top:30px;padding-top:22px;border-top:1px solid #E3E8E6}
.tw .ab div{display:flex;align-items:center;gap:12px;font-size:16px;transition:opacity .25s}
.tw .ab b{font-family:var(--t);font-weight:400;font-size:22px;width:20px}
.tw .ab small{display:block;color:#9AA0A6;font-size:13px;margin-top:2px}
.tw .ab .off{opacity:.35}
.tw .act{display:flex;gap:22px;align-items:center;margin-top:34px}
.tw .act .lk{font-family:var(--t);font-size:15px;border-bottom:1px solid #111;padding-bottom:2px;transition:color .2s,border-color .2s}
.tw .act .lk:hover{color:var(--green);border-color:var(--green)}
.tw .act .pr{font-family:var(--t);font-size:15px;color:#fff;background:#1A7353;border-radius:999px;padding:11px 20px;transition:transform .2s,box-shadow .2s}
.tw .act .pr:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(26,115,83,.3)}
/* 코드 고르기 */
.pk{position:absolute;line-height:normal;display:inline-flex;align-items:center;gap:28px;padding:24px;transform-origin:0 0;font-family:var(--b)}
.pk .who{width:440px}
.pk .who h3{font-family:var(--t);font-weight:400;font-size:22px;margin:0 0 18px;color:#111}
.pk .codes{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.pk .ch{all:unset;box-sizing:border-box;cursor:pointer;border:1px solid #EEF0F2;background:#fff;border-radius:12px;padding:12px 4px;text-align:center;font-family:var(--t);font-size:16px;letter-spacing:.02em;transition:opacity .2s,transform .2s,box-shadow .2s,background-color .2s,border-color .2s;opacity:.38}
.pk .ch:hover,.pk .ch.on{opacity:1;border-color:transparent;transform:translateY(-2px);box-shadow:0 6px 16px rgba(17,19,24,.10)}
.pk .ch.t1:hover,.pk .ch.on.t1{background:#E3F3EA}.pk .ch.t2:hover,.pk .ch.on.t2{background:#E4F0F8}.pk .ch.t3:hover,.pk .ch.on.t3{background:#FBF1DB}.pk .ch.t4:hover,.pk .ch.on.t4{background:#FBEAEA}
.pk .x{font-family:var(--t);font-size:40px;color:#9AA0A6}
/* 궁합 결과 */
.rs{position:absolute;line-height:normal;width:1240px;padding:24px;transform-origin:0 0;font-family:var(--b);color:#111;box-sizing:content-box}
.rs .rtop{display:flex;gap:30px;align-items:center}
.rs .ring{width:150px;height:150px;border-radius:50%;background:linear-gradient(160deg,#1A7353,#9BFFF9);display:grid;place-items:center;flex:none;transition:transform .4s}
.rs .ring.pop{transform:scale(1.06)}
.rs .ring i{width:124px;height:124px;border-radius:50%;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;font-style:normal;font-family:var(--t);color:#1A7353;font-size:26px;line-height:1.05}
.rs .ring i b{font-weight:400;font-size:16px;color:#5E9C86;margin:4px 0}
.rs .badge{display:inline-block;font-family:var(--t);font-size:14px;color:#1A7353}
.rs h3{font-family:var(--t);font-weight:400;font-size:28px;margin:10px 0 10px}
.rs .lead{margin:0;color:#6B7280;font-size:18px;line-height:30px}
.rs .grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin-top:40px}
.rs .bx{position:relative;box-sizing:content-box;padding-top:20px;transition:all .25s;min-height:110px}
.rs .bx:before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:#E3E8E6}
.rs .bx:after{content:"";position:absolute;left:0;top:0;height:2px;width:0;background:#1A7353;transition:width .35s}
.rs .bx h4{margin:0 0 14px;font-weight:400;font-size:15px;color:#9AA0A6;transition:color .25s}
.rs .bx .none{color:#B8BDC3;font-size:15px}
.rs .chip{display:flex;align-items:center;gap:8px;margin:0 0 10px;font-size:15px;color:#A9AEB4;transition:color .25s}
.rs .chip b{font-family:var(--t);font-weight:400;font-size:18px;color:#9AA0A6;width:16px;transition:color .25s}
.rs .dot{width:9px;height:9px;border-radius:50%;opacity:.4;transition:opacity .25s}
.rs .bx:hover:after{width:60px}
.rs .bx:hover h4{color:#1A7353}
.rs .bx:hover .chip{color:#4B5563}.rs .bx:hover .chip b{color:#111}.rs .bx:hover .dot{opacity:1}
.rs .btns{margin-top:22px;display:flex;gap:22px}
.rs .btns a{font-family:var(--t);font-size:15px;color:#111;border-bottom:1px solid #111;padding-bottom:2px;transition:color .2s,border-color .2s}
.rs .btns a:hover{color:var(--green);border-color:var(--green)}
.rs .note{margin-top:34px;border-left:3px solid #1A7353;padding:4px 0 4px 18px}
.rs .note b{font-family:var(--t);font-weight:400;font-size:16px;color:#1A7353;display:block;margin-bottom:6px}
.rs .note p{margin:0;color:#6B7280;font-size:15px;line-height:26px}
.rs .sw{transition:opacity .25s}.rs.chg .sw{opacity:0}
/* 바닥 (16유형·조직궁합도 버전) */
.ft.v2 .fl{left:80px}.ft.v2 .cols{left:736px}.ft.v2 .sns{left:90px}
.ft.v2:not(.ln) .fl{top:53px}.ft.v2:not(.ln) .cols{top:44px}.ft.v2:not(.ln) .sns{top:179px}
.ft.v2.ln:before{content:"";position:absolute;left:80px;right:80px;top:0;height:1px;background:#E8E8E8}

/* 키보드로 움직일 때만 보이는 선택 테두리 */
a:focus-visible,button:focus-visible{outline:2px solid #1A7353;outline-offset:3px;border-radius:6px}
.tw .c:focus-visible,.pk .ch:focus-visible,.tw .tabs button:focus-visible{outline:2px solid #1A7353;outline-offset:3px;opacity:1}
/* 스크롤 등장 */
.rv{opacity:0;transform:translateY(34px);transition:opacity .9s ease,transform .9s cubic-bezier(.2,.7,.2,1)}
.rv.in{opacity:1;transform:none}
.rv.d1{transition-delay:.12s}.rv.d2{transition-delay:.24s}.rv.d3{transition-delay:.36s}

/* 3D 인트로 */
.intro3d{position:fixed;inset:0;z-index:300;background:#07090e;transition:opacity .9s ease,transform .9s ease}
.intro3d iframe{position:absolute;inset:0;width:100%;height:100%;border:0;pointer-events:none}
.intro3d .skip{position:absolute;right:22px;bottom:22px;color:#cfd4e0;font-size:13px;letter-spacing:.08em;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.25);border-radius:999px;padding:8px 14px;cursor:pointer;font-family:var(--b)}
.intro3d.out{opacity:0;transform:scale(1.05);pointer-events:none}


@media (prefers-reduced-motion:reduce){
  .rv,.hero .ln{opacity:1!important;transform:none!important;transition:none!important}
  .dv i{transform:none;transition:none}.pair img{animation:none}
}

/* 작은 화면 */
@media (max-width:1100px){
  .intro p{white-space:normal}.card p{white-space:normal}.how .row{flex-wrap:wrap}
  .wrap{max-width:calc(100% - 40px)}
  .hd{height:auto;display:flex;align-items:center;justify-content:space-between;padding:14px 20px}
  .hd .logo{position:static;width:120px}
  .hd nav{position:static;height:auto}
  .hd nav a.m{font-size:14px;margin-right:16px}.hd nav a.m:nth-child(3){margin-right:16px}
  .hd .login{width:64px;height:36px;font-size:13px}
  .top{height:auto;padding-bottom:50px}.top .glow{width:100%;top:20px}
  .top h1{padding-top:30px;font-size:32px}.top h2{font-size:24px;margin-top:18px}
  .top .b1,.top .b2{width:140px;height:60px;font-size:19px}
  .hero{height:auto;aspect-ratio:2/1}.hero .tx{top:50%;transform:translateY(-50%)}
  .hero .en1{font-size:20px}.hero .ko{font-size:22px;line-height:32px;margin-top:10px}
  .sec2{padding-top:80px}.sec2 h2,.sec3 h2,.cta h2,.ab h2.k{font-size:28px}
  .cards{grid-template-columns:repeat(2,1fr);gap:24px 16px;margin-top:30px}
  .card .ph{height:auto;aspect-ratio:296/405;border-radius:24px}
  .card .lb{margin-top:18px;font-size:22px}.card p,.card.c4 p{font-size:15px;line-height:24px}
  .sec3{flex-direction:column;margin-top:80px;gap:30px}.sec3 p{font-size:22px;line-height:34px;margin-top:24px}
  .sec3 .rep{width:100%;height:auto;aspect-ratio:1;margin:0}
  .cta{height:auto;padding:40px 0}.cta .wrap{flex-direction:column;align-items:flex-start;gap:20px}
  .cta .k1,.cta .k2{width:auto;padding:0 20px;height:56px;font-size:17px}
  .ft{height:auto;padding:30px 20px 40px;display:flex;flex-direction:column;gap:24px}
  .ft .fl,.ft .cols,.ft .sns{position:static}.ft .cols{flex-wrap:wrap;gap:20px}.ft .col{width:auto;min-width:120px}
  .intro{flex-direction:column;align-items:flex-start;margin-top:20px}.intro .ph{width:100%;height:auto;aspect-ratio:654/347}
  .intro .r{margin:24px 0 0}.intro h1,.intro h1 .en{font-size:30px}.intro p{font-size:16px;line-height:26px;margin-top:16px}
  .ab .lead,.ab .rows div{font-size:19px;line-height:32px}.ab .big{font-size:30px;line-height:1.25}
  .how{flex-direction:column;gap:30px}.how .l{padding-top:0}.how .num{font-size:44px;line-height:50px}.how .row span:not(.num){font-size:18px}
  .how .c{font-size:18px;line-height:28px;margin-top:30px}.how .vid{width:100%;height:auto;aspect-ratio:1}
  .ab .rows b{width:60px}.ab .why h2.k,.ab .jo h2.k,.ab .s1 h2.k{margin-top:40px}.ab .big,.ab .lead,.ab .rows{margin-top:24px!important}
  .pair{height:auto;aspect-ratio:1280/715;margin-top:30px}.dv2,.dv3{margin-top:60px!important}

  .hd{padding:12px 14px}.hd .logo{width:84px}.hd nav a.m{margin-right:8px!important;font-size:11.5px}.hd nav a.m{font-size:12px;margin-right:10px;white-space:nowrap}.hd nav a.m:nth-child(3){margin-right:10px}.hd .login{width:54px;height:32px;font-size:12px}
  .card.c2 p,.card.c3 p,.card.c4 p{line-height:22px;margin-top:8px}
  .ab .jo h2.k{font-size:28px}.how .num{font-size:36px;line-height:44px}.how .row + .row{margin-top:10px}
}

/* ===== 16가지 유형·조직궁합도: 폰/태블릿 배치 ===== */
@media (max-width:1100px){
  .fxw{height:auto!important;overflow:visible!important}
  .fx{word-break:keep-all}
  .fx{width:auto!important;height:auto!important;transform:none!important;padding:0 20px 56px;display:flex;flex-direction:column}
  .fx .a{position:relative!important;left:auto!important;top:auto!important;white-space:normal}
  .fx .bnw{width:auto!important;height:210px!important;margin:0 -20px}
  .fx .bnw img{width:100%;height:100%;object-fit:cover}
  .fx .ttl{position:absolute;left:0;right:0;top:0;height:210px;display:flex;align-items:center;justify-content:center;gap:10px;padding:0 16px;flex-wrap:wrap;text-align:center}
  .fx .ttl .a{position:static!important;font-size:32px!important;line-height:1.1}
  .fx .ttl .t16{font-size:34px!important}
  .fx .tdesc{width:auto;font-size:16px;line-height:26px;margin:28px 0 8px;white-space:normal}
  .fx .k40{font-size:22px;margin-top:40px}
  .fx .k64{font-size:28px;line-height:1.3;margin-top:16px;white-space:normal}
  .fx .l36{font-size:17px;line-height:28px;margin-top:18px;white-space:normal}
  .fx .l36 br{display:none}
  .fx .dvx{width:auto;margin:36px 0 8px}
  .tw,.pk,.rs{position:relative!important;left:auto!important;top:auto!important;transform:none!important;width:auto}
  .tw{display:flex;flex-direction:column;gap:36px;margin-top:24px}
  .tw .tabs{overflow-x:auto;gap:16px;margin-bottom:22px;padding-bottom:4px;scrollbar-width:none}
  .tw .tabs button{padding:10px 0 8px}
  .tw .grid{row-gap:6px}
  .tw .c{font-size:20px;padding:12px 0 14px;min-height:44px}
  .tw .dt .code{font-size:48px}
  .tw .dt .q{font-size:15px;line-height:26px}
  .tw .ab{gap:14px 16px}
  .tw .act{flex-wrap:wrap;gap:16px}
  .pk{display:block;padding:0;margin-top:28px}
  .pk .who{width:auto}
  .pk .who h3{font-size:19px;margin-bottom:12px}
  .pk .codes{gap:6px}
  .pk .ch{min-height:44px;display:flex;align-items:center;justify-content:center;font-size:15px;padding:8px 2px}
  .pk .x{display:block;text-align:center;font-size:30px;margin:14px 0}
  .rs{padding:0;margin-top:40px}
  .rs .rtop{flex-direction:column;align-items:flex-start;gap:18px}
  .rs .ring{width:120px;height:120px}.rs .ring i{width:98px;height:98px;font-size:21px}
  .rs h3{font-size:22px}
  .rs .lead{font-size:15px;line-height:25px}
  .rs .lead br,.rs .note br{display:none}
  .rs .grid{grid-template-columns:1fr 1fr;gap:22px 18px;margin-top:30px}
  .rs .bx{min-height:0}
  .rs .btns a{display:inline-block;padding:10px 0 4px}
  .hd nav a.m,.hd .login{min-height:44px;display:inline-flex;align-items:center}
}

body{margin:0}img{max-width:100%}a:focus-visible,button:focus-visible{outline:3px solid #488F75;outline-offset:4px}

/* Keep the logo and navigation readable on narrow phones. */
@media(max-width:600px){
 .hd{flex-wrap:wrap;gap:8px;padding:12px 16px}
 .hd .lg{flex:0 0 100%;display:flex;justify-content:center}
 .hd .logo{width:112px}
 .hd nav{width:100%;justify-content:space-between;gap:6px}
 .hd nav a.m{font-size:12px;margin-right:0!important}
 .hd .login{justify-content:center}
}
@media(prefers-reduced-motion:reduce){
 *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}

/* Keep every header link inside the viewport at all responsive sizes. */
.hd{width:100%;min-width:0}
@media(max-width:1100px){
 .hd .lg{flex-shrink:0}
 .hd nav{min-width:0;flex-wrap:wrap;justify-content:flex-end;gap:8px}
 .hd nav a.m,.hd .login{flex-shrink:0}
}
@media(max-width:600px){
 .hd .lg{flex-basis:100%}
 .hd nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;width:100%}
 .hd nav a.m,.hd .login{width:100%;margin:0!important;justify-content:center;text-align:center;font-size:12px}
}
@media(max-width:360px){
 .hd nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 12px}
 .hd nav a.m,.hd .login{font-size:14px}
}
