/*
Theme Name: NOIR Studio
Theme URI: https://sermarketing.es/
Author: SER Marketing
Description: Tema modular y minimalista para peluquerías de autor.
Version: 3.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: noir-studio
*/
:root{--paper:#f4f2ed;--ink:#101010;--blue:#1646ff;--white:#fff;--sans:"Manrope",Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.5;overflow-x:hidden}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.container{width:min(1380px,calc(100% - 64px));margin-inline:auto}.eyebrow,.section-index{font-size:.68rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.section-index{color:var(--blue)}
.site-header{position:fixed;z-index:50;inset:0 0 auto;background:rgba(244,242,237,.92);border-bottom:1px solid var(--ink);backdrop-filter:blur(12px)}.nav{height:68px;display:flex;align-items:center;justify-content:space-between}.brand{font-size:1.3rem;font-weight:800;letter-spacing:-.06em}.brand span{color:var(--blue)}.nav-links{display:flex;align-items:center;gap:32px;font-size:.67rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.nav-links a{border-bottom:2px solid transparent}.nav-links a:hover{border-color:var(--blue)}.nav-cta{padding:10px 16px!important;background:var(--blue);color:#fff;border:0!important}.menu-toggle{display:none;border:0;background:none;width:42px;height:42px}.menu-toggle span{display:block;width:24px;height:2px;margin:6px;background:var(--ink)}
.hero{padding:100px 0 32px;min-height:100svh}.hero-grid{display:grid;grid-template-columns:1.08fr .82fr 54px;min-height:calc(100svh - 132px);border:1px solid var(--ink)}.hero-copy{padding:34px 42px 38px;display:flex;flex-direction:column}.hero-code{display:flex;justify-content:space-between;border-bottom:1px solid var(--ink);padding-bottom:12px;font-size:.6rem;font-weight:800;letter-spacing:.14em}.hero-copy .eyebrow{margin:36px 0 12px;color:var(--blue)}.hero h1{margin:0;font-size:clamp(5.7rem,10.5vw,11.5rem);font-weight:800;letter-spacing:-.09em;line-height:.72}.hero h1 span{color:var(--blue)}.hero-statement{display:flex;gap:18px;margin:auto 0 30px;align-items:flex-start}.hero-statement .symbol{font-size:3rem;color:var(--blue);line-height:1}.hero-statement p{margin:0;font-size:clamp(1.25rem,2vw,2rem);font-weight:600;line-height:1.15;letter-spacing:-.04em}.text-link{align-self:flex-start;border-bottom:2px solid var(--ink);padding:0 0 7px;font-size:.75rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.text-link span{color:var(--blue);font-size:1.1rem}.hero-visual{position:relative;min-height:650px;overflow:hidden;border-left:1px solid var(--ink)}.hero-visual img{width:100%;height:100%;object-fit:cover;object-position:center 36%}.image-label{position:absolute;left:0;bottom:0;padding:10px 15px;background:var(--blue);color:#fff;font-size:.65rem;font-weight:800;letter-spacing:.15em}.hero-side{border-left:1px solid var(--ink);display:flex;align-items:center;justify-content:space-between;padding:18px 0;writing-mode:vertical-rl;font-size:.6rem;font-weight:800;letter-spacing:.17em}
.manifesto{padding:150px 0}.manifesto-grid{display:grid;grid-template-columns:180px 1fr 280px;gap:40px;align-items:start}.manifesto h2{margin:0;font-size:clamp(3.8rem,7.4vw,8rem);font-weight:800;letter-spacing:-.075em;line-height:.83}.manifesto h2 span{color:var(--blue)}.manifesto p{margin:0;border-top:1px solid var(--ink);padding-top:16px;font-size:.95rem}
.services{padding:120px 0;background:var(--white)}.section-head{display:grid;grid-template-columns:180px 1fr 280px;gap:40px;align-items:end;margin-bottom:70px}.section-head h2{margin:0;font-size:clamp(4rem,8vw,8.7rem);line-height:.75;letter-spacing:-.08em}.section-head p{margin:0}.service-list{border-top:1px solid var(--ink)}.service{display:grid;grid-template-columns:60px 1.1fr .7fr 110px;gap:24px;align-items:center;min-height:110px;border-bottom:1px solid var(--ink);transition:background .2s,color .2s,padding .2s}.service:hover{background:var(--blue);color:#fff;padding-inline:18px}.service-number{font-size:.66rem;font-weight:800}.service h3,.service h2{margin:0;font-size:clamp(1.7rem,3.2vw,3.7rem);letter-spacing:-.06em;line-height:.9}.service-desc{font-size:.75rem}.service-price{text-align:right;font-weight:800}
.about{padding:150px 0}.about-grid{display:grid;grid-template-columns:1.2fr .55fr .75fr .48fr;gap:16px;align-items:stretch}.about-title{padding-right:30px}.about-title h2{margin:55px 0 0;font-size:clamp(3.3rem,6.3vw,7rem);line-height:.82;letter-spacing:-.075em}.about-title h2 span{color:var(--blue)}.about-card{min-height:430px;padding:26px;border:1px solid var(--ink);display:flex;flex-direction:column;justify-content:space-between}.cobalt-card{background:var(--blue);color:#fff;border-color:var(--blue)}.card-number{font-size:11rem;font-weight:800;letter-spacing:-.12em;line-height:.75}.cobalt-card p{margin:0;font-size:1.35rem;font-weight:700;line-height:1.1}.about-copy{padding:28px 8px;display:flex;flex-direction:column}.about-copy .lead{margin:0 0 25px;font-size:1.7rem;font-weight:700;line-height:1.1;letter-spacing:-.04em}.about-copy>p:not(.lead){font-size:.85rem}.mini-stats{margin-top:auto;display:flex;gap:25px;border-top:1px solid var(--ink);padding-top:16px;font-size:.7rem;text-transform:uppercase}.mini-stats b{display:block;font-size:1.8rem}.outline-card span{font-size:10rem;font-weight:800;letter-spacing:-.14em;color:var(--blue);line-height:.8}.outline-card small{font-weight:800;line-height:1.1;letter-spacing:.08em}
.booking{background:var(--blue);color:#fff;padding:110px 0}.booking-layout{display:grid;grid-template-columns:180px 1fr 150px;gap:40px;align-items:start}.booking .section-index{color:#fff}.booking h2{margin:0;font-size:clamp(4.4rem,9.5vw,10.5rem);letter-spacing:-.09em;line-height:.77}.booking-arrow{width:130px;height:130px;border-radius:50%;background:#fff;color:var(--blue);display:grid;place-items:center;font-size:5rem;transition:transform .2s}.booking-arrow:hover{transform:rotate(45deg)}.booking-details{grid-column:2/4;display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:45px;border-top:1px solid rgba(255,255,255,.6);padding-top:20px;font-size:.8rem}.booking-details small{display:block;margin-bottom:8px;font-weight:800;letter-spacing:.13em}.booking-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:8vw}.booking-copy p{max-width:620px}.booking-copy .btn{display:inline-block;margin-top:20px;padding:15px 20px;background:#fff;color:var(--blue);font-size:.7rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.details{border-top:1px solid rgba(255,255,255,.7)}.detail{padding:18px 0;border-bottom:1px solid rgba(255,255,255,.7)}.detail small{display:block;font-size:.6rem;font-weight:800;letter-spacing:.12em}.site-footer{padding:34px 0;background:var(--ink);color:#fff}.footer-grid{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:.7rem}.site-footer .brand{font-size:1.2rem}
.services-index{padding:150px 0 110px;min-height:100vh}.services-index h1{margin:20px 0 70px;font-size:clamp(5rem,11vw,12rem);line-height:.8;letter-spacing:-.09em}.breadcrumbs{font-size:.65rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.breadcrumbs a{color:var(--blue)}.service-hero{padding:135px 0 80px;background:var(--blue);color:#fff}.service-hero .breadcrumbs a{color:#fff;border-bottom:1px solid}.service-hero-grid{display:grid;grid-template-columns:1fr 320px;gap:7vw;align-items:end;margin-top:70px}.service-hero h1{margin:10px 0 0;font-size:clamp(4.5rem,9vw,9.5rem);font-weight:800;line-height:.78;letter-spacing:-.085em}.service-hero .intro{max-width:760px;font-size:1.3rem;font-weight:650;line-height:1.25}.service-facts{border-top:1px solid #fff}.service-fact{padding:15px 0;border-bottom:1px solid #fff}.service-fact small{display:block;font-size:.6rem;font-weight:800;letter-spacing:.13em}.service-fact strong{font-size:1.2rem}.service-content{padding:120px 0;background:#fff}.content-grid{display:grid;grid-template-columns:300px 1fr;gap:9vw}.sticky-title{position:sticky;top:110px;align-self:start}.sticky-title h2{margin:30px 0;font-size:4rem;line-height:.85;letter-spacing:-.07em}.prose{max-width:800px}.prose h2{margin:65px 0 18px;font-size:clamp(2.4rem,4.5vw,4.5rem);line-height:.9;letter-spacing:-.06em}.prose h2:first-child{margin-top:0}.prose p,.prose li{color:#4a4a4a}.prose li{margin:10px 0}.faq-list{border-top:1px solid var(--ink)}.faq-item{border-bottom:1px solid var(--ink)}.faq-item summary{padding:22px 40px 22px 0;cursor:pointer;list-style:none;position:relative;font-weight:800}.faq-item summary:after{content:"+";position:absolute;right:4px;color:var(--blue);font-size:1.5rem}.faq-item[open] summary:after{content:"−"}.related{padding:100px 0;background:var(--paper)}.related h2{font-size:clamp(3.5rem,7vw,7rem);letter-spacing:-.075em;margin:20px 0 50px}.related-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid}.related-card{padding:28px 0;border-bottom:1px solid;font-size:2rem;font-weight:800;letter-spacing:-.05em}.related-card:hover{color:var(--blue)}
@media(max-width:900px){.container{width:calc(100% - 32px)}.menu-toggle{display:block;position:relative;z-index:3}.nav-links{position:fixed;inset:0;background:var(--paper);flex-direction:column;justify-content:center;font-size:1rem;transform:translateX(100%);transition:transform .3s}.nav-links.open{transform:none}.hero{padding-top:84px}.hero-grid{grid-template-columns:1fr 34px}.hero-copy{padding:24px 20px;min-height:530px}.hero h1{font-size:clamp(4.6rem,23vw,8rem)}.hero-visual{grid-row:2;min-height:540px;border-left:0;border-top:1px solid;grid-column:1}.hero-side{grid-column:2;grid-row:1/3}.manifesto,.services,.about{padding:90px 0}.manifesto-grid,.section-head{grid-template-columns:1fr;gap:28px}.service{grid-template-columns:32px 1fr 70px;padding:22px 0}.service-desc{grid-column:2}.service-price{grid-column:3;grid-row:1/3}.about-grid{grid-template-columns:1fr 1fr}.about-title{grid-column:1/3;margin-bottom:35px}.about-copy{grid-column:1/3;grid-row:3}.about-card{min-height:300px}.card-number,.outline-card span{font-size:7rem}.booking-layout{grid-template-columns:1fr 80px;gap:20px}.booking .section-index{grid-column:1/3}.booking-arrow{width:76px;height:76px;font-size:3rem}.booking-details{grid-column:1/3;grid-template-columns:1fr}.booking-grid{grid-template-columns:1fr}.service-hero-grid,.content-grid{grid-template-columns:1fr;gap:45px}.service-hero{padding-top:115px}.sticky-title{position:static}.related-grid{grid-template-columns:1fr}.footer-grid{flex-direction:column;align-items:flex-start}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
