@font-face{font-family:Fraunces;src:url('../assets/fraunces-light.ttf')}@font-face{font-family:Fraunces;src:url('../assets/fraunces-light-italic.ttf');font-style:italic}@font-face{font-family:Inter;src:url('../assets/inter-regular.ttf')}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f5f0e8;color:#17273c;font-family:Inter,sans-serif;line-height:1.65}::selection{background:#f3b39d;color:#17273c}a{color:inherit;text-underline-offset:.2em;text-decoration-thickness:1px}a:hover{color:#a44331}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #a44331;outline-offset:4px}.skip{position:absolute;left:1rem;top:-5rem;z-index:20;background:white;padding:.5rem}.skip:focus{top:1rem}.top{display:flex;justify-content:space-between;gap:1rem;padding:1rem 4vw;border-bottom:1px solid #c5bdb0;font-size:.78rem}.top a{text-decoration:none}.hero{display:grid;grid-template-columns:1fr minmax(300px,45%);min-height:690px;background:#17273c;color:#f8f2e8}.hero-copy{padding:clamp(4rem,9vw,9rem) 7vw;align-self:center}.hero h1,h2,h3{font-family:Fraunces,serif;font-weight:400;line-height:1.08;letter-spacing:-.025em}.hero h1{font-size:clamp(3.7rem,6.4vw,6rem);max-width:10ch;margin:0 0 2rem}.hero h1 em{color:#f0a28b}.hero p{max-width:48ch}.standfirst{font-size:1.3rem;line-height:1.5}.text-link{display:inline-block;margin-top:1.5rem;color:#ffd0c0}.hero-art{margin:0;position:relative;min-height:500px;overflow:hidden}.hero-art img{width:100%;height:100%;position:absolute;object-fit:cover}.hero-art figcaption{position:absolute;bottom:0;right:0;background:#17273c;color:#fff;padding:.45rem .8rem;font-size:.73rem}.contents{position:sticky;top:0;z-index:10;display:flex;gap:2rem;overflow-x:auto;white-space:nowrap;background:#e7dfd3;border-bottom:1px solid #b9afa1;padding:1rem 4vw;font-size:.83rem}.contents a{text-decoration:none}.body{max-width:1450px;margin:auto;padding:0 5vw}.section{display:grid;grid-template-columns:minmax(150px, 23%) minmax(0,1fr);gap:3rem;padding:7rem 0;border-bottom:1px solid #c5bdb0;scroll-margin-top:4rem}.section-label{font-size:.78rem;text-transform:uppercase;letter-spacing:.12em;padding-top:.7rem;color:#854333}.section h2{font-size:clamp(2.8rem,5vw,5rem);max-width:16ch;margin:0 0 2rem}.section p{max-width:70ch}.lead{font-family:Fraunces,serif;font-size:clamp(1.6rem,2.4vw,2.3rem);line-height:1.32}.formula{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;padding:2rem 0;font-size:.94rem}.formula span{border:1px solid #9fafa8;border-radius:40px;padding:.5rem 1rem}.formula b{color:#a44331}.note{font-size:.9rem;color:#4d5964}.study-list{margin:3rem 0}.study-list article{padding:2rem 0;border-top:1px solid #b8afa3;display:grid;grid-template-columns:150px minmax(0,1fr);column-gap:2rem}.study-index{grid-row:1 / 4;font-size:.8rem;color:#854333;text-transform:uppercase;letter-spacing:.08em}.study-list h3,.practice h3{font-size:1.8rem;margin:0}.study-list p{margin:.8rem 0}.study-list a{width:fit-content;font-weight:bold}.practice article{border-top:1px solid #c5bdb0;padding:1.6rem 0}.practice h3 span{font-family:Inter,sans-serif;font-size:.92rem;color:#854333;letter-spacing:0}.filters{margin-top:3rem}.filters label{display:block;font-size:.85rem;font-weight:bold}.filters input{display:block;width:100%;max-width:500px;background:#fffdf8;border:1px solid #8c918b;border-radius:0;padding:.9rem;margin:.5rem 0 1.2rem;font:inherit;color:#17273c}.filters [role=group]{display:flex;flex-wrap:wrap;gap:.5rem}button{font:inherit;font-size:.85rem;background:transparent;border:1px solid #67737a;color:#17273c;padding:.55rem .9rem;cursor:pointer}button:hover,button.active{background:#17273c;color:white}.result-count{font-size:.85rem;color:#59636a}.technique-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 2.5rem}.technique-list article{border-top:1px solid #b8afa3;padding:1.3rem 0}.technique-list article>div{display:flex;justify-content:space-between;gap:1rem;align-items:baseline}.technique-list h3{font-size:1.45rem;margin:0}.technique-list span{font-size:.72rem;white-space:nowrap;text-transform:uppercase;letter-spacing:.05em;color:#854333}.technique-list p{font-size:.91rem;margin:.7rem 0}.technique-list a{font-size:.82rem}.table-wrap{overflow-x:auto;margin:2rem 0}table{border-collapse:collapse;width:100%;min-width:720px;text-align:left;font-size:.85rem}th,td{border-bottom:1px solid #c5bdb0;padding:1rem .8rem;vertical-align:top}thead th{background:#17273c;color:#fff}tbody th{width:17%}.workflow{padding-left:1.3rem;max-width:70ch}.workflow li{padding:.6rem 0 .6rem .5rem}.paths{padding-left:1.2rem;font-size:.8rem;overflow-wrap:anywhere}.paths li{margin:.6rem 0}footer{display:flex;justify-content:space-between;gap:2rem;padding:3rem 5vw;background:#17273c;color:#f5f0e8;font-size:.85rem}@media(max-width:800px){.top span:last-child{display:none}.hero{grid-template-columns:1fr}.hero-copy{padding:5rem 6vw}.hero-art{min-height:380px}.section{grid-template-columns:1fr;gap:1rem;padding:4.5rem 0}.section-label{padding:0}.section h2{margin-bottom:1.5rem}.study-list article{grid-template-columns:1fr;gap:.5rem}.study-index{grid-row:auto}.technique-list{grid-template-columns:1fr}footer{flex-direction:column}.contents{gap:1.4rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media(max-width:800px){.section{grid-template-columns:minmax(0,1fr)}}

.download-link{color:#854333;min-height:44px}.download-link:hover{color:#17273c}
/* Keep technique names and readiness labels inside narrow tablet columns. */
.technique-list article>div{flex-wrap:wrap;gap:.35rem 1rem}
.technique-list h3{min-width:0;overflow-wrap:anywhere}
.technique-list span,.hero-art figcaption{font-size:.75rem}
