/* NutriMaster V15 — Public Home + internal hero refresh */

/* ------------------------------
   PUBLIC HOME — stronger first impression
   ------------------------------ */
.immersivePublicHome .nativeHeroCopyWrap{width:min(43vw,610px);top:clamp(132px,16vh,176px)}
.publicHeroBrandPromise{display:flex;align-items:center;gap:10px;margin-bottom:18px;color:#0a6f77;font-size:7px;font-weight:950;letter-spacing:.16em;text-transform:uppercase}
.publicHeroBrandPromise i{display:block;width:24px;height:1px;background:linear-gradient(90deg,#12a8a6,#e2b13d)}
.publicHeroSupport{max-width:520px;margin:18px 0 0;color:#49676d;font-size:11px;font-weight:720;line-height:1.55}
.publicHeroActions{display:flex;align-items:center;gap:10px;margin-top:22px}
.publicHeroActions a{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:46px;padding:0 16px;border-radius:13px;font-size:9px;font-weight:950;letter-spacing:.015em;transition:transform .2s ease,box-shadow .2s ease,background .2s ease,border-color .2s ease}
.publicHeroPrimary{background:linear-gradient(135deg,#f7d56a,#efba3f);color:#06222d;box-shadow:0 14px 34px rgba(194,142,27,.2)}
.publicHeroPrimary:hover{transform:translateY(-2px);box-shadow:0 18px 40px rgba(194,142,27,.28)}
.publicHeroSecondary{border:1px solid rgba(6,52,62,.16);background:rgba(255,255,255,.42);color:#073844;backdrop-filter:blur(9px)}
.publicHeroSecondary:hover{transform:translateY(-2px);background:rgba(255,255,255,.66);border-color:rgba(6,52,62,.25)}
.publicHeroSignals{display:flex;flex-wrap:wrap;gap:7px;margin-top:16px}
.publicHeroSignals span{display:inline-flex;align-items:center;gap:6px;padding:7px 9px;border:1px solid rgba(7,68,80,.1);border-radius:999px;background:rgba(251,250,243,.5);color:#5a757a;font-size:6.5px;font-weight:900;letter-spacing:.035em;backdrop-filter:blur(8px)}
.publicHeroSignals span:before{content:"";width:5px;height:5px;border-radius:50%;background:#13b7ac;box-shadow:0 0 0 3px rgba(19,183,172,.09)}

.publicAcademyPreview{position:relative;z-index:4;width:min(1240px,calc(100% - 64px));margin:88px auto 18px;padding:54px 54px 50px;overflow:hidden;border:1px solid rgba(8,47,60,.09);border-radius:34px;background:radial-gradient(circle at 90% 15%,rgba(18,183,172,.12),transparent 25%),radial-gradient(circle at 8% 88%,rgba(243,201,87,.1),transparent 24%),rgba(255,253,247,.8);box-shadow:0 30px 90px rgba(5,31,44,.08);backdrop-filter:blur(18px)}
.publicAcademyPreview:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(8,47,60,.022) 1px,transparent 1px),linear-gradient(90deg,rgba(8,47,60,.022) 1px,transparent 1px);background-size:34px 34px;mask-image:linear-gradient(90deg,#000,transparent 80%);pointer-events:none}
.publicAcademyPreviewIntro{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,.9fr) minmax(280px,.7fr);grid-template-areas:"label label" "title body";gap:10px 62px;align-items:end;margin-bottom:34px}
.publicAcademyPreviewIntro>span{grid-area:label;color:#0b9a92;font-size:8px;font-weight:950;letter-spacing:.18em}
.publicAcademyPreviewIntro h2{grid-area:title;max-width:720px;margin:0;color:#082f3c;font-size:clamp(40px,4.6vw,66px);line-height:.95;letter-spacing:-.055em}
.publicAcademyPreviewIntro h2 em{color:#13a99f;font-style:normal}
.publicAcademyPreviewIntro p{grid-area:body;max-width:470px;margin:0 0 5px;color:#62777e;font-size:12px;line-height:1.7}
.publicAcademyPreviewGrid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}
.publicAcademyPreviewGrid article{position:relative;min-height:238px;display:flex;flex-direction:column;padding:24px 22px;border:1px solid rgba(8,47,60,.09);border-radius:22px;background:rgba(250,251,246,.8);box-shadow:0 14px 38px rgba(4,31,43,.045);transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}
.publicAcademyPreviewGrid article:hover{transform:translateY(-4px);border-color:rgba(19,183,172,.24);box-shadow:0 20px 50px rgba(4,31,43,.08)}
.publicAcademyPreviewGrid article>i{display:grid;place-items:center;width:38px;height:38px;margin-bottom:32px;border-radius:12px;background:#082f3c;color:#f6d66b;font-size:9px;font-style:normal;font-weight:950}
.publicAcademyPreviewGrid article>small{color:#0b9a92;font-size:7px;font-weight:950;letter-spacing:.14em}
.publicAcademyPreviewGrid article h3{margin:8px 0 9px;color:#082f3c;font-size:22px;line-height:1;letter-spacing:-.035em}
.publicAcademyPreviewGrid article p{margin:0;color:#6c7f85;font-size:9.5px;line-height:1.62}
.publicAcademyPreviewGrid article.premium{background:linear-gradient(145deg,#072a36,#0b4350);border-color:rgba(99,229,211,.18);color:#fff}
.publicAcademyPreviewGrid article.premium>i{background:rgba(255,255,255,.08);color:#65dfce;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.publicAcademyPreviewGrid article.premium>small{color:#68dbc9}
.publicAcademyPreviewGrid article.premium h3{color:#fff}
.publicAcademyPreviewGrid article.premium p{color:#afc5cc}

/* ------------------------------
   MY BOOKS — a living library hero
   ------------------------------ */
.myBooksPremiumPage .booksPremiumHero{grid-template-columns:minmax(0,1fr) minmax(320px,440px);gap:64px;align-items:center;padding:66px 0 48px}
.myBooksPremiumPage .booksPremiumHero:after{right:5%;top:10%;width:280px;height:280px;box-shadow:0 0 0 42px rgba(17,184,177,.04),0 0 0 88px rgba(243,201,87,.028)}
.booksHeroCopy{position:relative;z-index:2}
.myBooksPremiumPage .booksPremiumHero h1{max-width:820px}
.myBooksPremiumPage .booksHeroStats{width:max-content;grid-template-columns:repeat(3,112px);margin-top:28px;border-radius:18px;background:rgba(255,253,248,.7);box-shadow:0 14px 42px rgba(5,31,44,.055)}
.myBooksPremiumPage .booksHeroStats article{min-height:88px;padding:17px 18px}
.myBooksPremiumPage .booksHeroStats strong{font-size:29px}
.booksHeroVisual{position:relative;z-index:2;min-height:350px;display:grid;place-items:center;isolation:isolate}
.booksHeroHalo{position:absolute;width:280px;height:280px;border-radius:50%;background:radial-gradient(circle,rgba(19,183,172,.16),rgba(19,183,172,.04) 44%,transparent 70%);border:1px solid rgba(19,183,172,.13);box-shadow:0 0 0 40px rgba(19,183,172,.025),0 0 0 82px rgba(243,201,87,.02);animation:v15HaloBreathe 7s ease-in-out infinite}
.booksHeroStack{position:relative;width:260px;height:290px;perspective:1100px;transform-style:preserve-3d}
.booksHeroStackBook{position:absolute;left:50%;top:50%;width:160px;aspect-ratio:1054/1492;border-radius:5px 13px 13px 5px;overflow:hidden;border:1px solid rgba(255,255,255,.65);background:linear-gradient(145deg,#0b4350,#0a2d39);box-shadow:-9px 12px 0 rgba(5,36,47,.3),0 26px 46px rgba(5,31,44,.19);transform-origin:center;transition:transform .25s ease}
.booksHeroStackBook img{display:block;width:100%;height:100%;object-fit:cover}
.booksHeroStackBook.stack0{z-index:3;transform:translate(-50%,-50%) rotateY(-8deg) rotateZ(-2deg)}
.booksHeroStackBook.stack1{z-index:2;transform:translate(-22%,-55%) rotateY(-4deg) rotateZ(6deg) scale(.9)}
.booksHeroStackBook.stack2{z-index:1;transform:translate(-82%,-54%) rotateY(-11deg) rotateZ(-8deg) scale(.84)}
.booksHeroVisual:hover .stack0{transform:translate(-50%,-52%) rotateY(-4deg) rotateZ(-1deg)}
.booksHeroVisual:hover .stack1{transform:translate(-15%,-57%) rotateY(-2deg) rotateZ(8deg) scale(.91)}
.booksHeroVisual:hover .stack2{transform:translate(-88%,-57%) rotateY(-9deg) rotateZ(-10deg) scale(.85)}
.booksHeroStackBook.empty:after{content:"NUTRIMASTER";position:absolute;left:12px;right:12px;top:18px;color:rgba(255,255,255,.55);font-size:8px;font-weight:950;letter-spacing:.1em}
.booksHeroVisualLabel{position:absolute;left:50%;bottom:10px;min-width:230px;transform:translateX(-50%);padding:12px 14px;border:1px solid rgba(8,47,60,.09);border-radius:14px;background:rgba(255,253,248,.86);box-shadow:0 14px 34px rgba(5,31,44,.08);backdrop-filter:blur(12px);text-align:center}
.booksHeroVisualLabel span{display:block;color:#13a99f;font-size:6.5px;font-weight:950;letter-spacing:.14em}
.booksHeroVisualLabel b{display:block;margin-top:5px;color:#082f3c;font-size:10px}

/* ------------------------------
   MY TOOLS — practical system hero
   ------------------------------ */
.myToolsPremiumPage .toolsPremiumHero{grid-template-columns:minmax(0,1fr) minmax(340px,460px);gap:60px;align-items:center;padding:66px 0 46px}
.myToolsPremiumPage .toolsHeroCopy{position:relative;z-index:2}
.myToolsPremiumPage .toolsPremiumHero h1{max-width:820px}
.myToolsPremiumPage .toolsHeroStats{width:max-content;grid-template-columns:repeat(3,112px);margin-top:28px;border-radius:18px;background:rgba(255,253,248,.72);box-shadow:0 14px 42px rgba(5,31,44,.055)}
.myToolsPremiumPage .toolsHeroStats article{min-height:88px;padding:17px 18px}
.myToolsPremiumPage .toolsHeroStats strong{font-size:29px}
.toolsHeroVisual{position:relative;z-index:2;min-height:350px;display:grid;place-items:center;isolation:isolate}
.toolsHeroOrbit{position:relative;width:310px;height:310px;border-radius:50%;border:1px solid rgba(19,183,172,.13);box-shadow:0 0 0 42px rgba(19,183,172,.025),0 0 0 84px rgba(243,201,87,.018);background:radial-gradient(circle at 50% 50%,rgba(19,183,172,.1),transparent 54%)}
.toolsHeroOrbit:before,.toolsHeroOrbit:after{content:"";position:absolute;inset:36px;border:1px dashed rgba(8,47,60,.11);border-radius:50%;animation:v15Rotate 22s linear infinite}
.toolsHeroOrbit:after{inset:78px;border-style:solid;border-color:rgba(243,201,87,.13);animation-direction:reverse;animation-duration:16s}
.toolsHeroCore{position:absolute;left:50%;top:50%;z-index:3;display:grid;place-items:center;width:92px;height:92px;transform:translate(-50%,-50%);border-radius:28px;background:linear-gradient(145deg,#062632,#0b4350);color:#f5d163;font-size:11px;font-weight:950;letter-spacing:.12em;box-shadow:0 24px 54px rgba(5,31,44,.23)}
.toolsHeroNode{position:absolute;z-index:4;display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid rgba(8,47,60,.1);border-radius:14px;background:rgba(255,253,248,.9);box-shadow:0 14px 35px rgba(5,31,44,.08);backdrop-filter:blur(12px)}
.toolsHeroNode i{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:#eaf6f1;color:#0a8e84;font-style:normal;font-size:12px;font-weight:950}
.toolsHeroNode b{color:#082f3c;font-size:7px;letter-spacing:.08em}
.toolsHeroNode.calculator{left:-5px;top:54px}.toolsHeroNode.planner{right:-7px;top:86px}.toolsHeroNode.scanner{left:74px;bottom:6px}
.toolsHeroVisualCaption{position:absolute;right:2px;bottom:5px;display:none}

/* ------------------------------
   MY NUTRITION — personal signal hero
   ------------------------------ */
.myNutritionPremiumPage .nutritionPremiumHero{grid-template-columns:minmax(0,1fr) minmax(350px,470px);gap:64px;align-items:center;padding:66px 0 46px}
.myNutritionPremiumPage .nutritionPremiumHero:before{width:500px;height:500px;right:-110px;top:-70px}
.myNutritionPremiumPage .nutritionPremiumHero:after{right:90px;top:54px;width:250px;height:250px}
.nutritionHeroCopy{position:relative;z-index:2}
.myNutritionPremiumPage .nutritionPremiumHero h1{max-width:860px}
.nutritionHeroSignal{position:relative;z-index:2;min-height:360px;display:flex;flex-direction:column;align-items:center;justify-content:center}
.nutritionSignalOrbit{position:relative;width:320px;height:300px;display:grid;place-items:center}
.nutritionSignalOrbit:before,.nutritionSignalOrbit:after{content:"";position:absolute;border-radius:50%;border:1px solid rgba(19,183,172,.14);pointer-events:none}
.nutritionSignalOrbit:before{width:272px;height:272px;box-shadow:0 0 0 36px rgba(19,183,172,.025),0 0 0 74px rgba(243,201,87,.018)}
.nutritionSignalOrbit:after{width:190px;height:190px;border-style:dashed;animation:v15Rotate 24s linear infinite}
.nutritionSignalGlow{position:absolute;width:230px;height:230px;border-radius:50%;background:radial-gradient(circle,rgba(19,183,172,.12),rgba(19,183,172,.03) 48%,transparent 70%);animation:v15HaloBreathe 7s ease-in-out infinite}
.nutritionHeroSignal .nutritionCompletionRing{z-index:4;width:112px;height:112px;flex:0 0 112px;box-shadow:0 18px 42px rgba(5,31,44,.1)}
.nutritionHeroNode{position:absolute;z-index:5;min-width:134px;max-width:174px;padding:11px 12px;border:1px solid rgba(8,47,60,.09);border-radius:14px;background:rgba(255,253,248,.9);box-shadow:0 14px 32px rgba(5,31,44,.075);backdrop-filter:blur(12px)}
.nutritionHeroNode small{display:block;color:#13a99f;font-size:6px;font-weight:950;letter-spacing:.12em}
.nutritionHeroNode b{display:block;overflow:hidden;margin-top:4px;color:#082f3c;font-size:9px;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}
.nutritionHeroNode.goal{left:-12px;top:52px}.nutritionHeroNode.activity{right:-14px;top:86px}.nutritionHeroNode.details{left:50%;bottom:0;transform:translateX(-50%)}
.nutritionHeroSignalCaption{width:min(340px,100%);margin-top:10px;text-align:center}
.nutritionHeroSignalCaption small{display:block;color:#13a99f;font-size:6.5px;font-weight:950;letter-spacing:.13em}
.nutritionHeroSignalCaption b{display:block;margin-top:5px;color:#667b82;font-size:9px;line-height:1.45}

@keyframes v15HaloBreathe{0%,100%{transform:scale(.97);opacity:.68}50%{transform:scale(1.035);opacity:1}}
@keyframes v15Rotate{to{transform:rotate(360deg)}}

@media(prefers-reduced-motion:reduce){
  .booksHeroHalo,.nutritionSignalGlow,.toolsHeroOrbit:before,.toolsHeroOrbit:after,.nutritionSignalOrbit:after{animation:none!important}
  .booksHeroStackBook,.publicHeroActions a,.publicAcademyPreviewGrid article{transition:none!important}
}

@media(max-width:1080px){
  .publicAcademyPreviewGrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .publicAcademyPreviewIntro{grid-template-columns:1fr;grid-template-areas:"label" "title" "body";gap:10px}
  .myBooksPremiumPage .booksPremiumHero,.myToolsPremiumPage .toolsPremiumHero,.myNutritionPremiumPage .nutritionPremiumHero{grid-template-columns:1fr;gap:26px}
  .booksHeroVisual,.toolsHeroVisual,.nutritionHeroSignal{min-height:320px}
  .booksHeroVisual{max-width:520px}.toolsHeroVisual{max-width:520px}.nutritionHeroSignal{max-width:520px}
}

@media(max-width:760px){
  .immersivePublicHome .nativeCollectionFrame{height:900px}
  .immersivePublicHome .nativeHeroCopyWrap{left:20px;right:20px;top:118px;width:auto}
  .publicHeroBrandPromise{margin-bottom:12px;font-size:6.5px}
  .publicHeroSupport{display:none}
  .publicHeroActions{margin-top:16px}
  .publicHeroActions a{min-height:42px;padding:0 13px;font-size:8px}
  .publicHeroSignals{display:none}
  .immersivePublicHome .nativeHeroScene{bottom:38px;height:49%}
  .publicAcademyPreview{width:min(100% - 28px,1240px);margin-top:52px;padding:36px 24px 30px;border-radius:26px}
  .publicAcademyPreviewGrid{grid-template-columns:1fr 1fr}
  .publicAcademyPreviewGrid article{min-height:210px;padding:20px}
  .publicAcademyPreviewIntro h2{font-size:clamp(38px,11vw,52px)}
  .myBooksPremiumPage .booksPremiumHero,.myToolsPremiumPage .toolsPremiumHero,.myNutritionPremiumPage .nutritionPremiumHero{padding-top:44px}
  .myBooksPremiumPage .booksHeroStats,.myToolsPremiumPage .toolsHeroStats{grid-template-columns:repeat(3,1fr);width:100%;max-width:520px}
  .myBooksPremiumPage .booksHeroStats article,.myToolsPremiumPage .toolsHeroStats article{min-height:80px;padding:15px 13px}
  .booksHeroVisual,.toolsHeroVisual,.nutritionHeroSignal{margin-top:2px}
}

@media(max-width:520px){
  .immersivePublicHome .nativeCollectionFrame{height:880px}
  .publicHeroBrandPromise{gap:7px;letter-spacing:.11em}
  .publicHeroActions{align-items:stretch;flex-direction:column;width:min(100%,330px)}
  .publicHeroActions a{width:100%}
  .publicAcademyPreviewGrid{grid-template-columns:1fr}
  .publicAcademyPreviewGrid article{min-height:190px}
  .booksHeroVisual{min-height:290px}.booksHeroStack{transform:scale(.88)}
  .booksHeroVisualLabel{bottom:0}
  .toolsHeroVisual{min-height:300px}.toolsHeroOrbit{transform:scale(.82)}
  .nutritionHeroSignal{min-height:315px}.nutritionSignalOrbit{transform:scale(.86)}
  .nutritionHeroSignalCaption{margin-top:-3px}
  .myBooksPremiumPage .booksHeroStats,.myToolsPremiumPage .toolsHeroStats{grid-template-columns:1fr 1fr 1fr}
  .myBooksPremiumPage .booksHeroStats span,.myToolsPremiumPage .toolsHeroStats span{font-size:7.5px}
}
