/* ====== Fonts ====== */
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@400;500;600&family=Zen+Maru+Gothic:wght@400;500;700&family=Cormorant+Garamond:ital,wght@0,400;0,500;1,400&display=swap');

/* ====== Scope reset & tokens ====== */
#hidamari-salon {
  --hs-cream-bg:#f6efe3; --hs-cream-bg-2:#efe6d4; --hs-paper:#fbf6ec;
  --hs-ink:#3d342a; --hs-ink-soft:#6b5e51;
  --hs-terra:#c98169; --hs-terra-soft:#e2b7a0; --hs-terra-dark:#9c5b46;
  --hs-pista:#a8b88a; --hs-pista-soft:#cdd3b2; --hs-pista-dark:#7b8f5f;
  --hs-line:#06c755; --hs-border:#d9cdb8;
  font-family:"Zen Maru Gothic","Hiragino Maru Gothic ProN",system-ui,sans-serif;
  background:var(--hs-cream-bg); color:var(--hs-ink); line-height:1.75;
  -webkit-font-smoothing:antialiased; font-size:16px;
}
#hidamari-salon *, #hidamari-salon *::before, #hidamari-salon *::after { box-sizing:border-box; }
#hidamari-salon h1, #hidamari-salon h2, #hidamari-salon h3, #hidamari-salon p,
#hidamari-salon dl, #hidamari-salon dd, #hidamari-salon dt, #hidamari-salon figure,
#hidamari-salon blockquote { margin:0; padding:0; }
#hidamari-salon a { color:inherit; text-decoration:none; }
#hidamari-salon button { font-family:inherit; cursor:pointer; border:none; background:none; }
#hidamari-salon img { max-width:100%; display:block; }
#hidamari-salon ::selection { background:var(--hs-terra-soft); }

/* ====== Striped placeholders ====== */
#hidamari-salon .hs-ph {
  width:100%; position:relative; overflow:hidden; border-radius:1.5rem;
  display:flex; align-items:center; justify-content:center;
  background:repeating-linear-gradient(135deg,#e8dccb 0,#e8dccb 18px,#d9c9b1 18px,#d9c9b1 36px);
}
#hidamari-salon .hs-ph[data-tone="terra"]{ background:repeating-linear-gradient(135deg,#e2b7a0 0,#e2b7a0 18px,#c98169 18px,#c98169 36px); }
#hidamari-salon .hs-ph[data-tone="pista"]{ background:repeating-linear-gradient(135deg,#cdd3b2 0,#cdd3b2 18px,#a8b88a 18px,#a8b88a 36px); }
#hidamari-salon .hs-ph[data-tone="cream"]{ background:repeating-linear-gradient(135deg,#ede4d3 0,#ede4d3 18px,#dcd0b9 18px,#dcd0b9 36px); }
#hidamari-salon .hs-ph.hs-round{ border-radius:50%; }
#hidamari-salon .hs-ph::after{
  content:attr(data-label); background:rgba(255,255,255,.78); color:#7a6a55;
  font-family:ui-monospace,monospace; font-size:.72rem; padding:.45rem .85rem;
  border-radius:999px; letter-spacing:.05em; text-align:center; max-width:85%;
}

/* ====== Header ====== */
#hidamari-salon .hs-header{ position:fixed; top:0; left:0; right:0; z-index:9000; padding:1rem 2.5rem; transition:all .3s ease; }
#hidamari-salon .hs-header.scrolled{ background:rgba(246,239,227,.92); backdrop-filter:blur(10px); box-shadow:0 4px 24px rgba(61,52,42,.05); padding:.65rem 2.5rem; }
#hidamari-salon .hs-header-inner{ max-width:1280px; margin:0 auto; display:flex; align-items:center; justify-content:space-between; gap:2rem; }
#hidamari-salon .hs-brand{ display:flex; align-items:center; gap:.65rem; color:var(--hs-ink); }
#hidamari-salon .hs-brand-mark{ width:42px; height:42px; border-radius:50%; background:var(--hs-paper); border:1px solid var(--hs-border); display:flex; align-items:center; justify-content:center; color:var(--hs-ink); }
#hidamari-salon .hs-brand-text{ display:flex; flex-direction:column; line-height:1; }
#hidamari-salon .hs-brand-name{ font-family:"Cormorant Garamond",serif; font-size:1.5rem; letter-spacing:.03em; font-weight:500; }
#hidamari-salon .hs-brand-sub{ font-family:"Cormorant Garamond",serif; font-size:.65rem; letter-spacing:.25em; color:var(--hs-ink-soft); margin-top:.2rem; text-transform:uppercase; }
#hidamari-salon .hs-nav{ display:flex; gap:2rem; }
#hidamari-salon .hs-nav a{ font-size:.85rem; position:relative; letter-spacing:.06em; }
#hidamari-salon .hs-nav a::after{ content:""; position:absolute; left:50%; bottom:-6px; width:0; height:2px; background:var(--hs-terra); border-radius:2px; transition:all .3s; transform:translateX(-50%); }
#hidamari-salon .hs-nav a:hover{ color:var(--hs-terra-dark); }
#hidamari-salon .hs-nav a:hover::after{ width:100%; }
#hidamari-salon .hs-burger{ display:none; flex-direction:column; gap:5px; width:32px; }
#hidamari-salon .hs-burger span{ height:2px; background:var(--hs-ink); border-radius:2px; transition:all .3s; }

/* ====== Buttons ====== */
#hidamari-salon .hs-btn-primary{ background:var(--hs-terra); color:var(--hs-paper); padding:1rem 2rem; border-radius:999px; font-size:1rem; font-weight:500; display:inline-flex; align-items:center; gap:.65rem; box-shadow:0 8px 24px -8px rgba(201,129,105,.5); transition:all .25s; }
#hidamari-salon .hs-btn-primary:hover{ background:var(--hs-terra-dark); transform:translateY(-2px); }
#hidamari-salon .hs-btn-primary:disabled{ background:var(--hs-border); color:var(--hs-ink-soft); cursor:not-allowed; box-shadow:none; transform:none; }
#hidamari-salon .hs-arrow{ transition:transform .25s; }
#hidamari-salon .hs-btn-primary:hover .hs-arrow{ transform:translateX(4px); }
#hidamari-salon .hs-btn-ghost{ padding:.9rem 1.5rem; border-radius:999px; border:1px solid var(--hs-border); display:inline-flex; align-items:center; gap:.6rem; font-size:.95rem; transition:all .25s; }
#hidamari-salon .hs-btn-ghost:hover{ border-color:var(--hs-ink); background:var(--hs-paper); }
#hidamari-salon .hs-btn-outline{ border:1.5px solid var(--hs-ink); padding:.7rem 1.4rem; border-radius:999px; font-size:.85rem; transition:all .25s; }
#hidamari-salon .hs-btn-outline:hover{ background:var(--hs-ink); color:var(--hs-paper); }
#hidamari-salon .hs-btn-line{ background:var(--hs-line); color:#fff; padding:.7rem 1.4rem; border-radius:999px; font-size:.85rem; font-weight:500; display:inline-flex; align-items:center; gap:.5rem; box-shadow:0 6px 16px -6px rgba(6,199,85,.5); transition:all .25s; }
#hidamari-salon .hs-btn-line:hover{ transform:translateY(-2px); }
#hidamari-salon .hs-line-dot{ width:8px; height:8px; background:currentColor; border-radius:50%; }

/* ====== Hero ====== */
#hidamari-salon .hs-hero{ padding:8rem 2.5rem 4rem; position:relative; min-height:100vh; display:flex; align-items:center; }
#hidamari-salon .hs-hero::before{ content:""; position:absolute; top:12%; right:-5%; width:320px; height:320px; background:var(--hs-terra-soft); border-radius:50%; opacity:.25; filter:blur(60px); }
#hidamari-salon .hs-hero::after{ content:""; position:absolute; bottom:5%; left:-5%; width:280px; height:280px; background:var(--hs-pista-soft); border-radius:50%; opacity:.3; filter:blur(50px); }
#hidamari-salon .hs-hero-grid{ max-width:1280px; margin:0 auto; display:grid; grid-template-columns:1.05fr 1fr; gap:4rem; align-items:center; position:relative; z-index:1; width:100%; }
#hidamari-salon .hs-eyebrow{ display:flex; align-items:center; gap:.85rem; font-size:.95rem; color:var(--hs-ink-soft); margin-bottom:1.75rem; }
#hidamari-salon .hs-hero-title{ font-family:"Noto Serif JP",serif; font-weight:500; font-size:clamp(2rem,4.2vw,3.6rem); line-height:1.45; letter-spacing:.02em; margin-bottom:2rem; color:var(--hs-ink); }
#hidamari-salon .hs-hero-title span{ display:block; }
#hidamari-salon .hs-hero-title span:first-child{ color:var(--hs-terra-dark); }
#hidamari-salon .hs-hero-lead{ font-size:1.02rem; line-height:2.1; color:var(--hs-ink-soft); margin-bottom:2.5rem; }
#hidamari-salon .hs-hero-cta{ display:flex; flex-wrap:wrap; gap:1rem; margin-bottom:3rem; }
#hidamari-salon .hs-hero-meta{ display:flex; align-items:center; gap:1.25rem; flex-wrap:wrap; padding-top:1.5rem; border-top:1px dashed var(--hs-border); }
#hidamari-salon .hs-hero-meta>div:not(.hs-meta-sep){ display:flex; flex-direction:column; gap:.25rem; }
#hidamari-salon .hs-meta-k{ font-family:"Cormorant Garamond",serif; font-size:.7rem; letter-spacing:.2em; color:var(--hs-terra-dark); text-transform:uppercase; }
#hidamari-salon .hs-meta-v{ font-size:.85rem; }
#hidamari-salon .hs-meta-sep{ width:1px; height:30px; background:var(--hs-border); }
#hidamari-salon .hs-hero-visual{ position:relative; height:600px; }
#hidamari-salon .hs-hero-photo{ position:absolute; box-shadow:0 30px 60px -20px rgba(61,52,42,.25); }
#hidamari-salon .hs-hero-photo-main{ width:78%; height:92%; top:4%; right:4%; transform:rotate(2deg); border-radius:2rem; }
#hidamari-salon .hs-hero-photo-sub{ width:40%; aspect-ratio:1/1; bottom:0; left:0; z-index:2; box-shadow:0 20px 40px -15px rgba(61,52,42,.3); }
#hidamari-salon .hs-hero-tag{ position:absolute; background:var(--hs-paper); padding:.6rem 1.1rem; border-radius:999px; font-size:.78rem; display:inline-flex; align-items:center; gap:.5rem; box-shadow:0 10px 24px -8px rgba(61,52,42,.15); z-index:3; font-family:"Cormorant Garamond",serif; letter-spacing:.08em; }
#hidamari-salon .hs-hero-tag-1{ top:8%; left:-4%; }
#hidamari-salon .hs-hero-tag-2{ top:50%; right:-2%; font-family:"Zen Maru Gothic",sans-serif; font-size:.85rem; background:var(--hs-ink); color:var(--hs-paper); letter-spacing:.05em; transform:rotate(-3deg); }
#hidamari-salon .hs-leaf{ position:absolute; z-index:4; }
#hidamari-salon .hs-leaf-1{ top:-2%; right:22%; transform:rotate(-20deg); }
#hidamari-salon .hs-leaf-2{ bottom:18%; right:35%; transform:rotate(140deg); opacity:.7; }
#hidamari-salon .hs-scroll-hint{ position:absolute; bottom:2rem; left:50%; transform:translateX(-50%); display:flex; flex-direction:column; align-items:center; gap:.65rem; font-family:"Cormorant Garamond",serif; font-size:.7rem; letter-spacing:.3em; color:var(--hs-ink-soft); text-transform:uppercase; }
#hidamari-salon .hs-scroll-line{ width:1px; height:40px; background:var(--hs-ink-soft); animation:hsScroll 2s ease-in-out infinite; transform-origin:top; }
@keyframes hsScroll{ 0%,100%{ transform:scaleY(1); opacity:.4; } 50%{ transform:scaleY(.5); opacity:1; } }

/* ====== Section common ====== */
#hidamari-salon .hs-section{ padding:7rem 2.5rem; position:relative; }
#hidamari-salon .hs-tint{ background:linear-gradient(180deg,transparent,var(--hs-cream-bg-2) 30%,var(--hs-cream-bg-2) 70%,transparent); }
#hidamari-salon .hs-head{ max-width:1100px; margin:0 auto 4rem; text-align:center; }
#hidamari-salon .hs-kicker{ display:inline-flex; align-items:center; gap:.85rem; font-family:"Cormorant Garamond",serif; font-style:italic; font-size:1.05rem; color:var(--hs-terra-dark); letter-spacing:.08em; margin-bottom:1.25rem; }
#hidamari-salon .hs-wave{ width:48px; height:12px; display:inline-block; background-repeat:no-repeat; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='12' viewBox='0 0 120 12'%3E%3Cpath d='M2 7 Q12 1,22 7 T42 7 T62 7 T82 7 T102 7 T118 7' stroke='%239c5b46' stroke-width='2' fill='none' stroke-linecap='round'/%3E%3C/svg%3E"); background-size:contain; }
#hidamari-salon .hs-head h2{ font-family:"Noto Serif JP",serif; font-weight:500; font-size:clamp(1.7rem,3.2vw,2.6rem); line-height:1.55; letter-spacing:.02em; margin-bottom:1.25rem; }
#hidamari-salon .hs-lead{ color:var(--hs-ink-soft); font-size:.98rem; line-height:2; }

/* ====== Concept ====== */
#hidamari-salon .hs-concept-grid{ max-width:1180px; margin:0 auto; display:grid; grid-template-columns:.85fr 1fr; gap:4.5rem; align-items:center; }
#hidamari-salon .hs-concept-image{ position:relative; }
#hidamari-salon .hs-concept-image-tag{ position:absolute; bottom:-1.25rem; right:-1.25rem; background:var(--hs-paper); padding:.85rem 1.35rem; border-radius:999px; font-size:.8rem; display:inline-flex; align-items:center; gap:.5rem; box-shadow:0 12px 30px -10px rgba(61,52,42,.2); transform:rotate(-3deg); }
#hidamari-salon .hs-concept-text{ color:var(--hs-ink-soft); }
#hidamari-salon .hs-concept-lead{ font-family:"Noto Serif JP",serif; font-size:1.35rem; color:var(--hs-ink); line-height:1.9; margin-bottom:1.75rem; }
#hidamari-salon .hs-concept-text p{ margin-bottom:1.25rem; }
#hidamari-salon .hs-points{ margin-top:2.5rem; display:flex; flex-direction:column; gap:1.5rem; }
#hidamari-salon .hs-point{ display:flex; gap:1.25rem; align-items:flex-start; padding:1.25rem 1.5rem; background:var(--hs-paper); border-radius:1.25rem; border:1px solid var(--hs-border); }
#hidamari-salon .hs-point-num{ font-family:"Cormorant Garamond",serif; font-size:1.4rem; color:var(--hs-terra); font-style:italic; min-width:2.5rem; font-weight:500; }
#hidamari-salon .hs-point-t{ color:var(--hs-ink); font-weight:500; margin-bottom:.35rem; }
#hidamari-salon .hs-point-d{ font-size:.85rem; color:var(--hs-ink-soft); line-height:1.7; }

/* ====== Menu ====== */
#hidamari-salon .hs-menu-tabs{ max-width:700px; margin:0 auto 3rem; display:flex; gap:.5rem; padding:.5rem; background:var(--hs-paper); border-radius:999px; border:1px solid var(--hs-border); }
#hidamari-salon .hs-menu-tab{ flex:1; padding:.85rem 1.5rem; border-radius:999px; font-size:.95rem; color:var(--hs-ink-soft); transition:all .25s; }
#hidamari-salon .hs-menu-tab:hover{ color:var(--hs-ink); }
#hidamari-salon .hs-menu-tab.active{ background:var(--hs-ink); color:var(--hs-paper); }
#hidamari-salon .hs-menu-list{ max-width:1100px; margin:0 auto; display:grid; grid-template-columns:repeat(auto-fill,minmax(320px,1fr)); gap:1.5rem; }
#hidamari-salon .hs-menu-card{ background:var(--hs-paper); border:1px solid var(--hs-border); border-radius:1.5rem; padding:1.75rem; position:relative; transition:all .3s; }
#hidamari-salon .hs-menu-card:hover{ transform:translateY(-4px); box-shadow:0 20px 40px -15px rgba(61,52,42,.15); border-color:var(--hs-terra-soft); }
#hidamari-salon .hs-menu-card.recommend{ background:linear-gradient(180deg,var(--hs-paper),#fdf3eb); border-color:var(--hs-terra-soft); }
#hidamari-salon .hs-menu-badge{ position:absolute; top:-10px; right:20px; background:var(--hs-terra); color:#fff; font-size:.75rem; padding:.25rem .85rem; border-radius:999px; letter-spacing:.1em; }
#hidamari-salon .hs-menu-card-top{ display:flex; justify-content:space-between; align-items:flex-start; gap:1rem; margin-bottom:.5rem; }
#hidamari-salon .hs-menu-card h3{ font-family:"Noto Serif JP",serif; font-size:1.1rem; font-weight:500; line-height:1.5; }
#hidamari-salon .hs-menu-time{ font-size:.78rem; color:var(--hs-ink-soft); white-space:nowrap; background:var(--hs-cream-bg-2); padding:.2rem .65rem; border-radius:999px; }
#hidamari-salon .hs-menu-note{ font-size:.85rem; color:var(--hs-ink-soft); margin-bottom:1.5rem; }
#hidamari-salon .hs-menu-price-row{ display:flex; justify-content:space-between; align-items:center; padding-top:1rem; border-top:1px dashed var(--hs-border); }
#hidamari-salon .hs-menu-price{ font-family:"Cormorant Garamond",serif; font-size:1.55rem; color:var(--hs-terra-dark); font-weight:500; }
#hidamari-salon .hs-menu-book{ font-size:.85rem; color:var(--hs-ink); font-weight:500; transition:all .2s; }
#hidamari-salon .hs-menu-book:hover{ color:var(--hs-terra-dark); }
#hidamari-salon .hs-menu-banner{ max-width:1100px; margin:4rem auto 0; background:var(--hs-ink); color:var(--hs-paper); padding:2.5rem 3rem; border-radius:2rem; display:flex; align-items:center; justify-content:space-between; gap:2rem; flex-wrap:wrap; position:relative; overflow:hidden; }
#hidamari-salon .hs-menu-banner::before{ content:""; position:absolute; top:-50px; right:-50px; width:200px; height:200px; background:var(--hs-terra); border-radius:50%; opacity:.15; }
#hidamari-salon .hs-banner-eyebrow{ font-family:"Cormorant Garamond",serif; font-style:italic; font-size:.95rem; color:var(--hs-terra-soft); margin-bottom:.5rem; letter-spacing:.08em; }
#hidamari-salon .hs-banner-title{ font-family:"Noto Serif JP",serif; font-size:1.4rem; margin-bottom:.4rem; letter-spacing:.02em; }
#hidamari-salon .hs-banner-price{ color:var(--hs-terra-soft); font-family:"Cormorant Garamond",serif; font-size:1.55rem; margin-left:.5rem; }
#hidamari-salon .hs-banner-desc{ font-size:.88rem; opacity:.75; }

/* ====== Stylist ====== */
#hidamari-salon .hs-stylist-grid{ max-width:1100px; margin:0 auto; display:grid; grid-template-columns:repeat(2,1fr); gap:3rem; }
#hidamari-salon .hs-stylist-card{ display:grid; grid-template-columns:200px 1fr; gap:1.75rem; align-items:flex-start; padding:1.75rem; background:var(--hs-paper); border-radius:2rem; border:1px solid var(--hs-border); }
#hidamari-salon .hs-stylist-photo{ position:relative; }
#hidamari-salon .hs-stylist-frame{ position:absolute; top:8px; left:8px; right:-8px; bottom:-8px; border:1.5px solid var(--hs-terra); border-radius:2rem; z-index:0; }
#hidamari-salon .hs-stylist-photo .hs-ph{ position:relative; z-index:1; }
#hidamari-salon .hs-stylist-role{ font-family:"Cormorant Garamond",serif; font-style:italic; font-size:.85rem; color:var(--hs-terra-dark); letter-spacing:.05em; }
#hidamari-salon .hs-stylist-name{ font-family:"Noto Serif JP",serif; font-size:1.4rem; font-weight:500; margin:.35rem 0; display:flex; align-items:baseline; gap:.65rem; flex-wrap:wrap; }
#hidamari-salon .hs-stylist-name-en{ font-family:"Cormorant Garamond",serif; font-size:.85rem; color:var(--hs-ink-soft); letter-spacing:.05em; font-weight:400; }
#hidamari-salon .hs-stylist-years{ font-size:.8rem; color:var(--hs-ink-soft); margin-bottom:1rem; }
#hidamari-salon .hs-stylist-tags{ display:flex; flex-wrap:wrap; gap:.4rem; margin-bottom:1rem; }
#hidamari-salon .hs-stylist-tags span{ font-size:.75rem; background:var(--hs-cream-bg-2); padding:.25rem .7rem; border-radius:999px; }
#hidamari-salon .hs-stylist-msg{ font-family:"Noto Serif JP",serif; font-size:.95rem; line-height:1.85; color:var(--hs-ink); margin-bottom:1.5rem; padding-left:1rem; border-left:2px solid var(--hs-terra); }
#hidamari-salon .hs-qmark{ font-family:"Cormorant Garamond",serif; color:var(--hs-terra); font-size:1.5rem; font-style:italic; margin-right:.3rem; }

/* ====== Gallery ====== */
#hidamari-salon .hs-gallery-grid{ max-width:1200px; margin:0 auto; display:grid; grid-template-columns:repeat(4,1fr); grid-auto-rows:180px; gap:1rem; }
#hidamari-salon .hs-gallery-item{ position:relative; border-radius:1.5rem; overflow:hidden; cursor:pointer; transition:transform .4s; }
#hidamari-salon .hs-gallery-item:hover{ transform:scale(1.02); }
#hidamari-salon .hs-span-wide{ grid-column:span 2; }
#hidamari-salon .hs-span-tall{ grid-row:span 2; }
#hidamari-salon .hs-gallery-item figcaption{ position:absolute; bottom:1rem; left:1rem; right:1rem; background:rgba(251,246,236,.92); color:var(--hs-ink); padding:.5rem .9rem; border-radius:999px; font-size:.8rem; text-align:center; opacity:0; transform:translateY(8px); transition:all .3s; }
#hidamari-salon .hs-gallery-item:hover figcaption{ opacity:1; transform:translateY(0); }

/* ====== Access ====== */
#hidamari-salon .hs-access-grid{ max-width:1100px; margin:0 auto; display:grid; grid-template-columns:1.2fr 1fr; gap:3rem; align-items:start; }
#hidamari-salon .hs-map-frame{ position:relative; aspect-ratio:4/3; background:var(--hs-cream-bg-2); border-radius:2rem; overflow:hidden; border:1px solid var(--hs-border); }
#hidamari-salon .hs-map-grid{ position:absolute; inset:0; background-image:linear-gradient(rgba(61,52,42,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(61,52,42,.04) 1px,transparent 1px); background-size:40px 40px; }
#hidamari-salon .hs-map-road{ position:absolute; background:var(--hs-paper); }
#hidamari-salon .hs-map-road-h{ left:0; right:0; top:55%; height:32px; }
#hidamari-salon .hs-map-road-v{ top:0; bottom:0; left:35%; width:28px; }
#hidamari-salon .hs-map-pin{ position:absolute; top:45%; left:38%; display:flex; flex-direction:column; align-items:center; gap:.25rem; transform:translateX(-50%); }
#hidamari-salon .hs-pin-dot{ width:18px; height:18px; background:var(--hs-terra); border-radius:50% 50% 50% 0; transform:rotate(-45deg); box-shadow:0 6px 14px -3px rgba(201,129,105,.5); }
#hidamari-salon .hs-pin-label{ font-family:"Cormorant Garamond",serif; font-size:.9rem; background:var(--hs-ink); color:var(--hs-paper); padding:.2rem .7rem; border-radius:999px; letter-spacing:.06em; margin-top:.5rem; }
#hidamari-salon .hs-map-park{ position:absolute; top:15%; right:12%; display:flex; align-items:center; gap:.4rem; font-size:.8rem; color:var(--hs-pista-dark); }
#hidamari-salon .hs-map-station{ position:absolute; bottom:12%; right:15%; display:flex; align-items:center; gap:.4rem; font-size:.8rem; color:var(--hs-ink-soft); background:var(--hs-paper); padding:.25rem .65rem; border-radius:999px; }
#hidamari-salon .hs-station-dot{ width:10px; height:10px; background:var(--hs-ink); border-radius:50%; }
#hidamari-salon .hs-map-note{ font-size:.78rem; color:var(--hs-ink-soft); margin-top:.85rem; text-align:center; }
#hidamari-salon .hs-access-info{ display:flex; flex-direction:column; gap:.25rem; }
#hidamari-salon .hs-access-info>div{ display:grid; grid-template-columns:100px 1fr; gap:1.25rem; padding:1.1rem 0; border-bottom:1px dashed var(--hs-border); }
#hidamari-salon .hs-access-info dt{ font-family:"Cormorant Garamond",serif; font-size:.8rem; color:var(--hs-terra-dark); letter-spacing:.1em; text-transform:uppercase; }
#hidamari-salon .hs-access-info dd{ font-size:.92rem; line-height:1.85; }

/* ====== Footer ====== */
#hidamari-salon .hs-footer{ background:var(--hs-ink); color:var(--hs-paper); padding:5rem 2.5rem 2rem; }
#hidamari-salon .hs-footer-grid{ max-width:1200px; margin:0 auto; display:grid; grid-template-columns:1.2fr 1fr; gap:3rem; padding-bottom:3rem; border-bottom:1px solid rgba(251,246,236,.15); }
#hidamari-salon .hs-brand-large .hs-brand-name{ font-size:2rem; color:var(--hs-paper); }
#hidamari-salon .hs-brand-large .hs-brand-sub{ color:rgba(251,246,236,.6); }
#hidamari-salon .hs-brand-large .hs-brand-mark{ background:rgba(251,246,236,.1); border-color:rgba(251,246,236,.2); color:var(--hs-paper); }
#hidamari-salon .hs-footer-tag{ font-family:"Noto Serif JP",serif; font-size:1.1rem; line-height:1.8; margin-top:1.5rem; opacity:.85; }
#hidamari-salon .hs-footer-links{ display:grid; grid-template-columns:1fr 1fr; gap:2rem; }
#hidamari-salon .hs-footer-h{ font-family:"Cormorant Garamond",serif; font-size:.8rem; letter-spacing:.2em; text-transform:uppercase; color:var(--hs-terra-soft); margin-bottom:1rem; }
#hidamari-salon .hs-footer-links a{ display:block; font-size:.9rem; padding:.4rem 0; opacity:.8; }
#hidamari-salon .hs-footer-links a:hover{ opacity:1; color:var(--hs-terra-soft); }
#hidamari-salon .hs-footer-bottom{ max-width:1200px; margin:0 auto; padding-top:2rem; display:flex; justify-content:space-between; font-size:.78rem; opacity:.6; font-family:"Cormorant Garamond",serif; letter-spacing:.08em; }

/* ====== Floating CTA ====== */
#hidamari-salon .hs-floating-cta{ position:fixed; bottom:1.5rem; right:1.5rem; z-index:8000; }
#hidamari-salon .hs-floating-cta .hs-btn-line{ padding:1rem 1.4rem; box-shadow:0 12px 24px -6px rgba(6,199,85,.5); }

/* ====== Modal ====== */
#hidamari-salon .hs-modal-overlay{ position:fixed; inset:0; background:rgba(61,52,42,.4); backdrop-filter:blur(4px); z-index:10000; display:flex; align-items:center; justify-content:center; padding:1.5rem; animation:hsFade .25s; }
#hidamari-salon .hs-modal-overlay[hidden]{ display:none; }
@keyframes hsFade{ from{ opacity:0; } to{ opacity:1; } }
#hidamari-salon .hs-modal{ background:var(--hs-paper); border-radius:2rem; padding:2.5rem; max-width:720px; width:100%; max-height:90vh; overflow-y:auto; position:relative; animation:hsSlide .35s cubic-bezier(.2,.8,.2,1); }
@keyframes hsSlide{ from{ transform:translateY(20px); opacity:0; } to{ transform:translateY(0); opacity:1; } }
#hidamari-salon .hs-modal-close{ position:absolute; top:1rem; right:1rem; width:36px; height:36px; border-radius:50%; font-size:1.5rem; color:var(--hs-ink-soft); display:flex; align-items:center; justify-content:center; }
#hidamari-salon .hs-modal-close:hover{ background:var(--hs-cream-bg-2); color:var(--hs-ink); }
#hidamari-salon .hs-modal-eyebrow{ display:flex; align-items:center; gap:.65rem; font-family:"Cormorant Garamond",serif; font-style:italic; color:var(--hs-terra-dark); font-size:.95rem; margin-bottom:.5rem; }
#hidamari-salon .hs-modal h3{ font-family:"Noto Serif JP",serif; font-size:1.5rem; font-weight:500; }
#hidamari-salon .hs-steps{ display:flex; gap:.4rem; margin:1.75rem 0 2rem; padding-bottom:1.5rem; border-bottom:1px dashed var(--hs-border); overflow-x:auto; }
#hidamari-salon .hs-step-pill{ display:flex; align-items:center; gap:.45rem; padding:.45rem .85rem; border-radius:999px; font-size:.78rem; color:var(--hs-ink-soft); background:var(--hs-cream-bg-2); white-space:nowrap; }
#hidamari-salon .hs-step-pill.active{ background:var(--hs-ink); color:var(--hs-paper); }
#hidamari-salon .hs-step-pill.done{ color:var(--hs-terra-dark); background:var(--hs-paper); border:1px solid var(--hs-terra-soft); }
#hidamari-salon .hs-step-num{ width:18px; height:18px; border-radius:50%; background:currentColor; color:var(--hs-paper); font-size:.7rem; display:flex; align-items:center; justify-content:center; font-family:"Cormorant Garamond",serif; }
#hidamari-salon .hs-step-pill.active .hs-step-num{ background:var(--hs-paper); color:var(--hs-ink); }
#hidamari-salon .hs-step-pill.done .hs-step-num{ background:var(--hs-terra); color:var(--hs-paper); }
#hidamari-salon .hs-step-body{ min-height:240px; }
#hidamari-salon .hs-opt-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:.65rem; }
#hidamari-salon .hs-opt-grid.wide{ grid-template-columns:1fr; }
#hidamari-salon .hs-opt{ text-align:left; background:var(--hs-cream-bg); border:1.5px solid transparent; padding:1rem 1.2rem; border-radius:1rem; font-size:.92rem; color:var(--hs-ink); transition:all .2s; }
#hidamari-salon .hs-opt:hover{ border-color:var(--hs-terra-soft); }
#hidamari-salon .hs-opt.selected{ background:var(--hs-paper); border-color:var(--hs-terra); color:var(--hs-terra-dark); font-weight:500; }
#hidamari-salon .hs-opt-note{ grid-column:1/-1; font-size:.78rem; color:var(--hs-ink-soft); margin-top:.5rem; text-align:center; }
#hidamari-salon .hs-dt-label{ font-family:"Cormorant Garamond",serif; font-size:.8rem; letter-spacing:.1em; color:var(--hs-terra-dark); text-transform:uppercase; margin:.75rem 0 .5rem; }
#hidamari-salon .hs-dt-dates{ display:grid; grid-template-columns:repeat(7,1fr); gap:.35rem; }
#hidamari-salon .hs-dt-date{ background:var(--hs-cream-bg); border:1.5px solid transparent; padding:.55rem .3rem; border-radius:.85rem; display:flex; flex-direction:column; align-items:center; gap:.15rem; transition:all .2s; position:relative; }
#hidamari-salon .hs-dt-dow{ font-size:.65rem; color:var(--hs-ink-soft); }
#hidamari-salon .hs-dow-0{ color:var(--hs-terra-dark)!important; }
#hidamari-salon .hs-dow-6{ color:#6b86a8!important; }
#hidamari-salon .hs-dt-num{ font-size:.95rem; font-weight:500; }
#hidamari-salon .hs-dt-date:hover:not(:disabled){ border-color:var(--hs-terra-soft); }
#hidamari-salon .hs-dt-date.selected{ background:var(--hs-paper); border-color:var(--hs-terra); }
#hidamari-salon .hs-dt-date:disabled{ background:transparent; opacity:.4; cursor:not-allowed; }
#hidamari-salon .hs-dt-closed{ position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); font-size:.7rem; background:var(--hs-ink-soft); color:var(--hs-paper); padding:.05rem .3rem; border-radius:4px; opacity:.85; }
#hidamari-salon .hs-dt-times{ display:grid; grid-template-columns:repeat(6,1fr); gap:.4rem; }
#hidamari-salon .hs-dt-time{ background:var(--hs-cream-bg); border:1.5px solid transparent; padding:.7rem .4rem; border-radius:.85rem; font-size:.85rem; color:var(--hs-ink); transition:all .2s; }
#hidamari-salon .hs-dt-time:disabled{ opacity:.4; cursor:not-allowed; }
#hidamari-salon .hs-dt-time:hover:not(:disabled){ border-color:var(--hs-terra-soft); }
#hidamari-salon .hs-dt-time.selected{ background:var(--hs-paper); border-color:var(--hs-terra); color:var(--hs-terra-dark); font-weight:500; }
#hidamari-salon .hs-fields{ display:flex; flex-direction:column; gap:1.25rem; }
#hidamari-salon .hs-fields label{ display:flex; flex-direction:column; gap:.5rem; }
#hidamari-salon .hs-fields label>span{ font-family:"Cormorant Garamond",serif; font-size:.8rem; letter-spacing:.1em; color:var(--hs-terra-dark); text-transform:uppercase; }
#hidamari-salon .hs-fields input, #hidamari-salon .hs-fields textarea{ font-family:inherit; font-size:1rem; background:var(--hs-cream-bg); border:1.5px solid transparent; padding:.85rem 1.1rem; border-radius:1rem; color:var(--hs-ink); resize:vertical; }
#hidamari-salon .hs-fields input:focus, #hidamari-salon .hs-fields textarea:focus{ outline:none; border-color:var(--hs-terra); background:var(--hs-paper); }
#hidamari-salon .hs-confirm{ background:var(--hs-cream-bg); border-radius:1.25rem; padding:1.5rem; display:flex; flex-direction:column; gap:.85rem; }
#hidamari-salon .hs-confirm-row{ display:grid; grid-template-columns:100px 1fr; gap:1rem; padding-bottom:.85rem; border-bottom:1px dashed var(--hs-border); }
#hidamari-salon .hs-confirm-row:last-of-type{ border-bottom:none; padding-bottom:0; }
#hidamari-salon .hs-confirm-row span{ font-family:"Cormorant Garamond",serif; font-size:.8rem; letter-spacing:.08em; color:var(--hs-terra-dark); text-transform:uppercase; }
#hidamari-salon .hs-confirm-row b{ font-weight:500; }
#hidamari-salon .hs-confirm-note{ font-size:.82rem; color:var(--hs-ink-soft); margin-top:.75rem; text-align:center; }
#hidamari-salon .hs-modal-foot{ display:flex; justify-content:space-between; align-items:center; margin-top:2rem; padding-top:1.5rem; border-top:1px dashed var(--hs-border); }
#hidamari-salon .hs-btn-back{ color:var(--hs-ink-soft); padding:.5rem 1rem; font-size:.85rem; }
#hidamari-salon .hs-btn-back:disabled{ opacity:.3; cursor:not-allowed; }
#hidamari-salon .hs-btn-back:hover:not(:disabled){ color:var(--hs-ink); }
#hidamari-salon .hs-done{ text-align:center; padding:1rem 0 0; }
#hidamari-salon .hs-done-mark{ width:80px; height:80px; margin:0 auto 1.5rem; background:var(--hs-cream-bg-2); border-radius:50%; display:flex; align-items:center; justify-content:center; }
#hidamari-salon .hs-done h3{ margin-bottom:1rem; }
#hidamari-salon .hs-done>p{ color:var(--hs-ink-soft); line-height:2; margin-bottom:2rem; }
#hidamari-salon .hs-done-summary{ background:var(--hs-cream-bg); border-radius:1.25rem; padding:1.5rem; margin-bottom:2rem; text-align:left; display:flex; flex-direction:column; gap:.7rem; }
#hidamari-salon .hs-done-summary>div{ display:grid; grid-template-columns:100px 1fr; gap:1rem; }
#hidamari-salon .hs-done-summary span{ font-family:"Cormorant Garamond",serif; font-size:.78rem; letter-spacing:.08em; color:var(--hs-terra-dark); text-transform:uppercase; }
#hidamari-salon .hs-line-quick{ display:inline-flex; align-items:center; gap:.5rem; margin-top:1.25rem; font-size:.85rem; color:var(--hs-line); cursor:pointer; font-weight:500; }

/* ====== Responsive ====== */
@media (max-width:900px){
  #hidamari-salon .hs-nav{ display:none; }
  #hidamari-salon .hs-header-line{ display:none; }
  #hidamari-salon .hs-burger{ display:flex; }
  #hidamari-salon .hs-header.menu-open .hs-nav{ display:flex; position:absolute; top:100%; left:0; right:0; flex-direction:column; background:rgba(246,239,227,.98); backdrop-filter:blur(10px); padding:1.5rem 2.5rem; gap:1.25rem; box-shadow:0 12px 24px rgba(61,52,42,.08); }
  #hidamari-salon .hs-hero{ padding:6rem 1.5rem 3rem; }
  #hidamari-salon .hs-hero-grid{ grid-template-columns:1fr; gap:3rem; }
  #hidamari-salon .hs-hero-visual{ height:450px; }
  #hidamari-salon .hs-section{ padding:5rem 1.5rem; }
  #hidamari-salon .hs-concept-grid, #hidamari-salon .hs-access-grid, #hidamari-salon .hs-footer-grid{ grid-template-columns:1fr; gap:2.5rem; }
  #hidamari-salon .hs-stylist-grid{ grid-template-columns:1fr; gap:1.5rem; }
  #hidamari-salon .hs-stylist-card{ grid-template-columns:1fr; }
  #hidamari-salon .hs-gallery-grid{ grid-template-columns:repeat(2,1fr); }
  #hidamari-salon .hs-modal{ padding:1.5rem; }
  #hidamari-salon .hs-opt-grid{ grid-template-columns:1fr; }
  #hidamari-salon .hs-dt-times{ grid-template-columns:repeat(3,1fr); }
  #hidamari-salon .hs-menu-banner{ padding:2rem; }
}

/* ===== body / page reset ===== */
html,body{margin:0;padding:0;}
body{background:#f6efe3;}
