:root{
  --wb-primary:#3b82f6;
  --wb-primary-dark:#1d4ed8;
  --wb-primary-soft:#eff6ff;
  --wb-ink:#0f172a;
  --wb-body:#475569;
  --wb-muted:#94a3b8;
  --wb-surface:#f6f8fb;
  --wb-white:#ffffff;
  --wb-border:#e4e9f2;
  --wb-radius:20px;
  --wb-font:-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, sans-serif;
  --wb-shadow-sm:0 2px 10px rgba(15,23,42,.06);
  --wb-shadow:0 20px 45px -22px rgba(15,23,42,.28);
  --wb-shadow-lg:0 40px 80px -40px rgba(29,78,216,.45);
}

/* ---------- base ---------- */
.wb-root{font-family:var(--wb-font);color:var(--wb-body);line-height:1.65;background:var(--wb-white);-webkit-font-smoothing:antialiased;}
.wb-root *{box-sizing:border-box;}
.wb-root h1,.wb-root h2,.wb-root h3,.wb-root h4{color:var(--wb-ink);margin:0;line-height:1.14;letter-spacing:-.022em;}
.wb-root p{margin:0;}
.wb-root a{text-decoration:none;color:inherit;}
.wb-root img{display:block;max-width:100%;height:auto;}
.wb-wrap{width:100%;max-width:1160px;margin:0 auto;padding:0 1.25rem;}

/* ---------- header ---------- */
.wb-header{position:sticky;top:0;z-index:99;background:rgba(255,255,255,.78);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid rgba(228,233,242,.8);transition:all .3s ease;}
.wb-header.wb-scrolled{background:rgba(255,255,255,.94);box-shadow:0 12px 30px -22px rgba(15,23,42,.55);}
.wb-nav-wrap{position:relative;max-width:1160px;margin:0 auto;padding:.85rem 1.25rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;}
.wb-brand{display:inline-flex;align-items:center;gap:.6rem;font-weight:700;font-size:1.05rem;color:var(--wb-ink);letter-spacing:-.02em;transition:transform .3s ease;}
.wb-brand:hover{transform:translateY(-1px);}
.wb-brand-mark{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;color:#fff;font-size:1rem;font-weight:700;background:linear-gradient(135deg,var(--wb-primary),#60a5fa);box-shadow:0 12px 22px -12px rgba(59,130,246,.9);}
.wb-brand em{font-style:normal;color:var(--wb-primary);}
.wb-nav{display:flex;align-items:center;gap:.3rem;}
.wb-nav-link{position:relative;padding:.55rem .95rem;border-radius:999px;font-size:.94rem;font-weight:500;color:var(--wb-body);transition:all .3s ease;}
.wb-nav-link:hover{color:var(--wb-primary-dark);background:var(--wb-primary-soft);}
.wb-nav-link.active{color:var(--wb-primary-dark);background:var(--wb-primary-soft);font-weight:600;}
.wb-nav-link.active::after{content:"";position:absolute;left:50%;bottom:3px;transform:translateX(-50%);width:15px;height:2px;border-radius:2px;background:var(--wb-primary);}
.wb-burger{display:none;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;padding:0 11px;border-radius:12px;border:1px solid var(--wb-border);background:#fff;cursor:pointer;transition:all .3s ease;}
.wb-burger span{display:block;height:2px;width:100%;border-radius:2px;background:var(--wb-ink);transition:all .3s ease;}
.wb-burger:hover{border-color:#c7dcfb;background:var(--wb-primary-soft);}
.wb-burger.wb-burger-open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.wb-burger.wb-burger-open span:nth-child(2){opacity:0;transform:scaleX(.4);}
.wb-burger.wb-burger-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

/* ---------- pages ---------- */
.wb-page{display:none;}
.wb-page.active{display:block;animation:wbPageIn .45s ease both;}
@keyframes wbPageIn{from{opacity:0;transform:translateY(12px);}to{opacity:1;transform:none;}}

/* ---------- hero ---------- */
.wb-hero{position:relative;display:flex;align-items:center;min-height:clamp(500px,78vh,720px);border-radius:0 0 32px 32px;overflow:hidden;background-image:linear-gradient(105deg,rgba(7,15,29,.86),rgba(7,15,29,.55) 52%,rgba(7,15,29,.22)),url('https://media.base44.com/images/public/697616dd496d17d610020f9c/57a5a534d_generated_image.png');background-size:cover;background-position:center;}
.wb-hero-inner{position:relative;z-index:2;width:100%;max-width:1160px;margin:0 auto;padding:5rem 1.25rem 6rem;}
.wb-eyebrow{display:inline-flex;align-items:center;gap:.45rem;padding:.42rem .9rem;border-radius:999px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.3);color:#e8f1ff;font-size:.74rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;backdrop-filter:blur(6px);animation:wbFadeUp .7s ease both;}
.wb-hero-title{font-size:clamp(2.35rem,6vw,4.3rem);color:#fff;letter-spacing:-.035em;margin:1.25rem 0 1rem;animation:wbFadeUp .7s ease .08s both;}
.wb-hero-title span{background:linear-gradient(100deg,#93c5fd,#dbeafe);-webkit-background-clip:text;background-clip:text;color:transparent;}
.wb-hero-sub{max-width:34rem;font-size:clamp(1rem,1.3vw,1.14rem);color:#d9e5f7;animation:wbFadeUp .7s ease .16s both;}
.wb-hero-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2.1rem;animation:wbFadeUp .7s ease .24s both;}
@keyframes wbFadeUp{from{opacity:0;transform:translateY(26px);}to{opacity:1;transform:none;}}

/* ---------- buttons ---------- */
.wb-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.9rem 1.65rem;border-radius:999px;font-size:.97rem;font-weight:600;border:1px solid transparent;cursor:pointer;transition:all .3s ease;}
.wb-btn-primary{background:linear-gradient(135deg,var(--wb-primary),#2563eb);color:#fff;box-shadow:0 18px 32px -16px rgba(37,99,235,.85);}
.wb-btn-primary:hover{transform:translateY(-3px);box-shadow:0 26px 44px -18px rgba(37,99,235,.95);}
.wb-btn-primary:active{transform:translateY(-1px);}
.wb-btn-ghost{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.45);color:#fff;backdrop-filter:blur(8px);}
.wb-btn-ghost:hover{background:#fff;color:var(--wb-ink);transform:translateY(-3px);}
.wb-btn-light{background:#fff;color:var(--wb-primary-dark);box-shadow:0 16px 30px -18px rgba(2,10,30,.6);}
.wb-btn-light:hover{transform:translateY(-3px);box-shadow:0 24px 40px -20px rgba(2,10,30,.7);}

/* ---------- stats ---------- */
.wb-stats{position:relative;z-index:3;display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;margin:-3.5rem 0 0;padding:1.9rem 2rem;background:#fff;border:1px solid var(--wb-border);border-radius:24px;box-shadow:var(--wb-shadow);}
.wb-stat{text-align:center;}
.wb-stat + .wb-stat{border-left:1px solid var(--wb-border);}
.wb-stat-num{display:block;font-size:1.55rem;font-weight:700;color:var(--wb-ink);letter-spacing:-.03em;}
.wb-stat-label{display:block;margin-top:.2rem;font-size:.74rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--wb-muted);}

/* ---------- sections ---------- */
.wb-section{padding:5rem 0;}
.wb-section-soft{background:var(--wb-surface);}
.wb-section-head{max-width:38rem;margin:0 auto 3rem;text-align:center;}
.wb-kicker{display:block;margin-bottom:.8rem;font-size:.75rem;font-weight:700;letter-spacing:.17em;text-transform:uppercase;color:var(--wb-primary);}
.wb-h2{font-size:clamp(1.75rem,3.3vw,2.55rem);}
.wb-lead{margin-top:1rem;font-size:1.04rem;color:var(--wb-body);}

/* ---------- cards ---------- */
.wb-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.75rem;}
.wb-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--wb-border);border-radius:var(--wb-radius);overflow:hidden;box-shadow:var(--wb-shadow-sm);transition:all .35s ease;}
.wb-card:hover{transform:translateY(-8px);border-color:#cfe0fb;box-shadow:var(--wb-shadow);}
.wb-card-media{aspect-ratio:4/3;overflow:hidden;background:var(--wb-surface);}
.wb-card-media img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease;}
.wb-card:hover .wb-card-media img{transform:scale(1.08);}
.wb-card-body{padding:1.6rem;}
.wb-card-title{font-size:1.14rem;margin-bottom:.5rem;}
.wb-card-text{font-size:.95rem;}
.wb-card-price{display:inline-block;margin-top:1.1rem;padding:.3rem .8rem;border-radius:999px;background:var(--wb-primary-soft);color:var(--wb-primary-dark);font-size:.82rem;font-weight:700;letter-spacing:.02em;}
.wb-card-plain{background:var(--wb-white);}
.wb-card-plain .wb-card-body{padding:2rem 1.75rem;}
.wb-card-plain .wb-card-title{position:relative;padding-top:1.5rem;}
.wb-card-plain .wb-card-title::before{content:"";position:absolute;top:0;left:0;width:30px;height:3px;border-radius:3px;background:linear-gradient(90deg,var(--wb-primary),#93c5fd);}

/* ---------- split ---------- */
.wb-split{display:grid;grid-template-columns:1fr 1fr;gap:3.5rem;align-items:center;}
.wb-split-media{position:relative;border-radius:24px;overflow:hidden;box-shadow:var(--wb-shadow);aspect-ratio:4/3.4;}
.wb-split-media img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease;}
.wb-split-media:hover img{transform:scale(1.05);}
.wb-badge{position:absolute;left:1.25rem;bottom:1.25rem;padding:.85rem 1.1rem;border-radius:16px;background:rgba(255,255,255,.95);backdrop-filter:blur(8px);box-shadow:0 16px 30px -18px rgba(15,23,42,.6);}
.wb-badge strong{display:block;font-size:1.3rem;color:var(--wb-primary-dark);letter-spacing:-.02em;line-height:1.2;}
.wb-badge span{font-size:.78rem;color:var(--wb-body);}
.wb-list{list-style:none;padding:0;margin:1.6rem 0 0;display:grid;gap:.7rem;}
.wb-list li{position:relative;padding-left:1.85rem;font-size:.96rem;}
.wb-list li::before{content:"✓";position:absolute;left:0;top:0;width:1.25rem;height:1.25rem;display:grid;place-items:center;border-radius:50%;background:var(--wb-primary-soft);color:var(--wb-primary-dark);font-size:.72rem;font-weight:700;}

/* ---------- gallery ---------- */
.wb-gallery{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:175px;gap:1rem;}
.wb-gallery figure{margin:0;border-radius:18px;overflow:hidden;box-shadow:var(--wb-shadow-sm);transition:all .35s ease;}
.wb-gallery figure:hover{box-shadow:var(--wb-shadow);transform:translateY(-4px);}
.wb-gallery img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease;}
.wb-gallery figure:hover img{transform:scale(1.08);}
.wb-g-tall{grid-row:span 2;}
.wb-g-wide{grid-column:span 2;}

/* ---------- page hero ---------- */
.wb-page-hero{position:relative;padding:4.5rem 0 4rem;background:linear-gradient(180deg,#eff6ff,#ffffff 85%);border-bottom:1px solid var(--wb-border);}
.wb-page-hero .wb-h2{font-size:clamp(1.9rem,4vw,3rem);}
.wb-page-hero .wb-lead{max-width:38rem;}
.wb-page-hero-img{background-image:linear-gradient(105deg,rgba(7,15,29,.86),rgba(7,15,29,.5)),url('https://media.base44.com/images/public/697616dd496d17d610020f9c/381cc5390_generated_image.png');background-size:cover;background-position:center;border-bottom:none;}
.wb-page-hero-img .wb-h2,.wb-page-hero-img .wb-kicker{color:#fff;}
.wb-page-hero-img .wb-kicker{color:#bfdbfe;}
.wb-page-hero-img .wb-lead{color:#dbe6f7;}

/* ---------- hours ---------- */
.wb-hours{width:100%;border-collapse:collapse;margin-top:1.75rem;font-size:.95rem;}
.wb-hours td{padding:.85rem 0;border-bottom:1px solid var(--wb-border);}
.wb-hours tr:last-child td{border-bottom:none;}
.wb-hours td:last-child{text-align:right;font-weight:700;color:var(--wb-ink);}

/* ---------- quote ---------- */
.wb-quote{max-width:46rem;margin:0 auto;text-align:center;padding:3rem 2rem;border-radius:26px;background:linear-gradient(160deg,#eff6ff,#ffffff);border:1px solid var(--wb-border);}
.wb-quote p{font-size:clamp(1.2rem,2.4vw,1.7rem);line-height:1.45;color:var(--wb-ink);letter-spacing:-.02em;font-weight:600;}
.wb-quote cite{display:block;margin-top:1.25rem;font-size:.85rem;font-style:normal;letter-spacing:.1em;text-transform:uppercase;color:var(--wb-muted);font-weight:700;}

/* ---------- cta ---------- */
.wb-cta{position:relative;overflow:hidden;padding:3.75rem 3rem;border-radius:28px;text-align:center;color:#fff;background-image:linear-gradient(120deg,rgba(29,78,216,.94),rgba(59,130,246,.78)),url('https://media.base44.com/images/public/697616dd496d17d610020f9c/2f2e91dfe_generated_image.png');background-size:cover;background-position:center;box-shadow:var(--wb-shadow-lg);}
.wb-cta h2{color:#fff;font-size:clamp(1.6rem,3vw,2.3rem);}
.wb-cta p{max-width:34rem;margin:1rem auto 2rem;color:#dbeafe;font-size:1.02rem;}

/* ---------- contact info ---------- */
.wb-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.15rem;margin-top:2rem;}
.wb-info{display:flex;gap:.9rem;padding:1.35rem;border:1px solid var(--wb-border);border-radius:18px;background:#fff;transition:all .3s ease;}
.wb-info:hover{transform:translateY(-4px);border-color:#cfe0fb;box-shadow:var(--wb-shadow-sm);}
.wb-info-icon{flex:0 0 40px;width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:var(--wb-primary-soft);color:var(--wb-primary-dark);font-size:1rem;font-weight:700;}
.wb-info h4{font-size:.98rem;margin-bottom:.25rem;}
.wb-info p{font-size:.9rem;line-height:1.55;}

/* ---------- footer ---------- */
.wb-footer{margin-top:5rem;padding:3.5rem 0 2rem;background:#0a1526;color:#96a6bf;}
.wb-footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:2.5rem;}
.wb-footer h4{margin-bottom:1rem;font-size:.78rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#fff;}
.wb-footer .wb-brand{color:#fff;}
.wb-footer-links{display:grid;gap:.6rem;font-size:.93rem;}
.wb-footer a{color:#96a6bf;transition:color .3s ease;}
.wb-footer a:hover{color:#bfdbfe;}
.wb-footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.75rem;margin-top:2.75rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.09);font-size:.84rem;}

/* ---------- responsive ---------- */
@media (max-width:1024px){
  .wb-cards{grid-template-columns:repeat(2,1fr);}
  .wb-split{grid-template-columns:1fr;gap:2.5rem;}
  .wb-split-reverse .wb-split-media{order:-1;}
  .wb-stats{grid-template-columns:repeat(2,1fr);gap:1.5rem 1rem;padding:1.6rem;}
  .wb-stat:nth-child(odd){border-left:none;}
  .wb-footer-grid{grid-template-columns:1fr 1fr;}
  .wb-hero{border-radius:0 0 26px 26px;}
}

@media (max-width:860px){
  .wb-burger{display:flex;}
  .wb-nav{position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:stretch;gap:.25rem;padding:1rem 1.25rem 1.4rem;background:rgba(255,255,255,.98);backdrop-filter:blur(16px);border-bottom:1px solid var(--wb-border);box-shadow:0 24px 40px -26px rgba(15,23,42,.5);opacity:0;visibility:hidden;transform:translateY(-10px);transition:all .3s ease;}
  .wb-nav.wb-nav-open{opacity:1;visibility:visible;transform:translateY(0);}
  .wb-nav-link{padding:.85rem 1rem;border-radius:12px;font-size:1rem;}
  .wb-nav-link.active::after{display:none;}
}

@media (max-width:768px){
  .wb-section{padding:3.25rem 0;}
  .wb-cards{grid-template-columns:1fr;gap:1.35rem;}
  .wb-section-head{margin-bottom:2.25rem;}
  .wb-hero{min-height:auto;border-radius:0 0 22px 22px;}
  .wb-hero-inner{padding:4rem 1.25rem 4.5rem;}
  .wb-hero-actions{gap:.65rem;}
  .wb-btn{width:100%;}
  .wb-hero-actions .wb-btn{width:auto;}
  .wb-stats{margin:-2.5rem 0 0;grid-template-columns:1fr 1fr;border-radius:20px;}
  .wb-stat + .wb-stat{border-left:none;}
  .wb-stat:nth-child(even){border-left:1px solid var(--wb-border);}
  .wb-gallery{grid-template-columns:repeat(2,1fr);grid-auto-rows:145px;}
  .wb-g-wide{grid-column:span 2;}
  .wb-g-tall{grid-row:span 1;}
  .wb-info-grid{grid-template-columns:1fr;}
  .wb-cta{padding:2.5rem 1.5rem;border-radius:22px;}
  .wb-cta .wb-btn{width:auto;}
  .wb-quote{padding:2.25rem 1.4rem;}
  .wb-footer-grid{grid-template-columns:1fr;gap:2rem;}
  .wb-footer{margin-top:3.5rem;}
  .wb-page-hero{padding:3.25rem 0 2.75rem;}
  .wb-split-media{aspect-ratio:4/3;}
}

@media (prefers-reduced-motion:reduce){
  .wb-root *{animation:none !important;transition:none !important;}
}
