:root{
  --bg:#FEF3C7;--bg2:#ffffff;--text:#1F2937;--muted:#374151;--primary:#0f3d3f;--primary2:#9d9571;--accent:#D4A574;--header-offset:76px;--font-heading:'Unbounded',sans-serif;--font-body:'Poppins',system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif
}
@media (max-width: 900px){:root{--header-offset:68px}}
*{box-sizing:border-box}
html,body{margin:0;padding:0;width:100%;max-width:100%}
html{overflow-x:hidden;-webkit-overflow-scrolling:touch;height:100%;scroll-behavior:smooth;overflow-y:visible}
body{font-family:var(--font-body);background:var(--bg);color:var(--text);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;position:relative;overflow-x:hidden;width:100%;max-width:100%;touch-action:pan-y;height:auto;min-height:100%;overflow-y:auto;overscroll-behavior-y:contain}
/* Hide scrollbar on mobile, show on desktop */
@media (max-width: 900px){
  ::-webkit-scrollbar{width:0px;background:transparent}
  html{scrollbar-width:none}
  body{scrollbar-width:none}
}
@media (min-width: 901px){
  ::-webkit-scrollbar{width:12px}
  ::-webkit-scrollbar-track{background:var(--bg)}
  ::-webkit-scrollbar-thumb{background:var(--primary);border-radius:6px}
  ::-webkit-scrollbar-thumb:hover{background:var(--primary2)}
  html{scrollbar-width:thin;scrollbar-color:var(--primary) var(--bg)}
  body{scrollbar-width:thin;scrollbar-color:var(--primary) var(--bg)}
}
html{background:var(--bg)}
body.menu-open{overflow:hidden}
img{max-width:100%;display:block}
.container{max-width:1120px;margin:0 auto;padding:0 24px;overflow-x:hidden;overflow-y:visible}
/* Prevent horizontal scrolling on all containers - but don't create vertical scroll contexts */
section,article{overflow-x:hidden;overflow-y:visible;max-width:100%}
/* Ensure site content doesn't cause horizontal scroll or create scroll contexts */
#site-content{overflow-x:hidden;overflow-y:visible;max-width:100%;width:100%;position:relative}

/* Typography */
h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:800;text-transform:uppercase;letter-spacing:.02em;margin:0 0 12px;text-align:left}
h1{font-size:clamp(2.1rem,4.6vw,3.6rem);line-height:1.15}
h2{font-size:clamp(1.6rem,3.4vw,2.4rem);line-height:1.25}
h3{font-size:clamp(1.1rem,2.4vw,1.4rem)}
.hero .subtitle{color:#fff;font-weight:500}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 22px;border-radius:999px;font-family:var(--font-heading);font-weight:800;text-transform:uppercase;background:linear-gradient(90deg,var(--primary),var(--primary2));color:#fff;text-decoration:none;border:0;cursor:pointer;transition:all 0.3s ease;transform:translateY(0)}
.btn:hover{transform:translateY(-2px);box-shadow:0 8px 25px rgba(37,99,235,0.4);background:linear-gradient(90deg,var(--primary2),var(--primary))}
.btn-outline{background:transparent;border:2px solid var(--accent);color:var(--text);border-radius:0;transition:all 0.3s ease;transform:translateY(0)}
.btn-outline:hover{background:var(--accent);color:#fff;transform:translateY(-2px);box-shadow:0 8px 25px rgba(6,182,212,0.4)}
.btn-small{padding:8px 12px;border-radius:0;font-size:.9rem;transition:all 0.3s ease;transform:translateY(0)}
.btn-small:hover{transform:translateY(-1px);box-shadow:0 6px 20px rgba(37,99,235,0.3)}
.center{text-align:center}

/* Header */
.site-header{position:sticky;top:0;background:color-mix(in srgb, var(--bg) 85%, transparent);backdrop-filter:blur(10px);border-bottom:1px solid color-mix(in srgb, var(--primary) 25%, transparent);z-index:100;overflow:visible}
.header-inner{display:flex;align-items:center;justify-content:space-between;height:76px}
.logo img{height:60px;width:auto;object-fit:contain;filter:none !important}
.logo-text{font-family:var(--font-heading);font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--text);font-size:clamp(0.95rem,2.5vw,1.15rem);line-height:1.1;word-spacing:.3em}
.menu-toggle{display:inline-flex !important;position:relative;width:40px;height:40px;background:transparent;border:1px solid rgba(255,255,255,.12);align-items:center;justify-content:center;opacity:1 !important;visibility:visible !important;pointer-events:auto !important}
.menu-toggle span{position:absolute;left:9px;right:9px;height:2px;background:#fff;border-radius:2px;transition:.2s;top:50%;margin-top:-1px}
.menu-toggle span:nth-child(1){transform:translateY(-6px)}
.menu-toggle span:nth-child(2){transform:translateY(0)}
.menu-toggle span:nth-child(3){transform:translateY(6px)}
.menu-toggle.open span:nth-child(1){transform:translateY(0) rotate(45deg)}
.menu-toggle.open span:nth-child(2){opacity:0}
.menu-toggle.open span:nth-child(3){transform:translateY(0) rotate(-45deg)}
.nav{display:flex;gap:16px;flex-wrap:wrap;align-items:center;justify-content:flex-end}
.nav[hidden]{display:none !important}
/* Checkbox-driven mobile menu */
@media (max-width: 900px){
  header.site-header .menu-toggle-checkbox{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
  header.site-header .menu-toggle{cursor:pointer}
  header.site-header .menu-toggle-checkbox:checked ~ .nav{
    max-height:85vh !important;
    padding:16px !important;
    opacity:1 !important;
    visibility:visible !important;
    transform:translateY(0) !important;
    overflow-y:auto !important;
    pointer-events:auto !important;
    display:block !important;
  }
}

/* Off-canvas and scrim */
.offcanvas{position:fixed;top:0;right:0;width:88vw;max-width:360px;height:100dvh;background:#064E49;border-left:1px solid rgba(255,255,255,.12);transform:translateX(100%);transition:transform .25s ease;z-index:100000;display:flex;flex-direction:column;box-shadow:-10px 0 30px rgba(0,0,0,.35);visibility:visible;opacity:1;overflow-x:hidden}
.offcanvas-inner{display:flex;flex-direction:column;height:100%;padding:12px 12px 16px 12px;overflow-y:auto;overflow-x:hidden}
.offcanvas-header{display:flex;align-items:center;justify-content:flex-end;position:relative}
#offcanvas-title{font-family:var(--font-heading);font-weight:800;font-size:1.2rem;text-transform:uppercase;letter-spacing:0.1em;color:rgba(255,255,255,0.7);margin:0;text-align:center;position:absolute;left:0;right:0;pointer-events:none;z-index:1}
.menu-close{position:relative;z-index:2}
.menu-close{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:8px;border:0;background:transparent;color:#fff;font-size:26px;cursor:pointer}
.menu-close:active{transform:scale(0.98)}
body[data-menu="open"] .offcanvas{transform:translateX(0)}
#menu-scrim{position:fixed;inset:0;background:rgba(0,0,0,0.35);backdrop-filter:saturate(120%) blur(2px);opacity:0;pointer-events:none;transition:opacity .2s ease;z-index:9999}
#menu-scrim.visible{opacity:1;pointer-events:auto}
@media (min-width: 901px){
  #menu-scrim{display:block !important}
}
.nav a{color:inherit;text-decoration:none;font-family:var(--font-heading);padding:8px 10px;border-radius:6px;transition:background .2s,color .2s}
/* Desktop: offcanvas slide-in menu */
@media (min-width: 901px){
  .offcanvas{position:fixed !important;top:0 !important;right:0 !important;width:400px !important;max-width:400px !important;height:100dvh !important;height:100vh !important;background:#064E49 !important;border-left:1px solid rgba(255,255,255,.12) !important;transform:translateX(100%) !important;transition:transform .25s ease !important;z-index:100000 !important;display:flex !important;flex-direction:column !important;box-shadow:-10px 0 30px rgba(0,0,0,.35) !important;visibility:visible !important;opacity:1 !important;pointer-events:auto !important}
  body[data-menu="open"] .offcanvas{transform:translateX(0) !important;visibility:visible !important;opacity:1 !important}
  .offcanvas-inner{display:flex !important;flex-direction:column !important;height:100% !important;padding:12px 12px 16px 12px !important;overflow:auto !important}
  .offcanvas .nav{display:block !important;padding:8px 12px !important;flex-direction:column !important}
  .offcanvas .nav a{display:block !important;color:#fff !important;margin:6px 0 !important;padding:12px 14px !important;border-radius:8px !important;background:transparent !important;border:1px solid rgba(255,255,255,.15) !important;text-align:center !important;font-family:var(--font-heading) !important;font-weight:600 !important;font-size:0.95rem !important;text-transform:uppercase !important;letter-spacing:0.05em !important}
  .offcanvas .nav a:hover{background:rgba(255,255,255,.12) !important;color:#fff !important}
  .offcanvas .nav .btn{display:block !important;width:100% !important;text-align:center !important;font-family:var(--font-heading) !important;font-weight:600 !important;font-size:0.95rem !important;text-transform:uppercase !important;letter-spacing:0.05em !important;padding:12px 14px !important;margin:6px 0 !important}
  .offcanvas .nav .variant-selector-desktop{display:none !important}
  .offcanvas .nav .variant-selector-mobile{display:flex !important}
  .offcanvas-header{display:flex !important;align-items:center !important;justify-content:flex-end !important;position:relative !important}
  #offcanvas-title{font-family:var(--font-heading) !important;font-weight:800 !important;font-size:1.2rem !important;text-transform:uppercase !important;letter-spacing:0.1em !important;color:rgba(255,255,255,0.7) !important;margin:0 !important;text-align:center !important;position:absolute !important;left:0 !important;right:0 !important;pointer-events:none !important;z-index:1 !important}
  .menu-close{position:relative !important;z-index:2 !important}
  .menu-toggle{display:inline-flex !important;opacity:1 !important;visibility:visible !important;pointer-events:auto !important}
}
/* Mobile: offcanvas menu */
@media (max-width: 900px){
  .offcanvas .nav{display:block;padding:8px 12px}
  .offcanvas .nav a{display:block;color:#fff;margin:6px 0;padding:12px 14px;border-radius:8px;background:transparent;border:1px solid rgba(255,255,255,.15);text-align:center;font-family:var(--font-heading);font-weight:600;font-size:0.95rem;text-transform:uppercase;letter-spacing:0.05em}
  .offcanvas .nav a:hover{background:rgba(255,255,255,.12);color:#fff}
  .offcanvas .nav .btn{display:block;width:100%;text-align:center;font-family:var(--font-heading);font-weight:600;font-size:0.95rem;text-transform:uppercase;letter-spacing:0.05em;padding:12px 14px;margin:6px 0}
}
.nav a:hover{color:var(--accent);background:color-mix(in srgb, var(--primary) 12%, transparent)}
/* Close button inside mobile menu */
.nav .menu-close{display:block;width:36px;height:36px;line-height:36px;text-align:center;border:0;background:transparent;color:#fff;font-size:24px;border-radius:8px;margin:8px auto 12px auto;cursor:pointer}
.nav .menu-close:active{transform:scale(0.98)}
/* Theme selector */
#variant-select{appearance:none;background:color-mix(in srgb, var(--primary) 12%, transparent);color:#fff;border:1px solid color-mix(in srgb, var(--primary) 28%, transparent);padding:6px 10px;font-size:.85rem;border-radius:8px;min-width:42px;text-align:center;font-weight:600}
#variant-select:focus{outline:none;border-color:color-mix(in srgb, var(--primary) 40%, transparent)}
.variant-selector-desktop{display:flex;gap:16px;align-items:flex-end}
.desktop-control-group{display:flex;flex-direction:column;gap:6px}
.desktop-control-label{font-size:.75rem;font-weight:600;color:rgba(255,255,255,0.6);text-transform:uppercase;letter-spacing:0.05em;margin:0}
.variant-selector-mobile{display:none;flex-direction:column;gap:16px;width:100%}
.mobile-control-group{display:flex;flex-direction:column;gap:8px}
.mobile-control-label{font-size:.85rem;font-weight:600;color:rgba(255,255,255,0.6);text-transform:uppercase;letter-spacing:0.05em}
.variant-buttons-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;width:100%}
.color-buttons-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;width:100%}
.font-buttons-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;width:100%}
@media (max-width: 600px){
  .variant-buttons-grid,.color-buttons-grid,.font-buttons-grid{grid-template-columns:repeat(4,1fr)}
}
.variant-btn,.color-btn,.font-btn{appearance:none;background:color-mix(in srgb, var(--primary) 12%, transparent);color:#fff;border:1px solid color-mix(in srgb, var(--primary) 28%, transparent);padding:10px;font-size:.9rem;border-radius:6px;cursor:pointer;font-weight:600;transition:all .2s;width:100%;pointer-events:auto;position:relative;z-index:1}
.variant-btn:hover,.color-btn:hover,.font-btn:hover{background:color-mix(in srgb, var(--primary) 18%, transparent)}
.variant-btn-active,.color-btn-active,.font-btn-active{background:var(--primary);border-color:var(--primary);font-weight:700}
.variant-btn-active:hover,.color-btn-active:hover,.font-btn-active:hover{background:color-mix(in srgb, var(--primary) 120%, transparent)}
#color-select{appearance:none;background:color-mix(in srgb, var(--primary) 12%, transparent);color:#fff;border:1px solid color-mix(in srgb, var(--primary) 28%, transparent);padding:6px 10px;font-size:.85rem;border-radius:8px;min-width:42px;text-align:center;font-weight:600}
#color-select:focus{outline:none;border-color:color-mix(in srgb, var(--primary) 40%, transparent)}
#font-select{appearance:none;background:color-mix(in srgb, var(--primary) 12%, transparent);color:#fff;border:1px solid color-mix(in srgb, var(--primary) 28%, transparent);padding:6px 10px;font-size:.85rem;border-radius:8px;min-width:42px;text-align:center;font-weight:600}
#font-select:focus{outline:none;border-color:color-mix(in srgb, var(--primary) 40%, transparent)}
@media (max-width: 900px){
  .variant-selector-desktop{display:none}
  .variant-selector-mobile{display:flex}
}

/* Hero */
.hero{position:relative;padding:0;height:auto;min-height:auto;display:flex;align-items:center;justify-content:center;max-width:100%;width:100%;overflow-x:hidden;overflow-y:visible}
.hero::before{display:none}
.hero-inner{display:grid;grid-template-columns:1fr 1.3fr;gap:40px;align-items:center;position:relative;z-index:1;width:100%;max-width:100%;box-sizing:border-box}
.hero-ctas{margin-top:16px}
.hero-yoga-image{display:none}
.hero-media{height:520px;border-radius:0;overflow:hidden;box-shadow:none}
.hero-carousel{position:relative;width:100%;height:100%}
.hero-slide{position:absolute;inset:0;opacity:0;transition:opacity .6s ease}
.hero-slide.active{opacity:1}
.hero-slide img{width:100%;height:100%;object-fit:cover}

/* Dynamic placeholders that follow theme colors */
.ph{width:100%;height:100%}
.ph-1{background:linear-gradient(135deg, var(--primary) 0%, var(--primary2) 100%)}
.ph-2{background:linear-gradient(135deg, var(--accent) 0%, color-mix(in srgb, var(--accent) 40%, var(--primary2)) 100%)}
.ph-3{background:linear-gradient(135deg, color-mix(in srgb, var(--primary2) 60%, var(--primary)) 0%, var(--primary) 100%)}
.ph-portrait{background:linear-gradient(135deg, var(--bg2) 0%, color-mix(in srgb, var(--primary) 20%, var(--bg2)) 100%);border-radius:12px;border:2px solid var(--primary)}

/* Proof */
.proof{position:relative;padding:48px 0;background:var(--bg2)}
.proof-title{text-align:center;color:#fff;font-family:'Unbounded',sans-serif;font-weight:800;text-transform:uppercase;letter-spacing:2px;margin:0 0 20px;font-size:clamp(0.7rem,1.5vw,0.9rem)}
.logos{display:flex;gap:28px;justify-content:center;align-items:center;flex-wrap:wrap}
.logos img{height:60px;filter:grayscale(0) contrast(1) brightness(1);transition:all 0.3s ease}

/* About */
.about{background:var(--bg);padding:80px 0;overflow-x:hidden;overflow-y:visible;max-width:100%}
.narrow{max-width:800px;margin:0 auto;overflow-x:hidden;overflow-y:visible;width:100%}
.prose{overflow-x:hidden;overflow-y:visible;max-width:100%}
.about-headshot-carousel{position:relative;float:right;margin:0 0 12px 24px;width:240px;height:240px;overflow:hidden;border-radius:12px;border:2px solid var(--primary);background:var(--bg2);aspect-ratio:1/1}
.about-headshot-slide{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;transition:opacity 0.8s ease;object-fit:cover;object-position:center;display:block;aspect-ratio:1/1}
.about-headshot-slide.active{opacity:1}
.about-headshot{float:right;margin:0 0 12px 24px;border-radius:12px;border:2px solid var(--primary)}
.prose p{margin:0 0 16px}
.prose{border-bottom:none !important}
#offer .prose{border-bottom:none !important;margin-bottom:0 !important}
#offer .lead{border-top:none !important;padding-top:0 !important;margin-top:0 !important}
.prose .pull-quote{margin:18px 0;padding:14px 16px;border-left:4px solid var(--primary);background:rgba(37,99,235,0.08);font-family:var(--font-heading);font-weight:800;text-transform:uppercase;letter-spacing:.02em}
.about-more-content{margin-top:16px}
.btn-read-more{display:inline-block !important;margin-top:20px;padding:12px 24px;background:transparent !important;border:2px solid #0f3d3f !important;color:#0f3d3f !important;border-radius:6px;font-size:1rem !important;font-weight:600 !important;cursor:pointer !important;transition:all 0.3s ease;text-decoration:none !important;font-family:var(--font-body) !important;text-transform:none !important;min-height:44px;min-width:120px;text-align:center !important;line-height:1.4;position:relative;z-index:10;pointer-events:auto !important;-webkit-tap-highlight-color:rgba(15,61,63,0.2);-webkit-appearance:none !important;appearance:none !important;box-shadow:none !important;text-shadow:none !important}
.btn-read-more:hover{background:#0f3d3f !important;color:#fff !important;transform:translateY(-1px);border-color:#0f3d3f !important}
.btn-read-more:active{background:#0f3d3f !important;color:#fff !important;transform:scale(0.98);border-color:#0f3d3f !important}
.btn-read-more:focus{outline:2px solid #0f3d3f;outline-offset:2px;border-color:#0f3d3f !important}
.btn-read-more.hidden{display:none !important;visibility:hidden !important;opacity:0 !important;position:absolute !important;left:-9999px !important;pointer-events:none !important}
@media (max-width: 600px){
  .btn-read-more{padding:14px 28px !important;font-size:1.05rem !important;min-height:48px !important;min-width:140px !important;display:block !important;width:auto !important;margin:20px auto 0 !important;border-width:2px !important;border-color:#0f3d3f !important;color:#0f3d3f !important;background:transparent !important;font-weight:600 !important}
}
/* iOS Safari specific fixes */
@supports (-webkit-touch-callout: none) {
  .btn-read-more{-webkit-appearance:none !important;appearance:none !important;background-color:transparent !important;border:2px solid #0f3d3f !important;color:#0f3d3f !important}
}

/* ZIA Framework Section */
.zia-framework{background:linear-gradient(135deg, var(--primary) 0%, color-mix(in srgb, var(--primary) 85%, var(--primary2)) 100%);padding:80px 0;color:#fff;position:relative;overflow-x:hidden;overflow-y:visible}
.zia-framework::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 30% 50%, rgba(212,165,116,0.15) 0%, transparent 50%);pointer-events:none}
.zia-intro{max-width:1000px;margin:0 auto 60px;text-align:center;position:relative;z-index:1}
.zia-title{font-size:clamp(2.5rem,6vw,4rem) !important;color:#fff !important;margin-bottom:40px !important;text-align:center !important;font-weight:800 !important;letter-spacing:0.05em !important;text-transform:uppercase !important}
.zia-poem{font-size:clamp(1.1rem,3vw,1.4rem);line-height:1.9;color:rgba(255,255,255,0.95);font-style:italic;max-width:900px;margin:0 auto}
.zia-line{margin:16px 0;opacity:0.95}
.zia-line strong{font-weight:700;color:#FFD700;font-style:normal;opacity:1;text-shadow:0 0 10px rgba(255,215,0,0.3)}
/* ZIA Letters Section - Same green background as Hero */
.zia-letters{background:var(--primary);padding:80px 0;color:#fff;position:relative;overflow-x:hidden;overflow-y:visible}
.zia-letters::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 30% 50%, rgba(212,165,116,0.15) 0%, transparent 50%);pointer-events:none}
.zia-breakdown{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;max-width:1200px;margin:0 auto;position:relative;z-index:1;overflow:visible;padding-top:10px}
.zia-letter-block{background:rgba(255,255,255,0.08);backdrop-filter:blur(10px);border:2px solid rgba(255,255,255,0.15);border-radius:20px;padding:50px 32px 40px 32px;text-align:center;transition:transform 0.3s ease,box-shadow 0.3s ease;overflow:visible;position:relative;margin-top:10px}
.zia-letter-block:hover{transform:translateY(-5px);box-shadow:0 10px 30px rgba(0,0,0,0.3)}
.zia-letter-large{font-size:clamp(5rem,12vw,8rem);font-weight:900;color:#FFD700;line-height:1;margin:0 auto 20px;padding-top:0;text-shadow:0 0 10px rgba(255,215,0,0.3),0 4px 20px rgba(0,0,0,0.3);font-family:var(--font-heading);letter-spacing:-0.02em;display:block;width:100%;text-align:center;position:relative;z-index:1;max-width:100%;box-sizing:border-box}
.zia-letter-title{font-size:clamp(1.3rem,3vw,1.6rem);font-weight:700;color:#fff;margin-bottom:24px;text-transform:uppercase;letter-spacing:0.05em;font-family:var(--font-heading)}
.zia-letter-content{font-size:clamp(1rem,2.5vw,1.15rem);line-height:1.8;color:rgba(255,255,255,0.95)}
.zia-letter-content p{margin:12px 0}
.zia-flow{font-weight:600;color:#fff;font-size:clamp(1.1rem,2.8vw,1.3rem);margin-top:16px !important;letter-spacing:0.1em}
@media (max-width: 900px){
  .zia-framework{padding:60px 0}
  .zia-letters{padding:60px 0}
  .zia-breakdown{grid-template-columns:1fr;gap:24px;max-width:600px;overflow:visible;padding-top:10px}
  .zia-letter-block{padding:40px 24px 32px 24px;overflow:visible;margin-top:10px}
  .zia-intro{margin-bottom:48px}
  .zia-title{margin-bottom:32px !important}
  .zia-poem{font-size:clamp(1rem,4vw,1.2rem)}
  .zia-letter-large{font-size:clamp(4rem,15vw,6rem);margin:0 auto 16px;max-width:100%;box-sizing:border-box;display:block}
  .zia-letter-title{margin-bottom:20px}
}
@media (max-width: 600px){
  .zia-framework{padding:48px 0;overflow:visible}
  .zia-letters{padding:48px 0;overflow:visible}
  .zia-breakdown{overflow:visible;padding-top:10px}
  .zia-letter-block{padding:36px 20px 28px 20px;border-radius:16px;overflow:visible;margin-top:10px}
  .zia-letter-large{margin:0 auto 16px;max-width:100%;box-sizing:border-box}
  .zia-poem{line-height:1.7}
  .zia-line{margin:6px 0}
}

/* Services */
.services{background:var(--bg2);padding:80px 0;overflow-x:hidden;overflow-y:visible;max-width:100%}
.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:28px;overflow:visible;max-width:100%}
/* Offer images - visible in all variants */
.offer-image-variant2{display:block;width:100%;margin:32px 0;border-radius:12px;overflow:hidden;box-shadow:0 8px 24px rgba(0,0,0,0.12)}
.offer-image-variant2 img{width:100%;height:auto;display:block;object-fit:cover}
/* Dogwalking: square aspect ratio - all variants */
.offer-image-variant2.offer-image-3{aspect-ratio:1 / 1 !important}
.offer-image-variant2.offer-image-3 img{width:100% !important;height:100% !important;object-fit:cover !important}
/* Zoomred and groupchat: zoom in 85% (scale to ~117.6% to show 85% of image) - all variants */
.offer-image-variant2.offer-image-1 img,
.offer-image-variant2.offer-image-2 img{transform:scale(1.176) !important;transform-origin:center center !important}
.offer-image-variant2.offer-image-1,
.offer-image-variant2.offer-image-2{overflow:hidden !important}
.card{background:#0F1113;border:1px solid rgba(255,255,255,.08);border-radius:16px;overflow:visible;box-shadow:0 10px 30px color-mix(in srgb, var(--primary) 12%, #0000)}
.service-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid rgba(255,255,255,.08)}
.service-header h3{margin:0}
.service-title{display:inline-block}
.service-sub{display:inline-block;color:var(--muted);font-family:var(--font-body);font-weight:600;text-transform:none;font-size:clamp(0.95rem,2vw,1.05rem)}
.service-toggle-wrap{padding:2px 18px 6px}
.service-toggle{border-color:rgba(255,255,255,.25);color:#fff;display:inline-flex;gap:10px;align-items:center;transition:all 0.3s ease;transform:translateY(0)}
.service-toggle:hover{transform:translateY(-1px);box-shadow:0 4px 15px rgba(255,255,255,0.1);background:rgba(255,255,255,0.12);color:#000}
.service-toggle .chev{transition:transform .25s ease}
.card.open .service-toggle{border-color:var(--primary)}
.card.open .service-toggle .chev{transform:rotate(180deg)}
.card.open .service-toggle .toggle-label{color:var(--accent)}
.service-preview{padding:14px 18px 12px;border-bottom:1px solid rgba(255,255,255,.06)}
.service-preview h4{margin:0 0 8px !important;color:var(--accent);font-family:var(--font-heading);font-weight:800;text-transform:uppercase;font-size:clamp(0.95rem,2vw,1.1rem)}
.service-prelude{padding:0 18px 8px;margin:0}
.service-content{max-height:none;overflow:visible;padding:0 18px 20px}
.card.open .service-content{max-height:none;padding:0 18px 20px}
.service-content ul{margin:4px 0 0 18px}
.service-content li{margin:8px 0}
.service-content .btn{margin-top:14px}

/* Scroll Animations */
.fade-in-up,.fade-in-left,.fade-in-right{opacity:0;will-change:opacity,transform;backface-visibility:hidden}
.fade-in-up{transform:translateY(30px);transition:opacity 0.8s cubic-bezier(0.4,0,0.2,1),transform 0.8s cubic-bezier(0.4,0,0.2,1)}
.fade-in-up.animate{opacity:1;transform:translateY(0)}
.fade-in-left{transform:translateX(-30px);transition:opacity 0.8s cubic-bezier(0.4,0,0.2,1),transform 0.8s cubic-bezier(0.4,0,0.2,1)}
.fade-in-left.animate{opacity:1;transform:translateX(0)}
.fade-in-right{transform:translateX(30px);transition:opacity 0.8s cubic-bezier(0.4,0,0.2,1),transform 0.8s cubic-bezier(0.4,0,0.2,1)}
.fade-in-right.animate{opacity:1;transform:translateX(0)}
.stagger-1{transition-delay:0.1s}
.stagger-2{transition-delay:0.2s}
.stagger-3{transition-delay:0.3s}
.stagger-4{transition-delay:0.4s}

/* Mobile animation optimizations */
@media (max-width: 900px){
  .fade-in-up{transform:translateY(20px)}
  .fade-in-left{transform:translateX(-20px)}
  .fade-in-right{transform:translateX(20px)}
  .fade-in-up,.fade-in-left,.fade-in-right{transition-duration:0.6s}
  .fade-in-up.animate,.fade-in-left.animate,.fade-in-right.animate{will-change:auto}
}
@media (max-width: 600px){
  .fade-in-up{transform:translateY(15px)}
  .fade-in-left{transform:translateX(-15px)}
  .fade-in-right{transform:translateX(15px)}
  .fade-in-up,.fade-in-left,.fade-in-right{transition-duration:0.5s}
  .stagger-1,.stagger-2,.stagger-3,.stagger-4{transition-delay:0.05s}
}

/* Respect user motion preferences */
@media (prefers-reduced-motion: reduce) {
  .fade-in-up,.fade-in-left,.fade-in-right{transition-duration:0.01s !important;transform:none !important}
  .stagger-1,.stagger-2,.stagger-3,.stagger-4{transition-delay:0s !important}
  .hero-slide{transition-duration:0.3s !important}
  *{animation-duration:0.01s !important;animation-iteration-count:1 !important}
}

/* Sparkle animations */
@keyframes sparkle {
  0% {opacity:0;transform:translate(0,0) scale(0)}
  50% {opacity:1}
  100% {opacity:0;transform:translate(var(--tx),var(--ty)) scale(1)}
}
.sparkle {
  position:fixed;pointer-events:none;width:8px !important;height:8px !important;min-width:8px !important;min-height:8px !important;max-width:8px !important;max-height:8px !important;background:#F59E0B;border-radius:50% !important;--tx:100px;--ty:-150px;animation:sparkle 2.2s ease-out forwards;z-index:2;box-shadow:0 0 6px #FFD700;aspect-ratio:1/1 !important;flex-shrink:0 !important}
.sparkle::before {
  content:"";position:absolute;inset:0;background:#FFD700;border-radius:50% !important;filter:blur(1px);width:100% !important;height:100% !important;aspect-ratio:1/1 !important}
.sparkle:nth-child(odd) {--tx:80px;--ty:-120px}
.sparkle:nth-child(even) {--tx:-80px;--ty:-140px}
.sparkle:nth-child(3n) {animation-delay:0.2s}
.sparkle:nth-child(5n) {animation-delay:0.4s}

/* FAQ */
.faq{background:var(--bg);padding:60px 0;overflow-x:hidden;overflow-y:visible;max-width:100%}
.faq-header{max-width:800px;margin:0 auto 48px;overflow-x:hidden;overflow-y:visible}
.faq-list{max-width:800px;margin:0 auto;overflow-x:hidden;overflow-y:visible;width:100%}
.faq-item{margin-bottom:16px}
.faq-question{width:100%;background:#0F1113;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:24px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;transition:all 0.3s ease;text-align:left;font-family:'Poppins',sans-serif;font-size:clamp(1rem,2.8vw,1.2rem);color:#ECEFF4;font-weight:600;position:relative;z-index:2}
.faq-question:hover{background:#15181B;border-color:rgba(255,255,255,.15)}
.faq-question.active{background:#15181B;border-color:var(--primary);z-index:3}
.faq-icon{font-size:1.8rem;font-weight:300;color:var(--primary);transition:transform 0.3s ease;flex-shrink:0;margin-left:20px}
.faq-question.active .faq-icon{transform:rotate(45deg)}
.faq-answer{max-height:0;overflow:hidden;transition:max-height 0.4s ease;background:#0b0e11;border-radius:0 0 12px 12px;margin-top:-1px}
.faq-answer.active{max-height:2000px}
.faq-content{padding:32px}
.faq-content h4{margin:0 0 16px;color:var(--accent);font-family:'Unbounded',sans-serif;font-weight:800;text-transform:uppercase;font-size:clamp(0.9rem,2.2vw,1rem)}
.faq-content p{margin:0 0 20px;color:rgba(255,255,255,.9);line-height:1.6;font-size:clamp(0.9rem,2.2vw,1rem)}

/* Testimonials */
.testimonials{background:var(--bg);padding:80px 0;overflow-x:hidden;overflow-y:visible;max-width:100%}
.testimonial-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:32px;align-items:start;overflow-x:hidden;overflow-y:visible;max-width:100%;width:100%}
.testimonial-card{background:var(--bg2);border:1px solid color-mix(in srgb, var(--primary) 18%, transparent);border-radius:16px;padding:32px;box-shadow:0 8px 24px color-mix(in srgb, var(--primary) 12%, transparent);overflow:visible !important;max-height:none !important}
.testimonial-img{width:100px;height:100px;object-fit:cover;border-radius:50%;margin:0 auto 20px;display:block;border:3px solid var(--primary)}
.testimonial-card blockquote{margin:0 0 18px;font-style:italic;line-height:1.7;color:var(--text);overflow:visible !important}
.testimonial-author{color:var(--muted);font-weight:600;margin:0}
/* Hero images interspersed in testimonials - square, half height */
.testimonial-hero-image{width:200px !important;height:200px !important;max-width:200px !important;margin:0 auto;margin-top:0 !important;border-radius:12px !important;overflow:hidden;box-shadow:0 6px 20px rgba(0,0,0,0.15);display:block;position:relative;flex-shrink:0;align-self:start}
.testimonial-hero-image img{width:100% !important;height:100% !important;object-fit:cover !important;display:block !important;border-radius:inherit}
@media (min-width: 901px){
  .testimonial-hero-image{width:240px !important;height:240px !important;max-width:240px !important;margin-top:0 !important;align-self:start}
  /* Better spacing on desktop */
  .testimonial-grid{grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:60px 48px}
  .testimonial-card{padding:40px}
}

/* Neurodiversity Callout */
.neurodiversity-callout{background:var(--bg);padding:60px 0}
.neurodiversity-box{background:color-mix(in srgb, var(--primary) 8%, transparent);border:2px solid color-mix(in srgb, var(--primary) 20%, transparent);border-radius:16px;padding:32px 40px;max-width:800px;margin:0 auto;text-align:center;position:relative}
.neurodiversity-logo{display:flex;justify-content:center;align-items:center;margin-bottom:24px}
.neurodiversity-logo img{max-width:80px;width:auto;height:auto;object-fit:contain}
.neurodiversity-box p{font-size:1.05rem;line-height:1.7;color:var(--text);margin:0}
@media (max-width: 600px){
  .neurodiversity-box{padding:24px 28px}
  .neurodiversity-box p{font-size:0.95rem}
  .neurodiversity-logo img{max-width:60px}
}

/* Contact */
.contact{background:var(--bg2);padding:80px 0;overflow-x:hidden;overflow-y:visible;max-width:100%}
.services, .faq, .contact { scroll-margin-top: var(--header-offset) }
.contact h2{margin-bottom:24px}
.contact-variant2-text{margin-bottom:16px}
.contact .lead{margin-bottom:32px;margin-top:0}
/* Contact Form */
.contact-form-inner{background:var(--bg2);border:2px solid color-mix(in srgb, var(--primary) 25%, transparent);border-radius:16px;padding:48px;max-width:600px;margin:0 auto 0 auto;box-shadow:0 8px 32px color-mix(in srgb, var(--primary) 15%, #0000);overflow-x:hidden;overflow-y:visible;width:100%;box-sizing:border-box}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:24px}
.form-row.full{grid-template-columns:1fr}
.form-group{display:flex;flex-direction:column;gap:10px;margin-bottom:0}
.form-group label{font-family:var(--font-heading);font-weight:700;color:var(--text);font-size:1rem;letter-spacing:0.5px}
.form-group input,.form-group textarea,.form-group select{background:#fff;color:#111;border:2px solid color-mix(in srgb, var(--primary) 18%, #d1d5db);border-radius:10px;padding:14px 16px;font-family:var(--font-body);font-size:1rem;transition:all 0.3s ease}
.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px color-mix(in srgb, var(--primary) 25%, transparent);background:#fff}
.form-group textarea{resize:vertical;min-height:120px}
.contact-form-inner .btn{width:100%;margin-top:24px;padding:14px 24px;font-size:1.05rem;letter-spacing:0.5px}
.disclaimer{font-size:0.85rem;color:var(--muted);margin-top:20px;text-align:center}
#contact .neurodiversity-box{margin-top:48px}
@media (max-width: 900px){
  .form-row{grid-template-columns:1fr}
  .contact-form-inner{padding:32px 24px}
  .contact h2{margin-bottom:20px}
  .contact .lead{margin-bottom:28px}
  #contact .neurodiversity-box{margin-top:40px}
}

/* High Performance Energetics Info Button & Modal */
.btn-info-link{display:inline-block;padding:8px 16px;background:transparent;border:2px solid var(--primary);color:var(--primary);border-radius:6px;font-size:0.9rem;font-weight:600;cursor:pointer;transition:all 0.3s ease;text-decoration:none;font-family:var(--font-body)}
.btn-info-link:hover{background:var(--primary);color:#fff;transform:translateY(-1px)}
.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.7);backdrop-filter:blur(4px);z-index:100000;display:none;align-items:center;justify-content:center;padding:20px;opacity:0;transition:opacity 0.3s ease}
.modal-overlay.active{display:flex;opacity:1}
.modal-content{background:var(--bg2);border-radius:16px;padding:32px;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;position:relative;box-shadow:0 20px 60px rgba(0,0,0,0.3);transform:scale(0.9);transition:transform 0.3s ease}
.modal-overlay.active .modal-content{transform:scale(1)}
.modal-close{position:absolute;top:16px;right:16px;width:40px;height:40px;border:none;background:color-mix(in srgb, var(--primary) 10%, transparent);color:var(--text);font-size:28px;line-height:1;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all 0.2s ease;z-index:10}
.modal-close:hover{background:var(--primary);color:#fff;transform:rotate(90deg)}
.modal-content h3{margin:0 0 20px 0;font-family:var(--font-heading);font-size:1.8rem;color:var(--text)}
.modal-body{color:var(--text);line-height:1.7}
.modal-body p{margin:0 0 16px 0;font-size:1.05rem}
.modal-body p:last-child{margin-bottom:0}
.certificate-modal-content{max-width:900px !important;padding:40px !important}
.certificate-container{text-align:center}
.certificate-image{max-width:100%;height:auto;border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,0.2)}
.certification-link{color:var(--accent);text-decoration:underline;transition:opacity 0.2s ease}
.certification-link:hover{opacity:0.8}
@media (max-width: 600px){
  .modal-content{padding:24px 20px;max-height:85vh;margin:10px}
  .modal-close{top:12px;right:12px;width:36px;height:36px;font-size:24px}
  .modal-content h3{font-size:1.5rem;margin-bottom:16px}
  .modal-body p{font-size:1rem}
}

/* Footer */
.site-footer{border-top:1px solid rgba(255,255,255,.1);background:var(--bg2)}
.footer-inner{padding:20px 0;text-align:center}
.instagram-link{display:inline-flex;align-items:center;vertical-align:middle;margin-left:8px;transition:opacity 0.3s ease,transform 0.3s ease}
.instagram-link svg{width:20px;height:20px;fill:currentColor;color:var(--text);opacity:0.8}
.instagram-link:hover{opacity:1;transform:translateY(-2px)}
.instagram-link:hover svg{opacity:1}

/* Signature - hidden by default */
.about-signature-wrap{display:flex;justify-content:center;margin-top:20px;margin-bottom:20px}
.signature{display:none;max-width:588px;width:588px;height:auto;opacity:.9;filter:none !important;transform:none !important;scale:1 !important}

/* Responsive */
@media (max-width: 900px){
  .header-inner{height:68px;padding:0;gap:12px}
  .menu-toggle{display:inline-flex;align-items:center;justify-content:center}
  /* Scope mobile dropdown nav to header only so it doesn't affect off-canvas */
  header.site-header .nav{position:fixed; top:68px; left:20px; right:20px; display:block; background:var(--bg2); border:1px solid color-mix(in srgb, var(--primary) 25%, transparent); border-radius:8px; padding:0; overflow:hidden; max-height:0; opacity:0; transform:translateY(-6px); transition:max-height .3s ease, opacity .2s ease, transform .2s ease; z-index:10000}
  header.site-header .nav.open{max-height:85vh; padding:16px; opacity:1; transform:translateY(0); overflow-y:auto; overflow-x:hidden; visibility:visible}
  header.site-header .nav a{display:block; text-align:center; padding:12px 14px; border:1px solid color-mix(in srgb, var(--primary) 18%, transparent); border-radius:6px; margin:6px 0}
  .hero-inner{grid-template-columns:1fr}
  .hero-media{height:360px}
  .btn{width:100%;max-width:420px}
  .cards{grid-template-columns:1fr}
  .logos img{height:40px}
  .about{padding:60px 0}
  .about-headshot-carousel{float:none;margin:0 auto 24px;width:200px;height:200px;overflow:hidden;border-radius:12px;border:2px solid var(--primary);background:var(--bg2);aspect-ratio:1/1 !important}
  .about-headshot{float:none;display:block;margin:0 auto 24px;width:200px;height:200px;aspect-ratio:1/1 !important}
  .about .container{text-align:center}
  .about-signature-wrap{justify-content:center}
}
@media (max-width: 600px){
  .hero{padding:72px 0}
  .hero-media{height:260px}
  .container{padding:0 16px;width:100%;max-width:100%;box-sizing:border-box;overflow-x:hidden}
  section,article,div,.container{overflow-x:hidden !important;max-width:100% !important;width:100% !important}
  .about{padding:48px 0}
  .about-headshot-carousel{width:180px !important;height:180px !important;margin-bottom:20px;overflow:hidden;border-radius:12px;border:2px solid var(--primary);background:var(--bg2);aspect-ratio:1/1 !important;min-height:180px !important;max-height:180px !important}
  .about-headshot{width:180px !important;height:180px !important;margin-bottom:20px;aspect-ratio:1/1 !important;min-height:180px !important;max-height:180px !important}
  .about h2{margin-bottom:16px}
  .prose p{margin-bottom:14px;font-size:0.95rem;line-height:1.6}
  .prose .pull-quote{margin:16px 0;padding:12px 14px;font-size:0.85rem}
  .about-signature-wrap{margin:16px 0}
  .about .btn{margin-top:20px}
  /* Prevent any horizontal scrolling on mobile */
  img,video,iframe,svg{max-width:100% !important;height:auto}
  /* Ensure all content containers don't overflow - but don't add overflow to hero to prevent nested scrolling */
  .hero-copy,.hero-media,.prose,.testimonial-grid,.contact-form-inner{overflow-x:hidden;max-width:100%}
  .cards{overflow:visible !important}
  /* Remove overflow from hero on mobile to prevent nested scrolling */
  .hero,.hero-inner{overflow-x:visible !important}
}

/* Ensure off-canvas nav content is visible on mobile */
@media (max-width: 900px){
  header.site-header .offcanvas .nav{display:block !important;position:static !important;opacity:1 !important;visibility:visible !important;transform:none !important;max-height:none !important;padding:0 !important;border:0 !important;pointer-events:auto !important}
}

/* Off-canvas visibility override on mobile */
@media (max-width: 900px){
  .offcanvas .nav{
    display:block !important;
    position:static !important;
    opacity:1 !important;
    visibility:visible !important;
    transform:none !important;
    max-height:none !important;
    overflow:visible !important;
    padding:0 !important;
    border:0 !important;
    pointer-events:auto !important;
    z-index:100001 !important;
  }
  .offcanvas .nav a{display:block !important}
}

/* Discovery Call Box Styling */
.discovery-call-box{
  background:linear-gradient(135deg, var(--accent) 0%, var(--primary2) 100%);
  padding:32px;
  border-radius:16px;
  color:#fff;
  box-shadow:0 8px 24px rgba(15,61,63,0.2);
  position:relative;
  overflow:hidden;
}
.discovery-call-box::before{
  content:'';
  position:absolute;
  top:-50%;
  right:-50%;
  width:200%;
  height:200%;
  background:radial-gradient(circle, rgba(255,255,255,0.1) 0%, transparent 70%);
  pointer-events:none;
}
.discovery-call-box h3{
  margin:0 0 16px;
  color:#fff;
  font-size:1.3rem;
}
.discovery-call-box p{
  margin:0;
  line-height:1.6;
  font-size:1rem;
}
.offer-intro-layout{
  display:grid;
  grid-template-columns:1fr;
  gap:32px;
  margin-bottom:32px;
}
@media (min-width: 901px){
  .offer-intro-layout{
    grid-template-columns:2fr 1fr;
    gap:40px;
  }
}
@media (max-width: 900px){
  .discovery-call-box{
    padding:24px;
  }
}
