/* 코이노 마케팅 KOINO Marketing */
:root{
  --navy:#0a2a63;--navy-2:#071c44;--brand:#0a3c90;--blue:#1d6fd9;--sky:#e6f1ff;
  --ink:#151b26;--ink-2:#3b4556;--mute:#6b7586;--line:#e3e8f0;--bg:#ffffff;--bg-2:#f5f7fb;
  --radius:16px;--wrap:1120px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;font-family:"Pretendard Variable",Pretendard,-apple-system,BlinkMacSystemFont,"Malgun Gothic",sans-serif;color:var(--ink);background:var(--bg);line-height:1.7;font-size:16px;word-break:keep-all;overflow-wrap:anywhere;-webkit-font-smoothing:antialiased;padding-bottom:calc(68px + env(safe-area-inset-bottom))}
@media (min-width:900px){body{padding-bottom:0}}
img{max-width:100%;height:auto;display:block}
a{color:var(--blue);text-decoration:none}
a:hover{text-decoration:underline}
h1,h2,h3{line-height:1.3;letter-spacing:-.02em;margin:0}
p{margin:0 0 1em}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 20px}
.skip{position:absolute;left:-999px}.skip:focus{left:12px;top:12px;background:#fff;padding:8px 12px;z-index:99}

/* 헤더 */
.hd{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--line)}
.hd .wrap{display:flex;align-items:center;justify-content:space-between;height:64px;gap:16px}
.logo{display:flex;align-items:center;gap:10px;color:var(--ink)}
.logo img{width:118px;height:auto}
.logo small{font-size:12.5px;color:var(--mute);font-weight:600;border-left:1px solid var(--line);padding-left:10px;white-space:nowrap}
.nav{display:flex;gap:24px;align-items:center}
.nav a{color:var(--ink-2);font-weight:600;font-size:15px}
.nav a.cta{background:var(--brand);color:#fff;padding:9px 16px;border-radius:10px}
.nav a.cta:hover{background:var(--navy);text-decoration:none}
.mnav{display:none}
@media (max-width:899px){
  .nav{display:none}
  .mnav{display:block;position:relative}
  .mnav summary{list-style:none;cursor:pointer;width:44px;height:44px;display:grid;place-items:center;border-radius:10px;border:1px solid var(--line)}
  .mnav summary::-webkit-details-marker{display:none}
  .mnav summary span,.mnav summary span::before,.mnav summary span::after{display:block;width:18px;height:2px;background:var(--ink);position:relative;content:""}
  .mnav summary span::before{position:absolute;top:-6px}.mnav summary span::after{position:absolute;top:6px}
  .mnav .panel{position:absolute;right:0;top:52px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 20px 40px -16px rgba(10,40,100,.25);padding:8px;width:220px;display:flex;flex-direction:column}
  .mnav .panel a{padding:12px 14px;color:var(--ink);font-weight:600;border-radius:8px}
  .mnav .panel a:hover{background:var(--bg-2);text-decoration:none}
  .logo small{display:none}
}

/* 히어로 */
.hero{background:radial-gradient(90% 120% at 85% 0%,#14408f 0%,var(--navy) 50%,var(--navy-2) 100%);color:#fff;position:relative;overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:56px 56px;mask-image:linear-gradient(180deg,#000 30%,transparent)}
.hero .wrap{position:relative;padding-top:84px;padding-bottom:88px}
.eyebrow{display:inline-block;font-size:13px;font-weight:700;letter-spacing:.08em;color:#9cc3ff;margin-bottom:18px}
.hero h1{font-size:clamp(32px,5.4vw,56px);font-weight:800;max-width:900px}
.hero h1 em{font-style:normal;color:#9cc3ff}
.hero .lead{font-size:clamp(17px,2.1vw,20px);color:rgba(255,255,255,.86);max-width:720px;margin:22px 0 32px}
.btns{display:flex;gap:12px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 24px;border-radius:12px;font-weight:700;font-size:16px}
.btn:hover{text-decoration:none}
.btn-main{background:#fff;color:var(--navy)}
.btn-main:hover{background:var(--sky)}
.btn-ghost{border:1px solid rgba(255,255,255,.4);color:#fff}
.btn-ghost:hover{background:rgba(255,255,255,.08)}
.btn-blue{background:var(--brand);color:#fff}.btn-blue:hover{background:var(--navy)}
.btn-line{border:1px solid var(--line);color:var(--ink);background:#fff}
.facts{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.14);border-radius:14px;overflow:hidden;margin-top:56px}
.facts div{background:rgba(7,28,68,.55);padding:18px 20px}
.facts b{display:block;font-size:20px;font-weight:800}
.facts span{font-size:13.5px;color:rgba(255,255,255,.72)}
@media (max-width:760px){.facts{grid-template-columns:1fr 1fr}.hero .wrap{padding-top:56px;padding-bottom:60px}}

/* 섹션 */
.sec{padding:96px 0}
.sec.alt{background:var(--bg-2)}
.sec-hd{max-width:760px;margin-bottom:44px}
.kicker{font-size:13px;font-weight:800;letter-spacing:.12em;color:var(--blue);margin-bottom:12px;display:block}
.sec h2{font-size:clamp(26px,3.6vw,38px);font-weight:800}
.sec-hd p{color:var(--ink-2);margin-top:14px;font-size:17px}
@media (max-width:760px){.sec{padding:64px 0}.sec-hd{margin-bottom:30px}}

.summary{background:#fff;border:1px solid var(--line);border-left:4px solid var(--brand);border-radius:12px;padding:26px 28px;font-size:17px;color:var(--ink-2)}
.summary strong{color:var(--ink)}

/* 서비스 */
.svc{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.svc article{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:26px}
.svc .no{font-size:13px;font-weight:800;color:var(--blue)}
.svc h3{font-size:20px;margin:8px 0 10px}
.svc p{color:var(--ink-2);font-size:15.5px;margin:0}
.svc .fit{margin-top:14px;font-size:14px;color:var(--mute);border-top:1px dashed var(--line);padding-top:12px}
@media (max-width:899px){.svc{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.svc{grid-template-columns:1fr}}

/* 가격 */
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;align-items:stretch}
.plan{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:30px 26px;display:flex;flex-direction:column}
.plan.main{border:2px solid var(--brand);box-shadow:0 24px 50px -24px rgba(10,60,144,.35);position:relative}
.plan .tag{position:absolute;top:-13px;left:24px;background:var(--brand);color:#fff;font-size:12.5px;font-weight:700;padding:4px 12px;border-radius:99px}
.plan h3{font-size:19px}
.plan .price{font-size:34px;font-weight:800;color:var(--navy);margin:12px 0 2px;letter-spacing:-.02em}
.plan .price small{font-size:16px;font-weight:600;color:var(--mute)}
.plan .price.ask{font-size:24px}
.plan .vat{font-size:13.5px;color:var(--mute)}
.plan ul{list-style:none;padding:0;margin:20px 0 24px;flex:1}
.plan li{padding:8px 0 8px 26px;position:relative;font-size:15.5px;color:var(--ink-2);border-bottom:1px solid var(--bg-2)}
.plan li::before{content:"";position:absolute;left:2px;top:15px;width:12px;height:7px;border-left:2px solid var(--blue);border-bottom:2px solid var(--blue);transform:rotate(-45deg)}
.plan .btn{width:100%}
.note{font-size:14px;color:var(--mute);margin-top:20px}
@media (max-width:899px){.plans{grid-template-columns:1fr}}

/* 표 */
.tbl{width:100%;border-collapse:collapse;background:#fff;border-radius:12px;overflow:hidden;font-size:15.5px}
.tbl th,.tbl td{padding:14px 16px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.tbl thead th{background:var(--navy);color:#fff;font-weight:700}
.tbl tbody th{background:var(--bg-2);width:30%;font-weight:700;color:var(--ink)}
.tbl-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:12px;-webkit-overflow-scrolling:touch}
.tbl-wrap .tbl{min-width:560px}
.tbl-wrap.fit .tbl{min-width:0}

/* 진행 방식 */
.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;counter-reset:s;list-style:none;padding:0;margin:0}
.steps li{background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px 18px;counter-increment:s}
.steps li::before{content:"0" counter(s);display:block;font-size:13px;font-weight:800;color:var(--blue);margin-bottom:8px}
.steps b{display:block;font-size:17px;margin-bottom:6px}
.steps span{font-size:14.5px;color:var(--ink-2)}
@media (max-width:899px){.steps{grid-template-columns:1fr}}
.report{display:grid;grid-template-columns:1.1fr 1fr;gap:28px;align-items:center;margin-top:36px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:30px}
.report h3{font-size:21px;margin-bottom:10px}
.report ul{margin:0;padding-left:20px;color:var(--ink-2)}
.rp{background:var(--bg-2);border-radius:12px;padding:18px;font-size:14px}
.rp .row{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid var(--line)}
.rp .row:last-child{border:0}
.rp .bar{height:8px;background:var(--line);border-radius:4px;margin-top:6px;overflow:hidden}
.rp .bar i{display:block;height:100%;background:var(--blue);border-radius:4px}
@media (max-width:760px){.report{grid-template-columns:1fr;padding:22px}}

/* 사례 */
.cases{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.case{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.case img{width:100%;aspect-ratio:4/3;object-fit:cover;background:#dfe8f8}
.case div{padding:18px 20px 22px}
.case h3{font-size:18px}
.case p{margin:6px 0 0;color:var(--ink-2);font-size:15px}
.case.more{background:var(--navy);color:#fff;display:flex;flex-direction:column;justify-content:center;padding:30px}
.case.more b{font-size:52px;font-weight:800;color:#9cc3ff;line-height:1}
.case.more strong{font-size:24px;margin:8px 0 18px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips span{border:1px solid rgba(255,255,255,.35);border-radius:99px;padding:4px 12px;font-size:13.5px}
@media (max-width:899px){.cases{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.cases{grid-template-columns:1fr}}

/* 회사 정보 */
.co{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:start}
@media (max-width:899px){.co{grid-template-columns:1fr}}
.map{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--bg-2)}
.map iframe{display:block;width:100%;height:320px;border:0}
.map .links{display:flex;gap:8px;padding:12px;flex-wrap:wrap}
.map .links a{font-size:14px;font-weight:600;border:1px solid var(--line);background:#fff;border-radius:8px;padding:8px 12px;color:var(--ink)}

/* 가이드 카드 */
.guides{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.guides a{display:block;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:24px;color:var(--ink)}
.guides a:hover{border-color:var(--blue);text-decoration:none}
.guides small{color:var(--blue);font-weight:700;font-size:13px}
.guides h3{font-size:19px;margin:8px 0}
.guides p{color:var(--ink-2);font-size:15px;margin:0}
@media (max-width:899px){.guides{grid-template-columns:1fr}}

/* FAQ */
.faq{max-width:860px}
.faq details{background:#fff;border:1px solid var(--line);border-radius:12px;margin-bottom:10px}
.faq summary{cursor:pointer;padding:18px 52px 18px 20px;font-weight:700;font-size:16.5px;list-style:none;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";position:absolute;right:22px;top:24px;width:9px;height:9px;border-right:2px solid var(--mute);border-bottom:2px solid var(--mute);transform:rotate(45deg);transition:transform .2s}
.faq details[open] summary::after{transform:rotate(-135deg);top:28px}
.faq details div{padding:0 20px 18px;color:var(--ink-2)}
.faq summary:focus-visible{outline:2px solid var(--blue);outline-offset:2px;border-radius:12px}

/* 상담 */
.contact{background:var(--navy);color:#fff;border-radius:22px;padding:48px;display:grid;grid-template-columns:1.1fr 1fr;gap:32px}
.contact h2{font-size:clamp(26px,3.4vw,34px)}
.contact p{color:rgba(255,255,255,.8)}
.clist{display:grid;gap:10px}
.clist a{display:flex;justify-content:space-between;align-items:center;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);border-radius:12px;padding:16px 18px;color:#fff;font-weight:700;min-height:56px}
.clist a span{font-weight:500;color:rgba(255,255,255,.7);font-size:14px}
.clist a:hover{background:rgba(255,255,255,.14);text-decoration:none}
@media (max-width:760px){.contact{grid-template-columns:1fr;padding:30px 22px}}

/* 글(가이드·소개) */
.crumb{font-size:14px;color:var(--mute);padding:18px 0 0}
.crumb a{color:var(--mute)}
.crumb ol{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:6px}
.crumb li+li::before{content:"›";margin-right:6px}
.doc-hd{padding:28px 0 36px;border-bottom:1px solid var(--line)}
.doc-hd h1{font-size:clamp(28px,4.4vw,42px);font-weight:800;max-width:860px}
.doc-hd .meta{color:var(--mute);font-size:14px;margin-top:14px}
.answer{background:var(--sky);border-radius:12px;padding:20px 22px;margin:28px 0 0;font-size:17.5px;font-weight:600;color:var(--navy);max-width:860px}
.doc{max-width:860px;padding:40px 0 80px}
.doc h2{font-size:clamp(22px,3vw,28px);margin:48px 0 16px}
.doc h3{font-size:19px;margin:28px 0 10px}
.doc p,.doc li{color:var(--ink-2);font-size:16.5px}
.doc ul,.doc ol{padding-left:22px}
.doc li{margin-bottom:8px}
.doc .tbl-wrap{margin:18px 0}
.doc .faq{margin-top:12px}
.callout{border:1px solid var(--line);background:var(--bg-2);border-radius:12px;padding:20px 22px;margin:28px 0}
.callout b{color:var(--ink)}
.related{display:grid;gap:10px;margin-top:16px}
.related a{border:1px solid var(--line);border-radius:10px;padding:14px 16px;font-weight:600;color:var(--ink);background:#fff}

/* 푸터 */
.ft{background:var(--navy-2);color:rgba(255,255,255,.72);font-size:14px;padding:48px 0 40px}
.ft img{width:120px;margin-bottom:18px}
.ft dl{display:grid;grid-template-columns:auto 1fr;gap:4px 14px;margin:0}
.ft dt{color:rgba(255,255,255,.5)}
.ft dd{margin:0}
.ft a{color:rgba(255,255,255,.85)}
.ft .cols{display:grid;grid-template-columns:1.4fr 1fr;gap:28px}
.ft .fl{display:flex;flex-wrap:wrap;gap:8px 18px;align-content:start}
.ft small{display:block;margin-top:28px;color:rgba(255,255,255,.45)}
@media (max-width:760px){.ft .cols{grid-template-columns:1fr}}

/* 모바일 하단 고정 바 */
.mbar{position:fixed;left:0;right:0;bottom:0;z-index:60;display:grid;grid-template-columns:1fr 1fr 1fr;background:#fff;border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);box-shadow:0 -6px 20px rgba(10,40,100,.08)}
.mbar a{display:flex;flex-direction:column;align-items:center;justify-content:center;height:64px;font-size:13px;font-weight:700;color:var(--ink)}
.mbar a:hover{text-decoration:none}
.mbar a svg{width:22px;height:22px;margin-bottom:3px}
.mbar a.p{background:var(--brand);color:#fff}
@media (min-width:900px){.mbar{display:none}}

/* 404 */
.nf{padding:120px 0;text-align:center}
.nf b{font-size:64px;color:var(--brand);display:block}

/* ===== 와이드 레이아웃 (PC 화면 꽉 차게) ===== */
:root{--wrap:1760px;--gut:clamp(20px,5vw,96px)}
.wrap{max-width:var(--wrap);padding-left:var(--gut);padding-right:var(--gut)}
.hd .wrap{height:72px}
.logo img{width:128px}

/* 히어로: PC 2단(문구 + 운영 화면 콜라주) */
.hero-grid{display:grid;grid-template-columns:1fr;gap:0 56px}
.hero-vis{display:none}
.hero .facts{grid-column:1/-1}
@media (min-width:1100px){
  .hero{min-height:calc(100vh - 72px);display:flex;align-items:center}
  .hero .wrap{width:100%;padding-top:72px;padding-bottom:72px}
  .hero-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:center}
  .hero-vis{display:block;position:relative;aspect-ratio:1.15/1;max-height:640px}
  .hero-vis img{position:absolute;border-radius:18px;box-shadow:0 40px 80px -30px rgba(0,0,0,.6);border:1px solid rgba(255,255,255,.12)}
  .hero-vis .v1{width:72%;left:0;top:4%}
  .hero-vis .v2{width:62%;right:0;top:30%}
  .hero-vis .v3{width:50%;left:12%;bottom:0}
  .hero h1{font-size:clamp(48px,4.4vw,84px)}
  .hero .lead{font-size:clamp(19px,1.35vw,24px);max-width:780px}
  .btn{min-height:56px;padding:0 30px;font-size:17px}
  .facts{margin-top:64px}
  .facts div{padding:24px 28px}
  .facts b{font-size:clamp(20px,1.5vw,28px)}
}

/* 섹션 타이포 크게 */
@media (min-width:1100px){
  .sec{padding:clamp(96px,8vw,150px) 0}
  .sec h2{font-size:clamp(36px,2.8vw,54px)}
  .sec-hd{max-width:980px;margin-bottom:56px}
  .sec-hd p{font-size:clamp(17px,1.2vw,21px)}
  .summary{font-size:clamp(17px,1.25vw,21px);padding:36px 40px}
  .split{display:grid;grid-template-columns:minmax(300px,.75fr) 2fr;gap:64px;align-items:start}
  .split .sec-hd{position:sticky;top:110px;margin-bottom:0}
  .split .faq{max-width:none}
  .svc{gap:24px}
  .svc article{padding:34px}
  .svc h3{font-size:clamp(20px,1.5vw,26px)}
  .svc p{font-size:clamp(15.5px,1.05vw,18px)}
  .plans{gap:28px}
  .plan{padding:40px 36px}
  .plan .price{font-size:clamp(34px,2.6vw,48px)}
  .steps li{padding:28px 24px}
  .guides a{padding:32px}
  .guides h3{font-size:clamp(19px,1.4vw,24px)}
  .contact{padding:clamp(48px,5vw,88px)}
  .contact h2{font-size:clamp(30px,2.6vw,48px)}
}
@media (min-width:1280px){
  .cases{grid-template-columns:repeat(4,1fr);gap:26px}
  .case.more{grid-column:span 2}
  .co{grid-template-columns:1.2fr 1fr;gap:56px}
}
@media (min-width:1600px){.svc{grid-template-columns:repeat(3,1fr)}.guides{grid-template-columns:repeat(4,1fr)}}

/* 글 페이지: 본문 + 오른쪽 고정 상담 카드 */
.doc-grid{display:block}
.side{display:none}
.doc-hd .kicker{margin-bottom:8px}
@media (min-width:1100px){
  .doc-hd{padding:40px 0 48px}
  .doc-hd h1{font-size:clamp(36px,3vw,56px);max-width:1100px}
  .answer{max-width:1100px;font-size:clamp(17.5px,1.25vw,21px);padding:24px 28px}
  .doc-grid{display:grid;grid-template-columns:minmax(0,900px) minmax(300px,380px);justify-content:space-between;gap:64px}
  .doc{max-width:none}
  .side{display:block}
  .side-in{position:sticky;top:100px;padding-top:40px;display:grid;gap:18px}
  .toc{border:1px solid var(--line);border-radius:14px;padding:20px 22px;display:grid;gap:8px;font-size:15px;color:var(--ink-2)}
  .toc b{color:var(--ink);font-size:14px;letter-spacing:.06em}
  .side-card{background:var(--navy);color:#fff;border-radius:16px;padding:26px;display:grid;gap:10px}
  .side-card b{font-size:20px}
  .side-card p{margin:0;color:rgba(255,255,255,.75);font-size:14.5px}
  .side-card .pr strong{color:#fff;font-size:20px}
  .side-card .pr span{font-size:13px}
  .side-card .btn{width:100%;min-height:50px;font-size:16px}
  .side-card .btn-line{background:transparent;color:#fff;border-color:rgba(255,255,255,.35)}
}
@media (max-width:899px){
  .steps{gap:10px}
  .steps li{display:grid;grid-template-columns:44px 1fr;padding:16px 18px;align-items:start}
  .steps li::before{margin:3px 0 0;grid-row:span 2}
  .steps b{margin-bottom:2px}
}

/* ===== 성공사례 ===== */
.succs{display:grid;grid-template-columns:1fr;gap:20px}
.succ{background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden;display:grid;grid-template-columns:1fr}
.succ-img{background:#dfe8f8}
.succ-img img{width:100%;aspect-ratio:4/3;object-fit:cover}
.succ-txt{padding:24px 24px 28px;display:flex;flex-direction:column;justify-content:center}
.succ .big{font-size:clamp(52px,7vw,96px);font-weight:800;line-height:1;letter-spacing:-.04em;color:var(--brand);background:linear-gradient(135deg,#0a3c90,#1d6fd9);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.succ .who{display:inline-block;margin-top:14px;font-size:14px;font-weight:700;color:var(--blue);background:var(--sky);border-radius:99px;padding:4px 12px;align-self:flex-start}
.succ h3{font-size:clamp(21px,2vw,28px);margin-top:10px}
.succ p{color:var(--ink-2);margin:8px 0 0;font-size:15.5px}
@media (min-width:700px){.succ{grid-template-columns:1.1fr 1fr}}
@media (min-width:1100px){.succs{grid-template-columns:1fr 1fr;gap:26px}.succ-txt{padding:32px}}
.partners{margin-top:28px;background:var(--navy);color:#fff;border-radius:20px;padding:28px 24px;display:grid;gap:18px}
.partners h3{font-size:20px}
.partners ul{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.partners li{display:flex;gap:14px;align-items:flex-start;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:16px}
.partners svg{width:30px;height:30px;flex:none;color:#9cc3ff}
.partners li b{display:block;font-size:16px}
.partners li span{font-size:14px;color:rgba(255,255,255,.72)}
.more2 b{font-size:40px;font-weight:800;color:#9cc3ff;line-height:1;display:block}
.more2 span{font-size:16px;color:rgba(255,255,255,.85)}
@media (min-width:1100px){.partners{grid-template-columns:200px 1fr 160px;align-items:center;padding:34px 36px;gap:30px}.partners ul{grid-template-columns:1fr 1fr}.more2{text-align:right}}

/* ===== 포트폴리오 ===== */
.pf-tabs{display:inline-flex;gap:6px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:6px;margin-bottom:26px}
.pf-tabs button{font:inherit;font-weight:700;font-size:16px;border:0;background:transparent;color:var(--ink-2);padding:10px 22px;border-radius:10px;cursor:pointer;min-height:44px}
.pf-tabs button[aria-selected="true"]{background:var(--brand);color:#fff}
.pf-tabs button:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.pf-row{list-style:none;margin:0;padding:0;display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding-bottom:10px;margin-right:calc(var(--gut)*-1);padding-right:var(--gut)}
.pf-row[hidden]{display:none}
.pf-item{scroll-snap-align:start;flex:none}
.pf-item .cap{margin-top:12px}
.pf-item .cap b{display:block;font-size:15.5px}
.pf-item .cap span{font-size:14px;color:var(--mute)}
.pf-shorts .pf-item{width:62vw;max-width:260px}
.pf-video{all:unset;cursor:pointer;display:block;width:100%}
.pf-video:focus-visible .ph{outline:3px solid var(--blue);outline-offset:3px}
.ph{display:block;position:relative;aspect-ratio:9/16;border-radius:26px;overflow:hidden;background:#0d1117;border:8px solid #0d1117;box-shadow:0 24px 50px -24px rgba(10,40,100,.45)}
.ph img,.ph video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ph video{z-index:2}
.play{position:absolute;z-index:3;left:50%;top:50%;width:64px;height:64px;margin:-32px 0 0 -32px;border-radius:50%;background:rgba(255,255,255,.92);box-shadow:0 8px 24px rgba(0,0,0,.3)}
.play::after{content:"";position:absolute;left:26px;top:20px;border-left:18px solid var(--navy);border-top:12px solid transparent;border-bottom:12px solid transparent}
.playing .play{display:none}
.fr{display:block;border-radius:16px;overflow:hidden;background:#fff;border:1px solid var(--line);box-shadow:0 20px 40px -26px rgba(10,40,100,.4)}
.fr img{width:100%;height:100%;object-fit:cover}
.pf-blog .pf-item{width:72vw;max-width:340px}
.pf-blog .fr{aspect-ratio:1/1}
.pf-blog .pf-tall .fr img{object-position:top}
.pf-site .pf-item{width:82vw;max-width:520px}
.pf-site .fr{aspect-ratio:4/3}
@media (min-width:900px){
  .pf-row{overflow:visible;margin-right:0;padding-right:0;display:grid;gap:24px}
  .pf-shorts{grid-template-columns:repeat(3,1fr)}
  .pf-shorts .pf-item,.pf-blog .pf-item,.pf-site .pf-item{width:auto;max-width:none}
  .pf-blog{grid-template-columns:repeat(4,1fr)}
  .pf-site{grid-template-columns:repeat(2,1fr)}
}
@media (min-width:1500px){.pf-site{grid-template-columns:repeat(4,1fr)}}

@media (min-width:1280px){.pf-shorts{grid-template-columns:repeat(6,1fr)}}
