
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=Cinzel:wght@400;600&display=swap');
:root{--bg:#141110;--bg2:#1f1915;--bg3:#2a211b;--ink:#efe6d4;--ink2:#b5a992;--rule:#3d3129;--silver:#cfd3d8;--silver2:#8e959c;--gilt:#b8934f;--lapis:#3556a8;--shadow:rgba(0,0,0,.55)}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--ink);font-family:"Cormorant Garamond","Iowan Old Style",Georgia,serif;font-size:20.5px;line-height:1.6;-webkit-font-smoothing:antialiased;
  background-image:radial-gradient(ellipse at 50% -10%,rgba(184,147,79,.14),transparent 55%),radial-gradient(ellipse at 100% 100%,rgba(53,86,168,.10),transparent 50%)}
a{color:var(--gilt)}
img{max-width:100%;display:block}
svg{display:block;max-width:100%}
.wrap{width:min(880px,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:Cinzel,serif;letter-spacing:.34em;font-size:12px;color:var(--gilt);text-transform:uppercase}
header.mast h1{font-family:Cinzel,serif;font-weight:600;font-size:clamp(40px,7.4vw,92px);letter-spacing:.02em;line-height:1.02;margin:16px 0 14px;color:var(--ink)}
header.mast h1 span{display:block;font-weight:400;font-size:.62em;color:var(--silver);letter-spacing:.12em}
header.mast .sub{font-style:italic;font-size:clamp(18px,2.3vw,24px);color:var(--ink2);max-width:820px;margin:0 auto}
nav.contents{display:flex;justify-content:center;flex-wrap:wrap;gap:6px 20px;padding:14px 12px;border-bottom:1px solid var(--rule);font-family:Cinzel,serif;font-size:12px;letter-spacing:.14em;position:sticky;top:0;background:rgba(20,17,16,.92);backdrop-filter:blur(6px);z-index:5}
nav.contents a{text-decoration:none;color:var(--ink2)}nav.contents a:hover{color:var(--gilt)}
.herowrap{padding:44px 0 10px}
svg.hero{width:min(900px,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:16.5px;max-width:720px;margin:18px auto 0}
.swing{transform-origin:450px 0;animation:swing 3.4s ease-in-out infinite alternate}
@keyframes swing{from{transform:rotate(-4deg)}to{transform:rotate(4deg)}}
@media(prefers-reduced-motion:reduce){.swing{animation:none}}
article{padding-top:20px}
article p{margin:0 0 22px}
article h2{font-family:Cinzel,serif;font-weight:400;font-size:clamp(26px,3.8vw,38px);margin:64px 0 20px;line-height:1.15;letter-spacing:.04em}
article h2 small{display:block;font-family:Cinzel,serif;font-weight:400;font-size:12px;letter-spacing:.4em;color:var(--gilt);margin-bottom:10px}
article h3.subhead{font-family:Cinzel,serif;font-weight:400;font-size:20px;letter-spacing:.18em;margin:40px 0 16px;color:var(--silver)}
.dropcap::first-letter{font-family:Cinzel,serif;font-weight:600;font-size:4em;float:left;line-height:.86;margin:6px 12px 0 0;color:var(--gilt)}
em{font-style:italic}
.diagram{width:100%;margin:8px auto 28px;background:var(--bg2);border:1px solid var(--rule);padding:14px}
.plate{background:var(--bg2);padding:12px;border:1px solid var(--rule);box-shadow:0 18px 40px -18px var(--shadow);margin:26px 0}
.plate img{filter:sepia(.18) contrast(1.05)}
.plate figcaption{margin-top:12px;font-size:15.5px;color:var(--ink2);line-height:1.5}
.plate figcaption b{font-family:Cinzel,serif;font-weight:400;font-size:13px;letter-spacing:.1em;display:block;margin-bottom:5px;color:var(--ink)}
.plates{display:grid;gap:18px;margin:28px 0}
.plates.four{grid-template-columns:repeat(4,1fr)}
@media(max-width:820px){.plates.four{grid-template-columns:1fr 1fr}}
.plates .plate{margin:0}
.frontis{display:grid;grid-template-columns:1fr 1.5fr;gap:34px;align-items:start;margin:20px 0}
.frontis.rev{grid-template-columns:1fr 1fr}
.frontis .plate{margin:0}
@media(max-width:820px){.frontis,.frontis.rev{grid-template-columns:1fr}}
.tablewrap{overflow-x:auto;margin:10px 0 28px}
table{width:100%;border-collapse:collapse;font-size:16.5px;background:var(--bg2);border:1px solid var(--rule)}
th{font-family:Cinzel,serif;font-weight:400;font-size:12px;letter-spacing:.14em;text-align:left;padding:12px 14px;color:var(--gilt);border-bottom:1px solid var(--rule)}
td{padding:10px 14px;border-bottom:1px solid var(--rule);vertical-align:top;color:var(--ink)}
tr:last-child td{border-bottom:0}
table.dens td:last-child{text-align:right;font-variant-numeric:tabular-nums}
.tabnote{font-size:15px;font-style:italic;color:var(--ink2);margin-top:8px}
.twocol{display:grid;grid-template-columns:1.4fr 1fr;gap:34px;align-items:start}
@media(max-width:820px){.twocol{grid-template-columns:1fr}}
.types{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:18px;margin:28px 0 30px}
.ptype{background:var(--bg2);border:1px solid var(--rule);padding:16px 18px 20px;position:relative}
.ptype::before{content:"";position:absolute;inset:6px;border:1px solid var(--rule);pointer-events:none}
.ptype svg{height:200px;margin:0 auto 8px}
.ptype h3{font-family:Cinzel,serif;font-weight:400;font-size:15px;letter-spacing:.1em;margin-bottom:8px;color:var(--ink)}
.ptype p{font-size:16px;color:var(--ink2);margin:0;line-height:1.5}
.swatches{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;margin:16px 0 34px}
.swatch{background:var(--bg2);border:1px solid var(--rule);padding:10px}
.swatch svg{width:100%;height:120px;border:1px solid var(--rule)}
.swatch h4{font-family:Cinzel,serif;font-weight:400;font-size:13px;letter-spacing:.12em;margin:12px 0 6px;color:var(--ink)}
.swatch p{font-size:15px;color:var(--ink2);margin:0;line-height:1.45}
.swatch.mineral svg{height:150px}
.geos{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:16px;margin:16px 0 34px}
.geo{background:var(--bg2);border:1px solid var(--rule);padding:14px;text-align:center}
.geo svg{width:100%;height:190px}
.geo h4{font-family:Cinzel,serif;font-weight:400;font-size:13px;letter-spacing:.14em;margin:10px 0 6px}
.geo p{font-size:15px;color:var(--ink2);margin:0;line-height:1.45;text-align:left}
.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:Cinzel,serif;font-weight:400;font-size:clamp(30px,4.6vw,52px);text-align:center;line-height:1.05;letter-spacing:.06em}
.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:Cinzel,serif;letter-spacing:.24em;font-size:11px;color:var(--gilt)}
.item h3{font-family:Cinzel,serif;font-weight:400;font-size:21px;margin:8px 0 12px;letter-spacing:.04em}
.item p{font-size:17px;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:Cinzel,serif;color:var(--silver);font-size:13px;letter-spacing:.14em;margin-top:10px}
.btn{display:inline-block;text-decoration:none;font-family:Cinzel,serif;letter-spacing:.2em;font-size:12.5px;padding:14px 26px;border:1px solid var(--gilt);color:var(--gilt);background:transparent;transition:background .2s,color .2s;cursor:pointer}
.btn:hover,.btn.solid{background:var(--gilt);color:var(--bg)}
.center{text-align:center}
.terms-box{max-width:760px;margin:40px auto 0;font-size:16.5px;color:var(--ink2);border:1px solid var(--rule);padding:22px 26px;background:var(--bg2)}
.terms-box b{font-family:Cinzel,serif;font-size:13px;letter-spacing:.12em;color:var(--ink)}
section.enquire{padding:56px 0 72px;border-top:1px solid var(--rule)}
.enquire h2{font-family:Cinzel,serif;font-weight:400;font-size:clamp(24px,3.4vw,34px);letter-spacing:.06em}
.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(--gilt)}
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:14.5px;color:var(--ink2);text-align:center;width:min(880px,92vw);margin:0 auto}
footer a{color:var(--ink2)}
footer .links{margin-bottom:12px;font-family:Cinzel,serif;letter-spacing:.16em;font-size:12px}
footer .links a{margin:0 10px;text-decoration:none}
