
  /* ============================================================
     TOKENS
     ============================================================ */
  :root{
    --ink:#14161A;
    --ink-2:#4B525A;
    --ink-3:#868D94;
    --paper:#FFFFFF;
    --paper-2:#F6F7F4;
    --paper-3:#EFF1EC;
    --line:#E3E6E0;
    --line-strong:#D2D6CD;
    --green:#1E9E56;
    --green-dark:#167A43;
    --green-tint:#E8F6ED;
    --white:#FFFFFF;

    --font-display:'Archivo',system-ui,-apple-system,'Segoe UI',sans-serif;
    --font-body:'Manrope',system-ui,-apple-system,'Segoe UI',sans-serif;
    --font-mono:'IBM Plex Mono',ui-monospace,'SFMono-Regular',Menlo,monospace;

    --radius-card:14px;
    --radius-sm:8px;
    --radius-btn:10px;
    --radius-pill:999px;

    --shadow-1:0 1px 2px rgba(20,22,26,.05);
    --shadow-2:0 24px 48px -12px rgba(20,22,26,.22);

    --header-h:78px;
    --container-w:1240px;
    --container-pad:clamp(1.25rem,4vw,2.75rem);

    --ease:cubic-bezier(.4,0,.2,1);
    --z-header:100;
    --z-menu:200;
    --z-modal:300;
    --z-toast:400;

    background:var(--paper);
    color-scheme:light;
  }

  /* ============================================================
     RESET / BASE
     ============================================================ */
  *,*::before,*::after{box-sizing:border-box;}
  html{-webkit-text-size-adjust:100%;}
  html{scroll-behavior:smooth;}
  html{overflow-x:clip;}
  body{
    margin:0;
    background:var(--paper);
    color:var(--ink);
    font-family:var(--font-body);
    font-size:16px;
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;
    overflow-x:clip;
  }
  img{max-width:100%;display:block;}
  svg{display:block;}
  a{color:inherit;text-decoration:none;}
  button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;}
  input,select,textarea{font:inherit;color:inherit;}
  ul,ol{margin:0;padding:0;list-style:none;}
  h1,h2,h3,h4,p{margin:0;}
  h1,h2,h3,h4{font-family:var(--font-display);font-weight:800;letter-spacing:-.01em;text-wrap:balance;}
  .icon{width:1em;height:1em;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none;}

  @media (prefers-reduced-motion:reduce){
    html{scroll-behavior:auto;}
    *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !important;}
  }

  :focus-visible{outline:2px solid var(--ink);outline-offset:2px;border-radius:4px;}
  .green :focus-visible, [data-focus="green"]:focus-visible{outline-color:var(--green-dark);}

  /* ============================================================
     LAYOUT UTILITIES
     ============================================================ */
  .container{
    width:100%;
    max-width:var(--container-w);
    margin-inline:auto;
    padding-inline:var(--container-pad);
  }
  section{scroll-margin-top:calc(var(--header-h) + 14px);}
  .section{padding-block:clamp(3.5rem,7vw,6.5rem);}
  .section-alt{background:var(--paper-2);}
  #catalog{padding-top:clamp(1.5rem,3vw,2.25rem);}
  #business{padding-top:clamp(1.5rem,3vw,2.25rem);}
  .section-head{
    display:flex;
    flex-direction:column;
    gap:.85rem;
    margin-bottom:clamp(2.25rem,4vw,3.25rem);
    max-width:640px;
  }
  .eyebrow{
    display:inline-flex;
    align-items:center;
    gap:.5em;
    font-family:var(--font-mono);
    font-size:.75rem;
    font-weight:600;
    letter-spacing:.14em;
    text-transform:uppercase;
    color:var(--green-dark);
  }
  .eyebrow::before{
    content:"";
    width:1.1em;height:1px;
    background:var(--green-dark);
  }
  .section-head h2{font-size:clamp(1.75rem,3vw + 1rem,2.6rem);}
  .section-head p{color:var(--ink-2);font-size:1.05rem;max-width:52ch;}
  .visually-hidden{
    position:absolute;width:1px;height:1px;padding:0;margin:-1px;
    overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;
  }


  /* ============================================================
     BUTTONS
     ============================================================ */
  .btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:.55em;
    padding:.85em 1.5em;
    border-radius:var(--radius-btn);
    font-family:var(--font-body);
    font-weight:700;
    font-size:.95rem;
    line-height:1;
    white-space:nowrap;
    border:1.5px solid transparent;
    transition:transform .15s var(--ease),background-color .15s var(--ease),border-color .15s var(--ease),color .15s var(--ease);
  }
  .btn .icon{width:1.05em;height:1.05em;}
  .btn:active{transform:translateY(1px);}
  .btn-primary{background:var(--ink);color:var(--white);}
  .btn-primary:hover{background:#000;}
  .btn-outline{background:transparent;color:var(--ink);border-color:var(--line-strong);}
  .btn-outline:hover{border-color:var(--ink);background:var(--paper-2);}
  .btn-whatsapp{background:var(--green);color:var(--white);}
  .btn-whatsapp:hover{background:var(--green-dark);}
  .btn-ghost{background:transparent;color:var(--ink-2);padding:.6em .3em;}
  .btn-ghost:hover{color:var(--ink);}
  .btn-block{width:100%;}
  .btn-sm{padding:.6em 1em;font-size:.85rem;}

  /* ============================================================
     BADGES / PILLS / TAGS
     ============================================================ */
  .tag{
    display:inline-flex;
    align-items:center;
    gap:.4em;
    font-family:var(--font-mono);
    font-size:.72rem;
    font-weight:600;
    letter-spacing:.06em;
    text-transform:uppercase;
    padding:.4em .75em;
    border-radius:var(--radius-pill);
    background:var(--paper);
    border:1px solid var(--line-strong);
    color:var(--ink-2);
  }
  .tag-dark{background:var(--ink);color:var(--white);border-color:var(--ink);}
  .tag-green{background:var(--green-tint);color:var(--green-dark);border-color:transparent;}

  /* ============================================================
     HEADER
     ============================================================ */
  .site-header{
    position:sticky;top:0;left:0;right:0;
    z-index:var(--z-header);
    height:var(--header-h);
    display:flex;
    align-items:center;
    background:rgba(255,255,255,.92);
    backdrop-filter:blur(10px) saturate(1.4);
    -webkit-backdrop-filter:blur(10px) saturate(1.4);
    border-bottom:1px solid var(--line);
  }
  .site-header .container{
    display:flex;
    align-items:center;
    gap:clamp(.75rem,1.6vw,1.75rem);
  }
  .brand{
    display:flex;
    flex-direction:column;
    gap:.1em;
    margin-right:auto;
    flex:none;
  }
  .brand-kicker{
    font-family:var(--font-mono);
    font-size:.62rem;
    font-weight:600;
    letter-spacing:.16em;
    text-transform:uppercase;
    color:var(--ink-3);
  }
  .brand-name{
    font-family:var(--font-display);
    font-weight:900;
    font-size:1.45rem;
    letter-spacing:-.02em;
    color:var(--ink);
    line-height:1;
  }
  .brand-name .dot{color:var(--green);}

  .main-nav{display:flex;align-items:center;gap:clamp(.5rem,1.1vw,1.25rem);}
  .main-nav a{
    font-size:clamp(.78rem,.7vw + .35rem,.92rem);
    font-weight:600;
    color:var(--ink-2);
    padding:.4em 0;
    line-height:1.25;
    border-bottom:2px solid transparent;
    transition:color .15s var(--ease),border-color .15s var(--ease);
  }
  .main-nav a:hover{color:var(--ink);border-color:var(--line-strong);}

  .lang-switch{
    display:flex;
    align-items:center;
    border:1px solid var(--line-strong);
    border-radius:var(--radius-pill);
    padding:3px;
    gap:2px;
    flex:none;
  }
  .lang-switch a{
    font-family:var(--font-mono);
    font-size:.72rem;
    font-weight:700;
    letter-spacing:.03em;
    color:var(--ink-3);
    padding:.4em .65em;
    border-radius:var(--radius-pill);
    transition:background-color .15s var(--ease),color .15s var(--ease);
  }
  .lang-switch a[aria-pressed="true"]{background:var(--ink);color:var(--white);}
  .lang-switch a:hover[aria-pressed="false"]{color:var(--ink);}

  .header-contact{display:flex;align-items:center;gap:.9rem;flex:none;}
  .header-phone{
    display:flex;
    align-items:center;
    gap:.5em;
    font-family:var(--font-mono);
    font-weight:600;
    font-size:.92rem;
    color:var(--ink);
  }
  .header-phone .icon{color:var(--ink-3);}

  .menu-toggle{
    display:none;
    flex:none;
    width:42px;height:42px;
    align-items:center;justify-content:center;
    border:1px solid var(--line-strong);
    border-radius:var(--radius-sm);
  }
  .menu-toggle .icon{width:20px;height:20px;}

  /* Between the mobile breakpoint and ~1850px, the full nav + contact block
     no longer fit in one row with 8 nav items, so contact links go icon-only. */
  .header-phone span,
  #wa-header span{display:none;}
  @media (min-width:1850px){
    .header-phone span,
    #wa-header span{display:inline;}
  }
  @media (max-width:1250px){
    .main-nav{display:none;}
    .header-contact{display:none;}
    .menu-toggle{display:flex;}
  }


  /* ============================================================
     HERO
     ============================================================ */
  .hero{
    padding-block:clamp(1.5rem,3vw,2.25rem) clamp(3.5rem,6vw,5.5rem);
    border-bottom:1px solid var(--line);
  }
  .hero .container{
    display:grid;
    grid-template-columns:1fr;
  }
  .hero-kicker{
    display:inline-flex;
    align-items:center;
    gap:.6em;
    font-family:var(--font-mono);
    font-size:.75rem;
    font-weight:600;
    letter-spacing:.14em;
    text-transform:uppercase;
    color:var(--ink-3);
    margin-bottom:1.25rem;
  }
  .hero-kicker .dot{width:6px;height:6px;border-radius:50%;background:var(--green);flex:none;}
  .hero h1{
    font-size:clamp(2.35rem,3.4vw + 1.3rem,4rem);
    line-height:1.06;
    color:var(--ink);
  }
  .hero h1 .accent{
    color:var(--ink);
    font-family:var(--font-mono);
    font-weight:700;
    position:relative;
    white-space:nowrap;
  }
  .hero h1 .accent::after{
    content:"";
    position:absolute;
    left:0;right:0;bottom:.06em;
    height:.22em;
    background:var(--green-tint);
    z-index:-1;
  }
  .hero-sub{
    margin-top:1.4rem;
    font-size:1.15rem;
    color:var(--ink-2);
    max-width:46ch;
    line-height:1.55;
  }
  .hero-advantages{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:.75rem;
    margin-top:2.25rem;
    max-width:560px;
  }
  .adv-chip{
    display:flex;
    align-items:center;
    gap:.65em;
    padding:.85em 1em;
    background:var(--paper);
    border:1px solid var(--line);
    border-radius:var(--radius-sm);
    font-size:.88rem;
    font-weight:600;
    color:var(--ink-2);
  }
  .adv-chip .icon{color:var(--green-dark);width:1.2em;height:1.2em;}
  .hero-cta{
    display:flex;
    flex-wrap:wrap;
    gap:.9rem;
    margin-top:2.5rem;
  }
  .hero-cta .btn{padding:1em 1.75em;font-size:1rem;}

  @media (max-width:920px){
    .hero-advantages{grid-template-columns:1fr 1fr;max-width:none;}
  }
  @media (max-width:480px){
    .hero-advantages{grid-template-columns:1fr;}
    .hero-cta{flex-direction:column;align-items:stretch;}
  }


  /* ============================================================
     CATALOG: TABS
     ============================================================ */
  .cat-tabs{
    display:flex;
    flex-wrap:wrap;
    gap:.5rem;
    padding:.35rem;
    border:1px solid var(--line);
    border-radius:calc(var(--radius-btn) + 4px);
    background:var(--paper-2);
    margin-bottom:2.5rem;
    width:fit-content;
    max-width:100%;
  }
  .cat-tab{
    padding:.7em 1.15em;
    border-radius:var(--radius-btn);
    font-size:.86rem;
    font-weight:700;
    color:var(--ink-2);
    white-space:nowrap;
    transition:background-color .15s var(--ease),color .15s var(--ease);
  }
  .cat-tab:hover{color:var(--ink);}
  .cat-tab[aria-pressed="true"]{background:var(--ink);color:var(--white);}
  .cat-tabs-scroll{overflow-x:auto;max-width:100%;-webkit-overflow-scrolling:touch;scroll-margin-top:calc(var(--header-h) + 14px);}
  .cat-tabs-scroll::-webkit-scrollbar{display:none;}
  .catalog-photo{
    width:100%;
    height:auto;
    aspect-ratio:1024/466;
    object-fit:cover;
    border-radius:var(--radius-card);
    margin-bottom:clamp(1.5rem,3vw,2.25rem);
    display:block;
    box-shadow:var(--shadow-1);
  }
  .catalog-explainer{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
    gap:1.75rem;
    margin:1.75rem 0 2.25rem;
    padding-bottom:2.25rem;
    border-bottom:1px solid var(--line);
  }
  .catalog-explainer-icon{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:2.4rem;height:2.4rem;
    border-radius:var(--radius-sm);
    background:var(--green-tint);
    color:var(--green-dark);
    margin-bottom:.85rem;
  }
  .catalog-explainer-icon .icon{width:1.2em;height:1.2em;}
  .catalog-explainer-item h3{font-size:1rem;font-weight:700;margin-bottom:.4rem;}
  .catalog-explainer-item p{font-size:.88rem;color:var(--ink-2);line-height:1.55;}

  /* ============================================================
     CATALOG: GRID + CARD
     ============================================================ */
  .cat-grid{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(258px,1fr));
    gap:1.5rem;
  }
  .cat-empty{
    grid-column:1/-1;
    text-align:center;
    padding:3.5rem 1.5rem;
    color:var(--ink-3);
    border:1px dashed var(--line-strong);
    border-radius:var(--radius-card);
    font-size:.95rem;
  }
  .reviews-grid{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(258px,1fr));
    gap:1.5rem;
  }
  .review-card{
    background:var(--paper-2);
    border:1px solid var(--line);
    border-radius:var(--radius-card);
    padding:1.5rem;
    display:flex;
    flex-direction:column;
  }
  .review-stars{display:flex;gap:.15em;color:var(--line-strong);}
  .review-star{width:.95em;height:.95em;stroke:none;}
  .review-star.is-filled{fill:#F0A93B;color:#F0A93B;}
  .review-text{color:var(--ink-2);font-size:.95rem;line-height:1.55;margin-top:.9rem;flex:1;}
  .review-author{margin-top:1.1rem;display:flex;flex-direction:column;}
  .review-author-name{font-weight:700;font-size:.9rem;}
  .review-author-role{color:var(--ink-3);font-size:.82rem;margin-top:.1rem;}
  .reviews-empty{
    text-align:center;
    padding:3.5rem 1.5rem;
    color:var(--ink-3);
    border:1px dashed var(--line-strong);
    border-radius:var(--radius-card);
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:.5rem;
  }
  .reviews-empty .icon{width:1.8em;height:1.8em;color:var(--line-strong);margin-bottom:.3rem;}
  .reviews-empty-title{font-size:1.02rem;font-weight:700;color:var(--ink-2);}
  .reviews-empty-sub{font-size:.9rem;max-width:42ch;}
  .reviews-empty .btn{margin-top:.6rem;}
  .item-card{
    display:flex;
    flex-direction:column;
    border:1px solid var(--line);
    border-radius:var(--radius-card);
    background:var(--paper);
    overflow:hidden;
    transition:border-color .15s var(--ease),transform .15s var(--ease),box-shadow .15s var(--ease);
    animation:cardIn .35s var(--ease) both;
  }
  @keyframes cardIn{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:none;}}
  .item-card:hover{border-color:var(--line-strong);box-shadow:var(--shadow-1);}

  .item-media{
    position:relative;
    aspect-ratio:16/10;
    background:linear-gradient(150deg,#1C1E23 0%,#14161A 60%,#0F1013 100%);
    overflow:hidden;
  }
  .item-media.has-photo{
    background:linear-gradient(160deg,#FDFDFC 0%,#F1F2EE 100%);
  }
  .item-media.has-photo svg.illus{display:none;}
  .item-media img{width:100%;height:100%;object-fit:cover;}
  .item-media.has-photo img{width:100%;height:100%;object-fit:contain;padding:18px;}
  .item-media svg.illus{position:absolute;inset:0;width:100%;height:100%;}
  .item-media .corner{position:absolute;width:16px;height:16px;border-color:rgba(255,255,255,.55);border-style:solid;border-width:0;opacity:.8;}
  .item-media.has-photo .corner{border-color:rgba(20,22,26,.22);}
  .item-media .corner-tl{top:10px;left:10px;border-top-width:2px;border-left-width:2px;}
  .item-media .corner-br{bottom:10px;right:10px;border-bottom-width:2px;border-right-width:2px;}
  .item-media-badges{
    position:absolute;top:10px;left:10px;right:10px;
    display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem;
  }
  .item-media .tag{background:rgba(255,255,255,.94);border-color:transparent;}
  .item-media .tag-dark{background:rgba(20,22,26,.85);color:var(--white);backdrop-filter:blur(4px);}
  .item-custom-badge{position:absolute;bottom:10px;left:10px;}

  .item-body{
    display:flex;
    flex-direction:column;
    gap:.9rem;
    padding:1.25rem;
    flex:1;
  }
  .item-title{font-family:var(--font-display);font-weight:800;font-size:1.15rem;line-height:1.25;color:var(--ink);}
  .item-subtitle{font-family:var(--font-mono);font-size:.78rem;color:var(--ink-3);letter-spacing:.02em;}

  .item-specs{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:.6rem;
    padding:.9rem 0;
    border-top:1px solid var(--line);
    border-bottom:1px solid var(--line);
  }
  .item-spec{display:flex;align-items:center;gap:.55em;}
  .item-spec .icon{color:var(--ink-3);width:1.1em;height:1.1em;flex:none;}
  .item-spec-text{display:flex;flex-direction:column;line-height:1.25;min-width:0;}
  .item-spec-label{font-size:.66rem;color:var(--ink-3);text-transform:uppercase;letter-spacing:.04em;}
  .item-spec-value{font-size:.84rem;font-weight:700;color:var(--ink);font-family:var(--font-mono);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}

  .item-price-row{display:flex;align-items:baseline;gap:.35em;margin-top:auto;}
  .item-price-from{font-size:.82rem;color:var(--ink-3);font-weight:600;}
  .item-price{font-family:var(--font-mono);font-weight:700;font-size:1.55rem;color:var(--ink);font-variant-numeric:tabular-nums;}
  .item-price-unit{font-size:.82rem;color:var(--ink-3);font-weight:600;}

  .item-actions{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin-top:.15rem;}
  .item-actions .btn{padding:.75em .5em;font-size:.82rem;}
  .item-delete{
    position:absolute;top:10px;right:10px;
    width:28px;height:28px;
    display:flex;align-items:center;justify-content:center;
    background:rgba(20,22,26,.7);
    color:#fff;
    border-radius:50%;
    backdrop-filter:blur(4px);
    transition:background-color .15s var(--ease);
  }
  .item-delete .icon{width:14px;height:14px;}
  .item-delete:hover{background:#B3261E;}
  .item-delete[data-confirm="true"]{width:auto;border-radius:var(--radius-pill);padding:0 .8em;gap:.35em;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;background:#B3261E;}

  @media (max-width:400px){
    .item-specs{grid-template-columns:1fr;}
  }


  /* ============================================================
     STEPS ("How it works")
     ============================================================ */
  .steps-wrap{
    display:grid;
    grid-template-columns:.85fr 1.15fr;
    gap:clamp(2rem,5vw,4rem);
  }
  .steps-list{display:flex;flex-direction:column;}
  .step{
    display:grid;
    grid-template-columns:44px 1fr;
    gap:1.1rem;
    position:relative;
    padding-bottom:2.25rem;
  }
  .step:last-child{padding-bottom:0;}
  .step-num{
    width:44px;height:44px;
    border-radius:50%;
    border:1.5px solid var(--ink);
    display:flex;align-items:center;justify-content:center;
    font-family:var(--font-mono);
    font-weight:700;
    font-size:.9rem;
    color:var(--ink);
    background:var(--paper);
    position:relative;
    z-index:1;
    flex:none;
  }
  .step:not(:last-child)::before{
    content:"";
    position:absolute;
    left:21px;top:44px;bottom:0;
    width:1px;
    background:var(--line-strong);
  }
  .step-title{font-family:var(--font-display);font-weight:800;font-size:1.1rem;margin-bottom:.4rem;color:var(--ink);}
  .step-desc{color:var(--ink-2);font-size:.95rem;line-height:1.55;max-width:44ch;}

  @media (max-width:820px){
    .steps-wrap{grid-template-columns:1fr;}
  }

  /* ============================================================
     FAQ
     ============================================================ */
  .faq-list{
    display:flex;
    flex-direction:column;
    border-top:1px solid var(--line);
    max-width:820px;
  }
  .faq-item{border-bottom:1px solid var(--line);}
  .faq-q{
    width:100%;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1.5rem;
    text-align:left;
    padding:1.35rem .25rem;
    font-family:var(--font-display);
    font-weight:700;
    font-size:1.02rem;
    color:var(--ink);
  }
  .faq-q .icon{
    color:var(--ink-3);
    width:20px;height:20px;
    flex:none;
    transition:transform .2s var(--ease);
  }
  .faq-item[data-open="true"] .faq-q .icon{transform:rotate(180deg);color:var(--green-dark);}
  .faq-a-wrap{
    display:grid;
    grid-template-rows:0fr;
    transition:grid-template-rows .25s var(--ease);
  }
  .faq-item[data-open="true"] .faq-a-wrap{grid-template-rows:1fr;}
  .faq-a-inner{overflow:hidden;}
  .faq-a{padding:0 .25rem 1.4rem;color:var(--ink-2);font-size:.95rem;line-height:1.6;max-width:64ch;}

  /* ============================================================
     CTA BAND
     ============================================================ */
  .cta-band{
    background:var(--ink);
    color:var(--white);
    border-radius:var(--radius-card);
    padding:clamp(2.25rem,5vw,3.5rem);
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:2rem;
    flex-wrap:wrap;
  }
  .cta-band h2{color:var(--white);font-size:clamp(1.6rem,2.5vw + 1rem,2.15rem);max-width:26ch;}
  .cta-band p{color:rgba(255,255,255,.65);margin-top:.6rem;font-size:1rem;max-width:44ch;}
  .cta-band-actions{display:flex;gap:.9rem;flex-wrap:wrap;flex:none;}
  .cta-band .btn-outline{border-color:rgba(255,255,255,.3);color:var(--white);}
  .cta-band .btn-outline:hover{border-color:#fff;background:rgba(255,255,255,.08);}
  .cta-band-phones{font-size:.85rem;color:rgba(255,255,255,.5);margin-top:.5rem !important;}
  .cta-band-phones a{color:rgba(255,255,255,.85);text-decoration:none;}
  .cta-band-phones a:hover{color:#fff;text-decoration:underline;}

  /* ============================================================
     BUSINESS / SIA OFFER CARD
     ============================================================ */
  .biz-photo{
    width:100%;
    height:auto;
    aspect-ratio:1969/895;
    object-fit:cover;
    border-radius:var(--radius-card);
    margin-bottom:clamp(1.5rem,3vw,2.25rem);
    display:block;
    box-shadow:var(--shadow-1);
  }
  .biz-card{
    background:var(--ink);
    color:var(--white);
    border-radius:var(--radius-card);
    padding:clamp(2rem,4vw,3rem);
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:2.5rem;
    flex-wrap:wrap;
    scroll-margin-top:calc(var(--header-h) + 14px);
  }
  .biz-card-main{flex:1 1 340px;min-width:260px;}
  .biz-scope-tag{
    display:inline-block;
    background:rgba(255,255,255,.12);
    color:rgba(255,255,255,.85);
    font-family:var(--font-mono);
    font-size:.72rem;
    font-weight:700;
    letter-spacing:.06em;
    text-transform:uppercase;
    padding:.4em .85em;
    border-radius:999px;
    margin-bottom:1rem;
  }
  .biz-price{display:flex;align-items:baseline;gap:.5em;margin-bottom:1.5rem;flex-wrap:wrap;}
  .biz-price-from{font-size:.92rem;color:rgba(255,255,255,.6);font-weight:600;}
  .biz-price-value{font-family:var(--font-mono);font-weight:700;font-size:clamp(2.25rem,3vw + 1rem,3rem);color:var(--white);font-variant-numeric:tabular-nums;}
  .biz-price-unit{font-size:.92rem;color:rgba(255,255,255,.6);font-weight:600;}
  .biz-points{display:flex;flex-direction:column;gap:.65rem;}
  .biz-points li{display:flex;align-items:flex-start;gap:.6em;font-size:.92rem;color:rgba(255,255,255,.85);line-height:1.4;}
  .biz-points .icon{color:var(--green);width:1.2em;height:1.2em;flex:none;margin-top:.15em;}
  .biz-card-actions{display:flex;flex-direction:column;align-items:stretch;gap:.8rem;flex:0 0 260px;}
  .biz-card-actions .btn{justify-content:center;}
  .biz-card-actions .btn-outline{border-color:rgba(255,255,255,.3);color:var(--white);}
  .biz-card-actions .btn-outline:hover{border-color:#fff;background:rgba(255,255,255,.08);}
  .biz-cta-note{font-size:.78rem;color:rgba(255,255,255,.5);line-height:1.4;}
  .biz-cta-phones{font-size:.78rem;color:rgba(255,255,255,.5);line-height:1.4;margin-top:.4rem;}
  .biz-cta-phones a{color:rgba(255,255,255,.85);text-decoration:none;}
  .biz-cta-phones a:hover{color:#fff;text-decoration:underline;}


  /* ============================================================
     FOOTER
     ============================================================ */
  .site-footer{
    background:var(--paper-2);
    border-top:1px solid var(--line);
    padding-block:clamp(3rem,6vw,4.5rem) 1.75rem;
  }
  .footer-grid{
    display:grid;
    grid-template-columns:1.3fr 1fr 1fr 1fr;
    gap:2.5rem;
  }
  .footer-brand .brand-name{font-size:1.3rem;}
  .footer-brand p{margin-top:1rem;color:var(--ink-2);font-size:.9rem;line-height:1.6;max-width:34ch;}
  .footer-col h4{
    font-family:var(--font-mono);
    font-size:.7rem;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.1em;
    color:var(--ink-3);
    margin-bottom:1rem;
  }
  .footer-col ul{display:flex;flex-direction:column;gap:.7rem;}
  .footer-col a, .footer-col p{font-size:.9rem;color:var(--ink-2);line-height:1.5;}
  .footer-col a{display:flex;align-items:center;gap:.55em;transition:color .15s var(--ease);}
  .footer-col a:hover{color:var(--ink);}
  .footer-col a .icon{width:1.1em;height:1.1em;color:var(--ink-3);flex:none;}
  .footer-map{
    margin-top:.85rem;
    border:1px solid var(--line);
    border-radius:var(--radius-sm);
    overflow:hidden;
    aspect-ratio:16/10;
  }
  .footer-bottom{
    margin-top:3rem;
    padding-top:1.5rem;
    border-top:1px solid var(--line);
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1rem;
    flex-wrap:wrap;
  }
  .footer-bottom p{font-size:.8rem;color:var(--ink-3);}
  .admin-trigger{
    display:inline-flex;
    align-items:center;
    gap:.5em;
    font-size:.8rem;
    font-weight:700;
    color:var(--ink-3);
    border:1px dashed var(--line-strong);
    border-radius:var(--radius-pill);
    padding:.55em 1em;
    transition:color .15s var(--ease),border-color .15s var(--ease);
  }
  .admin-trigger:hover{color:var(--ink);border-color:var(--ink-3);}
  .admin-trigger .icon{width:14px;height:14px;}

  @media (max-width:920px){
    .footer-grid{grid-template-columns:1fr 1fr;}
    .footer-brand{grid-column:1/-1;}
  }
  @media (max-width:560px){
    .footer-grid{grid-template-columns:1fr;gap:2rem;}
    .footer-bottom{flex-direction:column;align-items:flex-start;}
  }

  /* ============================================================
     MOBILE MENU
     ============================================================ */
  .mobile-menu{
    position:fixed;inset:0;
    z-index:var(--z-menu);
    background:var(--paper);
    display:flex;
    flex-direction:column;
    transform:translateX(100%);
    transition:transform .28s var(--ease);
    visibility:hidden;
  }
  .mobile-menu[data-open="true"]{transform:translateX(0);visibility:visible;}
  .mobile-menu-top{
    height:var(--header-h);
    display:flex;align-items:center;justify-content:space-between;
    padding-inline:var(--container-pad);
    border-bottom:1px solid var(--line);
    flex:none;
  }
  .mobile-menu-body{padding:1.5rem var(--container-pad) 2.5rem;overflow-y:auto;}
  .mobile-nav{display:flex;flex-direction:column;}
  .mobile-nav a{
    font-family:var(--font-display);
    font-weight:700;
    font-size:1.4rem;
    padding:.7rem 0;
    border-bottom:1px solid var(--line);
    color:var(--ink);
  }
  .mobile-menu .lang-switch{margin-top:2rem;width:fit-content;}
  .mobile-menu-contact{margin-top:2rem;display:flex;flex-direction:column;gap:.85rem;}

  /* ============================================================
     MODAL (Admin)
     ============================================================ */
  .modal-overlay{
    position:fixed;inset:0;
    background:rgba(15,16,19,.55);
    display:flex;
    align-items:center;justify-content:center;
    padding:1.5rem;
    z-index:var(--z-modal);
    opacity:0;
    visibility:hidden;
    transition:opacity .2s var(--ease);
  }
  .modal-overlay[data-open="true"]{opacity:1;visibility:visible;}
  .modal-card{
    background:var(--paper);
    border-radius:var(--radius-card);
    box-shadow:var(--shadow-2);
    width:100%;
    max-width:520px;
    max-height:88vh;
    overflow-y:auto;
    transform:translateY(12px) scale(.98);
    transition:transform .2s var(--ease);
  }
  .modal-overlay[data-open="true"] .modal-card{transform:none;}
  .modal-head{
    display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;
    padding:1.5rem 1.5rem 1rem;
    position:sticky;top:0;background:var(--paper);
  }
  .modal-head h3{font-size:1.3rem;}
  .modal-head p{color:var(--ink-3);font-size:.85rem;margin-top:.35rem;}
  .modal-close{
    width:34px;height:34px;flex:none;
    display:flex;align-items:center;justify-content:center;
    border:1px solid var(--line);border-radius:50%;
    color:var(--ink-2);
  }
  .modal-close:hover{border-color:var(--line-strong);color:var(--ink);}
  .modal-close .icon{width:16px;height:16px;}
  .modal-body{padding:.25rem 1.5rem 1.75rem;}

  .field{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1.1rem;}
  .field label{font-size:.78rem;font-weight:700;color:var(--ink-2);}
  .field-hint{font-size:.75rem;color:var(--ink-3);}
  .field input,.field select,.field textarea{
    padding:.75em .9em;
    border:1px solid var(--line-strong);
    border-radius:var(--radius-sm);
    background:var(--paper);
    font-size:.92rem;
  }
  .field textarea{resize:vertical;min-height:5.5em;font-family:inherit;}
  .field input:focus,.field select:focus,.field textarea:focus{border-color:var(--ink);}
  .field-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
  @media (max-width:420px){
    .field-row{grid-template-columns:1fr;gap:0;}
  }
  .modal-actions{display:flex;gap:.8rem;margin-top:1.5rem;}
  .modal-actions .btn{flex:1;}

  /* Toast */
  .toast{
    position:fixed;
    left:50%;
    bottom:1.75rem;
    transform:translate(-50%,12px);
    background:var(--ink);
    color:var(--white);
    padding:.9em 1.3em;
    border-radius:var(--radius-btn);
    font-size:.88rem;
    font-weight:600;
    display:flex;
    align-items:center;
    gap:.6em;
    box-shadow:var(--shadow-2);
    z-index:var(--z-toast);
    opacity:0;
    visibility:hidden;
    transition:opacity .22s var(--ease),transform .22s var(--ease);
    max-width:calc(100vw - 2rem);
    width:max-content;
    white-space:normal;
    text-align:left;
  }
  .toast[data-open="true"]{opacity:1;visibility:visible;transform:translate(-50%,0);}
  .toast .icon{color:var(--green);width:1.15em;height:1.15em;}

  /* ---------- Добавлено при сборке: ссылки-переключатели языка ---------- */
  .lang-switch a{text-decoration:none;}

  /* ---------- H1: выделенная часть теперь длинная фраза, а не «noma13.lv» ---------- */
  .hero h1 .accent{font-family:inherit;white-space:normal;
    background:linear-gradient(transparent 68%,var(--green-tint) 68%,var(--green-tint) 94%,transparent 94%);
    -webkit-box-decoration-break:clone;box-decoration-break:clone;}
  .hero h1 .accent::after{display:none;}

  /* ---------- Хлебные крошки в hero ---------- */
  .hero-kicker a{color:inherit;text-decoration:none;}
  .hero-kicker a:hover{color:var(--ink);}

  /* ---------- Ссылки на страницы категорий в каталоге ---------- */
  .catalog-explainer-item h3 a{color:inherit;text-decoration:none;border-bottom:1px solid var(--line-strong);}
  .catalog-explainer-item h3 a:hover{color:var(--green-dark);border-color:var(--green);}

  /* ---------- Текстовый блок страниц категорий ---------- */
  .cat-about .catalog-explainer{border-bottom:0;padding-bottom:0;margin-bottom:2.5rem;}
  .cat-terms{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;align-items:start;}
  .cat-terms h3{font-size:1.15rem;font-weight:700;margin-bottom:1rem;}
  .cat-points{display:flex;flex-direction:column;gap:.7rem;list-style:none;padding:0;}
  .cat-points li{display:flex;align-items:flex-start;gap:.6em;font-size:.95rem;color:var(--ink-2);line-height:1.45;}
  .cat-points .icon{color:var(--green);width:1.2em;height:1.2em;flex:none;margin-top:.12em;}
  .cat-cross{background:var(--paper-2);border:1px solid var(--line);border-radius:var(--radius-card);padding:1.5rem;}
  .cat-cross p{color:var(--ink-2);margin-bottom:.75rem;}
  .cat-cross a{font-weight:700;color:var(--green-dark);}
