/* ===== 유니드디자인 리모델링워크 — 디자인 토큰 (다크 에디토리얼) ===== */
:root{
  color-scheme: only light;
  --c-bg:#0A0A0A;
  --c-bg-soft:#141414;
  --c-bg-elevated:#1C1C1C;
  --c-primary:#0A0A0A;
  --c-accent:#22B8B0;
  --c-accent-2:#57D9D0;
  --c-accent-soft:rgba(34,184,176,.14);
  --c-wine:#C23F63;
  --c-wine-2:#DE5A7E;
  --c-wine-soft:rgba(194,63,99,.16);
  --c-text:#F1F1EE;
  --c-text-sub:#9A9A96;
  --c-text-light:#68685F;
  --c-text-on-light:#0A0A0A;
  --c-text-on-dark:#F1F1EE;
  --c-border:#2A2A2A;
  --c-border-2:#3A3A3A;
  --c-white:#ffffff;

  --font-display:'Noto Serif KR', 'Apple SD Gothic Neo', serif;
  --font-body:'Pretendard Variable', 'Apple SD Gothic Neo', sans-serif;

  --fs-xs:.75rem; --fs-sm:.875rem; --fs-base:1rem; --fs-lg:1.125rem;
  --fs-xl:1.25rem; --fs-2xl:1.5rem; --fs-3xl:1.9rem; --fs-4xl:2.4rem; --fs-5xl:3.2rem;

  --space-1:.25rem; --space-2:.5rem; --space-3:.75rem; --space-4:1rem;
  --space-5:1.25rem; --space-6:1.5rem; --space-8:2rem; --space-10:2.5rem;
  --space-12:3rem; --space-16:4rem; --space-20:5rem; --space-24:6rem; --space-28:7rem; --space-32:8rem;

  --radius-sm:6px; --radius-md:10px; --radius-lg:18px;
  --dp-radius:10px;
  --shadow-sm:0 2px 10px rgba(0,0,0,.35);
  --shadow-md:0 8px 28px rgba(0,0,0,.45);
  --shadow-lg:0 16px 48px rgba(0,0,0,.55);
  --trans-fast:.18s ease; --trans-base:.3s ease; --trans-slow:.55s cubic-bezier(.25,.46,.45,.94);

  --container-max:1200px;
  --container-pad:clamp(1rem,4vw,2.5rem);
  --header-h:76px;
  --sticky-h:64px;
  --proc-badge:48px; --proc-badge-radius:var(--dp-radius); --proc-line:2px;
}

*,*::before,*::after{ box-sizing:border-box; -webkit-tap-highlight-color:transparent; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
html,body{ overflow-x:hidden; }
body{
  margin:0; background:var(--c-bg); color:var(--c-text);
  font-family:var(--font-body); font-size:19px; line-height:1.7; font-weight:300;
  -webkit-font-smoothing:antialiased;
}
img{ max-width:100%; height:auto; display:block; }
.photo img,.card__media img{ width:100%; aspect-ratio:16/9; object-fit:cover; object-position:center; height:auto; }
a{ color:inherit; text-decoration:none; }
ul,ol{ margin:0; padding:0; list-style:none; }
button{ font:inherit; background:none; border:0; cursor:pointer; color:inherit; }
table{ border-collapse:collapse; width:100%; }

body,p,h1,h2,h3,h4,h5,h6,li,td,th,a,span,div,button,label,figcaption{
  word-break:keep-all; overflow-wrap:break-word;
}

:where(a,button,[role="button"],summary){ touch-action:manipulation; min-height:44px; min-width:44px; display:inline-flex; align-items:center; }
:where(nav a, .inline-link, .ft-cluster a){ min-height:auto; min-width:auto; }
p a, li a{ min-height:auto; min-width:auto; display:inline; }

h1,h2,h3,h4{ font-family:var(--font-display); font-weight:300; margin:0; color:var(--c-text); }
h1{ font-size:clamp(2.4rem,7vw,6.2rem); letter-spacing:-.01em; line-height:1.08; }
h2{ font-size:clamp(1.9rem,4vw,3.2rem); letter-spacing:-.005em; line-height:1.15; }
h3{ font-size:var(--fs-xl); font-weight:500; line-height:1.35; }
p{ margin:0; }

.br-desktop,.br-mobile{ display:none; }
@media(min-width:769px){ .br-desktop{ display:inline; } }
@media(max-width:768px){ .br-mobile{ display:inline; } }

.container{ max-width:var(--container-max); margin-inline:auto; padding-inline:var(--container-pad); }

.eyebrow{
  display:inline-flex; align-items:center; gap:8px;
  font-size:var(--fs-sm); font-weight:600; letter-spacing:.16em; text-transform:uppercase;
  color:var(--c-accent); margin-bottom:var(--space-3);
}
.eyebrow::before{ content:''; width:22px; height:2px; background:var(--c-accent); display:inline-block; }
.on-dark .eyebrow{ color:var(--c-wine-2); }
.on-dark .eyebrow::before{ background:var(--c-wine-2); }

.rule{ height:1px; background:var(--c-border); border:0; margin:var(--space-8) 0; }

/* M7 모듈 코너 마커 */
.mod-box{ position:relative; border:1px solid var(--c-border); border-radius:var(--radius-md); }
.mod-box::before,.mod-box::after{
  content:''; position:absolute; width:14px; height:14px; pointer-events:none;
  border-color:var(--c-accent); border-style:solid; border-width:0;
}
.mod-box::before{ top:-1px; left:-1px; border-top-width:2px; border-left-width:2px; border-top-left-radius:4px; }
.mod-box::after{ bottom:-1px; right:-1px; border-bottom-width:2px; border-right-width:2px; border-bottom-right-radius:4px; }

/* ===== reveal ===== */
.js [data-reveal]{ opacity:0; transform:translateY(24px); transition:opacity var(--trans-slow), transform var(--trans-slow); }
.js [data-reveal].is-in{ opacity:1; transform:none; }
@media (prefers-reduced-motion:reduce){
  .js [data-reveal]{ opacity:1!important; transform:none!important; transition:none!important; }
  *{ animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; }
}

@keyframes heroDrift{ 0%{ transform:scale(1.04) translate(0,0);} 100%{ transform:scale(1.1) translate(-1%,-1%);} }
@keyframes countUpFade{ 0%{opacity:0; transform:translateY(6px);} 100%{opacity:1; transform:none;} }
@keyframes marquee{ 0%{ transform:translateX(0);} 100%{ transform:translateX(-50%);} }

/* ===== header ===== */
.site-header{
  position:sticky; top:0; z-index:100; height:var(--header-h);
  display:flex; align-items:center;
  background:rgba(10,10,10,.55); backdrop-filter:none;
  border-bottom:1px solid transparent;
  transition:background var(--trans-base), border-color var(--trans-base), box-shadow var(--trans-base);
}
.site-header.is-scrolled{ background:rgba(10,10,10,.96); border-bottom-color:var(--c-border); box-shadow:var(--shadow-sm); }
.hdr-inner{ width:100%; display:flex; align-items:center; justify-content:space-between; gap:var(--space-4); }
.hdr-logo{ display:flex; flex-direction:column; line-height:1.15; }
.hdr-logo__name{ font-family:var(--font-display); font-weight:600; font-size:1.35rem; color:var(--c-text); }
.hdr-logo__tagline{ font-size:.68rem; letter-spacing:.14em; text-transform:uppercase; color:var(--c-text-sub); margin-top:2px; }
.hdr-nav{ display:flex; align-items:center; gap:var(--space-8); }
.hdr-nav a{ font-size:var(--fs-sm); font-weight:500; color:var(--c-text-sub); position:relative; padding:4px 0; }
.hdr-nav a::after{ content:''; position:absolute; left:0; bottom:-2px; width:0; height:2px; background:var(--c-accent); transition:width var(--trans-base); }
@media (hover: hover) and (pointer:fine){ .hdr-nav a:hover::after{ width:100%; } }
.hdr-cta{
  background:var(--c-wine); color:#fff; font-weight:600; font-size:var(--fs-sm);
  padding:0 20px; height:44px; border-radius:var(--radius-sm);
  transition:background var(--trans-base), transform var(--trans-fast);
}
@media (hover: hover) and (pointer:fine){ .hdr-cta:hover{ background:var(--c-wine-2); } }
.hdr-cta:active{ transform:scale(.97); }
.hamburger{ display:none; flex-direction:column; gap:5px; padding:10px; }
.hamburger span{ width:22px; height:2px; background:var(--c-text); display:block; }
#mob-nav{ display:none; }

/* ===== hero (main archetype H2 켄번즈 순환) ===== */
.hero{
  position:relative; min-height:78vh; min-height:78dvh; display:flex; align-items:flex-end;
  overflow:hidden; isolation:isolate;
}
.hero__slides{ position:absolute; inset:0; z-index:-2; }
.hero__slide{ position:absolute; inset:0; opacity:0; transition:opacity 1.6s ease; will-change:opacity; }
.hero__slide img{ width:100%; height:100%; object-fit:cover; object-position:center; filter:saturate(.9) brightness(.82); }
.hero__slide.is-active{ opacity:1; animation:heroDrift 12s ease-out forwards; z-index:1; }
.hero__scrim{ position:absolute; left:0; right:0; bottom:0; height:320px; z-index:-1;
  background:linear-gradient(to top, rgba(10,10,10,.88), rgba(10,10,10,0)); }
.hero__content{ position:relative; z-index:1; width:100%; padding-block:var(--space-20) var(--space-16); color:#fff; }
.hero__eyebrow{ color:var(--c-accent-2); opacity:1; margin-bottom:var(--space-5); }
.hero__eyebrow::before{ background:var(--c-wine-2); }
.hero h1{ color:#fff; margin-bottom:var(--space-6); max-width:16ch; }
.hero__sub{ font-size:var(--fs-lg); font-weight:300; color:rgba(241,241,238,.82); max-width:52ch; margin-bottom:var(--space-8); }
.hero__actions{ display:flex; gap:var(--space-4); flex-wrap:wrap; }

/* 세부페이지 히어로(단일 이미지) */
.dp-hero{ position:relative; min-height:56vh; min-height:56dvh; display:flex; align-items:flex-end; overflow:hidden; }
.dp-hero img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2; filter:saturate(.9) brightness(.8); }
.dp-hero::after{ content:''; position:absolute; left:0; right:0; bottom:0; height:260px; z-index:-1;
  background:linear-gradient(to top, rgba(10,10,10,.9), rgba(10,10,10,0)); }
.dp-hero__content{ position:relative; z-index:1; width:100%; padding-block:var(--space-12) var(--space-10); color:#fff; }
.dp-hero h1{ color:#fff; max-width:14ch; }
.breadcrumb{ font-size:var(--fs-xs); color:rgba(241,241,238,.7); margin-bottom:var(--space-3); }
.breadcrumb a{ color:rgba(241,241,238,.7); }
.breadcrumb span{ margin:0 6px; }

/* ===== buttons ===== */
.btn{ display:inline-flex; align-items:center; justify-content:center; gap:8px;
  height:52px; padding:0 28px; border-radius:999px; font-weight:600; font-size:var(--fs-base);
  transition:background var(--trans-base), color var(--trans-base), transform var(--trans-fast), box-shadow var(--trans-base); }
.btn-primary{ background:var(--c-accent); color:#0A0A0A; box-shadow:var(--shadow-sm); }
@media (hover: hover) and (pointer:fine){ .btn-primary:hover{ background:var(--c-accent-2); box-shadow:var(--shadow-md); } }
.btn-primary:active{ transform:scale(.97); }
.btn-ghost{ background:transparent; color:#fff; border:1.5px solid rgba(241,241,238,.4); }
@media (hover: hover) and (pointer:fine){ .btn-ghost:hover{ background:rgba(241,241,238,.1); border-color:#fff; } }
.btn-dark{ background:var(--c-wine); color:#fff; }
@media (hover: hover) and (pointer:fine){ .btn-dark:hover{ background:var(--c-wine-2); } }

/* ===== sections ===== */
section{ padding-block:var(--space-28); }
.section-head{ max-width:56ch; margin-bottom:var(--space-16); }
.section-head h2{ margin-bottom:var(--space-5); }
.section-head p{ color:var(--c-text-sub); font-size:var(--fs-lg); font-weight:300; margin-top:var(--space-2); }
.on-dark{ background:var(--c-bg-elevated); border-top:1px solid var(--c-border); border-bottom:1px solid var(--c-border); }
.bg-soft{ background:var(--c-bg-soft); }

/* grids */
.dp-g2{ display:grid; grid-template-columns:1fr 1fr; gap:40px; }
.dp-g3{ display:grid; grid-template-columns:repeat(3,1fr); gap:32px; }
.dp-stat3{ display:grid; grid-template-columns:repeat(3,1fr); gap:40px; text-align:center; align-items:center; }
.g4{ display:grid; grid-template-columns:repeat(4,1fr); gap:28px; }
@media(max-width:1024px){ .g4{ grid-template-columns:repeat(2,1fr); } }
@media(max-width:768px){ .dp-g2,.dp-g3,.g4{ grid-template-columns:1fr; gap:24px; } }

/* card */
.card{ display:flex; flex-direction:column; height:100%; min-width:0; background:var(--c-bg-elevated); border:1px solid var(--c-border); border-radius:var(--radius-md); overflow:hidden; transition:box-shadow var(--trans-base), transform var(--trans-base), border-color var(--trans-base); }
@media (hover: hover) and (pointer:fine){ .card:hover{ box-shadow:var(--shadow-md); transform:translateY(-3px); border-color:var(--c-accent); } }
.card__media{ position:relative; aspect-ratio:16/9; overflow:hidden; }
.card__media img{ width:100%; height:100%; object-fit:cover; }
.card__body{ padding:var(--space-6); flex:1; display:flex; flex-direction:column; gap:6px; }
.card__title{ font-family:var(--font-display); font-weight:500; font-size:var(--fs-lg); margin-bottom:8px; color:var(--c-text);
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.card__desc{ color:var(--c-text-sub); font-size:var(--fs-sm); font-weight:300;
  display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.card__more{ margin-top:auto; padding-top:var(--space-3); font-weight:600; color:var(--c-accent); font-size:var(--fs-sm); }
.card--cta{ background:var(--c-wine); color:#fff; align-items:center; justify-content:center; text-align:center; padding:var(--space-6); border-color:var(--c-wine); }
.card--cta .card__title{ color:#fff; }

.card-badges{ display:flex; flex-wrap:wrap; gap:8px; }
@media(max-width:768px){ .card-badges{ flex-direction:column; align-items:flex-start; gap:6px; } }
.badge{ display:inline-flex; align-items:center; height:32px; padding:0 12px; border:1px solid var(--c-border-2); border-radius:999px; font-size:var(--fs-xs); font-weight:500; color:var(--c-text-sub); }

/* checklist */
[data-comp="checklist"]{ display:grid; gap:20px; }
[data-comp="checklist"] li{ display:flex; gap:14px; align-items:flex-start; padding:var(--space-6); background:var(--c-bg-elevated); border:1px solid var(--c-border); border-radius:var(--radius-md); }
[data-comp="checklist"] li::before{ content:''; flex:0 0 20px; width:20px; height:20px; margin-top:2px; border-radius:50%; background:var(--c-accent-soft); border:1.5px solid var(--c-accent); }

/* compare / cost table */
.table-wrap{ overflow-x:auto; border:1px solid var(--c-border); border-radius:var(--radius-md); }
[data-comp="costtable"],[data-comp="compare"]{ min-width:560px; }
[data-comp="costtable"] th,[data-comp="compare"] th{ text-align:left; padding:14px 16px; font-size:var(--fs-sm); font-weight:600; color:#fff; }
[data-comp="costtable"] th{ background:var(--c-wine); }
[data-comp="compare"] th{ background:var(--c-bg-elevated); color:var(--c-accent-2); border-bottom:2px solid var(--c-accent); }
[data-comp="costtable"] td,[data-comp="compare"] td{ padding:14px 16px; border-top:1px solid var(--c-border); font-size:var(--fs-sm); font-weight:300; color:var(--c-text); background:var(--c-bg-elevated); }
[data-comp="costtable"] tr:nth-child(even) td,[data-comp="compare"] tr:nth-child(even) td{ background:var(--c-bg-soft); }

/* callout */
[data-comp="callout"]{ display:flex; gap:14px; padding:var(--space-5); border-radius:var(--radius-md); background:var(--c-accent-soft); border:1px solid var(--c-accent); }
[data-comp="callout"] strong{ color:var(--c-accent-2); }

/* before/after */
[data-comp="ba"]{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
@media(max-width:768px){ [data-comp="ba"]{ grid-template-columns:1fr; } }
.ba__item{ position:relative; border-radius:var(--radius-md); overflow:hidden; }
.ba__item img{ aspect-ratio:16/9; object-fit:cover; }
.ba__tag{ position:absolute; top:12px; left:12px; background:var(--c-wine); color:#fff; font-size:var(--fs-xs); font-weight:600; letter-spacing:.06em; padding:4px 12px; border-radius:999px; }

/* trustband */
[data-comp="trustband"]{ display:flex; flex-wrap:wrap; gap:12px; }
[data-comp="trustband"] .badge{ height:40px; padding:0 16px; border-color:var(--c-accent); color:var(--c-accent-2); }

/* spec sheet — 라벨:값 정의목록 */
[data-comp="spec"]{ display:grid; gap:0; border-top:1px solid var(--c-border); }
[data-comp="spec"] .spec-row{ display:grid; grid-template-columns:1fr 2fr; gap:24px; padding:20px 0; border-bottom:1px solid var(--c-border); }
[data-comp="spec"] dt{ font-size:var(--fs-sm); font-weight:500; color:var(--c-text-sub); letter-spacing:.02em; }
[data-comp="spec"] dd{ margin:0; font-size:var(--fs-base); font-weight:300; color:var(--c-text); }
@media(max-width:768px){ [data-comp="spec"] .spec-row{ grid-template-columns:1fr; gap:4px; padding:16px 0; } }

/* 대형 스탯 풀아웃 */
.stat-pullout{ text-align:center; padding:var(--space-10) var(--space-6); border:1px solid var(--c-border); border-radius:var(--radius-lg); }
.stat-pullout__num{ font-family:var(--font-display); font-weight:300; font-size:clamp(3.2rem,8vw,6rem); color:var(--c-accent-2); line-height:1; }
.stat-pullout__label{ margin-top:var(--space-3); font-size:var(--fs-base); font-weight:300; color:var(--c-text-sub); }

/* photo marquee */
.marquee{ overflow:hidden; }
.marquee__track{ display:flex; gap:16px; width:max-content; animation:marquee 34s linear infinite; }
.marquee__track img{ width:260px; height:170px; object-fit:cover; border-radius:var(--radius-md); flex:none; filter:saturate(.92) brightness(.9); }
@media (prefers-reduced-motion:reduce){ .marquee__track{ animation:none; } }

/* stat */
.stat{ display:flex; flex-direction:column; gap:6px; }
.stat__num{ font-family:var(--font-display); font-weight:300; font-size:clamp(2.6rem,6vw,4.5rem); color:var(--c-wine-2); }
.stat__label{ font-size:var(--fs-sm); font-weight:300; color:var(--c-text-sub); }

/* proc-list — 변형 금지 구역 */
.proc-list{ display:flex; flex-wrap:nowrap; list-style:none; margin:0; padding:0; }
.proc-step{ flex:1 1 0; min-width:0; position:relative; padding:0 12px; text-align:center; }
.proc-step:not(:last-child)::after{
  content:''; position:absolute; z-index:0;
  top:calc(var(--proc-badge)/2 - var(--proc-line)/2);
  left:50%; width:100%; height:var(--proc-line); background:var(--c-border);
}
.proc-num{ position:relative; z-index:1; width:var(--proc-badge); height:var(--proc-badge);
  margin:0 auto 12px; border-radius:var(--proc-badge-radius);
  background:var(--c-wine); color:#fff; font-weight:500; font-family:var(--font-display);
  display:flex; align-items:center; justify-content:center; }
.proc-step__body{ display:block; }
.proc-step__title{ font-weight:500; margin-bottom:6px; color:var(--c-text); }
.proc-step__desc{ font-size:var(--fs-sm); font-weight:300; color:var(--c-text-sub); margin-bottom:6px; }
.proc-step__meta{ display:inline-block; font-size:var(--fs-xs); font-weight:600; color:var(--c-accent-2); background:var(--c-accent-soft); padding:3px 10px; border-radius:999px; }
@media (max-width:1024px){
  .proc-list{ flex-direction:column; gap:40px; }
  .proc-step{ padding:0 0 0 calc(var(--proc-badge) + 16px); text-align:left; }
  .proc-num{ position:absolute; left:0; top:0; margin:0; }
  .proc-step:not(:last-child)::after{
    top:var(--proc-badge); left:calc(var(--proc-badge)/2 - var(--proc-line)/2);
    width:var(--proc-line); height:calc(100% + 40px); }
}

/* FAQ */
[data-comp="faq"] .faq-item{ border-bottom:1px solid var(--c-border); }
.faq-q{ width:100%; display:flex; justify-content:space-between; align-items:center; gap:16px; padding:20px 4px; min-height:52px; text-align:left; font-weight:500; font-size:var(--fs-lg); font-family:var(--font-display); color:var(--c-text); }
.faq-q__icon{ flex:none; width:22px; height:22px; position:relative; }
.faq-q__icon::before,.faq-q__icon::after{ content:''; position:absolute; background:var(--c-accent); top:50%; left:50%; transform:translate(-50%,-50%); }
.faq-q__icon::before{ width:14px; height:2px; }
.faq-q__icon::after{ width:2px; height:14px; transition:transform var(--trans-base); }
.faq-item.is-open .faq-q__icon::after{ transform:translate(-50%,-50%) rotate(90deg) scale(0); }
.faq-a{ max-height:0; overflow:hidden; transition:max-height var(--trans-base); }
.faq-a p{ padding:0 4px 20px; color:var(--c-text-sub); font-weight:300; }
.faq-item.is-open .faq-a{ max-height:400px; }

/* CTA banner (5-layer) */
.cta-banner{ position:relative; overflow:hidden; border-radius:0; }
.cta-banner__bg{ position:absolute; inset:0; z-index:-2; }
.cta-banner__bg img{ width:100%; height:100%; object-fit:cover; filter:saturate(.9) brightness(.75); }
.cta-banner__scrim{ position:absolute; inset:0; z-index:-1; background:linear-gradient(100deg, rgba(10,10,10,.95) 0%, rgba(10,10,10,.8) 48%, rgba(10,10,10,.4) 100%); }
.cta-banner::after{ content:''; position:absolute; top:0; right:8%; bottom:0; width:2px; z-index:-1;
  background:linear-gradient(to bottom, transparent, var(--c-wine) 20%, var(--c-accent) 80%, transparent); opacity:.5; transform:skewX(-8deg); }
.cta-banner__inner{ position:relative; z-index:1; color:#fff; max-width:680px; }
.cta-banner h2{ color:#fff; margin-bottom:var(--space-3); }
.cta-banner p{ color:rgba(241,241,238,.82); font-size:var(--fs-lg); font-weight:300; margin-bottom:var(--space-6); }
.cta-banner__actions{ display:flex; gap:16px; flex-wrap:wrap; margin-bottom:var(--space-5); }
.cta-banner small{ display:block; color:rgba(241,241,238,.55); font-size:var(--fs-xs); }

/* 5-image internal link grid (ItemList) */
.link-grid{ display:grid; grid-template-columns:1.4fr 1fr 1fr; grid-template-rows:auto auto; gap:16px; }
.link-grid a{ display:block; position:relative; border-radius:var(--radius-md); overflow:hidden; min-height:44px; }
.link-grid a:nth-child(1){ grid-row:1 / 3; }
.link-grid__media{ position:relative; aspect-ratio:4/3; }
.link-grid a:nth-child(1) .link-grid__media{ aspect-ratio:4/5; }
.link-grid__media img{ width:100%; height:100%; object-fit:cover; transition:transform var(--trans-slow); }
@media (hover: hover) and (pointer:fine){ .link-grid a:hover .link-grid__media img{ transform:scale(1.06); } }
.link-grid__scrim{ position:absolute; inset:0; background:linear-gradient(to top, rgba(10,10,10,.9), rgba(10,10,10,0) 55%); }
.link-grid__cap{ position:absolute; left:0; right:0; bottom:0; padding:16px; color:#fff; font-weight:500; }
@media(max-width:1024px){ .link-grid{ grid-template-columns:1fr 1fr; } .link-grid a:nth-child(1){ grid-column:1/3; grid-row:auto; } .link-grid a:nth-child(1) .link-grid__media{ aspect-ratio:16/9; } }
@media(max-width:768px){ .link-grid{ grid-template-columns:1fr; } .link-grid a:nth-child(1){ grid-column:auto; } }

/* footer */
.site-footer{ background:#000000; color:rgba(241,241,238,.86); padding-block:var(--space-24) var(--space-10); border-top:1px solid var(--c-border); }
.site-footer a{ color:rgba(241,241,238,.86); }
.site-footer .ft-inner{ max-width:1200px; margin-inline:auto; display:grid; grid-template-columns:1.6fr 1fr 1fr; gap:40px; align-items:start; text-align:left; }
.ft-cluster__title{ font-size:15px; font-weight:600; margin-bottom:12px; color:#fff; }
.ft-cluster ul{ list-style:none; margin:0; padding:0; display:grid; gap:8px; }
.ft-cluster p{ font-size:var(--fs-sm); font-weight:300; line-height:1.8; color:rgba(241,241,238,.62); }
.ft-cluster a{ font-size:var(--fs-sm); font-weight:300; color:rgba(241,241,238,.78); }
@media (hover: hover) and (pointer:fine){ .ft-cluster a:hover{ color:var(--c-accent-2); } }
.ft-bottom{ display:flex; justify-content:space-between; align-items:baseline; border-top:1px solid rgba(241,241,238,.1); margin-top:40px; padding-top:16px; font-size:var(--fs-xs); color:rgba(241,241,238,.45); }
@media (max-width:768px){
  .site-footer .ft-inner{ grid-template-columns:1fr; text-align:left; }
  .ft-bottom{ flex-direction:column; align-items:flex-start; gap:8px; }
}

/* mobile sticky bar / floating cta */
#mob-bar{ display:none; position:fixed; bottom:0; left:0; right:0; z-index:90; background:#000; border-top:1px solid var(--c-border);
  padding:10px 16px calc(12px + env(safe-area-inset-bottom)); }
#mob-bar .mob-bar__row{ display:flex; gap:10px; }
#mob-bar a{ flex:1; height:48px; border-radius:999px; font-weight:600; font-size:var(--fs-sm); }
#float-cta{ display:none; position:fixed; z-index:80; right:16px; bottom:calc(var(--sticky-h) + 16px + env(safe-area-inset-bottom));
  width:52px; height:52px; border-radius:50%; background:var(--c-accent); color:#0A0A0A; align-items:center; justify-content:center; box-shadow:var(--shadow-md); }

/* ===== responsive ===== */
@media(max-width:1024px){
  section{ padding-block:var(--space-20); }
}
@media(max-width:768px){
  .hdr-nav,.hdr-phone{ display:none; }
  .hamburger{ display:flex; }
  #mob-nav.is-open{ display:flex; flex-direction:column; position:fixed; inset:0; z-index:99; background:var(--c-bg); padding:100px var(--space-6) var(--space-6); gap:var(--space-6); }
  #mob-nav a{ font-size:var(--fs-xl); font-weight:500; font-family:var(--font-display); color:var(--c-text); }
  #mob-bar{ display:block; }
  #float-cta{ display:none; }
  body{ padding-bottom:calc(var(--sticky-h) + env(safe-area-inset-bottom)); font-size:17px; }
  section{ padding-block:var(--space-16); }
  .section-head{ margin-bottom:var(--space-10); }
}
@media(max-width:480px){
  .hero__actions,.cta-banner__actions{ flex-direction:column; align-items:stretch; }
  .dp-stat3{ grid-template-columns:1fr; }
}
