/* MC Digital — working decision room */
:root{
  --paper:#F5EDBE;
  --paper-soft:#FBF6DC;
  --ink:#131311;
  --violet:#6C00F5;
  --violet-deep:#4A00B0;
  --line:2px solid var(--ink);
}

*{box-sizing:border-box}

html{scroll-behavior:smooth}

body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:'Do Hyeon',sans-serif;
  font-size:17px;
  line-height:1.55;
}

a{color:var(--violet);text-decoration-thickness:2px;text-underline-offset:3px}
a:hover{color:var(--violet-deep)}

:focus-visible{outline:3px solid var(--violet);outline-offset:3px}

.skip-link{
  position:absolute;left:-9999px;top:0;
  background:var(--ink);color:var(--paper);
  padding:10px 18px;z-index:100;
}
.skip-link:focus{left:0;color:var(--paper)}

.wrap{max-width:1080px;margin:0 auto;padding:0 20px}

/* ---------- header ---------- */
.site-header{
  border-bottom:var(--line);
  background:var(--paper);
  position:sticky;top:0;z-index:50;
}
.site-header .wrap{
  display:flex;align-items:center;justify-content:space-between;
  gap:20px;flex-wrap:wrap;padding-top:14px;padding-bottom:14px;
}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink)}
.brand img{width:44px;height:44px;object-fit:contain}
.brand-name{font-size:22px;line-height:1.05}
.brand-sub{display:block;font-size:11px;letter-spacing:.22em;color:var(--violet)}

.main-nav ul{
  display:flex;gap:20px;flex-wrap:wrap;margin:0;padding:0;list-style:none;
}
.main-nav a{
  color:var(--ink);text-decoration:none;font-size:15px;
  border-bottom:2px solid transparent;
}
.main-nav a:hover{color:var(--violet);border-bottom-color:var(--violet)}

/* ---------- hero ---------- */
.hero{border-bottom:var(--line);padding:72px 0 0}
.kicker{
  font-size:13px;letter-spacing:.28em;color:var(--violet);
  text-transform:uppercase;margin:0 0 14px;
}
.hero h1{
  margin:0 0 18px;
  font-size:clamp(40px,8vw,88px);
  line-height:1.02;font-weight:400;
  letter-spacing:-.01em;
}
.hero-slogan{
  font-size:clamp(18px,2.4vw,24px);margin:0 0 10px;
  border-left:6px solid var(--violet);padding-left:14px;
}
.hero-note{font-size:15px;max-width:640px;margin:0 0 56px}

/* ---------- path selector ---------- */
.selector{margin:0;padding:0;list-style:none;border-top:var(--line)}
.selector li{border-bottom:var(--line)}
.selector a{
  display:grid;
  grid-template-columns:minmax(72px,140px) 1fr auto;
  align-items:center;gap:24px;
  padding:26px 8px;
  color:var(--ink);text-decoration:none;
}
.selector a:hover{background:var(--ink);color:var(--paper)}
.selector a:hover .path-num{color:var(--violet);-webkit-text-stroke:0}
.selector a:hover .path-go{color:var(--paper)}
.path-num{
  font-size:clamp(56px,9vw,110px);
  line-height:.9;color:transparent;
  -webkit-text-stroke:2px var(--ink);
}
.selector a:hover .path-num{-webkit-text-stroke:2px var(--violet)}
.path-q{display:block;font-size:15px;color:var(--violet);margin-bottom:4px}
.selector a:hover .path-q{color:var(--paper)}
.path-name{font-size:clamp(22px,3.4vw,34px);line-height:1.1}
.path-go{font-size:30px;justify-self:end}

/* ---------- sections ---------- */
section.block{padding:64px 0;border-bottom:var(--line)}
.sec-num{
  font-size:clamp(48px,7vw,84px);line-height:1;
  color:transparent;-webkit-text-stroke:2px var(--violet);
  display:block;margin-bottom:8px;
}
h2.sec-title{font-size:clamp(26px,4vw,40px);margin:0 0 26px;font-weight:400}
h3{font-size:20px;margin:30px 0 10px;font-weight:400}
p{max-width:70ch}
.lede{font-size:19px}
.slogan-inline{
  display:block;margin:20px 0;padding:14px 18px;
  border:var(--line);background:var(--paper-soft);font-size:19px;
}
.slogan-inline::before{content:"";display:inline-block;width:10px;height:10px;background:var(--violet);margin-right:10px}

/* ---------- structured tables ---------- */
.table-scroll{overflow-x:auto}
table.structured{
  width:100%;border-collapse:collapse;
  border:var(--line);background:var(--paper-soft);
  font-size:16px;
}
table.structured caption{
  text-align:left;font-size:14px;color:var(--violet);
  letter-spacing:.12em;padding:0 0 10px;text-transform:uppercase;
}
table.structured th,table.structured td{
  border:1px solid var(--ink);padding:14px 16px;
  text-align:left;vertical-align:top;
}
table.structured thead th{
  background:var(--ink);color:var(--paper);font-weight:400;
  letter-spacing:.06em;white-space:nowrap;
}
table.structured tbody th{font-weight:400;background:var(--paper)}
table.structured .rownum{
  font-size:26px;color:var(--violet);line-height:1;
}

/* ---------- decision room ---------- */
.room-note{
  border:var(--line);background:var(--paper-soft);
  padding:22px 24px;margin-top:34px;
}
.room-note h3{margin-top:0}

/* ---------- FAQ ---------- */
details.faq{
  border:var(--line);background:var(--paper-soft);
  margin-bottom:-2px;
}
details.faq summary{
  cursor:pointer;padding:18px 20px;font-size:19px;
  list-style:none;position:relative;
}
details.faq summary::-webkit-details-marker{display:none}
details.faq summary::before{
  content:"+";color:var(--violet);font-size:26px;margin-right:12px;
}
details.faq[open] summary{border-bottom:1px solid var(--ink)}
details.faq[open] summary::before{content:"–"}
details.faq .faq-body{padding:4px 20px 20px 52px}

/* ---------- brief form ---------- */
.brief-sheet{
  border:var(--line);background:var(--paper-soft);
  padding:30px;position:relative;
}
.brief-sheet::before{
  content:"프로젝트 브리프";
  position:absolute;top:-14px;left:24px;
  background:var(--violet);color:var(--paper);
  font-size:13px;letter-spacing:.2em;padding:4px 14px;
}
.brief-field{margin:26px 0 0}
.brief-field label{
  display:flex;align-items:baseline;gap:12px;
  font-size:18px;margin-bottom:8px;
}
.brief-field .fnum{
  font-size:30px;color:transparent;-webkit-text-stroke:1.5px var(--violet);
  line-height:1;
}
.brief-field input,.brief-field textarea,.brief-field select{
  width:100%;border:var(--line);background:var(--paper);
  font-family:inherit;font-size:16px;padding:12px 14px;color:var(--ink);
}
.brief-field textarea{min-height:120px;resize:vertical}
.brief-consent{display:flex;gap:10px;align-items:flex-start;margin:26px 0 18px;font-size:15px}
.brief-consent input{width:20px;height:20px;margin-top:2px;accent-color:var(--violet)}
.btn-ink{
  display:inline-block;border:var(--line);background:var(--ink);
  color:var(--paper);font-family:inherit;font-size:19px;
  padding:14px 38px;cursor:pointer;text-decoration:none;
}
.btn-ink:hover{background:var(--violet);color:var(--paper);border-color:var(--violet)}

/* ---------- contacts ---------- */
.contact-table{border:var(--line);background:var(--paper-soft)}
.contact-table .crow{
  display:grid;grid-template-columns:180px 1fr;
  border-bottom:1px solid var(--ink);
}
.contact-table .crow:last-child{border-bottom:none}
.contact-table .crow>div{padding:16px 20px}
.contact-table .ckey{background:var(--paper);border-right:1px solid var(--ink);color:var(--violet);letter-spacing:.1em;font-size:14px;display:flex;align-items:center}

/* ---------- footer ---------- */
.site-footer{padding:40px 0 60px}
.site-footer .wrap{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
.legal-list{display:flex;gap:18px;flex-wrap:wrap;list-style:none;margin:0;padding:0;font-size:14px}
.legal-list a{color:var(--ink)}
.foot-brand{font-size:14px}

/* ---------- service pages ---------- */
.crumb{font-size:14px;margin:22px 0 0}
.page-hero{padding:40px 0 48px;border-bottom:var(--line)}
.page-hero h1{font-size:clamp(34px,6vw,64px);margin:6px 0 14px;line-height:1.05;font-weight:400}
.page-hero .hero-num{
  font-size:clamp(70px,12vw,140px);line-height:.9;
  color:transparent;-webkit-text-stroke:2px var(--violet);display:block;
}
.steps{counter-reset:step;margin:0;padding:0;list-style:none}
.steps li{
  counter-increment:step;border:var(--line);background:var(--paper-soft);
  padding:18px 22px 18px 86px;position:relative;margin-bottom:14px;
}
.steps li::before{
  content:counter(step,decimal-leading-zero);
  position:absolute;left:18px;top:14px;
  font-size:42px;line-height:1;color:transparent;
  -webkit-text-stroke:1.5px var(--violet);
}

/* ---------- cookie banner ---------- */
#cookie-banner{
  position:fixed;bottom:0;left:0;right:0;
  background:var(--ink);color:var(--paper);
  padding:14px 20px;display:none;z-index:10000;
  border-top:3px solid var(--violet);
}
#cookie-banner p{margin:0;text-align:center;font-size:14px}
#cookie-banner a{color:var(--paper)}
#cookie-banner .cookie-buttons{display:flex;justify-content:center;gap:10px;margin-top:10px}
#cookie-banner button{
  padding:8px 22px;border:1px solid var(--paper);cursor:pointer;
  font-family:inherit;background:transparent;color:var(--paper);font-size:14px;
}
#cookie-banner .accept-btn{background:var(--violet);border-color:var(--violet)}
@media (min-width:768px){
  #cookie-banner{display:none}
  #cookie-banner .cookie-buttons{margin-top:0;margin-left:20px}
}

/* ---------- responsive ---------- */
@media (max-width:760px){
  .selector a{grid-template-columns:64px 1fr auto;gap:14px;padding:20px 4px}
  .contact-table .crow{grid-template-columns:1fr}
  .contact-table .ckey{border-right:none;border-bottom:1px solid var(--ink)}
  .brief-sheet{padding:22px 18px}
  .site-header .wrap{justify-content:center;text-align:center}
  details.faq .faq-body{padding-left:20px}
}

/* ---------- reduced motion ---------- */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{
    transition:none !important;
    animation:none !important;
  }
}
