:root{
  --paper:#f6f1e7; --paper2:#efe7d7; --ink:#26241f; --ink2:#4a463d;
  --bottle:#3f5942; --bottle-d:#2f4632; --rust:#a25a3a; --rule:#d8cdb8; --mute:#7a7363;
}
*{box-sizing:border-box}
html,body{margin:0}
body{background:var(--paper);color:var(--ink);font-family:"Spectral",Georgia,serif;font-size:18px;line-height:1.62;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.wrap{width:100%;max-width:1120px;margin:0 auto;padding:0 28px}
h1,h2,h3,.disp{font-family:"DM Serif Display",Georgia,serif;font-weight:400;margin:0;line-height:1.04}
.mono{font-family:"DM Mono",ui-monospace,monospace;text-transform:uppercase;letter-spacing:.2em;font-size:11px}
.rust{color:var(--rust)}

/* masthead */
.mast{border-bottom:2px solid var(--ink);background:var(--paper)}
.mast-top{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid var(--rule);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--mute)}
.mast-mid{display:flex;align-items:baseline;justify-content:space-between;gap:20px;padding:18px 0 16px}
.mast-mid .title{font-family:"DM Serif Display",serif;font-size:clamp(30px,5vw,52px);letter-spacing:.01em}
.mast-mid .est{font-family:"DM Mono",monospace;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--rust);white-space:nowrap}
.mast nav{display:flex;gap:26px;padding:10px 0;border-top:1px solid var(--rule);font-size:13px;letter-spacing:.04em}
.mast nav a{color:var(--ink2)}
.mast nav a:hover{color:var(--rust)}
.mast .burger{display:none}

/* hero broadsheet */
.lede{padding:60px 0 70px;border-bottom:1px solid var(--rule)}
.lede-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:54px;align-items:center}
.lede h1{font-size:clamp(40px,7vw,86px);line-height:1.0}
.lede h1 em{font-style:italic;color:var(--rust)}
.dek{font-size:21px;color:var(--ink2);max-width:560px;margin:24px 0 26px;line-height:1.5}
.lede-actions{display:flex;gap:14px;flex-wrap:wrap}
.btn{display:inline-block;padding:13px 24px;font-family:"DM Mono",monospace;font-size:12px;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;border:1.5px solid var(--ink)}
.btn-fill{background:var(--ink);color:var(--paper)}
.btn-fill:hover{background:var(--bottle-d);border-color:var(--bottle-d)}
.btn-line:hover{background:var(--paper2)}

/* animated stem centerpiece */
.stem-fig{position:relative;display:flex;justify-content:center}
.stem-fig svg{width:100%;max-width:340px;height:auto;overflow:visible}
.stem-fig .draw{fill:none;stroke:var(--bottle);stroke-width:3;stroke-linecap:round}
.stem-fig .leaf{fill:var(--bottle);opacity:0}
.stem-fig .bloom{opacity:0;transform-box:fill-box;transform-origin:center;transform:scale(.2)}
.stem-cap{position:absolute;bottom:-6px;text-align:center;width:100%;color:var(--mute)}

/* signature stat row */
.stats{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--rule)}
.stats div{padding:30px 24px;border-left:1px solid var(--rule);text-align:center}
.stats div:first-child{border-left:0}
.stats b{font-family:"DM Serif Display",serif;font-size:34px;display:block;color:var(--rust)}
.stats span{font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--mute)}

/* section */
section{padding:84px 0;border-bottom:1px solid var(--rule)}
.kick{margin-bottom:14px;color:var(--rust)}
.head2{font-size:clamp(30px,4.5vw,52px);max-width:780px}
.head2 em{font-style:italic;color:var(--rust)}
.intro{color:var(--ink2);max-width:640px;margin:16px 0 0}

/* almanac calendar */
.alm{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:46px;border-top:1px solid var(--rule);border-left:1px solid var(--rule)}
.alm-cell{border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:0}
.alm-cell figure{margin:0;overflow:hidden}
.alm-cell img{width:100%;height:210px;object-fit:cover;filter:sepia(.08) saturate(.96);transition:transform .7s ease}
.alm-cell:hover img{transform:scale(1.06)}
.alm-cell .bd{padding:18px 18px 22px}
.alm-cell .season{font-family:"DM Mono",monospace;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--rust)}
.alm-cell h3{font-size:22px;margin:6px 0 5px}
.alm-cell p{font-size:14px;color:var(--ink2);margin:0;line-height:1.5}

/* feature essay */
.essay-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center;margin-top:8px}
.essay-fig img{width:100%;height:520px;object-fit:cover;border:1px solid var(--rule)}
.essay-txt p{color:var(--ink2);margin:0 0 18px}
.dropcap::first-letter{font-family:"DM Serif Display",serif;float:left;font-size:64px;line-height:.78;padding:8px 12px 0 0;color:var(--rust)}
.essay-txt .sign{font-family:"DM Serif Display",serif;font-style:italic;font-size:24px;color:var(--bottle);margin-top:6px}

/* services ledger */
.ledger{margin-top:44px;border-top:1.5px solid var(--ink)}
.lrow{display:grid;grid-template-columns:auto 1fr auto;gap:24px;align-items:baseline;padding:22px 0;border-bottom:1px solid var(--rule)}
.lrow .no{font-family:"DM Mono",monospace;color:var(--rust);font-size:13px}
.lrow h3{font-family:"DM Serif Display",serif;font-size:26px}
.lrow p{margin:6px 0 0;color:var(--ink2);font-size:16px}
.lrow .tag{font-family:"DM Mono",monospace;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--mute);text-align:right;white-space:nowrap}

/* enquiry */
.enq{background:var(--bottle-d);color:var(--paper);border-bottom:0}
.enq .kick,.enq .head2 em{color:#e5c9a0}
.enq .head2{color:var(--paper)}
.enq .intro{color:#d8d3c2}
.enq-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;margin-top:42px;align-items:start}
.enq-grid>div p{color:#dad6c6}
.coupon{background:var(--paper);color:var(--ink);padding:32px;border:2px solid #e5c9a0}
.coupon h3{font-family:"DM Serif Display",serif;font-size:26px;margin-bottom:4px}
.coupon .sub{color:var(--mute);font-size:14px;margin:0 0 20px}
.fld{margin-bottom:16px}
.fld label{display:block;font-family:"DM Mono",monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--rust);margin-bottom:6px}
.fld input,.fld select,.fld textarea{width:100%;padding:11px 12px;border:1px solid var(--rule);background:#fffdf8;color:var(--ink);font:inherit;font-size:16px;border-radius:0}
.fld textarea{min-height:74px;resize:vertical}
.fld input:focus,.fld select:focus,.fld textarea:focus{outline:none;border-color:var(--bottle)}
.two{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.send{width:100%;background:var(--ink);color:var(--paper);border:0;padding:15px;font-family:"DM Mono",monospace;font-size:12px;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;margin-top:4px}
.send:hover{background:var(--bottle)}
.fine{font-size:12px;color:var(--mute);text-align:center;margin-top:12px}
.enq ul{list-style:none;padding:0;margin:20px 0 0}
.enq li{display:flex;gap:14px;padding:12px 0;border-top:1px solid rgba(245,241,231,.18)}
.enq li b{font-family:"DM Serif Display",serif;color:#e5c9a0}

/* footer */
footer{background:var(--paper);color:var(--ink2);padding:46px 0 36px}
.foot-top{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;align-items:flex-end;border-top:2px solid var(--ink);padding-top:24px}
.foot-top .title{font-family:"DM Serif Display",serif;font-size:26px;color:var(--ink)}
.foot-x9{margin-top:22px;font-size:13px;color:var(--mute)}
.foot-x9 a{color:var(--rust)}

/* reveal motion */
@media (prefers-reduced-motion:no-preference){
  html.x9anim .anim{opacity:0;transform:translateY(20px);transition:opacity .7s ease,transform .7s ease}
  html.x9anim .anim.in{opacity:1;transform:none}
}

@media(max-width:860px){
  .mast nav{flex-wrap:wrap;gap:14px 20px;font-size:12px}.mast .burger{display:none}
  .lede-grid,.essay-grid,.enq-grid{grid-template-columns:1fr;gap:34px}
  .alm{grid-template-columns:1fr 1fr}
  .stats b{font-size:28px}
  .essay-fig img{height:380px}
  section{padding:60px 0}
}
@media(max-width:560px){
  .mast-mid{flex-direction:column;align-items:flex-start;gap:4px}
  .mast-mid .est{font-size:10px}
}
@media(max-width:430px){
  .wrap{padding-left:18px;padding-right:18px}
  .two{grid-template-columns:1fr}
  .coupon{padding:24px 18px}
  .alm{grid-template-columns:1fr}
  .lrow{grid-template-columns:auto 1fr;gap:14px}
  .lrow .tag{grid-column:2;text-align:left}
}
