@font-face{font-family:"Cheile Fraunces";src:url(assets/fonts/fraunces-sub.woff2) format("woff2");font-weight:300 500;font-style:normal;font-display:swap}
@font-face{font-family:"Cheile Fraunces";src:url(assets/fonts/fraunces-italic-sub.woff2) format("woff2");font-weight:300 400;font-style:italic;font-display:swap}
@font-face{font-family:"Cheile Jost";src:url(assets/fonts/jost-sub.woff2) format("woff2");font-weight:400 500;font-style:normal;font-display:swap}
@font-face{font-family:"Cheile Serif Fallback";src:local("Georgia");size-adjust:104%;ascent-override:92%;descent-override:24%}
@font-face{font-family:"Cheile Serif Fallback";src:local("Georgia Italic"),local("Georgia-Italic");font-style:italic;size-adjust:100%;ascent-override:95%;descent-override:25%}
@font-face{font-family:"Cheile Sans Fallback";src:local("Arial");size-adjust:93%;ascent-override:106%;descent-override:37%}
@keyframes rise{from{transform:translateY(12px)}to{transform:none}}
:root{--over:clamp(64px,8vw,120px);--side:300px;--colgap:clamp(48px,6.5vw,104px);--lift:clamp(72px,11vw,200px);--beige:#F5EFE4;--panel:#EAE1CF;--green:#49744D;--sage:#79A567;--sage-tint:#E2EBDB;--sage-mid:#C9DABE;--moss:#49744D;--forest:#2C4430;--cream:#FFFEE9;--ink:#2E3529;--ink-deep:#1F261C;--muted:#5A6250;--on-dark:#E9E2D2;--serif:"Cheile Fraunces","Cheile Serif Fallback",Georgia,serif;--sans:"Cheile Jost","Cheile Sans Fallback",system-ui,sans-serif;--wrap:1320px;--gutter:clamp(20px,4vw,48px);--feather:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='11 30 599 430'%3E%3Cpath d='M214 459c-3-1-5-1-6-1c-1 0-2-1-3-1c-1-1-3-1-3-1c-2 0-5-1-7-3c-1 0-2-1-3-1c-4-1-16-8-21-12c-1-1-2-2-3-3c-2 0-4-2-5-3c-2-1-3-2-4-2c-2 0-3-1-8-5c-5-4-10-7-13-7c-1 0-2-1-3-1c0 0-2-1-3-1c-2 0-3-1-4-1c-1-1-3-1-4-1c-4-1-1-2 6-2c4 0 5 0 7 1c2 1 4 1 5 1c1 0 2 0 3 1c1 1 3 1 3 1c1 0 2 0 3 1c2 1 3 1 3 1c1 0 6 2 10 4c5 4 6 4 7 4c1-1 0-2-3-3c0-1-2-2-3-3c-2-2-6-4-7-4c-1 0-2-1-3-1c-1-1-1-1-3-1c-1 0-2-1-2-1c1-1 3-1 4 0c0 0 2 0 3 1c4 0 12 3 17 5c1 0 3 1 3 1c1 0 2 1 3 1c0 0 1 1 2 1c1 1 2 1 3 2c1 1 2 2 4 3c1 1 3 2 3 3c3 2 6 5 8 6c1 0 2 1 3 2c0 1 2 2 3 2c1 1 2 2 3 2c1 1 2 2 3 2c1 1 2 1 3 2c2 1 2 1 6 3c1 0 2 1 3 1c0 0 1 0 3 1c1 1 3 1 3 1c1 0 6 2 6 3c0 1-1 1-7 1c-5 0-6 0-7 1c-2 1-6 1-8 0zM151 455c-1-1-2-2-3-3c-1-1-3-2-4-2c-2-1-3-2-8-7c-6-6-10-9-14-11c-1 0-3-2-5-3c-1-1-5-3-9-5c-3-1-6-3-6-3c0-1-2-1-2-2c-2 0-3-1-3-2c1 0 6-1 9 0c1 0 3 1 4 1c1 0 3 1 4 1c1 0 3 1 4 1c1 0 2 0 3 1c1 0 2 1 2 1c1 0 2 0 2 1c1 0 2 1 4 2c9 6 15 12 20 22c3 7 4 9 2 8zM256 449c-1 0-4-1-5-1c-2 0-3 0-4-1c-1 0-3-1-3-1c-2 0-3-1-7-3c-1 0-3-1-4-2c-3-2-7-4-14-8c-2-1-5-3-10-6c-1-1-3-2-5-3c-1-1-3-2-3-2c-1-1-2-1-3-2c-3-2-7-4-9-4c-1 0-2-1-2-1c-1 0-2-1-3-1c-3 0-8-3-8-3c0-1 9 0 12 0c2 1 5 1 6 1c2 0 4 1 4 1c1 0 3 1 4 1c1 0 3 1 3 1c1 0 2 1 3 1c1 0 2 1 2 1c1 0 2 1 3 1c0 0 2 1 3 1c1 1 2 1 2 1c1 0 5 2 11 6c2 2 10 6 11 6c0 0 1 0 2 1c2 1 4 1 3 0c-1-1-4-3-5-3c-1-1-2-1-3-2c-12-8-15-10-19-12c-8-4-9-4-10-4c0 0-1 0-2-1c-1 0-2-1-3-1c-1 0-2-1-3-1c-1 0-2-1-3-1c-1 0-2-1-1-2c2-1 19 0 22 1c0 1 2 1 3 1c1 0 3 1 4 1c1 0 2 1 3 1c1 0 3 1 3 1c1 0 2 1 3 1c1 0 3 1 3 1c1 0 2 1 2 1c2 0 9 4 13 6c1 1 3 1 4 2c1 1 3 2 4 2c1 1 2 2 2 2c1 0 6 2 6 3c1 0 1 1 2 1c1 0 3 1 5 2c2 1 4 2 5 2c1 0 2 1 3 1c0 0 2 1 3 1c1 0 3 1 4 1c2 1 3 1 8 1c6 0 7 1 8 2c0 1-1 1-3 2c-1 0-2 1-2 1c-3 1-12 5-15 5c-1 0-3 1-5 1c-4 1-20 1-25 0zM312 429c-1 0-3-1-5-1c-1 0-3-1-4-1c-1 0-3-1-5-1c-2 0-3 0-4-1c-1 0-3-1-3-1c-1 0-2-1-3-1c0 0-1-1-2-1c0 0-2-1-4-3c-4-2-8-4-13-6c-2-1-4-2-6-3c-1-1-2-2-3-2c0 0-1 0-2-1c-1 0-2-1-2-1c-1 0-2 0-4-1c-1-1-3-2-5-2c-6-3-5-3 5-3c6 0 7 0 9 1c1 0 3 1 5 1c3 0 4 0 6 1c1 1 2 1 3 1c0 0 1 0 2 1c1 0 2 1 3 1c1 0 2 1 3 1c1 1 5 3 7 3c2 0 3 1 4 1c1 1 2 1 3 1c1 0 3 1 3 1c1 0 2 1 3 1c1 0 2 0 3 1c2 0 3 1 5 1c2 0 4 1 5 1c2 0 4 0 4-1c0-1-3-2-5-2c0 0-2 0-3-1c-1 0-2-1-3-1c-1 0-3 0-3-1c-1 0-3-1-4-2c-3-1-6-2-9-4c-1-1-3-1-3-1c0 0-1 0-2-1c0 0-2-1-2-1c-1 0-3-1-3-1c-1-1-2-1-3-1c-1-1-2-1-3-1c0-1-2-1-3-1c-1-1-3-1-4-1c-2-1-3-1-4-1c-2-1-3-1-2-2c1 0 13 0 20 1c1 0 2 0 2-1c0 0-3-2-5-2c-2 0-5-2-4-2c1-1 11 0 13 1c1 0 3 1 4 1c1 0 3 0 4 1c1 0 3 1 4 1c2 0 4 1 4 1c1 0 3 1 4 1c1 0 3 1 4 1c1 1 2 1 2 1c1 0 1 0 2 0c4 3 6 4 7 4c1 0 2 1 3 1c1 1 2 1 2 1c1 0 2 0 3 1c1 0 2 1 3 1c1 0 2 0 3 1c1 0 3 1 4 1c1 0 2 1 3 1c3 1 15 1 21 0c7-1 7 0 2 4c-8 6-13 9-15 9c-1 0-2 1-3 1c-3 2-4 3-7 3c-1 0-3 1-4 1c-1 1-3 1-6 1c-3 0-6 0-8 1c-4 0-12 0-14 0zM53 409c0-1-5-1-11-1c-6 0-11 0-12 0c-1 0-3 0-5 0c-1-1-4-1-5-1c0 0-3 0-4 0c-4-1-4-1-4-3c0-2 1-2 8-3c1-1 3-1 4-1c0-1 1-1 6-2c3 0 11-2 17-3c7-2 9-2 14-1c6 0 17 0 24-1c5 0 6 0 9 0c3 1 4 1 7 1c2-1 6-1 9-1c3 0 7 0 9-1c2 0 7 0 11 0c6 0 9 0 10-1c2 0 4 0 4 0c1-1 5-1 9-1c5 0 7 0 9-1c0 0 4-1 7-1c3 0 7-1 9-1c1 0 4-1 6-1c1 0 3-1 4-1c2 0 3-1 5-1c1 0 3 0 4-1c1 0 4-1 6-1c1 0 4-1 5-1c1 0 4-1 5-1c2 0 4-1 5-1c1 0 2-1 4-1c1 0 2-1 3-1c1-1 2-1 3-1c1 0 2-1 3-1c1-1 2-1 4-1c1 0 3-1 4-1c1-1 2-1 3-1c1 0 2 0 3-1c1-1 2-1 3-1c1 0 2 0 3-1c1 0 3-1 4-1c1 0 2-1 3-1c0-1 1-1 2-1c0 0 1 0 2-1c1-1 2-1 2-1c1 0 2 0 3-1c1-1 2-1 3-1c0 0 1 0 2-1c1-1 3-1 3-1c1 0 2 0 3-1c1 0 2-1 3-1c1 0 3-1 3-1c1-1 2-1 2-1c1 0 4-1 7-3c3-2 6-3 7-3c0 0 1 0 2-1c1-1 3-1 3-1c0 0 1 0 2-1c1 0 2-1 3-1c1 0 2-1 2-1c0 0 1-1 3-2c2-1 4-2 4-2c3-1 6-3 7-3c0 0 2-1 3-2c1-1 2-2 3-2c1-1 3-2 5-3c2-1 4-3 5-3c1-1 2-1 3-2c1 0 2-1 4-2c2-1 3-2 3-2c0 0 1-1 2-1c2-1 6-4 8-5c1 0 2-1 2-1c1-1 1-1 1-1c1 0 8-4 9-5c1-1 2-2 4-3c1-1 3-2 4-3c2-2 4-3 5-4c6-4 11-8 11-8c0 0 1-1 2-1c1-1 3-2 4-3c1-1 3-2 4-3c1 0 2-2 4-3c1-1 3-3 5-4c5-4 8-7 17-15c10-10 12-12 14-15c2-1 3-3 5-4c1-1 5-4 11-10c5-5 10-9 10-10c3-2 5-4 7-6c1-1 4-5 8-9c5-5 8-9 13-15c2-1 4-4 6-6c2-2 4-4 4-5c1-2 2-3 5-6c2-2 4-4 5-6c1-2 3-4 4-5c1-1 2-3 3-4c0-1 1-1 1-2c0 0 1-1 2-2c0-1 1-2 2-3c2-2 2-5 0-3c-1 1-5 6-6 8c-1 1-1 2-2 2c0 0-1 2-1 3c-1 1-3 3-9 9c-5 5-9 9-10 10c-4 5-7 6-5 2c0-1 1-2 2-4c2-6 3-9 4-11c1-1 1-2 1-2c0 0 0-1 1-2c1-3 3-6 3-7c0 0 1-2 1-3c1-1 1-2 1-2c0 0 0-2 1-3c1-1 1-2 1-2c0 0 0-1 1-2c1-3 1-4 1-7c1-2 1-3 1-4c1-1 1-2 1-3c0-1 1-2 1-3c1-2 2-7 0-9c0-2-1-1-1 1c-2 6-2 7-3 8c0 1-1 1-1 2c0 1-1 2-1 3c-1 1-1 2-1 3c0 0 0 1-1 2c-1 1-1 2-1 3c0 0 0 1-1 2c0 1-1 3-1 4c0 0-1 2-1 3c-1 1-1 2-1 2c0 0 0 1-1 2c0 0-1 1-1 2c0 1-1 2-1 3c0 0-1 1-1 2c0 1-4 9-5 12c-7 11-13 19-14 19c0 0 0 0 0-1c0 0 1-2 1-3c0 0 1-2 1-3c1-1 1-2 1-2c0-1 0-2 1-3c1-1 1-2 1-3c0 0 0-1 1-2c0-2 1-5 1-10c0-2 2-8 3-12c1-1 1-2 1-3c0-1 0-2 1-3c1-2 1-3 1-3c0 0 0-2 1-3c1-1 1-2 1-3c0 0 2-4 2-6c1 0 1-1 2-2c0-1 1-2 1-2c0-1 1-1 1-2c0-1 1-2 1-2c0 0 1-1 1-2c0-1 3-6 3-7c1-1 2-3 3-4c1-2 2-4 3-5c1-1 2-3 3-4c5-8 16-18 19-20c2-1 4-2 6-4c4-3 13-9 14-9c2 0 1 2-4 7c-3 3-6 7-8 12c0 1-1 3-2 3c0 1 0 2-1 3c-1 2-1 3-3 5c0 1-1 2-1 3c0 1-1 2-1 2c0 1-1 2-1 3c0 1 0 2-1 3c0 1-1 2-1 3c0 1 0 3-1 3c0 1-1 3-1 4c0 2-1 3-1 4c-1 1-1 3-1 3c0 1 0 3-1 4c-1 1-1 3-1 8c0 4 0 4 0 4c1 0 3-5 4-8c0-1 1-3 1-4c1-1 1-2 1-2c0 0 0-1 1-2c1-2 1-3 1-3c0 0 0-2 1-3c0-1 1-2 1-3c2-6 8-17 11-23c3-3 7-9 9-12c1-1 2-3 3-4c2-3 9-10 11-11c1-1 4-3 6-5c5-4 7-6 10-8c2-2 3-3 4-5c1-3 2-5 3-7c0-1 1-2 1-3c0-1 1-3 2-4c1-2 2-4 2-5c1-2 1-3 2-2c1 0 1 0 2 5c1 1 1 3 1 4c1 1 1 2 1 4c0 1 0 3 1 5c0 4 0 13 0 17c-1 2-1 4-1 5c0 1 0 3-1 5c0 1-1 3-1 4c0 1 0 3-1 4c-1 2-1 4-1 4c0 1 0 2-1 3c0 1-1 3-1 3c0 1 0 3-1 4c0 0-1 2-1 2c0 1 0 2-1 3c0 1-1 2-1 3c0 1-2 5-5 9c-2 4-4 7-5 9c-1 2-6 9-8 11c-1 1-2 3-4 4c-1 2-3 4-4 5c-2 1-4 3-6 5c-1 1-4 3-5 4c-1 1-3 2-3 3c-1 1-3 2-5 3c-1 1-3 2-4 3c-1 1-3 2-4 3c-1 1-4 3-7 5c-2 2-5 4-6 5c-1 0-3 2-4 3c-1 0-3 2-5 3c-3 2-6 5-24 23c-7 7-13 14-16 17c-2 3-5 6-6 7c0 1-2 2-3 4c-1 1-3 3-6 6c-5 4-9 8-12 12c-2 2-4 4-6 6c-3 2-4 3-4 4c-2 3-5 7-9 9c-1 1-3 3-5 4c-1 1-3 2-5 4c-1 1-6 5-10 9c-4 4-7 7-8 8c-1 0-3 2-4 3c-2 1-4 3-5 4c-2 0-4 2-4 3c-1 0-3 1-4 2c0 0-3 2-4 3c-2 2-4 4-5 4c-1 1-3 2-4 3c-1 1-2 2-3 2c-1 0-2 1-3 2c-2 1-3 2-3 2c0 0-2 2-4 4c-4 3-5 4-9 6c-1 0-2 1-3 1c0 0-1 1-2 1c-1 0-2 1-2 1c0 0-4 2-7 4c-4 2-7 4-8 4c0 0-2 1-4 2c-2 1-4 3-5 3c-1 1-3 2-4 2c0 0-2 1-3 2c-2 1-3 2-3 2c0 0-1 0-3 1c-1 1-4 2-6 3c-1 1-4 2-5 2c-1 1-2 2-3 2c-1 0-3 1-7 3c-1 1-2 1-3 1c-1 0-2 1-3 1c0 1-1 1-2 1c0 0-1 0-2 1c-1 0-3 1-4 1c0 0-2 1-2 1c-1 1-2 1-3 1c-1 0-2 1-3 1c-1 1-2 1-2 1c-1 0-2 0-3 1c-1 0-3 1-4 1c-1 0-3 1-4 1c-2 1-4 2-7 3c-1 0-3 1-4 1c-1 0-2 1-3 1c0 0-2 0-2 0c-1 1-3 2-4 2c-1 0-2 1-3 1c-1 0-2 1-3 1c-2 0-3 1-3 1c-1 0-3 1-4 1c-2 0-4 1-5 1c-1 1-2 1-3 1c-1 0-2 0-3 1c-1 0-3 1-4 1c-1 0-3 1-4 1c-1 1-3 1-4 1c-1 0-2 0-3 1c-2 1-3 1-6 1c-2 0-4 0-5 1c-1 1-3 1-6 1c-3 0-4 1-6 1c-1 1-3 1-7 1c-4 0-6 0-7 1c-2 1-3 1-9 1c-5 0-8 0-10 1c-2 0-7 1-12 1c-2 0-5 0-7 0c-7 1-13 1-20 2c-3 0-7 0-9 0c-3 1-10 1-16 1c-6 0-13 1-15 1c-5 0-10 1-10 1zM361 398c-6 0-8 0-11-1c-2 0-4-1-6-1c-1 0-2-1-3-1c-1 0-2-1-3-1c-1 0-2-1-3-1c0 0-2-1-3-1c-2-1-7-2-8-3c-1-1-6-3-8-3c-1 0-2 0-3-1c-2 0-4-1-5-1c-4-1-8-2-7-3c2-2 36-1 40 0c1 0 2 1 5 1c1 0 4 1 5 1c1 0 3 1 5 1c2 0 4 1 6 1c2 1 2 1 24 1c16 0 23 0 23 0c0 1-2 3-4 4c-4 2-8 4-9 4c0 0-1 0-2 1c-1 0-3 1-4 1c-1 0-3 1-4 1c-2 1-11 2-16 2c-1 0-5-1-9-1zM65 386c-2 0-2 0-2-1c1 0 6-3 8-3c2 0 9-4 13-6c3-1 4-2 9-5c1-1 3-2 4-3c1-1 2-2 3-2c2-2 7-7 9-11c6-8 6-8 7-7c0 1-2 6-4 9c-2 3-2 4-1 4c2 0 10-9 15-16c1-2 3-5 4-6c0 0 1-2 2-3c1-3 14-15 18-18c8-5 11-7 14-8c0 0 1-1 2-1c0-1 1-1 1-1c1 0 2 0 3-1c6-3 11-3 8-1c-8 5-10 8-16 19c-3 7-4 10-6 13c-1 3-1 5-2 7c-1 3-5 11-7 13c0 0-1 1-1 2c0 0 0 1-1 1c0 1-1 2-1 3c-1 0-1 1-2 2c-1 0-2 2-4 3c-1 1-3 3-4 3c-1 1-3 2-4 2c-2 1-2 2-4 2c-1 0-3 1-4 1c-1 1-3 1-4 1c0-1 0-2 2-2c4-2 14-13 17-17c0-1 1-2 2-3c1-1 3-6 3-6c-1-1-2 1-2 1c0 1 0 1-1 2c0 0-1 1-2 2c-2 3-14 15-15 16c-1 0-2 0-3 1c-1 0-2 0-3 1c-2 1-7 5-8 5c-1 0-2 0-3 1c-1 0-2 1-3 1c-1 0-2 1-2 1c-1 0-3 1-4 1c-1 0-2 1-3 1c-1 0-3 1-5 1c-3 0-6 1-8 1c-5 1-13 2-15 1zM385 381c-1 0-3 0-4 0c0-1-2-1-3-1c-2 0-4-1-5-1c-1 0-3-1-4-1c-1 0-3-1-4-1c-1 0-2-1-3-1c-1 0-3-1-5-2c-4-2-4-2-9-2c-17-1-24-3-13-4c3 0 6-1 7-1c5-1 20-1 22 0c2 1 3 1 8 1c4 0 6 0 8 1c4 1 14 1 15 0c1-1-4-3-12-3c-5 0-6 0-7-1c-2 0-3-1-5-1c-3 0-4 0-5-1c-1-1-2-1-12-1c-11 0-14 0-14-1c0-1 6-3 8-3c1 0 3-1 4-1c1-1 3-1 5-1c3 0 5-1 7-1c4-1 24-1 28 0c2 0 4 1 7 1c3 0 7 1 9 1c5 1 23 1 27 0c1-1 3-1 4-1c1 0 2 0 4-1c2-1 3-1 4 0c3 1-1 6-8 10c-2 1-3 3-5 3c-3 3-7 5-8 6c-1 0-3 1-4 1c-4 2-6 3-8 3c0 0-2 1-4 1c-1 1-3 1-5 1c-1 0-4 0-5 0c-4 1-10 1-15 1zM176 373c0 0 1-1 1-1c2-1 4-2 9-7c2-2 5-5 6-5c0-1 1-2 1-3c1-1 1-2 2-3c1-1 1-1 1-1c0-1 2-6 3-7c0 0 1-1 1-2c0-1 1-2 1-2c0 0 1-2 1-3c0-1 1-3 1-4c1-2 1-6 0-6c0 0-2 3-3 6c0 1-1 2-1 3c-1 1-1 2-1 2c0 0 0 1-1 2c0 0-1 1-1 2c0 1-1 1-1 2c0 0-1 1-1 2c0 1-1 2-1 2c-1 1-1 2-2 3c-1 1-2 3-2 3c0 1-1 2-2 3c-3 5-10 11-13 11c0 0-1 0-2 1c-4 2-4 0 1-5c4-4 6-7 9-12c0-1 1-2 1-3c2-3 3-5 3-7c0-1 0-2 1-4c0-1 1-4 1-5c0-2 1-4 1-5c0-1 1-3 1-4c0-2 1-4 1-4c0-1 1-2 1-2c0-3 4-9 8-14c3-6 16-15 22-16c1 0 2-1 2-1c1 0 2-1 2-1c1 0 2-1 3-1c1-1 3-1 4-1c0 1-1 2-4 6c-5 5-9 13-9 18c0 1-1 4-1 5c-1 5-1 11 0 12c1 1 0 3-2 8c0 1-1 2-1 3c0 2-4 8-5 10c-3 4-14 15-17 17c-1 0-2 1-2 1c-2 2-4 4-6 4c-2 0-5 2-7 3c-1 1-3 1-3 0zM214 362c0 0 1-1 3-3c3-4 5-6 5-7c0-1 1-2 1-2c1-1 1-2 2-4c1-1 2-3 2-3c1-2 3-6 3-9c0-1 1-3 1-4c0-1 1-3 1-5c0-1 1-3 1-5c1-1 1-2 1-3c0-1 1-2 1-2c0-1 1-2 1-3c0-1 1-3 1-4c1 0 1-2 1-2c2-6 6-13 11-18c7-6 10-8 12-9c1-1 2-2 3-2c1-1 2-1 4-2c1-1 3-2 3-2c3-2 7-3 8-4l2 0-1 2c0 0-3 3-6 6c-5 5-7 7-8 10c0 1-1 2-1 3c-1 1-1 2-1 3c0 0 0 1-1 2c-1 2-1 3-1 3c0 1 0 2-1 3c-1 2-1 3-1 8c0 5 0 6-1 8c-1 2-1 3-1 5c0 1 0 2-1 3c0 1-1 3-1 3c0 1-1 3-1 4c-1 1-1 2-1 2c0 1-2 4-3 6c-1 1-2 3-3 4c-3 4-9 10-12 12c-1 0-3 1-4 2c-4 4-6 4-3 0c3-3 5-5 5-6c0-1 1-2 1-2c0 0 1-2 2-3c1-1 2-3 2-3c1-1 5-10 5-11c0 0 0-1 1-2c1-2 1-7 1-8c0-2-2 0-2 2c0 0 0 2-1 3c0 1-1 2-1 3c0 1 0 2-1 3c0 0-1 2-1 3c-1 2-3 5-4 6c-1 1-3 3-5 6c-4 5-7 8-10 10c-5 4-7 4-7 3zM253 353c0 0 1-1 2-2c1-1 3-3 4-5c2-1 4-4 5-6c2-1 3-3 4-4c0-1 1-2 1-3c1-1 1-1 1-2c0 0 0-1 1-2c1-1 1-2 1-2c0-1 0-2 1-3c0-1 1-2 1-2c0-1 1-2 1-2c1-1 1-1 1-2c0 0 0-1 1-3c0-1 1-4 1-6c0-1 1-4 1-5c0-1 1-2 1-3c1-3 2-7 6-15c1-3 2-5 2-5c0 0 1-1 2-2c1-1 2-3 3-4c3-6 16-17 19-17c0 0 1 0 2-1c1 0 2-1 3-1c0-1 1-1 1-1c0 0 1 0 2 0c2 0 2-1 4-2c1 0 3-1 4-2c3-1 4-3 10-7c9-6 13-7 9-2c-1 1-3 3-3 4c-1 1-2 3-3 4c-4 5-6 8-7 15c-1 2-1 4-1 5c-1 0-1 2-1 3c0 2-1 4-1 6c-1 4-1 19 0 20c1 0 3-4 3-6c0-3 1-4 1-4c1 1 1 4 0 6c0 0-1 2-1 3c0 2-4 10-6 13c-1 1-1 2-2 3c0 1-1 2-1 2c0 1-1 2-2 3c-4 5-8 10-13 12c-3 2-4 2-2-1c0-1 1-2 2-3c0-1 1-3 2-4c2-3 4-7 4-10c0-1 1-3 1-4c1-1 1-3 1-6c0-2 1-5 1-6c1-3 1-10 1-17c0-2-1-2-2 1c0 1-1 3-1 4c-1 1-1 2-1 3c0 0 0 2-1 4c0 2-1 5-1 6c0 4 0 4-2 6c-1 1-2 2-2 3c0 1 0 3-1 3c0 1-1 2-1 3c0 2-3 7-7 13c-1 1-2 3-3 4c-1 2-4 6-6 6c-2 1-2-1 1-3c1-1 3-5 3-8c1-1 1-3 1-3c3-7 3-11 3-18c1-3 1-5 1-7c1-2 2-9 1-9c0-2-1 0-2 3c0 1-1 2-1 3c0 0-1 2-1 3c0 0-1 2-1 3c-1 1-1 2-1 2c0 0 0 1-1 2c-1 1-1 2-1 3c0 0 0 2-1 3c-1 1-1 2-1 2c0 1 0 2-1 3c0 1-1 2-1 2c0 1 0 2-1 3c0 0-1 2-1 2c0 1-1 2-1 2c0 0-1 1-1 2c-3 7-12 16-18 20c-1 1-2 2-3 3c-3 2-4 3-6 3c0 0-2 1-3 1c-1 1-3 1-3 0zM437 349c0 0-2 0-4 0c-2-1-6-1-8-1c-2-1-5-1-7-1c-1-1-3-1-6-1c-2-1-4-1-5-1c-1-1-3-1-4-1c-3-1-4-1-5-2c-1-1-2-1-16 0c-8 0-10 0-9-1c0 0 1-1 2-1c1 0 3-1 3-1c1-1 2-1 4-1c2 0 4 0 6-1c2 0 5-1 6-1c2 0 5-1 6-1c5-1 23-2 26 0c2 1 3 1 8 1c5 0 6 0 7 1c3 1 12 1 25 1c2-1 2 0 0 2c-1 1-10 6-12 6c0 0-1 0-2 1c-5 2-10 3-15 2zM437 330c-6 0-7 0-11-1c-5-2-15-2-25-1c-5 0-5 0-6 0c0-1 0-2 2-2c1 0 2-1 3-1c0 0 2-1 3-1c1 0 2-1 3-1c1-1 3-1 4-1c3 0 4-1 5-1c2-1 3-1 7-1c5 0 12-1 16-1c1 0 3-1 5-1c2 0 4-1 5-1c1 0 3-1 4-1c3 0 5-1 5-2c0-1-8 0-12 1c-6 1-9 1-12 0c-3 0-6 0-9 0c0 1-3 1-5 1c-3 0-4 0-5 1c-3 1-6 1-6 0c0-1 10-7 11-7c1 0 2 0 3-1c1-1 2-1 2-1c1 0 2 0 3-1c1-1 3-1 4-1c2 0 3-1 4-1c1-1 2-1 4-1c1 0 3 0 4-1c2 0 4-1 6-1c2 0 4-1 5-1c1-1 3-1 7-1c4 0 7-1 8-1c1 0 5-1 11-1c7 0 9 0 10-1c1 0 3-1 5-1c2 0 2-1 5-2c2-1 4-2 4-2c1 0 2-1 3-1c5-3 3 3-4 11c-2 2-14 12-17 14c-4 4-12 8-14 8c0 0-1 0-2 1c-1 0-2 1-3 1c0 0-2 1-2 1c-1 1-2 1-2 1c-1 0-2 0-4 1c-3 1-11 1-22 1zM343 313c1-1 1-3 2-4c3-4 5-9 5-9c0 0 0-1 1-2c0-1 1-2 1-3c0-1 1-2 1-3c1-1 1-2 1-3c0-1 0-2 1-3c0-1 1-3 1-5c0-1 1-3 1-4c1-3 1-9 0-7c-1 0-3 5-3 8c0 1 0 2-1 3c0 1-1 2-1 4c0 2-1 3-2 2c0-1 0-4 1-7c1-2 1-3 1-8c0-5 0-6 1-8c0-1 1-3 1-5c0-2 0-3 1-5c1-1 1-2 1-3c0-1 0-2 1-3c0-1 1-3 2-4c1-3 2-6 4-8c0-1 1-2 2-2c1-3 16-18 20-21c1-1 3-2 4-3c1-1 3-3 4-3c1 0 2-1 3-2c3-2 4-1 2 2c-4 5-7 10-8 13c-1 2-1 3-2 4c0 0 0 2 0 2c0 1 0 3-1 4c-1 1-1 2-1 5c0 2-1 5-1 7c-2 11-1 15 2 11c1-1 1-2 1-4c0-3 0-4 1-4c1 0 1 3 0 8c0 2-1 5-1 6c0 2-1 4-1 5c0 1-1 3-1 4c0 1-1 3-1 4c0 1-1 2-1 3c0 1 0 2-1 3c0 1-1 2-1 2c0 0 0 1-1 2c0 1-1 2-1 2c0 1-1 2-2 3c0 1-2 2-2 3c-1 1-2 3-2 4c-1 0-2 2-3 3c-2 4-4 5-6 5c-2 0-2-1 0-3c1-2 2-3 2-5c0 0 0-1 1-2c0-1 1-3 1-4c0-1 0-2 0-3c1-3 2-14 1-15c0 0-2 2-2 4c-1 1-1 2-2 3c0 1 0 2 0 3c0 1 0 2-1 3c0 1-1 2-1 3c0 2-3 7-4 9c-1 1-2 3-2 3c-1 1-2 3-2 4c-1 0-2 2-3 2c-1 2-7 8-8 9c-1 1-2 1-2 0zM440 292c-2-1-1-2 2-4c4-2 12-5 14-5c0 0 1 0 2-1c1-1 1-1 2-1c1 0 2 0 3-1c1 0 2-1 3-1c1 0 2-1 3-1c1-1 1-1 2-1c3 1 4 0 5-1c0-1 1-2 4-2c2 0 3 0 4-1c1 0 2-1 3-1c3 0 8-3 8-3c0-1-3-1-5 0c-2 1-3 1-7 1c-3 0-4 0-6 1c0 0-2 1-4 1c-1 0-3 1-4 1c-1 0-3 1-5 1c-2 0-3 1-5 1c0 1-2 1-3 1c-1 0-3 1-4 1c-2 2-3 1-1-1c3-3 4-4 7-6c5-2 6-3 8-4c1 0 2-1 2-1c1-1 1-1 2-1c0 0 1 0 2-1c1 0 2-1 3-1c1 0 2-1 3-1c1-1 2-1 3-1c1 0 2-1 3-1c1-1 3-1 3-1c1 0 3-1 3-1c1 0 3-1 4-1c2 0 4-1 5-1c2-1 3-1 5-1c2 0 3 0 4-1c1 0 3-1 5-1c1 0 3-1 3-1c0 0 2-1 3-1c1 0 2 0 2-1c1 0 2 0 3 0c0-1 1-1 2-2c1-1 1-1 2-1c0 0 1 0 2-1c2-1 5-3 6-3c2-1 7-5 9-6c3-3 3-2 1 1c-4 8-7 13-10 16c-1 1-3 4-4 6c-3 4-10 10-13 12c-2 1-3 2-4 3c-2 1-3 2-5 3c-2 1-4 2-4 2c-1 1-5 2-8 3c-1 0-2 1-3 1c-1 0-3 1-5 1c-1 0-3 1-4 1c-2 1-3 1-8 1c-4 0-6 0-7 1c-2 0-4 1-7 1c-3 0-6 1-8 1c-2 1-4 1-6 1c-2 0-3 0-5 1c-3 1-5 1-5 1zM395 282c0-1 1-3 3-5c1-1 2-3 3-4c0-1 1-2 2-3c1-1 3-5 6-10c0-2 1-4 2-5c0-1 1-3 1-4c0-1 1-2 1-2c0-1 1-2 1-3c0-2 1-3 1-4c1-1 1-2 1-5c0-4 0-5 1-6c1-2 1-11 1-11c-1 0-1 1-2 3c-1 1-1 3-2 4c0 0 0 2 0 2c0 1 0 3-1 4c0 1-1 2-1 4c0 1 0 2-1 3c0 1-1 2-1 3c0 1-1 2-1 3c-1 1-1 2-1 2c0 1 0 2-1 2c0 1-1 2-1 3c0 2-2 4-3 4c-1 0-1-20 0-23c0-1 1-3 1-4c0-2 1-4 1-4c0-1 1-3 1-5c0-1 1-3 1-4c0-1 1-3 1-5c1-2 1-5 2-6c1-3 9-18 11-20c0-1 1-2 1-2c1-1 2-3 2-4c1 0 2-2 3-2c4-6 13-16 15-17c2-1 3-2 4-4c2-3 5-5 6-4c0 0-1 1-1 2c0 0-1 1-1 2c0 0-1 3-3 5c-1 3-3 6-3 7c0 1-1 2-1 2c-2 5-3 7-3 8c0 1 0 2-1 4c0 1-1 3-1 5c0 2 0 3-1 4c-1 2-1 3-1 8c1 3 0 11-1 13c-1 1-1 3-1 7c0 3 0 5-1 7c0 1-1 3-1 5c-1 4-2 8-4 11c-1 1-4 6-4 7c0 0 0 1-1 2c0 1-1 2-1 2c0 1-1 2-2 3c0 0-1 2-2 3c-2 2-7 8-11 12c-3 2-6 5-7 7c-3 2-5 3-5 3zM482 245c0 0 2-3 4-3c0 0 2-1 3-2c4-3 14-8 17-8c1 0 2-1 3-1c1-1 2-1 3-1c2 0 3-1 4-2c0-1-1-1-3-1c-1 1-3 1-4 1c-1 0-2 0-4 1c-3 1-6 1-5 0c0-1 4-4 6-5c1-1 3-1 3-1c4-2 10-5 11-5c0 0 1 0 2-1c2 0 3-1 4-1c1 0 3-1 3-1c1-1 3-1 3-1c1 0 1 0 2-1c1-1 2-1 5-1c1 0 1 0 2-1c1 0 2-1 2-1c1 0 2-1 3-2c1 0 4-2 5-2c2-1 5-3 6-4c1-1 3-2 3-2c1-1 2-2 3-2c2-2 3-3 4-3c0 1-1 4-2 5c-1 1-1 2-1 2c0 1-1 2-2 3c-1 1-2 3-2 3c-2 3-8 11-13 16c-6 6-12 10-14 10c0 0-1 0-3 1c-1 0-2 1-3 1c-1 0-2 1-3 1c0 1-2 1-3 1c-1 0-3 1-4 1c-1 1-2 1-7 1c-4 0-6 1-8 1c-1 0-4 1-6 1c-2 0-4 0-5 1c-1 0-2 1-3 1c-1 0-3 1-3 1c-2 1-2 1-3 0zM442 241c0-1 1-2 2-4c1-1 2-3 2-3c0 0 0-1 0-1c1-1 2-3 3-4c0-2 1-4 2-5c1-3 3-7 3-7c0-1 0-2 1-2c1-1 1-3 1-4c0-1 1-2 1-3c0-1 1-3 1-4c0-1 1-3 1-4c0 0 1-2 1-4c0-1 1-3 1-4c0-1 1-2 1-3c0-1 0-3 1-4c1-4 1-7-1-5c-1 1-2 4-2 5c0 1 0 2-1 3c-1 1-1 3-1 3c0 1 0 2-1 3c0 1-1 3-1 4c0 0 0 2-1 3c0 0-1 2-1 2c0 1-1 3-1 4c-1 1-1 2-1 3c0 0 0 1-1 2c0 0-1 1-1 2c0 1 0 2-1 2c0 1 0 2-1 3c0 1-1 2-2 2c0-1 0-14 1-16c1-2 1-4 1-8c0-4 0-6 1-8c1-2 1-3 1-5c0-2 0-3 1-4c0-1 1-3 1-4c0-1 1-3 1-3c0-1 1-2 1-3c0-2 4-10 6-13c1-1 4-5 6-9c1-1 2-3 4-5c1-2 3-4 5-6c3-4 10-10 20-19c5-4 7-3 3 1c-3 3-8 12-8 14c0 0-1 2-2 5c-3 5-4 8-4 10c0 0 0 2-1 3c0 0-1 2-1 3c0 1-1 3-1 3c0 1-1 2-1 3c0 1-1 2-1 3c0 0-1 2-1 3c0 1-1 2-1 3c-1 1-1 2-1 4c0 3 0 4-1 5c-1 1-1 2-1 6c0 4 0 4-1 6c0 1-1 3-1 4c0 1-1 3-1 4c-1 1-1 2-1 3c0 0 0 1-1 2c0 1-1 2-1 3c0 1-1 2-2 3c-1 1-2 2-2 3c-3 8-23 36-22 29zM514 207c-1 0 0-2 7-7c1-2 3-4 4-5c1-1 3-3 4-4c1-1 3-2 4-3c1-1 3-3 5-4c2-2 4-4 6-5c1-1 3-2 4-3c2-2 4-3 5-4c1-1 3-2 4-3c2-1 4-3 5-3c0-1 2-3 4-4c5-4 7-6 8-8c0-1 1-2 5-6c2-2 5-5 6-6c0-2 2-4 2-4c1-1 2-3 3-4c1-2 3-3 3-3c0 1-1 7-2 9c0 0-1 1-1 2c0 0-1 1-1 2c-1 1-1 2-1 2c0 1-2 7-3 9c-1 1-1 2-1 3c0 0-1 3-4 8c-1 1-2 3-3 4c0 1-1 2-2 3c0 1-5 6-9 9c-7 7-23 18-26 18c-1 0-2 0-4 1c-1 1-3 1-3 1c-1 0-3 0-5 1c-1 1-3 1-4 1c0 0-2 1-2 1c-1 1-2 1-3 1c0 0-1 0-2 1c-2 1-3 1-3 0zM521 177c1 0 3-3 4-4c1-2 4-5 7-8c2-2 4-4 4-5c1-1 1-2 2-3c2-2 3-4 1-4c0 0-2 2-3 3c-1 1-3 4-4 5c-2 2-4 5-4 6c-1 1-3 3-5 5c-3 3-4 5-4 6c0 1 0 1 2-1z'/%3E%3C/svg%3E");--edge:max(var(--gutter),calc((100vw - var(--wrap)) / 2 + var(--gutter)))}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth;scroll-padding-top:140px}
body{background:var(--beige);color:var(--ink);font:400 18px/1.7 var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%;height:auto}
a{color:var(--moss)}
:focus-visible{outline:3px solid var(--moss);outline-offset:3px;border-radius:6px}
h1{font-family:var(--serif);font-weight:350;line-height:1.1;color:var(--ink);text-wrap:balance}
h2{font-family:var(--serif);font-weight:350;line-height:1.1;color:var(--ink);text-wrap:balance;font-size:clamp(34px,4vw,54px);letter-spacing:-.01em}
h3{font-family:var(--serif);line-height:1.1;color:var(--ink);text-wrap:balance;font-size:26px;font-weight:400}
h2 em{font-style:italic;font-weight:300;color:var(--moss)}
p{text-wrap:pretty}
li{text-wrap:pretty}
dd{text-wrap:pretty}
dt{text-wrap:pretty}
summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px;font:400 21px/1.35 var(--serif);text-wrap:balance}
.crumbs [aria-current]{color:var(--cream)}
details{border-bottom:1px solid rgba(78,107,62,.25);padding:22px 0}
details:first-of-type{border-top:1px solid rgba(78,107,62,.25)}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";font:300 26px/1 var(--sans);color:var(--green)}
details[open] summary::after{content:"−"}
details p{margin-top:12px;color:var(--muted)}
header{position:sticky;top:0;z-index:10;background:var(--green);border-bottom:1px solid rgba(31,38,28,.14)}
#nav ul{display:flex;gap:32px;list-style:none;padding:0}
#nav a{color:#fff;text-decoration:none;font-size:16px;font-weight:500}
#nav a:hover{color:#fff;text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:6px}
#nav a[aria-current="page"]{color:#fff;text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:6px}
header :focus-visible{outline-color:#fff}
footer.site{background:var(--ink-deep);color:#CFC8B8;font-size:15px;padding:64px 0 40px}
footer .tbc{background:rgba(255,241,184,.15);color:#FFF1B8;border-color:rgba(255,241,184,.6)}
.chip[aria-pressed="true"]{background:var(--green);border-color:var(--green);color:var(--cream)}
:where(body.cheile-home) section{padding:clamp(80px,10vw,140px) 0}
:where(body.cheile-home) h2::after{content:" ";display:inline-block;width:1.04em;height:.75em;margin-left:.12em;vertical-align:-.02em;background:var(--green);-webkit-mask:var(--feather) no-repeat center bottom/contain;mask:var(--feather) no-repeat center bottom/contain}
:where(body.cheile-home) nav ul{display:flex;gap:32px;list-style:none;padding:0}
:where(body.cheile-home) nav a{color:#fff;text-decoration:none;font-size:16px;font-weight:500}
:where(body.cheile-home) nav a:hover{color:#fff;text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:6px}
.faq details[open] summary::after{content:"−"}
/* restores declarations Oxygen's importer changed (css_verify.py) */
.guide-list h3{flex-basis:0%}
.btn-solid:hover{transform:translateY(-1px)}
.pband .wrap{row-gap:normal}
.pband :focus-visible{outline-color:var(--cream)}
.btn-beige:hover{transform:translateY(-1px)}
.pband figure img{border-radius:50% 50% 22px 22px / 40% 40% 22px 22px}
.opening .wrap{row-gap:normal}
.opening .wrap>div{grid-column-end:auto}
.layout{row-gap:normal}
.side{grid-column-end:auto}
.col-a{grid-column-end:auto;grid-row-end:auto}
.break{grid-row-end:auto;border-image:conic-gradient(var(--sage-tint) 0 0) fill 0//0 100vmax}
.col-b{grid-column-end:auto;grid-row-end:auto}
.toc a.is-active{border-left-color:var(--green)}
.col-a>.sec:first-child{border-top:0}
.col-b>.sec:first-child{border-top:0}
.checks li::after{border-width:0 1.5px 1.5px 0;transform:rotate(45deg)}
.areas{row-gap:normal}
.break-in{row-gap:normal}
.arrow:hover{border-bottom-color:var(--moss)}
.timeline li{row-gap:normal}
.related .wrap{row-gap:normal}
.rel:hover a span{transform:translateX(4px)}
.cta-band :focus-visible{outline-color:var(--cream)}
.nodx.solo{border-top-color:rgba(46,53,41,.14)}
.tags.fill li{border-color:transparent}
.row-in{row-gap:normal}
.first-row{border-top:0}
.split{row-gap:normal}
.creds li{row-gap:normal}
.creds li:nth-last-child(-n/**/+2){border-bottom:0}
.row-head{row-gap:normal}
.plan ul .fth{transform:translateY(2px)}
.contact-grid{row-gap:normal}
.field input:hover{border-color:rgba(46,53,41,.5)}
.field select:hover{border-color:rgba(46,53,41,.5)}
.field textarea:hover{border-color:rgba(46,53,41,.5)}
.form-foot .btn{border-top:0;border-right:0;border-bottom:0;border-left:0}
.featured h2 a:focus-visible{outline:0}
.f-text .arrow{border-bottom:0}
.featured:hover .arrow>span{transform:translateX(4px)}
.related.full .wrap{column-gap:normal}
.art-layout{row-gap:normal}
.art-layout .side{grid-column-end:auto;grid-row-end:auto}
.prose{grid-column-end:auto}
.prose .author{border-top:0;row-gap:normal}
.prose .refs{border-top:0}
.card:hover{transform:translateY(-4px)}
.guide-list a:hover{transform:translateY(-3px)}
.guide-list li.has-photo:hover .gl-photo{transform:translateY(-6px)}
.checks li::after{border-width:0 1.5px 1.5px 0}
.prices td{padding-left:24px}
.field select{background-image:linear-gradient(45deg,transparent 50%,var(--moss) 50%),linear-gradient(135deg,var(--moss) 50%,transparent 50%);background-position:calc(100% - 22px) 50%,calc(100% - 16px) 50%;background-size:6px 6px;background-repeat:no-repeat;padding-right:44px}
.field input:focus-visible{outline-offset:1px}
.field select:focus-visible{outline-offset:1px}
.field textarea:focus-visible{outline-offset:1px}
.featured:has(h2 a:focus-visible){outline-offset:3px}
.meta a{text-decoration-color:rgba(255,254,233,.5)}
.prose a.cite{text-decoration-color:rgba(73,116,77,.4)}
.together .big{font-style:italic}
.together .big small{font-style:normal}
.card .num{font-style:italic}
.what blockquote{font-style:italic}
.what blockquote footer{font-style:normal}
:where(body.cheile-page-perinatal-mental-health) .frame .photo img{object-position:50% 30%}
:where(body.cheile-page-mental-health-occupational-therapy) .frame .photo img{object-position:50% 30%}
:where(body.cheile-page-workplace-wellbeing) .frame .photo img{object-position:50% 30%}
:where(body.cheile-page-about) .frame .photo img{object-position:50% 30%}
:where(body.cheile-page-fees) .frame .photo img{object-position:50% 30%}
:where(body.cheile-page-contact) .frame .photo img{object-position:50% 30%}

@media (max-height:759px) and (min-width:961px){
  .side{position:static}
}
@media (min-width:961px){
  .plan h3{min-height:2.2em}
}
@media (min-width:1241px){
  .fee .label{display:block;min-height:3em}
}
@media (max-width:1240px) and (min-width:961px){
  .fees .wrap{grid-template-columns:1fr}
}
@media (max-width:1240px){
  .trust ul{grid-template-columns:1fr 1fr;justify-content:stretch;gap:20px 0}
  .trust li:nth-child(odd){border-left:0;padding-left:0}
}
@media (max-width:1140px){
  #nav ul{gap:20px}
  #nav a{font-size:15px}
  :root{--side:260px}
  .rel-cards{grid-template-columns:1fr}
  .rel-cards.three{grid-template-columns:1fr}
  .qcards{grid-template-columns:1fr}
  .soon{grid-template-columns:1fr}
  .soon-img{min-height:120px}
  :where(body.cheile-home) nav ul{gap:20px}
  :where(body.cheile-home) nav a{font-size:15px}
  .home-tenets{grid-template-columns:1fr 1fr}
  .home-tenets li:nth-child(3){padding-left:0;border-left:0}
}
@media (max-width:960px){
  .glance{grid-template-columns:1fr;gap:14px}
  .menu-btn{display:block}
  .head .btn{display:none}
  #nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--green);border-bottom:1px solid rgba(31,38,28,.2);padding:8px var(--gutter) 20px}
  header.open #nav{display:block}
  #nav ul{flex-direction:column;gap:0}
  #nav a{display:block;padding:14px 0;font-size:18px;border-bottom:1px solid rgba(255,255,255,.28)}
  :root{--over:56px}
  .pband .wrap{grid-template-columns:1fr}
  .opening .wrap{grid-template-columns:1fr;min-height:0}
  .pband .hframe{width:min(300px,78%);justify-self:start;margin-top:40px}
  .opening{padding-top:48px}
  .opening .wrap>div{grid-column:1}
  .layout{grid-template-columns:minmax(0,1fr)}
  .side{display:contents}
  .toc{grid-column:1;grid-row:auto;order:1;margin-bottom:48px}
  .col-a{grid-column:1;grid-row:auto;order:2}
  .break{grid-column:1;grid-row:auto;order:3}
  .col-b{grid-column:1;grid-row:auto;order:4}
  .book{grid-column:1;grid-row:auto;order:5;margin-top:56px}
  .toc ol{display:flex;gap:8px;overflow-x:auto;border-left:0;padding-bottom:6px;margin-right:calc(-1 * var(--gutter));padding-right:var(--gutter);scrollbar-width:none}
  .toc a{white-space:nowrap;border:1px solid rgba(73,116,77,.35);border-radius:999px;padding:8px 16px;margin-left:0;font-size:15px;gap:8px}
  .toc a.is-active{background:var(--green);border-color:var(--green);color:var(--cream)}
  .toc a.is-active::before{color:var(--sage-mid)}
  .tenets{grid-template-columns:1fr 1fr}
  .checks{grid-template-columns:1fr 1fr}
  .areas{grid-template-columns:1fr 1fr}
  .checks li:last-child{grid-column:1/-1}
  .break-in{grid-template-columns:200px minmax(0,1fr)}
  .related .wrap{grid-template-columns:1fr;row-gap:28px}
  .rel-cards{grid-template-columns:1fr 1fr}
  .foot{grid-template-columns:1fr}
  html{scroll-padding-top:100px}
  .row-in{grid-template-columns:1fr;row-gap:24px}
  .row-head{grid-template-columns:1fr;row-gap:24px}
  .contact-grid{grid-template-columns:1fr;row-gap:48px}
  .row-in>h2{margin-bottom:4px}
  .split{grid-template-columns:1fr;row-gap:32px}
  .split .photo-fig{max-width:520px}
  .break.solo .break-in{grid-template-columns:220px minmax(0,1fr)}
  .rel-cards.three{grid-template-columns:1fr 1fr 1fr}
  .steps{grid-template-columns:1fr}
  .plans{grid-template-columns:1fr}
  .featured{grid-template-columns:1fr}
  .f-img img{height:auto}
  .rel-cards.blog-three{grid-template-columns:1fr}
  .art-layout{grid-template-columns:minmax(0,1fr)}
  .art-layout .side{display:contents}
  .art-layout .toc{grid-column:1;grid-row:1;margin-bottom:40px}
  .prose{grid-column:1;grid-row:2;max-width:none}
  .art-layout .book{display:none}
  :where(body.cheile-home) nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--green);border-bottom:1px solid rgba(31,38,28,.2);padding:8px var(--gutter) 20px}
  :where(body.cheile-home) header.open nav{display:block}
  :where(body.cheile-home) nav ul{flex-direction:column;gap:0}
  :where(body.cheile-home) nav a{display:block;padding:14px 0;font-size:18px;border-bottom:1px solid rgba(255,255,255,.28)}
  .hero{flex-direction:column;min-height:0}
  .hero-media{position:relative;inset:auto;order:-1;width:100%;aspect-ratio:5/6}
  .hero-media::after{display:none}
  .hero-media::before{-webkit-mask:none;mask:none;height:50%}
  .hero-media img.photo{object-position:50% 0%}
  .hero-mark{display:none}
  .hero .wrap{display:block;position:static;padding-top:36px;padding-bottom:48px}
  .namecard{position:absolute;left:var(--gutter);right:var(--gutter);top:calc(100vw * 1.2 - 18px);transform:translateY(-100%);width:auto}
  .namecard blockquote{font-size:18px}
  .namecard figcaption{margin-top:10px;padding-top:8px;font-size:13px}
  .hero-text{max-width:none}
  .together .wrap{grid-template-columns:1fr}
  .familiar .wrap{grid-template-columns:1fr}
  .spot .top{grid-template-columns:1fr}
  .what .wrap{grid-template-columns:1fr}
  .about .wrap{grid-template-columns:1fr}
  .fees .wrap{grid-template-columns:1fr}
  .faq .wrap{grid-template-columns:1fr}
  .where .wrap{grid-template-columns:1fr}
  .familiar .intro{position:static}
  .cards{grid-template-columns:1fr}
  .home-steps{grid-template-columns:1fr}
  .guide-list{grid-template-columns:1fr}
  .card{min-height:0}
  .card h3{margin-top:28px}
  .services .top{flex-direction:column;align-items:flex-start}
  .guides .top{flex-direction:column;align-items:flex-start}
}
@media (max-width:768px){
  .rel-cards.three{grid-template-columns:1fr}
  .creds{grid-template-columns:1fr}
  .creds li:nth-last-child(2){border-bottom:1px solid rgba(73,116,77,.22)}
  .duo{grid-template-columns:1fr}
}
@media (max-width:640px){
  .tenets{grid-template-columns:1fr}
  .checks{grid-template-columns:1fr}
  .areas{grid-template-columns:1fr}
  .rel-cards{grid-template-columns:1fr}
  .checks li:last-child{grid-column:auto}
  .fig{float:none;width:100%;margin:8px 0 24px}
  .break-in{grid-template-columns:1fr;row-gap:28px}
  .break .frame{width:180px}
  .plans{grid-template-columns:1fr}
  .break.solo .break-in{grid-template-columns:1fr}
  .break.solo .frame{width:200px}
  .cform{grid-template-columns:1fr}
  .soon-grid{grid-template-columns:1fr}
  .soon{grid-template-columns:120px minmax(0,1fr)}
  .soon-img{min-height:0}
  .soon-img .fth{width:44px;height:36px}
  .prose .author{grid-template-columns:1fr;row-gap:22px}
  .author .frame{width:150px}
}
@media (max-width:560px){
  body{font-size:17px}
  .head{height:86px}
  .logo img{height:70px}
  .pband h1{font-size:38px}
  .pband .lede{font-size:18px}
  .pband .ctas .btn{width:100%;justify-content:center}
  .standfirst{font-size:21px}
  .nodx .btn{width:100%;justify-content:center}
  .tenets li{padding:26px 24px 28px}
  .timeline li{grid-template-columns:44px minmax(0,1fr);column-gap:18px}
  .timeline .n{width:44px;height:44px;font-size:19px}
  .timeline li:not(:last-child)::before{left:21px;top:44px}
  .timeline h3{margin-top:8px;font-size:22px}
  :where(body.cheile-page-fees) .timeline h3{margin-top:40px} /* source-order fixup */
  .prices .pn{font-size:20px}
  .prices td{font-size:28px}
  summary{font-size:19px}
  .cta-band .btn{width:100%;justify-content:center}
  .plan .amt{font-size:52px}
  .form-foot .btn{width:100%;justify-content:center}
  .pband.art h1{font-size:34px}
  .prose{font-size:18px}
  .prose .lead{font-size:25px}
  .feature img{border-radius:16px}
  .meta{align-items:flex-start}
  .meta img{width:44px;height:44px}
  .meta p{font-size:15px}
  .meta .by{width:100%}
  .meta .by+.dot{display:none}
  .tips h3{gap:12px}
  .tips .n{width:38px;height:38px;font-size:18px}
  .author-links .btn{width:100%;justify-content:center}
  .display{font-size:46px}
  .hero .lede{font-size:18px}
  .hero .ctas .btn{width:100%;justify-content:center}
  .fee-cards{grid-template-columns:1fr}
  .home-tenets{grid-template-columns:1fr}
  .home-tenets li{padding:26px 0 4px;border-left:0}
  .home-tenets li+li{padding:26px 0 4px;border-left:0;border-top:1px solid rgba(221,231,213,.22)}
  .trust ul{grid-template-columns:1fr;gap:0}
  .trust li{border-left:0;padding:14px 0}
  .trust li+li{border-left:0;padding:14px 0;border-top:1px solid rgba(73,116,77,.22)}
  .card{padding:36px 28px 32px}
  .plist a{font-size:20px;padding:18px 2px}
  .plist a span{width:38px;height:38px}
  .faq summary{font-size:20px}
  .cta .hold{min-height:0;display:block}
  .cta .mark{position:static;transform:none;width:150px;opacity:.95;margin:0 auto 18px;display:block}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *{transition:none !important;animation:none !important}
  .gl-photo{transition:none}
  .guide-list li.has-photo:hover .gl-photo{transform:none}
}

/* ---- added for WordPress ---- */
html:has(body.cheile-home){scroll-padding-top:110px}
/* Oxygen marks the current page's menu link with .is-active */
#nav a.is-active{color:#fff;text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:6px}
/* Oxygen wraps each inline SVG in .oxy-svg-icon2 and forces fill:currentColor on
   it; the mockup icons are stroked, and their classes now sit on the wrapper,
   so the SVG inherits fill from the wrapper like a bare SVG would. */
.oxy-svg-icon2>svg:where(:not([fill])){fill:inherit}
/* A <picture> is carried in a Text element; its wrapper must not take part in
   layout or the image loses its percentage height (homepage hero). */
.oxy-text:has(> picture){display:contents}
/* Containers that held loose text in the mockup (marked data-flow at build
   time): the converter's Text wrapper must not become a layout box. */
[data-flow] > .oxy-text:only-child{display:contents}
/* Blog post template: the bound post content lays out as part of .prose, and
   the template's author box keeps its mockup place between the article and
   its references. */
.prose:has(> .post-body){display:flex;flex-direction:column}
.prose > .post-body{display:contents}
.prose:has(> .post-body) > .author{order:1;margin-top:clamp(44px,4.5vw,64px)}
.prose:has(> .post-body) .refs{order:2}
.prose:has(> .post-body) > .back{order:3}
/* Posts written in the block editor (plain headings, no sections): give them
   the same rhythm the first article gets from its sections */
.post-body > h2:not(:first-child){margin-top:clamp(44px,4.5vw,64px)}
.post-body > h3{font-size:clamp(23px,2vw,27px);margin:clamp(28px,3vw,40px) 0 12px}
.post-body > ul,.post-body > ol{margin-top:1.05em;padding-left:1.3em}
.post-body > ul > li + li,.post-body > ol > li + li{margin-top:.45em}
.post-body > figure,.post-body > .wp-block-image{margin:clamp(28px,3vw,40px) 0}
.post-body > figure img,.post-body > p > img{border-radius:16px;height:auto}
.post-body > blockquote{margin:clamp(28px,3vw,40px) 0;padding-left:24px;border-left:2px solid var(--sage-mid);font:italic 300 clamp(22px,2vw,26px)/1.45 var(--serif);color:var(--ink-deep)}
/* Resources: the post loop wrapper is not a layout box */
.featured-loop{display:contents}
.featured-loop > .featured + .featured{margin-top:24px}
/* a post title may carry <em> for the article heading; cards show it plain */
.featured h2 a em{font:inherit;color:inherit;letter-spacing:inherit}
/* contact form: anti-spam field kept off screen, and the status line */
.cform .hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.cform .form-status{grid-column:1/-1;font-size:16px;line-height:1.5;margin:0}
.cform .form-status:empty{display:none}
.cform .form-status.is-ok{color:var(--green)}
.cform .form-status.is-err{color:#9b2c2c}
/* Articles without a featured image: a light green card in the photo's place */
.gl-photo,.f-img{background:var(--sage-tint)}
.gl-photo:not(:has(img))::after{display:none}
.f-img:not(:has(img)){min-height:100%}
@media (max-width:960px){.f-img:not(:has(img)){aspect-ratio:1100/600;min-height:0}}
.feature:not(:has(img)){aspect-ratio:1100/600;background:var(--sage-tint);border-radius:24px}
@media (max-width:560px){.feature:not(:has(img)){border-radius:16px}}
/* Homepage article loop: the wrapper is not a layout box; titles show plain */
.gl-loop{display:contents}
.guide-list h3 em{font:inherit;color:inherit;letter-spacing:inherit}
/* "Coming soon" placeholders give way as real articles arrive:
   2 articles -> one placeholder, 3 or more -> none */
.guide-list:has(.gl-loop > li:nth-child(2)) > .gl-soon:last-child{display:none}
.guide-list:has(.gl-loop > li:nth-child(3)) > .gl-soon{display:none}
.posts:has(.featured-loop > .featured:nth-of-type(2)) .soon-grid > .soon:last-child{display:none}
.posts:has(.featured-loop > .featured:nth-of-type(3)) .soon-grid{display:none}
/* unclassed inline SVGs: the SVG Icon wrapper must not size them */
.oxy-svg-icon2:has(> svg[data-bare]),.oxy-svg-icon2[data-bare]{display:contents}
/* Oxygen's skip link, styled like the mockup's .skip (normalize.css, which
   carried Oxygen's own hiding rules, is not loaded) */
.oxy-skip-link{position:absolute;left:-9999px;top:8px;z-index:100000;background:var(--ink-deep);color:#fff;padding:12px 18px;border-radius:8px;font:500 16px/1.4 var(--sans);text-decoration:none}
.oxy-skip-link:focus{left:12px}
/* Article layout without a feature photo (Privacy notice, Cookie policy): the
   band needs no room for the photo overlap, and section lists and the draft
   note get the post-body rhythm */
.pband.art:has(+ .body){padding-bottom:clamp(48px,5vw,72px)}
.prose section > ul{margin-top:1.05em;padding-left:1.3em}
.prose section > ul > li + li{margin-top:.45em}
.prose section > ul + p{margin-top:1.05em}
.prose > .isnt:first-child{margin:0 0 clamp(32px,3.5vw,48px)}
/* WCAG AA text contrast, scoped (12 Oct; checked by qa_contrast_compare.mjs).
   Brand moss stays #49744D everywhere it already passed (headline accents,
   text on the page beige, button outlines). Only small moss text that sits on the
   panel beige or sage tint, and outline-button labels for consistency, move to #456d48 (same hue, 2.5 dE darker),
   4.58:1 on the panel and 4.85:1 on the tint. */
.card > a,.fee .label,.guide-list .kicker,.guide-list .more,.book .kick,.break-in .arrow,
.rel > a,.consent a,.form-foot a,.author .kick,.author-links .arrow,.btn-line,.featured .arrow,
.duo h3,.steps .n,.tips .n{color:#456d48}
/* light text on the green bands: the least change that reaches 4.5:1 */
.crumbs ol,.meta p{color:rgba(255,254,233,.89)}
.glance dt{color:#e6eee0}
/* Laura's 12 Oct staging notes (applied 13 Oct). Loaded after theme.css. */

/* Home #5: "Restore balance..." kept at the top, as a second hero line */
.hero .lede + .lede{font:italic 300 clamp(21px,1.8vw,24px)/1.45 var(--serif);color:var(--moss);margin-top:16px}

/* Home #13, #14: the "familiar" list reads as links: a feather before each
   point, and the arrow is a solid button, not a faint ring */
.plist a{justify-content:flex-start}
.plist a::before{content:"";flex:none;width:1.05em;height:.8em;background:var(--green);
  -webkit-mask:var(--feather) no-repeat center/contain;mask:var(--feather) no-repeat center/contain}
.plist a span{margin-left:auto;background:var(--green);border-color:var(--green);color:var(--cream);font-size:20px}
.plist a:hover span{background:var(--ink-deep);border-color:var(--ink-deep)}

/* Home #4: bigger header logo, the version with her tagline. Below 961px the
   header is compact and the tagline would be ~4px tall, so the plain logo shows */
.head{height:auto;min-height:108px;padding:10px 0}
.logo img{height:150px;width:auto}
@media (max-width:960px){
  .head{min-height:86px;padding:8px 0}
  .logo img{content:url("/wp-content/uploads/2026/10/logo-f-cream.webp");height:97px}
}
@media (max-width:560px){.logo img{height:70px}}

/* Home #35: footer logo with tagline, large enough for the tagline to read */
.foot img{height:180px}
@media (max-width:560px){.foot img{height:150px}}

/* Home #1: Services dropdown */
#nav .has-sub{position:relative}
#nav .sub-toggle{display:inline-flex;align-items:center;gap:8px;background:none;border:0;padding:0;color:#fff;font:500 16px var(--sans);cursor:pointer}
#nav .sub-toggle::after{content:"";width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-3px) rotate(45deg);transition:transform .2s}
#nav .has-sub.open > .sub-toggle::after{transform:translateY(1px) rotate(-135deg)}
#nav .sub-toggle:hover,#nav .has-sub:has(.is-active) > .sub-toggle{text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:6px}
#nav .sub{display:none;position:absolute;top:calc(100% + 16px);left:-22px;z-index:60;flex-direction:column;gap:0;min-width:330px;background:var(--beige);border-radius:16px;padding:10px 0;box-shadow:0 18px 40px rgba(20,26,18,.28)}
@media (min-width:961px){
  #nav .sub a,#nav .sub a[aria-current="page"]{color:var(--ink-deep)}
  #nav .sub a:hover,#nav .sub a[aria-current="page"]{color:#436b47;background:var(--sage-tint)}
}
#nav .sub::before{content:"";position:absolute;left:0;right:0;top:-18px;height:18px}
#nav .has-sub:hover > .sub,#nav .has-sub:focus-within > .sub,#nav .has-sub.open > .sub{display:flex}
#nav .sub a{display:block;padding:11px 22px;font-size:16px;white-space:nowrap}
@media (max-width:1140px){#nav .sub-toggle{font-size:15px}}
@media (max-width:960px){
  #nav .sub-toggle{display:flex;width:100%;justify-content:space-between;padding:14px 0;font-size:18px;border-bottom:1px solid rgba(255,255,255,.28)}
  #nav .sub-toggle::after{display:none}
  #nav .sub{display:flex;position:static;min-width:0;padding:0 0 0 18px;background:none;box-shadow:none;border-radius:0}
  #nav .sub::before{display:none}
  #nav .sub a{padding:12px 0;font-size:17px;white-space:normal}
  #nav .sub a:hover{background:none}
}

/* Perinatal #1: "fix the circle so it's better rounded", site-wide. The frame
   artwork was 693 x 738 (6.5% taller than wide), which read as an egg; a square
   box rounds it. The ring keeps its hand-drawn line from her logo. */
.frame,.home-frame{aspect-ratio:1/1}

/* Perinatal #6: her feather instead of the tick circles */
.checks li::before{top:4px;width:24px;height:18px;border-radius:0;background:var(--green);
  -webkit-mask:var(--feather) no-repeat center/contain;mask:var(--feather) no-repeat center/contain}
.checks li::after{display:none}

/* Perinatal #10: "On this page" stands out on a sage panel (desktop sidebar;
   on phones it is already a row of pill buttons) */
@media (min-width:961px){
  .toc{background:var(--sage-tint);border-radius:18px;padding:22px 22px 18px}
  .toc ol{border-left-color:rgba(73,116,77,.3)}
  .toc a{color:var(--ink)}
  .toc a::before,.toc .kick{color:#456d48}
}

/* Home #24, #25: longer package names wrap; label, price and note share rows
   across the cards so the prices stay level */
@media (min-width:561px){
  .fee-cards{grid-template-rows:auto auto auto;row-gap:0}
  .fee{display:grid;grid-row:span 3;grid-template-rows:subgrid;align-content:start}
  .fee .label{min-height:0}
}
﻿
/* Homepage warmth prototype (page home-warm-prototype only): every rule keys on
   body.cheile-warm. Laura, 19 Oct: more imagery, soft botanical touches, less
   clinical. Botanical watercolours are on pure white and multiply into the
   section colour, so they read as painted onto the cream/sage. */
.cheile-warm .warm-photo{margin:0;border-radius:28px;overflow:hidden;background:#e6ddcb}
.cheile-warm .warm-photo img{display:block;width:100%;height:100%;object-fit:cover}
.cheile-warm .warm-together{aspect-ratio:3/2;margin-top:clamp(28px,3vw,40px)}
.cheile-warm .warm-what{aspect-ratio:4/3;margin-top:clamp(28px,3vw,40px)}
.cheile-warm .warm-what img{object-position:50% 60%}
@media (min-width:961px){
  .cheile-warm .together .wrap{grid-template-rows:auto auto;align-items:center}
  .cheile-warm .together .wrap > .big{grid-column:1;grid-row:1;align-self:end}
  .cheile-warm .together .wrap > .warm-together{grid-column:1;grid-row:2;align-self:start}
  .cheile-warm .together .wrap > :last-child{grid-column:2;grid-row:1 / span 2}
  .cheile-warm .what .wrap{grid-template-rows:auto auto}
  .cheile-warm .what .wrap > blockquote{grid-column:1;grid-row:1;align-self:end}
  .cheile-warm .what .wrap > .warm-what{grid-column:1;grid-row:2;align-self:start}
  .cheile-warm .what .wrap > :last-child{grid-column:2;grid-row:1 / span 2}
}
/* Service cards: a photo across the top of each card */
.cheile-warm .card-img{margin:-44px -36px 28px;aspect-ratio:3/2;overflow:hidden;border-radius:28px 28px 0 0}
.cheile-warm .card-img img{display:block;width:100%;height:100%;object-fit:cover}
@media (max-width:960px){.cheile-warm .card-img{margin:-36px -28px 24px}}
.cheile-warm .card .num{margin:0}
.cheile-warm .card h3{margin-top:18px}
.cheile-warm .card .tag{z-index:2}
/* Full-width breather between sections: Laura's own lakeside path photo */
.cheile-warm .warm-band{display:block;height:clamp(240px,30vw,440px);overflow:hidden;padding:0}
.cheile-warm .warm-band img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 55%}
/* Botanical watercolour accents */
.cheile-warm .about,.cheile-warm .services,.cheile-warm .faq,.cheile-warm .together{position:relative;overflow:clip}
.cheile-warm .about > .wrap,.cheile-warm .services > .wrap,.cheile-warm .faq > .wrap,.cheile-warm .together > .wrap{position:relative;z-index:1}
.cheile-warm .about::before,.cheile-warm .services::before,.cheile-warm .faq::before,.cheile-warm .together::before{content:"";position:absolute;pointer-events:none;background:no-repeat center/contain;mix-blend-mode:multiply;z-index:0}
.cheile-warm .together::before{background-image:url(/wp-content/uploads/2026/10/gen-botanical-eucalyptus-1200.webp);width:min(520px,46vw);aspect-ratio:3/2;right:-70px;top:-30px;opacity:.5;transform:rotate(8deg)}
.cheile-warm .services::before{background-image:url(/wp-content/uploads/2026/10/gen-botanical-fern-1200.webp);width:min(440px,44vw);aspect-ratio:3/2;right:-150px;top:-70px;opacity:.35;transform:scaleX(-1) rotate(-14deg)}
.cheile-warm .about::before{background-image:url(/wp-content/uploads/2026/10/gen-botanical-eucalyptus-1200.webp);width:min(440px,46vw);aspect-ratio:3/2;right:-90px;top:-40px;opacity:.45;transform:rotate(14deg)}
.cheile-warm .faq::before{background-image:url(/wp-content/uploads/2026/10/gen-botanical-foliage-1200.webp);width:min(380px,44vw);aspect-ratio:1;left:-40px;bottom:-30px;opacity:.5}
@media (max-width:960px){
  .cheile-warm .about::before,.cheile-warm .services::before,.cheile-warm .faq::before,.cheile-warm .together::before{opacity:.28}
}

/* Waterfall version of the warmth prototype (page home-warm-waterfall only): every
   rule keys on body.cheile-wf, which also has cheile-warm. John, 20 Oct. */

/* Hero: the photo fades into the cream at the bottom instead of a hard edge, and the
   dark band behind the quote goes. The logo ring (moved into the quote figure by
   wf_frames.py) now holds the quote, the way her wordmark sits inside the ring. */
@media (min-width:961px){
  .cheile-wf .hero-media::before{inset:auto 0 0 0;height:22%;z-index:1;-webkit-mask:none;mask:none;
    background:linear-gradient(180deg,rgba(245,239,228,0) 0%,rgba(245,239,228,.6) 55%,var(--beige) 100%)}
  .cheile-wf .hero .namecard{position:relative;align-self:center;justify-self:end;width:262px;
    margin:0 clamp(40px,6vw,110px) 0 0;padding:0;text-align:center;isolation:isolate}
  .cheile-wf .hero .namecard::before{content:"";position:absolute;z-index:-2;left:50%;top:50%;width:340px;aspect-ratio:1;
    transform:translate(-50%,-50%);border-radius:50%;background:rgba(30,48,34,.62);
    -webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
  .cheile-wf .hero .namecard blockquote p{text-wrap:balance}
  .cheile-wf .hero .namecard figcaption b,.cheile-wf .hero .namecard figcaption span{display:block;margin:0}
  .cheile-wf .hero .namecard figcaption span{margin-top:2px}
}
/* John, 20 Oct (Site Feedback #3): the circle sat over the waterfall itself and blurred
   the subject. The photo zooms in from its left edge so the falls move right of centre
   (~70% across), and the circle moves onto the calm rock and foliage left of them,
   clear of the hero text from 1280px up */
@media (min-width:961px){
  .cheile-wf .hero-media{overflow:hidden}
  .cheile-wf .hero-media img.photo{transform:scale(1.25);transform-origin:0% 30%}
}
@media (min-width:1280px){
  .cheile-wf .hero .namecard{margin-right:220px;transform:translateY(36px)}
}
/* John, 20 Oct: no logo mark in the hero; the frosted circle alone sits behind the quote.
   Laura, 21 Oct: quote inside a faded version of her logo instead - option (a): the logo
   ring, faded, framing a lighter frosted circle (desktop only; phones have no circle) */
.cheile-wf .hero .hero-mark{display:none}
/* John, 21 Oct: not taken up - the logo mark is used enough elsewhere; the dark frosted
   circle stays as it is */

/* About (John, Site Feedback #1, #2): "More about Laura" right-aligned, and less space
   under the section so the qualifications strip sits with it, not adrift */
.cheile-wf #about .wrap > div:last-child > p:last-child{display:flex;justify-content:flex-end}
.cheile-wf section.about{padding-bottom:clamp(36px,4vw,60px)}

/* John, 20 Oct: back to the logo without the tagline (header and footer); at header
   size the tagline was too small to read. Sizes as before Laura's Home #4 / #35 */
.cheile-wf .head{min-height:108px;padding:0}
.cheile-wf .logo img{content:url("/wp-content/uploads/2026/10/logo-f-cream.webp");height:97px}
.cheile-wf .foot img{content:url("/wp-content/uploads/2026/10/logo-f-cream.webp");height:120px}
@media (max-width:960px){.cheile-wf .head{min-height:86px;padding:8px 0}.cheile-wf .logo img{height:76px}}
@media (max-width:560px){.cheile-wf .logo img{height:70px}.cheile-wf .foot img{height:110px}}

/* John, 20 Oct: perinatal spotlight columns swapped (frame left, text right) so it
   alternates with "Medicine adds days" below (text left, photos right) */
@media (min-width:961px){
  .cheile-wf .spot .top{grid-template-columns:.85fr 1.15fr}
  .cheile-wf .spot .top > :first-child{grid-column:2;grid-row:1}
  .cheile-wf .spot .top > :last-child{grid-column:1;grid-row:1}
}

/* The branch above "Le chéile" is gone */
.cheile-wf .together::before{display:none}

/* Photos in the site's ring frame (wf_frames.py), placed against the text:
   together: frame left, "Le chéile" and the heading/text right
   what: quote and text left, frame right */
.cheile-wf .together .home-frame,.cheile-wf .what .home-frame{width:min(460px,100%)}
/* "Medicine adds days": two overlapping pebble-shaped photos, not the ring
   (wf_what_pebbles.py): her lakeside path large, the river bank small and overlapping its
   upper left, a fine moss line pebble offset behind, and the "isn't about adding more"
   card overlapping the lower left, reaching back towards the text */
.cheile-wf .what .home-frame{aspect-ratio:auto;width:min(440px,100%);position:relative;isolation:isolate;padding:70px 0 0 0}
.cheile-wf .what .home-frame .fmark{display:none}
.cheile-wf .what .home-frame .photo{position:relative;inset:auto;-webkit-clip-path:none;clip-path:none;overflow:hidden}
.cheile-wf .what .home-frame .photo:nth-child(2){aspect-ratio:1/.92;border-radius:58% 42% 47% 53% / 50% 56% 44% 50%}
.cheile-wf .what .home-frame .photo:nth-child(3){position:absolute;z-index:1;top:0;left:-70px;width:46%;aspect-ratio:1;
  border-radius:47% 53% 40% 60% / 56% 44% 56% 44%;border:7px solid var(--beige)}
.cheile-wf .what .home-frame .photo img{object-position:50% 50%}
.cheile-wf .what .home-frame::before{content:"";position:absolute;z-index:-1;left:0;right:0;top:70px;aspect-ratio:1/.92;
  border:1.5px solid var(--green);opacity:.5;border-radius:58% 42% 47% 53% / 50% 56% 44% 50%;transform:translate(24px,-18px) rotate(6deg)}
.cheile-wf .what .home-frame .isnt{position:absolute;z-index:2;left:-130px;bottom:-110px;width:370px;margin:0;
  box-shadow:0 18px 40px rgba(36,56,40,.14)}
@media (min-width:961px) and (max-width:1279px){.cheile-wf .what .home-frame .isnt{left:-24px;width:340px}.cheile-wf .what .home-frame .photo:nth-child(3){left:-30px}}
@media (min-width:961px){
  .cheile-wf .together .wrap{grid-template-columns:1fr 1.1fr;grid-template-rows:auto auto;align-items:start;row-gap:34px}
  .cheile-wf .together .wrap > .home-frame{grid-column:1;grid-row:1 / span 2;align-self:center;justify-self:center}
  .cheile-wf .together .wrap > .big{grid-column:2;grid-row:1;align-self:end}
  .cheile-wf .together .wrap > :last-child{grid-column:2;grid-row:2}
  .cheile-wf .what .wrap{grid-template-columns:1.1fr 1fr;grid-template-rows:auto auto;align-items:start;row-gap:30px}
  .cheile-wf .what .wrap > blockquote{grid-column:1;grid-row:1;align-self:end;margin-bottom:8px}
  .cheile-wf .what .wrap > :last-child{grid-column:1;grid-row:2}
  .cheile-wf .what .wrap > .home-frame{grid-column:2;grid-row:1 / span 2;align-self:center;justify-self:center}
}
@media (max-width:960px){
  .cheile-wf .together .home-frame,.cheile-wf .what .home-frame{width:min(340px,86%);justify-self:center;margin:8px auto}
  .cheile-wf .what .home-frame{margin:30px auto 8px;padding-top:56px}
  .cheile-wf .what .home-frame .photo:nth-child(3){left:-6%;width:42%}
  .cheile-wf .what .home-frame::before{top:56px}
  .cheile-wf .what .home-frame .isnt{position:relative;left:auto;bottom:auto;width:auto;margin:-48px -6% 0}
}

/* Warm design rollout to the inner pages (Laura approved the waterfall homepage, 21 Oct).
   Inner page headers stay as they are; photos get deliberate shapes and faint watercolour
   botanicals fill large empty areas, as on the homepage. Inner page sections have no
   background of their own, so mix-blend-mode has nothing to multiply with: the botanicals
   here are transparent webps (botanical_alpha.py, suffix -a-), no blend mode needed. */

/* Service pages (toc_to_top.py): the intro moved from its own .opening block to the top of
   the main column (.col-a) so "On this page" starts level with it. Keep the gap the old
   block boundary gave it */
.col-a > div:has(> .standfirst){margin-bottom:clamp(56px,6vw,88px)}
@media (max-width:960px){.col-a > div:has(> .standfirst){margin-bottom:40px}}

/* Sticky sidebar on short screens (QA D, 21 Oct). "On this page" + the booking card is
   about 800px tall, so with top:140px "Book a session" sat below the fold on a 900px tall
   window until the section ended. 840-979px tall: the sidebar is tightened (about 700px)
   and sits 16px under the header, so it fits; anything still taller scrolls inside it.
   Under 840px it is not sticky at all (the mockup already did this under 760px) and scrolls
   with the page. Only sidebars carrying the booking card; Privacy/Cookies are short. The
   scrollspy only marks links, so it works either way. */
@media (min-width:961px) and (max-height:979px){
  .side:has(.book){top:124px;max-height:calc(100vh - 140px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
  .side:has(.book) .toc a{padding-top:5px;padding-bottom:5px}
  .side:has(.book) .book{margin-top:16px;padding:20px 24px 22px}
  .side:has(.book) .book ul{margin-top:12px}
  .side:has(.book) .book li{padding:7px 0}
  .side:has(.book) .book .btn{margin-top:16px}
}
@media (min-width:961px) and (max-height:839px){
  .side:has(.book){position:static;max-height:none;overflow:visible}
}

/* About (about_ot_up.py): "What is OT" now follows the intro (Laura About #4), so the
   no-divider rule follows it and "Almost a decade" gets its divider back */
.cheile-page-about .opening + .row{border-top:0}
.cheile-page-about .row + .row.first-row{border-top:1px solid rgba(46,53,41,.14)}

/* Logo without the tagline, header and footer, every page (John, 20-21 Oct: the tagline is
   too small to read at header size). Sizes as before Laura's Home #4 / #35 */
.head{min-height:108px;padding:0}
/* (agent I, 22 Oct) the header Image element itself now holds logo-f-cream.webp, so Laura
   sees the real logo in Oxygen; the CSS content:url() swap is gone, sizing stays */
.logo img{height:97px}
.foot img{height:120px} /* (agent I, 22 Oct) footer Image element (110) holds logo-f-cream.webp itself now */
@media (max-width:960px){.head{min-height:86px;padding:8px 0}.logo img{height:76px}}
@media (max-width:560px){.logo img{height:70px}.foot img{height:110px}}
/* (John, 22 Oct) the padding shorthands above zeroed the header's side padding, so the logo
   and Book button ran 48px wider than the page content each side. Same gutter as .wrap */
.head,.cheile-wf .head{padding-left:var(--gutter);padding-right:var(--gutter)}

/* Wide photos: rounded like the homepage photos, never a plain rectangle */
figure.wide img{border-radius:28px}

/* Workplace: the approved session photo in the pink blouse (laura-session-pink) gets a
   blush-pink sprig above it, and a pink cluster in the empty space under the sidebar card
   (Laura Workplace #7), so the pink belongs to the page */
.cheile-page-workplace-wellbeing #help{position:relative}
.cheile-page-workplace-wellbeing #help > *{position:relative;z-index:1}
.cheile-page-workplace-wellbeing #help::before,.cheile-page-workplace-wellbeing #help::after{content:"";position:absolute;z-index:0;pointer-events:none;
  background:no-repeat center/contain}
.cheile-page-workplace-wellbeing #help::before{background-image:url(/wp-content/uploads/2026/10/gen-botanical-pink-sprig-a-1000.webp);
  width:min(360px,40vw);aspect-ratio:3/2;right:-130px;top:-50px;opacity:.6;transform:rotate(8deg)}
.cheile-page-workplace-wellbeing #help::after{background-image:url(/wp-content/uploads/2026/10/gen-botanical-pink-cluster-a-1000.webp);
  width:210px;aspect-ratio:1;right:-110px;bottom:6px;opacity:.6}
/* (agent E, 21 Oct) the cluster sat in the left column, under the sticky "On this page"
   card; it now sits in the right margin at the foot of #help, beside the short tag rows
   and below the pink sprig at the photo's corner, never under text or the sidebar */
@media (max-width:1279px){
  .cheile-page-workplace-wellbeing #help::before{width:240px;right:-60px;top:-110px}
  .cheile-page-workplace-wellbeing #help::after{width:120px;right:-30px;bottom:8px}
}
@media (max-width:1079px){
  .cheile-page-workplace-wellbeing #help::after{width:110px;right:-24px;bottom:8px}
}
@media (max-width:960px){
  .cheile-page-workplace-wellbeing #help::before{width:170px;right:-40px;top:-80px;opacity:.45}
  .cheile-page-workplace-wellbeing #help::after{display:none}
}
/* Rollout agent A: page-specific CSS only. See 04-content/rollout-plan-2026-10-21.md */

/* ---- Mental Health OT (149) and Workplace Wellbeing (153), 21 Oct ----
   The sticky "On this page" sidebar fills the left column all the way down on desktop,
   so the botanicals here sit top right of a section, beside a short heading and partly
   in the right margin, where nothing else ever is. The margin overhang is clipped at
   the page edge (no horizontal scroll); overflow-x:clip is not a scroll container, so
   the sticky sidebar keeps working. */
.cheile-page-mental-health-occupational-therapy .body,
.cheile-page-workplace-wellbeing .body{overflow-x:clip}

.cheile-page-mental-health-occupational-therapy #neuro,
.cheile-page-mental-health-occupational-therapy #steps,
.cheile-page-mental-health-occupational-therapy #faq,
.cheile-page-workplace-wellbeing #steps,
.cheile-page-workplace-wellbeing #faq{position:relative}
.cheile-page-mental-health-occupational-therapy #neuro > *,
.cheile-page-mental-health-occupational-therapy #steps > *,
.cheile-page-mental-health-occupational-therapy #faq > *,
.cheile-page-workplace-wellbeing #steps > *,
.cheile-page-workplace-wellbeing #faq > *{position:relative;z-index:1}
.cheile-page-mental-health-occupational-therapy #neuro::before,
.cheile-page-mental-health-occupational-therapy #steps::before,
.cheile-page-mental-health-occupational-therapy #faq::before,
.cheile-page-workplace-wellbeing #steps::before,
.cheile-page-workplace-wellbeing #faq::before{content:"";position:absolute;z-index:0;pointer-events:none;
  background:no-repeat center/contain;aspect-ratio:3/2}

/* MH OT: eucalyptus beside "Support for ADHD, autism...", fern beside "Getting started",
   a small foliage sprig beside "Things people often ask" */
.cheile-page-mental-health-occupational-therapy #neuro::before{background-image:url(/wp-content/uploads/2026/10/gen-botanical-eucalyptus-a-1000.webp);
  width:280px;right:-120px;top:2px;opacity:.6;transform:rotate(-6deg)}
.cheile-page-mental-health-occupational-therapy #steps::before{background-image:url(/wp-content/uploads/2026/10/gen-botanical-fern-a-1000.webp);
  width:270px;right:-118px;top:-4px;opacity:.55;transform:rotate(8deg)}
.cheile-page-mental-health-occupational-therapy #faq::before{background-image:url(/wp-content/uploads/2026/10/gen-botanical-foliage-a-1000.webp);
  width:190px;aspect-ratio:1;right:-70px;top:6px;opacity:.5}

/* Workplace: eucalyptus beside "Small steps, steadier days", fern beside "Things people
   often ask" */
.cheile-page-workplace-wellbeing #steps::before{background-image:url(/wp-content/uploads/2026/10/gen-botanical-eucalyptus-a-1000.webp);
  width:270px;right:-118px;top:-4px;opacity:.6;transform:rotate(-6deg)}
.cheile-page-workplace-wellbeing #faq::before{background-image:url(/wp-content/uploads/2026/10/gen-botanical-fern-a-1000.webp);
  width:270px;right:-118px;top:2px;opacity:.55;transform:rotate(8deg)}

/* Workplace: Laura #5 made the "How OT can help" heading one full-width line, and the
   pink sprig above the session photo (inner_warm.css) would now sit on its last words.
   The same sprig moves to the photo's lower right corner, tucked behind the photo */
.cheile-page-workplace-wellbeing #help::before{display:none}
.cheile-page-workplace-wellbeing #help figure.wide::after{content:"";position:absolute;z-index:-1;pointer-events:none;
  background:url(/wp-content/uploads/2026/10/gen-botanical-pink-sprig-a-1000.webp) no-repeat center/contain;
  width:300px;aspect-ratio:3/2;right:-150px;bottom:-24px;opacity:.6;transform:rotate(-8deg)}

@media (max-width:1279px){
  .cheile-page-mental-health-occupational-therapy #neuro::before{width:210px;right:-34px;top:4px}
  .cheile-page-mental-health-occupational-therapy #steps::before{width:200px;right:-40px;top:-6px}
  .cheile-page-mental-health-occupational-therapy #faq::before{width:120px;right:-20px;top:-10px}
  .cheile-page-workplace-wellbeing #steps::before{width:200px;right:-40px;top:-6px}
  .cheile-page-workplace-wellbeing #faq::before{width:170px;right:-36px;top:-4px}
  .cheile-page-workplace-wellbeing #help figure.wide::after{width:230px;right:-60px;bottom:-40px}
}
@media (max-width:960px){
  .cheile-page-mental-health-occupational-therapy #neuro::before,
  .cheile-page-mental-health-occupational-therapy #steps::before,
  .cheile-page-mental-health-occupational-therapy #faq::before,
  .cheile-page-workplace-wellbeing #steps::before,
  .cheile-page-workplace-wellbeing #faq::before{display:none}
  .cheile-page-workplace-wellbeing #help figure.wide::after{width:100px;right:-16px;bottom:auto;top:-44px;opacity:.5;transform:rotate(-14deg)}
}

/* MH OT break band (Laura #13-#15): her portrait, the logo ring and the attribution go;
   the quote sits in the homepage hero's dark frosted circle over her river bank photo.
   21 Oct (agent F): the band rules are now shared by all three service pages and live in
   rollout_f.css. */

/* Photo captions on these pages: no single word left on the last line */
.cheile-page-mental-health-occupational-therapy figure.wide figcaption,
.cheile-page-workplace-wellbeing figure.wide figcaption{text-wrap:balance}
/* Rollout agent B: page-specific CSS only. See 04-content/rollout-plan-2026-10-21.md */

/* ---- Perinatal (145): botanical accents ----
   The left column beside col-a is taken by the sticky sidebar, so the sidebar carries a
   small sprig in the free lower corner of the "On this page" panel (Laura #8/#9). After
   the break band the left column is empty beside How it works / Fees / Questions, so two
   larger botanicals sit there (behind nothing, never over text). Elements are addressed
   by Oxygen's per-element classes (oxy-container-145-<id>), which do not change. */
.cheile-page-perinatal-mental-health aside .toc{position:relative;overflow:hidden}
.cheile-page-perinatal-mental-health aside .toc > *{position:relative;z-index:1}
.cheile-page-perinatal-mental-health aside .toc::after{content:"";position:absolute;z-index:0;pointer-events:none;
    background:url(/wp-content/uploads/2026/10/gen-botanical-fern-a-1000.webp) no-repeat center/contain;
    width:170px;aspect-ratio:3/2;right:-34px;bottom:-14px;opacity:.55;transform:rotate(-14deg)}
.cheile-page-perinatal-mental-health #how,
.cheile-page-perinatal-mental-health #faq{position:relative}
.cheile-page-perinatal-mental-health #how > *,
.cheile-page-perinatal-mental-health #faq > *{position:relative;z-index:1}
.cheile-page-perinatal-mental-health #how::before,
.cheile-page-perinatal-mental-health #faq::before{content:"";position:absolute;z-index:0;pointer-events:none;
    background:no-repeat center/contain}
/* QA D, 21 Oct: the sticky sidebar slid over these two when they sat in the left column
   (the sidebar's grid row runs the whole page), so they moved to the top right of their
   section, beside the short heading and partly in the right margin, as on Mental Health OT.
   The margin overhang is clipped at the page edge; overflow-x:clip is not a scroll
   container, so the sticky sidebar keeps working. */
.cheile-page-perinatal-mental-health .body{overflow-x:clip}
.cheile-page-perinatal-mental-health #how::before{background-image:url(/wp-content/uploads/2026/10/gen-botanical-foliage-a-1000.webp);
    width:210px;aspect-ratio:1;right:-86px;top:-18px;opacity:.55}
.cheile-page-perinatal-mental-health #faq::before{background-image:url(/wp-content/uploads/2026/10/gen-botanical-eucalyptus-a-1000.webp);
    width:280px;aspect-ratio:3/2;right:-120px;top:2px;opacity:.6;transform:rotate(-6deg)}
@media (max-width:1279px){
  .cheile-page-perinatal-mental-health aside .toc::after{width:140px;right:-30px}
  .cheile-page-perinatal-mental-health #how::before{width:150px;right:-24px;top:-14px}
  .cheile-page-perinatal-mental-health #faq::before{width:210px;right:-34px;top:-10px}
}
@media (max-width:960px){
  .cheile-page-perinatal-mental-health aside .toc::after,
  .cheile-page-perinatal-mental-health #how::before,
  .cheile-page-perinatal-mental-health #faq::before{display:none}
}

/* ---- About (157): botanical accents in the empty left column under each heading ----
   Pink cluster under "Almost a decade", the row just below her pink portrait; green
   further down. Ethos (Laura #3) keeps a small sprig beside the heading on phones. */
.cheile-page-about .oxy-text-157-129,
.cheile-page-about .oxy-text-157-140,
.cheile-page-about .oxy-text-157-195,
.cheile-page-about .oxy-text-157-221{position:relative}
.cheile-page-about .oxy-text-157-129::before,
.cheile-page-about .oxy-text-157-140::before,
.cheile-page-about .oxy-text-157-195::before,
.cheile-page-about .oxy-text-157-221::before{content:"";position:absolute;z-index:0;pointer-events:none;
    background:no-repeat center/contain;left:0}
.cheile-page-about .oxy-text-157-129::before{background-image:url(/wp-content/uploads/2026/10/gen-botanical-pink-cluster-a-1000.webp);
    width:250px;aspect-ratio:1;top:calc(100% + 50px);left:-20px;opacity:.6}
.cheile-page-about .oxy-text-157-140::before{background-image:url(/wp-content/uploads/2026/10/gen-botanical-foliage-a-1000.webp);
    width:270px;aspect-ratio:1;top:calc(100% + 70px);left:-30px;opacity:.55}
.cheile-page-about .oxy-text-157-195::before{background-image:url(/wp-content/uploads/2026/10/gen-botanical-fern-a-1000.webp);
    width:300px;aspect-ratio:3/2;top:calc(100% + 140px);left:-40px;opacity:.55;transform:rotate(-10deg)}
.cheile-page-about .oxy-text-157-221::before{background-image:url(/wp-content/uploads/2026/10/gen-botanical-eucalyptus-a-1000.webp);
    width:280px;aspect-ratio:3/2;top:calc(100% + 30px);left:-24px;opacity:.6;transform:rotate(6deg)}
@media (max-width:1279px){
  .cheile-page-about .oxy-text-157-129::before{width:220px}
  .cheile-page-about .oxy-text-157-140::before{width:230px}
  .cheile-page-about .oxy-text-157-195::before{width:250px}
  .cheile-page-about .oxy-text-157-221::before{width:240px}
}
@media (max-width:960px){
  .cheile-page-about .oxy-text-157-129::before,
  .cheile-page-about .oxy-text-157-140::before,
  .cheile-page-about .oxy-text-157-195::before{display:none}
  .cheile-page-about .oxy-text-157-221::before{width:110px;top:-50px;left:auto;right:-8px;opacity:.5;transform:rotate(-6deg)}
}
/* Rollout agent C: page-specific CSS only. See 04-content/rollout-plan-2026-10-21.md */

/* Fees, Contact, Resources (21 Oct): faint watercolour botanicals in the empty left
   column of two-column rows, the same pattern as the Workplace #help rules in
   inner_warm.css. The .wrap is the positioning box, its children sit above the accent.
   Sections are found by their aria-labelledby ids (classes are UUIDs in Oxygen). */
.cheile-page-fees section[aria-labelledby="sess-h"] > .wrap,
.cheile-page-fees section[aria-labelledby="faq-h"] > .wrap,
.cheile-page-contact .contact-sec > .wrap,
.cheile-page-contact section[aria-labelledby="next-h"] > .wrap,
.cheile-page-blog .related > .wrap{position:relative}
.cheile-page-fees section[aria-labelledby="sess-h"] > .wrap > *,
.cheile-page-fees section[aria-labelledby="faq-h"] > .wrap > *,
.cheile-page-contact .contact-sec > .wrap > *,
.cheile-page-contact section[aria-labelledby="next-h"] > .wrap > *,
.cheile-page-blog .related > .wrap > *{position:relative;z-index:1}
.cheile-page-fees section[aria-labelledby="sess-h"] > .wrap::before,
.cheile-page-fees section[aria-labelledby="faq-h"] > .wrap::before,
.cheile-page-contact .contact-sec > .wrap::before,
.cheile-page-contact section[aria-labelledby="next-h"] > .wrap::before,
.cheile-page-blog .related > .wrap::before{content:"";position:absolute;z-index:0;pointer-events:none;
  background:no-repeat center/contain}

/* Fees: "What a session involves" (Laura Fees #3, "might need an image here") and the FAQ */
.cheile-page-fees section[aria-labelledby="sess-h"] > .wrap::before{
  background-image:url(/wp-content/uploads/2026/10/gen-botanical-eucalyptus-a-1000.webp);
  width:340px;aspect-ratio:3/2;left:16px;top:130px;opacity:.6;transform:rotate(-6deg)}
.cheile-page-fees section[aria-labelledby="faq-h"] > .wrap::before{
  background-image:url(/wp-content/uploads/2026/10/gen-botanical-foliage-a-1000.webp);
  width:270px;aspect-ratio:1;left:24px;top:130px;opacity:.55}

/* Contact: under "Get in touch" beside the tall form, and under "What happens next" */
.cheile-page-contact .contact-sec > .wrap::before{
  background-image:url(/wp-content/uploads/2026/10/gen-botanical-eucalyptus-a-1000.webp);
  width:340px;aspect-ratio:3/2;left:16px;bottom:120px;opacity:.6;transform:rotate(-8deg)}
.cheile-page-contact section[aria-labelledby="next-h"] > .wrap::before{
  background-image:url(/wp-content/uploads/2026/10/gen-botanical-fern-a-1000.webp);
  width:240px;aspect-ratio:3/2;left:24px;top:104px;opacity:.55}

/* Resources: the empty end of the "Looking for support?" heading row */
.cheile-page-blog .related > .wrap::before{
  background-image:url(/wp-content/uploads/2026/10/gen-botanical-fern-a-1000.webp);
  width:190px;aspect-ratio:3/2;right:-40px;top:-76px;opacity:.55;transform:scaleX(-1)}

@media (max-width:1279px){
  .cheile-page-fees section[aria-labelledby="sess-h"] > .wrap::before,
  .cheile-page-contact .contact-sec > .wrap::before{width:280px}
  .cheile-page-fees section[aria-labelledby="faq-h"] > .wrap::before{width:230px}
  .cheile-page-contact section[aria-labelledby="next-h"] > .wrap::before{width:200px}
  .cheile-page-blog .related > .wrap::before{right:16px}
}
/* QA D, 21 Oct: on phones the Fees h1 broke as "...Health Occupational / Therapy", one
   word on the last line ("Occupational" is too long for balance to help). A touch smaller
   on narrow phones so it sets as two even lines */
@media (max-width:420px){
  .cheile-page-fees h1{font-size:34px}
}

/* Rows stack at 960px: the empty column is gone and the headings run full width, so the
   accents would sit on text. None on tablets and phones */
@media (max-width:960px){
  .cheile-page-fees section[aria-labelledby="sess-h"] > .wrap::before,
  .cheile-page-fees section[aria-labelledby="faq-h"] > .wrap::before,
  .cheile-page-contact .contact-sec > .wrap::before,
  .cheile-page-contact section[aria-labelledby="next-h"] > .wrap::before,
  .cheile-page-blog .related > .wrap::before{display:none}
}
/* Rollout agent F, 21 Oct: ONE quote-band ("break") treatment on the three service pages.
   A nature photo fills a leaf-shaped panel (two big opposite corners); the quote sits in
   the homepage hero's dark frosted circle over the photo's quiet left-centre area, with a
   quiet "More about Laura" link inside the circle. No portrait, no logo ring.
   Generalised from agent A's Mental Health OT rules (formerly in rollout_a.css).
   Mental Health OT: river bank. Perinatal: misty lake. Workplace: stepping stones. */
:is(.cheile-page-perinatal-mental-health,.cheile-page-mental-health-occupational-therapy,.cheile-page-workplace-wellbeing) .break .break-in{
  position:relative;isolation:isolate;display:flex;align-items:center;justify-content:flex-start;
  min-height:clamp(440px,40vw,560px);padding:clamp(28px,4vw,56px) clamp(28px,7vw,112px);
  border-radius:220px 28px 220px 28px;overflow:hidden}
:is(.cheile-page-perinatal-mental-health,.cheile-page-mental-health-occupational-therapy,.cheile-page-workplace-wellbeing) .break .frame{
  position:absolute;inset:0;z-index:-1;width:auto;aspect-ratio:auto}
:is(.cheile-page-perinatal-mental-health,.cheile-page-mental-health-occupational-therapy,.cheile-page-workplace-wellbeing) .break .frame .fmark{display:none}
:is(.cheile-page-perinatal-mental-health,.cheile-page-mental-health-occupational-therapy,.cheile-page-workplace-wellbeing) .break .frame .photo{
  -webkit-clip-path:none;clip-path:none}
:is(.cheile-page-perinatal-mental-health,.cheile-page-mental-health-occupational-therapy,.cheile-page-workplace-wellbeing) .break .frame .photo img{object-position:50% 50%}
/* the circle: the content container beside the frame */
:is(.cheile-page-perinatal-mental-health,.cheile-page-mental-health-occupational-therapy,.cheile-page-workplace-wellbeing) .break .break-in > :not(.frame){
  --circle:400px;position:relative;flex:0 0 auto;width:min(var(--circle),100%);aspect-ratio:1;border-radius:50%;
  display:flex;flex-direction:column;align-items:center;justify-content:center;padding:58px;text-align:center;
  background:rgba(30,48,34,.62);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
:is(.cheile-page-perinatal-mental-health,.cheile-page-mental-health-occupational-therapy,.cheile-page-workplace-wellbeing) .break blockquote{margin:0}
:is(.cheile-page-perinatal-mental-health,.cheile-page-mental-health-occupational-therapy,.cheile-page-workplace-wellbeing) .break blockquote p{
  color:#F5EFE4;font-size:clamp(24px,2.1vw,30px);text-shadow:0 1px 12px rgba(20,30,22,.4)}
:is(.cheile-page-perinatal-mental-health,.cheile-page-mental-health-occupational-therapy,.cheile-page-workplace-wellbeing) .break .who{
  margin-top:14px;font-size:15px;color:#F5EFE4;text-shadow:0 1px 8px rgba(20,30,22,.45)}
:is(.cheile-page-perinatal-mental-health,.cheile-page-mental-health-occupational-therapy,.cheile-page-workplace-wellbeing) .break .who strong{color:#F5EFE4;font-weight:500}
/* "More about Laura": small cream underlined text link, below the quote, never louder
   than it. Cream on the circle's dark green is well over 4.5:1. */
:is(.cheile-page-perinatal-mental-health,.cheile-page-mental-health-occupational-therapy,.cheile-page-workplace-wellbeing) .break .break-in .arrow{
  display:inline-flex;align-items:center;gap:6px;margin-top:16px;padding:2px 0 3px;
  font-size:15px;font-weight:500;letter-spacing:.01em;color:#F5EFE4;text-decoration:none;
  border-bottom:1px solid rgba(245,239,228,.6);text-shadow:0 1px 8px rgba(20,30,22,.45)}
:is(.cheile-page-perinatal-mental-health,.cheile-page-mental-health-occupational-therapy,.cheile-page-workplace-wellbeing) .break .break-in .arrow:hover{border-bottom-color:#F5EFE4}
:is(.cheile-page-perinatal-mental-health,.cheile-page-mental-health-occupational-therapy,.cheile-page-workplace-wellbeing) .break .break-in .arrow:focus-visible{
  outline:2px solid #F5EFE4;outline-offset:4px;border-radius:4px}

/* per page: the photo's crop, and room for Laura's longer perinatal quote */
.cheile-page-mental-health-occupational-therapy .break .frame .photo img{object-position:50% 72%}
.cheile-page-perinatal-mental-health .break .frame .photo img{object-position:50% 58%}
.cheile-page-workplace-wellbeing .break .frame .photo img{object-position:50% 60%}
.cheile-page-perinatal-mental-health .break .break-in > :not(.frame){--circle:clamp(420px,32vw,448px);padding:56px 52px;background:rgba(30,48,34,.68)}
.cheile-page-perinatal-mental-health .break blockquote p{font-size:clamp(20px,1.65vw,24px);line-height:1.38}

@media (max-width:960px){
  :is(.cheile-page-perinatal-mental-health,.cheile-page-mental-health-occupational-therapy,.cheile-page-workplace-wellbeing) .break .break-in{
    min-height:460px;justify-content:center;padding:28px 20px;border-radius:120px 20px 120px 20px}
  :is(.cheile-page-perinatal-mental-health,.cheile-page-mental-health-occupational-therapy,.cheile-page-workplace-wellbeing) .break .frame{width:auto}
  :is(.cheile-page-perinatal-mental-health,.cheile-page-mental-health-occupational-therapy,.cheile-page-workplace-wellbeing) .break .break-in > :not(.frame){
    --circle:262px;padding:30px}
  :is(.cheile-page-perinatal-mental-health,.cheile-page-mental-health-occupational-therapy,.cheile-page-workplace-wellbeing) .break blockquote p{font-size:20px}
  :is(.cheile-page-perinatal-mental-health,.cheile-page-mental-health-occupational-therapy,.cheile-page-workplace-wellbeing) .break .who{margin-top:8px;font-size:14px}
  :is(.cheile-page-perinatal-mental-health,.cheile-page-mental-health-occupational-therapy,.cheile-page-workplace-wellbeing) .break .break-in .arrow{margin-top:10px;font-size:14px}
  .cheile-page-mental-health-occupational-therapy .break .frame .photo img{object-position:46% 62%}
  .cheile-page-perinatal-mental-health .break .frame .photo img{object-position:38% 50%}
  .cheile-page-workplace-wellbeing .break .frame .photo img{object-position:62% 50%}
  .cheile-page-perinatal-mental-health .break .break-in > :not(.frame){--circle:310px;padding:34px 30px}
  .cheile-page-perinatal-mental-health .break blockquote p{font-size:17px;line-height:1.36}
}
/* Agent G: page-specific CSS only. Keep this file deployable at all times (other agents' deploys bundle it). */

/* Footer (template 110): professional logo row (Laura MH OT #18, feedback 72). Logos sit
   unaltered on light rounded tiles. */
footer.site .memberships{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:44px}
footer.site .mem-tile{display:flex;align-items:center;justify-content:center;background:var(--cream,#FFFEE9);border-radius:10px;padding:8px 12px;line-height:0}
footer.site .mem-tile img{display:block;height:40px;width:auto;max-width:none}
footer.site .memberships + .legal{margin-top:32px}
@media (max-width:560px){
  footer.site .memberships{margin-top:36px;gap:10px}
  footer.site .mem-tile{padding:7px 10px}
  footer.site .mem-tile img{height:36px}
  footer.site .memberships + .legal{margin-top:28px}
}
/* (John, 23 Oct) the row moved into the footer grid (footer_logos_up.py): it shares the brand
   column with the logo, pinned to the foot of the row so it ends level with the last
   Services link. Single column under 960px: it stacks under the logo instead */
footer.site .foot > img,footer.site .foot > .memberships{grid-column:1;grid-row:1}
footer.site .foot > .memberships{align-self:end;margin-top:0;margin-bottom:6px} /* tile foot on the text baseline */
@media (max-width:960px){
  footer.site .foot > img,footer.site .foot > .memberships{grid-row:auto}
  footer.site .foot > .memberships{margin-top:-8px;margin-bottom:0}
}
/* Agent H: page-specific CSS only. Keep this file deployable at all times (other agents' deploys bundle it). */

/* What's On (page 389, 22 Oct). Laura's posts in the "What's On" category list as the
   Resources cards (Component 391). Posters often carry text, so the image is shown whole
   on the light green card rather than cropped. The "No upcoming events" card fills the
   column and gives way as soon as one post is published. */
.cheile-page-whats-on .events-loop .f-img img{object-fit:contain;object-position:50% 50%}
.cheile-page-whats-on .events-empty{grid-template-columns:minmax(0,1fr)}
.cheile-page-whats-on .events:has(.events-loop > .featured) .events-empty{display:none}
.cheile-page-whats-on .events .row-head{margin-bottom:clamp(28px,3vw,40px)}

/* Botanical accents: the empty left column beside the opening paragraph, and the empty
   end of the "Looking for support?" heading row (as on Resources) */
.cheile-page-whats-on .opening > .wrap,
.cheile-page-whats-on .related > .wrap{position:relative}
.cheile-page-whats-on .opening > .wrap > *,
.cheile-page-whats-on .related > .wrap > *{position:relative;z-index:1}
.cheile-page-whats-on .opening > .wrap::before,
.cheile-page-whats-on .related > .wrap::before{content:"";position:absolute;z-index:0;pointer-events:none;
  background:no-repeat center/contain}
.cheile-page-whats-on .opening > .wrap::before{
  background-image:url(/wp-content/uploads/2026/10/gen-botanical-eucalyptus-a-1000.webp);
  width:330px;aspect-ratio:3/2;left:8px;top:-8px;opacity:.6;transform:rotate(-8deg)}
.cheile-page-whats-on .related > .wrap::before{
  background-image:url(/wp-content/uploads/2026/10/gen-botanical-fern-a-1000.webp);
  width:190px;aspect-ratio:3/2;right:-40px;top:-76px;opacity:.55;transform:scaleX(-1)}
@media (max-width:1279px){
  .cheile-page-whats-on .opening > .wrap::before{width:270px}
  .cheile-page-whats-on .related > .wrap::before{right:16px}
}
/* tablets: the lone full-width empty card stays a side-by-side row, not a tall stack */
@media (min-width:961px) and (max-width:1279px){
  .cheile-page-whats-on .events-empty .soon{grid-template-columns:180px minmax(0,1fr)}
  .cheile-page-whats-on .events-empty .soon-img{min-height:0}
}
@media (max-width:960px){
  .cheile-page-whats-on .opening > .wrap::before,
  .cheile-page-whats-on .related > .wrap::before{display:none}
}

/* Webinar (draft page, 22 Oct): the single purchase card fills its column */
.cheile-page-webinar .plans{grid-template-columns:minmax(0,1fr)}
.cheile-page-webinar .plan .btn{align-self:flex-start}
/* the opening runs straight into the first row: no divider tight under it (as About) */
.cheile-page-webinar .opening + .row{border-top:0}


/* Agent I: page-specific CSS only. Keep this file deployable at all times (other agents' deploys bundle it). */

/* (agent I, 22 Oct, editability) The header logo Image element in Oxygen (template 106) now
   holds logo-f-cream.webp itself. Older swaps that replaced it with content:url() still sit
   in laura_amends.css (max-width:960px) and wf_proto.css (.cheile-wf, the homepage); this
   cancels them so whatever image Laura picks in Oxygen is the one that shows. Sizes untouched.
   Those two content:url() rules can be deleted at the next CSS tidy, then this rule too. */
.logo img,.cheile-wf .logo img{content:normal}
/* Same for the footer logo (template 110): wf_proto.css still swaps it on the homepage */
.cheile-wf .foot img{content:normal}

/* (agent I, 22 Oct) Homepage hero photo is a real Oxygen Image element now (was raw <picture>
   HTML in a Text element, with style="object-position:50% 50%" inline). Oxygen drops inline
   styles, so the position it had at every width is restored here; it must beat
   .hero-media img.photo (50% 22%, and 50% 0% under 960px). body.home = the front page only. */
body.home .hero-media > img.photo{object-position:50% 50%}
/* Webinar (John, 23 Oct; Laura note 45). The webinar is a product, so the homepage gives it its
   own band (webinar_band.py, site cta-band pattern) straight after "Support for pregnancy and
   life after baby", linking to /webinar/. The articles row is untouched. */
/* Light sage, the colour of the webinar page's purchase card: an offer, set apart from the dark
   perinatal section above and the cream section below */
.cta-band[data-band="webinar"]{background:#E1E8D9;color:var(--ink)}
.cta-band[data-band="webinar"] h2,.cta-band[data-band="webinar"] p{color:var(--ink)}
.cta-band[data-band="webinar"] h2 em{color:var(--green)}
.cta-band[data-band="webinar"] .feathered::after{background:var(--green)} /* cta-band sets it cream */
[data-band="webinar"] [data-el="kicker"]{font:500 12px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--moss);margin:0 0 14px}

/* Webinar page: reassurance line under the Purchase button (where the Stripe link goes) */
.plan [data-note="stripe"]{margin-top:12px;font-size:14px;color:var(--muted)}

/* case study post (438): numbered subheadings and the goals list inside article sections */
.prose section > h3{font-size:clamp(22px,1.9vw,26px);line-height:1.25;margin:1.7em 0 .55em}
.prose section > h2 + h3{margin-top:0}
.prose section > ul{margin:.8em 0 0;padding-left:1.25em;list-style:disc}
.prose section > ul li+li{margin-top:.45em}
.prose section > ul li::marker{color:var(--green)}

/* (agent-B, 28 Oct, Laura's email of 27 Oct) Header logo bigger on every page (L27-LOGO-SIZE).
   Size only, the logo file is untouched: 97 -> 126px above 960px (+30%), 76 -> 96px at
   561-960px (+26%), 70 -> 86px at 560px and under (+23%). The header grows with it (same
   5px / 8px breathing room as before), so everything that sits under the sticky header
   moves down by the same 28px: anchor scroll padding, the sticky sidebars and intros */
.logo img,.cheile-wf .logo img{height:126px}
.head,.cheile-wf .head{min-height:136px}
html{scroll-padding-top:168px}
html:has(body.cheile-home){scroll-padding-top:138px}
.side{top:168px}
.familiar .intro{top:168px}
@media (min-width:961px) and (max-height:979px){
  .side:has(.book){top:152px;max-height:calc(100vh - 168px)}
}
@media (max-width:960px){
  .head,.cheile-wf .head{min-height:112px}
  .logo img,.cheile-wf .logo img{height:96px}
  html{scroll-padding-top:126px}
}
@media (max-width:560px){
  .head,.cheile-wf .head{min-height:102px}
  .logo img,.cheile-wf .logo img{height:86px}
}

/* (agent-B, 28 Oct) L27-IMG-WHATSON / L27-IMG-CONTACT: keep the subject in the round frame.
   Walking group (3:2): the group sits left of centre. Park bench (2:3 portrait): the phone and
   hands sit below centre */
.cheile-page-whats-on img.oxy-image-389-110{object-position:37% 50%}
.cheile-page-contact img.oxy-image-194-120{object-position:50% 58%}

/* (28 Oct, QA of Laura's 27 Oct changes) Homepage fixes.
   1. The decorative ring around the #what photo (.home-frame::before, shifted right and rotated)
      pushed the page 2px wider than the viewport at 1024. Clip it at the section edge.
   2. 961-1279px: the hero text column (600px) ran into the faded waterfall photo. Size the
      column to the left half of the viewport there; 600px from 1280 up, unchanged. */
.cheile-wf .what{overflow-x:clip}
@media (min-width:961px){
  .hero .hero-text{max-width:min(600px,calc(50vw - 40px))}
}

/* (28 Oct, L27-CORU-LOGO, John approved 28 Oct) CORU tile first in the footer logo row (template
   110, el 140/141, footer_coru.py). Three tiles at 40px high need about 402px, but the brand
   column is only 302-429px wide between 961 and 1440 (280-350px on phones), so Arachas wrapped
   and the row ran up into the logo. Every logo shares one height that scales with the row's own
   width (sum of logo aspect ratios 2.70 + 1.74 + 3.20 = 7.65, minus tile padding and gaps),
   capped at the existing 40px (36px on phones), so all tiles stay the same height on one line */
footer.site .memberships{container-type:inline-size;flex-wrap:nowrap}
footer.site .mem-tile img{height:clamp(24px,calc((100cqw - 100px) / 7.7),40px)}
@media (max-width:560px){
  footer.site .mem-tile img{height:clamp(24px,calc((100cqw - 84px) / 7.7),36px)}
}
/* Webinar thank-you page: 16:9 video frame (holding note until the embed goes in) */
.vidframe{aspect-ratio:16/9;width:100%;border-radius:20px;overflow:hidden;background:rgba(73,116,77,.10);display:grid;place-items:center;text-align:center;padding:24px;margin-bottom:24px}
.vidframe iframe{width:100%;height:100%;border:0;display:block}
.vidframe:has(iframe){padding:0;background:#000}

/* Webinar page: Laura's poster in the empty left column of "Purchase access", under the
   heading and beside the price card (webinar_poster.py) */
.row-in:has(> .webinar-poster) > h2{grid-column:1;grid-row:1}
.row-in > .webinar-poster{grid-column:1;grid-row:2;width:100%;height:auto;border-radius:20px;display:block;margin-top:clamp(8px,1.6vw,24px)}
.row-in:has(> .webinar-poster) > .row-main{grid-column:2;grid-row:1 / span 2}
@media (max-width:960px){
  .row-in > .webinar-poster,.row-in:has(> .webinar-poster) > .row-main{grid-column:1;grid-row:auto}
  .row-in > .webinar-poster{max-width:360px;margin-top:0}
}

/* bare inline SVG sizes (common.mark_text_flow) */
.oxy-svg-icon2>svg[data-bare][width="22"][height="22"]{width:22px;height:22px}

/* former inline styles (common.inline_styles_to_classes) */
.u-color-inherit{color:inherit !important}
.u-margin-top-0{margin-top:0 !important}
.u-margin-top-16px{margin-top:16px !important}
.u-margin-top-22px{margin-top:22px !important}
.u-margin-top-28px{margin-top:28px !important}
.u-margin-top-32px{margin-top:32px !important}
