:root{--green:#171717;--green2:#191919;--cream:#fff5c9;--paper:#fffdf3;--gold:#f0ca00;--rust:#16a34a;--muted:#68746b;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--green);font-family:var(--sans);font-size:15px}.site-header{height:84px;padding:0 7.2%;display:flex;align-items:center;justify-content:space-between;background:var(--paper)}.brand{display:flex;gap:10px;align-items:center;color:var(--green);font-size:13px;font-weight:600;letter-spacing:.13em;text-decoration:none}.brand-logo{width:56px;height:56px;object-fit:contain}.brand-caption{font-size:9px;letter-spacing:.16em;color:var(--green)}.site-header .brand-caption{font:600 23px/1.1 var(--serif);letter-spacing:.01em}.nav{display:flex;align-items:center;gap:24px}.brand-area{display:flex;flex-direction:column;align-items:flex-start}.header-socials{display:flex;align-items:center;gap:10px;margin:3px 0 0 66px}.header-socials a{display:grid;place-items:center;width:22px;height:22px;color:var(--green)}.header-socials a:hover{color:var(--rust)}.header-socials svg{width:19px;height:19px;fill:currentColor}.header-socials a:nth-child(2) svg{fill:none;stroke:currentColor;stroke-width:1.8}.header-socials .icon-dot{fill:currentColor;stroke:none}.nav a,.text-link{font-size:13px;color:var(--green);text-decoration:none}.nav a:hover,.text-link:hover{color:var(--rust)}.nav .nav-cta{border:1px solid #a4aa9c;padding:12px 18px}.nav-cta span,.text-link span{margin-left:10px}.menu-toggle{display:none;border:0;background:none;font-size:23px;color:var(--green)}.hero{position:relative;display:grid;grid-template-columns:1fr 1fr;min-height:650px;padding:66px 10% 74px 12%;background:var(--cream);overflow:hidden}.hero-copy{align-self:center;position:relative;z-index:2;padding-bottom:24px}.eyebrow{margin:0 0 25px;font-size:10px;letter-spacing:.2em;font-weight:700;color:var(--green2)}.eyebrow span{display:inline-block;width:20px;height:1px;background:var(--rust);vertical-align:middle;margin-right:8px}h1,h2,h3,p{margin-top:0}h1,h2{font-family:var(--serif);font-weight:500;letter-spacing:-.04em}h1{font-size:clamp(50px,6.2vw,82px);line-height:1.07;margin-bottom:24px}h1 em,h2 em{font-weight:500;color:var(--rust)}.hero-intro{max-width:410px;line-height:1.8;color:#51645a;font-size:14px}.hero-actions{display:flex;align-items:center;gap:26px;margin-top:32px}.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;padding:16px 21px;text-decoration:none;font-size:12px;font-weight:600;transition:transform .2s}.button:hover{transform:translateY(-2px)}.button-dark{background:var(--green);color:#fff}.button-dark span{font-size:17px}.hero-note{display:flex;gap:12px;align-items:center;margin-top:53px;color:#627268;font-size:11px;line-height:1.6}.note-icon{font-size:25px;color:var(--rust)}.hero-note b{color:var(--green);font-weight:600}.hero-art{position:relative;justify-self:end;width:min(100%,570px);align-self:center;padding:5px 5px 35px}.hero-art svg,.hero-photo{display:block;width:100%;position:relative;z-index:1;filter:drop-shadow(0 17px 25px #31584d1f)}.hero-art picture{display:block;width:100%;height:auto}.hero-photo{height:auto;aspect-ratio:auto;object-fit:contain;object-position:center}.sun{position:absolute;width:410px;height:410px;border-radius:50%;background:#ead6a6;right:0;top:35px;opacity:.48}.art-caption,.art-index{position:absolute;bottom:0;font-size:8px;letter-spacing:.17em;color:#65756a}.art-caption{left:8px}.art-index{right:8px}.hero-bottom{position:absolute;bottom:20px;left:12%;right:12%;display:flex;justify-content:space-between;color:#748175;font-size:8px;letter-spacing:.16em}.section-pad{padding:100px 12%}.intro{padding-top:112px;padding-bottom:116px}.intro .eyebrow{margin-bottom:30px}.intro-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:10%}.intro h2,.section-heading h2,.process h2,.contact h2{font-size:clamp(38px,4.5vw,59px);line-height:1.16;margin:0}.intro-grid>div{align-self:end;padding-bottom:7px}.intro-grid p{font-size:14px;line-height:1.9;color:#647168;margin-bottom:20px}.collection{background:#f0ebdf;padding-top:96px;padding-bottom:104px}.section-heading{display:flex;justify-content:space-between;gap:50px;align-items:end;margin-bottom:42px}.section-heading .eyebrow{margin-bottom:18px}.section-heading>p{max-width:315px;font-size:13px;line-height:1.8;color:#647168;margin-bottom:5px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.work-card{min-width:0}.work-art{height:230px;position:relative;overflow:hidden;background:#e2d0a5}.work-art svg,.work-art .category-photo{width:100%;height:100%;display:block;transition:transform .5s}.work-art picture{display:block;width:100%;height:100%}.work-art .category-photo{object-fit:contain;background:#e8ddc5}.work-card:hover .work-art svg,.work-card:hover .work-art .category-photo{transform:scale(1.04)}.tag{position:absolute;bottom:12px;left:12px;background:var(--paper);padding:8px 10px;font-size:8px;letter-spacing:.15em}.card-info{display:flex;justify-content:space-between;padding-top:15px;border-bottom:1px solid #c8c7b9;padding-bottom:12px}.card-info h3{font:500 17px var(--serif);margin:0}.card-info span{font-size:10px;color:#778176}.sample-note{margin:19px 0 0;color:#788075;font-size:10px;font-style:italic}.process{display:grid;grid-template-columns:46% 54%;gap:0;padding:0;background:var(--paper)}.process-title{display:flex;flex-direction:column;justify-content:center;min-height:660px;padding:72px 10%;background:linear-gradient(90deg,rgba(10,13,12,.82),rgba(10,13,12,.48)),url("vitralia-portada.webp") 70% center/cover no-repeat;color:var(--cream)}.process-title .eyebrow{color:#f0ca00}.process-title h2{font-size:clamp(42px,5vw,66px);line-height:1.1;color:var(--cream)}.process-title h2 em{color:#16a34a}.process-title>p:last-child{margin-top:22px;max-width:340px;color:#f1efe6;font-size:14px;line-height:1.8}.steps{align-self:center;padding:42px clamp(28px,5vw,78px)}.process-title .eyebrow{max-width:250px;line-height:1.7}.steps article{padding:0;border-bottom:1px solid #d4d5c8}.steps article:first-child{border-top:1px solid #d4d5c8}.process-toggle{display:grid;grid-template-columns:170px 1fr 38px;align-items:center;gap:14px;width:100%;padding:21px 0;border:0;background:transparent;color:var(--green);text-align:left;cursor:pointer}.process-toggle:focus-visible{outline:2px solid var(--rust);outline-offset:3px}.process-number{font-size:10px;font-weight:700;letter-spacing:.14em;color:var(--rust)}.process-step-title{font:500 21px/1.3 var(--serif)}.process-plus{width:36px;height:36px;display:grid;place-items:center;border:1px solid #b7b9aa;border-radius:50%;font:400 24px/1 var(--sans);transition:transform .2s,color .2s,border-color .2s}.process-toggle:hover .process-plus,.process-toggle[aria-expanded=true] .process-plus{color:var(--rust);border-color:var(--rust)}.process-toggle[aria-expanded=true] .process-plus{transform:rotate(45deg)}.process-detail{padding:0 52px 24px 184px}.process-detail p{margin:0;color:#68746b;font-size:13px;line-height:1.8}.reviews{background:#f0ebdf;padding-top:96px;padding-bottom:100px}.reviews-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:34px}.reviews-heading .eyebrow{margin-bottom:16px}.reviews-heading h2{font-size:clamp(37px,4vw,54px);line-height:1.15;margin:0}.reviews-heading-actions{display:flex;align-items:center;gap:20px;padding-bottom:8px}.reviews-heading-actions>.text-link{white-space:nowrap}.review-controls{display:flex;gap:8px}.review-controls button{width:38px;height:38px;display:grid;place-items:center;border:1px solid #a9aa9c;border-radius:50%;background:transparent;color:var(--green);font-size:19px;cursor:pointer;transition:background .2s,color .2s}.review-controls button:hover:not(:disabled){background:var(--green);color:#fff}.review-controls button:disabled{opacity:.35;cursor:default}.review-grid{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 36px)/3);gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;overscroll-behavior-x:contain;padding-bottom:6px}.review-grid::-webkit-scrollbar{display:none}.review-card{background:var(--paper);padding:24px;display:flex;flex-direction:column;min-height:300px;border-top:3px solid var(--gold);scroll-snap-align:start}.review-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.review-stars{color:#d7a900;letter-spacing:.12em;font-size:16px}.empty-star{color:#c8c8bd}.review-source{font-size:8px;letter-spacing:.16em;color:#6f786f}.review-quote{font:400 14px/1.8 var(--sans);color:#39423c;flex:1}.review-author{border-top:1px solid #deded3;padding-top:14px;display:flex;flex-direction:column;gap:5px;font-size:11px}.review-author span{font-size:10px;color:#778077}.contact{text-align:center;background:var(--green);color:var(--cream);padding-top:85px;padding-bottom:87px}.contact-symbol{font-size:28px;color:var(--gold);margin-bottom:17px}.contact .eyebrow{color:#d9cda9;margin-bottom:17px}.contact h2{font-size:clamp(42px,5vw,65px)}.contact h2 em{color:var(--gold)}.contact>p:not(.eyebrow){margin:18px auto 25px;max-width:420px;color:#d5d9ce;font-size:13px;line-height:1.8}.contact-actions{display:flex;justify-content:center;align-items:center;gap:12px;flex-wrap:wrap}.button-light{background:var(--gold);color:var(--green)}.button-light .whatsapp-icon{width:20px;height:20px;fill:#25D366;flex:none}.button-light .whatsapp-icon .phone{fill:#fff}.button-messenger{background:#0866ff;color:#fff}.button-messenger svg{width:18px;height:18px;fill:currentColor;flex:none}.contact small{display:block;margin-top:13px;color:#b4c0b6;font-size:9px}footer{padding:26px 7.2%;display:flex;align-items:center;justify-content:space-between;color:#69766e;font-size:10px}footer>a:last-child,.social-links a{color:var(--green);text-decoration:none}.social-links a{font-size:10px}.contact .brand{color:var(--cream)}.location{max-width:940px;margin:62px auto 0;display:grid;grid-template-columns:.8fr 1.2fr;text-align:left;background:#fffdf3;color:#171717}.location-copy{padding:30px}.location-copy .eyebrow{margin-bottom:12px;color:#171717}.location-copy h3{font:500 29px var(--serif);line-height:1.2;margin:0 0 15px}.location-copy h3 em{color:#168e43}.location-copy>p:not(.eyebrow){font-size:12px;line-height:1.8;color:#4c514c}.map-link{font-size:11px;color:#171717;text-decoration:underline;text-underline-offset:4px}.location iframe{width:100%;height:100%;min-height:280px;border:0}@media(max-width:600px){.location{grid-template-columns:1fr}.location iframe{min-height:250px}}@media(max-width:800px){.site-header{height:70px;padding:0 6%}.menu-toggle{display:block}.nav{display:none;position:absolute;top:94px;left:0;right:0;z-index:10;background:var(--paper);padding:20px 6% 25px;flex-direction:column;align-items:stretch;gap:0;border-top:1px solid #e6e1d5}.nav.open{display:flex}.nav a{padding:13px 0}.nav .nav-cta{padding:13px 12px;margin-top:8px}.header-socials{margin:3px 0 0 66px;gap:12px}.header-socials a{padding:0}.site-header{height:94px}.hero{grid-template-columns:1fr 1fr;padding:55px 7% 65px;min-height:580px}.hero-art{width:100%}.hero-note{margin-top:35px}.section-pad{padding-left:8%;padding-right:8%}.cards{gap:14px}.work-art{height:185px}.review-grid{grid-auto-columns:48%}.process{grid-template-columns:46% 54%;gap:0}.process-title{min-height:570px;padding:52px 8%}.steps{padding:30px 26px}}@media(max-width:600px){.hero{display:flex;flex-direction:column;padding:55px 8% 60px;min-height:auto}.hero-copy{padding:0}.hero h1{font-size:54px}.hero-art{width:90%;margin:25px auto 8px}.sun{width:80vw;height:80vw;right:-8vw;top:0}.hero-bottom{left:8%;right:8%;font-size:7px}.hero-actions{gap:18px}.button{padding:15px 16px;gap:13px}.intro{padding-top:76px;padding-bottom:78px}.intro-grid{grid-template-columns:1fr;gap:20px}.intro h2,.section-heading h2,.process h2{font-size:43px}.collection{padding-top:75px;padding-bottom:75px}.section-heading{display:block}.section-heading>p{margin-top:18px}.cards{grid-template-columns:1fr;gap:27px}.work-art{height:auto;aspect-ratio:4/2.6}.process{grid-template-columns:1fr;gap:0;padding:0}.process-title{min-height:470px;padding:58px 8%;background-position:68% center}.steps{padding:28px 8% 42px}.process-toggle{grid-template-columns:1fr 36px;gap:5px 12px;padding:18px 0}.process-number,.process-step-title{grid-column:1}.process-step-title{font-size:20px}.process-plus{grid-column:2;grid-row:1/3}.process-detail{padding:0 48px 20px 0}.contact{padding-top:72px;padding-bottom:72px}.contact-actions{flex-direction:column;align-items:center}.contact-actions .button{width:min(100%,320px)}.reviews{padding-top:72px;padding-bottom:75px}.reviews-heading{display:block}.reviews-heading-actions{margin-top:18px;justify-content:space-between;padding-bottom:0}.reviews-heading-actions>.text-link{white-space:normal}.review-grid{grid-auto-columns:88%}.review-card{min-height:280px}footer{padding:22px 6%;gap:12px;flex-wrap:wrap}footer>span{order:3;width:100%;text-align:center}}

/* Fondos fotográficos de las cuatro etapas del proceso */
.steps article{position:relative;min-height:148px;background-position:58% center;background-size:cover;background-repeat:no-repeat}
.steps article:nth-child(1){background-image:url("proceso-diseno.webp")}
.steps article:nth-child(2){background-image:url("proceso-corte.webp")}
.steps article:nth-child(3){background-image:url("proceso-ensamble.webp")}
.steps article:nth-child(4){background-image:url("proceso-instalacion.webp")}
.process-toggle{position:relative;min-height:148px;background:linear-gradient(90deg,var(--paper) 0%,rgba(255,253,243,.98) 25%,rgba(255,253,243,.86) 42%,rgba(255,253,243,.28) 67%,rgba(255,253,243,.04) 100%)}
.process-detail{position:relative;background:rgba(255,253,243,.97)}
@media(max-width:800px){.steps article,.process-toggle{min-height:138px}.process-toggle{grid-template-columns:minmax(120px,150px) 1fr 36px;gap:10px;padding:18px 0}.process-step-title{font-size:19px}}
@media(max-width:600px){.steps article,.process-toggle{min-height:116px}.steps article{background-position:62% center}.process-toggle{grid-template-columns:minmax(0,1fr) 36px;gap:5px 12px;background:linear-gradient(90deg,var(--paper) 0%,rgba(255,253,243,.97) 35%,rgba(255,253,243,.78) 56%,rgba(255,253,243,.16) 100%)}}
.intro-copy .intro-signoff{color:var(--green);margin-top:2px}
.intro-copy .intro-signoff strong{font-weight:700}

/* Sección El taller: fotografía de fondo y experiencia de Vitralia Azteca */
.intro{position:relative;isolation:isolate;display:flex;flex-direction:column;justify-content:space-between;gap:42px;min-height:660px;padding:58px 6.5% 30px;background:#171713 url("taller-fondo.webp") center 54%/cover no-repeat;color:var(--cream);overflow:hidden}
.intro::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(9,12,10,.9) 0%,rgba(9,12,10,.76) 37%,rgba(9,12,10,.26) 72%,rgba(9,12,10,.12) 100%),linear-gradient(0deg,rgba(8,10,8,.88) 0%,rgba(8,10,8,.28) 27%,transparent 64%)}
.intro-content{position:relative;z-index:1;max-width:670px}
.intro .eyebrow{margin:0 0 18px;color:#f4e9c4}
.intro h2{font-size:clamp(43px,5vw,68px);line-height:1.08;margin:0 0 20px;color:var(--cream)}
.intro h2 em{color:#16a34a}
.intro-copy{max-width:640px}
.intro-copy p{font-size:13px;line-height:1.65;color:#f1efe6;margin:0 0 8px}
.intro-copy strong{font-weight:700;color:#fffdf3}
.intro-copy .intro-signoff{margin-top:10px;color:#6cda91}
.intro-copy .intro-signoff strong{color:#6cda91}
.intro-content>.text-link{display:inline-flex;align-items:center;margin-top:8px;padding:11px 15px;border:1px solid rgba(255,253,243,.68);color:#fffdf3;font-size:9px;font-weight:700;letter-spacing:.11em;text-transform:uppercase}
.intro-content>.text-link:hover{background:rgba(255,253,243,.12);color:#fff}
.taller-highlights{position:relative;z-index:1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));max-width:1000px;width:100%;border-top:1px solid rgba(255,253,243,.3);padding-top:18px}
.taller-highlight{min-height:77px;padding:0 22px;border-right:1px solid rgba(255,253,243,.28)}
.taller-highlight:first-child{padding-left:0}
.taller-highlight:last-child{border-right:0}
.taller-highlight svg{display:block;width:22px;height:22px;margin-bottom:6px;fill:none;stroke:#e7c24a;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.taller-highlight span{display:block;color:#f4e9c4;font-size:8px;letter-spacing:.16em}
.taller-highlight p{margin:4px 0 0;color:#e8e5da;font-size:9px;line-height:1.45}
@media(max-width:800px){.intro{min-height:650px;padding:48px 7% 26px}.intro-content{max-width:620px}.taller-highlight{padding:0 12px}}
@media(max-width:600px){.intro{min-height:0;gap:30px;padding:58px 8% 26px;background-position:61% center}.intro::before{background:linear-gradient(90deg,rgba(9,12,10,.84),rgba(9,12,10,.58)),linear-gradient(0deg,rgba(8,10,8,.92),rgba(8,10,8,.16) 65%)}.intro h2{font-size:clamp(40px,11vw,52px);margin-bottom:17px}.intro-copy p{font-size:12px;line-height:1.58;margin-bottom:9px}.taller-highlights{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:20px;padding-top:17px}.taller-highlight{min-height:70px;padding:0 10px;border-right:0}.taller-highlight:nth-child(odd){padding-left:0;border-right:1px solid rgba(255,253,243,.24)}.taller-highlight:nth-child(even){padding-left:17px}.taller-highlight svg{width:21px;height:21px}}

/* Galería de vitrales personalizados */
.design-gallery{margin-top:80px;scroll-margin-top:40px}
.design-gallery-heading{display:flex;justify-content:space-between;align-items:end;gap:28px;margin-bottom:24px}
.design-gallery-heading .eyebrow{margin:0 0 12px}
.design-gallery-heading h3{font:500 clamp(30px,3.5vw,43px)/1.15 var(--serif);letter-spacing:-.035em;margin:0;color:var(--green)}
.design-gallery-heading h3 em{color:var(--rust);font-weight:500}
.design-gallery-heading>p{max-width:300px;margin:0 0 3px;color:#647168;font-size:13px;line-height:1.7}
.design-gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.design-card{min-width:0;margin:0;background:#e8e2d4}
.design-card img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;object-position:center;transition:transform .35s}
.design-card:hover img{transform:scale(1.025)}
.design-card figcaption{display:flex;align-items:center;gap:10px;padding:13px 14px 15px;color:var(--green);font:500 16px/1.3 var(--serif)}
.design-card figcaption span{color:var(--rust);font:700 9px/1 var(--sans);letter-spacing:.12em}
@media(max-width:800px){.design-gallery{margin-top:64px}.design-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.design-gallery-heading>p{max-width:240px}}
@media(max-width:600px){.design-gallery{margin-top:55px}.design-gallery-heading{display:block}.design-gallery-heading>p{margin-top:12px}.design-gallery-grid{gap:12px}.design-card figcaption{gap:7px;padding:10px 9px 12px;font-size:14px}}
/* Keep gallery thumbnails landscape even when source files are square */
.design-card img{height:clamp(170px,18vw,235px)}
@media(max-width:800px){.design-card img{height:clamp(160px,22vw,200px)}}
@media(max-width:600px){.design-card img{height:clamp(135px,40vw,190px)}}
.design-card .design-photo{width:100%;height:clamp(170px,18vw,235px);overflow:hidden;background:#e8e2d4}
.design-card .design-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
@media(max-width:800px){.design-card .design-photo{height:clamp(160px,22vw,200px)}}
@media(max-width:600px){.design-card .design-photo{height:clamp(135px,40vw,190px)}}
/* Fixed photo frame keeps the square source assets cropped consistently */
.design-card .design-photo{height:clamp(180px,18vw,240px)!important}
.design-card .design-photo img{height:100%!important}
@media(max-width:800px){.design-card .design-photo{height:clamp(165px,22vw,205px)!important}}
@media(max-width:600px){.design-card .design-photo{height:clamp(140px,40vw,190px)!important}}
.design-card .design-photo{height:auto!important;aspect-ratio:4/3;overflow:hidden}
.design-card .design-photo img{width:100%;height:100%!important;object-fit:cover}

/* Category tiles now open dedicated gallery pages */
.work-card{display:block;color:inherit;text-decoration:none}
.work-card:focus-visible{outline:2px solid var(--rust);outline-offset:5px}
.nav a[aria-current="page"]{color:var(--rust)}
.category-page{min-height:72vh;padding:74px 12% 94px;background:#f0ebdf}
.category-intro{max-width:880px;margin:0 auto 44px}
.category-intro .eyebrow{margin-bottom:18px}
.category-intro h1{font-size:clamp(42px,5.2vw,68px);line-height:1.1;margin:0 0 16px}
.category-intro h1 em{color:var(--rust);font-weight:500}
.category-intro>p:not(.eyebrow){max-width:620px;margin:0 0 18px;color:#647168;font-size:14px;line-height:1.8}
.category-intro .text-link{font-size:12px}
.category-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:22px;max-width:1120px;margin:0 auto}
.category-gallery--single{grid-template-columns:minmax(0,820px);justify-content:center}
.category-gallery-card{min-width:0;margin:0;background:var(--paper)}
.category-gallery-card picture{display:block;background:#e8ddc5}
.category-gallery-card img{display:block;width:100%;height:auto}
.category-gallery--single .category-gallery-card img{height:clamp(320px,43vw,560px);object-fit:contain}
.category-gallery--single .category-gallery-card--portrait img{height:clamp(420px,58vw,680px)}
.category-gallery--designs{grid-template-columns:repeat(2,minmax(0,1fr))}
.category-gallery--designs .category-gallery-card img{aspect-ratio:4/3;object-fit:contain;background:#e8ddc5}
.category-gallery--doors{grid-template-columns:repeat(3,minmax(0,1fr))}
.category-gallery--doors .category-gallery-card img{aspect-ratio:3/4;object-fit:contain;background:#e8ddc5}
.category-gallery-card figcaption{display:flex;align-items:center;gap:12px;padding:15px 18px 17px;border-top:1px solid #e4dfd3;color:var(--green);font:500 18px/1.35 var(--serif)}
.category-gallery-card figcaption span{color:var(--rust);font:700 9px/1 var(--sans);letter-spacing:.14em}
.quote-link{display:flex;align-items:center;justify-content:center;margin:0 14px 14px;padding:13px 16px;background:#171717;color:#fff;text-align:center;text-decoration:none;font-size:11px;font-weight:600;transition:background .2s,transform .2s}
.quote-link:hover{background:#168e43;transform:translateY(-1px)}
.quote-link:focus-visible{outline:2px solid #168e43;outline-offset:3px}
.gallery-contact{display:flex;align-items:center;justify-content:center;gap:24px;flex-wrap:wrap;margin:62px auto 0;text-align:center}
.gallery-contact p{margin:0;color:var(--green);font:500 22px/1.3 var(--serif)}
.gallery-contact .button{font-size:11px}
@media(max-width:800px){.category-page{padding:62px 8% 78px}.category-gallery--single{grid-template-columns:minmax(0,1fr)}.category-gallery--single .category-gallery-card--portrait img{height:clamp(380px,68vw,580px)}.category-gallery--doors{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.category-page{padding:48px 6% 64px}.category-intro{margin-bottom:30px}.category-intro h1{font-size:44px}.category-gallery,.category-gallery--designs{grid-template-columns:1fr;gap:16px}.category-gallery--single .category-gallery-card img{height:clamp(260px,82vw,420px)}.category-gallery--single .category-gallery-card--portrait img{height:clamp(380px,115vw,560px)}.category-gallery-card figcaption{font-size:16px;padding:12px 14px 14px}.gallery-contact{margin-top:40px;flex-direction:column;gap:15px}}
.cards{grid-template-columns:repeat(4,minmax(0,1fr))}
.category-gallery--religious{grid-template-columns:repeat(3,minmax(0,1fr))}
.category-gallery--religious .category-gallery-card img{aspect-ratio:3/4;object-fit:contain;background:#e8ddc5}
.category-gallery--windows{grid-template-columns:repeat(3,minmax(0,1fr))}
.category-gallery--windows .category-gallery-card img{aspect-ratio:4/3;object-fit:contain;background:#e8ddc5}
@media(min-width:601px) and (max-width:1000px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.category-gallery--religious,.category-gallery--windows{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.cards{grid-template-columns:1fr}.category-gallery--religious,.category-gallery--windows{grid-template-columns:1fr}}
