:root{
    --bg:#171E2B;          /* navy profundo de marca, casi negro */
    --bg-2:#1C2533;        /* panel apenas más claro */
    --bg-3:#222C3D;
    --gold:#FEB15F;        /* amber de marca como acento dorado */
    --gold-dim:#C98F55;
    --copper:#A35139;
    --white:#F5F3EF;
    --grey:#9AA0AB;
    --line:rgba(245,243,239,0.10);
    --wrap:1200px;
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;background:var(--bg);color:var(--grey);
    font-family:'Jost',sans-serif;font-size:15px;line-height:1.75;font-weight:300;
    -webkit-font-smoothing:antialiased;
  }
  h1,h2,h3,h4{
    font-family:'Oswald',sans-serif;margin:0;font-weight:500;
    text-transform:uppercase;color:var(--white);
  }
  p{margin:0;}
  a{color:inherit;text-decoration:none;}
  img{max-width:100%;display:block;}
  .wrap{max-width:var(--wrap);margin:0 auto;padding:0 40px;}
  button{font-family:inherit;cursor:pointer;}

  /* ===== heading system: WORD + GOLD WORD, letter-spaced ===== */
  .sec-title{
    text-align:center;font-size:1.55rem;letter-spacing:0.45em;font-weight:500;
    margin-bottom:64px;text-indent:0.45em;
  }
  .sec-title .g{color:var(--gold);}
  .sec-title-left{text-align:left;text-indent:0;}

  /* ghost watermark */
  .ghost-wrap{position:relative;}
  .ghost-wrap .wrap, .ghost-wrap .proj-strip{position:relative;z-index:2;}
  .ghost{
    position:absolute;z-index:1;font-family:'Oswald',sans-serif;font-weight:600;
    font-size:9rem;color:rgba(245,243,239,0.03);letter-spacing:0.05em;
    text-transform:lowercase;pointer-events:none;user-select:none;line-height:1;
    white-space:nowrap;
  }
  @media(max-width:760px){.ghost{font-size:4.5rem;}}

  /* ===== top bar ===== */
  header.site-nav{
    position:fixed;top:0;left:0;right:0;z-index:200;
    background:rgba(23,30,43,0.97);
    box-shadow:0 1px 0 var(--line);
  }
  .nav-inner{display:flex;align-items:center;height:88px;gap:40px;}
  .brand{display:flex;align-items:center;gap:14px;padding-right:30px;}
  .brand img{height:30px;width:auto;}
  .brand-word{font-family:'Oswald',sans-serif;color:var(--white);font-weight:500;font-size:1.15rem;letter-spacing:0.18em;text-transform:uppercase;}
  .nav-phone{font-size:0.72rem;letter-spacing:0.22em;color:var(--grey);}
  nav.main-links{display:flex;gap:6px;align-items:center;margin-left:auto;}
  nav.main-links a{
    font-family:'Oswald',sans-serif;font-weight:400;color:var(--grey);
    font-size:0.7rem;letter-spacing:0.28em;text-transform:uppercase;
    padding:10px 16px;transition:color .2s;
  }
  nav.main-links a:hover{color:var(--white);}
  nav.main-links a.active{color:var(--gold);}
  .hamburger{display:none;background:none;border:0;color:var(--white);font-size:1.5rem;margin-left:auto;}
  @media(max-width:960px){
    nav.main-links{
      position:fixed;top:88px;left:0;right:0;bottom:0;background:var(--bg);
      flex-direction:column;align-items:stretch;padding:30px 40px;margin-left:0;
      transform:translateX(100%);transition:transform .25s ease;gap:0;
    }
    nav.main-links.open{transform:translateX(0);}
    nav.main-links a{padding:20px 0;border-bottom:1px solid var(--line);font-size:0.8rem;}
    .hamburger{display:block;}
    .nav-phone{display:none;}
  }

  /* ===== left rail (desktop) ===== */
  .left-rail{
    position:fixed;left:0;top:0;bottom:0;width:96px;z-index:150;
    display:flex;flex-direction:column;align-items:center;justify-content:space-between;
    padding:120px 0 40px;border-right:1px solid var(--line);
    background:rgba(23,30,43,0.55);backdrop-filter:blur(2px);
  }
  .rail-num{font-family:'Oswald',sans-serif;color:var(--white);font-size:1.9rem;font-weight:500;}
  .rail-num small{color:var(--grey);font-size:0.85rem;font-weight:300;}
  .rail-label{
    writing-mode:vertical-rl;transform:rotate(180deg);
    font-family:'Oswald',sans-serif;font-size:0.62rem;letter-spacing:0.5em;
    text-transform:uppercase;color:var(--grey);
  }
  .rail-line{width:1px;flex:0 0 60px;background:var(--line);margin:18px 0;}
  @media(max-width:1240px){.left-rail{display:none;}}
  .with-rail{padding-left:96px;}
  @media(max-width:1240px){.with-rail{padding-left:0;}}

  .page{display:none;}
  .page.active{display:block;animation:fadein .4s ease;}
  @keyframes fadein{from{opacity:0;}to{opacity:1;}}

  /* ===== hero ===== */
  .hero{
    position:relative;min-height:92vh;display:flex;align-items:center;overflow:hidden;
  }
  .hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;}
  .hero-bg::after{
    content:'';position:absolute;inset:0;
    background:linear-gradient(90deg, rgba(23,30,43,0.94) 0%, rgba(23,30,43,0.72) 45%, rgba(23,30,43,0.45) 100%);
  }
  .hero-inner{position:relative;z-index:2;width:100%;text-align:center;padding:150px 40px 80px;}
  .hero h1{
    font-size:2.7rem;font-weight:500;letter-spacing:0.28em;line-height:1.45;text-indent:0.28em;
    max-width:900px;margin:0 auto;
  }
  .hero h1 .g{color:var(--gold);}
  .hero .sub{
    color:var(--grey);font-size:0.92rem;max-width:520px;margin:26px auto 0;line-height:1.9;
  }
  .hero .cta-row{margin-top:44px;display:flex;gap:18px;justify-content:center;flex-wrap:wrap;}
  .btn{
    display:inline-flex;align-items:center;gap:10px;
    font-family:'Oswald',sans-serif;font-size:0.66rem;letter-spacing:0.32em;text-transform:uppercase;
    padding:15px 34px;border-radius:999px;border:1px solid transparent;
    transition:all .22s ease;font-weight:500;
  }
  .btn-gold{background:var(--gold);color:#171E2B;}
  .btn-gold:hover{background:#ffc276;}
  .btn-line{border-color:rgba(245,243,239,0.35);color:var(--white);}
  .btn-line:hover{border-color:var(--gold);color:var(--gold);}
  .btn .arr{font-family:'Jost',sans-serif;letter-spacing:0;}
  .hero-stats{
    position:relative;z-index:2;display:flex;justify-content:center;gap:70px;
    margin-top:70px;flex-wrap:wrap;
  }
  .hero-stat{text-align:center;}
  .hero-stat .num{font-family:'Oswald',sans-serif;font-size:2rem;color:var(--white);font-weight:500;}
  .hero-stat .num span{color:var(--gold);}
  .hero-stat .lbl{font-size:0.66rem;letter-spacing:0.3em;text-transform:uppercase;color:var(--grey);margin-top:6px;}
  @media(max-width:760px){.hero h1{font-size:1.5rem;letter-spacing:0.18em;}}

  /* ===== sections ===== */
  section{padding:110px 0;position:relative;}
  .band{background:var(--bg-2);}

  /* about split */
  .about-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:60px;align-items:start;}
  .about-grid h3{font-size:0.95rem;letter-spacing:0.14em;font-weight:500;margin-bottom:18px;color:var(--white);}
  .about-grid h3 .g{color:var(--gold);}
  .about-grid p{font-size:0.9rem;}
  .spec-list{display:flex;flex-direction:column;gap:26px;}
  .spec-item{display:flex;align-items:center;gap:18px;}
  .spec-item svg{width:34px;height:34px;stroke:var(--gold);fill:none;stroke-width:1.4;flex-shrink:0;}
  .spec-item span{font-family:'Oswald',sans-serif;font-size:0.72rem;letter-spacing:0.3em;text-transform:uppercase;color:var(--white);}
  .about-photo{position:relative;}
  .about-photo img{filter:grayscale(30%) contrast(1.05);}
  .about-photo::after{content:'';position:absolute;inset:0;box-shadow:inset 0 0 0 1px var(--line);}
  @media(max-width:960px){.about-grid{grid-template-columns:1fr;}}

  /* ===== project tiles (full-bleed strip) ===== */
  .proj-strip{display:grid;grid-template-columns:repeat(4,1fr);}
  .proj-tile{
    position:relative;height:520px;overflow:hidden;cursor:pointer;
    background:linear-gradient(160deg,#2A3548 0%, #1A2230 70%);
  }
  .proj-tile{background-size:cover;background-position:center;}
  .proj-tile + .proj-tile{border-left:1px solid rgba(0,0,0,0.4);}
  .proj-tile::after{
    content:'';position:absolute;inset:0;
    background:linear-gradient(180deg, rgba(23,30,43,0.55) 0%, rgba(23,30,43,0.1) 40%, rgba(23,30,43,0.75) 100%);
    transition:background .3s;
  }
  .proj-tile:hover::after{background:linear-gradient(180deg, rgba(23,30,43,0.35) 0%, rgba(23,30,43,0.05) 40%, rgba(23,30,43,0.6) 100%);}
  .proj-tile .t-title{
    position:absolute;top:34px;left:30px;right:30px;z-index:2;
    font-family:'Oswald',sans-serif;font-size:0.88rem;letter-spacing:0.16em;
    text-transform:uppercase;color:var(--white);font-weight:500;line-height:1.7;
  }
  .proj-tile .t-vert{
    position:absolute;bottom:34px;left:30px;z-index:2;
    writing-mode:vertical-rl;transform:rotate(180deg);
    font-family:'Oswald',sans-serif;font-size:0.6rem;letter-spacing:0.5em;
    text-transform:uppercase;color:rgba(245,243,239,0.55);
  }
  .proj-tile .t-flag{
    position:absolute;bottom:34px;right:30px;z-index:2;
    font-family:'Oswald',sans-serif;font-size:0.58rem;letter-spacing:0.24em;text-transform:uppercase;
    color:var(--gold);border:1px solid rgba(254,177,95,0.5);padding:8px 14px;
  }
  .proj-tile .t-status{
    position:absolute;top:34px;right:30px;z-index:3;
    font-family:'Oswald',sans-serif;font-size:0.55rem;letter-spacing:0.26em;text-transform:uppercase;
    padding:7px 13px;
  }
  .t-status.done{background:var(--copper);color:var(--white);}
  .t-status.progress{background:var(--gold);color:#171E2B;}
  @media(max-width:1100px){.proj-strip{grid-template-columns:1fr 1fr;}}
  @media(max-width:1100px){#obrasGrid{grid-template-columns:1fr 1fr!important;}}
  @media(max-width:640px){#obrasGrid{grid-template-columns:1fr!important;}.proj-strip{grid-template-columns:1fr;}.proj-tile{height:420px;}}

  /* ===== big number stat ===== */
  .bignum{display:flex;align-items:center;justify-content:center;gap:30px;flex-wrap:wrap;text-align:left;}
  .bignum .n{
    font-family:'Oswald',sans-serif;font-size:11rem;font-weight:600;line-height:0.9;
    background:linear-gradient(160deg, var(--gold) 0%, var(--copper) 90%);
    -webkit-background-clip:text;background-clip:text;color:transparent;
  }
  .bignum .cap{font-family:'Oswald',sans-serif;text-transform:uppercase;letter-spacing:0.18em;font-size:0.95rem;color:var(--white);line-height:2;}
  .bignum .cap .g{color:var(--gold);}
  @media(max-width:760px){.bignum .n{font-size:6.5rem;}}

  /* ===== benefits (sistema) ===== */
  .ben-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);}
  .ben-card{background:var(--bg);padding:46px 36px;}
  .band .ben-card{background:var(--bg-2);}
  .ben-card .num{font-family:'Oswald',sans-serif;color:var(--gold);font-size:0.8rem;letter-spacing:0.3em;margin-bottom:18px;}
  .ben-card h3{font-size:0.9rem;letter-spacing:0.16em;font-weight:500;margin-bottom:14px;line-height:1.6;}
  .ben-card p{font-size:0.88rem;}
  .ben-card .punch{display:block;margin-top:16px;color:var(--gold-dim);font-style:italic;font-size:0.88rem;}
  @media(max-width:960px){.ben-grid{grid-template-columns:1fr;}}

  /* ===== process ===== */
  .process{display:flex;margin-top:10px;}
  .step{flex:1;position:relative;padding:0 26px 0 0;}
  .step .mark{
    font-family:'Oswald',sans-serif;font-size:2.6rem;font-weight:600;color:transparent;
    -webkit-text-stroke:1px var(--gold);margin-bottom:16px;line-height:1;
  }
  .step h4{font-size:0.78rem;letter-spacing:0.2em;margin-bottom:10px;font-weight:500;line-height:1.7;}
  .step p{font-size:0.84rem;}
  .step::after{content:'';position:absolute;top:18px;right:26px;width:calc(100% - 80px);height:1px;background:var(--line);left:56px;}
  .step:last-child::after{display:none;}
  @media(max-width:960px){.process{flex-direction:column;gap:36px;}.step::after{display:none;}}

  /* ===== FAQ ===== */
  .faq-item{border-bottom:1px solid var(--line);}
  .faq-item:first-child{border-top:1px solid var(--line);}
  .faq-q{
    display:flex;justify-content:space-between;align-items:center;gap:24px;
    padding:26px 4px;background:none;border:0;width:100%;text-align:left;
    font-family:'Oswald',sans-serif;font-size:0.82rem;letter-spacing:0.14em;
    text-transform:uppercase;color:var(--white);font-weight:400;line-height:1.7;
  }
  .faq-q:hover{color:var(--gold);}
  .faq-q .plus{color:var(--gold);font-size:1.2rem;transition:transform .2s;flex-shrink:0;font-family:'Jost',sans-serif;}
  .faq-item.open .plus{transform:rotate(45deg);}
  .faq-a{max-height:0;overflow:hidden;transition:max-height .3s ease;}
  .faq-a p{padding:0 4px 28px;max-width:780px;font-size:0.92rem;}

  /* ===== comparison ===== */
  .cmp-table{width:100%;border-collapse:collapse;}
  .cmp-table th{
    font-family:'Oswald',sans-serif;font-size:0.64rem;letter-spacing:0.3em;text-transform:uppercase;
    color:var(--grey);text-align:left;padding:18px 16px;border-bottom:1px solid var(--gold);font-weight:500;
  }
  .cmp-table th.center,.cmp-table td.center{text-align:center;}
  .cmp-table td{padding:19px 16px;border-bottom:1px solid var(--line);font-size:0.9rem;}
  .cmp-table tr td:first-child{color:var(--white);font-family:'Oswald',sans-serif;font-size:0.78rem;letter-spacing:0.14em;text-transform:uppercase;font-weight:400;}
  .cmp-table td.check{color:var(--gold);font-size:1.05rem;}
  .cmp-table td.cross{color:rgba(154,160,171,0.4);font-size:1.05rem;}

  /* ===== testimonials ===== */
  .test-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);}
  .test-card{background:var(--bg-2);padding:44px 40px;}
  .test-card .mark{color:var(--gold);font-size:2.6rem;font-family:Georgia,serif;line-height:0.6;margin-bottom:22px;}
  .test-card p.body{font-style:italic;font-size:0.95rem;margin-bottom:22px;}
  .test-card .who{font-family:'Oswald',sans-serif;font-size:0.68rem;letter-spacing:0.26em;text-transform:uppercase;color:var(--white);}
  .test-card .flag{display:block;font-family:'Oswald',sans-serif;font-size:0.58rem;letter-spacing:0.24em;text-transform:uppercase;color:var(--gold);margin-bottom:14px;}
  @media(max-width:760px){.test-grid{grid-template-columns:1fr;}}

  /* ===== directors ===== */
  .dir-grid{display:grid;grid-template-columns:minmax(0,640px);justify-content:center;gap:1px;}
  .dir-card{background:var(--bg);padding:48px 42px;text-align:center;}
  .band .dir-card{background:var(--bg-2);}
  .dir-card .dir-photo{width:140px;height:140px;border-radius:50%;object-fit:cover;object-position:center 30%;margin:0 auto 24px;border:1px solid var(--gold);padding:4px;background:var(--bg-2);}
  .dir-card .initials{
    width:140px;height:140px;border-radius:50%;border:1px solid var(--gold);color:var(--gold);font-size:2rem!important;
    display:flex;align-items:center;justify-content:center;margin:0 auto 24px;
    font-family:'Oswald',sans-serif;font-size:1.2rem;letter-spacing:0.1em;
  }
  .dir-card h4{font-size:0.95rem;letter-spacing:0.2em;margin-bottom:8px;font-weight:500;}
  .dir-card .role{font-family:'Oswald',sans-serif;font-size:0.6rem;letter-spacing:0.34em;text-transform:uppercase;color:var(--gold);margin-bottom:18px;}
  .dir-bio{max-width:460px;margin:0 auto;}
  .dir-bio p + p{margin-top:14px;}
  .dir-card p{font-size:0.88rem;}
  @media(max-width:760px){.dir-grid{grid-template-columns:1fr;}}

  .word-row{display:flex;justify-content:center;gap:54px;flex-wrap:wrap;margin-top:10px;}
  .word-row span{
    font-family:'Oswald',sans-serif;font-size:0.8rem;letter-spacing:0.4em;text-transform:uppercase;
    color:var(--white);padding-bottom:10px;border-bottom:1px solid var(--gold);
  }

  /* ===== contact ===== */
  .contact-grid{display:grid;grid-template-columns:0.8fr 1.2fr;gap:80px;align-items:start;}
  .c-lines{display:flex;flex-direction:column;gap:4px;}
  .c-line{display:flex;align-items:center;gap:16px;padding:15px 0;border-bottom:1px solid var(--line);font-size:0.92rem;}
  .c-line svg{width:17px;height:17px;color:var(--gold);flex-shrink:0;}
  .c-line b{font-family:'Oswald',sans-serif;font-weight:400;font-size:0.62rem;letter-spacing:0.3em;text-transform:uppercase;color:var(--grey);display:block;}
  .c-line div{color:var(--white);}
  .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
  .form-grid .full{grid-column:1/-1;}
  .f-in{width:100%;padding:15px 16px;background:var(--bg-3);border:1px solid transparent;color:var(--white);font-family:'Jost',sans-serif;font-size:0.9rem;transition:border .2s;}
  .f-in:focus{outline:none;border-color:var(--gold);}
  .f-in::placeholder{color:var(--grey);}
  select.f-in{appearance:none;}
  .f-label{font-family:'Oswald',sans-serif;font-size:0.6rem;letter-spacing:0.3em;text-transform:uppercase;color:var(--grey);display:block;margin-bottom:9px;}
  .radio-row{display:flex;gap:26px;padding:12px 0;}
  .radio-row label{display:flex;align-items:center;gap:9px;color:var(--white);font-size:0.9rem;}
  .form-note{font-size:0.82rem;font-style:italic;margin-top:18px;}
  .toast{display:none;margin-top:20px;padding:16px 20px;background:var(--gold);color:#171E2B;font-weight:500;font-size:0.85rem;}
  .map-box{margin-top:26px;height:190px;border:1px dashed var(--line);display:flex;align-items:center;justify-content:center;text-align:center;padding:22px;font-size:0.8rem;font-style:italic;color:var(--grey);}
  @media(max-width:960px){.contact-grid{grid-template-columns:1fr;}}

  /* ===== footer ===== */
  .c-line a{color:var(--white);transition:color .2s;}
  .c-line a:hover{color:var(--gold);}
  .foot-copy a{color:var(--grey);} .foot-copy a:hover{color:var(--gold);}
  .wa-float{position:fixed;right:26px;bottom:26px;z-index:250;width:58px;height:58px;border-radius:50%;
    background:var(--gold);color:#171E2B;display:flex;align-items:center;justify-content:center;
    box-shadow:0 10px 30px rgba(0,0,0,0.4);transition:transform .2s;}
  .wa-float:hover{transform:scale(1.07);}
  .wa-float svg{width:28px;height:28px;}
  .proj-tile .t-status{left:30px!important;right:auto!important;top:30px!important;}
  .proj-tile .t-title{top:74px!important;right:30px!important;}
  .btn-line{background:transparent;}
  .proj-tile{cursor:pointer;}
  .proj-tile .t-render{display:block;margin-top:8px;font-size:0.58rem;letter-spacing:0.26em;color:var(--gold);}
  .proj-tile .t-count{position:absolute;right:30px;bottom:34px;z-index:2;font-family:'Oswald',sans-serif;font-size:0.6rem;letter-spacing:0.24em;text-transform:uppercase;color:var(--white);opacity:.75;transition:opacity .2s,color .2s;}
  .proj-tile:hover .t-count{opacity:1;color:var(--gold);}
  .t-status.proy{background:var(--white);color:#171E2B;}
  .t-status.ante{background:rgba(23,30,43,.7);color:var(--gold);border:1px solid var(--gold);}
  .obra-grid{grid-template-columns:repeat(3,1fr);margin-top:34px;}
  .obra-cat{scroll-margin-top:80px;}
  .cat-sub{text-align:center;font-size:0.9rem;margin-bottom:0;}
  @media(max-width:1100px){.obra-grid{grid-template-columns:1fr 1fr;}}
  @media(max-width:640px){.obra-grid{grid-template-columns:1fr;}}
  .filter-row-obras{gap:12px!important;}
  .lb{position:fixed;inset:0;z-index:500;background:#0C1018;display:none;flex-direction:column;padding:22px 30px 18px;}
  .lb.open{display:flex;}
  .lb-top{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;}
  .lb-cat{font-family:'Oswald',sans-serif;font-size:0.6rem;letter-spacing:0.3em;text-transform:uppercase;color:var(--gold);}
  .lb-top h3{font-size:1rem;letter-spacing:0.18em;margin-top:6px;}
  .lb-x{background:none;border:1px solid var(--line);color:var(--white);width:42px;height:42px;border-radius:50%;font-size:1rem;}
  .lb-x:hover{border-color:var(--gold);color:var(--gold);}
  .lb-stage{flex:1;display:flex;align-items:center;justify-content:center;gap:18px;min-height:0;margin:16px 0 10px;}
  .lb-stage img{max-width:calc(100% - 140px);max-height:100%;object-fit:contain;box-shadow:0 20px 60px rgba(0,0,0,.5);}
  .lb-stage img.is-plano{background:#fff;padding:14px;}
  .lb-nav{background:none;border:1px solid var(--line);color:var(--white);width:52px;height:52px;border-radius:50%;font-size:1.8rem;line-height:1;flex-shrink:0;}
  .lb-nav:hover{border-color:var(--gold);color:var(--gold);}
  .lb-meta{display:flex;justify-content:space-between;font-family:'Oswald',sans-serif;font-size:0.62rem;letter-spacing:0.28em;text-transform:uppercase;color:var(--grey);margin-bottom:10px;}
  .lb-thumbs{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;}
  .lb-thumbs button{flex:0 0 96px;height:62px;border:1px solid transparent;background-size:cover;background-position:center;opacity:.5;color:#171E2B;font-family:'Oswald',sans-serif;font-size:0.55rem;letter-spacing:.2em;text-transform:uppercase;}
  .lb-thumbs button.pl{background-color:#fff;background-size:contain;background-repeat:no-repeat;}
  .lb-thumbs button.on{opacity:1;border-color:var(--gold);}
  @media(max-width:640px){.lb{padding:14px 12px;}.lb-stage img{max-width:100%;}.lb-nav{position:absolute;top:50%;width:40px;height:40px;background:rgba(12,16,24,.6);} #lbPrev{left:8px;} #lbNext{right:8px;}}
  .cta-tile{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:16px;padding:40px;min-height:520px;background:var(--bg-2);border-left:1px solid rgba(0,0,0,.4);transition:background .2s;}
  .cta-tile:hover{background:var(--bg-3);}
  .cta-k{font-family:'Oswald',sans-serif;font-size:0.6rem;letter-spacing:0.3em;text-transform:uppercase;color:var(--gold);}
  .cta-h{font-family:'Oswald',sans-serif;font-size:1.4rem;letter-spacing:0.16em;text-transform:uppercase;color:var(--white);line-height:1.5;}
  .cta-a{font-family:'Oswald',sans-serif;font-size:0.66rem;letter-spacing:0.3em;text-transform:uppercase;color:var(--gold);border-bottom:1px solid var(--gold);padding-bottom:4px;}
  @media(max-width:1100px){.cta-tile{grid-column:auto!important;min-height:420px;}}
  /* ===== tratamiento de color uniforme en portadas ===== */
  .proj-tile{isolation:isolate;}
  .proj-tile::before{content:'';position:absolute;inset:0;z-index:0;background:inherit;background-size:cover;background-position:center;
    filter:grayscale(.45) sepia(.22) saturate(.8) contrast(1.08) brightness(.86);transition:filter .5s ease,transform .8s ease;}
  .proj-tile::after{z-index:1;background:
      linear-gradient(180deg, rgba(23,30,43,.62) 0%, rgba(23,30,43,.18) 38%, rgba(23,30,43,.82) 100%),
      linear-gradient(135deg, rgba(28,37,51,.32) 0%, rgba(163,81,57,.14) 100%)!important;}
  .proj-tile:hover::before{filter:grayscale(.1) sepia(.08) saturate(1) contrast(1.05) brightness(.95);transform:scale(1.03);}
  .proj-tile{overflow:hidden;}
  .proj-tile > *{z-index:2;}
  #page-nosotros .about-photo img{width:100%;height:440px;object-fit:cover;object-position:center 35%;}
  @media(max-width:960px){#page-nosotros .about-photo img{height:360px;}}
  footer{border-top:1px solid var(--line);padding:54px 0 34px;background:var(--bg);}
  .foot-inner{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:26px;}
  .foot-links{display:flex;gap:30px;flex-wrap:wrap;}
  .foot-links a{font-family:'Oswald',sans-serif;font-size:0.62rem;letter-spacing:0.3em;text-transform:uppercase;color:var(--grey);}
  .foot-links a:hover{color:var(--gold);}
  .foot-copy{font-size:0.78rem;color:var(--grey);margin-top:30px;text-align:center;border-top:1px solid var(--line);padding-top:26px;}


  .filter-btn.active{border-color:var(--gold)!important;color:var(--gold)!important;}
  .proj-tile:focus-visible{outline:2px solid var(--gold);outline-offset:-2px;}
  .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0;}
  .main-links a.active{color:var(--gold);}
