:root {
  --demo-max: 1180px;
  --demo-sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --demo-serif: Georgia, "Times New Roman", serif;
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 126px; }
body { margin: 0; min-width: 320px; overflow-x: hidden; font-family: var(--demo-sans); line-height: 1.62; }
img { display: block; max-width: 100%; }
button, input, textarea, select { font: inherit; }
a { color: inherit; text-underline-offset: .18em; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { line-height: 1.06; }
:focus-visible { outline: 3px solid #4b8dff; outline-offset: 3px; }
.demo-skip { position: fixed; z-index: 1000; top: 8px; left: 8px; transform: translateY(-150%); padding: 10px 14px; background: #fff; color: #111; font-weight: 900; }
.demo-skip:focus { transform: none; }
.demo-shell { width: min(calc(100% - 40px), var(--demo-max)); margin-inline: auto; }
.demo-notice {
  position: relative;
  z-index: 210;
  min-height: 42px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 8px 46px 8px 15px;
  background: #06142f;
  color: #fff;
  font-size: .74rem;
  font-weight: 800;
  line-height: 1.35;
  text-align: center;
}
.demo-notice a { color: #b9d2ff; }
.demo-notice button { position: absolute; right: 8px; width: 34px; height: 34px; border: 0; border-radius: 7px; background: rgba(255,255,255,.12); color: #fff; cursor: pointer; }
.demo-header { position: sticky; z-index: 200; top: 0; border-bottom: 1px solid var(--demo-line); background: color-mix(in srgb, var(--demo-bg) 94%, transparent); color: var(--demo-ink); backdrop-filter: blur(13px); }
.demo-header__row { display: flex; min-height: 76px; align-items: center; justify-content: space-between; gap: 20px; }
.demo-brand { font-weight: 950; letter-spacing: -.035em; text-decoration: none; }
.demo-brand small { display: block; margin-top: 2px; color: var(--demo-muted); font-size: .6rem; letter-spacing: .12em; text-transform: uppercase; }
.demo-nav { display: flex; align-items: center; gap: 22px; }
.demo-nav > a { font-size: .84rem; font-weight: 850; text-decoration: none; }
.demo-langs { display: flex; gap: 4px; padding-left: 14px; border-left: 1px solid var(--demo-line); }
.demo-langs a { display: grid; min-width: 35px; min-height: 35px; place-items: center; border-radius: 7px; font-size: .7rem; font-weight: 950; text-decoration: none; }
.demo-langs a[aria-current="page"], .demo-langs a:hover { background: var(--demo-accent); color: var(--demo-accent-ink); }
.demo-menu { display: none; width: 44px; height: 44px; border: 1px solid var(--demo-line); border-radius: 9px; background: transparent; color: inherit; cursor: pointer; }
.demo-menu span, .demo-menu::before, .demo-menu::after { display: block; width: 21px; height: 2px; margin: 5px auto; background: currentColor; content: ""; }

.demo-hero { position: relative; min-height: 720px; display: grid; align-items: center; overflow: hidden; background: var(--demo-bg); color: var(--demo-ink); }
.demo-hero__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(360px, .9fr); gap: clamp(35px, 7vw, 100px); align-items: center; padding-block: 70px; }
.demo-kicker { display: inline-flex; align-items: center; gap: 10px; margin-bottom: 20px; color: var(--demo-accent); font-size: .72rem; font-weight: 950; letter-spacing: .14em; text-transform: uppercase; }
.demo-kicker::before { width: 26px; height: 3px; background: currentColor; content: ""; }
.demo-hero h1 { margin-bottom: 24px; font-size: clamp(3rem, 7vw, 7rem); letter-spacing: -.065em; }
.demo-hero__lead { max-width: 660px; color: var(--demo-muted); font-size: clamp(1.02rem, 1.8vw, 1.2rem); }
.demo-actions { display: flex; flex-wrap: wrap; gap: 11px; margin-top: 30px; }
.demo-button { display: inline-flex; min-height: 48px; align-items: center; justify-content: center; padding: 12px 18px; border: 2px solid transparent; border-radius: var(--demo-button-radius); background: var(--demo-accent); color: var(--demo-accent-ink); font-weight: 950; line-height: 1.2; text-decoration: none; }
.demo-button.secondary { border-color: var(--demo-ink); background: transparent; color: var(--demo-ink); }
.demo-hero__media { position: relative; margin: 0; }
.demo-hero__media img { width: 100%; height: 520px; object-fit: cover; }
.demo-hero__stamp { position: absolute; right: -18px; bottom: 24px; max-width: 210px; padding: 18px; background: var(--demo-accent); color: var(--demo-accent-ink); font-size: .78rem; font-weight: 900; box-shadow: 0 16px 45px rgba(0,0,0,.18); }
.demo-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-block: 1px solid var(--demo-line); background: var(--demo-surface); }
.demo-metric { padding: 23px; border-right: 1px solid var(--demo-line); }
.demo-metric:last-child { border-right: 0; }
.demo-metric strong { display: block; color: var(--demo-ink); font-size: 1.04rem; }
.demo-metric span { color: var(--demo-muted); font-size: .78rem; }

.demo-section { padding: clamp(70px, 9vw, 118px) 0; background: var(--demo-bg); color: var(--demo-ink); }
.demo-section.alt { background: var(--demo-alt); }
.demo-section.dark { background: var(--demo-dark); color: var(--demo-dark-ink); }
.demo-heading { display: grid; grid-template-columns: minmax(0, 1fr) minmax(260px, .7fr); gap: 45px; align-items: end; margin-bottom: 46px; }
.demo-heading h2 { margin: 0; font-size: clamp(2.15rem, 4.6vw, 4.35rem); letter-spacing: -.05em; }
.demo-heading p { margin: 0; color: var(--demo-muted); }
.dark .demo-heading p { color: color-mix(in srgb, var(--demo-dark-ink) 68%, transparent); }
.demo-pill { display: inline-flex; margin-bottom: 15px; padding: 6px 9px; border: 1px solid var(--demo-line); color: var(--demo-muted); font-size: .65rem; font-weight: 950; letter-spacing: .11em; text-transform: uppercase; }
.demo-intro { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(30px, 6vw, 80px); align-items: center; }
.demo-intro__media img { width: 100%; min-height: 450px; object-fit: cover; }
.demo-intro__copy h2 { font-size: clamp(2.2rem, 4.5vw, 4rem); letter-spacing: -.05em; }
.demo-intro__copy p { color: var(--demo-muted); }
.demo-checks { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; margin-top: 25px; }
.demo-check { padding: 13px; border: 1px solid var(--demo-line); font-size: .82rem; font-weight: 850; }
.demo-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.demo-card { min-width: 0; padding: 28px; border: 1px solid var(--demo-line); background: var(--demo-surface); }
.demo-card .index { display: block; margin-bottom: 34px; color: var(--demo-accent); font-size: .7rem; font-weight: 950; letter-spacing: .12em; }
.demo-card h3 { margin-bottom: 11px; font-size: 1.35rem; }
.demo-card p { margin: 0; color: var(--demo-muted); font-size: .91rem; }
.demo-gallery { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); grid-auto-rows: 190px; gap: 13px; }
.demo-gallery figure { position: relative; min-width: 0; grid-column: span 4; margin: 0; overflow: hidden; background: var(--demo-alt); }
.demo-gallery figure:nth-child(1), .demo-gallery figure:nth-child(5) { grid-column: span 8; }
.demo-gallery figure:nth-child(1) { grid-row: span 2; }
.demo-gallery img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s ease; }
.demo-gallery figure:hover img { transform: scale(1.025); }
.demo-gallery figcaption { position: absolute; right: 0; bottom: 0; left: 0; padding: 25px 16px 13px; background: linear-gradient(0deg, rgba(0,0,0,.75), transparent); color: #fff; font-size: .8rem; font-weight: 850; }
.demo-process { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); counter-reset: demo-steps; }
.demo-step { padding: 26px 25px 26px 0; border-top: 3px solid currentColor; counter-increment: demo-steps; }
.demo-step + .demo-step { padding-left: 25px; }
.demo-step::before { display: block; margin-bottom: 45px; color: var(--demo-accent); content: "0" counter(demo-steps); font-weight: 950; }
.demo-step h3 { font-size: 1.25rem; }
.demo-step p { margin: 0; color: var(--demo-muted); font-size: .88rem; }
.dark .demo-step p { color: color-mix(in srgb, var(--demo-dark-ink) 65%, transparent); }
.demo-prices { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.demo-price { display: flex; min-width: 0; flex-direction: column; padding: 28px; border: 1px solid var(--demo-line); background: var(--demo-surface); }
.demo-price.featured { border: 3px solid var(--demo-accent); }
.demo-price h3 { font-size: 1.35rem; }
.demo-price .amount { margin: 8px 0 14px; color: var(--demo-ink); font-size: 2rem; font-weight: 950; letter-spacing: -.05em; }
.demo-price p { color: var(--demo-muted); font-size: .88rem; }
.demo-price ul { margin: auto 0 0; padding: 18px 0 0; border-top: 1px solid var(--demo-line); color: var(--demo-muted); font-size: .84rem; list-style: none; }
.demo-price li + li { margin-top: 7px; }
.demo-disclaimer { margin-top: 20px; padding: 18px; border: 1px solid var(--demo-line); background: var(--demo-alt); color: var(--demo-muted); font-size: .83rem; }
.demo-split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .95fr); gap: 22px; }
.demo-contact { padding: clamp(28px, 5vw, 52px); background: var(--demo-surface); color: var(--demo-ink); }
.demo-contact h2 { font-size: clamp(2rem, 4vw, 3.5rem); }
.demo-contact p { color: var(--demo-muted); }
.demo-contact dl { display: grid; grid-template-columns: 105px 1fr; gap: 10px 15px; }
.demo-contact dt { color: var(--demo-muted); font-size: .75rem; font-weight: 950; text-transform: uppercase; }
.demo-contact dd { margin: 0; font-weight: 800; }
.demo-map { min-height: 430px; border: 0; background: #ddd; }
.demo-map iframe { display: block; width: 100%; height: 100%; min-height: 430px; border: 0; filter: saturate(.7); }
.demo-faq { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.demo-faq details { border: 1px solid var(--demo-line); background: var(--demo-surface); }
.demo-faq summary { position: relative; padding: 18px 47px 18px 18px; cursor: pointer; font-weight: 900; list-style: none; }
.demo-faq summary::-webkit-details-marker { display: none; }
.demo-faq summary::after { position: absolute; right: 17px; content: "+"; }
.demo-faq details[open] summary::after { content: "−"; }
.demo-faq p { margin: 0; padding: 0 18px 18px; color: var(--demo-muted); }
.demo-footer { padding: 48px 0 24px; background: var(--demo-dark); color: var(--demo-dark-ink); }
.demo-footer__grid { display: flex; justify-content: space-between; gap: 28px; align-items: flex-start; }
.demo-footer p { color: color-mix(in srgb, var(--demo-dark-ink) 62%, transparent); font-size: .82rem; }
.demo-footer__links { display: flex; flex-wrap: wrap; gap: 15px; font-size: .8rem; font-weight: 850; }
.demo-footer__bottom { margin-top: 34px; padding-top: 18px; border-top: 1px solid color-mix(in srgb, var(--demo-dark-ink) 18%, transparent); color: color-mix(in srgb, var(--demo-dark-ink) 52%, transparent); font-size: .72rem; }

/* Edilizia — Industrial Grid / Cantiere Modulare */
.demo-edil {
  --demo-bg: #e9e7e1; --demo-alt: #dcd8cf; --demo-surface: #f6f4ef; --demo-ink: #172027; --demo-muted: #59636a;
  --demo-line: #9da2a3; --demo-accent: #a63b00; --demo-accent-ink: #fff; --demo-dark: #151c21; --demo-dark-ink: #f3f1e9; --demo-button-radius: 0;
  background: var(--demo-bg); color: var(--demo-ink);
}
.demo-edil .demo-brand, .demo-edil h1, .demo-edil h2, .demo-edil h3 { font-family: "Arial Narrow", "Roboto Condensed", Impact, sans-serif; text-transform: uppercase; }
.demo-edil .demo-header { border-bottom: 4px solid var(--demo-ink); }
.demo-edil .demo-hero { background-image: linear-gradient(rgba(23,32,39,.08) 1px, transparent 1px), linear-gradient(90deg, rgba(23,32,39,.08) 1px, transparent 1px); background-size: 42px 42px; }
.demo-edil .demo-hero__grid { grid-template-columns: 1.15fr .85fr; }
.demo-edil .demo-hero h1 { max-width: 820px; }
.demo-edil .demo-hero__media { border: 5px solid var(--demo-ink); box-shadow: 18px 18px 0 var(--demo-accent); }
.demo-edil .demo-hero__media img { filter: saturate(.68) contrast(1.06); }
.demo-edil .demo-card, .demo-edil .demo-price, .demo-edil .demo-faq details, .demo-edil .demo-check { border-width: 2px; }
.demo-edil .demo-card:nth-child(2n) { transform: translateY(25px); }
.demo-edil .demo-gallery figure { border: 3px solid var(--demo-ink); }

/* Gelateria — Mediterranean Mosaic / Cartolina Mediterranea */
.demo-gelato {
  --demo-bg: #fff8e8; --demo-alt: #e9f4df; --demo-surface: #fffdf7; --demo-ink: #3c2c35; --demo-muted: #76646b;
  --demo-line: #e5cfc3; --demo-accent: #c73b42; --demo-accent-ink: #fff; --demo-dark: #355b4b; --demo-dark-ink: #fff7e5; --demo-button-radius: 999px;
  background: var(--demo-bg); color: var(--demo-ink);
}
.demo-gelato .demo-brand, .demo-gelato h1, .demo-gelato h2, .demo-gelato h3 { font-family: var(--demo-serif); }
.demo-gelato .demo-hero { background: radial-gradient(circle at 12% 14%, #ffe790 0 10%, transparent 10.3%), radial-gradient(circle at 88% 82%, #add7c0 0 17%, transparent 17.3%), var(--demo-bg); }
.demo-gelato .demo-hero__grid { grid-template-columns: .9fr 1.1fr; }
.demo-gelato .demo-hero h1 { color: #3f5945; font-weight: 500; }
.demo-gelato .demo-hero__media img { height: 560px; border-radius: 48% 48% 14% 14%; }
.demo-gelato .demo-hero__stamp { right: auto; left: -25px; bottom: 50px; border-radius: 50%; padding: 25px; background: #ffe375; color: #533d2b; transform: rotate(-7deg); }
.demo-gelato .demo-card { border-radius: 70px 18px 40px 18px; }
.demo-gelato .demo-card:nth-child(2) { background: #fff0ef; transform: rotate(-1deg); }
.demo-gelato .demo-card:nth-child(3) { background: #e9f4df; transform: rotate(1deg); }
.demo-gelato .demo-gallery { gap: 18px; }
.demo-gelato .demo-gallery figure { border-radius: 32px; }
.demo-gelato .demo-price, .demo-gelato .demo-faq details, .demo-gelato .demo-contact { border-radius: 25px; }

/* Beauty — Editorial Luxe / Rivista Editoriale */
.demo-beauty {
  --demo-bg: #f6f1eb; --demo-alt: #e8dfd5; --demo-surface: #fbf9f6; --demo-ink: #33282a; --demo-muted: #76696c;
  --demo-line: #cfc3bd; --demo-accent: #7d4945; --demo-accent-ink: #fff; --demo-dark: #2d2527; --demo-dark-ink: #f8f1e9; --demo-button-radius: 0;
  background: var(--demo-bg); color: var(--demo-ink);
}
.demo-beauty .demo-brand, .demo-beauty h1, .demo-beauty h2, .demo-beauty h3 { font-family: var(--demo-serif); font-weight: 400; }
.demo-beauty .demo-header__row { min-height: 88px; }
.demo-beauty .demo-brand { font-size: 1.25rem; letter-spacing: .04em; }
.demo-beauty .demo-hero__grid { grid-template-columns: 1.05fr .95fr; }
.demo-beauty .demo-hero__copy { order: 2; }
.demo-beauty .demo-hero__media { order: 1; }
.demo-beauty .demo-hero__media::before { position: absolute; z-index: 1; top: -22px; left: -25px; color: var(--demo-accent); content: "01 / EDITORIAL"; font-size: .65rem; font-weight: 900; letter-spacing: .18em; writing-mode: vertical-rl; }
.demo-beauty .demo-hero__media img { height: 610px; }
.demo-beauty .demo-hero h1 { font-size: clamp(3.4rem, 7.8vw, 7.7rem); }
.demo-beauty .demo-heading { border-top: 1px solid var(--demo-line); padding-top: 20px; }
.demo-beauty .demo-card { padding-top: 80px; border-width: 1px 0 0; background: transparent; }
.demo-beauty .demo-card .index { position: absolute; margin-top: -58px; }
.demo-beauty .demo-gallery figure { filter: saturate(.82); }
.demo-beauty .demo-gallery figure:nth-child(2) { margin-top: 42px; }

/* Fitness — Neo-Brutalist Performance / Performance Brutalist */
.demo-fitness {
  --demo-bg: #f1f1ed; --demo-alt: #d7d9d3; --demo-surface: #fff; --demo-ink: #0c0c0d; --demo-muted: #55585a;
  --demo-line: #111; --demo-accent: #c8ff2e; --demo-accent-ink: #0b0b0b; --demo-dark: #0b0b0c; --demo-dark-ink: #f7f7f2; --demo-button-radius: 0;
  background: var(--demo-bg); color: var(--demo-ink);
}
.demo-fitness .demo-brand, .demo-fitness h1, .demo-fitness h2, .demo-fitness h3 { font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif; text-transform: uppercase; letter-spacing: -.035em; }
.demo-fitness .demo-header { border-bottom: 4px solid #111; background: rgba(241,241,237,.96); }
.demo-fitness .demo-hero { background: #0b0b0c; color: #fff; }
.demo-fitness .demo-hero::before { position: absolute; inset: 0; opacity: .14; background-image: linear-gradient(#fff 1px, transparent 1px), linear-gradient(90deg, #fff 1px, transparent 1px); background-size: 60px 60px; content: ""; }
.demo-fitness .demo-hero__grid { position: relative; grid-template-columns: 1.05fr .95fr; }
.demo-fitness .demo-hero h1 { color: #fff; font-size: clamp(4rem, 10vw, 9.2rem); line-height: .84; }
.demo-fitness .demo-hero__lead { color: #cfd1cc; }
.demo-fitness .demo-hero__media { border: 5px solid #fff; box-shadow: 20px 20px 0 var(--demo-accent); transform: rotate(1.5deg); }
.demo-fitness .demo-hero__media img { filter: grayscale(.35) contrast(1.12); }
.demo-fitness .demo-button.secondary { border-color: #fff; color: #fff; }
.demo-fitness .demo-card, .demo-fitness .demo-price, .demo-fitness .demo-faq details, .demo-fitness .demo-check { border: 3px solid #111; box-shadow: 7px 7px 0 #111; }
.demo-fitness .demo-card:nth-child(2) { background: var(--demo-accent); transform: translateY(-18px); }
.demo-fitness .demo-gallery figure { border: 4px solid #111; }
.demo-fitness .demo-pill { border: 2px solid currentColor; }

/* Avvocato — Quiet Authority / Autorità Silenziosa */
.demo-legal {
  --demo-bg: #f5f3ee; --demo-alt: #e8e7e2; --demo-surface: #fbfaf7; --demo-ink: #1e292f; --demo-muted: #5c6569;
  --demo-line: #c5c8c7; --demo-accent: #315464; --demo-accent-ink: #fff; --demo-dark: #17272f; --demo-dark-ink: #f7f5ef; --demo-button-radius: 2px;
  background: var(--demo-bg); color: var(--demo-ink);
}
.demo-legal .demo-brand, .demo-legal h1, .demo-legal h2, .demo-legal h3 { font-family: var(--demo-serif); font-weight: 400; }
.demo-legal .demo-header { border-bottom: 1px solid var(--demo-line); }
.demo-legal .demo-brand { font-size: 1.1rem; letter-spacing: .02em; }
.demo-legal .demo-hero { min-height: 720px; border-bottom: 1px solid var(--demo-line); background: var(--demo-bg); color: var(--demo-ink); }
.demo-legal .demo-hero__grid { grid-template-columns: minmax(0, .88fr) minmax(420px, 1.12fr); gap: clamp(42px, 6vw, 88px); padding-block: 86px; }
.demo-legal .demo-hero__copy { max-width: 610px; }
.demo-legal .demo-hero__media { visibility: visible; }
.demo-legal .demo-hero__media img { height: 590px; filter: saturate(.78) contrast(1.02); object-position: 61% center; }
.demo-legal .demo-hero__stamp { right: 22px; bottom: 22px; max-width: 235px; border: 1px solid rgba(30,41,47,.16); background: rgba(251,250,247,.94); color: var(--demo-ink); box-shadow: 0 12px 35px rgba(23,39,47,.12); }
.demo-legal .demo-hero h1 { max-width: 670px; font-size: clamp(3.2rem, 6.2vw, 6.2rem); letter-spacing: -.05em; }
.demo-legal .demo-hero__lead { color: var(--demo-muted); }
.demo-legal .demo-kicker { color: var(--demo-accent); }
.demo-legal .demo-heading { padding-left: 22px; border-left: 2px solid var(--demo-accent); }
.demo-legal .demo-card { border-width: 0 0 1px; background: transparent; }
.demo-legal .demo-card .index { margin-bottom: 48px; }
.demo-legal .demo-intro__media img { min-height: 520px; filter: saturate(.72); }
.demo-legal-principles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-block: 1px solid var(--demo-line); }
.demo-legal-principles article { min-width: 0; padding: 34px 30px 38px 0; }
.demo-legal-principles article + article { padding-left: 30px; border-left: 1px solid var(--demo-line); }
.demo-legal-principles span { display: block; margin-bottom: 62px; color: var(--demo-accent); font-size: .68rem; font-weight: 900; letter-spacing: .14em; }
.demo-legal-principles h3 { margin-bottom: 14px; font-size: clamp(1.45rem, 2.4vw, 2rem); }
.demo-legal-principles p { margin: 0; color: var(--demo-muted); font-size: .9rem; }

@media (max-width: 900px) {
  .demo-menu { display: block; }
  .demo-nav { position: fixed; top: 118px; right: 0; left: 0; display: none; max-height: calc(100svh - 118px); overflow-y: auto; padding: 20px; background: var(--demo-bg); border-bottom: 2px solid var(--demo-line); }
  .demo-nav.is-open { display: grid; gap: 0; }
  .demo-nav > a { display: flex; min-height: 46px; align-items: center; border-bottom: 1px solid var(--demo-line); }
  .demo-langs { margin-top: 16px; padding-left: 0; border-left: 0; }
  .demo-hero__grid, .demo-edil .demo-hero__grid, .demo-gelato .demo-hero__grid, .demo-beauty .demo-hero__grid, .demo-fitness .demo-hero__grid, .demo-legal .demo-hero__grid,
  .demo-heading, .demo-intro, .demo-split { grid-template-columns: 1fr; }
  .demo-hero__copy, .demo-beauty .demo-hero__copy { order: 1; }
  .demo-hero__media, .demo-beauty .demo-hero__media { order: 2; }
  .demo-legal .demo-hero { min-height: auto; }
  .demo-legal .demo-hero__grid { gap: 38px; padding-block: 62px; }
  .demo-legal .demo-hero__media img { height: 520px; }
  .demo-legal-principles { grid-template-columns: 1fr; }
  .demo-legal-principles article { padding: 28px 0; }
  .demo-legal-principles article + article { padding-left: 0; border-top: 1px solid var(--demo-line); border-left: 0; }
  .demo-legal-principles span { margin-bottom: 28px; }
  .demo-metrics { grid-template-columns: repeat(2, 1fr); }
  .demo-card-grid, .demo-prices { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .demo-process { grid-template-columns: repeat(2, 1fr); }
  .demo-edil .demo-card:nth-child(2n), .demo-fitness .demo-card:nth-child(2) { transform: none; }
}

@media (max-width: 600px) {
  html { scroll-padding-top: 112px; }
  .demo-shell { width: min(calc(100% - 28px), var(--demo-max)); }
  .demo-notice { min-height: 48px; justify-content: flex-start; padding-right: 44px; text-align: left; }
  .demo-header__row { min-height: 68px; }
  .demo-nav { top: 116px; }
  .demo-hero { min-height: auto; }
  .demo-hero__grid { padding-block: 55px; }
  .demo-hero h1 { font-size: clamp(2.8rem, 15vw, 4.8rem); }
  .demo-fitness .demo-hero h1 { font-size: clamp(4rem, 20vw, 6rem); }
  .demo-actions { display: grid; }
  .demo-button { width: 100%; }
  .demo-hero__media img { height: 390px; }
  .demo-legal .demo-hero__media img { height: 360px; object-position: 62% center; }
  .demo-hero__stamp { right: 10px; }
  .demo-metrics, .demo-card-grid, .demo-process, .demo-prices, .demo-faq { grid-template-columns: 1fr; }
  .demo-metric { border-bottom: 1px solid var(--demo-line); }
  .demo-checks { grid-template-columns: 1fr; }
  .demo-gallery { grid-template-columns: 1fr; grid-auto-rows: 250px; }
  .demo-gallery figure, .demo-gallery figure:nth-child(1), .demo-gallery figure:nth-child(5) { grid-column: 1; grid-row: auto; }
  .demo-step + .demo-step { padding-left: 0; }
  .demo-step::before { margin-bottom: 20px; }
  .demo-contact dl { grid-template-columns: 1fr; gap: 4px; }
  .demo-contact dd { margin-bottom: 10px; }
  .demo-footer__grid { display: grid; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: .001ms !important; animation-duration: .001ms !important; animation-iteration-count: 1 !important; }
  .demo-gallery figure:hover img { transform: none; }
}
