/* Visual identity drawn from the public Brunì Parrucchieri logo: ink,
   white, green/turquoise and a restrained magenta accent. */
:root {
  --ink: #101413;
  --cream: #fff;
  --sand: #edf4f0;
  --accent: #54d4b4;
  --muted: #6a7672;
  --brand-green: #45c17c;
  --brand-teal: #25bfc4;
  --brand-pink: #cc267e;
}
body, .local-page { background: #fff; }
a:focus-visible, button:focus-visible { outline: 3px solid var(--brand-pink); outline-offset: 4px; }
.nav { background: #050706; border-bottom-color: #233b32; }
.nav nav a { color: #e4ece8; }
.nav nav a:hover { color: var(--brand-teal); }
.nav-cta { background: linear-gradient(105deg,var(--brand-green),var(--brand-teal)); color: #061411; border: 0; font-weight: 700; }
.wordmark.brand-lockup { display: block; position: relative; flex: 0 0 159px; width: 159px; height: 66px; overflow: hidden; }
.brand-lockup img { position: absolute; left: -2px; top: -47px; width: 163px; height: 163px; max-width: none; }
.hero { background: #080c0b; }
.hero h1 em, .closing h2 em, .local-hero h1 em { color: #78e7c3; }
.hero-copy > p, .local-hero .local-intro { color: #d2dfd9; }
.eyebrow, .hero-footer { color: #b9d6ca; }
.line { background: var(--brand-pink); }
.hero-art { background: #0b1110; }
.hero-art .hero-photo { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 46%; }
.hero-art::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg,#07100d3d,transparent 50%),linear-gradient(0deg,#081411c9,transparent 42%); pointer-events: none; }
.oval-glow,.hair { display: none; }
.hero-art-label { z-index: 2; left: 9%; bottom: 13%; color: #fff; font-size: clamp(51px,7vw,91px); text-shadow: 0 3px 30px #000b; }
.hero-art-label span { color: #b4f5dd; margin-top: 3px; font-size: 10px; }
.vertical-label { z-index: 2; right: 5%; color: #fff; }
.hero-footer { background: #06100b8c; }
.button-light { background: #e9fff3; color: #071812; }
.button-light:hover { background: #c5ffe5; }
.button-dark { background: #101413; }
.text-link { border-bottom-color: var(--brand-pink); }
.kicker, .intro h2 em, .section-top h2 em, .local-content h2 em, .faq-section h2 em { color: #087e72; }
.intro-right p:first-child, .local-content > p, .service-grid p, .fineprint, .faq-grid p { color: #495853; }
.services, .faq-section { background: #f1f7f4; }
.service-grid { background: #b9d9cb; }
.service-grid article { background: #f1f7f4; }
.service-grid article > span, .city-index { color: #087e72; }
.locations { background: #09120f; }
.locations h2 em { color: #6ee8ba; }
.locations .kicker { color: #90d8bb; }
.location-card { background: linear-gradient(145deg,#14261e,#0d1814); border-color: #345c4b; }
.location-card > p { color: #d6e5dd; }
.location-card h3 span, .city-index { color: #73ddb5; }
.location-actions a { border-color: #567e6a; }
.location-actions a:first-child { background: #caffdf; border-color: #caffdf; color: #09170f; }
.location-socials { border-top-color: #395947; color: #a4ebcb; }
.social { background: #fff; }
.social-lead { max-width: 750px; color: #52615c; }
.work-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 18px; }
.work-card { background: #f1f7f4; border: 1px solid #dcebe4; overflow: hidden; display: flex; flex-direction: column; }
.work-photo { display: block; position: relative; overflow: hidden; background: #17221d; }
.work-photo img { display: block; width: 100%; aspect-ratio: 4/5; height: auto; object-fit: cover; object-position: center center; transition: transform .35s ease; }
.work-photo:hover img { transform: scale(1.035); }
.work-play { position: absolute; left: 14px; bottom: 14px; background: #09140ecc; border: 1px solid #c6ffe47d; border-radius: 2px; padding: 10px 13px; color: #fff; font-size: 11px; letter-spacing: .6px; }
.work-copy { padding: 26px 22px 27px; display: flex; flex-direction: column; flex: 1; }
.work-copy > span { font-weight: 700; font-size: 9px; letter-spacing: 2px; color: #067c71; }
.work-copy h3 { font: 34px/1.08 var(--serif); margin: 18px 0 14px; }
.work-copy p { color: #52615c; font-size: 12px; line-height: 1.85; margin: 0 0 25px; }
.work-copy a { font-weight: 700; color: #066c61; font-size: 11px; margin-top: auto; padding-top: 15px; border-top: 1px solid #c7ddd2; letter-spacing: .6px; }
.work-note { margin: 26px 0 60px; color: #52615c; font-size: 11px; line-height: 1.8; }
.social-profiles { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; border-top: 1px solid #d6e8dd; padding-top: 48px; }
.social-profiles > div { background: #0b1410; color: #fff; padding: 28px 33px; min-height: 185px; }
.social-profiles img { float: left; width: 78px; height: 78px; margin-right: 24px; object-fit: contain; }
.social-profiles h3 { font: 37px var(--serif); margin: 4px 0; }
.social-profiles p { font-size: 12px; line-height: 1.7; color: #c5d9cb; }
.social-profiles a { display: inline-block; font-size: 10px; color: #91e9c6; margin-right: 20px; border-bottom: 1px solid #479c7a; padding-bottom: 6px; }
.closing { background: #101c16; border-top: 4px solid #2aafad; }
.closing > p { color: #a1dfcb; }
footer { background: #050706; color: #cedbd3; }
.local-hero { background: #0b1710; color: white; border-top: 3px solid var(--brand-teal); }
.local-hero .kicker { color: #76e2c1; }
.local-actions .button { border-color: #55a98d; }
.local-services article, .faq-grid article { border-top-color: #addac9; }
.local-services p { color: #50625a; }
.local-contact { background: #e9f6ef; }
.local-socials a { border-color: var(--brand-green); }
@media(max-width:1200px) { .work-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media(max-width:760px) {
  .wordmark.brand-lockup { flex-basis: 130px; width: 130px; height: 60px; }
  .brand-lockup img { width: 140px; height: 140px; top: -40px; left: -5px; }
  .hero-art { min-height: 480px; }
  .work-grid,.social-profiles { grid-template-columns: 1fr; }
  .social-profiles > div { padding: 24px; }
  .hero-art-label { font-size: 69px; }
}
@media(prefers-reduced-motion:reduce) { .work-photo img { transition: none; } }
