@font-face{
    font-family:'Axiforma';
    src:url('../fonts/axiforma-light.woff2') format('woff2');
    font-weight:300; font-style:normal; font-display:swap;
  }
  @font-face{
    font-family:'Axiforma';
    src:url('../fonts/axiforma-regular.woff2') format('woff2');
    font-weight:400; font-style:normal; font-display:swap;
  }
  @font-face{
    font-family:'Axiforma';
    src:url('../fonts/axiforma-italic.woff2') format('woff2');
    font-weight:400; font-style:italic; font-display:swap;
  }
  @font-face{
    font-family:'Axiforma';
    src:url('../fonts/axiforma-medium.woff2') format('woff2');
    font-weight:500; font-style:normal; font-display:swap;
  }
  @font-face{
    font-family:'Axiforma';
    src:url('../fonts/axiforma-semibold.woff2') format('woff2');
    font-weight:600; font-style:normal; font-display:swap;
  }
  @font-face{
    font-family:'Axiforma';
    src:url('../fonts/axiforma-bold.woff2') format('woff2');
    font-weight:700; font-style:normal; font-display:swap;
  }
  @font-face{
    font-family:'Axiforma';
    src:url('../fonts/axiforma-black.woff2') format('woff2');
    font-weight:900; font-style:normal; font-display:swap;
  }

  :root{
    --ink:#151425;
    --void:#0A0A0F;
    --umber:#131220;
    --umber-2:#191830;
    --gold:#F1B52E;
    --gold-bright:#F4BB35;
    --ember:#8B0206;
    --ember-glow:#B8141C;
    --cream:#F3E7D1;
    --muted:#9A93AC;
    --line: rgba(241,181,46,0.16);
    --radius: 2px;
    --maxw: 1180px;
  }

  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;
    overflow-x:hidden;
    background:var(--ink);
    color:var(--cream);
    font-family:'Axiforma', sans-serif;
    font-weight:400;
    font-size:16px;
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
  }
  ::selection{ background:var(--gold); color:var(--ink); }

  h1,h2,h3,h4{
    font-family:'Axiforma', sans-serif;
    font-weight:700;
    line-height:1.08;
    letter-spacing:-0.01em;
    margin:0;
    color:var(--cream);
  }

  .eyebrow{
    font-family:'JetBrains Mono', monospace;
    font-size:12px;
    letter-spacing:0.16em;
    text-transform:uppercase;
    color:var(--gold);
  }

  a{ color:inherit; }
  img{ max-width:100%; display:block; }
  .fade-bottom{
    -webkit-mask-image:linear-gradient(to bottom, black 80%, transparent 100%);
    mask-image:linear-gradient(to bottom, black 80%, transparent 100%);
  }

  .wrap{
    max-width:var(--maxw);
    margin:0 auto;
    padding:0 32px;
  }

  @media(max-width:640px){
    .wrap{ padding:0 20px; }
  }

  /* ---------- signature hanging-jamón motif ---------- */
  .curtain{
    position:absolute; inset:0;
    pointer-events:none;
    opacity:0.55;
  }
  .curtain svg{ width:100%; height:100%; }

  .divider{
    position:relative;
    height:56px;
    overflow:hidden;
  }
  .divider svg{
    width:100%; height:100%;
    display:block;
  }

  /* ---------- nav ---------- */
  header{
    position:sticky; top:0; z-index:50;
    background:rgba(10,10,15,0.82);
    backdrop-filter:blur(10px);
    border-bottom:1px solid var(--line);
  }
  .nav{
    display:flex; align-items:center; justify-content:space-between;
    padding:16px 32px;
    max-width:var(--maxw); margin:0 auto;
  }
  .logo{
    display:inline-flex; align-items:center; justify-content:center;
    text-decoration:none;
  }
  .logo-mark{
    height:30px; width:auto; object-fit:contain; flex-shrink:0;
  }
  .nav-links{
    display:flex; gap:28px; align-items:center;
    font-size:14px; color:var(--muted);
  }
  .nav-links a{ text-decoration:none; transition:color .2s; }
  .nav-links a:hover{ color:var(--gold-bright); }
  .nav-cta{
    font-family:'JetBrains Mono', monospace;
    font-size:12px;
    letter-spacing:.06em;
    border:1px solid var(--gold);
    color:var(--gold-bright)!important;
    padding:9px 16px;
    border-radius:var(--radius);
    text-decoration:none;
    white-space:nowrap;
    transition:background .2s, color .2s;
  }
  .nav-cta:hover{ background:var(--gold); color:var(--ink)!important; }

  /* ---------- mobile nav toggle + dropdown ---------- */
  .nav-toggle{
    display:none;
    flex-direction:column; justify-content:center; align-items:center; gap:5px;
    width:38px; height:38px; flex-shrink:0;
    background:none; border:1px solid var(--line); border-radius:var(--radius);
    padding:0; cursor:pointer;
  }
  .nav-toggle span{
    display:block; width:18px; height:1.5px; background:var(--cream);
    transition:transform .25s ease, opacity .2s ease;
  }
  .nav-toggle[aria-expanded="true"] span:nth-child(1){ transform:translateY(6.5px) rotate(45deg); }
  .nav-toggle[aria-expanded="true"] span:nth-child(2){ opacity:0; }
  .nav-toggle[aria-expanded="true"] span:nth-child(3){ transform:translateY(-6.5px) rotate(-45deg); }

  .nav-mobile{
    display:none;
    flex-direction:column;
    padding:6px 32px 22px;
    border-top:1px solid var(--line);
    background:rgba(10,10,15,0.97);
    backdrop-filter:blur(10px);
  }
  .nav-mobile a{
    padding:15px 2px;
    font-size:15.5px;
    color:var(--cream);
    text-decoration:none;
    border-bottom:1px solid rgba(241,181,46,0.09);
    transition:color .2s ease;
  }
  .nav-mobile a:last-child{ border-bottom:none; }
  .nav-mobile a:hover{ color:var(--gold-bright); }
  header.nav-open .nav-mobile{ display:flex; }

  @media(max-width:1100px){
    .nav-links{ display:none; }
    .nav-cta{ padding:8px 12px; font-size:11px; }
    .nav-toggle{ display:flex; }
  }
  @media(max-width:640px){
    .nav-mobile{ padding-left:20px; padding-right:20px; }
  }

  /* ---------- hero ---------- */
  .hero{
    position:relative;
    padding:128px 0 112px;
    overflow:hidden;
    background:
      radial-gradient(ellipse 900px 500px at 80% -10%, rgba(241,181,46,0.10), transparent 60%),
      var(--ink);
    border-bottom:1px solid var(--line);
  }
  .hero.hero-video{
    min-height:720px;
    display:flex;
    align-items:center;
    padding:140px 0;
  }
  .hero-media{ position:absolute; inset:0; background:var(--ink); overflow:hidden; }
  .hero-media video{
    position:absolute; inset:0;
    width:100%; height:100%;
    object-fit:cover;
    pointer-events:none;
  }
  .hero-overlay{
    position:absolute; inset:0;
    background:
      linear-gradient(90deg, rgba(10,10,15,0.66) 0%, rgba(10,10,15,0.30) 45%, rgba(10,10,15,0.62) 100%),
      linear-gradient(180deg, rgba(10,10,15,0.10) 0%, rgba(10,10,15,0.55) 100%);
  }
  .hero-inner{ position:relative; z-index:2; max-width:700px; padding-right:20px; }
  .hero .eyebrow{ margin-bottom:18px; display:block; }
  .hero h1{
    font-weight:900;
    font-size:clamp(42px, 7vw, 78px);
    letter-spacing:-0.02em;
    max-width:650px;
  }
  .hero h1 i{ color:var(--gold-bright); font-style:normal; font-weight:900; }
  .hero p.lead{
    margin-top:24px;
    font-size:19px;
    color:var(--cream);
    opacity:0.92;
    max-width:520px;
  }
  .hero-actions{
    margin-top:38px;
    display:flex; gap:16px; flex-wrap:wrap; align-items:center;
  }
  .btn{
    font-family:'JetBrains Mono', monospace;
    font-size:13px;
    letter-spacing:.05em;
    text-decoration:none;
    padding:15px 26px;
    border-radius:var(--radius);
    display:inline-flex; align-items:center; gap:10px;
    transition:transform .2s ease, background .2s ease, color .2s ease, border-color .2s ease;
  }
  .btn-primary{ background:var(--gold); color:var(--ink); }
  .btn-primary:hover{ background:var(--gold-bright); transform:translateY(-1px); }
  .btn-ghost{ border:1px solid var(--line); color:var(--cream); }
  .btn-ghost:hover{ border-color:var(--gold); color:var(--gold-bright); }
  .hero-phone{
    font-family:'JetBrains Mono', monospace;
    font-size:14px;
    color:var(--gold-bright);
    text-decoration:none;
  }

  .hero-figure{
    position:absolute; right:-4%; top:8%;
    width:46%; max-width:520px;
    z-index:1;
    opacity:0.9;
  }
  @media(max-width:980px){ .hero-figure{ display:none; } }

  /* ---------- section shell ---------- */
  section{ padding:96px 0; position:relative; scroll-margin-top:92px; }
  section.tight{ padding:64px 0; }
  .section-head{ max-width:720px; margin-bottom:48px; }
  .section-head h2{ font-size:clamp(30px,4vw,44px); margin-top:12px; }
  .section-head p{ color:var(--muted); margin-top:16px; font-size:16px; }
  .band{ background:var(--umber); }
  .intro-spotlight{ padding:84px 0; }

  /* ---------- feature list ---------- */
  .feature-grid{
    display:grid; grid-template-columns:repeat(2,1fr); gap:28px;
  }
  .feature{ padding:0; }
  .feature h4{ font-size:17px; font-weight:600; margin-bottom:8px; }
  .feature p{ color:var(--muted); font-size:14.5px; margin:0; }
  @media(max-width:700px){ .feature-grid{ grid-template-columns:1fr; } }

  .detail-hero-layout{
    display:grid; grid-template-columns:1.35fr 0.85fr; gap:28px; align-items:start;
  }
  .detail-preview-card{
    background:var(--umber);
    padding:28px;
  }
  .detail-preview-card h4{ font-size:22px; margin-bottom:18px; }
  .detail-list{
    list-style:none; padding:0; margin:0; display:grid; gap:12px;
  }
  .detail-list li{
    position:relative; padding-left:18px; color:var(--muted); font-size:15px;
  }
  .detail-list li::before{
    content:""; position:absolute; left:0; top:10px; width:6px; height:6px; border-radius:50%; background:var(--gold);
  }
  @media(max-width:900px){ .detail-hero-layout{ grid-template-columns:1fr; } }

  .detail-page-hero{ min-height:560px; padding:140px 0 110px; }
  .detail-hero-card,
  .detail-card,
  .detail-farm-card{
    background:var(--umber);
  }
  .detail-card{ padding:24px; }
  .detail-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
  .detail-card h3{ font-size:22px; margin:10px 0 10px; font-weight:600; }
  .detail-card p{ color:var(--muted); margin:0; }
  .detail-card ul{ margin:14px 0 0; padding-left:18px; color:var(--muted); display:grid; gap:8px; }
  .detail-farm-card{ padding:24px; display:grid; gap:12px; }
  .detail-farm-card h3{ font-size:22px; font-weight:600; }
  .detail-farm-card p{ color:var(--muted); margin:0; }
  @media(max-width:900px){ .detail-grid{ grid-template-columns:1fr; } }
  .spain-grid{ grid-template-columns:repeat(2,1fr); }
  @media(max-width:700px){ .spain-grid{ grid-template-columns:1fr; } }
  .detail-grid.cols-2{ grid-template-columns:repeat(2,1fr); }
  @media(max-width:700px){ .detail-grid.cols-2{ grid-template-columns:1fr; } }

  /* ---------- pig facts icon grid ---------- */
  .fact-grid{
    display:grid; grid-template-columns:repeat(3,1fr); gap:40px 32px;
  }
  @media(max-width:820px){ .fact-grid{ grid-template-columns:repeat(2,1fr); } }
  @media(max-width:560px){ .fact-grid{ grid-template-columns:1fr; } }
  .fact{ text-align:center; }
  .fact svg{ width:64px; height:64px; stroke:var(--gold); fill:none; stroke-width:1.4; margin:0 auto 18px; }
  .fact img{ height:68px; width:auto; margin:0 auto 18px; display:block; }
  .fact p{ color:var(--cream); opacity:0.88; font-size:14px; margin:0 auto; max-width:280px; }

  /* ---------- full-bleed photo band ---------- */
  .photo-band{
    position:relative;
    background-size:cover; background-position:center;
    overflow:hidden;
  }
  .photo-band::before{
    content:'';
    position:absolute; inset:0;
    background:linear-gradient(180deg, rgba(10,10,15,0.62) 0%, rgba(10,10,15,0.72) 55%, rgba(10,10,15,0.92) 100%);
  }
  .photo-band > .wrap{ position:relative; z-index:1; }

  /* ---------- etiketa / quality label grid ---------- */
  .label-grid{
    display:grid; grid-template-columns:repeat(4,1fr); gap:1px;
    background:var(--line);
  }
  @media(max-width:820px){ .label-grid{ grid-template-columns:repeat(2,1fr); } }
  @media(max-width:560px){ .label-grid{ grid-template-columns:1fr; } }
  .label-card{
    background:var(--ink);
    padding:26px 22px;
    border-top:4px solid var(--label-color, var(--gold));
    box-shadow:0 1px 0 rgba(243,231,209,0.14) inset;
  }
  .label-card .eyebrow{ display:flex; align-items:center; gap:8px; margin-bottom:14px; }
  .label-card .eyebrow::before{
    content:''; width:9px; height:9px; border-radius:50%;
    background:var(--label-color, var(--gold)); flex-shrink:0;
    box-shadow:0 0 0 1px rgba(243,231,209,0.35);
  }
  .label-card h3{ font-size:18px; margin-bottom:10px; font-weight:600; }
  .label-card p{ color:var(--muted); font-size:13.5px; margin:0; }
  .label-note{
    margin-top:28px; padding:18px 22px;
    border-left:2px solid var(--gold);
    background:rgba(241,181,46,0.06);
    color:var(--cream); font-size:14.5px;
  }

  /* ---------- quote ---------- */
  .quote{
    padding:80px 0;
    text-align:center;
    position:relative;
  }
  .quote blockquote{
    font-family:'Axiforma', sans-serif;
    font-style:normal;
    font-weight:600;
    font-size:clamp(24px,3.4vw,38px);
    max-width:820px;
    margin:0 auto;
    color:var(--gold-bright);
    line-height:1.35;
  }
  .quote cite{
    display:block; margin-top:22px;
    font-style:normal;
    font-family:'JetBrains Mono', monospace;
    font-size:12px; letter-spacing:.08em; text-transform:uppercase;
    color:var(--muted);
  }
  .press-row{
    margin-top:48px;
    display:flex; justify-content:center; gap:40px; flex-wrap:wrap;
    font-family:'Axiforma', sans-serif; font-weight:700; letter-spacing:.02em;
    color:var(--muted); font-size:16px; opacity:.8;
  }

  /* ---------- comparison table ---------- */
  .compare{
    display:grid; grid-template-columns:repeat(3,1fr); gap:0;
    border-top:1px solid var(--line);
  }
  .compare-col{ padding:32px 26px 0; border-left:1px solid var(--line); }
  .compare-col:first-child{ border-left:none; }
  .compare-col.hero-col{ background:linear-gradient(180deg, rgba(241,181,46,0.08), transparent 40%); }
  .compare-col h4{ font-size:16px; margin-bottom:18px; color:var(--gold-bright); font-weight:600; }
  .compare-col ul{ margin:0; padding:0; list-style:none; }
  .compare-col li{
    font-size:13.5px; color:var(--muted);
    padding:9px 0; border-top:1px solid rgba(241,181,46,0.10);
  }
  .compare-col li:first-child{ border-top:none; }
  @media(max-width:820px){
    .compare{ grid-template-columns:1fr; }
    .compare-col{ border-left:none; border-top:1px solid var(--line); padding-top:24px; }
    .compare-col:first-child{ border-top:none; }
  }

  /* ---------- why grid ---------- */
  .why-grid{
    display:grid; grid-template-columns:repeat(4,1fr); gap:28px;
  }
  .why-item{
    padding:24px 0 0;
    border-top:1px solid rgba(241,181,46,0.14);
  }
  @media(max-width:900px){ .why-grid{ grid-template-columns:repeat(2,1fr); } }
  @media(max-width:560px){ .why-grid{ grid-template-columns:1fr; } }
  .why-item .num{
    font-family:'JetBrains Mono', monospace; font-size:12px; color:var(--gold);
    margin-bottom:14px; display:block;
  }
  .why-item p{ color:var(--muted); font-size:14.5px; }
  .why-item h4{ font-size:16px; font-weight:600; margin-bottom:8px;}

  /* ---------- live hero layout (text + stage photo) ---------- */
  .live-hero-layout{
    display:grid; grid-template-columns:1.15fr 1fr; gap:40px; align-items:start;
    margin-bottom:56px;
  }
  .live-hero-layout .section-head{ margin-bottom:0; }
  .live-stage-photo{
    position:relative; overflow:hidden;
    aspect-ratio:4/5;
  }
  .live-stage-photo img{
    width:100%; height:100%; object-fit:cover; object-position:50% 42%; display:block;
  }
  @media(max-width:900px){
    .live-hero-layout{ grid-template-columns:1fr; gap:32px; margin-bottom:40px; }
    .live-stage-photo{ aspect-ratio:16/10; }
  }

  /* ---------- video gallery ---------- */
  .shorts-carousel{
    display:grid;
    grid-template-columns:auto 1fr auto;
    align-items:center;
    gap:12px;
  }
  .carousel-control{
    width:42px; height:42px;
    border:1px solid var(--line);
    background:rgba(10,10,15,0.9);
    color:var(--cream);
    cursor:pointer;
    font-size:18px;
    display:flex; align-items:center; justify-content:center;
  }
  .carousel-control:hover{ border-color:var(--gold-bright); color:var(--gold-bright); }
  .shorts-strip{
    display:grid;
    grid-auto-flow:column;
    grid-auto-columns:minmax(220px, 1fr);
    gap:18px;
    overflow-x:auto;
    padding-bottom:8px;
    scroll-snap-type:x proximity;
    scroll-behavior:smooth;
  }
  .shorts-strip::-webkit-scrollbar{ height:8px; }
  .shorts-strip::-webkit-scrollbar-thumb{ background:rgba(241,181,46,0.28); border-radius:999px; }

  .shorts-card{
    min-width:220px;
    background:var(--umber);
    overflow:hidden;
    cursor:pointer;
    transition:transform .2s ease, opacity .2s ease;
    scroll-snap-align:start;
  }
  .shorts-card:hover{ transform:translateY(-2px); opacity:0.92; }
  .shorts-thumb{
    aspect-ratio:9/16;
    background:linear-gradient(135deg, var(--umber-2), var(--ink));
    position:relative;
    overflow:hidden;
  }
  .shorts-thumb img{ width:100%; height:100%; object-fit:cover; }
  .shorts-thumb .play-btn{ inset:0; }
  .shorts-meta{ padding:14px 4px; }
  .shorts-meta .eyebrow{ font-size:10px; margin-bottom:6px; display:block; }
  .shorts-meta h4{ font-size:15px; font-weight:600; color:var(--cream); }
  @media(max-width:680px){
    .shorts-carousel{ grid-template-columns:1fr; }
    .carousel-control{ display:none; }
    .shorts-card{ min-width:180px; }
  }

  .video-grid{
    display:grid; grid-template-columns:repeat(3,1fr); gap:24px;
  }
  @media(max-width:900px){ .video-grid{ grid-template-columns:repeat(2,1fr); } }
  @media(max-width:600px){ .video-grid{ grid-template-columns:1fr; } }

  .video-card{
    cursor:pointer;
    background:var(--umber);
    transition:transform .2s ease, opacity .2s ease;
    overflow:hidden;
  }
  .video-card:hover{ transform:translateY(-2px); opacity:0.94; }
  .video-thumb{
    position:relative;
    aspect-ratio:16/9;
    background:linear-gradient(135deg, var(--umber-2), var(--ink));
    overflow:hidden;
  }
  .video-thumb img{ width:100%; height:100%; object-fit:cover; }
  .video-thumb .ph-pattern{
    position:absolute; inset:0; opacity:.5;
  }
  .play-btn{
    position:absolute; inset:0;
    display:flex; align-items:center; justify-content:center;
  }
  .play-btn span{
    width:56px; height:56px; border-radius:50%;
    background:rgba(10,10,15,0.55);
    border:1px solid rgba(241,181,46,0.7);
    display:flex; align-items:center; justify-content:center;
    backdrop-filter:blur(2px);
    transition:background .2s ease, transform .2s ease;
  }
  .video-card:hover .play-btn span{ background:var(--gold); border-color:var(--gold); transform:scale(1.06); }
  .video-card:hover .play-btn svg{ fill:var(--ink); }
  .play-btn svg{ width:16px; height:16px; fill:var(--cream); margin-left:2px; }
  .video-meta{ padding:16px 2px; }
  .video-meta .eyebrow{ font-size:10.5px; margin-bottom:6px; display:block; }
  .video-meta h4{ font-size:15px; font-weight:600; color:var(--cream); }

  /* modal */
  .modal-overlay{
    position:fixed; inset:0; background:rgba(5,4,3,0.92);
    display:none; align-items:center; justify-content:center;
    z-index:100; padding:24px;
  }
  .modal-overlay.open{ display:flex; }
  .modal-box{
    width:100%; max-width:920px; aspect-ratio:16/9;
    background:#000; position:relative;
  }
  .modal-box iframe{ width:100%; height:100%; border:0; }
  .modal-close{
    position:absolute; top:-42px; right:0;
    font-family:'JetBrains Mono', monospace;
    color:var(--muted); background:none; border:none;
    font-size:13px; letter-spacing:.06em; cursor:pointer;
  }
  .modal-close:hover{ color:var(--gold-bright); }

  .inline-video{
    display:inline-flex; align-items:center; gap:8px;
    font-family:'JetBrains Mono', monospace; font-size:11.5px; letter-spacing:.05em;
    color:var(--gold-bright); text-transform:uppercase;
    cursor:pointer; border:1px solid var(--line); border-radius:var(--radius);
    padding:7px 12px; background:rgba(241,181,46,0.04);
    transition:border-color .2s ease, background .2s ease;
    text-decoration:none;
  }
  .inline-video:hover{ border-color:var(--gold); background:rgba(241,181,46,0.09); }
  .inline-video svg{ width:11px; height:11px; fill:var(--gold); flex-shrink:0; }
  .inline-video.on-dark{ color:var(--gold-bright); }

  /* ---------- video-background section ---------- */
  .video-bg-section{
    position:relative;
    overflow:hidden;
    min-height:560px;
    display:flex;
    align-items:center;
  }
  .video-bg-media{ position:absolute; inset:0; background:var(--ink); overflow:hidden; }
  .video-bg-media video{
    position:absolute; inset:0;
    width:100%; height:100%;
    object-fit:cover;
    pointer-events:none;
  }
  .video-bg-overlay{
    position:absolute; inset:0;
    background:
      linear-gradient(180deg, rgba(10,10,15,0.25) 0%, rgba(10,10,15,0.30) 40%, rgba(10,10,15,0.82) 100%),
      linear-gradient(90deg, rgba(10,10,15,0.55) 0%, rgba(10,10,15,0.10) 55%);
  }
  .video-bg-content{ position:relative; z-index:2; max-width:560px; }
  .video-bg-content h2{ font-size:clamp(30px,4.2vw,46px); margin-top:14px; }
  .video-bg-content p{ color:var(--cream); opacity:0.85; margin-top:18px; font-size:16px; }
  @media(max-width:700px){ .video-bg-section{ min-height:460px; } }
  .ig-grid{
    display:grid; grid-template-columns:repeat(3,1fr); gap:20px;
  }
  @media(max-width:700px){ .ig-grid{ grid-template-columns:repeat(2,1fr); } }
  .ig-cell{
    aspect-ratio:1/1;
    background:var(--umber);
    overflow:hidden;
    position:relative;
    display:block;
  }
  .ig-cell img{
    position:absolute; inset:0; width:100%; height:100%;
    object-fit:cover;
    transition:transform .3s ease;
  }
  .ig-cell:hover img{ transform:scale(1.05); }
  .ig-placeholder{
    position:absolute; inset:0;
    display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px;
    text-align:center; padding:20px;
    color:var(--muted);
  }
  .ig-placeholder svg{ width:26px; height:26px; stroke:var(--gold); fill:none; stroke-width:1.4; }
  .ig-placeholder span{ font-family:'JetBrains Mono', monospace; font-size:11px; letter-spacing:.04em; }

  /* ---------- team ---------- */
  .team-grid{
    display:grid; grid-template-columns:repeat(3,1fr); gap:2px;
  }
  @media(max-width:820px){ .team-grid{ grid-template-columns:repeat(2,1fr); } }
  @media(max-width:560px){ .team-grid{ grid-template-columns:1fr; } }
  .team-card{
    position:relative;
    background:var(--umber);
    overflow:hidden;
  }
  .team-avatar{
    aspect-ratio:4/5;
    width:100%;
    background:var(--umber-2);
    display:flex; align-items:center; justify-content:center;
    font-family:'Axiforma', sans-serif; font-weight:700; color:var(--gold-bright);
    font-size:34px;
    overflow:hidden;
  }
  .team-avatar img{ width:100%; height:100%; object-fit:cover; display:block; }
  .team-card .team-info{ padding:22px 24px 30px; }
  .team-card h4{ font-size:19px; margin-bottom:6px; font-weight:600; }
  .team-card .role{ font-family:'JetBrains Mono', monospace; font-size:11px; letter-spacing:.05em; color:var(--gold); text-transform:uppercase; margin-bottom:12px; display:block;}
  .team-card p{ color:var(--muted); font-size:13.5px; margin:0; }

  /* ---------- suppliers spotlight (homepage) ---------- */
  .supplier-stack{ display:grid; gap:20px; }
  .supplier-spotlight{
    position:relative;
    min-height:520px;
    display:flex;
    align-items:flex-end;
    overflow:hidden;
    background-size:cover;
    background-position:center;
  }
  .supplier-spotlight.no-photo{
    background:
      radial-gradient(ellipse 700px 480px at 72% 15%, rgba(241,181,46,0.16), transparent 60%),
      radial-gradient(ellipse 500px 400px at 15% 100%, rgba(241,181,46,0.10), transparent 60%),
      var(--umber-2);
  }
  .supplier-overlay{
    position:absolute; inset:0;
    background:linear-gradient(180deg, rgba(10,10,15,0.10) 0%, rgba(10,10,15,0.40) 45%, rgba(10,10,15,0.95) 100%);
  }
  .supplier-content{ position:relative; z-index:2; padding:40px 44px; max-width:760px; }
  .supplier-heading{
    display:flex; align-items:flex-end; gap:18px; flex-wrap:wrap;
    margin-bottom:20px;
  }
  .supplier-content h3{
    font-size:clamp(26px,3.6vw,42px);
    color:var(--gold-bright);
    text-transform:uppercase;
    margin:0;
  }
  .supplier-video-badge{
    flex-shrink:0;
    background:var(--gold);
    color:var(--ink)!important;
    border:none;
    padding:11px 20px;
    font-weight:700;
    box-shadow:0 6px 20px rgba(10,10,15,0.45);
    transition:background .2s ease, transform .2s ease;
  }
  .supplier-video-badge svg{ fill:var(--ink); }
  .supplier-video-badge:hover{ background:var(--gold-bright); transform:translateY(-1px); }
  .supplier-text .eyebrow{ display:block; margin-bottom:10px; }
  .supplier-text p{ color:var(--cream); opacity:0.88; font-size:15.5px; max-width:640px; margin:0; }
  @media(max-width:700px){
    .supplier-spotlight{ min-height:420px; }
    .supplier-content{ padding:64px 22px 26px; }
  }

  /* ---------- pricing ---------- */
  .price-wrap{
    display:grid; grid-template-columns:1.1fr 1fr; gap:0;
    background:var(--umber);
  }
  @media(max-width:860px){ .price-wrap{ grid-template-columns:1fr; } }
  .price-main{
    padding:48px 44px;
    background:linear-gradient(160deg, rgba(241,181,46,0.10), transparent 60%);
  }
  .price-main .amount{
    font-family:'Axiforma', sans-serif; font-weight:900; font-size:52px; color:var(--gold-bright);
    margin-bottom:6px;
  }
  .price-main .amount-note{ color:var(--muted); font-size:13px; margin-bottom:32px; }
  .price-list{ list-style:none; margin:0; padding:0; }
  .price-list li{
    padding:14px 0; border-top:1px solid rgba(241,181,46,0.14);
    display:flex; flex-direction:column; gap:2px;
  }
  .price-list li:first-child{ border-top:none; }
  .price-list strong{ font-size:14.5px; font-weight:600; color:var(--cream); }
  .price-list span{ font-size:13px; color:var(--muted); }
  .price-extras{
    padding:48px 44px;
  }
  @media(max-width:860px){ .price-extras{ border-top:1px solid var(--line); } }
  .price-extras h4{ font-size:14px; font-family:'JetBrains Mono', monospace; letter-spacing:.06em; text-transform:uppercase; color:var(--gold); margin-bottom:22px; font-weight:500; }
  .price-extras ul{ list-style:none; margin:0; padding:0; }
  .price-extras li{ padding:12px 0; border-top:1px dashed rgba(241,181,46,0.16); font-size:14px; color:var(--muted); display:flex; flex-wrap:wrap; justify-content:space-between; gap:4px 12px;}
  .price-extras li:first-child{ border-top:none; }
  .price-extras li b{ color:var(--cream); font-weight:600; }
  .price-extras li .tag{ font-family:'JetBrains Mono', monospace; font-size:12px; color:var(--gold-bright); }

  /* ---------- setups ---------- */
  .setup-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
  @media(max-width:900px){ .setup-grid{ grid-template-columns:1fr; } }
  .setup-card{ overflow:hidden; transition:transform .2s ease, opacity .2s ease; }
  .setup-card:hover{ transform:translateY(-2px); }
  .setup-visual{
    aspect-ratio:4/3;
    position:relative;
    display:flex; align-items:flex-end; padding:20px;
    overflow:hidden;
    background:linear-gradient(160deg, var(--umber-2), var(--ink));
  }
  .setup-visual img{
    position:absolute; inset:0;
    width:100%; height:100%; object-fit:cover; object-position:center;
    display:block;
  }
  .setup-visual::after{
    content:'';
    position:absolute; inset:0;
    background:linear-gradient(180deg, rgba(10,10,15,0.02) 0%, rgba(10,10,15,0.62) 100%);
    pointer-events:none;
  }
  .setup-visual.clasico{ background:radial-gradient(circle at 70% 30%, rgba(241,181,46,0.20), var(--umber-2) 70%); }
  .setup-visual.seleccion{ background:radial-gradient(circle at 30% 30%, rgba(244,187,53,0.20), var(--umber-2) 70%); }
  .setup-visual.gran{ background:radial-gradient(circle at 60% 20%, rgba(241,181,46,0.30), var(--umber-2) 70%); }
  .setup-visual span{ position:relative; z-index:1; font-family:'JetBrains Mono', monospace; font-size:12px; letter-spacing:.06em; color:var(--cream); text-transform:uppercase; }
  .setup-info{ padding:18px 2px; }
  .setup-info h4{ font-size:16px; margin-bottom:4px; font-weight:600; }
  .setup-info .subtitle{ font-family:'JetBrains Mono', monospace; font-size:11px; letter-spacing:.05em; color:var(--gold); text-transform:uppercase; display:block; margin-bottom:10px; }
  .setup-info p{ color:var(--muted); font-size:13px; margin:0; }

  /* ---------- origin story ---------- */
  .origin{ display:grid; grid-template-columns:0.9fr 1.1fr; gap:56px; align-items:center; }
  @media(max-width:900px){ .origin{ grid-template-columns:1fr; } }
  .origin-portrait{
    aspect-ratio:4/5;
    background:linear-gradient(160deg, var(--umber-2), var(--ink));
    display:flex; align-items:center; justify-content:center;
    position:relative; overflow:hidden;
  }
  .origin-portrait img{
    width:100%; height:100%; object-fit:cover; object-position:center;
    display:block;
  }
  .origin p{ color:var(--muted); font-size:15.5px; margin-top:18px; }
  .origin blockquote{
    margin:26px 0 0; padding-left:20px; border-left:2px solid var(--gold);
    font-weight:600; color:var(--gold-bright); font-size:18px; font-style:normal;
  }

  /* ---------- presentation download band ---------- */
  .presentation-band{
    background:var(--umber);
    padding:64px 0;
  }
  .presentation-inner{
    display:flex; align-items:center; justify-content:space-between; gap:32px; flex-wrap:wrap;
  }
  .presentation-copy{ max-width:560px; }
  .presentation-copy h2{ font-size:clamp(24px,3vw,32px); margin-top:10px; }
  .presentation-copy p{ color:var(--muted); margin-top:12px; font-size:15px; }
  .presentation-actions{ display:flex; gap:14px; flex-wrap:wrap; }

  /* ---------- reference / client logos ---------- */
  .reference-grid{
    display:grid; grid-template-columns:repeat(5,1fr); gap:1px;
    background:var(--line);
  }
  @media(max-width:820px){ .reference-grid{ grid-template-columns:repeat(2,1fr); } }
  .reference-cell{
    background:var(--ink);
    padding:36px 20px;
    height:120px;
    display:flex; align-items:center; justify-content:center;
    text-align:center;
  }
  .reference-cell img{
    max-width:70%; max-height:52px;
    width:auto; height:auto;
    object-fit:contain;
    filter:grayscale(1) invert(1) brightness(.85) opacity(.6);
    transition:filter .25s ease;
  }
  .reference-cell:hover img{ filter:none; }

  /* ---------- final cta / footer ---------- */
  .cta-band{
    text-align:center; padding:110px 0;
    position:relative;
    background:radial-gradient(ellipse 700px 400px at 50% 0%, rgba(241,181,46,0.10), transparent 65%);
  }
  .cta-band h2{ font-size:clamp(34px,5vw,56px); }
  .cta-band .lead{ color:var(--muted); margin-top:16px; }
  .cta-band .hero-actions{ justify-content:center; margin-top:36px; }

  footer{
    border-top:1px solid var(--line);
    padding:44px 0;
    background:var(--void);
  }
  .footer-row{
    display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:20px;
  }
  .footer-row .logo-mark{ height:24px; }
  .footer-links{ display:flex; flex-wrap:wrap; gap:12px 26px; font-size:13.5px; color:var(--muted); }
  .footer-links a{ text-decoration:none; }
  .footer-links a:hover{ color:var(--gold-bright); }
  footer .fine{ font-size:12px; color:var(--muted); opacity:.7; margin-top:24px; }

  @media (prefers-reduced-motion: reduce){
    html{ scroll-behavior:auto; }
    *{ transition:none!important; }
  }
