/* main.css */
@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../fonts/InterVariable.woff2") format("woff2");
}
:root {
  --twm-brand-accent-visual: var(--wp--preset--color--twm-accent-visual);
  --twm-brand-accent-action: var(--wp--preset--color--twm-accent-action);
  --twm-brand-accent-hover: var(--wp--preset--color--twm-accent-hover);
  --twm-page: var(--wp--preset--color--twm-page);
  --twm-header-background: var(--wp--preset--color--twm-header);
  --twm-header-offset: 0px;
  --twm-surface: var(--wp--preset--color--twm-surface);
  --twm-surface-muted: var(--wp--preset--color--twm-muted);
  --twm-text-primary: var(--wp--preset--color--twm-text);
  --twm-text-muted: var(--wp--preset--color--twm-text-muted);
  --twm-border: var(--wp--preset--color--twm-border);
  --twm-surface-dark: var(--wp--preset--color--twm-dark);
  --twm-on-dark: var(--wp--preset--color--twm-surface);
  --twm-font:
    Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --twm-container: 1200px;
  --twm-section-space: 72px;
  --twm-gap: 24px;
  --twm-card-radius: 8px;
  --twm-button-radius: 8px;
}
* {
  box-sizing: border-box;
}
html {
  scroll-behavior: smooth;
  scroll-padding-top: calc(88px + var(--twm-header-offset));
}
body {
  margin: 0;
  background: var(--twm-page);
  color: var(--twm-text-primary);
  font: 400 16px/1.55 var(--twm-font);
}
img {
  max-width: 100%;
  height: auto;
  display: block;
}
svg {
  flex-shrink: 0;
}
a {
  color: inherit;
  text-underline-offset: 4px;
}
button,
input,
textarea,
select {
  font: inherit;
}
button,
a,
input,
textarea,
select {
  -webkit-tap-highlight-color: transparent;
}
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
  outline: 3px solid var(--twm-brand-accent-action);
  outline-offset: 4px;
}
button {
  cursor: pointer;
}
h1,
h2,
h3,
p,
figure {
  margin: 0;
}
h1,
h2,
h3 {
  font-weight: 700;
  letter-spacing: -0.035em;
  overflow-wrap: break-word;
}
h1 {
  font-size: 56px;
  line-height: 1.08;
}
h2 {
  font-size: 36px;
  line-height: 1.15;
}
h3 {
  font-size: 20px;
  line-height: 1.3;
}
p {
  color: var(--twm-text-muted);
}
.twm-container {
  width: calc(100% - 48px);
  max-width: var(--twm-container);
  margin-inline: auto;
}
.twm-section {
  margin-top: var(--twm-section-space);
  scroll-margin-top: 24px;
}
.twm-section-heading {
  max-width: 780px;
  margin-bottom: 32px;
}
.twm-section-heading > p:last-child:not(:first-child) {
  margin-top: 16px;
  font-size: 18px;
}
.twm-eyebrow {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.095em;
  line-height: 1.55;
  margin-bottom: 18px;
  color: var(--twm-text-muted);
}
.twm-dot {
  display: inline-block;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--twm-brand-accent-visual);
  margin-right: 9px;
}
.twm-icon {
  display: inline-block;
  vertical-align: middle;
}
.twm-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 28px;
}
.twm-button {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 12px 20px;
  border: 1px solid transparent;
  border-radius: var(--twm-button-radius);
  font-size: 14px;
  line-height: 1.4;
  font-weight: 600;
  text-decoration: none;
  transition:
    background-color 0.18s,
    color 0.18s,
    border-color 0.18s;
}
.twm-button-primary {
  background: var(--twm-brand-accent-action);
  color: #fff;
}
.twm-button-primary:hover {
  background: var(--twm-brand-accent-hover);
}
.twm-button-outline {
  border-color: var(--twm-border);
  background: var(--twm-surface);
  color: var(--twm-text-primary);
}
.twm-button-outline:hover {
  border-color: var(--twm-text-muted);
  background: var(--twm-surface-muted);
}
.twm-button .twm-icon {
  width: 18px;
  height: 18px;
}
.twm-text-link {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  min-height: 44px;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  color: var(--twm-brand-accent-action);
}
.twm-text-link:hover {
  text-decoration: underline;
}
.twm-text-link .twm-icon {
  width: 18px;
  height: 18px;
}
.twm-header {
  position: sticky;
  top: var(--twm-header-offset);
  z-index: 100;
  background: var(--twm-header-background);
  border-bottom: 1px solid var(--twm-border);
  transition: box-shadow 180ms ease;
}
@supports (backdrop-filter: blur(16px)) or (-webkit-backdrop-filter: blur(16px)) {
  .twm-header {
    background: color-mix(in srgb, var(--twm-header-background) 94%, transparent);
    -webkit-backdrop-filter: blur(16px) saturate(120%);
    backdrop-filter: blur(16px) saturate(120%);
  }
  .twm-header:not(.twm-is-scrolled) {
    background: var(--twm-header-background);
  }
}
.twm-header.twm-is-scrolled {
  box-shadow: 0 6px 24px rgb(23 31 36 / 8%);
}
@media (min-width: 783px) {
  html:has(body.admin-bar) { --twm-header-offset: 32px; }
}
@media (min-width: 601px) and (max-width: 782px) {
  html:has(body.admin-bar) { --twm-header-offset: 46px; }
}
.twm-header-inner {
  display: flex;
  align-items: center;
  gap: 24px;
  min-height: 72px;
  position: relative;
}
.twm-brand,
.custom-logo-link {
  flex-shrink: 0;
  display: block;
  width: 190px;
}
.twm-brand img,
.custom-logo {
  width: 190px;
  height: auto;
}
.twm-navigation {
  display: flex;
  gap: 24px;
  align-items: center;
  margin-left: auto;
}
.twm-menu {
  list-style: none;
  display: flex;
  gap: 22px;
  padding: 0;
  margin: 0;
}
.twm-menu li {
  position: relative;
}
.twm-menu a {
  text-decoration: none;
  font-size: 13px;
  font-weight: 500;
  display: flex;
  align-items: center;
  min-height: 44px;
}
.twm-menu a:hover {
  color: var(--twm-brand-accent-action);
}
.twm-menu .sub-menu {
  list-style: none;
  padding: 8px;
  background: var(--twm-surface);
  border: 1px solid var(--twm-border);
  min-width: 180px;
  position: absolute;
  top: 100%;
  left: 0;
  display: none;
  z-index: 3;
}
.twm-menu li:hover > .sub-menu,
.twm-menu li:focus-within > .sub-menu {
  display: block;
}
.twm-menu .sub-menu a {
  padding: 0 8px;
}
.twm-nav-cta {
  padding: 10px 14px;
}
.twm-commerce-links {
  display: flex;
  gap: 4px;
}
.twm-commerce-links a {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border-radius: 8px;
}
.twm-commerce-links a:hover {
  background: var(--twm-surface-muted);
}
.twm-commerce-links .twm-icon {
  width: 19px;
  height: 19px;
}
.twm-menu-toggle {
  display: none;
}
.twm-hero {
  display: grid;
  grid-template-columns: 1.22fr 1fr;
  gap: 44px;
  padding-top: 64px;
  align-items: center;
}
.twm-hero h1 {
  max-width: 660px;
}
.twm-intro {
  font-size: 17px;
  line-height: 1.6;
  max-width: 620px;
  margin-top: 24px;
}
.twm-hero-visual {
  background: var(--twm-surface);
  border: 1px solid var(--twm-border);
  border-radius: 8px;
  padding: 16px;
  box-shadow: 0 12px 32px #171f2408;
  min-width: 0;
}
.twm-visual-heading {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 13px;
  font-weight: 600;
  padding: 0 2px 14px;
}
.twm-visual-heading .twm-icon {
  width: 17px;
  height: 17px;
}
.twm-hero-capture {
  width: 100%;
  aspect-ratio: 16/10;
  object-fit: contain;
  background: #fff;
  border: 1px solid var(--twm-border);
  border-radius: 8px;
}
.twm-hero-visual figcaption {
  display: flex;
  gap: 12px;
  justify-content: space-between;
  font-size: 12px;
  color: var(--twm-text-muted);
  padding: 14px 2px 0;
}
.twm-visual-index {
  font-variant-numeric: tabular-nums;
}
.twm-service-grid,
.twm-project-grid,
.twm-blog-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--twm-gap);
}
.twm-service-card {
  padding: 28px;
  background: var(--twm-surface-muted);
  border: 1px solid var(--twm-border);
  border-radius: 8px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.twm-service-icon {
  color: var(--twm-text-primary);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border: 1px solid var(--twm-border);
  border-radius: 8px;
  background: var(--twm-surface);
  margin-bottom: 24px;
}
.twm-service-card h2 {
  font-size: 20px;
  letter-spacing: -0.02em;
}
.twm-service-card p {
  margin: 12px 0 16px;
  font-size: 15px;
}
.twm-service-card .twm-text-link {
  margin-top: auto;
}
.twm-project-card {
  background: var(--twm-surface);
  border: 1px solid var(--twm-border);
  border-radius: 8px;
  overflow: hidden;
  min-width: 0;
  transition: border-color 0.18s;
}
.twm-project-card:hover {
  border-color: var(--twm-text-muted);
}
.twm-project-link {
  display: block;
  text-decoration: none;
}
.twm-project-image {
  aspect-ratio: 16/10;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 12px;
  background: var(--twm-surface-muted);
  border-bottom: 1px solid var(--twm-border);
}
.twm-project-image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  border-radius: 8px;
}
.twm-project-meta {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 20px;
}
.twm-project-meta h3 {
  font-size: 18px;
  letter-spacing: -0.02em;
}
.twm-project-meta p {
  font-size: 13px;
  margin-top: 5px;
}
.twm-project-meta > .twm-icon {
  width: 18px;
  height: 18px;
  margin-top: 4px;
}
.twm-software-feature {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}
.twm-software-card {
  border: 1px solid var(--twm-border);
  border-radius: 8px;
  padding: 36px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-height: 300px;
  background: var(--twm-surface);
}
.twm-software-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  margin-bottom: 34px;
}
.twm-product-type {
  font-size: 12px;
  letter-spacing: 0.08em;
  font-weight: 600;
}
.twm-software-card h3 {
  font-size: 32px;
  margin-bottom: 16px;
}
.twm-software-card p {
  max-width: 490px;
  margin-bottom: 22px;
}
.twm-software-card .twm-text-link {
  margin-top: auto;
}
.twm-software-flap {
  background: var(--twm-surface-dark);
  color: var(--twm-on-dark);
  border-color: var(--twm-surface-dark);
}
.twm-software-flap p,
.twm-software-flap .twm-text-link {
  color: var(--twm-on-dark);
}
.twm-software-flap .twm-product-type {
  color: #d9dfe2;
}
.twm-software-flap a:focus-visible {
  outline-color: #fff;
}
.twm-seo-case {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 44px;
  align-items: center;
  background: var(--twm-surface);
  padding: 36px;
  border: 1px solid var(--twm-border);
  border-radius: 8px;
}
.twm-seo-copy > p:not(.twm-eyebrow) {
  margin: 20px 0 16px;
}
.twm-seo-image {
  min-width: 0;
  background: var(--twm-surface-muted);
  padding: 12px;
  border: 1px solid var(--twm-border);
  border-radius: 8px;
}
.twm-seo-image img {
  width: 100%;
  aspect-ratio: 16/10;
  object-fit: contain;
}
.twm-plugin-commerce {
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 48px;
  align-items: center;
  background: var(--twm-surface-muted);
  padding: 40px;
  border: 1px solid var(--twm-border);
  border-radius: 8px;
}
.twm-plugin-symbol {
  padding: 30px;
  align-self: stretch;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  flex-direction: column;
  border: 1px solid var(--twm-border);
  background: var(--twm-surface);
  border-radius: 8px;
  gap: 28px;
}
.twm-plugin-symbol .twm-icon {
  width: 64px;
  height: 64px;
  color: var(--twm-brand-accent-action);
  stroke-width: 1.1;
}
.twm-plugin-symbol span {
  font-weight: 700;
  font-size: 25px;
  letter-spacing: -0.035em;
  line-height: 1.2;
}
.twm-plugin-copy p:not(.twm-eyebrow) {
  margin-top: 20px;
}
.twm-blog-card {
  display: flex;
  flex-direction: column;
  border: 1px solid var(--twm-border);
  background: var(--twm-surface);
  border-radius: 8px;
  overflow: hidden;
}
.twm-blog-image {
  display: block;
  aspect-ratio: 16/10;
  background: var(--twm-surface-muted);
  padding: 18px;
  border-bottom: 1px solid var(--twm-border);
}
.twm-blog-image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.twm-blog-image-fallback {
  display: grid;
  height: 100%;
  place-items: center;
}
.twm-blog-image-fallback .twm-icon {
  width: 54px;
  height: 54px;
  color: var(--twm-text-muted);
}
.twm-blog-copy {
  padding: 24px;
  display: flex;
  flex-direction: column;
  flex: 1;
}
.twm-blog-meta {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  font-size: 12px;
  margin-bottom: 12px;
}
.twm-blog-card h3 {
  font-size: 18px;
  letter-spacing: -0.02em;
  margin-bottom: 20px;
}
.twm-blog-card h3 a {
  text-decoration: none;
}
.twm-blog-card h3 a:hover {
  text-decoration: underline;
}
.twm-blog-copy > .twm-text-link {
  margin-top: auto;
}
.twm-contact {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 48px;
  align-items: center;
  padding: 40px 0;
  border-top: 1px solid var(--twm-border);
}
.twm-contact h2 {
  max-width: 720px;
}
.twm-contact p:not(.twm-eyebrow) {
  margin-top: 20px;
  max-width: 720px;
}
.twm-footer {
  margin-top: 32px;
  background: var(--twm-surface);
  border-top: 1px solid var(--twm-border);
}
.twm-footer-main {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  padding: 32px 0;
}
.twm-footer-links {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 24px;
  padding: 0;
  margin: 0;
  list-style: none;
}
.twm-footer-links a {
  font-size: 13px;
  text-decoration: none;
  min-height: 44px;
  display: flex;
  align-items: center;
}
.twm-footer-links a:hover {
  text-decoration: underline;
}
.twm-footer-bottom {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  padding: 20px 0;
  border-top: 1px solid var(--twm-border);
  font-size: 12px;
}
.twm-footer-bottom a {
  color: var(--twm-text-muted);
  text-decoration: none;
}
.twm-content {
  min-height: 50vh;
  max-width: 900px;
  margin-bottom: 72px;
  overflow-wrap: anywhere;
}
.twm-content h1 {
  margin-bottom: 32px;
}
.twm-content h2,
.twm-content h3 {
  margin: 32px 0 16px;
}
.twm-content p,
.twm-content ul,
.twm-content ol {
  margin-bottom: 20px;
}
.twm-content pre {
  overflow: auto;
  padding: 20px;
  background: var(--twm-surface-muted);
}
.twm-content input:not([type="checkbox"]):not([type="radio"]),
.twm-content textarea,
.twm-content select {
  max-width: 100%;
  padding: 12px;
  border: 1px solid var(--twm-border);
  border-radius: 8px;
  background: var(--twm-surface);
}
.twm-content table {
  border-collapse: collapse;
  width: 100%;
  display: block;
  overflow: auto;
}
.twm-content th,
.twm-content td {
  padding: 12px;
  border: 1px solid var(--twm-border);
}
.twm-search > div {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}
.twm-search label {
  display: block;
  margin-bottom: 8px;
}
.twm-entry {
  padding-bottom: 28px;
  border-bottom: 1px solid var(--twm-border);
}
.twm-capture-pending {
  width: 100%;
  aspect-ratio: 16/10;
  display: grid;
  place-items: center;
  text-align: center;
  border: 1px dashed var(--twm-border);
  font-size: 14px;
  color: var(--twm-text-muted);
  background: var(--twm-surface-muted);
}
.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  width: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  word-wrap: normal !important;
}
.screen-reader-text:focus {
  clip: auto !important;
  clip-path: none;
  width: auto;
  height: auto;
  z-index: 10000;
  padding: 12px;
  background: var(--twm-surface);
}
.twm-skip-link {
  position: fixed;
  left: 16px;
  top: -100px;
  z-index: 99999;
  background: var(--twm-surface);
  padding: 12px 20px;
  border: 2px solid var(--twm-brand-accent-action);
  border-radius: 8px;
}
.twm-skip-link:focus {
  top: 12px;
}
.twm-blog-image {
  position: relative;
  flex-shrink: 0;
  min-height: 0;
}
.twm-blog-image img {
  position: absolute;
  inset: 18px;
  width: calc(100% - 36px);
  height: calc(100% - 36px);
  object-fit: contain;
}
@media (max-width: 1100px) {
  .twm-header-inner {
    gap: 12px;
  }
  .twm-navigation {
    gap: 12px;
  }
  .twm-menu {
    gap: 14px;
  }
  .twm-brand,
  .custom-logo-link,
  .twm-brand img,
  .custom-logo {
    width: 165px;
  }
  .twm-hero {
    gap: 28px;
  }
  .twm-hero h1 {
    font-size: 48px;
  }
}
@media (max-width: 1000px) {
  .twm-header-inner {
    flex-wrap: wrap;
    min-height: 64px;
    padding-block: 8px;
  }
  .twm-menu-toggle {
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 44px;
    background: var(--twm-surface);
    border: 1px solid var(--twm-border);
    border-radius: 8px;
    padding: 8px 12px;
    margin-left: auto;
    font-size: 13px;
    font-weight: 600;
  }
  .twm-navigation {
    width: 100%;
    order: 4;
    margin-left: 0;
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
    padding: 16px 0 8px;
    border-top: 1px solid var(--twm-border);
  }
  .twm-js .twm-navigation {
    display: none;
  }
  .twm-js .twm-navigation.twm-is-open {
    display: flex;
  }
  .twm-menu {
    flex-direction: column;
    gap: 4px;
  }
  .twm-menu a {
    font-size: 15px;
  }
  .twm-menu .sub-menu {
    position: static;
    display: block;
    border: 0;
    padding: 0 0 0 16px;
  }
  .twm-nav-cta {
    align-self: flex-start;
  }
  .twm-hero {
    grid-template-columns: 1fr 1fr;
  }
  .twm-hero h1 {
    font-size: 42px;
  }
  .twm-service-card {
    padding: 24px;
  }
  .twm-project-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .twm-plugin-commerce {
    gap: 28px;
    padding: 28px;
  }
  .twm-software-card {
    padding: 28px;
  }
  .twm-contact {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .twm-contact > .twm-button {
    justify-self: start;
  }
}
@media (max-width: 767px) {
  :root {
    --twm-section-space: 48px;
    --twm-gap: 16px;
  }
  .twm-container {
    width: calc(100% - 32px);
  }
  h1 {
    font-size: 38px;
    line-height: 1.12;
  }
  h2 {
    font-size: 28px;
    line-height: 1.15;
  }
  .twm-brand,
  .custom-logo-link,
  .twm-brand img,
  .custom-logo {
    width: 155px;
  }
  .twm-commerce-links {
    gap: 0;
  }
  .twm-commerce-links a {
    width: 44px;
  }
  .twm-header-inner {
    gap: 8px;
  }
  .twm-hero {
    grid-template-columns: 1fr;
    gap: 32px;
    padding-top: 40px;
  }
  .twm-hero h1 {
    font-size: 38px;
    line-height: 1.12;
    max-width: 640px;
  }
  .twm-eyebrow {
    font-size: 11px;
    margin-bottom: 16px;
  }
  .twm-intro {
    font-size: 16px;
    margin-top: 20px;
  }
  .twm-hero-visual {
    padding: 12px;
    max-width: 620px;
    width: 100%;
  }
  .twm-service-grid,
  .twm-project-grid,
  .twm-blog-grid,
  .twm-software-feature {
    grid-template-columns: 1fr;
  }
  .twm-service-card {
    padding: 24px;
  }
  .twm-service-icon {
    margin-bottom: 20px;
  }
  .twm-service-card p {
    margin-bottom: 12px;
  }
  .twm-service-card h2 {
    font-size: 20px;
  }
  .twm-section-heading {
    margin-bottom: 24px;
  }
  .twm-section-heading > p:last-child:not(:first-child) {
    font-size: 16px;
  }
  .twm-project-image {
    padding: 12px;
  }
  .twm-software-feature {
    gap: 16px;
  }
  .twm-software-card {
    min-height: 290px;
    padding: 28px;
  }
  .twm-software-top {
    margin-bottom: 28px;
  }
  .twm-software-card h3 {
    font-size: 28px;
  }
  .twm-seo-case {
    grid-template-columns: 1fr;
    gap: 24px;
    padding: 24px;
  }
  .twm-plugin-commerce {
    grid-template-columns: 1fr;
    padding: 24px;
    gap: 24px;
  }
  .twm-plugin-symbol {
    padding: 20px;
    gap: 20px;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
  }
  .twm-plugin-symbol .twm-icon {
    width: 48px;
    height: 48px;
  }
  .twm-plugin-symbol span {
    font-size: 22px;
  }
  .twm-contact {
    padding: 28px 0;
  }
  .twm-contact .twm-button {
    max-width: 100%;
    text-align: center;
  }
  .twm-footer-main {
    align-items: flex-start;
    flex-direction: column;
    padding: 28px 0;
    gap: 16px;
  }
  .twm-footer-links {
    gap: 0 20px;
  }
  .twm-footer-bottom {
    flex-direction: column;
    gap: 8px;
  }
  .twm-content h1 {
    font-size: 38px;
  }
  .twm-blog-copy {
    padding: 24px;
  }
}
@media (max-width: 389px) {
  .twm-header-inner {
    gap: 4px;
  }
  .twm-brand,
  .custom-logo-link,
  .twm-brand img,
  .custom-logo {
    width: 136px;
  }
  .twm-menu-toggle {
    padding: 8px;
    margin-left: auto;
  }
  .twm-menu-toggle > span {
    display: none;
  }
  .twm-commerce-links a {
    width: 44px;
  }
  .twm-actions {
    gap: 10px;
  }
  .twm-button {
    padding-inline: 16px;
  }
  .twm-software-card,
  .twm-seo-case,
  .twm-plugin-commerce {
    padding: 22px;
  }
  .twm-hero h1 {
    font-size: 38px;
  }
  .twm-plugin-symbol {
    gap: 14px;
    padding: 16px;
  }
}
/* Small gestures work with a mouse and keyboard, without hiding content. */
.twm-plugin-symbol {
  justify-content: center;
  align-items: center;
}
.twm-plugin-logo {
  width: min(100%, 256px);
  height: auto;
  border-radius: 8px;
}
.twm-button, .twm-text-link .twm-icon, .twm-commerce-links a,
.twm-menu a, .twm-project-image img, .twm-blog-image img {
  transition: transform 180ms ease, background-color 180ms ease, color 180ms ease, border-color 180ms ease;
}
.twm-service-card, .twm-project-card, .twm-software-card, .twm-blog-card {
  transition: transform 220ms ease, box-shadow 220ms ease, border-color 220ms ease;
}
.twm-button:is(:hover, :focus-visible) { transform: translateY(-2px); }
.twm-button:active { transform: translateY(0); }
.twm-button .twm-icon { transition: transform 180ms ease; }
.twm-button:is(:hover, :focus-visible) .twm-icon,
.twm-text-link:is(:hover, :focus-visible) .twm-icon { transform: translateX(3px); }
.twm-menu a { position: relative; }
.twm-menu a::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 6px;
  height: 2px;
  background: var(--twm-brand-accent-action);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 180ms ease;
}
.twm-menu a:is(:hover, :focus-visible)::after { transform: scaleX(1); }
.twm-commerce-links a:is(:hover, :focus-visible) { transform: translateY(-2px); }
.twm-service-card:focus-within, .twm-project-card:focus-within,
.twm-software-card:focus-within, .twm-blog-card:focus-within {
  border-color: var(--twm-brand-accent-visual);
  box-shadow: 0 10px 28px rgb(23 31 36 / 8%);
}
@media (hover: hover) and (pointer: fine) {
  .twm-service-card:hover, .twm-project-card:hover,
  .twm-software-card:hover, .twm-blog-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 10px 28px rgb(23 31 36 / 8%);
  }
  .twm-project-link:hover img, .twm-blog-image:hover img { transform: scale(1.025); }
}
@keyframes twm-enter {
  from { transform: translateY(12px); }
  to { transform: translateY(0); }
}
.twm-entered { animation: twm-enter 420ms cubic-bezier(.2,.7,.2,1) backwards; }
@media (prefers-reduced-motion: reduce) {
  .twm-button, .twm-button .twm-icon, .twm-text-link .twm-icon,
  .twm-commerce-links a, .twm-service-card, .twm-project-card,
  .twm-software-card, .twm-blog-card, .twm-project-image img,
  .twm-blog-image img { transform: none !important; }
  html {
    scroll-behavior: auto;
  }
  *,
  *::before,
  *::after {
    transition: none !important;
    animation: none !important;
  }
}

/* editorial.css */
.twm-editorial { max-width: 900px; }
.twm-content h1 { line-height: 1.15; overflow-wrap: anywhere; }
.twm-content h2,.twm-content h3 { margin-top: 1.8em; line-height: 1.3; }
.twm-content p,.twm-content li { line-height: 1.75; }
.twm-content img { max-width: 100%; height: auto; border-radius: 8px; }
.twm-content video { display: block; width: 100%; height: auto; border-radius: var(--twm-card-radius); }
.twm-content pre { max-width: 100%; overflow: auto; padding: 20px; background: var(--twm-surface-dark); color: var(--twm-on-dark); border-radius: var(--twm-card-radius); white-space: pre; }
.twm-content table { width: 100%; border-collapse: collapse; }
.twm-content th,.twm-content td { padding: 12px; border-bottom: 1px solid var(--twm-border); overflow-wrap: anywhere; }
.twm-content details { padding: 18px 0; border-bottom: 1px solid var(--twm-border); }
.twm-content summary { cursor: pointer; font-weight: 600; }
.twm-entry { padding: 28px 0; border-bottom: 1px solid var(--twm-border); }
.twm-content input:not([type=checkbox]):not([type=radio]):not([type=submit]),.twm-content textarea,.twm-content select { max-width: 100%; padding: 12px; border: 1px solid var(--twm-text-muted); border-radius: var(--twm-button-radius); font: inherit; }
.twm-content textarea { width: 100%; }
.twm-content button,.twm-content input[type=submit],.woocommerce a.button,.woocommerce button.button,.woocommerce input.button { border-radius: 8px; padding: 14px 22px; font: inherit; cursor: pointer; }
.twm-comments { margin-top: 48px; }
.twm-contact-form { max-width: 780px; padding-bottom: 64px; }
.twm-contact-form input:not([type=submit]) { width: 100%; }
.wpcf7-not-valid-tip,.woocommerce-error { color: var(--twm-brand-accent-action); }
.twm-comments .comment-list { padding-left: 24px; }
.twm-commerce .woocommerce-product-gallery { max-width: 100%; }
.woocommerce div.product .product_title { font-size: clamp(2rem,5vw,3.3rem); }
.woocommerce div.product p.price { color: var(--twm-text-primary); font-size: 1.5rem; }
.woocommerce div.product form.cart .button,.woocommerce #respond input#submit.alt,.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce input.button.alt { background: var(--twm-brand-accent-action); color: var(--twm-on-dark); }
.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover,.woocommerce input.button.alt:hover { background: var(--twm-brand-accent-hover); color: var(--twm-on-dark); }
.woocommerce span.onsale { background: var(--twm-brand-accent-action); }
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea { min-height: 44px; }
.woocommerce-account .woocommerce-MyAccount-navigation { padding-right: 24px; }
@media(max-width:600px) { .woocommerce table.shop_table { font-size: .88rem; } .twm-content h1 { font-size: 2rem; } }

/* design.css */
/* The original brand font, with spacious composition and restrained color. */
:root { --twm-font: 'utile-narrow', Inter, sans-serif; --twm-display-font: var(--twm-font); }
body { font-weight: 300; font-size: 17px; }
h1, h2 { font-family: var(--twm-display-font); font-weight: 600; letter-spacing: -.025em; }
.twm-hero { padding-block: 80px 28px; gap: 56px; }
.twm-hero h1 { font-size: clamp(48px,5vw,72px); line-height: 1.04; letter-spacing: -.025em; }
.twm-hero-visual { border-radius: 8px; box-shadow: 0 8px 28px rgb(23 31 36 / 4%); }
.twm-band {
  background: var(--twm-surface-dark);
  box-shadow: 0 0 0 100vmax var(--twm-surface-dark);
  clip-path: inset(0 -100vmax);
  padding-block: 56px;
}
.twm-band > .twm-section-heading, .twm-contact-band { color: var(--twm-on-dark); }
.twm-band > .twm-section-heading p, .twm-contact-band p { color: #DCE3E7; }
.twm-band .twm-eyebrow { color: #DCE3E7; }
.twm-band a:focus-visible { outline-color: #FFFFFF; }
.twm-section-heading { max-width: 820px; margin-bottom: 40px; }
.twm-section-heading h2 { font-size: clamp(38px,4vw,58px); letter-spacing: -.035em; }
.twm-section-actions { display: flex; flex-direction: column; align-items: flex-start; gap: 16px; margin-top: 36px; text-align: left; }
.twm-section-actions > p { margin: 0; max-width: 620px; color: var(--twm-text-muted); font-size: 19px; }
.twm-band .twm-section-actions > p { color: #DCE3E7; }
#proyectos > .twm-section-heading, #blog > .twm-section-heading { margin-inline: auto; max-width: var(--twm-container); text-align: left; }
.twm-button { border-radius: 8px; padding: 13px 22px; }
.twm-menu > li > a { font-size: 18px; font-weight: 400; }
.twm-header, .twm-header button, .twm-header a { font-weight: 400; }
.twm-button, .twm-menu-toggle { font-size: 18px; font-weight: 400; }
.twm-text-link { font-size: 17px; }
.twm-content input[type=submit], .twm-content button, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button { font-size: 18px; font-weight: 400; }
.twm-band .twm-section-actions .twm-button { border-color: #DCE3E7; }
.twm-services-band .twm-service-card {
  background: transparent;
  border: 0;
  border-radius: 0;
  padding: 8px 24px 8px 0;
  color: #FFFFFF;
}
.twm-services-band .twm-service-card p { color: #DCE3E7; }
.twm-services-band .twm-service-card h2 { font-size: 30px; line-height: 1.15; }
.twm-services-band .twm-text-link { color: #FFFFFF; }
.twm-services-band .twm-service-icon { background: transparent; color: #FFFFFF; border-color: #72808A; }
.twm-carousel-viewport { position: relative; overflow-x: auto; scrollbar-width: none; padding: 12px 0 24px; touch-action: pan-x pan-y; }
.twm-carousel-viewport::-webkit-scrollbar { display: none; }
.twm-project-grid.twm-carousel-track { display: flex; gap: 24px; }
.twm-projects-wide, .twm-blog-wide { width: 100%; max-width: none; }
.twm-projects-wide .twm-carousel-viewport, .twm-blog-wide .twm-carousel-viewport { padding-inline: clamp(16px,2vw,36px); }
.twm-projects-wide > .twm-section-actions, .twm-blog-wide > .twm-section-actions { width: min(var(--twm-container),calc(100% - 32px)); margin-inline: auto; }
.twm-carousel-track > .twm-project-card { flex: 0 0 max(320px,38vw); min-width: 0; }
.twm-project-card { border: 0; border-radius: 0; background: transparent; }
.twm-desktop-mockup { border: 1px solid #CFD3D4; border-radius: 8px; overflow: hidden; background: #FFFFFF; box-shadow: 0 12px 28px rgb(23 31 36 / 7%); }
.twm-browser-bar { display: flex; align-items: center; gap: 5px; height: 28px; padding: 0 10px; background: #E9E9E9; border-bottom: 1px solid #CFD3D4; }
.twm-browser-bar > span:not(.twm-browser-address) { width: 5px; height: 5px; border-radius: 50%; background: #ABB1B4; }
.twm-browser-address { margin-left: auto; margin-right: auto; padding-right: 30px; font-size: 10px; color: #5D646A; }
.twm-project-image { aspect-ratio: 16 / 10; padding: 0; border: 0; border-radius: 0; background: #EDEFF0; overflow: hidden; }
.twm-project-image img { object-fit: cover; object-position: top center; border-radius: 0; }
.twm-project-meta { justify-content: flex-start; padding: 24px 0 0; text-align: left; }
.twm-project-meta h3 { font-family: var(--twm-display-font); font-weight: 500; font-size: 30px; letter-spacing: -.025em; }
.twm-project-meta p { font-size: 17px; min-height: 28px; }
.twm-project-meta > .twm-icon { display: none; }
.twm-project-inquiry { display: flex; justify-content: flex-start; margin-top: 18px; font-size: 17px; }
.twm-software-card, .twm-software-flap {
  padding: 0;
  min-height: 0;
  background: transparent;
  border: 0;
  border-radius: 0;
  color: #FFFFFF;
}
.twm-software-card p, .twm-software-flap p, .twm-software-flap .twm-product-type { color: #DCE3E7; }
.twm-software-card .twm-text-link { color: #FFFFFF; }
.twm-software-top { margin-bottom: 16px; }
.twm-software-card h3 { font-family: var(--twm-display-font); font-weight: 500; font-size: 38px; }
.twm-software-preview { width: 100%; margin: 4px 0 24px; border-radius: 8px; overflow: hidden; background: var(--twm-surface-muted); }
.twm-software-preview img { width: 100%; aspect-ratio: 16/10; object-fit: contain; transition: transform 220ms ease; }
.twm-seo-case { background: transparent; border: 0; padding: 0; gap: 48px; }
.twm-plugin-commerce { background: transparent; border: 0; padding: 0; grid-template-columns: 220px minmax(0,1fr); gap: 48px; }
.twm-plugin-symbol { background: transparent; border: 0; padding: 0; align-self: center; }
.twm-plugin-logo { width: min(100%,200px); border-radius: 8px; }

/* Article covers form a separate horizontal gallery. */
.twm-blog-grid.twm-carousel-track { display: flex; gap: 24px; }
.twm-blog-card {
  display: flex;
  flex-direction: column;
  flex: 0 0 min(360px,85vw);
  min-width: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  overflow: hidden;
}
.twm-blog-card:last-child { border: 0; }
.twm-blog-image { display: block; width: 100%; aspect-ratio: 16 / 10; padding: 0; border: 0; border-radius: 8px; background: #EDEFF0; }
.twm-blog-image img { inset: 0; width: 100%; height: 100%; object-fit: contain; }
.twm-blog-copy { display: flex; flex: 1; flex-direction: column; align-items: flex-start; gap: 14px; padding: 24px 0 0; }
.twm-blog-meta { justify-content: flex-start; flex-wrap: wrap; gap: 6px 16px; margin: 0; }
.twm-blog-card h3 { margin: 0; font-size: 24px; line-height: 1.2; font-weight: 600; }
.twm-blog-copy > .twm-text-link { margin-top: auto; padding-top: 10px; font-size: 17px; }
.twm-seo-service { padding-block: 80px; }
.twm-seo-service > .twm-section-heading { max-width: 880px; }
.twm-seo-approaches { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 40px; }
.twm-seo-approaches article { border-top: 1px solid #ABB1B4; padding-top: 24px; }
.twm-seo-mark { display: inline-flex; color: var(--twm-brand-accent-action); margin-bottom: 20px; }
.twm-seo-approaches h3 { font-size: 26px; font-weight: 600; margin: 0 0 12px; line-height: 1.15; }
.twm-seo-approaches p { color: var(--twm-text-muted); margin: 0; }
.twm-plugin-section { background: #E9E9E9; box-shadow: 0 0 0 100vmax #E9E9E9; clip-path: inset(0 -100vmax); padding-block: 72px; }
.twm-plugin-section .twm-plugin-commerce { align-items: center; }
.twm-contact { border: 0; padding: 0; gap: 24px; grid-template-columns: 1fr; justify-items: start; text-align: left; }
.twm-contact h2 { font-size: clamp(38px,4vw,58px); }
.twm-contact-form { padding-top: 40px; padding-bottom: 32px; }
.twm-content.twm-contact-form input[type=submit] { background: var(--twm-brand-accent-action); color: #FFFFFF; border: 0; font-weight: 400; }
.twm-contact-form textarea { min-height: 140px; height: 160px; resize: vertical; }
.twm-footer { background: var(--twm-surface-dark); color: #FFFFFF; }
.twm-footer p, .twm-footer-bottom a { color: #DCE3E7; }
.twm-footer-bottom { border-color: #72808A; }
.twm-footer .twm-brand, .twm-footer .custom-logo-link { padding: 8px 12px; border-radius: 8px; background: var(--twm-header-background); }
.twm-footer a:focus-visible { outline-color: #FFFFFF; }

/* Shared interactions respond quietly to mouse, touch and keyboard. */
.twm-menu a::after { display: none; }
.twm-blog-card h3 a:hover { text-decoration: none; color: var(--twm-brand-accent-action); }
.twm-blog-card:is(:hover,:focus-within) { border-color: var(--twm-border); }
.twm-content a:not(.button), .twm-footer a, .woocommerce-MyAccount-navigation a { transition: color 180ms ease, text-decoration-color 180ms ease; }
.twm-content input, .twm-content textarea, .twm-content select,
.woocommerce input.input-text, .woocommerce textarea, .woocommerce select { transition: border-color 180ms ease, box-shadow 180ms ease; }
.twm-content input:focus, .twm-content textarea:focus, .woocommerce input.input-text:focus, .woocommerce textarea:focus { border-color: var(--twm-brand-accent-action); box-shadow: 0 0 0 3px rgb(228 86 71 / 10%); }
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.twm-content input[type=submit], .twm-content button { transition: background-color 180ms ease, box-shadow 180ms ease; }
.woocommerce :is(a.button,button.button,input.button):is(:hover,:focus-visible), .twm-content input[type=submit]:is(:hover,:focus-visible) { box-shadow: 0 3px 12px rgb(23 31 36 / 10%); }
.woocommerce-MyAccount-navigation li { border-radius: 8px; transition: background-color 180ms ease; }
.woocommerce-MyAccount-navigation li:is(:hover,.is-active) { background: var(--twm-surface-muted); }
.twm-content details { padding-inline: 12px; transition: background-color 180ms ease; }
.twm-content details[open] { background: var(--twm-surface-muted); }
.twm-content summary:hover { color: var(--twm-brand-accent-action); }
.twm-services-band .twm-service-card:is(:hover,:focus-within),
.twm-project-card:is(:hover,:focus-within), .twm-software-card:is(:hover,:focus-within),
.twm-blog-card:is(:hover,:focus-within) { transform: none; box-shadow: none; }
.twm-project-card:focus-within .twm-project-meta h3,
.twm-project-link:hover .twm-project-meta h3 { color: var(--twm-brand-accent-action); }
.twm-project-meta h3 { transition: color 180ms ease; }
@media (hover:hover) and (pointer:fine) {
  .twm-software-card:hover .twm-software-preview img { transform: scale(1.015); }
}
@media (max-width:1000px) {
  .twm-hero { gap: 32px; }
}
@media (max-width:767px) {
  .twm-hero { padding-top: 40px; gap: 32px; }
  .twm-hero h1 { font-size: 52px; }
  .twm-band { padding-block: 40px; }
  .twm-services-band .twm-service-card { padding: 0; }
  .twm-carousel-track > .twm-project-card { flex-basis: 85vw; }
  .twm-project-meta h3 { font-size: 30px; }
  .twm-seo-case { gap: 24px; }
  .twm-plugin-commerce { grid-template-columns: 1fr; gap: 24px; }
  .twm-plugin-symbol { justify-content: flex-start; }
  .twm-plugin-logo { width: 120px; }
  .twm-blog-card { padding: 0; }
  .twm-blog-copy { gap: 14px; }
  .twm-blog-meta { flex-wrap: wrap; gap: 4px 12px; font-size: 11px; }
  .twm-blog-card h3 { font-size: 24px; }
  .twm-seo-approaches { grid-template-columns: 1fr; gap: 28px; }
  .twm-seo-service, .twm-plugin-section { padding-block: 48px; }
}
@media (max-width:389px) { .twm-hero h1 { font-size: 46px; } }
@media (prefers-reduced-motion:reduce) { .twm-software-preview img { transform: none !important; } }

/* multilingual.css */
.twm-language-selector{display:flex;align-items:center;gap:8px;font:inherit;white-space:nowrap;padding-right:6px;border-right:1px solid #dedbd6}
.twm-language-selector a{font:inherit;font-weight:400;text-decoration:none;color:inherit;padding:4px 2px;opacity:.55}
.twm-language-selector a[aria-current=true]{opacity:1;border-bottom:2px solid #d23a2f}
.twm_gva_product_identity{display:flex;gap:18px;align-items:center;margin-bottom:24px}
.twm_gva_official_icon{width:88px;height:88px;border-radius:18px;object-fit:contain}
.twm_gva_lp .twm-currency-switcher{margin:16px 0;max-width:260px}
.twm_gva_lp button,.twm_gva_lp input,.twm_gva_lp select{font-family:utile-narrow,sans-serif;font-weight:400}
.twm-content .twm_gva_lp h1,.twm-content .twm_gva_lp h2,.twm-content .twm_gva_lp h3{font-family:utile-narrow,sans-serif;font-weight:400;line-height:1.08;margin:0;letter-spacing:-.035em}
.twm-content .twm_gva_lp h1{font-size:clamp(38px,5vw,68px)}
.twm_gva_lp strong,.twm_gva_lp b,.twm-content .twm_gva_lp summary{font-weight:400}
.twm_gva_section_dark .twm_gva_card .twm_gva_h3{color:var(--twm_gva_text)}
@media(min-width:761px){.twm-content .twm_gva_lp table.twm_gva_table{display:table}}
html[lang^=en] .twm-content .twm_gva_lp .twm_gva_compare_fixed .twm_gva_table td:nth-child(1)::before{content:"Feature"}
@media(max-width:600px){.twm-language-selector{gap:6px}.twm-header .twm-commerce-links{gap:10px}.twm_gva_official_icon{width:64px;height:64px}}

/* shared-header.css */
/* Shared header: the approved home header applies to every public route. */
body .twm-header,body .twm-header:not(.twm-is-scrolled),body .twm-header.twm-is-scrolled{background:#fbf8f2;border-bottom-color:#ddd9d1}
body .twm-header-inner{width:85%;max-width:1480px;min-height:66px}
body .twm-header :is(.twm-brand,.custom-logo-link){overflow:hidden}
body .twm-header :is(.twm-brand img,.custom-logo){filter:grayscale(1) contrast(2);mix-blend-mode:multiply;transform:translateX(-12px) scale(1.45)}
body .twm-nav-cta{padding:10px 18px;background:#ff2825;border-color:#ff2825;color:#fff}
body .twm-nav-cta:hover{background:#e72220;border-color:#e72220}
@media(max-width:600px){body .twm-header-inner{width:calc(100% - 40px)}}
/* All theme-controlled buttons use the same approved corner radius. */
body :is(button,input[type=submit],input[type=button],input[type=reset],a.button,.twm-button,.twm-blog-filters a,.twm-language-selector a,[class*=twm_gva_btn]){border-radius:8px!important}
.twm-blog-search input{border-radius:8px!important}

/* home.css */
/* Homepage package: preserve brand tokens, Utile Narrow and existing 8px buttons. */
.twm-home h2 { font-size: clamp(34px,3.7vw,54px); line-height: 1.1; margin-top: 0; }
.twm-home h3 { line-height: 1.2; }
.twm-home .twm-section { margin-block: 0; padding-block: 76px; }
.twm-home .twm-hero { grid-template-columns: 1.05fr 1fr; padding-block: 70px 64px; gap: 40px; align-items: center; }
.twm-home .twm-hero h1 { font-size: clamp(42px,4.5vw,66px); line-height: 1.05; }
.twm-home .twm-intro { font-size: 20px; line-height: 1.5; }
.twm-home .twm-hero-benefits { display: flex; gap: 20px; list-style: none; padding: 0; margin: 32px 0 0; }
.twm-home .twm-hero-benefits li { display: flex; gap: 10px; flex: 1; font-size: 15px; line-height: 1.3; }
.twm-home .twm-hero-benefits .twm-icon { width: 21px; height: 21px; }
.twm-home .twm-hero-composition { min-width: 0; padding: 28px 0 0; }
.twm-home .twm-hero-device { margin: 0 0 0 30px; overflow: hidden; border: 1px solid var(--twm-border); border-radius: var(--twm-card-radius); background: var(--twm-surface); box-shadow: 0 16px 36px rgb(23 31 36 / 10%); }
.twm-home .twm-hero-capture { width: 100%; aspect-ratio: 16/10; object-fit: cover; object-position: top; }
.twm-home .twm-hero-device figcaption { padding: 12px 16px; color: var(--twm-text-muted); font-size: 14px; }
.twm-home .twm-hero-platforms { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; position: relative; margin: -8px 24px 0 0; }
.twm-home .twm-hero-platforms > div { background: var(--twm-surface-dark); color: var(--twm-on-dark); border-radius: var(--twm-card-radius); padding: 20px; display: grid; grid-template-columns: 24px 1fr; gap: 10px; }
.twm-home .twm-hero-platforms strong { font-size: 20px; font-weight: 500; }
.twm-home .twm-hero-platforms span { grid-column: 1/-1; font-size: 15px; }
.twm-home .twm-hero-media-note { font-size: 13px; color: var(--twm-text-muted); margin: 12px 0 0; }
.twm-home .twm-services-layout { display: grid; grid-template-columns: .95fr 1.15fr; gap: 64px; align-items: center; }
.twm-home .twm-services-intro { color: var(--twm-on-dark); }
.twm-home .twm-services-intro > p:not(.twm-eyebrow) { color: #DCE3E7; font-size: 20px; margin-bottom: 30px; }
.twm-home .twm-service-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 32px; }
.twm-home .twm-service-card { border-top: 1px solid #72808A; padding: 22px 0 0; }
.twm-home .twm-service-card h3 { font-size: 25px; margin: 16px 0 12px; font-weight: 500; }
.twm-home .twm-service-card p { font-size: 17px; }
.twm-home .twm-service-icon { width: 44px; height: 44px; }
.twm-home .twm-section-heading > p:last-child { max-width: 860px; }
.twm-home .twm-carousel-viewport { padding-left: max(16px,calc((100vw - var(--twm-container))/2)); padding-right: 16px; scroll-snap-type: x proximity; scroll-behavior: smooth; }
.twm-home .twm-carousel-track { gap: 24px; align-items: stretch; }
.twm-home .twm-carousel-track > .twm-project-card { flex: 0 0 calc((min(100vw - 32px,1200px) - 72px)/3.25); display: flex; flex-direction: column; background: var(--twm-surface); border-radius: var(--twm-card-radius); overflow: hidden; scroll-snap-align: start; scroll-margin-left: max(16px,calc((100vw - var(--twm-container))/2)); }
.twm-home .twm-desktop-mockup { border: 0; border-bottom: 1px solid var(--twm-border); border-radius: 0; box-shadow: none; }
.twm-home .twm-project-editorial { padding: 24px; display: flex; flex-direction: column; flex: 1; }
.twm-home .twm-project-editorial .twm-eyebrow { font-size: 11px; letter-spacing: .07em; min-height: 30px; margin: 0 0 10px; }
.twm-home .twm-project-editorial h3 { margin: 0 0 12px; font-size: 27px; font-weight: 600; }
.twm-home .twm-project-editorial > p:not(.twm-eyebrow) { color: var(--twm-text-muted); font-size: 16px; margin: 0 0 20px; }
.twm-home .twm-project-editorial .twm-text-link { margin-top: auto; }
.twm-home .twm-carousel-controls { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 12px; }
.twm-home .twm-carousel-controls p { margin: 0; font-size: 15px; color: var(--twm-text-muted); }
.twm-home .twm-carousel-controls > div { display: flex; gap: 10px; }
.twm-home .twm-carousel-controls button { border: 1px solid var(--twm-border); background: var(--twm-surface); color: var(--twm-brand-accent-action); width: 48px; height: 48px; display: grid; place-items: center; border-radius: var(--twm-button-radius); cursor: pointer; }
.twm-home .twm-carousel-controls button:disabled { opacity: .4; cursor: default; }
.twm-home .twm-carousel-prev svg { transform: rotate(180deg); }
.twm-home .twm-software-feature { gap: 48px; }
.twm-home .twm-software-card .twm-eyebrow { font-size: 11px; min-height: 30px; }
.twm-home .twm-software-preview { aspect-ratio: 16/9; margin: 20px 0; }
.twm-home .twm-software-preview img { aspect-ratio: 16/9; width: 100%; height: 100%; object-fit: contain; }
.twm-home .twm-media-pending { height: 100%; min-height: 170px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 24px; color: var(--twm-text-muted); background: var(--twm-surface-muted); border: 1px dashed var(--twm-border); border-radius: var(--twm-card-radius); }
.twm-home .twm-media-pending > span { font-size: 12px; letter-spacing: .1em; }
.twm-home .twm-media-pending > p { color: var(--twm-text-muted); margin: 12px 0 0; font-size: 16px; }
.twm-home .twm-feature-list { display: flex; flex-wrap: wrap; gap: 12px 20px; padding: 0; list-style: none; color: var(--twm-on-dark); }
.twm-home .twm-feature-list li { display: flex; align-items: center; gap: 6px; font-size: 15px; }
.twm-home .twm-feature-list svg { width: 16px; height: 16px; }
.twm-home .twm-stack { border-top: 1px solid #72808A; padding-top: 16px; font-size: 15px; }
.twm-home .twm-stack span { margin-right: 14px; }
.twm-home .twm-software-closing { margin-top: 40px; padding-top: 32px; border-top: 1px solid #72808A; text-align: center; color: var(--twm-on-dark); }
.twm-home .twm-software-closing h3 { margin: 0 0 14px; font-size: 30px; font-weight: 500; }
.twm-home .twm-software-closing p { margin: 0 auto 24px; max-width: 730px; color: #DCE3E7; }
.twm-home .twm-method-panel { display: grid; grid-template-columns: 1.7fr 1fr; gap: 32px; padding: 28px; background: var(--twm-surface-muted); border-radius: var(--twm-card-radius); margin-top: 40px; }
.twm-home .twm-method-panel h3 { font-size: 22px; margin: 0 0 20px; font-weight: 500; }
.twm-home .twm-method-steps { list-style: none; display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 16px; padding: 0; margin: 0; }
.twm-home .twm-method-steps h4 { font-size: 17px; margin: 0 0 8px; font-weight: 500; }
.twm-home .twm-method-steps p { font-size: 14px; margin: 0; color: var(--twm-text-muted); }
.twm-home .twm-method-plans { border-left: 1px solid var(--twm-border); padding-left: 24px; }
.twm-home .twm-method-plans > p { font-size: 15px; color: var(--twm-text-muted); }
.twm-home .twm-method-plans ul { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 16px 0 0; list-style: none; padding: 0; }
.twm-home .twm-method-plans li { padding: 12px; background: var(--twm-surface); border-radius: var(--twm-card-radius); font-size: 14px; }
.twm-home .twm-naturalia-case { margin-top: 28px; display: grid; grid-template-columns: 1fr .85fr; gap: 40px; padding: 32px; border: 1px solid var(--twm-border); border-radius: var(--twm-card-radius); background: var(--twm-surface); align-items: center; }
.twm-home .twm-naturalia-case h3 { font-size: 32px; font-weight: 500; margin: 0; }
.twm-home .twm-naturalia-case img { aspect-ratio: 16/10; object-fit: contain; border-radius: var(--twm-card-radius); }
.twm-home .twm-wordpress-layout { display: grid; grid-template-columns: 1.5fr 1fr; gap: 44px; }
.twm-home .twm-wordpress-capabilities { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; margin: 30px 0; }
.twm-home .twm-wordpress-capabilities article { border-top: 1px solid var(--twm-border); padding-top: 20px; }
.twm-home .twm-wordpress-capabilities svg { color: var(--twm-brand-accent-action); }
.twm-home .twm-wordpress-capabilities h3 { font-size: 21px; font-weight: 500; margin: 14px 0 10px; }
.twm-home .twm-wordpress-capabilities p { font-size: 16px; color: var(--twm-text-muted); }
.twm-home .twm-featured-plugin { border: 1px solid var(--twm-border); border-radius: var(--twm-card-radius); background: var(--twm-surface); padding: 28px; }
.twm-home .twm-featured-plugin-heading { display: flex; gap: 20px; align-items: center; }
.twm-home .twm-featured-plugin-heading h3 { font-size: 30px; font-weight: 500; margin: 0; }
.twm-home .twm-featured-plugin .twm-plugin-logo { width: 72px; height: 72px; }
.twm-home .twm-plugin-preview { margin: 24px 0; }
.twm-home .twm-blog-heading-row { display: flex; justify-content: space-between; align-items: center; gap: 24px; }
.twm-home .twm-blog-heading-row h2 { margin-bottom: 0; }
.twm-home .twm-blog-heading-row > a { flex-shrink: 0; }
.twm-home .twm-blog-card { flex: 0 0 calc((min(100vw - 32px,1200px) - 72px)/4.25); background: var(--twm-surface); border-radius: var(--twm-card-radius); scroll-snap-align: start; scroll-margin-left: max(16px,calc((100vw - var(--twm-container))/2)); }
.twm-home .twm-blog-image { border-radius: 0; aspect-ratio: 16/10; }
.twm-home .twm-blog-copy { padding: 20px; gap: 12px; }
.twm-home .twm-blog-meta { font-size: 12px; }
.twm-home .twm-blog-card h3 { font-size: 22px; }
.twm-home .twm-blog-excerpt { font-size: 15px; color: var(--twm-text-muted); margin: 0; }
.twm-home .twm-home-contact-layout { display: grid; grid-template-columns: .9fr 1.1fr; gap: 64px; align-items: center; }
.twm-home .twm-home-contact-copy > p:not(.twm-eyebrow) { font-size: 20px; }
.twm-home .twm-contact-note { margin-top: 30px; padding-top: 24px; border-top: 1px solid #72808A; font-size: 17px !important; }
.twm-home .twm-home-contact-panel { background: var(--twm-surface); color: var(--twm-text-primary); padding: 32px; border-radius: var(--twm-card-radius); }
.twm-home .twm-home-contact-panel h3 { font-size: 28px; font-weight: 500; margin: 0 0 24px; }
.twm-home .twm-contact-form { width: 100%; padding: 0; margin: 0; max-width: none; }
.twm-home .twm-contact-form p { color: var(--twm-text-primary); margin: 0 0 18px; }
.twm-home .twm-contact-form label { font-size: 16px; font-weight: 400; display: block; }
.twm-home .twm-contact-form input, .twm-home .twm-contact-form select { min-height: 46px; width: 100%; }
.twm-home .twm-contact-form :is(input,select,textarea) { margin-top: 6px; background: var(--twm-surface); color: var(--twm-text-primary); }
.twm-home .twm-contact-form input[type=submit] { width: 100%; margin: 0; }
.twm-home .twm-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.twm-home .twm-home-contact-panel .twm-home-privacy { color: var(--twm-text-muted); font-size: 13px; margin: 16px 0 0; }
.twm-home .wpcf7-response-output { color: var(--twm-text-primary); }
.twm-home .twm-blog-carousel .twm-carousel-controls { padding-block: 0; }
@media(min-width:1600px) { .twm-home .twm-carousel-track > .twm-project-card { flex-basis: 350px; } .twm-home .twm-blog-card { flex-basis: 280px; } }
@media(max-width:1100px) { .twm-home .twm-services-layout { gap: 32px; } .twm-home .twm-method-panel { grid-template-columns: 1fr; } .twm-home .twm-method-plans { border-left: 0; border-top: 1px solid var(--twm-border); padding: 24px 0 0; } .twm-home .twm-home-contact-layout { gap: 32px; } .twm-home .twm-wordpress-layout { gap: 28px; } }
@media(min-width:768px) and (max-width:1100px) { .twm-home .twm-carousel-track > .twm-project-card { flex-basis: 42vw; } .twm-home .twm-blog-card { flex-basis: 34vw; } }
@media(max-width:900px) { .twm-home .twm-hero { grid-template-columns: 1fr; } .twm-home .twm-hero-composition { max-width: 600px; padding-top: 0; } .twm-home .twm-services-layout { grid-template-columns: 1fr; } .twm-home .twm-services-intro { max-width: 640px; } .twm-home .twm-wordpress-layout { grid-template-columns: 1fr; } .twm-home .twm-home-contact-layout { grid-template-columns: 1fr; } .twm-home .twm-home-contact-copy { max-width: 640px; } }
@media(max-width:767px) { .twm-home .twm-section { padding-block: 48px; } .twm-home .twm-hero { padding-block: 40px 48px; } .twm-home .twm-hero h1 { font-size: clamp(42px,9vw,58px); } .twm-home .twm-hero-benefits { flex-direction: column; gap: 14px; } .twm-home .twm-hero-device { margin-left: 14px; } .twm-home .twm-hero-platforms { margin-right: 8px; gap: 10px; } .twm-home .twm-hero-platforms > div { padding: 16px 12px; } .twm-home .twm-carousel-track > .twm-project-card { flex-basis: 82vw; } .twm-home .twm-blog-card { flex-basis: 78vw; } .twm-home .twm-project-editorial { padding: 20px; } .twm-home .twm-software-feature { grid-template-columns: 1fr; gap: 40px; } .twm-home .twm-method-panel { padding: 20px; } .twm-home .twm-method-steps { grid-template-columns: 1fr; gap: 22px; } .twm-home .twm-method-steps p { font-size: 16px; } .twm-home .twm-naturalia-case { grid-template-columns: 1fr; padding: 22px; gap: 24px; } .twm-home .twm-blog-heading-row { align-items: flex-start; flex-direction: column; } .twm-home .twm-blog-heading-row > a { flex-shrink: 1; } .twm-home .twm-home-contact-panel { padding: 24px; } .twm-home .twm-form-row { grid-template-columns: 1fr; gap: 0; } .twm-home .twm-wordpress-capabilities { grid-template-columns: 1fr; } }
@media(max-width:479px) { .twm-home .twm-service-grid { grid-template-columns: 1fr; } .twm-home .twm-featured-plugin { padding: 22px; } .twm-home .twm-featured-plugin-heading { flex-wrap: wrap; } .twm-home .twm-home-contact-panel { padding: 20px; } .twm-home .twm-method-plans ul { grid-template-columns: 1fr; } }
@media(prefers-reduced-motion:reduce) { .twm-home .twm-carousel-viewport { scroll-behavior: auto; } }

/* The supplied compositions are the design specification. */
.twm-home .twm-loop-dots { list-style: none; display: flex; justify-content: center; gap: 10px; padding: 0; margin: 0 auto; }
.twm-home .twm-loop-dots button { width: 9px; height: 9px; min-width: 9px; padding: 0; border: 0; border-radius: 50%; background: var(--twm-border); }
.twm-home .twm-loop-dots button[aria-current=true] { background: var(--twm-brand-accent-action); }
.twm-home .twm-loop-dots button::before { content: ''; position: absolute; inset: -8px; }
.twm-home .twm-loop-dots li { position: relative; }

.twm-home { --twm-home-gutter: 6vw; --twm-home-width: 1480px; font-family: var(--twm-font); }
.twm-home :is(h1,h2,h3,h4,.twm-button,.twm-text-link) { font-family: inherit; }
.twm-home .twm-hero-line { display: block; }
.twm-home .twm-container { width: calc(100% - 2 * var(--twm-home-gutter)); max-width: var(--twm-home-width); }
body.home .twm-header-inner { width: 88%; max-width: 1480px; }
.twm-home .twm-section { padding-block: 64px; }
.twm-home p { font-size: 19px; line-height: 1.5; }
.twm-home .twm-eyebrow { display: flex; align-items: center; gap: 12px; font-size: 12px; letter-spacing: .12em; font-weight: 500; margin-bottom: 26px; }
.twm-home .twm-eyebrow::before { content: ''; width: 26px; height: 2px; background: var(--twm-brand-accent-visual); flex: 0 0 26px; }
.twm-home .twm-dot { display: none; }
.twm-home .twm-editorial-emphasis { display: block; font-family: 'ivyora-display',var(--twm-font); font-style: italic; font-weight: 500; }
.twm-home .twm-hero { grid-template-columns: 48% 52%; gap: 0; padding-block: 64px 42px; }
.twm-home .twm-hero h1 { font-size: clamp(58px,5.55vw,92px); line-height: .99; letter-spacing: -.025em; max-width: 660px; }
.twm-home .twm-hero-copy { position: relative; z-index: 3; padding-right: 12px; }
.twm-home .twm-hero .twm-intro { font-size: clamp(18px,1.4vw,23px); line-height: 1.38; margin-top: 28px; }
.twm-home .twm-actions { margin-top: 30px; }
.twm-home .twm-button { padding: 15px 24px; font-size: 19px; font-weight: 400; }
.twm-home .twm-hero-benefits { margin-top: 48px; gap: 22px; }
.twm-home .twm-hero-benefits li { font-size: 16px; }
.twm-home .twm-hero-benefits li + li { border-left: 1px solid var(--twm-border); padding-left: 18px; }
.twm-home .twm-hero-composition { position: relative; min-height: 620px; padding: 0; isolation: isolate; }
.twm-home .twm-device { position: absolute; overflow: hidden; border-radius: 14px; box-shadow: 0 18px 36px rgb(23 31 36 / 16%); background: var(--twm-surface); }
.twm-home .twm-device img { width: 100%; height: 100%; object-fit: cover; object-position: left top; }
.twm-home .twm-device-tablet { width: 48%; height: 320px; left: 5%; top: 86px; border: 9px solid var(--twm-text-primary); transform: rotate(-9deg); }
.twm-home .twm-device-store { width: 53%; height: 310px; right: -3%; top: 120px; border: 6px solid var(--twm-surface); transform: rotate(9deg); }
.twm-home .twm-device-laptop { width: 83%; height: 300px; left: 6%; top: 296px; border: 12px solid var(--twm-text-primary); border-bottom-width: 19px; border-radius: 17px 17px 7px 7px; z-index: 2; }
.twm-home .twm-device-laptop img { object-fit: cover; }
.twm-home .twm-laptop-base { position: absolute; z-index: 3; top: 591px; left: -1%; width: 96%; height: 17px; border-radius: 3px 3px 50% 50%; background: linear-gradient(#D8DADC,#84898D); box-shadow: 0 12px 15px rgb(23 31 36 / 12%); }
.twm-home .twm-device-note { position: absolute; font-family: 'ivyora-display',serif; font-style: italic; font-size: 23px; line-height: 1.1; color: var(--twm-text-muted); transform: rotate(-7deg); }
.twm-home .twm-note-platform { left: 10%; top: 22px; }
.twm-home .twm-note-store { right: 0; top: 35px; transform: rotate(7deg); }
.twm-home .twm-note-system { right: -1%; top: 520px; z-index: 4; background: var(--twm-page); padding: 8px; }
.twm-home .twm-hero-media-note { position: absolute; bottom: -25px; left: 8%; font-size: 11px; }
.twm-home .twm-services-layout { grid-template-columns: 47% 53%; gap: 0; align-items: center; }
.twm-home .twm-services-intro { padding-right: 55px; }
.twm-home .twm-services-intro h2 { font-family: 'ivyora-display',var(--twm-font); font-size: clamp(48px,4.85vw,82px); font-weight: 500; line-height: .98; letter-spacing: -.025em; }
.twm-home .twm-services-intro .twm-editorial-emphasis { color: color-mix(in srgb,var(--twm-page) 85%,var(--twm-brand-accent-visual)); }
.twm-home .twm-services-intro > p:not(.twm-eyebrow) { font-size: 21px; line-height: 1.55; margin: 36px 0; }
.twm-home .twm-service-grid { gap: 0; }
.twm-home .twm-service-card { padding: 28px; border-top: 0; }
.twm-home .twm-service-card:nth-child(even) { border-left: 1px solid #72808A; }
.twm-home .twm-service-card:nth-child(n+3) { border-top: 1px solid #72808A; }
.twm-home .twm-service-icon { width: 70px; height: 70px; border-radius: 50%; border: 1px solid #72808A; }
.twm-home .twm-service-icon svg { width: 33px; height: 33px; }
.twm-home .twm-service-card h3 { font-family: 'ivyora-display',var(--twm-font); font-size: 29px; font-weight: 600; margin-top: 18px; }
.twm-home .twm-service-card p { font-size: 18px; line-height: 1.5; }
.twm-home .twm-service-card .twm-text-link { font-size: 19px; }
.twm-home .twm-section-heading h2 { font-size: clamp(38px,3.5vw,60px); }
.twm-home #software > .twm-section-heading { max-width: 1120px; margin-left: 6%; }
.twm-home #twm-software-title { font-family: 'ivyora-display',var(--twm-font); font-size: clamp(46px,4.4vw,72px); font-weight: 500; line-height: .96; max-width: 960px; }
.twm-home .twm-software-card .twm-eyebrow { font-size: 11px; min-height: 32px; margin-bottom: 5px; }
.twm-home .twm-software-card .twm-eyebrow::before { display: none; }
.twm-home .twm-software-card h3 { font-size: 38px; font-weight: 400; margin: 0; }
.twm-home .twm-software-preview { position: relative; overflow: visible; height: 300px; aspect-ratio: auto; border-radius: 8px; background: transparent; margin: 12px 0; }
.twm-home .twm-software-preview > img { width: 100%; height: 100%; object-fit: cover; border-radius: 8px; }
.twm-home .twm-software-highinvite .twm-software-preview > img { width: 86%; object-position: top left; }
.twm-home .twm-invitation-phone { position: absolute; width: 30%; height: 112%; right: 1%; top: -7%; border: 7px solid var(--twm-text-primary); border-radius: 27px; overflow: hidden; box-shadow: 0 12px 22px rgb(0 0 0 / 15%); transform: rotate(3deg); }
.twm-home .twm-invitation-phone img { height: 100%; width: 100%; object-fit: cover; object-position: top; }
.twm-home .twm-software-card p:not(.twm-eyebrow):not(.twm-demo-caption):not(.twm-stack) { font-size: 17px; max-width: none; margin: 16px 0; }
.twm-home .twm-demo-caption { font-size: 11px; margin: 6px 0 12px; color: #DCE3E7; }
.twm-home .twm-feature-list { gap: 14px; }
.twm-home .twm-feature-list svg { border: 1px solid var(--twm-brand-accent-visual); border-radius: 50%; width: 28px; height: 28px; padding: 5px; color: var(--twm-brand-accent-visual); }
.twm-home .twm-stack { border-top: 0; border-left: 1px solid #72808A; padding: 5px 0 5px 16px; }
.twm-home .twm-software-closing { margin-top: 32px; padding-top: 20px; }
.twm-home .twm-software-closing h3 { font-family: 'ivyora-display',var(--twm-font); font-size: 38px; }
.twm-home .twm-visibility-heading { display: grid; grid-template-columns: 1.4fr 1fr; align-items: center; gap: 30px; }
.twm-home .twm-search-composition { position: relative; height: 240px; }
.twm-home .twm-search-sheet,.twm-home .twm-ai-sheet { background: var(--twm-surface); border: 1px solid var(--twm-border); border-radius: 18px; box-shadow: 0 10px 26px rgb(23 31 36 / 6%); position: absolute; padding: 24px; }
.twm-home .twm-search-sheet { left: 0; top: 0; width: 78%; transform: rotate(-7deg); }
.twm-home .twm-search-sheet p { display: flex; align-items: center; gap: 12px; border-bottom: 1px solid var(--twm-border); padding-bottom: 16px; margin-bottom: 16px; font-size: 17px; }
.twm-home .twm-search-sheet strong,.twm-home .twm-search-sheet span { display: block; font-size: 16px; margin-bottom: 8px; }
.twm-home .twm-search-sheet i { display: block; width: 70%; height: 7px; background: var(--twm-border); margin: 9px 0; border-radius: 4px; }
.twm-home .twm-ai-sheet { right: 0; top: 65px; width: 48%; transform: rotate(8deg); }
.twm-home .twm-ai-sheet strong { font-size: 16px; display: block; margin: 10px 0; }
.twm-home .twm-ai-sheet p { font-size: 16px; }
.twm-home .twm-ai-sheet span { font-size: 10px; color: var(--twm-text-muted); }
.twm-home .twm-seo-approaches { gap: 0; margin-top: 14px; }
.twm-home .twm-seo-approaches article { border-top: 0; padding: 0 30px; }
.twm-home .twm-seo-approaches article:first-child { padding-left: 0; }
.twm-home .twm-seo-approaches article + article { border-left: 1px solid var(--twm-border); }
.twm-home .twm-seo-mark { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 50%; background: var(--twm-surface-muted); }
.twm-home .twm-method-panel { grid-template-columns: 2fr 1.05fr; padding: 30px; gap: 30px; margin-top: 30px; border-radius: 18px; }
.twm-home .twm-method-panel h3 { font-size: 19px; }
.twm-home .twm-method-steps { gap: 18px; }
.twm-home .twm-method-steps li::before { content: '→'; display: block; color: var(--twm-brand-accent-action); font-size: 30px; margin-bottom: 18px; }
.twm-home .twm-method-steps p { font-size: 14px; }
.twm-home .twm-naturalia-case { margin-top: 20px; background: var(--twm-surface-muted); border-radius: 18px; padding: 28px; }
.twm-home .twm-wordpress-layout { gap: 48px; }
.twm-home .twm-plugin-section { box-shadow: none; clip-path: none; padding: 50px !important; border-radius: 32px; background: var(--twm-surface-muted); }
.twm-home .twm-wordpress-capabilities { gap: 16px; }
.twm-home .twm-wordpress-capabilities article { border: 0; background: var(--twm-surface); border-radius: 20px; padding: 22px 16px; }
.twm-home .twm-wordpress-capabilities article > svg { width: 44px; height: 44px; padding: 9px; border-radius: 50%; background: var(--twm-surface-muted); }
.twm-home .twm-wordpress-capabilities p { font-size: 15px; }
.twm-home .twm-featured-plugin { padding: 32px; border-radius: 26px; border: 0; }
.twm-home .twm-featured-plugin .twm-plugin-logo { width: 92px; height: 92px; }
.twm-home .twm-plugin-preview { background: var(--twm-text-primary); padding: 8px; border-radius: 10px; position: relative; }
.twm-home .twm-plugin-preview img { width: 100%; height: 230px; object-fit: cover; object-position: 70% 40%; border-radius: 4px; }
.twm-home .twm-plugin-preview::after { content: ''; display: block; height: 12px; width: 110%; margin: 8px -5% -15px; border-radius: 2px 2px 50% 50%; background: linear-gradient(#D8DADC,#84898D); }
.twm-home .twm-projects-wide,.twm-home .twm-blog-wide { position: relative; width: 100%; }
.twm-home .twm-carousel-viewport { padding-inline: 4.8vw; }
.twm-home .twm-carousel-track { gap: 28px; }
.twm-home .twm-carousel-track > .twm-project-card { flex-basis: 26vw; max-width: 450px; scroll-margin-left: 4.8vw; }
.twm-home .twm-project-image { aspect-ratio: 1.33; }
.twm-home .twm-project-editorial { padding: 24px; }
.twm-home .twm-project-editorial .twm-eyebrow::before { display: none; }
.twm-home .twm-project-editorial .twm-eyebrow { min-height: 32px; font-size: 10px; margin-bottom: 8px; }
.twm-home .twm-carousel-controls > div { position: absolute; top: 145px; right: 6vw; }
.twm-home .twm-carousel-controls button { border-radius: 50%; width: 48px; height: 48px; }
.twm-home .twm-blog-carousel .twm-carousel-controls > div { top: 57%; left: 16px; right: 16px; justify-content: space-between; pointer-events: none; }
.twm-home .twm-blog-carousel .twm-carousel-controls button { pointer-events: auto; box-shadow: 0 4px 16px rgb(23 31 36 / 7%); }
.twm-home .twm-blog-card { flex-basis: 18.4vw; max-width: 340px; scroll-margin-left: 4.8vw; border-radius: 14px; box-shadow: 0 6px 14px rgb(23 31 36 / 4%); }
.twm-home .twm-blog-card h3 { font-size: 23px; line-height: 1.15; }
.twm-home .twm-blog-excerpt { font-size: 17px; line-height: 1.45; }
.twm-home .twm-blog-meta { font-size: 13px; }
.twm-home .twm-contact-band { box-shadow: none; clip-path: none; border-radius: 24px; padding: 64px !important; margin-block: 18px 60px; }
.twm-home .twm-home-contact-layout { grid-template-columns: .85fr 1.15fr; gap: 64px; }
.twm-home .twm-home-contact-copy h2 { font-size: clamp(40px,3.65vw,60px); line-height: 1.06; max-width: 500px; }
.twm-home .twm-home-contact-copy .twm-editorial-emphasis { font-family: inherit; font-style: normal; color: color-mix(in srgb,var(--twm-page) 85%,var(--twm-brand-accent-visual)); }
.twm-home .twm-home-contact-copy > p:not(.twm-eyebrow) { margin-top: 32px; font-size: 20px; line-height: 1.55; }
.twm-home .twm-home-contact-panel { padding: 34px; border-radius: 16px; }
.twm-home .twm-home-contact-panel h3 { margin-bottom: 8px; }
.twm-home .twm-home-contact-panel .twm-form-intro { color: var(--twm-text-muted); font-size: 15px; margin-bottom: 26px; }
.twm-home .twm-contact-form label { font-size: 14px; }
.twm-home .twm-contact-form textarea { min-height: 110px; height: 120px; }
.twm-home .twm-contact-form :is(input,select,textarea) { border-color: var(--twm-border); }
.twm-home .twm-contact-form p { margin-bottom: 16px; }
@media(max-width:1100px) { .twm-home .twm-hero h1 { font-size: 64px; } .twm-home .twm-hero-composition { min-height: 540px; transform: scale(.88); transform-origin: center; } .twm-home .twm-services-intro { padding-right: 25px; } .twm-home .twm-service-card { padding: 20px; } .twm-home .twm-method-panel { grid-template-columns: 1fr; } .twm-home .twm-home-contact-layout { gap: 32px; } .twm-home .twm-contact-band { padding: 40px !important; } .twm-home .twm-carousel-track > .twm-project-card { flex-basis: 40vw; } .twm-home .twm-blog-card { flex-basis: 30vw; } }
@media(max-width:900px) { .twm-home .twm-hero { grid-template-columns: 1fr; } .twm-home .twm-hero-composition { width: 100%; max-width: 700px; margin-inline: auto; transform: none; min-height: 640px; } .twm-home .twm-services-layout { grid-template-columns: 1fr; } .twm-home .twm-services-intro { padding: 0; margin-bottom: 32px; } .twm-home .twm-services-intro h2 { max-width: 660px; } .twm-home .twm-visibility-heading { grid-template-columns: 1fr; } .twm-home .twm-search-composition { max-width: 480px; margin-bottom: 40px; } .twm-home .twm-home-contact-layout { grid-template-columns: 1fr; } }
@media(max-width:767px) { .twm-home { --twm-home-gutter: 20px; } .twm-home .twm-section { padding-block: 42px; } .twm-home .twm-hero { padding-top: 36px; } .twm-home .twm-hero h1 { font-size: clamp(46px,10.8vw,70px); } .twm-home .twm-hero .twm-intro { font-size: 19px; } .twm-home .twm-hero-benefits { margin-top: 28px; } .twm-home .twm-hero-benefits li + li { border: 0; padding-left: 0; } .twm-home .twm-hero-composition { min-height: 410px; margin-top: 28px; } .twm-home .twm-device-tablet { top: 45px; height: 210px; border-width: 6px; } .twm-home .twm-device-store { top: 60px; height: 200px; right: 0; } .twm-home .twm-device-laptop { top: 180px; height: 190px; border-width: 7px; border-bottom-width: 12px; } .twm-home .twm-laptop-base { top: 364px; height: 12px; } .twm-home .twm-device-note { font-size: 17px; } .twm-home .twm-note-platform { top: 0; } .twm-home .twm-note-store { top: 0; } .twm-home .twm-note-system { top: 330px; font-size: 14px; } .twm-home .twm-hero-media-note { bottom: 2px; left: 0; font-size: 10px; } .twm-home .twm-services-intro h2 { font-size: 50px; } .twm-home .twm-service-grid { grid-template-columns: 1fr; } .twm-home .twm-service-card,.twm-home .twm-service-card:nth-child(even) { padding: 28px 0; border-left: 0; border-top: 1px solid #72808A; } .twm-home .twm-service-card h3 { font-size: 30px; } .twm-home #software > .twm-section-heading { margin-left: 0; } .twm-home #twm-software-title { font-size: 48px; } .twm-home .twm-software-preview { height: 225px; } .twm-home .twm-software-feature { gap: 44px; } .twm-home .twm-demo-caption { font-size: 10px; } .twm-home .twm-seo-approaches article { padding: 24px 0; } .twm-home .twm-seo-approaches article + article { border-left: 0; border-top: 1px solid var(--twm-border); } .twm-home .twm-search-composition { height: 245px; margin: 0 0 26px; } .twm-home .twm-search-sheet,.twm-home .twm-ai-sheet { padding: 18px; } .twm-home .twm-method-panel { padding: 24px; } .twm-home .twm-method-steps { gap: 16px; } .twm-home .twm-method-steps li::before { display: none; } .twm-home .twm-plugin-section { padding: 28px 22px !important; border-radius: 24px; } .twm-home .twm-featured-plugin { padding: 24px; } .twm-home .twm-carousel-track > .twm-project-card { flex-basis: 81vw; } .twm-home .twm-blog-card { flex-basis: 78vw; } .twm-home .twm-carousel-viewport { padding-inline: 20px; } .twm-home .twm-carousel-controls > div { position: static; } .twm-home .twm-blog-carousel .twm-carousel-controls > div { position: static; pointer-events: auto; } .twm-home .twm-contact-band { width: calc(100% - 28px); border-radius: 20px; padding: 30px 24px !important; margin-bottom: 36px; } .twm-home .twm-home-contact-copy h2 { font-size: 40px; } .twm-home .twm-home-contact-panel { padding: 24px 20px; } .twm-home .twm-home-contact-copy > p:not(.twm-eyebrow) { font-size: 18px; margin-top: 24px; } .twm-home .twm-home-contact-panel .twm-form-intro { font-size: 14px; } .twm-home .twm-contact-form label { font-size: 15px; } }

/* Owner typography: Utile Narrow Regular / available Ivy Ora Display Italic. */
.twm-home { --twm-font: 'utile-narrow',sans-serif; --twm-secondary-font: 'ivyora-display',serif; font-family: var(--twm-font); font-weight: 400; font-synthesis: none; }
.twm-home :is(h1,h2,h3,h4,strong,.twm-button,.twm-text-link,.twm-eyebrow,label) { font-weight: 400; }
.twm-home :is(.twm-editorial-emphasis,.twm-services-intro h2,#twm-software-title,.twm-software-closing h3,.twm-device-note) { font-family: var(--twm-secondary-font); font-weight: 100; }
.twm-home .twm-home-contact-copy .twm-editorial-emphasis { font-family: var(--twm-font); font-weight: 400; }
.twm-home .twm-home-contact-panel,.twm-home .twm-home-contact-layout > * { min-width: 0; }
.twm-home .twm-contact-form select { min-width: 0; max-width: 100%; }
@media(max-width:767px) { .twm-home .twm-hero-line { white-space: normal; } .twm-home .twm-hero-composition { overflow: clip; } }

.twm-home :is(.twm-editorial-emphasis,.twm-services-intro h2,#twm-software-title,.twm-software-closing h3,.twm-device-note) { font-weight: 400; font-style: italic; }
.twm-home .twm-home-contact-copy .twm-editorial-emphasis { font-style: normal; }
.twm-home .twm-carousel-controls { flex-wrap: wrap; }
.twm-home .twm-carousel-controls .twm-loop-dots { flex-basis: 100%; margin-top: 12px; }
.twm-home .twm-carousel-controls .twm-loop-dots span { display: block; width: 9px; height: 9px; border-radius: 50%; background: var(--twm-border); }
.twm-home .twm-carousel-controls .twm-loop-dots span[aria-current=true] { background: var(--twm-brand-accent-action); }
.twm-home .twm-carousel-viewport { scroll-behavior: auto; scroll-snap-type: none; }
.twm-home #twm-contact-title .twm-editorial-emphasis { font-family: var(--twm-font); font-weight: 400; font-style: normal; }
#twm-main.twm-home :is(h1,h2,h3,h4,strong,.twm-button,.twm-text-link,.twm-eyebrow,label) { font-weight: 400; }
.twm-home .twm-tech-strip { background: var(--twm-header-background); padding-block: 22px; }
.twm-home .twm-tech-content { display: flex; justify-content: space-between; align-items: center; gap: 24px; }
.twm-home .twm-tech-content > p { font-size: 12px; line-height: 1.4; color: var(--twm-text-primary); }
.twm-home .twm-tech-content > span { font-size: 23px; font-weight: 400; }
.twm-home .twm-tech-content > p:last-child { border-left: 1px solid var(--twm-text-muted); padding-left: 22px; font-size: 14px; }
.twm-home .twm-device-note::after { content: '↘'; display: block; font-size: 36px; line-height: .8; font-family: var(--twm-font); }
.twm-home .twm-note-system::after { content: '↖'; }
@media(max-width:767px) { .twm-home .twm-tech-content { flex-wrap: wrap; gap: 18px 24px; } .twm-home .twm-tech-content > p:first-child { flex-basis: 100%; } .twm-home .twm-tech-content > span { font-size: 19px; } .twm-home .twm-tech-content > p:last-child { border-left: 0; padding-left: 0; } .twm-home .twm-device-note::after { font-size: 24px; } }

/* home-details.css */
/* These two approved compositions have their own proportions and density. */
#productos.twm-plugin-section { width: calc(100% - 32px); max-width: 1760px; margin-inline: auto; padding: 40px 4.8vw !important; border-radius: 32px; background: linear-gradient(125deg,var(--twm-surface-muted),var(--twm-header-background)); }
#productos .twm-wordpress-layout { grid-template-columns: minmax(0,1.45fr) minmax(0,1fr); gap: 36px; align-items: center; }
#productos .twm-wordpress-main { min-width: 0; padding-right: 24px; border-right: 1px solid var(--twm-border); }
#productos .twm-eyebrow { font-size: 12px; letter-spacing: .1em; margin-bottom: 22px; }
#twm-wordpress-title { font-size: clamp(42px,4.25vw,70px); line-height: 1.04; letter-spacing: -.025em; margin: 0 0 24px; }
#twm-wordpress-title > span { display: block; }
#productos .twm-wordpress-description p { font-size: clamp(18px,1.5vw,24px); line-height: 1.35; margin: 0 0 12px; }
#productos .twm-wordpress-capabilities { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; margin: 28px 0 24px; }
#productos .twm-wordpress-capabilities article { display: flex; align-items: center; gap: 14px; min-height: 100px; padding: 20px 18px; border-radius: 20px; background: color-mix(in srgb,var(--twm-surface) 88%,transparent); }
#productos .twm-wordpress-capabilities h3 { font-size: clamp(18px,1.45vw,24px); line-height: 1.15; margin: 0; }
#productos .twm-capability-icon { width: 54px; height: 54px; flex: 0 0 54px; display: grid; place-items: center; border-radius: 50%; background: color-mix(in srgb,var(--twm-brand-accent-visual) 13%,var(--twm-surface)); color: var(--twm-brand-accent-action); }
#productos .twm-capability-icon svg { width: 30px; height: 30px; }
#productos .twm-featured-plugin { position: relative; min-width: 0; border-radius: 38px; padding: 30px; background: color-mix(in srgb,var(--twm-surface) 78%,transparent); border: 0; }
#productos .twm-featured-plugin > .twm-eyebrow { font-size: 11px; margin-bottom: 20px; padding-right: 105px; }
#productos .twm-featured-plugin-heading { display: block; }
#productos .twm-featured-plugin-heading h3 { width: calc(100% - 125px); font-size: clamp(28px,2.35vw,40px); line-height: 1.12; margin: 0 0 18px; }
#productos .twm-plugin-logo { position: absolute; width: 118px; height: 118px; right: 26px; top: 36px; border-radius: 14px; }
#productos .twm-plugin-description { width: calc(100% - 160px); font-size: clamp(18px,1.35vw,22px); line-height: 1.4; margin: 0 0 20px; }
#productos .twm-plugin-description > span { display: block; }
#productos .twm-plugin-description > span + span { margin-top: 6px; }
#productos .twm-featured-plugin > .twm-text-link { position: relative; z-index: 2; font-size: 19px; margin-bottom: 2px; }
#productos .twm-plugin-scene { position: relative; min-height: 225px; margin-top: 14px; padding-left: 17%; display: flex; align-items: flex-end; isolation: isolate; }
#productos .twm-plugin-scene::before { content: ''; position: absolute; right: -30px; bottom: 0; width: 82%; height: 105%; border-radius: 50% 50% 30% 30%; background: color-mix(in srgb,var(--twm-header-background) 62%,transparent); z-index: -2; }
.twm-botanical { pointer-events: none; }
#productos .twm-plugin-leaves { position: absolute; left: -15px; bottom: 0; width: 47%; height: 220px; object-fit: contain; transform: rotate(-19deg); z-index: -1; }
#productos .twm-plugin-preview { width: 100%; margin: 0 0 12px; padding: 9px 9px 12px; border-radius: 12px 12px 5px 5px; box-shadow: 0 10px 15px rgb(23 31 36 / 12%); }
#productos .twm-plugin-preview img { width: 100%; height: 200px; object-fit: cover; object-position: center; border-radius: 4px; }
#productos .twm-plugin-preview::after { height: 12px; width: 115%; margin-inline: -7.5%; }

#seo-geo.twm-seo-service { width: calc(100% - 7vw); max-width: 1536px; padding-block: 46px; }
#seo-geo .twm-visibility-heading { grid-template-columns: 1.23fr 1fr; gap: 32px; align-items: center; padding-inline: 2.5%; margin-bottom: 30px; }
#seo-geo .twm-section-heading { max-width: none; margin: 0; }
#seo-geo .twm-eyebrow { font-size: 11px; margin-bottom: 20px; letter-spacing: .09em; }
#twm-seo-title { font-size: clamp(38px,3.85vw,60px); line-height: 1.04; margin: 0 0 20px; letter-spacing: -.025em; }
#twm-seo-title > span { display: block; }
#seo-geo .twm-section-heading > p:last-child { font-size: clamp(17px,1.24vw,20px); line-height: 1.42; margin: 0; }
#seo-geo .twm-search-composition { position: relative; height: 240px; max-width: none; margin: 0; isolation: isolate; }
#seo-geo .twm-search-leaves-left { position: absolute; width: 185px; height: 260px; left: -38px; top: -8px; transform: rotate(-15deg); z-index: -1; }
#seo-geo .twm-search-leaves-right { position: absolute; width: 200px; height: 245px; right: 8px; top: -40px; transform: scaleX(-1) rotate(-20deg); z-index: -1; }
#seo-geo .twm-search-sheet { width: 76%; height: 214px; top: 8px; left: 10px; padding: 18px; border-radius: 20px; transform: rotate(-6deg); background: color-mix(in srgb,var(--twm-surface) 90%,var(--twm-page)); }
#seo-geo .twm-search-sheet > p { display: flex; gap: 12px; align-items: center; padding: 10px 12px; margin: 0 0 22px; background: var(--twm-surface); box-shadow: 0 2px 5px rgb(23 31 36 / 9%); border: 1px solid var(--twm-border); border-radius: 12px; font-size: 16px; white-space: nowrap; }
#seo-geo .twm-search-sheet > p > .twm-icon { width: 17px; height: 17px; margin-left: auto; }
#seo-geo .twm-google-symbol { font-family: sans-serif; font-size: 24px; line-height: 1; background: conic-gradient(#4285f4 0deg 100deg,#34a853 100deg 185deg,#fbbc05 185deg 240deg,#ea4335 240deg 290deg,#4285f4 290deg); color: transparent; background-clip: text; margin: 0; }
#seo-geo .twm-search-result { display: flex; align-items: center; gap: 12px; padding-inline: 4px; }
#seo-geo .twm-search-leaf { display: grid; place-items: center; background: #edf1e7; color: #577139; border-radius: 8px; width: 34px; height: 34px; font-size: 27px; }
#seo-geo .twm-search-result strong { font-size: 17px; margin-bottom: 2px; }
#seo-geo .twm-search-result div > span { font-size: 13px; margin: 0; color: var(--twm-text-muted); }
#seo-geo .twm-search-sheet i { height: 7px; margin: 10px 0 0 50px; width: 67%; }
#seo-geo .twm-search-sheet i:last-child { width: 49%; }
#seo-geo .twm-ai-sheet { width: 46%; right: 0; top: 56px; min-height: 193px; padding: 0; overflow: hidden; border-radius: 17px; transform: rotate(7deg); }
#seo-geo .twm-ai-sheet-heading { display: flex; align-items: center; gap: 13px; padding: 18px; background: var(--twm-surface-muted); }
#seo-geo .twm-ai-sheet-heading svg { width: 30px; height: 30px; }
#seo-geo .twm-ai-sheet-heading span { font-size: 15px; color: var(--twm-text-primary); }
#seo-geo .twm-ai-sheet > p { font-size: 16px; line-height: 1.45; margin: 0; padding: 18px; color: var(--twm-text-muted); }
#seo-geo .twm-seo-approaches { margin: 0 2.5% 30px; gap: 0; }
#seo-geo .twm-seo-approaches article { padding: 0 28px; }
#seo-geo .twm-seo-approaches article:first-child { padding-left: 0; }
#seo-geo .twm-seo-approaches article:last-child { padding-right: 0; }
#seo-geo .twm-seo-mark { width: 44px; height: 44px; margin-bottom: 12px; background: color-mix(in srgb,var(--twm-brand-accent-visual) 12%,var(--twm-page)); }
#seo-geo .twm-seo-approaches h3 { font-size: clamp(20px,1.75vw,28px); line-height: 1.12; margin-bottom: 12px; }
#seo-geo .twm-seo-approaches article > p { font-size: 16px; line-height: 1.38; }
#seo-geo .twm-method-panel { grid-template-columns: 1.95fr 1fr; margin: 0 0 20px; padding: 22px 30px; gap: 28px; background: color-mix(in srgb,var(--twm-page) 60%,var(--twm-header-background)); border-radius: 18px; }
#seo-geo .twm-method-main > h3 { font-size: 11px; letter-spacing: .13em; text-transform: uppercase; margin: 0 0 18px; }
#seo-geo .twm-method-steps { gap: 18px; }
#seo-geo .twm-method-steps li { position: relative; }
#seo-geo .twm-method-steps li::before { display: none; }
#seo-geo .twm-method-steps li:not(:last-child)::after { content: '→'; position: absolute; top: 3px; right: -6px; font-size: 19px; color: var(--twm-brand-accent-action); }
#seo-geo .twm-method-icon { display: inline-flex; color: var(--twm-brand-accent-action); margin-bottom: 14px; }
#seo-geo .twm-method-icon svg { width: 27px; height: 27px; }
#seo-geo .twm-method-steps h4 { font-size: 16px; line-height: 1.2; margin: 0 0 8px; }
#seo-geo .twm-method-steps p { font-size: 13px; line-height: 1.45; }
#seo-geo .twm-method-plans { padding-left: 24px; }
#seo-geo .twm-method-plans h3 { font-size: 19px; margin: 0 0 6px; }
#seo-geo .twm-method-plans > p { font-size: 13px; line-height: 1.3; margin: 0; }
#seo-geo .twm-method-plans ul { margin-top: 14px; gap: 8px; }
#seo-geo .twm-method-plans li { display: flex; align-items: center; gap: 10px; font-size: 13px; padding: 8px; border: 1px solid var(--twm-border); }
#seo-geo .twm-method-plans li svg { color: var(--twm-brand-accent-action); width: 18px; height: 18px; }
#seo-geo .twm-naturalia-case { display: grid; grid-template-columns: 1fr 1fr 1.07fr; gap: 26px; padding: 20px; margin: 0; border-radius: 18px; background: linear-gradient(120deg,color-mix(in srgb,var(--twm-page) 80%,#acb797),var(--twm-surface-muted)); align-items: center; overflow: hidden; }
#seo-geo .twm-naturalia-intro { padding-right: 22px; border-right: 1px solid var(--twm-border); }
#seo-geo .twm-naturalia-intro .twm-eyebrow { font-size: 10px; margin-bottom: 7px; }
#seo-geo .twm-naturalia-intro .twm-eyebrow::before { background: #718638; }
#seo-geo .twm-naturalia-logo { width: 100px; height: auto; aspect-ratio: auto; object-fit: contain; margin-bottom: 8px; border-radius: 0; }
#seo-geo .twm-naturalia-intro h3 { font-size: clamp(25px,2.3vw,36px); line-height: 1.04; margin: 0 0 10px; }
#seo-geo .twm-naturalia-intro > p:not(.twm-eyebrow) { font-size: 14px; line-height: 1.35; margin: 0; }
#seo-geo .twm-naturalia-work h4 { font-size: 19px; line-height: 1.2; margin: 0 0 6px; font-weight: 400; }
#seo-geo .twm-naturalia-work > p { font-size: 14px; margin: 0 0 16px; }
#seo-geo .twm-naturalia-focus { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 16px; }
#seo-geo .twm-naturalia-focus > div { background: var(--twm-surface); padding: 14px; border-radius: 14px; min-height: 80px; }
#seo-geo .twm-naturalia-focus svg { color: #53653b; margin-bottom: 8px; }
#seo-geo .twm-naturalia-focus h5 { font-size: 19px; line-height: 1.1; font-weight: 400; margin: 0; color: #35472a; }
#seo-geo .twm-naturalia-work .twm-button { font-size: 16px; padding: 13px 16px; width: 100%; justify-content: center; }
#seo-geo .twm-naturalia-screen { display: block; background: var(--twm-surface); border-radius: 16px; overflow: hidden; box-shadow: 0 12px 30px rgb(23 31 36 / 10%); transform: rotate(-3deg); margin-block: -4px; }
#seo-geo .twm-naturalia-browser { display: flex; align-items: center; gap: 5px; padding: 12px; }
#seo-geo .twm-naturalia-browser > span:not(:last-child) { width: 5px; height: 5px; border-radius: 50%; background: var(--twm-border); }
#seo-geo .twm-naturalia-browser > span:last-child { font-size: 12px; margin-left: 8px; color: var(--twm-text-muted); }
#seo-geo .twm-naturalia-screen img { width: 100%; height: 180px; aspect-ratio: auto; object-fit: cover; object-position: left top; border-radius: 0; }

@media(min-width:1650px) { #productos .twm-plugin-logo { width: 145px; height: 145px; } #productos .twm-plugin-scene { min-height: 260px; } #productos .twm-plugin-preview img { height: 245px; } }
@media(max-width:900px) { #productos .twm-wordpress-main { border-right: 0; } }
@media(max-width:1150px) { #productos.twm-plugin-section { padding-inline: 32px !important; } #productos .twm-wordpress-layout { gap: 24px; } #productos .twm-wordpress-capabilities article { gap: 8px; padding: 15px 12px; } #productos .twm-capability-icon { width: 40px; height: 40px; flex-basis: 40px; } #productos .twm-featured-plugin { padding: 24px; } #productos .twm-plugin-logo { width: 90px; height: 90px; right: 20px; } #productos .twm-featured-plugin-heading h3 { width: calc(100% - 90px); } #productos .twm-plugin-description { width: 100%; } #seo-geo .twm-method-panel { grid-template-columns: 1fr; } #seo-geo .twm-method-plans { border-left: 0; border-top: 1px solid var(--twm-border); padding: 20px 0 0; } #seo-geo .twm-naturalia-case { grid-template-columns: 1fr 1fr; } #seo-geo .twm-naturalia-screen { grid-column: 1/-1; max-width: 560px; width: 100%; margin: 10px auto 0; } }
@media(max-width:900px) { #productos .twm-wordpress-layout { grid-template-columns: 1fr; } #productos .twm-wordpress-main { padding: 0; } #productos .twm-featured-plugin { width: 100%; max-width: 620px; margin-inline: auto; } #productos .twm-featured-plugin-heading h3 { width: calc(100% - 110px); } #productos .twm-plugin-description { max-width: 75%; } #productos .twm-plugin-scene { max-width: 500px; margin-left: auto; } #seo-geo .twm-visibility-heading { grid-template-columns: 1fr; } #seo-geo .twm-search-composition { width: 100%; max-width: 540px; margin: 8px auto 0; } }
@media(max-width:767px) { #productos.twm-plugin-section { width: calc(100% - 28px); padding: 28px 22px !important; border-radius: 24px; } #twm-wordpress-title { font-size: 40px; line-height: 1.1; } #productos .twm-wordpress-description p { font-size: 18px; line-height: 1.45; } #productos .twm-wordpress-capabilities { grid-template-columns: 1fr; margin-block: 24px; gap: 12px; } #productos .twm-wordpress-capabilities article { min-height: 76px; padding: 14px 18px; gap: 16px; } #productos .twm-wordpress-capabilities h3 { font-size: 22px; } #productos .twm-featured-plugin { padding: 22px; border-radius: 26px; } #productos .twm-featured-plugin > .twm-eyebrow { padding-right: 0; margin-bottom: 24px; } #productos .twm-plugin-logo { width: 68px; height: 68px; top: 68px; right: 18px; } #productos .twm-featured-plugin-heading h3 { width: calc(100% - 75px); font-size: 29px; } #productos .twm-plugin-description { max-width: none; width: 100%; font-size: 18px; margin-top: 26px; } #productos .twm-plugin-scene { min-height: 190px; padding-left: 10%; } #productos .twm-plugin-preview img { height: 160px; } #productos .twm-plugin-leaves { left: -20px; height: 170px; width: 50%; } #seo-geo.twm-seo-service { width: calc(100% - 32px); padding-block: 38px; } #seo-geo .twm-visibility-heading { padding: 0; gap: 24px; margin-bottom: 24px; } #twm-seo-title { font-size: 39px; line-height: 1.08; } #seo-geo .twm-search-composition { height: 230px; } #seo-geo .twm-search-sheet { width: 80%; height: 190px; padding: 13px; } #seo-geo .twm-search-sheet > p { font-size: 12px; gap: 7px; margin-bottom: 17px; padding: 9px; } #seo-geo .twm-google-symbol { font-size: 20px; } #seo-geo .twm-ai-sheet { top: 70px; width: 48%; min-height: 165px; } #seo-geo .twm-ai-sheet-heading { padding: 12px; gap: 8px; } #seo-geo .twm-ai-sheet-heading span { font-size: 13px; } #seo-geo .twm-ai-sheet-heading svg { width: 22px; height: 22px; } #seo-geo .twm-ai-sheet > p { padding: 12px; font-size: 14px; } #seo-geo .twm-search-leaves-left { left: -15px; width: 130px; height: 210px; } #seo-geo .twm-search-leaves-right { right: 0; width: 140px; height: 210px; } #seo-geo .twm-seo-approaches { margin-inline: 0; margin-bottom: 24px; } #seo-geo .twm-seo-approaches article,#seo-geo .twm-seo-approaches article:first-child,#seo-geo .twm-seo-approaches article:last-child { padding: 24px 0; } #seo-geo .twm-seo-approaches h3 { font-size: 25px; } #seo-geo .twm-method-panel { padding: 24px 20px; gap: 24px; } #seo-geo .twm-method-steps { grid-template-columns: 1fr; gap: 22px; } #seo-geo .twm-method-steps li { display: grid; grid-template-columns: 32px 1fr; gap: 0 12px; } #seo-geo .twm-method-icon { grid-row: 1/3; margin: 0; } #seo-geo .twm-method-steps li:not(:last-child)::after { display: none; } #seo-geo .twm-method-steps h4 { font-size: 18px; } #seo-geo .twm-method-steps p { font-size: 15px; } #seo-geo .twm-method-plans ul { grid-template-columns: 1fr; } #seo-geo .twm-method-plans li { font-size: 15px; padding: 12px; } #seo-geo .twm-naturalia-case { grid-template-columns: 1fr; padding: 24px 20px; gap: 24px; } #seo-geo .twm-naturalia-intro { border-right: 0; padding-right: 0; } #seo-geo .twm-naturalia-intro h3 { font-size: 32px; } #seo-geo .twm-naturalia-work { border-top: 1px solid var(--twm-border); padding-top: 24px; } #seo-geo .twm-naturalia-screen { grid-column: auto; margin: 0; transform: none; } }

/* home-cases.css */
/* Approved case compositions, with editable text and regular brand fonts. */
#software { padding-block: 20px; padding-left: 30px; }
#software > .twm-section-heading { margin-left: 5.5%; margin-bottom: 16px; max-width: 1000px; }
#software #twm-software-title { font-size: clamp(40px,3.45vw,56px); line-height: .99; max-width: 1040px; margin: 4px 0 10px; font-weight: 400; }
#software #twm-software-title > span { display: block; }
#software .twm-section-heading > p:not(.twm-eyebrow) { font-size: 17px; line-height: 1.3; max-width: 990px; margin: 0; }
#software .twm-software-feature { gap: 48px; grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
#software .twm-software-card .twm-eyebrow { font-size: 9px; line-height: 1.2; min-height: 0; letter-spacing: .16em; margin: 0 0 4px; }
#software .twm-software-card h3 { font-size: 30px; line-height: 1; margin: 0 0 6px; }
#software .twm-software-preview { height: auto; aspect-ratio: 692/337; margin: 0 0 12px; position: relative; background: none; }
#software .twm-software-preview > img { display: block; width: 100%; height: 100%; object-fit: contain; border-radius: 8px; }
#software .twm-software-highinvite .twm-software-preview > img { position: absolute; bottom: 0; width: 104%; max-width: none; height: auto; border-radius: 0; }
#software .twm-software-card > p:not(.twm-eyebrow) { font-size: 14px; line-height: 1.3; margin: 10px 0; }
#software .twm-feature-list { gap: 14px; margin: 10px 0; }
#software .twm-feature-list li { font-size: 14px; gap: 8px; }
#software .twm-feature-list svg { width: 28px; height: 28px; padding: 5px; flex-shrink: 0; }
#software .twm-stack { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; border: 0; margin: 10px 0; padding: 0; font-size: 13px; }
#software .twm-stack > span { border-left: 1px solid #72808a; padding: 4px 12px; margin: 0; }
#software .twm-stack ul { display: flex; flex-wrap: wrap; gap: 10px; margin: 0; padding: 0; list-style: none; }
#software .twm-stack li { display: flex; align-items: center; gap: 8px; padding: 3px 12px; border: 1px solid #72808a; border-radius: 8px; }
#software .twm-stack svg { width: 21px; height: 21px; }
#software .twm-text-link { display: inline-flex; gap: 20px; font-size: 16px; }
#software .twm-development-label { border-bottom: 2px solid var(--twm-brand-accent-visual); padding-bottom: 3px; }
#software .twm-software-closing { margin-top: 22px; padding-top: 12px; }
#software .twm-software-closing h3 { font-size: 30px; line-height: 1.1; margin: 0 0 5px; font-weight: 400; }
#software .twm-software-closing p { font-size: 15px; line-height: 1.25; max-width: 740px; margin: 0 auto 10px; }
#software .twm-software-closing .twm-button { font-size: 14px; padding: 8px 16px; color: var(--twm-brand-accent-visual); border: 1px solid var(--twm-brand-accent-visual); background: transparent; }
#software > .twm-section-heading > .twm-eyebrow { font-size: 9px; line-height: 1.2; margin-bottom: 4px; color: var(--twm-brand-accent-visual); }
#software .twm-section-heading > p:not(.twm-eyebrow) { max-width: 850px; }
#software .twm-software-card { display: block; }
#software .twm-software-preview > img { aspect-ratio: auto; transform: none; }
#software .twm-software-card .twm-text-link { margin-top: 0; }
#software .twm-title-dot { color: var(--twm-brand-accent-visual); }
#seo-geo .twm-naturalia-results h3 > span { display: block; }
#seo-geo .twm-naturalia-results { grid-template-columns: 1.05fr 1fr 1.08fr; gap: 26px; padding: 20px 26px; border-radius: 16px; }
#seo-geo .twm-naturalia-results .twm-naturalia-intro { padding-right: 22px; }
#seo-geo .twm-naturalia-results .twm-naturalia-logo { width: 94px; margin-bottom: 5px; }
#seo-geo .twm-naturalia-results h3 { font-size: clamp(25px,2.1vw,32px); line-height: 1; margin-bottom: 8px; }
#seo-geo .twm-naturalia-results .twm-naturalia-intro > p:not(.twm-eyebrow) { font-size: 14px; line-height: 1.3; }
#seo-geo .twm-naturalia-results h4 { font-size: 17px; margin-bottom: 3px; }
#seo-geo .twm-naturalia-results .twm-naturalia-work > p { font-size: 12px; margin-bottom: 12px; }
#seo-geo .twm-naturalia-metrics { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 14px; margin-bottom: 14px; }
#seo-geo .twm-naturalia-metrics > div { border-radius: 12px; background: var(--twm-surface); padding: 12px 20px; }
#seo-geo .twm-naturalia-metrics span { display: block; font-size: 13px; }
#seo-geo .twm-naturalia-metrics strong { display: block; font-size: 34px; line-height: 1.1; color: #244825; font-weight: 400; }
#seo-geo .twm-naturalia-metrics p { font-size: 13px; margin: 4px 0 0; }
#seo-geo .twm-naturalia-results .twm-button { width: auto; font-size: 15px; padding: 11px 20px; gap: 24px; }
#seo-geo .twm-search-console-chart { align-self: stretch; min-height: 220px; background: white; border-radius: 16px 16px 0 0; padding: 20px 18px 0; transform: rotate(-3deg); margin: 0 0 -35px; box-shadow: 0 10px 32px #23322715; }
#seo-geo .twm-console-heading { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
#seo-geo .twm-console-brand { white-space: nowrap; font-size: 14px; color: #53616a; }
#seo-geo .twm-console-brand .twm-google-symbol { font-size: 16px; letter-spacing: -.5px; }
#seo-geo .twm-console-period { display: flex; gap: 7px; align-items: center; font-size: 10px; line-height: 1.2; background: #f5f7f8; border: 1px solid #e9ebed; border-radius: 8px; padding: 8px; color: #26333c; }
#seo-geo .twm-console-period svg { width: 18px; height: 18px; }
#seo-geo .twm-console-period small { display: block; font-size: 9px; }
#seo-geo .twm-console-legend { display: flex; gap: 25px; font-size: 11px; margin: 18px 0 10px; }
#seo-geo .twm-console-legend span::before { content: ''; width: 12px; height: 3px; display: inline-block; border-radius: 3px; margin-right: 6px; vertical-align: middle; background: #3987ff; }
#seo-geo .twm-console-legend .twm-console-clicks::before { background: #8b6ce5; }
#seo-geo .twm-console-plot { display: block; width: 100%; height: 150px; }
@media(max-width:1100px) {
 #software .twm-software-feature { gap: 28px; }
 #software .twm-feature-list { gap: 8px; }
 #software .twm-feature-list li { font-size: 13px; }
 #seo-geo .twm-naturalia-results { grid-template-columns: 1fr 1fr; }
 #seo-geo .twm-search-console-chart { grid-column: 1/-1; width: min(100%,550px); margin: 0 auto -35px; }
}
@media(max-width:767px) {
 #software { padding-block: 34px; padding-left: 0; }
 #software > .twm-section-heading { margin-left: 0; margin-bottom: 30px; }
 #software #twm-software-title { font-size: clamp(35px,8.5vw,48px); line-height: 1.06; }
 #software .twm-section-heading > p:not(.twm-eyebrow) { font-size: 18px; }
 #software .twm-software-feature { grid-template-columns: 1fr; gap: 38px; }
 #software .twm-software-card h3 { font-size: 32px; }
 #software .twm-software-card .twm-eyebrow { font-size: 9px; }
 #software .twm-software-highinvite .twm-software-preview > img { width: 100%; }
 #software .twm-feature-list li { font-size: 14px; }
 #software .twm-software-closing h3 { font-size: 29px; }
 #seo-geo .twm-naturalia-results { grid-template-columns: 1fr; padding: 24px 20px; gap: 24px; }
 #seo-geo .twm-naturalia-results .twm-naturalia-intro { border: 0; padding: 0; }
 #seo-geo .twm-naturalia-results h3 { font-size: 30px; }
 #seo-geo .twm-naturalia-results .twm-naturalia-intro > p:not(.twm-eyebrow) { font-size: 16px; }
 #seo-geo .twm-naturalia-metrics { gap: 10px; }
 #seo-geo .twm-naturalia-metrics > div { padding: 12px; }
 #seo-geo .twm-naturalia-metrics strong { font-size: 32px; }
 #seo-geo .twm-search-console-chart { grid-column: auto; transform: none; padding: 16px 12px 0; }
 #seo-geo .twm-console-heading { flex-wrap: wrap; }
}

/* home-plugin-reference.css */
/* Latest supplied plugin composition. Font families and weights are inherited. */
#productos.twm-plugin-section { width: calc(100% - 28px); max-width: 1800px; border-radius: 0; padding: 46px 5vw 38px !important; background: linear-gradient(120deg,var(--twm-header-background),var(--twm-surface-muted)); }
#productos .twm-wordpress-layout { grid-template-columns: minmax(0,.94fr) minmax(0,1.05fr); gap: 24px; align-items: center; }
#productos .twm-wordpress-main { border: 0; padding: 0; }
#productos .twm-wordpress-main > .twm-eyebrow { font-size: 11px; letter-spacing: .06em; margin-bottom: 26px; }
#productos #twm-wordpress-title { font-size: clamp(34px,3.25vw,55px); line-height: 1.05; margin-bottom: 22px; }
#productos .twm-wordpress-description p { font-size: 18px; line-height: 1.45; margin: 0 0 14px; }
#productos .twm-wordpress-description p + p { font-size: 16px; }
#productos .twm-wordpress-capabilities { gap: 8px; margin: 20px 0 16px; }
#productos .twm-wordpress-capabilities article { display: block; min-height: 0; border-radius: 12px; padding: 16px 18px; }
#productos .twm-capability-icon { width: 52px; height: 52px; margin-bottom: 10px; }
#productos .twm-capability-icon svg { width: 29px; height: 29px; }
#productos .twm-wordpress-mark { width: 29px; height: 29px; background: currentColor; mask: url('../images/twm-wordpress-mark.svg') center/contain no-repeat; }
#productos .twm-wordpress-capabilities h3 { font-size: 17px; line-height: 1.15; margin: 0 0 8px; }
#productos .twm-wordpress-capabilities p { font-size: 14px; line-height: 1.4; margin: 0; color: var(--twm-text-muted); }
#productos .twm-wordpress-main > .twm-button { font-size: 16px; padding: 14px 24px; }
#productos .twm-featured-plugin { padding: 32px 28px 38px; min-height: 510px; border-radius: 13px; overflow: hidden; background: #f7f4f1; box-shadow: 0 6px 16px #24313b12; isolation: isolate; }
#productos .twm-featured-plugin::before { content: ''; position: absolute; inset: 16px -65px auto auto; width: 280px; height: 270px; border-radius: 50%; background: #ebe3de80; z-index: -1; }
#productos .twm-featured-plugin::after { content: ''; position: absolute; right: -90px; bottom: -30px; width: 390px; height: 370px; border-radius: 50%; background: #e5dbd080; z-index: -1; }
#productos .twm-plugin-content { position: relative; z-index: 2; width: 50%; }
#productos .twm-plugin-content > .twm-eyebrow { font-size: 10px; letter-spacing: .08em; margin: 0 0 20px; white-space: nowrap; }
#productos .twm-plugin-content > .twm-eyebrow::before { display: none; }
#productos .twm-featured-plugin-heading { display: flex; align-items: center; gap: 17px; margin-bottom: 18px; }
#productos .twm-plugin-logo { position: static; width: 90px; height: 90px; flex: 0 0 90px; border-radius: 11px; object-fit: cover; margin: 0; }
#productos .twm-featured-plugin-heading h3 { width: auto; font-size: 34px; line-height: 1; margin: 0; }
#productos .twm-featured-plugin-heading h3 > span { display: block; }
#productos .twm-plugin-tagline { font-size: 10px; line-height: 1.4; letter-spacing: .02em; margin: 0 0 13px; color: var(--twm-text-muted); }
#productos .twm-plugin-description { width: 100%; max-width: none; font-size: 14px; line-height: 1.55; margin: 0; }
#productos .twm-plugin-benefits { display: grid; gap: 13px; padding: 0; margin: 18px 0 24px; list-style: none; }
#productos .twm-plugin-benefits li { display: flex; align-items: center; gap: 10px; font-size: 14px; color: var(--twm-text-muted); }
#productos .twm-plugin-benefits li > span { width: 22px; height: 22px; display: grid; place-items: center; border-radius: 50%; background: var(--twm-brand-accent-action); color: white; flex-shrink: 0; }
#productos .twm-plugin-benefits svg { width: 16px; height: 16px; }
#productos .twm-plugin-actions { display: flex; width: max-content; gap: 12px; }
#productos .twm-plugin-actions .twm-button { font-size: 14px; padding: 12px 20px; gap: 12px; white-space: nowrap; }
#productos .twm-plugin-actions .twm-button-secondary { background: white; border: 1px solid #e7e9eb; color: var(--twm-text); }
#productos .twm-plugin-editor-composition { position: absolute; right: 14px; top: 45px; bottom: 30px; width: 47%; pointer-events: none; }
#productos .twm-addon-browser { position: absolute; left: 5px; top: 8px; bottom: 35px; width: 90%; background: white; border-radius: 14px 14px 5px 5px; box-shadow: 0 18px 32px #44362926; transform: rotate(6deg); }
#productos .twm-addon-browser-chrome { display: flex; align-items: center; gap: 5px; padding: 10px 14px; height: 28px; border-radius: 14px 14px 0 0; background: linear-gradient(#f4f4f5,#e7e7e9); }
#productos .twm-addon-browser-chrome > span { width: 7px; height: 7px; background: #efd8ce; border-radius: 50%; }
#productos .twm-addon-browser-chrome > span:nth-child(2) { background: #eee4c9; }
#productos .twm-addon-browser-chrome > span:nth-child(3) { background: #cce4c5; }
#productos .twm-addon-browser-chrome > i { width: 67%; height: 13px; background: #ffffff70; border-radius: 9px; margin-left: 12px; }
#productos .twm-addon-browser-brand { padding: 12px 20px; font-size: 14px; border-bottom: 1px solid #eef0f2; }
#productos .twm-addon-browser-brand b { color: #4285f4; margin-right: 3px; font-weight: inherit; }
#productos .twm-addon-language { position: absolute; top: 29px; right: -20px; display: flex; justify-content: space-between; align-items: center; gap: 9px; padding: 12px 14px; background: #fff; border-radius: 6px; width: 135px; font-size: 12px; box-shadow: 0 8px 20px #343d4920; }
#productos .twm-addon-browser-page { padding: 18px; overflow: hidden; }
#productos .twm-addon-browser-page > p { font-size: 21px; line-height: 1; margin: 0 0 12px; }
#productos .twm-addon-selected { position: relative; display: inline-block; font-family: var(--twm-secondary-font); font-size: 30px; font-style: italic; border: 1px solid #9296ef; padding: 1px 4px; line-height: 1.15; }
#productos .twm-addon-selected::before { content: ''; position: absolute; left: -2px; top: -2px; width: 4px; height: 4px; background: #696bdf; }
#productos .twm-addon-selected > i { position: absolute; top: -5px; right: -28px; background: var(--twm-surface-dark); border-radius: 4px; padding: 5px; line-height: 1; color: white; box-shadow: 0 3px 5px #23303a24; }
#productos .twm-addon-text-lines { margin: 12px 0; }
#productos .twm-addon-text-lines span { display: block; height: 5px; background: #f1f1f1; margin-top: 5px; width: 87%; }
#productos .twm-addon-text-lines span + span { width: 74%; }
#productos .twm-addon-browser-page > img { width: 100%; height: 190px; object-fit: cover; object-position: 25% center; border-radius: 0; }
#productos .twm-addon-edit-dialog { position: absolute; right: -5px; bottom: 13px; width: 178px; padding: 14px 13px; border-radius: 8px; background: #fff; transform: rotate(6deg); box-shadow: 0 15px 25px #4b403026; }
#productos .twm-addon-edit-dialog > p { font-size: 12px; margin: 0 0 18px; }
#productos .twm-addon-edit-dialog > p > span { float: right; color: #a6adb1; font-size: 18px; line-height: 1; }
#productos .twm-addon-edit-dialog small { display: block; font-size: 10px; margin-bottom: 5px; }
#productos .twm-addon-original,#productos .twm-addon-translation { border: 1px solid #e0e3e7; border-radius: 4px; padding: 8px; font-size: 12px; margin-bottom: 13px; }
#productos .twm-addon-original { color: #8c959d; background: #edf0f3; }
#productos .twm-addon-save { background: var(--twm-brand-accent-action); color: white; text-align: center; padding: 10px 3px; border-radius: 4px; font-size: 11px; margin-top: 17px; }
@media(min-width:1650px) {
 #productos .twm-featured-plugin { min-height: 560px; }
 #productos .twm-plugin-description,#productos .twm-plugin-benefits li { font-size: 16px; }
 #productos .twm-addon-browser-page > img { height: 240px; }
}
@media(max-width:1200px) {
 #productos.twm-plugin-section { padding-inline: 32px !important; }
 #productos .twm-wordpress-layout { gap: 20px; }
 #productos .twm-featured-plugin { padding: 26px 20px; }
 #productos .twm-plugin-logo { width: 64px; height: 64px; flex-basis: 64px; }
 #productos .twm-featured-plugin-heading { gap: 10px; }
 #productos .twm-featured-plugin-heading h3 { font-size: 28px; }
 #productos .twm-plugin-content { width: 53%; }
 #productos .twm-plugin-editor-composition { right: 10px; width: 43%; top: 65px; }
 #productos .twm-addon-selected { font-size: 25px; }
 #productos .twm-addon-edit-dialog { width: 150px; right: 0; }
 #productos .twm-wordpress-capabilities article { padding: 16px 12px; }
 #productos .twm-wordpress-capabilities h3 { font-size: 16px; }
 #productos .twm-wordpress-capabilities p { font-size: 13px; }
}
@media(max-width:1000px) {
 #productos .twm-wordpress-layout { grid-template-columns: 1fr; gap: 30px; }
 #productos .twm-featured-plugin { width: 100%; max-width: 700px; margin-inline: auto; min-height: 500px; }
 #productos .twm-plugin-content { width: 50%; }
 #productos .twm-plugin-editor-composition { width: 46%; top: 42px; }
 #productos .twm-plugin-logo { width: 80px; height: 80px; flex-basis: 80px; }
 #productos .twm-featured-plugin-heading h3 { font-size: 34px; }
 #productos .twm-addon-selected { font-size: 30px; }
 #productos .twm-addon-edit-dialog { width: 178px; }
}
@media(max-width:600px) {
 #productos.twm-plugin-section { padding: 30px 20px !important; }
 #productos #twm-wordpress-title { font-size: clamp(32px,8.8vw,43px); }
 #productos .twm-wordpress-description p { font-size: 18px; }
 #productos .twm-wordpress-capabilities { grid-template-columns: 1fr; gap: 10px; }
 #productos .twm-wordpress-capabilities article { display: grid; grid-template-columns: 48px 1fr; gap: 4px 14px; padding: 18px; }
 #productos .twm-capability-icon { width: 48px; height: 48px; grid-row: 1/3; margin: 0; }
 #productos .twm-wordpress-capabilities h3 { font-size: 20px; margin: 0; }
 #productos .twm-wordpress-capabilities p { font-size: 15px; }
 #productos .twm-featured-plugin { min-height: 0; padding: 24px 20px; }
 #productos .twm-plugin-content { width: 100%; }
 #productos .twm-plugin-content > .twm-eyebrow { white-space: normal; }
 #productos .twm-plugin-description { font-size: 16px; }
 #productos .twm-plugin-benefits li { font-size: 16px; }
 #productos .twm-plugin-actions { width: 100%; flex-wrap: wrap; gap: 8px; }
 #productos .twm-plugin-actions .twm-button { padding: 12px 14px; }
 #productos .twm-plugin-editor-composition { position: relative; top: auto; bottom: auto; right: auto; width: 100%; height: 370px; margin: 32px 0 0; }
 #productos .twm-addon-browser { width: 85%; bottom: 12px; }
 #productos .twm-addon-language { right: -20px; width: 115px; }
 #productos .twm-addon-edit-dialog { width: 160px; bottom: 0; right: -5px; }
 #productos .twm-addon-browser-page { padding: 15px; }
 #productos .twm-addon-browser-page > img { height: 165px; }
}

/* home-hero-reference.css */
/* Latest hero reference. Preserve existing Utile Regular / Ivy typography. */
body.home { --twm-hero-surface: #fbf8f2; }
body.home .twm-header,body.home .twm-header:not(.twm-is-scrolled),body.home .twm-header.twm-is-scrolled { background: var(--twm-hero-surface); }
body.home .twm-header { border-bottom-color: #ddd9d1; }
body.home .twm-header-inner { width: 85%; min-height: 66px; }
body.home :is(.twm-brand,.custom-logo-link) { overflow: hidden; }
body.home :is(.twm-brand img,.custom-logo) { filter: grayscale(1) contrast(2); mix-blend-mode: multiply; transform: translateX(-12px) scale(1.45); }
body.home .twm-nav-cta { padding: 10px 18px; }
#twm-main .twm-hero-reference { width: 85%; max-width: 1480px; grid-template-columns: minmax(0,1.02fr) minmax(0,1fr); gap: 0; padding-block: 48px 58px; min-height: 635px; background: var(--twm-hero-surface); box-shadow: 0 0 0 100vmax var(--twm-hero-surface); clip-path: inset(0 -100vmax); }
#twm-main .twm-hero-reference .twm-hero-copy { padding-right: 0; align-self: start; padding-top: 16px; }
#twm-main .twm-hero-reference .twm-eyebrow { font-size: 10px; letter-spacing: .18em; line-height: 1.4; margin-bottom: 22px; }
#twm-main .twm-hero-reference h1 { font-size: clamp(42px,4.25vw,68px); line-height: .98; margin: 0; max-width: none; }
#twm-main .twm-hero-reference .twm-editorial-emphasis { font-size: 1.15em; line-height: 1.02; white-space: nowrap; }
#twm-main .twm-hero-title-dot { color: #ff2825; }
#twm-main .twm-hero-reference .twm-intro { font-size: 18px; line-height: 1.5; margin: 25px 0 0; max-width: 530px; }
#twm-main .twm-hero-reference .twm-actions { display: flex; flex-wrap: wrap; gap: 18px; margin-top: 24px; }
#twm-main .twm-hero-reference .twm-button { font-size: 16px; padding: 12px 20px; gap: 16px; }
#twm-main .twm-hero-reference .twm-button-primary,body.home .twm-nav-cta { background: #ff2825; border-color: #ff2825; color: white; }
#twm-main .twm-hero-reference .twm-button-primary:hover,body.home .twm-nav-cta:hover { background: #e72220; border-color: #e72220; }
#twm-main .twm-hero-reference .twm-button-outline { background: white; border-color: #dedfe2; }
#twm-main .twm-hero-reference .twm-hero-benefits { flex-direction: row; flex-wrap: wrap; gap: 16px; margin-top: 50px; }
#twm-main .twm-hero-reference .twm-hero-benefits li { flex: 0 0 auto; font-size: 14px; line-height: 1.2; gap: 11px; }
#twm-main .twm-hero-reference .twm-hero-benefits li + li { padding-left: 16px; border-left: 1px solid #ddd9d1; }
#twm-main .twm-hero-reference .twm-hero-benefits li > span > span { display: block; white-space: nowrap; }
#twm-main .twm-hero-reference .twm-hero-benefits svg { width: 30px; height: 30px; }
#twm-main .twm-hero-wordpress-mark { width: 30px; height: 30px; flex: 0 0 30px; background: currentColor; mask: url('../images/twm-wordpress-mark.svg') center/contain no-repeat; }
#twm-main .twm-hero-luma { width: 120%; height: 540px; max-width: none; min-height: 0; padding: 0; transform: none; margin: 0 0 0 -2%; overflow: visible; }
#twm-main .twm-luma-hero-image { position: absolute; top: -45px; left: 0; width: 100%; height: auto; display: block; aspect-ratio: 1.05; object-fit: contain; border-radius: 0; }
@media(min-width:1650px) { #twm-main .twm-hero-reference { padding-block: 70px; } #twm-main .twm-hero-reference .twm-intro { font-size: 21px; max-width: 640px; } #twm-main .twm-hero-reference .twm-hero-benefits li { font-size: 16px; } }
@media(max-width:1100px) { #twm-main .twm-hero-luma { width: 113%; height: 460px; } #twm-main .twm-luma-hero-image { top: -20px; } #twm-main .twm-hero-reference .twm-hero-benefits { gap: 10px; } #twm-main .twm-hero-reference .twm-hero-benefits li { font-size: 13px; gap: 8px; } #twm-main .twm-hero-reference .twm-hero-benefits li + li { padding-left: 10px; } }
@media(max-width:900px) {
 #twm-main .twm-hero-reference { grid-template-columns: 1fr; min-height: 0; padding-block: 40px; gap: 30px; }
 #twm-main .twm-hero-reference h1 { font-size: clamp(42px,6.8vw,60px); }
 #twm-main .twm-hero-reference .twm-intro { max-width: 620px; }
 #twm-main .twm-hero-luma { width: 100%; max-width: 650px; margin: 0 auto; height: auto; }
 #twm-main .twm-luma-hero-image { position: static; }
 #twm-main .twm-hero-reference .twm-hero-copy { padding-top: 0; }
}
@media(max-width:600px) {
 body.home .twm-header-inner,#twm-main .twm-hero-reference { width: calc(100% - 40px); }
 #twm-main .twm-hero-reference { padding-block: 32px 38px; gap: 28px; }
 #twm-main .twm-hero-reference .twm-eyebrow { font-size: 9px; letter-spacing: .12em; margin-bottom: 22px; }
 #twm-main .twm-hero-reference h1 { font-size: clamp(32px,8.5vw,46px); line-height: 1.06; }
 #twm-main .twm-hero-reference .twm-editorial-emphasis { white-space: normal; font-size: 1.1em; }
 #twm-main .twm-hero-reference .twm-intro { font-size: 18px; margin-top: 22px; }
 #twm-main .twm-hero-reference .twm-actions { gap: 10px; }
 #twm-main .twm-hero-reference .twm-button { font-size: 16px; padding: 12px 16px; }
 #twm-main .twm-hero-reference .twm-hero-benefits { display: grid; grid-template-columns: 1fr 1fr; gap: 20px 12px; margin-top: 32px; }
 #twm-main .twm-hero-reference .twm-hero-benefits li { font-size: 15px; gap: 12px; }
 #twm-main .twm-hero-reference .twm-hero-benefits li + li { border: 0; padding: 0; }
}

/* home-spacing.css */
/* More breathing room for the software, visibility and contact sections. */
#proyectos .twm-project-editorial .twm-project-collaboration { font-size: 14px; line-height: 1.4; margin: 0 0 18px; }
#proyectos .twm-project-collaboration a { text-decoration: underline; text-underline-offset: 3px; }
#twm-main .twm-hero-reference { position: relative; isolation: isolate; z-index: 2; clip-path: none; box-shadow: none; }
#twm-main .twm-hero-reference::before { content: ''; position: absolute; inset: 0; background: var(--twm-hero-surface); box-shadow: 0 0 0 100vmax var(--twm-hero-surface); clip-path: inset(0 -100vmax); z-index: -1; }
#twm-main .twm-luma-hero-image { pointer-events: none; }
@media(min-width:1101px) { #twm-main .twm-hero-luma { width: 119.5%; } }
@media(min-width:1500px) { #twm-main #servicios { padding-top: 210px; } }
#software { padding-top: clamp(64px,5vw,96px); padding-bottom: calc((clamp(64px,5vw,96px) + 12px) / 2); }
#software .twm-software-closing { padding-top: calc((clamp(64px,5vw,96px) + 12px) / 2); }
#software > .twm-section-heading { max-width: none; margin-bottom: calc(34px + 2%); }
#software #twm-software-title { max-width: none; font-size: clamp(34px,3vw,56px); line-height: 1.1; }
#software #twm-software-title > span { display: inline; }
#seo-geo .twm-visibility-heading { margin-bottom: 38px; }
#seo-geo .twm-search-composition { height: 315px; }
#seo-geo .twm-google-review-sheet { position: absolute; bottom: 0; left: 4%; width: 48%; padding: 17px 20px; border: 1px solid #edf0f1; border-radius: 16px; background: white; box-shadow: 0 12px 26px #25323c0d; transform: rotate(-3deg); z-index: 2; }
#seo-geo .twm-review-heading { display: flex; align-items: center; gap: 9px; font-size: 14px; }
#seo-geo .twm-review-heading .twm-google-symbol { font-size: 21px; }
#seo-geo .twm-google-review-sheet > p { font-size: 17px; line-height: 1.15; margin: 13px 0 7px; }
#seo-geo .twm-review-stars { display: flex; gap: 4px; color: #f5b529; margin-bottom: 7px; }
#seo-geo .twm-review-caption { display: block; font-size: 12px; color: var(--twm-text-muted); }
#seo-geo .twm-google-review-sheet > i { display: block; height: 5px; width: 85%; margin-top: 8px; background: #e6e9eb; border-radius: 4px; }
#seo-geo .twm-google-review-sheet > i:last-child { width: 62%; }
#seo-geo .twm-seo-approaches { margin-bottom: 34px; }
#seo-geo .twm-method-panel { margin: 28px 0 30px; padding: 25px 28px; gap: 28px; background: linear-gradient(120deg,#eee8df,#e9e4dc); border: 2px solid #fff; border-radius: 17px; box-shadow: 0 12px 30px #584a3412; }
#seo-geo .twm-method-main > h3 { display: flex; align-items: center; gap: 10px; margin-bottom: 18px; }
#seo-geo .twm-method-main > h3::before { content: ''; width: 24px; height: 2px; background: var(--twm-brand-accent-action); flex-shrink: 0; }
#seo-geo .twm-method-icon { display: grid; place-items: center; width: 44px; height: 44px; margin-bottom: 10px; border-radius: 50%; background: #fbe1d9; }
#seo-geo .twm-method-icon svg { width: 24px; height: 24px; }
#seo-geo .twm-method-steps li:not(:last-child)::after { top: 8px; font-size: 22px; }
#seo-geo .twm-method-plans { border-left: 1px solid #d6cfc4; }
#seo-geo .twm-method-plans li { background: white; border-color: #f6f5f3; border-radius: 8px; padding: 9px 10px; }
#contacto .twm-home-contact-layout { align-items: center; }
#contacto .twm-home-contact-panel { align-self: center; }
#contacto .twm-contact-form { width: 100%; max-width: none; min-height: 0; padding: 0; margin: 0; }
#contacto .wpcf7,#contacto .wpcf7 form { width: 100%; margin: 0; }
#contacto .twm-form-row { grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
#contacto .twm-form-row > p { min-width: 0; }
#contacto .wpcf7-form-control-wrap { display: block; width: 100%; }
#contacto .twm-contact-form :is(input:not([type=hidden]),select,textarea) { width: 100%; max-width: none; border: 1px solid #d5dce1; border-radius: 8px; }
#contacto .twm-contact-form :is(input:not([type=submit]),select,textarea):focus-visible { outline: 2px solid var(--twm-brand-accent-visual); outline-offset: 2px; }
#contacto .twm-contact-form textarea { height: 140px; min-height: 140px; }
#contacto .twm-home-privacy { margin-top: 16px; line-height: 1.4; }
#contacto .wpcf7-response-output { margin: 16px 0 0; }
#contacto .wpcf7-form > p:has([type=submit]) { position: relative; margin-bottom: 0; }
#contacto .wpcf7-spinner { position: absolute; top: 50%; right: 14px; margin: 0; transform: translateY(-50%); }
@media(min-width:1101px) { #software #twm-software-title { white-space: nowrap; } }
@media(max-width:1150px) { #seo-geo .twm-method-plans { border-left: 0; border-top: 1px solid #d6cfc4; } }
@media(max-width:767px) {
 #software { padding-top: 52px; padding-bottom: 32px; }
 #software .twm-software-closing { padding-top: 32px; }
 #software #twm-software-title { font-size: clamp(32px,8vw,48px); }
 #seo-geo .twm-search-composition { height: 320px; }
 #seo-geo .twm-google-review-sheet { width: 60%; left: 4%; bottom: 0; padding: 15px; }
 #seo-geo .twm-review-heading { font-size: 13px; }
 #seo-geo .twm-method-panel { padding: 24px 20px; margin-block: 24px 30px; }
 #seo-geo .twm-method-steps li { grid-template-columns: 44px 1fr; }
 #contacto .twm-form-row { grid-template-columns: 1fr; }
}

/* contact-feedback.css */
.twm-contact-dialog{width:min(480px,calc(100% - 32px));max-height:calc(100dvh - 32px);border:1px solid #e4dfd8;border-radius:20px;padding:36px;text-align:center;background:#fff;color:#192b33;box-shadow:0 24px 100px #192b3330;font-family:utile-narrow,sans-serif;font-weight:400;overflow:auto}
.twm-contact-dialog::backdrop{background:#192b3370;backdrop-filter:blur(3px)}
.twm-contact-dialog .twm-contact-dialog-close{position:absolute;right:12px;top:10px;border:0;background:transparent;color:#6c777d;font:inherit;font-size:28px;cursor:pointer;padding:0;width:32px;height:32px}
.twm-contact-dialog-icon{display:grid;place-items:center;width:76px;height:76px;margin:0 auto 24px;border:2px solid #ce3c2d;border-radius:50%;color:#ce3c2d;background:#fff1ed;font-size:40px;line-height:1}
.twm-contact-dialog[data-kind=success] .twm-contact-dialog-icon{color:#59765e;background:#eef5ed;border-color:#74947a}
.twm-contact-dialog[data-kind=invalid] .twm-contact-dialog-icon{color:#b27726;background:#fff7e9;border-color:#d0a368}
.twm-contact-dialog h2{font:400 32px/1.1 utile-narrow,sans-serif;letter-spacing:-.02em;margin:0 0 16px}
.twm-contact-dialog p{font-size:18px;line-height:1.45;color:#617078;margin:0 0 26px}
.twm-contact-dialog .twm-contact-dialog-confirm{justify-content:center;min-width:150px;font-size:17px;padding:12px 24px;cursor:pointer}
@media(max-width:480px){.twm-contact-dialog{padding:32px 24px}.twm-contact-dialog h2{font-size:28px}}
.twm-thank-you{padding-block:48px;min-height:55vh;display:grid;place-items:center}
.twm-thank-you section{width:min(100%,580px);padding:32px;background:#fff;border:1px solid #e4dfd8;border-radius:18px;text-align:center}
.twm-thank-you .twm-contact-dialog-icon{color:#59765e;background:#eef5ed;border-color:#74947a;width:64px;height:64px;font-size:32px}
.twm-thank-you h1{font-size:36px;font-weight:400;line-height:1.15;margin:0 0 16px}
.twm-thank-you p{font-size:18px;color:#617078;line-height:1.5;margin:0 0 24px}

/* desktop-eyebrows.css */
/* Section labels: five pixels larger on desktop; retain mobile typography. */
@media (min-width: 1024px) {
  .twm-eyebrow { font-size: 17px !important; }
  #twm-main .twm-hero-reference .twm-eyebrow { font-size: 15px !important; }
  .twm-home .twm-project-editorial .twm-eyebrow { font-size: 15px !important; }
  #software .twm-eyebrow { font-size: 14px !important; }
  #seo-geo .twm-eyebrow { font-size: 16px !important; }
  #seo-geo .twm-naturalia-intro .twm-eyebrow { font-size: 15px !important; }
  #productos .twm-wordpress-main > .twm-eyebrow { font-size: 16px !important; }
  #productos .twm-plugin-content > .twm-eyebrow { font-size: 15px !important; }
}

/* microgestures.css */
/* Small, event-driven gestures. No idle effects or hidden content. */
.twm-button, .twm-blog-filters a {
  transition: transform 180ms ease, background-color 180ms ease, color 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}
.twm-service-icon, .twm-text-link .twm-icon {
  transition: transform 200ms ease, color 200ms ease, border-color 200ms ease;
}
.twm-blog-list-card {
  transition: transform 240ms ease, border-color 240ms ease, box-shadow 240ms ease;
}
.twm-blog-list-image img { transition: transform 360ms ease; }
.twm-header { transition: box-shadow 240ms ease; }
@media (hover: hover) and (pointer: fine) {
  .twm-button:hover { transform: translateY(-1px); }
  .twm-button:active { transform: translateY(0) scale(.99); }
  .twm-text-link:hover .twm-icon { transform: translateX(3px); }
  .twm-service-card:hover .twm-service-icon { transform: translateY(-2px); border-color: #a6adb1; }
  .twm-blog-list-card:hover { transform: translateY(-2px); border-color: #cfc6bb; box-shadow: 0 10px 24px rgb(36 52 61 / 6%); }
  .twm-blog-list-card:hover .twm-blog-list-image img { transform: scale(1.015); }
  .twm-project-link:hover img, .twm-blog-image:hover img { transform: scale(1.012); }
  .twm-software-card:hover .twm-software-preview img { transform: scale(1.01); }
}
@keyframes twm-enter-soft {
  from { opacity: .94; transform: translateY(6px); }
  to { opacity: 1; transform: translateY(0); }
}
.twm-entered { animation: twm-enter-soft 460ms cubic-bezier(.22,.7,.25,1) both; }
.twm-entered:focus-within { animation: none; }
@media (prefers-reduced-motion: reduce) {
  .twm-entered { animation: none !important; }
  .twm-button, .twm-service-icon, .twm-blog-list-card, .twm-blog-list-image img,
  .twm-text-link .twm-icon { transform: none !important; transition: none !important; }
}

/* mobile-header.css */
/* Reuse the single header and its existing controls; desktop stays unchanged. */
.twm-header .twm-menu-close { display: none; }
@media (max-width: 1000px) {
  body .twm-header .twm-header-inner { width: calc(100% - 32px); min-height: 74px; padding-block: 0; gap: 8px; flex-wrap: nowrap; }
  body .twm-header :is(.twm-brand,.custom-logo-link) { order: 0; flex: 1 1 auto; min-width: 0; max-width: 190px; width: auto; min-height: 48px; display: flex; align-items: center; overflow: visible; }
  body .twm-header :is(.twm-brand img,.custom-logo) { width: 100%; max-width: 190px; height: auto; transform: none; }
  .twm-header .twm-commerce-links { order: 1; flex: 0 0 auto; margin-left: auto; gap: 8px; }
  .twm-header .twm-cart-link, .twm-header .twm-menu-toggle { width: 48px; height: 48px; min-height: 48px; flex: 0 0 48px; padding: 0; margin: 0; display: grid; place-items: center; border: 0; background: transparent; color: #142730; }
  .twm-header .twm-menu-toggle { order: 2; }
  .twm-header .twm-menu-toggle > span { display: none; }
  .twm-header .twm-cart-link .twm-icon, .twm-header .twm-menu-toggle .twm-icon { width: 24px; height: 24px; }
  .twm-header .twm-menu-toggle .twm-menu-close { display: none; }
  .twm-header .twm-menu-toggle[aria-expanded=true] > .twm-icon:not(.twm-menu-close) { display: none; }
  .twm-header .twm-menu-toggle[aria-expanded=true] .twm-menu-close { display: block; }
  .twm-js .twm-header .twm-commerce-links > :is(.twm-language-selector,.twm-account-link) { display: none; }
  .twm-header .twm-navigation { position: absolute; top: 100%; left: -16px; right: -16px; width: auto; padding: 16px max(16px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left)); max-height: calc(100vh - 75px - var(--twm-header-offset)); max-height: calc(100dvh - 75px - var(--twm-header-offset)); overflow-y: auto; overscroll-behavior: contain; background: #fbf8f2; border-top: 1px solid #ddd9d1; box-shadow: 0 12px 20px rgb(23 31 36 / 7%); gap: 16px; }
  .twm-header .twm-menu { gap: 0; }
  .twm-header .twm-menu a { min-height: 52px; padding: 8px 12px; font-size: 20px; line-height: 1.25; }
  .twm-header .twm-menu .sub-menu a { min-height: 48px; font-size: 18px; }
  .twm-header .twm-menu a::after { display: none; }
  .twm-header .twm-menu a:is(:hover,:focus-visible) { background: #efeae2; border-radius: 8px; }
  .twm-header .twm-nav-cta { min-height: 48px; align-self: stretch; justify-content: center; }
  .twm-header .twm-mobile-menu-tools:not([hidden]) { display: flex; flex-direction: column; gap: 12px; border-top: 1px solid #ddd9d1; padding-top: 12px; }
  .twm-header .twm-mobile-menu-tools .twm-account-link { display: flex; align-items: center; gap: 12px; min-height: 52px; padding: 8px 12px; text-decoration: none; color: inherit; font-size: 20px; }
  .twm-header .twm-mobile-menu-tools .twm-language-selector { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; padding: 0; border: 0; }
  .twm-header .twm-mobile-menu-tools .twm-language-selector a { min-height: 48px; display: flex; align-items: center; justify-content: center; gap: 10px; opacity: 1; border: 1px solid #ddd9d1; padding: 8px; font-size: 18px; }
  .twm-header .twm-mobile-menu-tools .twm-language-selector a[aria-current=true] { background: #efeae2; border-color: #3a4750; }
  .twm-header .twm-mobile-menu-tools .twm-language-selector a[aria-current=true]::after { content: '\2713'; }
  .twm-header :is(a,button):focus-visible { outline: 2px solid #bb3027; outline-offset: 3px; }
  /* With JS disabled, leave all navigation and original account/language links available. */
  html:not(.twm-js) .twm-header-inner { flex-wrap: wrap; }
  html:not(.twm-js) .twm-header .twm-navigation { position: static; flex-basis: 100%; }
}

/* Keep Ivy Ora's italic forms distinct instead of inheriting tight sans-serif tracking. */
.twm-home :is(.twm-hero .twm-editorial-emphasis,.twm-services-intro h2,.twm-services-intro .twm-editorial-emphasis,#twm-software-title,.twm-software-closing h3,.twm-device-note,.twm-service-card h3,.twm-addon-selected) {
  letter-spacing: .02em;
  word-spacing: .04em;
  line-height: 1.18;
}
