:root {
  --navy-950: #041221;
  --navy-900: #071a2f;
  --navy-800: #0b2744;
  --navy-700: #143b60;
  --gold-700: #8d651d;
  --gold-600: #a57927;
  --gold-500: #bd9139;
  --gold-300: #ddc27f;
  --ivory: #f8f4ea;
  --paper: #fffdf8;
  --white: #ffffff;
  --ink: #102239;
  --muted: #5f6974;
  --line: #ded8ca;
  --green: #168044;
  --green-deep: #0b6735;
  --red: #a1423b;
  --shadow-soft: 0 22px 70px rgba(4, 18, 33, 0.12);
  --shadow-card: 0 14px 35px rgba(4, 18, 33, 0.08);
  --radius-lg: 28px;
  --radius-md: 18px;
  --container: 1180px;
  font-family: "Avenir Next", Avenir, -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;
  color: var(--ink);
  background: var(--paper);
  font-synthesis: none;
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: 92px;
}

body {
  margin: 0;
  min-width: 320px;
  min-height: 100vh;
  overflow-x: hidden;
  background: var(--paper);
  color: var(--ink);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

body,
button,
input,
select,
textarea {
  font: inherit;
}

button,
input,
select,
textarea {
  border-radius: 0;
}

img,
video {
  display: block;
  max-width: 100%;
}

a {
  color: inherit;
}

h1,
h2,
h3,
p {
  margin-top: 0;
}

h1,
h2 {
  font-family: Georgia, "Times New Roman", serif;
  letter-spacing: -0.035em;
}

h3 {
  letter-spacing: -0.02em;
}

.site-shell {
  min-height: 100vh;
}

.container {
  width: min(calc(100% - 48px), var(--container));
  margin-inline: auto;
}

.section {
  padding-block: 110px;
}

.skip-link {
  position: fixed;
  z-index: 9999;
  top: 10px;
  left: 10px;
  padding: 12px 18px;
  transform: translateY(-160%);
  border-radius: 8px;
  background: var(--white);
  color: var(--navy-950);
  font-weight: 800;
  text-decoration: none;
  transition: transform 160ms ease;
}

.skip-link:focus {
  transform: translateY(0);
}

.eyebrow {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 18px;
  color: var(--gold-700);
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.18em;
  line-height: 1.2;
  text-transform: uppercase;
}

.eyebrow::before {
  width: 36px;
  height: 1px;
  background: currentColor;
  content: "";
}

.eyebrow--gold {
  color: var(--gold-300);
}

.section-heading {
  max-width: 720px;
}

.section-heading--center {
  margin-inline: auto;
  text-align: center;
}

.section-heading--center .eyebrow {
  justify-content: center;
}

.section-heading h2,
.resources h2,
.contact h2 {
  margin-bottom: 22px;
  color: var(--navy-900);
  font-size: clamp(2.45rem, 4.3vw, 4.35rem);
  font-weight: 600;
  line-height: 1.02;
}

.section-intro,
.confidence-copy > p {
  max-width: 650px;
  margin-bottom: 0;
  color: var(--muted);
  font-size: 1.06rem;
  line-height: 1.78;
}

.site-header {
  position: sticky;
  z-index: 100;
  top: 0;
  border-bottom: 1px solid rgba(9, 34, 59, 0.09);
  background: rgba(255, 253, 248, 0.94);
  box-shadow: 0 5px 26px rgba(5, 20, 36, 0.04);
  backdrop-filter: blur(18px);
}

.header-inner {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  min-height: 78px;
}

.brand {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  color: var(--navy-900);
  text-decoration: none;
}

.brand span {
  display: grid;
  gap: 1px;
}

.brand strong {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.22rem;
  line-height: 1.05;
}

.brand small {
  color: var(--muted);
  font-size: 0.62rem;
  font-weight: 800;
  letter-spacing: 0.095em;
  text-transform: uppercase;
}

.desktop-nav {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: clamp(20px, 3vw, 42px);
}

.desktop-nav a {
  position: relative;
  color: #324052;
  font-size: 0.83rem;
  font-weight: 750;
  text-decoration: none;
}

.desktop-nav a::after {
  position: absolute;
  right: 0;
  bottom: -9px;
  left: 0;
  height: 2px;
  transform: scaleX(0);
  background: var(--gold-600);
  content: "";
  transition: transform 180ms ease;
}

.desktop-nav a:hover::after,
.desktop-nav a:focus-visible::after {
  transform: scaleX(1);
}

.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 50px;
  padding: 13px 21px;
  border: 1px solid transparent;
  border-radius: 7px;
  font-size: 0.86rem;
  font-weight: 800;
  line-height: 1.2;
  text-decoration: none;
  transition: transform 160ms ease, background 160ms ease, box-shadow 160ms ease;
}

.button svg {
  width: 20px;
  height: 20px;
}

.button:hover {
  transform: translateY(-2px);
}

.button--header {
  min-height: 43px;
  padding: 10px 16px;
  background: var(--navy-900);
  color: var(--white);
}

.button--primary {
  border-color: #c7a251;
  background: linear-gradient(135deg, #c49c47, #a57823);
  box-shadow: 0 12px 28px rgba(177, 131, 42, 0.24);
  color: var(--navy-950);
}

.button--primary:hover {
  box-shadow: 0 15px 32px rgba(177, 131, 42, 0.32);
}

.button--wide {
  width: 100%;
}

.menu-button {
  display: none;
  width: 44px;
  height: 44px;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: transparent;
  color: var(--navy-900);
}

.menu-button svg {
  width: 23px;
  height: 23px;
}

.mobile-nav {
  display: none;
}

.hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background:
    radial-gradient(circle at 73% 25%, rgba(193, 151, 72, 0.17), transparent 28%),
    linear-gradient(118deg, var(--navy-950), #092541 64%, #07182c);
  color: var(--white);
}

.hero::before,
.hero::after {
  position: absolute;
  z-index: -1;
  border: 1px solid rgba(216, 183, 112, 0.14);
  border-radius: 50%;
  content: "";
}

.hero::before {
  top: -390px;
  right: -240px;
  width: 830px;
  height: 830px;
}

.hero::after {
  right: 120px;
  bottom: -450px;
  width: 760px;
  height: 760px;
}

.hero-grain {
  position: absolute;
  z-index: -1;
  inset: 0;
  opacity: 0.1;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.22'/%3E%3C/svg%3E");
  pointer-events: none;
}

.hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(390px, 0.92fr);
  align-items: center;
  gap: clamp(40px, 7vw, 94px);
  min-height: min(760px, calc(100vh - 78px));
  padding-block: 72px 82px;
}

.hero-copy {
  position: relative;
  z-index: 2;
  max-width: 690px;
}

.hero h1 {
  max-width: 720px;
  margin-bottom: 26px;
  color: var(--white);
  font-size: clamp(3.25rem, 5.25vw, 5.85rem);
  font-weight: 550;
  line-height: 0.96;
}

.hero h1 em {
  color: var(--gold-300);
  font-weight: 500;
}

.hero-lead {
  max-width: 610px;
  margin-bottom: 31px;
  color: #d9e0e7;
  font-size: clamp(1.04rem, 1.4vw, 1.18rem);
  line-height: 1.75;
}

.hero-actions {
  display: flex;
  align-items: center;
  gap: 25px;
}

.text-link {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: #f3eee3;
  font-size: 0.87rem;
  font-weight: 800;
  text-decoration: none;
}

.text-link svg {
  width: 18px;
  height: 18px;
  transition: transform 160ms ease;
}

.text-link:hover svg {
  transform: translateY(3px);
}

.text-link--dark {
  margin-top: 28px;
  color: var(--navy-800);
}

.text-link--dark:hover svg {
  transform: translateX(4px);
}

.hero-assurances {
  display: flex;
  flex-wrap: wrap;
  gap: 16px 24px;
  margin: 33px 0 0;
  padding: 26px 0 0;
  border-top: 1px solid rgba(255, 255, 255, 0.15);
  color: #c8d3dd;
  font-size: 0.76rem;
  font-weight: 750;
  list-style: none;
}

.hero-assurances li {
  display: flex;
  align-items: center;
  gap: 7px;
}

.hero-assurances svg {
  width: 17px;
  height: 17px;
  color: var(--gold-300);
}

.hero-portrait-wrap {
  position: relative;
  justify-self: end;
  width: min(100%, 470px);
}

.portrait-rule {
  position: absolute;
  z-index: -1;
  top: -20px;
  right: -22px;
  width: 78%;
  height: calc(100% + 40px);
  border: 1px solid rgba(221, 194, 127, 0.38);
}

.portrait-frame {
  position: relative;
  overflow: hidden;
  aspect-ratio: 0.77;
  background: #091828;
  box-shadow: 0 36px 80px rgba(0, 0, 0, 0.35);
}

.portrait-frame::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 45%, rgba(3, 13, 24, 0.15) 62%, rgba(3, 13, 24, 0.9));
  content: "";
  pointer-events: none;
}

.portrait-frame > img {
  width: 100%;
  height: 100%;
  transform: scale(1.2);
  transform-origin: 50% center;
  object-fit: cover;
  object-position: 50% center;
}

.portrait-caption {
  position: absolute;
  z-index: 2;
  right: 28px;
  bottom: 27px;
  left: 28px;
  display: grid;
  gap: 2px;
}

.portrait-caption .caption-kicker {
  margin-bottom: 6px;
  color: var(--gold-300);
  font-size: 0.64rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.portrait-caption strong {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.7rem;
  letter-spacing: -0.02em;
}

.portrait-caption > span:last-child {
  color: #d7dee6;
  font-size: 0.78rem;
}

.hero-seal {
  position: absolute;
  z-index: 3;
  right: -34px;
  bottom: 92px;
  display: flex;
  width: 114px;
  height: 114px;
  align-items: center;
  justify-content: center;
  gap: 7px;
  border: 1px solid rgba(221, 194, 127, 0.5);
  border-radius: 50%;
  background: var(--paper);
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.24);
  color: var(--navy-900);
  font-size: 0.61rem;
  font-weight: 850;
  letter-spacing: 0.08em;
  line-height: 1.4;
  text-transform: uppercase;
}

.hero-seal svg {
  width: 29px;
  height: 29px;
  color: var(--gold-600);
}

.scope-bar {
  position: relative;
  z-index: 5;
  border-bottom: 1px solid #ded6c6;
  background: var(--ivory);
}

.scope-bar-inner {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 26px;
  min-height: 78px;
  padding-right: 140px;
}

.scope-bar-title {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--navy-900);
  font-size: 0.74rem;
  font-weight: 850;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.scope-bar-title svg {
  width: 19px;
  height: 19px;
  color: var(--gold-600);
}

.scope-bar p {
  margin: 0;
  padding-left: 26px;
  border-left: 1px solid #d4cbb9;
  color: #53606e;
  font-size: 0.82rem;
  line-height: 1.55;
}

.scope-bar a {
  display: flex;
  align-items: center;
  gap: 7px;
  color: var(--navy-800);
  font-size: 0.76rem;
  font-weight: 850;
  text-decoration: none;
  white-space: nowrap;
}

.scope-bar a svg {
  width: 17px;
  height: 17px;
}

.method {
  position: relative;
  overflow: hidden;
  background: var(--paper);
}

.method::after {
  position: absolute;
  z-index: 0;
  top: 120px;
  right: -160px;
  width: 350px;
  height: 350px;
  border: 1px solid rgba(166, 123, 36, 0.13);
  border-radius: 50%;
  content: "";
}

.method > .container {
  position: relative;
  z-index: 1;
}

.method-heading-row {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 40px;
}

.folio-label {
  margin: 0 0 7px;
  color: #8d8a82;
  font-size: 0.67rem;
  font-weight: 850;
  letter-spacing: 0.16em;
  white-space: nowrap;
}

.method-layout {
  display: grid;
  grid-template-columns: 0.86fr 1.14fr;
  align-items: start;
  gap: clamp(55px, 8vw, 105px);
  margin-top: 64px;
}

.method-steps {
  display: grid;
  margin: 0;
  padding: 0;
  list-style: none;
}

.method-steps li {
  display: grid;
  grid-template-columns: 36px 52px 1fr;
  gap: 17px;
  padding: 24px 0;
  border-top: 1px solid var(--line);
}

.method-steps li:last-child {
  border-bottom: 1px solid var(--line);
}

.step-number {
  padding-top: 10px;
  color: var(--gold-700);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 0.84rem;
  font-style: italic;
}

.step-icon {
  display: flex;
  width: 46px;
  height: 46px;
  align-items: center;
  justify-content: center;
  border: 1px solid #ddd2bc;
  border-radius: 50%;
  color: var(--gold-700);
}

.step-icon svg {
  width: 23px;
  height: 23px;
}

.method-steps h3 {
  margin: 2px 0 7px;
  color: var(--navy-900);
  font-size: 1.03rem;
}

.method-steps p {
  margin: 0;
  color: var(--muted);
  font-size: 0.83rem;
  line-height: 1.65;
}

.document-board {
  position: relative;
  padding: clamp(24px, 4vw, 42px);
  border: 1px solid #d4c5a6;
  background: #f4efe3;
  box-shadow: var(--shadow-soft);
}

.document-board::before {
  position: absolute;
  z-index: -1;
  top: 16px;
  right: -16px;
  bottom: -16px;
  left: 16px;
  border: 1px solid #d9cfbb;
  content: "";
}

.document-board-top {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 20px;
  padding-bottom: 26px;
  border-bottom: 2px solid var(--navy-900);
}

.document-board-top p {
  margin-bottom: 5px;
  color: var(--gold-700);
  font-size: 0.63rem;
  font-weight: 850;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.document-board-top strong {
  color: var(--navy-900);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.45rem, 2.5vw, 2rem);
}

.document-board-top > span {
  padding: 6px 9px;
  border: 1px solid #af9e7b;
  color: #756340;
  font-size: 0.55rem;
  font-weight: 850;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.document-meta {
  display: grid;
  grid-template-columns: auto 1fr auto 1fr;
  gap: 4px 12px;
  padding: 17px 0;
  color: #73746f;
  font-size: 0.62rem;
}

.document-meta strong {
  color: var(--navy-900);
}

.document-table {
  border-top: 1px solid #bfb39a;
  border-bottom: 1px solid #bfb39a;
}

.document-row {
  display: grid;
  grid-template-columns: minmax(145px, 1.35fr) 1fr 0.56fr;
  align-items: center;
  min-height: 52px;
  border-top: 1px solid #d6cdbb;
  color: #42505c;
  font-size: 0.7rem;
}

.document-row:first-child {
  border-top: 0;
}

.document-row span:nth-child(2) {
  display: flex;
  align-items: center;
  gap: 5px;
  color: var(--green-deep);
  font-weight: 750;
}

.document-row span:nth-child(3) {
  color: #81765f;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.62rem;
  letter-spacing: 0.04em;
  text-align: right;
}

.document-row--head {
  min-height: 37px;
  color: #6c685f;
  font-size: 0.54rem;
  font-weight: 850;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.document-row--head span:nth-child(2) {
  color: #6c685f;
}

.document-note {
  display: grid;
  grid-template-columns: 38px 1fr;
  align-items: center;
  gap: 12px;
  margin-top: 23px;
}

.document-note > svg {
  width: 34px;
  height: 34px;
  padding: 7px;
  border-radius: 50%;
  background: var(--navy-900);
  color: var(--gold-300);
}

.document-note p {
  margin: 0;
  color: #62625d;
  font-size: 0.68rem;
  line-height: 1.55;
}

.document-note strong {
  display: block;
  color: var(--navy-900);
}

.services {
  border-top: 1px solid #e2dccf;
  background: var(--ivory);
}

.service-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  margin-top: 58px;
}

.service-card {
  position: relative;
  min-height: 310px;
  padding: 31px 28px;
  border: 1px solid #dfd6c6;
  background: rgba(255, 253, 248, 0.7);
  transition: transform 180ms ease, box-shadow 180ms ease, background 180ms ease;
}

.service-card:hover {
  transform: translateY(-6px);
  background: var(--paper);
  box-shadow: var(--shadow-card);
}

.service-card > svg {
  width: 40px;
  height: 40px;
  margin: 36px 0 25px;
  color: var(--gold-700);
}

.service-index {
  position: absolute;
  top: 23px;
  right: 24px;
  color: #9d978b;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 0.76rem;
  font-style: italic;
}

.service-card h3 {
  margin-bottom: 12px;
  color: var(--navy-900);
  font-size: 1.08rem;
}

.service-card p {
  margin: 0;
  color: var(--muted);
  font-size: 0.82rem;
  line-height: 1.68;
}

.confidence {
  position: relative;
  overflow: hidden;
  background: var(--navy-900);
  color: var(--white);
}

.confidence::before {
  position: absolute;
  top: -200px;
  left: -160px;
  width: 480px;
  height: 480px;
  border: 1px solid rgba(218, 188, 118, 0.16);
  border-radius: 50%;
  content: "";
}

.confidence-grid {
  position: relative;
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  align-items: center;
  gap: clamp(60px, 9vw, 125px);
}

.confidence .section-heading h2 {
  color: var(--white);
}

.confidence-copy > p {
  color: #b9c4ce;
}

.confidence .text-link--dark {
  color: var(--gold-300);
}

.confidence-points {
  display: grid;
}

.confidence-points article {
  display: grid;
  grid-template-columns: 62px 1fr;
  align-items: start;
  gap: 20px;
  padding: 25px 0;
  border-top: 1px solid rgba(255, 255, 255, 0.13);
}

.confidence-points article:last-child {
  border-bottom: 1px solid rgba(255, 255, 255, 0.13);
}

.confidence-points article > span {
  display: flex;
  width: 52px;
  height: 52px;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(221, 194, 127, 0.35);
  border-radius: 50%;
  color: var(--gold-300);
}

.confidence-points svg {
  width: 25px;
  height: 25px;
}

.confidence-points h3 {
  margin: 4px 0 7px;
  color: var(--white);
  font-size: 1.03rem;
}

.confidence-points p {
  margin: 0;
  color: #aebac6;
  font-size: 0.82rem;
  line-height: 1.65;
}

.testimonials {
  background: var(--paper);
}

.testimonials-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 30px;
}

.testimonials-heading > svg {
  width: 66px;
  height: 66px;
  flex: 0 0 auto;
  color: #d2bf94;
}

.video-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 14px;
  margin-top: 54px;
}

.video-card {
  min-width: 0;
  border: 1px solid #ded7cb;
  background: var(--white);
  box-shadow: 0 8px 24px rgba(5, 20, 36, 0.05);
}

.video-frame {
  position: relative;
  overflow: hidden;
  aspect-ratio: 9 / 16;
  background: var(--navy-950);
}

.video-frame video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.video-caption {
  display: grid;
  gap: 3px;
  padding: 16px 15px 17px;
}

.video-caption span {
  color: var(--navy-900);
  font-size: 0.72rem;
  font-weight: 850;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.video-caption small {
  color: #777e85;
  font-size: 0.68rem;
}

.results-note {
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: 780px;
  margin: 30px auto 0;
  color: #727981;
  font-size: 0.72rem;
  line-height: 1.55;
  text-align: center;
}

.boundaries {
  border-top: 1px solid #e1dbcf;
  background: var(--ivory);
}

.boundaries-grid {
  display: grid;
  grid-template-columns: 0.75fr 1.25fr;
  align-items: start;
  gap: clamp(55px, 8vw, 110px);
}

.boundary-columns {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 18px;
}

.boundary-card {
  min-height: 330px;
  padding: 31px 29px;
  border: 1px solid #dbd1bf;
  background: var(--paper);
}

.boundary-card--yes {
  border-top: 4px solid var(--green);
}

.boundary-card--no {
  border-top: 4px solid #9e7770;
}

.boundary-label {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 24px;
  color: var(--navy-900);
  font-size: 0.77rem;
  font-weight: 850;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.boundary-card--yes .boundary-label svg {
  color: var(--green);
}

.boundary-card--no .boundary-label svg {
  color: #9e615c;
}

.boundary-card ul {
  display: grid;
  gap: 15px;
  margin: 0;
  padding: 0;
  color: #4f5c68;
  font-size: 0.84rem;
  line-height: 1.45;
  list-style: none;
}

.boundary-card li {
  position: relative;
  padding-left: 17px;
}

.boundary-card li::before {
  position: absolute;
  top: 0.63em;
  left: 0;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #b49c6b;
  content: "";
}

.resources {
  padding-block: 72px;
  background: var(--paper);
}

.resources-grid {
  display: grid;
  grid-template-columns: 0.8fr 1.2fr;
  align-items: start;
  gap: clamp(50px, 8vw, 110px);
}

.resources h2 {
  margin-bottom: 0;
  font-size: clamp(2rem, 3.2vw, 3.25rem);
}

.resource-list {
  display: grid;
}

.resource-list a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  min-height: 76px;
  padding: 13px 4px;
  border-top: 1px solid var(--line);
  color: var(--navy-900);
  text-decoration: none;
}

.resource-list a:last-child {
  border-bottom: 1px solid var(--line);
}

.resource-list a > span {
  display: grid;
  gap: 4px;
}

.resource-list strong {
  font-size: 0.9rem;
}

.resource-list small {
  color: var(--muted);
  font-size: 0.72rem;
}

.resource-list svg {
  width: 20px;
  height: 20px;
  flex: 0 0 auto;
  color: var(--gold-700);
  transition: transform 160ms ease;
}

.resource-list a:hover svg {
  transform: translate(3px, -3px);
}

.contact {
  padding-block: 95px;
  background: #e9e1d1;
}

.contact-panel {
  display: grid;
  grid-template-columns: 0.88fr 1.12fr;
  overflow: hidden;
  min-height: 570px;
  padding: 0;
  background: var(--navy-900);
  box-shadow: var(--shadow-soft);
}

.contact-copy {
  position: relative;
  isolation: isolate;
  padding: clamp(46px, 6vw, 76px);
  color: var(--white);
}

.contact-copy::after {
  position: absolute;
  z-index: -1;
  right: -180px;
  bottom: -220px;
  width: 440px;
  height: 440px;
  border: 1px solid rgba(219, 187, 113, 0.2);
  border-radius: 50%;
  content: "";
}

.contact h2 {
  max-width: 470px;
  color: var(--white);
}

.contact-copy > p:not(.eyebrow) {
  max-width: 470px;
  color: #bdc7d0;
  font-size: 0.95rem;
  line-height: 1.75;
}

.direct-contact {
  display: grid;
  gap: 14px;
  margin-top: 38px;
}

.direct-contact a {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  width: fit-content;
  max-width: 100%;
  color: var(--white);
  font-size: 0.77rem;
  line-height: 1.4;
  text-decoration: none;
  overflow-wrap: anywhere;
}

.direct-contact svg {
  width: 34px;
  height: 34px;
  padding: 7px;
  border: 1px solid rgba(221, 194, 127, 0.35);
  border-radius: 50%;
  color: var(--gold-300);
}

.direct-contact a > span {
  display: grid;
  gap: 2px;
}

.direct-contact small {
  color: #9caab7;
  font-size: 0.58rem;
  font-weight: 800;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.contact-form {
  display: grid;
  align-content: center;
  gap: 18px;
  padding: clamp(38px, 5vw, 68px);
  background: var(--paper);
}

.contact-form label {
  display: grid;
  gap: 8px;
  color: var(--navy-900);
  font-size: 0.72rem;
  font-weight: 850;
  letter-spacing: 0.035em;
}

.contact-form input,
.contact-form select,
.contact-form textarea {
  width: 100%;
  border: 1px solid #cfc7b8;
  border-radius: 5px;
  outline: 0;
  background: var(--white);
  color: var(--ink);
  font-size: 0.88rem;
  letter-spacing: 0;
  font-weight: 500;
  transition: border-color 160ms ease, box-shadow 160ms ease;
}

.contact-form input,
.contact-form select {
  height: 48px;
  padding: 0 14px;
}

.contact-form textarea {
  min-height: 112px;
  padding: 13px 14px;
  resize: vertical;
}

.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus {
  border-color: var(--gold-600);
  box-shadow: 0 0 0 3px rgba(165, 121, 39, 0.15);
}

.contact-form textarea::placeholder {
  color: #8d959b;
  font-weight: 600;
  opacity: 1;
}

.privacy-hint {
  display: block;
  width: 100%;
  max-width: 100%;
  margin: 0;
  color: #6b747b;
  font-size: 0.70rem;
  line-height: 1.62;
  text-align: justify;
  text-justify: inter-word;
  hyphens: auto;
  overflow-wrap: normal;
  word-break: normal;
}

.privacy-hint svg {
  width: 17px;
  height: 17px;
  color: var(--gold-700);
}

.site-footer {
  padding: 48px 0 26px;
  background: var(--navy-950);
  color: #c2ccd5;
}

.footer-main {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 45px;
  padding-bottom: 38px;
}

.brand--light {
  color: var(--white);
}

.brand--light small {
  color: #93a1ae;
}

.footer-main > p {
  max-width: 430px;
  margin: 0;
  color: #9aa8b5;
  font-size: 0.75rem;
  line-height: 1.6;
}

.footer-main > a {
  color: var(--gold-300);
  font-size: 0.74rem;
  font-weight: 800;
  text-decoration: none;
}

.footer-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 35px;
  padding-top: 24px;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.footer-bottom p {
  margin: 0;
  color: #778795;
  font-size: 0.62rem;
  line-height: 1.55;
}

.footer-bottom p:last-child {
  text-align: right;
}

.whatsapp-float {
  position: fixed;
  z-index: 90;
  right: 20px;
  bottom: 20px;
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 49px;
  padding: 10px 16px;
  border: 1px solid rgba(255, 255, 255, 0.3);
  border-radius: 999px;
  background: var(--green);
  box-shadow: 0 10px 28px rgba(4, 18, 33, 0.24);
  color: var(--white);
  font-size: 0.75rem;
  font-weight: 850;
  text-decoration: none;
}

.whatsapp-float svg {
  width: 25px;
  height: 25px;
}

:focus-visible {
  outline: 3px solid #e1b752;
  outline-offset: 3px;
}

@media (max-width: 1120px) {
  .desktop-nav {
    gap: 22px;
  }

  .hero-grid {
    grid-template-columns: minmax(0, 1.02fr) minmax(350px, 0.78fr);
    gap: 55px;
  }

  .hero-seal {
    right: -18px;
  }

  .service-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .service-card {
    min-height: 255px;
  }

  .video-grid {
    grid-template-columns: repeat(3, 1fr);
  }

  .video-card:nth-child(4),
  .video-card:nth-child(5) {
    width: calc(150% + 7px);
  }
}

@media (max-width: 920px) {
  .section {
    padding-block: 88px;
  }

  .header-inner {
    grid-template-columns: 1fr auto;
  }

  .desktop-nav,
  .button--header {
    display: none;
  }

  .menu-button {
    display: inline-flex;
  }

  .mobile-nav {
    position: absolute;
    top: 100%;
    right: 0;
    left: 0;
    display: grid;
    grid-template-rows: 0fr;
    overflow: hidden;
    border-top: 0 solid var(--line);
    background: var(--paper);
    box-shadow: 0 18px 36px rgba(4, 18, 33, 0.13);
    transition: grid-template-rows 220ms ease, border-width 220ms ease;
  }

  .mobile-nav > .container {
    display: grid;
    min-height: 0;
    overflow: hidden;
  }

  .mobile-nav a {
    padding: 14px 2px;
    border-bottom: 1px solid var(--line);
    color: var(--navy-900);
    font-size: 0.84rem;
    font-weight: 800;
    text-decoration: none;
  }

  .mobile-nav.is-open {
    grid-template-rows: 1fr;
    border-top-width: 1px;
  }

  .mobile-nav.is-open > .container {
    padding-block: 8px 18px;
  }

  .hero-grid {
    grid-template-columns: 1fr;
    gap: 56px;
    padding-block: 72px 86px;
  }

  .hero-copy {
    max-width: 760px;
  }

  .hero-portrait-wrap {
    justify-self: center;
    width: min(78vw, 480px);
  }

  .scope-bar-inner {
    grid-template-columns: auto 1fr;
    padding-right: 0;
    padding-block: 18px;
  }

  .scope-bar a {
    grid-column: 2;
  }

  .method-heading-row {
    align-items: start;
  }

  .method-layout,
  .confidence-grid,
  .boundaries-grid,
  .resources-grid,
  .contact-panel {
    grid-template-columns: 1fr;
  }

  .method-layout {
    gap: 58px;
  }

  .method-steps {
    grid-template-columns: repeat(2, 1fr);
    gap: 0 28px;
  }

  .method-steps li:nth-child(2) {
    border-top: 1px solid var(--line);
  }

  .confidence-grid,
  .boundaries-grid,
  .resources-grid {
    gap: 50px;
  }

  .contact-panel {
    max-width: 720px;
  }
}

@media (max-width: 640px) {
  .container {
    width: min(calc(100% - 32px), var(--container));
  }

  .section {
    padding-block: 72px;
  }

  .header-inner {
    min-height: 68px;
  }

  .brand {
    max-width: calc(100vw - 92px);
  }

  .brand strong {
    font-size: 1.08rem;
  }

  .brand small {
    font-size: 0.55rem;
  }

  html {
    scroll-padding-top: 76px;
  }

  .section-heading h2,
  .resources h2,
  .contact h2 {
    font-size: clamp(2.2rem, 12vw, 3.25rem);
  }

  .section-intro,
  .confidence-copy > p {
    font-size: 0.95rem;
    line-height: 1.72;
  }

  .hero-grid {
    gap: 46px;
    min-height: auto;
    padding-block: 58px 70px;
  }

  .hero h1 {
    font-size: clamp(2.75rem, 12.2vw, 3.45rem);
    line-height: 1;
  }

  .hero-lead {
    font-size: 1rem;
    line-height: 1.68;
  }

  .hero-actions {
    align-items: stretch;
    flex-direction: column;
    gap: 19px;
  }

  .hero-actions .button {
    width: 100%;
  }

  .hero-actions .text-link {
    justify-content: center;
  }

  .hero-assurances {
    display: grid;
    gap: 11px;
  }

  .hero-portrait-wrap {
    width: calc(100% - 16px);
  }

  .portrait-frame > img {
    transform: scale(1.1);
    transform-origin: 50% center;
  }

  .portrait-rule {
    top: -12px;
    right: -12px;
    height: calc(100% + 24px);
  }

  .hero-seal {
    right: -8px;
    bottom: 78px;
    width: 96px;
    height: 96px;
    font-size: 0.52rem;
  }

  .hero-seal svg {
    width: 25px;
    height: 25px;
  }

  .scope-bar-inner {
    display: grid;
    grid-template-columns: 1fr;
    gap: 11px;
    padding-block: 20px;
  }

  .scope-bar p {
    padding-left: 0;
    border-left: 0;
  }

  .scope-bar a {
    grid-column: 1;
  }

  .method-heading-row {
    display: block;
  }

  .folio-label {
    margin-top: 25px;
  }

  .method-layout {
    gap: 48px;
    margin-top: 38px;
  }

  .method-steps {
    grid-template-columns: 1fr;
  }

  .method-steps li {
    grid-template-columns: 31px 45px 1fr;
    gap: 12px;
  }

  .step-icon {
    width: 42px;
    height: 42px;
  }

  .document-board {
    padding: 23px 17px;
  }

  .document-board::before {
    top: 9px;
    right: -9px;
    bottom: -9px;
    left: 9px;
  }

  .document-meta {
    grid-template-columns: auto 1fr;
  }

  .document-row {
    grid-template-columns: minmax(108px, 1.22fr) 0.94fr 0.48fr;
    gap: 7px;
    font-size: 0.6rem;
  }

  .document-row span:nth-child(3) {
    font-size: 0.53rem;
  }

  .service-grid {
    grid-template-columns: 1fr;
    gap: 12px;
    margin-top: 40px;
  }

  .service-card {
    min-height: 0;
    padding: 27px 25px 29px;
  }

  .service-card > svg {
    margin: 25px 0 21px;
  }

  .confidence-grid,
  .boundaries-grid,
  .resources-grid {
    gap: 42px;
  }

  .testimonials-heading {
    display: block;
  }

  .testimonials-heading > svg {
    display: none;
  }

  .video-grid {
    display: flex;
    gap: 14px;
    margin-right: -16px;
    margin-top: 38px;
    overflow-x: auto;
    padding: 4px 16px 18px 1px;
    scroll-snap-type: x mandatory;
    scrollbar-width: thin;
  }

  .video-card,
  .video-card:nth-child(4),
  .video-card:nth-child(5) {
    width: min(72vw, 280px);
    flex: 0 0 min(72vw, 280px);
    scroll-snap-align: start;
  }

  .results-note {
    justify-content: start;
    text-align: left;
  }

  .boundary-columns {
    grid-template-columns: 1fr;
  }

  .boundary-card {
    min-height: 0;
  }

  .resources {
    padding-block: 62px;
  }

  .contact {
    padding-block: 0;
    background: var(--navy-900);
  }

  .contact > .container {
    width: 100%;
  }

  .contact-copy,
  .contact-form {
    padding: 54px 24px;
  }

  .footer-main {
    grid-template-columns: 1fr;
    gap: 25px;
  }

  .footer-bottom {
    align-items: start;
    flex-direction: column;
    gap: 10px;
  }

  .footer-bottom p:last-child {
    text-align: left;
  }

  .whatsapp-float {
    right: 14px;
    bottom: 14px;
    width: 52px;
    height: 52px;
    min-height: 52px;
    justify-content: center;
    padding: 0;
  }

  .whatsapp-float span {
    position: absolute;
    overflow: hidden;
    width: 1px;
    height: 1px;
    clip: rect(0 0 0 0);
    white-space: nowrap;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}


/* ===== CL-WEB FLAGSHIP 18P v1.4.1 MIRROR-CURRENT ===== */
:root { --header-h: 78px; }
body { padding-bottom: env(safe-area-inset-bottom); }
.site-header .brand small { letter-spacing:.105em; }
.desktop-nav { gap: clamp(15px,2.1vw,31px); }
.desktop-nav a { font-size:.78rem; }
.button--header { white-space: nowrap; }

/* Internal-page hero mirrors the approved navy/gold/ivory language. */
.page-hero {
  position: relative; isolation:isolate; overflow:hidden;
  background:
    radial-gradient(circle at 76% 20%, rgba(193,151,72,.16), transparent 28%),
    linear-gradient(118deg,var(--navy-950),#092541 64%,#07182c);
  color:var(--white);
}
.page-hero::before,.page-hero::after{position:absolute;z-index:-1;border:1px solid rgba(216,183,112,.13);border-radius:50%;content:""}
.page-hero::before{top:-420px;right:-210px;width:790px;height:790px}
.page-hero::after{right:110px;bottom:-470px;width:740px;height:740px}
.page-hero-inner{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);align-items:end;gap:70px;padding-block:92px 86px}
.page-hero h1{max-width:820px;margin:0 0 24px;color:white;font-size:clamp(3rem,5.1vw,5.35rem);font-weight:550;line-height:.98}
.page-hero h1 em{color:var(--gold-300);font-weight:500}
.page-hero .lead{max-width:720px;margin:0;color:#d9e0e7;font-size:1.08rem;line-height:1.75}
.page-hero-aside{padding:25px 0 3px 28px;border-left:1px solid rgba(221,194,127,.35)}
.page-hero-aside strong{display:block;margin-bottom:8px;color:var(--gold-300);font-family:Georgia,"Times New Roman",serif;font-size:1.5rem;font-weight:600}
.page-hero-aside p{margin:0;color:#c7d1db;font-size:.82rem;line-height:1.7}
.breadcrumb{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:24px;color:#aebdcc;font-size:.72rem;font-weight:750;letter-spacing:.045em;text-transform:uppercase}
.breadcrumb a{text-decoration:none}.breadcrumb a:hover{text-decoration:underline}

.subnav{border-bottom:1px solid #ddd6c7;background:#f8f4ea}
.subnav-inner{display:flex;align-items:center;gap:28px;min-height:52px;overflow-x:auto;scrollbar-width:none}
.subnav-inner::-webkit-scrollbar{display:none}
.subnav a{position:relative;color:#344454;font-size:.75rem;font-weight:800;text-decoration:none;white-space:nowrap}
.subnav a[aria-current="page"]{color:var(--navy-900)}
.subnav a[aria-current="page"]::after{position:absolute;right:0;bottom:-17px;left:0;height:2px;background:var(--gold-600);content:""}

.editorial{background:var(--paper)}
.editorial--ivory{background:var(--ivory);border-top:1px solid #e4ddcf;border-bottom:1px solid #e4ddcf}
.editorial--navy{background:var(--navy-900);color:white}
.editorial--navy h2,.editorial--navy h3{color:white}.editorial--navy .section-intro,.editorial--navy p{color:#cfd8e0}
.editorial--navy .eyebrow{color:var(--gold-300)}

.intro-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(48px,8vw,110px);align-items:start}
.lead-note{padding:26px 28px;border-left:3px solid var(--gold-600);background:#f3eee3;color:#5f6974;font-size:.92rem;line-height:1.75}
.lead-note strong{display:block;margin-bottom:6px;color:var(--navy-900)}

.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:50px}
.feature-card{position:relative;min-height:250px;padding:30px 28px;border:1px solid #ddd4c4;background:rgba(255,253,248,.72);transition:transform .18s ease,box-shadow .18s ease,background .18s ease}
.feature-card:hover{transform:translateY(-5px);background:var(--paper);box-shadow:var(--shadow-card)}
.feature-card .num{display:block;margin-bottom:38px;color:var(--gold-700);font-family:Georgia,"Times New Roman",serif;font-size:.78rem;font-style:italic}
.feature-card h3{margin:0 0 12px;color:var(--navy-900);font-size:1.13rem}
.feature-card p{margin:0;color:var(--muted);font-size:.85rem;line-height:1.7}
.feature-card a{display:inline-flex;margin-top:18px;color:var(--navy-800);font-size:.77rem;font-weight:850;text-decoration:none}
.feature-card a:hover{text-decoration:underline}
.feature-grid--4{grid-template-columns:repeat(4,1fr)}

.route-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:48px}
.route-card{padding:30px;border:1px solid #d8cfbf;background:#fffdf8}
.route-card .flag{font-size:2rem;line-height:1}
.route-card h3{margin:21px 0 10px;color:var(--navy-900);font-size:1.16rem}
.route-card p{margin:0;color:var(--muted);font-size:.84rem;line-height:1.7}
.route-card a{display:inline-block;margin-top:17px;color:var(--navy-800);font-size:.76rem;font-weight:850;text-decoration:none}

.split-panel{display:grid;grid-template-columns:1fr 1fr;border:1px solid #d6cbb7;background:#f4efe3;box-shadow:var(--shadow-soft)}
.split-panel > div{padding:clamp(30px,4.5vw,54px)}
.split-panel > div + div{border-left:1px solid #d6cbb7;background:#fffdf8}
.split-panel h3{margin:0 0 13px;color:var(--navy-900);font-size:1.35rem}
.split-panel p{color:var(--muted);font-size:.86rem;line-height:1.75}
.list-check{display:grid;gap:10px;margin:22px 0 0;padding:0;list-style:none}
.list-check li{position:relative;padding-left:24px;color:#4f5e6b;font-size:.83rem;line-height:1.6}
.list-check li::before{position:absolute;top:.1em;left:0;color:var(--gold-700);content:"✓";font-weight:900}
.list-check--no li::before{content:"×";color:var(--red)}

.process-line{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #d9d0c0;border-bottom:1px solid #d9d0c0;margin-top:46px}
.process-line article{padding:30px 24px;border-left:1px solid #d9d0c0}
.process-line article:first-child{border-left:0}
.process-line b{display:block;margin-bottom:10px;color:var(--gold-700);font-family:Georgia,"Times New Roman",serif;font-size:.86rem}
.process-line h3{margin:0 0 8px;color:var(--navy-900);font-size:1rem}
.process-line p{margin:0;color:var(--muted);font-size:.78rem;line-height:1.62}

.document-mini{padding:clamp(26px,4vw,44px);border:1px solid #d4c5a6;background:#f4efe3;box-shadow:var(--shadow-soft)}
.document-mini-head{display:flex;justify-content:space-between;gap:18px;padding-bottom:20px;border-bottom:2px solid var(--navy-900)}
.document-mini-head strong{font-family:Georgia,"Times New Roman",serif;color:var(--navy-900);font-size:1.55rem}
.document-mini-head span{color:var(--gold-700);font-size:.6rem;font-weight:850;letter-spacing:.13em;text-transform:uppercase}
.document-mini-row{display:grid;grid-template-columns:1.25fr .9fr .5fr;gap:12px;padding:15px 0;border-bottom:1px solid #d7cebc;color:#475561;font-size:.72rem}
.document-mini-row b{color:var(--green-deep)}
.document-mini-row code{text-align:right;color:#7c7059;font-size:.64rem}

.stat-band{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid #d8cfbf;background:#fffdf8}
.stat-band div{padding:27px 28px;border-left:1px solid #d8cfbf}.stat-band div:first-child{border-left:0}
.stat-band strong{display:block;color:var(--navy-900);font-family:Georgia,"Times New Roman",serif;font-size:1.55rem;font-weight:600}
.stat-band span{color:var(--muted);font-size:.73rem;line-height:1.5}

.package-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:50px}
.package-card{position:relative;padding:33px 30px 31px;border:1px solid #d8cfbf;background:#fffdf8;box-shadow:0 9px 28px rgba(4,18,33,.04)}
.package-card.recommended{border-color:#b28c40;box-shadow:0 20px 50px rgba(4,18,33,.10)}
.package-card .badge{position:absolute;top:0;right:0;padding:7px 11px;background:var(--navy-900);color:var(--gold-300);font-size:.56rem;font-weight:850;letter-spacing:.11em;text-transform:uppercase}
.package-card .price{margin:20px 0 5px;color:var(--navy-900);font-family:Georgia,"Times New Roman",serif;font-size:2.25rem}
.package-card .price small{display:block;margin-top:4px;color:var(--muted);font-family:inherit;font-size:.72rem;font-weight:500}
.package-card .alt-price{margin:0 0 22px;color:#6e756f;font-size:.74rem;line-height:1.55}
.package-card ul{display:grid;gap:9px;margin:20px 0 0;padding:20px 0 0;border-top:1px solid #e0d8c9;list-style:none}
.package-card li{position:relative;padding-left:21px;color:#4d5b68;font-size:.79rem;line-height:1.55}
.package-card li::before{position:absolute;left:0;color:var(--gold-700);content:"✓";font-weight:900}

.table-shell{overflow-x:auto;margin-top:38px;border:1px solid #d7cebd;background:#fffdf8;box-shadow:0 10px 30px rgba(4,18,33,.05)}
table.compare{width:100%;min-width:760px;border-collapse:collapse;color:#394a59;font-size:.79rem}
table.compare th,table.compare td{padding:16px 18px;border-bottom:1px solid #e0d9cc;border-left:1px solid #e7e0d4;text-align:left;vertical-align:top}
table.compare th:first-child,table.compare td:first-child{border-left:0}
table.compare thead th{background:var(--navy-900);color:#fff;font-size:.7rem;letter-spacing:.03em}
table.compare thead th:first-child{color:var(--gold-300)}
table.compare tbody tr:nth-child(even){background:#faf7ef}
table.compare td:first-child{color:var(--navy-900);font-weight:800}

.faq-list{display:grid;gap:0;margin-top:38px;border-top:1px solid #d8cfbf}
.faq-list details{border-bottom:1px solid #d8cfbf;background:#fffdf8}
.faq-list summary{padding:21px 5px;cursor:pointer;color:var(--navy-900);font-weight:800;list-style:none}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{float:right;color:var(--gold-700);content:"+";font-size:1.2rem}
.faq-list details[open] summary::after{content:"–"}
.faq-list details p{max-width:850px;padding:0 5px 22px;margin:0;color:var(--muted);font-size:.84rem;line-height:1.75}

.source-list{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:38px}
.source-list a{display:flex;justify-content:space-between;gap:18px;padding:24px 26px;border:1px solid #dcd3c3;background:#fffdf8;text-decoration:none;transition:transform .15s ease,box-shadow .15s ease}
.source-list a:hover{transform:translateY(-3px);box-shadow:var(--shadow-card)}
.source-list strong{display:block;color:var(--navy-900);font-size:.92rem}.source-list small{display:block;margin-top:5px;color:var(--muted);font-size:.72rem;line-height:1.5}.source-list em{align-self:center;color:var(--gold-700);font-style:normal;font-weight:900}

.bio-grid{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:clamp(46px,8vw,100px);align-items:start}
.bio-portrait{position:relative;padding-right:18px;padding-bottom:18px}
.bio-portrait::after{position:absolute;z-index:-1;right:0;bottom:0;width:72%;height:76%;border:1px solid #cdbb91;content:""}
.bio-portrait img{width:100%;aspect-ratio:.77;object-fit:cover;object-position:50% center;box-shadow:var(--shadow-soft)}
.bio-copy h2{margin-bottom:22px;color:var(--navy-900);font-size:clamp(2.5rem,4.5vw,4.4rem);font-weight:600;line-height:1.02}
.bio-copy p{color:var(--muted);font-size:.92rem;line-height:1.8}

.contact-choices{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:38px}
.contact-choice{padding:29px;border:1px solid #d8cfbf;background:#fffdf8}
.contact-choice h3{margin:0 0 10px;color:var(--navy-900)}
.contact-choice p{margin:0 0 17px;color:var(--muted);font-size:.82rem;line-height:1.65}
.contact-choice a{color:var(--navy-800);font-size:.78rem;font-weight:850;text-decoration:none;overflow-wrap:anywhere}

.intake-panel{display:grid;grid-template-columns:.75fr 1.25fr;border:1px solid #d6cbb7;background:#f4efe3;box-shadow:var(--shadow-soft)}
.intake-copy{padding:clamp(34px,5vw,60px)}
.intake-copy h2{margin-bottom:20px;color:var(--navy-900);font-size:clamp(2.3rem,4.2vw,4rem);font-weight:600;line-height:1.02}
.intake-copy p{color:var(--muted);font-size:.88rem;line-height:1.75}
.intake-form{display:grid;gap:19px;padding:clamp(34px,5vw,60px);border-left:1px solid #d6cbb7;background:#fffdf8}
.intake-form label{display:grid;gap:7px;color:var(--navy-900);font-size:.75rem;font-weight:800}
.intake-form input,.intake-form select,.intake-form textarea{width:100%;padding:13px 14px;border:1px solid #cfc7b8;background:#fff;color:var(--ink);font-size:.84rem}
.intake-form input:focus,.intake-form select:focus,.intake-form textarea:focus{outline:2px solid rgba(165,121,39,.25);border-color:var(--gold-600)}
.privacy-hint-static{padding:12px 14px;border-left:3px solid var(--gold-600);background:#f7f2e8;color:#656e75;font-size:.72rem;line-height:1.6}

.notice{padding:20px 22px;border:1px solid #d9cfbd;background:#f4efe3;color:#5d6670;font-size:.8rem;line-height:1.65}
.notice strong{color:var(--navy-900)}

.site-footer{position:relative}
.site-footer .footer-main{grid-template-columns:auto 1fr auto auto;gap:28px}
.footer-email{display:grid;gap:3px;color:#d7dee5;font-size:.72rem;overflow-wrap:anywhere}
.footer-email small{color:#94a7ba;font-size:.58rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.footer-email a{text-decoration:none}.footer-email a:hover{text-decoration:underline}
.whatsapp-float{right:22px;bottom:calc(28px + env(safe-area-inset-bottom));z-index:140}

/* Contact page and CL-WEB use the same premium dark panel language. */
.dark-cta{padding:clamp(36px,5vw,62px);background:var(--navy-900);color:#fff;box-shadow:var(--shadow-soft)}
.dark-cta h2{margin:0 0 17px;color:#fff;font-size:clamp(2.35rem,4.3vw,4.2rem);font-weight:600;line-height:1.02}
.dark-cta p{max-width:700px;color:#cad5df;line-height:1.75}
.dark-cta .button{margin-top:12px}

@media (max-width: 1040px){
  .desktop-nav{gap:14px}.desktop-nav a{font-size:.72rem}
  .feature-grid--4{grid-template-columns:repeat(2,1fr)}
  .page-hero-inner{grid-template-columns:1fr;gap:38px}.page-hero-aside{max-width:620px}
}
@media (max-width: 820px){
  .page-hero-inner,.intro-grid,.bio-grid,.intake-panel,.split-panel{grid-template-columns:1fr}
  .page-hero-inner{padding-block:68px 62px}.page-hero h1{font-size:clamp(2.7rem,10.8vw,4rem)}
  .page-hero-aside{padding:20px 0 0;border-left:0;border-top:1px solid rgba(221,194,127,.35)}
  .feature-grid,.route-grid,.package-grid,.source-list,.contact-choices{grid-template-columns:1fr 1fr}
  .process-line{grid-template-columns:1fr 1fr}
  .process-line article:nth-child(3){border-top:1px solid #d9d0c0;border-left:0}.process-line article:nth-child(4){border-top:1px solid #d9d0c0}
  .split-panel > div + div,.intake-form{border-left:0;border-top:1px solid #d6cbb7}
  .site-footer .footer-main{grid-template-columns:1fr 1fr}
}
@media (max-width: 620px){
  .subnav-inner{gap:20px}
  .feature-grid,.feature-grid--4,.route-grid,.package-grid,.source-list,.contact-choices,.stat-band{grid-template-columns:1fr}
  .feature-card{min-height:0}
  .process-line{grid-template-columns:1fr}
  .process-line article{border-left:0;border-top:1px solid #d9d0c0}.process-line article:first-child{border-top:0}
  .stat-band div{border-left:0;border-top:1px solid #d8cfbf}.stat-band div:first-child{border-top:0}
  .site-footer .footer-main{grid-template-columns:1fr}
  .whatsapp-float{right:14px;bottom:calc(22px + env(safe-area-inset-bottom));width:52px;height:52px;min-height:52px;justify-content:center;padding:0}
  .whatsapp-float span{position:absolute;overflow:hidden;width:1px;height:1px;clip:rect(0 0 0 0);white-space:nowrap}
  .bio-portrait{padding-right:10px;padding-bottom:10px}
}
.dark-cta h2{overflow-wrap:anywhere;word-break:break-word}


/* ===== v1.5.0 PRODUCTION MIRROR — imagery and visual fidelity ===== */
.hero-portrait-wrap{align-self:stretch;display:flex;align-items:stretch;min-height:620px}
.hero .portrait-frame{height:100%;min-height:620px;border-color:rgba(216,183,112,.38);background:#07182c;box-shadow:0 28px 70px rgba(1,9,18,.28)}
.hero .portrait-frame img{width:100%;height:100%;min-height:620px;object-fit:cover;object-position:50% 45%;filter:none}
.hero .portrait-caption{background:linear-gradient(180deg,transparent,rgba(3,13,24,.82));padding-top:78px}
.current-showcase{padding:68px 0 82px;background:#fbf8f0;border-top:1px solid #e3dbc9;border-bottom:1px solid #e3dbc9}
.current-showcase-figure{margin:0;overflow:hidden;border:1px solid #cfb87f;border-radius:14px;background:#05080c;box-shadow:0 30px 70px rgba(6,17,29,.16)}
.current-showcase-figure img{display:block;width:100%;height:auto}
.current-showcase-copy{max-width:940px;margin:46px auto 0;text-align:center}
.current-showcase-copy h2{margin:0 auto 18px;max-width:850px;color:var(--navy-900);font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.4rem,4.4vw,4.6rem);font-weight:550;line-height:1.02}
.current-showcase-copy p:last-child{max-width:820px;margin:0 auto;color:var(--muted);font-size:.96rem;line-height:1.8}
.production-visual-strip{padding:36px 0;background:#f9f5ec;border-bottom:1px solid #e1d8c7}
.production-visual-strip img{display:block;width:100%;max-height:520px;object-fit:cover;border-radius:12px;border:1px solid #cfb87f;box-shadow:0 22px 55px rgba(6,17,29,.12)}
.production-portrait-band{padding:70px 0;background:#f8f3e8;border-bottom:1px solid #ddd2bd}
.production-portrait-grid{display:grid;grid-template-columns:minmax(0,.86fr) minmax(320px,1.14fr);gap:64px;align-items:center}
.production-portrait-grid h2{margin:10px 0 16px;color:var(--navy-900);font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.5rem,4.4vw,4.5rem);font-weight:550;line-height:1.02}
.production-portrait-grid p{color:var(--muted);line-height:1.8}
.production-portrait-grid img{width:100%;max-height:590px;object-fit:cover;object-position:50% 38%;border-radius:12px;border:1px solid #cdb681;box-shadow:0 25px 60px rgba(6,17,29,.14)}
/* Keep the floating CTA clear of browser/footer content. */
.whatsapp-float{bottom:calc(42px + env(safe-area-inset-bottom))!important}
@media (max-width:900px){
  .hero-portrait-wrap,.hero .portrait-frame,.hero .portrait-frame img{min-height:520px}
  .production-portrait-grid{grid-template-columns:1fr;gap:34px}
  .production-portrait-grid img{max-height:650px}
}
@media (max-width:620px){
  .hero-portrait-wrap,.hero .portrait-frame,.hero .portrait-frame img{min-height:500px}
  .hero .portrait-frame img{object-position:52% 34%}
  .current-showcase{padding:34px 0 48px}
  .current-showcase-figure{border-radius:9px}
  .current-showcase-copy{margin-top:30px;text-align:left}
  .current-showcase-copy h2{font-size:clamp(2.1rem,11vw,3.25rem)}
  .production-visual-strip{padding:20px 0}
  .production-visual-strip img{border-radius:8px;max-height:none}
  .production-portrait-band{padding:45px 0}
  .whatsapp-float{bottom:calc(34px + env(safe-area-inset-bottom))!important}
}


/* ===== v1.5.1 QA refinements =====
   Fix mobile privacy copy width/justification and keep form copy readable. */
@media (max-width: 640px){
  .privacy-hint{font-size:.74rem;line-height:1.65;text-align:justify;}
  .contact-form textarea{min-height:132px;}
}


/* ===== v1.5.2 NAV + COMMERCIAL QA refinements ===== */
/* Explicit home route in desktop/mobile menus. */
.desktop-nav a[aria-current="page"],
.mobile-nav a[aria-current="page"]{color:var(--gold-700)}
.desktop-nav a[aria-current="page"]::after{transform:scaleX(1)}

/* "Desde" is visible on the price itself, not only in explanatory copy. */
.package-card .price{display:grid;grid-template-columns:auto 1fr;align-items:baseline;column-gap:8px;row-gap:0}
.package-card .price-prefix{color:var(--gold-700);font-family:"Avenir Next",Avenir,-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;font-size:.62rem;font-weight:850;letter-spacing:.12em;text-transform:uppercase}
.package-card .price-amount{color:var(--navy-900);font-family:Georgia,"Times New Roman",serif;font-size:2.25rem;line-height:1}
.package-card .price small{grid-column:1/-1}

/* Desktop keeps the compact matrix; mobile receives readable stacked comparisons. */
.compare-mobile{display:none}
.compare-mobile-card{position:relative;border:1px solid #d7cebd;background:#fffdf8;box-shadow:0 10px 28px rgba(4,18,33,.05)}
.compare-mobile-card.recommended{border-color:#b28c40;box-shadow:0 16px 36px rgba(4,18,33,.09)}
.compare-mobile-card>.badge{position:absolute;top:0;right:0;padding:7px 10px;background:var(--navy-900);color:var(--gold-300);font-size:.54rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase}
.compare-mobile-card h3{margin:0;padding:22px 20px 18px;background:var(--navy-900);color:#fff;font-family:Georgia,"Times New Roman",serif;font-size:1.28rem;font-weight:600}
.compare-mobile-card dl{margin:0}
.compare-mobile-card dl>div{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:14px;padding:13px 18px;border-top:1px solid #e0d9cc}
.compare-mobile-card dt{color:var(--navy-900);font-size:.72rem;font-weight:800}
.compare-mobile-card dd{margin:0;color:#4e5c68;font-size:.72rem;line-height:1.45;text-align:right}

/* Conversion close after FAQ. */
.packages-final-cta{padding:78px 0;background:var(--navy-900);color:#fff;border-top:1px solid rgba(221,194,127,.2)}
.packages-final-cta-inner{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);align-items:center;gap:clamp(40px,7vw,90px)}
.packages-final-cta h2{max-width:760px;margin:0 0 16px;color:#fff;font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.4rem,4.4vw,4.5rem);font-weight:550;line-height:1.03}
.packages-final-cta p:not(.eyebrow){max-width:760px;margin:0;color:#bdc9d4;font-size:.92rem;line-height:1.75}
.packages-final-cta-actions{display:grid;gap:18px;justify-items:start}
.packages-final-cta .text-link--dark{color:var(--gold-300);font-weight:800;text-decoration:none}

@media (max-width:920px){
  .packages-final-cta-inner{grid-template-columns:1fr;gap:34px}
}
@media (max-width:620px){
  .table-shell{display:none}
  .compare-mobile{display:grid;gap:16px;margin-top:32px}
  .package-card .price{grid-template-columns:auto 1fr;column-gap:7px}
  .package-card .price-amount{font-size:2rem}
  .packages-final-cta{padding:58px 0}
  .packages-final-cta-actions{justify-items:stretch}
  .packages-final-cta-actions .button{width:100%}
  .packages-final-cta .text-link--dark{text-align:center}
}


/* ===== v1.5.3 FLOAT + ICON QA refinements =====
   1) Replace the raw @ symbol with a consistent envelope icon.
   2) Keep the floating WhatsApp CTA off the home portrait while the hero is visible.
   3) Pin the floating CTA just above the footer instead of over footer/email content. */
.contact-icon svg{width:34px;height:34px;display:block}
.whatsapp-float{
  --wa-dynamic-bottom:42px;
  bottom:calc(var(--wa-dynamic-bottom) + env(safe-area-inset-bottom))!important;
  transition:bottom .18s ease,opacity .18s ease,transform .18s ease;
}
.whatsapp-float.is-hero-visible{
  opacity:0;
  pointer-events:none;
  transform:translateY(10px);
}
@media (max-width:620px){
  .whatsapp-float{--wa-dynamic-bottom:34px}
}


/* ===== v1.5.4 HERO + CONTACT MICRO-QA =====
   1) Envelope icon matches the WhatsApp icon footprint in Primer contacto.
   2) Lower the Proceso ordenado seal so the existing CL monogram on the laptop remains visible.
   Visual identity and source photograph remain unchanged. */
.contact-icon svg{width:34px;height:34px;padding:5px;stroke-width:2.2;display:block}
.hero-seal{bottom:-10px}
@media (max-width:620px){
  .hero-seal{bottom:-14px}
}

/* ===== v1.5.5 LAPTOP CL VISIBILITY MICRO-QA =====
   The approved hero photo already contains the gold CL monogram on the laptop lid.
   The Proceso ordenado seal is lowered so it no longer competes with or obscures that mark.
   No duplicate CL overlay is introduced; approved source image remains untouched. */

/* ===== v1.5.6 MOBILE FOOTER SLOT MICRO-QA =====
   Final frozen adjustment requested from real iPhone QA:
   when the footer enters the viewport, the floating WhatsApp CTA becomes
   slightly more compact and sits in the neutral gap between the last gold
   CTA bar and the navy footer, without overlapping either surface. */
@media (max-width:620px){
  .whatsapp-float.is-footer-slot{
    width:48px;
    height:48px;
    min-height:48px;
  }
}

/* ===== v1.5.8 — FULL REPEATED ARTWORK ON DESKTOP =====
   The repeated international artwork must preserve its full 16:9 composition.
   v1.5.7 capped it at 520px on desktop, clipping the lower signature/message.
   Mobile was already correct because max-height was disabled there. */
.production-visual-strip img{
  max-height:none;
  height:auto;
  object-fit:contain;
}


/* ===== v1.5.11 HERO SEAL FINAL MICRO-ADJUSTMENT =====
   Single requested change from real desktop QA:
   move “Proceso ordenado” slightly farther left and slightly lower.
   Mobile remains unchanged. */
@media (min-width: 821px){
  .hero-seal{
    left:-122px;
    right:auto;
    bottom:25px;
  }
}


/* ===== v1.5.13 RECOVERY — content reachability hardening ===== */
.footer-links{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center;margin:0;padding:14px 0 0;border-top:1px solid rgba(255,255,255,.12)}
.footer-links a{color:#d7dee5;font-size:.72rem;font-weight:800;text-decoration:none}
.footer-links a:hover,.footer-links a:focus-visible{text-decoration:underline;color:#fff}
@media (max-width:620px){.footer-links{gap:12px 16px}.footer-links a{font-size:.76rem}}


/* CL-WEB v1.5.14 hardening: inline-style elimination utilities */
.cl-ml-8{margin-left:8px}
.cl-mt-28{margin-top:28px}
.cl-mt-24{margin-top:24px}
.cl-mt-30{margin-top:30px}
.cl-process-two{margin-top:-1px;grid-template-columns:1fr 1fr}
.cl-card-transparent{background:transparent;border-color:rgba(221,194,127,.28)}
.cl-card-glass{background:rgba(255,255,255,.04);border-color:rgba(221,194,127,.28)}

/* v1.5.14-r2 — align the CL-WEB panel tone with the approved navy section while preserving contrast.
   Higher specificity is intentional: .split-panel > div + div otherwise restores a light background. */
.editorial--navy .split-panel.cl-card-transparent{background:transparent;border-color:rgba(221,194,127,.28)}
.editorial--navy .split-panel > .cl-card-glass{background:transparent;border-color:rgba(221,194,127,.28)}

/* CL-WEB v1.5.15 — responsive sequence integrity fix.
   On mobile, CL-CASEFLOW steps 05 and 06 must preserve the same one-step-per-row hierarchy as 01–04. */
@media (max-width:620px){
  .cl-process-two{grid-template-columns:1fr}
}


/* ============================================================
   CL-WEB v1.6.0 ALPHA — Professional Segmentation Layer
   Additive IA: Personas/Familias · Profesionales/Firmas · Empresas
   ============================================================ */

.brand small{letter-spacing:.075em}

.nav-solutions{position:relative}
.nav-solutions summary{list-style:none;cursor:pointer;color:#324052;font-size:.83rem;font-weight:750;user-select:none}
.nav-solutions summary::-webkit-details-marker{display:none}
.nav-solutions summary::after{content:"⌄";display:inline-block;margin-left:6px;color:var(--gold-700);font-size:.74rem;transition:transform 160ms ease}
.nav-solutions[open] summary::after{transform:rotate(180deg)}
.nav-solutions summary:focus-visible{outline:2px solid var(--gold-600);outline-offset:7px;border-radius:2px}
.solutions-popover{position:absolute;z-index:120;top:calc(100% + 20px);left:50%;width:min(720px,80vw);transform:translateX(-50%);display:grid;grid-template-columns:repeat(3,1fr);gap:1px;padding:1px;border:1px solid #d8cfbf;background:#d8cfbf;box-shadow:0 24px 65px rgba(4,18,33,.2)}
.solutions-popover a{display:grid;gap:7px;min-height:150px;padding:24px;background:var(--paper);text-decoration:none}
.solutions-popover a::after{display:none!important}
.solutions-popover a:hover,.solutions-popover a:focus-visible{background:#f4eee1}
.solutions-popover strong{color:var(--navy-900);font-family:Georgia,"Times New Roman",serif;font-size:1.05rem;line-height:1.12}
.solutions-popover span{color:var(--muted);font-size:.74rem;line-height:1.55}
.solutions-popover b{margin-top:auto;color:var(--gold-700);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase}

.mobile-nav .mobile-nav-label{display:block;margin:16px 0 4px;padding:0 4px;color:var(--gold-700);font-size:.62rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase}
.mobile-nav .mobile-nav-segment{padding-left:18px;border-left:2px solid #d8c28b}

.hero--platform .hero-grid{grid-template-columns:minmax(0,1.18fr) minmax(330px,.82fr)}
.hero--platform .hero-copy{padding-block:100px}
.hero--platform h1{max-width:780px;font-size:clamp(3.05rem,5.9vw,6.3rem)}
.hero--platform h1 em{display:inline;color:var(--gold-300)}
.hero-platform-kicker{display:inline-flex;align-items:center;gap:10px;margin-bottom:18px;color:var(--gold-300);font-size:.7rem;font-weight:900;letter-spacing:.15em;text-transform:uppercase}
.hero-platform-kicker::before{width:32px;height:1px;background:currentColor;content:""}
.hero-segment-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:34px}
.hero-segment-actions a{display:grid;gap:5px;padding:15px 16px;border:1px solid rgba(221,194,127,.32);background:rgba(255,255,255,.045);color:#fff;text-decoration:none;transition:background 160ms ease,border-color 160ms ease,transform 160ms ease}
.hero-segment-actions a:hover,.hero-segment-actions a:focus-visible{transform:translateY(-2px);border-color:rgba(221,194,127,.72);background:rgba(255,255,255,.09)}
.hero-segment-actions strong{font-size:.78rem;line-height:1.25}
.hero-segment-actions span{color:#aebdcc;font-size:.63rem;line-height:1.4}
.hero-platform-note{max-width:640px;margin-top:25px;color:#aebdcc;font-size:.78rem;line-height:1.7}
.hero-platform-note strong{color:#fff}
.hero--platform .portrait-caption span:last-child{max-width:230px}

.audience-section{position:relative;padding:100px 0;background:linear-gradient(180deg,#fbf8f0,#fffdf8)}
.audience-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.36fr);gap:60px;align-items:end;margin-bottom:46px}
.audience-intro h2{margin:0;color:var(--navy-900);font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.65rem,4.8vw,5rem);font-weight:550;line-height:1.01;letter-spacing:-.04em}
.audience-intro p{margin:0;color:var(--muted);font-size:.91rem;line-height:1.75}
.audience-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.audience-card{position:relative;isolation:isolate;overflow:hidden;display:flex;flex-direction:column;min-height:465px;padding:30px;border:1px solid #d8cfbf;background:var(--paper);box-shadow:0 18px 45px rgba(4,18,33,.055);text-decoration:none;transition:transform 180ms ease,box-shadow 180ms ease,border-color 180ms ease}
.audience-card::before{position:absolute;z-index:-1;inset:0 0 auto;height:6px;background:var(--segment-accent,var(--gold-600));content:""}
.audience-card::after{position:absolute;z-index:-1;right:-130px;bottom:-145px;width:300px;height:300px;border:1px solid rgba(141,101,29,.14);border-radius:50%;content:""}
.audience-card:hover,.audience-card:focus-visible{transform:translateY(-6px);border-color:#c5ae77;box-shadow:0 28px 65px rgba(4,18,33,.11)}
.audience-card--people{--segment-accent:#b58a35}
.audience-card--pro{--segment-accent:#1d527c}
.audience-card--business{--segment-accent:#143b60}
.audience-index{display:flex;align-items:center;justify-content:space-between;margin-bottom:52px;color:var(--gold-700);font-size:.65rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.audience-index b{font-family:Georgia,"Times New Roman",serif;font-size:1.2rem;font-weight:500;letter-spacing:0}
.audience-card h3{max-width:290px;margin:0 0 18px;color:var(--navy-900);font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.75rem,2.4vw,2.6rem);font-weight:550;line-height:1.04;letter-spacing:-.035em}
.audience-card>p{margin:0 0 28px;color:var(--muted);font-size:.86rem;line-height:1.72}
.audience-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:auto;padding-top:25px;border-top:1px solid #e6dfd2}
.audience-tags span{padding:6px 8px;border:1px solid #d8cfbf;background:#fff;color:#4b5968;font-size:.61rem;font-weight:850;letter-spacing:.04em;text-transform:uppercase}
.audience-cta{display:flex;align-items:center;justify-content:space-between;margin-top:25px;color:var(--navy-800);font-size:.72rem;font-weight:900;letter-spacing:.05em;text-transform:uppercase}
.audience-cta::after{content:"→";color:var(--gold-700);font-size:1.1rem}

.platform-method{background:#fff}
.platform-method .method-heading-row{align-items:end}
.platform-method .method-steps h3{font-size:1rem}
.platform-method .document-board-top span{background:#efe4c7;color:#705019}

.trust-standard{border-top:1px solid #ded8ca;background:#f8f4ea}
.trust-standard-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:72px;align-items:start}
.trust-standard h2{margin:0;color:var(--navy-900);font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.4rem,4.3vw,4.3rem);font-weight:550;line-height:1.02;letter-spacing:-.04em}
.trust-standard-list{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #d8cfbf;border-left:1px solid #d8cfbf}
.trust-standard-list article{min-height:185px;padding:26px;border-right:1px solid #d8cfbf;border-bottom:1px solid #d8cfbf;background:#fffdf8}
.trust-standard-list span{display:block;margin-bottom:28px;color:var(--gold-700);font-size:.64rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.trust-standard-list h3{margin:0 0 9px;color:var(--navy-900);font-size:.96rem}
.trust-standard-list p{margin:0;color:var(--muted);font-size:.75rem;line-height:1.65}

.three-exits{padding:90px 0;background:var(--navy-900);color:#fff}
.three-exits .section-heading h2{color:#fff}
.three-exits .section-intro{color:#cbd6df}
.exit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:42px;background:rgba(221,194,127,.25);border:1px solid rgba(221,194,127,.25)}
.exit-card{display:flex;min-height:285px;flex-direction:column;padding:28px;background:#09223b;color:#fff;text-decoration:none}
.exit-card:hover,.exit-card:focus-visible{background:#0d2d4d}
.exit-card small{color:var(--gold-300);font-size:.62rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase}
.exit-card h3{margin:54px 0 12px;color:#fff;font-family:Georgia,"Times New Roman",serif;font-size:1.55rem;font-weight:550;line-height:1.05}
.exit-card p{margin:0 0 30px;color:#b8c7d4;font-size:.78rem;line-height:1.65}
.exit-card b{margin-top:auto;color:#fff;font-size:.71rem;letter-spacing:.05em;text-transform:uppercase}

.platform-contact .contact-panel{grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr)}
.platform-contact .contact-copy>p:not(.eyebrow){max-width:520px}

/* Hub pages */
.hub-hero{position:relative;overflow:hidden;padding:105px 0 92px;background:linear-gradient(122deg,var(--navy-950),#0a2846 72%,#0b2036);color:#fff}
.hub-hero::after{position:absolute;right:-220px;top:-310px;width:650px;height:650px;border:1px solid rgba(221,194,127,.16);border-radius:50%;content:""}
.hub-hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(280px,.55fr);gap:70px;align-items:end}
.hub-hero h1{max-width:800px;margin:0 0 25px;color:#fff;font-size:clamp(3.2rem,6vw,6.5rem);font-weight:550;line-height:.98}
.hub-hero-lead{max-width:720px;margin:0;color:#bdcbd7;font-size:1.05rem;line-height:1.78}
.hub-hero-aside{padding:28px;border:1px solid rgba(221,194,127,.28);background:rgba(255,255,255,.04)}
.hub-hero-aside small{display:block;margin-bottom:28px;color:var(--gold-300);font-size:.62rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase}
.hub-hero-aside p{margin:0;color:#d5dee6;font-size:.78rem;line-height:1.72}
.hub-hero-aside strong{color:#fff}
.hub-section{padding:92px 0}
.hub-section--ivory{background:var(--ivory);border-top:1px solid #e4ddcf;border-bottom:1px solid #e4ddcf}
.hub-section--navy{background:var(--navy-900);color:#fff}
.hub-section--navy h2,.hub-section--navy h3{color:#fff}
.hub-section--navy .section-intro{color:#cbd6df}
.hub-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:42px}
.hub-card{display:flex;min-height:320px;flex-direction:column;padding:28px;border:1px solid #d8cfbf;background:#fffdf8}
.hub-card .hub-card-kicker{color:var(--gold-700);font-size:.62rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase}
.hub-card h3{margin:42px 0 14px;color:var(--navy-900);font-family:Georgia,"Times New Roman",serif;font-size:1.7rem;font-weight:550;line-height:1.06}
.hub-card p{margin:0 0 28px;color:var(--muted);font-size:.8rem;line-height:1.7}
.hub-card a,.hub-card .hub-link{margin-top:auto;color:var(--navy-800);font-size:.7rem;font-weight:900;letter-spacing:.05em;text-decoration:none;text-transform:uppercase}
.hub-card a:hover{text-decoration:underline}
.boundary-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:42px}
.boundary-card{padding:30px;border:1px solid #d8cfbf;background:#fff}
.boundary-card--dark{border-color:rgba(221,194,127,.28);background:#09223b}
.boundary-card h3{margin:0 0 18px;color:var(--navy-900);font-family:Georgia,"Times New Roman",serif;font-size:1.65rem;font-weight:550}
.boundary-card--dark h3{color:#fff}
.boundary-card ul{display:grid;gap:12px;margin:0;padding:0;list-style:none}
.boundary-card li{position:relative;padding-left:21px;color:var(--muted);font-size:.78rem;line-height:1.6}
.boundary-card li::before{position:absolute;left:0;color:var(--gold-700);content:"—"}
.boundary-card--dark li{color:#cbd6df}
.hub-cta{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:38px;border:1px solid #d8cfbf;background:#fffdf8}
.hub-cta h2{margin:0;color:var(--navy-900);font-family:Georgia,"Times New Roman",serif;font-size:clamp(2rem,3.5vw,3.6rem);font-weight:550;line-height:1.02}
.hub-cta p{max-width:520px;margin:12px 0 0;color:var(--muted);font-size:.8rem;line-height:1.7}
.country-mini-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:42px}
.country-mini{display:flex;min-height:245px;flex-direction:column;padding:26px;border:1px solid #d8cfbf;background:#fff;text-decoration:none}
.country-mini .flag{font-size:1.75rem}
.country-mini h3{margin:46px 0 10px;color:var(--navy-900);font-family:Georgia,"Times New Roman",serif;font-size:1.55rem;font-weight:550}
.country-mini p{margin:0 0 20px;color:var(--muted);font-size:.76rem;line-height:1.65}
.country-mini b{margin-top:auto;color:var(--navy-800);font-size:.68rem;text-transform:uppercase}

.footer-solution-links{display:flex;flex-wrap:wrap;gap:10px 16px;margin-top:16px}
.footer-solution-links a{color:#d7dee5;font-size:.7rem;font-weight:800;text-decoration:none}
.footer-solution-links a:hover{text-decoration:underline;color:#fff}

@media (max-width:1040px){
  .hero--platform .hero-grid,.hub-hero-grid{grid-template-columns:1fr 360px;gap:38px}
  .hero-segment-actions{grid-template-columns:1fr}
  .hero-segment-actions a{grid-template-columns:180px 1fr;align-items:center}
  .audience-intro,.trust-standard-grid{grid-template-columns:1fr;gap:28px}
  .audience-grid,.exit-grid,.hub-grid-3,.country-mini-grid{grid-template-columns:1fr 1fr}
  .audience-card:last-child,.exit-card:last-child,.hub-card:last-child,.country-mini:last-child{grid-column:1/-1}
}

@media (max-width:820px){
  .nav-solutions{display:none}
  .hero--platform .hero-grid,.hub-hero-grid{grid-template-columns:1fr}
  .hero--platform .hero-copy{padding:72px 0 34px}
  .hero--platform .hero-portrait-wrap{min-height:540px}
  .hub-hero{padding:78px 0}
  .hub-hero-aside{max-width:620px}
  .audience-section,.hub-section{padding:76px 0}
  .platform-contact .contact-panel{grid-template-columns:1fr}
}

@media (max-width:620px){
  .hero--platform h1{font-size:clamp(2.75rem,13vw,4.35rem)}
  .hero-segment-actions{grid-template-columns:1fr;gap:8px}
  .hero-segment-actions a{grid-template-columns:1fr;padding:14px}
  .audience-intro{margin-bottom:30px}
  .audience-grid,.exit-grid,.hub-grid-3,.country-mini-grid,.trust-standard-list,.boundary-grid{grid-template-columns:1fr}
  .audience-card,.audience-card:last-child,.exit-card:last-child,.hub-card:last-child,.country-mini:last-child{grid-column:auto}
  .audience-card{min-height:390px;padding:25px}
  .audience-index{margin-bottom:38px}
  .trust-standard-list article{min-height:150px}
  .exit-card{min-height:235px}
  .exit-card h3{margin-top:38px}
  .hub-hero h1{font-size:clamp(2.7rem,13vw,4.3rem)}
  .hub-cta{align-items:flex-start;flex-direction:column;padding:28px}
}

/* ===== CL-WEB v1.6.0 ALPHA REV1 — iPhone visual QA consolidation =====
   Evidence: real-device staging review 2026-09-12.
   1) Give the platform hero a safer mobile type scale and breathing room.
   2) Preserve centered footer navigation; .footer-links must not override .container auto margins.
   3) Keep the floating WhatsApp CTA from obscuring the Método CL QA gate on small screens. */
@media (max-width:620px){
  .hero--platform h1{
    max-width:100%;
    padding-right:6px;
    font-size:clamp(2.5rem,11.2vw,3.65rem);
    line-height:.99;
    letter-spacing:-.04em;
  }
  .site-footer .footer-links{
    margin-inline:auto;
    padding-top:16px;
    padding-inline:0;
    gap:12px 18px;
  }
}
.whatsapp-float.is-critical-visible{
  opacity:0;
  pointer-events:none;
  transform:translateY(10px);
}

/* ===== CL-WEB v1.6.0 ALPHA REV2 — HERO MASTER =====
   Approved direction: premium desktop hero with more visual context, laptop visible,
   three audience doors, controlled gold/navy hierarchy, responsive adaptation.
   The visual mockup is a reference; live text and controls remain semantic HTML. */
.hero--master-r4{
  background:
    radial-gradient(circle at 84% 18%,rgba(205,160,73,.20),transparent 22%),
    linear-gradient(112deg,#031321 0%,#061b31 48%,#0a2742 100%);
}
.hero--master-r4 .hero-grid{
  grid-template-columns:minmax(0,.98fr) minmax(500px,1.02fr);
  gap:clamp(26px,3.7vw,58px);
  min-height:min(800px,calc(100vh - 78px));
  padding-block:54px 62px;
}
.hero--master-r4 .hero-copy{max-width:760px;padding-block:46px}
.hero--master-r4 h1{
  max-width:720px;
  margin-bottom:24px;
  font-size:clamp(3.05rem,4.65vw,5.45rem);
  line-height:.97;
  letter-spacing:-.035em;
}
.hero--master-r4 .hero-lead{max-width:620px;margin-bottom:0;font-size:clamp(.98rem,1.25vw,1.12rem);line-height:1.65}
.hero--master-r4 .hero-segment-actions{gap:12px;margin-top:30px}
.hero--master-r4 .hero-segment-actions a{
  position:relative;
  grid-template-columns:34px 1fr 20px;
  align-items:center;
  min-height:104px;
  padding:16px 14px;
  border-color:rgba(222,184,92,.66);
  background:linear-gradient(145deg,rgba(3,20,35,.88),rgba(6,36,61,.72));
  box-shadow:0 16px 36px rgba(0,0,0,.10);
}
.hero--master-r4 .hero-segment-actions a:hover,.hero--master-r4 .hero-segment-actions a:focus-visible{border-color:#e3bd63;background:linear-gradient(145deg,rgba(6,31,51,.96),rgba(10,52,83,.84))}
.hero--master-r4 .hero-segment-actions strong{display:block;color:#fff;font-family:Georgia,"Times New Roman",serif;font-size:.92rem;font-weight:550;line-height:1.15}
.hero--master-r4 .hero-segment-actions small{display:block;margin-top:6px;color:#becbd6;font-size:.61rem;line-height:1.4}
.hero--master-r4 .hero-segment-actions b{color:var(--gold-300);font-size:1.25rem;font-weight:400}
.hero-card-icon{display:grid;width:32px;height:32px;place-items:center;color:var(--gold-300)}
.hero-card-icon svg{width:27px;height:27px}
.hero--master-r4 .hero-platform-note{margin-top:20px;font-size:.72rem}
.hero--master-r4 .hero-portrait-wrap{
  justify-self:stretch;
  width:100%;
  min-height:650px;
}
.hero--master-r4 .portrait-rule{top:-12px;right:-12px;width:84%;height:calc(100% + 24px)}
.hero--master-r4 .portrait-frame{
  width:100%;
  min-height:650px;
  aspect-ratio:auto;
  border:1px solid rgba(220,184,100,.30);
  background:
    radial-gradient(circle at 46% 35%,rgba(207,162,77,.10),transparent 35%),
    #06192b;
}
.hero--master-r4 .portrait-frame::before{
  position:absolute;z-index:1;inset:0;
  background:linear-gradient(90deg,rgba(3,18,31,.46) 0%,rgba(3,18,31,.08) 24%,transparent 48%);
  content:"";pointer-events:none;
}
.hero--master-r4 .portrait-frame::after{background:linear-gradient(180deg,transparent 56%,rgba(3,13,24,.08) 66%,rgba(3,13,24,.84))}
.hero--master-r4 .portrait-frame>img{
  width:100%;height:100%;min-height:650px;
  transform:none;
  object-fit:contain;
  object-position:center bottom;
  filter:none;
}
.hero-country-rail{
  position:absolute;z-index:3;top:22px;right:18px;display:grid;gap:4px;
  padding:10px 12px;border-left:1px solid rgba(224,188,98,.66);
  background:linear-gradient(90deg,transparent,rgba(2,16,29,.56));
  color:#e5bf67;font-size:.59rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase;
}
.hero--master-r4 .portrait-caption{right:22px;bottom:20px;left:22px}
.hero--master-r4 .hero-seal{
  right:20px;bottom:46px;width:114px;height:114px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:6px;padding:10px;
  border:1px solid #d9ad4c;background:rgba(3,18,31,.90);color:#f7e4b2;
  box-shadow:0 18px 42px rgba(0,0,0,.34);text-align:center;
}
.hero--master-r4 .hero-seal svg{color:#e1b552;flex:0 0 auto}
.hero--master-r4 .hero-seal span{display:block;text-align:center;line-height:1.28}

/* Use the existing scope statement as the approved lower trust strip rather than duplicating content. */
.hero--master-r4 + .scope-bar{border-bottom:1px solid rgba(217,181,91,.22);background:#041629;color:#fff}
.hero--master-r4 + .scope-bar .scope-bar-inner{min-height:72px}
.hero--master-r4 + .scope-bar .scope-bar-title{color:#e1b85d}
.hero--master-r4 + .scope-bar .scope-bar-inner p{color:#c8d3dd}
.hero--master-r4 + .scope-bar .scope-bar-inner>a{color:#f1d794}

/* Approved authority portrait on Sobre Clever. */
.production-portrait-grid img[src*="clever-lozada-authority-v1.6.0-r2"]{
  max-height:680px;
  object-fit:cover;
  object-position:50% 34%;
  background:#07182c;
}
.bio-portrait img[src*="clever-lozada-authority-v1.6.0-r2"]{object-fit:cover;object-position:50% 36%;background:#07182c}

@media (max-width:1180px){
  .hero--master-r4 .hero-grid{grid-template-columns:minmax(0,1fr) minmax(420px,.88fr);gap:28px}
  .hero--master-r4 h1{font-size:clamp(2.9rem,4.8vw,4.65rem)}
  .hero--master-r4 .hero-segment-actions{grid-template-columns:1fr}
  .hero--master-r4 .hero-segment-actions a{grid-template-columns:34px 1fr 20px;min-height:78px}
}

@media (max-width:900px){
  .hero--master-r4 .hero-grid{grid-template-columns:1fr;padding-block:58px 48px}
  .hero--master-r4 .hero-copy{max-width:760px;padding-block:18px 8px}
  .hero--master-r4 h1{max-width:760px;font-size:clamp(3rem,7.8vw,5rem)}
  .hero--master-r4 .hero-segment-actions{grid-template-columns:repeat(3,1fr)}
  .hero--master-r4 .hero-segment-actions a{grid-template-columns:1fr;align-content:start;min-height:132px}
  .hero--master-r4 .hero-segment-actions b{position:absolute;right:14px;bottom:12px}
  .hero--master-r4 .hero-portrait-wrap,.hero--master-r4 .portrait-frame,.hero--master-r4 .portrait-frame>img{min-height:560px}
  .hero--master-r4 .portrait-frame>img{object-fit:contain;object-position:center bottom}
  .hero--master-r4 .hero-seal{right:18px;bottom:26px;width:102px;height:102px}
}

@media (max-width:620px){
  .hero--master-r4 .hero-grid{gap:22px;padding-block:42px 34px}
  .hero--master-r4 .hero-copy{padding:0}
  .hero--master-r4 .hero-platform-kicker{font-size:.58rem;letter-spacing:.12em}
  .hero--master-r4 h1{
    max-width:100%;padding-right:0;
    font-size:clamp(2.35rem,10.6vw,3.45rem);
    line-height:1.00;letter-spacing:-.038em;
  }
  .hero--master-r4 .hero-lead{font-size:.95rem;line-height:1.65}
  .hero--master-r4 .hero-segment-actions{grid-template-columns:1fr;gap:9px;margin-top:24px}
  .hero--master-r4 .hero-segment-actions a{grid-template-columns:34px 1fr 18px;min-height:auto;padding:14px 13px}
  .hero--master-r4 .hero-segment-actions strong{font-size:.88rem}
  .hero--master-r4 .hero-segment-actions b{position:static}
  .hero--master-r4 .hero-platform-note{font-size:.7rem;line-height:1.55}
  .hero--master-r4 .hero-portrait-wrap,.hero--master-r4 .portrait-frame,.hero--master-r4 .portrait-frame>img{min-height:520px}
  .hero--master-r4 .portrait-frame>img{object-fit:contain;object-position:50% 100%}
  .hero-country-rail{top:14px;right:10px}
  .hero--master-r4 .hero-seal{right:-6px;bottom:16px;width:82px;height:82px;font-size:.48rem;padding:8px;gap:4px}
  .hero--master-r4 .hero-seal svg{width:24px;height:24px}
  .hero--master-r4 + .scope-bar .scope-bar-inner{grid-template-columns:1fr;gap:8px;padding:18px 0 20px}
  .hero--master-r4 + .scope-bar .scope-bar-inner>a{justify-self:start}
  .production-portrait-grid img[src*="clever-lozada-authority-v1.6.0-r2"]{max-height:none;object-position:50% 28%}
}


/* REV4 — Visual & Media Integrity hardening */
.hero--master-r4 .hero-copy .hero-seal--inline{
  position:relative;right:auto;bottom:auto;z-index:2;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  width:112px;height:112px;margin:18px 0 0 auto;padding:10px;gap:6px;
  border:1px solid #d9ad4c;border-radius:50%;background:rgba(3,18,31,.92);
  color:#f7e4b2;box-shadow:0 18px 42px rgba(0,0,0,.28);text-align:center;
  font-size:.56rem;font-weight:850;letter-spacing:.08em;line-height:1.25;text-transform:uppercase;
}
.hero--master-r4 .hero-copy .hero-seal--inline svg{width:27px;height:27px;color:#e1b552;flex:0 0 auto}
.hero--master-r4 .hero-copy .hero-seal--inline span{display:block;text-align:center;line-height:1.25}
.hero--master-r4 .hero-portrait-wrap>.hero-seal{display:none!important}

/* Approved Sobre Clever portrait: show more environmental context on desktop, preserve mobile strength. */
.bio-portrait{display:grid;place-items:center}
.bio-portrait img[src*="clever-lozada-authority-v1.6.0-r2"]{
  width:88%;height:auto;aspect-ratio:auto;object-fit:contain;object-position:center;
  margin:0 auto;background:#07182c;
}
.production-portrait-grid img[src*="clever-lozada-authority-v1.6.0-r2"]{
  object-fit:contain;object-position:center;background:#07182c;
}
@media (max-width:900px){
  .hero--master-r4 .hero-copy .hero-seal--inline{width:100px;height:100px;margin-top:16px}
  .bio-portrait img[src*="clever-lozada-authority-v1.6.0-r2"]{width:93%}
}
@media (max-width:620px){
  .hero--master-r4 .hero-copy .hero-seal--inline{width:88px;height:88px;margin-top:14px;font-size:.48rem;padding:8px;gap:4px}
  .hero--master-r4 .hero-copy .hero-seal--inline svg{width:23px;height:23px}
  .bio-portrait img[src*="clever-lozada-authority-v1.6.0-r2"]{width:96%}
}


/* v1.7.0 ALPHA — Short institutional video + official ICE ODLS resource */
.cl-video-section{background:#f5f0e6;border-top:1px solid rgba(8,26,47,.08);border-bottom:1px solid rgba(8,26,47,.08)}
.cl-video-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.72fr);gap:clamp(36px,6vw,82px);align-items:center}
.cl-video-copy h2{max-width:760px;margin:.45rem 0 1rem;color:#071a2f;font-family:Georgia,'Times New Roman',serif;font-size:clamp(2.2rem,4.3vw,4.15rem);line-height:1.02;letter-spacing:-.035em}
.cl-video-copy h2 em{color:#9f7421;font-style:italic}
.cl-video-points{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0 16px}
.cl-video-points span{display:inline-flex;align-items:center;min-height:34px;padding:7px 11px;border:1px solid rgba(7,26,47,.16);border-radius:999px;background:#fff;color:#132940;font-size:.76rem;font-weight:760;letter-spacing:.02em}
.cl-video-note{max-width:680px;margin:18px 0 0;color:#64707c;font-size:.82rem;line-height:1.65}
.cl-video-frame{width:min(100%,390px);justify-self:center;padding:10px;border:1px solid rgba(217,173,76,.65);background:#07182c;box-shadow:0 24px 56px rgba(7,24,44,.18)}
.cl-video-frame video{display:block;width:100%;height:auto;aspect-ratio:512/910;background:#07182c;object-fit:contain}
.cl-official-resource{background:#fff}
.official-resource-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:28px;align-items:center;padding:clamp(24px,4vw,42px);border:1px solid rgba(7,26,47,.14);background:linear-gradient(135deg,#f7f3e9 0%,#fff 58%,#f7f3e9 100%);box-shadow:0 18px 46px rgba(7,24,44,.08)}
.official-resource-card h3{margin:.55rem 0 .7rem;color:#071a2f;font-family:Georgia,'Times New Roman',serif;font-size:clamp(1.75rem,3vw,2.55rem);line-height:1.06}
.official-resource-card p{max-width:780px;color:#4d5965;line-height:1.7}
.official-resource-badge{display:inline-flex;padding:6px 10px;border:1px solid rgba(159,116,33,.38);border-radius:999px;color:#8c651a;background:#fffaf0;font-size:.7rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase}
.official-resource-note{font-size:.82rem;color:#6b737b!important}
.official-resource-card .button{white-space:nowrap;justify-self:end}
@media (max-width:900px){
  .cl-video-grid{grid-template-columns:1fr;gap:30px}
  .cl-video-frame{width:min(100%,430px)}
  .official-resource-card{grid-template-columns:1fr}
  .official-resource-card .button{justify-self:start;white-space:normal}
}
@media (max-width:620px){
  .cl-video-copy h2{font-size:clamp(2rem,10vw,3rem)}
  .cl-video-grid{gap:24px}
  .cl-video-frame{width:100%;max-width:360px;padding:7px}
  .official-resource-card{padding:22px 18px}
}

/* CL-WEB v1.8.0 B2B — Law Firm Operations */
.b2b-page{background:#fff;color:#1b2a39}
.b2b-page .site-header{border-bottom:1px solid rgba(213,177,91,.16)}
.b2b-hero{position:relative;overflow:hidden;background:radial-gradient(circle at 84% 15%,rgba(198,151,61,.14),transparent 27%),linear-gradient(135deg,#061728 0%,#0a223b 58%,#07192c 100%);color:#fff}
.b2b-hero::after{position:absolute;inset:auto -8% -42% 46%;height:540px;border:1px solid rgba(218,180,87,.14);border-radius:50%;content:"";pointer-events:none}
.b2b-hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.18fr) minmax(340px,.72fr);gap:clamp(42px,7vw,96px);align-items:center;padding-block:clamp(76px,9vw,128px)}
.b2b-hero-copy h1{max-width:900px;margin:.45rem 0 1.2rem;color:#fff;font-family:Georgia,'Times New Roman',serif;font-size:clamp(3.2rem,6vw,6.2rem);line-height:.98;letter-spacing:-.045em;font-weight:500}
.b2b-hero-copy h1 em{color:#e0b858;font-weight:400}
.b2b-lead{max-width:830px;color:#d2dce5;font-size:clamp(1rem,1.5vw,1.2rem);line-height:1.75}
.b2b-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.button--ghost-light{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 18px;border:1px solid rgba(255,255,255,.28);color:#fff;text-decoration:none;font-weight:750}
.button--ghost-light:hover{border-color:#e0b858;background:rgba(224,184,88,.08)}
.b2b-hero-note{max-width:720px;margin-top:18px;color:#93a7b9;font-size:.78rem;line-height:1.6}
.b2b-trust-panel{padding:clamp(28px,4vw,42px);border:1px solid rgba(225,184,88,.35);background:rgba(3,17,30,.72);box-shadow:0 32px 80px rgba(0,0,0,.22);backdrop-filter:blur(8px)}
.b2b-panel-kicker{color:#dcb45a;font-size:.7rem;font-weight:850;letter-spacing:.14em;text-transform:uppercase}
.b2b-trust-panel h2{margin:.7rem 0 1.5rem;color:#fff;font-family:Georgia,'Times New Roman',serif;font-size:clamp(1.8rem,3vw,2.55rem);line-height:1.06;font-weight:500}
.b2b-status-list{display:grid;gap:14px}
.b2b-status-list>div{display:grid;grid-template-columns:86px 1fr;gap:13px;align-items:start;padding-top:14px;border-top:1px solid rgba(255,255,255,.09)}
.b2b-status-list p{margin:0;color:#c5d0da;font-size:.86rem;line-height:1.55}
.b2b-status{display:inline-flex;justify-content:center;padding:6px 8px;border-radius:999px;font-size:.62rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.b2b-status--pass{background:#173f34;color:#aee3c5}
.b2b-status--gate{background:#4a3815;color:#f1d387}
.b2b-status--required{background:#25374e;color:#c9d9eb}
.b2b-assurance-strip{border-bottom:1px solid rgba(7,26,47,.11);background:#f6f1e7}
.b2b-assurance-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.b2b-assurance-grid>div{padding:24px 22px;border-right:1px solid rgba(7,26,47,.1)}
.b2b-assurance-grid>div:last-child{border-right:0}
.b2b-assurance-grid strong,.b2b-assurance-grid span{display:block}
.b2b-assurance-grid strong{color:#0b253e;font-size:.86rem}
.b2b-assurance-grid span{margin-top:5px;color:#68747f;font-size:.76rem;line-height:1.5}
.b2b-section{padding-block:clamp(74px,9vw,124px)}
.b2b-section--ivory{background:#f7f4ed}
.b2b-section--navy{background:linear-gradient(135deg,#061728,#0b2742);color:#fff}
.b2b-section-head{max-width:900px;margin-bottom:42px}
.b2b-section-head h2{margin:.4rem 0 1rem;color:#071a2f;font-family:Georgia,'Times New Roman',serif;font-size:clamp(2.35rem,4.6vw,4.7rem);font-weight:500;line-height:1.02;letter-spacing:-.04em}
.b2b-section-head>p:last-child{max-width:820px;color:#5c6873;font-size:1rem;line-height:1.78}
.b2b-section-head--split{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.62fr);gap:50px;max-width:none;align-items:end}
.b2b-section-head--split>p{margin:0 0 .45rem}
.b2b-section-head--light h2{color:#fff}
.b2b-section-head--light>p:last-child{color:#bfccd7}
.b2b-service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.b2b-service-card{min-height:235px;padding:28px 26px;border:1px solid rgba(7,26,47,.13);background:#fff;box-shadow:0 14px 36px rgba(7,24,44,.05)}
.b2b-service-card>span{color:#b18128;font-size:.72rem;font-weight:900;letter-spacing:.12em}
.b2b-service-card h3{margin:1.1rem 0 .7rem;color:#0b253e;font-family:Georgia,'Times New Roman',serif;font-size:1.55rem;line-height:1.12;font-weight:500}
.b2b-service-card p{margin:0;color:#64707a;font-size:.9rem;line-height:1.68}
.b2b-boundary-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.b2b-boundary-card{padding:clamp(28px,4vw,42px);border:1px solid rgba(7,26,47,.13);background:#fff}
.b2b-boundary-card--yes{border-top:4px solid #2f8062}
.b2b-boundary-card--no{border-top:4px solid #aa7e27}
.b2b-boundary-label{display:block;margin-bottom:18px;color:#64707b;font-size:.7rem;font-weight:900;letter-spacing:.11em}
.b2b-boundary-card ul{display:grid;gap:13px;margin:0;padding-left:1.15rem;color:#2a3b49}
.b2b-boundary-card li{padding-left:5px;line-height:1.6}
.b2b-case-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.b2b-case-card{display:flex;flex-direction:column;min-height:350px;padding:28px;border:1px solid rgba(7,26,47,.13);background:#fff}
.b2b-case-top{display:flex;justify-content:space-between;gap:12px;align-items:center}
.b2b-case-top span{color:#9e7424;font-size:.7rem;font-weight:900;letter-spacing:.12em}
.b2b-case-top b{padding:5px 7px;border:1px solid rgba(47,128,98,.26);background:#edf7f2;color:#2f6f58;font-size:.57rem;letter-spacing:.07em}
.b2b-case-card h3{margin:1.4rem 0 .85rem;color:#0a233b;font-family:Georgia,'Times New Roman',serif;font-size:1.45rem;line-height:1.17;font-weight:500}
.b2b-case-card p{color:#586671;font-size:.88rem;line-height:1.7}
.b2b-case-card small{display:block;margin-top:auto;padding-top:22px;border-top:1px solid rgba(7,26,47,.09);color:#7a858e;font-size:.74rem;line-height:1.62}
.b2b-proof-note{display:flex;flex-wrap:wrap;gap:10px 20px;align-items:center;margin-top:22px;padding:18px 20px;border:1px solid rgba(159,116,33,.25);background:#fffbf1;color:#465461}
.b2b-proof-note strong{color:#6e5018}.b2b-proof-note span{font-size:.86rem}
.b2b-security-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.b2b-security-grid article{padding:26px 23px;border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.035)}
.b2b-security-grid article>span{color:#d9b153;font-size:.67rem;font-weight:900;letter-spacing:.12em}
.b2b-security-grid h3{margin:1rem 0 .65rem;color:#fff;font-family:Georgia,'Times New Roman',serif;font-size:1.35rem;font-weight:500}
.b2b-security-grid p{margin:0;color:#b7c4cf;font-size:.83rem;line-height:1.65}
.b2b-security-rule{display:grid;grid-template-columns:130px 1fr;gap:20px;align-items:center;margin-top:20px;padding:20px 22px;border:1px solid rgba(224,184,88,.3);background:rgba(3,16,28,.45)}
.b2b-security-rule span{color:#e1b858;font-size:.68rem;font-weight:900;letter-spacing:.12em}
.b2b-security-rule p{margin:0;color:#d6dee6;font-size:.85rem;line-height:1.6}
.b2b-steps{display:grid;grid-template-columns:repeat(5,1fr);gap:0;margin:0;padding:0;list-style:none;border-top:1px solid rgba(7,26,47,.14);border-bottom:1px solid rgba(7,26,47,.14)}
.b2b-steps li{min-height:260px;padding:26px 20px;border-right:1px solid rgba(7,26,47,.12)}
.b2b-steps li:last-child{border-right:0}
.b2b-steps li>span{color:#ae7d22;font-size:.7rem;font-weight:900;letter-spacing:.12em}
.b2b-steps h3{margin:1.4rem 0 .65rem;color:#0a233b;font-family:Georgia,'Times New Roman',serif;font-size:1.28rem;line-height:1.16;font-weight:500}
.b2b-steps p{margin:0;color:#66717a;font-size:.82rem;line-height:1.62}
.b2b-faq-layout{display:grid;grid-template-columns:minmax(320px,.75fr) minmax(0,1fr);gap:clamp(40px,7vw,88px);align-items:start}
.b2b-faq-layout .b2b-section-head{position:sticky;top:112px;margin:0}
.b2b-faq-layout .b2b-section-head h2{font-size:clamp(2.2rem,4vw,4rem)}
.b2b-faq{display:grid;gap:10px}
.b2b-faq details{border:1px solid rgba(7,26,47,.13);background:#fff}
.b2b-faq summary{padding:19px 48px 19px 20px;color:#0a233b;font-weight:800;cursor:pointer;position:relative;list-style:none}
.b2b-faq summary::-webkit-details-marker{display:none}
.b2b-faq summary::after{position:absolute;right:20px;top:18px;color:#a77923;content:"+";font-size:1.2rem}
.b2b-faq details[open] summary::after{content:"–"}
.b2b-faq details p{margin:0;padding:0 20px 20px;color:#5f6b75;font-size:.88rem;line-height:1.72}
.b2b-pilot-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:50px;align-items:center;padding:clamp(38px,6vw,70px);background:linear-gradient(135deg,#071a2f,#0c2b49);color:#fff;box-shadow:0 28px 70px rgba(7,24,44,.18)}
.b2b-pilot-card h2{max-width:850px;margin:.5rem 0 1rem;color:#fff;font-family:Georgia,'Times New Roman',serif;font-size:clamp(2.35rem,4.3vw,4.35rem);line-height:1.02;letter-spacing:-.035em;font-weight:500}
.b2b-pilot-card p{max-width:780px;color:#c5d1db;line-height:1.75}
.b2b-pilot-actions{display:grid;gap:14px;min-width:230px}
.b2b-text-link{color:#ecd28c;text-align:center;font-size:.78rem;text-decoration:none;font-weight:750}
.b2b-final-note{margin:18px 0 0;color:#74808a;text-align:center;font-size:.76rem;line-height:1.6}
@media (max-width:1100px){
 .b2b-hero-grid{grid-template-columns:1fr;gap:34px}.b2b-trust-panel{max-width:760px}.b2b-service-grid,.b2b-case-grid{grid-template-columns:repeat(2,1fr)}.b2b-security-grid{grid-template-columns:repeat(2,1fr)}.b2b-steps{grid-template-columns:repeat(3,1fr)}.b2b-steps li:nth-child(3){border-right:0}.b2b-steps li:nth-child(n+4){border-top:1px solid rgba(7,26,47,.12)}
}
@media (max-width:820px){
 .b2b-assurance-grid{grid-template-columns:repeat(2,1fr)}.b2b-assurance-grid>div:nth-child(2){border-right:0}.b2b-assurance-grid>div:nth-child(n+3){border-top:1px solid rgba(7,26,47,.1)}.b2b-section-head--split,.b2b-boundary-grid,.b2b-faq-layout,.b2b-pilot-card{grid-template-columns:1fr}.b2b-faq-layout .b2b-section-head{position:static}.b2b-pilot-actions{min-width:0;justify-items:start}.b2b-text-link{text-align:left}
}
@media (max-width:620px){
 .b2b-hero-grid{padding-block:58px 50px}.b2b-hero-copy h1{font-size:clamp(2.55rem,12vw,3.85rem)}.b2b-lead{font-size:.96rem}.b2b-hero-actions{display:grid}.b2b-hero-actions .button,.button--ghost-light{width:100%}.b2b-trust-panel{padding:24px 18px}.b2b-status-list>div{grid-template-columns:78px 1fr}.b2b-assurance-grid,.b2b-service-grid,.b2b-case-grid,.b2b-security-grid,.b2b-steps{grid-template-columns:1fr}.b2b-assurance-grid>div{border-right:0!important;border-top:1px solid rgba(7,26,47,.1)}.b2b-assurance-grid>div:first-child{border-top:0}.b2b-service-card,.b2b-case-card{min-height:auto}.b2b-security-rule{grid-template-columns:1fr;gap:7px}.b2b-steps li{min-height:auto;border-right:0!important;border-top:1px solid rgba(7,26,47,.12)}.b2b-steps li:first-child{border-top:0}.b2b-pilot-card{padding:30px 20px}.b2b-pilot-card .button{width:100%;text-align:center}.b2b-proof-note{align-items:flex-start}
}

/* v1.8.0 B2B bilingual language control */
.b2b-language-switch{display:flex;align-items:center;gap:5px;margin-left:10px}
.b2b-language-switch a{display:inline-flex;min-width:35px;min-height:31px;align-items:center;justify-content:center;border:1px solid rgba(7,26,47,.14);border-radius:999px;color:#354455;font-size:.62rem;font-weight:900;letter-spacing:.08em;text-decoration:none}
.b2b-language-switch a.is-active{border-color:#b18128;background:#fff7e7;color:#795516}
@media (min-width:921px) and (max-width:1080px){.b2b-language-switch{display:none}}
@media (max-width:920px){
  .b2b-page .header-inner{grid-template-columns:minmax(0,1fr) auto auto;column-gap:7px}
  .b2b-language-switch{display:flex;margin-left:0}
  .b2b-language-switch a{min-width:40px;min-height:40px;font-size:.60rem}
  .b2b-language-switch a.is-active{display:none}
}
@media (max-width:640px){
  .b2b-page .brand{max-width:calc(100vw - 130px)}
}
@media (max-width:380px){
  .b2b-page .brand strong{font-size:1rem}
  .b2b-page .brand small{font-size:.49rem;letter-spacing:.07em}
  .b2b-language-switch a{min-width:38px;min-height:38px}
  .b2b-page .menu-button{width:42px;height:42px}
}


/* CL-WEB v1.8.0-B2B-RC2.3.1 | FOOTER DESKTOP HOTFIX
   Scope: B2B routes only. Prevent commercial-contact email columns from
   collapsing into character-by-character vertical text on desktop/laptop. */
@media (min-width: 821px){
  .b2b-page .site-footer .footer-main{
    grid-template-columns:minmax(0,1fr) max-content max-content;
    align-items:start;
    column-gap:28px;
  }
  .b2b-page .site-footer .footer-email{
    min-width:190px;
    overflow-wrap:normal;
    word-break:normal;
  }
  .b2b-page .site-footer .footer-email a{
    white-space:nowrap;
    overflow-wrap:normal;
    word-break:normal;
  }
}

@media (max-width: 820px){
  .b2b-page .site-footer .footer-main{
    grid-template-columns:1fr 1fr;
  }
  .b2b-page .site-footer .footer-email{
    min-width:0;
    overflow-wrap:normal;
    word-break:normal;
  }
}

@media (max-width: 620px){
  .b2b-page .site-footer .footer-main{
    grid-template-columns:1fr;
  }
  .b2b-page .site-footer .footer-email a{
    white-space:normal;
    overflow-wrap:break-word;
    word-break:normal;
  }
}
