:root {
  --color-main: #3F3B3A;
  --color-sub: #838383;
  --color-point: #329DDF;
  --color-point-dark: #103851;
  --color-line: #e3e3e3;
  --color-bg: #ffffff;

  --font-base: 'Noto Sans KR', sans-serif;

  --container-max: 1300px;
  --section-min-h: 960px;
  --side-padding: clamp(10px, 1vw, 310px);
}
html, body { overflow-x: hidden; }
body {  font-family: var(--font-base);  font-weight: 300;  color: var(--color-main);  background: var(--color-bg);}

/* Layout */
.container {width: 100%;max-width: var(--container-max);margin: 0 auto;padding: 0 var(--side-padding);position: relative;}
.section {width: 100%;min-height: var(--section-min-h);padding: 120px 0;display: flex;align-items: center;position: relative;}

/* deco */
.brand-mark {  position: fixed;  top: 32px;  right: 32px;  z-index: 100;  width: 60px;  height: 60px;}
.brand-mark img {  width: 100%;  height: 100%;  object-fit: contain;}
.career-deco { position: absolute;  right: clamp(-180px, 18vw, -150px);  bottom: -270px;  width: 1000px;  height: 1000px;  border: 120px solid var(--color-point);  border-radius: 50%;  opacity: 0.15;  z-index: -1;  pointer-events: none;}
.photo-deco { position: absolute;  background: var(--color-point);  opacity: 0.15;  width: 1650px;  height: 230px;  right: -169px;  bottom: 199px;  transform: rotate(-30deg);}

/* Section 01 : Intro */
.intro-inner {max-width: 670px;}
.intro-eyebrow {font-size: 26px;font-weight: 300;color: var(--color-sub);margin-bottom: 0;margin-left: 25px;}
.intro-title {font-size: 65px;font-weight: 300;line-height: 1.3;}
.intro-title strong {padding-left:20px;color: var(--color-point);font-weight: 600; background-color: #fff;}
.intro-title span { background-color:#fff; padding-right: 30px;}
.intro-title p { padding-left:20px;}
.intro-title-line  { position: absolute;  width:100%;  background: var(--color-point);  height: 5px;  margin-top: -200px; }
.intro-nav {display: flex;gap: 54px;margin-top: 218px;margin-left: 27px;font-size: 16px;font-weight: 700;letter-spacing: 0.05em;color: #c1c1c1 ;position: relative;}
.intro-nav a { position:relative; }
.intro-nav a::after {content:"";position:absolute;height: 13px;width: 2px;background-color: #c1c1c1;top: 7px;right: -28px;}
.intro-nav a:last-child::after { content:none;}
.intro-nav a:hover { color:#000; }

.intro .container { max-width:1350px; }
.intro .photo {display:none;}
/* Section 02 : Career */
.career-group {  margin-bottom: 32px;}
.career-group:last-child {  margin-bottom: 0;}
.career-label {font-size: 16px;font-weight: 400;color: var(--color-sub);margin-bottom: 12px;}
.career-list {display: grid;grid-template-columns: repeat(6, 1fr);gap: 12px;margin-bottom: 12px;}
.career-list:last-child {  margin-bottom: 0;}
.career-list li {height: 72px;display: flex;align-items: center;justify-content: center;}
.career-list img {  max-width: 100%;  max-height: 100%;  object-fit: contain;}

/* Section 03 : About */
.section.about { padding-bottom:0; min-height: unset;}
.about-inner {display: grid;grid-template-columns: 1fr 620px;gap: 32px;}
.about-item {margin-bottom: 28px;}
.about-item:last-child {margin-bottom: 0;}
.about-item-title {font-size: 18px;font-weight: 700;margin-bottom: 8px;}
.about-item-desc {font-size: 16px;font-weight: 300;color: var(--color-sub);}
.about-photo {position: relative;width: 380px;margin: -150px auto 0;}
.about-photo img {width: 100%;height: auto;position: relative;z-index: 1;}

/* Section 04 : Portfolio */
.section.portfolio {min-height: unset;padding: 0;}
.section.portfolio .container { padding: 0;}
.portfolio-list {display: grid;grid-template-columns: repeat(3, 1fr);gap: 10px;}
.portfolio-item {cursor: pointer;overflow: hidden;position: relative;background: #fff;}
.portfolio-item img {width: 100%;height: 100%;object-fit: cover;}
.portfolio-item::after {content: "";position: absolute;inset: 0;background: rgb(0 0 0 / 48%);opacity: 0;transition: opacity 0.3s ease;}
.portfolio-item:hover::after {opacity: 1;}
.portfolio-item-tag {position: absolute;top: 50%;left: 50%;transform: translate(-50%, -50%);color: #fff;font-size: 14px;font-weight: 700;letter-spacing: 0.05em;opacity: 0;transition: opacity 0.3s ease;z-index: 1;}
.portfolio-item:hover .portfolio-item-tag {opacity: 1;}

/* Section 05 : Contact */ 
.section.contact {min-height: unset;}
.contact-lead {font-size: 24px;font-weight: 300;line-height: 1.6;margin-bottom: 64px;}
.contact-lead strong {color: var(--color-point);font-weight: 600;}
.contact-lead strong.st2 {color: var(--color-point-dark);font-weight: 600;}
.site-footer {display: flex; justify-content: space-between;align-items: center;}
.site-footer .logo-group {display: flex;gap: 48px;align-items: center;}
.site-footer .logo{width: 133px;height: 133px;}
.site-footer .info { display: flex;  flex-direction: column;  gap: 4px;}
.site-footer .info > div {display:flex;position: relative;gap: 4px;}
.site-footer .info dt {width: 150px;position: relative;}
.site-footer .info dt::after  {content:"";position:absolute;height: 13px;width: 2px;background-color: var(--color-sub);top: 7px;right: 10px;}
.site-footer .buttons .btn {display: flex;align-items: center;justify-content: center;gap: 6px;padding: 10px 20px;font-size: 14px;white-space: nowrap;margin: 6px 0;}
.site-footer .buttons .btn-primary {background: #fee600;color: var(--color-main);}
.site-footer .buttons .btn-primary .btn-icon {width: 16px;height: 16px;object-fit: contain;}
.site-footer .buttons .btn-dark {background: var(--color-main);color: #fff;}

/* Section 04 : Portfolio Modal */
html.modal-open, body.modal-open { overflow: hidden; }
.portfolio-modal {  position: fixed;  inset: 0;  background: rgba(0, 0, 0, 0.8);  overflow-y: auto;  opacity: 0;  visibility: hidden;  transition: opacity 0.25s ease;  z-index: 1000;}
.portfolio-modal.is-open { opacity: 1; visibility: visible; }
.portfolio-modal-inner {  width: fit-content;  max-width: 1500px;  margin: 80px auto;}
.portfolio-modal-images { width: 100%; display: flex; flex-direction: column; align-items: center; }
.portfolio-modal-images img { display: block; max-width: 100%; width: auto; height: auto; margin: 0 auto; }
.portfolio-modal-images img + img { margin-top: 2px; }
.portfolio-modal-info {width: 100%;box-sizing: border-box;padding: 20px 40px;border-bottom: 1px solid #eee;display: flex;flex-direction: row;justify-content: flex-start;background: #fff;margin-bottom: 20px;}
.portfolio-modal-info:empty { padding: 0; border-bottom: none; }
.portfolio-modal-info p {font-size: 15px;font-weight: 700;width: 200px;}
.portfolio-modal-info ul { list-style: none; padding: 0; margin: 0; }
.portfolio-modal-info li {font-size: 14px;font-weight: 300;color: var(--color-sub);line-height: 1.7;}
.portfolio-modal-info li:last-child { margin-bottom: 0; }
.portfolio-modal-info li strong { display: block; font-size: 14px; font-weight: 700; color: var(--color-main); margin-bottom: 4px; }
.portfolio-modal-info .list-type {display: flex;flex-wrap: wrap;gap: 20px;}
.portfolio-modal-info .list-type li {    width: 20%;    border: 1px solid #eee;    padding: 20px;    height: 170px;}
.portfolio-modal-close {  position: fixed;  top: 32px;  right: 32px;  width: 44px;  height: 44px;  border: none;  border-radius: 50%;  background: #fff;  color: #000;  font-size: 24px;  line-height: 1;  cursor: pointer;  z-index: 1001;}
.portfolio-modal-close:hover { background: rgba(255, 255, 255, 0.3); }