/*
 Theme Name:  SKSF Custom
 Theme URI:   https://sksfmarketing.com
 Description: 분양 스페셜리스트 — OpenAI 디자인 시스템 적용
 Author:      SKSF Marketing
 Author URI:  https://sksfmarketing.com
 Version:     2.0.0
 Text Domain: sksf
*/

/* ─────────────────────────────────────────────
   DESIGN TOKENS — OpenAI 기반
───────────────────────────────────────────── */
:root {
  /* Surfaces */
  --c-bg:         #ffffff;
  --c-bg-alt:     #f5f5f5;
  --c-bg-muted:   #ebebeb;
  --c-dark:       #0d0d0d;
  --c-dark-2:     #171717;

  /* Text */
  --c-text:       #0d0d0d;
  --c-text-2:     #333333;
  --c-text-3:     #666666;
  --c-text-4:     #999999;
  --c-inv:        #ffffff;
  --c-inv-2:      rgba(255,255,255,.72);
  --c-inv-3:      rgba(255,255,255,.44);

  /* Borders */
  --c-bd:         #e0e0e0;
  --c-bd-dark:    rgba(255,255,255,.12);
  --c-bd-dark-2:  rgba(255,255,255,.06);

  /* OpenAI fluid type */
  --t-xl:   clamp(2.75rem, calc(2.75rem + 3 * ((100vw - 23.4375rem) / 66.5625)), 5.75rem);
  --t-h1:   clamp(2rem,    calc(2rem    + 2 * ((100vw - 23.4375rem) / 66.5625)), 4rem);
  --t-h2:   clamp(1.625rem,calc(1.625rem+ .75* ((100vw - 23.4375rem) / 66.5625)), 2.375rem);
  --t-h3:   clamp(1.125rem,calc(1.125rem+ .375*((100vw - 23.4375rem) / 66.5625)), 1.5rem);
  --t-h4:   clamp(1rem,    calc(1rem    + .125*((100vw - 23.4375rem) / 66.5625)), 1.125rem);
  --t-p1:   1.0625rem;
  --t-p2:   0.9375rem;
  --t-sm:   0.875rem;
  --t-xs:   0.75rem;
  --t-nav:  0.875rem;

  /* Weight */
  --w-reg:  400;
  --w-med:  500;
  --w-semi: 600;
  --w-bold: 700;

  /* Layout */
  --nav-h:      3.375rem;
  --container:  75rem;
  --px:         clamp(1.25rem, 4vw, 2.5rem);
  --py:         clamp(5rem, 8vw, 8rem);

  /* Radius */
  --r-sm:  0.375rem;
  --r:     0.75rem;
  --r-lg:  1.25rem;
  --pill:  999px;

  /* Easing */
  --ease:     0.18s ease;
  --ease-out: 0.32s cubic-bezier(0.16, 1, 0.3, 1);

  /* Shadows */
  --sh-sm:  0 1px 3px rgba(0,0,0,.07);
  --sh:     0 4px 16px rgba(0,0,0,.08);
  --sh-lg:  0 16px 48px rgba(0,0,0,.12);

  /* Font */
  --font: 'Pretendard Variable','Pretendard','Inter',ui-sans-serif,-apple-system,sans-serif;
}

/* ─────────────────────────────────────────────
   FONTS
───────────────────────────────────────────── */
@import url('https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/variable/pretendardvariable-dynamic-subset.min.css');
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&display=swap');

/* ─────────────────────────────────────────────
   RESET & BASE
───────────────────────────────────────────── */
*,*::before,*::after { margin:0; padding:0; box-sizing:border-box }
html { scroll-behavior:smooth }
body {
  font-family: var(--font);
  font-size: var(--t-p2);
  line-height: 1.65;
  color: var(--c-text);
  background: var(--c-bg);
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}
a { text-decoration:none; color:inherit }
img { border:0; max-width:100%; display:block }
ul,li { list-style:none }
button { border:none; background:none; cursor:pointer; font:inherit }
::-webkit-scrollbar { width:5px }
::-webkit-scrollbar-track { background:var(--c-bg-alt) }
::-webkit-scrollbar-thumb { background:var(--c-bd); border-radius:3px }

.container { width:100%; max-width:var(--container); margin:0 auto; padding:0 var(--px) }

/* ─────────────────────────────────────────────
   NAV
───────────────────────────────────────────── */
.site-nav {
  position:fixed; top:0; left:0; right:0; z-index:300;
  height: var(--nav-h);
  background: transparent;
  border-bottom:1px solid var(--c-bd-dark);
  transition: background var(--ease), border-color var(--ease), box-shadow var(--ease);
}
.site-nav.is-light {
  background: rgba(255,255,255,.92);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border-bottom-color: var(--c-bd);
  box-shadow: var(--sh-sm);
}
.admin-bar .site-nav { top:32px }
@media (max-width:782px) { .admin-bar .site-nav { top:46px } }

.nav-inner {
  width:100%; max-width:var(--container); margin:0 auto; padding:0 var(--px);
  height:var(--nav-h); display:flex; align-items:center; gap:1rem;
}
.nav-brand {
  flex-shrink:0; position:relative; display:block;
  text-decoration:none;
  width:7rem; height:2rem;  /* 112px × 32px */
}
/* 다크 히어로용 로고 (arealogwhite.png — 아웃라인 스타일) */
.nav-brand::before,
.nav-brand::after {
  content:''; position:absolute; inset:0;
  background-size:contain; background-repeat:no-repeat; background-position:left center;
  transition:opacity var(--ease);
}
.nav-brand::before {
  /* URL은 header.php <style> 블록에서 PHP로 출력 */
  filter: invert(1);   /* 흰bg→검정(dark hero와 동화), 회색 아웃라인→흰색 */
  opacity:1;
}
.nav-brand::after {
  /* URL은 header.php <style> 블록에서 PHP로 출력 */
  mix-blend-mode: multiply;  /* 흰bg 투명화, 검정 텍스트 유지 */
  opacity:0;
}
/* 스크롤 후 라이트 nav: 라이트 로고로 전환 */
.site-nav.is-light .nav-brand::before { opacity:0 }
.site-nav.is-light .nav-brand::after  { opacity:1 }

.nav-links {
  display:flex; align-items:center; gap:.25rem; margin-left:auto;
}
.nav-links a {
  padding:.4rem .75rem;
  font-size:var(--t-nav); font-weight:var(--w-med);
  color:var(--c-inv-2); border-radius:var(--r-sm);
  transition: color var(--ease), background var(--ease);
}
.nav-links a:hover { color:var(--c-inv) }
.site-nav.is-light .nav-links a { color:var(--c-text-3) }
.site-nav.is-light .nav-links a:hover { color:var(--c-text); background:var(--c-bg-alt) }

.nav-cta {
  margin-left:.5rem; padding:.45rem 1.125rem;
  font-size:var(--t-xs); font-weight:var(--w-semi);
  border:1px solid var(--c-bd-dark); border-radius:var(--pill);
  color:var(--c-inv); transition: all var(--ease); flex-shrink:0;
}
.nav-cta:hover { background:var(--c-inv); color:var(--c-dark) }
.site-nav.is-light .nav-cta {
  background:var(--c-dark); border-color:var(--c-dark); color:var(--c-inv);
}
.site-nav.is-light .nav-cta:hover { opacity:.8 }

/* Mobile toggle */
.nav-toggle {
  display:none; flex-direction:column; justify-content:center; gap:5px;
  padding:.5rem; margin-left:auto; background:none; border:none; cursor:pointer;
}
.nav-toggle span {
  display:block; width:20px; height:1.5px;
  background:var(--c-inv); border-radius:1px; transition:var(--ease);
}
.site-nav.is-light .nav-toggle span { background:var(--c-text) }

/* Mobile drawer */
.nav-drawer {
  position:fixed; top:0; right:-300px; width:300px; height:100vh;
  background:var(--c-bg); border-left:1px solid var(--c-bd);
  z-index:400; transition:right .32s cubic-bezier(.4,0,.2,1);
  padding:5rem var(--px) 2rem; overflow-y:auto;
}
.nav-drawer.open { right:0 }
.nav-overlay {
  display:none; position:fixed; inset:0; background:rgba(0,0,0,.5); z-index:399;
}
.nav-overlay.open { display:block }
.drawer-logo {
  display:block;
  width:6rem; height:1.75rem;
  /* URL은 header.php <style> 블록에서 PHP로 출력 */
  background-size:contain; background-repeat:no-repeat; background-position:left center;
  mix-blend-mode:multiply;
  margin-bottom:1.5rem;
}
.nav-drawer a {
  display:block; padding:1rem 0;
  font-size:1.0625rem; font-weight:var(--w-med);
  color:var(--c-text-2); border-bottom:1px solid var(--c-bd);
  transition:color var(--ease);
}
.nav-drawer a:hover { color:var(--c-text) }
.nav-drawer .m-cta {
  display:block; margin-top:1.5rem; padding:1rem;
  background:var(--c-dark); color:var(--c-inv) !important;
  text-align:center; border-radius:var(--pill);
  font-weight:var(--w-semi); border:none !important;
}

/* ─────────────────────────────────────────────
   BUTTONS
───────────────────────────────────────────── */
.btn {
  display:inline-flex; align-items:center; justify-content:center; gap:.5rem;
  font-size:var(--t-sm); font-weight:var(--w-semi);
  border-radius:var(--pill); transition: all var(--ease); white-space:nowrap;
  padding:.75rem 1.75rem; border:1px solid transparent;
}
.btn--primary { background:var(--c-dark); color:var(--c-inv); border-color:var(--c-dark) }
.btn--primary:hover { opacity:.85; transform:translateY(-1px) }
.btn--outline { background:transparent; color:var(--c-dark); border-color:var(--c-bd) }
.btn--outline:hover { border-color:var(--c-text-2); background:var(--c-bg-alt); transform:translateY(-1px) }
.btn--inv { background:var(--c-inv); color:var(--c-dark); border-color:rgba(255,255,255,.2) }
.btn--inv:hover { opacity:.9; transform:translateY(-1px) }
.btn--ghost-inv { background:transparent; color:var(--c-inv-2); border-color:var(--c-bd-dark) }
.btn--ghost-inv:hover { color:var(--c-inv); transform:translateY(-1px) }
.btn--lg { padding:.875rem 2.25rem; font-size:var(--t-p2) }

/* ─────────────────────────────────────────────
   HERO
───────────────────────────────────────────── */
.hero {
  position:relative; width:100%; min-height:100vh;
  display:flex; flex-direction:column;
  background:var(--c-dark); overflow:hidden;
  padding-top:var(--nav-h);
}
.hero::before {
  content:''; position:absolute; inset:0; pointer-events:none;
  background:
    radial-gradient(ellipse 65% 55% at 20% 35%, rgba(70,100,255,.06) 0%, transparent 55%),
    radial-gradient(ellipse 55% 45% at 80% 65%, rgba(100,60,200,.04) 0%, transparent 55%),
    radial-gradient(ellipse 75% 35% at 50% 95%, rgba(255,255,255,.015) 0%, transparent 50%);
}
.hero__inner {
  position:relative; z-index:1;
  flex:1; display:flex; flex-direction:column; align-items:center; justify-content:center;
  text-align:center; padding:5rem var(--px) 4rem;
  max-width:58rem; margin:0 auto; width:100%;
}
.hero__eyebrow {
  display:inline-flex; align-items:center; gap:.5rem;
  padding:.3rem 1rem; margin-bottom:2.5rem;
  font-size:var(--t-xs); font-weight:var(--w-semi);
  color:var(--c-inv-3); letter-spacing:.08em; text-transform:uppercase;
  border:1px solid var(--c-bd-dark); border-radius:var(--pill);
}
.hero__title {
  font-size:var(--t-xl); font-weight:var(--w-med);
  letter-spacing:-.025em; line-height:1.05;
  color:var(--c-inv); word-break:keep-all;
  margin-bottom:1.75rem;
}
.hero__sub-line {
  display:block; font-size:.4em; font-weight:var(--w-reg);
  color:var(--c-inv-3); letter-spacing:-.01em; margin-bottom:.75rem;
}
.hero__desc {
  font-size:var(--t-p1); color:var(--c-inv-2);
  line-height:1.75; margin-bottom:2.5rem; max-width:32rem;
}
.hero__ctas { display:flex; gap:.75rem; flex-wrap:wrap; justify-content:center; margin-bottom:1.5rem }
.hero__tel {
  font-size:var(--t-sm); color:var(--c-inv-3);
  display:flex; align-items:center; gap:.5rem; margin-top:.75rem;
}
.hero__tel strong { color:var(--c-inv-2); font-weight:var(--w-semi) }

/* Stats strip */
.stats-bar {
  position:relative; z-index:1;
  border-top:1px solid var(--c-bd-dark);
}
.stats-inner {
  display:grid; grid-template-columns:repeat(4,1fr);
  max-width:var(--container); margin:0 auto; padding:0 var(--px);
}
.stat-item {
  padding:2rem var(--px); border-right:1px solid var(--c-bd-dark); text-align:center;
}
.stat-item:last-child { border-right:none }
.stat-item__num {
  font-size:clamp(1.75rem, 3vw, 2.5rem); font-weight:var(--w-med);
  letter-spacing:-.02em; line-height:1; color:var(--c-inv);
  display:block; margin-bottom:.375rem;
}
.stat-item__label { font-size:var(--t-xs); color:var(--c-inv-3); font-weight:var(--w-med) }

/* ─────────────────────────────────────────────
   SECTION HEADER
───────────────────────────────────────────── */
.sec-header { margin-bottom:3.5rem }
.sec-header--center { text-align:center }
.sec-eyebrow {
  display:inline-block; font-size:var(--t-xs); font-weight:var(--w-semi);
  color:var(--c-text-4); letter-spacing:.1em; text-transform:uppercase;
  margin-bottom:.875rem;
}
.sec-title {
  font-size:var(--t-h2); font-weight:var(--w-med);
  letter-spacing:-.02em; color:var(--c-text); line-height:1.2;
  margin-bottom:.875rem; word-break:keep-all;
}
.sec-title em { font-style:normal; color:var(--c-text-3) }
.sec-desc { font-size:var(--t-p1); color:var(--c-text-3); line-height:1.75 }
.sec-header--center .sec-desc { max-width:32rem; margin:0 auto }

/* Dark section header */
.sec-header--inv .sec-eyebrow { color:var(--c-inv-3) }
.sec-header--inv .sec-title { color:var(--c-inv) }
.sec-header--inv .sec-title em { color:var(--c-inv-2) }
.sec-header--inv .sec-desc { color:var(--c-inv-2) }

/* ─────────────────────────────────────────────
   SECTION BASE
───────────────────────────────────────────── */
.section { padding:var(--py) 0 }
.section--alt { background:var(--c-bg-alt) }
.section--dark { background:var(--c-dark) }

/* ─────────────────────────────────────────────
   SERVICES
───────────────────────────────────────────── */
.services-grid {
  display:grid; grid-template-columns:repeat(3,1fr); gap:0;
  border:1px solid var(--c-bd); border-radius:var(--r-lg); overflow:hidden;
}
.service-card {
  padding:2.5rem; border-right:1px solid var(--c-bd);
  transition:background var(--ease); position:relative;
}
.service-card:last-child { border-right:none }
.service-card:hover { background:var(--c-bg-alt) }
.service-card__num {
  font-size:3.5rem; font-weight:var(--w-med); letter-spacing:-.03em;
  color:var(--c-bg-muted); line-height:1; margin-bottom:1.25rem;
  transition:color var(--ease);
}
.service-card:hover .service-card__num { color:var(--c-bd) }
.service-card__title {
  font-size:var(--t-h3); font-weight:var(--w-med);
  letter-spacing:-.01em; margin-bottom:1rem; color:var(--c-text);
}
.service-card__desc {
  font-size:var(--t-sm); color:var(--c-text-3); line-height:1.8; margin-bottom:1.5rem;
}
.service-card__tags { display:flex; flex-wrap:wrap; gap:.375rem }
.service-card__tag {
  padding:.25rem .75rem; font-size:var(--t-xs); font-weight:var(--w-med);
  color:var(--c-text-3); border:1px solid var(--c-bd); border-radius:var(--pill);
}

/* ─────────────────────────────────────────────
   WHY / STRENGTHS
───────────────────────────────────────────── */
.why-grid {
  display:grid; grid-template-columns:repeat(2,1fr); gap:0;
  border:1px solid var(--c-bd); border-radius:var(--r-lg); overflow:hidden;
}
.why-item {
  display:flex; align-items:flex-start; gap:1.25rem;
  padding:2.5rem; border-right:1px solid var(--c-bd); border-bottom:1px solid var(--c-bd);
  transition:background var(--ease);
}
.why-item:nth-child(2n) { border-right:none }
.why-item:nth-child(3),.why-item:nth-child(4) { border-bottom:none }
.why-item:hover { background:var(--c-bg-alt) }
.why-item__icon {
  font-size:1.375rem; flex-shrink:0;
  width:2.75rem; height:2.75rem;
  display:flex; align-items:center; justify-content:center;
  background:var(--c-bg-alt); border-radius:var(--r-sm);
}
.why-item__title {
  font-size:var(--t-h4); font-weight:var(--w-semi);
  letter-spacing:-.01em; margin-bottom:.5rem; color:var(--c-text);
}
.why-item__desc { font-size:var(--t-sm); color:var(--c-text-3); line-height:1.8 }

/* ─────────────────────────────────────────────
   PROCESS
───────────────────────────────────────────── */
.process-list {
  display:flex; gap:0;
  border:1px solid var(--c-bd); border-radius:var(--r-lg); overflow:hidden;
}
.process-step {
  flex:1; padding:2rem 1.5rem; border-right:1px solid var(--c-bd);
  text-align:center; position:relative; transition:background var(--ease);
}
.process-step:last-child { border-right:none }
.process-step:hover { background:var(--c-bg-muted) }
.process-step__num {
  font-size:2rem; font-weight:var(--w-med); letter-spacing:-.03em;
  color:var(--c-bg-muted); line-height:1; margin-bottom:1rem; display:block;
  transition:color var(--ease);
}
.process-step:hover .process-step__num { color:var(--c-bd) }
.process-step__title {
  font-size:var(--t-sm); font-weight:var(--w-semi);
  color:var(--c-text); margin-bottom:.5rem;
}
.process-step__desc { font-size:var(--t-xs); color:var(--c-text-3); line-height:1.7 }

/* ─────────────────────────────────────────────
   PORTFOLIO
───────────────────────────────────────────── */
.portfolio-grid {
  display:grid; grid-template-columns:repeat(3,1fr); gap:1px;
  background:var(--c-bd); border:1px solid var(--c-bd); border-radius:var(--r-lg);
  overflow:hidden;
}
.portfolio-card { background:var(--c-bg); overflow:hidden }
.portfolio-card__thumb {
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  min-height:12rem; font-size:var(--t-xs); font-weight:var(--w-semi);
  letter-spacing:.1em; color:rgba(255,255,255,.4);
  background:linear-gradient(145deg, #1a1f2e, #0d0d0d);
  position:relative; overflow:hidden; transition:background var(--ease-out);
}
.portfolio-card:nth-child(2) .portfolio-card__thumb { background:linear-gradient(145deg,#1a2820,#0d1a10) }
.portfolio-card:nth-child(3) .portfolio-card__thumb { background:linear-gradient(145deg,#241a10,#140d00) }
.portfolio-card:hover .portfolio-card__thumb { filter:brightness(1.15) }
.portfolio-card__badge {
  display:inline-block; padding:.25rem .75rem; margin-bottom:.75rem;
  font-size:var(--t-xs); font-weight:var(--w-semi);
  color:rgba(255,255,255,.6); border:1px solid rgba(255,255,255,.15); border-radius:var(--pill);
}
.portfolio-card__body { padding:1.5rem }
.portfolio-card__title {
  font-size:var(--t-sm); font-weight:var(--w-semi);
  color:var(--c-text); margin-bottom:.375rem; line-height:1.45;
}
.portfolio-card__sub { font-size:var(--t-xs); color:var(--c-text-4) }

/* ─────────────────────────────────────────────
   PRICING
───────────────────────────────────────────── */
.pricing-grid {
  display:grid; grid-template-columns:repeat(3,1fr); gap:1px;
  background:var(--c-bd); border:1px solid var(--c-bd); border-radius:var(--r-lg);
  overflow:hidden;
}
.price-card {
  padding:2.5rem; background:var(--c-bg); position:relative;
}
.price-card--featured { background:var(--c-dark) }
.price-card__badge {
  display:inline-block; padding:.25rem .75rem; margin-bottom:1rem;
  font-size:var(--t-xs); font-weight:var(--w-semi);
  border-radius:var(--pill); border:1px solid var(--c-bd-dark);
  color:var(--c-inv-2);
}
.price-card__name {
  font-size:var(--t-xs); font-weight:var(--w-semi);
  letter-spacing:.1em; text-transform:uppercase; margin-bottom:.375rem;
  color:var(--c-text-4);
}
.price-card--featured .price-card__name { color:var(--c-inv-3) }
.price-card__title {
  font-size:var(--t-h3); font-weight:var(--w-med);
  letter-spacing:-.01em; color:var(--c-text); margin-bottom:1.25rem;
}
.price-card--featured .price-card__title { color:var(--c-inv) }
.price-card__price {
  font-size:clamp(2rem,4vw,3rem); font-weight:var(--w-med);
  letter-spacing:-.03em; color:var(--c-text); line-height:1; margin-bottom:.375rem;
}
.price-card--featured .price-card__price { color:var(--c-inv) }
.price-card__price small { font-size:.5em; font-weight:var(--w-reg) }
.price-card__period { font-size:var(--t-xs); color:var(--c-text-4); margin-bottom:2rem }
.price-card--featured .price-card__period { color:var(--c-inv-3) }
.price-card__features { margin-bottom:2rem }
.price-feature {
  font-size:var(--t-sm); color:var(--c-text-2); padding:.625rem 0;
  border-bottom:1px solid var(--c-bd);
  display:flex; align-items:center; gap:.5rem;
}
.price-card--featured .price-feature { color:var(--c-inv-2); border-color:var(--c-bd-dark) }
.price-feature::before {
  content:''; display:block; width:4px; height:4px;
  background:var(--c-text-4); border-radius:50%; flex-shrink:0;
}
.price-card--featured .price-feature::before { background:var(--c-inv-3) }
.price-feature:last-child { border-bottom:none }

/* ─────────────────────────────────────────────
   CTA / CONTACT
───────────────────────────────────────────── */
.cta-section {
  padding:var(--py) 0;
  background:var(--c-dark); text-align:center;
}
.cta-section .sec-title { color:var(--c-inv) }
.cta-section .sec-desc { color:var(--c-inv-2) }

.contact-form {
  display:flex; flex-direction:column; gap:.75rem;
  max-width:32rem; margin:3rem auto 0; text-align:left;
}
.contact-form input,
.contact-form select,
.contact-form textarea {
  width:100%; padding:.875rem 1.125rem;
  background:rgba(255,255,255,.06);
  border:1px solid var(--c-bd-dark);
  border-radius:var(--r-sm); color:var(--c-inv);
  font-family:var(--font); font-size:var(--t-sm);
  transition:border-color var(--ease);
}
.contact-form input::placeholder,
.contact-form select::placeholder,
.contact-form textarea::placeholder { color:var(--c-inv-3) }
.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus {
  outline:none; border-color:rgba(255,255,255,.4);
}
.contact-form select { color:var(--c-inv); cursor:pointer }
.contact-form select option { background:var(--c-dark-2); color:var(--c-inv) }
.contact-form textarea { min-height:120px; resize:vertical }
.btn--submit {
  width:100%; padding:1rem;
  background:var(--c-inv); color:var(--c-dark);
  border:none; border-radius:var(--pill);
  font-family:var(--font); font-size:var(--t-sm); font-weight:var(--w-semi);
  cursor:pointer; transition:opacity var(--ease), transform var(--ease);
}
.btn--submit:hover { opacity:.9; transform:translateY(-1px) }

/* ─────────────────────────────────────────────
   FOOTER
───────────────────────────────────────────── */
.site-footer {
  background:var(--c-dark); border-top:1px solid var(--c-bd-dark-2);
  padding:3.5rem 0 2rem;
}
.footer-inner {
  display:flex; align-items:flex-start; justify-content:space-between;
  flex-wrap:wrap; gap:2rem; max-width:var(--container); margin:0 auto; padding:0 var(--px);
  padding-bottom:2rem; margin-bottom:2rem;
  border-bottom:1px solid var(--c-bd-dark-2);
}
.footer-brand { font-size:.9375rem; font-weight:var(--w-semi); color:var(--c-inv); margin-bottom:.75rem }
.footer-copy { font-size:var(--t-xs); color:var(--c-inv-3); line-height:2 }
.footer-tel { font-size:var(--t-h4); font-weight:var(--w-med); color:var(--c-inv-2); letter-spacing:-.01em }
.footer-links { display:flex; flex-direction:column; gap:.625rem }
.footer-links a { font-size:var(--t-sm); color:var(--c-inv-3); transition:color var(--ease) }
.footer-links a:hover { color:var(--c-inv) }
.footer-copy-bar {
  max-width:var(--container); margin:0 auto; padding:0 var(--px);
  text-align:center; font-size:var(--t-xs); color:rgba(255,255,255,.2);
  letter-spacing:.04em;
}

/* ─────────────────────────────────────────────
   RESPONSIVE
───────────────────────────────────────────── */
@media (max-width:900px) {
  .nav-links,.nav-cta { display:none }
  .nav-toggle { display:flex }

  .services-grid { grid-template-columns:1fr }
  .service-card { border-right:none; border-bottom:1px solid var(--c-bd) }
  .service-card:last-child { border-bottom:none }

  .why-grid { grid-template-columns:1fr }
  .why-item { border-right:none }
  .why-item:nth-child(3) { border-bottom:1px solid var(--c-bd) }
  .why-item:nth-child(4) { border-bottom:none }

  .process-list { flex-direction:column }
  .process-step { border-right:none; border-bottom:1px solid var(--c-bd); text-align:left }
  .process-step:last-child { border-bottom:none }

  .portfolio-grid { grid-template-columns:1fr }
  .pricing-grid { grid-template-columns:1fr }

  .stats-inner { grid-template-columns:repeat(2,1fr) }
  .stat-item:nth-child(2) { border-right:none }
  .stat-item:nth-child(3) { border-top:1px solid var(--c-bd-dark) }

  .footer-inner { flex-direction:column; gap:1.5rem }
}

@media (max-width:600px) {
  :root { --px:1.25rem; --py:clamp(3.5rem,7vw,5.5rem) }
  .stats-inner { grid-template-columns:repeat(2,1fr) }
  .hero__inner { padding:3rem var(--px) 3rem }
}
