/* =====================================================================
   브랜드 토큰 v4 — 정본: design/brandboard.html, design.md (2026-08-28)
   색은 --brand / --ink / --white 3개와 아래 알파 변형만 쓴다. 새 헥스 금지.
   주황(--brand)은 면(버튼 배경·강조선·점)으로만 쓰고 그 위 글자는 --ink.
   흰 글자 on 주황(2.4:1)·주황 글자 on 흰(2.4:1) 금지. 주황 면적은 화면의 5% 이하.
   홈(S2)은 아래 "홈 v3" 블록만 쓴다. 서브페이지 스타일은 S4에서 토큰으로 교체한다.
   ===================================================================== */
@font-face { font-family: "Noto Sans KR"; font-weight: 100 700; font-style: normal; font-display: swap; src: url("/assets/noto-sans-kr/NotoSansKR.subset-7c8bcb67.woff2") format("woff2"); }

:root {
  /* 색 — 원색 3 */
  --brand: #F28C28;                      /* 앰버. 면 전용 */
  --ink: #111111;                        /* 글자·선·다크 면 */
  --white: #ffffff;                      /* 바탕 */
  /* 색 — 알파 변형(잉크 위에 흰 바탕 기준 대비) */
  --ink-70: rgba(17, 17, 17, .70);       /* 보조 텍스트 7.1:1 */
  --ink-60: rgba(17, 17, 17, .60);       /* 파인프린트·플레이스홀더 4.9:1 — 글자 최소 */
  --ink-45: rgba(17, 17, 17, .45);       /* 폼 테두리·아이콘 3.0:1 — 글자 금지 */
  --line: rgba(17, 17, 17, .15);         /* 장식 구분선·카드 테두리 */
  --surface: rgba(17, 17, 17, .04);      /* 연한 회색 면 */
  --brand-soft: rgba(242, 140, 40, .12); /* 연한 주황 면(캡션 배경·배지) — 5% 면적 규칙에 포함 */
  --brand-hover: linear-gradient(rgba(17, 17, 17, .08), rgba(17, 17, 17, .08)); /* 주황 버튼 호버: 잉크 8% 덧씌움(글자 6.6:1) */
  --on-brand: var(--ink);                /* 주황 면 위 글자는 항상 잉크 */
  --on-ink: var(--white);                /* 잉크 면 위 글자는 흰 */
  --on-ink-70: rgba(255, 255, 255, .70); /* 잉크 면 위 보조 텍스트 11:1 */
  /* 타이포 — Noto Sans KR 1종, 100/400/600/700 */
  --font-sans: "Noto Sans KR", "Apple SD Gothic Neo", "Malgun Gothic", system-ui, sans-serif;
  --fs-h1: clamp(2rem, 1.56rem + 1.88vw, 3.25rem);          /* 32 → 52px */
  --fs-h2: clamp(1.5rem, 1.24rem + 1.13vw, 2.25rem);        /* 24 → 36px */
  --fs-h3: clamp(1.125rem, 1.04rem + .38vw, 1.375rem);      /* 18 → 22px */
  --fs-body: clamp(1rem, .98rem + .09vw, 1.0625rem);        /* 16 → 17px */
  --fs-fine: clamp(.8125rem, .79rem + .09vw, .875rem);      /* 13 → 14px */
  --lh-tight: 1.2;   /* H1 */
  --lh-head: 1.3;    /* H2·H3 */
  --lh-body: 1.7;    /* 본문 */
  --ls-head: -.02em; /* H1·H2 */
  /* 형태·간격 */
  --radius: 8px;
  --control-h: 48px; /* 버튼·입력 최소 높이(엄지 터치) */
  --focus-ring: 3px solid var(--ink);
  --focus-offset: 3px;
}

/* ===== 기본 ===== */
* { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body { margin: 0; color: var(--ink); background: var(--white); font-family: var(--font-sans); font-size: var(--fs-body); line-height: var(--lh-body); word-break: keep-all; }
body.mobile-nav-open { overflow: hidden; }
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-underline-offset: .2em; }
button, input, textarea, select { font: inherit; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { line-height: 1.25; letter-spacing: -.04em; }
h1 { font-size: clamp(2.5rem, 5vw, 4.75rem); }
h2 { font-size: clamp(2rem, 3.5vw, 3.25rem); }
h3 { font-size: 1.35rem; }
:focus-visible { outline: var(--focus-ring); outline-offset: var(--focus-offset); }

.shell { width: min(calc(100% - 48px), 1200px); margin-inline: auto; }
.narrow { max-width: 920px; }
.skip-link { position: fixed; z-index: 100; top: 8px; left: 8px; transform: translateY(-160%); padding: 10px 16px; background: var(--ink); color: var(--on-ink); }
.skip-link:focus { transform: none; }

/* ===== 공용: 헤더·버튼·푸터 ===== */
.site-header { position: sticky; z-index: 20; top: 0; border-bottom: 1px solid var(--line); background: var(--white); }
.site-header__inner { min-height: 72px; display: flex; align-items: center; gap: 28px; }
.brand { display: inline-flex; align-items: center; gap: 12px; text-decoration: none; font-size: 1rem; font-weight: 700; letter-spacing: .08em; }
.brand img { flex: 0 0 auto; }
.site-header .brand { color: var(--brand); }
.site-header .brand__full-logo { width: 159px; height: 40px; }
.site-nav { display: flex; gap: 40px; margin-left: auto; }
.site-nav__link { position: relative; color: var(--ink); font-size: .8125rem; font-weight: 600; text-decoration: none; }
.site-nav__link:hover { color: var(--ink); text-decoration: underline; }
.site-nav__link[aria-current="page"] { color: var(--ink); }
.site-nav__link[aria-current="page"]::after { position: absolute; right: 0; bottom: -8px; left: 0; height: 2px; background: var(--brand); content: ""; }
.site-header .button { min-height: 44px; border-color: var(--ink); background: var(--brand); color: var(--ink); font-size: .8125rem; white-space: nowrap; }
.site-header .button:hover { background: var(--brand-hover) var(--brand); }
.mobile-nav { display: none; }
#about { scroll-margin-top: 96px; }

.button { display: inline-flex; min-height: var(--control-h); align-items: center; justify-content: center; gap: 8px; padding: 0 20px; border: 1px solid var(--ink); border-radius: var(--radius); background: var(--brand); color: var(--on-brand); font-weight: 700; text-decoration: none; cursor: pointer; transition: transform .15s ease, background-color .15s ease; }
.button:hover { background: var(--brand-hover) var(--brand); transform: translateY(-1px); }
.button:disabled { cursor: not-allowed; opacity: .45; transform: none; }
.button--small { min-height: 40px; padding: 0 14px; font-size: var(--fs-fine); }
.button--outline { background: var(--white); }
.button--outline:hover { background: var(--surface); }
.text-link { font-weight: 600; text-decoration-thickness: 1px; }

.site-footer { padding: 56px 0; background: var(--ink); color: var(--on-ink); }
.site-footer__grid { display: grid; grid-template-columns: 1fr auto; gap: 32px; }
.brand--footer { margin-bottom: 12px; }
.site-footer p { color: var(--on-ink-70); font-size: var(--fs-fine); }
.site-footer nav { display: flex; gap: 24px; font-size: var(--fs-fine); }
.site-footer__legal { grid-column: 1 / -1; margin: 24px 0 0; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.18); /* --white 18% */ }

/* ===== 공용 접근성·문의폼·모바일 메뉴 ===== */
.sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important; }
.nowrap { white-space: nowrap; }
.honeypot[hidden] { display: none; }

/* 폼 토큰은 Relume 토큰에 매핑(구 .page-home 값 대체, 폴 확인 2026-08-31) */
.home-form { --home-orange: var(--relume-orange); --home-ink: var(--relume-ink); --home-muted: var(--relume-copy); --home-field: #f6f7f8; margin: 0; border: 1px solid rgba(17,24,32,.06); border-radius: 8px; background: #fff; box-shadow: 0 14px 32px rgba(17,24,32,.12); }
.home-button { display: inline-flex; min-width: 180px; min-height: 55px; align-items: center; justify-content: center; padding: 0 28px; border: 0; border-radius: 5px; background: var(--home-orange); color: #fff; box-shadow: none; font-weight: 700; text-decoration: none; }
.home-button:hover { background: #e85300; color: #fff; transform: none; }
.home-form--compact { width: 100%; max-width: 500px; padding: 37px 28px 32px; }
.home-form__heading { margin-bottom: 12px; }
.home-form__heading h2 { margin: 0; color: var(--home-ink); font-size: 24px; line-height: 1.3; letter-spacing: -.025em; }
.home-form__heading p { margin: 4px 0 0; color: #747a80; font-size: 14px; }
.home-form label { display: block; margin: 0; }
.home-form input:not([type="checkbox"]), .home-form textarea, .home-form select { width: 100%; min-height: 40px; border: 1px solid #8a8a8a; border-radius: 3px; background: var(--home-field); color: var(--home-ink); font-size: 14px; }
.home-form input:not([type="checkbox"]), .home-form textarea { padding: 12px 17px; }
.home-form input::placeholder { color: #8b9299; opacity: 1; }
.home-form--compact input:not([type="checkbox"]), .home-form--compact textarea { color: var(--home-ink); font-size: 13px; }
.home-form--compact input::placeholder, .home-form--compact textarea::placeholder { color: #8b9299; opacity: 1; }
.home-form input:focus, .home-form textarea:focus, .home-form select:focus { border-color: var(--home-ink); background: #fff; }
.home-form input:focus-visible, .home-form textarea:focus-visible, .home-form select:focus-visible { outline: 2px solid var(--home-ink); outline-offset: 2px; }
.home-form__stack { display: grid; gap: 12px; }
.home-form__stack label > span, .home-form__work > span, .home-form__grid label > span { display: block; margin-bottom: 6px; color: var(--home-ink); font-size: 12px; font-weight: 600; }
.home-form__work { margin-top: 4px !important; }
.home-form__work textarea { height: 112px; min-height: 112px; padding: 10px 15px; overflow: auto; line-height: 1.48; resize: none; }
.home-form__submit { width: 100%; min-height: 47px; margin-top: 10px; font-size: 17px; }
.home-form__consent { min-height: 44px; display: grid !important; grid-template-columns: 24px minmax(0, 1fr); gap: 10px; align-items: center; margin-top: 14px !important; color: var(--home-ink); font-size: 12px; line-height: 1.5; cursor: pointer; }
.home-form__consent input { width: 24px; height: 24px; margin: 0; appearance: none; border: 1px solid #8a8a8a; border-radius: 2px; background: #fff; cursor: pointer; }
.home-form__consent input:checked { background: var(--home-orange) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m3 8 3 3 7-7' fill='none' stroke='%23111820' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 16px 16px no-repeat; }
.home-form__consent input:focus-visible { outline: 2px solid var(--home-ink); outline-offset: 2px; }
.home-form__consent a { color: inherit; font-weight: 600; text-decoration: underline; text-underline-offset: .15em; }
.home-field-error { display: block; margin: 3px 0 0; color: #8d2500; font-size: 11px; font-weight: 600; }
.home-field-error[hidden] { display: none; }
.home-form__consent-error { margin-left: 34px; }
.home-form__status { min-height: 0; margin: 8px 0 0; color: var(--home-muted); font-size: 12px; line-height: 1.45; }
.home-form__status:empty { display: none; }
.home-form--detailed { width: 650px; padding: 18px 28px 13px; align-self: end; }
.home-form .home-form__heading h2 { font-size: 24px; line-height: 1.3; }
.home-form__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px 22px; }
.home-form__grid label > span { margin-bottom: 4px; font-size: 12px; line-height: 1.3; }
.home-form__grid input { min-height: 34px !important; padding-block: 7px !important; }
.home-form--detailed input:not([type="checkbox"]), .home-form--detailed textarea { font-size: 13px; font-weight: 400; }
.home-form--detailed input::placeholder, .home-form--detailed textarea::placeholder { color: #8b9299; opacity: 1; }
.home-form__message { grid-column: 1 / -1; }
.home-form__message textarea { min-height: 62px; resize: vertical; }
.home-form--detailed .home-form__submit { min-height: 40px; margin-top: 9px; }
.home-form--detailed .home-form__consent { margin-top: 8px !important; }

@media (max-width: 980px) {
  .site-header__inner { min-height: 64px; }
  .site-header > .site-header__inner > .site-nav, .site-header__cta { display: none; }
  .mobile-nav { display: block; margin-left: auto; }
  .mobile-nav summary { width: 44px; min-width: 44px; min-height: 44px; display: grid; place-items: center; border: 0; border-radius: var(--radius); cursor: pointer; list-style: none; }
  .mobile-nav summary::-webkit-details-marker { display: none; }
  .mobile-nav__icon { position: relative; width: 22px; height: 16px; display: block; border-top: 2px solid currentColor; border-bottom: 2px solid currentColor; }
  .mobile-nav__icon::before { position: absolute; top: 50%; right: 0; left: 0; height: 2px; background: currentColor; content: ""; transform: translateY(-50%); }
  .mobile-nav[open] summary { background: var(--surface); }
  .mobile-nav__scrim { position: fixed; z-index: 21; inset: 64px 0 0; background: rgba(0, 0, 0, .45); }
  .mobile-nav nav { position: absolute; z-index: 22; top: calc(100% + 1px); right: 20px; left: 20px; display: grid; gap: 0; padding: 0 16px 16px; border-radius: var(--radius); background: var(--white); box-shadow: 0 18px 44px rgba(17, 17, 17, .20); }
  .mobile-nav .site-nav__link { min-height: 60px; display: flex; align-items: center; padding-inline: 10px; border-bottom: 1px solid var(--line); }
  .mobile-nav .site-nav__link::after { display: none; }
  .site-header .mobile-nav .button { min-height: 60px; margin-top: 16px; }
  .home-form--compact { max-width: 620px; justify-self: center; }
  .home-form--detailed { width: 100%; align-self: auto; }
}

@media (max-width: 600px) {
  .home-form--compact { padding: 16px 18px 12px; }
  .home-form--detailed { padding: 24px 18px 20px; }
  .home-form--compact input:not([type="checkbox"]) { min-height: 44px; padding-block: 10px; }
  .home-form--compact .home-form__work textarea { line-height: 1.35; }
  .home-form__heading h2 { font-size: 21px; }
  .home-form__grid { grid-template-columns: minmax(0, 1fr); gap: 13px; }
  .home-form__grid input { min-height: 44px !important; }
  .home-form__message { grid-column: auto; }
  .home-form__consent { align-items: start; }
}

@media (max-width: 380px) {
  .home-form--compact { padding-top: 12px; }
  .home-form--compact .home-form__work textarea { height: 120px; min-height: 120px; }
}

/* ===== 개인정보·404 ===== */
.privacy-policy { max-width: 920px; }
.privacy-policy > section + section { margin-top: 56px; padding-top: 48px; border-top: 1px solid var(--line); }
.privacy-policy h2 { margin-bottom: 20px; font-size: clamp(1.5rem, 2.5vw, 2rem); }
.privacy-table-wrap { overflow-x: auto; margin: 24px 0; }
.privacy-table-wrap table { width: 100%; min-width: 680px; border-collapse: collapse; }
.privacy-table-wrap th, .privacy-table-wrap td { padding: 16px; border: 1px solid var(--line); text-align: left; vertical-align: top; }
.privacy-table-wrap th { width: 180px; background: #f7f7f7; } /* .relume-page-header__card와 동일 면색 */
.privacy-contact { margin: 0; }
.privacy-contact div { display: grid; grid-template-columns: 220px 1fr; padding: 16px 0; border-bottom: 1px solid var(--line); }
.privacy-contact dt { font-weight: 700; }
.privacy-contact dd { margin: 0; }
.error-page { min-height: 62vh; }

@media (max-width: 720px) {
  .shell { width: min(calc(100% - 40px), 1200px); }
  .privacy-contact div { grid-template-columns: 1fr; gap: 4px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
  .button { transition: none; }
  .button:hover { transform: none; }
  .mobile-nav nav, .mobile-nav__scrim { animation: none; transition: none; }
}

/* ===== Relume Design 이식 (홈·블로그·개인정보, 2026-08-31) ===== */
.relume-page { --relume-orange: #ff6107; --relume-orange-text: #b94705; --relume-ink: #111820; --relume-copy: #424242; --relume-tint: #fff3ec; }
.relume-page .site-header { position: sticky; top: 0; height: 72px; border-bottom: 1px solid rgba(7,7,7,.12); background: #fff; }
.relume-page .site-header__inner, .relume-shell { width: min(calc(100% - 48px), 1200px); margin-inline: auto; }
.relume-page .site-header__inner { min-height: 72px; }
.relume-page .site-header .brand__full-logo { width: 159px; height: 40px; }
.relume-page .site-nav { gap: 36px; }
.relume-page .site-nav__link { color: var(--relume-ink); font-size: .875rem; font-weight: 500; }
.relume-page .site-nav__link::after { display: none; }
.relume-page .site-header .button, .relume-button { min-height: 44px; padding: 0 20px; border: 1px solid var(--relume-orange); border-radius: 6px; background: var(--relume-orange); color: var(--relume-ink); font-weight: 700; text-decoration: none; }
.relume-page .site-header .button { margin-left: 0; }
.relume-page main { overflow: clip; }
.relume-hero { position: relative; min-height: calc(100svh - 72px); display: grid; align-items: center; overflow: hidden; background: var(--relume-ink); color: #fff; }
.relume-hero__image, .relume-hero__shade { position: absolute; inset: 0; width: 100%; height: 100%; }
.relume-hero__image { object-fit: cover; object-position: center 59%; }
.relume-hero__shade { background: rgba(7,12,16,.52); }
.relume-hero__content { position: relative; z-index: 1; padding-block: 96px; }
.relume-tagline, .relume-eyebrow { margin: 0 0 18px; color: var(--relume-orange-text); font-size: .78rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.relume-tagline { max-width: 680px; color: #ffb083; }
.relume-hero h1 { max-width: 760px; margin: 0 0 24px; font-size: clamp(2.75rem, 5.6vw, 5rem); line-height: 1.12; letter-spacing: -.05em; }
.relume-hero__content > p:not(.relume-tagline) { max-width: 650px; margin-bottom: 36px; color: rgba(255,255,255,.88); font-size: 1.05rem; }
.relume-button { display: inline-flex; align-items: center; justify-content: center; min-width: 124px; }
.relume-section { padding: clamp(88px, 9vw, 132px) 0; }
.relume-heading { max-width: 790px; margin-bottom: 56px; }
.relume-heading--center { margin-inline: auto; text-align: center; }
.relume-heading h2, .relume-contact h2 { margin: 0; color: var(--relume-ink); font-size: clamp(2rem, 3.6vw, 3.25rem); line-height: 1.2; letter-spacing: -.045em; }
.relume-cases .relume-heading h2 { text-wrap: balance; }
.relume-heading > p:not(.relume-eyebrow) { margin: 20px 0 0; color: var(--relume-copy); }
.relume-check { position: relative; display: inline-block; padding-left: 22px; font-size: .92rem; text-align: left; }
.relume-check::before { position: absolute; left: 0; color: var(--relume-orange-text); content: "✓"; font-weight: 700; }
.relume-grid { display: grid; gap: 24px; }
.relume-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.relume-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.relume-feature { padding: 22px 18px; text-align: center; }
.relume-feature h3, .relume-service-card h3, .relume-case-card h3, .relume-process-list h3, .relume-post-card h3 { margin: 14px 0 10px; color: var(--relume-ink); font-size: 1.3rem; }
.relume-feature p, .relume-service-card p, .relume-case-card p, .relume-process-list p, .relume-post-card p { color: var(--relume-copy); font-size: .92rem; line-height: 1.7; }
.relume-icon { display: inline-block; width: 44px; height: 44px; border-radius: 50%; background: var(--relume-tint); }
.relume-services { padding-top: 36px; }
.relume-service-card { position: relative; min-height: 250px; padding: 32px; overflow: hidden; border: 1px solid rgba(7,7,7,.12); border-radius: 8px; background: #f8f8f8; }
.relume-service-card__number, .relume-process-list__number { position: absolute; color: var(--relume-ink); font-size: clamp(7.5rem, 11vw, 10rem); font-weight: 700; line-height: .8; letter-spacing: -.08em; opacity: .035; }
.relume-service-card__number { top: -4px; left: -12px; }
.relume-service-card__icon { position: absolute; z-index: 1; top: 32px; left: 32px; width: 40px; height: 40px; }
.relume-service-card h3, .relume-service-card p { position: relative; }
.relume-service-card h3 { margin-top: 66px; }
.relume-cases { position: relative; isolation: isolate; overflow: hidden; background: var(--relume-tint); }
.relume-cases::before { position: absolute; z-index: -1; inset: -12px; background: url("/images/field/cases-tank-background.jpg") center / cover no-repeat; content: ""; filter: blur(4px); opacity: .45; }
.relume-case-card { overflow: hidden; border: 1px solid rgba(7,7,7,.12); border-radius: 8px; background: #fff; }
.relume-case-card > img { width: 100%; height: 320px; object-fit: cover; }
.relume-case-card:nth-child(1) > img { object-position: center; }
.relume-case-card:nth-child(2) > img { object-position: center 44%; }
.relume-case-card > :not(img) { margin-right: 28px; margin-left: 28px; }
.relume-case-card > p:last-child { margin-bottom: 30px; }
.relume-case-card__client { margin-top: 26px; color: var(--relume-orange-text) !important; font-size: .78rem !important; font-weight: 700; }
.relume-case-card p + p { margin-top: 8px; margin-bottom: 0; }
.relume-process-list { margin: 0; padding: 0; border-top: 1px solid rgba(7,7,7,.22); list-style: none; }
.relume-process-list li { position: relative; display: grid; grid-template-columns: 280px 56px minmax(0, 1fr); gap: 32px; align-items: center; padding: 24px 0; overflow: hidden; border-bottom: 1px solid rgba(7,7,7,.18); }
.relume-process-list img { width: 280px; height: 168px; border-radius: 6px; object-fit: cover; }
.relume-process-list__number { top: 24px; left: 312px; }
.relume-process-list li > div { position: relative; grid-column: 3; }
.relume-process-list h3 { margin-top: 0; }
.relume-process-list p { margin-bottom: 0; }
.relume-contact { padding: clamp(80px, 9vw, 120px) 0; background: var(--relume-ink); color: #fff; }
.relume-contact__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(420px, 520px); gap: 96px; align-items: start; }
.relume-contact h2 { color: #fff; }
.relume-contact__grid > div:first-child > p { max-width: 510px; margin: 24px 0 0; color: rgba(255,255,255,.78); }
.relume-contact__details { margin-top: 32px; }
.relume-contact__details-title { margin: 0 0 12px; color: #fff; font-size: var(--fs-body); font-weight: 700; }
.relume-contact__details ul { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.relume-contact__details li { display: flex; gap: 10px; align-items: center; color: rgba(255,255,255,.78); font-size: .82rem; }
.relume-contact__details svg { width: 17px; height: 17px; flex: 0 0 17px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.relume-contact__details a { color: inherit; text-decoration: none; }
.relume-contact .home-form { border: 0; box-shadow: none; }
.relume-contact .home-form--compact { max-width: none; padding: 28px; }
.relume-footer { padding: 64px 0 32px; background: var(--relume-ink); color: #fff; }
.relume-footer__grid { display: grid; grid-template-columns: 1.2fr 1fr .55fr; gap: 56px; }
.relume-footer__identity img { width: 159px; height: 40px; }
.relume-footer p, .relume-footer a { color: rgba(255,255,255,.74); font-size: .8rem; }
.relume-footer strong { display: block; margin-bottom: 8px; font-size: .8rem; }
.relume-footer nav { display: grid; gap: 10px; align-content: start; }
.relume-footer__legal { grid-column: 1 / -1; margin: 24px 0 0; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.18); word-break: keep-all; }
.relume-page-header { padding: 72px 0 24px; }
.relume-page-header__card { padding: 72px 48px; border: 1px solid rgba(7,7,7,.12); border-radius: 8px; background: #f7f7f7; text-align: center; }
.relume-page-header h1 { margin: 0 0 18px; font-size: clamp(2.25rem, 4vw, 4rem); }
.relume-page-header p { max-width: 760px; margin: 0 auto; color: var(--relume-copy); }
.relume-blog { padding-top: 72px; }
.relume-post-card > img { width: 100%; aspect-ratio: 16 / 9; border-radius: 6px; object-fit: cover; }
.relume-post-card__meta { display: flex; flex-wrap: wrap; gap: 8px; margin: 18px 0 0; font-size: .76rem !important; }
.relume-post-card__meta span:first-child { color: var(--relume-orange-text); font-weight: 700; }
.relume-post-card__author { margin-top: 24px; color: var(--relume-ink) !important; font-size: .8rem !important; font-weight: 600; }
.relume-post-card__author span { color: var(--relume-copy); font-weight: 400; }
.relume-privacy { padding-top: 64px; }
.relume-privacy .privacy-policy { max-width: 920px; }

@media (max-width: 980px) {
  .relume-page .mobile-nav__scrim { top: 72px; }
  .relume-grid--3 { grid-template-columns: minmax(0, 1fr); }
  .relume-contact__grid { grid-template-columns: minmax(0, 1fr); gap: 48px; }
  .relume-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .relume-footer__legal { grid-column: 1 / -1; }
}

@media (max-width: 720px) {
  .relume-page .site-header { height: 72px; }
  .relume-page .site-header__inner, .relume-shell { width: calc(100% - 48px); }
  .relume-page .site-header .brand__full-logo { width: 159px; height: 40px; }
  .relume-hero { min-height: 660px; }
  .relume-hero__image { object-position: 50% center; }
  .relume-hero__shade { background: rgba(7,12,16,.58); }
  .relume-hero__content { padding-block: 72px; }
  .relume-hero h1 { font-size: 2.5rem; }
  .relume-tagline { font-size: .7rem; }
  .relume-hero__content > p:not(.relume-tagline) { font-size: .95rem; }
  .relume-hero .relume-button { width: auto; min-width: 98px; border-color: #fff; background: #fff; color: var(--relume-ink); }
  .relume-section { padding: 72px 0; }
  .relume-heading { margin-bottom: 36px; }
  .relume-heading h2, .relume-contact h2 { font-size: 2rem; }
  .relume-grid--2 { grid-template-columns: minmax(0, 1fr); }
  .relume-feature { padding-inline: 0; }
  .relume-service-card { min-height: auto; padding: 26px 22px; }
  .relume-service-card__icon { top: 26px; left: 22px; }
  .relume-service-card h3 { margin-top: 46px; }
  .relume-case-card > img { height: 220px; }
  .relume-process-list li { grid-template-columns: 52px minmax(0, 1fr); gap: 18px; }
  .relume-process-list img { grid-column: 1 / -1; width: 100%; height: 210px; }
  .relume-process-list__number { top: auto; bottom: 24px; left: -12px; }
  .relume-process-list li > div { grid-column: 2; }
  .relume-contact__grid { gap: 38px; }
  .relume-contact .home-form--compact { padding: 22px 18px; }
  .relume-footer__grid { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .relume-footer__legal { grid-column: auto; }
  .relume-page-header { padding: 40px 0 0; }
  .relume-page-header__card { padding: 48px 22px; }
  .relume-blog { padding-top: 64px; }
}
