/* Shared refinement layer. Layouts, content and existing image framing stay intact. */
html{color-scheme:dark}
body{color:var(--onyx-text);line-height:1.7}
::selection{background:#00ff6638;color:#f3fff7}
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:2px solid var(--onyx-accent);outline-offset:3px}
.onyx-typography h1,.onyx-typography h2{letter-spacing:-.035em;line-height:1.1}
.onyx-typography h1{font-size:clamp(2.45rem,6.7vw,6.1rem);max-width:18ch}
.onyx-typography h2{font-size:clamp(1.9rem,3.8vw,3.35rem)}
.onyx-typography h3{font-size:clamp(1.15rem,1.8vw,1.55rem);letter-spacing:-.018em;line-height:1.28}
.onyx-typography .lead{line-height:1.65;max-width:65ch;color:#d1dfd6}
.eyebrow,.schedule-tag,.status-pill{font-family:"IBM Plex Mono",Consolas,monospace;font-size:.7rem;letter-spacing:.14em;line-height:1.7}
.section-head p,.card p,.feature p{line-height:1.75;color:var(--onyx-muted)}
.blog-article p,.policy-content p{max-width:72ch;line-height:1.85}
.section-head{margin-bottom:clamp(1.75rem,4vw,3.25rem)}
.section::before{opacity:.025}
.section:nth-of-type(even)::before{opacity:.025}
.site-header{background:#050805ed;box-shadow:0 8px 24px -20px #000;backdrop-filter:blur(12px)}
.menu a:not(.join-now){position:relative;border-color:transparent;border-radius:6px}
.menu a:not(.join-now)::after{content:'';position:absolute;left:.8rem;right:.8rem;bottom:.3rem;height:2px;background:var(--onyx-accent);transform:scaleX(0);transform-origin:left;transition:transform var(--onyx-normal) var(--onyx-ease)}
.menu a[aria-current=page]:not(.join-now){background:#00ff6609;color:var(--onyx-accent-soft)}
.menu a[aria-current=page]:not(.join-now)::after,.menu a:not(.join-now):hover::after,.menu a:not(.join-now):focus-visible::after{transform:scaleX(1)}
.button,.menu-button,.graphic-motion-toggle{border-radius:var(--onyx-field-radius);transition:transform var(--onyx-fast) var(--onyx-ease),background-color var(--onyx-fast),border-color var(--onyx-fast),box-shadow var(--onyx-normal);font-weight:700;letter-spacing:.055em}
.button{box-shadow:inset 0 1px 0 #ffffff25,0 8px 24px -18px #00ff6680}
.button.secondary{background:#0b1510;border-color:#34503d;color:var(--onyx-text);box-shadow:inset 0 1px 0 #ffffff05}
.button:active:not(:disabled){transform:translateY(0) scale(.985);box-shadow:inset 0 1px 3px #0003}
.button:disabled,.button[aria-disabled=true]{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}
.button svg,.card-link svg{transition:transform var(--onyx-normal) var(--onyx-ease)}
.button:hover svg,.card-link:hover svg{transform:translateX(2px)}
.card,.purchase-card,.chooser-panel,.trial-form,.contact-form,.coach-form{border:1px solid #26362c;border-radius:var(--onyx-panel-radius);background:linear-gradient(150deg,#101912,#0a100c 70%);box-shadow:inset 0 1px 0 #ffffff05,var(--onyx-shadow)}
.card{transition:transform var(--onyx-normal) var(--onyx-ease),border-color var(--onyx-normal),box-shadow var(--onyx-normal)}
.card::after{display:none}
.feature{background:#0c130e;border-color:#26362c;border-left-color:#00ff6680;border-radius:0 var(--onyx-panel-radius) var(--onyx-panel-radius) 0;box-shadow:none}
.trust-strip{background:#0b120e;border-radius:var(--onyx-panel-radius);box-shadow:var(--onyx-shadow)}
.schedule-row{transition:border-color var(--onyx-fast),background-color var(--onyx-fast);border-radius:4px}
.shop-card{border-radius:0;box-shadow:none;transform:none}
.shop-variant,.progress-toolbar label{line-height:1.6}
:where(.field,.coach-form,.contact-form,.trial-form,.shop-form-grid,.chooser-fields) :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=file]):not([type=submit]),select,textarea),.progress-toolbar input,.shop-variant select{
  min-height:48px;border:1px solid var(--onyx-line);border-radius:var(--onyx-field-radius);background-color:var(--onyx-surface);color:var(--onyx-text);padding:.8rem .95rem;font:inherit;font-size:1rem;line-height:1.5;box-shadow:inset 0 1px 0 #ffffff04;transition:border-color var(--onyx-fast),box-shadow var(--onyx-fast),background-color var(--onyx-fast)
}
select{color-scheme:dark;accent-color:var(--onyx-accent)}
select option{background:var(--onyx-surface);color:var(--onyx-text)}
input::placeholder,textarea::placeholder{color:#869d8e;opacity:1}
:where(input,select,textarea):hover:not(:disabled){border-color:var(--onyx-line-hover)}
:where(input,select,textarea):focus-visible{border-color:var(--onyx-accent);box-shadow:var(--onyx-focus)}
:where(input,select,textarea):is(:disabled,[readonly]){opacity:.6;cursor:not-allowed}
:where(input,select,textarea)[aria-invalid=true],:where(input,select,textarea):user-invalid{border-color:#ed8f89;box-shadow:0 0 0 3px #ed8f8910}
input[type=checkbox],input[type=radio]{accent-color:var(--onyx-accent);width:20px;height:20px;min-width:20px;flex-shrink:0}
input[type=checkbox]{appearance:none;border:1px solid #50715b;border-radius:5px;background:#080e0a;cursor:pointer}
input[type=checkbox]:checked{border-color:var(--onyx-accent);background:var(--onyx-accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' fill='none' stroke='%23041008' stroke-width='2.4'%3E%3Cpath d='m4 9 3 3 7-7'/%3E%3C/svg%3E") center/18px no-repeat}
.contact-check{align-items:flex-start;gap:.75rem;line-height:1.6}
.contact-check input{margin-top:.2rem}
.graphic-motion-toggle[aria-pressed=true]{border-color:#427052;color:var(--onyx-accent-soft);background:#102c1b}
.motion-ready .motion-reveal{clip-path:none;transform:translateY(12px);transition:opacity var(--onyx-enter) var(--onyx-ease),transform var(--onyx-enter) var(--onyx-ease)}
.motion-ready .motion-reveal.is-visible{transform:none}
.onyx-typography .heading-mask{overflow:visible}
@keyframes onyx-page-entry{from{opacity:.45;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes onyx-menu-entry{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:no-preference){main>.page-hero>.wrap,main>.hero .hero-content{animation:onyx-page-entry var(--onyx-enter) var(--onyx-ease) both}.shop-select-menu{animation:onyx-menu-entry var(--onyx-fast) var(--onyx-ease)}}
@media(hover:hover) and (pointer:fine){.button:hover:not(:disabled){transform:translateY(-1px);box-shadow:inset 0 1px 0 #ffffff30,0 10px 28px -18px #00ff6680}.card:hover,.card:focus-within{transform:translateY(-3px);border-color:#42654d;box-shadow:var(--onyx-shadow-raised)}.schedule-row:hover{transform:none;background:#0e1b13;border-color:#34503d}}
@media(hover:none){.button:hover,.card:hover,.card:focus-within,.schedule-row:hover{transform:none}}
@media(max-width:800px){.onyx-typography h2{font-size:clamp(1.9rem,6.3vw,2.8rem)}.site-header .menu[data-open]{animation:onyx-menu-entry var(--onyx-normal) var(--onyx-ease)}.site-header .menu a{border-radius:8px}.section::before,.section:nth-of-type(even)::before{opacity:.025}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.motion-ready .motion-reveal{opacity:1;transform:none;clip-path:none}.button:hover,.button:active,.card:hover,.card:focus-within{transform:none}.menu a::after{transition:none}}
@media(forced-colors:active){input[type=checkbox]{appearance:auto}.button,.card,input,select,textarea{border-color:CanvasText;box-shadow:none}.shop-select-menu [aria-selected=true]{background:Highlight;color:HighlightText}}

/* Beat the legacy .field :focus reset without suppressing keyboard outlines. */
.field :is(input,select,textarea):focus-visible,.chooser-fields select:focus-visible,.coach-form :is(input,select,textarea):focus-visible{outline:2px solid var(--onyx-accent);outline-offset:3px;border-color:var(--onyx-accent);box-shadow:var(--onyx-focus)}
/* Support remains available without competing with the primary page action. */
.onyx-typography .onyx-whatsapp-float{border-radius:999px;min-height:48px;box-shadow:0 8px 24px -16px #000b;font-size:.7rem}
.onyx-typography .onyx-chat-launch{min-height:48px;border:1px solid #335741;border-radius:999px;background:#0b1510;color:var(--onyx-text);padding:.5rem .9rem;gap:.65rem;box-shadow:0 8px 24px -16px #000b;transition:border-color var(--onyx-fast),background-color var(--onyx-fast)}
.onyx-typography .onyx-chat-launch:hover{border-color:#00ff66;background:#102218}
.onyx-typography .onyx-chat-mark{width:28px;height:28px;min-width:28px;border-radius:5px}
.onyx-typography .onyx-chat-launch-copy small{color:var(--onyx-muted);font-size:.55rem;letter-spacing:.06em}
.onyx-typography .onyx-chat-launch-copy>span{color:var(--onyx-text);font-size:.82rem;line-height:1.3}
@media(max-width:600px){.onyx-typography .onyx-whatsapp-float{left:12px;width:48px;height:48px;min-height:48px;padding:12px;gap:0}.onyx-typography .onyx-whatsapp-float>span{display:none}.onyx-typography .onyx-chat-wrap{right:12px}.onyx-typography .onyx-chat-launch{max-width:148px;padding:.5rem .8rem}.onyx-typography .onyx-chat-launch-copy small{display:none}}

/* Short editorial section rules give the reveal a visible destination. */
.section-head{position:relative;padding-top:1.4rem}
.section-head::after{content:'';position:absolute;left:0;top:0;width:72px;height:2px;background:var(--onyx-accent);transform-origin:left;transform:scaleX(.25);transition:transform 650ms var(--onyx-ease)}
.section-head.is-sequence-visible::after{transform:scaleX(1)}
.progress-toolbar{border-radius:var(--onyx-panel-radius);border-top:2px solid var(--onyx-accent);box-shadow:inset 0 1px 0 #ffffff06,0 16px 40px -28px #000}
.shop-select-trigger[aria-expanded=true]{border-color:var(--onyx-accent);background:#102218;box-shadow:var(--onyx-focus)}
.button.secondary{border-color:#45634f;box-shadow:inset 0 1px 0 #ffffff08}
.button:focus-visible,.button.secondary:hover{border-color:var(--onyx-accent)}
@media(prefers-reduced-motion:no-preference){.motion-depth>.image-seo-hero,.motion-depth>.page-image-hero,.motion-depth>.hero-video{transform:translate3d(0,var(--hero-depth,0px),0) scale(1.055)}}
@media(prefers-reduced-motion:reduce){.section-head::after{transform:none;transition:none}}

/* Black glass action buttons with a restrained green lower edge. */
.onyx-typography .button,.onyx-typography .button.secondary,.onyx-typography .button.ghost,.onyx-typography .menu a.join-now{
  --action-glow:var(--onyx-button-glow);
  border:1px solid transparent;border-radius:var(--onyx-button-radius);
  background:radial-gradient(ellipse at 50% 125%,rgb(0 255 102 / var(--action-glow)),transparent 66%) padding-box,linear-gradient(var(--onyx-button-surface),var(--onyx-button-surface)) padding-box,var(--onyx-button-edge) border-box;
  color:var(--onyx-button-text);box-shadow:var(--onyx-button-shadow);
  font-weight:650;letter-spacing:.005em;text-transform:none;text-decoration:none;text-align:center;
  transition:transform var(--onyx-fast) var(--onyx-ease),box-shadow var(--onyx-normal) var(--onyx-ease),color var(--onyx-fast);
}
.onyx-typography .button:not(.onyx-whatsapp-float){min-height:52px;padding:.85rem 1.5rem;font-size:.94rem;line-height:1.4}
.onyx-typography .menu a.join-now{font-size:.8rem;line-height:1.4}
.onyx-typography .button.secondary,.onyx-typography .button.ghost{--action-glow:.1}
.onyx-typography .button::after,.onyx-typography .menu a.join-now::after{display:none}
.onyx-typography .button:focus-visible,.onyx-typography .menu a.join-now:focus-visible{outline:2px solid var(--onyx-accent);outline-offset:4px;box-shadow:var(--onyx-button-shadow),0 0 0 5px #00ff6614}
.onyx-typography .button:active:not(:disabled):not([aria-disabled=true]),.onyx-typography .menu a.join-now:active{transform:scale(.985);box-shadow:inset 0 2px 8px #000b}
.onyx-typography .button:is(:disabled,[aria-disabled=true]){opacity:.48;cursor:not-allowed;transform:none;--action-glow:0;box-shadow:none}
@media(hover:hover) and (pointer:fine){
  .onyx-typography .button:hover:not(:disabled):not([aria-disabled=true]),.onyx-typography .menu a.join-now:hover{transform:translateY(-1px);box-shadow:inset 0 1px 0 #ffffff12,0 8px 22px -14px #00ff6666}
}
@media(prefers-reduced-motion:reduce){.onyx-typography .button,.onyx-typography .menu a.join-now{transition:none}.onyx-typography .button:is(:hover,:active),.onyx-typography .menu a.join-now:is(:hover,:active){transform:none}}
@media(forced-colors:active){.onyx-typography :is(.button,.button.secondary,.button.ghost,.menu a.join-now){background:ButtonFace;color:ButtonText;border:1px solid ButtonText;box-shadow:none;forced-color-adjust:auto}}

/* Editorial testimonials: dimensional panels with upright, readable content. */
.google-reviews .review-grid{gap:2rem;align-items:stretch;margin-top:3.25rem}
.card.review-card{position:relative;isolation:isolate;display:flex;flex-direction:column;align-items:center;min-width:0;padding:3.65rem 2rem 3.75rem;background:none;border:0;border-radius:0;box-shadow:none;text-align:center;overflow:visible}
.card.review-card::before{content:"";position:absolute;inset:.5rem .55rem;z-index:-1;pointer-events:none;border:1px solid #ffffff09;border-radius:24px;background:#181d19;box-shadow:inset 0 1px 0 #ffffff04,0 20px 40px -24px #000c;transform:perspective(900px) rotateY(-9deg) rotateX(2deg)}
.card.review-card::after{content:"";display:block;position:absolute;opacity:1;transition:none;z-index:1;top:-.65rem;left:.6rem;width:66px;height:66px;border:1px solid #83ee9c20;border-radius:50%;background:#244c2d url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='%2385ec9b'%3E%3Cpath d='M4%2017C4%209%208%205%2014%204v4c-4%201-6%203-6%206h6v13H4V17zm16%200c0-8%204-12%2010-13v4c-4%201-6%203-6%206h6v13H20V17z'/%3E%3C/svg%3E") center/30px 30px no-repeat;box-shadow:0 8px 18px -12px #0009;pointer-events:none}
.review-card>p{order:0;margin:0 0 .65rem;font-size:.82rem;line-height:1.6;color:var(--onyx-muted)}
.review-card>p strong{display:block;margin-bottom:.2rem;color:var(--onyx-text);font-size:1.08rem;font-weight:700;line-height:1.4;letter-spacing:-.015em}
.review-card>p strong a{color:inherit;text-decoration-color:#85ec9b80;text-underline-offset:4px}
.review-card .review-stars{order:1;color:#f6c453;font-size:1.25rem;line-height:1.3;letter-spacing:.12em}
.review-card blockquote{order:2;margin:1.2rem 0 0;padding:0;border:0;font-size:1rem;font-weight:400;line-height:1.75;color:#e1e9e3}
.review-card blockquote::after{content:"";position:absolute;right:1.8rem;bottom:1.35rem;width:30px;height:30px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='%23cbf4d3'%3E%3Cpath d='M2%205h10v10c0%208-4%2012-10%2013v-4c4-1%206-3%206-6H2V5zm16%200h10v10c0%208-4%2012-10%2013v-4c4-1%206-3%206-6h-6V5z'/%3E%3C/svg%3E") center/contain no-repeat;pointer-events:none}
.card.review-card:hover,.card.review-card:focus-within{transform:none;background:none;border-color:transparent;box-shadow:none}
.contextual-review .review-card{max-width:46rem;margin:2.75rem auto 0;padding-inline:clamp(2rem,7vw,4rem)}
.contextual-review .review-card::before{transform:perspective(1200px) rotateY(-4deg) rotateX(1deg)}
@media(max-width:800px){.google-reviews .review-grid{gap:2.75rem;max-width:34rem;margin-inline:auto}.card.review-card{padding:3.65rem 1.9rem 3.75rem}.card.review-card::before{transform:perspective(900px) rotateY(-6deg) rotateX(1deg)}.review-card blockquote{font-size:.96rem}.contextual-review .review-card{padding-inline:1.9rem}}
@media(forced-colors:active){.card.review-card{border:1px solid CanvasText;border-radius:20px;background:Canvas;color:CanvasText}.card.review-card::before,.card.review-card::after,.review-card blockquote::after{display:none}.review-card blockquote,.review-card>p,.review-card>p strong,.review-card .review-stars{color:CanvasText}}


/* Data-entry typography: native fields and accessible custom select menus. */
input:not([type="button"]):not([type="submit"]):not([type="reset"]),
select,option,optgroup,textarea,
[contenteditable=""],[contenteditable="true"],[contenteditable="plaintext-only"],
[role="textbox"],[role="searchbox"],[role="combobox"],[role="listbox"],[role="option"]{
  font-family:var(--onyx-font-input)!important;
}
input::placeholder,textarea::placeholder{font-family:var(--onyx-font-input)}
