
@font-face{font-family:"Space Grotesk";src:url(../fonts/space-grotesk.woff2) format("woff2");font-style:normal;font-weight:400 700;font-display:swap}
@font-face{font-family:"Manrope";src:url(../fonts/manrope.woff2) format("woff2");font-style:normal;font-weight:400 700;font-display:swap}
    
    :root {
      --bg: oklch(0% 0 0);   
      --surface: oklch(17% 0 0);   
      --fg: oklch(98% 0 0);   
      --muted: oklch(73% 0 0);   
      --border: oklch(32% 0 0);   
      --accent: oklch(80.9888% 0.12356 91.5381);   

      
      --accent-soft: color-mix(in oklch, var(--accent) 14%, transparent);
      --fg-soft:     color-mix(in oklch, var(--fg) 6%, transparent);

      
      --font-display: 'Space Grotesk', 'Helvetica Neue', sans-serif;
      --font-body: 'Manrope', 'Helvetica Neue', sans-serif;
      --font-mono:    ui-monospace, 'JetBrains Mono', 'SF Mono', Menlo, monospace;

      
      --fs-h1: clamp(44px, 6vw, 76px);
      --fs-h2: clamp(32px, 4vw, 48px);
      --fs-h3: 22px;
      --fs-lead: 19px;
      --fs-body: 16px;
      --fs-meta: 13px;

      
      --gap-xs: 8px;
      --gap-sm: 12px;
      --gap-md: 20px;
      --gap-lg: 32px;
      --gap-xl: 56px;
      --gap-2xl: 96px;
      --container: 1440px;
      --gutter: clamp(24px, 5vw, 80px);

      --radius: 0px;
      --radius-lg: 0px;
    }

    
    *, *::before, *::after { box-sizing: border-box; }
    html { -webkit-text-size-adjust: 100%; }
    body {
      margin: 0;
      background: var(--bg);
      color: var(--fg);
      font-family: var(--font-body);
      font-size: var(--fs-body);
      line-height: 1.55;
      text-rendering: optimizeLegibility;
      -webkit-font-smoothing: antialiased;
    }
    img, svg { display: block; max-width: 100%; }
    a { color: inherit; text-decoration: none; }
    button { font: inherit; cursor: pointer; }
    p { text-wrap: pretty; }
    h1, h2, h3, h4 { text-wrap: balance; }

    
    .container {
      max-width: var(--container);
      margin-inline: auto;
      padding-inline: var(--gutter);
    }
    .section {
      padding-block: clamp(48px, 8vw, var(--gap-2xl));
    }
    .section + .section { border-top: 1px solid var(--border); }
    .stack { display: flex; flex-direction: column; }
    .stack > * + * { margin-top: var(--gap-md); }
    .row { display: flex; align-items: center; gap: var(--gap-md); }
    .row-between { display: flex; align-items: center; justify-content: space-between; gap: var(--gap-md); }
    .grid-2 { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--gap-lg); }
    .grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--gap-lg); }
    .grid-4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--gap-md); }
    .grid-2-1 { display: grid; grid-template-columns: 2fr 1fr; gap: var(--gap-xl); align-items: start; }
    .grid-1-2 { display: grid; grid-template-columns: 1fr 2fr; gap: var(--gap-xl); align-items: start; }
    @media (max-width: 920px) {
      .grid-2, .grid-3, .grid-4, .grid-2-1, .grid-1-2 { grid-template-columns: 1fr; }
    }

    
    .h1, h1 { font-family: var(--font-display); font-size: var(--fs-h1); line-height: 1.04; letter-spacing: -0.02em; margin: 0; }
    .h2, h2 { font-family: var(--font-display); font-size: var(--fs-h2); line-height: 1.1; letter-spacing: -0.015em; margin: 0; }
    .h3, h3 { font-size: var(--fs-h3); font-weight: 600; line-height: 1.3; letter-spacing: -0.005em; margin: 0; }
    .lead   { font-size: var(--fs-lead); line-height: 1.55; color: var(--muted); max-width: 60ch; margin: 0; }
    .eyebrow {
      font-family: var(--font-mono);
      font-size: 12px;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      color: var(--accent);
      margin: 0 0 var(--gap-md);
    }
    .meta { font-family: var(--font-mono); font-size: var(--fs-meta); color: var(--muted); }
    .num  { font-family: var(--font-mono); font-variant-numeric: tabular-nums; }

    
    .topnav {
      position: sticky; top: 0; z-index: 10;
      background: color-mix(in oklch, var(--bg) 92%, transparent);
      backdrop-filter: blur(12px);
      border-bottom: 1px solid var(--border);
    }
    .topnav-inner { display: flex; align-items: center; justify-content: space-between; padding-block: 14px; }
    .topnav .logo { font-family: var(--font-display); font-size: 19px; font-weight: 600; letter-spacing: -0.01em; }
    .topnav nav { display: flex; gap: var(--gap-lg); }
    .topnav nav a { font-size: 14px; color: var(--muted); }
    .topnav nav a:hover { color: var(--fg); }
    .pagefoot { padding-block: var(--gap-xl); color: var(--muted); font-size: 13px; border-top: 1px solid var(--border); }
    .pagefoot .row-between { flex-wrap: wrap; gap: var(--gap-md); }

    
    .btn {
      display: inline-flex; align-items: center; gap: 8px;
      padding: 11px 20px;
      border-radius: var(--radius);
      border: 1px solid transparent;
      font-size: 15px;
      font-weight: 500;
      letter-spacing: -0.005em;
      transition: transform 0.05s ease, background 0.15s ease, border-color 0.15s ease;
    }
    .btn:active { transform: translateY(1px); }
    .btn-primary { background: var(--accent); color: var(--surface); border-color: var(--accent); }
    .btn-primary:hover { background: color-mix(in oklch, var(--accent) 88%, black); }
    .btn-secondary { background: transparent; color: var(--fg); border-color: var(--border); }
    .btn-secondary:hover { border-color: var(--fg); }
    .btn-ghost { background: transparent; color: var(--fg); border-color: transparent; padding-inline: 8px; }
    .btn-ghost:hover { color: var(--accent); }
    .btn-arrow::after { content: '→'; transition: transform 0.15s ease; }
    .btn-arrow:hover::after { transform: translateX(2px); }

    
    .card {
      background: var(--surface);
      border: 1px solid var(--border);
      border-radius: var(--radius-lg);
      padding: 28px;
    }
    .card-flat { background: transparent; border: 0; padding: 0; }
    .card-rule { background: transparent; border: 0; border-top: 1px solid var(--fg); padding: 24px 0 0; border-radius: 0; }

    
    .feature .feature-mark {
      width: 36px; height: 36px;
      display: grid; place-items: center;
      border: 1px solid var(--border);
      border-radius: 10px;
      color: var(--accent);
      margin-bottom: var(--gap-md);
    }
    .feature .feature-mark svg { width: 18px; height: 18px; }
    .feature h3 { margin-bottom: 6px; }
    .feature p  { margin: 0; color: var(--muted); font-size: 15px; }

    
    .stat .stat-num {
      font-family: var(--font-display);
      font-size: clamp(56px, 8vw, 96px);
      line-height: 0.95;
      letter-spacing: -0.04em;
      color: var(--accent);
      font-weight: 600;
    }
    .stat .stat-label { color: var(--muted); font-size: 14px; margin-top: 8px; max-width: 24ch; }
    .stat .stat-unit  { font-size: 0.5em; opacity: 0.7; margin-left: 2px; }

    
    .quote {
      font-family: var(--font-display);
      font-size: clamp(24px, 2.6vw, 32px);
      line-height: 1.32;
      letter-spacing: -0.01em;
      max-width: 28ch;
    }
    .quote-author { color: var(--muted); font-size: 14px; margin-top: var(--gap-md); }
    .quote-mark   {
      font-family: var(--font-display);
      font-size: 140px; line-height: 0.7;
      color: var(--accent); opacity: 0.18;
      margin-bottom: -28px;
    }

    
    .pill {
      display: inline-flex; align-items: center; gap: 6px;
      padding: 4px 10px;
      background: var(--accent-soft);
      color: var(--accent);
      border-radius: 999px;
      font-family: var(--font-mono);
      font-size: 11px;
      letter-spacing: 0.04em;
      text-transform: uppercase;
    }
    .tag {
      display: inline-flex; align-items: center;
      padding: 4px 10px;
      background: transparent;
      color: var(--muted);
      border: 1px solid var(--border);
      border-radius: 999px;
      font-size: 12px;
    }

    
    .field { display: flex; flex-direction: column; gap: 6px; }
    .field label { font-size: 13px; color: var(--muted); }
    .input, .textarea {
      width: 100%;
      padding: 11px 14px;
      border: 1px solid var(--border);
      border-radius: var(--radius);
      background: var(--surface);
      color: var(--fg);
      font: inherit;
      font-size: 15px;
    }
    .input:focus, .textarea:focus {
      outline: 2px solid var(--accent-soft);
      border-color: var(--accent);
    }
    .textarea { min-height: 96px; resize: vertical; line-height: 1.55; }

    
    .ds-table { width: 100%; border-collapse: collapse; font-size: 14px; }
    .ds-table th, .ds-table td { padding: 12px 14px; text-align: left; border-bottom: 1px solid var(--border); }
    .ds-table th { color: var(--muted); font-weight: 500; font-family: var(--font-mono); font-size: 12px; letter-spacing: 0.04em; text-transform: uppercase; }
    .ds-table tbody tr:hover { background: var(--fg-soft); }
    .ds-table .num-col { font-family: var(--font-mono); font-variant-numeric: tabular-nums; text-align: right; }

    
    .ph-img {
      background:
        linear-gradient(135deg, var(--accent-soft), var(--fg-soft)),
        var(--surface);
      border: 1px solid var(--border);
      border-radius: var(--radius-lg);
      aspect-ratio: 16 / 10;
      display: grid; place-items: center;
      color: var(--muted);
      font-family: var(--font-mono);
      font-size: 12px;
      letter-spacing: 0.04em;
    }
    .ph-img.square    { aspect-ratio: 1 / 1; }
    .ph-img.portrait  { aspect-ratio: 3 / 4; }
    .ph-img.wide      { aspect-ratio: 16 / 9; }

    
    .rule  { border: 0; border-top: 1px solid var(--border); margin: 0; }
    .rule-strong { border: 0; border-top: 1px solid var(--fg); margin: 0; }

    
    .hero          { padding-block: clamp(80px, 12vw, 160px); }
    .hero-center   { text-align: center; max-width: 32ch; margin-inline: auto; }
    .hero h1       { margin-bottom: var(--gap-md); }
    .hero .lead    { margin-bottom: var(--gap-lg); }
    .hero-cta      { display: inline-flex; gap: var(--gap-sm); flex-wrap: wrap; }
    .hero-center .hero-cta { justify-content: center; }
    .hero-split    { display: grid; grid-template-columns: 1fr 1fr; gap: var(--gap-2xl); align-items: center; }
    @media (max-width: 920px) { .hero-split { grid-template-columns: 1fr; } }

    
    .log-row { display: grid; grid-template-columns: 120px 1fr 100px; gap: var(--gap-lg); padding: 22px 0; border-top: 1px solid var(--border); align-items: baseline; }
    .log-row .meta { color: var(--muted); }
    .log-row h3 { font-size: 19px; }
    .log-row .pull { text-align: right; }
  
    h1,h2,h3,h4{font-family:var(--font-display);font-weight:400}
    :focus-visible{outline:2px solid var(--accent);outline-offset:5px}
    a,button,input,select,textarea{touch-action:manipulation}
    a:hover{text-decoration:underline;text-underline-offset:6px}
    .btn:hover{text-decoration:none}
    .btn-primary{color:var(--bg);font-size:13px;padding:16px 24px;letter-spacing:.01em}
    .btn-primary:hover{background:oklch(from var(--accent) calc(l + .08) c h);color:var(--bg)}
    .btn-ghost:hover{color:var(--fg);border-color:var(--fg)}
    .btn-secondary:hover{background:var(--fg);color:var(--bg)}
    .topnav{position:relative;background:var(--bg)}
    .topnav-inner{min-height:100px;gap:32px}
    .topnav .logo{display:flex;align-items:center;gap:13px;font-weight:400;letter-spacing:.18em;font-size:20px;line-height:1.3}
    .logo img{width:44px;height:54px;object-fit:cover;filter:invert(1)}
    .logo small{display:block;font-family:var(--font-body);font-size:8px;text-align:center;letter-spacing:.55em;padding-top:4px}
    .topnav nav{gap:28px}
    .topnav nav a{color:var(--fg);min-height:44px;display:flex;align-items:center;font-size:12px}
    .topnav-inner>.btn{font-size:12px;padding:12px 0;border-bottom:1px solid var(--border)}
    .eyebrow{color:var(--muted);font-size:10px;letter-spacing:.17em}
    #inicio{padding:70px 0 0}
    #inicio .hero-split{grid-template-columns:1.1fr 1fr;gap:40px}
    #inicio h1{font-size:clamp(50px,6.1vw,88px);line-height:1.03;letter-spacing:-.045em;max-width:none}
    #inicio h1 em{font-weight:400}
    #inicio .lead{font-size:15px;max-width:40ch;line-height:1.8;margin-top:28px}
    #inicio .ph-img{background:var(--bg);border:0;aspect-ratio:1;position:relative}
    #inicio .ph-img img{width:100%;height:100%;object-fit:contain;clip-path:inset(3px)}
    .hero-note{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;padding:35px 0 28px;margin-top:56px;border-top:1px solid var(--border);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
    .hero-note a{min-height:44px;display:flex;align-items:center;color:var(--fg)}
    .hero-note span{display:flex;align-items:center}
    #servicios{background:var(--fg);color:var(--bg);padding-block:90px}
    #servicios .eyebrow,#servicios .lead,#servicios .meta,#servicios .feature p{color:oklch(43% 0 0)}
    #servicios .row-between{align-items:flex-end;gap:40px;margin-bottom:64px}
    #servicios h2{max-width:17ch;font-size:clamp(35px,4.2vw,59px)}
    #servicios .row-between>p{max-width:32ch;font-size:14px;line-height:1.8}
    #servicios .feature{border-top:1px solid color-mix(in oklch,var(--bg) 25%,var(--fg));padding-top:24px;display:flex;flex-direction:column}
    #servicios .feature h3{font-size:31px;margin:32px 0 15px}
    #servicios .feature p{line-height:1.8;font-size:14px}
    #servicios details{margin-top:auto;padding-top:26px}
    #servicios summary{cursor:pointer;min-height:44px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid color-mix(in oklch,var(--bg) 20%,var(--fg));font-size:12px;list-style:none}
    summary::-webkit-details-marker{display:none}
    #servicios summary:after{content:'+';font-size:22px;font-weight:300}
    #servicios details[open] summary:after{content:'−'}
    #servicios summary:hover{background:color-mix(in oklch,var(--bg) 7%,var(--fg));color:var(--bg)}
    #servicios :focus-visible{outline-color:var(--bg)}
    #servicios details ul{padding-left:18px;font-size:13px;line-height:1.9}
    #estudio .grid-1-2{grid-template-columns:1fr 1.6fr;gap:80px}
    #estudio h2{font-size:clamp(36px,4.7vw,64px);max-width:19ch}
    #estudio .lead{font-size:15px;line-height:1.9;max-width:54ch;margin-top:30px}
    #estudio .meta{font-size:10px;letter-spacing:.1em}
    #proceso{padding-top:0;border-top:0}
    #proceso .row-between{margin-bottom:40px}
    #proceso .log-row{grid-template-columns:100px 1fr 1fr;gap:32px;padding-block:28px;align-items:start}
    #proceso h3{font-size:27px}
    #proceso .log-row p{margin:0;font-size:14px;color:var(--muted);line-height:1.8}
    #consulta{background:var(--surface)}
    #consulta .grid-2{gap:90px;align-items:start}
    #consulta h2{font-size:clamp(40px,4.8vw,65px);max-width:14ch}
    #consulta .lead{font-size:15px;line-height:1.85;margin:24px 0 36px;max-width:35ch}
    #consulta form .grid-2{gap:20px}
    .field{margin-bottom:22px}
    .field label{font-size:12px;color:var(--fg)}
    .input,.textarea{border-width:0 0 1px;padding:12px 0;background:transparent;border-color:var(--muted);min-height:46px}
    .input:hover,.textarea:hover{border-color:var(--fg)}
    .input::placeholder,.textarea::placeholder{color:var(--muted)}
    .input:focus,.textarea:focus{outline:2px solid var(--accent);outline-offset:4px;border-color:var(--fg)}
    select.input{background:var(--surface);color:var(--fg)}
    .consent{display:flex;gap:12px;align-items:flex-start;font-size:12px;color:var(--muted);padding-block:10px;min-height:44px;margin-bottom:20px}
    .consent input{min-width:20px;height:20px;accent-color:var(--accent);margin:0}
    .form-note{font-size:11px;line-height:1.7;color:var(--muted);margin:16px 0 0}
    #form-result{margin-top:24px;padding:20px;border:1px solid var(--muted)}
    #form-result h3{font-size:25px;margin-bottom:12px}
    #form-result p{font-size:13px;color:var(--muted)}
    #form-result a{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline}
    .pagefoot{padding-block:32px}
    .pagefoot .meta{font-size:10px}
    .pagefoot a{display:inline-flex;align-items:center;min-height:44px;font-size:11px}
    #menu-button{display:none}
    @media(min-width:1600px){#inicio{padding-top:100px}}
    @media(max-width:920px){
      .topnav-inner{min-height:84px;flex-wrap:wrap;gap:12px}
      .topnav-inner>.btn{display:none}
      #menu-button{display:inline-flex;color:var(--fg);border-color:var(--border);min-height:44px}
      .topnav nav{display:none;width:100%;flex-direction:column;gap:0;border-top:1px solid var(--border);padding-top:10px}
      .topnav nav[data-open=true]{display:flex}
      #inicio{padding-top:48px}
      #inicio .hero-split{grid-template-columns:1fr;gap:8px}
      #inicio h1{max-width:none;font-size:clamp(42px,10vw,80px)}
      #inicio .ph-img{max-width:430px;width:100%;margin-inline:auto}
      .hero-note{margin-top:20px;padding-top:20px}
      #servicios .row-between{align-items:start;flex-direction:column;gap:20px;margin-bottom:40px}
      #servicios .grid-3{gap:36px}
      #servicios .feature h3{margin-top:18px}
      #estudio .grid-1-2,#consulta .grid-2{grid-template-columns:1fr;gap:36px}
      #proceso .log-row{grid-template-columns:44px 1fr;gap:14px}
      #proceso .log-row p{grid-column:2}
      #proceso .row-between{align-items:start;flex-direction:column;gap:12px}
      #consulta form .grid-2{gap:0}
    }
    @media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* Galerías editoriales · extensión de la plantilla */
[hidden]{display:none!important}
#inicio{position:relative;padding:0;isolation:isolate;min-height:720px;display:flex;flex-direction:column;justify-content:center}
#inicio .hero-split{display:block;width:100%;padding-top:88px;padding-bottom:130px}
#inicio .hero-split>div:first-child{max-width:650px}
#inicio h1{font-size:clamp(56px,6.7vw,96px);max-width:12ch;line-height:1.03}
#inicio .lead,#inicio .eyebrow{color:var(--fg)}
#inicio .hero-note{margin:0;border-color:color-mix(in oklch,var(--fg) 35%,transparent);color:var(--fg);padding:18px 0;align-items:center}
#inicio>.container:last-child{width:100%;position:absolute;bottom:0;left:50%;transform:translateX(-50%)}
.hero-picture{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:center 58%;animation:photo-enter 1s ease-out}
#inicio:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,color-mix(in oklch,var(--bg) 88%,transparent),color-mix(in oklch,var(--bg) 50%,transparent) 56%,color-mix(in oklch,var(--bg) 20%,transparent))}
.photo-controls{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.circle-button{width:46px;height:46px;display:inline-grid;place-items:center;border:1px solid var(--muted);background:var(--bg);color:var(--fg);border-radius:50%;font-size:20px;flex-shrink:0}
.circle-button:hover{background:var(--fg);color:var(--bg);border-color:var(--fg)}
#hero-count{font-family:var(--font-mono);font-size:11px;min-width:50px;text-align:center}
.gallery-heading{display:flex;justify-content:space-between;align-items:end;gap:32px;margin-bottom:36px}
.gallery-heading h2{font-size:clamp(36px,4.4vw,62px);max-width:18ch}
.gallery-heading .lead{font-size:14px;max-width:34ch}
.demo-note{font-size:11px;line-height:1.7;color:var(--muted);margin:18px 0 0}
.filters{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:30px}
.filter{min-height:44px;padding:10px 18px;border:1px solid var(--border);background:transparent;color:var(--fg);font-size:12px}
.filter:hover{border-color:var(--fg);background:var(--surface);color:var(--fg)}
.filter[aria-pressed=true]{background:var(--fg);color:var(--bg);border-color:var(--fg)}
.project-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:30px}
.project-card:first-child{grid-row:span 2}
.project-card{min-width:0}
.media-button{display:block;padding:0;border:0;background:var(--surface);color:var(--fg);width:100%;text-align:left}
.photo-frame{display:block;position:relative;overflow:hidden;aspect-ratio:16/9}
.project-card:first-child .photo-frame{aspect-ratio:4/5}
.photo-frame img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.3,1)}
.media-button:hover img,.media-button:focus-visible img{transform:scale(1.035)}
.photo-label{position:absolute;top:18px;left:18px;max-width:calc(100% - 36px);background:var(--bg);color:var(--fg);padding:7px 10px;font:10px var(--font-mono);letter-spacing:.08em;box-shadow:0 3px 16px color-mix(in oklch,var(--bg) 25%,transparent)}
.photo-caption{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:18px 0;background:var(--bg)}
.photo-caption h3{font-size:29px;margin-bottom:5px}
.photo-caption small{font-size:11px;color:var(--muted)}
.media-button:hover .photo-caption{text-decoration:underline;text-underline-offset:5px}
.media-button .photo-caption>span:last-child{font-size:24px;min-width:30px}
#propiedades{background:var(--surface)}
.property-card{position:relative;min-width:0}
.property-card .photo-caption{background:var(--surface)}
.property-card .photo-frame{aspect-ratio:4/3}
.property-card .photo-caption h3{font-size:26px}
.property-facts{font-size:11px;color:var(--muted);display:flex;flex-wrap:wrap;gap:8px 18px;padding:14px 0;border-top:1px solid var(--border);font-family:var(--font-mono)}
.property-price{font:23px var(--font-display);margin:6px 0}
.favorite{position:absolute;top:16px;right:16px;z-index:1;box-shadow:0 3px 16px color-mix(in oklch,var(--bg) 25%,transparent)}
.favorite svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5}
.favorite[aria-pressed=true]{background:var(--fg);color:var(--bg)}
.favorite[aria-pressed=true] svg{fill:currentColor}
.filter-select{margin-left:auto;display:flex;gap:12px;align-items:center;font-size:12px;flex-wrap:wrap}
.filter-select select{min-height:44px;background:var(--surface);color:var(--fg);padding:8px;border:1px solid var(--border);font:inherit;max-width:100%}
#property-count{font:11px var(--font-mono);color:var(--muted);margin:0 0 24px}
#testimonios .quote{font-size:clamp(28px,3.6vw,49px);max-width:28ch;margin:28px 0 32px;line-height:1.25}
#testimonios .grid-1-2{align-items:center}
#testimonios .quote-mark{font-size:110px;opacity:1;color:var(--accent);margin:0}
#testimonios .quote-author{font-size:13px;color:var(--fg)}
#testimonial-count{font:11px var(--font-mono);color:var(--muted)}
#detail-dialog{width:min(1080px,94vw);max-height:92dvh;padding:0;border:1px solid var(--border);background:var(--bg);color:var(--fg);overscroll-behavior:contain}
#detail-dialog::backdrop{background:color-mix(in oklch,var(--bg) 85%,transparent);backdrop-filter:blur(6px)}
.dialog-head{display:flex;align-items:center;justify-content:space-between;padding:14px 24px;gap:16px;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--bg);z-index:2}
.dialog-head .meta{font-size:10px}
.dialog-photo{width:100%;height:min(48vh,480px);object-fit:cover}
.dialog-content{padding:28px 32px 36px}
.dialog-content h2{margin:20px 0 14px}
.dialog-content p{max-width:65ch;font-size:14px;line-height:1.8;color:var(--muted)}
.dialog-content .row-between{flex-wrap:wrap}
#detail-facts{padding-block:18px;margin-bottom:18px;font:12px var(--font-mono);color:var(--muted);line-height:1.9}
@keyframes photo-enter{from{opacity:.4;transform:scale(1.025)}to{opacity:1;transform:scale(1)}}
@media(max-width:1100px){.topnav nav{gap:18px}.topnav-inner{gap:20px}.topnav-inner>.btn{display:none}}
@media(max-width:920px){
 #inicio{min-height:680px}#inicio .hero-split{padding-top:65px;padding-bottom:155px}#inicio h1{font-size:clamp(42px,8vw,70px)}
 #inicio .hero-note{gap:12px}.hero-note>span{font-size:9px;max-width:27ch;line-height:1.7}
 .gallery-heading{align-items:start;flex-direction:column;gap:20px}.project-grid{grid-template-columns:1fr}.project-card:first-child{grid-row:auto}.project-card:first-child .photo-frame{aspect-ratio:16/11}
 .project-card .photo-frame{aspect-ratio:16/11}.filter-select{margin-left:0;width:100%}.dialog-content{padding:20px}.dialog-head{padding:12px 16px}
 #testimonios .grid-1-2{gap:32px}.property-card .photo-frame{aspect-ratio:4/3}
}
@media(prefers-reduced-motion:reduce){.hero-picture{animation:none}.photo-frame img{transition:none}.media-button:hover img{transform:none}}


/* Dirección moderna · composición y movimiento */
h1,h2,h3,h4{font-weight:500;letter-spacing:-.055em}h2{line-height:1.06}.lead{font-weight:400}
.section{padding-block:clamp(64px,9vw,140px)}.section+.section{border-top:0}
.eyebrow{font-size:10px;letter-spacing:.12em;line-height:1.7}.meta{font-size:11px}
.topnav{border-bottom:1px solid var(--border)}.topnav-inner{min-height:88px}.topnav .logo{font-family:var(--font-display);font-size:17px;letter-spacing:.14em}.logo small{font-size:8px;letter-spacing:.45em}
.topnav nav a{position:relative}.topnav nav a:after{content:'';position:absolute;bottom:5px;left:0;width:100%;height:1px;background:var(--fg);transform:scaleX(0);transform-origin:left;transition:transform .3s}.topnav nav a:hover:after,.topnav nav a[aria-current=true]:after{transform:scaleX(1)}
.btn{font-family:var(--font-body);font-size:12px}.btn-primary{padding:17px 22px}.btn-arrow{justify-content:space-between;gap:28px}
#inicio{display:block;min-height:0;padding:0}#inicio:after{display:none}
#inicio .hero-intro{display:grid;grid-template-columns:minmax(0,1fr) 250px;align-items:end;gap:48px;padding-block:65px 58px}
#inicio h1{max-width:none;font-size:clamp(70px,8.2vw,128px);font-weight:500;line-height:.98;letter-spacing:-.075em;margin:28px 0 0}
#inicio h1>span{display:block}#inicio h1>span:last-child{margin-left:8vw}
#inicio .hero-aside{padding-bottom:5px}#inicio .hero-aside .eyebrow{color:var(--muted);line-height:1.9}
#inicio .lead{font-size:15px;line-height:1.6;color:var(--fg);margin:28px 0 26px}.gold-dot{color:var(--accent)}
.hero-window{position:relative;width:100%;height:clamp(320px,39vw,640px);overflow:hidden;background:var(--surface)}
.hero-window .hero-picture{position:absolute;inset:-20px 0;width:100%;height:calc(100% + 40px);object-fit:cover;object-position:center 56%;z-index:0;animation:none;will-change:transform;transition:opacity .3s}
.image-explore{position:absolute;bottom:28px;right:5vw;background:var(--bg);color:var(--fg);min-height:54px;padding:16px 23px;display:flex;gap:40px;font-size:12px;align-items:center}.image-explore:hover{background:var(--fg);color:var(--bg);text-decoration:none}
#inicio>.container:last-child{position:static;transform:none;width:100%}#inicio .hero-note{padding-block:18px;border-color:var(--border);font-size:10px;color:var(--muted)}
.circle-button{border-color:var(--border);transition:background .2s,color .2s,transform .2s}.circle-button:hover{transform:rotate(-8deg)}
#servicios{padding-block:100px}#servicios .row-between{margin-bottom:54px}#servicios h2{font-size:clamp(36px,4.2vw,62px);max-width:none}
#servicios .grid-3{display:block}#servicios .feature{display:grid;grid-template-columns:90px 1fr 1fr 210px;gap:30px;align-items:start;padding:32px 0;border-color:color-mix(in oklch,var(--bg) 25%,var(--fg));transition:padding .25s}
#servicios .feature:hover{padding-inline:10px}#servicios .feature>.meta{font-size:10px;max-width:10ch;padding-top:10px}#servicios .feature h3{font-size:clamp(25px,2.6vw,38px);margin:0}#servicios .feature>p{font-size:13px}#servicios details{padding:0;margin:0}#servicios summary{border:0;padding:0;font-size:11px}#servicios details a{min-height:44px;display:inline-flex;align-items:center;font-size:12px}
.gallery-heading{margin-bottom:48px;align-items:start}.gallery-heading h2{font-size:clamp(42px,5.6vw,80px);max-width:16ch}.gallery-heading .lead{padding-top:28px;font-size:13px;line-height:1.9;max-width:34ch}
.filters{gap:24px}.filter{border:0;border-bottom:1px solid transparent;padding:12px 0;background:transparent;min-width:50px}.filter[aria-pressed=true]{border-color:var(--fg);background:transparent;color:var(--fg)}.filter:hover{background:transparent;color:var(--fg);border-color:var(--fg)}
.project-grid{grid-template-columns:1.1fr 1fr;gap:80px 7vw;align-items:start}.project-card:first-child{grid-row:auto;grid-column:1/-1;width:83%}.project-card:first-child .photo-frame{aspect-ratio:16/9}.project-card:nth-child(2){grid-column:1;width:100%;margin-top:10px}.project-card:nth-child(3){grid-column:2;margin-top:160px}.project-card .photo-frame{aspect-ratio:4/5}.project-card .photo-caption span[style*="29px"]{font-size:23px!important;letter-spacing:-.04em}
.photo-label{font-size:8px;letter-spacing:.08em;padding:8px 10px;top:16px;left:16px}.photo-frame img{transition:transform 1s cubic-bezier(.18,.65,.3,1)}.media-button:hover img{transform:scale(1.05)}
.photo-caption{padding-top:20px}.media-button:hover .photo-caption{text-decoration:none}.media-button .photo-caption>span:last-child{transition:transform .3s}.media-button:hover .photo-caption>span:last-child{transform:translate(4px,-4px)}
#propiedades{background:var(--bg);border-top:1px solid var(--border)}#propiedades .grid-3{gap:26px}.property-card .photo-frame{aspect-ratio:3/4}.property-card .photo-caption{background:var(--bg)}.property-price{font-family:var(--font-display);font-size:22px;letter-spacing:-.045em}.property-facts{font-size:10px}.filter-select select{background:var(--bg)}
#estudio{background:var(--fg);color:var(--bg);padding-block:120px}#estudio .grid-1-2{grid-template-columns:1fr 2fr;gap:60px}#estudio h2{font-size:clamp(40px,5.5vw,78px);max-width:19ch}#estudio .lead,#estudio .meta,#estudio .eyebrow{color:color-mix(in oklch,var(--bg) 70%,var(--fg))}
#esencial h2{font-size:clamp(42px,5.1vw,72px)}.material-layout{gap:8vw;align-items:center}.material-tabs{margin:40px 0 28px}.material-tab{width:100%;display:flex;align-items:center;text-align:left;gap:25px;background:transparent;color:var(--fg);border:0;border-top:1px solid var(--border);min-height:76px;font:25px var(--font-display);padding:15px 0;transition:padding .3s}.material-tab>span:first-child{font:10px var(--font-mono);color:var(--muted)}.material-tab>span:last-child{margin-left:auto}.material-tab:hover,.material-tab[aria-pressed=true]{padding-inline:12px;background:var(--surface);color:var(--fg)}#material-copy{font-size:13px;line-height:1.9;min-height:100px}.material-figure{margin:0;min-width:0}.material-figure img{width:100%;aspect-ratio:4/5;object-fit:cover}.material-figure figcaption{font:9px var(--font-mono);color:var(--muted);margin-top:16px;line-height:1.7}
#transformacion{background:var(--surface)}.compare-frame{position:relative;aspect-ratio:3/2;width:100%;isolation:isolate;overflow:hidden;touch-action:pan-y}.compare-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.compare-before{clip-path:inset(0 calc(100% - var(--split)) 0 0)}.compare-label{position:absolute;top:24px;background:var(--bg);color:var(--fg);padding:10px 16px;font:10px var(--font-mono);z-index:2;box-shadow:0 3px 12px color-mix(in oklch,var(--bg) 30%,transparent)}.before-label{left:24px}.after-label{right:24px}
.compare-divider{position:absolute;left:var(--split);top:0;bottom:0;width:2px;background:var(--fg);transform:translateX(-1px);pointer-events:none;z-index:3}.compare-divider>span{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);border-radius:50%;width:60px;height:60px;background:var(--fg);color:var(--bg);display:grid;place-items:center;box-shadow:0 2px 16px color-mix(in oklch,var(--bg) 35%,transparent);font-size:19px}
#comparison-range{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;z-index:4;cursor:ew-resize;-webkit-appearance:none;appearance:none;background:transparent}#comparison-range::-webkit-slider-thumb{-webkit-appearance:none;width:1px;height:100%;background:transparent}#comparison-range::-moz-range-thumb{width:1px;height:100%;border:0;background:transparent}.compare-frame:focus-within{outline:3px solid var(--accent);outline-offset:6px}.compare-bottom{display:flex;justify-content:space-between;gap:20px;align-items:center;flex-wrap:wrap;margin-top:15px}.compare-presets{display:flex;gap:24px}.compare-bottom .meta{font-size:10px}.transform-notes{margin-top:45px;gap:36px}.transform-notes>div{border-top:1px solid var(--border);padding-top:20px}.transform-notes p{font-size:14px;max-width:24ch;margin-bottom:0}
#proceso .row-between{margin-bottom:40px}#proceso h2{font-size:clamp(36px,4vw,58px)}#proceso .log-row h3{font-size:25px}#testimonios .quote{font:500 clamp(26px,3.3vw,46px)/1.3 var(--font-display);letter-spacing:-.045em}#testimonios .quote-mark{font-size:80px}#testimonios h2{font-size:34px;letter-spacing:-.045em}
#consulta h2{font-size:clamp(48px,6vw,82px);max-width:12ch}#consulta .input,#consulta .textarea{font-family:var(--font-body)}
.pagefoot{padding-bottom:50px}.pagefoot:after{content:'VELMOUNT';display:block;font:500 clamp(44px,14vw,220px)/1 var(--font-display);letter-spacing:-.075em;color:var(--fg);text-align:center;margin:55px auto 0;width:90%;}
.reveal-arrived{animation:reveal-up .85s cubic-bezier(.22,.7,.3,1) both}@keyframes reveal-up{from{opacity:.15;transform:translateY(35px)}to{opacity:1;transform:translateY(0)}}
.hero-intro h1>span{animation:title-in .9s cubic-bezier(.22,.7,.3,1) both}.hero-intro h1>span:last-child{animation-delay:.12s}@keyframes title-in{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1100px){#servicios .feature{grid-template-columns:60px 1fr 1.2fr;gap:22px}#servicios details{grid-column:2/4}#inicio .hero-intro{grid-template-columns:1fr 210px;gap:24px}#inicio h1{font-size:8.2vw}.project-grid{gap:50px}.topnav nav{gap:14px}}
@media(max-width:920px){#inicio .hero-intro{grid-template-columns:1fr;padding-top:40px;padding-bottom:35px;gap:25px}#inicio h1{font-size:clamp(53px,10.2vw,90px);letter-spacing:-.065em}#inicio h1>span:last-child{margin-left:10vw}#inicio .hero-aside{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}#inicio .hero-aside .eyebrow{display:none}#inicio .hero-aside .lead{margin:0;font-size:13px}#inicio .hero-note{gap:15px}.hero-window{height:390px}.gallery-heading h2{font-size:clamp(40px,7vw,65px)}.gallery-heading .lead{padding-top:0}.project-grid{grid-template-columns:1fr;gap:36px}.project-card:first-child,.project-card:nth-child(2),.project-card:nth-child(3){grid-column:auto;width:100%;margin:0}.project-card .photo-frame,.project-card:first-child .photo-frame{aspect-ratio:4/3}#servicios .feature{grid-template-columns:45px 1fr}#servicios .feature>p,#servicios details{grid-column:2}#servicios .feature:hover{padding-inline:0}#servicios .feature h3{font-size:30px}#estudio .grid-1-2{grid-template-columns:1fr;gap:35px}#estudio h2{font-size:clamp(36px,7vw,62px)}.material-layout{grid-template-columns:1fr;gap:35px}.material-figure img{aspect-ratio:4/3}.compare-frame{aspect-ratio:3/2}.compare-label{top:14px;padding:8px 10px;font-size:8px}.before-label{left:14px}.after-label{right:14px}.compare-divider>span{width:44px;height:44px;font-size:15px}.transform-notes{grid-template-columns:1fr;gap:18px}.transform-notes p{max-width:none}.transform-notes>div{display:grid;grid-template-columns:100px 1fr;gap:10px}.transform-notes p{margin:0}#propiedades .property-card .photo-frame{aspect-ratio:4/3}.image-explore{right:24px;bottom:24px}.section{padding-block:65px}#estudio,#servicios{padding-block:70px}}
@media(prefers-reduced-motion:reduce){.reveal-arrived,.hero-intro h1>span{animation:none!important}.hero-window .hero-picture{transform:none!important;will-change:auto}.material-tab,.circle-button,.photo-frame img{transition:none!important}}


/* Baliole: form validation + footer credit */
.input[aria-invalid="true"],.textarea[aria-invalid="true"]{border-color:#c0392b}
.field-error{display:block;margin-top:6px;font-size:12px;line-height:1.4;color:#d9534f}
.consent+.field-error{margin-top:-12px;margin-bottom:20px}
.form-error{font-size:13px;line-height:1.6;color:#d9534f;margin:16px 0 0}
.foot-credit{margin-top:32px;padding-top:20px;border-top:1px solid var(--border);text-align:center;font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.foot-credit a{display:inline-flex;align-items:center;gap:6px;color:inherit;transition:color 120ms ease}
.foot-credit a:hover{color:var(--fg)}
.foot-credit .foot-heart{color:var(--accent);flex-shrink:0}

/* Sticky top bar that compacts on scroll */
html{scroll-padding-top:76px}
.topnav{--topbar-compact:76px;position:sticky;top:0;z-index:40;background:color-mix(in oklch,var(--bg) 88%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);transition:background .3s ease}
.topnav .topnav-inner{transition:min-height .35s cubic-bezier(.22,.7,.3,1)}
.topnav .logo img{transition:width .35s cubic-bezier(.22,.7,.3,1),height .35s cubic-bezier(.22,.7,.3,1)}
.topnav .logo span{transition:font-size .35s ease}
.topnav .logo small{transition:opacity .25s ease,max-height .35s ease;max-height:20px;overflow:hidden}
.topnav.is-compact .topnav-inner{min-height:64px}
.topnav.is-compact .logo img{width:28px;height:34px}
.topnav.is-compact .logo span{font-size:15px}
.topnav.is-compact .logo small{opacity:0;max-height:0;padding-top:0}
.topnav.is-compact{background:color-mix(in oklch,var(--bg) 94%,transparent)}
@media(max-width:920px){.topnav.is-compact .topnav-inner{min-height:60px}.topnav nav[data-open=true]{max-height:calc(100dvh - 80px);overflow:auto}}



/* Hero: three disciplines, three photo panels */
#inicio.hero-c{position:relative;padding:0;height:clamp(600px,calc(100vh - 100px),880px);overflow:hidden;background:var(--bg)}
.hero-c-panels{position:absolute;inset:0;display:flex;gap:2px}
.hero-panel{position:relative;flex:1 1 0;min-width:0;overflow:hidden;display:block;color:var(--fg);transition:flex .75s cubic-bezier(.22,.7,.3,1);outline-offset:-4px}
.hero-panel:focus-visible{outline:2px solid var(--accent)}
.hero-panel-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 58%;filter:grayscale(1) brightness(.42);transform:scale(1.06);transition:filter .75s ease,transform .95s cubic-bezier(.22,.7,.3,1)}
.hero-panel::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.72) 0%,rgba(0,0,0,.25) 28%,rgba(0,0,0,0) 46%,rgba(0,0,0,.78) 100%);pointer-events:none}
.hero-panel-label{position:absolute;left:clamp(20px,3vw,40px);right:clamp(20px,3vw,40px);bottom:clamp(32px,5vh,56px);z-index:1;display:flex;flex-direction:column;gap:12px}
.hero-panel-num{font:500 12px/1 var(--font-mono);letter-spacing:.2em;color:var(--accent)}
.hero-panel-title{font-family:var(--font-display);font-weight:500;font-size:clamp(24px,2.4vw,34px);letter-spacing:-.02em;line-height:1;white-space:nowrap}
.hero-panel-desc{max-width:36ch;font-size:15px;line-height:1.5;color:#d6d6d6;opacity:0;transform:translateY(8px);transition:opacity .5s ease .15s,transform .5s ease .15s}
.hero-c-panels:hover .hero-panel.is-active:not(:hover){flex:1 1 0}
.hero-c-panels:hover .hero-panel.is-active:not(:hover) .hero-panel-photo{filter:grayscale(1) brightness(.42);transform:scale(1.06)}
.hero-c-panels:hover .hero-panel.is-active:not(:hover) .hero-panel-desc{opacity:0;transform:translateY(8px)}
.hero-panel:hover,.hero-panel:focus-visible,.hero-panel.is-active{flex:2.6 1 0}
.hero-panel:hover .hero-panel-photo,.hero-panel:focus-visible .hero-panel-photo,.hero-panel.is-active .hero-panel-photo{filter:none;transform:scale(1)}
.hero-panel:hover .hero-panel-desc,.hero-panel:focus-visible .hero-panel-desc,.hero-panel.is-active .hero-panel-desc{opacity:1;transform:none}
#inicio>.container.hero-c-overlay{position:absolute;left:0;right:0;top:clamp(48px,8vh,96px);z-index:2;width:auto;transform:none;display:flex;justify-content:space-between;align-items:flex-start;gap:32px;pointer-events:none}
.hero-c-copy{display:flex;flex-direction:column;align-items:flex-start;gap:28px;pointer-events:auto;flex:1 1 auto;min-width:0}
.hero-c-copy .eyebrow{margin:0;color:#c9c9c9}
#inicio .hero-c-copy h1{font-size:clamp(44px,5.6vw,82px);line-height:.96;letter-spacing:-.04em;margin:0;text-shadow:0 2px 40px rgba(0,0,0,.6)}
#inicio .hero-c-copy h1>span{display:block;white-space:nowrap;animation:title-in .9s cubic-bezier(.22,.7,.3,1) both}#inicio .hero-c-copy h1>span:last-child{animation-delay:.12s}#inicio .hero-c-copy h1>span:last-child{padding-left:.9em}
.hero-c-mark{position:relative;flex:0 0 auto;width:clamp(96px,11vw,168px);aspect-ratio:1377/1200;animation:mark-in 1.1s cubic-bezier(.22,.7,.3,1) .15s both}
.hero-c-mark::before{content:'';position:absolute;inset:-45%;background:radial-gradient(closest-side,rgba(0,0,0,.82) 0%,rgba(0,0,0,.55) 45%,rgba(0,0,0,0) 100%)}
.hero-c-mark-shape{position:absolute;inset:0;display:block;background:linear-gradient(160deg,#f1dc98,var(--accent) 50%,#9a7a2c);-webkit-mask:url(../img/logo-mark.png) center/contain no-repeat;mask:url(../img/logo-mark.png) center/contain no-repeat}
@keyframes mark-in{from{opacity:0;transform:translateY(18px) scale(.96)}to{opacity:1;transform:none}}
@media(max-width:920px){
 #inicio.hero-c{height:auto;min-height:0;display:flex;flex-direction:column}
 #inicio>.container.hero-c-overlay{order:-1}
 #inicio>.container.hero-c-overlay{position:relative;top:auto;padding-top:28px;padding-bottom:28px;flex-direction:column;align-items:flex-start;gap:22px}
 .hero-c-copy{gap:22px}#inicio .hero-c-copy h1{font-size:clamp(34px,9.2vw,60px);text-shadow:none;line-height:1}#inicio .hero-c-copy h1>span:last-child{padding-left:0}
 .hero-c-mark{width:64px;margin-top:0;order:-1}.hero-c-mark::before{display:none}
 #inicio .hero-c-copy h1>span{white-space:normal}
 .hero-c-panels{position:relative;inset:auto;flex-direction:column;height:min(150vw,640px)}
 .hero-panel{flex:1 1 0}.hero-panel:hover,.hero-panel.is-active{flex:2.4 1 0}
 .hero-c-panels:hover .hero-panel.is-active:not(:hover){flex:2.4 1 0}
 .hero-c-panels:hover .hero-panel.is-active:not(:hover) .hero-panel-photo{filter:none;transform:none}
 .hero-c-panels:hover .hero-panel.is-active:not(:hover) .hero-panel-desc{opacity:1;transform:none}
 .hero-panel-label{bottom:20px;gap:8px}.hero-panel-title{font-size:24px}.hero-panel-desc{font-size:13px}
}
@media(prefers-reduced-motion:reduce){.hero-c-mark,#inicio .hero-c-copy h1>span{animation:none}.hero-panel,.hero-panel-photo,.hero-panel-desc{transition:none}}

/* Top bar CTA: underline style on hover too, no boxed outline */
.topnav-inner>.btn.btn-ghost{padding:12px 4px;border:1px solid transparent;border-bottom-color:var(--border)}
.topnav-inner>.btn.btn-ghost:hover,.topnav-inner>.btn.btn-ghost:focus-visible{color:var(--accent);border-color:transparent;border-bottom-color:var(--accent);outline:none}

/* Mantra placements */
.hero-c-lead{margin:0;max-width:40ch;font-size:16px;line-height:1.55;color:#d6d6d6;text-shadow:0 1px 18px rgba(0,0,0,.6)}
.estudio-mantra{margin:18px 0 0;font-family:var(--font-display);font-size:clamp(20px,1.6vw,24px);line-height:1.25;letter-spacing:-.01em;color:var(--bg)}
.foot-brand{display:flex;flex-direction:column;gap:6px}
.foot-mantra{font-size:12px;color:var(--muted)}
@media(max-width:920px){.hero-c-lead{font-size:15px;text-shadow:none}}

/* Mobile menu: tighter rows with dividers */
@media(max-width:920px){
 .topnav nav[data-open=true]{padding-top:4px;padding-bottom:8px}
 .topnav nav a{min-height:52px;font-size:15px;border-bottom:1px solid var(--border)}
 .topnav nav a:last-child{border-bottom:0}
 .topnav nav a:after{display:none}
}

/* Mobile menu toggle: two lines that cross when open */
#menu-button.menu-toggle{display:none}
@media(max-width:920px){
 #menu-button.menu-toggle{display:inline-flex;align-items:center;gap:14px;min-height:44px;min-width:44px;padding:0 0 0 12px;margin:0;background:none;border:0;color:var(--fg);font:500 11px/1 var(--font-body);letter-spacing:.18em;text-transform:uppercase;cursor:pointer}
 #menu-button.menu-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
 .menu-toggle-icon{position:relative;display:block;width:26px;height:14px}
 .menu-toggle-icon span{position:absolute;left:0;height:1.5px;width:100%;background:currentColor;transition:transform .35s cubic-bezier(.22,.7,.3,1),top .35s cubic-bezier(.22,.7,.3,1),width .35s ease}
 .menu-toggle-icon span:first-child{top:1px}
 .menu-toggle-icon span:last-child{top:11px;width:68%}
 #menu-button[aria-expanded=true] .menu-toggle-icon span:first-child{top:6px;transform:rotate(45deg)}
 #menu-button[aria-expanded=true] .menu-toggle-icon span:last-child{top:6px;width:100%;transform:rotate(-45deg)}
 #menu-button[aria-expanded=true] .menu-toggle-label{opacity:.6}
}

/* Hero, mobile: compact editorial block above the panels */
@media(max-width:920px){
 #inicio>.container.hero-c-overlay{padding-top:26px;padding-bottom:26px;gap:0}
 .hero-c-mark{display:none}
 #inicio .hero-c-copy{gap:18px}
 #inicio .hero-c-copy .eyebrow{color:var(--accent)}
 #inicio .hero-c-copy h1{font-size:clamp(34px,9.6vw,58px);line-height:1;letter-spacing:-.035em;text-wrap:balance}
 .hero-c-lead{font-size:14px;line-height:1.5;max-width:34ch;color:var(--muted)}
 #inicio .hero-c-copy .btn{margin-top:6px}
 .hero-c-panels{height:min(140vw,600px)}
}

@media(max-width:920px){
 #inicio .hero-c-copy h1>span:last-child{padding-left:0;margin-left:0}
 #inicio .hero-c-copy .eyebrow,#inicio .hero-c-lead{margin:0}
 #inicio .hero-c-copy{gap:16px}
 #inicio .hero-c-copy .btn{margin-top:4px}
 .hero-panel-desc{max-height:0;overflow:hidden;transition:max-height .5s ease,opacity .4s ease,transform .4s ease}
 .hero-panel.is-active .hero-panel-desc,.hero-panel:hover .hero-panel-desc{max-height:120px}
 .hero-c-panels:hover .hero-panel.is-active:not(:hover) .hero-panel-desc{max-height:120px}
}
