/*
Theme Name: Atelier Luxe
Theme URI: https://example.com/atelier-luxe
Author: Atelier Luxe
Description: Premium luxury salon WordPress theme with non-coder editable content.
Version: 4.1.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: atelier-luxe
*/
:root{--ivory:#FCFBF8;--champ:#E8D3B0;--coral:#C96F5A;--ink:#211C1A;--muted:#77716C;--line:#ded8d2;--serif:"Cormorant Garamond","Playfair Display",Georgia,serif;--sans:"Manrope","DM Sans",Arial,sans-serif;--max:1280px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ivory);color:var(--ink);font-family:var(--sans);line-height:1.65}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto;display:block}button,input,select,textarea{font:inherit}.wrap{width:min(var(--max),calc(100% - 44px));margin:auto}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.7rem;color:var(--muted)}h1,h2,h3,h4{font-family:var(--serif);font-weight:500;line-height:.94;margin:0 0 22px}h1{font-size:clamp(4.2rem,9vw,9rem)}h2{font-size:clamp(3.2rem,6vw,6.5rem)}h3{font-size:clamp(2rem,3.5vw,3.1rem)}p{max-width:700px}.site-head{position:fixed;top:0;left:0;right:0;z-index:50;padding:18px 0;background:rgba(252,251,248,.78);backdrop-filter:blur(16px);border-bottom:1px solid #211c1a10}.nav{display:flex;align-items:center;justify-content:space-between;gap:24px}.logo{font-family:var(--serif);font-size:2rem}.navlinks{display:flex;align-items:center;gap:23px;font-size:.83rem}.navlinks ul{display:flex;gap:23px;list-style:none;margin:0;padding:0}.navlinks a{position:relative}.navlinks a:after{content:"";position:absolute;left:0;bottom:-5px;width:0;height:1px;background:var(--coral);transition:.25s}.navlinks a:hover:after,.navlinks a:focus-visible:after{width:100%}.btn{display:inline-flex;align-items:center;justify-content:center;padding:13px 22px;border:1px solid var(--ink);background:transparent;cursor:pointer;transition:.25s}.btn:hover,.btn:focus-visible{background:var(--ink);color:var(--ivory);transform:translateY(-2px)}.btn-primary{background:var(--coral);border-color:var(--coral);color:#fff}.btn-primary:hover,.btn-primary:focus-visible{background:var(--ink);border-color:var(--ink)}:focus-visible{outline:2px solid var(--coral);outline-offset:4px}.mobile{display:none;border:0;background:none;font-size:1.4rem;cursor:pointer}
.hero{min-height:100svh;padding:140px 0 70px;display:grid;align-items:center}.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:7vw;align-items:center}.hero-copy p{font-size:1.05rem}.hero-media{height:min(78vh,760px);overflow:hidden;position:relative;background:#e7dfd7}.hero-media img{width:100%;height:100%;object-fit:cover;animation:zoom 12s ease-in-out infinite alternate}@keyframes zoom{to{transform:scale(1.06)}}.hero-label{position:absolute;bottom:20px;left:20px;background:#fcfbf8e8;padding:9px 13px;font-size:.68rem;letter-spacing:.13em;text-transform:uppercase}
.section{padding:125px 0}.intro{display:grid;grid-template-columns:.65fr 1.35fr;gap:9vw}.statement{font-family:var(--serif);font-size:clamp(3rem,5.3vw,6rem);line-height:.94}.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:45px}.section-head p{margin:0}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.visual-card{height:470px;position:relative;overflow:hidden;background:#e7e1dc}.visual-card img{width:100%;height:100%;object-fit:cover;transition:.65s}.visual-card:hover img{transform:scale(1.055)}.visual-card:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#000b)}.card-copy{position:absolute;z-index:2;bottom:25px;left:25px;right:25px;color:white}.card-copy h3{font-size:2.6rem;margin-bottom:4px}.card-copy p{font-size:.88rem;margin:0}.experience{display:grid;grid-template-columns:1.15fr .85fr}.experience img{width:100%;height:100%;min-height:580px;object-fit:cover}.experience-copy{padding:70px 7vw;background:var(--champ);display:flex;flex-direction:column;justify-content:center}.mosaic{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:12px}.mosaic figure{margin:0;overflow:hidden}.mosaic img{width:100%;height:100%;min-height:280px;object-fit:cover;transition:.6s}.mosaic .tall{grid-row:span 2}.mosaic .tall img{min-height:570px}.mosaic img:hover{transform:scale(1.04)}
.ba{max-width:1050px;margin:auto;position:relative;overflow:hidden;background:#ddd}.ba>img,.ba-before img{width:100%;height:570px;object-fit:cover}.ba-before{position:absolute;left:0;top:0;bottom:0;width:50%;overflow:hidden}.ba-before img{width:1050px;max-width:none}.ba input{position:absolute;left:10%;right:10%;bottom:22px;width:80%;accent-color:var(--coral)}
.team{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.person img{width:100%;aspect-ratio:3/4;object-fit:cover;margin-bottom:16px}.person h3{font-size:2rem;margin-bottom:4px}.person p{margin:0;color:var(--muted)}
.quotes{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(320px,1fr);overflow:auto;gap:16px;scroll-snap-type:x mandatory}.quote{background:white;padding:34px;scroll-snap-align:start}.quote blockquote{font-family:var(--serif);font-size:2rem;line-height:1.08;margin:15px 0}.stars{color:var(--coral);letter-spacing:.14em}
.cta{background:var(--ink);color:var(--ivory);padding:105px 0}.cta-row{display:flex;justify-content:space-between;align-items:end;gap:35px}.cta h2{max-width:900px}.cta .btn{border-color:var(--ivory)}
.pagehead{padding:170px 0 80px}.archive{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.item{background:#fff}.item>img{width:100%;aspect-ratio:4/3;object-fit:cover}.pad{padding:25px}.meta{font-size:.7rem;letter-spacing:.13em;text-transform:uppercase;color:var(--muted)}.price{font-weight:700}
.single{display:grid;grid-template-columns:1fr .8fr;gap:7vw}.single-media img{width:100%;max-height:800px;object-fit:cover}.sticky{position:sticky;top:110px;height:max-content}.detail{display:flex;gap:25px;flex-wrap:wrap;margin:25px 0}.prose{font-size:1.05rem}.prose h2{font-size:3rem;margin-top:65px}
.form{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:flex;flex-direction:column;gap:7px}.full{grid-column:1/-1}.field input,.field select,.field textarea{padding:14px;border:1px solid var(--line);background:#fff}.field textarea{min-height:150px}
.footer{border-top:1px solid var(--line);padding:60px 0 25px}.footgrid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:30px}.footgrid h4{font:600 .72rem var(--sans);text-transform:uppercase;letter-spacing:.15em}.footbottom{margin-top:45px;padding-top:18px;border-top:1px solid var(--line);display:flex;justify-content:space-between;color:var(--muted);font-size:.78rem}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s,transform .7s}.reveal.visible{opacity:1;transform:none}
.skip-link{position:absolute;left:-999px;top:auto}.skip-link:focus{left:10px;top:10px;background:var(--ink);color:white;padding:10px;z-index:100}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-media img,.reveal{animation:none;transition:none}.visual-card img,.mosaic img,.btn{transition:none}}
@media(max-width:900px){.navlinks{display:none}.mobile{display:block}.hero-grid,.intro,.experience,.single{grid-template-columns:1fr}.hero-media{height:60vh}.cards,.archive{grid-template-columns:1fr 1fr}.team{grid-template-columns:1fr 1fr}.footgrid{grid-template-columns:1fr 1fr}.sticky{position:static}.mosaic{grid-template-columns:1fr 1fr}.mosaic .tall{grid-row:auto}.mosaic .tall img{min-height:280px}.cta-row{align-items:start;flex-direction:column}}
@media(max-width:600px){.wrap{width:calc(100% - 28px)}.section{padding:80px 0}.hero{padding-top:120px}.hero h1{font-size:4.5rem}.hero-media{height:54vh}.cards,.archive,.team,.footgrid,.form,.mosaic{grid-template-columns:1fr}.visual-card{height:390px}.experience img{min-height:400px}.ba>img,.ba-before img{height:390px}.section-head{display:block}.section-head .btn{margin-top:18px}.footbottom{display:block}}
