:root{--paper:#f6f4ed;--ink:#24392f;--muted:#5f6b62;--line:#cbd0c4;--accent:#24594b;--wash:#e4e6da}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.75 system-ui,sans-serif}body.dark{--paper:#18261f;--ink:#f0f0df;--muted:#b6c3b6;--line:#48584b;--accent:#c0d7a7;--wash:#304336}a{color:inherit;text-underline-offset:5px}a:hover{color:var(--accent)}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #b07c46;outline-offset:5px}.container{max-width:1180px;width:calc(100% - 64px);margin:auto}header{border-bottom:1px solid var(--line)}.header-inner{display:flex;align-items:center;gap:30px;min-height:94px}.brand{font-size:25px;letter-spacing:-1.3px;font-weight:750;text-decoration:none}.brand span{color:#91664f}nav{display:flex;gap:32px;margin-left:auto;font-size:14px}nav a{text-decoration:none}nav a[aria-current]{text-decoration:underline;text-decoration-thickness:2px}button{color:var(--ink);background:none;border:1px solid var(--line);border-radius:50%;min-width:44px;min-height:44px}#menu{display:none}.eyebrow,.meta{font-size:12px;letter-spacing:.13em}.eyebrow{color:var(--muted);font-weight:650;margin-bottom:24px}.meta{letter-spacing:.04em;color:var(--muted)}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.06;letter-spacing:-.045em}h1{font-size:clamp(44px,5.8vw,82px);margin:20px 0 30px}h2{font-size:clamp(36px,4vw,55px);margin:12px 0 24px}h3{font-size:29px;line-height:1.18;letter-spacing:-.025em;margin:12px 0}p{color:var(--muted)}.intro{font-size:18px;max-width:580px;line-height:1.8}.hero{display:grid;grid-template-columns:1.3fr 1fr;gap:70px;align-items:center;padding:100px 0}.hero>.art{height:490px;border-radius:48% 48% 3px 3px}.actions{display:flex;align-items:center;gap:28px;margin-top:36px}.btn{display:inline-block;background:var(--ink);color:var(--paper);padding:13px 22px;text-decoration:none;font-size:14px;border-radius:3px}.btn:hover{background:var(--accent);color:var(--paper)}.text-link{font-size:14px;font-weight:600}.art{height:235px;display:grid;place-items:center;position:relative;overflow:hidden;background:#d9dfce;color:#24392f}.art:before{content:'';position:absolute;width:76%;aspect-ratio:1;border:1px solid #ffffff70;border-radius:50%;transform:translate(8%,12%)}.art:after{content:'';position:absolute;width:44%;aspect-ratio:1;border-radius:50%;background:#d5c99e99;right:3%;bottom:5%}.art span{font:italic 34px/1.12 Georgia,serif;text-align:center;max-width:70%;z-index:1}.tone-1{background:linear-gradient(145deg,#d1d8bd,#4c6a5a);color:#fffce7}.tone-2{background:#e2d2bf}.tone-0{background:#d9dfce}.section{border-top:1px solid var(--line);padding:66px 0 80px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:28px}.section-head a{font-size:14px;margin-bottom:22px}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}.card{text-decoration:none;display:block}.card .meta{margin-top:22px}.card p{font-size:14px;line-height:1.7}.card:hover h3{text-decoration:underline;text-decoration-thickness:1px}.split{display:grid;grid-template-columns:1fr 1fr;gap:80px}.page-hero{padding:80px 0 45px;max-width:900px}.page-hero h1{font-size:clamp(44px,5.5vw,72px)}.toolbar{display:flex;align-items:center;gap:16px;flex-wrap:wrap;border-block:1px solid var(--line);padding:22px 0}.toolbar input,.toolbar select{background:var(--paper);color:var(--ink);border:1px solid var(--line);padding:10px;max-width:100%;border-radius:3px}.toolbar label{font-size:14px}#count{font-size:13px}.notice{padding:18px 22px;background:var(--wash);font-size:14px;border-left:2px solid var(--accent)}.reading{max-width:720px;margin:70px auto 110px}.reading .page-hero{padding-top:40px}.reading>p{font:20px/1.95 Georgia,serif;color:var(--ink)}.reading .meta{font:13px system-ui;color:var(--muted)}.reading hr{border:0;border-top:1px solid var(--line);margin:45px 0}.product-layout{display:grid;grid-template-columns:1fr 1fr;gap:65px;padding:80px 0}.product-layout>.art{height:580px}.product-layout .page-hero{padding:25px 0 0}.product-layout h1{font-size:52px}.monogram{font:italic 230px Georgia,serif;background:var(--wash);display:grid;place-items:center;min-height:400px}.about p{margin:26px 0}footer{border-top:1px solid var(--line);padding:45px 0;margin-top:70px!important;display:grid;grid-template-columns:1fr auto;gap:12px}footer p{font-size:13px;margin:0}footer nav{grid-column:2;grid-row:1/3}footer small{font-size:12px;color:var(--muted)}.skip{position:absolute;left:15px;top:-100px;background:var(--paper);padding:12px;z-index:10}.skip:focus{top:10px}[hidden]{display:none!important}@media(max-width:900px){.hero{gap:32px;padding:70px 0}.hero>.art{height:380px}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.split,.product-layout{gap:35px}.actions{flex-wrap:wrap}.product-layout h1{font-size:42px}}@media(max-width:600px){.container{width:calc(100% - 36px)}.header-inner{min-height:78px;gap:12px;flex-wrap:wrap;padding:12px 0}.brand{margin-right:auto}#menu{display:block;font-size:13px;border-radius:4px;padding:0 12px}header nav{display:none;order:4;width:100%;margin:0;padding:12px 0;gap:24px;flex-wrap:wrap}header nav.open{display:flex}.hero,.split,.product-layout{grid-template-columns:1fr}.hero{padding:48px 0;gap:40px}.hero>.art{height:310px;max-width:400px;width:100%;margin:auto}.grid{grid-template-columns:1fr;gap:40px}.section{padding:45px 0}.section-head{align-items:start;flex-direction:column;gap:0}.section-head a{margin:0}.page-hero{padding-top:50px}h1{font-size:49px}.reading{margin-top:40px}.reading .page-hero h1{font-size:42px}.product-layout{padding-top:40px}.product-layout>.art{height:340px}.toolbar{align-items:stretch;flex-direction:column;gap:8px}footer{grid-template-columns:1fr}footer nav{grid-column:1;grid-row:auto;margin:12px 0}.monogram{min-height:300px}}@media(prefers-reduced-motion:no-preference){a,button{transition:color .15s,background .15s}}
/* Comfortable mobile navigation targets, including footer links. */
@media(max-width:600px){nav a{display:inline-flex;align-items:center;min-height:44px}header nav{gap:8px 24px}footer nav{gap:8px 24px;flex-wrap:wrap}}
@media(max-width:360px){.header-inner{gap:8px}.header-inner .brand{font-size:22px}#menu{font-size:12px;padding:0 8px}}
