/*
Theme Name: GARRY — Hair Atelier
Theme URI: https://example.com/garry-hair-atelier
Author: GARRY Hair Artist
Description: An original, editorial WordPress theme for a modern hair artist. Inspired by the confident salon presentation and craftsmanship focus of the reference site, without copying its assets or code.
Version: 1.2.0
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
Text Domain: garry-atelier
*/
:root{--paper:#f6f3ed;--white:#fffdf8;--ink:#181816;--muted:#77756e;--line:#d9d4c9;--accent:#b4c9a8;--accent-dark:#344b37;--warm:#e8dfd0;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif;--max:1240px;--gutter:clamp(20px,5vw,76px)}
*{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.6}body.menu-open{overflow:hidden}img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input[type=submit]{-webkit-tap-highlight-color:transparent}.site-shell{overflow:hidden}.container{width:min(calc(100% - 2*var(--gutter)),var(--max));margin-inline:auto}.eyebrow{font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:700}.muted{color:var(--muted)}.serif{font-family:var(--serif);font-weight:400;letter-spacing:-.055em}.section{padding:clamp(70px,10vw,145px) 0}.section-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:34px}.section-head h2{font:400 clamp(38px,6vw,78px)/.98 var(--serif);letter-spacing:-.055em;margin:10px 0 0}.text-link{display:inline-flex;align-items:center;gap:14px;border-bottom:1px solid currentColor;padding:0 0 8px;font-size:12px;text-transform:uppercase;letter-spacing:.12em;font-weight:700}.text-link span{font-size:18px;transition:transform .2s}.text-link:hover span{transform:translate(4px,-3px)}.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:15px 20px;background:var(--ink);color:var(--white);border:1px solid var(--ink);font-size:11px;letter-spacing:.13em;text-transform:uppercase;font-weight:700;transition:background .2s,color .2s}.button:hover{background:transparent;color:var(--ink)}.button.light{background:var(--paper);border-color:var(--paper);color:var(--ink)}.button.light:hover{background:transparent;color:var(--paper)}
.site-header{position:relative;z-index:30;background:var(--paper)}.header-inner{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:30px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:10px;font-weight:800;letter-spacing:-.07em;font-size:25px;line-height:1}.brand-mark{width:30px;height:30px;border:1px solid var(--ink);border-radius:50%;display:grid;place-items:center;font:italic 20px var(--serif)}.brand small{display:block;font-size:8px;letter-spacing:.18em;font-weight:600;margin-top:5px}.main-nav{display:flex;align-items:center;gap:clamp(18px,3vw,40px)}.main-nav a{font-size:11px;text-transform:uppercase;letter-spacing:.1em;font-weight:700;position:relative}.main-nav a:after{content:'';position:absolute;left:0;right:100%;bottom:-7px;height:1px;background:currentColor;transition:right .2s}.main-nav a:hover:after,.main-nav .current-menu-item>a:after{right:0}.header-cta{font-size:10px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;border-bottom:1px solid;padding-bottom:6px}.menu-toggle{display:none;border:0;background:none;padding:10px;font-size:11px;letter-spacing:.1em;text-transform:uppercase;font-weight:700}
.hero{padding:clamp(42px,6vw,84px) 0 30px}.hero-top{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:26px}.hero-title{font:400 clamp(68px,15vw,205px)/.76 var(--serif);letter-spacing:-.09em;margin:0 0 28px;max-width:1200px}.hero-title .indent{display:block;text-align:right}.hero-title em{font-weight:400;color:var(--accent-dark)}.hero-media{position:relative;min-height:clamp(340px,53vw,660px);background:var(--warm);overflow:hidden}.hero-media img{width:100%;height:100%;min-height:inherit;object-fit:cover;position:absolute;inset:0}.hero-media:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.28),transparent 45%)}.hero-note{position:absolute;z-index:1;left:clamp(20px,4vw,54px);bottom:clamp(20px,4vw,50px);color:white;max-width:280px}.hero-note strong{display:block;font:400 clamp(26px,4vw,48px)/1 var(--serif);letter-spacing:-.04em;margin-top:9px}.hero-stamp{position:absolute;z-index:1;right:clamp(18px,4vw,50px);top:clamp(18px,4vw,50px);width:104px;height:104px;border-radius:50%;background:var(--accent);display:grid;place-items:center;text-align:center;font-size:9px;line-height:1.4;text-transform:uppercase;letter-spacing:.1em;transform:rotate(9deg)}
.intro-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:8vw;align-items:start}.intro-grid h2{font:400 clamp(40px,6.2vw,82px)/.98 var(--serif);letter-spacing:-.06em;margin:0}.intro-copy{max-width:590px;font-size:clamp(17px,2vw,22px);line-height:1.55}.intro-copy p{margin:0 0 24px}.value-strip{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.value-item{padding:25px 24px 25px 0;border-right:1px solid var(--line)}.value-item+ .value-item{padding-left:24px}.value-item:last-child{border:0}.value-item b{display:block;font:400 26px var(--serif);margin-bottom:4px}.value-item span{font-size:12px;color:var(--muted)}
.work-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px 24px}.work-card:nth-child(even){margin-top:100px}.work-image{position:relative;display:block;overflow:hidden;background:var(--warm);aspect-ratio:4/5}.work-card:nth-child(3n) .work-image{aspect-ratio:5/4}.work-image img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1)}.work-card:hover .work-image img{transform:scale(1.045)}.work-index{position:absolute;left:16px;top:16px;background:var(--paper);padding:8px 10px;font-size:10px;letter-spacing:.1em}.work-meta{display:flex;justify-content:space-between;gap:16px;padding-top:14px}.work-meta h3{font:400 clamp(24px,3vw,36px)/1 var(--serif);letter-spacing:-.04em;margin:0}.work-meta p{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin:8px 0 0}.work-arrow{font-size:24px}
.dark-panel{background:var(--ink);color:var(--paper)}.dark-panel .muted{color:#b9b5ac}.dark-panel .text-link{color:var(--paper)}.dark-grid{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center}.dark-grid h2{font:400 clamp(44px,7vw,92px)/.92 var(--serif);letter-spacing:-.065em;margin:12px 0 28px}.dark-grid p{max-width:480px;color:#c7c3bb}.dark-image{aspect-ratio:4/5;position:relative;background:#3c3b35;overflow:hidden}.dark-image img{width:100%;height:100%;object-fit:cover}.service-list{border-top:1px solid var(--line)}.service-row{display:grid;grid-template-columns:70px 1fr auto;align-items:center;gap:24px;padding:25px 0;border-bottom:1px solid var(--line)}.service-no{font-size:11px;color:var(--muted)}.service-row h3{font:400 clamp(25px,4vw,42px)/1 var(--serif);margin:0;letter-spacing:-.04em}.service-row p{font-size:13px;color:var(--muted);margin:8px 0 0}.service-price{font-size:12px;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
.page-hero{padding:clamp(60px,10vw,125px) 0 48px}.page-hero h1{font:400 clamp(60px,12vw,150px)/.82 var(--serif);letter-spacing:-.08em;margin:20px 0 30px}.page-hero .lead{font-size:clamp(18px,2.3vw,25px);max-width:720px;line-height:1.5}.page-hero-row{display:flex;align-items:end;justify-content:space-between;gap:25px}.prose{max-width:760px;font-size:17px}.prose h2{font:400 42px/1 var(--serif);letter-spacing:-.05em;margin-top:1.7em}.prose p{margin:0 0 1.2em}.about-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:8vw;align-items:center}.about-image{aspect-ratio:4/5;background:var(--warm);overflow:hidden}.about-image img{width:100%;height:100%;object-fit:cover}.about-copy h2{font:400 clamp(40px,6vw,76px)/.98 var(--serif);letter-spacing:-.06em;margin:14px 0 25px}.service-detail{display:grid;grid-template-columns:1fr 1fr;gap:30px;padding:28px 0;border-top:1px solid var(--line)}.service-detail h2{font:400 clamp(28px,4vw,42px)/1 var(--serif);margin:0}.service-detail p{color:var(--muted);margin:12px 0}.service-detail .price{font-size:12px;letter-spacing:.1em;text-transform:uppercase}
.contact-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw}.contact-details h2{font:400 clamp(40px,6vw,74px)/.95 var(--serif);letter-spacing:-.06em;margin:12px 0 25px}.contact-details p{max-width:390px;color:var(--muted)}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{display:flex;flex-direction:column;gap:8px}.field.full{grid-column:1/-1}.field label{font-size:10px;letter-spacing:.12em;text-transform:uppercase;font-weight:700}.field input,.field textarea,.field select{width:100%;background:transparent;border:0;border-bottom:1px solid var(--line);padding:12px 0;outline:none;border-radius:0}.field textarea{min-height:110px;resize:vertical}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--ink)}.form-status{grid-column:1/-1;padding:12px;background:#e5eddf;font-size:13px}.form-status.error{background:#f5e3dd}
.project-hero{padding:50px 0 40px}.project-hero h1{font:400 clamp(52px,10vw,120px)/.85 var(--serif);letter-spacing:-.07em;margin:18px 0 24px}.project-featured{max-height:780px;overflow:hidden;background:var(--warm)}.project-featured img{width:100%;max-height:780px;object-fit:cover}.project-body{display:grid;grid-template-columns:.65fr 1.35fr;gap:8vw;padding:70px 0}.project-facts{font-size:11px;letter-spacing:.12em;text-transform:uppercase}.project-facts span{display:block;color:var(--muted);margin-bottom:20px}.project-content{font-size:18px;max-width:720px}.project-content p{margin-top:0}.project-content h2{font:400 38px var(--serif);letter-spacing:-.04em}.not-found{text-align:center;padding:120px 0}.not-found h1{font:400 70px var(--serif)}
.site-footer{background:var(--ink);color:var(--paper);padding:70px 0 24px}.footer-top{display:grid;grid-template-columns:1.2fr .8fr;gap:50px;padding-bottom:70px}.footer-top h2{font:400 clamp(50px,10vw,125px)/.82 var(--serif);letter-spacing:-.08em;margin:14px 0 30px}.footer-top p{color:#b9b5ac;max-width:360px}.footer-links{display:flex;justify-content:flex-end;gap:26px;align-items:start;flex-wrap:wrap}.footer-links a{font-size:11px;letter-spacing:.12em;text-transform:uppercase}.footer-bottom{border-top:1px solid #494841;padding-top:18px;display:flex;justify-content:space-between;gap:18px;color:#b9b5ac;font-size:10px;letter-spacing:.08em;text-transform:uppercase}.footer-bottom a{color:var(--paper)}.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s,transform .7s}.reveal.is-visible{opacity:1;transform:none}.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.pagination{margin-top:35px}
@media(max-width:800px){.header-inner{min-height:70px}.menu-toggle{display:block}.header-cta{display:none}.main-nav{display:none;position:fixed;inset:70px 0 0;background:var(--paper);z-index:40;padding:45px var(--gutter);flex-direction:column;align-items:flex-start;gap:25px}.main-nav.is-open{display:flex}.main-nav a{font:400 42px/1 var(--serif);letter-spacing:-.04em;text-transform:none}.hero-title{font-size:clamp(62px,16vw,120px)}.hero-title .indent{text-align:left;padding-left:8vw}.hero-media{min-height:480px}.hero-stamp{width:82px;height:82px;font-size:8px}.intro-grid,.dark-grid,.about-grid,.contact-layout,.project-body{grid-template-columns:1fr;gap:30px}.intro-grid h2{max-width:620px}.value-strip{grid-template-columns:1fr}.value-item,.value-item+.value-item{padding:17px 0;border-right:0;border-bottom:1px solid var(--line)}.value-item:last-child{border-bottom:0}.work-grid{gap:35px 14px}.work-card:nth-child(even){margin-top:48px}.work-meta{align-items:start}.work-meta h3{font-size:25px}.work-meta p{font-size:9px}.service-row{grid-template-columns:32px 1fr auto;gap:12px}.service-row h3{font-size:27px}.service-row p{font-size:12px}.service-price{font-size:10px}.page-hero-row{align-items:start;flex-direction:column}.service-detail{grid-template-columns:1fr;gap:10px}.footer-top{grid-template-columns:1fr;gap:25px}.footer-links{justify-content:flex-start}.footer-bottom{flex-direction:column}.contact-form{grid-template-columns:1fr}.field.full{grid-column:auto}.project-body{padding:40px 0}}
@media(max-width:460px){.work-grid{grid-template-columns:1fr}.work-card:nth-child(even){margin-top:0}.work-image,.work-card:nth-child(3n) .work-image{aspect-ratio:4/4.5}.hero-media{min-height:420px}.hero-top{align-items:start;flex-direction:column}.section-head{align-items:start;flex-direction:column}.section-head .text-link{margin-top:5px}.service-row{grid-template-columns:24px 1fr}.service-price{grid-column:2}.footer-top h2{font-size:62px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}




/* GARRY Noir Atelier — refined charcoal, bone and antique champagne palette. */
:root{
 --paper:#0d0e10;
 --white:#f2efe8;
 --ink:#f2efe8;
 --muted:#a5a19a;
 --line:#343538;
 --accent:#b7a17f;
 --accent-dark:#c8b89d;
 --warm:#1c1d20;
 --serif:"Cormorant Garamond", Georgia, "Times New Roman", serif;
 --sans:"DM Sans", Arial, Helvetica, sans-serif;
}
body{background:var(--paper);color:var(--white)}
.site-header{background:rgba(13,14,16,.96);backdrop-filter:blur(14px)}
.header-inner{border-color:var(--line)}
.brand{letter-spacing:-.065em}
.brand-mark{border-color:var(--accent);color:var(--accent)}
.main-nav a:after{background:var(--accent)}
.header-cta{border-color:var(--accent);color:var(--accent)}
.hero-title em{color:var(--accent)}
.hero-media{background:#1d1d1d}
.hero-media:after{background:linear-gradient(0deg,rgba(7,8,9,.64),rgba(7,8,9,.04) 60%)}
.hero-stamp{background:var(--accent);color:#111214}
.button{background:var(--accent);color:#111214;border-color:var(--accent)}
.button:hover{background:transparent;color:var(--accent)}
.button.light{background:var(--white);border-color:var(--white);color:#111214}
.button.light:hover{background:transparent;color:var(--white)}
.text-link{border-color:var(--accent)}
.work-image{background:#202124}
.work-index{background:rgba(13,14,16,.9);color:var(--white);border:1px solid rgba(242,239,232,.18)}
.dark-panel{background:#17181b;color:var(--white)}
.dark-panel .muted,.dark-panel p{color:#b5b1aa}
.dark-panel .text-link{color:var(--white)}
.dark-image{background:#242528}
.service-list,.service-row,.value-strip,.value-item{border-color:var(--line)}
.service-price{color:var(--accent)}
.field input,.field textarea,.field select{color:var(--white);border-color:#45464a;background:transparent}
.field input::placeholder,.field textarea::placeholder{color:#85827c}
.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--accent)}
.field select option{background:#17181b;color:var(--white)}
.form-status{background:#202b25;color:#e6eee8;border:1px solid #35483c}
.form-status.error{background:#321f1d;color:#ffe4dc;border-color:#633e37}
.site-footer{background:#08090a;color:var(--white)}
.footer-top p,.footer-bottom{color:#a5a19a}
.footer-bottom{border-color:#343538}
.pagination a,.pagination span{color:var(--white)}
::selection{background:var(--accent);color:#111214}
.main-nav a:hover,.footer-links a:hover{color:var(--accent)}
@media(max-width:800px){.main-nav{background:#0d0e10}.main-nav a{color:var(--white)}}
