
    :root {
      --bg:#fcf8f1;
      --paper:#fffdf9;
      --paper-2:#faf4ea;
      --gold:#c78b3a;
      --gold-2:#9d6a24;
      --gold-soft:#ead8bd;
      --ink:#241d17;
      --muted:#72675b;
      --line:#e7d8c4;
      --shadow:0 28px 70px rgba(83,53,16,.14);
      --radius:28px;
      --container: min(1580px, 96vw);
      --xl: 1200px;
    }
    * { box-sizing:border-box; }
    html { scroll-behavior:smooth; }
    body {
      margin:0;
      color:var(--ink);
      font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;
      background:
        radial-gradient(circle at 82% 8%, rgba(199,139,58,.14), transparent 25rem),
        radial-gradient(circle at 12% 20%, rgba(199,139,58,.08), transparent 28rem),
        linear-gradient(180deg, #fffdf9 0%, var(--bg) 58%, #fffaf4 100%);
    }
    a { color:inherit; text-decoration:none; }
    h1,h2,h3,h4 { font-family:"Cormorant Garamond", Georgia, serif; margin:0; letter-spacing:-.03em; }
    img { max-width:100%; display:block; }
    .container { width:var(--container); margin:0 auto; }
    .kicker {
      color:var(--gold-2);
      text-transform:uppercase;
      letter-spacing:.24em;
      font-size:12px;
      font-weight:800;
    }
    .btn {
      appearance:none;
      border:1px solid var(--gold);
      background:var(--gold);
      color:#fff;
      border-radius:14px;
      padding:14px 20px;
      font-size:13px;
      font-weight:800;
      text-transform:uppercase;
      letter-spacing:.05em;
      cursor:pointer;
      box-shadow:0 12px 26px rgba(199,139,58,.18);
      transition:.25s ease;
    }
    .btn:hover { transform:translateY(-1px); }
    .btn-outline {
      background:transparent;
      color:var(--gold-2);
      box-shadow:none;
    }
    .gold-rule {
      width:74px; height:3px; border-radius:999px; background:var(--gold);
      margin:26px 0;
    }

    /* Header */
    .site-header {
      position:sticky;
      top:0;
      z-index:50;
      background:rgba(255,253,249,.88);
      backdrop-filter:blur(16px);
      border-bottom:1px solid rgba(199,139,58,.14);
    }
    .header-inner {
      width:var(--container);
      margin:0 auto;
      min-height:94px;
      display:grid;
      grid-template-columns:auto 1fr auto;
      gap:24px;
      align-items:center;
    }
    .brand {
      display:inline-flex;
      align-items:center;
      gap:18px;
    }
    .brand-accent {
      width:3px;
      height:56px;
      background:linear-gradient(180deg, var(--gold), rgba(199,139,58,.2));
      border-radius:99px;
    }
    .wordmark {
      display:flex;
      flex-direction:column;
      gap:4px;
      line-height:1;
    }
    .wordmark .top {
      font-size:11px;
      font-weight:800;
      color:var(--gold-2);
      letter-spacing:.34em;
      text-transform:uppercase;
    }
    .wordmark .main {
      display:flex;
      align-items:baseline;
      gap:10px;
      flex-wrap:wrap;
    }
    .wordmark .main strong {
      font-size:34px;
      font-weight:700;
      color:#332720;
      letter-spacing:-.03em;
    }
    .wordmark .main strong em {
      font-style:normal;
      color:var(--gold);
    }
    .wordmark .main span {
      font-size:18px;
      font-weight:600;
      color:#4e4035;
      letter-spacing:.04em;
    }
    .wordmark .bottom {
      font-size:14px;
      color:#8a7a68;
      letter-spacing:.22em;
      text-transform:uppercase;
    }

    .desktop-nav {
      display:flex;
      align-items:center;
      justify-content:center;
      gap:10px;
      flex-wrap:wrap;
    }
    .nav-pill {
      padding:12px 16px;
      border:1px solid var(--line);
      border-radius:999px;
      background:rgba(255,255,255,.54);
      color:#5c4f44;
      font-weight:700;
      font-size:14px;
      transition:.2s ease;
    }
    .nav-pill:hover {
      border-color:rgba(199,139,58,.5);
      color:var(--gold-2);
      background:#fff;
    }

    .header-tools {
      display:flex;
      align-items:center;
      gap:10px;
    }
    .lang-switch {
      display:flex;
      align-items:center;
      border:1px solid var(--line);
      background:#fff;
      border-radius:999px;
      padding:4px;
      gap:4px;
    }
    .lang-switch button {
      border:0;
      background:transparent;
      color:#7f7062;
      padding:8px 11px;
      border-radius:999px;
      font-size:12px;
      font-weight:800;
      cursor:pointer;
      letter-spacing:.06em;
    }
    .lang-switch button.active {
      background:var(--paper-2);
      color:var(--gold-2);
    }
    .icon-btn {
      width:46px;
      height:46px;
      border-radius:50%;
      border:1px solid var(--line);
      background:#fff;
      display:grid;
      place-items:center;
      cursor:pointer;
      color:#5f5247;
      transition:.2s ease;
    }
    .icon-btn:hover { color:var(--gold-2); border-color:rgba(199,139,58,.45); }
    .search-icon {
      width:18px; height:18px; position:relative;
    }
    .search-icon:before {
      content:"";
      position:absolute;
      width:12px; height:12px;
      border:2px solid currentColor;
      border-radius:50%;
      top:0; left:0;
    }
    .search-icon:after {
      content:"";
      position:absolute;
      width:8px; height:2px;
      background:currentColor;
      right:-1px; bottom:1px;
      transform:rotate(45deg);
      border-radius:2px;
    }
    .hamburger {
      width:20px; height:14px; position:relative;
    }
    .hamburger span,
    .hamburger:before,
    .hamburger:after {
      content:"";
      position:absolute;
      left:0;
      width:100%;
      height:2px;
      background:currentColor;
      border-radius:2px;
    }
    .hamburger span { top:6px; }
    .hamburger:before { top:0; }
    .hamburger:after { bottom:0; }
    .mobile-toggle { display:none; }

    /* Mobile offcanvas + search modal */
    .overlay,
    .search-modal {
      position:fixed;
      inset:0;
      display:none;
      z-index:80;
    }
    .overlay.open,
    .search-modal.open { display:block; }
    .overlay {
      background:rgba(32,24,16,.44);
      backdrop-filter:blur(6px);
    }
    .offcanvas {
      position:fixed;
      top:0;
      right:-420px;
      width:min(420px, 92vw);
      height:100vh;
      background:var(--paper);
      z-index:90;
      box-shadow:-20px 0 60px rgba(31,20,8,.16);
      transition:right .3s ease;
      padding:26px 22px 30px;
      display:flex;
      flex-direction:column;
      gap:18px;
    }
    .offcanvas.open { right:0; }
    .offcanvas-head {
      display:flex;
      justify-content:space-between;
      align-items:center;
      padding-bottom:12px;
      border-bottom:1px solid var(--line);
    }
    .offcanvas nav {
      display:grid;
      gap:10px;
    }
    .offcanvas nav a {
      border:1px solid var(--line);
      border-radius:18px;
      padding:14px 16px;
      font-weight:700;
      color:#5f5247;
      background:#fff;
    }
    .offcanvas .mobile-lang {
      display:flex;
      gap:8px;
    }
    .offcanvas .mobile-lang button {
      flex:1;
      border:1px solid var(--line);
      background:#fff;
      color:#6b6054;
      border-radius:14px;
      padding:12px 10px;
      font-weight:800;
      cursor:pointer;
    }
    .offcanvas .mobile-lang button.active {
      color:var(--gold-2);
      background:var(--paper-2);
    }
    .search-modal {
      background:rgba(26,19,13,.52);
      backdrop-filter:blur(8px);
      z-index:100;
      padding:24px;
    }
    .search-dialog {
      width:min(760px, 100%);
      margin:8vh auto 0;
      background:var(--paper);
      border:1px solid var(--line);
      border-radius:28px;
      box-shadow:0 40px 90px rgba(19,12,7,.28);
      padding:28px;
    }
    .search-head {
      display:flex;
      justify-content:space-between;
      align-items:center;
      margin-bottom:16px;
    }
    .search-box {
      width:100%;
      border:1px solid var(--line);
      border-radius:18px;
      background:#fff;
      padding:16px 18px;
      font:inherit;
      font-size:16px;
    }
    .search-tags {
      display:flex;
      flex-wrap:wrap;
      gap:10px;
      margin-top:16px;
    }
    .search-tags span {
      padding:9px 12px;
      border:1px solid var(--line);
      border-radius:999px;
      background:#fff;
      font-size:12px;
      font-weight:700;
      color:#6d6155;
    }

    /* Hero */
    .hero {
      width:var(--container);
      margin:0 auto;
      display:grid;
      grid-template-columns:1.03fr .97fr;
      gap:50px;
      align-items:start;
      padding:86px 0 72px;
      position:relative;
    }
    .hero:before {
      content:"";
      position:absolute;
      inset:0;
      pointer-events:none;
      background:
        repeating-radial-gradient(ellipse at 80% 18%, rgba(199,139,58,.13) 0 1px, transparent 1px 14px),
        linear-gradient(90deg, transparent 0 56%, rgba(255,255,255,.4));
      opacity:.5;
      mask-image:linear-gradient(180deg, #000 0%, transparent 82%);
    }
    .hero-copy h1 {
      font-size:clamp(56px, 7vw, 92px);
      line-height:.94;
      margin-top:10px;
      max-width:720px;
    }
    .hero-copy p {
      max-width:540px;
      color:#5f554a;
      line-height:1.82;
      font-size:18px;
      margin:0;
    }
    .hero-actions {
      display:flex;
      gap:14px;
      flex-wrap:wrap;
      margin-top:32px;
    }
    .hero-panels {
      display:grid;
      grid-template-columns:1fr 1fr;
      border:1px solid var(--line);
      border-radius:30px;
      overflow:hidden;
      background:rgba(255,253,249,.8);
      box-shadow:0 20px 55px rgba(93,61,18,.08);
    }
    .panel {
      padding:34px;
      min-height:176px;
      border-right:1px solid var(--line);
      border-bottom:1px solid var(--line);
    }
    .panel:nth-child(2n) { border-right:0; }
    .panel:nth-last-child(-n+2) { border-bottom:0; }
    .panel .icon {
      width:54px;
      height:54px;
      border-radius:50%;
      border:1px solid var(--gold);
      background:linear-gradient(180deg,#fffefb,#f9efe0);
      color:var(--gold-2);
      display:grid;
      place-items:center;
      font-size:24px;
      margin-bottom:14px;
    }
    .panel h3 { font-size:28px; margin-bottom:6px; }
    .panel p { color:var(--muted); font-size:14px; line-height:1.6; margin:0; }

    /* Slider */
    .slider-wrap {
      width:var(--container);
      margin:0 auto;
    }
    .slider {
      min-height:450px;
      position:relative;
      overflow:hidden;
      border-radius:34px;
      background:#1d140c;
      box-shadow:var(--shadow);
    }
    .slide {
      position:absolute;
      inset:0;
      display:grid;
      grid-template-columns:1.05fr .95fr;
      opacity:0;
      transition:opacity .72s ease;
    }
    .slide.active { opacity:1; }
    .slide .photo {
      min-height:450px;
      background-size:cover;
      background-position:center;
      position:relative;
    }
    .slide .photo:after {
      content:"";
      position:absolute;
      inset:0;
      background:linear-gradient(90deg, rgba(0,0,0,.03), rgba(0,0,0,.14));
    }
    .slide .copy {
      padding:58px;
      background:linear-gradient(135deg, rgba(40,27,14,.97), rgba(94,63,26,.86));
      color:#fff;
      display:flex;
      flex-direction:column;
      justify-content:center;
    }
    .slide .copy h2 {
      font-size:52px;
      line-height:1.02;
      margin:8px 0 14px;
    }
    .slide .copy p {
      margin:0 0 26px;
      color:rgba(255,255,255,.78);
      line-height:1.82;
      font-size:17px;
    }
    .slider-controls {
      position:absolute;
      right:24px;
      bottom:20px;
      display:flex;
      gap:8px;
      z-index:5;
    }
    .dot {
      width:38px;
      height:5px;
      border-radius:999px;
      border:0;
      background:rgba(255,255,255,.34);
      cursor:pointer;
    }
    .dot.active { background:var(--gold); }

    /* Shared sections */
    .section { width:var(--container); margin:0 auto; padding:92px 0; }
    .section-head {
      display:flex;
      justify-content:space-between;
      gap:36px;
      align-items:end;
      margin-bottom:38px;
    }
    .section-head h2 {
      font-size:58px;
      line-height:.98;
    }
    .section-head p {
      max-width:580px;
      margin:0;
      color:var(--muted);
      line-height:1.75;
    }
    .services {
      display:grid;
      grid-template-columns:repeat(4, 1fr);
      gap:18px;
    }
    .service-card {
      border:1px solid var(--line);
      border-radius:24px;
      background:rgba(255,253,249,.92);
      padding:24px;
      min-height:282px;
      box-shadow:0 15px 36px rgba(96,66,28,.06);
    }
    .service-card h3 { font-size:28px; margin-bottom:14px; }
    .service-card ul {
      margin:0;
      padding-left:18px;
      color:#5c5349;
      line-height:1.86;
      font-size:14px;
    }
    .service-card a {
      display:inline-block;
      margin-top:20px;
      color:var(--gold-2);
      font-size:12px;
      font-weight:900;
      letter-spacing:.08em;
    }
    .mini-gallery {
      display:grid;
      grid-template-columns:repeat(6, 1fr);
      gap:12px;
      margin-top:28px;
    }
    .tile {
      position:relative;
      height:180px;
      border-radius:18px;
      overflow:hidden;
      background-size:cover;
      background-position:center;
      box-shadow:0 10px 24px rgba(73,48,18,.12);
    }
    .tile:after {
      content:"";
      position:absolute;
      inset:0;
      background:linear-gradient(180deg, transparent 35%, rgba(0,0,0,.64));
    }
    .tile span {
      position:absolute;
      left:16px;
      bottom:14px;
      z-index:1;
      color:#fff;
      font:700 22px/1 "Cormorant Garamond", Georgia, serif;
    }

    /* Story + Interior combined */
    .story-section {
      width:var(--container);
      margin:0 auto;
      padding:36px 0 88px;
    }
    .story-card {
      position:relative;
      border:1px solid var(--line);
      border-radius:34px;
      overflow:hidden;
      background:var(--paper);
      box-shadow:var(--shadow);
    }
    .story-top {
      display:grid;
      grid-template-columns:1.15fr .85fr;
      min-height:530px;
    }
    .story-image {
      position:relative;
      background:
        linear-gradient(90deg, rgba(255,250,241,.1), rgba(255,250,241,.8)),
        image-set(url('../images/63lv/generated-1.avif') type('image/avif'), url('../images/63lv/generated-1.jpg') type('image/jpeg'));
      background-size:cover;
      background-position:center;
      filter:saturate(.76) contrast(.92);
    }
    .story-image:before {
      content:"";
      position:absolute;
      inset:0;
      background:
        radial-gradient(circle at 18% 18%, rgba(255,252,247,.56), transparent 24%),
        linear-gradient(180deg, rgba(199,139,58,.07), rgba(255,255,255,.24));
      mix-blend-mode:screen;
    }
    .story-image:after {
      content:"";
      position:absolute;
      inset:0;
      background:repeating-linear-gradient(115deg, rgba(255,255,255,.08) 0 2px, transparent 2px 26px);
      opacity:.18;
    }
    .rent-badge {
      position:absolute;
      left:34px;
      top:28px;
      z-index:6;
      width:268px;
      padding:18px 16px;
      background:rgba(255,252,247,.96);
      backdrop-filter:blur(8px);
      border:1px solid var(--line);
      border-left:5px solid var(--gold);
      border-radius:0 24px 24px 0;
      box-shadow:0 22px 44px rgba(84,54,18,.18);
    }
    .rent-badge small {
      display:block;
      color:var(--gold-2);
      text-transform:uppercase;
      letter-spacing:.16em;
      font-size:11px;
      font-weight:900;
    }
    .rent-badge strong {
      display:block;
      font:700 28px/1.02 "Cormorant Garamond", Georgia, serif;
      margin:8px 0 6px;
    }
    .rent-badge em {
      display:block;
      font-style:normal;
      color:#706659;
      font-size:13px;
      margin-bottom:14px;
    }
    .rent-badge button {
      width:100%;
      border:0;
      border-radius:12px;
      background:var(--gold);
      color:#fff;
      padding:12px 12px;
      font-weight:800;
      cursor:pointer;
    }
    .story-copy {
      padding:84px 5vw 46px 4vw;
      display:flex;
      flex-direction:column;
      justify-content:center;
    }
    .story-copy h2 {
      font-size:60px;
      line-height:.98;
    }
    .story-copy p {
      color:var(--muted);
      line-height:1.84;
      font-size:17px;
      margin:0 0 18px;
    }
    .story-points {
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:12px;
      margin-top:16px;
    }
    .story-point {
      border:1px solid var(--line);
      border-radius:18px;
      background:#fff;
      padding:14px 15px;
      color:#5c5145;
      font-size:14px;
      line-height:1.6;
    }
    .story-gallery {
      border-top:1px solid var(--line);
      background:linear-gradient(180deg, rgba(250,244,234,.65), rgba(255,255,255,.8));
      padding:24px;
    }
    .interior-stage {
      position:relative;
      height:360px;
      border-radius:24px;
      overflow:hidden;
      background:#f5efe6;
      box-shadow:0 12px 30px rgba(90,58,20,.08);
    }
    .interior-main {
      position:absolute;
      inset:0;
      opacity:0;
      transition:opacity .42s ease;
      background-size:cover;
      background-position:center;
    }
    .interior-main.active { opacity:1; }
    .interior-main:after {
      content:"";
      position:absolute;
      inset:0;
      background:linear-gradient(180deg, rgba(255,255,255,.03), rgba(30,20,12,.14));
    }
    .interior-bottom {
      display:flex;
      justify-content:space-between;
      align-items:center;
      gap:18px;
      margin-top:18px;
      flex-wrap:wrap;
    }
    .interior-note {
      color:var(--muted);
      font-size:14px;
      line-height:1.7;
    }
    .thumbs {
      display:flex;
      gap:12px;
      flex-wrap:wrap;
    }
    .thumb-btn {
      width:108px;
      height:74px;
      border-radius:14px;
      overflow:hidden;
      border:2px solid transparent;
      background-size:cover;
      background-position:center;
      cursor:pointer;
      box-shadow:0 8px 20px rgba(87,60,20,.10);
    }
    .thumb-btn.active {
      border-color:var(--gold);
      box-shadow:0 12px 24px rgba(199,139,58,.18);
    }


    /* Full-width middle bath section */
    .bath-section {
      width:100%;
      margin:0;
      padding:24px 0 96px;
      background:
        radial-gradient(circle at 14% 18%, rgba(199,139,58,.12), transparent 30rem),
        linear-gradient(180deg, rgba(255,253,249,.0), rgba(247,238,223,.72));
    }
    .bath-wrap {
      width:var(--container);
      margin:0 auto;
      display:grid;
      grid-template-columns:1.08fr .92fr;
      gap:24px;
      align-items:stretch;
    }
    .bath-visual {
      position:relative;
      min-height:560px;
      border-radius:34px;
      overflow:hidden;
      border:1px solid var(--line);
      box-shadow:var(--shadow);
      background:url('https://63.lv/wp-content/uploads/2024/11/Pirts-ziema.jpg');
      background-size:cover;
      background-position:center;
    }
    .bath-visual:after {
      content:"";
      position:absolute;
      inset:0;
      background:linear-gradient(180deg, rgba(0,0,0,.04), rgba(38,26,15,.42));
    }
    .bath-label {
      position:absolute;
      left:28px;
      bottom:28px;
      right:28px;
      z-index:2;
      color:#fff;
    }
    .bath-label h2 {
      font-size:64px;
      line-height:.92;
      max-width:720px;
    }
    .bath-label p {
      max-width:620px;
      color:rgba(255,255,255,.82);
      line-height:1.75;
      margin:16px 0 0;
    }
    .bath-content {
      border:1px solid var(--line);
      border-radius:34px;
      background:rgba(255,253,249,.92);
      box-shadow:0 18px 42px rgba(88,58,20,.08);
      padding:38px;
      display:flex;
      flex-direction:column;
      justify-content:center;
    }
    .bath-content h3 {
      font-size:54px;
      line-height:.98;
      margin:10px 0 18px;
    }
    .bath-content p {
      color:var(--muted);
      line-height:1.8;
      margin:0 0 18px;
    }
    .bath-grid {
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:12px;
      margin:20px 0 24px;
    }
    .bath-item {
      border:1px solid var(--line);
      border-radius:18px;
      background:#fff;
      padding:16px;
      min-height:118px;
    }
    .bath-item b {
      display:block;
      font-family:"Cormorant Garamond", Georgia, serif;
      font-size:27px;
      line-height:1;
      margin-bottom:8px;
    }
    .bath-item span {
      color:var(--muted);
      font-size:14px;
      line-height:1.55;
    }
    .bath-strip {
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:12px;
    }
    .bath-strip div {
      min-height:150px;
      border-radius:20px;
      overflow:hidden;
      background-size:cover;
      background-position:center;
      border:1px solid var(--line);
    }

    /* Story visual uses one big slider instead of extra gallery below */
    .story-image {
      background:none !important;
      filter:none !important;
      overflow:hidden;
    }
    .story-image:before, .story-image:after {
      pointer-events:none;
      z-index:2;
    }
    .story-visual-slide {
      position:absolute;
      inset:0;
      opacity:0;
      transition:opacity .45s ease;
      background-size:cover;
      background-position:center;
      filter:saturate(.82) contrast(.94);
    }
    .story-visual-slide.active {
      opacity:1;
    }
    .story-visual-slide.art {
      background:
        linear-gradient(90deg, rgba(255,250,241,.1), rgba(255,250,241,.62)),
        image-set(url('../images/63lv/generated-1.avif') type('image/avif'), url('../images/63lv/generated-1.jpg') type('image/jpeg'));
      background-size:cover;
      background-position:center;
      filter:saturate(.76) contrast(.92);
    }
    .story-visual-slide.art:before {
      content:"";
      position:absolute;
      inset:0;
      background:
        radial-gradient(circle at 18% 18%, rgba(255,252,247,.56), transparent 24%),
        linear-gradient(180deg, rgba(199,139,58,.07), rgba(255,255,255,.24));
      mix-blend-mode:screen;
    }
    .story-slider-nav {
      position:absolute;
      left:34px;
      bottom:28px;
      z-index:7;
      display:flex;
      gap:10px;
      flex-wrap:wrap;
    }
    .story-dot {
      width:86px;
      height:58px;
      border-radius:14px;
      overflow:hidden;
      border:2px solid rgba(255,255,255,.5);
      background-size:cover;
      background-position:center;
      cursor:pointer;
      box-shadow:0 10px 25px rgba(21,12,6,.18);
    }
    .story-dot.active {
      border-color:var(--gold);
    }
    .story-gallery {
      display:none !important;
    }


    .old-gallery {
      display:grid;
      grid-template-columns:1.15fr .85fr;
      gap:12px;
      margin:22px 0 8px;
    }
    .old-gallery-main,
    .old-gallery-side {
      min-height:230px;
      border-radius:22px;
      overflow:hidden;
      position:relative;
      border:1px solid var(--line);
      background-size:cover;
      background-position:center;
      box-shadow:0 14px 34px rgba(80,48,15,.10);
      filter:saturate(1.08) contrast(1.04) brightness(1.04);
    }
    .old-gallery-main:after,
    .old-gallery-side:after {
      content:"";
      position:absolute;
      inset:0;
      background:
        radial-gradient(circle at 20% 10%, rgba(255,255,255,.35), transparent 24%),
        linear-gradient(180deg, rgba(255,255,255,.02), rgba(50,29,11,.28));
    }
    .old-gallery-side-wrap {
      display:grid;
      gap:12px;
    }
    .old-gallery-side {
      min-height:109px;
    }
    .old-gallery-label {
      position:absolute;
      left:16px;
      right:16px;
      bottom:14px;
      z-index:1;
      color:#fff;
      font:700 24px/1 "Cormorant Garamond", Georgia, serif;
      text-shadow:0 3px 14px rgba(0,0,0,.32);
    }
    .portfolio-row {
      width:var(--container);
      margin:24px auto 0;
      display:flex;
      flex-wrap:wrap;
      gap:12px;
      align-items:center;
    }
    .portfolio-btn {
      display:inline-flex;
      align-items:center;
      gap:10px;
      border-radius:999px;
      padding:15px 22px;
      background:#241d17;
      color:#fff;
      font-weight:800;
      letter-spacing:.04em;
      text-transform:uppercase;
      font-size:13px;
      box-shadow:0 14px 28px rgba(36,29,23,.16);
    }
    .portfolio-btn span {
      color:var(--gold);
      font-size:18px;
      line-height:0;
    }
    .web-extra {
      width:var(--container);
      margin:22px auto 0;
      display:grid;
      grid-template-columns:repeat(3,1fr);
      gap:16px;
    }
    .web-extra-card {
      border:1px solid var(--line);
      border-radius:24px;
      background:linear-gradient(180deg,#fffdf9,#fbf2e6);
      padding:24px;
      box-shadow:0 12px 30px rgba(90,58,20,.07);
      min-height:210px;
    }
    .web-extra-card .mini-icon {
      width:52px;
      height:52px;
      border-radius:50%;
      display:grid;
      place-items:center;
      border:1px solid rgba(199,139,58,.36);
      background:#fff;
      color:var(--gold-2);
      margin-bottom:14px;
      font-weight:900;
    }
    .web-extra-card h3 {
      font-size:31px;
      margin-bottom:10px;
    }
    .web-extra-card p {
      color:var(--muted);
      margin:0;
      line-height:1.72;
      font-size:14px;
    }

    .scanned-gallery {
      margin:24px 0 10px;
      display:grid;
      grid-template-columns:1.2fr .8fr;
      gap:12px;
    }
    .scan-main,
    .scan-side,
    .scan-small {
      position:relative;
      overflow:hidden;
      border-radius:22px;
      border:1px solid var(--line);
      background-size:cover;
      background-position:center;
      box-shadow:0 16px 38px rgba(74,45,14,.12);
      filter:saturate(1.08) contrast(1.06) brightness(1.06);
      transform:translateZ(0);
    }
    .scan-main {
      min-height:380px;
    }
    .scan-side {
      min-height:184px;
    }
    .scan-side-stack {
      display:grid;
      gap:12px;
    }
    .scan-main:before,
    .scan-side:before,
    .scan-small:before {
      content:"";
      position:absolute;
      inset:0;
      background:
        radial-gradient(circle at 16% 10%, rgba(255,255,255,.34), transparent 26%),
        linear-gradient(180deg, rgba(255,255,255,.03), rgba(45,26,10,.34));
      z-index:1;
    }
    .scan-main:after,
    .scan-side:after,
    .scan-small:after {
      content:"";
      position:absolute;
      inset:0;
      border-radius:inherit;
      box-shadow:inset 0 0 0 1px rgba(255,255,255,.18);
      z-index:2;
      pointer-events:none;
    }
    .scan-label {
      position:absolute;
      left:18px;
      right:18px;
      bottom:16px;
      z-index:3;
      color:#fff;
      font:700 28px/1 "Cormorant Garamond", Georgia, serif;
      text-shadow:0 4px 18px rgba(0,0,0,.38);
    }
    .scan-label small {
      display:block;
      margin-bottom:7px;
      font:800 10px/1 Inter, sans-serif;
      letter-spacing:.22em;
      text-transform:uppercase;
      color:#f5d6a8;
    }
    .scan-grid {
      display:grid;
      grid-template-columns:repeat(4,1fr);
      gap:12px;
      margin-top:12px;
    }
    .scan-small {
      min-height:150px;
    }
    .scan-small .scan-label {
      font-size:20px;
      left:14px;
      right:14px;
      bottom:12px;
    }
    .gallery-note {
      margin-top:14px;
      color:var(--muted);
      font-size:13px;
      line-height:1.7;
      padding:12px 14px;
      border:1px solid var(--line);
      border-radius:16px;
      background:rgba(255,255,255,.58);
    }

    /* Clean native 63.lv gallery slider, matching the story slider style */
    .clean-native-gallery {
      margin:24px 0 10px;
      border:1px solid var(--line);
      border-radius:28px;
      overflow:hidden;
      background:#fffdf9;
      box-shadow:0 14px 34px rgba(80,48,15,.10);
    }
    .clean-gallery-stage {
      position:relative;
      height:430px;
      overflow:hidden;
      background:#f4eadf;
    }
    .clean-gallery-slide {
      position:absolute;
      inset:0;
      opacity:0;
      transition:opacity .42s ease;
      background-size:cover;
      background-position:center;
      filter:saturate(1.04) contrast(1.03) brightness(1.03);
    }
    .clean-gallery-slide.active {
      opacity:1;
    }
    .clean-gallery-slide:after {
      content:"";
      position:absolute;
      inset:0;
      background:
        radial-gradient(circle at 20% 10%, rgba(255,255,255,.20), transparent 25%),
        linear-gradient(180deg, rgba(255,255,255,.02), rgba(0,0,0,.10));
      pointer-events:none;
    }
    .clean-gallery-thumbs {
      display:flex;
      gap:12px;
      padding:16px;
      overflow-x:auto;
      background:linear-gradient(180deg,#fffdf9,#fbf3e7);
      border-top:1px solid var(--line);
    }
    .clean-gallery-thumb {
      flex:0 0 108px;
      width:108px;
      height:74px;
      border:2px solid transparent;
      border-radius:14px;
      background-size:cover;
      background-position:center;
      cursor:pointer;
      box-shadow:0 8px 20px rgba(87,60,20,.10);
    }
    .clean-gallery-thumb.active {
      border-color:var(--gold);
      box-shadow:0 12px 24px rgba(199,139,58,.18);
    }
    .clean-gallery-note {
      color:var(--muted);
      font-size:13px;
      line-height:1.7;
      padding:14px 16px 18px;
      background:#fffdf9;
      border-top:1px solid rgba(231,216,196,.55);
    }
    @media (max-width:767.98px) {
      .clean-gallery-stage {
        height:300px;
      }
      .clean-gallery-thumb {
        flex-basis:84px;
        width:84px;
        height:58px;
      }
    }

    .scanned-gallery,
    .scan-grid,
    .old-gallery {
      display:none !important;
    }


    /* v10: Pirts section full-size, no separate left advert/hero image */
    .bath-wrap {
      grid-template-columns:1fr !important;
      width:min(1580px,96vw);
    }
    .bath-visual {
      display:none !important;
    }
    .bath-content {
      width:100%;
      min-height:auto;
      padding:44px;
    }
    .bath-content .clean-native-gallery {
      margin-top:28px;
    }
    .bath-content .clean-gallery-stage {
      height:min(620px, 58vw);
      min-height:430px;
    }
    .bath-content .clean-gallery-slide {
      background-size:cover;
      background-position:center;
    }
    .bath-content .clean-gallery-slide:after {
      background:linear-gradient(180deg, rgba(255,255,255,.02), rgba(0,0,0,.04));
    }
    @media (max-width:767.98px) {
      .bath-content {
        padding:28px 20px;
      }
      .bath-content .clean-gallery-stage {
        height:320px;
        min-height:320px;
      }
    }


    /* v11: pirts section 50/50 content + full-quality gallery on desktop */
    .bath-wrap {
      grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr) !important;
      align-items:stretch;
      width:min(1580px,96vw);
    }
    .bath-visual {
      display:none !important;
    }
    .bath-content {
      display:grid !important;
      grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
      gap:28px;
      width:100%;
      padding:30px;
      align-items:stretch;
    }
    .bath-copy-panel {
      display:flex;
      flex-direction:column;
      justify-content:center;
      padding:18px 8px 18px 8px;
    }
    .bath-content .clean-native-gallery {
      margin:0;
      height:100%;
      min-height:640px;
      display:flex;
      flex-direction:column;
    }
    .bath-content .clean-gallery-stage {
      height:auto;
      min-height:0;
      flex:1;
    }
    .bath-content .clean-gallery-slide {
      background-size:cover;
      background-position:center;
      filter:saturate(1.16) contrast(1.07) brightness(1.08);
    }
    .bath-content .clean-gallery-slide:after {
      background:
        radial-gradient(circle at 20% 8%, rgba(255,255,255,.24), transparent 24%),
        linear-gradient(180deg, rgba(255,255,255,.02), rgba(0,0,0,.035));
    }
    .bath-content .clean-gallery-thumbs {
      padding:14px;
      background:linear-gradient(180deg,#fffdf9,#fbf3e7);
    }
    .bath-content .clean-gallery-thumb {
      flex:0 0 96px;
      width:96px;
      height:66px;
      filter:saturate(1.14) contrast(1.05) brightness(1.05);
    }

    /* v12 adjustments */
    .bath-wrap{
      width:var(--container) !important;
      margin:0 auto !important;
      display:block !important;
    }
    .bath-content{
      width:100% !important;
      display:grid !important;
      grid-template-columns:1fr 1fr !important;
      gap:34px !important;
      align-items:stretch !important;
      padding:34px !important;
    }
    .bath-copy-panel{
      display:flex;
      flex-direction:column;
      justify-content:center;
      padding:6px 4px 6px 4px;
    }
    .bath-offer-badge{
      display:inline-flex;
      align-items:center;
      gap:10px;
      width:max-content;
      padding:10px 16px;
      border-radius:999px;
      background:linear-gradient(180deg,#fff8ea,#f3e2c6);
      border:1px solid rgba(199,139,58,.32);
      color:var(--gold-2);
      font-size:12px;
      font-weight:900;
      letter-spacing:.08em;
      text-transform:uppercase;
      margin:6px 0 16px;
      box-shadow:0 10px 22px rgba(199,139,58,.12);
    }
    .bath-offer-badge .star{
      width:24px;height:24px;border-radius:50%;
      display:grid;place-items:center;
      background:var(--gold);
      color:#fff;
      font-size:12px;
    }
    .bath-meta{
      display:grid;
      gap:12px;
      margin:4px 0 22px;
    }
    .bath-meta-row{
      display:flex;
      gap:12px;
      align-items:flex-start;
      padding:12px 14px;
      border:1px solid var(--line);
      border-radius:18px;
      background:rgba(255,255,255,.72);
    }
    .bath-meta-icon, .footer-icon{
      width:38px;height:38px;flex:none;
      border-radius:50%;
      display:grid;place-items:center;
      background:linear-gradient(180deg,#fff8ed,#ecd6b6);
      color:var(--gold-2);
      border:1px solid rgba(199,139,58,.28);
      box-shadow:0 8px 18px rgba(199,139,58,.12);
      font-size:18px;
      font-style:normal;
    }
    .bath-meta-row b{
      display:block;
      font-size:16px;
      margin-bottom:3px;
      color:#2b2119;
    }
    .bath-meta-row span{
      display:block;
      color:var(--muted);
      font-size:13px;
      line-height:1.55;
    }
    .bath-package{
      margin:22px 0 0;
      padding:20px;
      border-radius:24px;
      border:1px solid var(--line);
      background:linear-gradient(180deg,#fffdf9,#f8f1e4);
    }
    .bath-package h4{
      font-size:34px;
      margin:0 0 14px;
    }
    .bath-package-grid{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:12px;
    }
    .bath-package-item{
      display:flex;
      gap:10px;
      align-items:flex-start;
      padding:12px 12px;
      border-radius:16px;
      background:#fff;
      border:1px solid rgba(231,216,196,.9);
      color:#564b41;
      font-size:14px;
      line-height:1.55;
    }
    .bath-package-item .dot{
      width:26px;height:26px;flex:none;
      border-radius:50%;
      display:grid;place-items:center;
      background:var(--gold);
      color:#fff;
      font-size:12px;
      margin-top:1px;
    }
    .bath-contact-strip{
      margin-top:18px;
      display:flex;
      gap:12px;
      flex-wrap:wrap;
    }
    .bath-contact-pill{
      display:flex;
      align-items:center;
      gap:10px;
      padding:12px 14px;
      border:1px solid var(--line);
      border-radius:18px;
      background:#fff;
      color:#564b41;
      font-size:14px;
      font-weight:700;
    }
    .bath-content .actions{
      margin-top:24px;
      display:flex;
      gap:12px;
      flex-wrap:wrap;
    }
    .bath-content .clean-native-gallery{
      min-height:100%;
      display:flex;
      flex-direction:column;
    }
    .bath-content .clean-gallery-stage{
      min-height:520px !important;
      height:520px !important;
      flex:none !important;
      border-bottom:1px solid var(--line);
    }
    .clean-gallery-slide{
      filter:saturate(1.18) contrast(1.08) brightness(1.1) !important;
    }
    .clean-gallery-slide:after{
      background:
        radial-gradient(circle at 18% 12%, rgba(255,255,255,.22), transparent 26%),
        linear-gradient(180deg, rgba(255,255,255,.01), rgba(0,0,0,.03)) !important;
    }
    footer{
      gap:16px;
      align-items:stretch;
    }
    .footer-item{
      display:flex;
      align-items:center;
      gap:12px;
      padding:14px 16px;
      border:1px solid var(--line);
      border-radius:18px;
      background:rgba(255,255,255,.62);
      color:#574b40;
      min-height:58px;
    }
    .footer-item b{
      color:#3a2e24;
      font-weight:700;
    }
    @media (max-width:1199.98px){
      .bath-content{
        grid-template-columns:1fr !important;
      }
      .bath-content .clean-gallery-stage{
        min-height:420px !important;
        height:420px !important;
      }
      footer{
        grid-template-columns:1fr 1fr !important;
      }
    }
    @media (max-width:767.98px){
      .bath-package-grid{
        grid-template-columns:1fr;
      }
      .bath-content{
        padding:24px !important;
      }
      .bath-content .clean-gallery-stage{
        min-height:320px !important;
        height:320px !important;
      }
      footer{
        grid-template-columns:1fr !important;
      }
    }


    /* v13: refined pirts section with compact booking calendar + blog/news cards */
    .bath-content.v13-pirts {
      gap:26px !important;
      padding:26px !important;
      align-items:start !important;
    }
    .v13-pirts .bath-copy-panel {
      justify-content:flex-start;
      padding:0 !important;
    }
    .v13-pirts .bath-copy-panel h3 {
      font-size:50px;
      margin-bottom:12px;
    }
    .v13-pirts .bath-copy-panel > p {
      margin-bottom:14px;
      line-height:1.7;
    }
    .v13-pirts .bath-offer-badge {
      margin:4px 0 12px;
    }
    .v13-pirts .bath-grid {
      grid-template-columns:repeat(4,1fr);
      gap:10px;
      margin:12px 0 14px;
    }
    .v13-pirts .bath-item {
      min-height:92px;
      padding:13px;
    }
    .v13-pirts .bath-item b {
      font-size:24px;
    }
    .v13-pirts .bath-item span {
      font-size:13px;
      line-height:1.45;
    }
    .v13-pirts .bath-meta {
      grid-template-columns:1fr 1fr;
      gap:10px;
      margin:0 0 14px;
    }
    .v13-pirts .bath-meta-row {
      padding:11px 12px;
    }
    .v13-pirts .bath-package {
      margin:12px 0 0;
      padding:16px;
    }
    .v13-pirts .bath-package h4 {
      font-size:30px;
      margin-bottom:12px;
    }
    .v13-pirts .bath-package-grid {
      gap:9px;
    }
    .v13-pirts .bath-package-item {
      padding:10px;
      font-size:13px;
    }
    .pirts-right {
      display:grid;
      gap:14px;
    }
    .pirts-right .clean-native-gallery {
      min-height:0 !important;
      height:auto !important;
    }
    .pirts-right .clean-gallery-stage {
      height:360px !important;
      min-height:360px !important;
    }
    .booking-card, .pirts-news {
      border:1px solid var(--line);
      border-radius:26px;
      background:linear-gradient(180deg,#fffdf9,#fbf3e7);
      box-shadow:0 12px 28px rgba(90,58,20,.07);
      overflow:hidden;
    }
    .booking-head, .news-head {
      display:flex;
      justify-content:space-between;
      gap:16px;
      align-items:end;
      padding:20px 22px 16px;
      border-bottom:1px solid var(--line);
    }
    .booking-head h4, .news-head h4 {
      font-size:34px;
      margin:4px 0 0;
    }
    .booking-legend {
      display:flex;
      gap:10px;
      flex-wrap:wrap;
      color:var(--muted);
      font-size:12px;
      font-weight:700;
    }
    .legend-dot {
      display:inline-flex;
      align-items:center;
      gap:6px;
    }
    .legend-dot:before {
      content:"";
      width:10px;
      height:10px;
      border-radius:50%;
      display:inline-block;
      background:var(--gold);
    }
    .legend-dot.booked:before {
      background:#b9aea1;
    }
    .legend-dot.selected:before {
      background:#241d17;
    }
    .calendar-grid {
      padding:16px 18px 18px;
      display:grid;
      gap:8px;
    }
    .calendar-days, .calendar-dates {
      display:grid;
      grid-template-columns:repeat(7,1fr);
      gap:8px;
    }
    .calendar-days span {
      text-align:center;
      color:#9b8b7b;
      font-size:11px;
      font-weight:900;
      letter-spacing:.08em;
      text-transform:uppercase;
      padding:5px 0;
    }
    .cal-date {
      border:1px solid var(--line);
      border-radius:14px;
      min-height:58px;
      padding:8px;
      background:#fff;
      display:flex;
      flex-direction:column;
      justify-content:space-between;
      color:#4b4037;
      font-weight:800;
      font-size:13px;
    }
    .cal-date small {
      color:var(--muted);
      font-size:10px;
      font-weight:700;
    }
    .cal-date.available {
      border-color:rgba(199,139,58,.42);
      background:linear-gradient(180deg,#fffdf9,#fff6e9);
    }
    .cal-date.booked {
      opacity:.72;
      background:#f0ece6;
      color:#8b8075;
    }
    .cal-date.selected {
      background:#241d17;
      color:#fff;
      border-color:#241d17;
      box-shadow:0 12px 24px rgba(36,29,23,.16);
    }
    .cal-date.selected small {
      color:#f1d6aa;
    }
    .booking-actions {
      display:flex;
      gap:10px;
      flex-wrap:wrap;
      padding:0 18px 18px;
    }
    .blog-grid {
      display:grid;
      grid-template-columns:repeat(3,1fr);
      gap:12px;
      padding:16px 18px 18px;
    }
    .blog-card {
      border:1px solid var(--line);
      background:#fff;
      border-radius:20px;
      overflow:hidden;
      min-height:210px;
      display:flex;
      flex-direction:column;
    }
    .blog-img {
      height:96px;
      background-size:cover;
      background-position:center;
      filter:saturate(1.1) contrast(1.04) brightness(1.04);
    }
    .blog-body {
      padding:14px;
      display:flex;
      flex-direction:column;
      gap:8px;
      flex:1;
    }
    .blog-date {
      color:var(--gold-2);
      font-size:10px;
      font-weight:900;
      letter-spacing:.14em;
      text-transform:uppercase;
    }
    .blog-card h5 {
      margin:0;
      font:700 22px/1.05 "Cormorant Garamond", Georgia, serif;
      color:#2b2119;
    }
    .blog-card p {
      margin:0;
      color:var(--muted);
      font-size:12px;
      line-height:1.55;
    }
    .blog-card a {
      margin-top:auto;
      color:var(--gold-2);
      font-weight:900;
      font-size:11px;
      letter-spacing:.08em;
      text-transform:uppercase;
    }

    /* v14: tighter alignment for Bauskas 63 pirts zone + availability */
    .bath-section {
      padding:42px 0 76px !important;
    }
    .bath-content.v13-pirts {
      display:grid !important;
      grid-template-columns:minmax(0, 0.95fr) minmax(0, 1.05fr) !important;
      gap:22px !important;
      align-items:start !important;
      padding:24px !important;
    }
    .v13-pirts .bath-copy-panel {
      padding:0 !important;
      margin:0 !important;
    }
    .v13-pirts .bath-copy-panel .kicker {
      margin-bottom:8px;
    }
    .v13-pirts .bath-copy-panel h3 {
      font-size:clamp(42px, 3.5vw, 56px) !important;
      line-height:.94 !important;
      margin:0 0 12px !important;
      max-width:720px;
    }
    .v13-pirts .bath-copy-panel > p {
      margin:0 0 14px !important;
      line-height:1.62 !important;
      font-size:16px !important;
      max-width:760px;
    }
    .v13-pirts .bath-offer-badge {
      margin:0 0 12px !important;
    }
    .v13-pirts .bath-grid {
      grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
      gap:10px !important;
      margin:0 0 12px !important;
    }
    .v13-pirts .bath-item {
      min-height:86px !important;
      padding:12px 13px !important;
      display:flex;
      flex-direction:column;
      justify-content:center;
    }
    .v13-pirts .bath-item b {
      font-size:23px !important;
      margin-bottom:6px !important;
    }
    .v13-pirts .bath-item span {
      line-height:1.38 !important;
    }
    .v13-pirts .bath-meta {
      grid-template-columns:1fr 1fr !important;
      gap:10px !important;
      margin:0 0 12px !important;
    }
    .v13-pirts .bath-meta-row {
      padding:10px 12px !important;
      align-items:center !important;
    }
    .v13-pirts .bath-meta-icon {
      width:34px !important;
      height:34px !important;
    }
    .v13-pirts .bath-package {
      margin:0 !important;
      padding:16px !important;
    }
    .v13-pirts .bath-package h4 {
      font-size:30px !important;
      margin:0 0 12px !important;
    }
    .v13-pirts .bath-package-grid {
      grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
      gap:8px !important;
    }
    .v13-pirts .bath-package-item {
      padding:9px 10px !important;
      align-items:center !important;
    }
    .v13-pirts .bath-contact-strip {
      margin-top:12px !important;
      gap:10px !important;
    }
    .v13-pirts .bath-contact-pill {
      padding:10px 12px !important;
    }
    .v13-pirts .actions {
      margin-top:14px !important;
    }

    .pirts-right {
      display:grid !important;
      grid-template-columns:minmax(0, 1fr) minmax(360px, .72fr);
      gap:16px !important;
      align-items:start !important;
    }
    .pirts-right .clean-native-gallery {
      min-height:0 !important;
      height:auto !important;
      margin:0 !important;
    }
    .pirts-right .clean-gallery-stage {
      height:430px !important;
      min-height:430px !important;
    }
    .pirts-right .clean-gallery-thumbs {
      padding:12px !important;
      gap:9px !important;
    }
    .pirts-right .clean-gallery-thumb {
      flex:0 0 82px !important;
      width:82px !important;
      height:58px !important;
      border-radius:12px !important;
    }

    .booking-card {
      margin:0 !important;
    }
    .booking-head {
      align-items:flex-start !important;
      padding:16px 18px 12px !important;
    }
    .booking-head h4 {
      font-size:30px !important;
      margin:3px 0 0 !important;
      line-height:.96 !important;
    }
    .booking-legend {
      justify-content:flex-end;
      gap:8px !important;
      max-width:180px;
      line-height:1.4;
    }
    .calendar-grid {
      padding:12px 14px 14px !important;
      gap:6px !important;
    }
    .calendar-days, .calendar-dates {
      gap:6px !important;
    }
    .calendar-days span {
      padding:3px 0 !important;
      font-size:10px !important;
    }
    .cal-date {
      min-height:48px !important;
      padding:6px !important;
      border-radius:12px !important;
      font-size:12px !important;
    }
    .cal-date small {
      font-size:9px !important;
    }
    .booking-actions {
      padding:0 14px 14px !important;
      gap:8px !important;
    }
    .booking-actions .btn {
      padding:12px 14px !important;
      font-size:11px !important;
    }
    .pirts-news {
      grid-column:1 / -1;
      margin-top:0 !important;
    }
    .news-head {
      padding:16px 18px 12px !important;
    }
    .news-head h4 {
      font-size:30px !important;
      margin:3px 0 0 !important;
    }
    .blog-grid {
      padding:14px 16px 16px !important;
      gap:12px !important;
    }
    .blog-card {
      min-height:190px !important;
    }

    @media (max-width:1399.98px) {
      .pirts-right {
        grid-template-columns:1fr !important;
      }
      .pirts-right .clean-gallery-stage {
        height:390px !important;
        min-height:390px !important;
      }
    }
    @media (max-width:1199.98px) {
      .bath-content.v13-pirts {
        grid-template-columns:1fr !important;
      }
      .v13-pirts .bath-meta,
      .v13-pirts .bath-grid,
      .v13-pirts .bath-package-grid {
        grid-template-columns:1fr 1fr !important;
      }
    }
    @media (max-width:767.98px) {
      .bath-content.v13-pirts {
        padding:18px !important;
      }
      .v13-pirts .bath-meta,
      .v13-pirts .bath-grid,
      .v13-pirts .bath-package-grid {
        grid-template-columns:1fr !important;
      }
      .pirts-right .clean-gallery-stage {
        height:300px !important;
        min-height:300px !important;
      }
      .booking-head {
        flex-direction:column;
        gap:8px !important;
      }
      .booking-legend {
        justify-content:flex-start;
        max-width:none;
      }
    }

    @media (max-width:1199.98px) {
      .v13-pirts .bath-grid {
        grid-template-columns:1fr 1fr;
      }
      .v13-pirts .bath-meta {
        grid-template-columns:1fr;
      }
      .blog-grid {
        grid-template-columns:1fr;
      }
    }
    @media (max-width:767.98px) {
      .v13-pirts .bath-grid,
      .v13-pirts .bath-package-grid {
        grid-template-columns:1fr;
      }
      .calendar-days, .calendar-dates {
        gap:5px;
      }
      .cal-date {
        min-height:48px;
        border-radius:11px;
        padding:6px;
      }
      .pirts-right .clean-gallery-stage {
        height:280px !important;
        min-height:280px !important;
      }
    }

    @media (max-width:1199.98px) {
      .bath-wrap {
        grid-template-columns:1fr !important;
      }
      .bath-content {
        grid-template-columns:1fr !important;
      }
      .bath-content .clean-native-gallery {
        min-height:auto;
      }
      .bath-content .clean-gallery-stage {
        height:430px;
        min-height:430px;
        flex:unset;
      }
    }
    @media (max-width:767.98px) {
      .bath-content {
        padding:22px;
      }
      .bath-content .clean-gallery-stage {
        height:320px;
        min-height:320px;
      }
    }

    @media (max-width:1199.98px) {
      .scanned-gallery {
        grid-template-columns:1fr;
      }
      .scan-grid {
        grid-template-columns:repeat(2,1fr);
      }
    }
    @media (max-width:767.98px) {
      .scan-grid {
        grid-template-columns:1fr;
      }
      .scan-main {
        min-height:280px;
      }
    }

    @media (max-width:1199.98px) {
      .old-gallery, .web-extra {
        grid-template-columns:1fr;
      }
    }

    @media (max-width:1199.98px) {
      .bath-wrap {
        grid-template-columns:1fr;
      }
      .bath-visual {
        min-height:420px;
      }
    }
    @media (max-width:767.98px) {
      .bath-grid, .bath-strip {
        grid-template-columns:1fr;
      }
      .bath-label h2 {
        font-size:48px;
      }
      .story-slider-nav {
        left:20px;
        right:20px;
        bottom:18px;
      }
      .story-dot {
        width:72px;
        height:52px;
      }
    }

    /* Web development */
    .web-wrap {
      display:grid;
      grid-template-columns:.78fr 1.22fr;
      gap:24px;
      align-items:stretch;
    }
    .web-intro {
      border:1px solid var(--line);
      border-radius:28px;
      background:linear-gradient(180deg, #fffdf9, #fbf3e7);
      padding:34px;
      box-shadow:0 18px 42px rgba(88,58,20,.08);
    }
    .web-intro h2 {
      font-size:54px;
      line-height:.96;
      margin-bottom:18px;
    }
    .web-intro p {
      color:var(--muted);
      line-height:1.8;
      margin:0 0 18px;
    }
    .web-badges {
      display:flex;
      flex-wrap:wrap;
      gap:10px;
      margin-top:18px;
    }
    .web-badges span {
      border:1px solid var(--line);
      background:#fffdf9;
      border-radius:999px;
      padding:10px 14px;
      font-size:12px;
      font-weight:700;
      color:#5d544a;
    }
    .web-stats {
      margin-top:18px;
      display:grid;
      grid-template-columns:repeat(3, 1fr);
      gap:12px;
    }
    .web-stat {
      border:1px solid var(--line);
      border-radius:18px;
      background:#fffdf9;
      padding:18px 16px;
    }
    .web-stat b {
      display:block;
      font-size:30px;
      font-family:"Cormorant Garamond", Georgia, serif;
    }
    .web-stat span {
      color:var(--muted);
      font-size:13px;
    }
    .web-grid {
      display:grid;
      grid-template-columns:repeat(2, 1fr);
      gap:16px;
    }
    .web-card {
      min-height:230px;
      border:1px solid var(--line);
      border-radius:24px;
      overflow:hidden;
      background:#fffdf9;
      box-shadow:0 12px 30px rgba(90,58,20,.07);
      display:flex;
      flex-direction:column;
    }
    .web-card .thumb {
      height:126px;
      background-size:cover;
      background-position:center;
    }
    .web-card .body {
      padding:18px 18px 20px;
    }
    .web-card h3 {
      font-size:30px;
      margin-bottom:8px;
    }
    .web-card p {
      margin:0;
      color:#5f564b;
      font-size:14px;
      line-height:1.7;
    }

    /* CTA */
    .cta-section {
      width:var(--container);
      margin:0 auto;
      padding:44px 0 34px;
    }
    .cta-wrap {
      display:grid;
      grid-template-columns:.92fr 1.08fr;
      gap:22px;
      background:linear-gradient(135deg,#fffdf9,#f7eedf);
      border:1px solid var(--line);
      border-radius:34px;
      overflow:hidden;
      box-shadow:var(--shadow);
    }
    .cta-copy {
      padding:42px;
      background:
        radial-gradient(circle at 20% 20%, rgba(199,139,58,.10), transparent 18rem),
        linear-gradient(180deg, rgba(255,255,255,.26), rgba(255,255,255,.04));
    }
    .cta-copy h2 {
      font-size:58px;
      line-height:.95;
    }
    .cta-copy p {
      color:var(--muted);
      line-height:1.82;
      margin:16px 0 28px;
    }
    .contact-list {
      display:grid;
      gap:14px;
    }
    .contact-item {
      display:flex;
      gap:12px;
      align-items:flex-start;
      padding:14px 16px;
      border:1px solid var(--line);
      border-radius:18px;
      background:rgba(255,255,255,.56);
    }
    .contact-item .mini {
      width:36px;
      height:36px;
      flex:none;
      border-radius:50%;
      display:grid;
      place-items:center;
      background:linear-gradient(180deg,#fff8ed,#f2e2cb);
      color:var(--gold-2);
      border:1px solid rgba(199,139,58,.25);
    }
    .contact-item b { display:block; font-size:16px; }
    .contact-item span { color:var(--muted); font-size:13px; line-height:1.5; }

    .cta-form {
      padding:42px;
      background:rgba(255,255,255,.5);
      display:grid;
      gap:14px;
    }
    .cta-form h3 {
      font-size:42px;
      margin-bottom:2px;
    }
    .cta-form .lead {
      color:var(--muted);
      margin:0 0 10px;
    }
    .field-row {
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:14px;
    }
    .input, .textarea {
      width:100%;
      border:1px solid var(--line);
      border-radius:16px;
      background:#fffdf9;
      padding:15px 16px;
      font:inherit;
      color:var(--ink);
      outline:none;
    }
    .textarea {
      min-height:132px;
      resize:vertical;
    }

    /* Map */
    .map-section {
      width:100%;
      margin:0;
      padding:26px 0 0;
    }
    .map-wrap {
      width:100%;
      position:relative;
      min-height:460px;
      overflow:hidden;
      border-top:1px solid var(--line);
      border-bottom:1px solid var(--line);
      background:#e8e8e8;
    }
    .map-wrap iframe {
      width:100%;
      height:460px;
      border:0;
      filter:grayscale(1) saturate(0) contrast(1.02) brightness(1.03);
    }
    .map-box {
      position:absolute;
      left:max(2vw, calc((100vw - 1580px)/2 + 20px));
      top:34px;
      width:min(360px, calc(100vw - 48px));
      padding:24px 22px;
      border-radius:26px;
      background:rgba(255,253,249,.96);
      backdrop-filter:blur(10px);
      border:1px solid var(--line);
      box-shadow:0 24px 50px rgba(37,25,14,.16);
    }
    .map-box h3 {
      font-size:34px;
      margin:6px 0 10px;
    }
    .map-box p {
      margin:0 0 16px;
      color:var(--muted);
      line-height:1.72;
      font-size:14px;
    }
    .address-pills {
      display:grid;
      gap:10px;
      margin-top:16px;
    }
    .address-pill {
      padding:12px 14px;
      border:1px solid var(--line);
      border-radius:16px;
      background:#fff;
      color:#5d5248;
      font-size:14px;
      font-weight:600;
    }

    footer {
      width:var(--container);
      margin:0 auto;
      padding:30px 0 40px;
      display:grid;
      grid-template-columns:1fr 1fr 1fr auto;
      gap:18px;
      align-items:center;
    }
    footer b { color:var(--gold-2); }

    /* Rent Modal */
    .modal-backdrop {
      position:fixed;
      inset:0;
      display:none;
      place-items:center;
      z-index:120;
      background:rgba(28,20,12,.42);
      backdrop-filter:blur(8px);
      padding:20px;
    }
    .modal-backdrop.open { display:grid; }
    .modal {
      width:min(1060px, 96vw);
      max-height:92vh;
      overflow:auto;
      background:#fffdf9;
      border-radius:32px;
      border:1px solid var(--line);
      box-shadow:0 50px 120px rgba(31,20,8,.4);
      padding:34px;
    }
    .modal-head {
      display:flex;
      align-items:start;
      justify-content:space-between;
      gap:20px;
      margin-bottom:18px;
    }
    .modal-head h2 { font-size:42px; }
    .modal-head p {
      margin:8px 0 0;
      color:var(--muted);
    }
    .close {
      width:42px; height:42px;
      border-radius:50%;
      border:1px solid var(--line);
      background:#fff8ee;
      color:var(--gold-2);
      font-size:24px;
      cursor:pointer;
    }
    .modal-grid {
      display:grid;
      grid-template-columns:240px 1fr 270px;
      gap:24px;
    }
    .fact {
      display:flex;
      gap:12px;
      padding:12px 0;
      border-bottom:1px solid var(--line);
    }
    .fact i {
      flex:none;
      width:36px; height:36px;
      border-radius:50%;
      display:grid;
      place-items:center;
      background:var(--gold);
      color:#fff;
      font-style:normal;
    }
    .fact strong {
      display:block;
      font-size:21px;
    }
    .fact span {
      color:var(--muted);
      font-size:13px;
      line-height:1.45;
    }
    .prices {
      margin-top:12px;
      padding-top:12px;
    }
    .prices div {
      display:flex;
      justify-content:space-between;
      padding:10px 0;
      border-bottom:1px solid var(--line);
    }
    .prices b { font-size:20px; color:#201a16; }
    .plan {
      border-radius:24px;
      border:1px solid var(--line);
      background:#fff;
    }
    .modal-photo {
      width:100%;
      height:220px;
      object-fit:cover;
      border-radius:22px;
      border:1px solid var(--line);
      filter:saturate(.84);
    }
    .checks {
      list-style:none;
      padding:0;
      margin:18px 0 0;
      display:grid;
      gap:12px;
      color:#4f463d;
      line-height:1.48;
    }
    .checks li:before {
      content:"✓";
      display:inline-grid;
      place-items:center;
      width:20px; height:20px;
      border-radius:6px;
      background:var(--gold);
      color:#fff;
      margin-right:9px;
      font-weight:900;
    }
    .modal-actions {
      display:flex;
      gap:12px;
      margin-top:24px;
      flex-wrap:wrap;
    }

    /* Responsive */
    @media (max-width: 1199.98px) {
      .desktop-nav,
      .header-tools .lang-switch,
      .header-tools .desktop-search {
        display:none;
      }
      .mobile-toggle {
        display:grid;
      }
      .header-inner {
        grid-template-columns:auto 1fr auto;
      }
      .hero,
      .slide,
      .story-top,
      .web-wrap,
      .cta-wrap,
      .modal-grid {
        grid-template-columns:1fr;
      }
      .hero-panels,
      .services,
      .web-grid {
        grid-template-columns:1fr 1fr;
      }
      .mini-gallery {
        grid-template-columns:repeat(3, 1fr);
      }
      footer {
        grid-template-columns:1fr 1fr;
      }
      .map-box {
        left:24px;
        right:24px;
        width:auto;
      }
      .story-copy {
        padding:54px 28px 34px;
      }
      .rent-badge {
        left:22px;
        top:22px;
      }
    }

    @media (max-width: 767.98px) {
      .hero,
      .section,
      .story-section,
      .cta-section,
      .slider-wrap,
      footer {
        width:min(92vw, 100%);
      }
      .hero-panels,
      .services,
      .web-grid,
      .field-row,
      .story-points,
      .web-stats {
        grid-template-columns:1fr;
      }
      .mini-gallery {
        grid-template-columns:1fr 1fr;
      }
      .section-head {
        flex-direction:column;
        align-items:start;
      }
      .slide .copy {
        padding:40px 28px;
      }
      .wordmark .main strong {
        font-size:28px;
      }
      .wordmark .main span {
        font-size:16px;
      }
      footer {
        grid-template-columns:1fr;
      }
      .interior-stage {
        height:250px;
      }
    }

    /* v15: global consistency, centered rhythm, equal section widths */
    :root {
      --container: min(1180px, 92vw);
      --section-gap: 76px;
      --card-radius: 24px;
    }

    body {
      background:
        radial-gradient(circle at 86% 7%, rgba(199,139,58,.10), transparent 24rem),
        radial-gradient(circle at 8% 28%, rgba(199,139,58,.055), transparent 25rem),
        linear-gradient(180deg,#fffdf9 0%,#fcf8f1 48%,#fffaf4 100%) !important;
    }

    .header-inner,
    .hero,
    .slider-wrap,
    .section,
    .story-section,
    .cta-section,
    footer {
      width: var(--container) !important;
      max-width: var(--container) !important;
      margin-left: auto !important;
      margin-right: auto !important;
    }

    .site-header {
      box-shadow: 0 8px 28px rgba(64,42,16,.045);
    }

    .header-inner {
      min-height: 82px !important;
      grid-template-columns: auto 1fr auto !important;
      gap: 20px !important;
    }

    .brand-accent {
      height: 48px !important;
    }

    .wordmark .top {
      font-size: 10px !important;
      letter-spacing: .28em !important;
    }

    .wordmark .main strong {
      font-size: 30px !important;
    }

    .wordmark .main span {
      font-size: 16px !important;
    }

    .wordmark .bottom {
      font-size: 11px !important;
      letter-spacing: .20em !important;
    }

    .nav-pill {
      padding: 10px 14px !important;
      font-size: 13px !important;
      background: rgba(255,255,255,.72) !important;
    }

    .hero {
      padding: 70px 0 56px !important;
      gap: 42px !important;
      align-items: center !important;
    }

    .hero-copy h1 {
      font-size: clamp(54px, 5.4vw, 78px) !important;
      max-width: 620px !important;
    }

    .hero-copy p {
      max-width: 540px !important;
      font-size: 16px !important;
      line-height: 1.72 !important;
    }

    .hero-panels {
      border-radius: var(--card-radius) !important;
      box-shadow: 0 18px 42px rgba(93,61,18,.075) !important;
    }

    .panel {
      padding: 26px !important;
      min-height: 152px !important;
    }

    .panel h3 {
      font-size: 25px !important;
    }

    .panel p {
      font-size: 13px !important;
    }

    .slider-wrap {
      margin-top: 0 !important;
    }

    .slider {
      min-height: 370px !important;
      border-radius: var(--card-radius) !important;
    }

    .slide .photo {
      min-height: 370px !important;
    }

    .slide .copy {
      padding: 44px !important;
    }

    .slide .copy h2 {
      font-size: 44px !important;
    }

    .slide .copy p {
      font-size: 15px !important;
      line-height: 1.68 !important;
    }

    .section {
      padding: var(--section-gap) 0 !important;
    }

    .section-head {
      margin-bottom: 30px !important;
      align-items: flex-start !important;
    }

    .section-head h2 {
      font-size: 48px !important;
      max-width: 560px !important;
    }

    .section-head p {
      font-size: 14px !important;
      line-height: 1.68 !important;
      max-width: 520px !important;
    }

    .services {
      grid-template-columns: repeat(4, minmax(0,1fr)) !important;
      gap: 14px !important;
    }

    .service-card {
      min-height: 238px !important;
      padding: 22px !important;
      border-radius: 20px !important;
    }

    .service-card h3 {
      font-size: 25px !important;
    }

    .service-card ul {
      font-size: 13px !important;
      line-height: 1.72 !important;
    }

    .mini-gallery {
      gap: 10px !important;
      margin-top: 20px !important;
    }

    .tile {
      height: 138px !important;
      border-radius: 14px !important;
    }

    .tile span {
      font-size: 18px !important;
    }

    .bath-section {
      padding: 18px 0 var(--section-gap) !important;
      background: linear-gradient(180deg, rgba(255,253,249,0), rgba(247,238,223,.46)) !important;
    }

    .bath-wrap {
      width: var(--container) !important;
      max-width: var(--container) !important;
      margin-left: auto !important;
      margin-right: auto !important;
    }

    .bath-content.v13-pirts {
      border-radius: var(--card-radius) !important;
      padding: 22px !important;
      gap: 20px !important;
      grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr) !important;
      box-shadow: 0 22px 52px rgba(88,58,20,.10) !important;
    }

    .v13-pirts .bath-copy-panel h3 {
      font-size: clamp(40px, 3.8vw, 52px) !important;
      max-width: 560px !important;
    }

    .v13-pirts .bath-copy-panel > p {
      font-size: 14px !important;
      line-height: 1.62 !important;
      max-width: 580px !important;
    }

    .v13-pirts .bath-grid {
      grid-template-columns: repeat(2, minmax(0,1fr)) !important;
      gap: 10px !important;
    }

    .v13-pirts .bath-item {
      min-height: 82px !important;
      padding: 11px 12px !important;
    }

    .v13-pirts .bath-item b {
      font-size: 21px !important;
    }

    .v13-pirts .bath-item span {
      font-size: 12.5px !important;
    }

    .v13-pirts .bath-meta-row,
    .v13-pirts .bath-package-item,
    .v13-pirts .bath-contact-pill {
      font-size: 12.5px !important;
    }

    .v13-pirts .bath-package {
      padding: 14px !important;
      border-radius: 20px !important;
    }

    .v13-pirts .bath-package h4 {
      font-size: 27px !important;
    }

    .pirts-right {
      grid-template-columns: minmax(0,1fr) 320px !important;
      gap: 14px !important;
    }

    .pirts-right .clean-native-gallery,
    .booking-card,
    .pirts-news {
      border-radius: 20px !important;
      box-shadow: 0 12px 30px rgba(90,58,20,.065) !important;
    }

    .pirts-right .clean-gallery-stage {
      height: 350px !important;
      min-height: 350px !important;
    }

    .pirts-right .clean-gallery-thumbs {
      padding: 10px !important;
      gap: 8px !important;
    }

    .pirts-right .clean-gallery-thumb {
      flex-basis: 66px !important;
      width: 66px !important;
      height: 48px !important;
    }

    .booking-head {
      padding: 14px 14px 10px !important;
      display: block !important;
    }

    .booking-head h4 {
      font-size: 27px !important;
    }

    .booking-legend {
      margin-top: 8px !important;
      justify-content: flex-start !important;
      max-width: none !important;
      font-size: 11px !important;
    }

    .calendar-grid {
      padding: 10px 12px 12px !important;
    }

    .calendar-days, .calendar-dates {
      gap: 5px !important;
    }

    .cal-date {
      min-height: 42px !important;
      border-radius: 10px !important;
      font-size: 11px !important;
      padding: 5px !important;
    }

    .cal-date small {
      font-size: 8.5px !important;
    }

    .booking-actions {
      padding: 0 12px 12px !important;
    }

    .booking-actions .btn {
      width: 100% !important;
      text-align: center !important;
      justify-content: center !important;
    }

    .pirts-news {
      grid-column: 1 / -1 !important;
    }

    .news-head {
      padding: 14px 16px 10px !important;
      align-items: center !important;
    }

    .news-head h4 {
      font-size: 28px !important;
    }

    .blog-grid {
      grid-template-columns: repeat(3, minmax(0,1fr)) !important;
      padding: 12px 14px 14px !important;
    }

    .blog-card {
      min-height: 164px !important;
      border-radius: 16px !important;
    }

    .blog-img {
      height: 82px !important;
    }

    .blog-body {
      padding: 12px !important;
    }

    .blog-card h5 {
      font-size: 19px !important;
    }

    .blog-card p {
      font-size: 11.5px !important;
    }

    .story-section {
      padding: var(--section-gap) 0 !important;
    }

    .story-card {
      border-radius: var(--card-radius) !important;
      box-shadow: 0 22px 52px rgba(88,58,20,.10) !important;
    }

    .story-top {
      min-height: 420px !important;
    }

    .story-copy {
      padding: 58px 52px !important;
    }

    .story-copy h2 {
      font-size: 52px !important;
    }

    .story-copy p {
      font-size: 15px !important;
      line-height: 1.72 !important;
    }

    .web-wrap {
      gap: 18px !important;
    }

    .web-intro,
    .web-card,
    .web-extra-card,
    .cta-wrap {
      border-radius: var(--card-radius) !important;
    }

    .web-intro {
      padding: 28px !important;
    }

    .web-intro h2 {
      font-size: 48px !important;
    }

    .web-intro p {
      font-size: 14px !important;
    }

    .web-card .thumb {
      height: 112px !important;
    }

    .web-card h3 {
      font-size: 27px !important;
    }

    .web-extra {
      width: var(--container) !important;
      max-width: var(--container) !important;
      margin-left: auto !important;
      margin-right: auto !important;
      gap: 14px !important;
    }

    .portfolio-row {
      width: var(--container) !important;
      max-width: var(--container) !important;
      margin-left: auto !important;
      margin-right: auto !important;
    }

    .cta-section {
      padding: var(--section-gap) 0 42px !important;
    }

    .cta-wrap {
      gap: 0 !important;
    }

    .cta-copy,
    .cta-form {
      padding: 34px !important;
    }

    .cta-copy h2 {
      font-size: 50px !important;
    }

    .cta-copy p,
    .cta-form .lead {
      font-size: 14px !important;
    }

    .map-section {
      padding-top: 18px !important;
    }

    .map-wrap {
      min-height: 390px !important;
    }

    .map-wrap iframe {
      height: 390px !important;
    }

    footer {
      padding: 26px 0 34px !important;
      grid-template-columns: 1fr 1fr 1fr auto !important;
    }

    @media (max-width:1399.98px) {
      .pirts-right {
        grid-template-columns: 1fr !important;
      }
      .pirts-right .clean-gallery-stage {
        height: 380px !important;
        min-height: 380px !important;
      }
    }

    @media (max-width:1199.98px) {
      :root {
        --container: min(960px, 92vw);
      }
      .hero,
      .slide,
      .story-top,
      .web-wrap,
      .cta-wrap {
        grid-template-columns: 1fr !important;
      }
      .bath-content.v13-pirts {
        grid-template-columns: 1fr !important;
      }
      .services,
      .hero-panels,
      .blog-grid {
        grid-template-columns: repeat(2, minmax(0,1fr)) !important;
      }
    }

    @media (max-width:767.98px) {
      :root {
        --container: min(100% - 28px, 520px);
        --section-gap: 54px;
      }
      .header-inner {
        min-height: 76px !important;
      }
      .hero {
        padding-top: 52px !important;
      }
      .hero-copy h1 {
        font-size: 48px !important;
      }
      .services,
      .hero-panels,
      .mini-gallery,
      .blog-grid,
      .web-extra,
      footer {
        grid-template-columns: 1fr !important;
      }
      .bath-content.v13-pirts {
        padding: 18px !important;
      }
      .v13-pirts .bath-grid,
      .v13-pirts .bath-meta,
      .v13-pirts .bath-package-grid {
        grid-template-columns: 1fr !important;
      }
      .pirts-right .clean-gallery-stage {
        height: 300px !important;
        min-height: 300px !important;
      }
      .story-copy,
      .cta-copy,
      .cta-form {
        padding: 26px !important;
      }
      .map-box {
        position: static !important;
        width: auto !important;
        margin: 18px !important;
      }
      .map-wrap {
        display: flex !important;
        flex-direction: column-reverse !important;
      }
    }


    /* v16: fix pirts grid alignment, remove visual gaps, compact news */
    .bath-content.v13-pirts{
      grid-template-columns:minmax(0, .95fr) minmax(0, 1.05fr) !important;
      align-items:start !important;
      gap:22px !important;
      overflow:hidden !important;
    }

    .v13-pirts .bath-copy-panel{
      align-self:start !important;
    }

    .v13-pirts .bath-copy-panel .actions{
      margin-top:14px !important;
      display:flex !important;
      gap:12px !important;
      flex-wrap:wrap !important;
    }

    .v13-pirts .bath-copy-panel .actions + .actions{
      display:none !important;
    }

    .pirts-right{
      display:grid !important;
      grid-template-columns:1fr !important;
      gap:14px !important;
      align-self:start !important;
    }

    .pirts-right .clean-native-gallery{
      display:grid !important;
      grid-template-rows:auto auto !important;
      min-height:0 !important;
      height:auto !important;
      margin:0 !important;
      overflow:hidden !important;
    }

    .pirts-right .clean-gallery-stage{
      height:360px !important;
      min-height:360px !important;
      max-height:360px !important;
      flex:none !important;
    }

    .pirts-right .clean-gallery-thumbs{
      padding:12px !important;
      gap:9px !important;
      overflow-x:auto !important;
      min-height:78px !important;
      align-items:center !important;
    }

    .pirts-right .clean-gallery-thumb{
      flex:0 0 78px !important;
      width:78px !important;
      height:54px !important;
    }

    .booking-card{
      margin:0 !important;
      overflow:hidden !important;
    }

    .booking-head{
      display:flex !important;
      align-items:flex-start !important;
      justify-content:space-between !important;
      gap:12px !important;
      padding:14px 16px 10px !important;
    }

    .booking-head h4{
      font-size:28px !important;
      margin:2px 0 0 !important;
    }

    .booking-legend{
      max-width:230px !important;
      justify-content:flex-end !important;
      gap:8px !important;
      margin-top:0 !important;
      font-size:10.5px !important;
    }

    .calendar-grid{
      padding:10px 14px 12px !important;
      gap:6px !important;
    }

    .calendar-days,
    .calendar-dates{
      display:grid !important;
      grid-template-columns:repeat(7, minmax(0,1fr)) !important;
      gap:6px !important;
    }

    .calendar-days span{
      font-size:10px !important;
      padding:2px 0 !important;
      text-align:center !important;
    }

    .cal-date{
      min-height:44px !important;
      padding:6px !important;
      border-radius:10px !important;
      font-size:11px !important;
      overflow:hidden !important;
    }

    .cal-date small{
      font-size:8.5px !important;
      white-space:nowrap !important;
    }

    .booking-actions{
      display:grid !important;
      grid-template-columns:1fr auto !important;
      padding:0 14px 14px !important;
      gap:10px !important;
    }

    .booking-actions .btn{
      width:auto !important;
      padding:12px 14px !important;
      font-size:11px !important;
      text-align:center !important;
    }

    .pirts-news{
      margin:0 !important;
      overflow:hidden !important;
    }

    .news-head{
      display:flex !important;
      align-items:center !important;
      justify-content:space-between !important;
      padding:14px 16px 10px !important;
    }

    .news-head h4{
      font-size:28px !important;
      margin:2px 0 0 !important;
    }

    .news-head .btn{
      padding:10px 13px !important;
      font-size:10.5px !important;
    }

    .blog-grid{
      display:grid !important;
      grid-template-columns:repeat(3, minmax(0,1fr)) !important;
      gap:10px !important;
      padding:12px 14px 14px !important;
    }

    .blog-card{
      min-height:0 !important;
      border-radius:16px !important;
      overflow:hidden !important;
    }

    .blog-img{
      height:72px !important;
    }

    .blog-body{
      padding:10px !important;
      gap:6px !important;
    }

    .blog-date{
      font-size:9px !important;
      letter-spacing:.12em !important;
    }

    .blog-card h5{
      font-size:17px !important;
      line-height:1.05 !important;
    }

    .blog-card p{
      font-size:10.5px !important;
      line-height:1.42 !important;
      display:-webkit-box !important;
      -webkit-line-clamp:2 !important;
      -webkit-box-orient:vertical !important;
      overflow:hidden !important;
    }

    .blog-card a{
      font-size:10px !important;
      margin-top:2px !important;
    }

    @media (max-width:1399.98px){
      .bath-content.v13-pirts{
        grid-template-columns:1fr !important;
      }
      .pirts-right .clean-gallery-stage{
        height:390px !important;
        min-height:390px !important;
        max-height:390px !important;
      }
    }

    @media (max-width:767.98px){
      .booking-head,
      .news-head{
        flex-direction:column !important;
        align-items:flex-start !important;
      }
      .booking-legend{
        justify-content:flex-start !important;
        max-width:none !important;
      }
      .booking-actions{
        grid-template-columns:1fr !important;
      }
      .blog-grid{
        grid-template-columns:1fr !important;
      }
      .pirts-right .clean-gallery-stage{
        height:300px !important;
        min-height:300px !important;
        max-height:300px !important;
      }
    }


    /* v17: pirts section = left content/calendar/news, right compact lightbox gallery */
    .bath-content.v13-pirts{
      grid-template-columns:minmax(0, 1.02fr) minmax(380px, .98fr) !important;
      gap:22px !important;
      align-items:start !important;
    }

    .v13-pirts .bath-copy-panel{
      display:grid !important;
      gap:14px !important;
    }

    .v13-pirts .bath-copy-panel > .kicker,
    .v13-pirts .bath-copy-panel > h3,
    .v13-pirts .bath-copy-panel > p,
    .v13-pirts .bath-offer-badge,
    .v13-pirts .bath-grid,
    .v13-pirts .bath-meta,
    .v13-pirts .bath-package,
    .v13-pirts .bath-contact-strip,
    .v13-pirts .bath-copy-panel > .actions{
      margin:0 !important;
    }

    .v13-pirts .bath-copy-panel > h3{
      margin-top:-2px !important;
    }

    .pirts-right{
      display:block !important;
      align-self:start !important;
    }

    .pirts-right .clean-native-gallery{
      border-radius:22px !important;
      overflow:hidden !important;
      background:#fffdf9 !important;
      box-shadow:0 16px 36px rgba(90,58,20,.08) !important;
    }

    .pirts-right .clean-gallery-stage{
      height:430px !important;
      min-height:430px !important;
      max-height:430px !important;
      cursor:zoom-in !important;
    }

    .pirts-right .clean-gallery-thumbs{
      display:grid !important;
      grid-template-columns:repeat(6, minmax(0,1fr)) !important;
      gap:8px !important;
      padding:10px !important;
      overflow:visible !important;
      min-height:0 !important;
      background:linear-gradient(180deg,#fffdf9,#fbf3e7) !important;
    }

    .pirts-right .clean-gallery-thumb{
      width:100% !important;
      height:54px !important;
      flex:unset !important;
      border-radius:12px !important;
    }

    .booking-card{
      margin:0 !important;
      border-radius:22px !important;
    }

    .booking-head{
      padding:14px 16px 10px !important;
    }

    .booking-head h4{
      font-size:29px !important;
    }

    .calendar-grid{
      padding:10px 14px 12px !important;
    }

    .calendar-days,
    .calendar-dates{
      grid-template-columns:repeat(7, minmax(0,1fr)) !important;
      gap:6px !important;
    }

    .cal-date{
      min-height:42px !important;
      border-radius:11px !important;
      padding:6px !important;
    }

    .booking-actions{
      grid-template-columns:1fr auto !important;
      padding:0 14px 14px !important;
      gap:10px !important;
    }

    .pirts-news{
      margin:0 !important;
      border-radius:22px !important;
    }

    .news-head{
      padding:14px 16px 10px !important;
    }

    .news-head h4{
      font-size:29px !important;
    }

    .blog-grid{
      grid-template-columns:repeat(3,minmax(0,1fr)) !important;
      gap:10px !important;
      padding:12px 14px 14px !important;
    }

    .blog-card{
      min-height:0 !important;
      border-radius:15px !important;
    }

    .blog-img{
      height:68px !important;
    }

    .blog-body{
      padding:10px !important;
    }

    .blog-card h5{
      font-size:17px !important;
    }

    .blog-card p{
      font-size:10.5px !important;
      line-height:1.42 !important;
    }

    .pirts-lightbox{
      position:fixed;
      inset:0;
      z-index:160;
      display:none;
      align-items:center;
      justify-content:center;
      padding:24px;
      background:rgba(28,20,12,.78);
      backdrop-filter:blur(10px);
    }

    .pirts-lightbox.open{
      display:flex;
    }

    .pirts-lightbox-inner{
      position:relative;
      width:min(1100px, 94vw);
      max-height:90vh;
      border-radius:26px;
      overflow:hidden;
      background:#fffdf9;
      border:1px solid rgba(231,216,196,.55);
      box-shadow:0 40px 100px rgba(0,0,0,.38);
    }

    .pirts-lightbox-img{
      width:100%;
      max-height:82vh;
      object-fit:contain;
      background:#1f1711;
    }

    .pirts-lightbox-close{
      position:absolute;
      right:14px;
      top:14px;
      width:44px;
      height:44px;
      border-radius:50%;
      border:1px solid rgba(255,255,255,.34);
      background:rgba(31,23,17,.7);
      color:#fff;
      font-size:26px;
      cursor:pointer;
      display:grid;
      place-items:center;
    }

    .pirts-lightbox-nav{
      position:absolute;
      inset:0;
      pointer-events:none;
      display:flex;
      align-items:center;
      justify-content:space-between;
      padding:0 14px;
    }

    .pirts-lightbox-nav button{
      pointer-events:auto;
      width:44px;
      height:44px;
      border-radius:50%;
      border:1px solid rgba(255,255,255,.34);
      background:rgba(31,23,17,.68);
      color:#fff;
      font-size:26px;
      cursor:pointer;
    }

    @media (max-width:1399.98px){
      .bath-content.v13-pirts{
        grid-template-columns:1fr !important;
      }
      .pirts-right .clean-gallery-stage{
        height:390px !important;
        min-height:390px !important;
        max-height:390px !important;
      }
    }

    @media (max-width:767.98px){
      .pirts-right .clean-gallery-thumbs{
        grid-template-columns:repeat(3, minmax(0,1fr)) !important;
      }
      .pirts-right .clean-gallery-stage{
        height:300px !important;
        min-height:300px !important;
        max-height:300px !important;
      }
      .booking-actions{
        grid-template-columns:1fr !important;
      }
      .blog-grid{
        grid-template-columns:1fr !important;
      }
    }


    /* v18: pirts section single full-width content flow */
    .bath-content.v13-pirts{
      display:grid !important;
      grid-template-columns:1fr !important;
      gap:18px !important;
      align-items:start !important;
      padding:24px !important;
    }

    .v13-pirts .bath-copy-panel{
      width:100% !important;
      max-width:none !important;
      display:grid !important;
      grid-template-columns:1fr !important;
      gap:14px !important;
    }

    .v13-pirts .bath-copy-panel > .kicker,
    .v13-pirts .bath-copy-panel > h3,
    .v13-pirts .bath-copy-panel > p,
    .v13-pirts .bath-offer-badge,
    .v13-pirts .bath-grid,
    .v13-pirts .bath-meta,
    .v13-pirts .bath-package,
    .v13-pirts .bath-contact-strip,
    .v13-pirts .bath-copy-panel > .actions{
      max-width:100% !important;
    }

    .v13-pirts .bath-copy-panel > h3{
      max-width:760px !important;
    }

    .v13-pirts .bath-copy-panel > p{
      max-width:860px !important;
    }

    .v13-pirts .bath-grid{
      grid-template-columns:repeat(4, minmax(0,1fr)) !important;
    }

    .v13-pirts .bath-meta{
      grid-template-columns:repeat(2, minmax(0,1fr)) !important;
    }

    .v13-pirts .bath-package-grid{
      grid-template-columns:repeat(3, minmax(0,1fr)) !important;
    }

    .pirts-right{
      width:100% !important;
      display:grid !important;
      grid-template-columns:minmax(0,1.05fr) minmax(340px,.62fr) !important;
      gap:16px !important;
      align-items:start !important;
      grid-row:auto !important;
    }

    .pirts-right .clean-native-gallery{
      width:100% !important;
      margin:0 !important;
    }

    .pirts-right .clean-gallery-stage{
      height:400px !important;
      min-height:400px !important;
      max-height:400px !important;
    }

    .pirts-right .clean-gallery-thumbs{
      grid-template-columns:repeat(6, minmax(0,1fr)) !important;
    }

    .booking-card{
      width:100% !important;
      margin:0 !important;
      align-self:stretch !important;
    }

    .booking-head{
      padding:14px 16px 10px !important;
    }

    .calendar-grid{
      padding:10px 14px 12px !important;
    }

    .booking-actions{
      padding:0 14px 14px !important;
    }

    .pirts-news{
      width:100% !important;
      margin:0 !important;
      grid-column:1 / -1 !important;
      border-radius:22px !important;
    }

    .pirts-news .news-head{
      padding:16px 18px 10px !important;
    }

    .pirts-news .blog-grid{
      padding:12px 18px 18px !important;
      grid-template-columns:repeat(3, minmax(0,1fr)) !important;
      gap:14px !important;
    }

    .pirts-news .blog-card{
      min-height:175px !important;
    }

    .pirts-news .blog-img{
      height:86px !important;
    }

    @media (max-width:1199.98px){
      .v13-pirts .bath-grid,
      .v13-pirts .bath-package-grid{
        grid-template-columns:repeat(2, minmax(0,1fr)) !important;
      }
      .pirts-right{
        grid-template-columns:1fr !important;
      }
      .pirts-right .clean-gallery-stage{
        height:380px !important;
        min-height:380px !important;
        max-height:380px !important;
      }
    }

    @media (max-width:767.98px){
      .bath-content.v13-pirts{
        padding:18px !important;
      }
      .v13-pirts .bath-grid,
      .v13-pirts .bath-meta,
      .v13-pirts .bath-package-grid,
      .pirts-news .blog-grid{
        grid-template-columns:1fr !important;
      }
      .pirts-right .clean-gallery-thumbs{
        grid-template-columns:repeat(3, minmax(0,1fr)) !important;
      }
      .pirts-right .clean-gallery-stage{
        height:300px !important;
        min-height:300px !important;
        max-height:300px !important;
      }
    }


    /* v19: clean reconstructed pirts section, no duplicates */
    .bath-content.pirts-clean-section {
      display:grid !important;
      grid-template-columns:1fr !important;
      gap:18px !important;
      padding:24px !important;
      border-radius:24px !important;
      overflow:hidden !important;
    }

    .pirts-top-grid {
      display:grid !important;
      grid-template-columns:minmax(0, .98fr) minmax(420px, 1.02fr) !important;
      gap:22px !important;
      align-items:start !important;
    }

    .pirts-clean-section .bath-copy-panel {
      display:grid !important;
      gap:13px !important;
      padding:0 !important;
      align-self:start !important;
    }

    .pirts-clean-section .bath-copy-panel > * {
      margin-top:0 !important;
      margin-bottom:0 !important;
    }

    .pirts-clean-section .bath-copy-panel h3 {
      font-size:clamp(42px, 3.7vw, 56px) !important;
      line-height:.95 !important;
      max-width:720px !important;
    }

    .pirts-clean-section .bath-copy-panel > p {
      font-size:15px !important;
      line-height:1.62 !important;
      max-width:780px !important;
    }

    .pirts-clean-section .bath-grid {
      display:grid !important;
      grid-template-columns:repeat(2, minmax(0,1fr)) !important;
      gap:10px !important;
      margin:0 !important;
    }

    .pirts-clean-section .bath-item {
      min-height:82px !important;
      padding:12px 13px !important;
      display:flex !important;
      flex-direction:column !important;
      justify-content:center !important;
    }

    .pirts-clean-section .bath-item b {
      font-size:22px !important;
      margin:0 0 5px !important;
    }

    .pirts-clean-section .bath-item span {
      font-size:12.5px !important;
      line-height:1.42 !important;
    }

    .pirts-clean-section .bath-meta {
      display:grid !important;
      grid-template-columns:repeat(2, minmax(0,1fr)) !important;
      gap:10px !important;
      margin:0 !important;
    }

    .pirts-clean-section .bath-meta-row {
      padding:11px 12px !important;
      align-items:center !important;
    }

    .pirts-clean-section .bath-package {
      margin:0 !important;
      padding:15px !important;
      border-radius:20px !important;
    }

    .pirts-clean-section .bath-package h4 {
      font-size:29px !important;
      margin:0 0 12px !important;
    }

    .pirts-clean-section .bath-package-grid {
      display:grid !important;
      grid-template-columns:repeat(2, minmax(0,1fr)) !important;
      gap:8px !important;
    }

    .pirts-clean-section .bath-package-item {
      padding:10px !important;
      font-size:12.5px !important;
      align-items:center !important;
    }

    .pirts-clean-section .bath-contact-strip {
      margin:0 !important;
      gap:10px !important;
    }

    .pirts-clean-section .actions {
      display:flex !important;
      gap:12px !important;
      flex-wrap:wrap !important;
      margin:0 !important;
    }

    .pirts-gallery-panel {
      align-self:start !important;
      min-width:0 !important;
    }

    .pirts-gallery-panel .clean-native-gallery {
      margin:0 !important;
      border-radius:22px !important;
      overflow:hidden !important;
      box-shadow:0 16px 36px rgba(90,58,20,.08) !important;
    }

    .pirts-gallery-panel .clean-gallery-stage {
      height:390px !important;
      min-height:390px !important;
      max-height:390px !important;
      cursor:zoom-in !important;
    }

    .pirts-gallery-panel .clean-gallery-thumbs {
      display:grid !important;
      grid-template-columns:repeat(6, minmax(0,1fr)) !important;
      gap:8px !important;
      padding:10px !important;
      overflow:visible !important;
      min-height:0 !important;
    }

    .pirts-gallery-panel .clean-gallery-thumb {
      width:100% !important;
      height:54px !important;
      flex:unset !important;
      border-radius:12px !important;
    }

    .pirts-bottom-grid {
      display:grid !important;
      grid-template-columns:minmax(360px, .42fr) minmax(0, .58fr) !important;
      gap:16px !important;
      align-items:stretch !important;
    }

    .pirts-clean-section .booking-card,
    .pirts-clean-section .pirts-news {
      margin:0 !important;
      border-radius:22px !important;
      overflow:hidden !important;
      box-shadow:0 12px 30px rgba(90,58,20,.07) !important;
    }

    .pirts-clean-section .booking-head,
    .pirts-clean-section .news-head {
      padding:14px 16px 10px !important;
      align-items:flex-start !important;
    }

    .pirts-clean-section .booking-head h4,
    .pirts-clean-section .news-head h4 {
      font-size:29px !important;
      margin:2px 0 0 !important;
    }

    .pirts-clean-section .calendar-grid {
      padding:10px 14px 12px !important;
      gap:6px !important;
    }

    .pirts-clean-section .calendar-days,
    .pirts-clean-section .calendar-dates {
      grid-template-columns:repeat(7, minmax(0,1fr)) !important;
      gap:6px !important;
    }

    .pirts-clean-section .cal-date {
      min-height:42px !important;
      padding:6px !important;
      border-radius:10px !important;
      font-size:11px !important;
    }

    .pirts-clean-section .cal-date small {
      font-size:8.5px !important;
    }

    .pirts-clean-section .booking-actions {
      display:grid !important;
      grid-template-columns:1fr auto !important;
      gap:10px !important;
      padding:0 14px 14px !important;
    }

    .pirts-clean-section .booking-actions .btn {
      padding:12px 14px !important;
      font-size:11px !important;
      width:auto !important;
    }

    .pirts-clean-section .blog-grid {
      display:grid !important;
      grid-template-columns:repeat(3, minmax(0,1fr)) !important;
      gap:10px !important;
      padding:12px 14px 14px !important;
    }

    .pirts-clean-section .blog-card {
      min-height:0 !important;
      border-radius:16px !important;
      overflow:hidden !important;
    }

    .pirts-clean-section .blog-img {
      height:76px !important;
    }

    .pirts-clean-section .blog-body {
      padding:10px !important;
      gap:6px !important;
    }

    .pirts-clean-section .blog-card h5 {
      font-size:17px !important;
      line-height:1.05 !important;
    }

    .pirts-clean-section .blog-card p {
      font-size:10.5px !important;
      line-height:1.42 !important;
      display:-webkit-box !important;
      -webkit-line-clamp:2 !important;
      -webkit-box-orient:vertical !important;
      overflow:hidden !important;
    }

    @media (max-width:1199.98px) {
      .pirts-top-grid,
      .pirts-bottom-grid {
        grid-template-columns:1fr !important;
      }

      .pirts-gallery-panel .clean-gallery-stage {
        height:380px !important;
        min-height:380px !important;
        max-height:380px !important;
      }
    }

    @media (max-width:767.98px) {
      .bath-content.pirts-clean-section {
        padding:18px !important;
      }

      .pirts-clean-section .bath-grid,
      .pirts-clean-section .bath-meta,
      .pirts-clean-section .bath-package-grid,
      .pirts-clean-section .blog-grid {
        grid-template-columns:1fr !important;
      }

      .pirts-gallery-panel .clean-gallery-stage {
        height:300px !important;
        min-height:300px !important;
        max-height:300px !important;
      }

      .pirts-gallery-panel .clean-gallery-thumbs {
        grid-template-columns:repeat(3, minmax(0,1fr)) !important;
      }

      .pirts-clean-section .booking-actions {
        grid-template-columns:1fr !important;
      }
    }


    /* v20: pirts right column filled with gallery + calendar; location icon refined */
    .pirts-top-grid{
      grid-template-columns:minmax(0, .96fr) minmax(420px, 1.04fr) !important;
      align-items:start !important;
      gap:22px !important;
    }

    .pirts-gallery-panel{
      display:grid !important;
      grid-template-columns:1fr !important;
      gap:14px !important;
      align-self:stretch !important;
    }

    .pirts-gallery-panel .clean-native-gallery{
      align-self:start !important;
    }

    .pirts-gallery-panel .clean-gallery-stage{
      height:340px !important;
      min-height:340px !important;
      max-height:340px !important;
    }

    .pirts-gallery-panel .clean-gallery-thumbs{
      grid-template-columns:repeat(6,minmax(0,1fr)) !important;
      gap:8px !important;
      padding:10px !important;
    }

    .pirts-gallery-panel .clean-gallery-thumb{
      height:50px !important;
    }

    .pirts-gallery-panel .booking-card{
      width:100% !important;
      margin:0 !important;
    }

    .pirts-gallery-panel .booking-head{
      display:flex !important;
      align-items:flex-start !important;
      justify-content:space-between !important;
      gap:12px !important;
      padding:14px 16px 10px !important;
    }

    .pirts-gallery-panel .booking-legend{
      justify-content:flex-end !important;
      max-width:220px !important;
      margin-top:0 !important;
    }

    .pirts-gallery-panel .calendar-grid{
      padding:10px 14px 12px !important;
    }

    .pirts-gallery-panel .calendar-days,
    .pirts-gallery-panel .calendar-dates{
      gap:6px !important;
    }

    .pirts-gallery-panel .cal-date{
      min-height:40px !important;
      padding:5px 6px !important;
    }

    .pirts-gallery-panel .booking-actions{
      display:flex !important;
      align-items:center !important;
      justify-content:flex-start !important;
      gap:10px !important;
      padding:0 14px 14px !important;
    }

    .pirts-gallery-panel .booking-actions .btn:first-child{
      flex:1 1 auto !important;
      text-align:center !important;
    }

    .pirts-gallery-panel .booking-actions .btn-outline{
      flex:0 0 auto !important;
    }

    .pirts-bottom-grid{
      grid-template-columns:1fr !important;
      gap:0 !important;
    }

    .pirts-bottom-grid .booking-card{
      display:none !important;
    }

    .pirts-bottom-grid .pirts-news{
      width:100% !important;
      margin-top:0 !important;
    }

    .bath-contact-pill .location-pin,
    .footer-item .location-pin{
      width:18px;
      height:18px;
      flex:none;
      display:inline-block;
      position:relative;
      margin-right:2px;
    }

    .bath-contact-pill .location-pin:before,
    .footer-item .location-pin:before{
      content:"";
      position:absolute;
      left:4px;
      top:1px;
      width:10px;
      height:10px;
      border:2px solid currentColor;
      border-radius:50% 50% 50% 0;
      transform:rotate(-45deg);
    }

    .bath-contact-pill .location-pin:after,
    .footer-item .location-pin:after{
      content:"";
      position:absolute;
      left:8px;
      top:5px;
      width:4px;
      height:4px;
      border-radius:50%;
      background:currentColor;
    }

    .bath-contact-pill .footer-icon,
    .footer-item .footer-icon{
      color:var(--gold-2) !important;
    }

    @media (max-width:1199.98px){
      .pirts-top-grid{
        grid-template-columns:1fr !important;
      }
      .pirts-gallery-panel .clean-gallery-stage{
        height:380px !important;
        min-height:380px !important;
        max-height:380px !important;
      }
    }

    @media (max-width:767.98px){
      .pirts-gallery-panel .booking-head{
        flex-direction:column !important;
      }
      .pirts-gallery-panel .booking-legend{
        justify-content:flex-start !important;
        max-width:none !important;
      }
      .pirts-gallery-panel .booking-actions{
        display:grid !important;
        grid-template-columns:1fr !important;
      }
      .pirts-gallery-panel .clean-gallery-stage{
        height:300px !important;
        min-height:300px !important;
        max-height:300px !important;
      }
    }


    /* v21 definitive pirts alignment fix */
    .bath-content.pirts-v21 {
      display:grid !important;
      grid-template-columns:1fr !important;
      gap:18px !important;
      padding:24px !important;
      border-radius:24px !important;
      overflow:hidden !important;
    }

    .pirts-v21-main {
      display:grid !important;
      grid-template-columns:minmax(0,.98fr) minmax(420px,1.02fr) !important;
      gap:22px !important;
      align-items:start !important;
    }

    .pirts-v21 .bath-copy-panel {
      display:grid !important;
      gap:13px !important;
      padding:0 !important;
      align-self:start !important;
    }

    .pirts-v21 .bath-copy-panel > * {
      margin-top:0 !important;
      margin-bottom:0 !important;
    }

    .pirts-v21 .bath-copy-panel h3 {
      font-size:clamp(42px,3.7vw,56px) !important;
      line-height:.95 !important;
      max-width:720px !important;
    }

    .pirts-v21 .bath-copy-panel > p {
      font-size:15px !important;
      line-height:1.62 !important;
      max-width:780px !important;
    }

    .pirts-v21 .bath-grid {
      display:grid !important;
      grid-template-columns:repeat(2,minmax(0,1fr)) !important;
      gap:10px !important;
      margin:0 !important;
    }

    .pirts-v21 .bath-item {
      min-height:82px !important;
      padding:12px 13px !important;
      display:flex !important;
      flex-direction:column !important;
      justify-content:center !important;
    }

    .pirts-v21 .bath-item b {
      font-size:22px !important;
      margin:0 0 5px !important;
    }

    .pirts-v21 .bath-item span {
      font-size:12.5px !important;
      line-height:1.42 !important;
    }

    .pirts-v21 .bath-meta {
      display:grid !important;
      grid-template-columns:repeat(2,minmax(0,1fr)) !important;
      gap:10px !important;
      margin:0 !important;
    }

    .pirts-v21 .bath-meta-row {
      padding:11px 12px !important;
      align-items:center !important;
    }

    .pirts-v21 .bath-package {
      margin:0 !important;
      padding:15px !important;
      border-radius:20px !important;
    }

    .pirts-v21 .bath-package h4 {
      font-size:29px !important;
      margin:0 0 12px !important;
    }

    .pirts-v21 .bath-package-grid {
      display:grid !important;
      grid-template-columns:repeat(2,minmax(0,1fr)) !important;
      gap:8px !important;
    }

    .pirts-v21 .bath-package-item {
      padding:10px !important;
      font-size:12.5px !important;
      align-items:center !important;
    }

    .pirts-v21 .bath-contact-strip {
      margin:0 !important;
      gap:10px !important;
    }

    .pirts-v21 .actions {
      display:flex !important;
      gap:12px !important;
      flex-wrap:wrap !important;
      margin:0 !important;
    }

    .pirts-v21-side {
      display:grid !important;
      grid-template-columns:1fr !important;
      gap:14px !important;
      align-self:start !important;
      min-width:0 !important;
    }

    .pirts-v21-side .clean-native-gallery,
    .pirts-v21-side .booking-card,
    .pirts-v21 .pirts-news {
      margin:0 !important;
      border-radius:22px !important;
      overflow:hidden !important;
      box-shadow:0 14px 34px rgba(90,58,20,.075) !important;
    }

    .pirts-v21-side .clean-gallery-stage {
      height:340px !important;
      min-height:340px !important;
      max-height:340px !important;
      cursor:zoom-in !important;
    }

    .pirts-v21-side .clean-gallery-thumbs {
      display:grid !important;
      grid-template-columns:repeat(6,minmax(0,1fr)) !important;
      gap:8px !important;
      padding:10px !important;
      overflow:visible !important;
      min-height:0 !important;
    }

    .pirts-v21-side .clean-gallery-thumb {
      width:100% !important;
      height:50px !important;
      flex:unset !important;
      border-radius:12px !important;
    }

    .pirts-v21-side .booking-head,
    .pirts-v21 .news-head {
      padding:14px 16px 10px !important;
      align-items:flex-start !important;
    }

    .pirts-v21-side .booking-head h4,
    .pirts-v21 .news-head h4 {
      font-size:29px !important;
      margin:2px 0 0 !important;
    }

    .pirts-v21-side .booking-legend {
      justify-content:flex-end !important;
      max-width:220px !important;
      margin-top:0 !important;
    }

    .pirts-v21-side .calendar-grid {
      padding:10px 14px 12px !important;
      gap:6px !important;
    }

    .pirts-v21-side .calendar-days,
    .pirts-v21-side .calendar-dates {
      grid-template-columns:repeat(7,minmax(0,1fr)) !important;
      gap:6px !important;
    }

    .pirts-v21-side .cal-date {
      min-height:40px !important;
      padding:5px 6px !important;
      border-radius:10px !important;
      font-size:11px !important;
    }

    .pirts-v21-side .cal-date small {
      font-size:8.5px !important;
    }

    .pirts-v21-side .booking-actions {
      display:flex !important;
      align-items:center !important;
      gap:10px !important;
      padding:0 14px 14px !important;
    }

    .pirts-v21-side .booking-actions .btn:first-child {
      flex:1 1 auto !important;
      text-align:center !important;
    }

    .pirts-v21 .pirts-news {
      width:100% !important;
    }

    .pirts-v21 .blog-grid {
      display:grid !important;
      grid-template-columns:repeat(3,minmax(0,1fr)) !important;
      gap:10px !important;
      padding:12px 14px 14px !important;
    }

    .pirts-v21 .blog-card {
      min-height:0 !important;
      border-radius:16px !important;
      overflow:hidden !important;
    }

    .pirts-v21 .blog-img {
      height:76px !important;
    }

    .pirts-v21 .blog-body {
      padding:10px !important;
      gap:6px !important;
    }

    .pirts-v21 .blog-card h5 {
      font-size:17px !important;
      line-height:1.05 !important;
    }

    .pirts-v21 .blog-card p {
      font-size:10.5px !important;
      line-height:1.42 !important;
      display:-webkit-box !important;
      -webkit-line-clamp:2 !important;
      -webkit-box-orient:vertical !important;
      overflow:hidden !important;
    }

    @media (max-width:1199.98px) {
      .pirts-v21-main {
        grid-template-columns:1fr !important;
      }

      .pirts-v21-side .clean-gallery-stage {
        height:380px !important;
        min-height:380px !important;
        max-height:380px !important;
      }
    }

    @media (max-width:767.98px) {
      .bath-content.pirts-v21 {
        padding:18px !important;
      }

      .pirts-v21 .bath-grid,
      .pirts-v21 .bath-meta,
      .pirts-v21 .bath-package-grid,
      .pirts-v21 .blog-grid {
        grid-template-columns:1fr !important;
      }

      .pirts-v21-side .clean-gallery-stage {
        height:300px !important;
        min-height:300px !important;
        max-height:300px !important;
      }

      .pirts-v21-side .clean-gallery-thumbs {
        grid-template-columns:repeat(3,minmax(0,1fr)) !important;
      }

      .pirts-v21-side .booking-head {
        flex-direction:column !important;
      }

      .pirts-v21-side .booking-legend {
        justify-content:flex-start !important;
        max-width:none !important;
      }

      .pirts-v21-side .booking-actions {
        display:grid !important;
        grid-template-columns:1fr !important;
      }
    }


    /* v22: move pirts contact + CTA buttons under calendar/right side */
    .pirts-v21 .bath-copy-panel .bath-contact-strip,
    .pirts-v21 .bath-copy-panel > .actions {
      display:none !important;
    }

    .pirts-side-actions {
      display:grid;
      gap:12px;
      padding:0;
      margin:0;
    }

    .pirts-side-actions .bath-contact-strip {
      display:grid !important;
      grid-template-columns:1fr 1fr;
      gap:12px;
      margin:0 !important;
    }

    .pirts-side-actions .bath-contact-pill {
      width:100%;
      min-height:58px;
      justify-content:flex-start;
      margin:0 !important;
    }

    .pirts-side-actions .actions {
      display:grid !important;
      grid-template-columns:1fr 1fr;
      gap:12px;
      margin:0 !important;
    }

    .pirts-side-actions .actions .btn {
      width:100%;
      text-align:center;
      justify-content:center;
      display:inline-flex;
      align-items:center;
    }

    .pirts-v21-side {
      align-content:start !important;
    }

    .pirts-v21-side .booking-card {
      margin:0 !important;
    }

    @media (max-width:767.98px) {
      .pirts-side-actions .bath-contact-strip,
      .pirts-side-actions .actions {
        grid-template-columns:1fr;
      }
    }


    /* v23 polish: icons, readable prices, full-width pirts content, map spacing */
    .panel .icon,
    .bath-meta-icon,
    .footer-icon,
    .contact-item .mini,
    .bath-package-item .dot,
    .bath-offer-badge .star {
      background:linear-gradient(180deg,#fff8ea,#ecd3aa) !important;
      color:var(--gold-2) !important;
      border:1px solid rgba(199,139,58,.34) !important;
      box-shadow:0 8px 18px rgba(199,139,58,.12) !important;
    }

    .bath-package-item .dot,
    .bath-offer-badge .star {
      background:var(--gold) !important;
      color:#fff !important;
      border-color:var(--gold) !important;
      box-shadow:0 8px 18px rgba(199,139,58,.18) !important;
    }

    .bath-offer-badge {
      display:inline-flex !important;
      align-items:center !important;
      gap:10px !important;
      line-height:1 !important;
      width:max-content !important;
      padding:11px 18px !important;
    }

    .bath-offer-badge .star {
      width:24px !important;
      height:24px !important;
      min-width:24px !important;
      display:inline-grid !important;
      place-items:center !important;
      font-size:12px !important;
      line-height:1 !important;
      margin:0 !important;
      transform:none !important;
    }

    .panel .icon:has(.location-pin),
    .contact-item .mini:has(.location-pin),
    .footer-icon:has(.location-pin) {
      display:grid !important;
      place-items:center !important;
    }

    .location-pin {
      margin:0 !important;
      transform:translateY(0) !important;
    }

    .location-pin:before {
      left:3px !important;
      top:0 !important;
      width:11px !important;
      height:11px !important;
      border-width:2px !important;
    }

    .location-pin:after {
      left:7px !important;
      top:4px !important;
      width:4px !important;
      height:4px !important;
    }

    .bath-item b,
    .web-stat b,
    .prices b {
      font-family:Inter, system-ui, -apple-system, Segoe UI, sans-serif !important;
      font-weight:800 !important;
      letter-spacing:-.02em !important;
      line-height:1.15 !important;
    }

    .bath-item b {
      font-size:20px !important;
    }

    .bath-item:first-child b {
      font-size:19px !important;
      white-space:nowrap !important;
    }

    .pirts-v21-main {
      grid-template-columns:1fr !important;
      gap:18px !important;
    }

    .bath-content.pirts-v21 {
      padding:28px !important;
      gap:20px !important;
    }

    .pirts-v21 .bath-copy-panel {
      display:grid !important;
      grid-template-columns:1.02fr .98fr !important;
      gap:18px 22px !important;
      align-items:start !important;
    }

    .pirts-v21 .bath-copy-panel > .kicker,
    .pirts-v21 .bath-copy-panel > h3,
    .pirts-v21 .bath-copy-panel > p,
    .pirts-v21 .bath-offer-badge {
      grid-column:1 / -1 !important;
    }

    .pirts-v21 .bath-copy-panel > h3 {
      max-width:100% !important;
      font-size:clamp(42px,4.1vw,64px) !important;
    }

    .pirts-v21 .bath-copy-panel > p {
      max-width:980px !important;
      font-size:16px !important;
    }

    .pirts-v21 .bath-grid {
      grid-column:1 / 2 !important;
      grid-template-columns:repeat(2,minmax(0,1fr)) !important;
      align-self:start !important;
    }

    .pirts-v21 .bath-meta {
      grid-column:2 / 3 !important;
      grid-template-columns:1fr !important;
      align-self:start !important;
    }

    .pirts-v21 .bath-package {
      grid-column:1 / -1 !important;
      padding:18px !important;
    }

    .pirts-v21 .bath-package-grid {
      grid-template-columns:repeat(3,minmax(0,1fr)) !important;
      gap:10px !important;
    }

    .pirts-v21-side {
      display:grid !important;
      grid-template-columns:minmax(0,1fr) minmax(360px,.62fr) !important;
      gap:16px !important;
      align-items:start !important;
    }

    .pirts-v21-side .clean-native-gallery {
      grid-row:1 / span 2 !important;
      height:100% !important;
    }

    .pirts-v21-side .clean-gallery-stage {
      height:430px !important;
      min-height:430px !important;
      max-height:430px !important;
    }

    .pirts-v21-side .booking-card {
      grid-column:2 !important;
      grid-row:1 !important;
    }

    .pirts-side-actions {
      grid-column:2 !important;
      grid-row:2 !important;
      align-self:start !important;
    }

    .pirts-v21 .pirts-news {
      margin-top:2px !important;
    }

    .map-section {
      padding-bottom:32px !important;
      margin-bottom:22px !important;
    }

    .map-wrap {
      margin-bottom:22px !important;
    }

    .map-box {
      bottom:auto !important;
      top:34px !important;
      margin-bottom:24px !important;
    }

    footer {
      margin-top:10px !important;
    }

    @media (max-width:1199.98px) {
      .pirts-v21 .bath-copy-panel,
      .pirts-v21-side {
        grid-template-columns:1fr !important;
      }

      .pirts-v21 .bath-grid,
      .pirts-v21 .bath-meta,
      .pirts-v21 .bath-package {
        grid-column:1 / -1 !important;
      }

      .pirts-v21 .bath-meta {
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
      }

      .pirts-v21-side .clean-native-gallery,
      .pirts-v21-side .booking-card,
      .pirts-side-actions {
        grid-column:1 !important;
        grid-row:auto !important;
      }
    }

    @media (max-width:767.98px) {
      .pirts-v21 .bath-grid,
      .pirts-v21 .bath-meta,
      .pirts-v21 .bath-package-grid {
        grid-template-columns:1fr !important;
      }

      .bath-item:first-child b {
        white-space:normal !important;
      }

      .pirts-v21-side .clean-gallery-stage {
        height:300px !important;
        min-height:300px !important;
        max-height:300px !important;
      }

      .map-section {
        padding-bottom:20px !important;
      }
    }


    /* v24 final icon + pirts full-width flow fixes */
    .gold-svg-icon {
      width:20px;
      height:20px;
      display:block;
      color:var(--gold-2);
      fill:none;
      stroke:currentColor;
      stroke-width:2;
      stroke-linecap:round;
      stroke-linejoin:round;
    }
    .gold-svg-icon circle[fill],
    .gold-svg-icon path[fill] {
      fill:none;
    }
    .panel .icon,
    .bath-meta-icon,
    .footer-icon,
    .contact-item .mini {
      display:grid !important;
      place-items:center !important;
      color:var(--gold-2) !important;
      background:linear-gradient(180deg,#fff8ea,#ecd3aa) !important;
      border:1px solid rgba(199,139,58,.36) !important;
    }
    .bath-meta-icon .gold-svg-icon,
    .footer-icon .gold-svg-icon,
    .contact-item .mini .gold-svg-icon,
    .panel .icon .gold-svg-icon {
      width:19px !important;
      height:19px !important;
      margin:0 !important;
    }

    /* Make Bauskas 63 pirts zona read as full-width content, not left/right card grid */
    .bath-content.pirts-v21 {
      display:block !important;
      padding:30px !important;
    }
    .pirts-v21-main {
      display:block !important;
    }
    .pirts-v21 .bath-copy-panel {
      display:block !important;
      width:100% !important;
      max-width:none !important;
    }
    .pirts-v21 .bath-copy-panel > .kicker,
    .pirts-v21 .bath-copy-panel > h3,
    .pirts-v21 .bath-copy-panel > p,
    .pirts-v21 .bath-offer-badge {
      display:block;
    }
    .pirts-v21 .bath-copy-panel > h3 {
      max-width:980px !important;
      margin:8px 0 14px !important;
    }
    .pirts-v21 .bath-copy-panel > p {
      max-width:1000px !important;
      margin:0 0 18px !important;
    }
    .pirts-v21 .bath-offer-badge {
      display:inline-flex !important;
      margin:0 0 18px !important;
    }
    .pirts-v21 .bath-grid {
      display:grid !important;
      grid-template-columns:repeat(4,minmax(0,1fr)) !important;
      gap:12px !important;
      margin:0 0 14px !important;
    }
    .pirts-v21 .bath-meta {
      display:grid !important;
      grid-template-columns:repeat(2,minmax(0,1fr)) !important;
      gap:12px !important;
      margin:0 0 14px !important;
    }
    .pirts-v21 .bath-package {
      margin:0 0 16px !important;
    }
    .pirts-v21 .bath-package-grid {
      grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    }

    /* Media + booking use full row under the content */
    .pirts-v21-side {
      display:grid !important;
      grid-template-columns:minmax(0,1.08fr) minmax(360px,.72fr) !important;
      gap:18px !important;
      margin-top:18px !important;
      align-items:start !important;
    }
    .pirts-v21-side .clean-native-gallery {
      grid-column:1 !important;
      grid-row:1 / span 2 !important;
    }
    .pirts-v21-side .clean-gallery-stage {
      height:420px !important;
      min-height:420px !important;
      max-height:420px !important;
    }
    .pirts-v21-side .booking-card {
      grid-column:2 !important;
      grid-row:1 !important;
    }
    .pirts-side-actions {
      grid-column:2 !important;
      grid-row:2 !important;
    }
    .pirts-v21 .pirts-news {
      margin-top:18px !important;
    }

    /* Map box/footer visibility spacing */
    .map-section {
      padding-bottom:56px !important;
      margin-bottom:38px !important;
    }
    .map-wrap {
      min-height:520px !important;
      margin-bottom:36px !important;
    }
    .map-wrap iframe {
      height:520px !important;
    }
    .map-box {
      top:40px !important;
      bottom:auto !important;
    }

    @media (max-width:1199.98px) {
      .pirts-v21 .bath-grid {
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
      }
      .pirts-v21 .bath-package-grid {
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
      }
      .pirts-v21-side {
        grid-template-columns:1fr !important;
      }
      .pirts-v21-side .clean-native-gallery,
      .pirts-v21-side .booking-card,
      .pirts-side-actions {
        grid-column:1 !important;
        grid-row:auto !important;
      }
      .pirts-v21-side .clean-gallery-stage {
        height:380px !important;
        min-height:380px !important;
        max-height:380px !important;
      }
    }
    @media (max-width:767.98px) {
      .bath-content.pirts-v21 {
        padding:20px !important;
      }
      .pirts-v21 .bath-grid,
      .pirts-v21 .bath-meta,
      .pirts-v21 .bath-package-grid {
        grid-template-columns:1fr !important;
      }
      .pirts-v21-side .clean-gallery-stage {
        height:300px !important;
        min-height:300px !important;
        max-height:300px !important;
      }
      .map-wrap {
        min-height:620px !important;
      }
      .map-wrap iframe {
        height:360px !important;
      }
    }


    /* v25: make Bauskas 63 · pirts zona fluid/full-width like map */
    .bath-section {
      width:100vw !important;
      max-width:none !important;
      margin-left:calc(50% - 50vw) !important;
      margin-right:calc(50% - 50vw) !important;
      padding:54px 0 82px !important;
      background:
        radial-gradient(circle at 10% 10%, rgba(199,139,58,.10), transparent 34rem),
        radial-gradient(circle at 88% 20%, rgba(199,139,58,.08), transparent 30rem),
        linear-gradient(180deg, rgba(255,253,249,.10), rgba(247,238,223,.58)) !important;
      border-top:1px solid rgba(231,216,196,.65);
      border-bottom:1px solid rgba(231,216,196,.65);
    }

    .bath-section .bath-wrap {
      width:min(1760px, calc(100vw - 64px)) !important;
      max-width:none !important;
      margin-left:auto !important;
      margin-right:auto !important;
    }

    .bath-content.pirts-v21 {
      width:100% !important;
      max-width:none !important;
      padding:34px !important;
      border-radius:30px !important;
      background:rgba(255,253,249,.92) !important;
      box-shadow:0 28px 72px rgba(88,58,20,.12) !important;
    }

    .pirts-v21 .bath-copy-panel > h3 {
      max-width:1180px !important;
      font-size:clamp(48px, 4.6vw, 78px) !important;
    }

    .pirts-v21 .bath-copy-panel > p {
      max-width:1180px !important;
      font-size:17px !important;
    }

    .pirts-v21 .bath-grid {
      grid-template-columns:repeat(4, minmax(0,1fr)) !important;
      gap:14px !important;
    }

    .pirts-v21 .bath-meta {
      grid-template-columns:repeat(2, minmax(0,1fr)) !important;
      gap:14px !important;
    }

    .pirts-v21 .bath-package-grid {
      grid-template-columns:repeat(6, minmax(0,1fr)) !important;
      gap:10px !important;
    }

    .pirts-v21-side {
      grid-template-columns:minmax(0, 1.15fr) minmax(420px, .72fr) !important;
      gap:22px !important;
      margin-top:22px !important;
    }

    .pirts-v21-side .clean-gallery-stage {
      height:500px !important;
      min-height:500px !important;
      max-height:500px !important;
    }

    .pirts-v21-side .clean-gallery-thumb {
      height:64px !important;
    }

    .pirts-v21 .pirts-news {
      margin-top:22px !important;
    }

    .pirts-v21 .blog-grid {
      grid-template-columns:repeat(3, minmax(0,1fr)) !important;
      gap:16px !important;
    }

    .pirts-v21 .blog-img {
      height:110px !important;
    }

    @media (max-width:1399.98px) {
      .bath-section .bath-wrap {
        width:min(1280px, calc(100vw - 48px)) !important;
      }
      .pirts-v21 .bath-package-grid {
        grid-template-columns:repeat(3, minmax(0,1fr)) !important;
      }
      .pirts-v21-side {
        grid-template-columns:minmax(0,1fr) minmax(360px,.70fr) !important;
      }
      .pirts-v21-side .clean-gallery-stage {
        height:420px !important;
        min-height:420px !important;
        max-height:420px !important;
      }
    }

    @media (max-width:1199.98px) {
      .bath-section .bath-wrap {
        width:min(960px, calc(100vw - 36px)) !important;
      }
      .pirts-v21 .bath-grid,
      .pirts-v21 .bath-meta {
        grid-template-columns:repeat(2, minmax(0,1fr)) !important;
      }
      .pirts-v21 .bath-package-grid {
        grid-template-columns:repeat(2, minmax(0,1fr)) !important;
      }
      .pirts-v21-side {
        grid-template-columns:1fr !important;
      }
      .pirts-v21-side .clean-gallery-stage {
        height:380px !important;
        min-height:380px !important;
        max-height:380px !important;
      }
    }

    @media (max-width:767.98px) {
      .bath-section {
        padding:40px 0 56px !important;
      }
      .bath-section .bath-wrap {
        width:calc(100vw - 28px) !important;
      }
      .bath-content.pirts-v21 {
        padding:20px !important;
        border-radius:24px !important;
      }
      .pirts-v21 .bath-grid,
      .pirts-v21 .bath-meta,
      .pirts-v21 .bath-package-grid,
      .pirts-v21 .blog-grid {
        grid-template-columns:1fr !important;
      }
      .pirts-v21-side .clean-gallery-stage {
        height:300px !important;
        min-height:300px !important;
        max-height:300px !important;
      }
    }


    /* v26: return pirts section to clean grid/container size */
    .bath-section {
      width:auto !important;
      max-width:none !important;
      margin-left:0 !important;
      margin-right:0 !important;
      padding:28px 0 76px !important;
      background:linear-gradient(180deg, rgba(255,253,249,0), rgba(247,238,223,.46)) !important;
      border-top:0 !important;
      border-bottom:0 !important;
    }

    .bath-section .bath-wrap {
      width:var(--container) !important;
      max-width:var(--container) !important;
      margin-left:auto !important;
      margin-right:auto !important;
    }

    .bath-content.pirts-v21 {
      padding:26px !important;
      border-radius:24px !important;
      background:rgba(255,253,249,.92) !important;
      box-shadow:0 22px 52px rgba(88,58,20,.10) !important;
    }

    .pirts-v21 .bath-copy-panel > h3 {
      max-width:780px !important;
      font-size:clamp(42px,3.7vw,56px) !important;
    }

    .pirts-v21 .bath-copy-panel > p {
      max-width:860px !important;
      font-size:15px !important;
      line-height:1.62 !important;
    }

    .pirts-v21 .bath-grid {
      grid-template-columns:repeat(4, minmax(0,1fr)) !important;
      gap:12px !important;
    }

    .pirts-v21 .bath-meta {
      grid-template-columns:repeat(2, minmax(0,1fr)) !important;
      gap:12px !important;
    }

    .pirts-v21 .bath-package-grid {
      grid-template-columns:repeat(3, minmax(0,1fr)) !important;
      gap:10px !important;
    }

    .pirts-v21-side {
      grid-template-columns:minmax(0,1.08fr) minmax(360px,.72fr) !important;
      gap:18px !important;
      margin-top:18px !important;
    }

    .pirts-v21-side .clean-gallery-stage {
      height:420px !important;
      min-height:420px !important;
      max-height:420px !important;
    }

    .pirts-v21-side .clean-gallery-thumb {
      height:54px !important;
    }

    .pirts-v21 .pirts-news {
      margin-top:18px !important;
    }

    .pirts-v21 .blog-grid {
      grid-template-columns:repeat(3, minmax(0,1fr)) !important;
      gap:12px !important;
    }

    .pirts-v21 .blog-img {
      height:82px !important;
    }

    @media (max-width:1199.98px) {
      .bath-section .bath-wrap {
        width:var(--container) !important;
        max-width:var(--container) !important;
      }
      .pirts-v21 .bath-grid,
      .pirts-v21 .bath-meta,
      .pirts-v21 .bath-package-grid {
        grid-template-columns:repeat(2, minmax(0,1fr)) !important;
      }
      .pirts-v21-side {
        grid-template-columns:1fr !important;
      }
      .pirts-v21-side .clean-gallery-stage {
        height:380px !important;
        min-height:380px !important;
        max-height:380px !important;
      }
    }

    @media (max-width:767.98px) {
      .bath-section {
        padding:24px 0 54px !important;
      }
      .bath-content.pirts-v21 {
        padding:18px !important;
      }
      .pirts-v21 .bath-grid,
      .pirts-v21 .bath-meta,
      .pirts-v21 .bath-package-grid,
      .pirts-v21 .blog-grid {
        grid-template-columns:1fr !important;
      }
      .pirts-v21-side .clean-gallery-stage {
        height:300px !important;
        min-height:300px !important;
        max-height:300px !important;
      }
    }


    /* v27: compact footer/map spacing + icon centering polish */
    .map-section {
      padding-top:12px !important;
      padding-bottom:0 !important;
      margin-bottom:0 !important;
    }

    .map-wrap {
      min-height:420px !important;
      margin-bottom:0 !important;
      border-bottom:1px solid var(--line) !important;
    }

    .map-wrap iframe {
      height:420px !important;
      display:block !important;
    }

    .map-box {
      top:28px !important;
      bottom:auto !important;
      margin:0 !important;
      padding:22px 20px !important;
    }

    .map-box h3 {
      margin:6px 0 8px !important;
    }

    .map-box p {
      margin:0 0 12px !important;
    }

    .address-pills {
      gap:8px !important;
      margin-top:12px !important;
    }

    .address-pill {
      display:flex !important;
      align-items:center !important;
      gap:10px !important;
      padding:11px 13px !important;
      line-height:1.25 !important;
    }

    footer {
      padding:18px 0 22px !important;
      margin-top:0 !important;
      gap:12px !important;
      align-items:center !important;
    }

    .footer-item {
      min-height:54px !important;
      padding:11px 14px !important;
      align-items:center !important;
      gap:11px !important;
    }

    .footer-item div {
      display:flex !important;
      align-items:center !important;
      min-height:1px !important;
    }

    .footer-item b {
      line-height:1.25 !important;
    }

    .footer-icon,
    .bath-meta-icon,
    .contact-item .mini,
    .panel .icon,
    .fact i,
    .bath-package-item .dot,
    .bath-offer-badge .star {
      display:inline-grid !important;
      place-items:center !important;
      align-items:center !important;
      justify-items:center !important;
      text-align:center !important;
      line-height:1 !important;
      flex:none !important;
    }

    .footer-icon {
      width:38px !important;
      height:38px !important;
      min-width:38px !important;
      min-height:38px !important;
      border-radius:50% !important;
    }

    .gold-svg-icon,
    .footer-icon svg,
    .bath-meta-icon svg,
    .contact-item .mini svg,
    .panel .icon svg {
      width:19px !important;
      height:19px !important;
      display:block !important;
      margin:0 auto !important;
      transform:none !important;
    }

    .bath-meta-row,
    .contact-item,
    .bath-contact-pill {
      align-items:center !important;
    }

    .bath-meta-row > div,
    .contact-item > div:last-child {
      display:block !important;
    }

    .btn {
      display:inline-flex !important;
      align-items:center !important;
      justify-content:center !important;
      line-height:1.1 !important;
    }

    @media (max-width:1199.98px) {
      footer {
        grid-template-columns:1fr 1fr !important;
      }
    }

    @media (max-width:767.98px) {
      .map-section {
        padding-top:0 !important;
      }

      .map-wrap {
        min-height:auto !important;
        display:flex !important;
        flex-direction:column-reverse !important;
      }

      .map-wrap iframe {
        height:340px !important;
      }

      .map-box {
        position:relative !important;
        left:auto !important;
        top:auto !important;
        right:auto !important;
        width:auto !important;
        margin:14px !important;
      }

      footer {
        grid-template-columns:1fr !important;
        padding:16px 0 20px !important;
      }
    }


    /* v28: pricing sections for web development + beauty/solarium */
    .price-section {
      width:var(--container);
      margin:0 auto;
      padding:0 0 58px;
    }

    .price-wrap {
      border:1px solid var(--line);
      border-radius:24px;
      background:linear-gradient(180deg,#fffdf9,#fbf3e7);
      box-shadow:0 18px 42px rgba(88,58,20,.08);
      overflow:hidden;
    }

    .price-head {
      display:flex;
      justify-content:space-between;
      gap:24px;
      align-items:flex-end;
      padding:28px 30px 22px;
      border-bottom:1px solid var(--line);
    }

    .price-head h2 {
      font-size:46px;
      line-height:.96;
    }

    .price-head p {
      max-width:560px;
      color:var(--muted);
      line-height:1.7;
      font-size:14px;
      margin:0;
    }

    .pricing-grid {
      display:grid;
      grid-template-columns:repeat(4,minmax(0,1fr));
      gap:12px;
      padding:20px;
    }

    .price-card {
      border:1px solid var(--line);
      background:#fff;
      border-radius:20px;
      padding:18px;
      min-height:178px;
      display:flex;
      flex-direction:column;
      box-shadow:0 10px 24px rgba(90,58,20,.05);
    }

    .price-card.featured {
      background:linear-gradient(180deg,#fffaf0,#f8ead2);
      border-color:rgba(199,139,58,.45);
      box-shadow:0 14px 28px rgba(199,139,58,.12);
    }

    .price-card small {
      color:var(--gold-2);
      text-transform:uppercase;
      letter-spacing:.16em;
      font-size:10px;
      font-weight:900;
      margin-bottom:9px;
    }

    .price-card h3 {
      font-size:28px;
      line-height:1;
      margin-bottom:12px;
    }

    .price-value {
      font-family:Inter, system-ui, -apple-system, Segoe UI, sans-serif;
      font-size:30px;
      font-weight:900;
      letter-spacing:-.04em;
      color:#241d17;
      margin-top:auto;
    }

    .price-value span {
      font-size:14px;
      font-weight:800;
      color:var(--muted);
      letter-spacing:0;
    }

    .price-card p {
      color:var(--muted);
      font-size:13px;
      line-height:1.55;
      margin:0 0 14px;
    }

    .price-note {
      display:flex;
      gap:12px;
      flex-wrap:wrap;
      padding:0 20px 22px;
    }

    .price-pill {
      border:1px solid var(--line);
      border-radius:999px;
      background:#fff;
      padding:11px 14px;
      color:#5d5248;
      font-size:13px;
      font-weight:700;
    }

    .beauty-price-row {
      display:grid;
      grid-template-columns:repeat(4,minmax(0,1fr));
      gap:12px;
      padding:20px;
    }

    .beauty-price {
      display:flex;
      align-items:center;
      gap:14px;
      border:1px solid var(--line);
      border-radius:20px;
      background:#fff;
      padding:16px;
      min-height:92px;
    }

    .beauty-price .sun {
      width:44px;
      height:44px;
      border-radius:50%;
      display:grid;
      place-items:center;
      background:linear-gradient(180deg,#fff8ea,#ecd3aa);
      color:var(--gold-2);
      border:1px solid rgba(199,139,58,.34);
      flex:none;
      font-size:20px;
    }

    .beauty-price b {
      display:block;
      font-family:Inter, system-ui, -apple-system, Segoe UI, sans-serif;
      font-size:24px;
      line-height:1.05;
      margin-bottom:3px;
    }

    .beauty-price span {
      color:var(--muted);
      font-size:13px;
      font-weight:700;
    }

    @media (max-width:1199.98px) {
      .pricing-grid,
      .beauty-price-row {
        grid-template-columns:repeat(2,minmax(0,1fr));
      }
      .price-head {
        align-items:flex-start;
        flex-direction:column;
      }
    }

    @media (max-width:767.98px) {
      .pricing-grid,
      .beauty-price-row {
        grid-template-columns:1fr;
      }
      .price-head {
        padding:24px 20px 18px;
      }
      .price-head h2 {
        font-size:38px;
      }
    }


    /* v29: compact solarium section directly after pirts zona */
    .solarium-section {
      width:var(--container);
      margin:0 auto;
      padding:0 0 52px;
    }

    .solarium-wrap {
      border:1px solid var(--line);
      border-radius:26px;
      overflow:hidden;
      background:
        radial-gradient(circle at 10% 10%, rgba(199,139,58,.10), transparent 28rem),
        linear-gradient(180deg, #fffdf9 0%, #faf2e4 100%);
      box-shadow:0 18px 42px rgba(88,58,20,.08);
    }

    .solarium-card {
      display:grid;
      grid-template-columns:minmax(0, .96fr) minmax(360px, .92fr);
      gap:22px;
      align-items:stretch;
      padding:24px;
    }

    .solarium-copy {
      display:flex;
      flex-direction:column;
      gap:14px;
      justify-content:center;
      min-width:0;
    }

    .solarium-copy h2 {
      font-size:48px;
      line-height:.96;
      margin:0;
    }

    .solarium-copy p {
      color:var(--muted);
      line-height:1.7;
      font-size:14px;
      margin:0;
      max-width:620px;
    }

    .solarium-price-grid {
      display:grid;
      grid-template-columns:repeat(2, minmax(0,1fr));
      gap:12px;
      margin-top:4px;
    }

    .solarium-price-item {
      border:1px solid var(--line);
      border-radius:20px;
      background:rgba(255,255,255,.92);
      padding:16px 18px;
      min-height:112px;
      display:flex;
      flex-direction:column;
      justify-content:center;
      box-shadow:0 10px 22px rgba(90,58,20,.05);
    }

    .solarium-price-item.highlight {
      background:linear-gradient(180deg,#fff9ef,#f5e5c9);
      border-color:rgba(199,139,58,.42);
    }

    .solarium-mini {
      color:var(--gold-2);
      text-transform:uppercase;
      letter-spacing:.14em;
      font-weight:900;
      font-size:10px;
      margin-bottom:8px;
    }

    .solarium-price-item b {
      font-family:Inter, system-ui, -apple-system, Segoe UI, sans-serif;
      font-size:32px;
      line-height:1;
      letter-spacing:-.04em;
      margin-bottom:6px;
      color:#221b16;
    }

    .solarium-price-item small {
      font-size:13px;
      color:var(--muted);
      font-weight:700;
    }

    .solarium-pills {
      display:flex;
      flex-wrap:wrap;
      gap:10px;
      margin-top:4px;
    }

    .solarium-visual {
      min-width:0;
      display:flex;
      align-items:stretch;
    }

    .solarium-image-shell {
      position:relative;
      width:100%;
      min-height:100%;
      border-radius:24px;
      overflow:hidden;
      background:#2d150f;
      box-shadow:0 14px 32px rgba(66,34,16,.16);
    }

    .solarium-image {
      min-height:100%;
      height:100%;
      background-image:
        linear-gradient(135deg, rgba(38,14,10,.38), rgba(199,139,58,.14)),
        radial-gradient(circle at 78% 18%, rgba(255,190,120,.30), transparent 28%),
        linear-gradient(180deg, rgba(20,8,5,.08), rgba(20,8,5,.42)),
        image-set(url("../images/63lv/generated-2.avif") type("image/avif"), url("../images/63lv/generated-2.jpg") type("image/jpeg"));
      background-size:cover;
      background-position:center center;
      filter:saturate(1.02) contrast(1.02);
    }

    .solarium-overlay-card {
      position:absolute;
      left:18px;
      right:18px;
      bottom:18px;
      padding:18px 18px 16px;
      border-radius:20px;
      background:linear-gradient(180deg, rgba(255,250,241,.90), rgba(249,238,219,.88));
      backdrop-filter:blur(8px);
      border:1px solid rgba(235,216,190,.74);
      box-shadow:0 12px 28px rgba(59,29,15,.14);
    }

    .solarium-overlay-card h3 {
      font-size:28px;
      line-height:1;
      margin:4px 0 8px;
    }

    .solarium-overlay-card p {
      margin:0;
      font-size:13px;
      line-height:1.6;
      color:#5f5348;
    }

    @media (max-width:1199.98px) {
      .solarium-card {
        grid-template-columns:1fr;
      }
      .solarium-image {
        min-height:420px;
      }
    }

    @media (max-width:767.98px) {
      .solarium-section {
        padding-bottom:36px;
      }
      .solarium-card {
        padding:18px;
        gap:18px;
      }
      .solarium-copy h2 {
        font-size:38px;
      }
      .solarium-price-grid {
        grid-template-columns:1fr;
      }
      .solarium-image {
        min-height:340px;
      }
      .solarium-overlay-card {
        left:14px;
        right:14px;
        bottom:14px;
      }
    }


    /* v30: tighten top/bottom spacing around solarium section */
    .bath-section {
      padding-bottom: 34px !important;
    }

    .pirts-v21 .pirts-news {
      margin-top: 18px !important;
      margin-bottom: 0 !important;
    }

    .solarium-section {
      width: var(--container);
      margin: 0 auto;
      padding: 12px 0 26px !important;
    }

    .solarium-wrap {
      margin-top: 0 !important;
      margin-bottom: 0 !important;
    }

    .solarium-card {
      padding: 22px !important;
    }

    .solarium-section + section {
      padding-top: 10px !important;
    }

    @media (max-width: 767.98px) {
      .bath-section {
        padding-bottom: 22px !important;
      }

      .solarium-section {
        padding: 8px 0 18px !important;
      }

      .solarium-card {
        padding: 18px !important;
      }

      .solarium-section + section {
        padding-top: 6px !important;
      }
    }


    /* v31: section spacing refinements */
    /* More breathing room before the Solarium section */
    .solarium-section {
      padding-top: 34px !important;
      padding-bottom: 24px !important;
    }

    /* Reduce large vertical gap before Web Development */
    section#web.section {
      padding-top: 38px !important;
    }

    /* Reduce large vertical gap before CTA / contact section */
    .cta-section {
      padding-top: 34px !important;
    }

    /* Keep price sections between web and CTA compact */
    .price-section {
      padding-bottom: 34px !important;
    }

    .price-section + .price-section {
      padding-top: 0 !important;
    }

    @media (max-width: 767.98px) {
      .solarium-section {
        padding-top: 24px !important;
        padding-bottom: 18px !important;
      }

      section#web.section {
        padding-top: 28px !important;
      }

      .cta-section {
        padding-top: 26px !important;
      }

      .price-section {
        padding-bottom: 26px !important;
      }
    }


    /* v32: consistent section rhythm */
    :root {
      --section-gap: 70px;
    }

    .section {
      padding-top: var(--section-gap) !important;
      padding-bottom: var(--section-gap) !important;
    }

    .bath-section {
      padding-top: var(--section-gap) !important;
      padding-bottom: var(--section-gap) !important;
    }

    .solarium-section {
      padding-top: var(--section-gap) !important;
      padding-bottom: var(--section-gap) !important;
    }

    section#web.section {
      padding-top: var(--section-gap) !important;
      padding-bottom: var(--section-gap) !important;
    }

    .price-section {
      padding-top: 0 !important;
      padding-bottom: var(--section-gap) !important;
    }

    .cta-section {
      padding-top: var(--section-gap) !important;
      padding-bottom: 48px !important;
    }

    .story-section {
      padding-top: var(--section-gap) !important;
      padding-bottom: var(--section-gap) !important;
    }

    .section-head {
      margin-bottom: 32px !important;
    }

    /* Avoid double spacing where one custom pricing section follows another */
    .price-section + .price-section {
      padding-top: 0 !important;
    }

    @media (max-width: 767.98px) {
      :root {
        --section-gap: 48px;
      }

      .cta-section {
        padding-bottom: 34px !important;
      }
    }


    /* v33: reduce top gaps for selected sections by ~50% */
    .bath-section {
      padding-top: 35px !important;
    }

    section#web.section {
      padding-top: 35px !important;
    }

    .cta-section {
      padding-top: 35px !important;
    }

    /* keep bottom rhythm comfortable */
    .bath-section,
    section#web.section {
      padding-bottom: 58px !important;
    }

    @media (max-width: 767.98px) {
      .bath-section,
      section#web.section,
      .cta-section {
        padding-top: 26px !important;
      }

      .bath-section,
      section#web.section {
        padding-bottom: 42px !important;
      }
    }


    /* v34: responsive header/menu alignment and general consistency polish */
    .site-header {
      z-index: 100 !important;
    }

    .header-inner {
      align-items: center !important;
    }

    .header-tools {
      justify-self: end !important;
      margin-left: auto !important;
      display: flex !important;
      align-items: center !important;
    }

    .mobile-toggle {
      margin-left: auto !important;
    }

    .icon-btn {
      display: inline-grid !important;
      place-items: center !important;
      flex: 0 0 auto !important;
    }

    .hamburger {
      display: block !important;
      margin: 0 auto !important;
    }

    .offcanvas {
      right: -440px !important;
      max-width: 92vw !important;
    }

    .offcanvas.open {
      right: 0 !important;
    }

    .offcanvas-head {
      align-items: center !important;
    }

    .offcanvas .wordmark {
      min-width: 0 !important;
    }

    .offcanvas nav a {
      display: flex !important;
      align-items: center !important;
      justify-content: space-between !important;
    }

    /* make content columns feel consistent across responsive states */
    .hero,
    .slide,
    .web-wrap,
    .cta-wrap,
    .story-top {
      align-items: stretch !important;
    }

    .service-card,
    .web-card,
    .web-extra-card,
    .price-card,
    .beauty-price,
    .contact-item,
    .footer-item {
      min-width: 0 !important;
    }

    .btn {
      white-space: nowrap !important;
    }

    @media (max-width: 1199.98px) {
      .header-inner {
        grid-template-columns: minmax(0, auto) 1fr auto !important;
        gap: 16px !important;
      }

      .brand {
        min-width: 0 !important;
      }

      .brand-accent {
        flex: 0 0 3px !important;
      }

      .wordmark {
        min-width: 0 !important;
      }

      .wordmark .main {
        flex-wrap: nowrap !important;
      }

      .wordmark .main strong,
      .wordmark .main span,
      .wordmark .top,
      .wordmark .bottom {
        white-space: nowrap !important;
      }

      .header-tools {
        grid-column: 3 !important;
        justify-self: end !important;
      }

      .mobile-toggle {
        display: inline-grid !important;
        justify-self: end !important;
      }

      .hero {
        gap: 28px !important;
      }

      .hero-copy,
      .hero-panels,
      .slide .copy,
      .slide .photo,
      .story-copy,
      .web-intro,
      .cta-copy,
      .cta-form {
        min-width: 0 !important;
      }

      .section-head {
        gap: 20px !important;
      }

      .map-box {
        max-width: 360px !important;
      }
    }

    @media (max-width: 767.98px) {
      .site-header {
        position: sticky !important;
      }

      .header-inner {
        width: calc(100vw - 28px) !important;
        max-width: calc(100vw - 28px) !important;
        min-height: 74px !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        gap: 12px !important;
      }

      .brand {
        gap: 10px !important;
        overflow: hidden !important;
      }

      .brand-accent {
        height: 42px !important;
      }

      .wordmark {
        overflow: hidden !important;
      }

      .wordmark .top {
        font-size: 9px !important;
        letter-spacing: .20em !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
      }

      .wordmark .main strong {
        font-size: 26px !important;
      }

      .wordmark .main span {
        font-size: 13px !important;
      }

      .wordmark .bottom {
        font-size: 10px !important;
      }

      .header-tools {
        grid-column: 2 !important;
        justify-self: end !important;
      }

      .mobile-toggle {
        width: 44px !important;
        height: 44px !important;
      }

      .offcanvas {
        width: min(390px, 92vw) !important;
        padding: 22px 18px 26px !important;
      }

      .offcanvas-head .wordmark .main {
        flex-wrap: wrap !important;
      }

      .hero {
        padding-top: 40px !important;
        gap: 22px !important;
      }

      .hero-copy h1 {
        font-size: clamp(42px, 13vw, 56px) !important;
      }

      .hero-actions,
      .actions,
      .portfolio-row,
      .modal-actions {
        gap: 10px !important;
      }

      .btn {
        width: auto !important;
        max-width: 100% !important;
        white-space: normal !important;
        text-align: center !important;
      }

      .section-head h2,
      .web-intro h2,
      .cta-copy h2,
      .price-head h2,
      .solarium-copy h2,
      .story-copy h2 {
        font-size: clamp(36px, 11vw, 46px) !important;
      }

      .slide {
        min-height: auto !important;
      }

      .slide .photo {
        min-height: 260px !important;
      }

      .slide .copy {
        padding: 28px 22px !important;
      }

      .mini-gallery {
        gap: 8px !important;
      }

      .tile {
        height: 128px !important;
      }

      .pirts-v21 .bath-copy-panel > h3 {
        font-size: clamp(38px, 12vw, 48px) !important;
      }

      .pirts-side-actions .bath-contact-strip,
      .pirts-side-actions .actions,
      .booking-actions,
      .field-row {
        grid-template-columns: 1fr !important;
      }

      .calendar-days,
      .calendar-dates {
        gap: 4px !important;
      }

      .cal-date {
        min-height: 44px !important;
        padding: 5px !important;
      }

      .solarium-card,
      .cta-wrap,
      .price-wrap,
      .story-card,
      .bath-content.pirts-v21 {
        border-radius: 22px !important;
      }

      .map-box {
        max-width: none !important;
      }

      footer .btn {
        width: 100% !important;
      }
    }

    @media (max-width: 420px) {
      .wordmark .top,
      .wordmark .bottom {
        display: none !important;
      }

      .brand-accent {
        height: 36px !important;
      }

      .wordmark .main strong {
        font-size: 24px !important;
      }

      .wordmark .main span {
        font-size: 12px !important;
      }

      .header-inner {
        min-height: 66px !important;
      }
    }


    /* v35: nicer search modal close button */
    .search-dialog .search-head {
      align-items:flex-start !important;
      gap:18px !important;
    }

    #closeSearch.icon-btn {
      width:48px !important;
      height:48px !important;
      min-width:48px !important;
      min-height:48px !important;
      border-radius:50% !important;
      background:linear-gradient(180deg,#fff8ea,#ecd3aa) !important;
      border:1px solid rgba(199,139,58,.38) !important;
      color:var(--gold-2) !important;
      font-size:0 !important;
      position:relative !important;
      box-shadow:0 10px 22px rgba(199,139,58,.14) !important;
      transition:.2s ease !important;
    }

    #closeSearch.icon-btn:hover {
      transform:translateY(-1px) !important;
      box-shadow:0 14px 28px rgba(199,139,58,.20) !important;
      background:linear-gradient(180deg,#fff5e2,#e8c994) !important;
    }

    #closeSearch.icon-btn:before,
    #closeSearch.icon-btn:after {
      content:"" !important;
      position:absolute !important;
      left:50% !important;
      top:50% !important;
      width:20px !important;
      height:2px !important;
      border-radius:999px !important;
      background:currentColor !important;
      transform-origin:center !important;
    }

    #closeSearch.icon-btn:before {
      transform:translate(-50%, -50%) rotate(45deg) !important;
    }

    #closeSearch.icon-btn:after {
      transform:translate(-50%, -50%) rotate(-45deg) !important;
    }

    .search-dialog h3 {
      margin-top:4px !important;
    }

    @media (max-width:767.98px) {
      #closeSearch.icon-btn {
        width:44px !important;
        height:44px !important;
        min-width:44px !important;
        min-height:44px !important;
      }

      #closeSearch.icon-btn:before,
      #closeSearch.icon-btn:after {
        width:18px !important;
      }
    }


    /* v36: mobile hamburger toggles to close icon + pirts icon centering */
    .mobile-toggle.is-open .hamburger span {
      opacity:0 !important;
    }

    .mobile-toggle.is-open .hamburger:before {
      top:6px !important;
      transform:rotate(45deg) !important;
    }

    .mobile-toggle.is-open .hamburger:after {
      bottom:6px !important;
      transform:rotate(-45deg) !important;
    }

    .hamburger:before,
    .hamburger:after,
    .hamburger span {
      transition:transform .22s ease, opacity .18s ease, top .22s ease, bottom .22s ease !important;
      transform-origin:center !important;
    }

    /* Center all pirts-area icons consistently */
    .pirts-v21 .bath-meta-icon,
    .pirts-v21 .bath-package-item .dot,
    .pirts-v21 .bath-offer-badge .star,
    .pirts-v21 .footer-icon,
    .pirts-side-actions .footer-icon,
    .bath-contact-pill .footer-icon {
      display:inline-grid !important;
      place-items:center !important;
      align-items:center !important;
      justify-items:center !important;
      text-align:center !important;
      line-height:1 !important;
      padding:0 !important;
      flex:none !important;
      position:relative !important;
    }

    .pirts-v21 .bath-meta-icon {
      width:38px !important;
      height:38px !important;
      min-width:38px !important;
      min-height:38px !important;
    }

    .pirts-v21 .bath-package-item .dot {
      width:26px !important;
      height:26px !important;
      min-width:26px !important;
      min-height:26px !important;
      margin:0 !important;
      align-self:center !important;
    }

    .pirts-v21 .bath-offer-badge .star {
      width:24px !important;
      height:24px !important;
      min-width:24px !important;
      min-height:24px !important;
    }

    .pirts-v21 .bath-package-item {
      align-items:center !important;
    }

    .pirts-v21 .bath-meta-row {
      align-items:center !important;
    }

    .pirts-v21 .bath-contact-pill {
      align-items:center !important;
    }

    .pirts-v21 .gold-svg-icon,
    .pirts-v21 .bath-meta-icon svg,
    .pirts-v21 .footer-icon svg {
      display:block !important;
      margin:0 !important;
      transform:none !important;
      position:static !important;
    }

    .pirts-v21 .location-pin {
      display:block !important;
      margin:0 !important;
      width:18px !important;
      height:18px !important;
      position:relative !important;
      transform:none !important;
    }

    .pirts-v21 .location-pin:before {
      left:3px !important;
      top:0 !important;
    }

    .pirts-v21 .location-pin:after {
      left:7px !important;
      top:4px !important;
    }

  

/* 63.lv WordPress / BBuilder integration */
.admin-bar .site-header { top: 32px; }
.wpbb-dynamic-form-wrap .wpbb-form,
.sixtythree-bbuilder-form .wpbb-form {
  display:grid;
  gap:14px;
}
.wpbb-dynamic-form-wrap input,
.wpbb-dynamic-form-wrap textarea,
.wpbb-dynamic-form-wrap select {
  width:100%;
  border:1px solid var(--line);
  border-radius:16px;
  background:#fffdf9;
  padding:15px 16px;
  font:inherit;
  color:var(--ink);
}
.wpbb-dynamic-form-wrap textarea { min-height:132px; resize:vertical; }
.wpbb-dynamic-form-wrap button,
.wpbb-dynamic-form-wrap .wpbb-submit {
  appearance:none;
  border:1px solid var(--gold);
  background:var(--gold);
  color:#fff;
  border-radius:14px;
  padding:14px 20px;
  font-size:13px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.05em;
  cursor:pointer;
  box-shadow:0 12px 26px rgba(199,139,58,.18);
}
.sixtythree-builder-note {
  width:var(--container);
  margin:24px auto;
  border:1px solid var(--line);
  border-radius:20px;
  background:#fffdf9;
  padding:18px 20px;
  color:var(--muted);
}
.sixtythree-page-content {
  width:var(--container);
  margin:0 auto 40px;
}
.lang-switch a,
.mobile-lang a {
  border:0;
  background:transparent;
  color:#7f7062;
  padding:8px 11px;
  border-radius:999px;
  font-size:12px;
  font-weight:800;
  cursor:pointer;
  letter-spacing:.06em;
  text-decoration:none;
}
.lang-switch a.active,
.mobile-lang a.active {
  background:var(--paper-2);
  color:var(--gold-2);
}

/* 63.lv booking form polish */
.cal-date.available,
.cal-date.selected { cursor:pointer; }
.cal-date.booked { cursor:not-allowed; }
.cal-date:focus {
  outline:3px solid rgba(199,139,58,.35);
  outline-offset:2px;
}
.booking-card[data-selected-date] .booking-actions .btn:first-child {
  box-shadow:0 14px 30px rgba(199,139,58,.22);
}
.sixtythree-bbuilder-fallback-block {
  width:100%;
}

/* v37: image logo replacement */
.brand.brand-image {
  display:inline-flex !important;
  align-items:center !important;
  gap:0 !important;
  min-width:0 !important;
  text-decoration:none !important;
}
.brand-logo-picture {
  display:block;
  line-height:0;
}
.brand-logo-img {
  display:block;
  width:174px;
  height:auto;
  max-height:58px;
  object-fit:contain;
}
.site-header .brand-logo-img {
  filter:drop-shadow(0 4px 10px rgba(90,58,20,.07));
}
.offcanvas .brand-logo-img {
  width:168px;
  max-height:58px;
}
@media (max-width:1199.98px) {
  .brand-logo-img {
    width:158px;
    max-height:54px;
  }
}
@media (max-width:767.98px) {
  .brand-logo-img {
    width:148px;
    max-height:50px;
  }
}
@media (max-width:420px) {
  .brand-logo-img {
    width:132px;
    max-height:46px;
  }
}

/* v38 live fixes: BBuilder form, gold phone icons, language switch */
.bath-meta-icon svg,
.contact-item .mini svg,
.footer-icon svg {
  width:19px !important;
  height:19px !important;
  display:block !important;
  margin:0 !important;
  stroke:currentColor !important;
  fill:none !important;
}
.bath-meta-icon,
.contact-item .mini,
.footer-icon {
  color:var(--gold-2) !important;
  display:grid !important;
  place-items:center !important;
}
.lang-switch a,
.mobile-lang a {
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.lang-switch a.active,
.mobile-lang a.active {
  background:var(--paper-2) !important;
  color:var(--gold-2) !important;
}
.wpbb-dynamic-form-wrap {
  width:100%;
}

/* v13: Gutenberg / WP BBuilder editable front page polish */
.sixtythree-builder-home {
  background: var(--paper);
  color: var(--ink);
}
.sixtythree-builder-home .wpbb-section {
  border-bottom: 1px solid rgba(231,216,196,.55);
}
.sixtythree-builder-home .wpbb-section__intro {
  max-width: var(--container);
  margin-left: auto;
  margin-right: auto;
}
.sixtythree-builder-home .wpbb-section__intro h2 {
  font-family: var(--display);
  font-size: clamp(36px, 4vw, 58px);
  line-height: .95;
  color: var(--ink);
}
.sixtythree-builder-home .wpbb-row,
.sixtythree-builder-home .container {
  max-width: var(--container);
}
.sixtythree-builder-home .card {
  border: 1px solid var(--line);
  border-radius: 18px;
  background: #fffdf9;
  box-shadow: 0 10px 26px rgba(88,58,20,.06);
}
.sixtythree-builder-home .card h3,
.sixtythree-builder-home h1,
.sixtythree-builder-home h2,
.sixtythree-builder-home h3 {
  font-family: var(--display);
}
.sixtythree-builder-home .btn-primary {
  background: var(--gold);
  border-color: var(--gold);
  color: #fff;
}
.sixtythree-builder-home .wpbb-dynamic-form-wrap {
  border: 1px solid var(--line);
  border-radius: 22px;
  background: #fffdf9;
  padding: 22px;
}
.sixtythree-builder-home .wpbb-google-map {
  max-width: var(--container);
  margin: 34px auto 64px;
  border-radius: 24px;
  overflow: hidden;
  border: 1px solid var(--line);
  box-shadow: 0 18px 42px rgba(88,58,20,.08);
}

/* v14: Google map contact button alignment */
.map-box .address-pills {
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:10px !important;
  align-items:stretch !important;
  justify-items:stretch !important;
  width:100% !important;
}

.map-box .address-pill {
  width:100% !important;
  display:grid !important;
  grid-template-columns:22px minmax(0,1fr) !important;
  align-items:center !important;
  justify-items:start !important;
  justify-content:start !important;
  gap:11px !important;
  text-align:left !important;
  line-height:1.28 !important;
  padding:12px 14px !important;
  white-space:normal !important;
}

.map-box .address-pill .gold-svg-icon,
.map-box .address-pill svg {
  grid-column:1 !important;
  width:19px !important;
  height:19px !important;
  display:block !important;
  margin:0 !important;
  justify-self:center !important;
  align-self:center !important;
  flex:none !important;
  color:var(--gold-2) !important;
  stroke:currentColor !important;
  fill:none !important;
}

.map-box .address-pill span,
.map-box .address-pill .address-pill-text {
  grid-column:2 !important;
  display:block !important;
  min-width:0 !important;
  text-align:left !important;
  overflow-wrap:anywhere !important;
}

@media (max-width:767.98px) {
  .map-box .address-pill {
    grid-template-columns:21px minmax(0,1fr) !important;
    gap:10px !important;
    padding:11px 13px !important;
  }
}

/* v15 repair: keep approved headless home design stable; BBuilder demo lives on separate admin-editable page */
.sixtythree-home .map-box .address-pills {
  display:grid !important;
  grid-template-columns:1fr !important;
}
.sixtythree-home .map-box .address-pill {
  display:grid !important;
  grid-template-columns:22px minmax(0,1fr) !important;
  text-align:left !important;
}

/* v18: editable core heading/list blocks inside admin BBuilder content */
.sixtythree-builder-home .sixtythree-feature-list,
.sixtythree-builder-home .wp-block-list.sixtythree-feature-list,
.sixtythree-home .sixtythree-feature-list {
  list-style:none;
  margin:18px 0 0;
  padding:0;
  display:grid;
  gap:10px;
}
.sixtythree-builder-home .sixtythree-feature-list li,
.sixtythree-home .sixtythree-feature-list li {
  position:relative;
  padding-left:28px;
  color:var(--muted);
}
.sixtythree-builder-home .sixtythree-feature-list li::before,
.sixtythree-home .sixtythree-feature-list li::before {
  content:"";
  position:absolute;
  left:0;
  top:.55em;
  width:9px;
  height:9px;
  border-radius:50%;
  background:var(--gold);
  box-shadow:0 0 0 4px rgba(199,139,58,.12);
}
.editor-styles-wrapper .sixtythree-feature-list {
  list-style:none;
  padding-left:0;
}

/* v19: editable solarium prices using BBuilder rows/columns/cards + core paragraph blocks */
.sixtythree-builder-home .solarium-price-row {
  margin-top:16px;
}
.sixtythree-builder-home .solarium-price-row .card {
  text-align:center;
  height:100%;
}
.sixtythree-builder-home .solarium-price-row .card-body {
  padding:18px 14px;
}
.sixtythree-builder-home .solarium-price-value,
.sixtythree-home .solarium-price-value {
  margin:0 0 4px !important;
  font-family:var(--display);
  font-size:clamp(26px, 3vw, 34px);
  line-height:1;
  color:var(--gold-2);
}
.sixtythree-builder-home .solarium-price-label,
.sixtythree-home .solarium-price-label {
  margin:0 !important;
  color:var(--muted);
  font-size:14px;
}
.editor-styles-wrapper .solarium-price-value {
  margin-bottom:4px;
  font-size:28px;
}
.editor-styles-wrapper .solarium-price-label {
  margin-top:0;
}

/* v20: editor fallback previews for missing WP BBuilder blocks */
.editor-styles-wrapper .wpbb-google-map-editor,
.editor-styles-wrapper .wpbb-dynamic-form-editor {
  border:1px solid #e7d8c4;
  border-radius:18px;
  background:#fffdf9;
  padding:16px;
}
.editor-styles-wrapper .wpbb-editor-label {
  font-weight:700;
  color:#9f6a24;
  margin-bottom:10px;
}
.editor-styles-wrapper .wpbb-dynamic-form-editor input,
.editor-styles-wrapper .wpbb-dynamic-form-editor textarea {
  width:100%;
  border:1px solid #e7d8c4;
  border-radius:10px;
  padding:10px 12px;
  margin-bottom:10px;
  background:#fff;
}

/* v21: admin import uses native Gutenberg heading/paragraph/list blocks, no raw HTML blocks */
.sixtythree-builder-home .web-services-row {
  margin-top:12px;
}
.sixtythree-builder-home .sixtythree-contact-list,
.sixtythree-home .sixtythree-contact-list {
  list-style:none;
  margin:18px 0 0;
  padding:0;
  display:grid;
  gap:10px;
}
.sixtythree-builder-home .sixtythree-contact-list li,
.sixtythree-home .sixtythree-contact-list li {
  padding:12px 14px;
  border:1px solid var(--line);
  border-radius:14px;
  background:#fffdf9;
  color:var(--muted);
}
.editor-styles-wrapper .sixtythree-contact-list {
  list-style:none;
  padding-left:0;
}

/* v22: Gutenberg-valid native text/card blocks for admin editor */
.sixtythree-builder-home .sixtythree-admin-card,
.editor-styles-wrapper .sixtythree-admin-card {
  border:1px solid var(--line, #e7d8c4);
  border-radius:18px;
  background:#fffdf9;
  padding:22px;
  box-shadow:0 10px 26px rgba(88,58,20,.06);
}
.editor-styles-wrapper .sixtythree-admin-card h1,
.editor-styles-wrapper .sixtythree-admin-card h2,
.editor-styles-wrapper .sixtythree-admin-card h3,
.editor-styles-wrapper .wp-block-heading {
  font-family:Georgia, "Times New Roman", serif;
}

/* v23: BBuilder card containers with native Gutenberg inner blocks */
.editor-styles-wrapper .wp-block-wpbb-card .wp-block-heading,
.editor-styles-wrapper .wp-block-wpbb-card p,
.editor-styles-wrapper .wp-block-wpbb-card ul {
  margin-top:0;
}
.editor-styles-wrapper .wp-block-wpbb-card {
  border:1px solid #e7d8c4;
  border-radius:18px;
  background:#fffdf9;
  padding:20px;
}

/* v25: replace problematic pricecard/list blocks with explicit BBuilder cards + native paragraphs */
.sixtythree-builder-home .web-price-row,
.editor-styles-wrapper .web-price-row {
  margin-top:16px;
}
.sixtythree-builder-home .web-price-value,
.editor-styles-wrapper .web-price-value {
  margin:0 0 8px !important;
  font-family:var(--display, Georgia, serif);
  font-size:clamp(28px, 3vw, 38px);
  line-height:1;
  color:var(--gold-2, #9f6a24);
}
.sixtythree-builder-home .contact-detail-row,
.editor-styles-wrapper .contact-detail-row {
  margin-top:18px;
}
.sixtythree-builder-home .contact-detail-line,
.editor-styles-wrapper .contact-detail-line {
  margin:0 !important;
  color:var(--muted, #6f675e);
}

/* v26: admin demo uses only WordPress core blocks + shortcodes */
.sixtythree-builder-home .sixtythree-admin-section,
.editor-styles-wrapper .sixtythree-admin-section {
  padding:56px 0;
  border-bottom:1px solid rgba(231,216,196,.55);
}
.sixtythree-builder-home .sixtythree-admin-card,
.editor-styles-wrapper .sixtythree-admin-card {
  border:1px solid var(--line, #e7d8c4);
  border-radius:20px;
  background:#fffdf9;
  padding:22px;
  box-shadow:0 10px 26px rgba(88,58,20,.06);
}
.sixtythree-builder-home .wp-block-columns,
.editor-styles-wrapper .wp-block-columns {
  gap:24px;
}
.sixtythree-shortcode-map,
.editor-styles-wrapper .sixtythree-shortcode-map {
  margin-top:24px;
  border:1px solid var(--line, #e7d8c4);
  border-radius:24px;
  overflow:hidden;
  box-shadow:0 18px 42px rgba(88,58,20,.08);
}
.sixtythree-shortcode-booking {
  margin-top:0;
}
.editor-styles-wrapper .wp-block-shortcode {
  border:1px dashed #d3b37c;
  background:#fffaf0;
  border-radius:14px;
  padding:12px;
}

/* v40 requested polish: remove mini gallery, Roboto titles, cleaner select arrow */
:root {
  --display: "Roboto", Arial, sans-serif;
}

.mini-gallery {
  display: none !important;
}

h1,
h2,
h3,
h4,
.hero-copy h1,
.section-head h2,
.slide .copy h2,
.service-card h3,
.panel h3,
.story-copy h2,
.web-intro h2,
.cta-copy h2,
.price-head h2,
.solarium-copy h2,
.pirts-v21 .bath-copy-panel > h3 {
  font-family: var(--display) !important;
  font-weight: 500 !important;
  letter-spacing: -.015em !important;
}

.kicker,
.service-card a,
.btn,
button,
input,
select,
textarea {
  font-family: "Roboto", Arial, sans-serif !important;
}

.wpbb-dynamic-form-wrap select,
.sixtythree-bbuilder-form select,
.sr-contact-form-panel select,
.sr-fallback-contact-form select,
select {
  -webkit-appearance: none !important;
  appearance: none !important;
  background-image:
    linear-gradient(45deg, transparent 50%, #8b6a32 50%),
    linear-gradient(135deg, #8b6a32 50%, transparent 50%) !important;
  background-position:
    calc(100% - 22px) 50%,
    calc(100% - 15px) 50% !important;
  background-size: 7px 7px, 7px 7px !important;
  background-repeat: no-repeat !important;
  padding-right: 46px !important;
  cursor: pointer;
}

.wpbb-dynamic-form-wrap select:focus,
.sixtythree-bbuilder-form select:focus,
.sr-contact-form-panel select:focus,
.sr-fallback-contact-form select:focus,
select:focus {
  outline: none !important;
  border-color: var(--gold, #d99a00) !important;
  box-shadow: 0 0 0 3px rgba(217,154,0,.16) !important;
}

.slide .photo-sauna {
  background-position: center center !important;
}

.slide .photo-learning,
.slide .photo-hairdress-chair {
  background-color: #f7ead6 !important;
  background-size: cover !important;
  background-position: center center !important;
}

.slide .photo-hairdress-chair {
  background-size: 82% auto !important;
  background-repeat: no-repeat !important;
  background-position: center center !important;
}

@media (max-width: 767.98px) {
  .sixtythree-home .slider-wrap {
    width: min(100% - 28px, 520px) !important;
  }

  .sixtythree-home .slider {
    min-height: 760px !important;
    height: 760px !important;
    overflow: hidden !important;
  }

  .sixtythree-home .slide {
    min-height: 760px !important;
    height: 760px !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: 300px 1fr !important;
  }

  .sixtythree-home .slide .photo {
    min-height: 300px !important;
    height: 300px !important;
  }

  .sixtythree-home .slide .copy {
    min-height: 460px !important;
    height: 460px !important;
    padding: 34px 24px 64px !important;
    justify-content: center !important;
  }

  .sixtythree-home .slide .copy h2 {
    font-size: clamp(34px, 10vw, 44px) !important;
    line-height: 1.05 !important;
  }

  .sixtythree-home .slide .copy p {
    font-size: 15px !important;
    line-height: 1.65 !important;
  }

  .sixtythree-home .slider-controls {
    right: 22px !important;
    bottom: 22px !important;
  }

  .sixtythree-home .slide .photo-hairdress-chair {
    background-size: 76% auto !important;
  }
}

@media (max-width: 420px) {
  .sixtythree-home .slider,
  .sixtythree-home .slide {
    min-height: 800px !important;
    height: 800px !important;
  }

  .sixtythree-home .slide .copy {
    min-height: 500px !important;
    height: 500px !important;
  }
}

/* v29: heading sizing + attached sauna image update */
.sixtythree-home h1,
.sixtythree-home .hero h1,
.sixtythree-home .hero-title,
.sixtythree-home .hero-copy h1,
.sixtythree-home .section-head h2,
.sixtythree-home h2,
.sixtythree-home .slide .copy h2 {
  font-family: "Roboto", Arial, sans-serif !important;
  font-weight: 500 !important;
  line-height: 1.22 !important;
  letter-spacing: -0.025em !important;
}

.sixtythree-home h1,
.sixtythree-home .hero h1,
.sixtythree-home .hero-title,
.sixtythree-home .hero-copy h1 {
  font-size: clamp(38px, 5.2vw, 66px) !important;
}

.sixtythree-home h2,
.sixtythree-home .section-head h2,
.sixtythree-home .slide .copy h2 {
  font-size: clamp(28px, 3.6vw, 46px) !important;
}

.sixtythree-home .slide .photo-sauna {
  background-image: url('../images/63lv/pirts-ballitem-sauna.avif') !important;
  background-size: cover !important;
  background-position: center center !important;
}

@media (max-width: 767.98px) {
  .sixtythree-home h1,
  .sixtythree-home .hero h1,
  .sixtythree-home .hero-title,
  .sixtythree-home .hero-copy h1 {
    font-size: clamp(32px, 9vw, 44px) !important;
    line-height: 1.24 !important;
  }

  .sixtythree-home h2,
  .sixtythree-home .section-head h2,
  .sixtythree-home .slide .copy h2 {
    font-size: clamp(26px, 7.5vw, 36px) !important;
    line-height: 1.25 !important;
  }
}

/* v57: front page now renders editable WordPress page content by default */
.sixtythree-wp-editable-home {
  background: var(--cream, #fbf5ec);
  color: var(--ink, #1e1712);
  padding: 36px clamp(18px, 4vw, 64px) 64px;
}
.sixtythree-wp-editable-home .sixtythree-admin-section {
  max-width: 1180px;
  margin: 0 auto;
  padding: 56px 0;
  border-bottom: 1px solid rgba(231,216,196,.55);
}
.sixtythree-wp-editable-home .sixtythree-admin-card {
  border: 1px solid var(--line, #e7d8c4);
  border-radius: 20px;
  background: #fffdf9;
  padding: 22px;
  box-shadow: 0 10px 26px rgba(88,58,20,.06);
}
.sixtythree-wp-editable-home .wp-block-columns {
  gap: 24px;
}
.sixtythree-wp-editable-home .wp-block-button__link {
  border-radius: 999px;
  background: linear-gradient(135deg, var(--gold, #d2a24c), var(--gold-2, #9f6a24));
  color: #fff;
  font-weight: 600;
  padding: 12px 20px;
  text-decoration: none;
}
.sixtythree-form-message {
  margin: 0 0 14px;
  padding: 12px 14px;
  border-radius: 14px;
  font-weight: 600;
}
.sixtythree-form-message.success {
  background: #eef9ef;
  color: #256b2f;
}
.sixtythree-form-message.error {
  background: #fff0ed;
  color: #9b2d1f;
}


/* v7: optional page-builder content is nested inside the designed homepage instead of replacing it. */
.sixtythree-editable-section {
  padding: 72px 24px;
  background: linear-gradient(180deg, rgba(13,13,15,.96), rgba(27,25,23,.98));
  color: #f8f4ec;
}
.sixtythree-editable-wrap {
  max-width: 1180px;
  margin: 0 auto;
}
.sixtythree-editable-wrap > *:first-child { margin-top: 0; }
.sixtythree-editable-wrap > *:last-child { margin-bottom: 0; }


/* v18: blog post lightbox + clickable cards */
.blog-card.is-clickable{
  cursor:pointer;
}
.blog-card.is-clickable:focus-visible{
  outline:2px solid rgba(201,168,102,.8);
  outline-offset:4px;
}
.blog-lightbox{
  position:fixed;
  inset:0;
  background:rgba(19,16,12,.78);
  display:none;
  align-items:center;
  justify-content:center;
  padding:28px;
  z-index:9998;
}
.blog-lightbox.open{display:flex;}
.blog-lightbox-inner{
  width:min(980px, 100%);
  max-height:min(90vh, 920px);
  overflow:auto;
  background:#f5f0ec;
  color:#2a211d;
  border-radius:24px;
  box-shadow:0 24px 90px rgba(0,0,0,.28);
  position:relative;
  display:grid;
  grid-template-columns:minmax(260px, 320px) minmax(0, 1fr);
}
.blog-lightbox-close{
  position:absolute;
  right:14px;
  top:14px;
  width:42px;
  height:42px;
  border-radius:999px;
  border:1px solid rgba(42,33,29,.14);
  background:#fff;
  font-size:28px;
  line-height:1;
  cursor:pointer;
  z-index:2;
}
.blog-lightbox-media{
  min-height:300px;
  background:#d7d0cb;
}
.blog-lightbox-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  min-height:300px;
}
.blog-lightbox-content{
  padding:34px 34px 30px;
}
.blog-lightbox-date{
  display:inline-block;
  font-size:.8rem;
  text-transform:uppercase;
  letter-spacing:.16em;
  color:#8d7452;
  margin-bottom:12px;
}
.blog-lightbox-content h3{
  font-size:2rem;
  line-height:1.1;
  margin:0 0 14px;
}
.blog-lightbox-summary{
  font-size:1rem;
  font-weight:600;
  color:#4d4139;
  margin-bottom:14px;
}
.blog-lightbox-text{
  font-size:1rem;
  line-height:1.7;
  color:#433933;
}
.blog-lightbox-text p{margin:0 0 14px;}
.blog-lightbox-link{margin-top:20px; display:inline-flex;}
@media (max-width: 820px){
  .blog-lightbox{padding:16px;}
  .blog-lightbox-inner{grid-template-columns:1fr;}
  .blog-lightbox-media,
  .blog-lightbox-media img{min-height:220px;}
  .blog-lightbox-content{padding:24px 20px 22px;}
  .blog-lightbox-content h3{font-size:1.6rem; padding-right:36px;}
}


/* v19: expandable AJAX search */
.site-search-wrap{position:relative;display:flex;align-items:center;}
.site-search-panel{position:absolute;right:0;top:calc(100% + 12px);width:min(440px,calc(100vw - 32px));display:none;background:rgba(255,255,255,.98);border:1px solid rgba(49,39,29,.12);border-radius:20px;padding:12px;box-shadow:0 22px 70px rgba(18,15,12,.18);z-index:1500;backdrop-filter:blur(10px);}
.site-search-panel.is-open{display:block;}
.site-search-row{display:flex;gap:8px;align-items:center;}
.site-search-input{width:100%;min-height:44px;border:1px solid rgba(49,39,29,.16);border-radius:12px;background:#fff;padding:10px 12px;font:inherit;color:#2a211d;outline:none;}
.site-search-input:focus{border-color:rgba(201,168,102,.75);box-shadow:0 0 0 3px rgba(201,168,102,.16);}
.site-search-submit{min-height:44px;border:0;border-radius:12px;background:#2a211d;color:#fff;padding:10px 14px;font:inherit;font-weight:600;cursor:pointer;}
.site-search-results{margin-top:10px;max-height:330px;overflow:auto;display:grid;gap:8px;}
.site-search-state{padding:12px;color:#6f625b;font-size:.95rem;}
.site-search-result{display:grid;gap:4px;text-decoration:none;color:#2a211d;background:#f8f4ef;border:1px solid rgba(49,39,29,.08);border-radius:14px;padding:11px 12px;transition:background .18s ease,transform .18s ease;}
.site-search-result:hover{background:#fff;transform:translateY(-1px);}
.site-search-result-type{font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;color:#9b7b3f;font-weight:700;}
.site-search-result strong{font-size:.98rem;line-height:1.25;}
.site-search-result small{color:#6f625b;line-height:1.45;}
.mobile-search-panel{position:static;width:100%;box-shadow:none;margin:10px 0 14px;z-index:auto;background:rgba(255,255,255,.9);}
@media (max-width: 680px){.site-search-panel{right:auto;left:0;width:calc(100vw - 32px);} .site-search-row{display:grid;grid-template-columns:1fr;} .site-search-submit{width:100%;}}


/* v14: footer social facebook + SEO/headless polish */
footer .footer-social-facebook{border:1px solid rgba(201,168,102,.38);background:rgba(201,168,102,.08);border-radius:999px;padding:10px 14px;text-decoration:none;color:inherit;transition:background .22s ease,transform .22s ease}
footer .footer-social-facebook:hover{background:rgba(201,168,102,.16);transform:translateY(-2px)}
footer .footer-social-facebook small{display:block;font-size:.78rem;font-weight:500;opacity:.78;margin-top:2px}.footer-icon-facebook svg{width:22px;height:22px}.footer-icon-facebook{background:rgba(201,168,102,.14)}


/* v16: compact one-row footer Facebook icon */
footer .footer-social-facebook.footer-social-icon-only{
  width:42px !important;
  min-width:42px !important;
  height:42px !important;
  min-height:42px !important;
  padding:0 !important;
  display:inline-grid !important;
  place-items:center !important;
  align-self:center !important;
  flex:0 0 auto !important;
  border-radius:999px !important;
}
footer .footer-social-facebook.footer-social-icon-only .footer-icon-facebook{
  width:32px !important;
  min-width:32px !important;
  height:32px !important;
  min-height:32px !important;
  margin:0 !important;
}
footer .footer-social-facebook.footer-social-icon-only svg{
  width:16px !important;
  height:16px !important;
}
@media (min-width:1200px){
  footer{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    flex-wrap:nowrap !important;
  }
  footer .btn{
    white-space:nowrap !important;
  }
}
@media (max-width:767.98px){
  footer .footer-social-facebook.footer-social-icon-only{
    width:40px !important;
    min-width:40px !important;
    height:40px !important;
    min-height:40px !important;
  }
}


/* v18: blog modal social sharing */
.blog-lightbox-share{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px;
  margin:22px 0 4px;
}
.blog-share-btn{
  min-width:42px;
  min-height:42px;
  border-radius:999px;
  border:1px solid rgba(201,168,102,.5);
  background:#fffaf2;
  color:#8b652b;
  display:inline-grid;
  place-items:center;
  padding:0 13px;
  font:inherit;
  font-size:.86rem;
  font-weight:700;
  cursor:pointer;
  transition:background .18s ease, transform .18s ease;
}
.blog-share-btn:hover{background:#fff;transform:translateY(-1px);}
.blog-share-btn svg{width:18px;height:18px;fill:currentColor;display:block;}
.blog-share-copy{letter-spacing:.02em;}


/* v21: copy share icon only */
.blog-share-copy{
  width:42px;
  min-width:42px;
  padding:0;
  letter-spacing:0;
}
.blog-share-copy svg{
  width:18px;
  height:18px;
  fill:currentColor;
}
.blog-share-copy.is-copied{
  background:#f0e5d0;
  color:#5f421d;
}
.blog-share-copy.is-copied::after{
  content:"✓";
  position:absolute;
  transform:translate(12px,-12px);
  width:16px;
  height:16px;
  border-radius:999px;
  background:#9d6a24;
  color:#fff;
  display:grid;
  place-items:center;
  font-size:11px;
  line-height:1;
}


/* v26 safe recovery: keep homepage layout isolated without altering WP BBuilder output */
#sixtythree-headless-root.sixtythree-home{
  display:block;
  width:100%;
  max-width:none;
  overflow-x:clip;
}
#sixtythree-headless-root.sixtythree-home,
#sixtythree-headless-root.sixtythree-home *{
  box-sizing:border-box;
}
#sixtythree-headless-root.sixtythree-home > main{
  display:block;
  width:100%;
}
#sixtythree-headless-root.sixtythree-home .hero,
#sixtythree-headless-root.sixtythree-home .pirts-layout,
#sixtythree-headless-root.sixtythree-home .blog-grid,
#sixtythree-headless-root.sixtythree-home .services-grid,
#sixtythree-headless-root.sixtythree-home .portfolio-row{
  min-width:0;
}
#sixtythree-headless-root.sixtythree-home .blog-card,
#sixtythree-headless-root.sixtythree-home .panel,
#sixtythree-headless-root.sixtythree-home .service-card,
#sixtythree-headless-root.sixtythree-home .bath-card{
  min-width:0;
}
#sixtythree-headless-root.sixtythree-home .h-captcha,
#sixtythree-headless-root.sixtythree-home .sixtythree-hcaptcha-field{
  display:block !important;
  min-height:78px;
  clear:both;
}


/* v32 pirts layout: full-width content row, then media/calendar row. Fixes skinny gallery column. */
#sixtythree-headless-root.sixtythree-home .bath-section#pirts .bath-content.pirts-v21{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  overflow:hidden!important;
}
#sixtythree-headless-root.sixtythree-home .bath-section#pirts .pirts-v21-main{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
}
#sixtythree-headless-root.sixtythree-home .bath-section#pirts .bath-copy-panel{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
}
#sixtythree-headless-root.sixtythree-home .bath-section#pirts .pirts-v21-side{
  display:grid!important;
  grid-template-columns:minmax(0,1.05fr) minmax(360px,.8fr)!important;
  gap:18px!important;
  align-items:start!important;
  width:100%!important;
  max-width:100%!important;
  margin-top:18px!important;
}
#sixtythree-headless-root.sixtythree-home .bath-section#pirts .pirts-v21-side .clean-native-gallery{
  grid-column:1!important;
  grid-row:1 / span 2!important;
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  height:auto!important;
  min-width:0!important;
}
#sixtythree-headless-root.sixtythree-home .bath-section#pirts .pirts-v21-side .booking-card{
  grid-column:2!important;
  grid-row:1!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
}
#sixtythree-headless-root.sixtythree-home .bath-section#pirts .pirts-side-actions{
  grid-column:2!important;
  grid-row:2!important;
  width:100%!important;
  max-width:100%!important;
}
#sixtythree-headless-root.sixtythree-home .bath-section#pirts .pirts-v21 .pirts-news,
#sixtythree-headless-root.sixtythree-home .bath-section#pirts .pirts-news{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  margin-top:22px!important;
  clear:both!important;
}
#sixtythree-headless-root.sixtythree-home .bath-section#pirts .clean-gallery-stage{
  width:100%!important;
  height:420px!important;
  min-height:420px!important;
  max-height:420px!important;
}
#sixtythree-headless-root.sixtythree-home .bath-section#pirts .clean-gallery-thumbs{
  display:grid!important;
  grid-template-columns:repeat(6,minmax(0,1fr))!important;
  gap:8px!important;
}
#sixtythree-headless-root.sixtythree-home .bath-section#pirts .clean-gallery-thumb{
  width:100%!important;
  height:54px!important;
}
@media (max-width:1100px){
  #sixtythree-headless-root.sixtythree-home .bath-section#pirts .pirts-v21-side{
    grid-template-columns:1fr!important;
  }
  #sixtythree-headless-root.sixtythree-home .bath-section#pirts .pirts-v21-side .clean-native-gallery,
  #sixtythree-headless-root.sixtythree-home .bath-section#pirts .pirts-v21-side .booking-card,
  #sixtythree-headless-root.sixtythree-home .bath-section#pirts .pirts-side-actions{
    grid-column:1!important;
    grid-row:auto!important;
  }
}
@media (max-width:640px){
  #sixtythree-headless-root.sixtythree-home .bath-section#pirts .clean-gallery-stage{
    height:300px!important;
    min-height:300px!important;
    max-height:300px!important;
  }
  #sixtythree-headless-root.sixtythree-home .bath-section#pirts .clean-gallery-thumbs{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}

/* v32 blog modal share: keep copy button icon-only; hide text for all languages. */
#sixtythree-headless-root.sixtythree-home .blog-share-copy span,
.blog-lightbox .blog-share-copy span,
.blog-lightbox .blog-share-copy .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;
}
.blog-lightbox .blog-share-btn{
  width:42px!important;
  min-width:42px!important;
  height:42px!important;
  padding:0!important;
  display:inline-grid!important;
  place-items:center!important;
}
.blog-lightbox .blog-share-btn svg{
  width:18px!important;
  height:18px!important;
  margin:0!important;
}


/* v68: mobile slider height fix, SEO/performance polish, footer scroll-up button */
@media (max-width: 767.98px) {
  #sixtythree-headless-root.sixtythree-home,
  .sixtythree-react-root .sixtythree-home {
    overflow-x: hidden !important;
  }

  .sixtythree-home .slider-wrap {
    width: min(100% - 28px, 520px) !important;
    margin-top: 8px !important;
  }

  .sixtythree-home .slider {
    min-height: 0 !important;
    height: auto !important;
    overflow: hidden !important;
    border-radius: 28px !important;
    contain: layout paint;
  }

  .sixtythree-home .slide {
    position: absolute !important;
    inset: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: auto auto !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  .sixtythree-home .slide.active {
    position: relative !important;
    inset: auto !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }

  .sixtythree-home .slide .photo {
    min-height: 0 !important;
    height: clamp(210px, 54vw, 285px) !important;
    background-size: cover !important;
  }

  .sixtythree-home .slide .copy {
    min-height: 0 !important;
    height: auto !important;
    padding: 28px 22px 56px !important;
    justify-content: flex-start !important;
  }

  .sixtythree-home .slide .copy .kicker {
    font-size: 12px !important;
    line-height: 1.25 !important;
    margin-bottom: 8px !important;
  }

  .sixtythree-home .slide .copy h2 {
    font-size: clamp(29px, 8.2vw, 38px) !important;
    line-height: 1.08 !important;
    margin: 6px 0 12px !important;
    max-width: 100% !important;
    overflow-wrap: anywhere !important;
  }

  .sixtythree-home .slide .copy p {
    font-size: 14px !important;
    line-height: 1.55 !important;
    margin-bottom: 18px !important;
  }

  .sixtythree-home .slide .copy .btn {
    min-height: 44px !important;
    padding: 11px 16px !important;
    font-size: 12px !important;
  }

  .sixtythree-home .slider-controls {
    right: 20px !important;
    bottom: 18px !important;
  }

  .sixtythree-home .dot {
    width: 31px !important;
    height: 4px !important;
  }

  .sixtythree-home .slide .photo-hairdress-chair,
  .sixtythree-home .slide .photo-learning {
    background-size: 74% auto !important;
    background-repeat: no-repeat !important;
  }
}

@media (max-width: 420px) {
  .sixtythree-home .slide .photo { height: clamp(205px, 58vw, 245px) !important; }
  .sixtythree-home .slide .copy { padding: 25px 20px 54px !important; }
  .sixtythree-home .slide .copy h2 { font-size: clamp(27px, 8vw, 34px) !important; }
  .sixtythree-home .section-head h2 { font-size: clamp(34px, 11vw, 44px) !important; }
}

.sixtythree-scroll-top {
  width: 48px;
  height: 48px;
  border-radius: 999px;
  border: 1px solid rgba(157,104,34,.32);
  background: linear-gradient(180deg,#fffdf9,#f6ead8);
  color: var(--gold-2, #9f6a24);
  box-shadow: 0 14px 36px rgba(82,52,17,.14);
  display: inline-grid;
  place-items: center;
  cursor: pointer;
  transition: transform .22s ease, opacity .22s ease, box-shadow .22s ease;
  font-size: 22px;
  line-height: 1;
}
.sixtythree-scroll-top:hover { transform: translateY(-3px); box-shadow: 0 18px 44px rgba(82,52,17,.20); }
.sixtythree-scroll-top span { transform: translateY(-1px); }
.sixtythree-floating-scroll-top {
  position: fixed;
  right: max(18px, env(safe-area-inset-right));
  bottom: max(18px, env(safe-area-inset-bottom));
  z-index: 1600;
  opacity: 0;
  pointer-events: none;
}
.sixtythree-floating-scroll-top.is-visible { opacity: 1; pointer-events: auto; }
footer .footer-scroll-top { flex: 0 0 auto; }
@media (max-width: 767.98px) {
  .sixtythree-floating-scroll-top { width: 46px; height: 46px; right: 16px; bottom: 16px; }
  footer .footer-scroll-top { margin-inline: auto; }
}

/* Reduce below-fold render work for better mobile PageSpeed without hiding content from SEO/source. */
@supports (content-visibility: auto) {
  .bath-section,
  .story-section,
  .web-section,
  .learning-section,
  .cta-section,
  .map-section,
  footer {
    content-visibility: auto;
    contain-intrinsic-size: 1px 900px;
  }
}

/* v69: mobile services slider vertical height increase */
@media (max-width: 767.98px) {
  .sixtythree-home .slider-wrap {
    width: min(100% - 28px, 520px) !important;
  }

  .sixtythree-home .slider {
    min-height: clamp(820px, 188vw, 960px) !important;
    height: auto !important;
    overflow: hidden !important;
    border-radius: 28px !important;
  }

  .sixtythree-home .slide,
  .sixtythree-home .slide.active {
    min-height: clamp(820px, 188vw, 960px) !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: clamp(255px, 64vw, 335px) minmax(520px, 1fr) !important;
  }

  .sixtythree-home .slide.active {
    display: grid !important;
  }

  .sixtythree-home .slide .photo {
    min-height: clamp(255px, 64vw, 335px) !important;
    height: clamp(255px, 64vw, 335px) !important;
  }

  .sixtythree-home .slide .copy {
    min-height: 520px !important;
    height: auto !important;
    padding: 34px 22px 74px !important;
    justify-content: flex-start !important;
  }

  .sixtythree-home .slide .copy h2 {
    font-size: clamp(31px, 8.8vw, 40px) !important;
    line-height: 1.08 !important;
    margin-bottom: 16px !important;
  }

  .sixtythree-home .slide .copy p {
    font-size: 15px !important;
    line-height: 1.62 !important;
    margin-bottom: 22px !important;
  }

  .sixtythree-home .slider-controls {
    bottom: 24px !important;
  }
}

@media (max-width: 420px) {
  .sixtythree-home .slider {
    min-height: 850px !important;
  }

  .sixtythree-home .slide,
  .sixtythree-home .slide.active {
    min-height: 850px !important;
    grid-template-rows: 270px minmax(580px, 1fr) !important;
  }

  .sixtythree-home .slide .photo {
    min-height: 270px !important;
    height: 270px !important;
  }

  .sixtythree-home .slide .copy {
    min-height: 580px !important;
    padding: 36px 22px 78px !important;
  }
}


/* v70: definitive mobile/tablet services slider height fix + PageSpeed polish.
   Root also has .sixtythree-home again, but these selectors target both possible roots. */
@media (max-width: 900px) {
  #sixtythree-headless-root .slider-wrap,
  #sixtythree-headless-root.sixtythree-home .slider-wrap,
  .sixtythree-react-root .slider-wrap {
    width: min(100% - 28px, 540px) !important;
    margin-top: 18px !important;
    margin-bottom: 44px !important;
  }

  #sixtythree-headless-root .slider,
  #sixtythree-headless-root.sixtythree-home .slider,
  .sixtythree-react-root .slider {
    min-height: 0 !important;
    height: auto !important;
    overflow: visible !important;
    background: transparent !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    contain: none !important;
  }

  #sixtythree-headless-root .slide,
  #sixtythree-headless-root.sixtythree-home .slide,
  .sixtythree-react-root .slide {
    display: none !important;
    position: static !important;
    inset: auto !important;
    width: 100% !important;
    min-height: 0 !important;
    height: auto !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: auto auto !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transition: opacity .32s ease !important;
  }

  #sixtythree-headless-root .slide.active,
  #sixtythree-headless-root.sixtythree-home .slide.active,
  .sixtythree-react-root .slide.active {
    display: grid !important;
    position: relative !important;
    min-height: 820px !important;
    height: auto !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    overflow: hidden !important;
    border-radius: 30px !important;
    background: #1d140c !important;
    box-shadow: var(--shadow) !important;
  }

  #sixtythree-headless-root .slide .photo,
  #sixtythree-headless-root.sixtythree-home .slide .photo,
  .sixtythree-react-root .slide .photo {
    min-height: clamp(310px, 55vw, 390px) !important;
    height: clamp(310px, 55vw, 390px) !important;
    background-size: cover !important;
    background-position: center !important;
  }

  #sixtythree-headless-root .slide .copy,
  #sixtythree-headless-root.sixtythree-home .slide .copy,
  .sixtythree-react-root .slide .copy {
    display: flex !important;
    min-height: 510px !important;
    height: auto !important;
    padding: 36px 24px 86px !important;
    justify-content: flex-start !important;
    align-items: flex-start !important;
    overflow: visible !important;
  }

  #sixtythree-headless-root .slide .copy h2,
  #sixtythree-headless-root.sixtythree-home .slide .copy h2,
  .sixtythree-react-root .slide .copy h2 {
    font-size: clamp(36px, 8.4vw, 50px) !important;
    line-height: 1.04 !important;
    margin: 8px 0 18px !important;
    max-width: 100% !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
  }

  #sixtythree-headless-root .slide .copy p,
  #sixtythree-headless-root.sixtythree-home .slide .copy p,
  .sixtythree-react-root .slide .copy p {
    font-size: 16px !important;
    line-height: 1.7 !important;
    margin-bottom: 24px !important;
  }

  #sixtythree-headless-root .slider-controls,
  #sixtythree-headless-root.sixtythree-home .slider-controls,
  .sixtythree-react-root .slider-controls {
    right: 24px !important;
    bottom: 24px !important;
    z-index: 10 !important;
  }
}

@media (max-width: 520px) {
  #sixtythree-headless-root .slide.active,
  #sixtythree-headless-root.sixtythree-home .slide.active,
  .sixtythree-react-root .slide.active {
    min-height: 875px !important;
  }
  #sixtythree-headless-root .slide .photo,
  #sixtythree-headless-root.sixtythree-home .slide .photo,
  .sixtythree-react-root .slide .photo {
    min-height: 300px !important;
    height: 300px !important;
  }
  #sixtythree-headless-root .slide .copy,
  #sixtythree-headless-root.sixtythree-home .slide .copy,
  .sixtythree-react-root .slide .copy {
    min-height: 575px !important;
    padding: 34px 22px 88px !important;
  }
  #sixtythree-headless-root .slide .copy h2,
  #sixtythree-headless-root.sixtythree-home .slide .copy h2,
  .sixtythree-react-root .slide .copy h2 {
    font-size: clamp(34px, 10vw, 46px) !important;
  }
}

@media (max-width: 380px) {
  #sixtythree-headless-root .slide.active,
  #sixtythree-headless-root.sixtythree-home .slide.active,
  .sixtythree-react-root .slide.active {
    min-height: 920px !important;
  }
  #sixtythree-headless-root .slide .copy,
  #sixtythree-headless-root.sixtythree-home .slide .copy,
  .sixtythree-react-root .slide .copy {
    min-height: 620px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .slide, .btn, .nav-pill, .icon-btn, .sixtythree-scroll-top { transition: none !important; }
}


/* v71: requested mobile polish - search positioning, footer simplification, compact slider */
@media (max-width: 767.98px) {
  .site-search-wrap { position: static !important; }
  .header-tools .site-search-panel:not(.mobile-search-panel) {
    position: fixed !important;
    top: calc(74px + env(safe-area-inset-top, 0px) + 10px) !important;
    left: 14px !important;
    right: 14px !important;
    width: auto !important;
    max-width: none !important;
    z-index: 1700 !important;
    border-radius: 18px !important;
    padding: 10px !important;
    box-shadow: 0 18px 50px rgba(18,15,12,.20) !important;
  }
  .offcanvas .mobile-search-panel {
    position: relative !important;
    display: none;
    width: 100% !important;
    margin: 10px 0 14px !important;
    padding: 10px !important;
    border-radius: 18px !important;
  }
  .offcanvas .mobile-search-panel.is-open { display: block !important; }
  .site-search-row { grid-template-columns: 1fr !important; }
  .site-search-input { min-height: 50px !important; font-size: 16px !important; }
  .site-search-submit { width: 100% !important; min-height: 52px !important; }

  #sixtythree-headless-root .slide.active,
  #sixtythree-headless-root.sixtythree-home .slide.active,
  .sixtythree-react-root .slide.active {
    min-height: 680px !important;
    border-radius: 28px !important;
  }
  #sixtythree-headless-root .slide .photo,
  #sixtythree-headless-root.sixtythree-home .slide .photo,
  .sixtythree-react-root .slide .photo {
    min-height: clamp(235px, 55vw, 290px) !important;
    height: clamp(235px, 55vw, 290px) !important;
  }
  #sixtythree-headless-root .slide .copy,
  #sixtythree-headless-root.sixtythree-home .slide .copy,
  .sixtythree-react-root .slide .copy {
    min-height: 390px !important;
    padding: 28px 22px 70px !important;
  }
  #sixtythree-headless-root .slide .copy h2,
  #sixtythree-headless-root.sixtythree-home .slide .copy h2,
  .sixtythree-react-root .slide .copy h2 {
    font-size: clamp(32px, 9vw, 42px) !important;
    margin: 6px 0 14px !important;
  }
  #sixtythree-headless-root .slide .copy p,
  #sixtythree-headless-root.sixtythree-home .slide .copy p,
  .sixtythree-react-root .slide .copy p {
    font-size: 15px !important;
    line-height: 1.58 !important;
    margin-bottom: 20px !important;
  }
  #sixtythree-headless-root .slider-controls,
  #sixtythree-headless-root.sixtythree-home .slider-controls,
  .sixtythree-react-root .slider-controls {
    bottom: 22px !important;
  }

  footer {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    padding-bottom: calc(22px + env(safe-area-inset-bottom, 0px)) !important;
  }
  footer .footer-scroll-top { display: none !important; }
  footer .footer-social-facebook.footer-social-icon-only {
    justify-self: start !important;
    margin-left: 32px !important;
    width: 46px !important;
    height: 46px !important;
    background: #fff !important;
    box-shadow: 0 10px 26px rgba(82,52,17,.10) !important;
  }
  .sixtythree-floating-scroll-top {
    right: 18px !important;
    bottom: 18px !important;
  }
}

@media (max-width: 420px) {
  #sixtythree-headless-root .slide.active,
  #sixtythree-headless-root.sixtythree-home .slide.active,
  .sixtythree-react-root .slide.active { min-height: 650px !important; }
  #sixtythree-headless-root .slide .photo,
  #sixtythree-headless-root.sixtythree-home .slide .photo,
  .sixtythree-react-root .slide .photo { min-height: 245px !important; height: 245px !important; }
  #sixtythree-headless-root .slide .copy,
  #sixtythree-headless-root.sixtythree-home .slide .copy,
  .sixtythree-react-root .slide .copy { min-height: 405px !important; padding: 28px 22px 68px !important; }
}

/* v69: mobile footer spacing/alignment polish */
@media (max-width: 767.98px) {
  footer {
    display: grid !important;
    grid-template-columns: 1fr auto !important;
    gap: 12px !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
    padding-bottom: calc(34px + env(safe-area-inset-bottom, 0px)) !important;
  }
  footer .footer-item:not(.footer-social-facebook) {
    grid-column: 1 / -1 !important;
    width: 100% !important;
  }
  footer .footer-social-facebook.footer-social-icon-only {
    grid-column: 1 !important;
    justify-self: start !important;
    align-self: center !important;
    margin: 0 0 2px 32px !important;
    width: 46px !important;
    min-width: 46px !important;
    height: 46px !important;
    min-height: 46px !important;
    background: #fffdf9 !important;
    border-color: rgba(201,168,102,.34) !important;
    box-shadow: 0 10px 24px rgba(82,52,17,.12) !important;
  }
  footer .btn {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    margin-top: 0 !important;
    margin-bottom: 16px !important;
  }
  footer .footer-scroll-top { display: none !important; }
  .sixtythree-floating-scroll-top {
    right: 14px !important;
    bottom: calc(82px + env(safe-area-inset-bottom, 0px)) !important;
  }
}
@media (max-width: 420px) {
  footer {
    padding-left: 12px !important;
    padding-right: 12px !important;
    padding-bottom: calc(38px + env(safe-area-inset-bottom, 0px)) !important;
  }
  footer .footer-social-facebook.footer-social-icon-only {
    margin-left: 32px !important;
  }
  footer .btn {
    margin-bottom: 18px !important;
  }
}


/* v70: mobile Facebook footer becomes fourth contact button with translated text */
footer .footer-social-text { display: none; }
@media (max-width: 767.98px) {
  footer {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    padding-bottom: calc(44px + env(safe-area-inset-bottom, 0px)) !important;
  }
  footer .footer-item:not(.footer-scroll-top) {
    grid-column: 1 / -1 !important;
    width: 100% !important;
  }
  footer .footer-social-facebook.footer-social-icon-only {
    display: flex !important;
    justify-self: stretch !important;
    align-self: stretch !important;
    width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 58px !important;
    margin: 0 !important;
    padding: 11px 14px !important;
    gap: 12px !important;
    border-radius: 18px !important;
    background: rgba(255,255,255,.62) !important;
    border: 1px solid var(--line) !important;
    box-shadow: none !important;
    color: #574b40 !important;
  }
  footer .footer-social-facebook.footer-social-icon-only .footer-icon-facebook {
    width: 42px !important;
    min-width: 42px !important;
    height: 42px !important;
    min-height: 42px !important;
    margin: 0 !important;
    background: linear-gradient(180deg, #f8e7bc, #e9c980) !important;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.55), 0 8px 18px rgba(154,111,38,.12) !important;
  }
  footer .footer-social-facebook.footer-social-icon-only svg {
    width: 18px !important;
    height: 18px !important;
  }
  footer .footer-social-text {
    display: flex !important;
    align-items: center !important;
    min-height: 1px !important;
  }
  footer .footer-social-text b {
    color: #3a2e24 !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
  }
  footer .btn {
    margin-top: 0 !important;
    margin-bottom: 22px !important;
  }
  .sixtythree-floating-scroll-top {
    right: 14px !important;
    bottom: calc(88px + env(safe-area-inset-bottom, 0px)) !important;
  }
}
@media (max-width: 420px) {
  footer {
    padding-bottom: calc(48px + env(safe-area-inset-bottom, 0px)) !important;
  }
  footer .btn {
    margin-bottom: 24px !important;
  }
}

/* v71: desktop Facebook footer remains icon-only; mobile keeps full contact-style button */
@media (min-width: 768px) {
  footer .footer-social-facebook.footer-social-icon-only {
    display: inline-grid !important;
    place-items: center !important;
    width: 46px !important;
    min-width: 46px !important;
    height: 46px !important;
    min-height: 46px !important;
    padding: 0 !important;
    border-radius: 999px !important;
    justify-self: auto !important;
    align-self: center !important;
    flex: 0 0 46px !important;
    background: #fffdf9 !important;
    border: 1px solid rgba(201,168,102,.34) !important;
    box-shadow: 0 10px 24px rgba(82,52,17,.12) !important;
  }
  footer .footer-social-facebook.footer-social-icon-only .footer-social-text {
    display: none !important;
  }
  footer .footer-social-facebook.footer-social-icon-only .footer-icon-facebook {
    width: 34px !important;
    min-width: 34px !important;
    height: 34px !important;
    min-height: 34px !important;
    margin: 0 !important;
  }
  footer .footer-social-facebook.footer-social-icon-only svg {
    width: 16px !important;
    height: 16px !important;
  }
}

/* 404 / empty archive page */
.sixtythree-error-page,
.sixtythree-archive-page {
  min-height: 62vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-top: clamp(72px, 10vw, 132px);
  padding-bottom: clamp(72px, 10vw, 132px);
}
.error-hero-card {
  width: min(760px, 100%);
  margin: 0 auto;
  padding: clamp(34px, 6vw, 72px);
  border: 1px solid rgba(207, 151, 57, .25);
  border-radius: 32px;
  background: linear-gradient(145deg, rgba(255, 250, 242, .96), rgba(255, 255, 255, .9));
  box-shadow: 0 24px 80px rgba(44, 31, 25, .08);
  text-align: center;
}
.error-hero-card h1 {
  margin: 14px 0 16px;
  font-size: clamp(2.25rem, 7vw, 5.2rem);
  line-height: .96;
  letter-spacing: -.05em;
  color: #2d221d;
}
.error-hero-card p {
  max-width: 560px;
  margin: 0 auto 28px;
  font-size: clamp(1rem, 2.5vw, 1.18rem);
  line-height: 1.75;
  color: rgba(45, 34, 29, .72);
}
.error-home-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 54px;
  padding: 0 28px;
  border-radius: 18px;
  text-decoration: none;
}
@media (max-width: 767px) {
  .sixtythree-error-page,
  .sixtythree-archive-page {
    min-height: 58vh;
    padding: 54px 18px 84px;
  }
  .error-hero-card {
    border-radius: 24px;
    padding: 34px 22px;
  }
  .error-home-link {
    width: 100%;
  }
}


/* v36: improved blog share icons, add X share */
.blog-lightbox .blog-lightbox-share{
  gap:12px;
  margin:24px 0 6px;
}
.blog-lightbox .blog-share-btn{
  width:46px;
  height:46px;
  min-width:46px;
  min-height:46px;
  padding:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(199,139,58,.42);
  background:rgba(255,250,242,.86);
  color:#9d6a24;
  box-shadow:0 8px 20px rgba(83,53,16,.07);
}
.blog-lightbox .blog-share-btn:hover,
.blog-lightbox .blog-share-btn:focus-visible{
  background:#c78b3a;
  border-color:#c78b3a;
  color:#fff;
  transform:translateY(-2px);
  outline:none;
}
.blog-lightbox .blog-share-btn svg{
  width:20px;
  height:20px;
  display:block;
  fill:currentColor;
}
.blog-lightbox .blog-share-linkedin svg{
  width:19px;
  height:19px;
}
.blog-lightbox .blog-share-x svg{
  width:18px;
  height:18px;
}
.blog-lightbox .blog-share-copy.is-copied{
  background:#5f421d;
  border-color:#5f421d;
  color:#fff;
}


/* v37: image delivery improvements */
.brand-logo-picture source[type="image/avif"] + source + .brand-logo-img,
.brand-logo-img{content-visibility:auto;}

.sixtythree-hcaptcha-field .h-captcha{min-height:78px;display:block}.sixtythree-hcaptcha-field{margin-top:10px}


/* v1.7.7 Lighthouse accessibility and image-delivery fixes */
.panel .panel-title {
  font-family:"Cormorant Garamond", Georgia, serif;
  font-size:28px;
  margin:0 0 6px;
  line-height:1.08;
  letter-spacing:-.03em;
}
.btn,
a.btn,
button.btn,
.wpbb-dynamic-form-wrap .btn,
.wpbb-form-actions .btn {
  background:#724514;
  border-color:#724514;
  color:#fff !important;
}
.btn:hover,
a.btn:hover,
button.btn:hover,
.wpbb-dynamic-form-wrap .btn:hover,
.wpbb-form-actions .btn:hover {
  background:#5d360d;
  border-color:#5d360d;
  color:#fff !important;
}
.btn-outline,
a.btn-outline {
  background:#fffaf4 !important;
  border-color:#724514 !important;
  color:#4c2b0a !important;
}
.lang-switch a,
.lang-switch button,
.offcanvas .mobile-lang a,
.offcanvas .mobile-lang button {
  color:#4f4133 !important;
}
.lang-switch a.active,
.lang-switch button.active,
.offcanvas .mobile-lang a.active,
.offcanvas .mobile-lang button.active {
  background:#ead8bd !important;
  color:#3d2508 !important;
}
.wordmark .main strong em,
.wordmark .top,
.wordmark .bottom {
  color:#6f4315 !important;
}
.offcanvas .wordmark .main strong,
.offcanvas .wordmark .main span,
.offcanvas .wordmark .top,
.offcanvas .wordmark .bottom {
  color:#3b2a1d !important;
}
.blog-card a.blog-open-modal {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  min-width:44px;
  padding:12px 14px;
  margin-top:14px;
  border-radius:999px;
  border:1px solid rgba(114,69,20,.28);
  color:#4c2b0a !important;
  background:#fffaf4;
  line-height:1.2;
}
.blog-card a.blog-open-modal:hover,
.blog-card a.blog-open-modal:focus-visible {
  border-color:#724514;
  background:#f7ecdb;
  outline:2px solid rgba(114,69,20,.25);
  outline-offset:2px;
}
.dot {
  min-width:44px;
  min-height:24px;
}
@media (max-width: 767px) {
  .blog-card a.blog-open-modal {
    width:100%;
    min-height:48px;
  }
}

/* Rent offer image modal */
html.modal-is-open,
html.modal-is-open body {
  overflow: hidden;
}
.rent-offer-backdrop {
  padding: clamp(12px, 2vw, 28px);
}
.rent-offer-modal {
  width: min(1120px, 96vw);
  max-height: 94vh;
  padding: clamp(14px, 2.5vw, 28px);
  overflow: auto;
}
.rent-offer-head {
  align-items: center;
  margin-bottom: 14px;
}
.rent-offer-head h2 {
  font-size: clamp(24px, 4vw, 42px);
}
.rent-offer-image-wrap {
  border: 1px solid var(--line);
  border-radius: 24px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 18px 50px rgba(83, 53, 16, .12);
}
.rent-offer-image {
  width: 100%;
  height: auto;
  display: block;
}
@media (max-width: 767px) {
  .rent-offer-modal {
    width: 98vw;
    max-height: 96vh;
    border-radius: 22px;
  }
  .rent-offer-head {
    gap: 12px;
  }
  .rent-offer-head p {
    display: none;
  }
  .rent-offer-image-wrap {
    border-radius: 16px;
  }
}
