:root{--bg:#e8e7e2;--card:#f8f6f2;--ink:#1d1c1a;--rust:#8d2d13;--muted:#5f5d58;--line:#d0cfca;--sans:'DM Sans',Arial,sans-serif;--serif:'DM Serif Display',Georgia,serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans)}a{text-decoration:none;color:inherit}.wrap{max-width:1150px;margin:auto}.nav{position:fixed;z-index:10;top:1rem;left:50%;transform:translateX(-50%);width:min(1150px,calc(100% - 2rem));height:64px;border:1px solid #ffffff54;border-radius:15px;background:#252522cc;backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:space-between;padding:0 2rem;color:white}.logo{font-size:.9rem;font-weight:700;display:flex;gap:.65rem;align-items:center}.logo span{font-size:1.35rem;color:#fff}.nav nav{display:flex;gap:2rem;font-size:.82rem}.menu{display:none;background:none;color:#fff;border:0;font:inherit}.hero{height:min(850px,100vh);min-height:630px;background:linear-gradient(90deg,#000a 0%,#0005 42%,#0002 70%),url('assets/tomfitness-hero.png') center/cover;position:relative;color:white}.hero-content{position:absolute;left:max(2rem,calc((100% - 1150px)/2));bottom:17%;max-width:600px}.label,.hero-content>p,.category{font-size:.65rem;font-weight:700;letter-spacing:.13em;margin:0 0 1rem}.hero h1,.welcome h2,.journal h2,.about h2,.newsletter h2{font-size:clamp(3.2rem,5.5vw,5.5rem);letter-spacing:-.055em;line-height:.98;font-weight:500;margin:0 0 2rem}.button{border:0;display:inline-flex;align-items:center;gap:2.5rem;border-radius:12px;padding:.95rem 1.25rem;font-family:inherit;font-weight:600;font-size:.85rem;cursor:pointer}.light{background:#fff;color:var(--ink)}.rust{background:var(--rust);color:white}.welcome{text-align:center;padding:8rem 1.5rem 4rem;max-width:760px;margin:auto}.welcome h2{font-size:clamp(2.7rem,5vw,4.4rem);margin-bottom:1.2rem}.lead{color:var(--muted);font-size:1rem;line-height:1.6;margin:0}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:2.5rem;padding:2rem 1.5rem 9rem}.topic-card{overflow:hidden;background:var(--card);border-radius:26px;text-align:center}.card-image{height:270px;position:relative;overflow:hidden}.training{background:linear-gradient(130deg,#fd5d86,#fe92b2 50%,#9c4d5b)}.training:before{content:'◒';position:absolute;color:#ee2d65;font-size:15rem;left:26%;top:16%;line-height:.7;transform:rotate(-24deg)}.routine{background:linear-gradient(120deg,#d4cfc5,#fbfaf7)}.routine:before{content:'';position:absolute;width:92px;height:230px;background:#646c6c;border-radius:46px;left:42%;top:20px;box-shadow:-100px 80px 0 -30px #abb0ab,110px 95px 0 -30px #979188}.mindset{background:#252928}.mindset:before{content:'•••';position:absolute;left:19%;top:12%;letter-spacing:.22em;color:#e9753b;font-size:7rem;line-height:1}.card-copy{padding:1.6rem 1.6rem 1.9rem}.card-copy h3{font-size:1.4rem;letter-spacing:-.04em;margin:0 0 .8rem}.card-copy p{font-size:.88rem;line-height:1.6;color:var(--muted);margin:0 auto 1.55rem;min-height:4.2rem}.journal{padding:7rem 0;background:#f7f4ef}.journal-head{padding:0 1.5rem 3rem;display:flex;justify-content:space-between;align-items:end}.journal-head .lead{max-width:310px}.article-list{padding:0 1.5rem}.article-list article{display:grid;grid-template-columns:80px 1fr 35px;gap:2rem;align-items:start;border-top:1px solid var(--line);padding:1.7rem 0}.article-number{font-family:var(--serif);font-size:2rem;color:var(--rust)}.article-list h3{font-size:clamp(1.35rem,2.5vw,2rem);letter-spacing:-.05em;margin:.2rem 0 .65rem}.article-list p:not(.category){color:var(--muted);font-size:.9rem;margin:0;line-height:1.6;max-width:580px}.article-list>a{font-size:1.6rem;text-align:right}.about{padding:8rem 1.5rem;display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center}.about-text>p:not(.label){max-width:450px;line-height:1.7;color:var(--muted);margin-bottom:2rem}.about h2 em{font-family:var(--serif);font-weight:400}.text-link{font-size:.87rem;font-weight:700}.text-link b{padding-left:.5rem;color:var(--rust)}.about-art{height:390px;overflow:hidden;border-radius:25px;background:radial-gradient(circle at 20% 80%,#c1836b 0 5%,transparent 5.4%),linear-gradient(130deg,#252825 45%,#765e52);position:relative;display:grid;place-items:center;color:#fff}.about-art:before,.about-art:after{content:'';position:absolute;height:180%;width:13px;background:#ffffff21;transform:rotate(42deg)}.about-art:before{left:25%}.about-art:after{left:70%}.about-art span{position:relative;font:italic 9rem var(--serif);letter-spacing:-.15em}.about-art small{position:absolute;bottom:1.4rem;right:1.4rem;font-size:.58rem;letter-spacing:.13em}.newsletter{background:#dfddd8;padding:7rem max(1.5rem,calc((100% - 700px)/2));text-align:center}.newsletter h2{font-size:clamp(2.7rem,5vw,4.5rem);margin-bottom:1.25rem}.newsletter>p:not(.label){max-width:550px;margin:0 auto 2rem;color:var(--muted);line-height:1.6}.newsletter form{max-width:510px;margin:2rem auto .7rem;display:flex;gap:.7rem}.newsletter input{flex:1;border:1px solid #b9b8b4;border-radius:10px;background:#f9f8f6;padding:0 1rem;font:inherit;min-width:0}.newsletter small{color:var(--muted);font-size:.68rem}.sr-only{position:absolute;clip:rect(0,0,0,0)}footer{padding:1.6rem 1.5rem;display:flex;justify-content:space-between;align-items:center;font-size:.72rem;color:var(--muted)}footer div{display:flex;gap:1rem}@media(max-width:700px){.nav{height:58px;padding:0 1rem}.menu{display:block}.nav nav{display:none;position:absolute;top:67px;left:0;right:0;background:#252522f2;border-radius:12px;padding:1rem;flex-direction:column;gap:1rem}.nav nav.open{display:flex}.hero{min-height:590px}.hero-content{left:1.5rem;right:1.5rem;bottom:15%}.hero h1{font-size:3.1rem}.welcome{padding-top:5rem}.cards{grid-template-columns:1fr;padding-bottom:5rem;max-width:470px}.journal{padding:5rem 0}.journal-head{display:block}.journal-head .lead{margin-top:1rem}.article-list article{grid-template-columns:38px 1fr;gap:1rem}.article-list>a{display:none}.article-number{font-size:1.3rem}.about{grid-template-columns:1fr;padding-top:5rem;padding-bottom:5rem;gap:2.5rem}.about-art{height:290px}.newsletter form{flex-direction:column}.newsletter input{min-height:50px}footer{flex-wrap:wrap;gap:1rem}.nav nav.open{display:flex}}
