:root {
  --ink: #171a17;
  --ink-2: #222722;
  --paper: #eeeae0;
  --paper-2: #ded7c8;
  --cream: #f7f3ea;
  --sage: #768072;
  --corten: #b85c32;
  --line: rgba(23, 26, 23, 0.17);
  --pointer-x: 50vw;
  --pointer-y: 50vh;
  --serif: "Iowan Old Style", "Palatino Linotype", "Book Antiqua", Palatino, Georgia, serif;
  --sans: "Helvetica Neue", Arial, sans-serif;
  --ease: cubic-bezier(.22, 1, .36, 1);
}

/* WordPress integration: only structural glue; canonical TERANEA rules stay authoritative. */
.screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
}

.admin-bar .interior-header { top: 32px; }
.menu-is-open,
.lightbox-is-open { overflow: hidden; }

.interior-nav-list {
  display: flex;
  align-items: center;
  gap: clamp(18px, 2.1vw, 35px);
  margin: 0;
  padding: 0;
  list-style: none;
}

.film-copy { opacity: 0; visibility: hidden; pointer-events: none; }
.film-copy.is-active { opacity: 1; visibility: visible; pointer-events: auto; }

.form-honeypot {
  position: absolute !important;
  left: -10000px !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
}

.teranea-lightbox {
  position: fixed;
  z-index: 100000;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 60px;
  background: rgba(3, 7, 6, .94);
}

.teranea-lightbox[hidden] { display: none; }
.teranea-lightbox img { width: auto; max-width: 92vw; height: auto; max-height: 88vh; }
.teranea-lightbox button {
  position: absolute;
  top: 20px;
  right: 28px;
  width: 50px;
  height: 50px;
  border: 1px solid rgba(255,255,255,.45);
  border-radius: 50%;
  color: white;
  background: transparent;
  font-size: 34px;
}

@media (max-width: 782px) {
  .admin-bar .interior-header { top: 46px; }
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--paper);
  font-family: var(--sans);
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button { color: inherit; }
img { display: block; width: 100%; }
::selection { color: white; background: var(--corten); }
:focus-visible { outline: 2px solid #dfb88e; outline-offset: 4px; }

.cursor-glow {
  position: fixed;
  z-index: 99;
  left: var(--pointer-x);
  top: var(--pointer-y);
  width: 220px;
  height: 220px;
  border-radius: 50%;
  pointer-events: none;
  opacity: .12;
  background: radial-gradient(circle, rgba(255,255,255,.7), transparent 68%);
  mix-blend-mode: overlay;
  transform: translate(-50%, -50%);
}

.site-header {
  position: absolute;
  z-index: 30;
  top: 0;
  left: 0;
  right: 0;
  height: 104px;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  padding: 0 clamp(22px, 3vw, 54px);
  color: white;
  border-bottom: 1px solid rgba(255,255,255,.2);
}
.brand { display: inline-flex; align-items: center; gap: 13px; width: max-content; font-size: 18px; font-weight: 680; letter-spacing: .28em; }
.brand-logo { width: clamp(158px, 13.2vw, 205px); height: auto; }
.brand-mark { position: relative; width: 38px; height: 38px; border: 1px solid currentColor; border-radius: 50%; overflow: hidden; }
.brand-mark i { position: absolute; left: 6px; right: 6px; top: 18px; height: 1px; background: currentColor; transform: rotate(-8deg); }
.desktop-nav { display: flex; gap: 35px; align-items: center; }
.desktop-nav a, .header-cta { font-size: 10px; font-weight: 650; letter-spacing: .16em; text-transform: uppercase; }
.desktop-nav a { position: relative; padding: 10px 0; }
.desktop-nav a::after { content: ""; position: absolute; left: 0; right: 100%; bottom: 5px; height: 1px; background: currentColor; transition: right .4s var(--ease); }
.desktop-nav a:hover::after { right: 0; }
.header-cta { justify-self: end; display: flex; align-items: center; gap: 17px; }
.header-cta span { display: grid; place-items: center; width: 38px; height: 38px; border: 1px solid rgba(255,255,255,.65); border-radius: 50%; transition: .4s var(--ease); }
.header-cta:hover span { color: var(--ink); background: white; transform: rotate(45deg); }
.menu-button { display: none; justify-self: end; width: 42px; height: 42px; padding: 10px 7px; border: 0; background: transparent; }
.menu-button span { display: block; height: 1px; margin: 6px 0; background: currentColor; }
.mobile-menu { display: none; }

.immersive-hero {
  --hero-progress: 0;
  --scene-inset: 5.5%;
  --scene-scale: .94;
  --scene-image-scale: 1.035;
  --scene-brightness: .58;
  --scene-image-opacity: .32;
  --grid-opacity: 0;
  --title-opacity: 1;
  --title-scale: 1;
  --tagline-opacity: 1;
  --message-one-opacity: 0;
  --message-one-y: 12px;
  --message-two-opacity: 0;
  --message-two-y: 44px;
  --depth-fill: 0%;
  --enter-opacity: .3;
  --assembly-opacity: 1;
  position: relative;
  height: 360svh;
  color: white;
  background: #030706;
}
.immersive-stage {
  position: sticky;
  top: 0;
  height: 100svh;
  overflow: hidden;
  isolation: isolate;
  background: #030706;
}
.immersive-scene {
  position: absolute;
  z-index: -4;
  inset: 0;
  overflow: hidden;
  clip-path: inset(var(--scene-inset) round 14px);
  transform: scale(var(--scene-scale));
  transform-origin: 50% 62%;
  will-change: transform, clip-path;
}
.immersive-scene > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 58%;
  filter: brightness(var(--scene-brightness)) saturate(.92) contrast(1.09);
  opacity: var(--scene-image-opacity);
  transform: translate3d(var(--hero-shift-x, 0), var(--hero-shift-y, 0), 0) scale(var(--scene-image-scale));
  transition: transform .35s cubic-bezier(.22, 1, .36, 1);
  will-change: transform, filter;
}
.immersive-atmosphere {
  position: absolute;
  z-index: 1;
  inset: -20%;
  opacity: .34;
  background:
    radial-gradient(ellipse at 28% 25%, rgba(64, 99, 114, .28), transparent 33%),
    radial-gradient(ellipse at 72% 48%, rgba(183, 123, 62, .16), transparent 27%),
    linear-gradient(108deg, transparent 31%, rgba(205, 170, 112, .12) 49%, transparent 68%);
  mix-blend-mode: screen;
  filter: blur(25px);
  animation: immersiveAtmosphere 10s ease-in-out infinite alternate;
}
.immersive-fire {
  position: absolute;
  z-index: 2;
  left: 50%;
  top: 74%;
  width: min(34vw, 560px);
  aspect-ratio: 3 / 1;
  border-radius: 50%;
  background: radial-gradient(ellipse, rgba(255, 164, 76, .45), rgba(240, 96, 24, .13) 38%, transparent 72%);
  mix-blend-mode: screen;
  filter: blur(12px);
  transform: translate(-50%, -50%);
  animation: immersiveFire 2.6s ease-in-out infinite alternate;
}
.immersive-grid {
  position: absolute;
  z-index: 3;
  inset: 0;
  opacity: var(--grid-opacity);
  background:
    linear-gradient(rgba(198, 218, 198, .14) 1px, transparent 1px),
    linear-gradient(90deg, rgba(198, 218, 198, .12) 1px, transparent 1px);
  background-size: 25% 25%;
  mix-blend-mode: screen;
}
.immersive-grid i { position: absolute; width: 8px; height: 8px; border-color: rgba(206, 228, 204, .58); }
.immersive-grid i:nth-child(1) { left: 2%; top: 2%; border-left: 1px solid; border-top: 1px solid; }
.immersive-grid i:nth-child(2) { right: 2%; top: 2%; border-right: 1px solid; border-top: 1px solid; }
.immersive-grid i:nth-child(3) { left: 2%; bottom: 2%; border-left: 1px solid; border-bottom: 1px solid; }
.immersive-grid i:nth-child(4) { right: 2%; bottom: 2%; border-right: 1px solid; border-bottom: 1px solid; }
.immersive-vignette {
  position: absolute;
  z-index: -3;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(ellipse at center, transparent 25%, rgba(2, 5, 4, .18) 58%, rgba(2, 5, 4, .82) 100%),
    linear-gradient(0deg, rgba(2, 5, 4, .76), transparent 42%, rgba(2, 5, 4, .28));
}
.pergola-assembly {
  position: absolute;
  z-index: 4;
  inset: 0;
  opacity: var(--assembly-opacity);
  pointer-events: none;
  transition: opacity .18s linear;
}
.pergola-assembly canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  filter: drop-shadow(0 34px 32px rgba(0, 0, 0, .34));
}
.pergola-assembly::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 61%;
  width: min(62vw, 900px);
  height: 24%;
  border-radius: 50%;
  opacity: .42;
  background: radial-gradient(ellipse, rgba(218, 168, 103, .2), transparent 68%);
  filter: blur(28px);
  mix-blend-mode: screen;
  transform: translate(-50%, -50%);
}
.assembly-label {
  position: absolute;
  left: clamp(22px, 3vw, 54px);
  bottom: 47px;
  display: flex;
  align-items: center;
  gap: 12px;
  color: rgba(255,255,255,.5);
  font-size: 7px;
  font-weight: 680;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.assembly-label i { width: 44px; height: 1px; background: rgba(255,255,255,.28); }
.pergola-assembly button {
  position: absolute;
  right: clamp(22px, 3vw, 54px);
  top: 50%;
  display: flex;
  align-items: center;
  gap: 13px;
  padding: 10px 0;
  border: 0;
  border-bottom: 1px solid rgba(255,255,255,.34);
  color: rgba(255,255,255,.62);
  background: transparent;
  font-size: 7px;
  font-weight: 680;
  letter-spacing: .16em;
  text-transform: uppercase;
  pointer-events: auto;
  cursor: pointer;
  transition: color .3s, border-color .3s;
}
.pergola-assembly button span { color: #d8c19d; font-size: 15px; }
.pergola-assembly button:hover { color: white; border-color: #d8c19d; }
.immersive-noise {
  position: absolute;
  z-index: 12;
  inset: 0;
  opacity: .08;
  pointer-events: none;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E");
  mix-blend-mode: soft-light;
}
.immersive-meta {
  position: absolute;
  z-index: 7;
  top: 133px;
  left: clamp(22px, 3vw, 54px);
  right: clamp(22px, 3vw, 54px);
  display: flex;
  justify-content: space-between;
  color: rgba(255,255,255,.5);
  font-size: 8px;
  font-weight: 650;
  letter-spacing: .2em;
  text-transform: uppercase;
}
.immersive-title {
  position: absolute;
  z-index: 5;
  left: 50%;
  top: 47%;
  width: 100%;
  color: #f0eee7;
  font: 400 clamp(105px, 19vw, 322px)/.72 var(--serif);
  letter-spacing: -.075em;
  text-align: center;
  opacity: var(--title-opacity);
  transform: translate(-50%, -50%) scale(var(--title-scale));
  will-change: transform, opacity;
}
.immersive-tagline {
  position: absolute;
  z-index: 6;
  left: 50%;
  bottom: 8.5%;
  margin: 0;
  color: rgba(255,255,255,.7);
  font: italic 400 17px/1 var(--serif);
  opacity: var(--tagline-opacity);
  transform: translateX(-50%);
}
.immersive-message {
  position: absolute;
  z-index: 7;
  pointer-events: none;
  will-change: opacity, transform;
}
.immersive-message > span {
  display: block;
  margin-bottom: 22px;
  color: rgba(255,255,255,.55);
  font-size: 8px;
  font-weight: 680;
  letter-spacing: .2em;
  text-transform: uppercase;
}
.immersive-message h1,
.immersive-message h2 {
  margin: 0;
  font: 400 clamp(66px, 9.6vw, 158px)/.77 var(--serif);
  letter-spacing: -.058em;
}
.immersive-message em { color: #d9ae7d; font-weight: 400; }
.immersive-message > p {
  margin: 28px 0 0;
  color: rgba(255,255,255,.66);
  font-size: 10px;
  letter-spacing: .14em;
  line-height: 1.7;
  text-transform: uppercase;
}
.immersive-message-one {
  left: 50%;
  top: 52%;
  width: min(92vw, 1500px);
  text-align: center;
  opacity: var(--message-one-opacity);
  transform: translate(-50%, -50%) translateY(var(--message-one-y));
}
.immersive-message-two {
  left: clamp(22px, 6vw, 104px);
  bottom: clamp(72px, 9vh, 118px);
  opacity: var(--message-two-opacity);
  transform: translateY(var(--message-two-y));
}
.immersive-time {
  position: absolute;
  z-index: 7;
  top: 157px;
  right: clamp(22px, 3vw, 54px);
  display: grid;
  justify-items: end;
  color: #d8c19d;
  text-transform: uppercase;
}
.immersive-time small { font-size: 7px; letter-spacing: .18em; opacity: .62; }
.immersive-time strong { margin: 7px 0 3px; font: 400 25px/1 var(--serif); letter-spacing: .04em; }
.immersive-time span { color: rgba(255,255,255,.45); font-size: 7px; letter-spacing: .18em; }
.immersive-depth {
  position: absolute;
  z-index: 8;
  right: 24px;
  top: 44%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  color: rgba(255,255,255,.56);
  font-size: 7px;
}
.immersive-depth i { position: relative; width: 1px; height: 94px; overflow: hidden; background: rgba(255,255,255,.2); }
.immersive-depth b { position: absolute; left: 0; right: 0; top: 0; height: var(--depth-fill); background: #d8c19d; }
.immersive-enter {
  position: absolute;
  z-index: 9;
  right: clamp(35px, 7vw, 118px);
  bottom: 42px;
  width: 132px;
  height: 132px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255,255,255,.48);
  border-radius: 50%;
  opacity: var(--enter-opacity);
  text-align: center;
  transition: color .35s, background .35s, border-color .35s, transform .35s var(--ease);
}
.immersive-enter span { font-size: 8px; font-weight: 680; line-height: 1.6; letter-spacing: .14em; text-transform: uppercase; }
.immersive-enter i { position: absolute; bottom: 18px; font-style: normal; }
.immersive-enter:hover { color: #101410; border-color: #d8c19d; background: #d8c19d; transform: rotate(-7deg) scale(1.03); }
@keyframes immersiveAtmosphere {
  to { transform: translate3d(5%, -2%, 0) scale(1.08); opacity: .5; }
}
@keyframes immersiveFire {
  0% { opacity: .58; transform: translate(-50%, -50%) scale(.92); }
  100% { opacity: .92; transform: translate(-50%, -50%) scale(1.12); }
}

.film-hero {
  position: relative;
  min-height: 100svh;
  overflow: hidden;
  isolation: isolate;
  color: white;
  background: #080d0b;
}
.film-reel,
.film-shade { position: absolute; inset: 0; }
.film-reel {
  z-index: -3;
  background: #080d0b;
}
.film-reel video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  opacity: 0;
  transform: translateZ(0);
  backface-visibility: hidden;
  contain: paint;
  transition: opacity .55s ease;
}
.film-reel video.is-active { opacity: 1; }
.film-shade {
  z-index: -2;
  background:
    linear-gradient(90deg, rgba(5, 9, 7, .74), rgba(5, 9, 7, .14) 62%, rgba(5, 9, 7, .28)),
    linear-gradient(0deg, rgba(4, 8, 6, .82), transparent 51%, rgba(4, 8, 6, .25));
}
.film-frame {
  position: absolute;
  z-index: 6;
  inset: 118px clamp(18px, 2vw, 34px) 24px;
  border: 1px solid rgba(255,255,255,.14);
  pointer-events: none;
}
.film-frame::before,
.film-frame::after {
  content: "";
  position: absolute;
  width: 34px;
  height: 34px;
  border-color: #dfb88e;
  opacity: .8;
}
.film-frame::before { left: -1px; top: -1px; border-left: 1px solid; border-top: 1px solid; }
.film-frame::after { right: -1px; bottom: -1px; border-right: 1px solid; border-bottom: 1px solid; }
.film-meta {
  position: absolute;
  z-index: 5;
  top: 134px;
  left: clamp(22px, 3vw, 54px);
  right: clamp(22px, 3vw, 54px);
  display: flex;
  justify-content: space-between;
  color: rgba(255,255,255,.56);
  font-size: 8px;
  font-weight: 680;
  letter-spacing: .2em;
  text-transform: uppercase;
}
.film-copy {
  position: absolute;
  z-index: 5;
  left: clamp(22px, 4.5vw, 74px);
  right: clamp(22px, 4.5vw, 74px);
  bottom: 134px;
  animation: filmCopyIn .85s var(--ease) both;
}
.film-copy > p:first-child {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 0 0 24px;
  font-size: 8px;
  font-weight: 680;
  letter-spacing: .2em;
  text-transform: uppercase;
}
.film-copy > p:first-child > span:first-child { flex: 0 0 31px; display: grid; place-items: center; width: 31px; height: 31px; border: 1px solid rgba(255,255,255,.55); border-radius: 50%; }
.film-copy > p:first-child > span:last-child { min-width: 0; line-height: 1.45; }
.film-copy .film-heading {
  max-width: 1280px;
  margin: 0;
  font: 400 clamp(68px, 8.8vw, 142px)/.84 var(--serif);
  letter-spacing: -.058em;
}
.film-copy .film-heading em { color: #dfb88e; font-weight: 400; }
.film-line {
  display: inline-block;
  overflow: hidden;
  padding: .12em .12em .26em .04em;
  margin: -.12em -.12em -.26em -.04em;
}
.film-line > span {
  display: inline-block;
  animation: filmLineIn 1s .06s var(--ease) both;
}
.film-line.is-accent > span { animation-delay: .16s; }
.film-copy > div {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 30px;
  max-width: 900px;
  margin-top: 28px;
}
.film-copy > div > p { max-width: 470px; margin: 0; color: rgba(255,255,255,.69); font-size: 11px; line-height: 1.7; }
.film-copy > div > a { display: inline-flex; gap: 25px; padding-bottom: 8px; border-bottom: 1px solid rgba(255,255,255,.58); font-size: 8px; font-weight: 680; letter-spacing: .16em; text-transform: uppercase; }
.film-copy > div > a span { transition: transform .3s var(--ease); }
.film-copy > div > a:hover span { transform: translate(4px, -4px); }
.film-controls {
  position: absolute;
  z-index: 8;
  left: clamp(22px, 4.5vw, 74px);
  bottom: 43px;
  display: flex;
  align-items: center;
  gap: 19px;
}
.film-controls button {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 0;
  border: 0;
  color: rgba(255,255,255,.4);
  background: transparent;
  font-size: 8px;
  cursor: pointer;
  transition: color .3s;
}
.film-controls button.is-active { color: white; }
.film-controls button b {
  display: none;
  color: rgba(255,255,255,.72);
  font-size: 8px;
  font-weight: 680;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.film-controls button.is-active b { display: block; }
.film-controls button i { position: relative; width: clamp(38px, 4.5vw, 76px); height: 1px; overflow: hidden; background: rgba(255,255,255,.22); }
.film-controls button i::after { content: ""; position: absolute; inset: 0; background: #dfb88e; transform: scaleX(0); transform-origin: left; }
.film-controls button.is-active i::after { animation: filmProgress 9s linear forwards; }
.film-gesture-hint {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-left: 4px;
  color: rgba(255,255,255,.5);
  font-size: 7px;
  font-weight: 680;
  letter-spacing: .16em;
  text-transform: uppercase;
  white-space: nowrap;
}
.film-gesture-hint::before { content: "↓"; color: #dfb88e; font-size: 11px; }
.film-scroll {
  position: absolute;
  z-index: 8;
  right: clamp(35px, 7vw, 118px);
  bottom: 38px;
  width: 122px;
  height: 122px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255,255,255,.5);
  border-radius: 50%;
  text-align: center;
  transition: color .35s, background .35s, transform .35s var(--ease);
}
.film-scroll span { max-width: 70px; font-size: 7px; font-weight: 680; line-height: 1.5; letter-spacing: .15em; text-transform: uppercase; }
.film-scroll i { position: absolute; bottom: 17px; font-style: normal; }
.film-scroll:hover { color: #121712; background: #dfb88e; transform: rotate(-7deg) scale(1.03); }
.film-scene-index {
  position: absolute;
  z-index: 4;
  top: 22%;
  right: clamp(30px, 4vw, 70px);
  display: flex;
  align-items: flex-end;
  gap: 17px;
  color: white;
  pointer-events: none;
}
.film-scene-index strong {
  color: rgba(255,255,255,.08);
  font: 400 clamp(110px, 16vw, 245px)/.72 var(--serif);
  letter-spacing: -.08em;
  animation: filmIndexIn 1.2s var(--ease) both;
}
.film-scene-index span {
  margin-bottom: 8px;
  padding-bottom: 8px;
  border-bottom: 1px solid rgba(255,255,255,.32);
  color: rgba(255,255,255,.52);
  font-size: 8px;
  font-weight: 680;
  letter-spacing: .17em;
  text-transform: uppercase;
  writing-mode: vertical-rl;
  transform: rotate(180deg);
}
@keyframes filmCopyIn {
  from { opacity: 0; transform: translateY(24px); }
  to { opacity: 1; transform: none; }
}
@keyframes filmLineIn {
  from { opacity: 0; transform: translateY(105%); }
  to { opacity: 1; transform: none; }
}
@keyframes filmIndexIn {
  from { opacity: 0; transform: translateX(28px); }
  to { opacity: 1; transform: none; }
}
@keyframes filmProgress { to { transform: scaleX(1); } }

@keyframes ticker { to { transform: translateX(-50%); } }

.manifesto { padding: clamp(110px, 12vw, 190px) clamp(22px, 4.5vw, 74px) 130px; }
.section-label { display: flex; align-items: center; gap: 14px; margin-bottom: 50px; }
.section-label span { display: grid; place-items: center; width: 31px; height: 31px; border: 1px solid currentColor; border-radius: 50%; font-size: 8px; }
.section-label p { margin: 0; font-size: 9px; font-weight: 650; letter-spacing: .19em; text-transform: uppercase; }
.manifesto-grid { display: grid; grid-template-columns: 1fr 1.05fr; gap: 8vw; }
.manifesto h2, .turnkey-copy h2, .solutions-head h2, .editorial-copy h2, .night-copy h2, .process-head h2, .proof-head h2, .showroom-copy h2, .guides-head h2, .contact h2 {
  margin: 0;
  font: 400 clamp(56px, 7vw, 112px)/.96 var(--serif);
  letter-spacing: -.05em;
}
.manifesto h2 span { color: var(--sage); font-style: italic; }
.manifesto-copy { padding-top: 6px; }
.manifesto-copy .lead { max-width: 700px; margin: 0; font: 400 clamp(30px, 3vw, 49px)/1.12 var(--serif); letter-spacing: -.025em; }
.manifesto-copy .lead em { color: var(--corten); }
.manifesto-copy > p:last-child { max-width: 590px; margin: 42px 0 0; color: #62685f; font-size: 14px; line-height: 1.8; }
.manifesto-proof { display: flex; align-items: center; gap: 18px; margin-top: 100px; padding-top: 33px; border-top: 1px solid var(--line); }
.manifesto-proof > span { max-width: 190px; margin-right: auto; color: var(--corten); font-size: 8px; font-weight: 680; line-height: 1.6; letter-spacing: .16em; text-transform: uppercase; }
.manifesto-proof p { margin: 0; white-space: nowrap; font: italic 400 clamp(19px, 1.75vw, 28px)/1 var(--serif); }
.manifesto-proof i { width: 4px; height: 4px; border-radius: 50%; background: var(--corten); }

.turnkey-feature { display: grid; grid-template-columns: 1.08fr .92fr; min-height: 950px; color: white; background: #111510; }
.turnkey-image { position: relative; min-height: 760px; overflow: hidden; }
.turnkey-image > img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.3s var(--ease); }
.turnkey-image:hover > img { transform: scale(1.025); }
.turnkey-image-shade { position: absolute; inset: 0; background: linear-gradient(0deg, rgba(6,9,7,.65), transparent 48%); }
.turnkey-image > span { position: absolute; left: 28px; bottom: 27px; color: rgba(255,255,255,.72); font-size: 7px; font-weight: 680; letter-spacing: .17em; text-transform: uppercase; }
.turnkey-copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(70px, 7vw, 120px); }
.turnkey-copy .eyebrow { color: #dfb88e; }
.turnkey-copy h2 { font-size: clamp(52px, 6vw, 94px); }
.turnkey-copy h2 em { color: #dfb88e; font-weight: 400; }
.turnkey-copy > p:not(.eyebrow) { max-width: 560px; margin: 38px 0 0; color: rgba(255,255,255,.63); font-size: 13px; line-height: 1.8; }
.turnkey-copy ul { margin: 42px 0 0; padding: 0; list-style: none; border-top: 1px solid rgba(255,255,255,.17); }
.turnkey-copy li { display: grid; grid-template-columns: 42px 1fr; gap: 14px; padding: 18px 0; border-bottom: 1px solid rgba(255,255,255,.17); color: rgba(255,255,255,.74); font-size: 10px; line-height: 1.65; }
.turnkey-copy li span { color: #dfb88e; font-size: 7px; font-weight: 680; letter-spacing: .15em; }
.turnkey-copy .text-link { color: white; }

.solutions { padding: 120px clamp(22px, 3vw, 46px) 46px; color: white; background: var(--ink); }
.solutions-head { display: grid; grid-template-columns: .8fr 1.25fr .7fr; gap: 5vw; align-items: end; padding: 0 clamp(0px, 1.5vw, 24px) 78px; }
.section-label.light { align-self: start; color: rgba(255,255,255,.66); }
.solutions-head h2 em, .editorial-copy h2 em, .process-head h2 em, .proof-head h2 em, .guides-head h2 em { color: var(--corten); font-weight: 400; }
.solutions-head > p { max-width: 360px; margin: 0 0 8px; color: rgba(255,255,255,.57); font-size: 12px; line-height: 1.8; }
.solution-stack { display: grid; gap: 14px; }
.solution-card { position: sticky; top: 12px; min-height: min(82vh, 850px); overflow: hidden; background: #303630; }
.solution-card:nth-child(2) { top: 26px; }
.solution-card:nth-child(3) { top: 40px; }
.solution-card:nth-child(4) { top: 54px; }
.solution-card:nth-child(5) { top: 68px; }
.solution-card > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--ease); }
.solution-card:hover > img { transform: scale(1.035); }
.solution-overlay { position: absolute; inset: 0; background: linear-gradient(0deg, rgba(7,10,8,.83), transparent 59%, rgba(7,10,8,.26)); }
.solution-top { position: absolute; z-index: 2; left: 35px; right: 35px; top: 30px; display: flex; justify-content: space-between; align-items: center; }
.solution-top span { font: 400 21px/1 var(--serif); }
.solution-top p { margin: 0; font-size: 9px; font-weight: 650; letter-spacing: .17em; text-transform: uppercase; }
.solution-body { position: absolute; z-index: 2; left: 42px; right: 42px; bottom: 42px; display: grid; grid-template-columns: 1.35fr .7fr auto; gap: 34px; align-items: end; }
.solution-body h3 { margin: 0; font: 400 clamp(55px, 8vw, 132px)/.83 var(--serif); letter-spacing: -.052em; }
.solution-card:nth-child(n+2) .solution-body h3 { font-size: clamp(52px, 6.6vw, 108px); }
.solution-body > p { max-width: 420px; margin: 0 0 8px; color: rgba(255,255,255,.72); font-size: 12px; line-height: 1.75; }
.solution-body a { display: grid; place-items: center; width: 67px; height: 67px; border: 1px solid rgba(255,255,255,.6); border-radius: 50%; font-size: 19px; transition: .4s var(--ease); }
.solution-body a:hover { color: white; border-color: var(--corten); background: var(--corten); transform: rotate(45deg); }

.editorial { display: grid; grid-template-columns: 1.08fr .92fr; min-height: 930px; background: var(--cream); }
.editorial-image { position: relative; min-height: 750px; overflow: hidden; }
.editorial-image img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.4s var(--ease); }
.editorial-image:hover img { transform: scale(1.035); }
.editorial-image span { position: absolute; left: 27px; bottom: 25px; color: rgba(255,255,255,.76); font-size: 8px; font-weight: 650; letter-spacing: .18em; text-transform: uppercase; }
.editorial-copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(70px, 8vw, 140px); }
.eyebrow { margin: 0 0 37px; color: var(--sage); font-size: 9px; font-weight: 680; letter-spacing: .18em; text-transform: uppercase; }
.editorial-copy > p:not(.eyebrow) { max-width: 510px; margin: 43px 0 0; color: #62685f; font-size: 14px; line-height: 1.8; }
.text-link { width: max-content; display: inline-flex; gap: 30px; margin-top: 48px; padding-bottom: 9px; border-bottom: 1px solid currentColor; font-size: 9px; font-weight: 680; letter-spacing: .16em; text-transform: uppercase; }
.text-link span { transition: transform .3s var(--ease); }
.text-link:hover span { transform: translate(4px, -4px); }

.night { position: relative; min-height: 100svh; display: flex; align-items: flex-end; color: white; overflow: hidden; }
.night > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.night-shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(6,9,7,.7), rgba(6,9,7,.06) 65%), linear-gradient(0deg, rgba(6,9,7,.72), transparent 52%); }
.night-copy { position: relative; z-index: 2; padding: 100px clamp(22px, 7vw, 116px); }
.night-copy > p { margin: 0 0 26px; font-size: 9px; font-weight: 650; letter-spacing: .2em; text-transform: uppercase; }
.night-copy h2 { font-size: clamp(66px, 9vw, 148px); }
.night-copy h2 em { color: #e2b991; font-weight: 400; }
.night-copy > span { display: block; margin-top: 38px; color: rgba(255,255,255,.63); font-size: 9px; font-weight: 650; letter-spacing: .17em; text-transform: uppercase; }

.process { padding: clamp(110px, 12vw, 185px) clamp(22px, 4.5vw, 74px); }
.process-head { display: grid; grid-template-columns: .65fr 1.35fr; gap: 7vw; align-items: start; }
.process-head h2 { max-width: 1000px; }
.process-list { margin-top: 90px; border-top: 1px solid var(--line); }
.process-list article { display: grid; grid-template-columns: 75px 1fr 1fr 60px; gap: 30px; align-items: center; min-height: 160px; border-bottom: 1px solid var(--line); transition: padding .45s var(--ease), color .3s, background .3s; }
.process-list article:hover { padding-left: 20px; padding-right: 20px; color: white; background: var(--ink); }
.process-list article > span { font: 400 18px/1 var(--serif); }
.process-list h3 { margin: 0; font: 400 clamp(34px, 3.4vw, 56px)/1 var(--serif); }
.process-list p { max-width: 410px; margin: 0; color: #666c63; font-size: 12px; line-height: 1.75; }
.process-list article:hover p { color: rgba(255,255,255,.65); }
.process-list i { justify-self: end; display: grid; place-items: center; width: 48px; height: 48px; border: 1px solid currentColor; border-radius: 50%; font-style: normal; }

.proof { padding: clamp(105px, 11vw, 175px) clamp(22px, 4.5vw, 74px); color: white; background: var(--ink); }
.proof-head { display: grid; grid-template-columns: .7fr 1.25fr .65fr; gap: 5vw; align-items: end; }
.proof-head > p { margin: 0 0 8px; color: rgba(255,255,255,.56); font-size: 12px; line-height: 1.8; }
.proof-grid { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 90px; border-top: 1px solid rgba(255,255,255,.18); border-left: 1px solid rgba(255,255,255,.18); }
.proof-grid article { min-height: 390px; display: flex; flex-direction: column; padding: 28px; border-right: 1px solid rgba(255,255,255,.18); border-bottom: 1px solid rgba(255,255,255,.18); transition: color .35s, background .35s, transform .4s var(--ease); }
.proof-grid article:hover { color: var(--ink); background: #dfb88e; transform: translateY(-7px); }
.proof-grid article > span { color: #dfb88e; font-size: 8px; font-weight: 680; letter-spacing: .16em; }
.proof-grid article:hover > span { color: var(--corten); }
.proof-grid h3 { margin: auto 0 24px; font: 400 clamp(29px, 2.7vw, 43px)/.96 var(--serif); letter-spacing: -.035em; }
.proof-grid p { margin: 0; color: rgba(255,255,255,.55); font-size: 11px; line-height: 1.75; }
.proof-grid article:hover p { color: rgba(23,26,23,.68); }

.showroom { position: relative; min-height: min(94svh, 980px); display: flex; align-items: flex-end; overflow: hidden; color: white; background: #111510; }
.showroom > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 1.3s var(--ease); }
.showroom:hover > img { transform: scale(1.025); }
.showroom-shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(6,9,7,.82), rgba(6,9,7,.16) 75%), linear-gradient(0deg, rgba(6,9,7,.88), transparent 60%); }
.showroom-copy { position: relative; z-index: 2; width: min(1100px, 88vw); padding: 90px clamp(22px, 7vw, 116px); }
.showroom-copy > p { margin: 0 0 25px; color: #dfb88e; font-size: 8px; font-weight: 680; letter-spacing: .18em; text-transform: uppercase; }
.showroom-copy h2 em { color: #dfb88e; font-weight: 400; }
.showroom-copy > span { display: block; max-width: 610px; margin-top: 37px; color: rgba(255,255,255,.66); font-size: 13px; line-height: 1.8; }
.showroom-link { width: max-content; display: inline-flex; gap: 36px; margin-top: 40px; padding-bottom: 10px; border-bottom: 1px solid currentColor; font-size: 8px; font-weight: 680; letter-spacing: .16em; text-transform: uppercase; }
.showroom-link b { font-weight: 400; transition: transform .3s var(--ease); }
.showroom-link:hover b { transform: translate(4px, -4px); }

.guides { padding: clamp(105px, 11vw, 175px) clamp(22px, 4.5vw, 74px); background: var(--cream); }
.guides-head { display: grid; grid-template-columns: .65fr 1.35fr; gap: 7vw; }
.guides-grid { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 90px; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.guides-grid > a { position: relative; min-height: 420px; display: flex; flex-direction: column; padding: 30px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); transition: color .35s, background .35s, transform .4s var(--ease); }
.guides-grid > a:hover { color: white; background: var(--corten); transform: translateY(-7px); }
.guides-grid > a > span { color: var(--corten); font-size: 8px; font-weight: 680; letter-spacing: .16em; }
.guides-grid > a:hover > span { color: white; }
.guides-grid h3 { margin: auto 0 25px; max-width: 380px; font: 400 clamp(31px, 3vw, 48px)/.98 var(--serif); letter-spacing: -.04em; }
.guides-grid p { max-width: 390px; margin: 0; color: rgba(23,26,23,.62); font-size: 11px; line-height: 1.75; }
.guides-grid > a:hover p { color: rgba(255,255,255,.7); }
.guides-grid i { position: absolute; right: 28px; top: 27px; display: grid; place-items: center; width: 43px; height: 43px; border: 1px solid currentColor; border-radius: 50%; font-style: normal; transition: transform .35s var(--ease); }
.guides-grid > a:hover i { transform: rotate(45deg); }

.contact { display: grid; grid-template-columns: 1fr 1fr; min-height: 850px; color: white; background: var(--corten); }
.contact-intro { display: flex; flex-direction: column; justify-content: center; padding: clamp(70px, 7vw, 115px); border-right: 1px solid rgba(255,255,255,.25); }
.contact-intro > p { margin: 0 0 35px; font-size: 9px; font-weight: 650; letter-spacing: .2em; text-transform: uppercase; }
.contact h2 { font-size: clamp(92px, 11vw, 175px); line-height: .88; }
.contact-intro > span { margin-top: 60px; color: rgba(255,255,255,.62); font-size: 9px; font-weight: 650; letter-spacing: .16em; text-transform: uppercase; }
.contact-form { align-self: center; display: grid; gap: 28px; padding: clamp(55px, 7vw, 110px); }
.contact-form label { display: grid; gap: 11px; }
.contact-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.contact-form label > span { font-size: 8px; font-weight: 650; letter-spacing: .18em; text-transform: uppercase; }
.contact-form input, .contact-form select, .contact-form textarea { width: 100%; padding: 0 0 14px; border: 0; border-bottom: 1px solid rgba(255,255,255,.45); outline: none; color: white; background: transparent; border-radius: 0; }
.contact-form input::placeholder, .contact-form textarea::placeholder { color: rgba(255,255,255,.54); }
.contact-form select option { color: var(--ink); }
.contact-form textarea { min-height: 77px; resize: vertical; }
.contact-form .contact-upload { gap: 12px; padding: 14px 16px; border: 1px solid rgba(255,255,255,.32); }
.contact-form .contact-upload input { padding: 0; border: 0; color: rgba(255,255,255,.7); font-size: 9px; }
.contact-form .contact-upload input::file-selector-button { margin-right: 14px; padding: 8px 12px; border: 0; color: var(--ink); background: var(--cream); font-size: 7px; font-weight: 680; letter-spacing: .12em; text-transform: uppercase; cursor: pointer; }
.contact-form button { min-height: 64px; display: flex; align-items: center; justify-content: space-between; margin-top: 10px; padding: 0 25px; border: 0; color: white; background: var(--ink); font-size: 9px; font-weight: 680; letter-spacing: .17em; text-transform: uppercase; cursor: pointer; transition: transform .35s var(--ease), background .35s; }
.contact-form button:hover { color: var(--ink); background: var(--cream); transform: translateY(-3px); }
.form-success { margin: -8px 0 0; padding: 13px 16px; border: 1px solid rgba(255,255,255,.35); font-size: 11px; line-height: 1.6; }

footer { min-height: 190px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; padding: 40px clamp(22px, 4.5vw, 74px); color: white; background: var(--ink); }
.footer-brand .brand-logo { width: clamp(175px, 15vw, 230px); }
footer > p { margin: 0; color: rgba(255,255,255,.55); font: italic 400 22px/1 var(--serif); }
footer > div { justify-self: end; display: flex; align-items: center; gap: 25px; color: rgba(255,255,255,.57); font-size: 8px; font-weight: 650; letter-spacing: .13em; text-transform: uppercase; }

[data-reveal] { opacity: 0; transform: translateY(36px); transition: opacity .9s var(--ease), transform .9s var(--ease); }
[data-reveal].is-visible { opacity: 1; transform: none; }
.solution-card[data-reveal] { transform: translateY(60px) scale(.985); }
.solution-card[data-reveal].is-visible { transform: none; }

@media (max-width: 1024px) {
  .site-header { grid-template-columns: 1fr auto; height: 86px; }
  .desktop-nav, .header-cta { display: none; }
  .menu-button { display: block; }
  .mobile-menu { position: fixed; z-index: 25; inset: 0; display: flex; flex-direction: column; justify-content: center; padding: 105px 32px 38px; color: white; background: var(--ink); visibility: hidden; opacity: 0; transform: translateY(-20px); transition: .45s var(--ease); }
  .mobile-menu.is-open { visibility: visible; opacity: 1; transform: none; }
  .mobile-menu a { padding: 8px 0; font: 400 clamp(44px, 8vw, 74px)/1 var(--serif); border-bottom: 1px solid rgba(255,255,255,.16); }
  .mobile-menu p { margin: auto 0 0; color: rgba(255,255,255,.5); font-size: 9px; letter-spacing: .15em; text-transform: uppercase; }
  .immersive-meta { top: 113px; }
  .immersive-time { top: 137px; }
  .film-meta { top: 113px; }
  .manifesto-grid { grid-template-columns: 1fr; }
  .manifesto-copy { max-width: 760px; margin-left: auto; }
  .manifesto-proof { flex-wrap: wrap; }
  .manifesto-proof > span { width: 100%; max-width: none; margin: 0 0 10px; }
  .turnkey-feature { grid-template-columns: 1fr; }
  .turnkey-image { min-height: 730px; }
  .turnkey-copy { min-height: 760px; }
  .solutions-head { grid-template-columns: .55fr 1.45fr; }
  .solutions-head > p { grid-column: 2; }
  .editorial { grid-template-columns: 1fr; }
  .editorial-image { min-height: 680px; }
  .editorial-copy { min-height: 680px; }
  .process-list article { grid-template-columns: 55px .8fr 1fr 48px; }
  .proof-head { grid-template-columns: .55fr 1.45fr; }
  .proof-head > p { grid-column: 2; }
  .proof-grid { grid-template-columns: repeat(2, 1fr); }
  .contact { grid-template-columns: 1fr; }
  .contact-intro { min-height: 650px; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.25); }
}

@media (max-width: 680px) {
  .cursor-glow, .immersive-depth { display: none; }
  .site-header { height: 76px; padding-inline: 18px; }
  .brand { gap: 10px; font-size: 15px; letter-spacing: .24em; }
  .site-header .brand-logo { width: 148px; }
  .brand-mark { width: 32px; height: 32px; }
  .brand-mark i { top: 15px; }
  .film-reel video { object-position: 54% center; }
  .film-frame { inset: 88px 9px 9px; }
  .film-frame::before,
  .film-frame::after { width: 22px; height: 22px; }
  .film-meta { top: 99px; left: 18px; right: 18px; }
  .film-meta span:last-child { display: none; }
  .film-copy { left: 18px; right: 18px; bottom: 137px; }
  .film-copy > p:first-child { margin-bottom: 16px; font-size: 7px; }
  .film-copy > p:first-child > span:first-child { flex-basis: 27px; width: 27px; height: 27px; }
  .film-copy .film-heading { font-size: clamp(52px, 15vw, 68px); line-height: .88; }
  .film-copy > div { display: block; margin-top: 21px; }
  .film-copy > div > p { max-width: 275px; font-size: 9px; line-height: 1.6; }
  .film-copy > div > a { margin-top: 18px; font-size: 7px; }
  .film-controls { left: 18px; bottom: 22px; gap: 11px; }
  .film-controls button { gap: 6px; font-size: 7px; }
  .film-controls button i { width: 31px; }
  .film-controls button b { display: none !important; }
  .film-gesture-hint { display: none; }
  .film-scene-index { top: 25%; right: 14px; }
  .film-scene-index strong { font-size: 105px; }
  .film-scene-index span { display: none; }
  .film-scroll { right: 17px; bottom: 18px; width: 84px; height: 84px; }
  .film-scroll span { max-width: 52px; font-size: 5.5px; }
  .film-scroll i { bottom: 9px; font-size: 9px; }
  .immersive-hero { height: 320svh; }
  .immersive-scene > img { object-position: center 58%; }
  .immersive-meta { top: 98px; left: 18px; right: 18px; }
  .immersive-meta span:last-child { display: none; }
  .immersive-title { top: 43%; font-size: 23vw; letter-spacing: -.07em; }
  .immersive-tagline { bottom: 13%; width: 100%; text-align: center; font-size: 15px; }
  .immersive-message > span { margin-bottom: 16px; font-size: 7px; }
  .immersive-message h1, .immersive-message h2 { font-size: 18vw; line-height: .83; }
  .immersive-message > p { max-width: 300px; margin-top: 21px; font-size: 8px; line-height: 1.6; }
  .immersive-message-one { top: 49%; width: calc(100vw - 36px); }
  .immersive-message-one > p { margin-inline: auto; }
  .immersive-message-two { left: 18px; bottom: 112px; }
  .immersive-time { top: 98px; right: 18px; }
  .immersive-time small, .immersive-time span { display: none; }
  .immersive-time strong { margin: 0; font-size: 19px; }
  .immersive-fire { top: 70%; width: 64vw; }
  .immersive-enter { right: 18px; bottom: 24px; width: 92px; height: 92px; }
  .immersive-enter span { font-size: 6px; }
  .immersive-enter i { bottom: 10px; }
  .assembly-label, .pergola-assembly button { display: none; }
  .infinite-ticker--home .infinite-ticker-group { height: 66px; }
  .infinite-ticker--home span { gap: 22px; margin-right: 22px; font-size: 25px; }
  .manifesto { padding: 95px 18px 85px; }
  .section-label { margin-bottom: 36px; }
  .manifesto h2, .turnkey-copy h2, .solutions-head h2, .editorial-copy h2, .process-head h2, .proof-head h2, .showroom-copy h2, .guides-head h2 { font-size: 54px; }
  .manifesto-grid { gap: 45px; }
  .manifesto-copy .lead { font-size: 32px; }
  .manifesto-copy > p:last-child { margin-top: 30px; font-size: 13px; }
  .manifesto-proof { display: grid; grid-template-columns: 1fr; gap: 10px; margin-top: 65px; }
  .manifesto-proof > span { margin-bottom: 12px; }
  .manifesto-proof i { display: none; }
  .turnkey-image { min-height: 540px; }
  .turnkey-copy { min-height: 0; padding: 85px 20px; }
  .turnkey-copy > p:not(.eyebrow) { font-size: 12px; }
  .solutions { padding: 85px 10px 10px; }
  .solutions-head { display: block; padding: 0 8px 53px; }
  .solutions-head h2 { margin-bottom: 25px; }
  .solutions-head > p { max-width: 310px; font-size: 11px; }
  .solution-stack { gap: 9px; }
  .solution-card, .solution-card:nth-child(2), .solution-card:nth-child(3), .solution-card:nth-child(4), .solution-card:nth-child(5) { position: relative; top: auto; min-height: 690px; }
  .solution-card > img { object-position: 58% center; }
  .solution-top { left: 20px; right: 20px; top: 20px; }
  .solution-body { left: 21px; right: 21px; bottom: 25px; display: grid; grid-template-columns: 1fr auto; gap: 18px; }
  .solution-body h3 { grid-column: 1 / -1; font-size: 58px; }
  .solution-card:nth-child(n+2) .solution-body h3 { font-size: 49px; line-height: .9; }
  .solution-body > p { font-size: 10px; line-height: 1.6; }
  .solution-body a { width: 52px; height: 52px; }
  .editorial-image { min-height: 520px; }
  .editorial-copy { min-height: 600px; padding: 80px 20px; }
  .editorial-copy > p:not(.eyebrow) { margin-top: 33px; font-size: 13px; }
  .night { min-height: 820px; }
  .night > img { object-position: 58% center; }
  .night-copy { padding: 65px 20px; }
  .night-copy h2 { font-size: 61px; line-height: .88; }
  .process { padding: 95px 18px; }
  .process-head { display: block; }
  .process-list { margin-top: 60px; }
  .process-list article { grid-template-columns: 35px 1fr 36px; gap: 12px; min-height: 150px; }
  .process-list h3 { font-size: 35px; }
  .process-list p { grid-column: 2 / -1; grid-row: 2; padding-bottom: 28px; font-size: 11px; }
  .process-list i { width: 36px; height: 36px; }
  .proof { padding: 90px 10px 10px; }
  .proof-head { display: block; padding: 0 8px 55px; }
  .proof-head > p { max-width: 310px; margin-top: 25px; font-size: 11px; }
  .proof-grid { grid-template-columns: 1fr; margin-top: 0; }
  .proof-grid article { min-height: 300px; }
  .showroom { min-height: 820px; }
  .showroom > img { object-position: 62% center; }
  .showroom-copy { width: auto; padding: 70px 20px; }
  .showroom-copy > span { font-size: 11px; }
  .guides { padding: 90px 18px; }
  .guides-head { display: block; }
  .guides-grid { grid-template-columns: 1fr; margin-top: 55px; }
  .guides-grid > a { min-height: 330px; }
  .contact-intro { min-height: 530px; padding: 70px 20px; }
  .contact h2 { font-size: 96px; }
  .contact-form { padding: 70px 20px 85px; }
  .contact-form-row { grid-template-columns: 1fr; gap: 28px; }
  footer { grid-template-columns: 1fr; gap: 30px; padding: 55px 20px; }
  footer > p, footer > div { justify-self: start; }
  footer > div { flex-wrap: wrap; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  [data-reveal] { opacity: 1; transform: none; }
  .immersive-hero { height: 100svh; }
  .immersive-stage { position: relative; }
  .immersive-atmosphere, .immersive-fire { animation: none !important; }
  .pergola-assembly button { display: none; }
}

/* Multi-page TERANEA system */
.detail-page {
  --detail-accent: #7c856e;
  --detail-accent-soft: #c8b48e;
  color: var(--ink);
  background: var(--paper);
}
.detail-page--turnkey { --detail-accent: #a95330; --detail-accent-soft: #dfb58b; }
.detail-page--pergola { --detail-accent: #7f765d; --detail-accent-soft: #d5c29c; }
.detail-page--shade { --detail-accent: #667961; --detail-accent-soft: #afbea9; }
.detail-page--terrace { --detail-accent: #8d6c4c; --detail-accent-soft: #d1ad7e; }
.detail-page--outdoor { --detail-accent: #9f4828; --detail-accent-soft: #e1a06a; }
.interior-header {
  position: absolute;
  z-index: 70;
  top: 0;
  left: 0;
  right: 0;
  height: 104px;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  padding: 0 clamp(22px, 3vw, 54px);
  color: white;
  border-bottom: 1px solid rgba(255,255,255,.2);
  transition:
    top .45s var(--ease),
    left .45s var(--ease),
    right .45s var(--ease),
    height .45s var(--ease),
    padding .45s var(--ease),
    background .35s,
    border-color .35s,
    box-shadow .35s;
}
.interior-header.is-scrolled {
  position: fixed;
  top: 12px;
  left: 14px;
  right: 14px;
  height: 70px;
  padding-inline: 24px;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(13,18,14,.82);
  box-shadow: 0 20px 55px rgba(0,0,0,.18);
  backdrop-filter: blur(18px) saturate(1.15);
  -webkit-backdrop-filter: blur(18px) saturate(1.15);
}
.interior-header.is-scrolled .brand-logo { width: 154px; }
.interior-header.is-menu-open {
  position: fixed;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
.interior-nav { display: flex; align-items: center; gap: 32px; }
.interior-nav a { position: relative; padding: 10px 0; font-size: 9px; font-weight: 680; letter-spacing: .16em; text-transform: uppercase; }
.interior-nav a::after { content: ""; position: absolute; left: 0; right: 100%; bottom: 4px; height: 1px; background: currentColor; transition: right .4s var(--ease); }
.interior-nav a:hover::after { right: 0; }
.nav-trigger { justify-self: end; display: flex; align-items: center; gap: 8px; width: 94px; padding: 12px 0; border: 0; color: white; background: transparent; cursor: pointer; }
.nav-trigger span { margin-right: auto; font-size: 8px; font-weight: 680; letter-spacing: .16em; text-transform: uppercase; }
.nav-trigger i { display: block; width: 13px; height: 1px; background: currentColor; transition: transform .35s var(--ease); }
.nav-trigger.is-open i:nth-child(2) { transform: translateX(10px) rotate(45deg); }
.nav-trigger.is-open i:nth-child(3) { transform: translateX(-11px) rotate(-45deg); }
.mobile-contact-dock { display: none; }

.mega-menu { position: fixed; z-index: 60; inset: 0; padding: 125px clamp(25px, 5vw, 80px) 35px; color: white; background: #101410; visibility: hidden; opacity: 0; transform: translateY(-25px); transition: visibility .55s, opacity .55s, transform .55s var(--ease); overflow-y: auto; }
.mega-menu.is-open { visibility: visible; opacity: 1; transform: none; }
.mega-menu::before { content: ""; position: fixed; inset: 0; opacity: .07; pointer-events: none; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); }
.mega-menu-top, .mega-menu-bottom { position: relative; display: flex; justify-content: space-between; color: rgba(255,255,255,.47); font-size: 8px; font-weight: 680; letter-spacing: .16em; text-transform: uppercase; }
.mega-menu-top { padding-bottom: 20px; border-bottom: 1px solid rgba(255,255,255,.17); }
.mega-menu-top p { margin: 0; }
.mega-menu-grid { position: relative; display: grid; grid-template-columns: 1fr 1.15fr; gap: clamp(50px, 9vw, 150px); padding: 42px 0 50px; }
.mega-menu-primary { display: grid; align-content: start; }
.mega-menu-primary a { display: flex; justify-content: space-between; align-items: center; padding: 10px 0; border-bottom: 1px solid rgba(255,255,255,.14); font: 400 clamp(42px, 5vw, 76px)/1 var(--serif); letter-spacing: -.04em; transition: color .3s, padding .35s var(--ease); }
.mega-menu-primary a:hover { padding-left: 12px; color: #dfb88e; }
.mega-menu-primary a > span:last-child { font: 600 13px/1 var(--sans); letter-spacing: .08em; }
.mega-menu-services > p { margin: 0 0 16px; color: #dfb88e; font-size: 8px; font-weight: 680; letter-spacing: .16em; text-transform: uppercase; }
.mega-solution-group { padding: 10px 0 12px; border-bottom: 1px solid rgba(255,255,255,.13); }
.mega-solution-main { display: grid; grid-template-columns: 32px 1fr auto; gap: 12px; align-items: start; color: rgba(255,255,255,.9); }
.mega-solution-main > span { padding-top: 5px; color: rgba(255,255,255,.32); font-size: 7px; letter-spacing: .12em; }
.mega-solution-main b { display: grid; gap: 4px; font: 400 clamp(18px, 1.75vw, 27px)/1 var(--serif); letter-spacing: -.025em; }
.mega-solution-main small { color: rgba(255,255,255,.4); font: 680 6px/1.4 var(--sans); letter-spacing: .14em; text-transform: uppercase; }
.mega-solution-main > i { padding-top: 3px; font-style: normal; transition: transform .3s var(--ease); }
.mega-solution-main:hover > i { transform: translate(4px, -4px); }
.mega-solution-children { display: flex; flex-wrap: wrap; gap: 5px 17px; margin: 10px 0 0 44px; }
.mega-solution-children a { color: rgba(255,255,255,.48); font-size: 8px; line-height: 1.4; }
.mega-solution-children a:hover { color: #dfb88e; }
.mega-menu-bottom { gap: 35px; justify-content: flex-start; padding-top: 22px; border-top: 1px solid rgba(255,255,255,.17); }
.mega-menu-bottom a:first-child { margin-right: auto; color: #dfb88e; }

.detail-hero { position: relative; min-height: 100svh; overflow: hidden; color: white; background: #0a0e0b; isolation: isolate; }
.detail-hero > img { position: absolute; z-index: -3; inset: 0; height: 100%; object-fit: cover; }
.detail-hero-shade { position: absolute; z-index: -2; inset: 0; background: linear-gradient(90deg, rgba(5,8,6,.78), rgba(5,8,6,.2) 68%), linear-gradient(0deg, rgba(4,7,5,.88), transparent 53%, rgba(4,7,5,.28)); }
.detail-hero-frame {
  position: absolute;
  z-index: 1;
  inset: 118px clamp(18px, 2vw, 34px) 24px;
  border: 1px solid rgba(255,255,255,.13);
  pointer-events: none;
}
.detail-hero-frame::before,
.detail-hero-frame::after {
  content: "";
  position: absolute;
  width: 34px;
  height: 34px;
  border-color: var(--detail-accent-soft);
}
.detail-hero-frame::before { left: -1px; top: -1px; border-left: 1px solid; border-top: 1px solid; }
.detail-hero-frame::after { right: -1px; bottom: -1px; border-right: 1px solid; border-bottom: 1px solid; }
.detail-hero-meta { position: absolute; left: clamp(22px, 4.5vw, 74px); top: 142px; display: flex; align-items: center; gap: 14px; font-size: 8px; font-weight: 680; letter-spacing: .18em; text-transform: uppercase; }
.detail-hero-meta span { display: grid; place-items: center; min-width: 34px; height: 34px; padding: 0 8px; border: 1px solid rgba(255,255,255,.55); border-radius: 30px; }
.detail-hero-meta p { margin: 0; }
.detail-hero-copy { position: absolute; left: clamp(22px, 4.5vw, 74px); right: clamp(22px, 4.5vw, 74px); bottom: 80px; animation: detailCopyIn .9s .15s var(--ease) both; }
.detail-hero-copy h1 { max-width: 1250px; margin: 0; font: 400 clamp(68px, 9.4vw, 152px)/.92 var(--serif); letter-spacing: -.058em; text-wrap: balance; }
.detail-hero-copy h1 em { color: var(--detail-accent-soft); font-weight: 400; }
.detail-hero-subtitle { max-width: 560px; margin: 28px 0 0; color: rgba(255,255,255,.76); font-size: 12px; line-height: 1.75; }
.detail-hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.detail-primary-action,
.detail-secondary-action { min-height: 52px; display: inline-flex; align-items: center; justify-content: space-between; gap: 34px; padding: 0 19px; border: 1px solid rgba(255,255,255,.5); font-size: 9px; font-weight: 680; letter-spacing: .14em; text-transform: uppercase; }
.detail-primary-action { color: var(--ink); border-color: var(--detail-accent-soft); background: var(--detail-accent-soft); }
.detail-secondary-action { color: white; background: rgba(9,14,11,.22); }
.detail-primary-action span,
.detail-secondary-action span { font-size: 14px; font-weight: 400; transition: transform .3s var(--ease); }
.detail-primary-action:hover span { transform: translate(4px, -4px); }
.detail-secondary-action:hover span { transform: translateY(4px); }
.detail-hero-note { margin: 14px 0 0; color: rgba(255,255,255,.55); font-size: 10px; line-height: 1.5; }
.detail-hero-signature {
  position: absolute;
  z-index: -1;
  top: 22%;
  right: clamp(32px, 4.2vw, 76px);
  display: flex;
  align-items: flex-end;
  gap: 18px;
  pointer-events: none;
}
.detail-hero-signature strong {
  color: rgba(255,255,255,.08);
  font: 400 clamp(115px, 17vw, 260px)/.72 var(--serif);
  letter-spacing: -.08em;
}
.detail-hero-signature span {
  margin-bottom: 7px;
  padding-bottom: 9px;
  border-bottom: 1px solid rgba(255,255,255,.3);
  color: rgba(255,255,255,.5);
  font-size: 8px;
  font-weight: 680;
  letter-spacing: .16em;
  text-transform: uppercase;
  writing-mode: vertical-rl;
  transform: rotate(180deg);
}
.detail-page--shade .detail-hero > img { object-position: 64% center; }
.detail-page--terrace .detail-hero > img { object-position: 58% center; }
.detail-page--outdoor .detail-hero > img { object-position: 60% center; }
.detail-page--shade .detail-hero-shade {
  background: linear-gradient(90deg, rgba(5,8,6,.82), rgba(5,8,6,.16) 73%), linear-gradient(0deg, rgba(4,7,5,.9), transparent 58%, rgba(4,7,5,.3));
}
.detail-link { display: inline-flex; align-items: center; gap: 38px; margin-top: 26px; padding-bottom: 9px; border-bottom: 1px solid currentColor; font-size: 8px; font-weight: 680; letter-spacing: .16em; text-transform: uppercase; }
.detail-link span { transition: transform .3s var(--ease); }
.detail-link:hover span { transform: translate(4px, -4px); }
.detail-hero-scroll { position: absolute; z-index: 4; right: clamp(30px, 6vw, 100px); bottom: 42px; width: 112px; height: 112px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.42); border-radius: 50%; text-align: center; transition: color .3s, background .3s, transform .35s var(--ease); }
.detail-hero-scroll span { max-width: 60px; font-size: 6px; line-height: 1.5; font-weight: 680; letter-spacing: .15em; text-transform: uppercase; }
.detail-hero-scroll i { position: absolute; bottom: 13px; font-style: normal; }
.detail-hero-scroll:hover { color: var(--ink); background: var(--detail-accent-soft); transform: rotate(-7deg); }
@keyframes detailCopyIn { from { opacity: 0; transform: translateY(30px); } to { opacity: 1; transform: none; } }

.infinite-ticker {
  --infinite-ticker-bg: var(--corten);
  position: relative;
  overflow: hidden;
  color: var(--paper);
  background: var(--infinite-ticker-bg);
}
.infinite-ticker--detail { --infinite-ticker-bg: var(--detail-accent); }
.infinite-ticker-track {
  width: max-content;
  display: flex;
  will-change: transform;
  animation: ticker var(--ticker-duration, 60s) linear infinite;
}
.infinite-ticker-group { flex: none; height: 78px; display: flex; align-items: center; }
.infinite-ticker span { display: inline-flex; align-items: center; gap: 27px; margin-right: 27px; font: italic 400 27px/1 var(--serif); white-space: nowrap; }
.infinite-ticker i { font: normal 10px/1 var(--sans); }
.infinite-ticker-measure {
  position: absolute;
  width: max-content;
  height: 0;
  overflow: hidden;
  visibility: hidden;
  pointer-events: none;
}
.infinite-ticker--home .infinite-ticker-group { height: 82px; }
.infinite-ticker--home span { gap: 30px; margin-right: 30px; font-size: 31px; }
.infinite-ticker--home i { font-size: 11px; }

.solution-jump-nav {
  position: sticky;
  z-index: 45;
  top: 94px;
  min-height: 58px;
  display: flex;
  align-items: center;
  gap: 30px;
  padding: 0 clamp(22px, 4.5vw, 74px);
  overflow-x: auto;
  border-bottom: 1px solid var(--line);
  background: rgba(242,239,232,.94);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  scrollbar-width: none;
}
.solution-jump-nav::-webkit-scrollbar { display: none; }
.solution-jump-nav > span { margin-right: auto; color: rgba(23,26,23,.46); }
.solution-jump-nav a,
.solution-jump-nav > span { flex: none; font-size: 10px; font-weight: 680; letter-spacing: .13em; text-transform: uppercase; }
.solution-jump-nav a { padding: 21px 0 17px; border-bottom: 2px solid transparent; }
.solution-jump-nav a:hover { color: var(--detail-accent); border-bottom-color: var(--detail-accent); }
.solution-jump-nav a:last-child { color: var(--detail-accent); }

.solution-assurance { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-bottom: 1px solid var(--line); border-left: 1px solid var(--line); }
.solution-assurance article { min-height: 205px; display: flex; flex-direction: column; padding: 27px clamp(20px, 2.5vw, 40px); border-right: 1px solid var(--line); }
.solution-assurance article > span { color: var(--detail-accent); font-size: 9px; font-weight: 680; letter-spacing: .15em; }
.solution-assurance h2 { margin: auto 0 13px; font: 400 clamp(24px, 2.2vw, 34px)/1 var(--serif); letter-spacing: -.035em; }
.solution-assurance p { max-width: 350px; margin: 0; color: rgba(23,26,23,.61); font-size: 14px; line-height: 1.6; }

.detail-label { display: flex; gap: 13px; align-items: center; color: rgba(23,26,23,.55); font-size: 8px; font-weight: 680; letter-spacing: .17em; text-transform: uppercase; }
.detail-label span { display: grid; place-items: center; width: 30px; height: 30px; border: 1px solid currentColor; border-radius: 50%; }
.detail-label p { margin: 0; }
.detail-label.light { color: rgba(255,255,255,.54); }
.detail-intro { padding: clamp(95px, 11vw, 165px) clamp(22px, 4.5vw, 74px); }
.detail-intro-copy { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(320px, .8fr); gap: clamp(45px, 9vw, 140px); margin-top: 52px; }
.detail-intro h2, .detail-features h2, .detail-options h2, .decision-guide h2, .detail-closing h2, .contact-details h2 { margin: 0; font: 400 clamp(54px, 6.6vw, 104px)/.96 var(--serif); letter-spacing: -.05em; }
.detail-intro h2 em, .detail-features h2 em, .decision-guide h2 em, .contact-details h2 em { color: var(--detail-accent); font-weight: 400; }
.detail-intro-copy > div { align-self: end; }
.detail-intro-copy > div p { margin: 0 0 22px; color: rgba(23,26,23,.67); font-size: 13px; line-height: 1.85; }
.detail-media { position: relative; min-height: min(72vw, 830px); margin: clamp(70px, 9vw, 140px) 0 0; overflow: hidden; background: #a49b88; }
.detail-media > img { position: absolute; inset: 0; height: 100%; object-fit: cover; transition: transform 1.2s var(--ease); }
.detail-media:hover > img { transform: scale(1.025); }
.detail-media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(4,7,5,.7), transparent 43%); }
.detail-media figcaption { position: absolute; z-index: 2; left: 30px; right: 30px; bottom: 27px; display: flex; justify-content: space-between; align-items: end; color: white; }
.detail-media figcaption span { font-size: 7px; font-weight: 680; letter-spacing: .16em; text-transform: uppercase; }
.detail-media figcaption p { max-width: 330px; margin: 0; font: italic 400 20px/1.2 var(--serif); text-align: right; }
.detail-inline-cta { display: grid; grid-template-columns: minmax(300px, 1fr) minmax(260px, .7fr) auto; gap: clamp(30px, 5vw, 80px); align-items: end; margin-top: clamp(70px, 9vw, 130px); padding: 36px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.detail-inline-cta > div > p { margin: 0 0 16px; color: var(--detail-accent); font-size: 10px; font-weight: 680; letter-spacing: .15em; text-transform: uppercase; }
.detail-inline-cta h3 { max-width: 600px; margin: 0; font: 400 clamp(31px, 3vw, 48px)/1 var(--serif); letter-spacing: -.04em; }
.detail-inline-cta > span { color: rgba(23,26,23,.63); font-size: 15px; line-height: 1.7; }
.detail-inline-cta > a { min-height: 54px; display: inline-flex; align-items: center; justify-content: space-between; gap: 30px; padding: 0 19px; color: white; background: var(--detail-accent); font-size: 10px; font-weight: 680; letter-spacing: .13em; text-transform: uppercase; white-space: nowrap; }
.detail-inline-cta > a b { font-size: 15px; font-weight: 400; transition: transform .3s var(--ease); }
.detail-inline-cta > a:hover b { transform: translate(4px, -4px); }
.detail-page--pergola .detail-media { min-height: min(60vw, 760px); }
.detail-page--shade .detail-media { margin-left: 13vw; min-height: min(66vw, 800px); }
.detail-page--terrace .detail-intro-copy { grid-template-columns: minmax(320px, .75fr) minmax(0, 1.25fr); }
.detail-page--terrace .detail-intro-copy > h2 { grid-column: 2; grid-row: 1; }
.detail-page--terrace .detail-intro-copy > div { grid-column: 1; grid-row: 1; }
.detail-page--terrace .detail-media { width: 84%; min-height: min(72vw, 860px); }
.detail-page--outdoor .detail-media { width: 82%; min-height: min(74vw, 880px); margin-left: auto; }

.detail-features { padding: clamp(95px, 10vw, 150px) clamp(22px, 4.5vw, 74px); color: white; background: var(--ink); }
.detail-features-head { display: grid; grid-template-columns: 1fr minmax(250px, 390px); gap: 55px; align-items: end; margin-top: 45px; }
.detail-features-head > p { margin: 0; color: rgba(255,255,255,.57); font-size: 12px; line-height: 1.8; }
.detail-feature-grid { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 85px; border-top: 1px solid rgba(255,255,255,.2); border-left: 1px solid rgba(255,255,255,.2); }
.detail-feature-grid article { position: relative; min-height: 410px; padding: 27px clamp(20px, 2.4vw, 38px); border-right: 1px solid rgba(255,255,255,.2); border-bottom: 1px solid rgba(255,255,255,.2); transition: color .35s, background .35s; }
.detail-feature-grid article:hover { color: var(--ink); background: var(--detail-accent-soft); }
.detail-feature-grid article > span { color: rgba(255,255,255,.43); font-size: 8px; letter-spacing: .15em; }
.detail-feature-grid article:hover > span { color: rgba(23,26,23,.5); }
.detail-feature-grid h3 { margin: 115px 0 22px; font: 400 clamp(27px, 2.4vw, 39px)/.98 var(--serif); letter-spacing: -.035em; }
.detail-feature-grid p { margin: 0; color: rgba(255,255,255,.58); font-size: 10px; line-height: 1.75; }
.detail-feature-grid article:hover p { color: rgba(23,26,23,.7); }
.detail-feature-grid article > i { position: absolute; right: 24px; bottom: 22px; font-style: normal; }

.detail-options { padding: clamp(95px, 11vw, 165px) clamp(22px, 4.5vw, 74px); }
.detail-options > h2 { margin-top: 50px; }
.detail-options-list { margin-top: 70px; border-top: 1px solid var(--line); }
.detail-options-list article { min-height: 170px; display: grid; grid-template-columns: 60px minmax(240px, .8fr) 1.2fr 50px; align-items: center; gap: 30px; border-bottom: 1px solid var(--line); }
.detail-options-list article > span { color: rgba(23,26,23,.42); font-size: 8px; letter-spacing: .15em; }
.detail-options-list h3 { margin: 0; font: 400 clamp(30px, 3vw, 46px)/1 var(--serif); letter-spacing: -.035em; }
.detail-options-list p { max-width: 650px; margin: 0; color: rgba(23,26,23,.64); font-size: 11px; line-height: 1.75; }
.detail-options-list a { display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid var(--line); border-radius: 50%; transition: color .3s, background .3s, transform .3s; }
.detail-options-list a:hover { color: white; background: var(--detail-accent); transform: rotate(45deg); }

.decision-guide { padding: clamp(95px, 11vw, 165px) clamp(22px, 4.5vw, 74px); background: var(--cream); }
.decision-head { display: grid; grid-template-columns: 1fr minmax(280px, 420px); gap: clamp(45px, 8vw, 130px); align-items: end; margin-top: 48px; }
.decision-head > p { margin: 0 0 8px; color: rgba(23,26,23,.63); font-size: 12px; line-height: 1.8; }
.decision-fit { display: grid; grid-template-columns: minmax(180px, .45fr) 1.55fr; gap: clamp(40px, 8vw, 130px); margin-top: 90px; padding-top: 28px; border-top: 1px solid var(--line); }
.decision-fit > p, .decision-faq > p { margin: 0; color: var(--detail-accent); font-size: 8px; font-weight: 680; letter-spacing: .16em; text-transform: uppercase; }
.decision-fit ul { margin: 0; padding: 0; list-style: none; }
.decision-fit li { display: grid; grid-template-columns: 48px 1fr; gap: 18px; padding: 19px 0; border-bottom: 1px solid var(--line); font: 400 clamp(22px, 2.2vw, 34px)/1.12 var(--serif); letter-spacing: -.025em; }
.decision-fit li:first-child { padding-top: 0; }
.decision-fit li span { padding-top: 7px; color: rgba(23,26,23,.42); font: 680 7px/1 var(--sans); letter-spacing: .15em; }
.decision-facts { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 100px; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.decision-facts article { min-height: 360px; display: flex; flex-direction: column; padding: 27px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: rgba(255,255,255,.16); }
.decision-facts article > span { color: var(--detail-accent); font-size: 8px; font-weight: 680; letter-spacing: .15em; }
.decision-facts h3 { margin: auto 0 22px; font: 400 clamp(27px, 2.6vw, 41px)/.98 var(--serif); letter-spacing: -.035em; }
.decision-facts p { margin: 0; color: rgba(23,26,23,.62); font-size: 10px; line-height: 1.75; }
.decision-faq { display: grid; grid-template-columns: minmax(180px, .45fr) 1.55fr; column-gap: clamp(40px, 8vw, 130px); margin-top: 100px; padding-top: 28px; border-top: 1px solid var(--line); }
.decision-faq > p { grid-row: 1 / 4; }
.decision-faq details { grid-column: 2; border-bottom: 1px solid var(--line); }
.decision-faq summary { display: grid; grid-template-columns: 1fr 35px; align-items: center; min-height: 82px; cursor: pointer; list-style: none; font: 400 clamp(20px, 2vw, 29px)/1.2 var(--serif); }
.decision-faq summary::-webkit-details-marker { display: none; }
.decision-faq summary span { justify-self: end; color: var(--detail-accent); font: 400 19px/1 var(--sans); transition: transform .3s var(--ease); }
.decision-faq details[open] summary span { transform: rotate(45deg); }
.decision-faq details > div { max-width: 740px; padding: 0 45px 28px 0; color: rgba(23,26,23,.62); font-size: 11px; line-height: 1.8; }

.detail-quote { min-height: 650px; display: flex; flex-direction: column; justify-content: center; padding: clamp(80px, 10vw, 150px) clamp(22px, 9vw, 150px); color: white; background: var(--detail-accent); }
.detail-quote > p { margin: 0 0 55px; font-size: 8px; font-weight: 680; letter-spacing: .17em; text-transform: uppercase; }
.detail-quote blockquote { max-width: 1250px; margin: 0; font: italic 400 clamp(42px, 5.2vw, 80px)/.98 var(--serif); letter-spacing: -.035em; }
.detail-quote > div { display: grid; gap: 5px; margin-top: 55px; padding-left: 54px; border-left: 1px solid rgba(255,255,255,.4); }
.detail-quote strong { font-size: 9px; letter-spacing: .14em; text-transform: uppercase; }
.detail-quote span { color: rgba(255,255,255,.65); font: italic 400 16px/1 var(--serif); }

.detail-closing { min-height: 540px; display: grid; grid-template-columns: 1fr auto; gap: 70px; align-items: end; padding: clamp(80px, 10vw, 150px) clamp(22px, 4.5vw, 74px); }
.detail-closing > div > p { margin: 0 0 25px; color: var(--detail-accent); font-size: 8px; font-weight: 680; letter-spacing: .17em; text-transform: uppercase; }
.detail-closing h2 { max-width: 1050px; }
.detail-closing > div > span { display: block; max-width: 560px; margin-top: 30px; color: rgba(23,26,23,.62); font-size: 12px; line-height: 1.8; }
.detail-closing > .detail-link { align-self: end; margin-bottom: 10px; }
.detail-next { padding: 45px clamp(22px, 4.5vw, 74px) 85px; }
.detail-next > p { margin: 0 0 18px; color: rgba(23,26,23,.47); font-size: 8px; font-weight: 680; letter-spacing: .15em; text-transform: uppercase; }
.detail-next > div { border-top: 1px solid var(--line); }
.detail-next a { display: flex; justify-content: space-between; padding: 15px 0; border-bottom: 1px solid var(--line); font: 400 clamp(27px, 3vw, 45px)/1 var(--serif); letter-spacing: -.035em; }
.detail-next a span { font: 400 16px/1 var(--sans); transition: transform .3s var(--ease); }
.detail-next a:hover span { transform: translate(4px, -4px); }

.interior-footer { min-height: 0; display: block; padding: 80px clamp(22px, 4.5vw, 74px) 30px; color: white; background: #111510; }
.interior-footer-brand { display: flex; justify-content: space-between; align-items: end; padding-bottom: 55px; border-bottom: 1px solid rgba(255,255,255,.17); }
.interior-footer-brand a { width: clamp(190px, 18vw, 280px); }
.interior-footer-brand img { height: auto; }
.interior-footer-brand p { margin: 0; color: rgba(255,255,255,.62); font: italic 400 clamp(24px, 2.3vw, 35px)/1 var(--serif); }
.interior-footer-solutions { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); align-items: stretch; border-left: 1px solid rgba(255,255,255,.17); }
.interior-footer-solutions > div { min-width: 0; min-height: 390px; display: flex; flex-direction: column; align-items: flex-start; padding: 28px 24px; border-right: 1px solid rgba(255,255,255,.17); border-bottom: 1px solid rgba(255,255,255,.17); }
.interior-footer-solutions > div > span { color: #dfb88e; font-size: 7px; font-weight: 680; letter-spacing: .15em; }
.interior-footer-solutions > div > a:not(.footer-child-link) { min-height: 104px; display: flex; align-items: flex-end; margin: 58px 0 12px; font: 400 clamp(20px, 1.8vw, 29px)/1 var(--serif); letter-spacing: -.025em; }
.interior-footer-solutions > div > p { margin: 0 0 18px; color: rgba(255,255,255,.42); font-size: 7px; line-height: 1.55; letter-spacing: .11em; text-transform: uppercase; }
.interior-footer-solutions .footer-child-link { margin: 3px 0; color: rgba(255,255,255,.42); font-size: 8px; line-height: 1.4; }
.interior-footer-solutions a:hover { color: #dfb88e; }
.interior-footer-links { display: grid; grid-template-columns: repeat(3, 1fr); gap: 45px; padding: 55px 0; }
.interior-footer-links > div { display: flex; flex-direction: column; align-items: flex-start; gap: 9px; }
.interior-footer-links p { margin: 0 0 13px; color: #dfb88e; font-size: 8px; font-weight: 680; letter-spacing: .16em; text-transform: uppercase; }
.interior-footer-links a, .interior-footer-links span { color: rgba(255,255,255,.58); font-size: 10px; line-height: 1.55; }
.interior-footer-links a:hover { color: white; }
.interior-footer-bottom { display: flex; gap: 35px; padding-top: 25px; border-top: 1px solid rgba(255,255,255,.17); color: rgba(255,255,255,.4); font-size: 7px; font-weight: 680; letter-spacing: .15em; text-transform: uppercase; }
.interior-footer-bottom a:last-child { margin-left: auto; color: #dfb88e; }

/* Contact */
.contact-hero { position: relative; min-height: 88svh; overflow: hidden; color: white; background: #090d0a; isolation: isolate; }
.contact-hero > img { position: absolute; z-index: -3; inset: 0; height: 100%; object-fit: cover; }
.contact-hero .detail-hero-copy { bottom: 80px; }
.contact-kicker { margin: 0 0 20px !important; color: white !important; font-size: 8px !important; font-weight: 680; letter-spacing: .17em; text-transform: uppercase; }
.contact-content { display: grid; grid-template-columns: 1fr 1fr; }
.contact-details { padding: clamp(80px, 9vw, 140px) clamp(22px, 5vw, 80px); border-right: 1px solid var(--line); }
.contact-details h2 { margin-top: 48px; }
.contact-details dl { margin: 70px 0 0; }
.contact-details dl > div { display: grid; grid-template-columns: 145px 1fr; padding: 24px 0; border-top: 1px solid var(--line); }
.contact-details dl > div:last-child { border-bottom: 1px solid var(--line); }
.contact-details dt { color: rgba(23,26,23,.5); font-size: 8px; font-weight: 680; letter-spacing: .15em; text-transform: uppercase; }
.contact-details dd { margin: 0; font: 400 20px/1.35 var(--serif); }
.contact-form-wrap { padding: clamp(80px, 9vw, 140px) clamp(22px, 5vw, 80px); color: white; background: var(--corten); }
.contact-form-wrap > p { margin: 0 0 50px; font-size: 8px; font-weight: 680; letter-spacing: .17em; text-transform: uppercase; }
.inquiry-form { display: grid; grid-template-columns: 1fr 1fr; gap: 30px 26px; }
.inquiry-form label { display: grid; gap: 11px; }
.inquiry-form label > span { font-size: 7px; font-weight: 680; letter-spacing: .16em; text-transform: uppercase; }
.inquiry-form input, .inquiry-form select, .inquiry-form textarea { width: 100%; padding: 0 0 14px; border: 0; border-bottom: 1px solid rgba(255,255,255,.42); border-radius: 0; outline: none; color: white; background: transparent; }
.inquiry-form input::placeholder, .inquiry-form textarea::placeholder { color: rgba(255,255,255,.5); }
.inquiry-form select option { color: var(--ink); }
.inquiry-message, .inquiry-upload, .inquiry-consent, .inquiry-form button, .inquiry-success { grid-column: 1 / -1; }
.inquiry-message textarea { min-height: 90px; resize: vertical; }
.inquiry-upload { padding: 14px 16px; border: 1px solid rgba(255,255,255,.3); }
.inquiry-form .inquiry-upload input { padding: 0; border: 0; color: rgba(255,255,255,.72); font-size: 9px; }
.inquiry-upload input::file-selector-button { margin-right: 14px; padding: 8px 12px; border: 0; color: var(--ink); background: var(--cream); font-size: 7px; font-weight: 680; letter-spacing: .12em; text-transform: uppercase; cursor: pointer; }
.inquiry-extra { grid-column: 1 / -1; border-top: 1px solid rgba(255,255,255,.28); border-bottom: 1px solid rgba(255,255,255,.28); }
.inquiry-extra summary { min-height: 58px; display: flex; align-items: center; justify-content: space-between; gap: 20px; cursor: pointer; list-style: none; color: rgba(255,255,255,.78); font-size: 11px; font-weight: 680; letter-spacing: .13em; text-transform: uppercase; }
.inquiry-extra summary::-webkit-details-marker { display: none; }
.inquiry-extra summary span { font-size: 18px; font-weight: 400; transition: transform .3s var(--ease); }
.inquiry-extra[open] summary span { transform: rotate(45deg); }
.inquiry-extra > div { display: grid; grid-template-columns: 1fr 1fr; gap: 26px; padding: 8px 0 28px; }
.inquiry-consent { display: flex !important; grid-template-columns: 16px 1fr; align-items: center; }
.inquiry-consent input { width: 14px; margin: 0; }
.inquiry-consent span { color: rgba(255,255,255,.62); font-size: 7px !important; line-height: 1.5; }
.inquiry-form button { min-height: 64px; display: flex; justify-content: space-between; align-items: center; padding: 0 24px; border: 0; color: white; background: var(--ink); font-size: 8px; font-weight: 680; letter-spacing: .16em; text-transform: uppercase; cursor: pointer; }
.inquiry-success { margin: 0; padding: 14px 16px; border: 1px solid rgba(255,255,255,.35); font-size: 10px; line-height: 1.6; }

/* Blog and legal */
.simple-hero { min-height: 660px; display: flex; flex-direction: column; justify-content: flex-end; padding: 160px clamp(22px, 4.5vw, 74px) 80px; color: white; background: var(--ink); }
.simple-hero > p { margin: 0 0 30px; color: #dfb88e; font-size: 8px; font-weight: 680; letter-spacing: .17em; text-transform: uppercase; }
.simple-hero h1 { margin: 0; font: 400 clamp(72px, 10vw, 158px)/.92 var(--serif); letter-spacing: -.058em; text-wrap: balance; }
.simple-hero h1 em { color: #dfb88e; font-weight: 400; }
.simple-hero > span { max-width: 580px; margin-top: 38px; color: rgba(255,255,255,.6); font-size: 12px; line-height: 1.8; }
.blog-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 75px 24px; padding: clamp(75px, 9vw, 130px) clamp(22px, 4.5vw, 74px); }
.blog-card-image { position: relative; aspect-ratio: 16 / 9; overflow: hidden; background: #888; }
.blog-card-image img { display: block; width: 100%; max-width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--ease); }
.blog-grid article:hover .blog-card-image img { transform: scale(1.03); }
.blog-card-image span { position: absolute; left: 20px; top: 20px; display: grid; place-items: center; width: 34px; height: 34px; border: 1px solid rgba(255,255,255,.6); border-radius: 50%; color: white; font-size: 8px; }
.blog-grid article > p { margin: 22px 0 14px; color: var(--corten); font-size: 8px; font-weight: 680; letter-spacing: .14em; text-transform: uppercase; }
.blog-grid h2 { margin: 0; font: 400 clamp(31px, 3vw, 47px)/1.02 var(--serif); letter-spacing: -.035em; }
.blog-grid article > a { display: inline-flex; gap: 24px; margin-top: 24px; padding-bottom: 7px; border-bottom: 1px solid currentColor; font-size: 8px; font-weight: 680; letter-spacing: .15em; text-transform: uppercase; }
.privacy-content { max-width: 950px; margin: 0 auto; padding: clamp(80px, 10vw, 150px) 25px; }
.privacy-content h2 { margin: 65px 0 18px; font: 400 clamp(34px, 4vw, 55px)/1 var(--serif); letter-spacing: -.035em; }
.privacy-content h2:first-child { margin-top: 0; }
.privacy-content p, .privacy-content li { color: rgba(23,26,23,.68); font-size: 13px; line-height: 1.85; }
.privacy-content p { white-space: pre-line; }
.privacy-content a { color: var(--corten); border-bottom: 1px solid currentColor; }

@media (max-width: 1024px) {
  .interior-header { grid-template-columns: 1fr auto; height: 86px; }
  .interior-nav { display: none; }
  .mega-menu-grid { grid-template-columns: 1fr; }
  .mega-menu-primary { grid-template-columns: 1fr 1fr; gap: 0 25px; }
  .detail-intro-copy { grid-template-columns: 1fr; }
  .detail-intro-copy > div { max-width: 760px; margin-left: auto; }
  .detail-page--terrace .detail-intro-copy { grid-template-columns: 1fr; }
  .detail-page--terrace .detail-intro-copy > h2,
  .detail-page--terrace .detail-intro-copy > div { grid-column: auto; grid-row: auto; }
  .detail-page--shade .detail-media,
  .detail-page--terrace .detail-media,
  .detail-page--outdoor .detail-media { width: 100%; margin-left: 0; }
  .detail-feature-grid { grid-template-columns: repeat(2, 1fr); }
  .detail-feature-grid article { min-height: 330px; }
  .detail-features-head { grid-template-columns: 1fr; }
  .decision-head { grid-template-columns: 1fr; }
  .decision-facts { grid-template-columns: repeat(2, 1fr); }
  .detail-closing { grid-template-columns: 1fr; }
  .solution-assurance { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .detail-inline-cta { grid-template-columns: 1fr 1fr; }
  .detail-inline-cta > a { width: max-content; }
  .interior-footer-solutions { grid-template-columns: repeat(2, 1fr); }
  .contact-content { grid-template-columns: 1fr; }
  .contact-details { border-right: 0; }
}

@media (max-width: 680px) {
  .interior-header { height: 76px; padding-inline: 18px; }
  .interior-header.is-scrolled {
    top: 8px;
    left: 8px;
    right: 8px;
    height: 62px;
    padding-inline: 14px;
  }
  .interior-header.is-scrolled .brand-logo { width: 132px; }
  .interior-header .brand-logo { width: 148px; }
  .nav-trigger { width: 77px; }
  .nav-trigger span { font-size: 7px; }
  .mobile-contact-dock {
    position: fixed;
    z-index: 58;
    left: 8px;
    right: 8px;
    bottom: 8px;
    min-height: 58px;
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    padding: 6px;
    color: white;
    background: rgba(14,19,15,.9);
    border: 1px solid rgba(255,255,255,.14);
    box-shadow: 0 18px 50px rgba(0,0,0,.26);
    backdrop-filter: blur(18px) saturate(1.12);
    -webkit-backdrop-filter: blur(18px) saturate(1.12);
    opacity: 0;
    visibility: hidden;
    transform: translateY(18px);
    transition: opacity .35s, visibility .35s, transform .45s var(--ease);
  }
  .mobile-contact-dock.is-visible { opacity: 1; visibility: visible; transform: none; }
  .mobile-contact-dock a {
    min-height: 44px;
    display: flex;
    align-items: center;
    padding: 0 14px;
    font-size: 10px;
    font-weight: 680;
    letter-spacing: .12em;
    text-transform: uppercase;
  }
  .mobile-contact-dock a:first-child {
    justify-content: space-between;
    gap: 20px;
    color: #151a16;
    background: #dfb88e;
  }
  .mobile-contact-dock a:last-child { color: rgba(255,255,255,.72); }
  .mega-menu { padding: 105px 18px 28px; }
  .mega-menu-top span { display: none; }
  .mega-menu-grid { gap: 42px; padding: 30px 0; }
  .mega-menu-primary { grid-template-columns: 1fr; }
  .mega-menu-primary a { font-size: 44px; }
  .mega-solution-main { padding: 7px 0; }
  .mega-solution-main b { font-size: 23px; }
  .mega-solution-children { gap: 4px 14px; margin-left: 44px; }
  .mega-solution-children a { padding: 3px 0; font-size: 9px; }
  .mega-menu-bottom { flex-wrap: wrap; gap: 16px 28px; }
  .mega-menu-bottom a:first-child { width: 100%; margin: 0; }
  .detail-hero-meta { left: 18px; top: 101px; }
  .detail-hero-frame { inset: 88px 9px 9px; }
  .detail-hero-frame::before,
  .detail-hero-frame::after { width: 22px; height: 22px; }
  .detail-hero { min-height: max(100svh, 720px); display: flex; align-items: flex-end; padding: 150px 18px 64px; }
  .detail-hero-signature { display: none; }
  .detail-hero-copy { position: relative; inset: auto; width: 100%; }
  .detail-hero-copy h1 { font-size: clamp(52px, 15vw, 70px); line-height: .96; }
  .detail-hero-subtitle { max-width: 330px; margin-top: 20px; font-size: 15px; line-height: 1.6; }
  .detail-hero-actions { display: grid; grid-template-columns: 1fr; gap: 9px; margin-top: 22px; }
  .detail-primary-action,
  .detail-secondary-action { width: min(100%, 330px); min-height: 50px; font-size: 10px; }
  .detail-hero-note { max-width: 320px; margin-top: 12px; font-size: 11px; }
  .detail-link { gap: 24px; margin-top: 19px; font-size: 7px; }
  .detail-hero-scroll { display: none; }
  .infinite-ticker-group { height: 63px; }
  .infinite-ticker span { font-size: 23px; }
  .solution-jump-nav { top: 77px; gap: 24px; min-height: 52px; padding: 0 18px; }
  .solution-jump-nav > span { display: none; }
  .solution-jump-nav a,
  .solution-jump-nav > span { font-size: 9px; }
  .solution-jump-nav a { padding: 19px 0 15px; }
  .solution-assurance { grid-template-columns: 1fr 1fr; }
  .solution-assurance article { min-height: 185px; padding: 21px 18px; }
  .solution-assurance h2 { font-size: 25px; line-height: 1.05; }
  .solution-assurance p { font-size: 13px; line-height: 1.55; }
  .detail-intro, .detail-features, .detail-options, .decision-guide { padding: 85px 18px; }
  .detail-intro-copy { gap: 40px; margin-top: 38px; }
  .detail-intro h2, .detail-features h2, .detail-options h2, .decision-guide h2, .detail-closing h2, .contact-details h2 { font-size: 52px; }
  .detail-intro-copy > div p { font-size: 11px; line-height: 1.75; }
  .detail-media { min-height: 0; aspect-ratio: 4 / 5; margin-top: 65px; }
  .detail-media figcaption { left: 18px; right: 18px; bottom: 18px; display: block; }
  .detail-media figcaption p { max-width: 250px; margin-top: 10px; text-align: left; font-size: 17px; }
  .detail-feature-grid { grid-template-columns: 1fr; margin-top: 55px; }
  .detail-feature-grid article { min-height: 235px; }
  .detail-feature-grid h3 { margin-top: 55px; font-size: 34px; }
  .detail-inline-cta { grid-template-columns: 1fr; gap: 24px; margin-top: 70px; padding: 31px 0; }
  .detail-inline-cta h3 { font-size: 36px; line-height: 1.04; }
  .detail-inline-cta > span { font-size: 16px; }
  .detail-inline-cta > a { width: 100%; }
  .detail-options-list { margin-top: 45px; }
  .detail-options-list article { grid-template-columns: 35px 1fr 44px; gap: 12px; padding: 28px 0; }
  .detail-options-list h3 { font-size: 32px; }
  .detail-options-list p { grid-column: 2 / -1; grid-row: 2; font-size: 10px; }
  .detail-options-list a { grid-column: 3; grid-row: 1; }
  .decision-head { margin-top: 38px; }
  .decision-head > p { margin-top: 30px; font-size: 11px; }
  .decision-fit { grid-template-columns: 1fr; gap: 30px; margin-top: 65px; }
  .decision-fit li { grid-template-columns: 34px 1fr; gap: 10px; font-size: 24px; }
  .decision-facts { grid-template-columns: 1fr; margin-top: 70px; }
  .decision-facts article { min-height: 0; padding: 24px 21px; }
  .decision-facts h3 { margin: 58px 0 18px; }
  .decision-faq { grid-template-columns: 1fr; margin-top: 70px; }
  .decision-faq > p { grid-row: auto; margin-bottom: 22px; }
  .decision-faq details { grid-column: 1; }
  .decision-faq summary { min-height: 76px; font-size: 21px; }
  .detail-quote { min-height: 500px; padding: 75px 20px; }
  .detail-quote blockquote { font-size: 40px; line-height: 1.04; }
  .detail-closing { min-height: 520px; padding: 80px 18px; }
  .detail-next { padding: 30px 18px 70px; }
  .detail-next a { font-size: 29px; }
  .interior-footer { padding: 65px 20px 105px; }
  .interior-footer-brand { display: block; }
  .interior-footer-brand p { margin-top: 25px; font-size: 24px; }
  .interior-footer-solutions { grid-template-columns: 1fr; margin-top: 35px; }
  .interior-footer-solutions > div { min-height: 0; padding: 24px 18px; }
  .interior-footer-solutions > div > a:not(.footer-child-link) { min-height: 0; margin: 45px 0 12px; font-size: 30px; }
  .interior-footer-links { grid-template-columns: 1fr 1fr; gap: 40px 25px; }
  .interior-footer-bottom { flex-wrap: wrap; gap: 15px 25px; }
  .interior-footer-bottom a:last-child { width: 100%; margin: 5px 0 0; }
  .contact-hero { min-height: 100svh; }
  .contact-content { display: block; }
  .contact-details, .contact-form-wrap { padding: 80px 20px; }
  .contact-details dl > div { grid-template-columns: 105px 1fr; }
  .contact-details dd { font-size: 17px; }
  .inquiry-form { grid-template-columns: 1fr; }
  .inquiry-message, .inquiry-consent, .inquiry-form button, .inquiry-success { grid-column: auto; }
  .inquiry-extra { grid-column: auto; }
  .inquiry-extra > div { grid-template-columns: 1fr; }
  .simple-hero { min-height: 600px; padding: 135px 18px 70px; }
  .simple-hero h1 { font-size: clamp(52px, 16vw, 69px); line-height: .96; }
  .blog-grid { grid-template-columns: 1fr; gap: 65px; padding: 75px 18px; }
  .blog-grid h2 { font-size: 36px; }
  .privacy-content { padding-inline: 20px; }
}

/* Readability pass — keep the editorial hierarchy, remove undersized copy. */
body {
  font-size: 16px;
}

.desktop-nav a,
.header-cta,
.interior-nav a,
.nav-trigger span {
  font-size: 12px;
}

.immersive-meta,
.film-meta,
.film-copy > p:first-child,
.section-label p,
.eyebrow,
.solution-top p,
.night-copy > p,
.night-copy > span,
.contact-intro > p,
.contact-intro > span,
.detail-hero-meta,
.detail-label,
.contact-kicker,
.simple-hero > p,
.blog-grid article > p {
  font-size: 11px !important;
}

.assembly-label,
.pergola-assembly button,
.immersive-message > span,
.immersive-time small,
.immersive-time span,
.immersive-depth,
.film-controls button,
.film-gesture-hint,
.manifesto-proof > span,
.turnkey-image > span,
.turnkey-copy li span,
.editorial-image span,
.proof-grid article > span,
.showroom-copy > p,
.guides-grid > a > span,
.detail-media figcaption span,
.detail-feature-grid article > span,
.detail-options-list article > span,
.decision-fit > p,
.decision-faq > p,
.decision-facts article > span,
.detail-quote > p,
.detail-closing > div > p,
.detail-next > p,
.blog-card-image span {
  font-size: 10px;
}

.immersive-message > p {
  font-size: 13px;
}

.immersive-enter span,
.film-scroll span,
.detail-hero-scroll span {
  font-size: 9px;
}

.film-copy > div > p,
.detail-hero-subtitle {
  font-size: 17px;
  line-height: 1.7;
}

.film-copy > div > a,
.detail-link,
.text-link,
.showroom-link,
.blog-grid article > a {
  font-size: 11px;
}

.manifesto-copy > p:last-child,
.turnkey-copy > p:not(.eyebrow),
.editorial-copy > p:not(.eyebrow),
.configurator-promo-copy p,
.showroom-copy > span,
.detail-intro-copy > div p {
  font-size: 17px;
  line-height: 1.75;
}

.turnkey-copy li,
.proof-grid p,
.guides-grid p,
.detail-feature-grid p,
.decision-facts p {
  font-size: 15px;
  line-height: 1.7;
}

.solutions-head > p,
.solution-body > p,
.process-list p,
.proof-head > p,
.detail-features-head > p,
.detail-options-list p,
.decision-head > p,
.decision-faq details > div,
.detail-closing > div > span,
.simple-hero > span,
.privacy-content p,
.privacy-content li {
  font-size: 16px;
  line-height: 1.75;
}

.contact-form label > span,
.contact-form button,
.inquiry-form label > span,
.inquiry-form button,
.contact-details dt,
.contact-form-wrap > p,
.interior-footer-links p {
  font-size: 11px;
}

.contact-form .contact-upload input,
.inquiry-form .inquiry-upload input,
.interior-footer-links a,
.interior-footer-links span {
  font-size: 13px;
}

.contact-form .contact-upload input::file-selector-button,
.inquiry-upload input::file-selector-button,
.interior-footer-solutions > div > span,
.interior-footer-solutions > div > p,
.interior-footer-bottom {
  font-size: 10px;
}

.form-success,
.inquiry-success {
  font-size: 14px;
}

.inquiry-consent span {
  font-size: 12px !important;
}

.interior-footer-solutions .footer-child-link {
  font-size: 12px;
  line-height: 1.55;
}

footer > div {
  font-size: 11px;
}

@media (max-width: 680px) {
  .mobile-menu p,
  .film-meta,
  .immersive-meta,
  .film-copy > p:first-child,
  .immersive-message > span,
  .section-label p,
  .eyebrow,
  .solution-top p,
  .detail-hero-meta,
  .detail-label,
  .simple-hero > p,
  .blog-grid article > p {
    font-size: 10px !important;
  }

  .nav-trigger span,
  .film-controls button {
    font-size: 10px;
  }

  .film-copy > div > p,
  .detail-hero-subtitle {
    max-width: 330px;
    font-size: 15px;
    line-height: 1.6;
  }

  .film-copy > div > a,
  .detail-link,
  .text-link,
  .showroom-link,
  .blog-grid article > a {
    font-size: 11px;
  }

  .film-scroll span,
  .detail-hero-scroll span,
  .immersive-enter span {
    font-size: 8px;
  }

  .immersive-message > p {
    font-size: 12px;
  }

  .manifesto-copy > p:last-child,
  .turnkey-copy > p:not(.eyebrow),
  .solutions-head > p,
  .solution-body > p,
  .editorial-copy > p:not(.eyebrow),
.configurator-promo-copy p,
  .process-list p,
  .proof-head > p,
  .proof-grid p,
  .showroom-copy > span,
  .guides-grid p,
  .detail-intro-copy > div p,
  .detail-features-head > p,
  .detail-feature-grid p,
  .detail-options-list p,
  .decision-head > p,
  .decision-facts p,
  .decision-faq details > div,
  .detail-closing > div > span,
  .simple-hero > span,
  .privacy-content p,
  .privacy-content li {
    font-size: 16px;
    line-height: 1.7;
  }

  .turnkey-copy li {
    font-size: 15px;
  }

  .contact-form label > span,
  .inquiry-form label > span,
  .contact-details dt,
  .contact-form-wrap > p,
  .interior-footer-links p {
    font-size: 11px;
  }

  .inquiry-consent span {
    font-size: 13px !important;
  }

  .interior-footer-solutions > div > p,
  .interior-footer-solutions > div > span,
  .interior-footer-bottom {
    font-size: 10px;
  }

  .interior-footer-solutions .footer-child-link,
  .interior-footer-links a,
  .interior-footer-links span {
    font-size: 14px;
  }

  footer > div {
    font-size: 12px;
  }
}

/* TERANEA Content Studio */
.admin-app {
  --admin-bg: #ece8de;
  --admin-panel: #f7f3ea;
  --admin-dark: #151a16;
  --admin-line: rgba(23, 26, 23, .15);
  min-height: 100svh;
  display: grid;
  grid-template-columns: 280px minmax(0, 1fr);
  color: var(--ink);
  background: var(--admin-bg);
}

.admin-sidebar {
  position: sticky;
  top: 0;
  height: 100svh;
  display: flex;
  flex-direction: column;
  padding: 35px 25px 25px;
  color: white;
  background: var(--admin-dark);
  overflow-y: auto;
}

.admin-logo {
  display: grid;
  gap: 11px;
  width: 185px;
  margin-bottom: 55px;
}

.admin-logo img { height: auto; }
.admin-logo span {
  color: #dfb88e;
  font-size: 10px;
  font-weight: 680;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.admin-sidebar nav { display: grid; }
.admin-sidebar nav button {
  position: relative;
  min-height: 54px;
  display: grid;
  grid-template-columns: 30px 1fr auto;
  gap: 10px;
  align-items: center;
  padding: 0;
  border: 0;
  border-bottom: 1px solid rgba(255,255,255,.13);
  color: rgba(255,255,255,.58);
  background: transparent;
  font-size: 13px;
  text-align: left;
  cursor: pointer;
  transition: color .25s, padding .3s var(--ease);
}

.admin-sidebar nav button:hover,
.admin-sidebar nav button.is-active {
  padding-left: 7px;
  color: white;
}

.admin-sidebar nav button.is-active::before {
  content: "";
  position: absolute;
  left: -25px;
  width: 3px;
  height: 22px;
  background: #dfb88e;
}

.admin-sidebar nav button > span {
  color: rgba(255,255,255,.28);
  font-size: 9px;
  letter-spacing: .12em;
}

.admin-sidebar nav button > b {
  display: grid;
  place-items: center;
  min-width: 23px;
  height: 23px;
  padding: 0 6px;
  border-radius: 20px;
  color: var(--admin-dark);
  background: #dfb88e;
  font-size: 10px;
}

.admin-account {
  display: grid;
  margin-top: auto;
  padding-top: 28px;
  border-top: 1px solid rgba(255,255,255,.14);
}

.admin-account > span {
  color: rgba(255,255,255,.38);
  font-size: 9px;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.admin-account strong { margin-top: 11px; font-size: 14px; }
.admin-account small { margin-top: 4px; color: rgba(255,255,255,.48); font-size: 11px; }
.admin-account a {
  width: max-content;
  margin-top: 18px;
  padding-bottom: 4px;
  border-bottom: 1px solid rgba(255,255,255,.35);
  color: rgba(255,255,255,.65);
  font-size: 10px;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.admin-main { min-width: 0; }
.admin-topbar {
  min-height: 118px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 30px;
  padding: 24px clamp(25px, 4vw, 65px);
  border-bottom: 1px solid var(--admin-line);
  background: rgba(247,243,234,.45);
}

.admin-topbar p,
.admin-section-head span,
.admin-welcome > p,
.admin-list-head span,
.admin-editor-head > div > span {
  margin: 0 0 7px;
  color: var(--corten);
  font-size: 10px;
  font-weight: 680;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.admin-topbar h1 {
  margin: 0;
  font: 400 31px/1 var(--serif);
  letter-spacing: -.03em;
}

.admin-topbar > div:last-child { display: flex; align-items: center; gap: 17px; }
.admin-topbar a,
.admin-mobile-nav {
  padding: 12px 16px;
  border: 1px solid var(--admin-line);
  background: transparent;
  font-size: 10px;
  font-weight: 680;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.admin-mobile-nav { display: none; }

.admin-notice {
  position: sticky;
  z-index: 20;
  top: 0;
  display: flex;
  justify-content: space-between;
  gap: 20px;
  margin: 20px clamp(25px, 4vw, 65px) 0;
  padding: 14px 17px;
  color: white;
  background: #6e796a;
  font-size: 13px;
}
.admin-notice.is-error { background: #9d442c; }
.admin-notice button { border: 0; color: inherit; background: transparent; cursor: pointer; }

.admin-loading {
  min-height: calc(100svh - 118px);
  display: grid;
  place-content: center;
  justify-items: center;
  gap: 17px;
  color: rgba(23,26,23,.55);
}
.admin-loading i {
  width: 38px;
  height: 38px;
  border: 1px solid var(--admin-line);
  border-top-color: var(--corten);
  border-radius: 50%;
  animation: adminSpin .8s linear infinite;
}
@keyframes adminSpin { to { transform: rotate(360deg); } }

.admin-overview,
.admin-media-section,
.admin-pages,
.admin-inquiries {
  padding: clamp(45px, 5vw, 80px) clamp(25px, 4vw, 65px) 100px;
}

.admin-welcome {
  min-height: 360px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(35px, 5vw, 75px);
  color: white;
  background:
    linear-gradient(105deg, rgba(12,17,13,.95), rgba(12,17,13,.5)),
    url("/images/content/home-turnkey-feature.webp") center / cover;
}

.admin-welcome > p { color: #dfb88e; }
.admin-welcome h2,
.admin-section-head h2 {
  margin: 0;
  font: 400 clamp(43px, 5vw, 76px)/.9 var(--serif);
  letter-spacing: -.045em;
}
.admin-welcome h2 em { color: #dfb88e; font-weight: 400; }
.admin-welcome > span {
  max-width: 600px;
  margin-top: 25px;
  color: rgba(255,255,255,.7);
  font-size: 15px;
  line-height: 1.7;
}

.admin-metrics {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  margin-top: 24px;
  border-top: 1px solid var(--admin-line);
  border-left: 1px solid var(--admin-line);
}
.admin-metrics button {
  position: relative;
  min-height: 205px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 22px;
  border: 0;
  border-right: 1px solid var(--admin-line);
  border-bottom: 1px solid var(--admin-line);
  color: var(--ink);
  background: rgba(255,255,255,.18);
  text-align: left;
  cursor: pointer;
  transition: color .3s, background .3s, transform .3s;
}
.admin-metrics button:hover { color: white; background: var(--corten); transform: translateY(-4px); }
.admin-metrics button > span { color: var(--corten); font-size: 9px; letter-spacing: .13em; }
.admin-metrics button:hover > span { color: white; }
.admin-metrics strong { margin-top: auto; font: 400 55px/1 var(--serif); }
.admin-metrics p { margin: 8px 0 0; font-size: 12px; }
.admin-metrics i { position: absolute; right: 18px; top: 17px; font-style: normal; }

.admin-recent { margin-top: 95px; }
.admin-section-head {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 35px;
  margin-bottom: 42px;
}
.admin-section-head h2 { font-size: clamp(38px, 4vw, 61px); }
.admin-section-head > button,
.admin-page-select,
.admin-upload-button {
  padding: 13px 17px;
  border: 1px solid var(--admin-line);
  color: var(--ink);
  background: transparent;
  font-size: 10px;
  font-weight: 680;
  letter-spacing: .13em;
  text-transform: uppercase;
  cursor: pointer;
}

.admin-inquiry-row {
  min-height: 73px;
  display: grid;
  grid-template-columns: 145px minmax(160px, .7fr) 1fr auto;
  gap: 25px;
  align-items: center;
  border-top: 1px solid var(--admin-line);
}
.admin-inquiry-row:last-child { border-bottom: 1px solid var(--admin-line); }
.admin-inquiry-row > span,
.admin-inquiry-row > p { color: rgba(23,26,23,.54); font-size: 12px; }
.admin-inquiry-row > p { margin: 0; }

.admin-status {
  display: inline-flex;
  align-items: center;
  width: max-content;
  padding: 7px 10px;
  border: 1px solid var(--admin-line);
  border-radius: 20px;
  color: rgba(23,26,23,.63);
  font-size: 9px;
  font-weight: 680;
  letter-spacing: .11em;
  text-transform: uppercase;
  white-space: nowrap;
}
.admin-status.is-published,
.admin-status.is-closed { color: #4c674d; border-color: rgba(76,103,77,.35); background: rgba(76,103,77,.08); }
.admin-status.is-review,
.admin-status.is-in_progress { color: #9a552e; border-color: rgba(184,92,50,.38); background: rgba(184,92,50,.08); }
.admin-status.is-new { color: white; border-color: var(--corten); background: var(--corten); }

.admin-split {
  min-height: calc(100svh - 118px);
  display: grid;
  grid-template-columns: minmax(260px, .36fr) minmax(0, 1fr);
}
.admin-list {
  border-right: 1px solid var(--admin-line);
  background: rgba(255,255,255,.13);
}
.admin-list-head {
  min-height: 92px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 15px;
  padding: 20px 24px;
  border-bottom: 1px solid var(--admin-line);
}
.admin-list-head > div { display: grid; }
.admin-list-head strong { font: 400 30px/1 var(--serif); }
.admin-list-head button {
  padding: 11px 13px;
  border: 0;
  color: white;
  background: var(--corten);
  font-size: 10px;
  font-weight: 680;
  letter-spacing: .1em;
  text-transform: uppercase;
  cursor: pointer;
}
.admin-list-item {
  width: 100%;
  min-height: 145px;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 8px 18px;
  padding: 22px 24px;
  border: 0;
  border-bottom: 1px solid var(--admin-line);
  color: var(--ink);
  background: transparent;
  text-align: left;
  cursor: pointer;
  transition: background .25s;
}
.admin-list-item:hover,
.admin-list-item.is-selected { background: var(--admin-panel); }
.admin-list-item > span {
  color: var(--corten);
  font-size: 9px;
  font-weight: 680;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.admin-list-item > strong {
  grid-column: 1 / -1;
  font: 400 24px/1.08 var(--serif);
}
.admin-list-item > small { color: rgba(23,26,23,.46); font-size: 10px; }
.admin-list-item .admin-status { grid-column: 2; grid-row: 1; }

.admin-editor { padding: 40px clamp(24px, 4vw, 60px) 90px; }
.admin-editor-head {
  display: flex;
  justify-content: space-between;
  gap: 25px;
  align-items: start;
  margin-bottom: 35px;
}
.admin-editor-head h2 { margin: 0; font: 400 clamp(35px, 4vw, 55px)/1 var(--serif); letter-spacing: -.04em; }
.admin-cover-preview { aspect-ratio: 16 / 7; height: auto; margin-bottom: 35px; object-fit: cover; }

.admin-form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px 24px;
}
.admin-field { display: grid; align-content: start; gap: 10px; }
.admin-field.is-wide { grid-column: 1 / -1; }
.admin-field > span,
.admin-page-select {
  color: rgba(23,26,23,.55);
  font-size: 10px;
  font-weight: 680;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.admin-field input,
.admin-field select,
.admin-field textarea,
.admin-page-select select,
.admin-repeaters input,
.admin-repeaters textarea {
  width: 100%;
  padding: 13px 0;
  border: 0;
  border-bottom: 1px solid var(--admin-line);
  border-radius: 0;
  outline: none;
  color: var(--ink);
  background: transparent;
  font-size: 15px;
  line-height: 1.55;
}
.admin-field textarea,
.admin-repeaters textarea { resize: vertical; }
.admin-editor-area { min-height: 330px; }

.admin-workflow {
  position: sticky;
  z-index: 5;
  bottom: 0;
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  margin: 45px -10px -55px;
  padding: 17px 10px;
  border-top: 1px solid var(--admin-line);
  background: rgba(236,232,222,.95);
  backdrop-filter: blur(12px);
}
.admin-workflow button {
  min-height: 46px;
  padding: 0 17px;
  border: 1px solid var(--admin-line);
  font-size: 10px;
  font-weight: 680;
  letter-spacing: .12em;
  text-transform: uppercase;
  cursor: pointer;
}
.admin-workflow button:disabled { opacity: .5; cursor: wait; }
.admin-ghost { color: var(--ink); background: transparent; }
.admin-ghost.danger { margin-right: auto; color: #9d442c; }
.admin-secondary { color: var(--ink); background: var(--paper-2); }
.admin-primary { color: white; border-color: var(--admin-dark) !important; background: var(--admin-dark); }

.admin-project-gallery {
  display: grid;
  gap: 18px;
}

.admin-project-gallery-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 18px;
  border: 1px solid var(--admin-line);
  background: rgba(255,255,255,.22);
}

.admin-project-gallery-head > div { display: grid; gap: 5px; }
.admin-project-gallery-head strong { font-size: 13px; }
.admin-project-gallery-head span { color: rgba(23,26,23,.55); font-size: 11px; }
.admin-project-gallery-head button,
.admin-media-modal footer button {
  min-height: 42px;
  padding: 0 16px;
  border: 1px solid var(--admin-line);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  cursor: pointer;
}

.admin-project-gallery-head button { color: white; background: var(--admin-dark); }
.admin-project-gallery button:disabled { opacity: .45; cursor: not-allowed; }

.admin-selected-gallery { display: grid; gap: 12px; }
.admin-selected-gallery article {
  min-width: 0;
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr) auto;
  gap: 18px;
  align-items: start;
  padding: 14px;
  border: 1px solid var(--admin-line);
  background: rgba(255,255,255,.18);
}

.admin-selected-gallery article > img {
  width: 150px;
  height: 112px;
  display: block;
  object-fit: cover;
  background: #c9c4b9;
}

.admin-selected-gallery-copy {
  min-width: 0;
  display: grid;
  gap: 7px;
}

.admin-selected-gallery-copy > span {
  color: var(--corten);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.admin-selected-gallery-copy > strong {
  overflow: hidden;
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.admin-selected-gallery-copy label {
  display: grid;
  gap: 7px;
  color: rgba(23,26,23,.65);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.admin-selected-gallery-copy textarea {
  width: 100%;
  min-height: 68px;
  resize: vertical;
  padding: 10px 12px;
  border: 1px solid var(--admin-line);
  color: var(--ink);
  background: rgba(255,255,255,.42);
  font: 400 14px/1.5 var(--sans);
  letter-spacing: normal;
  text-transform: none;
}

.admin-selected-gallery-copy small { color: rgba(23,26,23,.5); font-size: 10px; line-height: 1.5; }
.admin-selected-gallery-actions { display: flex; gap: 5px; }
.admin-selected-gallery-actions button {
  min-width: 34px;
  height: 34px;
  padding: 0 9px;
  border: 1px solid var(--admin-line);
  color: var(--ink);
  background: transparent;
  font-size: 10px;
  cursor: pointer;
}
.admin-selected-gallery-actions .is-remove { color: #9d442c; }

.admin-media-modal {
  position: fixed;
  z-index: 1000;
  inset: 0;
  display: grid;
  place-items: center;
  padding: clamp(12px, 3vw, 42px);
  background: rgba(8,12,9,.72);
  backdrop-filter: blur(8px);
}

.admin-media-modal-panel {
  width: min(1180px, 100%);
  max-height: min(900px, calc(100svh - 30px));
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr) auto;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.18);
  color: var(--ink);
  background: var(--paper);
  box-shadow: 0 30px 90px rgba(0,0,0,.34);
}

.admin-media-modal-panel > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 20px 22px;
  border-bottom: 1px solid var(--admin-line);
}

.admin-media-modal-panel > header > div { display: grid; gap: 4px; }
.admin-media-modal-panel > header span {
  color: var(--corten);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.admin-media-modal-panel > header h2 { margin: 0; font: 400 clamp(28px, 3vw, 42px)/1 var(--serif); }
.admin-media-modal-panel > header button {
  width: 44px;
  height: 44px;
  flex: 0 0 auto;
  border: 1px solid var(--admin-line);
  color: var(--ink);
  background: transparent;
  font-size: 27px;
  line-height: 1;
  cursor: pointer;
}

.admin-media-modal-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 11px 22px;
  border-bottom: 1px solid var(--admin-line);
}
.admin-media-modal-summary span,
.admin-media-modal-summary small { color: rgba(23,26,23,.58); font-size: 11px; }
.admin-media-modal-summary strong { color: var(--ink); }

.admin-media-modal footer {
  display: flex;
  justify-content: flex-end;
  gap: 9px;
  padding: 14px 22px;
  border-top: 1px solid var(--admin-line);
  background: var(--paper);
}

.admin-media-picker {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  min-height: 0;
  padding: 18px 22px;
  overflow-y: auto;
}
.admin-media-picker > p { grid-column: 1 / -1; color: rgba(23,26,23,.55); font-size: 13px; }
.admin-media-picker label {
  position: relative;
  min-width: 0;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: #c9c4b9;
  cursor: pointer;
}
.admin-media-picker input { position: absolute; opacity: 0; }
.admin-media-picker img { width: 100%; height: 100%; display: block; object-fit: cover; filter: brightness(.72); transition: filter .25s; }
.admin-media-picker label:hover img,
.admin-media-picker label.is-checked img { filter: brightness(1); }
.admin-media-picker label > span {
  position: absolute;
  left: 7px;
  bottom: 7px;
  padding: 5px 7px;
  color: white;
  background: rgba(15,19,16,.7);
  font-size: 8px;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.admin-media-picker label.is-checked::after {
  content: "✓";
  position: absolute;
  right: 7px;
  top: 7px;
  display: grid;
  place-items: center;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  color: var(--admin-dark);
  background: #dfb88e;
}

.admin-media-fields {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-top: 28px;
}

.admin-media-path-field {
  min-width: 0;
  display: grid;
  align-content: start;
  gap: 10px;
  margin-top: 20px;
  padding: 14px;
  border: 1px solid var(--admin-line);
  background: rgba(255,255,255,.18);
}

.admin-media-fields .admin-media-path-field { margin-top: 0; }

.admin-media-path-preview {
  min-height: 145px;
  display: grid;
  place-items: center;
  overflow: hidden;
  color: rgba(23,26,23,.48);
  background: #c9c4b9;
  font-size: 11px;
}

.admin-media-path-preview img,
.admin-media-path-preview video {
  width: 100%;
  aspect-ratio: 16 / 9;
  height: auto;
  object-fit: cover;
  background: #111711;
}

.admin-media-path-field > small {
  color: rgba(23,26,23,.48);
  font-size: 10px;
  line-height: 1.5;
}

.admin-upload-button { display: inline-flex; color: white; border-color: var(--corten); background: var(--corten); }
.admin-upload-button input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.admin-help { max-width: 720px; margin: -20px 0 35px; color: rgba(23,26,23,.58); font-size: 13px; }
.admin-media-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 25px 14px;
}
.admin-media-grid article { border-bottom: 1px solid var(--admin-line); }
.admin-media-grid img,
.admin-media-grid video { width: 100%; aspect-ratio: 4 / 3; height: auto; object-fit: cover; background: #111711; }
.admin-media-grid article > div { display: grid; gap: 5px; padding: 13px 2px; }
.admin-media-grid strong { overflow: hidden; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.admin-media-grid span { color: rgba(23,26,23,.5); font-size: 10px; }

.admin-page-select { display: grid; gap: 8px; padding: 0; border: 0; }
.admin-page-select select { min-width: 280px; padding: 11px 14px; border: 1px solid var(--admin-line); background: var(--admin-panel); }
.admin-page-meta {
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 17px 0;
  border-top: 1px solid var(--admin-line);
  border-bottom: 1px solid var(--admin-line);
  color: rgba(23,26,23,.56);
  font-size: 11px;
}
.admin-page-meta a { margin-left: auto; color: var(--corten); }
.admin-page-editor { max-width: 1050px; margin-top: 45px; }
.admin-page-editor fieldset { margin: 0 0 45px; padding: 0; border: 0; }
.admin-page-editor legend {
  width: 100%;
  margin-bottom: 25px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--admin-line);
  font: 400 29px/1 var(--serif);
}
.admin-repeaters { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.admin-repeaters > div {
  display: grid;
  gap: 10px;
  padding: 20px;
  border: 1px solid var(--admin-line);
  background: rgba(255,255,255,.16);
}
.admin-repeaters > div > span { color: var(--corten); font-size: 9px; letter-spacing: .13em; }

.admin-inquiries > .admin-section-head > strong { font: 400 56px/1 var(--serif); }
.admin-inquiry-list { display: grid; gap: 14px; }
.admin-inquiry-list article {
  padding: 25px;
  border: 1px solid var(--admin-line);
  background: rgba(255,255,255,.18);
}
.admin-inquiry-head { display: flex; justify-content: space-between; gap: 20px; }
.admin-inquiry-head span { color: var(--corten); font-size: 10px; letter-spacing: .11em; }
.admin-inquiry-head h3 { margin: 8px 0 0; font: 400 31px/1 var(--serif); }
.admin-inquiry-list dl {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 15px;
  margin: 25px 0 0;
  padding-top: 18px;
  border-top: 1px solid var(--admin-line);
}
.admin-inquiry-list dt { color: rgba(23,26,23,.44); font-size: 9px; letter-spacing: .12em; text-transform: uppercase; }
.admin-inquiry-list dd { margin: 6px 0 0; font-size: 13px; line-height: 1.4; }
.admin-inquiry-list article > p { max-width: 850px; color: rgba(23,26,23,.66); font-size: 14px; line-height: 1.65; }
.admin-inquiry-list article > a { color: var(--corten); font-size: 11px; font-weight: 680; letter-spacing: .1em; text-transform: uppercase; }
.admin-inquiry-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 22px; }
.admin-inquiry-actions button {
  padding: 9px 12px;
  border: 1px solid var(--admin-line);
  background: transparent;
  font-size: 10px;
  font-weight: 680;
  letter-spacing: .1em;
  text-transform: uppercase;
  cursor: pointer;
}

.admin-empty {
  min-height: 270px;
  display: grid;
  place-content: center;
  justify-items: center;
  padding: 45px 20px;
  text-align: center;
}
.admin-empty > span { color: var(--corten); font: 300 46px/1 var(--sans); }
.admin-empty h3 { margin: 20px 0 8px; font: 400 27px/1.1 var(--serif); }
.admin-empty p { max-width: 390px; margin: 0; color: rgba(23,26,23,.55); font-size: 13px; line-height: 1.6; }

.admin-denied {
  min-height: 100svh;
  display: grid;
  place-items: center;
  padding: 25px;
  color: white;
  background: var(--ink);
}
.admin-denied > div { max-width: 720px; }
.admin-denied p { color: #dfb88e; font-size: 11px; letter-spacing: .16em; text-transform: uppercase; }
.admin-denied h1 { margin: 25px 0; font: 400 clamp(55px, 8vw, 105px)/.85 var(--serif); letter-spacing: -.05em; }
.admin-denied span { display: block; color: rgba(255,255,255,.64); font-size: 16px; }
.admin-denied a { display: inline-block; margin: 35px 25px 0 0; padding-bottom: 7px; border-bottom: 1px solid currentColor; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; }

@media (max-width: 1180px) {
  .admin-app { grid-template-columns: 225px minmax(0, 1fr); }
  .admin-sidebar { padding-inline: 18px; }
  .admin-sidebar nav button.is-active::before { left: -18px; }
  .admin-metrics { grid-template-columns: repeat(3, 1fr); }
  .admin-split { grid-template-columns: 285px minmax(0, 1fr); }
  .admin-media-grid { grid-template-columns: repeat(3, 1fr); }
  .admin-inquiry-list dl { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 820px) {
  .admin-app { display: block; }
  .admin-sidebar {
    position: relative;
    height: auto;
    padding: 22px 18px;
  }
  .admin-logo { width: 155px; margin-bottom: 22px; }
  .admin-sidebar nav {
    display: flex;
    gap: 7px;
    padding-bottom: 4px;
    overflow-x: auto;
  }
  .admin-sidebar nav button {
    min-width: max-content;
    min-height: 42px;
    display: flex;
    padding: 0 13px;
    border: 1px solid rgba(255,255,255,.15);
    font-size: 11px;
  }
  .admin-sidebar nav button:hover,
  .admin-sidebar nav button.is-active { padding-inline: 13px; background: rgba(255,255,255,.08); }
  .admin-sidebar nav button.is-active::before,
  .admin-sidebar nav button > span { display: none; }
  .admin-account { display: none; }
  .admin-topbar { min-height: 92px; padding: 18px; }
  .admin-topbar > div:last-child > a { display: none; }
  .admin-mobile-nav { display: block; }
  .admin-overview,
  .admin-media-section,
  .admin-pages,
  .admin-inquiries { padding: 40px 18px 75px; }
  .admin-welcome { min-height: 440px; padding: 28px; }
  .admin-metrics { grid-template-columns: 1fr 1fr; }
  .admin-metrics button { min-height: 165px; }
  .admin-section-head { align-items: start; flex-direction: column; }
  .admin-inquiry-row { grid-template-columns: 1fr auto; gap: 8px 18px; padding: 15px 0; }
  .admin-inquiry-row > p { grid-column: 1 / -1; }
  .admin-split { display: block; }
  .admin-list { border-right: 0; border-bottom: 1px solid var(--admin-line); }
  .admin-list-item { min-height: 120px; }
  .admin-editor { padding: 40px 18px 80px; }
  .admin-form-grid { grid-template-columns: 1fr; }
  .admin-field.is-wide { grid-column: auto; }
  .admin-workflow { flex-wrap: wrap; justify-content: stretch; margin-inline: 0; }
  .admin-workflow button { flex: 1 1 140px; }
  .admin-ghost.danger { flex-basis: 100%; }
  .admin-project-gallery-head { align-items: flex-start; flex-direction: column; }
  .admin-selected-gallery article { grid-template-columns: 110px minmax(0, 1fr); }
  .admin-selected-gallery article > img { width: 110px; height: 88px; }
  .admin-selected-gallery-actions { grid-column: 1 / -1; justify-content: flex-end; }
  .admin-media-modal { padding: 10px; }
  .admin-media-modal-panel { max-height: calc(100svh - 20px); }
  .admin-media-picker { grid-template-columns: repeat(3, 1fr); }
  .admin-media-grid { grid-template-columns: 1fr 1fr; }
  .admin-media-fields { grid-template-columns: 1fr; }
  .admin-page-select select { min-width: min(100%, 320px); }
  .admin-page-meta { align-items: flex-start; flex-direction: column; }
  .admin-page-meta a { margin-left: 0; }
  .admin-repeaters { grid-template-columns: 1fr; }
  .admin-inquiry-list dl { grid-template-columns: 1fr; }
}

@media (max-width: 520px) {
  .admin-topbar h1 { font-size: 25px; }
  .admin-topbar p { font-size: 8px; }
  .admin-mobile-nav { padding-inline: 11px; font-size: 8px; }
  .admin-metrics { grid-template-columns: 1fr; }
  .admin-metrics button { min-height: 145px; }
  .admin-media-grid { grid-template-columns: 1fr; }
  .admin-media-picker { grid-template-columns: 1fr 1fr; }
  .admin-selected-gallery article { grid-template-columns: 1fr; }
  .admin-selected-gallery article > img { width: 100%; height: auto; aspect-ratio: 16 / 10; }
  .admin-selected-gallery-actions { grid-column: auto; justify-content: flex-start; flex-wrap: wrap; }
  .admin-media-modal-panel > header,
  .admin-media-modal-summary,
  .admin-media-modal footer { padding-inline: 14px; }
  .admin-media-modal-summary { align-items: flex-start; flex-direction: column; }
  .admin-media-picker { padding: 12px 14px; }
  .admin-media-modal footer button { flex: 1; }
  .admin-editor-head { align-items: flex-start; flex-direction: column; }
}

/* Public CMS content: realizácie, články and live inquiry states */
.contact-form button:disabled,
.inquiry-form button:disabled {
  cursor: wait;
  opacity: .62;
  transform: none;
}

.form-error,
.inquiry-error {
  margin: 0;
  padding: 14px 16px;
  border: 1px solid rgba(255,255,255,.5);
  color: white;
  font-size: 14px;
  line-height: 1.6;
}

.inquiry-error { grid-column: 1 / -1; }

.projects-hero {
  background:
    linear-gradient(90deg, rgba(9,13,10,.96), rgba(9,13,10,.63)),
    url("/images/content/home-showroom.webp") center 52% / cover;
}

.projects-showcase { padding: clamp(90px, 11vw, 165px) clamp(22px, 4.5vw, 74px); }
.projects-intro { display: grid; grid-template-columns: .55fr 1.05fr .7fr; gap: clamp(35px, 6vw, 100px); align-items: end; margin-bottom: clamp(65px, 8vw, 120px); }
.projects-intro > p,
.project-gallery-head > p,
.project-related > header > p { align-self: start; margin: 0; color: var(--corten); font-size: 10px; font-weight: 680; letter-spacing: .15em; text-transform: uppercase; }
.projects-intro h2,
.project-gallery-head h2,
.project-related > header h2 { margin: 0; font: 400 clamp(54px, 6.5vw, 102px)/.94 var(--serif); letter-spacing: -.052em; }
.projects-intro h2 em,
.project-gallery-head h2 em,
.project-related > header h2 em { color: var(--corten); font-weight: 400; }
.projects-intro > span { color: rgba(23,26,23,.64); font-size: 16px; line-height: 1.75; }
.projects-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(60px, 8vw, 120px) 24px; margin-top: clamp(70px, 8vw, 115px); }

.project-card { display: block; }
.project-card-image {
  position: relative;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: #bbb6aa;
}

.project-card-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: opacity .5s var(--ease);
}

.project-card:hover .project-card-image img { opacity: .9; }

.project-card-image > span {
  position: absolute;
  top: 20px;
  left: 20px;
  display: grid;
  width: 40px;
  height: 40px;
  place-items: center;
  border: 1px solid rgba(255,255,255,.7);
  border-radius: 50%;
  color: white;
  font-size: 10px;
}

.project-card-copy { padding-top: 22px; }
.project-concept-label {
  display: inline-flex;
  width: fit-content;
  margin-bottom: 14px;
  padding: 8px 11px 7px;
  border: 1px solid currentColor;
  color: var(--corten);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .13em;
  line-height: 1;
  text-transform: uppercase;
}
.project-card-copy > p {
  margin: 0 0 15px;
  color: var(--corten);
  font-size: 11px;
  font-weight: 680;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.project-card-copy h3 {
  margin: 0;
  font: 400 clamp(38px, 4vw, 62px)/.98 var(--serif);
  letter-spacing: -.045em;
}

.project-card-copy > span {
  display: block;
  max-width: 620px;
  margin-top: 18px;
  color: rgba(23,26,23,.64);
  font-size: 16px;
  line-height: 1.7;
}

.project-card-copy > b {
  display: inline-flex;
  align-items: center;
  gap: 24px;
  margin-top: 25px;
  padding-bottom: 7px;
  border-bottom: 1px solid currentColor;
  font-size: 11px;
  font-weight: 680;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.project-card-copy > b i { font-size: 15px; font-style: normal; transition: transform .3s var(--ease); }
.project-card:hover .project-card-copy > b i { transform: translate(4px, -4px); }

.project-card.is-featured { min-height: 650px; display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(330px, .75fr); color: white; background: var(--ink); }
.project-card.is-featured .project-card-image { height: 100%; aspect-ratio: auto; }
.project-card.is-featured .project-card-copy { display: flex; flex-direction: column; justify-content: center; min-width: 0; overflow: hidden; padding: clamp(42px, 4vw, 72px); }
.project-card.is-featured .project-card-copy > p { margin-top: 0; color: #dfb88e; }
.project-card.is-featured .project-card-copy h3 { max-width: 100%; font-size: clamp(42px, 4.2vw, 68px); line-height: .96; overflow-wrap: break-word; hyphens: auto; }
.project-card.is-featured .project-card-copy > span { color: rgba(255,255,255,.62); }
.project-card.is-featured .project-card-copy > b { color: white; }

.projects-empty {
  min-height: 640px;
  display: grid;
  place-content: center;
  justify-items: center;
  padding: 100px 22px;
  text-align: center;
}

.projects-empty > p {
  margin: 0 0 28px;
  color: var(--corten);
  font-size: 11px;
  font-weight: 680;
  letter-spacing: .15em;
  text-transform: uppercase;
}

.projects-empty h2 {
  margin: 0;
  font: 400 clamp(54px, 7vw, 104px)/.88 var(--serif);
  letter-spacing: -.052em;
}

.projects-empty h2 em { color: var(--corten); font-weight: 400; }

.projects-empty > span {
  max-width: 630px;
  margin-top: 32px;
  color: rgba(23,26,23,.62);
  font-size: 17px;
  line-height: 1.75;
}

.projects-empty > a {
  margin-top: 30px;
  padding-bottom: 7px;
  border-bottom: 1px solid currentColor;
  font-size: 11px;
  font-weight: 680;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.project-detail-hero {
  position: relative;
  min-height: 94svh;
  overflow: hidden;
  color: white;
  background: #111711;
  isolation: isolate;
}

.project-detail-hero > img {
  position: absolute;
  z-index: -2;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.project-detail-copy {
  position: absolute;
  right: clamp(22px, 5vw, 80px);
  bottom: clamp(55px, 8vw, 115px);
  left: clamp(22px, 5vw, 80px);
}
.project-detail-copy .project-concept-label {
  margin-bottom: 18px;
  color: #f0c697;
}

.project-detail-copy > p {
  margin: 0 0 24px;
  color: #dfb88e;
  font-size: 11px;
  font-weight: 680;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.project-detail-copy h1 {
  max-width: min(1400px, 86vw);
  margin: 0;
  font: 400 clamp(58px, 6.2vw, 112px)/.93 var(--serif);
  letter-spacing: -.052em;
  text-wrap: balance;
}

.project-detail-copy > span {
  display: block;
  margin-top: 32px;
  font-size: 13px;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.project-detail-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 31px; }
.project-detail-actions .detail-primary-action b,
.project-detail-actions .detail-secondary-action b { font-size: 15px; font-weight: 400; transition: transform .3s var(--ease); }
.project-detail-actions .detail-primary-action:hover b { transform: translate(4px, -4px); }
.project-detail-actions .detail-secondary-action:hover b { transform: translateY(4px); }

.project-facts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-left: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.project-facts article { min-height: 155px; display: flex; flex-direction: column; justify-content: space-between; padding: 25px clamp(20px, 3vw, 46px); border-right: 1px solid var(--line); }
.project-facts span { color: var(--corten); font-size: 9px; font-weight: 680; letter-spacing: .15em; text-transform: uppercase; }
.project-facts strong { font: 400 clamp(23px, 2.4vw, 37px)/1.05 var(--serif); letter-spacing: -.035em; }

.project-story {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(320px, .95fr);
  gap: clamp(50px, 9vw, 145px);
  padding: clamp(90px, 11vw, 165px) clamp(22px, 6vw, 95px);
}

.project-story > div > p {
  margin: 0 0 28px;
  color: var(--corten);
  font-size: 11px;
  font-weight: 680;
  letter-spacing: .15em;
  text-transform: uppercase;
}

.project-story h2 {
  margin: 0;
  font: 400 clamp(48px, 6vw, 88px)/.94 var(--serif);
  letter-spacing: -.05em;
}
.project-story > div > a { display: inline-block; margin-top: 34px; padding-bottom: 8px; border-bottom: 1px solid currentColor; color: var(--corten); font-size: 10px; font-weight: 680; letter-spacing: .13em; text-transform: uppercase; }

.project-story article {
  padding-top: 43px;
  border-top: 1px solid var(--line);
}

.project-story article p {
  margin: 0 0 25px;
  color: rgba(23,26,23,.67);
  font-size: 17px;
  line-height: 1.8;
}

.project-gallery-section { padding: clamp(80px, 9vw, 140px) clamp(22px, 4.5vw, 74px) clamp(100px, 12vw, 185px); color: white; background: var(--ink); }
.project-gallery-head { display: grid; grid-template-columns: .55fr 1.45fr; gap: clamp(40px, 8vw, 130px); align-items: start; margin-bottom: clamp(65px, 8vw, 120px); }
.project-gallery-head > p { color: #dfb88e; }
.project-gallery-head h2 em { color: #dfb88e; }
.project-gallery {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 24px;
}

.project-gallery figure {
  grid-column: span 7;
  margin: 0;
}

.project-gallery figure:nth-child(3n + 2) {
  grid-column: 6 / span 7;
}

.project-gallery figure:nth-child(3n) {
  grid-column: 2 / span 10;
}

.project-gallery img {
  width: 100%;
  height: auto;
  max-height: 900px;
  object-fit: cover;
}

.project-gallery figcaption {
  margin-top: 10px;
  color: rgba(255,255,255,.48);
  font-size: 10px;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.project-related { padding: clamp(90px, 10vw, 155px) clamp(22px, 4.5vw, 74px); }
.project-related > header { display: grid; grid-template-columns: .55fr 1.45fr; gap: clamp(40px, 8vw, 130px); margin-bottom: clamp(60px, 8vw, 105px); }
.project-related-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.project-related-grid > a > div { position: relative; aspect-ratio: 4 / 3; overflow: hidden; background: #aaa59a; }
.project-related-grid img { width: 100%; height: 100%; object-fit: cover; transition: opacity .45s var(--ease); }
.project-related-grid a:hover img { opacity: .88; }
.project-related-grid > a > div > span { position: absolute; left: 18px; top: 18px; display: grid; place-items: center; width: 36px; height: 36px; border: 1px solid rgba(255,255,255,.65); border-radius: 50%; color: white; font-size: 9px; }
.project-related-grid p { margin: 20px 0 12px; color: var(--corten); font-size: 10px; font-weight: 680; letter-spacing: .13em; text-transform: uppercase; }
.project-related-grid h3 { margin: 0; font: 400 clamp(29px, 3vw, 45px)/.98 var(--serif); letter-spacing: -.04em; }

.project-back {
  padding: 38px clamp(22px, 4.5vw, 74px) 85px;
  background: var(--ink);
}

.project-back a {
  color: white;
  font-size: 11px;
  font-weight: 680;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.editorial-article {
  padding-top: 150px;
}

.editorial-article-head {
  max-width: 1240px;
  padding: clamp(70px, 8vw, 125px) clamp(22px, 6vw, 95px) clamp(60px, 7vw, 105px);
}

.editorial-article-head > p {
  margin: 0 0 32px;
  color: var(--corten);
  font-size: 11px;
  font-weight: 680;
  letter-spacing: .15em;
  text-transform: uppercase;
}

.editorial-article-head h1 {
  margin: 0;
  font: 400 clamp(66px, 9vw, 138px)/.94 var(--serif);
  letter-spacing: -.058em;
  text-wrap: balance;
}

.editorial-article-head > span {
  display: block;
  max-width: 790px;
  margin-top: 36px;
  color: rgba(23,26,23,.65);
  font-size: 20px;
  line-height: 1.65;
}

.editorial-article-cover {
  margin: 0 clamp(22px, 4.5vw, 74px);
  aspect-ratio: 16 / 8.5;
  overflow: hidden;
  background: #bcb6a9;
}

.editorial-article-cover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.editorial-article-body {
  max-width: 880px;
  margin: 0 auto;
  padding: clamp(75px, 9vw, 135px) 24px;
}

.editorial-article-body p {
  margin: 0 0 34px;
  color: rgba(23,26,23,.72);
  font: 400 20px/1.85 var(--sans);
}

.editorial-article-body p:first-child {
  color: var(--ink);
  font: 400 clamp(29px, 3vw, 42px)/1.35 var(--serif);
}

.editorial-article-footer {
  display: flex;
  justify-content: space-between;
  gap: 25px;
  max-width: 880px;
  margin: 0 auto;
  padding: 0 24px clamp(90px, 11vw, 160px);
}

.editorial-article-footer a {
  padding-bottom: 7px;
  border-bottom: 1px solid currentColor;
  font-size: 11px;
  font-weight: 680;
  letter-spacing: .12em;
  text-transform: uppercase;
}

@media (max-width: 820px) {
  .projects-intro { grid-template-columns: 1fr; align-items: start; }
  .projects-intro > span { max-width: 650px; }
  .project-card.is-featured { min-height: 0; grid-template-columns: 1fr; }
  .project-card.is-featured .project-card-image { aspect-ratio: 16 / 10; }
  .projects-grid { grid-template-columns: 1fr; }
  .project-story { grid-template-columns: 1fr; }
  .project-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .project-gallery { display: block; }
  .project-gallery figure { margin-bottom: 45px; }
  .project-related-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 680px) {
  .inquiry-error { grid-column: auto; }
  .projects-hero { min-height: 100svh; }
  .projects-showcase { padding: 85px 18px; }
  .projects-intro { gap: 25px; margin-bottom: 60px; }
  .projects-intro h2,
  .project-gallery-head h2,
  .project-related > header h2 { font-size: 52px; line-height: .96; }
  .projects-grid { gap: 65px; margin-top: 65px; }
  .project-card-copy { padding-top: 20px; }
  .project-card-copy h3 { font-size: 43px; }
  .project-card-copy > span,
  .projects-empty > span { font-size: 16px; }
  .project-card.is-featured .project-card-image { aspect-ratio: 4 / 3; }
  .project-card.is-featured .project-card-copy { padding: 34px 22px 42px; }
  .project-card.is-featured .project-card-copy h3 { font-size: clamp(40px, 12vw, 46px); }
  .projects-empty { min-height: 570px; padding-inline: 18px; }
  .projects-empty h2 { font-size: 56px; }
  .project-detail-hero { min-height: max(100svh, 720px); display: flex; align-items: flex-end; padding: 145px 18px 58px; }
  .project-detail-copy { position: relative; inset: auto; width: 100%; }
  .project-detail-copy h1 {
    max-width: 100%;
    font-size: clamp(42px, 12.5vw, 54px);
    line-height: .95;
    letter-spacing: -.045em;
  }
  .project-detail-copy > span { margin-top: 23px; font-size: 11px; }
  .project-detail-actions { display: grid; grid-template-columns: 1fr; gap: 9px; margin-top: 24px; }
  .project-detail-actions .detail-primary-action,
  .project-detail-actions .detail-secondary-action { width: min(100%, 335px); }
  .project-facts { grid-template-columns: 1fr 1fr; }
  .project-facts article { min-height: 135px; padding: 20px 17px; }
  .project-facts strong { font-size: 24px; }
  .project-story { gap: 50px; padding: 85px 18px; }
  .project-story h2 { font-size: 50px; }
  .project-story article p { font-size: 16px; }
  .project-gallery-section { padding: 80px 18px 95px; }
  .project-gallery-head,
  .project-related > header { grid-template-columns: 1fr; gap: 24px; margin-bottom: 60px; }
  .project-gallery figure { margin-bottom: 35px; }
  .project-related { padding: 85px 18px; }
  .project-related-grid { grid-template-columns: 1fr; gap: 55px; }
  .project-related-grid h3 { font-size: 40px; }
  .project-back { padding: 32px 18px 110px; }
  .editorial-article { padding-top: 76px; }
  .editorial-article-head { padding: 80px 18px 60px; }
  .editorial-article-head h1 { font-size: clamp(48px, 15vw, 62px); line-height: .96; }
  .editorial-article-head > span { font-size: 17px; }
  .editorial-article-cover { min-height: 380px; margin: 0 18px; }
  .editorial-article-body { padding: 70px 18px; }
  .editorial-article-body p { font-size: 17px; line-height: 1.75; }
  .editorial-article-footer { align-items: flex-start; flex-direction: column; padding-inline: 18px; }
}

/* CMS live previews */
.admin-page-workspace {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(390px, .72fr);
  gap: 30px;
  align-items: start;
  margin-top: 42px;
}

.admin-page-workspace .admin-page-editor {
  max-width: none;
  margin-top: 0;
}

.admin-live-preview {
  position: sticky;
  top: 118px;
  padding: 14px;
  border: 1px solid var(--admin-line);
  background: #dcd7cd;
}

.admin-live-preview-head {
  min-height: 54px;
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: center;
  padding: 0 4px 14px;
}

.admin-live-preview-head > div:first-child {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 2px 8px;
  align-items: center;
}

.admin-live-preview-head > div:first-child > span {
  grid-row: 1 / span 2;
  color: #5a8b62;
  font-size: 12px;
}

.admin-live-preview-head strong {
  font-size: 11px;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.admin-live-preview-head small {
  color: rgba(23,26,23,.5);
  font-size: 10px;
}

.admin-live-preview-head > div:last-child {
  display: flex;
  gap: 3px;
}

.admin-live-preview-head button {
  padding: 7px 9px;
  border: 1px solid rgba(23,26,23,.18);
  background: transparent;
  font-size: 9px;
  cursor: pointer;
}

.admin-live-preview-head button.is-active {
  color: white;
  background: var(--admin-dark);
}

.admin-preview-viewport {
  width: 100%;
  height: min(820px, calc(100svh - 205px));
  min-height: 620px;
  margin: 0 auto;
  overflow: hidden;
  color: var(--ink);
  background: var(--cream);
  box-shadow: 0 20px 55px rgba(12,16,12,.14);
  transition: width .3s var(--ease);
}

.admin-preview-viewport.is-mobile { width: min(390px, 100%); }

.admin-preview-viewport iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
  background: var(--cream);
}

.admin-preview-site-head {
  position: sticky;
  z-index: 4;
  top: 0;
  height: 54px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 17px;
  color: white;
  background: rgba(13,18,14,.96);
}

.admin-preview-site-head img {
  width: 112px;
  height: auto;
}

.admin-preview-site-head span {
  font-size: 7px;
  letter-spacing: .15em;
}

.admin-preview-hero {
  position: relative;
  isolation: isolate;
  min-height: 470px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 42px 30px;
  color: white;
  background-color: #111711;
  background-position: center;
  background-size: cover;
}

.admin-preview-hero::after {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  background: linear-gradient(90deg, rgba(8,12,9,.9), rgba(8,12,9,.32));
}

.admin-preview-hero > video {
  position: absolute;
  z-index: -2;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.admin-preview-hero > p,
.admin-preview-copy > p {
  margin: 0 0 18px;
  color: #dfb88e;
  font-size: 8px;
  font-weight: 680;
  letter-spacing: .15em;
  text-transform: uppercase;
}

.admin-preview-hero h2 {
  margin: 0;
  font: 400 clamp(42px, 4vw, 65px)/.84 var(--serif);
  letter-spacing: -.052em;
}

.admin-preview-hero h2 em,
.admin-preview-copy h3 em {
  color: #dfb88e;
  font-weight: 400;
}

.admin-preview-hero > span {
  max-width: 430px;
  margin-top: 22px;
  color: rgba(255,255,255,.72);
  font-size: 12px;
  line-height: 1.6;
}

.admin-preview-hero > b {
  align-self: flex-start;
  margin-top: 22px;
  padding-bottom: 5px;
  border-bottom: 1px solid currentColor;
  font-size: 8px;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.admin-preview-copy {
  min-height: 300px;
  padding: 50px 30px;
}

.admin-preview-copy.is-dark {
  color: white;
  background: var(--ink);
}

.admin-preview-copy h3 {
  margin: 0;
  font: 400 clamp(32px, 3vw, 49px)/.95 var(--serif);
  letter-spacing: -.042em;
}

.admin-preview-copy > span {
  display: block;
  margin-top: 22px;
  color: rgba(23,26,23,.65);
  font-size: 12px;
  line-height: 1.7;
}

.admin-preview-copy.is-dark > span { color: rgba(255,255,255,.64); }

.admin-preview-cards {
  display: grid;
  grid-template-columns: 1fr 1fr;
  color: white;
  background: var(--ink);
}

.admin-preview-cards article {
  min-height: 205px;
  padding: 24px;
  border: 1px solid rgba(255,255,255,.12);
}

.admin-preview-cards small {
  color: #dfb88e;
  font-size: 8px;
}

.admin-preview-cards h4 {
  margin: 45px 0 11px;
  font: 400 24px/1 var(--serif);
}

.admin-preview-cards p {
  margin: 0;
  color: rgba(255,255,255,.56);
  font-size: 10px;
  line-height: 1.55;
}

.admin-preview-viewport.is-mobile .admin-preview-hero {
  min-height: 510px;
  padding: 35px 20px;
}

.admin-preview-viewport.is-mobile .admin-preview-hero h2 { font-size: 44px; }
.admin-preview-viewport.is-mobile .admin-preview-copy { padding: 42px 20px; }
.admin-preview-viewport.is-mobile .admin-preview-copy h3 { font-size: 36px; }
.admin-preview-viewport.is-mobile .admin-preview-cards { grid-template-columns: 1fr; }

.admin-inline-preview {
  margin-top: 42px;
  padding: 16px;
  border: 1px solid var(--admin-line);
  background: #ddd8ce;
}

.admin-inline-preview > div {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  padding: 3px 3px 15px;
}

.admin-inline-preview > div span {
  font-size: 10px;
  font-weight: 680;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.admin-inline-preview > div small {
  color: rgba(23,26,23,.5);
  font-size: 10px;
}

.admin-inline-preview article {
  padding: 32px;
  background: var(--admin-panel);
}

.admin-inline-preview article > img {
  width: 100%;
  max-height: 430px;
  margin-bottom: 25px;
  object-fit: cover;
}

.admin-inline-preview article > p {
  margin: 0 0 15px;
  color: var(--corten);
  font-size: 10px;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.admin-inline-preview article h3 {
  max-width: 800px;
  margin: 0;
  font: 400 clamp(38px, 5vw, 70px)/.92 var(--serif);
  letter-spacing: -.045em;
}

.admin-inline-preview article > span {
  display: block;
  max-width: 700px;
  margin-top: 20px;
  color: rgba(23,26,23,.62);
  font-size: 15px;
  line-height: 1.7;
}

.admin-inline-preview article > div {
  max-width: 720px;
  margin-top: 35px;
  padding-top: 25px;
  border-top: 1px solid var(--admin-line);
}

.admin-inline-preview article > div p {
  color: rgba(23,26,23,.68);
  font-size: 15px;
  line-height: 1.7;
}

.admin-full-preview-link {
  display: inline-block;
  margin-top: 18px;
  padding-bottom: 6px;
  border-bottom: 1px solid currentColor;
  color: var(--corten);
  font-size: 10px;
  font-weight: 680;
  letter-spacing: .12em;
  text-transform: uppercase;
}

@media (max-width: 1420px) {
  .admin-page-workspace { grid-template-columns: 1fr; }
  .admin-live-preview { position: relative; top: auto; }
  .admin-preview-viewport { max-height: 780px; }
}

@media (max-width: 820px) {
  .admin-page-workspace { gap: 20px; }
  .admin-live-preview { padding: 9px; }
  .admin-live-preview-head { align-items: flex-start; flex-direction: column; }
  .admin-preview-viewport { max-height: 680px; }
  .admin-inline-preview article { padding: 22px; }
}

/* Structured page order, revisions and block-based editorial content */
.home-sections,
.detail-sections {
  display: flex;
  flex-direction: column;
}

.home-sections > [hidden],
.detail-sections > [hidden],
.detail-page > [hidden] {
  display: none !important;
}

.is-admin-page-preview [data-cms-edit] {
  cursor: pointer !important;
}

.is-admin-page-preview [data-cms-preview-active="true"] {
  outline: 3px solid #d2a66f !important;
  outline-offset: -3px;
}

.cms-preview-edit-hint {
  position: fixed;
  z-index: 10000;
  right: 18px;
  bottom: 18px;
  max-width: calc(100vw - 36px);
  padding: 11px 14px;
  color: #fff;
  background: rgba(17,23,18,.94);
  box-shadow: 0 14px 45px rgba(0,0,0,.24);
  font-size: 10px;
  font-weight: 680;
  letter-spacing: .09em;
  text-transform: uppercase;
  pointer-events: none;
}

.is-admin-page-preview [data-cms-field] {
  cursor: text !important;
  border-radius: 2px;
}

.is-admin-page-preview [data-cms-field]:focus {
  outline: 2px solid #d2a66f !important;
  outline-offset: 4px;
  background: rgba(210,166,111,.12);
}

.custom-section {
  position: relative;
  overflow: hidden;
}

.custom-statement {
  min-height: 520px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(80px, 11vw, 170px) 7vw;
  color: var(--ink);
  background: #e8e3d9;
}

.custom-statement > p,
.custom-image-text article > p,
.custom-gallery header > p,
.custom-quote > p,
.custom-faq header > p,
.custom-video > div > p,
.custom-cta > div > p {
  margin: 0 0 24px;
  color: var(--corten);
  font-size: 10px;
  font-weight: 680;
  letter-spacing: .15em;
  text-transform: uppercase;
}

.custom-statement h2,
.custom-image-text h2,
.custom-gallery h2,
.custom-faq h2,
.custom-video h2,
.custom-cta h2 {
  max-width: 1100px;
  margin: 0;
  font: 400 clamp(52px, 7.5vw, 120px)/.96 var(--serif);
  letter-spacing: -.055em;
}

.custom-section h2 em { color: var(--corten); font-weight: 400; }
.custom-statement > span,
.custom-image-text article > span,
.custom-video > div > span,
.custom-cta > div > span {
  display: block;
  max-width: 650px;
  margin-top: 30px;
  color: rgba(23,26,23,.64);
  font-size: 17px;
  line-height: 1.75;
}

.custom-image-text {
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  min-height: 760px;
  background: #f1ede5;
}
.custom-image-text > div { min-height: 600px; background: #d6d0c5; }
.custom-image-text > div img { width: 100%; height: 100%; object-fit: cover; }
.custom-image-text article {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(70px, 8vw, 130px) 7vw;
}
.custom-image-text h2 { font-size: clamp(48px, 5.7vw, 90px); }
.custom-image-text article > a,
.custom-cta > a {
  align-self: flex-start;
  margin-top: 40px;
  padding-bottom: 8px;
  border-bottom: 1px solid currentColor;
  color: var(--ink);
  font-size: 10px;
  font-weight: 680;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.custom-gallery { padding: clamp(80px, 10vw, 150px) 5vw; background: #111711; color: white; }
.custom-gallery header { display: grid; grid-template-columns: 1fr 2fr; gap: 5vw; align-items: end; margin-bottom: 60px; }
.custom-gallery h2 { font-size: clamp(52px, 6.5vw, 100px); }
.custom-gallery > div { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.custom-gallery figure { min-height: 480px; margin: 0; overflow: hidden; background: #222a23; }
.custom-gallery figure:nth-child(3n + 2) { transform: translateY(35px); }
.custom-gallery img { width: 100%; height: 100%; object-fit: cover; }

.custom-quote {
  min-height: 580px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 100px 8vw;
  text-align: center;
  background: #d0a873;
  color: #151a16;
}
.custom-quote blockquote { max-width: 1100px; margin: 0; font: 400 clamp(44px, 6vw, 92px)/1.02 var(--serif); letter-spacing: -.045em; }
.custom-quote > span { margin-top: 36px; font-size: 10px; font-weight: 680; letter-spacing: .14em; text-transform: uppercase; }

.custom-faq {
  display: grid;
  grid-template-columns: .85fr 1.15fr;
  gap: 8vw;
  padding: clamp(85px, 10vw, 150px) 7vw;
  background: #eee9df;
}
.custom-faq h2 { font-size: clamp(48px, 5.4vw, 82px); }
.custom-faq details { border-top: 1px solid rgba(23,26,23,.22); }
.custom-faq details:last-child { border-bottom: 1px solid rgba(23,26,23,.22); }
.custom-faq summary { display: flex; justify-content: space-between; gap: 30px; padding: 28px 0; font: 400 23px/1.25 var(--serif); cursor: pointer; list-style: none; }
.custom-faq summary > span:first-child { color: inherit; }
.custom-faq summary > i { color: var(--corten); font-style: normal; }
.custom-faq details > p { max-width: 650px; margin: -4px 0 28px; color: rgba(23,26,23,.62); font-size: 15px; line-height: 1.75; }

.custom-video {
  min-height: 78svh;
  display: flex;
  align-items: flex-end;
  isolation: isolate;
  padding: 8vw 7vw;
  color: white;
  background: #111711;
}
.custom-video::after { content: ""; position: absolute; z-index: -1; inset: 0; background: linear-gradient(90deg, rgba(7,10,8,.85), rgba(7,10,8,.12)); }
.custom-video > video,
.custom-video > img { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.custom-video h2 { font-size: clamp(54px, 7vw, 105px); }
.custom-video > div > span { color: rgba(255,255,255,.68); }

.custom-cta {
  min-height: 520px;
  display: flex;
  justify-content: space-between;
  gap: 60px;
  align-items: flex-end;
  padding: clamp(85px, 10vw, 150px) 7vw;
  color: white;
  background: #171d18;
}
.custom-cta h2 { font-size: clamp(54px, 7vw, 105px); }
.custom-cta > div > span { color: rgba(255,255,255,.6); }
.custom-cta > a { flex: 0 0 auto; color: white; }

.admin-page-editor [id^="cms-editor-"] {
  scroll-margin-top: 125px;
  transition: background-color .28s ease, box-shadow .28s ease;
}

.admin-page-editor .is-preview-selected {
  background: rgba(210,166,111,.12);
  box-shadow: 0 0 0 8px rgba(210,166,111,.12);
}

.admin-page-editor.is-contextual [id^="cms-editor-"] {
  display: none;
}

.admin-page-editor.is-contextual [id^="cms-editor-"].is-context-active {
  display: block;
}

.admin-page-editor.is-contextual .admin-version-history {
  display: none;
}

.admin-context-bar,
.admin-section-library {
  margin-bottom: 28px;
  padding: 18px;
  border: 1px solid var(--admin-line);
  background: rgba(255,255,255,.22);
}

.admin-context-bar,
.admin-section-library {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  align-items: center;
}

.admin-context-bar > div,
.admin-section-library > div:first-child {
  display: grid;
  gap: 5px;
}

.admin-context-bar span,
.admin-section-library > div:first-child span {
  color: var(--corten);
  font-size: 9px;
  font-weight: 680;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.admin-context-bar strong,
.admin-section-library > div:first-child strong {
  font: 400 22px/1.1 var(--serif);
}

.admin-context-bar button,
.admin-section-library > button,
.admin-custom-section-head button {
  min-height: 37px;
  padding: 0 12px;
  border: 1px solid var(--admin-line);
  color: var(--ink);
  background: transparent;
  font-size: 9px;
  font-weight: 680;
  letter-spacing: .08em;
  text-transform: uppercase;
  cursor: pointer;
}

.admin-context-bar button:hover,
.admin-section-library > button:hover,
.admin-custom-section-head button:hover {
  color: white;
  background: var(--admin-dark);
}

.admin-template-grid {
  grid-column: 1 / -1;
  width: 100%;
  display: grid !important;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px !important;
  padding-top: 18px;
  border-top: 1px solid var(--admin-line);
}

.admin-section-library:has(.admin-template-grid) {
  flex-wrap: wrap;
}

.admin-template-grid button {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 4px 12px;
  align-items: center;
  padding: 16px;
  border: 1px solid var(--admin-line);
  text-align: left;
  color: var(--ink);
  background: rgba(255,255,255,.2);
  cursor: pointer;
}

.admin-template-grid button > span {
  grid-row: 1 / span 2;
  color: var(--corten);
  font-size: 20px;
}

.admin-template-grid button strong { font: 400 19px/1 var(--serif); }
.admin-template-grid button small { color: rgba(23,26,23,.52); font-size: 10px; }
.admin-template-grid button:hover { background: rgba(210,166,111,.15); }

.admin-custom-section-editor {
  padding: 20px !important;
  border: 1px solid var(--admin-line) !important;
  background: rgba(255,255,255,.16);
}

.admin-custom-section-head {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: center;
  margin-bottom: 24px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--admin-line);
}

.admin-custom-section-head > div:first-child { display: grid; gap: 4px; }
.admin-custom-section-head > div:first-child span { color: var(--corten); font-size: 9px; letter-spacing: .12em; text-transform: uppercase; }
.admin-custom-section-head > div:first-child strong { font: 400 24px/1 var(--serif); }
.admin-custom-section-head > div:last-child { display: flex; gap: 5px; }
.admin-custom-section-head button:disabled { opacity: .34; cursor: default; }
.admin-custom-section-head button.is-danger { color: #9d442c; }

@media (max-width: 820px) {
  .custom-image-text,
  .custom-faq { grid-template-columns: 1fr; }
  .custom-image-text > div { min-height: 430px; }
  .custom-gallery header { grid-template-columns: 1fr; }
  .custom-gallery > div { grid-template-columns: 1fr; }
  .custom-gallery figure { min-height: 430px; }
  .custom-gallery figure:nth-child(3n + 2) { transform: none; }
  .custom-cta { align-items: flex-start; flex-direction: column; }
  .admin-context-bar,
  .admin-section-library,
  .admin-custom-section-head { align-items: flex-start; flex-direction: column; }
  .admin-template-grid { grid-template-columns: 1fr; }
  .admin-custom-section-head > div:last-child { flex-wrap: wrap; }
}

.admin-autosave {
  color: rgba(23,26,23,.52);
  font-size: 9px;
  letter-spacing: .09em;
  white-space: nowrap;
  text-transform: uppercase;
}
.admin-autosave.is-saving,
.admin-autosave.is-waiting { color: var(--corten); }
.admin-autosave.is-error { color: #9d442c; }

.admin-block-editor {
  border: 1px solid var(--admin-line);
  background: rgba(255,255,255,.13);
}

.admin-block-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  padding: 13px;
  border-bottom: 1px solid var(--admin-line);
}

.admin-block-toolbar button,
.admin-content-block header button,
.admin-section-manager button,
.admin-version-history button {
  min-height: 34px;
  padding: 0 11px;
  border: 1px solid var(--admin-line);
  color: var(--ink);
  background: transparent;
  font-size: 9px;
  font-weight: 680;
  letter-spacing: .09em;
  text-transform: uppercase;
  cursor: pointer;
}

.admin-block-toolbar button:hover,
.admin-section-manager button:hover,
.admin-version-history button:hover {
  color: white;
  background: var(--admin-dark);
}

.admin-block-help {
  margin: 0;
  padding: 12px 15px;
  color: rgba(23,26,23,.52);
  font-size: 11px;
  line-height: 1.55;
}

.admin-block-list { display: grid; gap: 12px; padding: 13px; }
.admin-content-block {
  padding: 18px;
  border: 1px solid var(--admin-line);
  background: var(--admin-panel);
}

.admin-content-block header {
  display: flex;
  justify-content: space-between;
  gap: 15px;
  align-items: center;
  margin-bottom: 15px;
}

.admin-content-block header > span {
  color: var(--corten);
  font-size: 9px;
  font-weight: 680;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.admin-content-block header > div { display: flex; gap: 5px; }
.admin-content-block header button:disabled { opacity: .35; cursor: default; }
.admin-content-block header button.is-danger { color: #9d442c; }
.admin-content-block > textarea {
  width: 100%;
  padding: 13px;
  border: 1px solid var(--admin-line);
  outline: none;
  color: var(--ink);
  background: rgba(255,255,255,.35);
  font: 400 15px/1.65 var(--sans);
  resize: vertical;
}
.admin-content-block .admin-form-grid { margin-top: 15px; }

.admin-section-manager > p {
  margin: -12px 0 18px;
  color: rgba(23,26,23,.54);
  font-size: 12px;
}

.admin-section-manager ol,
.admin-version-history ol {
  display: grid;
  gap: 7px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.admin-section-manager li {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 14px;
  align-items: center;
  min-height: 58px;
  padding: 10px 12px;
  border: 1px solid var(--admin-line);
  background: rgba(255,255,255,.18);
  cursor: grab;
}
.admin-section-manager li > span { color: var(--corten); letter-spacing: -.15em; }
.admin-section-manager li > strong { font-size: 12px; }
.admin-section-manager li > div { display: flex; gap: 5px; }
.admin-section-manager li.is-hidden { opacity: .48; }

.admin-version-history {
  margin-top: 40px;
  padding: 18px;
  border: 1px solid var(--admin-line);
  background: rgba(255,255,255,.16);
}
.admin-version-history > div {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--admin-line);
}
.admin-version-history > div > span {
  font-size: 10px;
  font-weight: 680;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.admin-version-history > p {
  margin: 18px 0 0;
  color: rgba(23,26,23,.55);
  font-size: 12px;
}
.admin-version-history ol { margin-top: 10px; }
.admin-version-history li {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: center;
  padding: 11px 0;
  border-bottom: 1px solid var(--admin-line);
}
.admin-version-history li > div { display: grid; gap: 4px; }
.admin-version-history li > div strong { font-size: 11px; }
.admin-version-history li > div span { color: rgba(23,26,23,.5); font-size: 9px; }

.admin-block-preview h4 {
  margin: 22px 0 12px;
  font: 400 29px/1 var(--serif);
}
.admin-block-preview blockquote {
  margin: 22px 0;
  padding-left: 18px;
  border-left: 2px solid var(--corten);
  font: 400 21px/1.4 var(--serif);
}
.admin-block-preview ul { padding-left: 20px; color: rgba(23,26,23,.68); }
.admin-block-preview img,
.admin-block-preview video { width: 100%; max-height: 400px; margin-top: 18px; object-fit: cover; }

.admin-link-list {
  display: grid;
  gap: 8px;
  margin-top: 22px;
}

.admin-link-list-head {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: center;
  margin-bottom: 4px;
}

.admin-link-list-head strong {
  font-size: 10px;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.admin-link-list button {
  min-height: 34px;
  padding: 0 10px;
  border: 1px solid var(--admin-line);
  color: var(--ink);
  background: transparent;
  font-size: 9px;
  font-weight: 680;
  letter-spacing: .08em;
  text-transform: uppercase;
  cursor: pointer;
}

.admin-link-list button:hover {
  color: white;
  background: var(--admin-dark);
}

.admin-link-row {
  display: grid;
  grid-template-columns: 32px minmax(130px, .7fr) minmax(180px, 1fr) auto;
  gap: 8px;
  align-items: center;
  padding: 8px;
  border: 1px solid var(--admin-line);
  background: rgba(255,255,255,.18);
}

.admin-link-row > span {
  color: var(--corten);
  font-size: 9px;
  font-weight: 680;
}

.admin-link-row input {
  width: 100%;
  min-height: 39px;
  padding: 0 11px;
  border: 1px solid var(--admin-line);
  outline: none;
  color: var(--ink);
  background: rgba(255,255,255,.38);
}

.admin-link-row > div { display: flex; gap: 4px; }
.admin-link-row button:disabled { opacity: .32; cursor: default; }
.admin-link-row button.is-danger { color: #9d442c; }

.editorial-article-body h2,
.project-story article h2 {
  margin: 55px 0 25px;
  font: 400 clamp(36px, 4vw, 58px)/1 var(--serif);
  letter-spacing: -.04em;
}
.editorial-article-body blockquote,
.project-story article blockquote {
  margin: 55px 0;
  padding-left: 25px;
  border-left: 2px solid var(--corten);
  color: var(--ink);
  font: 400 clamp(27px, 3vw, 42px)/1.35 var(--serif);
}
.editorial-article-body ul,
.project-story article ul {
  margin: 30px 0 40px;
  padding-left: 24px;
  color: rgba(23,26,23,.72);
  font-size: 18px;
  line-height: 1.75;
}
.editorial-article-body a,
.project-story article a {
  border-bottom: 1px solid currentColor;
  color: var(--corten);
}
.editorial-article-body figure,
.project-story article figure {
  margin: 55px min(-8vw, -70px);
}
.editorial-article-body figure.content-video,
.project-story article figure.content-video {
  width: min(100%, 520px);
  margin-inline: auto;
}
.editorial-article-body figure img,
.editorial-article-body figure video,
.project-story article figure img,
.project-story article figure video {
  width: 100%;
  height: auto;
  max-height: 780px;
  object-fit: cover;
}
.editorial-article-body figure.content-video video,
.project-story article figure.content-video video {
  display: block;
  aspect-ratio: 9 / 16;
  object-fit: cover;
  background: var(--ink);
}
.editorial-article-body figcaption,
.project-story article figcaption {
  margin-top: 10px;
  color: rgba(23,26,23,.5);
  font-size: 10px;
  letter-spacing: .1em;
  text-transform: uppercase;
}

@media (max-width: 820px) {
  .admin-autosave { display: none; }
  .admin-content-block header,
  .admin-version-history li { align-items: flex-start; flex-direction: column; }
  .admin-section-manager li { grid-template-columns: auto 1fr; }
  .admin-section-manager li > div { grid-column: 1 / -1; }
  .admin-preview-viewport { height: 680px; min-height: 540px; }
  .admin-link-row { grid-template-columns: 25px 1fr; }
  .admin-link-row > input,
  .admin-link-row > div { grid-column: 2; }
  .editorial-article-body figure,
  .project-story article figure { margin: 42px 0; }
}

/* TERANEA Journal — premium blog landing and article system */
.blog-page { background: var(--cream); }

.blog-journal-hero {
  min-height: 100svh;
  display: grid;
  grid-template-columns: minmax(420px, .82fr) minmax(0, 1.18fr);
  color: white;
  background: var(--ink);
}

.blog-journal-intro {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 170px clamp(32px, 5vw, 85px) clamp(70px, 8vw, 125px);
}

.blog-journal-intro > p {
  margin: 0 0 34px;
  color: #dfb88e;
  font-size: 11px;
  font-weight: 680;
  letter-spacing: .17em;
  text-transform: uppercase;
}

.blog-journal-intro h1 {
  margin: 0;
  font: 400 clamp(61px, 6.6vw, 108px)/.9 var(--serif);
  letter-spacing: -.06em;
  text-wrap: balance;
}

.blog-journal-intro h1 em {
  color: #dfb88e;
  font-weight: 400;
}

.blog-journal-intro > span {
  max-width: 570px;
  margin-top: 38px;
  color: rgba(255,255,255,.62);
  font-size: 16px;
  line-height: 1.75;
}

.blog-journal-intro > a {
  width: max-content;
  display: inline-flex;
  align-items: center;
  gap: 38px;
  margin-top: 44px;
  padding-bottom: 8px;
  border-bottom: 1px solid rgba(255,255,255,.62);
  font-size: 11px;
  font-weight: 680;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.blog-journal-intro > a i { font-style: normal; }

.blog-featured {
  position: relative;
  min-height: 100svh;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  overflow: hidden;
  padding: 145px clamp(28px, 4vw, 68px) clamp(55px, 6vw, 95px);
  isolation: isolate;
}

.blog-featured > img {
  position: absolute;
  z-index: -3;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.blog-featured-shade {
  position: absolute;
  z-index: -2;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(6,10,7,.34), rgba(6,10,7,.08) 34%, rgba(6,10,7,.82)),
    linear-gradient(90deg, rgba(6,10,7,.2), transparent 55%);
}

.blog-featured > p,
.blog-featured > div > span {
  margin: 0;
  color: rgba(255,255,255,.78);
  font-size: 10px;
  font-weight: 680;
  letter-spacing: .15em;
  text-transform: uppercase;
}

.blog-featured > div { max-width: 780px; }

.blog-featured h2 {
  margin: 18px 0 30px;
  font: 400 clamp(43px, 5.1vw, 80px)/.96 var(--serif);
  letter-spacing: -.05em;
  text-wrap: balance;
}

.blog-featured > div > a {
  display: inline-flex;
  gap: 34px;
  padding-bottom: 8px;
  border-bottom: 1px solid rgba(255,255,255,.7);
  font-size: 11px;
  font-weight: 680;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.blog-featured i,
.blog-card-copy i,
.article-story-copy i,
.article-consultation i,
.article-related i { font-style: normal; }

.blog-magazine {
  padding: clamp(90px, 10vw, 155px) clamp(22px, 4.5vw, 74px);
}

.blog-magazine-head {
  display: grid;
  grid-template-columns: .4fr 1.05fr .55fr;
  gap: clamp(35px, 6vw, 105px);
  align-items: end;
  margin-bottom: clamp(75px, 9vw, 135px);
}

.blog-magazine-head > div {
  display: flex;
  align-items: center;
  gap: 15px;
  align-self: start;
}

.blog-magazine-head > div span {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border: 1px solid var(--line);
  border-radius: 50%;
  color: var(--corten);
  font: 400 13px/1 var(--serif);
}

.blog-magazine-head > div p {
  margin: 0;
  font-size: 10px;
  font-weight: 680;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.blog-magazine-head h2 {
  margin: 0;
  font: 400 clamp(52px, 6vw, 92px)/.94 var(--serif);
  letter-spacing: -.055em;
}

.blog-magazine-head h2 em {
  color: var(--corten);
  font-weight: 400;
}

.blog-magazine-head > p {
  margin: 0;
  color: rgba(23,26,23,.64);
  font-size: 16px;
  line-height: 1.75;
}

.blog-magazine-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(70px, 8vw, 125px) 24px;
}

.blog-magazine-grid > article,
.blog-magazine-grid .blog-card-image,
.blog-magazine-grid .blog-card-copy {
  min-width: 0;
}

.blog-magazine-grid > article.is-wide {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(300px, .65fr);
  gap: clamp(32px, 5vw, 85px);
  align-items: end;
}

.blog-magazine-grid > article:not(.is-wide) .blog-card-image {
  aspect-ratio: 4 / 3;
}

.blog-magazine-grid > article.is-wide .blog-card-image {
  min-height: 590px;
  height: min(68vw, 760px);
}

.blog-magazine-grid .blog-card-image {
  width: 100%;
  background: #a7a195;
}

.blog-magazine-grid .blog-card-image img {
  width: 100%;
  max-width: 100%;
}

.blog-magazine-grid .blog-card-image::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(5,8,6,.02), rgba(5,8,6,.18));
  pointer-events: none;
}

.blog-magazine-grid .blog-card-image span {
  z-index: 1;
  width: 40px;
  height: 40px;
  font-size: 10px;
}

.blog-card-copy > p {
  margin: 25px 0 15px;
  color: var(--corten);
  font-size: 10px;
  font-weight: 680;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.blog-card-copy h3 {
  margin: 0;
  font: 400 clamp(37px, 3.8vw, 61px)/.98 var(--serif);
  letter-spacing: -.045em;
  overflow-wrap: break-word;
  hyphens: auto;
  text-wrap: balance;
}

.blog-card-copy > span {
  display: -webkit-box;
  max-width: 620px;
  margin-top: 22px;
  overflow: hidden;
  color: rgba(23,26,23,.63);
  font-size: 15px;
  line-height: 1.7;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
}

.blog-card-copy > a {
  display: inline-flex;
  gap: 32px;
  margin-top: 28px;
  padding-bottom: 8px;
  border-bottom: 1px solid currentColor;
  font-size: 11px;
  font-weight: 680;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.editorial-article {
  padding-top: 0;
  background: var(--cream);
}

.article-story-hero {
  min-height: 100svh;
  display: grid;
  grid-template-columns: 1.12fr .88fr;
  color: white;
  background: var(--ink);
}

.article-story-hero > figure {
  position: relative;
  min-height: 100svh;
  margin: 0;
  overflow: hidden;
}

.article-story-hero > figure::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(5,8,6,.18), transparent 35%, rgba(5,8,6,.24));
}

.article-story-hero > figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.article-story-hero > figure span {
  position: absolute;
  z-index: 1;
  left: clamp(24px, 3vw, 54px);
  bottom: 35px;
  color: rgba(255,255,255,.72);
  font-size: 10px;
  font-weight: 680;
  letter-spacing: .15em;
  text-transform: uppercase;
}

.article-story-copy {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 165px clamp(28px, 5vw, 82px) clamp(60px, 7vw, 110px);
}

.article-story-copy > a:first-child,
.article-story-copy > p {
  margin: 0;
  color: #dfb88e;
  font-size: 10px;
  font-weight: 680;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.article-story-copy > a:first-child span,
.article-story-copy > p i { margin-inline: 8px; color: rgba(255,255,255,.35); }
.article-story-copy > p { margin-top: 18px; color: rgba(255,255,255,.52); }

.article-story-copy h1 {
  margin: 34px 0 0;
  font: 400 clamp(50px, 5vw, 82px)/.93 var(--serif);
  letter-spacing: -.055em;
  text-wrap: balance;
}

.article-story-copy > span {
  display: block;
  max-width: 680px;
  margin-top: 32px;
  color: rgba(255,255,255,.64);
  font-size: 17px;
  line-height: 1.68;
}

.article-story-copy > a:last-child {
  width: max-content;
  display: inline-flex;
  gap: 36px;
  margin-top: 38px;
  padding-bottom: 8px;
  border-bottom: 1px solid rgba(255,255,255,.56);
  font-size: 11px;
  font-weight: 680;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.article-reading-layout {
  max-width: 1420px;
  display: grid;
  grid-template-columns: 280px minmax(0, 820px);
  gap: clamp(55px, 9vw, 145px);
  justify-content: center;
  margin: 0 auto;
  padding: clamp(90px, 11vw, 175px) clamp(22px, 4vw, 65px);
}

.article-reading-rail {
  align-self: start;
  position: sticky;
  top: 125px;
  display: grid;
  gap: 45px;
}

.article-reading-rail > div > span {
  display: block;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--line);
  color: var(--corten);
  font-size: 10px;
  font-weight: 680;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.article-reading-rail nav { display: grid; }

.article-reading-rail nav a {
  display: grid;
  grid-template-columns: 30px 1fr;
  gap: 10px;
  padding: 14px 0;
  border-bottom: 1px solid var(--line);
  color: rgba(23,26,23,.62);
  font-size: 12px;
  line-height: 1.45;
  transition: color .25s;
}

.article-reading-rail nav a:hover { color: var(--ink); }
.article-reading-rail nav i { color: var(--corten); font: 400 12px/1.45 var(--serif); }

.article-reading-rail > p {
  display: grid;
  gap: 4px;
  margin: 0;
}

.article-reading-rail > p strong {
  font: 400 34px/1 var(--serif);
}

.article-reading-rail > p span {
  color: rgba(23,26,23,.5);
  font-size: 10px;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.article-reading-layout .editorial-article-body {
  max-width: none;
  margin: 0;
  padding: 0;
}

.article-reading-layout .editorial-article-body p {
  margin: 0 0 32px;
  color: rgba(23,26,23,.74);
  font: 400 19px/1.82 var(--sans);
}

.article-reading-layout .editorial-article-body > p:first-child {
  margin-bottom: 55px;
  color: var(--ink);
  font: 400 clamp(29px, 3vw, 42px)/1.38 var(--serif);
  letter-spacing: -.02em;
}

.article-reading-layout .editorial-article-body h2 {
  scroll-margin-top: 120px;
  margin: 82px 0 30px;
  color: var(--ink);
  font: 400 clamp(40px, 4.3vw, 64px)/.98 var(--serif);
  letter-spacing: -.045em;
  text-wrap: balance;
}

.article-reading-layout .editorial-article-body blockquote {
  margin: 70px 0;
  padding: 34px 0 34px clamp(25px, 4vw, 55px);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  border-left: 0;
  white-space: pre-line;
  color: var(--ink);
  font: 400 clamp(29px, 3.2vw, 46px)/1.3 var(--serif);
}

.article-reading-layout .editorial-article-body ul {
  display: grid;
  gap: 15px;
  margin: 38px 0 52px;
  padding: 0;
  list-style: none;
}

.article-reading-layout .editorial-article-body li {
  position: relative;
  padding: 18px 20px 18px 54px;
  border-top: 1px solid var(--line);
  color: rgba(23,26,23,.72);
  font-size: 17px;
  line-height: 1.65;
}

.article-reading-layout .editorial-article-body li::before {
  content: "↗";
  position: absolute;
  left: 18px;
  top: 19px;
  color: var(--corten);
}

.article-reading-layout .editorial-article-body .article-table-scroll {
  width: auto;
  margin: 52px clamp(-65px, -4vw, -35px) 68px;
  overflow-x: auto;
  border: 1px solid var(--line);
  background: #f8f5ed;
  scrollbar-color: var(--corten) rgba(23,26,23,.08);
  scrollbar-width: thin;
}

.article-reading-layout .editorial-article-body .article-table-scroll:focus-visible {
  outline: 2px solid var(--corten);
  outline-offset: 4px;
}

.article-reading-layout .editorial-article-body table {
  width: 100%;
  min-width: 760px;
  border-collapse: collapse;
  table-layout: fixed;
}

.article-reading-layout .editorial-article-body th,
.article-reading-layout .editorial-article-body td {
  padding: 21px 19px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  text-align: left;
  vertical-align: top;
  font-size: 14px;
  line-height: 1.5;
}

.article-reading-layout .editorial-article-body th:last-child,
.article-reading-layout .editorial-article-body td:last-child {
  border-right: 0;
}

.article-reading-layout .editorial-article-body thead th {
  color: rgba(255,255,255,.78);
  background: var(--ink);
  font-size: 10px;
  font-weight: 680;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.article-reading-layout .editorial-article-body thead th:first-child,
.article-reading-layout .editorial-article-body tbody th {
  width: 25%;
}

.article-reading-layout .editorial-article-body tbody th {
  color: var(--ink);
  font-weight: 650;
  background: rgba(23,26,23,.035);
}

.article-reading-layout .editorial-article-body tbody td {
  color: rgba(23,26,23,.68);
}

.article-reading-layout .editorial-article-body tbody td:nth-child(2) {
  color: var(--ink);
  background: rgba(183,92,45,.075);
}

.article-reading-layout .editorial-article-body tbody tr:last-child th,
.article-reading-layout .editorial-article-body tbody tr:last-child td {
  border-bottom: 0;
}

.article-reading-layout .editorial-article-body figure {
  margin: 78px clamp(-72px, -4vw, -35px);
}

.form-honeypot {
  position: absolute !important;
  left: -10000px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

.inquiry-extra-fields {
  grid-column: 1 / -1;
  border-top: 1px solid rgba(255,255,255,.25);
  border-bottom: 1px solid rgba(255,255,255,.25);
}

.article-reading-layout .editorial-article-body figure img,
.article-reading-layout .editorial-article-body figure video {
  max-height: 780px;
  aspect-ratio: 16 / 10;
  object-fit: cover;
}

.article-reading-layout .editorial-article-body figcaption {
  margin-top: 13px;
  color: rgba(23,26,23,.48);
  font-size: 10px;
  letter-spacing: .11em;
  line-height: 1.5;
  text-transform: uppercase;
}

.article-consultation {
  display: grid;
  grid-template-columns: 1.25fr .75fr;
  gap: clamp(60px, 10vw, 170px);
  align-items: end;
  padding: clamp(85px, 10vw, 155px) clamp(22px, 5vw, 82px);
  color: white;
  background: var(--ink);
}

.article-consultation p {
  margin: 0 0 32px;
  color: #dfb88e;
  font-size: 10px;
  font-weight: 680;
  letter-spacing: .15em;
  text-transform: uppercase;
}

.article-consultation h2 {
  margin: 0;
  font: 400 clamp(52px, 6.5vw, 100px)/.93 var(--serif);
  letter-spacing: -.055em;
}

.article-consultation h2 em { color: #dfb88e; font-weight: 400; }

.article-consultation > div:last-child > span {
  display: block;
  color: rgba(255,255,255,.62);
  font-size: 16px;
  line-height: 1.75;
}

.article-consultation > div:last-child > a {
  display: flex;
  justify-content: space-between;
  gap: 30px;
  margin-top: 38px;
  padding: 22px 0;
  border-top: 1px solid rgba(255,255,255,.3);
  border-bottom: 1px solid rgba(255,255,255,.3);
  font-size: 11px;
  font-weight: 680;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.article-related {
  padding: clamp(90px, 10vw, 155px) clamp(22px, 4.5vw, 74px);
}

.article-related > header {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 40px;
  margin-bottom: clamp(65px, 8vw, 105px);
}

.article-related > header span {
  color: var(--corten);
  font-size: 10px;
  font-weight: 680;
  letter-spacing: .15em;
  text-transform: uppercase;
}

.article-related > header h2 {
  margin: 22px 0 0;
  font: 400 clamp(50px, 6vw, 90px)/.94 var(--serif);
  letter-spacing: -.055em;
}

.article-related > header h2 em { color: var(--corten); font-weight: 400; }

.article-related > header > a {
  display: inline-flex;
  gap: 28px;
  padding-bottom: 8px;
  border-bottom: 1px solid currentColor;
  font-size: 11px;
  font-weight: 680;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.article-related > div {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}

.article-related figure {
  position: relative;
  aspect-ratio: 4 / 3;
  margin: 0;
  overflow: hidden;
  background: #aaa399;
}

.article-related figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .8s var(--ease);
}

.article-related a:hover figure img { transform: scale(1.035); }

.article-related figure span {
  position: absolute;
  left: 18px;
  top: 18px;
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border: 1px solid rgba(255,255,255,.65);
  border-radius: 50%;
  color: white;
  font-size: 10px;
}

.article-related > div p {
  margin: 20px 0 12px;
  color: var(--corten);
  font-size: 10px;
  font-weight: 680;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.article-related > div h3 {
  margin: 0;
  font: 400 clamp(30px, 3vw, 46px)/.99 var(--serif);
  letter-spacing: -.04em;
}

.editorial-article .editorial-article-footer {
  max-width: none;
  margin: 0;
  padding: 38px clamp(22px, 4.5vw, 74px) 90px;
  border-top: 1px solid var(--line);
}

@media (max-width: 1100px) {
  .blog-journal-hero { grid-template-columns: 1fr 1.1fr; }
  .blog-magazine-head { grid-template-columns: 1fr 1.8fr; }
  .blog-magazine-head > p { grid-column: 2; }
  .article-story-hero { grid-template-columns: 1fr 1fr; }
  .article-reading-layout { grid-template-columns: 220px minmax(0, 720px); gap: 55px; }
  .article-reading-layout .editorial-article-body figure { margin-inline: -35px; }
}

@media (max-width: 820px) {
  .blog-journal-hero { grid-template-columns: 1fr; }
  .blog-journal-intro { min-height: 720px; }
  .blog-featured { min-height: 760px; }
  .blog-magazine-head { grid-template-columns: 1fr; }
  .blog-magazine-head > p { grid-column: auto; max-width: 630px; }
  .blog-magazine-grid > article.is-wide { grid-template-columns: 1fr; gap: 28px; }
  .blog-magazine-grid > article.is-wide .blog-card-image { min-height: 0; height: auto; aspect-ratio: 16 / 10; }
  .article-story-hero { grid-template-columns: 1fr; }
  .article-story-hero > figure { min-height: 72svh; }
  .article-story-copy { min-height: 650px; }
  .article-reading-layout { grid-template-columns: 1fr; gap: 70px; }
  .article-reading-rail { position: static; grid-template-columns: 1fr auto; gap: 35px; }
  .article-reading-layout .editorial-article-body figure { margin-inline: 0; }
  .article-consultation { grid-template-columns: 1fr; }
  .article-related > div { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 680px) {
  .blog-journal-intro { min-height: 690px; padding: 135px 18px 70px; }
  .blog-journal-intro h1 { font-size: clamp(55px, 16.5vw, 72px); line-height: .92; }
  .blog-journal-intro > span { font-size: 15px; }
  .blog-featured { min-height: 680px; padding: 110px 18px 60px; }
  .blog-featured h2 { font-size: 47px; }
  .blog-magazine { padding: 85px 18px 105px; }
  .blog-magazine-head { gap: 30px; margin-bottom: 70px; }
  .blog-magazine-head h2 { font-size: 54px; }
  .blog-magazine-grid { grid-template-columns: 1fr; gap: 75px; }
  .blog-magazine-grid > article.is-wide { grid-column: auto; }
  .blog-magazine-grid > article:not(.is-wide) .blog-card-image,
  .blog-magazine-grid > article.is-wide .blog-card-image { aspect-ratio: 4 / 3; }
  .blog-card-copy h3 { font-size: 40px; }
  .blog-card-copy > span { font-size: 15px; }
  .article-story-hero > figure { min-height: 58svh; }
  .article-story-copy { min-height: 620px; padding: 70px 18px 65px; }
  .article-story-copy h1 { font-size: clamp(43px, 12vw, 55px); line-height: .95; }
  .article-story-copy > span { font-size: 15px; }
  .article-reading-layout { padding: 75px 18px 95px; }
  .article-reading-rail { display: block; }
  .article-reading-rail > p { margin-top: 30px; }
  .article-reading-layout .editorial-article-body p { font-size: 17px; line-height: 1.75; }
  .article-reading-layout .editorial-article-body > p:first-child { font-size: 29px; }
  .article-reading-layout .editorial-article-body h2 { margin-top: 68px; font-size: 43px; }
  .article-reading-layout .editorial-article-body blockquote { margin: 55px 0; font-size: 29px; }
  .article-reading-layout .editorial-article-body li { padding-left: 46px; font-size: 16px; }
  .article-reading-layout .editorial-article-body .article-table-scroll { margin: 50px -18px 62px; }
  .article-reading-layout .editorial-article-body th,
  .article-reading-layout .editorial-article-body td { padding: 17px 15px; font-size: 13px; }
  .article-reading-layout .editorial-article-body figure { margin: 55px -18px; }
  .article-reading-layout .editorial-article-body figcaption { padding-inline: 18px; }
  .article-consultation { gap: 45px; padding: 85px 18px; }
  .article-consultation h2 { font-size: 52px; }
  .article-related { padding: 85px 18px; }
  .article-related > header { align-items: flex-start; flex-direction: column; margin-bottom: 60px; }
  .article-related > header h2 { font-size: 52px; }
  .article-related > div { grid-template-columns: 1fr; gap: 60px; }
  .article-related > div h3 { font-size: 39px; }
  .editorial-article .editorial-article-footer { align-items: flex-start; padding: 32px 18px 105px; }
}

/* Unified responsive hero system and full-site QA pass. */
.hero-title {
  max-width: 100%;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
  text-wrap: balance;
}

.detail-hero,
.film-hero {
  min-height: max(100svh, 760px);
}

.detail-hero-copy {
  bottom: clamp(56px, 7svh, 80px);
}

.detail-hero-copy h1.hero-title--standard {
  max-width: min(1350px, calc(100vw - 240px));
  font-size: clamp(68px, min(9vw, 15.5svh), 146px);
  line-height: .92;
}

.detail-hero-copy h1.hero-title--balanced {
  max-width: min(1350px, calc(100vw - 240px));
  font-size: clamp(66px, min(8.5vw, 14.8svh), 140px);
  line-height: .92;
}

.detail-hero-copy h1.hero-title--compact {
  max-width: min(1380px, calc(100vw - 220px));
  font-size: clamp(64px, min(8vw, 14svh), 134px);
  line-height: .93;
}

.detail-hero-subtitle,
.contact-hero .detail-hero-copy > p:last-child {
  max-width: 610px;
  margin: 24px 0 0;
  color: rgba(255,255,255,.78);
  font-size: 17px;
  line-height: 1.65;
}

.detail-hero-actions { margin-top: 24px; }
.detail-hero-note { max-width: 560px; }

.film-copy .film-heading.hero-title--standard { font-size: clamp(68px, min(8.8vw, 15.5svh), 142px); }
.film-copy .film-heading.hero-title--balanced { font-size: clamp(66px, min(8.35vw, 15svh), 136px); }
.film-copy .film-heading.hero-title--compact { font-size: clamp(64px, min(7.9vw, 14.5svh), 130px); }

.simple-hero {
  min-height: max(76svh, 660px);
  background-position: center;
  background-size: cover;
}

.simple-hero h1.hero-title--standard { font-size: clamp(72px, min(9.5vw, 16svh), 154px); }
.simple-hero h1.hero-title--balanced { font-size: clamp(69px, min(9vw, 15.2svh), 146px); }
.simple-hero h1.hero-title--compact { font-size: clamp(66px, min(8.4vw, 14.5svh), 138px); }

.blog-journal-intro h1.hero-title--standard { font-size: clamp(61px, min(6.6vw, 13svh), 108px); }
.blog-journal-intro h1.hero-title--balanced { font-size: clamp(59px, min(6.2vw, 12.4svh), 102px); }
.blog-journal-intro h1.hero-title--compact { font-size: clamp(56px, min(5.8vw, 11.8svh), 96px); }

.project-detail-hero { min-height: max(94svh, 720px); }
.project-detail-copy h1.hero-title--standard { font-size: clamp(58px, min(6.2vw, 13svh), 112px); }
.project-detail-copy h1.hero-title--balanced { font-size: clamp(56px, min(5.9vw, 12.4svh), 106px); }
.project-detail-copy h1.hero-title--compact { font-size: clamp(52px, min(5.5vw, 11.8svh), 98px); }

.article-story-copy h1.hero-title--standard { font-size: clamp(50px, min(5vw, 10.5svh), 82px); }
.article-story-copy h1.hero-title--balanced { font-size: clamp(48px, min(4.75vw, 10svh), 78px); }
.article-story-copy h1.hero-title--compact { font-size: clamp(45px, min(4.45vw, 9.5svh), 74px); }

#obsah,
#vyhody,
#moznosti,
#rozhodovanie,
#galeria,
#clanky,
#citat {
  scroll-margin-top: 150px;
}

.contact-consent {
  display: flex !important;
  grid-template-columns: 16px 1fr;
  align-items: center;
  gap: 11px !important;
}

.inquiry-consent { gap: 11px; }

.contact-consent input {
  flex: 0 0 15px;
  width: 15px;
  margin: 0;
}

.contact-consent span,
.inquiry-consent span {
  color: rgba(255,255,255,.7);
  font-size: 12px !important;
  line-height: 1.55;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

.contact-consent a,
.inquiry-consent a { border-bottom: 1px solid currentColor; }

.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus,
.inquiry-form input:focus,
.inquiry-form select:focus,
.inquiry-form textarea:focus {
  border-bottom-color: white;
}

.project-gallery img,
.editorial-article-body video,
.project-story article video,
.custom-section video {
  max-width: 100%;
}

@media (max-width: 1100px) {
  .detail-hero,
  .contact-hero,
  .project-detail-hero {
    min-height: max(100svh, 760px);
    display: flex;
    align-items: flex-end;
    padding: 180px 32px 64px;
  }

  .detail-hero-copy,
  .contact-hero .detail-hero-copy,
  .project-detail-copy {
    position: relative;
    inset: auto;
    width: 100%;
  }

  .detail-hero-copy h1.hero-title--standard,
  .detail-hero-copy h1.hero-title--balanced,
  .detail-hero-copy h1.hero-title--compact {
    max-width: 940px;
  }

  .detail-hero-copy h1.hero-title--standard { font-size: clamp(67px, 9.2vw, 96px); }
  .detail-hero-copy h1.hero-title--balanced { font-size: clamp(64px, 8.7vw, 91px); }
  .detail-hero-copy h1.hero-title--compact { font-size: clamp(60px, 8.2vw, 86px); }

  .detail-hero-frame { inset: 100px 16px 16px; }
  .detail-hero-meta { top: 118px; left: 32px; }
  .detail-hero-signature,
  .detail-hero-scroll { display: none; }

  .project-detail-copy h1.hero-title--standard { font-size: clamp(62px, 8.5vw, 90px); }
  .project-detail-copy h1.hero-title--balanced { font-size: clamp(58px, 8vw, 84px); }
  .project-detail-copy h1.hero-title--compact { font-size: clamp(53px, 7.4vw, 78px); }

  .mega-menu { padding-top: 110px; }
  .mega-menu-grid { gap: 35px; padding-block: 28px 38px; }
  .mega-menu-primary a { font-size: clamp(39px, 6vw, 58px); }
}

@media (min-width: 1101px) and (max-height: 780px) {
  .detail-hero-meta { top: 124px; }
  .detail-hero-copy { bottom: 54px; }
  .detail-hero-subtitle,
  .contact-hero .detail-hero-copy > p:last-child { margin-top: 18px; font-size: 16px; }
  .detail-hero-actions { margin-top: 18px; }
  .detail-hero-note { margin-top: 10px; }
  .film-copy { bottom: 105px; }
  .film-copy > p:first-child { margin-bottom: 17px; }
  .film-copy > div { margin-top: 20px; }
  .film-controls { bottom: 24px; }
  .article-story-copy { padding-top: 125px; padding-bottom: 58px; }
}

@media (max-width: 820px) {
  .simple-hero {
    min-height: max(82svh, 640px);
    padding: 140px 24px 70px;
  }

  .simple-hero h1.hero-title--standard { font-size: clamp(62px, 11vw, 88px); }
  .simple-hero h1.hero-title--balanced { font-size: clamp(59px, 10.4vw, 82px); }
  .simple-hero h1.hero-title--compact { font-size: clamp(55px, 9.8vw, 76px); }

  .blog-journal-intro h1.hero-title--standard { font-size: clamp(65px, 12vw, 92px); }
  .blog-journal-intro h1.hero-title--balanced { font-size: clamp(61px, 11.3vw, 86px); }
  .blog-journal-intro h1.hero-title--compact { font-size: clamp(57px, 10.6vw, 80px); }

  .article-story-copy h1.hero-title--standard { font-size: clamp(55px, 9vw, 72px); }
  .article-story-copy h1.hero-title--balanced { font-size: clamp(51px, 8.5vw, 68px); }
  .article-story-copy h1.hero-title--compact { font-size: clamp(47px, 8vw, 64px); }

  .project-gallery img { max-height: none; }
}

@media (max-width: 680px) {
  .film-hero,
  .detail-hero,
  .contact-hero,
  .project-detail-hero {
    min-height: max(100svh, 740px);
  }

  .detail-hero,
  .contact-hero,
  .project-detail-hero { padding: 142px 18px 54px; }

  .detail-hero-frame { inset: 88px 9px 9px; }
  .detail-hero-meta { top: 101px; left: 18px; }

  .detail-hero-copy h1.hero-title--standard,
  .simple-hero h1.hero-title--standard { font-size: clamp(49px, 14vw, 62px); line-height: .95; }

  .detail-hero-copy h1.hero-title--balanced,
  .simple-hero h1.hero-title--balanced { font-size: clamp(47px, 13.4vw, 59px); line-height: .95; }

  .detail-hero-copy h1.hero-title--compact,
  .simple-hero h1.hero-title--compact { font-size: clamp(44px, 12.6vw, 56px); line-height: .96; }

  .detail-hero-subtitle,
  .contact-hero .detail-hero-copy > p:last-child {
    max-width: 100%;
    margin-top: 18px;
    font-size: 15px;
    line-height: 1.58;
  }

  .detail-hero-actions { margin-top: 20px; }
  .detail-primary-action,
  .detail-secondary-action { width: 100%; max-width: 350px; }

  .film-copy .film-heading.hero-title--standard { font-size: clamp(50px, 14.2vw, 63px); line-height: .9; }
  .film-copy .film-heading.hero-title--balanced { font-size: clamp(48px, 13.5vw, 60px); line-height: .91; }
  .film-copy .film-heading.hero-title--compact { font-size: clamp(45px, 12.8vw, 57px); line-height: .92; }

  .simple-hero { min-height: max(88svh, 620px); padding: 132px 18px 64px; }
  .simple-hero > span { margin-top: 25px; }

  .blog-journal-intro h1.hero-title--standard { font-size: clamp(52px, 14vw, 64px); line-height: .94; }
  .blog-journal-intro h1.hero-title--balanced { font-size: clamp(49px, 13.2vw, 61px); line-height: .95; }
  .blog-journal-intro h1.hero-title--compact { font-size: clamp(46px, 12.4vw, 57px); line-height: .96; }

  .project-detail-copy h1.hero-title--standard { font-size: clamp(47px, 13vw, 57px); line-height: .96; }
  .project-detail-copy h1.hero-title--balanced { font-size: clamp(45px, 12.4vw, 54px); line-height: .96; }
  .project-detail-copy h1.hero-title--compact { font-size: clamp(42px, 11.6vw, 51px); line-height: .97; }

  .article-story-copy h1.hero-title--standard { font-size: clamp(46px, 12.5vw, 56px); line-height: .96; }
  .article-story-copy h1.hero-title--balanced { font-size: clamp(44px, 11.8vw, 53px); line-height: .97; }
  .article-story-copy h1.hero-title--compact { font-size: clamp(41px, 11vw, 50px); line-height: .98; }

  .mega-menu { padding: 92px 18px 25px; }
  .mega-menu-grid { gap: 32px; padding-block: 24px 30px; }
  .mega-menu-primary a { padding: 8px 0; font-size: clamp(35px, 10.5vw, 44px); }
  .mega-solution-main b { font-size: clamp(20px, 6.3vw, 24px); }
  .mega-menu-bottom { padding-bottom: max(5px, env(safe-area-inset-bottom)); }

  #obsah,
  #vyhody,
  #moznosti,
  #rozhodovanie,
  #galeria,
  #clanky,
  #citat { scroll-margin-top: 135px; }

  .contact-consent span,
  .inquiry-consent span { font-size: 13px !important; }
}

@media (max-width: 480px) {
  .interior-footer-links { grid-template-columns: 1fr; }
  .interior-footer-brand p { font-size: 21px; line-height: 1.15; }
  .interior-footer-bottom { align-items: flex-start; flex-direction: column; }
  .interior-footer-bottom a:last-child { width: auto; }
  .project-facts { grid-template-columns: 1fr; }
  .project-facts article { min-height: 112px; }
}

/* Desktop wheel chapters: the stack stays centered while complete cards advance. */
@media (min-width: 1025px) {
  .solutions.is-wheel-ready {
    padding-bottom: clamp(70px, 11vh, 130px);
  }

  .solutions.is-wheel-ready .solution-stack {
    position: sticky;
    top: 50svh;
    display: block;
    height: min(82svh, 850px);
    overflow: hidden;
    transform: translateY(-50%);
    background: #303630;
  }

  .solutions.is-wheel-ready .solution-card,
  .solutions.is-wheel-ready .solution-card:nth-child(2),
  .solutions.is-wheel-ready .solution-card:nth-child(3),
  .solutions.is-wheel-ready .solution-card:nth-child(4),
  .solutions.is-wheel-ready .solution-card:nth-child(5) {
    position: absolute;
    z-index: 1;
    inset: 0;
    top: auto;
    min-height: 100%;
    opacity: 0;
    pointer-events: none;
    transform: translate3d(0, 100%, 0);
    transition: transform .82s var(--ease), opacity .42s ease;
    will-change: transform;
  }

  .solutions.is-wheel-ready .solution-card.is-active {
    z-index: 3;
    opacity: 1;
    pointer-events: auto;
    transform: translate3d(0, 0, 0);
  }

  .solutions.is-wheel-ready .solution-card.is-before {
    z-index: 2;
    opacity: 0;
    transform: translate3d(0, -100%, 0);
  }

  .solutions.is-wheel-ready .solution-card.is-after {
    transform: translate3d(0, 100%, 0);
  }
}

@media (min-width: 1025px) and (prefers-reduced-motion: reduce) {
  .solutions.is-wheel-ready .solution-card { transition: none; }
}

/* WordPress integration: the legacy compact footer must not constrain InteriorFooter rows. */
.interior-footer > .interior-footer-brand,
.interior-footer > .interior-footer-solutions,
.interior-footer > .interior-footer-links,
.interior-footer > .interior-footer-bottom {
  width: 100%;
  max-width: none;
  justify-self: stretch;
}

.interior-footer > .interior-footer-solutions {
  gap: 0;
}

/* Poradňa: permanent introductory photograph independent of article count. */
.blog-journal-hero--image { position: relative; isolation: isolate; display: flex; overflow: hidden; min-height: 90svh; }
.blog-journal-hero--image .blog-intro-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; z-index: -2; }
.blog-journal-hero--image .blog-intro-shade { position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg,rgba(15,20,17,.83),rgba(15,20,17,.42) 58%,rgba(15,20,17,.12)),linear-gradient(0deg,rgba(15,20,17,.38),transparent 65%); }
.blog-journal-hero--image .blog-journal-intro { width: 100%; max-width: 1050px; min-height: 0; }
.blog-journal-hero--image .blog-journal-intro > span { color: rgba(255,255,255,.88); }
@media (max-width: 700px) {
 .blog-journal-hero--image { min-height: 85svh; }
 .blog-journal-hero--image .blog-intro-image { object-position: 42% center; }
 .blog-journal-hero--image .blog-intro-shade { background: linear-gradient(0deg,rgba(15,20,17,.88),rgba(15,20,17,.25)); }
}


/* Readable expanded navigation on desktop and mobile. */
.mega-menu::before { opacity: .025; }
.mega-menu-primary a { min-height: 64px; padding-block: 14px; line-height: 1.12; }
.mega-menu-primary a > span:first-child { font: inherit; letter-spacing: inherit; }
.mega-menu-primary a > span:last-child { flex-shrink: 0; margin-left: 18px; color: #c7cbc5; }
.mega-menu-top, .mega-menu-bottom { color: #c7cbc5; font-size: 13px; line-height: 1.6; letter-spacing: .09em; }
.mega-menu-services > p { font-size: 13px; line-height: 1.5; letter-spacing: .09em; }
.mega-solution-group { padding: 16px 0; }
.mega-solution-main { grid-template-columns: 32px minmax(0, 1fr) auto; }
.mega-solution-main > span { color: #c7cbc5; font-size: 13px; line-height: 1.5; }
.mega-solution-main b { color: #f5f3ed; font-size: clamp(26px, 2.3vw, 36px); line-height: 1.15; gap: 8px; }
.mega-solution-main small { color: #c7cbc5; font-size: 12px; line-height: 1.6; letter-spacing: .06em; }
.mega-solution-children { gap: 4px 22px; margin-top: 10px; }
.mega-solution-children a { display: inline-flex; align-items: center; min-height: 44px; padding-block: 7px; color: #e2e5de; font-size: 16px; line-height: 1.5; }
.mega-menu-bottom a { display: inline-flex; align-items: center; min-height: 44px; font-size: 14px; }
.mega-menu a:focus-visible { outline: 2px solid #dfb88e; outline-offset: 5px; }
@media (max-width: 600px) {
  .mega-menu-primary a { font-size: clamp(32px, 9vw, 44px); }
  .mega-solution-main { grid-template-columns: 24px minmax(0, 1fr) auto; gap: 10px; }
  .mega-solution-main b { font-size: 26px; }
  .mega-solution-children { margin-left: 34px; }
  .mega-menu-bottom { gap: 10px 24px; }
  .mega-menu-bottom a { overflow-wrap: anywhere; }
}

/* 1.4.21 — readable process rows, including narrow desktop and mobile. */
.home-sections .process-head {
  grid-template-columns: minmax(150px, .65fr) minmax(0, 1.35fr);
  gap: clamp(24px, 5vw, 80px);
}
.home-sections .process-head h2 {
  font-size: clamp(44px, 4.7vw, 76px);
  line-height: 1.06;
  overflow-wrap: normal;
}
.home-sections .process-list { margin-top: clamp(40px, 5vw, 72px); }
.home-sections .process-list article {
  grid-template-columns: 56px minmax(0, 1.1fr) minmax(0, 1fr) 48px;
  gap: clamp(20px, 2.5vw, 40px);
  padding-block: 28px;
}
.home-sections .process-list article > * { min-width: 0; }
.home-sections .process-list h3 {
  font-size: clamp(28px, 2.7vw, 44px);
  line-height: 1.12;
}
.home-sections .process-list p {
  max-width: 520px;
  font-size: 15px;
  line-height: 1.7;
}
@media (max-width: 768px) {
  .home-sections .process-head { display: block; }
  .home-sections .process-head h2 { font-size: clamp(36px, 7vw, 52px); }
  .home-sections .process-list article {
    grid-template-columns: 30px minmax(0, 1fr) 36px;
    gap: 14px;
    min-height: 0;
    padding-block: 24px;
  }
  .home-sections .process-list article:hover { padding-inline: 0; }
  .home-sections .process-list h3 { font-size: clamp(26px, 5.5vw, 35px); }
  .home-sections .process-list p { grid-column: 2 / -1; grid-row: 2; padding-bottom: 0; font-size: 14px; }
  .home-sections .process-list i { grid-column: 3; grid-row: 1; }
}

/* 1.4.22 — paired statements in the Why TERANEA heading. */
.home-sections .proof { padding-top: clamp(64px, 7vw, 110px); }
.home-sections .proof-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 28px clamp(28px, 5vw, 80px);
  align-items: start;
}
.home-sections .proof-head > .section-label { grid-column: 1 / -1; margin-bottom: 8px; }
.home-sections .proof-head > h2 {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(28px, 5vw, 80px);
  align-items: start;
  font-size: clamp(38px, 4.4vw, 72px);
  line-height: 1.08;
  letter-spacing: -.04em;
  overflow-wrap: break-word;
}
.home-sections .proof-head > h2 > br { display: none; }
.home-sections .proof-head > h2 > em { min-width: 0; }
.home-sections .proof-head > p {
  grid-column: 2;
  max-width: 560px;
  margin: 0;
  font-size: 15px;
  line-height: 1.75;
}
.home-sections .proof-grid { margin-top: clamp(36px, 4vw, 64px); }
@media (max-width: 768px) {
  .home-sections .proof-head { display: block; padding-bottom: 36px; }
  .home-sections .proof-head > .section-label { margin-bottom: 28px; }
  .home-sections .proof-head > h2 {
    display: block;
    font-size: clamp(34px, 7.5vw, 52px);
    line-height: 1.12;
  }
  .home-sections .proof-head > h2 > em { display: block; margin-top: 14px; }
  .home-sections .proof-head > p { margin-top: 24px; font-size: 14px; }
  .home-sections .proof-grid { margin-top: 0; }
}

/* 1.4.23 — fixed scroll position while solution chapters advance. */
html.teranea-solutions-locked { overflow: hidden; scrollbar-gutter: stable; scroll-behavior: auto !important; }
@media (min-width: 1025px) {
  .solutions.is-wheel-ready .solution-stack {
    position: relative;
    top: auto;
    transform: none;
    height: min(calc(100svh - 150px), 850px);
  }
}

/* 1.4.24 — room for Slovak accents and descenders in the editorial heading. */
.home-sections .editorial-copy h2 {
  font-size: clamp(38px, 4.4vw, 76px);
  line-height: 1.2;
  letter-spacing: -.035em;
  overflow-wrap: break-word;
}
@media (max-width: 768px) {
  .home-sections .editorial-copy h2 {
    font-size: clamp(34px, 7.5vw, 48px);
    line-height: 1.2;
  }
}

/* 1.4.25 — compact introduction to the homepage guides. */
.home-sections .guides {
  padding-top: clamp(52px, 5.5vw, 88px);
  padding-bottom: clamp(64px, 7vw, 110px);
}
.home-sections .guides-head { align-items: start; }
.home-sections .guides-head .section-label { margin-bottom: 0; }
.home-sections .guides-head h2 {
  min-width: 0;
  font-size: clamp(38px, 4.7vw, 76px);
  line-height: 1.15;
  letter-spacing: -.035em;
  overflow-wrap: break-word;
}
.home-sections .guides-grid { margin-top: clamp(32px, 3vw, 48px); }
@media (max-width: 768px) {
  .home-sections .guides { padding-top: 45px; padding-bottom: 55px; }
  .home-sections .guides-head .section-label { margin-bottom: 24px; }
  .home-sections .guides-head h2 { font-size: clamp(34px, 7.5vw, 44px); line-height: 1.15; }
  .home-sections .guides-grid { margin-top: 30px; }
}

/* 1.4.26 — compact team section on About only. */
.detail-features.about-team .detail-features-head { margin-top: 28px; gap: 36px; align-items: center; }
.detail-features.about-team .detail-features-head h2 {
  font-size: clamp(38px, 4.5vw, 72px);
  line-height: 1.15;
  letter-spacing: -.035em;
}
.detail-features.about-team .detail-features-head > p { font-size: 15px; line-height: 1.75; }
.detail-features.about-team .detail-feature-grid { margin-top: 40px; }
.detail-features.about-team .detail-feature-grid article { min-height: 0; padding: 26px 24px 46px; }
.detail-features.about-team .detail-feature-grid h3 { margin: 32px 0 18px; font-size: clamp(26px, 2.2vw, 34px); line-height: 1.15; }
.detail-features.about-team .detail-feature-grid p { font-size: 14px; line-height: 1.75; }
@media (max-width: 768px) {
  .detail-features.about-team .detail-features-head { gap: 24px; }
  .detail-features.about-team .detail-features-head h2 { font-size: clamp(34px, 7.5vw, 46px); }
  .detail-features.about-team .detail-feature-grid { margin-top: 30px; }
  .detail-features.about-team .detail-feature-grid h3 { margin-top: 24px; }
}

/* 1.4.27 — distinct, compact closing sections on About only. */
.detail-options.about-process {
  padding-top: clamp(56px, 6vw, 88px);
  padding-bottom: clamp(56px, 6vw, 88px);
  background: #faf9f6;
}
.about-process > h2 { margin-top: 28px; font-size: clamp(38px, 4.4vw, 68px); line-height: 1.15; letter-spacing: -.035em; }
.about-process .detail-options-list { margin-top: 36px; }
.about-process .detail-options-list article { min-height: 112px; padding: 24px 0; grid-template-columns: 40px minmax(200px, .8fr) 1.2fr; gap: 24px; }
.about-process .detail-options-list h3 { font-size: clamp(27px, 2.5vw, 36px); line-height: 1.2; }
.about-process .detail-options-list p { font-size: 14px; line-height: 1.75; color: #525951; }
.detail-closing.about-contact { min-height: 0; padding-top: clamp(56px, 6vw, 88px); padding-bottom: clamp(56px, 6vw, 88px); gap: 36px; background: #dce3d7; color: #202b23; }
.about-contact > div { min-width: 0; }
.about-contact > div > p { color: #425442; font-size: 11px; }
.about-contact h2 { max-width: 760px; font-size: clamp(38px, 4.4vw, 68px); line-height: 1.15; letter-spacing: -.035em; overflow-wrap: break-word; }
.about-contact > div > span { max-width: 620px; margin-top: 22px; color: #3e4c3f; font-size: 15px; line-height: 1.75; }
.about-contact > .detail-link { display: inline-flex; justify-content: space-between; align-items: center; gap: 28px; justify-self: start; margin: 0; padding: 18px 24px; min-height: 52px; background: #263c2d; border: 1px solid #263c2d; color: #fff; font-size: 13px; line-height: 1.4; text-decoration: none; }
.about-contact > .detail-link:hover { background: #354f3b; }
.about-contact > .detail-link:focus-visible { outline: 2px solid #263c2d; outline-offset: 4px; }
.detail-next.about-solutions { padding-top: 48px; padding-bottom: 64px; background: #faf9f6; }
.about-solutions > p { color: #525951; font-size: 11px; margin-bottom: 22px; }
.about-solutions a { padding: 17px 0; gap: 24px; font-size: clamp(25px, 2.25vw, 34px); line-height: 1.2; border-bottom-color: #d5d8d0; }
.about-solutions a span { flex-shrink: 0; }
@media (max-width: 768px) {
  .detail-options.about-process, .detail-closing.about-contact { padding: 48px 18px; }
  .about-process > h2, .about-contact h2 { font-size: clamp(34px, 7.5vw, 44px); }
  .about-process .detail-options-list { margin-top: 28px; }
  .about-process .detail-options-list article { grid-template-columns: 28px minmax(0, 1fr); gap: 12px; min-height: 0; padding: 22px 0; }
  .about-process .detail-options-list h3 { font-size: 28px; }
  .about-process .detail-options-list p { grid-column: 2; grid-row: 2; font-size: 14px; }
  .detail-closing.about-contact { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .detail-next.about-solutions { padding: 36px 18px 48px; }
  .about-solutions a { font-size: 26px; padding: 16px 0; }
}

/* 1.4.28 — category page: readable type, compact sections, distinct purposes. */
.pergola-category { --detail-accent: #686249; }
.pergola-category > .detail-intro,
.pergola-category > .detail-features,
.pergola-category > .detail-options,
.pergola-category > .decision-guide { padding-top: clamp(52px, 6vw, 88px); padding-bottom: clamp(52px, 6vw, 88px); }
.pergola-category > .detail-intro, .pergola-category > .detail-options { background: #faf9f6; }
.pergola-category > .decision-guide { background: #eeeae0; }
.pergola-category h2 { font-size: clamp(36px, 4.4vw, 68px); line-height: 1.16; letter-spacing: -.035em; overflow-wrap: break-word; }
.pergola-category h3 { line-height: 1.2; overflow-wrap: break-word; }
.pergola-category .detail-label { color: #596055; font-size: 10px; }
.pergola-category .detail-label.light { color: #bec9b8; }
.pergola-category .detail-intro-copy,
.pergola-category .detail-features-head,
.pergola-category .decision-head { grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); align-items: start; gap: clamp(28px, 4vw, 64px); margin-top: 30px; }
.pergola-category .detail-intro-copy > div { align-self: start; }
.pergola-category .detail-intro-copy > div p,
.pergola-category .decision-head > p { font-size: 15px; line-height: 1.75; color: #525951; }
.pergola-category .detail-features-head > p { font-size: 15px; line-height: 1.75; color: #c5cbc0; }
.pergola-category .detail-features h2 em { color: #c0ccb5; }
.pergola-category .detail-media { margin-top: 36px; min-height: clamp(300px, 40vw, 560px); }
.pergola-category .detail-inline-cta { margin-top: 32px; gap: 26px; grid-template-columns: minmax(0, 1fr) minmax(0, .9fr); }
.pergola-category .detail-inline-cta h3 { font-size: clamp(28px, 2.6vw, 38px); }
.pergola-category .detail-inline-cta > a { grid-column: 2; justify-self: start; white-space: normal; }
.pergola-category .detail-feature-grid { margin-top: 36px; }
.pergola-category .detail-feature-grid article { min-height: 0; padding: 24px; }
.pergola-category .detail-feature-grid h3 { margin: 28px 0 16px; font-size: clamp(25px, 2.1vw, 32px); }
.pergola-category .detail-feature-grid p { color: #c5cbc0; font-size: 14px; line-height: 1.75; }
.pergola-category .detail-feature-grid article:hover p { color: #374035; }
.pergola-category .detail-options > h2 { margin-top: 28px; }
.pergola-category .detail-options-list { margin-top: 32px; }
.pergola-category .detail-options-list article { min-height: 120px; padding: 24px 0; grid-template-columns: 32px minmax(0, .8fr) minmax(0, 1.2fr) 44px; gap: 24px; }
.pergola-category .detail-options-list h3 { font-size: clamp(27px, 2.5vw, 36px); }
.pergola-category .detail-options-list p { font-size: 14px; color: #525951; line-height: 1.75; }
.pergola-category .detail-options-list article > span { font-size: 11px; color: #596055; }
.pergola-category .detail-options-list a:focus-visible { outline: 2px solid #263c2d; outline-offset: 4px; }
.pergola-category .decision-fit, .pergola-category .decision-faq { margin-top: 36px; gap: 32px; }
.pergola-category .decision-fit > p, .pergola-category .decision-faq > p { font-size: 10px; line-height: 1.6; color: #596055; }
.pergola-category .decision-fit li { font-size: clamp(23px, 2.15vw, 30px); line-height: 1.3; grid-template-columns: 30px minmax(0, 1fr); }
.pergola-category .decision-fit li span { font-size: 10px; color: #596055; }
.pergola-category .decision-facts { margin-top: 40px; }
.pergola-category .decision-facts article { min-height: 0; padding: 24px; }
.pergola-category .decision-facts h3 { margin: 26px 0 16px; font-size: clamp(25px, 2.1vw, 32px); }
.pergola-category .decision-facts p, .pergola-category .decision-faq details > div { color: #525951; font-size: 14px; line-height: 1.75; }
.pergola-category .decision-faq summary { font-size: clamp(23px, 2vw, 28px); line-height: 1.3; min-height: 72px; gap: 16px; }
@media (max-width: 1100px) {
  .pergola-category .detail-feature-grid, .pergola-category .decision-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 768px) {
  .pergola-category > .detail-intro, .pergola-category > .detail-features,
  .pergola-category > .detail-options, .pergola-category > .decision-guide { padding: 48px 18px; }
  .pergola-category h2 { font-size: clamp(32px, 7.5vw, 44px); line-height: 1.18; }
  .pergola-category .detail-intro-copy, .pergola-category .detail-features-head,
  .pergola-category .decision-head, .pergola-category .detail-inline-cta,
  .pergola-category .decision-fit, .pergola-category .decision-faq { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .pergola-category .detail-inline-cta > a { grid-column: 1; }
  .pergola-category .detail-media { min-height: 320px; }
  .pergola-category .detail-feature-grid, .pergola-category .decision-facts { grid-template-columns: minmax(0, 1fr); }
  .pergola-category .detail-options-list article { grid-template-columns: 26px minmax(0, 1fr) 44px; gap: 12px; }
  .pergola-category .detail-options-list h3 { font-size: 28px; }
  .pergola-category .detail-options-list p { grid-column: 2 / -1; grid-row: 2; }
  .pergola-category .detail-options-list a { grid-column: 3; grid-row: 1; }
  .pergola-category .decision-faq > p { grid-row: auto; }
  .pergola-category .decision-faq details { grid-column: 1; }
}

/* 1.4.29 — separate practical information cards from the section background. */
.pergola-category .decision-facts {
  gap: 20px;
  border: 0;
  align-items: stretch;
}
.pergola-category .decision-facts article {
  min-width: 0;
  padding: 26px;
  background: #fff;
  border: 1px solid #d2d6cc;
  border-top: 4px solid #68795f;
  box-shadow: 0 4px 14px rgba(32,43,35,.05);
}
.pergola-category .decision-facts article > span {
  display: grid;
  place-items: center;
  align-self: flex-start;
  width: 34px;
  height: 34px;
  background: #e8eee3;
  border-radius: 50%;
  color: #344a36;
  font-size: 11px;
  letter-spacing: .04em;
}
.pergola-category .decision-facts h3 { margin-top: 22px; color: #202b23; }
.pergola-category .decision-facts p { color: #485246; }
@media (max-width: 768px) {
  .pergola-category .decision-facts { gap: 16px; }
  .pergola-category .decision-facts article { padding: 24px; }
}

/* Category revision 1.4.30; no hero overrides. */
.pergola-category .solution-jump-nav{scroll-margin-top:100px}
.pergola-category section[id]{scroll-margin-top:150px}
.pergola-category .revision-head{display:grid;grid-template-columns:1.1fr .9fr;align-items:end;gap:5vw;margin-top:28px;margin-bottom:38px}
.pergola-category .revision-head h2{margin:0}
.pergola-category .revision-head>p{max-width:480px;font-size:16px;line-height:1.75;color:#525951}
.pergola-category .choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px 28px}
.pergola-category .choice-card{display:block;color:var(--ink);border:1px solid #d9d7cd;background:#faf9f6;overflow:hidden;text-decoration:none;transition:border-color .2s}
.pergola-category .choice-card:hover{border-color:#74755c}
.pergola-category .choice-image{position:relative;overflow:hidden;aspect-ratio:16/10}
.pergola-category .choice-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s}
.pergola-category .choice-card:hover img{transform:scale(1.025)}
.pergola-category .choice-image>span{position:absolute;left:20px;top:20px;border:1px solid #ffffff80;border-radius:50%;width:34px;height:34px;display:grid;place-items:center;font-size:11px;color:white;background:#17201766}
.pergola-category .choice-copy{padding:26px 28px 28px}
.pergola-category .choice-mood{font-size:11px!important;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:#6c6e55!important;margin:0 0 14px!important}
.pergola-category .choice-card h3{font:400 clamp(27px,2.4vw,37px)/1.2 var(--serif);letter-spacing:-.03em;margin:0 0 16px}
.pergola-category .choice-copy>p{font-size:15px;line-height:1.75;color:#525951;margin:0}
.pergola-category .choice-link{display:flex;justify-content:space-between;align-items:center;margin-top:24px;padding-top:17px;border-top:1px solid #d9d7cd;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.pergola-category .choice-link b{font-size:23px;font-weight:400}
.pergola-category .visual-note{font-size:11px;color:#6b7066;margin:20px 0 0}
.pergola-category>.revised-intro{background:#eeeae0}
.pergola-category .revision-textlink{display:inline-block;font-size:13px;padding:7px 0;border-bottom:1px solid #6d705c;margin-top:8px}
.pergola-category .revision-process{padding:clamp(52px,6vw,88px) clamp(25px,4.5vw,80px);background:#faf9f6}
.pergola-category .process-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px}
.pergola-category .process-grid article{padding-top:22px;border-top:1px solid #cecec3}
.pergola-category .process-grid article>span{font-size:11px;color:#676c5d}
.pergola-category .process-grid h3{font:400 clamp(24px,2vw,30px)/1.25 var(--serif);margin:24px 0 14px}
.pergola-category .process-grid p{font-size:14px;line-height:1.75;color:#525951}
.pergola-category .decision-faq{padding-top:24px;border-top:1px solid #d0cec4}
.pergola-category a:focus-visible,.pergola-category summary:focus-visible{outline:2px solid #ac6a36;outline-offset:5px}
@media(max-width:1000px){.pergola-category .process-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:768px){.pergola-category .revision-head{grid-template-columns:1fr;gap:18px}
.pergola-category .choice-grid{grid-template-columns:1fr;gap:26px}
.pergola-category .choice-copy{padding:23px}
.pergola-category .choice-image{aspect-ratio:16/10}
.pergola-category .revision-process{padding:48px 18px}
.pergola-category .process-grid{gap:28px 20px}
.pergola-category .process-grid h3{font-size:25px}
.pergola-category section[id]{scroll-margin-top:135px}
}
@media(prefers-reduced-motion:reduce){.pergola-category .choice-image img{transition:none}
}
.pergola-category .revision-head h2,.pergola-category .revision-faq-section h2{font-family:var(--serif);font-weight:400;font-size:clamp(36px,4.4vw,68px);line-height:1.16;letter-spacing:-.035em;margin:0;}
.pergola-category .revision-head h2 em,.pergola-category .revision-faq-section h2 em{font-family:var(--serif);font-weight:400;font-style:italic;color:#73765e;}
.pergola-category .needs-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:36px;}
.pergola-category .needs-grid article{background:#faf9f6;border-top:3px solid #858b76;padding:28px 30px 32px;}
.pergola-category .needs-grid article>span{display:block;font:500 11px/1.5 var(--sans);letter-spacing:.1em;color:#626b58;margin-bottom:23px;}
.pergola-category .needs-grid h3{font:400 clamp(26px,2.3vw,34px)/1.25 var(--serif);letter-spacing:-.025em;margin:0 0 16px;}
.pergola-category .needs-grid article p{font:400 16px/1.75 var(--sans);color:#525951;margin:0;max-width:38ch;}
.pergola-category .revision-faq-section{background:#e0e5da;padding:clamp(52px,6vw,88px) clamp(25px,4.5vw,80px);display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:7vw;align-items:start;}
.pergola-category .revision-faq-section .faq-intro h2{margin-top:26px!important;}
.pergola-category .faq-intro>p{font:400 15px/1.75 var(--sans);color:#525951;margin-top:24px;max-width:32ch;}
.pergola-category .revision-faq-section .decision-faq{display:block;margin:0;padding:0;border:0;}
.pergola-category .revision-faq-section .decision-faq details{display:block;background:#fafbf8;border:1px solid #cbd2c4;margin:0 0 12px;padding:0 24px;}
.pergola-category .revision-faq-section .decision-faq summary{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:23px 0;min-height:0;font:400 clamp(23px,1.8vw,28px)/1.35 var(--serif);letter-spacing:-.015em;list-style:none;cursor:pointer;}
.pergola-category .revision-faq-section summary::-webkit-details-marker{display:none;}
.pergola-category .revision-faq-section summary>span{font:400 24px/1 var(--sans);color:#66765d;flex-shrink:0;transition:transform .2s;}
.pergola-category .revision-faq-section details[open] summary>span{transform:rotate(45deg);}
.pergola-category .revision-faq-section details>div{font:400 15px/1.75 var(--sans);padding:0 0 24px;color:#525951;}
@media(max-width:900px){.pergola-category .needs-grid{gap:16px;}
.pergola-category .needs-grid article{padding:24px;}
.pergola-category .revision-faq-section{grid-template-columns:1fr;gap:28px;}
.pergola-category .faq-intro>p{max-width:none;}
}
@media(max-width:768px){.pergola-category .needs-grid{grid-template-columns:1fr;gap:16px;}
.pergola-category .needs-grid article>span{margin-bottom:15px;}
.pergola-category .needs-grid article p{max-width:none;}
.pergola-category .revision-head h2,.pergola-category .revision-faq-section h2{font-size:36px;}
.pergola-category .revision-faq-section{padding:48px 18px;}
.pergola-category .revision-faq-section .decision-faq details{padding:0 20px;}
}
.pergola-category .detail-closing.about-contact{background:#171e18;color:#f7f3ea;min-height:0;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:48px;padding-top:64px;padding-bottom:64px;border-top:1px solid #171e18;}
.pergola-category .detail-closing.about-contact h2{font:400 clamp(34px,3.3vw,50px)/1.16 var(--serif);letter-spacing:-.03em;color:#f7f3ea;max-width:820px;margin:0;}
.pergola-category .detail-closing.about-contact>div>p{color:#d2c5a5;font:600 11px/1.5 var(--sans);letter-spacing:.14em;margin:0 0 20px;}
.pergola-category .detail-closing.about-contact>div>span{color:#cbd2c5;max-width:660px;margin-top:20px;font:400 15px/1.75 var(--sans);}
.pergola-category .detail-closing.about-contact>.detail-link{align-self:center;justify-self:end;background:#ded0ad;border-color:#ded0ad;color:#20281f;min-height:54px;margin:0;padding:18px 25px;font:600 12px/1.4 var(--sans);letter-spacing:.08em;white-space:nowrap;}
.pergola-category .detail-closing.about-contact>.detail-link:hover{background:#eee1c4;border-color:#eee1c4;color:#20281f;}
.pergola-category .detail-closing.about-contact>.detail-link:focus-visible{outline:2px solid #f7f3ea;outline-offset:5px;}
@media(max-width:1000px){.pergola-category .detail-closing.about-contact{grid-template-columns:minmax(0,1fr);gap:28px;}
.pergola-category .detail-closing.about-contact>.detail-link{justify-self:start;}
}
@media(max-width:768px){.pergola-category .detail-closing.about-contact{padding:44px 18px;}
.pergola-category .detail-closing.about-contact h2{font-size:34px;}
.pergola-category .detail-closing.about-contact>.detail-link{width:100%;white-space:normal;}
}

/* 1.4.31 — Tienenie a zasklenie; scoped category styles. */

.shade-category .solution-jump-nav{scroll-margin-top:100px}
.shade-category section[id]{scroll-margin-top:150px}
.shade-category .revision-head{display:grid;grid-template-columns:1.1fr .9fr;align-items:end;gap:5vw;margin-top:28px;margin-bottom:38px}
.shade-category .revision-head h2{margin:0}
.shade-category .revision-head>p{max-width:480px;font-size:16px;line-height:1.75;color:#525951}
.shade-category .choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px 28px}
.shade-category .choice-card{display:block;color:var(--ink);border:1px solid #d9d7cd;background:#faf9f6;overflow:hidden;text-decoration:none;transition:border-color .2s}
.shade-category .choice-card:hover{border-color:#74755c}
.shade-category .choice-image{position:relative;overflow:hidden;aspect-ratio:16/10}
.shade-category .choice-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s}
.shade-category .choice-card:hover img{transform:scale(1.025)}
.shade-category .choice-image>span{position:absolute;left:20px;top:20px;border:1px solid #ffffff80;border-radius:50%;width:34px;height:34px;display:grid;place-items:center;font-size:11px;color:white;background:#17201766}
.shade-category .choice-copy{padding:26px 28px 28px}
.shade-category .choice-mood{font-size:11px!important;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:#6c6e55!important;margin:0 0 14px!important}
.shade-category .choice-card h3{font:400 clamp(27px,2.4vw,37px)/1.2 var(--serif);letter-spacing:-.03em;margin:0 0 16px}
.shade-category .choice-copy>p{font-size:15px;line-height:1.75;color:#525951;margin:0}
.shade-category .choice-link{display:flex;justify-content:space-between;align-items:center;margin-top:24px;padding-top:17px;border-top:1px solid #d9d7cd;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.shade-category .choice-link b{font-size:23px;font-weight:400}
.shade-category .visual-note{font-size:11px;color:#6b7066;margin:20px 0 0}
.shade-category>.revised-intro{background:#eeeae0}
.shade-category .revision-textlink{display:inline-block;font-size:13px;padding:7px 0;border-bottom:1px solid #6d705c;margin-top:8px}
.shade-category .revision-process{padding:clamp(52px,6vw,88px) clamp(25px,4.5vw,80px);background:#faf9f6}
.shade-category .process-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px}
.shade-category .process-grid article{padding-top:22px;border-top:1px solid #cecec3}
.shade-category .process-grid article>span{font-size:11px;color:#676c5d}
.shade-category .process-grid h3{font:400 clamp(24px,2vw,30px)/1.25 var(--serif);margin:24px 0 14px}
.shade-category .process-grid p{font-size:14px;line-height:1.75;color:#525951}
.shade-category .decision-faq{padding-top:24px;border-top:1px solid #d0cec4}
.shade-category a:focus-visible,.shade-category summary:focus-visible{outline:2px solid #ac6a36;outline-offset:5px}
@media(max-width:1000px){.shade-category .process-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:768px){.shade-category .revision-head{grid-template-columns:1fr;gap:18px}
.shade-category .choice-grid{grid-template-columns:1fr;gap:26px}
.shade-category .choice-copy{padding:23px}
.shade-category .choice-image{aspect-ratio:16/10}
.shade-category .revision-process{padding:48px 18px}
.shade-category .process-grid{gap:28px 20px}
.shade-category .process-grid h3{font-size:25px}
.shade-category section[id]{scroll-margin-top:135px}
}
@media(prefers-reduced-motion:reduce){.shade-category .choice-image img{transition:none}
}
.shade-category .revision-head h2,.shade-category .revision-faq-section h2{font-family:var(--serif);font-weight:400;font-size:clamp(36px,4.4vw,68px);line-height:1.16;letter-spacing:-.035em;margin:0;}
.shade-category .revision-head h2 em,.shade-category .revision-faq-section h2 em{font-family:var(--serif);font-weight:400;font-style:italic;color:#73765e;}
.shade-category .needs-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:36px;}
.shade-category .needs-grid article{background:#faf9f6;border-top:3px solid #858b76;padding:28px 30px 32px;}
.shade-category .needs-grid article>span{display:block;font:500 11px/1.5 var(--sans);letter-spacing:.1em;color:#626b58;margin-bottom:23px;}
.shade-category .needs-grid h3{font:400 clamp(26px,2.3vw,34px)/1.25 var(--serif);letter-spacing:-.025em;margin:0 0 16px;}
.shade-category .needs-grid article p{font:400 16px/1.75 var(--sans);color:#525951;margin:0;max-width:38ch;}
.shade-category .revision-faq-section{background:#e0e5da;padding:clamp(52px,6vw,88px) clamp(25px,4.5vw,80px);display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:7vw;align-items:start;}
.shade-category .revision-faq-section .faq-intro h2{margin-top:26px!important;}
.shade-category .faq-intro>p{font:400 15px/1.75 var(--sans);color:#525951;margin-top:24px;max-width:32ch;}
.shade-category .revision-faq-section .decision-faq{display:block;margin:0;padding:0;border:0;}
.shade-category .revision-faq-section .decision-faq details{display:block;background:#fafbf8;border:1px solid #cbd2c4;margin:0 0 12px;padding:0 24px;}
.shade-category .revision-faq-section .decision-faq summary{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:23px 0;min-height:0;font:400 clamp(23px,1.8vw,28px)/1.35 var(--serif);letter-spacing:-.015em;list-style:none;cursor:pointer;}
.shade-category .revision-faq-section summary::-webkit-details-marker{display:none;}
.shade-category .revision-faq-section summary>span{font:400 24px/1 var(--sans);color:#66765d;flex-shrink:0;transition:transform .2s;}
.shade-category .revision-faq-section details[open] summary>span{transform:rotate(45deg);}
.shade-category .revision-faq-section details>div{font:400 15px/1.75 var(--sans);padding:0 0 24px;color:#525951;}
@media(max-width:900px){.shade-category .needs-grid{gap:16px;}
.shade-category .needs-grid article{padding:24px;}
.shade-category .revision-faq-section{grid-template-columns:1fr;gap:28px;}
.shade-category .faq-intro>p{max-width:none;}
}
@media(max-width:768px){.shade-category .needs-grid{grid-template-columns:1fr;gap:16px;}
.shade-category .needs-grid article>span{margin-bottom:15px;}
.shade-category .needs-grid article p{max-width:none;}
.shade-category .revision-head h2,.shade-category .revision-faq-section h2{font-size:36px;}
.shade-category .revision-faq-section{padding:48px 18px;}
.shade-category .revision-faq-section .decision-faq details{padding:0 20px;}
}
.shade-category .detail-closing.about-contact{background:#171e18;color:#f7f3ea;min-height:0;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:48px;padding-top:64px;padding-bottom:64px;border-top:1px solid #171e18;}
.shade-category .detail-closing.about-contact h2{font:400 clamp(34px,3.3vw,50px)/1.16 var(--serif);letter-spacing:-.03em;color:#f7f3ea;max-width:820px;margin:0;}
.shade-category .detail-closing.about-contact>div>p{color:#d2c5a5;font:600 11px/1.5 var(--sans);letter-spacing:.14em;margin:0 0 20px;}
.shade-category .detail-closing.about-contact>div>span{color:#cbd2c5;max-width:660px;margin-top:20px;font:400 15px/1.75 var(--sans);}
.shade-category .detail-closing.about-contact>.detail-link{align-self:center;justify-self:end;background:#ded0ad;border-color:#ded0ad;color:#20281f;min-height:54px;margin:0;padding:18px 25px;font:600 12px/1.4 var(--sans);letter-spacing:.08em;white-space:nowrap;}
.shade-category .detail-closing.about-contact>.detail-link:hover{background:#eee1c4;border-color:#eee1c4;color:#20281f;}
.shade-category .detail-closing.about-contact>.detail-link:focus-visible{outline:2px solid #f7f3ea;outline-offset:5px;}
@media(max-width:1000px){.shade-category .detail-closing.about-contact{grid-template-columns:minmax(0,1fr);gap:28px;}
.shade-category .detail-closing.about-contact>.detail-link{justify-self:start;}
}
@media(max-width:768px){.shade-category .detail-closing.about-contact{padding:44px 18px;}
.shade-category .detail-closing.about-contact h2{font-size:34px;}
.shade-category .detail-closing.about-contact>.detail-link{width:100%;white-space:normal;}
}

.shade-category .shade-pair{display:grid;grid-template-columns:1fr 1fr;background:#20291f;color:#f6f2e8;}
.shade-pair-photo{min-height:570px;overflow:hidden;}.shade-pair-photo img{width:100%;height:100%;object-fit:cover;display:block;}
.shade-pair-copy{padding:64px clamp(26px,4vw,70px);align-self:center;}.shade-eyebrow{font:600 11px/1.5 var(--sans);letter-spacing:.13em;color:#c2c7af;margin:0 0 30px;}
.shade-category .shade-pair h2{font:400 clamp(34px,3.3vw,52px)/1.16 var(--serif);letter-spacing:-.03em;margin:0 0 28px;color:#f6f2e8;}.shade-category .shade-pair h2 em{color:#c4c9ae;}
.shade-pair-copy>p:not(.shade-eyebrow){font:400 16px/1.8 var(--sans);color:#d8ded2;}.shade-pair-facts{margin:30px 0;display:grid;gap:20px;}.shade-pair-facts>div{border-top:1px solid #ffffff29;padding-top:20px;}.shade-pair-facts span{font:600 10px/1.5 var(--sans);letter-spacing:.1em;color:#c4c9ae;}.shade-pair-facts p{font:400 14px/1.7 var(--sans);margin:8px 0 0;color:#e3e5db;}.shade-pair-copy a{color:#f6f2e8;border-color:#b2b89d;}
.shade-process{grid-template-columns:repeat(3,minmax(0,1fr));}.shade-category section[id]{scroll-margin-top:125px;}.shade-category a:focus-visible,.shade-category summary:focus-visible{outline:2px solid #a56736;outline-offset:5px;}
@media(max-width:1000px){.shade-category .shade-pair{grid-template-columns:1fr;}.shade-pair-photo{min-height:0;height:460px;}.shade-pair-copy{padding:48px 30px;}}
@media(max-width:768px){.shade-process{grid-template-columns:1fr;gap:22px;}.shade-pair-photo{height:310px;}.shade-pair-copy{padding:40px 18px;}.shade-category .shade-pair h2{font-size:36px;}}

/* TERANEA 1.4.32 — Terasy a WPC/HPC */
.deck-category{--deck-pad:clamp(22px,4.5vw,80px);--deck-section:clamp(48px,6vw,86px);background:#faf9f6;color:#20271f;}
.deck-category *{box-sizing:border-box;}.deck-category section[id]{scroll-margin-top:120px;}.deck-category h2{font:400 clamp(34px,4.25vw,62px)/1.13 var(--serif);letter-spacing:-.035em;margin:0;}.deck-category h2 em{font-weight:400;color:#72765e;}.deck-category h3{font:400 clamp(24px,2.3vw,32px)/1.22 var(--serif);letter-spacing:-.025em;margin:0 0 14px;}.deck-category p{font:400 16px/1.8 var(--sans);margin:0 0 18px;}.deck-category p:last-child{margin-bottom:0;}.deck-category .detail-label{display:flex;align-items:center;gap:20px;margin:0 0 32px;color:#616a59;}.deck-category .detail-label p,.deck-category .detail-label span{font:500 10px/1.5 var(--sans);letter-spacing:.12em;text-transform:uppercase;margin:0;}.deck-heading{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(28px,6vw,100px);align-items:center;margin-bottom:40px;}.deck-heading>p,.deck-heading>div{max-width:530px;color:#535b50;}.deck-intro{padding:var(--deck-section) var(--deck-pad);}.deck-intro.compact .deck-heading{margin-bottom:24px;}.deck-wide{margin:0;}.deck-wide img{display:block;width:100%;height:auto;aspect-ratio:2/1;object-fit:cover;}.deck-wide figcaption{display:flex;justify-content:space-between;gap:18px;padding-top:15px;font:500 10px/1.5 var(--sans);letter-spacing:.07em;color:#67705e;}.deck-wide figcaption span:last-child{font-weight:400;letter-spacing:0;}
.deck-product{display:grid;grid-template-columns:1.05fr 1fr;background:#222b22;color:#f7f3ea;}.deck-product-image{min-height:540px;}.deck-product-image img{display:block;width:100%;height:100%;object-fit:cover;}.deck-product-copy{padding:clamp(42px,5vw,78px) var(--deck-pad);align-self:center;}.deck-category .deck-eyebrow{font:600 10px/1.5 var(--sans);letter-spacing:.13em;margin:0 0 26px;}.deck-product-copy .deck-eyebrow{color:#c6caae;}.deck-category .deck-product h2{font-size:clamp(34px,3.35vw,49px);margin-bottom:26px;}.deck-category .deck-product h2 em{color:#c6caae;}.deck-product-copy>p:not(.deck-eyebrow){color:#d5dbcf;font-size:15px;}.deck-button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;padding:19px 24px;font:600 11px/1.4 var(--sans);letter-spacing:.06em;text-transform:uppercase;border:1px solid #20271f;text-decoration:none;transition:background .2s;}.deck-button.light{background:#dfd2b3;color:#222b22;border-color:#dfd2b3;}.deck-button.light:hover{background:#f0e4cb;border-color:#f0e4cb;}.deck-button span{font:400 23px/1 var(--sans);}.deck-product .deck-button{margin-top:12px;}
.deck-composition,.deck-use{padding:var(--deck-section) var(--deck-pad);background:#eeeae0;}.deck-three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px;}.deck-three article{padding-top:25px;border-top:1px solid #bbbeb0;}.deck-three article>span{display:block;font:500 10px/1.5 var(--sans);letter-spacing:.1em;color:#626c59;margin-bottom:26px;}.deck-three p{font-size:15px;color:#535b50;}.deck-evening{display:grid;grid-template-columns:1.25fr 1fr;background:#faf9f6;}.deck-evening>div:first-child{min-height:470px;}.deck-evening img{width:100%;height:100%;object-fit:cover;display:block;}.deck-evening-copy{padding:50px var(--deck-pad);align-self:center;}.deck-category .deck-evening h2{font-size:clamp(36px,3.6vw,54px);margin-bottom:26px;}.deck-evening-copy>p{color:#535b50;}.deck-textlink,.deck-back{display:inline-block;font:500 13px/1.6 var(--sans);padding-bottom:7px;border-bottom:1px solid #888c75;}.deck-back{font-size:12px;color:#626c59;}
.deck-faq{padding:var(--deck-section) var(--deck-pad);background:#e0e5da;display:grid;grid-template-columns:.85fr 1.15fr;gap:7vw;align-items:start;}.deck-category .deck-faq h2{font-size:clamp(34px,3.7vw,54px);margin-bottom:24px;}.deck-faq>div>p{color:#535b50;font-size:15px;max-width:32ch;}.deck-accordions details{background:#fafbf8;border:1px solid #cbd2c4;padding:0 24px;margin-bottom:12px;}.deck-accordions summary{display:flex;align-items:center;justify-content:space-between;gap:25px;cursor:pointer;list-style:none;padding:22px 0;font:400 clamp(22px,1.9vw,27px)/1.3 var(--serif);}.deck-accordions summary::-webkit-details-marker{display:none;}.deck-accordions summary span{font:400 23px/1 var(--sans);color:#66765d;flex-shrink:0;}.deck-accordions details[open] summary span{transform:rotate(45deg);}.deck-accordions details p{font-size:15px;color:#535b50;margin:0;padding:0 0 24px;}
.deck-closing{background:#171e18;color:#f7f3ea;padding:62px var(--deck-pad);display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:55px;}.deck-category .deck-closing h2{font-size:clamp(34px,3.3vw,48px);max-width:800px;margin-bottom:22px;}.deck-closing .deck-eyebrow{color:#cfc2a3;}.deck-closing>div>p:last-child{font-size:15px;color:#cbd2c5;max-width:650px;}.deck-closing .deck-button{white-space:nowrap;}
.deck-material{display:grid;grid-template-columns:1.1fr 1fr;background:#ede9de;}.deck-material-photo{position:relative;min-height:630px;}.deck-material-photo img{width:100%;height:100%;object-fit:cover;display:block;}.deck-material-photo>span{position:absolute;bottom:18px;left:24px;background:#f7f3eae8;color:#3e4739;padding:9px 13px;font:500 9px/1.5 var(--sans);letter-spacing:.07em;}.deck-material-copy{padding:55px var(--deck-pad);align-self:center;}.deck-category .deck-material h2{font-size:clamp(34px,3.2vw,48px);margin-bottom:24px;}.deck-material-copy>p{color:#535b50;font-size:15px;}.deck-tones{display:grid;gap:23px;margin:30px 0;}.deck-tones>div{display:flex;gap:20px;align-items:center;}.deck-tones i{flex:0 0 55px;width:55px;height:55px;border-radius:50%;border:1px solid #0002;}.tone-warm{background:#ac8562;}.tone-grey{background:#96958c;}.tone-dark{background:#514638;}.deck-category .deck-tones h3{font:500 14px/1.4 var(--sans);margin-bottom:5px;letter-spacing:0;}.deck-tones p{font-size:13px;margin:0;color:#62695c;}.deck-category p.deck-note{font-size:11px;line-height:1.7;color:#6a7161;}.deck-detail .deck-use{background:#faf9f6;}
.deck-foundation{display:grid;grid-template-columns:1fr 1fr;gap:7vw;padding:var(--deck-section) var(--deck-pad);background:#293328;color:#f5f1e6;}.deck-category .deck-foundation h2{font-size:clamp(34px,3.5vw,52px);margin-bottom:26px;}.deck-category .deck-foundation h2 em{color:#c3c9ac;}.deck-foundation .deck-eyebrow{color:#c3c9ac;}.deck-foundation p{font-size:15px;color:#d1d8c9;}.deck-foundation ol{list-style:none;padding:0;margin:0;}.deck-foundation li{display:flex;gap:23px;border-top:1px solid #ffffff30;padding:25px 0;}.deck-foundation li>span{font:500 11px/1.6 var(--sans);color:#c3c9ac;}.deck-category .deck-foundation h3{font-size:28px;}.deck-foundation li:last-child{padding-bottom:0;}
.deck-category a:focus-visible,.deck-category summary:focus-visible{outline:2px solid #a56736;outline-offset:5px;}
@media(max-width:1000px){.deck-product,.deck-evening,.deck-material{grid-template-columns:1fr 1fr;}.deck-heading{gap:30px;}.deck-product-copy,.deck-evening-copy,.deck-material-copy{padding:40px 28px;}.deck-closing{grid-template-columns:1fr;gap:28px;}.deck-closing .deck-button{justify-self:start;}.deck-faq{grid-template-columns:1fr;gap:28px;}.deck-faq>div>p{max-width:none;}.deck-material-photo{min-height:550px;}.deck-three{gap:24px;}}
@media(max-width:768px){.deck-heading,.deck-product,.deck-evening,.deck-material,.deck-foundation{grid-template-columns:1fr;}.deck-heading{align-items:start;gap:24px;margin-bottom:28px;}.deck-category h2{font-size:38px;}.deck-wide img{aspect-ratio:4/3;}.deck-wide figcaption{font-size:9px;}.deck-product-image,.deck-evening>div:first-child,.deck-material-photo{min-height:0;height:330px;}.deck-product-copy,.deck-evening-copy,.deck-material-copy{padding:40px var(--deck-pad);}.deck-three{grid-template-columns:1fr;gap:28px;}.deck-three article>span{margin-bottom:18px;}.deck-category h3{font-size:28px;}.deck-foundation{gap:32px;}.deck-accordions details{padding:0 20px;}.deck-accordions summary{font-size:23px;}.deck-closing{padding-top:46px;padding-bottom:46px;}.deck-closing .deck-button{width:100%;white-space:normal;}.deck-material-photo>span{left:16px;font-size:8px;}}
@media(prefers-reduced-motion:reduce){.deck-button{transition:none;}}

/* TERANEA 1.4.33 — Nábytok, kuchyne a ohniská */
.outdoor-page .out-row{display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(30px,5vw,80px);padding:clamp(42px,5vw,76px) var(--deck-pad);align-items:center;background:#faf9f6;}
.outdoor-page .out-copy{padding:14px 0;min-width:0;}.outdoor-page .out-copy h2{font-size:clamp(34px,3.7vw,54px);line-height:1.14;margin-bottom:28px;}.outdoor-page .out-copy>p:not(.deck-eyebrow){color:#56604f;font-size:16px;max-width:520px;}.outdoor-page figure{margin:0;min-width:0;}.outdoor-page figure img{display:block;width:100%;height:clamp(380px,39vw,590px);object-fit:cover;}.outdoor-page figcaption{font:400 10px/1.5 var(--sans);color:#737b6c;margin-top:10px;}.outdoor-page .out-shop{display:inline-flex;align-items:center;gap:20px;border-bottom:1px solid #8e957f;font:500 12px/1.6 var(--sans);margin-top:14px;padding-bottom:8px;text-decoration:none;}.outdoor-page .out-shop:hover{color:#7a5833;}.outdoor-page .out-shop span{font-size:20px;}.outdoor-page .out-dark{grid-template-columns:1fr 1.15fr;background:#243025;color:#f7f3ea;}.outdoor-page .out-dark h2 em,.outdoor-page .out-dark .deck-eyebrow{color:#c8ccb2;}.outdoor-page .out-dark .out-copy>p:not(.deck-eyebrow){color:#d4dacd;}.outdoor-page .out-dark figcaption{color:#b7c1af;}.outdoor-page .out-dark .out-shop:hover{color:#e0ceaa;}.outdoor-page .out-fire{background:#eeeae0;}.outdoor-page .out-cortena{display:grid;grid-template-columns:1fr 1.1fr;gap:6vw;align-items:center;padding:clamp(46px,6vw,86px) var(--deck-pad);background:#dfe5d8;border-top:1px solid #ccd3c2;}.outdoor-page .out-cortena h2{font-size:clamp(34px,3.8vw,55px);}.outdoor-page .out-cortena>div>p:not(.deck-eyebrow){color:#505b48;font-size:15px;}.outdoor-page .out-cortena .deck-button{margin-top:12px;}.outdoor-page .out-cortena .deck-button:hover{background:#243025;color:#fff;}.outdoor-page a:focus-visible{outline:2px solid #ad713e;outline-offset:6px;}
@media(max-width:1000px){.outdoor-page .out-row{gap:32px;}.outdoor-page figure img{height:450px;}.outdoor-page .out-copy h2{font-size:38px;}}
@media(max-width:768px){.outdoor-page .out-row,.outdoor-page .out-dark,.outdoor-page .out-cortena{grid-template-columns:1fr;gap:24px;}.outdoor-page figure img{height:auto;aspect-ratio:4/3;}.outdoor-page .out-copy h2{font-size:36px;}.outdoor-page .out-reverse figure{grid-row:1;}.outdoor-page .out-copy{padding:0;}.outdoor-page .out-cortena h2{font-size:38px;}.outdoor-page .out-cortena{gap:26px;}.outdoor-page .deck-closing h2{font-size:36px;}}

/* Approved pergola detail pages: v1.4.34. Hero dimensions unchanged. */
.pergola-detail-proposal{--pd-space:clamp(48px,6vw,86px);}.pergola-detail-proposal .pd-intro{padding:var(--pd-space) var(--deck-pad);}.pergola-detail-proposal .pd-photo{margin:0;}.pergola-detail-proposal .pd-photo img{display:block;width:100%;height:auto;aspect-ratio:2.05/1;object-fit:cover;}.pergola-detail-proposal .pd-photo figcaption{font:400 10px/1.6 var(--sans);color:#687260;margin-top:12px;}.pergola-detail-proposal .pd-day,.pergola-detail-proposal .pd-parking{padding:var(--pd-space) var(--deck-pad);background:#eeeae0;}.pergola-detail-proposal .pd-three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,4vw,60px);}.pergola-detail-proposal .pd-three article{border-top:1px solid #b5bdac;padding-top:24px;}.pergola-detail-proposal .pd-three article>span{display:block;font:500 11px/1.5 var(--sans);color:#6f7a63;margin-bottom:28px;}.pergola-detail-proposal .pd-three h3{font-size:clamp(25px,2.2vw,32px);}.pergola-detail-proposal .pd-three p{font-size:15px;color:#56604e;}.pergola-detail-proposal .pd-dark{background:#253024;color:#f7f3ea;padding:var(--pd-space) var(--deck-pad);}.pergola-detail-proposal .pd-dark h2 em,.pergola-detail-proposal .pd-dark .deck-eyebrow,.pergola-detail-proposal .pd-dark .pd-three article>span{color:#c6cbb0;}.pergola-detail-proposal .pd-dark p,.pergola-detail-proposal .pd-dark .deck-heading>p{color:#d2d9c9;}.pergola-detail-proposal .pd-dark .pd-three article{border-color:#ffffff30;}.pergola-detail-proposal .pd-split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(36px,7vw,110px);}.pergola-detail-proposal .pd-split h2{font-size:clamp(34px,3.8vw,55px);margin-bottom:26px;}.pergola-detail-proposal .pd-split>div>p:not(.deck-eyebrow){font-size:15px;max-width:500px;}.pergola-detail-proposal .pd-lines article{padding:23px 0;border-top:1px solid #ffffff30;}.pergola-detail-proposal .pd-lines article:first-child{padding-top:0;border:0;}.pergola-detail-proposal .pd-lines article:last-child{padding-bottom:0;}.pergola-detail-proposal .pd-lines h3{font-size:29px;}.pergola-detail-proposal .pd-lines p{font-size:15px;}.pergola-detail-proposal .pd-light-link{display:inline-block;font:500 12px/1.6 var(--sans);border-bottom:1px solid #a0ad8f;padding:8px 0;margin-top:22px;color:#e6d7b9;}.pergola-detail-proposal .pd-materials{padding:var(--pd-space) var(--deck-pad);background:#eeeae0;}.pergola-detail-proposal .pd-material-list{display:grid;gap:12px;}.pergola-detail-proposal .pd-material-list article{background:#fbfaf7;border:1px solid #d6d8cc;display:grid;grid-template-columns:42px 1fr 1fr;gap:24px;padding:28px 32px;align-items:start;}.pergola-detail-proposal .pd-material-list article>span{font:500 11px/1.5 var(--sans);color:#6f7b62;padding-top:5px;}.pergola-detail-proposal .pd-material-list h3{font-size:30px;margin-bottom:9px;}.pergola-detail-proposal .pd-material-list strong{font:500 12px/1.6 var(--sans);color:#6f7b62;}.pergola-detail-proposal .pd-material-list p{font-size:15px;color:#56604e;}.pergola-detail-proposal .pd-season{padding:var(--pd-space) var(--deck-pad);background:#ece9df;}.pergola-detail-proposal .pd-season-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;}.pergola-detail-proposal .pd-season-grid article{padding:clamp(28px,3vw,48px);background:#fcfbf8;border:1px solid #d7d6c9;}.pergola-detail-proposal .pd-season-grid article:nth-child(2){background:#dce3d3;border-color:#b9c6ac;}.pergola-detail-proposal .pd-season-grid article>span{display:block;font:600 10px/1.6 var(--sans);letter-spacing:.1em;color:#617056;margin-bottom:26px;}.pergola-detail-proposal .pd-season-grid h3{font-size:34px;}.pergola-detail-proposal .pd-season-grid p{font-size:15px;color:#535d4b;}.pergola-detail-proposal .pd-season-grid ul{padding-left:20px;margin:26px 0;font:400 14px/1.75 var(--sans);color:#535d4b;}.pergola-detail-proposal .pd-season-grid li{margin:12px 0;padding-left:4px;}.pergola-detail-proposal .pd-season-grid .pd-small{padding-top:18px;border-top:1px solid #b9c3ac;font-size:12px;}.pergola-detail-proposal .pd-related{padding:42px var(--deck-pad);background:#f0eee6;}.pergola-detail-proposal .pd-related>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;}.pergola-detail-proposal .pd-related>div>a{display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid #b5beab;padding:12px 0;font:400 24px/1.3 var(--serif);}.pergola-detail-proposal .pd-related .pd-back{display:inline-block;margin-top:26px;font:500 12px/1.5 var(--sans);color:#627054;}.pergola-detail-proposal a:focus-visible{outline:2px solid #a76836;outline-offset:6px;}
@media(max-width:1000px){.pergola-detail-proposal .pd-split{gap:35px;}.pergola-detail-proposal .pd-material-list article{grid-template-columns:25px 1fr 1fr;padding:24px;}.pergola-detail-proposal .pd-three{gap:24px;}.pergola-detail-proposal .pd-season-grid{gap:18px;}.pergola-detail-proposal .pd-season-grid h3{font-size:30px;}}
@media(max-width:768px){.pergola-detail-proposal .pd-photo img{aspect-ratio:4/3;}.pergola-detail-proposal .pd-three,.pergola-detail-proposal .pd-split,.pergola-detail-proposal .pd-season-grid,.pergola-detail-proposal .pd-related>div{grid-template-columns:1fr;}.pergola-detail-proposal .pd-three{gap:30px;}.pergola-detail-proposal .pd-three article>span{margin-bottom:16px;}.pergola-detail-proposal .pd-split{gap:34px;}.pergola-detail-proposal .pd-material-list article{grid-template-columns:24px 1fr;gap:10px 14px;padding:23px;}.pergola-detail-proposal .pd-material-list article>p{grid-column:2;}.pergola-detail-proposal .pd-material-list h3{font-size:27px;}.pergola-detail-proposal .pd-related>div{gap:12px;}.pergola-detail-proposal .pd-related>div>a{font-size:25px;}.pergola-detail-proposal .pd-split h2{font-size:38px;}.pergola-detail-proposal .pd-season-grid article{padding:27px;}}

.pergola-detail-proposal .pd-photo--supplied img{aspect-ratio:auto;height:auto;object-fit:contain;}

/* Shading details v1.4.36. */
.shading-detail-proposal .sd-places{padding:var(--pd-space) var(--deck-pad);background:#eeece3}.shading-detail-proposal .sd-pair{display:grid;grid-template-columns:1fr 1fr;gap:28px}.shading-detail-proposal .sd-pair article{padding:clamp(28px,4vw,56px);background:#fcfbf8;border-top:3px solid #b6a17f}.shading-detail-proposal .sd-pair article:nth-child(2){background:#dce3d3;border-color:#617056}.shading-detail-proposal .sd-pair span{font:600 10px/1.5 var(--sans);letter-spacing:.14em;color:#617056}.shading-detail-proposal .sd-pair h3{font:400 clamp(28px,3vw,40px)/1.15 var(--serif);margin:24px 0 18px}.shading-detail-proposal .sd-pair p{font:400 16px/1.75 var(--sans);color:#535d4b}.shading-detail-proposal .deck-faq h2{font-size:clamp(32px,3.4vw,50px)}@media(max-width:768px){.shading-detail-proposal .sd-pair{grid-template-columns:1fr;gap:18px}}
/* v1.4.37 — Exteriér na kľúč: brand corten and separated closing sections. */
.detail-page--turnkey{--detail-accent:var(--corten);}
.detail-page--turnkey .detail-options{background:var(--paper);}
.detail-page--turnkey .detail-options-list article>span{color:var(--corten);}
.detail-page--turnkey .decision-guide{background:var(--cream);padding-top:clamp(52px,6vw,88px);padding-bottom:clamp(52px,6vw,88px);}
.detail-page--turnkey .decision-head h2{font-size:clamp(36px,4.2vw,62px);line-height:1.13;letter-spacing:-.035em;}
.detail-page--turnkey .decision-head h2 em{color:var(--corten);}
.detail-page--turnkey .decision-facts article{border-top:2px solid var(--corten);padding-top:22px;}
.detail-page--turnkey .decision-faq details{background:#fffdf8;border-bottom:1px solid #d8d1c5;}
.detail-page--turnkey .decision-faq summary>span{color:var(--corten);}
.detail-page--turnkey .detail-closing{min-height:0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:clamp(28px,4vw,64px);padding:clamp(56px,6vw,88px) clamp(22px,4.5vw,74px);background:var(--corten);color:#fff;}
.detail-page--turnkey .detail-closing>div{min-width:0;}
.detail-page--turnkey .detail-closing>div>p{color:#fff;font:600 11px/1.5 var(--sans);letter-spacing:.13em;margin:0 0 22px;}
.detail-page--turnkey .detail-closing h2{color:var(--cream);font:400 clamp(36px,4.2vw,62px)/1.13 var(--serif);letter-spacing:-.035em;max-width:820px;overflow-wrap:break-word;}
.detail-page--turnkey .detail-closing>div>span{color:#fff;font:400 16px/1.75 var(--sans);max-width:640px;margin-top:24px;}
.detail-page--turnkey .detail-closing>.detail-link{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;justify-self:start;align-self:center;margin:0;min-height:54px;padding:18px 24px;background:var(--cream);border:1px solid var(--cream);color:var(--ink);font:600 12px/1.5 var(--sans);text-decoration:none;}
.detail-page--turnkey .detail-closing>.detail-link:hover{background:#fff;border-color:#fff;}
.detail-page--turnkey .detail-closing>.detail-link:focus-visible{outline:2px solid #fff;outline-offset:5px;}
.detail-page--turnkey .detail-next.about-solutions{background:#faf9f6;padding-top:48px;padding-bottom:64px;}
.detail-page--turnkey .detail-next.about-solutions a:hover{color:var(--corten);}
@media(max-width:1000px){.detail-page--turnkey .detail-closing{grid-template-columns:minmax(0,1fr);gap:30px;}}
@media(max-width:768px){.detail-page--turnkey .detail-closing{padding:48px 18px;}.detail-page--turnkey .detail-closing h2{font-size:clamp(34px,7.5vw,44px);}.detail-page--turnkey .detail-closing>.detail-link{width:100%;white-space:normal;}.detail-page--turnkey .detail-next.about-solutions{padding:36px 18px 48px;}}

/* v1.4.38 — Brand corten: category invitations and restrained product accents. */
.pergola-category .detail-closing.about-contact,
.detail-page--brand .detail-closing.about-contact,
.detail-page--terrace .deck-category:not(.deck-detail) .deck-closing{
 background:var(--corten);border-color:var(--corten);color:#fff;
}
.pergola-category .detail-closing.about-contact h2,
.detail-page--brand .detail-closing.about-contact h2,
.detail-page--terrace .deck-category:not(.deck-detail) .deck-closing h2{color:var(--cream);}
.pergola-category .detail-closing.about-contact>div>p,
.pergola-category .detail-closing.about-contact>div>span,
.detail-page--brand .detail-closing.about-contact>div>p,
.detail-page--brand .detail-closing.about-contact>div>span,
.detail-page--terrace .deck-category:not(.deck-detail) .deck-closing p{color:#fff;}
.pergola-category .detail-closing.about-contact>.detail-link,
.detail-page--brand .detail-closing.about-contact>.detail-link,
.detail-page--terrace .deck-category:not(.deck-detail) .deck-closing .deck-button{
 background:var(--cream);border-color:var(--cream);color:var(--ink);
}
.pergola-category .detail-closing.about-contact>.detail-link:hover,
.detail-page--brand .detail-closing.about-contact>.detail-link:hover,
.detail-page--terrace .deck-category:not(.deck-detail) .deck-closing .deck-button:hover{background:#fff;border-color:#fff;color:var(--ink);}
.pergola-category .detail-closing.about-contact>.detail-link:focus-visible,
.detail-page--brand .detail-closing.about-contact>.detail-link:focus-visible,
.detail-page--terrace .deck-category:not(.deck-detail) .deck-closing .deck-button:focus-visible{outline:2px solid #fff;outline-offset:5px;}
/* Cortena is the outdoor page's single broad corten panel. */
.outdoor-page .out-cortena{background:var(--corten);border-color:var(--corten);color:#fff;}
.outdoor-page .out-cortena h2,.outdoor-page .out-cortena h2 em{color:var(--cream);}
.outdoor-page .out-cortena>div>p:not(.deck-eyebrow),.outdoor-page .out-cortena .deck-eyebrow{color:#fff;}
.outdoor-page .out-cortena .deck-button{background:var(--cream);border-color:var(--cream);color:var(--ink);}
.outdoor-page .out-cortena .deck-button:hover{background:#fff;border-color:#fff;color:var(--ink);}
.outdoor-page .out-cortena a:focus-visible{outline:2px solid #fff;outline-offset:5px;}
/* Light product sections: keep dark sections green and text contrast intact. */
.pergola-detail-proposal .pd-intro h2 em,
.pergola-detail-proposal .pd-day h2 em,
.pergola-detail-proposal .pd-materials h2 em,
.pergola-detail-proposal .pd-season h2 em,
.pergola-detail-proposal .pd-parking h2 em,
.shading-detail-proposal .sd-places h2 em,
.deck-detail .deck-intro h2 em,
.deck-detail .deck-material h2 em{color:var(--corten);}
.pergola-detail-proposal .pd-day .pd-three article>span,
.pergola-detail-proposal .pd-parking .pd-three article>span,
.pergola-detail-proposal .pd-material-list article>span{color:#9f4828;}
.pergola-detail-proposal .deck-accordions summary>span,
.deck-detail .deck-accordions summary>span{color:var(--corten);}
.pergola-detail-proposal .deck-closing .deck-button.light,
.deck-detail .deck-closing .deck-button.light{background:var(--corten);border-color:var(--corten);color:#fff;}
.pergola-detail-proposal .deck-closing .deck-button.light:hover,
.deck-detail .deck-closing .deck-button.light:hover{background:#9f4828;border-color:#9f4828;color:#fff;}
.pergola-detail-proposal .deck-closing .deck-button.light:focus-visible,
.deck-detail .deck-closing .deck-button.light:focus-visible{outline:2px solid var(--cream);outline-offset:5px;}

/* Approved turnkey composition v1.4.39. */
.turnkey-proposal{--tk-pad:clamp(22px,4.5vw,80px);--tk-space:clamp(52px,6vw,92px);color:#20271f;background:#faf9f6;}
.turnkey-proposal *{box-sizing:border-box}.turnkey-proposal section[id]{scroll-margin-top:125px}.turnkey-proposal h2{font:400 clamp(36px,4.4vw,66px)/1.12 var(--serif);letter-spacing:-.035em;margin:0}.turnkey-proposal h2 em{font-weight:400;color:var(--corten)}.turnkey-proposal h3{font:400 29px/1.2 var(--serif);margin:0 0 13px;letter-spacing:-.02em}.turnkey-proposal p{font:400 16px/1.8 var(--sans);margin:0 0 20px;color:#535b50}.turnkey-proposal .tk-eyebrow{font:600 10px/1.6 var(--sans);letter-spacing:.12em;color:#9f4828;margin:0 0 28px}.tk-intro,.tk-scope{display:grid;grid-template-columns:1.1fr 1fr;gap:8vw;padding:var(--tk-space) var(--tk-pad)}.turnkey-proposal .tk-lead{font:400 25px/1.5 var(--serif);color:#20271f;margin-bottom:26px}.tk-intro>div>p:last-child,.tk-scope>div>p:last-child{margin-bottom:0}.tk-whole{display:grid;grid-template-columns:.85fr 1.15fr;background:#243025;color:#f7f3ea}.tk-whole-photo{position:relative;min-height:720px}.tk-whole-photo img{display:block;width:100%;height:100%;position:absolute;inset:0;object-fit:cover}.tk-whole-photo>span{position:absolute;bottom:24px;left:24px;right:24px;padding:12px 16px;background:#172017cf;color:#fff;font:400 12px/1.5 var(--sans)}.tk-whole-copy{padding:var(--tk-space) clamp(28px,4.5vw,70px)}.tk-whole-copy h2{font-size:clamp(36px,3.8vw,56px);margin-bottom:28px}.tk-whole-copy h2 em{color:#d4c5a8}.tk-whole-copy .tk-eyebrow{color:#d4c5a8}.tk-whole-copy p{color:#d9dfd3}.tk-connections{margin-top:32px}.tk-connections article{display:grid;grid-template-columns:28px 1fr;gap:16px;border-top:1px solid #ffffff30;padding:22px 0 0;margin-top:22px}.tk-connections article>span{font:500 11px/1.5 var(--sans);color:#d4c5a8;padding-top:5px}.tk-connections h3{font-size:27px}.tk-connections p{font-size:15px;margin:0}.tk-scope{background:#eeeae0;align-items:center}.tk-scope h2{font-size:clamp(34px,3.7vw,54px)}.tk-scope a{display:inline-flex;gap:30px;border-bottom:1px solid #b85c32;padding:8px 0;color:#9f4828;font:600 12px/1.5 var(--sans)}.tk-process{padding:var(--tk-space) var(--tk-pad);background:#faf9f6}.tk-section-head{display:grid;grid-template-columns:1.5fr .7fr;gap:5vw;align-items:end;margin-bottom:46px}.tk-section-head h2{font-size:clamp(34px,3.8vw,56px)}.tk-section-head>p{margin:0}.tk-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px}.tk-steps article{border-top:2px solid #b85c32;padding-top:25px;display:flex;flex-direction:column}.tk-steps article>span{font:400 40px/1 var(--serif);color:#b85c32;margin-bottom:28px}.tk-steps p{font-size:15px}.tk-steps small{margin-top:auto;padding-top:18px;border-top:1px solid #d9d8ce;font:600 10px/1.5 var(--sans);letter-spacing:.06em;color:#606958}.tk-faq{padding:var(--tk-space) var(--tk-pad);display:grid;grid-template-columns:.85fr 1.15fr;gap:7vw;background:#eeeae0}.tk-faq h2{font-size:clamp(34px,3.5vw,50px);margin-bottom:26px}.tk-faq>div>p{max-width:370px}.tk-faq details{background:#faf9f6;border:1px solid #d7d5ca;padding:0 23px;margin-bottom:12px}.tk-faq summary{display:flex;justify-content:space-between;gap:24px;align-items:center;cursor:pointer;font:500 16px/1.5 var(--sans);padding:22px 0;list-style:none}.tk-faq summary::-webkit-details-marker{display:none}.tk-faq summary>span{font:400 24px/1 var(--sans);color:#b85c32}.tk-faq details[open] summary>span{transform:rotate(45deg)}.tk-faq details>p{font-size:15px;padding-bottom:22px;margin:0}.tk-closing{padding:var(--tk-space) var(--tk-pad);display:grid;grid-template-columns:1fr auto;gap:45px;align-items:center;background:var(--corten);color:#fff}.tk-closing .tk-eyebrow,.tk-closing p{color:#fff}.tk-closing h2{color:#f7f3ea}.tk-closing h2 em{color:inherit}.tk-closing h2+p{margin:26px 0 0;max-width:550px}.tk-button{display:inline-flex;align-items:center;gap:34px;justify-content:space-between;min-height:56px;padding:20px 26px;background:#f7f3ea;color:#20271f;font:600 12px/1.5 var(--sans)}.tk-button:hover{background:#fff}.turnkey-proposal a:focus-visible,.turnkey-proposal summary:focus-visible{outline:2px solid #9f4828;outline-offset:5px}.tk-closing a:focus-visible{outline-color:#fff}
@media(max-width:1000px){.tk-whole{grid-template-columns:.8fr 1fr}.tk-whole-copy{padding:52px 28px}.tk-steps{gap:24px}.tk-closing{grid-template-columns:1fr}.tk-button{justify-self:start}.tk-section-head{grid-template-columns:1fr;gap:24px}}
@media(max-width:768px){.tk-intro,.tk-scope,.tk-whole,.tk-faq,.tk-steps{grid-template-columns:1fr;gap:28px}.tk-whole{gap:0}.tk-whole-photo{min-height:0;aspect-ratio:4/3}.tk-whole-photo img{object-position:50% 65%}.tk-whole-copy{padding:48px 22px}.tk-steps{gap:34px}.tk-steps article>span{margin-bottom:20px}.tk-closing{gap:28px}.tk-button{width:100%;white-space:normal}.turnkey-proposal h2{font-size:38px}.tk-closing h2{font-size:42px}.tk-faq summary{font-size:15px}.tk-faq details{padding:0 18px}}

/* v1.4.40 — Consistent related-page link interaction across all detail pages. */
.detail-page .detail-next a{transition:color .2s ease;}
.detail-page .detail-next a:hover,
.detail-page .detail-next a:focus-visible{color:var(--corten);}
.detail-page .detail-next a:focus-visible{outline:2px solid var(--corten);outline-offset:4px;}
@media(prefers-reduced-motion:reduce){.detail-page .detail-next a{transition:none;}}

/* v1.4.41: one guided pass, then ordinary document scrolling. */
@media (min-width: 1025px) {
  .solutions.is-wheel-ready .solution-card:nth-child(n) { transition: transform .55s cubic-bezier(.22,.61,.36,1), opacity .35s ease; }
}
.solutions.is-free-browse .solution-stack { display: grid; position: relative; top: auto; height: auto; overflow: visible; transform: none; gap: 14px; }
.solutions.is-free-browse .solution-card { position: relative; inset: auto; top: auto; opacity: 1; transform: none; pointer-events: auto; transition: none; }

/* Form controls must shrink within narrow grid columns. */
.contact-form, .inquiry-form, .contact-form label, .inquiry-form label { min-width: 0; }
.contact-form input, .contact-form select, .contact-form textarea,
.inquiry-form input, .inquiry-form select, .inquiry-form textarea { min-width: 0; max-width: 100%; }
.form-error, .inquiry-error { scroll-margin-block: 120px; }

/* Shared FAQ heading, v1.4.46: retain the established typeface and two-line rhythm. */
.deck-category .deck-faq h2.faq-help-title,
.pergola-category .revision-faq-section h2.faq-help-title,
.shade-category .revision-faq-section h2.faq-help-title,
.tk-faq h2.faq-help-title { font-size:clamp(30px,3vw,42px); line-height:1.16; }

/* Fixed-roof materials: separate the carport option from terrace roof choices. */
.pergola-detail-proposal .pd-carport-material { margin-top:40px; }
.pergola-detail-proposal .pd-carport-material article { background:#eee5dc; border-left:3px solid var(--corten,#b55f36); }
.pergola-detail-proposal .pd-carport-copy { min-width:0; }
.pergola-detail-proposal .pd-carport-copy p { margin:0; }
.pergola-detail-proposal .pd-carport-copy a { display:inline-block; margin-top:18px; color:inherit; font:500 14px/1.6 var(--sans); text-underline-offset:5px; }
.pergola-detail-proposal .pd-carport-copy a:hover,
.pergola-detail-proposal .pd-carport-copy a:focus-visible { color:var(--corten,#b55f36); }

@media(max-width:768px){.pergola-detail-proposal .pd-carport-copy{grid-column:2;}}

/* Shading workflow has three steps, not four. */
.shade-category .process-grid.shade-process { grid-template-columns:repeat(3,minmax(0,1fr)); }
@media(max-width:768px){
  .shade-category .process-grid.shade-process { grid-template-columns:minmax(0,1fr); }
}
