:root{
  --paper:#f7f4ef; --ink:#17130e; --muted:#6c635a; --line:#e0d9cd;
  --accent:#7a5c3e; --maxw:1120px; --measure:66ch;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0; background:var(--paper); color:var(--ink);
  font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  font-size:19px; line-height:1.65; font-weight:400;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,.display{font-family:"Fraunces","Iowan Old Style",Palatino,Georgia,serif; font-weight:500; letter-spacing:-.01em; line-height:1.08; color:var(--ink)}
h1{font-size:clamp(2.6rem,6vw,4.7rem); margin:.1em 0 .3em}
h2{font-size:clamp(1.7rem,3.2vw,2.5rem); margin:2.4em 0 .5em}
h3{font-size:1.35rem; margin:1.8em 0 .3em}
p,li{max-width:var(--measure)}
a{color:var(--accent); text-decoration:none; border-bottom:1px solid rgba(122,92,62,.32)}
a:hover{border-bottom-color:var(--accent)}
.wrap{max-width:var(--maxw); margin:0 auto; padding:0 clamp(20px,5vw,48px)}
.kicker{font-family:"Inter",sans-serif; font-size:.74rem; font-weight:600; letter-spacing:.18em; text-transform:uppercase; color:var(--accent); margin:0 0 .4em}
/* header */
header.site{border-bottom:1px solid var(--line); position:sticky; top:0; background:rgba(247,244,239,.9); backdrop-filter:saturate(1.4) blur(8px); z-index:10}
.nav{display:flex; align-items:baseline; justify-content:space-between; gap:1.5rem; padding:1.1rem 0}
.brand{font-family:"Fraunces",serif; font-weight:600; font-size:1.24rem; letter-spacing:-.01em; border:0; color:var(--ink)}
.brand span{color:var(--accent)}
.nav nav{display:flex; gap:1.4rem; flex-wrap:wrap}
.nav nav a{font-size:.86rem; letter-spacing:.02em; color:var(--muted); border:0; text-transform:uppercase; font-weight:500}
.nav nav a:hover{color:var(--ink)}
/* hero */
.hero{padding:clamp(3rem,9vw,6.5rem) 0 clamp(2rem,5vw,3.5rem); border-bottom:1px solid var(--line)}
.hero p.standfirst{font-size:clamp(1.15rem,2vw,1.4rem); color:var(--muted); max-width:56ch; margin:.6em 0 0}
/* sections */
section{padding:clamp(1.4rem,3vw,2.2rem) 0}
.lede{font-size:1.22rem}
.rule{height:1px; background:var(--line); border:0; margin:0}
.cols{display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:clamp(1.6rem,4vw,3rem); margin:1.5rem 0}
.cols h3{margin-top:0}
.cols p{font-size:.98rem; color:var(--muted)}
.meta{font-size:.82rem; color:var(--muted); letter-spacing:.02em}
ul.clean{list-style:none; padding:0}
ul.clean li{padding:.55rem 0; border-bottom:1px solid var(--line); max-width:none}
.cta{display:inline-block; margin-top:1.2rem; font-weight:600; border:1px solid var(--accent); border-radius:2px; padding:.7rem 1.4rem; color:var(--accent)}
.cta:hover{background:var(--accent); color:var(--paper)}
form.enq{margin:1.2rem 0; display:flex; gap:.6rem; flex-wrap:wrap; max-width:520px}
form.enq input{flex:1 1 220px; padding:.75rem .9rem; border:1px solid var(--line); border-radius:2px; font:inherit; background:#fff}
form.enq button{padding:.75rem 1.3rem; border:0; background:var(--ink); color:var(--paper); border-radius:2px; font:inherit; font-weight:600; cursor:pointer}
/* footer */
footer.site{border-top:1px solid var(--line); margin-top:4rem; padding:3rem 0; color:var(--muted); font-size:.9rem}
footer.site .cols{margin:0}
footer.site a{color:var(--muted)}
footer.site h4{font-family:"Inter",sans-serif; font-size:.74rem; text-transform:uppercase; letter-spacing:.16em; color:var(--ink); margin:0 0 .7em}
.fine{font-size:.8rem; margin-top:2rem; color:var(--muted)}
article p, article li{margin-bottom:.9rem}
@media(max-width:640px){ body{font-size:17px} .nav{flex-direction:column; gap:.6rem; align-items:flex-start} }
