:root {
  --paper: #f3f2ed;
  --paper-deep: #e8eae2;
  --ink: #18201c;
  --muted: #68736d;
  --line: rgba(24, 32, 28, 0.14);
  --accent: #c9f36b;
  --accent-deep: #8caf35;
  --dark: #1b2420;
  --white: #fbfbf7;
}

/* Creator: Codex. PROJECT styles for the three app presentations, 2026-10-28.
   Retain with the site; deletion only on explicit owner authorization. */
a:focus-visible, button:focus-visible, summary:focus-visible {
  outline: 3px solid #486b28;
  outline-offset: 6px;
}
.skip-link { position: fixed; top: -100px; left: 16px; z-index: 10; background: #fff; color: #18201c; padding: 12px 20px; }
.skip-link:focus { top: 12px; }
.marketing-shell { background: var(--paper); min-height: 100vh; }
.theme-faro-storto { --paper: #f5f1e6; --paper-deep: #e8e0cb; --accent: #f2d594; --accent-deep: #855f22; --ink: #1b332f; --dark: #1b332f; --muted: #5e6b63; }
.theme-relax { --paper: #f0f6f3; --paper-deep: #dfeee8; --accent: #c5e7df; --accent-deep: #2d6d62; --ink: #163d37; --dark: #163d37; --muted: #526d65; }
.marketing-header { border-bottom: 1px solid var(--line); gap: 20px; }
.marketing-nav { display: flex; flex-wrap: wrap; align-items: center; gap: 24px; font-size: 13px; font-weight: 700; }
.product-hero { display: grid; grid-template-columns: 1.05fr .95fr; align-items: center; gap: 64px; padding-block: 76px 90px; }
.product-identity { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; font-size: 18px; font-weight: 700; margin-bottom: 42px; }
.product-identity img { border-radius: 13px; object-fit: cover; }
.product-status { font-size: 10px; font-weight: 600; color: var(--muted); border: 1px solid var(--line); padding: 5px 9px; border-radius: 999px; }
.product-copy h1 { font-size: clamp(48px, 5.6vw, 76px); line-height: 1.06; letter-spacing: -.055em; margin-bottom: 26px; }
.product-copy .eyebrow { margin-bottom: 20px; font-size: 10px; }
.product-lede { max-width: 540px; color: var(--muted); font-size: 17px; line-height: 1.7; }
.product-facts { display: flex; gap: 10px 18px; padding: 0; margin: 30px 0 0; flex-wrap: wrap; list-style: none; font-size: 11px; color: var(--muted); }
.product-facts li { display: flex; align-items: center; gap: 8px; }
.product-facts li::before { content: ''; background: var(--accent-deep); height: 4px; width: 4px; border-radius: 50%; }
.marketing-shell figure { margin: 0; }
.marketing-shell figcaption { font-size: 11px; color: var(--muted); line-height: 1.6; margin-top: 18px; text-align: center; }
.faro-hero-art { position: relative; }
.faro-hero-art > img { display: block; width: 100%; height: auto; border-radius: 48% 48% 5px 5px; box-shadow: 0 30px 60px #1b332f18; }
.faro-hero-art figcaption { font-family: Georgia, serif; font-style: italic; font-size: 16px; }
.phone-stage { display: flex; align-items: center; justify-content: center; position: relative; min-width: 0; padding: 25px; }
.phone-stage::before { content: ''; position: absolute; width: 100%; aspect-ratio: 1; max-width: 500px; background: var(--accent); border-radius: 50%; opacity: .55; }
.stage-orbit { position: absolute; width: 104%; aspect-ratio: 1; border: 1px solid var(--line); border-radius: 50%; }
.phone-shot { position: relative; width: min(100%, 246px); height: auto; display: block; border-radius: 28px; border: 6px solid #25342e; box-shadow: 0 30px 50px #152c2324; }
.product-story { border-top: 1px solid var(--line); padding-top: 80px; display: grid; grid-template-columns: 1.05fr .95fr; gap: 70px; align-items: end; margin-bottom: 45px; }
.product-story h2, .product-detail h2, .product-privacy h2, .product-faq h2, .product-closing h2 { font-size: clamp(34px, 4.1vw, 54px); line-height: 1.08; letter-spacing: -.045em; margin-bottom: 20px; }
.product-story > p, .product-detail p, .product-features p { color: var(--muted); font-size: 15px; line-height: 1.8; }
.game-screen img { width: 100%; height: auto; display: block; border-radius: 8px; }
.phone-gallery { background: var(--paper-deep); padding: 54px 30px 26px; border-radius: 8px; }
.phone-gallery-images { display: flex; justify-content: center; align-items: flex-start; gap: 70px; }
.phone-gallery .phone-shot { width: min(40%, 260px); }
.product-features { display: grid; grid-template-columns: repeat(3, 1fr); gap: 48px; padding-block: 70px 86px; }
.product-features article { border-top: 1px solid var(--line); padding-top: 18px; }
.product-features h3 { margin: 26px 0 12px; font-size: 21px; line-height: 1.25; letter-spacing: -.025em; }
.product-detail { padding: 58px; background: var(--paper-deep); margin-bottom: 80px; }
.product-detail > div > p:not(.eyebrow) { max-width: 660px; }
.product-detail.with-illustration { display: grid; grid-template-columns: 1fr 1.1fr; align-items: center; gap: 50px; }
.product-detail img { display: block; width: 100%; height: auto; }
.product-steps { margin: 32px 0 0; padding: 0; list-style: none; display: flex; gap: 28px; justify-content: space-between; font-size: 15px; }
.product-steps strong { display: block; color: var(--accent-deep); font-family: Georgia, serif; font-size: 32px; font-weight: 400; }
.product-detail .pause-mantra { font-family: Georgia, serif; font-style: italic; color: var(--accent-deep); font-size: clamp(26px, 4vw, 45px); margin: 36px 0 0; }
.product-privacy { background: var(--dark); color: #f7f8ee; padding: 64px; }
.product-privacy .eyebrow { color: var(--accent); }
.product-privacy h2 { max-width: 760px; }
.product-privacy p { color: #d5dfd7; max-width: 740px; line-height: 1.8; margin-bottom: 26px; }
.product-privacy .text-link { color: var(--accent); border-color: var(--accent); }
.product-faq { display: grid; grid-template-columns: .8fr 1.2fr; gap: 80px; padding-block: 100px; }
.product-faq details { border-top: 1px solid var(--line); }
.product-faq details:last-child { border-bottom: 1px solid var(--line); }
.product-faq summary { cursor: pointer; padding: 22px 24px 22px 0; font-size: 16px; font-weight: 700; }
.product-faq details p { color: var(--muted); font-size: 14px; line-height: 1.8; padding-right: 20px; margin-bottom: 24px; }
.product-closing { text-align: center; padding: 60px 24px 85px; border-top: 1px solid var(--line); }
.product-closing img { border-radius: 16px; margin-bottom: 25px; }
.product-closing h2 { max-width: 720px; margin: 0 auto 30px; }
.product-closing > p { margin: 22px auto; max-width: 570px; font-size: 12px; color: var(--muted); }
.product-footer nav { display: flex; gap: 25px; flex-wrap: wrap; }
.privacy-catalog-links { display: flex; gap: 18px; flex-wrap: wrap; }
.catalog-faro-storto { background: #f2ede0; }
.catalog-relax { background: #eaf2ed; }
.web-notice { margin-bottom: 60px; border: 1px solid var(--line); padding: 26px 30px; }
.web-notice h2 { font-size: 24px; letter-spacing: -.03em; line-height: 1.3; }
.web-notice p { color: var(--muted); font-size: 13px; line-height: 1.75; }
.faro-policy .policy-section h3 { padding-top: 25px; font-size: 20px; }
.faro-policy .section-body { padding-left: 0; padding-right: 0; }
.faro-policy .policy-sources { padding-left: 0; }
.faro-policy-language { margin-bottom: 70px; scroll-margin-top: 30px; }
.faro-policy-language > h2 { font-size: 40px; line-height: 1.2; }
.policy-lead { font-size: 16px; line-height: 1.7; margin-top: 28px; }
.support-body { display: grid; grid-template-columns: 1fr 1fr; gap: 70px; padding-bottom: 80px; }
.support-body h2 { font-size: 32px; line-height: 1.2; letter-spacing: -.04em; }
.support-body p { font-size: 15px; line-height: 1.8; color: var(--muted); }
@media (max-width: 900px) {
  .product-hero { gap: 30px; }
  .product-copy h1 { font-size: 53px; }
  .product-identity { margin-bottom: 30px; }
  .product-story, .product-faq { gap: 40px; }
  .product-features { gap: 24px; }
  .product-detail { padding: 38px; }
}
@media (max-width: 800px) {
  .marketing-header { flex-wrap: wrap; }
  .marketing-nav { width: 100%; gap: 20px; justify-content: space-between; }
  .product-hero { grid-template-columns: 1fr; padding-block: 45px 60px; gap: 45px; }
  .product-copy h1 { font-size: clamp(44px, 11vw, 64px); }
  .product-lede { font-size: 16px; }
  .product-identity { font-size: 16px; }
  .product-identity img { width: 44px; height: 44px; }
  .product-copy .hero-actions { gap: 20px; }
  .faro-hero-art { max-width: 420px; width: 100%; justify-self: center; }
  .phone-stage { padding: 30px; margin-inline: auto; width: min(100%, 420px); }
  .phone-stage .phone-shot { width: min(75%, 230px); }
  .stage-orbit { width: 100%; }
  .product-story { grid-template-columns: 1fr; gap: 10px; padding-top: 55px; margin-bottom: 28px; }
  .product-gallery .phone-gallery { padding: 32px 18px 22px; }
  .phone-gallery-images { gap: 20px; }
  .phone-gallery .phone-shot { width: 45%; border-width: 3px; border-radius: 18px; box-shadow: 0 15px 20px #152c231a; }
  .product-features { grid-template-columns: 1fr; gap: 30px; padding-block: 45px 55px; }
  .product-features h3 { margin-top: 16px; }
  .product-detail, .product-privacy { padding: 32px 24px; }
  .product-detail { margin-bottom: 50px; }
  .product-detail.with-illustration { grid-template-columns: 1fr; gap: 25px; }
  .product-steps { gap: 18px; font-size: 12px; }
  .product-faq { grid-template-columns: 1fr; gap: 20px; padding-block: 60px; }
  .product-closing { padding-block: 45px 60px; }
  .product-footer nav { gap: 16px; }
  .faro-policy .policy-header { flex-wrap: wrap; gap: 20px; }
  .faro-policy .policy-nav { flex-wrap: wrap; gap: 20px; font-size: 13px; }
  .support-body { grid-template-columns: 1fr; gap: 40px; }
  .web-notice { padding: 22px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
}

* {
  box-sizing: border-box;
}

html {
  background: var(--paper);
  scroll-behavior: smooth;
}

body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: Arial, Helvetica, sans-serif;
  font-size: 16px;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
}

a {
  color: inherit;
  text-decoration: none;
}

button {
  font: inherit;
}

.page-width {
  width: min(1180px, calc(100% - 64px));
  margin-inline: auto;
}

.site-shell,
.policy-shell {
  min-height: 100vh;
  overflow: hidden;
}

.site-header,
.policy-header {
  align-items: center;
  display: flex;
  justify-content: space-between;
  padding-bottom: 28px;
  padding-top: 28px;
}

.brand {
  align-items: center;
  display: inline-flex;
  font-size: 14px;
  font-weight: 800;
  gap: 10px;
  letter-spacing: 0.2em;
}

.brand-mark {
  align-items: center;
  background: var(--ink);
  border-radius: 50%;
  color: var(--accent);
  display: inline-flex;
  font-size: 13px;
  height: 31px;
  justify-content: center;
  letter-spacing: 0;
  width: 31px;
}

.header-link,
.text-link,
.mail-link {
  border-bottom: 1px solid var(--ink);
  font-size: 13px;
  font-weight: 700;
  padding-bottom: 3px;
}

.header-link span,
.text-link span,
.mail-link span {
  font-size: 16px;
  margin-left: 5px;
}

.hero {
  align-items: center;
  display: grid;
  gap: 40px;
  grid-template-columns: minmax(0, 1fr) minmax(360px, 0.9fr);
  min-height: 625px;
  padding-bottom: 74px;
  padding-top: 70px;
}

.eyebrow {
  align-items: center;
  color: var(--muted);
  display: flex;
  font-size: 11px;
  font-weight: 800;
  gap: 9px;
  letter-spacing: 0.15em;
  margin: 0 0 25px;
  text-transform: uppercase;
}

.eyebrow span {
  background: var(--accent-deep);
  border-radius: 50%;
  display: inline-block;
  height: 7px;
  width: 7px;
}

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

h1,
h2 {
  font-weight: 400;
  letter-spacing: -0.065em;
  line-height: 0.98;
}

h1 {
  font-size: clamp(56px, 8vw, 112px);
  margin-bottom: 30px;
  max-width: 780px;
}

h1 em,
h2 em {
  color: var(--accent-deep);
  font-family: Georgia, 'Times New Roman', serif;
  font-weight: 400;
}

.hero-lede {
  color: var(--muted);
  font-size: 17px;
  line-height: 1.55;
  max-width: 430px;
}

.hero-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  margin-top: 36px;
}

.button {
  align-items: center;
  border-radius: 999px;
  display: inline-flex;
  font-size: 13px;
  font-weight: 800;
  gap: 22px;
  justify-content: space-between;
  padding: 14px 18px 14px 22px;
  transition: transform 160ms ease, background 160ms ease;
}

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

.button-primary {
  background: var(--ink);
  color: var(--accent);
}

.quiet-note {
  color: var(--muted);
  font-size: 11px;
}

.hero-orbit {
  aspect-ratio: 1;
  justify-self: center;
  max-width: 490px;
  position: relative;
  width: 100%;
}

.hero-orbit::before {
  background: var(--accent);
  border-radius: 50%;
  content: '';
  height: 57%;
  left: 22%;
  position: absolute;
  top: 21%;
  width: 57%;
}

.orbit {
  border: 1px solid var(--line);
  border-radius: 50%;
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%) rotate(-18deg);
}

.orbit-large {
  height: 96%;
  width: 62%;
}

.orbit-small {
  height: 62%;
  transform: translate(-50%, -50%) rotate(35deg);
  width: 96%;
}

.hero-card {
  background: var(--white);
  border: 1px solid rgba(24, 32, 28, 0.1);
  box-shadow: 0 22px 50px rgba(24, 32, 28, 0.1);
  left: 50%;
  padding: 25px 26px 23px;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%) rotate(-4deg);
  width: min(255px, 58%);
}

.card-kicker,
.card-caption {
  color: var(--muted);
  display: block;
  font-size: 10px;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.card-kicker {
  margin-bottom: 16px;
}

.hero-card strong {
  display: block;
  font-size: clamp(46px, 7vw, 68px);
  font-weight: 400;
  letter-spacing: -0.08em;
  line-height: 1;
}

.hero-card strong span {
  color: var(--accent-deep);
  font-size: 28px;
  letter-spacing: -0.04em;
  margin-left: 3px;
}

.card-meter {
  background: var(--paper-deep);
  height: 5px;
  margin: 23px 0 14px;
  overflow: hidden;
}

.card-meter i {
  background: var(--accent-deep);
  display: block;
  height: 100%;
  width: 64%;
}

.orbit-dot {
  background: var(--ink);
  border: 5px solid var(--paper);
  border-radius: 50%;
  height: 18px;
  position: absolute;
  width: 18px;
}

.dot-one {
  right: 6%;
  top: 28%;
}

.dot-two {
  bottom: 18%;
  left: 9%;
}

.feature-section {
  border-top: 1px solid var(--line);
  padding-bottom: 110px;
  padding-top: 84px;
}

.section-heading h2,
.privacy-callout h2 {
  font-size: clamp(42px, 5vw, 70px);
  margin-bottom: 0;
}

.feature-grid {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(3, 1fr);
  margin-top: 72px;
}

.feature-card {
  border-top: 1px solid var(--line);
  padding: 18px 0 0;
}

.feature-number {
  color: var(--accent-deep);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 21px;
}

.feature-card h3 {
  font-size: 18px;
  font-weight: 700;
  letter-spacing: -0.03em;
  margin: 56px 0 12px;
}

.feature-card p,
.callout-copy p {
  color: var(--muted);
  font-size: 14px;
  line-height: 1.65;
  max-width: 290px;
}

.app-tabs {
  align-items: stretch;
  border-bottom: 1px solid var(--line);
  display: flex;
  gap: 30px;
  margin-top: 72px;
}

.app-tab {
  align-items: center;
  display: inline-flex;
  font-size: 13px;
  font-weight: 800;
  gap: 12px;
  padding: 0 0 16px;
  position: relative;
}

.app-tab small {
  color: var(--muted);
  font-size: 10px;
  font-weight: 400;
  letter-spacing: 0.04em;
}

.app-tab-active::after {
  background: var(--accent-deep);
  bottom: -1px;
  content: '';
  height: 2px;
  left: 0;
  position: absolute;
  width: 100%;
}

.app-tab-muted {
  color: var(--muted);
  font-weight: 400;
}

.app-card {
  align-items: center;
  background: var(--white);
  border: 1px solid rgba(24, 32, 28, 0.1);
  display: grid;
  gap: 35px;
  grid-template-columns: 60px minmax(0, 1fr) 150px;
  margin-top: 26px;
  min-height: 260px;
  padding: 38px 45px;
}

.app-card-number {
  align-self: start;
  color: var(--accent-deep);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 21px;
}

.app-card-kicker {
  color: var(--muted);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.13em;
  margin-bottom: 18px;
  text-transform: uppercase;
}

.app-card-copy h3 {
  font-size: 36px;
  font-weight: 400;
  letter-spacing: -0.06em;
  margin-bottom: 10px;
}

.app-card-copy > p:not(.app-card-kicker) {
  color: var(--muted);
  font-size: 14px;
  line-height: 1.65;
  margin-bottom: 24px;
  max-width: 470px;
}

.app-card-links {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 22px;
}

.status-chip {
  background: #eef4dc;
  border-radius: 999px;
  color: #61752f;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.08em;
  padding: 7px 11px;
  text-transform: uppercase;
}

.status-chip-muted {
  background: var(--paper-deep);
  color: var(--muted);
}

.app-card-coming {
  background: transparent;
  border-style: dashed;
}

.app-card-mark-relax {
  background: var(--paper-deep);
  color: var(--muted);
}

.app-icon {
  border: 1px solid rgba(24, 32, 28, 0.1);
  border-radius: 28px;
  box-shadow: 0 14px 28px rgba(24, 32, 28, 0.13);
  height: 132px;
  justify-self: end;
  object-fit: cover;
  transform: rotate(5deg);
  width: 132px;
}

.relax-icon {
  align-items: center;
  background: var(--paper-deep);
  color: var(--muted);
  display: flex;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 62px;
  justify-content: center;
}

.privacy-callout {
  align-items: end;
  background: var(--dark);
  color: var(--white);
  display: grid;
  gap: 50px;
  grid-template-columns: 1fr 0.8fr;
  margin-bottom: 78px;
  padding: 70px;
}

.privacy-callout .eyebrow {
  color: #b4c1b8;
}

.privacy-callout h2 {
  color: var(--white);
}

.callout-copy p {
  color: #b4c1b8;
  margin-bottom: 29px;
}

.privacy-callout .text-link {
  border-color: var(--accent);
  color: var(--accent);
}

.site-footer,
.policy-footer {
  align-items: center;
  border-top: 1px solid var(--line);
  color: var(--muted);
  display: flex;
  font-size: 12px;
  gap: 25px;
  justify-content: space-between;
  padding-bottom: 29px;
  padding-top: 29px;
}

.site-footer .brand,
.policy-footer .brand {
  color: var(--ink);
}

.site-footer p,
.policy-footer p {
  margin-bottom: 0;
  margin-left: auto;
}

.site-footer > a,
.policy-footer > a {
  color: var(--ink);
  font-weight: 700;
}

/* Public privacy page */

.policy-shell {
  background: var(--paper);
}

.policy-header {
  border-bottom: 1px solid var(--line);
}

.policy-nav {
  align-items: center;
  display: flex;
  gap: 25px;
}

.home-nav {
  align-items: center;
  display: flex;
  gap: 25px;
}

.language-switch {
  background: var(--paper-deep);
  border-radius: 999px;
  display: flex;
  gap: 2px;
  padding: 3px;
}

.language-switch button {
  background: transparent;
  border: 0;
  border-radius: 999px;
  color: var(--muted);
  cursor: pointer;
  font-size: 10px;
  font-weight: 800;
  padding: 6px 9px;
}

.language-switch button.active {
  background: var(--white);
  color: var(--ink);
  box-shadow: 0 2px 8px rgba(24, 32, 28, 0.08);
}

.policy-hero {
  align-items: end;
  display: grid;
  gap: 60px;
  grid-template-columns: 1.1fr 0.9fr;
  padding-bottom: 76px;
  padding-top: 84px;
}

.policy-hero h1 {
  font-size: clamp(48px, 6vw, 84px);
  margin-bottom: 23px;
  max-width: 680px;
}

.policy-meta {
  color: var(--muted);
  font-size: 12px;
  margin-bottom: 0;
}

.policy-summary {
  border-left: 2px solid var(--accent-deep);
  padding: 15px 0 15px 25px;
}

.summary-icon {
  color: var(--accent-deep);
  display: block;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 33px;
  line-height: 1;
  margin-bottom: 12px;
}

.policy-summary p {
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 20px;
  line-height: 1.35;
  margin-bottom: 0;
}

.draft-notice {
  align-items: center;
  background: #eef4dc;
  border: 1px solid #d2e3a0;
  color: #52632c;
  display: flex;
  font-size: 12px;
  gap: 12px;
  margin-bottom: 54px;
  padding: 14px 18px;
}

.draft-notice > span {
  align-items: center;
  background: var(--accent-deep);
  border-radius: 50%;
  color: white;
  display: inline-flex;
  flex: 0 0 auto;
  font-size: 11px;
  font-weight: 800;
  height: 20px;
  justify-content: center;
  width: 20px;
}

.policy-layout {
  display: grid;
  gap: 70px;
  grid-template-columns: 220px minmax(0, 1fr);
  padding-bottom: 100px;
}

.policy-aside {
  position: relative;
}

.aside-card {
  background: var(--dark);
  color: var(--white);
  padding: 22px;
  position: sticky;
  top: 24px;
}

.aside-label {
  color: var(--accent);
  display: block;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.15em;
  margin-bottom: 35px;
  text-transform: uppercase;
}

.aside-card p {
  color: #d5ddd6;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 18px;
  line-height: 1.35;
  margin-bottom: 35px;
}

.aside-card .mail-link {
  border-color: var(--accent);
  color: var(--accent);
  font-size: 11px;
  overflow-wrap: anywhere;
}

.aside-footnote {
  color: var(--muted);
  font-size: 11px;
  line-height: 1.6;
  margin: 20px 2px 0;
}

.policy-section {
  border-top: 1px solid var(--line);
}

.policy-section summary {
  align-items: center;
  cursor: pointer;
  display: grid;
  font-size: clamp(17px, 2vw, 21px);
  font-weight: 700;
  gap: 20px;
  grid-template-columns: 42px minmax(0, 1fr) 24px;
  list-style: none;
  padding: 24px 0;
}

.policy-section summary::-webkit-details-marker {
  display: none;
}

.section-index {
  color: var(--accent-deep);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 17px;
  font-weight: 400;
}

.summary-plus {
  color: var(--muted);
  font-size: 23px;
  font-weight: 400;
  text-align: right;
  transition: transform 160ms ease;
}

.policy-section[open] .summary-plus {
  transform: rotate(45deg);
}

.section-body {
  padding: 0 44px 27px 62px;
}

.section-body p {
  color: #515b55;
  font-size: 14px;
  line-height: 1.75;
  margin-bottom: 15px;
  max-width: 730px;
}

.section-body p:last-child {
  margin-bottom: 0;
}

.policy-sources {
  border-top: 1px solid var(--line);
  padding: 42px 0 0 62px;
}

.policy-sources h2 {
  font-size: 26px;
  margin-bottom: 8px;
}

.policy-sources > p {
  color: var(--muted);
  font-size: 13px;
}

.policy-sources ul {
  display: grid;
  gap: 9px;
  list-style: none;
  margin: 25px 0 0;
  padding: 0;
}

.policy-sources li a {
  color: var(--accent-deep);
  font-size: 13px;
  font-weight: 700;
}

.policy-footer {
  margin-top: 0;
}

@media (max-width: 800px) {
  .page-width {
    width: min(100% - 38px, 620px);
  }

  .site-header,
  .policy-header {
    padding-bottom: 22px;
    padding-top: 22px;
  }

  .hero {
    display: flex;
    flex-direction: column;
    gap: 30px;
    min-height: auto;
    padding-bottom: 75px;
    padding-top: 70px;
  }

  .hero-copy {
    width: 100%;
  }

  h1 {
    font-size: clamp(53px, 15vw, 88px);
  }

  .hero-orbit {
    margin-top: 10px;
    width: min(100%, 420px);
  }

  .feature-section {
    padding-bottom: 80px;
    padding-top: 65px;
  }

  .feature-grid {
    grid-template-columns: 1fr;
    margin-top: 47px;
  }

  .app-tabs {
    margin-top: 47px;
  }

  .app-card {
    gap: 18px;
    grid-template-columns: 35px minmax(0, 1fr);
    padding: 28px 23px;
  }

  .app-icon {
    display: none;
  }

  .feature-card h3 {
    margin-top: 32px;
  }

  .privacy-callout {
    display: block;
    margin-bottom: 55px;
    padding: 44px 28px;
  }

  .callout-copy {
    margin-top: 42px;
  }

  .site-footer,
  .policy-footer {
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 15px;
  }

  .site-footer p,
  .policy-footer p {
    margin-left: 0;
    width: 100%;
  }

  .policy-nav {
    gap: 13px;
  }

  .policy-hero {
    display: block;
    padding-bottom: 57px;
    padding-top: 65px;
  }

  .policy-hero h1 {
    font-size: clamp(46px, 13vw, 74px);
  }

  .policy-summary {
    margin-top: 40px;
  }

  .draft-notice {
    align-items: flex-start;
    margin-bottom: 38px;
  }

  .policy-layout {
    display: block;
    padding-bottom: 75px;
  }

  .policy-aside {
    margin-bottom: 47px;
  }

  .aside-card {
    position: static;
  }

  .section-body {
    padding-left: 62px;
    padding-right: 12px;
  }

  .policy-sources {
    padding-left: 62px;
  }
}

@media (max-width: 480px) {
  .header-link {
    font-size: 12px;
  }

  .hero-actions {
    align-items: flex-start;
    flex-direction: column;
    gap: 15px;
  }

  .home-nav .header-link {
    display: none;
  }

  .app-tab {
    align-items: flex-start;
    flex-direction: column;
    gap: 2px;
  }

  .policy-section summary {
    gap: 12px;
    grid-template-columns: 33px minmax(0, 1fr) 20px;
  }

  .section-body,
  .policy-sources {
    padding-left: 45px;
  }
}

/* Creator: Codex. PROJECT support-form styles; explicit deletion only. */
.support-form-section { margin-bottom: 76px; background: #fbfbf7; border: 1px solid var(--line); padding: 44px; }
.support-form-heading { display: flex; justify-content: space-between; align-items: flex-start; gap: 24px; }
.support-form-heading h2, .form-policy > h2 { font-size: clamp(32px, 3.6vw, 44px); line-height: 1.1; letter-spacing: -.045em; margin-bottom: 20px; }
.form-intro { color: var(--muted); font-size: 16px; line-height: 1.65; max-width: 65ch; margin-bottom: 32px; }
.support-fields { border: 0; padding: 0; margin: 0; min-width: 0; }
.support-fields label { display: block; font-size: 14px; font-weight: 700; margin-bottom: 20px; }
.support-fields input, .support-fields select, .support-fields textarea { display: block; font: inherit; font-weight: 400; font-size: 16px; width: 100%; min-width: 0; margin-top: 8px; padding: 13px 14px; border: 1px solid #aeb8ae; border-radius: 8px; background: #fff; color: var(--ink); }
.support-fields textarea { resize: vertical; min-height: 170px; line-height: 1.6; }
.support-fields input:focus, .support-fields select:focus, .support-fields textarea:focus { outline: 2px solid #486b28; outline-offset: 2px; }
.support-fields input:disabled, .support-fields select:disabled, .support-fields textarea:disabled { opacity: .65; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.form-grid-three { grid-template-columns: repeat(3, 1fr); padding-top: 20px; }
.field-hint { color: var(--muted); font-size: 14px; line-height: 1.6; margin-top: -9px; max-width: 700px; }
.form-optional { border-block: 1px solid var(--line); margin: 24px 0; }
.form-optional summary { padding-block: 17px; font-size: 14px; cursor: pointer; font-weight: 700; }
.form-privacy-note { color: var(--muted); font-size: 14px; line-height: 1.7; max-width: 850px; }
.form-privacy-note a { text-decoration: underline; color: var(--ink); text-underline-offset: 3px; }
.form-submit { display: flex; flex-wrap: wrap; align-items: center; gap: 20px; margin-top: 26px; }
.form-submit > span { color: var(--muted); font-size: 14px; }
.form-submit .text-link { font-size: 14px; overflow-wrap: anywhere; }
.support-form-section button { cursor: pointer; }
.support-form-section .button { border: 0; }
.support-form-section button:disabled { cursor: wait; opacity: .55; transform: none; }
.form-result { padding: 24px; margin-block: 24px; border: 1px solid; border-radius: 8px; overflow-wrap: anywhere; }
.form-result p { font-size: 16px; line-height: 1.6; margin-bottom: 12px; }
.form-result p:last-child { margin-bottom: 0; }
.form-success { border-color: #6c8b47; background: #f1f6e6; }
.form-success h3 { font-size: 26px; }
.form-error { border-color: #ae684b; background: #fff5ed; color: #6b341e; }
.form-error button { padding: 8px 18px; margin-top: 10px; color: #6b341e; background: #fff; border: 1px solid #ae684b; border-radius: 5px; }
.form-honeypot, .visually-hidden { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.contact-hero { padding-block: 70px 48px; }
.contact-hero h1 { font-size: clamp(58px, 8vw, 98px); }
.contact-hero > p:last-child { max-width: 600px; color: var(--muted); font-size: 17px; line-height: 1.7; }
.contact-references { display: grid; grid-template-columns: .9fr 1.4fr .9fr; gap: 32px; margin-bottom: 70px; }
.contact-references article { border-top: 1px solid var(--line); padding-top: 26px; }
.contact-references h2 { font-size: 27px; line-height: 1.2; letter-spacing: -.035em; }
.contact-references p { font-size: 14px; color: var(--muted); }
.contact-references a { font-size: 14px; font-weight: 700; overflow-wrap: anywhere; }
.contact-references a:hover { text-decoration: underline; }
.form-policy { padding-block: 20px 70px; }
.form-policy > .policy-nav { margin-bottom: 35px; flex-wrap: wrap; }
.form-policy article { border-top: 1px solid var(--line); padding-top: 30px; margin-top: 30px; scroll-margin-top: 24px; max-width: 900px; }
.form-policy h3 { font-size: 26px; }
.form-policy p { font-size: 16px; line-height: 1.65; max-width: 65ch; color: var(--muted); }
.policy-reference-links { display: flex; flex-wrap: wrap; gap: 24px; margin-top: 35px; }
.policy-reference-links a { text-decoration: underline; }
@media (max-width: 800px) {
  .support-form-section { padding: 28px 22px; margin-bottom: 45px; }
  .support-form-heading { flex-wrap: wrap; gap: 8px; margin-bottom: 22px; }
  .support-form-heading h2 { margin-bottom: 10px; }
  .form-grid, .form-grid-three { grid-template-columns: 1fr; gap: 0; }
  .contact-references { grid-template-columns: 1fr; gap: 24px; }
  .form-submit { align-items: flex-start; flex-direction: column; }
  .form-submit .text-link { display: inline-block; }
  .contact-hero { padding-top: 45px; }
}

/* Ticket receipt: PROJECT support interface; no client-side persistence. */
.ticket-receipt { display: flex; align-items: center; flex-wrap: wrap; gap: 12px 20px; margin: 24px 0; padding: 20px 0; border-top: 1px solid currentColor; border-bottom: 1px solid currentColor; }
.ticket-receipt .ticket-label { width: 100%; margin: 0; font-size: 14px; letter-spacing: .08em; text-transform: uppercase; }
.support-ticket-id { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: clamp(14px, 2.2vw, 19px); font-weight: 600; overflow-wrap: anywhere; user-select: all; -webkit-user-select: all; }
.ticket-copy { padding: 8px 16px; min-height: 44px; border: 1px solid currentColor; border-radius: 10px; background: transparent; color: inherit; font: inherit; font-size: 14px; cursor: pointer; }
.ticket-copy:hover { text-decoration: underline; }
.ticket-copy-help { font-size: 14px; }

.field-error { display: block; color: var(--error-ink); font-size: 14px; font-weight: 500; line-height: 1.5; margin-top: 8px; }

/* Creator: Codex. PROJECT visual system, approved Galleria / alabaster direction.
   Source: owner-supplied visual-language PDF. Retain until explicit deletion. */
:root {
  color-scheme: light;
  --paper: #f1f4f5; --paper-deep: #e6edf0; --white: #fbfcfd;
  --ink: #202a31; --muted: #53616c; --line: #d8e1e7;
  --accent: #e3edf6; --accent-deep: #285f8a; --dark: #e6edf0;
  --glass: #fbfcfded; --soft-shadow: #20314012; --radius: 28px;
  --control-radius: 12px; --control-height: 48px; --control-line: #72818d; --surface-highlight: #ffffffd9;
  --material-core: #fcfcf4; --material-mid: #edf1ed; --material-edge: #cbd6d9;
  --material-plane: #eef4f4a6; --material-vein: #74848c30;
  --success-bg: #edf5ee; --success-ink: #28563a; --success-line: #70967b;
  --error-bg: #fcf0ed; --error-ink: #873a30; --error-line: #b87970;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    color-scheme: dark;
    --paper: #15191c; --paper-deep: #1d2327; --white: #242a2f;
    --ink: #edf0f2; --muted: #afbac2; --line: #46525c;
    --accent: #344353; --accent-deep: #a9c9ec; --dark: #1d2327;
    --glass: #242a2fed; --soft-shadow: #0000002b; --control-line: #84949f; --surface-highlight: #ffffff0d;
    --material-core: #69757b; --material-mid: #3e4a51; --material-edge: #263137;
    --material-plane: #82919824; --material-vein: #ced9df20;
    --success-bg: #25392e; --success-ink: #c1e3ca; --success-line: #789c82;
    --error-bg: #402d2c; --error-ink: #f7c0b8; --error-line: #c58d85;
  }
}
:root[data-theme="dark"] {
  color-scheme: dark;
  --paper: #15191c; --paper-deep: #1d2327; --white: #242a2f;
  --ink: #edf0f2; --muted: #afbac2; --line: #46525c;
  --accent: #344353; --accent-deep: #a9c9ec; --dark: #1d2327;
  --glass: #242a2fed; --soft-shadow: #0000002b; --control-line: #84949f; --surface-highlight: #ffffff0d;
  --material-core: #69757b; --material-mid: #3e4a51; --material-edge: #263137;
  --material-plane: #82919824; --material-vein: #ced9df20;
  --success-bg: #25392e; --success-ink: #c1e3ca; --success-line: #789c82;
  --error-bg: #402d2c; --error-ink: #f7c0b8; --error-line: #c58d85;
}
.theme-faro-storto, .theme-relax { --paper: inherit; --paper-deep: inherit; --accent: inherit; --accent-deep: inherit; --ink: inherit; --dark: inherit; --muted: inherit; }
html { scroll-behavior: auto; }
body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; background: var(--paper); color: var(--ink); }
button, input, select, textarea { color: var(--ink); }
button, select, summary { -webkit-tap-highlight-color: transparent; }
button, select { cursor: pointer; }
img { max-width: 100%; }
.site-shell, .policy-shell { overflow: visible; }
.site-shell, .policy-shell, .marketing-shell { background: var(--paper); }
.page-width { width: min(1180px, calc(100% - 80px)); }
a:focus-visible, button:focus-visible, summary:focus-visible, select:focus-visible { outline: 3px solid var(--accent-deep); outline-offset: 5px; }
.skip-link { border-radius: 10px; background: var(--ink); color: var(--paper); }
h1, h2 { font-family: inherit; font-weight: 500; line-height: 1.1; letter-spacing: -.055em; }
h3 { font-weight: 600; }
h1 em, h2 em { font-family: inherit; font-style: normal; color: var(--muted); font-weight: 500; }
.eyebrow { font-size: 14px; font-weight: 500; letter-spacing: .08em; }
.eyebrow > span:empty { display: none; }
.brand { font-weight: 600; letter-spacing: .15em; }
.gallery-brand { gap: 9px; white-space: nowrap; font-size: 17px; }
.gallery-brand small { font-size: 9px; font-weight: 500; letter-spacing: .14em; color: var(--muted); padding-top: 2px; }
.site-header, .policy-header { padding-block: 24px; border-bottom: 1px solid var(--line); gap: 24px; flex-wrap: wrap; }
.gallery-header { position: relative; }
.home-nav, .policy-nav, .marketing-nav, .header-actions { display: flex; align-items: center; gap: 20px; flex-wrap: wrap; }
.marketing-nav { font-size: 13px; font-weight: 500; }
.header-link, .text-link, .mail-link { font-size: 14px; font-weight: 500; border-color: var(--line); }
.header-link { display: inline-flex; align-items: center; min-height: 44px; border: 0; padding: 0; }
.text-link, .mail-link { padding-block: 9px; display: inline-block; }
.appearance-control { display: inline-flex; align-items: center; gap: 8px; min-width: 0; color: var(--muted); background: var(--white); border: 1px solid var(--control-line); border-radius: 12px; padding-left: 12px; }
.appearance-control > span[aria-hidden] { font-size: 18px; line-height: 1; }
.appearance-control select { min-height: 44px; font: inherit; font-size: 14px; background: transparent; color: var(--ink); border: 0; border-radius: 12px; max-width: 160px; padding: 8px; }
.appearance-control option { background: var(--white); color: var(--ink); }
.language-switch { background: var(--paper-deep); border-radius: 12px; padding: 3px; }
.language-switch button { min-height: 44px; min-width: 44px; padding: 8px; border-radius: 8px; font-size: 14px; font-weight: 500; }
.language-switch button.active { background: var(--white); box-shadow: inset 0 -2px var(--ink); font-weight: 600; }
.button { border-radius: var(--control-radius); min-height: var(--control-height); padding: 12px 24px; font-size: 16px; font-weight: 500; gap: 24px; transition: transform 140ms ease, box-shadow 140ms ease; }
.button-primary { color: var(--paper); background: var(--ink); }
.button:hover { transform: none; box-shadow: 0 4px 12px var(--soft-shadow); }
.button:active { transform: translateY(1px); }
.site-footer, .policy-footer { flex-wrap: wrap; font-size: 14px; }
.site-footer > a, .policy-footer > a { font-weight: 500; }
.gallery-intro { display: grid; grid-template-columns: 1.45fr .65fr; align-items: end; gap: 60px; padding-top: 74px; padding-bottom: 44px; }
.gallery-intro h1 { font-size: clamp(54px, 6.9vw, 90px); line-height: 1.02; letter-spacing: -.065em; margin: 0; }
.gallery-intro h1 > span { color: var(--muted); }
.gallery-intro .eyebrow { margin-bottom: 23px; }
.gallery-lede { color: var(--muted); line-height: 1.7; max-width: 310px; margin-bottom: 5px; font-size: 17px; }
.gallery-collection { padding-bottom: 80px; scroll-margin-top: 24px; }
.gallery-select { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 20px; }
.gallery-choice { display: flex; align-items: center; justify-content: center; gap: 12px; background: var(--glass); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); color: var(--ink); border: 1px solid var(--line); border-radius: 15px; min-height: 58px; padding: 8px 20px 8px 10px; font-weight: 500; font-size: 13px; transition: transform 160ms ease, box-shadow 160ms ease; }
.gallery-choice img { border-radius: 10px; width: 38px; height: 38px; }
.gallery-choice[aria-pressed="true"] { border-color: var(--accent-deep); box-shadow: inset 0 0 0 1px var(--accent-deep); color: var(--accent-deep); }
.gallery-choice:hover { transform: translateY(-2px); }
.gallery-choice:active { transform: scale(.98); }
.gallery-feature { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 54px; padding: 28px; background: var(--white); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: 0 20px 50px var(--soft-shadow); min-height: 510px; }
.gallery-art { display: grid; place-items: center; margin: 0; height: 460px; overflow: hidden; border-radius: 19px; background: var(--paper-deep); }
.gallery-art > img { display: block; max-height: 100%; width: 100%; height: 100%; object-fit: contain; }
.gallery-art-illustration > img { object-fit: cover; }
.gallery-art-screen { padding: 20px; background: linear-gradient(130deg, var(--paper-deep), var(--paper)); }
.gallery-art-screen > img { width: auto; height: 100%; max-width: 100%; border: 4px solid var(--line); border-radius: 24px; box-shadow: 0 12px 24px var(--soft-shadow); }
.gallery-feature-copy { min-width: 0; padding: 18px 24px 18px 0; }
.gallery-app-type { font-size: 11px; letter-spacing: .04em; color: var(--muted); margin-bottom: 24px; }
.gallery-app-name { font-size: 15px; color: var(--muted); margin-bottom: 14px; }
.gallery-feature-copy h2 { font-size: clamp(31px, 3.5vw, 47px); line-height: 1.12; letter-spacing: -.055em; margin-bottom: 24px; }
.gallery-description { color: var(--muted); font-size: 15px; line-height: 1.75; max-width: 410px; margin-bottom: 28px; }
.gallery-feature-actions { display: flex; align-items: center; gap: 23px; flex-wrap: wrap; }
.gallery-availability { display: flex; gap: 8px 16px; flex-wrap: wrap; margin-top: 28px; color: var(--muted); font-size: 11px; }
.gallery-availability > span:first-child { font-weight: 600; }
.gallery-index { display: grid; grid-template-columns: .85fr 1.15fr; gap: 80px; align-items: start; padding-block: 44px 92px; }
.gallery-index-heading h2 { max-width: 360px; font-size: 40px; margin-bottom: 20px; }
.gallery-index-heading > p:last-child { max-width: 340px; color: var(--muted); font-size: 15px; line-height: 1.75; }
.gallery-index-links { border-top: 1px solid var(--line); }
.gallery-index-link { display: grid; grid-template-columns: 24px 48px minmax(0, 1fr) 20px; gap: 18px; align-items: center; min-height: 108px; padding: 22px 0; border-bottom: 1px solid var(--line); }
.gallery-index-link img { border-radius: 13px; }
.gallery-index-number { font-size: 11px; color: var(--muted); }
.gallery-index-link strong { display: block; font-weight: 500; font-size: 21px; letter-spacing: -.025em; }
.gallery-index-link small { display: block; color: var(--muted); font-size: 11px; margin-top: 5px; }
.gallery-index-link:hover strong { color: var(--accent-deep); }
.gallery-care { display: grid; grid-template-columns: 1.3fr .7fr; gap: 90px; padding: 48px; margin-bottom: 70px; background: var(--paper-deep); border-radius: var(--radius); }
.gallery-care h2 { font-size: 40px; max-width: 470px; margin-bottom: 22px; }
.gallery-care > div > p:not(.eyebrow) { color: var(--muted); max-width: 530px; font-size: 15px; line-height: 1.75; margin-bottom: 28px; }
.gallery-care nav { padding-top: 6px; }
.gallery-care nav > a { display: flex; justify-content: space-between; gap: 20px; font-size: 14px; min-height: 58px; align-items: center; border-bottom: 1px solid var(--line); }
/* The shared material stays neutral; app imagery keeps its own identity. */
.product-copy h1 { font-size: clamp(46px, 5.5vw, 72px); font-weight: 500; }
.product-hero { gap: 60px; padding-block: 64px 80px; }
.product-identity { font-weight: 500; }
.product-identity img, .product-closing img { border: 1px solid var(--line); }
.product-status { font-size: 11px; font-weight: 400; border-radius: 9px; padding: 5px 9px; }
.product-facts { font-size: 12px; }
.product-facts li::before { background: var(--muted); }
.faro-hero-art > img { border-radius: var(--radius); box-shadow: 0 20px 50px var(--soft-shadow); }
.faro-hero-art figcaption { font-family: inherit; font-style: normal; font-size: 12px; }
.phone-stage { padding: 32px; border-radius: var(--radius); background: linear-gradient(130deg, var(--white), var(--paper-deep)); border: 1px solid var(--line); }
.phone-stage::before, .stage-orbit { display: none; }
.phone-shot { border-color: var(--line); box-shadow: 0 20px 36px var(--soft-shadow); }
.game-screen img, .phone-gallery, .product-detail, .product-privacy { border-radius: var(--radius); }
.phone-gallery { background: var(--white); border: 1px solid var(--line); }
.product-features h3 { font-weight: 500; }
.feature-number, .product-steps strong, .section-index, .product-detail .pause-mantra { font-family: inherit; font-style: normal; color: var(--muted); }
.product-detail { background: var(--white); border: 1px solid var(--line); }
.product-detail img { border-radius: 16px; }
.product-privacy { background: var(--paper-deep); color: var(--ink); }
.product-privacy p { color: var(--muted); }
.product-privacy .eyebrow, .product-privacy .text-link { color: var(--ink); border-color: var(--line); }
.product-faq summary { font-weight: 500; }
.product-steps { flex-wrap: wrap; }
/* Forms and legal pages share both appearances, including error and focus states. */
.policy-hero h1, .contact-hero h1 { font-size: clamp(44px, 4.9vw, 64px); font-weight: 400; }
.policy-summary { border-left: 1px solid var(--line); }
.policy-summary p { font-family: inherit; font-size: 18px; line-height: 1.6; }
.aside-card { background: var(--white); color: var(--ink); border: 1px solid var(--line); border-radius: 19px; }
.aside-label { color: var(--muted); font-weight: 500; }
.aside-card p { font-family: inherit; color: var(--ink); font-size: 17px; line-height: 1.55; }
.aside-card .mail-link { color: var(--accent-deep); border-color: var(--line); font-size: 14px; }
.policy-section summary { font-weight: 500; }
.section-body p, .policy-lead, .support-intro { color: var(--muted); font-size: 16px; line-height: 1.65; max-width: 65ch; }
.policy-nav a, .policy-sources li a, .aside-label, .policy-version, .policy-meta, .aside-footnote { font-size: 14px; }
.policy-sources > p, .support-body p { font-size: 16px; line-height: 1.65; max-width: 65ch; }
.policy-nav a, .site-footer > a, .policy-footer > a { min-height: 44px; display: inline-flex; align-items: center; }
.section-body a, .policy-lead a { text-decoration: underline; text-underline-offset: 3px; }
.web-notice { background: var(--white); border-radius: 20px; }
.web-notice p { font-size: 14px; }
.support-form-section { background: var(--white); border-radius: var(--radius); box-shadow: 0 14px 40px var(--soft-shadow); }
.support-fields label, .form-optional summary, .contact-references a { font-weight: 500; }
.support-fields input, .support-fields select, .support-fields textarea { background: var(--paper); border-color: var(--control-line); border-radius: var(--control-radius); }
.support-fields [aria-invalid="true"] { border-color: var(--error-ink); border-width: 2px; }
.support-fields input, .support-fields select { min-height: var(--control-height); }
.support-fields select { -webkit-appearance: none; appearance: none; line-height: 1.4; padding-right: 44px; background-image: linear-gradient(45deg, transparent 50%, var(--muted) 50%), linear-gradient(135deg, var(--muted) 50%, transparent 50%); background-position: calc(100% - 20px) 50%, calc(100% - 15px) 50%; background-size: 5px 5px; background-repeat: no-repeat; }
.support-fields option { background: var(--white); color: var(--ink); }
@media (forced-colors: active) { .support-fields select { -webkit-appearance: menulist; appearance: auto; background-image: none; } }
.support-fields input:focus, .support-fields select:focus, .support-fields textarea:focus { outline: 2px solid var(--accent-deep); outline-offset: 3px; }
.support-fields input::placeholder, .support-fields textarea::placeholder { color: var(--muted); opacity: 1; }
.form-result { border-radius: 14px; }
.form-success { background: var(--success-bg); color: var(--success-ink); border-color: var(--success-line); }
.form-error { background: var(--error-bg); color: var(--error-ink); border-color: var(--error-line); }
.form-error button { background: var(--white); color: var(--error-ink); border-color: var(--error-line); min-height: 44px; border-radius: 10px; }
.form-grid, .contact-references, .support-form-heading { min-width: 0; }
.contact-references > article { min-width: 0; }
.policy-content { min-width: 0; overflow-wrap: anywhere; }
.policy-sources li a { font-weight: 500; }
.summary-icon { display: none; }
@media (max-width: 1000px) {
  .home-nav, .marketing-nav, .header-actions { gap: 12px; }
  .gallery-feature { gap: 30px; padding: 23px; }
  .gallery-feature-copy { padding-right: 0; }
  .gallery-art { height: 400px; }
  .gallery-index { gap: 44px; }
  .gallery-care { gap: 45px; }
}
@media (max-width: 800px) {
  .page-width { width: calc(100% - 40px); }
  .site-header, .policy-header { padding-block: 20px; gap: 18px; }
  .home-nav, .header-actions, .policy-nav { gap: 10px 16px; }
  .gallery-intro { grid-template-columns: 1fr; gap: 25px; padding-block: 46px 32px; }
  .gallery-intro h1 { font-size: clamp(50px, 9vw, 72px); }
  .gallery-lede { max-width: 500px; font-size: 16px; }
  .gallery-feature { grid-template-columns: 1fr; gap: 28px; padding: 22px; }
  .gallery-art { height: min(75vw, 430px); }
  .gallery-art-illustration > img { object-fit: contain; }
  .gallery-feature-copy { padding: 0 5px 8px; }
  .gallery-feature-copy h2 { font-size: clamp(32px, 6vw, 43px); }
  .gallery-app-type { margin-bottom: 16px; }
  .gallery-description { max-width: 100%; }
  .gallery-availability { margin-top: 22px; }
  .gallery-collection { padding-bottom: 50px; }
  .gallery-index { grid-template-columns: 1fr; gap: 18px; padding-block: 22px 55px; }
  .gallery-index-heading h2, .gallery-care h2 { font-size: 36px; }
  .gallery-index-heading > p:last-child { max-width: 550px; }
  .gallery-care { grid-template-columns: 1fr; gap: 38px; padding: 30px 24px; margin-bottom: 50px; }
  .gallery-care nav { padding-top: 0; }
  .product-hero { gap: 40px; padding-block: 42px 60px; }
  .product-copy h1 { font-size: clamp(42px, 8vw, 60px); }
  .product-facts { font-size: 11px; }
  .phone-stage { max-width: 420px; }
  .phone-stage .phone-shot { width: min(80%, 240px); }
  .product-detail, .product-privacy { padding: 32px 24px; }
  .product-steps strong { font-size: 28px; }
  .support-form-section { padding: 28px 24px; }
  .policy-section summary { grid-template-columns: 28px minmax(0, 1fr) 20px; gap: 10px; }
  .section-body { padding-left: 38px; padding-right: 0; }
  .policy-sources { padding-left: 0; }
  .faro-policy .section-body, .support-body .section-body { padding-left: 0; }
  .policy-hero, .contact-hero { padding-top: 45px; }
  .policy-hero h1, .contact-hero h1 { font-size: clamp(32px, 5.8vw, 40px); }
  .site-footer, .policy-footer { align-items: flex-start; gap: 18px; }
}
@media (max-width: 480px) {
  .gallery-brand { font-size: 15px; }
  .gallery-header .home-nav, .header-actions { width: 100%; justify-content: space-between; }
  .gallery-choice { padding: 8px 10px; gap: 8px; min-height: 52px; font-size: 12px; }
  .gallery-choice img { height: 30px; width: 30px; border-radius: 8px; }
  .gallery-select { gap: 8px; }
  .gallery-feature { padding: 16px; border-radius: 22px; }
  .gallery-art { border-radius: 14px; }
  .gallery-art-screen { padding: 14px; }
  .gallery-art-screen > img { border-radius: 17px; }
  .gallery-feature-copy { padding: 0 3px 6px; }
  .gallery-index-link { grid-template-columns: 40px minmax(0, 1fr) 18px; gap: 14px; }
  .gallery-index-number { display: none; }
  .gallery-index-link img { width: 40px; height: 40px; border-radius: 11px; }
  .gallery-index-link strong { font-size: 19px; }
  .marketing-nav { justify-content: flex-start; }
  .product-identity { gap: 10px; }
  .product-status { font-size: 10px; }
  .support-form-section { padding: 25px 18px; }
  .support-form-heading { gap: 12px; }
  .support-form-heading h2 { font-size: 33px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .gallery-choice, .button, .button:hover, .button:active { transition: none; transform: none; }
}

/* Creator: Codex. PROJECT product presentations, MATT0CCIA Web Visual Language 1.0.
   Real app imagery, one primary action, compact opening and optional detail.
   Retain until explicit owner-authorized deletion. */
.luxury-marketing { background: var(--paper); color: var(--ink); font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
.campaign-width { width: min(1200px, calc(100% - 80px)); margin-inline: auto; }
.campaign-opening { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 48px; padding-block: 48px 64px; }
.campaign-product-intro { min-width: 0; text-align: left; }
.campaign-eyebrow { font-size: 14px; font-weight: 500; letter-spacing: .08em; margin: 0; line-height: 1.5; color: var(--muted); }
.campaign-product-intro h1 { font-size: clamp(44px, 4.9vw, 64px); line-height: 1.08; font-weight: 400; letter-spacing: -.045em; margin: 24px 0; text-wrap: balance; }
.campaign-product-intro h1 > span { color: var(--muted); }
.campaign-lede { margin: 0 0 24px; max-width: 52ch; color: var(--muted); font-size: 18px; line-height: 1.6; }
.luxury-marketing .campaign-link { display: inline-flex; align-items: center; justify-content: center; gap: 24px; min-height: 48px; padding: 12px 24px; border: 1px solid transparent; border-radius: var(--control-radius); background: var(--ink); color: var(--white); font-size: 16px; font-weight: 500; line-height: 1.5; transition: transform 140ms ease, box-shadow 140ms ease; }
.luxury-marketing .campaign-link:hover { box-shadow: 0 4px 12px var(--soft-shadow); }
.luxury-marketing .campaign-link:active { transform: translateY(1px); }
.campaign-availability, .campaign-essential-note { color: var(--muted); font-size: 14px; line-height: 1.6; max-width: 52ch; margin: 16px 0 0; }
.campaign-essential-note { margin-top: 8px; }
.campaign-visual { margin: 0; width: 100%; position: relative; display: grid; place-items: center; overflow: hidden; background: radial-gradient(ellipse at 30% 20%, var(--white), var(--paper-deep)); height: 460px; border: 1px solid var(--line); border-radius: 28px; box-shadow: inset 0 1px var(--surface-highlight); }
.campaign-visual > img { display: block; width: auto; max-width: 86%; height: 84%; object-fit: contain; border: 4px solid #242a30; border-radius: 28px; box-shadow: 0 16px 32px var(--soft-shadow); }
.campaign-visual-faro-storto { height: 420px; }
.campaign-visual-faro-storto > img { width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: 60% center; border: 0; border-radius: 0; box-shadow: none; }
.campaign-visual-word { display: none; }
.campaign-story { display: grid; grid-template-columns: .55fr 1fr 1fr; gap: 32px; align-items: start; padding-block: 48px 64px; border-top: 1px solid var(--line); }
.campaign-story .campaign-eyebrow { padding-top: 8px; }
.campaign-story h2 { font-size: clamp(32px, 3.3vw, 44px); font-weight: 400; line-height: 1.15; letter-spacing: -.04em; margin: 0; }
.campaign-description { color: var(--muted); font-size: 17px; line-height: 1.65; margin: 0; max-width: 65ch; }
.campaign-details { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.campaign-details > summary { list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 64px; padding-block: 16px; font-size: 17px; font-weight: 500; cursor: pointer; }
.campaign-details > summary::-webkit-details-marker { display: none; }
.campaign-details > summary > span { font-size: 26px; font-weight: 300; transition: transform 200ms ease; }
.campaign-details[open] > summary > span { transform: rotate(45deg); }
.campaign-details-body { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; padding: 24px 0 48px; }
.campaign-detail-image { margin: 0; display: flex; flex-direction: column; align-items: center; justify-content: flex-start; padding: 32px; background: var(--white); border: 1px solid var(--line); border-radius: 20px; }
.campaign-detail-image > img { display: block; width: auto; max-width: 100%; height: 360px; object-fit: contain; border-radius: 12px; }
.campaign-detail-image.wide > img { width: 100%; height: auto; }
.campaign-detail-image figcaption { margin-top: 20px; color: var(--muted); font-size: 14px; line-height: 1.6; text-align: center; }
.campaign-facts { list-style: none; padding: 0 0 24px; margin: 0 0 24px; border-bottom: 1px solid var(--line); display: flex; flex-wrap: wrap; gap: 12px 20px; color: var(--muted); font-size: 14px; }
.campaign-details-body article { margin-bottom: 24px; }
.campaign-details-body article h3 { font-size: 20px; font-weight: 500; margin: 0 0 12px; }
.campaign-details-body article p { font-size: 16px; color: var(--muted); line-height: 1.65; margin: 0; max-width: 65ch; }
.campaign-privacy-line { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px 24px; padding-block: 20px; color: var(--muted); font-size: 14px; }
.campaign-privacy-line p { margin: 0; }
.campaign-privacy-line a { display: inline-flex; align-items: center; min-height: 44px; gap: 16px; color: var(--accent-deep); }
.campaign-closing { text-align: center; padding-block: 64px; }
.campaign-closing h2 { font-size: clamp(32px, 3.5vw, 44px); font-weight: 400; line-height: 1.15; letter-spacing: -.04em; margin: 0 0 24px; }
.campaign-closing p { margin: 20px auto 0; max-width: 65ch; font-size: 14px; line-height: 1.6; color: var(--muted); }
/* PROJECT feature explanations: visible content, shared typography and palette. */
.campaign-feature-link { display: flex; align-items: center; gap: 12px; width: fit-content; min-height: 44px; margin-top: 8px; color: var(--accent-deep); font-size: 16px; line-height: 1.5; }
.campaign-feature-link:hover { text-decoration: underline; text-underline-offset: 4px; }
.campaign-features { padding-block: 48px 64px; border-top: 1px solid var(--line); scroll-margin-top: 24px; }
.campaign-feature-heading { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: end; margin-bottom: 40px; }
.campaign-feature-heading > div { min-width: 0; }
.campaign-feature-heading h2, .campaign-how h2 { font-size: clamp(32px, 3.3vw, 44px); font-weight: 400; line-height: 1.15; letter-spacing: -.04em; margin: 16px 0 0; max-width: 23ch; text-wrap: balance; }
.campaign-feature-heading > p { color: var(--muted); font-size: 17px; line-height: 1.65; max-width: 60ch; margin: 0; }
.campaign-screen-note { color: var(--muted); font-size: 14px; line-height: 1.6; margin: -16px 0 32px; max-width: 76ch; }
.campaign-feature-grid { display: grid; gap: 48px; }
.campaign-feature-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; gap: 48px; padding-top: 40px; border-top: 1px solid var(--line); }
.campaign-feature-copy { display: grid; gap: 32px; min-width: 0; }
.campaign-feature-row:nth-child(even) .campaign-feature-copy { grid-column: 2; grid-row: 1; }
.campaign-feature-row:nth-child(even) .campaign-feature-screens { grid-column: 1; grid-row: 1; }
.campaign-feature-grid article { min-width: 0; }
.campaign-feature-number { color: var(--muted); font-size: 14px; font-variant-numeric: tabular-nums; }
.campaign-feature-grid h3, .campaign-how h3 { color: var(--ink); font-size: 22px; line-height: 1.3; letter-spacing: -.02em; font-weight: 500; margin: 16px 0 12px; }
.campaign-feature-grid p, .campaign-how li p { color: var(--muted); font-size: 16px; line-height: 1.65; max-width: 60ch; margin: 0; }
.campaign-feature-screens { min-width: 0; }
.campaign-feature-screens.has-pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 20px; }
.campaign-feature-media { margin: 0; min-width: 0; }
.campaign-screen-link { display: block; color: var(--accent-deep); border-radius: 24px; }
.campaign-screen-canvas { display: grid; place-items: center; padding: 24px; border: 1px solid var(--line); border-radius: 24px; background: var(--white); }
.campaign-screen-canvas img { display: block; width: 240px; max-width: 100%; height: auto; border-radius: 16px; box-shadow: 0 8px 28px rgb(0 0 0 / 10%); }
.campaign-feature-media.is-landscape img { width: 100%; border-radius: 10px; }
.campaign-screen-action { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 44px; padding-inline: 4px; font-size: 14px; line-height: 1.5; }
.campaign-screen-link:hover .campaign-screen-action { text-decoration: underline; text-underline-offset: 4px; }
.campaign-screen-link:focus-visible { outline: 2px solid var(--accent-deep); outline-offset: 5px; }
.campaign-feature-media figcaption { padding-top: 4px; }
.campaign-feature-media figcaption strong { display: block; color: var(--ink); font-size: 16px; line-height: 1.5; font-weight: 500; }
.campaign-feature-media figcaption p, .campaign-feature-credit { color: var(--muted); font-size: 14px; line-height: 1.6; margin: 6px 0 0; overflow-wrap: anywhere; }
.campaign-feature-credit { display: block; }
.campaign-feature-credit a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.campaign-feature-screens.has-pair .campaign-screen-canvas { padding: 12px; border-radius: 20px; }
.campaign-how { padding: 40px; margin-bottom: 64px; border: 1px solid var(--line); border-radius: 28px; background: var(--white); }
.campaign-how h2 { max-width: 28ch; }
.campaign-how ol { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; margin: 32px 0 0; padding: 0; list-style-position: inside; }
.campaign-how li { min-width: 0; border-top: 1px solid var(--line); padding-top: 20px; color: var(--muted); font-size: 14px; }
.campaign-how li::marker { font-variant-numeric: tabular-nums; }
.campaign-how h3 { font-size: 20px; }
@media (max-width: 820px) {
  .campaign-width { width: calc(100% - 40px); }
  .campaign-opening { grid-template-columns: 1fr; gap: 32px; padding-block: 32px 48px; }
  .campaign-product-intro h1 { font-size: clamp(32px, 5.8vw, 40px); margin-block: 20px; }
  .campaign-lede { font-size: 16px; }
  .campaign-visual { height: 340px; }
  .campaign-visual > img { height: 88%; border-radius: 20px; }
  .campaign-visual-faro-storto { height: auto; aspect-ratio: 1672 / 941; }
  .campaign-visual-faro-storto > img { height: 100%; border-radius: 0; }
  .campaign-story { grid-template-columns: 1fr; padding-block: 32px 48px; gap: 20px; }
  .campaign-story h2 { font-size: 32px; }
  .campaign-description { font-size: 16px; }
  .campaign-details-body { grid-template-columns: 1fr; gap: 32px; padding-bottom: 32px; }
  .campaign-detail-image { padding: 24px; }
  .campaign-detail-image > img { height: 320px; }
  .campaign-closing { padding-block: 48px; }
  .campaign-features { padding-block: 32px 48px; }
  .campaign-feature-heading { grid-template-columns: 1fr; gap: 20px; margin-bottom: 32px; }
  .campaign-feature-heading h2, .campaign-how h2 { font-size: 32px; }
  .campaign-feature-heading > p { font-size: 16px; }
  .campaign-feature-grid { gap: 32px; }
  .campaign-feature-row { grid-template-columns: 1fr; gap: 28px; padding-top: 28px; }
  .campaign-feature-row:nth-child(even) .campaign-feature-copy, .campaign-feature-row:nth-child(even) .campaign-feature-screens { grid-column: auto; grid-row: auto; }
  .campaign-feature-copy { gap: 24px; }
  .campaign-screen-note { margin-top: -12px; }
  .campaign-how { padding: 32px 24px; margin-bottom: 48px; }
  .campaign-how ol { grid-template-columns: 1fr; gap: 24px; margin-top: 24px; }
}
@media (max-width: 540px) {
  .campaign-feature-screens.has-pair { grid-template-columns: 1fr; gap: 28px; }
  .campaign-feature-screens.has-pair .campaign-screen-canvas { padding: 24px; }
}
@media (prefers-reduced-motion: reduce) {
  .luxury-marketing .campaign-link, .campaign-details > summary > span { transition: none; }
  .luxury-marketing .campaign-link:active { transform: none; }
}

/* Creator: Codex. PROJECT MATT0CCIA web presentation.
   Source: owner-supplied Web Visual Language 1.0, desktop/mobile, 29 October 2026.
   Retain until explicit owner-authorized deletion. */
.studio-home, .studio-marketing { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; background: var(--paper); color: var(--ink); }
/* Homepage-only translucent surfaces. Foreground content stays fully opaque. */
.studio-home {
  --home-card-fill: #fbfcfd6b;
  --home-card-fade: #fbfcfd29;
  --home-card-edge: #a4b5bf75;
  --home-card-glow: #cbd6d966;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .studio-home {
    --home-card-fill: #242a2f4d;
    --home-card-fade: #242a2f1f;
    --home-card-edge: #a0b1bd40;
    --home-card-glow: #82919826;
  }
}
:root[data-theme="dark"] .studio-home {
  --home-card-fill: #242a2f4d;
  --home-card-fade: #242a2f1f;
  --home-card-edge: #a0b1bd40;
  --home-card-glow: #82919826;
}
.studio-width { width: min(1200px, calc(100% - 80px)); margin-inline: auto; }
.studio-header { background: var(--white); border-bottom: 1px solid var(--line); }
.studio-header > div { min-height: 80px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.studio-header .gallery-brand { font-size: 17px; font-weight: 600; letter-spacing: .13em; }
.studio-header .gallery-brand small { display: inline; font-size: 10px; }
.studio-desktop-nav { display: flex; align-items: center; gap: 32px; }
.studio-desktop-nav a { min-height: 44px; display: inline-flex; align-items: center; font-size: 14px; }
.studio-header a:hover, .studio-footer a:hover { color: var(--accent-deep); text-decoration: underline; text-underline-offset: 5px; }
.studio-header .language-switch { display: flex; flex-shrink: 0; gap: 2px; padding: 0; background: transparent; }
.studio-header .language-switch button { display: inline-flex; align-items: center; justify-content: center; gap: 5px; min-width: 48px; min-height: 44px; padding: 8px 6px; border: 1px solid transparent; border-radius: 8px; background: transparent; color: var(--muted); font-size: 14px; box-shadow: none; }
.studio-header .language-switch button:hover { background: var(--paper); color: var(--ink); }
.studio-header .language-switch button.active { background: var(--paper-deep); color: var(--ink); box-shadow: inset 0 -2px var(--ink); font-weight: 600; }
.language-flag { display: block; width: 18px; height: 12px; flex-shrink: 0; border-radius: 2px; overflow: hidden; }
.studio-mobile-navigation { display: none; }
.studio-kicker { font-size: 14px; font-weight: 500; letter-spacing: .08em; margin: 0 0 20px; line-height: 1.5; color: var(--muted); }
.studio-hero { display: grid; grid-template-columns: 1.05fr .95fr; align-items: center; gap: 32px 48px; padding-block: 48px; }
.studio-hero-copy { min-width: 0; }
.studio-hero h1 { font-size: clamp(44px, 4.9vw, 64px); font-weight: 400; line-height: 1.08; letter-spacing: -.045em; margin: 0; max-width: 15ch; text-wrap: balance; }
.studio-hero h1 .studio-title-secondary { color: var(--muted); }
.studio-intro { font-size: 17px; line-height: 1.6; color: var(--muted); max-width: 52ch; margin: 24px 0; }
.studio-actions { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 12px 24px; }
.studio-hero .studio-actions { justify-content: flex-start; }
.studio-button { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 12px 24px; background: var(--ink); color: var(--white); border: 1px solid transparent; border-radius: var(--control-radius); font-size: 16px; font-weight: 500; line-height: 1.5; transition: transform 140ms ease, box-shadow 140ms ease; }
.studio-button:hover { box-shadow: 0 4px 12px var(--soft-shadow); }
.studio-button:active { transform: translateY(1px); box-shadow: none; }
.studio-link { display: inline-flex; align-items: center; justify-content: center; gap: 6px; color: var(--accent-deep); min-height: 44px; font-size: 16px; }
.studio-link:hover { text-decoration: underline; text-underline-offset: 4px; }
.studio-link svg, .studio-footer svg { flex-shrink: 0; }
.studio-hero-visual { position: relative; isolation: isolate; height: 400px; min-width: 0; }
.alabaster-material { position: absolute; inset: 0; z-index: -1; overflow: hidden; border-radius: 28px; pointer-events: none; background: radial-gradient(ellipse at 80% 20%, var(--white), transparent 70%); }
.alabaster-orb { position: absolute; width: 85%; aspect-ratio: 1; top: 4%; right: -5%; border-radius: 50%; background: radial-gradient(circle at 30% 24%, var(--material-core), var(--material-mid) 48%, var(--material-edge) 82%); box-shadow: inset 1px 2px 2px var(--surface-highlight), 0 24px 48px var(--soft-shadow); }
.alabaster-plane { position: absolute; width: 35%; height: 140%; right: 10%; top: -20%; transform: rotate(12deg); border-inline: 1px solid var(--surface-highlight); background: linear-gradient(120deg, var(--material-plane), transparent); }
.alabaster-material > svg { position: absolute; inset: 0; width: 100%; height: 100%; stroke: var(--material-vein); stroke-width: .7; }
.studio-hero-app { position: absolute; display: block; border-radius: 20px; }
.studio-hero-app > img { display: block; width: 100%; height: auto; border: 3px solid #30383f; border-radius: 20px; box-shadow: 0 12px 28px var(--soft-shadow); }
.studio-hero-app > span { display: flex; align-items: center; justify-content: center; gap: 6px; min-height: 44px; font-size: 14px; font-weight: 500; }
.studio-hero-faro { width: 68%; top: 5%; left: 0; z-index: 1; }
.studio-hero-faro > img { border: 0; border-radius: 20px; }
.studio-hero-forma { width: 22%; top: 24%; left: 53%; z-index: 3; }
.studio-hero-relax { width: 20%; top: 31%; right: 0; z-index: 2; }
.studio-hero-app:hover > span { color: var(--accent-deep); text-decoration: underline; text-underline-offset: 4px; }
.studio-collection { background: var(--white); padding-block: 64px; scroll-margin-top: 24px; border-block: 1px solid var(--line); }
.studio-section-heading { margin-bottom: 32px; }
.studio-section-heading .studio-kicker { margin-bottom: 12px; }
.studio-section-heading h2 { font-size: clamp(32px, 3.6vw, 44px); font-weight: 400; line-height: 1.15; letter-spacing: -.04em; margin: 0 0 16px; }
.studio-section-heading > p:last-child { max-width: 65ch; font-size: 17px; line-height: 1.6; color: var(--muted); margin: 0; }
.studio-product-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.studio-product { background: var(--paper); border: 1px solid var(--line); box-shadow: inset 0 1px var(--surface-highlight); border-radius: 28px; overflow: hidden; min-width: 0; scroll-margin-top: 24px; display: flex; flex-direction: column; }
.studio-product-copy { padding: 32px; text-align: center; position: relative; z-index: 1; }
.studio-app-identity { display: flex; align-items: center; justify-content: center; gap: 12px; }
.studio-app-identity img { width: 40px; height: 40px; border-radius: 12px; }
.studio-app-identity p { font-size: 20px; letter-spacing: -.02em; font-weight: 600; margin: 0; }
.studio-product-category { font-size: 14px; color: var(--muted); margin: 12px 0 24px; }
.studio-product h3 { font-size: clamp(30px, 3.2vw, 40px); font-weight: 400; letter-spacing: -.04em; line-height: 1.15; margin: 0 0 20px; }
.studio-product-description { color: var(--muted); font-size: 16px; line-height: 1.6; max-width: 42ch; margin: 0 auto 24px; }
.studio-product .studio-actions { gap: 8px 20px; }
.studio-product-status, .studio-product-note { color: var(--muted); font-size: 14px; line-height: 1.6; }
.studio-product-status { margin: 20px 0 0; }
.studio-product-note { margin: 8px auto 0; max-width: 44ch; }
.studio-product-image { display: flex; align-items: flex-start; justify-content: center; padding: 24px 28px 0; overflow: hidden; height: 400px; margin-top: auto; background: radial-gradient(ellipse at 50% 100%, var(--paper-deep), transparent 75%); }
.studio-product-image > img { display: block; width: 210px; height: auto; border: 4px solid #30383f; border-radius: 28px; box-shadow: 0 12px 28px var(--soft-shadow); }
.studio-product-faro-storto { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1fr; }
.studio-product-faro-storto .studio-product-copy { text-align: left; padding: 48px 40px; align-self: center; }
.studio-product-faro-storto .studio-app-identity, .studio-product-faro-storto .studio-actions { justify-content: flex-start; }
.studio-product-faro-storto .studio-product-description, .studio-product-faro-storto .studio-product-note { margin-left: 0; }
.studio-product-faro-storto .studio-product-image { height: 100%; min-height: 480px; margin: 0; padding: 0; }
.studio-product-faro-storto .studio-product-image > img { width: 100%; height: 100%; object-fit: cover; object-position: 61% center; border: 0; border-radius: 0; box-shadow: none; }
.studio-about { display: grid; grid-template-columns: 1fr 1.2fr; gap: 32px 64px; padding-block: 64px; scroll-margin-top: 24px; }
.studio-about h2, .studio-care h2 { font-size: clamp(32px, 3.4vw, 44px); letter-spacing: -.04em; font-weight: 400; line-height: 1.15; margin: 0; }
.studio-about-copy { min-width: 0; padding-top: 32px; }
.studio-about-copy p { font-size: 17px; line-height: 1.65; max-width: 65ch; color: var(--muted); margin: 0 0 20px; }
.studio-principles { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; padding-top: 16px; }
.studio-principles article { border-top: 1px solid var(--line); padding-top: 20px; }
.studio-principle-number { color: var(--muted); font-size: 14px; }
.studio-principles h3 { font-size: 22px; font-weight: 500; letter-spacing: -.025em; margin: 16px 0 12px; }
.studio-principles p { color: var(--muted); font-size: 16px; line-height: 1.6; margin: 0; }
.studio-care { background: var(--paper-deep); padding-block: 64px; border-block: 1px solid var(--line); }
.studio-care > div { display: grid; grid-template-columns: 1fr 1.2fr; align-items: center; gap: 64px; }
.studio-care > div > div > p:not(.studio-kicker) { color: var(--muted); font-size: 17px; line-height: 1.65; margin: 0 0 16px; max-width: 65ch; }
.studio-footer { background: var(--paper); font-family: inherit; padding-block: 48px 24px; }
.studio-footer-grid { display: grid; grid-template-columns: 1.5fr 1fr 1fr 1fr; gap: 32px; }
.studio-footer-brand .gallery-brand { font-size: 17px; }
.studio-footer-brand p { color: var(--muted); font-size: 14px; line-height: 1.6; margin: 20px 0 12px; white-space: pre-line; }
.studio-footer-brand > a:last-child { display: inline-flex; align-items: center; gap: 4px; min-height: 44px; font-size: 14px; }
.studio-footer nav { display: flex; align-items: flex-start; flex-direction: column; min-width: 0; }
.studio-footer nav h2 { font-size: 14px; font-weight: 600; letter-spacing: 0; margin: 0 0 16px; }
.studio-footer nav a { display: inline-flex; align-items: center; min-height: 44px; font-size: 14px; line-height: 1.5; overflow-wrap: anywhere; }
.studio-footer-bottom { display: flex; align-items: center; justify-content: space-between; gap: 24px; border-top: 1px solid var(--line); margin-top: 32px; padding-top: 20px; }
.studio-footer-bottom > p { color: var(--muted); font-size: 14px; margin: 0; }
.studio-preferences { display: flex; align-items: center; flex-wrap: wrap; gap: 16px; }
.train-symbol { color: var(--ink); flex: 0 0 auto; }
.studio-upcoming-link { grid-column: 1 / -1; justify-self: start; display: inline-flex; align-items: center; text-align: left; gap: 12px; padding: 12px 20px 12px 12px; margin: 0; border: 1px solid var(--line); border-radius: 20px; background: var(--white); }
.studio-upcoming-link > span { display: flex; flex-direction: column; gap: 4px; font-size: 16px; font-weight: 500; }
.studio-upcoming-link small, .studio-upcoming-footer small { font-size: 14px; font-weight: 400; color: var(--muted); }
.studio-upcoming-link:hover { border-color: var(--control-line); }
.studio-upcoming-footer { flex-direction: column; align-items: flex-start !important; gap: 4px; padding-block: 8px; }
.train-development-label { display: inline-flex; align-items: center; gap: 8px; border: 1px solid var(--line); border-radius: 28px; padding: 6px 12px; font-size: 14px; line-height: 1.5; color: var(--muted); background: var(--paper); margin: 16px 0 20px; }
.train-development-label::before { content: ''; width: 6px; height: 6px; flex-shrink: 0; background: currentColor; border-radius: 50%; }
.studio-product-train { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1fr; align-items: center; }
.studio-product-train .studio-product-copy { padding: 40px; text-align: left; }
.studio-product-train .studio-app-identity, .studio-product-train .studio-actions { justify-content: flex-start; }
.studio-product-train .studio-product-description, .studio-product-train .studio-product-note { margin-left: 0; }
.studio-product-train .studio-product-note { margin-top: 16px; }
.train-visual { margin: 0; padding: 24px; background: linear-gradient(145deg, var(--white), var(--paper-deep)); border: 1px solid var(--line); box-shadow: inset 0 1px var(--surface-highlight); border-radius: 20px; overflow: hidden; }
.train-visual > svg { display: block; width: 100%; height: auto; }
.train-visual figcaption { text-align: center; color: var(--muted); font-size: 14px; line-height: 1.6; margin-top: 16px; }
.studio-product-train > .train-visual { margin: 24px 24px 24px 0; }
.train-project .campaign-product-intro .train-development-label { margin-bottom: 0; }
.train-project-visual { min-width: 0; }
.train-support .contact-hero { padding-block: 48px 32px; }
.train-support .contact-hero h1 { font-size: clamp(44px, 4.9vw, 64px); font-weight: 400; line-height: 1.1; }
.train-support .contact-hero .train-support-note { font-size: 14px; color: var(--muted); }
.train-support .support-form-section { padding-top: 24px; }
.studio-home .studio-collection {
  background: radial-gradient(ellipse at 8% 22%, var(--home-card-glow), transparent 58%), radial-gradient(ellipse at 94% 78%, var(--home-card-glow), transparent 56%), var(--paper);
}
.studio-home .studio-product, .studio-home .studio-upcoming-link, .studio-home .train-visual {
  background: linear-gradient(135deg, var(--home-card-fill), var(--home-card-fade));
  border-color: var(--home-card-edge);
  box-shadow: inset 0 1px var(--surface-highlight), 0 8px 28px var(--soft-shadow);
}
.studio-home .studio-product-image {
  background: radial-gradient(ellipse at 50% 100%, var(--home-card-glow), transparent 75%);
}
@supports (backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px)) {
  .studio-header { background: var(--glass); -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px); }
  .studio-home .studio-product, .studio-home .studio-upcoming-link {
    -webkit-backdrop-filter: blur(14px);
    backdrop-filter: blur(14px);
  }
}
@media (prefers-reduced-transparency: reduce), (prefers-contrast: more) {
  .studio-home .studio-collection { background: var(--paper); }
  .studio-home .studio-product, .studio-home .studio-upcoming-link, .studio-home .train-visual {
    background: var(--white);
    border-color: var(--line);
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
    box-shadow: none;
  }
}
@media (max-width: 1000px) {
  .studio-hero { gap: 32px; }
  .studio-hero-visual { height: 330px; }
  .studio-product-faro-storto .studio-product-copy, .studio-product-train .studio-product-copy { padding: 32px; }
  .studio-about, .studio-care > div { gap: 32px; }
}
@media (max-width: 820px) {
  .studio-width { width: calc(100% - 40px); }
  .studio-header > div { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 0 8px; min-height: 0; padding-top: 8px; }
  .studio-header .gallery-brand { font-size: 13px; letter-spacing: .1em; gap: 6px; }
  .studio-header .gallery-brand small { font-size: 8px; }
  .studio-header .language-switch { grid-column: 2; grid-row: 1; }
  .studio-header .language-switch button { padding-inline: 4px; gap: 4px; }
  .studio-desktop-nav { display: none; }
  .studio-mobile-navigation { display: block; position: relative; grid-column: 1 / -1; }
  .studio-priority-link { position: absolute; left: 0; top: 0; display: inline-flex; align-items: center; gap: 6px; min-height: 44px; font-size: 14px; }
  .studio-menu { width: 100%; }
  .studio-menu > summary { display: flex; align-items: center; justify-content: flex-end; gap: 8px; margin-left: auto; width: fit-content; min-width: 72px; min-height: 44px; list-style: none; cursor: pointer; font-size: 14px; }
  .studio-menu > summary::-webkit-details-marker { display: none; }
  .studio-menu > summary svg { transition: transform 200ms ease; }
  .studio-menu[open] > summary svg { transform: rotate(45deg); }
  .menu-close-label, .studio-menu[open] .menu-open-label { display: none; }
  .studio-menu[open] .menu-close-label { display: inline; }
  .studio-menu-panel { padding: 24px; margin: 8px 0 16px; border: 1px solid var(--line); border-radius: 20px; background: var(--white); box-shadow: 0 8px 24px var(--soft-shadow); animation: menu-reveal 200ms ease-out; }
  .studio-menu-label { font-size: 14px; color: var(--muted); margin: 0 0 12px; }
  .studio-menu-panel nav { display: grid; }
  .studio-menu-panel nav a { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 56px; padding-block: 12px; border-bottom: 1px solid var(--line); font-size: 20px; }
  .studio-menu-appearance { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; margin-top: 24px; font-size: 14px; }
  .studio-hero { grid-template-columns: 1fr; padding-block: 32px; gap: 24px; }
  .studio-hero h1 { font-size: clamp(32px, 5.8vw, 40px); max-width: 20ch; }
  .studio-intro { font-size: 16px; max-width: 60ch; margin: 20px 0 24px; }
  .studio-hero-visual { height: 260px; width: min(100%, 390px); justify-self: center; }
  .studio-hero-forma { top: 12%; }
  .studio-hero-relax { top: 20%; }
  .studio-hero-app > span { font-size: 14px; min-height: 36px; }
  .studio-hero-app > img { border-radius: 12px; }
  .studio-hero-faro > img { border-radius: 20px; }
  .studio-kicker { margin-bottom: 16px; }
  .studio-collection { padding-block: 48px; }
  .studio-section-heading h2 { font-size: 32px; }
  .studio-section-heading > p:last-child { font-size: 16px; }
  .studio-product-grid { grid-template-columns: 1fr; }
  .studio-product-faro-storto, .studio-product-train { display: flex; flex-direction: column; }
  .studio-product-copy, .studio-product-faro-storto .studio-product-copy, .studio-product-train .studio-product-copy { padding: 32px 24px; text-align: left; width: 100%; }
  .studio-app-identity, .studio-product .studio-actions { justify-content: flex-start; }
  .studio-product-description, .studio-product-note { max-width: 60ch; margin-left: 0; }
  .studio-product h3 { font-size: 32px; }
  .studio-product-image { width: 100%; height: 340px; }
  .studio-product-image > img { width: 180px; }
  .studio-product-faro-storto .studio-product-image { min-height: 0; height: 260px; }
  .studio-product-train > .train-visual { margin: 0 16px 16px; padding: 16px; }
  .studio-about { grid-template-columns: 1fr; gap: 24px; padding-block: 48px; }
  .studio-about h2, .studio-care h2 { font-size: 32px; }
  .studio-about-copy { padding-top: 0; }
  .studio-about-copy p { font-size: 16px; }
  .studio-principles { grid-template-columns: 1fr; gap: 24px; padding-top: 8px; }
  .studio-care { padding-block: 48px; }
  .studio-care > div { grid-template-columns: 1fr; gap: 24px; }
  .studio-care > div > div > p:not(.studio-kicker) { font-size: 16px; }
  .studio-footer-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
  .studio-footer-brand { grid-column: 1 / -1; }
  .studio-footer-bottom { flex-wrap: wrap; gap: 16px; }
  .train-support .contact-hero h1 { font-size: clamp(32px, 5.8vw, 40px); }
}
@media (max-width: 480px) {
  .studio-hero-visual { height: 236px; }
  .studio-hero-app > span { font-size: 14px; }
  .studio-footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 16px; }
  .studio-product-copy, .studio-product-faro-storto .studio-product-copy, .studio-product-train .studio-product-copy { padding-inline: 20px; }
}
@keyframes menu-reveal { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }
/* The heading keeps a stationary hit area; only its text moves. No extra tab stops. */
.studio-home .studio-title-motion { display: block; pointer-events: none; }
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .studio-home .studio-title-motion {
    transition: transform 420ms cubic-bezier(.22, 1, .36, 1), color 320ms ease, text-shadow 420ms ease;
  }
  .studio-home .studio-title-secondary { transition: color 320ms ease; }
  .studio-home .studio-motion-heading:hover > .studio-title-motion {
    transform: translateY(-3px);
    color: var(--accent-deep);
    text-shadow: 0 6px 18px var(--soft-shadow);
  }
  .studio-home .studio-motion-heading:hover .studio-title-secondary { color: var(--accent-deep); }
}
@media (prefers-reduced-motion: reduce) {
  .studio-button, .studio-menu > summary svg { transition: none; }
  .studio-button:active { transform: none; }
  .studio-menu-panel { animation: none; }
}

/* Creator: Codex. PROJECT Apple-inspired editorial presentation requested by owner.
   Original Mattoccia palette and app assets. No third-party branding or web fonts.
   Deletion condition: explicit owner authorization only. */
html { scroll-padding-top: 112px; }
.studio-header { position: sticky; top: 0; z-index: 50; }
.studio-header > div { min-height: 64px; }
.studio-header .gallery-brand { letter-spacing: .05em; font-size: 15px; }
.studio-desktop-nav { gap: 28px; }
.studio-desktop-nav a { font-size: 13px; }
.studio-header .language-switch button { font-size: 12px; }
.studio-kicker, .campaign-eyebrow { letter-spacing: .025em; font-weight: 600; }
.studio-button, .luxury-marketing .campaign-link { border-radius: 999px; background: var(--accent-deep); color: var(--white); font-weight: 400; }
.studio-home .studio-hero { grid-template-columns: 1fr; gap: 0; text-align: center; padding-block: 56px 28px; }
.studio-hero-copy { position: relative; z-index: 1; }
.studio-hero .studio-kicker { margin-bottom: 16px; }
.studio-hero h1 { font-size: clamp(48px, 5.6vw, 76px); font-weight: 600; line-height: 1.035; letter-spacing: -.055em; max-width: 24ch; margin-inline: auto; }
.studio-hero h1 .studio-title-secondary { color: var(--ink); }
.studio-intro { max-width: 66ch; margin: 24px auto; font-size: 18px; line-height: 1.55; text-wrap: pretty; }
.studio-hero .studio-actions { justify-content: center; }
.studio-hero-visual { width: min(100%, 1000px); height: 380px; margin: 34px auto 0; display: grid; grid-template-columns: minmax(0, 1.8fr) minmax(0, .7fr) minmax(0, .7fr); align-items: center; gap: 28px; padding: 12px 28px 0; }
.studio-hero-visual .alabaster-material { inset: 8% 0 0; border-radius: 50%; background: radial-gradient(ellipse at 50% 65%, var(--paper-deep), transparent 68%); }
.studio-hero-visual .alabaster-orb, .studio-hero-visual .alabaster-plane, .studio-hero-visual .alabaster-material > svg { display: none; }
.studio-hero-app { position: relative; width: auto; top: auto; left: auto; right: auto; min-width: 0; }
.studio-hero-app > img { border-radius: 24px; border-width: 4px; box-shadow: 0 16px 28px var(--soft-shadow); }
.studio-hero-faro { align-self: center; }
.studio-hero-faro > img { border-radius: 18px; }
.studio-hero-app > span { margin-top: 8px; font-size: 14px; }
.studio-hero-forma, .studio-hero-relax { width: 148px; max-width: 100%; justify-self: center; }
.studio-upcoming-link { justify-self: center; margin-top: 22px; padding: 8px 18px; gap: 10px; border-radius: 999px; }
.studio-upcoming-link .train-symbol { width: 28px; height: 28px; }
.studio-upcoming-link > span { flex-direction: row; flex-wrap: wrap; align-items: baseline; gap: 8px; font-size: 14px; }
.studio-upcoming-link small { font-size: 12px; }
.studio-home .studio-collection { padding-block: 72px; border: 0; }
.studio-section-heading { margin-bottom: 36px; }
.studio-section-heading h2, .studio-about h2, .studio-care h2 { font-weight: 600; font-size: clamp(36px, 4.2vw, 56px); line-height: 1.06; letter-spacing: -.045em; }
.studio-section-heading > p:last-child { max-width: 56ch; font-size: 19px; }
.studio-product-grid { gap: 24px; }
.studio-home .studio-product { border-color: transparent; box-shadow: inset 0 1px var(--surface-highlight); border-radius: 28px; }
.studio-product-copy { padding: 44px 32px 20px; }
.studio-product-category { margin-block: 12px 16px; font-size: 13px; }
.studio-product h3 { font-size: clamp(34px, 3.5vw, 46px); font-weight: 600; letter-spacing: -.045em; line-height: 1.08; margin-bottom: 20px; }
.studio-product-description { max-width: 38ch; font-size: 17px; line-height: 1.5; }
.studio-product-status { margin-top: 18px; font-size: 13px; }
.studio-product-note { font-size: 13px; margin-top: 6px; }
.studio-product-image { height: 510px; padding-top: 28px; }
.studio-product-image > img { width: 242px; border-radius: 32px; border-width: 5px; }
.studio-product-faro-storto { display: flex; }
.studio-product-faro-storto .studio-product-copy { text-align: center; width: 100%; padding: 48px 32px 28px; }
.studio-product-faro-storto .studio-app-identity, .studio-product-faro-storto .studio-actions { justify-content: center; }
.studio-product-faro-storto .studio-product-description, .studio-product-faro-storto .studio-product-note { margin-inline: auto; max-width: 56ch; }
.studio-product-faro-storto .studio-product-image { height: 430px; min-height: 0; padding: 0; width: 100%; }
.studio-product-faro-storto .studio-product-image > img { object-position: center 56%; }
.studio-product-train .studio-product-copy { padding: 48px 40px; }
.studio-home .studio-product-train .train-visual { border: 0; box-shadow: none; background: transparent; }
.studio-about { padding-block: 100px; gap: 48px 72px; }
.studio-about-copy { padding-top: 28px; }
.studio-about-copy p { font-size: 18px; line-height: 1.65; }
.studio-principles { gap: 40px; padding-top: 28px; }
.studio-principles h3 { font-size: 24px; font-weight: 600; }
.studio-principle-number { font-size: 12px; }
.studio-care { background: var(--white); padding-block: 80px; border: 0; }
.studio-care > div > div > p:not(.studio-kicker) { font-size: 18px; }
.studio-footer { padding-top: 56px; }
.studio-footer nav h2, .studio-footer nav a, .studio-footer-brand p, .studio-footer-bottom > p { font-size: 12px; }
.studio-footer nav h2 { margin-bottom: 8px; }
.studio-footer nav a { min-height: 36px; }
/* Product pages use a shared centered introduction and an uninterrupted visual. */
.campaign-opening { grid-template-columns: 1fr; gap: 36px; padding-block: 56px 72px; }
.campaign-product-intro { text-align: center; max-width: 900px; margin-inline: auto; }
.campaign-product-intro h1 { font-size: clamp(48px, 5.6vw, 76px); font-weight: 600; letter-spacing: -.055em; line-height: 1.035; margin-block: 20px; }
.campaign-product-intro h1 > span { color: var(--ink); }
.campaign-lede { font-size: 23px; line-height: 1.4; max-width: 44ch; margin-inline: auto; }
.campaign-availability, .campaign-essential-note { margin-inline: auto; }
.campaign-feature-link { margin-inline: auto; }
.campaign-visual { display: flex; align-items: center; justify-content: center; height: 580px; border: 0; background: radial-gradient(ellipse at 50% 80%, var(--paper-deep), transparent 70%); box-shadow: none; }
.campaign-visual > img { height: 94%; max-width: 88%; border-width: 5px; border-radius: 34px; box-shadow: 0 20px 40px var(--soft-shadow); }
.campaign-visual-faro-storto { height: auto; aspect-ratio: 1672 / 941; max-height: 620px; }
.campaign-visual-faro-storto > img { width: 100%; max-width: none; height: 100%; border: 0; border-radius: 28px; }
.campaign-visual-word { display: block; position: absolute; color: var(--muted); opacity: .12; font-size: clamp(100px, 18vw, 230px); font-weight: 600; letter-spacing: -.06em; pointer-events: none; }
.campaign-visual > img { position: relative; }
.train-project-visual { width: min(100%, 820px); margin-inline: auto; }
.train-project-visual .train-visual { background: var(--white); border: 0; padding: 32px; }
.campaign-story { grid-template-columns: .45fr 1fr 1fr; padding-block: 64px 80px; }
.campaign-story h2, .campaign-feature-heading h2, .campaign-how h2, .campaign-closing h2 { font-weight: 600; font-size: clamp(36px, 4vw, 52px); line-height: 1.08; letter-spacing: -.045em; }
.campaign-description, .campaign-feature-heading > p { font-size: 19px; line-height: 1.55; }
.campaign-features { padding-block: 64px 80px; }
.campaign-feature-grid { gap: 64px; }
.campaign-feature-row { gap: 72px; padding-top: 56px; }
.campaign-feature-copy { gap: 36px; }
.campaign-feature-grid h3 { font-size: 27px; font-weight: 600; letter-spacing: -.03em; }
.campaign-feature-grid p { font-size: 17px; }
.campaign-screen-canvas { border: 0; padding: 40px; border-radius: 28px; background: var(--white); }
.campaign-screen-canvas img { width: 260px; }
.campaign-feature-media figcaption p { font-size: 14px; }
.campaign-how { border: 0; padding: 48px; }
.campaign-closing { padding-block: 80px; }
.contact-hero h1, .train-support .contact-hero h1 { font-weight: 600; letter-spacing: -.045em; }
.button { border-radius: 999px; }
@media (min-width: 821px) and (max-width: 1100px) {
  .studio-hero-visual { grid-template-columns: minmax(0, 1.6fr) minmax(0, .7fr) minmax(0, .7fr); gap: 20px; }
  .studio-product h3 { font-size: 36px; }
  .campaign-feature-row { gap: 40px; }
}
@media (max-width: 820px) {
  .studio-header > div { min-height: 0; }
  .studio-header .gallery-brand { font-size: 13px; }
  .studio-home .studio-hero { padding-block: 36px 20px; }
  .studio-hero h1, .campaign-product-intro h1 { font-size: clamp(36px, 6.7vw, 54px); max-width: 22ch; }
  .studio-intro { max-width: 50ch; font-size: 16px; margin-block: 20px; }
  .studio-hero-visual { height: auto; min-height: 220px; grid-template-columns: minmax(0, 1.65fr) minmax(0, .8fr) minmax(0, .8fr); gap: 12px; padding: 12px 0; margin-top: 24px; width: min(100%, 620px); }
  .studio-hero-app > img { border-width: 2px; border-radius: 15px; }
  .studio-hero-faro > img { border: 0; border-radius: 12px; }
  .studio-hero-app > span { font-size: 12px; min-height: 32px; gap: 3px; margin-top: 4px; }
  .studio-hero-app > span svg { width: 11px; }
  .studio-upcoming-link { margin-top: 10px; padding-inline: 12px; }
  .studio-home .studio-collection { padding-block: 48px; }
  .studio-section-heading h2, .studio-about h2, .studio-care h2 { font-size: 36px; }
  .studio-section-heading > p:last-child { font-size: 17px; }
  .studio-product-copy, .studio-product-faro-storto .studio-product-copy, .studio-product-train .studio-product-copy { text-align: center; padding: 36px 24px 24px; }
  .studio-app-identity, .studio-product .studio-actions, .studio-product-train .studio-app-identity, .studio-product-train .studio-actions { justify-content: center; }
  .studio-product h3 { font-size: 34px; }
  .studio-product-description, .studio-product-note, .studio-product-train .studio-product-description, .studio-product-train .studio-product-note { margin-inline: auto; }
  .studio-product-image { height: 440px; }
  .studio-product-image > img { width: 220px; }
  .studio-product-faro-storto .studio-product-image { height: 280px; }
  .studio-about { padding-block: 60px; gap: 28px; }
  .studio-about-copy { padding-top: 0; }
  .studio-about-copy p, .studio-care > div > div > p:not(.studio-kicker) { font-size: 17px; }
  .studio-principles { padding-top: 8px; gap: 28px; }
  .studio-care { padding-block: 56px; }
  .studio-care > div { gap: 24px; }
  .studio-footer nav a { min-height: 44px; font-size: 13px; }
  .campaign-opening { padding-block: 36px 48px; gap: 28px; }
  .campaign-product-intro h1 { margin-inline: auto; }
  .campaign-lede { font-size: 20px; }
  .campaign-visual { height: 460px; }
  .campaign-visual > img { border-radius: 28px; }
  .campaign-visual-faro-storto { height: auto; }
  .campaign-visual-faro-storto > img { border-radius: 20px; }
  .campaign-visual-word { font-size: clamp(74px, 20vw, 150px); }
  .campaign-story { grid-template-columns: 1fr; gap: 20px; padding-block: 40px 48px; }
  .campaign-story h2, .campaign-feature-heading h2, .campaign-how h2, .campaign-closing h2 { font-size: 36px; }
  .campaign-description, .campaign-feature-heading > p { font-size: 17px; }
  .campaign-features { padding-block: 40px 48px; }
  .campaign-feature-row { gap: 28px; padding-top: 32px; }
  .campaign-feature-grid { gap: 40px; }
  .campaign-feature-copy { gap: 28px; }
  .campaign-feature-grid h3 { font-size: 25px; }
  .campaign-screen-canvas { padding: 28px; }
  .campaign-how { padding: 32px 24px; }
  .campaign-closing { padding-block: 56px; }
}
@media (max-width: 380px) {
  .studio-hero h1, .campaign-product-intro h1 { font-size: 34px; }
  .studio-hero-visual { gap: 8px; min-height: 190px; }
  .studio-hero-app > span { font-size: 11px; }
  .studio-section-heading h2, .studio-about h2, .studio-care h2, .campaign-feature-heading h2, .campaign-story h2, .campaign-how h2, .campaign-closing h2 { font-size: 32px; }
  .studio-product-copy, .studio-product-faro-storto .studio-product-copy, .studio-product-train .studio-product-copy { padding-inline: 18px; }
  .studio-product h3 { font-size: 30px; }
}
@media (prefers-reduced-transparency: reduce), (prefers-contrast: more) {
  .studio-header, .studio-home .studio-product { background: var(--white); -webkit-backdrop-filter: none; backdrop-filter: none; }
  .studio-home .studio-product { border-color: var(--line); }
  .campaign-visual-word { display: none; }
}
/* Owner's explicit reference: apple.com/it. Full-width campaigns and paired tiles. */
.studio-header > .studio-width { width: min(1120px, calc(100% - 40px)); min-height: 52px; }
.studio-header .gallery-brand { font-size: 13px; }
.studio-header .gallery-brand small { font-size: 8px; }
.studio-desktop-nav { gap: 24px; }
.studio-desktop-nav a { font-size: 12px; white-space: nowrap; }
.studio-header { border-bottom-color: transparent; }
.studio-home { background: var(--white); }
.studio-home .studio-hero { width: 100%; padding-block: 44px 0; background: var(--paper); }
.studio-hero-copy { width: min(100% - 40px, 980px); margin-inline: auto; }
.studio-hero h1 { font-size: clamp(42px, 4.5vw, 60px); }
.studio-hero-tagline { font-size: 27px; line-height: 1.3; letter-spacing: -.025em; margin: 12px 0 0; text-wrap: balance; }
.studio-intro { font-size: 16px; line-height: 1.5; max-width: 65ch; margin: 16px auto 20px; }
.studio-hero-visual { height: 330px; width: min(100% - 40px, 960px); margin-top: 26px; grid-template-columns: minmax(0, 1.8fr) minmax(0, .6fr) minmax(0, .6fr); }
.studio-hero-forma, .studio-hero-relax { width: 130px; }
.studio-home .studio-upcoming-link { border-radius: 0; width: 100%; margin: 16px 0 0; min-height: 50px; justify-content: center; border: 0; box-shadow: none; background: var(--white); }
.studio-upcoming-link > span { flex-direction: row; }
.studio-home .studio-collection { background: var(--dark-cards-backdrop, var(--white)); padding-block: 12px; }
.studio-section-heading { text-align: center; padding-block: 32px; margin-bottom: 0; }
.studio-section-heading .studio-kicker { display: none; }
.studio-section-heading h2 { font-size: 32px; margin-bottom: 8px; }
.studio-section-heading > p:last-child { margin-inline: auto; max-width: 70ch; font-size: 16px; }
.studio-product-grid { width: 100%; gap: 12px; }
.studio-home .studio-product { border: 0; border-radius: 0; box-shadow: none; -webkit-backdrop-filter: var(--dark-card-blur, none); backdrop-filter: var(--dark-card-blur, none); }
.studio-product-forma { margin-left: 12px; background: var(--dark-card-surface, rgba(241, 244, 245, .7)) !important; }
.studio-product-relax { margin-right: 12px; background: var(--dark-card-surface, linear-gradient(135deg, rgba(251, 252, 253, .29372549), rgba(230, 237, 240, .7))) !important; }
.studio-product-copy { padding: 44px 28px 20px; }
.studio-app-identity { gap: 12px; margin-bottom: 14px; }
.studio-app-identity p { font-size: 40px; letter-spacing: -.04em; line-height: 1.1; font-weight: 600; }
.studio-app-identity img { width: 36px; height: 36px; border-radius: 9px; }
.studio-product h3 { font-size: 27px; font-weight: 400; line-height: 1.2; letter-spacing: -.025em; margin-bottom: 20px; }
.studio-product .studio-button, .studio-product .studio-link, .studio-hero .studio-link { min-height: 44px; border-radius: 999px; font-size: 15px; padding: 9px 20px; }
.studio-product .studio-link, .studio-hero .studio-link { border: 1px solid var(--accent-deep); }
.studio-product .studio-link > svg, .studio-hero .studio-link > svg { display: none; }
.studio-product-status { margin-top: 16px; }
.studio-product-note { margin-top: 4px; }
.studio-product-image { height: 410px; padding-top: 16px; background: transparent !important; }
.studio-product-image > img { width: 230px; }
.studio-home .studio-product-faro-storto { --ink: #f5f7f8; --muted: #c2cbd0; --white: #182126; --accent-deep: #acd2f7; --soft-shadow: #00000033; color: var(--ink); background: var(--dark-card-surface, rgba(24, 33, 38, .7)); }
.studio-product-faro-storto .studio-product-copy { padding: 44px 24px 24px; }
.studio-product-faro-storto .studio-app-identity p { font-size: 52px; }
.studio-product-faro-storto .studio-product-image { height: 400px; }
.studio-product-faro-storto .studio-product-image > img { max-width: 1440px; object-position: center 54%; }
.studio-product-train { background: var(--dark-card-surface, rgba(241, 244, 245, .7)) !important; margin-inline: 12px; }
.studio-product-train .studio-app-identity p { font-size: 36px; }
.studio-product-train .studio-product-description { font-size: 16px; }
.studio-home .studio-title-motion { transition-property: transform, text-shadow; }
.studio-home .studio-title-secondary { transition: none; }
@media (min-width: 821px) and (max-width: 1100px) {
  .studio-desktop-nav { gap: 12px; }
  .studio-header > .studio-width { gap: 12px; }
  .studio-header .gallery-brand { font-size: 12px; }
}
@media (max-width: 820px) {
  .studio-header > .studio-width { min-height: 0; }
  .studio-home .studio-hero { padding-top: 32px; }
  .studio-hero h1 { font-size: 40px; }
  .studio-hero-tagline { font-size: 23px; }
  .studio-intro { max-width: 44ch; font-size: 15px; }
  .studio-hero-visual { height: auto; min-height: 210px; margin-top: 16px; padding-inline: 0; grid-template-columns: minmax(0, 1.6fr) minmax(0, .8fr) minmax(0, .8fr); }
  .studio-product-forma, .studio-product-relax, .studio-product-train { margin-inline: 0; }
  .studio-section-heading { padding-block: 28px; }
  .studio-section-heading h2 { font-size: 28px; }
  .studio-section-heading > p:last-child { font-size: 15px; }
  .studio-product-copy, .studio-product-faro-storto .studio-product-copy, .studio-product-train .studio-product-copy { padding: 36px 24px 24px; }
  .studio-app-identity p, .studio-product-faro-storto .studio-app-identity p { font-size: 36px; }
  .studio-product h3 { font-size: 25px; }
  .studio-product-image { height: 380px; }
  .studio-product-image > img { width: 212px; }
  .studio-product-faro-storto .studio-product-image { height: 280px; }
}
@media (max-width: 380px) {
  .studio-hero h1 { font-size: 36px; }
  .studio-hero-tagline { font-size: 21px; }
  .studio-hero-visual { min-height: 180px; }
  .studio-app-identity p, .studio-product-faro-storto .studio-app-identity p, .studio-product-train .studio-app-identity p { font-size: 30px; }
  .studio-product .studio-actions { gap: 10px; }
  .studio-product .studio-button, .studio-product .studio-link { padding-inline: 16px; font-size: 14px; }
}
/* Approved brand artwork: preserve its original transparent canvas and proportions. */
.gallery-brand:has(.brand-logo) { width: 180px; max-width: 100%; min-height: 44px; flex-shrink: 0; }
.brand-logo { display: block; width: 100%; height: auto; }
:root[data-theme="dark"] .brand-logo { filter: brightness(0) invert(1); }
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .brand-logo { filter: brightness(0) invert(1); }
}
@media (min-width: 821px) and (max-width: 1100px) {
  .studio-header .gallery-brand:has(.brand-logo) { width: 140px; }
}

/* Dark surfaces: previous alpha values multiplied by .7; foreground remains opaque. */
:root[data-theme="dark"] .studio-home {
  --dark-card-surface: linear-gradient(135deg, rgba(107, 139, 157, .071372549), rgba(107, 139, 157, .016470588));
  --dark-cards-backdrop: radial-gradient(ellipse at 8% 22%, #567f8f26, transparent 58%), radial-gradient(ellipse at 94% 78%, #6678921f, transparent 56%), var(--paper);
  --dark-card-blur: blur(14px);
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .studio-home {
    --dark-card-surface: linear-gradient(135deg, rgba(107, 139, 157, .071372549), rgba(107, 139, 157, .016470588));
    --dark-cards-backdrop: radial-gradient(ellipse at 8% 22%, #567f8f26, transparent 58%), radial-gradient(ellipse at 94% 78%, #6678921f, transparent 56%), var(--paper);
    --dark-card-blur: blur(14px);
  }
}
@media (prefers-reduced-transparency: reduce), (prefers-contrast: more) {
  :root[data-theme] .studio-home, :root:not([data-theme]) .studio-home {
    --dark-card-surface: var(--paper);
    --dark-cards-backdrop: var(--paper);
    --dark-card-blur: none;
  }
}

/* Creator: Codex. PROJECT Mattoccia Apps presentation refinement.
   Purpose: original art direction, generous visual rhythm and restrained interaction.
   Retain until explicit owner-authorized deletion. Existing dark glass is preserved. */
.studio-home { --showcase-shadow: 0 24px 48px #14232c26, 0 3px 8px #14232c1a; }
.studio-header { border-bottom: 1px solid color-mix(in srgb, var(--line) 35%, transparent); }
.studio-header > .studio-width { width: min(1200px, calc(100% - 64px)); min-height: 64px; }
.studio-header .gallery-brand:has(.brand-logo) { width: 190px; }
.studio-desktop-nav { gap: 26px; }
.studio-desktop-nav a { position: relative; text-decoration: none !important; }
.studio-desktop-nav a::after { content: ''; position: absolute; left: 0; right: 0; bottom: 8px; height: 1px; background: currentColor; transform: scaleX(0); transform-origin: left; transition: transform 240ms ease; }
.studio-desktop-nav a:hover::after, .studio-desktop-nav a:focus-visible::after { transform: scaleX(1); }
.studio-home .studio-hero { padding-top: 54px; background: radial-gradient(ellipse at 50% 84%, var(--paper-deep), transparent 65%), var(--paper); }
.studio-hero-eyebrow { margin: 0 0 18px; color: var(--muted); font-size: 12px; font-weight: 600; letter-spacing: .12em; }
.studio-hero-eyebrow > span { margin-inline: 9px; }
.studio-hero h1 { font-size: clamp(58px, 6.4vw, 88px); line-height: 1; letter-spacing: -.06em; }
.studio-hero-tagline { font-size: clamp(24px, 2.5vw, 32px); letter-spacing: -.035em; margin-top: 18px; }
.studio-hero-tagline > span:last-child { color: var(--muted); }
.studio-intro { margin-block: 18px 26px; max-width: 64ch; font-size: 15px; }
.studio-actions { gap: 14px; }
.studio-home .studio-hero .studio-button, .studio-home .studio-hero .studio-link { min-height: 48px; padding-inline: 24px; font-size: 15px; }
.studio-home .studio-hero .studio-link { border-color: transparent; gap: 8px; }
.studio-home .studio-hero .studio-link > svg { display: block; }
.studio-hero-visual { width: min(1160px, calc(100% - 96px)); height: 444px; margin-top: 36px; padding: 0; grid-template-columns: 1fr 3.15fr 1fr; gap: 0; align-items: center; }
.studio-hero-visual .alabaster-material { inset: 28% -4% 0; background: radial-gradient(ellipse at 50% 70%, var(--material-edge), transparent 65%); opacity: .36; }
.studio-hero-app { min-width: 0; }
.studio-hero-app > img { box-shadow: var(--showcase-shadow); border-color: #343d44; }
.studio-hero-app > span { font-size: 12px; color: var(--muted); font-weight: 500; letter-spacing: .015em; margin-top: 14px; }
.studio-hero-app > span svg { width: 12px; height: 12px; }
.studio-hero-faro { grid-column: 2; grid-row: 1; z-index: 1; width: 100%; }
.studio-hero-faro > img { border-radius: 25px; border: 5px solid #343d44; }
.studio-hero-forma { grid-column: 1; grid-row: 1; z-index: 2; width: 172px; transform: translate(20px, 10px) rotate(-7deg); }
.studio-hero-relax { grid-column: 3; grid-row: 1; z-index: 2; width: 172px; transform: translate(-20px, 10px) rotate(7deg); }
.studio-hero-forma > img, .studio-hero-relax > img { border-radius: 25px; border-width: 4px; }
.studio-home .studio-upcoming-link { min-height: 62px; margin-top: 28px; gap: 12px; border-block: 1px solid color-mix(in srgb, var(--line) 50%, transparent); }
.studio-upcoming-link small { color: var(--muted); font-size: 11px; letter-spacing: .04em; }
.studio-upcoming-link > span { gap: 10px; font-size: 13px; }
.studio-upcoming-link .train-symbol { width: 22px; height: 22px; }
.studio-home .studio-collection { padding-top: 0; }
.studio-section-heading { padding-block: 76px 56px; }
.studio-section-heading .studio-kicker { display: block; margin-bottom: 16px; font-size: 11px; letter-spacing: .1em; }
.studio-section-heading h2 { font-size: clamp(34px, 3.4vw, 48px); letter-spacing: -.045em; margin-bottom: 18px; }
.studio-section-heading > p:last-child { font-size: 16px; line-height: 1.65; max-width: 58ch; }
.studio-home .studio-product { position: relative; }
.studio-product-copy { padding: 60px 36px 28px; }
.studio-app-identity { margin-bottom: 18px; }
.studio-app-identity p { font-size: 42px; }
.studio-app-identity img { width: 38px; height: 38px; }
.studio-product h3 { font-size: 29px; line-height: 1.2; letter-spacing: -.03em; margin-bottom: 24px; }
.studio-product .studio-actions { gap: 12px; }
.studio-product .studio-button, .studio-product .studio-link { min-height: 46px; }
.studio-product-status { font-size: 11px; letter-spacing: .035em; margin-top: 22px; }
.studio-product-note { font-size: 12px; }
.studio-product-image { height: 480px; padding-top: 24px; }
.studio-product-image > img { width: 264px; border-radius: 35px; border-width: 5px; box-shadow: var(--showcase-shadow); }
.studio-product-faro-storto .studio-product-copy { padding: 64px 32px 38px; }
.studio-product-faro-storto .studio-app-identity p { font-size: 56px; }
.studio-product-faro-storto .studio-product-image { height: 490px; }
.studio-product-faro-storto .studio-product-image > img { width: 100%; max-width: none; object-position: center 52%; }
.studio-product-train .studio-product-copy { padding: 72px 56px; }
.studio-product-train .studio-app-identity p { font-size: 32px; }
.studio-product-train .studio-product-description { font-size: 16px; max-width: 36ch; }
.studio-product-train .train-visual { padding: 32px; margin-right: 32px; }
.studio-product-train .train-visual figcaption { font-size: 11px; }
.studio-about { padding-block: 128px 112px; gap: 48px 88px; }
.studio-about .studio-kicker, .studio-care .studio-kicker { font-size: 11px; letter-spacing: .1em; margin-bottom: 22px; }
.studio-about h2, .studio-care h2 { font-size: clamp(38px, 4.4vw, 60px); line-height: 1.08; }
.studio-about-copy { padding-top: 38px; }
.studio-about-copy p { max-width: 49ch; font-size: 17px; line-height: 1.8; }
.studio-principles { padding-top: 36px; gap: 48px; }
.studio-principles article { padding-top: 24px; border-color: color-mix(in srgb, var(--line) 70%, transparent); }
.studio-principle-number { font-size: 11px; font-variant-numeric: tabular-nums; letter-spacing: .08em; }
.studio-principles h3 { font-size: 23px; margin-block: 24px 16px; }
.studio-principles p { font-size: 15px; line-height: 1.8; }
.studio-care { padding-block: 96px; }
.studio-care > div { gap: 88px; }
.studio-care > div > div > p:not(.studio-kicker) { font-size: 17px; line-height: 1.8; }
.studio-care .studio-link { font-size: 15px; gap: 10px; }
.studio-footer { padding-top: 64px; }
.studio-footer-grid { gap: 48px; }
.studio-footer-brand .gallery-brand:has(.brand-logo) { width: 190px; }
.studio-footer-brand p { margin-top: 12px; }
.studio-footer-bottom { margin-top: 48px; padding-top: 24px; }
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .studio-hero-app > img { transition: transform 600ms cubic-bezier(.2,.7,.2,1), box-shadow 600ms ease; }
  .studio-hero-app:hover > img, .studio-hero-app:focus-visible > img { transform: translateY(-7px); }
  .studio-home .studio-button, .studio-home .studio-link { transition: background-color 200ms ease, box-shadow 200ms ease, transform 200ms ease; }
  .studio-home .studio-button:hover, .studio-home .studio-link:hover { transform: translateY(-2px); }
  .studio-home .studio-button:active, .studio-home .studio-link:active { transform: translateY(0); }
}
@media (prefers-reduced-motion: reduce) {
  .studio-desktop-nav a::after { transition: none; }
}
@media (min-width: 821px) and (max-width: 1100px) {
  .studio-header > .studio-width { width: calc(100% - 40px); gap: 12px; }
  .studio-header .gallery-brand:has(.brand-logo) { width: 140px; }
  .studio-desktop-nav { gap: 12px; }
  .studio-hero-visual { width: calc(100% - 72px); height: 360px; }
  .studio-hero-forma, .studio-hero-relax { width: 142px; }
  .studio-product-train .studio-product-copy { padding: 48px 32px; }
  .studio-about, .studio-care > div { gap: 40px; }
}
@media (max-width: 820px) {
  .studio-header > .studio-width { width: calc(100% - 40px); min-height: 0; }
  .studio-header .gallery-brand:has(.brand-logo) { width: 180px; }
  .studio-home .studio-hero { padding-top: 40px; }
  .studio-hero-copy { width: calc(100% - 40px); }
  .studio-hero-eyebrow { font-size: 10px; margin-bottom: 20px; }
  .studio-hero h1 { font-size: clamp(42px, 8.3vw, 66px); letter-spacing: -.055em; }
  .studio-hero-tagline { font-size: 25px; line-height: 1.25; margin-top: 20px; }
  .studio-hero-tagline > span { display: block; }
  .studio-intro { max-width: 39ch; font-size: 14px; line-height: 1.7; margin-block: 18px 22px; }
  .studio-hero .studio-actions { gap: 8px; }
  .studio-home .studio-hero .studio-button, .studio-home .studio-hero .studio-link { min-height: 46px; padding-inline: 17px; font-size: 14px; }
  .studio-hero-visual { width: min(620px, calc(100% - 40px)); height: clamp(210px, 55vw, 320px); min-height: 0; margin-top: 28px; padding: 0; grid-template-columns: .8fr 2.4fr .8fr; gap: 0; }
  .studio-hero-faro { grid-column: 2; grid-row: 1; width: 100%; justify-self: center; }
  .studio-hero-faro > img { border-width: 3px; border-radius: 14px; }
  .studio-hero-forma, .studio-hero-relax { grid-row: 1; width: clamp(60px, 20vw, 110px); max-width: none; margin-top: 0; }
  .studio-hero-forma { grid-column: 1; justify-self: center; transform: rotate(-7deg); }
  .studio-hero-relax { grid-column: 3; justify-self: center; transform: rotate(7deg); }
  .studio-hero-forma > img, .studio-hero-relax > img { border-width: 2px; border-radius: 13px; }
  .studio-hero-app > span { font-size: 10px; min-height: 32px; margin-top: 8px; gap: 2px; white-space: nowrap; }
  .studio-hero-app > span svg { width: 10px; height: 10px; }
  .studio-home .studio-upcoming-link { margin-top: 14px; min-height: 62px; padding-inline: 20px; gap: 8px; }
  .studio-upcoming-link > span { flex-direction: column; align-items: flex-start; gap: 3px; }
  .studio-upcoming-link > svg:last-child { margin-left: 8px; }
  .studio-section-heading { padding-block: 52px 40px; }
  .studio-section-heading h2 { font-size: 34px; }
  .studio-section-heading > p:last-child { font-size: 15px; }
  .studio-product-copy, .studio-product-faro-storto .studio-product-copy, .studio-product-train .studio-product-copy { padding: 44px 24px 24px; }
  .studio-app-identity p, .studio-product-faro-storto .studio-app-identity p { font-size: 36px; }
  .studio-product-train .studio-app-identity p { font-size: 28px; }
  .studio-app-identity { margin-bottom: 18px; }
  .studio-app-identity img { width: 32px; height: 32px; }
  .studio-product h3 { font-size: 27px; }
  .studio-product-image { height: 414px; padding-top: 20px; }
  .studio-product-image > img { width: 236px; border-radius: 32px; }
  .studio-product-faro-storto .studio-product-image { height: 300px; }
  .studio-product-train .train-visual { margin: 0 20px 24px; padding: 12px; }
  .studio-about { padding-block: 72px; gap: 28px; }
  .studio-about h2, .studio-care h2 { font-size: 39px; }
  .studio-about-copy { padding-top: 0; }
  .studio-about-copy p, .studio-care > div > div > p:not(.studio-kicker) { font-size: 16px; line-height: 1.8; }
  .studio-principles { padding-top: 8px; gap: 28px; }
  .studio-principles h3 { margin-block: 16px 12px; }
  .studio-care { padding-block: 64px; }
  .studio-care > div { gap: 28px; }
  .studio-footer { padding-top: 48px; }
  .studio-footer-grid { gap: 32px 24px; }
  .studio-footer-bottom { margin-top: 32px; }
}
@media (max-width: 380px) {
  .studio-hero h1 { font-size: 39px; }
  .studio-hero-tagline { font-size: 23px; }
  .studio-section-heading h2 { font-size: 30px; }
  .studio-about h2, .studio-care h2 { font-size: 34px; }
  .studio-product-copy, .studio-product-faro-storto .studio-product-copy, .studio-product-train .studio-product-copy { padding-inline: 20px; }
  .studio-app-identity p, .studio-product-faro-storto .studio-app-identity p { font-size: 32px; }
  .studio-product-train .studio-app-identity p { font-size: 25px; }
}

/* Stationary shells keep the hover target stable while the visible card rises. */
.studio-product-shell { display: grid; min-width: 0; position: relative; }
.studio-product-shell-wide { grid-column: 1 / -1; }
.studio-home .studio-product { isolation: isolate; }
.studio-home .studio-product-faro-storto { --muted: #e3e9ed; --accent-deep: #d6e9fc; }
.studio-home .studio-product::after {
  content: ''; position: absolute; inset: 0; z-index: 3; pointer-events: none;
  background: linear-gradient(100deg, transparent, #bfdcf5b3, transparent) top center / 80% 1px no-repeat;
  box-shadow: inset 0 0 0 1px #9ab8ce80, inset 0 28px 36px -32px #c4e3ff;
  opacity: 0;
}
.studio-home .studio-product-shell:focus-within > .studio-product::after { opacity: 1; }
.studio-home .studio-product-shell:focus-within > .studio-product { box-shadow: 0 22px 48px -28px #13253166, 0 0 28px -18px #88b8dc99; }
@media (hover: hover) and (pointer: fine) {
  .studio-home .studio-product-shell:hover > .studio-product::after { opacity: 1; }
  .studio-home .studio-product-shell:hover > .studio-product { box-shadow: 0 22px 48px -28px #13253166, 0 0 28px -18px #88b8dc99; }
}
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .studio-home .studio-product { transition: transform 480ms cubic-bezier(.2,.7,.2,1), box-shadow 480ms ease; }
  .studio-home .studio-product::after { transition: opacity 380ms ease; }
  .studio-home .studio-product-shell:is(:hover, :focus-within) > .studio-product { transform: translateY(-7px); }
}
@media (prefers-reduced-transparency: reduce), (prefers-contrast: more) {
  .studio-home .studio-product-faro-storto { background: #182126 !important; }
  .studio-home .studio-product::after { background: none; box-shadow: inset 0 0 0 2px var(--accent-deep); }
}

/* Creator: Codex on Mac mini M1, 2026-10-30. PROJECT.
   Purpose: expressive Mattoccia Apps identity, clear click targets and product colour.
   Retain until explicit owner-authorized replacement. Real app images remain unchanged. */
:root {
  --paper: #f7f8ff; --paper-deep: #e7ecff; --white: #fff;
  --ink: #141b35; --dark: #141b35; --muted: #505d78; --line: #d8dfef;
  --accent: #335eff; --accent-deep: #214bdf; --soft-shadow: #13264a18;
  --brand-bright: #214bdf; --button-ink: #fff; --button-fill: #214bdf;
  --hero-wash: #e6edff; --glass: #ffffff4b; --collection-bg: #eef2ff;
  --surface-highlight: #ffffffb3; --error-ink: #a92c28; --error-line: #bd4540;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --paper: #030817; --paper-deep: #0d162b; --white: #080f20;
    --ink: #f7f9ff; --dark: #f7f9ff; --muted: #b5c3df; --line: #34466b;
    --accent: #a5baff; --accent-deep: #a5baff; --soft-shadow: #00000045;
    --brand-bright: #7f9fff; --button-ink: #fff; --button-fill: #315bf2;
    --hero-wash: #060e22; --glass: #ffffff0a; --collection-bg: #030817;
    --surface-highlight: #b2c8ff33; --error-ink: #ffb9b4; --error-line: #e58b84;
  }
}
:root[data-theme="dark"] {
  --paper: #030817; --paper-deep: #0d162b; --white: #080f20;
  --ink: #f7f9ff; --dark: #f7f9ff; --muted: #b5c3df; --line: #34466b;
  --accent: #a5baff; --accent-deep: #a5baff; --soft-shadow: #00000045;
  --brand-bright: #7f9fff; --button-ink: #fff; --button-fill: #315bf2;
  --hero-wash: #060e22; --glass: #ffffff0a; --collection-bg: #030817;
  --surface-highlight: #b2c8ff33; --error-ink: #ffb9b4; --error-line: #e58b84;
}
html { scroll-padding-top: 90px; }
.studio-header { background: color-mix(in srgb, var(--paper) 92%, transparent); backdrop-filter: blur(18px); border-bottom: 1px solid var(--line); }
.studio-header > .studio-width { width: min(1280px, calc(100% - 64px)); min-height: 76px; gap: 20px; }
.studio-header .gallery-brand:has(.brand-logo) { width: 196px; }
.studio-desktop-nav { gap: 23px; }
.studio-desktop-nav a { font-size: 12px; font-weight: 550; color: var(--ink); }
.studio-header .language-switch button { border-radius: 10px; min-width: 46px; }
.studio-header .language-switch button.active { background: var(--paper-deep); box-shadow: inset 0 -3px var(--brand-bright); }
.studio-header .language-switch button:hover { background: var(--paper-deep); }
.studio-desktop-nav a::after { height: 2px; background: var(--brand-bright); }
.studio-width { width: min(1200px, calc(100% - 80px)); }
.studio-home { background: var(--paper); --home-card-fill: var(--glass); --home-card-fade: transparent; }
.studio-home .studio-hero {
  width: 100%; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
  gap: 0 40px; align-items: center; padding: 72px max(40px, calc((100vw - 1200px) / 2)) 0;
  background: radial-gradient(ellipse at 90% 35%, var(--hero-wash), transparent 60%), var(--paper);
}
.studio-home .studio-hero-copy { width: 100%; margin: 0; padding: 12px 0 38px; min-width: 0; text-align: left; }
.studio-home .studio-hero-eyebrow { display: flex; align-items: center; gap: 10px; color: var(--brand-bright); font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; margin-bottom: 28px; }
.studio-home .studio-hero-eyebrow::before { content: ''; width: 8px; height: 8px; flex: 0 0 8px; border-radius: 50%; background: #527bff; box-shadow: 0 0 18px #527bff80; }
.studio-home .studio-hero-eyebrow > span { margin: 0 2px; }
.studio-home .studio-hero h1 { font-size: clamp(52px, 5.3vw, 78px); line-height: 1.02; letter-spacing: -.06em; font-weight: 730; margin: 0; max-width: none; }
.studio-home .studio-hero h1 .studio-title-secondary { color: var(--brand-bright); font-size: .92em; }
.studio-home .studio-hero-tagline { font-size: 21px; line-height: 1.4; letter-spacing: -.025em; margin: 26px 0 0; max-width: 30ch; }
.studio-home .studio-hero-tagline { display: flex; flex-wrap: wrap; column-gap: .25em; }
.studio-home .studio-hero-tagline > span:last-child { color: var(--ink); }
.studio-home .studio-intro { color: var(--muted); margin: 16px 0 28px; max-width: 42ch; font-size: 15px; line-height: 1.65; }
.studio-home .studio-hero .studio-actions { justify-content: flex-start; gap: 10px; }
.studio-button, .studio-home .studio-product .studio-button, .luxury-marketing .campaign-link {
  background: var(--button-fill); color: var(--button-ink); border: 1px solid transparent;
  min-height: 50px; padding: 13px 23px; border-radius: 999px; font-size: 15px; font-weight: 650;
  box-shadow: 0 7px 18px #244fe724; text-decoration: none;
}
.studio-home .studio-hero .studio-button::after, .studio-home .studio-product .studio-button::after { content: '↗'; font-size: 20px; margin-left: 12px; line-height: 1; }
.studio-link { color: var(--brand-bright); font-weight: 600; }
.studio-home .studio-hero .studio-link { border: 1px solid var(--line); padding: 11px 20px; border-radius: 999px; min-height: 50px; color: var(--ink); background: var(--glass); }
.studio-home .studio-hero .studio-link svg { display: block; }
.studio-gallery-hint { display: none; }
.studio-home .studio-hero-visual { position: relative; width: 100%; height: 480px; min-height: 0; margin: 0; padding: 16px 4px 28px; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); align-items: center; gap: 13px; isolation: isolate; }
.studio-home .studio-hero-app {
  position: relative; grid-column: auto; grid-row: auto; inset: auto; width: 100%; max-width: none; margin: 0;
  padding: 10px 10px 16px; border-radius: 27px; background: var(--tile); color: #12213c;
  border: 1px solid #ffffff66; box-shadow: 0 24px 48px -26px #020b2e80; text-decoration: none; justify-self: stretch;
}
.studio-home .studio-hero-faro { --tile: #ffba59; transform: translateY(12px) rotate(-7deg); z-index: 1; }
.studio-home .studio-hero-forma { --tile: #ff8a70; transform: translateY(-24px) rotate(1deg); z-index: 2; }
.studio-home .studio-hero-relax { --tile: #52dfb7; transform: translateY(28px) rotate(7deg); z-index: 1; }
.studio-home .studio-hero-portal { display: block; position: relative; width: 100%; aspect-ratio: 600 / 1304; margin: 0; overflow: hidden; border-radius: 20px; background: #12213c; box-shadow: none; }
.studio-home .studio-hero-portal > img { display: block; width: 100%; height: 100%; object-fit: contain; border: 0; }
.studio-home .studio-hero-faro .studio-hero-portal > img { object-fit: cover; object-position: 59% center; }
.studio-home .studio-hero-relax .studio-hero-portal { background: #e5f2ec; }
.studio-home .studio-hero-app > span:last-child { display: block; min-height: 52px; margin: 14px 0 0; padding-right: 26px; color: #12213c; font-size: 13px; font-weight: 750; line-height: 1.25; text-align: left; letter-spacing: -.02em; }
.studio-home .studio-hero-app > span:last-child > svg { display: none; }
.studio-home .studio-hero-app small { display: block; font-size: 10px; font-weight: 500; color: #37465b; letter-spacing: 0; line-height: 1.4; margin-top: 5px; }
.studio-home .studio-hero-app::after { content: '↗'; position: absolute; bottom: 29px; right: 10px; width: 25px; height: 25px; border-radius: 50%; background: #12213c; color: #fff; font-size: 16px; display: grid; place-items: center; }
.studio-home .studio-upcoming-link {
  grid-column: 1 / -1; justify-self: stretch; display: flex; justify-content: flex-start; align-items: center;
  width: 100%; min-height: 72px; gap: 14px; margin: 14px 0 0; padding: 18px 0; border-radius: 0;
  border-top: 1px solid var(--line); border-bottom: 0; background: transparent; backdrop-filter: none; color: var(--ink);
}
.studio-home .studio-upcoming-link .train-symbol { color: var(--brand-bright); width: 30px; height: 30px; }
.studio-home .studio-upcoming-link > span { font-size: 14px; display: flex; flex-direction: row; gap: 12px; align-items: center; }
.studio-home .studio-upcoming-link small { font-size: 11px; font-weight: 600; color: var(--muted); }
.studio-home .studio-upcoming-link > svg:last-child { margin-left: auto; width: 20px; height: 20px; }
.studio-home .studio-collection { background: var(--collection-bg); padding: 0 0 64px; border: 0; }
.studio-home .studio-section-heading { text-align: left; padding-block: 86px 44px; margin-bottom: 0; }
.studio-kicker { color: var(--brand-bright); font-size: 11px; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; }
.studio-kicker > span { color: var(--muted); margin-right: 8px; }
.studio-home .studio-section-heading h2 { max-width: 17ch; font-size: clamp(40px,4.5vw,64px); font-weight: 700; letter-spacing: -.055em; line-height: 1.06; margin: 0 0 20px; }
.studio-home .studio-section-heading > p:last-child { margin-inline: 0; max-width: 55ch; font-size: 17px; line-height: 1.6; color: var(--muted); }
.studio-home .studio-product-grid { width: min(1200px,calc(100% - 80px)); gap: 26px; }
.studio-home .studio-product {
  --card-accent: #315bf2; position: relative; isolation: isolate; margin: 0; border-radius: 28px;
  border: 1px solid color-mix(in srgb,var(--card-accent) 35%,var(--line));
  background: linear-gradient(135deg,color-mix(in srgb,var(--card-accent) 16%,transparent),transparent 75%),var(--glass) !important;
  box-shadow: inset 0 1px 0 var(--surface-highlight); overflow: hidden; cursor: pointer;
}
.studio-home .studio-product::after { background: none; box-shadow: inset 0 0 0 2px var(--card-accent),inset 0 12px 38px -24px var(--card-accent); }
.studio-home .studio-product-faro-storto {
  --card-accent: #ffb76c; --ink: #fff; --muted: #e0e9fb; --brand-bright: #ffd09b; --button-fill: #ffc187; --button-ink: #17233e;
  display: grid; grid-template-columns: .92fr 1.2fr; min-height: 560px;
  background: radial-gradient(ellipse at 0 90%,#73432d8a,transparent 75%),#12213c !important;
}
.studio-home .studio-product-forma { --card-accent: #f07655; --button-fill: #d14724; --button-ink: #fff; }
.studio-home .studio-product-relax { --card-accent: #1dbb99; --button-fill: #006a57; --button-ink: #fff; }
.studio-home .studio-product-train { --card-accent: #6587ff; }
.studio-home .studio-product-copy, .studio-home .studio-product-faro-storto .studio-product-copy,
.studio-home .studio-product-train .studio-product-copy { position: static; z-index: auto; text-align: left; padding: 46px 38px 28px; }
.studio-home .studio-product-faro-storto .studio-product-copy { align-self: center; padding: 52px 42px; }
.studio-home .studio-app-identity { justify-content: flex-start; gap: 12px; margin-bottom: 22px; }
.studio-home .studio-app-identity img { width: 38px; height: 38px; border-radius: 11px; }
.studio-home .studio-app-identity p, .studio-home .studio-product-faro-storto .studio-app-identity p,
.studio-home .studio-product-train .studio-app-identity p { font-size: 25px; font-weight: 700; letter-spacing: -.035em; }
.studio-home .studio-product-category { font-size: 10px; text-transform: uppercase; letter-spacing: .12em; font-weight: 600; color: var(--muted); margin: 0 0 16px; }
.studio-home .studio-product h3 { font-size: clamp(34px,3.5vw,47px); font-weight: 700; letter-spacing: -.045em; line-height: 1.08; margin-bottom: 20px; }
.studio-home .studio-product-description { max-width: 37ch; font-size: 16px; line-height: 1.65; color: var(--muted); margin: 0 0 25px; }
.studio-home .studio-product-forma .studio-product-description, .studio-home .studio-product-relax .studio-product-description { min-height: 5em; }
.studio-home .studio-product .studio-actions { justify-content: flex-start; gap: 10px; }
.studio-home .studio-product .studio-button { position: static; }
.studio-home .studio-product .studio-card-hitarea { content: ''; position: absolute; inset: 0; z-index: 2; border-radius: 28px; }
.studio-home .studio-product .studio-link { position: relative; z-index: 4; border: 1px solid color-mix(in srgb,var(--muted) 50%,transparent); border-radius: 999px; padding: 10px 16px; min-height: 48px; font-size: 13px; color: var(--ink); }
.studio-home .studio-product .studio-link svg { display: block; }
.studio-home .studio-product-status { color: var(--ink); font-size: 11px; font-weight: 650; margin: 22px 0 6px; }
.studio-home .studio-product-note { color: var(--muted); font-size: 12px; line-height: 1.55; max-width: 43ch; margin: 0; }
.studio-home .studio-product-image { position: relative; z-index: 3; display: flex; justify-content: center; align-items: flex-start; height: 430px; margin-top: auto; padding: 16px 20px 0; background: transparent; }
.studio-home .studio-product-image::before { display: none; }
.studio-home .studio-product-image > img { width: 256px; border-radius: 32px; border: 4px solid #25304a; box-shadow: 0 20px 50px #050f2c38; }
.studio-home .studio-product-forma .studio-product-image > img { transform: rotate(-6deg) translateY(4px); }
.studio-home .studio-product-relax .studio-product-image > img { transform: rotate(6deg) translateY(4px); }
.studio-home .studio-product-relax .studio-product-image::after { border-color: var(--card-accent); opacity: .3; }
.studio-home .studio-product-faro-storto .studio-product-image { width: 100%; height: 100%; min-height: 560px; margin: 0; padding: 0; }
.studio-home .studio-product-faro-storto .studio-product-image > img { width: 100%; height: 100%; object-fit: cover; object-position: 60% center; border: 0; border-radius: 0; box-shadow: none; }
.studio-home .studio-product-train .train-visual { margin: 0 24px 0 0; }
.studio-home .studio-about { padding-block: 110px; gap: 42px 68px; }
.studio-home .studio-about h2 { font-size: clamp(42px,4.6vw,64px); font-weight: 720; letter-spacing: -.055em; }
.studio-home .studio-about-copy { padding-top: 32px; font-size: 17px; line-height: 1.8; color: var(--muted); }
.studio-home .studio-principles { gap: 30px; }
.studio-home .studio-principles article { padding-top: 25px; border-top: 3px solid var(--brand-bright); }
.studio-home .studio-principle-number { color: var(--brand-bright); font-size: 31px; font-weight: 700; letter-spacing: -.05em; }
.studio-home .studio-principles h3 { margin-top: 18px; font-weight: 650; font-size: 21px; }
.studio-home .studio-care { background: #254de5; border: 0; color: #fff; padding-block: 74px; }
.studio-home .studio-care .studio-kicker, .studio-home .studio-care .studio-kicker > span, .studio-home .studio-care p { color: #e9eeff; }
.studio-home .studio-care h2 { color: #fff; font-weight: 700; font-size: clamp(38px,4.4vw,58px); }
.studio-home .studio-care .studio-link { border-radius: 999px; min-height: 50px; padding: 12px 24px; background: #fff; color: #1736a7; text-decoration: none; margin-top: 14px; }
.studio-footer { border-top: 1px solid var(--line); background: var(--paper); }
.studio-footer a { color: var(--ink); }
/* Product pages keep their actual artwork and screens, with a distinct active colour. */
.studio-marketing.campaign-faro-storto { --product-bright: #f6aa60; --button-fill: #ffc187; --button-ink: #17233e; }
.studio-marketing.campaign-forma { --product-bright: #f07655; --button-fill: #d14724; --button-ink: #fff; }
.studio-marketing.campaign-relax { --product-bright: #26bf9e; --button-fill: #006a57; --button-ink: #fff; }
.studio-marketing .campaign-opening { border-bottom: 1px solid var(--line); padding-top: 68px; }
.studio-marketing .campaign-product-intro h1 { font-weight: 720; }
.studio-marketing .campaign-product-intro h1 > span { color: var(--product-bright,var(--brand-bright)); }
:root[data-theme="light"] .studio-marketing.campaign-faro-storto { --product-bright: #a4540c; }
:root[data-theme="light"] .studio-marketing.campaign-forma { --product-bright: #c64425; }
:root[data-theme="light"] .studio-marketing.campaign-relax { --product-bright: #006a57; }
@media (prefers-color-scheme: light) {
  :root:not([data-theme="dark"]) .studio-marketing.campaign-faro-storto { --product-bright: #a4540c; }
  :root:not([data-theme="dark"]) .studio-marketing.campaign-forma { --product-bright: #c64425; }
  :root:not([data-theme="dark"]) .studio-marketing.campaign-relax { --product-bright: #006a57; }
}
.studio-marketing .campaign-feature-link { color: var(--ink); border-bottom: 2px solid var(--product-bright,var(--brand-bright)); padding-bottom: 8px; font-weight: 600; }
.studio-marketing .campaign-details { border: 1px solid var(--line); border-radius: 22px; background: var(--glass); }
.studio-marketing .campaign-details summary { padding: 22px 26px; }
.studio-marketing .campaign-details summary > span { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; background: var(--button-fill); color: var(--button-ink); }
.studio-marketing .campaign-details-body { padding-inline: 26px; }
.studio-marketing .campaign-closing .campaign-link { margin-top: 20px; }
.studio-home :is(a,button,summary,select):focus-visible, .studio-marketing :is(a,button,summary,select):focus-visible { outline: 3px solid var(--brand-bright); outline-offset: 5px; }
.studio-home .studio-hero-app:focus-visible { outline-color: var(--ink); }
.studio-home .studio-product:focus-within { border-color: var(--card-accent); box-shadow: 0 18px 48px -30px var(--card-accent); }
@media (hover: hover) and (pointer: fine) {
  .studio-button:hover, .luxury-marketing .campaign-link:hover { filter: brightness(1.1); box-shadow: 0 10px 24px #244fe73d; }
  .studio-home .studio-product-shell:hover > .studio-product { border-color: var(--card-accent); box-shadow: 0 22px 46px -30px var(--card-accent); }
  .studio-home .studio-upcoming-link:hover { color: var(--brand-bright); }
  .studio-home .studio-hero-app:hover > span { color: #12213c; text-decoration: none; }
  .studio-home .studio-hero-app:hover { box-shadow: 0 28px 52px -24px #020b2e99; }
  .studio-home .studio-hero-app:hover::after { background: #214bdf; }
}
@media (prefers-reduced-motion: no-preference) {
  .studio-button, .studio-link, .studio-hero-app, .studio-hero-app::after, .studio-upcoming-link > svg:last-child { transition: transform 220ms ease,box-shadow 220ms ease,background-color 160ms ease,color 160ms ease; }
  .studio-home .studio-hero-portal { transition: transform 250ms ease; }
  .studio-home .studio-title-motion { transition: color 180ms ease,transform 220ms ease; }
  .studio-home .studio-motion-heading:hover .studio-title-motion { color: var(--brand-bright); transform: translateX(4px); }
}
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .studio-home .studio-hero-app:is(:hover,:focus-visible) { transform: translateY(-14px) rotate(0deg) scale(1.045); z-index: 4; }
  .studio-home .studio-hero-app:is(:hover,:focus-visible) .studio-hero-portal { transform: none; box-shadow: none; }
  .studio-home .studio-hero-app:hover::after { transform: rotate(45deg); }
  .studio-home .studio-product-shell:is(:hover,:focus-within) > .studio-product { transform: translateY(-7px); }
  .studio-home .studio-upcoming-link:hover > svg:last-child, .studio-home .studio-link:hover > svg { transform: translateX(4px); }
}
@media (min-width: 821px) and (max-width: 1100px) {
  .studio-header > .studio-width { width: calc(100% - 40px); gap: 12px; }
  .studio-header .gallery-brand:has(.brand-logo) { width: 156px; }
  .studio-desktop-nav { gap: 15px; }
  .studio-desktop-nav a { font-size: 11px; }
  .studio-home .studio-hero { padding: 50px 28px 0; gap: 26px; grid-template-columns: 1fr 1fr; }
  .studio-home .studio-hero h1 { font-size: 54px; }
  .studio-home .studio-hero-visual { height: 410px; gap: 9px; }
  .studio-home .studio-hero-app { padding: 8px 8px 12px; border-radius: 22px; }
  .studio-home .studio-hero-app > span:last-child { font-size: 11px; padding-right: 23px; }
  .studio-home .studio-hero-app small { font-size: 9px; }
  .studio-home .studio-hero-app::after { right: 7px; bottom: 27px; width: 22px; height: 22px; }
  .studio-home .studio-product-grid { width: calc(100% - 48px); }
}
@media (max-width: 820px) {
  .studio-header > .studio-width { width: calc(100% - 32px); min-height: 68px; gap: 8px; }
  .studio-header .gallery-brand:has(.brand-logo) { width: 160px; }
  .studio-home .studio-hero { display: flex; flex-direction: column; align-items: stretch; padding: 44px 24px 0; gap: 0; overflow: hidden; }
  .studio-home .studio-hero-copy { padding: 0; max-width: none; }
  .studio-home .studio-hero-eyebrow { font-size: 10px; margin-bottom: 23px; gap: 8px; }
  .studio-home .studio-hero h1 { font-size: clamp(47px,8vw,64px); max-width: 12ch; line-height: 1.04; }
  .studio-home .studio-hero h1 .studio-title-secondary { font-size: 1em; }
  .studio-home .studio-hero-tagline { font-size: 19px; margin-top: 22px; max-width: 30ch; }
  .studio-home .studio-intro { margin-top: 14px; font-size: 14px; max-width: 44ch; }
  .studio-home .studio-hero .studio-actions { gap: 8px; }
  .studio-home .studio-hero .studio-button, .studio-home .studio-hero .studio-link { font-size: 13px; padding-inline: 18px; }
  .studio-gallery-hint { display: flex; justify-content: space-between; align-items: center; margin: 24px 0 0; font-size: 11px; color: var(--muted); font-weight: 600; }
  .studio-gallery-hint > span { font-size: 22px; color: var(--brand-bright); }
  .studio-home .studio-hero-visual {
    display: flex; width: calc(100% + 48px); max-width: none; height: auto; margin: 0 -24px;
    padding: 28px 24px 30px; gap: 18px; align-items: stretch; overflow-x: auto;
    scroll-snap-type: x mandatory; scroll-padding-inline: 24px; scrollbar-width: thin; scrollbar-color: var(--brand-bright) transparent;
  }
  .studio-home .studio-hero-app { flex: 0 0 min(65vw,240px); width: min(65vw,240px); transform: none; padding: 10px 10px 15px; border-radius: 25px; scroll-snap-align: start; }
  .studio-home .studio-hero-portal { aspect-ratio: auto; height: 310px; border-radius: 18px; }
  .studio-home .studio-hero-app > span:last-child { font-size: 15px; min-height: 45px; margin-top: 14px; padding-right: 32px; }
  .studio-home .studio-hero-app small { font-size: 11px; }
  .studio-home .studio-hero-app::after { width: 30px; height: 30px; right: 12px; bottom: 25px; }
  .studio-home .studio-upcoming-link { margin-top: 10px; min-height: 76px; gap: 10px; padding-block: 16px; }
  .studio-home .studio-upcoming-link > span { flex-direction: column; align-items: flex-start; gap: 2px; }
  .studio-home .studio-section-heading { width: calc(100% - 48px); padding-block: 62px 34px; }
  .studio-home .studio-section-heading h2 { font-size: 41px; }
  .studio-home .studio-section-heading > p:last-child { font-size: 15px; }
  .studio-home .studio-product-grid { width: calc(100% - 32px); gap: 20px; }
  .studio-home .studio-product { border-radius: 24px; }
  .studio-home .studio-product-copy, .studio-home .studio-product-faro-storto .studio-product-copy,
  .studio-home .studio-product-train .studio-product-copy { padding: 34px 24px 26px; }
  .studio-home .studio-product h3 { font-size: 35px; }
  .studio-home .studio-product-description { font-size: 15px; }
  .studio-home .studio-product-faro-storto { display: flex; min-height: 0; }
  .studio-home .studio-product-faro-storto .studio-product-image { height: 300px; min-height: 0; }
  .studio-home .studio-product-forma .studio-product-image, .studio-home .studio-product-relax .studio-product-image { height: 420px; }
  .studio-home .studio-product-train .train-visual { margin: 0 14px 24px; }
  .studio-home .studio-about { width: calc(100% - 48px); padding-block: 70px; gap: 28px; }
  .studio-home .studio-about h2 { font-size: 42px; }
  .studio-home .studio-about-copy { padding-top: 0; font-size: 16px; }
  .studio-home .studio-principles { gap: 24px; }
  .studio-home .studio-care { padding-block: 54px; }
  .studio-home .studio-care > .studio-width { width: calc(100% - 48px); }
  .studio-home .studio-care h2 { font-size: 38px; }
  .studio-marketing .campaign-opening { padding-top: 40px; }
}
@media (max-width: 380px) {
  .studio-home .studio-hero { padding-inline: 20px; }
  .studio-home .studio-hero h1 { font-size: 43px; }
  .studio-home .studio-hero-visual { width: calc(100% + 40px); margin-inline: -20px; padding-inline: 20px; scroll-padding-inline: 20px; }
  .studio-home .studio-hero .studio-button, .studio-home .studio-hero .studio-link { padding-inline: 14px; font-size: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  .studio-home *, .studio-home *::before, .studio-home *::after, .studio-marketing *, .studio-marketing *::before, .studio-marketing *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
  .studio-home .studio-product-shell:is(:hover,:focus-within) > .studio-product, .studio-home .studio-motion-heading:hover .studio-title-motion { transform: none; }
}
@media (prefers-reduced-transparency: reduce), (prefers-contrast: more) {
  :root .studio-home .studio-product { background: var(--paper) !important; backdrop-filter: none; }
  :root .studio-home .studio-product-faro-storto { background: #12213c !important; }
  .studio-header, .studio-marketing .campaign-details { background: var(--paper); backdrop-filter: none; }
  .studio-home .studio-product { border-width: 2px; }
}
@media (forced-colors: active) {
  .studio-home .studio-hero-app { background: Canvas; color: CanvasText; border: 2px solid LinkText; }
  .studio-home .studio-hero-app > span:last-child, .studio-home .studio-hero-app small { color: CanvasText; }
  .studio-home .studio-product .studio-card-hitarea { outline: 1px solid LinkText; }
  .studio-home .studio-care { background: Canvas; color: CanvasText; border-block: 2px solid CanvasText; }
  .studio-home .studio-care h2,.studio-home .studio-care p { color: CanvasText; }
}

/* Creator Codex. PROJECT assistant page, shared midnight/light palette. Retain until explicit deletion. */
.studio-ai{position:relative;overflow:hidden}.ai-intro{position:relative;text-align:center;padding-top:100px;padding-bottom:54px}.ai-intro h1{font-size:clamp(48px,7.2vw,88px);line-height:1.02;letter-spacing:-.065em;font-weight:650;margin:23px 0}.ai-intro h1 span{color:var(--brand-bright)}.ai-lead{max-width:620px;margin:0 auto;font-size:clamp(18px,2vw,22px);line-height:1.5;color:var(--muted)}.ai-limit{display:inline-flex;align-items:center;gap:8px;margin-top:25px;padding:8px 14px;border:1px solid #668cc240;border-radius:30px;font-size:12px;letter-spacing:.02em}.ai-limit i{height:6px;width:6px;background:#68d4bd;border-radius:50%;box-shadow:0 0 14px #68d4bd70}.ai-orbit{pointer-events:none;position:absolute;inset:-130px -40px auto;height:520px;opacity:.35;z-index:0;background:radial-gradient(ellipse at 50% 38%,#1754a72b,transparent 60%)}.ai-orbit span{position:absolute;left:50%;top:50%;width:260px;height:260px;border:1px solid #548de530;border-radius:50%;transform:translate(-50%,-50%) rotate(-25deg) scaleX(2.5)}.ai-orbit span:nth-child(2){transform:translate(-50%,-50%) rotate(25deg) scaleX(2.5)}.ai-orbit span:nth-child(3){width:200px;height:200px;border-color:#548de512}.ai-intro>*:not(.ai-orbit){position:relative}.ai-workspace{max-width:900px;border:1px solid #7ba3dc2c;border-radius:28px;background:linear-gradient(140deg,#6487bb09,#08152c11);box-shadow:0 20px 80px #00000016;overflow:hidden}.ai-conversation{padding:38px}.ai-empty h2{text-align:center;font-size:25px;font-weight:550;letter-spacing:-.03em;margin:14px 0 26px}.ai-mark{display:block;text-align:center;color:#84b4ff;font-size:36px}.ai-suggestions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.ai-suggestions button{display:flex;justify-content:space-between;align-items:center;gap:15px;text-align:left;color:inherit;font:inherit;font-size:14px;line-height:1.4;min-height:64px;padding:17px 19px;background:#80a7df07;border:1px solid #86a8d72b;border-radius:14px;cursor:pointer;transition:border-color .2s,transform .2s,background .2s}.ai-suggestions button:hover{border-color:var(--brand-bright)90;transform:translateY(-2px);background:#80a7df12}.ai-suggestions svg{flex-shrink:0}.ai-composer{border-top:1px solid #7ba3dc26;padding:25px 30px 28px}.ai-composer-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:15px;font-size:13px}.ai-composer-heading label{font-weight:600}.ai-composer-heading>span{font-size:11px;color:var(--muted)}.ai-composer textarea{box-sizing:border-box;width:100%;resize:vertical;min-height:108px;max-height:260px;padding:17px 18px;border:1px solid #7ba3dc35;border-radius:14px;background:color-mix(in srgb,var(--paper) 88%,transparent);color:inherit;font:inherit;font-size:16px;line-height:1.55;outline:none}.ai-composer textarea:focus{border-color:#83b5ff;box-shadow:0 0 0 3px #72a8ff20}.ai-composer textarea::placeholder{color:var(--muted)}.ai-composer-actions{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-top:14px}.ai-composer-actions>span{font-size:11px;color:var(--muted)}.ai-composer .studio-button{font-size:14px;min-height:46px;gap:18px}.studio-ai button:disabled{opacity:.45;cursor:not-allowed;transform:none}.ai-error{font-size:13px;line-height:1.6;padding:12px 15px;margin:18px 0 0;border:1px solid #d0a66c45;background:#d0a66c0a;border-radius:10px;color:var(--error-ink)}.ai-turn+.ai-turn{margin-top:30px;padding-top:26px;border-top:1px solid #7ba3dc26}.ai-question{white-space:pre-wrap;margin:0 0 24px auto;max-width:85%;width:fit-content;background:#5c96eb16;border:1px solid #7ba3dc26;border-radius:17px 17px 4px 17px;padding:14px 18px;font-size:15px;line-height:1.6;overflow-wrap:anywhere}.ai-answer{outline:none}.ai-answer:focus-visible{outline:2px solid #83b5ff;outline-offset:10px}.ai-answer-brand{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--brand-bright)}.ai-answer>p{font-size:17px;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere;margin:12px 0 18px}.ai-answer nav{display:flex;flex-wrap:wrap;gap:9px}.ai-answer nav a,.ai-footnotes a{display:inline-flex;gap:8px;align-items:center;font-size:12px;color:var(--brand-bright);text-decoration:none}.ai-answer nav a{padding:7px 11px;border:1px solid #7ba3dc2b;border-radius:20px}.ai-answer small{display:block;margin-top:13px;font-size:11px;color:var(--muted)}.ai-footnotes{max-width:900px;display:grid;grid-template-columns:1.7fr 1fr;gap:60px;padding-top:35px;padding-bottom:50px}.ai-footnotes h2{font-size:15px;letter-spacing:-.02em;font-weight:550;margin:0 0 12px}.ai-footnotes p,.ai-policy p{font-size:12px;line-height:1.8;color:var(--muted);margin:8px 0 14px}.ai-footnotes aside{border-left:1px solid #7ba3dc2b;padding-left:30px}.ai-policy{max-width:900px;padding-bottom:65px}.ai-policy summary{font-size:12px;cursor:pointer;padding:15px 0;border-top:1px solid #7ba3dc2b;color:var(--muted)}.ai-policy p{max-width:790px}.studio-ai-teaser{padding:55px 0;display:flex;justify-content:space-between;align-items:center;gap:35px;border-top:1px solid #7ba3dc22}.studio-ai-teaser h2{font-size:clamp(28px,4vw,45px);line-height:1.1;letter-spacing:-.045em;margin:9px 0}.studio-ai-teaser p{max-width:530px;font-size:15px;color:var(--muted);line-height:1.6}.studio-ai-teaser .studio-button{flex-shrink:0}html[data-theme=light] .ai-workspace{background:#ffffff55}html[data-theme=light] .ai-intro h1 span{color:#245fc7}html[data-theme=light] .ai-composer textarea{background:#ffffff90}html[data-theme=light] .ai-error{color:#855421}html[data-theme=light] .ai-answer-brand,html[data-theme=light] .ai-footnotes a,html[data-theme=light] .ai-answer nav a{color:#245fc7}
@media(max-width:700px){.ai-intro{padding-top:65px;padding-bottom:38px}.ai-intro h1{font-size:53px}.ai-lead{font-size:18px}.ai-workspace{width:calc(100% - 30px);border-radius:22px}.ai-conversation{padding:25px 20px}.ai-suggestions{grid-template-columns:1fr}.ai-suggestions button{min-height:55px;padding:14px 15px}.ai-composer{padding:22px 18px}.ai-composer-heading{align-items:flex-start;flex-direction:column;gap:7px}.ai-composer-actions .studio-button{font-size:12px;padding:0 15px;gap:8px}.ai-footnotes{grid-template-columns:1fr;gap:26px;padding:27px 0 40px}.ai-footnotes aside{border-left:0;border-top:1px solid #7ba3dc2b;padding:23px 0 0}.ai-answer>p{font-size:16px}.studio-ai-teaser{flex-direction:column;align-items:flex-start;padding:38px 0;gap:15px}.ai-policy{padding-bottom:40px}}
@media(prefers-reduced-motion:reduce){.ai-suggestions button{transition:none}.ai-suggestions button:hover{transform:none}}

.ai-question-hint{font-size:12px;line-height:1.6;color:var(--muted);margin:9px 0 0}

/* PROJECT owner-only review: separate candidate, shared theme colors. */
.ai-owner-review {margin-top:28px;border-top:1px solid var(--line);padding-top:22px;color:var(--ink)}
.ai-owner-review h3 {font-size:14px;letter-spacing:.02em;color:var(--accent-deep);margin:0 0 10px}
.ai-owner-review p {font-size:14px;line-height:1.7;margin:0 0 12px}
.ai-owner-review small {display:block;color:var(--muted);font-size:12px;line-height:1.7}
.ai-review-proposal {margin:16px 0;padding:18px;border:1px solid var(--line);border-radius:14px;background:var(--glass)}
.ai-review-proposal h4 {font-size:13px;margin:0 0 12px;color:var(--accent-deep)}


/* Creator: Codex, 2026-10-30. PROJECT isolated V2 preview.
   Purpose: integrate owner's visual proposal, retaining service components.
   Retain until explicit owner authorization. */
:root {
 --paper:#f5f3ee;--paper-deep:#eae6de;--white:#fffdfa;
 --ink:#242a2c;--dark:#242a2c;--muted:#58636a;--line:#cbd0cf;
 --accent:#665540;--accent-deep:#584832;--brand-bright:#776247;
 --button-fill:#272e32;--button-ink:#f7f3ea;--glass:#ffffff80;
 --collection-bg:#f5f3ee;--hero-wash:#ece5da;--soft-shadow:#20242814;
 --surface-highlight:#ffffffb3;--v2-title:#776247;
}
@media(prefers-color-scheme:dark) {
 :root:not([data-theme="light"]) {
  --paper:#101316;--paper-deep:#181d21;--white:#151a1e;
  --ink:#f3f2ee;--dark:#f3f2ee;--muted:#a8afb5;--line:#343c42;
  --accent:#e9d6b7;--accent-deep:#e9d6b7;--brand-bright:#d8cab4;
  --button-fill:#e9e6de;--button-ink:#202426;--glass:#ffffff08;
  --collection-bg:#101316;--hero-wash:#20262b;--soft-shadow:#00000030;
  --surface-highlight:#ffffff12;--v2-title:#d8cab4;
 }
}
:root[data-theme="dark"] {
 --paper:#101316;--paper-deep:#181d21;--white:#151a1e;
 --ink:#f3f2ee;--dark:#f3f2ee;--muted:#a8afb5;--line:#343c42;
 --accent:#e9d6b7;--accent-deep:#e9d6b7;--brand-bright:#d8cab4;
 --button-fill:#e9e6de;--button-ink:#202426;--glass:#ffffff08;
 --collection-bg:#101316;--hero-wash:#20262b;--soft-shadow:#00000030;
 --surface-highlight:#ffffff12;--v2-title:#d8cab4;
}
html {scroll-padding-top:110px}
.studio-header {position:relative;background:var(--paper);border-bottom:1px solid var(--line)}
.studio-header > .studio-width {width:calc(100% - 80px);max-width:1440px;min-height:100px;gap:24px}
.studio-header .gallery-brand:has(.brand-logo) {width:195px;flex-shrink:0}
.studio-desktop-nav {gap:clamp(15px,1.5vw,26px)}
.studio-desktop-nav a {white-space:nowrap;font-size:13px;font-weight:450;color:var(--muted)}
.studio-desktop-nav a.studio-project-first {font-size:22px;font-weight:600;letter-spacing:-.6px;color:var(--ink)}
.studio-header .language-switch button {min-width:42px;font-size:11px}
.studio-header .language-switch button.active {box-shadow:inset 0 -2px var(--brand-bright)}
.studio-mobile-navigation .studio-project-first {font-size:20px;font-weight:600;color:var(--ink)}
.studio-button,.luxury-marketing .campaign-link {border-radius:13px;box-shadow:none;background:var(--button-fill);color:var(--button-ink)}
.studio-button:hover,.luxury-marketing .campaign-link:hover {box-shadow:0 6px 20px var(--soft-shadow)}
.studio-footer {background:var(--paper);border-top:1px solid var(--line)}
.web-v2 {
 --bg:var(--paper);--panel:var(--paper-deep);--text:var(--ink);
 --subtle:var(--muted);--ivory:var(--ink);
 --faro:#eac68b;--forma:#f4a18e;--relax:#a8d6c7;
 --ease:cubic-bezier(.2,.7,.2,1);
 --font:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
}
.web-v2 .studio-product {border:0;box-shadow:none;display:block;background:none}

.web-v2 *{ box-sizing: border-box; }
.web-v2{ scroll-behavior: smooth; scroll-padding-top: 40px; }
.web-v2{ margin:0; background:var(--bg); color:var(--text); font-family:var(--font); font-size:16px; line-height:1.5; -webkit-font-smoothing:antialiased; }
.web-v2::before{ content:""; position:absolute; pointer-events:none; inset:0 0 auto; height:850px; z-index:-1; background:radial-gradient(ellipse at 86% 26%,rgba(125,134,142,.08),transparent 52%); }
.web-v2 h1,.web-v2 h2,.web-v2 h3,.web-v2 p{ margin:0; }
.web-v2 a{ color:inherit; text-decoration:none; }
.web-v2 button{ font:inherit; cursor:pointer; }
.web-v2 a,.web-v2 button{ -webkit-tap-highlight-color:transparent; touch-action:manipulation; }
.web-v2 img{ display:block; max-width:100%; }
.web-v2 button,.web-v2 a{ outline-offset:6px; }
.web-v2 button:focus-visible,.web-v2 a:focus-visible{ outline:2px solid var(--ivory); }
.web-v2 ::selection{ color:#101316; background:#e2d4bb; }
.web-v2 .wrap{ width:calc(100% - 112px); max-width:1376px; margin-inline:auto; }
.web-v2 .icon{ display:block; flex-shrink:0; width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.web-v2 .icon-defs{ position:absolute; width:0; height:0; overflow:hidden; }
.web-v2 .skip-link{ position:fixed; top:12px; left:16px; z-index:100; background:var(--ivory); color:var(--bg); border-radius:10px; padding:12px 18px; transform:translateY(-200%); }
.web-v2 .skip-link:focus{ transform:none; }
.web-v2 .top-shell{ position:relative; z-index:10; }
.web-v2 .site-header{ height:104px; display:flex; align-items:center; gap:36px; border-bottom:1px solid var(--line); }
.web-v2 .brand{ display:inline-flex; gap:10px; align-items:center; font-size:21px; font-weight:650; letter-spacing:-.9px; flex-shrink:0; }
.web-v2 .brand img{ width:37px; height:29px; object-fit:contain; }
.web-v2 .brand-light{ font-weight:450; color:#d3d7d9; }
.web-v2 .desktop-nav{ display:flex; align-items:center; gap:clamp(16px,1.8vw,29px); margin-left:auto; }
.web-v2 .desktop-nav a{ font-size:12px; font-weight:450; color:#bdc3c8; padding:14px 0; white-space:nowrap; position:relative; transition:color 160ms ease; }
.web-v2 .desktop-nav a::after{ content:""; position:absolute; inset:auto 0 5px; height:1px; background:var(--ivory); transform:scaleX(0); transform-origin:left; transition:transform 200ms var(--ease); }
.web-v2 .desktop-nav a:hover{ color:var(--text); }
.web-v2 .desktop-nav a:hover::after{ transform:scaleX(1); }
.web-v2 .languages{ display:flex; align-items:center; gap:3px; flex-shrink:0; padding-left:20px; border-left:1px solid var(--line); }
.web-v2 .languages button{ border:0; background:transparent; color:#939da5; font-size:10px; font-weight:550; letter-spacing:.6px; padding:0; width:34px; height:36px; border-radius:9px; transition:background 180ms,color 180ms; }
.web-v2 .languages button[aria-pressed="true"]{ color:#f5f2eb; background:rgba(223,225,222,.09); box-shadow:inset 0 1px 0 rgba(255,255,255,.09); }
.web-v2 .languages button:hover{ color:white; background:rgba(255,255,255,.07); }
.web-v2 .mobile-nav{ display:none; }
.web-v2 .hero{ display:grid; grid-template-columns:46% 54%; align-items:center; min-height:726px; position:relative; }
.web-v2 .hero-copy{ position:relative; z-index:3; padding:56px 0 66px; }
.web-v2 .eyebrow{ display:flex; align-items:center; gap:13px; font-size:10px; letter-spacing:2.2px; font-weight:500; line-height:1.5; color:#b4b9be; }
.web-v2 .tiny-line{ width:23px; height:1px; background:#c8b99f; }
.web-v2 .eyebrow-dot{ color:#6d7479; margin-inline:3px; }
.web-v2 h1{ margin-top:29px; font-size:clamp(52px,4.85vw,73px); line-height:1.07; font-weight:500; letter-spacing:-.058em; max-width:670px; }
.web-v2 h1 > span{ display:block; white-space:nowrap; }
.web-v2 .soft-title{ color:#d8cab4; }
.web-v2 .hero-subtitle{ margin-top:30px; font-size:clamp(17px,1.47vw,22px); font-weight:400; line-height:1.5; letter-spacing:-.6px; }
.web-v2 .hero-description{ margin-top:15px; font-size:14px; font-weight:400; line-height:1.8; color:var(--muted); }
.web-v2 .hero-actions{ display:flex; gap:12px; align-items:center; margin-top:32px; }
.web-v2 .button{ display:inline-flex; align-items:center; justify-content:center; gap:24px; padding:0 23px; height:53px; border-radius:13px; font-size:13px; font-weight:550; transition:transform 180ms var(--ease),box-shadow 180ms,background 180ms; }
.web-v2 .button .icon{ width:19px; height:19px; }
.web-v2 .button-primary{ color:#202426; background:linear-gradient(145deg,#f3f0e9,#d5d0c6); border:1px solid #f3f0e9; box-shadow:0 5px 15px rgba(0,0,0,.1),inset 0 1px 0 #fff; }
.web-v2 .button-secondary{ border:1px solid rgba(207,216,224,.22); background:linear-gradient(150deg,rgba(196,203,211,.07),rgba(196,203,211,.015)); color:#d9dcdd; }
.web-v2 .button:hover{ transform:translateY(-2px); box-shadow:0 8px 20px rgba(0,0,0,.25); }
.web-v2 .button:active{ transform:translateY(1px) scale(.985); }
.web-v2 .scroll-link{ margin-top:65px; display:inline-flex; align-items:center; gap:12px; font-size:10px; color:#919ba2; letter-spacing:.35px; }
.web-v2 .scroll-circle{ border:1px solid #394047; display:grid; place-items:center; width:29px; height:35px; border-radius:16px; }
.web-v2 .scroll-circle .icon{ width:14px; height:18px; transition:transform 200ms; }
.web-v2 .scroll-link:hover .icon{ transform:translateY(3px); }
.web-v2 .hero-visual{ position:relative; min-width:0; align-self:stretch; display:flex; justify-content:center; flex-direction:column; margin-right:-38px; margin-left:-16px; }
.web-v2 .art-frame{ position:relative; width:100%; aspect-ratio:783 / 702; overflow:hidden; margin-top:-18px; }
.web-v2 .hero-art{ width:100%; height:100%; object-fit:cover; filter:saturate(.76); -webkit-mask-image:linear-gradient(90deg,transparent 0%,black 6%,black 94%,transparent 100%); mask-image:linear-gradient(90deg,transparent 0%,black 6%,black 94%,transparent 100%); }
.web-v2 .art-frame::before{ content:""; position:absolute; z-index:1; inset:0; pointer-events:none; background:linear-gradient(0deg,var(--bg) 0%,transparent 17%,transparent 96%,var(--bg) 100%); }
.web-v2 .art-frame::after{ content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(90deg,var(--bg) 0%,transparent 16%); }
.web-v2 .art-light{ position:absolute; z-index:2; inset:0; pointer-events:none; background:radial-gradient(ellipse at 80% 35%,rgba(226,206,168,.04),transparent 60%); }
.web-v2 .art-links{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); width:calc(100% - 90px); margin:-12px 20px 0 70px; position:relative; z-index:3; background:linear-gradient(160deg,rgba(87,95,103,.12),rgba(40,47,54,.18)); border:1px solid rgba(217,222,227,.14); border-radius:13px; -webkit-backdrop-filter:blur(20px); backdrop-filter:blur(20px); box-shadow:inset 0 1px 0 rgba(255,255,255,.035); }
.web-v2 .art-links a{ padding:17px 13px; display:flex; align-items:center; gap:8px; font-size:10px; color:#e0e3e3; min-width:0; position:relative; transition:background 200ms; }
.web-v2 .art-links a + a{ border-left:1px solid var(--line); }
.web-v2 .art-links a:first-child{ border-radius:12px 0 0 12px; }
.web-v2 .art-links a:last-child{ border-radius:0 12px 12px 0; }
.web-v2 .art-links a:hover{ background:rgba(255,255,255,.07); }
.web-v2 .art-links .icon{ width:12px; height:12px; margin-left:auto; color:#a8b0b7; }
.web-v2 .faro{ --accent:var(--faro); }
.web-v2 .forma{ --accent:var(--forma); }
.web-v2 .relax{ --accent:var(--relax); }
.web-v2 .app-dot{ flex-shrink:0; display:block; width:5px; height:5px; border-radius:50%; background:var(--accent); }
.web-v2 .apps-section{ padding-top:53px; border-top:1px solid var(--line); }
.web-v2 .section-heading{ display:flex; justify-content:space-between; align-items:flex-end; gap:50px; margin-bottom:34px; }
.web-v2 .section-index{ font-size:10px; letter-spacing:0; width:22px; color:#8e938f; }
.web-v2 h2{ margin-top:17px; font-size:clamp(30px,2.9vw,43px); line-height:1.12; letter-spacing:-1.75px; font-weight:480; }
.web-v2 .muted-title{ color:#919b9f; }
.web-v2 .section-description{ max-width:315px; color:#a6afb5; font-size:13px; line-height:1.8; padding-bottom:3px; }
.web-v2 .product-grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.web-v2 .product-card{ min-width:0; display:block; border:1px solid rgba(216,225,230,.12); border-radius:21px; background:linear-gradient(150deg,#1a2024,#13181d); overflow:hidden; box-shadow:0 5px 15px rgba(0,0,0,.06); transition:transform 280ms var(--ease),border-color 280ms,box-shadow 280ms; }
.web-v2 .product-art{ position:relative; height:242px; overflow:hidden; isolation:isolate; border-bottom:1px solid rgba(255,255,255,.03); }
.web-v2 .product-art > img{ width:100%; height:100%; object-fit:cover; transition:transform 700ms var(--ease); }
.web-v2 .faro-art{ background:#bcb2a5; }
.web-v2 .faro-art > img{ object-position:50% 45%; filter:saturate(.7) brightness(.85); }
.web-v2 .product-art::after{ content:""; position:absolute; z-index:1; pointer-events:none; inset:0; background:linear-gradient(0deg,rgba(11,16,19,.52),transparent 50%); }
.web-v2 .art-number{ position:absolute; z-index:2; top:18px; left:21px; font-size:10px; color:rgba(255,255,255,.8); letter-spacing:.8px; font-variant-numeric:tabular-nums; }
.web-v2 .image-label{ position:absolute; bottom:18px; left:21px; z-index:2; font-size:10px; line-height:1.4; letter-spacing:.6px; color:#f4f2ea; }
.web-v2 .forma-art{ background:radial-gradient(ellipse at 70% 16%,#806458 0%,#463832 40%,#272827 83%); }
.web-v2 .forma-orbit{ position:absolute; width:270px; height:270px; left:-43px; bottom:-102px; border-radius:50%; border:1px solid rgba(226,191,168,.13); box-shadow:0 0 0 36px rgba(226,191,168,.025),0 0 0 72px rgba(226,191,168,.015); }
.web-v2 .mini-phone{ width:160px; height:330px; position:absolute; top:23px; left:calc(50% - 59px); padding:5px; background:linear-gradient(140deg,#e1b79e,#55504b 22%,#c2927c 70%,#e6c2a7); border-radius:25px; transform:rotate(11deg); border:1px solid rgba(255,255,255,.45); box-shadow:16px 26px 45px rgba(7,8,8,.55); transition:transform 600ms var(--ease); }
.web-v2 .mini-phone img{ width:100%; height:auto; border-radius:20px; border:1px solid #111; }
.web-v2 .relax-art{ background:#cddcd6; }
.web-v2 .relax-art > img{ object-position:50% 56%; filter:saturate(.62) brightness(.9); }
.web-v2 .relax-art::after{ background:linear-gradient(0deg,rgba(31,62,57,.4),transparent 60%); }
.web-v2 .relax-art .art-number{ color:#45645b; }
.web-v2 .product-info{ padding:23px 23px 20px; }
.web-v2 .product-heading{ display:flex; align-items:center; justify-content:space-between; gap:12px; }
.web-v2 .product-info h3{ font-size:21px; font-weight:500; letter-spacing:-.65px; }
.web-v2 .product-arrow{ display:grid; place-items:center; width:34px; height:34px; border-radius:50%; border:1px solid rgba(216,225,230,.2); color:#d6d9d7; transition:background 240ms,color 240ms,transform 240ms; }
.web-v2 .product-arrow .icon{ width:17px; height:17px; }
.web-v2 .product-info > p{ color:#a5aeb3; font-size:12px; line-height:1.8; margin-top:9px; max-width:285px; min-height:44px; }
.web-v2 .product-link{ display:inline-flex; align-items:center; gap:9px; font-size:10px; color:var(--accent); margin-top:23px; }
.web-v2 .product-card:hover{ transform:translateY(-5px); border-color:rgba(221,226,230,.3); box-shadow:0 18px 32px rgba(0,0,0,.18); }
.web-v2 .product-card:hover .product-art > img{ transform:scale(1.04); }
.web-v2 .product-card:hover .mini-phone{ transform:rotate(7deg) translateY(-6px); }
.web-v2 .product-card:hover .product-arrow{ background:var(--accent); color:#192126; transform:rotate(0deg); }
.web-v2 .product-card:active{ transform:translateY(-1px) scale(.995); }
.web-v2 .next-project{ display:flex; align-items:center; gap:20px; padding:28px 3px; margin-top:36px; border-block:1px solid var(--line); transition:background 220ms; }
.web-v2 .train-mark{ width:48px; height:48px; border:1px solid rgba(211,220,224,.15); border-radius:14px; display:grid; place-items:center; background:rgba(255,255,255,.025); color:#c0cad0; }
.web-v2 .train-mark .icon{ width:25px; height:25px; stroke-width:1.35; }
.web-v2 .upcoming{ display:block; font-size:9px; letter-spacing:1.3px; color:#959f9e; }
.web-v2 .next-title h3{ margin-top:4px; font-weight:450; font-size:16px; letter-spacing:-.35px; }
.web-v2 .next-project > p{ color:#979fa3; font-size:12px; margin-left:auto; }
.web-v2 .next-arrow{ width:18px; height:18px; margin-left:34px; margin-right:12px; transition:transform 220ms; }
.web-v2 .next-project:hover .next-arrow{ transform:translate(3px,-3px); }
.web-v2 .next-project:hover{ background:rgba(255,255,255,.015); }
.web-v2 .site-footer{ min-height:130px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.web-v2 .footer-brand{ font-size:16px; letter-spacing:-.6px; gap:8px; }
.web-v2 .footer-brand img{ width:26px; height:21px; opacity:.8; }
.web-v2 .site-footer > p{ font-size:10px; color:#8b969d; }
.web-v2 .footer-separator{ padding-inline:11px; opacity:.5; }
.web-v2 .support-link{ display:flex; align-items:center; gap:9px; font-size:10px; color:#c0c7ca; }
.web-v2 .support-link .icon{ width:14px; height:14px; }
@keyframes v2-settle{ from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:translateY(0); } }
.web-v2 .hero-copy{ animation:v2-settle 600ms var(--ease) both; }
.web-v2 .hero-visual{ animation:v2-settle 800ms 60ms var(--ease) both; }
@media (min-width:1600px){.web-v2 .hero{ min-height:770px; }
.web-v2 .hero-visual{ margin-left:0; margin-right:-44px; }}
@media (max-width:1200px){.web-v2 .wrap{ width:calc(100% - 72px); }
.web-v2 .site-header{ gap:23px; height:90px; }
.web-v2 .brand{ font-size:18px; }
.web-v2 .brand img{ width:31px; }
.web-v2 .desktop-nav{ gap:16px; }
.web-v2 .desktop-nav a{ font-size:10px; }
.web-v2 .languages{ padding-left:14px; }
.web-v2 .languages button{ width:29px; }
.web-v2 .hero{ min-height:645px; grid-template-columns:46% 54%; }
.web-v2 h1{ font-size:5.0vw; }
.web-v2 .hero-visual{ margin-left:-3px; margin-right:-25px; }
.web-v2 .hero-copy{ padding:48px 0 50px; }
.web-v2 .hero-description{ font-size:12px; }
.web-v2 .hero-subtitle{ font-size:17px; }
.web-v2 .scroll-link{ margin-top:48px; }
.web-v2 .art-links{ margin-left:33px; margin-right:13px; width:calc(100% - 46px); }
.web-v2 .art-links a{ font-size:9px; gap:7px; padding:14px 9px; }
.web-v2 .product-art{ height:218px; }}
@media (max-width:960px){.web-v2 .site-header{ height:82px; }
.web-v2 .desktop-nav{ display:none; }
.web-v2 .languages{ margin-left:auto; }
.web-v2 .mobile-nav{ display:flex; gap:27px; padding:14px 0; border-bottom:1px solid var(--line); }
.web-v2 .mobile-nav a{ color:#bbc3c7; font-size:11px; padding:4px 0; }
.web-v2 .hero{ min-height:560px; grid-template-columns:48% 52%; }
.web-v2 .hero-copy{ padding:38px 0; }
.web-v2 h1{ font-size:5.05vw; line-height:1.1; }
.web-v2 .eyebrow{ font-size:8px; gap:8px; letter-spacing:1.5px; }
.web-v2 .hero-description{ max-width:315px; }
.web-v2 .hero-actions{ gap:9px; margin-top:23px; }
.web-v2 .button{ height:47px; font-size:11px; padding:0 15px; gap:13px; }
.web-v2 .hero-subtitle{ max-width:290px; margin-top:24px; }
.web-v2 .hero-description br{ display:none; }
.web-v2 .hero-description span:last-child::before{ content:' '; }
.web-v2 .scroll-link{ margin-top:36px; }
.web-v2 .art-frame{ margin-top:0; }
.web-v2 .art-links{ margin-left:20px; width:calc(100% - 27px); }
.web-v2 .art-links a{ font-size:8px; gap:5px; padding:14px 6px; }
.web-v2 .art-links .icon{ width:10px; height:10px; }
.web-v2 .product-grid{ gap:14px; }
.web-v2 .product-art{ height:192px; }
.web-v2 .product-info{ padding:18px 17px; }
.web-v2 .product-info h3{ font-size:18px; }
.web-v2 .product-info > p{ font-size:11px; min-height:59px; }
.web-v2 .section-description{ max-width:280px; font-size:12px; }
.web-v2 .mini-phone{ width:135px; top:24px; left:calc(50% - 40px); border-radius:22px; }}
@media (max-width:680px){.web-v2 .wrap{ width:calc(100% - 44px); }
.web-v2 .site-header{ height:79px; gap:8px; }
.web-v2 .brand{ font-size:18px; letter-spacing:-.7px; gap:8px; }
.web-v2 .brand img{ width:29px; height:25px; }
.web-v2 .languages{ padding-left:8px; gap:0; border:0; }
.web-v2 .languages button{ width:28px; height:35px; font-size:9px; }
.web-v2 .mobile-nav{ gap:26px; padding:11px 0; }
.web-v2 .mobile-nav a{ font-size:11px; padding:6px 0; }
.web-v2 .hero{ display:flex; flex-direction:column; min-height:0; width:100%; }
.web-v2 .hero-copy{ width:calc(100% - 44px); padding:38px 0 0; align-self:center; }
.web-v2 .eyebrow{ font-size:8px; letter-spacing:1.7px; gap:10px; }
.web-v2 h1{ font-size:clamp(41px,9vw,59px); margin-top:22px; line-height:1.06; letter-spacing:-.055em; }
.web-v2 h1 > span{ white-space:normal; }
.web-v2 .soft-title{ max-width:510px; }
.web-v2 .hero-subtitle{ font-size:16px; max-width:none; margin-top:24px; letter-spacing:-.5px; }
.web-v2 .hero-description{ font-size:12px; line-height:1.7; margin-top:12px; max-width:340px; }
.web-v2 .hero-description br{ display:initial; }
.web-v2 .hero-description span:last-child::before{ content:none; }
.web-v2 .hero-actions{ margin-top:24px; gap:10px; }
.web-v2 .button{ height:49px; padding-inline:18px; font-size:12px; border-radius:12px; gap:20px; }
.web-v2 .button .icon{ width:17px; height:17px; }
.web-v2 .scroll-link{ display:none; }
.web-v2 .hero-visual{ width:100%; margin:20px 0 0; display:block; }
.web-v2 .art-frame{ width:100%; aspect-ratio:783/702; margin:0; }
.web-v2 .hero-art{ object-position:center bottom; -webkit-mask-image:none; mask-image:none; }
.web-v2 .art-frame::before{ background:linear-gradient(0deg,var(--bg) 0%,transparent 17%,transparent 96%,var(--bg) 100%); }
.web-v2 .art-frame::after{ background:linear-gradient(90deg,var(--bg),transparent 7%,transparent 93%,var(--bg)); }
.web-v2 .art-links{ width:calc(100% - 44px); margin:0 auto 36px; border-radius:12px; }
.web-v2 .art-links a{ font-size:10px; padding:15px 10px; gap:7px; min-height:45px; }
.web-v2 .art-links .icon{ width:12px; height:12px; }
.web-v2 .apps-section{ padding-top:33px; }
.web-v2 .section-heading{ display:block; margin-bottom:25px; }
.web-v2 h2{ font-size:32px; letter-spacing:-1.4px; margin-top:14px; }
.web-v2 .section-description{ max-width:330px; margin-top:16px; font-size:12px; line-height:1.75; }
.web-v2 .product-grid{ grid-template-columns:1fr; gap:20px; }
.web-v2 .product-card{ border-radius:18px; }
.web-v2 .product-art{ height:clamp(200px,60vw,290px); }
.web-v2 .product-info{ padding:20px; }
.web-v2 .product-info h3{ font-size:23px; }
.web-v2 .product-info > p{ font-size:12px; min-height:0; max-width:290px; margin-top:9px; }
.web-v2 .product-link{ margin-top:20px; font-size:11px; }
.web-v2 .mini-phone{ width:170px; top:25px; left:calc(50% - 45px); border-radius:26px; }
.web-v2 .next-project{ gap:14px; margin-top:28px; padding:24px 0; }
.web-v2 .train-mark{ width:43px; height:46px; flex-shrink:0; border-radius:13px; }
.web-v2 .next-project > p{ display:none; }
.web-v2 .next-arrow{ margin-left:auto; margin-right:3px; }
.web-v2 .next-title h3{ font-size:15px; }
.web-v2 .upcoming{ font-size:8px; }
.web-v2 .site-footer{ min-height:160px; flex-wrap:wrap; padding-block:27px; gap:20px; }
.web-v2 .footer-brand{ font-size:16px; }
.web-v2 .footer-brand img{ width:24px; }
.web-v2 .site-footer > p{ width:100%; order:3; font-size:9px; margin-top:2px; }
.web-v2 .support-link{ margin-left:auto; font-size:10px; }
.web-v2 .footer-separator{ padding-inline:7px; }}
@media (max-width:360px){.web-v2 .wrap,.web-v2 .hero-copy,.web-v2 .art-links{ width:calc(100% - 36px); }
.web-v2 .hero{ width:100%; }
.web-v2 .brand{ font-size:16px; gap:5px; }
.web-v2 .brand img{ width:25px; }
.web-v2 .languages button{ width:26px; }
.web-v2 h1{ font-size:39px; }
.web-v2 .hero-subtitle{ font-size:15px; }
.web-v2 .hero-description{ font-size:11px; }
.web-v2 .button{ padding-inline:14px; font-size:11px; gap:15px; }
.web-v2 .art-links a{ font-size:9px; padding-inline:7px; }}
@media (prefers-reduced-motion:reduce){.web-v2{ scroll-behavior:auto; }
.web-v2 *,.web-v2 *::before,.web-v2 *::after{ animation:none!important; transition:none!important; }
.web-v2 .product-card:hover,.web-v2 .button:hover,.web-v2 .product-card:hover .product-art>img{ transform:none; }}
.web-v2 .art-hotspots{ position:absolute; inset:0; z-index:4; width:100%; height:100%; overflow:visible; }
.web-v2 .art-hotspots a{ cursor:pointer; outline:none; }
.web-v2 .art-hotspots path{ fill:transparent; stroke:transparent; stroke-width:1.5; vector-effect:non-scaling-stroke; pointer-events:all; transition:fill 180ms,stroke 180ms; }
.web-v2 .art-hotspots a:hover path{ fill:rgba(255,255,255,.035); stroke:rgba(246,243,234,.45); }
.web-v2 .art-hotspots a:focus-visible path{ stroke:#f3eee1; stroke-width:3; fill:rgba(255,255,255,.04); }
.web-v2 .art-hotspots a:active path{ fill:rgba(5,8,10,.12); }
.web-v2 .art-links a.is-emphasized{ background:rgba(255,255,255,.06); color:#fff; }
.web-v2 .sr-only{ position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.web-v2 .hero-description{ font-size:15px; }
.web-v2 .product-info > p{ font-size:14px; line-height:1.7; min-height:48px; }
.web-v2 .product-link{ font-size:12px; }
.web-v2 .section-description{ font-size:14px; }
.web-v2 .art-links a{ font-size:11px; }
.web-v2 .site-footer > p,.web-v2 .support-link{ font-size:11px; }
@media (max-width:1200px){.web-v2 .hero-description{ font-size:13px; }
.web-v2 .product-info > p{ font-size:13px; }
.web-v2 .art-links a{ font-size:10px; }}
@media (max-width:960px) and (min-width:681px){.web-v2 .art-links a{ font-size:8px; }
.web-v2 .product-info > p{ font-size:12px; }
.web-v2 .product-link{ font-size:11px; }}
@media (max-width:680px){.web-v2 .languages button{ width:32px; height:44px; }
.web-v2 .mobile-nav a{ padding-block:11px; font-size:12px; }
.web-v2 .mobile-nav{ padding-block:5px; }
.web-v2 .hero-description{ font-size:13px; }
.web-v2 .section-description,.web-v2 .product-info > p{ font-size:14px; }
.web-v2 .product-info > p{ min-height:0; }
.web-v2 .art-links a{ font-size:10px; }
.web-v2 .site-footer > p{ font-size:10px; }}
@media (max-width:360px){.web-v2 .languages button{ width:29px; }
.web-v2 .hero-description{ font-size:12px; }
.web-v2 .art-links a{ font-size:9px; }
.web-v2 .site-footer > p{ font-size:9px; }}
@media (prefers-reduced-motion:reduce){.web-v2 .art-hotspots path{ transition:none; }}

.web-v2 {overflow:clip;min-height:100vh}
.web-v2 .hero-description.studio-intro {margin:15px 0 0;max-width:36ch}
.web-v2 .soft-title {color:var(--v2-title)}
.web-v2 :is(.eyebrow,.scroll-link,.section-description,.muted-title,.product-info>p,.next-project>p,.upcoming) {color:var(--muted)}
.web-v2 .art-links {border-color:var(--line)}
.web-v2 .art-links a {color:var(--ink);min-height:48px}
.web-v2 .art-links a>span:last-child {margin-left:auto}
.web-v2 .button-primary {background:var(--button-fill);border:1px solid var(--button-fill);color:var(--button-ink);box-shadow:none}
.web-v2 .button-secondary {color:var(--ink);border-color:var(--line);background:var(--glass)}
.web-v2 .button {white-space:normal;min-height:53px;height:auto;padding-block:13px;text-align:center}
.web-v2 .hero-actions {flex-wrap:wrap}
.web-v2 .product-card {display:flex;flex-direction:column;border:1px solid var(--line);background:linear-gradient(150deg,var(--glass),transparent);border-radius:21px;box-shadow:0 5px 15px var(--soft-shadow)}
.web-v2 .product-art {display:block;flex-shrink:0}
.web-v2 .product-info {flex:1;display:flex;flex-direction:column}
.web-v2 .product-info h3 {line-height:1.3}
.web-v2 .product-info>p {margin-bottom:18px;min-height:4.8em}
.web-v2 .product-arrow {color:var(--ink);border-color:var(--line);min-width:40px;min-height:40px}
.web-v2 .v2-card-actions {margin-top:auto;display:flex;align-items:center;flex-wrap:wrap;gap:4px 15px}
.web-v2 .product-link.studio-button {margin:0;padding:0;min-height:44px;background:none;border:0;border-radius:0;box-shadow:none;font-size:13px;font-weight:550;color:var(--ink);gap:10px}
.web-v2 .v2-secondary {font-size:12px;min-height:44px;display:inline-flex;align-items:center;text-decoration:underline;text-underline-offset:4px;color:var(--muted)}
.web-v2 .v2-status {font-size:11px;color:var(--muted);margin-top:14px}
.web-v2 .v2-note {font-size:11px;line-height:1.6;color:var(--muted);margin-top:4px}
.web-v2 .product-card:focus-within {border-color:var(--accent)}
.web-v2 .next-project {display:flex;flex-direction:row;border-block:1px solid var(--line);border-radius:0;overflow:visible}
.web-v2 .next-title .studio-button {padding:0;min-height:36px;background:none;color:var(--ink);border:0;box-shadow:none;font-size:17px;letter-spacing:-.4px}
.web-v2 .train-mark {color:var(--ink);border-color:var(--line)}
.web-v2 .next-arrow {min-width:44px;min-height:44px;display:grid;place-items:center}
.web-v2 .v2-project {display:grid;grid-template-columns:1fr 1.2fr;gap:40px 80px;padding-block:100px}
.web-v2 .v2-project h2 {font-size:clamp(36px,3.7vw,54px);line-height:1.1}
.web-v2 .v2-project-copy {padding-top:32px}
.web-v2 .v2-project-copy p {color:var(--muted);font-size:16px;line-height:1.85}
.web-v2 .v2-project-copy p+p {margin-top:20px}
.web-v2 .v2-principles {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:38px;grid-column:1/-1;margin-top:18px}
.web-v2 .v2-principles article {border-top:1px solid var(--line);padding-top:24px}
.web-v2 .v2-principles article>span {color:var(--v2-title);font-size:12px}
.web-v2 .v2-principles h3 {font-size:20px;font-weight:500;letter-spacing:-.5px;margin:18px 0 12px}
.web-v2 .v2-principles p {font-size:14px;line-height:1.8;color:var(--muted)}
.web-v2 .v2-ai {display:flex;align-items:center;justify-content:space-between;gap:40px;padding:42px;border:1px solid var(--line);border-radius:22px;background:linear-gradient(120deg,var(--glass),transparent)}
.web-v2 .v2-ai h2 {font-size:clamp(28px,3vw,40px)}
.web-v2 .v2-ai p:not(.eyebrow) {margin-top:18px;color:var(--muted);font-size:15px;max-width:55ch;line-height:1.7}
.web-v2 .v2-ai .button {flex-shrink:0}
.web-v2 .v2-care {padding-block:100px;display:grid;grid-template-columns:1fr 1.2fr;gap:80px}
.web-v2 .v2-care p:not(.eyebrow) {color:var(--muted);font-size:16px;line-height:1.8;max-width:50ch;margin-bottom:24px}
.web-v2 .studio-footer h2 {font-size:13px;line-height:1.5;letter-spacing:0;margin:0 0 18px;font-weight:600}
.web-v2 .studio-footer p {color:var(--muted)}
.web-v2 .studio-footer .gallery-brand {display:block}
.web-v2 :is(a,button,select,summary):focus-visible {outline:2px solid var(--ink);outline-offset:5px}
.web-v2 .skip-link {color:var(--paper)}
@media(min-width:1600px) {.web-v2 .hero {min-height:740px}}
@media(max-width:1250px) {
 .studio-header>.studio-width {width:calc(100% - 48px);gap:18px;flex-wrap:wrap;padding-block:18px;min-height:90px}
 .studio-desktop-nav {order:3;width:100%;justify-content:space-between;gap:15px;border-top:1px solid var(--line);padding-top:12px}
 .studio-header .language-switch {margin-left:auto}
}
@media(max-width:820px) {
 .studio-desktop-nav {display:none}
 .studio-header>.studio-width {width:calc(100% - 40px);padding-block:14px;gap:10px}
 .studio-header .gallery-brand:has(.brand-logo) {width:180px}
 .studio-mobile-navigation {width:100%;display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:10px}
 .studio-mobile-navigation .studio-priority-link {display:inline-flex;align-items:center;gap:10px}
 .web-v2 .v2-project,.web-v2 .v2-care {grid-template-columns:1fr;gap:26px;padding-block:64px}
 .web-v2 .v2-project-copy {padding-top:0}
 .web-v2 .v2-principles {grid-template-columns:1fr;gap:30px;margin-top:8px}
 .web-v2 .v2-ai {flex-direction:column;align-items:flex-start;padding:30px;gap:25px}
 .web-v2 .v2-care h2 {font-size:36px}
}
@media(max-width:680px) {
 .web-v2 .hero {overflow:visible}
 .web-v2 .hero-copy {padding-top:36px}
 .web-v2 .hero-visual {margin-top:24px}
 .web-v2 .hero-description.studio-intro {max-width:38ch}
 .web-v2 .product-info>p {min-height:0}
 .web-v2 .v2-project-copy p,.web-v2 .v2-care p:not(.eyebrow) {font-size:15px}
 .web-v2 .v2-ai {padding:26px}
}
@media(max-width:380px) {
 .studio-header .gallery-brand:has(.brand-logo) {width:156px}
 .studio-header .language-switch button {min-width:34px;padding:6px 3px;gap:3px;font-size:10px}
 .studio-header .language-flag {width:14px}
 .web-v2 .hero h1 {font-size:36px}
}
@media(prefers-reduced-motion:reduce) {
 .web-v2 .mini-phone,.web-v2 .product-card,.web-v2 .button {transition:none!important}
 .web-v2 .product-card:hover .mini-phone {transform:rotate(11deg)}
 .web-v2 .product-card:hover,.web-v2 .button:hover {transform:none}
}
@media(prefers-reduced-transparency:reduce),(prefers-contrast:more) {
 .web-v2 .product-card,.web-v2 .v2-ai,.web-v2 .art-links {background:var(--paper-deep);backdrop-filter:none;border-color:var(--ink)}
}

.web-v2 .gallery-brand img.brand-logo {width:100%;height:auto;object-fit:contain}
.web-v2 .next-title .v2-note {display:block;max-width:40ch}

/* Reset only prototype class collisions with the existing base stylesheet. */
.web-v2 .hero {padding:0;gap:0}
.web-v2 .hero-actions {flex-direction:row;align-items:center;justify-content:flex-start}
.web-v2 .eyebrow>span {background:none;border-radius:0;width:auto;height:auto;display:inline}
.web-v2 .eyebrow>.tiny-line {display:block;width:23px;height:1px;background:var(--v2-title)}
.web-v2 .eyebrow>.section-index {width:22px}
.web-v2 .eyebrow {margin-bottom:0}

/* Support pages share V2 surfaces, warm accents and controls. Service states retain semantic colors. */
.policy-shell:has(.support-form-section) {
 --control-line:color-mix(in srgb,var(--muted) 58%,var(--line));
 background:var(--paper);color:var(--ink);
}
.policy-shell:has(.support-form-section) :is(.contact-hero,.policy-hero) h1 em,
.train-support .contact-hero h1>span:last-child {color:var(--v2-title)}
.policy-shell:has(.support-form-section) :is(.contact-hero,.policy-hero) .eyebrow,
.support-form-heading .eyebrow {color:var(--brand-bright)}
.policy-shell:has(.support-form-section) :is(.contact-references,.policy-summary,.policy-content,.policy-footer) a {color:var(--accent-deep)}
.support-form-section {background:var(--white);border-color:var(--line);color:var(--ink)}
.support-fields :is(input,select,textarea) {background-color:var(--paper);color:var(--ink);border-color:var(--control-line)}
.support-fields :is(input,select,textarea):focus {outline-color:var(--brand-bright)}
.support-fields [aria-invalid="true"] {border-color:var(--error-ink)}
.support-form-section .button-primary {background:var(--button-fill);color:var(--button-ink);border:1px solid var(--line);box-shadow:0 5px 15px var(--soft-shadow)}
.support-form-section .button-primary:hover {background:var(--button-fill);color:var(--button-ink);box-shadow:0 8px 20px var(--soft-shadow)}
.support-form-section .language-switch {background:var(--paper-deep);border:1px solid var(--line)}
.support-form-section .language-switch button {color:var(--muted);background:transparent}
.support-form-section .language-switch button.active {background:var(--white);color:var(--ink);box-shadow:inset 0 -2px var(--brand-bright)}
.support-form-section .text-link,.support-form-section .form-privacy-note a {color:var(--accent-deep)}

/* Creator Codex. PROJECT privacy presentation; uses shared light/dark tokens. */
.privacy-promise {display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:42px 60px;padding-block:88px;border-top:1px solid var(--line);color:var(--ink)}
.privacy-promise-heading .eyebrow {color:var(--brand-bright);margin:0 0 24px}
.privacy-promise-heading h2 {font-size:clamp(36px,4.4vw,64px);line-height:1.06;letter-spacing:-.055em;font-weight:550;margin:0}
.privacy-promise-heading h2>span:last-child {color:var(--v2-title)}
.privacy-promise-intro {font-size:18px;line-height:1.65;max-width:45ch;color:var(--muted);margin-top:24px!important}
.privacy-midnight {align-self:center;padding:28px 0 28px 36px;border-left:1px solid var(--line)}
.privacy-midnight-time {display:block;font-size:clamp(72px,9vw,132px);font-weight:300;line-height:1.05;letter-spacing:-.07em;font-variant-numeric:tabular-nums;color:var(--v2-title)}
.privacy-midnight p {font-size:20px;letter-spacing:-.035em;margin:16px 0 8px!important}
.privacy-midnight small {display:block;font-size:12px;line-height:1.65;color:var(--muted)}
.privacy-promise-points {grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px}
.privacy-promise-points article {border-top:1px solid var(--line);padding-top:22px}
.privacy-promise-points h3 {font-size:18px;line-height:1.35;letter-spacing:-.025em;margin:0 0 12px;font-weight:550}
.privacy-promise-points p {color:var(--muted);font-size:14px;line-height:1.8;margin:0}
.privacy-promise-detail {grid-column:1/-1;max-width:1000px}
.privacy-promise-detail>p {font-size:12px;line-height:1.8;color:var(--muted);margin:0}
.privacy-promise-detail nav {display:flex;flex-wrap:wrap;gap:12px 32px;margin-top:20px}
.privacy-promise-detail a {display:inline-flex;align-items:center;gap:10px;min-height:44px;color:var(--accent-deep);font-size:13px;text-decoration:underline;text-underline-offset:5px}
.privacy-promise-detail a:focus-visible {outline:2px solid var(--ink);outline-offset:5px}
@media(max-width:820px) {
 .privacy-promise {grid-template-columns:1fr;gap:32px;padding-block:60px}
 .privacy-midnight {border-left:0;padding:0}
 .privacy-promise-points {grid-template-columns:1fr;gap:24px}
 .privacy-midnight-time {font-size:84px}
}

/* Creator Codex. PROJECT four-app hero; real train prototype screen, no generated UI. */
.web-v2 .art-frame-four .hero-original {position:absolute;left:0;bottom:5%;width:83%;height:83%;-webkit-mask-image:linear-gradient(0deg,transparent,black 7%,black 94%,transparent);mask-image:linear-gradient(0deg,transparent,black 7%,black 94%,transparent)}
.web-v2 .hero-train-phone {position:absolute;z-index:3;right:2.3%;bottom:9%;width:26%;padding:1%;border:2px solid #a8c9d5;border-radius:18% / 8%;background:linear-gradient(125deg,#b6d4dd,#6997a9 60%,#395c6d);box-shadow:3px 3px 0 #243944,7px 8px 0 #476a78,13px 28px 30px #0008,inset 1px 1px 2px #f2ffff;transform:rotate(6deg);color:#092633;text-decoration:none;transition:filter 220ms,box-shadow 220ms}
.web-v2 .hero-train-phone>img {display:block;width:100%;height:auto;border-radius:16% / 7%;background:#091420}
.web-v2 .hero-train-caption {display:block;position:relative;padding:7% 6% 9%;min-height:48px;text-align:left}
.web-v2 .hero-train-caption strong {display:block;font-size:clamp(10px,1.25vw,19px);line-height:1.12;letter-spacing:-.04em;padding-right:17%}
.web-v2 .hero-train-caption small {display:block;font-size:clamp(7px,.75vw,11px);line-height:1.3;margin-top:4%;padding-right:15%;color:#173c49}
.web-v2 .hero-train-arrow {position:absolute;right:2%;bottom:18%;width:22%;aspect-ratio:1;display:grid;place-items:center;border-radius:50%;background:#112b39;color:#f1f8fb;font-size:clamp(11px,1.4vw,21px)}
.web-v2 .hero-train-phone:hover {filter:brightness(1.1);box-shadow:3px 3px 0 #243944,7px 8px 0 #476a78,12px 20px 40px #3aa7d34d,inset 1px 1px 2px #fff}
.web-v2 .hero-train-phone:focus-visible {outline:3px solid var(--ink);outline-offset:8px}
.web-v2 .art-links-four {grid-template-columns:repeat(4,minmax(0,1fr));width:calc(100% - 34px);margin-inline:auto}
.web-v2 .art-links-four .train {--accent:#8ab9cf}
@media(max-width:680px) {
 .web-v2 .art-links-four {grid-template-columns:repeat(2,minmax(0,1fr));width:calc(100% - 20px)}
 .web-v2 .art-links-four a {font-size:11px;border-radius:0}
 .web-v2 .art-links-four a:nth-child(3) {border-left:0}
 .web-v2 .art-links-four a:nth-child(n+3) {border-top:1px solid var(--line)}
 .web-v2 .hero-train-caption {min-height:36px}
 .web-v2 .hero-train-caption strong {font-size:clamp(10px,2.9vw,15px)}
 .web-v2 .hero-train-caption small {font-size:clamp(7px,1.8vw,10px)}
}
@media(prefers-reduced-motion:reduce) {.web-v2 .hero-train-phone {transition:none}}

/* Creator: Codex on Mini M1, 2026-10-30. PROJECT.
Purpose: owner-requested futuristic AI interface; no tracking, new dependencies or service changes.
Retain until explicit owner authorization. */
.studio-ai.futuristic-ai {
 --ai-bg:var(--paper);--ai-panel:var(--white);--ai-ink:var(--ink);--ai-muted:var(--muted);
 --ai-line:var(--line);--ai-cyan:var(--brand-bright);--ai-violet:var(--v2-title);--ai-field:var(--paper-deep);
 position:relative;isolation:isolate;background:var(--ai-bg);color:var(--ai-ink);
 font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.futuristic-ai::before {
 content:"";position:absolute;z-index:-1;pointer-events:none;inset:85px 0 auto;height:1200px;
 background:radial-gradient(ellipse at 85% 24%,var(--hero-wash),transparent 65%);opacity:.35;
 mask-image:linear-gradient(#000 75%,transparent);
}
.futuristic-ai .studio-header {background:color-mix(in srgb,var(--ai-bg) 94%,transparent);z-index:5}
.futuristic-ai .studio-footer {background:var(--ai-bg)}
.futuristic-ai .ai-stage {display:grid;grid-template-columns:1.13fr 1fr;align-items:center;gap:12px;min-height:620px;position:relative;padding-block:38px 55px;max-width:1240px}
.futuristic-ai .ai-intro {padding:0;text-align:left;z-index:2;min-width:0}
.futuristic-ai .studio-kicker {display:flex;align-items:center;gap:11px;font-size:10px;font-weight:550;letter-spacing:.16em;color:var(--ai-cyan);margin:0 0 25px;text-transform:uppercase}
.ai-signal {display:block;width:7px;height:7px;border:1px solid var(--ai-cyan);box-shadow:0 0 12px #4ecfff70;transform:rotate(45deg);flex-shrink:0}
.futuristic-ai .ai-intro h1 {font-size:clamp(46px,6.3vw,83px);font-weight:500;line-height:1.04;letter-spacing:-.065em;margin:0 0 27px;color:var(--ai-ink)}
.futuristic-ai .ai-intro h1 span {color:var(--ai-cyan);background:linear-gradient(110deg,var(--ai-cyan) 10%,var(--ai-violet) 90%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.futuristic-ai .ai-lead {max-width:440px;margin:0;font-size:17px;line-height:1.7;color:var(--ai-muted);text-wrap:pretty}
.ai-hero-actions {display:flex;align-items:center;flex-wrap:wrap;gap:22px;margin-top:32px}
.ai-start {display:inline-flex;align-items:center;gap:29px;padding:15px 22px;min-height:51px;border-radius:10px;background:linear-gradient(120deg,#c1f6ff,#bbbcff);color:#101b35;font-size:14px;font-weight:650;text-decoration:none;box-shadow:0 7px 28px #4aa5ff1a}
.ai-start span {font-size:21px;font-weight:400}
.futuristic-ai .ai-limit {margin:0;padding:0;display:flex;flex-direction:column;align-items:flex-start;gap:5px;border:0;border-radius:0;font-size:11px;letter-spacing:.025em;color:var(--ai-muted)}
.futuristic-ai .ai-limit>span {display:block}
.ai-visual {position:relative;height:500px;isolation:isolate;display:grid;place-items:center;min-width:0;pointer-events:none}
.ai-neural-haze {position:absolute;inset:8%;background:radial-gradient(ellipse at 30% 35%,#2ccaff17,transparent 55%),radial-gradient(ellipse at 72% 65%,#9273ff20,transparent 60%);filter:blur(25px)}
.ai-neural-network {display:block;width:min(100%,510px);height:auto;overflow:visible}
.ai-neural-data {transform-origin:250px 250px}
.ai-neural-dense {filter:drop-shadow(0 0 16px #33b8ff28)}
.ai-neural-impulse {stroke-dasharray:7 93;stroke-dashoffset:100;opacity:0}
.ai-neural-node {transform-box:fill-box;transform-origin:center}
:root[data-theme="light"] .ai-neural-network {filter:drop-shadow(0 1px 1px #24569920)}
:root[data-theme="light"] .ai-neural-mesh>path:not(.ai-neural-impulse) {stroke:#5778bd;opacity:.4}
:root[data-theme="light"] .ai-neural-node>circle:not([fill^="url"]) {fill:#4169b1}
.futuristic-ai .ai-workspace {max-width:1120px;border:1px solid var(--ai-line);border-radius:24px;background:var(--ai-panel);box-shadow:0 32px 90px #00000018,0 0 80px #3b6cff05;position:relative;isolation:isolate;overflow:hidden}
.futuristic-ai .ai-workspace::before {content:"";height:1px;position:absolute;top:0;left:5%;width:90%;background:linear-gradient(90deg,transparent,#7be4ff,#a391ff,transparent);z-index:2}
.ai-workspace-bar {display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 30px;border-bottom:1px solid var(--ai-line);background:linear-gradient(100deg,#53aaff09,#8d6fff07)}
.ai-workspace-name {display:flex;align-items:center;gap:10px;letter-spacing:.15em;font-size:10px;font-weight:650;color:var(--ai-ink)}
.ai-workspace-symbol {font-size:23px;line-height:1;color:var(--ai-cyan)}
.ai-session-state {display:inline-flex;align-items:center;gap:8px;color:var(--ai-muted);font-size:11px;text-align:right}
.ai-session-state i {width:5px;height:5px;flex-shrink:0;border-radius:50%;background:#8c98ac}
.ai-session-state[data-state=ready] i {background:#66d9c1;box-shadow:0 0 10px #66d9c160}
.ai-session-state[data-state=busy] i {background:var(--ai-cyan)}
.ai-session-state[data-state=unavailable] i,.ai-session-state[data-state=blocked] i {background:#e5b078}
.futuristic-ai .ai-conversation {padding:30px}
.ai-empty-heading {display:flex;align-items:center;gap:10px;margin-bottom:24px}
.futuristic-ai .ai-mark {font-size:21px;text-align:left;color:var(--ai-violet)}
.futuristic-ai .ai-empty h2 {font-size:22px;line-height:1.3;font-weight:450;letter-spacing:-.035em;text-align:left;margin:0}
.futuristic-ai .ai-suggestions {grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.futuristic-ai .ai-suggestions button {position:relative;display:grid;grid-template-columns:1fr 16px;align-content:start;align-items:start;gap:17px 9px;min-height:150px;padding:19px 17px;border:1px solid var(--ai-line);border-radius:12px;background:linear-gradient(135deg,#5eb4ff08,#887aff06);font-size:13px;font-weight:450;line-height:1.55;color:var(--ai-ink)}
.ai-suggestion-number {grid-column:1/-1;color:var(--ai-cyan);font-size:10px;letter-spacing:.08em}
.futuristic-ai .ai-suggestions svg {width:14px;margin-top:3px;color:var(--ai-cyan)}
.futuristic-ai .ai-suggestions button:hover {border-color:var(--ai-cyan);background:linear-gradient(135deg,#5eb4ff13,#887aff13);box-shadow:0 8px 25px #597dff10}
.futuristic-ai .ai-composer {position:relative;padding:28px 30px 30px;border-color:var(--ai-line);background:linear-gradient(130deg,#5cb3ff04,transparent)}
.futuristic-ai .ai-composer-heading {font-size:13px;margin-bottom:14px}
.futuristic-ai .ai-composer-heading label {font-weight:550}
.futuristic-ai .ai-composer-heading>span {font-size:11px;color:var(--ai-muted)}
.futuristic-ai .ai-composer textarea {border:1px solid var(--ai-line);background:var(--ai-field);border-radius:13px;padding:21px;min-height:133px;font-size:17px;color:var(--ai-ink);box-shadow:inset 0 1px 8px #00000008}
.futuristic-ai .ai-composer textarea:focus {border-color:var(--ai-cyan);box-shadow:0 0 0 3px #46beff12,0 0 25px #46beff08}
.futuristic-ai .ai-question-hint {font-size:11px;line-height:1.7;margin-top:13px;color:var(--ai-muted)}
.futuristic-ai .ai-composer-actions {margin-top:22px}
.futuristic-ai .ai-composer .studio-button {background:linear-gradient(120deg,#b7f2ff,#b9bfff);color:#111b37;border-radius:10px;border:1px solid #bbe4ff;min-height:48px;padding:12px 20px;font-size:13px;font-weight:650;box-shadow:0 5px 25px #6c9fff14}
.futuristic-ai button:disabled {opacity:.5;box-shadow:none;transform:none;cursor:not-allowed}
.futuristic-ai .ai-error {color:var(--error-ink);border:1px solid #d0a66c45;background:#d0a66c08;border-radius:10px}
.futuristic-ai .ai-question {border-color:var(--ai-line);background:linear-gradient(115deg,#6385ec16,#9178ec10);padding:15px 21px;max-width:83%;font-size:15px}
.futuristic-ai .ai-answer {position:relative;border-left:1px solid var(--ai-line);padding:4px 0 6px 24px}
.futuristic-ai .ai-answer::before {content:"";position:absolute;left:-3px;top:8px;width:5px;height:5px;border-radius:50%;background:var(--ai-cyan);box-shadow:0 0 10px #7be4ff50}
.futuristic-ai .ai-answer-brand {font-size:10px;letter-spacing:.16em;color:var(--ai-cyan)}
.futuristic-ai .ai-answer>p {font-size:17px;line-height:1.85;margin-block:17px 24px;max-width:78ch}
.futuristic-ai .ai-answer nav a {border-color:var(--ai-line);background:#688dff07;color:var(--ai-cyan);font-size:12px;min-height:36px;border-radius:8px}
.futuristic-ai .ai-answer small {color:var(--ai-muted)}
.futuristic-ai .ai-footnotes {max-width:1120px;gap:70px;padding-top:38px;padding-bottom:40px}
.futuristic-ai .ai-footnotes h2 {font-size:15px;font-weight:550;color:var(--ai-ink)}
.futuristic-ai .ai-footnotes p,.futuristic-ai .ai-policy p {font-size:12px;line-height:1.85;color:var(--ai-muted)}
.futuristic-ai .ai-footnotes a {color:var(--ai-cyan)}
.futuristic-ai .ai-footnotes aside {border-color:var(--ai-line)}
.futuristic-ai .ai-policy {max-width:1120px}
.futuristic-ai .ai-policy summary {border-color:var(--ai-line);color:var(--ai-muted);min-height:48px}
.futuristic-ai :is(button,a,select,summary):focus-visible {outline:2px solid var(--ai-cyan);outline-offset:4px}
@keyframes ai-neural-data-flow {to{transform:rotate(360deg)}}
@keyframes ai-neural-transmit {0%{stroke-dashoffset:105;opacity:0}12%{opacity:.9}70%{opacity:.9}90%,100%{stroke-dashoffset:-7;opacity:0}}
@keyframes ai-neural-pulse {0%,100%{opacity:.55}50%{opacity:1}}
@keyframes ai-neural-drift {0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-9px) rotate(1deg)}}
@media(prefers-reduced-motion:no-preference) {
 .ai-neural-network {animation:ai-neural-drift 22s ease-in-out infinite}
 .ai-neural-data {animation:ai-neural-data-flow 100s linear infinite}
 .ai-neural-impulse {animation:ai-neural-transmit 5s linear infinite}
 .ai-neural-node {animation:ai-neural-pulse 4s ease-in-out infinite}
 .futuristic-ai[data-busy=true] .ai-neural-impulse {animation-duration:1.8s!important}
 .futuristic-ai[data-busy=true] .ai-neural-node {animation-duration:1.5s}
 .ai-start {transition:transform .2s,box-shadow .2s}
 .ai-start:hover {transform:translateY(-2px);box-shadow:0 8px 30px #699eff30}
 .futuristic-ai .ai-suggestions button {transition:transform .2s,border-color .2s,background .2s}
}
@media(max-width:1000px) {
 .futuristic-ai .ai-stage {min-height:530px;grid-template-columns:1.1fr 1fr;gap:0}
 .futuristic-ai .ai-intro h1 {font-size:clamp(45px,6.8vw,67px)}
 .ai-visual {height:400px}
 .futuristic-ai .ai-lead {font-size:15px}
 .futuristic-ai .ai-suggestions {grid-template-columns:repeat(2,minmax(0,1fr))}
 .futuristic-ai .ai-suggestions button {min-height:120px}
 .ai-hero-actions {gap:17px}
}
@media(max-width:700px) {
 .futuristic-ai .studio-width {width:calc(100% - 40px)}
 .futuristic-ai .ai-stage {display:flex;flex-direction:column;align-items:stretch;min-height:0;padding:42px 0 20px;gap:18px}
 .futuristic-ai .ai-intro {padding:0}
 .futuristic-ai .studio-kicker {font-size:9px;letter-spacing:.12em;margin-bottom:22px}
 .futuristic-ai .ai-intro h1 {font-size:clamp(43px,11.4vw,70px);line-height:1.04;margin-bottom:22px}
 .futuristic-ai .ai-lead {max-width:42ch;font-size:15px;line-height:1.75}
 .ai-hero-actions {margin-top:26px;gap:18px}
 .ai-start {padding:13px 18px;gap:22px;min-height:48px;font-size:13px}
 .futuristic-ai .ai-limit {font-size:10px}
 .ai-visual {height:290px;align-self:center;width:min(100%,360px)}
 .ai-neural-network {width:300px;max-width:100%}
 .futuristic-ai .ai-workspace {width:calc(100% - 28px);border-radius:18px}
 .ai-workspace-bar {padding:17px 18px;gap:12px;align-items:flex-start}
 .ai-workspace-name {font-size:9px;letter-spacing:.12em;white-space:nowrap}
 .ai-session-state {font-size:10px;line-height:1.5;max-width:155px}
 .ai-session-state i {margin-top:4px}
 .futuristic-ai .ai-conversation {padding:25px 18px}
 .futuristic-ai .ai-empty h2 {font-size:21px}
 .ai-empty-heading {margin-bottom:20px}
 .futuristic-ai .ai-suggestions {gap:9px}
 .futuristic-ai .ai-suggestions button {min-height:144px;padding:15px 12px;font-size:12px;gap:14px 5px}
 .futuristic-ai .ai-composer {padding:23px 18px}
 .futuristic-ai .ai-composer textarea {font-size:16px;min-height:145px;padding:17px}
 .futuristic-ai .ai-composer-heading {gap:8px}
 .futuristic-ai .ai-composer .studio-button {font-size:12px;padding:12px 14px;gap:12px;max-width:82%}
 .futuristic-ai .ai-answer {padding-left:16px}
 .futuristic-ai .ai-answer>p {font-size:16px;line-height:1.8}
 .futuristic-ai .ai-question {max-width:93%;padding:13px 16px}
 .futuristic-ai .ai-footnotes {gap:25px;padding-top:29px}
}
@media(max-width:360px) {
 .futuristic-ai .ai-intro h1 {font-size:40px}
 .futuristic-ai .ai-limit {font-size:9px}
 .ai-hero-actions {gap:13px}
 .ai-start {padding-inline:15px;gap:15px}
 .ai-workspace-bar {flex-wrap:wrap;gap:10px}
 .ai-session-state {max-width:none}
 .futuristic-ai .ai-suggestions {grid-template-columns:1fr}
 .futuristic-ai .ai-suggestions button {min-height:90px;grid-template-columns:20px 1fr 16px;gap:12px}
 .ai-suggestion-number {grid-column:auto}
}
@media(prefers-reduced-motion:reduce) {
 .futuristic-ai *,.futuristic-ai *::before,.futuristic-ai *::after {animation:none!important;transition:none!important;scroll-behavior:auto!important}
 .futuristic-ai .ai-suggestions button:hover,.ai-start:hover {transform:none}
}
@media(prefers-contrast:more),(prefers-reduced-transparency:reduce) {
 .futuristic-ai .ai-workspace,.futuristic-ai .ai-composer textarea {background:var(--ai-bg);border-color:var(--ai-ink);box-shadow:none}
 .ai-neural-haze {display:none}
}
@media(forced-colors:active) {
 .ai-visual {display:none}
 .futuristic-ai .ai-stage {grid-template-columns:1fr;min-height:0}
 .futuristic-ai .ai-intro h1 span {-webkit-text-fill-color:CanvasText;color:CanvasText;background:none}
 .futuristic-ai .ai-workspace,.futuristic-ai .ai-suggestions button,.ai-start {border:1px solid ButtonText}
}

/* Interaction feedback: driven by focus, pending request and newly mounted answers. */
.ai-reply-wave {opacity:0;transform-origin:250px 250px}
.ai-interaction-trace {position:absolute;top:-1px;left:30px;right:30px;height:2px;display:flex;align-items:center;justify-content:center;gap:4px;pointer-events:none;opacity:0}
.ai-interaction-trace span {width:4px;height:3px;border-radius:3px;background:var(--ai-cyan);box-shadow:0 0 8px #75dcff55}
.futuristic-ai[data-engaged=true] .ai-interaction-trace,.futuristic-ai[data-busy=true] .ai-interaction-trace {opacity:.8}
.futuristic-ai[data-engaged=true] .ai-neural-haze {opacity:1;background:radial-gradient(ellipse at 35% 35%,#2ccaff28,transparent 55%),radial-gradient(ellipse at 65% 65%,#9273ff30,transparent 60%)}
.futuristic-ai[data-engaged=true] .ai-workspace {border-color:color-mix(in srgb,var(--ai-cyan) 55%,var(--ai-line))}
.ai-thinking {display:flex;align-items:center;gap:6px;min-height:26px;padding:8px 0 16px}
.ai-thinking span {height:5px;width:5px;border-radius:50%;background:var(--ai-cyan);opacity:.65}
.ai-thinking span:nth-child(2) {animation-delay:.18s}
.ai-thinking span:nth-child(3) {animation-delay:.36s}
@keyframes ai-interaction-bars {0%,100%{transform:scaleY(1);opacity:.45}50%{transform:scaleY(3.5);opacity:1}}
@keyframes ai-reply-arrive {from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}
@keyframes ai-reply-expand {0%{opacity:0;transform:scale(.8)}20%{opacity:.6}100%{opacity:0;transform:scale(4.8)}}
@keyframes ai-thinking-flow {0%,100%{opacity:.35;transform:translateY(0)}50%{opacity:1;transform:translateY(-3px)}}
@media(prefers-reduced-motion:no-preference) {
 .futuristic-ai .ai-workspace {transition:border-color .3s,box-shadow .3s}
 .ai-neural-haze,.ai-interaction-trace {transition:opacity .3s}
 .futuristic-ai[data-composing=true] .ai-neural-impulse {animation-duration:2.8s!important}
 .futuristic-ai[data-busy=true] .ai-neural-impulse {animation-duration:1.8s!important}
 .futuristic-ai[data-engaged=true] .ai-interaction-trace span {animation:ai-interaction-bars 1.7s ease-in-out infinite}
 .futuristic-ai[data-busy=true] .ai-interaction-trace span {animation:ai-interaction-bars .9s ease-in-out infinite}
 .ai-thinking span {animation:ai-thinking-flow 1.5s ease-in-out infinite}
 .ai-thinking span:nth-child(2) {animation-delay:.18s}
 .ai-thinking span:nth-child(3) {animation-delay:.36s}
 .ai-turn {animation:ai-reply-arrive .5s ease-out both}
 .ai-reply-wave {animation:ai-reply-expand 1.6s ease-out both}
}

/* Living center: decorative SVG only; no timers, storage or service changes. */
.ai-core-filaments,.ai-core-inner,.ai-core-heart,.ai-core-ripple,.ai-core-halo {transform-origin:250px 250px}
.ai-core-ripple {opacity:0}
.ai-core-heart {filter:drop-shadow(0 0 5px #8beeff);opacity:.8}
@keyframes ai-core-turn {to{transform:rotate(360deg)}}
@keyframes ai-core-heartbeat {0%,100%{transform:scale(.85);opacity:.65}50%{transform:scale(1.35);opacity:1}}
@keyframes ai-core-halo-breathe {0%,100%{transform:scale(.85);opacity:.55}50%{transform:scale(1.2);opacity:1}}
@keyframes ai-core-propagate {0%{transform:scale(.6);opacity:0}20%{opacity:.65}100%{transform:scale(6);opacity:0}}
@media(prefers-reduced-motion:no-preference) {
 .ai-core-filaments {animation:ai-core-turn 13s linear infinite}
 .ai-core-inner {animation:ai-core-turn 8s linear infinite reverse}
 .ai-core-heart {animation:ai-core-heartbeat 3s ease-in-out infinite}
 .ai-core-halo {animation:ai-core-halo-breathe 4.5s ease-in-out infinite}
 .ai-core-ripple {animation:ai-core-propagate 4.8s ease-out infinite}
 .futuristic-ai[data-composing=true] .ai-core-filaments {animation-duration:8s}
 .futuristic-ai[data-composing=true] .ai-core-inner {animation-duration:5s}
 .futuristic-ai[data-busy=true] .ai-core-filaments {animation-duration:5s}
 .futuristic-ai[data-busy=true] .ai-core-inner {animation-duration:3.5s}
 .futuristic-ai[data-busy=true] .ai-core-heart {animation-duration:1.8s}
 .futuristic-ai[data-busy=true] .ai-core-ripple {animation-duration:2.8s}
}

/* Layout trial: neural visualization follows the chat, retaining shared state. */
.futuristic-ai .ai-stage {display:block;min-height:0;max-width:1120px;padding-block:65px 42px}
.futuristic-ai .ai-intro {max-width:900px}
.futuristic-ai .ai-intro h1 {font-size:clamp(46px,5.4vw,76px)}
.futuristic-ai .ai-lead {max-width:590px}
.futuristic-ai .ai-hero-actions {margin-top:25px}

@media(max-width:700px) {
 .futuristic-ai .ai-stage {padding-block:38px 30px}
 .futuristic-ai .ai-intro h1 {font-size:clamp(40px,10.8vw,68px)}
}
/* Neural network behind the glass; decorative and noninteractive. */
.futuristic-ai .ai-workspace {background:color-mix(in srgb,var(--ai-bg) 78%,transparent);overflow:hidden}
.ai-network-backdrop {position:absolute;inset:0;z-index:-1;display:grid;grid-template-columns:minmax(0,1fr);place-items:center;pointer-events:none;overflow:hidden;opacity:.66}
.ai-network-backdrop .ai-visual {width:min(95%,790px);height:auto;aspect-ratio:1;opacity:1}
.ai-network-backdrop .ai-neural-network {width:100%}
.ai-network-backdrop::after {content:"";position:absolute;inset:0;background:linear-gradient(180deg,var(--ai-bg),transparent 30%,transparent 78%,var(--ai-bg));opacity:.48}
.futuristic-ai .ai-workspace-bar {background:color-mix(in srgb,var(--ai-bg) 75%,transparent)}
.futuristic-ai .ai-suggestions button {background:color-mix(in srgb,var(--ai-bg) 65%,transparent)}
.futuristic-ai .ai-suggestions button:hover {background:color-mix(in srgb,var(--ai-bg) 78%,transparent)}
.futuristic-ai .ai-composer {background:color-mix(in srgb,var(--ai-bg) 17%,transparent)}
.futuristic-ai .ai-composer textarea {background:color-mix(in srgb,var(--ai-field) 72%,transparent)}
.futuristic-ai .ai-question {background:color-mix(in srgb,var(--ai-field) 86%,transparent)}
.futuristic-ai .ai-answer {background:color-mix(in srgb,var(--ai-bg) 76%,transparent);border-radius:0 12px 12px 0;padding-right:18px}
.futuristic-ai .ai-error {background:color-mix(in srgb,var(--ai-bg) 88%,transparent)}
@media(max-width:700px) {
 .ai-network-backdrop {opacity:.6}
 .ai-network-backdrop .ai-visual {width:650px;max-width:none;justify-self:center}
}
@media(prefers-reduced-transparency:reduce),(prefers-contrast:more),(forced-colors:active) {
 .ai-network-backdrop {display:none}
 .futuristic-ai .ai-workspace,.futuristic-ai .ai-suggestions button,.futuristic-ai .ai-composer textarea,.futuristic-ai .ai-answer {background:var(--ai-bg)}
}

/* Shared V2 palette for the interface; neural illustration retains its luminous colors. */
.futuristic-ai .studio-header {background:var(--paper)}
.futuristic-ai .ai-intro h1 span {background:none;color:var(--v2-title);-webkit-text-fill-color:var(--v2-title)}
.futuristic-ai .ai-start,.futuristic-ai .ai-composer .studio-button {background:var(--button-fill);color:var(--button-ink);border:1px solid var(--line);box-shadow:0 5px 15px var(--soft-shadow)}
.futuristic-ai .ai-start:hover {box-shadow:0 8px 20px var(--soft-shadow)}
.futuristic-ai .ai-workspace::before {background:linear-gradient(90deg,transparent,var(--brand-bright),transparent)}
.futuristic-ai .ai-signal {box-shadow:0 0 12px color-mix(in srgb,var(--brand-bright) 35%,transparent)}
.futuristic-ai .ai-composer textarea:focus {box-shadow:0 0 0 3px color-mix(in srgb,var(--brand-bright) 12%,transparent)}
.futuristic-ai .ai-answer nav a {background:var(--glass)}
.futuristic-ai .ai-suggestions button:hover {box-shadow:0 8px 25px var(--soft-shadow)}

.studio-ai.futuristic-ai .ai-answer-brand,.studio-ai.futuristic-ai .ai-footnotes a,.studio-ai.futuristic-ai .ai-answer nav a {color:var(--brand-bright)}

/* PROJECT: structured answer reading rhythm, same shared palette. */
.futuristic-ai .ai-answer-content {max-width:78ch;overflow-wrap:anywhere}
.futuristic-ai .ai-answer-content p,.futuristic-ai .ai-answer-content li {font-size:17px;line-height:1.8;white-space:pre-line}
.futuristic-ai .ai-answer-content p {margin:16px 0 22px}
.futuristic-ai .ai-answer-content h3 {font-size:19px;line-height:1.4;font-weight:650;letter-spacing:-.02em;color:var(--ai-text);margin:30px 0 12px}
.futuristic-ai .ai-answer-content ul,.futuristic-ai .ai-answer-content ol {padding-left:24px;margin:14px 0 22px}
.futuristic-ai .ai-answer-content li {padding-left:5px;margin:9px 0}
.futuristic-ai .ai-answer-content li::marker {color:var(--brand-bright)}
@media(max-width:600px){.futuristic-ai .ai-answer-content p,.futuristic-ai .ai-answer-content li{font-size:16px}.futuristic-ai .ai-answer-content h3{font-size:18px;margin-top:25px}}

/* Creator Codex. PROJECT isolated Labs proposal. No new tracking or services. */
.labs-shell{background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;overflow:clip}.labs-width{width:min(1440px,calc(100% - 96px));margin-inline:auto}.labs-header{min-height:108px;display:flex;align-items:center;justify-content:space-between;gap:32px;border-bottom:1px solid var(--line)}.labs-wordmark{display:flex;align-items:center;gap:14px;font-size:26px;font-weight:650;letter-spacing:-1.2px;text-decoration:none}.labs-wordmark-suffix{font-weight:350}.labs-sign{font-size:42px;position:relative;letter-spacing:-6px;line-height:1}.labs-sign>span{position:absolute;right:-7px;top:-8px;font-size:24px;color:var(--accent)}.labs-header nav{display:flex;gap:35px;margin-left:auto}.labs-header nav a{padding:12px 0;text-decoration:none;font-size:14px}.labs-header nav [aria-current]{border-bottom:1px solid var(--accent)}.labs-hero{padding-block:95px 76px}.labs-eyebrow{font-size:11px;letter-spacing:.18em;font-weight:550;text-transform:uppercase;color:var(--muted)}.labs-eyebrow>span{letter-spacing:.06em}.labs-hero h1{font-weight:500;font-size:clamp(65px,8.5vw,132px);line-height:1.04;letter-spacing:-.075em;margin:38px 0 42px;max-width:1100px}.labs-hero h1 em{font-style:normal;color:var(--accent)}.labs-hero-bottom{display:flex;align-items:end;justify-content:space-between;gap:50px}.labs-hero-bottom>p{max-width:590px;font-size:20px;line-height:1.65;color:var(--muted);margin:0}.labs-round-link{display:flex;align-items:center;gap:22px;white-space:nowrap;text-decoration:none;font-size:14px}.labs-round-link>span{display:grid;place-items:center;border:1px solid var(--line);width:48px;height:48px;border-radius:50%;font-size:22px}.labs-section-label{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:30px 0}.labs-section-label h2{font-size:16px;font-weight:450;margin:0}.labs-section-label>span{font-size:11px;color:var(--muted);letter-spacing:.15em}.labs-divisions{display:grid;grid-template-columns:1fr 1fr;gap:28px}.labs-division{display:block;color:inherit;text-decoration:none;border:1px solid var(--line);border-radius:22px;overflow:hidden;background:var(--glass);transition:transform .4s,box-shadow .4s,border-color .4s}.labs-division:hover,.labs-division:focus-visible{transform:translateY(-7px);border-color:var(--accent);box-shadow:0 24px 65px var(--soft-shadow)}.labs-division-art{height:330px;position:relative;overflow:hidden}.labs-division-art img{width:100%;height:100%;object-fit:cover;object-position:70% center;transition:transform .7s}.labs-division:hover img{transform:scale(1.025)}.labs-art-label{position:absolute;bottom:20px;left:28px;letter-spacing:.15em;font-size:10px;color:#fff;background:#101316b8;padding:7px 10px;border-radius:5px}.labs-division-copy{padding:32px}.labs-division h3{font-weight:450;letter-spacing:-.045em;font-size:clamp(28px,3vw,43px);line-height:1.13;margin:16px 0}.labs-division-copy>p:not(.labs-eyebrow){font-size:15px;line-height:1.75;color:var(--muted);max-width:430px;min-height:78px}.labs-text-link{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:14px;font-weight:550;margin-top:28px}.labs-web-art{display:grid;place-items:center;background:radial-gradient(ellipse at 70% 10%,#588a9f45,transparent 70%),var(--paper-deep)}.labs-browser{width:75%;border:1px solid var(--line);border-radius:13px;background:var(--paper);transform:perspective(1000px) rotateY(-12deg) rotateX(8deg);box-shadow:25px 30px 65px var(--soft-shadow);transition:transform .6s}.labs-web:hover .labs-browser{transform:perspective(1000px) rotateY(-4deg) rotateX(2deg)}.labs-browser-bar{display:flex;align-items:center;gap:5px;border-bottom:1px solid var(--line);padding:13px}.labs-browser-bar i,.labs-browser-art i{width:5px;height:5px;border-radius:50%;background:var(--muted)}.labs-browser-bar>span{font-size:7px;letter-spacing:.2em;text-align:center;margin:auto}.labs-browser-content{padding:20px 28px 24px}.labs-browser-content>span{font-size:105px;line-height:1.1;letter-spacing:-.09em}.labs-browser-content>span>span,.labs-browser-art>span>span{color:var(--accent);font-size:.55em;vertical-align:top}.labs-browser-content>div{height:5px;background:var(--line);margin-top:10px;width:65%;border-radius:4px}.labs-browser-content>div:last-child{width:42%}.labs-method{margin-top:100px;padding-block:45px 85px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 2fr;gap:50px}.labs-method h2,.labs-web-intro h2{font-size:clamp(32px,4vw,56px);letter-spacing:-.055em;line-height:1.15;font-weight:450;margin:0 0 25px}.labs-method p:not(.labs-eyebrow),.labs-web-intro p:not(.labs-eyebrow){font-size:18px;line-height:1.8;color:var(--muted);max-width:680px}.labs-footer{display:flex;align-items:center;gap:35px;padding-block:30px;border-top:1px solid var(--line);font-size:12px}.labs-footer>a{font-weight:600;text-decoration:none}.labs-footer nav{display:flex;flex-wrap:wrap;gap:20px;margin-left:auto}.labs-footer nav a{text-decoration:none;color:var(--muted)}.labs-footer .appearance-control{margin:0}.labs-web-intro{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:75px;padding-block:30px 100px}.labs-browser-art{height:330px;border:1px solid var(--line);border-radius:20px;background:radial-gradient(ellipse at 30% 60%,#588a9f35,transparent 65%),var(--paper-deep);position:relative;padding:20px}.labs-browser-art>div{display:flex;gap:6px}.labs-browser-art>span{display:block;text-align:center;font-size:170px;font-weight:350;line-height:1.6;letter-spacing:-.09em}.labs-shell a:focus-visible{outline:2px solid var(--accent);outline-offset:5px}.labs-shell a:hover{text-decoration:none}.labs-parent-link{font-size:11px!important;letter-spacing:.04em;color:var(--muted);padding:8px}.labs-footer a:hover,.labs-header nav a:hover{text-decoration:underline;text-underline-offset:6px}
@media(max-width:850px){.labs-width{width:calc(100% - 44px)}.labs-header{min-height:92px;flex-wrap:wrap;gap:12px;padding-block:20px}.labs-wordmark{font-size:22px}.labs-header nav{gap:20px}.labs-header .language-switch{margin-left:auto}.labs-hero{padding-block:65px 55px}.labs-hero h1{font-size:clamp(53px,10.5vw,85px)}.labs-eyebrow>span{display:none}.labs-hero-bottom{align-items:start;flex-direction:column;gap:28px}.labs-divisions{gap:18px}.labs-division-art{height:250px}.labs-division-copy{padding:24px}.labs-division h3{font-size:31px}.labs-method{gap:25px}.labs-web-intro{gap:30px}.labs-footer{flex-wrap:wrap}.labs-footer nav{margin-left:0}}
@media(max-width:560px){.labs-header nav{order:3;width:100%;margin-left:0;padding-top:10px}.labs-header .language-switch{gap:0}.labs-header .language-switch button{padding:8px 6px;font-size:11px}.labs-wordmark{font-size:20px;gap:10px}.labs-sign{font-size:32px}.labs-hero h1{font-size:clamp(49px,12vw,66px);margin-block:28px}.labs-hero-bottom>p{font-size:17px}.labs-divisions,.labs-method,.labs-web-intro{grid-template-columns:1fr}.labs-division-art{height:280px}.labs-division-copy>p:not(.labs-eyebrow){min-height:0}.labs-method{margin-top:60px;padding-bottom:55px;gap:20px}.labs-method p:not(.labs-eyebrow){font-size:16px}.labs-section-label h2{font-size:14px}.labs-footer{gap:20px}.labs-footer nav{gap:14px}.labs-web-intro{padding-bottom:60px}.labs-browser-art{height:250px}.labs-browser-art>span{font-size:130px}}
@media(prefers-reduced-motion:reduce){.labs-division,.labs-division-art img,.labs-browser{transition:none}.labs-division:hover,.labs-division:focus-visible{transform:none}}

/* Owner privacy commitment — same Labs palette and type. */
.labs-privacy{padding-block:65px 85px;border-top:1px solid var(--line)}.labs-privacy h2{font-size:clamp(34px,4.8vw,68px);font-weight:450;letter-spacing:-.055em;line-height:1.12;margin:27px 0;color:var(--ink)}.labs-privacy h2>span:last-child{color:var(--accent)}.labs-privacy-intro{font-size:20px;line-height:1.7;max-width:850px;color:var(--muted)}.labs-privacy-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:38px;margin-block:45px}.labs-privacy-grid h3{font-size:20px;font-weight:500;letter-spacing:-.025em}.labs-privacy-grid p{font-size:15px;line-height:1.8;color:var(--muted)}.labs-privacy-note{font-size:13px;line-height:1.85;color:var(--muted);max-width:1000px}.labs-privacy>.labs-text-link{justify-content:flex-start}@media(max-width:700px){.labs-privacy{padding-block:45px 55px}.labs-privacy-grid{grid-template-columns:1fr;gap:14px;margin-block:30px}.labs-privacy-intro{font-size:17px}}
