/*
Theme Name: Quintana Partners — Demo (nuevo diseño)
Theme URI: https://quintanapartners.com
Author: Quintana Partners
Description: Demo del nuevo diseño de quintanapartners.com (estilo galería: fotos a pantalla completa, slider con flechas, fichas de proyecto). Contenido e imágenes de la web actual. Instalar sin activar y ver con "Vista previa en vivo".
Version: 1.1.5
Requires PHP: 7.4
Text Domain: qp-demo
*/

/* ============================================================
   Tokens
   ============================================================ */
:root{
  --bg:#FFFFFF;
  --ink:#171512;
  --muted:#7a746c;
  --line:rgba(23,21,18,.14);
  --blush:#F6E2DE;
  --sand:#EFE6DA;
  --terracotta:#C4785C;
  --clay:#7A4F3D;
  --hdr:60px;
  --pad:22px;
  --font:'Figtree',"Helvetica Neue",Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{background:var(--bg);color:var(--ink);font-family:var(--font);font-weight:400;font-size:15px;line-height:1.4;overflow-x:hidden}
body.admin-bar{--adminbar:32px}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
ul{list-style:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
.qp-main{min-height:60vh}
.qp-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.qp-arrow{width:44px;height:18px;display:inline-block;vertical-align:middle}
.qp-arrow.small{width:26px;height:12px}
.qp-arrow.inline{width:26px;height:11px;margin-left:6px}
.qp-link-arrow{font-size:14px;display:inline-flex;align-items:center;transition:opacity .2s}
.qp-link-arrow:hover{opacity:.55}
.qp-wordmark{font-size:14px;letter-spacing:.32em;text-transform:uppercase;font-weight:500;white-space:nowrap}
.qp-wordmark span{font-weight:inherit}

/* ============================================================
   Header (fixed) — like the reference: links left, wordmark centre, lang right
   ============================================================ */
.qp-header{position:fixed;top:var(--adminbar,0);left:0;right:0;height:var(--hdr);z-index:60;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 var(--pad);background:var(--bg);border-bottom:1px solid var(--line);transition:background .35s,color .35s,border-color .35s}
.qp-header.is-transparent{background:transparent;color:#fff;border-bottom-color:rgba(255,255,255,.35)}
.qp-header.is-transparent.is-scrolled,.qp-header.is-transparent.menu-open{background:var(--bg);color:var(--ink);border-bottom-color:var(--line)}
.qp-nav-desktop{display:flex;gap:18px;font-size:13.5px}
.qp-nav-desktop a{transition:opacity .2s;padding:4px 0}
.qp-nav-desktop a:hover,.qp-nav-desktop a.is-current{opacity:.55}
.qp-nav-mobile-left{display:none}
.qp-brand{grid-column:2;justify-self:center}
.qp-header-right{grid-column:3;justify-self:end;display:flex;align-items:center;gap:18px;font-size:13.5px}
.qp-lang a{opacity:.45;padding:0 3px}
.qp-lang a.is-current{opacity:1}
.qp-menu-btn{display:none;font-size:15px;padding:6px 0}
.qp-menu-btn .lbl-close{display:none}
.qp-header.menu-open .qp-menu-btn .lbl-open{display:none}
.qp-header.menu-open .qp-menu-btn .lbl-close{display:block}
.qp-main{padding-top:calc(var(--hdr) + var(--adminbar,0px))}
body.qp-view-home .qp-main,body.qp-view-projects .qp-main,body.qp-view-project .qp-main,body.qp-view-who .qp-main{padding-top:0}

/* Menu overlay (mobile) */
.qp-menu{position:fixed;inset:0;z-index:55;background:var(--bg);display:flex;flex-direction:column;justify-content:center;padding:calc(var(--hdr) + var(--adminbar,0px)) var(--pad) 32px;opacity:0;pointer-events:none;transition:opacity .3s}
.qp-menu.is-open{opacity:1;pointer-events:auto}
.qp-menu ul li a{display:block;font-size:clamp(34px,8vw,64px);font-weight:300;line-height:1.15;padding:6px 0;letter-spacing:-.01em}
.qp-menu-bottom{margin-top:36px;display:flex;justify-content:space-between;align-items:center;font-size:13px}
.qp-menu-social{display:flex;gap:22px}

/* ============================================================
   Home — intro splash
   ============================================================ */
.qp-splash{position:fixed;inset:0;z-index:80;background:#111;display:none;align-items:center;justify-content:center;cursor:pointer;transition:opacity .9s ease}
.qp-splash img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.9}
.qp-splash-mark{position:absolute;top:8vh;left:0;right:0;text-align:center;color:#fff;font-size:clamp(28px,4vw,54px);letter-spacing:.32em;font-weight:400;text-indent:.32em}
.qp-splash-name{position:absolute;bottom:7vh;left:0;right:0;text-align:center;color:#fff}
.qp-splash-name .qp-wordmark{font-size:clamp(22px,3.4vw,46px);letter-spacing:.2em}
.qp-splash.is-visible{display:flex}
.qp-splash.is-leaving{opacity:0;pointer-events:none}

/* ============================================================
   Home — big slider with arrows
   ============================================================ */
.qp-bigslider{position:relative;height:calc(100svh - var(--hdr) - var(--adminbar,0px));min-height:520px;background:var(--bg)}
.qp-bigslider-track{height:100%;display:flex;gap:20px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;padding:18px 50px 0;cursor:grab;-webkit-overflow-scrolling:touch}
.qp-bigslider-track.is-dragging{cursor:grabbing;scroll-snap-type:none}
.qp-bigslider-track::-webkit-scrollbar{display:none}
.qp-bigslide{flex:0 0 auto;height:100%;scroll-snap-align:center;display:flex;flex-direction:column}
.qp-bigslide-img{display:block;height:calc(100% - 46px)}
.qp-bigslide-img img{height:100%;width:auto;max-width:none;object-fit:cover}
.qp-legend{height:46px;display:flex;align-items:center;gap:14px;font-size:13px;text-transform:uppercase;letter-spacing:.02em}
.qp-legend span{text-transform:none;color:var(--muted)}
.qp-bigslide:first-child{margin-left:calc(50vw - 50px - 34vh)}
.qp-bigslide:last-child{margin-right:calc(50vw - 50px - 34vh)}
.qp-slider-btn{position:absolute;top:50%;transform:translateY(-50%);z-index:5;width:96px;height:96px;display:flex;align-items:center;justify-content:center;color:var(--ink);mix-blend-mode:difference;color:#fff;transition:opacity .2s}
.qp-slider-btn .qp-arrow{width:60px;height:24px}
.qp-slider-btn:hover{opacity:.6}
.qp-slider-btn.prev{left:8px}
.qp-slider-btn.next{right:8px}

/* Full-screen home gallery */
.qp-hero{position:relative;height:100svh;min-height:480px;overflow:hidden;background:#111}
.qp-hero-slide{position:absolute;inset:0;display:block;opacity:0;transition:opacity 1s ease;pointer-events:none}
.qp-hero-slide.is-active{opacity:1;pointer-events:auto;z-index:1}
.qp-hero-slide img{width:100%;height:100%;object-fit:cover}
.qp-hero-cap{position:absolute;left:var(--pad);bottom:22px;color:#fff;font-size:13px;text-transform:uppercase;letter-spacing:.02em;text-shadow:0 1px 12px rgba(0,0,0,.4)}
.qp-hero-cap em{font-style:normal;text-transform:none;margin-left:12px;opacity:.9}

/* Text section */
.qp-text-section{padding:clamp(56px,8vw,110px) var(--pad)}
.qp-text-section p{font-size:clamp(22px,2.5vw,34px);font-weight:300;line-height:1.3;max-width:1180px}
.qp-text-section p+p{margin-top:1em}

/* Tiles */
.qp-tiles{display:grid;grid-template-columns:1fr 1fr}
.qp-tile{display:grid;grid-template-columns:1fr 1fr}
.qp-tile-name{padding:14px 16px;font-size:13px;text-transform:uppercase;letter-spacing:.02em}
.qp-tile-pic{aspect-ratio:3/4;overflow:hidden}
.qp-tile-pic img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s ease}
.qp-tile:hover .qp-tile-pic img{transform:scale(1.04)}
.qp-tile.t1 .qp-tile-name{background:var(--blush)}
.qp-tile.t2 .qp-tile-name{background:var(--terracotta);color:#fff}
.qp-tile.t3 .qp-tile-name{background:var(--sand)}
.qp-tile.t4 .qp-tile-name{background:var(--clay);color:#fff}

/* Discover */
.qp-discover{padding:clamp(48px,7vw,90px) var(--pad);display:flex;flex-direction:column;gap:22px;align-items:flex-start}
.qp-discover p{font-size:clamp(20px,2.2vw,28px);font-weight:300;max-width:900px;line-height:1.3}

/* Studio block */
.qp-studio-block{background:var(--clay);color:#fff;display:grid;grid-template-columns:1fr 1fr}
.qp-studio-pic{max-height:900px;overflow:hidden}
.qp-studio-pic img{width:100%;height:100%;object-fit:cover}
.qp-studio-info{padding:30px 26px 40px;display:flex;flex-direction:column;justify-content:space-between;gap:40px}
.qp-studio-info h2{font-size:13px;text-transform:uppercase;letter-spacing:.02em;font-weight:400}
.qp-studio-info address{font-style:normal;font-size:clamp(18px,1.7vw,24px);font-weight:300;line-height:1.4}
.qp-studio-info address a{border-bottom:1px solid rgba(255,255,255,.4)}
.qp-studio-links{display:flex;gap:22px;font-size:13px;text-transform:uppercase}

/* ============================================================
   Projects — full-screen photos, filters, list view, zoom
   ============================================================ */
.qp-projects{position:relative}
.qp-projects-bar{position:fixed;top:calc(var(--hdr) + var(--adminbar,0px));left:0;right:0;z-index:50;display:flex;justify-content:space-between;align-items:center;padding:8px var(--pad);font-size:13px;color:#fff;pointer-events:none;transition:background .35s,color .35s}
.qp-header.is-scrolled~.qp-main .qp-projects-bar,.qp-projects[data-view="names"] .qp-projects-bar{color:var(--ink);background:var(--bg);border-bottom:1px solid var(--line)}
.qp-projects-bar>*{pointer-events:auto}
.qp-filters{display:flex;align-items:center;gap:18px}
.qp-filters-title{text-transform:uppercase;letter-spacing:.02em;margin-right:4px}
.qp-radio{display:inline-flex;align-items:center;gap:7px;cursor:pointer}
.qp-radio input{position:absolute;opacity:0;width:0;height:0}
.qp-radio .mark{width:11px;height:11px;border:1px solid currentColor;border-radius:50%;display:inline-block;position:relative}
.qp-radio input:checked+.mark::after{content:"";position:absolute;inset:2px;border-radius:50%;background:currentColor}
.qp-projects-tools{display:flex;align-items:center;gap:22px}
.qp-view-toggle{white-space:nowrap}
.qp-zoom{display:flex;gap:14px}
.qp-zoom button{opacity:.9}
.qp-zoom button:disabled{opacity:.3;cursor:default}
.qp-projects-grid{display:grid;grid-template-columns:1fr;gap:0}
.qp-pitem{position:relative;display:block;height:100svh;background:var(--sand);clip-path:inset(0)}
.qp-pitem-pic{position:absolute;inset:0;overflow:hidden}
.qp-pitem img{width:100%;height:100%;object-fit:cover;transition:transform 1.6s ease}
/* Focal point per cover (see qp_image): --fx on desktop, --fx-m on narrow screens */
img[style*="--fx"]{object-position:var(--fx) 50%}
.qp-pitem:hover img{transform:scale(1.03)}
/* Caption is fixed at the middle of the screen; the item's clip-path reveals it only while its photo covers that point, so it is cut off at the photo's bottom edge and the next name takes over */
.qp-pitem-cap{position:fixed;left:0;right:0;top:50%;transform:translateY(-50%);margin:0;min-height:48px;display:flex;align-items:center;justify-content:center;gap:16px;text-align:center;color:#fff;font-size:clamp(17px,1.6vw,22px);text-shadow:0 1px 16px rgba(0,0,0,.35);padding:0 24px;flex-wrap:wrap;pointer-events:none}
.qp-pitem-cap .n{text-transform:uppercase;letter-spacing:.01em}
.qp-pitem-cap .l{opacity:.95}
.qp-projects[data-cols="2"] .qp-projects-grid{grid-template-columns:1fr 1fr;gap:10px;padding:calc(var(--hdr) + var(--adminbar,0px) + 48px) 10px 10px}
.qp-projects[data-cols="2"] .qp-pitem{height:64vh}
.qp-projects[data-cols="2"] .qp-pitem-cap,.qp-projects[data-cols="3"] .qp-pitem-cap{position:absolute;inset:0;transform:none;margin:0;min-height:0;padding:24px}
.qp-projects[data-cols="3"] .qp-projects-grid{grid-template-columns:1fr 1fr 1fr;gap:10px;padding:calc(var(--hdr) + var(--adminbar,0px) + 48px) 10px 10px}
.qp-projects[data-cols="3"] .qp-pitem{height:46vh}
.qp-projects[data-cols="3"] .qp-pitem-cap{font-size:15px}
.qp-pitem.is-hidden{display:none}
.qp-projects-list{display:none;padding:calc(var(--hdr) + var(--adminbar,0px) + 52px) var(--pad) 80px;position:relative}
.qp-projects[data-view="names"] .qp-projects-grid{display:none}
.qp-projects[data-view="names"] .qp-projects-list{display:block;min-height:80vh}
.qp-projects[data-view="names"]{padding-top:0}
.qp-projects-list table{width:100%;border-collapse:collapse;font-size:14px}
.qp-projects-list th{text-align:left;font-weight:400;font-size:12px;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);padding:10px 0;border-bottom:1px solid var(--line)}
.qp-projects-list td{padding:13px 0;border-bottom:1px solid var(--line);cursor:pointer}
.qp-projects-list tr.is-hidden{display:none}
.qp-projects-list tbody tr:hover{opacity:.55}
.qp-list-preview{position:fixed;right:40px;bottom:40px;width:260px;aspect-ratio:3/4;pointer-events:none;opacity:0;transition:opacity .25s;z-index:20}
.qp-list-preview.is-visible{opacity:1}
.qp-list-preview img{width:100%;height:100%;object-fit:cover}
.qp-totop-fixed{position:fixed;right:22px;bottom:22px;z-index:40;color:#fff;mix-blend-mode:difference;opacity:0;transition:opacity .3s}
.qp-totop-fixed.is-visible{opacity:1}
.qp-totop-fixed .qp-arrow{width:48px;height:20px}

/* ============================================================
   Project — cover, sticky title bar, text/specs, gallery slider
   ============================================================ */
.qp-cover{height:100svh;margin-top:0;position:relative;background:var(--sand)}
.qp-cover{overflow:hidden}
.qp-cover img{width:100%;height:100%;object-fit:cover}
/* Wide frames scale the photo to full width, so a focal point can't shift it; --fx-w enlarges it just enough to centre the subject */
.qp-cover img[style*="--fx-w"]{width:var(--fx-w);max-width:none;margin-left:calc(50% - var(--fx-w) * var(--fx-c));object-position:50% var(--fx-y,50%)}
.qp-titlebar{position:sticky;top:calc(var(--hdr) + var(--adminbar,0px));z-index:45;background:var(--bg);display:flex;justify-content:space-between;align-items:center;padding:0 var(--pad);height:44px;border-bottom:1px solid var(--line)}
.qp-titlebar h1{font-size:15px;font-weight:400;text-transform:uppercase;letter-spacing:.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.qp-titlebar h1 span{text-transform:none;margin-left:14px}
.qp-titlebar-tools{display:flex;gap:22px;align-items:center}
.qp-titlebar-tools a{display:flex;transition:opacity .2s}
.qp-titlebar-tools a:hover{opacity:.5}
.qp-project-text{display:grid;grid-template-columns:1.2fr 1fr;gap:60px;padding:40px var(--pad) 60px}
.qp-project-desc{max-width:720px}
.qp-project-desc p{font-size:16px;line-height:1.55;margin-bottom:1em;max-width:640px}
.qp-project-desc .qp-project-sub{font-size:clamp(20px,2vw,26px);font-weight:300;line-height:1.3;margin-bottom:1.2em}
.qp-specs{border-top:1px solid var(--ink);align-self:start;max-width:520px;justify-self:end;width:100%}
.qp-spec{display:grid;grid-template-columns:1fr 1fr;padding:9px 0;border-bottom:1px solid var(--line);font-size:14px}
.qp-spec .k{color:var(--muted)}
.qp-gallery{position:relative;height:calc(100svh - var(--hdr) - 44px);min-height:520px;margin:0 0 40px}
.qp-gallery-track{height:100%;display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;cursor:grab}
.qp-gallery-track::-webkit-scrollbar{display:none}
.qp-gallery-track.is-dragging{cursor:grabbing;scroll-snap-type:none}
.qp-gslide{flex:0 0 100%;height:100%;scroll-snap-align:center;display:flex;align-items:center;justify-content:center;padding:30px 120px}
.qp-gslide img{max-height:100%;max-width:100%;width:auto;height:auto;object-fit:contain}
.qp-gallery .qp-slider-btn{mix-blend-mode:normal;color:var(--ink)}
.qp-gallery-count{position:absolute;left:var(--pad);bottom:8px;font-size:12px;color:var(--muted)}
.qp-gallery-stack{display:none}
.qp-next{background:var(--blush);padding:28px var(--pad) 60px}
.qp-breadcrumb{font-size:13px;color:var(--muted);margin-bottom:34px}
.qp-breadcrumb a:hover{opacity:.6}
.qp-next h3{font-size:16px;font-weight:400;margin-bottom:18px}
.qp-next-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-bottom:34px}
.qp-next-item .pic{aspect-ratio:4/5;overflow:hidden;background:var(--sand)}
.qp-next-item .pic img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s ease}
.qp-next-item:hover .pic img{transform:scale(1.04)}
.qp-next-item .cap{padding:12px 0;font-size:13px;text-transform:uppercase}
.qp-next-item .cap span{text-transform:none;color:var(--muted);margin-left:12px}

/* ============================================================
   Who we are
   ============================================================ */
.qp-cover-about{height:100svh;margin-top:0}
.qp-cover-names{position:absolute;left:var(--pad);bottom:22px;color:#fff;font-size:13px;text-transform:uppercase;letter-spacing:.06em;display:flex;gap:26px;text-shadow:0 1px 12px rgba(0,0,0,.4)}
.qp-about-studio{padding:clamp(48px,7vw,90px) var(--pad)}
.qp-about-studio h1{font-size:13px;text-transform:uppercase;letter-spacing:.06em;font-weight:400;margin-bottom:26px}
.qp-about-studio .lead{font-size:clamp(22px,2.5vw,34px);font-weight:300;line-height:1.3;max-width:1100px;margin-bottom:clamp(40px,6vw,80px)}
.qp-about-row{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;margin-bottom:clamp(40px,6vw,80px)}
.qp-about-row.reverse .pic{order:2}
.qp-about-row .pic img{width:100%;height:auto}
.qp-about-row p{font-size:clamp(17px,1.5vw,21px);font-weight:300;line-height:1.45;max-width:560px}
.qp-manifesto{background:var(--blush);padding:clamp(48px,7vw,90px) var(--pad)}
.qp-manifesto h2{font-size:13px;text-transform:uppercase;letter-spacing:.06em;font-weight:400;margin-bottom:26px}
.qp-manifesto li{font-size:clamp(20px,2.4vw,32px);font-weight:300;line-height:1.3;margin-bottom:.8em;display:flex;flex-wrap:wrap;gap:0 .35em}
.qp-manifesto li .gray{color:var(--muted)}
.qp-about-final img{width:100%;max-height:90vh;object-fit:cover}

/* ============================================================
   Press
   ============================================================ */
.qp-page-head{padding:clamp(40px,6vw,70px) var(--pad) 30px;display:flex;justify-content:space-between;align-items:baseline;gap:30px;flex-wrap:wrap}
.qp-page-head h1{font-size:13px;text-transform:uppercase;letter-spacing:.06em;font-weight:400}
.qp-page-head p{font-size:clamp(18px,1.8vw,24px);font-weight:300;max-width:700px}
.qp-press .qp-page-head{padding:clamp(60px,9vw,120px) clamp(24px,8vw,120px) clamp(50px,7vw,90px)}
.qp-press-list{padding:0 clamp(24px,8vw,120px) 140px;position:relative}
.qp-press-row{display:grid;grid-template-columns:110px 200px 1fr 60px;gap:24px;align-items:baseline;max-width:920px;padding:13px 0;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none;font-size:13px;line-height:1.4;transition:opacity .3s ease}
.qp-press-row.is-year{margin-top:0}
.qp-press-row .y{font-size:15px;font-weight:300;letter-spacing:.02em}
.qp-press-row .pub{text-transform:uppercase;letter-spacing:.06em;font-size:11.5px}
.qp-press-row .t{font-weight:300;font-size:14px}
.qp-press-row .see{text-align:right;font-size:11.5px;text-transform:uppercase;letter-spacing:.06em;opacity:0;transition:opacity .25s ease;white-space:nowrap}
.qp-press-list:hover .qp-press-row:not(:hover){opacity:.35}
a.qp-press-row:hover .see{opacity:1}
.qp-press-float{position:fixed;left:0;top:0;width:min(260px,32vw);pointer-events:none;opacity:0;transform:translate(24px,-50%);transition:opacity .25s ease;z-index:60}
.qp-press-float.is-visible{opacity:1}
.qp-press-float img{display:block;width:100%;height:auto;box-shadow:0 20px 50px rgba(0,0,0,.18);background:var(--sand)}
.qp-press-float img[src=""],.qp-press-float img:not([src]){display:none}
.qp-press-float span{display:none;font-size:13px;text-transform:uppercase;letter-spacing:.06em;padding:18px 20px;background:#fff;box-shadow:0 20px 50px rgba(0,0,0,.14);border:1px solid var(--line)}
.qp-press-float.no-img span{display:block}
.qp-lightbox{position:fixed;inset:0;z-index:200;background:rgba(20,18,16,.92);display:flex;align-items:center;justify-content:center;padding:40px;cursor:zoom-out}
.qp-lightbox[hidden]{display:none}
.qp-lightbox img{max-width:100%;max-height:100%;width:auto;height:auto;box-shadow:0 30px 80px rgba(0,0,0,.5)}
.qp-lightbox-close{position:absolute;top:18px;right:24px;background:none;border:0;color:#fff;font-size:34px;line-height:1;cursor:pointer;font-weight:300}

/* ============================================================
   Contact
   ============================================================ */
.qp-contact{display:grid;grid-template-columns:1fr 1fr;background:var(--clay);color:#fff;min-height:calc(100svh - var(--hdr))}
.qp-contact-pic img{width:100%;height:100%;object-fit:cover}
.qp-contact-info{padding:34px 30px 50px;display:flex;flex-direction:column;gap:44px}
.qp-contact-info h1{font-size:13px;text-transform:uppercase;letter-spacing:.06em;font-weight:400}
.qp-contact-block h2{font-size:13px;text-transform:uppercase;letter-spacing:.02em;font-weight:400;margin-bottom:12px;opacity:.8}
.qp-contact-block address,.qp-contact-block p{font-style:normal;font-size:clamp(15px,1.15vw,18px);font-weight:300;line-height:1.6}
.qp-contact-block a:hover{opacity:.7}

/* Legal pages */
.qp-legal{padding:clamp(40px,6vw,70px) var(--pad) 80px;max-width:860px}
.qp-legal h1{font-size:13px;text-transform:uppercase;letter-spacing:.06em;font-weight:400;margin-bottom:26px}
.qp-legal-date{color:var(--muted);font-size:13px;margin-bottom:28px}
.qp-legal strong{font-weight:500;display:block;margin-top:26px}
.qp-legal h2{font-size:17px;font-weight:500;margin:30px 0 10px}
.qp-legal p{font-size:15px;line-height:1.6;margin-bottom:12px}
.qp-legal a{border-bottom:1px solid var(--line)}
.qp-legal-table{width:100%;border-collapse:collapse;font-size:13px;margin:16px 0 24px}
.qp-legal-table th,.qp-legal-table td{text-align:left;vertical-align:top;padding:9px 10px 9px 0;border-bottom:1px solid var(--line)}
.qp-legal-table th{font-weight:400;color:var(--muted);text-transform:uppercase;font-size:11px;letter-spacing:.04em}

/* ============================================================
   Footer — four columns like the reference
   ============================================================ */
.qp-footer{padding:40px var(--pad) 30px;border-top:1px solid var(--line)}
.qp-footer-cols{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.qp-footer-col{padding-right:20px;border-left:1px solid var(--line);padding-left:16px}
.qp-footer-col:first-child{border-left:0;padding-left:0}
.qp-footer-col h4{font-size:12px;text-transform:uppercase;letter-spacing:.06em;font-weight:400;margin-bottom:22px}
.qp-footer-col li{font-size:14px;margin-bottom:10px}
.qp-footer-col a:hover{opacity:.55}
.qp-footer-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:50px;font-size:12px;color:var(--muted)}
.qp-totop{color:var(--ink);display:flex}
.qp-totop .qp-arrow{width:44px;height:18px}

/* ============================================================
   Responsive
   ============================================================ */
@media (max-width:1024px){
  .qp-project-text{grid-template-columns:1fr;gap:34px}
  .qp-specs{justify-self:start}
  .qp-press-row{grid-template-columns:80px 160px 1fr 50px;gap:16px}
  .qp-footer-cols{grid-template-columns:1fr 1fr;gap:30px 20px}
  .qp-footer-col:nth-child(3){border-left:0;padding-left:0}
}
@media (max-width:820px){
  :root{--hdr:56px;--pad:16px}
  img[style*="--fx"]{object-position:var(--fx-m,var(--fx)) 50%}
  .qp-cover img[style*="--fx-w"]{width:100%;margin-left:0;object-position:var(--fx-m,var(--fx)) 50%}
  .qp-nav-desktop,.qp-header-right .qp-lang{display:none}
  .qp-nav-mobile-left{display:flex;align-items:center}
  .qp-menu-btn{display:block}
  .qp-wordmark{font-size:12px;letter-spacing:.28em}
  /* home */
  .qp-splash{display:none!important}
  .qp-bigslider{min-height:0;height:calc(100svh - var(--hdr) - var(--adminbar,0px))}
  .qp-bigslider-track{padding:12px 16px 0;gap:12px}
  .qp-bigslide:first-child,.qp-bigslide:last-child{margin:0}
  .qp-bigslide-img img{width:86vw;height:100%}
  .qp-slider-btn{display:none}
  .qp-tiles{grid-template-columns:1fr}
  .qp-tile-pic{aspect-ratio:1/1}
  .qp-studio-block,.qp-contact{grid-template-columns:1fr}
  .qp-studio-pic{aspect-ratio:4/5}
  /* projects: full-screen stacked photos, always */
  .qp-projects-bar{padding:6px var(--pad);font-size:12px;gap:10px}
  .qp-filters{gap:12px;overflow-x:auto;scrollbar-width:none}
  .qp-filters-title{display:none}
  .qp-zoom{display:none}
  .qp-projects[data-cols="2"] .qp-projects-grid,.qp-projects[data-cols="3"] .qp-projects-grid{grid-template-columns:1fr;gap:0;padding:0}
  .qp-projects[data-cols="2"] .qp-pitem,.qp-projects[data-cols="3"] .qp-pitem{height:100svh}
  .qp-pitem-cap{flex-direction:column;gap:4px;font-size:19px}
  .qp-list-preview{display:none}
  .qp-projects-list table th:nth-child(3),.qp-projects-list table td:nth-child(3){display:none}
  /* project */
  .qp-titlebar h1{font-size:13px}
  .qp-titlebar h1 span{display:block;margin:0;font-size:12px;color:var(--muted)}
  .qp-gallery{display:none}
  .qp-gallery-stack{display:block}
  .qp-gallery-stack img{width:100%;height:auto;margin-bottom:10px}
  .qp-next-grid{grid-template-columns:1fr;gap:26px}
  .qp-next-item .pic{aspect-ratio:4/5}
  /* about / press / contact */
  .qp-about-row{grid-template-columns:1fr;gap:20px}
  .qp-about-row.reverse .pic{order:0}
  .qp-press-row{grid-template-columns:54px 1fr;gap:4px 12px;padding:14px 0}
  .qp-press-row .y{grid-row:1/3}
  .qp-press-row .pub,.qp-press-row .t{grid-column:2}
  .qp-press-row .see{display:none}
  .qp-press-list:hover .qp-press-row:not(:hover){opacity:1}
  .qp-press-float{display:none}
  .qp-footer-cols{grid-template-columns:1fr;gap:26px}
  .qp-footer-col{border-left:0;padding-left:0;border-top:1px solid var(--line);padding-top:18px}
  .qp-footer-col:first-child{border-top:0;padding-top:0}
}
