/*
Theme Name: GARRY Hair Artist
Theme URI: https://garryhair.com
Author: GARRY Hair Artist
Description: Premium custom WordPress theme for GARRY Hair Artist.
Version: 1.0.0
Text Domain: garry-hair-artist
*/

:root{--paper:#f4f1ea;--ink:#10100f;--muted:#77736c;--line:#d1ccc3;--red:#9c402d;--dark:#10100f;--white:#faf8f3;--sans:"DM Sans",sans-serif;--mono:"DM Mono",monospace;--serif:"Instrument Serif",serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);overflow-x:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}::selection{background:var(--ink);color:var(--paper)}
header{position:fixed;z-index:100;inset:0 0 auto;height:70px;padding:0 clamp(18px,4vw,60px);display:flex;align-items:center;justify-content:space-between;mix-blend-mode:multiply;transition:.3s}header.scrolled{background:rgba(244,241,234,.9);backdrop-filter:blur(14px);mix-blend-mode:normal;border-bottom:1px solid var(--line)}.logo{font-weight:600;font-size:13px;letter-spacing:.18em}.nav{display:flex;gap:27px;font:9px var(--mono);text-transform:uppercase}.nav a{opacity:.6}.nav a:hover{opacity:1}.menu{display:none;border:0;background:none;font:9px var(--mono);text-transform:uppercase}
.hero{min-height:100svh;padding:120px clamp(18px,5vw,80px) 45px;display:grid;grid-template-columns:1.35fr .65fr;align-items:end;gap:50px;border-bottom:1px solid var(--line)}.eyebrow,.kicker{font:9px var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}h1{font-size:clamp(85px,14vw,210px);line-height:.76;letter-spacing:-.075em;font-weight:500;margin:25px 0 0}.serif{font-family:var(--serif);font-weight:400}.hero-side{display:flex;flex-direction:column;gap:100px;padding-bottom:5px}.hero-side p{font-size:17px;line-height:1.35;max-width:370px}.meta{display:grid;grid-template-columns:1fr 1fr;gap:18px;font:9px var(--mono);text-transform:uppercase}.meta span{display:block;color:var(--muted);margin-bottom:7px}
section{padding:clamp(80px,10vw,155px) clamp(18px,5vw,80px);border-bottom:1px solid var(--line)}.statement{font-size:clamp(50px,8vw,125px);line-height:.86;letter-spacing:-.065em;max-width:1250px}.statement em{font-family:var(--serif);font-weight:400}.red{color:var(--red)}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin-top:90px}.stat{border-top:1px solid var(--line);padding-top:10px}.stat b{display:block;font-size:clamp(55px,7vw,105px);line-height:.9;letter-spacing:-.06em;font-weight:500}.stat small{font:9px var(--mono);text-transform:uppercase;color:var(--muted)}
.filterbar{display:flex;justify-content:space-between;align-items:center;margin:50px 0 25px;border-bottom:1px solid var(--line);padding-bottom:15px}.filters{display:flex;gap:18px;flex-wrap:wrap}.filter{border:0;background:none;font:9px var(--mono);text-transform:uppercase;color:var(--muted);padding:0}.filter.active,.filter:hover{color:var(--ink)}.count{font:9px var(--mono);color:var(--muted)}
.gallery{display:grid;grid-template-columns:repeat(12,1fr);gap:12px}.card{position:relative;overflow:hidden;background:#ddd;cursor:pointer}.card.hidden{display:none}.card img{display:block;width:100%;height:100%;object-fit:cover;filter:saturate(.72);transition:transform .8s,filter .5s}.card:hover img{transform:scale(1.045);filter:saturate(.9)}.card-info{position:absolute;left:0;right:0;bottom:0;padding:18px;color:white;background:linear-gradient(transparent,rgba(0,0,0,.72));opacity:0;transform:translateY(8px);transition:.35s}.card:hover .card-info{opacity:1;transform:none}.card-info strong{display:block;font-size:15px}.card-info span{font:8px var(--mono);text-transform:uppercase;opacity:.75}.g1{grid-column:span 5;aspect-ratio:4/5}.g2{grid-column:span 3;aspect-ratio:3/4;margin-top:100px}.g3{grid-column:span 4;aspect-ratio:4/3}.g4{grid-column:span 4;aspect-ratio:1;margin-top:-30px}.g5{grid-column:span 5;aspect-ratio:4/5;margin-top:80px}.g6{grid-column:span 3;aspect-ratio:3/4}
.work{display:grid;grid-template-columns:1fr 2fr;gap:70px}.cases{border-top:1px solid var(--line)}.case{display:grid;grid-template-columns:35px 1fr auto;gap:18px;padding:20px 0;border-bottom:1px solid var(--line);transition:padding .25s}.case:hover{padding-left:10px}.case-num,.tag{font:9px var(--mono);color:var(--muted)}.case h3{font-size:clamp(24px,3vw,45px);letter-spacing:-.045em;font-weight:500;margin:0}.case p{font-size:12px;line-height:1.5;color:var(--muted);max-width:500px;margin:7px 0 0}.tag{text-align:right}.work-img{margin-top:25px;aspect-ratio:4/3;overflow:hidden}.work-img img{width:100%;height:100%;object-fit:cover;filter:saturate(.7)}
.approach{display:grid;grid-template-columns:1fr 1.6fr;gap:70px}.approach-big{font-size:clamp(38px,5vw,76px);line-height:.93;letter-spacing:-.055em}.steps{border-top:1px solid var(--line)}.step{display:grid;grid-template-columns:45px 1fr;gap:15px;padding:22px 0;border-bottom:1px solid var(--line)}.step b{font:9px var(--mono);color:var(--red)}.step h3{margin:0 0 7px;font-size:19px;font-weight:500}.step p{margin:0;color:var(--muted);font-size:12px;line-height:1.55}
.about{display:grid;grid-template-columns:1fr 1fr;gap:70px}.about-img{aspect-ratio:4/5;overflow:hidden}.about-img img{width:100%;height:100%;object-fit:cover;filter:grayscale(.15)}.about h2{font-size:clamp(60px,8vw,120px);line-height:.8;letter-spacing:-.07em;font-weight:500;margin:0 0 35px}.about p{font-size:16px;line-height:1.45;max-width:470px}
.testimonials{display:grid;grid-template-columns:1fr 2fr;gap:70px}.quote{font-size:clamp(30px,4.2vw,65px);line-height:.96;letter-spacing:-.045em}.quote-mark{font:60px var(--serif);color:var(--red)}.review-meta{margin-top:28px;font:9px var(--mono);text-transform:uppercase;color:var(--muted)}.review-controls{display:flex;gap:10px;margin-top:35px}.review-controls button{width:42px;height:42px;border:1px solid var(--line);background:none}
.book{background:var(--dark);color:var(--paper);display:grid;grid-template-columns:1fr 1fr;gap:70px}.book .kicker{color:#aaa69d}.book h2{font-size:clamp(65px,9vw,145px);line-height:.78;letter-spacing:-.07em;font-weight:500;margin:0}.field{padding:17px 0;border-bottom:1px solid #45443f}.field label{display:block;font:8px var(--mono);text-transform:uppercase;color:#aaa69d;margin-bottom:8px}.field input,.field select,.field textarea{width:100%;background:none;border:0;outline:0;color:var(--paper);font-size:16px;resize:none}.field input::placeholder,.field textarea::placeholder{color:#77746d}.submit{margin-top:25px;padding:15px 20px;background:var(--paper);color:var(--ink);border:0;font:9px var(--mono);text-transform:uppercase}.form-note{font:8px var(--mono);color:#88857e;margin-top:12px;line-height:1.5}
footer{display:grid;grid-template-columns:1fr 1fr 1fr;padding:28px clamp(18px,5vw,80px);font:8px var(--mono);text-transform:uppercase;color:var(--muted)}footer a{color:var(--ink)}
.lightbox{position:fixed;inset:0;z-index:200;background:rgba(10,10,9,.96);display:none;align-items:center;justify-content:center;padding:25px}.lightbox.open{display:flex}.lightbox img{max-width:90vw;max-height:82vh;object-fit:contain}.lb-close,.lb-prev,.lb-next{position:absolute;background:none;border:0;color:white;font:11px var(--mono);text-transform:uppercase}.lb-close{right:25px;top:22px}.lb-prev{left:25px;top:50%}.lb-next{right:25px;top:50%}.lb-caption{position:absolute;bottom:24px;left:25px;color:white;font:9px var(--mono);text-transform:uppercase}
.modal{position:fixed;inset:0;z-index:180;background:rgba(10,10,9,.72);display:none;align-items:flex-end;justify-content:center}.modal.open{display:flex}.modal-panel{background:var(--paper);width:min(620px,100%);padding:30px;max-height:90vh;overflow:auto}.modal-head{display:flex;justify-content:space-between;align-items:start;border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:20px}.modal-head h3{margin:0;font-size:36px;letter-spacing:-.04em;font-weight:500}.close{border:0;background:none;font:10px var(--mono)}
.reveal{opacity:0;transform:translateY(25px);transition:opacity .8s,transform .8s}.reveal.show{opacity:1;transform:none}
@media(max-width:800px){
header{height:62px;padding:0 18px}header.scrolled{mix-blend-mode:normal}.nav{display:none}.menu{display:block}.hero{min-height:100svh;padding:100px 18px 35px;display:flex;flex-direction:column;justify-content:flex-end;gap:35px}.hero h1{font-size:21vw}.hero-side{gap:30px}.hero-side p{font-size:16px}.section{padding:75px 18px}.statement{font-size:14vw}.stats{grid-template-columns:1fr 1fr;margin-top:60px}.stat:last-child{grid-column:span 2}.stat b{font-size:18vw}.filterbar{display:block;margin:35px 0 18px}.filters{gap:13px 18px;margin-bottom:15px}.gallery{grid-template-columns:1fr 1fr;gap:8px}.card{margin:0!important}.g1,.g4{grid-column:span 2}.g2,.g3,.g5,.g6{grid-column:span 1}.card-info{opacity:1;transform:none;padding:12px;background:linear-gradient(transparent,rgba(0,0,0,.68))}.card-info strong{font-size:12px}.work,.approach,.about,.testimonials,.book{grid-template-columns:1fr;gap:45px}.case{grid-template-columns:30px 1fr}.tag{display:none}.case h3{font-size:25px}.approach-big{font-size:12vw}.about-img{aspect-ratio:4/5}.quote{font-size:10vw}.book h2{font-size:18vw}.modal{align-items:flex-end}.modal-panel{padding:24px 18px;border-radius:18px 18px 0 0}footer{grid-template-columns:1fr;gap:12px}.lightbox img{max-width:96vw;max-height:75vh}.lb-prev{left:12px}.lb-next{right:12px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}.reveal{opacity:1;transform:none}}
