/* === SOURCE: tokens.css === */
:root {
  --sn-color-brand-950: #3f0814;
  --sn-color-brand-900: #570d1d;
  --sn-color-brand-800: #681126;
  --sn-color-brand-700: #7a1730;
  --sn-color-brand-600: #92203b;
  --sn-color-brand-500: #ad2d4d;
  --sn-color-accent: #b77a2a;
  --sn-color-ink: #182033;
  --sn-color-ink-soft: #475467;
  --sn-color-muted: #667085;
  --sn-color-surface: #ffffff;
  --sn-color-surface-soft: #fbf8f6;
  --sn-color-surface-warm: #f5eeea;
  --sn-color-border: #e6d9d4;
  --sn-color-border-strong: #d6c3bb;
  --sn-color-success: #176b46;
  --sn-color-danger: #b42318;
  --sn-color-focus: #d59b42;
  --sn-shadow-sm: 0 10px 28px rgba(63, 8, 20, .07);
  --sn-shadow-md: 0 24px 60px rgba(63, 8, 20, .12);
  --sn-radius-sm: 10px;
  --sn-radius-md: 16px;
  --sn-radius-lg: 24px;
  --sn-radius-pill: 999px;
  --sn-shell: min(1200px, calc(100% - 40px));
  --sn-narrow: 780px;
  --sn-header-height: 78px;
  --sn-section-space: clamp(68px, 8vw, 108px);
  --sn-font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
}

@media (max-width: 680px) {
  :root {
    --sn-shell: min(100% - 28px, 1200px);
    --sn-header-height: 68px;
    --sn-section-space: 60px;
  }
}

/* === SOURCE: base.css === */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--sn-color-ink);
  background: var(--sn-color-surface);
  font-family: var(--sn-font-sans);
  line-height: 1.75;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
body.nav-open { overflow: hidden; overscroll-behavior: none; touch-action: none; }
a { color: var(--sn-color-brand-700); text-decoration-thickness: .08em; text-underline-offset: .2em; }
a:hover { color: var(--sn-color-brand-900); }
img { display: block; max-width: 100%; height: auto; }
button, input, textarea, select { font: inherit; }
button { color: inherit; }
:focus-visible { outline: 3px solid var(--sn-color-focus); outline-offset: 3px; }
::selection { background: #f2d9df; color: var(--sn-color-ink); }
h1, h2, h3, h4 { color: var(--sn-color-ink); text-wrap: balance; }
p { text-wrap: pretty; }

/* === SOURCE: layout.css === */
.shell { width: var(--sn-shell); margin-inline: auto; }
.content-narrow { max-width: var(--sn-narrow); }
.section { padding: var(--sn-section-space) 0; }
.section--soft { background: var(--sn-color-surface-soft); }
.section-heading { max-width: 790px; margin-bottom: 36px; }
.section-heading h2, .content-narrow h2 {
  margin: 0 0 14px;
  font-size: clamp(1.72rem, 3.2vw, 2.65rem);
  line-height: 1.24;
  letter-spacing: -.025em;
}
.section-heading p { margin: 0; color: var(--sn-color-muted); }
.eyebrow {
  margin: 0 0 12px;
  color: var(--sn-color-brand-700);
  font-size: .76rem;
  font-weight: 850;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.skip-link {
  position: fixed;
  left: 12px;
  top: 12px;
  z-index: 9999;
  transform: translateY(-180%);
  padding: 10px 14px;
  background: var(--sn-color-ink);
  color: #fff;
  text-decoration: none;
  border-radius: var(--sn-radius-sm);
}
.skip-link:focus { transform: translateY(0); }
.breadcrumbs { padding: 18px 0; color: var(--sn-color-muted); font-size: .82rem; }
.breadcrumbs ol { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.breadcrumbs li + li::before { content: "/"; margin-right: 8px; color: #b3a39d; }
.breadcrumbs a { color: inherit; }

/* === SOURCE: components/header.css === */
.site-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  background: rgba(255,255,255,.96);
  border-bottom: 1px solid rgba(230,217,212,.9);
  backdrop-filter: blur(18px);
}
.site-header__inner {
  min-height: var(--sn-header-height);
  display: flex;
  align-items: center;
  gap: 18px;
}
.site-brand {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  color: var(--sn-color-ink);
  text-decoration: none;
}
.site-brand__picture {
  display: block;
  line-height: 0;
}
.site-brand__logo {
  display: block;
  width: auto;
  height: 58px;
  max-width: min(360px, 34vw);
  object-fit: contain;
}
.site-header__actions { margin-left: auto; display: flex; align-items: center; gap: 10px; }
.site-header__phone {
  display: inline-flex;
  align-items: center;
  min-height: 42px;
  padding-inline: 11px;
  border: 1px solid rgba(122,23,48,.22);
  border-radius: 8px;
  color: var(--sn-color-brand-700);
  font-size: .78rem;
  font-weight: 800;
  text-decoration: none;
  white-space: nowrap;
}
.site-header__phone:hover { background: rgba(122,23,48,.055); color: var(--sn-color-brand-900); }
.site-header__contact { min-height: 42px; padding-inline: 15px; font-size: .84rem; white-space: nowrap; }
@media (max-width: 1200px) {
  .site-header__contact { display: none; }
}
@media (max-width: 1100px) {
  .site-header__phone { display: none; }
}
@media (max-width: 680px) {
  .site-header__inner {
    gap: 12px;
  }
  .site-brand__logo {
    height: 52px;
    max-width: 260px;
  }
}
@media (max-width: 520px) {
  .site-brand__logo {
    width: 48px;
    height: 48px;
  }
}

/* v0.38.15 Editorial Luxury header refinement */
@media (min-width:1101px){
  .site-header{background:rgba(255,255,255,.985);border-bottom-color:rgba(23,36,59,.13);backdrop-filter:blur(14px)}
  .site-header__inner{gap:22px}
  .site-brand{padding-right:4px}
  .site-header__actions{gap:10px;margin-left:20px}
  .site-header__phone{border-radius:6px;background:#fff}
  .site-header__contact{border-radius:6px}
}
.about-anchor-target{scroll-margin-top:calc(var(--sn-header-height) + 20px)}

/* === SOURCE: components/closure-notice.css === */
.site-closure-notice {
  position: relative;
  overflow: hidden;
  width: 100%;
  border-top: 1px solid rgba(255,255,255,.16);
  background: var(--sn-color-brand-900);
  color: #fff;
  outline-offset: -3px;
}
.site-closure-notice:focus-visible { outline: 3px solid var(--sn-color-focus); }
.site-closure-notice .screen-reader-text {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  white-space: nowrap;
  border: 0;
}
.site-closure-notice__viewport { overflow: hidden; width: 100%; }
.site-closure-notice__track {
  display: flex;
  width: max-content;
  animation: sneng-closure-scroll 24s linear infinite;
  will-change: transform;
}
.site-closure-notice__track span {
  flex: none;
  display: block;
  min-width: 100vw;
  padding: .52rem 4rem;
  color: #fff;
  font-size: .86rem;
  font-weight: 800;
  line-height: 1.55;
  text-align: center;
  white-space: nowrap;
}
.site-closure-notice:hover .site-closure-notice__track,
.site-closure-notice:focus .site-closure-notice__track { animation-play-state: paused; }
@keyframes sneng-closure-scroll { to { transform: translateX(-50%); } }
@media (max-width: 600px) {
  .site-closure-notice__track { animation-duration: 19s; }
  .site-closure-notice__track span { padding: .48rem 2.5rem; font-size: .78rem; }
}
@media (prefers-reduced-motion: reduce) {
  .site-closure-notice__track { display: block; width: auto; animation: none !important; transform: none !important; }
  .site-closure-notice__track span { min-width: 0; padding: .6rem 1rem; white-space: normal; }
  .site-closure-notice__track span + span { display: none; }
}

/* === SOURCE: components/navigation.css === */
.site-nav{margin-left:auto}
.site-nav__list{display:flex;align-items:center;gap:5px;margin:0;padding:0;list-style:none}
.site-nav__item{position:relative}
.site-nav__trigger,.site-nav__item--direct>a{
  display:inline-flex;align-items:center;gap:7px;min-height:44px;padding:0 9px;
  border:0;border-radius:8px;background:transparent;color:var(--sn-color-ink);
  font:inherit;font-size:.84rem;font-weight:760;text-decoration:none;cursor:pointer
}
.site-nav__trigger:hover,.site-nav__trigger[aria-expanded="true"],.site-nav__item--direct>a:hover{
  color:var(--sn-color-brand-700);background:rgba(122,23,48,.055)
}
.site-nav__chevron{width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .16s ease}
.site-nav__trigger[aria-expanded="true"] .site-nav__chevron{transform:rotate(225deg) translate(-1px,-1px)}

.site-mega-layer{position:fixed;inset:0;z-index:940;pointer-events:none}
.site-mega-layer.is-open{pointer-events:auto}
.site-mega-backdrop{position:absolute;inset:var(--sn-header-height) 0 0;background:rgba(23,36,59,.14);opacity:0;transition:opacity .16s ease}
.site-mega-layer.is-open .site-mega-backdrop{opacity:1}
.site-mega-panel{
  position:fixed;left:50%;top:calc(var(--sn-header-height) + 12px);z-index:941;
  width:min(calc(100vw - 40px),1080px);max-height:calc(100vh - var(--sn-header-height) - 32px);
  overflow:auto;transform:translateX(-50%);
  border:1px solid var(--sn-color-border);border-radius:14px;background:#fff;
  box-shadow:0 24px 56px rgba(23,36,59,.18)
}
.site-mega-panel[hidden]{display:none}
.site-mega-panel__inner{display:grid;grid-template-columns:minmax(210px,.27fr) minmax(0,.73fr);gap:30px;padding:26px 28px}
.site-mega-panel__intro{padding-right:26px;border-right:1px solid var(--sn-color-border)}
.site-mega-panel__intro>p{margin:0;color:var(--sn-color-brand-700);font-size:.65rem;font-weight:900;letter-spacing:.16em}
.site-mega-panel__intro h2{margin:6px 0 0;font-size:1.55rem}
.site-mega-panel__intro>span{display:block;margin-top:10px;color:var(--sn-color-muted);font-size:.84rem;line-height:1.7}
.site-mega-panel__intro>a{display:inline-flex;gap:7px;margin-top:17px;color:var(--sn-color-brand-700);font-size:.82rem;font-weight:800;text-decoration:none}
.site-mega-panel__columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:22px}
.site-mega-panel__column h3{margin:0 0 7px;color:var(--sn-color-muted);font-size:.69rem;font-weight:850;letter-spacing:.08em}
.site-mega-panel__column>a{display:block;padding:9px 2px;border-top:1px solid var(--sn-color-border);color:var(--sn-color-ink);text-decoration:none}
.site-mega-panel__column>a:last-child{border-bottom:1px solid var(--sn-color-border)}
.site-mega-panel__column>a:hover strong{color:var(--sn-color-brand-700)}
.site-mega-panel__column strong{display:block;font-size:.87rem;line-height:1.4}
.site-mega-panel__column span{display:block;margin-top:3px;color:var(--sn-color-muted);font-size:.71rem;line-height:1.45}

.nav-toggle{display:none;min-width:44px;min-height:44px;border:1px solid var(--sn-color-border);background:#fff;border-radius:var(--sn-radius-sm);padding:8px 10px}
.nav-toggle__label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.nav-toggle__icon,.nav-toggle__icon::before,.nav-toggle__icon::after{width:21px;height:2px;display:block;background:var(--sn-color-ink);border-radius:2px;transition:transform .18s ease,opacity .18s ease}
.nav-toggle__icon{position:relative}.nav-toggle__icon::before,.nav-toggle__icon::after{content:"";position:absolute;left:0}.nav-toggle__icon::before{top:-7px}.nav-toggle__icon::after{top:7px}
.nav-toggle[aria-expanded="true"] .nav-toggle__icon{background:transparent}.nav-toggle[aria-expanded="true"] .nav-toggle__icon::before{transform:translateY(7px) rotate(45deg)}.nav-toggle[aria-expanded="true"] .nav-toggle__icon::after{transform:translateY(-7px) rotate(-45deg)}

.mobile-nav-drawer{
  display:none;
  position:fixed;
  inset:0;
  z-index:2147483000;
  isolation:isolate;
}

@media(max-width:1100px){
  .site-nav,.site-mega-layer{display:none!important}
  .nav-toggle{display:inline-grid;place-items:center}
  .mobile-nav-drawer{
    display:grid;
    grid-template-rows:auto minmax(0,1fr) auto;
    position:fixed;
    inset:0;
    width:100vw;
    height:100vh;
    height:100dvh;
    z-index:2147483000;
    background:#fff;
    transform:translate3d(100%,0,0);
    transition:transform .28s ease,visibility 0s linear .28s;
    visibility:hidden;
    pointer-events:none;
    overflow:hidden;
    overscroll-behavior:contain;
    isolation:isolate;
  }
  .mobile-nav-drawer.is-open{
    transform:translate3d(0,0,0);
    visibility:visible;
    pointer-events:auto;
    transition:transform .28s ease;
  }
  .mobile-nav-drawer__head{
    position:relative;
    z-index:2;
    display:flex;
    align-items:center;
    justify-content:space-between;
    min-height:72px;
    padding:env(safe-area-inset-top) 20px 0;
    border-bottom:1px solid var(--sn-color-border);
    background:#fff;
  }
  .mobile-nav-drawer__brand{display:inline-flex;align-items:center;gap:10px;color:var(--sn-color-brand-700);font-size:.8rem;font-weight:900;letter-spacing:.06em;text-decoration:none}
  .mobile-nav-drawer__brand img{width:34px;height:34px;object-fit:contain}
  .mobile-nav-drawer__close{width:44px;height:44px;border:0;background:transparent;color:var(--sn-color-ink);font-size:1.8rem;line-height:1;cursor:pointer}
  .mobile-nav-drawer__body{
    position:relative;
    z-index:1;
    min-height:0;
    overflow-y:auto;
    overflow-x:hidden;
    overscroll-behavior:contain;
    padding:14px 20px 24px;
    background:#fff;
  }
  .mobile-nav-search{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin:0 0 12px}
  .mobile-nav-search__label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
  .mobile-nav-search input{min-width:0;min-height:46px;padding:0 14px;border:1px solid var(--sn-color-border);border-radius:var(--sn-radius-sm);background:#fff;color:var(--sn-color-ink);font:inherit}
  .mobile-nav-search input:focus{outline:2px solid var(--sn-color-brand-500);outline-offset:2px}
  .mobile-nav-search button{min-width:58px;min-height:46px;padding:0 12px;border:0;border-radius:var(--sn-radius-sm);background:var(--sn-color-brand-700);color:#fff;font:inherit;font-weight:800;cursor:pointer}
  .mobile-nav-group{border-bottom:1px solid var(--sn-color-border)}
  .mobile-nav-group>summary{position:relative;display:flex;align-items:center;min-height:54px;padding:12px 38px 12px 0;cursor:pointer;list-style:none;font-size:1.04rem;font-weight:850}
  .mobile-nav-group>summary::-webkit-details-marker,.mobile-nav-subgroup>summary::-webkit-details-marker{display:none}
  .mobile-nav-group>summary:after,.mobile-nav-subgroup>summary:after{content:'';position:absolute;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform .16s ease}
  .mobile-nav-group>summary:after{right:8px;width:8px;height:8px;color:var(--sn-color-brand-700);top:20px}
  .mobile-nav-group[open]>summary{color:var(--sn-color-brand-800);background:color-mix(in srgb,var(--sn-color-brand-100) 55%,#fff)}
  .mobile-nav-group[open]>summary:after{transform:rotate(225deg);top:24px}
  .mobile-nav-group__content{padding:8px 0 14px}
  .mobile-nav-group__all{display:flex;align-items:center;justify-content:space-between;min-height:44px;margin:0 0 6px;padding:0 10px;border-radius:var(--sn-radius-sm);color:var(--sn-color-brand-700);font-size:.92rem;font-weight:850;text-decoration:none}
  .mobile-nav-group__all--last{margin:12px 0 0;padding:12px 10px 2px;border-top:1px solid color-mix(in srgb,var(--sn-color-brand-700) 28%,var(--sn-color-border));border-radius:0}
  .mobile-nav-group__all:hover,.mobile-nav-group__all:focus-visible{background:var(--sn-color-surface-alt)}
  .mobile-nav-group__all--last:hover,.mobile-nav-group__all--last:focus-visible{background:linear-gradient(90deg,color-mix(in srgb,var(--sn-color-brand-100) 52%,#fff),transparent)}
  .mobile-nav-subgroup{border-top:1px solid color-mix(in srgb,var(--sn-color-border) 70%,transparent)}
  .mobile-nav-subgroup>summary{position:relative;display:flex;align-items:center;min-height:46px;padding:10px 34px 10px 10px;cursor:pointer;list-style:none;color:var(--sn-color-ink);font-size:.84rem;font-weight:800;letter-spacing:.02em}
  .mobile-nav-subgroup>summary:after{right:12px;top:17px;width:7px;height:7px;color:var(--sn-color-muted)}
  .mobile-nav-subgroup[open]>summary:after{transform:rotate(225deg);top:20px}
  .mobile-nav-subgroup__links{padding:0 0 7px 10px}
  .mobile-nav-subgroup__links a{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:46px;padding:9px 8px 9px 12px;border-radius:var(--sn-radius-sm);color:var(--sn-color-ink);font-size:.92rem;text-decoration:none}
  .mobile-nav-subgroup__links a:hover,.mobile-nav-subgroup__links a:focus-visible,.mobile-nav-subgroup__links a.is-current,.mobile-nav-group__all.is-current,.mobile-nav-direct.is-current{background:var(--sn-color-surface-alt);color:var(--sn-color-brand-800);font-weight:800}
  .mobile-nav-link-arrow{flex:0 0 auto;color:var(--sn-color-muted);font-size:1.2rem;line-height:1}
  .mobile-nav-direct{display:flex;align-items:center;justify-content:space-between;min-height:52px;padding:10px 2px;border-bottom:1px solid var(--sn-color-border);color:var(--sn-color-ink);font-weight:800;text-decoration:none}
  .mobile-nav-line{color:var(--sn-color-brand-800)}
  .mobile-nav-sticky-actions{position:relative;z-index:3;display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:10px 16px calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--sn-color-border);background:rgba(255,255,255,.96);box-shadow:0 -8px 24px rgba(15,23,42,.07);backdrop-filter:blur(8px)}
  .mobile-nav-sticky-actions .button{display:flex;align-items:center;justify-content:center;width:100%;min-height:46px;margin:0;padding:10px 8px;font-size:.9rem;text-align:center}
  .mobile-nav-contact{margin:0}
  .mobile-nav-phone-button{border-color:var(--sn-color-brand-700);background:#fff;color:var(--sn-color-brand-800)}
}

@media(min-width:1101px) and (max-width:1280px){
  .site-nav__trigger,.site-nav__item--direct>a{padding-inline:7px;font-size:.80rem}
}
/* v0.38.15 Editorial Luxury desktop navigation */
@media(min-width:1101px){
  .site-nav{margin-left:auto;align-self:stretch;display:flex;align-items:center}
  .site-nav__list{gap:0;height:100%}
  .site-nav__item{display:flex;align-items:center;height:100%}
  .site-nav__item + .site-nav__item::before{
    content:"";width:1px;height:24px;margin:0 13px;background:rgba(23,36,59,.14)
  }
  .site-nav__trigger,.site-nav__item--direct>a{
    position:relative;min-height:var(--sn-header-height);padding:0 2px;border-radius:0;
    color:var(--sn-color-ink);font-size:.88rem;font-weight:760;letter-spacing:.015em;
    background:transparent;transition:color .18s ease
  }
  .site-nav__trigger::after,.site-nav__item--direct>a::after{
    content:"";position:absolute;left:0;right:0;bottom:12px;height:2px;
    background:var(--sn-color-brand-700);transform:scaleX(0);transform-origin:center;
    transition:transform .18s ease
  }
  .site-nav__trigger:hover,.site-nav__trigger:focus-visible,.site-nav__trigger[aria-expanded="true"],
  .site-nav__item--direct>a:hover,.site-nav__item--direct>a:focus-visible{
    color:var(--sn-color-brand-800);background:transparent
  }
  .site-nav__trigger:hover::after,.site-nav__trigger:focus-visible::after,
  .site-nav__trigger[aria-expanded="true"]::after,.site-nav__item--direct>a:hover::after,
  .site-nav__item--direct>a:focus-visible::after{transform:scaleX(1)}
  .site-nav__chevron{width:6px;height:6px;margin-left:2px;border-width:1.4px}
  .site-mega-panel{
    top:calc(var(--sn-header-height) + 1px);width:min(calc(100vw - 56px),1120px);
    border-radius:0 0 10px 10px;border-top:2px solid var(--sn-color-brand-700);
    box-shadow:0 24px 58px rgba(23,36,59,.14)
  }
  .site-mega-panel__inner{padding-top:30px;padding-bottom:30px}
}

/* === SOURCE: components/buttons.css === */
.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-height: 48px;
  padding: 12px 20px;
  border: 1px solid transparent;
  border-radius: var(--sn-radius-sm);
  text-decoration: none;
  font-weight: 800;
  line-height: 1.35;
  transition: transform .16s ease, box-shadow .16s ease, background .16s ease, border-color .16s ease;
}
.button:hover { transform: translateY(-1px); }
.button--primary { background: linear-gradient(135deg, var(--sn-color-brand-700), var(--sn-color-brand-900)); color: #fff; box-shadow: 0 10px 26px rgba(122,23,48,.18); }
.button--primary:hover { color: #fff; box-shadow: 0 14px 30px rgba(122,23,48,.24); }
.button--secondary { color: var(--sn-color-brand-800); background: #fff; border-color: #cfaeb8; }
.button--secondary:hover { color: var(--sn-color-brand-900); border-color: var(--sn-color-brand-700); }
.button--light { background: #fff; color: var(--sn-color-brand-900); }
.text-link { display: inline-flex; align-items: center; gap: 5px; color: var(--sn-color-brand-700); font-weight: 800; text-decoration: none; }
.text-link:hover { color: var(--sn-color-brand-900); }

/* === SOURCE: components/contact-actions.css === */
/* Shared contact-action UI used by service LPs, generic CTAs, and the footer. */
.line-consultation{
  display:grid;
  gap:9px;
  justify-items:stretch;
}
.line-consultation__qr{
  display:grid;
  justify-items:center;
  gap:7px;
  padding:12px;
  border:1px solid rgba(122,23,48,.16);
  border-radius:12px;
  background:#fff;
}
.line-consultation__qr img{
  display:block;
  width:152px;
  height:152px;
}
.line-consultation__qr span{
  max-width:185px;
  color:var(--sn-color-muted);
  font-size:.68rem;
  line-height:1.45;
  text-align:center;
}
.line-consultation--compact .line-consultation__qr{padding:9px}
.line-consultation--compact .line-consultation__qr img{width:132px;height:132px}
@media(max-width:720px){
  .line-consultation__qr{display:none}
  .line-consultation{width:100%}
  .line-consultation .button{width:100%}
}

/* === SOURCE: components/site-network.css === */
.sn-site-network{
  padding:clamp(48px,6vw,76px) 0;
  background:var(--sn-color-surface-soft);
  border-top:1px solid var(--sn-color-border);
  border-bottom:1px solid var(--sn-color-border);
}
.sn-site-network__head{
  display:grid;
  grid-template-columns:minmax(280px,.42fr) minmax(0,.58fr);
  gap:40px;
  align-items:end;
  margin-bottom:24px;
}
.sn-site-network__head h2{
  margin:0;
  font-size:clamp(1.8rem,3vw,2.55rem);
  line-height:1.16;
  letter-spacing:-.035em;
}
.sn-site-network__head>p{
  max-width:720px;
  margin:0;
  color:var(--sn-color-muted);
  line-height:1.8;
}
.sn-site-network__grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}
.sn-site-network__card{
  position:relative;
  display:grid;
  grid-template-columns:32px minmax(0,1fr);
  gap:10px;
  min-width:0;
  padding:17px 38px 17px 16px;
  border:1px solid var(--sn-color-border);
  border-radius:10px;
  background:#fff;
  color:var(--sn-color-ink);
  text-decoration:none;
  transition:border-color .16s ease,background .16s ease,transform .16s ease;
}
.sn-site-network__card:hover{
  border-color:rgba(122,23,48,.34);
  background:#fffdfc;
  transform:translateY(-1px);
}
.sn-site-network__card.is-current{
  border-color:rgba(122,23,48,.3);
  box-shadow:inset 3px 0 0 var(--sn-color-brand-700);
}
.sn-site-network__no{
  padding-top:2px;
  color:#94898c;
  font-size:.66rem;
  font-weight:900;
}
.sn-site-network__body{display:grid;gap:3px;min-width:0}
.sn-site-network__label{
  color:var(--sn-color-brand-700);
  font-size:.67rem;
  font-weight:900;
  letter-spacing:.04em;
}
.sn-site-network__label em{
  display:inline-flex;
  margin-left:6px;
  padding:2px 6px;
  border-radius:999px;
  background:#f1e3e7;
  color:var(--sn-color-brand-700);
  font-size:.56rem;
  font-style:normal;
  letter-spacing:0;
}
.sn-site-network__body strong{
  font-size:.92rem;
  line-height:1.45;
}
.sn-site-network__formal-name{
  color:#6f6670;
  font-size:.66rem;
  font-weight:700;
  line-height:1.4;
}
.sn-site-network__body small{
  color:var(--sn-color-muted);
  font-size:.72rem;
  line-height:1.55;
}
.sn-site-network__domain{
  grid-column:2;
  color:#8b7f83;
  font-size:.65rem;
  overflow-wrap:anywhere;
}
.sn-site-network__card>b{
  position:absolute;
  right:13px;
  top:15px;
  color:var(--sn-color-brand-700);
  font-size:.76rem;
}
.sn-site-network--compact{padding:38px 0}
.sn-site-network--compact .sn-site-network__head{margin-bottom:18px}
.sn-site-network--compact .sn-site-network__head h2{font-size:clamp(1.55rem,2.4vw,2rem)}
.sn-site-network--compact .sn-site-network__card{padding-block:14px}
@media(max-width:960px){
  .sn-site-network__head{grid-template-columns:1fr;gap:10px}
  .sn-site-network__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:620px){
  .sn-site-network{padding:38px 0}
  .sn-site-network__grid{grid-template-columns:1fr}
}

/* === SOURCE: components/footer.css === */
.site-footer{
  background:#160f12;
  color:rgba(255,255,255,.75);
}
.site-footer__consult{
  padding:42px 0;
  background:linear-gradient(135deg,var(--sn-color-brand-950),var(--sn-color-brand-800));
  color:#fff;
}
.site-footer__consult-inner{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:38px;
  align-items:center;
}
.site-footer__consult h2{
  max-width:22em;
  margin:0;
  color:#fff;
  font-size:clamp(1.7rem,3vw,2.6rem);
  line-height:1.2;
  letter-spacing:-.025em;
}
.site-footer__consult p:not(.site-footer__eyebrow){
  max-width:62ch;
  margin:9px 0 0;
  color:rgba(255,255,255,.76);
}
.site-footer__eyebrow{
  margin:0 0 7px;
  color:#e9b8c5;
  font-size:.65rem;
  font-weight:900;
  letter-spacing:.14em;
}
.site-footer__consult-actions{
  display:grid;
  grid-template-columns:1fr;
  gap:9px;
  min-width:220px;
}
.site-footer__phone-button{
  border-color:rgba(255,255,255,.55);
  background:transparent;
  color:#fff;
}
.site-footer__phone-button:hover{
  border-color:#fff;
  background:rgba(255,255,255,.08);
  color:#fff;
}
.site-footer__line-button{
  border-color:rgba(255,255,255,.55);
  background:#fff;
  color:var(--sn-color-brand-800);
}
.site-footer__line-button:hover{
  border-color:#fff;
  background:rgba(255,255,255,.9);
  color:var(--sn-color-brand-950);
}

.site-footer__consult--light{
  background:#f6f1ed;
  color:var(--sn-color-ink);
  border-top:1px solid var(--sn-color-border);
}
.site-footer__consult--light .site-footer__eyebrow{color:var(--sn-color-brand-700)}
.site-footer__consult--light h2{color:var(--sn-color-ink)}
.site-footer__consult--light p:not(.site-footer__eyebrow){color:var(--sn-color-muted)}
.site-footer__consult--light .site-footer__form-button{
  border-color:var(--sn-color-brand-800);
  background:var(--sn-color-brand-800);
  color:#fff;
}
.site-footer__consult--light .site-footer__form-button:hover{
  border-color:var(--sn-color-brand-950);
  background:var(--sn-color-brand-950);
  color:#fff;
}
.site-footer__consult--light .site-footer__phone-button,
.site-footer__consult--light .site-footer__line-button{
  border-color:#cfaeb8;
  background:#fff;
  color:var(--sn-color-brand-800);
}
.site-footer__consult--light .site-footer__phone-button:hover,
.site-footer__consult--light .site-footer__line-button:hover{
  border-color:var(--sn-color-brand-700);
  background:#fff;
  color:var(--sn-color-brand-950);
}

.site-footer__main{padding:48px 0 20px}
.site-footer__brand-row{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr);
  gap:48px;
  align-items:end;
  padding-bottom:34px;
  border-bottom:1px solid rgba(255,255,255,.12);
}
.site-footer__logo-link{
  display:inline-block;
  max-width:390px;
}
.site-footer__logo-link img{
  width:auto;
  height:58px;
  max-width:100%;
  filter:brightness(0) invert(1);
  opacity:.96;
}
.site-footer__copy{
  max-width:620px;
  margin:17px 0 0;
  color:rgba(255,255,255,.67);
  font-size:.9rem;
  line-height:1.8;
}
.site-footer__facts{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  border-top:1px solid rgba(255,255,255,.13);
  border-bottom:1px solid rgba(255,255,255,.13);
}
.site-footer__facts>div{padding:14px 12px}
.site-footer__facts>div+div{border-left:1px solid rgba(255,255,255,.13)}
.site-footer__facts span{
  display:block;
  color:#e9b8c5;
  font-size:.58rem;
  font-weight:900;
  letter-spacing:.1em;
}
.site-footer__facts strong{
  display:block;
  margin-top:6px;
  color:#fff;
  font-size:.9rem;
  line-height:1.35;
}
.site-footer__facts small{
  display:block;
  margin-top:3px;
  color:rgba(255,255,255,.48);
  font-size:.64rem;
}
.site-footer__nav-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:38px;
  padding:38px 0;
  border-bottom:1px solid rgba(255,255,255,.12);
}
.site-footer__heading{
  margin:0 0 13px;
  color:#fff;
  font-size:.91rem;
  line-height:1.4;
}
.site-footer__links{margin:0;padding:0;list-style:none}
.site-footer__links li+li{margin-top:8px}
.site-footer__links a{
  color:rgba(255,255,255,.67);
  font-size:.79rem;
  line-height:1.5;
  text-decoration:none;
}
.site-footer__links a:hover{color:#fff}
.site-footer__links .site-footer__more{
  color:#e9b8c5;
  font-weight:800;
}
.site-footer__specialists{
  padding:34px 0;
  border-bottom:1px solid rgba(255,255,255,.12);
}
.site-footer__specialists-head{
  display:grid;
  grid-template-columns:minmax(240px,.35fr) minmax(0,.65fr);
  gap:42px;
  align-items:end;
}
.site-footer__specialists-head h2{
  margin:0;
  color:#fff;
  font-size:1.4rem;
  line-height:1.25;
}
.site-footer__specialists-head>p{
  margin:0;
  color:rgba(255,255,255,.58);
  font-size:.82rem;
  line-height:1.7;
}
.site-footer__specialist-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  margin-top:20px;
}
.site-footer__specialist-grid a{
  position:relative;
  display:block;
  min-width:0;
  padding:13px 28px 13px 13px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:8px;
  color:#fff;
  text-decoration:none;
}
.site-footer__specialist-grid a.is-current{border-color:rgba(233,184,197,.36);box-shadow:inset 3px 0 0 #e9b8c5}
.site-footer__specialist-grid a:hover{
  border-color:rgba(255,255,255,.35);
  background:rgba(255,255,255,.035);
}
.site-footer__specialist-grid strong{
  display:block;
  font-size:.76rem;
  line-height:1.4;
}
.site-footer__specialist-grid strong em{display:inline-flex;margin-left:6px;padding:1px 5px;border-radius:999px;background:rgba(233,184,197,.14);color:#e9b8c5;font-size:.54rem;font-style:normal;font-weight:800}
.site-footer__specialist-grid span{
  display:block;
  margin-top:3px;
  color:rgba(255,255,255,.43);
  font-size:.64rem;
  overflow-wrap:anywhere;
}
.site-footer__specialist-grid b{
  position:absolute;
  right:11px;
  top:12px;
  color:#e9b8c5;
  font-size:.75rem;
}
.site-footer__utility{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(300px,.72fr);
  gap:50px;
  padding:34px 0;
  border-bottom:1px solid rgba(255,255,255,.12);
}
.site-footer__operator dl{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px 26px;
  margin:0;
}
.site-footer__operator dl>div{
  display:grid;
  grid-template-columns:76px 1fr;
  gap:10px;
}
.site-footer__operator dt{
  color:rgba(255,255,255,.42);
  font-size:.7rem;
}
.site-footer__operator dd{
  margin:0;
  color:rgba(255,255,255,.72);
  font-size:.75rem;
  line-height:1.55;
}
.site-footer__legal nav{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px 18px;
}
.site-footer__legal a{
  color:rgba(255,255,255,.62);
  font-size:.74rem;
  text-decoration:none;
}
.site-footer__legal a:hover{color:#fff}
.site-footer__bottom{
  display:flex;
  justify-content:space-between;
  gap:24px;
  align-items:center;
  padding-top:20px;
}
.site-footer__bottom small{
  color:rgba(255,255,255,.38);
  font-size:.68rem;
}
.site-footer__bottom-links{
  display:flex;
  flex-wrap:wrap;
  gap:16px;
}
.site-footer__bottom-links a{
  color:rgba(255,255,255,.47);
  font-size:.68rem;
  text-decoration:none;
}
.site-footer__bottom-links a:hover{color:#fff}
.site-footer__bottom-links .site-footer__remote-support-link{
  color:rgba(255,255,255,.28);
  font-size:.62rem;
  font-weight:400;
}
.site-footer__bottom-links .site-footer__remote-support-link:hover{color:rgba(255,255,255,.58)}

@media(max-width:1050px){
  .site-footer__brand-row{grid-template-columns:1fr;gap:26px}
  .site-footer__nav-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .site-footer__specialist-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .site-footer__utility{grid-template-columns:1fr}
}
@media(max-width:760px){
  .site-footer__consult-inner{grid-template-columns:1fr;gap:22px}
  .site-footer__consult-actions{min-width:0;width:100%}
  .site-footer__consult-actions .button{width:100%}
  .site-footer__specialists-head{grid-template-columns:1fr;gap:10px}
  .site-footer__operator dl{grid-template-columns:1fr}
}
@media(max-width:620px){
  .site-footer__consult{padding:34px 0}
  .site-footer__main{padding-top:34px}
  .site-footer__logo-link img{height:48px}
  .site-footer__facts{grid-template-columns:1fr}
  .site-footer__facts>div+div{border-left:0;border-top:1px solid rgba(255,255,255,.13)}
  .site-footer__nav-grid{grid-template-columns:1fr;gap:28px;padding:30px 0}
  .site-footer__specialist-grid{grid-template-columns:1fr}
  .site-footer__legal nav{grid-template-columns:1fr}
  .site-footer__bottom{align-items:flex-start;flex-direction:column}
}
