:root {
  --main-blue:#5B8FAA;
  --deep-water-blue:#3E6479;
  --mist-blue:#AFC8D6;
  --ivory-light:#F7F1E6;
  --sand-beige:#D9C2A0;
  --rose-wing:#D88B86;
  --sun-gold:#CBA54E;
  --midnight-ink:#3A3440;
  --primary:var(--main-blue);
  --primary-dark:var(--deep-water-blue);
  --secondary:var(--mist-blue);
  --base:var(--ivory-light);
  --beige:var(--sand-beige);
  --accent:var(--rose-wing);
  --gold:var(--sun-gold);
  --text:var(--midnight-ink);
  --line:rgba(62,100,121,.22);
  --shadow:0 5px 16px rgba(58,52,64,.10);
  --max:1180px;
}
* {
  box-sizing:border-box
}
html {
  scroll-behavior:smooth
}
body {
  margin:0;
  color:var(--text);
  background:#FFFFFF;
  font-family:"Yu Mincho","Hiragino Mincho ProN","Times New Roman",serif;
  line-height:1.85;
}
img {
  max-width:100%;
  display:block
}
a {
  color:inherit;
  text-decoration:none
}
.container {
  width:min(calc(100% - 40px),var(--max));
  margin-inline:auto
}
.section {
  padding:92px 0
}
.section.alt {
  background:var(--base)
}
.section.red {
  background:var(--primary);
  color:#FFFFFF
}
.section-title {
  margin:0 0 42px;
  text-align:center;
  color:var(--primary);
  font-size:clamp(32px,4vw,52px);
  line-height:1.1;
}
.red .section-title {
  color:#FFFFFF
}
.section-title:after {
  content:"";
  display:block;
  width:64px;
  height:1px;
  background:currentColor;
  opacity:.45;
  margin:16px auto 0;
}
/* Header */ .site-header {
  position:sticky;
  top:0;
  z-index:20;
  background:rgba(247,241,230,.96);
  border-bottom:1px solid rgba(62,100,121,.14);
  backdrop-filter:blur(8px);
}
.nav {
  height:72px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}
.brand {
  color:var(--primary);
  font-weight:700;
  font-size:24px;
  white-space:nowrap;
}
.menu {
  display:flex;
  gap:34px;
  align-items:center;
  font-family:Arial,sans-serif;
  font-size:14px;
  color:var(--midnight-ink)
}
.menu a {
  transition:.2s
}
.menu a:hover {
  color:var(--primary)
}
#menu-toggle {
  display:none
}
.menu-button {
  display:none
}
/* Hero */ .hero {
  min-height:calc(100vh - 72px);
  display:grid;
  place-items:center;
  position:relative;
  color:#FFFFFF;
  text-align:center;
  overflow:hidden;
  background: linear-gradient(rgba(62,100,121,.15),rgba(58,52,64,.26)), radial-gradient(circle at 15% 30%,rgba(247,241,230,.62) 0 5%,transparent 6%), linear-gradient(180deg,var(--ivory-light) 0 20%,var(--mist-blue) 20% 33%,var(--main-blue) 33% 100%);
}
.hero:before,.hero:after {
  content:"";
  position:absolute;
  left:0;
  right:0;
}
.hero:before {
  top:30%;
  height:55%;
  background: linear-gradient(90deg, transparent 0 3%, var(--ivory-light) 3% 9%, transparent 9% 17%, var(--ivory-light) 17% 23%, transparent 23% 30%, var(--ivory-light) 30% 36%, transparent 36% 45%, var(--ivory-light) 45% 51%, transparent 51% 60%, var(--ivory-light) 60% 67%, transparent 67% 76%, var(--ivory-light) 76% 82%, transparent 82% 91%, var(--ivory-light) 91% 97%, transparent 97%);
  opacity:.72;
}
.hero:after {
  bottom:0;
  height:34%;
  background: linear-gradient(90deg, transparent 0 5%, var(--deep-water-blue) 5% 16%, transparent 16% 26%, var(--deep-water-blue) 26% 39%, transparent 39% 52%, var(--midnight-ink) 52% 65%, transparent 65% 76%, var(--deep-water-blue) 76% 90%, transparent 90%);
  opacity:.88;
}
.hero-content {
  position:relative;
  z-index:2;
  padding:20px
}
.hero h1 {
  margin:0;
  font-size:clamp(44px,6vw,82px);
  text-shadow:0 3px 8px rgba(0,0,0,.55);
}
.hero p {
  margin:12px 0 0;
  font-size:clamp(16px,2vw,24px);
  text-shadow:0 2px 5px rgba(0,0,0,.45);
}
/* About */ .about-intro {
  text-align:center;
  max-width:760px;
  margin:0 auto 60px
}
.bird {
  color:var(--gold);
  font-size:38px;
  line-height:1
}
.eyebrow {
  color:var(--gold);
  font-size:20px;
  margin:14px 0 6px
}
.about-intro h2 {
  font-size:clamp(44px,5vw,72px);
  color:var(--primary);
  margin:0 0 28px
}
.about-grid {
  display:grid;
  grid-template-columns:1fr 1.25fr;
  gap:44px;
  align-items:center
}
.profile-copy h3 {
  color:var(--gold);
  font-size:24px;
  margin:0 0 12px
}
.profile-name {
  font-size:32px;
  color:var(--primary);
  font-weight:700;
  margin-bottom:20px
}
.rule {
  width:64px;
  height:1px;
  background:var(--sand-beige);
  margin:18px 0 28px
}
.dummy-photo {
  aspect-ratio:4/3;
  border-radius:2px;
  overflow:hidden;
  position:relative;
  background: radial-gradient(circle at 50% 30%,#f7c8a9 0 11%,transparent 11.5%), radial-gradient(ellipse at 50% 33%,#342b29 0 21%,transparent 21.5%), linear-gradient(180deg,var(--sand-beige) 0 53%,var(--ivory-light) 53% 100%);
}
.dummy-photo:after {
  content:"";
  position:absolute;
  inset:auto 23% 0;
  height:45%;
  background:linear-gradient(var(--ivory-light),#FFFFFF);
  clip-path:polygon(30% 0,70% 0,100% 100%,0 100%);
}
/* Staff */ .center-copy {
  max-width:780px;
  text-align:center;
  margin:-16px auto 46px
}
.card-grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:28px
}
.staff-card {
  background:#FFFFFF;
  border-radius:18px;
  overflow:hidden;
  border:1px solid var(--sand-beige);
  box-shadow:0 2px 8px rgba(0,0,0,.06)
}
.staff-card .dummy-photo {
  aspect-ratio:1/1;
  border-radius:0
}
.staff-card:nth-child(2) .dummy-photo {
  background:radial-gradient(circle at 50% 30%,#f6d8c2 0 11%,transparent 11.5%),radial-gradient(ellipse at 50% 31%,#5b443c 0 22%,transparent 22.5%),linear-gradient(180deg,var(--mist-blue) 0 53%,#FFFFFF 53% 100%)
}
.staff-card:nth-child(3) .dummy-photo {
  background:radial-gradient(circle at 50% 30%,#f0c3a0 0 11%,transparent 11.5%),radial-gradient(ellipse at 50% 31%,#d5d3d0 0 22%,transparent 22.5%),linear-gradient(180deg,var(--sand-beige) 0 53%,#FFFFFF 53% 100%)
}
.staff-card:nth-child(4) .dummy-photo {
  background:radial-gradient(circle at 50% 30%,#e5b18e 0 11%,transparent 11.5%),radial-gradient(ellipse at 50% 31%,#2b2427 0 22%,transparent 22.5%),linear-gradient(180deg,var(--sun-gold) 0 53%,#FFFFFF 53% 100%)
}
.staff-body {
  padding:20px 18px 24px
}
.role {
  color:var(--gold);
  text-align:center;
  font-weight:700
}
.staff-name {
  color:var(--primary);
  font-size:24px;
  text-align:center;
  font-weight:700;
  margin:3px 0 12px
}
.staff-jp {
  text-align:center;
  font-size:12px;
  margin-bottom:18px
}
/* Services */ .service-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:54px 40px
}
.service-card {
  text-align:left
}
.service-card .service-head {
  text-align:center
}
.service-card h3 {
  color:var(--primary);
  font-size:28px;
  margin:4px 0 0
}
.service-sub {
  font-size:12px;
  text-align:center;
  margin-bottom:18px
}
.service-image {
  aspect-ratio:4/3;
  background: linear-gradient(135deg,rgba(255,255,255,.2),rgba(0,0,0,.08)), repeating-linear-gradient(45deg,var(--mist-blue) 0 14px,var(--ivory-light) 14px 28px);
  position:relative;
  overflow:hidden;
}
.service-image:before {
  content:"DUMMY IMAGE";
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  font-family:Arial,sans-serif;
  font-size:15px;
  letter-spacing:.12em;
  color:var(--deep-water-blue);
}
.service-card p {
  margin-top:12px
}
/* Price */ .price-intro {
  max-width:760px;
  text-align:center;
  margin:-16px auto 40px
}
.price-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:30px
}
.price-card {
  background:#FFFFFF;
  color:var(--text);
  padding:28px;
  border-radius:9px;
  box-shadow:var(--shadow)
}
.price-card h3 {
  text-align:center;
  color:var(--primary);
  font-size:28px;
  margin:2px 0 0
}
.price-card small {
  display:block;
  text-align:center;
  margin-bottom:20px
}
.price-row {
  display:flex;
  justify-content:space-between;
  gap:20px;
  padding:8px 0;
  border-bottom:1px solid var(--line)
}
.price-grid .price-card:nth-child(4) {
  grid-column:1/2;
  margin-left:50%
}
.price-grid .price-card:nth-child(5) {
  grid-column:2/3;
  margin-left:50%
}
.reserve {
  display:block;
  width:min(760px,100%);
  margin:48px auto 0;
  background:#FFFFFF;
  color:var(--primary);
  border-radius:4px;
  padding:14px 20px;
  text-align:center;
  font-weight:700;
  font-family:Arial,sans-serif;
}
/* Gallery */ .gallery {
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:6px;
}
.gallery .g {
  min-height:150px;
  background:linear-gradient(135deg,var(--mist-blue),var(--ivory-light));
  position:relative;
}
.gallery .g:nth-child(2n) {
  background:linear-gradient(135deg,var(--rose-wing),var(--mist-blue))
}
.gallery .g:nth-child(3n) {
  background:linear-gradient(135deg,var(--sand-beige),var(--ivory-light))
}
.gallery .g:after {
  content:"PHOTO";
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  font-family:Arial,sans-serif;
  color:rgba(58,52,64,.55);
  letter-spacing:.15em
}
/* Contact */ .contact-grid {
  display:grid;
  grid-template-columns:1.25fr .75fr;
  gap:46px;
  align-items:start
}
.shop-table {
  width:100%;
  border-collapse:collapse
}
.shop-table th,.shop-table td {
  border-bottom:1px solid var(--sand-beige);
  padding:10px 8px;
  text-align:left;
  vertical-align:top
}
.shop-table th {
  width:24%;
  font-weight:400
}
.map-placeholder {
  min-height:320px;
  background: linear-gradient(90deg,transparent 49%,var(--mist-blue) 50% 52%,transparent 53%), linear-gradient(0deg,transparent 49%,var(--mist-blue) 50% 52%,transparent 53%), linear-gradient(135deg,var(--ivory-light),var(--sand-beige));
  position:relative;
  border:1px solid var(--sand-beige);
}
.map-placeholder:after {
  content:"MAP DUMMY";
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  color:var(--deep-water-blue);
  font-family:Arial,sans-serif;
  letter-spacing:.12em
}
.booking {
  text-align:center;
  margin-top:70px;
  padding-top:60px;
  border-top:1px solid var(--line)
}
.booking h3,.inquiry h3 {
  color:var(--primary);
  font-size:32px;
  margin-top:0
}
.booking a {
  display:block;
  width:min(740px,100%);
  margin:0 auto;
  background:var(--primary);
  color:#FFFFFF;
  padding:15px;
  border-radius:4px;
  font-family:Arial,sans-serif
}
.inquiry {
  margin-top:80px
}
.form-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:22px 30px
}
.field label {
  display:block;
  margin-bottom:7px
}
.field input,.field textarea {
  width:100%;
  border:1px solid var(--mist-blue);
  padding:13px 14px;
  font:inherit;
  background:#FFFFFF
}
.field.full {
  grid-column:1/-1
}
.field textarea {
  min-height:180px;
  resize:vertical
}
.submit {
  grid-column:1/-1;
  border:0;
  background:var(--primary);
  color:#FFFFFF;
  padding:15px;
  font:inherit;
  font-weight:700;
  cursor:pointer
}
footer {
  background:var(--primary);
  color:#FFFFFF;
  text-align:center;
  padding:26px 20px;
  font-weight:700
}
/* Responsive */ @media (max-width:980px) {
  .card-grid {
    grid-template-columns:repeat(2,1fr)
  }
  .service-grid {
    grid-template-columns:repeat(2,1fr)
  }
  .price-grid {
    grid-template-columns:repeat(2,1fr)
  }
  .price-grid .price-card:nth-child(4), .price-grid .price-card:nth-child(5) {
    grid-column:auto;
    margin-left:0
  }
  .gallery {
    grid-template-columns:repeat(3,1fr)
  }
}
@media (max-width:760px) {
  .section {
    padding:64px 0
  }
  .container {
    width:min(calc(100% - 28px),var(--max))
  }
  .menu-button {
    display:block;
    cursor:pointer;
    font-family:Arial,sans-serif;
    border:1px solid var(--mist-blue);
    padding:7px 10px;
    border-radius:4px;
    color:var(--deep-water-blue)
  }
  .menu {
    display:none;
    position:absolute;
    left:0;
    right:0;
    top:72px;
    background:var(--base);
    flex-direction:column;
    gap:0;
    border-top:1px solid var(--mist-blue)
  }
  .menu a {
    width:100%;
    padding:14px 20px;
    text-align:center;
    border-bottom:1px solid var(--mist-blue)
  }
  #menu-toggle:checked + .menu-button + .menu {
    display:flex
  }
  .hero {
    min-height:72vh
  }
  .about-grid,.contact-grid {
    grid-template-columns:1fr
  }
  .about-grid {
    gap:28px
  }
  .service-grid,.price-grid {
    grid-template-columns:1fr
  }
  .gallery {
    grid-template-columns:repeat(2,1fr)
  }
  .form-grid {
    grid-template-columns:1fr
  }
  .field.full,.submit {
    grid-column:auto
  }
}
@media (max-width:520px) {
  .brand {
    font-size:20px
  }
  .hero h1 {
    font-size:42px
  }
  .about-intro h2 {
    font-size:40px
  }
  .card-grid {
    grid-template-columns:1fr
  }
  .gallery {
    grid-template-columns:1fr 1fr
  }
}
/* Representative / staff image cropping */ .about-photo {
  width:100%;
  aspect-ratio:1 / 1;
  overflow:hidden;
  border-radius:2px;
  background:var(--ivory-light);
}
.about-photo img {
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  /* 添付見本のように顔を中央付近に置き、上半身を正方形でトリミング */ object-position:50% 43%;
}
.staff-photo {
  width:100%;
  aspect-ratio:1 / 1;
  overflow:hidden;
  background:#fff;
}
.staff-photo img {
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}
/* 1人目: 顔を中心に、肩まで入る正方形トリミング */ .staff-card:nth-child(1) .staff-photo img {
  object-position:50% 34%;
}
/* イラスト3点: 頭から肩までが見本の範囲に収まるよう調整 */ .staff-card:nth-child(2) .staff-photo img {
  object-position:50% 18%;
}
.staff-card:nth-child(3) .staff-photo img {
  object-position:50% 18%;
}
.staff-card:nth-child(4) .staff-photo img {
  object-position:50% 18%;
}
/* Palette refinement */ .menu a:hover {
  color:var(--rose-wing)
}
.section-title, .about-intro h2, .profile-name, .staff-name, .service-card h3, .price-card h3, .booking h3, .inquiry h3 {
  color:var(--main-blue)
}
.brand {
  color:var(--deep-water-blue)
}
.eyebrow, .profile-copy h3, .role, .bird {
  color:var(--sun-gold)
}
.section.alt {
  background:var(--ivory-light)
}
.section.red {
  background:var(--deep-water-blue);
  color:#FFFFFF;
}
.red .section-title {
  color:#FFFFFF
}
.price-card {
  background:var(--ivory-light);
  color:var(--midnight-ink);
  border:1px solid rgba(217,194,160,.75);
}
.reserve {
  background:var(--ivory-light);
  color:var(--deep-water-blue);
}
.booking a, .submit {
  background:var(--main-blue);
  color:#FFFFFF;
}
.booking a:hover, .submit:hover {
  background:var(--deep-water-blue);
}
.staff-card {
  background:#FFFFFF;
  border-color:rgba(217,194,160,.70);
}
.staff-card:hover {
  box-shadow:0 8px 22px rgba(62,100,121,.14);
}
.field input:focus, .field textarea:focus {
  outline:2px solid var(--mist-blue);
  border-color:var(--main-blue);
}
footer {
  background:var(--deep-water-blue);
  color:#FFFFFF;
}
.menu-button {
  border-color:var(--mist-blue);
  color:var(--deep-water-blue);
}
@media (max-width:760px) {
  .menu {
    background:var(--ivory-light);
    border-top-color:var(--mist-blue);
  }
  .menu a {
    border-bottom-color:var(--mist-blue)
  }
}
.lead-copy {
  margin:26px 0 18px;
  color:var(--deep-water-blue);
  font-size:clamp(22px,3vw,34px);
  line-height:1.65;
  font-weight:700;
}
.experience-title {
  margin:24px 0 30px;
  color:var(--rose-wing);
  font-size:clamp(25px,3vw,36px);
  line-height:1.4;
}
.salon-message {
  max-width:760px;
  margin:0 auto;
  font-size:16px;
  line-height:2.1;
}
.salon-message p {
  margin:0 0 24px;
}
@media (max-width:760px) {
  .salon-message br {
    display:none
  }
}
/* Updated content layout */ #price .price-grid {
  grid-template-columns:repeat(2,1fr);
  align-items:stretch
}
#price .price-grid .price-card {
  margin-left:0;
  grid-column:auto
}
#service .service-grid {
  grid-template-columns:repeat(2,1fr)
}
#service .service-card h3 {
  font-size:clamp(22px,2.4vw,28px)
}
.price-card p {
  margin:8px 0 16px
}
.price-card .price-row span:only-child {
  width:100%
}
@media (max-width:760px) {
  #price .price-grid, #service .service-grid {
    grid-template-columns:1fr
  }
}
/* Hero carousel */ .hero {
  min-height:calc(100vh - 72px);
  position:relative;
  display:block;
  overflow:hidden;
  background:#000;
}
.hero:before, .hero:after {
  content:none !important;
  display:none !important;
}
.hero-carousel {
  position:absolute;
  inset:0;
}
.hero-slide {
  position:absolute;
  inset:0;
  opacity:0;
  visibility:hidden;
  transition:opacity 1.1s ease, visibility 1.1s ease;
}
.hero-slide.is-active {
  opacity:1;
  visibility:visible;
}
.hero-slide img {
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
}
.hero-overlay {
  position:absolute;
  inset:0;
  z-index:2;
  display:grid;
  place-items:center;
  background:linear-gradient( 180deg, rgba(58,52,64,.12) 0%, rgba(58,52,64,.20) 45%, rgba(58,52,64,.30) 100% );
  color:#fff;
  text-align:center;
  pointer-events:none;
}
.hero-content {
  position:relative;
  z-index:3;
  padding:20px;
  width:min(92%,1100px);
}
.hero h1 {
  margin:0;
  font-size:clamp(44px,6vw,82px);
  text-shadow:0 3px 10px rgba(0,0,0,.48);
}
.hero p {
  margin:12px 0 0;
  font-size:clamp(16px,2vw,24px);
  text-shadow:0 2px 7px rgba(0,0,0,.42);
}
.hero-control {
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  z-index:4;
  width:46px;
  height:64px;
  border:0;
  background:rgba(255,255,255,.18);
  color:#fff;
  font-size:42px;
  line-height:1;
  cursor:pointer;
  transition:background .2s ease;
}
.hero-control:hover {
  background:rgba(255,255,255,.32);
}
.hero-prev {
  left:18px
}
.hero-next {
  right:18px
}
.hero-dots {
  position:absolute;
  left:50%;
  bottom:24px;
  transform:translateX(-50%);
  z-index:4;
  display:flex;
  gap:10px;
}
.hero-dot {
  width:10px;
  height:10px;
  padding:0;
  border:1px solid rgba(255,255,255,.92);
  border-radius:50%;
  background:rgba(255,255,255,.28);
  cursor:pointer;
}
.hero-dot.is-active {
  background:#fff;
}
/* Service photos */ .service-image {
  aspect-ratio:4 / 3;
  overflow:hidden;
  background:var(--ivory-light);
}
.service-image:before {
  content:none !important;
  display:none !important;
}
.service-image img {
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center center;
}
@media (max-width:760px) {
  .hero {
    min-height:72vh;
  }
  .hero-control {
    width:38px;
    height:54px;
    font-size:34px;
  }
  .hero-prev {
    left:8px
  }
  .hero-next {
    right:8px
  }
  .hero-dots {
    bottom:16px
  }
}
/* Staff photo: always display in a true 1:1 square */ #staff .staff-photo {
  position:relative;
  width:100%;
  aspect-ratio:1 / 1;
  height:auto;
  overflow:hidden;
  background:#fff;
  flex:none;
}
#staff .staff-photo img {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  max-width:none;
  object-fit:cover;
  display:block;
}
/* 個別の表示位置 */ #staff .staff-card:nth-child(1) .staff-photo img {
  object-position:50% 34%;
}
#staff .staff-card:nth-child(2) .staff-photo img, #staff .staff-card:nth-child(3) .staff-photo img, #staff .staff-card:nth-child(4) .staff-photo img {
  object-position:50% 18%;
}
/* Staff section spacing refinement */ #staff .staff-body {
  padding:18px 18px 22px;
}
#staff .role {
  margin:0 0 6px;
  line-height:1.35;
  font-size:15px;
}
#staff .staff-name {
  margin:0 0 4px;
  line-height:1.25;
  font-size:24px;
}
#staff .staff-jp {
  margin:0 0 22px;
  line-height:1.35;
  font-size:12px;
}
#staff .staff-body p {
  margin:0;
  line-height:1.9;
  font-size:15px;
}
/* タブレット以下では少し詰めて見やすくする */ @media (max-width:980px) {
  #staff .staff-body {
    padding:16px 16px 20px;
  }
  #staff .staff-jp {
    margin-bottom:18px;
  }
}
/* スマホ表示 */ @media (max-width:520px) {
  #staff .role {
    margin-bottom:5px;
  }
  #staff .staff-name {
    margin-bottom:3px;
  }
  #staff .staff-jp {
    margin-bottom:16px;
  }
  #staff .staff-body p {
    line-height:1.85;
  }
}
/* Gold diamond -> Font Awesome dove */ .bird {
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--sun-gold);
  font-size:32px;
  line-height:1;
}
.bird .fa-dove {
  color:var(--sun-gold);
  font-size:32px;
  line-height:1;
  display:inline-block;
}
/* Price course duration text */ #price .price-card small {
  font-size:1em;
  line-height:1.85;
}
/* Contact social links */ #contact .social-links {
  margin-top:18px;
  display:flex;
  align-items:center;
  gap:14px;
  color:var(--sun-gold);
  font-family:Arial,sans-serif;
  font-size:24px;
}
#contact .social-links .fa-instagram {
  color:var(--sun-gold);
  font-size:28px;
  line-height:1;
}
/* Instagram link */ #contact .social-links a {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:var(--sun-gold);
  text-decoration:none;
}
#contact .social-links a:hover {
  opacity:.75;
}
/* Google Maps */ #contact .map-embed {
  width:100%;
  min-height:320px;
  border:1px solid var(--sand-beige);
  overflow:hidden;
  background:#fff;
}
#contact .map-embed iframe {
  display:block;
  width:100%;
  height:320px;
  border:0;
}
@media (max-width:760px) {
  #contact .map-embed, #contact .map-embed iframe {
    min-height:300px;
    height:300px;
  }
}
/* Menu / Price heading order: title -> duration -> price */ #price .price-card h3 {
  margin-bottom:4px;
}
#price .price-card small {
  margin:0 0 2px;
  font-size:1em;
  line-height:1.6;
}
#price .price-card .course-price {
  margin:0 0 22px;
  text-align:center;
  font-size:1em;
  line-height:1.6;
  font-weight:700;
  color:var(--midnight-ink);
}
/* Welcome to / Brand Director profile alignment */ #about .profile-copy {
  text-align:center;
}
#about .profile-copy h3, #about .profile-copy .profile-name, #about .profile-copy > div, #about .profile-copy .rule {
  text-align:center;
}
#about .profile-copy .rule {
  margin-left:auto;
  margin-right:auto;
}
/* About / Welcome to profile carousel */ #about .about-carousel {
  position:relative;
  width:100%;
  aspect-ratio:1 / 1;
  overflow:hidden;
  background:var(--ivory-light);
}
#about .about-carousel-slides, #about .about-carousel-slide {
  position:absolute;
  inset:0;
}
#about .about-carousel-slide {
  opacity:0;
  visibility:hidden;
  transition:opacity .9s ease, visibility .9s ease;
}
#about .about-carousel-slide.is-active {
  opacity:1;
  visibility:visible;
}
#about .about-carousel-slide img {
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  display:block;
}
#about .about-carousel-control {
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  z-index:3;
  width:38px;
  height:54px;
  border:0;
  background:rgba(58,52,64,.20);
  color:#fff;
  font-size:34px;
  line-height:1;
  cursor:pointer;
}
#about .about-carousel-prev {
  left:10px
}
#about .about-carousel-next {
  right:10px
}
#about .about-carousel-dots {
  position:absolute;
  left:50%;
  bottom:14px;
  transform:translateX(-50%);
  z-index:3;
  display:flex;
  gap:8px;
}
#about .about-carousel-dot {
  width:9px;
  height:9px;
  padding:0;
  border:1px solid rgba(255,255,255,.95);
  border-radius:50%;
  background:rgba(255,255,255,.35);
  cursor:pointer;
}
#about .about-carousel-dot.is-active {
  background:#fff;
}
/* Gallery masonry layout */ #gallery .gallery-masonry {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  grid-auto-rows:10px;
  gap:8px;
  align-items:start;
}
#gallery .gallery-item {
  display:block;
  overflow:hidden;
  background:var(--ivory-light);
  border-radius:2px;
  cursor:zoom-in;
}
#gallery .gallery-item img {
  width:100%;
  height:auto;
  display:block;
  transition:transform .25s ease, opacity .25s ease;
}
#gallery .gallery-item:hover img {
  transform:scale(1.015);
  opacity:.96;
}
/* remove old dummy gallery visuals */ #gallery .gallery .g, #gallery .gallery .g:after {
  display:none !important;
}
/* Lightbox */ .gallery-lightbox {
  position:fixed;
  inset:0;
  z-index:9999;
  display:none;
  align-items:center;
  justify-content:center;
  background:rgba(20,20,24,.92);
  padding:24px 70px;
}
.gallery-lightbox.is-open {
  display:flex;
}
.gallery-lightbox-inner {
  position:relative;
  width:min(94vw,1400px);
  height:min(90vh,1000px);
  display:flex;
  align-items:center;
  justify-content:center;
}
.gallery-lightbox img {
  max-width:100%;
  max-height:100%;
  width:auto;
  height:auto;
  object-fit:contain;
  box-shadow:0 12px 40px rgba(0,0,0,.35);
}
.gallery-lightbox-close, .gallery-lightbox-prev, .gallery-lightbox-next {
  position:fixed;
  z-index:10000;
  border:0;
  background:rgba(255,255,255,.12);
  color:#fff;
  cursor:pointer;
  font-family:Arial,sans-serif;
}
.gallery-lightbox-close {
  top:18px;
  right:22px;
  width:44px;
  height:44px;
  border-radius:50%;
  font-size:28px;
  line-height:1;
}
.gallery-lightbox-prev, .gallery-lightbox-next {
  top:50%;
  transform:translateY(-50%);
  width:48px;
  height:72px;
  font-size:42px;
  line-height:1;
}
.gallery-lightbox-prev {
  left:16px
}
.gallery-lightbox-next {
  right:16px
}
.gallery-lightbox-counter {
  position:fixed;
  left:50%;
  bottom:18px;
  transform:translateX(-50%);
  color:#fff;
  font-family:Arial,sans-serif;
  font-size:14px;
  letter-spacing:.08em;
}
@media (max-width:980px) {
  #gallery .gallery-masonry {
    grid-template-columns:repeat(3,1fr);
  }
}
@media (max-width:760px) {
  #gallery .gallery-masonry {
    grid-template-columns:repeat(2,1fr);
    gap:6px;
  }
  .gallery-lightbox {
    padding:18px 46px;
  }
  .gallery-lightbox-prev, .gallery-lightbox-next {
    width:38px;
    height:60px;
    font-size:34px;
  }
  .gallery-lightbox-prev {
    left:6px
  }
  .gallery-lightbox-next {
    right:6px
  }
}
@media (max-width:480px) {
  #gallery .gallery-masonry {
    grid-template-columns:repeat(2,1fr);
  }
}
/* SOUL GRACE14 official logo placement */
/* Header: horizontal lockup */ .site-header .brand {
  display:flex;
  align-items:center;
  flex:0 0 auto;
}
.site-header .brand img {
  display:block;
  width:auto;
  height:34px;
  max-width:290px;
}
/* About: symbol + wordmark */ #about .about-brand-mark {
  display:flex;
  justify-content:center;
  align-items:center;
  margin:0 auto 14px;
}
#about .about-brand-mark img {
  display:block;
  width:58px;
  height:58px;
}
#about .about-brand-type {
  display:flex;
  justify-content:center;
  align-items:center;
  margin:4px auto 28px;
}
#about .about-brand-type img {
  display:block;
  width:min(430px,82vw);
  height:auto;
}
/* Contact: horizontal lockup */ #contact .contact-brand-logo {
  margin:0 0 26px;
}
#contact .contact-brand-logo img {
  display:block;
  width:min(320px,78vw);
  height:auto;
}
/* Mobile sizing */ @media (max-width:760px) {
  .site-header .brand img {
    height:29px;
    max-width:235px;
  }
  #about .about-brand-mark img {
    width:50px;
    height:50px;
  }
  #about .about-brand-type img {
    width:min(340px,84vw);
  }
  #contact .contact-brand-logo img {
    width:min(280px,80vw);
  }
}
@media (max-width:420px) {
  .site-header .brand img {
    height:25px;
    max-width:205px;
  }
}
/* Curved section boundaries: smooth downward cusp like the supplied OK reference */ #staff, #service, #price, #gallery, #contact {
  position:relative;
  isolation:isolate;
  padding-top:132px;
}
.section-divider {
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:90px;
  display:block;
  overflow:visible;
  z-index:0;
  pointer-events:none;
}
#staff > .container, #service > .container, #price > .container, #gallery > .container, #contact > .container {
  position:relative;
  z-index:1;
}
@media (max-width:760px) {
  #staff, #service, #price, #gallery, #contact {
    padding-top:102px;
  }
  .section-divider {
    height:64px;
  }
}
/* Shorter curved section boundary */ .section-divider, .section-boundary, .section-separator {
  height:56px !important;
}
/* Contact layout: information + photo above, Google Map below */ #contact .contact-grid {
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);
  gap:46px;
  align-items:start;
}
#contact .contact-photo {
  width:100%;
  aspect-ratio:1 / 1;
  overflow:hidden;
  background:var(--ivory-light);
}
#contact .contact-photo img {
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center;
}
#contact .map-embed {
  width:100%;
  margin-top:52px;
  min-height:360px;
  border:1px solid var(--sand-beige);
  overflow:hidden;
  background:#fff;
}
#contact .map-embed iframe {
  display:block;
  width:100%;
  height:360px;
  border:0;
}
@media (max-width:760px) {
  #contact .contact-grid {
    grid-template-columns:1fr;
    gap:28px;
  }
  #contact .contact-photo {
    max-width:520px;
    margin-inline:auto;
  }
  #contact .map-embed {
    margin-top:32px;
    min-height:300px;
  }
  #contact .map-embed iframe {
    height:300px;
  }
}
/* Two-tier header inspired by the supplied reference */ .site-header {
  position:sticky;
  top:0;
  z-index:100;
  background:#fff;
  border-bottom:0;
  backdrop-filter:none;
  box-shadow:0 1px 8px rgba(58,52,64,.08);
}
.header-top {
  background:#fff;
  color:#8a8788;
  border-top:4px solid var(--midnight-ink);
}
.header-top-inner {
  min-height:54px;
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:24px;
}
.header-socials, .header-quick-links {
  display:flex;
  align-items:center;
  gap:22px;
}
.header-socials {
  justify-self:start;
}
.header-quick-links {
  justify-self:end;
}
.header-socials a, .header-quick-links a {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#929090;
  font-family:Arial,sans-serif;
  font-size:23px;
  line-height:1;
  transition:color .2s ease, transform .2s ease;
}
.header-socials a:hover, .header-quick-links a:hover {
  color:var(--sun-gold);
  transform:translateY(-1px);
}
.header-tagline {
  margin:0;
  text-align:center;
  font-family:Arial,"Yu Gothic","Hiragino Kaku Gothic ProN",sans-serif;
  font-size:13px;
  letter-spacing:.06em;
  color:#777;
  white-space:nowrap;
}
.header-main {
  background:var(--deep-water-blue);
}
.header-main .nav {
  height:76px;
}
.site-header .brand img {
  width:auto;
  height:42px;
  max-width:320px;
  filter:brightness(0) invert(1);
}
.header-main .menu {
  display:flex;
  gap:42px;
  align-items:center;
  font-family:Arial,sans-serif;
  font-size:14px;
  font-weight:600;
  letter-spacing:.03em;
  color:#fff;
}
.header-main .menu a {
  color:#fff;
  transition:opacity .2s ease, color .2s ease;
}
.header-main .menu a:hover {
  color:var(--ivory-light);
  opacity:.76;
}
#menu-toggle {
  display:none;
}
.menu-button {
  display:none;
  color:#fff;
  border:1px solid rgba(255,255,255,.45);
}
/* accommodate taller header */ .hero {
  min-height:calc(100vh - 134px);
}
@media (max-width:980px) {
  .header-top-inner {
    grid-template-columns:auto 1fr auto;
    gap:16px;
  }
  .header-tagline {
    font-size:12px;
  }
  .header-main .menu {
    gap:24px;
    font-size:13px;
  }
  .site-header .brand img {
    height:36px;
  }
}
@media (max-width:760px) {
  .header-top {
    display:none;
  }
  .header-main .nav {
    height:70px;
  }
  .site-header .brand img {
    height:31px;
    max-width:230px;
  }
  .menu-button {
    display:inline-flex;
    align-items:center;
    gap:5px;
    cursor:pointer;
    padding:7px 10px;
    border-radius:4px;
    font-family:Arial,sans-serif;
    font-size:13px;
  }
  .header-main .menu {
    display:none;
    position:absolute;
    left:0;
    right:0;
    top:70px;
    z-index:110;
    flex-direction:column;
    gap:0;
    background:var(--deep-water-blue);
    border-top:1px solid rgba(255,255,255,.22);
  }
  .header-main .menu a {
    width:100%;
    padding:14px 20px;
    text-align:center;
    border-bottom:1px solid rgba(255,255,255,.16);
  }
  #menu-toggle:checked + .menu-button + .menu {
    display:flex;
  }
  .hero {
    min-height:72vh;
  }
}
.header-socials .header-line-icon {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#929090;
  font-family:Arial,sans-serif;
  font-size:23px;
  line-height:1;
}
/* Contact social icons: same as header */ #contact .social-links {
  display:flex;
  align-items:center;
  gap:14px;
}
#contact .social-links a, #contact .social-links .contact-line-icon {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:var(--sun-gold);
  font-size:28px;
  line-height:1;
}
#contact .social-links a:hover {
  opacity:.75;
}
/* Contact business hours */ #contact .business-hours {
  line-height:1.8;
}
#contact .business-hours > div {
  white-space:nowrap;
}
/* Contact SNS: centered, same color as body text, gold on hover */ #contact .contact-socials {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:18px;
  margin-top:22px;
}
#contact .contact-socials a {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:var(--text);
  font-size:28px;
  line-height:1;
  transition:color .2s ease, transform .2s ease;
}
#contact .contact-socials a:hover {
  color:var(--sun-gold);
  opacity:1;
  transform:translateY(-1px);
}
/* Contact right-side carousel: keep current size/aspect ratio */ #contact .contact-photo-carousel {
  position:relative;
  width:100%;
  aspect-ratio:1 / 1;
  overflow:hidden;
  background:var(--ivory-light);
}
#contact .contact-carousel-slides, #contact .contact-carousel-slide {
  position:absolute;
  inset:0;
}
#contact .contact-carousel-slide {
  opacity:0;
  visibility:hidden;
  transition:opacity .8s ease, visibility .8s ease;
}
#contact .contact-carousel-slide.is-active {
  opacity:1;
  visibility:visible;
}
#contact .contact-carousel-slide img {
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center;
}
#contact .contact-carousel-control {
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  z-index:3;
  width:34px;
  height:52px;
  border:0;
  background:rgba(58,52,64,.22);
  color:#fff;
  font-size:30px;
  line-height:1;
  cursor:pointer;
}
#contact .contact-carousel-prev {
  left:8px
}
#contact .contact-carousel-next {
  right:8px
}
#contact .contact-carousel-dots {
  position:absolute;
  left:50%;
  bottom:12px;
  transform:translateX(-50%);
  z-index:3;
  display:flex;
  gap:7px;
}
#contact .contact-carousel-dot {
  width:8px;
  height:8px;
  padding:0;
  border:1px solid rgba(255,255,255,.95);
  border-radius:50%;
  background:rgba(255,255,255,.35);
  cursor:pointer;
}
#contact .contact-carousel-dot.is-active {
  background:#fff;
}
/* Contact SNS color fix: Instagram and LINE use body text color, gold on hover */ #contact .contact-socials a, #contact .contact-socials a .fa-instagram, #contact .contact-socials a .fa-line {
  color:var(--text) !important;
}
#contact .contact-socials a:hover, #contact .contact-socials a:hover .fa-instagram, #contact .contact-socials a:hover .fa-line {
  color:var(--sun-gold) !important;
}
/* Header icon font size */ .header-socials a, .header-socials .header-line-icon, .header-quick-links a {
  font-size:16px !important;
}
/* Widen normal body-copy areas so sentences wrap less often */ #about .salon-message {
  max-width:1080px !important;
}
#staff .center-copy, #service .center-copy, #gallery .center-copy, #contact .center-copy, #price .price-intro {
  max-width:1000px !important;
}
/* Keep headings unchanged; only body-copy width is expanded */ @media (max-width:1100px) {
  #about .salon-message, #staff .center-copy, #service .center-copy, #gallery .center-copy, #contact .center-copy, #price .price-intro {
    max-width:calc(100% - 24px) !important;
  }
}
/* Normal text typography matched to the reference salon sample */ body {
  color:#747474;
}
/* 通常文章のみ。見出し・ブランド名・アクセント文字は既存設定を維持 */ p, .shop-table th, .shop-table td, .price-card p, .price-row, .service-card p, .staff-body p, .salon-message, .center-copy, .price-intro, .business-hours, .field label, .field input, .field textarea {
  font-family:"Noto Serif JP","Yu Mincho","Hiragino Mincho ProN",serif;
  color:#747474;
  font-weight:400;
}
/* フォーム入力時の文字色 */ .field input, .field textarea {
  color:#747474;
}
/* 見出し系は既存の色・太さを優先 */ h1,h2,h3,h4,h5,h6, .section-title, .profile-name, .role, .staff-name, .service-card h3, .price-card h3, .eyebrow, .experience-title, .lead-copy, .brand, .menu {
  color:revert-layer;
}
/* White text on dark/hero areas */
/* Hero */ .hero, .hero .hero-content, .hero .hero-content h1, .hero .hero-content p {
  color:#FFFFFF !important;
}
/* Menu / Price section on deep blue background */ #price, #price .section-title, #price .price-intro, #price .price-notes, #price .price-notes p {
  color:#FFFFFF !important;
}
/* Price cards themselves stay light with dark text */ #price .price-card, #price .price-card h3, #price .price-card small, #price .price-card p, #price .price-card .course-price, #price .price-card .price-row, #price .price-card .price-row span {
  color:var(--midnight-ink) !important;
}
#price .price-card h3 {
  color:var(--main-blue) !important;
}
/* Text colors matched to the supplied reference images */
/* Brand palette */ :root {
  --sg-blue:#5B8FAA;
  --sg-gold:#CBA54E;
  --sg-rose:#D88B86;
  --sg-ink:#3A3440;
}
/* Welcome to */ #about .eyebrow {
  color:var(--sg-gold) !important;
}
#about .lead-copy {
  color:var(--sg-blue) !important;
}
#about .experience-title {
  color:var(--sg-rose) !important;
}
#about .profile-copy h3, #about .profile-copy .role {
  color:var(--sg-gold) !important;
}
#about .profile-name {
  color:var(--sg-blue) !important;
}
#about .profile-copy > div:not(.profile-name):not(.role):not(.rule) {
  color:var(--sg-ink);
}
/* Section titles on light backgrounds */ #staff .section-title, #service .section-title, #gallery .section-title, #contact .section-title {
  color:var(--sg-blue) !important;
}
/* Staff */ #staff .role {
  color:var(--sg-gold) !important;
}
#staff .staff-name {
  color:var(--sg-blue) !important;
}
#staff .staff-body > div:not(.role):not(.staff-name), #staff .staff-body p {
  color:var(--sg-ink);
}
/* Service */ #service .bird {
  color:var(--sg-gold) !important;
}
#service .service-card h3 {
  color:var(--sg-blue) !important;
}
#service .service-sub {
  color:var(--sg-ink) !important;
}
/* Menu / Price: title and explanatory text stay white on blue */ #price .section-title, #price .price-intro, #price .price-notes, #price .price-notes p {
  color:#FFFFFF !important;
}
/* Price cards */ #price .price-card .bird {
  color:var(--sg-gold) !important;
}
#price .price-card h3 {
  color:var(--sg-blue) !important;
}
#price .price-card small, #price .price-card .course-price, #price .price-card p, #price .price-card .price-row, #price .price-card .price-row span {
  color:var(--sg-ink) !important;
}
/* Gallery */ #gallery .section-title {
  color:var(--sg-blue) !important;
}
/* Staff card body text color */ #staff .staff-body p {
  color:#747474 !important;
}
/* Price reservation button */ #price .reserve {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  width:min(1080px,calc(100% - 40px));
  margin:48px auto 0;
  padding:18px 24px;
  background:#FFFFFF !important;
  color:var(--deep-water-blue) !important;
  border-radius:5px;
  text-align:center;
  font-family:"Noto Serif JP","Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:18px;
  font-weight:500;
  text-decoration:none;
  transition:color .2s ease, background .2s ease, transform .2s ease;
}
#price .reserve i {
  font-size:20px;
  color:inherit;
}
#price .reserve:hover {
  color:var(--sun-gold) !important;
  background:#FFFFFF !important;
  transform:translateY(-1px);
}
/* Contact form width adjusted to match the reference image */ #contact form {
  width:min(760px, calc(100% - 40px));
  margin-left:auto;
  margin-right:auto;
}
/* Keep the 2-column name fields, but make the overall form narrower */ #contact .form-grid {
  gap:22px;
}
#contact .field input, #contact .field textarea {
  width:100%;
  box-sizing:border-box;
}
/* Reserve/contact button follows the same narrower width */ #contact .booking {
  width:min(760px, calc(100% - 40px));
  margin-left:auto;
  margin-right:auto;
}
@media (max-width:760px) {
  #contact form, #contact .booking {
    width:100%;
  }
}
/* Contact reservation / submit button icon alignment */ #contact .booking a, #contact button[type="submit"] {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
}
#contact .booking a i, #contact button[type="submit"] i {
  color:inherit;
  font-size:1em;
}
/* Contact submit button: paper-plane icon + text */ #contact button[type="submit"] {
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:10px !important;
}
#contact button[type="submit"] i {
  display:inline-block !important;
  font-size:1em !important;
  color:inherit !important;
  line-height:1 !important;
}
/* Contact submit button: icon + label exactly like reference */ #contact button[type="submit"] {
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:10px !important;
}
#contact button[type="submit"] .fa-paper-plane {
  display:inline-block !important;
  font-size:18px !important;
  color:inherit !important;
  line-height:1 !important;
}
#contact button[type="submit"] span {
  display:inline-block !important;
  line-height:1 !important;
}
/* Contact submit button: explicitly target .submit */ #contact .submit {
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:10px !important;
}
#contact .submit .fa-paper-plane {
  display:inline-block !important;
  font-size:18px !important;
  color:inherit !important;
  line-height:1 !important;
}
#contact .submit span {
  display:inline-block !important;
  color:inherit !important;
  line-height:1 !important;
}
/* Contact SNS icons: same color as normal text, gold on hover */ #contact .social-links a, #contact .social-links a i {
  color:#747474 !important;
}
#contact .social-links a:hover, #contact .social-links a:hover i {
  color:var(--sun-gold) !important;
}
/* FINAL override: Contact Instagram / LINE colors */ html body #contact p.social-links.contact-socials a.contact-sns-link, html body #contact p.social-links.contact-socials a.contact-sns-link i, html body #contact p.social-links.contact-socials a.contact-sns-link:visited, html body #contact p.social-links.contact-socials a.contact-sns-link:visited i {
  color:#747474 !important;
}
html body #contact p.social-links.contact-socials a.contact-sns-link:hover, html body #contact p.social-links.contact-socials a.contact-sns-link:hover i, html body #contact p.social-links.contact-socials a.contact-sns-link:focus, html body #contact p.social-links.contact-socials a.contact-sns-link:focus i {
  color:#CBA54E !important;
}
/* Extracted from index.html */ #contact .contact-brand-logo-centered {
  width:100%;
  display:flex;
  justify-content:center;
  align-items:center;
  text-align:center;
  margin:0 auto 36px;
}
#contact .contact-brand-logo-centered img {
  display:block;
  max-width:320px;
  width:min(100%, 320px);
  height:auto;
  margin:0 auto;
}
/* ABOUT intro spacing refinements */ #about .about-intro > .bird {
  margin-bottom:28px;
}
#about .about-intro > .eyebrow {
  font-weight:600;
  margin-bottom:44px;
}
#about .about-brand-mark {
  margin-bottom:24px;
}
#about .about-brand-type {
  position:relative;
  padding-bottom:0;
  margin-bottom:44px;
}
#about .about-brand-type {
  display:flex;
  flex-direction:column;
  align-items:center;
}
#about .about-brand-type img {
  display:block;
  margin:0 auto;
}
#about .about-brand-type::after {
  content:"";
  display:block;
  width:54px;
  height:1px;
  background:currentColor;
  opacity:.55;
  margin:32px auto 0;
}
#about .lead-copy {
  margin-top:0;
}
#about .salon-message {
  margin-bottom:88px;
}
.bird .fa-dove {
  color:#CBA54E;
  font-size:32px;
}
#contact .inquiry input::placeholder, #contact .inquiry textarea::placeholder {
  color:rgba(62, 100, 121, 0.45);
  opacity:1;
}
/* Former inline style attributes from index.html */ .inline-style-1 {
  max-width:900px;
  margin:38px auto 0;
  font-size:13px;
  line-height:1.9;
}
.inline-style-2 {
  text-align:center;
  font-size:20px;
  font-weight:700;
  margin:0 0 24px;
}
.inline-style-3 {
  margin:6px 0;
}
.inline-style-4 {
  margin-top:18px;
}
.inline-style-5 {
  text-align:center;
}
