/* William Kelly Ink — Website Release v1.0 */
:root{
  --ink:#1f1e1b;
  --paper:#f7f3ed;
  --paper-deep:#eee7db;
  --muted:#70695f;
  --line:#d9d0c3;
  --accent:#7b5f3d;
  --max:1120px;
  --read:720px;
  --space:clamp(4rem,8vw,8rem);
  --serif: Georgia, 'Times New Roman', serif;
  --sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.7;text-rendering:optimizeLegibility}
a{color:inherit;text-decoration:none}
a:hover{color:var(--accent)}
img{max-width:100%;height:auto;display:block}
.skip-link{position:absolute;top:-100px;left:1rem;background:var(--ink);color:var(--paper);padding:.65rem 1rem;z-index:1000}.skip-link:focus{top:1rem}
.site-header{position:sticky;top:0;background:rgba(247,243,237,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);z-index:20}
.nav-wrap{max-width:var(--max);margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:1.1rem 1.25rem}
.brand{font-family:var(--serif);font-size:1.35rem;letter-spacing:.02em}.brand-mark{display:inline-flex;align-items:center;gap:.7rem}.brand-symbol{width:28px;height:28px;border:1.4px solid var(--ink);border-radius:50%;display:inline-block;position:relative}.brand-symbol:after{content:"";position:absolute;inset:8px;border-top:1px solid var(--ink);transform:rotate(-18deg)}
.nav{display:flex;gap:1.7rem;align-items:center;font-size:.84rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.nav-toggle{display:none;border:0;background:transparent;font-size:.9rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink)}
main{min-height:70vh}.container{max-width:var(--max);margin:0 auto;padding:0 1.25rem}.narrow{max-width:var(--read);margin:0 auto}.section{padding:var(--space) 0;border-top:1px solid var(--line)}.section:first-child{border-top:0}.hero{padding:clamp(6rem,12vw,11rem) 0 clamp(4rem,8vw,7rem)}
.kicker{font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);font-weight:600;margin-bottom:1rem}.eyebrow{font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.08;margin:0 0 1.2rem}h1{font-size:clamp(3.2rem,8vw,7.2rem);letter-spacing:-.045em}h2{font-size:clamp(2.1rem,4.7vw,4.3rem);letter-spacing:-.035em}h3{font-size:clamp(1.35rem,2.4vw,2rem);letter-spacing:-.02em}p{margin:0 0 1.25rem}.lead{font-family:var(--serif);font-size:clamp(1.35rem,2.4vw,2rem);line-height:1.45;color:#2c2924}.large{font-size:1.15rem;color:var(--muted)}
.grid{display:grid;gap:clamp(1.5rem,3vw,3rem)}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.card{border-top:1px solid var(--line);padding-top:1.25rem}.card p{color:var(--muted)}.meta{font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:.8rem}.btn{display:inline-flex;align-items:center;gap:.5rem;border:1px solid var(--ink);padding:.8rem 1.1rem;font-size:.78rem;letter-spacing:.13em;text-transform:uppercase;margin-top:.5rem}.btn:hover{background:var(--ink);color:var(--paper)}.text-link{font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);font-weight:600}.rule{border:0;border-top:1px solid var(--line);margin:3rem 0}.image-placeholder{background:linear-gradient(135deg,var(--paper-deep),#ded3c4);min-height:320px;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--muted);font-family:var(--serif);font-size:1.2rem;text-align:center;padding:2rem}.quote{font-family:var(--serif);font-size:clamp(1.5rem,3vw,2.7rem);line-height:1.22;border-left:1px solid var(--accent);padding-left:1.5rem;margin:3rem 0;color:#2b2721}.list-clean{list-style:none;padding:0;margin:0}.list-clean li{border-top:1px solid var(--line);padding:1rem 0;color:var(--muted)}
.newsletter{background:var(--paper-deep);padding:clamp(2rem,5vw,4rem);border:1px solid var(--line)}.form-row{display:flex;gap:.75rem;margin-top:1.5rem}.form-row input,.contact-form input,.contact-form textarea,.contact-form select{width:100%;padding:.95rem 1rem;border:1px solid var(--line);background:var(--paper);font:inherit;color:var(--ink)}.form-row button,.contact-form button{background:var(--ink);color:var(--paper);border:1px solid var(--ink);padding:.95rem 1.2rem;letter-spacing:.12em;text-transform:uppercase;font-size:.78rem;cursor:pointer}.form-row button:disabled,.contact-form button:disabled{opacity:.6;cursor:default}.contact-form{display:grid;gap:1rem;margin-top:2rem}.contact-form textarea{min-height:180px}.contact-form label{display:block;margin-bottom:.4rem;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}#form-status{min-height:1.4em;color:var(--accent);font-size:.9rem;margin-top:.25rem}.site-footer{border-top:1px solid var(--line);padding:3rem 0;color:var(--muted)}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:2rem}.footer-grid a{display:block;margin:.4rem 0}.copyright{font-size:.85rem;margin-top:2rem;color:var(--muted)}
.article{padding:clamp(4rem,8vw,8rem) 0}.article h1{font-size:clamp(2.6rem,6vw,5.5rem)}.article-body{max-width:var(--read);margin:0 auto;font-family:var(--serif);font-size:1.28rem;line-height:1.72}.article-body p{margin-bottom:1.55rem}.article-body h2{margin-top:3rem;font-size:2.3rem}.tags{display:flex;gap:.5rem;flex-wrap:wrap;margin:1rem 0}.tag{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;border:1px solid var(--line);padding:.25rem .55rem;color:var(--muted)}
@media(max-width:760px){.grid-2,.grid-3{grid-template-columns:1fr}.form-row{flex-direction:column}.section{padding:4rem 0}.article-body{font-size:1.12rem}}
