/* SAEBA HEADER & FOOTER 1.0.0 — standalone CSS, all rules scoped. */
body.saeba-hf-header-on :is(header.siteHeader,header.site-header,.siteHeader,.site-header,.headerTop,.vk-mobile-nav-menu-btn,.vk-mobile-nav) { display:none!important; }
body.saeba-hf-footer-on :is(footer.siteFooter,footer.site-footer,.siteFooter,.site-footer,.footerWidget) { display:none!important; }
/* A persistent, white editorial header, independent from Lightning's internal header layout. */
.shf-header, .shf-header * , .shf-header *::before, .shf-header *::after,
.shf-footer, .shf-footer *, .shf-footer *::before, .shf-footer *::after { box-sizing:border-box; }
.shf-header {
  --shf-red:var(--saeba-red,#e1002e); --shf-ink:var(--saeba-ink,#231815);
  position:sticky; top:0; width:100%; z-index:10050;
  background:rgba(255,255,255,.97); color:var(--shf-ink);
  border-top:4px solid var(--shf-red); border-bottom:1px solid #e8e4e0;
  backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
  box-shadow:0 8px 32px rgba(35,24,21,.035);
  isolation:isolate;
}
.admin-bar .shf-header { top:32px; }
.shf-header__inner { width:100%; min-height:82px; display:flex; align-items:center; justify-content:space-between; gap:20px; padding:0 clamp(20px,4.2vw,72px); margin:0 auto; }
.shf-header__navigation { display:flex; align-items:center; justify-content:flex-end; flex:1 1 auto; min-width:0; }
.shf-brand { display:inline-flex; flex:0 0 auto; align-items:center; gap:12px; max-width:100%; text-decoration:none!important; color:inherit!important; }
.shf-brand__mark { display:block; flex:0 0 17px; width:17px; height:28px; background:linear-gradient(180deg,var(--shf-red,var(--saeba-red,#e1002e)) 0 50%,var(--shf-ink,var(--saeba-ink,#231815)) 50%); transform:skew(-12deg); }
.shf-brand__stack { display:flex; flex-direction:column; justify-content:center; line-height:1; }
.shf-brand__stack strong { font-family:'Jost',Arial,sans-serif; font-size:clamp(24px,2.35vw,34px); font-weight:800; letter-spacing:.045em; line-height:.97; }
.shf-brand__stack small { font-family:'Jost',Arial,sans-serif; font-size:clamp(8px,.88vw,11px); font-weight:700; letter-spacing:.25em; padding-top:6px; }
.shf-brand__image { display:block; width:auto; max-width:min(290px,34vw); height:auto; max-height:54px; object-fit:contain; }
.shf-fallback-nav { display:flex; flex-wrap:wrap; justify-content:flex-end; align-items:center; gap:8px; }
.shf-fallback-nav a { display:inline-flex; align-items:center; min-height:38px; padding:8px 13px; border:1px solid #e5dfdb; color:var(--shf-ink)!important; text-decoration:none!important; font-family:'Jost',Arial,sans-serif; font-size:12px; letter-spacing:.12em; font-weight:700; transition:background .2s,border-color .2s; }
.shf-fallback-nav a:hover { background:#f8f5f3; border-color:var(--shf-ink); }
.shf-fallback-nav a.shf-fallback-nav__contact { background:var(--shf-red); color:#fff!important; border-color:var(--shf-red); }
/* Footer design */
.shf-footer { --shf-red:var(--saeba-red,#e1002e); --shf-ink:var(--saeba-ink,#231815); position:relative; width:100%; overflow:hidden; margin:0; background:var(--shf-ink); color:#fff; isolation:isolate; }
.shf-footer__canvas { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; opacity:.6; z-index:0; }
.shf-footer__content { position:relative; z-index:1; max-width:1440px; padding:clamp(55px,8vw,120px) clamp(22px,5.3vw,82px) 25px; margin:0 auto; }
.shf-footer__eyebrow { display:flex; flex-wrap:wrap; gap:14px; justify-content:space-between; border-top:1px solid rgba(255,255,255,.25); padding-top:18px; font-family:'Jost',Arial,sans-serif; font-weight:700; font-size:11px; letter-spacing:.23em; color:#c4bdbb; }
.shf-footer__cta { display:flex; justify-content:space-between; gap:45px; align-items:flex-end; padding:clamp(44px,7vw,100px) 0 clamp(60px,8vw,110px); }
.shf-footer__cta-text { min-width:0; }
.shf-footer__kicker { margin:0 0 14px; color:#d7c9c4; font-size:12px; letter-spacing:.25em; font-weight:700; }
.shf-footer__headline { margin:0!important; font-family:'Jost',Arial,sans-serif; font-size:clamp(86px,13.1vw,202px); line-height:.76; letter-spacing:-.07em; font-weight:800; color:#fff; }
.shf-footer__headline span { color:var(--shf-red); }
.shf-footer__tagline { margin:34px 0 0; color:#e1d8d4; font-size:clamp(13px,1.3vw,17px); font-weight:600; letter-spacing:.09em; line-height:1.8; }
.shf-footer__cta-link { align-self:center; display:grid; grid-template-columns:1fr auto; gap:8px 40px; align-items:center; min-width:240px; padding:27px 30px; border:1px solid var(--shf-red); background:var(--shf-red); color:#fff!important; text-decoration:none!important; font:700 15px/1.3 'Jost',Arial,sans-serif; letter-spacing:.12em; transition:background .25s,transform .25s; }
.shf-footer__cta-link:hover { background:#c60029; transform:translateY(-4px); }
.shf-footer__cta-link small { grid-column:1 / -1; font:600 11px/1.5 'Noto Sans JP',sans-serif; letter-spacing:.07em; }
.shf-footer__arrow { font-size:26px; font-weight:400; }
.shf-footer__bottom { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.55fr); gap:50px; padding:44px 0; border-top:1px solid rgba(255,255,255,.22); }
.shf-footer__identity .shf-brand { --shf-red:#e1002e; --shf-ink:#fff; }
.shf-brand--footer .shf-brand__mark { background:linear-gradient(180deg,var(--shf-red) 0 50%,#fff 50%); }
.shf-brand--footer .shf-brand__stack strong { font-size:34px; color:#fff; }
.shf-brand--footer .shf-brand__stack small { color:#fff; }
.shf-brand--footer .shf-brand__image { max-height:68px; }
.shf-footer__corporate { margin:16px 0 0; font-size:12px; color:#b9aea9; }
.shf-footer__offices { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.shf-footer__office { display:flex; flex-direction:column; align-items:flex-start; gap:6px; }
.shf-footer__office-name { font-size:12px; font-weight:800; color:#fff; }
.shf-footer__office-address { font-size:12px; line-height:1.8; color:#bbb1ad; }
.shf-footer__office a { font:700 11px/1.5 'Jost',sans-serif; letter-spacing:.08em; text-decoration:none!important; color:#fff!important; border-bottom:1px solid rgba(255,255,255,.4); padding:4px 0; }
.shf-footer__office a:hover { color:#ffc7d4!important; border-bottom-color:#ffc7d4; }
.shf-footer__legal { display:flex; align-items:center; gap:24px; justify-content:space-between; padding-top:20px; border-top:1px solid rgba(255,255,255,.14); }
.shf-footer__links { display:flex; flex-wrap:wrap; gap:clamp(12px,2vw,30px); }
.shf-footer__links a { color:#cfc5c1!important; text-decoration:none!important; font:700 10px/1.5 'Jost',sans-serif; letter-spacing:.13em; }
.shf-footer__links a:hover { color:#fff!important; }
.shf-footer__legal small { color:#90827c; text-align:right; font:500 9px/1.5 'Jost',sans-serif; letter-spacing:.09em; }
.shf-header a:focus-visible,.shf-footer a:focus-visible { outline:2px solid var(--shf-red); outline-offset:4px; }
@media(max-width:1100px) { .shf-header__inner { min-height:72px; padding-inline:22px; } .shf-brand__stack strong { font-size:26px; } .shf-footer__headline { font-size:clamp(88px,14vw,150px); } }
@media(max-width:767px) {
  .admin-bar .shf-header { top:46px; }
  .shf-header__inner { min-height:68px; padding-inline:18px; }
  .shf-brand__mark { width:12px; flex-basis:12px; height:24px; }
  .shf-brand__stack strong { font-size:24px; }
  .shf-brand__stack small { font-size:9px; }
  .shf-brand__image { max-width:53vw; max-height:44px; }
  .shf-fallback-nav { gap:4px; }
  .shf-fallback-nav a { padding:8px; min-height:32px; font-size:9px; }
  .shf-fallback-nav a:first-child,.shf-fallback-nav a:nth-child(2) { display:none; }
  .shf-footer__content { padding:64px 22px 22px; }
  .shf-footer__eyebrow { font-size:9px; letter-spacing:.12em; }
  .shf-footer__cta { display:block; padding:65px 0 60px; }
  .shf-footer__headline { font-size:clamp(83px,21vw,155px); }
  .shf-footer__kicker { font-size:11px; }
  .shf-footer__tagline { margin-top:27px; font-size:12px; }
  .shf-footer__cta-link { margin-top:36px; min-width:0; width:100%; padding:22px 23px; }
  .shf-footer__bottom { grid-template-columns:1fr; gap:31px; padding:35px 0; }
  .shf-footer__offices { grid-template-columns:1fr; gap:23px; }
  .shf-footer__legal { display:block; }
  .shf-footer__legal small { display:block; text-align:left; margin-top:21px; }
}
@media(max-width:420px) { .shf-footer__headline { font-size:20vw; } }
@media(prefers-reduced-motion:reduce) { .shf-footer__cta-link,.shf-fallback-nav a { transition:none; transform:none!important; } }
