:root{
  --navy:#0c2f6e;--navy2:#173d83;--violet:#8b61ec;--purple:#a95edc;--peach:#f3a46f;
  --gold:#d7a24c;--cyan:#55c8df;--ivory:#fffaf3;--cream:#fff5e9;--lav:#f5f0ff;--sky:#eff9ff;
  --ink:#12356f;--muted:#66728e;--line:rgba(26,49,106,.11);--soft:0 14px 34px rgba(33,50,101,.08);
  --shadow:0 24px 70px rgba(33,50,101,.13);--serif:Georgia,"Times New Roman",serif;--sans:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:linear-gradient(180deg,#fffaf3,#fff 35%,#faf6ff 70%,#fff7ee);color:var(--ink);font-family:var(--sans);line-height:1.45;overflow-x:hidden}
img{display:block;max-width:100%}
a{text-decoration:none;color:inherit}
.wrap{width:min(100% - 24px,1180px);margin:auto}
.skip{position:absolute;left:-9999px}.skip:focus{left:12px;top:12px;z-index:999;background:#fff;padding:8px 12px;border-radius:10px}

/* HEADER */
.site-header{position:sticky;top:0;z-index:100;background:rgba(255,250,244,.94);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}
.nav{min-height:68px;display:flex;align-items:center;gap:10px}
.brand-lockup{display:flex;align-items:center;gap:8px;min-width:0}
.brand-lockup img{width:42px;height:42px;object-fit:contain}
.brand-copy{display:flex;flex-direction:column;line-height:.88}.brand-word{font-family:var(--serif);font-size:1.45rem;font-weight:700;letter-spacing:-.05em}.brand-word .ds{color:var(--peach)}.brand-word .vibe{color:var(--violet)}.brand-sub{font-size:.45rem;color:#607091;margin-top:4px;font-weight:750}
.navlinks,.phone-pill,.cart-pill{display:none}
.menu-btn{margin-left:auto;width:46px;height:46px;border:1px solid #d9dcef;background:#fff;border-radius:15px;color:var(--navy);font-size:1.15rem}
.mobile-nav{display:none;padding:4px 0 14px}.mobile-nav.open{display:grid}.mobile-nav a{padding:12px 2px;border-top:1px solid var(--line);font-weight:800}

/* CORE */
.eyebrow{font-size:.58rem;letter-spacing:.18em;text-transform:uppercase;font-weight:900;color:#445bb5}
.display{font-family:var(--serif);font-weight:700;letter-spacing:-.055em;line-height:.87;margin:.15rem 0;color:var(--navy)}
.accent{color:var(--violet)}
.lead{color:var(--muted);font-size:.9rem}
.script{font-family:"Brush Script MT","Segoe Script",cursive;color:#3261a4;font-size:1.25rem;line-height:1.05}
.btns{display:grid;gap:9px;margin-top:16px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:11px 18px;border-radius:999px;font-weight:900;border:1px solid transparent;text-align:center}
.btn.primary{background:linear-gradient(135deg,#6077f2,#8f68ec 54%,#c458dc);color:#fff;box-shadow:0 12px 28px rgba(117,83,215,.2)}
.btn.secondary{background:rgba(255,255,255,.9);border-color:#decbb3;color:#244981}

/* HERO */
.hero{position:relative;padding:10px 0 14px;background:
radial-gradient(circle at 72% 18%,rgba(255,225,142,.58),transparent 16%),
radial-gradient(circle at 96% 0%,rgba(129,110,229,.14),transparent 28%),
linear-gradient(135deg,#fffaf2 0%,#fff4ea 38%,#f4efff 68%,#eefaff 100%)}
.hero-inner{display:grid;grid-template-columns:1.05fr .95fr;min-height:490px;gap:4px}
.hero-copy{padding:18px 0 8px;position:relative;z-index:3}
.hero-copy h1{font-size:clamp(3rem,16vw,4.55rem)}
.hero-sub{font-family:var(--serif);font-size:1.1rem;line-height:1.02;margin:.25rem 0 .6rem;color:#23467f}
.hero-copy .lead{font-size:.82rem;line-height:1.42;margin:.45rem 0;max-width:96%}
.hero-copy .script{margin-top:13px}
.hero-copy .btns{width:93%}
.hero-art{position:relative;overflow:hidden;border-radius:0 0 26px 26px}
.hero-art:before{content:"";position:absolute;inset:0;background:
radial-gradient(circle at 54% 29%,rgba(255,244,189,.98),transparent 18%),
linear-gradient(180deg,rgba(255,255,255,.1),rgba(236,246,255,.78))}
.hero-coil{position:absolute;z-index:2;right:-25%;top:1%;width:125%;max-width:none;height:62%;object-fit:contain;filter:drop-shadow(0 18px 26px rgba(89,57,24,.16))}
.hero-shai{position:absolute;z-index:4;right:-3%;bottom:0;width:60%;max-height:45%;object-fit:contain;object-position:bottom}
.hero-name{position:absolute;z-index:5;right:0;bottom:2%;max-width:92%;padding:6px 9px;border-radius:13px;background:rgba(255,250,244,.94);border:1px solid rgba(255,255,255,.84);font-size:.53rem;line-height:1.2;box-shadow:var(--soft)}
.hero-name strong{display:block;font-size:.7rem}
.hero-vertical{display:none}
.hero-motto{position:absolute;z-index:4;left:3%;bottom:2%;font-size:.53rem;letter-spacing:.18em;font-weight:900;color:#3758a2}

/* ZOOM */
.zoom-section{padding:12px 0 0}
.zoom-card{position:relative;overflow:hidden;border-radius:22px;padding:16px;border:1px solid rgba(71,84,151,.16);box-shadow:var(--soft);background:
radial-gradient(circle at 75% 25%,rgba(255,255,255,.12),transparent 19%),
linear-gradient(135deg,#fff 0%,#f5efff 50%,#192b68 100%)}
.zoom-grid{position:relative;z-index:2;display:grid;grid-template-columns:44px 1fr;gap:10px}
.zoom-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(135deg,#775ef0,#bd63df);color:#fff;font-weight:900;font-size:.64rem}
.zoom-card h2{font-family:var(--serif);font-size:1.32rem;line-height:.95;margin:0;color:var(--navy)}
.zoom-card h2 span{color:var(--violet)}
.zoom-card p{font-size:.75rem;color:#586687;margin:.35rem 0}
.zoom-card .btn{grid-column:1/-1;width:100%}
.zoom-card:after{content:"";position:absolute;right:-12%;bottom:-33%;width:64%;height:110%;border-radius:50%;background:radial-gradient(circle,rgba(122,101,218,.56),rgba(28,48,105,.2) 52%,transparent 72%)}
.zoom-side{display:none}

/* TECHNOLOGY */
.section{padding:38px 0}
.section.soft{background:linear-gradient(90deg,rgba(255,247,239,.84),rgba(247,243,255,.9),rgba(240,252,255,.82))}
.section-head h2{font-family:var(--serif);font-size:2.3rem;letter-spacing:-.045em;line-height:.95;margin:.12rem 0}
.tech-panel{padding:18px;border-radius:24px;background:
radial-gradient(circle at 94% 3%,rgba(94,203,228,.15),transparent 28%),
linear-gradient(145deg,#fffaf3,#fff 47%,#f5f0ff);border:1px solid var(--line);box-shadow:var(--soft)}
.tech-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}
.tech-point{padding:12px;border-radius:18px;background:rgba(255,255,255,.9);border:1px solid var(--line)}
.icon{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#eef2ff,#fff0dd);margin-bottom:7px}
.tech-point h3{font-family:var(--serif);font-size:.98rem;line-height:1.03;margin:0}.tech-point p{font-size:.7rem;color:var(--muted);margin:.3rem 0 0}

/* SHAHIROZ */
.welcome{padding:12px;border-radius:25px;background:
radial-gradient(circle at 86% 18%,rgba(255,207,112,.24),transparent 22%),
linear-gradient(135deg,#fff7ec,#f4efff 60%,#eefaff);border:1px solid var(--line);box-shadow:var(--soft);display:grid;grid-template-columns:.72fr 1.28fr;gap:8px;align-items:end}
.welcome-photo{width:100%;max-height:260px;object-fit:contain;object-position:bottom;filter:drop-shadow(0 12px 20px rgba(26,43,98,.12))}
.welcome-copy h2{font-family:var(--serif);font-size:1.88rem;line-height:.92;margin:.1rem 0}.welcome-copy p{font-size:.75rem;color:#586687}.welcome-quote{font-family:var(--serif);font-style:italic;color:#315aa0;font-size:.95rem;margin:.5rem 0}

/* VORTEX */
.vortex{position:relative;overflow:hidden;min-height:360px;border-radius:24px;background:linear-gradient(135deg,#112b65,#3f2879 56%,#71488c);box-shadow:var(--shadow)}
.vortex img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.vortex:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,26,67,.94),rgba(12,31,78,.64) 48%,rgba(12,31,78,.08) 75%)}
.vortex-copy{position:relative;z-index:2;width:63%;padding:24px 18px;color:#fff}
.vortex-copy h2{font-family:var(--serif);font-size:2.5rem;line-height:.88;margin:0}.vortex-copy h2 span{color:#c97adf}.vortex-copy h3{font-family:var(--serif);font-size:1.25rem;margin:.3rem 0}.vortex-copy p{font-size:.74rem;color:#edf1ff}
.vortex-words{position:absolute;z-index:2;right:12px;top:18px;color:#fff;font-family:var(--serif);font-size:.7rem;line-height:1.65;letter-spacing:.08em;text-align:right}

/* PRODUCTS */
.products-head{display:flex;justify-content:space-between;gap:14px;align-items:end;margin-bottom:14px}.products-head h2{font-family:var(--serif);font-size:2.25rem;line-height:.95;margin:0}
.products-row{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.product-card{overflow:hidden;border-radius:18px;background:#fff;border:1px solid var(--line);box-shadow:var(--soft)}
.product-card .media{aspect-ratio:4/3;overflow:hidden;background:#f5efff}.product-card .media img{width:100%;height:100%;object-fit:cover}
.product-card .body{padding:10px}.product-card h3{font-family:var(--serif);font-size:.98rem;line-height:1.02;margin:.05rem 0}.product-card p{font-size:.68rem;color:var(--muted);margin:.3rem 0}.product-card a{font-size:.69rem;font-weight:900;color:#5249c2}

/* FOOTER */
.footer{margin-top:44px;background:linear-gradient(135deg,#fff8ef,#f3efff 58%,#effaff);border-top:1px solid var(--line);padding:26px 0 34px;color:var(--ink)}
.footer-grid{display:grid;gap:18px}.footer-brand{display:flex;align-items:center;gap:8px}.footer-brand img{width:44px;height:44px}.footer-brand strong{font-family:var(--serif);font-size:1.6rem}.footer-nav{display:flex;flex-wrap:wrap;gap:14px;font-size:.76rem;font-weight:800}.footer-phone{display:inline-flex;padding:8px 12px;border:1px solid #cad0ea;border-radius:999px;background:#fff;font-size:.78rem;font-weight:900}.footer-tag{font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;color:#617091}

/* generic pages stay usable */
.grid{display:grid;gap:12px}.cols-2,.cols-3,.cols-4{grid-template-columns:1fr}
.card{background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--soft);overflow:hidden}.card-body{padding:16px}.card-media{aspect-ratio:4/3;overflow:hidden}.card-media img{width:100%;height:100%;object-fit:cover}
.person-panel,.support-band,.inventor-panel,.split{display:grid;gap:16px}.person-panel,.support-band,.inventor-panel{padding:18px;border-radius:22px;background:linear-gradient(135deg,#fff8ef,#f5f0ff);border:1px solid var(--line)}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.contact-card{padding:14px;border-radius:18px;background:#fff;border:1px solid var(--line);box-shadow:var(--soft)}
.form-grid{display:grid;gap:12px}.field{display:grid;gap:5px}.field input,.field select,.field textarea{width:100%;padding:12px;border:1px solid #dfe1ed;border-radius:12px;font:inherit}.field textarea{min-height:130px}

@media(min-width:700px){
  .wrap{width:min(100% - 40px,1180px)}
  .brand-lockup img{width:48px;height:48px}.brand-word{font-size:1.8rem}.brand-sub{font-size:.55rem}
  .hero-inner{min-height:580px;gap:16px}.hero-copy{padding:48px 0 18px}.hero-copy h1{font-size:5.5rem}.hero-sub{font-size:1.62rem}.hero-copy .lead{font-size:1rem}.hero-copy .btns{display:flex;width:auto}.hero-coil{right:-6%;width:102%;height:74%}.hero-shai{width:44%;right:0;max-height:52%}.hero-name{font-size:.7rem;padding:8px 11px}.hero-name strong{font-size:.9rem}.hero-vertical{display:block;position:absolute;z-index:5;right:2%;top:10%;text-align:right;font-family:var(--serif);font-size:.72rem;letter-spacing:.12em;line-height:1.6}
  .zoom-grid{grid-template-columns:52px 1fr auto;align-items:center}.zoom-card .btn{grid-column:auto;width:auto}.zoom-card h2{font-size:1.7rem}.zoom-card p{font-size:.86rem}
  .section{padding:56px 0}.section-head h2,.products-head h2{font-size:3.25rem}.tech-grid{grid-template-columns:repeat(4,1fr)}.welcome{padding:20px;grid-template-columns:.56fr 1.44fr}.welcome-photo{max-height:340px}.welcome-copy h2{font-size:3rem}.welcome-copy p{font-size:.94rem}.vortex{min-height:440px}.vortex-copy{padding:36px;width:55%}.vortex-copy h2{font-size:4.2rem}.vortex-copy h3{font-size:1.8rem}.vortex-copy p{font-size:.92rem}.vortex-words{font-size:.85rem}.products-row{grid-template-columns:repeat(4,1fr);gap:14px}.product-card .body{padding:14px}.product-card h3{font-size:1.16rem}.product-card p,.product-card a{font-size:.78rem}.cols-2{grid-template-columns:repeat(2,1fr)}.cols-3{grid-template-columns:repeat(2,1fr)}.cols-4{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1.2fr 1fr auto;align-items:center}
}
@media(min-width:1020px){
  .nav{min-height:82px;gap:18px}.navlinks{display:flex;margin-left:auto;gap:18px}.navlinks a{font-size:.9rem;font-weight:800;color:#2c4b7e}.phone-pill,.cart-pill{display:inline-flex;align-items:center;justify-content:center;padding:8px 13px;border-radius:999px;border:1px solid #cdd0ea;background:#fff;font-weight:850;color:#294a80}.menu-btn{display:none}
  .hero{padding:22px 0}.hero-inner{min-height:680px;grid-template-columns:.88fr 1.12fr;gap:28px}.hero-copy{padding:90px 0 40px}.hero-copy h1{font-size:7.2rem}.hero-sub{font-size:2.15rem}.hero-copy .lead{font-size:1.08rem;max-width:560px}.hero-copy .script{font-size:1.7rem}.hero-art{border-radius:34px}.hero-coil{width:84%;right:5%;height:79%}.hero-shai{width:35%;right:1%;max-height:57%}.hero-name{font-size:.78rem}.hero-name strong{font-size:1rem}.hero-vertical{font-size:.9rem}
  .zoom-section{padding-top:18px}.zoom-card{padding:22px 26px}.zoom-grid{grid-template-columns:58px 1fr auto}.zoom-side{display:block;position:absolute;z-index:2;right:22px;top:18px;color:#fff;font-family:var(--serif);font-size:1.15rem;text-align:right}
  .section{padding:72px 0}.section-head h2,.products-head h2{font-size:4rem}.tech-panel{padding:30px}.tech-point{padding:18px}.welcome{padding:28px;grid-template-columns:.46fr 1.54fr}.welcome-photo{max-height:430px}.welcome-copy{padding:18px}.welcome-copy h2{font-size:4rem}.welcome-copy p{font-size:1rem;max-width:700px}.vortex{min-height:520px}.vortex-copy{padding:52px;width:52%}.vortex-copy h2{font-size:5.3rem}.vortex-copy h3{font-size:2.1rem}.vortex-copy p{font-size:1rem;max-width:520px}.product-card h3{font-size:1.25rem}.cols-3{grid-template-columns:repeat(3,1fr)}.cols-4{grid-template-columns:repeat(4,1fr)}.split,.person-panel,.support-band{grid-template-columns:1fr 1fr}.inventor-panel{grid-template-columns:180px 1fr}.contact-grid{grid-template-columns:repeat(4,1fr)}
}
/* Integrated generated hero */
.hero-new{padding:16px 0 18px}
.hero-inner-new{display:grid;grid-template-columns:1fr;gap:18px;min-height:0}
.hero-copy-new{padding:12px 0 0}
.hero-copy-new h1{font-size:clamp(3.2rem,16vw,4.7rem)}
.hero-art-new{position:relative;overflow:hidden;border-radius:26px;aspect-ratio:4/3;background:
linear-gradient(135deg,#fff8ed,#f4efff 55%,#edfaff);box-shadow:var(--shadow);border:1px solid rgba(255,255,255,.9)}
.hero-art-new:before{display:none}
.hero-generated{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;opacity:0;transition:opacity .35s ease}
.hero-generated.is-loaded{opacity:1}
.hero-placeholder{position:absolute;inset:0;background:
radial-gradient(circle at 72% 34%,rgba(255,217,126,.45),transparent 25%),
linear-gradient(135deg,#fff8ed,#f3efff 58%,#eefaff)}
@media(min-width:700px){
  .hero-new{padding:26px 0}
  .hero-inner-new{grid-template-columns:.9fr 1.1fr;gap:28px;align-items:center}
  .hero-copy-new{padding:26px 0}
  .hero-copy-new h1{font-size:5.5rem}
  .hero-art-new{aspect-ratio:4/3;min-height:0}
}
@media(min-width:1020px){
  .hero-new{padding:34px 0 28px}
  .hero-inner-new{grid-template-columns:.82fr 1.18fr;gap:42px}
  .hero-copy-new{padding:58px 0}
  .hero-copy-new h1{font-size:7rem}
  .hero-art-new{border-radius:34px}
}

/* === NEW INTEGRATED HERO ASSET === */
.hero{padding:14px 0 20px;background:linear-gradient(180deg,#fffaf3 0%,#fff7ef 100%)}
.hero-inner{display:block;min-height:0}
.hero-stage{position:relative;overflow:hidden;border-radius:28px;aspect-ratio:4/3;background:#f8f3ff;box-shadow:0 24px 70px rgba(36,50,100,.16);border:1px solid rgba(255,255,255,.9)}
.hero-stage>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center}
.hero-stage:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,250,244,.93) 0%,rgba(255,250,244,.72) 31%,rgba(255,250,244,.12) 55%,rgba(255,250,244,0) 72%)}
.hero-overlay{position:absolute;z-index:3;left:18px;top:18px;width:min(52%,520px)}
.hero-overlay .eyebrow{font-size:.54rem}
.hero-overlay h1{font-size:clamp(3rem,15vw,4.5rem);margin:.2rem 0 .35rem}
.hero-overlay .hero-sub{font-size:1.02rem;max-width:95%}
.hero-overlay .lead{font-size:.76rem;line-height:1.36;max-width:95%;margin:.45rem 0}
.hero-overlay .script{font-size:1.12rem;margin-top:10px}
.hero-overlay .btns{display:grid;gap:8px;width:95%;margin-top:14px}
.hero-overlay .btn{min-height:44px;padding:9px 12px;font-size:.86rem}
.hero-badge{position:absolute;z-index:4;right:14px;bottom:14px;background:rgba(255,250,244,.94);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.9);border-radius:14px;padding:8px 10px;box-shadow:var(--soft);font-size:.6rem}
.hero-badge strong{display:block;font-size:.78rem}
.hero-caption{position:absolute;z-index:4;right:14px;top:14px;max-width:30%;text-align:right;font-family:var(--serif);font-size:.62rem;line-height:1.45;letter-spacing:.09em;color:#274a82}
@media(max-width:430px){
  .hero{padding-top:10px}
  .hero-stage{border-radius:22px;aspect-ratio:4/3}
  .hero-stage:after{background:linear-gradient(90deg,rgba(255,250,244,.94) 0%,rgba(255,250,244,.76) 34%,rgba(255,250,244,.14) 57%,rgba(255,250,244,0) 72%)}
  .hero-overlay{left:14px;top:14px;width:54%}
  .hero-overlay h1{font-size:clamp(2.7rem,13.5vw,3.8rem)}
  .hero-overlay .hero-sub{font-size:.93rem}
  .hero-overlay .lead{font-size:.69rem;line-height:1.32}
  .hero-overlay .script{font-size:1rem}
  .hero-overlay .btn{min-height:40px;font-size:.78rem;padding:8px 10px}
  .hero-badge{right:10px;bottom:10px;font-size:.52rem;padding:6px 8px}
  .hero-badge strong{font-size:.68rem}
  .hero-caption{display:none}
}
@media(min-width:700px){
  .hero-stage{border-radius:34px;aspect-ratio:16/9}
  .hero-stage:after{background:linear-gradient(90deg,rgba(255,250,244,.94) 0%,rgba(255,250,244,.75) 32%,rgba(255,250,244,.08) 58%,rgba(255,250,244,0) 72%)}
  .hero-overlay{left:34px;top:34px;width:44%}
  .hero-overlay .eyebrow{font-size:.7rem}
  .hero-overlay h1{font-size:5.5rem}
  .hero-overlay .hero-sub{font-size:1.55rem}
  .hero-overlay .lead{font-size:.98rem}
  .hero-overlay .script{font-size:1.5rem}
  .hero-overlay .btns{display:flex;flex-wrap:wrap;width:auto}
  .hero-overlay .btn{font-size:.9rem}
  .hero-caption{display:block;font-size:.76rem;right:24px;top:24px}
  .hero-badge{right:24px;bottom:24px;font-size:.68rem}
  .hero-badge strong{font-size:.9rem}
}
@media(min-width:1020px){
  .hero{padding:24px 0 30px}
  .hero-stage{aspect-ratio:16/8.2}
  .hero-overlay{left:54px;top:52px;width:42%}
  .hero-overlay h1{font-size:7rem}
  .hero-overlay .hero-sub{font-size:2rem}
  .hero-overlay .lead{font-size:1.05rem}
  .hero-overlay .script{font-size:1.7rem}
  .hero-caption{font-size:.9rem;right:34px;top:34px}
  .hero-badge{right:34px;bottom:30px}
}


/* === RESPONSIVE QA / NO-OVERLAP PASS === */
html,body{max-width:100%;overflow-x:hidden}
body *{min-width:0}
h1,h2,h3,p,.hero-sub,.lead,.footer-tag,.hero-badge{overflow-wrap:break-word;word-break:normal}
img{height:auto}
.btn{white-space:normal;line-height:1.15}
.site-header,.hero,.zoom-section,.section,.footer{width:100%}
.wrap{max-width:1180px}

/* keep all floating hero content inside safe areas */
.hero-stage{isolation:isolate}
.hero-stage>img{z-index:0}
.hero-stage:after{z-index:1;pointer-events:none}
.hero-overlay,.hero-caption,.hero-badge{max-width:calc(100% - 24px)}
.hero-overlay{z-index:3}
.hero-caption,.hero-badge{z-index:4}

/* mobile-first safety */
@media(max-width:699px){
  .nav{padding-block:4px}
  .brand-lockup{max-width:calc(100% - 58px)}
  .brand-word{font-size:clamp(1.18rem,5.2vw,1.48rem)}
  .brand-sub{font-size:clamp(.42rem,1.9vw,.5rem);white-space:normal;line-height:1.05}
  .menu-btn{flex:0 0 46px}
  
  .hero{padding:10px 0 16px}
  .hero-stage{
    aspect-ratio:auto;
    min-height:640px;
    border-radius:24px;
    background:#fff8ef;
  }
  .hero-stage>img{
    height:56%;
    object-fit:cover;
    object-position:64% center;
  }
  .hero-stage:after{
    background:
      linear-gradient(180deg,rgba(255,250,244,.28) 0%,rgba(255,250,244,.08) 40%,rgba(255,250,244,.95) 56%,rgba(255,250,244,.99) 100%),
      linear-gradient(90deg,rgba(255,250,244,.86) 0%,rgba(255,250,244,.58) 35%,rgba(255,250,244,0) 68%);
  }
  .hero-overlay{
    position:absolute;
    left:16px;
    right:16px;
    top:auto;
    bottom:82px;
    width:auto;
    max-width:none;
  }
  .hero-overlay .eyebrow{font-size:.56rem;line-height:1.25}
  .hero-overlay h1{font-size:clamp(2.75rem,13.5vw,4rem);margin:.1rem 0 .22rem}
  .hero-overlay .hero-sub{font-size:clamp(1rem,4.3vw,1.18rem);line-height:1.06;max-width:100%;margin:.15rem 0 .45rem}
  .hero-overlay .lead{font-size:clamp(.76rem,3.3vw,.9rem);line-height:1.36;max-width:100%;margin:.35rem 0}
  .hero-overlay .script{font-size:clamp(1rem,4.6vw,1.25rem);margin-top:8px}
  .hero-overlay .btns{width:100%;grid-template-columns:1fr;gap:9px;margin-top:12px}
  .hero-overlay .btn{width:100%;min-height:46px;font-size:.85rem}
  .hero-caption{display:none}
  .hero-badge{
    right:12px;
    top:calc(56% - 58px);
    bottom:auto;
    max-width:62%;
    padding:7px 9px;
    font-size:.54rem;
    line-height:1.18;
  }
  .hero-badge strong{font-size:.72rem}
  
  .zoom-section{padding-top:14px}
  .zoom-card{padding:16px;border-radius:22px}
  .zoom-grid{grid-template-columns:44px minmax(0,1fr);gap:10px 11px;align-items:start}
  .zoom-card h2{font-size:clamp(1.28rem,6vw,1.7rem);line-height:.98}
  .zoom-card p{font-size:clamp(.76rem,3.4vw,.9rem);line-height:1.4;margin:.45rem 0 0}
  .zoom-card .btn{grid-column:1/-1;margin-top:10px;min-height:48px}
  .zoom-card:after{right:-22%;bottom:-35%;width:78%;height:95%;opacity:.72}
  
  .section{padding:34px 0}
  .section-head h2,.products-head h2{font-size:clamp(2.15rem,11vw,3rem);line-height:.96}
  .tech-panel{padding:17px;border-radius:22px}
  .tech-grid{grid-template-columns:1fr;gap:10px}
  .tech-point{padding:14px}
  
  .welcome{
    grid-template-columns:1fr;
    align-items:start;
    gap:0;
    padding:16px;
  }
  .welcome-photo{
    max-height:290px;
    width:min(78%,310px);
    margin:0 auto;
  }
  .welcome-copy{padding:8px 2px 2px}
  .welcome-copy h2{font-size:clamp(2rem,10vw,2.8rem)}
  .welcome-copy p{font-size:.86rem;line-height:1.45}
  .welcome-copy .btn{width:100%}
  
  .vortex{min-height:440px;border-radius:22px}
  .vortex:after{background:linear-gradient(180deg,rgba(9,26,67,.42),rgba(9,26,67,.93) 52%,rgba(9,26,67,.96))}
  .vortex img{object-position:center 25%}
  .vortex-copy{
    position:absolute;
    left:0;right:0;bottom:0;
    width:100%;
    padding:22px 18px 20px;
  }
  .vortex-copy h2{font-size:clamp(2.5rem,12vw,3.6rem)}
  .vortex-copy h3{font-size:1.35rem}
  .vortex-copy p{font-size:.82rem;line-height:1.42}
  .vortex-copy .btn{width:100%}
  .vortex-words{display:none}
  
  .products-head{display:grid;gap:12px;align-items:start}
  .products-head .btn{width:100%}
  .products-row{grid-template-columns:1fr;gap:12px}
  .product-card .media{aspect-ratio:16/10}
  .product-card .body{padding:14px}
  .product-card h3{font-size:1.15rem}
  .product-card p,.product-card a{font-size:.8rem}
  
  .contact-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
}

/* very small phones */
@media(max-width:390px){
  .wrap{width:min(100% - 18px,1180px)}
  .nav{min-height:64px}
  .brand-lockup img{width:38px;height:38px}
  .menu-btn{width:44px;height:44px}
  .hero-stage{min-height:610px}
  .hero-stage>img{height:54%;object-position:66% center}
  .hero-stage:after{
    background:
      linear-gradient(180deg,rgba(255,250,244,.2) 0%,rgba(255,250,244,.06) 36%,rgba(255,250,244,.96) 54%,rgba(255,250,244,1) 100%),
      linear-gradient(90deg,rgba(255,250,244,.82),rgba(255,250,244,.46) 36%,transparent 67%);
  }
  .hero-overlay{left:13px;right:13px;bottom:72px}
  .hero-overlay h1{font-size:clamp(2.55rem,13vw,3.3rem)}
  .hero-overlay .hero-sub{font-size:.98rem}
  .hero-overlay .lead{font-size:.74rem}
  .hero-overlay .btn{font-size:.8rem;min-height:44px}
  .hero-badge{top:calc(54% - 54px);right:9px;max-width:66%}
  .zoom-card{padding:14px}
  .zoom-grid{grid-template-columns:40px minmax(0,1fr)}
  .zoom-icon{width:40px;height:40px}
}

/* tablet */
@media(min-width:700px) and (max-width:1019px){
  .hero-stage{aspect-ratio:16/10;min-height:520px}
  .hero-stage>img{object-position:62% center}
  .hero-overlay{width:46%;left:28px;top:28px}
  .hero-overlay h1{font-size:clamp(4.2rem,9vw,5.5rem)}
  .hero-overlay .hero-sub{font-size:1.28rem}
  .hero-overlay .lead{font-size:.9rem;line-height:1.4}
  .hero-overlay .btns{display:grid;grid-template-columns:1fr;max-width:320px}
  .hero-badge{right:20px;bottom:18px;max-width:42%}
  .hero-caption{right:20px;top:20px}
  
  .zoom-grid{grid-template-columns:52px minmax(0,1fr);gap:12px}
  .zoom-card .btn{grid-column:1/-1;width:100%;margin-top:8px}
  .zoom-side{display:none}
  
  .tech-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .welcome{grid-template-columns:.8fr 1.2fr}
  .products-row{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* desktop safety */
@media(min-width:1020px){
  .hero-stage>img{object-position:center center}
  .hero-overlay{max-width:500px}
  .hero-overlay .btns{max-width:520px}
  .hero-badge{max-width:320px}
  .zoom-grid{grid-template-columns:58px minmax(0,1fr) auto}
  .zoom-card .btn{white-space:nowrap}
}

/* landscape phones / short viewport */
@media(max-height:520px) and (orientation:landscape){
  .site-header{position:relative}
  .hero-stage{min-height:420px;aspect-ratio:16/9}
  .hero-stage>img{height:100%;object-position:70% center}
  .hero-stage:after{background:linear-gradient(90deg,rgba(255,250,244,.94),rgba(255,250,244,.72) 38%,rgba(255,250,244,.05) 68%)}
  .hero-overlay{top:18px;bottom:auto;width:46%;right:auto}
  .hero-overlay h1{font-size:3.2rem}
  .hero-overlay .hero-sub{font-size:1rem}
  .hero-overlay .lead{font-size:.74rem}
  .hero-overlay .btns{grid-template-columns:1fr 1fr}
  .hero-badge{top:auto;bottom:12px;right:12px}
}


/* === HERO TITLE IN IMAGE NEGATIVE SPACE === */
.hero{padding:12px 0 22px;background:linear-gradient(180deg,#fffaf3,#fff7ef)}
.hero-card{overflow:hidden;border-radius:26px;background:rgba(255,250,244,.98);border:1px solid rgba(255,255,255,.95);box-shadow:0 24px 70px rgba(36,50,100,.14)}
.hero-media{position:relative;aspect-ratio:16/9;overflow:hidden;background:#f8f2ff}
.hero-media>img{width:100%;height:100%;object-fit:cover;object-position:center center}
.hero-media:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(255,250,244,.28) 0%,rgba(255,250,244,.12) 34%,rgba(255,250,244,0) 54%)}
.hero-title-overlay{position:absolute;z-index:3;left:clamp(14px,3vw,44px);top:clamp(14px,3vw,38px);width:min(46%,520px)}
.hero-title-overlay .eyebrow{font-size:clamp(.48rem,1.25vw,.78rem);line-height:1.25;text-shadow:0 1px 0 rgba(255,255,255,.5)}
.hero-title-overlay h1{font-size:clamp(2.45rem,8.8vw,6.7rem);margin:.1rem 0 0;line-height:.86}
.hero-badge{position:absolute;z-index:4;right:clamp(10px,2vw,24px);bottom:clamp(10px,2vw,22px);max-width:42%;background:rgba(255,250,244,.94);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.92);border-radius:14px;padding:7px 10px;box-shadow:var(--soft);font-size:clamp(.52rem,1.25vw,.72rem);line-height:1.18}
.hero-badge strong{display:block;font-size:clamp(.7rem,1.7vw,.95rem)}
.hero-details{padding:18px;display:grid;gap:14px;background:linear-gradient(135deg,#fff9f0 0%,#fff 44%,#f5f0ff 100%)}
.hero-details .hero-sub{font-family:var(--serif);font-size:clamp(1.08rem,4.3vw,1.55rem);line-height:1.05;color:#23467f;margin:0}
.hero-details .lead{font-size:clamp(.82rem,3.35vw,.96rem);line-height:1.42;margin:.55rem 0 0}
.hero-details .script{font-size:clamp(1.1rem,4.7vw,1.45rem);margin-top:12px}
.hero-details .btns{display:grid;grid-template-columns:1fr;gap:9px;margin:0}
.hero-details .btn{width:100%;min-height:48px}

/* narrow phones: preserve the image composition and keep title in its dedicated empty region */
@media(max-width:430px){
  .hero{padding-top:10px}
  .hero-card{border-radius:22px}
  .hero-media{aspect-ratio:16/9}
  .hero-title-overlay{left:12px;top:12px;width:43%}
  .hero-title-overlay .eyebrow{font-size:.46rem;letter-spacing:.14em}
  .hero-title-overlay h1{font-size:clamp(2.25rem,11vw,3.15rem)}
  .hero-badge{right:9px;bottom:9px;max-width:48%;padding:6px 8px;font-size:.5rem}
  .hero-badge strong{font-size:.66rem}
  .hero-details{padding:15px}
  .hero-details .hero-sub{font-size:1.04rem}
  .hero-details .lead{font-size:.8rem}
  .hero-details .script{font-size:1.08rem}
}

/* tablets */
@media(min-width:700px){
  .hero{padding:20px 0 28px}
  .hero-card{border-radius:32px}
  .hero-title-overlay{left:30px;top:28px;width:42%}
  .hero-details{grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);align-items:center;padding:24px 28px;gap:24px}
  .hero-details .btns{max-width:360px;justify-self:end;width:100%}
}

/* desktop */
@media(min-width:1020px){
  .hero{padding:26px 0 34px}
  .hero-title-overlay{left:48px;top:44px;width:40%}
  .hero-title-overlay h1{font-size:6.6rem}
  .hero-details{padding:28px 36px}
  .hero-details .hero-sub{font-size:1.65rem}
  .hero-details .lead{font-size:1rem;max-width:720px}
  .hero-details .script{font-size:1.55rem}
  .hero-details .btns{max-width:400px}
}

/* landscape phones */
@media(max-height:520px) and (orientation:landscape){
  .hero-media{aspect-ratio:16/8}
  .hero-title-overlay{left:18px;top:16px;width:38%}
  .hero-title-overlay h1{font-size:3.4rem}
  .hero-details{grid-template-columns:1.2fr .8fr;align-items:center}
  .hero-details .btns{grid-template-columns:1fr;max-width:300px;justify-self:end}
}


/* === HERO BADGE COLLISION FIX === */
.hero-media .hero-badge{
  top:auto !important;
  left:auto !important;
  right:clamp(10px,2vw,24px) !important;
  bottom:clamp(10px,2vw,22px) !important;
  width:auto !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  max-width:min(46%,280px) !important;
  padding:8px 10px !important;
  display:block !important;
  align-self:auto !important;
  line-height:1.15 !important;
}
@media(max-width:430px){
  .hero-media .hero-badge{
    top:auto !important;
    bottom:9px !important;
    right:9px !important;
    max-width:48% !important;
    padding:6px 8px !important;
  }
}
@media(max-width:390px){
  .hero-media .hero-badge{
    top:auto !important;
    bottom:8px !important;
    right:8px !important;
    max-width:50% !important;
  }
}


/* === FINAL HERO NAME PLACEMENT: NO IMAGE OVERLAP === */
.hero-media .hero-badge{display:none !important}
.hero-credit{
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  gap:5px 9px;
  margin-top:12px;
  color:var(--navy);
}
.hero-credit strong{
  font-family:var(--serif);
  font-size:1.05rem;
  line-height:1;
}
.hero-credit span{
  font-size:.78rem;
  font-weight:750;
  color:#536486;
}
@media(max-width:430px){
  .hero-credit{margin-top:10px;gap:4px 7px}
  .hero-credit strong{font-size:.98rem}
  .hero-credit span{font-size:.72rem}
}
@media(min-width:700px){
  .hero-credit strong{font-size:1.15rem}
  .hero-credit span{font-size:.84rem}
}


/* === BRAND COLOR + MOBILE TYPE SCALE PASS === */
:root{
  --brand-peach:#f2a06f;
  --brand-violet:#8b61ec;
  --brand-violet2:#a85ddd;
  --brand-blue:#244f92;
}

/* Larger statement headings pick up the DSVibe logo palette */
.section-head h2,
.products-head h2,
.welcome-copy h2,
.vortex-copy h2,
.zoom-card h2{
  color:var(--navy);
}
.section-head h2 .accent,
.products-head h2 .accent,
.welcome-copy h2 .accent,
.vortex-copy h2 span,
.zoom-card h2 span{
  color:var(--brand-violet);
}
.section-head h2,
.products-head h2{
  text-wrap:balance;
}
.section-head h2::first-letter,
.products-head h2::first-letter{
  color:var(--brand-peach);
}

/* subtle logo-palette emphasis for larger labels */
.eyebrow{
  color:var(--brand-blue);
}
.script{
  background:linear-gradient(90deg,var(--brand-blue),var(--brand-violet2));
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.footer-brand strong{
  background:linear-gradient(90deg,var(--brand-peach) 0 42%,var(--brand-violet) 42% 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}

/* Mobile readability: increase anything that was reading too small */
@media(max-width:699px){
  body{font-size:16px}
  .eyebrow{
    font-size:.68rem;
    line-height:1.3;
    letter-spacing:.15em;
  }
  .brand-sub{
    font-size:.54rem;
    line-height:1.08;
  }
  .hero-title-overlay .eyebrow{
    font-size:.56rem;
  }
  .hero-details .hero-sub{
    font-size:1.22rem;
    line-height:1.08;
  }
  .hero-details .lead{
    font-size:.94rem;
    line-height:1.48;
  }
  .hero-details .script{
    font-size:1.28rem;
  }
  .hero-credit strong{
    font-size:1.08rem;
  }
  .hero-credit span{
    font-size:.82rem;
    line-height:1.28;
  }
  .hero-details .btn{
    font-size:1rem;
    min-height:50px;
  }

  .zoom-card h2{
    font-size:1.82rem;
    line-height:.98;
  }
  .zoom-card p{
    font-size:.96rem;
    line-height:1.48;
  }
  .zoom-icon{
    width:46px;
    height:46px;
    font-size:.72rem;
  }
  .zoom-card .btn{
    font-size:1rem;
    min-height:50px;
  }

  .section-head h2,
  .products-head h2{
    font-size:clamp(2.5rem,12vw,3.3rem);
    line-height:.95;
  }
  .section-head .lead{
    font-size:.96rem;
    line-height:1.5;
  }
  .tech-point h3{
    font-size:1.14rem;
    line-height:1.08;
  }
  .tech-point p{
    font-size:.86rem;
    line-height:1.42;
  }

  .welcome-copy h2{
    font-size:clamp(2.35rem,11vw,3rem);
  }
  .welcome-quote{
    font-size:1.08rem;
  }
  .welcome-copy p{
    font-size:.94rem;
    line-height:1.5;
  }

  .vortex-copy h2{
    font-size:clamp(3rem,13vw,4rem);
  }
  .vortex-copy h3{
    font-size:1.52rem;
  }
  .vortex-copy p{
    font-size:.92rem;
    line-height:1.48;
  }

  .product-card h3{
    font-size:1.3rem;
  }
  .product-card p,
  .product-card a{
    font-size:.9rem;
    line-height:1.42;
  }

  .footer-nav,
  .footer-phone{
    font-size:.9rem;
  }
  .footer-tag{
    font-size:.7rem;
  }
}

/* very small phones still stay readable without crowding */
@media(max-width:390px){
  .hero-details .hero-sub{font-size:1.12rem}
  .hero-details .lead{font-size:.9rem}
  .zoom-card h2{font-size:1.62rem}
  .zoom-card p{font-size:.9rem}
  .section-head h2,
  .products-head h2{font-size:clamp(2.25rem,11vw,2.9rem)}
  .tech-point h3{font-size:1.08rem}
  .tech-point p{font-size:.82rem}
}

/* COMPLETE ORIGINAL-CATALOG STORE */
.catalog-hero{padding:18px 0 28px;background:linear-gradient(135deg,#fff8ef,#f8f1ff 62%,#fff4e6)}.catalog-hero-grid{display:grid;gap:20px;align-items:center}.catalog-hero-copy h1{font-family:var(--serif);font-size:clamp(3.3rem,14vw,5.5rem);line-height:.86;letter-spacing:-.055em;margin:.25rem 0 .7rem;color:var(--navy)}.catalog-hero-copy h1 span{color:var(--brand-violet)}.catalog-hero-copy p{font-size:1rem;color:var(--muted);line-height:1.5}.catalog-hero-note{padding:12px 14px;border-left:4px solid var(--brand-peach);background:#fff;border-radius:0 14px 14px 0;font-weight:750;color:var(--brand-blue)}.catalog-hero-mosaic{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:10px;border-radius:24px;background:linear-gradient(135deg,rgba(242,160,111,.18),rgba(139,97,236,.16));box-shadow:var(--soft)}.catalog-hero-mosaic img{width:100%;aspect-ratio:1/1;object-fit:contain;border-radius:14px;background:#fff;padding:5px}
.catalog-tools{position:sticky;top:68px;z-index:40;padding:12px 0;background:rgba(255,250,244,.96);backdrop-filter:blur(14px);border-block:1px solid var(--line)}.catalog-search{display:flex;gap:8px}.catalog-search input{flex:1;min-width:0;padding:13px 15px;border:1px solid #d9dcef;border-radius:999px;font:inherit;background:#fff}.catalog-search button{border:1px solid #d9dcef;background:#fff;border-radius:999px;padding:0 15px;font-weight:850;color:var(--navy)}.catalog-filters{display:flex;gap:8px;overflow:auto;padding:10px 0 2px;scrollbar-width:none}.catalog-filters::-webkit-scrollbar{display:none}.catalog-filters button{flex:0 0 auto;border:1px solid #ded7ec;background:#fff;padding:9px 13px;border-radius:999px;font-weight:850;color:var(--navy)}.catalog-filters button.is-active{background:linear-gradient(135deg,var(--brand-blue),var(--brand-violet));color:#fff;border-color:transparent}
.catalog-section{padding:42px 0 70px;background:linear-gradient(180deg,#fffaf3,#fff 40%,#faf6ff)}.catalog-heading h2{font-family:var(--serif);font-size:clamp(2.6rem,12vw,4.5rem);line-height:.92;margin:.15rem 0;color:var(--navy)}.catalog-heading h2 span{color:var(--brand-peach)}.catalog-heading p{color:var(--muted)}.catalog-grid{display:grid;grid-template-columns:1fr;gap:16px;margin-top:22px}.catalog-card{overflow:hidden;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:var(--soft)}.catalog-media{display:block;aspect-ratio:4/3;background:linear-gradient(135deg,#fff5e9,#f4efff);overflow:hidden}.catalog-media img{width:100%;height:100%;object-fit:contain;padding:8px}.catalog-noimage{height:100%;display:grid;place-items:center;font-family:var(--serif);font-size:2rem;color:var(--brand-violet)}.catalog-body{padding:16px}.catalog-body h3{font-family:var(--serif);font-size:1.45rem;line-height:1.05;margin:.18rem 0;color:var(--navy)}.catalog-body p{font-size:.92rem;line-height:1.45;color:var(--muted);display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}.catalog-card-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px}.catalog-card-foot strong{color:var(--brand-violet);font-size:1rem}.catalog-card-foot a{font-weight:900;color:var(--brand-blue)}.catalog-empty{padding:40px;text-align:center;border:1px solid var(--line);border-radius:20px;background:#fff}
.product-detail-section{padding:28px 0 70px;background:linear-gradient(180deg,#fffaf3,#fff,#faf6ff)}.detail-back{font-weight:850;color:var(--brand-blue)}.detail-grid{display:grid;gap:22px;margin-top:18px}.detail-main{border-radius:24px;overflow:hidden;background:#fff;border:1px solid var(--line);box-shadow:var(--soft)}.detail-main img{width:100%;max-height:620px;object-fit:contain}.detail-thumbs{display:flex;gap:8px;overflow:auto;margin-top:8px}.detail-thumbs img{width:76px;height:76px;object-fit:cover;border-radius:12px;border:1px solid var(--line)}.detail-copy h1{font-family:var(--serif);font-size:clamp(2.4rem,10vw,4rem);line-height:.95;color:var(--navy)}.detail-price{font-size:1.35rem;font-weight:900;color:var(--brand-violet);margin:.7rem 0}.detail-copy p{font-size:1rem;line-height:1.6;color:var(--muted)}.detail-copy small{display:block;margin-top:16px;color:#78819a}
@media(min-width:700px){.catalog-hero-grid{grid-template-columns:1fr 1fr}.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-grid{grid-template-columns:1fr 1fr}.catalog-tools{top:82px}}@media(min-width:1050px){.catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.catalog-hero-copy h1{font-size:6rem}.catalog-hero-mosaic{gap:12px;padding:14px}}

/* === ORIGINAL CONTENT + IMAGE RESTORE PASS === */
.page-hero{padding:22px 0 34px}.page-hero.warm{background:linear-gradient(135deg,#fff8ef 0%,#fffdf9 48%,#f7f0ff 100%)}.page-hero-grid{display:grid;gap:20px;align-items:center}.page-hero h1,.about-hero h1{font-family:var(--serif);font-size:clamp(3.1rem,13vw,5.8rem);line-height:.88;letter-spacing:-.055em;color:var(--navy);margin:.2rem 0 .8rem}.page-hero h1 span,.about-hero h1 span{color:var(--brand-violet)}.page-hero-gallery{display:grid;grid-template-columns:1.4fr 1fr;grid-template-rows:1fr 1fr;gap:8px;min-height:320px}.page-hero-gallery img{width:100%;height:100%;object-fit:cover;border-radius:20px;background:#fff}.page-hero-gallery img:first-child{grid-row:1/3;object-fit:contain;padding:8px}
.evidence-band{padding:15px 0;background:#fff;border-block:1px solid var(--line)}.evidence-grid{display:grid;gap:8px}.evidence-grid>div{padding:13px 15px;border-radius:16px;background:linear-gradient(135deg,#fff8ef,#f8f3ff)}.evidence-grid strong{display:block;color:var(--brand-blue);font-family:var(--serif);font-size:1.15rem}.evidence-grid span{font-size:.78rem;color:var(--muted)}
.research-visual-grid{display:grid;grid-template-columns:1fr;gap:16px}.research-visual-card{overflow:hidden;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:var(--soft)}.research-visual-card img{width:100%;aspect-ratio:16/10;object-fit:contain;background:linear-gradient(135deg,#fff7ec,#f5efff);padding:8px}.research-visual-card>div{padding:16px}.research-visual-card h3{font-family:var(--serif);font-size:1.55rem;color:var(--navy);margin:.4rem 0}.research-visual-card p{font-size:.9rem;color:var(--muted);line-height:1.5}
.archive-grid{display:grid;gap:14px}.archive-grid article{padding:18px;border:1px solid var(--line);border-radius:20px;background:#fff}.archive-grid h3{font-family:var(--serif);font-size:1.45rem;color:var(--navy)}.archive-grid li,.archive-grid p{font-size:.9rem;line-height:1.5;color:var(--muted)}
.course-feature-grid{display:grid;gap:16px}.course-feature{overflow:hidden;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:var(--soft)}.course-feature img{width:100%;aspect-ratio:16/10;object-fit:contain;background:linear-gradient(135deg,#fff7ec,#f5efff);padding:8px}.course-feature>div{padding:17px}.course-feature h3{font-family:var(--serif);font-size:1.6rem;color:var(--navy);margin:.3rem 0}.course-feature p{color:var(--muted);line-height:1.5;font-size:.92rem}
.topic-grid{display:grid;grid-template-columns:1fr;gap:9px}.topic-pill{display:flex;align-items:center;gap:12px;padding:13px 14px;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--navy);font-weight:800}.topic-pill span{color:var(--brand-peach);font-family:var(--serif);font-size:1.15rem}
.about-hero{padding:20px 0 36px;background:linear-gradient(135deg,#fff8ef,#fff,#f8f2ff)}.about-hero-image{position:relative;overflow:hidden;border-radius:24px;box-shadow:var(--soft);background:#fff}.about-hero-image img{width:100%;max-height:560px;object-fit:cover}.about-hero-label{display:grid;grid-template-columns:auto 1fr;gap:3px 10px;padding:13px 15px;background:#fff}.about-hero-label strong{font-family:var(--serif);color:var(--navy)}.about-hero-label span{font-size:.78rem;color:var(--muted)}.about-hero-copy{padding-top:18px}
.story-grid{display:grid;gap:20px;align-items:center}.story-image{border-radius:24px;overflow:hidden;background:linear-gradient(135deg,#fff8ef,#f5efff);box-shadow:var(--soft)}.story-image img{width:100%;max-height:520px;object-fit:contain}.story-grid h2{font-family:var(--serif);font-size:clamp(2.7rem,11vw,4.6rem);line-height:.9;color:var(--navy)}.story-grid p{font-size:.96rem;line-height:1.55;color:var(--muted)}.claim-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.claim-list span{padding:7px 10px;border-radius:999px;background:#fff4e8;border:1px solid #f2dcc6;color:var(--navy);font-size:.75rem;font-weight:800}.about-value-grid{display:grid;gap:12px}.about-value-grid article{padding:17px;border:1px solid var(--line);border-radius:18px;background:#fff}.about-value-grid h3{font-family:var(--serif);font-size:1.35rem;color:var(--brand-violet);margin:0 0 5px}.about-value-grid p{font-size:.88rem;color:var(--muted);line-height:1.45}
@media(min-width:700px){.page-hero-grid{grid-template-columns:1fr 1fr}.evidence-grid{grid-template-columns:repeat(3,1fr)}.research-visual-grid{grid-template-columns:repeat(2,1fr)}.archive-grid{grid-template-columns:repeat(3,1fr)}.course-feature-grid{grid-template-columns:repeat(2,1fr)}.topic-grid{grid-template-columns:repeat(2,1fr)}.about-hero>.wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:30px;align-items:center}.story-grid{grid-template-columns:.9fr 1.1fr}.story-grid.reverse{grid-template-columns:1.1fr .9fr}.story-grid.reverse .story-image{order:2}.about-value-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1050px){.research-visual-grid{grid-template-columns:repeat(3,1fr)}.topic-grid{grid-template-columns:repeat(3,1fr)}.about-value-grid{grid-template-columns:repeat(4,1fr)}}


/* === MOBILE HEADER LOGO SIZE REFINEMENT === */
@media(max-width:699px){
  .brand-lockup img{
    width:34px !important;
    height:34px !important;
  }
  .brand-word{
    font-size:clamp(1.05rem,4.7vw,1.32rem) !important;
  }
  .brand-sub{
    font-size:.48rem !important;
  }
  .nav{
    min-height:60px !important;
  }
}
@media(max-width:390px){
  .brand-lockup img{
    width:31px !important;
    height:31px !important;
  }
  .brand-word{
    font-size:1.05rem !important;
  }
}


/* === RESTORE GLOBAL HEADER SIZE; TRAINING PAGE ONLY GETS SMALLER LOGO === */
@media(max-width:699px){
  .brand-lockup img{
    width:38px !important;
    height:38px !important;
  }
  .brand-word{
    font-size:clamp(1.18rem,5.2vw,1.48rem) !important;
  }
  .brand-sub{
    font-size:.52rem !important;
    line-height:1.05;
  }

  body.training-page .brand-lockup img{
    width:30px !important;
    height:30px !important;
  }
  body.training-page .brand-word{
    font-size:1.05rem !important;
  }
  body.training-page .brand-sub{
    font-size:.44rem !important;
  }
  body.training-page .nav{
    min-height:58px !important;
  }
}
@media(max-width:390px){
  body.training-page .brand-lockup img{
    width:28px !important;
    height:28px !important;
  }
}


/* === CONTACT PAGE HEADER + TITLE REFINEMENT === */
.contact-page .contact-orange{color:var(--brand-peach)}
.contact-page .contact-purple{color:var(--brand-violet)}
.contact-page .contact-title{
  line-height:.88;
  letter-spacing:-.05em;
}

@media(max-width:699px){
  .contact-page .brand-lockup img{
    width:30px !important;
    height:30px !important;
  }
  .contact-page .brand-word{
    font-size:1.05rem !important;
  }
  .contact-page .brand-sub{
    font-size:.44rem !important;
  }
  .contact-page .nav{
    min-height:58px !important;
  }
  .contact-page .hero{
    padding-top:14px;
  }
  .contact-page .hero-copy .eyebrow{
    font-size:.62rem;
  }
  .contact-page .contact-title{
    font-size:clamp(3rem,15vw,4.2rem) !important;
  }
}
@media(max-width:390px){
  .contact-page .brand-lockup img{
    width:28px !important;
    height:28px !important;
  }
  .contact-page .contact-title{
    font-size:clamp(2.75rem,14vw,3.65rem) !important;
  }
}


/* === HOME PAGE BRIGHTER DSVIBE BRAND PASS === */
.title-orange{color:#ef8d39 !important}
.title-purple{color:#8d5be8 !important}

/* Restore original technology image and make it part of the design */
.tech-original-image{
  overflow:hidden;
  border-radius:22px;
  margin-bottom:18px;
  box-shadow:0 18px 48px rgba(55,44,100,.12);
  border:1px solid rgba(255,255,255,.9);
  background:#fff8ef;
}
.tech-original-image img{
  display:block;
  width:100%;
  max-height:520px;
  object-fit:cover;
  object-position:center;
}

/* Lock homepage large titles into logo orange + purple */
.zoom-card h2,
.section-head h2,
.products-head h2,
.welcome-copy h2,
.vortex-copy h2{
  color:var(--navy);
}
.zoom-card h2 .title-orange,
.section-head h2 .title-orange,
.products-head h2 .title-orange,
.welcome-copy h2 .title-orange,
.vortex-copy h2 .title-orange{
  color:#ef8d39 !important;
}
.zoom-card h2 .title-purple,
.section-head h2 .title-purple,
.products-head h2 .title-purple,
.welcome-copy h2 .title-purple,
.vortex-copy h2 .title-purple{
  color:#8d5be8 !important;
}

/* Vortex section: bright ivory/lilac instead of the dark navy slab */
.vortex{
  background:linear-gradient(135deg,#fff8ef 0%,#fffdf9 48%,#f5efff 100%) !important;
  border:1px solid #eadff5;
  box-shadow:0 22px 60px rgba(64,45,116,.13);
}
.vortex:after{
  background:
    linear-gradient(180deg,rgba(255,250,244,.06) 0%,rgba(255,250,244,.42) 42%,rgba(255,250,244,.92) 72%,rgba(255,250,244,.98) 100%) !important;
}
.vortex img{
  filter:brightness(1.16) saturate(1.05);
}
.vortex-copy{
  color:var(--navy) !important;
}
.vortex-copy h3{
  color:var(--navy) !important;
}
.vortex-copy p{
  color:#5f6b86 !important;
}
.vortex-copy .btn.secondary{
  background:rgba(255,255,255,.9) !important;
  color:var(--brand-blue) !important;
  border-color:#e8b06d !important;
}
.vortex-words{
  color:var(--brand-violet) !important;
}

/* Keep the technology/cards warm rather than cyan */
.tech-panel{
  background:linear-gradient(135deg,#fff8ef 0%,#fffdfa 52%,#f8f1ff 100%) !important;
}
.tech-point{
  background:rgba(255,255,255,.92) !important;
}
.tech-point .icon{
  background:linear-gradient(135deg,#fff0df,#f1eaff) !important;
}
.tech-point h3{
  color:var(--brand-blue) !important;
}

@media(max-width:699px){
  .tech-original-image{
    margin-bottom:16px;
    border-radius:20px;
  }
  .tech-original-image img{
    max-height:400px;
  }
  .vortex{
    min-height:450px !important;
  }
  .vortex:after{
    background:linear-gradient(180deg,rgba(255,250,244,.04) 0%,rgba(255,250,244,.26) 38%,rgba(255,250,244,.93) 66%,rgba(255,250,244,.99) 100%) !important;
  }
  .vortex-copy{
    padding:24px 18px 22px !important;
  }
  .vortex-copy h2{
    text-shadow:none !important;
  }
}


/* === STRATEGIC MOTION + INTERACTION POLISH === */
.btn,.menu-btn,.navlinks a,.mobile-nav a,.card,.product-card,.catalog-card,.tech-point,.course-feature,.research-visual-card,.contact-card,.about-value-grid article,.topic-pill{
  transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease,background-color .24s ease,color .24s ease;
}
.card img,.product-card img,.catalog-card img,.course-feature img,.research-visual-card img,.story-image img,.page-hero-gallery img{
  transition:transform .55s cubic-bezier(.2,.7,.2,1),filter .35s ease;
}
html.js .reveal-target{opacity:0;transform:translateY(18px)}
html.js .reveal-target.is-visible{
  opacity:1;transform:none;
  transition:opacity .68s ease,transform .68s cubic-bezier(.2,.7,.2,1);
  transition-delay:var(--reveal-delay,0ms);
}
@media(hover:hover){
  .btn:hover{transform:translateY(-2px);box-shadow:0 15px 34px rgba(86,65,170,.18)}
  .menu-btn:hover,.navlinks a:hover{transform:translateY(-1px)}
  .card:hover,.product-card:hover,.catalog-card:hover,.tech-point:hover,.course-feature:hover,.research-visual-card:hover,.contact-card:hover,.about-value-grid article:hover{
    transform:translateY(-4px);box-shadow:0 22px 46px rgba(33,50,101,.13);
  }
  .card:hover img,.product-card:hover img,.catalog-card:hover img,.course-feature:hover img,.research-visual-card:hover img,.story-image:hover img,.page-hero-gallery:hover img{
    transform:scale(1.025);
  }
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  html.js .reveal-target{opacity:1!important;transform:none!important}
}


/* =========================================================
   SITE-WIDE VISUAL POLISH — PRESERVES EXISTING HOME HERO
   ========================================================= */
:root{
  --brand-orange:#ef8d39;
  --brand-peach:#f5b27b;
  --brand-purple:#8d5be8;
  --brand-plum:#6f46c7;
  --brand-navy:#123c7a;
  --brand-ink:#173c73;
  --brand-ivory:#fffaf2;
  --brand-cream:#fff4e8;
  --brand-lilac:#f7f0ff;
  --brand-line:rgba(40,55,112,.12);
  --brand-shadow:0 18px 48px rgba(34,48,99,.10);
  --brand-shadow-lg:0 28px 72px rgba(48,42,103,.13);
}

/* Global canvas */
body{
  background:
    radial-gradient(circle at 0 18%,rgba(245,178,123,.12),transparent 22rem),
    radial-gradient(circle at 100% 42%,rgba(141,91,232,.10),transparent 28rem),
    linear-gradient(180deg,#fffaf2 0%,#fffdf9 28%,#faf7ff 66%,#fff9f1 100%) !important;
  color:var(--brand-ink);
}
.wrap{width:min(100% - 28px,1200px)}
.section{padding:clamp(44px,6vw,82px) 0}
.section.soft{
  background:
    radial-gradient(circle at 12% 15%,rgba(245,178,123,.12),transparent 20rem),
    radial-gradient(circle at 90% 82%,rgba(141,91,232,.10),transparent 24rem),
    linear-gradient(135deg,rgba(255,250,242,.96),rgba(249,245,255,.97)) !important;
}
.eyebrow{
  color:#31569a !important;
  letter-spacing:.19em;
  font-weight:900;
}
.lead{color:#66708a}
.title-orange{color:var(--brand-orange)!important}
.title-purple,.accent{color:var(--brand-purple)!important}

/* Header refinement */
.site-header{
  background:rgba(255,250,244,.91) !important;
  backdrop-filter:blur(18px) saturate(1.12);
  -webkit-backdrop-filter:blur(18px) saturate(1.12);
  border-bottom:1px solid rgba(31,50,108,.08) !important;
  box-shadow:0 8px 28px rgba(41,47,96,.045);
}
.nav{min-height:72px}
.brand-lockup{gap:9px}
.brand-lockup img{
  filter:drop-shadow(0 5px 12px rgba(38,43,97,.12));
}
.brand-word{
  letter-spacing:-.055em;
}
.brand-sub{
  color:#66718d;
  letter-spacing:.015em;
}
.menu-btn{
  background:rgba(255,255,255,.86)!important;
  border:1px solid rgba(44,59,119,.13)!important;
  box-shadow:0 8px 22px rgba(37,46,94,.07);
}
.mobile-nav.open{
  padding:8px 0 16px;
}
.mobile-nav a{
  border-top:0!important;
  margin:4px 0;
  padding:12px 14px!important;
  border-radius:12px;
  background:rgba(255,255,255,.62);
}
.navlinks{
  gap:4px;
}
.navlinks a{
  padding:8px 10px;
  border-radius:999px;
  font-size:.86rem;
}
.navlinks a:hover,.navlinks a[aria-current="page"]{
  background:linear-gradient(135deg,rgba(239,141,57,.12),rgba(141,91,232,.12));
  color:var(--brand-navy);
}

/* Buttons */
.btn{
  min-height:50px;
  padding:12px 20px;
  letter-spacing:-.01em;
  box-shadow:none;
}
.btn.primary{
  background:linear-gradient(110deg,#5c72f2 0%,#8f63ec 52%,#c652d8 100%) !important;
  box-shadow:0 12px 30px rgba(117,83,215,.20)!important;
}
.btn.secondary{
  background:rgba(255,255,255,.90)!important;
  border:1px solid rgba(225,175,113,.62)!important;
  color:#244d88!important;
  box-shadow:0 9px 24px rgba(42,51,99,.055);
}

/* Page heroes other than the existing homepage hero */
.page-hero,
.about-hero{
  background:
    radial-gradient(circle at 12% 10%,rgba(245,178,123,.18),transparent 18rem),
    radial-gradient(circle at 92% 30%,rgba(141,91,232,.13),transparent 24rem),
    linear-gradient(135deg,#fff9ef 0%,#fffdf9 48%,#f7f1ff 100%) !important;
  border-bottom:1px solid rgba(36,56,112,.07);
}
.page-hero-grid{gap:clamp(22px,4vw,54px)}
.page-hero h1,.about-hero h1{
  max-width:850px;
}
.page-hero-gallery{
  padding:10px;
  border-radius:28px;
  background:linear-gradient(135deg,rgba(255,255,255,.82),rgba(250,241,255,.82));
  border:1px solid rgba(255,255,255,.92);
  box-shadow:var(--brand-shadow-lg);
}
.page-hero-gallery img{
  border-radius:18px!important;
  background:#fffdf9!important;
}
.about-hero-image{
  border-radius:28px!important;
  border:1px solid rgba(255,255,255,.92);
  box-shadow:var(--brand-shadow-lg)!important;
}
.about-hero-label{
  background:linear-gradient(90deg,rgba(255,249,240,.98),rgba(248,241,255,.97))!important;
}

/* Section headers */
.section-head{
  margin-bottom:22px;
}
.section-head h2,.products-head h2{
  letter-spacing:-.055em;
  line-height:.92;
  text-wrap:balance;
}
.section-head .lead{
  max-width:760px;
  font-size:clamp(.96rem,1.5vw,1.08rem);
  line-height:1.55;
}

/* Zoom */
.zoom-section{padding:18px 0 8px}
.zoom-card{
  border-radius:28px!important;
  padding:clamp(18px,3vw,30px)!important;
  background:
    radial-gradient(circle at 88% 20%,rgba(141,91,232,.23),transparent 26%),
    linear-gradient(135deg,#fffaf4 0%,#fbf7ff 56%,#e8e5fb 100%)!important;
  border:1px solid rgba(83,72,155,.12)!important;
  box-shadow:var(--brand-shadow-lg)!important;
}
.zoom-card:after{
  opacity:.35;
}
.zoom-icon{
  box-shadow:0 10px 22px rgba(121,83,218,.20);
}
.zoom-card h2{
  font-size:clamp(1.65rem,4vw,2.5rem)!important;
}
.zoom-card p{
  font-size:clamp(.88rem,1.35vw,1rem)!important;
  line-height:1.48;
}

/* Technology panel */
.tech-panel{
  padding:clamp(18px,3.5vw,34px)!important;
  border-radius:30px!important;
  background:
    radial-gradient(circle at 92% 10%,rgba(141,91,232,.10),transparent 22rem),
    linear-gradient(135deg,#fff9ef 0%,#fff 50%,#f7f1ff 100%)!important;
  border:1px solid rgba(38,58,113,.09)!important;
  box-shadow:var(--brand-shadow)!important;
}
.tech-original-image{
  border-radius:24px!important;
  box-shadow:0 22px 48px rgba(39,49,99,.11)!important;
  border:1px solid rgba(255,255,255,.96)!important;
}
.tech-point{
  min-height:148px;
  padding:16px!important;
  border-radius:20px!important;
  background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(252,248,255,.94))!important;
  border:1px solid rgba(46,62,119,.09)!important;
  box-shadow:0 10px 26px rgba(43,51,100,.055);
}
.tech-point .icon{
  width:42px;height:42px;
  background:linear-gradient(135deg,#fff0df,#f1e9ff)!important;
  color:#31539a;
}
.tech-point h3{
  font-size:clamp(1.05rem,1.8vw,1.28rem)!important;
  color:#173f7b!important;
}
.tech-point p{
  font-size:.84rem!important;
  line-height:1.48;
}

/* Welcome / Shahiroz */
.welcome{
  padding:clamp(16px,3vw,28px)!important;
  gap:clamp(12px,3vw,28px)!important;
  border-radius:30px!important;
  background:
    radial-gradient(circle at 88% 8%,rgba(245,178,123,.20),transparent 19rem),
    linear-gradient(135deg,#fff8ec 0%,#f8f1ff 67%,#f1f9ff 100%)!important;
  border:1px solid rgba(40,58,113,.09)!important;
  box-shadow:var(--brand-shadow)!important;
}
.welcome-photo{
  filter:drop-shadow(0 18px 30px rgba(35,44,95,.14));
}
.welcome-copy p{
  font-size:clamp(.9rem,1.35vw,1rem)!important;
  line-height:1.55;
}

/* Vortex: bright luxury, not a dark slab */
.vortex{
  border-radius:30px!important;
  border:1px solid rgba(84,62,144,.10)!important;
  box-shadow:var(--brand-shadow-lg)!important;
}
.vortex img{
  filter:brightness(1.12) saturate(1.04)!important;
}
.vortex-copy{
  padding:clamp(24px,4vw,46px)!important;
}
.vortex-copy p{
  font-size:clamp(.86rem,1.2vw,1rem)!important;
  line-height:1.55;
}
.vortex-copy .btn{
  margin-top:8px;
}

/* Product showcase */
.products-head{
  margin-bottom:20px!important;
}
.products-row{
  gap:clamp(12px,2vw,20px)!important;
}
.product-card{
  border-radius:22px!important;
  border:1px solid rgba(35,56,112,.09)!important;
  background:linear-gradient(180deg,#fff 0%,#fffdf9 100%)!important;
  box-shadow:var(--brand-shadow)!important;
}
.product-card .media{
  background:linear-gradient(135deg,#fff6ea,#f6f0ff)!important;
}
.product-card .media img{
  object-fit:contain!important;
  padding:8px;
}
.product-card .body{padding:14px!important}
.product-card h3{
  font-size:clamp(1.08rem,1.9vw,1.32rem)!important;
  color:#163c76;
}
.product-card p{
  font-size:.83rem!important;
  line-height:1.48;
}
.product-card a{
  font-size:.82rem!important;
  color:#734bc9!important;
}

/* Catalog */
.catalog-hero{
  padding:clamp(26px,5vw,56px) 0!important;
  background:
    radial-gradient(circle at 8% 18%,rgba(245,178,123,.15),transparent 22rem),
    radial-gradient(circle at 94% 40%,rgba(141,91,232,.12),transparent 24rem),
    linear-gradient(135deg,#fff9f0,#fffdf9 52%,#f6efff)!important;
}
.catalog-hero-grid{gap:clamp(24px,4vw,54px)!important}
.catalog-hero-note{
  border-left:4px solid var(--brand-orange)!important;
  background:linear-gradient(90deg,#fff 0%,#fff9f4 100%)!important;
  box-shadow:0 10px 26px rgba(43,51,99,.055);
}
.catalog-hero-mosaic{
  padding:12px!important;
  gap:10px!important;
  border-radius:28px!important;
  background:linear-gradient(135deg,rgba(255,240,224,.88),rgba(246,237,255,.90))!important;
  border:1px solid rgba(255,255,255,.95);
  box-shadow:var(--brand-shadow-lg)!important;
}
.catalog-hero-mosaic img{
  border-radius:16px!important;
  box-shadow:0 6px 18px rgba(36,48,99,.07);
}
.catalog-tools{
  background:rgba(255,250,244,.92)!important;
  box-shadow:0 8px 25px rgba(40,47,96,.05);
}
.catalog-search input{
  min-height:48px;
  border:1px solid rgba(44,58,116,.12)!important;
  box-shadow:0 7px 20px rgba(44,51,97,.045);
}
.catalog-filters button{
  background:rgba(255,255,255,.88)!important;
  border:1px solid rgba(46,59,116,.12)!important;
}
.catalog-filters button.is-active{
  background:linear-gradient(135deg,#625dea,#8d5be8 58%,#b954d6)!important;
  color:#fff!important;
}
.catalog-section{
  background:
    radial-gradient(circle at 94% 14%,rgba(141,91,232,.08),transparent 24rem),
    linear-gradient(180deg,#fffaf3,#fff 45%,#faf6ff)!important;
}
.catalog-card{
  border-radius:24px!important;
  border:1px solid rgba(39,57,111,.09)!important;
  box-shadow:var(--brand-shadow)!important;
}
.catalog-media{
  background:linear-gradient(135deg,#fff7ec,#f7f1ff)!important;
}
.catalog-media img{
  padding:12px!important;
}
.catalog-body{padding:17px!important}
.catalog-body h3{
  font-size:clamp(1.25rem,2vw,1.55rem)!important;
}
.catalog-body p{
  font-size:.88rem!important;
  line-height:1.5;
}
.catalog-card-foot strong{
  color:var(--brand-purple)!important;
}

/* Research / Courses */
.research-visual-grid,
.course-feature-grid,
.archive-grid{
  gap:clamp(14px,2vw,22px)!important;
}
.research-visual-card,
.course-feature,
.archive-grid article{
  border-radius:24px!important;
  border:1px solid rgba(40,57,111,.09)!important;
  box-shadow:var(--brand-shadow)!important;
  background:linear-gradient(180deg,#fff 0%,#fffdf9 100%)!important;
}
.research-visual-card img,
.course-feature img{
  padding:10px!important;
  background:linear-gradient(135deg,#fff7eb,#f7f1ff)!important;
}
.research-visual-card>div,
.course-feature>div{
  padding:18px!important;
}
.research-visual-card h3,
.course-feature h3{
  font-size:clamp(1.35rem,2.2vw,1.7rem)!important;
}
.evidence-band{
  background:rgba(255,252,247,.96)!important;
}
.evidence-grid>div{
  border:1px solid rgba(40,58,111,.08);
  box-shadow:0 8px 20px rgba(40,48,96,.045);
}
.topic-pill{
  min-height:54px;
  background:linear-gradient(135deg,#fff,#fff9f3)!important;
  border:1px solid rgba(42,59,114,.09)!important;
  box-shadow:0 7px 18px rgba(42,49,97,.04);
}

/* About / service / contact content */
.story-image{
  border-radius:28px!important;
  border:1px solid rgba(255,255,255,.92);
  box-shadow:var(--brand-shadow)!important;
}
.story-grid{
  gap:clamp(22px,4vw,52px)!important;
}
.about-value-grid{
  gap:16px!important;
}
.about-value-grid article,
.contact-card,
.card,
.person-panel,
.support-band,
.inventor-panel{
  border:1px solid rgba(39,57,111,.09)!important;
  box-shadow:var(--brand-shadow)!important;
}
.about-value-grid article{
  border-radius:20px!important;
  background:linear-gradient(145deg,#fff,#fff9f3)!important;
}
.contact-card{
  border-radius:20px!important;
  background:linear-gradient(145deg,#fff,#faf7ff)!important;
}
.card{
  border-radius:24px!important;
  background:linear-gradient(180deg,#fff,#fffdf9)!important;
}
.card-media{
  background:linear-gradient(135deg,#fff6e9,#f6efff);
}
.card-media img{
  object-fit:cover;
}
.card-body{padding:18px!important}
.person-panel,.support-band,.inventor-panel{
  border-radius:26px!important;
  background:
    radial-gradient(circle at 90% 8%,rgba(141,91,232,.10),transparent 18rem),
    linear-gradient(135deg,#fff8ee,#f8f2ff)!important;
}
.field input,.field select,.field textarea{
  background:#fff!important;
  border:1px solid rgba(44,58,116,.13)!important;
  box-shadow:0 6px 18px rgba(41,49,96,.035);
}
.field input:focus,.field select:focus,.field textarea:focus{
  outline:2px solid rgba(141,91,232,.22);
  border-color:rgba(141,91,232,.45)!important;
}

/* Product details */
.product-detail-section{
  background:
    radial-gradient(circle at 92% 14%,rgba(141,91,232,.10),transparent 22rem),
    linear-gradient(180deg,#fff9ef,#fff 55%,#faf6ff)!important;
}
.detail-main{
  border-radius:28px!important;
  border:1px solid rgba(41,57,112,.09)!important;
  box-shadow:var(--brand-shadow-lg)!important;
}
.detail-main img{
  padding:12px;
  background:linear-gradient(135deg,#fff9f1,#f8f2ff);
}
.detail-copy h1{
  letter-spacing:-.045em;
}
.detail-price{
  display:inline-block;
  padding:8px 13px;
  border-radius:999px;
  background:linear-gradient(135deg,#fff0df,#f0e8ff);
}

/* Footer */
.footer{
  margin-top:clamp(44px,7vw,84px)!important;
  padding:34px 0 40px!important;
  background:
    radial-gradient(circle at 8% 18%,rgba(245,178,123,.16),transparent 18rem),
    radial-gradient(circle at 92% 30%,rgba(141,91,232,.13),transparent 22rem),
    linear-gradient(135deg,#fff8ef,#f7f1ff 58%,#f3fbff)!important;
  border-top:1px solid rgba(42,58,111,.09)!important;
}
.footer-grid{gap:24px!important}
.footer-nav a{
  padding:5px 0;
}
.footer-phone{
  box-shadow:0 7px 18px rgba(42,49,96,.045);
}

/* Mobile refinement */
@media(max-width:699px){
  .wrap{width:min(100% - 24px,1200px)}
  .section{padding:44px 0}
  .section-head h2,.products-head h2{
    font-size:clamp(2.35rem,11.5vw,3.15rem)!important;
  }
  .section-head .lead{
    font-size:.94rem;
  }
  .zoom-card{border-radius:24px!important}
  .tech-panel,.welcome,.vortex{
    border-radius:24px!important;
  }
  .tech-grid{gap:12px!important}
  .tech-point{
    min-height:0;
    padding:14px!important;
  }
  .products-row{gap:12px!important}
  .product-card{border-radius:20px!important}
  .product-card .body{padding:12px!important}
  .catalog-hero-mosaic{
    grid-template-columns:repeat(2,1fr)!important;
  }
  .catalog-hero-mosaic img:nth-child(n+5){display:none}
  .catalog-tools{top:60px!important}
  .catalog-filters{padding-bottom:4px!important}
  .catalog-grid{gap:14px!important}
  .catalog-card{border-radius:22px!important}
  .research-visual-card,
  .course-feature,
  .archive-grid article{
    border-radius:22px!important;
  }
  .page-hero-gallery{
    min-height:260px!important;
    border-radius:22px!important;
  }
  .about-hero-image,
  .story-image{
    border-radius:22px!important;
  }
  .contact-grid{gap:12px!important}
}

/* Desktop refinement */
@media(min-width:900px){
  .navlinks{display:flex;align-items:center;margin-left:auto}
  .phone-pill{
    display:inline-flex;
    min-height:38px;
    align-items:center;
    padding:0 13px;
    border:1px solid rgba(45,60,118,.12);
    border-radius:999px;
    background:#fff;
    box-shadow:0 7px 18px rgba(42,49,96,.045);
    font-size:.8rem;
    font-weight:850;
  }
  .menu-btn{display:none}
  .products-row{grid-template-columns:repeat(4,1fr)!important}
  .footer-grid{grid-template-columns:1.4fr .8fr .8fr!important}
}


/* =========================================================
   RESPONSIVE DEVICE PASS — HERO CONTENT/ARTWORK UNCHANGED
   ========================================================= */

/* Mobile first: tighten lower sections and use imagery efficiently */
@media(max-width:699px){
  body{font-size:16px}

  .section,
  .section.soft{
    padding:36px 0!important;
  }

  .zoom-section{padding:12px 0 4px!important}
  .zoom-card{
    padding:16px!important;
    border-radius:22px!important;
  }
  .zoom-grid{
    grid-template-columns:44px 1fr!important;
    gap:10px!important;
  }
  .zoom-card .btn{
    grid-column:1/-1!important;
    width:100%!important;
  }

  .tech-panel{
    padding:14px!important;
  }
  .tech-original-image{
    margin:0 0 14px!important;
    aspect-ratio:16/10;
    border-radius:20px!important;
  }
  .tech-original-image img{
    width:100%!important;
    height:100%!important;
    max-height:none!important;
    object-fit:cover!important;
    object-position:center 38%!important;
  }
  .tech-grid{
    grid-template-columns:1fr 1fr!important;
  }

  .welcome{
    grid-template-columns:1fr!important;
    align-items:start!important;
    padding:16px!important;
  }
  .welcome-photo{
    width:min(78%,310px)!important;
    max-height:300px!important;
    margin:0 auto -4px!important;
    object-position:center bottom!important;
  }
  .welcome-copy{
    padding:0 2px 4px!important;
  }

  .vortex{
    min-height:0!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    overflow:hidden!important;
  }
  .vortex img{
    position:relative!important;
    inset:auto!important;
    width:100%!important;
    height:auto!important;
    aspect-ratio:16/10!important;
    object-fit:cover!important;
  }
  .vortex:after{display:none!important}
  .vortex-copy{
    position:relative!important;
    width:100%!important;
    padding:18px!important;
    background:linear-gradient(135deg,#fff9ef,#f7f1ff)!important;
  }
  .vortex-words{display:none!important}

  .products-head{
    display:grid!important;
    grid-template-columns:1fr!important;
    align-items:start!important;
  }
  .products-head .btn{
    width:100%!important;
  }
  .products-row{
    grid-template-columns:1fr 1fr!important;
  }
  .product-card .media{
    aspect-ratio:1/1!important;
  }

  .page-hero-grid{
    grid-template-columns:1fr!important;
  }
  .page-hero-gallery{
    grid-template-columns:1.25fr .75fr!important;
    min-height:220px!important;
  }

  .research-visual-grid,
  .course-feature-grid,
  .archive-grid,
  .about-value-grid{
    grid-template-columns:1fr!important;
  }

  .story-grid,
  .story-grid.reverse{
    grid-template-columns:1fr!important;
  }
  .story-grid.reverse .story-image{order:0!important}
  .story-image img{
    max-height:390px!important;
  }

  .contact-grid{
    grid-template-columns:1fr 1fr!important;
  }
}

/* Small tablets / large phones */
@media(min-width:700px) and (max-width:899px){
  .wrap{width:min(100% - 32px,1120px)!important}

  .section{padding:50px 0!important}

  .zoom-grid{
    grid-template-columns:52px 1fr!important;
  }
  .zoom-card .btn{
    grid-column:1/-1!important;
    width:100%!important;
  }

  .tech-original-image{
    aspect-ratio:16/8.5;
  }
  .tech-original-image img{
    width:100%!important;
    height:100%!important;
    max-height:none!important;
    object-fit:cover!important;
    object-position:center 38%!important;
  }

  .welcome{
    grid-template-columns:.75fr 1.25fr!important;
  }

  .products-row{
    grid-template-columns:repeat(2,1fr)!important;
  }

  .research-visual-grid,
  .course-feature-grid,
  .about-value-grid{
    grid-template-columns:repeat(2,1fr)!important;
  }
}

/* Tablet landscape / small desktop */
@media(min-width:900px) and (max-width:1199px){
  .wrap{width:min(100% - 40px,1140px)!important}
  .section{padding:58px 0!important}

  .navlinks a{font-size:.79rem!important;padding:7px 8px!important}
  .phone-pill{font-size:.74rem!important}

  .tech-panel{padding:24px!important}
  .tech-original-image{
    aspect-ratio:16/7.5;
  }
  .tech-original-image img{
    width:100%!important;
    height:100%!important;
    max-height:none!important;
    object-fit:cover!important;
    object-position:center 38%!important;
  }

  .products-row{
    grid-template-columns:repeat(4,1fr)!important;
  }
}

/* Large desktop */
@media(min-width:1200px){
  .wrap{width:min(100% - 56px,1240px)!important}
  .section{padding:76px 0!important}

  .tech-original-image{
    aspect-ratio:16/7;
  }
  .tech-original-image img{
    width:100%!important;
    height:100%!important;
    max-height:none!important;
    object-fit:cover!important;
    object-position:center 38%!important;
  }

  .products-row{
    grid-template-columns:repeat(4,1fr)!important;
  }
}

/* Wide screens */
@media(min-width:1500px){
  .wrap{max-width:1320px!important}
  .page-hero-grid{gap:64px!important}
}


/* =========================================================
   MOBILE LAYOUT FIX — 2026-09-23
   Fixes hero dead space, mobile image cropping, and blank reveal gaps.
   ========================================================= */
@media(max-width:699px){
  /* Keep mobile content visible even when iOS/Safari intersection timing is late. */
  html.js .reveal-target,
  html.js main > section.reveal-target,
  html.js .catalog-card.reveal-target,
  html.js .product-card.reveal-target,
  html.js .tech-point.reveal-target{
    opacity:1!important;
    transform:none!important;
    transition:none!important;
  }

  /* Homepage hero: use the available vertical space instead of a shallow 16:9 strip. */
  .hero{
    padding:8px 0 16px!important;
  }
  .hero-media{
    aspect-ratio:1.42/1!important;
    min-height:0!important;
    background:
      radial-gradient(circle at 76% 22%,rgba(255,220,150,.28),transparent 24%),
      linear-gradient(135deg,#fff7ec,#f5efff)!important;
  }
  .hero-media>img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center center!important;
    display:block;
  }
  .hero-details{
    padding:14px 15px 16px!important;
    gap:10px!important;
  }
  .hero-details .btns{
    margin-top:2px!important;
  }

  /* Technology image: show the complete photo on phones and soften the white photo field. */
  .tech-original-image{
    aspect-ratio:auto!important;
    min-height:0!important;
    overflow:hidden!important;
    background:
      radial-gradient(circle at 18% 18%,rgba(245,178,123,.22),transparent 30%),
      radial-gradient(circle at 88% 72%,rgba(141,91,232,.16),transparent 34%),
      linear-gradient(135deg,#fff7eb,#f5efff)!important;
  }
  .tech-original-image img{
    width:100%!important;
    height:auto!important;
    max-height:none!important;
    display:block!important;
    object-fit:contain!important;
    object-position:center top!important;
    background:transparent!important;
  }

  /* The catalog should begin immediately below its controls with no apparent blank canvas. */
  .catalog-section{
    min-height:0!important;
    padding:24px 0 42px!important;
    background:
      radial-gradient(circle at 100% 10%,rgba(141,91,232,.08),transparent 18rem),
      linear-gradient(180deg,#fffaf3 0%,#fffdf9 55%,#faf6ff 100%)!important;
  }
  .catalog-heading{
    margin:0!important;
  }
  .catalog-heading h2{
    margin-top:0!important;
  }
  .catalog-grid{
    margin-top:16px!important;
    min-height:0!important;
  }
}


/* =========================================================
   MOBILE PHOTO COMPOSITION PASS — 2026-09-23b
   Reduce the white field in the Technology photo without
   cutting Shahiroz's head.
   ========================================================= */
@media(max-width:699px){
  .tech-original-image{
    aspect-ratio:4/3!important;
    min-height:0!important;
    overflow:hidden!important;
    background:linear-gradient(135deg,#fff2e3,#f4edff)!important;
  }
  .tech-original-image img{
    width:100%!important;
    height:100%!important;
    max-height:none!important;
    object-fit:cover!important;
    object-position:64% 42%!important;
    display:block!important;
  }
}


/* =========================================================
   VISUAL IMAGE PASS — 2026-09-23
   Keeps authentic product photos while presenting them more elegantly.
   ========================================================= */
.welcome-photo{
  border-radius:22px;
  background:linear-gradient(135deg,#fff8ef,#f3efff 58%,#eefaff);
  box-shadow:0 14px 34px rgba(41,55,105,.10);
  filter:none;
}
.product-card .media{
  padding:8px;
  background:
    radial-gradient(circle at 18% 16%,rgba(255,183,102,.16),transparent 32%),
    radial-gradient(circle at 86% 78%,rgba(137,93,232,.14),transparent 34%),
    linear-gradient(135deg,#fffaf3,#f5f0ff);
}
.product-card .media img{
  object-fit:contain;
  border-radius:14px;
  background:#fffdf9;
  box-shadow:0 8px 18px rgba(30,48,92,.08);
}
@media(max-width:699px){
  .welcome-photo{
    width:100%;
    max-height:none;
    aspect-ratio:1/1;
    object-fit:cover;
    object-position:center;
  }
  .product-card .media{
    aspect-ratio:1/1;
    padding:7px;
  }
}


/* =========================================================
   IMAGE QUALITY PASS — 2026-09-23c
   Clean authentic imagery, better mobile crops, no forced square portrait.
   ========================================================= */

/* Welcome portrait: use the authentic source cleanly, without artificial square crop. */
.welcome{
  overflow:hidden;
}
.welcome-photo{
  width:100%!important;
  height:auto!important;
  max-height:460px!important;
  object-fit:contain!important;
  object-position:center bottom!important;
  border-radius:22px!important;
  background:
    radial-gradient(circle at 28% 18%,rgba(255,205,142,.18),transparent 34%),
    radial-gradient(circle at 88% 78%,rgba(139,97,236,.12),transparent 34%),
    linear-gradient(135deg,#fffaf3,#f7f1ff)!important;
  box-shadow:0 14px 34px rgba(41,55,105,.10)!important;
}

/* Product photography: keep true product proportions and remove harsh white boxes. */
.product-card .media{
  aspect-ratio:4/3!important;
  padding:12px!important;
  display:grid!important;
  place-items:center!important;
  background:
    radial-gradient(circle at 14% 16%,rgba(243,164,111,.18),transparent 32%),
    radial-gradient(circle at 88% 82%,rgba(139,97,236,.15),transparent 34%),
    linear-gradient(135deg,#fff9f1,#f5f0ff)!important;
}
.product-card .media img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  padding:0!important;
  border-radius:14px!important;
  background:transparent!important;
  box-shadow:none!important;
}

/* Vortex image: preserve the authentic product photo and keep it bright. */
.vortex img{
  filter:brightness(1.04) saturate(1.02)!important;
}
@media(max-width:699px){
  .welcome{
    grid-template-columns:1fr!important;
    align-items:start!important;
  }
  .welcome-photo{
    width:100%!important;
    max-height:440px!important;
    aspect-ratio:auto!important;
    margin:0 auto 8px!important;
    object-fit:contain!important;
    object-position:center bottom!important;
  }
  .product-card .media{
    aspect-ratio:4/3!important;
    padding:10px!important;
  }
  .vortex img{
    aspect-ratio:4/3!important;
    object-fit:contain!important;
    background:linear-gradient(135deg,#fff9ef,#f7f1ff)!important;
    padding:10px!important;
  }
}


/* === MOBILE HERO SPACING + IMAGE RELIABILITY FIX === */
/* Hero artwork and wording are unchanged; this only compresses the lower content block on phones. */
@media(max-width:699px){
  .hero{
    padding:6px 0 10px!important;
  }
  .hero-card{
    border-radius:20px!important;
  }
  .hero-details{
    padding:10px 12px 12px!important;
    gap:6px!important;
  }
  .hero-details-copy{
    display:grid!important;
    gap:4px!important;
  }
  .hero-details .hero-sub{
    margin:0!important;
    font-size:1.05rem!important;
    line-height:1.04!important;
  }
  .hero-details .lead{
    margin:2px 0 0!important;
    font-size:.82rem!important;
    line-height:1.34!important;
  }
  .hero-details .script{
    margin:5px 0 0!important;
    font-size:1.05rem!important;
    line-height:1!important;
  }
  .hero-credit{
    margin-top:5px!important;
    gap:2px 7px!important;
  }
  .hero-credit strong{
    font-size:.98rem!important;
  }
  .hero-credit span{
    font-size:.72rem!important;
  }
  .hero-details .btns{
    gap:7px!important;
    margin-top:3px!important;
  }
  .hero-details .btn{
    min-height:44px!important;
    padding:9px 12px!important;
    font-size:.9rem!important;
  }

  /* Ensure lower-page imagery visibly occupies its card area on mobile. */
  .welcome-photo{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    min-height:220px!important;
    object-fit:contain!important;
  }
  .vortex>img{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    min-height:220px!important;
    background:#fff7ef!important;
  }
  .product-card .media img{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    width:100%!important;
    height:100%!important;
    object-fit:contain!important;
    background:#fffaf4!important;
  }
}


/* === MOBILE HERO NEGATIVE-SPACE USE === */
.hero-mobile-overlay{display:none}

@media(max-width:699px){
  .hero-card{position:relative!important}

  /* Use the natural blank landscape area rather than adding more white below. */
  .hero-mobile-overlay{
    display:block!important;
    position:absolute!important;
    z-index:5!important;
    left:18px!important;
    top:39%!important;
    width:43%!important;
    pointer-events:none!important;
  }
  .hero-mobile-script{
    font-family:"Brush Script MT","Segoe Script",cursive;
    font-size:1.05rem;
    line-height:1.02;
    color:#2c5b9c;
    text-shadow:0 1px 1px rgba(255,255,255,.72);
    margin-bottom:7px;
  }
  .hero-mobile-credit{
    display:inline-flex;
    flex-direction:column;
    gap:1px;
    padding:7px 9px;
    border-radius:12px;
    background:rgba(255,250,244,.86);
    border:1px solid rgba(255,255,255,.9);
    box-shadow:0 8px 18px rgba(42,48,94,.08);
    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);
  }
  .hero-mobile-credit strong{
    font-family:var(--serif);
    color:#153c76;
    font-size:.78rem;
    line-height:1;
  }
  .hero-mobile-credit span{
    color:#566582;
    font-size:.56rem;
    font-weight:750;
    line-height:1.18;
  }

  /* Remove those two lines from the lower white block on mobile to reduce its height. */
  .hero-details .script,
  .hero-details .hero-credit{
    display:none!important;
  }
  .hero-details{
    padding:10px 12px 11px!important;
  }
  .hero-details-copy{
    gap:3px!important;
  }
  .hero-details .lead{
    margin:1px 0 0!important;
  }
  .hero-details .btns{
    margin-top:4px!important;
  }
}

@media(max-width:390px){
  .hero-mobile-overlay{
    left:14px!important;
    top:40%!important;
    width:45%!important;
  }
  .hero-mobile-script{font-size:.94rem}
  .hero-mobile-credit{padding:6px 8px}
}

/* FINAL IMAGE PLACEMENT PASS — 2026-09-24 */
.hero-media>img{
  image-rendering:auto!important;
  object-fit:cover!important;
  object-position:center center!important;
}
.tech-original-image img{
  image-rendering:auto!important;
}
.welcome-photo{
  image-rendering:auto!important;
}
@media(max-width:699px){
  .hero-media{
    aspect-ratio:1.32/1!important;
    min-height:0!important;
  }
  .hero-media>img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:58% 44%!important;
  }
  .tech-original-image{
    aspect-ratio:auto!important;
    background:linear-gradient(135deg,#fff7eb,#f5efff)!important;
  }
  .tech-original-image img{
    width:100%!important;
    height:auto!important;
    object-fit:contain!important;
    object-position:center top!important;
  }
  .welcome-photo{
    width:100%!important;
    height:auto!important;
    max-height:none!important;
    object-fit:contain!important;
    object-position:center center!important;
  }
}


/* === DSVIBE MOBILE IMAGE PASS — 2026-09-24 === */
@media(max-width:699px){
  .section{padding:26px 0!important}
  .section.soft{padding:26px 0!important}

  .tech-panel{
    padding:12px!important;
    border-radius:20px!important;
  }
  .tech-original-image{
    margin:0 0 12px!important;
    overflow:hidden!important;
    border-radius:18px!important;
    background:linear-gradient(135deg,#fff8ef,#f6f1ff)!important;
  }
  .tech-original-image img{
    width:100%!important;
    height:auto!important;
    max-height:420px!important;
    object-fit:contain!important;
    object-position:center!important;
  }

  .welcome{
    padding:10px!important;
    gap:10px!important;
    border-radius:20px!important;
  }
  .welcome-photo{
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:440px!important;
    object-fit:contain!important;
    object-position:center!important;
    border-radius:16px!important;
    background:linear-gradient(135deg,#fff8ef,#f6f1ff)!important;
  }

  .vortex{
    min-height:0!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    background:linear-gradient(135deg,#fff8ef,#f5efff)!important;
    border:1px solid var(--line)!important;
  }
  .vortex>img{
    position:relative!important;
    inset:auto!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:440px!important;
    aspect-ratio:auto!important;
    object-fit:contain!important;
    object-position:center!important;
    padding:0!important;
    background:transparent!important;
    filter:none!important;
  }
  .vortex:after{display:none!important}
  .vortex-copy{
    width:100%!important;
    padding:16px 14px 18px!important;
    color:var(--ink)!important;
  }
  .vortex-copy p{color:var(--muted)!important}
  .vortex-words{display:none!important}

  .products-row{
    grid-template-columns:1fr 1fr!important;
    gap:10px!important;
  }
  .product-card .media{
    aspect-ratio:1/1!important;
    padding:8px!important;
  }
  .product-card .media img{
    width:100%!important;
    height:100%!important;
    object-fit:contain!important;
    object-position:center!important;
    border-radius:12px!important;
  }

  .page-hero-grid,
  .hero-grid,
  .story-grid,
  .story-grid.reverse,
  .person-panel{
    grid-template-columns:1fr!important;
  }
  .page-hero-gallery,
  .hero-visual,
  .story-image{
    min-height:0!important;
  }
  .page-hero-gallery img,
  .hero-visual img,
  .story-image img,
  .person-panel>img,
  .course-feature>img,
  .research-visual-card>img,
  .service-card .card-media img{
    width:100%!important;
    height:auto!important;
    max-height:440px!important;
    object-fit:contain!important;
    object-position:center!important;
    background:linear-gradient(135deg,#fff8ef,#f6f1ff)!important;
  }

  .catalog-hero-grid{
    grid-template-columns:1fr!important;
    gap:14px!important;
  }
  .catalog-hero-mosaic{
    min-height:0!important;
    grid-template-columns:repeat(2,1fr)!important;
    gap:8px!important;
  }
  .catalog-hero-mosaic img{
    width:100%!important;
    aspect-ratio:1/1!important;
    height:auto!important;
    object-fit:contain!important;
    background:linear-gradient(135deg,#fff8ef,#f6f1ff)!important;
    border-radius:14px!important;
  }
  .catalog-grid{
    grid-template-columns:repeat(2,1fr)!important;
    gap:10px!important;
  }
  .catalog-media{
    aspect-ratio:1/1!important;
    padding:8px!important;
    background:linear-gradient(135deg,#fff8ef,#f6f1ff)!important;
  }
  .catalog-media img{
    width:100%!important;
    height:100%!important;
    object-fit:contain!important;
    object-position:center!important;
  }
}

@media(max-width:420px){
  .products-row,
  .catalog-grid{
    grid-template-columns:1fr!important;
  }
}


/* === MOBILE BRAND + CARD CLEANUP — 2026-09-24 === */
@media(max-width:699px){
  .brand-lockup{
    gap:0!important;
  }
  .brand-word{
    font-size:1.55rem!important;
  }
  .brand-sub{
    font-size:.5rem!important;
  }
  .footer-brand{
    display:flex!important;
    align-items:center!important;
    gap:8px!important;
  }
  .footer-brand strong,
  .footer .brand strong{
    font-family:var(--serif)!important;
    font-size:1.35rem!important;
    color:var(--navy)!important;
  }

  .course-feature,
  .research-visual-card,
  .service-card{
    overflow:hidden!important;
    border-radius:18px!important;
  }
  .course-feature>img,
  .research-visual-card>img,
  .service-card .card-media img{
    aspect-ratio:4/3!important;
    object-fit:cover!important;
    object-position:center!important;
  }

  .catalog-card{
    border-radius:16px!important;
  }
  .catalog-body{
    padding:10px!important;
  }
  .catalog-body h3{
    font-size:.95rem!important;
    line-height:1.05!important;
  }
  .catalog-body p{
    font-size:.7rem!important;
    display:-webkit-box!important;
    -webkit-line-clamp:3!important;
    -webkit-box-orient:vertical!important;
    overflow:hidden!important;
  }
  .catalog-card-foot{
    gap:8px!important;
    align-items:flex-start!important;
  }
}


/* === MOBILE PRODUCT FLOW — 2026-09-24 === */
@media(max-width:699px){
  .catalog-tools{
    top:60px!important;
    padding:8px 0!important;
  }
  .catalog-search{
    gap:6px!important;
  }
  .catalog-search input{
    min-height:44px!important;
    font-size:16px!important;
  }
  .catalog-search button{
    min-height:44px!important;
    padding:0 13px!important;
  }
  .catalog-filters{
    margin-inline:-12px!important;
    padding:8px 12px 4px!important;
    scroll-padding-inline:12px!important;
  }
  .catalog-filters button{
    min-height:42px!important;
    padding:8px 12px!important;
  }

  .catalog-section{
    padding:24px 0 46px!important;
  }
  .catalog-heading h2{
    font-size:2.35rem!important;
  }
  .catalog-card{
    overflow:hidden!important;
  }
  .catalog-media{
    aspect-ratio:1/1!important;
    padding:6px!important;
  }
  .catalog-media img{
    width:100%!important;
    height:100%!important;
    object-fit:contain!important;
    object-position:center!important;
    padding:0!important;
  }
  .catalog-card-foot{
    flex-direction:column!important;
    align-items:stretch!important;
  }
  .catalog-card-foot a{
    display:flex!important;
    justify-content:center!important;
    align-items:center!important;
    min-height:44px!important;
    border:1px solid var(--line)!important;
    border-radius:999px!important;
    background:#fff!important;
  }

  .product-detail-section{
    padding:16px 0 44px!important;
  }
  .detail-back{
    display:inline-flex!important;
    min-height:42px!important;
    align-items:center!important;
    margin-bottom:6px!important;
  }
  .detail-grid{
    grid-template-columns:1fr!important;
    gap:16px!important;
    margin-top:10px!important;
  }
  .detail-main{
    border-radius:18px!important;
    padding:8px!important;
  }
  .detail-main img{
    width:100%!important;
    height:auto!important;
    max-height:440px!important;
    object-fit:contain!important;
    object-position:center!important;
  }
  .detail-thumbs{
    gap:6px!important;
    margin-top:6px!important;
    padding-bottom:2px!important;
  }
  .detail-thumbs img{
    width:64px!important;
    height:64px!important;
    flex:0 0 64px!important;
    object-fit:contain!important;
    background:#fff!important;
  }
  .detail-copy h1{
    font-size:2.15rem!important;
    overflow-wrap:anywhere!important;
    margin:.3rem 0 .5rem!important;
  }
  .detail-price{
    font-size:1.2rem!important;
  }
  .detail-copy p{
    font-size:.94rem!important;
    line-height:1.5!important;
    overflow-wrap:anywhere!important;
  }
  .detail-copy .btn{
    width:100%!important;
    min-height:48px!important;
    margin-top:8px!important;
  }
}

@media(max-width:420px){
  .catalog-grid{
    grid-template-columns:1fr!important;
  }
  .catalog-body{
    padding:12px!important;
  }
}


/* === MOBILE HOMEPAGE PRODUCT LIVE PASS — 2026-09-24 === */
@media(max-width:699px){
  .products-row{
    grid-template-columns:1fr!important;
    gap:14px!important;
  }
  .product-card{
    border-radius:18px!important;
    overflow:hidden!important;
  }
  .product-card .media{
    display:block!important;
    width:100%!important;
    aspect-ratio:4/3!important;
    padding:10px!important;
    background:linear-gradient(135deg,#fff9f1,#f5f0ff)!important;
  }
  .product-card .media img{
    display:block!important;
    width:100%!important;
    height:100%!important;
    object-fit:contain!important;
    object-position:center!important;
    border-radius:12px!important;
    background:transparent!important;
  }
  .product-card .body{
    padding:14px!important;
  }
  .product-card .body a{
    display:inline-flex!important;
    align-items:center!important;
    min-height:42px!important;
    font-weight:850!important;
  }
}


/* === APPROVED SUNRISE HERO MOBILE — 2026-09-24 === */
@media(max-width:699px){
  .hero-media{
    aspect-ratio:1.32/1!important;
    min-height:0!important;
    overflow:hidden!important;
  }
  .hero-media>img{
    display:block!important;
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:70% 48%!important;
  }

  .products-row{
    grid-template-columns:1fr!important;
    gap:14px!important;
  }
  .product-card{
    overflow:hidden!important;
    border-radius:18px!important;
  }
  .product-card .media{
    display:block!important;
    width:100%!important;
    aspect-ratio:4/3!important;
    padding:10px!important;
  }
  .product-card .media img{
    display:block!important;
    width:100%!important;
    height:100%!important;
    object-fit:contain!important;
    object-position:center!important;
  }
  .product-card .body{
    padding:14px!important;
  }
  .product-card .body a{
    display:inline-flex!important;
    align-items:center!important;
    min-height:42px!important;
  }
}


/* === CATALOG MOBILE VISIBILITY FAILSAFE — 2026-09-24 === */
@media(max-width:699px){
  #catalogGrid .catalog-card,
  #catalogGrid .catalog-card.reveal-target{
    opacity:1!important;
    transform:none!important;
    visibility:visible!important;
  }
  #catalogGrid{
    min-height:0!important;
  }
  .catalog-hero-mosaic img{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
  }
}


/* === CROSS-BROWSER CATALOG HARDENING — 2026-09-24 === */
#catalogGrid .catalog-card{
  opacity:1;
  visibility:visible;
  transform:none;
}
.catalog-media{
  display:block;
  position:relative;
  overflow:hidden;
  background:#fff;
}
.catalog-media img{
  display:block;
  width:100%;
  height:auto;
  max-width:100%;
}
@supports (aspect-ratio: 1 / 1){
  .catalog-media{
    aspect-ratio:1/1;
  }
  .catalog-media img{
    width:100%;
    height:100%;
    object-fit:contain;
    object-position:center;
  }
}
@supports not (aspect-ratio: 1 / 1){
  .catalog-media{
    min-height:260px;
  }
  .catalog-media img{
    max-height:320px;
    margin:0 auto;
  }
}
@supports not ((position: sticky) or (position: -webkit-sticky)){
  .catalog-tools{
    position:static!important;
  }
}
.catalog-filters{
  -webkit-overflow-scrolling:touch;
  scrollbar-width:thin;
}
.catalog-filters button,
.catalog-search button,
.catalog-card-foot a{
  -webkit-tap-highlight-color:transparent;
  touch-action:manipulation;
}
@media(max-width:699px){
  .catalog-grid{
    width:100%;
  }
  .catalog-card{
    min-width:0;
  }
  .catalog-body,
  .catalog-card h3,
  .catalog-card p{
    min-width:0;
    overflow-wrap:anywhere;
    word-break:normal;
  }
}


/* === CATALOG FILTER FAILSAFE — 2026-09-25 === */
#catalogGrid .catalog-card[hidden]{
  display:none!important;
}
.catalog-contact-filter{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:10px 16px;
  border:1px solid var(--line);
  border-radius:999px;
  background:#fff;
  color:var(--navy);
  font-weight:850;
  text-decoration:none;
  white-space:nowrap;
}
.catalog-contact-filter:focus,
.catalog-contact-filter:hover{
  text-decoration:none;
}


/* === MOBILE FILTER ROW CLEANUP — 2026-09-25 === */
.catalog-filters{
  display:flex!important;
  flex-wrap:nowrap!important;
  gap:10px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  white-space:nowrap!important;
  -webkit-overflow-scrolling:touch!important;
  padding-bottom:6px!important;
}
.catalog-filters button{
  flex:0 0 auto!important;
  min-width:max-content!important;
  white-space:nowrap!important;
}
.catalog-contact-filter{
  display:none!important;
}
@media(max-width:699px){
  .catalog-tools .wrap{
    overflow:visible!important;
  }
  .catalog-filters{
    width:100%!important;
    margin-inline:0!important;
    padding-inline:2px!important;
    scroll-snap-type:x proximity;
  }
  .catalog-filters button{
    scroll-snap-align:start;
    min-height:44px!important;
    padding:10px 16px!important;
    font-size:.95rem!important;
    line-height:1.1!important;
  }
}


/* === RELIABLE CATALOG FILTER LINKS — 2026-09-25 === */
.catalog-filter-link{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:10px 16px;
  border:1px solid var(--line);
  border-radius:999px;
  background:#fff;
  color:var(--navy);
  font-weight:850;
  text-decoration:none;
  white-space:nowrap;
  touch-action:manipulation;
  -webkit-tap-highlight-color:transparent;
}
.catalog-filter-link.is-active{
  color:#fff;
  border-color:transparent;
  background:linear-gradient(135deg,var(--electric),var(--magenta));
}
.catalog-filter-link:hover,
.catalog-filter-link:focus{
  text-decoration:none;
}


/* === ACTIVE FILTER VISIBILITY — 2026-09-25 === */
.catalog-filter-link.is-active{
  background:linear-gradient(135deg,#536dfe,#c13dd7)!important;
  color:#fff!important;
  border-color:transparent!important;
  box-shadow:0 8px 22px rgba(83,109,254,.22)!important;
}


/* === KEEP ACTIVE CATALOG TAB VISIBLE — 2026-09-25 === */
@media(max-width:699px){
  .catalog-filters{
    scroll-snap-type:none!important;
    scroll-behavior:auto!important;
  }
  .catalog-filter-link{
    flex:0 0 auto!important;
    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
  }
  .catalog-filter-link.is-active{
    position:relative!important;
    z-index:2!important;
    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
  }
}


/* === CATEGORY-ONLY FILTER LOCK — 2026-09-25 === */
#catalogGrid .catalog-card[hidden],
#catalogGrid .catalog-card[aria-hidden="true"]{
  display:none!important;
}


/* === FINAL MOBILE HERO FIT — 2026-09-25 === */
@media (max-width:699px){
  .hero-media{
    position:relative!important;
    aspect-ratio:16/9!important;
    min-height:0!important;
    height:auto!important;
    overflow:hidden!important;
    background:#f8f2ff!important;
  }
  .hero-media>img{
    position:absolute!important;
    inset:0!important;
    display:block!important;
    width:100%!important;
    height:100%!important;
    max-width:none!important;
    max-height:none!important;
    object-fit:cover!important;
    object-position:center center!important;
  }
}


/* === MOBILE HERO TEXT + COLOR REFRESH — 2026-09-25 === */
@media(max-width:699px){
  .hero-mobile-overlay{
    left:16px!important;
    top:36%!important;
    width:48%!important;
  }
  .hero-mobile-script{
    color:#7a3fd1!important;
    font-size:1.02rem!important;
    font-weight:700!important;
    text-shadow:0 1px 0 rgba(255,255,255,.8)!important;
    margin-bottom:4px!important;
  }
  .hero-mobile-kicker{
    display:inline-block!important;
    margin:0 0 7px!important;
    padding:4px 7px!important;
    border-radius:999px!important;
    background:linear-gradient(90deg,rgba(255,181,120,.94),rgba(191,78,223,.92))!important;
    color:#fff!important;
    font-size:.48rem!important;
    line-height:1!important;
    font-weight:900!important;
    letter-spacing:.08em!important;
    text-transform:uppercase!important;
    box-shadow:0 6px 16px rgba(88,63,170,.18)!important;
  }
  .hero-mobile-credit{
    background:linear-gradient(135deg,rgba(255,245,229,.95),rgba(242,232,255,.96))!important;
    border:1px solid rgba(173,111,224,.28)!important;
    box-shadow:0 8px 20px rgba(75,56,140,.14)!important;
  }
  .hero-mobile-credit strong{
    color:#153c76!important;
  }
  .hero-mobile-credit span{
    color:#684b86!important;
  }
  .hero-media:after{
    background:linear-gradient(90deg,rgba(255,247,236,.32) 0%,rgba(247,235,255,.12) 36%,rgba(255,255,255,0) 62%)!important;
  }
}


/* === HERO FINAL CLEANUP — 2026-09-25 === */
@media(max-width:699px){
  .hero-media{
    aspect-ratio:16/9!important;
    background:#fff7ef!important;
  }
  .hero-media>img{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center center!important;
  }
  .hero-mobile-overlay{
    top:auto!important;
    bottom:12px!important;
    left:16px!important;
    width:46%!important;
  }
  .hero-mobile-script{
    margin:0 0 5px!important;
    color:#7a3fd1!important;
    font-size:.92rem!important;
    line-height:1!important;
    text-shadow:0 1px 1px rgba(255,255,255,.85)!important;
  }
  .hero-mobile-kicker{
    display:none!important;
  }
  .hero-mobile-credit{
    padding:6px 8px!important;
    border-radius:12px!important;
    background:linear-gradient(135deg,rgba(255,245,229,.93),rgba(242,232,255,.93))!important;
  }
}


/* === HOME HERO AUTHORITATIVE RESET — 2026-09-25 === */
#homeHeroMedia{
  position:relative!important;
  width:100%!important;
  aspect-ratio:16/9!important;
  min-height:0!important;
  height:auto!important;
  overflow:hidden!important;
  background:#fff7ef!important;
}
#homeHeroMedia::after{
  content:none!important;
  display:none!important;
}
#homeHeroMedia>img{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:cover!important;
  object-position:center center!important;
  transform:none!important;
  margin:0!important;
  padding:0!important;
  z-index:0!important;
}
#homeHeroMedia .hero-title-overlay{
  position:absolute!important;
  z-index:2!important;
  left:clamp(14px,3vw,44px)!important;
  top:clamp(14px,3vw,38px)!important;
  width:min(46%,520px)!important;
}
#homeHeroMedia .hero-mobile-overlay{
  display:none!important;
}
@media(max-width:699px){
  #homeHeroMedia{
    aspect-ratio:16/9!important;
  }
  #homeHeroMedia>img{
    object-position:center center!important;
  }
  #homeHeroMedia .hero-title-overlay{
    left:12px!important;
    top:12px!important;
    width:43%!important;
  }
  #homeHeroMedia .hero-title-overlay .eyebrow{
    font-size:.46rem!important;
    letter-spacing:.14em!important;
  }
  #homeHeroMedia .hero-title-overlay h1{
    font-size:clamp(2.25rem,11vw,3.15rem)!important;
    line-height:.86!important;
  }
  #homeHeroMedia .hero-mobile-overlay{
    display:block!important;
    position:absolute!important;
    z-index:3!important;
    left:16px!important;
    bottom:10px!important;
    top:auto!important;
    width:46%!important;
    pointer-events:none!important;
  }
  #homeHeroMedia .hero-mobile-script{
    margin:0 0 4px!important;
    color:#7a3fd1!important;
    font-size:.82rem!important;
    line-height:1!important;
    text-shadow:0 1px 1px rgba(255,255,255,.9)!important;
  }
  #homeHeroMedia .hero-mobile-credit{
    display:inline-flex!important;
    flex-direction:column!important;
    gap:1px!important;
    padding:5px 7px!important;
    border-radius:10px!important;
    background:linear-gradient(135deg,rgba(255,245,229,.94),rgba(242,232,255,.94))!important;
    border:1px solid rgba(173,111,224,.28)!important;
    box-shadow:0 8px 20px rgba(75,56,140,.14)!important;
  }
  #homeHeroMedia .hero-mobile-credit strong{
    color:#153c76!important;
    font-size:.72rem!important;
  }
  #homeHeroMedia .hero-mobile-credit span{
    color:#684b86!important;
    font-size:.52rem!important;
  }
}


/* === REMOVE GREY HERO AREA — 2026-09-25 === */
#homeHeroMedia{
  aspect-ratio:16/5.35!important;
  height:auto!important;
  min-height:0!important;
  overflow:hidden!important;
  background:transparent!important;
}
#homeHeroMedia>img{
  position:absolute!important;
  top:0!important;
  left:0!important;
  width:100%!important;
  height:auto!important;
  max-width:none!important;
  object-fit:initial!important;
  object-position:initial!important;
  transform:none!important;
}
#homeHeroMedia::before,
#homeHeroMedia::after{
  content:none!important;
  display:none!important;
}
@media(max-width:699px){
  #homeHeroMedia{
    aspect-ratio:16/5.35!important;
  }
  #homeHeroMedia .hero-title-overlay{
    left:12px!important;
    top:10px!important;
    width:42%!important;
  }
  #homeHeroMedia .hero-title-overlay .eyebrow{
    font-size:.42rem!important;
    line-height:1.08!important;
  }
  #homeHeroMedia .hero-title-overlay h1{
    font-size:clamp(1.95rem,9.8vw,2.85rem)!important;
    line-height:.82!important;
  }
  #homeHeroMedia .hero-mobile-overlay{
    display:block!important;
    left:14px!important;
    right:auto!important;
    bottom:7px!important;
    top:auto!important;
    width:43%!important;
  }
  #homeHeroMedia .hero-mobile-script{
    font-size:.7rem!important;
    margin:0 0 3px!important;
    line-height:1!important;
  }
  #homeHeroMedia .hero-mobile-credit{
    padding:4px 6px!important;
    border-radius:9px!important;
  }
  #homeHeroMedia .hero-mobile-credit strong{
    font-size:.64rem!important;
  }
  #homeHeroMedia .hero-mobile-credit span{
    font-size:.46rem!important;
  }
}


/* === WAIT LIST NOTICE === */
.catalog-notice-section{padding:18px 0 0}
.purchase-notice{
  margin:14px 0 16px;
  padding:14px 16px;
  border:1px solid rgba(116,76,190,.22);
  border-left:4px solid #8c4de8;
  border-radius:16px;
  background:linear-gradient(135deg,rgba(255,248,235,.96),rgba(245,237,255,.96));
  color:#243a66;
  font-size:.98rem;
  line-height:1.5;
  box-shadow:0 8px 22px rgba(77,59,132,.08);
}
.purchase-notice strong{color:#6f3bc2}
@media(max-width:699px){
  .catalog-notice-section{padding:12px 0 0}
  .purchase-notice{
    margin:10px 0 14px;
    padding:12px 13px;
    border-radius:14px;
    font-size:.92rem;
  }
}


/* === RESEARCH HERO IMAGE MOBILE FIT — 2026-09-25 === */
.research-feature-visual{
  overflow:hidden!important;
  border-radius:24px!important;
  background:linear-gradient(135deg,#fff7ec,#f5efff)!important;
}
.research-feature-visual img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
  padding:0!important;
  margin:0!important;
}
@media(max-width:699px){
  .page-hero-grid{
    grid-template-columns:1fr!important;
  }
  .research-feature-visual{
    width:100%!important;
    max-width:none!important;
    aspect-ratio:1/1!important;
    margin-top:18px!important;
  }
  .research-feature-visual img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center center!important;
  }
}


/* === RESEARCH HERO FULL-WIDTH MOBILE OVERRIDE === */
@media(max-width:699px){
  .page-hero-gallery.research-feature-visual{
    display:block!important;
    grid-template-columns:none!important;
    grid-template-rows:none!important;
    gap:0!important;
    width:100%!important;
    max-width:100%!important;
    min-height:0!important;
    aspect-ratio:1/1!important;
    padding:10px!important;
    overflow:hidden!important;
  }

  .page-hero-gallery.research-feature-visual>img,
  .page-hero-gallery.research-feature-visual>img:first-child{
    display:block!important;
    grid-row:auto!important;
    grid-column:auto!important;
    width:100%!important;
    height:100%!important;
    max-width:100%!important;
    max-height:none!important;
    padding:0!important;
    margin:0!important;
    object-fit:cover!important;
    object-position:center center!important;
    border-radius:18px!important;
  }
}


/* === MOBILE SHOP CATEGORY DIRECTORY — 2026-09-25 === */
.mobile-shop-categories,
.mobile-back-categories{
  display:none;
}

@media(max-width:699px){
  .mobile-shop-categories{
    display:block;
    padding:22px 0 28px;
    background:
      radial-gradient(circle at 100% 8%,rgba(141,91,232,.09),transparent 18rem),
      linear-gradient(180deg,#fffaf3,#fffdf9);
  }

  .mobile-shop-categories-head{
    margin-bottom:16px;
  }

  .mobile-shop-categories-head h2{
    margin:.2rem 0 .45rem;
    font-family:var(--serif);
    color:var(--navy);
    font-size:2rem;
    line-height:.96;
  }

  .mobile-shop-categories-head p{
    margin:0;
    color:var(--muted);
    font-size:.95rem;
  }

  .mobile-category-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
  }

  .mobile-category-card{
    position:relative;
    min-width:0;
    aspect-ratio:1/1.03;
    overflow:hidden;
    border-radius:20px;
    border:1px solid rgba(39,57,111,.09);
    background:linear-gradient(135deg,#fff7ec,#f7f1ff);
    box-shadow:0 10px 28px rgba(38,48,95,.08);
    text-decoration:none;
  }

  .mobile-category-card img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
  }

  .mobile-category-card::after{
    content:"";
    position:absolute;
    inset:auto 0 0 0;
    height:44%;
    background:linear-gradient(180deg,transparent,rgba(17,38,79,.78));
    pointer-events:none;
  }

  .mobile-category-card span{
    position:absolute;
    z-index:2;
    left:12px;
    right:12px;
    bottom:11px;
    color:#fff;
    font-weight:900;
    font-size:1rem;
    text-shadow:0 2px 8px rgba(0,0,0,.3);
  }

  .mobile-back-categories{
    display:inline-flex;
    align-items:center;
    min-height:42px;
    margin:0 0 14px;
    padding:8px 13px;
    border:1px solid var(--line);
    border-radius:999px;
    background:#fff;
    color:var(--brand-blue);
    font-weight:850;
    text-decoration:none;
  }

  html.mobile-category-landing .catalog-tools,
  html.mobile-category-landing .catalog-section{
    display:none!important;
  }

  html.mobile-category-results .mobile-shop-categories{
    display:none!important;
  }

  html.mobile-category-results .catalog-tools{
    display:none!important;
  }

  html.mobile-category-results .catalog-section{
    display:block!important;
    padding-top:22px!important;
  }

  html.mobile-category-results .catalog-heading{
    display:none!important;
  }

  html.mobile-category-results #catalogGrid{
    margin-top:0!important;
  }
}


/* === SHOP FINAL CLEANUP — 2026-09-26 === */
.catalog-hero-grid{grid-template-columns:1fr!important;}
.catalog-hero-copy{max-width:900px;}
.catalog-hero-mosaic{display:none!important;}


/* === RESEARCH REFERENCES PAGE — 2026-09-26 === */
.reference-list{display:grid;grid-template-columns:1fr;gap:14px;margin-top:20px}
.reference-card{padding:20px;border:1px solid rgba(40,57,111,.10);border-radius:22px;background:linear-gradient(180deg,#fff,#fffdf9);box-shadow:var(--brand-shadow)}
.reference-card h3{font-family:var(--serif);font-size:1.35rem;line-height:1.12;color:var(--navy);margin:0 0 .5rem}
.reference-card p{color:var(--muted);line-height:1.55}
.reference-card .btn{margin-top:8px}
.research-context-panel{padding:clamp(22px,4vw,38px);border:1px solid rgba(40,57,111,.10);border-radius:28px;background:linear-gradient(135deg,#fff9f0,#f8f1ff);box-shadow:var(--brand-shadow)}
.research-context-panel h2{font-family:var(--serif);font-size:clamp(2rem,5vw,3.5rem);line-height:.98;color:var(--navy);margin:.25rem 0 1rem}
.research-context-panel p{color:var(--muted);line-height:1.7}
@media(min-width:800px){.reference-list{grid-template-columns:repeat(2,1fr)}}


/* === RESEARCH TOPIC DROPDOWN — 2026-09-26 === */
.research-topic-browser{
  margin-top:18px;
  padding:20px;
  border:1px solid rgba(40,57,111,.10);
  border-radius:24px;
  background:linear-gradient(135deg,#fff,#fff8ef 48%,#f7f0ff);
  box-shadow:var(--brand-shadow);
}
.research-topic-browser label{
  display:block;
  margin-bottom:8px;
  color:var(--navy);
  font-weight:900;
}
.research-topic-select{
  width:100%;
  min-height:54px;
  padding:0 48px 0 16px;
  border:1px solid rgba(40,57,111,.16);
  border-radius:16px;
  background:#fff;
  color:var(--navy);
  font:inherit;
  font-weight:750;
  appearance:auto;
}
.research-topic-result{
  margin-top:18px;
  padding:18px;
  border-radius:18px;
  background:#fff;
  border:1px solid rgba(40,57,111,.08);
}
.research-topic-result[hidden]{display:none!important}
.research-topic-result h3{
  margin:.25rem 0 .55rem;
  font-family:var(--serif);
  font-size:1.75rem;
  line-height:1;
  color:var(--navy);
}
.research-topic-result p{
  color:var(--muted);
  line-height:1.6;
}
@media(max-width:699px){
  .research-topic-browser{padding:16px;border-radius:20px}
  .research-topic-select{font-size:16px}
  .research-topic-result .btn{width:100%;justify-content:center;text-align:center}
}


/* === TECHNOLOGY OUTDOOR IMAGE — 2026-09-27 === */
.tech-original-image{
  overflow:hidden!important;
}
.tech-original-image img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  max-height:none!important;
  object-fit:cover!important;
  object-position:center center!important;
}
@media(max-width:699px){
  .tech-original-image{
    aspect-ratio:4/3!important;
  }
  .tech-original-image img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center 35%!important;
  }
}


/* === PERSONAL GUIDANCE IMAGE — 2026-09-27 === */
.welcome-photo{
  display:block!important;
  width:100%!important;
  height:auto!important;
  object-fit:cover!important;
  object-position:center center!important;
}
@media(max-width:699px){
  .welcome-photo{
    aspect-ratio:4/3!important;
    height:100%!important;
    object-position:center 35%!important;
  }
}


/* === TECHNOLOGY PAGE MOBILE POLISH — 2026-09-27 === */
@media(max-width:699px){
  .technology-hero{
    padding:18px 0 14px!important;
  }
  .technology-hero .wrap{
    padding-left:14px!important;
    padding-right:14px!important;
  }
  .technology-hero-image{
    width:100%!important;
    margin:0!important;
    overflow:hidden!important;
    border-radius:22px!important;
    background:linear-gradient(135deg,#fff7ec,#f6efff)!important;
    box-shadow:0 14px 34px rgba(39,57,111,.10)!important;
  }
  .technology-hero-image img{
    display:block!important;
    width:100%!important;
    height:auto!important;
    aspect-ratio:16/10!important;
    object-fit:cover!important;
    object-position:center!important;
  }
  .technology-hero-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:9px!important;
    margin-top:12px!important;
  }
  .technology-hero-actions .btn{
    min-height:44px!important;
    width:100%!important;
    padding:10px 16px!important;
    border-radius:14px!important;
    justify-content:center!important;
    text-align:center!important;
    font-size:.95rem!important;
    line-height:1.1!important;
  }
  .technology-hero-actions .btn.secondary{
    background:rgba(255,255,255,.72)!important;
  }

  .evidence-band{
    padding:4px 0 12px!important;
  }
  .evidence-band .wrap{
    padding-left:14px!important;
    padding-right:14px!important;
  }
  .evidence-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
  }
  .evidence-grid>div{
    min-height:0!important;
    padding:10px 13px!important;
    border-radius:14px!important;
    display:grid!important;
    grid-template-columns:88px 1fr!important;
    align-items:center!important;
    gap:8px!important;
  }
  .evidence-grid strong{
    margin:0!important;
    font-size:.9rem!important;
    line-height:1.1!important;
  }
  .evidence-grid span{
    font-size:.78rem!important;
    line-height:1.25!important;
  }

  #topics.section{
    padding-top:22px!important;
    padding-bottom:30px!important;
  }
  #topics .wrap{
    padding-left:14px!important;
    padding-right:14px!important;
  }
  #topics .section-head{
    margin-bottom:16px!important;
  }
  #topics .section-head .eyebrow{
    margin-bottom:7px!important;
    font-size:.7rem!important;
    letter-spacing:.14em!important;
  }
  #topics .section-head h2{
    margin:0 0 10px!important;
    max-width:100%!important;
    font-size:clamp(2rem,10vw,2.65rem)!important;
    line-height:.94!important;
    letter-spacing:-.035em!important;
    text-wrap:balance!important;
  }
  #topics .section-head .lead{
    margin:0!important;
    max-width:100%!important;
    font-size:.94rem!important;
    line-height:1.5!important;
  }
  .research-visual-grid{
    gap:14px!important;
  }
  .research-visual-card{
    border-radius:20px!important;
    overflow:hidden!important;
  }
  .research-visual-card>img{
    width:100%!important;
    aspect-ratio:16/10!important;
    height:auto!important;
    object-fit:cover!important;
  }
  .research-visual-card>div{
    padding:16px!important;
  }
  .research-visual-card h3{
    margin:.45rem 0 .45rem!important;
    font-size:1.45rem!important;
    line-height:1.05!important;
  }
  .research-visual-card p{
    margin-bottom:12px!important;
    font-size:.92rem!important;
    line-height:1.5!important;
  }
  .research-visual-card .btn{
    min-height:42px!important;
    padding:9px 13px!important;
    border-radius:12px!important;
    font-size:.88rem!important;
  }

  #archive.section{
    padding-top:30px!important;
    padding-bottom:34px!important;
  }
  #archive .section-head h2{
    font-size:clamp(2rem,10vw,2.65rem)!important;
    line-height:.95!important;
  }
}


/* === TECHNOLOGY HERO MOBILE POSITION FIX — 2026-09-27 === */
@media(max-width:699px){
  .technology-hero-image img{
    object-position:left center!important;
  }
}


/* === TECHNOLOGY HERO SHOW FULL IMAGE ON MOBILE — 2026-09-27 === */
@media(max-width:699px){
  .technology-hero-image{
    aspect-ratio:auto!important;
    background:#fffaf3!important;
  }
  .technology-hero-image img{
    display:block!important;
    width:100%!important;
    height:auto!important;
    aspect-ratio:auto!important;
    object-fit:contain!important;
    object-position:center center!important;
    transform:none!important;
  }
}


/* === COMPACT MOBILE FOOTER — 2026-09-27 === */
@media(max-width:699px){
  .footer{
    margin-top:24px!important;
    padding:18px 0 20px!important;
  }
  .footer .wrap{
    width:min(100% - 28px,1180px)!important;
  }
  .footer-grid{
    gap:10px!important;
  }
  .footer-grid>div{
    margin:0!important;
  }
  .footer-brand{
    gap:6px!important;
    margin-bottom:3px!important;
  }
  .footer-brand img{
    width:32px!important;
    height:32px!important;
  }
  .footer-brand strong{
    font-size:1.3rem!important;
    line-height:1!important;
  }
  .footer p{
    margin:.28rem 0!important;
    font-size:.76rem!important;
    line-height:1.35!important;
  }
  .footer small{
    display:block!important;
    margin-top:5px!important;
    font-size:.62rem!important;
    line-height:1.35!important;
  }
  .footer-grid>div>strong{
    display:block!important;
    margin-bottom:2px!important;
    font-size:.78rem!important;
    line-height:1.1!important;
  }
  .footer a{
    line-height:1.35!important;
  }
  .footer-nav{
    gap:7px 10px!important;
    font-size:.7rem!important;
  }
  .footer-phone{
    padding:6px 9px!important;
    font-size:.72rem!important;
  }
  .footer-tag{
    font-size:.52rem!important;
    letter-spacing:.13em!important;
  }
}


/* === GLOBAL MOBILE FOOTER REDESIGN — 2026-09-27 === */
@media(max-width:699px){
  .footer{
    margin-top:18px!important;
    padding:14px 0 16px!important;
    background:linear-gradient(135deg,#fffaf3,#f7f2ff 58%,#f2fbff)!important;
  }
  .footer .wrap{
    width:min(100% - 24px,1180px)!important;
  }
  .footer-grid{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:12px 16px!important;
    align-items:start!important;
  }
  .footer-grid>div:first-child{
    grid-column:1/-1!important;
    padding-bottom:8px!important;
    border-bottom:1px solid rgba(40,57,111,.10)!important;
  }
  .footer-brand{
    margin:0 0 4px!important;
  }
  .footer-brand strong{
    font-size:1.15rem!important;
    line-height:1!important;
  }
  .footer-grid>div:first-child>p{
    max-width:100%!important;
    margin:0 0 5px!important;
    font-size:.69rem!important;
    line-height:1.32!important;
  }
  .footer small{
    margin:0!important;
    max-width:100%!important;
    font-size:.56rem!important;
    line-height:1.3!important;
    color:#66718d!important;
  }
  .footer-grid>div>strong{
    margin:0 0 5px!important;
    font-size:.72rem!important;
    line-height:1.1!important;
    letter-spacing:.02em!important;
  }
  .footer-grid>div:not(:first-child) p{
    margin:0!important;
    font-size:.68rem!important;
    line-height:1.55!important;
  }
  .footer-grid>div:not(:first-child) a{
    font-size:.68rem!important;
    line-height:1.55!important;
  }
}


/* === POLISHED SITEWIDE MOBILE FOOTER — 2026-09-27 === */
@media(max-width:820px){
  .footer{
    margin-top:18px!important;
    padding:14px 0 16px!important;
    background:
      radial-gradient(circle at 10% 15%,rgba(255,190,120,.16),transparent 15rem),
      radial-gradient(circle at 90% 10%,rgba(153,103,235,.16),transparent 16rem),
      linear-gradient(135deg,#fffaf4,#f8f3ff 60%,#f2fbff)!important;
  }
  .footer .wrap{
    width:min(100% - 24px,1180px)!important;
  }
  .footer-grid{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    gap:10px!important;
    align-items:stretch!important;
  }
  .footer-grid>div{
    min-width:0!important;
  }
  .footer-grid>div:first-child{
    grid-column:1/-1!important;
    padding:14px!important;
    border:1px solid rgba(40,57,111,.09)!important;
    border-radius:18px!important;
    background:rgba(255,255,255,.64)!important;
    box-shadow:0 8px 24px rgba(39,57,111,.06)!important;
  }
  .footer-brand{
    margin:0 0 5px!important;
  }
  .footer-brand strong{
    display:inline-block!important;
    font-size:1.18rem!important;
    line-height:1!important;
    color:#173f78!important;
  }
  .footer-grid>div:first-child>p{
    margin:0 0 7px!important;
    font-size:.68rem!important;
    line-height:1.38!important;
    color:#274b7f!important;
  }
  .footer small{
    display:block!important;
    margin:0!important;
    padding-top:7px!important;
    border-top:1px solid rgba(40,57,111,.08)!important;
    font-size:.55rem!important;
    line-height:1.38!important;
    color:#6b748d!important;
  }
  .footer-grid>div:nth-child(2),
  .footer-grid>div:nth-child(3){
    padding:12px!important;
    border:1px solid rgba(40,57,111,.09)!important;
    border-radius:16px!important;
    background:rgba(255,255,255,.72)!important;
    box-shadow:0 8px 22px rgba(39,57,111,.05)!important;
  }
  .footer-grid>div>strong{
    display:block!important;
    margin:0 0 6px!important;
    font-size:.72rem!important;
    line-height:1.1!important;
    color:#173f78!important;
  }
  .footer-grid>div:not(:first-child) p{
    margin:0!important;
    font-size:.65rem!important;
    line-height:1.55!important;
  }
  .footer-grid>div:not(:first-child) a{
    display:inline-block!important;
    max-width:100%!important;
    font-size:.65rem!important;
    line-height:1.55!important;
    color:#294f88!important;
    text-decoration:none!important;
    overflow-wrap:anywhere!important;
  }
  .footer-grid>div:not(:first-child) a:hover{
    text-decoration:underline!important;
  }
}


/* === REFINED MOBILE FOOTER — 2026-09-27 === */
@media(max-width:820px){
  .footer{
    margin-top:16px!important;
    padding:14px 0 calc(18px + env(safe-area-inset-bottom))!important;
    background:linear-gradient(180deg,#fffaf5 0%,#f8f4ff 58%,#f3f9ff 100%)!important;
    border-top:1px solid rgba(40,57,111,.08)!important;
  }
  .footer .wrap{
    width:min(100% - 24px,1180px)!important;
  }
  .footer-grid{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:0!important;
    overflow:hidden!important;
    border:1px solid rgba(40,57,111,.09)!important;
    border-radius:22px!important;
    background:rgba(255,255,255,.74)!important;
    box-shadow:0 10px 30px rgba(39,57,111,.07)!important;
  }
  .footer-grid>div{
    min-width:0!important;
    margin:0!important;
  }
  .footer-grid>div:first-child{
    grid-column:1/-1!important;
    padding:14px 15px 12px!important;
    border:0!important;
    border-bottom:1px solid rgba(40,57,111,.08)!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
  }
  .footer-brand{
    margin:0 0 5px!important;
  }
  .footer-brand strong{
    display:inline-block!important;
    font-size:1.2rem!important;
    line-height:1!important;
    color:#173f78!important;
    letter-spacing:-.02em!important;
  }
  .footer-grid>div:first-child>p{
    margin:0 0 6px!important;
    font-size:.67rem!important;
    line-height:1.35!important;
    color:#294f88!important;
  }
  .footer small{
    display:block!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    font-size:.54rem!important;
    line-height:1.36!important;
    color:#70788f!important;
  }
  .footer-grid>div:nth-child(2),
  .footer-grid>div:nth-child(3){
    padding:12px 14px 13px!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
  }
  .footer-grid>div:nth-child(3){
    border-left:1px solid rgba(40,57,111,.08)!important;
  }
  .footer-grid>div>strong{
    display:block!important;
    margin:0 0 6px!important;
    font-size:.72rem!important;
    line-height:1.1!important;
    color:#173f78!important;
    letter-spacing:.01em!important;
  }
  .footer-grid>div:not(:first-child) p{
    margin:0!important;
    font-size:.64rem!important;
    line-height:1.55!important;
  }
  .footer-grid>div:not(:first-child) a{
    display:inline-block!important;
    max-width:100%!important;
    padding:1px 0!important;
    font-size:.64rem!important;
    line-height:1.5!important;
    color:#31558d!important;
    text-decoration:none!important;
    overflow-wrap:anywhere!important;
  }
}


/* === UNIFIED FOOTER DESIGN — 2026-09-27 === */
.footer-shell{
  display:grid;
  gap:18px;
}
.footer-logo{
  display:inline-flex;
  flex-direction:column;
  text-decoration:none;
}
.footer-logo-word{
  font-family:var(--serif);
  font-size:1.65rem;
  font-weight:900;
  color:var(--navy);
  line-height:.95;
}
.footer-logo-sub{
  margin-top:5px;
  font-size:.58rem;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#66718d;
}
.footer-intro p{
  margin:.6rem 0 .45rem;
  color:#2b4f83;
  line-height:1.45;
}
.footer-intro small{
  color:#70788f;
  line-height:1.45;
}
.footer-group{
  display:grid;
  align-content:start;
  gap:6px;
}
.footer-group strong{
  color:var(--navy);
}
.footer-group a{
  color:#31558d;
  text-decoration:none;
}
.footer-group a:hover{
  text-decoration:underline;
}

@media(min-width:821px){
  .footer-shell{
    grid-template-columns:1.4fr .7fr .9fr;
    align-items:start;
  }
}

@media(max-width:820px){
  .footer{
    margin-top:16px!important;
    padding:14px 0 calc(16px + env(safe-area-inset-bottom))!important;
    background:linear-gradient(180deg,#fffaf4,#f8f4ff 62%,#f4f9ff)!important;
    border-top:1px solid rgba(40,57,111,.08)!important;
  }
  .footer .wrap{
    width:min(100% - 24px,1180px)!important;
  }
  .footer-shell{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:0!important;
    overflow:hidden!important;
    border:1px solid rgba(40,57,111,.10)!important;
    border-radius:22px!important;
    background:rgba(255,255,255,.82)!important;
    box-shadow:0 10px 30px rgba(39,57,111,.07)!important;
  }
  .footer-intro{
    grid-column:1/-1!important;
    padding:14px 15px 12px!important;
    border-bottom:1px solid rgba(40,57,111,.08)!important;
  }
  .footer-logo-word{
    font-size:1.25rem!important;
  }
  .footer-logo-sub{
    margin-top:4px!important;
    font-size:.48rem!important;
    letter-spacing:.12em!important;
  }
  .footer-intro p{
    margin:8px 0 6px!important;
    font-size:.68rem!important;
    line-height:1.36!important;
  }
  .footer-intro small{
    display:block!important;
    font-size:.54rem!important;
    line-height:1.38!important;
  }
  .footer-group{
    gap:4px!important;
    padding:12px 14px 13px!important;
  }
  .footer-contact{
    border-left:1px solid rgba(40,57,111,.08)!important;
  }
  .footer-group strong{
    margin-bottom:2px!important;
    font-size:.72rem!important;
    line-height:1.1!important;
  }
  .footer-group a{
    font-size:.64rem!important;
    line-height:1.45!important;
    overflow-wrap:anywhere!important;
  }
}


/* === SHOW FULL TECHNOLOGY & COURSE IMAGES — 2026-09-27 === */
.research-visual-card>img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  aspect-ratio:auto!important;
  object-fit:contain!important;
  object-position:center center!important;
  padding:8px!important;
  background:linear-gradient(135deg,#fff7ec,#f5efff)!important;
}
.course-feature>img,
.courses-feature-visual>img,
.person-panel>img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  object-fit:contain!important;
  object-position:center center!important;
}
@media(max-width:820px){
  .research-visual-card>img{
    height:auto!important;
    max-height:none!important;
    aspect-ratio:auto!important;
    object-fit:contain!important;
    object-position:center center!important;
  }
  .course-feature>img,
  .courses-feature-visual>img,
  .person-panel>img{
    height:auto!important;
    max-height:none!important;
    aspect-ratio:auto!important;
    object-fit:contain!important;
    object-position:center center!important;
  }
}


/* === COURSES PAGE REFINEMENT — 2026-09-28 === */
.exclusive-course-grid{margin-top:10px}
.featured-course{border:1px solid rgba(116,81,168,.18);box-shadow:0 18px 45px rgba(40,31,68,.10)}
.course-feature>img{
  width:100%!important;
  aspect-ratio:16/10!important;
  height:auto!important;
  object-fit:cover!important;
  object-position:center!important;
  padding:0!important;
  background:#f7f2ff!important;
}
.courses-feature-visual>img{
  width:100%!important;
  aspect-ratio:4/3!important;
  object-fit:cover!important;
  object-position:center!important;
  border-radius:24px!important;
}
.person-panel>img{
  width:100%!important;
  aspect-ratio:4/3!important;
  object-fit:cover!important;
  object-position:center!important;
}
@media(max-width:699px){
  .course-feature-grid{gap:14px!important}
  .course-feature{border-radius:18px!important}
  .course-feature>div{padding:16px!important}
  .course-feature h3{font-size:1.45rem!important}
  .course-feature p{font-size:.95rem!important;line-height:1.55!important}
  .topic-grid{gap:8px!important}
  .topic-pill{padding:12px!important;font-size:.9rem!important}
}


/* === COURSES HERO PHOTO CENTER + PERSONAL NOTE — 2026-09-28 === */
.courses-feature-visual{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:0!important;
}
.courses-feature-visual>img{
  display:block!important;
  width:min(100%,560px)!important;
  margin:0 auto!important;
  aspect-ratio:4/3!important;
  object-fit:cover!important;
  object-position:center!important;
}
.courses-photo-note{
  margin:14px auto 2px!important;
  max-width:520px!important;
  text-align:center!important;
  color:var(--navy)!important;
  font-family:var(--serif)!important;
  font-size:clamp(1.05rem,2.2vw,1.3rem)!important;
  line-height:1.4!important;
  font-style:italic!important;
}
.courses-photo-note span{
  display:inline-block;
  margin-left:.25rem;
  color:var(--brand-violet)!important;
  font-style:normal!important;
  font-family:var(--sans)!important;
  font-size:.85em!important;
  font-weight:800!important;
}
@media(max-width:699px){
  .courses-feature-visual{
    padding:14px!important;
  }
  .courses-feature-visual>img{
    width:min(100%,360px)!important;
  }
  .courses-photo-note{
    padding:0 8px!important;
    font-size:1.05rem!important;
  }
}


/* === DSVIBE FLOATING WHATSAPP CHAT — 2026-09-29 === */
.dsvibe-whatsapp-chat{
  position:fixed;
  right:18px;
  bottom:18px;
  z-index:9999;
  display:inline-flex;
  align-items:center;
  gap:9px;
  min-height:52px;
  padding:0 18px;
  border-radius:999px;
  background:#25D366;
  color:#fff!important;
  font-weight:900;
  font-size:.88rem;
  letter-spacing:.01em;
  box-shadow:0 14px 36px rgba(18,94,55,.28);
  border:2px solid rgba(255,255,255,.92);
  text-decoration:none!important;
  transition:transform .18s ease,box-shadow .18s ease;
}
.dsvibe-whatsapp-chat:hover{
  transform:translateY(-2px);
  box-shadow:0 18px 40px rgba(18,94,55,.34);
}
.dsvibe-whatsapp-chat .wa-dot{
  display:grid;
  place-items:center;
  width:25px;
  height:25px;
  border-radius:50%;
  background:#fff;
  color:#25D366;
  font-size:.72rem;
  line-height:1;
}
@media(max-width:699px){
  .dsvibe-whatsapp-chat{
    right:12px;
    bottom:calc(12px + env(safe-area-inset-bottom));
    min-height:50px;
    padding:0 15px;
    font-size:.8rem;
  }
}


/* === iPad / tablet overlap fix 2026-09-30 === */
@media (min-width:700px) and (max-width:1180px){
  .zoom-card{padding:20px 22px}
  .zoom-grid{
    grid-template-columns:52px minmax(0,1fr);
    gap:12px 14px;
    align-items:center;
  }
  .zoom-card .btn{
    grid-column:1/-1;
    width:100%;
    margin-top:8px;
    justify-content:center;
  }
  .zoom-side{display:none !important}
  .zoom-card h2{font-size:clamp(1.55rem,3.4vw,2.15rem);line-height:1.02}
  .zoom-card p{max-width:100%;line-height:1.4}
}
