/* Banner photo can be added later through --banner-image. */
:root{--ink:#243c38;--green:#246e65;--muted:#748581;--paper:#f7f8f5;--line:#e0e8e3;--banner-image:none}body{background:var(--paper)}aside{background:#fffefa;border-right:1px solid #e4e9e3;padding-top:32px}.brand{color:#256c62}.brand span{letter-spacing:-1px}aside>p{line-height:1.7;margin-top:10px}nav button{transition:background .2s,transform .2s}nav button:hover{background:#edf3ee;transform:translateX(3px)}nav button.active{background:#dfeee7;color:#225f53;box-shadow:inset 3px 0 #448a72}.bottom select{background:#f5f7f1}main{max-width:1680px;padding:28px 42px}header{margin-bottom:25px;font-weight:600;font-size:10px;letter-spacing:.13em}.pill{background:#e9f1e9;border:0;color:#47765e}.hero{position:relative;isolation:isolate;overflow:hidden;min-height:345px;margin-bottom:28px;border-radius:24px;background-image:linear-gradient(100deg,rgba(13,70,66,.97),rgba(22,104,94,.87) 55%,rgba(38,129,111,.48)),var(--banner-image);background-color:#328c7b;background-size:cover;background-position:center;padding:44px 40px;box-shadow:0 16px 40px #1a514313}.hero:before{content:'';position:absolute;z-index:-1;width:440px;height:440px;right:-100px;top:-220px;border-radius:50%;border:70px solid #bce6ba18}.hero:after{content:'';position:absolute;z-index:-1;width:300px;height:300px;right:40px;bottom:-260px;border-radius:50%;border:80px solid #e3f1a921}.hero>div:first-child{position:relative;z-index:1;max-width:670px}.hero .kicker{color:#c6dfb5;font-weight:700;font-size:10px;letter-spacing:.2em}.hero h1{color:#fffef5;font-weight:700;font-size:clamp(32px,3.6vw,55px);line-height:1.12;letter-spacing:-1.8px;max-width:580px;margin:17px 0}.hero #intro{color:#d7e8df;font-size:14px;max-width:490px;margin-bottom:24px;line-height:1.75}.hero-actions{display:flex;gap:10px;flex-wrap:wrap}.hero-actions button{border-radius:30px;background:#edba94;color:#29463b;font-size:12px;font-weight:700;padding:12px 21px;box-shadow:0 4px 12px #173b361a}.hero-actions button:hover{background:#f7c9a8}.hero-actions button.secondary{background:#ffffff15;border:1px solid #ffffff50;color:#f4f8ed;box-shadow:none}.art{background:transparent;border:1px solid #d2e5bd45;min-width:205px;height:205px;overflow:visible;transform:rotate(-12deg);margin-right:16px}.art:before,.art:after{content:'';position:absolute;width:126px;height:170px;border:3px solid #e6d5a1;border-radius:70px;transform:rotate(-35deg);left:20px;top:10px}.art:after{transform:rotate(35deg);left:67px;border-color:#b8dac0}.art span{display:none}.art small{bottom:-24px;left:10px;color:#d9ead8;white-space:nowrap;font-size:10px;letter-spacing:.2em;transform:rotate(12deg)}.card{background:#fffefa;border:1px solid #e1e8df;box-shadow:0 4px 18px #2a453405;border-radius:18px;transition:box-shadow .2s}.card:hover{box-shadow:0 7px 22px #2a453409}.card.green{background:#edf3e8;border-color:#dfe8d8}.card h2{letter-spacing:-.5px;font-weight:700;font-size:20px}.card h2:before{content:'';display:block;width:27px;height:3px;background:#b7cfa4;border-radius:3px;margin-bottom:16px}button{transition:background .2s,box-shadow .2s}button:hover{filter:brightness(1.04)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #b7cfa4;outline-offset:3px}input,select,textarea{background:#fffefb;border-color:#d9e2d8}progress{accent-color:#347d67}.score{color:#2e6f59}.badge{background:#e5efdf;color:#47724f}.deduction-item strong{background:#dbe9d1}.deduction-item{border-bottom-color:#dce6d5}.calendar-toolbar h2:before{display:none}.cal-day{background:#f1f5ed}.cal-today{outline-color:#7eaa80}.cal-event{background:#d6e8d5}.month-tile{background:#f0f5ec}.month-tile:hover{background:#e3eddd}.finished{opacity:.55}footer{text-align:center;border-top:1px solid var(--line);margin-top:12px;padding:23px 0;letter-spacing:.03em}#content{scroll-margin-top:24px}@media(min-width:1500px){.hero{min-height:390px}.art{margin-right:65px}}@media(max-width:1050px){main{padding:28px}.hero{padding:32px}.art{min-width:155px;height:155px;margin-right:0}.art:before,.art:after{width:90px;height:125px;left:10px;top:5px}.art:after{left:48px}.hero h1{font-size:39px}}@media(max-width:900px){aside{padding:18px 24px}.brand{font-size:30px}aside>p{margin-top:0;margin-bottom:12px}nav button{border-radius:8px}.hero{min-height:300px}.hero h1{font-size:42px}.art{display:none}header{margin-bottom:18px}.bottom{margin-top:12px}}@media(max-width:520px){main{padding:18px}.hero{border-radius:18px;padding:29px 24px;min-height:320px}.hero h1{font-size:34px;letter-spacing:-1px}.hero #intro{font-size:13px}.hero .kicker{font-size:9px}.hero-actions button{padding:11px 16px}.card{padding:22px}.pill{font-size:9px}header{font-size:8px;gap:8px}nav button{font-size:13px;padding:10px}.card h2{font-size:19px}}@media print{.hero{display:none}.card{box-shadow:none}.card h2:before{display:none}}
