:root{--paper:#fffdf7;--ink:#293326;--sage:#707963;--oat:#e9e1cf;--line:#c8caba;--wood:#b08a60}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:18px/1.7 'Segoe UI',Arial,sans-serif}a{color:inherit;text-underline-offset:.25em}a:hover{text-decoration-thickness:2px}a:focus-visible,summary:focus-visible,.table-scroll:focus-visible{outline:3px solid var(--sage);outline-offset:5px}h1,h2,h3{font-family:Georgia,serif;font-weight:400;line-height:1.12;letter-spacing:-.025em}h1{font-size:clamp(2.7rem,5.8vw,5.5rem);margin:.2em 0}h2{font-size:clamp(1.9rem,3vw,2.8rem)}h3{font-size:1.8rem}img{display:block;width:100%;height:auto}figure{margin:0}.skip{position:absolute;left:-9999px}.skip:focus{left:1rem;top:1rem;background:var(--paper);padding:1rem;z-index:5}header{max-width:1280px;margin:auto;padding:2rem 3rem;display:flex;justify-content:space-between;align-items:center;gap:2rem}nav{display:flex;gap:1.6rem;flex-wrap:wrap;font-size:.9rem}.brand{font:1.8rem/1.2 Georgia,serif;text-decoration:none}.brand span{display:block;font:.78rem/1.8 'Segoe UI',sans-serif;color:#59634f}.home-intro{max-width:1220px;margin:auto;padding:2rem 3rem 3rem;display:flex;align-items:flex-end;gap:5rem}.home-intro h1{flex:1.3}.home-intro p{flex:1;max-width:29ch;font-size:1.12rem;margin-bottom:.6rem}.room{max-width:1440px;margin:auto}.room img{max-height:700px;object-fit:cover;object-position:center 55%}.guides{max-width:1280px;margin:auto;padding:4rem 3rem}.guides>h2{margin-top:0;margin-bottom:2rem}.guide-row{display:grid;grid-template-columns:1fr 1fr;gap:3rem}.guide-row>a{text-decoration:none}.guide-row img{height:360px;object-fit:cover;object-position:top}.guide-row h3{margin:1rem 0 .5rem}.guide-row p{max-width:43ch;margin:.5rem 0 1rem}.guide-row span{text-decoration:underline;font-size:.95rem}.approach{background:var(--oat);padding:3rem max(2rem,calc((100vw - 1120px)/2));margin-bottom:3rem}.approach h2{margin-top:0}.approach p{max-width:62ch}footer{max-width:1280px;margin:auto;padding:3rem;border-top:1px solid var(--line)}footer p{font-size:.95rem}.article-title{max-width:1040px;margin:auto;padding:3rem 3rem 2rem}.article-title h1{font-size:clamp(2.6rem,4.8vw,4.5rem)}.article-title>p:first-child{font-size:.85rem}.lead{font-size:1.2rem;max-width:55ch}.byline{font-size:.85rem;color:#59634f}.article-image{max-width:1120px;margin:auto}.article-image.portrait{max-width:680px}.reading{max-width:800px;margin:auto;padding:3rem 2rem 5rem}.reading p{max-width:68ch}.reading section{margin-top:3rem;scroll-margin-top:1.5rem}.reading section h2{font-size:2rem}.plain{padding-top:3rem;min-height:60vh}.plain h1{font-size:3.4rem}.contents{padding:1rem 1.2rem;background:#eff0e8;margin:2rem 0}.contents summary{cursor:pointer;font-weight:600}.contents ul{padding-left:1.25rem}.contents li{margin:.5rem 0}.table-scroll{overflow-x:auto;margin:2rem 0}table{border-collapse:collapse;width:100%;font-size:.9rem;text-align:left}caption{text-align:left;font-weight:600;margin-bottom:1rem}th,td{padding:.8rem;border-bottom:1px solid var(--line);vertical-align:top}thead{background:#eff0e8}tbody th{font-weight:600}.palette{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.swatch{display:block;height:90px;border:1px solid #b9bba9}.palette h3{font-size:1.2rem;margin:.7rem 0}.palette p{font-size:.85rem;line-height:1.5}.related{padding:1.4rem 1.6rem;background:var(--oat);margin-top:3rem}.related h2{font-size:1.6rem;margin-top:0}@media(max-width:760px){header{padding:1.4rem;align-items:flex-start;gap:1rem}.brand{font-size:1.5rem}header nav{gap:.6rem;font-size:.8rem;max-width:150px}.home-intro{display:block;padding:1.5rem 1.4rem 2rem}.home-intro p{max-width:40ch;margin-top:1.3rem}.room img{min-height:320px;object-fit:cover;object-position:45% center}.guides{padding:2.5rem 1.4rem}.guide-row{grid-template-columns:1fr;gap:2.5rem}.guide-row img{height:auto;max-height:520px;object-fit:contain;background:var(--oat)}.approach{padding:2rem 1.4rem}footer{padding:2rem 1.4rem}.article-title{padding:2rem 1.4rem 1.5rem}.reading{padding:2rem 1.4rem 3rem}.palette{grid-template-columns:1fr 1fr;gap:1.2rem}.article-image.portrait{max-width:100%}.plain h1{font-size:2.7rem}.table-scroll table{min-width:570px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
