/* Local typefaces are embedded by the build; there are no third-party font requests. */
/* FONT_FACES */
:root {
  --paper: #f3f0e8;
  --ink: #171916;
  --accent: #ef5033;
  --accent-dark: #b53722;
  --muted: #65665e;
  --line: #d4d2c9;
  --display: "Syne", Arial, sans-serif;
  --serif: "Instrument Serif", Georgia, serif;
  --gutter: clamp(22px, 4.2vw, 84px);
  --ease: cubic-bezier(0.2, 0.75, 0.25, 1);
}
* {
  box-sizing: border-box;
}
html {
  scroll-behavior: smooth;
  scroll-padding-top: 108px;
}
body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font:
    16px/1.6 Arial,
    Helvetica,
    sans-serif;
  -webkit-font-smoothing: antialiased;
}
::selection {
  background: var(--accent);
  color: var(--ink);
}
a {
  color: inherit;
  text-underline-offset: 5px;
}
button,
input,
select,
textarea {
  font: inherit;
}
button,
a {
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
}
button {
  cursor: pointer;
}
button:disabled {
  cursor: default;
  opacity: 0.5;
}
button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
canvas:focus-visible {
  outline: 3px solid var(--accent);
  outline-offset: 5px;
}
[hidden] {
  display: none !important;
}
img {
  max-width: 100%;
  height: auto;
}
button {
  color: inherit;
}
h1,
h2,
h3,
p {
  margin-top: 0;
}
h1,
h2,
h3 {
  font-family: var(--display);
  font-weight: 600;
}
h2 {
  font-size: clamp(42px, 5.8vw, 90px);
  line-height: 1.04;
  letter-spacing: -0.055em;
  margin-bottom: 0;
}
h2 em,
h3 em {
  font-family: var(--serif);
  font-weight: 400;
  letter-spacing: -0.04em;
}
h2 em {
  font-size: 1.22em;
}
h3 {
  letter-spacing: -0.035em;
}
p {
  margin-bottom: 20px;
}
main {
  isolation: isolate;
}
.tag,
.section-kicker,
.badge {
  font:
    11px/1.5 Arial,
    sans-serif;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.muted {
  color: var(--muted);
}
.skip-link {
  position: fixed;
  top: 12px;
  left: 12px;
  z-index: 150;
  background: var(--ink);
  color: var(--paper);
  padding: 12px;
  transform: translateY(-160%);
}
.skip-link:focus {
  transform: none;
}
#scroll-progress {
  position: fixed;
  z-index: 105;
  left: 0;
  top: 0;
  width: 100%;
  height: 3px;
  background: var(--accent);
  transform: scaleX(0);
  transform-origin: left;
  pointer-events: none;
}
.site-header {
  position: fixed;
  z-index: 100;
  top: 0;
  left: 0;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  padding: 22px var(--gutter);
  background: rgb(243 240 232 / 93%);
  border-bottom: 1px solid rgb(23 25 22 / 12%);
  backdrop-filter: blur(14px);
}
.brand {
  display: flex;
  align-items: center;
  gap: 11px;
  text-decoration: none;
  font: 700 14px/0.95 var(--display);
  letter-spacing: -0.03em;
  flex-shrink: 0;
}
.brand-symbol {
  font: 700 50px/0.7 var(--display);
  letter-spacing: -0.12em;
  position: relative;
  width: 40px;
}
.brand-symbol span {
  font: 20px/1 Arial;
  position: absolute;
  right: -1px;
  top: -1px;
  color: var(--accent-dark);
}
.brand-dot {
  color: var(--accent-dark);
}
nav {
  display: flex;
  gap: 32px;
  align-items: center;
  margin-left: auto;
}
nav a {
  font-size: 13px;
  text-decoration: none;
  position: relative;
}
nav a:not(.contact-link)::after {
  content: "";
  position: absolute;
  bottom: -6px;
  left: 0;
  width: 100%;
  height: 1px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.3s;
}
nav a:hover::after,
nav a[aria-current]::after {
  transform: scaleX(1);
}
.contact-link {
  display: flex;
  gap: 24px;
  border: 1px solid var(--ink);
  border-radius: 40px;
  padding: 10px 18px;
}
.contact-link:hover {
  background: var(--ink);
  color: var(--paper);
}
#motion-toggle {
  display: flex;
  gap: 7px;
  align-items: center;
  border: 0;
  background: transparent;
  padding: 9px 0;
  font-size: 10px;
  max-width: 94px;
  text-align: left;
  line-height: 1.25;
}
#motion-toggle > span:first-child {
  font-size: 18px;
}
.hero {
  position: relative;
  height: 170svh;
  min-height: 1100px;
}
.hero-sticky {
  position: sticky;
  top: 0;
  height: 100svh;
  min-height: 740px;
  max-height: 1200px;
  overflow: hidden;
  background: var(--paper);
}
.hero-grid {
  position: absolute;
  inset: 0 var(--gutter);
  border-inline: 1px solid rgb(23 25 22 / 5%);
  background: linear-gradient(
    90deg,
    transparent calc(50% - 0.5px),
    rgb(23 25 22 / 5%) 50%,
    transparent calc(50% + 0.5px)
  );
  pointer-events: none;
}
.heading {
  position: absolute;
  z-index: 3;
  top: clamp(125px, 16vh, 190px);
  left: var(--gutter);
  pointer-events: none;
}
.heading .tag {
  margin-bottom: 25px;
  display: flex;
  gap: 9px;
  align-items: center;
}
.live-dot {
  display: inline-block;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--accent);
  box-shadow: 0 0 0 4px rgb(239 80 51 / 10%);
  flex-shrink: 0;
}
h1 {
  font-size: clamp(65px, 7.65vw, 122px);
  line-height: 0.88;
  letter-spacing: -0.065em;
  margin: 0;
}
h1 > span:first-child {
  display: inline-block;
}
h1 em {
  font: 400 1.34em/0.84 var(--serif);
  letter-spacing: -0.05em;
  color: var(--accent-dark);
}
.hero-asterisk {
  position: absolute;
  font: normal 0.52em/1 Arial;
  top: 20%;
  right: -85px;
  color: var(--accent);
  transform: rotate(calc(var(--hero-progress, 0) * 100deg));
}
.hero-note {
  position: absolute;
  z-index: 5;
  right: var(--gutter);
  top: clamp(150px, 20vh, 240px);
  max-width: 245px;
  font-size: 13px;
  line-height: 1.7;
}
.hero-note strong {
  font-weight: 400;
}
.text-link {
  display: inline-flex;
  align-items: center;
  gap: 28px;
  text-decoration: none;
  border-bottom: 1px solid;
  padding: 8px 0;
  font-size: 13px;
}
.text-link span {
  font-size: 21px;
}
.hero-edition {
  display: block;
  font-size: 9px;
  letter-spacing: 0.065em;
  text-transform: uppercase;
  margin-top: 20px;
  color: var(--muted);
}
.hero-orbit {
  position: absolute;
  width: 49vw;
  height: 49vw;
  border: 1px solid rgb(23 25 22 / 8%);
  border-radius: 50%;
  left: 23%;
  top: 29%;
  transform: scaleY(0.4) rotate(-17deg);
  pointer-events: none;
}
.scene {
  position: absolute;
  inset: 33% 0 153px;
  z-index: 2;
}
.scene::before {
  content: "SURFACE";
  position: absolute;
  left: 50%;
  top: 30%;
  transform: translateX(-50%);
  font: 800 clamp(100px, 19vw, 350px) / 1 var(--display);
  letter-spacing: -0.075em;
  color: #e3e1d8;
  pointer-events: none;
  z-index: -1;
}
canvas {
  display: block;
  width: 100%;
  height: 100%;
  touch-action: pan-y;
  cursor: grab;
}
canvas:active {
  cursor: grabbing;
}
.scene-status {
  position: absolute;
  left: var(--gutter);
  bottom: 8px;
  font-size: 10px;
  letter-spacing: 0.07em;
}
.view-tools {
  position: absolute;
  right: var(--gutter);
  bottom: 0;
  display: flex;
  gap: 6px;
}
.view-tools button,
.finish button {
  min-height: 38px;
  background: transparent;
  border: 1px solid var(--line);
  padding: 8px 11px;
  font-size: 11px;
  transition:
    background 0.2s,
    color 0.2s;
}
.view-tools button[aria-pressed="true"],
.finish button[aria-pressed="true"] {
  background: var(--ink);
  color: var(--paper);
  border-color: var(--ink);
}
.view-tools button:hover,
.finish button:hover {
  border-color: var(--ink);
}
.config {
  position: absolute;
  z-index: 6;
  bottom: 54px;
  left: var(--gutter);
  right: var(--gutter);
  border-top: 1px solid var(--line);
  padding-top: 13px;
  display: flex;
  align-items: center;
  gap: 42px;
}
.config-label {
  font: 10px/1.2 Arial;
  letter-spacing: 0.08em;
  margin: 0 0 10px;
  text-transform: uppercase;
}
.choice {
  display: flex;
  align-items: center;
  gap: 18px;
}
.choice p {
  font-size: 11px;
  margin: 0;
  min-width: 70px;
}
.swatches {
  display: flex;
  gap: 8px;
}
.swatch {
  border: 3px solid var(--paper);
  outline: 1px solid transparent;
  background: var(--color);
  width: 30px;
  height: 30px;
  border-radius: 50%;
  padding: 0;
}
.swatch[aria-pressed="true"] {
  outline-color: var(--ink);
}
.finish {
  display: flex;
  gap: 4px;
}
.small-note {
  font-size: 10px;
  line-height: 1.5;
  color: var(--muted);
  max-width: 210px;
  margin: 0 0 0 auto;
}
.mode-guide {
  font-size: 10px;
  line-height: 1.5;
  max-width: 175px;
  margin: 0;
}
.hero-caption {
  position: absolute;
  bottom: 17px;
  left: var(--gutter);
  right: var(--gutter);
  display: flex;
  justify-content: space-between;
  gap: 20px;
  font-size: 9px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--muted);
}
.hero-caption a {
  text-decoration: none;
  color: var(--ink);
}
.loading {
  position: absolute;
  inset: 45% 10% auto;
  text-align: center;
  font-size: 13px;
}
.fallback {
  position: absolute;
  inset: 10% 20%;
  text-align: center;
  padding: 30px;
  background: var(--paper);
  border: 1px solid var(--line);
  overflow: auto;
}
.fallback h3 {
  font-size: 25px;
}
.fallback p {
  font-size: 13px;
}
.scene.unavailable canvas {
  opacity: 0;
}
.scene.unavailable .view-tools,
.scene.unavailable .scene-status {
  display: none;
}
.section {
  padding: 100px var(--gutter);
  position: relative;
}
.section-kicker {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  padding-bottom: 25px;
  border-bottom: 1px solid var(--line);
  margin-bottom: 75px;
  font-size: 10px;
}
.approach {
  background: var(--ink);
  color: var(--paper);
  overflow: hidden;
  padding-bottom: 0;
  border-radius: 32px 32px 0 0;
  margin-top: -32px;
  z-index: 10;
  --line: #44463f;
}
.approach-intro {
  display: grid;
  grid-template-columns: 1.5fr 1fr;
  gap: 12vw;
  align-items: center;
}
.approach h2 {
  font-size: clamp(60px, 7.7vw, 122px);
}
.approach h2 em {
  color: #f7795f;
}
.approach-aside {
  max-width: 335px;
  justify-self: end;
}
.approach-aside > p {
  font-size: 19px;
  line-height: 1.5;
  letter-spacing: -0.02em;
}
.approach-aside > .muted {
  font-size: 14px;
  color: #b8b9b0;
}
.orbit-mark {
  display: block;
  width: 140px;
  height: 140px;
  position: relative;
  margin: 0 0 40px;
}
.orbit-mark i {
  position: absolute;
  inset: 20px 0;
  border: 1px solid #9da096;
  border-radius: 50%;
  transform: rotate(60deg);
}
.orbit-mark i:nth-child(2) {
  transform: rotate(-60deg);
}
.orbit-mark i:nth-child(3) {
  transform: rotate(0);
}
.orbit-mark b {
  position: absolute;
  inset: 35px;
  text-align: center;
  color: #f7795f;
  font: 65px/1 Arial;
  font-weight: 400;
}
.services {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 4vw;
  margin-top: 90px;
}
.service {
  border-top: 1px solid var(--line);
  padding-top: 22px;
  display: flex;
  flex-direction: column;
  align-items: start;
}
.service-top {
  display: flex;
  justify-content: space-between;
  width: 100%;
  color: #f7795f;
  align-items: center;
}
.service .number {
  font: 12px/1 Arial;
}
.service-top > span:last-child {
  font-size: 23px;
}
.service h3 {
  font-size: clamp(24px, 2.4vw, 35px);
  line-height: 1.15;
  margin: 27px 0 20px;
}
.service p {
  font-size: 14px;
  line-height: 1.75;
  max-width: 360px;
  color: #b8b9b0;
}
.service button {
  margin-top: auto;
  border: 0;
  border-bottom: 1px solid #66695f;
  background: transparent;
  color: var(--paper);
  padding: 10px 0;
  font-size: 12px;
  text-align: left;
  display: flex;
  width: 100%;
  justify-content: space-between;
  gap: 12px;
}
.type-ribbon {
  margin: 85px calc(-1 * var(--gutter)) 0;
  border-top: 1px solid #44463f;
  padding: 22px 0;
  overflow: hidden;
  white-space: nowrap;
}
.type-ribbon > span {
  display: block;
  font: 600 clamp(45px, 7vw, 100px) / 1.25 var(--display);
  letter-spacing: -0.06em;
  color: #686b60;
  transform: translateX(-3%);
}
.type-ribbon i {
  font-style: normal;
  color: #f7795f;
  margin: 0 25px;
}
.studio {
  padding-top: 100px;
}
.studio-heading {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 40px;
  margin-bottom: 55px;
}
.studio-heading > p {
  max-width: 275px;
  font-size: 14px;
  margin: 0;
}
.proof-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 35px;
}
.proof-card {
  min-width: 0;
}
.proof-art {
  position: relative;
  height: clamp(310px, 34vw, 530px);
  overflow: hidden;
  background: #df5337;
  color: var(--ink);
  border-radius: 4px;
}
.art-label {
  position: absolute;
  left: 25px;
  top: 25px;
  font-size: 9px;
  letter-spacing: 0.12em;
  z-index: 2;
}
.art-sphere {
  position: absolute;
  width: 48%;
  aspect-ratio: 1;
  border-radius: 50%;
  left: 26%;
  top: 22%;
  background: radial-gradient(
    circle at 27% 22%,
    #ffa185 0,
    #f66a48 18%,
    #bd3320 53%,
    #511b17 81%,
    #291b17 100%
  );
  box-shadow: 22px 38px 35px -18px rgb(45 18 12 / 40%);
  transition: transform 1.2s var(--ease);
}
.art-ring {
  position: absolute;
  width: 78%;
  height: 35%;
  border: 1px solid #ffd5b7;
  border-radius: 50%;
  left: 11%;
  top: 37%;
  transform: rotate(-34deg);
  transition: transform 1.4s var(--ease);
}
.ring-two {
  transform: rotate(38deg);
  border-color: rgb(255 226 205 / 40%);
}
.proof-interaction:hover .ring-one {
  transform: rotate(-54deg);
}
.proof-interaction:hover .ring-two {
  transform: rotate(62deg);
}
.proof-interaction:hover .art-sphere {
  transform: scale(1.045) translateY(-5px);
}
.art-cross {
  position: absolute;
  bottom: 24px;
  left: 25px;
  font: 36px/1 Arial;
}
.art-coordinate {
  position: absolute;
  right: 25px;
  bottom: 25px;
  font-size: 9px;
  letter-spacing: 0.1em;
}
.proof-caption {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 23px;
  gap: 20px;
}
.proof-caption .tag {
  font-size: 9px;
  color: var(--muted);
}
.proof-caption h3 {
  font-size: clamp(23px, 2.3vw, 34px);
  line-height: 1.13;
  margin: 15px 0;
}
.proof-caption button,
.proof-caption > a {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 50px;
  height: 50px;
  border: 1px solid var(--line);
  border-radius: 50%;
  background: transparent;
  text-decoration: none;
  font: 24px/1 Arial;
  transition:
    background 0.3s,
    transform 0.3s;
}
.proof-caption button:hover,
.proof-caption > a:hover {
  background: var(--accent);
  transform: rotate(45deg);
}
.proof-card > p {
  font-size: 13px;
  max-width: 460px;
  color: var(--muted);
}
.product-window {
  height: clamp(310px, 34vw, 530px);
  background: #dce0d5;
  padding: 38px 26px 0;
  overflow: hidden;
  border-radius: 4px;
  perspective: 900px;
}
.window-bar {
  height: 35px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: #fff;
  padding: 0 14px;
  border-radius: 7px 7px 0 0;
  box-shadow: 0 15px 60px rgb(21 40 33 / 15%);
  font-size: 8px;
  letter-spacing: 0.06em;
}
.window-bar > span:first-child {
  font-size: 7px;
  color: #b9c1b1;
  letter-spacing: 3px;
}
.product-window img {
  display: block;
  width: 100%;
  height: calc(100% - 35px);
  object-fit: cover;
  object-position: top left;
  box-shadow: 0 20px 50px rgb(21 40 33 / 18%);
  transition: transform 0.9s var(--ease);
  transform-origin: top;
}
.proof-product:hover img {
  transform: scale(1.025);
}
.founder {
  display: grid;
  grid-template-columns: 1fr 1.7fr;
  gap: 10vw;
  margin-top: 100px;
  border-top: 1px solid var(--line);
  padding-top: 60px;
}
.founder-signature {
  font: italic 95px/1.3 var(--serif);
  letter-spacing: -0.08em;
  color: var(--accent-dark);
  margin-top: 20px;
}
.founder-role {
  font-size: 12px;
  color: var(--muted);
}
.founder h3 {
  font-size: clamp(26px, 2.8vw, 40px);
  line-height: 1.25;
}
.founder h3 em {
  font-size: 1.2em;
}
.founder p {
  font-size: 14px;
  max-width: 600px;
  color: var(--muted);
}
.offer {
  background: #e8e8df;
  border-radius: 32px 32px 0 0;
  --line: #c8ccbf;
}
.offer-intro {
  display: flex;
  justify-content: space-between;
  gap: 40px;
  align-items: end;
  margin-bottom: 50px;
}
.badge {
  display: inline-block;
  border: 1px solid var(--line);
  border-radius: 20px;
  padding: 7px 12px;
  font-size: 9px;
  margin-bottom: 26px;
}
.offer-intro p {
  max-width: 310px;
  font-size: 14px;
  margin: 0;
}
.plans {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}
.plan {
  padding: 30px;
  border: 1px solid #c8ccbf;
  display: flex;
  flex-direction: column;
  min-width: 0;
  transition:
    transform 0.4s var(--ease),
    box-shadow 0.4s;
  background: rgb(243 240 232 / 50%);
  border-radius: 5px;
}
.plan:hover {
  transform: translateY(-6px);
  box-shadow: 0 16px 30px rgb(23 25 22 / 5%);
}
.plan .tag {
  font-size: 9px;
  color: var(--muted);
}
.plan h3 {
  font-size: 34px;
  margin: 8px 0 20px;
}
.plan .lead {
  font-size: 13px;
  min-height: 46px;
  max-width: 260px;
  margin-bottom: 30px;
}
.plan-price {
  font: 500 clamp(36px, 4.2vw, 65px) / 1 var(--display);
  letter-spacing: -0.07em;
  margin: 0;
}
.plan-price small {
  display: block;
  font: 11px/1.5 Arial;
  letter-spacing: 0;
  margin-bottom: 7px;
}
.plan-choice {
  border-top: 1px solid var(--line);
  padding: 17px 0;
}
.plan-choice:first-of-type {
  border-top: 0;
  padding-top: 0;
}
.plan-choice p {
  margin: 0;
}
.plan .format {
  font-size: 12px;
  margin: 10px 0 0;
}
.plan ul {
  padding: 0;
  list-style: none;
  margin: 25px 0;
  flex: 1;
}
.plan li {
  border-top: 1px solid var(--line);
  padding: 10px 0;
  font-size: 12px;
  line-height: 1.6;
}
.plan .plan-detail {
  font-size: 11px;
  color: var(--muted);
  margin: 0 0 20px;
}
.plan button {
  margin-top: 8px;
  background: transparent;
  border: 1px solid var(--ink);
  padding: 13px 15px;
  text-align: left;
  font-size: 12px;
  transition:
    background 0.2s,
    color 0.2s;
}
.plan button:hover {
  background: var(--ink);
  color: var(--paper);
}
.plan .payment-note,
.plan .renewal {
  font-size: 11px;
  margin: 18px 0 0;
}
.plan .renewal {
  margin-top: 6px;
  color: var(--muted);
}
.plan.featured {
  background: var(--ink);
  color: var(--paper);
  --line: #4f5348;
  --muted: #b7beb0;
  border-color: var(--ink);
}
.plan.featured button {
  background: var(--accent);
  border-color: var(--accent);
  color: var(--ink);
}
.plan.featured button:hover {
  background: #ff7a5d;
}
.pricing-note {
  font-size: 11px;
  color: var(--muted);
  max-width: 790px;
  margin: 25px 0;
}
.included {
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 5vw;
  margin-top: 65px;
  padding-top: 35px;
  border-top: 1px solid #a7ad9b;
}
.included h3 {
  font-size: 30px;
  line-height: 1.2;
}
.included-list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px 35px;
}
.included-list p {
  font-size: 12px;
  color: #52594a;
}
.included-list strong {
  display: block;
  font-size: 13px;
  margin-bottom: 8px;
  color: var(--ink);
}
.offer-faq {
  margin-top: 40px;
}
.offer-faq details {
  border-top: 1px solid var(--line);
  padding: 20px 0;
}
.offer-faq summary {
  font-size: 14px;
  cursor: pointer;
  list-style: none;
  display: flex;
  justify-content: space-between;
  gap: 20px;
}
.offer-faq summary::after {
  content: "+";
  font-size: 22px;
  line-height: 1;
}
.offer-faq details[open] summary::after {
  content: "−";
}
.offer-faq p {
  max-width: 850px;
  font-size: 13px;
  color: var(--muted);
  margin: 20px 0 0;
}
.growth {
  margin-top: 70px;
  background: #d9dfcf;
  padding: 40px;
  display: grid;
  grid-template-columns: 1fr 1.3fr;
  gap: 6vw;
  border-radius: 5px;
}
.growth h3 {
  font-size: 50px;
  margin: 0 0 20px;
}
.growth p {
  font-size: 14px;
}
.growth .badge {
  margin-bottom: 17px;
}
.growth .growth-price {
  font: 500 55px/1.2 var(--display);
  letter-spacing: -0.06em;
  margin: 25px 0 12px;
}
.growth-price small {
  font: 12px/1.4 Arial;
  letter-spacing: 0;
  display: block;
}
.growth .terms {
  font-size: 11px;
  color: #58624d;
}
.growth button,
.erp-entry button {
  background: var(--ink);
  color: var(--paper);
  border: 1px solid var(--ink);
  padding: 14px 18px;
  font-size: 12px;
}
.growth button:hover,
.erp-entry button:hover {
  background: #363e2c;
}
.growth-budget {
  border-top: 1px solid #a7b198;
  margin-top: 25px;
  padding-top: 20px;
  font-size: 12px;
}
.growth-budget strong {
  display: block;
  font-size: 16px;
  margin: 10px 0;
}
.growth ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.growth li {
  padding: 14px 0;
  border-bottom: 1px solid #b8c1aa;
  font-size: 13px;
}
.growth .qr-note {
  font-size: 12px;
  margin: 25px 0 15px;
}
.erp-entry {
  position: relative;
  padding: 60px 28% 0 0;
  margin-top: 60px;
  border-top: 1px solid var(--line);
  min-height: 310px;
  overflow: hidden;
}
.erp-entry h3 {
  font-size: clamp(40px, 4.8vw, 70px);
  line-height: 1.08;
  margin: 20px 0;
}
.erp-entry p {
  font-size: 14px;
  max-width: 620px;
}
.erp-monogram {
  position: absolute;
  right: 6%;
  top: 45px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #171f30;
  color: #b8e1d1;
  width: 190px;
  height: 190px;
  border-radius: 36px;
  font: 700 110px/1 var(--display);
  transform: rotate(10deg);
  box-shadow: 15px 20px 0 #c6d2be;
}
.proposal {
  background: var(--ink);
  color: var(--paper);
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 9vw;
  padding-top: 110px;
  padding-bottom: 110px;
  --muted: #b8bbae;
  --line: #4b4e44;
}
.proposal-intro {
  align-self: start;
  position: sticky;
  top: 130px;
}
.proposal h2 {
  font-size: clamp(46px, 4.8vw, 75px);
  margin: 30px 0 40px;
}
.proposal h2 em {
  color: #f7795f;
}
.proposal-intro > p {
  font-size: 14px;
  max-width: 420px;
}
.proposal .muted {
  font-size: 12px;
}
.contact-steps {
  padding: 0;
  list-style: none;
  counter-reset: contact;
  max-width: 430px;
  margin: 40px 0;
}
.contact-steps li {
  counter-increment: contact;
  border-top: 1px solid var(--line);
  padding: 17px 0 17px 36px;
  position: relative;
  font-size: 12px;
  color: #b8bbae;
}
.contact-steps li::before {
  content: "0" counter(contact);
  position: absolute;
  left: 0;
  font-size: 10px;
  color: #f7795f;
}
.contact-steps strong {
  display: block;
  font-size: 13px;
  color: var(--paper);
  margin-bottom: 5px;
}
.contact-email {
  font-size: 14px;
  overflow-wrap: anywhere;
}
.proposal form {
  min-width: 0;
  background: #22251f;
  padding: 35px;
  border: 1px solid #42463c;
  border-radius: 5px;
}
.form-heading {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 10px;
  letter-spacing: 0.08em;
  border-bottom: 1px solid var(--line);
  padding-bottom: 25px;
  margin-bottom: 28px;
}
.form-heading > span:last-child {
  margin-left: auto;
  font-size: 20px;
}
.proposal label {
  display: block;
  font-size: 12px;
  margin-bottom: 22px;
}
.proposal select,
.proposal input,
.proposal textarea {
  display: block;
  width: 100%;
  min-width: 0;
  color: var(--paper);
  background: #292d25;
  border: 1px solid #545b4b;
  border-radius: 2px;
  padding: 12px;
  margin-top: 9px;
  font-size: 16px;
}
.proposal input::placeholder,
.proposal textarea::placeholder {
  color: #abb09f;
  font-size: 13px;
  opacity: 1;
}
.proposal input:disabled {
  opacity: 0.6;
}
.proposal textarea {
  min-height: 125px;
  resize: vertical;
}
.proposal select option {
  background: #292d25;
  color: var(--paper);
}
.proposal .pages-help {
  display: block;
  font-size: 11px;
  color: #b8bbae;
  line-height: 1.6;
  margin-top: 7px;
}
.proposal .growth-toggle,
.proposal .contact-check {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  cursor: pointer;
}
.proposal .growth-toggle input,
.proposal .contact-check input {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  margin: 3px 0 0;
  accent-color: var(--accent);
}
.proposal .growth-toggle {
  font-size: 12px;
}
.proposal .growth-fields {
  padding-left: 15px;
  border-left: 1px solid #788768;
}
.estimate {
  border: 1px solid #68715d;
  border-radius: 3px;
  padding: 18px;
  margin: 25px 0;
  background: #282f23;
}
.estimate-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
}
.estimate-top p {
  font-size: 12px;
  margin: 0;
}
.estimate-top output {
  font: 500 32px/1 var(--display);
  letter-spacing: -0.04em;
}
.estimate dl {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 9px 16px;
  font-size: 11px;
  margin: 20px 0;
}
.estimate dt,
.estimate dd {
  margin: 0;
}
.estimate dd {
  text-align: right;
}
.proposal .estimate-note {
  font-size: 10px;
  color: #bac4b0;
  margin: 0;
}
.monthly-total {
  border-top: 1px solid #68715d;
  padding-top: 15px;
  margin-top: 15px;
}
.monthly-total p {
  font-size: 11px;
  margin: 6px 0;
}
.monthly-total strong {
  display: block;
  margin: 10px 0;
  font-size: 17px;
}
.contact-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 15px;
}
.availability {
  margin-top: 28px;
  border-top: 1px solid var(--line);
  padding-top: 25px;
}
.availability h3 {
  font-size: 23px;
  margin: 0 0 15px;
}
.availability p {
  font-size: 11px;
  color: #b8bbae;
}
.availability .availability-updated {
  font-size: 10px;
}
.proposal .api-status {
  color: #f9b6a5;
}
.proposal .contact-trap {
  position: absolute;
  left: -10000px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
.proposal .contact-check {
  font-size: 11px;
  line-height: 1.6;
}
.proposal .privacy-note {
  font-size: 10px;
  color: #b8bbae;
}
.proposal #contact-submit {
  display: block;
  width: 100%;
  min-height: 52px;
  padding: 16px;
  background: var(--accent);
  border: 1px solid var(--accent);
  color: var(--ink);
  font-size: 13px;
  font-weight: bold;
  transition: background 0.2s;
}
.proposal #contact-submit:hover:not(:disabled) {
  background: #ff8265;
}
.contact-fallback {
  font-size: 11px;
  overflow-wrap: anywhere;
  margin: 17px 0 0;
}
.proposal .contact-feedback {
  margin: 20px 0 0;
  padding: 16px;
  border: 1px solid #a9c697;
  font-size: 13px;
  white-space: pre-line;
  overflow-wrap: anywhere;
}
.proposal .contact-feedback[data-state="error"] {
  border-color: #f99b85;
}
.proposal .contact-feedback[data-state="success"] {
  background: #30432b;
}
.summary {
  white-space: pre-line;
}
.site-footer {
  display: flex;
  justify-content: space-between;
  gap: 35px;
  padding: 35px var(--gutter);
  background: var(--ink);
  color: #adb2a4;
  border-top: 1px solid #4b4e44;
  font-size: 10px;
}
.site-footer strong {
  display: inline-block;
  color: var(--paper);
  font: 600 16px/1.5 var(--display);
  margin-bottom: 5px;
}
.site-footer details {
  max-width: 450px;
}
.site-footer summary {
  cursor: pointer;
}
.site-footer p {
  margin: 15px 0;
  font-size: 11px;
}
.noscript-note {
  position: relative;
  margin: 100px 0 0;
  padding: 20px var(--gutter);
}
.scene-browser-bar {
  height: 34px;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  background: #e7e6df;
  border-bottom: 1px solid #d3d2c9;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 18px;
  font-size: 9px;
  color: #73766b;
  z-index: 3;
}
.browser-lights {
  font-size: 8px;
  letter-spacing: 3px;
  color: #9b9f91;
}
.scene-browser-bar > span:last-child {
  font-size: 8px;
  letter-spacing: 0.08em;
}
.scene-browser-title {
  position: absolute;
  left: 25px;
  top: 57px;
  z-index: 2;
  pointer-events: none;
}
.scene-browser-title > span {
  display: block;
  font: 8px/1.5 Arial;
  letter-spacing: 0.1em;
  color: var(--muted);
  margin-bottom: 12px;
}
.scene-browser-title > strong {
  font: 500 clamp(21px, 2.1vw, 33px) / 1.1 var(--display);
  letter-spacing: -0.035em;
}
.story-steps {
  display: flex;
  gap: 25px;
}
.story-steps > span {
  display: flex;
  gap: 7px;
  align-items: center;
  transition: color 0.3s;
}
.story-steps b {
  font-weight: 400;
  color: #8e9185;
}
.story-steps > span[aria-current="step"] {
  color: var(--accent-dark);
}
.story-steps > span[aria-current="step"] b {
  color: var(--accent-dark);
}
.hero-followup {
  position: absolute;
  z-index: 7;
  right: 10%;
  top: 49%;
  padding: 20px 24px;
  background: rgb(243 240 232 / 96%);
  border: 1px solid #cecfc2;
  border-radius: 5px;
  box-shadow: 0 18px 50px -25px #5c624d;
  opacity: var(--hero-final-opacity, 0);
  transform: translateY(var(--hero-final-y, 14px));
  pointer-events: none;
}
.hero-followup > span {
  font-size: 8px;
  letter-spacing: 0.1em;
}
.hero-followup > strong {
  display: block;
  font: 500 26px/1.2 var(--display);
  letter-spacing: -0.04em;
  margin: 15px 0;
}
.hero-followup em {
  font: 400 1.4em/1 var(--serif);
  color: var(--accent-dark);
}
.hero-followup p {
  font-size: 10px;
  margin: 0;
}
@media (max-width: 1100px) {
  .hero-followup {
    display: none;
  }
}
@media (min-width: 761px) {
  .scene {
    inset: 41% 8% 155px;
    border: 1px solid #c7c8bd;
    border-radius: 10px;
    background: #eeeee5;
    box-shadow: 0 20px 60px -30px rgb(34 39 23 / 25%);
    overflow: hidden;
    transform: perspective(1500px)
      rotateX(calc(6deg - var(--hero-progress, 0) * 6deg));
    transform-origin: center bottom;
  }
  .scene canvas {
    position: absolute;
    top: 34px;
    height: calc(100% - 65px);
  }
  .scene::before {
    content: "VOTRE MARQUE";
    font-size: 10vw;
    top: 41%;
    color: #e0e1d5;
    z-index: 0;
  }
  .scene-status {
    left: 24px;
    bottom: 13px;
    font-size: 8px;
  }
  .view-tools {
    right: 16px;
    bottom: 9px;
  }
  .view-tools button {
    padding: 6px 9px;
    min-height: 29px;
    font-size: 9px;
  }
  .heading {
    transform: translateY(var(--hero-heading-y, 0px));
    opacity: var(--hero-heading-opacity, 1);
  }
  .approach h2 {
    font-size: clamp(53px, 5.8vw, 90px);
  }
  .orbit-mark {
    transform: rotate(calc(var(--section-progress, 0) * 90deg));
  }
  .type-ribbon > span {
    transform: translateX(calc(-3% - var(--section-progress, 0) * 8%));
  }
  .art-ring.ring-one {
    transform: rotate(calc(-34deg + var(--section-progress, 0) * 45deg));
  }
  .art-ring.ring-two {
    transform: rotate(calc(38deg - var(--section-progress, 0) * 30deg));
  }
}
@media (hover: hover) and (pointer: fine) {
  .text-link:hover span {
    transform: translate(3px, -3px);
  }
  .text-link span {
    transition: transform 0.3s;
  }
}
@media (min-width: 1700px) {
  .hero-sticky {
    max-height: none;
  }
  .scene {
    inset: 41% 4% 155px;
  }
  .hero-note {
    max-width: 290px;
    font-size: 15px;
  }
}
@media (max-width: 1100px) {
  nav {
    gap: 22px;
  }
  .hero-note {
    max-width: 200px;
    font-size: 12px;
  }
  h1 {
    font-size: 7.8vw;
  }
  .hero-asterisk {
    right: -65px;
  }
  .mode-guide {
    display: none;
  }
  .hero-sticky {
    min-height: 740px;
  }
  .services {
    gap: 25px;
  }
  .plan {
    padding: 22px;
  }
  .proposal {
    gap: 5vw;
  }
  .proposal form {
    padding: 24px;
  }
  .proposal-intro {
    position: static;
  }
  .growth {
    padding: 30px;
    gap: 35px;
  }
  .erp-monogram {
    right: 3%;
    width: 150px;
    height: 150px;
    font-size: 90px;
  }
  .hero-caption > span:nth-child(2) {
    display: none;
  }
}
@media (min-width: 761px) and (max-height: 950px) {
  .heading {
    top: 110px;
  }
  h1 {
    font-size: clamp(55px, 6vw, 86px);
  }
  .heading .tag {
    margin-bottom: 18px;
  }
  .hero-note {
    top: 115px;
    font-size: 12px;
    line-height: 1.6;
  }
  .hero-edition {
    margin-top: 12px;
  }
}
@media (min-width: 1700px) and (min-height: 951px) {
  .heading {
    top: 140px;
  }
  h1 {
    font-size: 105px;
  }
}
@media (max-width: 760px) {
  html {
    scroll-padding-top: 92px;
  }
  .site-header {
    padding: 18px 20px;
    gap: 15px;
  }
  .brand {
    font-size: 11px;
    gap: 8px;
  }
  .brand-symbol {
    font-size: 42px;
    width: 32px;
  }
  .brand-symbol span {
    font-size: 16px;
  }
  nav {
    gap: 18px;
  }
  nav .nav-services {
    display: none;
  }
  nav a {
    font-size: 11px;
  }
  .contact-link {
    padding: 8px 12px;
    gap: 12px;
  }
  #motion-toggle {
    position: absolute;
    right: 20px;
    top: 88px;
    max-width: 82px;
    font-size: 9px;
    z-index: 15;
    background: var(--paper);
    padding: 5px;
    border-radius: 3px;
  }
  .hero {
    height: auto;
    min-height: 0;
  }
  .hero-sticky {
    position: relative;
    height: 940px;
    min-height: 0;
    max-height: none;
  }
  .heading {
    top: 132px;
    left: 22px;
    right: 22px;
  }
  .heading .tag {
    font-size: 8px;
    letter-spacing: 0.08em;
    margin-bottom: 28px;
  }
  h1 {
    font-size: clamp(46px, 10.6vw, 80px);
    line-height: 0.91;
  }
  .hero-asterisk {
    font-size: 29px;
    right: 5%;
    top: 64%;
  }
  .hero-note {
    top: 325px;
    left: 22px;
    right: 22px;
    max-width: 100%;
    font-size: 12px;
    display: flex;
    align-items: start;
    justify-content: space-between;
    gap: 20px;
  }
  .hero-note p {
    max-width: 210px;
  }
  .hero-note .text-link {
    font-size: 10px;
    gap: 8px;
    max-width: 140px;
    padding-top: 0;
  }
  .hero-edition {
    display: none;
  }
  .scene {
    inset: 390px -8% 215px;
  }
  .scene::before {
    font-size: 26vw;
    top: 30%;
  }
  .hero-orbit {
    width: 95vw;
    height: 95vw;
    left: 0;
    top: 390px;
  }
  .scene-status {
    left: calc(8% + 15px);
    bottom: 45px;
    font-size: 8px;
  }
  .view-tools {
    left: calc(8% + 15px);
    right: calc(8% + 15px);
    bottom: 0;
    gap: 5px;
  }
  .view-tools button {
    font-size: 9px;
    min-height: 36px;
    padding: 7px 9px;
  }
  .config {
    bottom: 58px;
    left: 22px;
    right: 22px;
    gap: 18px;
    display: grid;
    grid-template-columns: 1fr auto;
    padding-top: 14px;
  }
  .config-label {
    font-size: 9px;
  }
  .choice {
    gap: 12px;
  }
  .choice p {
    font-size: 10px;
    min-width: 0;
  }
  .swatch {
    width: 29px;
    height: 29px;
  }
  .swatches {
    gap: 6px;
  }
  .finish button {
    font-size: 10px;
    padding: 7px 9px;
    min-height: 35px;
  }
  .small-note {
    grid-column: 1/-1;
    margin: 0;
    max-width: 100%;
    font-size: 9px;
  }
  .hero-caption {
    bottom: 18px;
    left: 22px;
    right: 22px;
    font-size: 8px;
    letter-spacing: 0.04em;
  }
  .fallback {
    inset: 5% 10%;
    padding: 20px;
  }
  .fallback h3 {
    font-size: 20px;
  }
  .section {
    padding: 65px 22px;
  }
  .section-kicker {
    margin-bottom: 45px;
    font-size: 8px;
    align-items: start;
  }
  .section-kicker > span:last-child {
    max-width: 140px;
    text-align: right;
  }
  .approach {
    border-radius: 22px 22px 0 0;
    margin-top: -22px;
    padding-bottom: 0;
  }
  .approach-intro {
    grid-template-columns: 1fr;
    gap: 40px;
  }
  .approach h2 {
    font-size: clamp(48px, 11vw, 80px);
  }
  .approach-aside {
    max-width: 100%;
    display: grid;
    grid-template-columns: 80px 1fr;
    gap: 0 25px;
  }
  .orbit-mark {
    width: 80px;
    height: 80px;
    margin: 0;
    grid-row: 1/3;
  }
  .orbit-mark i {
    inset: 10px 0;
  }
  .orbit-mark b {
    inset: 21px;
    font-size: 37px;
  }
  .approach-aside > p {
    font-size: 16px;
  }
  .approach-aside > .muted {
    font-size: 12px;
  }
  .services {
    grid-template-columns: 1fr;
    gap: 35px;
    margin-top: 35px;
  }
  .service h3 {
    font-size: 28px;
    margin: 20px 0 15px;
  }
  .service h3 br {
    display: none;
  }
  .service p {
    max-width: 100%;
    font-size: 13px;
  }
  .service button {
    font-size: 12px;
    min-height: 44px;
  }
  .type-ribbon {
    margin-top: 50px;
  }
  .type-ribbon > span {
    font-size: 45px;
  }
  .studio-heading {
    display: block;
    margin-bottom: 35px;
  }
  h2 {
    font-size: clamp(37px, 8.8vw, 60px);
  }
  .studio-heading > p {
    max-width: 100%;
    font-size: 13px;
    margin-top: 28px;
  }
  .proof-grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }
  .proof-art,
  .product-window {
    height: 340px;
  }
  .proof-caption h3 {
    font-size: 26px;
  }
  .proof-card > p {
    font-size: 12px;
  }
  .founder {
    grid-template-columns: 1fr;
    gap: 28px;
    margin-top: 60px;
    padding-top: 35px;
  }
  .founder-signature {
    font-size: 75px;
    margin-top: 10px;
  }
  .founder h3 {
    font-size: 26px;
  }
  .founder p {
    font-size: 13px;
  }
  .offer-intro {
    display: block;
    margin-bottom: 35px;
  }
  .offer-intro p {
    font-size: 13px;
    max-width: 100%;
    margin-top: 28px;
  }
  .badge {
    font-size: 8px;
  }
  .plans {
    grid-template-columns: 1fr;
    gap: 22px;
  }
  .plan {
    padding: 28px;
  }
  .plan h3 {
    font-size: 36px;
  }
  .plan .lead {
    min-height: 0;
    max-width: 100%;
    font-size: 13px;
  }
  .plan-price {
    font-size: 59px;
  }
  .plan li {
    font-size: 13px;
  }
  .plan button {
    font-size: 13px;
    min-height: 46px;
  }
  .included {
    grid-template-columns: 1fr;
    gap: 15px;
    margin-top: 40px;
  }
  .included h3 {
    font-size: 32px;
  }
  .included-list {
    grid-template-columns: 1fr;
    gap: 8px;
  }
  .included-list p {
    font-size: 12px;
  }
  .offer-faq summary {
    font-size: 13px;
    line-height: 1.6;
  }
  .growth {
    padding: 24px;
    grid-template-columns: 1fr;
    gap: 20px;
    margin-top: 45px;
  }
  .growth h3 {
    font-size: 40px;
  }
  .growth .growth-price {
    font-size: 50px;
  }
  .erp-entry {
    padding: 35px 0 0;
    min-height: 0;
    margin-top: 40px;
  }
  .erp-entry h3 {
    font-size: 44px;
    max-width: 230px;
  }
  .erp-entry p {
    font-size: 13px;
  }
  .erp-monogram {
    width: 70px;
    height: 70px;
    border-radius: 15px;
    font-size: 45px;
    right: 10px;
    top: 70px;
    box-shadow: 7px 9px 0 #c6d2be;
  }
  .proposal {
    grid-template-columns: 1fr;
    gap: 40px;
    padding-top: 65px;
  }
  .proposal h2 {
    font-size: 53px;
    margin: 25px 0 32px;
  }
  .proposal-intro > p {
    font-size: 13px;
  }
  .contact-steps {
    margin: 30px 0;
  }
  .proposal form {
    padding: 23px 18px;
  }
  .proposal .contact-grid {
    grid-template-columns: 1fr;
  }
  .proposal .estimate {
    padding: 15px;
  }
  .estimate-top output {
    font-size: 30px;
  }
  .estimate dl {
    font-size: 10px;
    gap: 9px 12px;
  }
  .proposal input,
  .proposal select,
  .proposal textarea {
    font-size: 16px;
  }
  .site-footer {
    padding: 30px 22px;
    flex-direction: column;
    gap: 22px;
  }
  .product-window {
    padding: 28px 18px 0;
  }
}
@media (max-width: 390px) {
  .brand {
    font-size: 10px;
  }
  .brand-symbol {
    font-size: 36px;
    width: 27px;
  }
  .site-header {
    gap: 8px;
    padding-inline: 17px;
  }
  nav {
    gap: 12px;
  }
  .contact-link {
    padding: 8px 10px;
    gap: 7px;
  }
  .hero-sticky {
    height: 970px;
  }
  .hero-note {
    top: 305px;
  }
  .config {
    bottom: 68px;
  }
  .config .choice {
    flex-wrap: wrap;
    gap: 5px;
  }
  .choice p {
    width: 100%;
  }
  .hero-caption {
    font-size: 7px;
  }
  .form-heading {
    font-size: 8px;
  }
  .proposal h2 {
    font-size: 47px;
  }
  .proof-art,
  .product-window {
    height: 300px;
  }
}
@media (max-width: 760px) {
  h1 em {
    font-size: 1.12em;
  }
  .hero-asterisk {
    right: 3%;
    top: 7%;
    font-size: 24px;
  }
  .hero-note {
    max-width: none;
  }
  .scene {
    inset: 415px 22px 235px;
    overflow: hidden;
    border: 1px solid #c7c8bd;
    border-radius: 7px;
    background: #eeeee5;
    box-shadow: 0 15px 28px -15px rgb(34 39 23 / 15%);
  }
  .scene canvas {
    position: absolute;
    top: 35px;
    height: calc(100% - 70px);
  }
  .scene::before {
    content: "VOTRE MARQUE";
    font-size: 9vw;
    top: 38%;
    z-index: 0;
    color: #e0e1d5;
  }
  .scene-browser-bar {
    padding: 0 10px;
    font-size: 8px;
  }
  .scene-browser-bar > span:last-child {
    font-size: 6px;
  }
  .scene-browser-title {
    left: 13px;
    top: 48px;
  }
  .scene-browser-title > strong {
    display: none;
  }
  .scene-browser-title > span {
    font-size: 7px;
  }
  .scene-status {
    display: none;
  }
  .view-tools {
    left: 10px;
    right: 10px;
    bottom: 10px;
    gap: 4px;
  }
  .view-tools button {
    font-size: 8px;
    min-height: 29px;
    padding: 5px 7px;
  }
  .hero-caption {
    bottom: 21px;
    display: block;
  }
  .hero-caption > a {
    display: none;
  }
  .story-steps {
    justify-content: space-between;
    gap: 9px;
    font-size: 7px;
  }
  .story-steps > span {
    gap: 5px;
  }
  .hero-orbit {
    display: none;
  }
}
html[data-motion="off"] {
  scroll-behavior: auto;
}
html[data-motion="off"] *,
html[data-motion="off"] *::before,
html[data-motion="off"] *::after {
  animation: none !important;
  transition: none !important;
}
.hero-asterisk {
  transition: transform 0.1s linear;
}
html[data-motion="off"] .hero-asterisk {
  transform: none;
}
html[data-motion="off"] .hero {
  height: auto;
  min-height: 0;
}
html[data-motion="off"] .hero-sticky {
  position: relative;
}
html[data-motion="off"] .proof-card:hover img,
html[data-motion="off"] .proof-card:hover .art-sphere {
  transform: none;
}
html[data-motion="off"] .plan:hover {
  transform: none;
}
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
  *,
  *::before,
  *::after {
    animation: none !important;
    transition: none !important;
  }
  .hero {
    height: auto;
    min-height: 0;
  }
  .hero-sticky {
    position: relative;
  }
  .hero-asterisk {
    transform: none;
  }
  .plan:hover {
    transform: none;
  }
}

/* The shared screen is intentionally independent from the pricing and contact layouts. */
.gallery-hero { height:auto; min-height:0; overflow:visible; }
.gallery-hero .hero-sticky { position:relative; height:auto; min-height:0; max-height:none; padding:138px var(--gutter) 0; overflow:visible; background:var(--paper); }
.gallery-intro { display:grid; grid-template-columns:1fr 290px; align-items:end; gap:45px; margin-bottom:52px; }
.gallery-hero .heading { position:relative; inset:auto; transform:none; opacity:1; pointer-events:auto; }
.gallery-hero .heading .tag { margin-bottom:25px; font-size:10px; letter-spacing:.11em; }
.gallery-hero h1 { font-size:clamp(52px,6.7vw,110px); line-height:.92; letter-spacing:-.065em; }
.gallery-hero h1 em { font-size:1.12em; line-height:1; }
.gallery-hero .hero-note { display:block; position:static; max-width:none; font-size:13px; line-height:1.65; padding-bottom:7px; }
.gallery-hero .hero-note p { margin-bottom:14px; }
.gallery-hero .hero-note strong { font-weight:700; }
.gallery-hero .text-link { font-size:12px; }
.gallery { --demo-bg:#f4e6ce; --demo-ink:#422518; --demo-accent:#a33b24; --demo-line:#d6bfa2; scroll-margin-top:108px; }
.gallery[data-active-scene="phone"] { --demo-bg:#dce8dc; --demo-ink:#253d34; --demo-accent:#234e3d; --demo-line:#bdcdbd; }
.gallery[data-active-scene="flight"] { --demo-bg:#172c41; --demo-ink:#f1f5ef; --demo-accent:#b8efd4; --demo-line:#455969; }
.gallery[data-active-scene="machining"] { --demo-bg:#e5e9ec; --demo-ink:#24343f; --demo-accent:#164a93; --demo-line:#bdc9d2; }
.gallery[data-active-scene="car"] { --demo-bg:#e9e8df; --demo-ink:#25291f; --demo-accent:#a43b25; --demo-line:#c6c7bb; }
.gallery-label { display:flex; justify-content:space-between; gap:20px; align-items:center; margin-bottom:18px; }
.gallery-label p { display:flex; align-items:center; gap:11px; margin:0; font-size:9px; letter-spacing:.12em; font-weight:700; }
.gallery-label a { font-size:11px; text-decoration:none; }
.gallery-label a span { display:inline-block; margin-left:15px; }
.gallery-tabs { position:sticky; top:86px; z-index:20; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; padding:10px 0 12px; background:var(--paper); }
.gallery-tabs button { background:transparent; border:1px solid #cdccc1; border-radius:7px; padding:16px 18px; display:flex; gap:13px; align-items:center; text-align:left; font-family:var(--display); font-size:13px; font-weight:600; transition:background .3s,color .3s,border-color .3s,transform .3s; }
.gallery-tabs button>span { font:9px Arial,sans-serif; opacity:.58; }
.gallery-tabs button>i { font-style:normal; margin-left:auto; opacity:.4; }
.gallery-tabs button[aria-selected="true"] { background:var(--ink); color:var(--paper); border-color:var(--ink); }
.gallery-tabs button[aria-selected="true"] i { color:#ed7156; opacity:1; }
.gallery-tabs button:hover { border-color:#76796d; transform:translateY(-2px); }
.gallery-window { border:1px solid #bbbeb3; border-radius:14px; overflow:hidden; box-shadow:0 24px 70px -42px #34452f60; }
.gallery-browser { display:grid; grid-template-columns:1fr 1fr 1fr; align-items:center; gap:10px; padding:13px 22px; border-bottom:1px solid #cfd1c7; background:#e7e8df; font-size:9px; color:#65695f; }
.browser-dots { letter-spacing:3px; color:#aaa99c; font-size:10px; }
#gallery-address { text-align:center; }
.gallery-demo-label { text-align:right; font-size:8px; letter-spacing:.1em; color:#444b3e; }
.gallery-stage { position:relative; background:var(--demo-bg); color:var(--demo-ink); min-height:550px; isolation:isolate; transition:background .6s,color .5s; }
.demo-panel { position:relative; min-height:550px; z-index:2; pointer-events:none; }
.demo-panel button { pointer-events:auto; }
.demo-copy { position:relative; width:38%; padding:30px 0 105px 38px; z-index:3; }
.demo-brand { display:flex; flex-direction:column; gap:3px; margin:0 0 40px; font:700 20px/1 var(--display); letter-spacing:-.045em; }
.demo-brand span { font:8px/1.2 Arial,sans-serif; letter-spacing:.14em; opacity:.64; }
.demo-kicker { font-size:8px; letter-spacing:.14em; margin-bottom:15px; opacity:.75; }
.demo-copy h2 { font-size:clamp(36px,4vw,61px); line-height:1.02; letter-spacing:-.065em; margin-bottom:20px; }
.demo-copy h2 em { color:var(--demo-accent); font-size:1.14em; }
.demo-description { font-size:12px; line-height:1.7; max-width:285px; margin-bottom:20px; }
.demo-options { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:14px; }
.demo-options button { border:1px solid var(--demo-line); border-radius:100px; background:transparent; color:inherit; font-size:10px; padding:8px 12px; min-height:35px; transition:background .25s,transform .25s; }
.demo-options button:hover { transform:translateY(-2px); }
.demo-options button[aria-pressed="true"] { background:var(--demo-ink); color:var(--demo-bg); border-color:var(--demo-ink); }
.demo-actions { display:flex; gap:7px; flex-wrap:wrap; }
.demo-action { display:inline-flex; align-items:center; justify-content:space-between; gap:26px; border:0; background:var(--demo-accent); color:var(--demo-bg); border-radius:4px; padding:12px 18px; min-height:43px; font-size:11px; text-align:left; transition:transform .25s,filter .25s; }
.demo-action:hover { transform:translateY(-2px); filter:brightness(1.08); }
.demo-action span { font-size:19px; }
.demo-status { font-size:10px; opacity:.85; max-width:310px; line-height:1.5; min-height:30px; margin:13px 0 0; }
.demo-sound { border:0; background:transparent; color:inherit; font-size:9px; padding:7px 0; text-decoration:underline; text-underline-offset:3px; }
.demo-bottom { position:absolute; bottom:0; left:0; right:0; padding:22px 38px; display:flex; gap:22px; align-items:center; border-top:1px solid var(--demo-line); font-size:9px; }
.demo-bottom>span { display:flex; gap:8px; align-items:center; font-size:8px; letter-spacing:.08em; flex-shrink:0; }
.demo-bottom i { display:inline-block; width:5px; height:5px; border-radius:100%; background:var(--demo-accent); }
.demo-bottom p { margin:0; opacity:.7; }
.demo-reset { margin-left:auto; flex-shrink:0; background:transparent; color:inherit; border:0; padding:5px 0; font-size:10px; text-decoration:underline; text-underline-offset:4px; }
.gallery-render { position:absolute; z-index:1; top:28px; right:0; width:64%; bottom:80px; }
#gallery-canvas { width:100%; height:100%; display:block; cursor:grab; touch-action:pan-y; }
#gallery-canvas:active { cursor:grabbing; }
.gallery-gesture { position:absolute; bottom:0; right:30px; display:flex; gap:12px; align-items:center; pointer-events:none; margin:0; font-size:8px; opacity:.64; letter-spacing:.03em; }
.gallery-gesture>span { font-size:16px; }
.gallery-error { position:absolute; top:40%; left:47%; right:8%; z-index:5; font-size:15px; text-align:center; background:var(--demo-bg); padding:20px; }
.gallery-project { display:flex; align-items:center; justify-content:space-between; gap:25px; padding:24px 32px; color:var(--ink); background:#faf9f4; }
.gallery-project>div>span { font-size:8px; letter-spacing:.12em; color:var(--accent-dark); font-weight:700; }
.gallery-project p { font-size:13px; margin:4px 0 0; }
.gallery-project>button { display:flex; align-items:center; gap:24px; padding:15px 20px; border-radius:4px; border:0; background:var(--ink); color:var(--paper); font-size:11px; }
.gallery-project>button span { color:#ff866b; font-size:19px; }
.gallery-disclaimer { display:flex; justify-content:space-between; gap:45px; color:var(--muted); padding-top:16px; }
.gallery-disclaimer p { font-size:9px; max-width:590px; line-height:1.6; margin:0; }
.gallery-disclaimer>span { font-size:8px; letter-spacing:.08em; flex-shrink:0; padding-top:3px; }
.gallery-next { display:flex; justify-content:space-between; align-items:end; gap:35px; padding:72px 0 65px; }
.gallery-next p { font:500 26px/1.2 var(--display); letter-spacing:-.045em; margin:0; }
.gallery-next p em { font:italic 36px/1.2 var(--serif); }
.gallery-next a { display:flex; gap:40px; font-size:11px; text-decoration:none; align-items:center; border-bottom:1px solid var(--line); padding-bottom:10px; }
.gallery-next a span { font-size:25px; }
/* Keep the existing, credited vehicle and its working controls inside the same screen. */
.gallery-hero .scene { position:absolute; inset:20px 0 90px 29%; background:transparent; border:0; border-radius:0; box-shadow:none; transform:none; overflow:hidden; pointer-events:auto; }
.gallery-hero .scene::before,.gallery-hero .scene-browser-bar,.gallery-hero .scene-browser-title { display:none; }
.gallery-hero .scene canvas { position:absolute; top:0; width:100%; height:calc(100% - 35px); }
.gallery-hero .view-tools { bottom:0; left:auto; right:24px; }
.gallery-hero .scene-status { bottom:9px; left:20px; font-size:8px; }
.gallery-hero .config { position:absolute; top:350px; left:38px; right:auto; bottom:auto; width:29%; padding:0; margin:0; border:0; display:grid; grid-template-columns:1fr; gap:14px; pointer-events:auto; }
.gallery-hero .config-label { font-size:8px; margin-bottom:9px; }
.gallery-hero .config .choice { gap:12px; }
.gallery-hero .config .choice p { font-size:10px; margin:0; width:auto; }
.gallery-hero .swatches { gap:7px; }
.gallery-hero .swatch { width:24px; height:24px; }
.gallery-hero .config .finish button { font-size:10px; padding:7px 13px; }
.gallery-hero .mode-guide,.gallery-hero .config .small-note { display:none; }
.gallery-hero #demo-car .demo-copy { padding-bottom:250px; }
.gallery-hero #demo-car .demo-description { max-width:260px; }
#demo-car { min-height:660px; }
@media (min-width:1650px) { .gallery-stage,.demo-panel { min-height:640px; } .gallery-render { bottom:95px; } .demo-copy { padding-top:40px; padding-left:50px; } .demo-brand { margin-bottom:58px; } .demo-description { font-size:14px; max-width:320px; } .demo-copy h2 { font-size:68px; } .gallery-hero .config { top:365px;left:50px; } }
@media (max-width:1100px) and (min-width:761px) { .gallery-intro { grid-template-columns:1fr 230px; gap:25px; } .gallery-hero h1 { font-size:6.5vw; } .demo-copy { width:43%; padding-left:25px; } .demo-copy h2 { font-size:42px; } .gallery-render { width:59%; } .demo-description { max-width:240px; } .demo-bottom { padding:18px 25px; } .demo-bottom>p { display:none; } .gallery-hero .config { left:25px; top:315px; } .gallery-tabs button { padding:14px 10px; gap:9px; font-size:11px; } .gallery-disclaimer>span { display:none; } }
@media (max-width:760px) {
 .site-header { gap:9px; padding-inline:16px; }
 .site-header nav { gap:10px; }
 .site-header nav a { font-size:10px; }
 .site-header .contact-link { padding:8px 9px; gap:5px; }
 .site-header .brand { font-size:9px; gap:6px; }
 #motion-toggle { position:static; width:28px; min-width:28px; padding:6px 2px; max-width:none; background:transparent; }
 #motion-toggle [data-motion-label] { display:none; }
 #motion-toggle>span:first-child { font-size:16px; }
 .gallery-hero .hero-sticky { padding:118px 20px 0; }
 .gallery-intro { display:block; margin-bottom:30px; }
 .gallery-hero .heading .tag { font-size:8px; letter-spacing:.06em; margin-bottom:20px; }
 .gallery-hero h1 { font-size:clamp(40px,8.2vw,63px); line-height:1.02; }
 .gallery-hero h1 em { font-size:1.12em; line-height:1; }
 .gallery-hero .hero-note { margin-top:24px; font-size:12px; line-height:1.65; }
 .gallery-hero .hero-note p { margin-bottom:5px; max-width:380px; }
 .gallery-hero .hero-note .text-link { margin-top:9px; }
 .gallery-label { align-items:center; gap:12px; margin-bottom:12px; }
 .gallery-label p { font-size:7px; gap:8px; letter-spacing:.05em; }
 .gallery-label a { font-size:9px; white-space:nowrap; }
 .gallery-label a span { margin-left:3px; }
 .gallery-tabs { gap:6px; display:flex; overflow-x:auto; scrollbar-width:thin; padding:4px 0 11px; scroll-snap-type:x proximity; }
 .gallery-tabs button { flex:1 0 auto; font-size:11px; padding:13px 12px; gap:10px; scroll-snap-align:start; }
 .gallery-tabs button i { display:none; }
 .gallery-browser { padding:12px 13px; grid-template-columns:40px 1fr; }
 .gallery-demo-label { grid-column:1/-1; grid-row:2; text-align:center; font-size:7px; padding-top:3px; }
 #gallery-address { text-align:right; font-size:8px; }
 .gallery-window { border-radius:10px; }
 .gallery-stage,.demo-panel { min-height:850px; }
 .demo-copy { width:100%; padding:24px 24px 110px; }
 .demo-brand { font-size:17px; margin-bottom:23px; }
 .demo-brand span { font-size:7px; }
 .demo-copy h2 { font-size:41px; margin-bottom:0; min-height:125px; }
 .demo-controls { padding-top:320px; }
 .demo-description { max-width:420px; font-size:11px; margin-bottom:15px; }
 .demo-kicker { margin-bottom:10px; }
 .demo-options { margin-bottom:11px; gap:5px; }
 .demo-options button { min-height:35px; padding:7px 11px; font-size:10px; }
 .demo-action { font-size:11px; min-height:42px; padding:10px 14px; gap:20px; }
 .demo-status { font-size:9px; margin-top:10px; min-height:28px; }
 .gallery-render { top:230px; left:0; right:0; width:100%; height:300px; bottom:auto; scroll-margin-top:70px; }
 .gallery-gesture { bottom:8px; right:20px; font-size:7px; gap:8px; }
 .demo-bottom { padding:16px 23px; display:grid; grid-template-columns:1fr auto; gap:8px; min-height:77px; }
 .demo-bottom>span { font-size:7px; letter-spacing:.01em; }
 .demo-bottom>p { font-size:8px; grid-column:1/-1; grid-row:2; }
 .demo-reset { font-size:8px; }
 .gallery-project { padding:21px 23px; display:block; }
 .gallery-project p { font-size:12px; margin:7px 0 16px; }
 .gallery-project>button { width:100%; justify-content:space-between; font-size:11px; padding:12px 16px; }
 .gallery-disclaimer { display:block; padding:12px 3px 0; }
 .gallery-disclaimer p { font-size:8px; }
 .gallery-disclaimer>span { display:none; }
 .gallery-next { padding:45px 0; display:block; }
 .gallery-next p { font-size:20px; }
 .gallery-next p em { font-size:27px; }
 .gallery-next a { font-size:10px; gap:20px; margin-top:25px; justify-content:space-between; }
 .gallery-error { top:auto; bottom:240px; left:30px; right:30px; font-size:13px; }
 .gallery-hero .scene { inset:auto 0 94px; height:410px; }
 #demo-car { min-height:920px; }
 .gallery-hero .scene canvas { top:0; height:calc(100% - 45px); }
 .gallery-hero .view-tools { left:15px; right:15px; justify-content:center; bottom:0; }
 .gallery-hero .view-tools button { font-size:8px; padding:6px; }
 .gallery-hero .scene-status { display:none; }
 .gallery-hero .config { left:24px; top:284px; width:calc(100% - 48px); grid-template-columns:1fr 1fr; gap:16px; }
 .gallery-hero .config .choice { flex-wrap:wrap; }
 .gallery-hero .config .choice p { width:100%; margin-top:5px; }
 .gallery-hero #demo-car .demo-copy { padding-bottom:520px; }
 .gallery-hero #demo-car .demo-copy h2 { min-height:0; margin-bottom:12px; }
 .gallery-hero #demo-car .demo-description { max-width:none; }
 .gallery-hero .config .finish { gap:0; }
 .gallery-hero .config .finish button { font-size:9px; padding:7px 9px; }
}
@media (max-width:365px) { .gallery-hero .hero-sticky { padding-inline:15px; } .gallery-hero .heading .tag { font-size:7px; } .gallery-hero h1 { font-size:37px; } .demo-copy { padding-inline:20px; } .demo-copy h2 { font-size:38px; } .demo-description { font-size:10px; } .demo-brand { margin-bottom:18px; } .demo-options button { padding:6px 9px; font-size:9px; } .demo-actions { gap:5px; } .demo-action { gap:12px; } .demo-bottom { padding-inline:17px; } .demo-bottom>span { font-size:6px; } .gallery-hero .config { left:20px; } }
@media (prefers-reduced-motion:reduce) { .gallery * { transition:none!important; animation:none!important; } }
@media (min-width:761px) and (max-width:1100px) { .gallery-hero .config { top:350px; } }
@media (min-width:1650px) { .gallery-hero .config { top:410px; } }

/* Food photography carries the scene. Motion stays subtle, controllable and local. */
.pizza-photo { touch-action:pan-y; }
.pizza-photo:focus-visible { outline:2px solid var(--demo-accent); outline-offset:-5px; border-radius:25px; }
.pizza-carousel-nav { position:absolute; top:40%; left:5%; right:5%; display:flex; justify-content:space-between; z-index:5; pointer-events:none; }
.pizza-carousel-nav button { pointer-events:auto; display:grid; place-items:center; width:46px; height:46px; border-radius:50%; border:1px solid #65263140; background:#fff9efef; color:#652631; font-size:23px; cursor:pointer; box-shadow:0 5px 22px #65263112; transition:transform .2s,background .2s; }
.pizza-carousel-nav button:hover { transform:scale(1.08); background:white; }
.pizza-carousel-nav button:focus-visible { outline:2px solid #d94723; outline-offset:3px; }
.pizza-carousel-counter { display:block; font-size:9px; letter-spacing:.18em; margin-bottom:7px; opacity:.65; }
.pizza-swipe-hint { display:block; font-size:9px; margin-top:8px; opacity:.65; }
.pizza-demo-note { font-size:10px; margin:9px 0 0; opacity:.75; }
.pizza-order-receipt { display:flex; gap:12px; align-items:flex-start; border:1px solid #65263125; background:#fff9ef; color:#652631; padding:15px; border-radius:12px; margin-top:15px; max-width:340px; }
.pizza-order-receipt[hidden] { display:none; }
.pizza-order-receipt > span { display:grid; place-items:center; background:#356346; color:white; width:25px; height:25px; flex-shrink:0; border-radius:50%; }
.pizza-order-receipt strong { font-size:12px; }
.pizza-order-receipt p { margin:6px 0; font-size:12px; }
.pizza-order-receipt small { font-size:10px; line-height:1.5; }
#demo-pizza .demo-options { flex-wrap:wrap; }
#demo-pizza .demo-options button { min-height:44px; }
#demo-pizza .pizza-order-receipt strong, #demo-pizza .pizza-order-receipt p, #demo-pizza .pizza-order-receipt small { color:#652631; }
#demo-pizza .pizza-caption-label, #demo-pizza .pizza-carousel-counter { display:inline-block; margin:0 5px 8px; }
@media(max-width:760px) {
 #demo-pizza[data-sector="pizza"] .pizza-photo { top:294px; }
 #demo-pizza[data-sector="pizza"] .demo-controls { padding-top:444px; }
}
.gallery[data-active-scene="pizza"] { --demo-bg:#fbf2e5; --demo-ink:#652631; --demo-accent:#d94723; --demo-line:#ddc4b6; }
.gallery[data-active-scene="pizza"] .gallery-stage { background:radial-gradient(ellipse at 85% 12%,#fff9ec 0,transparent 70%),var(--demo-bg); }
.gallery[data-active-scene="pizza"] .gallery-render { display:none; }
#demo-pizza { min-height:660px; overflow:hidden; }
#demo-pizza .demo-copy { width:40%; padding:30px 0 105px 38px; }
#demo-pizza .demo-brand { font-family:var(--serif); font-style:italic; font-size:55px; font-weight:400; letter-spacing:-.06em; margin-bottom:32px; }
#demo-pizza .demo-brand span { font:7px Arial,sans-serif; letter-spacing:.15em; margin-top:8px; }
#demo-pizza .demo-kicker { font-size:8px; letter-spacing:.08em; }
#demo-pizza h2 { font-size:clamp(50px,4.6vw,77px); letter-spacing:-.06em; line-height:.97; max-width:440px; margin-bottom:25px; }
#demo-pizza h2 em { color:var(--demo-ink); font-size:1.06em; display:block; line-height:.96; max-width:420px; }
#demo-pizza .demo-description { max-width:265px; font-size:12px; line-height:1.75; }
#demo-pizza .demo-options { gap:6px; }
#demo-pizza .demo-options button { padding:9px 12px; }
#demo-pizza .demo-action { border-radius:100px; padding:13px 20px; color:#fff9ed; }
#demo-pizza .demo-status { max-width:260px; min-height:35px; }
#demo-pizza .demo-bottom { background:#f7e9da; z-index:5; }
.pizza-photo { position:absolute; top:0; right:0; bottom:75px; width:62%; overflow:visible; pointer-events:auto; isolation:isolate; scroll-margin-top:78px; }
.pizza-disc { position:absolute; z-index:-2; width:78%; height:76%; top:8%; left:19%; border-radius:50% 46% 45% 52%; background:#732936; transform:rotate(-16deg); }
.pizza-word { position:absolute; z-index:-1; top:59%; left:9%; font:italic clamp(60px,8vw,145px)/1 var(--serif); letter-spacing:-.055em; color:#ee5b30; transform:rotate(-14deg); }
.pizza-stamp { position:absolute; z-index:3; top:7%; right:6%; width:85px; height:85px; border:1px solid #ad6045; border-radius:50%; background:#fbf2e5; transform:rotate(12deg); display:flex; flex-direction:column; justify-content:center; align-items:center; gap:4px; box-shadow:0 7px 24px #61271c0a; }
.pizza-stamp span { font-size:8px; letter-spacing:.08em; }
.pizza-stamp b { font:italic 29px/1 var(--serif); font-weight:400; }
.pizza-lift { position:absolute; top:2%; left:50%; height:calc(100% - 100px); width:auto; aspect-ratio:1; translate:-50% 0; transform:translate(var(--pizza-x,0px),var(--pizza-y,0px)); transition:transform .65s cubic-bezier(.2,.7,.2,1); }
.pizza-product { position:absolute; inset:0; transform:rotate(-13deg); filter:drop-shadow(0 25px 19px #47190940); animation:pizza-float 9s ease-in-out infinite; animation-play-state:var(--pizza-play-state,paused); }
.pizza-product img { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; }
.pizza-product img[hidden] { display:none; }
.pizza-caption { position:absolute; bottom:8px; left:16%; right:8%; text-align:center; }
.pizza-caption-label { display:block; text-transform:uppercase; font-size:8px; letter-spacing:.2em; margin-bottom:5px; }
.pizza-caption strong { display:block; font:italic 35px/1 var(--serif); font-weight:400; }
.pizza-caption p { font-size:10px; line-height:1.6; margin:8px 0 0; }
.pizza-progress { width:120px; margin:12px auto 0; height:2px; background:#65263122; opacity:0; }
.pizza-progress span { display:block; height:100%; background:#d94723; transform-origin:left; transform:scaleX(var(--pizza-progress,0)); }
.pizza-oven { position:absolute; z-index:0; top:5%; left:5%; width:90%; aspect-ratio:3/2; border-radius:12px; overflow:hidden; box-shadow:0 25px 45px #47190930; animation:pizza-oven-reveal var(--pizza-duration,7200ms) linear both paused; animation-delay:var(--pizza-time,0ms); }
.pizza-oven img { width:100%; height:100%; object-fit:cover; }
.pizza-heat { position:absolute; inset:0; background:radial-gradient(ellipse at 65% 65%,#fa701b55,transparent 65%); mix-blend-mode:screen; animation:pizza-ember 1.4s ease-in-out infinite; animation-play-state:var(--pizza-play-state,paused); }
.pizza-photo[data-phase="baking"] .pizza-product { animation:pizza-bake var(--pizza-duration,7200ms) ease-in-out both paused; animation-delay:var(--pizza-time,0ms); }
.pizza-photo[data-phase="baking"] .pizza-lift { transform:none; transition:none; z-index:2; }
.pizza-photo[data-phase="baking"] .pizza-disc { opacity:0; }
.pizza-oven-lip { z-index:4; box-shadow:none; pointer-events:none; clip-path:polygon(evenodd,0% 0%,100% 0%,100% 100%,0% 100%,0% 0%,18% 73%,82% 73%,82% 52%,78% 39%,69% 28%,56% 23%,42% 24%,31% 31%,23% 43%,18% 58%,18% 73%); animation-name:pizza-lip-reveal; }
.pizza-peel { position:absolute; inset:0; opacity:0; pointer-events:none; }
.pizza-peel-head { position:absolute; inset:5%; border-radius:42% 42% 32% 32%; background:repeating-linear-gradient(86deg,#ffffff0a 0 1px,transparent 1px 7px),linear-gradient(120deg,#92989a,#ebebe5 30%,#8b9394 51%,#ced0c9 72%,#737c7e); border:3px solid #d5d7ce; box-shadow:0 4px 9px #28150a50; }
.pizza-peel-handle { position:absolute; left:46%; top:87%; width:8%; height:85%; border-radius:0 0 12px 12px; background:repeating-linear-gradient(91deg,#30180c22 0 1px,transparent 1px 5px),linear-gradient(90deg,#734324,#d3a878 37%,#ae7a4d 75%,#714625); box-shadow:2px 4px 8px #28150a40; }
.pizza-photo[data-phase="baking"] .pizza-peel { animation:pizza-peel var(--pizza-duration,7200ms) ease-in-out both paused; animation-delay:var(--pizza-time,0ms); }
.pizza-photo[data-phase="baking"] .pizza-progress { opacity:1; }
.pizza-photo[data-phase="baking"] .pizza-stamp,.pizza-photo[data-phase="baking"] .pizza-word { opacity:0; }
.pizza-photo[data-motion="off"] .pizza-product { animation:none; }
.pizza-photo[data-motion="off"] .pizza-lift { transition:none; transform:none; }
@keyframes pizza-float { 0%,100% { transform:translateY(0) rotate(-13deg); } 50% { transform:translateY(-8px) rotate(-10deg); } }
@keyframes pizza-bake {
 0%,8% { transform:translate(0,0) rotate(-13deg) scale(1); filter:drop-shadow(0 25px 19px #47190940); }
 22% { transform:translate(var(--pizza-oven-x,0px),var(--pizza-front-y,120px)) rotate(0deg) scale(.68,.30); filter:drop-shadow(0 12px 8px #47190960); }
 42%,70% { transform:translate(var(--pizza-oven-x,0px),var(--pizza-oven-y,80px)) rotate(0deg) scale(var(--pizza-oven-sx,.4),var(--pizza-oven-sy,.14)); filter:brightness(.78) saturate(1.1) drop-shadow(0 3px 2px #1b0b0860); }
 83% { transform:translate(var(--pizza-oven-x,0px),var(--pizza-front-y,120px)) rotate(0deg) scale(.68,.30); filter:drop-shadow(0 12px 8px #47190960); }
 100% { transform:translate(0,0) rotate(-13deg) scale(1); filter:drop-shadow(0 25px 19px #47190940); }
}
@keyframes pizza-peel {
 0%,8% { transform:translate(0,0) rotate(-13deg) scale(1); opacity:0; }
 22% { transform:translate(var(--pizza-oven-x,0px),var(--pizza-front-y,120px)) scale(.68,.30); opacity:1; }
 42% { transform:translate(var(--pizza-oven-x,0px),var(--pizza-oven-y,80px)) scale(var(--pizza-oven-sx,.4),var(--pizza-oven-sy,.14)); opacity:1; }
 51%,59% { transform:translate(var(--pizza-oven-x,0px),var(--pizza-exit-y,300px)) scale(.5,.20); opacity:0; }
 70% { transform:translate(var(--pizza-oven-x,0px),var(--pizza-oven-y,80px)) scale(var(--pizza-oven-sx,.4),var(--pizza-oven-sy,.14)); opacity:1; }
 83% { transform:translate(var(--pizza-oven-x,0px),var(--pizza-front-y,120px)) scale(.68,.30); opacity:1; }
 100% { transform:translate(0,0) rotate(-13deg) scale(1); opacity:0; }
}
@keyframes pizza-oven-reveal { 0%,100% { opacity:0; } 15%,85% { opacity:1; } }
@keyframes pizza-lip-reveal { 0%,24%,88%,100% { opacity:0; } 35%,76% { opacity:1; } }
@keyframes pizza-ember { 0%,100% { opacity:.45; } 50% { opacity:.85; } }
@media (min-width:1650px) { #demo-pizza { min-height:740px; } #demo-pizza .demo-copy { padding-left:50px;padding-top:40px; } #demo-pizza .demo-brand { margin-bottom:50px; } #demo-pizza .demo-description { font-size:14px;max-width:300px; } }
@media (max-width:1100px) and (min-width:761px) { #demo-pizza .demo-copy { width:43%;padding-left:25px; } #demo-pizza h2 { font-size:55px; } .pizza-photo { width:59%; } .pizza-lift { top:15%;width:94%;height:auto;left:3%;translate:none; } .pizza-disc { top:23%;height:55%; } .pizza-word { font-size:82px;top:65%; } .pizza-stamp { top:15%;right:5%;width:70px;height:70px; } .pizza-caption { bottom:17px;left:6%;right:6%; } }
@media (max-width:760px) {
 #demo-pizza { min-height:945px; }
 #demo-pizza .demo-copy { width:100%;padding:24px 24px 112px; }
 #demo-pizza .demo-brand { font-size:42px;margin-bottom:22px; }
 #demo-pizza .demo-brand span { font-size:6px; }
 #demo-pizza .demo-kicker { font-size:7px;margin-bottom:12px; }
 #demo-pizza h2 { font-size:48px;line-height:1;min-height:0;margin:0;max-width:320px; }
 #demo-pizza h2 em { font-size:1.03em;line-height:.98; }
 #demo-pizza .demo-controls { padding-top:395px; }
 #demo-pizza .demo-description { max-width:100%;font-size:12px; }
 #demo-pizza .demo-status { max-width:100%;font-size:10px; }
 #demo-pizza .demo-options button { padding:8px 12px; }
 #demo-pizza .demo-bottom { padding:17px 24px; }
 .pizza-photo { top:254px;bottom:auto;left:0;width:100%;height:360px; }
 .pizza-lift { width:90%;left:5%;top:-4%;max-width:420px;height:auto;translate:none; }
 .pizza-disc { top:0;left:13%;width:79%;height:74%; }
 .pizza-word { font-size:80px;top:52%;left:9%; }
 .pizza-stamp { width:62px;height:62px;top:0;right:7%; }
 .pizza-stamp span { font-size:6px; } .pizza-stamp b { font-size:23px; }
 .pizza-caption { left:8%;right:8%;bottom:-5px; }
 .pizza-caption strong { font-size:32px; } .pizza-caption p { font-size:9px;margin-top:7px; }
 .pizza-caption-label { font-size:7px; }
 .pizza-oven { top:5%;left:5%;width:90%; }
 .pizza-progress { margin-top:8px; }
}
@media (min-width:481px) and (max-width:760px) { .pizza-photo { top:235px;height:420px; } .pizza-lift { width:360px;left:calc(50% - 180px);top:0; } .pizza-disc { width:350px;left:calc(50% - 175px);height:340px; } .pizza-word { left:calc(50% - 160px);top:58%;font-size:100px; } #demo-pizza .demo-controls { padding-top:440px; } }
@media (max-width:365px) { #demo-pizza .demo-copy { padding-inline:20px; } #demo-pizza h2 { font-size:43px; } .pizza-photo { top:245px;height:315px; } .pizza-word { font-size:68px; } #demo-pizza .demo-controls { padding-top:355px; } #demo-pizza { min-height:930px; } #demo-pizza .demo-options button { padding:8px 10px;font-size:9px; } }
@media (prefers-reduced-motion:reduce) { .pizza-photo * { animation:none!important;transition:none!important; } }

/* The licensed furniture model keeps its own lazily loaded canvas. */
.gallery-tabs { grid-template-columns:repeat(5,minmax(0,1fr)); }
.gallery[data-active-scene="furniture"] { --demo-bg:#ede9df; --demo-ink:#32392b; --demo-accent:#845630; --demo-line:#c9cbbd; }
.extra-demo-panel { display:grid; grid-template-columns:38% 62%; grid-template-rows:auto 1fr auto; min-height:670px; }
.extra-demo-panel[hidden],.extra-demo-viewer[hidden],.extra-demo-loading[hidden],.extra-demo-fallback[hidden] { display:none!important; }
.extra-demo-panel .demo-copy { width:auto; grid-column:1; grid-row:1; padding-bottom:0; padding-right:8px; }
.extra-demo-panel .demo-copy h2 { font-size:clamp(34px,3.65vw,56px); }
.extra-demo-panel .demo-brand { margin-bottom:32px; }
.extra-visual-slot { grid-column:2; grid-row:1 / span 2; min-width:0; min-height:540px; position:relative; pointer-events:auto; }
.extra-controls { grid-column:1; grid-row:2; padding:0 12px 30px 38px; position:relative; z-index:4; pointer-events:auto; }
.extra-control-label { margin:15px 0 9px; font-size:8px; text-transform:uppercase; letter-spacing:.13em; font-weight:700; }
.extra-fabric-options { gap:7px; }
.extra-fabric-options button { display:inline-flex; align-items:center; gap:7px; text-align:left; border-radius:5px; min-height:40px; padding:9px 10px; }
.extra-fabric-options i { width:15px; height:15px; border-radius:50%; background:var(--sample); border:1px solid #0002; box-shadow:inset 2px 2px 4px #ffffff40; flex-shrink:0; }
.extra-view-actions { display:flex; gap:7px; flex-wrap:wrap; }
.extra-view-actions button { background:transparent; border:1px solid var(--demo-line); color:inherit; border-radius:4px; font-size:10px; padding:9px 10px; min-height:38px; }
.extra-view-actions button[aria-pressed="true"] { background:var(--demo-ink); color:var(--demo-bg); }
.extra-controls button:disabled { cursor:wait; opacity:.58; }
.extra-demo-bottom { grid-column:1/-1; grid-row:3; position:relative; padding-block:20px; align-items:flex-start; flex-wrap:wrap; row-gap:7px; pointer-events:auto; }
.extra-demo-bottom p { flex:1; min-width:160px; }
.extra-demo-bottom small { flex-basis:100%; font-size:8px; line-height:1.5; opacity:.7; }
.extra-demo-bottom a { color:inherit; text-underline-offset:2px; }
.extra-demo-viewer { width:100%; height:100%; min-height:540px; position:relative; isolation:isolate; overflow:hidden; touch-action:pan-y; }
.extra-demo-viewer::before { content:""; position:absolute; width:72%; aspect-ratio:1; border-radius:50%; background:radial-gradient(circle at 35% 30%,#fff9,#ffffff10 60%,transparent); left:14%; top:8%; z-index:-1; }
.extra-demo-viewer::after { content:""; position:absolute; inset:55px 34px 67px; border:1px solid color-mix(in srgb,var(--demo-ink) 9%,transparent); border-radius:50% 50% 9px 9px; pointer-events:none; z-index:-1; }
.extra-edition { position:absolute; top:30px; right:30px; font-size:8px; letter-spacing:.17em; opacity:.6; pointer-events:none; }
.extra-watermark { position:absolute; top:80px; left:5%; right:0; text-align:center; font:700 clamp(65px,9vw,160px)/1 var(--display); letter-spacing:-.08em; color:color-mix(in srgb,var(--demo-ink) 7%,transparent); pointer-events:none; }
#extra-demo-canvas { display:block; width:100%; height:100%; min-height:540px; cursor:grab; touch-action:pan-y; }
#extra-demo-canvas:active { cursor:grabbing; }
#extra-demo-canvas:focus-visible { outline:2px solid var(--demo-accent); outline-offset:-5px; border-radius:8px; }
.extra-object-label { position:absolute; bottom:38px; left:30px; display:grid; gap:5px; pointer-events:none; }
.extra-object-label span { font:500 16px/1.2 var(--display); letter-spacing:-.035em; }
.extra-object-label strong { font-size:8px; text-transform:uppercase; font-weight:400; letter-spacing:.1em; opacity:.67; }
.extra-gesture { position:absolute; bottom:39px; right:30px; font-size:8px; max-width:160px; text-align:right; opacity:.65; pointer-events:none; }
.extra-gesture span { display:block; font-size:24px; line-height:1; margin-bottom:4px; }
.extra-demo-loading { position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:17px; background:var(--demo-bg); z-index:5; }
.extra-demo-loading p { font-size:11px; text-align:center; line-height:1.6; max-width:230px; }
.extra-loading-ring { width:36px; height:36px; border:1px solid var(--demo-line); border-top-color:var(--demo-accent); border-radius:50%; animation:extra-loading 1.2s linear infinite; }
.extra-demo-viewer[data-running="false"] .extra-loading-ring { animation-play-state:paused; }
.extra-demo-fallback { position:absolute; inset:25px 20px 65px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:13px; z-index:6; background:var(--demo-bg); text-align:center; }
.extra-demo-fallback img { max-height:330px; max-width:100%; width:auto; object-fit:contain; border-radius:7px; }
.extra-demo-fallback p { font-size:11px; line-height:1.5; max-width:310px; margin:0; }
.extra-demo-fallback button { pointer-events:auto; color:var(--demo-ink); border:1px solid var(--demo-line); padding:8px 15px; background:transparent; border-radius:5px; font-size:10px; }
@keyframes extra-loading { to { transform:rotate(360deg); } }
@media(min-width:1650px) { .extra-controls { padding-left:50px; } .extra-demo-panel .demo-copy h2 { font-size:64px; } .extra-demo-viewer,#extra-demo-canvas,.extra-visual-slot { min-height:620px; } }
@media(max-width:1100px) and (min-width:761px) { .extra-demo-panel { grid-template-columns:43% 57%; } .extra-controls { padding-left:25px; } .extra-demo-panel .demo-copy h2 { font-size:37px; } .extra-object-label { left:20px; } .extra-gesture { right:20px; max-width:120px; } }
@media(max-width:760px) {
 .gallery-tabs { display:flex; }
 .extra-demo-panel { display:flex; flex-direction:column; min-height:0; }
 .extra-demo-panel .demo-copy { padding:24px 24px 0; }
 .extra-demo-panel .demo-brand { margin-bottom:25px; }
 .extra-demo-panel .demo-copy h2 { min-height:0; font-size:43px; margin-bottom:16px; }
 .extra-demo-panel .demo-description { max-width:360px; margin-bottom:0; }
 .extra-visual-slot { min-height:365px; height:365px; order:2; }
 .extra-demo-viewer,#extra-demo-canvas { min-height:365px; height:365px; }
 .extra-demo-panel .demo-copy { order:1; }
 .extra-controls { order:3; padding:0 24px 26px; }
 .extra-demo-bottom { order:4; padding:20px 24px; }
 .extra-demo-bottom>span { font-size:7px; }
 .extra-demo-bottom p { display:none; }
 .extra-object-label { left:24px; bottom:17px; }
 .extra-object-label span { font-size:14px; }
 .extra-gesture { right:24px; bottom:19px; max-width:120px; font-size:7px; }
 .extra-edition { top:18px; right:24px; font-size:7px; }
 .extra-watermark { top:37px; font-size:100px; }
 .extra-demo-viewer::after { inset:32px 22px 48px; }
 .extra-demo-fallback { inset:15px 20px 55px; }
 .extra-demo-fallback img { max-height:235px; }
}
@media(prefers-reduced-motion:reduce) { .extra-loading-ring { animation:none; } }
html[data-motion="off"] .extra-loading-ring { animation:none; }

/* ÉTATS — independent knitwear label. Typography is local to this panel. */
.gallery[data-active-scene="fashion"] { --demo-bg:#f2f0e9; --demo-ink:#202021; --demo-accent:#d93028; --demo-line:#c9c7c0; }
.fashion-demo-panel { --display:"Syne","Arial Black",Arial,sans-serif; --serif:Arial,sans-serif; --knit-accent:#d93028; --knit-sample:#8b4036; --knit-wheel-angle:0deg; --knit-x:0px; --knit-y:0px; position:relative; min-height:660px; overflow:hidden; pointer-events:auto; color:#202021; background:#f2f0e9; isolation:isolate; font-family:Arial,sans-serif; }
.fashion-demo-panel[hidden] { display:none!important; }
.fashion-demo-panel *, .fashion-demo-panel *::before, .fashion-demo-panel *::after { box-sizing:border-box; }
.fashion-demo-panel button,.fashion-demo-panel a { -webkit-tap-highlight-color:transparent; }
.fashion-demo-panel button:focus-visible,.fashion-demo-panel a:focus-visible,.fashion-product:focus-visible { outline:2px solid var(--knit-accent); outline-offset:4px; }
.fashion-header { display:flex; justify-content:space-between; align-items:center; gap:22px; padding:25px 34px 23px; background:#202021; color:#f2f0e9; border-bottom:5px solid var(--knit-accent); }
.fashion-brand { display:flex; align-items:center; gap:20px; margin:0; font:800 39px/.8 var(--display); letter-spacing:-.08em; }
.fashion-brand span { max-width:65px; padding-left:17px; border-left:1px solid #f2f0e94a; font:10px/1.3 "Courier New",monospace; letter-spacing:0; }
.fashion-edition { display:grid; gap:4px; font:9px/1.4 "Courier New",monospace; text-transform:uppercase; text-align:right; letter-spacing:.035em; }
.fashion-edition span:last-child { color:#aaa9a4; font-size:8px; }
.fashion-layout { position:relative; display:grid; grid-template-columns:minmax(164px,.78fr) minmax(280px,1.8fr) minmax(244px,1fr); gap:12px; align-items:center; padding:43px 34px 34px; min-height:510px; }
.fashion-story { position:relative; z-index:2; align-self:start; padding-top:18px; }
.fashion-eyebrow { margin:0 0 18px; font:9px/1.5 "Courier New",monospace; letter-spacing:.01em; text-transform:uppercase; }
.fashion-eyebrow::before { content:""; display:block; width:25px; height:4px; background:var(--knit-accent); margin-bottom:16px; }
.fashion-story h2 { margin:0 0 24px; font:800 clamp(45px,4.7vw,73px)/.87 var(--display); letter-spacing:-.085em; text-transform:uppercase; }
.fashion-story>p:not(.fashion-eyebrow) { max-width:195px; font-size:11px; line-height:1.7; color:#62625e; margin:0 0 24px; }
.fashion-project-link { display:inline-flex; align-items:center; justify-content:space-between; gap:14px; min-height:44px; padding:10px 12px; border:1px solid #202021; color:inherit; text-decoration:none; font:700 9px/1.25 Arial,sans-serif; text-transform:uppercase; letter-spacing:.02em; }
.fashion-project-link:hover { background:#202021; color:#f2f0e9; }
.fashion-project-link span { font-size:19px; color:var(--knit-accent); }
.fashion-product { position:relative; margin:0; width:100%; max-width:500px; justify-self:center; min-width:0; aspect-ratio:1.03; display:grid; place-items:center; touch-action:pan-y; cursor:grab; outline-offset:-5px!important; user-select:none; -webkit-user-select:none; }
.fashion-product:active { cursor:grabbing; }
.fashion-product::before { content:""; position:absolute; inset:10px 5px 22px; border:1px solid #20202116; }
.fashion-product::after { content:""; position:absolute; bottom:5%; left:20%; right:20%; height:16px; border-radius:50%; background:#20202119; filter:blur(14px); pointer-events:none; }
.fashion-edition-number { position:absolute; right:7px; top:-8px; font:800 clamp(130px,16vw,220px)/.85 var(--display); letter-spacing:-.12em; color:#20202109; pointer-events:none; }
.fashion-photo-reference { position:absolute; z-index:2; top:0; left:17px; padding:5px 8px; background:#f2f0e9; font:8px/1.2 "Courier New",monospace; letter-spacing:.03em; }
.fashion-photo-motion { position:absolute; inset:0; transform:translate3d(var(--knit-x),var(--knit-y),0); transition:transform .5s cubic-bezier(.2,.7,.2,1); }
.fashion-photo-layer { position:absolute; inset:0; display:grid; place-items:center; opacity:0; pointer-events:none; }
.fashion-photo-layer:first-child { opacity:1; }
.fashion-photo-sprite { width:var(--knit-view-width,100%); max-width:100%; aspect-ratio:var(--knit-ratio,362 / 474); background-repeat:no-repeat; }
.fashion-product-note { position:absolute; bottom:-8px; left:0; right:0; text-align:center; color:#676762; font:8px/1.4 "Courier New",monospace; letter-spacing:.02em; pointer-events:none; }
.fashion-selector { position:relative; z-index:3; display:flex; flex-direction:column; align-items:center; padding-top:2px; }
.fashion-dial { --dial-radius:99px; position:relative; width:252px; height:252px; border-radius:50%; isolation:isolate; }
.fashion-dial::before { content:""; position:absolute; inset:14px; border:1px solid #20202135; border-radius:50%; }
.fashion-dial::after { content:""; position:absolute; inset:47px; border-radius:50%; background:repeating-conic-gradient(from 0deg,#20202170 0deg 1deg,transparent 1deg 6deg); mask:radial-gradient(transparent 0 66%,#000 67% 68%,transparent 69%); pointer-events:none; }
.fashion-dial-marker { position:absolute; width:7px; height:14px; background:var(--knit-accent); top:-2px; left:calc(50% - 3.5px); }
.fashion-wheel { position:absolute; inset:0; transform:rotate(var(--knit-wheel-angle)); transition:transform .8s cubic-bezier(.22,.75,.16,1); }
.fashion-choice { position:absolute; left:50%; top:50%; margin:-22px 0 0 -22px; width:44px; height:44px; border:0; background:transparent; border-radius:50%; display:grid; place-items:center; padding:0; cursor:pointer; color:#383838; transform:rotate(var(--choice-angle)) translateY(calc(-1 * var(--dial-radius))) rotate(calc(-1 * var(--choice-angle) - var(--knit-wheel-angle))); transition:transform .8s cubic-bezier(.22,.75,.16,1),color .25s; }
.fashion-choice::before { content:""; position:absolute; inset:6px; border:1px solid #20202147; border-radius:50%; background:#f2f0e9; transition:background .25s,border-color .25s,transform .25s; }
.fashion-choice span { position:relative; font:700 10px/1 "Courier New",monospace; font-variant-numeric:tabular-nums; }
.fashion-choice i { position:absolute; width:3px; height:3px; border-radius:50%; bottom:8px; background:var(--choice-color); }
.fashion-choice[aria-pressed="true"] { color:#fff; }
.fashion-choice[aria-pressed="true"]::before { background:var(--knit-accent); border-color:var(--knit-accent); transform:scale(1.13); }
.fashion-choice[aria-pressed="true"] i { background:#fff9; }
.fashion-choice:hover::before { border-color:var(--knit-accent); transform:scale(1.12); }
.fashion-dial-center { position:absolute; inset:70px 52px; display:flex; align-items:center; justify-content:center; flex-direction:column; pointer-events:none; }
.fashion-dial-center strong { font:800 54px/.95 var(--display); font-variant-numeric:tabular-nums; letter-spacing:-.1em; }
.fashion-dial-center span { font:8px/1.45 "Courier New",monospace; text-transform:uppercase; margin-top:9px; text-align:center; color:#63635f; }
.fashion-product-info { width:100%; text-align:center; margin-top:12px; }
.fashion-product-info h3 { font:800 30px/1 var(--display); text-transform:uppercase; letter-spacing:-.055em; margin:0 0 8px; }
.fashion-product-info>p { min-height:28px; font-size:10px; line-height:1.6; color:#62625e; margin:0 0 13px; }
.fashion-navigation { display:flex; justify-content:center; align-items:center; gap:13px; }
.fashion-navigation button { width:44px; height:44px; border:1px solid #202021; border-radius:0; background:transparent; color:inherit; font-size:18px; cursor:pointer; transition:background .25s,color .25s; }
.fashion-navigation button:hover { background:#202021; color:#f2f0e9; }
.fashion-navigation span { font:8px/1.4 "Courier New",monospace; text-transform:uppercase; color:#62625e; }
.fashion-footer { position:relative; z-index:3; display:flex; align-items:center; justify-content:space-between; gap:24px; border-top:1px solid #20202140; padding:19px 34px; }
.fashion-footer>p { font-size:10px; line-height:1.6; margin:0; max-width:390px; color:#63635e; }
.fashion-footer>p strong { display:block; color:#202021; font-weight:700; text-transform:uppercase; font-size:9px; margin-bottom:3px; }
.fashion-fabric { display:flex; align-items:center; gap:12px; }
.fashion-fabric-photo { width:76px; aspect-ratio:var(--knit-ratio,308 / 270); background-repeat:no-repeat; border-radius:3px; }
.fashion-fabric span { font:8px/1.6 "Courier New",monospace; text-transform:uppercase; }
.fashion-sr-only { position:absolute!important; width:1px!important; height:1px!important; overflow:hidden!important; clip-path:inset(50%)!important; white-space:nowrap!important; padding:0!important; border:0!important; }
.fashion-demo-panel[data-running="false"] .fashion-wheel,.fashion-demo-panel[data-running="false"] .fashion-choice,.fashion-demo-panel[data-running="false"] .fashion-photo-motion { transition:none; }
@media(min-width:1550px) { .fashion-layout { padding-block:50px; } }
@media(max-width:1100px) and (min-width:761px) {
 .fashion-layout { padding-inline:24px; grid-template-columns:minmax(145px,.7fr) minmax(225px,1.4fr) 222px; gap:0; }
 .fashion-story h2 { font-size:48px; }
 .fashion-dial { --dial-radius:85px; width:224px; height:224px; }
 .fashion-dial-center { inset:62px 45px; }
 .fashion-choice::before { inset:8px; }
 .fashion-project-link { max-width:148px; }
}
@media(max-width:760px) {
 .fashion-demo-panel { min-height:0; }
 .fashion-header { padding:20px 20px 18px; gap:14px; border-bottom-width:4px; }
 .fashion-brand { font-size:30px; gap:12px; }
 .fashion-brand span { font-size:8px; max-width:55px; padding-left:10px; }
 .fashion-edition { font-size:7px; max-width:122px; gap:3px; }
 .fashion-edition span:last-child { font-size:6px; }
 .fashion-layout { display:flex; flex-direction:column; min-height:0; padding:25px 20px 23px; gap:0; }
 .fashion-story { display:grid; grid-template-columns:1fr auto; align-self:stretch; padding:0; }
 .fashion-eyebrow { grid-column:1/-1; font-size:8px; margin-bottom:12px; }
 .fashion-eyebrow::before { display:inline-block; width:15px; height:3px; margin:0 8px 2px 0; }
 .fashion-story h2 { grid-column:1/-1; font-size:44px; line-height:.95; margin-bottom:12px; }
 .fashion-story h2 br { display:none; }
 .fashion-story>p:not(.fashion-eyebrow) { font-size:10px; max-width:155px; margin:0; }
 .fashion-project-link { align-self:center; min-height:44px; font-size:8px; padding:8px; gap:8px; }
 .fashion-product { width:calc(100% + 8px); max-width:400px; aspect-ratio:1.04; margin:22px -4px 20px; }
 .fashion-edition-number { top:-2px; font-size:155px; }
 .fashion-product-note { font-size:7px; bottom:-10px; }
 .fashion-selector { display:grid; grid-template-columns:1fr; justify-items:center; width:100%; padding-top:9px; }
 .fashion-dial { --dial-radius:91px; width:236px; height:236px; order:2; }
 .fashion-dial-center { inset:66px 51px; }
 .fashion-product-info { display:grid; grid-template-columns:1fr auto; column-gap:12px; align-items:center; margin:0 0 25px; text-align:left; order:1; }
 .fashion-product-info h3 { font-size:25px; margin:0 0 6px; }
 .fashion-product-info>p { grid-column:1; min-height:0; font-size:9px; margin:0; }
 .fashion-navigation { grid-column:2; grid-row:1 / span 2; gap:7px; }
 .fashion-navigation span { display:none; }
 .fashion-navigation button { width:44px; height:44px; }
 .fashion-footer { padding:17px 20px; gap:15px; }
 .fashion-footer>p { font-size:8px; max-width:180px; }
 .fashion-footer>p strong { font-size:8px; }
 .fashion-fabric { flex-direction:column; align-items:flex-end; gap:5px; flex-shrink:0; }
 .fashion-fabric-photo { width:77px; }
 .fashion-fabric span { font-size:6px; }
}
@media(max-width:370px) { .fashion-brand { font-size:27px; } .fashion-brand span { display:none; } .fashion-story { grid-template-columns:1fr; } .fashion-story>p:not(.fashion-eyebrow) { max-width:none; } .fashion-project-link { justify-self:start; margin-top:12px; } }
@media(prefers-reduced-motion:reduce) { .fashion-demo-panel * { transition:none!important; animation:none!important; } }
html[data-motion="off"] .fashion-demo-panel * { transition:none!important; animation:none!important; }

/* Original photo sheets: keep each full garment within its native-resolution viewport. */
.fashion-product-stage { width:100%; max-width:362px; min-width:0; justify-self:center; }
.fashion-product { max-width:362px; aspect-ratio:362 / 490; margin:0 auto 22px; }
.fashion-product::before,.fashion-product::after { display:none; }
.fashion-photo-layer { overflow:hidden; border-radius:5px; }
.fashion-photo-reference { top:-12px; left:0; padding-left:0; }
.fashion-product-note { bottom:-7px; font-size:7px; }
.fashion-story h2 { font-size:clamp(25px,2.4vw,36px); letter-spacing:-.07em; }
.fashion-views { display:flex; justify-content:center; gap:4px; flex-wrap:wrap; }
.fashion-views button { min-height:44px; border:1px solid #20202130; padding:8px 10px; font:9px/1.3 Arial,sans-serif; color:#575753; background:transparent; cursor:pointer; transition:background .25s,color .25s; }
.fashion-views button[aria-pressed="true"] { color:#f2f0e9; background:#202021; border-color:#202021; }
.fashion-views button:hover { border-color:var(--knit-accent); }
@media(max-width:760px) { .fashion-product-stage { max-width:330px; margin:30px auto 27px; } .fashion-product { width:100%; margin:0 auto 22px; } .fashion-story h2 { font-size:clamp(25px,5.3vw,36px); } }

/* The selector orbits the garment; all three 44px controls remain outside its silhouette. */
.fashion-layout { grid-template-columns:minmax(190px,.65fr) minmax(0,1.6fr); gap:24px; padding:38px 38px 30px; }
.fashion-story { align-self:center; padding:0; }
.fashion-story h2 { font-size:clamp(28px,3.2vw,47px); }
.fashion-product-stage { max-width:620px; margin:0; width:100%; }
.fashion-orbit { position:relative; width:100%; aspect-ratio:1; container-type:inline-size; isolation:isolate; }
.fashion-orbit .fashion-product { position:absolute; width:68%; max-width:none; aspect-ratio:620 / 760; left:16%; top:8%; margin:0; z-index:2; }
.fashion-orbit .fashion-dial { --dial-radius:43cqw; position:absolute; inset:0; width:100%; height:100%; z-index:3; pointer-events:none; }
.fashion-orbit .fashion-dial::before { inset:7%; border-color:#20202128; }
.fashion-orbit .fashion-dial::after { inset:9%; opacity:.3; }
.fashion-orbit .fashion-dial-marker { display:none; }
.fashion-orbit .fashion-choice { pointer-events:auto; width:48px; height:48px; margin:-24px 0 0 -24px; }
.fashion-orbit .fashion-choice::before { inset:0; box-shadow:0 3px 12px #20202109; }
.fashion-orbit .fashion-choice span { font-size:11px; }
.fashion-orbit .fashion-choice i { width:5px; height:5px; bottom:7px; }
.fashion-orbit .fashion-photo-reference,.fashion-orbit .fashion-edition-number,.fashion-orbit .fashion-product-note { display:none; }
.fashion-orbit .fashion-photo-layer { overflow:hidden; border-radius:0; }
.fashion-orbit .fashion-product:focus-visible { outline:none!important; }
.fashion-orbit:has(.fashion-product:focus-visible) .fashion-dial::before { outline:2px solid var(--knit-accent); outline-offset:5px; }
.fashion-product-info { margin:22px 0 0; text-align:center; }
.fashion-counter-label { display:block; margin-bottom:10px; font:10px/1.3 "Courier New",monospace; letter-spacing:.15em; color:#76736a; }
.fashion-counter-label strong { color:var(--knit-accent); }
.fashion-views { position:relative; z-index:4; margin-top:4px; }
.fashion-footer { border-top-color:#20202120; }
@media(max-width:1100px) and (min-width:761px) { .fashion-layout { grid-template-columns:minmax(170px,.55fr) minmax(0,1.3fr); padding:28px 24px; gap:16px; } .fashion-story h2 { font-size:30px; } }
@media(max-width:760px) {
 .fashion-layout { display:flex; padding:26px 18px; gap:20px; }
 .fashion-story h2 { font-size:clamp(25px,5.3vw,36px); }
 .fashion-product-stage { max-width:540px; margin:0; }
 .fashion-product-info { display:block; margin:20px 0 0; text-align:center; }
 .fashion-product-info h3 { margin:0 0 7px; }
 .fashion-product-info>p { margin:0 0 12px; }
 .fashion-navigation { display:flex; justify-content:center; }
 .fashion-navigation span { display:block; }
 .fashion-orbit .fashion-choice { width:44px; height:44px; margin:-22px 0 0 -22px; }
 .fashion-views { gap:3px; }
 .fashion-views button { padding:8px; font-size:8px; }
}

/* A photographic before/after experience, scoped to its gallery panel. */
.gallery[data-active-scene="detailing"] {
  --demo-bg:#171c1a;
  --demo-ink:#f5f2e9;
  --demo-accent:#d9e5b2;
  --demo-line:#3e4741;
}
.gallery[data-active-scene="detailing"] .gallery-stage { min-height:0; }
.demo-panel.detailing-panel {
  --detailing-accent:#d9e5b2;
  --detailing-soft:#aeb7ae;
  min-height:0;
  padding:30px 0 0;
  overflow:hidden;
  color:#f5f2e9;
  background:#171c1a;
  pointer-events:auto;
}
.detailing-panel[hidden] { display:none !important; }
.detailing-header {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  padding:0 34px 26px;
}
.detailing-brand {
  display:flex;
  align-items:center;
  gap:12px;
  margin:0;
  font:600 22px/1 var(--display,Arial,sans-serif);
  letter-spacing:-.08em;
}
.detailing-brand > span { color:var(--detailing-accent); font-weight:400; }
.detailing-brand small {
  font:8px/1.5 Arial,sans-serif;
  letter-spacing:.14em;
  border-left:1px solid #4a554b;
  padding-left:12px;
  color:var(--detailing-soft);
}
.detailing-edition { color:var(--detailing-soft); font:8px/1.4 Arial,sans-serif; letter-spacing:.14em; text-align:right; }
.detailing-layout { display:grid; grid-template-columns:minmax(0,.78fr) minmax(0,1.5fr); align-items:center; }
.detailing-panel .detailing-copy {
  width:auto;
  padding:28px 20px 35px 34px;
  min-width:0;
}
.detailing-eyebrow { display:flex; align-items:center; gap:9px; margin:0 0 19px; font:8px/1.6 Arial,sans-serif; letter-spacing:.13em; color:var(--detailing-accent); }
.detailing-eyebrow::before { content:""; width:5px; height:5px; border-radius:50%; background:currentColor; flex-shrink:0; }
.detailing-panel .detailing-copy h2 { margin:0 0 22px; font:500 clamp(35px,3.8vw,61px)/.99 var(--display,Arial,sans-serif); letter-spacing:-.065em; }
.detailing-panel .detailing-copy h2 em { font:italic 1.13em/1.05 var(--serif,Georgia,serif); color:var(--detailing-accent); letter-spacing:-.055em; }
.detailing-description { max-width:255px; margin:0; font:12px/1.75 Arial,sans-serif; color:#bac2b8; }
.detailing-services { display:flex; flex-wrap:wrap; gap:8px 15px; padding:24px 0 0; margin:0; list-style:none; color:#e0e5da; font:8px/1.5 Arial,sans-serif; letter-spacing:.06em; }
.detailing-services li + li::before { content:"/"; display:inline-block; margin-right:15px; color:#727d71; }
.detailing-photography { min-width:0; margin:0; padding:0; }
.detailing-compare {
  --detailing-reveal:45%;
  position:relative;
  width:100%;
  aspect-ratio:3 / 2;
  overflow:hidden;
  isolation:isolate;
  background:#303932;
  touch-action:pan-y;
}
.detailing-compare > img {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center;
  user-select:none;
  pointer-events:none;
}
.detailing-compare [data-detailing-image="clean"] { z-index:1; clip-path:inset(0 calc(100% - var(--detailing-reveal)) 0 0); }
.detailing-photo-label { position:absolute; top:18px; z-index:2; padding:7px 10px; border:1px solid #ffffff40; border-radius:3px; background:#111711c9; color:#fff; font:8px/1 Arial,sans-serif; letter-spacing:.12em; pointer-events:none; }
.detailing-photo-label.is-after { left:18px; color:var(--detailing-accent); }
.detailing-photo-label.is-before { right:18px; }
.detailing-compare[data-position="before"] .is-after,
.detailing-compare[data-position="after"] .is-before { visibility:hidden; }
.detailing-range {
  position:absolute;
  inset:0;
  z-index:5;
  width:100%;
  height:100%;
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  opacity:0;
  appearance:none;
  -webkit-appearance:none;
  background:transparent;
  cursor:ew-resize;
  touch-action:pan-y;
}
.detailing-range::-webkit-slider-runnable-track { height:100%; background:transparent; }
.detailing-range::-webkit-slider-thumb { width:1px; height:100%; margin:0; appearance:none; -webkit-appearance:none; background:transparent; border:0; }
.detailing-range::-moz-range-track { height:100%; background:transparent; border:0; }
.detailing-range::-moz-range-thumb { width:1px; height:100%; background:transparent; border:0; border-radius:0; }
.detailing-range:disabled { cursor:default; }
.detailing-divider { position:absolute; z-index:3; top:0; bottom:0; left:var(--detailing-reveal); width:1px; background:#fbffe8; box-shadow:0 0 0 1px #10161040; pointer-events:none; }
.detailing-grip {
  position:absolute;
  top:50%;
  left:0;
  transform:translate(-50%,-50%);
  display:grid;
  grid-template-columns:1fr 1fr;
  align-items:center;
  justify-items:center;
  width:46px;
  height:46px;
  border-radius:50%;
  background:var(--detailing-accent);
  border:1px solid #f4ffda;
  box-shadow:0 5px 28px #10150f65;
  color:#1c261b;
  font:22px/1 Arial,sans-serif;
}
.detailing-grip::after { content:""; position:absolute; top:14px; bottom:14px; left:50%; width:1px; background:#4e60413d; }
.detailing-range:focus-visible ~ .detailing-divider .detailing-grip { outline:3px solid #fff; outline-offset:5px; }
.detailing-compare[data-position="before"] .detailing-divider { left:0; }
.detailing-compare[data-position="before"] .detailing-grip { transform:translate(7px,-50%); }
.detailing-compare[data-position="after"] .detailing-grip { transform:translate(calc(-100% - 7px),-50%); }
.detailing-comparison-note { margin:0; padding:12px 23px 13px; border-top:1px solid #414b3f; font:9px/1.55 Arial,sans-serif; color:#b8c2b2; }
.detailing-controlbar { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:24px 34px; border-top:1px solid #3c453c; }
.detailing-control-copy { min-width:0; }
.detailing-control-copy label { display:block; color:#f3f6e9; font:11px/1.5 Arial,sans-serif; }
.detailing-control-copy p { margin:4px 0 0; max-width:430px; color:#aeb9a7; font:9px/1.6 Arial,sans-serif; }
.detailing-actions { display:flex; align-items:center; gap:8px; flex-shrink:0; }
.detailing-actions button { min-height:44px; min-width:66px; padding:11px 15px; border:1px solid #5b6954; border-radius:4px; color:#e7eddf; background:transparent; font:10px/1.4 Arial,sans-serif; cursor:pointer; transition:background .18s,color .18s,border-color .18s; }
.detailing-actions button:hover { background:#313e2b; border-color:#becbaf; }
.detailing-actions button[aria-pressed="true"] { color:#1c251a; background:var(--detailing-accent); border-color:var(--detailing-accent); }
.detailing-actions button:focus-visible { outline:2px solid #f4ffd5; outline-offset:4px; }
.detailing-actions button:disabled { opacity:.45; cursor:default; }
.detailing-progress { min-width:80px; text-align:center; color:var(--detailing-accent); font:8px/1.3 Arial,sans-serif; letter-spacing:.06em; font-variant-numeric:tabular-nums; }
.detailing-visually-hidden { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.detailing-compare [data-detailing-failed="true"] { display:none; }
.detailing-compare[data-image-state="error"] [data-detailing-image="clean"] { clip-path:none; }
.detailing-compare[data-image-state="error"] .detailing-divider,
.detailing-compare[data-image-state="error"] .detailing-photo-label { display:none; }
.detailing-panel[data-detailing-motion="off"] *,
.detailing-panel[data-detailing-motion="off"] *::before,
.detailing-panel[data-detailing-motion="off"] *::after { transition:none !important; animation:none !important; }
@media (min-width:1650px) {
  .detailing-header { padding:6px 45px 29px; }
  .detailing-panel .detailing-copy { padding-left:45px; }
  .detailing-description { font-size:14px; max-width:290px; }
  .detailing-controlbar { padding-inline:45px; }
}
@media (max-width:960px) {
  .detailing-layout { grid-template-columns:minmax(0,.88fr) minmax(0,1.35fr); }
  .detailing-panel .detailing-copy { padding-left:24px; }
  .detailing-panel .detailing-copy h2 { font-size:38px; }
  .detailing-header,.detailing-controlbar { padding-inline:24px; }
}
@media (max-width:760px) {
  .demo-panel.detailing-panel { padding-top:24px; }
  .detailing-header { padding:0 22px 22px; gap:10px; }
  .detailing-brand { font-size:20px; gap:9px; }
  .detailing-brand small { font-size:7px; padding-left:9px; }
  .detailing-edition { font-size:7px; letter-spacing:.07em; max-width:76px; }
  .detailing-layout { display:block; }
  .detailing-panel .detailing-copy { padding:7px 22px 25px; }
  .detailing-panel .detailing-copy h2 { min-height:0; font-size:clamp(34px,7.8vw,47px); margin:0 0 15px; }
  .detailing-eyebrow { margin-bottom:14px; font-size:7px; }
  .detailing-description { max-width:430px; font-size:11px; line-height:1.7; }
  .detailing-services { padding-top:15px; font-size:7px; }
  .detailing-photo-label { top:13px; padding:6px 8px; font-size:7px; }
  .detailing-photo-label.is-before { right:13px; }
  .detailing-photo-label.is-after { left:13px; }
  .detailing-grip { width:44px; height:44px; font-size:21px; }
  .detailing-comparison-note { padding:11px 22px; font-size:8px; }
  .detailing-controlbar { align-items:stretch; flex-direction:column; padding:20px 22px 22px; gap:16px; }
  .detailing-actions { justify-content:space-between; }
  .detailing-actions button { flex:1; min-width:0; }
  .detailing-progress { min-width:88px; }
}
@media (prefers-reduced-motion:reduce) {
  .detailing-panel *, .detailing-panel *::before, .detailing-panel *::after { transition:none !important; animation:none !important; }
}

/* The commercial journey is intentionally three sections: demonstration, offer, contact. */
@font-face{font-family:Syne;src:url('./assets/fonts/Syne-Variable.ttf') format('truetype');font-weight:400 800;font-display:swap}
@font-face{font-family:'Instrument Serif';src:url('./assets/fonts/InstrumentSerif-Italic.ttf') format('truetype');font-style:italic;font-display:swap}
.site-header{backdrop-filter:blur(18px);background:color-mix(in srgb,var(--paper) 94%,transparent)}
.brand small{display:block;font:9px/1.4 Arial;letter-spacing:.12em;margin-top:7px;color:var(--muted)}
.gallery-hero .hero-sticky{padding-top:140px;padding-bottom:50px}
.gallery-intro{margin-bottom:40px}.gallery-hero h1{font-size:clamp(46px,6.5vw,100px)}
.gallery-label p{font-size:9px}.gallery-disclaimer p{font-size:10px;max-width:760px}
.gallery-project>button{min-height:44px}.gallery-tabs{grid-template-columns:repeat(5,1fr)}
.gallery-tabs button{min-height:46px}.gallery-next{display:none}
.commerce-offers,.commerce-contact{padding:95px var(--gutter);scroll-margin-top:80px}
.commerce-offers{background:#e6e8df;border-top:1px solid var(--line)}
.commerce-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:40px}
.commerce-heading h2,.commerce-contact h2{font:600 clamp(38px,5vw,76px)/1.02 var(--display);letter-spacing:-.06em;margin:0}
.commerce-heading h2 em,.commerce-contact h2 em{font-family:var(--serif);font-weight:400;letter-spacing:-.02em}
.commerce-heading>p{max-width:320px;font-size:14px;line-height:1.6;color:#5c6359;margin:0}
.offer-grid{display:grid;grid-template-columns:repeat(var(--offer-count,3),1fr);gap:16px;align-items:stretch}
.offer-card{background:var(--paper);padding:29px 25px;display:flex;flex-direction:column;position:relative;border:1px solid #d1d5c7;border-radius:6px;transition:transform .3s}
.offer-card:hover{transform:translateY(-4px)}.offer-card.is-featured{background:#253d34;color:#f3f0e8;border-color:#253d34}
.offer-card .offer-tag{font:10px/1.6 var(--display);text-transform:uppercase;letter-spacing:.12em;margin:0 0 24px;opacity:.7}
.offer-card h3{font:600 27px/1.12 var(--display);letter-spacing:-.04em;margin:0 0 13px}
.offer-card .offer-price{font:600 clamp(34px,3.2vw,54px)/1 var(--display);letter-spacing:-.045em;margin:0 0 20px}
.offer-price small{display:block;font:11px/1.7 Arial;letter-spacing:0}.offer-card .offer-summary{font-size:13px;line-height:1.6;min-height:42px;margin:0 0 14px;opacity:.8}
.offer-card ul{padding:0;list-style:none;display:grid;gap:12px;font-size:12px;margin:0 0 30px}.offer-card li{display:flex;gap:8px}.offer-card li:before{content:'↗';color:var(--accent)}
.offer-card.is-featured li:before{color:#c7dabc}
.offer-cta{display:flex;justify-content:space-between;align-items:center;margin-top:auto;border:1px solid currentColor;padding:15px 14px;min-height:48px;text-decoration:none;font-size:12px;font-weight:700;border-radius:3px;gap:14px}
.offer-cta:hover{background:var(--ink);color:var(--paper)}.is-featured .offer-cta:hover{background:#e6efdd;color:#253d34}
.offer-card .renewal{border:0;padding:0;margin:12px 0 0;font-size:10px;opacity:.7}
.growth-strip{margin-top:18px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:28px;background:#243b32;color:#f3f0e8;padding:32px;border-radius:6px}
.growth-strip .tag{color:#c6dbc0}.growth-strip h3{font:600 28px/1.2 var(--display);letter-spacing:-.04em;margin:0 0 10px}.growth-strip p{font-size:13px;margin:0;max-width:720px;opacity:.85}.growth-strip .offer-cta{margin:0;min-width:210px}
.offer-details{margin-top:25px;border-top:1px solid #c7ccbd;font-size:12px}.offer-details summary{padding:20px 0;cursor:pointer;font-weight:700}.offer-details .details-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;padding:0 0 20px;line-height:1.75}.details-grid h4{font-size:13px;margin:0 0 6px}.details-grid p{margin:0 0 10px;color:#535c4f}.offer-footnote{font-size:11px;color:#56604f;line-height:1.6;margin:19px 0 0}
.commerce-contact{display:grid;grid-template-columns:1fr 1.12fr;gap:8vw;background:var(--paper)}
.contact-intro>p{font-size:14px;max-width:390px;color:var(--muted);margin:25px 0}.contact-intro .tag{color:var(--ink)}
.short-steps{list-style:none;padding:0;display:grid;gap:24px;margin:34px 0}.short-steps li{display:grid;grid-template-columns:25px 1fr;gap:12px;font-size:13px}.short-steps span{color:var(--accent);font:12px var(--display)}.short-steps strong{display:block}.short-steps small{display:block;font-size:12px;color:var(--muted);margin-top:4px}
.contact-person{padding-top:22px;border-top:1px solid var(--line);font-size:13px}.contact-person strong{font-family:var(--display)}.contact-person p{font-size:12px;color:var(--muted);margin:5px 0}.contact-person a{font-size:12px;text-underline-offset:4px}
#project-form{padding:32px;background:#fffdf7;border:1px solid #d6d8cc;box-shadow:0 20px 55px #243b3208;border-radius:6px}
#project-form label{font-size:12px;font-weight:700;display:block;margin:0 0 17px}
#project-form input:not([type=checkbox]),#project-form select,#project-form textarea{width:100%;border:1px solid #d5d9cc;background:#fbfcf7;border-radius:3px;font:14px/1.4 Arial;padding:13px;margin-top:8px;color:var(--ink);min-height:46px}
#project-form input:focus,#project-form select:focus,#project-form textarea:focus{outline:2px solid #4d6c58;outline-offset:2px}
.contact-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field-optional{font-weight:400;color:#6a7065}
.selected-summary{border-left:3px solid #284a37;padding:0 0 0 15px;margin-bottom:26px}.selected-summary strong{font:600 16px var(--display)}.selected-summary p{font-size:11px;color:var(--muted);margin:6px 0 0}
#project-form .contact-check{display:flex;gap:10px;font-weight:400;font-size:11px;align-items:flex-start;line-height:1.6;margin-top:8px}.contact-check input{width:16px;height:16px;flex-shrink:0;accent-color:#294735;margin-top:2px}
#project-form .contact-trap{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
#contact-submit{width:100%;min-height:52px;background:#243b32;color:white;padding:14px;border:0;border-radius:3px;text-align:left;font:600 13px var(--display);cursor:pointer}
#contact-submit:disabled{opacity:.6;cursor:wait}.form-note{font-size:10px;color:#687060;line-height:1.7;margin:13px 0 0}.form-note a{text-decoration:underline}.contact-feedback{padding:18px;background:#edf7e8;color:#29432d;border:1px solid #b9d1b3;line-height:1.7;font-size:13px;margin-top:18px}.contact-feedback.is-error{background:#fff0eb;border-color:#d99886;color:#872d19}
.site-footer{padding:28px var(--gutter);border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:11px}.footer-links{display:flex;gap:20px}.footer-links a{text-underline-offset:4px}
.legal-page{max-width:840px;margin:145px auto 70px;padding:0 25px}.legal-page h1{font:600 48px/1.1 var(--display);letter-spacing:-.05em}.legal-page h2{font:600 23px/1.25 var(--display);margin-top:38px}.legal-page p,.legal-page li{font-size:14px;line-height:1.8}.legal-page a{text-decoration:underline}.legal-page .tag{font-size:10px}
/* ERP demonstration: useful interactions, entirely fictional demonstration data. */
body[data-site=erp]{--paper:#f2f1ec;--accent:#5d8065}.erp-hero{padding:145px var(--gutter) 65px}.erp-hero .gallery-intro{margin-bottom:44px}.erp-hero h1{font:600 clamp(45px,6.4vw,96px)/.97 var(--display);letter-spacing:-.065em;margin:18px 0}.erp-hero h1 em{font-family:var(--serif);font-weight:400;letter-spacing:-.015em}.erp-hero .hero-note{font-size:14px;max-width:310px}.erp-hero .tag{font-size:10px}
.erp-shell{background:#fcfdf9;border:1px solid #bfc9b9;border-radius:10px;box-shadow:0 30px 80px #243b320c;overflow:hidden}.erp-chrome{background:#e3e8de;display:flex;justify-content:space-between;gap:18px;padding:13px 24px;border-bottom:1px solid #cbd3c5;font-size:10px;letter-spacing:.07em}.erp-chrome b{color:#3f6747}.erp-main{display:grid;grid-template-columns:190px 1fr;min-height:525px}.erp-sidebar{padding:26px 17px;background:#253c32;color:#eef6e8}.erp-sidebar strong{display:block;font:600 23px var(--display);margin:0 10px 34px}.erp-tabs{display:grid;gap:8px}.erp-tabs button{text-align:left;padding:13px;border:0;background:transparent;color:#c5d5c8;font-size:12px;border-radius:4px;cursor:pointer}.erp-tabs button[aria-selected=true]{background:#e7efdf;color:#273d30}.erp-sidebar small{display:block;padding:35px 10px 0;font-size:10px;line-height:1.7;color:#bbd0bd}.erp-content{padding:30px}.erp-content-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.erp-content-head h2{font:600 27px var(--display);letter-spacing:-.04em;margin:0}.erp-content-head span{font-size:10px;background:#edf1e5;padding:6px 10px;border-radius:20px;color:#5d6c4b}.erp-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.erp-metric{background:#edf1e7;padding:18px;border-radius:5px}.erp-metric small{display:block;font-size:10px;color:#58674d}.erp-metric strong{display:block;font:600 29px var(--display);margin-top:9px;letter-spacing:-.04em}.erp-activity{display:grid;grid-template-columns:1.2fr 1fr;gap:25px;margin-top:27px}.erp-activity h3,.erp-panel h3{font:600 15px var(--display);margin:0 0 18px}.erp-bar{display:flex;align-items:center;gap:10px;font-size:10px;margin:14px 0}.erp-bar span{width:70px}.erp-bar i{display:block;height:17px;background:#52755a;border-radius:2px;width:var(--bar)}.erp-log{padding-left:14px;border-left:1px solid #b3c5aa;font-size:11px;line-height:1.7}.erp-log small{font-size:9px;color:#6d785f;display:block}.erp-log p{margin:0 0 16px}.erp-filters{display:flex;gap:8px;margin-bottom:22px}.erp-filters button{background:#f3f6ef;border:1px solid #ccd5c3;padding:9px 13px;font-size:11px;border-radius:20px;cursor:pointer}.erp-filters button[aria-pressed=true]{background:#253c32;color:white;border-color:#253c32}.erp-table{width:100%;border-collapse:collapse;font-size:12px}.erp-table th{text-align:left;font-size:9px;color:#768267;padding:12px 6px;border-bottom:1px solid #d5ddce;font-weight:400}.erp-table td{padding:18px 6px;border-bottom:1px solid #e7ebdf}.erp-status{padding:5px 8px;border-radius:15px;background:#e7efde;font-size:9px;white-space:nowrap}.erp-status.pending{background:#f7ead1;color:#846325}.erp-board{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.erp-column{padding:15px;background:#edf1e7;border-radius:5px}.erp-column h3{font-size:10px;text-transform:uppercase;letter-spacing:.04em}.erp-task{background:white;padding:14px 10px;margin-top:12px;border:1px solid #dce3d5;border-radius:3px;font-size:11px}.erp-task small{display:block;font-size:9px;color:#6a785f;margin-top:7px}.erp-proof{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #d4ddcc;padding:20px 25px;gap:20px}.erp-proof p{font-size:11px;margin:0;max-width:600px;color:#5d6d52}.erp-proof a{font-size:12px;font-weight:700;white-space:nowrap}.erp-disclaimer{font-size:10px;color:#75816b;padding:13px 0 0;margin:0}
.erp-hero{height:auto;min-height:0;overflow:visible}.erp-hero .hero-note{position:static;max-width:310px}.erp-hero .gallery-intro{display:grid;grid-template-columns:1fr 290px;align-items:end;gap:35px}
@media(min-width:1650px){.gallery-hero .hero-sticky{padding-top:155px}}
@media(max-width:1150px){.offer-grid{grid-template-columns:repeat(2,1fr)}.commerce-contact{gap:5vw}.gallery-intro{grid-template-columns:1fr 240px}.erp-main{grid-template-columns:155px 1fr}}
@media(max-width:760px){.site-header{padding-inline:20px}.site-header .brand{gap:9px}.brand small{display:none}.site-header nav{gap:15px}.site-header .nav-services{display:none}.site-header #motion-toggle{padding:8px;width:31px;min-width:31px}.site-header #motion-toggle [data-motion-label]{display:none}.gallery-hero .hero-sticky{padding-top:118px;padding-bottom:35px}.gallery-intro{display:block;margin-bottom:30px}.gallery-hero h1{font-size:clamp(40px,8.5vw,60px)}.gallery-hero .hero-note{font-size:12px;margin-top:20px}.gallery-tabs button{font-size:11px;min-height:46px}.commerce-offers,.commerce-contact{padding:55px 22px}.commerce-heading{display:block;margin-bottom:25px}.commerce-heading h2,.commerce-contact h2{font-size:43px}.commerce-heading>p{font-size:12px;margin-top:20px}.offer-grid{grid-template-columns:1fr;gap:15px}.offer-card{padding:26px}.offer-card .offer-summary{min-height:0}.offer-card ul{margin-bottom:23px}.offer-card .offer-price{font-size:45px}.offer-card .offer-tag{margin-bottom:19px}.growth-strip{grid-template-columns:1fr;padding:25px;gap:20px}.growth-strip h3{font-size:25px}.growth-strip .offer-cta{min-width:0}.offer-details .details-grid{grid-template-columns:1fr;gap:12px}.commerce-contact{grid-template-columns:1fr;gap:30px}.contact-intro>p{font-size:13px;max-width:100%}.short-steps{grid-template-columns:repeat(3,1fr);gap:12px;margin:25px 0}.short-steps li{display:block;font-size:11px}.short-steps small{font-size:10px}.short-steps span{display:block;margin-bottom:8px}.contact-person{display:none}#project-form{padding:23px 20px}.contact-row{grid-template-columns:1fr;gap:0}.site-footer{display:block;padding:25px 22px}.footer-links{margin-top:20px;flex-wrap:wrap}.erp-hero{padding:120px 22px 45px}.erp-hero h1{font-size:47px}.erp-hero .hero-note{font-size:12px;max-width:100%;margin-top:20px}.erp-chrome{padding:12px;font-size:8px}.erp-main{display:block;min-height:0}.erp-sidebar{padding:12px}.erp-sidebar>strong,.erp-sidebar>small{display:none}.erp-tabs{display:flex;gap:5px;overflow-x:auto}.erp-tabs button{font-size:11px;padding:11px 10px;white-space:nowrap;flex:1}.erp-content{padding:22px 13px;min-height:450px}.erp-content-head{margin-bottom:22px}.erp-content-head h2{font-size:22px}.erp-content-head span{font-size:8px}.erp-metrics{gap:7px}.erp-metric{padding:13px 9px}.erp-metric small{font-size:8px}.erp-metric strong{font-size:24px}.erp-activity{grid-template-columns:1fr;gap:20px}.erp-bars{display:none}.erp-table{font-size:10px}.erp-table td{padding:18px 4px}.erp-table th{font-size:8px}.erp-board{gap:7px}.erp-column{padding:10px 6px}.erp-task{font-size:10px;padding:10px 7px}.erp-task small{font-size:8px}.erp-proof{display:block;padding:16px}.erp-proof a{display:block;margin-top:14px}.erp-proof p{font-size:10px}.legal-page{margin-top:115px}.legal-page h1{font-size:39px}}
@media(max-width:760px){.erp-hero .gallery-intro{display:block}.erp-hero .hero-note{max-width:100%;position:static}.erp-metric strong{white-space:nowrap;font-size:20px}.site-header #motion-toggle{position:static;margin-left:0;transform:none}.site-header{gap:12px}.site-header nav{margin-left:auto}.site-header nav .contact-link{padding:10px;font-size:10px}.site-header nav>a{font-size:10px}}
@media(prefers-reduced-motion:reduce){.offer-card:hover{transform:none}}

/* Live appointment preferences, shared behavior with each site’s own palette. */
.contact-booking{border:1px solid currentColor;border-color:color-mix(in srgb,currentColor 22%,transparent);border-radius:12px;padding:19px;margin:24px 0;min-width:0}.contact-booking legend{font-weight:600;font-size:14px;padding:0 7px}.contact-booking .booking-intro{font-size:12px;line-height:1.6;margin:0 0 14px}.booking-top{display:flex;justify-content:space-between;align-items:center;gap:12px}.booking-top label{margin:0!important}.booking-refresh{background:transparent;color:inherit;border:0;font:inherit;font-size:11px;text-decoration:underline;cursor:pointer;padding:9px 0}.booking-refresh:disabled{opacity:.5;cursor:wait}.contact-booking select{width:100%;margin-top:5px}.contact-booking .booking-status{font-size:11px;line-height:1.55;margin:10px 0}.contact-booking small{font-size:10px;line-height:1.5;opacity:.75}.contact-booking .is-error{color:inherit}
/* Five distinct brands live inside one neutral browser frame. */
.gallery{--display:'Syne',Arial,sans-serif;--serif:'Instrument Serif',Georgia,serif}
.gallery-tabs{scrollbar-width:none}
.gallery-tabs::-webkit-scrollbar{display:none}
.gallery-design-details{display:block;color:#60656b;font:9px/1.7 Arial,sans-serif;margin-top:7px}
.gallery[data-active-scene="pizza"]{--demo-bg:#702c31;--demo-ink:#fff2d6;--demo-accent:#ffce8b;--demo-line:#ab6461}
.gallery[data-active-scene="pizza"] .gallery-stage{background:#702c31}
#demo-pizza{background:linear-gradient(90deg,transparent 0 96%,#7e353a 96%);min-height:710px}
#demo-pizza .demo-copy{width:43%;padding:30px 0 110px 38px}
#demo-pizza .demo-brand{font:italic 60px/1 Georgia,serif;letter-spacing:-.075em;margin-bottom:29px;color:#fff3d4}
#demo-pizza .demo-brand span{font:8px/1.5 Arial,sans-serif;letter-spacing:.13em}
#demo-pizza h2{font:700 clamp(44px,4.65vw,74px)/.98 Georgia,serif;letter-spacing:-.06em;max-width:480px;margin-bottom:25px}
#demo-pizza h2 em{font:italic 1em/1 Georgia,serif;color:#ffddac;letter-spacing:-.055em;max-width:450px}
#demo-pizza .demo-kicker{font:9px/1.5 'Courier New',monospace;letter-spacing:.02em;color:#ffddac}
#demo-pizza .demo-description{color:#f1d2bc;font-size:12px}
#demo-pizza .demo-options button{border-radius:0;border-color:#c6887b;color:#fff1d5}
#demo-pizza .demo-options button[aria-pressed=true]{background:#fff1d5;color:#702c31;border-color:#fff1d5}
#demo-pizza .demo-action{border-radius:2px;background:#ffcd8b;color:#61252b;font-weight:700}
#demo-pizza .demo-status{color:#e3bfae;font-size:10px}
#demo-pizza .demo-bottom{background:#642229;border-top:1px solid #a36160;color:#ffedd3}
#demo-pizza .pizza-disc{background:#ffecd0;box-shadow:0 0 0 11px #963e40,0 0 0 12px #c38172;border-radius:50%;width:79%;height:76%}
#demo-pizza .pizza-word{color:#ffa262;font-family:Georgia,serif;z-index:1;font-size:clamp(66px,6vw,105px);top:62%;left:8%;opacity:.95;pointer-events:none}
#demo-pizza .pizza-stamp{background:#ffddac;color:#692930;border:1px solid #ffedce;box-shadow:0 0 0 5px #702c31}
#demo-pizza .pizza-caption{color:#fff0da;bottom:8px}
#demo-pizza .pizza-caption strong{font:italic 34px Georgia,serif}
#demo-pizza .pizza-photo{width:60%}
.gallery[data-active-scene="car"]{--demo-bg:#111923;--demo-ink:#f0f4f6;--demo-accent:#c8ed7c;--demo-line:#3d4753}
#demo-car{background:radial-gradient(ellipse at 69% 43%,#354350 0,#1a2530 34%,#111923 70%);min-height:760px;overflow:hidden}
#demo-car::before{content:'SURFACE';position:absolute;top:42px;left:31%;right:24px;font:800 clamp(60px,11vw,160px)/1 'Syne',Arial,sans-serif;letter-spacing:-.085em;color:#ffffff06;pointer-events:none}
#demo-car .demo-copy{width:35%;padding:35px 0 185px 38px}
#demo-car .demo-brand{font:700 19px/1.1 Arial,sans-serif;letter-spacing:.13em;margin-bottom:51px}
#demo-car .demo-brand span{font:8px/1.5 'Courier New',monospace;letter-spacing:.15em;color:#adbac8}
#demo-car .demo-kicker{font:8px/1.5 'Courier New',monospace;color:#c8ed7c}
#demo-car .demo-copy h2{font:700 clamp(35px,3.5vw,57px)/1 Arial,sans-serif;letter-spacing:-.055em;text-transform:uppercase;margin-bottom:20px}
#demo-car .demo-copy h2 em{font:inherit;color:#c8ed7c;letter-spacing:inherit}
#demo-car .demo-description{color:#adbac8;font-size:12px;max-width:245px}
.gallery-hero #demo-car .scene{inset:120px 0 180px 26%}
.gallery-hero #demo-car .view-tools button{color:#f1f5fa;border-color:#596875;background:#17222cdc;border-radius:1px}
.gallery-hero #demo-car .view-tools button[aria-pressed=true]{background:#c8ed7c;color:#17222b;border-color:#c8ed7c}
.gallery-hero #demo-car .scene-status{color:#bcc7d0}
.gallery-hero #demo-car .config{top:auto;bottom:87px;left:38px;right:38px;width:auto;display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #3e4d5c;padding-top:24px;gap:50px}
#demo-car .config-label{font:9px 'Courier New',monospace;color:#bdc9d5;letter-spacing:.1em}
#demo-car .config .finish{display:flex;gap:8px}
#demo-car .config .finish button{background:transparent;color:#f3f6f8;border:1px solid #637386;border-radius:0}
#demo-car .config .finish button[aria-pressed=true]{background:#c8ed7c;color:#17222b;border-color:#c8ed7c}
#demo-car .config .swatch[aria-pressed=true]{outline-color:#c8ed7c}
#demo-car .demo-bottom{background:#0c121a;border-color:#384450;color:#c9d4df}
/* Cleaning is a bright, precise service brand, distinct from the automotive configurator. */
.gallery[data-active-scene="detailing"]{--demo-bg:#f3f8f9;--demo-ink:#173d46;--demo-accent:#18758a;--demo-line:#c3d6dc}
.demo-panel.detailing-panel{--detailing-accent:#c5edf3;--detailing-soft:#52727a;background:#f3f8f9;color:#173d46;padding-top:28px}
.detailing-header{border-bottom:1px solid #c7dce0;margin-bottom:28px;padding-bottom:24px}
.detailing-brand{font:700 29px Arial,sans-serif;letter-spacing:-.05em}
.detailing-brand>span{color:#18879b}
.detailing-brand small{border-color:#b5cdd2;color:#52727a;font-family:'Courier New',monospace}
.detailing-edition{color:#52727a}
.detailing-eyebrow{color:#18758a;font-family:'Courier New',monospace;letter-spacing:.02em}
.detailing-panel .detailing-copy h2{font:700 clamp(36px,3.7vw,61px)/1.02 Arial,sans-serif;letter-spacing:-.055em}
.detailing-panel .detailing-copy h2 em{font:inherit;color:#177b90;letter-spacing:inherit}
.detailing-description{color:#52717a}
.detailing-services{color:#174d58;font:9px 'Courier New',monospace;gap:7px}
.detailing-services li{border:1px solid #bed5dc;padding:7px 9px}
.detailing-services li+li::before{display:none}
.detailing-comparison-note{background:#e8f2f4;color:#52717a;border-color:#c7dce0}
.detailing-controlbar{border-color:#c7dce0;background:#e5eff1}
.detailing-control-copy label{color:#123f4b;font-weight:700}
.detailing-control-copy p{color:#53717a}
.detailing-actions button{color:#174b58;border-color:#7aa5af;border-radius:0}
.detailing-actions button:hover{background:#cce7ed}
.detailing-actions button[aria-pressed=true]{background:#174b58;color:#fff;border-color:#174b58}
.detailing-progress{color:#17677b}
.detailing-grip{background:#e9fbff;color:#14566a;border-color:#87d1e2}
.detailing-range:focus-visible~.detailing-divider .detailing-grip{outline-color:#19a8cb}
@media(min-width:1650px){#demo-car{min-height:850px}#demo-car .demo-copy{padding-left:50px}.gallery-hero #demo-car .scene{inset:135px 0 185px 25%}.gallery-hero #demo-car .config{left:50px;right:50px}}
@media(min-width:761px) and (max-width:1100px){#demo-pizza h2{font-size:49px}#demo-pizza .demo-copy{padding-left:25px}#demo-car .demo-copy{padding-left:25px;width:36%}#demo-car .demo-copy h2{font-size:35px}.gallery-hero #demo-car .config{left:25px;right:25px}}
@media(max-width:760px){#demo-pizza{min-height:990px}#demo-pizza .demo-copy{width:100%;padding:24px 24px 110px}#demo-pizza .demo-brand{font-size:43px;margin-bottom:23px}#demo-pizza .demo-kicker{font-size:7px}#demo-pizza h2{font-size:45px;line-height:1.04;margin:0}#demo-pizza h2 em{font-size:.98em}#demo-pizza .demo-controls{padding-top:410px}#demo-pizza .pizza-photo{width:100%;top:260px;height:365px}#demo-pizza .pizza-word{top:53%;font-size:69px}#demo-pizza .pizza-caption{bottom:-1px}#demo-pizza .pizza-caption strong{font-size:28px}#demo-pizza .demo-bottom{padding:18px 24px}#demo-car{min-height:1040px}#demo-car::before{top:324px;left:18px;font-size:65px;right:18px}#demo-car .demo-copy{width:100%;padding:25px 24px 720px}#demo-car .demo-brand{font-size:18px;margin-bottom:33px}#demo-car .demo-copy h2{font-size:38px;max-width:270px;margin-bottom:20px}#demo-car .demo-description{max-width:310px;font-size:11px}.gallery-hero #demo-car .scene{inset:345px 0 auto;height:425px}.gallery-hero #demo-car .view-tools{right:12px;left:12px;flex-wrap:wrap}.gallery-hero #demo-car .view-tools button{font-size:8px}.gallery-hero #demo-car .config{top:auto;bottom:105px;left:24px;right:24px;width:auto;grid-template-columns:1fr;gap:20px;padding-top:20px}#demo-car .config .choice{flex-wrap:nowrap}#demo-car .config .choice p{width:auto;margin:0}#demo-car .config .finish{gap:7px}#demo-car .demo-bottom{padding:18px 24px;min-height:70px}.detailing-header{margin-bottom:0}.detailing-panel .detailing-copy h2{font-size:38px;min-height:0}.detailing-panel .detailing-copy h2 em{font-size:1em}.detailing-header small{font-size:7px}.detailing-controlbar{gap:16px}.detailing-services{font-size:8px}}
@media(prefers-reduced-motion:reduce){.studio-signature,.gallery-window{animation:none;transition:none}}

/* FORME — architectural gallery. Load after extra-demos.css; never changes the renderer. */
.gallery[data-active-scene="furniture"] { --demo-bg:#f7f4ed; --demo-ink:#39332e; --demo-accent:#9b6b51; --demo-line:#d9d0c3; }
#demo-furniture.interiors-panel { --display:Georgia,"Times New Roman",serif; --serif:Georgia,"Times New Roman",serif; display:grid; grid-template-columns:minmax(250px,.95fr) minmax(0,1.6fr); grid-template-rows:auto auto 1fr auto; min-height:680px; background:#f7f4ed; color:#39332e; pointer-events:auto; overflow:hidden; font-family:Arial,sans-serif; }
#demo-furniture.interiors-panel[hidden] { display:none!important; }
.interiors-panel .interiors-header { grid-column:1/-1; display:flex; align-items:center; justify-content:space-between; gap:24px; padding:26px 38px 23px; border-bottom:1px solid #d9d0c3; }
.interiors-panel .interiors-brand { margin:0; font:400 37px/1 Georgia,"Times New Roman",serif; letter-spacing:-.055em; }
.interiors-panel .interiors-header>span { font:9px/1.7 Arial,sans-serif; letter-spacing:.1em; text-transform:uppercase; text-align:right; color:#70604d; }
.interiors-panel .demo-copy { grid-column:1; grid-row:2; width:auto; padding:38px 20px 22px 38px; }
.interiors-panel .interiors-index { display:flex; align-items:center; gap:13px; color:#80563f; font:9px/1.6 Arial,sans-serif; letter-spacing:.13em; text-transform:uppercase; margin:0 0 25px; }
.interiors-panel .interiors-index::before { content:""; width:30px; height:1px; background:#b09a80; }
.interiors-panel .demo-copy h2 { margin:0 0 20px; font:400 clamp(42px,4.3vw,64px)/1.02 Georgia,"Times New Roman",serif; letter-spacing:-.045em; }
.interiors-panel .demo-description { font:12px/1.9 Arial,sans-serif; max-width:225px; color:#70604d; margin:0; }
.interiors-panel .extra-visual-slot { grid-column:2; grid-row:2 / span 2; position:relative; min-height:510px; margin:24px 22px 22px 5px; background:#ece6db; }
.interiors-panel .extra-demo-viewer { min-height:510px; height:100%; }
.interiors-panel #extra-demo-canvas { min-height:510px; height:100%; }
.interiors-panel .extra-demo-viewer::before { display:none; }
.interiors-panel .extra-demo-viewer::after { inset:18px; border:1px solid #baad972e; border-radius:0; }
.interiors-panel .extra-edition { top:32px; right:30px; font:8px/1.4 Arial,sans-serif; letter-spacing:.14em; color:#70604d; opacity:1; }
.interiors-panel .extra-watermark { top:63px; left:0; right:0; font:400 clamp(90px,10vw,155px)/1 Georgia,"Times New Roman",serif; letter-spacing:-.08em; color:#8f715809; }
.interiors-panel .extra-object-label { left:29px; bottom:25px; gap:6px; }
.interiors-panel .extra-object-label span { font:400 19px/1.2 Georgia,"Times New Roman",serif; letter-spacing:-.02em; }
.interiors-panel .extra-object-label strong { color:#70604d; font:8px/1.4 Arial,sans-serif; letter-spacing:.07em; opacity:1; }
.interiors-panel .extra-gesture { bottom:27px; right:29px; max-width:120px; font-size:8px; color:#70604d; opacity:1; }
.interiors-panel .extra-gesture span { font-size:19px; margin-bottom:7px; }
.interiors-panel .extra-controls { grid-column:1; grid-row:3; padding:8px 24px 33px 38px; }
.interiors-panel .interiors-caption { margin:0 0 17px; padding-top:20px; border-top:1px solid #d9d0c3; font:400 17px/1.45 Georgia,"Times New Roman",serif; }
.interiors-panel .interiors-caption span { display:block; margin-bottom:5px; color:#80563f; font:8px/1.5 Arial,sans-serif; letter-spacing:.12em; text-transform:uppercase; }
.interiors-panel .extra-control-label { margin:0 0 9px; font:9px/1.5 Arial,sans-serif; letter-spacing:.055em; text-transform:none; font-weight:400; color:#70604d; }
.interiors-panel .extra-fabric-options { flex-direction:column; align-items:stretch; gap:7px; margin-bottom:22px; }
.interiors-panel .extra-fabric-options button { border:1px solid #d9d0c3; border-radius:0; min-height:46px; padding:10px 12px; color:#514536; background:transparent; font:11px/1.4 Arial,sans-serif; text-transform:none; letter-spacing:0; }
.interiors-panel .extra-fabric-options button i { width:22px; height:22px; margin-right:3px; border-radius:0; box-shadow:inset 2px 2px 5px #ffffff30; }
.interiors-panel .extra-fabric-options button[aria-pressed="true"] { background:#e9e0d1; border-color:#ad9479; color:#463b2d; }
.interiors-panel .extra-fabric-options button:hover { border-color:#9b6b51; transform:none; }
.interiors-panel .extra-view-actions { gap:4px 14px; }
.interiors-panel .extra-view-actions button { min-height:44px; padding:7px 0; border:0; border-bottom:1px solid #c8b9a4; border-radius:0; font:10px/1.4 Arial,sans-serif; color:#776148; background:transparent; text-align:left; }
.interiors-panel .extra-view-actions button[aria-pressed="true"] { color:#33291f; border-bottom-color:#9b6b51; font-weight:700; background:transparent; }
.interiors-panel .demo-status { color:#70604d; opacity:1; margin:16px 0 0; font:10px/1.6 Arial,sans-serif; min-height:32px; }
.interiors-panel .interiors-project { display:inline-flex; align-items:center; gap:18px; min-height:44px; padding:8px 0; margin-top:6px; color:#5f4d38; font:10px/1.4 Arial,sans-serif; text-decoration:underline; text-underline-offset:5px; }
.interiors-panel .interiors-project span { font-size:18px; }
.interiors-panel .extra-demo-bottom { grid-column:1/-1; grid-row:4; padding:19px 38px; border-top:1px solid #d9d0c3; color:#70604d; font:9px/1.5 Arial,sans-serif; row-gap:9px; }
.interiors-panel .extra-demo-bottom>span { font:400 14px/1.3 Georgia,"Times New Roman",serif; letter-spacing:0; text-transform:none; color:#66543d; }
.interiors-panel .extra-demo-bottom>span i { display:none; }
.interiors-panel .extra-demo-bottom p { font-size:9px; text-align:right; opacity:1; }
.interiors-panel .extra-demo-bottom small { font-size:8px; opacity:1; }
.interiors-panel button:focus-visible,.interiors-panel a:focus-visible { outline:2px solid #9b6b51; outline-offset:4px; }
@media(min-width:1650px) { .interiors-panel .extra-demo-viewer,.interiors-panel #extra-demo-canvas,.interiors-panel .extra-visual-slot { min-height:570px; } }
@media(max-width:1100px) and (min-width:761px) {
  #demo-furniture.interiors-panel { grid-template-columns:minmax(240px,.95fr) minmax(0,1.3fr); }
  .interiors-panel .interiors-header { padding-inline:26px; }
  .interiors-panel .demo-copy { padding:30px 17px 15px 26px; }
  .interiors-panel .demo-copy h2 { font-size:43px; }
  .interiors-panel .extra-controls { padding-left:26px; }
  .interiors-panel .extra-visual-slot { margin-right:15px; }
  .interiors-panel .extra-object-label { left:22px; bottom:26px; }
  .interiors-panel .extra-gesture { right:22px; bottom:26px; max-width:95px; }
}
@media(max-width:760px) {
  #demo-furniture.interiors-panel { display:flex; flex-direction:column; min-height:0; }
  .interiors-panel .interiors-header { order:0; width:100%; padding:22px 24px 18px; gap:15px; }
  .interiors-panel .interiors-brand { font-size:31px; }
  .interiors-panel .interiors-header>span { font-size:7px; }
  .interiors-panel .demo-copy { order:1; padding:23px 24px 0; }
  .interiors-panel .interiors-index { font-size:8px; margin-bottom:15px; }
  .interiors-panel .demo-copy h2 { font-size:39px; line-height:1.03; margin-bottom:12px; }
  .interiors-panel .demo-description { font-size:11px; line-height:1.7; max-width:280px; }
  .interiors-panel .extra-visual-slot { order:2; height:338px; min-height:338px; margin:22px 13px 0; }
  .interiors-panel .extra-demo-viewer,.interiors-panel #extra-demo-canvas { height:338px; min-height:338px; }
  .interiors-panel .extra-demo-viewer::after { inset:12px; }
  .interiors-panel .extra-edition { top:24px; right:22px; font-size:7px; }
  .interiors-panel .extra-watermark { top:42px; font-size:99px; }
  .interiors-panel .extra-object-label { left:23px; bottom:21px; }
  .interiors-panel .extra-object-label span { font-size:16px; }
  .interiors-panel .extra-object-label strong { font-size:7px; }
  .interiors-panel .extra-gesture { right:23px; bottom:22px; max-width:97px; font-size:7px; }
  .interiors-panel .extra-gesture span { font-size:17px; margin-bottom:4px; }
  .interiors-panel .extra-controls { order:3; padding:22px 24px 24px; }
  .interiors-panel .interiors-caption { border:0; padding:0; margin-bottom:16px; font-size:17px; }
  .interiors-panel .extra-fabric-options { flex-direction:row; flex-wrap:nowrap; gap:8px; margin-bottom:20px; }
  .interiors-panel .extra-fabric-options button { flex:1; min-width:0; padding:10px 8px; font-size:10px; gap:6px; }
  .interiors-panel .extra-fabric-options button i { width:17px; height:24px; margin:0; }
  .interiors-panel .extra-control-label { font-size:9px; }
  .interiors-panel .extra-view-actions { gap:5px 18px; }
  .interiors-panel .demo-status { margin-top:13px; }
  .interiors-panel .extra-demo-bottom { order:4; padding:18px 24px; row-gap:8px; }
  .interiors-panel .extra-demo-bottom p { display:none; }
  .interiors-panel .extra-demo-bottom>span { font-size:14px; }
}

/* La traversée — flat brand layer. Demonstration panels retain their own art direction. */
@font-face{font-family:'Uncut Sans';src:url('./assets/fonts/UncutSans-Light.woff2') format('woff2');font-weight:300;font-display:swap}
@font-face{font-family:'Uncut Sans';src:url('./assets/fonts/UncutSans-Regular.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Uncut Sans';src:url('./assets/fonts/UncutSans-Medium.woff2') format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:'Uncut Sans';src:url('./assets/fonts/UncutSans-Semibold.woff2') format('woff2');font-weight:600;font-display:swap}
body[data-site]{--paper:#F8FAFC;--ink:#111B2D;--accent:#1748C8;--accent-dark:#111B2D;--muted:#526071;--line:#DDE2E7;--gutter:clamp(24px,4.5vw,72px);background:var(--paper);color:var(--ink);font-family:'Uncut Sans',Arial,sans-serif;font-variant-numeric:tabular-nums}
body[data-site]::selection{background:#1748C8;color:#fff}
body[data-site] .site-header{min-height:88px;padding:16px var(--gutter);background:#F8FAFC;border-bottom:1px solid #DDE2E7;box-shadow:none;backdrop-filter:none;gap:24px}
body[data-site] .traversee-brand{display:flex;align-items:center;gap:16px;font:500 18px/1.3 'Uncut Sans',Arial,sans-serif;letter-spacing:-.025em;text-decoration:none;white-space:nowrap}
.brand-incision{display:block;width:30px;height:2px;background:#1748C8;transform:rotate(-20deg);flex-shrink:0}
body[data-site] .brand small{font:400 12px/1.5 'Uncut Sans',Arial,sans-serif;color:#526071;letter-spacing:0;margin-top:4px}
body[data-site] .site-header nav{gap:24px}body[data-site] .site-header nav a{font-size:14px;font-weight:500;min-height:44px;display:inline-flex;align-items:center}
body[data-site] .contact-link{background:#1748C8;color:white;border:1px solid #1748C8;border-radius:4px;padding:10px 16px;white-space:nowrap}
body[data-site] .contact-link:hover{background:#111B2D;border-color:#111B2D}body[data-site] #motion-toggle{border-radius:4px;color:#526071;font:400 12px 'Uncut Sans',sans-serif;min-height:44px}
body[data-site] #scroll-progress{background:#1748C8}body[data-site] .skip-link{background:#1748C8;color:white}
body[data-site] :is(.site-header,.commerce-offers,.commerce-contact,.site-footer,.gallery-tabs,.gallery-project,.survey-shell) :focus-visible{outline:2px solid #1748C8;outline-offset:3px}
body[data-site] :is(.contact-link,#contact-submit,.presence-primary):focus-visible{outline:2px solid #111B2D;outline-offset:4px}
body[data-site] .gallery-hero>.hero-sticky{padding-top:150px;padding-bottom:56px;background:#F8FAFC}
body[data-site] .gallery-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,300px);gap:40px;align-items:center;margin-bottom:48px}
body[data-site] .gallery-intro h1{font:300 clamp(40px,5.5vw,80px)/1.06 'Uncut Sans',Arial,sans-serif;letter-spacing:-.045em;margin:0 0 24px;max-width:1000px}
body[data-site] .gallery-intro h1 :is(em,span){font:inherit;color:#111B2D;letter-spacing:inherit}
body[data-site] :is(.presence-eyebrow,.gallery-intro .tag){font:500 12px/1.6 'Uncut Sans',sans-serif;letter-spacing:.08em;color:#526071;margin:0 0 24px}
.presence-eyebrow>span{display:inline-block;width:26px;height:1px;background:#1748C8;transform:rotate(-20deg);margin-right:10px}
.presence-lead{font-size:18px;line-height:1.6;max-width:650px;color:#526071}.presence-hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:24px;margin-top:24px}
.presence-primary{display:inline-flex;align-items:center;gap:30px;padding:13px 18px;background:#1748C8;color:white;border-radius:4px;text-decoration:none;font-size:15px;min-height:48px}.presence-primary:hover{background:#111B2D}.presence-secondary{font-size:15px;text-underline-offset:6px;min-height:44px;display:inline-flex;align-items:center;gap:20px}.presence-byline{font-size:14px;color:#526071;margin-top:24px}
.presence-price-note{padding:24px 0 24px 28px;border-left:1px solid #DDE2E7;background:transparent;transform:none;box-shadow:none}.presence-note-pin{display:none}.presence-note-kicker{font-size:12px;letter-spacing:.08em;color:#526071}.presence-note-title{font-size:22px;margin:20px 0 12px}.presence-note-price{font-size:56px;font-weight:500;line-height:1;margin:0 0 20px;letter-spacing:-.05em}.presence-note-price span{font-size:30px}.presence-note-detail{font-size:16px;line-height:1.5}.presence-note-included{display:grid;gap:9px;font-size:13px;color:#526071;margin:20px 0}.presence-price-note>a{font-size:14px;color:#1748C8}
.presence-promises{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #DDE2E7;padding-top:24px;gap:28px}.presence-promises>div{display:flex;gap:16px}.presence-promises>div>span{color:#1748C8;font-size:12px}.presence-promises p{margin:0;font-size:14px;color:#526071;line-height:1.6}.presence-promises strong{display:block;color:#111B2D;font-weight:500}
body[data-site] .hero-note{font-size:16px;color:#526071;line-height:1.6;border-top:1px solid #DDE2E7;padding-top:24px}body[data-site] .hero-note .text-link{font-size:15px;color:#1748C8}
.studio-signature{display:flex;justify-content:space-between;gap:20px;padding:18px 0;margin-bottom:24px;border-block:1px solid #DDE2E7;font-size:12px;color:#526071}.studio-signature strong{font-weight:500;color:#1748C8}
body[data-site] .gallery-label p{font:500 12px/1.5 'Uncut Sans',sans-serif;letter-spacing:.04em}body[data-site] .gallery-label a{font-size:14px;min-height:44px;display:inline-flex;align-items:center}
body[data-site] .gallery-tabs{gap:0;padding:0;margin-bottom:16px;border-block:1px solid #DDE2E7;background:#F8FAFC;top:88px}
body[data-site] .gallery-tabs button{border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;color:#526071;font:500 15px/1.3 'Uncut Sans',sans-serif;min-height:58px;padding:14px;transform:none}
body[data-site] .gallery-tabs button[aria-selected=true]{border-bottom-color:#1748C8;background:transparent;color:#1748C8}body[data-site] .gallery-tabs button[aria-selected=true] i{color:#1748C8}body[data-site] .gallery-tabs button:hover{color:#111B2D;transform:none}
body[data-site] .gallery-window{border:1px solid #DDE2E7;border-radius:4px;box-shadow:none}body[data-site] .gallery-browser{background:#F8FAFC;color:#526071;border-color:#DDE2E7;font-size:12px}.gallery-demo-label{font-size:10px}
body[data-site] .gallery-project{background:#F8FAFC;border-color:#DDE2E7}body[data-site] .gallery-project>div>span{color:#1748C8;font-size:12px}body[data-site] .gallery-project h2{font-family:'Uncut Sans',sans-serif;font-weight:400}body[data-site] .gallery-project>button{background:#1748C8;color:white;border-radius:4px;font-family:'Uncut Sans',sans-serif}body[data-site] .gallery-project>button span{color:white}
body[data-site] .gallery-disclaimer p{font:400 13px/1.6 'Uncut Sans',sans-serif;color:#526071}
body[data-site] :is(.commerce-offers,.commerce-contact){background:#F8FAFC;border-top:1px solid #DDE2E7;padding-block:72px}
body[data-site] :is(.commerce-heading h2,.commerce-contact h2){font:300 clamp(34px,4.4vw,60px)/1.1 'Uncut Sans',sans-serif;letter-spacing:-.035em}
body[data-site] :is(.commerce-heading h2,.commerce-contact h2) em{font:inherit;color:#111B2D}body[data-site] .commerce-heading>p{font-size:17px;color:#526071;max-width:400px}
body[data-site] :is(.commerce-offers,.commerce-contact) .tag{font:500 12px/1.6 'Uncut Sans',sans-serif;letter-spacing:.07em;color:#1748C8}
body[data-site] .offer-grid{display:block;border-top:1px solid #DDE2E7}
body[data-site] .offer-card{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(230px,1.5fr) minmax(190px,.8fr);column-gap:32px;row-gap:12px;background:transparent;color:#111B2D;border:0;border-bottom:1px solid #DDE2E7;border-radius:0;padding:32px 0;transform:none;box-shadow:none;opacity:1}
body[data-site] .offer-card .offer-tag{grid-column:1;grid-row:1;font:400 12px/1.6 'Uncut Sans',sans-serif;opacity:1;color:#526071;margin:0}
body[data-site] .offer-card h3{grid-column:1;grid-row:2;font:400 27px/1.2 'Uncut Sans',sans-serif;margin:0;letter-spacing:-.03em}
body[data-site] .offer-card .offer-price{grid-column:3;grid-row:1/3;font:500 40px/1.2 'Uncut Sans',sans-serif;letter-spacing:-.04em;margin:0}.offer-card .offer-price small{font:400 13px/1.5 'Uncut Sans',sans-serif;letter-spacing:0}
body[data-site] .offer-card .offer-summary{grid-column:2;grid-row:1/3;font-size:16px;line-height:1.6;opacity:1;margin:0;min-height:0}
body[data-site] .offer-card ul{grid-column:2;grid-row:3/5;font-size:14px;line-height:1.6;gap:9px;margin:0}body[data-site] .offer-card li:before{color:#1748C8}
body[data-site] .offer-cta{border-radius:4px;background:#1748C8;border:1px solid #1748C8;color:white;font:500 15px/1.4 'Uncut Sans',sans-serif;min-height:48px;padding:12px 16px;transform:none;transition:background 160ms}
body[data-site] .offer-card .offer-cta{grid-column:3;grid-row:3;align-self:start;margin:0}body[data-site] .offer-cta:hover{background:#111B2D;color:white;border-color:#111B2D}
body[data-site] .offer-card .renewal{grid-column:3;grid-row:4;font:400 13px/1.6 'Uncut Sans',sans-serif;opacity:1;color:#526071;margin:0}
body[data-site] .growth-strip{border-radius:0;background:#DDE2E7;color:#111B2D;padding:32px;margin-top:32px}.growth-strip h3{font:400 28px/1.3 'Uncut Sans',sans-serif}.growth-strip p{font-size:15px;opacity:1}
body[data-site] :is(.offer-details,.offer-footnote){font-size:14px;color:#526071;line-height:1.7;border-color:#DDE2E7}.offer-details summary{color:#111B2D;min-height:44px}.details-grid h4{font-size:16px;font-weight:500}.details-grid p{color:#526071}
body[data-site] .contact-intro>p{font-size:17px;color:#526071;line-height:1.6}.short-steps{gap:24px}.short-steps li{font-size:15px}.short-steps small,.contact-person p,.contact-person a{font-size:14px}.contact-person strong{font-family:'Uncut Sans',sans-serif;font-weight:500}
body[data-site] #project-form{padding:32px;border:1px solid #DDE2E7;border-radius:4px;background:white;box-shadow:none}
body[data-site] #project-form label{font-size:14px;font-weight:500}body[data-site] #project-form :is(input:not([type=checkbox]),select,textarea){font:400 16px/1.5 'Uncut Sans',sans-serif;background:#F8FAFC;color:#111B2D;border:1px solid #8692A2;border-radius:4px;min-height:48px}
body[data-site] #project-form :is(input,select,textarea):focus{outline:2px solid #1748C8;outline-offset:3px}.selected-summary{border-color:#1748C8;background:#F8FAFC}.selected-summary strong{font:500 20px 'Uncut Sans',sans-serif}.selected-summary p{font-size:14px;color:#526071}
body[data-site] #contact-submit{background:#1748C8;color:white;border-radius:4px;font:500 16px 'Uncut Sans',sans-serif;min-height:50px}body[data-site] #contact-submit:hover{background:#111B2D}.contact-check input{accent-color:#1748C8}body[data-site] .form-note{font-size:13px;color:#526071}
body[data-site] .site-footer{background:#F8FAFC;color:#111B2D;border-top:1px solid #DDE2E7;padding:32px var(--gutter);gap:32px;font:400 14px/1.7 'Uncut Sans',sans-serif}.presence-footer-brand strong{font:500 20px 'Uncut Sans',sans-serif}.presence-footer-brand small{display:block;font-size:13px;color:#526071}.footer-links{display:flex;flex-wrap:wrap;gap:20px}.footer-links a{min-height:44px;display:inline-flex;align-items:center}
body[data-site] .legal-page{font:400 17px/1.7 'Uncut Sans',sans-serif;color:#111B2D;max-width:900px}.legal-page h1{font:300 clamp(32px,5vw,60px)/1.1 'Uncut Sans',sans-serif}.legal-page h2{font:400 26px 'Uncut Sans',sans-serif}.legal-page a{color:#1748C8}
@media(min-width:1700px){body[data-site]{--gutter:max(72px,calc((100vw - 1556px)/2))}}
@media(max-width:1000px){body[data-site] .offer-card{grid-template-columns:1fr 1.4fr;gap:18px 28px}body[data-site] .offer-card :is(.offer-price,.offer-cta,.renewal){grid-column:1;grid-row:auto}body[data-site] .offer-card ul{grid-row:3/6}body[data-site] .commerce-contact{grid-template-columns:1fr;gap:36px}body[data-site] .site-header{gap:14px}body[data-site] #motion-toggle [data-motion-label]{display:none}body[data-site] .gallery-intro{grid-template-columns:1fr 240px;gap:28px}}
@media(max-width:700px){body[data-site] .site-header{position:relative;min-height:0;flex-wrap:wrap;padding-block:16px;gap:12px}body[data-site] .site-header nav{order:3;width:100%;justify-content:space-between;gap:12px}body[data-site] .site-header nav a{display:inline-flex!important;font-size:14px}body[data-site] .traversee-brand{font-size:17px}body[data-site] #motion-toggle{margin-left:auto}body[data-site] .gallery-hero>.hero-sticky{padding-top:32px;padding-bottom:36px}body[data-site] .gallery-intro{grid-template-columns:1fr;gap:28px;margin-bottom:32px}body[data-site] .gallery-intro h1{font-size:clamp(34px,8vw,52px)}.presence-price-note{border-left:0;border-top:1px solid #DDE2E7;padding:24px 0}.presence-promises{grid-template-columns:1fr;gap:18px}.presence-lead{font-size:17px}.studio-signature{flex-wrap:wrap;gap:12px}.gallery-tabs{position:relative!important;top:auto!important}body[data-site] .gallery-tabs button{padding:12px 8px;font-size:13px}body[data-site] .gallery-tabs button>span{display:none}.gallery-label{align-items:start}.gallery-browser{padding-inline:12px!important}.gallery-browser #gallery-address{font-size:10px}.gallery-demo-label{font-size:9px}body[data-site] :is(.commerce-offers,.commerce-contact){padding-block:40px}.commerce-heading{align-items:start;flex-direction:column;gap:20px}body[data-site] .offer-card{display:flex;gap:16px;padding:28px 0}body[data-site] .offer-card .offer-price{font-size:40px}body[data-site] .offer-card .offer-cta{width:100%}.growth-strip{grid-template-columns:1fr!important;padding:24px!important}body[data-site] #project-form{padding:22px 18px}.contact-row{grid-template-columns:1fr}.details-grid{grid-template-columns:1fr!important}body[data-site] .site-footer{flex-direction:column;align-items:start}.presence-hero-actions{gap:16px}.presence-primary{width:100%;justify-content:space-between}.gallery-project{padding:22px!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}body[data-site] :is(.offer-card,.offer-cta,.contact-link){transition:none;transform:none}}
