/*
Theme Name: Zevallos Atelier — Arte Fluido
Theme URI: https://zevallos.es/
Author: Zevallos Atelier
Description: Tema editorial claro para encargos a medida, con imágenes conceptuales reemplazables, proceso detallado y atención privada.
Version: 6.1.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: zevallos-atelier-fluido
*/
:root {
  --ivory:#f1e9dc; --paper:#f7f2e9; --ink:#171715; --burgundy:#591c28;
  --olive:#303326; --gold:#a68d63; --muted:#716a61; --rule:rgba(23,23,21,.21);
  --gutter:clamp(24px,5vw,88px);
  --serif:"Iowan Old Style","Baskerville","Palatino Linotype","Book Antiqua",Georgia,serif;
  --sans:"Helvetica Neue",Helvetica,Arial,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ivory);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}
figure,h1,h2,h3,p{margin:0}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,a{-webkit-tap-highlight-color:transparent}
a:focus-visible,button:focus-visible{outline:2px solid var(--burgundy);outline-offset:4px}
::selection{background:var(--burgundy);color:var(--paper)}
.wrap,.content-width{width:min(calc(100% - var(--gutter)*2),1500px);margin-inline:auto}
.skip-link{position:fixed;top:-100px;left:12px;z-index:1000;padding:12px 18px;background:var(--ink);color:var(--paper)}
.skip-link:focus{top:12px}
.eyebrow,.sample-caption,.hero-index,.manifesto-signature,.process-note,.private-visit-note{font-size:11px;line-height:1.5;letter-spacing:.18em;text-transform:uppercase}
.eyebrow{color:var(--burgundy);font-weight:600}
.sample-caption{display:none}
h1,h2,h3{font-family:var(--serif);font-weight:400}
h1 em,h2 em,h3 em{font-weight:400}
.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:38px;width:fit-content;padding-bottom:10px;border-bottom:1px solid var(--gold);font-size:13px;transition:color .2s ease}
.text-link span{font-size:21px;line-height:.8}
.text-link:hover{color:var(--burgundy)}
/* Original light-ground logo, with navigation that stays readable. */
.site-header{position:relative;z-index:30;background:var(--ivory)}
.header-grid{display:flex;align-items:center;gap:clamp(18px,2vw,42px);min-height:108px}
.header-grid>.brand-link{order:-1;width:clamp(195px,21vw,285px);margin-right:auto;flex:none}
.brand-link{display:inline-flex;align-items:center}
.brand-link img{width:100%;height:auto}
.desktop-nav{min-width:0}
.desktop-nav--left,.desktop-nav--right{margin-left:0}
.header-links{display:flex;align-items:center;gap:clamp(16px,2.2vw,36px);margin:0;padding:0;list-style:none}
.header-links a{font-size:10px;font-weight:500;letter-spacing:.11em;text-transform:uppercase;white-space:nowrap;transition:color .2s ease}
.header-links a:hover,.header-links a:focus-visible{color:var(--burgundy)}
.menu-toggle,.mobile-nav{display:none}
/* One photograph and one page surface. Light and fabric carry the transition. */
.hero{position:relative;isolation:isolate;min-height:clamp(680px,55vw,850px);overflow:hidden;background:var(--ivory)}
.hero-visual{position:absolute;z-index:-1;inset:0 0 0 auto;width:70%;overflow:hidden}
.hero-visual picture,.hero-visual img{display:block;width:100%;height:100%}
.hero-visual img{object-fit:cover;object-position:75% 35%}
.hero-visual::after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,transparent 72%,var(--ivory) 100%),linear-gradient(to right,var(--ivory) 0%,rgba(241,233,220,.94) 15%,transparent 48%);pointer-events:none}
.hero-visual figcaption{position:absolute;right:var(--gutter);bottom:18px}
.hero-caption-mobile{display:none}
.hero-content{position:relative;z-index:1;padding-top:clamp(155px,16vw,240px);padding-bottom:140px}
.hero h1{max-width:670px;margin-top:27px;font-size:clamp(68px,6.1vw,110px);line-height:1.01;letter-spacing:-.06em}
.hero h1 em{color:var(--ink)}
.hero-content p{max-width:370px;margin-top:32px;font-size:clamp(16px,1.3vw,19px);font-weight:300;line-height:1.65}
.hero-content .text-link{margin-top:43px}
.hero-index{position:absolute;bottom:40px;left:var(--gutter);color:var(--muted)}
.manifesto{padding:clamp(95px,11vw,180px) 0 clamp(90px,10vw,160px)}
.manifesto-grid{display:grid;grid-template-columns:1.1fr .75fr;gap:clamp(50px,8vw,160px);align-items:end}
.manifesto h2{margin-top:25px;font-size:clamp(56px,6.2vw,110px);line-height:1.04;letter-spacing:-.058em}
.manifesto h2 em{color:var(--burgundy)}
.manifesto-copy p{max-width:520px;font-size:clamp(18px,1.55vw,23px);font-weight:300;line-height:1.65}
.manifesto-signature{display:block;margin-top:46px;color:var(--gold)}
.garments{padding:clamp(40px,6vw,100px) 0 clamp(90px,10vw,160px)}
.garments-heading h2{margin-top:22px;font-size:clamp(56px,6vw,102px);line-height:1.03;letter-spacing:-.06em}
.garments-heading h2 em{color:var(--burgundy)}
.garments-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(35px,5vw,100px);align-items:start;margin-top:80px}
.garment-item--man{margin-top:180px}
.garment-image{position:relative;height:clamp(490px,54vw,790px);overflow:hidden;-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 81%,transparent 100%);mask-image:linear-gradient(to bottom,#000 0%,#000 81%,transparent 100%)}
.garment-image img{width:100%;height:100%;object-fit:cover;object-position:center 25%;transition:transform .7s ease}
.garment-item:hover .garment-image img{transform:scale(1.025)}
.garment-image figcaption{position:absolute;right:14px;bottom:12%}
.garment-copy{max-width:540px;margin-top:14px}
.garment-copy h3{margin-top:18px;font-size:clamp(45px,4.4vw,78px);line-height:1.04;letter-spacing:-.05em}
.garment-copy p{max-width:410px;margin-top:23px;color:var(--muted);font-size:17px;line-height:1.65}
.garment-copy .text-link{margin-top:29px}
.process-section{position:relative;padding:clamp(100px,11vw,180px) 0;background:radial-gradient(ellipse 55% 23% at 94% 39%,rgba(89,28,40,.06),transparent 100%),var(--ivory)}
.process-lead{display:grid;grid-template-columns:.8fr 1.2fr;align-items:center;gap:clamp(40px,6vw,110px)}
.process-intro h2{margin-top:27px;font-size:clamp(59px,6.5vw,115px);line-height:.99;letter-spacing:-.06em}
.process-intro h2 em{color:var(--burgundy)}
.process-intro p{max-width:440px;margin-top:35px;color:var(--muted);font-size:18px;line-height:1.7}
.process-visual{position:relative;height:clamp(470px,44vw,680px);overflow:hidden;-webkit-mask-image:radial-gradient(ellipse 75% 77% at 52% 52%,#000 55%,transparent 100%);mask-image:radial-gradient(ellipse 75% 77% at 52% 52%,#000 55%,transparent 100%)}
.process-visual img{width:100%;height:100%;object-fit:cover}
.process-visual figcaption{position:absolute;right:12%;bottom:12%}
.process-story{margin-top:95px}
.process-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(40px,9vw,150px);row-gap:0;margin:28px 0 0;padding:0;list-style:none}
.process-steps li{display:grid;grid-template-columns:52px 1fr;gap:18px;padding:28px 0 36px;border-top:1px solid var(--rule)}
.step-number{padding-top:9px;color:var(--burgundy);font-size:12px;letter-spacing:.12em}
.process-steps h3{font-size:clamp(27px,2.5vw,39px);line-height:1.1}
.process-steps p{max-width:570px;margin-top:12px;color:#514a43;font-size:16px;line-height:1.75}
.process-note{max-width:750px;margin-top:36px;color:var(--muted);font-size:10px;letter-spacing:.1em;text-transform:none}
.materials{padding:clamp(80px,10vw,150px) 0}
.materials-layout{display:grid;grid-template-columns:.77fr 1.23fr;gap:clamp(40px,7vw,120px);align-items:center}
.materials-copy h2{margin-top:26px;font-size:clamp(54px,5.7vw,100px);line-height:1.04;letter-spacing:-.06em}
.materials-copy h2 em{color:var(--burgundy)}
.materials-copy p{max-width:440px;margin-top:30px;color:var(--muted);font-size:18px;line-height:1.7}
.materials-visual{position:relative;height:clamp(430px,43vw,650px);overflow:hidden;-webkit-mask-image:radial-gradient(ellipse 78% 78% at 52% 48%,#000 55%,transparent 100%);mask-image:radial-gradient(ellipse 78% 78% at 52% 48%,#000 55%,transparent 100%)}
.materials-visual img{width:100%;height:100%;object-fit:cover}
.materials-visual figcaption{position:absolute;right:12%;bottom:12%}
.private-visit{padding:clamp(110px,12vw,195px) 0;background:radial-gradient(ellipse 62% 60% at 6% 46%,rgba(89,28,40,.075),transparent 100%),var(--ivory)}
.private-visit-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(55px,9vw,150px)}
.private-visit-title h2{max-width:650px;margin-top:25px;font-size:clamp(56px,6vw,105px);line-height:1.02;letter-spacing:-.06em}
.private-visit-title h2 em{color:var(--burgundy)}
.private-visit-title p{max-width:520px;margin-top:33px;font-size:19px;line-height:1.7}
.private-visit-copy{padding-top:23px}
.private-visit-copy ol{margin:0;padding:0;list-style:none}
.private-visit-copy li{display:grid;grid-template-columns:42px 1fr;gap:20px;padding:20px 0 28px;border-top:1px solid var(--rule)}
.private-visit-copy li>span{padding-top:7px;color:var(--burgundy);font-size:12px}
.private-visit-copy h3{font-size:31px}
.private-visit-copy li p{max-width:555px;margin-top:10px;color:#514a43;font-size:16px;line-height:1.7}
.private-visit-note{max-width:520px;margin-top:24px;color:var(--muted);font-size:10px;letter-spacing:.07em;text-transform:none}
.private-visit-copy .text-link{margin-top:35px}
.contact{padding:clamp(110px,13vw,200px) 0 clamp(110px,12vw,190px);background:radial-gradient(ellipse 52% 65% at 60% 60%,rgba(166,141,99,.085),transparent 100%),var(--ivory)}
.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:clamp(50px,8vw,140px);align-items:center}
.contact-image{position:relative;height:clamp(530px,49vw,730px);overflow:hidden;-webkit-mask-image:radial-gradient(ellipse 78% 78% at 48% 50%,#000 53%,transparent 100%);mask-image:radial-gradient(ellipse 78% 78% at 48% 50%,#000 53%,transparent 100%)}
.contact-image img{width:100%;height:100%;object-fit:cover;object-position:39% center}
.contact-image figcaption{position:absolute;left:11%;bottom:12%}
.contact-action h2{margin-top:22px;font-size:clamp(54px,5.6vw,98px);line-height:1.02;letter-spacing:-.06em}
.contact-action h2 em{color:var(--burgundy)}
.contact-action>p{max-width:500px;margin-top:28px;color:#514a43;font-size:18px;line-height:1.7}
.contact-buttons{display:grid;gap:12px;max-width:450px;margin-top:40px}
.contact-button{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:66px;padding:17px 22px;border:1px solid var(--burgundy);font-size:12px;font-weight:600;letter-spacing:.07em;transition:background .2s ease,color .2s ease}
.contact-button span{font-size:21px;font-weight:400;line-height:1}
.contact-button--primary{background:var(--burgundy);color:var(--paper)}
.contact-button--primary:hover{background:#40121e}
.contact-button--secondary{background:transparent;color:var(--burgundy)}
.contact-button--secondary:hover{background:rgba(89,28,40,.07)}
.contact-small{display:flex;flex-wrap:wrap;gap:13px 32px;margin-top:28px;color:var(--muted);font-size:12px;line-height:1.6}
.contact-small a:hover{color:var(--burgundy)}
.site-footer{background:var(--ivory);color:var(--ink)}
.footer-main{display:grid;grid-template-columns:250px 1fr auto;align-items:center;gap:35px;padding-block:50px;border-top:1px solid var(--rule)}
.footer-main .brand-link{width:230px}
.footer-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:14px 25px}
.footer-nav a,.footer-social,.footer-phone,.footer-bottom{font-size:10px;letter-spacing:.12em;text-transform:uppercase}
.footer-nav a:hover,.footer-social:hover,.footer-phone:hover,.footer-bottom a:hover{color:var(--burgundy)}
.footer-meta{display:flex;flex-direction:column;align-items:flex-end;gap:14px}
.footer-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px 28px;padding-block:26px 34px;border-top:1px solid var(--rule);color:var(--muted)}
/* WordPress posts and pages keep their normal content. */
.inner-page{min-height:58vh;padding-block:clamp(85px,10vw,165px)}
.inner-page .section-kicker{margin-bottom:25px;color:var(--burgundy);font-size:11px;letter-spacing:.2em}
.inner-page h1{max-width:1000px;font-size:clamp(50px,6.1vw,104px);line-height:1.04;letter-spacing:-.055em}
.prose{max-width:800px;margin-top:43px;color:#514a43;font-size:17px;line-height:1.8}
.prose>*+*{margin-top:1.4em}
.prose h2,.prose h3{color:var(--ink);line-height:1.15}
.prose h2{font-size:42px}.prose h3{font-size:30px}
.prose a{text-decoration:underline;text-underline-offset:4px}
.prose img{height:auto}
.entry-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:60px;margin-top:70px}
.entry-card{padding-top:25px;border-top:1px solid var(--rule)}
.entry-card h2{font-size:clamp(28px,3vw,42px)}
.entry-card .prose{margin-top:12px;font-size:15px}
.quiet-link{display:inline-block;margin-top:20px;padding-bottom:7px;border-bottom:1px solid var(--gold);color:var(--burgundy);font-size:11px;letter-spacing:.1em}
.empty-message{margin-block:30px;color:var(--muted);font-size:17px}
.button{display:inline-flex;gap:25px;padding:17px 21px;border:1px solid var(--burgundy);color:var(--burgundy);font-size:11px;letter-spacing:.15em}
.navigation.pagination{margin-top:60px}.page-numbers{margin-right:15px;color:var(--burgundy)}
@media(max-width:1200px){
  .header-grid>.brand-link{width:230px}
  .header-links{gap:16px}.header-links a{font-size:9px}
  .footer-main{grid-template-columns:210px 1fr auto;gap:18px}.footer-main .brand-link{width:200px}
}
@media(max-width:970px){
  :root{--gutter:30px}
  .header-grid{min-height:90px}.header-grid>.brand-link{margin-right:auto}
  .desktop-nav{display:none}
  .site-header.has-js .menu-toggle{display:flex;flex-direction:column;justify-content:space-around;width:48px;height:48px;padding:14px 9px;border:0;background:transparent;cursor:pointer}
  .menu-toggle span{width:100%;height:1px;background:var(--ink);transition:transform .2s ease}
  .menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(6px) rotate(45deg)}
  .menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-6px) rotate(-45deg)}
  .mobile-nav{display:block;padding:8px var(--gutter) 27px;background:var(--ivory);border-top:1px solid var(--rule)}
  .site-header.has-js .mobile-nav{display:none;position:absolute;top:100%;left:0;right:0;box-shadow:0 18px 25px rgba(23,23,21,.11)}
  .site-header.has-js .mobile-nav.is-open{display:block}
  .mobile-nav .header-links{display:block}
  .mobile-nav .header-links li{border-bottom:1px solid var(--rule)}
  .mobile-nav .header-links a{display:block;padding:15px 2px;font-size:12px}
  .mobile-appointment{display:flex;justify-content:space-between;margin-top:25px;padding:17px 19px;background:var(--burgundy);color:var(--paper);font-size:12px}
  .hero h1{font-size:clamp(70px,9vw,105px)}
  .manifesto-grid{gap:55px}
  .garments-grid{gap:40px}.garment-item--man{margin-top:120px}
  .process-lead{gap:35px}
  .footer-main{grid-template-columns:1fr;gap:25px}.footer-meta{align-items:flex-start}.footer-nav{justify-content:flex-start}
}
@media(max-width:700px){
  :root{--gutter:23px}
  .header-grid{min-height:78px}.header-grid>.brand-link{width:min(56vw,240px)}
  .hero{display:flex;flex-direction:column;min-height:0;padding-bottom:15px}
  .hero-content{order:1;padding-top:54px;padding-bottom:30px}
  .hero h1{max-width:590px;margin-top:17px;font-size:clamp(48px,10.6vw,69px);line-height:1.04}
  .hero-content p{max-width:350px;margin-top:23px;font-size:15px}
  .hero-content .text-link{margin-top:26px}
  .hero-visual{position:relative;z-index:0;inset:auto;order:2;width:100%;height:clamp(360px,105vw,520px)}
  .hero-visual img{object-position:76% center}
  .hero-visual::after{background:linear-gradient(to bottom,transparent 76%,var(--ivory) 100%)}
  .hero-visual figcaption{right:var(--gutter);bottom:12px}
  .hero-caption-desktop{display:none}.hero-caption-mobile{display:inline}
  .hero-index{display:none}
  .manifesto{padding:75px 0 90px}.manifesto-grid{grid-template-columns:1fr;gap:25px}
  .manifesto h2{font-size:clamp(48px,9.8vw,68px)}
  .manifesto-copy p{font-size:17px}.manifesto-signature{margin-top:29px}
  .garments{padding:25px 0 80px}.garments-heading h2{font-size:clamp(49px,9.5vw,70px)}
  .garments-grid{grid-template-columns:1fr;gap:90px;margin-top:50px}
  .garment-item--man{margin-top:0}
  .garment-image{height:clamp(440px,125vw,650px)}
  .garment-copy h3{font-size:clamp(45px,9.3vw,65px)}
  .garment-copy p{font-size:16px}
  .process-section{padding:95px 0}
  .process-lead{grid-template-columns:1fr}
  .process-intro h2{font-size:clamp(57px,11vw,79px)}
  .process-intro p{margin-top:23px;font-size:16px}
  .process-visual{height:390px;width:calc(100% + var(--gutter)*2);margin:8px calc(-1*var(--gutter)) 0}
  .process-story{margin-top:45px}
  .process-steps{grid-template-columns:1fr;margin-top:23px}
  .process-steps li{padding:22px 0 28px}
  .process-steps p{font-size:15px}
  .materials{padding:60px 0 90px}.materials-layout{grid-template-columns:1fr;gap:20px}
  .materials-copy h2{font-size:clamp(55px,10vw,75px)}.materials-copy p{font-size:16px}
  .materials-visual{height:410px;width:calc(100% + var(--gutter)*2);margin-inline:calc(-1*var(--gutter))}
  .private-visit{padding:90px 0 110px}.private-visit-layout{grid-template-columns:1fr;gap:40px}
  .private-visit-title h2{font-size:clamp(55px,10vw,77px)}
  .private-visit-title p{margin-top:24px;font-size:17px}
  .private-visit-copy{padding-top:0}
  .contact{padding:80px 0 100px}.contact-layout{grid-template-columns:1fr;gap:25px}
  .contact-image{height:430px;width:calc(100% + var(--gutter)*2);margin-inline:calc(-1*var(--gutter))}
  .contact-action h2{font-size:clamp(54px,10vw,76px)}
  .contact-action>p{font-size:16px}
  .contact-buttons{margin-top:28px}
  .footer-main{padding-block:45px}.footer-main .brand-link{width:230px}
  .footer-bottom>span:nth-child(2){display:none}
  .entry-list{grid-template-columns:1fr}
}
@media(max-width:430px){
  .hero-content{padding-top:42px;padding-bottom:26px}
  .hero h1{font-size:clamp(47px,10.4vw,58px)}
  .hero-visual{height:clamp(350px,105vw,450px)}
  .garment-image{height:490px}
  .process-visual{height:340px}
  .contact-image{height:360px}
  .footer-bottom{align-items:flex-start;line-height:1.5}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}
}
