
:root{
  --g-ink:#2b211d;
  --g-ink-soft:#5f4a40;
  --g-brown:#6f4d3f;
  --g-accent:#b86f4e;
  --g-accent-2:#d9946f;
  --g-cream:#faf6f2;
  --g-cream-2:#f3e8df;
  --g-paper:#fffdfb;
  --g-line:#eaded6;
  --g-line-strong:#ddc9bc;
  --g-shadow:0 18px 44px rgba(55,37,29,.08);
  --g-shadow-soft:0 8px 24px rgba(55,37,29,.055);
}

html{scroll-}
body{
  background:#f5efe9!important;
  color:var(--g-ink)!important;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
}
#app{background:linear-gradient(180deg,#fbf8f5 0%,#f6efe9 100%)!important}


.topbar{
  min-height:68px!important;
  padding:12px clamp(18px,5vw,72px)!important;
  border-bottom:1px solid rgba(255,255,255,.08)!important;
  background:rgba(34,27,24,.97)!important;
  backdrop-filter:blur(14px);
}
.logo{font-size:20px!important;letter-spacing:2.4px!important}
.logo span{font-size:7.5px!important;letter-spacing:1.55px!important;opacity:.78}
.top-nav{gap:20px!important}
.top-nav a,.nav-wa{font-size:9.5px!important;letter-spacing:.95px!important}
.top-nav a{position:relative}
.top-nav a:after{
  content:"";position:absolute;left:0;right:100%;bottom:3px;height:1px;
  background:#e8b99b;transition:right .2s ease;
}
.top-nav a:hover:after{right:0}


.hero{
  min-height:520px!important;
  padding:clamp(42px,6vw,80px) clamp(20px,7vw,96px)!important;
  gap:clamp(28px,5vw,64px)!important;
  background:
    radial-gradient(circle at 86% 46%,rgba(225,183,155,.24),transparent 27%),
    linear-gradient(120deg,#fbf7f3 0%,#f0dfd3 59%,#e8cab6 100%)!important;
}
.hero-copy{max-width:620px!important}
.hero h1{
  max-width:650px;
  font-size:clamp(50px,5.8vw,82px)!important;
  line-height:.98!important;
  letter-spacing:-2.6px!important;
}
.hero p{
  max-width:520px!important;
  font-size:15px!important;
  line-height:1.78!important;
}
.hero-note{
  display:inline-flex!important;align-items:center;gap:9px;
  padding:9px 12px;border-radius:999px;
  background:rgba(255,255,255,.48);border:1px solid rgba(111,77,63,.10);
  font-size:10px!important;
}
.hero-copy .hero-cta{
  margin-top:22px!important;
  min-height:48px!important;
  padding:13px 19px!important;
  border-radius:14px!important;
  box-shadow:none!important;
}
.hero-art{min-height:360px!important}
.hero-art .hero-model{
  height:clamp(340px,35vw,470px)!important;
  border-radius:28px!important;
  box-shadow:0 22px 52px rgba(62,41,30,.14)!important;
}


main{
  display:grid!important;
  grid-template-columns:repeat(12,minmax(0,1fr))!important;
  gap:24px!important;
  max-width:1320px!important;
  padding:40px clamp(16px,4vw,54px) 76px!important;
}
main>section,main>.section-head{min-width:0}
.hair-ai{grid-column:1/9;margin:0!important}
.wa-consult{
  grid-column:9/13;
  margin:0!important;
  min-height:100%;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  padding:28px!important;
  border-radius:26px!important;
  background:var(--g-paper)!important;
  color:var(--g-ink)!important;
  border:1px solid var(--g-line)!important;
  box-shadow:var(--g-shadow-soft)!important;
}
.wa-consult h2{color:var(--g-ink)!important;font-size:clamp(30px,3vw,41px)!important;line-height:1.02!important}
.wa-consult p{color:#755f53!important;font-size:12.5px!important;line-height:1.68!important}
.wa-consult .section-kicker{color:var(--g-accent)!important}
.wa-main{
  width:100%!important;
  justify-content:space-between!important;
  margin-top:20px!important;
  background:var(--g-ink)!important;
  color:#fff!important;
  border-radius:14px!important;
}
#hair-basics{grid-column:1/-1;margin:4px 0 0!important}
#hair-basics+.section-head{grid-column:1/-1;margin:18px 0 -6px!important}
#hair-basics+.section-head h2{
  margin:0!important;
  font-size:clamp(32px,3.4vw,45px)!important;
  letter-spacing:-1px!important;
}
#hair-basics+.section-head p{max-width:620px!important;color:#806d62!important}
#hair-basics+.section-head+.needs{grid-column:1/8!important;margin:0!important}
.routine{grid-column:8/13!important;margin:0!important;display:grid!important;grid-template-columns:1fr!important;gap:10px!important}
.product-guide{grid-column:1/-1!important;margin:10px 0 0!important}
#product-catalog{grid-column:1/-1!important}
section.needs:has(#typeResult){grid-column:1/-1!important}
#google-review{grid-column:1/-1!important}


.intro-strip{
  display:grid!important;
  grid-template-columns:repeat(3,1fr)!important;
  gap:10px!important;
  background:transparent!important;
}
.intro-strip>div{
  min-height:94px!important;
  padding:18px 18px!important;
  border:1px solid var(--g-line)!important;
  border-radius:18px!important;
  background:rgba(255,255,255,.70)!important;
  box-shadow:none!important;
  color:#806c60!important;
  font-size:11.5px!important;
  line-height:1.55!important;
}
.intro-strip b{
  display:block!important;
  margin-bottom:7px!important;
  color:var(--g-ink)!important;
  font-size:11px!important;
  letter-spacing:.2px!important;
}


.needs{
  padding:22px!important;
  border:1px solid var(--g-line)!important;
  border-radius:24px!important;
  background:var(--g-paper)!important;
  box-shadow:var(--g-shadow-soft)!important;
}
.need-grid{gap:9px!important}
.need{
  min-height:66px!important;
  padding:12px 14px!important;
  border:1px solid #eee2da!important;
  border-radius:15px!important;
  background:#fbf7f4!important;
  box-shadow:none!important;
  color:#4a382f!important;
  font-size:11px!important;
  transition:transform .18s ease,border-color .18s ease,background .18s ease!important;
}
.need:hover,.need:focus-visible{
  transform:translateY(-1px);
  border-color:#c98a69!important;
  background:#fff!important;
}
.need .product-icon{
  width:38px!important;height:38px!important;flex-basis:38px!important;
  border-radius:12px!important;
}
.result{
  margin-top:12px!important;
  padding:14px 16px!important;
  border-radius:14px!important;
  background:#f8eee7!important;
  border:0!important;
  color:#6f5548!important;
  line-height:1.62!important;
  font-size:11.5px!important;
}
.result:empty{display:none!important}
.result strong{display:block;margin-bottom:5px;color:var(--g-ink)!important;font-size:12px!important}

.routine article{
  min-height:auto!important;
  padding:16px 18px!important;
  border:1px solid var(--g-line)!important;
  border-radius:18px!important;
  background:linear-gradient(145deg,#fffdfb,#f8f0ea)!important;
  box-shadow:none!important;
}
.routine article b{
  display:block;margin-bottom:5px;color:var(--g-accent)!important;
  font-size:10px!important;letter-spacing:.4px!important;
}
.routine article p{margin:0!important;color:#766357!important;font-size:11.5px!important;line-height:1.55!important}


.product-guide{
  padding:28px!important;
  border-radius:28px!important;
  background:linear-gradient(145deg,#30241f,#51372c)!important;
  color:#fff!important;
}
.product-guide .section-head{margin-bottom:20px!important}
.product-guide .section-kicker{color:#e8b99b!important}
.product-guide .section-head h2{color:#fff!important;font-size:clamp(30px,3vw,42px)!important}
.product-guide .section-head p{color:#e3d0c5!important;max-width:650px!important}
.product-grid{grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:10px!important}
.product-tile{
  min-height:0!important;
  padding:16px!important;
  border:1px solid rgba(255,255,255,.12)!important;
  border-radius:16px!important;
  background:rgba(255,255,255,.07)!important;
  box-shadow:none!important;
  transition:transform .18s ease,background .18s ease!important;
}
.product-tile:hover{transform:translateY(-2px)!important;background:rgba(255,255,255,.11)!important}
.product-tile .product-icon{
  width:38px!important;height:38px!important;flex-basis:38px!important;
  border-color:rgba(255,255,255,.18)!important;background:rgba(255,255,255,.10)!important;color:#f0c3a7!important;
}
.product-tile h3{margin:11px 0 6px!important;color:#fff!important;font:600 13px/1.3 inherit!important}
.product-tile p{margin:0!important;color:#ddc9bc!important;font-size:10.5px!important;line-height:1.55!important}


.hair-ai{
  padding:32px!important;
  border-radius:28px!important;
  gap:28px!important;
  background:
    radial-gradient(circle at 0 0,rgba(177,112,79,.34),transparent 38%),
    linear-gradient(125deg,#261d19,#432f27 62%,#654535)!important;
  box-shadow:var(--g-shadow)!important;
}
.hair-ai h2{font-size:clamp(36px,4vw,52px)!important}
.hair-ai-copy>p{font-size:12.5px!important;line-height:1.68!important}
.hair-ai-points{font-size:10.5px!important}
.hair-ai-panel{border-radius:20px!important;padding:18px!important;box-shadow:none!important}
.hair-chat-log{height:220px!important}
.hair-message{font-size:11.5px!important}
.hair-suggestions button{min-height:32px!important}
.hair-ai-compose textarea{font-size:12px!important}
.hair-ai-footnote{font-size:9px!important}


#product-catalog{
  margin-top:8px!important;
  padding:30px!important;
  border:1px solid #eaded6!important;
  border-radius:30px!important;
  background:linear-gradient(180deg,#f7efe9 0%,#f2e6dc 100%)!important;
  box-shadow:none!important;
}
#product-catalog>.section-head{
  display:flex!important;
  align-items:flex-end!important;
  justify-content:space-between!important;
  gap:22px!important;
  margin-bottom:18px!important;
}
#product-catalog .section-head h2{
  margin:4px 0 0!important;
  font-size:clamp(34px,4vw,50px)!important;
  letter-spacing:-1.3px!important;
}
#product-catalog .section-head p{
  max-width:650px!important;
  margin-top:9px!important;
  color:#77645a!important;
  font-size:12px!important;
  line-height:1.65!important;
}
.catalog-filters{
  position:sticky!important;
  top:70px!important;
  z-index:12!important;
  display:flex!important;
  flex-wrap:wrap!important;
  gap:7px!important;
  margin:0 0 10px!important;
  padding:10px!important;
  border:1px solid rgba(221,201,188,.82)!important;
  border-radius:16px!important;
  background:rgba(250,246,242,.92)!important;
  backdrop-filter:blur(12px)!important;
}
.catalog-filter{
  min-height:38px!important;
  padding:8px 13px!important;
  border-radius:999px!important;
  border:1px solid transparent!important;
  background:transparent!important;
  color:#725c50!important;
  font-size:10px!important;
  font-weight:800!important;
  box-shadow:none!important;
}
.catalog-filter:hover{background:#fff!important}
.catalog-filter.active{
  background:var(--g-ink)!important;
  color:#fff!important;
  border-color:var(--g-ink)!important;
}
.catalog-filter-note,.catalog-source-note{
  margin:8px 0!important;
  color:#8d786c!important;
  font-size:10px!important;
  line-height:1.55!important;
}
.catalog-source-note{
  padding:10px 12px!important;
  border-radius:12px!important;
  background:rgba(255,255,255,.58)!important;
}
.catalog-brand{margin-top:24px!important}
.catalog-brand>h3{
  display:flex!important;align-items:center!important;gap:12px!important;
  margin:0 0 14px!important;
  color:#3b2c25!important;
  font-size:22px!important;
  letter-spacing:-.3px!important;
}
.catalog-brand>h3:after{content:"";height:1px;flex:1;background:#dbc8bb}
#product-catalog .catalog-grid{
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:12px!important;
}
#product-catalog .catalog-card.full-product{
  display:flex!important;
  flex-direction:column!important;
  min-width:0!important;
  overflow:hidden!important;
  border:1px solid #eadfd8!important;
  border-radius:18px!important;
  background:#fff!important;
  box-shadow:none!important;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease!important;
}
#product-catalog .catalog-card.full-product:hover{
  transform:translateY(-2px)!important;
  border-color:#d7c1b3!important;
  box-shadow:0 12px 28px rgba(57,38,28,.08)!important;
}
#product-catalog .catalog-pack{
  height:160px!important;
  min-height:160px!important;
  padding:10px!important;
  background:linear-gradient(180deg,#fff,#fbf9f7)!important;
  border-bottom:1px solid #f0e7e1!important;
}
#product-catalog .catalog-pack img{
  max-width:100%!important;max-height:100%!important;
  object-fit:contain!important;
  padding:0!important;
}
#product-catalog .catalog-copy{
  display:flex!important;
  flex:1!important;
  flex-direction:column!important;
  padding:14px 15px 15px!important;
}
#product-catalog .catalog-copy>.full-product-brand,
#product-catalog .catalog-copy>.sku-brand{
  margin:0 0 5px!important;
  color:var(--g-accent)!important;
  font-size:8.5px!important;
  letter-spacing:1.3px!important;
  font-weight:900!important;
}
#product-catalog .catalog-copy h4{
  margin:0 0 7px!important;
  min-height:0!important;
  color:#342720!important;
  font-size:13px!important;
  line-height:1.34!important;
  letter-spacing:-.08px!important;
}
#product-catalog .full-product-cat{
  margin:0 0 5px!important;
  color:#a36a4d!important;
  font-size:8.5px!important;
  letter-spacing:1px!important;
}
#product-catalog .full-product-price{
  margin:0 0 8px!important;
  color:#ad5d3c!important;
  font-size:16px!important;
  line-height:1.1!important;
}
#product-catalog .catalog-copy>p{
  margin:0 0 10px!important;
  color:#79685e!important;
  font-size:9.8px!important;
  line-height:1.48!important;
}
.product-howto{
  margin-top:auto!important;
  border-top:1px solid #eee4de!important;
}
.product-howto summary{
  min-height:38px!important;
  padding:10px 0!important;
  color:#614c40!important;
  font-size:9.5px!important;
  font-weight:800!important;
}
.product-howto>div{
  padding:0 0 10px!important;
  color:#7c695e!important;
  font-size:10px!important;
  line-height:1.55!important;
}
.product-howto p{font-size:10px!important;line-height:1.55!important}
.product-wa{
  margin-top:10px!important;
  min-height:36px!important;
  padding:10px 12px!important;
  border-radius:11px!important;
  background:#2b211d!important;
  font-size:10px!important;
}
.product-wa:hover{background:#8d553d!important}


section.needs:has(#typeResult){
  margin-top:6px!important;
  padding:28px!important;
}
section.needs:has(#typeResult) .needs-head{
  display:flex!important;
  align-items:flex-end!important;
  justify-content:space-between!important;
  gap:20px!important;
  margin-bottom:18px!important;
}
section.needs:has(#typeResult) .needs-head h2{
  margin:0!important;
  font-size:clamp(30px,3vw,42px)!important;
}
section.needs:has(#typeResult) .needs-head p{
  max-width:480px!important;
  margin:0!important;
  color:#7d695d!important;
  font-size:11.5px!important;
}
section.needs:has(#typeResult) .need-grid{
  grid-template-columns:repeat(6,minmax(0,1fr))!important;
}
section.needs:has(#typeResult) .need{
  min-height:58px!important;
  justify-content:center!important;
}


.review-section{
  margin:8px 0 0!important;
  padding:34px!important;
  grid-template-columns:minmax(0,1fr) 190px!important;
  gap:32px!important;
  border-radius:28px!important;
  background:linear-gradient(125deg,#2a201c 0%,#483127 66%,#674535 100%)!important;
  box-shadow:var(--g-shadow)!important;
}
.review-section h2{
  max-width:720px!important;
  font-size:clamp(34px,4vw,50px)!important;
  line-height:1.04!important;
  letter-spacing:-1px!important;
}
.review-section p{
  max-width:720px!important;
  font-size:11.5px!important;
  line-height:1.7!important;
}
.review-section .review-detail{font-size:10.5px!important}
.review-qr{
  min-height:190px!important;
  padding:14px!important;
  border-radius:18px!important;
  background:#fffaf6!important;
}
.review-qr img{width:132px!important;height:132px!important}


.footer{
  margin:0!important;
  padding:26px clamp(18px,6vw,82px)!important;
  background:#211a17!important;
  color:#cbb8ad!important;
  font-size:10px!important;
  line-height:1.55!important;
}
.footer strong{display:block!important;margin-bottom:6px!important;color:#fff!important;font-size:10px!important;letter-spacing:1.1px!important}


@media(max-width:1120px){
  main{gap:18px!important;padding-left:24px!important;padding-right:24px!important}
  .hair-ai{grid-column:1/9}
  .wa-consult{grid-column:9/13}
  #hair-basics+.section-head+.needs{grid-column:1/7!important}
  .routine{grid-column:7/13!important}
  .product-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  #product-catalog .catalog-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
  section.needs:has(#typeResult) .need-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}

@media(max-width:900px){
  main{display:block!important;padding:32px 18px 62px!important}
  main>section,main>.section-head{margin-bottom:18px!important}
  .hair-ai,.wa-consult,#hair-basics,#hair-basics+.section-head,#hair-basics+.section-head+.needs,.routine,.product-guide,#product-catalog,section.needs:has(#typeResult),#google-review{width:100%!important}
  .hair-ai{padding:26px!important}
  .wa-consult{min-height:auto!important;padding:24px!important}
  .intro-strip{grid-template-columns:repeat(3,1fr)!important}
  .routine{grid-template-columns:repeat(3,1fr)!important}
  .product-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  #product-catalog{padding:24px!important}
  #product-catalog .catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  section.needs:has(#typeResult) .need-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .review-section{grid-template-columns:minmax(0,1fr) 170px!important}
}

@media(max-width:680px){
  .topbar{min-height:62px!important;padding:11px 16px!important}
  .top-nav a{display:none!important}
  .nav-wa{font-size:8.5px!important}
  .hero{
    min-height:auto!important;
    padding:24px 16px 32px!important;
    grid-template-columns:1fr!important;
    gap:20px!important;
  }
  .hero-art{grid-row:1!important;min-height:0!important}
  .hero-art .hero-model{height:270px!important;border-radius:22px!important}
  .hero-copy{padding-top:0!important}
  .hero h1{font-size:clamp(43px,12vw,58px)!important;letter-spacing:-2px!important}
  .hero p{font-size:14px!important;line-height:1.72!important}
  .hero-note{font-size:9.5px!important}
  main{padding:26px 12px 48px!important}
  .hair-ai{padding:20px 14px!important;border-radius:22px!important}
  .hair-ai h2{font-size:34px!important}
  .hair-ai-panel{padding:13px!important}
  .hair-chat-log{height:210px!important}
  .wa-consult{padding:21px!important;border-radius:20px!important}
  .wa-consult h2{font-size:31px!important}
  .intro-strip{grid-template-columns:1fr!important}
  .intro-strip>div{min-height:0!important;padding:15px!important}
  #hair-basics+.section-head{margin-top:24px!important}
  #hair-basics+.section-head h2{font-size:33px!important}
  .needs{padding:16px!important;border-radius:20px!important}
  .need-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .need{min-height:58px!important;padding:10px!important}
  .routine{grid-template-columns:1fr!important;gap:8px!important}
  .product-guide{padding:21px 15px!important;border-radius:22px!important}
  .product-guide .section-head h2{font-size:31px!important}
  .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .product-tile{padding:13px!important}
  #product-catalog{
    margin-top:20px!important;
    padding:16px 10px 20px!important;
    border-radius:22px!important;
  }
  #product-catalog>.section-head{display:block!important;margin-bottom:14px!important;padding:0 4px!important}
  #product-catalog .section-head h2{font-size:34px!important}
  #product-catalog .section-head p{font-size:11px!important}
  .catalog-filters{
    top:62px!important;
    flex-wrap:nowrap!important;
    overflow-x:auto!important;
    padding:8px!important;
    border-radius:13px!important;
    scrollbar-width:none;
  }
  .catalog-filters::-webkit-scrollbar{display:none}
  .catalog-filter{white-space:nowrap!important;min-height:34px!important;padding:7px 11px!important}
  .catalog-source-note{margin:8px 4px!important}
  .catalog-brand{margin-top:18px!important}
  .catalog-brand>h3{padding:0 4px!important;font-size:19px!important}
  #product-catalog .catalog-grid{
    grid-template-columns:1fr!important;
    gap:10px!important;
  }
  #product-catalog .catalog-card.full-product{
    display:grid!important;
    grid-template-columns:118px minmax(0,1fr)!important;
    grid-template-rows:auto!important;
    align-items:stretch!important;
    border-radius:16px!important;
  }
  #product-catalog .catalog-pack{
    grid-column:1!important;
    grid-row:1!important;
    height:auto!important;
    min-height:175px!important;
    border-bottom:0!important;
    border-right:1px solid #f0e7e1!important;
    padding:8px!important;
  }
  #product-catalog .catalog-copy{
    grid-column:2!important;
    grid-row:1!important;
    padding:12px 12px 12px!important;
  }
  #product-catalog .catalog-copy h4{font-size:12px!important}
  #product-catalog .full-product-price{font-size:15px!important}
  #product-catalog .catalog-copy>p{font-size:10px!important;line-height:1.48!important}
  .product-howto summary{min-height:34px!important;padding:8px 0!important}
  .product-wa{min-height:34px!important;margin-top:7px!important;font-size:9px!important}
  section.needs:has(#typeResult){padding:19px 14px!important}
  section.needs:has(#typeResult) .needs-head{display:block!important}
  section.needs:has(#typeResult) .needs-head h2{font-size:30px!important}
  section.needs:has(#typeResult) .needs-head p{margin-top:7px!important}
  section.needs:has(#typeResult) .need-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .review-section{
    grid-template-columns:1fr!important;
    padding:22px 17px!important;
    gap:20px!important;
    border-radius:22px!important;
  }
  .review-section h2{font-size:32px!important}
  .review-section p{font-size:11px!important}
  .review-qr{width:100%!important;min-height:170px!important}
}

@media(max-width:420px){
  .logo{font-size:16px!important}
  .logo span{font-size:6.5px!important}
  .hero-art .hero-model{height:245px!important}
  .hero h1{font-size:43px!important}
  .hair-ai h2,.wa-consult h2,#hair-basics+.section-head h2,#product-catalog .section-head h2{font-size:30px!important}
  .need-grid,.product-grid,section.needs:has(#typeResult) .need-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  #product-catalog .catalog-card.full-product{grid-template-columns:104px minmax(0,1fr)!important}
  #product-catalog .catalog-pack{min-height:200px!important}
  #product-catalog .catalog-copy{padding:11px!important}
}

@media(prefers-reduced-motion:reduce){
  *{scroll-transition:none!important}
}



.top-nav a.active{
  color:#fff!important;
}
.top-nav a.active:after{right:0!important;background:#e9b795!important}

.subpage-hero{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:28px;
  padding:clamp(48px,7vw,82px) clamp(20px,7vw,96px) 44px;
  border-bottom:1px solid var(--g-line);
  background:
    radial-gradient(circle at 88% 20%,rgba(221,165,132,.18),transparent 25%),
    linear-gradient(135deg,#fbf7f3,#f2e6dd);
}
.subpage-hero>div{max-width:820px}
.subpage-kicker{
  display:inline-block;
  margin-bottom:12px;
  color:var(--g-accent);
  font-size:9px;
  font-weight:900;
  letter-spacing:1.8px;
}
.subpage-hero h1{
  margin:0;
  color:var(--g-ink);
  font-family:Georgia,serif;
  font-size:clamp(42px,5vw,68px);
  font-weight:400;
  letter-spacing:-2.2px;
  line-height:1;
}
.subpage-hero p{
  max-width:690px;
  margin:16px 0 0;
  color:#735f54;
  font-size:13px;
  line-height:1.72;
}
.subpage-action{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  gap:14px;
  min-height:46px;
  padding:12px 17px;
  border-radius:14px;
  background:var(--g-ink);
  color:#fff;
  text-decoration:none;
  font-size:10px;
  font-weight:900;
}
.subpage-action:hover{background:#8c563f;color:#fff}

.home-nav-cards{
  display:none;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin:0 0 24px;
}
.home-nav-card{
  display:grid;
  grid-template-columns:1fr auto;
  align-items:center;
  gap:14px;
  min-height:112px;
  padding:18px;
  border:1px solid var(--g-line);
  border-radius:18px;
  background:#fff;
  color:var(--g-ink);
  text-decoration:none;
  box-shadow:var(--g-shadow-soft);
  transition:transform .18s ease,border-color .18s ease;
}
.home-nav-card:hover{
  transform:translateY(-2px);
  border-color:#d7b9a7;
  color:var(--g-ink);
}
.home-nav-card>span{
  display:grid;
  place-items:center;
  width:34px;height:34px;
  border-radius:10px;
  background:#f4e7de;
  color:var(--g-accent);
  font-size:9px;
  font-weight:900;
}
.home-nav-card strong{
  display:block;
  margin-bottom:5px;
  font-family:Georgia,serif;
  font-size:21px;
  font-weight:400;
}
.home-nav-card p{
  margin:0;
  color:#7a665b;
  font-size:10.5px;
  line-height:1.5;
}
.home-nav-card>b{color:var(--g-accent);font-size:17px}


body.page-home main>*,
body.page-guide main>*,
body.page-catalog main>*,
body.page-review main>*,
body.page-not-found main>*{
  display:none!important;
}
body:not(.page-home)>.hero,
body:not(.page-home) #app>.hero{
  display:none!important;
}


body.page-home .home-nav-cards{display:grid!important}
body.page-home #contact{display:flex!important}
body.page-home #hair-basics{display:grid!important}
body.page-home main{
  display:block!important;
  max-width:1180px!important;
  padding-top:32px!important;
}


body.page-guide .hair-ai{display:grid!important}
body.page-guide #contact{display:flex!important}
body.page-guide #hair-basics{display:grid!important}
body.page-guide #hair-basics + .section-head{display:block!important}
body.page-guide #hair-basics + .section-head + .needs{display:block!important}
body.page-guide .routine{display:grid!important}
body.page-guide .product-guide{display:block!important}
body.page-guide section.needs:has(#typeResult){display:block!important}
body.page-guide main{padding-top:28px!important}


body.page-catalog #product-catalog{display:block!important}
body.page-catalog main{
  display:block!important;
  max-width:1320px!important;
  padding-top:28px!important;
}


body.page-review #google-review{display:grid!important}
body.page-review main{
  display:block!important;
  max-width:1120px!important;
  padding-top:28px!important;
}


body.page-not-found main{display:none!important}


body.page-guide .hair-ai{margin-bottom:18px!important}
body.page-guide #contact{margin-bottom:18px!important}
body.page-guide .product-guide{margin-top:18px!important}
body.page-guide section.needs:has(#typeResult){margin-top:18px!important}
body.page-catalog #product-catalog{margin-top:0!important}
body.page-review #google-review{margin-top:0!important}

@media(max-width:900px){
  .subpage-hero{
    align-items:flex-start;
    padding:38px 20px 30px;
  }
  .subpage-hero h1{font-size:46px}
  .home-nav-cards{grid-template-columns:1fr!important}
  .home-nav-card{min-height:96px}
  body.page-home main,
  body.page-guide main,
  body.page-catalog main,
  body.page-review main{
    padding-top:22px!important;
  }
}

@media(max-width:680px){
  .topbar{
    display:flex!important;
    flex-wrap:wrap!important;
    align-items:center!important;
    height:auto!important;
    min-height:0!important;
    gap:8px 12px!important;
    padding:11px 14px 8px!important;
  }
  .logo{flex:1 1 auto}
  .top-tag{display:none!important}
  .top-nav{
    order:3;
    width:100%;
    display:flex!important;
    gap:6px!important;
    overflow-x:auto;
    padding:7px 0 2px;
    border-top:1px solid rgba(255,255,255,.08);
    scrollbar-width:none;
  }
  .top-nav::-webkit-scrollbar{display:none}
  .top-nav a{
    display:inline-flex!important;
    align-items:center;
    flex:0 0 auto;
    min-height:32px;
    padding:7px 10px!important;
    border-radius:999px;
    background:rgba(255,255,255,.055);
    white-space:nowrap;
    font-size:8px!important;
    letter-spacing:.8px!important;
  }
  .top-nav a.active{
    background:#fff!important;
    color:#2b211d!important;
  }
  .top-nav a:after{display:none!important}
  .nav-wa{
    flex:0 0 auto;
    min-height:32px;
    padding:7px 10px!important;
    border-radius:999px;
    background:rgba(233,183,149,.14)!important;
    white-space:nowrap;
    font-size:8px!important;
  }

  .subpage-hero{
    display:block;
    padding:30px 16px 24px;
  }
  .subpage-hero h1{
    font-size:38px;
    letter-spacing:-1.4px;
  }
  .subpage-hero p{
    margin-top:11px;
    font-size:11.5px;
  }
  .subpage-action{
    margin-top:18px;
    width:100%;
    justify-content:space-between;
  }

  .home-nav-cards{gap:9px}
  .home-nav-card{
    min-height:86px;
    padding:14px;
    border-radius:15px;
  }
  .home-nav-card strong{font-size:18px}
  .home-nav-card p{font-size:10px}
  body.page-home #contact{margin-top:16px!important}
  body.page-home #hair-basics{margin-top:16px!important}
}



body.page-home .home-featured{display:block!important}
body.page-home .home-video{display:grid!important}
body.page-home #contact,
body.page-home #hair-basics{display:none!important}

.home-featured{
  margin:0 0 24px;
  padding:28px;
  border:1px solid var(--g-line);
  border-radius:26px;
  background:var(--g-paper);
  box-shadow:var(--g-shadow-soft);
}
.home-section-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:24px;
  margin-bottom:20px;
}
.home-section-head h2{
  margin:4px 0 0;
  color:var(--g-ink);
  font-family:Georgia,serif;
  font-size:clamp(31px,3.6vw,46px);
  font-weight:400;
  line-height:1.02;
  letter-spacing:-1.2px;
}
.home-section-head p{
  max-width:620px;
  margin:9px 0 0;
  color:#7b675c;
  font-size:11.5px;
  line-height:1.6;
}
.featured-actions{
  display:flex;
  align-items:center;
  gap:10px;
  flex:0 0 auto;
}
.featured-controls{display:flex;gap:6px}
.featured-controls button{
  width:38px;height:38px;
  display:grid;place-items:center;
  border:1px solid var(--g-line-strong);
  border-radius:11px;
  background:#fff;
  color:var(--g-ink);
  font-size:16px;
  cursor:pointer;
}
.featured-controls button:hover{background:#f7eee8}
.featured-all{
  display:inline-flex;
  align-items:center;
  gap:10px;
  min-height:38px;
  padding:9px 13px;
  border-radius:11px;
  background:var(--g-ink);
  color:#fff;
  text-decoration:none;
  font-size:9.5px;
  font-weight:900;
}
.featured-all:hover{background:#8b553e;color:#fff}

.featured-track{
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:minmax(210px,1fr);
  gap:12px;
  overflow-x:auto;
  overscroll-behavior-inline:contain;
  scroll-snap-type:x mandatory;
  scroll-
  padding:2px 2px 8px;
  scrollbar-width:none;
}
.featured-track::-webkit-scrollbar{display:none}
.featured-card{
  scroll-snap-align:start;
  display:flex;
  flex-direction:column;
  min-width:0;
  overflow:hidden;
  border:1px solid #eadfd8;
  border-radius:18px;
  background:#fff;
  color:var(--g-ink);
  text-decoration:none;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.featured-card:hover{
  transform:translateY(-2px);
  border-color:#d3b9aa;
  box-shadow:0 12px 26px rgba(56,38,29,.07);
  color:var(--g-ink);
}
.featured-card-media{
  height:180px;
  display:grid;
  place-items:center;
  padding:12px;
  border-bottom:1px solid #f0e7e1;
  background:linear-gradient(180deg,#fff,#fbf8f6);
}
.featured-card-media img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
}
.featured-card-copy{
  display:flex;
  flex:1;
  flex-direction:column;
  padding:14px;
}
.featured-card-brand{
  margin-bottom:5px;
  color:var(--g-accent);
  font-size:8px;
  font-weight:900;
  letter-spacing:1.2px;
  text-transform:uppercase;
}
.featured-card h3{
  margin:0 0 7px;
  color:#362821;
  font:600 13px/1.35 inherit;
}
.featured-card-meta{
  margin:0 0 7px;
  color:#927363;
  font-size:8.5px;
  font-weight:800;
  letter-spacing:.8px;
  text-transform:uppercase;
}
.featured-card-price{
  margin-top:auto;
  color:#ad5f3e;
  font-size:16px;
  font-weight:900;
}
.featured-card-cta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  margin-top:12px;
  padding-top:11px;
  border-top:1px solid #eee4de;
  color:#5b463a;
  font-size:9px;
  font-weight:900;
}

.home-video{
  grid-template-columns:.75fr 1.25fr;
  gap:28px;
  align-items:center;
  padding:30px;
  border-radius:28px;
  background:linear-gradient(125deg,#281f1b,#483127 68%,#694636);
  color:#fff;
  box-shadow:var(--g-shadow);
}
.home-video .section-kicker{color:#e5b28f}
.home-video h2{
  margin:8px 0 12px;
  max-width:470px;
  color:#fff;
  font-family:Georgia,serif;
  font-size:clamp(31px,3.5vw,46px);
  font-weight:400;
  line-height:1.04;
}
.home-video p{
  max-width:440px;
  margin:0;
  color:#ddc9bd;
  font-size:11.5px;
  line-height:1.65;
}
.video-link{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin-top:18px;
  padding:10px 14px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:11px;
  background:rgba(255,255,255,.07);
  color:#fff;
  text-decoration:none;
  font-size:9px;
  font-weight:900;
}
.video-link:hover{background:rgba(255,255,255,.12);color:#fff}
.home-video-frame{
  overflow:hidden;
  aspect-ratio:16/9;
  border-radius:20px;
  background:#111;
  box-shadow:0 18px 40px rgba(0,0,0,.22);
}
.home-video-frame iframe{
  display:block;
  width:100%;
  height:100%;
  border:0;
}

@media(max-width:900px){
  .home-video{grid-template-columns:1fr!important}
  .home-video-copy{max-width:680px}
}
@media(max-width:680px){
  .home-featured{padding:18px 12px;border-radius:20px}
  .home-section-head{display:block;margin-bottom:14px}
  .home-section-head h2{font-size:30px}
  .home-section-head p{font-size:10.5px}
  .featured-actions{
    justify-content:space-between;
    margin-top:14px;
  }
  .featured-track{
    grid-auto-columns:78%;
    gap:9px;
  }
  .featured-card-media{height:150px}
  .featured-card-copy{padding:12px}
  .featured-card h3{font-size:12px}
  .home-video{
    gap:18px;
    padding:20px 14px;
    border-radius:22px;
  }
  .home-video h2{font-size:30px}
}


.home-video-poster{
  position:relative;
  display:block;
  width:100%;
  height:100%;
  padding:0;
  border:0;
  background:#111;
  cursor:pointer;
}
.home-video-poster img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.home-video-poster:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.34));
}
.home-video-play{
  position:absolute;
  left:50%;top:50%;
  z-index:2;
  display:grid;
  place-items:center;
  width:62px;height:62px;
  transform:translate(-50%,-50%);
  border-radius:50%;
  background:rgba(255,255,255,.94);
  color:#2b211d;
  font-size:22px;
  box-shadow:0 12px 34px rgba(0,0,0,.24);
  transition:transform .18s ease,background .18s ease;
}
.home-video-caption{
  position:absolute;
  left:16px;bottom:14px;
  z-index:2;
  padding:7px 10px;
  border-radius:999px;
  background:rgba(33,26,23,.78);
  color:#fff;
  font-size:9px;
  font-weight:900;
  letter-spacing:.4px;
}
.home-video-poster:hover .home-video-play{
  transform:translate(-50%,-50%) scale(1.06);
  background:#fff;
}
.home-video-poster:focus-visible{
  outline:3px solid #f0b38e;
  outline-offset:3px;
}



.featured-track{
  grid-auto-columns:220px;
  align-items:stretch;
}
.featured-card{
  height:100%;
  min-height:358px;
}
.featured-card-media{
  height:168px;
  min-height:168px;
  padding:14px;
}
.featured-card-media img{
  width:100%;
  height:100%;
  max-width:88%;
  max-height:100%;
  margin:auto;
  object-fit:contain;
  object-position:center;
}
.featured-card-copy{
  min-height:176px;
  padding:13px 14px 14px;
}
.featured-card-brand{
  min-height:12px;
  margin-bottom:5px;
}
.featured-card h3{
  display:-webkit-box;
  min-height:52.7px;
  max-height:52.7px;
  margin:0 0 7px;
  overflow:hidden;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
  line-clamp:3;
  font-size:13px;
  line-height:1.35;
}
.featured-card-meta{
  min-height:12px;
  margin-bottom:6px;
}
.featured-card-price{
  margin-top:0;
  min-height:20px;
  font-size:16px;
}
.featured-card-cta{
  margin-top:auto;
}
.featured-card[data-clone="true"]{
  pointer-events:auto;
}

@media(max-width:680px){
  .featured-track{
    grid-auto-columns:76%;
  }
  .featured-card{
    min-height:330px;
  }
  .featured-card-media{
    height:154px;
    min-height:154px;
  }
  .featured-card-copy{
    min-height:164px;
  }
  .featured-card h3{
    min-height:48.6px;
    max-height:48.6px;
    font-size:12px;
  }
}



.video-selector{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  margin-top:18px;
}
.video-choice{
  min-width:0;
  min-height:58px;
  padding:10px 12px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:13px;
  background:rgba(255,255,255,.055);
  color:#eadbd2;
  text-align:left;
  cursor:pointer;
  transition:background .18s ease,border-color .18s ease,transform .18s ease;
}
.video-choice:hover{
  transform:translateY(-1px);
  background:rgba(255,255,255,.09);
}
.video-choice.active{
  border-color:rgba(237,189,158,.62);
  background:#fff8f2;
  color:#37281f;
}
.video-choice strong{
  display:block;
  margin-bottom:3px;
  font-size:10px;
  letter-spacing:.4px;
}
.video-choice span{
  display:block;
  overflow:hidden;
  color:inherit;
  opacity:.72;
  font-size:8.5px;
  line-height:1.35;
  white-space:nowrap;
  text-overflow:ellipsis;
}
.video-choice:focus-visible{
  outline:2px solid #efb68f;
  outline-offset:2px;
}
.home-video .video-link{
  margin-top:10px;
}
@media(max-width:680px){
  .video-selector{gap:7px;margin-top:14px}
  .video-choice{min-height:52px;padding:9px 10px}
  .video-choice strong{font-size:9.5px}
  .video-choice span{font-size:8px}
}
