/* ===========================================
   WOBALMINE — Maximalist Color Design System
   =========================================== */

:root{
  --wi-terracotta:#D6572E;
  --wi-terracotta-dark:#B8431F;
  --wi-teal:#0E5C57;
  --wi-teal-dark:#0A4744;
  --wi-mustard:#E8A63B;
  --wi-mustard-dark:#C98A24;
  --wi-plum:#5B3159;
  --wi-plum-dark:#42233F;
  --wi-cream:#FBF3E4;
  --wi-cream-dark:#F3E6CE;
  --wi-ink:#23201C;
  --wi-ink-soft:#4A4339;
  --wi-white-soft:#FFFDF9;

  --wi-radius-sm:8px;
  --wi-radius-md:16px;
  --wi-radius-lg:28px;
  --wi-radius-xl:40px;

  --wi-shadow-sm:0 2px 8px rgba(35,32,28,.08);
  --wi-shadow-md:0 8px 24px rgba(35,32,28,.12), 0 2px 6px rgba(35,32,28,.06);
  --wi-shadow-lg:0 24px 55px rgba(35,32,28,.18), 0 8px 16px rgba(35,32,28,.1);

  --wi-space-1:.5rem;
  --wi-space-2:1rem;
  --wi-space-3:1.5rem;
  --wi-space-4:2.5rem;
  --wi-space-5:4rem;
  --wi-space-6:6rem;

  --wi-font-head:'Sora', sans-serif;
  --wi-font-body:'DM Sans', sans-serif;
}

*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; overflow-x: hidden; }
body{
  margin:0;
  font-family:var(--wi-font-body);
  color:var(--wi-ink);
  background:var(--wi-cream);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
h1,h2,h3,h4{
  font-family:var(--wi-font-head);
  line-height:1.15;
  margin:0 0 .6em;
  font-weight:700;
}
p{ margin:0 0 1em; }
a{ color:inherit; text-decoration:none; transition:color .25s ease, background .25s ease, transform .25s ease; }
img{ max-width:100%; display:block; }
ul{ margin:0; padding:0; list-style:none; }
button{ font-family:var(--wi-font-body); cursor:pointer; border:none; background:none; }

.wi-container{
  max-width:1200px;
  margin:0 auto;
  padding:0 var(--wi-space-3);
}


h1{ font-size:clamp(2.2rem, 5vw + 1rem, 4rem); font-weight:800; letter-spacing:-.01em; }
h2{ font-size:clamp(1.7rem, 3vw + 1rem, 2.6rem); }
h3{ font-size:clamp(1.15rem, 1.5vw + .8rem, 1.4rem); }
.wi-eyebrow{
  font-family:var(--wi-font-head);
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:.8rem;
  font-weight:600;
  color:rgba(255,253,249,.85);
  margin-bottom:var(--wi-space-2);
}
.wi-eyebrow-dark{ color:var(--wi-terracotta-dark); }


.wi-nav-wrapper{
  position:fixed;
  top:0; left:0; right:0;
  z-index:1000;
  display:flex;
  justify-content:center;
  padding:1rem 1.25rem 0;
  pointer-events:none;
}
.wi-nav{
  pointer-events:all;
  width:100%;
  max-width:1140px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:.7rem 1rem .7rem 1.3rem;
  border-radius:999px;
  background:rgba(255,255,255,0);
  box-shadow:none;
  transition:background .4s ease, box-shadow .4s ease, padding .4s ease;
}
.wi-nav.wi-nav-solid{
  background:rgba(255,253,249,.92);
  backdrop-filter:blur(14px);
  box-shadow:var(--wi-shadow-md);
}
.wi-nav-logo{
  display:flex; align-items:center; gap:.6rem;
  font-family:var(--wi-font-head);
  font-weight:700;
  font-size:1.1rem;
  color:var(--wi-ink);
}
.wi-nav.wi-nav-solid .wi-nav-logo{ color:var(--wi-ink); }
.wi-nav:not(.wi-nav-solid) .wi-nav-logo{ color:var(--wi-white-soft); }

.wi-nav-links{
  display:flex; align-items:center; gap:1.8rem;
}
.wi-nav:not(.wi-nav-solid) .wi-nav-links a{ color:var(--wi-white-soft); }
.wi-nav.wi-nav-solid .wi-nav-links a{ color:var(--wi-ink-soft); }
.wi-nav-links a{
  font-weight:600; font-size:.95rem;
  position:relative;
  padding:.3rem 0;
}
.wi-nav-links a:not(.wi-nav-cta)::after{
  content:'';
  position:absolute; left:0; bottom:-2px;
  width:0; height:2px;
  background:var(--wi-terracotta);
  transition:width .3s ease;
}
.wi-nav-links a:not(.wi-nav-cta):hover::after{ width:100%; }
.wi-nav-cta{
  background:var(--wi-terracotta);
  color:var(--wi-white-soft) !important;
  padding:.6rem 1.3rem !important;
  border-radius:999px;
  box-shadow:0 6px 18px rgba(214,87,46,.4);
  transition:transform .3s ease, box-shadow .3s ease, background .3s ease;
}
.wi-nav-cta:hover{
  background:var(--wi-terracotta-dark);
  box-shadow:0 8px 24px rgba(214,87,46,.55);
  transform:translateY(-2px);
}

.wi-nav-toggle{
  display:none;
  flex-direction:column;
  gap:5px;
  width:44px; height:44px;
  align-items:center; justify-content:center;
  border-radius:50%;
  transition:background .3s ease;
}
.wi-nav-toggle span{
  display:block; width:22px; height:2px;
  background:var(--wi-white-soft);
  border-radius:2px;
  transition:all .3s ease;
}
.wi-nav.wi-nav-solid .wi-nav-toggle span{ background:var(--wi-ink); }
.wi-nav-toggle.wi-open span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.wi-nav-toggle.wi-open span:nth-child(2){ opacity:0; }
.wi-nav-toggle.wi-open span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }


.wi-mobile-menu{
  position:fixed; inset:0;
  z-index:999;
  display:flex;
  visibility:hidden;
  opacity:0;
  transition:opacity .45s ease, visibility .45s ease;
}
.wi-mobile-menu.wi-open{
  visibility:visible; opacity:1;
}
.wi-mobile-menu-left{
  width:60%;
  background:var(--wi-teal);
  display:flex; align-items:center;
  padding:2rem 2rem 2rem 2.2rem;
}
.wi-mobile-menu-left ul{
  display:flex; flex-direction:column; gap:1.1rem;
}
.wi-mobile-menu-left a{
  font-family:var(--wi-font-head);
  font-weight:700;
  font-size:clamp(1.6rem, 6vw, 2.4rem);
  color:var(--wi-white-soft);
  transition:color .3s ease, padding-left .3s ease;
}
.wi-mobile-menu-left a:hover{ color:var(--wi-mustard); padding-left:.4rem; }
.wi-mobile-menu-right{
  width:40%;
  position:relative;
  overflow:hidden;
}
.wi-mobile-menu-right img{
  width:100%; height:100%; object-fit:cover;
}
.wi-mobile-menu-right::after{
  content:'';
  position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(214,87,46,.15), rgba(35,32,28,.45));
}


.wi-section{ padding:var(--wi-space-6) 0; position:relative; }
.wi-bg-cream{ background:var(--wi-cream); color:var(--wi-ink); }
.wi-bg-teal{ background:var(--wi-teal); color:var(--wi-white-soft); }
.wi-bg-mustard{ background:var(--wi-mustard); color:var(--wi-ink); }
.wi-bg-plum{ background:var(--wi-plum); color:var(--wi-white-soft); }
.wi-bg-terracotta{ background:var(--wi-terracotta); color:var(--wi-white-soft); }

.wi-section-head{ max-width:720px; margin:0 auto var(--wi-space-5); text-align:center; }
.wi-section-head p{ opacity:.92; }
.wi-dark-heading{ color:var(--wi-ink); }
.wi-dark-sub{ color:var(--wi-ink-soft); }


.wi-hero{
  min-height:88vh;
  display:flex; align-items:center;
  background:linear-gradient(155deg, var(--wi-terracotta) 0%, var(--wi-terracotta-dark) 65%, #8f3016 100%);
  color:var(--wi-white-soft);
  padding:8rem 0 5rem;
  position:relative;
  overflow:hidden;
}
.wi-hero::before{
  content:'';
  position:absolute;
  width:600px; height:600px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(232,166,59,.35), transparent 70%);
  top:-200px; right:-150px;
}
.wi-hero-inner{
  max-width:900px;
  margin:0 auto;
  padding:0 var(--wi-space-3);
  position:relative; z-index:1;
  text-align:center;
}
.wi-hero h1{ margin-bottom:.5em; }
.wi-hero-sub{
  font-size:clamp(1rem, .5vw + 1rem, 1.2rem);
  max-width:640px;
  margin:0 auto var(--wi-space-4);
  color:rgba(255,253,249,.92);
}

.wi-progress{
  display:flex; align-items:center; justify-content:center;
  gap:.5rem;
  flex-wrap:wrap;
  margin-top:var(--wi-space-4);
}
.wi-progress-step{
  display:flex; flex-direction:column; align-items:center; gap:.6rem;
  min-width:120px;
}
.wi-progress-icon{
  width:64px; height:64px;
  border-radius:50%;
  background:rgba(255,253,249,.14);
  border:1px solid rgba(255,253,249,.35);
  display:flex; align-items:center; justify-content:center;
  font-size:1.4rem;
  box-shadow:0 0 0 6px rgba(232,166,59,.12), 0 10px 25px rgba(0,0,0,.2);
  transition:transform .35s ease, box-shadow .35s ease, background .35s ease;
}
.wi-progress-step:hover .wi-progress-icon{
  transform:translateY(-6px) scale(1.05);
  background:rgba(232,166,59,.35);
  box-shadow:0 0 0 10px rgba(232,166,59,.2), 0 16px 34px rgba(0,0,0,.25);
}
.wi-progress-step span{ font-size:.85rem; font-weight:600; }
.wi-progress-line{
  width:50px; height:2px;
  background:rgba(255,253,249,.35);
  margin-bottom:1.9rem;
}


.wi-page-hero{
  padding:9.5rem 0 4.5rem;
  text-align:center;
}
.wi-page-hero .wi-container{ max-width:820px; }
.wi-legal-hero{ padding-bottom:3.5rem; }


.wi-intro-grid, .wi-flip-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:var(--wi-space-5);
  align-items:center;
}
.wi-flip-grid{ direction:ltr; }
.wi-rounded-img{
  border-radius:var(--wi-radius-lg);
  box-shadow:var(--wi-shadow-lg);
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
}

.wi-grid-cards{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:var(--wi-space-3);
}
.wi-grid-cards-2{ grid-template-columns:repeat(2, 1fr); }
.wi-grid-cards-4{ grid-template-columns:repeat(4, 1fr); }


.wi-card{
  background:rgba(255,253,249,.06);
  border:1px solid rgba(255,253,249,.14);
  border-radius:var(--wi-radius-md);
  padding:var(--wi-space-3);
  transition:transform .35s ease, box-shadow .35s ease, background .35s ease;
}
.wi-card:hover{ transform:translateY(-8px); }
.wi-card-icon{
  width:52px; height:52px;
  border-radius:var(--wi-radius-sm);
  display:flex; align-items:center; justify-content:center;
  font-size:1.3rem;
  margin-bottom:1rem;
}
.wi-card h3{ margin-bottom:.5rem; }
.wi-card p{ font-size:.95rem; opacity:.92; margin-bottom:0; }

.wi-card-teal{ background:rgba(255,253,249,.08); border-color:rgba(255,253,249,.18); }
.wi-card-teal .wi-card-icon{ background:var(--wi-mustard); color:var(--wi-teal-dark); box-shadow:0 8px 20px rgba(232,166,59,.35); }
.wi-card-teal:hover{ box-shadow:0 20px 40px rgba(0,0,0,.25); background:rgba(255,253,249,.13); }

.wi-card-plum{ background:rgba(255,253,249,.07); border-color:rgba(255,253,249,.18); }
.wi-card-plum .wi-card-icon{ background:var(--wi-terracotta); color:var(--wi-white-soft); box-shadow:0 8px 20px rgba(214,87,46,.4); }
.wi-card-plum:hover{ box-shadow:0 20px 40px rgba(0,0,0,.3); }

.wi-card-mustard{ background:rgba(255,253,249,.5); border:1px solid rgba(35,32,28,.08); color:var(--wi-ink); }
.wi-card-mustard .wi-card-icon{ background:var(--wi-plum); color:var(--wi-white-soft); box-shadow:0 8px 20px rgba(91,49,89,.35); }
.wi-card-mustard:hover{ box-shadow:var(--wi-shadow-lg); background:rgba(255,253,249,.75); }

.wi-card-cream{ background:var(--wi-white-soft); border:1px solid rgba(35,32,28,.08); color:var(--wi-ink); }
.wi-card-cream .wi-card-icon{ background:var(--wi-terracotta); color:var(--wi-white-soft); box-shadow:0 8px 20px rgba(214,87,46,.3); }
.wi-card-cream:hover{ box-shadow:var(--wi-shadow-lg); }


.wi-resource-card{
  background:rgba(255,253,249,.08);
  border:1px solid rgba(255,253,249,.16);
  border-radius:var(--wi-radius-md);
  padding:var(--wi-space-3);
  text-align:left;
  transition:transform .35s ease, box-shadow .35s ease, background .35s ease;
}
.wi-resource-card:hover{
  transform:translateY(-8px);
  background:rgba(255,253,249,.14);
  box-shadow:0 20px 45px rgba(0,0,0,.28), 0 0 0 1px rgba(232,166,59,.3);
}
.wi-resource-icon{
  width:56px; height:56px;
  border-radius:50%;
  background:var(--wi-mustard);
  color:var(--wi-teal-dark);
  display:flex; align-items:center; justify-content:center;
  font-size:1.4rem;
  margin-bottom:1rem;
  box-shadow:0 0 0 6px rgba(232,166,59,.18);
}
.wi-resource-card h3{ margin-bottom:.5rem; font-size:1.1rem; }
.wi-resource-card p{ font-size:.9rem; opacity:.9; }
.wi-resource-tag{
  display:inline-block;
  margin-top:.8rem;
  font-size:.78rem;
  font-weight:600;
  letter-spacing:.03em;
  color:var(--wi-mustard);
  text-transform:uppercase;
}


.wi-image-banner{
  margin-top:var(--wi-space-5);
  border-radius:var(--wi-radius-lg);
  overflow:hidden;
  box-shadow:var(--wi-shadow-lg);
}
.wi-image-banner img{ width:100%; height:380px; object-fit:cover; }


.wi-timeline{ display:flex; flex-direction:column; gap:var(--wi-space-3); }
.wi-week-block{
  display:grid;
  grid-template-columns:140px 1fr;
  gap:var(--wi-space-3);
  background:rgba(255,253,249,.08);
  border:1px solid rgba(255,253,249,.16);
  border-radius:var(--wi-radius-md);
  padding:var(--wi-space-3);
  transition:transform .3s ease, background .3s ease;
}
.wi-week-block:hover{ transform:translateX(6px); background:rgba(255,253,249,.13); }
.wi-week-num{
  font-family:var(--wi-font-head);
  font-weight:800;
  font-size:1.1rem;
  color:var(--wi-mustard);
  display:flex; align-items:flex-start;
}
.wi-week-content h3{ margin-bottom:.5rem; }
.wi-week-content p{ font-size:.95rem; opacity:.92; }
.wi-week-tags{ display:flex; flex-wrap:wrap; gap:.6rem; margin-top:1rem; }
.wi-week-tags span{
  font-size:.78rem; font-weight:600;
  background:rgba(255,253,249,.12);
  border:1px solid rgba(255,253,249,.2);
  padding:.4rem .8rem;
  border-radius:999px;
}
.wi-week-tags i{ margin-right:.35rem; }


.wi-location-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:var(--wi-space-5);
  align-items:center;
}
.wi-info-list{ margin-top:1.5rem; display:flex; flex-direction:column; gap:1rem; }
.wi-info-list li{
  display:flex; align-items:center; gap:.8rem;
  font-weight:500;
}
.wi-info-list i{
  width:42px; height:42px;
  border-radius:50%;
  background:var(--wi-terracotta);
  color:var(--wi-white-soft);
  display:flex; align-items:center; justify-content:center;
  flex-shrink:0;
}
.wi-map-frame{
  width:100%; height:380px;
  border-radius:var(--wi-radius-lg);
  overflow:hidden;
  box-shadow:var(--wi-shadow-lg);
}
.wi-map-frame-small{ height:220px; margin-top:1.5rem; }


.wi-contact-cards{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:var(--wi-space-3);
}
.wi-contact-card{
  background:rgba(35,32,28,.08);
  border-radius:var(--wi-radius-md);
  padding:var(--wi-space-3);
  text-align:center;
  transition:transform .3s ease, background .3s ease;
}
.wi-contact-card:hover{ transform:translateY(-6px); background:rgba(35,32,28,.14); }
.wi-contact-card i{
  font-size:1.6rem;
  color:var(--wi-plum);
  margin-bottom:.8rem;
  display:inline-block;
}
.wi-contact-card h3{ margin-bottom:.4rem; font-size:1.05rem; }
.wi-contact-card p{ font-size:.9rem; margin-bottom:0; }

.wi-cta-inline{ text-align:center; margin-top:var(--wi-space-4); }


.wi-btn{
  display:inline-flex; align-items:center; gap:.6rem;
  font-family:var(--wi-font-head);
  font-weight:600;
  font-size:.95rem;
  padding:.9rem 1.8rem;
  border-radius:999px;
  transition:transform .3s ease, box-shadow .3s ease, background .3s ease;
  min-height:44px;
}
.wi-btn-light{
  background:var(--wi-white-soft);
  color:var(--wi-ink);
  box-shadow:var(--wi-shadow-md);
}
.wi-btn-light:hover{ transform:translateY(-3px); box-shadow:var(--wi-shadow-lg); }
.wi-btn-dark{
  background:var(--wi-ink);
  color:var(--wi-white-soft);
  box-shadow:0 10px 25px rgba(35,32,28,.3);
}
.wi-btn-dark:hover{ transform:translateY(-3px); background:#3a3428; }
.wi-btn-primary{
  background:var(--wi-terracotta);
  color:var(--wi-white-soft);
  box-shadow:0 10px 26px rgba(214,87,46,.4);
}
.wi-btn-primary:hover{ background:var(--wi-terracotta-dark); transform:translateY(-3px); box-shadow:0 14px 32px rgba(214,87,46,.5); }
.wi-btn-ghost{
  background:transparent;
  border:2px solid rgba(35,32,28,.15);
  color:var(--wi-ink-soft);
}
.wi-btn-ghost:hover{ border-color:var(--wi-terracotta); color:var(--wi-terracotta); }


.wi-cta-final{ text-align:center; }
.wi-cta-final h2{ margin-bottom:.5rem; }
.wi-cta-final p{ max-width:520px; margin:0 auto 1.8rem; opacity:.92; }


.wi-share-btn{
  display:inline-flex; align-items:center; gap:.6rem;
  background:rgba(255,253,249,.15);
  border:1px solid rgba(255,253,249,.4);
  color:inherit;
  padding:.7rem 1.4rem;
  border-radius:999px;
  font-weight:600;
  font-size:.9rem;
  margin-top:1.5rem;
  transition:background .3s ease, transform .3s ease;
}
.wi-share-btn:hover{ background:rgba(255,253,249,.28); transform:translateY(-2px); }
.wi-share-btn-dark{ background:rgba(35,32,28,.1); border-color:rgba(35,32,28,.25); color:var(--wi-ink); }
.wi-share-btn-dark:hover{ background:rgba(35,32,28,.18); }

.wi-toast{
  position:fixed;
  bottom:2rem; left:50%;
  transform:translateX(-50%) translateY(20px);
  background:var(--wi-ink);
  color:var(--wi-white-soft);
  padding:.8rem 1.6rem;
  border-radius:999px;
  font-weight:600;
  font-size:.9rem;
  box-shadow:var(--wi-shadow-lg);
  opacity:0;
  pointer-events:none;
  transition:opacity .35s ease, transform .35s ease;
  z-index:3000;
}
.wi-toast.wi-show{
  opacity:1;
  transform:translateX(-50%) translateY(0);
}


.wi-faq-heading{ text-align:center; margin-bottom:var(--wi-space-4); }
.wi-faq-list{ max-width:820px; margin:0 auto; display:flex; flex-direction:column; gap:1rem; }
.wi-faq-item{
  background:rgba(255,253,249,.08);
  border:1px solid rgba(255,253,249,.16);
  border-radius:var(--wi-radius-md);
  padding:1.2rem 1.5rem;
}
.wi-bg-cream .wi-faq-item, .wi-bg-mustard .wi-faq-item{
  background:rgba(255,253,249,.55);
  border-color:rgba(35,32,28,.1);
}
.wi-faq-item summary{
  cursor:pointer;
  font-family:var(--wi-font-head);
  font-weight:700;
  font-size:1.02rem;
  list-style:none;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:1rem;
}
.wi-faq-item summary::-webkit-details-marker{ display:none; }
.wi-faq-item summary::after{
  content:'+';
  font-size:1.4rem;
  font-weight:400;
  transition:transform .3s ease;
  flex-shrink:0;
}
.wi-faq-item[open] summary::after{ transform:rotate(45deg); }
.wi-faq-item p{ margin-top:.8rem; font-size:.95rem; opacity:.92; }

.wi-legal-content{ max-width:820px; margin:0 auto; }
.wi-legal-item{ margin-bottom:var(--wi-space-4); }
.wi-legal-item h2{ font-size:1.35rem; margin-bottom:.6rem; color:var(--wi-terracotta-dark); }
.wi-legal-item p{ font-size:.98rem; color:var(--wi-ink-soft); }


.wi-thanks-hero{ text-align:center; }
.wi-thanks-icon{
  width:80px; height:80px;
  border-radius:50%;
  background:rgba(255,253,249,.15);
  display:flex; align-items:center; justify-content:center;
  font-size:2rem;
  margin:0 auto 1.5rem;
}


.wi-contact-grid{
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:var(--wi-space-5);
  align-items:start;
}
.wi-form-panel{
  background:var(--wi-white-soft);
  border-radius:var(--wi-radius-lg);
  padding:var(--wi-space-4);
  box-shadow:var(--wi-shadow-lg);
}
.wi-form-progress{
  display:flex; align-items:center; gap:.6rem;
  margin-bottom:var(--wi-space-3);
}
.wi-form-step-indicator{
  width:32px; height:32px;
  border-radius:50%;
  background:rgba(35,32,28,.1);
  color:var(--wi-ink-soft);
  display:flex; align-items:center; justify-content:center;
  font-weight:700; font-size:.9rem;
  transition:background .3s ease, color .3s ease;
}
.wi-form-step-indicator.active{
  background:var(--wi-terracotta);
  color:var(--wi-white-soft);
  box-shadow:0 6px 16px rgba(214,87,46,.4);
}
.wi-form-progress-line{ flex:1; height:2px; background:rgba(35,32,28,.12); }
.wi-form-step h3{ margin-bottom:1.2rem; }
.wi-field{ margin-bottom:1.2rem; }
.wi-field label{ display:block; font-weight:600; margin-bottom:.5rem; font-size:.9rem; }
.wi-field input[type="text"],
.wi-field input[type="email"],
.wi-field textarea{
  width:100%;
  padding:.9rem 1rem;
  border-radius:var(--wi-radius-sm);
  border:1.5px solid rgba(35,32,28,.15);
  font-family:var(--wi-font-body);
  font-size:.95rem;
  background:var(--wi-cream);
  color:var(--wi-ink);
  transition:border-color .3s ease, box-shadow .3s ease;
  min-height:44px;
}
.wi-field textarea{ resize:vertical; min-height:120px; }
.wi-field input:focus, .wi-field textarea:focus{
  outline:none;
  border-color:var(--wi-terracotta);
  box-shadow:0 0 0 4px rgba(214,87,46,.15);
}
.wi-field-checkbox{ display:flex; align-items:flex-start; gap:.7rem; }
.wi-field-checkbox input{ width:20px; height:20px; margin-top:.2rem; flex-shrink:0; accent-color:var(--wi-terracotta); }
.wi-field-checkbox label{ font-weight:400; font-size:.9rem; margin-bottom:0; }
.wi-field-checkbox a{ color:var(--wi-terracotta); font-weight:600; }
.wi-form-buttons{ display:flex; gap:1rem; }

.wi-contact-side{ display:flex; flex-direction:column; gap:var(--wi-space-2); }
.wi-contact-info-card{
  background:rgba(35,32,28,.06);
  border-radius:var(--wi-radius-md);
  padding:var(--wi-space-3);
}
.wi-contact-info-card h3{ margin-bottom:.6rem; }
.wi-contact-info-card p{ font-size:.92rem; color:var(--wi-ink-soft); margin-bottom:0; }
.wi-info-list-card{ background:rgba(35,32,28,.06); border-radius:var(--wi-radius-md); padding:var(--wi-space-3); margin-top:0; }
.wi-info-list-card i{ background:var(--wi-plum); }


.wi-footer{
  background:var(--wi-ink);
  color:rgba(255,253,249,.85);
  padding:var(--wi-space-5) 0 var(--wi-space-2);
  margin-top:auto;
}
.wi-footer-grid{
  display:grid;
  grid-template-columns:1.4fr 1fr 1.3fr 1fr;
  gap:var(--wi-space-4);
  margin-bottom:var(--wi-space-4);
}
.wi-footer-logo{ margin-bottom:1rem; color:var(--wi-white-soft); }
.wi-footer-col h4{
  font-size:.85rem;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:var(--wi-mustard);
  margin-bottom:1rem;
}
.wi-footer-col ul{ display:flex; flex-direction:column; gap:.7rem; }
.wi-footer-col a{ font-size:.92rem; opacity:.85; transition:opacity .3s ease; }
.wi-footer-col a:hover{ opacity:1; color:var(--wi-mustard); }
.wi-footer-posts li{ font-size:.88rem; opacity:.85; display:flex; flex-direction:column; gap:.15rem; }
.wi-footer-posts span{ font-size:.75rem; color:var(--wi-mustard); font-weight:600; }
.wi-footer-bottom{
  border-top:1px solid rgba(255,253,249,.12);
  padding-top:1.5rem;
  text-align:center;
}
.wi-footer-bottom p{ font-size:.82rem; opacity:.7; margin:0; }


@media (max-width: 980px){
  .wi-intro-grid, .wi-flip-grid, .wi-location-grid, .wi-contact-grid{
    grid-template-columns:1fr;
  }
  .wi-flip-grid > div:first-child{ order:2; }
  .wi-grid-cards, .wi-grid-cards-2, .wi-grid-cards-4{ grid-template-columns:repeat(2,1fr); }
  .wi-contact-cards{ grid-template-columns:repeat(2,1fr); }
  .wi-footer-grid{ grid-template-columns:1fr 1fr; }
}

@media (max-width: 720px){
  .wi-nav-links{
    position:static;
  }
  .wi-nav-links li:not(:last-child){ display:none; }
  .wi-nav-toggle{ display:flex; }
  .wi-mobile-menu-left{ width:62%; }
  .wi-mobile-menu-right{ width:38%; }
  .wi-week-block{ grid-template-columns:1fr; }
  .wi-week-num{ margin-bottom:.4rem; }
  .wi-grid-cards, .wi-grid-cards-2, .wi-grid-cards-4{ grid-template-columns:1fr; }
  .wi-contact-cards{ grid-template-columns:1fr; }
  .wi-footer-grid{ grid-template-columns:1fr; }
  .wi-progress{ flex-direction:column; }
  .wi-progress-line{ width:2px; height:30px; margin-bottom:0; }
  .wi-form-buttons{ flex-direction:column; }
  .wi-form-buttons .wi-btn{ width:100%; justify-content:center; }
}

@media (max-width: 480px){
  .wi-section{ padding:var(--wi-space-5) 0; }
  .wi-hero{ padding-top:7rem; }
  .wi-page-hero{ padding-top:8rem; }
}


.wi-cookie-overlay{
  position:fixed; inset:0;
  background:rgba(35,32,28,.5);
  z-index:4000;
  opacity:0; visibility:hidden;
  transition:opacity .4s ease, visibility .4s ease;
}
.wi-cookie-overlay.wi-show{ opacity:1; visibility:visible; }

.wi-cookie-panel{
  position:fixed;
  top:0; right:0;
  width:300px; max-width:88vw;
  height:100%;
  background:var(--wi-white-soft);
  box-shadow:-10px 0 40px rgba(0,0,0,.25);
  z-index:4001;
  transform:translateX(100%);
  transition:transform .45s cubic-bezier(.25,.8,.25,1);
  display:flex; flex-direction:column;
  padding:1.8rem 1.4rem;
  overflow-y:auto;
}
.wi-cookie-panel.wi-show{ transform:translateX(0); }
.wi-cookie-shield{
  width:52px; height:52px;
  border-radius:50%;
  background:var(--wi-teal);
  color:var(--wi-white-soft);
  display:flex; align-items:center; justify-content:center;
  font-size:1.4rem;
  margin-bottom:1rem;
}
.wi-cookie-panel h3{ font-size:1.15rem; margin-bottom:.5rem; }
.wi-cookie-panel > p{ font-size:.85rem; color:var(--wi-ink-soft); margin-bottom:1.4rem; }
.wi-cookie-cat{
  display:flex; align-items:center; justify-content:space-between;
  padding:.8rem 0;
  border-bottom:1px solid rgba(35,32,28,.1);
  gap:.5rem;
}
.wi-cookie-cat-text strong{ display:block; font-size:.88rem; }
.wi-cookie-cat-text span{ font-size:.76rem; color:var(--wi-ink-soft); }
.wi-switch{
  position:relative; width:42px; height:24px; flex-shrink:0;
}
.wi-switch input{ opacity:0; width:0; height:0; }
.wi-switch-slider{
  position:absolute; inset:0;
  background:rgba(35,32,28,.2);
  border-radius:999px;
  cursor:pointer;
  transition:background .3s ease;
}
.wi-switch-slider::before{
  content:'';
  position:absolute;
  width:18px; height:18px;
  left:3px; top:3px;
  background:var(--wi-white-soft);
  border-radius:50%;
  transition:transform .3s ease;
  box-shadow:0 2px 4px rgba(0,0,0,.2);
}
.wi-switch input:checked + .wi-switch-slider{ background:var(--wi-teal); }
.wi-switch input:checked + .wi-switch-slider::before{ transform:translateX(18px); }
.wi-switch input:disabled + .wi-switch-slider{ background:var(--wi-terracotta); opacity:.6; cursor:not-allowed; }

.wi-cookie-actions{
  margin-top:auto;
  display:flex; flex-direction:column; gap:.7rem;
  padding-top:1.4rem;
}
.wi-cookie-actions .wi-btn{ width:100%; justify-content:center; }

.wi-cookie-trigger{
  position:fixed;
  bottom:1.5rem; left:1.5rem;
  z-index:900;
  width:48px; height:48px;
  border-radius:50%;
  background:var(--wi-teal);
  color:var(--wi-white-soft);
  display:flex; align-items:center; justify-content:center;
  box-shadow:var(--wi-shadow-md);
  font-size:1.1rem;
  transition:transform .3s ease, box-shadow .3s ease;
}
.wi-cookie-trigger:hover{ transform:scale(1.08); box-shadow:var(--wi-shadow-lg); }


.tippy-box[data-theme~='custom']{
  background-color:var(--wi-ink);
  color:var(--wi-white-soft);
  font-family:var(--wi-font-body);
  font-size:.82rem;
  border-radius:var(--wi-radius-sm);
}
.tippy-box[data-theme~='custom'][data-placement^='top'] .tippy-arrow::before{ border-top-color:var(--wi-ink); }
.tippy-box[data-theme~='custom'][data-placement^='bottom'] .tippy-arrow::before{ border-bottom-color:var(--wi-ink); }