/* Approved strength website palette, 2026-11-05. */
:root{--ink:#171716;--acid:#F4C64E;--paper:#E9E5DA;--muted:#BAB7AC;--line:#858579;--panel:#242421;--soft:#33332E;--on-accent:#241B05;--accent-hover:#FFDA73;--accent-pressed:#DBAE35;--inset-muted:#40371F;--inset-line:#6C5A2E}
body.katerina-site{background:var(--ink);color:var(--paper)}
.katerina-site .hero{background:var(--ink);color:var(--paper)}
.katerina-site .hero .shade{background:linear-gradient(90deg,#171716aa,transparent 80%),linear-gradient(0deg,#17171699,transparent 55%)}
.katerina-site .start-header{color:var(--paper);border-color:#85857966}
.katerina-site .graphite-page,.katerina-site .cream-page,.katerina-site .collage-section,.katerina-site .spiral-section,.katerina-site .site-footer,.katerina-site #contact{background:var(--ink);color:var(--paper)}
.katerina-site .acid-page:not(#contact),.katerina-site #pricing,.katerina-site #faq{background:var(--acid);color:var(--ink)}
.katerina-site .fitness-section,.katerina-site .big-words .word-a{background:var(--acid)}
.katerina-site .letter-backdrop{background:var(--ink)}
.katerina-site .fitness-caption,.katerina-site .big-words em{color:var(--paper)}
.katerina-site .action{background:var(--acid);color:var(--on-accent);border-color:var(--acid)}
.katerina-site .action:hover{background:var(--accent-hover);border-color:var(--accent-hover)}
.katerina-site .action:active{background:var(--accent-pressed);border-color:var(--accent-pressed)}
.katerina-site .action-dark{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.katerina-site .action-dark:hover{background:var(--soft);color:var(--paper);border-color:var(--soft)}
.katerina-site #contact .action-dark{background:var(--acid);color:var(--on-accent);border-color:var(--acid)}
.katerina-site #contact .action-dark:hover{background:var(--accent-hover);border-color:var(--accent-hover)}
.katerina-site .menu nav a:hover{color:var(--inset-muted)}
.katerina-site .nutrition-lines p{border-color:#85857966}.katerina-site .nutrition-lines span{color:var(--muted)}
.katerina-site .price-grid,.katerina-site .price-grid article+article,.katerina-site .faq-list details{border-color:#6C5A2E88}
.katerina-site .faq-list details p,.katerina-site .price-grid p{color:var(--inset-muted)}
.katerina-site .method-list p,.katerina-site .app-features li,.katerina-site .site-footer{border-color:#85857966}
.katerina-site .spiral-heading{border-color:#85857966}.katerina-site .spiral-card{color:var(--paper)}
.katerina-site .device-orbit{border-color:#F4C64E38}
.katerina-site dialog{background:var(--paper);color:var(--ink)}
.katerina-site dialog input,.katerina-site dialog textarea,.katerina-site dialog select{background:var(--paper);color:var(--ink);border-color:var(--inset-line)}
.katerina-site dialog input::placeholder,.katerina-site dialog textarea::placeholder{color:var(--inset-muted);opacity:1}
.katerina-site :focus-visible{outline-color:currentColor}
/* The phone illustrates the app; its unapproved colors stay exactly as before. */
.katerina-site .phone{--ink:#191a1c;--acid:#e2fb37;--paper:#efede6;--muted:#a8a9a3;--line:#ffffff26}
@media(max-width:700px){.katerina-site .price-grid article{border-color:#6C5A2E88}}

.katerina-site .fitness-section{color:var(--ink)}

/* Two text colors on the existing section surface, without added backings. */
.katerina-site :is(#approach,#nutrition,#app,#start,#contact) h2 em{color:var(--acid)}
.katerina-site :is(#nutrition,#app,#contact) .eyebrow,.katerina-site .header-caption{color:var(--acid)}
.katerina-site :is(#goals,#programs,#stories,#pricing,#faq) h2 em{color:var(--paper)}
.katerina-site .big-words em,.katerina-site .fitness-caption{color:var(--paper)}
.katerina-site .spiral-heading h2,.katerina-site .case-label b,.katerina-site .site-footer>div p:first-child,.katerina-site .site-footer>a:last-of-type{color:var(--acid)}
.katerina-site .menu nav small{color:var(--ink)}
/* Shared, sharp-edged CTA and dock dimensions. */
:root{--control-width:310px;--control-height:54px}
.katerina-site .dock{width:var(--control-width);height:var(--control-height);border-radius:0;transition:none}
.katerina-site :is(.action,.center-buttons a,.hero-play){display:inline-flex;align-items:center;justify-content:space-between;width:var(--control-width);max-width:100%;height:var(--control-height);box-sizing:border-box;border-radius:0;padding:0 22px;gap:14px;line-height:1.2}
@media(max-width:700px){:root{--control-width:245px;--control-height:46px}}
/* Editorial heading stays behind the moving helix on narrow screens. */
.katerina-site #spiral .spiral-heading{top:10%;left:6%;right:auto;width:56%;z-index:1;display:block;border:0;padding:0}
.katerina-site #spiral .spiral-heading h2{font:650 clamp(64px,7.8vw,130px)/.96 Jost,sans-serif;letter-spacing:-.055em;color:var(--paper)}
.katerina-site #spiral .spiral-heading h2 em{font-weight:350;font-style:normal;color:var(--acid)}
.katerina-site #spiral .spiral-anchor{left:68%;top:55%;z-index:3}
.katerina-site #soundButton{position:relative;appearance:none;-webkit-appearance:none;border:0;outline:none;box-shadow:none;-webkit-tap-highlight-color:transparent}
.katerina-site #soundButton:focus,.katerina-site #soundButton:active{outline:none;box-shadow:none}
.katerina-site #soundButton::-moz-focus-inner{border:0}
.katerina-site #soundButton:focus-visible:after{content:'';position:absolute;left:4px;right:4px;bottom:-3px;height:2px;background:currentColor}
@media(max-width:700px){.katerina-site #spiral .spiral-heading{top:10%;width:88%}.katerina-site #spiral .spiral-heading h2{font-size:clamp(44px,12vw,64px)}.katerina-site #spiral .spiral-anchor{left:58%;top:51%}}
@media(prefers-reduced-motion:reduce){.katerina-site #spiral .spiral-heading{position:relative;inset:auto;width:100%;margin-bottom:32px}.katerina-site #spiral .spiral-anchor{position:relative;inset:auto;width:100%;transform:none}}
