:root{
    --carbon:#22262e; --carbon-900:#14171d; --carbon-800:#1a1e25; --carbon-700:#262b34; --carbon-line:#363c46;
    --cobre:#b06a33; --cobre-osc:#8a4f26; --cobre-claro:#d3935f; --cobre-bright:#c47c3f;
    --acero:#b9bdc1; --acero-osc:#7e848a; --acero-claro:#dfe2e4;
    --crema:#f6f4f1; --gris:#edf0f3; --tinta:#20242c; --tinta-soft:#586470;
    --serif:'Playfair Display',Georgia,serif;
    --sans:'Libre Franklin',-apple-system,BlinkMacSystemFont,sans-serif;
  }
  *{box-sizing:border-box;margin:0;padding:0;}
  /* Protección: evitar selección y arrastre de contenido (los campos del formulario sí permiten escribir/seleccionar) */
  html{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-touch-callout:none;}
  input,textarea,select{-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text;}
  img{-webkit-user-drag:none;-khtml-user-drag:none;-moz-user-drag:none;-o-user-drag:none;user-drag:none;}
  html{scroll-behavior:smooth;scroll-padding-top:86px;}
  body{font-family:var(--sans);color:var(--tinta);line-height:1.6;background:#fff;overflow-x:hidden;padding-bottom:70px;}
  a{text-decoration:none;color:inherit;}
  img{max-width:100%;display:block;}
  .wrap{max-width:1140px;margin:0 auto;padding:0 28px;}
  section{position:relative;}
  .logo{height:54px;width:auto;display:block;}

  .reveal{opacity:0;transform:translateY(26px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1);}
  .reveal.in{opacity:1;transform:none;}

  /* ---------------- NAV ---------------- */
  .nav{position:fixed;top:0;left:0;right:0;z-index:60;background:rgba(26,30,37,.84);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.08);}
  .nav .row{display:flex;align-items:center;justify-content:space-between;height:74px;}
  .nav .logo{height:52px;}
  .nav .links{display:flex;align-items:center;gap:28px;}
  .nav .links a{color:rgba(255,255,255,.82);font-size:13.5px;font-weight:500;letter-spacing:.2px;transition:color .2s;}
  .nav .links a:hover{color:var(--cobre-claro);}
  .nav .cta{background:var(--cobre);color:#fff!important;font-weight:700;font-size:13px;padding:9px 18px;border-radius:30px;}
  .nav .cta:hover{filter:brightness(1.08);}
  .burger{display:none;background:none;border:none;cursor:pointer;flex-direction:column;gap:5px;padding:6px;}
  .burger span{width:24px;height:2px;background:#fff;border-radius:2px;transition:.3s;}
  .mobile-menu{display:none;position:fixed;inset:74px 0 auto 0;z-index:55;background:var(--carbon);border-bottom:1px solid var(--carbon-line);padding:14px 28px 22px;}
  .mobile-menu a{display:block;color:rgba(255,255,255,.9);font-size:15px;font-weight:500;padding:11px 0;border-bottom:1px solid rgba(255,255,255,.07);}
  .mobile-menu.open{display:block;}

  /* ---------------- HERO ---------------- */
  .hero{position:relative;padding:150px 0 96px;color:#fff;overflow:hidden;
    background:
      radial-gradient(70% 60% at 80% -10%, rgba(176,106,51,.22) 0%, transparent 55%),
      radial-gradient(60% 50% at 0% 110%, rgba(185,189,193,.10) 0%, transparent 60%),
      linear-gradient(160deg, var(--carbon-900) 0%, var(--carbon) 55%, var(--carbon-800) 100%);}
  .hero::before{content:"";position:absolute;inset:0;opacity:.5;pointer-events:none;z-index:2;
    background-image:radial-gradient(rgba(255,255,255,.05) 1px,transparent 1px);background-size:24px 24px;}
  .hero .bgvideo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;pointer-events:none;opacity:0;transition:opacity 1s ease-in-out;}
  .hero .bgvideo.show{opacity:1;}
  .hero .veil{position:absolute;inset:0;z-index:1;pointer-events:none;
    background:
      radial-gradient(70% 60% at 80% -10%, rgba(176,106,51,.26) 0%, transparent 55%),
      linear-gradient(160deg, rgba(15,18,24,.82) 0%, rgba(26,30,37,.80) 55%, rgba(20,23,29,.86) 100%);}
  .hero .inner{position:relative;max-width:780px;z-index:3;}
  .hero .eyebrow{display:inline-block;font-size:11px;letter-spacing:3.5px;text-transform:uppercase;color:var(--cobre-claro);font-weight:700;margin-bottom:22px;border:1px solid rgba(211,147,95,.4);padding:7px 15px;border-radius:30px;}
  .hero h1{font-family:var(--serif);font-weight:700;font-size:55px;line-height:1.08;letter-spacing:-.5px;}
  .hero h1 em{font-style:italic;color:var(--cobre-claro);}
  .hero p{margin:24px 0 0;font-size:17px;color:rgba(255,255,255,.82);line-height:1.65;max-width:640px;}
  .hero .btns{margin-top:36px;display:flex;gap:14px;flex-wrap:wrap;}
  .btn-primary{background:linear-gradient(145deg,var(--cobre-bright),var(--cobre) 60%,var(--cobre-osc));color:#fff;font-weight:800;font-size:15px;padding:15px 30px;border-radius:34px;border:none;cursor:pointer;letter-spacing:.3px;box-shadow:0 12px 34px rgba(176,106,51,.34);transition:transform .2s,filter .2s;}
  .btn-primary:hover{transform:translateY(-2px);filter:brightness(1.06);}
  .btn-ghost{background:transparent;color:#fff;font-weight:600;font-size:15px;padding:15px 28px;border-radius:34px;border:1px solid rgba(255,255,255,.3);cursor:pointer;transition:background .2s,border-color .2s;}
  .btn-ghost:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.5);}

  /* ---------------- STATS STRIP ---------------- */
  .strip{background:var(--carbon-800);border-top:1px solid var(--carbon-line);border-bottom:1px solid var(--carbon-line);}
  .strip .grid{display:grid;grid-template-columns:repeat(4,1fr);}
  .strip .s{padding:30px 16px;text-align:center;color:#fff;border-right:1px solid var(--carbon-line);}
  .strip .s:last-child{border-right:none;}
  .strip .n{font-family:var(--serif);font-weight:800;font-size:38px;color:var(--cobre-claro);line-height:1;}
  .strip .l{font-size:11.5px;color:rgba(255,255,255,.74);margin-top:9px;line-height:1.4;letter-spacing:.2px;}

  /* ---------------- SECTION HEADERS ---------------- */
  .sec-eyebrow{font-size:11.5px;letter-spacing:3.5px;text-transform:uppercase;font-weight:700;color:var(--cobre-osc);margin-bottom:14px;}
  .sec-title{font-family:var(--serif);font-weight:700;font-size:38px;line-height:1.15;letter-spacing:-.3px;color:var(--tinta);}
  .sec-title em{font-style:italic;color:var(--cobre-osc);}

  /* ---------------- NOSOTROS ---------------- */
  .nosotros{padding:96px 0;background:radial-gradient(80% 60% at 90% 0%, #fbf9f6 0%, #fff 55%);}
  .nosotros .cols{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;}
  .nosotros p.lead{font-size:16.5px;color:var(--tinta-soft);line-height:1.7;margin-top:20px;}
  .nosotros p.body{font-size:14.5px;color:var(--tinta-soft);line-height:1.7;margin-top:16px;}
  .chips{margin-top:26px;display:flex;flex-wrap:wrap;gap:10px;}
  .chips .c{font-size:12.5px;font-weight:600;color:var(--tinta);background:var(--gris);border:1px solid #dde2e8;border-radius:30px;padding:9px 16px;}
  .about-card{background:var(--carbon);border-radius:20px;padding:36px 34px;color:#fff;position:relative;overflow:hidden;box-shadow:0 24px 60px rgba(20,24,30,.28);}
  .about-card::before{content:"";position:absolute;inset:0;background:radial-gradient(70% 90% at 100% 0%, rgba(176,106,51,.18) 0%, transparent 55%);pointer-events:none;}
  .about-card .logo{height:58px;margin-bottom:20px;position:relative;}
  .about-card .mvk{position:relative;font-size:10.5px;letter-spacing:2.5px;text-transform:uppercase;color:var(--cobre-claro);font-weight:700;margin:18px 0 8px;}
  .about-card .mvk:first-of-type{margin-top:0;}
  .about-card .mv{position:relative;font-family:var(--serif);font-style:italic;font-weight:500;font-size:17.5px;line-height:1.5;color:rgba(255,255,255,.92);}
  .about-card .mv .hl{color:var(--cobre-claro);font-style:normal;}
  .about-card .firma{margin-top:24px;position:relative;font-size:13px;color:rgba(255,255,255,.7);line-height:1.5;border-top:1px solid rgba(255,255,255,.1);padding-top:18px;}
  .about-card .firma b{color:#fff;font-weight:700;display:block;font-size:15px;}

  /* ---------------- SERVICIOS ---------------- */
  .servicios{padding:96px 0;background:radial-gradient(80% 60% at 90% 0%, #fbf9f6 0%, #fff 55%);}
  .servicios .head-c{max-width:680px;margin-bottom:8px;}
  .servicios .head-c p{font-size:15.5px;color:var(--tinta-soft);margin-top:14px;line-height:1.65;}
  .serv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:42px;}
  .serv-card{background:#fff;border:1px solid #e8e3da;border-radius:18px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 14px 40px rgba(32,36,44,.06);transition:transform .25s,box-shadow .25s;}
  .serv-card:hover{transform:translateY(-4px);box-shadow:0 22px 50px rgba(32,36,44,.12);}
  .serv-card .ph{position:relative;height:200px;overflow:hidden;}
  .serv-card .ph img{width:100%;height:100%;object-fit:cover;transition:transform .5s;}
  .serv-card:hover .ph img{transform:scale(1.06);}
  .serv-card .ph::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 38%,rgba(20,24,30,.62));}
  .serv-card .ph .ico{position:absolute;left:18px;bottom:14px;z-index:2;width:44px;height:44px;border-radius:12px;background:var(--cobre);display:flex;align-items:center;justify-content:center;box-shadow:0 6px 16px rgba(176,106,51,.45);}
  .serv-card .ph .ico svg{width:23px;height:23px;color:#fff;stroke:#fff;}
  .serv-card .bd{padding:22px 25px 26px;}
  .serv-card h3{font-family:var(--serif);font-weight:700;font-size:21px;color:var(--tinta);line-height:1.2;margin-bottom:10px;}
  .serv-card p{font-size:13.8px;color:var(--tinta-soft);line-height:1.65;}
  .serv-card .chips2{margin-top:16px;display:flex;flex-wrap:wrap;gap:7px;}
  .serv-card .chip{font-size:10.5px;font-weight:600;color:var(--cobre-osc);background:rgba(176,106,51,.08);border:1px solid rgba(176,106,51,.22);border-radius:20px;padding:5px 11px;}

  /* ---------------- POR QUÉ (value props) ---------------- */
  .porque{padding:96px 0;color:#fff;overflow:hidden;
    background:radial-gradient(60% 50% at 10% 0%, rgba(176,106,51,.13) 0%, transparent 55%),
      linear-gradient(180deg, var(--carbon-800) 0%, var(--carbon) 60%, var(--carbon-800) 100%);}
  .porque::before{content:"";position:absolute;inset:0;opacity:.45;pointer-events:none;background-image:radial-gradient(rgba(255,255,255,.05) 1px,transparent 1px);background-size:24px 24px;}
  .porque .head-c{position:relative;text-align:center;max-width:680px;margin:0 auto 48px;}
  .porque .head-c .sec-eyebrow{color:var(--cobre-claro);}
  .porque .head-c .sec-title{color:#fff;}
  .porque .head-c p{font-size:15px;color:rgba(255,255,255,.78);margin-top:14px;line-height:1.6;}
  .vp-grid{position:relative;display:grid;grid-template-columns:repeat(2,1fr);gap:18px;max-width:920px;margin:0 auto;}
  .vp{background:var(--carbon-700);border:1px solid var(--carbon-line);border-radius:16px;padding:28px 28px;}
  .vp .ico{width:48px;height:48px;border-radius:13px;background:rgba(176,106,51,.15);border:1px solid rgba(176,106,51,.32);display:flex;align-items:center;justify-content:center;margin-bottom:16px;}
  .vp .ico svg{width:25px;height:25px;color:var(--cobre-claro);stroke:var(--cobre-claro);}
  .vp h3{font-family:var(--serif);font-weight:700;font-size:20px;color:#fff;margin-bottom:9px;}
  .vp p{font-size:14px;color:rgba(255,255,255,.78);line-height:1.62;}

  /* ---------------- PROYECTOS ---------------- */
  .proyectos{padding:96px 0;background:var(--crema);}
  .proyectos .head-c{text-align:center;max-width:680px;margin:0 auto 44px;}
  .proyectos .head-c p{font-size:15.5px;color:var(--tinta-soft);margin-top:14px;line-height:1.65;}
  .gal{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
  .gal .it{position:relative;border-radius:14px;overflow:hidden;aspect-ratio:4/3;cursor:default;box-shadow:0 10px 30px rgba(32,36,44,.08);}
  .gal .it img{width:100%;height:100%;object-fit:cover;transition:transform .6s;}
  .gal .it:hover img{transform:scale(1.08);}
  .gal .it .cap{position:absolute;left:0;right:0;bottom:0;padding:34px 16px 14px;color:#fff;font-size:13px;font-weight:600;letter-spacing:.2px;background:linear-gradient(180deg,transparent,rgba(20,24,30,.82));z-index:2;}
  .gal .it .cap .k{display:block;font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:var(--cobre-claro);font-weight:700;margin-bottom:3px;}

  /* ---------------- CONTACTO ---------------- */
  .contacto{padding:96px 0;color:#fff;overflow:hidden;
    background:radial-gradient(70% 80% at 50% -20%, rgba(176,106,51,.16) 0%, transparent 55%), linear-gradient(160deg, var(--carbon-900), var(--carbon) 60%);}
  .contacto .bgvideo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;pointer-events:none;}
  .contacto .veil{position:absolute;inset:0;z-index:1;pointer-events:none;
    background:radial-gradient(70% 80% at 50% -20%, rgba(176,106,51,.20) 0%, transparent 55%), linear-gradient(160deg, rgba(15,18,24,.86), rgba(26,30,37,.82) 60%);}
  .contacto .inner{position:relative;text-align:center;max-width:680px;margin:0 auto;z-index:2;}
  .contacto .sec-eyebrow{color:var(--cobre-claro);}
  .contacto h2{font-family:var(--serif);font-weight:700;font-size:40px;line-height:1.15;color:#fff;}
  .contacto h2 em{font-style:italic;color:var(--cobre-claro);}
  .contacto p{font-size:16px;color:rgba(255,255,255,.82);margin-top:16px;line-height:1.65;}
  .contacto .methods{margin-top:30px;display:flex;justify-content:center;gap:12px;flex-wrap:wrap;}
  .contacto .m{display:flex;align-items:center;gap:9px;font-size:14px;color:rgba(255,255,255,.92);background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:30px;padding:11px 20px;transition:background .2s,border-color .2s;}
  .contacto a.m:hover{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.28);}
  .contacto .m svg{width:17px;height:17px;color:var(--cobre-claro);stroke:var(--cobre-claro);flex:0 0 auto;}
  .contacto .big-cta{margin-top:34px;}

  /* ---------------- DOCK ---------------- */
  .dock{position:fixed;left:0;right:0;bottom:0;z-index:80;
    background:linear-gradient(180deg, #2a3140 0%, var(--carbon) 55%, var(--carbon-900) 100%);
    border-top:1px solid rgba(176,106,51,.4);
    box-shadow:0 -6px 20px rgba(15,18,24,.4);
    display:flex;justify-content:space-around;align-items:stretch;
    padding:8px 6px calc(8px + env(safe-area-inset-bottom)) 6px;}
  .dock::before{content:"";position:absolute;top:-1px;left:0;right:0;height:3px;
    background:linear-gradient(90deg,var(--cobre) 0%,var(--cobre) 70%,var(--acero) 70%,var(--acero) 100%);}
  .dock a{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;
    color:rgba(255,255,255,.82);font-size:10px;font-weight:600;letter-spacing:.2px;
    padding:5px 2px;border:none;background:none;cursor:pointer;font-family:var(--sans);
    transition:color .18s ease;-webkit-tap-highlight-color:transparent;}
  .dock a svg{width:23px;height:23px;stroke:var(--cobre-claro);transition:stroke .18s ease;}
  .dock a:hover{color:#fff;}
  .dock a:hover svg{stroke:var(--cobre-bright);}
  .dock a.dock-cta{color:#fff;}

  /* ---------------- FOOTER ---------------- */
  .footer{background:var(--carbon-900);color:rgba(255,255,255,.62);padding:54px 0 30px;}
  .footer .top{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap;align-items:flex-start;padding-bottom:30px;border-bottom:1px solid rgba(255,255,255,.08);}
  .footer .logo{height:62px;margin-bottom:16px;}
  .footer .tagline{font-size:13px;max-width:320px;line-height:1.6;}
  .footer .fcols{display:flex;gap:60px;flex-wrap:wrap;}
  .footer .fcol h4{color:#fff;font-size:12px;letter-spacing:1.5px;text-transform:uppercase;font-weight:700;margin-bottom:14px;}
  .footer .fcol a,.footer .fcol .li{display:block;font-size:13.5px;color:rgba(255,255,255,.65);padding:5px 0;transition:color .2s;}
  .footer .fcol a:hover{color:var(--cobre-claro);}
  .footer .legal{padding-top:24px;font-size:10.5px;color:rgba(255,255,255,.4);line-height:1.6;}
  .footer .copy{margin-top:16px;font-size:11.5px;color:rgba(255,255,255,.5);}

  /* ===== Botón flotante de WhatsApp ===== */
  .wa-float{position:fixed;right:22px;bottom:90px;z-index:85;width:62px;height:62px;border-radius:50%;
    background:linear-gradient(145deg,#25D366 0%,#1ebe5a 60%,#12a850 100%);
    display:flex;align-items:center;justify-content:center;cursor:pointer;text-decoration:none;
    box-shadow:0 8px 24px rgba(18,168,80,.45), 0 2px 6px rgba(0,0,0,.2);
    border:none;opacity:0;transform:scale(.4) translateY(14px);
    animation:waIn .6s cubic-bezier(.2,1.3,.4,1) .8s forwards;
    transition:transform .25s ease, box-shadow .25s ease;}
  .wa-float:hover{transform:scale(1.08);box-shadow:0 12px 32px rgba(18,168,80,.6), 0 3px 8px rgba(0,0,0,.25);}
  .wa-float:active{transform:scale(.96);}
  .wa-float svg{width:34px;height:34px;fill:#fff;position:relative;z-index:3;}
  @keyframes waIn{to{opacity:1;transform:scale(1) translateY(0);}}
  .wa-float::before,.wa-float::after{content:"";position:absolute;inset:0;border-radius:50%;background:rgba(37,211,102,.55);z-index:1;}
  .wa-float::before{animation:waPulse 2.4s cubic-bezier(.4,0,.2,1) infinite;}
  .wa-float::after{animation:waPulse 2.4s cubic-bezier(.4,0,.2,1) infinite 1.2s;}
  @keyframes waPulse{0%{transform:scale(1);opacity:.7;}70%{opacity:0;}100%{transform:scale(2.1);opacity:0;}}
  .wa-float .wa-badge{position:absolute;top:-4px;right:-4px;min-width:22px;height:22px;padding:0 6px;
    background:linear-gradient(145deg,#ff4d4f,#E31E23);color:#fff;border-radius:11px;
    font-family:var(--sans);font-size:12px;font-weight:800;line-height:22px;text-align:center;
    border:2px solid #fff;box-shadow:0 2px 6px rgba(227,30,35,.5);z-index:4;opacity:0;transform:scale(0);}
  .wa-float .wa-badge.show{animation:badgePop .5s cubic-bezier(.2,1.5,.4,1) forwards, badgeBeat 1.4s ease-in-out .6s infinite;}
  @keyframes badgePop{0%{opacity:0;transform:scale(0) rotate(-30deg);}100%{opacity:1;transform:scale(1) rotate(0);}}
  @keyframes badgeBeat{0%,100%{transform:scale(1);}25%{transform:scale(1.18);}40%{transform:scale(1);}}
  @media (max-width:480px){.wa-float{right:16px;bottom:84px;width:56px;height:56px;}.wa-float svg{width:30px;height:30px;}}

  /* ===== Botón sticky lateral "Contáctenos" ===== */
  .ctab{position:fixed;right:0;top:50%;transform:translateY(-50%);z-index:70;
    background:linear-gradient(145deg,var(--cobre-bright),var(--cobre) 60%,var(--cobre-osc));color:#fff;
    font-weight:800;font-size:13px;letter-spacing:.5px;padding:18px 11px;border-radius:12px 0 0 12px;
    cursor:pointer;writing-mode:vertical-rl;text-orientation:mixed;
    box-shadow:-6px 6px 22px rgba(20,24,30,.32);border:none;display:flex;align-items:center;gap:9px;
    transition:padding .2s,filter .2s;}
  .ctab:hover{padding-right:15px;filter:brightness(1.06);}
  .ctab .dot{writing-mode:horizontal-tb;width:8px;height:8px;border-radius:50%;background:#fff;}
  @media (max-width:480px){.ctab{display:none;}}

  /* ===== Panel de contacto ===== */
  .overlay{position:fixed;inset:0;background:rgba(15,18,24,.6);backdrop-filter:blur(3px);z-index:90;opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s;}
  .overlay.open{opacity:1;visibility:visible;}
  .panel{position:fixed;top:0;right:0;height:100%;width:430px;max-width:92vw;z-index:95;background:
      radial-gradient(80% 40% at 100% 0%, rgba(176,106,51,.16) 0%, transparent 55%),
      linear-gradient(160deg, var(--carbon-900), var(--carbon) 60%);
    color:#fff;transform:translateX(100%);transition:transform .4s cubic-bezier(.3,.8,.3,1);overflow-y:auto;box-shadow:-20px 0 60px rgba(0,0,0,.4);}
  .panel.open{transform:none;}
  .panel .ph{padding:26px 30px 0;display:flex;align-items:flex-start;justify-content:space-between;}
  .panel .ph .logo{height:46px;}
  .panel .close{background:rgba(255,255,255,.1);border:none;color:#fff;width:34px;height:34px;border-radius:8px;font-size:17px;cursor:pointer;line-height:1;transition:background .2s;}
  .panel .close:hover{background:rgba(255,255,255,.2);}
  .panel .pbody{padding:18px 30px 36px;}
  .panel .pbody h3{font-family:var(--serif);font-weight:700;font-size:25px;line-height:1.2;margin-bottom:8px;}
  .panel .pbody h3 em{font-style:italic;color:var(--cobre-claro);}
  .panel .pbody .psub{font-size:13.5px;color:rgba(255,255,255,.72);line-height:1.55;margin-bottom:22px;}
  .field{margin-bottom:15px;}
  .field label{display:block;font-size:11.5px;letter-spacing:.4px;color:rgba(255,255,255,.7);font-weight:600;margin-bottom:6px;}
  .field input,.field select,.field textarea{width:100%;background:rgba(255,255,255,.96);border:1px solid rgba(255,255,255,.3);border-radius:10px;padding:12px 13px;font-size:14px;font-family:var(--sans);color:var(--tinta);outline:none;transition:box-shadow .2s,border-color .2s;}
  .field input:focus,.field select:focus,.field textarea:focus{border-color:var(--cobre);box-shadow:0 0 0 3px rgba(176,106,51,.28);}
  .field textarea{resize:vertical;min-height:74px;}
  .panel .submit{width:100%;background:linear-gradient(145deg,var(--cobre-bright),var(--cobre) 60%,var(--cobre-osc));color:#fff;font-weight:800;font-size:15px;padding:15px;border:none;border-radius:30px;cursor:pointer;letter-spacing:.3px;margin-top:6px;box-shadow:0 12px 30px rgba(176,106,51,.3);transition:transform .2s,filter .2s;}
  .panel .submit:hover{transform:translateY(-2px);filter:brightness(1.06);}
  .panel .pnote{font-size:10.5px;color:rgba(255,255,255,.5);line-height:1.5;margin-top:14px;text-align:center;}
  .thanks{display:none;text-align:center;padding:30px 0;}
  .thanks.show{display:block;}
  .thanks .check{width:64px;height:64px;border-radius:50%;background:rgba(176,106,51,.16);border:2px solid var(--cobre);display:flex;align-items:center;justify-content:center;margin:0 auto 18px;}
  .thanks h3{font-family:var(--serif);font-weight:700;font-size:24px;margin-bottom:10px;}
  .thanks p{font-size:14px;color:rgba(255,255,255,.78);line-height:1.6;}

  /* ---------------- RESPONSIVE ---------------- */
  @media (max-width:1024px){ .serv-grid{grid-template-columns:1fr 1fr;} }
  @media (max-width:900px){
    .nav .links{display:none;}
    .burger{display:flex;}
    .hero h1{font-size:40px;}
    .strip .grid{grid-template-columns:1fr 1fr;}
    .strip .s:nth-child(2){border-right:none;}
    .nosotros .cols{grid-template-columns:1fr;gap:38px;}
    .serv-grid{grid-template-columns:1fr;}
    .vp-grid{grid-template-columns:1fr;}
    .gal{grid-template-columns:1fr 1fr;}
    .sec-title,.contacto h2{font-size:30px;}
    .footer .top{flex-direction:column;}
  }
  @media (max-width:480px){
    .wrap{padding:0 20px;}
    .hero{padding:130px 0 76px;}
    .hero h1{font-size:33px;}
    .gal{grid-template-columns:1fr;}
    .panel{width:100%;}
  }
