:root{--beige:#f5f1ec;--burgundy:#5e2333;--ink:#34282b;--muted:#766b6d;--border:#e3d9d4;--paper:#fffdfa}*{box-sizing:border-box}body{margin:0;background:var(--beige);color:var(--ink);font-family:Montserrat,Arial,Helvetica,sans-serif;font-size:16px;line-height:1.55}.brand{max-width:1180px;margin:auto;padding:30px 38px;display:flex;gap:17px;align-items:center;border-bottom:1px solid var(--border)}.monogram{font-family:"Playfair Display",Georgia,serif;font-size:34px;color:var(--burgundy);border-right:1px solid #cdbbbd;padding-right:20px;line-height:1.3}.brand-name{font-family:"Playfair Display",Georgia,serif;font-size:25px;color:var(--burgundy)}.brand-sub{font-size:12px;letter-spacing:1.4px;margin-top:3px}.header-note{margin-left:auto;color:var(--muted);font-size:14px}main{max-width:1080px;margin:auto;padding:40px 30px 20px}.intro{margin-bottom:30px}.eyebrow{font-size:12px;letter-spacing:2.5px;color:var(--burgundy);font-weight:700;margin:0 0 12px}h1{font-family:"Playfair Display",Georgia,serif;font-weight:400;font-size:46px;line-height:1.15;margin:0 0 15px;letter-spacing:-1px}h1 em{color:var(--burgundy);font-weight:400}.intro>p:last-child{margin:0;color:var(--muted)}.calculator{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--border);border-radius:18px;overflow:hidden;background:var(--paper);box-shadow:0 10px 40px #5e233305}.form-panel{padding:30px 32px}.results-panel{background:#efe7e1;padding:30px 32px}.section-heading{display:flex;align-items:center;gap:12px;margin-bottom:23px}.step{font-size:12px;color:var(--burgundy);border:1px solid #cbb8b7;border-radius:50%;width:28px;height:28px;display:grid;place-items:center}h2{font-family:"Playfair Display",Georgia,serif;font-size:24px;font-weight:400;margin:0}fieldset{border:0;padding:0;margin:0 0 20px}legend,label{font-size:14px;font-weight:600;display:block;margin-bottom:8px}.sex-options{display:grid;grid-template-columns:1fr 1fr;gap:8px}.sex-options label{margin:0;position:relative}.sex-options input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}.sex-options span{display:block;text-align:center;border:1px solid var(--border);padding:10px;border-radius:7px;color:var(--muted);font-weight:400}.sex-options input:checked+span{background:var(--burgundy);border-color:var(--burgundy);color:white}.sex-options input:focus-visible+span{outline:3px solid #ab7888;outline-offset:3px}.fields{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;margin-bottom:20px}.input-wrap{position:relative}.input-wrap input{width:100%;padding:12px 38px 12px 11px;background:white;border:1px solid var(--border);border-radius:7px;font:inherit;min-width:0;height:49px}.input-wrap span{position:absolute;right:10px;top:14px;font-size:13px;color:var(--muted);pointer-events:none}input::placeholder{color:#aaa0a1;font-size:14px}small{font-size:12px;display:block;color:var(--muted);margin-top:7px;line-height:1.4}select{width:100%;font:inherit;font-size:14px;background:white;border:1px solid var(--border);padding:12px 28px 12px 11px;border-radius:7px;color:var(--ink);min-height:49px}input:focus,select:focus{outline:2px solid #ab7888;outline-offset:2px}.field-help{font-size:13px;color:var(--muted);margin:9px 0 20px}.calculate{width:100%;border:0;border-radius:7px;background:var(--burgundy);color:white;font:inherit;font-weight:600;cursor:pointer;padding:15px;transition:background .15s}.calculate:hover{background:#471925}.calculate:focus-visible{outline:3px solid #ab7888;outline-offset:3px}.privacy{display:flex;align-items:flex-start;gap:7px;font-size:12px;color:var(--muted);margin:13px 0 0}.privacy svg{flex-shrink:0;margin-top:2px}.error{color:#882e35;font-size:14px;padding:10px;background:#faecec;border-radius:5px}.energy-result{background:var(--burgundy);color:var(--beige);padding:25px 25px 20px;border-radius:12px}.result-label{font-size:12px;letter-spacing:1.3px;font-weight:600;margin:0 0 9px}.energy-number{font-family:"Playfair Display",Georgia,serif;font-size:53px;line-height:1.2;letter-spacing:-1px}.unit{font-family:Montserrat,Arial,sans-serif;font-size:14px;letter-spacing:0;white-space:nowrap}.energy-result>p:not(.result-label){font-size:14px;margin:12px 0 0;color:#e3cfd3}.energy-line{height:1px;background:#976475;margin:19px 0 16px}.energy-result p.result-foot{font-size:12px;margin:0}.secondary-results{display:grid;grid-template-columns:1fr 1.3fr;gap:18px;margin-top:23px}.metric+.metric{border-left:1px solid #d3c3bf;padding-left:20px}.metric .result-label{font-size:11px;letter-spacing:.8px;min-height:18px;color:var(--burgundy)}.metric-number{font-family:"Playfair Display",Georgia,serif;font-size:35px;color:var(--burgundy);line-height:1.25}.small-unit{font-family:Montserrat,Arial,sans-serif;font-size:12px}.metric>p:last-child{font-size:13px;color:var(--muted);margin:8px 0 0}.result-note{display:flex;gap:12px;border-top:1px solid #d9cac5;margin-top:24px;padding-top:18px;color:var(--muted)}.result-note>span{flex-shrink:0;border:1px solid #b69a9e;border-radius:50%;width:19px;height:19px;line-height:18px;text-align:center;font-family:"Playfair Display",Georgia,serif;font-size:13px;margin-top:3px}.result-note p{margin:0;font-size:13px}.empty-hint{font-size:13px;color:var(--muted);margin:20px 0 0}.method{border-bottom:1px solid var(--border);margin-top:22px;padding:0 2px 20px}.method summary{cursor:pointer;font-size:14px;color:var(--burgundy);font-weight:600;padding:8px 0}.method-body{max-width:850px;font-size:14px;color:var(--muted)}.method-body p{margin:12px 0}.method-body strong{color:var(--ink)}a{color:var(--burgundy);text-underline-offset:3px}footer{max-width:1080px;margin:0 auto;padding:20px 30px 28px;display:flex;justify-content:space-between;gap:16px;align-items:center;color:var(--burgundy)}footer span{font-family:"Playfair Display",Georgia,serif;font-size:19px}footer p{font-size:11px;letter-spacing:1px;margin:0}@media(min-width:1000px){.intro h1 br{display:none}}@media(max-width:760px){.brand{padding:22px 22px}.header-note{display:none}.brand-sub{font-size:10px;letter-spacing:.8px}.brand-name{font-size:23px}main{padding:28px 18px 10px}h1{font-size:37px}.intro{margin-bottom:25px}.intro>p:last-child{font-size:15px}.calculator{grid-template-columns:1fr}.form-panel,.results-panel{padding:25px 22px}.results-panel{border-top:1px solid var(--border)}.energy-number{font-size:47px}.fields{gap:8px}footer{padding:20px 20px 26px;align-items:flex-start;flex-direction:column;gap:5px}.desktop{display:none}}@media(max-width:350px){.fields{grid-template-columns:1fr}.brand{gap:10px}.monogram{padding-right:10px}.energy-result{padding:20px}.energy-number{font-size:40px}.secondary-results{gap:10px}.metric+.metric{padding-left:12px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}

/* Branded photographic background, with calm surfaces for readable controls. */
body{background-color:var(--beige);background-image:url("background.png");background-size:cover;background-position:center;background-attachment:fixed;background-repeat:no-repeat}
.brand{background:rgba(245,241,236,.93);border-radius:0 0 12px 12px}
.intro{display:table;background:rgba(245,241,236,.94);padding:22px 26px;border-radius:12px}
.calculator{box-shadow:0 12px 45px rgba(52,40,43,.12)}
.method{background:rgba(245,241,236,.97);padding:10px 20px 15px;border-radius:10px;border-bottom:0}
footer{background:rgba(245,241,236,.94);border-radius:12px 12px 0 0;margin-top:12px}
@media(max-width:760px){body{background-size:auto 100vh;background-position:center top;background-attachment:scroll}.brand{margin:0 12px;padding:18px 16px}.intro{padding:18px;width:100%}}

.brand{padding-top:18px;padding-bottom:18px}.brand-logo{display:block;width:168px;height:auto;flex-shrink:0;overflow:hidden}@media(max-width:760px){.brand{padding-top:14px;padding-bottom:14px}.brand-logo{width:145px;max-width:100%}}

h1,h2{line-height:1.25}.result-note>span{font-family:Montserrat,Arial,sans-serif}.fields label{min-height:2.9em}.input-wrap input{padding-left:9px}.energy-number .unit{display:inline-block}

/* Equal side columns keep the logo at the exact centre of the header. */
.brand{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}.brand-logo{grid-column:2;justify-self:center}.header-note{grid-column:3;justify-self:end;margin-left:0;text-align:right;min-width:0;overflow-wrap:break-word}

.intro-description{display:block;width:100%}.intro-description h1{font-size:34px;line-height:1.3;letter-spacing:-.5px;max-width:900px}.intro-description p{font-size:16px;line-height:1.65;color:var(--muted);margin:14px 0 0;max-width:95ch}.intro-description>p:last-child{margin-top:14px}@media(max-width:760px){.intro-description h1{font-size:28px}.intro-description p{font-size:16px}}

.intro-description p.eyebrow{font-family:Montserrat,Arial,sans-serif;font-size:12px;font-weight:600;letter-spacing:2px;line-height:1.5;color:var(--burgundy);margin:0 0 12px}.intro-description h1{color:var(--burgundy)}

.activity-description{font-size:14px;line-height:1.6;color:var(--ink);background:var(--beige);border-left:2px solid var(--burgundy);padding:12px 14px;margin:12px 0}.field-help{line-height:1.6}
