/* Canva reference: Branding kit kAF8o7F2h1s; Montserrat, original KCL logo,
   Earth ConnectEd floorbook pages. Keep original artwork proportions. */
:root{--paper:#f8f7f3;--line:#dce4df;--muted:#526764}
aside{width:264px;padding:25px 24px;background:#fffefb;overflow-y:auto}
.brand{display:flex;flex-direction:column;text-align:center;gap:12px}
.brand-logo{width:145px;height:145px;object-fit:contain;mix-blend-mode:multiply}
.brand-caption{font-size:11px;line-height:1.8;font-weight:500;letter-spacing:.6px;color:#536e6b}
.side-title{margin-top:30px;font-size:11px}
aside nav a{font-weight:500;border:1px solid transparent;transition:background .2s}
aside nav a.active{background:#e6eeec;border-color:#d2dfda;font-weight:600}
.side-footer{font-family:Montserrat,Arial,sans-serif;font-style:normal;font-size:13px;border-top:1px solid var(--line);margin-top:30px;padding-top:20px;color:#647773}
main{margin-left:264px;padding:0 4.5%;max-width:1800px}
header{font-size:11px;letter-spacing:1.4px;align-items:center;gap:20px;padding:21px 0}
.account-links{display:flex;gap:20px;align-items:center;font-size:12px;letter-spacing:0}
.account-links a{text-decoration:none;text-underline-offset:4px}.account-links a:hover{text-decoration:underline}
.account-links a:first-child{background:#e9eeeb;padding:5px 12px;border-radius:20px}
h1,h2,h3{font-family:Montserrat,Arial,sans-serif}
h1{font-size:clamp(30px,3.1vw,46px);font-weight:600;letter-spacing:-1.6px;line-height:1.22;margin-bottom:20px}
h1 span{font-size:clamp(17px,1.6vw,22px);font-weight:500;letter-spacing:-.3px;line-height:1.5;margin-top:14px}
h2{font-size:clamp(25px,2.3vw,32px);font-weight:600;letter-spacing:-.8px}
h3{font-size:20px;font-weight:600;letter-spacing:-.4px}
.eyebrow{font-size:11px;letter-spacing:1.6px;color:#627b73}
.welcome{padding-top:35px}.welcome-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:35px;align-items:center}
.welcome p{font-size:15px;line-height:1.85}.welcome-art{margin:0;background:#fff;border:1px solid #e4e3d9;padding:10px 10px 0;border-radius:18px;box-shadow:0 12px 35px #455c5010;transform:rotate(1deg)}
.welcome-art img{width:100%;height:auto;display:block;border-radius:11px}
.welcome-art figcaption{font-size:11px;color:#687a71;text-align:center;padding:13px 8px;letter-spacing:.3px}
.actions{gap:10px;margin:24px 0 30px}.actions .button{font-size:13px;padding:12px 16px}.actions .text-link{font-size:13px}
.button{border-radius:10px;min-height:46px}.welcome-foot{font-size:11px;letter-spacing:.8px;color:#64766c;margin-top:18px}
section{padding:40px 0}.resource-link{border-radius:12px;padding:20px 22px;box-shadow:0 3px 10px #263d2b03;transition:border-color .2s,background .2s}.resource-link small{color:#63746a;font-size:12px}.resource-link .symbol{background:#edf2ee;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;flex:none}
#start-resources .resource-link:first-child{grid-column:1/-1;background:#e5eeeb;border-color:#d6e3dd}
.rhythm{background:#edf0e8;border:1px solid #e1e6d8;padding:30px 34px;border-radius:18px}.rhythm ol{line-height:1.8}
.section-heading p{font-size:13px;max-width:250px}
.week-jump{display:flex;flex-wrap:wrap;gap:8px;margin:2px 0 24px;overflow:visible;padding:0}
.week-jump a{font-size:13px;min-height:42px;border:1px solid #d4dfd9;background:white;border-radius:30px;padding:8px 16px;text-decoration:none}
.week-jump a:hover,.week-jump a:focus-visible{background:var(--teal);color:white}
details{border-radius:14px;box-shadow:0 3px 12px #14352603}.week-name strong{font-size:16px;letter-spacing:-.25px}.week-number{font-family:Montserrat,Arial,sans-serif;font-size:21px;font-weight:500;width:49px;height:54px;border-radius:50% 50% 13px 13px;background:#e3eadc;color:#51614a}.week-body{padding:30px}.week-body>h3{max-width:720px;line-height:1.55}.week-body>p{font-size:15px}.week-body .eyebrow{color:#786252}details[open] summary{background:#eaf0e6}.ideas{background:#f8f5ef;border:0;border-radius:10px;padding:22px}.ideas h3{font-size:16px}.ideas li{margin:7px 0}
.reflection-layout{display:grid;grid-template-columns:.9fr 1.15fr;gap:22px;align-items:start;margin-top:24px}.reflection-art{margin:0;position:sticky;top:30px}.reflection-art img{width:100%;height:auto;border-radius:13px;display:block;border:1px solid #e8e4da}.reflection-panel{margin:0;background:#f0e5df;padding:26px}.reflection-panel h3{font-size:19px}.reflection-panel ul{grid-template-columns:1fr;gap:12px;line-height:1.75}.support{padding:40px 0}.support h2{font-size:27px}.access h2{font-size:27px}.access>div{max-width:640px}.access-note{font-size:14px;line-height:1.8}.access-help{box-shadow:none;background:transparent;border:0;margin:0 0 20px}.access-help summary{padding:0;font-size:14px;gap:20px;color:var(--teal);justify-content:space-between}.access-help[open] summary{background:transparent}.access-help p{font-size:14px;margin-top:14px;padding-right:15px}.access img{flex:none}
@media(min-width:1650px){main{padding-inline:6%}.welcome-grid{gap:55px}}
@media(max-width:1100px){aside{width:220px;padding-inline:16px}main{margin-left:220px;padding-inline:4%}.brand-logo{width:130px;height:130px}.welcome-grid{grid-template-columns:1fr}.welcome-art{max-width:500px;transform:none}.welcome-art figcaption{font-size:12px}.reflection-layout{grid-template-columns:1fr}.reflection-art{position:static;max-width:530px}.resource-grid{grid-template-columns:1fr}.welcome p{font-size:16px}}
@media(max-width:700px){aside{width:auto;overflow:visible;padding:13px 20px}.brand{flex-direction:row;text-align:left;gap:16px}.brand-logo{width:75px;height:75px}.brand-caption{font-size:11px}.side-footer{display:none}aside nav{margin-top:12px}.side-title{display:none}main{margin-left:0;padding-inline:20px}header{font-size:10px;letter-spacing:.6px;flex-wrap:wrap;padding:15px 0;gap:10px}.account-links{font-size:11px;gap:12px}.welcome{padding-top:27px}.welcome-grid{gap:0}h1{font-size:34px}h1 span{font-size:19px}.welcome-art{margin-top:4px;border-radius:12px}.welcome-foot{font-size:10px;letter-spacing:0}.week-jump{margin-top:0;gap:7px}.week-jump a{font-size:12px;padding:8px 13px}summary{gap:13px}.week-name strong{font-size:15px}.week-body{padding:20px}.week-number{width:39px;height:47px;font-size:18px}.resource-link{font-size:14px;padding:17px}.rhythm{padding:25px}.access-help{width:100%}.reflection-panel{padding:23px}footer{font-size:11px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}

/* Gentle brand accents, using the botanical margin of the existing floorbook. */
.brand-logo{width:168px;height:168px}
.brand{gap:10px}.side-title{margin-top:24px}
.botanical-heading{position:relative;padding-right:52px;min-height:42px}
.botanical-sprig{position:absolute;right:0;top:-8px;display:block;width:26px;height:48px;background-image:url('assets/inner-garden.png');background-repeat:no-repeat;background-size:531px 376px;background-position:-374px -49px;mix-blend-mode:multiply;opacity:.8;mask-image:radial-gradient(ellipse,black 40%,transparent 72%);pointer-events:none}
.section-heading>div{min-width:0;flex:1}
.welcome-foot{border-top-color:var(--blush);border-bottom-color:var(--blue)}
.welcome-art{border-color:var(--blush)}
.rhythm{background:#edf2f1;border-color:#d3e0df}
.reflection-panel{background:#f4eae7;border-top:3px solid var(--blush)}
#week-list>details{--week-accent:#55868c;--week-tint:#edf3f3;--week-badge:#aec2c7;border-left:3px solid var(--week-accent)}
#week-list>details:nth-child(3n+2){--week-accent:#b79690;--week-tint:#f7efed;--week-badge:#e4cec9}
#week-list>details:nth-child(3n){--week-accent:#aa8a78;--week-tint:#f6f0eb;--week-badge:#e7d9cf}
#week-list>details[open]>summary{background:var(--week-tint)}
#week-list .week-number{background:var(--week-badge);color:#0d4a49}
#week-list .ideas{border-left:2px solid var(--week-accent);background:var(--week-tint)}
#week-list .resource-link .symbol{background:var(--week-tint);color:var(--teal)}
.week-jump a:nth-child(3n+1){border-color:#aec2c7}.week-jump a:nth-child(3n+2){border-color:#e4cec9}.week-jump a:nth-child(3n){border-color:#cbb6a9}
.portal-address{font-size:13px;overflow-wrap:anywhere}.portal-address a{text-underline-offset:4px}
@media(max-width:1100px){.brand-logo{width:150px;height:150px}}
@media(max-width:700px){.brand-logo{width:88px;height:88px}.botanical-heading{padding-right:42px}.botanical-sprig{right:0;transform:scale(.85);transform-origin:right top}.side-title{display:none}}


