
:root{--ink:#453b3f;--muted:#75676c;--pink:#d96f91;--pinkdark:#b95377;--line:#eedde3;--soft:#fbf7f8;--accent:#d96f91}*{box-sizing:border-box}body{margin:0;background:#fff;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}a{text-decoration:none;color:inherit}button{font:inherit}.topbar{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.97);border-bottom:1px solid #f0e6e9}.nav{max-width:1240px;margin:auto;height:76px;padding:0 28px;display:flex;align-items:center;justify-content:space-between}.logo{font-family:Georgia,serif;font-size:26px;font-weight:700}.logo span{color:var(--pink)}.navlinks{display:flex;gap:26px;align-items:center;font-size:14px;font-weight:700;color:#665a5f}.navlinks a:hover{color:var(--pinkdark)}.wrap{max-width:1240px;margin:auto;padding-left:28px;padding-right:28px}.pill{border:1px solid #ead7de;background:#fff;color:#96536b;border-radius:999px;padding:10px 15px;font-size:13px;font-weight:800;display:inline-flex;align-items:center;gap:6px}.footer{background:#4d4246;color:#f8eef1;text-align:center;padding:36px 20px}.footer strong{font-family:Georgia,serif;font-size:22px}.footer p{color:#d9cbd0}.catHero{background:linear-gradient(112deg,#fff 0%,#fff8fa 50%,#faeaf0 100%);border-bottom:1px solid var(--line)}.catHeroInner{max-width:1240px;margin:auto;padding:40px 28px 34px}.crumb{font-size:12px;letter-spacing:.12em;color:#a27d89;font-weight:800;margin:15px 0}.catHero h1{font-family:Georgia,serif;font-size:64px;line-height:1;margin:0 0 14px}.catHero h1 em{font-style:normal;color:var(--accent)}.catHero p{max-width:780px;margin:0;color:#75676c;font-size:18px;line-height:1.6}.sectionHead{display:flex;justify-content:space-between;align-items:end;margin:28px 0 16px}.sectionHead h2{font-family:Georgia,serif;font-size:31px;margin:0}.sectionHead p{margin:0;color:#8b7c81;font-size:14px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding-bottom:32px}.card{padding:0;text-align:left;background:#fff;border:1px solid #f0e4e8;border-radius:18px;overflow:hidden;box-shadow:0 8px 25px rgba(88,56,67,.06);transition:.16s;color:inherit;cursor:pointer}.card:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(88,56,67,.11)}.cardImage{height:410px;background:var(--soft);display:flex;align-items:center;justify-content:center;overflow:hidden}.cardImage img{width:100%;height:100%;object-fit:contain;display:block}.cardCopy{padding:12px 14px 13px}.cardCopy h3{font-family:Georgia,serif;font-size:19px;margin:0 0 7px;line-height:1.2}.cardLink{display:flex;justify-content:space-between;border-top:1px solid #f2e7ea;padding-top:8px;color:var(--accent);font-size:11px;letter-spacing:.09em;font-weight:850}.catSwitch{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:0 0 50px}.catSwitch a{border:1px solid #eadde2;background:#fff;border-radius:16px;padding:16px 18px;color:#65565d}.catSwitch a:last-child{text-align:right}.catSwitch small{display:block;color:#a27d89;letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:850;margin-bottom:5px}.catSwitch strong{font-family:Georgia,serif;font-size:20px}.exTop{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-top:24px}.exHead{display:grid;grid-template-columns:1.12fr .88fr;gap:42px;align-items:start;padding:18px 0 32px}.viewer{background:var(--soft);border:1px solid var(--line);border-radius:22px;padding:12px;box-shadow:0 12px 34px rgba(88,56,67,.07)}.mainImageWrap{height:590px;border-radius:15px;overflow:hidden;background:#f7f2f4;display:flex;align-items:center;justify-content:center}.mainImage{width:100%;height:100%;object-fit:contain;display:block}.viewLabel{padding:11px 4px 0;display:flex;justify-content:space-between;align-items:center;color:#7d6c73;font-size:13px}.viewLabel strong{font-family:Georgia,serif;font-size:18px;color:var(--ink)}.exInfo{padding-top:12px}.eyebrow{font-size:12px;letter-spacing:.13em;color:var(--accent);font-weight:850;text-transform:uppercase;margin-bottom:10px}.exInfo h1{font-family:Georgia,serif;font-size:56px;line-height:1.03;margin:0 0 14px}.lead{font-size:18px;line-height:1.62;color:#71636a;margin:0 0 20px}.badges{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:21px}.badge{border-radius:999px;padding:7px 11px;font-size:11px;font-weight:850;letter-spacing:.05em;border:1px solid #eadde2;background:#fff7fa;color:#86616e}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:22px}.add{border:0;background:var(--accent);color:#fff;border-radius:999px;padding:13px 18px;font-weight:850;cursor:pointer}.add.added{background:#5f6f65}.quick{background:linear-gradient(135deg,#fff8fa,#fcecf2);border:1px solid #efdce3;border-radius:18px;padding:19px 20px}.quick h3{font-family:Georgia,serif;margin:0 0 9px;font-size:22px}.quick p{margin:0;color:#6f6066;line-height:1.5;font-size:14px}.gallery{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fffafa;padding:28px 0 31px}.gallery h2{font-family:Georgia,serif;font-size:28px;margin:0 0 6px}.gallery p{margin:0 0 17px;color:#84747a;font-size:14px}.thumbs{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.thumb{border:1px solid #eadce1;background:#fff;border-radius:14px;padding:8px;text-align:left;color:inherit;cursor:pointer}.thumb.active{border:2px solid var(--accent);padding:7px}.thumbImg{height:235px;background:#f7f2f4;border-radius:9px;display:flex;align-items:center;justify-content:center;overflow:hidden}.thumbImg img{width:100%;height:100%;object-fit:contain;display:block}.thumb span{display:block;font-size:12px;font-weight:750;margin:9px 4px 3px;color:#715f66}.instructions{padding:38px 0 46px;display:grid;grid-template-columns:1.15fr .85fr;gap:40px}.instructions h2{font-family:Georgia,serif;font-size:32px;margin:0 0 18px}.step{display:grid;grid-template-columns:40px 1fr;gap:13px;margin:16px 0}.stepN{width:36px;height:36px;border-radius:50%;background:#f8e4eb;color:var(--accent);display:flex;align-items:center;justify-content:center;font-weight:850}.step h3{margin:0 0 5px;font-size:16px}.step p{margin:0;color:#71636a;line-height:1.55;font-size:15px}.cues{background:#fbf7f8;border:1px solid var(--line);border-radius:20px;padding:23px}.cues h3{font-family:Georgia,serif;font-size:24px;margin:0 0 12px}.cue{padding:10px 0;border-bottom:1px solid #eee1e5;color:#66585e;line-height:1.5}.cue:last-child{border-bottom:0}.prevnext{border-top:1px solid var(--line);padding:22px 0 34px;display:grid;grid-template-columns:1fr auto 1fr;gap:14px;align-items:stretch}.navCard{border:1px solid #ecdee3;border-radius:15px;padding:15px 17px;background:#fff;color:#6c5d63}.navCard.right{text-align:right}.navCard small{display:block;color:#aa8794;font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin-bottom:4px}.navCard strong{font-family:Georgia,serif;font-size:18px}.centerBack{display:flex;align-items:center}.pendingNote{font-size:13px;color:#987783;margin-top:10px}@media(max-width:900px){.grid{grid-template-columns:repeat(2,1fr)}.exHead,.instructions{grid-template-columns:1fr}.mainImageWrap{height:510px}.thumbs{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.navlinks a:not(.workoutLink){display:none}.wrap{padding-left:18px;padding-right:18px}.grid{grid-template-columns:1fr}.cardImage{height:430px}.catHero h1{font-size:45px}.mainImageWrap{height:420px}.exInfo h1{font-size:43px}.thumbs{grid-template-columns:1fr}.prevnext{grid-template-columns:1fr}.centerBack{justify-content:center}}

/* Final QA: preserve full instructional anatomy */
.mainImage,.thumbImg img{object-fit:contain!important;object-position:center!important;}

/* Final rebuild: labels removed at source; no masking overlays */
.viewLabel,.view-label,.thumb-label{display:none!important;height:0!important;margin:0!important;padding:0!important;}

/* FINAL FULL-POSE RULE */
.mainImage,.thumbImg img{object-fit:contain!important;object-position:center!important;}
.viewLabel,.view-label,.thumb-label{display:none!important;}


/* PUBLISH-DAY POLISH */
.thumb{display:block;overflow:hidden}
.thumb img{width:100%;height:235px;object-fit:contain;display:block;border-radius:9px;background:#f7f2f4}
.gallery .thumbs{align-items:stretch}.gallery .thumb{min-width:0}
@media(max-width:900px){.nav{height:auto;min-height:68px;padding-top:10px;padding-bottom:10px}.exHead{gap:24px}}
@media(max-width:600px){.mainImageWrap{height:min(72vh,520px)}.thumb img{height:auto;max-height:420px}.gallery{padding-top:22px}.exInfo h1{font-size:40px}}
@media print{.topbar,.actions,.gallery,.prevnext{display:none!important}body{background:#fff}}


/* === IPHONE-FIRST PUBLISH PASS === */
html{
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
  overflow-x:hidden;
}
body{
  overflow-x:hidden;
  padding-left:env(safe-area-inset-left);
  padding-right:env(safe-area-inset-right);
}
img{max-width:100%;height:auto}
button,a{-webkit-tap-highlight-color:rgba(217,82,139,.12)}
button,input,select,textarea{font:inherit}
a,button{touch-action:manipulation}
@media (max-width: 600px){
  body{padding-bottom:env(safe-area-inset-bottom)}
  .wrap{width:min(100% - 28px,1180px)}
  .nav{
    min-height:64px;height:auto;
    padding-top:max(9px,env(safe-area-inset-top));
    padding-bottom:9px;
    gap:10px;
  }
  .brand{min-width:0;max-width:58vw}
  .brand img{max-width:100%;height:auto}
  .navlinks{gap:6px;flex-wrap:wrap;justify-content:flex-end}
  .navlinks a,.navlinks button{min-height:44px;padding:9px 10px}
  .hero{padding-top:26px;padding-bottom:30px}
  .hero h1,.exInfo h1{
    font-size:clamp(34px,10vw,46px);
    line-height:1.02;
    overflow-wrap:anywhere;
  }
  .hero p,.exInfo p{font-size:16px;line-height:1.55}
  .categoryGrid,.grid,.cards{
    grid-template-columns:1fr!important;
    gap:18px!important;
  }
  .card,.categoryCard{border-radius:20px}
  .card a,.categoryCard a{min-height:44px}
  .exHead{
    grid-template-columns:1fr!important;
    gap:20px!important;
    padding-top:22px!important;
  }
  .mainImageWrap{
    width:100%;
    height:min(68vh,510px)!important;
    min-height:320px;
    border-radius:20px;
  }
  .mainImage{
    width:100%;height:100%;
    object-fit:contain!important;
    object-position:center center;
  }
  .actions{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
  }
  .actions a,.actions button,.btn{
    width:100%;
    min-height:48px;
    justify-content:center;
  }
  .gallery{padding-top:20px!important}
  .gallery .thumbs{
    display:flex!important;
    overflow-x:auto;
    overflow-y:hidden;
    gap:12px!important;
    padding:4px 2px 12px;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }
  .gallery .thumbs::-webkit-scrollbar{display:none}
  .gallery .thumb{
    flex:0 0 min(72vw,260px)!important;
    width:min(72vw,260px)!important;
    min-height:180px;
    scroll-snap-align:center;
    border-radius:16px;
  }
  .gallery .thumb img{
    width:100%!important;
    height:210px!important;
    object-fit:contain!important;
  }
  .prevnext{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
  }
  .prevnext a{
    min-height:48px;
    display:flex;align-items:center;
    padding:12px 14px;
  }
  footer.footer{padding-bottom:calc(28px + env(safe-area-inset-bottom))}
  table{max-width:100%}
}
@media (max-width: 430px){
  .wrap{width:calc(100% - 24px)}
  .exInfo h1{font-size:clamp(32px,9.5vw,42px)}
  .mainImageWrap{height:min(64vh,480px)!important}
}
@media (max-width: 390px){
  .wrap{width:calc(100% - 20px)}
  .brand{max-width:54vw}
  .navlinks a,.navlinks button{font-size:13px;padding:8px}
  .mainImageWrap{height:min(61vh,450px)!important;min-height:300px}
  .gallery .thumb{flex-basis:78vw!important;width:78vw!important}
}
@media (max-width: 375px){
  .hero h1,.exInfo h1{font-size:34px}
  .mainImageWrap{height:420px!important}
  .gallery .thumb{flex-basis:80vw!important;width:80vw!important}
}
/* Planner/mobile tables: never force the viewport wider. */
@media (max-width:600px){
  .workoutGrid,.plannerGrid{grid-template-columns:1fr!important}
  .workoutCard,.plannerCard{min-width:0!important}
  .tableWrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
}
