:root{--ink:#111;--muted:#494949;--line:#e7e2ea;--soft:#f8f5fb;--purple:#7b2cff;--purple2:#b46cff;--radius:24px;--shadow:0 20px 70px rgba(0,0,0,.16);--wrap:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--ink);background:#fff;line-height:1.55}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto;display:block}.wrap{width:min(var(--wrap),calc(100% - 40px));margin:auto}.screen-reader-text{position:absolute;left:-9999px}.skip-link:focus{left:12px;top:12px;z-index:9999;background:#fff;padding:10px 14px;border:2px solid var(--purple)}.topbar{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.93);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.nav{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:12px;font-weight:900;letter-spacing:.02em}.brand img,.custom-logo{width:54px;height:54px;border-radius:50%;object-fit:cover}.site-title{font-size:18px}.menu,.menu ul{display:flex;align-items:center;gap:22px;margin:0;padding:0;list-style:none}.menu a{font-size:15px;color:#222}.menu a:hover,.menu .current-menu-item>a{color:var(--purple)}.nav-actions{display:flex;align-items:center;gap:12px}.menu-toggle{display:none;border:1px solid var(--line);background:#fff;border-radius:12px;padding:10px 13px;font-weight:800}.cta{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:linear-gradient(135deg,var(--purple),var(--purple2));color:#fff;font-weight:800;border-radius:14px;padding:14px 22px;box-shadow:0 10px 30px rgba(123,44,255,.3);border:0}.cta:hover{transform:translateY(-1px)}.cta.outline{background:#fff;color:var(--ink);border:1px solid var(--line);box-shadow:none}.hero{background:#080808;color:#fff;position:relative;overflow:hidden}.hero__image{min-height:650px;background:linear-gradient(90deg,rgba(0,0,0,.70),rgba(0,0,0,.16)),var(--hero) center/cover no-repeat;display:flex;align-items:center}.hero__content{max-width:680px;padding:80px 0}.hero h1{font-size:clamp(42px,6vw,74px);line-height:1.02;margin:0 0 22px}.hero p{font-size:20px;color:#e7e7e7;max-width:600px}.hero__actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}.hero__badge{display:inline-flex;color:#f0dcff;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.08);padding:9px 13px;border-radius:999px;font-weight:800;font-size:13px;margin-bottom:18px}section{padding:82px 0}.section-dark{background:#080808;color:#fff}.section-soft{background:linear-gradient(180deg,#fff,#f8f5fb)}.eyebrow{display:inline-flex;color:var(--purple);font-weight:900;text-transform:uppercase;font-size:12px;letter-spacing:.14em;margin-bottom:10px}h1,h2,h3{line-height:1.08;margin:0 0 18px}h1{font-size:clamp(38px,5vw,66px)}h2{font-size:clamp(32px,4vw,52px)}h3{font-size:23px}p{margin:0 0 16px;color:var(--muted)}.section-dark p{color:#ccc}.lead{font-size:19px;max-width:760px;color:#444}.section-dark .lead{color:#ddd}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.grid2{display:grid;grid-template-columns:1.1fr .9fr;gap:44px;align-items:center}.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px;box-shadow:0 12px 40px rgba(0,0,0,.05)}.section-dark .card{background:#121212;border-color:#262626}.card p{font-size:15.5px}.icon{width:48px;height:48px;border-radius:16px;display:grid;place-items:center;background:#f1e8ff;color:var(--purple);font-size:24px;margin-bottom:18px}.services{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:34px}.service ul{margin:16px 0 0;padding:0;list-style:none}.service li{padding:10px 0;border-bottom:1px solid var(--line)}.section-dark .service li{border-bottom-color:#262626}.photo-card{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);background:#ddd}.photo-card img{width:100%;height:100%;object-fit:cover}.chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.chip{border:1px solid var(--line);padding:9px 13px;border-radius:999px;background:#fff;font-size:14px}.feature-list{display:grid;gap:12px;margin-top:22px}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:32px}.gallery-item{aspect-ratio:4/5;border-radius:18px;overflow:hidden;background:#eee;border:1px solid var(--line)}.gallery-item img{width:100%;height:100%;object-fit:cover}.gallery-placeholder{display:grid;place-items:center;text-align:center;padding:18px;color:#777}.wp-block-gallery{gap:14px}.wp-block-gallery.has-nested-images figure.wp-block-image{border-radius:18px;overflow:hidden}.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:32px}.blog-card{padding:0;overflow:hidden}.blog-thumb{height:185px;background:linear-gradient(135deg,#0b0b0b,#6d23e8);display:flex;align-items:end;padding:20px;color:#fff;font-weight:900}.blog-thumb img{width:100%;height:100%;object-fit:cover}.blog-card__body{padding:24px}.meta{font-size:13px;color:#777;font-weight:800;text-transform:uppercase;letter-spacing:.08em;margin-bottom:10px}.location{display:grid;grid-template-columns:.9fr 1.1fr;gap:28px;align-items:stretch}.hours{display:grid;gap:8px;margin-top:18px}.hour{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:8px 0;gap:12px}.map{min-height:360px;border-radius:var(--radius);background:linear-gradient(135deg,#eee,#fafafa);border:1px solid var(--line);display:grid;place-items:center;padding:30px;text-align:center;position:relative;overflow:hidden}.map iframe{width:100%;height:420px;border:0;border-radius:var(--radius)}.map--placeholder:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 25% 35%,rgba(123,44,255,.17),transparent 30%),linear-gradient(90deg,transparent 49%,rgba(0,0,0,.05) 50%,transparent 51%),linear-gradient(0deg,transparent 49%,rgba(0,0,0,.05) 50%,transparent 51%);background-size:auto,70px 70px,70px 70px}.map>div{position:relative;z-index:1;background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px;box-shadow:0 10px 30px rgba(0,0,0,.08)}.page-hero{background:#080808;color:#fff;padding:78px 0}.page-hero p{color:#ddd}.content{padding:70px 0}.entry-content{font-size:18px}.entry-content a{color:var(--purple);text-decoration:underline}.entry-content ul,.entry-content ol{color:#444}.single-layout{display:grid;grid-template-columns:minmax(0,760px) 320px;gap:48px;align-items:start}.sidebar-card{position:sticky;top:100px}.post-navigation{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);margin-top:36px;padding-top:24px}.footer{background:#080808;color:#fff;padding:46px 0 90px}.footer p{color:#aaa}.footer__grid{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:start}.social{display:flex;gap:12px;flex-wrap:wrap}.sticky-call{position:fixed;left:14px;right:14px;bottom:14px;z-index:80;display:none}.notice{border:1px dashed var(--line);background:#fff;border-radius:var(--radius);padding:22px;color:#555}.admin-edit{font-size:13px;margin-top:12px}.admin-edit a{color:var(--purple)}@media(max-width:1000px){.single-layout{grid-template-columns:1fr}.sidebar-card{position:static}}@media(max-width:900px){.menu-toggle{display:block}.primary-menu{display:none;position:absolute;left:20px;right:20px;top:76px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:var(--shadow)}.primary-menu.is-open{display:block}.primary-menu .menu,.primary-menu .menu ul{display:grid;gap:12px}.topbar .nav-actions .cta{display:none}.grid3,.services,.blog-grid{grid-template-columns:1fr}.grid2,.location{grid-template-columns:1fr}section{padding:58px 0}.hero__image{min-height:560px;background-position:center}.hero h1{font-size:42px}.gallery-grid{grid-template-columns:repeat(2,1fr)}.footer__grid{grid-template-columns:1fr}.sticky-call{display:flex}.wrap{width:min(var(--wrap),calc(100% - 28px))}}
/* V2.2 agreed hero correction */
.hero--agreed .hero__image{min-height:760px;background:linear-gradient(90deg,rgba(0,0,0,.86) 0%,rgba(0,0,0,.72) 23%,rgba(0,0,0,.25) 48%,rgba(0,0,0,.02) 100%),var(--hero) center/cover no-repeat;align-items:flex-start;position:relative;padding-bottom:112px}.hero__content--agreed{max-width:640px;padding:70px 0 56px}.hero__logo{width:142px;height:142px;border-radius:50%;object-fit:cover;margin-bottom:28px;box-shadow:0 8px 32px rgba(0,0,0,.28)}.hero__line{display:block;width:88px;height:4px;background:linear-gradient(90deg,var(--purple),var(--purple2));border-radius:99px;margin-bottom:28px}.hero__content--agreed h1{max-width:610px;font-size:clamp(40px,5.6vw,68px);line-height:1.04;margin-bottom:22px}.hero__content--agreed p{font-size:21px}.hero__services{background:rgba(0,0,0,.45);color:#fff;border:1px solid rgba(123,44,255,.9);min-width:200px}.hero__address{display:flex;align-items:center;gap:8px;margin-top:20px;font-size:16px!important;color:#f1f1f1!important}.hero__address:before{content:"⌖";color:var(--purple);font-weight:900}.hero__benefits{position:absolute;left:0;right:0;bottom:0;background:rgba(0,0,0,.88);border-top:1px solid rgba(255,255,255,.08);color:#fff}.hero__benefits-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0}.hero__benefits article{display:grid;grid-template-columns:56px 1fr;column-gap:16px;padding:28px 34px;border-right:1px solid rgba(255,255,255,.18)}.hero__benefits article:last-child{border-right:0}.hero__benefits .icon{grid-row:1/3;margin:0;background:rgba(123,44,255,.12);border:1px solid rgba(123,44,255,.55);color:var(--purple2)}.hero__benefits strong{display:block;font-size:18px}.hero__benefits p{margin:4px 0 0;color:#ddd;font-size:15px}
@media(max-width:900px){.hero--agreed .hero__image{min-height:700px;background-position:center right;padding-bottom:0}.hero__content--agreed{padding:46px 0 38px}.hero__logo{width:96px;height:96px}.hero__content--agreed h1{font-size:39px}.hero__benefits{position:static}.hero__benefits-grid{grid-template-columns:1fr}.hero__benefits article{border-right:0;border-bottom:1px solid rgba(255,255,255,.12);padding:18px 0}.hero__benefits article:last-child{border-bottom:0}.hero__services{min-width:auto}}

/* Hero reset V2.5: final image-based hero, no bottom benefits strip */
.hero-reset {
  margin: 0;
  padding: 0;
  background: #080808;
}
.hero-reset__media {
  position: relative;
  width: 100%;
  max-width: 1733px;
  margin: 0 auto;
  overflow: hidden;
  background: #080808;
}
.hero-reset__media img {
  display: block;
  width: 100%;
  height: auto;
}
.hero-reset__hotspot {
  position: absolute;
  display: block;
  z-index: 5;
  border-radius: 10px;
}
.hero-reset__hotspot:focus-visible {
  outline: 3px solid #fff;
  outline-offset: 4px;
}
.hero-reset__hotspot--call {
  left: 6.45%;
  top: 77.65%;
  width: 17.95%;
  height: 8.75%;
}
.hero-reset__hotspot--services {
  left: 25.75%;
  top: 77.65%;
  width: 13.45%;
  height: 8.75%;
}
.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
@media (max-width: 760px) {
  .hero-reset__media {
    min-height: 620px;
  }
  .hero-reset__media img {
    width: auto;
    height: 620px;
    max-width: none;
    transform: translateX(-2%);
  }
  .hero-reset__hotspot--call {
    left: 6.5%;
    top: 77.5%;
    width: 40%;
    height: 8.5%;
  }
  .hero-reset__hotspot--services {
    left: 49%;
    top: 77.5%;
    width: 31%;
    height: 8.5%;
  }
}

/* V2.6 Mobile Hero Fix: desktop keeps confirmed image hero, mobile gets readable layout */
.hero-reset--v26{padding:0;background:#080808;color:#fff;overflow:hidden}
.hero-reset--v26 .hero-reset__desktop{display:block}
.hero-mobile{display:none}
.hero-reset--v26 .hero-reset__media{max-width:1733px;margin:0 auto;position:relative;background:#080808;overflow:hidden}
.hero-reset--v26 .hero-reset__media img{width:100%;height:auto;display:block}
.hero-reset--v26 .hero-reset__hotspot{position:absolute;display:block;z-index:5;border-radius:12px}
.hero-reset--v26 .hero-reset__hotspot:focus-visible{outline:3px solid #fff;outline-offset:4px}
.hero-reset--v26 .hero-reset__hotspot--call{left:6.45%;top:77.2%;width:18.05%;height:8.8%}
.hero-reset--v26 .hero-reset__hotspot--services{left:25.75%;top:77.2%;width:13.65%;height:8.8%}

@media (max-width: 760px){
  .hero-reset--v26 .hero-reset__desktop{display:none!important}
  .hero-mobile{display:block;background:#080808;color:#fff;padding:0 0 22px}
  .hero-mobile__content{padding-top:34px;padding-bottom:22px}
  .hero-mobile__logo{width:92px;height:92px;border-radius:50%;object-fit:cover;margin-bottom:20px;box-shadow:0 10px 34px rgba(0,0,0,.35)}
  .hero-mobile__line{display:block;width:72px;height:4px;background:linear-gradient(90deg,var(--purple),var(--purple2));border-radius:99px;margin-bottom:20px}
  .hero-mobile h1{font-size:clamp(36px,10.5vw,46px);line-height:1.03;margin:0 0 14px;color:#fff;letter-spacing:-.035em;max-width:420px}
  .hero-mobile p{color:#f0f0f0;font-size:18px;line-height:1.38;margin:0 0 20px;max-width:360px}
  .hero-mobile__actions{display:grid;grid-template-columns:1fr;gap:12px;margin:22px 0 14px;max-width:360px}
  .hero-mobile__actions .cta{width:100%;min-height:54px;border-radius:12px;font-size:16px;box-shadow:none}
  .hero-mobile__services{background:rgba(255,255,255,.06)!important;border:1px solid rgba(123,44,255,.95)!important;color:#fff!important}
  .hero-mobile__address{font-size:15.5px!important;color:#e9e9e9!important;margin:12px 0 0!important}
  .hero-mobile__photo{width:min(100% - 28px, 520px);margin:8px auto 0;border-radius:20px;overflow:hidden;border:1px solid rgba(255,255,255,.12);box-shadow:0 20px 50px rgba(0,0,0,.38);background:#171717}
  .hero-mobile__photo img{width:100%;height:auto;display:block;aspect-ratio:16/10;object-fit:cover;object-position:center}
}

@media (min-width: 761px) and (max-width: 1080px){
  .hero-reset--v26 .hero-reset__hotspot--call{left:6.4%;top:77%;width:18.5%;height:9%}
  .hero-reset--v26 .hero-reset__hotspot--services{left:25.5%;top:77%;width:14.2%;height:9%}
}

/* V3.0 Gallery final: show real WordPress Gallery block cleanly on home and gallery page */
.gallery-editor-content{margin-top:32px}.gallery-editor-content .wp-block-gallery{margin:0;gap:14px}.gallery-editor-content .wp-block-gallery.has-nested-images figure.wp-block-image{border-radius:18px;overflow:hidden;box-shadow:0 10px 28px rgba(0,0,0,.08);background:#eee}.gallery-editor-content .wp-block-gallery.has-nested-images figure.wp-block-image img{width:100%;height:100%;object-fit:cover}.gallery-editor-content .blocks-gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;list-style:none;margin:0;padding:0}.gallery-editor-content .blocks-gallery-item{border-radius:18px;overflow:hidden}.gallery-editor-content .blocks-gallery-item img{width:100%;height:100%;object-fit:cover}@media(max-width:900px){.gallery-editor-content .blocks-gallery-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.gallery-editor-content .blocks-gallery-grid{grid-template-columns:1fr}}


/* V3.1 mobile duplicate-photo, sticky CTA spacing, social icons, and default map polish */
.social-links{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.social-link{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;padding:10px 14px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);font-weight:800;box-shadow:0 8px 22px rgba(0,0,0,.05)}.social-link:hover{transform:translateY(-1px);border-color:rgba(123,44,255,.45)}.social-link svg{width:20px;height:20px;fill:var(--ink);stroke:var(--ink);stroke-width:1.8}.social-link--instagram svg{fill:none}.social-links--footer .social-link{background:#121212;color:#fff;border-color:#2c2c2c}.social-links--footer .social-link svg{fill:#fff;stroke:#fff}.social-links--footer .social-link--instagram svg{fill:none}.contact-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:24px}.map{padding:0}.map iframe{display:block;width:100%;height:420px;border:0;border-radius:var(--radius)}.map>div{margin:30px}.section-dark{scroll-margin-top:86px}
@media(max-width:900px){body{padding-bottom:calc(86px + env(safe-area-inset-bottom))}.sticky-call{left:28px;right:28px;bottom:calc(18px + env(safe-area-inset-bottom));min-height:58px;border-radius:18px;font-size:17px}.section-dark{padding-bottom:118px}.contact-actions{align-items:stretch}.contact-actions .cta,.contact-actions .social-links{width:100%}.social-links--contact .social-link{flex:1}.map iframe{height:340px}}
@media(max-width:760px){.for-whom__photo{display:none!important}.hero-mobile{padding-bottom:34px}.hero-mobile__photo{margin-top:16px}}
@media(max-width:430px){.sticky-call{left:18px;right:18px}.social-link span{font-size:14px}}
