
:root {
  --brown-900: #4a200d;
  --brown-800: #5a2a12;
  --brown-700: #6b3a1f;
  --brown-600: #7d4224;
  --brown-500: #8c5f40;
  --tan-400: #b4967e;
  --sand-300: #d4b48c;
  --line: #ddd2c6;
  --ink: #2f2926;
  --text: var(--t-soft);
  --bg: #fcf8f5;
  --bg-soft: #f1e6da;
  --white: #fff;
  --font: "IBM Plex Sans Arabic", system-ui, sans-serif;

  --x: calc(100vw / 1672);
  --u: min(calc(100vw / 1672), calc(100vh / 941));
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: calc(90 * var(--u)); }
body {
  margin: 0;
  font-family: var(--font);
  color: var(--ink);
  background: var(--bg);
  -webkit-font-smoothing: antialiased;
}
img, svg { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
:focus-visible { outline: 2px solid var(--brown-600); outline-offset: 3px; border-radius: 4px; }

.btn {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: calc(14 * var(--u));
  border-radius: 999px;
  font-weight: 600;
  font-size: calc(19 * var(--u));
  letter-spacing: .01em;
  transition: background .25s, color .25s, border-color .25s, transform .25s cubic-bezier(.2, .7, .2, 1), box-shadow .25s;
  white-space: nowrap;
  cursor: pointer;
}
.btn::before {
  content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background: linear-gradient(180deg, rgba(255, 255, 255, .16) 0%, rgba(255, 255, 255, 0) 55%);
}
.btn::after {
  content: ""; position: absolute; top: 0; bottom: 0; left: -60%; width: 40%; z-index: -1; pointer-events: none;
  background: linear-gradient(100deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, .22), rgba(255, 255, 255, 0));
  transform: skewX(-20deg);
  transition: left .7s cubic-bezier(.2, .7, .2, 1);
}
.btn:hover::after { left: 120%; }
.btn:hover { transform: translateY(-2px); }
.btn:active { transform: translateY(0); }
.btn .arrow {
  box-sizing: content-box;
  width: 1em; height: 1em; padding: .3em;
  border-radius: 50%;
  background: rgba(255, 255, 255, .16);
  fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round;
  transition: transform .25s cubic-bezier(.2, .7, .2, 1), background .25s;
}
.btn:hover .arrow { transform: translateX(-4px); background: rgba(255, 255, 255, .26); }
.btn-primary {
  background: #230a02; color: #fff;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .18), 0 2px 4px rgba(70, 30, 10, .12), 0 10px 24px -8px rgba(90, 42, 18, .5);
}
.btn-primary:hover {
  background: #230a02;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .2), 0 4px 8px rgba(70, 30, 10, .14), 0 16px 32px -10px rgba(90, 42, 18, .55);
}
.btn-outline {
  border: 1.5px solid rgba(117, 57, 17, .35);
  color: var(--brown-700);
  background: rgba(255, 255, 255, .55);
  -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
  box-shadow: 0 6px 18px -10px rgba(90, 42, 18, .35);
}
.btn-outline::before { background: none; }
.btn-outline::after { background: linear-gradient(100deg, rgba(117, 57, 17, 0), rgba(117, 57, 17, .08), rgba(117, 57, 17, 0)); }
.btn-outline .arrow { background: rgba(117, 57, 17, .08); }
.btn-outline:hover { border-color: #753911; background: #fff; box-shadow: 0 12px 26px -12px rgba(90, 42, 18, .45); }
.btn-lg { height: calc(68 * var(--u)); font-size: calc(21 * var(--u)); }

.nav {
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 50;
  height: calc(90 * var(--u));
  padding: 0 calc(60 * var(--x));
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  background: rgba(255, 252, 248, .82);
  -webkit-backdrop-filter: blur(16px) saturate(1.25); backdrop-filter: blur(16px) saturate(1.25);
  border-bottom: 1px solid rgba(196, 154, 102, .22);
  box-shadow: 0 calc(8 * var(--u)) calc(26 * var(--u)) rgba(70, 35, 15, .07);
}
.brand {
  justify-self: start;
  display: flex;
  align-items: center;
  gap: calc(12 * var(--u));
}
.brand img { width: calc(48 * var(--u)); height: auto; }
.brand span { font-weight: 700; font-size: calc(20 * var(--u)); color: var(--t-text); line-height: 1.2; }
.nav-links {
  display: flex;
  align-items: center;
  gap: calc(8 * var(--u));
}
.nav-links a {
  position: relative;
  padding: calc(10 * var(--u)) calc(20 * var(--u));
  border-radius: 999px;
  font-size: calc(19 * var(--u));
  font-weight: 500;
  color: var(--ink);
  transition: color .2s, background .2s;
}
.nav-links a:hover { color: var(--t-text); background: rgba(196, 154, 102, .14); }
.nav-links a.active { font-weight: 700; color: var(--t-text); background: rgba(196, 154, 102, .18); }
.nav-links a.active::after {
  content: "";
  position: absolute;
  bottom: calc(2 * var(--u));
  left: 50%;
  width: calc(5 * var(--u));
  height: calc(5 * var(--u));
  transform: translateX(-50%);
  border-radius: 50%;
  background: #c49a66;
}
.nav-links-cta { display: none; }
.nav-cta {
  justify-self: end;
  height: calc(54 * var(--u));
  padding: 0 calc(26 * var(--u));
  background: #230a02;
}
.nav-toggle { display: none; }

.hero {
  position: relative;
  height: calc(941 * var(--u));
  overflow: hidden;
  background: var(--bg) url(../images/hero/hero-palms.webp) center / 100% 100% no-repeat;
}

.hero-art {
  position: absolute;
  left: calc(797 * var(--x));
  top: calc(52 * var(--u));
  width: calc(1080 * var(--u));
  max-width: none;
  height: auto;

  filter: saturate(.86) sepia(.09) contrast(.96) brightness(1.04);

  -webkit-mask: url(../images/hero/hero-art-mask.svg) 0 0 / 100% 100% no-repeat;
  mask: url(../images/hero/hero-art-mask.svg) 0 0 / 100% 100% no-repeat;
}

.hero-copy {
  position: absolute;
  right: calc(864 * var(--x));
  top: calc(246 * var(--u));
  width: calc(700 * var(--u));
}
.hero h1 {
  margin: 0;
  font-weight: 700;
  font-size: calc(87 * var(--u));
  line-height: 1.25;
  color: var(--t-text);
  letter-spacing: -.5px;
}
.hero-sub {
  margin: calc(4 * var(--u)) 0 0;
  font-weight: 400;
  font-size: calc(50 * var(--u));
  line-height: 1.3;
  color: #7C3F14;
}
.hero-text {
  margin: calc(22 * var(--u)) 0 0;
  max-width: calc(700 * var(--u));
  font-size: calc(21.5 * var(--u));
  line-height: calc(37 * var(--u));
  color: var(--text);
}
.hero-btns { display: flex; gap: calc(22 * var(--u)); margin: calc(40 * var(--u)) calc(19 * var(--u)) 0 0; }
.hero-btns .btn-primary { width: calc(297 * var(--u)); background: #230a02; }
.hero-btns .btn-primary:hover { background: #230a02; }
.hero-btns .btn-outline { width: calc(282 * var(--u)); color: #491708; }

.hero-feats {
  position: absolute;
  left: calc(110 * var(--x));
  top: calc(830 * var(--u));
  width: calc(940 * var(--x));
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}
.hero-feats li {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: calc(10 * var(--u));
  font-size: calc(20 * var(--u));
  font-weight: 500;
  color: #794525;
  position: relative;
}
.hero-feats li + li::before {
  content: "";
  position: absolute;
  right: 0;
  top: calc(25 * var(--u));
  height: calc(45 * var(--u));
  width: 1px;
  background: var(--line);
}
.hero-feats svg { width: calc(36 * var(--u)); height: calc(36 * var(--u)); }
.hero-feats .ln { fill: none; stroke: var(--brown-500); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.hero-feats .fl { fill: var(--brown-500); }

.about {
  --r: min(calc(100vw / 1672), calc(100vh / 941));
  --u: calc(0.9 * var(--r));
  position: relative; background: #fff; overflow: hidden;
}
.about-inner { position: relative; width: calc(1672 * var(--r)); max-width: 100%; height: calc(990 * var(--u)); margin: 0 auto; }

.about-collage {
  position: absolute;
  left: calc(-2.7 * var(--r));
  top: calc(30 * var(--u));
  width: calc(925 * var(--u));
  aspect-ratio: 925 / 890;
  container-type: inline-size;
}
.about-cards { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }

.about-card {
  position: absolute;
  left: var(--l); top: var(--t); width: var(--w); height: var(--h);
  perspective: 1400px;
  outline: none;
  z-index: 1;
  -webkit-tap-highlight-color: transparent;
}
.about-card:hover, .about-card:focus-visible, .about-card.is-flipped { z-index: 2; }
.about-card-inner {
  position: relative;
  width: 100%; height: 100%;
  transform-style: preserve-3d;
  transform: rotateY(var(--flip, 0deg)) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg));
  transition: transform 1.1s cubic-bezier(.25, .8, .25, 1);
}
.about-card.is-tilting .about-card-inner { transition: transform .25s ease-out; }
.about-card:hover .about-card-inner, .about-card.is-flipped .about-card-inner { will-change: transform; }
.about-card.is-flipped { --flip: 180deg; }
.about-face {
  position: absolute; inset: 0;
  -webkit-backface-visibility: hidden; backface-visibility: hidden;
}
.about-front { transform: translateZ(.1px); }
.about-front img { position: absolute; inset: 0; width: 100%; height: 100%; }
.about-back {
  transform: rotateY(180deg) translateZ(.1px);
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: .5em;
  padding: 0 12%;
  text-align: center;
  background: center / 100% 100% no-repeat;
}
.about-back svg {
  width: max(26px, 4.4cqw); height: max(26px, 4.4cqw);
  fill: none; stroke: var(--t-icon); stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round;
}
.about-back-eyebrow { margin: 0; font-weight: 600; font-size: max(11.5px, 1.55cqw); letter-spacing: .02em; color: #5a2a12; opacity: .8; }
.about-back-title { margin: -.2em 0 0; font-weight: 700; font-size: max(20px, 3.6cqw); line-height: 1.3; color: var(--t-text); }
.about-back-title::after { content: ""; display: block; width: 2.2em; height: 2px; margin: .5em auto 0; background: #c49a66; }
.about-back-text { margin: 0; max-width: 30ch; font-size: max(12.5px, 1.95cqw); line-height: 1.75; color: var(--t-soft); }
@media (prefers-reduced-motion: reduce) { .about-card-inner { transition: none; } }
.about-curve { fill: none; stroke: #c9a66b; stroke-width: 2; stroke-linecap: round; opacity: .85; }
.about-tag {
  position: absolute;
  left: var(--tx);
  top: var(--ty);
  z-index: 1;
  transform: translateX(-50%);
  margin: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  color: #fff;
  font-weight: 500;
  font-size: max(12px, 2.16cqw);
  line-height: 1.32;
  white-space: nowrap;
  text-shadow: 0 1px 8px rgba(40, 20, 8, .45);
}
.about-tag svg {
  width: 4.1cqw; height: 4.1cqw; min-width: 22px; min-height: 22px; margin-bottom: .55em;
  fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round;
  filter: drop-shadow(0 1px 4px rgba(40, 20, 8, .4));
}
.about-tag::after { content: ""; width: 2em; height: 2px; margin-top: .55em; background: currentColor; opacity: .9; }
.about-tag.is-dark { color: var(--brown-700); text-shadow: none; }
.about-tag.is-dark svg { filter: none; }

.about-copy {
  --u: calc(0.8 * var(--r));

  --c-title: var(--t-text); --c-accent: var(--t-text); --c-body: var(--t-soft); --c-muted: var(--t-soft);
  --c-quote: var(--t-text); --c-eyebrow: var(--t-text); --c-rule: var(--t-text); --c-num: var(--t-text); --c-link: #5a2a12;
  --c-mark: #f1e7da; --c-line: #e9e2da;
  position: absolute;
  right: calc(44.3 * var(--r));
  left: calc((40 + 925 * 0.9 + 100.7) * var(--r));
  top: calc(85 * var(--r));
}
.about-eyebrow {
  margin: 0;
  display: flex;
  align-items: center;
  gap: calc(16 * var(--u));
  font-weight: 600;
  font-size: calc(21 * var(--u));
  color: var(--c-eyebrow);
}
.about-eyebrow::before { content: ""; width: calc(46 * var(--u)); height: 2px; background: var(--c-eyebrow); }
.about h2 {
  margin: calc(14 * var(--u)) 0 0;
  font-weight: 700;
  font-size: calc(86 * var(--u));
  line-height: 1.2;
  color: var(--t-text);
}
.about h2 span { color: var(--c-accent); }
.about-text {
  margin: calc(22 * var(--u)) 0 0;
  max-width: calc(800 * var(--u));
  font-size: calc(24.5 * var(--u));
  line-height: calc(42 * var(--u));
  color: var(--c-body);
}
.about-quote {
  position: relative;
  isolation: isolate;
  margin: calc(38 * var(--u)) 0 0;
  padding: calc(4 * var(--u)) calc(30 * var(--u)) calc(4 * var(--u)) 0;
  border-right: 3px solid var(--c-rule);
}
.about-quote::before {
  content: "“";
  position: absolute;
  right: calc(14 * var(--u));
  top: calc(-62 * var(--u));
  font-family: Georgia, serif;
  font-size: calc(170 * var(--u));
  line-height: 1;
  color: var(--c-mark);
  z-index: -1;
}
.about-quote p {
  margin: 0;
  font-weight: 500;
  font-size: calc(27 * var(--u));
  line-height: calc(44 * var(--u));
  color: var(--c-quote);
}
.about-feats {
  list-style: none;
  margin: calc(40 * var(--u)) 0 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: calc(56 * var(--u));
}
.about-feats li {
  display: flex;
  align-items: flex-start;
  gap: calc(20 * var(--u));
  padding: calc(24 * var(--u)) 0;
}
.about-feats li:nth-child(n + 3) { border-top: 1px solid var(--c-line); }
.feat-ico {
  flex: none;
  display: grid; place-items: center;
  width: calc(62 * var(--u)); height: calc(62 * var(--u));
  border-radius: calc(16 * var(--u));
  background: #f5ebe0;
  transition: background .3s, transform .3s cubic-bezier(.2, .7, .2, 1);
}
.feat-ico svg { width: 50%; height: 50%; fill: none; stroke: var(--t-icon); stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; transition: stroke .3s; }
.about-feats li:hover .feat-ico { background: #3c1307; transform: translateY(calc(-3 * var(--u))); }
.about-feats li:hover .feat-ico svg { stroke: #f5ebe0; }
.about-feats h3 { margin: 0; font-weight: 700; font-size: calc(24 * var(--u)); line-height: 1.4; color: var(--c-title); }
.about-feats p { margin: calc(6 * var(--u)) 0 0; font-size: calc(18.5 * var(--u)); line-height: calc(29 * var(--u)); font-weight: 500; color: var(--t-soft); }
.about-actions {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: calc(56 * var(--u));
  margin-top: calc(34 * var(--u));
}
.about-btn {
  position: relative; left: calc(40 * var(--u));
  background: #230a02;
  width: auto;
  height: calc(66 * var(--u));
  padding: 0 calc(34 * var(--u));
  font-size: calc(22 * var(--u));
  gap: calc(22 * var(--u));
}
.about-link {
  display: inline-flex;
  align-items: center;
  gap: calc(10 * var(--u));
  font-weight: 600;
  font-size: calc(22 * var(--u));
  color: var(--c-link);
  border-bottom: 1px solid var(--c-link);
  padding-bottom: calc(4 * var(--u));
}
.about-link .arrow { width: 1.1em; height: 1.1em; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; transition: transform .2s; }
.about-btn:hover { background: #230a02; }
.about-link:hover { color: var(--c-title); border-color: var(--c-link); }
.about-link:hover .arrow { transform: translateX(-3px); }

.areas {
  --r: min(calc(100vw / 1672), calc(100vh / 941));
  --u: calc(0.9 * var(--r));
  --ink: #3a1a0c;
  --brand: #3c1307;
  --gold: #a87a4f;
  position: relative;
  padding: calc(90 * var(--u)) 0 calc(90 * var(--u));
  background: #FCF8F5;
}
.areas-inner {
  width: calc(1520 * var(--u)); max-width: calc(100% - 32px);
  margin: 0 auto;
}

.areas-top {
  display: grid;
  grid-template-columns: 1fr calc(340 * var(--u));
  column-gap: calc(56 * var(--u));
  align-items: start;
}

.areas-head {
  padding-top: calc(70 * var(--u));
  display: flex; flex-direction: column; align-items: flex-start;
}
.areas h2 { margin: 0; font-weight: 700; font-size: calc(92 * var(--u)); line-height: 1.15; letter-spacing: -.01em; color: var(--ink); }
.areas-rule {
  align-self: flex-end;
  width: calc(112 * var(--u)); height: calc(5 * var(--u)); margin-top: calc(26 * var(--u));
  border-radius: 3px;
  background: linear-gradient(to left, #8c5f40, #c49a66);
}
.areas-sub { margin: calc(30 * var(--u)) 0 0; font-size: calc(24 * var(--u)); line-height: 1.6; color: #4d3a2e; }

.areas-cards {
  list-style: none; margin: 0; padding: 0;
  display: grid; grid-template-columns: repeat(6, 1fr); gap: calc(10 * var(--u));
  align-items: start;
}
.areas-cards li { height: calc((572 - var(--i) * 25) * var(--u)); margin-top: calc(var(--i) * 44 * var(--u)); }
.area-card {
  position: relative; isolation: isolate;
  display: flex; flex-direction: column; justify-content: flex-end; align-items: flex-start;
  height: 100%;
  padding: 0 calc(22 * var(--u)) calc(22 * var(--u));
  border-radius: calc(18 * var(--u));
  overflow: hidden;
  background: #6a3a1e;
  box-shadow: 0 0 0 calc(3 * var(--u)) rgba(255, 255, 255, .75), 0 calc(18 * var(--u)) calc(36 * var(--u)) rgba(70, 35, 15, .2);
  color: #fff;
  text-decoration: none;
  transition: transform .5s cubic-bezier(.2, .7, .2, 1), box-shadow .5s, opacity .8s, translate .8s cubic-bezier(.2, .7, .2, 1);
}
.area-card img {
  position: absolute; inset: 0; z-index: -2;
  width: 100%; height: 100%; object-fit: cover;
  transition: transform 1.2s cubic-bezier(.2, .7, .2, 1);
}
.area-card::after {
  content: ""; position: absolute; inset: 0; z-index: -1;
  background: linear-gradient(to bottom, rgba(77, 44, 21, 0) 38%, rgba(77, 44, 21, .72) 62%, #4D2C15 88%);
  transition: opacity .5s;
}
.area-card-title {
  font-weight: 600; font-size: calc(25 * var(--u)); line-height: 1.45;
  text-wrap: balance;
  text-shadow: 0 1px 8px rgba(40, 15, 5, .25);
}
.area-card-go {
  display: grid; place-items: center;
  width: calc(42 * var(--u)); height: calc(42 * var(--u)); margin-top: calc(26 * var(--u));
  border: 2px solid rgba(255, 255, 255, .9); border-radius: 50%;
  transition: background .3s, color .3s, transform .4s cubic-bezier(.2, .7, .2, 1);
}
.area-card-go svg { width: 55%; height: 55%; fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
.area-card:hover, .area-card:focus-visible {
  transform: translateY(calc(-10 * var(--u)));
  box-shadow: 0 0 0 calc(3 * var(--u)) rgba(255, 255, 255, .9), 0 calc(28 * var(--u)) calc(50 * var(--u)) rgba(70, 35, 15, .3);
}
.area-card:hover img, .area-card:focus-visible img { transform: scale(1.07); }
.area-card:hover .area-card-go, .area-card:focus-visible .area-card-go { background: #fff; color: #4D2C15; transform: translateX(calc(-4 * var(--u))); }
.area-card:focus-visible { outline: 3px solid #c49a66; outline-offset: 4px; }

.areas-vm {
  position: relative;
  display: grid; grid-template-columns: 1fr 1fr; column-gap: calc(120 * var(--u));
  margin: calc(70 * var(--u)) auto 0;
  width: calc(1460 * var(--u)); max-width: 100%;
  padding: calc(48 * var(--u)) calc(70 * var(--u));
  border: 1px solid #e9dccd; border-radius: calc(34 * var(--u));
  background: rgba(255, 255, 255, .5);
  box-shadow: 0 calc(16 * var(--u)) calc(40 * var(--u)) calc(-20 * var(--u)) rgba(70, 35, 15, .12);
}
.areas-vm::before {
  content: ""; position: absolute; left: 50%; top: calc(56 * var(--u)); bottom: calc(56 * var(--u));
  width: 1.5px; background: rgba(140, 95, 64, .35);
}
.vm { padding: 0; }
.vm-head {
  margin: 0;
  display: flex; align-items: center; gap: calc(22 * var(--u));
  font-weight: 700; font-size: calc(48 * var(--u)); line-height: 1.2; color: var(--ink);
}
.vm-icon {
  flex: none; order: -1;
  width: calc(58 * var(--u)); height: calc(58 * var(--u));
  fill: none; stroke: var(--gold); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round;
}
.vm-icon .dot { fill: var(--gold); stroke: none; }
.vm-text { margin: calc(22 * var(--u)) 0 0; max-width: calc(600 * var(--u)); font-size: calc(24 * var(--u)); line-height: 1.75; color: #4d3a2e; }

.areas.js .area-card { opacity: 0; translate: 0 calc(50 * var(--u)); }
.areas.js.is-in .area-card { opacity: 1; translate: 0 0; transition-delay: 0s, 0s, calc(var(--i) * 90ms), calc(var(--i) * 90ms); }
.areas.js .vm { opacity: 0; translate: 0 calc(24 * var(--u)); transition: opacity .8s .5s, translate .8s .5s cubic-bezier(.2, .7, .2, 1); }
.areas.js.is-in .vm { opacity: 1; translate: 0 0; }
.areas.js.is-in .vm + .vm { transition-delay: .65s; }

@media (prefers-reduced-motion: reduce) {
  .area-card, .area-card img, .area-card-go, .areas.js .vm { transition: none; }
  .areas.js .area-card, .areas.js .vm { opacity: 1; translate: none; }
}

.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.contact {
  --r: min(calc(100vw / 1672), calc(100vh / 941));
  --u: calc(0.9 * var(--r));
  --ink: #3a1a0c;
  --brown: #6b3f26;
  --gold: #a87a4f;
  background: #fff;
  padding: calc(85 * var(--u)) 0;
}
.contact-inner {
  width: calc(1672 * var(--u)); max-width: 100%;
  margin: 0 auto;
  padding: 0 calc(122 * var(--u)) 0 calc(95 * var(--u));
  display: grid;
  grid-template-columns: 1fr calc(802 * var(--u));
  column-gap: calc(100 * var(--u));
  align-items: center;
}

.contact-info { display: flex; flex-direction: column; align-items: flex-start; }
.contact h2 { margin: 0; font-weight: 700; font-size: calc(92 * var(--u)); line-height: 1.15; color: var(--ink); }
.contact-rule {
  width: calc(96 * var(--u)); height: calc(5 * var(--u)); margin-top: calc(22 * var(--u));
  border-radius: 3px;
  background: linear-gradient(to left, #8c5f40, #c49a66);
}
.contact-text { margin: calc(26 * var(--u)) 0 0; max-width: calc(560 * var(--u)); font-size: calc(24 * var(--u)); line-height: 1.65; color: #4d3a2e; text-wrap: balance; }

.contact-list { list-style: none; margin: calc(34 * var(--u)) 0 0; padding: 0; width: 100%; }
.contact-list a {
  display: flex; align-items: center; gap: calc(34 * var(--u));
  padding: calc(14 * var(--u)) 0;
  color: inherit; text-decoration: none;
}
.contact-list li + li .ci-text { border-top: 1px solid rgba(140, 95, 64, .22); }
.contact-list li + li a { padding-top: 0; }
.contact-list li + li .ci-text { padding-top: calc(14 * var(--u)); }
.ci-icon {
  flex: none; display: grid; place-items: center;
  width: calc(62 * var(--u)); height: calc(62 * var(--u));
  border-radius: calc(14 * var(--u));
  background: rgba(255, 255, 255, .6);
  box-shadow: 0 calc(6 * var(--u)) calc(16 * var(--u)) rgba(90, 50, 20, .08);
  color: var(--brown);
  transition: background .25s, color .25s, transform .3s cubic-bezier(.2, .7, .2, 1);
}
.ci-icon svg { width: 52%; height: 52%; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.ci-text { flex: 1; display: flex; flex-direction: column; gap: calc(4 * var(--u)); }
.ci-text b { font-weight: 700; font-size: calc(24 * var(--u)); color: var(--ink); }
.ci-text span { font-size: calc(22 * var(--u)); color: #4d3a2e; text-align: right; }
.contact-list a:hover .ci-icon { background: var(--brown); color: #fff; transform: translateY(calc(-2 * var(--u))); }
.contact-list a:hover .ci-text b { color: var(--brown); }

.contact-note {
  align-self: stretch;
  display: flex; align-items: center; justify-content: center; gap: calc(16 * var(--u));
  height: calc(64 * var(--u)); margin: calc(36 * var(--u)) 0 0;
  border-radius: 999px;
  background: rgba(255, 255, 255, .6);
  box-shadow: 0 calc(8 * var(--u)) calc(22 * var(--u)) rgba(90, 50, 20, .08);
  font-weight: 700; font-size: calc(22 * var(--u)); color: var(--ink);
}
.contact-note svg { width: calc(32 * var(--u)); height: calc(32 * var(--u)); fill: none; stroke: var(--brown); stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }

.contact-social {
  align-self: center;
  list-style: none; margin: calc(34 * var(--u)) 0 0; padding: 0;
  display: flex; align-items: center;
}
.contact-social li { display: flex; align-items: center; }
.contact-social li + li::before { content: ""; width: 1px; height: calc(30 * var(--u)); margin: 0 calc(30 * var(--u)); background: rgba(140, 95, 64, .3); }
.contact-social a { display: grid; place-items: center; width: calc(46 * var(--u)); height: calc(46 * var(--u)); border-radius: 50%; color: var(--brown); transition: background .2s, color .2s, transform .2s; }
.contact-social a:hover { background: var(--brown); color: #fff; transform: translateY(-2px); }
.contact-social svg { width: 72%; height: 72%; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.contact-social svg .fill { fill: currentColor; stroke: none; }

.contact-form {
  display: flex; flex-direction: column; gap: calc(22 * var(--u));
  padding: calc(52 * var(--u)) calc(48 * var(--u)) calc(40 * var(--u));
  border: 1px solid rgba(255, 255, 255, .9); border-radius: calc(40 * var(--u));
  background: #F2E4D9;
  box-shadow: 0 calc(24 * var(--u)) calc(60 * var(--u)) rgba(90, 50, 20, .1);
}
.cf-row { display: grid; grid-template-columns: 1fr 1fr; gap: calc(34 * var(--u)); }
.cf-field { display: block; }
.cf-field[hidden] { display: none; }
.cf-field label { display: block; margin-bottom: calc(14 * var(--u)); font-weight: 700; font-size: calc(23 * var(--u)); color: var(--ink); }
.cf-field i, .cf-consent i { font-style: normal; color: var(--gold); }
.cf-box { position: relative; }
.cf-box > svg {
  position: absolute; right: calc(18 * var(--u)); top: calc(17 * var(--u));
  width: calc(28 * var(--u)); height: calc(28 * var(--u));
  fill: none; stroke: var(--brown); stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round;
  pointer-events: none;
}
.cf-field input, .cf-field select, .cf-field textarea {
  width: 100%;
  height: calc(62 * var(--u));
  padding: 0 calc(62 * var(--u)) 0 calc(18 * var(--u));
  border: 1.5px solid #e4d6c9; border-radius: calc(16 * var(--u));
  background: #fbf6f1;
  font: inherit; font-size: calc(19 * var(--u)); color: var(--t-text);
  transition: border-color .2s, background .2s, box-shadow .2s;
}
.cf-field textarea { display: block; height: calc(126 * var(--u)); padding: calc(16 * var(--u)) calc(22 * var(--u)); resize: vertical; line-height: 1.6; }
.cf-field ::placeholder { color: #8b7a6e; opacity: 1; }
.cf-field input:focus, .cf-field select:focus, .cf-field textarea:focus {
  outline: none; border-color: #b8916b; background: #fff; box-shadow: 0 0 0 calc(4 * var(--u)) rgba(184, 145, 107, .16);
}
.cf-select select { appearance: none; -webkit-appearance: none; cursor: pointer; padding-left: calc(56 * var(--u)); }
.cf-select select:invalid { color: #8b7a6e; }
.cf-select .cf-box::after {
  content: ""; position: absolute; left: calc(26 * var(--u)); top: 50%;
  width: calc(10 * var(--u)); height: calc(10 * var(--u));
  border-left: 2px solid var(--brown); border-bottom: 2px solid var(--brown);
  transform: translateY(-70%) rotate(-45deg);
  pointer-events: none;
}
.cf-field.is-invalid input, .cf-field.is-invalid select, .cf-field.is-invalid textarea { border-color: #c0573a; background: #fff8f5; }
.cf-field.is-invalid label { color: #c0573a; }
.cf-hp { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); opacity: 0; pointer-events: none; }
.cf-consent {
  display: flex; align-items: center; gap: calc(14 * var(--u));
  margin-top: calc(4 * var(--u));
  font-size: calc(21 * var(--u)); line-height: 1.6; color: #3a2a20; cursor: pointer;
}
.cf-consent input { flex: none; width: calc(26 * var(--u)); height: calc(26 * var(--u)); margin: 0; accent-color: var(--brown); cursor: pointer; }
.cf-consent a { color: var(--ink); text-decoration: underline; text-decoration-color: var(--gold); text-underline-offset: calc(6 * var(--u)); }
.cf-consent.is-invalid { color: #c0573a; }
.cf-submit {
  align-self: center;
  width: calc(450 * var(--u)); max-width: 100%;
  height: calc(62 * var(--u)); margin-top: calc(10 * var(--u));
  border: 0; border-radius: 999px; cursor: pointer;
  background: #230a02;
  box-shadow: 0 calc(10 * var(--u)) calc(24 * var(--u)) rgba(74, 31, 11, .22);
  font-size: calc(23 * var(--u)); font-weight: 700; gap: calc(16 * var(--u));
  transition: transform .2s, box-shadow .2s, filter .2s;
}
.cf-submit:hover { transform: translateY(-2px); box-shadow: 0 calc(14 * var(--u)) calc(30 * var(--u)) rgba(74, 31, 11, .3); }
.cf-submit svg { width: calc(28 * var(--u)); height: calc(28 * var(--u)); fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.cf-submit[disabled] { opacity: .65; cursor: progress; transform: none; }
.cf-status { margin: 0; min-height: 1.6em; font-size: calc(17 * var(--u)); line-height: 1.6; color: var(--t-soft); text-align: center; }
.cf-status:empty { display: none; }
.cf-status.is-ok { color: #3f6b3a; }
.cf-status.is-error { color: #c0573a; }

.footer {
  --r: min(calc(100vw / 1672), calc(100vh / 941));
  --u: calc(0.9 * var(--r));
  --gold: #c49a66;
  position: relative;
  overflow: hidden;
  background: linear-gradient(180deg, #fbf7f2 0%, #f8f1e9 100%);
  border-top: 1px solid #efe5d9;
  color: #2b2420;
  padding-top: calc(110 * var(--u));
}
.ft-inner {
  position: relative; z-index: 1;
  width: calc(1672 * var(--r)); max-width: 100%;
  margin: 0 auto;
  padding: 0 calc(60 * var(--u)) calc(56 * var(--u));
  display: grid;
  grid-template-columns: calc(330 * var(--u)) auto auto auto calc(360 * var(--u));
  justify-content: space-between;
  gap: calc(60 * var(--u));
  align-items: start;
}

.ft-brand { display: flex; flex-direction: column; align-items: center; text-align: center; }
.ft-logo { width: calc(74 * var(--u)); height: auto; }
.ft-name { margin: calc(14 * var(--u)) 0 0; font-weight: 700; font-size: calc(40 * var(--u)); line-height: 1.25; color: var(--t-text); }
.ft-about { margin: calc(14 * var(--u)) 0 0; max-width: calc(300 * var(--u)); text-wrap: balance; font-size: calc(19 * var(--u)); line-height: 1.8; color: var(--t-soft); }
.ft-social { list-style: none; margin: calc(26 * var(--u)) 0 0; padding: 0; display: flex; gap: calc(16 * var(--u)); }
.ft-social a {
  display: grid; place-items: center;
  width: calc(50 * var(--u)); height: calc(50 * var(--u));
  border: 1.5px solid #e2cdb3; border-radius: 50%;
  background: #fff;
  color: #5a2a12;
  transition: background .25s, color .25s, border-color .25s, transform .25s;
}
.ft-social a:hover { background: #3c1307; border-color: #3c1307; color: #fff; transform: translateY(-3px); }
.ft-social svg { width: 44%; height: 44%; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.ft-social svg .fill { fill: currentColor; stroke: none; }

.ft-col h2 {
  margin: 0;
  display: flex; align-items: center; gap: calc(12 * var(--u));
  font-weight: 700; font-size: calc(26 * var(--u)); color: #2b2420;
}
.ft-col h2::after {
  content: ""; position: absolute;
}
.ft-col > h2 { position: relative; padding-bottom: calc(16 * var(--u)); }
.ft-col > h2::after { right: 0; bottom: 0; width: calc(52 * var(--u)); height: 2px; background: var(--gold); }
.ft-links { list-style: none; margin: calc(24 * var(--u)) 0 0; padding: 0; display: grid; gap: calc(14 * var(--u)); }
.ft-links a {
  position: relative;
  font-size: calc(19 * var(--u)); color: #3d3530;
  transition: color .2s;
}
.ft-links a::after {
  content: ""; position: absolute; right: 0; bottom: calc(-3 * var(--u));
  width: 0; height: 1px; background: currentColor;
  transition: width .3s cubic-bezier(.2, .7, .2, 1);
}
.ft-links a:hover { color: var(--t-text); }
.ft-links a:hover::after { width: 100%; }

.ft-reach h2 svg { width: calc(30 * var(--u)); height: calc(30 * var(--u)); fill: none; stroke: var(--gold); stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.ft-reach-text { margin: calc(22 * var(--u)) 0 0; font-size: calc(19 * var(--u)); line-height: 1.8; color: var(--t-soft); }
.ft-wa {
  margin-top: calc(22 * var(--u));
  display: flex; align-items: center; justify-content: space-between; gap: calc(12 * var(--u));
  height: calc(62 * var(--u));
  padding: 0 calc(8 * var(--u)) 0 calc(22 * var(--u));
  border: 1.5px solid #ead9c4; border-radius: 999px;
  background: #fff;
  font-weight: 600; font-size: calc(18 * var(--u)); color: var(--t-text);
  transition: border-color .25s, box-shadow .25s;
}
.ft-wa svg {
  order: 2;
  box-sizing: content-box;
  width: calc(24 * var(--u)); height: calc(24 * var(--u)); padding: calc(10 * var(--u));
  border-radius: 50%;
  background: #3c1307;
  fill: none; stroke: #fff; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round;
  transition: transform .3s cubic-bezier(.2, .7, .2, 1);
}
.ft-wa:hover { border-color: #c49a66; box-shadow: 0 10px 24px -14px rgba(70, 35, 15, .45); }
.ft-wa:hover svg { transform: rotate(-12deg) scale(1.06); }
.ft-mail { display: inline-block; margin-top: calc(14 * var(--u)); font-size: calc(17 * var(--u)); color: var(--t-soft); transition: color .2s; }
.ft-mail:hover { color: var(--t-text); }

.ft-bottom {
  position: relative; z-index: 1;
  width: calc(100% - 120 * var(--u)); max-width: calc(1672 * var(--r) - 120 * var(--u));
  margin: 0 auto;
  padding: calc(26 * var(--u)) 0 calc(30 * var(--u));
  border-top: 1px solid #e6d8c8;
  display: flex; align-items: center; justify-content: space-between; gap: calc(30 * var(--u));
  font-size: calc(17 * var(--u)); color: #5d5550;
}
.ft-bottom p { margin: 0; }
.ft-top {
  display: inline-flex; align-items: center; gap: calc(10 * var(--u));
  height: calc(48 * var(--u)); padding: 0 calc(20 * var(--u)) 0 calc(8 * var(--u));
  border: 1.5px solid #ead9c4; border-radius: 999px;
  background: #fff;
  font-size: calc(16 * var(--u)); font-weight: 600; color: var(--t-text);
  transition: border-color .25s;
}
.ft-top svg {
  order: -1;
  box-sizing: content-box;
  width: calc(18 * var(--u)); height: calc(18 * var(--u)); padding: calc(7 * var(--u));
  border-radius: 50%; background: #f3e7da;
  fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round;
  transition: transform .3s;
}
.ft-top:hover { border-color: #c49a66; }
.ft-top:hover svg { transform: translateY(-2px); }

@media (max-width: 900px) {
  :root, .about, .about-copy, .areas, .contact, .footer { --u: 1px; --x: 1px; --r: 1px; }

  .nav { position: fixed; top: 0; left: 0; right: 0; height: 64px; display: flex; align-items: center; justify-content: space-between; padding: 0 16px; }
  .brand { position: static; flex-direction: row; gap: 10px; }
  .brand img { width: 40px; }
  .brand span { font-size: 17px; }
  .nav-cta { display: none; }
  .nav-toggle {
    display: flex; flex-direction: column; justify-content: center; gap: 5px;
    width: 44px; height: 44px; padding: 0 11px; border: 0; border-radius: 10px;
    background: rgba(255, 255, 255, .7); cursor: pointer;
  }
  .nav-toggle span { height: 2px; background: var(--brown-800); border-radius: 2px; transition: transform .25s, opacity .25s; }
  .nav.open .nav-toggle span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  .nav.open .nav-toggle span:nth-child(2) { opacity: 0; }
  .nav.open .nav-toggle span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
  .nav-links {
    position: absolute; top: 70px; right: 12px; left: 12px;
    flex-direction: column; gap: 0; padding: 8px;
    background: #fff; border-radius: 14px; box-shadow: 0 18px 40px rgba(74, 32, 13, .14);
    opacity: 0; visibility: hidden; transform: translateY(-8px);
    transition: opacity .2s, transform .2s, visibility .2s;
  }
  .nav.open .nav-links { opacity: 1; visibility: visible; transform: none; }
  .nav-links a { font-size: 17px; padding: 13px 14px; border-radius: 10px; }
  .nav-links a.active { background: var(--bg); }
  .nav-links a.active::after { display: none; }
  .nav-links .nav-links-cta { display: block; margin-top: 6px; background: var(--brown-600); color: #fff; text-align: center; font-weight: 500; }

  .hero { height: auto; padding-bottom: 36px; background-size: cover; background-position: center top; }
  .hero-art { position: relative; left: auto; top: 0; width: 100%; max-width: 560px; margin: 84px auto 0; padding: 0 12px; }
  .hero-copy { position: static; width: auto; padding: 0 20px; margin-top: 18px; text-align: center; }
  .hero-sub, .hero-text { text-wrap: balance; }
  .hero h1 { font-size: clamp(34px, 9vw, 52px); }
  .hero-sub { font-size: clamp(20px, 5.4vw, 28px); }
  .hero-sub br, .hero-text br { display: none; }
  .hero-text { font-size: 16px; line-height: 1.8; margin-inline: auto; }
  .hero-btns { flex-direction: column; align-items: stretch; margin-top: 26px; }
  .hero-btns .btn { width: 100%; height: 54px; font-size: 17px; gap: 10px; }
  .hero-feats {
    position: static; width: auto; margin: 34px 20px 0;
    grid-template-columns: repeat(2, 1fr); row-gap: 22px;
    padding-top: 26px; border-top: 1px solid var(--line);
  }
  .hero-feats li { font-size: 15px; gap: 8px; }
  .hero-feats li + li::before { display: none; }
  .hero-feats svg { width: 30px; height: 30px; }

  .about { padding: 56px 20px 64px; }
  .about-inner { width: auto; height: auto; display: flex; flex-direction: column-reverse; gap: 36px; }
  .about-collage { position: relative; left: auto; top: auto; width: 100%; max-width: 560px; margin: 0 auto; }
  .about-copy { position: static; width: auto; }
  .about-eyebrow { font-size: 15px; gap: 12px; }
  .about-eyebrow::before { width: 32px; }
  .about h2 { margin: 10px 0 0; font-size: 36px; }
  .about-text { margin: 12px 0 0; max-width: none; font-size: 16px; line-height: 1.85; text-wrap: pretty; }
  .about-quote { margin: 26px 0 0; padding: 2px 18px 2px 0; }
  .about-quote::before { top: -34px; font-size: 100px; }
  .about-quote p { font-size: 18px; line-height: 1.75; }
  .about-feats { margin-top: 24px; grid-template-columns: 1fr; }
  .about-feats li { padding: 16px 0; gap: 14px; }
  .about-feats li + li { border-top: 1px solid var(--c-line); }
  .feat-ico { width: 48px; height: 48px; border-radius: 12px; }
  .about-feats h3 { font-size: 17px; }
  .about-feats p { margin-top: 4px; font-size: 14.5px; line-height: 1.7; }
  .about-actions { flex-direction: column; align-items: stretch; gap: 16px; margin-top: 24px; }
  .about-btn { left: 0; height: 54px; font-size: 17px; gap: 10px; justify-content: center; }
  .about-link { align-self: center; font-size: 16px; }

  .areas { padding: 56px 0 60px; background: #FCF8F5; }
  .areas-inner { width: auto; max-width: none; margin: 0; }
  .areas-top { display: flex; flex-direction: column-reverse; align-items: stretch; gap: 26px; }
  .areas-head { width: auto; margin: 0; padding: 0 20px; align-items: center; text-align: center; }
  .areas h2 { font-size: 36px; }
  .areas-rule { align-self: center; width: 64px; height: 4px; margin-top: 14px; }
  .areas-sub { margin-top: 14px; font-size: 15.5px; text-wrap: balance; }

  .areas-cards {
    margin-top: 28px; padding: 10px 20px 24px;
    display: flex; gap: 12px; align-items: stretch;
    overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-inline: 20px;
    scrollbar-width: none;
  }
  .areas-cards::-webkit-scrollbar { display: none; }
  .areas-cards li { flex: 0 0 min(62vw, 240px); height: 340px; margin-top: 0; scroll-snap-align: start; }
  .area-card { padding: 0 18px 18px; border-radius: 16px; box-shadow: 0 0 0 2px rgba(255, 255, 255, .75), 0 10px 24px rgba(70, 35, 15, .18); }
  .area-card-title { font-size: 19px; }
  .area-card-go { width: 36px; height: 36px; margin-top: 16px; }
  .area-card:hover, .area-card:focus-visible { transform: none; }
  .areas-vm { width: auto; grid-template-columns: 1fr; row-gap: 0; margin: 28px 20px 0; padding: 4px 22px 26px; border-radius: 20px; }
  .areas-vm::before { display: none; }
  .vm { padding: 26px 0 0; }
  .vm + .vm { margin-top: 26px; border-top: 1px solid rgba(140, 95, 64, .25); }
  .vm-head { gap: 14px; font-size: 28px; }
  .vm-icon { width: 42px; height: 42px; }
  .vm-text { margin-top: 12px; max-width: none; font-size: 17px; }

  .contact { padding: 56px 20px 64px; background: #fff; }
  .contact-inner { width: auto; padding: 0; grid-template-columns: 1fr; row-gap: 32px; }
  .contact-info { align-items: center; text-align: center; }
  .contact h2 { font-size: 36px; }
  .contact-rule { align-self: center; width: 64px; height: 4px; margin-top: 14px; }
  .contact-text { margin-top: 14px; font-size: 15.5px; text-wrap: balance; }
  .contact-list { margin-top: 20px; text-align: right; }
  .contact-list a { gap: 16px; padding: 10px 0; }
  .contact-list li + li .ci-text { padding-top: 10px; }
  .ci-icon { width: 48px; height: 48px; border-radius: 12px; }
  .ci-text b { font-size: 16px; }
  .ci-text span { font-size: 15px; }
  .contact-note { height: auto; min-height: 50px; padding: 10px 18px; margin-top: 22px; gap: 10px; font-size: 15px; }
  .contact-note svg { width: 24px; height: 24px; }
  .contact-social { margin-top: 20px; }
  .contact-social li + li::before { height: 24px; margin: 0 14px; }
  .contact-social a { width: 44px; height: 44px; }
  .contact-form { padding: 24px 18px; gap: 16px; border-radius: 22px; }
  .cf-row { grid-template-columns: 1fr; gap: 16px; }
  .cf-field label { margin-bottom: 8px; font-size: 15.5px; }
  .cf-box > svg { right: 14px; top: 14px; width: 22px; height: 22px; }
  .cf-field input, .cf-field select, .cf-field textarea { height: 50px; padding: 0 46px 0 14px; border-radius: 12px; font-size: 16px; }
  .cf-field textarea { height: 130px; padding: 13px 14px; }
  .cf-select select { padding-left: 40px; }
  .cf-select .cf-box::after { left: 18px; width: 9px; height: 9px; }
  .cf-consent { font-size: 15px; gap: 10px; }
  .cf-consent input { width: 20px; height: 20px; }
  .cf-submit { width: 100%; height: 54px; font-size: 17px; gap: 10px; }
  .cf-submit svg { width: 22px; height: 22px; }
  .cf-status { font-size: 14px; }

  .footer { padding-top: 56px; }
  .ft-inner { width: auto; padding: 0 22px 32px; grid-template-columns: 1fr 1fr; gap: 34px 20px; }
  .ft-brand, .ft-reach { grid-column: 1 / -1; }
  .ft-logo { width: 54px; }
  .ft-name { font-size: 26px; }
  .ft-about { font-size: 15px; max-width: 320px; }
  .ft-social { margin-top: 18px; gap: 12px; }
  .ft-social a { width: 42px; height: 42px; }
  .ft-col h2 { font-size: 18px; }
  .ft-col > h2 { padding-bottom: 12px; }
  .ft-col > h2::after { width: 36px; }
  .ft-links { margin-top: 16px; gap: 10px; }
  .ft-links a { font-size: 14.5px; }
  .ft-reach h2 svg { width: 22px; height: 22px; }
  .ft-reach-text { font-size: 15px; margin-top: 14px; }
  .ft-wa { height: 52px; font-size: 15px; padding: 0 6px 0 18px; }
  .ft-wa svg { width: 20px; height: 20px; padding: 8px; }
  .ft-mail { font-size: 14px; }
  .ft-bottom { width: calc(100% - 44px); max-width: none; flex-direction: column; gap: 14px; text-align: center; padding: 18px 0 22px; font-size: 13px; }
  .ft-top { height: 42px; font-size: 14px; }
}

.pg {
  --ink: #2b1d14;
  --head: var(--t-text);
  --brand: #3c1307;
  --gold: #c49a66;
  --gold-d: #a87a4f;
  --cream: #FCF8F5;
  --sand: #F2E4D9;
  --line: #eadfd3;
  --muted: #5d5148;
  color: var(--ink);
}
.wrap { width: min(1240px, 100% - 40px); margin-inline: auto; }

.pg-hero {
  position: relative; overflow: hidden;
  padding: clamp(120px, 14vw, 190px) 0 clamp(56px, 7vw, 96px);
  background:
    radial-gradient(60% 80% at 85% 0%, rgba(196, 154, 102, .18), transparent 70%),
    linear-gradient(180deg, #fbf6f0 0%, var(--cream) 100%);
  border-bottom: 1px solid var(--line);
  text-align: center;
}
.pg-hero::after {
  content: ""; position: absolute; left: -40px; bottom: -60px; width: clamp(180px, 22vw, 320px); aspect-ratio: 300 / 356;
  background: linear-gradient(160deg, #e4cdb0, #f0e2d1);
  -webkit-mask: url(../images/brand/logo-mark.png) center / contain no-repeat; mask: url(../images/brand/logo-mark.png) center / contain no-repeat;
  opacity: .55; pointer-events: none;
}
.crumbs { display: flex; justify-content: center; gap: 10px; margin: 0 0 18px; font-size: 14px; color: var(--muted); }
.crumbs a { color: var(--muted); transition: color .2s; }
.crumbs a:hover { color: var(--head); }
.crumbs span[aria-hidden] { color: var(--gold); }
.pg-eyebrow { display: inline-flex; align-items: center; gap: 14px; margin: 0; font-weight: 600; font-size: clamp(14px, 1.2vw, 17px); color: var(--head); }
.pg-eyebrow::before, .pg-eyebrow::after { content: ""; width: 36px; height: 2px; background: var(--gold); }
.pg-hero h1 { margin: 14px 0 0; font-weight: 700; font-size: clamp(38px, 5.4vw, 76px); line-height: 1.15; color: var(--head); }
.pg-lead { margin: 18px auto 0; max-width: 760px; font-size: clamp(16px, 1.45vw, 21px); line-height: 1.85; color: var(--muted); text-wrap: balance; }

.pg-sec { padding: clamp(60px, 8vw, 110px) 0; }
.pg-sec.is-sand { background: var(--sand); }
.pg-sec.is-cream { background: var(--cream); }
.pg-sec.is-dark { background: linear-gradient(160deg, #4a1d0b, #3c1307 55%, #2a0d04); color: #f6ecdf; }
.sec-head { max-width: 760px; margin: 0 auto clamp(34px, 4vw, 56px); text-align: center; }
.sec-head .pg-eyebrow { color: var(--gold-d); }
.sec-head h2 { margin: 12px 0 0; font-weight: 700; font-size: clamp(30px, 3.4vw, 50px); line-height: 1.25; color: var(--head); }
.sec-head p { margin: 14px 0 0; font-size: clamp(15.5px, 1.25vw, 19px); line-height: 1.85; color: var(--muted); text-wrap: balance; }
.pg-sec.is-dark .sec-head h2 { color: #fff8ef; }
.pg-sec.is-dark .sec-head p { color: rgba(246, 236, 223, .8); }
.pg-sec.is-dark .sec-head .pg-eyebrow { color: var(--gold); }

.split { display: grid; grid-template-columns: 1.1fr .9fr; gap: clamp(32px, 5vw, 80px); align-items: center; }
.split-text h2 { margin: 12px 0 0; font-weight: 700; font-size: clamp(30px, 3.4vw, 50px); line-height: 1.25; color: var(--head); }
.split-text p { margin: 18px 0 0; font-size: clamp(16px, 1.3vw, 19.5px); line-height: 1.95; color: #43372f; }
.split-text .pg-eyebrow { color: var(--gold-d); }
.split-photo { position: relative; }
.split-photo img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 28px; box-shadow: 0 30px 60px -30px rgba(70, 35, 15, .45); }
.split-photo::before { content: ""; position: absolute; inset: 22px -22px -22px 22px; border: 1.5px solid var(--gold); border-radius: 28px; z-index: -1; }

.cards { display: grid; gap: 18px; grid-template-columns: repeat(var(--cols, 3), 1fr); }
.card {
  position: relative;
  padding: 28px 26px;
  border: 1px solid var(--line); border-radius: 22px;
  background: #fff;
  box-shadow: 0 14px 34px -24px rgba(70, 35, 15, .35);
  transition: transform .35s cubic-bezier(.2, .7, .2, 1), box-shadow .35s, border-color .35s;
}
.card:hover { transform: translateY(-5px); border-color: #e2cdb3; box-shadow: 0 24px 44px -24px rgba(70, 35, 15, .45); }
.card h3 { margin: 16px 0 0; font-weight: 700; font-size: clamp(18px, 1.5vw, 22px); line-height: 1.4; color: var(--head); }
.card p { margin: 10px 0 0; font-size: clamp(15px, 1.15vw, 17px); line-height: 1.85; color: var(--muted); }
.card-ico {
  display: grid; place-items: center;
  width: 58px; height: 58px; border-radius: 16px;
  background: #f5ebe0;
  transition: background .3s;
}
.card-ico svg { width: 50%; height: 50%; fill: none; stroke: var(--t-icon); stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; transition: stroke .3s; }
.card:hover .card-ico { background: var(--brand); }
.card:hover .card-ico svg { stroke: #f5ebe0; }
.card-num { font-weight: 700; font-size: 15px; letter-spacing: .04em; color: var(--gold-d); direction: ltr; display: inline-block; }

.vm2 { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.vm2 article {
  position: relative; overflow: hidden;
  padding: clamp(30px, 3.5vw, 52px);
  border-radius: 28px;
  background: #fff; border: 1px solid var(--line);
}
.vm2 article.is-dark { background: linear-gradient(160deg, #4a1d0b, #3c1307 55%, #2a0d04); border-color: transparent; color: #f6ecdf; }
.vm2 .lbl { display: inline-flex; align-items: center; gap: 12px; font-weight: 700; font-size: 17px; color: var(--gold); }
.vm2 .lbl svg { width: 34px; height: 34px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.vm2 p { margin: 18px 0 0; font-weight: 700; font-size: clamp(22px, 2.3vw, 34px); line-height: 1.55; color: var(--head); text-wrap: balance; }
.vm2 .is-dark p { color: #fff8ef; }
.vm2 article::after { content: ""; position: absolute; left: -70px; bottom: -110px; width: 240px; aspect-ratio: 1; border-radius: 50%; border: 1px solid rgba(196, 154, 102, .35); box-shadow: 0 0 0 26px rgba(196, 154, 102, .06), 0 0 0 27px rgba(196, 154, 102, .25); }

.values { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.value {
  position: relative; overflow: hidden;
  padding: 26px 24px 28px;
  border-radius: 22px;
  background: rgba(255, 255, 255, .06);
  border: 1px solid rgba(196, 154, 102, .3);
  transition: background .35s, transform .35s cubic-bezier(.2, .7, .2, 1), border-color .35s;
}
.value:hover { background: rgba(196, 154, 102, .14); border-color: rgba(196, 154, 102, .6); transform: translateY(-4px); }
.value b { display: block; font-weight: 700; font-size: clamp(21px, 1.9vw, 27px); color: #fff8ef; }
.value b::after { content: ""; display: block; width: 32px; height: 2px; margin-top: 12px; background: var(--gold); transition: width .4s; }
.value:hover b::after { width: 64px; }
.value p { margin: 14px 0 0; font-size: 16px; line-height: 1.8; color: rgba(246, 236, 223, .82); }
.value .vn { position: absolute; left: 18px; top: 14px; font-weight: 700; font-size: 44px; line-height: 1; color: rgba(246, 236, 223, .07); direction: ltr; }
.value.is-wide { grid-column: span 2; }

.numlist { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(var(--cols, 3), 1fr); gap: 0 40px; counter-reset: n; }
.numlist li {
  counter-increment: n;
  display: flex; gap: 18px; align-items: flex-start;
  padding: 22px 0; border-top: 1px solid var(--line);
  font-size: clamp(15.5px, 1.2vw, 18px); line-height: 1.8; color: #43372f;
}
.numlist li::before {
  content: counter(n, decimal-leading-zero);
  flex: none; min-width: 42px;
  font-weight: 700; font-size: 22px; line-height: 1.4; color: var(--gold-d);
  direction: ltr; text-align: right;
}

.director { display: grid; grid-template-columns: 280px 1fr; gap: clamp(30px, 5vw, 70px); align-items: start; }
.director-badge {
  position: sticky; top: 120px;
  padding: 34px 26px; border-radius: 26px; text-align: center;
  background: linear-gradient(160deg, #4a1d0b, #3c1307 55%, #2a0d04); color: #f6ecdf;
}
.director-badge .mono { display: grid; place-items: center; width: 92px; height: 92px; margin: 0 auto; border-radius: 50%; border: 1.5px solid var(--gold); font-weight: 700; font-size: 34px; color: var(--gold); }
.director-badge b { display: block; margin-top: 18px; font-size: 21px; color: #fff8ef; }
.director-badge span { display: block; margin-top: 6px; font-size: 15px; color: rgba(246, 236, 223, .75); }
.director-text { position: relative; }
.director-text::before { content: "“"; position: absolute; right: -10px; top: -70px; font-family: Georgia, serif; font-size: 180px; line-height: 1; color: rgba(196, 154, 102, .2); }
.director-text p { margin: 0 0 20px; font-size: clamp(17px, 1.4vw, 21px); line-height: 2; color: #3b2f27; }
.director-text p:first-child { font-weight: 600; font-size: clamp(19px, 1.6vw, 24px); color: var(--head); }
.director-sign { margin-top: 26px; padding-top: 20px; border-top: 1px solid var(--line); }
.director-sign b { display: block; font-size: 20px; color: var(--head); }
.director-sign span { font-size: 15px; color: var(--muted); }

.pg-note {
  display: flex; gap: 16px; align-items: flex-start;
  padding: 24px 28px; border-radius: 20px;
  background: #fff; border: 1px dashed #dcc7ae;
  font-size: 16.5px; line-height: 1.9; color: var(--muted);
}
.pg-note svg { flex: none; width: 26px; height: 26px; margin-top: 4px; fill: none; stroke: var(--gold-d); stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }

.pg-cta { padding: clamp(56px, 7vw, 90px) 0; background: linear-gradient(160deg, #4a1d0b, #3c1307 55%, #2a0d04); color: #f6ecdf; text-align: center; position: relative; overflow: hidden; }
.pg-cta::before { content: ""; position: absolute; inset: 0; background: repeating-linear-gradient(45deg, rgba(196, 154, 102, .08) 0 1px, transparent 1px 26px), repeating-linear-gradient(-45deg, rgba(196, 154, 102, .08) 0 1px, transparent 1px 26px); -webkit-mask: radial-gradient(60% 80% at 50% 50%, #000, transparent); mask: radial-gradient(60% 80% at 50% 50%, #000, transparent); }
.pg-cta .wrap { position: relative; }
.pg-cta h2 { margin: 0; font-weight: 700; font-size: clamp(28px, 3.2vw, 46px); color: #fff8ef; }
.pg-cta p { margin: 14px auto 0; max-width: 640px; font-size: clamp(16px, 1.3vw, 19px); line-height: 1.85; color: rgba(246, 236, 223, .82); }
.pg-cta .acts { display: flex; justify-content: center; flex-wrap: wrap; gap: 16px; margin-top: 30px; }
.btn-light { background: #fff8ef; color: var(--t-text); height: 56px; padding: 0 28px; font-size: 17px; box-shadow: 0 12px 26px -12px rgba(0, 0, 0, .5); }
.btn-light .arrow { background: rgba(60, 19, 7, .08); }
.btn-ghost { height: 56px; padding: 0 26px; font-size: 17px; color: #fff8ef; border: 1.5px solid rgba(246, 236, 223, .45); }
.btn-ghost:hover { border-color: #fff8ef; }
.pg .btn-primary.pg-btn { height: 56px; padding: 0 28px; font-size: 17px; background: #230a02; }

.feat2 { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.feat {
  position: relative; overflow: hidden; isolation: isolate;
  display: flex; flex-direction: column; justify-content: flex-end;
  min-height: 460px; padding: 34px;
  border-radius: 28px; color: #fff;
  box-shadow: 0 30px 60px -34px rgba(70, 35, 15, .6);
}
.feat img { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s cubic-bezier(.2, .7, .2, 1); }
.feat::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(to bottom, rgba(77, 44, 21, 0) 25%, rgba(77, 44, 21, .78) 60%, #3c1307 100%); }
.feat:hover img { transform: scale(1.06); }
.feat .tag { align-self: flex-start; padding: 6px 14px; border-radius: 999px; background: rgba(255, 248, 239, .16); border: 1px solid rgba(255, 248, 239, .35); font-size: 13.5px; font-weight: 600; -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.feat h3 { margin: 14px 0 0; font-weight: 700; font-size: clamp(34px, 3.6vw, 54px); line-height: 1.15; }
.feat .sub { margin: 8px 0 0; font-weight: 600; font-size: clamp(16px, 1.4vw, 20px); color: #f3d9b5; }
.feat p { margin: 12px 0 0; max-width: 520px; font-size: 16px; line-height: 1.85; color: rgba(255, 255, 255, .86); }
.feat .more { display: inline-flex; align-items: center; gap: 10px; margin-top: 20px; font-weight: 600; font-size: 16px; color: #fff; }
.feat .more svg { width: 34px; height: 34px; padding: 8px; box-sizing: border-box; border-radius: 50%; border: 1.5px solid rgba(255, 255, 255, .8); fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; transition: transform .3s, background .3s, color .3s; }
.feat:hover .more svg { background: #fff; color: var(--t-text); transform: translateX(-4px); }

.chips { display: flex; flex-wrap: wrap; gap: 10px; }
.chip { display: inline-flex; align-items: center; gap: 8px; padding: 10px 18px; border-radius: 999px; background: #fff; border: 1px solid var(--line); font-weight: 600; font-size: 15.5px; color: var(--head); }
.chip svg { width: 18px; height: 18px; fill: none; stroke: var(--gold-d); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }

.prog-head { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(30px, 5vw, 70px); align-items: center; }
.prog-head .banner { position: relative; overflow: hidden; border-radius: 28px; aspect-ratio: 16 / 11; box-shadow: 0 30px 60px -30px rgba(70, 35, 15, .5); }
.prog-head .banner img { width: 100%; height: 100%; object-fit: cover; }
.prog-head .tagline { margin: 10px 0 0; font-weight: 600; font-size: clamp(18px, 1.7vw, 24px); color: var(--gold-d); }
.prog-head h2 { margin: 10px 0 0; font-weight: 700; font-size: clamp(38px, 4.4vw, 64px); line-height: 1.12; color: var(--head); }
.prog-head p { margin: 16px 0 0; font-size: clamp(16px, 1.3vw, 19px); line-height: 1.95; color: #43372f; }
.prog-head .chips { margin-top: 22px; }
.sub-title { margin: clamp(46px, 5vw, 70px) 0 22px; display: flex; align-items: center; gap: 14px; font-weight: 700; font-size: clamp(22px, 2vw, 30px); color: var(--head); }
.sub-title::after { content: ""; flex: 1; height: 1px; background: var(--line); }

.dest { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.dest .card { padding-top: 26px; }
.dest .card::before { content: ""; position: absolute; top: 0; right: 26px; width: 44px; height: 3px; border-radius: 0 0 3px 3px; background: var(--gold); }

.steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5, 1fr); gap: 14px; counter-reset: s; }
.steps li { counter-increment: s; position: relative; padding: 56px 20px 24px; border-radius: 20px; background: #fff; border: 1px solid var(--line); font-size: 16px; line-height: 1.8; color: #43372f; }
.steps li::before { content: counter(s); position: absolute; top: 18px; right: 20px; display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: var(--brand); color: #fff; font-weight: 700; font-size: 14px; }

.quote-band { margin-top: clamp(40px, 5vw, 64px); padding: clamp(28px, 3.5vw, 44px); border-radius: 26px; background: linear-gradient(160deg, #4a1d0b, #3c1307 55%, #2a0d04); color: #fff8ef; text-align: center; font-weight: 700; font-size: clamp(20px, 2.1vw, 30px); line-height: 1.6; }
.quote-band small { display: block; margin-bottom: 8px; font-weight: 600; font-size: 14px; letter-spacing: .02em; color: var(--gold); }

.days { list-style: none; margin: 0; padding: 0; position: relative; display: grid; gap: 16px; }
.days::before { content: ""; position: absolute; right: 27px; top: 10px; bottom: 10px; width: 2px; background: linear-gradient(var(--gold), rgba(196, 154, 102, .2)); }
.days > li { position: relative; display: grid; grid-template-columns: 56px 1fr; gap: 20px; align-items: start; }
.days .d { position: relative; z-index: 1; display: grid; place-items: center; width: 56px; height: 56px; border-radius: 50%; background: var(--brand); color: #fff; font-weight: 700; font-size: 13px; line-height: 1.2; text-align: center; box-shadow: 0 0 0 6px var(--cream); }
.days .body { padding: 20px 24px; border-radius: 20px; background: #fff; border: 1px solid var(--line); }
.days h4 { margin: 0; font-weight: 700; font-size: 19px; color: var(--head); }
.days h4 span { font-weight: 500; font-size: 15px; color: var(--muted); }
.days ul { margin: 10px 0 0; padding: 0 18px 0 0; font-size: 15.5px; line-height: 1.85; color: #43372f; }
.days .out { margin: 12px 0 0; padding-top: 10px; border-top: 1px dashed var(--line); font-size: 15px; color: var(--gold-d); font-weight: 600; }

.ages { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.ages .card b { display: inline-block; padding: 4px 12px; border-radius: 999px; background: #f5ebe0; font-size: 14px; color: var(--head); direction: rtl; }

.trainers { display: grid; grid-template-columns: repeat(5, 1fr); gap: 20px; }
.trainer { text-align: center; }
.trainer .ph { position: relative; overflow: hidden; border-radius: 26px; aspect-ratio: 4 / 5; background: #efe5d8; box-shadow: 0 24px 50px -30px rgba(70, 35, 15, .55); }
.trainer .ph img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 20%; transition: transform 1s cubic-bezier(.2, .7, .2, 1), filter .6s; filter: saturate(.92); }
.trainer .ph::after { content: ""; position: absolute; inset: 0; border-radius: inherit; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .5); background: linear-gradient(to bottom, transparent 60%, rgba(60, 19, 7, .35)); opacity: 0; transition: opacity .5s; }
.trainer:hover .ph img { transform: scale(1.05); filter: saturate(1); }
.trainer:hover .ph::after { opacity: 1; }
.trainer b { display: block; margin-top: 18px; font-weight: 700; font-size: clamp(20px, 1.7vw, 25px); color: var(--head); }
.trainer span { display: block; margin-top: 4px; font-size: 15px; color: var(--muted); }

.rv-on [data-rv] { opacity: 0; translate: 0 26px; transition: opacity .8s, translate .8s cubic-bezier(.2, .7, .2, 1); transition-delay: calc(var(--d, 0) * 80ms); }
.rv-on [data-rv].is-in { opacity: 1; translate: 0 0; }
@media (prefers-reduced-motion: reduce) { .rv-on [data-rv] { opacity: 1; translate: none; transition: none; } }

@media (max-width: 1100px) {
  .values { grid-template-columns: repeat(2, 1fr); }
  .value.is-wide { grid-column: auto; }
  .dest { grid-template-columns: repeat(2, 1fr); }
  .steps { grid-template-columns: repeat(2, 1fr); }
  .trainers { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 900px) {
  .split, .prog-head, .feat2, .vm2, .director, .ages { grid-template-columns: 1fr; }
  .split-photo { max-width: 460px; margin-inline: auto; width: 100%; }
  .cards { grid-template-columns: 1fr 1fr; }
  .numlist { grid-template-columns: 1fr; }
  .director-badge { position: static; }
  .feat { min-height: 380px; padding: 26px; }
}
@media (max-width: 600px) {
  .cards, .dest, .steps, .values { grid-template-columns: 1fr; }
  .trainers { grid-template-columns: 1fr 1fr; gap: 14px; }
  .pg-hero::after { display: none; }
}

.dtr {
  --ground: #170703; --deep: #3c1307; --hot: #a35a24; --glow: #e9b071; --ink: #fff4e4;
  --ease: cubic-bezier(.23, 1, .32, 1);
  --gap: 14px;
  --pad: clamp(20px, 3.2vw, 48px);
  --navh: calc(90 * min(calc(100vw / 1672), calc(100vh / 941)));
  position: relative; isolation: isolate; overflow: hidden;
  height: max(640px, 100svh);
  padding-top: var(--navh);
  color: var(--ink);
  background: var(--ground);
}
.dtr-defs { position: absolute; width: 0; height: 0; overflow: hidden; }
.dtr-field {
  position: absolute; inset: 0; z-index: -2;
  background:
    radial-gradient(38vw 46vw at 100% 100%, var(--ground) 0%, color-mix(in srgb, var(--ground) 55%, var(--deep)) 72%, transparent 100%),
    radial-gradient(70% 62% at 66% 40%, var(--glow) 0%, var(--hot) 26%, color-mix(in srgb, var(--hot) 55%, var(--deep)) 48%, transparent 78%),
    radial-gradient(60% 90% at 22% 30%, color-mix(in srgb, var(--hot) 70%, var(--deep)) 0%, transparent 70%),
    linear-gradient(-98deg, var(--ground) 0%, var(--deep) 16%, transparent 42%),
    linear-gradient(0deg, var(--ground) 0%, color-mix(in srgb, var(--deep) 85%, transparent) 30%, transparent 62%),
    var(--deep);
}
.dtr-grain {
  position: absolute; inset: -50%; z-index: -1; pointer-events: none; opacity: .18; mix-blend-mode: overlay;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 1.6 -.35'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
  background-size: 220px 220px;
}
.dtr-in { position: relative; display: grid; grid-template-columns: minmax(0, 42fr) minmax(0, 58fr); height: 100%; }

.dtr-copy { position: relative; z-index: 5; display: flex; flex-direction: column; justify-content: flex-end; padding: var(--pad); padding-bottom: calc(var(--pad) + 30px); min-width: 0; }
.dtr-crumbs { position: absolute; top: var(--pad); right: var(--pad); margin: 0; justify-content: flex-start; color: rgba(255, 244, 228, .7); }
.dtr-crumbs a { color: rgba(255, 244, 228, .7); }
.dtr-crumbs a:hover { color: var(--ink); }
.dtr-title {
  margin: 0; font-weight: 700; line-height: 1.02; letter-spacing: -.01em; color: var(--ink);
  font-size: clamp(64px, 9.5vw, 190px);
  text-shadow: 0 .02em .14em rgba(23, 7, 3, .3);
  transform-origin: 100% 100%; transition: transform .3s var(--ease);
}
.dtr-eyebrow { display: block; font-size: .3em; line-height: 1.2; margin-bottom: .1em; color: var(--glow); }
.dtr-line { display: block; overflow: hidden; padding-bottom: .08em; margin-bottom: -.08em; }
.dtr-line > span { display: inline-block; animation: dtr-line-in 900ms var(--ease) both; animation-delay: calc(120ms + var(--i, 0) * 70ms); }
.dtr-intro { margin: 22px 0 0; max-width: 38ch; font-size: clamp(16px, 1.3vw, 19px); line-height: 1.7; color: rgba(255, 244, 228, .86); }
.dtr-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; margin-top: 26px; }
.dtr-cta {
  position: relative; overflow: hidden; display: inline-flex; align-items: center; gap: 12px;
  height: 50px; padding: 0 22px; border-radius: 999px;
  background: var(--ink); color: var(--deep); font-weight: 700; font-size: 16px;
  transition: transform .16s var(--ease);
}
.dtr-cta::before { content: ""; position: absolute; inset: 0; background: var(--glow); clip-path: inset(0 0 0 100%); transition: clip-path .28s var(--ease); }
.dtr-cta > span { position: relative; z-index: 1; }
.dtr-cta-arrow { transition: transform .26s var(--ease); }
.dtr-cta:hover::before { clip-path: inset(0 0 0 0); }
.dtr-cta:hover .dtr-cta-arrow { transform: translateX(-4px); }
.dtr-cta:active { transform: scale(.97); }
.dtr-link { font-weight: 600; font-size: 16px; color: var(--ink); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 6px; transition: text-underline-offset .22s var(--ease); }
.dtr-link:hover { text-underline-offset: 9px; }

.dtr-wall {
  position: relative; z-index: 1;
  display: grid; grid-template-columns: repeat(var(--cols, 3), minmax(0, 1fr)); gap: var(--gap);
  height: 100%; padding: 0 clamp(8px, 1vw, 16px) 0 var(--pad); overflow: hidden;
  -webkit-mask-image: linear-gradient(180deg, transparent 0, #000 6%, #000 94%, transparent 100%); mask-image: linear-gradient(180deg, transparent 0, #000 6%, #000 94%, transparent 100%);
}
.dtr-col { position: relative; min-width: 0; animation: dtr-rise 1100ms var(--ease) both; animation-delay: calc(var(--ci) * 90ms); }
.dtr-track { display: flex; flex-direction: column; will-change: transform; animation: dtr-up var(--dur) linear infinite; animation-delay: var(--phase); }
.dtr-col[data-dir="down"] .dtr-track { animation-name: dtr-down; }
.dtr[data-paused] .dtr-track, .dtr[data-active] .dtr-track, .dtr[data-offscreen] .dtr-track, .dtr-wall:focus-within .dtr-track,
.dtr[data-paused] .dtr-strip-track, .dtr[data-active] .dtr-strip-track, .dtr[data-offscreen] .dtr-strip-track, .dtr-strip:focus-within .dtr-strip-track { animation-play-state: paused; }

.dtr-card { position: relative; margin: 0 0 var(--gap); aspect-ratio: 3 / 4; border-radius: 6px; transition: transform .26s var(--ease); -webkit-tap-highlight-color: transparent; }
.dtr-card::after { content: ""; position: absolute; inset: 0; z-index: -1; border-radius: inherit; box-shadow: 0 2px 6px rgba(23, 7, 3, .4), 0 18px 44px -12px rgba(23, 7, 3, .85); opacity: 0; transition: opacity .26s; pointer-events: none; }
.dtr-photo { position: absolute; inset: 0; overflow: hidden; border-radius: inherit; background: var(--deep); transition: opacity .26s, filter .26s; }
.dtr-photo img { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; transform-origin: 50% 22%; transition: transform .3s var(--ease), opacity .3s; }
.dtr-photo .dtr-duo { filter: url(#dtrTone); }
.dtr-photo .dtr-true { opacity: 0; }
.dtr-hit { position: absolute; inset: 0; z-index: 1; margin: 0; padding: 0; border: 0; border-radius: inherit; background: transparent; cursor: default; }
.dtr-hit:focus-visible { outline: none; box-shadow: 0 0 0 2px var(--ground), 0 0 0 4px var(--ink); }
.dtr-chip, .dtr-panel { position: absolute; right: 12px; bottom: 12px; background: rgba(23, 7, 3, .92); color: var(--ink); border-radius: 6px; }
.dtr-chip { padding: 7px 11px; font-weight: 700; font-size: 13px; line-height: 1.2; white-space: nowrap; transition: opacity .16s; }
.dtr-panel { z-index: 2; left: 12px; padding: 12px 14px 13px; clip-path: inset(calc(100% - 32px) 0 0 calc(100% - 70px) round 6px); opacity: 0; visibility: hidden; pointer-events: none; transition: clip-path .2s var(--ease), opacity .1s .12s, visibility 0s linear .22s; }
.dtr-name { margin: 0; font-weight: 700; font-size: clamp(18px, 1.5vw, 22px); line-height: 1.25; }
.dtr-roleline { margin: 3px 0 0; font-size: 14px; color: rgba(255, 244, 228, .78); }
.dtr-card[data-on] { z-index: 3; transform: translateY(-6px) scale(1.02); }
.dtr-card[data-on]::after { opacity: 1; }
.dtr-card[data-on] .dtr-photo img { transform: scale(1.05); }
.dtr-card[data-on] .dtr-true { opacity: .78; }
.dtr-card[data-on] .dtr-chip { opacity: 0; transition-duration: 90ms; }
.dtr-card[data-on] .dtr-panel { clip-path: inset(0 0 0 0 round 6px); opacity: 1; visibility: visible; transition: clip-path .3s var(--ease), opacity 60ms, visibility 0s; }
.dtr[data-active] .dtr-card:not([data-on]) .dtr-photo { opacity: .42; filter: saturate(.7); }
.dtr[data-active] .dtr-card:not([data-on]) .dtr-chip { opacity: .5; }

.dtr-pause {
  position: absolute; left: var(--pad); bottom: 16px; z-index: 6;
  display: inline-flex; align-items: center; gap: 8px; height: 34px; padding: 0 14px;
  border: 0; border-radius: 999px; box-shadow: inset 0 0 0 1px rgba(255, 244, 228, .32);
  background: rgba(23, 7, 3, .85); color: var(--ink); font: 600 13px/1 inherit; cursor: pointer;
}
.dtr-pause i { display: inline-block; width: 8px; height: 9px; border-left: 3px solid currentColor; border-right: 3px solid currentColor; }
.dtr[data-paused] .dtr-pause i { width: 0; height: 0; border-right: 0; border-left: 8px solid currentColor; border-top: 4.5px solid transparent; border-bottom: 4.5px solid transparent; }

.dtr-strip { display: none; }
@media (max-width: 700px) {
  .dtr { height: auto; padding-top: 64px; }
  .dtr-in { display: flex; flex-direction: column; height: auto; }
  .dtr-wall { display: none; }
  .dtr-strip { display: block; order: -1; overflow: hidden; padding: 20px 0 4px; direction: ltr; -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 6%, #000 94%, transparent 100%); mask-image: linear-gradient(90deg, transparent 0, #000 6%, #000 94%, transparent 100%); }
  .dtr-strip-track { display: flex; width: max-content; padding-left: 20px; will-change: transform; animation: dtr-left var(--sdur, 40s) linear infinite; }
  .dtr-strip .dtr-card { width: clamp(160px, 52vw, 230px); margin: 0 10px 0 0; flex: none; direction: rtl; }
  .dtr-copy { padding: 18px 20px 30px; }
  .dtr-crumbs { position: static; margin-bottom: 10px; }
  .dtr-title { font-size: clamp(54px, 17vw, 90px); }
  .dtr-pause { position: static; margin: 0 20px 24px auto; }
}
@media (max-width: 1000px) and (min-width: 701px) { .dtr-in { grid-template-columns: 1fr 1fr; } }

@keyframes dtr-up { from { transform: translate3d(0, 0, 0); } to { transform: translate3d(0, -50%, 0); } }
@keyframes dtr-down { from { transform: translate3d(0, -50%, 0); } to { transform: translate3d(0, 0, 0); } }
@keyframes dtr-left { from { transform: translate3d(0, 0, 0); } to { transform: translate3d(calc(-50% + 10px), 0, 0); } }
@keyframes dtr-rise { from { opacity: 0; transform: translate3d(0, 56px, 0); } to { opacity: 1; transform: none; } }
@keyframes dtr-line-in { from { transform: translate3d(0, 104%, 0); } to { transform: none; } }
@media (prefers-reduced-motion: reduce) {
  .dtr-track, .dtr-strip-track, .dtr-col, .dtr-line > span { animation: none; }
  .dtr-card, .dtr-panel { transition-duration: 1ms; }
  .dtr-card[data-on], .dtr-card[data-on] .dtr-photo img { transform: none; }
  .dtr-pause { display: none; }
}

.pg-hero {
  --ground: #170703; --deep: #3c1307; --hot: #a35a24; --glow: #e9b071; --ink: #fff4e4;
  isolation: isolate;
  min-height: min(82vh, 820px);
  display: flex; align-items: flex-end;
  padding: 140px 0 clamp(48px, 6vw, 90px);
  border-bottom: 0;
  text-align: right;
  color: var(--ink);
  background:
    radial-gradient(38vw 46vw at 0% 100%, var(--ground) 0%, color-mix(in srgb, var(--ground) 55%, var(--deep)) 72%, transparent 100%),
    radial-gradient(70% 70% at 30% 35%, var(--glow) 0%, var(--hot) 24%, color-mix(in srgb, var(--hot) 55%, var(--deep)) 48%, transparent 78%),
    linear-gradient(98deg, var(--ground) 0%, var(--deep) 18%, transparent 44%),
    linear-gradient(0deg, var(--ground) 0%, color-mix(in srgb, var(--deep) 85%, transparent) 30%, transparent 62%),
    var(--deep);
}
.pg-hero::before {
  content: ""; position: absolute; inset: -50%; z-index: -1; pointer-events: none; opacity: .18; mix-blend-mode: overlay;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 1.6 -.35'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
  background-size: 220px 220px;
}
.pg-hero::after { left: auto; right: auto; inset-inline-end: -60px; bottom: -80px; width: clamp(260px, 30vw, 460px); background: linear-gradient(160deg, #e9b071, #a35a24); opacity: .12; }
.pg-hero .wrap { position: relative; }
.pg-hero .crumbs { position: absolute; top: -40px; right: 0; justify-content: flex-start; margin: 0; }
.pg-hero .crumbs, .pg-hero .crumbs a { color: rgba(255, 244, 228, .7); }
.pg-hero .crumbs a:hover { color: var(--ink); }
.pg-hero .pg-eyebrow { color: var(--glow); }
.pg-hero .pg-eyebrow::after { display: none; }
.pg-hero h1 { margin-top: 10px; font-size: clamp(64px, 10.5vw, 210px); line-height: 1; letter-spacing: -.01em; color: var(--ink); text-shadow: 0 .02em .14em rgba(23, 7, 3, .3); }
.pg-hero .pg-lead { margin: 22px 0 0; color: rgba(255, 244, 228, .85); text-wrap: pretty; }
.ln { display: block; overflow: hidden; padding-bottom: .08em; margin-bottom: -.08em; }
.ln > span { display: inline-block; animation: dtr-line-in 900ms cubic-bezier(.23, 1, .32, 1) both; }
.ln + .ln > span { animation-delay: 90ms; }

.chapter {
  --ground: #170703; --deep: #3c1307; --hot: #a35a24; --glow: #e9b071; --ink: #fff4e4;
  position: relative; isolation: isolate; overflow: hidden;
  min-height: 100svh; display: flex; align-items: center;
  padding: 120px 0 80px;
  color: var(--ink);
}
.chapter-field {
  position: absolute; inset: 0; z-index: -2;
  background:
    radial-gradient(60% 70% at 72% 45%, var(--glow) 0%, var(--hot) 22%, color-mix(in srgb, var(--hot) 50%, var(--deep)) 46%, transparent 76%),
    linear-gradient(-98deg, var(--ground) 0%, var(--deep) 16%, transparent 42%),
    linear-gradient(0deg, var(--ground) 0%, transparent 40%),
    var(--deep);
}
.chapter.is-alt .chapter-field { background: radial-gradient(60% 70% at 28% 45%, var(--glow) 0%, var(--hot) 22%, color-mix(in srgb, var(--hot) 50%, var(--deep)) 46%, transparent 76%), linear-gradient(98deg, var(--ground) 0%, var(--deep) 16%, transparent 42%), linear-gradient(0deg, var(--ground) 0%, transparent 40%), var(--deep); }
.chapter .dtr-grain { position: absolute; inset: -50%; z-index: -1; }
.chapter-in { display: grid; grid-template-columns: 1.1fr .9fr; gap: clamp(30px, 5vw, 80px); align-items: center; }
.chapter.is-alt .chapter-photo { order: -1; }
.chapter-kicker { display: flex; align-items: center; gap: 14px; margin: 0; font-weight: 600; font-size: clamp(14px, 1.2vw, 17px); color: var(--glow); }
.chapter-kicker b { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; border: 1.5px solid var(--glow); font-size: 15px; direction: ltr; }
.chapter-title { margin: 14px 0 0; font-weight: 700; font-size: clamp(70px, 10vw, 190px); line-height: 1; letter-spacing: -.01em; color: var(--ink); text-shadow: 0 .02em .14em rgba(23, 7, 3, .3); }
.chapter-tag { margin: 18px 0 0; font-weight: 600; font-size: clamp(19px, 1.9vw, 28px); line-height: 1.5; color: var(--glow); }
.chapter-text { margin: 16px 0 0; max-width: 620px; font-size: clamp(15.5px, 1.25vw, 18.5px); line-height: 1.95; color: rgba(255, 244, 228, .82); }
.chapter .chips { margin-top: 24px; }
.chapter .chip { background: rgba(255, 244, 228, .1); border-color: rgba(233, 176, 113, .45); color: var(--ink); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.chapter .chip svg { stroke: var(--glow); }
.chapter-photo { position: relative; margin: 0; aspect-ratio: 4 / 5; border-radius: 26px; overflow: hidden; box-shadow: 0 40px 80px -30px rgba(10, 3, 1, .8), 0 0 0 1px rgba(255, 244, 228, .12); }
.chapter-photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: opacity .5s, transform 1.2s cubic-bezier(.2, .7, .2, 1); }
.chapter-photo .duo { filter: url(#dtrTone); }
.chapter-photo .true { opacity: 0; }
.chapter-photo:hover .true { opacity: .85; }
.chapter-photo:hover img { transform: scale(1.04); }
.chapter-body { padding-top: clamp(50px, 6vw, 80px); }
.chapter-body .sub-title:first-child, .chapter-body .wrap > .quote-band:first-child { margin-top: 0; }

.hscroll { position: relative; }
.hs-track {
  display: flex; gap: 18px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth;
  padding: 6px 2px 24px; scrollbar-width: none; cursor: grab; outline: none;
}
.hs-track::-webkit-scrollbar { display: none; }
.hs-track.is-dragging { cursor: grabbing; scroll-snap-type: none; scroll-behavior: auto; }
.hs-track.is-dragging * { user-select: none; pointer-events: none; }
.hs-card {
  --ground: #170703; --deep: #3c1307; --hot: #a35a24; --glow: #e9b071; --ink: #fff4e4;
  position: relative; overflow: hidden; isolation: isolate; flex: 0 0 clamp(270px, 32vw, 420px); min-height: 320px; scroll-snap-align: start;
  display: flex; flex-direction: column; justify-content: flex-end;
  padding: 32px 30px; border-radius: 26px; color: var(--ink);
  background: radial-gradient(90% 80% at 80% 10%, color-mix(in srgb, var(--hot) 75%, var(--deep)) 0%, var(--deep) 55%, var(--ground) 100%);
  box-shadow: 0 30px 50px -30px rgba(23, 7, 3, .7);
  transition: transform .4s cubic-bezier(.2, .7, .2, 1);
}
.hs-card:hover { transform: translateY(-6px); }
.hs-num { position: absolute; top: 18px; left: 24px; z-index: -1; font-weight: 700; font-size: 110px; line-height: 1; color: rgba(255, 244, 228, .08); direction: ltr; transition: color .4s, transform .6s cubic-bezier(.2, .7, .2, 1); }
.hs-card:hover .hs-num { color: rgba(233, 176, 113, .22); transform: translateY(-6px); }
.hs-card h3 { margin: 0; font-weight: 700; font-size: clamp(24px, 2.2vw, 32px); color: var(--ink); }
.hs-card h3::after { content: ""; display: block; width: 40px; height: 2px; margin-top: 14px; background: var(--glow); transition: width .4s; }
.hs-card:hover h3::after { width: 80px; }
.hs-card p { margin: 14px 0 0; font-size: 16px; line-height: 1.85; color: rgba(255, 244, 228, .8); }
.hs-nav { display: flex; gap: 10px; justify-content: flex-start; margin-top: 4px; }
.hs-nav button { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 50%; border: 1.5px solid #dcc7ae; background: #fff; color: var(--t-text); cursor: pointer; transition: background .25s, color .25s, border-color .25s; }
.hs-nav button:hover { background: #3c1307; border-color: #3c1307; color: #fff; }
.hs-nav svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }

.days::after { content: ""; position: absolute; right: 27px; top: 10px; width: 2px; height: calc((100% - 20px) * var(--p, 0)); background: linear-gradient(#e9b071, #3c1307); border-radius: 2px; }
.days .d { background: #eadccd; color: var(--t-icon); transition: background .5s, color .5s, box-shadow .5s, transform .5s cubic-bezier(.2, .7, .2, 1); }
.days .body { opacity: .55; transition: opacity .6s, border-color .6s, box-shadow .6s, transform .6s cubic-bezier(.2, .7, .2, 1); }
.days > li.is-lit .d { background: #3c1307; color: #fff; box-shadow: 0 0 0 6px var(--cream), 0 0 0 9px rgba(233, 176, 113, .55); transform: scale(1.06); }
.days > li.is-lit .body { opacity: 1; border-color: #e2cdb3; box-shadow: 0 20px 40px -26px rgba(70, 35, 15, .45); }
.days:not(.js-days) .body { opacity: 1; }

@media (max-width: 900px) {
  .pg-hero { min-height: 70vh; padding-top: 110px; }
  .pg-hero .crumbs { position: static; margin-bottom: 14px; }
  .chapter { min-height: 0; padding: 100px 0 60px; }
  .chapter-in { grid-template-columns: 1fr; }
  .chapter.is-alt .chapter-photo { order: 0; }
  .chapter-photo { max-width: 460px; width: 100%; }
}
@media (prefers-reduced-motion: reduce) { .ln > span { animation: none; } }

.tdir { padding: clamp(60px, 7vw, 100px) 0 clamp(70px, 8vw, 110px); background: var(--cream, #FCF8F5); }
.tdir .sec-head p { max-width: 820px; margin-inline: auto; }
.tdir-tools { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px 20px; margin-bottom: 34px; }
.tdir-filters { display: flex; flex-wrap: wrap; gap: 10px; }
.tf {
  display: inline-flex; align-items: center; gap: 8px;
  height: 44px; padding: 0 18px; border-radius: 999px;
  border: 1px solid #e6d8c8; background: #fff; color: var(--t-text);
  font: inherit; font-weight: 600; font-size: 15px; cursor: pointer;
  transition: background .25s, color .25s, border-color .25s, transform .2s;
}
.tf svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.tf:hover { border-color: #c49a66; transform: translateY(-1px); }
.tf.is-on { background: #3c1307; border-color: #3c1307; color: #fff; }
.tdir-search { position: relative; flex: 0 1 300px; }
.tdir-search input {
  width: 100%; height: 48px; padding: 0 18px 0 46px; border-radius: 14px;
  border: 1px solid #e6d8c8; background: #fff; font: inherit; font-size: 15.5px; color: var(--t-text);
}
.tdir-search input:focus { outline: none; border-color: #b8916b; box-shadow: 0 0 0 3px rgba(184, 145, 107, .18); }
.tdir-search svg { position: absolute; left: 16px; top: 50%; width: 20px; height: 20px; transform: translateY(-50%); fill: none; stroke: var(--t-icon); stroke-width: 1.8; stroke-linecap: round; }

.tdir-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 22px; }
.tc {
  display: flex; flex-direction: column;
  border-radius: 22px; overflow: hidden;
  background: #fff; border: 1px solid #efe3d6;
  box-shadow: 0 18px 40px -28px rgba(70, 35, 15, .45);
  transition: transform .4s cubic-bezier(.2, .7, .2, 1), box-shadow .4s;
}
.tc[hidden] { display: none; }
.tc:hover { transform: translateY(-6px); box-shadow: 0 30px 56px -30px rgba(70, 35, 15, .55); }
.tc-ph { position: relative; aspect-ratio: 16 / 10; overflow: hidden; background: #3c1307; }
.tc-ph img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 22%; transition: opacity .5s, transform 1s cubic-bezier(.2, .7, .2, 1); }
.tc-ph .duo { filter: url(#dtrTone); }
.tc-ph .true { opacity: 0; }
.tc:hover .tc-ph .true { opacity: .9; }
.tc:hover .tc-ph img { transform: scale(1.05); }
.tc-wave { position: absolute; left: 0; right: 0; bottom: -1px; width: 100%; height: 30px; fill: #fff; }
.tc-body { flex: 1; padding: 6px 22px 0; }
.tc h3 { margin: 0; font-weight: 700; font-size: 19px; line-height: 1.45; color: var(--t-text); }
.tc-role { margin: 6px 0 0; font-size: 14px; line-height: 1.7; color: var(--t-icon); font-weight: 600; }
.tc-bio { margin: 12px 0 0; font-size: 15px; line-height: 1.85; color: var(--t-soft); }
.tc-tags { display: flex; flex-wrap: wrap; gap: 6px; margin: 14px 0 0; }
.tc-tags span { padding: 5px 12px; border-radius: 999px; background: #f5ebe0; font-size: 13px; font-weight: 600; color: #5a2a12; }
.tc-foot { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 18px 22px 22px; }
.tc-open {
  display: inline-flex; align-items: center; gap: 10px;
  height: 42px; padding: 0 18px; border: 0; border-radius: 999px;
  background: #230a02; color: #fff; font: inherit; font-weight: 600; font-size: 14.5px; cursor: pointer;
  transition: background .25s;
}
.tc-open svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; transition: transform .25s; }
.tc-open:hover { background: #230a02; }
.tc-open:hover svg { transform: translateX(-3px); }
.tc-share { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 50%; border: 1px solid #e6d8c8; background: #fff; color: #5a2a12; cursor: pointer; transition: background .25s, color .25s; }
.tc-share svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.tc-share:hover { background: #3c1307; color: #fff; }
.tc-share.is-copied { background: #3f6b3a; border-color: #3f6b3a; color: #fff; }
.tdir-empty { margin: 30px 0 0; text-align: center; font-size: 17px; color: var(--t-icon); }

.tc-dialog { width: min(820px, 100% - 32px); max-height: min(86vh, 760px); padding: 0; border: 0; border-radius: 26px; background: #fff; color: var(--t-text); box-shadow: 0 40px 100px -30px rgba(23, 7, 3, .7); }
.tc-dialog::backdrop { background: rgba(23, 7, 3, .55); -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); }
.tc-dialog[open] { animation: tcd-in .35s cubic-bezier(.2, .7, .2, 1); }
@keyframes tcd-in { from { opacity: 0; transform: translateY(16px) scale(.98); } to { opacity: 1; transform: none; } }
.tcd-in { position: relative; display: grid; grid-template-columns: 280px 1fr; }
.tcd-ph { min-height: 100%; background: #3c1307; }
.tcd-ph img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 22%; }
.tcd-body { padding: 34px 32px 32px; overflow: auto; max-height: min(86vh, 760px); }
.tcd-body h3 { margin: 0; font-weight: 700; font-size: 26px; line-height: 1.35; color: var(--t-text); }
.tcd-more ul { margin: 20px 0 0; padding: 0 20px 0 0; font-size: 16px; line-height: 1.95; color: #43372f; }
.tcd-more li::marker { color: #c49a66; }
.tc-values { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 22px 0 0; padding-top: 18px; border-top: 1px solid #efe3d6; }
.tc-values b { width: 100%; margin-bottom: 4px; font-size: 15px; color: var(--t-icon); }
.tc-values span { padding: 6px 14px; border-radius: 999px; background: #3c1307; color: #fff4e4; font-size: 14px; font-weight: 600; }
.tcd-close { position: absolute; top: 14px; left: 14px; z-index: 2; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; border: 0; background: rgba(255, 255, 255, .92); color: var(--t-text); cursor: pointer; box-shadow: 0 6px 16px -6px rgba(0, 0, 0, .35); }
.tcd-close svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; }
@media (max-width: 700px) {
  .tdir-search { flex-basis: 100%; }
  .tdir-filters { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 4px; scrollbar-width: none; }
  .tf { flex: none; }
  .tcd-in { grid-template-columns: 1fr; }
  .tcd-ph { height: 220px; }
  .tcd-body { max-height: none; padding: 24px 22px; }
  .tc-dialog { overflow: auto; }
}

.tdir > .wrap { width: min(1480px, 100% - 40px); }
.tdir-tools { flex-wrap: nowrap; gap: 20px; }
.tdir-filters { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; gap: 8px; padding: 4px 2px; }
.tdir-filters::-webkit-scrollbar { display: none; }
.tf { flex: none; height: 42px; padding: 0 16px; font-size: 14.5px; gap: 7px; }
.tdir-search { flex: 0 0 300px; }
.tdir-search input { height: 46px; border-radius: 12px; }
.tdir-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
.tc { border-radius: 18px; }
.tc-ph { aspect-ratio: 16 / 9; }
.tc-ph .duo { display: none; }
.tc-ph .true { opacity: 1; }
.tc:hover .tc-ph .true { opacity: 1; }
.tc-body { padding: 4px 22px 0; }
.tc h3 { font-size: 18px; line-height: 1.4; }
.tc-role { margin-top: 4px; font-size: 13.5px; line-height: 1.6; color: #6f5a4a; font-weight: 500; }
.tc-bio { margin-top: 10px; font-size: 14px; line-height: 1.75; color: #3d3029;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.tc-tags { margin-top: 12px; gap: 6px; }
.tc-tags span { padding: 4px 11px; font-size: 12.5px; }
.tc-foot { padding: 16px 22px 20px; }
.tc-open { height: 38px; padding: 0 16px; font-size: 13.5px; }
.tc-share { width: 38px; height: 38px; border: 0; background: transparent; }
.tc-share:hover { background: #f5ebe0; color: var(--t-text); }
@media (max-width: 1200px) { .tdir-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 900px) { .tdir-tools { flex-wrap: wrap; } .tdir-search { flex: 1 1 100%; } .tdir-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .tdir-grid { grid-template-columns: 1fr; } }

.rq { --rq-dk: #2a0f05; --rq-br: #3c1307; --rq-gold: #c9965e; --rq-paper: #f5e9d6; --rq-ink: var(--t-text);
  position: relative; background: var(--bg); overflow-x: clip; scroll-margin-top: 70px; }
.rq svg { fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }

.rq-hero { position: relative; display: grid; grid-template-columns: minmax(380px, 42%) 1fr; min-height: clamp(460px, 42vw, 620px);
  background: #2f0f05; }
.rq-hero-copy { order: -1; position: relative; z-index: 1; display: flex; flex-direction: column; justify-content: center;
  padding: clamp(90px, 8vw, 120px) clamp(28px, 4.5vw, 72px) clamp(110px, 9vw, 150px);
  color: #f6e7d3; }
.rq-hero-photo { position: absolute; top: 0; bottom: 0; left: 0; right: 35%; overflow: hidden;
  -webkit-mask-image: linear-gradient(270deg, transparent 0%, rgba(0, 0, 0, .04) 3%, rgba(0, 0, 0, .12) 7%, rgba(0, 0, 0, .25) 11%, rgba(0, 0, 0, .42) 15%, rgba(0, 0, 0, .6) 19%, rgba(0, 0, 0, .76) 23%, rgba(0, 0, 0, .89) 27%, rgba(0, 0, 0, .97) 31%, #000 34%); mask-image: linear-gradient(270deg, transparent 0%, rgba(0, 0, 0, .04) 3%, rgba(0, 0, 0, .12) 7%, rgba(0, 0, 0, .25) 11%, rgba(0, 0, 0, .42) 15%, rgba(0, 0, 0, .6) 19%, rgba(0, 0, 0, .76) 23%, rgba(0, 0, 0, .89) 27%, rgba(0, 0, 0, .97) 31%, #000 34%);; }
.rq-hero-photo img { position: absolute; top: 0; left: 0; width: 110%; max-width: none; height: 100%; object-fit: cover; object-position: 35% 60%;
  }
.rq-hero-photo::after { content: ""; position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(270deg, rgba(47, 15, 5, .45) 0%, rgba(47, 15, 5, .3) 25%, rgba(47, 15, 5, .12) 40%, rgba(47, 15, 5, 0) 55%); }
.rq-badge { align-self: flex-start; margin: 0; padding: 6px 18px; border-radius: 999px; border: 1px solid rgba(201, 150, 94, .6); color: var(--rq-gold); font-weight: 600; font-size: 15px; }
.rq-hero h2 { display: flex; align-items: center; gap: 16px; margin: 18px 0 0; font-weight: 700; font-size: clamp(44px, 5vw, 78px); line-height: 1.15; color: #fff4e6; }
.rq-castle { flex: none; width: clamp(44px, 4.4vw, 66px); height: auto; color: var(--rq-gold); stroke-width: 2; }
.rq-tag { margin: 12px 0 0; font-size: clamp(18px, 1.6vw, 24px); font-weight: 500; color: var(--rq-gold); }
.rq-intro { margin: 18px 0 0; max-width: 620px; font-size: clamp(15.5px, 1.15vw, 18px); line-height: 1.95; color: #e9d6bf; }
.rq-feats { display: grid; grid-template-columns: repeat(4, 1fr); margin: clamp(28px, 3vw, 44px) 0 0; padding: 0; list-style: none; }
.rq-feats li { display: flex; flex-direction: column; align-items: center; gap: 10px; padding: 0 8px; text-align: center; font-size: 14.5px; font-weight: 600; color: #f0dcc4; }
.rq-feats li + li { border-inline-start: 1px solid rgba(201, 150, 94, .28); }
.rq-feats svg { width: 34px; height: 34px; color: var(--rq-gold); stroke-width: 1.4; }

.rq-scroll { position: relative; z-index: 2; margin-top: clamp(-110px, -7vw, -60px); padding: 0 clamp(0px, 3vw, 50px); }
.rq-scroll-paper { position: relative; display: grid; grid-template-columns: minmax(220px, 34%) 1fr; align-items: center; gap: clamp(20px, 3vw, 48px);
  min-height: 300px; padding: clamp(34px, 3.4vw, 52px) clamp(28px, 4vw, 64px); overflow: hidden;
  background: radial-gradient(120% 90% at 50% 0%, #fbf3e6, var(--rq-paper) 60%, #ead6b9);
  border-radius: 6px; box-shadow: 0 30px 60px -36px rgba(60, 19, 7, .55), inset 0 0 40px rgba(160, 110, 60, .18); }
.rq-scroll::before, .rq-scroll::after {
  content: ""; position: absolute; z-index: 1; top: -10px; bottom: -10px; width: 26px; border-radius: 14px;
  background: linear-gradient(90deg, #c9a679, #f3e3c8 40%, #d8b98f 70%, #a9824f); box-shadow: 0 10px 20px -10px rgba(60, 19, 7, .5); }
.rq-scroll::before { right: calc(clamp(0px, 3vw, 50px) - 13px); }
.rq-scroll::after { left: calc(clamp(0px, 3vw, 50px) - 13px); }
.rq-scroll-text { position: relative; z-index: 1; padding-inline: 14px; }
.rq-scroll-text h3 { margin: 14px 0 0; font-weight: 700; font-size: clamp(26px, 2.4vw, 38px); line-height: 1.3; color: var(--rq-ink); }
.rq-scroll-text p:not(.rq-pill) { margin: 12px 0 0; max-width: 640px; font-size: clamp(16px, 1.3vw, 19px); line-height: 1.95; color: #4f3a2c; }
.rq-scroll-boy { order: -1; position: relative; z-index: 1; align-self: stretch; min-height: 240px; border-radius: 18px; overflow: hidden; }
.rq-scroll-boy img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 30%;
  -webkit-mask-image: radial-gradient(75% 80% at 50% 50%, #000 55%, transparent 100%); mask-image: radial-gradient(75% 80% at 50% 50%, #000 55%, transparent 100%); }
.rq-scroll-sketch { position: absolute; left: 4%; bottom: 0; width: 46%; height: 90px; color: #b48a5c; opacity: .45; stroke-width: 1.2; pointer-events: none; }

#rihlat .rq-hero-copy { padding-bottom: clamp(90px, 8vw, 120px); }
.rq-scroll.is-plain { margin-top: 0; padding: clamp(56px, 6vw, 90px) clamp(0px, 3vw, 50px) 0; }
.rq-scroll.is-plain::before, .rq-scroll.is-plain::after { display: none; }
.rq-scroll.is-plain .rq-scroll-paper { min-height: 0; padding: 0; overflow: visible; background: none; border-radius: 0; box-shadow: none; }

.rq-pill { display: inline-flex; align-items: center; gap: 8px; margin: 0; padding: 6px 16px; border-radius: 999px; background: #ecd9bf; color: #5a2a12; font-weight: 600; font-size: 15px; }
.rq-pill svg { width: 18px; height: 18px; }
.rq-pill.is-light { background: rgba(201, 150, 94, .18); color: var(--rq-gold); }

.rq-head { margin-top: clamp(64px, 7vw, 100px); }
.rq-goals { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.rq-goals article { display: flex; align-items: center; gap: 18px; padding: 22px 24px; border-radius: 18px; background: #fff; border: 1px solid #efe3d6;
  box-shadow: 0 16px 34px -28px rgba(70, 35, 15, .45); transition: transform .35s cubic-bezier(.2, .7, .2, 1), border-color .35s; }
.rq-goals article:hover { transform: translateY(-4px); border-color: #dcc2a2; }
.rq-goals svg { flex: none; width: 54px; height: 54px; padding: 13px; border-radius: 50%; background: #f5ebe0; color: var(--t-icon); }
.rq-goals p { margin: 0; font-size: 16px; line-height: 1.8; font-weight: 500; color: var(--t-text); }

.rq-dests { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; }
.rq-dests article { position: relative; display: flex; flex-direction: column; align-items: center; padding-bottom: 24px; border-radius: 20px; overflow: hidden; background: #fff; border: 1px solid #efe3d6; text-align: center;
  box-shadow: 0 18px 40px -30px rgba(70, 35, 15, .5); transition: transform .4s cubic-bezier(.2, .7, .2, 1); }
.rq-dests article:hover { transform: translateY(-6px); }
.rq-dests .ph { position: relative; width: 100%; aspect-ratio: 4 / 3; overflow: hidden; background: var(--rq-br); }
.rq-dests .ph img { width: 100%; height: 100%; object-fit: cover; transition: transform 1s cubic-bezier(.2, .7, .2, 1); }
.rq-dests article:hover .ph img { transform: scale(1.06); }
.rq-dests .ic { position: relative; display: grid; place-items: center; width: 58px; height: 58px; margin-top: -29px; border-radius: 50%; background: var(--rq-br); color: #f3d9b5; border: 4px solid #fff; }
.rq-dests .ic svg { width: 26px; height: 26px; }
.rq-dests h3 { margin: 12px 0 0; padding: 0 18px; font-weight: 700; font-size: 19px; color: var(--rq-ink); }
.rq-dests p { margin: 8px 0 0; padding: 0 20px; font-size: 14.5px; line-height: 1.85; color: var(--t-soft); }
.rq-route { position: relative; height: 60px; margin: 22px 0 0; color: #c49a66; }
.rq-route svg { position: absolute; inset: 0; width: 100%; height: 100%; stroke-dasharray: 7 9; stroke-width: 2; }
.rq-route svg path { vector-effect: non-scaling-stroke; }
.rq-route i { position: absolute; top: 50%; right: var(--x); width: 14px; height: 14px; margin: -7px -7px 0 0; border-radius: 50%; background: var(--rq-br); box-shadow: 0 0 0 4px var(--bg), 0 0 0 5px #c49a66; }
.rq-route .flag { position: absolute; left: 0; top: 2px; width: 3px; height: 30px; background: var(--rq-br); }
.rq-route .flag::after { content: ""; position: absolute; left: 3px; top: 0; width: 20px; height: 13px; background: #a35a24; clip-path: polygon(0 0, 100% 50%, 0 100%); }

.rq-skyline { height: clamp(70px, 8vw, 130px); margin-top: clamp(30px, 4vw, 60px); line-height: 0; }
.rq-skyline svg { width: 100%; height: 100%; fill: var(--rq-dk); stroke: none; }
.rq-message { padding: clamp(40px, 5vw, 70px) 0 clamp(70px, 8vw, 110px); background: var(--rq-dk); color: #f6e7d3; text-align: center; }
.rq-message blockquote { position: relative; max-width: 900px; margin: 22px auto 0; padding: 0 clamp(40px, 6vw, 90px); font-weight: 700; font-size: clamp(24px, 2.8vw, 42px); line-height: 1.6; color: #fff4e6; }
.rq-message blockquote::before, .rq-message blockquote::after { position: absolute; font-family: Georgia, serif; font-size: 2.6em; line-height: 1; color: var(--rq-gold); opacity: .8; }
.rq-message blockquote::before { content: "\201D"; right: 0; top: -.15em; }
.rq-message blockquote::after { content: "\201C"; left: 0; bottom: -.55em; }

@media (max-width: 1100px) {
  .rq-feats { grid-template-columns: repeat(2, 1fr); row-gap: 22px; }
  .rq-feats li:nth-child(3) { border-inline-start: 0; }
  .rq-goals { grid-template-columns: repeat(2, 1fr); }
  .rq-dests { grid-template-columns: repeat(2, 1fr); }
  .rq-route { display: none; }
}
@media (max-width: 800px) {
  .rq-hero-photo { position: relative; inset: auto; order: -2; height: 260px; }
  .rq-hero-photo { -webkit-mask-image: none; mask-image: none; }
  .rq-hero-photo img { width: 100%; }
  .rq-hero { grid-template-columns: 1fr; }
  .rq-hero-photo::after { background: linear-gradient(0deg, #2f0f05 0%, rgba(47, 15, 5, .6) 25%, rgba(47, 15, 5, 0) 55%); }
  .rq-hero-copy { padding: 34px 22px 100px; }
  .rq-scroll { padding: 0; }
  .rq-scroll::before, .rq-scroll::after { display: none; }
  .rq-scroll-paper { grid-template-columns: 1fr; padding: 26px 20px; }
  .rq-scroll-boy { min-height: 200px; }
  .rq-scroll-text { padding: 0; }
  .rq-goals, .rq-dests { grid-template-columns: 1fr; }
}

.kf-hero { position: relative; isolation: isolate; min-height: clamp(480px, 40vw, 600px); display: flex; align-items: center; color: #f6e7d3; overflow: hidden; background: var(--rq-dk); }
.kf-hero-photo { position: absolute; inset: 0; z-index: -1; }
.kf-hero-photo img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 55%; }
.kf-hero-photo::after { content: ""; position: absolute; inset: 0;
  background: linear-gradient(270deg, rgba(42, 15, 5, .92) 0%, rgba(42, 15, 5, .78) 38%, rgba(42, 15, 5, .25) 70%, rgba(42, 15, 5, .1)), linear-gradient(0deg, rgba(42, 15, 5, .7), transparent 40%); }
.kf-hero-in { display: flex; flex-direction: column; align-items: flex-start; padding: clamp(110px, 9vw, 140px) 0; }
.kf-hero h2 { display: flex; align-items: center; gap: 16px; margin: 16px 0 0; font-weight: 700; font-size: clamp(44px, 5vw, 78px); line-height: 1.15; color: #fff4e6; }
.kf-slogan { margin: 12px 0 0; font-size: clamp(16px, 1.45vw, 21px); font-weight: 500; color: #f0d6b4; }
.kf-facts { display: flex; flex-wrap: wrap; gap: 14px; margin: clamp(26px, 3vw, 40px) 0 0; padding: 0; list-style: none; }
.kf-facts li { display: flex; align-items: center; gap: 12px; padding: 12px 18px; border-radius: 16px; background: #fbf4ea; color: var(--rq-ink); box-shadow: 0 14px 30px -18px rgba(0, 0, 0, .6); }
.kf-facts svg { width: 30px; height: 30px; color: var(--t-icon); stroke-width: 1.5; }
.kf-facts span { display: flex; flex-direction: column; font-weight: 700; font-size: 16px; line-height: 1.4; }
.kf-facts small { font-size: 13px; font-weight: 600; color: var(--t-icon); }

.kf-goals { display: flex; flex-wrap: wrap; justify-content: center; gap: 18px; }
.kf-goals article { flex: 0 1 calc(25% - 14px); min-width: 230px; display: flex; flex-direction: column; align-items: center; gap: 12px; padding: 24px 20px; text-align: center;
  border-radius: 18px; background: #fbf3e8; border: 1px solid #efdfcb; box-shadow: 0 16px 34px -28px rgba(70, 35, 15, .45); transition: transform .35s cubic-bezier(.2, .7, .2, 1), border-color .35s; }
.kf-goals article:hover { transform: translateY(-4px); border-color: #dcc2a2; }
.kf-goals svg { width: 44px; height: 44px; color: var(--t-icon); stroke-width: 1.4; }
.kf-goals p { margin: 0; font-size: 16px; line-height: 1.75; font-weight: 600; color: var(--t-text); }

.kf-days { position: relative; margin-top: clamp(70px, 7vw, 100px); padding: 56px clamp(18px, 3vw, 44px) 30px; border-radius: 8px;
  background: radial-gradient(120% 70% at 50% 0%, #fbf3e6, var(--rq-paper) 55%, #ecd8bb);
  box-shadow: 0 30px 60px -36px rgba(60, 19, 7, .55), inset 0 0 50px rgba(160, 110, 60, .2); }
.kf-days-tab { position: absolute; top: 0; left: 50%; transform: translate(-50%, -50%); display: inline-flex; align-items: center; gap: 12px; margin: 0; padding: 12px 30px;
  border-radius: 999px; background: linear-gradient(180deg, #5a2a12, var(--rq-br)); color: #fff4e6; font-weight: 700; font-size: clamp(18px, 1.6vw, 23px); white-space: nowrap; box-shadow: 0 14px 30px -14px rgba(60, 19, 7, .7); }
.kf-days-tab svg { width: 24px; height: 24px; color: #e2b98a; }
.kf-days ol { position: relative; margin: 0; padding: 0; list-style: none; }
.kf-days ol::before {
  content: ""; position: absolute; top: 40px; bottom: 40px; right: 92px; border-right: 2px dashed #c49a66; }
.kf-days ol > li { position: relative; display: grid; grid-template-columns: 70px minmax(170px, .9fr) 1.5fr 1fr 1fr; align-items: center; gap: clamp(14px, 2vw, 28px); padding: 20px 0; }
.kf-days ol > li + li { border-top: 1px solid rgba(140, 95, 64, .2); }
.kf-days ol > li::before { content: ""; position: absolute; right: 87px; top: 50%; width: 12px; height: 12px; margin-top: -6px; border-radius: 50%; background: var(--rq-br); box-shadow: 0 0 0 4px var(--rq-paper); }
.kf-num { display: flex; flex-direction: column; align-items: center; justify-content: center; width: 70px; height: 76px; border-radius: 14px; background: var(--rq-br); color: #f0d6b4; font-size: 14px; font-weight: 600; line-height: 1.2; }
.kf-num b { font-size: 28px; color: #fff4e6; }
.kf-day-h { padding-inline-start: 26px; }
.kf-day-h svg { float: left; width: 36px; height: 36px; margin-top: 4px; color: var(--t-icon); stroke-width: 1.4; }
.kf-day-h h3 { margin: 0; font-weight: 700; font-size: clamp(22px, 1.9vw, 28px); line-height: 1.3; color: var(--rq-ink); }
.kf-day-h p { margin: 6px 0 0; font-size: 15.5px; line-height: 1.7; color: #5a3a24; font-weight: 500; }
.kf-acts b { display: block; font-size: 15.5px; color: var(--t-icon); }
.kf-acts ul { margin: 6px 0 0; padding: 0 18px 0 0; font-size: 14.5px; line-height: 1.85; color: var(--t-text); }
.kf-acts li::marker { color: #a35a24; }
.kf-goal { padding: 14px 16px; border-radius: 14px; background: rgba(255, 250, 242, .75); border: 1px solid #ead8bf; }
.kf-goal b { display: flex; align-items: center; gap: 8px; font-size: 15px; color: var(--t-icon); }
.kf-goal b svg { width: 20px; height: 20px; }
.kf-goal p { margin: 6px 0 0; font-size: 14.5px; line-height: 1.8; color: var(--t-text); }
.kf-ph { position: relative; height: 150px; border-radius: 14px; overflow: hidden; background: var(--rq-br); }
.kf-ph img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: sepia(.35) saturate(1.05); transition: transform 1s cubic-bezier(.2, .7, .2, 1), filter .5s; }
.kf-days li:hover .kf-ph img { transform: scale(1.06); filter: none; }
.kf-safe { display: flex; align-items: center; justify-content: center; gap: 10px; margin: 18px 0 0; padding-top: 18px; border-top: 1px solid rgba(140, 95, 64, .2); font-size: 15px; line-height: 1.8; color: #5a3a24; text-align: center; }
.kf-safe svg { flex: none; width: 22px; height: 22px; color: var(--t-icon); }

.kf-end blockquote { font-size: clamp(20px, 2.1vw, 32px); }
.kf-cta { margin-top: 34px; }

@media (max-width: 1100px) {
  .kf-days ol::before, .kf-days ol > li::before { display: none; }
  .kf-days ol > li { grid-template-columns: 70px 1fr 1fr; }
  .kf-acts { grid-column: 2 / -1; }
  .kf-goal { grid-column: 2; }
  .kf-ph { grid-column: 3; }
}
@media (max-width: 800px) {
  .kf-hero-photo::after { background: linear-gradient(0deg, rgba(42, 15, 5, .95) 30%, rgba(42, 15, 5, .5)); }
  .kf-facts { display: grid; grid-template-columns: 1fr 1fr; width: 100%; gap: 10px; }
  .kf-facts li { padding: 10px 12px; }
  .kf-goals article { flex-basis: 100%; }
  .kf-days { padding: 50px 16px 22px; }
  .kf-days-tab { padding: 10px 22px; }
  .kf-days ol > li { grid-template-columns: 58px 1fr; gap: 14px; }
  .kf-num { width: 58px; height: 64px; }
  .kf-day-h { padding: 0; }
  .kf-acts, .kf-goal, .kf-ph { grid-column: 1 / -1; }
  .kf-ph { height: 170px; }
}

.rq-kicker { display: flex; align-items: center; gap: 12px; margin: 0; }
.rq-kicker b { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; border: 1.5px solid var(--rq-gold); color: var(--rq-gold); font-size: 15px; font-weight: 700; direction: ltr; }

.pg-hero.is-calm {
  background:
    linear-gradient(0deg, rgba(23, 7, 3, .55) 0%, transparent 45%),
    linear-gradient(120deg, #170703 0%, #240b04 35%, #34110a 65%, #4a1d0c 100%);
}
.pg-hero.is-calm h1 { text-shadow: none; }

.pg-hero.is-grid { background: linear-gradient(180deg, #1f0904, #2a0f05); }
.pg-hero.is-grid::before { opacity: .1; }
.pg-grid, .pg-grid::after {
  position: absolute; inset: 0; z-index: -1; pointer-events: none;
  --gl: rgba(201, 150, 94, .13);
  background-image: linear-gradient(var(--gl) 1px, transparent 1px), linear-gradient(90deg, var(--gl) 1px, transparent 1px);
  background-size: 64px 64px; background-position: center -1px;
}
.pg-grid { -webkit-mask-image: radial-gradient(85% 90% at 50% 40%, #000 30%, transparent 85%); mask-image: radial-gradient(85% 90% at 50% 40%, #000 30%, transparent 85%); }
.pg-grid::after {
  content: ""; z-index: 0; --gl: rgba(233, 176, 113, .55);
  -webkit-mask-image: radial-gradient(240px circle at var(--mx, -999px) var(--my, -999px), #000, transparent 70%);
  mask-image: radial-gradient(240px circle at var(--mx, -999px) var(--my, -999px), #000, transparent 70%);
  opacity: 0; transition: opacity .4s;
}
.pg-hero.is-grid:hover .pg-grid::after { opacity: 1; }
@media (max-width: 800px) { .pg-grid, .pg-grid::after { background-size: 44px 44px; } }

.dtr-field {
  background:
    radial-gradient(34% 62% at 104% 80%, color-mix(in srgb, var(--ground) 94%, transparent) 0%, color-mix(in srgb, var(--ground) 88%, transparent) 58%, color-mix(in srgb, var(--ground) 40%, transparent) 70%, transparent 80%),
    radial-gradient(26% 34% at 70% 104%, color-mix(in srgb, var(--ground) 92%, transparent) 0%, color-mix(in srgb, var(--ground) 82%, transparent) 55%, color-mix(in srgb, var(--ground) 35%, transparent) 72%, transparent 85%),
    radial-gradient(30% 46% at 70% 36%, #f2a557 0%, #dd7f2e 26%, color-mix(in srgb, #c4621f 70%, transparent) 55%, transparent 100%),
    radial-gradient(46vw 42vw at 100% 100%, var(--ground) 0%, color-mix(in srgb, var(--ground) 70%, transparent) 40%, transparent 75%),
    linear-gradient(0deg, color-mix(in srgb, var(--ground) 92%, transparent) 0%, transparent 34%),
    linear-gradient(270deg, #3a1306 0%, color-mix(in srgb, #3a1306 50%, transparent) 14%, transparent 32%),
    linear-gradient(90deg, #5e230b 0%, transparent 22%),
    linear-gradient(180deg, color-mix(in srgb, #5e230b 60%, transparent) 0%, transparent 30%),
    #93400f;
}

.pg-subhead { display: flex; align-items: center; gap: 16px; margin: clamp(48px, 5vw, 72px) 0 22px; font-weight: 700; font-size: clamp(20px, 1.8vw, 26px); color: var(--head); }
.pg-subhead::after { content: ""; flex: 1; height: 1px; background: var(--line); }

.offer { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(24px, 3vw, 44px); align-items: stretch; }
.offer-feat, .offer-areas { display: flex; flex-direction: column; min-width: 0; }
.pg-subhead.is-tight { margin: 0 0 18px; }
.offer .feat2 { flex: 1; grid-template-columns: 1fr; grid-auto-rows: 1fr; gap: 18px; }
.offer .feat { min-height: 280px; padding: 26px 28px; border-radius: 22px; }
.offer .feat h3 { margin-top: 10px; font-size: clamp(28px, 2.6vw, 40px); }
.offer .feat .sub { font-size: clamp(15px, 1.15vw, 17px); }
.offer .feat p:not(.sub) { margin-top: 6px; font-size: 14.5px; line-height: 1.75; }
.offer .feat .more { margin-top: 14px; font-size: 15px; }
.offer .cards { flex: 1; gap: 14px; }
.cards.is-compact .card { padding: 20px 20px 18px; border-radius: 18px; }
.cards.is-compact .card-ico { width: 40px; height: 40px; margin-bottom: 10px; }
.cards.is-compact .card h3 { font-size: 17px; line-height: 1.45; }
.cards.is-compact .card p { margin-top: 6px; font-size: 14px; line-height: 1.8; }
@media (max-width: 1000px) {
  .offer { grid-template-columns: 1fr; }
  .offer .feat2 { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 640px) {
  .offer .feat2, .offer .cards { grid-template-columns: 1fr; }
}

.pg-subhead.is-tight { justify-content: center; text-align: center; }
.pg-subhead.is-tight::before, .pg-subhead.is-tight::after { content: ""; flex: 0 0 36px; height: 2px; background: var(--gold, #a87a4f); }
.offer { column-gap: clamp(48px, 5.5vw, 96px); }

.offer-sec { background: linear-gradient(90deg, #fcf8f5 50%, #f2e4d9 50%); }
.offer-sec .offer { grid-template-columns: 1fr 1fr; column-gap: clamp(64px, 7vw, 120px); }
.offer-sec .pg-subhead.is-tight { margin-bottom: 26px; font-size: clamp(24px, 2.2vw, 34px); }
.offer-sec .feat { min-height: 300px; }
@media (max-width: 1000px) {
  .offer-sec { background: #fcf8f5; }
  .offer-sec .offer { grid-template-columns: 1fr; row-gap: 56px; }
  .offer-sec .offer-feat { margin: -60px -20px 0; padding: 60px 20px 56px; background: #f2e4d9; }
}
.offer-sec .wrap { width: min(1440px, 100% - 40px); }
.offer-sec .offer { column-gap: clamp(56px, 5.5vw, 96px); }

.offer-sec { padding: clamp(44px, 4.5vw, 64px) 0; }
.offer-sec .pg-subhead.is-tight { margin-bottom: 18px; font-size: clamp(22px, 1.9vw, 30px); }
.offer-sec .cards { gap: 12px; }
.offer-sec .cards.is-compact .card { display: grid; grid-template-columns: 38px 1fr; column-gap: 12px; align-items: start; padding: 14px 16px; border-radius: 16px; }
.offer-sec .cards.is-compact .card-ico { grid-row: span 2; width: 38px; height: 38px; margin: 2px 0 0; }
.offer-sec .cards.is-compact .card h3 { margin: 0; font-size: 16px; }
.offer-sec .cards.is-compact .card p { margin: 3px 0 0; font-size: 13.5px; line-height: 1.7; }
.offer-sec .feat { min-height: 0; padding: 22px 24px; }
.offer-sec .feat2 { gap: 12px; }
.offer-sec .feat h3 { font-size: clamp(26px, 2.2vw, 34px); }

.pf { --ground: #170703; --deep: #3c1307; --ink: #fff4e4; --gold: #e9b071;
  position: relative; isolation: isolate; overflow: hidden; color: var(--ink); background: var(--ground);
  padding: clamp(56px, 6vw, 90px) 0; }
.pf-field { position: absolute; inset: 0; z-index: -2;
  background:
    radial-gradient(34% 50% at 74% 30%, #e0873a 0%, #b9581d 30%, color-mix(in srgb, #8f3c13 70%, transparent) 58%, transparent 100%),
    radial-gradient(40% 60% at 100% 100%, var(--ground) 0%, color-mix(in srgb, var(--ground) 60%, transparent) 50%, transparent 85%),
    linear-gradient(0deg, color-mix(in srgb, var(--ground) 85%, transparent) 0%, transparent 40%),
    linear-gradient(90deg, #2a0c05 0%, #4a1a09 45%, #6e2a0d 100%); }
.pf-in { display: grid; grid-template-columns: minmax(0, 46fr) minmax(0, 54fr); gap: clamp(28px, 4vw, 64px); align-items: center; }
.pf-copy { min-width: 0; }
.pf h2 { margin: 0; font-weight: 700; font-size: clamp(54px, 7vw, 120px); line-height: 1; color: var(--ink); }
.pf h2 span { display: block; }
.pf-lead { margin: 20px 0 0; max-width: 560px; font-size: clamp(16px, 1.3vw, 19px); line-height: 1.85; color: rgba(255, 244, 228, .85); }
.pf-btn { display: inline-flex; align-items: center; gap: 12px; margin-top: 24px; padding: 14px 26px; border-radius: 10px; background: #fff4e4; color: #2a0c05; font-weight: 700; font-size: 16px; text-decoration: none; transition: background .25s, transform .25s; }
.pf-btn svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; transition: transform .25s; }
.pf-btn:hover { background: #fff; transform: translateY(-2px); }
.pf-btn:hover svg { transform: translateX(-4px); }
.pf-sub { display: flex; align-items: center; gap: 18px; margin: clamp(34px, 4vw, 52px) 0 18px; font-weight: 700; font-size: clamp(22px, 2vw, 30px); color: var(--ink); }
.pf-sub::before { content: ""; width: 44px; height: 1.5px; background: rgba(255, 244, 228, .6); }
.pf-sub::after { content: ""; flex: 1; height: 1.5px; background: rgba(255, 244, 228, .6); }
.pf-areas { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.pf-areas button { display: flex; align-items: center; gap: 12px; min-height: 56px; padding: 10px 16px; border-radius: 10px; text-align: start;
  border: 1px solid rgba(233, 176, 113, .28); background: rgba(60, 19, 7, .55); color: var(--ink);
  font: inherit; font-weight: 600; font-size: 15px; cursor: pointer; transition: background .25s, border-color .25s; }
.pf-areas svg { flex: none; width: 26px; height: 26px; fill: none; stroke: var(--gold); stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.pf-areas button:hover, .pf-areas button.is-on { background: rgba(120, 50, 16, .7); border-color: rgba(233, 176, 113, .7); }
.pf-desc { min-height: 3.6em; margin: 14px 0 0; font-size: 14.5px; line-height: 1.8; color: rgba(255, 244, 228, .78); }

.pf-photos { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; height: clamp(420px, 42vw, 640px); }
.pf-card { position: relative; overflow: hidden; border-radius: 10px; background: var(--deep); display: block; }
.pf-card img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: opacity .5s, transform 1s cubic-bezier(.2, .7, .2, 1); }
.pf-card .duo { filter: url(#dtrTone); }
.pf-card .true { opacity: 0; }
.pf-card:hover .true, .pf-card:focus-visible .true { opacity: 1; }
.pf-card:hover img { transform: scale(1.05); }
.pf-label { position: absolute; right: 16px; bottom: 16px; display: flex; flex-direction: column; gap: 2px; padding: 10px 16px; border-radius: 6px; background: rgba(23, 7, 3, .88); color: var(--ink); font-size: 13.5px; line-height: 1.5; }
.pf-label b { font-size: clamp(17px, 1.4vw, 21px); }

@media (max-width: 1000px) {
  .pf-in { grid-template-columns: 1fr; }
  .pf-photos { height: 380px; }
}
@media (max-width: 560px) {
  .pf-areas { grid-template-columns: 1fr; }
  .pf-photos { height: 300px; gap: 10px; }
  .pf-label { right: 10px; left: 10px; bottom: 10px; padding: 8px 12px; }
}

.pf-in { align-items: stretch; }
.pf-photos { height: auto; min-height: 420px; }
.pf h2 { font-size: clamp(50px, 5.8vw, 98px); }
@media (max-width: 1000px) { .pf-photos { height: 380px; min-height: 0; } }
@media (max-width: 560px) { .pf-photos { height: 300px; } }
.pf h2 span { display: inline; }
.pf { padding: clamp(48px, 4.5vw, 70px) 0; }
.pf-sub { margin-top: clamp(26px, 3vw, 40px); }

.pf.is-light { --ink: #3a1407; color: var(--ink); background: #f8e7d6; }
.pf.is-light .dtr-grain { opacity: .08; }
.pf.is-light .pf-field { background:
  radial-gradient(34% 52% at 74% 32%, #fbdca6 0%, color-mix(in srgb, #f7cf98 60%, transparent) 40%, transparent 100%),
  radial-gradient(60% 70% at 20% 60%, color-mix(in srgb, #f1d2b4 70%, transparent) 0%, transparent 100%),
  linear-gradient(180deg, #fbefe3 0%, #f6e3cf 100%); }
.pf.is-light h2 { color: #3a1407; }
.pf.is-light .pf-lead { color: #4a2e1f; }
.pf.is-light .pf-btn { background: #fff6e9; color: #2a0c05; box-shadow: 0 14px 30px -16px rgba(90, 42, 18, .45); }
.pf.is-light .pf-btn:hover { background: #fff; }
.pf.is-light .pf-sub { color: #3a1407; }
.pf.is-light .pf-sub::before, .pf.is-light .pf-sub::after { background: rgba(58, 20, 7, .55); }
.pf.is-light .pf-areas button { border: 0; color: #fff4e4; background: linear-gradient(180deg, #b07444, #94592f); box-shadow: 0 12px 24px -14px rgba(90, 42, 18, .6); }
.pf.is-light .pf-areas svg { stroke: #fff4e4; }
.pf.is-light .pf-areas button:hover, .pf.is-light .pf-areas button.is-on { background: linear-gradient(180deg, #8d5128, #6e3a1a); }
.pf.is-light .pf-desc { color: #5a3a28; }
.pf.is-light .pf-card { box-shadow: 0 24px 50px -30px rgba(90, 42, 18, .55); }
.pf.is-light .pf-label { color: #fff4e4; }

.pf-in { align-items: center; }
.pf-slider { position: relative; width: 100%; max-width: 620px; justify-self: center; }
.pf-track { position: relative; aspect-ratio: 1; border-radius: 14px; overflow: hidden; background: #3c1307; box-shadow: 0 30px 60px -32px rgba(90, 42, 18, .6); }
.pf-track .pf-card { position: absolute; inset: 0; border-radius: 0; box-shadow: none; opacity: 0; visibility: hidden; transition: opacity .6s, visibility .6s; }
.pf-track .pf-card.is-on { opacity: 1; visibility: visible; }
.pf-label { right: 20px; bottom: 20px; padding: 12px 18px; }
.pf-nav { display: flex; align-items: center; justify-content: center; gap: 18px; margin-top: 16px; }
.pf-nav button { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 50%; border: 1px solid rgba(58, 20, 7, .25); background: #fff6e9; color: #3a1407; cursor: pointer; box-shadow: 0 10px 22px -14px rgba(90, 42, 18, .5); transition: background .25s, color .25s, transform .25s; }
.pf-nav button:hover { background: #3c1307; color: #fff4e4; transform: translateY(-2px); }
.pf-nav svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
.pf-count { min-width: 64px; text-align: center; font-weight: 600; font-size: 15px; color: #8c5f40; direction: ltr; }
.pf-count b { color: #3a1407; }
.pf:not(.is-light) .pf-count, .pf:not(.is-light) .pf-count b { color: var(--ink); }

.pf-areas { gap: 12px; }
.pf-areas button { min-height: 62px; padding: 12px 18px; gap: 14px; border-radius: 12px; font-size: 16px; font-weight: 600; line-height: 1.35; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pf-areas svg { width: 28px; height: 28px; }
.pf.is-light .pf-areas button { background: linear-gradient(180deg, #b47a4a 0%, #9a5e33 100%); box-shadow: 0 1px 0 rgba(255, 255, 255, .25) inset, 0 12px 24px -14px rgba(90, 42, 18, .6); transition: background .25s, transform .25s; }
.pf.is-light .pf-areas button:hover { transform: translateY(-2px); }
.pf.is-light .pf-areas button.is-on { background: linear-gradient(180deg, #6e3a1a 0%, #4f2510 100%); }
.pf-desc { min-height: 0; margin-top: 16px; padding: 14px 18px; border-radius: 12px; background: rgba(255, 246, 233, .7); border: 1px solid rgba(176, 116, 68, .25); }
.pf:not(.is-light) .pf-desc { background: rgba(60, 19, 7, .45); border-color: rgba(233, 176, 113, .25); }
@media (max-width: 1000px) { .pf-slider { max-width: 520px; } }
@media (max-width: 560px) { .pf-areas button { white-space: normal; } }
.pf-slider { justify-self: end; }
.pf-in { column-gap: clamp(48px, 6vw, 110px); }
.pf .wrap.pf-in { width: min(1600px, 100% - 64px); }

.pf-card .duo { display: none; }
.pf-card .true, .pf-card:hover .true { opacity: 1; }
.pf .pf-title { margin: 0 0 18px; text-align: center; font-size: clamp(34px, 3.4vw, 54px); line-height: 1.2; }

.pf.is-light { background: #FCF8F5; }
.pf.is-light .pf-field, .pf.is-light .dtr-grain { display: none; }

.pf-track .pf-card::after { content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background: linear-gradient(to bottom, rgba(77, 44, 21, 0) 48%, rgba(77, 44, 21, .72) 70%, #4D2C15 92%); }
.pf-cap { position: absolute; z-index: 2; right: 0; left: 0; bottom: 0; display: flex; flex-direction: column; align-items: flex-start; padding: 0 30px 28px; color: #fff; }
.pf-cap-title { font-weight: 600; font-size: clamp(26px, 2.2vw, 36px); line-height: 1.35; text-shadow: 0 1px 8px rgba(40, 15, 5, .25); }
.pf-cap-sub { margin-top: 4px; font-size: clamp(15px, 1.1vw, 17px); color: rgba(255, 255, 255, .88); }
.pf-go { display: grid; place-items: center; width: 46px; height: 46px; margin-top: 20px; border: 2px solid rgba(255, 255, 255, .9); border-radius: 50%; transition: background .3s, color .3s, transform .4s cubic-bezier(.2, .7, .2, 1); }
.pf-go svg { width: 55%; height: 55%; fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
.pf-card:hover .pf-go, .pf-card:focus-visible .pf-go { background: #fff; color: #4D2C15; transform: translateX(-4px); }
@media (max-width: 560px) { .pf-cap { padding: 0 18px 18px; } .pf-go { width: 38px; height: 38px; margin-top: 12px; } }
.pf-track .pf-card::after { display: none; }

.pf .pf-label { right: 22px; bottom: 22px; left: auto; display: inline-block; padding: 10px 20px; border-radius: 6px;
  background: #1a0804; color: #fff4e4; font-weight: 800; font-size: clamp(18px, 1.5vw, 24px); line-height: 1.3; letter-spacing: .01em;
  box-shadow: 0 8px 20px -10px rgba(0, 0, 0, .6); }
.pf .pf-label { padding: 14px 28px; font-size: clamp(22px, 2.1vw, 34px); right: 26px; bottom: 26px; border-radius: 8px; }

.rq-goals-head { margin-top: 8px; margin-bottom: 14px; }
.rq-goals-head h2 { font-size: clamp(26px, 2.4vw, 36px); }
.rq-goals-head + .rq-goals { gap: 4px clamp(18px, 2.5vw, 40px); }
.rq-goals-head + .rq-goals article { gap: 14px; padding: 14px 4px; border: 0; border-bottom: 1px dashed #dcc7ae; border-radius: 0; background: none; box-shadow: none; }
.rq-goals-head + .rq-goals article:hover { transform: none; }
.rq-goals-head + .rq-goals svg { width: 44px; height: 44px; padding: 11px; }
.rq-goals-head + .rq-goals p { font-size: 15.5px; line-height: 1.7; }

.pg-hero.is-grid { min-height: min(56vh, 560px); padding: 125px 0 clamp(40px, 4.5vw, 64px); }
.pg-hero.is-grid h1 { font-size: clamp(54px, 7.2vw, 140px); }
.pg-hero.is-grid .pg-lead { margin-top: 16px; }
@media (max-width: 800px) { .pg-hero.is-grid { min-height: 0; padding-top: 100px; } }

#rihlat .rq-hero, .kf-hero { min-height: clamp(600px, 35vw, 680px); }
#rihlat .rq-hero-copy { padding-top: 80px; padding-bottom: 80px; }
.kf-hero-in { padding-top: 80px; padding-bottom: 80px; }
@media (max-width: 800px) { #rihlat .rq-hero, .kf-hero { min-height: 0; } #rihlat .rq-hero-copy { padding: 34px 22px 60px; } .kf-hero-in { padding: 90px 0 60px; } }

.pg-hero.is-grid { --ink: #340F04; background: #fcf8f5; color: var(--ink); }
.pg-hero.is-grid::before { display: none; }
.pg-hero.is-grid::after { opacity: .08; }
.pg-hero.is-grid h1 { color: #340F04; text-shadow: none; }
.pg-hero.is-grid .pg-lead { color: #5d5148; }
.pg-hero.is-grid .pg-grid { --gl: rgba(160, 110, 60, .14); }
.pg-hero.is-grid .pg-grid::after { --gl: rgba(163, 90, 36, .45); }

.pf.is-light { background: #fff; }
#rihlat { background: #fff; }
#rihlat .rq-route i { box-shadow: 0 0 0 4px #fff, 0 0 0 5px #c49a66; }

#rihlat .rq-skyline svg { fill: #f3e8db; }
#rihlat .rq-message { background: #f3e8db; color: var(--t-text); }
#rihlat .rq-message blockquote { color: var(--t-text); }
#rihlat .rq-message blockquote::before, #rihlat .rq-message blockquote::after { color: #b07a45; }
#rihlat .rq-pill.is-light { background: #ecd9bf; color: #5a2a12; }

.kf-hero { background: #2f0f05; }
.kf-hero-photo { right: 35%; overflow: hidden; -webkit-mask-image: linear-gradient(270deg, transparent 0%, rgba(0, 0, 0, .04) 3%, rgba(0, 0, 0, .12) 7%, rgba(0, 0, 0, .25) 11%, rgba(0, 0, 0, .42) 15%, rgba(0, 0, 0, .6) 19%, rgba(0, 0, 0, .76) 23%, rgba(0, 0, 0, .89) 27%, rgba(0, 0, 0, .97) 31%, #000 34%); mask-image: linear-gradient(270deg, transparent 0%, rgba(0, 0, 0, .04) 3%, rgba(0, 0, 0, .12) 7%, rgba(0, 0, 0, .25) 11%, rgba(0, 0, 0, .42) 15%, rgba(0, 0, 0, .6) 19%, rgba(0, 0, 0, .76) 23%, rgba(0, 0, 0, .89) 27%, rgba(0, 0, 0, .97) 31%, #000 34%); }
.kf-hero-photo img { width: 110%; max-width: none; }
.kf-hero-photo::after { background: linear-gradient(270deg, rgba(47, 15, 5, .45) 0%, rgba(47, 15, 5, .3) 25%, rgba(47, 15, 5, .12) 40%, rgba(47, 15, 5, 0) 55%); }
@media (max-width: 800px) {
  .kf-hero-photo { right: 0; -webkit-mask-image: none; mask-image: none; }
  .kf-hero-photo img { width: 100%; }
  .kf-hero-photo::after { background: linear-gradient(0deg, rgba(42, 15, 5, .95) 30%, rgba(42, 15, 5, .5)); }
}

@media (min-width: 801px) {
  .kf-hero .wrap.kf-hero-in { box-sizing: border-box; width: max(380px, 42%); max-width: none; margin: 0; padding-inline: clamp(28px, 4.5vw, 72px); }
}

#kafu .rq-skyline svg { fill: #f3e8db; }
#kafu .rq-message { background: #f3e8db; color: var(--t-text); }
#kafu .rq-message blockquote { color: var(--t-text); }
#kafu .rq-message blockquote::before, #kafu .rq-message blockquote::after { color: #b07a45; }
#kafu .rq-pill.is-light { background: #ecd9bf; color: #5a2a12; }
#kafu .kf-cta, #kafu .kf-cta:hover { background: #230a02; color: #fff; }
#kafu .kf-cta .arrow { background: rgba(255, 255, 255, .16); }

.contact-form { background: #fcf8f5; border-color: #f0e6dc; }
.contact-form .cf-field input, .contact-form .cf-field select, .contact-form .cf-field textarea { background: #fff; }

.about-btn { border-radius: 0; }
.about-btn .arrow { border-radius: 0; }

.hero-btns .btn, .hero-btns .btn .arrow, .nav-cta, .nav-cta .arrow { border-radius: 0; }
.cf-submit { border-radius: 0; }

.hero-feats li { color: var(--t-text); font-weight: 600; }
.hero-feats .ln { stroke: var(--t-icon); }
.hero-feats .fl { fill: var(--t-icon); }

.nav { border-bottom-color: #ebe1d6; }
.nav-links a:hover { background: #f1e8de; }
.nav-links a.active { background: #efe4d8; }
.nav-links a.active::after { background: #4a200d; }
.about-back svg { stroke: var(--t-icon); }
.about-back-title::after { background: #4a200d; }
.about-curve { stroke: #ddd0c2; }
.feat-ico svg { stroke: var(--t-icon); }
.areas, .contact { --gold: #4a200d; }
.areas-rule, .contact-rule { background: #4a200d; }
.area-card:focus-visible { outline-color: #4a200d; }
.areas-vm::before { background: #e2d5c7; }
.contact-list li + li .ci-text { border-top-color: #ebe1d6; }
.contact-social li + li::before { background: #e2d5c7; }
.footer { --gold: #4a200d; }
.ft-wa:hover, .ft-top:hover { border-color: #4a200d; }
@media (max-width: 800px) { .vm + .vm { border-top-color: #e2d5c7; } }

.pg { --gold: #4a200d; --gold-d: #4a200d; }
.pg-hero, .pg-sec.is-dark, .vm2 article.is-dark, .pg-cta, .quote-band, .values, .value { --gold: #eadfd2; --gold-d: #eadfd2; }
.pg-hero .pg-eyebrow, .pg-hero .crumbs span[aria-hidden] { color: #eadfd2; }
.pg-hero.is-grid { --gold: #4a200d; }
.pg-hero.is-grid .pg-grid { --gl: rgba(74, 32, 13, .07); }
.pg-hero.is-grid .pg-grid::after { --gl: rgba(74, 32, 13, .28); }
.pg-hero::after { background: linear-gradient(160deg, #eadfd2, #8a7a6c); }
.card-ico svg, .tdir-search svg { stroke: var(--t-icon); }
.tdir-empty, .tc-values b, .pf-count, .kf-facts small { color: var(--t-icon); }
.vm2 article::after { border-color: rgba(234, 223, 210, .3); }
.value, .value:hover { border-color: rgba(234, 223, 210, .25); }
.value:hover { background: rgba(234, 223, 210, .08); }
.director-text::before { color: rgba(74, 32, 13, .12); }
.pg-cta::before { opacity: 0; }

.rq { --rq-gold: #eadfd2; }
.rq-badge { border-color: rgba(234, 223, 210, .45); }
.rq-feats li + li { border-inline-start-color: rgba(234, 223, 210, .22); }
.rq-dests .ic { color: #f3ebe2; }
.rq-goals svg, .kf-facts svg, .kf-goals svg, .kf-day-h svg, .kf-safe svg { color: var(--t-icon); }
.rq-route { color: #cbbcad; }
#rihlat .rq-route i, .rq-route i { box-shadow: 0 0 0 4px #fff, 0 0 0 5px #cbbcad; }
.rq-route .flag::after { background: #4a200d; }
#rihlat .rq-message blockquote::before, #rihlat .rq-message blockquote::after,
#kafu .rq-message blockquote::before, #kafu .rq-message blockquote::after { color: var(--t-icon); opacity: .5; }
.kf-goals article:hover { border-color: #d6c7b7; }
.kf-days { background: radial-gradient(120% 70% at 50% 0%, #fbf7f2, #f3ebe2 55%, #e9ddd0); box-shadow: 0 30px 60px -36px rgba(60, 19, 7, .45), inset 0 0 50px rgba(74, 32, 13, .08); }
.kf-days-tab svg { color: #eadfd2; }
.kf-days ol > li + li, .kf-safe { border-top-color: #e2d5c7; }
.kf-acts b, .kf-goal b { color: var(--t-icon); }
.kf-acts li::marker { color: var(--t-icon); }

.pf { --gold: #eadfd2; }
.pf.is-light .pf-areas button { background: #4a200d; box-shadow: 0 12px 24px -14px rgba(42, 15, 5, .5); }
.pf.is-light .pf-areas button:hover, .pf.is-light .pf-areas button.is-on { background: #230a02; }
.pf.is-light .pf-areas svg { stroke: #eadfd2; }
.pg-subhead.is-tight::before, .pg-subhead.is-tight::after { background: #4a200d; }

.dtr-eyebrow { color: #eadfd2; }
.dtr-cta::before { background: #eadfd2; }
.ft-social a { border-color: #e2d5c7; }
.card:hover, .days > li.is-lit .body { border-color: #e2d5c7; }
.pg-note { border-color: #d9cbbd; }
.hs-nav button { border-color: #e2d5c7; }
.rq-goals-head + .rq-goals article { border-bottom-color: #e2d5c7; }
.vm2 article::after { border-color: rgba(74, 32, 13, .14); box-shadow: 0 0 0 26px rgba(74, 32, 13, .03), 0 0 0 27px rgba(74, 32, 13, .1); }
.vm2 article.is-dark::after { border-color: rgba(234, 223, 210, .3); box-shadow: 0 0 0 26px rgba(234, 223, 210, .05), 0 0 0 27px rgba(234, 223, 210, .2); }

.pa { padding: clamp(48px, 5vw, 76px) 0; background: #fff; }
.pa-head { margin-bottom: clamp(26px, 3vw, 40px); }
.pa-list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0 clamp(24px, 3vw, 48px); }
.pa-list article { display: flex; align-items: flex-start; gap: 16px; padding: 20px 0; border-bottom: 1px solid #ece3d9; }
.pa-ico { flex: none; display: grid; place-items: center; width: 48px; height: 48px; border-radius: 50%; background: #f5efe8; color: var(--t-icon); }
.pa-ico svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.pa-list h3 { margin: 2px 0 0; font-weight: 700; font-size: 18px; color: var(--t-text); }
.pa-list p { margin: 6px 0 0; font-size: 14.5px; line-height: 1.8; color: var(--t-soft); }
@media (max-width: 1000px) { .pa-list { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px) { .pa-list { grid-template-columns: 1fr; } }

.area-card::after { background: linear-gradient(to bottom, rgba(47, 15, 5, 0) 38%, rgba(47, 15, 5, .72) 62%, #2f0f05 88%); }
.area-card:hover .area-card-go, .area-card:focus-visible .area-card-go { color: #2f0f05; }

.pg-hero.is-grid { min-height: 0; padding: 130px 0 clamp(44px, 4.5vw, 64px); text-align: center; justify-content: center; }
.pg-hero.is-grid .wrap { width: 100%; }
.pg-hero.is-grid h1 { font-size: clamp(44px, 5.6vw, 100px); }
.pg-hero.is-grid h1 .ln { display: inline-block; vertical-align: top; }
.pg-hero.is-grid h1 .ln + .ln { margin-inline-start: .28em; }
.pg-hero.is-grid .pg-lead { margin-inline: auto; }
@media (max-width: 800px) { .pg-hero.is-grid { padding-top: 100px; } }

.pg-hero.is-grid { padding: 118px 0 clamp(34px, 3.4vw, 48px); }
.pa { padding: clamp(30px, 3vw, 44px) 0 clamp(34px, 3.4vw, 48px); }
.pa-head { margin-bottom: clamp(18px, 2vw, 26px); }
.pa-head h2 { font-size: clamp(28px, 2.6vw, 40px); }
.pa-list { gap: 16px; }
.pa-list article { position: relative; display: grid; grid-template-columns: 48px 1fr; gap: 16px; align-items: start; padding: 20px 22px; border: 1px solid #ece3d9; border-bottom: 1px solid #ece3d9; background: #fcf8f5; overflow: hidden;
  transition: background .35s, border-color .35s, transform .35s cubic-bezier(.2, .7, .2, 1), box-shadow .35s; }
.pa-ico { width: 48px; height: 48px; border-radius: 0; background: #2f0f05; color: #f6ece1; transition: background .35s, color .35s; }
.pa-list h3 { margin: 1px 0 0; font-size: 17.5px; transition: color .35s; }
.pa-list p { margin: 5px 0 0; font-size: 14px; line-height: 1.75; transition: color .35s; }
.pa-n { position: absolute; left: 16px; top: 10px; font-size: 34px; font-weight: 700; line-height: 1; color: rgba(47, 15, 5, .07); direction: ltr; transition: color .35s; }
.pa-list article:hover { background: #2f0f05; border-color: #2f0f05; transform: translateY(-4px); box-shadow: 0 22px 40px -24px rgba(47, 15, 5, .55); }
.pa-list article:hover .pa-ico { background: #f6ece1; color: var(--t-text); }
.pa-list article:hover h3 { color: #fff4e6; }
.pa-list article:hover p { color: rgba(255, 244, 230, .78); }
.pa-list article:hover .pa-n { color: rgba(255, 244, 230, .12); }
@media (min-width: 801px) and (min-height: 640px) {
  .pa { box-sizing: border-box; min-height: var(--pa-fill, auto); display: flex; flex-direction: column; justify-content: center; }
}

.pa-list article:hover { background: #fcf8f5; border-color: #ece3d9; box-shadow: 0 18px 34px -24px rgba(47, 15, 5, .35); }
.pa-list article:hover .pa-ico { background: #2f0f05; color: #f6ece1; }
.pa-list article:hover h3 { color: var(--t-text); }
.pa-list article:hover p { color: var(--t-soft); }
.pa-list article:hover .pa-n { color: rgba(47, 15, 5, .07); }

#kafu { background: #fff; }
#kafu .rq-goals-head { margin-top: clamp(56px, 6vw, 84px); }

#kafu .rq-goals { display: flex; flex-wrap: wrap; justify-content: center; gap: 4px 32px; }
#kafu .rq-goals article { flex: 0 0 calc((100% - 3 * 32px) / 4); }
@media (max-width: 1100px) { #kafu .rq-goals article { flex-basis: calc((100% - 32px) / 2); } }
@media (max-width: 640px) { #kafu .rq-goals article { flex-basis: 100%; } }
.kf-hero-photo img { object-position: 0% 50%; }

.nav { background: #fefbf7; -webkit-backdrop-filter: none; backdrop-filter: none; }

.hx .dtr-title { font-size: clamp(64px, 8.6vw, 170px); }
.hx .dtr-eyebrow { font-size: .2em; color: #e9b071; }
.hx-rows { position: relative; z-index: 1; display: grid; grid-template-rows: repeat(3, minmax(0, 1fr)); gap: var(--gap); height: 100%;
  padding: var(--pad) 0; overflow: hidden; direction: ltr;
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 7%, #000 88%, transparent 100%); mask-image: linear-gradient(90deg, transparent 0, #000 7%, #000 88%, transparent 100%); }
.hx-row { position: relative; min-height: 0; overflow: visible; animation: dtr-rise 1100ms var(--ease) both; }
.hx-row:nth-child(2) { animation-delay: 90ms; } .hx-row:nth-child(3) { animation-delay: 180ms; }
.hx-track { display: flex; gap: var(--gap); width: max-content; height: 100%; will-change: transform; animation: hx-left 70s linear infinite; }
.hx-row[data-dir="r"] .hx-track { animation-name: hx-right; animation-duration: 80s; }
.hx-row:nth-child(3) .hx-track { animation-duration: 62s; }
.hx-rows:hover .hx-track { animation-play-state: paused; }
.hx-card { position: relative; flex: none; height: 100%; aspect-ratio: 16 / 10; margin: 0; border-radius: 6px; overflow: hidden; background: var(--deep);
  transition: transform .3s var(--ease), box-shadow .3s; }
.hx-card img { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; transition: opacity .35s, transform .5s var(--ease); }
.hx-duo { filter: url(#hxTone); }
.hx-true { opacity: 0; }
.hx-card figcaption { position: absolute; right: 10px; bottom: 10px; direction: rtl; padding: 6px 10px; border-radius: 6px; background: rgba(23, 7, 3, .88); color: var(--ink); font-size: 13px; font-weight: 700; line-height: 1.2; }
.hx-card:hover { transform: translateY(-4px); box-shadow: 0 18px 40px -14px rgba(23, 7, 3, .85); z-index: 2; }
.hx-card:hover .hx-true { opacity: .85; }
.hx-card:hover img { transform: scale(1.04); }
@keyframes hx-left { from { transform: translate3d(0, 0, 0); } to { transform: translate3d(calc(-50% - var(--gap) / 2), 0, 0); } }
@keyframes hx-right { from { transform: translate3d(calc(-50% - var(--gap) / 2), 0, 0); } to { transform: translate3d(0, 0, 0); } }
@media (max-width: 700px) {
  .hx-rows { order: -1; height: 330px; padding: 16px 0 0; }
  .hx .dtr-title { font-size: clamp(54px, 17vw, 90px); }
}
@media (prefers-reduced-motion: reduce) { .hx-track, .hx-row { animation: none; } }

.sh { --navh: calc(90 * min(calc(100vw / 1672), calc(100vh / 941))); padding: calc(var(--navh) + 14px) clamp(14px, 2.2vw, 40px) 0; }
.sh:has(+ .pa) { background: #fff; }
.sh-card { position: relative; isolation: isolate; overflow: hidden; display: flex; align-items: center; height: clamp(300px, 36vh, 420px); border-radius: 22px; color: #fff4e6;
  background: radial-gradient(40% 95% at 50% 38%, #cf8238 0%, rgba(176, 100, 42, .75) 42%, transparent 100%), linear-gradient(270deg, #2a0f05 0%, #3c1307 24%, #7a3f17 56%, #8f4f1f 100%); }
.sh-card .dtr-grain { opacity: .14; }
.sh-photo { position: absolute; inset: 0 auto 0 0; z-index: -1; width: 60%;
  -webkit-mask-image: linear-gradient(270deg, transparent 0%, rgba(0, 0, 0, .12) 10%, rgba(0, 0, 0, .42) 22%, rgba(0, 0, 0, .78) 34%, #000 46%); mask-image: linear-gradient(270deg, transparent 0%, rgba(0, 0, 0, .12) 10%, rgba(0, 0, 0, .42) 22%, rgba(0, 0, 0, .78) 34%, #000 46%); }
.sh-photo img { width: 100%; height: 100%; max-width: none; object-fit: cover; }
.sh-copy { position: relative; width: 50%; padding: 0 clamp(28px, 4.4vw, 84px); }
.sh-eyebrow { margin: 0; font-weight: 600; font-size: clamp(17px, 1.35vw, 24px); color: #e6b887; }
.sh-copy h1 { margin: clamp(4px, .8vh, 14px) 0 0; font-weight: 700; font-size: clamp(50px, min(5vw, 9.4vh), 92px); line-height: 1.12; color: #fff4e6; text-shadow: 0 .02em .14em rgba(23, 7, 3, .3); }
.sh-lead { margin: clamp(6px, 1vh, 14px) 0 0; max-width: 48ch; font-size: clamp(15px, 1.05vw, 19px); line-height: 1.7; color: rgba(255, 244, 228, .92); text-wrap: pretty; }
.sh-btn { display: inline-flex; align-items: center; gap: 22px; height: 46px; margin-top: clamp(12px, 2vh, 22px); padding: 0 26px; border-radius: 999px; background: #fff4e6; color: #2a0f05; font-weight: 700; font-size: 15.5px; box-shadow: 0 12px 26px -14px rgba(23, 7, 3, .7); transition: transform .2s, background .2s; }
.sh-btn:hover { transform: translateY(-2px); background: #fff; }
.sh-orn { position: absolute; left: 50%; bottom: 14px; width: clamp(160px, 15vw, 280px); height: 14px; fill: none; stroke: #e6b887; stroke-width: 1; opacity: .4; pointer-events: none; }

.sh + .pa, .sh ~ .pa { padding-top: clamp(20px, 2.4vh, 32px); padding-bottom: clamp(20px, 2.4vh, 32px); }
.sh ~ .pa .pa-head { margin-bottom: clamp(12px, 1.6vh, 20px); }
@media (max-width: 800px) {
  .sh { padding-top: calc(var(--navh) + 72px); }
  .sh-card { display: block; height: auto; }
  .sh-photo { position: relative; inset: auto; width: 100%; height: 190px; -webkit-mask-image: linear-gradient(0deg, transparent 0%, #000 45%); mask-image: linear-gradient(0deg, transparent 0%, #000 45%); }
  .sh-copy { width: 100%; padding: 0 22px 44px; }
}

.pp .pp-wrap { display: flex; flex: 1; flex-direction: column; width: 100%; padding-inline: clamp(14px, 2.2vw, 40px); box-sizing: border-box; }
.pp-list { display: flex; flex: 1; gap: 10px; min-height: 300px; }
.pp-p { position: relative; isolation: isolate; flex: 1 1 0; min-width: 0; overflow: hidden; border-radius: 14px; background: #2f0f05; transition: flex-grow .6s cubic-bezier(.23, 1, .32, 1); }
.pp-p.is-on { flex-grow: 3.4; }
.pp-p img { position: absolute; top: 0; left: 50%; z-index: -2; width: max(42vw, 560px); max-width: none; height: 100%; object-fit: cover; transform: translateX(-50%); transition: opacity .45s; }
.pp-duo { display: none; }
.pp-true { opacity: 1; }
.pp-p.is-on .pp-true { opacity: 1; }
.pp-p::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(to top, rgba(47, 15, 5, .96) 0%, rgba(47, 15, 5, .72) 34%, rgba(47, 15, 5, .08) 66%, rgba(47, 15, 5, 0) 100%); }
.pp-txt { position: absolute; inset: auto 0 0 0; padding: 18px 20px 20px; color: #fff4e6; pointer-events: none; }
.pp-txt b { display: block; font-size: 15px; font-weight: 700; color: rgba(255, 244, 230, .75); direction: ltr; text-align: right; }
.pp-txt h3 { margin: 4px 0 0; font-weight: 700; font-size: clamp(16px, 1.15vw, 21px); line-height: 1.35; color: #fff4e6; }
.pp-txt p { width: min(520px, 34vw); max-height: 0; margin: 0; overflow: hidden; font-size: 15px; line-height: 1.75; color: rgba(255, 244, 230, .9); opacity: 0; transition: opacity .2s, max-height .3s, margin-top .3s; }
.pp-p.is-on .pp-txt p { max-height: 11em; margin-top: 8px; opacity: 1; transition: opacity .4s .22s, max-height .4s .1s, margin-top .3s; }
.pp-hit { position: absolute; inset: 0; z-index: 1; width: 100%; padding: 0; border: 0; border-radius: inherit; background: none; cursor: pointer; }
.pp-hit:focus-visible { outline: 3px solid #fff4e6; outline-offset: -5px; }
@media (max-width: 800px) {
  .pp-list { flex-direction: column; min-height: 0; }
  .pp-p { flex: none; height: 104px; transition: height .5s cubic-bezier(.23, 1, .32, 1); }
  .pp-p.is-on { flex-grow: 0; height: 340px; }
  .pp-p img { left: 0; width: 100%; transform: none; }
  .pp-txt p { width: auto; }
}
@media (prefers-reduced-motion: reduce) { .pp-p, .pp-p img, .pp-txt p { transition: none; } }

.pp-p img { transition: opacity .45s, transform .6s cubic-bezier(.23, 1, .32, 1); }
@media (min-width: 801px) { .pp-shift:not(.is-on) img { transform: translateX(-30.5%); } }
@media (prefers-reduced-motion: reduce) { .pp-p img { transition: none; } }

@media (min-width: 901px) {
  .about h2 { margin-top: 0; font-weight: 800; font-size: calc(90 * var(--u)); white-space: nowrap; }
  .about-quote { margin-top: calc(50 * var(--u)); padding-block: calc(8 * var(--u)); }
  .about-quote p { font-weight: 600; font-size: calc(38 * var(--u)); line-height: calc(60 * var(--u)); }
  .about-feats { margin-top: calc(46 * var(--u)); }
  .about-feats h3 { font-size: calc(26 * var(--u)); }
  .about-feats p { font-size: calc(22 * var(--u)); line-height: calc(34 * var(--u)); }
  .about-quote::before { top: calc(-44 * var(--u)); }
  .about-copy { top: calc(120 * var(--r)); }
}
@media (max-width: 900px) { .about-feats p { font-size: 15.5px; line-height: 1.7; } }

.hx .dtr-field {
  background:
    radial-gradient(34% 62% at 104% 80%, color-mix(in srgb, var(--ground) 94%, transparent) 0%, color-mix(in srgb, var(--ground) 88%, transparent) 58%, color-mix(in srgb, var(--ground) 40%, transparent) 70%, transparent 80%),
    radial-gradient(26% 34% at 70% 104%, color-mix(in srgb, var(--ground) 92%, transparent) 0%, color-mix(in srgb, var(--ground) 82%, transparent) 55%, color-mix(in srgb, var(--ground) 35%, transparent) 72%, transparent 85%),
    radial-gradient(30% 46% at 70% 36%, #ce8643 0%, #b46627 28%, color-mix(in srgb, #994e1c 70%, transparent) 58%, transparent 100%),
    radial-gradient(46vw 42vw at 100% 100%, var(--ground) 0%, color-mix(in srgb, var(--ground) 70%, transparent) 40%, transparent 75%),
    linear-gradient(0deg, color-mix(in srgb, var(--ground) 92%, transparent) 0%, transparent 34%),
    linear-gradient(270deg, #341206 0%, color-mix(in srgb, #341206 50%, transparent) 14%, transparent 32%),
    linear-gradient(90deg, #4f1e0a 0%, transparent 22%),
    linear-gradient(180deg, color-mix(in srgb, #4f1e0a 60%, transparent) 0%, transparent 30%),
    #773410;
}

.ab-kicker { margin: 0; font-weight: 600; font-size: clamp(15px, 1.05vw, 18px); color: var(--t-soft); }
.ab-story h2, .ab-way h2, .ab-vals-head h2, .ab-goals h2, .ab-letter h2 { margin: 8px 0 0; font-weight: 800; line-height: 1.15; color: var(--t-text); font-size: clamp(34px, 3.7vw, 66px); }

.ab-story { padding: clamp(44px, 4.6vw, 72px) 0; }
.ab-story-in { display: grid; grid-template-columns: 1.15fr 1fr; gap: clamp(32px, 5.5vw, 100px); align-items: center; }
.ab-story-text > p:not(.ab-kicker) { margin: 22px 0 0; font-size: clamp(16px, 1.15vw, 19px); line-height: 1.9; color: var(--t-soft); }
.ab-story-text > p.ab-lead { margin: 26px 0 4px; font-weight: 700; font-size: clamp(22px, 1.95vw, 34px); line-height: 1.55; color: var(--t-text); }
.ab-story-photo { position: relative; aspect-ratio: 4 / 5; max-height: 640px; width: 100%; overflow: hidden; border-radius: 22px; box-shadow: 0 34px 60px -40px rgba(42, 15, 5, .7); }
.ab-story-photo img { width: 100%; height: 100%; object-fit: cover; }

.ab-way { padding: clamp(44px, 4.6vw, 72px) 0; background: #fff; }
.ab-way-in { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.7fr); gap: clamp(30px, 5vw, 90px); align-items: start; }
.ab-way-head { position: sticky; top: 120px; }
.ab-way-list { margin: 0; padding: 0; list-style: none; counter-reset: abw; }
.ab-way-list li { counter-increment: abw; display: grid; grid-template-columns: clamp(64px, 7vw, 120px) 1fr; align-items: center; gap: 12px; padding: clamp(12px, 1vw, 18px) 0; border-top: 1px solid #e6dbcf; font-weight: 600; font-size: clamp(18px, 1.5vw, 26px); line-height: 1.55; color: var(--t-text); }
.ab-way-list li:last-child { border-bottom: 1px solid #e6dbcf; }
.ab-way-list li::before { content: "0" counter(abw); direction: ltr; text-align: right; font-weight: 800; font-size: clamp(36px, 3.6vw, 64px); line-height: 1; color: #d9c8b6; }

.ab-vm { position: relative; isolation: isolate; overflow: hidden; padding: clamp(50px, 4.6vw, 76px) 0; color: #fff4e6;
  background: radial-gradient(44% 70% at 72% 26%, #ce8643 0%, #b46627 30%, rgba(153, 78, 28, .7) 58%, transparent 100%), linear-gradient(0deg, #170703 0%, transparent 42%), linear-gradient(270deg, #2a0f05 0%, #5a2810 34%, #773410 100%); }
.ab-vm .dtr-grain { opacity: .18; }
.ab-vm-in { width: min(1500px, 100% - clamp(36px, 7vw, 120px)); margin-inline: auto; }
.ab-vm .ab-kicker { color: #f0d6b8; }
.ab-vm-item { display: grid; grid-template-columns: clamp(90px, 10vw, 180px) 1fr; gap: 14px; align-items: baseline; padding: clamp(20px, 2vw, 32px) 0; }
.ab-vm-item + .ab-vm-item { border-top: 1px solid rgba(255, 244, 230, .24); }
.ab-vm-item span { font-weight: 600; font-size: clamp(17px, 1.4vw, 24px); color: #f0d6b8; }
.ab-vm-item p { margin: 0; font-weight: 800; font-size: clamp(32px, 3.9vw, 74px); line-height: 1.22; text-wrap: balance; text-shadow: 0 .02em .14em rgba(23, 7, 3, .3); }

.ab-vals-sec { padding: clamp(44px, 4.6vw, 72px) 0; }
.ab-vals-head { margin-bottom: clamp(16px, 2vw, 30px); }
.ab-vals { margin: 0; padding: 0; list-style: none; }
.ab-vals li { position: relative; display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); align-items: center; gap: 24px; border-top: 1px solid #e6dbcf; }
.ab-vals li:last-child { border-bottom: 1px solid #e6dbcf; }
.ab-vals button { display: flex; align-items: baseline; gap: clamp(14px, 1.8vw, 30px); width: 100%; padding: clamp(2px, .3vw, 6px) 0; border: 0; background: none; font: inherit; text-align: start; cursor: pointer; color: var(--t-text); opacity: .34; transition: opacity .3s; }
.ab-vals button b { direction: ltr; font-size: clamp(13px, .95vw, 16px); font-weight: 700; }
.ab-vals button span { font-weight: 800; font-size: clamp(34px, 3.4vw, 64px); line-height: 1.16; transition: translate .4s cubic-bezier(.23, 1, .32, 1); }
.ab-vals button:focus-visible { outline: 2px solid #340F04; outline-offset: 2px; }
.ab-vals p { margin: 0; font-size: clamp(16px, 1.25vw, 22px); line-height: 1.7; color: var(--t-soft); opacity: 0; translate: 0 8px; transition: opacity .3s, translate .4s cubic-bezier(.23, 1, .32, 1); }
.ab-vals li.is-on button { opacity: 1; }
.ab-vals li.is-on button span { translate: -10px 0; }
.ab-vals li.is-on p { opacity: 1; translate: 0 0; }

.ab-goals { padding: clamp(48px, 5.5vw, 84px) 0; background: #f3e8db; }
.ab-goals-head { margin-bottom: clamp(20px, 2.4vw, 36px); }
.ab-goals-list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0 clamp(22px, 3vw, 54px); margin: 0; padding: 0; list-style: none; counter-reset: abg; }
.ab-goals-list li { counter-increment: abg; display: flex; gap: 14px; padding: 18px 0; border-top: 1px solid #dac9b6; font-size: clamp(15.5px, 1.08vw, 18px); line-height: 1.7; color: var(--t-text); }
.ab-goals-list li::before { content: counter(abg); flex: none; width: 1.6em; font-weight: 800; color: var(--t-text); }

.ab-letter { padding: clamp(44px, 4.6vw, 72px) 0; background: #fff; scroll-margin-top: 70px; }
.ab-letter-in { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.9fr); gap: clamp(28px, 5vw, 90px); align-items: start; }
.ab-letter-head { position: sticky; top: 120px; }
.ab-letter-body p { margin: 20px 0 0; font-size: clamp(16.5px, 1.2vw, 20px); line-height: 2; color: var(--t-soft); }
.ab-letter-body p.ab-letter-open { margin-top: 0; font-weight: 700; font-size: clamp(23px, 2vw, 36px); line-height: 1.6; color: var(--t-text); }
.ab-sign { display: flex; flex-direction: column; gap: 3px; margin-top: 30px; }
.ab-sign b { font-weight: 800; font-size: clamp(20px, 1.6vw, 28px); color: var(--t-text); }
.ab-sign span { font-size: 16px; color: var(--t-soft); }
.ab-letter-body p.ab-org { margin-top: 30px; padding-top: 18px; border-top: 1px solid #e6dbcf; font-size: 14.5px; line-height: 1.8; color: var(--t-soft); }

.ab-close { padding: clamp(32px, 3.5vw, 56px) clamp(14px, 2.2vw, 40px); }
.ab-close h2 { margin: 0; font-weight: 800; font-size: clamp(46px, 4.8vw, 88px); line-height: 1.15; color: #fff4e6; text-shadow: 0 .02em .14em rgba(23, 7, 3, .3); }
.ab-close-acts { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; }
.ab-close-link { margin-top: clamp(12px, 2vh, 22px); font-weight: 600; font-size: 15.5px; color: #fff4e6; text-decoration: underline; text-underline-offset: 6px; }
@media (max-width: 900px) {
  .ab-story-in, .ab-way-in, .ab-letter-in { grid-template-columns: 1fr; }
  .ab-way-head, .ab-letter-head { position: static; }
  .ab-goals-list { grid-template-columns: 1fr 1fr; }
  .ab-vals li { display: block; padding-bottom: 2px; }
  .ab-vals p { max-height: 0; overflow: hidden; transition: opacity .3s, max-height .35s; translate: none; }
  .ab-vals li.is-on p { max-height: 8em; padding-bottom: 12px; }
}
@media (max-width: 600px) {
  .ab-goals-list { grid-template-columns: 1fr; }
  .ab-vm-item { grid-template-columns: 1fr; gap: 6px; }
}
@media (prefers-reduced-motion: reduce) { .ab-vals button, .ab-vals button span, .ab-vals p { transition: none; } }

.ab-dir-head { margin-bottom: clamp(40px, 4.4vw, 72px); text-align: center; }
.ab-dir { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: clamp(36px, 4.4vw, 76px); align-items: start; max-width: 1080px; margin: 0 auto; --dir-line: rgba(52, 15, 4, .24); }
.ab-dir-frame { position: relative; display: grid; place-items: center; width: clamp(130px, 11vw, 190px); aspect-ratio: 1; margin-top: 8px; }
.ab-dir-frame img { width: 100%; height: 100%; object-fit: cover; -webkit-mask-image: radial-gradient(circle, #000 60%, transparent); mask-image: radial-gradient(circle, #000 60%, transparent); }
.ab-dir-mono { font-weight: 800; font-size: clamp(36px, 3.2vw, 56px); line-height: 1; letter-spacing: .02em; color: var(--t-text); }
.ab-dir-line { position: absolute; display: block; pointer-events: none; background: var(--dir-line); }
.ab-dir-line.is-v { top: -38%; bottom: -38%; width: 1px; -webkit-mask-image: linear-gradient(180deg, transparent, #000 22%, #000 78%, transparent); mask-image: linear-gradient(180deg, transparent, #000 22%, #000 78%, transparent); }
.ab-dir-line.is-v.is-a { right: 0; }
.ab-dir-line.is-v.is-b { left: 0; }
.ab-dir-line.is-h { right: -38%; left: -38%; height: 1px; -webkit-mask-image: linear-gradient(90deg, transparent, #000 22%, #000 78%, transparent); mask-image: linear-gradient(90deg, transparent, #000 22%, #000 78%, transparent); }
.ab-dir-line.is-h.is-a { top: 0; }
.ab-dir-line.is-h.is-b { bottom: 0; }
.ab-dir-text blockquote { margin: 0; }
.ab-dir-text blockquote p { margin: 18px 0 0; font-size: clamp(16.5px, 1.15vw, 19.5px); line-height: 1.95; color: var(--t-soft); }
.ab-dir-text blockquote p.ab-dir-open { margin-top: 0; font-weight: 600; font-size: clamp(22px, 1.75vw, 31px); line-height: 1.6; color: var(--t-text); }
.ab-dir-cite { display: flex; flex-direction: column; gap: 2px; margin-top: 26px; }
.ab-dir-cite cite { font-style: normal; font-weight: 800; font-size: clamp(19px, 1.4vw, 24px); color: var(--t-text); }
.ab-dir-cite span { font-size: 15px; color: var(--t-soft); }
.ab-dir-text p.ab-org { margin: 26px 0 0; padding-top: 16px; border-top: 1px solid #e6dbcf; font-size: 14.5px; line-height: 1.8; color: var(--t-soft); }
@media (max-width: 760px) {
  .ab-dir { grid-template-columns: 1fr; justify-items: center; gap: 44px; }
  .ab-dir-text { text-align: center; }
  .ab-dir-cite { align-items: center; }
}

.ab-letter { padding: clamp(36px, 3.6vw, 56px) 0; }
.ab-dir-head { margin-bottom: clamp(30px, 3vw, 46px); }
.ab-dir-head h2 { font-size: clamp(30px, 2.9vw, 50px); }
.ab-dir { position: relative; grid-template-columns: clamp(250px, 20vw, 360px) minmax(0, 1fr); gap: 0; align-items: stretch; max-width: min(1400px, 100%); }
.ab-dir-frame { width: auto; aspect-ratio: auto; min-height: 100%; margin: 0; overflow: visible; }
.ab-dir-frame img { position: absolute; inset: 0; -webkit-mask-image: radial-gradient(circle at 50% 42%, #000 62%, transparent 92%); mask-image: radial-gradient(circle at 50% 42%, #000 62%, transparent 92%); }
.ab-dir-line.is-v { top: -34px; bottom: -34px; z-index: 1; }
.ab-dir-line.is-h { right: -5%; left: -5%; z-index: 1; -webkit-mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent); mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent); }
.ab-dir-text { padding: clamp(18px, 1.5vw, 26px) clamp(24px, 2.6vw, 44px); align-self: center; }
.ab-dir-text blockquote p { margin-top: 10px; font-size: clamp(15.5px, 1.02vw, 17.5px); line-height: 1.8; }
.ab-dir-text blockquote p.ab-dir-open { font-size: clamp(20px, 1.42vw, 25px); line-height: 1.55; }
.ab-dir-cite { margin-top: 14px; }
.ab-dir-cite cite { font-size: clamp(17px, 1.15vw, 20px); }
.ab-dir-cite span { font-size: 14px; }
.ab-letter p.ab-dir-org { max-width: 1400px; margin: 44px auto 0; padding: 0; border: 0; font-size: 14px; line-height: 1.8; color: var(--t-soft); text-align: center; }
@media (max-width: 760px) {
  .ab-dir { grid-template-columns: 1fr; }
  .ab-dir-frame { width: min(68vw, 260px); aspect-ratio: 1; min-height: 0; }
  .ab-dir-line.is-h.is-a { display: none; }
  .ab-dir-line.is-h.is-b { top: auto; }
  .ab-dir-text { padding: 26px 8px; }
}

.ab-dir-text blockquote p { font-size: clamp(16.5px, 1.05vw, 19px); line-height: 1.8; font-weight: 500; color: var(--t-text); }
.ab-dir-text blockquote p.ab-dir-open { font-size: clamp(20.5px, 1.38vw, 25px); font-weight: 600; color: var(--t-text); }

.ab-dir-cite cite { font-size: clamp(20px, 1.35vw, 24px); }
.ab-dir-cite span { font-size: clamp(15.5px, 1vw, 17px); color: var(--t-soft); }

:root { --t-text: #340f04; --t-soft: #5d5148; --t-icon: #4a200d; --t-btn: #230a02; --t-btn-ink: #fff; --t-bg-soft: #f3e8db; --t-line: #e6dbcf; --t-accent: #4a200d; }
.btn-primary, .btn-primary:hover, .about-btn, .about-btn:hover, .pg .btn-primary.pg-btn, .tc-open, .tc-open:hover, .cf-submit, .nav-cta, .nav-cta:hover, #kafu .kf-cta, #kafu .kf-cta:hover { background: var(--t-btn); color: var(--t-btn-ink); }
.ab-goals, #rihlat .rq-message, #kafu .rq-message { background: var(--t-bg-soft); }
#rihlat .rq-skyline svg, #kafu .rq-skyline svg { fill: var(--t-bg-soft); }

.nav { background: #fff; border-bottom-color: #efe9e2; }
.nav-cta, .nav-cta:hover { background: #f3e8db; color: #340f04; box-shadow: none; }
.nav-cta::before { display: none; }
.nav-cta .arrow, .nav-cta:hover .arrow { background: rgba(52, 15, 4, .1); }

:root {
  --cx-page: #f5efe6; --cx-card: #fcf8f1; --cx-mahogany: #5c3822; --cx-ink: #3b2c22; --cx-soft: #61564a; --cx-sand: #ddc4a0; --cx-line: #d7cbbb; --cx-band: #eee5d8;
  --cx-art: #f5ebe1;
  --bg: var(--cx-page); --bg-soft: var(--cx-band); --line: var(--cx-line); --ink: var(--cx-ink);
  --t-text: var(--cx-ink); --t-soft: var(--cx-soft); --t-icon: var(--cx-mahogany); --t-btn: var(--cx-mahogany); --t-btn-ink: #fff; --t-bg-soft: var(--cx-band); --t-line: var(--cx-line); --t-accent: var(--cx-mahogany);
}

.dtr, .sh, .rq-hero, .kf-hero { --t-text: #340f04; --t-soft: #5d5148; --t-icon: #4a200d; --t-btn: #230a02; --t-bg-soft: #f3e8db; --t-line: #e6dbcf; --t-accent: #4a200d; }
.pg { background: transparent; --head: var(--cx-ink); --muted: var(--cx-soft); --cream: var(--cx-page); --gold: var(--cx-mahogany); --gold-d: var(--cx-mahogany); }
.pg-eyebrow { color: var(--cx-soft); }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }

.nav { background: #fbf6f0; border-bottom-color: var(--cx-line); }
.nav-links a { color: var(--cx-soft); }
.nav-links a:hover, .nav-links a.active { color: var(--cx-mahogany); background: transparent; }
.nav-links a.active::after { background: var(--cx-mahogany); }
.nav .nav-cta, .nav .nav-cta:hover { background: transparent; color: var(--cx-ink); border: 1px solid #cdbca5; border-radius: 12px; box-shadow: none; }
.nav .nav-cta:hover { background: var(--cx-sand); transform: none; }
.nav .nav-cta::before, .nav .nav-cta::after { display: none; }
.nav .nav-cta .arrow, .nav .nav-cta:hover .arrow { background: transparent; border-radius: 0; }

.cx-shell { width: min(1280px, 100% - 112px); margin-inline: auto; }
.cx-sec { padding-block: clamp(60px, 7vw, 105px); background: var(--cx-page); scroll-margin-top: 70px; }
.cx-sec.is-tight { padding-block: clamp(28px, 3vw, 44px); }
.cx-sec.is-band { background: var(--cx-band); }
.cx-sec h2, .cx-panel h2, .contact h2 { margin: 0; font-weight: 500; font-size: clamp(29px, 3.4vw, 44px); line-height: 1.5; color: var(--cx-ink); }
.cx-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 35px; margin-bottom: 40px; }
.cx-head > p { margin: 0; max-width: 480px; padding-bottom: 5px; font-size: 15px; line-height: 1.95; color: var(--cx-soft); }
.cx-eyebrow { display: flex; align-items: center; gap: 12px; margin: 0 0 12px; font-size: 14px; font-weight: 500; color: var(--cx-ink); }
.cx-eyebrow i { flex: none; width: 7px; height: 7px; border-radius: 50%; background: #b18b60; box-shadow: 0 0 0 4px rgba(177, 139, 96, .09); }
.cx-under { position: relative; z-index: 0; display: inline-block; }
.cx-under::after { content: ""; position: absolute; z-index: -1; right: 0; left: 0; bottom: .2em; height: 9px; border-radius: 45%; background: var(--cx-sand); transform: rotate(-1.5deg); }
.cx-muted { margin: 0; font-size: 13px; line-height: 1.8; color: var(--cx-soft); }
.cx-plain { margin: 0; padding: 0; list-style: none; }

.cx-art { position: relative; margin: 0; overflow: hidden; background: var(--cx-art); border-radius: 18px; }
.cx-art img { width: 100%; height: 100%; object-fit: contain; }

.cx-btn { display: inline-flex; align-items: center; justify-content: space-between; gap: 27px; min-height: 52px; padding: 14px 23px; border-radius: 12px; background: linear-gradient(135deg, #714b31, #5c3822); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .19); color: #fff; font-size: 14px; font-weight: 500; white-space: nowrap; transition: background .25s; }
.cx-btn:hover { background: linear-gradient(135deg, #81593b, #653d25); }
.cx-btn.is-sand { background: linear-gradient(135deg, #f0dec1, #ddc4a0); color: var(--cx-ink); }
.cx-btn.is-sand:hover { background: #ead8bc; }
.cx-btn svg, .cx-link svg, .cx-more svg { flex: none; width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.cx-link { display: inline-flex; align-items: center; gap: 15px; font-size: 14px; font-weight: 500; color: var(--cx-ink); white-space: nowrap; transition: color .25s; }
.cx-link:hover { color: #8b613b; }
.cx-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 18px 27px; margin-top: 34px; }

.cx-strip { display: flex; align-items: center; height: 70px; overflow: hidden; direction: ltr; background: #ede3d5; border-block: 1px solid var(--cx-line); }
.cx-marquee { display: flex; flex-shrink: 0; align-items: center; width: max-content; white-space: nowrap; animation: cx-marquee 150s linear infinite; }
.cx-marquee span { margin-right: 55px; font-size: 20px; font-weight: 500; color: var(--cx-ink); }
.cx-marquee svg { flex: none; width: 22px; height: 22px; margin-right: 55px; fill: none; stroke: #ab8e66; stroke-width: 1.2; stroke-linecap: round; stroke-linejoin: round; }
@keyframes cx-marquee { to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .cx-marquee { animation: none; } }

.cx-cards { display: grid; gap: 18px; }
.cx-cards.is-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 25px; }
.cx-cards.is-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.cx-cards.is-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.cx-cards.is-values { display: flex; flex-wrap: wrap; justify-content: center; }
.cx-card, .cx-tile, .cx-value, .cx-prog { border: 1px solid var(--cx-line); border-radius: 28px; background: linear-gradient(145deg, #fcf8f1, #f3ebdf); box-shadow: inset 0 1px 0 #fff; transition: border-color .3s, opacity .7s, transform .7s; }
.cx-card:hover, .cx-tile:hover, .cx-value:hover, .cx-prog:hover { border-color: #ab8e66; }
.cx-card { padding: 24px 26px 30px; }
.cx-card h3, .cx-value h3 { margin: 0 0 10px; font-weight: 500; font-size: 22px; line-height: 1.5; color: var(--cx-ink); }
.cx-card p, .cx-value p { margin: 0; font-size: 14px; line-height: 1.95; color: var(--cx-soft); }
.cx-card > .cx-art { height: clamp(190px, 15vw, 235px); margin-bottom: 18px; }
.cx-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 14px; }
.cx-top svg { width: 26px; height: 26px; fill: none; stroke: #9b774e; stroke-width: 1.4; stroke-linecap: round; stroke-linejoin: round; }
.cx-top > span, .cx-value > span { font-size: 12px; color: #847666; }
.cx-tile { display: block; height: 100%; padding: 24px 26px 28px; }
.cx-tile b { display: block; font-weight: 500; font-size: 19px; line-height: 1.6; color: var(--cx-ink); }
.cx-value { flex: 0 1 calc((100% - 3 * 18px) / 4); min-width: 230px; padding: 24px 26px 28px; }
.cx-value > span { display: block; margin-bottom: 14px; }

.cx-prog { overflow: hidden; display: flex; flex-direction: column; }
.cx-prog .cx-art { height: 280px; border-radius: 0; border-bottom: 1px solid var(--cx-line); }
.cx-pill { position: absolute; top: 20px; right: 20px; padding: 6px 14px; border: 1px solid #c6ae8b; border-radius: 30px; background: rgba(252, 248, 241, .75); font-size: 12px; color: var(--cx-ink); }
.cx-prog-body { display: flex; flex: 1; flex-direction: column; padding: 30px 32px; }
.cx-prog h3 { margin: 8px 0 12px; font-weight: 500; font-size: 30px; line-height: 1.4; color: var(--cx-ink); }
.cx-prog-body > p:not(.cx-muted):not(.cx-tags) { margin: 0; font-size: 14px; line-height: 1.95; color: var(--cx-soft); }
.cx-tags { display: flex; flex-wrap: wrap; gap: 6px; margin: 20px 0; }
.cx-tags span { padding: 4px 9px; border: 1px solid var(--cx-line); border-radius: 4px; font-size: 12px; color: var(--cx-ink); }
.cx-more { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin-top: auto; padding-top: 15px; border-top: 1px solid var(--cx-line); font-size: 14px; font-weight: 500; color: var(--cx-ink); transition: color .25s; }
.cx-more:hover { color: #93643d; }

.cx-panel { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.35fr); overflow: hidden; border: 1px solid var(--cx-line); border-radius: 32px; background: linear-gradient(130deg, #fcf8f1, #f0e7da); box-shadow: inset 0 1px 0 #fff; }
.cx-panel > .cx-art { min-height: 340px; border-radius: 0; }
.cx-panel > .cx-art img { position: absolute; inset: 0; }
.cx-panel-copy { padding: clamp(28px, 4vw, 56px); }
.cx-panel-copy > p:not(.cx-eyebrow) { margin: 16px 0 0; font-size: 15px; line-height: 2; color: var(--cx-soft); }
.cx-panel-copy > p.cx-lead { font-size: 18px; font-weight: 500; line-height: 1.9; color: var(--cx-ink); }
.cx-panel blockquote { margin: 0; font-weight: 500; font-size: clamp(24px, 2.5vw, 36px); line-height: 1.7; color: var(--cx-ink); }
.cx-goals { margin: 22px 0 0; padding: 0; list-style: none; counter-reset: g; }
.cx-goals li { position: relative; padding: 11px 38px 11px 0; border-top: 1px solid var(--cx-line); font-size: 15px; line-height: 1.8; color: var(--cx-soft); counter-increment: g; }
.cx-goals li::before { content: counter(g, decimal-leading-zero); position: absolute; right: 0; top: 13px; font-size: 12px; color: #847666; }

.cx-split { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); gap: clamp(32px, 6vw, 90px); align-items: center; }
.cx-split-head { margin-bottom: 18px; }
.cx-steps { margin: 0; padding: 0; list-style: none; counter-reset: s; }
.cx-steps li { position: relative; padding: 18px 56px 18px 0; border-top: 1px solid #cbbba4; font-size: 17px; line-height: 1.8; color: var(--cx-ink); counter-increment: s; }
.cx-steps li::before { content: counter(s, decimal-leading-zero); position: absolute; right: 0; top: 17px; font-size: 22px; color: #ab8e66; }
.cx-art.is-tall { aspect-ratio: 1; border-radius: 100px 28px 28px 28px; border: 1px solid var(--cx-line); }

.cx-cta { display: flex; align-items: center; justify-content: space-between; gap: 40px; padding: clamp(32px, 4.5vw, 56px) clamp(26px, 5vw, 60px); border-radius: 32px; background: radial-gradient(ellipse at left top, #896545, transparent 70%), var(--cx-mahogany); color: #fff; }
.cx-cta span { display: block; margin-bottom: 8px; font-size: 13px; color: #e8dccb; }
.cx-cta p { margin: 0; font-weight: 500; font-size: clamp(20px, 2.1vw, 28px); line-height: 1.7; }
.cx-cta.is-two { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(28px, 5vw, 70px); margin-top: 25px; }
.cx-cta.is-two > div + div { padding-right: clamp(28px, 5vw, 70px); border-right: 1px solid rgba(232, 220, 203, .3); }
.cx-after { padding-block: clamp(50px, 6vw, 84px); }

#rihlat, #kafu { background: var(--cx-page); }
#rihlat .sec-head h2, #kafu .sec-head h2 { font-weight: 500; }
.rq-dests article { border: 1px solid var(--cx-line); border-radius: 28px; background: linear-gradient(145deg, #fcf8f1, #f3ebdf); box-shadow: inset 0 1px 0 #fff; }
.rq-dests article:hover { transform: none; border-color: #ab8e66; }
.rq-dests .ic { background: var(--cx-mahogany); border-color: #fcf8f1; color: #f0dec1; }
.rq-dests h3 { font-weight: 500; font-size: 20px; }
.rq-route, #rihlat .rq-route { color: #bda88c; }
#rihlat .rq-route i, .rq-route i { background: var(--cx-mahogany); box-shadow: 0 0 0 4px var(--cx-page), 0 0 0 5px #bda88c; }
.rq-route .flag { background: var(--cx-mahogany); }
.rq-route .flag::after { background: #b18b60; }
.rq-goals-head h2 { font-weight: 500; }
.rq-goals-head + .rq-goals { gap: 14px; }
.rq-goals-head + .rq-goals article { gap: 14px; padding: 16px 18px; border: 1px solid var(--cx-line); border-radius: 18px; background: var(--cx-card); }
.rq-goals-head + .rq-goals svg { background: var(--cx-band); color: var(--cx-mahogany); border-radius: 12px; }
.rq-goals-head + .rq-goals p { font-size: 15px; font-weight: 400; color: var(--cx-soft); }
#kafu .rq-goals { gap: 14px; }
#kafu .rq-goals article { flex: 0 0 calc((100% - 3 * 14px) / 4); min-width: 0; }

.tdir { background: var(--cx-page); }
.tdir .sec-head h2 { font-weight: 500; }
.tf { border-color: var(--cx-line); border-radius: 30px; background: transparent; color: var(--cx-ink); }
.tf:hover { background: var(--cx-band); }
.tf.is-on, .tf.is-on:hover { background: var(--cx-mahogany); border-color: var(--cx-mahogany); color: #fff; }
.tdir-search input { background: var(--cx-card); border-color: var(--cx-line); }
.tc { border: 1px solid var(--cx-line); border-radius: 28px; background: linear-gradient(145deg, #fcf8f1, #f3ebdf); box-shadow: inset 0 1px 0 #fff; }
.tc:hover { transform: none; border-color: #ab8e66; box-shadow: inset 0 1px 0 #fff; }
.tc-wave { display: none; }
.tc h3 { font-weight: 500; }
.tc-open, .tc-open:hover { border-radius: 12px; background: linear-gradient(135deg, #714b31, #5c3822); color: #fff; }
.tc-open:hover { background: linear-gradient(135deg, #81593b, #653d25); }
.tc-dialog { border: 1px solid var(--cx-line); border-radius: 28px; background: var(--cx-card); }

.ab-letter { padding: clamp(40px, 5vw, 72px) 0 clamp(60px, 7vw, 105px); background: var(--cx-page); }
.ab-dir-head h2 { font-weight: 500; color: var(--cx-ink); }
.ab-dir { --dir-line: rgba(92, 56, 34, .24); }
.ab-dir-text p { color: var(--cx-soft); }
.ab-dir-text p.ab-dir-open { color: var(--cx-ink); }
.ab-dir-cite cite { color: var(--cx-ink); }

.contact { background: var(--cx-page); }
.contact::before, .contact::after { display: none; }
.contact-rule { background: var(--cx-sand); }
.contact-text { color: var(--cx-soft); }
.ci-icon { background: var(--cx-band); color: var(--cx-mahogany); }
.contact-list a:hover .ci-icon { background: var(--cx-mahogany); color: #fff; }
.contact-list a:hover .ci-text b { color: var(--cx-mahogany); }
.contact-note { background: var(--cx-band); color: var(--cx-ink); }
.contact-form { border: 1px solid var(--cx-line); border-radius: 28px; background: linear-gradient(145deg, #fcf8f1, #f3ebdf); box-shadow: inset 0 1px 0 #fff; }
.contact-form .cf-field input, .contact-form .cf-field select, .contact-form .cf-field textarea { border-color: var(--cx-line); border-radius: 12px; background: var(--cx-card); }
.cf-submit, .btn-primary.cf-submit { border-radius: 12px; background: linear-gradient(135deg, #714b31, #5c3822); }
.cf-submit:hover, .btn-primary.cf-submit:hover { background: linear-gradient(135deg, #81593b, #653d25); }

.footer { background: var(--cx-page); border-top: 1px solid var(--cx-line); }
.ft-social a:hover, .ft-wa svg { background: var(--cx-mahogany); }

@media (max-width: 1100px) {
  .cx-shell { width: calc(100% - 64px); }
  .cx-cards.is-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cx-cards.is-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #kafu .rq-goals article { flex-basis: calc((100% - 14px) / 2); }
}
@media (max-width: 760px) {
  .cx-shell { width: calc(100% - 32px); }
  .cx-head { display: block; margin-bottom: 26px; }
  .cx-head > p { margin-top: 14px; font-size: 14px; }
  .cx-head > .cx-link { margin-top: 14px; }
  .cx-strip { height: 56px; }
  .cx-marquee span { margin-right: 35px; font-size: 17px; }
  .cx-marquee svg { margin-right: 35px; }
  .cx-cards.is-2, .cx-cards.is-3, .cx-cards.is-4 { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .cx-value { flex-basis: 100%; }
  .cx-card > .cx-art { height: 220px; }
  .cx-prog .cx-art { height: 240px; }
  .cx-prog-body { padding: 24px; }
  .cx-prog h3 { font-size: 26px; }
  .cx-panel { grid-template-columns: minmax(0, 1fr); }
  .cx-panel > .cx-art { min-height: 250px; }
  .cx-split { grid-template-columns: minmax(0, 1fr); }
  .cx-art.is-tall { width: min(100%, 320px); margin-inline: auto; border-radius: 80px 24px 24px 24px; }
  .cx-steps li { font-size: 15.5px; padding-right: 44px; }
  .cx-cta { display: block; }
  .cx-cta .cx-btn { margin-top: 24px; }
  .cx-cta.is-two { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .cx-cta.is-two > div + div { padding: 24px 0 0; border-right: 0; border-top: 1px solid rgba(232, 220, 203, .3); }
  #kafu .rq-goals article { flex-basis: 100%; }
}

.tc[hidden] { display: none; }
@media (min-width: 1101px) {
  .tdir-grid { display: flex; flex-wrap: wrap; justify-content: center; gap: 18px; }
  .tdir-grid .tc { flex: 0 0 calc((100% - 54px) / 4); }
}

.ab-letter { overflow-x: clip; }

.areas { --ink: var(--cx-ink); --gold: var(--cx-mahogany); background: var(--cx-page); }
.areas h2 { font-weight: 500; }
.areas-rule { background: var(--cx-sand); }
.areas-sub, .vm-text { color: var(--cx-soft); }
.vm-head { font-weight: 500; }
.areas-vm { border-color: var(--cx-line); background: linear-gradient(130deg, #fcf8f1, #f0e7da); box-shadow: inset 0 1px 0 #fff; }
.areas-vm::before { background: var(--cx-line); }

.cx-prog .cx-art { height: auto; aspect-ratio: 3 / 2; }
.cx-prog .cx-art img { display: block; object-fit: cover; }

.about { background: var(--cx-page); }
.about-copy { --c-link: var(--cx-mahogany); --c-mark: #e9dfd0; --c-line: var(--cx-line); --c-rule: var(--cx-sand); }
.about .about-copy h2 { font-weight: 500; }
.about-feats h3 { font-weight: 500; }
.about-feats p { font-weight: 400; }
.feat-ico { background: var(--cx-band); }
.about-feats li:hover .feat-ico { background: var(--cx-mahogany); }
.about-back-eyebrow { color: var(--cx-mahogany); }
.about-back-title { font-weight: 500; }
.about-back-title::after { background: var(--cx-sand); }
.about .about-btn, .about .about-btn .arrow { border-radius: 12px; }
.about .about-btn { background: linear-gradient(135deg, #714b31, #5c3822); }
.about .about-btn:hover { background: linear-gradient(135deg, #81593b, #653d25); }
.about-link:hover { color: var(--cx-mahogany); }

.cx-marquee { animation-direction: reverse; }

.pa { background: var(--cx-page); }
.pa-head h2 { font-weight: 500; color: var(--cx-ink); }

#rihlat { padding-bottom: clamp(50px, 6vw, 84px); }

.sh.is-full { padding: var(--navh) 0 0; }
.sh.is-full .sh-card { border-radius: 0; }
@media (max-width: 900px) { .sh.is-full { padding-top: 64px; } }

.about, .contact { background: #fbf7f1; }

@media (min-width: 801px) { .pp-p[style*="--pp-x"]:not(.is-on) img { transform: translateX(var(--pp-x)); } }

.cx-areas .cx-shell { width: min(1560px, 100% - 64px); }
.cx-areas .cx-cards { gap: 22px; }
.cx-areas .cx-prog h3 { margin: 6px 0 10px; font-size: clamp(21px, 1.6vw, 26px); }
.cx-num { font-size: 12px; color: #847666; }
.cx-areas .cx-prog-body { padding: 22px 26px 28px; }
@media (max-width: 760px) { .cx-areas .cx-shell { width: calc(100% - 32px); } }

.cx-areas.is-deck { position: relative; height: calc(100svh + 5 * 70svh); padding: 0; }
.is-deck > .cx-shell { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.td-stage { position: sticky; top: var(--td-nav, 82px); display: grid; grid-template-columns: minmax(300px, 32%) minmax(0, 1fr); gap: clamp(24px, 4vw, 70px); align-items: center; height: calc(100svh - var(--td-nav, 82px)); padding-inline: clamp(24px, 6vw, 110px); overflow: hidden; }
.td-copy { min-width: 0; }
.td-copy .sec-head { margin: 0 0 clamp(20px, 3vh, 36px); max-width: none; text-align: right; }
.td-copy .sec-head h2 { margin: 0; }
.td-cap { min-height: 13.5em; }
.td-cap.is-in { animation: td-cap .45s ease both; }
@keyframes td-cap { from { opacity: 0; transform: translateY(10px); } }
.td-num { display: block; font-size: 14px; color: #847666; }
.td-cap h3 { margin: 6px 0 12px; font-weight: 500; font-size: clamp(24px, 2vw, 34px); line-height: 1.4; color: var(--cx-ink); }
.td-cap p { margin: 0; font-size: clamp(15px, 1.05vw, 17px); line-height: 1.95; color: var(--cx-soft); }
.td-dots { display: flex; gap: 7px; margin-top: 18px; }
.td-dots i { width: 22px; height: 3px; border-radius: 3px; background: var(--cx-line); transition: background .3s; }
.td-dots i.is-on { background: var(--cx-mahogany); }
.td-deck { position: relative; height: 100%; min-width: 0; }
.td-scene { position: absolute; inset: 0; transform-style: preserve-3d; }
.td-card { position: absolute; left: 50%; top: var(--td-top); width: var(--td-w); height: var(--td-h); margin-left: calc(var(--td-w) / -2); overflow: hidden; border-radius: 6px; background: var(--cx-art); box-shadow: 0 0 0 1px var(--cx-line); transform-origin: 50% 100%; backface-visibility: visible; will-change: transform; }
.td-card img { display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; pointer-events: none; }
.td-card::after { content: ""; position: absolute; inset: 0; background: #2f0f05; opacity: var(--td-shade, 0); pointer-events: none; }
@media (max-width: 760px) {
  .td-stage { display: flex; flex-direction: column; align-items: stretch; gap: 8px; padding: 14px 16px 16px; }
  .td-copy { display: contents; }
  .td-copy .sec-head { order: 1; margin: 0; text-align: center; }
  .td-deck { order: 2; flex: 1; height: auto; min-height: 0; }
  .td-cap { order: 3; min-height: 15em; }
  .td-cap h3 { font-size: 22px; margin-bottom: 6px; }
  .td-cap p { font-size: 14px; line-height: 1.8; }
  .td-dots { margin-top: 10px; justify-content: center; }
}

@media (min-width: 761px) {
  .td-stage { grid-template-columns: minmax(320px, 38%) minmax(0, 1fr); }
  .td-copy .sec-head h2 { font-size: clamp(38px, 3.9vw, 72px); line-height: 1.3; }
  .td-num { font-size: clamp(16px, 1.1vw, 20px); }
  .td-cap h3 { margin: 8px 0 16px; font-size: clamp(28px, 2.7vw, 50px); line-height: 1.35; }
  .td-cap p { font-size: clamp(17px, 1.35vw, 24px); line-height: 1.85; }
  .td-dots { margin-top: 24px; }
  .td-dots i { width: 30px; height: 4px; }
}

.td-card::after { display: none; }
.td-card i { position: absolute; inset: 0; background: #2f0f05; opacity: 0; pointer-events: none; }
.td-cap.is-in { animation: none; }
.td-cap-in { transition: opacity .28s ease, transform .28s ease; }
.td-cap-in.is-out { opacity: 0; transform: translateY(8px); transition-duration: .16s; }

.kf-days { background: radial-gradient(120% 70% at 50% 0%, #fcf8f1, #f7f0e5 55%, #f0e7da); border: 1px solid var(--cx-line); box-shadow: inset 0 1px 0 #fff; }
.kf-days .kf-days-tab { background: linear-gradient(135deg, #714b31, #5c3822); color: #fff; font-weight: 500; box-shadow: none; }
.kf-days .kf-days-tab svg { color: var(--cx-sand); }
.kf-days ol::before { border-right-color: #bda88c; }
.kf-days ol > li + li { border-top-color: var(--cx-line); }
.kf-days ol > li::before { background: var(--cx-mahogany); box-shadow: 0 0 0 4px #f7f0e5; }
.kf-days .kf-num { background: var(--cx-mahogany); color: #e8dccb; font-weight: 500; }
.kf-days .kf-num b { color: #fff; font-weight: 600; }
.kf-days .kf-day-h svg { color: var(--cx-mahogany); }
.kf-days .kf-day-h h3 { font-weight: 500; color: var(--cx-ink); }
.kf-days .kf-day-h p { font-weight: 400; color: var(--cx-soft); }
.kf-days .kf-acts b, .kf-days .kf-goal b { font-weight: 500; color: var(--cx-mahogany); }
.kf-days .kf-acts ul { color: var(--cx-soft); }
.kf-days .kf-acts li::marker { color: #b18b60; }
.kf-days .kf-goal { background: var(--cx-card); border-color: var(--cx-line); }
.kf-days .kf-goal p { color: var(--cx-soft); }
.kf-days .kf-ph { background: var(--cx-band); }
.kf-days .kf-safe { border-top-color: var(--cx-line); color: var(--cx-soft); }
.kf-days .kf-safe svg { color: var(--cx-mahogany); }

#kafu { padding-bottom: clamp(50px, 6vw, 84px); }

.about-pg .cx-eyebrow { font-size: clamp(16px, 1.15vw, 20px); }
.about-pg .cx-sec h2, .about-pg .cx-panel h2 { font-size: clamp(34px, 3.6vw, 62px); line-height: 1.35; }
.about-pg .cx-panel-copy > p:not(.cx-eyebrow) { font-size: clamp(17px, 1.3vw, 22px); line-height: 1.95; }
.about-pg .cx-panel-copy > p.cx-lead { font-size: clamp(21px, 1.7vw, 30px); line-height: 1.75; }
.about-pg .cx-steps li { padding: 22px 64px 22px 0; font-size: clamp(19px, 1.5vw, 26px); line-height: 1.7; }
.about-pg .cx-steps li::before { top: 22px; font-size: clamp(22px, 1.6vw, 28px); }
.about-pg .cx-cta span { margin-bottom: 12px; font-size: clamp(17px, 1.25vw, 22px); }
.about-pg .cx-cta p { font-size: clamp(24px, 2.5vw, 42px); line-height: 1.6; }
.about-pg .cx-value > span { font-size: clamp(15px, 1vw, 18px); }
.about-pg .cx-value h3 { font-size: clamp(26px, 2vw, 36px); }
.about-pg .cx-value p { font-size: clamp(17px, 1.2vw, 21px); line-height: 1.8; }
@media (max-width: 760px) { .about-pg .cx-steps li { padding-right: 48px; } }

@media (min-width: 761px) {
  #story .cx-shell { width: min(1600px, 100% - 64px); }
  #story .cx-panel { grid-template-columns: minmax(0, 2.4fr) minmax(0, 1fr); align-items: stretch; }
  #story .cx-panel > .cx-art { order: 2; min-height: 0; }
  #story .cx-panel-copy { order: 1; padding: clamp(26px, 2.8vw, 48px) clamp(28px, 3.4vw, 60px); }
  #story .cx-panel-copy > p:not(.cx-eyebrow) { margin-top: 12px; line-height: 1.8; }
}

.about-pg .areas-vm { --ink: var(--cx-ink); --gold: var(--cx-mahogany); margin-top: 0; }
@media (min-width: 901px) {
  .about-pg .areas-vm { --u: calc(0.9 * min(calc(100vw / 1672), calc(100vh / 941))); }
}

.about-pg .cx-value { display: flex; flex-direction: column; padding: 0 0 28px; overflow: hidden; }
.about-pg .cx-value figure { margin: 0 0 20px; aspect-ratio: 3 / 2; overflow: hidden; background: var(--cx-art); }
.about-pg .cx-value img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .8s cubic-bezier(.2, .7, .2, 1); }
.about-pg .cx-value:hover img { transform: scale(1.04); }
.about-pg .cx-value > span, .about-pg .cx-value h3, .about-pg .cx-value p { margin-inline: 26px; }
@media (min-width: 761px) {
  #values .cx-shell { width: min(1600px, 100% - 64px); }
}
@media (prefers-reduced-motion: reduce) {
  .about-pg .cx-value img { transition: none; }
  .about-pg .cx-value:hover img { transform: none; }
}

@media (max-width: 760px) {
  .about-pg .cx-cards.is-values { gap: 12px; }
  .about-pg .cx-value { flex: 0 1 calc((100% - 12px) / 2); min-width: 0; padding-bottom: 18px; border-radius: 20px; }
  .about-pg .cx-value figure { margin-bottom: 12px; }
  .about-pg .cx-value > span, .about-pg .cx-value h3, .about-pg .cx-value p { margin-inline: 14px; }
  .about-pg .cx-value > span { margin-bottom: 6px; font-size: 13px; }
  .about-pg .cx-value h3 { margin-bottom: 6px; font-size: 21px; }
  .about-pg .cx-value p { font-size: 14.5px; line-height: 1.7; }
}

.about-pg .ab-dir { --dir-line: rgba(92, 56, 34, .34); }
@media (min-width: 901px) {
  .about-pg .ab-dir-line.is-v { top: -96px; bottom: -96px; -webkit-mask-image: linear-gradient(180deg, transparent, #000 88px, #000 calc(100% - 88px), transparent); mask-image: linear-gradient(180deg, transparent, #000 88px, #000 calc(100% - 88px), transparent); }
  .about-pg .ab-dir-line.is-h { right: -9%; left: -9%; -webkit-mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent); mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent); }
}

@media (min-width: 901px) {
  .about-pg .ab-letter .wrap { width: min(1500px, 100% - 64px); }
  .about-pg .ab-dir { max-width: 100%; }
  .about-pg .ab-dir-text { padding-inline: clamp(32px, 3.4vw, 64px); padding-block: clamp(26px, 2.2vw, 40px); }
}

#story .cx-shell { width: min(1640px, 100% - 64px); }
.ab-intro { display: grid; grid-template-columns: minmax(0, .82fr) minmax(0, 1fr); gap: clamp(36px, 4vw, 76px); align-items: center; }
.ab-intro-copy > * { margin: 0; }
.about-pg .ab-intro-copy .ab-intro-eyebrow { font-size: clamp(18px, 1.35vw, 25px); line-height: 1.5; color: #847666; }
.about-pg .ab-intro-copy h2 { margin-top: 10px; font-weight: 600; font-size: clamp(38px, 4vw, 72px); line-height: 1.3; color: var(--cx-mahogany); }
.about-pg .ab-intro-copy > p:not(.ab-intro-eyebrow) { margin-top: clamp(14px, 1.1vw, 20px); font-size: clamp(17px, 1.2vw, 22px); line-height: 1.85; color: var(--cx-soft); }
.about-pg .ab-intro-copy > p.is-lead { font-weight: 500; color: var(--cx-ink); }
.ab-intro-link { display: inline-flex; align-items: center; gap: 14px; margin-top: clamp(20px, 1.8vw, 32px); font-weight: 600; font-size: clamp(18px, 1.35vw, 25px); color: var(--cx-mahogany); text-decoration: none; }
.ab-intro-link span:last-child { transition: transform .3s; }
.ab-intro-link:hover span:last-child, .ab-intro-link:focus-visible span:last-child { transform: translateX(-6px); }
.ab-intro-art { margin: 0; overflow: hidden; border-radius: clamp(22px, 2.4vw, 42px); background: var(--cx-art); }
.ab-intro-art img { display: block; width: 100%; height: auto; }
@media (max-width: 900px) {
  #story .cx-shell { width: calc(100% - 32px); }
  .ab-intro { grid-template-columns: minmax(0, 1fr); gap: 28px; }
}

.ct-pg { background: var(--cx-page); --ink: var(--cx-ink); --gold: var(--cx-mahogany); --brown: var(--cx-mahogany); }
.ct-pg .cx-shell { width: min(1320px, 100% - 64px); margin-inline: auto; }
.ct-hero { --navh: calc(90 * min(calc(100vw / 1672), calc(100vh / 941))); padding: calc(var(--navh) + clamp(22px, 2.6vw, 44px)) 0 clamp(14px, 1.6vw, 26px); }
.ct-hero-in { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, 40%); gap: clamp(20px, 3vw, 56px); align-items: center; }
.ct-eyebrow { display: flex; align-items: center; gap: 14px; margin: 0; font-size: clamp(16px, 1.2vw, 21px); color: var(--cx-soft); }
.ct-eyebrow::after { content: ""; width: 54px; height: 2px; background: var(--cx-sand); }
.ct-hero h1 { margin: clamp(8px, .8vw, 14px) 0 0; font-weight: 600; font-size: clamp(42px, 4.8vw, 84px); line-height: 1.25; color: var(--cx-mahogany); }
.ct-lead { margin: clamp(8px, .8vw, 14px) 0 0; max-width: 620px; font-size: clamp(18px, 1.5vw, 27px); line-height: 1.7; color: var(--cx-soft); }
.ct-hero-art { margin: 0; -webkit-mask-image: radial-gradient(ellipse 50% 50% at 50% 50%, #000 72%, transparent); mask-image: radial-gradient(ellipse 50% 50% at 50% 50%, #000 72%, transparent); }
.ct-hero-art img { display: block; width: 100%; height: auto; }

.ct-main { padding: 0 0 clamp(36px, 4vw, 64px); }
.ct-card { display: grid; grid-template-columns: minmax(0, 1.75fr) minmax(0, 1fr); border: 1px solid var(--cx-line); border-radius: 28px; background: var(--cx-card); box-shadow: 0 18px 44px -30px rgba(70, 35, 15, .28); }
.ct-form { --u: 1px; display: flex; flex-direction: column; gap: 18px; min-width: 0; padding: clamp(26px, 2.8vw, 46px); }
.ct-form-head h2, .ct-side h2, .ct-map-head h2 { margin: 0; font-weight: 600; font-size: clamp(28px, 2.5vw, 44px); line-height: 1.35; color: var(--cx-ink); }
.ct-form-head p { margin: 6px 0 4px; font-size: clamp(16px, 1.1vw, 19px); line-height: 1.8; color: var(--cx-soft); }
.ct-form .cf-row { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.ct-form .cf-field label { margin-bottom: 8px; font-weight: 500; font-size: clamp(16px, 1.05vw, 18px); color: var(--cx-ink); }
.ct-form .cf-field input, .ct-form .cf-field select, .ct-form .cf-field textarea { height: 52px; padding: 0 16px; border: 1px solid var(--cx-line); border-radius: 12px; background: #fffdf9; font-size: 16px; }
.ct-form .cf-select select { padding-left: 44px; }
.ct-form .cf-select .cf-box::after { left: 18px; width: 9px; height: 9px; }
.ct-form .cf-field textarea { height: 128px; padding: 13px 16px; }
.ct-form .cf-field input:focus, .ct-form .cf-field select:focus, .ct-form .cf-field textarea:focus { border-color: #ab8e66; background: #fff; box-shadow: 0 0 0 3px rgba(171, 142, 102, .18); }
.ct-form .cf-field.is-invalid input, .ct-form .cf-field.is-invalid select, .ct-form .cf-field.is-invalid textarea { border-color: #c0573a; background: #fff8f5; }
.ct-form .cf-field.is-invalid label { color: #c0573a; }
.ct-form .cf-consent { gap: 12px; margin: 0; font-size: clamp(15px, 1vw, 17px); color: var(--cx-soft); }
.ct-form .cf-consent.is-invalid { color: #c0573a; }
.ct-form .cf-consent input { width: 21px; height: 21px; }
.ct-form .cf-consent a { color: var(--cx-ink); text-decoration-color: var(--cx-sand); text-underline-offset: 5px; }
.ct-form .cf-submit { display: inline-flex; align-items: center; justify-content: center; gap: 22px; align-self: flex-start; width: clamp(230px, 18vw, 290px); height: 56px; margin: 2px 0 0; border-radius: 12px; font-weight: 600; font-size: 18px; color: #fff; box-shadow: none; }
.ct-form .cf-status { font-size: 15px; text-align: right; }

.ct-side { display: flex; flex-direction: column; min-width: 0; padding: clamp(26px, 2.8vw, 46px) clamp(24px, 2.4vw, 40px) 26px; border-right: 1px solid var(--cx-line); }
.ct-rule { display: block; width: 100%; height: 2px; margin-top: 14px; background: linear-gradient(to left, var(--cx-sand) 55%, transparent); }
.ct-list { margin: 8px 0 0; padding: 0; list-style: none; }
.ct-list li + li { border-top: 1px solid var(--cx-line); }
.ct-list a { display: flex; align-items: center; gap: 16px; padding: 18px 0; color: inherit; text-decoration: none; }
.ct-icon { flex: none; display: grid; place-items: center; width: 46px; height: 46px; border-radius: 12px; background: var(--cx-band); transition: background .25s; }
.ct-list a:hover .ct-icon, .ct-list a:focus-visible .ct-icon { background: var(--cx-sand); }
.ct-icon svg { width: 24px; height: 24px; fill: none; stroke: var(--cx-mahogany); stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.ct-icon svg .fill { fill: var(--cx-mahogany); stroke: none; }
.ct-text { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.ct-text b { font-weight: 600; font-size: clamp(17px, 1.2vw, 21px); color: var(--cx-ink); }
.ct-text span { font-size: clamp(15px, 1vw, 18px); color: var(--cx-soft); text-align: right; overflow-wrap: anywhere; }
.ct-sprout { margin: auto auto 0; padding-top: 18px; width: min(224px, 80%); }
.ct-sprout img { display: block; width: 100%; height: auto; mix-blend-mode: multiply; -webkit-mask-image: radial-gradient(ellipse 50% 50% at 50% 50%, #000 70%, transparent); mask-image: radial-gradient(ellipse 50% 50% at 50% 50%, #000 70%, transparent); }

.ct-map { padding: 0 0 clamp(48px, 5vw, 84px); }
.ct-map-head { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 18px; }
.ct-map-btn { display: inline-flex; align-items: center; gap: 12px; padding: 11px 20px; border: 1px solid #ab8e66; border-radius: 12px; font-weight: 500; font-size: 16px; color: var(--cx-ink); text-decoration: none; transition: background .25s; }
.ct-map-btn:hover, .ct-map-btn:focus-visible { background: var(--cx-card); }
.ct-map-btn svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.ct-map-frame { overflow: hidden; height: clamp(320px, 28vw, 480px); border: 1px solid var(--cx-line); border-radius: 26px; background: var(--cx-band); }
.ct-map-frame iframe { display: block; width: 100%; height: 100%; border: 0; filter: sepia(.32) saturate(.8) brightness(1.02); }

@media (max-width: 900px) {
  .ct-pg .cx-shell { width: calc(100% - 32px); }
  .ct-hero { padding-top: 88px; }
  .ct-hero-in { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  .ct-hero-art { max-width: 340px; margin-inline: auto; }
  .ct-card { grid-template-columns: minmax(0, 1fr); border-radius: 22px; }
  .ct-side { border-right: 0; border-top: 1px solid var(--cx-line); }
  .ct-form .cf-row { grid-template-columns: 1fr; gap: 18px; }
  .ct-form .cf-submit { align-self: stretch; width: 100%; }
}

.hp { padding: clamp(36px, 3vw, 56px) 0 clamp(44px, 3.6vw, 68px); background: var(--cx-page); scroll-margin-top: 70px; }
.hp-shell { width: min(1280px, 100% - 64px); margin-inline: auto; }
.hp-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 32px; margin-bottom: clamp(20px, 1.7vw, 30px); }
.hp-eyebrow { margin: 0; font-size: clamp(17px, 1.3vw, 24px); color: #a07c5b; }
.hp h2 { margin: 4px 0 0; font-weight: 600; font-size: clamp(36px, 3.6vw, 66px); line-height: 1.3; color: var(--cx-mahogany); }
.hp-sub { margin: 6px 0 0; max-width: 980px; font-size: clamp(16px, 1.2vw, 22px); line-height: 1.75; color: var(--cx-soft); }
.hp-all { flex: none; display: inline-flex; align-items: center; gap: 16px; padding-bottom: 5px; border-bottom: 1px solid var(--cx-mahogany); font-size: clamp(16px, 1.2vw, 21px); color: var(--cx-mahogany); text-decoration: none; }
.hp-all span:last-child, .hp-go i { transition: transform .3s; }
.hp-all:hover span:last-child, .hp-all:focus-visible span:last-child { transform: translateX(-6px); }
.hp-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(18px, 2vw, 34px); }
.hp-card { display: flex; flex-direction: column; overflow: hidden; border: 1px solid var(--cx-line); border-radius: 26px; background: var(--cx-card); color: inherit; text-decoration: none; transition: border-color .3s, box-shadow .3s, opacity .7s, transform .7s; }
.hp-card:hover, .hp-card:focus-visible { border-color: #ab8e66; box-shadow: 0 22px 44px -30px rgba(70, 35, 15, .4); }
.hp-art { display: block; overflow: hidden; aspect-ratio: 16 / 10; background: var(--cx-art); }
.hp-art img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .9s cubic-bezier(.2, .7, .2, 1); }
.hp-card:hover .hp-art img, .hp-card:focus-visible .hp-art img { transform: scale(1.03); }
.hp-body { display: block; padding: clamp(14px, 1.1vw, 20px) clamp(20px, 1.8vw, 32px) clamp(16px, 1.2vw, 22px); }
.hp-card h3 { margin: 0; font-weight: 600; font-size: clamp(26px, 2.3vw, 42px); line-height: 1.35; color: var(--cx-mahogany); }
.hp-row { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 8px; }
.hp-tag { min-width: 0; font-size: clamp(15.5px, 1.1vw, 20px); line-height: 1.65; color: var(--cx-soft); }
.hp-go { flex: none; display: inline-flex; align-items: center; gap: 12px; font-size: clamp(15.5px, 1.05vw, 19px); color: var(--cx-mahogany); }
.hp-go > span { padding-bottom: 3px; border-bottom: 1px solid var(--cx-mahogany); }
.hp-go i { display: grid; place-items: center; width: 34px; height: 34px; border: 1px solid var(--cx-mahogany); border-radius: 50%; font-style: normal; line-height: 1; }
.hp-card:hover .hp-go i, .hp-card:focus-visible .hp-go i { transform: translateX(-4px); }
@media (max-width: 900px) {
  .hp-shell { width: calc(100% - 32px); }
  .hp-grid { grid-template-columns: minmax(0, 1fr); }
  .hp-card { border-radius: 22px; }
}
@media (max-width: 620px) {
  .hp-head { flex-direction: column; align-items: flex-start; gap: 16px; }
  .hp-row { flex-direction: column; align-items: flex-start; gap: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  .hp-art img, .hp-go i, .hp-all span:last-child { transition: none; }
}

.about-cards .about-curve { display: none; }
.about-tag.is-dark { color: #2f1a0d; }

.ct-faq { padding: clamp(44px, 4.6vw, 80px) 0 clamp(52px, 5.4vw, 92px); background: var(--cx-band); scroll-margin-top: 70px; }
.ct-faq .cx-shell { width: min(1040px, 100% - 64px); }
.ct-faq h2 { margin: 0 0 clamp(18px, 1.8vw, 30px); font-weight: 600; font-size: clamp(28px, 2.5vw, 44px); line-height: 1.35; color: var(--cx-ink); }
.ct-faq-list { border-top: 1px solid var(--cx-line); }
.ct-faq details { border-bottom: 1px solid var(--cx-line); }
.ct-faq summary { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: clamp(15px, 1.25vw, 22px) 0; list-style: none; font-weight: 500; font-size: clamp(17px, 1.25vw, 22px); line-height: 1.6; color: var(--cx-ink); cursor: pointer; }
.ct-faq summary::-webkit-details-marker { display: none; }
.ct-faq summary::after { content: "+"; flex: none; display: grid; place-items: center; width: 32px; height: 32px; border: 1px solid #ab8e66; border-radius: 50%; font-size: 20px; line-height: 1; color: var(--cx-mahogany); transition: background .25s, color .25s; }
.ct-faq details[open] summary::after { content: "\2212"; background: var(--cx-mahogany); color: #fff; }
.ct-faq summary:focus-visible { outline: 2px solid var(--cx-mahogany); outline-offset: 3px; border-radius: 6px; }
.ct-faq details p { margin: 0; padding: 0 0 clamp(16px, 1.4vw, 24px) 52px; font-size: clamp(16px, 1.1vw, 19px); line-height: 1.85; color: var(--cx-soft); }
@media (max-width: 900px) {
  .ct-faq .cx-shell { width: calc(100% - 32px); }
  .ct-faq details p { padding-left: 0; }
}

.lg-pg { background: var(--cx-page); }
.lg-doc { --navh: calc(90 * min(calc(100vw / 1672), calc(100vh / 941))); width: min(860px, 100% - 64px); margin-inline: auto; padding: calc(var(--navh) + clamp(30px, 3.4vw, 60px)) 0 clamp(52px, 5.4vw, 92px); }
.lg-head { margin-bottom: clamp(20px, 2vw, 34px); padding-bottom: clamp(16px, 1.5vw, 24px); border-bottom: 1px solid var(--cx-line); }
.lg-doc h1 { margin: 0; font-weight: 600; font-size: clamp(36px, 3.6vw, 62px); line-height: 1.3; color: var(--cx-mahogany); }
.lg-date { margin: 8px 0 0; font-size: 15px; color: #847666; }
.lg-doc h2 { margin: clamp(22px, 2vw, 34px) 0 6px; font-weight: 600; font-size: clamp(20px, 1.5vw, 26px); line-height: 1.5; color: var(--cx-ink); }
.lg-doc p, .lg-list li { font-size: clamp(16.5px, 1.1vw, 19px); line-height: 1.9; color: var(--cx-soft); }
.lg-doc p { margin: 0 0 10px; }
.lg-list { margin: 0; padding: 0 22px 0 0; }
.lg-list li { margin-bottom: 10px; padding-right: 4px; }
.lg-doc a { color: var(--cx-mahogany); text-underline-offset: 4px; }
@media (max-width: 900px) {
  .lg-doc { width: calc(100% - 32px); padding-top: 96px; }
}

@media (max-width: 600px) {
  .about-tag { font-size: 10.5px; line-height: 1.25; }
  .about-tag svg { width: 16px; height: 16px; min-width: 0; min-height: 0; margin-bottom: 3px; }
  .about-tag::after { display: none; }
  div.about-card:nth-of-type(1) .about-tag { left: 77%; }
  div.about-card:nth-of-type(2) .about-tag { left: 71%; }
  div.about-card:nth-of-type(3) .about-tag { left: 79%; }
  div.about-card:nth-of-type(4) .about-tag { left: 88%; top: 13%; }
}

@media (max-width: 600px) {
  .about-back { gap: 2px; padding: 0 9%; }
  .about-back svg, .about-back-eyebrow, .about-back-title::after { display: none; }
  .about-back-title { margin: 0; font-size: 15px; }
  .about-back-text { max-width: none; font-size: 11px; line-height: 1.45; }
}

.hx-duo { filter: none; }

.hx-row[data-dir] .hx-track.is-js { animation: none; }
@media (max-width: 900px) {
  .nav-toggle { align-items: center; }
  .nav-toggle span { display: block; flex: none; width: 22px; }
}

.dtr-photo .dtr-duo { filter: none; }

@media (max-width: 760px) {
  .td-stage { padding: 8px 16px 10px; gap: 6px; }
  .td-deck { overflow: hidden; }
  .td-cap h3 { margin: 2px 0 4px; }
  .td-cap p { line-height: 1.6; }
  .td-dots { margin-top: 8px; }
}

@media (max-width: 900px) {
  .about-feats { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 20px; }
  .about-feats li + li { border-top: 0; }
  .about-feats li:nth-child(n + 3) { border-top: 1px solid var(--c-line); }
}
@media (max-width: 600px) {
  .about-feats { column-gap: 14px; }
  .about-feats li { flex-direction: column; align-items: flex-start; gap: 8px; padding: 14px 0; }
  .about-feats .feat-ico { width: 40px; height: 40px; }
  .about-feats h3 { font-size: 16px; }
  .about-feats p { font-size: 13.5px; line-height: 1.6; }
}

@media (max-width: 700px) {
  .footer { padding-top: 36px; }
  .ft-inner { padding-bottom: 20px; gap: 26px 18px; align-items: start; }
  nav.ft-col[aria-labelledby="ftAreas"] { display: none; }
  .ft-links { margin-top: 12px; gap: 8px; }
  .ft-reach-text { margin-top: 10px; line-height: 1.7; }
  .ft-wa { margin-top: 12px; }
  .ft-mail { margin-top: 10px; }
}

@media (max-width: 900px) {
  .ft-wa { padding: 0 18px 0 6px; }
}

.tc-ph { aspect-ratio: 1 / 1; margin: 10px 10px 0; border-radius: 20px; background: #eadfd2; }
.tc-ph img { object-position: 50% 18%; }
.tc:hover .tc-ph img { transform: none; }
.tc-body { padding-top: 16px; }

.kr-art img { border-radius: 22px; aspect-ratio: 3 / 2; object-fit: cover; width: 100%; height: auto; }
.kr-traits { display: grid; gap: 12px; margin: 0; padding: 0; border: 0; min-width: 0; }
.kr-traits legend { padding: 0; margin-bottom: 6px; font-weight: 700; font-size: calc(23 * var(--u)); color: var(--ink); }
.kr-traits legend i { font-style: normal; color: var(--gold); }
.kr-hint { margin: 0 0 4px; font-size: 15px; line-height: 1.8; color: var(--cx-soft); }
.kr-trait { display: grid; grid-template-columns: 38px 1fr; align-items: center; gap: 12px; }
.kr-trait label { display: grid; place-items: center; width: 38px; height: 38px; margin: 0; border-radius: 50%; background: var(--cx-band); font-size: 16px; color: var(--cx-mahogany); }
.kr-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.kr-trait.is-invalid label { background: #fbe4dc; }
.kr-facts { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.kr-facts li { display: flex; justify-content: space-between; gap: 12px; padding: 12px 16px; border-radius: 12px; background: var(--cx-card); border: 1px solid var(--cx-line); }
.kr-facts small { font-size: 14px; color: var(--cx-soft); }
.kr-facts b { font-weight: 600; font-size: 15px; color: var(--cx-ink); }
.kr-more { display: inline-flex; gap: 8px; margin-top: 14px; font-weight: 600; color: var(--cx-mahogany); text-decoration: underline; text-decoration-color: var(--cx-sand); text-underline-offset: 6px; }
.kr-side-sub { margin-top: 34px; }
.kr-motto { margin: 28px 0 0; padding-top: 18px; border-top: 1px solid var(--cx-line); font-weight: 600; color: var(--cx-mahogany); }
.kr-pg .ct-side h2 { font-size: clamp(24px, 2vw, 34px); }
.kf-reg { display: inline-flex; align-items: center; gap: 10px; margin-top: 26px; padding: 14px 26px; border-radius: 12px; background: #fff4e6; color: #3c1307; font-weight: 700; font-size: 17px; text-decoration: none; transition: transform .2s, background .2s; }
.kf-reg:hover { transform: translateY(-2px); background: #fff; }
.kf-reg { padding: 16px 32px; font-size: 18px; box-shadow: 0 12px 30px -14px rgba(0, 0, 0, .6); }
.kf-reg span { font-size: 20px; }
.kf-reg-end { display: flex; flex-direction: column; align-items: center; gap: 4px; margin-top: clamp(36px, 4vw, 64px); padding: clamp(26px, 3vw, 44px) 20px; border-radius: 24px; background: linear-gradient(135deg, #3c1307, #5c3822); text-align: center; }
.kf-reg-end p { margin: 0; font-weight: 600; font-size: clamp(20px, 1.8vw, 28px); color: #fff4e6; }
.kr-traits { display: block; }
.kr-traits > * + * { margin-top: 12px; }
.kr-traits legend { display: block; float: right; width: 100%; margin-bottom: 0; }
.kr-traits legend + * { clear: both; padding-top: 8px; }
@media (max-width: 600px) { .kr-traits legend { font-size: 19px; } }
.kr-more { text-decoration: none; }
.kr-art { -webkit-mask-image: none; mask-image: none; }
.kr-art img { border-radius: 0; aspect-ratio: auto; }
.kr-pg .ct-rule { background: var(--cx-sand); opacity: .7; }
.kr-art img { border-radius: 10px; border: 1px solid var(--cx-line); }
.kr-pg .ct-rule { width: 56px; height: 3px; border-radius: 3px; opacity: 1; background: var(--cx-sand); margin-bottom: 18px; }
