:root {
  --paper: #ffffff;
  --white: #ffffff;
  --ink: #1d2421;
  --muted: #53615a;
  --line: #d6dfd8;
  --lime: #d9f99d;
  --forest: #003c33;
  --mint: #f2f7ed;
  --petrol: #003c33;
  --accent-dark: #003c33;
  --navy: #003c33;
  --green: #003c33;
}
.button { background:var(--forest); color:#fff; }
.button:hover { background:#075747; }
.button-dark { background:var(--forest); color:#fff; }
.button-dark:hover { background:#075747; }
.desktop-nav a:hover,.faq summary:hover { color:var(--petrol); }
.ticker { background:var(--green); color:#fff; border-color:var(--green); }
.hero-label::before { color:var(--petrol); }
.hero-proof__tag--right { background:var(--petrol); }
.accent-text { color:var(--accent-dark); }
.case-metric strong > span { color:var(--accent-dark); }
.service-description li::before { color:var(--accent-dark); }
.contact { background:var(--petrol); color:#fff; }
.contact h2 span { color:var(--lime); }
.contact .button { background:var(--lime); color:var(--forest); }
.contact .button:hover { background:#c5eb83; }
.portrait { overflow:hidden; }
.portrait > img {
  transform:scale(1.52);
  transform-origin:50% 43%;
  object-position:50% 48%;
}
.portrait-caption { background:var(--lime); }
.reel-button { border-radius:4px 4px 0 0; }
.reel-tag { color:var(--ink); }
.reel-bottom { min-height:64px; }
.reel-caption { padding-top:16px; }
.trust {
  display:block;
  width:100%;
  padding:34px 0 44px;
  overflow:hidden;
  background:#fff;
}
.trust > p {
  margin:0 0 24px;
  text-align:center;
  font-size:11px;
  font-weight:700;
  line-height:1.4;
}
.trust-marquee {
  --marquee-gap:58px;
  --marquee-shift:29px;
  width:100%;
  overflow:hidden;
  mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent);
}
.trust-marquee__track {
  display:flex;
  width:max-content;
  align-items:center;
  gap:var(--marquee-gap);
  animation:trust-logo-marquee 40s linear infinite;
  animation-play-state:running;
  will-change:transform;
}
.trust-marquee__group {
  display:flex;
  flex:none;
  align-items:center;
  gap:var(--marquee-gap);
  margin:0;
  padding:0;
  list-style:none;
}
.trust-marquee__group li {
  display:flex;
  width:176px;
  height:88px;
  flex:none;
  align-items:center;
  justify-content:center;
}
.trust-marquee__group img {
  display:block;
  width:auto;
  max-width:142px;
  max-height:62px;
  object-fit:contain;
}
.trust-marquee__group li:nth-child(3) img { border-radius:0; }
.trust-marquee__group .trust-logo--allasian {
  height:62px;
}
.trust-logo--mallorcatrans { display:flex; align-items:center; gap:8px; }
.trust-logo--mallorcatrans img { width:76px; height:76px; border-radius:50%; }
.trust-logo--mallorcatrans span { font-size:18px; font-weight:700; line-height:1; }
.trust-logo--mallorcatrans small { display:block; text-align:right; font-size:12px; font-weight:400; }
.trust-marquee__group a { display:flex; align-items:center; justify-content:center; width:100%; height:100%; }
.trust-marquee__group a:hover { transform:none; }
@keyframes trust-logo-marquee {
  from { transform:translateX(0); }
  to { transform:translateX(calc(-50% - var(--marquee-shift))); }
}
@media (hover:hover) {
  .trust-marquee:hover .trust-marquee__track { animation-play-state:paused; }
}
@media (max-width:720px) {
  .reel-bottom { min-height:56px; }
  .trust { padding:28px 0 34px; }
  .trust > p { margin-bottom:18px; font-size:10px; }
  .trust-marquee { --marquee-gap:30px; --marquee-shift:15px; }
  .trust-marquee__track { animation-duration:32s; }
  .trust-marquee__group li { width:132px; height:70px; }
  .trust-marquee__group img { max-width:110px; max-height:50px; }
  .trust-marquee__group .trust-logo--allasian { height:50px; }
  .trust-logo--mallorcatrans img { width:52px; height:52px; }
  .trust-logo--mallorcatrans span { font-size:13px; }
  .trust-logo--mallorcatrans small { font-size:10px; }
}
@media (prefers-reduced-motion:reduce) {
  .ticker-track { animation:none; transform:none; }
  .website-marquee { mask-image:none; }
  .website-marquee__track { width:100%; flex-wrap:wrap; justify-content:center; animation:none; transform:none; }
  .website-shot[aria-hidden="true"] { display:none; }
  .trust-marquee { mask-image:none; }
  .trust-marquee__track { width:100%; animation:none; transform:none; }
  .trust-marquee__group:first-child { width:100%; flex-wrap:wrap; justify-content:center; }
  .trust-marquee__group[aria-hidden="true"] { display:none; }
}
@media (min-width:721px) and (max-height:760px) {
  .hero-proof { top:39%; }
}

.trust {
  padding: 94px 0 104px;
  border-bottom: 1px solid var(--line);
  background: #fff;
}
.trust-heading {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 18px;
  max-width: 980px;
  margin: 0 auto 64px;
  padding: 0 24px;
  text-align: center;
}
.trust .trust-label {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  color: #575e5b;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0;
}
.trust-label::before {
  width: 27px;
  height: 2px;
  background: var(--lime);
  content: "";
}
.trust-heading h2 {
  max-width: 780px;
  font-family: var(--body);
  font-size: 70px;
  font-weight: 700;
  line-height: 1.08;
  text-wrap: balance;
}
.trust .trust-heading > p:last-child {
  max-width: 620px;
  margin: 0;
  color: #626d69;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.55;
  text-transform: none;
}
.trust-footer {
  display: flex;
  justify-content: center;
  margin-top: 68px;
  padding: 0 20px;
}
.trust-footer .button {
  min-height: 56px;
  padding: 15px 28px;
  background: var(--lime);
  box-shadow: 0 12px 26px rgba(255, 119, 89, .18);
}
.trust-footer .button:hover { background: #c5eb83; }

.header { background:rgba(255,255,255,.97); }
.brand-image { width:42px; height:42px; border-radius:50%; object-fit:cover; }
.hero.hero-reference .hero__inner { background:radial-gradient(circle at 50% 45%,#fff 48%,#eeece7 88%,#fff 120%); }
.hero-reference h1 { color:var(--ink); }
.hero-proof__tag--right { background:var(--lime); color:var(--ink); }
.proof-handle { position:absolute; bottom:8px; left:8px; right:8px; padding:4px 6px; background:#17171cdc; color:#fff; font-size:9px; font-weight:700; text-align:left; }
.accent-text { color:var(--forest); }
.case-metric strong > span { color:var(--forest); }
.case-green { background:var(--mint); }
.results { background:#fff; }
.case-grid { gap:34px; }
.case-study { border:0; background:transparent; box-shadow:none; }
.case-visual { background:#f4f4f2; }
.case-visual img { width:100%; object-fit:contain; }
.case-metric--large strong { white-space:nowrap; }
.case-extra { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin:18px 0 0; padding:0; list-style:none; }
.case-extra li { min-width:0; padding-top:13px; border-top:1px solid var(--line); }
.case-extra strong { display:block; color:var(--forest); font:30px/1.05 var(--display); }
.case-extra span:last-child { display:block; margin-top:4px; color:var(--muted); font-size:12px; line-height:1.45; }
.pricing-card--website { grid-column:1/-1; display:grid; grid-template-columns:minmax(0,1.1fr) minmax(220px,.42fr) minmax(0,1fr); gap:26px; align-items:start; border-color:var(--ink); background:#fff; }
.pricing-card--website .pricing-card__top { min-height:0; }
.pricing-card--website .pricing-card__top > span { color:var(--forest); }
.pricing-card--website .pricing-price { align-self:stretch; justify-content:center; flex-direction:column; gap:4px; padding:0 24px; border:0; border-inline:1px solid var(--line); text-align:center; }
.pricing-card--website .pricing-price strong { font-size:48px; }
.pricing-card--website ul { margin:0; columns:2; column-gap:22px; }
.pricing-card--website .pricing-link { grid-column:3; margin-top:18px; }
.website-marquee { width:100%; margin:28px 0 18px; overflow:hidden; mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent); }
.website-marquee__track { display:flex; width:max-content; gap:18px; animation:website-marquee 48s linear infinite; will-change:transform; }
.website-shot { width:320px; flex:0 0 320px; margin:0; }
.website-shot img { width:100%; aspect-ratio:16/9; height:auto; object-fit:cover; border:1px solid var(--line); background:#fff; }
.website-shot figcaption { margin-top:8px; color:var(--muted); font-size:12px; font-weight:700; }
.website-shot a { display:block; }
@keyframes website-marquee {
  from { transform:translateX(0); }
  to { transform:translateX(calc(-50% - 9px)); }
}
@media (hover:hover) {
  .website-marquee:hover .website-marquee__track { animation-play-state:paused; }
}
.proof-heading { border-top-color:#d9d9d9; }
.proof-track { gap:18px; }
.proof-button { border-radius:0; background:#f4f4f2; }
.proof-button > img { object-fit:cover; object-position:center; }
.proof-button > span { background:rgba(23,23,28,.72); }
.portrait-caption { background:var(--lime); }
.work,.dark-section,footer { background:var(--petrol); }
.faq { background:var(--mint); }
.section-foot a,.work .section-foot .text-link { color:var(--lime); }
.contact .button-dark { background:var(--lime); color:var(--ink); }
.mobile-contact { background:var(--lime); }

@media (max-width: 720px) {
  .trust { padding: 66px 0 72px; }
  .trust-heading { gap: 14px; margin-bottom: 38px; }
  .trust .trust-label { font-size: 11px; }
  .trust-heading h2 { font-size: 43px; line-height: 1.12; }
  .trust .trust-heading > p:last-child { font-size: 15px; }
  .trust-footer { margin-top: 42px; }
  .trust-footer .button { width: min(100%, 340px); }
  .case-extra { grid-template-columns:1fr; gap:8px; }
  .pricing-card--website { grid-template-columns:1fr; gap:18px; }
  .pricing-card--website .pricing-price { align-items:flex-start; padding:18px 0; border-inline:0; border-block:1px solid var(--line); text-align:left; }
  .pricing-card--website ul { columns:1; }
  .pricing-card--website .pricing-link { grid-column:auto; margin-top:0; }
  .website-marquee { margin-top:22px; mask-image:none; }
  .website-shot { width:min(78vw,300px); flex-basis:min(78vw,300px); }
}
