@charset "utf-8";
@font-face {
  font-family: "GmarketSans"; font-style: normal; font-weight: 500; font-display: swap;
  src: url("/assets/fonts/GmarketSansMedium.woff2") format("woff2");
}
@font-face {
  font-family: "GmarketSans"; font-style: normal; font-weight: 700; font-display: swap;
  src: url("/assets/fonts/GmarketSansBold.woff2") format("woff2");
}
@font-face {
  font-family: "TypoSsangmundong"; font-style: normal; font-weight: 400; font-display: swap;
  src: url("/assets/fonts/cafe24-shiningstar.woff2") format("woff2");
}
@font-face {
  font-family: "Cafe24Shiningstar"; font-style: normal; font-weight: 400; font-display: swap;
  src: url("/assets/fonts/cafe24-shiningstar.woff2") format("woff2");
}
:root {
  color-scheme: light;
  
  --blue: #936a10;
  --blue-d: #76520c;
  --blue-l: #f8f2e4;
  --blue-on-dark: #edc866;    
  --muted-on-dark: #bfb9aa;   
  
  --ink: #161616;
  --ink-2: #343331;
  --text: #20201e;
  --muted: #65635d;      
  --muted-2: #716e67;    
  --line: #e4dfd2;
  --line-2: #d4cebf;
  --paper: #f3f1eb;
  --white: #FFFFFF;
  --dark: #111110;           
  --dark-line: rgba(255,255,255, .14);
  --font: "GmarketSans", -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", "Malgun Gothic", system-ui, sans-serif;
  --font-display: "GmarketSans", var(--font);
  --font-hand: "Cafe24Shiningstar", "GmarketSans", var(--font);
  --font-hero: "Pretendard Variable", "Pretendard", var(--font);
  --hdr-h: 82px;
  --wrap: 1240px;
  --r-sm: 8px;
  --r: 14px;
  --r-lg: 20px;
  --r-pill: 999px;
  --sh-sm: 0 2px 10px rgba(16,16,15, .06);
  --sh: 0 16px 40px rgba(16,16,15, .12);
  --sh-lg: 0 28px 70px rgba(16,16,15, .18);
  --ease: cubic-bezier(.22, .8, .3, 1);
  --dur: .25s;
  --fs-hero: clamp(42px, 6.6vw, 92px);
  --fs-h2: clamp(31px, 4.4vw, 60px);
  --fs-h3: clamp(20px, 1.8vw, 25px);
  --lead: clamp(18px, 1.5vw, 21px);
}
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
  margin: 0; background: var(--white); color: var(--text);
  font-family: var(--font); font-weight: 500; font-size: 18px; line-height: 1.6;
  word-break: keep-all; overflow-wrap: anywhere; -webkit-font-smoothing: antialiased;
  counter-reset: sec;
}
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
ul, ol { margin: 0; padding: 0; list-style: none; }
h1, h2, h3, h4, p, blockquote, figure, dl, dd { margin: 0; }
button { font: inherit; color: inherit; background: none; border: 0; cursor: pointer; }
table { border-collapse: collapse; width: 100%; }
:focus-visible { outline: 3px solid var(--blue); outline-offset: 3px; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.ico { flex: none; }
.wrap { width: 100%; max-width: var(--wrap); margin: 0 auto; padding: 0 24px; }
.site-main { display: block; }
.sec { position: relative; }
.sec-pad-normal { padding: clamp(72px, 7.5vw, 122px) 0; }
.sec-pad-tight { padding: clamp(48px, 6vw, 88px) 0; }
.sec-pad-none { padding: 0; }
.sec-bg-plain { background: var(--white); }
.sec-bg-tint { background: var(--paper); }
.sec-bg-brand { background: var(--blue-l); }
.sec-bg-dark { background: var(--dark); color: #fff; }
.sec-head {
  position: relative; display: grid; grid-template-columns: minmax(0, 1fr);
  margin-bottom: clamp(36px, 4.2vw, 62px);
}
.sec-num {
  position: static; justify-self: start; display: inline-flex; align-items: center; gap: 13px;
  margin-bottom: 18px; padding: 0; background: none;
  font-size: 16px; font-weight: 700; letter-spacing: .18em; color: var(--blue);
  font-variant-numeric: tabular-nums;
}
.sec-num::after { content: ""; display: block; width: 40px; height: 2px; background: var(--blue); }
.sec-bg-dark .sec-num { color: var(--blue-on-dark); }
.sec-bg-dark .sec-num::after { background: var(--blue-on-dark); }
.sec-num::before { counter-increment: sec; content: counter(sec, decimal-leading-zero); }
.sec-title {
  grid-column: 1; font-family: var(--font-display); font-weight: 700;
  font-size: var(--fs-h2); line-height: 1.14; letter-spacing: -.025em; color: var(--ink);
  max-width: 20ch; text-wrap: balance;
}
.sec-bg-dark .sec-title { color: #fff; }
.sec-title .gtext { font-style: normal; color: var(--blue); }
.sec-bg-dark .sec-title .gtext { color: var(--blue-on-dark); }
.sec-sub {
  grid-column: 1; justify-self: start; margin-top: 18px;
  max-width: 54ch; font-size: var(--lead); line-height: 1.72; color: var(--muted);
}
.sec-bg-dark .sec-sub { color: rgba(255,255,255, .68); }
.sec-sub .gtext { font-style: normal; color: var(--blue); font-weight: 700; }
.kicker { grid-column: 1; margin-bottom: 10px; font-size: 16.5px; font-weight: 700; letter-spacing: .1em; color: var(--blue); }
.sec-bg-dark .kicker { color: var(--blue-on-dark); }
.sec-head-center { justify-items: center; text-align: center; }
.sec-head-center .sec-num, .sec-head-center .sec-title, .sec-head-center .sec-sub { justify-self: center; }
.sec-head-center .sec-sub { max-width: 56ch; }
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 9px;
  height: 52px; padding: .18em 26px 0; border-radius: var(--r-pill);
  font-weight: 700; font-size: 18px; letter-spacing: -.01em; border: 1.5px solid transparent;
  transition: background-color var(--dur), color var(--dur), border-color var(--dur), transform var(--dur), box-shadow var(--dur);
}
.btn > .ico { margin-top: -.18em; }
.btn-sm { height: 42px; padding: .18em 18px 0; font-size: 16.5px; }
.btn-lg { height: 60px; padding: .18em 34px 0; font-size: 19px; }
.btn-block { display: flex; width: 100%; }
.btn-b { background: var(--blue); color: #fff; box-shadow: 0 8px 22px rgba(192,147,33, .26); }
.btn-b:hover { background: var(--blue-d); box-shadow: 0 10px 26px rgba(192,147,33, .32); }
.btn-b:active { transform: translateY(1px); box-shadow: 0 4px 12px rgba(192,147,33, .3); }
.btn-ghost { border-color: rgba(255,255,255, .45); color: #fff; }
.btn-ghost:hover { border-color: #fff; background: rgba(255,255,255, .12); }
.sec-bg-plain .btn-ghost, .sec-bg-tint .btn-ghost, .sec-bg-brand .btn-ghost { border-color: rgba(16,16,15, .3); color: var(--ink); }
.sec-bg-plain .btn-ghost:hover, .sec-bg-tint .btn-ghost:hover, .sec-bg-brand .btn-ghost:hover { border-color: var(--ink); background: rgba(16,16,15, .05); }
.btn-ghost:active { transform: translateY(1px); }
.btn-line { border-color: var(--line-2); color: var(--ink); background: #fff; }
.btn-line:hover { border-color: var(--blue); color: var(--blue); }
.sec-bg-dark .btn-ghost { border-color: rgba(255,255,255, .4); color: #fff; }
.sec-bg-dark .btn-ghost:hover { border-color: #fff; background: rgba(255,255,255, .1); }
.hdr {
  position: sticky; top: 0; z-index: 60; background: rgba(255,255,255, .94);
  border-bottom: 1px solid var(--line); backdrop-filter: saturate(1.4) blur(10px);
}
.hdr.scrolled { box-shadow: var(--sh-sm); }
.hdr-in { display: flex; align-items: center; gap: 22px; height: 82px; }
.logo { display: flex; align-items: center; flex: none; }
.logo-img { height: 38px; width: auto; }
.logo-word { font-family: var(--font-display); font-weight: 700; font-size: 24px; color: var(--ink); }
.gnb { flex: 1 1 auto; display: flex; justify-content: center; }
.gnb > ul { display: flex; align-items: center; gap: 4px; }
.gnb > ul > li { position: relative; }
.gnb > ul > li > a {
  display: inline-flex; align-items: center; gap: 6px; padding: 12px 16px; border-radius: var(--r-sm);
  font-size: 18px; font-weight: 700; color: var(--ink-2); transition: color var(--dur);
}
.gnb > ul > li > a:hover { color: var(--blue); }
.caret { width: 6px; height: 6px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg) translateY(-2px); }
.gnb .sub {
  position: absolute; left: 50%; top: 100%; transform: translateX(-50%) translateY(6px);
  min-width: 190px; padding: 8px; background: #fff; border: 1px solid var(--line);
  border-radius: var(--r); box-shadow: var(--sh); opacity: 0; visibility: hidden;
  transition: opacity var(--dur), transform var(--dur), visibility var(--dur);
}
.gnb li.has-sub:hover .sub, .gnb li.has-sub.open .sub, .gnb li.has-sub:focus-within .sub { opacity: 1; visibility: visible; transform: translateX(-50%) translateY(0); }
.gnb .sub a { display: block; padding: 10px 14px; border-radius: 8px; font-size: 17px; font-weight: 600; }
.gnb .sub a:hover { background: var(--paper); color: var(--blue); }
.hdr-cta { display: flex; align-items: center; gap: 12px; flex: none; }
.hdr-tel { display: inline-flex; align-items: center; gap: 8px; font-size: 21px; font-weight: 800; color: var(--ink); white-space: nowrap; }
.hdr-tel .ico { color: var(--blue); }
.burger { display: none; width: 44px; height: 44px; flex-direction: column; justify-content: center; align-items: center; gap: 5px; }
.burger span { display: block; width: 24px; height: 2px; background: var(--ink); transition: transform var(--dur), opacity var(--dur); }
.burger.is-open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.burger.is-open span:nth-child(2) { opacity: 0; }
.burger.is-open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
.mnav { border-top: 1px solid var(--line); background: #fff; padding: 12px 0 24px; }
.mnav-list { margin-bottom: 16px; }
.mnav-a { display: block; padding: 16px 0; font-size: 22px; font-weight: 800; border-bottom: 1px solid var(--line); }
.mnav-sub { padding: 6px 0 10px 12px; }
.mnav-sub a { display: block; padding: 10px 0; font-size: 18px; color: var(--muted); }
body.mnav-open { overflow: hidden; }
.preview-bar { background: var(--dark); color: #fff; text-align: center; padding: 10px 16px; font-size: 16px; font-weight: 600; }
.st-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: clamp(36px, 4vw, 60px); }
.st-kicker { display: inline-flex; align-items: center; gap: 12px; margin-bottom: 20px; font-size: 16px; font-weight: 700; letter-spacing: .18em; color: var(--blue); }
.st-kicker-line { display: block; width: 40px; height: 1.5px; background: var(--blue); }
.st-text {
  font-family: var(--font-display); font-weight: 700;
  font-size: clamp(24px, 2.7vw, 38.8px); line-height: 1.34; letter-spacing: -.03em;
  color: var(--ink); max-width: 30ch; text-wrap: pretty; padding-left: 0;
}
.st-text::before { content: none; }
.st-text .gtext { font-style: normal; color: var(--blue); }
.st-facts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; margin: 0; background: none; border: 0; border-top: 1px solid var(--line-2); border-radius: 0; box-shadow: none; overflow: visible; }
.st-fact { background: none; padding: 26px 24px 0 0; }
.st-fact + .st-fact { padding-left: 24px; border-left: 1px solid var(--line); }
.st-fact-v { font-family: var(--font-display); font-weight: 700; font-size: clamp(25px, 2.4vw, 34.7px); color: var(--ink); line-height: 1.1; letter-spacing: -.02em; overflow-wrap: normal; word-break: keep-all; }
.st-fact-l { margin-top: 8px; font-size: 17px; color: var(--muted); }
.prob-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(14px, 1.6vw, 26px); }
.prob-card { position: relative; text-align: left; }
.prob-card:nth-child(odd) { margin-top: clamp(0px, 3vw, 44px); }
.prob-img { overflow: hidden; border-radius: var(--r); background: var(--paper); box-shadow: none; }
.prob-img img { width: 100%; aspect-ratio: 3 / 4; object-fit: cover; transition: transform .6s var(--ease); }
.prob-card:hover .prob-img img { transform: scale(1.05); }
.prob-name { margin-top: 18px; font-size: var(--fs-h3); font-weight: 800; letter-spacing: -.02em; color: var(--ink); }
.prob-desc { margin-top: 6px; font-size: 17px; color: var(--muted); line-height: 1.6; }
.sym-table { font-size: 18px; border-top: 1.5px solid var(--ink); }
.sym-table thead th { background: none; padding: 14px 20px 14px 0; font-size: 16px; font-weight: 700; letter-spacing: .1em; color: var(--muted); text-align: left; border-bottom: 1px solid var(--line-2); }
.sym-table tbody tr { border-top: 0; border-bottom: 1px solid var(--line); }
.sym-table tbody tr:hover { background: var(--blue-l); }
.sym-table tbody th { display: flex; align-items: center; gap: 14px; padding: 22px 20px 22px 0; font-size: 19px; font-weight: 800; color: var(--ink); text-align: left; }
.sym-table tbody td { padding: 22px 20px 22px 0; color: var(--ink-2); vertical-align: middle; }
.sym-ico { display: inline-flex; align-items: center; justify-content: center; flex: none; width: 38px; height: 38px; border-radius: 50%; background: var(--blue); color: #fff; }
.sym-action { font-weight: 800; color: var(--blue); }
.sym-foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-start; gap: 16px 26px; margin-top: 34px; text-align: left; }
.sym-note { font-size: var(--lead); font-weight: 700; color: var(--ink); }
.svc-grid { display: block; border-top: 1.5px solid var(--ink); }
.svc-card { border-bottom: 1px solid var(--line); }
.svc-in {
  display: grid; grid-template-columns: 68px minmax(0, 1fr) minmax(0, 1.1fr) 150px 40px;
  align-items: center; gap: 18px; padding: 30px 0; position: relative; height: auto;
  background: none; border: 0; border-radius: 0;
  transition: padding-left var(--dur), color var(--dur);
}
a.svc-in:hover { padding-left: 14px; transform: none; box-shadow: none; border-color: transparent; }
a.svc-in:hover .svc-name { color: var(--blue); }
.svc-no { position: static; font-size: 16.5px; font-weight: 700; letter-spacing: .1em; color: var(--muted-2); }
.svc-ico { display: none; }
.svc-name { margin-top: 0; font-size: clamp(22px, 2vw, 29px); font-weight: 800; letter-spacing: -.025em; color: var(--ink); transition: color var(--dur); }
.svc-desc { margin-top: 0; font-size: 17.5px; line-height: 1.6; color: var(--muted); }
.svc-foot { display: flex; align-items: center; justify-content: flex-end; gap: 12px; margin-top: 0; padding-top: 0; }
.svc-price { font-size: 19px; font-weight: 800; color: var(--ink); white-space: nowrap; overflow-wrap: normal; }
.svc-more { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 50%; border: 1px solid var(--line-2); color: var(--ink); font-size: 0; transition: background-color var(--dur), border-color var(--dur), color var(--dur); }
.svc-more .ico { width: 18px; height: 18px; }
a.svc-in:hover .svc-more { background: var(--blue); border-color: var(--blue); color: #fff; }
.svc-img { display: none; }
.sec-strengths { position: relative; overflow: hidden; }
.sec-strengths::before {
  content: ""; position: absolute; right: -12%; top: -20%; width: min(760px, 62vw); aspect-ratio: 1;
  background: radial-gradient(circle, rgba(210,167,57, .22) 0%, transparent 66%);
  pointer-events: none;
}
.sec-strengths > .wrap { position: relative; z-index: 1; }
.sec-strengths.has-bg .str-bg { position: absolute; inset: 0; z-index: 0; overflow: hidden; }
.sec-strengths.has-bg .str-bg img { width: 100%; height: 100%; object-fit: cover; object-position: 72% 38%; opacity: .55; }
.sec-strengths.has-bg .str-bg::after {
  content: ""; position: absolute; inset: 0;
  background:
    linear-gradient(96deg, rgba(22,21,20, .97) 0%, rgba(22,21,20, .9) 34%, rgba(22,21,20, .58) 66%, rgba(22,21,20, .42) 100%),
    linear-gradient(180deg, rgba(22,21,20, .5) 0%, rgba(22,21,20, .2) 30%, rgba(22,21,20, .88) 100%);
}
.sec-strengths.has-bg::before { opacity: .45; }
.str-banner { position: relative; margin: 0 0 clamp(34px, 4vw, 56px); max-width: none; border-radius: var(--r-lg); overflow: hidden; border: 0; background: #000; box-shadow: none; }
.str-banner-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 42%; opacity: .55; }
.str-banner::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(22,21,20, .93) 0%, rgba(22,21,20, .6) 55%, rgba(22,21,20, .3) 100%); }
.str-banner-in { position: relative; z-index: 2; display: block; min-height: 0; padding: clamp(38px, 4.6vw, 68px) clamp(28px, 4vw, 60px); text-align: left; }
.str-banner-title { font-family: var(--font-display); font-weight: 700; font-size: clamp(30px, 4vw, 57.1px); line-height: 1.12; letter-spacing: -.03em; color: #fff; text-shadow: none; }
.str-banner-text { margin-top: 16px; max-width: 46ch; font-size: var(--lead); font-weight: 500; color: rgba(255,255,255, .8); line-height: 1.7; text-shadow: none; }
.str-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(12px, 1.2vw, 18px); max-width: none; margin: 0; border-top: 0; }
.str-card {
  position: relative; display: block; text-align: left; color: #fff;
  padding: clamp(24px, 2.4vw, 34px); border: 0; border-bottom: 0; border-radius: 16px;
  background: rgba(255,255,255, .045);
  box-shadow: inset 0 1px 0 rgba(255,255,255, .09);
  transition: background-color var(--dur), transform var(--dur);
}
.str-card:hover { transform: translateY(-4px); background: rgba(255,255,255, .075); box-shadow: inset 0 1px 0 rgba(255,255,255, .14); }
.str-card:nth-child(3n+2), .str-card:nth-child(3n) { padding-left: clamp(24px, 2.4vw, 34px); border-left: 0; }
.str-ico { position: absolute; right: 20px; top: 20px; display: block; margin: 0; color: rgba(216,184,102, .22); }
.str-value {
  display: block; margin-top: 0; font-family: var(--font-hero); font-weight: 800;
  font-size: clamp(32px, 3.1vw, 46.9px); line-height: 1.08; letter-spacing: -.03em; color: #fff;
  font-variant-numeric: tabular-nums; white-space: nowrap; overflow-wrap: normal;
}
.str-label { display: block; margin-top: 12px; font-size: 16.5px; line-height: 1.6; color: rgba(255,255,255, .62); }
.price-card { max-width: none; background: none; border: 0; border-radius: 0; box-shadow: none; overflow: visible; }
.price-table { font-size: 18px; border-top: 1.5px solid var(--ink); }
.price-table thead th { background: none; color: var(--muted); padding: 14px 0; font-size: 16px; font-weight: 700; letter-spacing: .1em; text-align: left; border-bottom: 1px solid var(--line-2); }
.price-table thead th:last-child { text-align: right; }
.price-note { font-size: 15.5px; font-weight: 500; opacity: 1; }
.price-table tbody tr { border-top: 0; border-bottom: 1px solid var(--line); }
.price-table tbody tr:hover { background: var(--blue-l); }
.price-table tbody th { display: flex; align-items: center; gap: 16px; padding: 22px 0; font-size: 19px; font-weight: 700; color: var(--ink); text-align: left; }
.price-ico { display: inline-flex; align-items: center; justify-content: center; flex: none; width: 38px; height: 38px; border-radius: 50%; background: var(--blue-l); color: var(--blue); }
.price-val { width: 34%; padding: 22px 0; text-align: right; border-left: 0; font-size: 20px; font-weight: 800; color: var(--ink); white-space: nowrap; overflow-wrap: normal; }
.price-notes { max-width: none; margin: 40px 0 0; padding: 0; background: none; border: 0; border-radius: 0; }
.price-notes-t { font-size: 16.5px; font-weight: 700; letter-spacing: .1em; color: var(--blue); }
.price-notes ul { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 14px 34px; margin-top: 18px; }
.price-notes li { display: flex; align-items: flex-start; gap: 10px; font-size: 17.5px; line-height: 1.65; color: var(--ink-2); }
.price-notes .ico { color: var(--blue); margin-top: 3px; }
.price-foot {
  display: inline-flex; align-items: center; gap: 10px; max-width: none; margin: 40px 0 0;
  padding: 0 0 12px; background: none; color: var(--ink); font-weight: 800; font-size: var(--lead);
  text-align: left; border-radius: 0; width: fit-content;
}
a.price-foot { border-bottom: 2px solid var(--ink); }
.price-foot-link:hover { background: none; color: var(--blue); border-color: var(--blue); }
.sec-photoband { position: relative; display: flex; align-items: flex-end; overflow: hidden; background: var(--dark); }
.pb-short { min-height: clamp(240px, 26vw, 340px); }
.pb-normal { min-height: clamp(340px, 38vw, 520px); }
.pb-tall { min-height: clamp(420px, 48vw, 660px); }
.pb-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.pb-shade {
  position: absolute; inset: 0;
  background:
    linear-gradient(180deg, rgba(10,10,9, .1) 0%, rgba(10,10,9, .45) 42%, rgba(10,10,9, .93) 100%),
    linear-gradient(100deg, rgba(10,10,9, .6) 0%, rgba(10,10,9, .15) 55%, transparent 100%);
}
.pb-in { position: relative; z-index: 2; display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 18px 40px; padding-top: 70px; padding-bottom: clamp(34px, 4vw, 60px); }
.pb-kicker { display: inline-block; margin-bottom: 14px; font-size: 16px; font-weight: 700; letter-spacing: .18em; color: rgba(255,255,255, .88); text-shadow: 0 2px 12px rgba(0,0,0, .6); }
.pb-text { font-family: var(--font-display); font-weight: 700; font-size: clamp(28px, 4vw, 59.2px); line-height: 1.12; letter-spacing: -.03em; color: #fff; max-width: 16ch; text-shadow: 0 4px 24px rgba(0,0,0, .55); }
.pb-text .gtext { font-style: normal; color: var(--blue-on-dark); }
.pb-note { max-width: 300px; font-size: 16.5px; line-height: 1.7; color: rgba(255,255,255, .78); }
.sec-event { overflow: hidden; }
.ev-top { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); align-items: center; gap: clamp(28px, 4vw, 70px); max-width: 1560px; margin: 0 auto clamp(48px, 6vw, 90px); }
.ev-media { position: relative; }
.ev-media img { width: 100%; height: 100%; max-height: 560px; object-fit: cover; border-radius: 0 var(--r-lg) var(--r-lg) 0; }
.ev-copy { padding: 0 24px; max-width: 620px; text-align: left; }
.ev-ribbon { display: inline-block; padding: 7px 16px; background: var(--blue); color: #fff; font-weight: 700; font-size: 17px; letter-spacing: .02em; border-radius: var(--r-pill); }
.ev-t1 { margin-top: 22px; font-family: var(--font-display); font-weight: 700; font-size: clamp(24px, 2.4vw, 34.7px); color: var(--ink); line-height: 1.2; letter-spacing: -.025em; }
.ev-t2 { font-family: var(--font-display); font-weight: 700; font-size: clamp(34.7px, 4.6vw, 67.3px); color: var(--blue); line-height: 1.05; letter-spacing: -.035em; }
.ev-q { margin-top: 26px; font-size: clamp(19px, 1.5vw, 23px); font-weight: 800; color: var(--ink); }
.ev-desc { margin-top: 10px; font-size: 17.5px; color: var(--muted); line-height: 1.75; }
.ev-points { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; text-align: left; border-top: 1px solid var(--line-2); }
.ev-point { padding: 30px 26px 0 0; }
.ev-point + .ev-point { padding-left: 26px; border-left: 1px solid var(--line); }
.ev-ico { display: inline-flex; align-items: center; justify-content: center; width: auto; height: auto; border-radius: 0; background: none; color: var(--blue); box-shadow: none; }
.ev-name { margin-top: 14px; font-size: var(--fs-h3); font-weight: 800; color: var(--ink); letter-spacing: -.02em; }
.ev-pdesc { margin-top: 8px; font-size: 17px; color: var(--muted); line-height: 1.65; }
.sec-steps { position: relative; overflow: hidden; }
.steps-media { position: absolute; inset: 0; }
.steps-media img { width: 100%; height: 100%; object-fit: cover; opacity: .2; }
.sec-steps .wrap { position: relative; z-index: 2; }
.steps-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; border-top: 1px solid var(--dark-line); }
.step-card {
  position: relative; padding: 34px 28px 34px 0; background: none; border: 0; border-radius: 0;
  box-shadow: none; overflow: visible; border-bottom: 1px solid var(--dark-line);
}
.step-card:hover { transform: none; box-shadow: none; }
.step-card:nth-child(3n+2), .step-card:nth-child(3n) { padding-left: 28px; border-left: 1px solid var(--dark-line); }
.step-no { display: block; padding: 0; border-radius: 0; background: none; color: var(--blue-on-dark); font-family: var(--font-display); font-weight: 700; font-size: clamp(28px, 2.6vw, 38.8px); letter-spacing: -.02em; }
.step-name { margin-top: 12px; font-size: var(--fs-h3); font-weight: 800; color: #fff; letter-spacing: -.02em; }
.step-desc { margin-top: 8px; padding-right: 0; font-size: 17px; color: rgba(255,255,255, .66); line-height: 1.7; }
.step-ico { position: absolute; right: 22px; top: 30px; color: rgba(255,255,255, .18); }
.cs-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(18px, 2.2vw, 34px); }
.cs-in { display: block; height: auto; background: none; border: 0; border-radius: 0; overflow: visible; }
.cs-in:hover { transform: none; box-shadow: none; }
.cs-thumb { position: relative; display: block; border-radius: var(--r); overflow: hidden; background: var(--paper); }
.cs-thumb img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; transition: transform .6s var(--ease); }
.cs-in:hover .cs-thumb img { transform: scale(1.05); }
.cs-thumb-empty { display: flex; align-items: center; justify-content: center; aspect-ratio: 4 / 3; color: var(--muted-2); }
.cs-cat { position: absolute; left: 14px; top: 14px; padding: 5px 12px; border-radius: var(--r-pill); background: rgba(16,16,15, .84); color: #fff; font-size: 16px; font-weight: 700; }
.cs-body { display: flex; flex-direction: column; gap: 8px; padding: 20px 0 0; }
.cs-title { font-size: 20px; font-weight: 800; line-height: 1.4; letter-spacing: -.02em; color: var(--ink); }
.cs-in:hover .cs-title { color: var(--blue); }
.cs-excerpt { font-size: 16.5px; line-height: 1.65; color: var(--muted); }
.cs-date { margin-top: 2px; font-size: 16.5px; color: var(--muted-2); }
.cs-foot { margin-top: 44px; text-align: left; }
.rev-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; border-top: 1px solid var(--line-2); }
.rev-card {
  display: flex; flex-direction: column; gap: 16px; padding: 34px 30px 34px 0;
  background: none; border: 0; border-radius: 0; box-shadow: none; border-bottom: 1px solid var(--line);
}
.rev-card:hover { transform: none; box-shadow: none; border-color: var(--line); }
.rev-card:nth-child(3n+2), .rev-card:nth-child(3n) { padding-left: 30px; border-left: 1px solid var(--line); }
.rev-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.stars { display: inline-flex; gap: 2px; }
.star { fill: #DCDCD6; }
.star.on { fill: #F5A623; }
.rev-tag { padding: 0; border-radius: 0; background: none; color: var(--muted); font-size: 16.5px; font-weight: 700; white-space: nowrap; }
.rev-text { position: relative; flex: 1 1 auto; padding-top: 6px; font-size: 18px; line-height: 1.8; color: var(--ink-2); }
.rev-text::before { content: none; }
.rev-who { display: flex; align-items: center; gap: 12px; padding-top: 18px; border-top: 0; }
.rev-avatar { display: inline-flex; align-items: center; justify-content: center; flex: none; width: 40px; height: 40px; border-radius: 50%; background: var(--paper); color: var(--ink); font-weight: 800; font-size: 18px; }
.rev-meta { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.rev-meta strong { font-size: 16.5px; font-weight: 800; color: var(--ink); }
.rev-sub { display: inline-flex; align-items: center; gap: 6px; font-size: 16.5px; color: var(--muted); }
.rev-sub .ico { color: var(--muted-2); }
.rev-area { color: var(--blue); text-decoration: underline; text-underline-offset: 2px; }
.rev-date { padding-left: 8px; border-left: 1px solid var(--line-2); }
.rev-foot { margin-top: 40px; text-align: left; }
.rev-note { margin-top: 14px; font-size: 16.5px; color: var(--muted-2); }
.cli-flow { overflow: hidden; padding: 4px 0; }
.cli-track { display: flex; width: max-content; }
.cli-set { display: flex; align-items: center; gap: 56px; padding-right: 56px; }
.cli-flow:hover .cli-track, .cli-flow:focus-within .cli-track { animation-play-state: paused; }
.has-motion .cli-track { animation: cli-marquee 46s linear infinite; }
@keyframes cli-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@supports (mask-image: linear-gradient(90deg, #000, #000)) {
  .cli-flow { mask-image: linear-gradient(90deg, transparent 0, #000 7%, #000 93%, transparent 100%); -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 7%, #000 93%, transparent 100%); }
}
.cli-grid { display: flex; flex-wrap: wrap; justify-content: center; gap: 40px 56px; }
.cli-item { display: flex; align-items: center; justify-content: center; flex: none; width: auto; height: 54px; padding: 0; background: none; border: 0; border-radius: 0; box-shadow: none; }
.cli-item:hover { transform: none; box-shadow: none; }
.cli-item img { max-height: 100%; width: auto; object-fit: contain; filter: grayscale(1); opacity: .62; transition: filter var(--dur), opacity var(--dur); }
.cli-item:hover img { filter: none; opacity: 1; }
.cli-names { margin-top: 34px; text-align: center; font-size: 16px; color: var(--muted); line-height: 1.7; }
.sec-clients.sec-pad-normal { padding-bottom: clamp(48px, 6vw, 88px); }
.faq-list { max-width: none; display: block; border-top: 1.5px solid var(--ink); }
.faq-item { background: none; border: 0; border-radius: 0; box-shadow: none; border-bottom: 1px solid var(--line); }
.faq-item.open { border-color: var(--line); box-shadow: none; }
.faq-q { display: flex; align-items: flex-start; gap: 18px; width: 100%; padding: 26px 0; text-align: left; }
.faq-mark { display: none; }
.faq-qt { flex: 1 1 auto; font-size: clamp(19px, 1.6vw, 23px); font-weight: 800; letter-spacing: -.02em; color: var(--ink); }
.faq-item.open .faq-qt { color: var(--blue); }
.faq-plus { position: relative; flex: none; width: 26px; height: 26px; border-radius: 0; background: none; margin-top: 2px; }
.faq-plus::before, .faq-plus::after { content: ""; position: absolute; left: 50%; top: 50%; background: var(--ink); transform: translate(-50%, -50%); transition: opacity var(--dur), background-color var(--dur); }
.faq-plus::before { width: 15px; height: 1.5px; }
.faq-plus::after { width: 1.5px; height: 15px; }
.faq-item.open .faq-plus { background: none; }
.faq-item.open .faq-plus::before { background: var(--blue); }
.faq-item.open .faq-plus::after { opacity: 0; }
.faq-a { display: block; }
.faq-a-in { display: block; padding: 0 60px 0 0; font-size: 18px; color: var(--ink-2); line-height: 1.85; }
.faq-a-in p { padding-bottom: 28px; }
.faq-mark-a { display: none; }
.has-js .faq-a { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .3s var(--ease); }
.has-js .faq-item.open .faq-a { grid-template-rows: 1fr; }
.has-js .faq-a > .faq-a-in { overflow: hidden; min-height: 0; }
.sec-ctaband { text-align: left; }
.cb-text { font-family: var(--font-display); font-weight: 700; font-size: clamp(28px, 3.8vw, 55.1px); line-height: 1.18; letter-spacing: -.03em; color: var(--ink); max-width: 20ch; }
.sec-bg-dark .cb-text { color: #fff; }
.cb-text .gtext { font-style: normal; color: var(--blue); }
.sec-bg-dark .cb-text .gtext { color: var(--blue-on-dark); }
.cb-btns { margin-top: 32px; }
.sec-banner { position: relative; display: flex; align-items: flex-end; min-height: clamp(300px, 30vw, 420px); padding: clamp(80px, 10vw, 130px) 0 clamp(34px, 4vw, 56px); background: var(--dark); color: #fff; overflow: hidden; }
.bn-media { position: absolute; inset: 0; }
.bn-media img { width: 100%; height: 100%; object-fit: cover; opacity: .55; }
.bn-media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(22,21,20, .5) 0%, rgba(22,21,20, .85) 100%); }
.bn-in { position: relative; z-index: 2; text-align: left; }
.bn-kicker { display: inline-block; margin-bottom: 14px; font-size: 16px; font-weight: 700; letter-spacing: .18em; color: var(--blue-on-dark); }
.bn-title { font-family: var(--font-display); font-weight: 700; font-size: clamp(32px, 4.4vw, 61.2px); line-height: 1.08; letter-spacing: -.03em; color: #fff; text-shadow: none; }
.bn-title .gtext { font-style: normal; color: var(--blue-on-dark); }
.bn-sub { margin-top: 16px; max-width: 46ch; font-size: var(--lead); color: rgba(255,255,255, .78); text-shadow: none; }
.art-wrap { max-width: 820px; }
.art-title { font-family: var(--font-display); font-weight: 700; font-size: var(--fs-h2); letter-spacing: -.03em; margin-bottom: 24px; }
.art-h { margin-top: 46px; font-size: clamp(21px, 1.8vw, 27px); font-weight: 800; letter-spacing: -.02em; color: var(--ink); }
.art-h:first-child { margin-top: 0; }
.art-p { margin-top: 18px; font-size: 18.5px; line-height: 1.9; color: var(--ink-2); }
.art-list { margin-top: 18px; display: grid; gap: 12px; counter-reset: art-i; }
.art-list li { position: relative; padding-left: 30px; font-size: 18.5px; line-height: 1.8; color: var(--ink-2); }
.art-list li::before {
  content: counter(art-i); counter-increment: art-i; position: absolute; left: 0; top: 4px;
  width: 21px; height: 21px; border-radius: 50%; background: var(--ink); color: #fff;
  font-size: 15px; font-weight: 700; display: flex; align-items: center; justify-content: center;
}
.ftr { background: var(--dark); color: rgba(255,255,255, .6); padding: clamp(56px, 6vw, 84px) 0 100px; text-align: center; }
.ftr-logo { display: inline-flex; margin-bottom: 24px; }
.ftr-logo .logo-img { height: 42px; }
.ftr-logo .logo-word { color: #fff; font-size: 26px; }
.ftr-meta { font-size: 17px; line-height: 1.9; }
.ftr-areas { margin-top: 30px; padding-top: 26px; border-top: 1px solid var(--dark-line); }
.ftr-areas-t { font-size: 16px; font-weight: 700; letter-spacing: .12em; color: var(--blue-on-dark); }
.ftr-area-list { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px 16px; margin-top: 14px; }
.ftr-area-list a { font-size: 17px; color: rgba(255,255,255, .72); }
.ftr-area-list a:hover { color: #fff; text-decoration: underline; }
.ftr-logo + .ftr-policy { margin-top: -6px; }
.ftr-policy { display: flex; justify-content: center; flex-wrap: wrap; gap: 8px 10px; margin-bottom: 22px; }
.ftr-policy a {
  display: inline-flex; align-items: center; min-height: 38px; padding: 0 18px;
  border: 1px solid rgba(255,255,255, .26); border-radius: 999px;
  font-size: 15.5px; font-weight: 500; color: rgba(255,255,255, .82);
  transition: background-color var(--dur), border-color var(--dur), color var(--dur);
}
.ftr-policy a.is-privacy { font-weight: 700; color: #fff; }
.ftr-policy a:hover { background-color: rgba(255,255,255, .08); border-color: rgba(255,255,255, .5); color: #fff; }
.ftr-policy a:active { background-color: rgba(255,255,255, .14); }
.ftr-policy a:focus-visible { outline: 2px solid var(--blue-on-dark); outline-offset: 3px; }
.ftr-copy { margin-top: 22px; font-size: 16px; color: rgba(255,255,255, .4); }
.mbar {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 70; display: none;
  grid-template-columns: repeat(3, 1fr); background: #fff; border-top: 1px solid var(--line);
  padding-bottom: env(safe-area-inset-bottom); box-shadow: 0 -6px 20px rgba(16,16,15, .12);
}
.mbar-2 { grid-template-columns: repeat(2, 1fr); }
.mbar a { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; padding: 11px 4px 13px; color: var(--ink); font-size: 16px; font-weight: 700; }
.mbar a + a { border-left: 1px solid var(--line); }
.mbar-tel { background: var(--blue); color: #fff; }
.mbar-kakao { background: #FAE100; color: #191600; }
.mbar-est { background: #fff; color: var(--ink); }
.has-motion .rv { opacity: 0; transform: translateY(22px); transition: none; }
.has-motion .rv.in { opacity: 1; transform: none; transition: opacity .7s var(--ease), transform .7s var(--ease); }
.has-motion .rv.rv-d1 { transition-delay: .08s; }
.has-motion .rv.rv-d2 { transition-delay: .16s; }
.has-motion .rv.rv-d3 { transition-delay: .24s; }
@media (max-width: 1180px) {
  .svc-in { grid-template-columns: 54px minmax(0, 1fr) 130px 40px; }
  .svc-desc { display: none; }
  .ev-top { grid-template-columns: minmax(0, 1fr); }
  .ev-media img { border-radius: 0; max-height: 400px; }
  .ev-copy { margin: 0 auto; }
}
@media (max-width: 1080px) {
  .prob-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .prob-card:nth-child(odd) { margin-top: 0; }
  .st-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .st-fact:nth-child(3), .st-fact:nth-child(4) { padding-top: 22px; border-top: 1px solid var(--line); }
  .st-fact:nth-child(odd) { padding-left: 0; border-left: 0; }
  .str-grid, .steps-grid, .rev-grid, .cs-grid, .ev-points { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .step-card:nth-child(3n+2), .step-card:nth-child(3n) { padding-left: 0; border-left: 0; }
  .step-card:nth-child(2n) { padding-left: 28px; border-left: 1px solid var(--dark-line); }
  .rev-card:nth-child(3n+2), .rev-card:nth-child(3n) { padding-left: 0; border-left: 0; }
  .rev-card:nth-child(2n) { padding-left: 30px; border-left: 1px solid var(--line); }
  .ev-point + .ev-point { padding-left: 0; border-left: 0; }
  .ev-point:nth-child(2n) { padding-left: 26px; border-left: 1px solid var(--line); }
  .sec-head { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  .sec-sub { grid-column: 1; grid-row: auto; justify-self: start; max-width: 52ch; }
  .sec-title { max-width: 22ch; }
}
@media (max-width: 1024px) {
  :root { --hdr-h: 68px; }
  .gnb { display: none; }
  .burger { display: inline-flex; }
  .hdr-in { height: 68px; gap: 12px; justify-content: space-between; }
  .logo-img { height: 34px; }
  .hdr-tel span { display: none; }
  .hdr-tel { width: 44px; height: 44px; justify-content: center; border-radius: 50%; background: var(--blue-l); }
  .mbar { display: grid; }
  body { padding-bottom: 68px; }
  .ftr { padding-bottom: 44px; }
}
@media (max-width: 720px) {
  .wrap { padding: 0 20px; }
  .sec-pad-normal { padding: 64px 0; }
  .prob-grid { gap: 14px; }
  .prob-name { margin-top: 12px; font-size: 19px; }
  .prob-desc { font-size: 16px; }
  
  .sym-table, .sym-table tbody, .sym-table tr, .sym-table td, .sym-table th { display: block; width: 100%; }
  .sym-table thead { display: none; }
  .sym-table tbody tr { padding: 8px 0 16px; }
  .sym-table tbody th { padding: 18px 0 10px; font-size: 18px; }
  .sym-table tbody td { padding: 6px 0 10px; font-size: 17px; }
  .sym-table tbody td::before { content: attr(data-th); display: block; margin-bottom: 2px; font-size: 15.5px; font-weight: 700; letter-spacing: .04em; color: var(--muted-2); }
  .svc-in { grid-template-columns: minmax(0, 1fr) auto; gap: 6px 14px; padding: 24px 0; }
  .svc-no { grid-column: 1; font-size: 15.5px; }
  .svc-name { grid-column: 1; grid-row: 2; }
  .svc-foot { grid-column: 2; grid-row: 1 / span 2; }
  .svc-more { display: none; }
  .price-table, .price-table tbody, .price-table tr, .price-table td, .price-table th { display: block; width: 100%; }
  .price-table thead { display: none; }
  .price-table tbody tr { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 16px 0; }
  .price-table tbody th { flex: 1 1 auto; padding: 0; font-size: 17.5px; gap: 12px; }
  .price-ico { width: 32px; height: 32px; }
  .price-val { width: auto; padding: 0; font-size: 18px; }
  .str-grid, .steps-grid, .rev-grid, .cs-grid, .ev-points { grid-template-columns: minmax(0, 1fr); }
  .cli-set { gap: 34px; padding-right: 34px; }
  .cli-item { height: 40px; }
  .faq-a-in { padding-right: 0; }
}
@media print { .hdr, .mbar, .mnav { display: none !important; } }
.is-home .hdr { position: fixed; left: 0; right: 0; top: 0; background: transparent; border-bottom-color: transparent; backdrop-filter: none; }
.is-home .hdr .logo-img { filter: brightness(0) invert(1); transition: filter var(--dur); }
.is-home .hdr .gnb > ul > li > a { color: rgba(255,255,255, .92); }
.is-home .hdr .gnb > ul > li > a:hover { color: #fff; }
.is-home .hdr .hdr-tel { color: #fff; }
.is-home .hdr .hdr-tel .ico { color: var(--blue-on-dark); }
.is-home .hdr .burger span { background: #fff; }
.is-home .hdr.scrolled { background: rgba(255,255,255, .96); border-bottom-color: var(--line); backdrop-filter: saturate(1.4) blur(10px); }
.is-home .hdr.scrolled .logo-img { filter: none; }
.is-home .hdr.scrolled .gnb > ul > li > a { color: var(--ink-2); }
.is-home .hdr.scrolled .gnb > ul > li > a:hover { color: var(--blue); }
.is-home .hdr.scrolled .hdr-tel { color: var(--ink); }
.is-home .hdr.scrolled .hdr-tel .ico { color: var(--blue); }
.is-home .hdr.scrolled .burger span { background: var(--ink); }
@media (max-width: 1024px) {
  .is-home .hdr .hdr-tel { background: rgba(255,255,255, .16); }
  .is-home .hdr.scrolled .hdr-tel { background: var(--blue-l); }
}
.sym-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(238px, 1fr)); gap: clamp(18px, 1.6vw, 24px); }
.sym-card {
  display: flex; flex-direction: column; overflow: hidden;
  background: #fff; border-radius: 18px;
  box-shadow: 0 1px 2px rgba(16,16,15, .05), 0 10px 28px rgba(16,16,15, .07);
  transition: transform .38s var(--ease), box-shadow .38s var(--ease);
}
.sec-bg-plain .sym-card { box-shadow: 0 1px 2px rgba(16,16,15, .06), 0 14px 34px rgba(16,16,15, .10); }
.sym-card:hover { transform: translateY(-6px); box-shadow: 0 2px 4px rgba(16,16,15, .06), 0 22px 46px rgba(16,16,15, .14); }
.sec-bg-plain .sym-card:hover { box-shadow: 0 2px 4px rgba(16,16,15, .07), 0 26px 54px rgba(16,16,15, .16); }
.sym-media { position: relative; overflow: hidden; background: var(--ink); }
.sym-media img { width: 100%; aspect-ratio: 5 / 4; object-fit: cover; transition: transform .7s var(--ease); }
.sym-card:hover .sym-media img { transform: scale(1.07); }
.sym-media-empty { display: flex; align-items: center; justify-content: center; aspect-ratio: 5 / 4; color: rgba(255,255,255, .32); }
.sym-no {
  position: absolute; right: 14px; top: 14px;
  display: inline-flex; align-items: center; justify-content: center;
  width: 30px; height: 30px; border-radius: 50%;
  background: rgba(255,255,255, .94); color: var(--ink-2);
  font-size: 15.5px; font-weight: 800; letter-spacing: .02em;
  font-variant-numeric: tabular-nums;
  box-shadow: 0 2px 8px rgba(10,10,9, .18);
}
.sym-body { display: flex; flex-direction: column; flex: 1 1 auto; padding: 20px 22px 22px; }
.sym-name {
  display: flex; align-items: center; gap: 10px; min-height: 2.7em;
  font-size: clamp(18.5px, 1.3vw, 21px); font-weight: 800; letter-spacing: -.02em;
  line-height: 1.35; color: var(--ink);
}
.sym-name .sym-ico {
  flex: none; display: inline-flex; align-items: center; justify-content: center;
  width: 30px; height: 30px; border-radius: 9px; background: var(--blue-l); color: var(--blue);
}
.sym-dl { margin-top: 16px; border-top: 1px solid var(--line); }
.sym-dl dt {
  padding-top: 14px;
  font-size: 15px; font-weight: 700; letter-spacing: .1em; color: var(--muted-2);
}
.sym-dl dd { margin: 5px 0 0; min-height: 3.3em; font-size: 17px; line-height: 1.62; color: var(--ink-2); }
.sym-dl dd + dt { margin-top: 14px; border-top: 1px solid var(--line); }
.sym-dl .sym-action { min-height: 0; padding-bottom: 2px; font-size: 17.5px; font-weight: 800; line-height: 1.58; color: var(--blue); }
.sym-foot {
  display: flex; flex-wrap: wrap; align-items: center; gap: 18px 28px;
  margin-top: clamp(30px, 3.4vw, 46px); padding: 26px 30px; border-radius: 18px;
  background: #fff; box-shadow: 0 1px 2px rgba(16,16,15, .05), 0 10px 28px rgba(16,16,15, .07);
}
.sec-bg-plain .sym-foot { background: var(--paper); box-shadow: none; }
.sym-note { font-size: var(--lead); font-weight: 700; color: var(--ink); flex: 1 1 320px; }
.svc-wrap { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.6fr); gap: clamp(32px, 4vw, 76px); align-items: start; }
.svc-aside { position: sticky; top: calc(var(--hdr-h) + 40px); }
.svc-head { position: relative; }
.svc-head .sec-title { max-width: 14ch; }
.svc-head .sec-sub { max-width: 34ch; }
.svc-grid { border-top: 1.5px solid var(--ink); }
.svc-in { grid-template-columns: 46px 96px minmax(0, 1fr) auto; gap: 20px; padding: 22px 0; }
.svc-thumb { display: block; width: 96px; height: 72px; border-radius: 10px; overflow: hidden; background: var(--paper); }
.sec-bg-tint .svc-thumb { background: #fff; }
.svc-thumb.no-img, .sec-bg-tint .svc-thumb.no-img { background: var(--blue-l); }
.svc-thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--ease); }
a.svc-in:hover .svc-thumb img { transform: scale(1.08); }
.svc-thumb-ico { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; color: var(--blue); }
.svc-body { display: block; }
.svc-desc { display: block; margin-top: 4px; }
.price-card { background: #fff; border-radius: var(--r-lg); overflow: hidden; box-shadow: var(--sh); }
.sec-bg-plain .price-card { box-shadow: 0 18px 44px rgba(16,16,15, .1); }
.price-table { border-top: 0; }
.price-table thead th { background: var(--dark); color: rgba(255,255,255, .78); padding: 18px 26px; border-bottom: 0; }
.price-table thead th:last-child { text-align: right; }
.price-table tbody tr { border-bottom: 1px solid var(--line); }
.price-table tbody tr:nth-child(even) { background: #fbfaf8;    }
.price-table tbody tr:last-child { border-bottom: 0; }
.price-table tbody tr:hover { background: var(--blue-l); }
.price-table tbody th { padding: 20px 26px; }
.price-val { padding: 20px 26px; }
.price-notes { margin-top: 32px; padding: 26px 30px; background: var(--paper); border-radius: var(--r); }
.sec-bg-tint .price-notes { background: #fff; }
.steps-grid { border-top: 0; gap: 0 clamp(20px, 2.4vw, 40px); }
.step-card { padding: 0 0 34px; border: 0; }
.step-card:nth-child(3n+2), .step-card:nth-child(3n) { padding-left: 0; border-left: 0; }
.step-card::before { content: ""; display: block; height: 1px; background: var(--dark-line); margin-bottom: 26px; }
.step-no {
  display: inline-flex; align-items: center; justify-content: center; width: 54px; height: 54px;
  margin-bottom: 18px; border-radius: 50%; border: 1px solid var(--blue-on-dark);
  color: var(--blue-on-dark); font-size: clamp(17px, 1.3vw, 20px); letter-spacing: 0;
  white-space: nowrap; font-variant-numeric: tabular-nums; font-weight: 700;
}
.step-name { margin-top: 0; }
.step-ico { position: absolute; right: 4px; top: 30px; color: rgba(255,255,255, .16); }
.rev-grid { border-top: 0; gap: clamp(18px, 2vw, 28px); }
.rev-card { position: relative; padding: 32px 28px; border: 0; border-radius: var(--r); background: var(--paper); }
.sec-bg-tint .rev-card { background: #fff; }
.rev-card:nth-child(3n+2), .rev-card:nth-child(3n) { padding-left: 28px; border-left: 0; }
.rev-card::before {
  content: "\201C"; position: absolute; right: 22px; top: 6px;
  font-family: Georgia, "Times New Roman", serif; font-size: 77.5px; line-height: 1;
  color: rgba(192,147,33, .14); pointer-events: none;
}
.rev-text::before { content: none; }
.rev-who { padding-top: 18px; border-top: 1px solid var(--line); }
.sec-ctaband { position: relative; overflow: hidden; }
.sec-ctaband.has-bg { background: var(--dark); }
.cb-media { position: absolute; inset: 0; }
.cb-media img { width: 100%; height: 100%; object-fit: cover; opacity: .5; }
.cb-media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(100deg, rgba(10,10,9, .9) 0%, rgba(10,10,9, .7) 55%, rgba(10,10,9, .45) 100%); }
.cb-in { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); gap: clamp(28px, 4vw, 60px); align-items: end; }
.has-bg .cb-text { color: #fff; }
.has-bg .cb-text .gtext { color: var(--blue-on-dark); }
.cb-act { display: flex; flex-direction: column; align-items: flex-start; gap: 18px; }
.cb-tel { display: flex; flex-direction: column; gap: 6px; }
.cb-tel-l { display: inline-flex; align-items: center; gap: 8px; font-size: 17px; font-weight: 700; letter-spacing: .04em; color: var(--blue); }
.has-bg .cb-tel-l { color: var(--blue-on-dark); }
.cb-tel-num {
  font-family: var(--font-display); font-weight: 700; font-size: clamp(32px, 3.4vw, 49px);
  letter-spacing: -.02em; color: var(--ink); white-space: nowrap; overflow-wrap: normal;
}
.has-bg .cb-tel-num { color: #fff; }
.cb-tel:hover .cb-tel-num { color: var(--blue); }
.has-bg .cb-tel:hover .cb-tel-num { color: var(--blue-on-dark); }
.cb-btns { margin-top: 0; }
@media (max-width: 1080px) {
  .svc-wrap { grid-template-columns: minmax(0, 1fr); }
  .svc-aside { position: static; }
  .svc-head .sec-title { max-width: 20ch; }
  .cb-in { grid-template-columns: minmax(0, 1fr); align-items: start; }
  .rev-card:nth-child(2n) { padding-left: 28px; border-left: 0; }
  .step-card:nth-child(2n) { padding-left: 0; border-left: 0; }
}
@media (max-width: 720px) {
  .svc-in { grid-template-columns: 62px minmax(0, 1fr) auto; gap: 8px 14px; padding: 18px 0; }
  .svc-no { display: none; }
  .svc-thumb { grid-column: 1; grid-row: 1; width: 62px; height: 50px; }
  .svc-body { grid-column: 2; grid-row: 1; }
  .svc-foot { grid-column: 3; grid-row: 1; }
  .svc-desc { display: none; }
  .sym-foot { padding: 22px; }
  .price-table tbody tr { padding: 14px 18px; }
  .price-table thead th { padding: 14px 18px; }
  .rev-card { padding: 26px 22px; }
  .step-no { width: 46px; height: 46px; }
}
.sym-card.no-img .sym-media { background: var(--blue-l); }
.sym-media-empty { color: var(--blue); }
:root {
  --hero-bg: #0a0908;
  --glass-line: rgba(255,255,255, .14);
  --hero-accent: var(--blue-on-dark);
  --hero-accent-15: rgba(216,184,102, .15);
  --hero-accent-70: rgba(216,184,102, .7);
}
.sec-hero {
  position: relative; isolation: isolate;
  background: var(--hero-bg); color: #fff; text-align: left;
}
.hero-stage {
  position: relative; display: flex; align-items: center; width: 100%;
  min-height: min(94vh, 880px);
  padding: clamp(132px, 15vw, 200px) 0 clamp(104px, 10vw, 150px);
  overflow: hidden;
}
.sec-hero.is-scrub { height: calc(var(--hero-screens, 3) * 100vh); }
.sec-hero.is-scrub .hero-stage { position: sticky; top: 0; height: 100vh; min-height: 0; }
.sec-hero.is-scrub .hero-in { opacity: calc(1 - max(0, var(--hp, 0) - .78) * 4.5); }
.hero-media { position: absolute; inset: -8% 0 0; z-index: 0; }
.hero-img, .hero-video {
  width: 100%; height: 100%; object-fit: cover;
  filter: grayscale(.4) contrast(1.14) brightness(.74) saturate(.95);
  transform: scale(1.07);
}
.hero-video { position: absolute; inset: 0; opacity: 0; transition: opacity .5s var(--ease); }
.hero-video.is-ready { opacity: 1; }
.hero-steel {
  position: absolute; inset: 0; z-index: 1; mix-blend-mode: color; opacity: .62;
  background: linear-gradient(118deg, #2f2c27 0%, #141311 52%, #33302a 100%);
}
.hero-tint {
  position: absolute; inset: 0; z-index: 2;
  background:
    linear-gradient(112deg, rgba(8,7,7, .93) 0%, rgba(10,10,9, .8) 34%, rgba(17,16,14, .5) 64%, rgba(25,24,21, .3) 100%),
    linear-gradient(180deg, rgba(8,7,7, .72) 0%, rgba(8,7,7, 0) 28%, rgba(8,7,7, .82) 100%);
}
.hero-grid {
  position: absolute; inset: 0; z-index: 3;
  background-image:
    linear-gradient(rgba(228,212,171, .075) 1px, transparent 1px),
    linear-gradient(90deg, rgba(228,212,171, .075) 1px, transparent 1px);
  background-size: 74px 74px; background-position: center;
  -webkit-mask-image: radial-gradient(115% 95% at 76% 32%, #000 0%, rgba(0,0,0, .4) 52%, transparent 84%);
          mask-image: radial-gradient(115% 95% at 76% 32%, #000 0%, rgba(0,0,0, .4) 52%, transparent 84%);
}
.hero-glow { position: absolute; z-index: 3; border-radius: 50%; pointer-events: none; }
.hero-glow-a {
  right: -12%; top: -22%; width: min(900px, 74vw); aspect-ratio: 1;
  background: radial-gradient(circle, rgba(210,167,57, .40) 0%, rgba(128,101,30, .20) 38%, transparent 68%);
}
.hero-glow-b {
  left: -16%; bottom: -34%; width: min(660px, 62vw); aspect-ratio: 1;
  background: radial-gradient(circle, rgba(192,147,33, .26) 0%, transparent 66%);
}
.hero-flow { position: absolute; z-index: 4; right: 0; top: 0; width: min(820px, 64%); height: 100%; pointer-events: none; }
.hero-flow svg { display: block; width: 100%; height: 100%; }
.fl-pipe { fill: none; stroke: url("#plPipe"); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.fl-dash {
  fill: none; stroke: var(--hero-accent); stroke-width: 2.6; stroke-linecap: round;
  stroke-dasharray: 12 300; stroke-dashoffset: 0; opacity: 0;
  filter: drop-shadow(0 0 7px var(--hero-accent-70));
}
.has-motion .fl-dash { opacity: 1; animation: plFlow 8s linear infinite; }
.has-motion .fl-dash-2 { animation-delay: -3.4s; }
@keyframes plFlow { from { stroke-dashoffset: 624; } to { stroke-dashoffset: 0; } }
.fl-node { fill: #100f0e; stroke: var(--hero-accent); stroke-width: 1.4; opacity: .6; }
.hero-vig {
  position: absolute; inset: 0; z-index: 5; pointer-events: none;
  background: radial-gradient(128% 108% at 46% 44%, transparent 40%, rgba(5,5,4, .6) 100%);
}
.hero-grain {
  position: absolute; inset: 0; z-index: 5; pointer-events: none; opacity: .2; mix-blend-mode: overlay;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E");
}
.hero-in {
  position: relative; z-index: 10; display: grid; align-items: center;
  grid-template-columns: minmax(0, 1.34fr) minmax(0, .86fr);
  gap: clamp(32px, 4vw, 68px); width: 100%;
}
.hero-copy { max-width: 660px; }
.hero-eyebrow { display: flex; align-items: center; gap: 13px; margin-bottom: 22px; }
.hero-dot { position: relative; flex: none; width: 8px; height: 8px; border-radius: 50%; background: var(--hero-accent); box-shadow: 0 0 0 4px var(--hero-accent-15); }
.has-motion .hero-dot::after { content: ""; position: absolute; inset: -3px; border-radius: 50%; border: 1px solid var(--hero-accent-70); animation: plPulse 2.6s var(--ease) infinite; }
@keyframes plPulse { 0% { transform: scale(.5); opacity: .95; } 100% { transform: scale(2.6); opacity: 0; } }
.hero-eyebrow .eb-in {
  font-family: var(--font-hand); font-weight: 400; font-size: clamp(19px, 1.5vw, 27px);
  line-height: 1.35; color: rgba(234,229,217, .88); transform: skewX(-7deg); transform-origin: left center;
}
.hero-keys {
  display: flex; flex-wrap: wrap; align-items: center;
  gap: 10px clamp(20px, 2vw, 32px); margin-bottom: clamp(20px, 2.2vw, 28px);
}
.hero-keys li {
  display: inline-flex; align-items: center;
  font-size: clamp(15px, 1.05vw, 17px); font-weight: 700; letter-spacing: .01em; color: #f2ede1;
}
.hero-keys li::before {
  content: ""; flex: none; width: 10px; height: 10px; margin-right: 10px;
  background:
    linear-gradient(var(--hero-accent), var(--hero-accent)) center / 10px 1px no-repeat,
    linear-gradient(var(--hero-accent), var(--hero-accent)) center / 1px 10px no-repeat;
}
.hero-title { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; }
.hero-t1, .hero-t2 {
  font-family: var(--font-hero); font-weight: 800; font-size: var(--fs-hero);
  line-height: 1.06; letter-spacing: -.045em; margin-left: -.02em;
}
.hero-t1 { color: #fff; text-shadow: 0 8px 40px rgba(0,0,0, .5); }
.hero-t2 { color: var(--hero-accent); }   
.hero-sub {
  margin-top: 26px; max-width: 40ch; font-size: clamp(17.5px, 1.25vw, 20.5px);
  line-height: 1.78; color: rgba(241,237,228, .72);
}
.hero-sub .gtext {
  font-style: normal; font-weight: 700; color: #fff;
  padding: 0 .12em; box-shadow: inset 0 -.5em 0 rgba(192,147,33, .6);
}
.hero-btns { display: flex; flex-wrap: wrap; gap: 12px; margin-top: clamp(30px, 3.2vw, 44px); }
.hero-btns .btn { position: relative; overflow: hidden; }
.hero-btns .btn-b {
  background: var(--blue); box-shadow: 0 12px 30px rgba(192,147,33, .4);
}
.hero-btns .btn-b::after {
  content: ""; position: absolute; top: 0; left: -75%; width: 45%; height: 100%;
  transform: skewX(-18deg); pointer-events: none;
  background: linear-gradient(90deg, transparent, rgba(255,255,255, .38), transparent);
  transition: left .6s var(--ease);
}
.hero-btns .btn-b:hover { transform: translateY(-2px); box-shadow: 0 18px 38px rgba(192,147,33, .5); }
.hero-btns .btn-b:hover::after { left: 125%; }
.hero-btns .btn-ghost {
  background: rgba(255,255,255, .05); border-color: rgba(255,255,255, .22);
  -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px);
}
.hero-btns .btn-ghost:hover { background: rgba(255,255,255, .12); border-color: rgba(255,255,255, .55); transform: translateY(-2px); }
.hero-console {
  position: relative; justify-self: end; width: 100%; max-width: 400px;
  padding: 26px 26px 24px; border-radius: 20px;
  background: linear-gradient(155deg, rgba(255,255,255, .11) 0%, rgba(255,255,255, .045) 44%, rgba(255,255,255, .02) 100%);
  -webkit-backdrop-filter: blur(22px) saturate(1.35); backdrop-filter: blur(22px) saturate(1.35);
  box-shadow: 0 34px 76px rgba(7,6,5, .55), inset 0 1px 0 rgba(255,255,255, .24);
}
.hero-console::before {
  content: ""; position: absolute; inset: 0; border-radius: inherit; padding: 1px; pointer-events: none;
  background: linear-gradient(150deg, rgba(245,226,178, .6) 0%, rgba(255,255,255, .06) 42%, rgba(192,147,33, .45) 100%);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
          mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor; mask-composite: exclude;
}
.hcon-st { display: inline-flex; align-items: center; gap: 8px; font-size: 16px; font-weight: 700; letter-spacing: .05em; color: var(--muted-on-dark); }
.hcon-st .ico { color: var(--muted-on-dark); }
.hcon-num {
  display: block; margin-top: 12px; font-family: var(--font-hero); font-weight: 800;
  font-size: clamp(30px, 2.5vw, 38.8px); line-height: 1.15; letter-spacing: -.03em; color: #fff;
  font-variant-numeric: tabular-nums;
  white-space: nowrap; overflow-wrap: normal; text-shadow: 0 0 26px rgba(241,213,141, .35);
  transition: color var(--dur);
}
.hcon-num:hover { color: var(--blue-on-dark); }
.hcon-note { margin-top: 11px; font-size: 17px; line-height: 1.65; color: rgba(235,230,217, .62); }
.hcon-facts {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px;
  margin-top: 22px; border-radius: 12px; overflow: hidden; background: rgba(255,255,255, .12);
}
.hcon-facts li { display: flex; align-items: center; gap: 8px; padding: 13px 14px; background: rgba(13,13,12, .55); font-size: 17px; font-weight: 700; color: #f2eee5; }
.hcon-facts .ico { flex: none; color: var(--muted-on-dark); }
.hero-foot { position: absolute; left: 0; right: 0; bottom: clamp(24px, 3vw, 38px); z-index: 10; }
.hero-scroll { display: inline-flex; align-items: center; gap: 14px; font-size: 14.5px; font-weight: 700; letter-spacing: .24em; color: rgba(235,229,213, .5); }
.hero-scroll-line { position: relative; display: block; width: 1px; height: 46px; background: rgba(255,255,255, .16); overflow: hidden; }
.has-motion .hero-scroll-line::after {
  content: ""; position: absolute; left: 0; top: 0; width: 100%; height: 60%;
  background: linear-gradient(180deg, transparent, var(--blue-on-dark));
  animation: plScroll 2.4s var(--ease) infinite;
}
@keyframes plScroll { 0% { transform: translateY(-100%); } 100% { transform: translateY(266%); } }
@media (max-width: 1080px) {
  .hero-in { grid-template-columns: minmax(0, 1fr); align-items: start; gap: 36px; }
  .hero-copy { max-width: 100%; }
  .hero-console { justify-self: start; max-width: 460px; }
  .hero-flow { width: 78%; opacity: .5; }
  .hero-foot { display: none; }
}
@media (max-width: 720px) {
  .hero-stage { min-height: 0; padding: clamp(104px, 26vw, 140px) 0 52px; }
  .hero-eyebrow { gap: 10px; margin-bottom: 18px; }
  .hero-sub { margin-top: 20px; }
  .hero-btns .btn { flex: 1 1 auto; }
  .hero-console { max-width: 100%; padding: 22px 20px 20px; }
  .hcon-facts li { padding: 11px 12px; font-size: 16px; }
  .hero-grid { background-size: 56px 56px; }
  .hero-flow { width: 116%; right: -22%; opacity: .38; }
}
.is-home .hdr:not(.scrolled) { box-shadow: none; }
@media (max-width: 1080px) { .sym-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px)  { .sym-grid { grid-template-columns: minmax(0, 1fr); } }
.ev-h { display: block; }
.ev-t1, .ev-t2 { display: block; }
.ev-copy .sec-num { margin-bottom: 14px; }
.faq-more { margin-top: clamp(26px, 3vw, 38px); }
.faq-more a {
  display: inline-flex; align-items: center; gap: 10px;
  padding-bottom: 6px; border-bottom: 1.5px solid var(--line-2);
  font-size: 17.5px; font-weight: 700; color: var(--ink);
  transition: color var(--dur), border-color var(--dur);
}
.faq-more a:hover { color: var(--blue); border-color: var(--blue); }
.faq-more .ico { transition: transform var(--dur); }
.faq-more a:hover .ico { transform: translateX(4px); }
.svc-tiles {
  display: grid; grid-template-columns: repeat(6, minmax(0, 1fr));
  grid-auto-rows: clamp(230px, 21vw, 300px);
  gap: clamp(14px, 1.4vw, 20px);
}
.svc-tile { grid-column: span 2; }
.svc-tile:nth-child(4):nth-last-child(2),
.svc-tile:nth-child(5):nth-last-child(1) { grid-column: span 3; }
.svc-tile-in {
  position: relative; display: flex; flex-direction: column; justify-content: flex-end;
  width: 100%; height: 100%; overflow: hidden; border-radius: 18px;
  background: var(--dark); padding: clamp(20px, 2vw, 28px);
  box-shadow: 0 1px 2px rgba(16,16,15, .06), 0 12px 30px rgba(16,16,15, .09);
  transition: transform .4s var(--ease), box-shadow .4s var(--ease);
}
a.svc-tile-in:hover { transform: translateY(-6px); box-shadow: 0 2px 4px rgba(16,16,15, .08), 0 26px 54px rgba(16,16,15, .18); }
.svc-tile-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--ease); }
a.svc-tile-in:hover .svc-tile-img { transform: scale(1.06); }
.svc-tile-scrim {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(10,9,8, .12) 0%, rgba(10,9,8, .5) 48%, rgba(10,9,8, .92) 100%);
  transition: opacity .4s var(--ease);
}
a.svc-tile-in:hover .svc-tile-scrim { opacity: .88; }
.svc-tile-no {
  position: absolute; left: clamp(20px, 2vw, 28px); top: clamp(18px, 1.8vw, 24px); z-index: 2;
  font-size: 16px; font-weight: 700; letter-spacing: .16em;
  color: rgba(255,255,255, .7); font-variant-numeric: tabular-nums;
}
.svc-tile-body { position: relative; z-index: 2; display: block; padding-right: 56px; }
.svc-tile-name {
  font-size: clamp(23px, 1.9vw, 29px); font-weight: 800; letter-spacing: -.025em;
  line-height: 1.25; color: #fff; text-shadow: 0 3px 18px rgba(0,0,0, .5);
}
.svc-tile-desc {
  display: block; margin-top: 9px; max-width: 34ch;
  font-size: 16.5px; line-height: 1.62; color: rgba(255,255,255, .8);
}
.svc-tile-go {
  position: absolute; right: clamp(18px, 1.8vw, 24px); bottom: clamp(18px, 1.8vw, 24px); z-index: 2;
  display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px;
  border-radius: 50%; border: 1px solid rgba(255,255,255, .32); color: #fff;
  transition: background-color var(--dur), border-color var(--dur), transform var(--dur);
}
a.svc-tile-in:hover .svc-tile-go { background: var(--blue); border-color: var(--blue); transform: translateX(3px); }
.svc-tile.no-img .svc-tile-in { background: linear-gradient(150deg, #252422 0%, #151413 100%); }
.svc-tile-ico { position: absolute; left: 50%; top: 42%; transform: translate(-50%, -50%); color: rgba(216,184,102, .45); }
@media (max-width: 900px) {
  .svc-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: clamp(200px, 34vw, 260px); }
  .svc-tile, .svc-tile:nth-child(4):nth-last-child(2), .svc-tile:nth-child(5):nth-last-child(1) { grid-column: span 1; }
}
@media (max-width: 560px) {
  .svc-tiles { grid-template-columns: minmax(0, 1fr); grid-auto-rows: clamp(190px, 52vw, 240px); }
  .svc-tile-body { padding-right: 60px; }
  .svc-tile-desc { display: none; }
}
.sec-strengths .sec-head { margin-bottom: clamp(44px, 5.4vw, 82px); }
.sec-strengths .sec-title {
  font-size: clamp(34.7px, 5.2vw, 75.5px); line-height: 1.08; letter-spacing: -.035em;
  max-width: 16ch; text-shadow: 0 6px 34px rgba(0,0,0, .45);
}
.sec-strengths .sec-sub {
  margin-top: 22px; max-width: 44ch;
  font-size: clamp(18px, 1.45vw, 22px); line-height: 1.72;
  color: rgba(255,255,255, .86); text-shadow: 0 2px 14px rgba(0,0,0, .4);
}
.sec-strengths .sec-sub {
  padding-left: clamp(16px, 1.6vw, 22px);
  border-left: 3px solid var(--blue-on-dark);
}
.sec-price .sec-sub {
  margin-top: 20px; max-width: 40ch;
  font-size: clamp(20px, 1.7vw, 27px); line-height: 1.6; font-weight: 500; color: var(--ink-2);
}
.sec-price .sec-sub .gtext { font-weight: 800; color: var(--blue); }
.price-val.is-num {
  font-family: var(--font-hero); font-weight: 800;
  font-size: clamp(22px, 1.9vw, 29px); letter-spacing: -.02em; color: var(--blue);
  font-variant-numeric: tabular-nums;
}
.price-val.is-quote { font-size: 18px; font-weight: 700; color: var(--muted); }
.price-table tbody th { font-size: clamp(18px, 1.4vw, 20px); }
.price-table tbody tr { transition: background-color var(--dur); }
.price-notes { margin-top: clamp(30px, 3.4vw, 44px); padding: 26px 0 0; background: none; border-radius: 0; border-top: 1.5px solid var(--ink); }
.sec-bg-tint .price-notes { background: none; }
.price-foot { margin-top: 26px; font-size: 17px; font-weight: 700; color: var(--muted); }
a.price-foot { color: var(--ink); }
@media (max-width: 720px) {
  .price-table tbody tr { padding: 14px 18px; gap: 14px; }
  .price-table tbody th { width: auto; flex: 1 1 auto; min-width: 0; padding: 0; font-size: 17.5px; }
  .price-name { min-width: 0; }
  .price-ico { width: 32px; height: 32px; }
  .price-table td.price-val { width: auto; flex: none; padding: 0; }
  .price-val.is-num { font-size: 21px; }
  .price-val.is-quote { font-size: 16.5px; }
}
.price-info {
  margin-top: clamp(34px, 4vw, 54px); padding: clamp(28px, 3.2vw, 46px);
  background: var(--paper); border-radius: var(--r-lg);
}
.sec-bg-tint .price-info { background: #fff; }
.price-info-t {
  display: inline-flex; align-items: center; gap: 12px;
  font-size: 16.5px; font-weight: 700; letter-spacing: .12em; color: var(--blue);
}
.price-info-t::after { content: ""; display: block; width: 34px; height: 2px; background: var(--blue); }
.price-why {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: clamp(20px, 2.4vw, 36px); margin-top: clamp(22px, 2.4vw, 32px);
}
.price-why li { display: block; }
.price-why-ico {
  display: inline-flex; align-items: center; justify-content: center;
  width: 56px; height: 56px; margin-bottom: 16px;
  border-radius: 16px; background: var(--blue-l); color: var(--blue);
}
.price-why-t { display: block; font-size: clamp(19px, 1.5vw, 22px); font-weight: 800; letter-spacing: -.02em; color: var(--ink); }
.price-why-d { display: block; margin-top: 7px; font-size: 17px; line-height: 1.62; color: var(--muted); }
.price-flow {
  display: flex; flex-wrap: wrap; align-items: stretch; gap: 10px;
  margin-top: clamp(28px, 3vw, 40px); padding-top: clamp(24px, 2.6vw, 34px);
  border-top: 1px solid var(--line-2); counter-reset: none;
}
.price-flow li {
  position: relative; flex: 1 1 160px; display: flex; align-items: center; gap: 12px;
  padding: 16px 30px 16px 16px; border-radius: 12px; background: #fff;
}
.sec-bg-tint .price-flow li { background: var(--paper); }
.price-flow li + li::before {
  content: ""; position: absolute; left: -16px; top: 50%; width: 8px; height: 8px;
  border-right: 2px solid var(--line-2); border-top: 2px solid var(--line-2);
  transform: translateY(-50%) rotate(45deg);
}
.price-flow-no {
  flex: none; display: inline-flex; align-items: center; justify-content: center;
  width: 30px; height: 30px; border-radius: 50%; background: var(--blue); color: #fff;
  font-size: 15.5px; font-weight: 800; font-variant-numeric: tabular-nums;
}
.price-flow-t { font-size: 17px; font-weight: 700; line-height: 1.4; color: var(--ink); }
@media (max-width: 720px) {
  .price-why-ico { width: 48px; height: 48px; margin-bottom: 12px; }
  .price-flow { gap: 8px; }
  .price-flow li { flex: 1 1 100%; padding: 13px 14px; }
  .price-flow li + li::before { left: 50%; top: -12px; transform: translateX(-50%) rotate(135deg); }
}
.sec-price .sec-sub { max-width: 56ch; text-wrap: pretty; }
.price-table tbody tr:nth-child(even) { background: none; }
.price-table tbody tr { border-bottom: 1px solid var(--line); }
.price-table tbody tr:hover { background: var(--blue-l); }
.price-table tbody th { padding: 18px 26px; font-size: clamp(18px, 1.5vw, 20.5px); gap: 14px; }
.price-table tbody th::after {
  content: ""; flex: 1 1 auto; align-self: flex-end; height: 1px; margin: 0 2px 8px;
  background-image: radial-gradient(circle, var(--line-2) 1.1px, transparent 1.1px);
  background-size: 9px 1px; background-repeat: repeat-x;
}
.price-ico { width: 42px; height: 42px; border-radius: 13px; }
.price-table td.price-val { width: 1%; padding: 18px 26px 18px 0; }
.price-info { padding: clamp(32px, 3.6vw, 52px) clamp(24px, 3vw, 44px); }
.sec-bg-plain .price-info { background: var(--paper); box-shadow: inset 0 3px 0 var(--blue); }
.price-info-t { display: flex; justify-content: center; margin: 0 auto; }
.price-info-t::after { display: none; }
.price-why { text-align: center; gap: 0; margin-top: clamp(26px, 3vw, 38px); }
.price-why li { padding: 0 clamp(16px, 2vw, 30px); }
.price-why li + li { border-left: 1px solid var(--line-2); }
.price-why-ico {
  width: 68px; height: 68px; margin: 0 auto 18px; border-radius: 50%;
  background: #fff; color: var(--blue); box-shadow: 0 6px 18px rgba(192,147,33, .12);
}
.sec-bg-tint .price-why-ico { background: var(--paper); }
.price-why-t { font-size: clamp(20px, 1.6vw, 23px); }
.price-why-d { max-width: 22ch; margin-left: auto; margin-right: auto; }
.price-flow { justify-content: center; }
.price-flow li { flex: 0 1 auto; }
@media (max-width: 760px) {
  .price-why li { padding: 0; }
  .price-why li + li { border-left: 0; border-top: 1px solid var(--line-2); padding-top: 26px; margin-top: 26px; }
  .price-why-ico { width: 58px; height: 58px; }
}
@media (max-width: 720px) {
  .price-table tbody th::after { display: none; }   
  .price-table tbody th { padding: 0; }
  .price-table td.price-val { padding: 0; }
  .price-ico { width: 36px; height: 36px; border-radius: 11px; }
}
.price-ico { width: 50px; height: 50px; border-radius: 15px; }
.price-ico .ico { width: 26px; height: 26px; }
.price-why-ico { width: 78px; height: 78px; }
.price-why-ico .ico { width: 36px; height: 36px; }
@media (max-width: 760px) { .price-why-ico { width: 66px; height: 66px; } }
@media (max-width: 720px) { .price-ico { width: 42px; height: 42px; border-radius: 12px; } .price-ico .ico { width: 22px; height: 22px; } }
.price-table thead th:last-child { white-space: nowrap; }
.price-note { display: block; margin-top: 3px; font-size: 15px; font-weight: 500; opacity: .72; }
.price-table tbody th::after {
  background-image: radial-gradient(circle, var(--line) 1px, transparent 1px);
  background-size: 13px 1px;
  margin-bottom: 9px;
}
.price-info-t { font-size: clamp(18px, 1.4vw, 21px); letter-spacing: .02em; }
.price-notes-t { font-size: clamp(18px, 1.4vw, 21px); letter-spacing: .02em; }
.price-table thead th { font-size: 17px; letter-spacing: .06em; }
.price-flow-t { font-size: 17.5px; }
.price-why-d { font-size: 17.5px; }
.sym-dl dt { font-size: 16px; letter-spacing: .06em; }
.price-info-t {
  display: block; text-align: center; margin: 0 auto;
  font-family: var(--font-display); font-weight: 700;
  font-size: clamp(25px, 2.3vw, 33.7px); line-height: 1.25; letter-spacing: -.025em;
  color: var(--ink);
}
.price-info-t::before {
  content: ""; display: block; width: 38px; height: 3px; border-radius: 2px;
  background: var(--blue); margin: 0 auto 20px;
}
.price-info-t .gtext { font-style: normal; color: var(--blue); }
.price-flow {
  display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr);
  gap: clamp(22px, 2.4vw, 32px); justify-content: stretch;
  margin-top: clamp(30px, 3.2vw, 42px); padding-top: clamp(26px, 2.8vw, 36px);
  border-top: 1px solid var(--line-2);
}
.price-flow li {
  position: relative; flex: none; display: flex; align-items: center; gap: 13px;
  min-width: 0; padding: 16px 18px; border-radius: 14px; background: #fff;
  box-shadow: 0 1px 2px rgba(16,16,15, .05), 0 8px 20px rgba(16,16,15, .06);
}
.sec-bg-tint .price-flow li { background: var(--paper); box-shadow: none; }
.price-flow li + li::before {
  content: ""; position: absolute; top: 50%;
  left: calc((clamp(22px, 2.4vw, 32px) / -2) - 4px);
  width: 9px; height: 9px;
  border-right: 2px solid var(--line-2); border-top: 2px solid var(--line-2);
  transform: translateY(-50%) rotate(45deg);
}
.price-flow-no {
  flex: none; display: inline-flex; align-items: center; justify-content: center;
  width: 34px; height: 34px; border-radius: 50%; background: var(--blue); color: #fff;
  font-family: var(--font-hero); font-size: 16px; font-weight: 800; line-height: 1;
  font-variant-numeric: tabular-nums; letter-spacing: 0; padding: 0;
}
.price-flow-t { font-size: 17.5px; font-weight: 700; line-height: 1.35; color: var(--ink); }
@media (max-width: 760px) {
  .price-flow { grid-auto-flow: row; grid-auto-columns: auto; gap: 26px; }
  .price-flow li { padding: 14px 16px; }
  .price-flow li + li::before {
    left: 50%; top: -17px;
    transform: translateX(-50%) rotate(135deg);
  }
}
.sec-photoband { display: flex; align-items: center; }
.pb-short  { min-height: clamp(280px, 30vw, 380px); }
.pb-normal { min-height: clamp(380px, 42vw, 560px); }
.pb-tall   { min-height: clamp(460px, 52vw, 700px); }
.pb-drawn { background: var(--dark); }
.pb-fx { position: absolute; inset: 0; overflow: hidden; }
.pb-grid {
  position: absolute; inset: 0;
  background-image:
    linear-gradient(rgba(228,212,171, .07) 1px, transparent 1px),
    linear-gradient(90deg, rgba(228,212,171, .07) 1px, transparent 1px);
  background-size: 74px 74px; background-position: center;
  -webkit-mask-image: radial-gradient(110% 90% at 50% 50%, #000 0%, rgba(0,0,0, .4) 58%, transparent 88%);
          mask-image: radial-gradient(110% 90% at 50% 50%, #000 0%, rgba(0,0,0, .4) 58%, transparent 88%);
}
.pb-glow {
  position: absolute; left: 50%; top: 50%; width: min(980px, 84vw); aspect-ratio: 2 / 1;
  transform: translate(-50%, -50%); border-radius: 50%;
  background: radial-gradient(ellipse, rgba(210,167,57, .3) 0%, transparent 68%);
}
.pb-pipe { position: absolute; inset: 0; width: 100%; height: 100%; }
.pb-run { fill: none; stroke: url("#pbLine"); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.pb-run-2 { opacity: .55; }
.pb-flowline {
  fill: none; stroke: var(--blue-on-dark); stroke-width: 2.6; stroke-linecap: round;
  stroke-dasharray: 14 340; opacity: 0; filter: drop-shadow(0 0 8px rgba(216,184,102, .8));
}
.has-motion .pb-flowline { opacity: 1; animation: pbFlow 9s linear infinite; }
@keyframes pbFlow { from { stroke-dashoffset: 708; } to { stroke-dashoffset: 0; } }
.pb-node { fill: #131211; stroke: var(--blue-on-dark); stroke-width: 1.4; opacity: .55; }
.pb-drawn .pb-shade { background: radial-gradient(120% 100% at 50% 50%, transparent 45%, rgba(8,7,7, .55) 100%); }
.pb-in { position: relative; z-index: 2; display: block; padding: clamp(56px, 6vw, 96px) 24px; text-align: center; }
.pb-copy { max-width: 24ch; margin: 0 auto; }
.pb-kicker {
  display: inline-flex; flex-direction: column; align-items: center; gap: 14px;
  margin-bottom: 20px; font-size: 16px; font-weight: 700; letter-spacing: .2em;
  color: var(--blue-on-dark); text-shadow: 0 2px 12px rgba(0,0,0, .6);
}
.pb-kicker::before { content: ""; display: block; width: 40px; height: 3px; border-radius: 2px; background: var(--blue-on-dark); }
.pb-text {
  font-family: var(--font-display); font-weight: 700;
  font-size: clamp(32px, 5vw, 77.5px); line-height: 1.1; letter-spacing: -.035em;
  color: #fff; max-width: none; text-wrap: balance; text-shadow: 0 6px 34px rgba(0,0,0, .5);
}
.pb-text .gtext { font-style: normal; color: var(--blue-on-dark); }
.pb-note {
  margin: clamp(20px, 2.2vw, 30px) auto 0; max-width: 40ch;
  font-size: clamp(17px, 1.35vw, 20px); line-height: 1.72;
  color: rgba(255,255,255, .78); text-shadow: 0 2px 14px rgba(0,0,0, .5);
}
.fl-dash, .pb-flowline { filter: none; }
.fl-glow, .pb-glowline { filter: blur(3px); opacity: .5; }
.hero-console { -webkit-backdrop-filter: blur(14px) saturate(1.2); backdrop-filter: blur(14px) saturate(1.2); }
.hero-chip, .hero-btns .btn-ghost { -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
.hero-grain { opacity: .13; }
.hcon-facts li { font-size: 15.5px; padding: 12px 12px; gap: 7px; }
.hcon-facts li span { min-width: 0; }
.pb-copy { max-width: min(880px, 100%); }
.hero-steel {
  mix-blend-mode: normal; opacity: 1;
  background: linear-gradient(118deg, rgba(47,44,39, .5) 0%, rgba(20,19,17, .52) 52%, rgba(51,48,42, .48) 100%);
}
.hero-grain { mix-blend-mode: normal; opacity: .07; }
.pb-drawn .pb-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .22; }
.pb-drawn .pb-fx { z-index: 1; }
.pb-drawn .pb-img { opacity: .32; }
.pb-drawn .pb-shade {
  background:
    radial-gradient(58% 62% at 50% 50%, rgba(10,10,9, .78) 0%, rgba(10,10,9, .35) 60%, transparent 100%),
    radial-gradient(120% 100% at 50% 50%, transparent 40%, rgba(8,7,7, .6) 100%);
}
.ev-t1 {
  display: block; margin-top: 0;
  font-family: var(--font-display); font-weight: 700;
  font-size: clamp(22px, 1.9vw, 29px); line-height: 1.3; letter-spacing: -.02em; color: var(--ink-2);
}
.ev-t2 {
  display: block; margin-top: 8px;
  font-family: var(--font-hero); font-weight: 800;
  font-size: clamp(42.8px, 6vw, 89.8px); line-height: 1.02; letter-spacing: -.04em; color: var(--ink);
  font-variant-numeric: tabular-nums;
}
.ev-t2 .gtext { font-style: normal; color: var(--blue); }
.ev-ribbon {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 9px 18px; border-radius: var(--r-pill);
  background: var(--blue); color: #fff;
  font-size: 16px; font-weight: 800; letter-spacing: -.01em;
  box-shadow: 0 8px 20px rgba(192,147,33, .28);
}
.ev-q { margin-top: clamp(24px, 2.6vw, 34px); font-size: clamp(20px, 1.6vw, 24px); font-weight: 800; color: var(--ink); }
.ev-desc { margin-top: 12px; font-size: clamp(17.5px, 1.35vw, 20px); line-height: 1.72; color: var(--ink-2); }
.str-card { padding: clamp(24px, 2.4vw, 34px); }
.rev-card { padding: 32px 28px; }
@media (max-width: 720px) {
  .str-card { padding: 22px; }
  .rev-card { padding: 26px 22px; }
  .step-card { padding: 0 0 34px; }
  .ev-point { padding-left: 0; padding-right: 0; }
}
@media (max-width: 720px) {
  .rev-card, .rev-card:nth-child(2n), .rev-card:nth-child(3n), .rev-card:nth-child(3n+2) { padding: 26px 22px; }
}
.ev-points { text-align: center; gap: 0; border-top: 1px solid var(--line-2); margin-top: clamp(34px, 4vw, 54px); }
.ev-point { padding: clamp(32px, 3.4vw, 44px) clamp(16px, 2vw, 30px) 0; }
.ev-point + .ev-point { padding-left: clamp(16px, 2vw, 30px); border-left: 1px solid var(--line-2); }
.ev-ico {
  display: inline-flex; align-items: center; justify-content: center;
  width: 78px; height: 78px; margin: 0 auto 18px; border-radius: 50%;
  background: #fff; color: var(--blue); box-shadow: 0 6px 18px rgba(192,147,33, .14);
}
.ev-ico .ico { width: 36px; height: 36px; }
.ev-name { margin-top: 0; font-size: clamp(20px, 1.6vw, 23px); font-weight: 800; letter-spacing: -.02em; color: var(--ink); }
.ev-pdesc { margin: 9px auto 0; max-width: 22ch; font-size: 17.5px; line-height: 1.65; color: var(--muted); }
@media (max-width: 760px) {
  .ev-points { grid-template-columns: minmax(0, 1fr); }
  .ev-point { padding: 28px 0 0; }
  .ev-point + .ev-point { padding-left: 0; border-left: 0; border-top: 1px solid var(--line-2); margin-top: 28px; }
  .ev-ico { width: 66px; height: 66px; }
}
.ev-ribbon { margin-bottom: clamp(20px, 2.2vw, 30px); }
.ev-desc { max-width: 42ch; text-wrap: pretty; }
.ev-q { text-wrap: pretty; }
.steps-grid {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(38px, 4vw, 60px) clamp(26px, 3vw, 46px);
  border-top: 0; margin-top: clamp(8px, 1vw, 16px);
}
.step-card { position: relative; padding: 0; border: 0; }
.step-card::before { content: none; }
.step-card:nth-child(3n+2), .step-card:nth-child(3n) { padding-left: 0; border-left: 0; }
.step-no {
  position: relative; z-index: 2;
  display: inline-flex; align-items: center; justify-content: center;
  width: 54px; height: 54px; margin-bottom: 20px; border-radius: 50%; border: 0;
  background: var(--blue-on-dark); color: #141311;
  font-family: var(--font-hero); font-size: 19px; font-weight: 800; line-height: 1;
  letter-spacing: 0; font-variant-numeric: tabular-nums;
  box-shadow: 0 0 0 6px rgba(216,184,102, .12);
}
.step-card + .step-card::after {
  content: ""; position: absolute; z-index: 1; top: 27px; height: 2px;
  left: calc((clamp(26px, 3vw, 46px) + 54px) * -1); width: calc(clamp(26px, 3vw, 46px) + 54px);
  background: linear-gradient(90deg, rgba(216,184,102, .12), rgba(216,184,102, .45));
}
.step-card:nth-child(3n+1)::after { content: none; }
.step-name { margin-top: 0; font-size: clamp(21px, 1.7vw, 25px); font-weight: 800; color: #fff; letter-spacing: -.025em; }
.step-desc { margin-top: 10px; font-size: 17.5px; line-height: 1.7; color: rgba(255,255,255, .68); max-width: 26ch; text-wrap: pretty; }
.step-ico { position: absolute; right: 6px; top: 12px; color: rgba(201,190,162, .18); }
@media (max-width: 1080px) {
  .steps-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .step-card:nth-child(3n+1)::after { content: ""; }
  .step-card:nth-child(2n+1)::after { content: none; }
  .step-card + .step-card::after {
    left: calc((clamp(26px, 3vw, 46px) + 54px) * -1); width: calc(clamp(26px, 3vw, 46px) + 54px);
  }
}
@media (max-width: 640px) {
  .steps-grid { grid-template-columns: minmax(0, 1fr); gap: 30px; }
  .step-card + .step-card::after { content: none; }
  .step-card,
  .step-card:nth-child(3n+1),
  .step-card:nth-child(3n+2),
  .step-card:nth-child(3n),
  .step-card:nth-child(2n+1) { padding-left: 70px; }
  .step-no { position: absolute; left: 0; top: 0; margin-bottom: 0; }
  .step-desc { max-width: none; }
  .step-ico { display: none; }
}
.steps-grid { --step-gap: clamp(26px, 3vw, 46px); --step-dot: 54px; gap: clamp(38px, 4vw, 60px) var(--step-gap); }
.step-card + .step-card::after {
  left: calc(-100% - var(--step-gap) + var(--step-dot));
  width: calc(100% + var(--step-gap) - var(--step-dot));
  top: calc(var(--step-dot) / 2);
}
.step-ico { display: none; }
.ev-top { max-width: var(--wrap); padding: 0 24px; }
.ev-media img { border-radius: var(--r-lg); max-height: 520px; }
.ev-media img { object-position: 50% 62%; }
.ev-copy { padding: 0; }
@media (max-width: 1180px) {
  .ev-media img { border-radius: var(--r-lg); max-height: 420px; }
}
.step-desc { max-width: none; }
:root { --star: #EFB01F; }          
.star { fill: var(--line-2); }
.star.on { fill: var(--star); }
.hero-chip { color: var(--paper); }
.hcon-facts li { color: var(--paper); }
:root {
  --blue-on-dark: #ecc561;
  --hero-accent-15: rgba(236,197,97, .16);
  --hero-accent-70: rgba(236,197,97, .72);
}
.str-ico { color: rgba(236,197,97, .24); }
.svc-tile-ico { color: rgba(236,197,97, .45); }
.step-no { box-shadow: 0 0 0 6px rgba(236,197,97, .14); }
.hero-console::before {
  background: linear-gradient(150deg, rgba(240,211,135, .55) 0%, rgba(255,255,255, .06) 42%, rgba(192,147,33, .45) 100%);
}
.rev-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(18px, 2vw, 28px); }
.rev-card {
  display: flex; flex-direction: column; overflow: hidden;
  padding: 0; border: 0; border-radius: 18px; background: #fff;
  box-shadow: 0 1px 2px rgba(16,16,15, .06), 0 14px 34px rgba(16,16,15, .10);
}
.rev-card::before { content: none; }   
.rev-shot { position: relative; margin: 0; height: 340px; overflow: hidden; background: var(--paper); }
.rev-shot img { width: 100%; height: 100%; object-fit: cover; object-position: top center; }
.rev-shot::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 90px;
  background: linear-gradient(180deg, rgba(255,255,255, 0), #fff);
}
.rev-body { display: flex; flex-direction: column; flex: 1 1 auto; padding: 4px 24px 26px; }
.rev-tag {
  align-self: flex-start; margin-bottom: 14px; padding: 6px 13px; border-radius: var(--r-pill);
  background: var(--blue-l); color: var(--blue); font-size: 15px; font-weight: 800; letter-spacing: -.01em;
}
.rev-text {
  margin: 0; padding: 0; border: 0; font-size: 18px; line-height: 1.7; color: var(--ink-2);
  font-weight: 500; text-wrap: pretty;
}
.rev-text::before { content: "\201C"; margin-right: 2px; color: var(--blue); font-weight: 800; }
.rev-text::after  { content: "\201D"; margin-left: 2px;  color: var(--blue); font-weight: 800; }
.rev-sub {
  display: flex; align-items: center; gap: 7px; margin-top: auto; padding-top: 18px;
  font-size: 16px; color: var(--muted-2); border-top: 1px solid var(--line);
}
.rev-sub .ico { color: var(--muted-2); }
.rev-date::before { content: "·"; margin: 0 6px; }
.rev-note { margin-top: 22px; font-size: 16px; color: var(--muted-2); }
@media (max-width: 1080px) { .rev-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 680px) {
  .rev-grid { grid-template-columns: minmax(0, 1fr); }
  .rev-card { max-width: 420px; margin: 0 auto; }
  .rev-shot { height: 300px; }
  .rev-body { padding: 4px 20px 22px; }
}
@media (min-width: 1081px) { .rev-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(14px, 1.4vw, 20px); } }
.rev-shot { height: 320px; }
.rev-body { padding: 4px 20px 24px; }
.rev-text { font-size: 17.5px; }
.rev-card,
.rev-card:nth-child(2n),
.rev-card:nth-child(3n),
.rev-card:nth-child(3n+1),
.rev-card:nth-child(3n+2) { padding: 0; border: 0; border-left: 0; }
@media (max-width: 720px) {
  .rev-card,
  .rev-card:nth-child(2n),
  .rev-card:nth-child(3n),
  .rev-card:nth-child(3n+1),
  .rev-card:nth-child(3n+2) { padding: 0; border: 0; border-left: 0; }
}
.rev-card { justify-self: stretch; width: 100%; }
.rev-grid { grid-template-columns: repeat(2, minmax(0, 420px)); justify-content: center; gap: clamp(20px, 2.2vw, 32px); }
@media (min-width: 1081px) { .rev-grid { grid-template-columns: repeat(2, minmax(0, 420px)); gap: clamp(20px, 2.2vw, 32px); } }
@media (max-width: 1080px) { .rev-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); justify-content: stretch; } }
@media (max-width: 680px)  { .rev-grid { grid-template-columns: minmax(0, 1fr); } }
.rev-card.has-shot { padding: 0; }
.rev-card.has-shot .rev-shot { height: auto; aspect-ratio: 5 / 7; }
.rev-card.has-shot .rev-shot img { object-position: center; transform: scale(1.06); transform-origin: center; }
.rev-card.has-shot .rev-shot::after { content: none; }
.rev-grid { grid-template-columns: repeat(2, minmax(0, 390px)); }
@media (min-width: 1081px) { .rev-grid { grid-template-columns: repeat(2, minmax(0, 390px)); } }
@media (max-width: 1080px) { .rev-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 680px)  { .rev-grid { grid-template-columns: minmax(0, 1fr); } }
.rev-card.has-shot .rev-shot img { transform: scale(1.04); }
.sec-reviews .sec-head,
.sec-reviews .rev-grid,
.sec-reviews .rev-foot { max-width: 812px; margin-inline: auto; }
.sec-reviews .sec-head { justify-items: center; text-align: center; }
.sec-reviews .sec-num,
.sec-reviews .sec-title,
.sec-reviews .sec-sub { justify-self: center; }
.sec-reviews .rev-foot { text-align: center; }
.rev-card.has-shot { border: 1px solid var(--line); }
.sec-reviews .sec-head,
.sec-reviews .rev-foot { max-width: none; margin-inline: 0; }
.sec-reviews .sec-head { justify-items: start; text-align: left; }
.sec-reviews .sec-num,
.sec-reviews .sec-title,
.sec-reviews .sec-sub { justify-self: start; }
.sec-reviews .rev-foot { text-align: left; }
.rev-strip {
  overflow-x: auto; overflow-y: hidden;
  scroll-snap-type: x proximity; overscroll-behavior-x: contain;
  padding-top: 8px; padding-bottom: 42px;   
  padding-left: max(24px, calc((100% - 1240px) / 2 + 24px));
  padding-right: 24px;
  scrollbar-width: thin; scrollbar-color: var(--line-2) transparent;
}
.rev-strip::-webkit-scrollbar { height: 8px; }
.rev-strip::-webkit-scrollbar-thumb { border-radius: 99px; background: var(--line-2); }
.rev-strip::-webkit-scrollbar-track { background: transparent; }
.rev-strip .rev-grid {
  display: flex; gap: clamp(16px, 1.8vw, 24px);
  max-width: none; margin: 0; padding: 0;
  grid-template-columns: none; justify-content: flex-start;
}
.rev-strip .rev-card { flex: 0 0 390px; width: 390px; scroll-snap-align: start; }
@media (max-width: 680px) {
  .rev-strip .rev-card { flex: 0 0 min(320px, 84vw); width: min(320px, 84vw); }
  .rev-strip { padding-bottom: 34px; }
}
.sec-reviews .rev-foot { margin-top: 8px; }
.rev-strip { scroll-padding-left: max(24px, calc((100% - 1240px) / 2 + 24px)); }
@media (max-width: 720px) {
  .rev-strip { padding-left: 20px; padding-right: 20px; scroll-padding-left: 20px; }
}
.rev-strip { overflow: hidden; padding: 8px 0 42px; scroll-padding-left: 0; }
.rev-track { display: flex; width: max-content; }
.rev-set { display: flex; gap: 24px; padding: 0 24px 0 0; margin: 0; list-style: none; }
.rev-card { flex: 0 0 390px; width: 390px; }
.has-motion .rev-track { animation: rev-marquee 84s linear infinite; }
@keyframes rev-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
.rev-strip:hover .rev-track,
.rev-strip:focus-within .rev-track { animation-play-state: paused; }
.has-motion .rev-strip {
  mask-image: linear-gradient(90deg, transparent 0, #000 4%, #000 96%, transparent 100%);
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 4%, #000 96%, transparent 100%);
}
body:not(.has-motion) .rev-strip {
  overflow-x: auto; overflow-y: hidden;
  padding-left: max(24px, calc((100% - 1240px) / 2 + 24px)); padding-right: 24px;
  scroll-snap-type: x proximity; scroll-padding-left: max(24px, calc((100% - 1240px) / 2 + 24px));
}
body:not(.has-motion) .rev-card { scroll-snap-align: start; }
body:not(.has-motion) .rev-dup,
body:not(.has-motion) .rev-set[aria-hidden] { display: none; }
@media (max-width: 720px) {
  .rev-strip, body:not(.has-motion) .rev-strip {
    overflow-x: auto; overflow-y: hidden; padding: 8px 20px 34px;
    scroll-snap-type: x proximity; scroll-padding-left: 20px;
    mask-image: none; -webkit-mask-image: none;
  }
  .has-motion .rev-track { animation: none; }
  .rev-set { gap: 16px; padding-right: 16px; }
  .rev-card { flex: 0 0 min(320px, 84vw); width: min(320px, 84vw); scroll-snap-align: start; }
  .rev-dup, .rev-set[aria-hidden] { display: none; }   
}
@media (hover: none) {
  .has-motion .rev-track { animation: none; }
  .has-motion .rev-strip, .rev-strip {
    overflow-x: auto; overflow-y: hidden;
    padding-left: max(20px, calc((100% - 1240px) / 2 + 24px)); padding-right: 24px;
    scroll-snap-type: x proximity; scroll-padding-left: max(20px, calc((100% - 1240px) / 2 + 24px));
    mask-image: none; -webkit-mask-image: none;
  }
  .rev-card { scroll-snap-align: start; }
  .rev-dup, .rev-set[aria-hidden] { display: none; }
}
.cli-lines { display: grid; gap: 14px; }
.cli-flow-rev .cli-track { animation-direction: reverse; }
.cli-set { gap: 16px; padding-right: 16px; }
.cli-item {
  width: 184px; height: 88px; padding: 15px 20px;
  background: #fff; border: 1px solid var(--line); border-radius: 16px;
  box-shadow: 0 1px 2px rgba(16,16,15, .05);
}
.cli-item img {
  max-width: 100%; max-height: 100%; width: auto; height: auto;
  object-fit: contain; filter: none; opacity: 1;
}
.cli-item:hover img { filter: none; opacity: 1; }
.has-motion .cli-track { animation-duration: 90s; }
@media (max-width: 720px) {
  .cli-lines { gap: 10px; }
  .cli-set { gap: 10px; padding-right: 10px; }
  .cli-item { width: 138px; height: 68px; padding: 11px 14px; border-radius: 13px; }
  .has-motion .cli-track { animation-duration: 68s; }
}
.sec-reviews .rev-foot { margin-top: 4px; text-align: center; }
.sec-reviews .rev-note { max-width: 760px; margin-left: auto; margin-right: auto; }
.sec-faq > .wrap {
  display: grid; grid-template-columns: minmax(0, 320px) minmax(0, 1fr);
  gap: clamp(30px, 4.5vw, 84px) clamp(30px, 5vw, 90px); align-items: start;
}
.sec-faq .sec-head { grid-column: 1; grid-row: 1; margin-bottom: 0; }
.sec-faq .faq-list { grid-column: 2; grid-row: 1 / span 2; }
.sec-faq .faq-more { grid-column: 1; grid-row: 2; margin-top: 0; align-self: start; }
.faq-list { border-top: 1.5px solid var(--ink); }
.faq-item { border-radius: 12px; transition: background-color var(--dur); }
.faq-q { padding: 23px 18px; }
.faq-a-in { padding: 0 18px; }
.faq-a-in p { padding-bottom: 24px; }
.faq-item:hover { background: rgba(192,147,33, .035); }
.faq-item.open { background: var(--blue-l); border-bottom-color: transparent; }
.faq-plus {
  width: 34px; height: 34px; margin-top: -3px; border-radius: 50%;
  border: 1px solid var(--line-2); background: #fff;
  transition: background-color var(--dur), border-color var(--dur);
}
.faq-item.open .faq-plus { border-color: var(--blue); background: var(--blue); }
.faq-item.open .faq-plus::before { background: #fff; }
@media (max-width: 900px) {
  .sec-faq > .wrap { grid-template-columns: minmax(0, 1fr); gap: clamp(26px, 4vw, 40px); }
  .sec-faq .sec-head { grid-column: 1; grid-row: 1; }
  .sec-faq .faq-list { grid-column: 1; grid-row: 2; }
  .sec-faq .faq-more { grid-column: 1; grid-row: 3; }
  .faq-q { padding: 20px 14px; }
  .faq-a-in { padding: 0 14px; }
}
.faq-more a {
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  width: 100%; height: 58px; padding: 0 20px;
  border: 1px solid var(--line-2); border-radius: 12px; background: #fff;
  font-size: 17.5px; font-weight: 700; color: var(--ink);
  transition: border-color var(--dur), color var(--dur), box-shadow var(--dur), background-color var(--dur);
}
.faq-more a:hover {
  border-color: var(--blue); color: var(--blue); background: var(--blue-l);
  box-shadow: 0 6px 18px rgba(192,147,33, .12);
}
.sec-ctaband { padding: clamp(76px, 8vw, 124px) 0; }
.cb-media img { opacity: .42; }
.cb-media::after {
  background:
    radial-gradient(120% 100% at 12% 50%, rgba(10,10,9, .94) 0%, rgba(10,10,9, .72) 46%, rgba(10,10,9, .5) 100%),
    linear-gradient(180deg, rgba(10,10,9, .35), rgba(10,10,9, .35));
}
.cb-in { grid-template-columns: minmax(0, 1fr) minmax(0, 380px); align-items: center; }
.cb-copy { display: grid; gap: 18px; }
.cb-text { max-width: 16ch; font-size: clamp(30px, 3.6vw, 51px); }
.cb-sub { max-width: 34ch; font-size: clamp(18px, 1.3vw, 20.5px); line-height: 1.75; color: #e1dac9; }
.cb-points { display: flex; flex-wrap: wrap; gap: 9px; margin: 4px 0 0; padding: 0; list-style: none; }
.cb-points li {
  display: inline-flex; align-items: center; gap: 7px;
  padding: 8px 15px 8px 12px; border-radius: 999px;
  border: 1px solid rgba(255,255,255, .17); background: rgba(255,255,255, .07);
  font-size: 16.5px; font-weight: 700; color: #f6f2e8;
}
.cb-points .ico { color: var(--blue-on-dark); }
.cb-act { align-items: stretch; gap: 14px; }
.cb-call {
  display: grid; gap: 6px; padding: 26px 28px 22px;
  border-radius: 20px; background: #fff;
  box-shadow: 0 2px 4px rgba(8,8,7, .2), 0 22px 50px rgba(8,8,7, .42);
  transition: transform var(--dur), box-shadow var(--dur);
}
.cb-call:hover { transform: translateY(-3px); box-shadow: 0 2px 4px rgba(8,8,7, .2), 0 28px 60px rgba(8,8,7, .5); }
.cb-call-l { display: inline-flex; align-items: center; gap: 8px; font-size: 16.5px; font-weight: 700; letter-spacing: .02em; color: var(--muted); }
.cb-call-l .ico { color: var(--blue); }
.cb-call-num {
  font-family: var(--font-hero); font-weight: 800; font-size: clamp(30px, 2.7vw, 37.7px);
  letter-spacing: -.02em; line-height: 1.1; color: var(--ink);
  font-variant-numeric: tabular-nums; white-space: nowrap; overflow-wrap: normal;
}
.cb-call-go {
  display: inline-flex; align-items: center; gap: 7px; margin-top: 4px;
  padding-top: 14px; border-top: 1px solid var(--line);
  font-size: 16.5px; font-weight: 700; color: var(--blue);
}
.cb-call-go .ico { transition: transform var(--dur); }
.cb-call:hover .cb-call-go .ico { transform: translateX(4px); }
.cb-btn { width: 100%; background: transparent; border: 1px solid rgba(255,255,255, .3); color: #fff; }
.cb-btn:hover { background: rgba(255,255,255, .1); border-color: #fff; color: #fff; }
@media (max-width: 900px) {
  .cb-in { grid-template-columns: minmax(0, 1fr); gap: clamp(26px, 4vw, 38px); align-items: start; }
  .cb-text { max-width: none; }
  .cb-sub { max-width: none; }
  .cb-call { padding: 22px 22px 18px; }
}
.sec-faq > .wrap { gap: 26px clamp(30px, 5vw, 90px); }
.sec-faq .faq-more { margin-top: 6px; }
.faq-list { border-top: 2px solid var(--ink); }
.faq-item { border-bottom: 1px solid var(--line-2); }
.faq-q { padding: 27px 20px; gap: 20px; }
.faq-qt { font-size: clamp(20px, 1.75vw, 25px); line-height: 1.45; }
.faq-a-in { padding: 0 20px; font-size: 19px; line-height: 1.9; }
.faq-a-in p { padding-bottom: 28px; }
.faq-item.open { position: relative; }
.faq-item.open::before {
  content: ""; position: absolute; left: 0; top: 10px; bottom: 10px;
  width: 3px; border-radius: 3px; background: var(--blue);
}
.faq-item.open .faq-q, .faq-item.open .faq-a-in { padding-left: 26px; }
.faq-plus { width: 36px; height: 36px; margin-top: -2px; }
.faq-plus::before { width: 16px; }
.faq-plus::after { height: 16px; }
@media (max-width: 900px) {
  .sec-faq > .wrap { gap: 24px; }
  .faq-q { padding: 21px 16px; gap: 14px; }
  .faq-a-in { padding: 0 16px; font-size: 18.5px; }
  .faq-item.open .faq-q, .faq-item.open .faq-a-in { padding-left: 21px; }
}
.cb-text { max-width: 19ch; }
.cb-text .gtext { white-space: nowrap; }
.sec-faq > .wrap { grid-template-rows: auto 1fr; }
@media (max-width: 900px) { .sec-faq > .wrap { grid-template-rows: auto auto auto; } }
.sec-ctaband { padding: clamp(92px, 9.5vw, 156px) 0; }
.sec-ctaband.has-bg::before {
  content: ""; position: absolute; left: 0; right: 0; top: 0; height: 3px; z-index: 3;
  background: var(--blue);
}
.cb-media img { opacity: .58; object-position: 72% center; }
.cb-media::after {
  background:
    radial-gradient(58% 120% at 80% 52%, rgba(192,147,33, .30), rgba(192,147,33, 0) 72%),
    linear-gradient(90deg, #11100f 0%, rgba(17,16,15, .95) 36%, rgba(17,16,15, .62) 64%, rgba(17,16,15, .34) 100%);
}
.cb-in { grid-template-columns: minmax(0, 1fr) minmax(0, 420px); }
.cb-copy { gap: 20px; }
.cb-text { max-width: 17ch; font-size: clamp(32.6px, 4.4vw, 65.3px); }
.cb-sub { font-size: clamp(18.5px, 1.35vw, 21.5px); color: #e7e0ce; }
.cb-points li { padding: 9px 17px 9px 13px; font-size: 17px; }
.cb-call { padding: 30px 30px 0; border-radius: 22px; overflow: hidden; }
.cb-call-num { font-size: clamp(31.6px, 3vw, 42.8px); }
.cb-call-go {
  justify-content: center; gap: 9px;
  margin: 20px -30px 0; padding: 17px 30px;
  border-top: 0; border-radius: 0;
  background: var(--blue); color: #fff; font-size: 18px;
}
.cb-call:hover .cb-call-go { background: var(--blue-d); }
@media (max-width: 900px) {
  .sec-ctaband { padding: clamp(64px, 11vw, 96px) 0; }
  .cb-call { padding: 24px 24px 0; }
  .cb-call-go { margin: 18px -24px 0; padding: 16px 24px; }
}
@media (max-width: 900px) {
  .cb-in { grid-template-columns: minmax(0, 1fr); align-items: start; }
}
.cb-in { grid-template-columns: minmax(0, 1fr) minmax(0, 440px); }
.cb-call {
  padding: 32px 32px 0; border-radius: 24px;
  box-shadow: 0 0 0 1px rgba(255,255,255, .5), 0 3px 6px rgba(8,8,7, .24), 0 30px 64px rgba(8,8,7, .5);
}
.cb-call:hover { box-shadow: 0 0 0 1px rgba(255,255,255, .7), 0 3px 6px rgba(8,8,7, .24), 0 38px 78px rgba(8,8,7, .58); }
.cb-call-num { font-size: clamp(34.7px, 3.4vw, 49px); letter-spacing: -.03em; }
.cb-call-l { gap: 9px; font-size: 17px; color: var(--ink-2); }
.cb-call-go { margin: 22px -32px 0; padding: 20px 32px; font-size: 19px; font-weight: 800; }
@media (max-width: 900px) {
  .cb-call { padding: 26px 24px 0; }
  .cb-call-go { margin: 20px -24px 0; padding: 18px 24px; font-size: 18.5px; }
}
@media (max-width: 900px) {
  .sec-ctaband .cb-in { grid-template-columns: minmax(0, 1fr); align-items: start; }
  .sec-ctaband .cb-text, .sec-ctaband .cb-sub { max-width: none; }
}
.cb-call {
  gap: 0; padding: 30px 32px 28px; border-radius: 20px;
  box-shadow: 0 2px 5px rgba(8,8,7, .18), 0 26px 56px rgba(8,8,7, .42);
}
.cb-call:hover { box-shadow: 0 2px 5px rgba(8,8,7, .18), 0 34px 72px rgba(8,8,7, .5); }
.cb-call-l {
  display: inline-flex; align-items: center; gap: 11px; margin-bottom: 18px;
  font-size: 16px; font-weight: 700; letter-spacing: .01em; color: var(--muted);
}
.cb-call-l .ico {
  flex: none; box-sizing: content-box; width: 17px; height: 17px; padding: 10px;
  border-radius: 50%; background: var(--blue-l); color: var(--blue);
}
.cb-call-num {
  font-weight: 700; font-size: clamp(33.7px, 3.3vw, 46.9px);
  letter-spacing: -.025em; color: var(--ink);
}
.cb-call-go {
  margin: 16px 0 0; padding: 0; border-top: 0; border-radius: 0;
  background: none; color: var(--blue); font-size: 17.5px; font-weight: 700;
}
.cb-call:hover .cb-call-go { background: none; color: var(--blue-d); }
@media (max-width: 900px) {
  .cb-call { padding: 26px 24px 24px; }
  .cb-call-go { margin: 14px 0 0; padding: 0; font-size: 17px; }
}
.sec-ctaband .cb-in { display: block; grid-template-columns: none; }
.cb-copy { display: grid; gap: 18px; max-width: none; }
.cb-text { max-width: 20ch; }
.cb-call {
  display: flex; align-items: flex-end; justify-content: space-between; gap: 28px;
  margin-top: clamp(40px, 4.6vw, 68px); padding: clamp(28px, 3vw, 40px) 0 0;
  border-top: 1px solid rgba(255,255,255, .22);
  border-radius: 0; background: none; box-shadow: none;
}
.cb-call:hover { transform: none; box-shadow: none; }
.cb-call-side { display: grid; gap: 9px; }
.cb-call-l {
  display: inline-flex; align-items: center; gap: 9px; margin: 0;
  font-size: 17px; font-weight: 700; letter-spacing: .01em; color: #f6f2e8;
}
.cb-call-l .ico { width: 16px; height: 16px; padding: 0; border-radius: 0; background: none; color: var(--blue-on-dark); }
.cb-call-pts { font-size: 16.5px; line-height: 1.6; color: #bfb9aa; }
.cb-call-main { display: inline-flex; align-items: center; gap: clamp(16px, 1.6vw, 26px); }
.cb-call-num {
  font-family: var(--font-hero); font-weight: 700;
  font-size: clamp(38.8px, 5.4vw, 85.7px); line-height: 1; letter-spacing: -.035em;
  color: #fff; font-variant-numeric: tabular-nums; white-space: nowrap; overflow-wrap: normal;
  transition: color var(--dur);
}
.cb-call-go {
  display: inline-flex; align-items: center; justify-content: center;
  flex: none; width: clamp(48px, 4vw, 62px); height: clamp(48px, 4vw, 62px);
  margin: 0; padding: 0; border-radius: 50%;
  border: 1px solid rgba(255,255,255, .28); background: none; color: #fff;
  transition: background-color var(--dur), border-color var(--dur), color var(--dur), transform var(--dur);
}
.cb-call:hover .cb-call-num { color: var(--blue-on-dark); }
.cb-call:hover .cb-call-go { background: var(--blue); border-color: var(--blue); color: #fff; transform: translateX(4px); }
.cb-extra { margin-top: 26px; }
@media (max-width: 860px) {
  .sec-ctaband .cb-call { flex-direction: column; align-items: stretch; gap: 20px; }
  .cb-call-main { justify-content: space-between; }
  .cb-call-num { font-size: clamp(34.7px, 9vw, 46.9px); }
}
.cb-media img { object-position: 54% center; opacity: .62; }
.sym-dl dt { font-size: 17.5px; }            
.sym-dl dd { font-size: 18.5px; }            
.svc-tile-desc { font-size: 18px; line-height: 1.7; }   
.str-label { font-size: 17.5px; }            
.hcon-note { font-size: 17.5px; }            
.price-note { font-size: 16px; }             
.ftr-copy { font-size: 16.5px; color: rgba(255,255,255, .62); }
.hist-list { display: block; margin: 0; padding: 0; list-style: none; border-top: 2px solid var(--ink); }
.hist-row {
  display: grid; grid-template-columns: minmax(0, 170px) minmax(0, 1fr);
  gap: clamp(16px, 2.5vw, 48px); align-items: baseline;
  padding: clamp(24px, 2.8vw, 34px) 0; border-bottom: 1px solid var(--line-2);
}
.hist-year {
  font-family: var(--font-hero); font-weight: 700; font-size: clamp(26px, 2.4vw, 34.7px);
  line-height: 1.1; letter-spacing: -.025em; color: var(--blue);
  font-variant-numeric: tabular-nums; overflow-wrap: normal;
}
.hist-name { font-size: clamp(20px, 1.6vw, 24px); font-weight: 800; letter-spacing: -.02em; color: var(--ink); line-height: 1.45; }
.hist-desc { margin-top: 10px; font-size: 18.5px; line-height: 1.8; color: var(--ink-2); }
.sec-bg-dark .hist-list { border-top-color: rgba(255,255,255, .5); }
.sec-bg-dark .hist-row { border-bottom-color: rgba(255,255,255, .14); }
.sec-bg-dark .hist-year { color: var(--blue-on-dark); }
.sec-bg-dark .hist-name { color: #fff; }
.sec-bg-dark .hist-desc { color: #e1dac9; }
.pf-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: clamp(16px, 2vw, 26px); margin: 0; padding: 0; list-style: none; }
.pf-card {
  display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: clamp(18px, 2vw, 26px); align-items: start;
  padding: clamp(24px, 2.4vw, 32px); background: #fff;
  border: 1px solid var(--line); border-radius: var(--r-lg); box-shadow: var(--sh);
}
.sec-bg-tint .pf-card { background: #fff; }
.pf-photo { flex: none; width: 96px; height: 96px; margin: 0; border-radius: 50%; overflow: hidden; background: var(--paper); }
.pf-photo img { width: 100%; height: 100%; object-fit: cover; }
.pf-photo-none {
  display: flex; align-items: center; justify-content: center;
  font-family: var(--font-display); font-size: 38.8px; font-weight: 700;
  color: var(--blue); background: var(--blue-l);
}
.pf-role { display: block; font-size: 16px; font-weight: 700; letter-spacing: .04em; color: var(--blue); }
.pf-name { margin-top: 5px; font-size: clamp(22px, 1.8vw, 26px); font-weight: 800; letter-spacing: -.02em; color: var(--ink); }
.pf-career { display: grid; gap: 9px; margin: 16px 0 0; padding: 0; list-style: none; }
.pf-career li { display: flex; gap: 10px; font-size: 18px; line-height: 1.7; color: var(--ink-2); }
.pf-career .ico { flex: none; margin-top: 4px; color: var(--blue); }
.pf-certs { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 16px; }
.pf-cert { padding: 7px 13px; border-radius: 999px; background: var(--blue-l); color: var(--blue-d); font-size: 15.5px; font-weight: 700; }
.pf-note { margin-top: clamp(20px, 2.4vw, 30px); font-size: 17px; color: var(--muted-2); }
.gear-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: clamp(14px, 1.6vw, 22px); margin: 0; padding: 0; list-style: none; }
.gear-card {
  display: flex; flex-direction: column; padding: clamp(24px, 2.4vw, 32px);
  background: #fff; border: 1px solid var(--line); border-radius: var(--r);
  transition: border-color var(--dur), box-shadow var(--dur), transform var(--dur);
}
.gear-card:hover { border-color: var(--line-2); box-shadow: var(--sh); transform: translateY(-2px); }
.gear-ico {
  display: inline-flex; align-items: center; justify-content: center; flex: none;
  width: 58px; height: 58px; border-radius: 16px; background: var(--blue-l); color: var(--blue);
}
.gear-shot { margin: 0 0 4px; aspect-ratio: 16 / 10; overflow: hidden; border-radius: 12px; background: var(--paper); }
.gear-shot img { width: 100%; height: 100%; object-fit: cover; }
.gear-name { margin-top: 18px; font-size: 21px; font-weight: 800; letter-spacing: -.02em; color: var(--ink); }
.gear-desc { margin-top: 9px; font-size: 18px; line-height: 1.75; color: var(--ink-2); }
.gear-note { margin-top: clamp(20px, 2.4vw, 30px); font-size: 17px; color: var(--muted-2); }
.biz-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 clamp(28px, 4vw, 72px); margin: 0; border-top: 2px solid var(--ink); }
.biz-row { display: grid; grid-template-columns: minmax(0, 132px) minmax(0, 1fr); gap: 14px; padding: 19px 0; border-bottom: 1px solid var(--line-2); }
.biz-row dt { font-size: 17px; font-weight: 700; color: var(--muted); }
.biz-row dd { margin: 0; font-size: 18.5px; line-height: 1.65; color: var(--ink); overflow-wrap: anywhere; }
.biz-row dd a { color: var(--ink); border-bottom: 1px solid var(--line-2); }
.biz-row dd a:hover { color: var(--blue); border-color: var(--blue); }
.biz-note { margin-top: clamp(20px, 2.4vw, 30px); font-size: 17px; color: var(--muted-2); }
@media (max-width: 860px) {
  .hist-row { grid-template-columns: minmax(0, 1fr); gap: 8px; }
  .pf-card { grid-template-columns: 72px minmax(0, 1fr); }
  .pf-photo { width: 72px; height: 72px; }
  .pf-photo-none { font-size: 31px; }
  .biz-list { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 560px) {
  .pf-card { grid-template-columns: minmax(0, 1fr); }
  .biz-row { grid-template-columns: minmax(0, 104px) minmax(0, 1fr); gap: 10px; }
}
.hero-eyebrow .eb-in { font-size: clamp(21px, 1.75vw, 31px); }
.hero-keys li { font-size: clamp(17px, 1.25vw, 20px); letter-spacing: .005em; }
.hero-keys li::before { width: 11px; height: 11px; margin-right: 11px;
  background:
    linear-gradient(var(--hero-accent), var(--hero-accent)) center / 11px 1.5px no-repeat,
    linear-gradient(var(--hero-accent), var(--hero-accent)) center / 1.5px 11px no-repeat; }
@media (max-width: 720px) {
  .hero-eyebrow .eb-in { font-size: 21px; }
  .hero-keys li { font-size: 17px; }
}
.pf-grid:has(> :only-child) { max-width: 660px; }
.bn-crumb { margin-bottom: 16px; }
.bn-crumb ol { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; margin: 0; padding: 0; list-style: none; }
.bn-crumb li { display: inline-flex; align-items: center; font-size: 16px; font-weight: 700; color: rgba(255,255,255, .62); }
.bn-crumb li + li::before { content: ""; width: 5px; height: 5px; margin-right: 9px; border-top: 1.5px solid currentColor; border-right: 1.5px solid currentColor; transform: rotate(45deg); opacity: .7; }
.bn-crumb a { color: inherit; }
.bn-crumb a:hover { color: #fff; }
.bn-crumb [aria-current] { color: #fff; }
.sec-banner:not(.has-bg) .bn-crumb li { color: var(--muted); }
.sec-banner:not(.has-bg) .bn-crumb a:hover,
.sec-banner:not(.has-bg) .bn-crumb [aria-current] { color: var(--ink); }
@media (max-width: 720px) { .bn-crumb { margin-bottom: 12px; } .bn-crumb li { font-size: 15px; } }
.st-grid {
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 360px);
  gap: clamp(28px, 4vw, 76px); align-items: start;
}
.st-grid.st-solo { grid-template-columns: minmax(0, 1fr); }
.sec-statement .st-lead { position: relative; padding-left: clamp(18px, 2vw, 28px); }
.sec-statement .st-lead::before {
  content: ""; position: absolute; left: 0; top: 6px; bottom: 6px;
  width: 3px; border-radius: 3px; background: var(--blue);
}
.sec-statement .st-kicker {
  display: inline-flex; align-items: center; gap: 12px; margin-bottom: 16px;
  font-size: 16px; font-weight: 700; letter-spacing: .16em; color: var(--blue);
}
.sec-statement .st-kicker-line { display: block; width: 30px; height: 2px; background: var(--blue); }
.sec-statement .st-text {
  font-family: var(--font-display); font-weight: 700;
  font-size: clamp(23px, 2.1vw, 31.6px); line-height: 1.55; letter-spacing: -.025em; color: var(--ink);
}
.sec-statement .st-facts {
  display: grid; grid-template-columns: minmax(0, 1fr); gap: 0;
  padding: clamp(24px, 2.4vw, 32px); border: 0; border-radius: var(--r-lg);
  background: var(--dark); box-shadow: 0 20px 44px rgba(8,8,7, .22); overflow: hidden;
}
.sec-statement .st-facts .st-fact { padding: 17px 0; border: 0; }
.sec-statement .st-facts .st-fact:first-child { padding-top: 0; }
.sec-statement .st-facts .st-fact:last-child { padding-bottom: 0; }
.sec-statement .st-facts .st-fact + .st-fact { border-top: 1px solid rgba(255,255,255, .14); }
.sec-statement .st-fact-v {
  font-family: var(--font-hero); font-weight: 700; font-size: clamp(28px, 2.3vw, 32.6px);
  line-height: 1.15; letter-spacing: -.03em; color: #fff;
}
.sec-statement .st-fact-l { margin-top: 7px; font-size: 17px; color: var(--muted-on-dark); }
@media (max-width: 900px) {
  .st-grid { grid-template-columns: minmax(0, 1fr); gap: clamp(26px, 4vw, 34px); }
  .sec-statement .st-facts { padding: 22px 22px; }
}
.sec-banner { min-height: clamp(340px, 32vw, 460px); }
.sec-banner.has-bg .bn-media img { opacity: .5; }
.sec-banner.has-bg .bn-media::after {
  background:
    radial-gradient(70% 130% at 88% 20%, rgba(192,147,33, .28), rgba(192,147,33, 0) 68%),
    linear-gradient(100deg, rgba(15,15,13, .93) 0%, rgba(15,15,13, .78) 42%, rgba(15,15,13, .5) 100%);
}
.sec-banner::after {
  content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background:
    linear-gradient(rgba(255,255,255, .05) 1px, transparent 1px) 0 0 / 100% 64px,
    linear-gradient(90deg, rgba(255,255,255, .05) 1px, transparent 1px) 0 0 / 64px 100%;
  mask-image: linear-gradient(100deg, transparent 0%, #000 45%, #000 100%);
  -webkit-mask-image: linear-gradient(100deg, transparent 0%, #000 45%, #000 100%);
}
.sec-banner::before {
  content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 3px; z-index: 3;
  background: var(--blue);
}
.bn-kicker { letter-spacing: .2em; }
.bn-sub { margin-top: 18px; max-width: 52ch; color: rgba(248,244,235, .82); }
.svc-rows { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; border-top: 1px solid rgba(255,255,255, .2); }
.svc-row { border-bottom: 1px solid rgba(255,255,255, .12); }
.svc-row-in {
  display: grid; grid-template-columns: 52px minmax(0, 1fr) auto auto;
  gap: clamp(14px, 1.6vw, 24px); align-items: center;
  padding: clamp(20px, 2vw, 26px) 4px; color: inherit;
  transition: background-color var(--dur), padding-left var(--dur);
}
a.svc-row-in:hover { background: rgba(255,255,255, .05); padding-left: 14px; }
.svc-row-ico {
  display: inline-flex; align-items: center; justify-content: center; flex: none;
  width: 52px; height: 52px; border-radius: 14px;
  background: rgba(255,255,255, .07); border: 1px solid rgba(255,255,255, .14); color: var(--blue-on-dark);
}
.svc-row-body { display: grid; gap: 5px; min-width: 0; }
.svc-row-name { font-size: clamp(20px, 1.7vw, 24px); font-weight: 800; letter-spacing: -.02em; color: #fff; }
.svc-row-desc { font-size: 17.5px; line-height: 1.6; color: #cfc6ae; }
.svc-row-price { font-family: var(--font-hero); font-weight: 700; font-size: 19px; color: #fff; white-space: nowrap; overflow-wrap: normal; }
.svc-row-go {
  display: inline-flex; align-items: center; justify-content: center; flex: none;
  width: 40px; height: 40px; border-radius: 50%; border: 1px solid rgba(255,255,255, .22); color: #fff;
  transition: background-color var(--dur), border-color var(--dur), transform var(--dur);
}
a.svc-row-in:hover .svc-row-go { background: var(--blue); border-color: var(--blue); transform: translateX(3px); }
.sec-servicecards:not(.sec-bg-dark) .svc-rows { border-top-color: var(--line-2); }
.sec-servicecards:not(.sec-bg-dark) .svc-row { border-bottom-color: var(--line); }
.sec-servicecards:not(.sec-bg-dark) .svc-row-ico { background: var(--blue-l); border-color: transparent; color: var(--blue); }
.sec-servicecards:not(.sec-bg-dark) .svc-row-name { color: var(--ink); }
.sec-servicecards:not(.sec-bg-dark) .svc-row-desc { color: var(--ink-2); }
.sec-servicecards:not(.sec-bg-dark) .svc-row-price { color: var(--ink); }
.sec-servicecards:not(.sec-bg-dark) .svc-row-go { border-color: var(--line-2); color: var(--ink); }
.sec-servicecards:not(.sec-bg-dark) a.svc-row-in:hover { background: var(--blue-l); }
@media (max-width: 720px) {
  .svc-row-in { grid-template-columns: 44px minmax(0, 1fr) auto; gap: 13px; padding: 18px 2px; }
  .svc-row-ico { width: 44px; height: 44px; border-radius: 12px; }
  .svc-row-price { display: none; }   
  a.svc-row-in:hover { padding-left: 2px; }
}
.sec-banner { align-items: flex-end; min-height: clamp(360px, 34vw, 500px); padding-bottom: 0; }
.bn-in { position: relative; z-index: 2; width: 100%; padding-bottom: clamp(28px, 3.2vw, 44px); }
.bn-crumb { margin-bottom: clamp(22px, 2.6vw, 36px); }
.bn-head { position: relative; max-width: 40ch; padding-left: clamp(18px, 2vw, 26px); }
.bn-head::before {
  content: ""; position: absolute; left: 0; top: 4px; bottom: 4px;
  width: 3px; border-radius: 3px; background: var(--blue-on-dark);
}
.sec-banner:not(.has-bg) .bn-head::before { background: var(--blue); }
.bn-kicker { margin-bottom: 12px; font-size: 16.5px; letter-spacing: .2em; }
.bn-title { font-size: clamp(38.8px, 5.4vw, 77.5px); line-height: 1.04; }
.bn-sub { margin-top: 18px; max-width: 34ch; font-size: clamp(19px, 1.35vw, 22px); line-height: 1.7; color: rgba(248,244,235, .84); }
.sec-banner:not(.has-bg) .bn-sub { color: var(--ink-2); }
.bn-meta {
  display: flex; flex-wrap: wrap; align-items: center; gap: 0;
  margin: clamp(28px, 3.2vw, 46px) 0 0; padding: 0; list-style: none;
  border-top: 1px solid rgba(255,255,255, .18);
}
.bn-meta li {
  padding: 16px clamp(18px, 2vw, 30px) 0 0; margin-right: clamp(18px, 2vw, 30px);
  font-size: 17px; font-weight: 700; color: rgba(248,244,235, .8);
  border-right: 1px solid rgba(255,255,255, .18);
}
.bn-meta li:last-child { border-right: 0; margin-right: 0; padding-right: 0; }
.sec-banner:not(.has-bg) .bn-meta { border-top-color: var(--line-2); }
.sec-banner:not(.has-bg) .bn-meta li { color: var(--muted); border-right-color: var(--line); }
@media (max-width: 720px) {
  .sec-banner { min-height: 0; padding-top: clamp(96px, 24vw, 130px); }
  .bn-head { max-width: none; padding-left: 14px; }
  .bn-sub { max-width: none; }
  .bn-meta { gap: 0 4px; }
  .bn-meta li { padding: 13px 12px 0 0; margin-right: 12px; font-size: 15.5px; }
}
.sec-banner { background: var(--dark); }
.sec-banner::after {
  background:
    linear-gradient(rgba(255,255,255, .05) 1px, transparent 1px) 0 0 / 100% 64px,
    linear-gradient(90deg, rgba(255,255,255, .05) 1px, transparent 1px) 0 0 / 64px 100%;
}
.sec-banner:not(.has-bg) .bn-in::before {
  content: ""; position: absolute; z-index: -1;
  right: -6%; top: 50%; width: min(560px, 46%); aspect-ratio: 1;
  transform: translateY(-50%);
  background: radial-gradient(circle, rgba(192,147,33, .34) 0%, rgba(192,147,33, 0) 68%);
  pointer-events: none;
}
.sec-banner:not(.has-bg) .bn-crumb li { color: rgba(255,255,255, .62); }
.sec-banner:not(.has-bg) .bn-crumb a:hover,
.sec-banner:not(.has-bg) .bn-crumb [aria-current] { color: #fff; }
.sec-banner:not(.has-bg) .bn-head::before { background: var(--blue-on-dark); }
.sec-banner:not(.has-bg) .bn-sub { color: rgba(248,244,235, .84); }
.sec-banner:not(.has-bg) .bn-meta { border-top-color: rgba(255,255,255, .18); }
.sec-banner:not(.has-bg) .bn-meta li { color: rgba(248,244,235, .8); border-right-color: rgba(255,255,255, .18); }
.bn-head { max-width: min(760px, 100%); }
.bn-sub { max-width: min(560px, 100%); }
.bn-meta {
  display: grid; grid-auto-flow: column; grid-auto-columns: 1fr;
  gap: 0; margin: clamp(30px, 3.4vw, 48px) 0 0; padding: 0; list-style: none;
  border: 1px solid rgba(255,255,255, .14); border-radius: 16px;
  background: rgba(255,255,255, .06);
  -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
  overflow: hidden;
}
.bn-fact { padding: clamp(18px, 1.9vw, 24px) clamp(18px, 2vw, 28px); }
.bn-fact + .bn-fact { border-left: 1px solid rgba(255,255,255, .14); }
.bn-fact-v {
  font-family: var(--font-hero); font-weight: 700;
  font-size: clamp(24px, 2.2vw, 32.6px); line-height: 1.1; letter-spacing: -.03em; color: #fff;
  font-variant-numeric: tabular-nums; overflow-wrap: normal; word-break: keep-all;
}
.bn-fact-l { margin: 8px 0 0; font-size: 16.5px; line-height: 1.5; color: rgba(237,231,215, .74); }
.sec-banner:not(.has-bg) .bn-meta { border-color: rgba(255,255,255, .14); background: rgba(255,255,255, .06); }
.sec-banner:not(.has-bg) .bn-fact + .bn-fact { border-left-color: rgba(255,255,255, .14); }
.sec-banner:not(.has-bg) .bn-fact-l { color: rgba(237,231,215, .74); }
@media (max-width: 720px) {
  .bn-meta { grid-auto-flow: row; grid-auto-columns: auto; border-radius: 14px; }
  .bn-fact { padding: 15px 18px; }
  .bn-fact + .bn-fact { border-left: 0; border-top: 1px solid rgba(255,255,255, .14); }
  .sec-banner:not(.has-bg) .bn-fact + .bn-fact { border-left: 0; border-top: 1px solid rgba(255,255,255, .14); }
  .bn-fact-v { font-size: 23px; }
  .bn-fact-l { margin-top: 5px; font-size: 15.5px; }
}
.st-wrap { display: block; }
.sec-statement .st-lead { position: relative; max-width: min(880px, 100%); padding-left: 0; }
.sec-statement .st-lead::before { content: none; }
.sec-statement .st-kicker {
  display: inline-flex; align-items: center; gap: 13px; margin-bottom: 18px;
  font-size: 16px; font-weight: 700; letter-spacing: .16em; color: var(--blue);
}
.sec-statement .st-kicker-line { display: block; width: 34px; height: 2px; background: var(--blue); }
.sec-statement .st-claim {
  font-family: var(--font-display); font-weight: 700;
  font-size: clamp(30px, 3.4vw, 51px); line-height: 1.2; letter-spacing: -.03em; color: var(--ink);
}
.sec-statement .st-claim .gtext { font-style: normal; color: var(--blue); }
.sec-statement.has-claim .st-text {
  margin-top: 20px; max-width: min(700px, 100%);
  font-family: var(--font); font-weight: 500;
  font-size: clamp(18.5px, 1.35vw, 21px); line-height: 1.85; letter-spacing: -.01em; color: var(--ink-2);
}
.sec-statement.has-claim .st-text .gtext { color: var(--blue); font-weight: 700; }
.sec-statement .st-facts {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 0; margin: clamp(40px, 4.4vw, 64px) 0 0; padding: 0;
  background: none; border: 0; border-top: 2px solid var(--ink); border-radius: 0; box-shadow: none; overflow: visible;
}
.sec-statement .st-facts .st-fact {
  position: relative; padding: clamp(22px, 2.4vw, 30px) clamp(20px, 2vw, 28px) clamp(24px, 2.6vw, 32px) 0;
  border: 0; background: none;
}
.sec-statement .st-facts .st-fact + .st-fact { padding-left: clamp(20px, 2vw, 28px); border-left: 1px solid var(--line); }
.st-fact-no {
  display: block; margin-bottom: 12px;
  font-family: var(--font-hero); font-weight: 700; font-size: 15.5px; letter-spacing: .1em; color: var(--blue);
}
.sec-statement .st-fact-v {
  font-family: var(--font-display); font-weight: 800;
  font-size: clamp(20px, 1.7vw, 24px); line-height: 1.35; letter-spacing: -.02em; color: var(--ink);
}
.sec-statement .st-fact-l { margin-top: 10px; font-size: 17.5px; line-height: 1.7; color: var(--muted); }
@media (max-width: 900px) {
  .sec-statement .st-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sec-statement .st-facts .st-fact:nth-child(odd) { padding-left: 0; border-left: 0; }
  .sec-statement .st-facts .st-fact:nth-child(n+3) { border-top: 1px solid var(--line); }
}
@media (max-width: 560px) {
  .sec-statement .st-facts { grid-template-columns: minmax(0, 1fr); }
  .sec-statement .st-facts .st-fact { padding-left: 0 !important; border-left: 0; }
  .sec-statement .st-facts .st-fact + .st-fact { border-top: 1px solid var(--line); }
}
.bn-head { padding-left: 0; }
.bn-head::before { content: none; }
.bn-kicker { display: inline-flex; align-items: center; gap: 12px; }
.bn-kicker::before { content: ""; display: block; width: 30px; height: 2px; background: currentColor; }
.art-wrap { max-width: var(--wrap); }
.sec-article .art-title,
.sec-article .art-h,
.sec-article .art-p,
.sec-article .art-list { max-width: min(820px, 100%); }
.sec-article .art-title {
  font-size: clamp(28px, 3vw, 44.9px); line-height: 1.2; margin-bottom: clamp(22px, 2.4vw, 32px);
}
.sec-article .art-title { font-size: var(--fs-h2); }
.sec-statement .st-claim { font-size: var(--fs-h2); line-height: 1.14; }
.sec-strengths:not(.sec-bg-dark):not(.has-bg) .str-card {
  color: var(--ink);
  background: var(--paper);
  box-shadow: inset 0 0 0 1px var(--line);
}
.sec-strengths:not(.sec-bg-dark):not(.has-bg) .str-card:hover {
  background: var(--blue-l);
  box-shadow: inset 0 0 0 1px rgba(192,147,33, .22);
}
.sec-strengths:not(.sec-bg-dark):not(.has-bg) .str-value { color: var(--ink); }
.sec-strengths:not(.sec-bg-dark):not(.has-bg) .str-label { color: var(--muted); }
.sec-strengths:not(.sec-bg-dark):not(.has-bg) .str-ico { color: rgba(192,147,33, .16); }
.sec-strengths:not(.sec-bg-dark):not(.has-bg) .sec-title { text-shadow: none; }
.sec-strengths:not(.sec-bg-dark):not(.has-bg) .sec-sub { color: var(--ink-2); }
.sec-strengths:not(.sec-bg-dark):not(.has-bg)::before { content: none; }
.sec-strengths:not(.sec-bg-dark):not(.has-bg) .sec-title { font-size: var(--fs-h2); }
.sec-statement .st-facts .st-fact:first-child { padding-top: clamp(22px, 2.4vw, 30px); }
.sec-statement .st-facts .st-fact:last-child { padding-bottom: clamp(24px, 2.6vw, 32px); }
.st-fact-no {
  display: block; margin-bottom: 14px;
  font-family: var(--font-hero); font-weight: 700;
  font-size: clamp(34.7px, 3.4vw, 53px); line-height: 1; letter-spacing: -.04em;
  color: rgba(192,147,33, .26);
  font-variant-numeric: tabular-nums;
}
.sec-statement .st-fact-v { font-size: clamp(21px, 1.9vw, 27px); line-height: 1.4; }
.sec-statement .st-fact-l { margin-top: 11px; font-size: 18.5px; line-height: 1.75; color: var(--ink-2); }
@media (max-width: 900px) {
  .st-fact-no { font-size: 38.8px; margin-bottom: 10px; }
}
.bn-title-2 {
  display: block; margin-top: 14px;
  font-family: var(--font-display); font-weight: 700;
  font-size: clamp(19px, 1.65vw, 28px); line-height: 1.4; letter-spacing: -.02em;
  color: rgba(248,244,235, .82);
}
.sec-banner:not(.has-bg) .bn-title-2 { color: rgba(248,244,235, .82); }
.bn-title-2 .gtext { font-style: normal; color: var(--blue-on-dark); }
.bn-head .bn-title-2 + * { margin-top: 16px; }
.sec-statement .st-text {
  overflow-wrap: normal; word-break: keep-all;
  text-wrap: pretty;
}
.nb { white-space: nowrap; }
@media (max-width: 420px) { .nb { white-space: normal; } }
.st-text .gtext,
.art-p .gtext,
.cb-text .gtext,
.sec-title .gtext { position: relative; }
.sec-statement.has-claim .st-text .gtext {
  position: relative; z-index: 0; color: var(--blue); font-weight: 800;
}
.sec-statement.has-claim .st-text .gtext::before {
  content: ""; position: absolute; z-index: -1;
  left: -.12em; right: -.12em; bottom: .02em; height: .48em;
  border-radius: 3px; background: var(--blue-l);
  transform: scaleX(1); transform-origin: left center;
  transition: transform .55s cubic-bezier(.22, 1, .36, 1) .15s;
}
.has-motion .rv:not(.in) .st-text .gtext::before,
.has-motion .st-lead.rv:not(.in) .gtext::before { transform: scaleX(0); }
.sec-statement .st-claim .gtext {
  position: relative; color: var(--blue);
  background-image: linear-gradient(var(--blue), var(--blue));
  background-repeat: no-repeat;
  background-position: 0 calc(100% - .04em);
  background-size: 100% 5px;
  padding-bottom: .06em;
}
.cmp-grid {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: clamp(16px, 1.8vw, 26px); margin: 0; padding: 0; list-style: none;
  align-items: stretch;
}
.cmp-card {
  display: flex; flex-direction: column;
  padding: clamp(28px, 3vw, 42px) clamp(24px, 2.6vw, 38px) clamp(30px, 3.2vw, 44px);
  border-radius: var(--r-lg);
}
.cmp-bad {
  background: var(--paper); color: var(--muted);
  box-shadow: inset 0 0 0 1px var(--line);
}
.cmp-good {
  background: var(--dark); color: #e1dac9;
  box-shadow: 0 2px 6px rgba(8,8,7, .16), 0 26px 56px rgba(8,8,7, .26);
}
.cmp-label {
  display: inline-flex; align-items: center; gap: 8px; align-self: flex-start;
  padding: 8px 14px 8px 11px; margin-bottom: 20px; border-radius: 999px;
  font-size: 16.5px; font-weight: 700; letter-spacing: .01em;
}
.cmp-bad .cmp-label { background: rgba(21,20,19, .06); color: var(--muted); }
.cmp-bad .cmp-label .ico { color: var(--muted-2); }
.cmp-good .cmp-label { background: rgba(236,197,97, .16); color: var(--blue-on-dark); }
.cmp-good .cmp-label .ico { color: var(--blue-on-dark); }
.cmp-name {
  font-family: var(--font-display); font-weight: 800;
  font-size: clamp(23px, 2.1vw, 31px); line-height: 1.35; letter-spacing: -.025em;
}
.cmp-bad .cmp-name { color: var(--ink-2); }
.cmp-good .cmp-name { color: #fff; }
.cmp-shot { margin: 22px 0 0; aspect-ratio: 16 / 10; overflow: hidden; border-radius: 12px; background: rgba(0,0,0, .18); }
.cmp-shot img { width: 100%; height: 100%; object-fit: cover; }
.cmp-body { margin-top: 16px; font-size: 18.5px; line-height: 1.85; }
.cmp-bad .cmp-body { color: var(--muted); }
.cmp-good .cmp-body { color: #e1dac9; }
.cmp-note { margin-top: clamp(22px, 2.4vw, 32px); font-size: 17px; color: var(--muted-2); }
@media (max-width: 640px) {
  .cmp-card { padding: 24px 22px 26px; }
  .cmp-label { margin-bottom: 16px; }
}
.sec-banner ~ .sec .sec-num,
.sec-banner ~ section .sec-num { display: none; }
.sec-banner ~ .sec .kicker,
.sec-banner ~ section .kicker { margin-bottom: 14px; }
.sec-banner ~ .sec .kicker::before,
.sec-banner ~ section .kicker::before {
  content: ""; display: inline-block; width: 30px; height: 2px;
  margin-right: 13px; vertical-align: .28em; background: currentColor;
}
.st-areas {
  display: flex; flex-wrap: wrap; gap: 8px;
  margin: clamp(26px, 2.8vw, 36px) 0 0; padding: 0; list-style: none;
}
.st-areas li { display: inline-flex; }
.st-areas a, .st-areas span {
  display: inline-flex; align-items: center;
  padding: 9px 15px; border-radius: 999px;
  border: 1px solid var(--line-2); background: #fff;
  font-size: 17px; font-weight: 700; color: var(--ink-2);
  transition: border-color var(--dur), color var(--dur), background-color var(--dur);
}
.sec-bg-tint .st-areas a, .sec-bg-tint .st-areas span { background: #fff; }
.st-areas a:hover { border-color: var(--blue); background: var(--blue-l); color: var(--blue-d); }
@media (max-width: 560px) {
  .st-areas { gap: 6px; }
  .st-areas a, .st-areas span { padding: 8px 12px; font-size: 16px; }
}
.idn-grid {
  display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
  gap: clamp(36px, 5vw, 84px); align-items: center;
}
.idn-kicker {
  display: inline-flex; align-items: center; gap: 12px; margin-bottom: 18px;
  font-family: var(--font-hero); font-size: 15.5px; font-weight: 700;
  letter-spacing: .22em; color: var(--blue);
}
.idn-kicker::before { content: ""; display: block; width: 30px; height: 2px; background: currentColor; }
.idn-title {
  font-family: var(--font-display); font-weight: 700;
  font-size: var(--fs-h2); line-height: 1.24; letter-spacing: -.03em; color: var(--ink);
  overflow-wrap: normal; word-break: keep-all; text-wrap: balance;
}
.idn-title .gtext { font-style: normal; color: var(--blue); }
.idn-sub {
  margin-top: 22px; max-width: min(560px, 100%);
  font-size: clamp(18.5px, 1.4vw, 21px); line-height: 1.85; color: var(--ink-2);
  overflow-wrap: normal; word-break: keep-all;
}
.idn-foot {
  margin-top: 30px; padding-top: 18px; border-top: 1px solid var(--line);
  font-family: var(--font-hero); font-size: 14.5px; font-weight: 700;
  letter-spacing: .18em; color: var(--muted-2);
}
.idn-panel {
  position: relative; margin: 0; overflow: hidden;
  aspect-ratio: 5 / 4; border-radius: 20px; background: var(--dark);
  background-image:
    radial-gradient(90% 90% at 50% 44%, rgba(192,147,33, .22), rgba(192,147,33, 0) 70%),
    linear-gradient(rgba(255,255,255, .05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255, .05) 1px, transparent 1px);
  background-size: auto, 100% 48px, 48px 100%;
  box-shadow: 0 2px 5px rgba(8,8,7, .16), 0 26px 56px rgba(8,8,7, .28);
}
.idn-bar {
  position: absolute; left: 0; right: 0; top: 0; z-index: 2;
  display: flex; align-items: center; gap: 9px; padding: 13px 18px;
  font-size: 15.5px; font-weight: 700; letter-spacing: .04em; color: rgba(248,244,235, .85);
  background: rgba(15,15,13, .6); border-bottom: 1px solid rgba(255,255,255, .1);
}
.idn-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--blue-on-dark); }
.idn-panel.has-img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.idn-scope { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; }
.idn-scan { width: min(78%, 400px); height: auto; }
.sc-tick  { fill: none; stroke: rgba(255,255,255, .16); stroke-width: 3; stroke-dasharray: 2 11; }
.sc-pipe  { fill: none; stroke: rgba(255,255,255, .30); stroke-width: 1.5; }
.sc-in    { fill: rgba(15,15,13, .5); stroke: rgba(255,255,255, .14); stroke-width: 1; }
.sc-dep path { fill: none; stroke: rgba(239,176,31, .55); stroke-width: 11; stroke-linecap: round; }
.sc-cross path { stroke: rgba(236,197,97, .5); stroke-width: 1.5; }
.sc-dot   { fill: var(--blue-on-dark); }
.sc-sweep {
  fill: rgba(236,197,97, .16); stroke: rgba(236,197,97, .4); stroke-width: 1;
  transform-box: view-box; transform-origin: 240px 190px;
}
.has-motion .sc-sweep { animation: idn-sweep 7s linear infinite; }
@keyframes idn-sweep { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .sc-sweep { animation: none !important; } }
@media (max-width: 900px) {
  .idn-grid { grid-template-columns: minmax(0, 1fr); gap: clamp(28px, 5vw, 40px); align-items: start; }
  .idn-sub { max-width: none; }
  .idn-panel { aspect-ratio: 16 / 11; }
  .idn-scan { width: min(70%, 330px); }
}
.hero-title .hero-keys {
  display: flex; flex-wrap: wrap; align-items: center;
  gap: 10px clamp(20px, 2vw, 32px); margin-bottom: clamp(20px, 2.2vw, 28px);
  font-weight: 700; letter-spacing: .005em;
}
.hero-keys .hk {
  display: inline-flex; align-items: center;
  font-size: clamp(17px, 1.25vw, 20px); line-height: 1.4; color: #f2ede1;
}
.hero-keys .hk::before {
  content: ""; flex: none; width: 11px; height: 11px; margin-right: 11px;
  background:
    linear-gradient(var(--hero-accent), var(--hero-accent)) center / 11px 1.5px no-repeat,
    linear-gradient(var(--hero-accent), var(--hero-accent)) center / 1.5px 11px no-repeat;
}
@media (max-width: 720px) { .hero-keys .hk { font-size: 17px; } }
.st-note { margin-top: 14px; font-size: 16.5px; line-height: 1.7; color: var(--muted-2); }
.plr-grid {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(16px, 1.8vw, 26px); margin: 0; padding: 0; list-style: none;
  align-items: stretch;
}
.plr-card {
  display: flex; flex-direction: column;
  padding: clamp(28px, 3vw, 40px) clamp(24px, 2.6vw, 34px) clamp(30px, 3.2vw, 42px);
  background: #fff; border: 1px solid var(--line); border-radius: var(--r-lg);
  box-shadow: 0 1px 2px rgba(18,18,17, .04), 0 14px 34px rgba(18,18,17, .07);
  transition: transform var(--dur), box-shadow var(--dur), border-color var(--dur);
}
.plr-card:hover {
  transform: translateY(-4px);
  border-color: rgba(192,147,33, .45);
  box-shadow: 0 2px 4px rgba(18,18,17, .05), 0 22px 48px rgba(192,147,33, .13);
}
.plr-ico {
  display: inline-flex; align-items: center; justify-content: center; flex: none;
  width: 62px; height: 62px; border-radius: 16px;
  background: var(--blue-l); color: var(--blue);
  transition: background-color var(--dur), color var(--dur);
}
.plr-card:hover .plr-ico { background: var(--blue); color: #fff; }
.plr-name {
  margin-top: 22px;
  font-family: var(--font-display); font-weight: 800;
  font-size: clamp(21px, 1.8vw, 25px); letter-spacing: -.02em; color: var(--ink);
}
.plr-desc {
  margin-top: 12px; font-size: 18.5px; line-height: 1.8; color: var(--ink-2);
  overflow-wrap: normal; word-break: keep-all;
}
@media (max-width: 900px) {
  .plr-grid { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  .plr-card { padding: 26px 22px 28px; }
  .plr-ico { width: 54px; height: 54px; border-radius: 14px; }
  .plr-name { margin-top: 18px; }
}
.plr-card { position: relative; overflow: hidden; }
.plr-card::after {
  content: "0" counter(plr); counter-increment: plr;
  position: absolute; right: 18px; top: 6px;
  font-family: var(--font-hero); font-weight: 700; font-size: 89.8px; line-height: 1;
  letter-spacing: -.05em; color: rgba(21,20,19, .05);
  pointer-events: none;
}
.plr-grid { counter-reset: plr; }
.plr-card:hover::after { color: rgba(192,147,33, .08); }
.plr-ico { width: 80px; height: 80px; border-radius: 20px; }
.plr-ico .ico { width: 38px; height: 38px; }
.plr-name { margin-top: 26px; font-size: clamp(22px, 2vw, 27px); }
@media (max-width: 900px) {
  .plr-ico { width: 62px; height: 62px; border-radius: 16px; }
  .plr-ico .ico { width: 30px; height: 30px; }
  .plr-card::after { font-size: 65.3px; }
}
.sec-solution { position: relative; overflow: hidden; }
.prc-track { position: relative; --prc-g: clamp(14px, 1.6vw, 24px); }
.prc-rail {
  position: absolute; z-index: 0; height: 2px; top: 26px;
  --prc-g: clamp(14px, 1.6vw, 24px);
  left: calc((100% - (var(--prc-n) - 1) * var(--prc-g)) / var(--prc-n) / 2);
  right: calc((100% - (var(--prc-n) - 1) * var(--prc-g)) / var(--prc-n) / 2);
  background: rgba(255,255,255, .16);
}
.prc-fill {
  position: absolute; inset: 0; background: var(--blue-on-dark);
  transform: scaleX(0); transform-origin: left center;
  box-shadow: 0 0 12px rgba(236,197,97, .55);
}
.has-motion .prc-fill.rv { opacity: 1; transform: scaleX(0); transition: transform .9s var(--ease); }
.has-motion .prc-fill.rv.in { transform: scaleX(1); }
.prc-fill:not(.rv) { transform: scaleX(1); }   
.prc-grid {
  position: relative; z-index: 1;
  display: grid; grid-template-columns: repeat(var(--prc-n), minmax(0, 1fr));
  gap: var(--prc-g, clamp(14px, 1.6vw, 24px)); margin: 0; padding: 0; list-style: none;
}
.prc-card {
  display: flex; flex-direction: column; align-items: center; text-align: center;
  padding: 0 clamp(4px, .8vw, 12px) 26px;
  border-radius: var(--r-lg); border: 1px solid transparent;
  transition: transform var(--dur), border-color var(--dur), background-color var(--dur),
              opacity .7s var(--ease);
}
.prc-card:hover {
  transform: translateY(-4px);
  background: rgba(255,255,255, .05);
  border-color: rgba(236,197,97, .4);
}
.prc-node {
  display: inline-flex; align-items: center; justify-content: center;
  width: 52px; height: 52px; border-radius: 50%;
  background: var(--dark); border: 2px solid rgba(255,255,255, .3);
  font-family: var(--font-hero); font-weight: 700; font-size: 19px; color: #fff;
  transition: border-color var(--dur), background-color var(--dur), box-shadow var(--dur);
}
.prc-card:hover .prc-node {
  border-color: var(--blue-on-dark); background: var(--blue);
  box-shadow: 0 0 0 6px rgba(236,197,97, .16);
}
.prc-step {
  margin-top: 20px;
  font-family: var(--font-hero); font-size: 14.5px; font-weight: 700;
  letter-spacing: .2em; color: var(--blue-on-dark);
}
.prc-name {
  margin-top: 8px;
  font-family: var(--font-display); font-weight: 800;
  font-size: clamp(20px, 1.7vw, 24px); letter-spacing: -.02em; color: #fff;
}
.prc-desc {
  margin-top: 11px; max-width: 30ch;
  font-size: 17.5px; line-height: 1.75; color: #cfc6ae;
  overflow-wrap: normal; word-break: keep-all;
}
@media (max-width: 860px) {
  .prc-rail {
    top: calc(52px / 2); bottom: 26px; left: 25px; right: auto; height: auto; width: 2px;
  }
  .has-motion .prc-fill.rv { transform: scaleY(0); transform-origin: top center; }
  .has-motion .prc-fill.rv.in { transform: scaleY(1); }
  .prc-grid { grid-template-columns: minmax(0, 1fr); gap: 26px; }
  .prc-card {
    flex-direction: row; align-items: flex-start; text-align: left; gap: 0 18px;
    display: grid; grid-template-columns: 52px minmax(0, 1fr); padding: 0 0 4px;
  }
  .prc-card:hover { transform: none; background: none; border-color: transparent; }
  .prc-node { grid-row: span 3; }
  .prc-step { margin-top: 4px; }
  .prc-name { margin-top: 2px; }
  .prc-desc { max-width: none; margin-top: 8px; }
}
.sec-solution .sec-head { justify-items: center; text-align: center; }
.sec-solution .kicker { justify-self: center; }
.sec-solution .sec-title { justify-self: center; text-wrap: balance; }
.sec-solution .sec-sub { justify-self: center; }
.sec-network.sec-bg-dark { background: #11110f; }
.sec-network { position: relative; overflow: hidden; }
.sec-network::before {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background:
    linear-gradient(rgba(255,255,255, .04) 1px, transparent 1px) 0 0 / 100% 56px,
    linear-gradient(90deg, rgba(255,255,255, .04) 1px, transparent 1px) 0 0 / 56px 100%;
  mask-image: radial-gradient(80% 90% at 70% 40%, #000 30%, transparent 100%);
  -webkit-mask-image: radial-gradient(80% 90% at 70% 40%, #000 30%, transparent 100%);
}
.sec-network .wrap { position: relative; z-index: 1; }
.nfr-grid {
  display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
  gap: clamp(34px, 4.5vw, 76px); align-items: center;
}
.nfr-desc {
  max-width: 34ch; font-size: clamp(18.5px, 1.4vw, 21px); line-height: 1.85;
  color: #e1dac9; overflow-wrap: normal; word-break: keep-all;
}
.nfr-facts {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0; margin: clamp(30px, 3.4vw, 46px) 0 0;
  border-top: 1px solid rgba(255,255,255, .18);
}
.nfr-fact { padding: clamp(20px, 2.2vw, 28px) clamp(16px, 1.8vw, 26px) 0 0; }
.nfr-fact + .nfr-fact { padding-left: clamp(16px, 1.8vw, 26px); border-left: 1px solid rgba(255,255,255, .14); }
.nfr-num {
  font-family: var(--font-hero); font-weight: 700;
  font-size: clamp(34.7px, 3.6vw, 57.1px); line-height: 1.05; letter-spacing: -.035em;
  color: #fff; font-variant-numeric: tabular-nums; overflow-wrap: normal;
}
.nfr-lab { margin: 9px 0 0; font-size: 16.5px; line-height: 1.55; color: var(--muted-on-dark); }
.nfr-map {
  position: relative; margin: 0; aspect-ratio: 10 / 11.5;
  border: 1px solid rgba(255,255,255, .12); border-radius: 20px;
  background:
    radial-gradient(60% 60% at 62% 62%, rgba(192,147,33, .18), rgba(192,147,33, 0) 70%),
    linear-gradient(rgba(255,255,255, .05) 1px, transparent 1px) 0 0 / 100% 44px,
    linear-gradient(90deg, rgba(255,255,255, .05) 1px, transparent 1px) 0 0 / 44px 100%;
}
.nfr-dot { position: absolute; width: 9px; height: 9px; margin: -4.5px 0 0 -4.5px; }
.nfr-dot::before {
  content: ""; position: absolute; inset: 0; border-radius: 50%;
  background: var(--blue-on-dark); box-shadow: 0 0 8px rgba(236,197,97, .8);
}
.nfr-dot::after {
  content: ""; position: absolute; inset: -7px; border-radius: 50%;
  border: 1.5px solid rgba(236,197,97, .7);
  opacity: 0; transform: scale(.55);
}
.has-motion .nfr-dot::after { animation: nfr-ping 3.2s var(--pd, 0s) ease-out infinite; }
@keyframes nfr-ping {
  0%   { opacity: .9; transform: scale(.55); }
  55%  { opacity: 0;  transform: scale(2); }
  100% { opacity: 0;  transform: scale(2); }
}
@media (prefers-reduced-motion: reduce) { .nfr-dot::after { animation: none !important; } }
.nfr-tag {
  position: absolute; left: 13px; top: -5px;
  font-style: normal; font-family: var(--font-hero); font-size: 14px; font-weight: 700;
  letter-spacing: .06em; color: rgba(248,244,235, .85); white-space: nowrap;
}
.nfr-areas {
  display: flex; flex-wrap: wrap; gap: 7px;
  margin: clamp(30px, 3.4vw, 44px) 0 0; padding: 0; list-style: none;
}
.nfr-areas a, .nfr-areas span {
  display: inline-flex; padding: 8px 14px; border-radius: 999px;
  border: 1px solid rgba(255,255,255, .16); background: rgba(255,255,255, .05);
  font-size: 16.5px; font-weight: 700; color: #f2ede1;
  transition: border-color var(--dur), background-color var(--dur), color var(--dur);
}
.nfr-areas a:hover { border-color: var(--blue-on-dark); background: rgba(236,197,97, .14); color: #fff; }
.nfr-note { margin-top: 14px; font-size: 16px; color: var(--muted-on-dark); }
@media (max-width: 900px) {
  .nfr-grid { grid-template-columns: minmax(0, 1fr); gap: 30px; }
  .nfr-desc { max-width: none; }
  .nfr-map { max-width: 420px; }
  .nfr-num { font-size: clamp(32px, 8vw, 40.8px); }
}
.nfr-land { position: absolute; inset: 6% 5%; width: 90%; height: 88%; }
.nfr-land-p {
  fill: rgba(236,197,97, .07);
  stroke: rgba(225,204,150, .38); stroke-width: 1; stroke-linejoin: round;
}
.nfr-map-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; opacity: .9; }
.pt-core { fill: var(--blue-on-dark); }
.pt-ping {
  fill: none; stroke: rgba(236,197,97, .75); stroke-width: 1;
  opacity: 0; transform: scale(.5);
  transform-box: fill-box; transform-origin: center;
}
.has-motion .pt-ping { animation: nfr-ping 3.2s var(--pd, 0s) ease-out infinite; }
.pt-tag {
  fill: rgba(248,244,235, .85);
  font-family: var(--font-hero); font-size: 4.1px; font-weight: 700; letter-spacing: .03em;
  paint-order: stroke; stroke: rgba(17,17,15, .85); stroke-width: 1.6px;   
}
.sec-network .sec-head { margin-bottom: clamp(28px, 3.4vw, 46px); }
.nfr-grid { align-items: stretch; gap: clamp(34px, 4.5vw, 90px); }
.nfr-copy { display: flex; flex-direction: column; }
.nfr-desc { max-width: 38ch; }
.nfr-facts { display: block; margin-top: clamp(28px, 3.2vw, 44px); border-top: 0; }
.nfr-fact {
  display: flex; align-items: baseline; gap: clamp(16px, 1.8vw, 26px);
  padding: clamp(18px, 2vw, 26px) 0; border-top: 1px solid rgba(255,255,255, .14);
}
.nfr-fact + .nfr-fact { padding-left: 0; border-left: 0; }
.nfr-fact:last-child { padding-bottom: 0; }
.nfr-num { font-size: clamp(44.9px, 5vw, 77.5px); min-width: 4.2ch; }
.nfr-lab { margin: 0; font-size: 17.5px; color: var(--muted-on-dark); }
.nfr-fact:last-child .nfr-num {
  color: var(--blue-on-dark);
  text-shadow: 0 0 34px rgba(236,197,97, .45);
}
.nfr-map { border: 0; border-radius: 0; background: radial-gradient(55% 55% at 55% 55%, rgba(192,147,33, .16), rgba(192,147,33, 0) 72%); }
.nfr-land { position: absolute; inset: 0; width: 100%; height: 100%; }
.nfr-land-p { fill: rgba(236,197,97, .08); stroke: rgba(230,210,160, .5); stroke-width: .9; }
@media (max-width: 900px) {
  .nfr-facts { margin-top: 26px; }
  .nfr-num { font-size: clamp(36.7px, 9.6vw, 49px); }
  .nfr-map { width: 100%; max-width: 380px; margin: 6px auto 0; }
}
.hist-list { border-top: 0; }
.hist-row {
  grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
  gap: clamp(18px, 3vw, 56px); align-items: center;
  padding: clamp(30px, 3.6vw, 52px) 0;
  border-top: 1px solid var(--line-2); border-bottom: 0;
}
.hist-row:last-child { border-bottom: 1px solid var(--line-2); }
.hist-year {
  font-family: var(--font-hero); font-weight: 700;
  font-size: clamp(59.2px, 8.4vw, 130.6px); line-height: .95; letter-spacing: -.04em;
  color: transparent;
  -webkit-text-stroke: 1.5px rgba(21,20,19, .28);
  overflow-wrap: normal; word-break: keep-all;
  transition: color var(--dur), -webkit-text-stroke-color var(--dur);
}
.hist-row:hover .hist-year {
  color: rgba(192,147,33, .1);
  -webkit-text-stroke-color: rgba(192,147,33, .6);
}
.hist-name { font-size: clamp(22px, 2vw, 29px); }
.hist-desc { margin-top: 12px; max-width: 52ch; }
@media (max-width: 860px) {
  .hist-row { grid-template-columns: minmax(0, 1fr); gap: 8px; padding: 26px 0 30px; align-items: start; }
  .hist-year { font-size: 46.9px; -webkit-text-stroke-width: 1px; }
  .hist-desc { max-width: none; }
}
.sym-dl { display: flex; flex-direction: column; flex: 1 1 auto; }
.sym-dl dd:not(.sym-action) { margin-bottom: auto; padding-bottom: 14px; }
.sym-dl dt {
  display: flex; align-items: center; gap: 7px;
  font-size: 14.5px; font-weight: 800; letter-spacing: .14em; color: var(--muted-2);
}
.sym-dl dt::before { content: ""; width: 10px; height: 2px; background: var(--line-2); }
.sym-dl dd.sym-action { margin-top: 7px; }
.sym-dl dt:has(+ .sym-action)::before { background: var(--blue); }
.svc-tile-desc { min-height: 3.4em; }
.ftr-def {
  max-width: 640px; margin: 18px auto 0;
  font-size: 16px; line-height: 1.8; color: rgba(255,255,255, .55);
  overflow-wrap: normal; word-break: keep-all;
}
@media (max-width: 860px) {
  .hist-row {
    grid-template-columns: minmax(64px, auto) minmax(0, 1fr);
    gap: 2px 16px; align-items: start; padding: 24px 0;
  }
  .hist-year {
    font-size: 29px; line-height: 1.3; letter-spacing: -.02em;
    -webkit-text-stroke-width: 0;
    color: rgba(192,147,33, .45);
    -webkit-text-fill-color: rgba(192,147,33, .45);   
  }
  .hist-row:hover .hist-year { color: rgba(192,147,33, .45); -webkit-text-stroke: 0; }
  .hist-name { font-size: 20.5px; line-height: 1.45; }
  .hist-desc { margin-top: 8px; font-size: 17.5px; }
}
.idn-panel.has-feed .idn-feed { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.idn-panel.has-feed .idn-scope {
  background:
    radial-gradient(56% 56% at 50% 50%, rgba(192,147,33, .26), rgba(11,11,10, .5) 64%, rgba(11,11,10, .84) 100%);
}
.idn-panel.has-feed .idn-bar { background: rgba(13,12,11, .74); }
.idn-panel.has-feed .sc-tick { stroke: rgba(255,255,255, .46); }
.idn-panel.has-feed .sc-cross path { stroke: rgba(243,221,162, .82); stroke-width: 2; }
.idn-panel.has-feed .sc-dot { fill: #FFFFFF; }
.idn-panel.has-feed .idn-scan { width: min(86%, 430px); }
.sec-gear.sec-bg-dark { background: #11110f; }
.sec-gear .gr-shot {
  position: relative; margin: 0 0 clamp(30px, 3.6vw, 52px);
  aspect-ratio: 16 / 6; overflow: hidden; border-radius: 20px;
  box-shadow: inset 0 0 0 1px rgba(255,255,255, .1);
}
.sec-gear .gr-shot img { width: 100%; height: 100%; object-fit: cover; display: block; }
.sec-gear .gr-shot figcaption {
  position: absolute; left: 0; right: 0; bottom: 0;
  padding: 44px clamp(20px, 2.4vw, 34px) clamp(16px, 1.8vw, 24px);
  font-size: 17px; line-height: 1.6; color: rgba(248,244,235, .92);
  background: linear-gradient(rgba(11,11,10, 0), rgba(11,11,10, .88));
  overflow-wrap: normal; word-break: keep-all;
}
.sec-gear .gr-list { list-style: none; margin: 0; padding: 0; }
.sec-gear .gr-row {
  display: grid;
  grid-template-columns: clamp(58px, 5.6vw, 104px) minmax(0, .72fr) minmax(0, 1.28fr);
  gap: 8px clamp(20px, 2.4vw, 42px); align-items: center;
  padding: clamp(26px, 2.8vw, 40px) 0;
  border-top: 1px solid rgba(255,255,255, .13);
  transition: border-color var(--dur) var(--ease);
}
.sec-gear .gr-row:last-child { border-bottom: 1px solid rgba(255,255,255, .13); }
.sec-gear .gr-row:hover { border-top-color: rgba(236,197,97, .5); }
.sec-gear .gr-no {
  grid-column: 1; font-family: var(--font-hero); font-variant-numeric: tabular-nums;
  font-size: clamp(32px, 3.4vw, 55.1px); font-weight: 800; line-height: 1;
  letter-spacing: -.03em; color: rgba(236,197,97, .5);
  transform: translateY(-.074em);
  transition: color var(--dur) var(--ease);
}
.sec-gear .gr-row:hover .gr-no { color: var(--blue-on-dark); }
.sec-gear .gr-name {
  grid-column: 2; margin: 0; font-size: clamp(23px, 2.1vw, 33.7px); font-weight: 800;
  line-height: 1.24; letter-spacing: -.028em; color: #f8f4eb;
  overflow-wrap: normal; word-break: keep-all;
}
.sec-gear .gr-use {
  grid-column: 3; margin: 0;
  font-size: clamp(17.5px, 1.15vw, 19.5px); line-height: 1.8; color: #dad2bd;
  overflow-wrap: normal; word-break: keep-all;
}
.sec-gear .gr-thumb {
  grid-column: 1; margin: 0; aspect-ratio: 4 / 3; overflow: hidden;
  border-radius: 12px; background: rgba(255,255,255, .05);
}
.sec-gear .gr-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.sec-gear .gr-row.has-img { grid-template-columns: clamp(112px, 11vw, 156px) minmax(0, .84fr) minmax(0, 1.16fr); align-items: center; }
.sec-gear .gr-row.has-img .gr-no { grid-column: 2; grid-row: 1; font-size: 16px; letter-spacing: .14em; }
.sec-gear .gr-row.has-img .gr-name { grid-column: 2; grid-row: 2; }
.sec-gear .gr-row.has-img .gr-use { grid-column: 3; grid-row: 1 / 3; }
.sec-gear .gr-note { margin-top: 26px; font-size: 17px; color: var(--muted-on-dark); }
@media (max-width: 860px) {
  .sec-gear .gr-shot { aspect-ratio: 16 / 9; border-radius: 16px; }
  .sec-gear .gr-shot figcaption { padding: 34px 18px 16px; font-size: 16px; }
  .sec-gear .gr-row,
  .sec-gear .gr-row.has-img { grid-template-columns: minmax(0, 1fr); gap: 6px; padding: 22px 0; align-items: start; }
  .sec-gear .gr-row .gr-no,
  .sec-gear .gr-row .gr-name,
  .sec-gear .gr-row .gr-use,
  .sec-gear .gr-row.has-img .gr-no,
  .sec-gear .gr-row.has-img .gr-name,
  .sec-gear .gr-row.has-img .gr-use,
  .sec-gear .gr-row.has-img .gr-thumb { grid-column: 1; grid-row: auto; }
  .sec-gear .gr-row.has-img .gr-thumb { max-width: 168px; margin-bottom: 12px; }
  .sec-gear .gr-no { font-size: 17px; letter-spacing: .14em; color: var(--blue-on-dark); }
  .sec-gear .gr-name { font-size: 23px; }
  .sec-gear .gr-use { margin-top: 6px; font-size: 17.5px; }
}
.sec-servicecards.svc-mode-list .svc-rows {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(12px, 1.1vw, 16px); border-top: 0;
}
.sec-servicecards.svc-mode-list .svc-row { border-bottom: 0; }
.sec-servicecards.svc-mode-list .svc-row:first-child { grid-column: 1 / -1; }
.sec-servicecards.svc-mode-list .svc-row-in {
  position: relative; overflow: hidden;
  display: flex; flex-direction: row; align-items: center; justify-content: space-between;
  gap: clamp(14px, 1.6vw, 24px); height: 100%;
  min-height: clamp(104px, 8.6vw, 132px);
  padding: clamp(20px, 2vw, 30px) clamp(20px, 2vw, 32px);
  border-radius: 18px; background: var(--paper); color: inherit;
  transition: background-color var(--dur) var(--ease), transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
}
.sec-servicecards.svc-mode-list .svc-row-in::before {
  content: ""; position: absolute; left: 0; right: 0; top: 0; height: 3px;
  background: var(--blue); transform: scaleX(0); transform-origin: left center;
  transition: transform .45s var(--ease);
}
.sec-servicecards.svc-mode-list .svc-row:first-child .svc-row-in {
  min-height: clamp(132px, 11vw, 174px); background: var(--blue-l);
}
.sec-servicecards.svc-mode-list a.svc-row-in:hover {
  background: var(--white); transform: translateY(-4px);
  box-shadow: 0 2px 6px rgba(16,16,15, .06), 0 22px 46px rgba(16,16,15, .13);
  padding-left: clamp(20px, 2vw, 32px);   
}
.sec-servicecards.svc-mode-list a.svc-row-in:hover::before { transform: scaleX(1); }
.sec-servicecards.svc-mode-list .svc-row-ico,
.sec-servicecards.svc-mode-list .svc-row-desc { display: none; }
.sec-servicecards.svc-mode-list .svc-row-body { display: block; min-width: 0; }
.sec-servicecards.svc-mode-list .svc-row-name {
  margin: 0; font-size: clamp(23px, 2vw, 32px); font-weight: 800;
  line-height: 1.26; letter-spacing: -.03em; color: var(--ink);
  overflow-wrap: normal; word-break: keep-all;
  transition: color var(--dur) var(--ease);
}
.sec-servicecards.svc-mode-list .svc-row:first-child .svc-row-name { font-size: clamp(28px, 2.9vw, 42.8px); }
.sec-servicecards.svc-mode-list .svc-row-price { margin-top: 6px; font-size: 17px; color: var(--muted); }
.sec-servicecards.svc-mode-list .svc-row-go {
  flex: none; width: 46px; height: 46px;
  background: var(--white); border-color: var(--line-2); color: var(--ink);
}
.sec-servicecards.svc-mode-list .svc-row:first-child .svc-row-go { width: 54px; height: 54px; }
.sec-servicecards.svc-mode-list a.svc-row-in:hover .svc-row-name { color: var(--blue); }
.sec-servicecards.svc-mode-list a.svc-row-in:hover .svc-row-go {
  background: var(--blue); border-color: var(--blue); color: #fff; transform: translateX(4px);
}
.sec-servicecards.svc-mode-list.sec-bg-dark .svc-row-in { background: rgba(255,255,255, .05); }
.sec-servicecards.svc-mode-list.sec-bg-dark .svc-row:first-child .svc-row-in { background: rgba(236,197,97, .12); }
.sec-servicecards.svc-mode-list.sec-bg-dark .svc-row-name { color: #f8f4eb; }
.sec-servicecards.svc-mode-list.sec-bg-dark .svc-row-go { background: transparent; border-color: rgba(255,255,255, .24); color: #fff; }
.sec-servicecards.svc-mode-list.sec-bg-dark a.svc-row-in:hover { background: rgba(255,255,255, .1); }
.sec-servicecards.svc-mode-list.sec-bg-dark a.svc-row-in:hover .svc-row-name { color: #fff; }
@media (max-width: 560px) {
  .sec-servicecards.svc-mode-list .svc-rows { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  .sec-servicecards.svc-mode-list .svc-row:first-child { grid-column: 1; }
  .sec-servicecards.svc-mode-list .svc-row-in,
  .sec-servicecards.svc-mode-list .svc-row:first-child .svc-row-in { min-height: 0; padding: 18px 18px; border-radius: 14px; }
  .sec-servicecards.svc-mode-list .svc-row-name,
  .sec-servicecards.svc-mode-list .svc-row:first-child .svc-row-name { font-size: 21px; }
  .sec-servicecards.svc-mode-list .svc-row-go,
  .sec-servicecards.svc-mode-list .svc-row:first-child .svc-row-go { width: 38px; height: 38px; }
}
.anim-idle .cli-track,
.anim-idle .rev-track,
.anim-idle .pt-ping,
.anim-idle .fl-dash,
.anim-idle .pb-flowline,
.anim-idle .sc-sweep,
.anim-idle .hero-dot::after,
.anim-idle .hero-scroll::after { animation-play-state: paused; }
.sec-worksites .ws-acc { border-top: 1px solid var(--line-2); }
.sec-worksites .ws-item { border-bottom: 1px solid var(--line-2); }
.sec-worksites .ws-h { margin: 0; }
.sec-worksites .ws-btn {
  display: grid; grid-template-columns: auto minmax(0, 1fr) auto;
  gap: clamp(16px, 2vw, 34px); align-items: center; width: 100%;
  padding: clamp(22px, 2.4vw, 34px) 0; border: 0; background: none; cursor: pointer;
  font: inherit; text-align: left; color: inherit;
}
.sec-worksites .ws-no {
  font-family: var(--font-hero); font-variant-numeric: tabular-nums;
  font-size: clamp(17px, 1.3vw, 21px); font-weight: 800; letter-spacing: .1em;
  color: var(--muted-2); transition: color var(--dur) var(--ease);
}
.sec-worksites .ws-name {
  font-size: clamp(25px, 2.6vw, 40.8px); font-weight: 800;
  line-height: 1.2; letter-spacing: -.035em; color: var(--ink);
  overflow-wrap: normal; word-break: keep-all;
  transition: color var(--dur) var(--ease);
}
.sec-worksites .ws-mark {
  position: relative; flex: none; width: clamp(38px, 3.4vw, 50px); aspect-ratio: 1;
  border-radius: 50%; box-shadow: inset 0 0 0 1px var(--line-2);
  transition: background-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
}
.sec-worksites .ws-mark::before,
.sec-worksites .ws-mark::after {
  content: ""; position: absolute; left: 50%; top: 50%; width: 15px; height: 2px;
  background: var(--ink); translate: -50% -50%;
  transition: transform .35s var(--ease), background-color var(--dur) var(--ease);
}
.sec-worksites .ws-mark::after { transform: rotate(90deg); }
.sec-worksites .ws-item.is-open .ws-mark { background: var(--blue); box-shadow: inset 0 0 0 1px var(--blue); }
.sec-worksites .ws-item.is-open .ws-mark::before,
.sec-worksites .ws-item.is-open .ws-mark::after { background: #FFFFFF; }
.sec-worksites .ws-item.is-open .ws-mark::after { transform: rotate(0deg); }
.sec-worksites .ws-item.is-open .ws-no { color: var(--blue); }
.sec-worksites .ws-btn:hover .ws-name { color: var(--blue); }
.sec-worksites .ws-panel { display: grid; grid-template-rows: 1fr; transition: grid-template-rows .42s var(--ease); }
.sec-worksites .ws-item:not(.is-open) .ws-panel { grid-template-rows: 0fr; }
.sec-worksites .ws-panel-in {
  overflow: hidden; display: grid; grid-template-columns: minmax(0, 1fr);
  gap: clamp(18px, 2vw, 32px); align-items: start;
}
.sec-worksites .ws-item.has-img .ws-panel-in { grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); }
.sec-worksites .ws-desc {
  margin: 0 0 clamp(24px, 2.6vw, 38px);
  max-width: 62ch; font-size: clamp(18px, 1.2vw, 20px); line-height: 1.85; color: var(--ink-2);
  overflow-wrap: normal; word-break: keep-all;
  opacity: 1; transition: opacity .35s var(--ease) .08s;
}
.sec-worksites .ws-item:not(.is-open) .ws-desc { opacity: 0; transition-delay: 0s; }
.sec-worksites .ws-shot { margin: 0 0 clamp(24px, 2.6vw, 38px); aspect-ratio: 16 / 10; overflow: hidden; border-radius: 14px; }
.sec-worksites .ws-shot img { width: 100%; height: 100%; object-fit: cover; display: block; }
.sec-worksites .ws-note { margin-top: 26px; font-size: 17px; color: var(--muted-2); }
.sec-worksites.sec-bg-dark .ws-acc,
.sec-worksites.sec-bg-dark .ws-item { border-color: rgba(255,255,255, .14); }
.sec-worksites.sec-bg-dark .ws-name { color: #f8f4eb; }
.sec-worksites.sec-bg-dark .ws-desc { color: #dad2bd; }
.sec-worksites.sec-bg-dark .ws-no { color: var(--muted-on-dark); }
.sec-worksites.sec-bg-dark .ws-mark { box-shadow: inset 0 0 0 1px rgba(255,255,255, .24); }
.sec-worksites.sec-bg-dark .ws-mark::before,
.sec-worksites.sec-bg-dark .ws-mark::after { background: #FFFFFF; }
@media (max-width: 780px) {
  .sec-worksites .ws-btn { gap: 12px; padding: 18px 0; }
  .sec-worksites .ws-name { font-size: 22px; }
  .sec-worksites .ws-item.has-img .ws-panel-in { grid-template-columns: minmax(0, 1fr); }
  .sec-worksites .ws-desc { font-size: 17.5px; margin-bottom: 20px; }
  .sec-worksites .ws-shot { margin-bottom: 20px; }
}
@media (prefers-reduced-motion: reduce) {
  .sec-worksites .ws-panel,
  .sec-worksites .ws-desc,
  .sec-worksites .ws-mark::before,
  .sec-worksites .ws-mark::after { transition: none; }
}
.hdr { background: rgba(255,255,255, .97); -webkit-backdrop-filter: none; backdrop-filter: none; }
.is-home .hdr { background: transparent; -webkit-backdrop-filter: none; backdrop-filter: none; }
.is-home .hdr.scrolled { background: rgba(255,255,255, .985); -webkit-backdrop-filter: none; backdrop-filter: none; }
.hero-console {
  -webkit-backdrop-filter: none; backdrop-filter: none;
  background: linear-gradient(155deg, rgba(36,35,32, .82) 0%, rgba(25,25,23, .78) 44%, rgba(19,18,17, .76) 100%);
}
.hero-chip,
.hero-btns .btn-ghost { -webkit-backdrop-filter: none; backdrop-filter: none; background: rgba(28,27,25, .5); }
.hero-img, .hero-video { filter: none; }
.bn-figure {
  position: absolute; z-index: 1; margin: 0; pointer-events: none;
  top: clamp(24px, 3vw, 46px); bottom: calc(-1 * clamp(40px, 6vw, 96px));
  aspect-ratio: 760 / 1239;
  right: calc((100% - min(var(--wrap), 100%)) / 2 + 280px - min(var(--wrap), 100%) * .06);
  transform: translateX(50%);
  background: radial-gradient(44% 38% at 50% 44%, rgba(236,197,97, .16), rgba(236,197,97, 0) 72%);
}
.bn-figure img {
  width: 100%; height: 100%; object-fit: contain; object-position: top center;
  filter: drop-shadow(-14px 16px 30px rgba(0,0,0, .42));
}
.sec-banner.has-figure .bn-crumb,
.sec-banner.has-figure .bn-head,
.sec-banner.has-figure .bn-meta { position: relative; z-index: 2; max-width: min(700px, 64%); }
@media (max-width: 1100px) {
  .bn-figure { top: clamp(20px, 2.6vw, 34px); bottom: -34px; }
  .sec-banner.has-figure .bn-crumb,
  .sec-banner.has-figure .bn-head,
  .sec-banner.has-figure .bn-meta { max-width: min(560px, 60%); }
}
@media (max-width: 760px) {
  .bn-figure { display: none; }
  .sec-banner.has-figure .bn-crumb,
  .sec-banner.has-figure .bn-head,
  .sec-banner.has-figure .bn-meta { max-width: 100%; }
}
.sec-ctaband .cb-call-l {
  gap: 10px; font-size: clamp(18px, 1.3vw, 21px); font-weight: 800;
  letter-spacing: -.01em; color: var(--ink);
}
.sec-ctaband .cb-call-pts {
  margin-top: 7px; font-size: clamp(17px, 1.2vw, 19.5px); line-height: 1.62;
  font-weight: 600; color: var(--ink-2);
}
.sec-ctaband .cb-call-l .ico { color: var(--blue); }
.sec-ctaband.has-bg .cb-call-l,
.sec-ctaband.sec-bg-dark .cb-call-l { color: #FFFFFF; }
.sec-ctaband.has-bg .cb-call-pts,
.sec-ctaband.sec-bg-dark .cb-call-pts { color: #e7e0ce; }
.sec-ctaband.has-bg .cb-call-l .ico,
.sec-ctaband.sec-bg-dark .cb-call-l .ico { color: var(--blue-on-dark); }
.sec-ctaband .cb-sub { max-width: none; }
@media (min-width: 1100px) {
  .sec-ctaband .cb-sub { white-space: nowrap; }
}
.sec-causes .cz-list { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--line-2); }
.sec-causes .cz-row {
  display: grid; grid-template-columns: auto minmax(0, .92fr) minmax(0, 1.08fr);
  gap: clamp(16px, 2.2vw, 40px); align-items: start;
  padding: clamp(24px, 2.6vw, 38px) 0; border-bottom: 1px solid var(--line);
}
.sec-causes .cz-no {
  font-family: var(--font-hero); font-variant-numeric: tabular-nums;
  font-size: clamp(26px, 2.6vw, 40.8px); font-weight: 800; line-height: 1;
  letter-spacing: -.03em; color: rgba(192,147,33, .34);
}
.sec-causes .cz-name {
  margin: 0; font-size: clamp(21px, 1.8vw, 28px); font-weight: 800;
  line-height: 1.28; letter-spacing: -.028em; color: var(--ink);
  overflow-wrap: normal; word-break: keep-all;
}
.sec-causes .cz-why {
  margin: 10px 0 0; font-size: 17.5px; line-height: 1.76; color: var(--muted);
  overflow-wrap: normal; word-break: keep-all;
}
.sec-causes .cz-do { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(12px, 1.4vw, 22px); margin: 0; }
.sec-causes .cz-cell { padding: clamp(14px, 1.4vw, 20px); border-radius: 12px; background: var(--paper); }
.sec-causes .cz-cell.is-fix { background: var(--blue-l); }
.sec-causes .cz-cell dt {
  display: flex; align-items: center; gap: 7px;
  font-size: 14.5px; font-weight: 800; letter-spacing: .12em; color: var(--muted-2);
}
.sec-causes .cz-cell dt::before { content: ""; width: 10px; height: 2px; background: var(--line-2); }
.sec-causes .cz-cell.is-fix dt { color: var(--blue-d); }
.sec-causes .cz-cell.is-fix dt::before { background: var(--blue); }
.sec-causes .cz-cell dd {
  margin: 8px 0 0; font-size: 17px; line-height: 1.7; color: var(--ink-2);
  overflow-wrap: normal; word-break: keep-all;
}
.sec-causes .cz-note { margin-top: 26px; font-size: 17px; color: var(--muted-2); }
.sec-causes.sec-bg-dark .cz-list,
.sec-causes.sec-bg-dark .cz-row { border-color: rgba(255,255,255, .14); }
.sec-causes.sec-bg-dark .cz-name { color: #f8f4eb; }
.sec-causes.sec-bg-dark .cz-why { color: #dad2bd; }
.sec-causes.sec-bg-dark .cz-cell { background: rgba(255,255,255, .06); }
.sec-causes.sec-bg-dark .cz-cell.is-fix { background: rgba(236,197,97, .14); }
.sec-causes.sec-bg-dark .cz-cell dd { color: #e7e0ce; }
.sec-causes.sec-bg-dark .cz-cell.is-fix dt { color: var(--blue-on-dark); }
@media (max-width: 900px) {
  .sec-causes .cz-row { grid-template-columns: auto minmax(0, 1fr); gap: 10px 14px; padding: 22px 0; }
  .sec-causes .cz-no { font-size: 24px; }
  .sec-causes .cz-do { grid-column: 1 / -1; grid-template-columns: minmax(0, 1fr); gap: 10px; margin-top: 4px; }
  .sec-causes .cz-name { font-size: 21px; }
}
.sec-causes .cz-cell.is-link { transition: background-color var(--dur) var(--ease), transform var(--dur) var(--ease); }
.sec-causes .cz-cell.is-link:hover { background: var(--blue); transform: translateY(-2px); }
.sec-causes .cz-cell.is-link:hover dt { color: rgba(255,255,255, .78); }
.sec-causes .cz-cell.is-link:hover dt::before { background: rgba(255,255,255, .78); }
.sec-causes .cz-cell.is-link a { display: inline-flex; align-items: center; gap: 7px; font-weight: 800; color: var(--blue-d); }
.sec-causes .cz-cell.is-link:hover a { color: #FFFFFF; }
.sec-causes .cz-cell.is-link a .ico { transition: transform var(--dur); }
.sec-causes .cz-cell.is-link:hover a .ico { transform: translateX(3px); }
.sec-statement.has-claim .st-wrap {
  display: grid; grid-template-columns: minmax(0, 1fr);
  column-gap: clamp(32px, 4.4vw, 76px); row-gap: clamp(30px, 3.4vw, 52px);
  align-items: start;
}
.sec-statement.has-claim:has(.st-shot) .st-wrap { grid-template-columns: minmax(0, 1.06fr) minmax(0, .94fr); }
.sec-statement.has-claim .st-lead { max-width: none; padding-left: 0; margin: 0; }
.sec-statement.has-claim .st-lead::before { content: none; }
.sec-statement.has-claim:has(.st-shot) .st-lead,
.sec-statement.has-claim:has(.st-shot) .st-body { grid-column: 1; }
.sec-statement.has-claim .st-shot { grid-column: 2; grid-row: 1 / span 2; margin: 0; }
.sec-statement.has-claim .st-facts { grid-column: 1 / -1; }
.sec-statement.has-claim .st-kicker {
  display: inline-flex; align-items: center; gap: 13px; margin-bottom: 16px;
  font-size: 16px; font-weight: 800; letter-spacing: .16em; color: var(--blue);
}
.sec-statement.has-claim .st-claim {
  margin: 0; max-width: min(20ch, 100%);
  font-family: var(--font-display); font-weight: 700;
  font-size: clamp(32px, 3.8vw, 55.1px); line-height: 1.2; letter-spacing: -.035em;
  color: var(--ink); text-wrap: balance;
  overflow-wrap: normal; word-break: keep-all;
}
.sec-statement.has-claim .st-claim .gtext {
  font-style: normal; color: var(--blue); background: none; text-decoration: none; border-bottom: 0;
}
.sec-statement.has-claim .st-text {
  margin: 0; max-width: 52ch;
  font-size: clamp(18px, 1.2vw, 20px); line-height: 1.86; color: var(--ink-2);
}
.sec-statement.has-claim .st-note { margin: 14px 0 0; font-size: 17px; line-height: 1.7; color: var(--muted-2); }
.sec-statement.has-claim .st-shot {
  align-self: stretch; min-height: clamp(240px, 26vw, 380px);
  overflow: hidden; border-radius: 20px; background: var(--paper);
}
.sec-statement.has-claim .st-shot img { width: 100%; height: 100%; object-fit: cover; display: block; }
.sec-statement.has-claim .st-facts {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0;
  margin: 0; padding: clamp(22px, 2.2vw, 32px) 0 0;
  background: none; border: 0; border-top: 1.5px solid var(--ink); border-radius: 0; box-shadow: none;
}
.sec-statement.has-claim .st-fact {
  display: grid; grid-template-columns: auto minmax(0, 1fr); column-gap: clamp(14px, 1.4vw, 22px);
  align-items: baseline; padding: 0 clamp(20px, 2vw, 34px) 0 0; border: 0;
}
.sec-statement.has-claim .st-fact + .st-fact { padding-left: clamp(20px, 2vw, 34px); border-left: 1px solid var(--line); }
.sec-statement.has-claim .st-fact-no {
  font-family: var(--font-hero); font-variant-numeric: tabular-nums;
  font-size: 16px; font-weight: 800; letter-spacing: .12em; color: var(--blue);
}
.sec-statement.has-claim .st-fact-v {
  font-family: var(--font-hero); font-size: clamp(28px, 2.8vw, 40.8px); font-weight: 800;
  line-height: 1.15; letter-spacing: -.03em; color: var(--ink);
}
.sec-statement.has-claim .st-fact-l { grid-column: 2; margin: 6px 0 0; font-size: 17px; color: var(--muted); }
.sec-statement.has-claim.sec-bg-dark .st-claim,
.sec-statement.has-claim.sec-bg-dark .st-fact-v { color: #f8f4eb; }
.sec-statement.has-claim.sec-bg-dark .st-text { color: #e1dac9; }
.sec-statement.has-claim.sec-bg-dark .st-claim .gtext,
.sec-statement.has-claim.sec-bg-dark .st-fact-no { color: var(--blue-on-dark); }
.sec-statement.has-claim.sec-bg-dark .st-facts { border-top-color: rgba(255,255,255, .35); }
.sec-statement.has-claim.sec-bg-dark .st-fact + .st-fact { border-left-color: rgba(255,255,255, .14); }
.sec-statement.has-claim.sec-bg-dark .st-fact-l { color: var(--muted-on-dark); }
.sec-statement.has-claim.sec-bg-dark .st-shot { background: rgba(255,255,255, .05); }
@media (max-width: 900px) {
  .sec-statement.has-claim .st-wrap,
  .sec-statement.has-claim:has(.st-shot) .st-wrap { grid-template-columns: minmax(0, 1fr); row-gap: 22px; }
  .sec-statement.has-claim .st-shot,
  .sec-statement.has-claim:has(.st-shot) .st-lead,
  .sec-statement.has-claim:has(.st-shot) .st-body { grid-column: 1; grid-row: auto; }
  .sec-statement.has-claim .st-shot { min-height: 0; aspect-ratio: 16 / 10; }
  .sec-statement.has-claim .st-claim { font-size: clamp(27px, 6.8vw, 32.6px); max-width: none; }
  .sec-statement.has-claim .st-text { max-width: none; }
}
@media (max-width: 560px) {
  .sec-statement.has-claim .st-facts { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  .sec-statement.has-claim .st-fact + .st-fact { padding-left: 0; padding-top: 18px; border-left: 0; border-top: 1px solid var(--line); }
}
.sec-statement.has-claim .st-fact-no {
  font-size: clamp(34.7px, 3.6vw, 57.1px); font-weight: 800; line-height: 1;
  letter-spacing: -.03em; color: rgba(192,147,33, .3);
}
.sec-statement.has-claim.sec-bg-dark .st-fact-no { color: rgba(236,197,97, .42); }
.sec-statement.has-claim:has(.st-shot) .st-wrap { grid-template-columns: minmax(0, 1.16fr) minmax(0, .84fr); }
.sec-statement.has-claim .st-shot { min-height: clamp(230px, 23vw, 340px); }
@media (max-width: 900px) {
  .sec-statement.has-claim .st-fact-no { font-size: 34.7px; }
}
.sec-statement.has-claim .st-wrap { grid-template-rows: auto auto; align-content: start; }
.sec-statement.has-claim .st-col {
  grid-column: 1; grid-row: 1;
  display: flex; flex-direction: column; gap: clamp(20px, 2.2vw, 30px);
}
.sec-statement.has-claim .st-lead,
.sec-statement.has-claim .st-body { grid-column: auto; grid-row: auto; margin: 0; }
.sec-statement.has-claim .st-shot { grid-column: 2; grid-row: 1; align-self: stretch; }
.sec-statement.has-claim .st-facts { grid-column: 1 / -1; grid-row: 2; }
.sec-statement.has-claim .st-facts { align-items: start; }
.sec-statement.has-claim .st-facts .st-fact {
  align-content: start; align-items: baseline;
  padding-top: 0; padding-bottom: 0;
}
.sec-statement.has-claim .st-facts .st-fact-l { align-self: start; }
@media (max-width: 900px) {
  .sec-statement.has-claim .st-col,
  .sec-statement.has-claim .st-shot,
  .sec-statement.has-claim .st-facts { grid-column: 1; grid-row: auto; }
}
@media (max-width: 900px) {
  .sec-statement.has-claim .st-wrap,
  .sec-statement.has-claim:has(.st-shot) .st-wrap {
    grid-template-columns: minmax(0, 1fr); grid-template-rows: none; row-gap: 24px;
  }
  .sec-statement.has-claim .st-col,
  .sec-statement.has-claim .st-shot,
  .sec-statement.has-claim .st-facts,
  .sec-statement.has-claim:has(.st-shot) .st-col,
  .sec-statement.has-claim:has(.st-shot) .st-shot { grid-column: 1; grid-row: auto; }
  .sec-statement.has-claim .st-shot { min-height: 0; aspect-ratio: 16 / 10; align-self: auto; }
  .sec-statement.has-claim .st-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
  .sec-statement.has-claim .st-facts { grid-template-columns: minmax(0, 1fr); gap: 18px; }
}
.sec-statement.has-claim .st-shot {
  align-self: stretch; height: 100%; min-height: 260px; aspect-ratio: auto;
}
.sec-statement.has-claim .st-wrap { align-items: stretch; }
.sec-statement.has-claim .st-facts { align-self: start; }
@media (max-width: 900px) {
  .sec-statement.has-claim .st-shot { height: auto; min-height: 0; aspect-ratio: 16 / 10; }
}
.sec-statement.has-claim .st-shot { position: relative; height: auto; min-height: 260px; }
.sec-statement.has-claim .st-shot img {
  position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover;
}
@media (max-width: 900px) {
  .sec-statement.has-claim .st-shot { aspect-ratio: 16 / 10; min-height: 0; }
}
.sec-statement.has-claim .st-facts {
  gap: clamp(12px, 1.2vw, 18px); padding: 0; border-top: 0;
}
.sec-statement.has-claim .st-facts .st-fact {
  position: relative; overflow: hidden;
  display: grid; grid-template-columns: minmax(0, 1fr); align-content: start;
  gap: 10px; padding: clamp(24px, 2.4vw, 36px) clamp(24px, 2.4vw, 34px);
  border: 0; border-radius: 20px; background: var(--paper);
}
.sec-statement.has-claim .st-facts .st-fact + .st-fact { padding-left: clamp(24px, 2.4vw, 34px); border-left: 0; }
.sec-statement.has-claim .st-facts .st-fact:last-child { background: var(--blue); }
.sec-statement.has-claim .st-facts .st-fact-l {
  grid-row: 1; grid-column: 1; margin: 0; order: 1;
  font-size: clamp(16px, 1.1vw, 18px); font-weight: 800; letter-spacing: .02em; color: var(--muted);
}
.sec-statement.has-claim .st-facts .st-fact-v {
  grid-row: 2; grid-column: 1; order: 2;
  font-family: var(--font-hero); font-size: clamp(38.8px, 4.4vw, 69.4px); font-weight: 800;
  line-height: 1.05; letter-spacing: -.045em; color: var(--ink);
}
.sec-statement.has-claim .st-facts .st-fact:last-child .st-fact-l { color: rgba(255,255,255, .82); }
.sec-statement.has-claim .st-facts .st-fact:last-child .st-fact-v { color: #FFFFFF; }
.sec-statement.has-claim .st-facts .st-fact-no {
  position: absolute; right: clamp(16px, 1.6vw, 26px); top: clamp(10px, 1vw, 16px);
  font-size: clamp(55.1px, 6vw, 97.9px); font-weight: 800; line-height: 1;
  letter-spacing: -.05em; color: rgba(21,20,19, .07); pointer-events: none;
}
.sec-statement.has-claim .st-facts .st-fact:last-child .st-fact-no { color: rgba(255,255,255, .18); }
.sec-statement.has-claim.sec-bg-dark .st-facts .st-fact { background: rgba(255,255,255, .06); }
.sec-statement.has-claim.sec-bg-dark .st-facts .st-fact-v { color: #f8f4eb; }
.sec-statement.has-claim.sec-bg-dark .st-facts .st-fact-l { color: var(--muted-on-dark); }
.sec-statement.has-claim.sec-bg-dark .st-facts .st-fact-no { color: rgba(255,255,255, .08); }
.sec-statement.has-claim.sec-bg-dark .st-facts .st-fact:last-child { background: var(--blue); }
@media (max-width: 560px) {
  .sec-statement.has-claim .st-facts .st-fact { padding: 22px 22px; border-radius: 16px; }
  .sec-statement.has-claim .st-facts .st-fact + .st-fact { padding-left: 22px; padding-top: 22px; border-top: 0; }
  .sec-statement.has-claim .st-facts .st-fact-v { font-size: 38.8px; }
  .sec-statement.has-claim .st-facts .st-fact-no { font-size: 57.1px; }
}
.sec-statement.has-claim .st-rail {
  grid-column: 1 / -1; grid-row: 2; align-self: start;
  display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: stretch;
  gap: 0; border-radius: 20px; overflow: hidden; background: var(--dark);
  box-shadow: 0 18px 44px rgba(8,8,7, .18);
}
.sec-statement.has-claim .st-rail .st-facts {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0;
  margin: 0; padding: 0; border: 0; border-radius: 0; background: none; box-shadow: none;
}
.sec-statement.has-claim .st-rail .st-fact {
  position: static; display: grid; align-content: center; gap: 8px;
  padding: clamp(22px, 2.2vw, 30px) clamp(22px, 2.4vw, 36px);
  border: 0; border-radius: 0; background: none; overflow: visible;
}
.sec-statement.has-claim .st-rail .st-fact + .st-fact { border-left: 1px solid rgba(255,255,255, .14); }
.sec-statement.has-claim .st-rail .st-fact-no { display: none; }   
.sec-statement.has-claim .st-rail .st-fact-l {
  order: 1; margin: 0; font-size: clamp(15.5px, 1.05vw, 17px); font-weight: 800;
  letter-spacing: .04em; color: var(--muted-on-dark);
}
.sec-statement.has-claim .st-rail .st-fact-v {
  order: 2; font-family: var(--font-hero); font-size: clamp(32px, 3.2vw, 46.9px); font-weight: 800;
  line-height: 1.05; letter-spacing: -.045em; color: #FFFFFF;
}
.sec-statement.has-claim .st-rail .st-fact:last-child .st-fact-v { color: var(--blue-on-dark); }
.sec-statement.has-claim .st-call {
  display: flex; flex-direction: column; justify-content: center; gap: 4px;
  padding: clamp(22px, 2.2vw, 30px) clamp(24px, 2.6vw, 40px);
  background: var(--blue); color: #FFFFFF; white-space: nowrap;
  transition: background-color var(--dur) var(--ease);
}
.sec-statement.has-claim .st-call:hover { background: var(--blue-d); }
.sec-statement.has-claim .st-call-l { font-size: 15.5px; font-weight: 800; letter-spacing: .08em; color: rgba(255,255,255, .82); }
.sec-statement.has-claim .st-call-num {
  font-family: var(--font-hero); font-size: clamp(23px, 2vw, 30px); font-weight: 800; letter-spacing: -.02em;
}
.sec-statement.has-claim .st-call-go { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
@media (max-width: 820px) {
  .sec-statement.has-claim .st-rail { grid-template-columns: minmax(0, 1fr); }
  .sec-statement.has-claim .st-call { flex-direction: row; align-items: center; justify-content: space-between; gap: 12px; }
}
@media (max-width: 480px) {
  .sec-statement.has-claim .st-rail .st-facts { grid-template-columns: minmax(0, 1fr); }
  .sec-statement.has-claim .st-rail .st-fact + .st-fact { border-left: 0; border-top: 1px solid rgba(255,255,255, .14); }
  .sec-statement.has-claim .st-rail .st-fact-v { font-size: 32px; }
}
.sec-statement.has-claim .st-rail .st-facts { grid-column: auto; grid-row: auto; align-self: stretch; }
.sec-statement.has-claim .st-rail .st-call { grid-column: 2; grid-row: 1; }
@media (max-width: 820px) {
  .sec-statement.has-claim .st-rail .st-call { grid-column: 1; grid-row: 2; }
}
.bn-figure { z-index: 3; }
.hero-dot { display: none; }
.hero-eyebrow { gap: 0; }
.hero-keys .hk::before { content: none; }
.hero-keys .hk-sep {
  display: inline-block; margin: 0 .18em;
  color: rgba(242,237,225, .42); font-weight: 400;
  font-size: clamp(17px, 1.25vw, 20px);
}
.hero-eyebrow .eb-in {
  font-size: clamp(23px, 2.5vw, 40.8px); font-weight: 600;
  line-height: 1.34; letter-spacing: -.02em; color: rgba(244,239,228, .94);
  overflow-wrap: normal; word-break: keep-all;
}
.hero-eyebrow { margin-bottom: clamp(18px, 2vw, 28px); }
@media (max-width: 720px) { .hero-eyebrow .eb-in { font-size: 23px; } }
.hero-eyebrow .eb-in { font-weight: 400; }
.hero-keys .hk { font-size: clamp(19px, 1.6vw, 25px); }
.hero-keys .hk-sep { font-size: clamp(19px, 1.6vw, 25px); }
@media (max-width: 720px) {
  .hero-keys .hk,
  .hero-keys .hk-sep { font-size: 19px; }
}
.sec-compare.sec-bg-dark .cmp-bad {
  background: rgba(255,255,255, .05);
  box-shadow: inset 0 0 0 1px rgba(255,255,255, .12);
}
.sec-compare.sec-bg-dark .cmp-bad .cmp-label { background: rgba(255,255,255, .08); color: var(--muted-on-dark); }
.sec-compare.sec-bg-dark .cmp-bad .cmp-label .ico { color: var(--muted-on-dark); }
.sec-compare.sec-bg-dark .cmp-bad .cmp-name { color: #e9e4d8; }
.sec-compare.sec-bg-dark .cmp-bad .cmp-body { color: #cfc6ae; }
.sec-compare.sec-bg-dark .cmp-good {
  background: rgba(236,197,97, .13);
  box-shadow: inset 0 0 0 1px rgba(236,197,97, .42), 0 24px 56px rgba(8,8,7, .45);
}
.sec-compare.sec-bg-dark .cmp-good .cmp-label { background: rgba(236,197,97, .22); color: #FFFFFF; }
.sec-compare.sec-bg-dark .cmp-good .cmp-label .ico { color: #FFFFFF; }
.sec-compare.sec-bg-dark .cmp-good .cmp-name { color: #FFFFFF; }
.sec-compare.sec-bg-dark .cmp-good .cmp-body { color: #ebe5d6; }
.sec-arealist .ar-grid {
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(12px, 1.2vw, 18px); list-style: none; margin: 0; padding: 0;
}
.sec-arealist .ar-in {
  position: relative; display: flex; flex-direction: column; gap: 8px; height: 100%;
  padding: clamp(20px, 1.9vw, 28px) clamp(18px, 1.8vw, 26px);
  border-radius: 16px; background: var(--paper); color: inherit;
  box-shadow: inset 0 0 0 1px var(--line);
  transition: background-color var(--dur) var(--ease), transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
}
a.ar-in:hover {
  transform: translateY(-4px); background: var(--white);
  box-shadow: inset 0 0 0 1px var(--blue), 0 2px 6px rgba(16,16,15, .06), 0 20px 42px rgba(16,16,15, .12);
}
.sec-arealist .ar-name {
  font-size: clamp(21px, 1.7vw, 26px); font-weight: 800; letter-spacing: -.03em; color: var(--ink);
  transition: color var(--dur) var(--ease);
}
a.ar-in:hover .ar-name { color: var(--blue); }
.sec-arealist .ar-note {
  font-size: 16.5px; line-height: 1.65; color: var(--muted);
  overflow-wrap: normal; word-break: keep-all;
}
.sec-arealist .ar-go {
  position: absolute; right: clamp(16px, 1.6vw, 22px); top: clamp(20px, 1.9vw, 28px);
  color: var(--line-2); transition: color var(--dur) var(--ease), transform var(--dur) var(--ease);
}
a.ar-in:hover .ar-go { color: var(--blue); transform: translateX(3px); }
.sec-arealist .ar-foot { margin-top: 26px; font-size: 17px; color: var(--muted-2); }
.sec-arealist.is-chip .ar-grid { display: flex; flex-wrap: wrap; gap: 10px; }
.sec-arealist.is-chip .ar-in {
  flex-direction: row; align-items: center; gap: 0; padding: 11px 20px;
  border-radius: var(--r-pill); background: var(--blue-l); box-shadow: none;
}
.sec-arealist.is-chip .ar-name { font-size: 18px; font-weight: 700; color: var(--blue-d); }
.sec-arealist.is-chip .ar-note,
.sec-arealist.is-chip .ar-go { display: none; }
.sec-arealist.sec-bg-dark .ar-in { background: rgba(255,255,255, .05); box-shadow: inset 0 0 0 1px rgba(255,255,255, .13); }
.sec-arealist.sec-bg-dark .ar-name { color: #f8f4eb; }
.sec-arealist.sec-bg-dark .ar-note { color: #dad2bd; }
.sec-arealist.sec-bg-dark.is-chip .ar-in { background: rgba(236,197,97, .16); }
.sec-arealist.sec-bg-dark.is-chip .ar-name { color: #f8f4eb; }
@media (max-width: 1040px) { .sec-arealist .ar-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 760px)  { .sec-arealist .ar-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 440px)  { .sec-arealist .ar-grid { grid-template-columns: minmax(0, 1fr); } }
.sec-statement.has-claim .st-rail .st-facts .st-fact,
.sec-statement.has-claim .st-rail .st-facts .st-fact:last-child { background: none; }
.pg-area .sec-statement.has-claim .st-wrap { grid-template-columns: minmax(0, 1fr); justify-items: center; }
.pg-area .sec-statement.has-claim .st-col { align-items: center; text-align: center; max-width: min(880px, 100%); }
.pg-area .sec-statement.has-claim .st-claim { max-width: min(18ch, 100%); }
.pg-area .sec-statement.has-claim .st-body { text-align: center; }
.pg-area .sec-statement.has-claim .st-text { max-width: 60ch; margin-left: auto; margin-right: auto; }
.pg-area .sec-statement.has-claim .st-kicker { justify-content: center; }
.pg-area .sec-statement.has-claim .st-rail { width: 100%; grid-template-columns: minmax(0, 1fr) auto; }
.pg-area .sec-statement.has-claim .st-rail .st-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.pg-area .sec-statement.has-claim .st-rail .st-fact { text-align: left; }
@media (max-width: 900px) {
  .pg-area .sec-statement.has-claim .st-claim { max-width: none; }
}
.pg-area .sec-statement.has-claim .st-claim,
.pg-area .sec-statement.has-claim .st-note { margin-left: auto; margin-right: auto; }
.pg-area .sec-statement.has-claim .st-kicker {
  flex-direction: column; align-items: center; gap: 12px; margin-bottom: 20px;
}
.pg-area .sec-statement.has-claim .st-kicker-line { width: 40px; }
.sec-cases .cs-tools {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between;
  gap: 16px; margin-bottom: clamp(22px, 2.4vw, 34px);
}
.sec-cases .cs-count { margin: 0 0 20px; font-size: 17px; color: var(--muted); }
.sec-cases .cs-count b { font-family: var(--font-hero); font-size: 21px; font-weight: 800; color: var(--ink); }
.sec-cases .cs-empty,
.sec-postlist .cs-empty {
  margin: 0; padding: clamp(48px, 6vw, 80px) 20px; text-align: center;
  font-size: 18.5px; color: var(--muted); background: var(--paper); border-radius: 18px;
}
.sec-cases .cs-grid {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(16px, 1.8vw, 26px); list-style: none; margin: 0; padding: 0;
}
.sec-cases .cs-in {
  display: flex; flex-direction: column; height: 100%; overflow: hidden;
  border-radius: 18px; background: var(--white); color: inherit;
  box-shadow: inset 0 0 0 1px var(--line), 0 1px 2px rgba(16,16,15, .04);
  transition: transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
}
.sec-cases a.cs-in:hover { transform: translateY(-5px); box-shadow: inset 0 0 0 1px var(--line), 0 2px 6px rgba(16,16,15, .07), 0 24px 50px rgba(16,16,15, .14); }
.sec-cases .cs-shot { position: relative; display: block; aspect-ratio: 4 / 3; overflow: hidden; background: var(--paper); }
.sec-cases .cs-shot img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .8s var(--ease); }
.sec-cases a.cs-in:hover .cs-shot img { transform: scale(1.06); }
.sec-cases .cs-noimg { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; color: var(--line-2); }
.sec-cases .cs-body { display: flex; flex-direction: column; gap: 10px; padding: clamp(18px, 1.8vw, 24px); }
.sec-cases .cs-tags { display: flex; flex-wrap: wrap; gap: 6px; }
.sec-cases .cs-tag {
  display: inline-block; padding: 5px 11px; border-radius: var(--r-pill);
  font-size: 14.5px; font-weight: 800; letter-spacing: .01em;
  background: var(--paper); color: var(--muted-2);
}
.sec-cases .cs-tag.is-region { background: var(--blue-l); color: var(--blue-d); }
.sec-cases .cs-name {
  font-size: clamp(18.5px, 1.35vw, 21px); font-weight: 800; line-height: 1.45;
  letter-spacing: -.02em; color: var(--ink);
  overflow-wrap: normal; word-break: keep-all;
}
.sec-cases a.cs-in:hover .cs-name { color: var(--blue); }
.sec-cases .cs-date { margin-top: auto; font-size: 16px; color: var(--muted-2); }
.board-cats { display: flex; flex-wrap: wrap; gap: 8px; }
.board-cat {
  display: inline-block; padding: 9px 18px; border-radius: var(--r-pill);
  font-size: 16.5px; font-weight: 700; color: var(--ink-2);
  background: var(--paper); box-shadow: inset 0 0 0 1px var(--line);
  transition: background-color var(--dur), color var(--dur), box-shadow var(--dur);
}
.board-cat:hover { background: var(--blue-l); color: var(--blue-d); }
.board-cat.on { background: var(--ink); color: #fff; box-shadow: none; }
.board-tools { display: flex; align-items: center; gap: 10px; }
.board-search { display: flex; align-items: center; gap: 8px; }
.board-search-input {
  height: 42px; padding: 0 14px; min-width: 180px;
  border: 1px solid var(--line-2); border-radius: 10px; font-size: 17px; background: var(--white); color: var(--ink);
}
.board-search-input:focus { outline: 2px solid var(--blue); outline-offset: 1px; border-color: transparent; }
.board-search-btn {
  height: 42px; padding: 0 18px; border: 0; border-radius: 10px; cursor: pointer;
  background: var(--ink); color: #fff; font-size: 16.5px; font-weight: 700;
}
.board-search-btn:hover { background: var(--blue); }
.board-search-reset { font-size: 16px; color: var(--muted-2); }
.board-paging { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; margin-top: clamp(32px, 3.4vw, 48px); }
.board-paging a, .board-paging .cur {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 40px; height: 40px; padding: 0 12px; border-radius: 10px;
  font-size: 17px; font-weight: 700; color: var(--ink-2); background: var(--paper);
}
.board-paging a:hover { background: var(--blue-l); color: var(--blue-d); }
.board-paging .cur { background: var(--ink); color: #fff; }
.sec-postlist .pl-list { list-style: none; margin: 0; padding: 0; border-top: 1.5px solid var(--ink); }
.sec-postlist .pl-row { border-bottom: 1px solid var(--line); }
.sec-postlist .pl-in {
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
  padding: clamp(18px, 1.8vw, 24px) 4px; color: inherit;
  transition: padding-left var(--dur) var(--ease), background-color var(--dur);
}
.sec-postlist .pl-in:hover { padding-left: 12px; background: var(--paper); }
.sec-postlist .pl-main { display: flex; align-items: center; gap: 10px; min-width: 0; }
.sec-postlist .pl-badge { flex: none; padding: 4px 10px; border-radius: var(--r-pill); background: var(--blue); color: #fff; font-size: 14px; font-weight: 800; }
.sec-postlist .pl-cat { flex: none; font-size: 15.5px; font-weight: 800; color: var(--blue); }
.sec-postlist .pl-name { font-size: clamp(18px, 1.3vw, 20px); font-weight: 700; color: var(--ink); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sec-postlist .pl-in:hover .pl-name { color: var(--blue); }
.sec-postlist .pl-date { flex: none; font-size: 16px; color: var(--muted-2); }
@media (max-width: 1040px) { .sec-cases .cs-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) {
  .sec-cases .cs-grid { grid-template-columns: minmax(0, 1fr); }
  .sec-cases .cs-tools { flex-direction: column; align-items: stretch; }
  .board-search { width: 100%; }
  .board-search-input { flex: 1 1 auto; min-width: 0; }
}
.sec-postview-top .pv-tags { display: flex; flex-wrap: wrap; gap: 7px; margin: 0 0 16px; }
.sec-postview-top .pv-tag {
  display: inline-block; padding: 6px 13px; border-radius: var(--r-pill);
  font-size: 15px; font-weight: 800; letter-spacing: .01em;
  background: rgba(255,255,255, .12); color: #f8f4eb;
}
.sec-postview-top .pv-tag.is-region { background: var(--blue); color: #FFFFFF; }
.sec-postview-top .bn-title { font-size: clamp(28px, 3.4vw, 46.9px); line-height: 1.24; }
.sec-postview-top .pv-date { margin-top: 16px; font-size: 17px; color: rgba(248,244,235, .7); }
.sec-postview .pv-wrap { max-width: min(860px, 100%); margin-inline: auto; }
.sec-postview .pv-body { font-size: 19px; line-height: 1.92; color: var(--ink-2); }
.sec-postview .pv-body > * + * { margin-top: 20px; }
.sec-postview .pv-body h2 { margin-top: 44px; font-size: clamp(23px, 2vw, 29px); font-weight: 800; letter-spacing: -.025em; color: var(--ink); }
.sec-postview .pv-body h3 { margin-top: 34px; font-size: clamp(20px, 1.6vw, 23px); font-weight: 800; color: var(--ink); }
.sec-postview .pv-body img { max-width: 100%; height: auto; border-radius: 14px; }
.sec-postview .pv-body a { color: var(--blue); text-decoration: underline; text-underline-offset: 3px; }
.sec-postview .pv-body ul,
.sec-postview .pv-body ol { padding-left: 22px; }
.sec-postview .pv-body li + li { margin-top: 8px; }
.sec-postview .pv-body blockquote {
  margin-left: 0; padding: 18px 24px; border-left: 3px solid var(--blue);
  background: var(--paper); border-radius: 0 12px 12px 0; color: var(--ink-2);
}
.sec-postview .pv-files { margin-top: 40px; padding: 22px 24px; border-radius: 14px; background: var(--paper); }
.sec-postview .pv-files-t { margin: 0 0 12px; font-size: 17px; font-weight: 800; color: var(--ink); }
.sec-postview .pv-files ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.sec-postview .pv-files a { display: flex; align-items: center; justify-content: space-between; gap: 12px; font-size: 17px; color: var(--ink-2); }
.sec-postview .pv-files a:hover .pv-file-n { color: var(--blue); }
.sec-postview .pv-file-s { flex: none; font-size: 15.5px; color: var(--muted-2); }
.sec-postview .pv-cta {
  margin-top: clamp(40px, 4vw, 64px); padding: clamp(26px, 2.8vw, 38px);
  border-radius: 20px; background: var(--dark); color: #fff;
  display: grid; gap: 8px; justify-items: start;
}
.sec-postview .pv-cta-t { margin: 0; font-size: clamp(21px, 1.8vw, 27px); font-weight: 700; letter-spacing: -.025em; }
.sec-postview .pv-cta-t b { color: var(--blue-on-dark); font-weight: 800; }
.sec-postview .pv-cta-d { margin: 0; font-size: 17.5px; line-height: 1.7; color: var(--muted-on-dark); }
.sec-postview .pv-cta-call {
  display: inline-flex; align-items: center; gap: 10px; margin-top: 10px;
  padding: 14px 24px; border-radius: var(--r-pill); background: var(--blue); color: #fff;
  font-family: var(--font-hero); font-size: clamp(21px, 1.7vw, 26px); font-weight: 800; letter-spacing: -.02em;
  transition: background-color var(--dur) var(--ease), transform var(--dur) var(--ease);
}
.sec-postview .pv-cta-call:hover { background: var(--blue-d); transform: translateY(-2px); }
.sec-postview .pv-nav {
  display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  gap: 14px; align-items: center; margin-top: clamp(36px, 3.6vw, 56px);
  padding-top: clamp(24px, 2.4vw, 34px); border-top: 1px solid var(--line);
}
.sec-postview .pv-nav-a { display: grid; gap: 5px; min-width: 0; color: inherit; }
.sec-postview .pv-nav-a.is-next { text-align: right; grid-column: 3; }
.sec-postview .pv-nav-l { font-size: 15px; font-weight: 800; letter-spacing: .08em; color: var(--blue); }
.sec-postview .pv-nav-t { font-size: 17.5px; color: var(--ink-2); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sec-postview .pv-nav-a:hover .pv-nav-t { color: var(--blue); }
.sec-postview .pv-nav-list {
  grid-column: 2; padding: 11px 22px; border-radius: var(--r-pill);
  font-size: 16.5px; font-weight: 800; color: var(--ink); background: var(--paper);
}
.sec-postview .pv-nav-list:hover { background: var(--ink); color: #fff; }
@media (max-width: 720px) {
  .sec-postview .pv-nav { grid-template-columns: minmax(0, 1fr); }
  .sec-postview .pv-nav-a.is-next { text-align: left; grid-column: 1; }
  .sec-postview .pv-nav-list { grid-column: 1; justify-self: start; }
  .sec-postview .pv-body { font-size: 18px; }
}
.sec-cases .cs-tags { gap: 0; align-items: baseline; }
.sec-cases .cs-tag {
  padding: 0; border-radius: 0; background: none;
  font-size: 15px; font-weight: 800; letter-spacing: .02em; color: var(--muted-2);
}
.sec-cases .cs-tag.is-region { background: none; color: var(--blue); }
.sec-cases .cs-tag + .cs-tag::before {
  content: "·"; margin: 0 .5em; color: var(--line-2); font-weight: 400;
}
.board-cats { gap: clamp(14px, 1.6vw, 26px); border-bottom: 1px solid var(--line); }
.board-cat {
  position: relative; padding: 0 0 14px; border-radius: 0;
  background: none; box-shadow: none;
  font-size: clamp(16.5px, 1.2vw, 18.5px); font-weight: 700; color: var(--muted);
  transition: color var(--dur) var(--ease);
}
.board-cat::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 2.5px;
  background: var(--ink); transform: scaleX(0); transform-origin: left center;
  transition: transform .35s var(--ease);
}
.board-cat:hover { background: none; color: var(--ink); }
.board-cat.on { background: none; color: var(--ink); font-weight: 800; }
.board-cat.on::after { transform: scaleX(1); }
.board-search-input {
  height: 40px; padding: 0 4px; min-width: 160px;
  border: 0; border-bottom: 1.5px solid var(--line-2); border-radius: 0; background: none;
}
.board-search-input:focus { outline: 0; border-bottom-color: var(--blue); }
.board-search-btn { height: 40px; padding: 0 4px; border-radius: 0; background: none; color: var(--ink); font-weight: 800; }
.board-search-btn:hover { background: none; color: var(--blue); }
.board-paging a, .board-paging .cur { border-radius: 0; background: none; min-width: 34px; height: 34px; }
.board-paging a:hover { background: none; color: var(--blue); text-decoration: underline; text-underline-offset: 5px; }
.board-paging .cur { background: none; color: var(--ink); text-decoration: underline; text-decoration-thickness: 2.5px; text-underline-offset: 5px; }
.sec-postview-top .pv-tags { gap: 0; align-items: baseline; }
.sec-postview-top .pv-tag {
  padding: 0; border-radius: 0; background: none;
  font-size: 16px; font-weight: 800; letter-spacing: .04em; color: rgba(248,244,235, .72);
}
.sec-postview-top .pv-tag.is-region { background: none; color: var(--blue-on-dark); }
.sec-postview-top .pv-tag + .pv-tag::before {
  content: "·"; margin: 0 .5em; color: rgba(255,255,255, .3); font-weight: 400;
}
.sec-cases .cs-filter { display: flex; align-items: baseline; gap: 10px; margin: 0 0 14px; font-size: 17px; color: var(--muted); }
.sec-cases .cs-filter-l { font-size: 14.5px; font-weight: 800; letter-spacing: .12em; color: var(--muted-2); }
.sec-cases .cs-filter b { font-size: 21px; font-weight: 800; letter-spacing: -.02em; color: var(--blue); }
.sec-cases .cs-filter-x { font-size: 16px; color: var(--muted-2); text-decoration: underline; text-underline-offset: 3px; }
.sec-cases .cs-filter-x:hover { color: var(--ink); }
.sec-postview .pv-facts {
  display: flex; flex-wrap: wrap; gap: 0 clamp(24px, 3vw, 48px); margin: 0 0 clamp(28px, 3vw, 42px);
  padding-bottom: clamp(20px, 2.2vw, 30px); border-bottom: 1px solid var(--line);
}
.sec-postview .pv-fact { display: flex; align-items: baseline; gap: 12px; }
.sec-postview .pv-fact dt { font-size: 14.5px; font-weight: 800; letter-spacing: .12em; color: var(--muted-2); }
.sec-postview .pv-fact dd { margin: 0; font-size: 18px; font-weight: 700; color: var(--ink); }
.sec-postview .pv-fact dd a { color: var(--blue); text-decoration: underline; text-underline-offset: 3px; }
.sec-postview .pv-fact dd a:hover { color: var(--blue-d); }
.sec-postview .pv-rel { margin-top: clamp(44px, 4.4vw, 68px); }
.sec-postview .pv-rel-t {
  margin: 0 0 20px; font-size: clamp(20px, 1.6vw, 24px); font-weight: 800;
  letter-spacing: -.025em; color: var(--ink);
}
.sec-postview .pv-rel-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.sec-postview .pv-rel-list a {
  display: flex; align-items: center; gap: 16px; padding: 12px;
  border-radius: 14px; color: inherit; background: var(--paper);
  transition: background-color var(--dur) var(--ease), transform var(--dur) var(--ease);
}
.sec-postview .pv-rel-list a:hover { background: var(--blue-l); transform: translateX(4px); }
.sec-postview .pv-rel-shot { flex: none; width: 84px; aspect-ratio: 4 / 3; overflow: hidden; border-radius: 9px; background: var(--line); }
.sec-postview .pv-rel-shot img { width: 100%; height: 100%; object-fit: cover; display: block; }
.sec-postview .pv-rel-body { display: grid; gap: 5px; min-width: 0; }
.sec-postview .pv-rel-tag { font-size: 14.5px; font-weight: 800; letter-spacing: .04em; color: var(--blue); }
.sec-postview .pv-rel-n {
  font-size: 18px; font-weight: 700; color: var(--ink);
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.sec-postview .pv-nav-list {
  padding: 0 0 4px; border-radius: 0; background: none;
  border-bottom: 2px solid var(--ink); color: var(--ink);
}
.sec-postview .pv-nav-list:hover { background: none; color: var(--blue); border-bottom-color: var(--blue); }
@media (max-width: 560px) {
  .sec-postview .pv-facts { gap: 12px 24px; }
  .sec-postview .pv-rel-shot { width: 66px; }
  .sec-postview .pv-rel-n { font-size: 17px; }
}
.sec-postview .pv-wrap { max-width: var(--wrap); margin-inline: auto; }
.sec-postview .pv-body { max-width: min(820px, 100%); }
.sec-postview .pv-files { max-width: min(820px, 100%); }
.sec-postview .pv-admin {
  display: flex; align-items: center; gap: 10px;
  margin-top: clamp(32px, 3.2vw, 46px); padding-top: 18px; border-top: 1px dashed var(--line-2);
}
.sec-postview .pv-admin::before {
  content: "관리자"; margin-right: 4px;
  font-size: 14px; font-weight: 800; letter-spacing: .12em; color: var(--muted-2);
}
.sec-postview .pv-admin-f { margin: 0; }
.sec-postview .pv-admin-a,
.sec-postview .pv-admin-del {
  padding: 8px 16px; border: 1px solid var(--line-2); border-radius: 8px; cursor: pointer;
  font-size: 16px; font-weight: 700; color: var(--ink-2); background: var(--white);
  transition: border-color var(--dur), color var(--dur), background-color var(--dur);
}
.sec-postview .pv-admin-a:hover { border-color: var(--blue); color: var(--blue); }
.sec-postview .pv-admin-del:hover { border-color: #C0392B; color: #C0392B; }
.board-newpost {
  display: inline-flex; align-items: center; gap: 7px; padding: 9px 20px;
  border-radius: var(--r-pill); background: var(--ink); color: #fff;
  font-size: 16.5px; font-weight: 800;
  transition: background-color var(--dur) var(--ease);
}
.board-newpost::before { content: "+"; font-size: 18px; font-weight: 700; }
.board-newpost:hover { background: var(--blue); }
.sec-postview .pv-article { max-width: min(860px, 100%); }
.sec-postview .pv-hero { margin: 0 0 clamp(26px, 2.8vw, 38px); border-radius: 18px; overflow: hidden; background: var(--paper); }
.sec-postview .pv-hero img { width: 100%; height: auto; display: block; }
.sec-postview .pv-head { margin-bottom: clamp(26px, 2.8vw, 38px); padding-bottom: clamp(22px, 2.4vw, 30px); border-bottom: 1px solid var(--line); }
.sec-postview .pv-tags { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0; margin: 0 0 14px; }
.sec-postview .pv-tag { font-size: 15.5px; font-weight: 800; letter-spacing: .03em; color: var(--muted-2); }
.sec-postview .pv-tag.is-region { color: var(--blue); }
.sec-postview .pv-tag:hover { text-decoration: underline; text-underline-offset: 3px; }
.sec-postview .pv-tag + .pv-tag::before { content: "·"; margin: 0 .5em; color: var(--line-2); font-weight: 400; }
.sec-postview .pv-title {
  margin: 0; font-size: clamp(27px, 3vw, 40.8px); font-weight: 800;
  line-height: 1.3; letter-spacing: -.035em; color: var(--ink);
  overflow-wrap: normal; word-break: keep-all;
}
.sec-postview .pv-meta { display: flex; align-items: center; gap: 8px; margin: 14px 0 0; font-size: 16.5px; color: var(--muted-2); }
.sec-postview .pv-meta span { color: var(--line-2); }
.sec-cases .cs-bulk-form { display: block; }
.sec-cases .cs-card { position: relative; }
.sec-cases .cs-pick {
  position: absolute; left: 12px; top: 12px; z-index: 2;
  display: inline-flex; align-items: center; gap: 6px;
  padding: 6px 11px; border-radius: 8px; cursor: pointer;
  background: rgba(13,12,11, .78); color: #fff; font-size: 14.5px; font-weight: 700;
}
.sec-cases .cs-pick input { width: 14px; height: 14px; accent-color: var(--blue); cursor: pointer; }
.sec-cases .cs-bulk {
  display: flex; flex-wrap: wrap; align-items: center; gap: 12px;
  margin-top: clamp(20px, 2vw, 28px); padding: 14px 18px;
  border-radius: 12px; background: var(--paper); box-shadow: inset 0 0 0 1px var(--line);
}
.sec-cases .cs-bulk-all { display: inline-flex; align-items: center; gap: 7px; font-size: 16.5px; font-weight: 700; color: var(--ink-2); cursor: pointer; }
.sec-cases .cs-bulk-all input { width: 15px; height: 15px; accent-color: var(--blue); cursor: pointer; }
.sec-cases .cs-bulk-sel { height: 38px; padding: 0 12px; border: 1px solid var(--line-2); border-radius: 8px; font-size: 16.5px; background: var(--white); color: var(--ink); }
.sec-cases .cs-bulk-go { height: 38px; padding: 0 18px; border: 0; border-radius: 8px; cursor: pointer; background: var(--ink); color: #fff; font-size: 16.5px; font-weight: 700; }
.sec-cases .cs-bulk-go:hover { background: #C0392B; }
.sec-cases .cs-tools,
.sec-postlist .cs-tools { align-items: flex-end; gap: 14px 24px; }
.sec-cases .board-cats { flex: 1 1 auto; }
.board-tools { flex: none; gap: 14px; padding-bottom: 8px; }
@media (max-width: 760px) {
  .sec-cases .cs-tools { align-items: stretch; }
  .board-tools { justify-content: space-between; padding-bottom: 0; }
}
.sec-postview .pv-admin.is-top {
  justify-content: flex-end; margin: 0 0 18px; padding: 0 0 14px;
  border-top: 0; border-bottom: 1px dashed var(--line-2);
}
.sec-postview .pv-admin.is-top::before { margin-right: auto; }
.cs-admin-bar {
  display: flex; align-items: center; justify-content: flex-end; gap: 12px;
  margin-top: clamp(22px, 2.2vw, 32px); padding-top: 18px; border-top: 1px dashed var(--line-2);
}
.cs-admin-l { margin-right: auto; font-size: 14px; font-weight: 800; letter-spacing: .12em; color: var(--muted-2); }
.cs-newpost {
  display: inline-flex; align-items: center; gap: 7px; padding: 11px 24px;
  border-radius: var(--r-pill); background: var(--ink); color: #fff;
  font-size: 17px; font-weight: 800;
  transition: background-color var(--dur) var(--ease);
}
.cs-newpost::before { content: "+"; font-size: 19px; font-weight: 700; }
.cs-newpost:hover { background: var(--blue); }
.wc-ed { border: 1px solid var(--line-2); border-radius: 10px; overflow: hidden; background: var(--white); }
.wc-ed:focus-within { border-color: var(--blue); box-shadow: 0 0 0 3px rgba(192,147,33,.16); }
.wc-ed-bar {
  display: flex; flex-wrap: wrap; align-items: center; gap: 3px;
  padding: 8px; background: var(--s-50); border-bottom: 1px solid var(--line);
  position: relative;
}
.wc-ed-bar.is-busy::after {
  content: "업로드 중…"; position: absolute; right: 12px; top: 50%; transform: translateY(-50%);
  font-size: var(--fs-sm); color: #FFFFFF; font-weight: 600;
}
.wc-ed-btn {
  min-width: var(--h-sm); height: var(--h-sm); padding: 0 8px;
  background: var(--white); border: 1px solid var(--line); border-radius: var(--r-xs);
  font-size: var(--fs-md); font-weight: 600; color: var(--s-600);
  cursor: pointer; font-family: inherit; line-height: 1;
  display: inline-flex; align-items: center; justify-content: center;
  position: relative; transition: background .12s, border-color .12s, color .12s;
}
.wc-ed-btn:hover { border-color: var(--s-400); color: var(--s-900); }
.wc-ed-btn:active { background: var(--s-100); }
.wc-ed-btn.active { background: var(--blue-l); border-color: rgba(192,147,33,.28); color: #FFFFFF; }
.wc-ed-align.is-center { justify-content: center; }
.wc-ed-align.is-right { justify-content: flex-end; }
.wc-ed-sep { width: 1px; height: 18px; background: var(--s-200); margin: 0 5px; }
.wc-ed-area {
  min-height: 340px; max-height: 620px; overflow-y: auto;
  padding: 20px; font-size: 17px; line-height: 1.8; color: var(--s-800);
  outline: none;
}
.wc-ed-area p { margin: 0 0 1em; }
.wc-ed-area h2 { font-size: 1.5em; margin: 1.4em 0 .5em; font-weight: 700; }
.wc-ed-area h3 { font-size: 1.25em; margin: 1.3em 0 .5em; font-weight: 700; }
.wc-ed-area img { max-width: 100%; border-radius: 10px; }
.wc-ed-area ul, .wc-ed-area ol { padding-left: 1.5em; margin: 0 0 1em; }
.wc-ed-area blockquote {
  margin: 1.2em 0; padding: 2px 0 2px 16px;
  border-left: 3px solid var(--blue); color: var(--s-500);
}
.wc-ed-area table { border-collapse: collapse; width: 100%; margin: 1em 0; }
.wc-ed-area th, .wc-ed-area td { border: 1px solid var(--s-300); padding: 8px 10px; }
.wc-ed-area th { background: var(--s-50); font-weight: 700; }
.wc-ed-area a { color: #FFFFFF; text-decoration: underline; }
textarea.wc-ed-source {
  display: block; width: 100%; min-height: 340px; border: none; border-radius: 0;
  padding: 16px 20px; font-family: ui-monospace, Consolas, monospace;
  font-size: var(--fs-sm); line-height: 1.65; resize: vertical;
}
textarea.wc-ed-source:focus { outline: none; box-shadow: none; }
.sec-postform .pf-wrap { max-width: min(880px, 100%); margin-inline: auto; }
.sec-postform .pf-title { margin: 0 0 clamp(24px, 2.6vw, 34px); font-size: clamp(26px, 2.6vw, 34.7px); font-weight: 800; letter-spacing: -.03em; color: var(--ink); }
.sec-postform .pf-err { margin: 0 0 20px; padding: 14px 18px; border-radius: 10px; background: #FDECEA; color: #A02418; font-size: 17px; font-weight: 700; }
.sec-postform .pf-field { display: grid; gap: 8px; margin-bottom: clamp(20px, 2.2vw, 28px); }
.sec-postform .pf-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(16px, 1.8vw, 24px); }
.sec-postform .pf-label { font-size: 15.5px; font-weight: 800; letter-spacing: .06em; color: var(--muted-2); }
.sec-postform .pf-input {
  width: 100%; padding: 12px 14px; border: 1px solid var(--line-2); border-radius: 10px;
  font-family: inherit; font-size: 18px; color: var(--ink); background: var(--white);
}
.sec-postform .pf-input:focus { outline: 0; border-color: var(--blue); box-shadow: 0 0 0 3px rgba(192,147,33, .16); }
.sec-postform .pf-input-lg { font-size: clamp(21px, 1.8vw, 26px); font-weight: 800; letter-spacing: -.025em; padding: 16px 16px; }
.sec-postform .pf-hint { margin: 0; font-size: 15.5px; line-height: 1.6; color: var(--muted-2); }
.sec-postform .pf-hint b { color: var(--ink-2); }
.sec-postform .pf-thumb { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.sec-postform .pf-thumb img { width: 140px; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 10px; }
.sec-postform .pf-thumb-del { display: inline-flex; align-items: center; gap: 7px; font-size: 16px; color: var(--muted); cursor: pointer; }
.sec-postform .pf-file { font-size: 16.5px; color: var(--ink-2); }
.sec-postform .pf-more { margin: 8px 0 clamp(24px, 2.6vw, 32px); padding: 16px 18px; border-radius: 12px; background: var(--paper); }
.sec-postform .pf-more summary { cursor: pointer; font-size: 16.5px; font-weight: 800; color: var(--ink-2); }
.sec-postform .pf-more[open] summary { margin-bottom: 16px; }
.sec-postform .pf-actions { display: flex; align-items: center; justify-content: flex-end; gap: 12px; padding-top: clamp(20px, 2.2vw, 30px); border-top: 1px solid var(--line); }
.sec-postform .pf-cancel { padding: 13px 22px; font-size: 17px; font-weight: 700; color: var(--muted); }
.sec-postform .pf-cancel:hover { color: var(--ink); }
.sec-postform .pf-save {
  padding: 13px 34px; border: 0; border-radius: var(--r-pill); cursor: pointer;
  background: var(--blue); color: #fff; font-family: inherit; font-size: 18px; font-weight: 800;
  transition: background-color var(--dur) var(--ease);
}
.sec-postform .pf-save:hover { background: var(--blue-d); }
.sec-postform .wc-ed-area { min-height: 380px; padding: 20px; font-size: 18.5px; line-height: 1.85; color: var(--ink-2); }
@media (max-width: 640px) {
  .sec-postform .pf-row { grid-template-columns: minmax(0, 1fr); }
  .sec-postform .pf-actions { justify-content: stretch; }
  .sec-postform .pf-save { flex: 1 1 auto; }
}
.wc-ed {
  --s-50: #fbfaf8;  --s-100: #f8f6f2;  --s-200: #edebe8;  --s-300: #d4cebf;
  --s-400: #aba9a3;  --s-500: #7d7a74;  --s-600: #5b5953;  --s-800: #232321;  --s-900: #161514;
  --h-sm: 32px;  --r-xs: 7px;  --fs-sm: 12px;  --fs-md: 13.5px;
  font-family: "Pretendard Variable", "Pretendard", var(--font);
}
.wc-ed-bar { border-radius: 10px 10px 0 0; }
.wc-ed-btn { font-weight: 700; letter-spacing: -.01em; }
.wc-ed-area { font-family: var(--font); }
.sec-postview { padding-top: clamp(28px, 3.2vw, 52px); }
.sec-postview .pv-article,
.sec-postview .pv-body,
.sec-postview .pv-files { max-width: 100%; }
.sec-postview .pv-body { font-size: 19.5px; line-height: 2.02; }
.sec-postview .pv-body h2 { margin-top: 52px; }
.sec-postview .pv-body img { display: block; margin-inline: auto; }
.sec-postview .pv-cta {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center; gap: 8px clamp(28px, 3vw, 56px);
}
.sec-postview .pv-cta-t,
.sec-postview .pv-cta-d { grid-column: 1; }
.sec-postview .pv-cta-call { grid-column: 2; grid-row: 1 / span 2; margin-top: 0; }
.sec-postview .pv-rel-head {
  display: flex; align-items: baseline; justify-content: space-between; gap: 16px;
  margin-bottom: 20px; padding-bottom: 12px; border-bottom: 2px solid var(--ink);
}
.sec-postview .pv-rel-t { margin: 0; }
.sec-postview .pv-rel-more {
  font-size: 15.5px; font-weight: 800; color: var(--muted-2); white-space: nowrap;
}
.sec-postview .pv-rel-more::after { content: " →"; }
.sec-postview .pv-rel-more:hover { color: var(--blue); }
.sec-postview .pv-rel-list {
  grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(18px, 2vw, 28px);
}
.sec-postview .pv-rel-list a {
  flex-direction: column; align-items: stretch; gap: 13px; padding: 0; background: none;
}
.sec-postview .pv-rel-list a:hover { background: none; transform: none; }
.sec-postview .pv-rel-shot { width: 100%; aspect-ratio: 16 / 10; border-radius: 12px; }
.sec-postview .pv-rel-shot img { transition: transform .55s var(--ease); }
.sec-postview .pv-rel-list a:hover .pv-rel-shot img { transform: scale(1.05); }
.sec-postview .pv-rel-n {
  font-size: 18.5px; line-height: 1.5; white-space: normal; word-break: keep-all;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.sec-postview .pv-rel-list a:hover .pv-rel-n { color: var(--blue); }
@media (max-width: 900px) {
  .sec-postview .pv-rel-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
  .sec-postview .pv-body { font-size: 18px; line-height: 1.92; }
  .sec-postview .pv-cta { grid-template-columns: minmax(0, 1fr); }
  .sec-postview .pv-cta-call { grid-column: 1; grid-row: auto; margin-top: 10px; }
}
@media (max-width: 560px) {
  .sec-postview .pv-rel-list { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .sec-postview .pv-rel-list a { flex-direction: row; align-items: center; gap: 14px; }
  .sec-postview .pv-rel-shot { width: 96px; flex: none; aspect-ratio: 4 / 3; }
}
.sec-postview .pv-body blockquote.q-line,
.wc-ed-area blockquote.q-line {
  margin: 34px 0; padding: 2px 0 2px 22px; border: 0; border-left: 3px solid var(--ink);
  background: none; border-radius: 0;
  font-size: 1.06em; line-height: 1.75; font-weight: 600; color: var(--ink);
  word-break: keep-all;
}
.sec-postview .pv-body blockquote.q-mark,
.wc-ed-area blockquote.q-mark {
  margin: 40px 0; padding: 0; border: 0; background: none; border-radius: 0;
  text-align: center; font-size: 1.14em; line-height: 1.7; font-weight: 700;
  letter-spacing: -.02em; color: var(--ink); word-break: keep-all;
}
.sec-postview .pv-body blockquote.q-mark::before,
.wc-ed-area blockquote.q-mark::before {
  content: "\201C"; display: block; margin-bottom: -.18em;
  font-family: Georgia, "Times New Roman", serif; font-size: 2.6em; line-height: 1;
  font-weight: 400; color: var(--blue);
}
.sec-postview .pv-body blockquote.q-box,
.wc-ed-area blockquote.q-box {
  margin: 40px 0; padding: 24px 0; border: 0; border-top: 2px solid var(--ink);
  border-bottom: 2px solid var(--ink); background: none; border-radius: 0;
  text-align: center; font-size: 1.08em; line-height: 1.72; font-weight: 700;
  letter-spacing: -.02em; color: var(--ink); word-break: keep-all;
}
.sec-postview .pv-body blockquote.q-post,
.wc-ed-area blockquote.q-post {
  margin: 34px 0; padding: 22px 24px; border: 0; border-radius: 14px;
  background: var(--blue-l); color: var(--ink);
  font-size: 1.02em; line-height: 1.8; font-weight: 600; word-break: keep-all;
}
.sec-postview .pv-body blockquote p,
.wc-ed-area blockquote p { margin: 0; }
.sec-postview .pv-body blockquote p + p,
.wc-ed-area blockquote p + p { margin-top: .6em; }
.wc-ed-quote { position: relative; }
.wc-ed-qmenu {
  position: absolute; z-index: 30; top: calc(100% + 6px); left: 0;
  display: grid; gap: 2px; min-width: 150px; padding: 6px;
  border: 1px solid var(--s-200); border-radius: 10px; background: #fff;
  box-shadow: 0 10px 28px rgba(22,21,20, .14);
}
.wc-ed-qmenu button {
  display: block; width: 100%; padding: 8px 10px; border: 0; border-radius: 6px;
  cursor: pointer; background: none; text-align: left;
  font-family: inherit; font-size: 15px; font-weight: 700; color: var(--s-800);
}
.wc-ed-qmenu button:hover { background: var(--s-100); color: var(--blue); }
.wc-ed-qmenu button.is-off { color: var(--s-500); font-weight: 600; }
.sec-postform .pf-wrap { max-width: min(960px, 100%); }
.sec-postform .wc-ed-area { min-height: min(72vh, 720px); }
.sec-postform .wc-ed { position: relative; }
.sec-postform .wc-ed-area img { cursor: pointer; }
.wc-ed-cover {
  position: absolute; z-index: 5; pointer-events: none;
  border: 3px solid var(--blue); border-radius: 10px;
  box-shadow: 0 0 0 1px rgba(255,255,255, .6) inset;
}
.wc-ed-cover-tag {
  position: absolute; left: -3px; top: -3px;
  padding: 5px 11px 6px; border-radius: 8px 0 8px 0;
  background: var(--blue); color: #fff;
  font-size: 14px; font-weight: 800; letter-spacing: .02em; white-space: nowrap;
}
.sec-faqindex .fx-top {
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 340px);
  align-items: end; gap: clamp(28px, 3vw, 56px);
  padding-bottom: clamp(26px, 2.8vw, 38px);
}
.sec-faqindex .fx-top .sec-head { margin-bottom: 0; }
.sec-faqindex .fx-find { display: grid; gap: 7px; }
.sec-faqindex .fx-find-l {
  font-size: 14.5px; font-weight: 800; letter-spacing: .12em; color: var(--muted-2);
}
.sec-faqindex .fx-find-i {
  width: 100%; padding: 9px 2px 11px; border: 0; border-bottom: 2px solid var(--ink);
  border-radius: 0; background: none; -webkit-appearance: none; appearance: none;
  font-family: inherit; font-size: 19px; font-weight: 700; letter-spacing: -.02em; color: var(--ink);
  transition: border-color var(--dur) var(--ease);
}
.sec-faqindex .fx-find-i::placeholder { font-weight: 500; color: var(--muted-2); }
.sec-faqindex .fx-find-i:focus { outline: 0; border-bottom-color: var(--blue); }
.sec-faqindex .fx-find-i::-webkit-search-cancel-button { -webkit-appearance: none; }
.sec-faqindex .fx-find-n { margin: 0; font-size: 15px; font-weight: 700; color: var(--muted-2); }
.sec-faqindex .fx-find-n b { color: var(--blue); }
.sec-faqindex .fx-group {
  display: grid; grid-template-columns: 190px minmax(0, 1fr);
  gap: 0 clamp(32px, 3.6vw, 68px);
  margin-top: clamp(34px, 3.6vw, 52px); border-top: 2px solid var(--ink);
}
.sec-faqindex .fx-group[hidden] { display: none; }
.sec-faqindex .fx-g-head { position: sticky; top: 103px; align-self: start; padding-top: clamp(22px, 2.4vw, 30px); }
.sec-faqindex .fx-g-n {
  display: block; margin-bottom: 7px; font-family: var(--font-hero);
  font-size: 14.5px; font-weight: 800; letter-spacing: .16em; color: var(--blue);
}
.sec-faqindex .fx-g-t {
  margin: 0; font-size: clamp(20px, 1.7vw, 25px); font-weight: 800;
  letter-spacing: -.03em; color: var(--ink); word-break: keep-all;
}
.sec-faqindex .fx-g-c { display: block; margin-top: 8px; font-size: 15px; color: var(--muted-2); }
.sec-faqindex .fx-list { columns: 2; column-gap: clamp(40px, 4.2vw, 72px); }
.sec-faqindex .fx-item {
  break-inside: avoid; -webkit-column-break-inside: avoid;
  padding: clamp(22px, 2.4vw, 30px) 0 clamp(30px, 3vw, 40px); border-top: 1px solid var(--line);
}
.sec-faqindex .fx-item[hidden] { display: none; }
.sec-faqindex .fx-q {
  margin: 0 0 12px; font-size: 19px; font-weight: 800; line-height: 1.5;
  letter-spacing: -.025em; color: var(--ink); word-break: keep-all;
}
.sec-faqindex .fx-a {
  margin: 0; font-size: 18px; line-height: 1.85; color: var(--ink-2); word-break: keep-all;
}
.sec-faqindex .fx-a b { color: var(--ink); font-weight: 800; }
.sec-faqindex .fx-none {
  margin: clamp(34px, 3.6vw, 52px) 0 0; padding-top: 26px; border-top: 2px solid var(--ink);
  font-size: 18.5px; font-weight: 700; color: var(--ink-2);
}
.sec-faqindex .fx-note {
  margin: clamp(30px, 3vw, 44px) 0 0; padding-top: 22px; border-top: 1px solid var(--line);
  font-size: 16.5px; line-height: 1.8; color: var(--muted-2);
}
@media (max-width: 1000px) {
  .sec-faqindex .fx-list { columns: 1; }
  .sec-faqindex .fx-group { grid-template-columns: 150px minmax(0, 1fr); }
}
@media (max-width: 700px) {
  .sec-faqindex .fx-top { grid-template-columns: minmax(0, 1fr); align-items: start; }
  .sec-faqindex .fx-group { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  .sec-faqindex .fx-g-head {
    position: static; display: flex; align-items: baseline; gap: 10px;
  }
  .sec-faqindex .fx-g-n { margin-bottom: 0; }
  .sec-faqindex .fx-g-c { margin-top: 0; margin-left: auto; }
}
.sec-faqindex .fx-a + .fx-a { margin-top: .85em; }
.sec-faqindex .fx-list {
  columns: auto; column-gap: normal;
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 clamp(40px, 4.2vw, 72px);
}
.sec-faqindex .fx-item { break-inside: auto; }
.sec-faqindex .fx-g-head { padding-top: calc(clamp(22px, 2.4vw, 30px) - 2px); }
.sec-faqindex .fx-g-t {
  display: flex; align-items: baseline; gap: 9px;
  line-height: 1.3;
}
.sec-faqindex .fx-g-n {
  display: inline; margin-bottom: 0; flex: none;
  font-size: 14.5px; letter-spacing: .12em;
}
.sec-faqindex .fx-g-name { min-width: 0; }
.sec-faqindex .fx-g-c { margin-top: 10px; }
@media (max-width: 1000px) {
  .sec-faqindex .fx-list { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 700px) {
  .sec-faqindex .fx-g-head { padding-top: 0; }
  .sec-faqindex .fx-g-c { margin-top: 0; }
}
.sec-faqindex .fx-group { align-items: baseline; }
.sec-faqindex .fx-g-head { align-self: baseline; padding-top: 0; }
@media (max-width: 700px) {
  .sec-faqindex .fx-group { align-items: start; }
  .sec-faqindex .fx-g-head { align-self: start; }
}
.mbar a.mbar-tel { background: var(--blue); color: #fff; }
.mbar a.mbar-kakao { background: #FAE100; color: #191600; }
.mbar a.mbar-sms { background: #fff; color: var(--ink); }
.mbar a .ico { color: inherit; }
.sec-arealist .ar-cnt {
  display: inline-block; margin-left: 8px; padding: 2px 8px 3px;
  border-radius: var(--r-pill); background: var(--blue-l); color: var(--blue);
  font-size: 14px; font-weight: 800; letter-spacing: -.01em; vertical-align: 2px;
}
.sec-arealist .ar-in:hover .ar-cnt { background: var(--blue); color: #fff; }
.sec-head-center .sec-title { max-width: 24ch; margin-inline: auto; }
.sec-head-center .sec-num { margin-inline: auto; }
.sec-head-center .kicker { text-align: center; }
:root {
  --fs-h2: clamp(34px, 4.8vw, 66px);
  --fs-h3: clamp(21px, 1.95vw, 27px);
  --lead:  clamp(19px, 1.6vw, 23px);
}
body { font-size: 19px; }
.sec-num { font-size: 17px; }
.kicker { font-size: 17.5px; }
.sec-sub { line-height: 1.75; }
.gnb > ul > li > a { font-size: 19px; }
.hdr-tel span { font-size: 20px; }
.hdr-btn { font-size: 17.5px; padding-inline: 22px; }
.hero-console {
  max-width: 560px; padding: 32px 30px 28px;
  background: rgba(20,20,18, .42);
  border-color: rgba(255,255,255, .16);
}
.hero-console .hcon-st { font-size: 17px; }
.hero-console .hcon-num { font-size: clamp(32px, 3.2vw, 42.8px); }
.hero-console .hcon-note { font-size: 17.5px; line-height: 1.7; }
.hero-console .hcon-facts { font-size: 16.5px; }
.hero-flow { display: none !important; }
.str-card {
  background: rgba(255,255,255, .10);
  border-color: rgba(255,255,255, .20);
}
.str-ico { width: 40px; height: 40px; color: var(--blue-on-dark); opacity: 1; }
.str-ico svg { width: 100%; height: 100%; }
.str-value { font-size: clamp(28px, 2.4vw, 34.7px); }
.str-label { font-size: 17.5px; }
.price-table .price-name { font-size: 19.5px; }
.price-table .price-note { font-size: 17px; }
.price-card li { padding-block: 20px; }
.price-ico { width: 40px; height: 40px; }
.price-why-t { font-size: clamp(21px, 1.8vw, 27px); }
.price-why-d { font-size: clamp(18px, 1.4vw, 20.5px); line-height: 1.7; }
.price-flow-t { font-size: clamp(18px, 1.4vw, 20.5px); line-height: 1.45; }
.price-info-t { font-size: clamp(24px, 2.2vw, 32px); }
.pb-flowline { display: none !important; }
.ev-q { font-size: clamp(21px, 1.8vw, 25px); }
.ev-desc { font-size: 19px; line-height: 1.8; }
.ev-name { font-size: 19.5px; }
.ev-pdesc { font-size: 17.5px; }
.ev-t1 { font-size: clamp(20px, 1.7vw, 24px); }
.faq-list { border-top: 0; }
.faq-item { border-left: 10px solid transparent; padding-left: 0; transition: border-color var(--dur), background-color var(--dur); }
.faq-item.open { border-left-color: #dec993; }
.sec-faq .faq-item.open { border-radius: 0 12px 12px 0; }
.cz-name { font-size: clamp(21px, 1.8vw, 25px); }
.cz-main p, .cz-why, .cz-do { font-size: 18px; line-height: 1.8; }
.cz-no { font-size: clamp(23px, 2vw, 29px); }
.cz-cell { font-size: 18px; }
.sec-compare.sec-bg-dark .cmp-bad {
  background: rgba(255,255,255, .09);
  box-shadow: inset 0 0 0 1px rgba(255,255,255, .20);
}
.sec-compare.sec-bg-dark .cmp-good {
  background: rgba(236,197,97, .20);
  box-shadow: inset 0 0 0 1px rgba(236,197,97, .52), 0 24px 56px rgba(8,8,7, .45);
}
.cmp-name { font-size: clamp(21px, 1.8vw, 25px); }
.cmp-body { font-size: 18px; line-height: 1.8; background: none; }
.sec-banner { align-items: center; padding-bottom: clamp(28px, 3.2vw, 44px); }
.bn-in { padding-bottom: 0; }
.bn-sub { font-size: clamp(18px, 1.4vw, 21px); }
.steps-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(34px, 3.4vw, 52px) clamp(18px, 2vw, 30px);
  border-top: 0;
}
.step-card,
.step-card:nth-child(3n+1),
.step-card:nth-child(3n+2),
.step-card:nth-child(3n),
.step-card:nth-child(2n),
.step-card:nth-child(2n+1) {
  position: relative;
  padding: 40px 22px 30px;
  border: 1px solid rgba(255,255,255, .16);
  border-left: 1px solid rgba(255,255,255, .16);
  border-radius: 16px;
  background: rgba(255,255,255, .07);
  text-align: center;
}
.step-card::before,
.step-card + .step-card::after,
.step-card:nth-child(3n+1)::after { content: none !important; }
.step-no {
  position: absolute; left: 50%; top: 0; transform: translate(-50%, -50%);
  width: 46px; height: 46px; margin: 0;
  display: inline-flex; align-items: center; justify-content: center;
  border-radius: 999px; background: var(--blue); color: #fff;
  font-family: var(--font-display); font-size: 18px; font-weight: 800;
  letter-spacing: 0; box-shadow: none;
}
.step-name { margin-top: 0; font-size: clamp(20px, 1.6vw, 24px); }
.step-desc { margin-top: 10px; max-width: none; font-size: 17.5px; }
.step-ico { display: none; }
@media (max-width: 1024px) {
  .steps-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
  .steps-grid { grid-template-columns: minmax(0, 1fr); gap: 34px; }
  .step-card,
  .step-card:nth-child(3n+1),
  .step-card:nth-child(3n+2),
  .step-card:nth-child(3n),
  .step-card:nth-child(2n),
  .step-card:nth-child(2n+1) { padding: 38px 20px 26px; }
  .step-no { position: absolute; left: 50%; top: 0; }
}
.sec-reviews .sec-head.sec-head-center { justify-items: center; text-align: center; }
.sec-reviews .sec-head.sec-head-center .sec-num,
.sec-reviews .sec-head.sec-head-center .sec-title,
.sec-reviews .sec-head.sec-head-center .sec-sub { justify-self: center; }
.sec-reviews .sec-head.sec-head-center .sec-title { margin-inline: auto; }
.hero-in { grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); }
@media (max-width: 1024px) {
  .hero-in { grid-template-columns: minmax(0, 1fr); }
}
.sec-banner { padding: clamp(52px, 5.6vw, 84px) 0; }
@media (max-width: 760px) {
  .sec-banner { padding: clamp(40px, 9vw, 64px) 0; }
}
.nfr-land-p {
  fill: url("#nfr-fill");
  stroke: rgba(241,213,140, .85);
  stroke-width: .7;
  stroke-linejoin: round;
  paint-order: fill stroke;
}
.nfr-halo { fill: none; stroke: #ecc561; stroke-linejoin: round; stroke-linecap: round; }
.nfr-halo-3 { stroke-width: 7; opacity: .05; }
.nfr-halo-2 { stroke-width: 3.6; opacity: .09; }
.nfr-halo-1 { stroke-width: 1.5; opacity: .20; }
.pt-halo { fill: rgba(236,197,97, .22); }
.pt-core { fill: #f8eac6; }
.pt-ping { fill: none; stroke: rgba(241,213,140, .55); stroke-width: .6; }
.pt-tag {
  fill: rgba(250,246,235, .94);
  font-size: 4.1px; font-weight: 800; letter-spacing: -.02em;
  paint-order: stroke fill;
  stroke: rgba(15,15,13, .75); stroke-width: 1.1; stroke-linejoin: round;
}
.nfr-map {
  background: radial-gradient(46% 42% at 48% 46%, rgba(192,147,33, .26), rgba(192,147,33, 0) 74%);
}
.sym-card { overflow: visible; }
.sym-media { border-radius: 18px 18px 0 0; }
.sym-no {
  right: auto; left: 50%; top: 0; transform: translate(-50%, -50%);
  width: 38px; height: 38px; border-radius: 50%;
  background: var(--blue); color: #fff; font-size: 16px;
  box-shadow: 0 3px 10px rgba(192,147,33, .35);
  z-index: 3;
}
.sym-body { padding: 20px 22px 0; text-align: center; }
.sym-name { justify-content: center; min-height: 2.4em; }
.sym-dl { margin-top: 14px; border-top: 0; }
.sym-dl dt {
  position: relative; z-index: 2;
  width: -moz-fit-content; width: fit-content;
  margin: 0 auto -13px; padding: 4px 16px 5px;
  border: 0; border-radius: 999px;
  background: var(--blue-d); color: #fff;
  font-size: 15px; font-weight: 800; letter-spacing: 0;
}
.sym-dl dd + dt { margin-top: 0; border-top: 0; }
.sym-dl dt::before { content: none; }
.sym-dl dd {
  margin: 0 -22px; min-height: 0;
  padding: 24px 18px 18px;
  font-size: 17.5px; line-height: 1.65; text-align: center;
  background: var(--blue-l); color: var(--ink-2);
}
.sym-dl dd:not(.sym-action) { margin-bottom: 0; padding-bottom: 18px; }
.sym-dl dd.sym-action {
  margin-top: 0; flex: 1 1 auto;
  padding: 24px 18px 22px;
  border-radius: 0 0 18px 18px;
  background: var(--blue-d); color: #fff;
  font-size: 18px; font-weight: 800; line-height: 1.6;
}
.sym-dl dt:has(+ .sym-action) { background: #fff; color: var(--blue-d); box-shadow: 0 2px 8px rgba(10,10,9, .16); }
.sym-feature .sym-body { text-align: center; }
.faq-item.open .faq-q,
.faq-item.open .faq-a-in { padding-left: inherit; }
.sec-faq .faq-item.open .faq-q { padding-left: 20px; }
.sec-faq .faq-item.open .faq-a-in { padding-left: 20px; }
@media (max-width: 760px) {
  .sec-faq .faq-item.open .faq-q { padding-left: 16px; }
  .sec-faq .faq-item.open .faq-a-in { padding-left: 16px; }
}
.faq-item.open::before { content: none; }
.sec-ctaband { text-align: center; }
.sec-ctaband .cb-in { text-align: center; }
.sec-ctaband .cb-copy { margin-inline: auto; }
.sec-ctaband .cb-text,
.sec-ctaband .cb-sub { margin-inline: auto; text-align: center; }
.sec-ctaband .cb-call {
  flex-direction: column; align-items: center; justify-content: center;
  gap: clamp(14px, 1.6vw, 22px); text-align: center;
}
.sec-ctaband .cb-call-side { display: grid; justify-items: center; gap: 6px; }
.sec-ctaband .cb-call-main { justify-content: center; }
.sec-ctaband .cb-extra { text-align: center; }
.sym-no {
  top: 0; left: 50%; transform: translateX(-50%);
  width: 48px; height: 31px;
  border-radius: 0 0 24px 24px;
  font-size: 16.5px; letter-spacing: .01em;
  box-shadow: none;
}
.sym-dl dt {
  display: flex; align-items: center; justify-content: center;
  height: 29px; padding: 0 18px 1px;
  margin: 0 auto -29px;
  border-radius: 0 0 15px 15px;
}
.sym-dl dd { padding-top: 44px; }
.sym-dl dd.sym-action { padding-top: 44px; }
.price-why-d { max-width: 24ch; }
.price-why-ico { width: 84px; height: 84px; }
.price-why-ico .ico { width: 40px; height: 40px; }
.price-flow { gap: clamp(10px, 1.2vw, 18px); }
.price-flow li { padding: 16px 20px; gap: 12px; }
.price-flow-no {
  width: 32px; height: 32px; font-size: 16px;
}
.price-table .price-name { font-size: clamp(19px, 1.5vw, 21.5px); }
.price-table .price-note { font-size: clamp(16px, 1.2vw, 17.5px); }
@media (max-width: 900px) {
  .price-why-ico { width: 70px; height: 70px; }
  .price-flow li { padding: 14px 16px; }
}
.nfr-grid { grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr); }
.nfr-map { aspect-ratio: 10 / 12; max-width: none; }
.nfr-land { inset: 0; width: 100%; height: 100%; }
.nfr-land-p {
  fill: url("#nfr-land-g");
  stroke: rgba(243,221,162, .62);
  stroke-width: .5;
  stroke-linejoin: round;
}
.nfr-halo { fill: none; stroke: #edc96c; stroke-linejoin: round; stroke-linecap: round; }
.nfr-halo-3 { stroke-width: 6; opacity: .10; }
.nfr-halo-2 { stroke-width: 2.6; opacity: .16; }
.nfr-div path {
  fill: none;
  stroke: rgba(248,234,197, .34);
  stroke-width: .45;
  stroke-linecap: round;
  vector-effect: non-scaling-stroke;
}
.pt-pin { fill: #fbf4e1; }
.pt-halo { fill: rgba(240,211,135, .30); }
.pt-core { fill: none; }
.pt-ping { fill: none; stroke: rgba(243,221,162, .45); stroke-width: .5; }
.nfr-map {
  background: radial-gradient(44% 40% at 46% 46%, rgba(192,147,33, .30), rgba(192,147,33, 0) 74%);
}
@media (max-width: 900px) {
  .nfr-grid { grid-template-columns: minmax(0, 1fr); }
  .nfr-map { width: 100%; max-width: 460px; margin: 6px auto 0; }
}
.nfr-map {
  aspect-ratio: 1000 / 1449;
  max-width: none; border: 0; border-radius: 0;
  background: radial-gradient(46% 40% at 48% 42%, rgba(192,147,33, .26), rgba(192,147,33, 0) 72%);
}
.nfr-map-img {
  position: absolute; inset: 0; width: 100%; height: 100%;
  object-fit: contain; opacity: 1;
}
.nfr-pins { position: absolute; inset: 0; margin: 0; padding: 0; list-style: none; }
.nfr-pin { position: absolute; width: 0; height: 0; }
.nfr-pin-mark {
  position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%);
  width: 11px; height: 11px; border-radius: 50%;
  background: #FFFFFF; box-shadow: 0 0 0 3.5px rgba(44,42,37, .85), 0 2px 6px rgba(12,12,10, .5);
}
.nfr-pin-ping {
  position: absolute; left: 50%; top: 50%; margin: -13px 0 0 -13px;
  width: 26px; height: 26px; border-radius: 50%;
  border: 1.5px solid rgba(248,234,197, .55); opacity: 0;
}
.has-motion .nfr-pin-ping { animation: nfr-ping 3.2s var(--pd, 0s) ease-out infinite; }
.anim-idle .nfr-pin-ping { animation-play-state: paused; }
.nfr-pin-name {
  position: absolute; white-space: nowrap;
  font-size: clamp(13px, 1.05vw, 16px); font-weight: 800; letter-spacing: -.02em;
  color: #fefbf3;
  text-shadow: 0 1px 2px rgba(12,12,10, .95), 0 0 6px rgba(12,12,10, .8);
}
.nfr-pin.is-r .nfr-pin-name { left: 14px; top: 50%; transform: translateY(-50%); }
.nfr-pin.is-l .nfr-pin-name { right: 14px; top: 50%; transform: translateY(-50%); }
.nfr-pin.is-t .nfr-pin-name { left: 50%; bottom: 14px; transform: translateX(-50%); }
.nfr-pin.is-b .nfr-pin-name { left: 50%; top: 14px; transform: translateX(-50%); }
@media (max-width: 900px) {
  .nfr-map { width: 100%; max-width: 460px; margin: 6px auto 0; }
}
@media (max-width: 520px) {
  .nfr-pin-mark { width: 9px; height: 9px; box-shadow: 0 0 0 3px rgba(44,42,37, .85); }
  .nfr-pin-name { font-size: 12px; }
}
.sec-sub,
.nfr-desc,
.cs-excerpt,
.sym-dl dd,
.price-why-d,
.step-desc,
.fx-a { text-wrap: pretty; }
.sec-faqindex .fx-top {
  grid-template-columns: minmax(0, 1fr);
  justify-items: center;
  gap: clamp(22px, 2.4vw, 34px);
}
.sec-faqindex .fx-top .sec-head { width: 100%; }
.sec-faqindex .fx-find {
  width: 100%; max-width: 420px; justify-items: center; text-align: center;
}
.sec-faqindex .fx-find-i { text-align: center; }
.sec-faqindex .fx-find-n { text-align: center; }
.pb-pipe { display: none !important; }
.nfr-pin-name {
  font-size: clamp(15px, 1.25vw, 19px); font-weight: 800; letter-spacing: -.03em;
  color: #1f1e1a;
  text-shadow:
    0 0 3px rgba(255,255,255, .95), 0 0 6px rgba(255,255,255, .9),
    1px 1px 0 rgba(255,255,255, .95), -1px -1px 0 rgba(255,255,255, .95);
}
.nfr-pin-mark {
  width: 13px; height: 13px;
  background: #1f1e1a; box-shadow: 0 0 0 3.5px rgba(255,255,255, .92), 0 2px 6px rgba(12,12,10, .35);
}
.nfr-pin-ping { border-color: rgba(31,30,26, .45); }
.nfr-pin.is-r .nfr-pin-name { left: 16px; }
.nfr-pin.is-l .nfr-pin-name { right: 16px; }
.nfr-pin.is-t .nfr-pin-name { bottom: 16px; }
.nfr-pin.is-b .nfr-pin-name { top: 16px; }
:root {
  --fs-hero: clamp(44px, 6.8vw, 96px);
  --fs-h2:   clamp(36px, 5vw, 70px);
  --fs-h3:   clamp(22px, 2.1vw, 29px);
  --lead:    clamp(20px, 1.7vw, 25px);
}
body { font-size: 20px; }
.sec-sub { line-height: 1.72; }
.kicker { font-size: 17px; }
.price-table .price-name { font-size: clamp(19px, 1.7vw, 22px); }
.price-table .price-note { font-size: clamp(15px, 1.3vw, 17px); }
.price-why-t { font-size: clamp(21px, 2vw, 27px); }
.price-why-d { font-size: clamp(17px, 1.5vw, 20px); }
.price-flow-t { font-size: clamp(17px, 1.5vw, 20px); }
.price-info-t { font-size: clamp(24px, 2.4vw, 33px); }
.price-flow-no { width: 34px; height: 34px; font-size: 15px; }
.sym-name { font-size: clamp(19px, 1.6vw, 23px); }
.sym-dl dd { font-size: 17.5px; }
.sym-dl dd.sym-action { font-size: 18px; }
.sym-dl dt { font-size: 14px; height: 31px; margin-bottom: -31px; }
.sym-dl dd, .sym-dl dd.sym-action { padding-top: 46px; }
.cz-name { font-size: clamp(21px, 2vw, 26px); }
.cz-main p, .cz-why, .cz-do, .cz-cell { font-size: 17.5px; }
.cmp-name { font-size: clamp(23px, 2vw, 28px); }
.cmp-body { font-size: 19px; }
.faq-qt { font-size: clamp(19px, 1.7vw, 24px); }
.faq-a-in { font-size: 18px; }
.step-name { font-size: clamp(20px, 1.8vw, 24px); }
.step-desc { font-size: 17px; }
.str-label { font-size: 17px; }
.ev-desc { font-size: 18.5px; }
.cs-title { font-size: 21px; }
.cs-excerpt { font-size: 17.5px; }
.price-table .price-val {
  font-family: var(--font-hero);
  font-size: clamp(24px, 2.4vw, 34px);
  font-weight: 800;
  letter-spacing: -.035em;
  line-height: 1.15;
}
.price-table .price-val.is-quote {
  font-family: var(--font);
  font-size: clamp(16px, 1.4vw, 19px);
  font-weight: 700;
  letter-spacing: -.01em;
}
.price-card li { padding-block: 24px; }
.str-banner-text { border-left: 0 !important; padding-left: 0 !important; }
.str-banner-text::before { content: none !important; }
.str-banner-in > *::before { content: none; }
@media (min-width: 1025px) {
  .sec-faq > .wrap { grid-template-columns: max-content minmax(0, 1fr); }
  .sec-faq .sec-title { white-space: nowrap; max-width: none; }
  .sec-faq .sec-sub { max-width: 30ch; }
}
.sec-steps .sec-head { text-align: center; }
.cz-name  { font-size: clamp(23px, 2.2vw, 29px); }
.cz-no    { font-size: clamp(24px, 2.2vw, 32px); }
.cz-main p, .cz-why, .cz-do, .cz-cell { font-size: 19px; line-height: 1.78; }
.cz-cell strong, .cz-why strong, .cz-do strong { font-size: 16px; }
.cz-row   { padding-block: clamp(26px, 2.6vw, 36px); }
.cz-note  { text-align: center; margin-inline: auto; max-width: 74ch; font-size: 18px; }
.faq-qt   { font-size: clamp(21px, 1.9vw, 26px); }
.faq-a-in { font-size: 19px; line-height: 1.85; }
.sec-faqindex .fx-q { font-size: 20px; }
.sec-faqindex .fx-a { font-size: 18px; line-height: 1.85; }
.sec-faqindex .fx-g-t { font-size: clamp(21px, 1.9vw, 26px); }
.sym-dl dd { font-size: 18px; }
.sym-dl dd.sym-action { font-size: 18.5px; }
.str-label { font-size: 18px; }
.str-value { font-size: clamp(28px, 2.6vw, 38px); }
.ev-pdesc { font-size: 17px; }
.ev-name { font-size: 19px; }
.step-desc { font-size: 18px; }
.cs-excerpt { font-size: 18px; }
.nfr-desc { font-size: clamp(19px, 1.5vw, 22px); }
.sec-causes .cz-why,
.sec-causes .cz-do,
.sec-causes .cz-cell,
.sec-causes .cz-main p { font-size: 19px; line-height: 1.78; }
.sec-causes .cz-name { font-size: clamp(23px, 2.2vw, 29px); }
.sec-causes .cz-note { text-align: center; margin-inline: auto; max-width: 74ch; font-size: 18px; }
.sec-strengths .sec-sub { padding-left: 0; border-left: 0; }
.hero-in { grid-template-columns: minmax(0, 1.02fr) minmax(0, 1fr); }
.hero-console { max-width: 660px; padding: 36px 34px 32px; }
.hero-console .hcon-num { font-size: clamp(34px, 3.6vw, 48px); }
.hero-console .hcon-st { font-size: 16px; }
.hero-console .hcon-note { font-size: 16.5px; }
.hero-console .hcon-facts { font-size: 15.5px; }
.hero-console {
  -webkit-backdrop-filter: blur(20px) saturate(1.25);
  backdrop-filter: blur(20px) saturate(1.25);
  background: rgba(20,20,18, .38);
}
@media (max-width: 1024px) {
  .hero-in { grid-template-columns: minmax(0, 1fr); }
  .hero-console { max-width: 100%; padding: 24px 22px 22px; }
}
.nfr-note { text-align: center; margin-inline: auto; max-width: 72ch; }
.nfr-areas { justify-content: center; }
.sec-ctaband .cb-text { max-width: 1120px; margin-inline: auto; }
.sec-ctaband { padding: clamp(88px, 9vw, 140px) 0; }
.sec-ctaband .cb-in { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: clamp(30px, 3.4vw, 52px); }
.sec-ctaband .cb-copy { margin: 0; }
.sec-ctaband .cb-call { margin: 0; width: 100%; }
@media (min-width: 1500px) {
  :root { --wrap: 1400px; }
}
@media (min-width: 1800px) {
  :root { --wrap: 1480px; }
}
.hero-console { padding: 44px 36px 40px; }
.hero-console .hcon-facts { margin-top: 20px; gap: 12px; }
.hero-console .hcon-facts li { padding: 13px 14px; }
@media (max-width: 1024px) {
  .hero-console { padding: 26px 22px 24px; }
}
.hero-console { padding: 58px 40px 54px; }
.hero-console .hcon-st { font-size: 17.5px; }
.hero-console .hcon-num { font-size: clamp(38px, 4vw, 58px); margin-top: 18px; }
.hero-console .hcon-note { margin-top: 15px; font-size: 17.5px; line-height: 1.72; }
.hero-console .hcon-facts { margin-top: 28px; gap: 14px; font-size: 16.5px; }
.hero-console .hcon-facts li { padding: 17px 15px; }
@media (max-width: 1200px) {
  .hero-console { padding: 40px 30px 36px; }
  .hero-console .hcon-facts { margin-top: 20px; gap: 11px; }
  .hero-console .hcon-facts li { padding: 13px 13px; }
}
@media (max-width: 1024px) {
  .hero-console { padding: 30px 24px 28px; }
  .hero-console .hcon-num { margin-top: 12px; }
  .hero-console .hcon-note { margin-top: 11px; }
}
.sec-caselatest .cs-grid { gap: clamp(18px, 2vw, 30px); align-items: stretch; }
.sec-caselatest .cs-card { display: flex; }
.sec-caselatest .cs-in {
  display: flex; flex-direction: column; width: 100%;
  background: #fff; border-radius: var(--r); overflow: hidden;
  box-shadow: inset 0 0 0 1px var(--line);
  transition: transform .45s var(--ease), box-shadow .45s var(--ease);
}
.sec-caselatest a.cs-in:hover {
  transform: translateY(-5px);
  box-shadow: inset 0 0 0 1px var(--line), 0 2px 6px rgba(16,16,15, .06), 0 22px 46px rgba(16,16,15, .13);
}
.sec-caselatest .cs-thumb { border-radius: 0; }
.sec-caselatest .cs-body { flex: 1 1 auto; gap: 10px; padding: clamp(20px, 1.9vw, 26px) clamp(20px, 1.9vw, 26px) 0; }
.sec-caselatest .cs-excerpt {
  display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical;
  overflow: hidden; margin-bottom: 2px;
}
.sec-caselatest .cs-meta {
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  margin-top: clamp(16px, 1.6vw, 20px);
  padding: 14px clamp(20px, 1.9vw, 26px);
  border-top: 1px solid var(--line);
}
.sec-caselatest .cs-meta-l { display: flex; align-items: center; gap: 12px; min-width: 0; }
.sec-caselatest .cs-region {
  display: inline-flex; align-items: center; gap: 4px;
  font-size: 16px; font-weight: 700; color: var(--blue);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.sec-caselatest .cs-region .ico { flex: none; color: var(--blue); }
.sec-caselatest .cs-date { margin: 0; font-size: 16px; color: var(--muted-2); font-variant-numeric: tabular-nums; }
.sec-caselatest .cs-go {
  flex: none; display: inline-flex; align-items: center; justify-content: center;
  width: 32px; height: 32px; border-radius: 50%;
  background: var(--paper); color: var(--muted);
  transition: background .35s var(--ease), color .35s var(--ease), transform .35s var(--ease);
}
.sec-caselatest a.cs-in:hover .cs-go { background: var(--blue); color: #fff; transform: translateX(3px); }
.sec-caselatest .cs-foot { text-align: center; }
@media (max-width: 560px) {
  .sec-caselatest .cs-meta { padding: 12px 18px; }
  .sec-caselatest .cs-region, .sec-caselatest .cs-date { font-size: 15px; }
}
.hero-stage {
  min-height: min(96vh, 1020px);
  padding: clamp(150px, 17vw, 262px) 0 clamp(120px, 12.5vw, 200px);
}
.hero-console .hcon-facts { gap: 1px; }
.hero-console .hcon-facts li { padding: 19px 16px; }
@media (max-width: 1200px) {
  .hero-console .hcon-facts { gap: 1px; }
  .hero-console .hcon-facts li { padding: 14px 13px; }
}
@media (max-width: 1024px) {
  .hero-stage { min-height: 0; padding: clamp(112px, 17vw, 150px) 0 clamp(72px, 10vw, 110px); }
}
.gnb > ul > li > a { white-space: nowrap; }
@media (min-width: 1280px) {
  .gnb > ul > li > a { font-size: 21px; }
  .gnb .sub a { font-size: 18px; }
}
@media (max-width: 1200px) {
  .gnb { display: none; }
  .burger { display: inline-flex; }
}
.hero-in {
  align-items: stretch;
  grid-template-columns: minmax(clamp(520px, 41.5vw, 600px), .88fr) minmax(0, 1fr);
  gap: clamp(24px, 2.6vw, 44px);
}
.hero-copy { align-self: center; }
.hero-console {
  display: flex; flex-direction: column;
  max-width: 720px;
  background: linear-gradient(155deg, rgba(39,38,35, .90) 0%, rgba(27,27,24, .87) 44%, rgba(19,18,17, .85) 100%);
}
.hero-console .hcon-note { margin-bottom: 30px; }
.hero-console .hcon-facts { margin-top: auto; }
@media (max-width: 1024px) {
  .hero-in { grid-template-columns: minmax(0, 1fr); align-items: start; gap: 36px; }
  .hero-console { max-width: 100%; }
  .hero-console .hcon-note { margin-bottom: 0; }
  .hero-console .hcon-facts { margin-top: 20px; }
}
.hero-console .hcon-note {
  margin-top: 22px; padding-top: 22px;
  border-top: 1px solid rgba(255,255,255, .14);
  font-size: 18.5px; line-height: 1.6; font-weight: 600;
  color: rgba(250,245,232, .9);
}
.hero-console .hcon-note .gtext {
  font-style: normal; font-weight: 800; color: var(--blue-on-dark);
}
@media (max-width: 1024px) {
  .hero-console .hcon-note { margin-top: 16px; padding-top: 16px; font-size: 17px; }
}
.hero-console .hcon-note { text-wrap: balance; }
.hero-console .hcon-note { font-size: 22px; line-height: 1.55; }
@media (max-width: 1024px) {
  .hero-console .hcon-note { font-size: 19px; }
}
.ev-name { font-size: clamp(21px, 1.7vw, 25px); }
.ev-pdesc { font-size: 19px; line-height: 1.62; max-width: 25ch; }
.ev-ico { width: 88px; height: 88px; margin-bottom: 20px; }
.ev-ico .ico { width: 42px; height: 42px; }
@media (max-width: 760px) {
  .ev-ico { width: 74px; height: 74px; }
  .ev-ico .ico { width: 36px; height: 36px; }
  .ev-pdesc { font-size: 18px; }
}
.hero-console .hcon-facts li {
  font-size: clamp(17px, 1.25vw, 21px);
  padding: clamp(18px, 1.7vw, 27px) clamp(14px, 1.2vw, 20px);
  gap: 10px;
}
.hero-console .hcon-facts .ico { width: 18px; height: 18px; }
@media (max-width: 420px) {
  .hero-console .hcon-facts { grid-template-columns: minmax(0, 1fr); }
  .hero-console .hcon-facts li { font-size: 18px; padding: 15px 16px; }
}
.sec-causes .cz-no { font-size: clamp(30px, 3vw, 48px); }
.sec-causes .cz-name { font-size: clamp(25px, 2.5vw, 34px); }
.sec-causes .cz-why,
.sec-causes .cz-main p { font-size: 21px; line-height: 1.76; }
.sec-causes .cz-cell { padding: clamp(16px, 1.6vw, 24px); }
.sec-causes .cz-cell dt { font-size: 17.5px; letter-spacing: .08em; gap: 8px; }
.sec-causes .cz-cell dt::before { width: 12px; }
.sec-causes .cz-cell dd { margin-top: 10px; font-size: 20px; line-height: 1.68; }
.sec-causes .cz-note { font-size: 20px; }
@media (max-width: 760px) {
  .sec-causes .cz-no { font-size: 30px; }
  .sec-causes .cz-name { font-size: 25px; }
  .sec-causes .cz-why,
  .sec-causes .cz-main p { font-size: 19px; }
  .sec-causes .cz-cell dt { font-size: 16px; }
  .sec-causes .cz-cell dd { font-size: 18.5px; }
  .sec-causes .cz-note { font-size: 18px; }
}
.sec-ctaband { padding-bottom: clamp(56px, 5.8vw, 90px); }
.sec-ctaband .cb-call { padding-top: clamp(56px, 5.8vw, 90px); }
@media (min-width: 1200px) {
  .nfr-pin-name {
    padding: 2px 6px 3px;
    border-radius: 999px;
    background: #fff;
    line-height: 1.3;
    text-shadow: none;
  }
  .nfr-pin.is-r .nfr-pin-name { left: 11px; }
  .nfr-pin.is-l .nfr-pin-name { right: 11px; }
  .nfr-pin.is-t .nfr-pin-name { bottom: 11px; }
  .nfr-pin.is-b .nfr-pin-name { top: 11px; }
}
@media (max-width: 520px) {
  .nfr-pin-name { font-size: 14px; line-height: 1.1; }
  .nfr-pin.is-r .nfr-pin-name { left: 9px; }
  .nfr-pin.is-l .nfr-pin-name { right: 9px; }
  .nfr-pin.is-t .nfr-pin-name { bottom: 9px; }
  .nfr-pin.is-b .nfr-pin-name { top: 9px; }
  .nfr-pin-mark { width: 9px; height: 9px; }
}
.sec-num,
.ev-copy .sec-num { margin-bottom: 0; }
.kicker,
.sec-banner ~ .sec .kicker,
.sec-banner ~ section .kicker { margin-bottom: 26px; }
@media (min-width: 1280px) {
  .gnb > ul > li > a { font-size: 25px; }
}
@media (min-width: 1280px) and (max-width: 1499px) {
  .gnb > ul > li > a { padding-left: 10px; padding-right: 10px; }
}
@media (max-width: 1279px) {
  .gnb { display: none; }
  .burger { display: inline-flex; }
}
@media (max-width: 1080px) {
  .sec-num,
  .ev-copy .sec-num { margin-bottom: -18px; }
  .kicker,
  .sec-banner ~ .sec .kicker,
  .sec-banner ~ section .kicker { margin-bottom: 0; }
}
.sec.sec-promoticket {
  position: relative;
  background: var(--paper);
  padding: clamp(80px, 8vw, 132px) 0 clamp(76px, 7.4vw, 120px);
  text-align: left; color: var(--ink);
}
.pt-in {
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .96fr);
  gap: clamp(40px, 5vw, 92px); align-items: center;
}
.sec-promoticket:not(.has-visual) .pt-in { grid-template-columns: minmax(0, 1fr); }
.pt-pill {
  display: inline-flex; align-items: center; gap: 11px; margin: 0;
  padding: 10px 20px 11px; border-radius: 999px;
  background: #fff; box-shadow: inset 0 0 0 1px rgba(192,147,33, .22), 0 4px 14px rgba(32,31,28, .06);
  font-size: clamp(16px, 1.2vw, 19px); font-weight: 700; letter-spacing: -.01em; color: var(--blue);
}
.pt-dot { position: relative; flex: none; width: 9px; height: 9px; border-radius: 50%; background: var(--blue); }
.pt-dot::after {
  content: ""; position: absolute; inset: -5px; border-radius: 50%;
  border: 2px solid rgba(192,147,33, .55); animation: pt-ping 1.8s ease-out infinite;
}
@keyframes pt-ping { 0% { transform: scale(.5); opacity: 1; } 100% { transform: scale(1.8); opacity: 0; } }
@media (prefers-reduced-motion: reduce) { .pt-dot::after { animation: none; opacity: 0; } }
.pt-title { margin: clamp(20px, 1.8vw, 28px) 0 0; font-family: var(--font-display); font-weight: 700; color: var(--ink); word-break: keep-all; }
.pt-lead { display: block; font-size: clamp(26px, 2.3vw, 40px); line-height: 1.28; letter-spacing: -.03em; color: var(--ink-2); }
.pt-main { display: block; margin-top: clamp(2px, .4vw, 6px); font-size: clamp(44px, 4.3vw, 76px); line-height: 1.14; letter-spacing: -.04em; }
.pt-main .gtext { font-style: normal; color: var(--blue); }
.pt-sub { margin: clamp(16px, 1.4vw, 22px) 0 0; font-size: clamp(19px, 1.45vw, 23px); font-weight: 700; line-height: 1.5; color: var(--ink-2); word-break: keep-all; }
.pt-desc { margin: 10px 0 0; max-width: 36em; font-size: clamp(17px, 1.2vw, 19px); line-height: 1.75; color: var(--muted); word-break: keep-all; }
.pt-benefits {
  list-style: none; margin: clamp(26px, 2.4vw, 36px) 0 0; padding: 0;
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px;
}
.pt-bf {
  display: flex; flex-direction: column; gap: 12px;
  padding: 18px 18px 20px; border-radius: 18px; background: #fff;
  box-shadow: 0 0 0 1px var(--line), 0 10px 26px rgba(32,31,28, .06);
}
.pt-bf-ico { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 12px; background: var(--blue-l); color: var(--blue); }
.pt-bf-t { display: flex; flex-direction: column; gap: 4px; }
.pt-bf-label { font-size: clamp(17px, 1.25vw, 19px); font-weight: 800; letter-spacing: -.02em; color: var(--ink); }
.pt-bf-text { font-size: 15.5px; line-height: 1.5; color: var(--muted); word-break: keep-all; }
.pt-visual { position: relative; padding-top: clamp(40px, 4vw, 70px); }
.pt-stage { position: relative; height: clamp(340px, 30vw, 500px); }
.pt-stage-bg {
  position: absolute; inset: 0; overflow: hidden; border-radius: 36px;
  background:
    radial-gradient(80% 90% at 72% 18%, rgba(255,255,255, .22), rgba(255,255,255, 0) 60%),
    linear-gradient(160deg, #dcb244 0%, var(--blue) 48%, #92701a 100%);
  box-shadow: 0 30px 70px rgba(126,98,25, .26);
}
.pt-stage-bg::before {
  content: ""; position: absolute; right: -22%; top: 50%; width: 110%; aspect-ratio: 1;
  transform: translateY(-50%); border-radius: 50%;
  background: repeating-radial-gradient(circle, rgba(255,255,255, .12) 0 2px, rgba(255,255,255, 0) 2.5px 30px);
  -webkit-mask-image: radial-gradient(circle, #000 20%, transparent 68%);
          mask-image: radial-gradient(circle, #000 20%, transparent 68%);
}
.pt-person {
  position: absolute; right: 7%; bottom: 0; z-index: 1;
  height: 116%; width: auto; max-width: none;
  filter: drop-shadow(0 18px 30px rgba(26,25,21, .28));
}
.pt-screen {
  position: absolute; z-index: 2; margin: 0;
  left: calc(-1 * clamp(18px, 2.2vw, 40px)); bottom: clamp(28px, 3vw, 50px);
  width: clamp(190px, 16.5vw, 270px); aspect-ratio: 4 / 3;
  border-radius: 18px; overflow: hidden; background: #11110f;
  box-shadow: 0 0 0 6px #fff, 0 22px 50px rgba(22,21,18, .30);
}
.pt-screen img { display: block; width: 100%; height: 100%; object-fit: cover; }
.pt-screen-l {
  position: absolute; left: 10px; top: 10px;
  display: inline-flex; align-items: center; gap: 7px; padding: 5px 11px 6px; border-radius: 999px;
  background: rgba(12,12,10, .64); color: #fff; font-size: 13px; font-weight: 700; letter-spacing: -.01em;
}
.pt-rec { flex: none; width: 8px; height: 8px; border-radius: 50%; background: #FF5252; box-shadow: 0 0 0 3px rgba(255,82,82, .28); }
.pt-seal {
  position: absolute; z-index: 2;
  left: clamp(22px, 2.4vw, 40px); top: calc(clamp(40px, 4vw, 70px) + clamp(22px, 2.2vw, 36px));
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  width: clamp(110px, 9.4vw, 146px); aspect-ratio: 1; border-radius: 50%;
  background: #fff; color: var(--blue);
  box-shadow: 0 0 0 7px rgba(255,255,255, .28), 0 16px 40px rgba(22,21,18, .26);
  transform: rotate(-8deg);
}
.pt-seal::before { content: ""; position: absolute; inset: 8px; border-radius: 50%; border: 2px dashed rgba(192,147,33, .35); }
.pt-seal-l { font-size: clamp(13px, .95vw, 15.5px); font-weight: 800; letter-spacing: .06em; color: var(--ink); }
.pt-seal-n { font-family: var(--font-hero); font-weight: 800; font-size: clamp(44px, 3.8vw, 60px); line-height: .95; letter-spacing: -.04em; }
.pt-seal-n small { font-size: .42em; margin-left: .04em; letter-spacing: 0; }
@media (max-width: 1080px) {
  .pt-in { grid-template-columns: minmax(0, 1fr); gap: 40px; }
  .pt-visual { max-width: 640px; }
  .pt-stage { height: 380px; }
}
@media (max-width: 760px) {
  .pt-benefits { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  .pt-bf { flex-direction: row; align-items: center; gap: 14px; padding: 14px 16px; }
  .pt-bf-ico { flex: none; }
  .pt-stage { height: 300px; }
  .pt-stage-bg { border-radius: 26px; }
  .pt-screen { left: -6px; bottom: 18px; width: 150px; border-radius: 14px; box-shadow: 0 0 0 4px #fff, 0 16px 36px rgba(22,21,18, .28); }
  .pt-screen-l { left: 7px; top: 7px; padding: 3px 8px 4px; font-size: 11.5px; gap: 5px; }
  .pt-rec { width: 6px; height: 6px; }
  .pt-seal { left: 14px; top: calc(clamp(40px, 4vw, 70px) + 14px); width: 92px; }
  .pt-seal::before { inset: 6px; }
  .pt-seal-l { font-size: 12px; }
  .pt-seal-n { font-size: 36px; }
}
@media (max-width: 520px) {
  .pt-pill { gap: 9px; padding: 8px 14px 9px; font-size: 14.5px; }
  .pt-lead { font-size: clamp(22px, 6vw, 28px); }
  .pt-main { font-size: clamp(34px, 9.4vw, 46px); }
  .pt-sub { font-size: 18px; }
  .pt-desc { font-size: 16.5px; }
  .pt-stage { height: 270px; }
}
@media (max-width: 420px) {
  .pt-stage { height: 240px; }
  .pt-person { right: 2%; height: 112%; }
  .pt-screen { width: 124px; left: -6px; bottom: 14px; }
  .pt-screen-l { font-size: 10.5px; padding: 3px 7px; }
  .pt-seal { width: 82px; left: 10px; top: calc(clamp(40px, 4vw, 70px) + 10px); }
  .pt-seal-l { font-size: 11px; }
  .pt-seal-n { font-size: 32px; }
}
@media (max-width: 340px) {
  .pt-screen { width: 100px; }
}
.pt-pill-t { position: relative; top: .155em; }   
.pt-clock {
  flex: none; display: inline-flex; align-items: center; justify-content: center;
  width: 1.5em; height: 1.5em; border-radius: 50%;
  background: var(--blue); color: #fff;
  box-shadow: 0 0 0 3px rgba(192,147,33, .12);
}
.pt-clock svg { display: block; width: .95em; height: .95em; overflow: visible; }
.pt-clock-m { transform-box: view-box; transform-origin: 12px 12px; animation: pt-tick 6s steps(12) infinite; }
@keyframes pt-tick { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .pt-clock-m { animation: none; } }
.pt-seal {
  left: calc(-1 * clamp(20px, 2.6vw, 44px));
  top: calc(clamp(40px, 4vw, 70px) - clamp(14px, 1.6vw, 26px));
  width: clamp(150px, 12.8vw, 204px);
  box-shadow: 0 0 0 9px rgba(255,255,255, .30), 0 22px 54px rgba(22,21,18, .30);
  transform: rotate(-10deg);
}
.pt-seal::before { inset: 10px; border-width: 2.5px; border-color: rgba(192,147,33, .42); }
.pt-seal-l { font-size: clamp(15px, 1.2vw, 19px); letter-spacing: .08em; }
.pt-seal-n { font-size: clamp(62px, 5.4vw, 88px); }
@media (max-width: 760px) {
  .pt-seal { left: -8px; top: calc(clamp(40px, 4vw, 70px) - 8px); width: 124px; }
  .pt-seal::before { inset: 7px; border-width: 2px; }
  .pt-seal-l { font-size: 13px; }
  .pt-seal-n { font-size: 48px; }
}
@media (max-width: 420px) {
  .pt-seal { width: 116px; }
  .pt-seal-l { font-size: 12px; }
  .pt-seal-n { font-size: 44px; }
}
@media (max-width: 340px) {
  .pt-seal { width: 100px; }
  .pt-seal-n { font-size: 38px; }
}
.pt-benefits { grid-template-columns: minmax(0, 1fr); gap: 10px; max-width: 560px; }
.pt-bf { flex-direction: row; align-items: center; gap: 16px; padding: 14px 22px 14px 14px; border-radius: 18px; }
.pt-bf-ico { flex: none; width: 56px; height: 56px; border-radius: 16px; }
.pt-bf-ico .ico { width: 28px; height: 28px; }
.pt-bf-t { gap: 3px; min-width: 0; }
.pt-bf-label { font-size: clamp(18px, 1.3vw, 20px); }
.pt-bf-text { font-size: clamp(15.5px, 1.1vw, 17px); }
@media (max-width: 760px) {
  .pt-benefits { max-width: none; }
  .pt-bf { gap: 14px; padding: 12px 16px 12px 12px; }
  .pt-bf-ico { width: 50px; height: 50px; border-radius: 14px; }
  .pt-bf-ico .ico { width: 25px; height: 25px; }
}
@media (max-width: 340px) {
  .pt-pill { font-size: 13px; padding: 7px 12px 8px; gap: 8px; }
  .pt-pill-t { white-space: nowrap; }
}
@media (min-width: 1081px) {
  .pt-person { right: 3%; }
  .pt-screen { width: clamp(190px, 40%, 262px); bottom: clamp(14px, 1.4vw, 24px); }
}
.nfr-map { container-type: inline-size; }
.nfr-pin { --tone: var(--blue); z-index: 1; }
.nfr-pin.tone-orange { --tone: #FF7A1A; }
.nfr-pin-mark {
  position: absolute; left: 0; top: auto; bottom: 0;
  display: block; width: clamp(15px, 4cqw, 30px); height: auto; aspect-ratio: 24 / 32;
  transform: translateX(-50%);
  border-radius: 0; background: none; box-shadow: none;
  color: var(--tone);
  filter: drop-shadow(0 2px 3px rgba(22,21,18, .35));
}
.nfr-pin-mark svg { display: block; width: 100%; height: 100%; overflow: visible; }
.nfr-pin-ping { display: none; }
.nfr-pin-name {
  position: absolute; left: 0; right: auto; top: clamp(2px, .6cqw, 5px); bottom: auto;
  transform: translateX(-50%);
  padding: .3em .38em 0; border-radius: 999px; background: #fff;
  font-size: clamp(14px, 2.5cqw, 18px); line-height: 1.12; font-weight: 800; letter-spacing: -.03em;
  color: #1f1e1a; text-shadow: none; white-space: nowrap;
}
.has-motion .nfr-map.rv:not(.in) .nfr-pin-mark { opacity: 0; }
.has-motion .nfr-map.in .nfr-pin-mark,
.has-motion .nfr-map:not(.rv) .nfr-pin-mark { animation: nfr-pin-drop .55s var(--pd, 0s) cubic-bezier(.3, 1.4, .5, 1) both; }
@keyframes nfr-pin-drop {
  from { opacity: 0; transform: translate(-50%, -45%); }
  to   { opacity: 1; transform: translate(-50%, 0); }
}
@media (prefers-reduced-motion: reduce) {
  .has-motion .nfr-map .nfr-pin-mark { opacity: 1 !important; animation: none !important; }
}
@media (max-width: 480px) {
  .nfr-map { width: calc(100% + 40px); max-width: none; margin: 6px -20px 0; }
  .nfr-pin-mark { width: clamp(13px, 3.6cqw, 30px); }
  .nfr-pin-name { top: 1px; padding: .28em .3em 0; font-size: 13px; line-height: 1.14; }
}
@media (max-width: 359px) {
  .nfr-pin-mark { width: 11px; }
  .nfr-pin-name { top: 1px; padding: .3em .24em 0; font-size: 11.5px; line-height: 1.1; }
}
.ftr-meta, .ftr-copy { overflow-wrap: normal; word-break: keep-all; }
.ftr-chunk { display: inline-block; }
.ftr-tel { color: inherit; }
.ftr-tel:hover { color: #fff; text-decoration: underline; }
@media (max-width: 859px) {   
  .ftr-area-list { display: grid; grid-template-columns: repeat(8, auto); justify-content: center; gap: 8px 16px; }
}
@media (max-width: 720px) {
  .ftr-meta { line-height: 1.8; }
  .ftr-it { display: block; }
  .ftr-sep { display: none; }
  .ftr-area-list { gap: 8px 14px; }
}
@media (max-width: 401px) {
  .ftr-area-list { grid-template-columns: repeat(4, auto); gap: 8px 30px; }
}
@media (max-width: 420px) {
  .hdr .hdr-cta .hdr-tel { display: none; }
}
@media (max-width: 359px) {
  .hdr .hdr-cta .hdr-tel { display: inline-flex; }
  .hdr .hdr-cta .hdr-btn { display: none; }
}
@media (max-width: 720px) {
  .sec-statement.has-claim .st-col { align-items: center; text-align: center; }
  .sec-statement.has-claim .st-lead,
  .sec-statement.has-claim .st-body { align-self: stretch; text-align: center; }
  .sec-statement.has-claim .st-claim,
  .sec-statement.has-claim .st-text,
  .sec-statement.has-claim .st-note { margin-left: auto; margin-right: auto; }
  .sec-statement.has-claim .st-note { text-wrap-style: balance; }
  .sec-statement .st-areas { justify-content: center; }
  
  .sec-statement.has-claim .st-kicker { flex-direction: column; justify-content: center; align-items: center; gap: 12px; }
  .sec-statement.has-claim .st-kicker-line { width: 40px; }
  
  .sec-statement.has-claim .st-rail,
  .pg-area .sec-statement.has-claim .st-rail { grid-template-columns: minmax(0, 1fr); }
  
  .sec-statement.has-claim .st-rail .st-facts { align-items: stretch; }
  .sec-statement.has-claim .st-rail .st-facts .st-fact {
    padding: 22px; align-content: center; justify-items: center; text-align: center;
  }
  .sec-statement.has-claim .st-rail .st-facts .st-fact { padding-left: 22px !important; }
  
  .sec-statement.has-claim .st-rail .st-call {
    flex-direction: column; align-items: center; justify-content: center; gap: 4px; text-align: center;
  }
}
@media (max-width: 480px) {
  .pg-area .sec-statement.has-claim .st-rail .st-facts { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 720px) {
  .sec-price .price-table,
  .sec-price .price-table thead,
  .sec-price .price-table tbody { display: block; width: 100%; }
  .sec-price .price-table thead tr,
  .sec-price .price-table tbody tr {
    display: grid;
    grid-template-columns: minmax(0, 1fr) clamp(110px, 37%, 240px);
    align-items: stretch;
    width: 100%; gap: 0; padding: 0;
  }
  
  .sec-price .price-table thead tr { background: var(--dark); }
  .sec-price .price-table thead th {
    display: flex; flex-direction: column; justify-content: center; align-items: flex-start;
    width: auto; min-width: 0; padding: 13px 10px 13px 16px;
    line-height: 1.35; text-align: left; white-space: normal;
  }
  .sec-price .price-table thead th:last-child {
    align-items: center; padding: 11px 4px;
    text-align: center; white-space: normal;
    border-left: 1px solid rgba(255,255,255, .14);
  }
  .sec-price .price-table thead th .price-note { letter-spacing: 0; text-wrap-style: balance; }
  
  .sec-price .price-table tbody th {
    display: flex; align-items: center; gap: 10px;
    width: auto; min-width: 0; padding: 14px 10px 14px 16px;
    text-align: left;
  }
  .sec-price .price-table .price-ico { width: 36px; height: 36px; border-radius: 11px; }
  .sec-price .price-table .price-ico .ico { width: 20px; height: 20px; }
  .sec-price .price-table .price-name { flex: 1 1 auto; min-width: 0; line-height: 1.4; }
  
  .sec-price .price-table tbody td.price-val {
    display: flex; align-items: center; justify-content: center;
    width: auto; min-width: 0; padding: 12px 6px;
    text-align: center; white-space: normal; overflow-wrap: normal;
    border-left: 1px solid var(--line);
  }
  .sec-price .price-table tbody td.price-val.is-num { font-size: clamp(17px, calc(7.2vw - 7.4px), 24px); }
  .sec-price .price-table tbody td.price-val.is-quote { font-size: 17px; }
  
  .sec-price .price-table tbody tr:nth-child(even) { background: #fbfaf8; }
  .sec-price .price-table tbody tr:hover { background: var(--blue-l); }
  
  .sec-price .price-why { grid-template-columns: minmax(0, 1fr); }
  .sec-price .price-info-t { text-wrap-style: balance; }
  
  .sec-price .price-flow { gap: 26px; }
  .sec-price .price-flow li { justify-content: center; }
  .sec-price .price-flow-t { min-width: 0; text-align: center; text-wrap-style: balance; }
  .sec-price .price-flow li + li::before { left: 50%; top: -22px; transform: translateX(-50%) rotate(135deg); }
}
@media (max-width: 399px) {
  .sec-price .price-table thead th { padding-left: 12px; }
  .sec-price .price-table tbody th { gap: 9px; padding: 14px 8px 14px 12px; }
  .sec-price .price-table .price-ico { width: 30px; height: 30px; border-radius: 9px; }
  .sec-price .price-table .price-ico .ico { width: 18px; height: 18px; }
}
@media (max-width: 374px) {
  .sec-price .price-table thead tr,
  .sec-price .price-table tbody tr { grid-template-columns: minmax(0, 1fr) 42%; }
  .sec-price .price-table .price-ico { display: none; }
  .sec-price .price-table thead th { padding-left: 14px; }
  .sec-price .price-table tbody th { padding: 14px 8px 14px 14px; }
}
@media (max-width: 720px) {
  
  .sec-promoticket .pt-copy { text-align: center; }
  .sec-promoticket .pt-title,
  .sec-promoticket .pt-sub { text-wrap-style: balance; }
  .sec-promoticket .pt-desc { margin-inline: auto; font-size: 17px; text-wrap-style: balance; }
  .sec-promoticket .pt-bf {
    flex-wrap: wrap; justify-content: center; gap: 6px 10px;
    padding: 14px 16px 16px; text-align: center;
  }
  .sec-promoticket .pt-bf-t { display: contents; }
  .sec-promoticket .pt-bf-ico { width: 40px; height: 40px; border-radius: 12px; }
  .sec-promoticket .pt-bf-ico .ico { width: 22px; height: 22px; }
  .sec-promoticket .pt-bf-text { flex: 0 0 100%; text-wrap-style: balance; }
  
  .sec-strengths .str-card,
  .sec-strengths .str-card:nth-child(3n+2),
  .sec-strengths .str-card:nth-child(3n) { padding: 20px 20px 22px; text-align: center; }
  .sec-strengths .str-ico { position: static; width: 32px; height: 32px; margin: 0 auto 10px; }
  .sec-strengths .str-label { margin-top: 8px; text-wrap-style: balance; }
  
  .sec-event .ev-copy { text-align: center; }
  .sec-event .ev-copy .sec-num { vertical-align: top; margin-bottom: 12px; }
  .sec-event .ev-ribbon { display: flex; width: fit-content; margin-inline: auto; }
  .sec-event .ev-h,
  .sec-event .ev-q { text-wrap-style: balance; }
  .sec-event .ev-desc { margin-inline: auto; text-wrap-style: balance; }
  
  .sec-network .nfr-desc { margin-inline: auto; text-align: center; text-wrap-style: balance; }
  .sec-network .nfr-fact { flex-direction: column; align-items: center; gap: 4px; text-align: center; }
  .sec-network .nfr-num { min-width: 0; }
}
@media (max-width: 520px) {
  .sec-event .ev-desc { max-width: 15.5em; }
}
@media (max-width: 720px) {
  
  .sec-faq .sec-head { justify-items: center; text-align: center; }
  .sec-faq .sec-head .sec-num,
  .sec-faq .sec-head .kicker,
  .sec-faq .sec-head .sec-title,
  .sec-faq .sec-head .sec-sub { justify-self: center; }
  .sec-faq .sec-head .sec-sub { text-wrap-style: balance; }
  .sec-faq .faq-more a { justify-content: center; }
  
  .sec-identity .idn-copy { text-align: center; }
  .sec-identity .idn-sub { text-wrap-style: balance; }
  
  .sec-pillars .plr-card { align-items: center; text-align: center; }
  .sec-pillars .plr-desc { text-wrap-style: balance; }
  
  .sec-solution .prc-rail { display: none; }
  .sec-solution .prc-grid { gap: 0; }
  .sec-solution .prc-card {
    display: flex; flex-direction: column; align-items: center;
    gap: 0; padding: 0; text-align: center;
  }
  .sec-solution .prc-step { margin-top: 14px; }
  .sec-solution .prc-name { margin-top: 6px; text-wrap-style: balance; }
  .sec-solution .prc-desc { margin-top: 10px; text-wrap-style: balance; }
  .sec-solution .prc-card:not(:last-child)::after {
    content: ""; display: block; width: 2px; height: 24px; margin: 18px 0;
    background: rgba(216,184,102, .5);
  }
  
  .sec-history .hist-row {
    grid-template-columns: minmax(0, 1fr);
    justify-items: center; row-gap: 6px; text-align: center;
  }
  .sec-history .hist-name,
  .sec-history .hist-desc { text-wrap-style: balance; }
  
  .sec-gear .gr-row,
  .sec-gear .gr-row.has-img { justify-items: center; text-align: center; }
  .sec-gear .gr-row.has-img .gr-thumb { width: 100%; }
  .sec-gear .gr-use { text-wrap-style: balance; }
  .sec-gear .gr-note { text-align: center; }
  
  .sec-worksites .ws-btn {
    position: relative; display: flex; flex-wrap: wrap;
    justify-content: center; align-items: baseline;
    gap: 2px 10px; padding: 18px 50px; text-align: center;
  }
  .sec-worksites .ws-mark { position: absolute; right: 0; top: 50%; translate: 0 -50%; }
  .sec-worksites .ws-name { text-wrap-style: balance; }
  .sec-worksites .ws-desc {
    margin-left: auto; margin-right: auto;
    text-align: center; text-wrap-style: balance;
  }
  .sec-worksites .ws-note { text-align: center; }
  
  .sec-compare .cmp-card { align-items: center; text-align: center; }
  .sec-compare .cmp-label { align-self: center; }
  .sec-compare .cmp-name { text-wrap-style: balance; }
  .sec-compare .cmp-shot { align-self: stretch; }
  .sec-compare .cmp-body {
    align-self: stretch; text-align: left;
    margin-top: 18px; padding-top: 18px;
    border-top: 1px solid rgba(21,20,19, .12);
  }
  .sec-compare .cmp-good .cmp-body,
  .sec-compare.sec-bg-dark .cmp-body { border-top-color: rgba(255,255,255, .16); }
  .sec-compare .cmp-note { text-align: center; }
  
  .sec-causes .cz-row {
    display: flex; flex-wrap: wrap; justify-content: center; align-items: center;
    gap: 4px 10px; text-align: center;
  }
  .sec-causes .cz-main { display: contents; }
  .sec-causes .cz-name { text-wrap-style: balance; }
  .sec-causes .cz-why { flex: 0 0 100%; margin-top: 6px; text-wrap-style: balance; }
  .sec-causes .cz-do { flex: 0 0 100%; margin-top: 12px; }
  .sec-causes .cz-cell dt { justify-content: center; }
  .sec-causes .cz-cell dd { text-wrap-style: balance; }
}
@media (max-width: 720px) {
  .sec-title, .sec-sub, .bn-title, .bn-title-2, .bn-sub,
  .hero-keys, .hcon-note, .st-text, .st-note, .st-claim,
  .sym-name, .svc-tile-name, .cs-title, .cs-cat, .pv-title, .pv-cta-t,
  .faq-qt, .fx-q, .fx-g-t, .price-name, .price-info-t, .price-why-t, .price-flow-t,
  .plr-name, .gr-name, .ws-name, .cmp-name, .prc-name, .hist-name, .str-label,
  .ev-h, .ev-q, .ev-name, .pt-title, .pt-sub, .pt-bf-label, .cz-name, .cz-note,
  .ar-note, .ar-foot, .nfr-desc, .step-name, .cb-text, .pb-note, .idn-sub, .gr-note,
  .pv-rel-n, .cs-count, .fx-find-n {
    text-wrap-style: balance;
  }
  
  .fx-a, .faq-a p, .cs-excerpt, .cmp-body, .pv-body p, .sym-dl dd, .price-why-d,
  .step-desc, .gr-use, .ws-desc, .plr-desc, .prc-desc, .hist-desc, .ev-desc, .ev-pdesc,
  .cz-why, .cz-cell dd, .art-p, .pt-desc, .idn-body p, .st-body p {
    text-wrap-style: pretty;
  }
  
  .sec-sub br, .bn-sub br, .st-note br, .hcon-note br, .cz-note br, .ar-foot br,
  .ev-desc br, .pt-desc br, .price-why-d br, .cs-excerpt br { display: none; }
}
