:root{--cream:#f1e8d9;--oat:#dfcfb9;--ink:#292620;--brown:#79563d;--sage:#9ca18e;--white:#fffdf8}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:Arial,Helvetica,sans-serif}img{display:block;width:100%;object-fit:cover}.nav{position:absolute;z-index:20;top:0;left:0;right:0;padding:22px 4.5vw;display:flex;justify-content:flex-end;align-items:center}.brand{display:none}.nav nav{display:flex;gap:30px}.nav a{color:white;text-decoration:none;text-transform:uppercase;font-weight:700;font-size:11px;letter-spacing:.8px;text-shadow:0 1px 8px #000}.menu{display:none}.hero{height:min(68vw,760px);min-height:560px;background:#111;overflow:hidden}.hero img{height:100%;object-position:center center}.space{display:grid;grid-template-columns:52% 48%;min-height:510px}.space .copy{padding:68px 6vw}.space h1,.section-title h2,.visit h2{font-size:clamp(38px,4vw,58px);letter-spacing:-1.8px;margin:0 0 10px}.kicker,.section-title>p{font-size:11px;font-weight:800;letter-spacing:1.4px;color:var(--brown)}.space .copy>p:not(.kicker){max-width:600px;line-height:1.55;font-size:16px}.space>img{height:100%;min-height:510px}.work{padding:55px 4vw 65px;background:var(--oat)}.section-title{margin-bottom:28px}.section-title h2{margin:0}.section-title p{margin:8px 0}.work-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.work-grid img{height:410px}.team{padding:65px 4.5vw 78px}.people{display:grid;grid-template-columns:repeat(3,1fr);gap:36px 44px}.card{text-decoration:none;color:var(--ink)}.card img{height:390px;object-position:center 10%}.card h3{font-size:16px;margin:12px 0 7px}.card span{font-size:11px;color:var(--brown);font-weight:800;letter-spacing:.7px}.coming{height:390px;background:var(--sage);display:grid;place-items:center;text-align:center;color:white;font-weight:800;font-size:22px}.coming small{display:block;font-size:16px;font-weight:400;margin-top:10px}.profiles{background:#302d28;color:var(--cream);padding:75px 5vw;display:grid;grid-template-columns:repeat(2,1fr);gap:28px}.profiles article{border:1px solid #675e53;padding:35px;scroll-margin-top:20px}.profiles h3{font-size:28px;margin:0 0 7px}.profiles p{line-height:1.5}.profiles .role,.profiles .cred{color:#d5c7b5}.profiles .tag{color:#d6b391;font-size:12px;font-weight:800;letter-spacing:1.2px}.profiles strong{display:block;margin-top:18px;text-transform:uppercase;font-size:12px;letter-spacing:1px}.profiles .pending{display:block;color:#a99d90;font-size:11px;margin-top:7px}.button{display:inline-block;margin-top:22px;background:var(--brown);color:white;text-decoration:none;padding:15px 22px;font-size:11px;font-weight:800;letter-spacing:1px}.visit{display:grid;grid-template-columns:54% 46%;background:var(--oat)}.visit>img{height:510px;object-position:center 30%}.visit>div{padding:75px 6vw}.visit p{line-height:1.55}.field{color:var(--brown);font-size:14px}.visit .button{margin-top:14px}footer{padding:32px 5vw;background:#201e1b;color:#eee2d2;display:flex;justify-content:space-between;font-size:11px;letter-spacing:1px}
@media(max-width:760px){.nav{position:absolute;padding:14px 18px;justify-content:space-between}.brand{display:block;font-size:16px}.menu{display:block;border:0;background:rgba(0,0,0,.25);color:#fff;font-size:24px;padding:6px 9px}.nav nav{display:none;position:absolute;right:18px;top:58px;background:#292620;padding:18px;flex-direction:column;gap:18px}.nav nav.open{display:flex}.hero{height:56vw;min-height:290px}.hero img{object-position:center}.space{grid-template-columns:1fr}.space .copy{padding:48px 7vw}.space>img{min-height:360px;height:360px}.work{padding:48px 5vw}.work-grid{gap:9px}.work-grid img{height:240px}.team{padding:52px 5vw}.people{grid-template-columns:1fr 1fr;gap:28px 16px}.card img,.coming{height:270px}.card h3{font-size:14px}.profiles{grid-template-columns:1fr;padding:52px 5vw}.profiles article{padding:27px}.visit{grid-template-columns:1fr}.visit>img{height:390px}.visit>div{padding:52px 7vw}footer{flex-direction:column;gap:8px;line-height:1.5}.space h1,.section-title h2,.visit h2{font-size:36px}}

.wyn-card img{object-position:70% 10%}
.profile-page{background:var(--cream)}.profile-nav{padding:24px 5vw;display:flex;justify-content:space-between;gap:20px;background:#201e1b}.profile-nav a{color:var(--cream);text-decoration:none;font-size:11px;font-weight:800;letter-spacing:1px}.profile-wrap{min-height:calc(100vh - 150px);display:grid;grid-template-columns:48% 52%;align-items:stretch}.profile-photo{min-height:720px;background:var(--oat)}.profile-photo img{height:100%;object-position:center 10%}.profile-copy{padding:9vw 8vw;background:#302d28;color:var(--cream);display:flex;flex-direction:column;justify-content:center}.profile-copy .eyebrow{font-size:11px;letter-spacing:1.5px;font-weight:800;color:#d6b391}.profile-copy h1{font-size:clamp(42px,5vw,72px);line-height:.95;margin:10px 0 20px;letter-spacing:-2px}.profile-copy .role,.profile-copy .cred{color:#d5c7b5;line-height:1.5}.profile-copy .tag{color:#d6b391;font-size:13px;font-weight:800;letter-spacing:1.3px}.profile-copy .specialties{font-size:22px;line-height:1.45;max-width:650px}.profile-copy strong{text-transform:uppercase;letter-spacing:1.1px;margin-top:18px}.profile-copy .button{align-self:flex-start}
@media(max-width:760px){.wyn-card img{object-position:72% 10%}.profile-nav{padding:18px 5vw}.profile-wrap{grid-template-columns:1fr}.profile-photo{min-height:0;height:58vh;max-height:560px}.profile-copy{padding:55px 7vw 70px}.profile-copy h1{font-size:42px}.profile-copy .specialties{font-size:19px}}
/* Haircare page */
.haircare-page{background:var(--cream)}
.site-logo{display:block;width:190px;max-height:54px;object-fit:cover;object-position:center;background:#000}
.haircare-hero{height:min(68vw,720px);min-height:520px;overflow:hidden;background:#111}
.haircare-hero img{height:100%;object-position:center 44%}
.haircare-intro{padding:68px 7vw 54px;max-width:980px;margin:auto;text-align:center}
.haircare-intro h1{font-size:clamp(42px,5vw,66px);letter-spacing:-1.8px;margin:0 0 12px}
.haircare-intro .retreat-line{color:var(--brown);font-weight:800;letter-spacing:1.2px;text-transform:uppercase;font-size:13px;margin:0 0 22px}
.haircare-intro .intro-copy{font-size:17px;line-height:1.6;max-width:720px;margin:auto}
.brand-section{padding:56px 5vw 72px}
.brand-section.alt{background:var(--oat)}
.brand-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;border-bottom:1px solid rgba(121,86,61,.45);padding-bottom:14px;margin-bottom:28px}
.brand-heading h2{font-size:clamp(28px,3.5vw,46px);letter-spacing:-1px;margin:0}
.brand-heading p{margin:0;color:var(--brown);font-size:12px;font-weight:800;letter-spacing:1px;text-transform:uppercase}
.brand-grid{display:grid;grid-template-columns:1fr 1fr;gap:42px;max-width:1180px;margin:auto}
.brand-card img{height:390px;object-fit:cover}
.brand-card h3{font-size:30px;margin:18px 0 8px;letter-spacing:-.7px}
.brand-card p{font-size:15px;line-height:1.6;margin:0;max-width:540px}
.brand-card .availability{display:block;color:var(--brown);font-size:11px;font-weight:800;letter-spacing:1px;text-transform:uppercase;margin:10px 0 0}
.brand-card .button{margin-top:18px}
.color-card img{height:340px}
.haircare-note{padding:46px 7vw;text-align:center;background:#302d28;color:var(--cream)}
.haircare-note strong{display:block;font-size:clamp(26px,3vw,40px);margin-bottom:8px}
.haircare-note span{color:#d5c7b5;line-height:1.5}
@media(max-width:760px){.site-logo{width:135px;height:42px}.profile-nav{align-items:center}.haircare-hero{height:64vh;min-height:440px}.haircare-hero img{object-position:center center}.haircare-intro{padding:48px 7vw 42px}.haircare-intro h1{font-size:38px}.brand-section{padding:46px 6vw 55px}.brand-heading{display:block}.brand-heading p{margin-top:8px}.brand-grid{grid-template-columns:1fr;gap:42px}.brand-card img,.color-card img{height:auto;aspect-ratio:1/1;object-fit:cover}.color-card img{aspect-ratio:16/10}.brand-card h3{font-size:26px}}
/* Final Haircare editorial layout */
.haircare-page .profile-nav{min-height:92px;align-items:center}
.haircare-page .site-logo{width:210px;max-height:62px;object-fit:contain;background:transparent;filter:none}
.haircare-page .haircare-hero{height:min(72vw,760px);min-height:590px}
.haircare-page .haircare-hero img{height:100%;object-fit:cover;object-position:center 33%}
.haircare-page .haircare-intro{max-width:none;text-align:left;padding:82px 7vw 90px}
.haircare-page .haircare-intro h1{font-size:clamp(48px,6vw,78px);line-height:.94;letter-spacing:-2.7px;margin:0 0 26px;max-width:760px}
.haircare-page .haircare-intro .retreat-line{font-size:20px;line-height:1.4;text-transform:none;letter-spacing:0;color:var(--brown);margin:0 0 22px}
.haircare-page .haircare-intro .intro-copy{font-size:17px;line-height:1.65;max-width:680px;margin:0}
.haircare-band{background:#302d28;color:var(--cream);padding:26px 6vw;display:flex;align-items:center;justify-content:space-between;gap:24px}
.haircare-band strong{font-size:13px;letter-spacing:1.5px}.haircare-band span{font-size:12px;color:#d6b391}
.haircare-page .brand-section{padding:0}.haircare-page .brand-grid{display:block;max-width:none;margin:0}
.haircare-page .brand-card{display:grid;grid-template-columns:56% 44%;min-height:610px;background:var(--cream)}
.haircare-page .brand-card:nth-child(even){grid-template-columns:44% 56%;background:var(--oat)}
.haircare-page .brand-card img{grid-column:1;grid-row:1/6;width:100%;height:610px;object-fit:cover}
.haircare-page .brand-card:nth-child(even) img{grid-column:2;grid-row:1/6}
.haircare-page .brand-card h3,.haircare-page .brand-card p,.haircare-page .brand-card .availability,.haircare-page .brand-card .button{grid-column:2;margin-left:7vw;margin-right:7vw}
.haircare-page .brand-card:nth-child(even) h3,.haircare-page .brand-card:nth-child(even) p,.haircare-page .brand-card:nth-child(even) .availability,.haircare-page .brand-card:nth-child(even) .button{grid-column:1}
.haircare-page .brand-card h3{align-self:end;font-size:clamp(38px,4.2vw,58px);letter-spacing:-1.7px;margin-top:0;margin-bottom:14px}
.haircare-page .brand-card p{align-self:start;font-size:16px;line-height:1.65;margin-top:0}
.haircare-page .brand-card .availability{align-self:end;margin-bottom:0}
.haircare-page .brand-card .button{justify-self:start;align-self:start;margin-top:18px}
.color-intro{background:#302d28;color:var(--cream);padding:74px 7vw 80px}.color-intro span{font-size:11px;letter-spacing:1.5px;font-weight:800;color:#d6b391}.color-intro h2{font-size:clamp(48px,6vw,76px);line-height:.93;letter-spacing:-2.7px;margin:15px 0 25px}.color-intro p{font-size:16px;line-height:1.6;color:#d5c7b5;max-width:680px;margin:0}
.haircare-page .brand-section.alt .brand-card{background:var(--cream)}.haircare-page .brand-section.alt .brand-card:nth-child(even){background:var(--oat)}
.haircare-page .brand-section.alt .brand-card h3{align-self:end}.haircare-page .brand-section.alt .brand-card p{align-self:start}
.haircare-page .haircare-note{padding:62px 7vw 68px;text-align:left}.haircare-page .haircare-note strong{font-size:clamp(28px,3.4vw,46px);letter-spacing:-1px;margin-bottom:13px}.haircare-page .haircare-note span{font-size:15px}
@media(max-width:760px){
 .haircare-page .profile-nav{min-height:74px;padding:15px 5vw}.haircare-page .site-logo{width:145px;max-height:44px}
 .haircare-page .haircare-hero{height:58vh;min-height:440px}.haircare-page .haircare-hero img{object-position:center 31%}
 .haircare-page .haircare-intro{padding:54px 7vw 60px}.haircare-page .haircare-intro h1{font-size:44px;letter-spacing:-2px}.haircare-page .haircare-intro .retreat-line{font-size:18px}
 .haircare-band{display:block;padding:21px 7vw}.haircare-band span{display:block;margin-top:7px}
 .haircare-page .brand-card,.haircare-page .brand-card:nth-child(even){display:flex;flex-direction:column;min-height:0}.haircare-page .brand-card:nth-child(even) img{order:0}
 .haircare-page .brand-card img{height:auto;aspect-ratio:1.12/1;object-fit:cover}.haircare-page .brand-card h3,.haircare-page .brand-card:nth-child(even) h3{font-size:39px;margin:40px 7vw 12px}.haircare-page .brand-card p,.haircare-page .brand-card:nth-child(even) p{margin:0 7vw}.haircare-page .brand-card .availability,.haircare-page .brand-card:nth-child(even) .availability{margin:18px 7vw 0}.haircare-page .brand-card .button,.haircare-page .brand-card:nth-child(even) .button{margin:20px 7vw 52px}
 .color-intro{padding:58px 7vw 62px}.color-intro h2{font-size:44px}
 .haircare-page .brand-section.alt .brand-card p,.haircare-page .brand-section.alt .brand-card:nth-child(even) p{margin-bottom:52px}
 .haircare-page .haircare-note{padding:54px 7vw 60px}
}

/* Cassidy work gallery */
.stylist-work{background:var(--cream);padding:78px 6vw 90px}.stylist-work-heading{max-width:720px;margin:0 auto 38px;text-align:center}.stylist-work-heading .eyebrow{font-size:11px;letter-spacing:1.5px;font-weight:800;color:var(--brown);margin:0 0 12px}.stylist-work-heading h2{font-size:clamp(38px,5vw,64px);line-height:.95;letter-spacing:-2px;margin:0 0 16px}.stylist-work-heading>p:last-child{margin:0;color:#655f57}.stylist-work-grid{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.stylist-work-grid img{width:100%;height:560px;object-fit:cover;background:var(--oat)}.stylist-work-grid img:nth-child(1){object-position:center 30%}.stylist-work-grid img:nth-child(2){object-position:center 30%}.stylist-work-grid img:nth-child(3){object-position:center 35%}.stylist-work-grid img:nth-child(4){object-position:center 30%}@media(max-width:760px){.stylist-work{padding:56px 5vw 65px}.stylist-work-heading{margin-bottom:28px}.stylist-work-heading h2{font-size:40px}.stylist-work-grid{gap:10px}.stylist-work-grid img{height:auto;aspect-ratio:4/5}}

.footer-social{display:flex;gap:18px}.footer-social a{color:#eee2d2;text-decoration:none;font-weight:800}.footer-social a:hover{text-decoration:underline}@media(max-width:760px){.footer-social{margin-top:6px}}

/* Final brand polish */
.site-logo{background:transparent!important;object-fit:contain!important}
.footer-logo-link{display:block;line-height:0}
.footer-logo{width:170px;height:auto;object-fit:contain}
.haircare-note-kicker{display:block!important;color:#d6b391!important;font-size:11px!important;font-weight:800;letter-spacing:1.5px;line-height:1.4;margin:0 0 12px!important}
@media(max-width:760px){.footer-logo{width:155px}}
/* Consistent branded logo in all interior-page headers */
.profile-nav .header-logo-link{display:flex;align-items:center;margin-left:auto}
.profile-page .profile-nav .site-logo{width:165px;max-width:32vw;max-height:46px;object-fit:contain;background:transparent}
@media(max-width:760px){.profile-page .profile-nav .site-logo{width:142px;max-width:38vw;max-height:40px}}


/* Visible homepage navigation */
.nav{padding:18px 4.5vw;justify-content:flex-end;pointer-events:none}
.nav nav{display:flex;gap:8px;pointer-events:auto}
.nav nav a{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 15px;border:1px solid rgba(255,255,255,.56);background:rgba(32,30,27,.34);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);color:#fff;text-decoration:none;text-transform:uppercase;font-size:10px;font-weight:800;letter-spacing:1.15px;text-shadow:0 1px 7px rgba(0,0,0,.72);transition:background .18s ease,border-color .18s ease}
.nav nav a:hover,.nav nav a:focus-visible{background:rgba(32,30,27,.72);border-color:rgba(255,255,255,.9)}
.menu{display:none!important}

/* Google review strip */
.reviews{background:#302d28;color:var(--cream);padding:64px 5vw;text-align:center}
.reviews-inner{max-width:760px;margin:0 auto}
.reviews .kicker{margin:0 0 11px;color:#d6b391}
.reviews h2{margin:0;font-size:clamp(34px,4vw,52px);letter-spacing:-1.4px}
.reviews p:not(.kicker){margin:14px auto 0;line-height:1.55;color:#d5c7b5}
.review-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:24px}
.review-actions .button{margin-top:0}
.review-actions .secondary{background:transparent;border:1px solid #d6b391;color:#eee2d2}

@media(max-width:760px){
  .nav{left:0;right:0;padding:10px 10px 0;justify-content:center}
  .nav nav{display:grid!important;grid-template-columns:repeat(3,1fr);gap:6px;width:100%;position:static;background:transparent;padding:0}
  .nav nav a{min-height:36px;padding:0 7px;font-size:9px;letter-spacing:.95px;white-space:nowrap}
  .reviews{padding:50px 7vw}
  .reviews h2{font-size:34px}
  .review-actions{flex-direction:column;align-items:stretch}
  .review-actions .button{text-align:center;width:100%}
}

/* Kirchelle portrait framing */
.kirchelle-page .profile-photo{overflow:hidden}
.kirchelle-page .profile-photo img{object-position:center bottom;transform:scale(1.08);transform-origin:center 65%;filter:brightness(1.1)}
.kirchelle-card{overflow:hidden}
.kirchelle-card img{object-position:center 55%;filter:brightness(1.1)}
