*{box-sizing:border-box} :root{--bg:#f4f2ed;--ink:#111;--muted:#68655f;--line:#d8d4cb;--gold:#916627}body{margin:0;background:var(--bg);color:var(--ink);font-family:Arial,Helvetica,sans-serif}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}a{color:inherit}header{height:82px;background:white;display:flex;align-items:center;gap:30px;padding:0 5%;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:13px;text-decoration:none;font-size:14px;font-weight:800;letter-spacing:.09em}.brand img{width:42px;height:42px;object-fit:contain}.brand small{color:#777;font-size:12px}nav{display:flex;gap:24px;margin-left:auto}nav button,footer button{background:none;border:0;font-size:11px;text-transform:uppercase;letter-spacing:.09em;font-weight:700}select,input,textarea{background:#fff;border:1px solid #bbb6ac;color:#111;padding:12px;min-height:44px;max-width:100%}header select{font-size:12px}#preview-banner{background:#eae4d8;border-bottom:1px solid #c9b997;padding:12px 5%;font-size:12px;color:#65502e}main{max-width:1360px;margin:auto;padding:60px 5% 80px;min-height:80vh}.kicker{font-size:11px;color:var(--gold);letter-spacing:.15em;font-weight:800;text-transform:uppercase}h1{font-size:clamp(42px,6.8vw,94px);letter-spacing:-.055em;line-height:.92;margin:22px 0;white-space:pre-line}h2{font-size:32px;letter-spacing:-.035em;margin:12px 0 20px}h3{font-size:20px;margin:0 0 14px}p{line-height:1.65;color:var(--muted)}.hero{display:grid;grid-template-columns:1.2fr .8fr;gap:60px;align-items:center;min-height:560px}.hero p{max-width:540px}.hero-art{background:#111;color:white;padding:45px;min-height:430px;display:flex;flex-direction:column;justify-content:space-between}.hero-art strong{font-size:130px;line-height:1;letter-spacing:-.08em}.hero-art p{color:#c5c2bb}.hero-art .line{height:1px;background:#45423c;margin:20px 0}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:40px}.stats b{font-size:27px;display:block}.stats span{font-size:11px;color:var(--muted)}.btn{border:1px solid #111;background:#111;color:#fff;min-height:48px;padding:15px 22px;font-size:11px;text-transform:uppercase;letter-spacing:.07em;font-weight:800;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.btn.secondary{background:transparent;color:#111;border-color:#b8b2a7}.actions{display:flex;gap:12px;flex-wrap:wrap;margin:25px 0 0}.panel{background:white;border:1px solid var(--line);padding:30px}.assessment-layout{display:grid;grid-template-columns:1fr 310px;gap:24px;align-items:start}.summary{background:#111;color:white;padding:30px;position:sticky;top:24px}.summary p{color:#c2beb6}.summary b{display:block;font-size:42px;letter-spacing:-.04em}.step-progress{display:flex;gap:8px;margin-bottom:35px}.step-progress i{height:3px;flex:1;background:#e1ddd5}.step-progress i.active{background:#111}.fields{display:grid;grid-template-columns:1fr 1fr;gap:20px}.field{display:flex;flex-direction:column;gap:9px;font-size:12px;font-weight:700;margin:12px 0}.field.wide{grid-column:1/-1}.field small{font-weight:400;color:var(--muted)}textarea{resize:vertical;min-height:90px}.choices{display:flex;flex-wrap:wrap;gap:9px}.choice{border:1px solid var(--line);padding:12px;display:flex;align-items:center;gap:8px;font-size:12px;min-height:47px}.choice:has(input:checked){border-color:#111;background:#ece8df}.choice input{min-height:0;accent-color:#111}.safety{display:flex;align-items:flex-start;gap:10px;line-height:1.6;font-size:13px;margin-top:20px}.safety input{min-height:0;margin-top:5px}.dashboard-head{background:#111;color:white;padding:35px;display:flex;justify-content:space-between;gap:20px;align-items:center}.dashboard-head h1{font-size:48px}.dashboard-head p{color:#bbb7ad}.meter{display:flex;gap:10px;align-items:center}.meter progress{accent-color:#ad8b4d;width:120px}.weeks{display:flex;gap:8px;overflow-x:auto;margin:25px 0 12px;padding-bottom:8px}.weeks button,.calendar button{background:white;border:1px solid var(--line);padding:12px;white-space:nowrap;min-width:65px}.weeks .selected,.calendar .selected{background:#111;color:white;border-color:#111}.calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-bottom:30px}.calendar button{display:flex;flex-direction:column;gap:8px;align-items:center;font-size:11px}.calendar b{font-size:21px}.calendar .done{border-bottom:4px solid #448560}.session-intro{display:flex;justify-content:space-between;align-items:center;margin:22px 0}.session-intro p{font-size:12px}.exercise{display:grid;grid-template-columns:360px 1fr;background:white;border:1px solid var(--line);margin:16px 0}.visual{background:#efeee9;display:grid;grid-template-columns:1fr 1fr;position:relative;min-height:235px;border-right:1px solid var(--line)}.position{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:18px;padding:20px;text-align:center}.position span{font-size:10px;letter-spacing:.1em;font-weight:800}.position img{max-width:100%;height:170px;object-fit:contain}.position i{font-style:normal;font-size:45px;color:#c9c5bc;font-weight:200}.visual-note{position:absolute;bottom:14px;left:15px;right:15px;font-size:10px;text-align:center;color:#807664}.exercise-copy{padding:25px}.exercise-head{display:flex;justify-content:space-between;gap:20px}.exercise-head button{border:0;border-bottom:1px solid #aaa;background:white;font-size:11px;padding:0 0 4px;height:24px}.tags{display:flex;gap:18px;font-size:11px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:14px}.tags b{font-size:15px;margin-right:4px}.exercise-copy p{font-size:12px;margin:8px 0}.log-grid{display:grid;grid-template-columns:38px 1fr 1fr 1fr;gap:8px;align-items:center;margin-top:18px;font-size:10px}.log-grid input{width:100%;padding:9px;min-height:38px;font-size:13px}.log-grid strong{text-align:center}.advice{border-left:2px solid #a17b3c;padding-left:10px}.checkin{margin-top:40px}.coaching{border-top:1px solid var(--line);margin-top:50px;padding-top:30px;display:flex;justify-content:space-between;align-items:center;gap:30px}.coaching h3{font-size:18px}.coaching p{font-size:13px;max-width:600px}.coaching a{font-size:11px;text-transform:uppercase;letter-spacing:.08em;white-space:nowrap}.catalog{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.catalog .panel{padding:20px}.catalog .visual{min-height:220px;border:1px solid var(--line);margin-bottom:18px}.catalog h3{font-size:17px}.catalog p{font-size:12px}.status{font-size:10px;color:var(--gold);text-transform:uppercase;letter-spacing:.08em}.reference{display:flex;gap:40px;align-items:center;background:white;border:1px solid var(--line);padding:30px;margin-bottom:30px}.reference img{max-width:240px}.reference p{font-size:13px}.notice{padding:15px;background:#f3ead9;border:1px solid #d5bf96;font-size:13px;line-height:1.6;margin:20px 0}.login{max-width:550px;margin:40px auto}.review-row{display:flex;justify-content:space-between;gap:25px;border-bottom:1px solid var(--line);padding:18px 0;font-size:13px}.error{color:#a62727}footer{background:#111;color:#fff;padding:35px 5%;display:flex;align-items:center;gap:25px;flex-wrap:wrap;font-size:11px}footer img{width:35px;height:35px;background:white;border-radius:50%;padding:5px}footer span{margin-right:auto;letter-spacing:.1em}footer button{color:white}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#111;color:white;padding:15px 24px;max-width:90vw;font-size:13px;box-shadow:0 5px 20px #0002;z-index:100}#toast:empty{display:none}:focus-visible{outline:3px solid #a78142;outline-offset:3px}.muted{color:var(--muted);font-size:12px}
@media(max-width:1000px){nav{gap:12px}.hero{gap:25px}.hero-art{padding:30px}.assessment-layout{grid-template-columns:1fr 260px}.exercise{grid-template-columns:280px 1fr}.catalog{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){header{height:auto;min-height:72px;flex-wrap:wrap;gap:15px;padding:16px}.brand{margin-right:auto}.brand img{width:33px;height:33px}header select{width:105px}nav{order:3;width:100%;justify-content:space-between;margin:0}nav button{padding:10px 0;font-size:10px}main{padding:36px 16px 50px}.hero{grid-template-columns:1fr;gap:30px;min-height:0}.hero h1{font-size:52px}.hero-art{min-height:300px}.hero-art strong{font-size:100px}.stats{margin-top:28px}.assessment-layout{grid-template-columns:1fr}.summary{position:static;order:-1;padding:20px}.summary b{font-size:28px}.summary h3,.summary p{display:none}.fields{grid-template-columns:1fr}.panel{padding:22px 18px}.dashboard-head{padding:24px;display:block}.dashboard-head h1{font-size:38px}.calendar{gap:4px}.calendar button{min-width:0;padding:12px 3px;font-size:9px}.calendar b{font-size:18px}.exercise{grid-template-columns:1fr}.visual{border-right:0;border-bottom:1px solid var(--line);min-height:210px}.exercise-copy{padding:20px}.session-intro{display:block}.catalog{grid-template-columns:1fr}.reference{flex-direction:column;gap:20px;padding:20px}.coaching{display:block}.coaching a{display:inline-block;margin-top:15px}.log-grid{grid-template-columns:25px 1fr 1fr 1fr}footer{gap:20px}.btn{max-width:100%;width:auto}.actions .btn{flex:1}.field.wide{grid-column:auto}}

.equipment-icon{width:65px;height:48px;object-fit:contain}.field select[multiple]{height:190px}.field:has(.equipment-icon) .choices{display:grid;grid-template-columns:repeat(3,1fr)}.field:has(.equipment-icon) .choice{flex-direction:column;text-align:center;padding:14px 6px}.field:has(.equipment-icon) input{min-height:0}@media(max-width:700px){.field:has(.equipment-icon) .choices{grid-template-columns:repeat(2,1fr)}}

.visual.approved-plate{display:block;margin:0;background:#fff;min-height:0;padding:12px}.approved-plate img{display:block;width:100%;height:auto;object-fit:contain}.catalog .approved-plate{margin-bottom:18px}@media(max-width:700px){.visual.approved-plate{padding:4px}}

footer .support-link{font-size:12px;line-height:1.6;overflow-wrap:anywhere}footer .support-link span{display:block;color:var(--muted)}

.gym-photo-panel{margin:24px 0}.gym-photo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:18px}.gym-photo-grid article{border:1px solid var(--line);padding:14px}.gym-photo-grid img{width:100%;height:190px;object-fit:contain;background:#f5f5f5}.photo-remove{display:block;border:0;background:none;text-decoration:underline;margin-top:14px;padding:10px}header nav{flex-wrap:wrap}@media(max-width:700px){header{height:auto;min-height:82px;flex-wrap:wrap;padding:18px 5%}}
