
    *, *::before, *::after { box-sizing:border-box; margin:0; padding:0; -webkit-tap-highlight-color:transparent; }
    :root {
      --bg:#F6F5F2; --arena:#E5DED3; --beige:#D3C6B5; --gris:#BFBFBF;
      --acento:#A9824A; --texto:#2B2B2B; --sub:#7A7672;
      --ff-d:'Cormorant Garamond',Georgia,serif;
      --ff-u:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;
      --esl:cubic-bezier(0.16,1,0.3,1); --ease:cubic-bezier(0.25,0.1,0.25,1);
      --safe-b:env(safe-area-inset-bottom,0px); --safe-r:env(safe-area-inset-right,0px);
      --px:24px;
    }
    html { scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
    body { font-family:var(--ff-u); background:var(--bg); color:var(--texto); -webkit-font-smoothing:antialiased; overflow-x:hidden; min-height:100vh; min-height:-webkit-fill-available; overscroll-behavior-y:none; }
    img { display:block; width:100%; height:100%; object-fit:cover; vertical-align:bottom; }
    a { color:inherit; text-decoration:none; }
    button { background:none; border:none; cursor:pointer; font-family:inherit; -webkit-appearance:none; }
    button, a, [role="button"] { touch-action:manipulation; }
    ::-webkit-scrollbar { width:3px; }
    ::-webkit-scrollbar-thumb { background:var(--beige); }

    .page { display:none; }
    .page.active { display:block; }

    /* HEADER */
    header { position:fixed; top:0; left:0; right:0; z-index:100; display:flex; flex-direction:row; justify-content:flex-end; align-items:center; padding:22px var(--px); transition:background .45s var(--ease),box-shadow .45s var(--ease),padding .35s var(--ease); will-change:transform; }
    header.scrolled { background:rgba(246,245,242,.96); -webkit-backdrop-filter:blur(16px); backdrop-filter:blur(16px); box-shadow:0 1px 0 rgba(0,0,0,.07); padding:14px var(--px); }
    .logo { font-family:var(--ff-d); font-size:1.43rem; font-weight:400; letter-spacing:.28em; color:#000; cursor:pointer; transition:opacity .3s; white-space:nowrap; }
    .logo:hover { opacity:.5; }
    .nav-wrap { position:relative; display:flex; align-items:center; gap:10px; margin-top:10px; }
    .nav-toggle { display:flex; flex-direction:column; gap:5px; cursor:pointer; padding:6px; min-width:44px; min-height:44px; align-items:center; justify-content:center; }
    .nav-toggle span { display:block; width:20px; height:1px; background:var(--texto); transition:all .3s var(--ease); transform-origin:center; }
    .nav-toggle.open span:nth-child(1) { transform:translateY(6px) rotate(45deg); }
    .nav-toggle.open span:nth-child(2) { opacity:0; transform:scaleX(0); }
    .nav-toggle.open span:nth-child(3) { transform:translateY(-6px) rotate(-45deg); }
    .nav-drop { display:none; position:absolute; top:calc(100% + 4px); left:50%; transform:translateX(-50%); right:auto; background:var(--bg); min-width:160px; box-shadow:0 8px 32px rgba(0,0,0,.08); border:1px solid var(--arena); padding:8px 0; animation:dropIn .25s var(--esl); z-index:99; }
    .nav-drop.open { display:block; }
    @keyframes dropIn { from{opacity:0;transform:translateX(-50%) translateY(-8px)} to{opacity:1;transform:translateX(-50%) translateY(0)} }
    .nav-drop a { display:block; font-family:var(--ff-u); font-size:.67rem; font-weight:400; letter-spacing:.15em; text-transform:uppercase; color:var(--sub); padding:11px 24px; transition:color .25s,background .25s; cursor:pointer; white-space:nowrap; }
    .nav-drop a:hover, .nav-drop a.active { color:var(--texto); background:var(--arena); }

    /* HERO */
    .hero { height:100vh; height:100dvh; position:relative; display:flex; align-items:flex-end; overflow:hidden; }
    .hero-img { position:absolute; inset:0; overflow:hidden; }
    .hero-img img { width:100%; height:100%; object-fit:cover; object-position:center 30%; transform:scale(1.05); animation:hZoom 2.8s var(--esl) forwards; will-change:transform; -webkit-backface-visibility:hidden; }
    @keyframes hZoom { from{transform:scale(1.1);opacity:.7} to{transform:scale(1.04);opacity:1} }
    .hero-veil { position:absolute; inset:0; background:linear-gradient(to top,rgba(246,245,242,.65) 0%,rgba(246,245,242,.08) 42%,transparent 100%); }
    .hero-content { position:relative; z-index:2; margin-left:auto; padding:0 var(--px) calc(72px + var(--safe-b)); text-align:right; animation:fuUp 1.4s .7s var(--esl) both; }
    @keyframes fuUp { from{opacity:0;transform:translateY(22px)} to{opacity:1;transform:translateY(0)} }
    .hero-tag { font-family:var(--ff-u); font-size:.63rem; letter-spacing:.22em; text-transform:uppercase; color:var(--sub); margin-bottom:12px; }
    .hero-title { font-family:var(--ff-d); font-size:clamp(2.8rem,11vw,6.2rem); font-weight:300; line-height:.97; letter-spacing:-.01em; }
    .hero-title em { font-style:italic; color:var(--acento); }

    /* INTRO */
    .intro { padding:72px var(--px); display:flex; flex-direction:column; gap:36px; }
    .intro .lbl { font-family:var(--ff-u); font-size:.63rem; letter-spacing:.22em; text-transform:uppercase; color:var(--sub); margin-bottom:16px; }
    .intro-left p { font-family:var(--ff-d); font-size:clamp(1.25rem,4.5vw,1.85rem); font-weight:300; line-height:1.52; }
    .intro-right .body { font-family:var(--ff-u); font-size:.84rem; line-height:1.9; color:var(--sub); }
    .cta-row { margin-top:30px; display:inline-flex; align-items:center; gap:12px; font-family:var(--ff-u); font-size:.68rem; letter-spacing:.16em; text-transform:uppercase; color:var(--acento); cursor:pointer; transition:gap .3s; min-height:44px; }
    .cta-row:hover { gap:20px; }
    .cta-line { display:inline-block; width:28px; height:1px; background:var(--acento); transition:width .3s; }
    .cta-row:hover .cta-line { width:44px; }

    /* FEATURED */
    .feat { padding:0 var(--px) 72px; }
    .sec-hd { display:flex; align-items:baseline; justify-content:space-between; margin-bottom:36px; padding-bottom:16px; border-bottom:1px solid var(--arena); gap:12px; }
    .sec-title { font-family:var(--ff-d); font-size:clamp(1.4rem,5vw,2.3rem); font-weight:300; }
    .sec-lnk { font-family:var(--ff-u); font-size:.63rem; letter-spacing:.14em; text-transform:uppercase; color:var(--sub); cursor:pointer; transition:color .3s; white-space:nowrap; min-height:44px; display:flex; align-items:center; }
    .sec-lnk:hover { color:var(--acento); }
    .feat-grid { display:grid; grid-template-columns:1fr; gap:3px; }
    .fc { overflow:hidden; cursor:pointer; background:var(--arena); }
    .fc .fi { overflow:hidden; aspect-ratio:3/4; }
    .fc .fi img { transition:transform .8s var(--esl); }
    .fc:hover .fi img, .fc:active .fi img { transform:scale(1.04); }
    .fc-info { padding:14px 18px 18px; background:var(--bg); }
    .fc-title { font-family:var(--ff-d); font-size:.96rem; font-weight:400; margin-bottom:3px; }
    .fc-meta { font-family:var(--ff-u); font-size:.63rem; color:var(--sub); letter-spacing:.06em; }

    /* COMMISSIONS */
    .comm { position:relative; isolation:isolate; margin:0 var(--px) 72px; background:var(--acento); display:flex; flex-direction:column; overflow:hidden; }
    .comm::before { content:""; position:absolute; inset:0; z-index:-1; background:radial-gradient(circle at 18% 22%,rgba(255,255,255,.18),transparent 28%),radial-gradient(circle at 82% 74%,rgba(58,41,25,.18),transparent 34%),linear-gradient(135deg,rgba(255,255,255,.08),rgba(0,0,0,.12)); }
    .comm::after { content:""; position:absolute; inset:0; z-index:-1; opacity:.12; background-image:radial-gradient(rgba(255,255,255,.85) .55px,transparent .7px),radial-gradient(rgba(0,0,0,.7) .45px,transparent .65px); background-size:7px 7px,9px 9px; background-position:0 0,3px 4px; mix-blend-mode:soft-light; }
    .comm-img { overflow:hidden; aspect-ratio:16/10; flex-shrink:0; }
    .comm-img img { width:100%; height:100%; object-fit:cover; transition:transform .8s var(--esl); }
    .comm:hover .comm-img img { transform:scale(1.03); }
    .comm-body { padding:44px 32px; display:flex; flex-direction:column; }
    .comm-lbl { font-family:var(--ff-u); font-size:.63rem; letter-spacing:.22em; text-transform:uppercase; color:rgba(255,255,255,.4); margin-bottom:16px; }
    .comm-h { font-family:var(--ff-d); font-size:clamp(1.7rem,6vw,2.8rem); font-weight:300; line-height:1.18; color:#fff; margin-bottom:18px; }
    .comm-h em { font-style:italic; }
    .comm-p { font-family:var(--ff-u); font-size:.81rem; line-height:1.9; color:rgba(255,255,255,.6); margin-bottom:28px; }
    .comm-p strong { color:rgba(255,255,255,.85); font-weight:500; }
    .btn-wh { display:inline-flex; align-items:center; gap:12px; font-family:var(--ff-u); font-size:.67rem; letter-spacing:.15em; text-transform:uppercase; color:#fff; padding:13px 22px; border:1px solid rgba(255,255,255,.3); transition:background .3s,border-color .3s; -webkit-appearance:none; min-height:44px; }
    .btn-wh:hover { background:rgba(255,255,255,.1); border-color:rgba(255,255,255,.5); }

    /* PRESS */
    .press { padding:52px var(--px); border-top:1.5px solid var(--beige); }
    .press-lbl { font-family:var(--ff-u); font-size:.7rem; font-weight:500; letter-spacing:.22em; text-transform:uppercase; color:var(--texto); text-align:center; margin-bottom:36px; }
    .press-logos { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:32px 48px; }
    .press-logo-item { display:flex; align-items:center; justify-content:center; opacity:.95; color:var(--texto); transition:opacity .4s; }
    .press-logo-item:hover { opacity:1; }
    .press-logo-item svg { display:block; max-width:160px; height:auto; color:var(--texto); }
    .press-logo-item svg * { stroke-width:1.25; }

    /* FOOTER */
    footer { border-top:1.5px solid var(--beige); padding:36px var(--px); padding-bottom:calc(36px + var(--safe-b)); display:flex; flex-direction:column; gap:14px; }
    .f-logo { font-family:var(--ff-d); font-size:1.05rem; font-weight:500; letter-spacing:.2em; color:var(--texto); }
    .f-links { display:flex; flex-wrap:wrap; gap:20px; }
    .f-links a { font-family:var(--ff-u); font-size:.7rem; font-weight:500; letter-spacing:.12em; text-transform:uppercase; color:var(--texto); transition:color .3s; min-height:44px; display:flex; align-items:center; }
    .f-links a[href^="mailto:"], .f-links a[href*="instagram.com"] { text-transform:none; letter-spacing:.04em; }
    .f-links a:hover { color:var(--acento); }
    .f-copy { font-family:var(--ff-u); font-size:.66rem; font-weight:400; color:var(--sub); letter-spacing:.06em; }

    /* OBRAS */
    .pg-hd { padding:110px var(--px) 44px; border-bottom:1px solid var(--arena); }
    .pg-ot { font-family:var(--ff-u); font-size:.63rem; letter-spacing:.22em; text-transform:uppercase; color:var(--sub); margin-bottom:16px; }
    .pg-h1 { font-family:var(--ff-d); font-size:clamp(2.2rem,8vw,4rem); font-weight:300; line-height:1.05; }
    .pg-intro { margin-top:20px; font-family:var(--ff-d); font-size:1.05rem; font-weight:300; line-height:1.75; color:var(--sub); }
    .obras-quote { margin:0; padding:44px var(--px); border-bottom:1px solid var(--arena); background:var(--arena); }
    .obras-quote blockquote { font-family:var(--ff-d); font-size:clamp(1rem,3vw,1.3rem); font-weight:300; line-height:1.75; font-style:italic; color:var(--sub); max-width:720px; }
    .obras-quote cite { display:block; margin-top:14px; font-family:var(--ff-u); font-size:.63rem; letter-spacing:.15em; text-transform:uppercase; color:var(--gris); font-style:normal; }
    .col-desc { padding:44px var(--px); display:flex; flex-direction:column; gap:36px; border-bottom:1px solid var(--arena); }
    .col-block-title { font-family:var(--ff-d); font-size:.78rem; letter-spacing:.22em; text-transform:uppercase; color:var(--sub); margin-bottom:10px; }
    .col-block-name { font-family:var(--ff-d); font-size:clamp(1.3rem,4vw,1.8rem); font-weight:300; font-style:italic; margin-bottom:12px; }
    .col-block-p { font-family:var(--ff-u); font-size:.81rem; line-height:1.85; color:var(--sub); }
    .fbar { padding:22px var(--px); display:flex; gap:8px; flex-wrap:wrap; align-items:center; border-bottom:1px solid var(--arena); overflow-x:auto; -webkit-overflow-scrolling:touch; scrollbar-width:none; }
    .fbar::-webkit-scrollbar { display:none; }
    .fg-lbl { font-family:var(--ff-u); font-size:.59rem; letter-spacing:.18em; text-transform:uppercase; color:var(--gris); white-space:nowrap; margin-right:2px; }
    .fb { font-family:var(--ff-u); font-size:.64rem; letter-spacing:.08em; padding:7px 13px; border:1px solid var(--arena); color:var(--sub); background:transparent; transition:all .25s; cursor:pointer; white-space:nowrap; min-height:36px; -webkit-appearance:none; flex-shrink:0; }
    .fb:hover, .fb:active { border-color:var(--beige); color:var(--texto); }
    .fb.active { background:var(--texto); color:var(--bg); border-color:var(--texto); }
    .fsep { width:1px; height:16px; background:var(--arena); margin:0 3px; flex-shrink:0; }
    .wgrid { padding:36px var(--px); display:grid; grid-template-columns:1fr 1fr; gap:3px; }
    .wi { cursor:pointer; overflow:hidden; background:var(--arena); transition:opacity .4s; }
    .wi.hidden { display:none; }
    .wi .wt { overflow:hidden; aspect-ratio:3/4; }
    .wi .wt img { display:block; width:100%; height:100%; }
    /* ESPACIOS GRID: todas las fotos misma proporción, sin fondo */
    /* ESPACIOS GRID: misma proporción, sin fondo */
    #espaciosGrid .wt { display:block; aspect-ratio:3/4; overflow:hidden; background:var(--arena); }
    #espaciosGrid .wt img { display:block; width:100%; height:100%; object-fit:cover !important; object-position:center; transition:transform .75s var(--esl); }
    .wi:hover .wt img, .wi:active .wt img { transform:scale(1.04); }
    .wi.fmt-horizontal .wt { aspect-ratio:4/3; }
    .wi.fmt-cuadrado .wt { aspect-ratio:1/1; }
    .wm { padding:12px 14px 16px; background:var(--bg); }
    .wm-t { font-family:var(--ff-d); font-size:.9rem; font-weight:400; margin-bottom:3px; overflow:hidden; text-overflow:ellipsis; }
    .wm-d { font-family:var(--ff-u); font-size:.6rem; color:var(--sub); letter-spacing:.05em; line-height:1.7; }
    .wcta { padding:0 var(--px) 72px; display:flex; align-items:center; gap:14px; flex-wrap:wrap; }
    .wcta-line { flex:1; min-width:16px; height:1px; background:var(--arena); }
    .wcta-txt { font-family:var(--ff-u); font-size:.63rem; letter-spacing:.12em; text-transform:uppercase; color:var(--sub); }
    .wcta a { font-family:var(--ff-u); font-size:.63rem; letter-spacing:.1em; color:var(--acento); text-decoration:underline; text-underline-offset:4px; }

    /* MODAL */
    .modal { display:none; position:fixed; inset:0; z-index:200; background:rgba(246,245,242,.98); overflow-y:auto; -webkit-overflow-scrolling:touch; overscroll-behavior:contain; animation:mfade .3s var(--ease); }
    .modal.open { display:block; }
    @keyframes mfade { from{opacity:0} to{opacity:1} }
    .modal-in { max-width:1100px; margin:0 auto; padding:68px var(--px) 52px; display:flex; flex-direction:column; gap:32px; }
    .m-close { position:fixed; top:16px; right:var(--px); z-index:201; font-family:var(--ff-u); font-size:.64rem; letter-spacing:.16em; text-transform:uppercase; color:var(--sub); cursor:pointer; transition:color .3s; min-height:44px; display:flex; align-items:center; background:rgba(246,245,242,.9); padding:0 8px; -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px); }
    .m-close:hover { color:var(--texto); }
    .m-imgwrap { overflow:hidden; background:var(--arena); width:100%; }
    .m-imgwrap img { width:100%; height:100%; object-fit:cover; }
    .m-info { padding-top:4px; }
    .m-collection { font-family:var(--ff-u); font-size:.6rem; letter-spacing:.22em; text-transform:uppercase; color:var(--sub); margin-bottom:10px; }
    .m-title { font-family:var(--ff-d); font-size:clamp(1.8rem,7vw,3rem); font-weight:300; line-height:1.05; margin-bottom:32px; }
    .m-cta { display:inline-flex; align-items:center; gap:14px; font-family:var(--ff-u); font-size:.65rem; letter-spacing:.16em; text-transform:uppercase; color:var(--acento); padding-bottom:10px; border-bottom:1px solid var(--arena); transition:gap .3s; min-height:44px; }
    .m-cta:hover { gap:22px; }
    .m-gallery { margin-top:20px; display:grid; grid-template-columns:1fr 1fr; gap:3px; }
    .m-gthumb { overflow:hidden; aspect-ratio:1/1; cursor:zoom-in; }
    .m-gthumb img { width:100%; height:100%; object-fit:cover; transition:transform .6s; }
    .m-gthumb:hover img, .m-gthumb:active img { transform:scale(1.06); }

    /* SOBRE ELLA */
    .art-hero { display:flex; flex-direction:column; }
    .art-img { overflow:hidden; aspect-ratio:4/5; position:relative; }
    .art-img img { width:100%; height:100%; object-fit:cover; object-position:center 15%; }
    .art-body { padding:52px var(--px) 60px; display:flex; flex-direction:column; }
    .art-ot { font-family:var(--ff-u); font-size:.63rem; letter-spacing:.22em; text-transform:uppercase; color:var(--sub); margin-bottom:24px; }
    .art-h { font-family:var(--ff-d); font-size:clamp(1.9rem,7vw,3.3rem); font-weight:300; line-height:1.08; margin-bottom:32px; }
    .art-h em { font-style:italic; color:var(--acento); }
    .art-p { font-family:var(--ff-d); font-size:1rem; line-height:1.9; font-weight:300; color:var(--sub); margin-bottom:14px; }
    .art-quote { margin:28px 0; padding:24px 28px; border-left:2px solid var(--acento); font-family:var(--ff-d); font-size:1.05rem; font-style:italic; line-height:1.8; font-weight:300; color:var(--texto); }
    .art-grid { margin-top:44px; padding-top:32px; border-top:1px solid var(--arena); display:grid; grid-template-columns:1fr; gap:22px; }
    .ag-lbl { font-family:var(--ff-u); font-size:.6rem; letter-spacing:.18em; text-transform:uppercase; color:var(--gris); margin-bottom:6px; }
    .ag-txt { font-family:var(--ff-d); font-size:.93rem; font-weight:300; line-height:1.65; color:var(--sub); }
    .art-process { display:grid; grid-template-columns:1fr 1fr; gap:3px; }
    .ap-item { overflow:hidden; aspect-ratio:1/1; }
    .ap-item img { width:100%; height:100%; object-fit:cover; transition:transform .7s var(--esl); }
    .ap-item:hover img, .ap-item:active img { transform:scale(1.05); }
    .art-press { padding:48px var(--px); border-top:1px solid var(--arena); background:var(--arena); }

    /* CONTACTO */
    .cont-sec { min-height:100vh; min-height:100dvh; display:flex; align-items:center; justify-content:center; padding:100px var(--px); padding-bottom:calc(80px + var(--safe-b)); }
    .cont-in { max-width:540px; width:100%; }
    .cont-ot { font-family:var(--ff-u); font-size:.63rem; letter-spacing:.22em; text-transform:uppercase; color:var(--sub); margin-bottom:18px; }
    .cont-h { font-family:var(--ff-d); font-size:clamp(2rem,8vw,3.6rem); font-weight:300; line-height:1.08; margin-bottom:44px; }
    .ci { display:flex; flex-direction:column; gap:5px; padding:28px 0; border-bottom:1px solid var(--arena); }
    .ci:first-of-type { border-top:1px solid var(--arena); }
    .ci-lbl { font-family:var(--ff-u); font-size:.6rem; letter-spacing:.18em; text-transform:uppercase; color:var(--gris); }
    .ci-val { font-family:var(--ff-d); font-size:clamp(.95rem,4vw,1.15rem); font-weight:400; transition:color .3s; word-break:break-word; }
    a:hover .ci-val { color:var(--acento); }
    .cont-note { margin-top:44px; font-family:var(--ff-d); font-size:.94rem; font-weight:300; line-height:1.8; color:var(--sub); }

    /* FADE-IN */
    .fi-anim { opacity:0; transform:translateY(14px); transition:opacity .75s var(--esl),transform .75s var(--esl); }
    .fi-anim.vis { opacity:1; transform:translateY(0); }

    /* TABLET 640px+ */
    @media (min-width:640px) {
      .feat-grid { grid-template-columns:1fr 1fr; }
      .fc.tall .fi { aspect-ratio:2/2.6; }
      .col-desc { flex-direction:row; gap:48px; }
      .col-desc > div { flex:1; }
      .art-grid { grid-template-columns:1fr 1fr; }
      .art-process { grid-template-columns:repeat(3,1fr); }
      .comm { flex-direction:row; }
      .comm-img { aspect-ratio:unset; flex:1; min-height:340px; }
      .comm-body { flex:1; padding:52px 44px; }
      .art-img { aspect-ratio:unset; min-height:55vw; }
      .modal-in { flex-direction:row; align-items:start; gap:56px; padding:80px 36px 60px; }
      .m-imgwrap { flex:1.1; flex-shrink:0; }
      .m-info { flex:1; }
    }

    /* DESKTOP 900px+ */
    @media (min-width:900px) {
      :root { --px:52px; }
      header { flex-direction:row; justify-content:flex-end; align-items:center; padding:28px 52px; }
      header.scrolled { padding:18px 52px; }
      .nav-wrap { margin-top:0; }
      .nav-toggle { display:none; }
      .nav-drop a { font-size:.68rem; }
      .hero-content { padding:0 52px calc(80px + var(--safe-b)); }
      .intro { display:grid; grid-template-columns:1fr 1.1fr; gap:72px; align-items:center; padding:100px 52px; }
      .feat { padding:0 52px 120px; }
      .feat-grid { grid-template-columns:1fr 1fr; }
      .fc.tall { grid-row:span 2; }
      .fc.tall .fi { aspect-ratio:2/2.8; }
      .fc.std  .fi { aspect-ratio:3/4; }
      .comm { margin:0 52px 120px; flex-direction:row; }
      .comm-img { flex:1; min-height:420px; }
      .comm-body { flex:1; padding:64px 56px; }
      footer { flex-direction:row; align-items:center; padding:52px; }
      .pg-hd { padding:160px 52px 60px; }
      .obras-quote { padding:52px; }
      .col-desc { padding:52px; }
      .fbar { padding:32px 52px; }
      .wgrid { padding:52px; grid-template-columns:repeat(3,1fr); }
      .wi:nth-child(3n+1) .wt, .wi:nth-child(3n+2) .wt, .wi:nth-child(3n+3) .wt { aspect-ratio:3/4; }
      .wi.fmt-horizontal .wt { aspect-ratio:4/3 !important; }
      .wi.fmt-cuadrado   .wt { aspect-ratio:1/1 !important; }
      .wcta { padding:0 52px 100px; }
      .modal-in { padding:100px 52px 80px; gap:80px; }
      .m-close { top:28px; right:52px; }
      .art-hero { display:grid; grid-template-columns:1fr 1fr; min-height:100vh; }
      .art-img { aspect-ratio:unset; min-height:100vh; }
      .art-body { padding:160px 68px 80px 60px; justify-content:center; }
      .art-process { grid-template-columns:repeat(3,1fr); }
      .press { padding:60px 52px; }
      .art-press { padding:60px 52px; }
      .cont-sec { padding:120px 52px; }
    }
    @media (min-width:1200px) { .feat-grid, .wgrid { gap:4px; } }
    @media print { header, .modal { display:none !important; } .page { display:block !important; } }
  
    /* HOME — Selección de obras: medium images, more air, title above */
    #page-inicio .feat { padding:0 var(--px) 96px; }
    #page-inicio .feat-grid { gap:48px 140px; justify-content:center; }
    #page-inicio .fc .fi { max-height:530px; border:1px solid var(--arena); }
    #page-inicio .fc-info { min-height:58px; display:flex; align-items:center; justify-content:center; background:transparent; padding:0 18px; text-align:center; }
    @media(min-width:768px) {
      #page-inicio .feat-grid { grid-template-columns:repeat(2,minmax(0,396px)); }
    }

    /* RESPONSIVE TYPE + IMAGE BALANCE REVIEW */
    body { font-size:16px; line-height:1.5; }
    .nav-drop { min-width:190px; }
    .nav-drop a { font-size:.76rem; padding:13px 26px; }
    .hero-tag, .intro .lbl, .pg-ot, .art-ot, .cont-ot { font-size:.72rem; }
    .hero-title { font-size:clamp(3.25rem,12vw,6.8rem); }
    .intro-left p { font-size:clamp(1.55rem,5vw,2.25rem); line-height:1.42; }
    .intro-right .body, .col-block-p, .comm-p { font-size:.98rem; line-height:1.85; }
    .cta-row, .sec-lnk, .btn-wh, .m-cta, .wcta-txt, .wcta a { font-size:.74rem; }
    .sec-title { font-size:clamp(1.75rem,5.5vw,2.85rem); }
    .fc-info, .wm { padding:18px 18px 20px; }
    .fc-title { font-size:1.18rem; line-height:1.2; }
    .fc-meta, .wm-d { font-size:.72rem; line-height:1.6; }
    .comm-h { font-size:clamp(2rem,6.5vw,3.35rem); }
    .comm-lbl { font-size:.72rem; color:rgba(255,255,255,.52); }
    .pg-h1 { font-size:clamp(2.65rem,8vw,4.6rem); }
    .pg-intro { font-size:clamp(1.22rem,3vw,1.45rem); line-height:1.65; max-width:820px; }
    .obras-quote blockquote { font-size:clamp(1.18rem,3.4vw,1.55rem); }
    .col-block-title, .fg-lbl { font-size:.68rem; }
    .col-block-name { font-size:clamp(1.55rem,4vw,2.15rem); }
    .fb { font-size:.72rem; padding:9px 15px; min-height:40px; }
    .wm-t { font-size:1.08rem; line-height:1.22; }
    .m-collection { font-size:.7rem; }
    .m-title { font-size:clamp(2.2rem,7vw,3.6rem); }
    .art-h { font-size:clamp(2.35rem,7vw,4rem); }
    .art-p { font-size:1.14rem; line-height:1.78; }
    .art-quote { font-size:1.22rem; line-height:1.72; }
    .ag-lbl, .ci-lbl { font-size:.68rem; }
    .ag-txt { font-size:1.08rem; }
    .cont-h { font-size:clamp(2.5rem,8vw,4.2rem); }
    .ci-val { font-size:clamp(1.18rem,4vw,1.45rem); }
    .cont-note { font-size:1.08rem; line-height:1.75; }

    @media (max-width:639px) {
      :root { --px:22px; }
      header { padding:20px var(--px); }
      header.scrolled { padding:13px var(--px); }
      .logo { font-size:1.34rem; letter-spacing:.24em; }
      .nav-drop { left:auto; right:0; transform:none; min-width:min(76vw,260px); }
      @keyframes dropIn { from{opacity:0;transform:translateY(-8px)} to{opacity:1;transform:translateY(0)} }
      .hero-img img { object-position:center 36%; }
      .hero-content { max-width:92vw; padding-bottom:calc(58px + var(--safe-b)); }
      .hero-title { font-size:clamp(3.05rem,15vw,4.45rem); }
      .intro { padding:64px var(--px); gap:28px; }
      #page-inicio .feat { padding-bottom:76px; }
      #page-inicio .feat-grid { gap:38px; }
      #page-inicio .fc .fi { max-height:none; }
      .sec-hd { align-items:flex-start; flex-direction:column; gap:8px; margin-bottom:30px; }
      .comm { margin-bottom:76px; }
      .comm-body { padding:42px 28px; }
      .pg-hd { padding-top:118px; }
      .wgrid { grid-template-columns:1fr; gap:22px; padding:34px var(--px); }
      .wi .wt, .wi.fmt-horizontal .wt, .wi.fmt-cuadrado .wt { aspect-ratio:4/5; }
      .wm { padding:16px 0 4px; background:transparent; }
      .modal-in { padding-top:74px; }
      .m-gallery { gap:8px; }
      .art-process { grid-template-columns:1fr; gap:8px; }
      .art-p { font-size:1.08rem; }
      .cont-sec { align-items:flex-start; padding-top:118px; }
    }

    @media (min-width:900px) {
      .hero-content { max-width:720px; }
      .intro-right .body { font-size:1.05rem; max-width:560px; }
      .comm-body { justify-content:center; }
      .comm-p { font-size:1.02rem; max-width:520px; }
      .wgrid { gap:18px 14px; }
      .wm { padding:16px 4px 22px; background:transparent; }
      .art-p { max-width:620px; }
    }

/* Publication refinements: readability, menu discovery, keyboard and motion. */
:root { --sub:#625e5a; }
.menu-label { display:block; font-family:var(--ff-u); font-size:10px; letter-spacing:.12em; text-transform:uppercase; margin-top:5px; }
.logo { min-height:44px; }
.nav-drop { left:auto; right:0; transform:none; }
@keyframes dropIn { from { opacity:0; transform:translateY(-8px); } to { opacity:1; transform:none; } }
:focus-visible { outline:2px solid var(--texto); outline-offset:5px; }
.comm-lbl, .comm-p { color:#fff; }
.fg-lbl, .obras-quote cite, .ag-lbl, .ci-lbl { color:var(--sub); }
.m-info p[style*="color:var(--gris)"] { color:var(--sub)!important; }
.press-logo-item svg [fill] { fill:var(--sub); }
@media (prefers-reduced-motion:reduce) {
  *, *::before, *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
  .fi-anim { opacity:1!important; transform:none!important; }
}
