/* App-style navigation and original, scalable Boring Works illustrations. */
body{padding-bottom:105px}
.header-campaign{position:absolute;left:50%;transform:translateX(-50%);font-size:12px;font-weight:600;letter-spacing:-.02em;white-space:nowrap;color:var(--taupe)}
.header-campaign span{color:var(--bone)}
.app-dock{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);z-index:50;display:flex;gap:5px;padding:7px;border:1px solid rgb(233 230 221 / 18%);border-radius:22px;background:rgb(23 25 24 / 92%);box-shadow:0 12px 50px #0008,0 1px 0 #ffffff0c inset;backdrop-filter:blur(24px)}
.app-dock>a,.app-dock>button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-width:81px;min-height:59px;padding:8px 13px;border:0;border-radius:15px;background:transparent;font:500 10px/1.2 "Nimbus Sans",sans-serif;color:#a5a99e;cursor:pointer;transition:color .2s,background .25s,transform .25s}
.app-dock svg{width:20px;height:20px}.app-dock>a:hover,.app-dock>button:hover{background:#ffffff09;color:var(--bone);transform:translateY(-2px)}
.app-dock>a[aria-current]{background:var(--olive);color:var(--bone)}
.app-dock:focus-within{border-color:var(--taupe)}
.section-menu{position:fixed;inset:auto 0 112px;margin-inline:auto;width:min(570px,calc(100% - 32px));max-width:none;max-height:70dvh;padding:28px;border-radius:24px;background:#171b16;border-color:#42533b70;overflow-y:auto;box-shadow:0 20px 80px #0009}
.section-menu[open]{animation:sheet-in .25s var(--ease)}
.section-menu::backdrop{background:#0009;backdrop-filter:blur(7px)}
.section-menu-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:23px}.menu-kicker{font-size:9px;letter-spacing:.15em;color:var(--taupe);margin-bottom:8px}.section-menu h2{font-size:34px;margin:0;font-weight:500;letter-spacing:-.05em}.close-sections{width:38px;height:38px;border:1px solid var(--line);border-radius:50%;background:none;color:var(--bone);font:24px/1 "Nimbus Sans",sans-serif;cursor:pointer}
.section-menu nav{display:grid;grid-template-columns:1fr 1fr;gap:3px 18px}.section-menu nav a{display:flex;align-items:center;gap:13px;min-height:61px;border-bottom:1px solid var(--line);font-size:12px;color:var(--bone);transition:color .2s}.section-menu nav a>span:first-child{color:var(--taupe);font-size:9px}.section-menu nav a>span:last-child{margin-left:auto;color:var(--olive)}.section-menu nav a:hover{color:#a6b58d}
@keyframes sheet-in{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
/* Questions have a clear hierarchy over the explanatory text. */
.accordion summary,.about-grid .accordion summary,.approach-section .accordion summary,.faq-section .accordion summary{font-weight:750;color:#d8ccb8}
.accordion[open] summary{padding-bottom:23px}
.answer,.about-grid .answer{font-weight:400;color:#b3b6ac;border-left:2px solid var(--olive);margin:2px 0 28px 3px;padding:4px 30px 1px 21px;max-width:100%}
.answer p:first-child{margin-top:0}.answer p:last-child{margin-bottom:4px}.answer strong{font-weight:650;color:#d1d3c9}.faq-section .answer{color:#c8b7b9;border-color:#b78e95}.answer h3,.answer h4{color:#d5d7ce;font-weight:550}
/* Equipment moves through an open composition, never through body copy. */
.equipment-stage{position:relative;isolation:isolate;overflow:hidden;min-height:430px;display:grid;place-items:center;border-block:1px solid var(--line);background:radial-gradient(ellipse at center,#222a1c88,transparent 62%);margin-bottom:65px}
.equipment-copy{position:relative;z-index:2;text-align:center;padding:70px 20px;pointer-events:none}.equipment-kicker{font-size:10px;letter-spacing:.18em;color:var(--taupe)}.equipment-copy p{font:500 clamp(45px,5.8vw,83px)/1.04 "Nimbus Sans",sans-serif;letter-spacing:-.065em;margin-top:23px;color:var(--bone)}.equipment-copy p>span{color:#42533b}
.equipment-orbit{position:absolute;left:50%;top:50%;width:74%;height:66%;border:1px solid #42533b30;border-radius:50%;transform:translate(-50%,-50%) rotate(-13deg);pointer-events:none}
.floating-equipment{position:absolute;pointer-events:none;z-index:1;filter:drop-shadow(0 28px 18px #0007);transform:translate3d(0,var(--float-y,0px),0) rotate(var(--float-r,0deg));will-change:transform}
.floating-equipment svg{width:100%;height:auto;overflow:visible}.float-dumbbell{width:clamp(180px,25vw,355px);left:4%;top:20%}.float-kettlebell{width:clamp(130px,17vw,230px);right:7%;top:15%}
/* The same typography and palette as the page, rendered as native vector art. */
.feature-art{height:300px;padding:0 0 25px;max-width:100%;background:radial-gradient(ellipse at center,#42533b0d,transparent 72%)}
.program-illustration{width:100%;height:100%;overflow:visible}.program-illustration text{font-family:"Nimbus Sans",sans-serif;fill:var(--bone)}.program-illustration .art-label{font-size:10px;letter-spacing:1px;font-weight:600}.program-illustration .art-number{font:700 64px/1 "Nimbus Sans",sans-serif;letter-spacing:-2px}.program-illustration .art-caption{font-size:9px;letter-spacing:1.5px;fill:var(--taupe)}.program-illustration .art-screen-title{font-size:16px;letter-spacing:-.6px;font-weight:500}.program-illustration .art-badge-text{font-size:8px;fill:var(--charcoal);font-weight:700;letter-spacing:.3px}.art-grid{stroke:#42533b33;stroke-width:1;fill:none}.art-route{stroke:#42533b;stroke-width:1;stroke-dasharray:4 5;fill:none}.art-orbit{stroke:#42533b45;stroke-width:1;fill:none}
.cycle-card,.phone-art,.digital-badge,.message-one,.message-two{transition:transform .6s var(--ease)}.feature-grid article:hover .cycle-one{transform:translateY(-3px)}.feature-grid article:hover .cycle-two{transform:translateY(-8px)}.feature-grid article:hover .cycle-three{transform:translateY(-13px)}.feature-grid article:hover .digital-badge{transform:translate(5px,-4px)}.feature-grid article:hover .message-one{transform:translate(-3px,-5px)}.feature-grid article:hover .message-two{transform:translate(3px,5px)}
@media(max-width:1100px){.header-campaign{left:44%;font-size:11px}.float-dumbbell{left:1%;width:24vw}.float-kettlebell{right:3%;width:17vw}.feature-art{height:245px}}
@media(max-width:760px){
 body{padding-bottom:calc(95px + env(safe-area-inset-bottom))}.site-header nav>a:not(.nav-cta){display:none}.header-campaign{position:static;transform:none;margin-left:auto;font-size:10px;line-height:1.5;white-space:normal;max-width:70px}.header-campaign span{display:block}.site-header{gap:17px}
 .app-dock{bottom:calc(12px + env(safe-area-inset-bottom));gap:2px;padding:5px;border-radius:20px;width:min(440px,calc(100% - 26px));justify-content:space-between}.app-dock>a,.app-dock>button{min-width:0;flex:1;min-height:57px;padding:7px 5px;gap:5px;font-size:9px;border-radius:14px}.app-dock svg{width:19px;height:19px}
 .section-menu{bottom:calc(98px + env(safe-area-inset-bottom));padding:23px;max-height:68dvh}.section-menu nav{grid-template-columns:1fr}.section-menu nav a{min-height:48px;font-size:13px}.section-menu-head{margin-bottom:14px}
 .answer,.about-grid .answer{padding:3px 5px 1px 15px;margin-bottom:24px;font-size:14px}.accordion summary,.about-grid .accordion summary,.approach-section .accordion summary,.faq-section .accordion summary{font-size:16px}.accordion[open] summary{padding-bottom:22px}
 .equipment-stage{min-height:390px;margin-bottom:24px;align-items:start}.equipment-copy{padding:52px 0 155px}.equipment-copy p{font-size:46px;margin-top:16px}.equipment-kicker{font-size:8px}.equipment-orbit{top:62%;width:110%;height:42%}.float-dumbbell{width:175px;left:-5%;top:auto;bottom:19px}.float-kettlebell{width:112px;right:4%;top:auto;bottom:17px}
 .feature-art{height:290px;max-width:360px;width:100%;margin-bottom:30px}
}
@media(max-width:380px){.site-header{gap:10px}.header-campaign{font-size:9px}.site-header .nav-cta{font-size:9px;padding:9px}.app-dock>a,.app-dock>button{font-size:8px}.equipment-copy p{font-size:41px}.float-dumbbell{width:155px}.float-kettlebell{width:100px}.feature-art{height:255px}}
@media(prefers-reduced-motion:reduce){.floating-equipment{transform:none;will-change:auto}.section-menu[open]{animation:none}}
@media print{body{padding-bottom:0}.app-dock,.section-menu,.equipment-stage{display:none}.answer{border-color:#777}}
