:root {
  --color-bg: #f3ece3; --color-text: #3a322a; --color-heading: #1a1612;
  --color-muted: #7a6e62; --color-accent: #b08a5a; --color-surface: #e8ddd0;
  --color-border: rgba(26,22,18,.12); --nav-fg: #f3ece3; --nav-solid: rgba(243,236,227,.94);
  --nav-solid-fg: #1a1612; --btn-primary-fg: #1a1612; --font-display: 'Cormorant Garamond', serif;
  --font-body: 'Assistant', sans-serif; --footer-bg: #1a1612;
}
html:has(body.theme-radiant) { overflow-x: hidden; }
.theme-radiant { overflow-x: hidden; overscroll-behavior-x: none; }
.theme-radiant [data-reveal="left"], .theme-radiant [data-reveal="right"] { transform: translateY(24px); }
body { font-family: var(--font-body); background: var(--color-bg); color: var(--color-text); }
h1,h2,h3 { font-family: var(--font-display); font-weight: 400; letter-spacing: -.02em; }
.theme-radiant .site-footer, .theme-radiant .site-footer p, .theme-radiant .site-footer a, .theme-radiant .site-footer button, .theme-radiant .site-footer h3 { color: #d9cbb8; }
.rad-hero { position: relative; min-height: 100vh; display: grid; overflow: hidden; isolation: isolate; }
.rad-hero__floor { position: relative; }
@media (min-width: 880px) { .rad-hero { grid-template-columns: 1.45fr .7fr; } }
.rad-hero__floor, .rad-hero__side { overflow: hidden; min-height: 46vh; background: #cbbba6; }
.rad-hero__side { display: grid; grid-template-rows: 1fr 1fr; }
.rad-hero img { width: 100%; height: 100%; object-fit: cover; }
.rad-hero__copy { position: absolute; inset: auto 0 0; z-index: 2; padding: 5.5rem 8vw 4.5rem; color: #f7f1e8;
  background: linear-gradient(transparent, rgba(26,22,18,.78)); max-width: min(46rem, 94vw); }
.rad-hero h1 { font-size: clamp(3.2rem, 8vw, 6.4rem); line-height: .92; font-style: italic; }
.rad-rule { display: block; width: 3.4rem; height: 2px; margin: 1rem 0 1.1rem; background: #c4894a; box-shadow: 0 0 12px rgba(196,137,74,.45); }
.rad-hero .lede { font-size: 1.12rem; max-width: 28ch; color: #eadfd2; }
.rad-hero .lede--nowrap { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; display: block; }
.hero-actions { display: flex; gap: .8rem; flex-wrap: wrap; margin-top: 1.4rem; }
.rad-film { background: #1a1612; padding: 12px 0; overflow: hidden; }
.rad-marquee { overflow: hidden; width: 100%; direction: ltr; }
.rad-marquee__track { display: flex; width: max-content; animation: rad-roll 46s linear infinite; }
.rad-marquee:hover .rad-marquee__track, .rad-marquee:focus-within .rad-marquee__track { animation-play-state: paused; }
.rad-marquee__set { display: flex; gap: 10px; padding-inline-end: 10px; flex-shrink: 0; }
.rad-marquee figure { flex: 0 0 420px; margin: 0; overflow: hidden; background: #3a322a; }
.rad-marquee img { width: 420px; height: 28vh; max-height: 280px; object-fit: cover; object-position: center 78%; display: block; }
@keyframes rad-roll { to { transform: translate3d(-50%,0,0); } }
.rad-about { padding-block: 7rem; overflow: hidden; }
.rad-about__grid { display: grid; gap: 3.5rem; align-items: center; }
@media (min-width: 880px) { .rad-about__grid { grid-template-columns: 1.05fr .95fr; } }
.rad-about__img { aspect-ratio: 4/5; overflow: hidden; background: #cbbba6; }
.rad-about__subtitle { margin-top: 1.1rem; color: var(--color-heading); font-family: var(--font-display); font-size: 1.2rem; letter-spacing: -.01em; opacity: 0.92; }
.body-lg { font-size: 1.12rem; line-height: 1.85; color: var(--color-muted); }
.rad-stats { display: flex; gap: 0; margin-top: 2.2rem; border: 1px solid rgba(180,138,90,.22); border-radius: 16px; overflow: hidden; }
.rad-stat { flex: 1; display: flex; flex-direction: column; align-items: center; text-align: center; padding: 1.25rem 1rem; gap: .25rem; }
.rad-stat + .rad-stat { border-inline-start: 1px solid rgba(180,138,90,.22); }
.rad-stat__num { font-family: var(--font-display); font-size: clamp(2rem, 4vw, 2.6rem); color: #c4894a; line-height: 1; font-weight: 600; }
.rad-stat__label { font-size: .82rem; color: var(--color-muted); letter-spacing: .04em; }
.rad-belief { display: grid; background: #1a1612; color: #f7f1e8; overflow: hidden; }
@media (min-width: 800px) { .rad-belief { grid-template-columns: .9fr 1.1fr; min-height: 62vh; } }
.rad-belief blockquote { margin: 0; padding: 4rem 8vw; display: flex; flex-direction: column; justify-content: center; border-inline-start: 3px solid #c4894a; }
.rad-belief p:last-of-type { font-family: var(--font-display); font-size: clamp(1.35rem, 2.5vw, 2rem); font-style: italic; line-height: 1.5; max-width: 22ch; }
.rad-belief cite { margin-top: 1.4rem; letter-spacing: .12em; font-size: .8rem; color: #cbbba6; font-style: normal; }
.rad-belief__img { min-height: 42vh; overflow: hidden; }
.rad-belief__img img { width: 100%; height: 100%; object-fit: cover; min-height: 42vh; }
.rad-process { padding: 6rem 0; background: var(--color-surface); overflow: hidden; }
.rad-process ol { display: grid; gap: 1.2rem; margin-top: 2.4rem; }
@media (min-width: 800px) { .rad-process ol { grid-template-columns: 1fr 1fr; } }
.rad-process li { display: grid; grid-template-columns: auto 1fr; gap: 1rem; padding: 1.3rem 1.2rem; background: #f3ece3; border-top: 2px solid #c4894a; }
.rad-process span { font-family: var(--font-display); font-size: 1.5rem; color: #c4894a; }
.rad-proc__list { margin-top: 2.4rem; }
.rad-proc__step { background: #f3ece3; overflow: hidden; border-radius: 18px; box-shadow: 0 18px 40px rgba(0,0,0,.06); border-top: none !important; display: grid; grid-template-columns: 1fr; gap: 0; padding: 0; }
.rad-proc__media { height: 190px; margin: 0; background: #e9dccd; }
.rad-proc__media img { height: 190px; }
.rad-proc__body { padding: 1.15rem 1.15rem 1.35rem; display: grid; grid-template-columns: auto 1fr; gap: 1rem; align-items: start; }
.rad-proc__num { font-family: var(--font-display); font-size: 1.55rem; color: #c4894a; padding-top: .05rem; }
.rad-proc__step h3 { margin: .15rem 0 .35rem; font-family: var(--font-display); font-weight: 600; color: var(--color-heading); }
.rad-proc__step p { color: var(--color-muted); line-height: 1.7; }
.rad-proc__step:hover { transform: translateY(-4px); transition: transform .35s var(--ease); }
.rad-svc { padding: 6.5rem 0; overflow: hidden; }
.rad-svc__grid { display: grid; gap: 1.2rem; margin-top: 2.2rem; }
@media (min-width: 800px) { .rad-svc__grid { grid-template-columns: 1fr 1fr; } }
.rad-svc article { background: #fff; overflow: hidden; border-radius: 18px; transition: transform .35s var(--ease), box-shadow .35s var(--ease); box-shadow: 0 18px 40px rgba(0,0,0,.06); }
.rad-svc img { height: 240px; width: 100%; object-fit: cover; }
.rad-svc article:hover { transform: translateY(-6px); box-shadow: 0 26px 70px rgba(0,0,0,.12); }
.rad-svc h3, .rad-svc p { padding: 0 1.2rem; }
.rad-svc h3 { margin: 1.1rem 0 .35rem; }
.rad-svc p { padding-bottom: 1.3rem; color: var(--color-muted); }
.rad-gal { display: grid; grid-template-columns: repeat(4,1fr); gap: 3px; background: #1a1612; overflow: hidden; }
.rad-gal img { height: 34vh; width: 100%; object-fit: cover; object-position: center 70%; }
@media (max-width: 700px) {
  .rad-hero { grid-template-columns: 1fr; }
  .rad-hero__side { display: none; }
  .rad-marquee figure, .rad-marquee img { flex-basis: 260px; width: 260px; height: 26vh; }
  .rad-gal { grid-template-columns: 1fr 1fr; }
}
@media (prefers-reduced-motion: reduce) { .rad-marquee__track { animation: none; } }
body.a11y-stop-motion .rad-marquee__track { animation: none; }

/* Hero x-ray overlay */
.rad-xray { position: absolute; inset: 0; pointer-events: none; opacity: 0.95; mix-blend-mode: screen; }
.rad-xray svg { width: 100%; height: 100%; }
.rad-xray::after { content: ''; position: absolute; inset: 0; background: linear-gradient(to bottom, rgba(243,236,227,.25), rgba(26,22,18,.15)); opacity: 0.8; }

/* Barefoot winter message */
.rad-barefoot { padding: 6.5rem 0 7rem; background: linear-gradient(180deg, rgba(232,221,208,.22), rgba(243,236,227,0)); overflow: hidden; }
.rad-barefoot__grid { display: grid; gap: 3.2rem; align-items: center; }
@media (min-width: 880px) { .rad-barefoot__grid { grid-template-columns: 1.05fr .95fr; } }
.rad-barefoot h2 { font-size: clamp(2.2rem, 4.2vw, 3.2rem); margin-top: .35rem; }
.rad-barefoot__frame { border-radius: 28px; overflow: hidden; aspect-ratio: 4/3; }
.rad-barefoot__frame img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* System section */
.rad-system { padding: 6.5rem 0 7rem; background: var(--color-bg); overflow: hidden; }
.rad-system__grid { display: grid; gap: 3.2rem; align-items: center; }
@media (min-width: 880px) { .rad-system__grid { grid-template-columns: 1fr 1fr; } }
.rad-system h2 { font-size: clamp(2.2rem, 4.2vw, 3.2rem); margin-top: .35rem; }
.rad-system__chips { display: flex; flex-wrap: wrap; gap: .65rem; margin-top: 1.5rem; }
.chip { border: 1px solid rgba(180,138,90,.28); color: var(--color-heading); background: rgba(180,138,90,.06); padding: .55rem .85rem; border-radius: 999px; font-weight: 600; font-size: .9rem; }
.rad-system__frame { border-radius: 28px; overflow: hidden; aspect-ratio: 4/3; }
.rad-system__frame img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* Technology section */
.rad-tech { padding: 7rem 0 7.5rem; background: #1a1612; color: #f7f1e8; overflow: hidden; }
.rad-tech__grid { display: grid; gap: 3.2rem; align-items: start; }
@media (min-width: 900px) { .rad-tech__grid { grid-template-columns: 1.1fr .9fr; } }
.rad-tech h2 { font-size: clamp(2.2rem, 4.2vw, 3.2rem); margin-top: .35rem; color: #f7f1e8; }
.rad-tech__items { margin-top: 1.6rem; display: grid; gap: 1.2rem; }
.rad-tech__items li { background: rgba(255,255,255,.06); border: 1px solid rgba(180,138,90,.22); border-radius: 16px; padding: 1.1rem 1.15rem; transition: transform .35s var(--ease), background .35s var(--ease); }
.rad-tech__items li:hover { transform: translateY(-3px); background: rgba(255,255,255,.08); }
.rad-tech__items h3 { font-family: var(--font-display); color: #eadfd2; font-size: 1.05rem; margin-bottom: .4rem; }
.rad-tech__items p { color: rgba(243,236,227,.82); line-height: 1.75; font-size: .98rem; }
.rad-tech__frame {
  border-radius: 28px;
  overflow: hidden;
  overflow-x: hidden; /* prevents any accidental horizontal scroll */
  aspect-ratio: 4/3;
  box-shadow: 0 22px 70px rgba(0,0,0,.25);

  /* Center the left technology image in both axes */
  display: flex;
  align-items: center;
  justify-content: center;
}
.rad-tech__frame img {
  /* Increase height only (not container width) */
  height: 115%;
  width: auto;
  max-width: 100%;

  object-fit: cover;
  object-position: center;
  display: block;
}