
  :root{ color-scheme: light; }
  body{ background:#ffffff; }

  .frosting-page {
    --paper: #ffffff;
    --paper-alt: #f4f7fa;
    --paper-raised: #ffffff;
    --ink: #0c1420;
    --ink-soft: #4c5c6b;
    --ink-faint: #7c8b98;
    --line: #dfe6ec;
    --line-strong: #c1cdd6;

    --brand-900: #061c33;
    --brand-800: #0a3055;
    --brand-700: #0e4d85;
    --brand-600: #155f9e;
    --brand-500: #1f83d4;
    --brand-400: #4aa3e8;
    --sky-300: #9ecdf4;

    --silver-200: #eef1f4;
    --silver-300: #d3dae0;
    --silver-400: #aeb9c2;
    --silver-500: #8996a3;

    --band-1: #14598f;
    --band-2: #0a2c4d;
    --band-3: #1f83d4;
    --vivid-1: #0e4fc2;
    --vivid-2: #1f74e6;

    --amber-500: #f2a339;
    --amber-600: #d6822a;
    --coral-500: #ff6a4d;
    --coral-600: #e5502f;
    --coral-tint: #fff0eb;
    --blue-tint: #e8f2fb;

    --whatsapp: #25d366;
    --whatsapp-dark: #1da851;

    --shadow-1: 0 1px 2px rgba(10,25,40,.06), 0 1px 1px rgba(10,25,40,.04);
    --shadow-2: 0 8px 24px -8px rgba(8,35,60,.24);
    --shadow-3: 0 24px 48px -16px rgba(8,35,60,.28);

    --radius-s: 10px;
    --radius-m: 16px;
    --radius-l: 24px;
    --container: 1180px;

    --fs-xs: .75rem;
    --fs-sm: .875rem;
    --fs-base: 1rem;
    --fs-md: 1.125rem;
    --fs-lg: 1.375rem;
    --fs-xl: 2rem;
    --fs-2xl: 2.75rem;

    --font-display: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    --font-body: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    --font-mono: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;

    background: var(--paper);
    color: var(--ink);
    font-family: var(--font-body);
    font-size: var(--fs-base);
    line-height: 1.55;
    -webkit-font-smoothing: antialiased;
    overflow-x: hidden;
  }
  @media (prefers-reduced-motion: reduce){
    .frosting-page *{ animation-duration:.001ms!important; animation-iteration-count:1!important; transition-duration:.001ms!important; scroll-behavior:auto!important; }
  }
  .frosting-page *, .frosting-page *::before, .frosting-page *::after{ box-sizing:border-box; }
  .frosting-page h1,.frosting-page h2,.frosting-page h3,.frosting-page h4{ font-family:var(--font-display); font-weight:800; letter-spacing:-.02em; line-height:1.06; margin:0; text-wrap:balance; color:var(--ink); }
  .frosting-page p{ margin:0; }
  .frosting-page ul{ list-style:none; margin:0; padding:0; }
  .frosting-page a{ color:inherit; text-decoration:none; }
  .frosting-page img{ max-width:100%; display:block; }
  .frosting-page button{ font:inherit; color:inherit; background:none; border:0; cursor:pointer; padding:0; }
  .frosting-page .container{ max-width:var(--container); margin-inline:auto; padding-inline:1.25rem; }
  @media (min-width:640px){ .frosting-page .container{ padding-inline:2rem; } }

  .frosting-page .eyebrow{ font-family:var(--font-mono); font-size:var(--fs-xs); font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--brand-700); background:var(--blue-tint); display:inline-flex; align-items:center; padding:.4rem .85rem; border-radius:100px; }

  .frosting-page .btn{ display:inline-flex; align-items:center; justify-content:center; gap:.6em; font-family:var(--font-body); font-weight:700; font-size:var(--fs-md); padding:.95em 1.6em; border-radius:100px; max-width:100%; transition:transform .15s ease, box-shadow .15s ease, background-color .15s ease; }
  .frosting-page .btn:active{ transform:translateY(1px); }
  .frosting-page .btn-wa{ background:var(--whatsapp); color:#fff; box-shadow:var(--shadow-2); }
  .frosting-page .btn-wa:hover{ background:var(--whatsapp-dark); }
  .frosting-page .btn-wa svg{ width:1.35em; height:1.35em; flex:none; }
  .frosting-page .btn-block{ width:100%; }
  .frosting-page .btn-lg{ font-size:var(--fs-lg); padding:1.05em 1.8em; }
  @media (max-width:420px){ .frosting-page .btn-lg{ font-size:1.05rem; padding:.9em 1.4em; } }

  .frosting-page :focus-visible{ outline:2.5px solid var(--brand-500); outline-offset:2px; border-radius:4px; }

  .frosting-page .reveal{ opacity:0; transform:translateY(26px); transition:opacity .7s cubic-bezier(.16,1,.3,1), transform .7s cubic-bezier(.16,1,.3,1); transition-delay:var(--reveal-delay,0s); }
  .frosting-page .reveal.in-view{ opacity:1; transform:translateY(0); }
  @media (prefers-reduced-motion: reduce){ .frosting-page .reveal{ opacity:1; transform:none; } }

  .frosting-page section{ padding-block:clamp(3.25rem,6vw,6rem); }

  .frosting-page .section-head{ max-width:44rem; margin-bottom:clamp(2rem,4vw,3.25rem); }
  .frosting-page .section-head h2{ font-size:var(--fs-2xl); margin-top:.5rem; }
  .frosting-page .section-head h2 em{ font-style:normal; color:var(--brand-600); }
  .frosting-page .section-head p{ color:var(--ink-soft); font-size:var(--fs-md); margin-top:.9rem; max-width:36rem; }
  .frosting-page .section-head.center{ margin-inline:auto; text-align:center; align-items:center; }
  .frosting-page .section-head.center p{ margin-inline:auto; }

  .frosting-page .ic{ width:1em; height:1em; flex:none; fill:currentColor; }

  .frosting-page .site-header{ position:sticky; top:0; z-index:40; background:rgba(255,255,255,.88); backdrop-filter:blur(10px) saturate(1.2); border-bottom:1px solid var(--line); }
  .frosting-page .site-header .container{ display:flex; align-items:center; justify-content:space-between; gap:1rem; padding-block:.65rem; }
  .frosting-page .brand{ display:flex; align-items:center; gap:.7rem; min-width:0; }
  .frosting-page .brand .logo-mark{ width:46px; height:46px; flex:none; border-radius:50%; object-fit:cover; }
  .frosting-page .brand-name{ font-family:var(--font-display); font-weight:800; font-size:1.15rem; line-height:1.15; letter-spacing:.01em; }
  .frosting-page .brand-name small{ display:block; font-family:var(--font-mono); font-weight:600; font-size:.58rem; letter-spacing:.14em; color:var(--brand-600); margin-top:.3rem; }
  .frosting-page .header-actions{ display:flex; align-items:center; gap:.7rem; }
  .frosting-page .header-actions .btn{ padding:.7em 1.15em; font-size:var(--fs-sm); }

  .frosting-page .hero{ position:relative; display:flex; align-items:flex-end; min-height:92vh; min-height:92svh; padding-block:clamp(2rem,9vw,3rem) clamp(2.75rem,10vw,4rem);
    background-image: linear-gradient(180deg, rgba(9,30,90,.16) 0%, rgba(9,30,90,.22) 34%, rgba(10,40,120,.52) 55%, rgba(9,35,110,.84) 74%, rgba(6,24,80,.93) 100%), url('assets/hero-equipe-mobile.webp');
    background-size:cover; background-position:center top; background-repeat:no-repeat; }
  @media (min-width:760px){ .frosting-page .hero{ display:block; min-height:0; padding-block:clamp(4.5rem,11vw,7rem);
    background-image: linear-gradient(100deg, rgba(9,45,138,.82) 0%, rgba(14,79,194,.6) 30%, rgba(14,79,194,.26) 55%, rgba(14,79,194,.08) 75%), url('assets/hero-equipe-desktop.webp');
    background-position:center 30%; } }
  .frosting-page .hero .container{ position:relative; width:100%; }
  .frosting-page .hero-copy{ max-width:36rem; text-align:center; margin-inline:auto; animation:frosting-hero-in .8s cubic-bezier(.16,1,.3,1) both; }
  @media (min-width:760px){ .frosting-page .hero-copy{ text-align:left; margin-inline:0; } }
  @keyframes frosting-hero-in{ from{ opacity:0; transform:translateY(18px); } to{ opacity:1; transform:translateY(0); } }
  @media (prefers-reduced-motion: reduce){ .frosting-page .hero-copy{ animation:none; } }
  .frosting-page .hero-copy .eyebrow{ margin-bottom:1.1rem; background:rgba(255,255,255,.14); color:#fff; backdrop-filter:blur(4px); }
  .frosting-page .hero h1{ font-size:clamp(2.35rem,5.4vw,3.1rem); color:#fff; text-shadow:0 2px 20px rgba(4,14,40,.5); }
  .frosting-page .hero h1 em{ font-style:normal; color:var(--sky-300); }
  .frosting-page .hero-lede{ margin-top:1.15rem; font-size:var(--fs-md); color:rgba(255,255,255,.88); max-width:34rem; text-shadow:0 1px 12px rgba(4,14,40,.4); }
  .frosting-page .hero-actions{ display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:1rem 1.5rem; margin-top:1.75rem; }
  .frosting-page .hero-bullets{ display:flex; flex-wrap:wrap; justify-content:center; gap:.6rem 1.4rem; margin-top:1.6rem; }
  @media (min-width:760px){ .frosting-page .hero-actions, .frosting-page .hero-bullets{ justify-content:flex-start; } }
  .frosting-page .hero-bullets li{ display:flex; align-items:center; gap:.5rem; font-size:var(--fs-sm); font-weight:600; color:rgba(255,255,255,.92); }
  .frosting-page .hero-bullets svg{ width:1.1em; height:1.1em; color:var(--whatsapp); flex:none; }
  .frosting-page .rating-chip{ margin-top:1.75rem; display:inline-flex; align-items:center; gap:.7rem; background:var(--paper-raised); border:1px solid var(--line); border-radius:100px; padding:.55rem .9rem .55rem .6rem; box-shadow:var(--shadow-3); }
  .frosting-page .rating-chip .stars{ display:flex; gap:1px; color:var(--amber-500); }
  .frosting-page .rating-chip .stars svg{ width:.95em; height:.95em; }
  .frosting-page .rating-chip b{ font-family:var(--font-mono); font-size:var(--fs-sm); }
  .frosting-page .rating-chip span{ font-size:var(--fs-xs); color:var(--ink-soft); }

  .frosting-page .brands-band{ background:linear-gradient(180deg, var(--band-2), #071f38); color:#fff; }
  .frosting-page .brands-band .section-head.center{ max-width:34rem; }
  .frosting-page .brands-band .eyebrow{ background:rgba(255,255,255,.12); color:#fff; }
  .frosting-page .brands-band h2{ color:#fff; font-size:var(--fs-xl); }
  .frosting-page .brands-band .section-head p{ color:#b7cddb; }
  .frosting-page .brand-marquee{ margin-top:.5rem; overflow:hidden; -webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent); mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent); }
  .frosting-page .brand-marquee-track{ display:flex; width:max-content; gap:1.1rem; animation:frosting-marquee 24s linear infinite; }
  .frosting-page .brand-marquee:hover .brand-marquee-track{ animation-play-state:paused; }
  .frosting-page .brand-chip{ flex:none; display:flex; align-items:center; justify-content:center; width:9rem; height:3.8rem; padding:.65rem 1.2rem; border-radius:var(--radius-s); background:#fff; box-shadow:var(--shadow-1); }
  .frosting-page .brand-chip img{ max-width:100%; max-height:100%; object-fit:contain; }

  .frosting-page .mini-cta{ margin-top:clamp(2rem,4vw,3rem); padding-top:clamp(1.5rem,3vw,2rem); border-top:1px solid var(--line); display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:1rem 1.5rem; }
  .frosting-page .mini-cta p{ font-weight:600; color:var(--ink-soft); font-size:var(--fs-md); }
  .frosting-page .mini-cta .btn{ padding:.75em 1.35em; font-size:var(--fs-sm); flex:none; }
  .frosting-page .mini-cta.on-dark{ border-top-color:rgba(255,255,255,.14); }
  .frosting-page .mini-cta.on-dark p{ color:rgba(255,255,255,.82); }
  .frosting-page .mini-cta.center{ justify-content:center; text-align:center; flex-direction:column; }

  .frosting-page .services-grid{ display:grid; grid-template-columns:1fr; gap:1.5rem; }
  @media (min-width:640px){ .frosting-page .services-grid{ grid-template-columns:repeat(2,1fr); } }
  @media (min-width:1000px){ .frosting-page .services-grid{ grid-template-columns:repeat(3,1fr); } }
  .frosting-page .svc-card{ background:var(--paper-raised); border:1px solid var(--line); border-radius:var(--radius-m); overflow:hidden; display:flex; flex-direction:column; box-shadow:var(--shadow-1); transition:box-shadow .18s ease, transform .18s ease; }
  .frosting-page .svc-card:hover{ box-shadow:var(--shadow-2); transform:translateY(-3px); }
  .frosting-page .svc-photo{ aspect-ratio:4/3; overflow:hidden; position:relative; background:var(--paper-alt); }
  .frosting-page .svc-photo img{ width:100%; height:100%; object-fit:cover; }
  .frosting-page .svc-body{ padding:1.3rem 1.4rem 1.5rem; display:flex; flex-direction:column; gap:.6rem; flex:1; }
  .frosting-page .svc-body h3{ font-size:var(--fs-lg); font-weight:700; letter-spacing:-.005em; }
  .frosting-page .svc-body p{ color:var(--ink-soft); font-size:var(--fs-sm); flex:1; }
  .frosting-page .svc-link{ margin-top:.5rem; display:flex; align-items:center; justify-content:center; gap:.5rem; font-weight:700; font-size:var(--fs-sm); color:#fff; background:var(--whatsapp); padding:.85em 1.2em; border-radius:100px; box-shadow:var(--shadow-1); transition:background-color .15s ease, transform .15s ease, box-shadow .15s ease; }
  .frosting-page .svc-link:hover{ background:var(--whatsapp-dark); box-shadow:var(--shadow-2); }
  .frosting-page .svc-link svg{ width:1.2em; height:1.2em; flex:none; }

  .frosting-page .about-us{ background:var(--paper-alt); border-block:1px solid var(--line); }
  .frosting-page .about-us .container{ display:grid; grid-template-columns:1fr; gap:2.75rem; align-items:center; }
  @media (min-width:900px){ .frosting-page .about-us .container{ grid-template-columns:1fr 1.1fr; gap:3.5rem; } }
  .frosting-page .about-photo{ position:relative; }
  .frosting-page .about-photo::before{ content:""; position:absolute; top:-1rem; right:-1rem; width:52%; aspect-ratio:1; background:linear-gradient(135deg,var(--sky-300),var(--brand-500)); border-radius:var(--radius-m); opacity:.45; z-index:0; }
  .frosting-page .about-photo img{ position:relative; z-index:1; display:block; width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:var(--radius-m); box-shadow:var(--shadow-2); }
  .frosting-page .about-copy h2{ font-size:var(--fs-2xl); }
  .frosting-page .about-copy p{ margin-top:1.1rem; color:var(--ink-soft); font-size:var(--fs-md); max-width:32rem; }
  .frosting-page .about-stats{ display:flex; flex-wrap:wrap; gap:.7rem; margin-top:1.6rem; }
  .frosting-page .about-stats li{ display:flex; align-items:center; gap:.55rem; font-size:var(--fs-sm); font-weight:600; color:var(--brand-700); background:var(--blue-tint); padding:.55rem .9rem; border-radius:100px; }
  .frosting-page .about-stats svg{ width:1.05em; height:1.05em; color:var(--brand-600); flex:none; }

  .frosting-page .why-us .container{ display:grid; grid-template-columns:1fr; gap:2.75rem; }
  @media (min-width:900px){ .frosting-page .why-us .container{ grid-template-columns:.85fr 1.15fr; align-items:center; } }
  .frosting-page .why-copy .eyebrow{ margin-bottom:1rem; }
  .frosting-page .why-copy h2{ font-size:var(--fs-2xl); }
  .frosting-page .why-copy p{ margin-top:1rem; color:var(--ink-soft); font-size:var(--fs-md); max-width:30rem; }
  .frosting-page .why-photo{ margin-top:1.75rem; border-radius:var(--radius-m); overflow:hidden; border:1px solid var(--line); box-shadow:var(--shadow-1); aspect-ratio:4/3; max-width:26rem; }
  .frosting-page .why-photo img{ width:100%; height:100%; object-fit:cover; }
  .frosting-page .why-list{ display:grid; grid-template-columns:1fr; gap:.9rem; }
  @media (min-width:560px){ .frosting-page .why-list{ grid-template-columns:1fr 1fr; } }
  .frosting-page .why-item{ display:flex; gap:1rem; padding:1.1rem; background:var(--paper-raised); border:1px solid var(--line); border-radius:var(--radius-s); }
  .frosting-page .why-ic{ width:2.6rem; height:2.6rem; border-radius:50%; flex:none; display:flex; align-items:center; justify-content:center; background:var(--blue-tint); color:var(--brand-600); }
  .frosting-page .why-ic svg{ width:1.3rem; height:1.3rem; }
  .frosting-page .why-item:nth-child(3n+2) .why-ic{ background:var(--coral-tint); color:var(--coral-600); }
  .frosting-page .why-item:nth-child(3n+3) .why-ic{ background:#fff2d9; color:var(--amber-600); }
  .frosting-page .why-item h4{ font-size:var(--fs-base); font-family:var(--font-body); font-weight:700; }
  .frosting-page .why-item p{ font-size:var(--fs-sm); color:var(--ink-soft); margin-top:.3rem; }

  .frosting-page .gallery-filters{ display:flex; flex-wrap:wrap; justify-content:center; gap:.6rem; margin-bottom:clamp(1.75rem,3vw,2.5rem); }
  .frosting-page .gallery-filter-btn{ padding:.6em 1.3em; border-radius:100px; border:1.5px solid var(--line-strong); background:var(--paper-raised); color:var(--ink-soft); font-weight:700; font-size:var(--fs-sm); transition:background-color .15s ease, border-color .15s ease, color .15s ease; }
  .frosting-page .gallery-filter-btn:hover{ border-color:var(--brand-500); color:var(--brand-600); }
  .frosting-page .gallery-filter-btn.active{ background:var(--brand-600); border-color:var(--brand-600); color:#fff; }
  .frosting-page .gallery-grid{ display:grid; grid-template-columns:1fr; gap:1.5rem; }
  @media (min-width:640px){ .frosting-page .gallery-grid{ grid-template-columns:repeat(2,1fr); } }
  @media (min-width:1000px){ .frosting-page .gallery-grid{ grid-template-columns:repeat(3,1fr); } }
  .frosting-page .gallery-card{ background:var(--paper-raised); border:1px solid var(--line); border-radius:var(--radius-m); overflow:hidden; display:flex; flex-direction:column; box-shadow:var(--shadow-1); transition:box-shadow .18s ease, transform .18s ease; }
  .frosting-page .gallery-card:hover{ box-shadow:var(--shadow-2); transform:translateY(-3px); }
  .frosting-page .gallery-card-hidden{ display:none; }
  .frosting-page .gallery-card-photo{ aspect-ratio:4/3; overflow:hidden; position:relative; background:var(--paper-alt); }
  .frosting-page .gallery-card-photo img{ width:100%; height:100%; object-fit:cover; transition:transform .35s ease; }
  .frosting-page .gallery-card:hover .gallery-card-photo img{ transform:scale(1.06); }
  .frosting-page .gallery-badge{ position:absolute; top:.8rem; left:.8rem; background:var(--brand-600); color:#fff; font-size:var(--fs-xs); font-weight:700; padding:.35rem .75rem; border-radius:100px; box-shadow:var(--shadow-1); }
  .frosting-page .gallery-card-body{ padding:1.1rem 1.3rem 1.3rem; display:flex; flex-direction:column; gap:.5rem; }
  .frosting-page .gallery-card-body h3{ font-size:var(--fs-md); font-weight:700; letter-spacing:-.005em; }
  .frosting-page .gallery-card-loc{ display:flex; align-items:center; gap:.4rem; font-size:var(--fs-sm); color:var(--ink-faint); }
  .frosting-page .gallery-card-loc svg{ width:1em; height:1em; flex:none; }
  .frosting-page .gallery-card-link{ margin-top:.3rem; display:inline-flex; align-items:center; gap:.4rem; font-weight:700; font-size:var(--fs-sm); color:var(--brand-600); }
  .frosting-page .gallery-card-link:hover{ color:var(--brand-700); }
  .frosting-page .gallery-card-link svg{ width:1em; height:1em; flex:none; transition:transform .15s ease; }
  .frosting-page .gallery-card-link:hover svg{ transform:translateX(3px); }

  .frosting-page .testi-head{ display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:1.75rem 3rem; margin-bottom:2.5rem; }
  .frosting-page .testi-head .section-head{ margin-bottom:0; max-width:24rem; }
  .frosting-page .testi-head-right{ display:flex; flex-direction:column; align-items:flex-end; gap:1rem; }
  .frosting-page .rating-card{ background:var(--paper-raised); border:1px solid var(--line); border-radius:var(--radius-m); padding:1.4rem 1.7rem; text-align:center; box-shadow:var(--shadow-1); min-width:15rem; }
  .frosting-page .rating-card .word{ font-family:var(--font-mono); font-weight:700; letter-spacing:.12em; font-size:.72rem; color:var(--ink-soft); }
  .frosting-page .rating-card .stars{ display:flex; justify-content:center; gap:2px; color:var(--amber-500); margin:.55rem 0; }
  .frosting-page .rating-card .stars svg{ width:1.3rem; height:1.3rem; }
  .frosting-page .rating-card .score{ font-size:var(--fs-sm); color:var(--ink-soft); }
  .frosting-page .rating-card .score b{ color:var(--ink); font-family:var(--font-mono); }
  .frosting-page .rating-card .google{ display:flex; justify-content:center; align-items:center; gap:.4rem; margin-top:.7rem; }
  .frosting-page .rating-card .google svg{ width:1.15rem; height:1.15rem; }
  .frosting-page .rating-card .google span{ font-weight:700; font-size:var(--fs-sm); color:var(--ink-soft); }
  .frosting-page .testi-nav{ display:flex; gap:.6rem; }
  .frosting-page .nav-btn{ width:2.6rem; height:2.6rem; border-radius:50%; border:1.5px solid var(--line-strong); display:flex; align-items:center; justify-content:center; color:var(--ink); transition:background-color .15s ease, border-color .15s ease; }
  .frosting-page .nav-btn:hover{ border-color:var(--brand-500); color:var(--brand-600); }
  .frosting-page .nav-btn svg{ width:1.15rem; height:1.15rem; }
  .frosting-page .testi-track{ display:flex; gap:1.1rem; overflow-x:auto; scroll-snap-type:x mandatory; padding-bottom:.5rem; margin:0 -1.25rem; padding-inline:1.25rem; scrollbar-width:none; }
  .frosting-page .testi-track::-webkit-scrollbar{ display:none; }
  @media (min-width:640px){ .frosting-page .testi-track{ margin:0 -2rem; padding-inline:2rem; } }
  .frosting-page .testi-card{ scroll-snap-align:start; flex:0 0 auto; width:min(21rem,80vw); background:var(--paper-raised); border:1px solid var(--line); border-radius:var(--radius-m); padding:1.5rem; display:flex; flex-direction:column; gap:.9rem; box-shadow:var(--shadow-1); position:relative; }
  .frosting-page .testi-top{ display:flex; align-items:center; gap:.8rem; }
  .frosting-page .avatar{ width:2.7rem; height:2.7rem; border-radius:50%; display:flex; align-items:center; justify-content:center; font-family:var(--font-mono); font-weight:700; color:#fff; font-size:.85rem; flex:none; }
  .frosting-page .testi-name{ font-weight:700; font-size:var(--fs-sm); }
  .frosting-page .testi-meta{ font-size:.72rem; color:var(--ink-faint); }
  .frosting-page .testi-google{ position:absolute; top:1.3rem; right:1.4rem; width:1.1rem; height:1.1rem; }
  .frosting-page .testi-stars{ display:flex; gap:1px; color:var(--amber-500); }
  .frosting-page .testi-stars svg{ width:.85rem; height:.85rem; }
  .frosting-page .testi-text{ font-size:var(--fs-sm); color:var(--ink-soft); }

  .frosting-page .partners{ background:var(--paper-alt); border-block:1px solid var(--line); }
  .frosting-page .partners .section-head{ margin-bottom:1.75rem; }
  .frosting-page .marquee{ overflow:hidden; -webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent); mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent); }
  .frosting-page .marquee-track{ display:flex; width:max-content; gap:2.25rem; animation:frosting-marquee 32s linear infinite; }
  .frosting-page .marquee:hover .marquee-track{ animation-play-state:paused; }
  @keyframes frosting-marquee{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }
  .frosting-page .partner-card{ flex:none; width:10.5rem; height:5rem; border:1px solid var(--line); border-radius:var(--radius-s); background:var(--paper-raised); box-shadow:var(--shadow-1); display:flex; align-items:center; justify-content:center; padding:.9rem 1.15rem; }
  .frosting-page .partner-card img{ max-width:100%; max-height:100%; object-fit:contain; }
  .frosting-page .partner-card.on-dark{ background:var(--band-2); border-color:var(--band-2); }

  .frosting-page .faq-layout{ display:grid; grid-template-columns:1fr; gap:1.75rem; }
  @media (min-width:820px){ .frosting-page .faq-layout{ grid-template-columns:.88fr 1.12fr; gap:3rem; align-items:start; } }
  .frosting-page .faq-questions{ display:flex; flex-direction:column; gap:.65rem; }
  .frosting-page .faq-q{ display:flex; align-items:center; justify-content:space-between; gap:1rem; width:100%; padding:1.1rem 1.3rem; border-radius:var(--radius-s); border:1.5px solid var(--line); background:var(--paper-raised); font-weight:700; font-size:var(--fs-md); text-align:left; color:var(--ink); transition:border-color .15s ease, background-color .15s ease, color .15s ease; }
  .frosting-page .faq-q:hover{ border-color:var(--line-strong); }
  .frosting-page .faq-q .plus{ width:1.7rem; height:1.7rem; flex:none; border-radius:50%; border:1.5px solid var(--line-strong); display:flex; align-items:center; justify-content:center; color:var(--ink-soft); transition:transform .2s ease, background-color .15s ease, border-color .15s ease, color .15s ease; }
  .frosting-page .faq-q .plus svg{ width:.8rem; height:.8rem; }
  .frosting-page .faq-q[aria-expanded="true"]{ background:var(--blue-tint); border-color:var(--brand-500); color:var(--brand-700); }
  .frosting-page .faq-q[aria-expanded="true"] .plus{ transform:rotate(45deg); background:var(--brand-600); border-color:var(--brand-600); color:#fff; }
  .frosting-page .faq-panel{ background:var(--paper-raised); border:1.5px solid var(--line); border-radius:var(--radius-m); padding:clamp(1.6rem,3vw,2.25rem); min-height:11rem; }
  @media (min-width:820px){ .frosting-page .faq-panel{ position:sticky; top:5.5rem; } }
  .frosting-page .faq-panel .eyebrow{ margin-bottom:1rem; }
  .frosting-page .faq-answer-q{ font-size:var(--fs-lg); font-weight:800; margin-bottom:.85rem; }
  .frosting-page .faq-answer{ font-size:var(--fs-md); color:var(--ink-soft); line-height:1.65; }

  .frosting-page .final-cta{ background:linear-gradient(135deg,var(--vivid-2),var(--vivid-1)); color:#fff; text-align:center; }
  .frosting-page .final-cta .container{ display:flex; flex-direction:column; align-items:center; gap:1.4rem; }
  .frosting-page .final-cta h2{ font-size:var(--fs-2xl); max-width:32rem; color:#fff; }
  .frosting-page .final-cta p{ color:#d3e6f0; font-size:var(--fs-md); max-width:30rem; }

  .frosting-page .site-footer{ background:var(--band-2); color:#c3d7e2; padding-block:3.5rem 2rem; }
  .frosting-page .site-footer a:hover{ color:#fff; }
  .frosting-page .footer-grid{ display:grid; grid-template-columns:1fr; gap:2.5rem; }
  @media (min-width:760px){ .frosting-page .footer-grid{ grid-template-columns:1.3fr 1fr 1fr; } }
  .frosting-page .footer-brand{ display:flex; align-items:center; gap:.75rem; margin-bottom:1rem; }
  .frosting-page .footer-brand .logo-mark{ width:46px; height:46px; border-radius:50%; object-fit:cover; }
  .frosting-page .footer-brand b{ font-family:var(--font-display); font-size:1.15rem; color:#fff; }
  .frosting-page .site-footer p.tag{ max-width:22rem; font-size:var(--fs-sm); color:#9db4c0; }
  .frosting-page .footer-col h5{ font-family:var(--font-mono); font-size:.7rem; letter-spacing:.12em; text-transform:uppercase; color:#7f97a3; margin-bottom:1rem; }
  .frosting-page .footer-col ul{ display:flex; flex-direction:column; gap:.6rem; font-size:var(--fs-sm); }
  .frosting-page .footer-col .wa-line{ display:flex; align-items:center; gap:.5rem; font-weight:700; color:#fff; margin-bottom:.9rem; }
  .frosting-page .footer-col .wa-line svg{ width:1.2em; height:1.2em; color:var(--whatsapp); }
  .frosting-page .footer-bottom{ margin-top:2.75rem; padding-top:1.75rem; border-top:1px solid #1e3b52; display:flex; flex-wrap:wrap; gap:.75rem; justify-content:space-between; font-size:.78rem; color:#7f97a3; }

  .frosting-page .wa-float{ position:fixed; right:1.1rem; bottom:calc(1.1rem + env(safe-area-inset-bottom,0px)); z-index:50; width:3.6rem; height:3.6rem; border-radius:50%; background:var(--whatsapp); display:flex; align-items:center; justify-content:center; box-shadow:var(--shadow-3); animation:frosting-pulse 2.6s ease-in-out infinite; transition:opacity .25s ease, transform .25s ease; }
  .frosting-page .wa-float svg{ width:1.9rem; height:1.9rem; color:#fff; }
  .frosting-page .wa-float:hover{ background:var(--whatsapp-dark); }
  .frosting-page .wa-float.wa-float-hidden{ opacity:0; transform:scale(.85); pointer-events:none; }
  @keyframes frosting-pulse{ 0%,100%{ box-shadow:0 0 0 0 rgba(37,211,102,.45), var(--shadow-3); } 50%{ box-shadow:0 0 0 12px rgba(37,211,102,0), var(--shadow-3); } }

  .frosting-page .popup-backdrop{ position:fixed; inset:0; background:rgba(5,12,20,.6); backdrop-filter:blur(2px); display:flex; align-items:center; justify-content:center; padding:1.25rem; z-index:100; opacity:0; pointer-events:none; transition:opacity .25s ease; }
  .frosting-page .popup-backdrop.open{ opacity:1; pointer-events:auto; }
  .frosting-page .popup{ background:var(--paper-raised); width:min(24rem,100%); border-radius:var(--radius-l); overflow:hidden; box-shadow:var(--shadow-3); position:relative; transform:translateY(14px) scale(.98); opacity:0; transition:transform .25s ease, opacity .25s ease; max-height:90vh; overflow-y:auto; }
  .frosting-page .popup-backdrop.open .popup{ transform:translateY(0) scale(1); opacity:1; }
  .frosting-page .popup-photo{ position:relative; aspect-ratio:16/10; background:var(--paper-alt); }
  .frosting-page .popup-photo img{ width:100%; height:100%; object-fit:cover; }
  .frosting-page .popup-close{ position:absolute; top:.75rem; right:.75rem; width:2.3rem; height:2.3rem; border-radius:50%; background:rgba(8,20,32,.55); color:#fff; display:flex; align-items:center; justify-content:center; backdrop-filter:blur(3px); }
  .frosting-page .popup-close svg{ width:1.1rem; height:1.1rem; }
  .frosting-page .popup-offer{ margin:-2.4rem 1.1rem 0; position:relative; background:var(--band-1); color:#fff; border-radius:var(--radius-m); padding:1.5rem 1.4rem; text-align:center; background-image:linear-gradient(135deg,var(--band-1),var(--band-3)); }
  .frosting-page .popup-offer .badge{ display:inline-flex; font-family:var(--font-mono); font-size:.65rem; font-weight:700; letter-spacing:.1em; background:var(--coral-500); color:#fff; border-radius:100px; padding:.4rem .85rem; margin-bottom:.75rem; }
  .frosting-page .popup-offer .big{ font-family:var(--font-display); font-size:3.4rem; font-weight:900; line-height:.9; }
  .frosting-page .popup-offer .desc{ font-size:var(--fs-sm); margin-top:.6rem; color:#e6f1f7; }
  .frosting-page .popup-body{ padding:1.5rem 1.5rem 1.75rem; }
  .frosting-page .popup-list{ display:flex; flex-direction:column; gap:.6rem; margin-bottom:1.4rem; }
  .frosting-page .popup-list li{ display:flex; gap:.6rem; font-size:var(--fs-sm); color:var(--ink-soft); }
  .frosting-page .popup-list svg{ width:1.15rem; height:1.15rem; color:var(--whatsapp-dark); flex:none; margin-top:.1rem; }
  .frosting-page .popup-dismiss{ display:block; text-align:center; margin-top:.9rem; font-size:var(--fs-sm); color:var(--ink-faint); font-weight:600; width:100%; }
  .frosting-page .popup-dismiss:hover{ color:var(--ink-soft); }
