.stress-page { background:#F7F4EE; color:#103C4A; }
.stress-page .nav { position:sticky; top:0; z-index:50; background:#174A5B; }
.stress-page .stress-result { scroll-margin-top:120px; }
.stress-page .stress-options input { scroll-margin-top:120px; }
.stress-nav { background:#174A5B; color:#F7F4EE; padding:20px 0; }
.stress-nav-inner { max-width:1280px; margin:auto; padding:0 32px; display:flex; justify-content:space-between; align-items:center; gap:20px; }
.stress-brand { display:flex; gap:14px; align-items:center; font-weight:600; }
.stress-brand img { width:60px; height:60px; object-fit:contain; filter:brightness(0) invert(1); }
.stress-brand small { display:block; font-size:10px; letter-spacing:.15em; text-transform:uppercase; font-weight:400; }
.stress-back { font-size:14px; }
.stress-hero { background:#103C4A url('../img/Hojas de Teal en Serenidad.png') center right/cover; color:#F7F4EE; padding:76px 32px; }
.stress-hero-inner { max-width:1180px; margin:auto; display:grid; grid-template-columns:1.4fr .6fr; gap:80px; align-items:end; }
.stress-kicker { color:#B99A62; font-size:12px; letter-spacing:.2em; text-transform:uppercase; display:flex; gap:16px; align-items:center; margin-bottom:24px; }
.stress-kicker::before { content:''; width:38px; height:1px; background:currentColor; }
.stress-hero h1,.stress-result h2 { font-family:'Cormorant Garamond',Georgia,serif; font-weight:500; font-size:clamp(44px,5.3vw,76px); line-height:1.04; letter-spacing:-.03em; }
.stress-hero p { max-width:58ch; font-size:17px; line-height:1.7; margin-top:24px; }
.stress-hero-aside { border-left:1px solid #B99A62; padding-left:28px; }
.stress-hero-aside strong { font-size:14px; font-weight:500; display:block; margin-bottom:12px; }
.stress-hero-aside p { font-size:14px; margin:0; }
.stress-main { max-width:1000px; padding:56px 32px 80px; margin:auto; }
.stress-instructions h2 { font-size:24px; margin-bottom:14px; }
.stress-instructions p { color:#385968; font-size:16px; }
.stress-privacy { margin:16px 0 30px; padding-left:18px; border-left:2px solid #B99A62; font-size:14px; color:#385968; }
.stress-progress-wrap { display:flex; align-items:center; gap:24px; margin:32px 0 42px; }
.stress-progress-wrap span { font-size:13px; white-space:nowrap; color:#385968; }
.stress-progress-wrap progress { width:100%; height:6px; border:0; border-radius:9px; accent-color:#174A5B; }
progress::-webkit-progress-bar { background:#DFE6E1; border-radius:9px; } progress::-webkit-progress-value { background:#174A5B; border-radius:9px; }
.stress-question { border:0; border-bottom:1px solid #DCE3DD; padding:0 0 32px; margin:0 0 32px; min-width:0; }
.stress-question legend { float:left; width:100%; font-size:18px; font-weight:500; line-height:1.6; margin-bottom:22px; }
.stress-options { clear:both; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:12px; }
.stress-options label { position:relative; cursor:pointer; min-width:0; }
.stress-options input { position:absolute; opacity:0; width:100%; height:100%; margin:0; }
.stress-options label>span { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px; border:1px solid #D7DFDA; background:#FFF; border-radius:12px; padding:14px 8px; min-height:90px; color:#385968; font-size:13px; text-align:center; }
.stress-options strong { font-size:22px; font-weight:500; color:#174A5B; }
.stress-options input:checked+span { background:#174A5B; color:#F7F4EE; border-color:#174A5B; }
.stress-options input:checked+span strong { color:#F7F4EE; }
.stress-options input:focus-visible+span { outline:3px solid #B99A62; outline-offset:3px; }
.stress-submit-row { text-align:center; padding-top:10px; }
.stress-button { display:inline-flex; align-items:center; justify-content:center; gap:12px; background:#174A5B; color:#F7F4EE; border:1px solid #174A5B; border-radius:999px; padding:17px 32px; min-height:48px; font:500 16px var(--font-sans); cursor:pointer; }
.stress-button:hover { background:#103C4A; }
.stress-button:focus-visible,.stress-text-button:focus-visible,.stress-back:focus-visible { outline:3px solid #B99A62; outline-offset:4px; }
.stress-submit-row p { font-size:13px; color:#385968; margin-top:14px; }
.stress-result { background:white; border:1px solid #E2E7DF; border-radius:24px; padding:48px; scroll-margin-top:28px; }
.stress-result h2 { font-size:48px; }
.stress-score { margin:28px 0; color:#174A5B; }
.stress-score strong { font-family:'Cormorant Garamond',Georgia,serif; font-size:88px; font-weight:500; line-height:1; }
.stress-score span { font-size:18px; color:#385968; }
.stress-result h3 { font-size:24px; margin-bottom:14px; }
.stress-result p { color:#385968; font-size:16px; }
.stress-result-note { border-top:1px solid #E2E7DF; padding-top:22px; margin-top:28px; font-size:14px!important; }
.stress-result-actions { display:flex; flex-wrap:wrap; gap:16px; align-items:center; margin-top:28px; }
.stress-text-button { border:0; background:none; color:#174A5B; font:500 14px var(--font-sans); text-decoration:underline; text-underline-offset:4px; cursor:pointer; padding:12px 0; }
.stress-footer { border-top:1px solid #DCE3DD; padding:26px 24px; text-align:center; font-size:13px; color:#385968; }
.stress-footer a { margin:0 12px; text-decoration:underline; text-underline-offset:4px; }
[hidden] { display:none!important; }
@media(max-width:800px) { .stress-hero-inner { grid-template-columns:1fr; gap:32px; } .stress-hero { padding:52px 32px; } .stress-hero-aside { max-width:58ch; } }
@media(max-width:599px) {
 .stress-nav-inner { padding:0 20px; } .stress-brand img { width:40px; height:40px; } .stress-brand small { display:none; } .stress-brand { font-size:14px; gap:9px; } .stress-back { font-size:12px; }
 .stress-hero { padding:44px 20px; } .stress-hero h1 { font-size:48px; } .stress-hero p { font-size:15px; } .stress-main { padding:36px 20px 56px; }
 .stress-options { grid-template-columns:1fr; gap:8px; } .stress-options label>span { flex-direction:row; justify-content:flex-start; gap:16px; min-height:50px; padding:10px 16px; font-size:14px; } .stress-options strong { font-size:18px; min-width:20px; }
 .stress-question legend { font-size:16px; } .stress-progress-wrap { gap:14px; } .stress-result { padding:28px 20px; border-radius:18px; } .stress-result h2 { font-size:38px; } .stress-button { max-width:100%; font-size:14px; padding:16px 24px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
@media print { .stress-nav,.stress-hero,.stress-instructions,.stress-privacy,.stress-progress-wrap,#stress-form,.stress-result-actions,.stress-footer { display:none!important; } .stress-main { padding:0; } .stress-result { border:0; padding:0; } }
