/* Mandatory measured Bevel contract. See /Design.md and design-contract.json. */
:root{--bevel-font:-apple-system,system-ui,Inter,"Segoe UI",sans-serif;--bevel-ink:#222326;--bevel-action:#1f2025;--bevel-paper:#fff;--bevel-canvas:#f3f6f7;--bevel-cloud:#ebf0f8;--bevel-body:#747679;--bevel-secondary:#616265;--bevel-outline:#cacbce;--bevel-hero:clamp(48px,2.857vw + 38.864px,80px);--bevel-section:clamp(40px,2.143vw + 33.136px,64px);--bevel-feature:clamp(32px,.714vw + 29.712px,40px);--bevel-copy:clamp(20px,.357vw + 18.864px,24px);--bevel-out:cubic-bezier(.19,1,.22,1);--ink:var(--bevel-ink);--muted:var(--bevel-body)}
body{font-family:var(--bevel-font);color:var(--bevel-ink);background:var(--bevel-canvas);font-weight:400}input,select,textarea,button{font-family:inherit}p{color:var(--bevel-body)}h1,h2,h3{font-family:var(--bevel-font)}.site-header{position:fixed;top:16px}.navigation{width:max-content;max-width:calc(100% - 32px);gap:32px;padding:8px 8px 8px 20px;border:0;border-radius:32px;background:#ffffffb8;backdrop-filter:blur(20px)}.navigation-links{margin:0;gap:26px;font-size:16px;font-weight:500;line-height:1.4}.navigation-links a{color:#1f202599;transition:color .15s}.navigation-links a:hover{color:var(--bevel-action)}.navigation .brand span{font-size:22px;font-weight:500;letter-spacing:0}.site-header .navigation>.button,.button.button-dark{font-size:16px;font-weight:500;line-height:1.4;padding:8px 16px;border-radius:128px;color:var(--bevel-cloud);background:var(--bevel-action);gap:12px;transition:transform .6s var(--bevel-out),box-shadow .3s}.button{border-radius:128px;font-weight:500}.button.button-dark:hover{background:var(--bevel-action)}.navigation>.button svg{width:16px;height:16px}.footer-site{background:var(--bevel-paper)}.hero.hero--v4{padding-top:116px;border-radius:32px}.hero--v4 #hero-title,.tool-hero h1,.learn-hero h1{font-size:var(--bevel-hero);line-height:1;font-weight:600;letter-spacing:-.03em}.hero--v4 .hero-description,.tool-lead,.learn-hero>p{font-size:var(--bevel-copy);line-height:1.3;letter-spacing:0;font-weight:400;color:var(--bevel-body)}.hero--v4 .hero-description{max-width:750px;margin-top:24px}.hero--v4 .category{font-size:14px;font-weight:400;letter-spacing:0;margin:0 0 16px;color:var(--bevel-body)}.hero--v4 .category>span{display:none}.intro h2,.progress-heading h2,.planning-heading h2,.download-inner h2,.home-resources h2{font-size:var(--bevel-section);line-height:1;letter-spacing:-.03em;font-weight:600}.workout-copy h2,.faq h2,.tool-feature h2,.tool-app-next h2,.learn-tools h2,.learn-comparisons h2{font-size:var(--bevel-feature);line-height:1;letter-spacing:-.03em;font-weight:600}.intro-description,.workout-copy>.section-description,.planning-heading>.section-description{font-size:20px;font-weight:400;line-height:1.4}.intro,.planning-section{padding-top:80px;padding-bottom:80px}.progress-section{padding-top:80px;padding-bottom:80px}.tool-page,.learn-index{padding-top:160px}.tool-page::before{background:radial-gradient(ellipse at 50% 0,#e4edfc 0,transparent 76%)}.tool-hero{max-width:850px}.tool-lead{max-width:700px;margin-top:24px}.tool-feature,.tool-preview,.tool-app-next,.learn-tools,.learn-image{background-color:var(--bevel-cloud)}.tool-feature{padding:32px;border-radius:32px}.tool-card h2,.learn-feature h2{font-size:28px;line-height:1.15;letter-spacing:-.03em}.tool-app-next .tool-app-links .button{font-size:16px;line-height:1.4;padding:8px 16px}.tool-app-next .tool-app-links .text-link{font-size:14px;font-weight:500}.calc-shell{box-shadow:none;border-color:#fff;background:#fff}.calc-result-panel,.calc-session{background:var(--bevel-cloud)}.calc-big,.calc-volume-total,.calc-formula-results dd{color:var(--bevel-ink)}.calc-shell input,.calc-shell select,.log-app input,.log-app select{font-weight:400}.calc-shell input[type=number],.calc-shell select{border-radius:12px}.tool-switcher a{font-size:14px;line-height:1.4}.tool-switcher{border-radius:32px}.guide-hero,.guide-article>.seo-breadcrumb{max-width:700px}.guide-hero h1{font-size:36px;font-weight:600;line-height:1.1;letter-spacing:.02em}.guide-intro{font-size:16px;font-weight:500;line-height:1.4;letter-spacing:.01em;color:var(--bevel-ink);margin-top:16px}.guide-section p,.guide-section li{font-size:17px;font-weight:500;line-height:1.4;letter-spacing:.01em;color:var(--bevel-ink)}.guide-section h2{font-size:20px;line-height:1.4;font-weight:600;letter-spacing:.02em}.guide-section h3{font-size:20px;line-height:1.4;letter-spacing:.02em;font-weight:600}.guide-section p+p{margin-top:20px}.guide-note p{font-size:14px;line-height:1.5;color:var(--bevel-secondary)}.page-masthead{max-width:768px;padding-top:150px}.page-masthead h1{font-size:56px;line-height:1.2;font-weight:700;letter-spacing:.17px}.page-masthead>p:not(.section-kicker){font-size:17px;line-height:1.4}.legal-layout{display:block;max-width:768px;padding-top:24px}.legal-toc{position:static;margin-bottom:32px}.legal-toc details{border-block:1px solid #dce1e5;padding:16px 0}.legal-toc summary{font-size:16px;font-weight:500;cursor:pointer}.legal-toc nav{padding-top:20px;display:grid;grid-template-columns:1fr 1fr;gap:12px 24px}.legal-toc nav>p,.legal-question{display:none}.legal-article p,.legal-article li{font-size:16px;font-weight:500;line-height:1.35;letter-spacing:.17px;color:var(--bevel-ink)}.legal-article h2{font-size:24px;line-height:1.35;font-weight:700;letter-spacing:.17px}.legal-article section{padding-bottom:32px}.legal-article p{margin-bottom:16px}.about-masthead{max-width:770px}.about-masthead h1{font-size:52px;line-height:1.1;font-weight:700;letter-spacing:.17px}.about-story article>p{font-size:19px;line-height:1.5;font-weight:500;letter-spacing:.03em}.support-content{max-width:700px}.support-content p{font-size:17px;line-height:1.5}.usage-choice{font-family:var(--bevel-font)}.usage-choice button{border-radius:128px;font-size:14px;font-weight:500}.usage-choice button:last-child{background:var(--bevel-action)}.not-found h1{font-size:var(--bevel-hero);line-height:1;letter-spacing:-.03em}.bevel-shutter{position:absolute;inset:0;z-index:3;pointer-events:none;display:flex;flex-direction:column;overflow:hidden}.bevel-shutter>i{display:block;flex:1;background:var(--bevel-canvas);transform-origin:top;will-change:transform}.progress-section{position:relative}.bevel-pointer{position:relative}.bevel-pointer::after{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;background-image:radial-gradient(#8b8c8f55 1px,transparent 1px);background-size:16px 16px;mask-image:radial-gradient(circle 300px at var(--pointer-x,50%) var(--pointer-y,50%),black,transparent);transition:opacity .6s cubic-bezier(.25,.46,.45,.94)}
@media(hover:hover) and (pointer:fine){.button.button-dark:hover{transform:scale(1.025);box-shadow:inset 0 0 .25rem #ffffff80}.bevel-pointer:hover::after{opacity:1;transition-duration:1.2s;transition-timing-function:cubic-bezier(.165,.84,.44,1)}}
@media(max-width:1200px){.guide-layout{grid-template-columns:140px minmax(0,700px);transform:none;gap:24px}.navigation{gap:24px}.navigation-links{gap:22px}}
@media(max-width:991px){.guide-layout{display:block;max-width:700px;margin:auto}.guide-index{display:none}}
@media(max-width:767px){.site-header{top:12px}.navigation{width:calc(100% - 32px);padding:8px 8px 8px 14px;gap:14px;border-radius:32px}.navigation-links{display:none}.mobile-nav{display:block;margin-left:auto;position:relative}.mobile-nav summary{display:flex;align-items:center;gap:6px;font-size:14px;list-style:none;cursor:pointer;padding:8px 0}.mobile-nav summary::-webkit-details-marker{display:none}.mobile-nav summary>span{font-size:18px;transition:transform .3s cubic-bezier(.25,.46,.45,.94)}.mobile-nav[open] summary>span{transform:rotate(45deg)}.mobile-nav>div{position:absolute;right:-120px;top:48px;display:flex;flex-direction:column;width:220px;padding:16px;background:#fffffff5;backdrop-filter:blur(20px);border:1px solid #e8edf5;border-radius:24px;box-shadow:0 10px 30px #263c5410;gap:3px}.mobile-nav a{padding:10px 12px;font-size:14px;border-radius:12px}.navigation .brand span{font-size:20px}.site-header .navigation>.button{font-size:14px;padding:8px 12px;gap:8px}.navigation>.button svg{width:14px}.hero.hero--v4{padding-top:128px;border-radius:24px}.hero--v4 .hero-description{max-width:600px}.intro-description,.workout-copy>.section-description,.planning-heading>.section-description{font-size:18px;line-height:1.4}.intro,.planning-section,.progress-section{padding-top:64px;padding-bottom:64px}.tool-page,.learn-index{padding-top:140px}.tool-lead{max-width:600px}.tool-switcher a{font-size:14px;padding:12px 14px}.tool-feature{padding:32px 24px;border-radius:24px}.tool-app-next .tool-app-links .button{font-size:16px}.guide-hero h1{font-size:36px;line-height:1.1;letter-spacing:.02em}.guide-section p,.guide-section li{font-size:17px;line-height:1.4}.guide-section h2{font-size:20px;line-height:1.4}.guide-intro{font-size:16px}.page-masthead{padding-top:130px}.page-masthead h1{font-size:36px;line-height:1.2}.about-masthead h1{font-size:32px;line-height:1.1}.about-story article>p{font-size:17px}.legal-toc nav{grid-template-columns:1fr 1fr}.legal-article p,.legal-article li{font-size:16px;line-height:1.35}.legal-article h2{font-size:24px;line-height:1.35}.bevel-pointer::after{display:none}}
@media(max-width:360px){.navigation{gap:10px;width:calc(100% - 24px);padding-left:10px}.navigation .brand{gap:6px}.navigation .brand span{font-size:18px}.navigation .brand img{width:26px;height:26px}.site-header .navigation>.button{font-size:13px;padding:8px 11px}.navigation>.button svg{display:none}.mobile-nav summary{font-size:12px}.tool-switcher a{font-size:14px;padding:12px 10px}.guide-hero h1{font-size:36px}.hero--v4 #hero-title{font-size:48px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.bevel-shutter,.bevel-pointer::after{display:none!important}.button.button-dark:hover{transform:none}.button,.navigation-links a,.mobile-nav summary>span{transition:none!important}}
@media print{body{background:white}.site-header,.bevel-shutter,.bevel-pointer::after{display:none!important}.tool-hero h1{font-size:24pt;line-height:1.2}.guide-layout{display:block;transform:none}}
@media print{.tool-page{padding:0;width:100%;max-width:none}.tool-hero{margin:0;padding:0 0 15px;text-align:left}.tool-page::before{display:none}.tool-lead{display:none}.log-app{padding:0;border:0;box-shadow:none}.guide-index{display:none}}
/* Footer links and headings measured on Bevel's live marketing footer. */
.footer-group{font-size:18px;line-height:1.4;font-weight:500;letter-spacing:.17px;gap:12px}.footer-group>p{font-size:18px;line-height:1.3;font-weight:600;letter-spacing:.17px}.footer-brand>p{font-size:16px;line-height:1.4}.footer-bottom{font-size:12px;line-height:1.4}
@media(max-width:600px){.footer-group{font-size:18px}.footer-group>p{font-size:18px}.footer-brand>p{font-size:16px}.footer-top{gap:32px 24px}.footer-bottom{font-size:12px}}

/* The paper footer spans the canvas; only its contents use the page gutter. */
.footer-site{width:100%;max-width:none;margin-inline:0}.footer-inner{min-width:0}.footer-top>div{min-width:0}.footer-group>a{max-width:100%;overflow-wrap:anywhere}
@media(max-width:900px) and (min-width:601px){.footer-top{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 24px}.footer-brand{grid-column:1/-1}}
@media(max-width:600px){.footer-top{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-group:last-child{grid-column:1/-1}.footer-bottom{flex-wrap:wrap;gap:12px 24px}.footer-bottom>span{min-width:0}}

/* Genuine worksheet capture inside the existing Bevel editorial media surface. */


/* Tool extension: one working surface, readable controls, optional methods. */
.tool-page.wrap{width:calc(100% - 64px);max-width:1120px}.tool-index.wrap{max-width:1260px}.tool-page::before{content:none}.log-app{padding:0;border:0;box-shadow:none;background:transparent}.tool-page .calc-help,.tool-page .calc-local{font-size:14px;line-height:1.4}.tool-page .calc-shell label{font-size:14px}.tool-page .log-note{font-size:14px;line-height:1.4}
@media(max-width:767px){.tool-page.wrap{width:calc(100% - 32px)}.tool-page .tool-switcher a{font-size:14px;padding:12px 14px}.tool-page .tool-feature{padding:24px}.tool-page .tool-card h2{font-size:28px}}
@media(max-width:360px){.tool-page .tool-switcher a{font-size:14px;padding:12px 10px}}

/* Anchor the mobile menu to the navigation pill, not to its tiny summary. */
@media(max-width:767px){.navigation{position:relative}.navigation .mobile-nav{position:static}.navigation .mobile-nav>div{right:0;top:calc(100% + 12px);width:280px;max-width:100%;max-height:calc(100dvh - 110px);overflow:auto;background:var(--bevel-paper)}.mobile-nav a{min-height:44px}}

/* Editorial index follows the article scale, never the marketing hero scale. */
.learn-index .learn-hero h1{font-size:24px;line-height:1.3;font-weight:600;letter-spacing:.17px}.learn-index .learn-hero>p{font-size:16px;line-height:1.4;font-weight:500;letter-spacing:.17px;color:var(--bevel-secondary)}
