/* COLOR CONTROLS — edit these values to theme every component. */
:root {
  --page-bg:#242524; --surface:#ffffff; --surface-soft:#f5f4f1;
  --text:#222522; --muted:#60645e; --on-dark:#f4f1eb;
  --accent:#805b32; --accent-hover:#634524; --on-accent:#ffffff;
  --border: whitesmoke; --focus:#a57332; --overlay:rgba(14,16,14,.96);
  --radius:20px; --shadow:0 24px 70px rgba(0,0,0,.20);
  --font:Arial,Helvetica,sans-serif; --content-width:1240px;
}
*{box-sizing:border-box}body{margin:0;background:var(--page-bg);color:var(--text);font:16px/1.6 var(--font)}
a{color:inherit;text-underline-offset:4px}button{font:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}
button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--focus);outline-offset:4px}
button{color:inherit}button:disabled{cursor:default}img{max-width:100%;display:block} [hidden]{display:none!important}
.skip{position:absolute;left:16px;top:-100px;background:var(--surface);padding:12px;z-index:50}.skip:focus{top:12px}
.shell{width:min(var(--content-width),calc(100% - 48px));margin:auto}
.site-header{padding:15px 0;display:flex;align-items:center;justify-content:space-between;gap:20px;color:var(--on-dark)}
.brand{display:flex;align-items:center;gap:18px;text-decoration:none}.brand img{width:160px;height:auto}.brand span{font-size:11px;letter-spacing:.2em;text-transform:uppercase;border-left:1px solid currentColor;padding-left:18px}

/* =========================================================
   SEARCH BY ATTRIBUTE — PREMIUM BUTTON
   ========================================================= */


.header-contact {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;

    min-height: 40px;
    padding: 10px 18px;

    border: 1px dotted transparent;
    border-radius: 5px;

    background: var(--page-bg);
    color: whitesmoke;

    font-size: 12px;
    font-weight: 600;
    letter-spacing: .08em;
    line-height: 1;
    text-transform: uppercase;
    text-decoration: none;
    white-space: nowrap;

    box-sizing: border-box;

    transition:
        color 0.3s ease,
        background-color 0.3s ease,
        border-color 0.3s ease;
}

.header-contact::after {
    content: "⌕";
    display: inline-block;
    font-size: 20px;
    line-height: 1;
}

.header-contact:hover {
    color: var(--border);
    border-color: var(--border);

    /* Evita cualquier movimiento */
    transform: none;
}


.breadcrumbs{display:flex;flex-wrap:wrap;gap:10px;color:var(--on-dark);font-size:12px;margin:0 0 18px}.breadcrumbs a{text-decoration:none}.breadcrumbs span[aria-hidden]{opacity:.5}

main{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}
.intro{padding:10px 30px 10px;border-bottom:1px solid var(--border)}
.actions{display:flex;justify-content:space-between;gap:14px;margin-bottom:10px}
.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;border:1px solid var(--border);padding:11px 18px;border-radius:8px;text-decoration:none;font-size:13px;font-weight:600;min-height:46px;background:var(--surface);transition:background .18s,color .18s}
.button:hover{background:var(--surface-soft)}.button-primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.button-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}
.eyebrow{margin:0 0 7px;color:var(--accent);font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}
h1{font-size:clamp(25px,3vw,38px);line-height:1.2;font-weight:500;letter-spacing:-.035em;margin:0 0 10px}

.intro-line{
  display:flex;
  align-items:baseline;
  gap:10px;
  flex-wrap:wrap;
  padding-top:10px
}

.project{
  margin:0;
  color:var(--muted);
  font-size:14px;
  font-weight: 600;
}

.badge{
  display:inline-block;
  font-size:14px;
  color:var(--muted)
}


.gallery{padding:20px 34px 26px}.stage{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden}
.item{margin:0}
.image-open{border:0;background:transparent;width:100%;padding:10px;display:flex;justify-content:center;align-items:center;min-height:360px;height:clamp(360px,52vh,610px);cursor:zoom-in}
.image-open img{width:100%;height:100%;object-fit:contain}

.control{
  position:absolute;
  top:50%;transform:translateY(-50%);
  width:46px;height:46px;
  border-radius:50%;
  background:var(--surface);
  border:1px solid var(--border);
  display:grid;place-items:center;
  font-size:24px;line-height:1;
  box-shadow:0 4px 12px rgba(0,0,0,.04)
}

.control:hover{background:var(--surface-soft)}.previous{left:18px}.next{right:18px}.zoom-label{position:absolute;bottom:14px;right:16px;font-size:11px;color:var(--muted);pointer-events:none;background:var(--surface);padding:3px 8px;border-radius:5px}
.gallery-info{display:flex;justify-content:space-between;gap:15px;font-size:12px;color:var(--muted);margin:14px 0}.gallery-info p{margin:0}.counter{color:var(--text);font-variant-numeric:tabular-nums}
.thumbnails{display:flex;gap:12px;overflow-x:auto;padding:4px 4px 12px;scroll-snap-type:x proximity}
.thumbnail{position:relative;flex:1 0 100px;max-width:180px;height:120px;padding:12px 22px;background:var(--surface-soft);border:1px solid var(--border);border-radius:8px;scroll-snap-align:nearest}

.thumbnail img{width:100%;height:100%;object-fit:contain;
    transition: background-color 0.3s ease, transform 0.3s ease}

.thumbnail span{position:absolute;bottom:4px;right:8px;font-size:10px;color:var(--muted)}
.thumbnail.is-active{border:2px solid var(--accent);background:var(--surface)}

.thumbnail img:hover {
  transform: scale(1.2);
}

.details{display:flex;align-items:center;justify-content:space-between;gap:25px;border-top:1px solid var(--border);padding:25px 34px;background:var(--surface-soft)}
.details h2{font-size:16px;font-weight:600;margin:0 0 5px}
.details p{font-size:13px;color:var(--muted);margin:0;max-width:650px}

footer{color:var(--on-dark);display:flex;justify-content:center;gap:16px;flex-wrap:wrap;padding:24px 0 32px;font-size:12px}
footer p{margin:0}.footer-links{display:flex;flex-wrap:wrap;gap:20px}
footer a{text-decoration:none}
/* Footer social links */
.footer-socials{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;flex-basis:100%}
.footer-socials a{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:8px 14px;border:1px solid rgba(244,241,235,.25);border-radius:8px;transition:background .18s,border-color .18s}
.footer-socials a:hover{background:rgba(244,241,235,.08);border-color:var(--on-dark)}
.footer-socials svg{width:18px;height:18px;flex-shrink:0}


.modal{position:fixed;inset:0;z-index:100;background:var(--overlay);color:var(--on-dark);padding:60px 70px;overflow:auto}.modal-content{height:100%;max-width:1500px;margin:auto;display:flex;flex-direction:column;align-items:center;justify-content:center}.mySlides{width:100%;height:calc(100% - 48px);min-height:180px;overflow:auto;text-align:center}.mySlides img{width:100%;height:100%;object-fit:contain;margin:auto;background:var(--surface);cursor:zoom-in}
.myclose{position:absolute;top:16px;right:20px}.modal button{background:transparent;color:var(--on-dark);border:1px solid currentColor;border-radius:50%;width:44px;height:44px;font-size:24px;display:grid;place-items:center}

.myprev,.mynext{position:absolute;top:50%;transform:translateY(-50%)}
.myprev{left:14px}
.mynext{right:14px}.caption-container{font-size:12px;text-align:center;min-height:32px}

.caption-container p{margin:14px 0 0}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:700px){.shell{width:calc(100% - 24px)}
  .site-header{padding:18px 0}
  .brand img{width:130px}.brand span{display:none}

  /* SEARCH BY ATTRIBUTE - MOBILE */

  .header-contact{
    min-height:36px;
    padding:8px 12px;
    gap:7px;
    font-size:10px;
    letter-spacing:.06em;
    border-radius:4px;
  }

  .header-contact::after{
    font-size:16px;
  }

  .intro{padding:20px}
  .actions{flex-direction:column;margin-bottom:22px}
  .button{width:100%}
  .gallery{padding:16px 10px 20px}
  .image-open{padding:10px;height:440px;min-height:0}
  .control{width:40px;height:40px}.previous{left:8px}
  .next{right:8px}.zoom-label{right:10px;font-size:10px}
  .gallery-info{padding:0 5px;font-size:11px}
  .thumbnail{flex:0 0 88px;height:105px;padding:10px 15px}
  .details{padding:22px 20px;flex-direction:column;align-items:stretch}
  .modal{padding:65px 15px}.modal button{width:36px;height:36px}
  .myprev{left:8px}.mynext{right:8px}footer{padding:22px 4px}}

@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
.mySlides{overflow:hidden;touch-action:none;user-select:none;position:relative;min-height:0;flex:1}.mySlides img{transform-origin:center center;will-change:transform;max-width:none;user-select:none;-webkit-user-drag:none}.modal-content{height:100%;padding-top:14px}.modal{overflow:hidden;overscroll-behavior:contain}.zoom-toolbar{position:absolute;left:50%;top:12px;transform:translateX(-50%);display:flex;align-items:center;gap:8px;white-space:nowrap}.zoom-toolbar button{font-size:20px;width:36px;height:36px}.zoom-status{font-size:12px;min-width:40px;text-align:center}.caption-container{max-width:100%;flex-shrink:0}.caption-container p{line-height:1.4}.modal button{z-index:2}.modal:fullscreen{width:100%;height:100%}
@media(max-width:700px){.zoom-toolbar{gap:4px;top:16px;left:12px;transform:none}.zoom-toolbar button{width:30px;height:30px;font-size:18px}.zoom-status{min-width:36px}.caption-container{font-size:10px}.modal-content{padding-top:8px}}
.video-frame{height:clamp(360px,52vh,610px);padding:25px 75px 55px;position:relative;display:flex;align-items:center;justify-content:center}.video-frame video{width:100%;height:100%;object-fit:contain;background:var(--surface-soft)}.video-expand{position:absolute;bottom:9px;left:50%;transform:translateX(-50%);font-size:12px;border:1px solid var(--border);background:var(--surface);padding:5px 12px;border-radius:6px}.mySlides.is-video{touch-action:auto;user-select:auto}.mySlides video{width:100%;height:100%;object-fit:contain}.thumbnail .video-icon{position:absolute;inset:0;display:grid;place-items:center;font-size:24px;color:var(--accent);text-shadow:0 1px 4px var(--surface)}
.video-actions{display:flex;justify-content:center;margin:18px 0 4px}

.video-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;padding:10px 18px;border:1px solid var(--accent);border-radius:7px;background:var(--accent);color:var(--on-accent);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:background .18s,border-color .18s}
.video-button:hover{background:var(--accent-hover);border-color:var(--accent-hover)}
.video-button .video-count{opacity:.85;font-weight:600}

/* Project videos — premium poster grid and cinema viewer. */
.video-panel{margin-top:18px;padding:24px;border:1px solid #494238;border-radius:12px;background:#222321;color:#f4f1eb}
.video-panel-heading{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:20px}
.video-panel-heading h2{margin:0;font-size:19px;font-weight:500;letter-spacing:-.02em}
.video-panel-heading p{margin:0;color:#c4b9a8;font-size:11px;letter-spacing:.12em;text-transform:uppercase}
.video-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.video-card{min-width:0;padding:0;overflow:hidden;text-align:left;border:1px solid #514a40;border-radius:9px;background:#2b2c29;color:#f4f1eb;transition:border-color .2s,box-shadow .2s}
.video-card:hover{border-color:#c4a77d;box-shadow:0 8px 24px #0004}
.video-cover{position:relative;display:block;aspect-ratio:16/10;overflow:hidden;background:radial-gradient(ellipse at top,#514639,#161715)}
.video-cover img{width:100%;height:100%;object-fit:contain;transition:transform .3s}
.video-card:hover img{transform:scale(1.035)}
.video-play{position:absolute;inset:0;display:grid;place-items:center;background:linear-gradient(transparent 50%,#0005)}
.video-play::before{content:'▶';display:grid;place-items:center;width:48px;height:48px;padding-left:3px;border:1px solid #e7d6ba99;border-radius:50%;background:#181916bc;color:#f1e5d1;font-size:17px}
.video-card-copy{display:block;padding:15px 16px 17px}
.video-card-label{display:block;color:#c4b9a8;font-size:10px;letter-spacing:.14em;text-transform:uppercase;margin-bottom:6px}
.video-card-title{display:block;font-size:14px;line-height:1.5;font-weight:500}
.video-cinema{position:fixed;inset:0;width:100%;max-width:none;height:100%;height:100dvh;max-height:none;margin:0;padding:24px;background:#111310;color:#f4f1eb;border:0;overflow:auto}
.video-cinema::backdrop{background:#111}
.video-cinema[open]{display:flex;flex-direction:column;gap:20px}
.video-cinema-header,.video-cinema-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-shrink:0}
.video-cinema-brand{font-size:11px;letter-spacing:.18em;color:#c4b9a8}
.video-cinema-tools{display:flex;gap:10px}
.video-cinema button{min-height:44px;min-width:44px;border:1px solid #655a48;border-radius:6px;background:#252720;color:#f4f1eb;padding:8px 14px;font-size:13px}
.video-cinema button:hover{background:#39382e}
.video-cinema-player{min-height:0;flex:1;display:flex;flex-direction:column;justify-content:center}
.video-cinema-player video{display:block;width:100%;height:100%;min-height:0;object-fit:contain;background:#090a08;flex:1}
.video-cinema-title{margin:0;font-size:16px;font-weight:500;line-height:1.4}
.video-cinema-position{margin:5px 0 0;font-size:11px;letter-spacing:.12em;color:#c4b9a8}
.video-cinema .media-failure{margin:8px 0}
@media(max-width:1000px){.video-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.video-actions{margin:14px 0 2px}.video-button{width:100%}.video-panel{padding:16px}.video-panel-heading{display:block}.video-panel-heading p{margin-top:5px}.video-list{grid-template-columns:1fr}.video-cinema{padding:16px;gap:14px}.video-cinema-brand{font-size:9px;letter-spacing:.08em}.video-cinema-title{font-size:13px}
.video-cinema-footer{align-items:flex-start}}
.gallery-empty{padding:70px 20px;text-align:center;color:var(--muted)}.media-failure{padding:12px;text-align:center;font-size:12px}
@media(max-width:700px){.video-frame{height:440px;padding:24px 52px 50px}}

@media (max-width:700px) {
  main {
    display: flex;
    flex-direction: column;
  }

  .gallery {
    order: 1;
  }

  .intro {
    order: 2;
  }

  .details {
    order: 3;
  }
}


/* Architectural gallery layout — desktop sidebar */
@media (min-width:1000px) {
  #main {display:grid;grid-template-columns:220px minmax(0,1fr);align-items:start}
  #main > .intro {grid-column:1;
    background: var(--surface-soft);
    grid-row:1;
    padding:28px 22px;
    border-bottom:0;
    border-right:1px solid #e9e6e0;
    align-self:stretch}

  #main > .gallery {grid-column:2;grid-row:1;min-width:0;padding:20px 26px 26px}
  #main > .details {grid-column:1 / -1}
  .intro .actions {flex-direction:column;gap:22px;margin:0}
  .intro .button {justify-content:center;font-size:12px;line-height:1.5;text-align:left}

  .intro .button:not(.button-primary) {padding:4px 0;
    border:1;
    gap: 0;
    border-radius:0;
    background:transparent;
    font-weight:600;
    color:var(--muted)}

  .intro .button:not(.button-primary):hover {color:var(--accent);text-decoration:underline;text-underline-offset:5px}
  .intro .button-primary {padding:13px 14px;justify-content:space-between;border-radius:6px}
  .intro .video-actions {display:block;justify-content:flex-start;margin:0}
  .intro .video-button {width:auto;min-height:0;padding:4px 0;border:0;border-radius:0;background:transparent;color:var(--btn-bronze);font-size:12px;font-weight:600;letter-spacing:normal;text-transform:none;justify-content:flex-start;line-height:1.5}
  .intro .video-button:hover {background:transparent;border-color:transparent;color:var(--btn-bronze-hover);text-decoration:underline;text-underline-offset:5px}
  .intro .video-button:active {background:transparent;border-color:transparent;color:var(--btn-bronze-active)}
  .intro .button span {flex-shrink:0}
  .intro .intro-line {margin-top:28px;padding-top:20px;
    border-top:1px solid #e9e6e0;
    border-color: darkslategray;
    border-block-start-style: solid;
    flex-direction:column;gap:4px;align-items:flex-start}

  .intro .project {font-size:12px;
    font-size: large;
    letter-spacing:.12em;
    color:var(--text)
}

  .intro .badge {
    font-size:medium}
}

@media (max-width:999px) {
  #main {display:flex;flex-direction:column}
  #main > .gallery {order:1;width:100%;min-width:0}
  #main > .intro {order:2;width:100%}
  #main > .details {order:3;width:100%}
}


/* Luxury button palette — bronze, ivory and charcoal. */
:root {
  --btn-bronze:#865237;
  --btn-bronze-hover:#6e402c;
  --btn-bronze-active:#543124;
  --btn-ivory:#f5f1ea;
  --btn-ivory-hover:#eae2d6;
  --btn-ink:#302d28;
  --btn-line:#ad8962;
  --btn-champagne:#dcc5a3;
  --btn-dark:#242524;
}
.button,.video-button,.control,.video-expand,.header-contact,
.footer-socials a,.modal button,.video-cinema button {
  transition:background-color .2s ease,color .2s ease,border-color .2s ease;
}
.button,.control,.video-expand {
  background:var(--btn-ivory);
  color:var(--btn-ink);
  border-color:var(--btn-line);
}
.button:hover,.control:hover,.video-expand:hover {
  background:var(--btn-ivory-hover);
  color:var(--btn-ink);
  border-color:var(--btn-bronze);
}
.button:active,.control:active,.video-expand:active {
  background:#ded2c1;
  border-color:var(--btn-bronze-active);
}
.button-primary,.video-button {
  background:var(--btn-bronze);
  border-color:var(--btn-bronze);
  color:#ffffff;
}
.button-primary:hover,.video-button:hover {
  background:var(--btn-bronze-hover);
  border-color:var(--btn-bronze-hover);
  color:#ffffff;
}
.button-primary:active,.video-button:active {
  background:var(--btn-bronze-active);
  border-color:var(--btn-bronze-active);
  color:#ffffff;
}
.header-contact,.footer-socials a,.modal button,.video-cinema button {
  background:var(--btn-dark);
  color:var(--btn-champagne);
  border-color:var(--btn-line);
  border-style:solid;
}
.header-contact:hover,.footer-socials a:hover,.modal button:hover,.video-cinema button:hover {
  background:#443c32;
  color:#fff7ec;
  border-color:var(--btn-champagne);
}
.header-contact:active,.footer-socials a:active,.modal button:active,.video-cinema button:active {
  background:#554735;
  color:#ffffff;
  border-color:var(--btn-champagne);
}
.thumbnail:hover {border-color:var(--btn-bronze)}
.thumbnail.is-active {border-color:var(--btn-bronze)}
.video-card:hover,.video-card:active {border-color:var(--btn-champagne)}
.video-card:hover .video-play::before {background:var(--btn-bronze);color:#fff;border-color:var(--btn-champagne)}
.video-card:active .video-play::before {background:var(--btn-bronze-active)}
@media (min-width:1000px) {
  .intro .button:not(.button-primary) {border-color:transparent;color:var(--btn-bronze)}
  .intro .button:not(.button-primary):hover {background:transparent;color:var(--btn-bronze-hover)}
  .intro .button:not(.button-primary):active {background:transparent;color:var(--btn-bronze-active)}
}
/* A two-tone focus ring remains visible on light and dark surfaces. */
:where(.button,.video-button,.control,.video-expand,.header-contact,
.footer-socials a,.modal button,.video-cinema button,.thumbnail,.video-card):focus-visible {
  outline:2px solid #76583c;
  outline-offset:3px;
  box-shadow:0 0 0 3px #fff7ec;
}
/* Keep disabled controls visually inactive, including hover and press. */
.button:is(:disabled,[aria-disabled="true"]),
.video-button:is(:disabled,[aria-disabled="true"]),
.control:is(:disabled,[aria-disabled="true"]),
.video-expand:is(:disabled,[aria-disabled="true"]),
.header-contact:is(:disabled,[aria-disabled="true"]),
.footer-socials a[aria-disabled="true"],
.modal button:is(:disabled,[aria-disabled="true"]),
.video-cinema button:is(:disabled,[aria-disabled="true"]) {
  background:#e6e2dc;
  color:#716b63;
  border-color:#c8c1b7;
  opacity:1;
  cursor:not-allowed;
}

/* Refined play icon and left-aligned video action. */
.video-actions,
.intro .video-actions {
  justify-content: flex-start;
  text-align: left;
}
.video-button,
.intro .video-button {
  justify-content: flex-start;
  text-align: left;
  gap: 12px;
  line-height: 1.5;
}
.video-button .video-button-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 34px;
  width: 34px;
  height: 34px;
  border: 1px solid var(--btn-champagne);
  border-radius: 50%;
  color: var(--btn-champagne);
  background: transparent;
  transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}
.video-button-icon svg {
  display: block;
  width: 16px;
  height: 16px;
}
.video-button .video-button-label { min-width: 0; }
.video-button .video-count { flex-shrink: 0; }
.video-button:not(:disabled):not([aria-disabled="true"]):hover .video-button-icon {
  background: var(--btn-champagne);
  border-color: var(--btn-champagne);
  color: var(--btn-bronze-active);
}
@media (min-width: 1000px) {
  .intro .video-button .video-button-icon {
    background: var(--btn-ivory);
    border-color: var(--btn-line);
    color: var(--btn-bronze);
  }
  .intro .video-button:not(:disabled):not([aria-disabled="true"]):hover {
    text-decoration: none;
  }
  .intro .video-button:not(:disabled):not([aria-disabled="true"]):hover .video-button-icon {
    background: var(--btn-bronze);
    border-color: var(--btn-bronze);
    color: var(--btn-ivory);
  }
}
.video-button:is(:disabled,[aria-disabled="true"]) .video-button-icon {
  background: transparent;
  border-color: currentColor;
  color: inherit;
}

/* STYLES PARA MOSTRAR TODA LA WORK ORDER.
/* Diseño del índice de work order. Las tarjetas son enlaces nativos. */
.order-gallery{padding: 10px;}
.order-intro{margin:0 0 24px;color:var(--muted,#aaa);line-height:1.65}
.order-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.order-card{display:flex;flex-direction:column;border:1px solid #ffffff26;border-radius:10px;overflow:hidden;background:#242524;color:#f5f5f5;text-decoration:none;transition:border-color .2s,background .2s,box-shadow .3s ease}
.order-card:hover{border-color:#b7a58d;background:#2c2d2b}
.order-card:focus-visible{outline:3px solid #b7a58d;outline-offset:4px}

.order-card-image{aspect-ratio:4/5;display:flex;align-items:center;justify-content:center;background:#f1f0ed;padding:18px}
.order-card-image img{width:100%;height:100%;object-fit:contain;display:block;transition:transform .3s ease}

@media(hover:hover){.order-card:hover{box-shadow:0 0 0 1px #b7a58d,0 8px 24px #0003}.order-card:hover .order-card-image img{transform:scale(1.04)}}
.order-card-image{overflow:hidden}
@media(prefers-reduced-motion:reduce){.order-card,.order-card-image img{transition:none}.order-card:hover .order-card-image img{transform:none}}
.order-card-caption{padding:18px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.order-card-caption h2{margin:0;font-size:15px;font-weight:600}
.order-card-caption>span{font-size:12px;white-space:nowrap;color:#d3c3ac}
h1.project{margin:0}
@media(max-width:900px){.order-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

@media(max-width:560px){
  .order-grid{grid-template-columns:1fr}
  .order-card-image{
    aspect-ratio:4/4.5;
    padding:4px;
  }
}

/* Share - Favorites */
.owdf-image-frame{display:contents}
.owdf-image-frame > .owdf-image-icons{position:absolute;inset:0;z-index:5;margin:0;display:block;pointer-events:none}
.owdf-image-icons button[data-action]{position:absolute;top:16px;display:flex;align-items:center;justify-content:center;width:48px;height:48px;padding:10px;border:0;border-radius:50%;background:#f3eee8;box-shadow:0 0 0 1px #b59a7a66;pointer-events:auto;transition:color .2s,background-color .2s}
.owdf-image-icons button[data-action="share"]{left:16px;color:#865237}
.owdf-image-icons button[data-action="favorite"]{right:16px;color:#414340}
.owdf-image-icons button > span{display:none!important}
.owdf-image-icons button svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.8}
.owdf-image-icons button[data-action="share"] svg circle{fill:currentColor;stroke:none}
.owdf-image-icons button:hover:not(:disabled){background:#ead9cb;color:#70442f}
.owdf-image-icons button[data-action="favorite"][aria-pressed="true"]{background:#242524;color:#dcc18e;box-shadow:0 0 0 1px #b79561}
.owdf-image-icons button[data-action="favorite"][aria-pressed="true"] svg{fill:currentColor;stroke:currentColor}
.owdf-image-icons button:active:not(:disabled){background:#e4d0c0;color:#805033}
.owdf-image-icons button:focus-visible{outline:3px solid #b7a58d;outline-offset:3px}



/* Favorito guardado: carbón y dorado, también durante hover y clic. */
.owdf-image-icons button[data-action="favorite"][aria-pressed="true"]:hover:not(:disabled){background:#38332d;color:#f1d5a0}
.owdf-image-icons button[data-action="favorite"][aria-pressed="true"]:active:not(:disabled){background:#171918;color:#dcc18e}

/* CTA de consulta: énfasis cálido sin modificar su tamaño. */
.button[href$="/talk-about-doors-owd.html"]{
  background:#eee3d4;
  color:#553a28;
  border-color:#b59460;
  box-shadow:0 2px 8px #2425240d;
  transition:background-color .2s,color .2s,border-color .2s,box-shadow .2s;
}
.button[href$="/talk-about-doors-owd.html"]:hover{
  background:#e5d2b9;
  color:#422d20;
  border-color:#93633e;
  box-shadow:0 3px 12px #8652371a;
}
.button[href$="/talk-about-doors-owd.html"]:active{background:#dbc3a5;color:#422d20;box-shadow:none}
.button[href$="/talk-about-doors-owd.html"]:focus-visible{outline:3px solid #865237;outline-offset:4px}
@media(prefers-reduced-motion:reduce){
  .button,.video-button,.control,.video-expand,.header-contact,.footer-socials a,
  .modal button,.video-cinema button,.owdf-image-icons button[data-action]{transition:none}
}
