
@import url('https://fonts.googleapis.com/css2?family=Old+Standard+TT:ital,wght@0,400;0,700;1,400&family=Playfair+Display:ital,wght@0,400;0,700;1,400&display=swap');
:root{--bg:#0a0908;--bg2:#141210;--ink:#e9e1cf;--ink2:#a89f8c;--bone:#efe7d6;--rule:#2a2622;--ox:#7a1f1f;--shadow:rgba(0,0,0,.7)}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--ink);font-family:"Old Standard TT","Iowan Old Style",Georgia,serif;font-size:19px;line-height:1.66;-webkit-font-smoothing:antialiased;
  background-image:radial-gradient(ellipse at 50% -10%,rgba(239,231,214,.08),transparent 55%),radial-gradient(ellipse at 100% 100%,rgba(122,31,31,.10),transparent 50%)}
a{color:var(--bone);text-decoration-color:var(--ink2)}
img{max-width:100%;display:block}
svg{display:block;max-width:100%}
.wrap{width:min(900px,92vw);margin:0 auto}
.wide{width:min(1180px,94vw);margin:0 auto}
header.mast{text-align:center;padding:70px 0 30px;border-bottom:1px solid var(--rule)}
header.mast .over{font-family:"Playfair Display",serif;letter-spacing:.34em;font-size:12px;color:var(--ink2);text-transform:uppercase}
header.mast h1{font-family:"Playfair Display",serif;font-weight:700;font-size:clamp(46px,8.6vw,110px);letter-spacing:-.01em;line-height:.98;margin:16px 0 14px;color:var(--bone)}
header.mast h1 span{display:block;font-weight:400;font-style:italic;font-size:.66em;color:var(--ink2)}
header.mast .sub{font-style:italic;font-size:clamp(18px,2.2vw,23px);color:var(--ink2);max-width:860px;margin:0 auto}
nav.contents{display:flex;justify-content:center;flex-wrap:wrap;gap:6px 18px;padding:14px 12px;border-bottom:1px solid var(--rule);font-family:"Playfair Display",serif;font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;position:sticky;top:0;background:rgba(10,9,8,.92);backdrop-filter:blur(6px);z-index:5}
nav.contents a{text-decoration:none;color:var(--ink2)}nav.contents a:hover{color:var(--bone)}
.herowrap{padding:44px 0 10px}
svg.hero{width:min(960px,100%);margin:0 auto;filter:drop-shadow(0 30px 40px var(--shadow))}
.hero-cap{text-align:center;font-style:italic;color:var(--ink2);font-size:16px;max-width:760px;margin:18px auto 0}
.tap{animation:tap 2.4s ease-in-out infinite}
@keyframes tap{0%,70%,100%{transform:translate(560px,380px) rotate(-35deg)}80%{transform:translate(556px,384px) rotate(-36deg)}}
@media(prefers-reduced-motion:reduce){.tap{animation:none}}
article{padding-top:20px}
article p{margin:0 0 22px}
article h2{font-family:"Playfair Display",serif;font-weight:700;font-size:clamp(26px,3.8vw,40px);margin:66px 0 20px;line-height:1.12}
article h2 small{display:block;font-family:"Playfair Display",serif;font-weight:400;font-size:12px;letter-spacing:.4em;color:var(--ink2);margin-bottom:10px}
.dropcap::first-letter{font-family:"Playfair Display",serif;font-weight:700;font-size:4.2em;float:left;line-height:.84;margin:6px 12px 0 0;color:var(--bone)}
.plate{background:var(--bg2);padding:12px;border:1px solid var(--rule);box-shadow:0 18px 40px -18px var(--shadow);margin:26px 0}
.plate.small{max-width:420px;margin-left:auto;margin-right:auto}
figure.video{background:var(--bg2);padding:12px;border:1px solid var(--rule);box-shadow:0 18px 40px -18px var(--shadow);margin:26px 0}
figure.video video{width:100%;display:block;background:#000}
figure.video figcaption{margin-top:12px;font-size:15px;color:var(--ink2);line-height:1.5}
figure.video figcaption b{font-family:"Playfair Display",serif;font-weight:400;font-size:13px;letter-spacing:.06em;display:block;margin-bottom:5px;color:var(--ink)}
.plate figcaption{margin-top:12px;font-size:15px;color:var(--ink2);line-height:1.5}
.plate figcaption b{font-family:"Playfair Display",serif;font-weight:400;font-size:13px;letter-spacing:.06em;display:block;margin-bottom:5px;color:var(--ink)}
.plates{display:grid;gap:18px;margin:28px 0}
.plates.two{grid-template-columns:1fr 1fr}
@media(max-width:720px){.plates.two{grid-template-columns:1fr}}
.plates .plate{margin:0}
.frontis{display:grid;grid-template-columns:1fr 1.6fr;gap:34px;align-items:start;margin:20px 0}
.frontis.rev{grid-template-columns:1fr 1.5fr}
.frontis .plate{margin:0}
@media(max-width:820px){.frontis,.frontis.rev{grid-template-columns:1fr}}
.fig{background:var(--bg2);border:1px solid var(--rule);padding:16px 18px 20px;position:relative;margin:20px 0 30px}
.fig::before{content:"";position:absolute;inset:6px;border:1px solid var(--rule);pointer-events:none}
.fig svg{width:100%;max-height:420px;margin:0 auto 8px}
.fig h4{font-family:"Playfair Display",serif;font-weight:400;font-size:15px;letter-spacing:.08em;margin:6px 0 8px;color:var(--ink)}
.fig p{font-size:16px;color:var(--ink2);margin:0;line-height:1.5}
.reveal{opacity:0;transform:translateY(16px);transition:opacity .8s,transform .8s}.reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}
section.offer{margin-top:80px;padding:64px 0;border-top:1px solid var(--rule);background:linear-gradient(180deg,var(--bg2),var(--bg))}
.offer h2{font-family:"Playfair Display",serif;font-weight:700;font-size:clamp(30px,4.6vw,54px);text-align:center;line-height:1.05}
.offer .lede{text-align:center;font-style:italic;color:var(--ink2);max-width:720px;margin:18px auto 40px;font-size:1.05em}
.items{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.item{background:var(--bg2);border:1px solid var(--rule);padding:28px 28px 24px;position:relative;box-shadow:0 14px 30px -20px var(--shadow)}
.item::before{content:"";position:absolute;inset:8px;border:1px solid var(--rule);pointer-events:none}
.item .ref{font-family:"Playfair Display",serif;letter-spacing:.24em;font-size:11px;color:var(--ink2);text-transform:uppercase}
.item h3{font-family:"Playfair Display",serif;font-weight:700;font-size:21px;margin:8px 0 12px}
.item p{font-size:16.5px;color:var(--ink2);margin-bottom:12px;line-height:1.5}
.item .terms{font-size:14.5px;font-style:italic;color:var(--ink2);border-top:1px solid var(--rule);padding-top:10px;margin-top:6px}
.item .price{font-family:"Playfair Display",serif;color:var(--bone);font-size:13px;letter-spacing:.14em;margin-top:10px;text-transform:uppercase}
.btn{display:inline-block;text-decoration:none;font-family:"Playfair Display",serif;letter-spacing:.2em;font-size:12.5px;text-transform:uppercase;padding:14px 26px;border:1px solid var(--bone);color:var(--bone);background:transparent;transition:background .2s,color .2s;cursor:pointer}
.btn:hover,.btn.solid{background:var(--bone);color:var(--bg)}
.center{text-align:center}
.terms-box{max-width:780px;margin:40px auto 0;font-size:16px;color:var(--ink2);border:1px solid var(--rule);padding:22px 26px;background:var(--bg2)}
.terms-box b{font-family:"Playfair Display",serif;font-size:13px;letter-spacing:.12em;color:var(--ink);text-transform:uppercase}
section.enquire{padding:56px 0 72px;border-top:1px solid var(--rule)}
.enquire h2{font-family:"Playfair Display",serif;font-weight:700;font-size:clamp(24px,3.4vw,34px)}
.enquire .lead{color:var(--ink2);font-style:italic;margin:10px 0 18px}
.enquire .two{display:grid;grid-template-columns:1fr 1fr;gap:40px}
@media(max-width:820px){.enquire .two{grid-template-columns:1fr}}
input,textarea,select{width:100%;background:var(--bg2);border:1px solid var(--rule);color:var(--ink);padding:12px 14px;font:inherit;font-size:17px;margin-bottom:12px}
input:focus,textarea:focus{outline:none;border-color:var(--bone)}
textarea{min-height:140px;resize:vertical}
.row{display:grid;gap:12px;grid-template-columns:1fr 1fr}
@media(max-width:600px){.row{grid-template-columns:1fr}}
.hp{position:absolute;left:-9999px;opacity:0;height:0;width:0}
.note{margin-top:10px;font-size:15.5px;font-style:italic;color:var(--ink2);min-height:18px}
.note.ok{color:#8cc48c}.note.err{color:#d98c6a}
footer{border-top:1px solid var(--rule);padding:34px 0 48px;font-size:14px;color:var(--ink2);text-align:center;width:min(900px,92vw);margin:0 auto}
footer a{color:var(--ink2)}
footer .links{margin-bottom:12px;font-family:"Playfair Display",serif;letter-spacing:.16em;font-size:12px;text-transform:uppercase}
footer .links a{margin:0 10px;text-decoration:none}

.herowrap{padding:40px 0 8px}
.stage{position:relative;width:min(1180px,96vw);margin:0 auto;border-radius:10px;overflow:hidden;
  box-shadow:0 40px 80px -34px rgba(0,0,0,.85), 0 2px 0 rgba(255,255,255,.05) inset}
.stage .boardimg{width:100%;height:auto;display:block}
.numeral-fix{position:absolute;transform:translate(-50%,-50%);
  font-family:"Marcellus SC",Georgia,serif;font-size:3.4cqw;color:#3f2a15;opacity:.62;
  text-shadow:0 1px 0 rgba(255,240,205,.45);pointer-events:none}
.stage{container-type:inline-size}
.pointer{position:absolute;left:50%;top:50%;width:30%;
  filter:drop-shadow(0 7px 9px rgba(30,14,4,.44)) drop-shadow(0 1px 2px rgba(30,14,4,.35));
  will-change:transform,left,top;pointer-events:none}
.pointer img{width:100%;height:auto;display:block}
.glow{position:absolute;width:9%;padding-bottom:9%;border-radius:50%;pointer-events:none;opacity:0;
  background:radial-gradient(circle,rgba(255,226,150,.55),rgba(255,206,110,0) 66%);
  transform:translate(-50%,-50%);transition:opacity .5s}
.hero-cap{text-align:center;font-style:italic;color:var(--ink2);font-size:16.5px;max-width:820px;margin:20px auto 0}
@media(prefers-reduced-motion:reduce){.pointer{transition:none}}
