
@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,300;0,9..144,500;0,9..144,700;1,9..144,300&family=Newsreader:ital,opsz,wght@0,6..72,400;0,6..72,500;1,6..72,400&display=swap');
:root{--bg:#f5f3ef;--bg2:#ffffff;--ink:#1d1b22;--ink2:#5a5563;--rule:#dcd7cf;--amethyst:#6b3fa0;--gold:#a8853a;--ox:#9a3b2f;--shadow:rgba(40,30,60,.18)}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--ink);font-family:Newsreader,"Iowan Old Style",Georgia,serif;font-size:19.5px;line-height:1.62;-webkit-font-smoothing:antialiased;
  background-image:radial-gradient(ellipse at 20% -10%,rgba(107,63,160,.10),transparent 55%),radial-gradient(ellipse at 100% 100%,rgba(168,133,58,.10),transparent 50%)}
a{color:var(--amethyst)}
img{max-width:100%;display:block}
svg{display:block;max-width:100%}
.wrap{width:min(920px,92vw);margin:0 auto}
.wide{width:min(1200px,94vw);margin:0 auto}
header.mast{text-align:center;padding:66px 0 28px;border-bottom:1px solid var(--rule)}
header.mast .over{font-family:Fraunces,serif;letter-spacing:.3em;font-size:12px;color:var(--amethyst);text-transform:uppercase}
header.mast h1{font-family:Fraunces,serif;font-weight:700;font-size:clamp(56px,10vw,128px);letter-spacing:-.02em;line-height:1;margin:14px 0 12px}
header.mast .sub{font-style:italic;font-size:clamp(18px,2.2vw,23px);color:var(--ink2);max-width:900px;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:Fraunces,serif;font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;position:sticky;top:0;background:rgba(245,243,239,.94);backdrop-filter:blur(6px);z-index:5}
nav.contents a{text-decoration:none;color:var(--ink2)}nav.contents a:hover{color:var(--amethyst)}
section.hero{padding:40px 0 10px}
.herofig img{max-height:620px;object-fit:contain;margin:0 auto;background:#000}
section.sky{position:relative;height:min(92vh,860px);min-height:520px;background:#07060b;overflow:hidden;border-bottom:1px solid var(--rule);cursor:pointer;user-select:none}
#crystalCanvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.sky-text{position:absolute;left:0;right:0;bottom:11%;text-align:center;color:#efe8ff;pointer-events:none;padding:0 20px}
.sky-over{font-family:Fraunces,serif;letter-spacing:.34em;font-size:12px;text-transform:uppercase;color:#c9a6ff;opacity:.9;animation:breathe 4s ease-in-out infinite}
.sky-text h2{font-family:Fraunces,serif;font-weight:300;font-size:clamp(26px,4.2vw,50px);line-height:1.1;margin:10px auto 8px;max-width:900px;text-shadow:0 2px 30px rgba(120,60,200,.6)}
.sky-sub{font-style:italic;color:#bfb3d6;font-size:clamp(15px,1.6vw,19px);max-width:700px;margin:0 auto}
.sky-meter{position:absolute;left:50%;bottom:5%;width:min(360px,60vw);height:3px;margin-left:min(-180px,-30vw);background:rgba(255,255,255,.12);border-radius:2px;overflow:hidden}
#skyBar{height:100%;width:0;background:linear-gradient(90deg,#8b5cf6,#f3dd8f);transition:width .12s linear}
@keyframes breathe{0%,100%{opacity:.5}50%{opacity:1}}
@media(prefers-reduced-motion:reduce){.sky-over{animation:none}}
article h3.subhead{font-family:Fraunces,serif;font-weight:500;font-size:clamp(22px,3vw,32px);margin:44px 0 14px;color:var(--amethyst)}
svg.osiris{width:100%;margin:10px 0 30px;border-radius:8px;box-shadow:0 24px 50px -24px rgba(20,32,74,.6)}
article{padding-top:20px}
article p{margin:0 0 22px}
article h2{font-family:Fraunces,serif;font-weight:500;font-size:clamp(28px,4vw,44px);margin:70px 0 22px;line-height:1.1}
article h2 small{display:block;font-family:Fraunces,serif;font-weight:400;font-size:12px;letter-spacing:.4em;color:var(--amethyst);margin-bottom:10px}
.dropcap::first-letter{font-family:Fraunces,serif;font-weight:700;font-size:4.2em;float:left;line-height:.84;margin:6px 12px 0 0;color:var(--amethyst)}
.diagram{width:100%;margin:8px auto 28px;background:var(--bg2);border:1px solid var(--rule);padding:14px;border-radius:4px}
.plate{background:var(--bg2);padding:12px;border:1px solid var(--rule);box-shadow:0 18px 40px -22px var(--shadow);margin:26px 0;border-radius:4px}
.plate img{max-height:520px;object-fit:contain;margin:0 auto}
.plate figcaption{margin-top:10px;font-size:14.5px;color:var(--ink2);line-height:1.5}
.plate figcaption b{font-family:Fraunces,serif;font-weight:500;display:block;margin-bottom:3px;color:var(--ink)}
.plates{display:grid;gap:18px;margin:28px 0}
.plates.two{grid-template-columns:1fr 1fr}.plates.three{grid-template-columns:1fr 1fr 1fr}
@media(max-width:820px){.plates.two,.plates.three{grid-template-columns:1fr}}
.plates .plate{margin:0}.plates .plate img{max-height:340px}
.frontis{display:grid;grid-template-columns:1fr 1.5fr;gap:34px;align-items:start;margin:20px 0}
@media(max-width:820px){.frontis{grid-template-columns:1fr}}
.lexnav{font-size:14px;line-height:2;color:var(--ink2)}.lexnav a{text-decoration:none;border-bottom:1px dotted var(--amethyst)}
.stones{display:grid;grid-template-columns:1fr;gap:22px;margin:24px 0 20px}
.stone{display:grid;grid-template-columns:300px 1fr;gap:0;background:var(--bg2);border:1px solid var(--rule);border-radius:4px;overflow:hidden;box-shadow:0 18px 40px -26px var(--shadow)}
@media(max-width:760px){.stone{grid-template-columns:1fr}}
.stone img{width:100%;height:100%;min-height:240px;object-fit:cover;background:#111}
.stone-body{padding:22px 26px 18px}
.stone h3{font-family:Fraunces,serif;font-weight:500;font-size:26px;margin-bottom:8px}
.facts{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:14px;color:var(--ink2);margin-bottom:10px}
.facts b{font-family:Fraunces,serif;font-weight:500;color:var(--amethyst);letter-spacing:.06em;font-size:11px;text-transform:uppercase;margin-right:4px}
.stone p{font-size:16.5px;margin:0 0 9px;line-height:1.5}
.stone .colour{color:var(--ink2)}.stone .colour em{display:block;font-size:14.5px}
.stone p b{font-family:Fraunces,serif;font-weight:500;color:var(--ink)}
.stone .kit{color:var(--amethyst)}
.stone .cred{font-size:12.5px;color:var(--ink2);margin-top:6px}
.reveal{opacity:0;transform:translateY(14px);transition:opacity .7s,transform .7s}.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,#ece7f3,var(--bg))}
.offer h2{font-family:Fraunces,serif;font-weight:500;font-size:clamp(32px,4.8vw,58px);text-align:center;line-height:1.05}
.offer .lede{text-align:center;font-style:italic;color:var(--ink2);max-width:820px;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 -24px var(--shadow);border-radius:4px}
.item .ref{font-family:Fraunces,serif;letter-spacing:.24em;font-size:11px;color:var(--amethyst);text-transform:uppercase}
.item h3{font-family:Fraunces,serif;font-weight:500;font-size:23px;margin:8px 0 12px}
.item p{font-size:16.5px;color:var(--ink2);margin-bottom:12px;line-height:1.5}
.item .price{font-family:Fraunces,serif;color:var(--gold);font-size:13px;letter-spacing:.14em;margin-top:10px;text-transform:uppercase}
.btn{display:inline-block;text-decoration:none;font-family:Fraunces,serif;letter-spacing:.16em;font-size:12.5px;text-transform:uppercase;padding:13px 24px;border:1px solid var(--amethyst);color:var(--amethyst);background:transparent;transition:background .2s,color .2s;cursor:pointer;border-radius:3px}
.btn:hover,.btn.solid{background:var(--amethyst);color:#fff}
.center{text-align:center}
.terms-box{max-width:860px;margin:40px auto 0;font-size:16.5px;color:var(--ink2);border:1px solid var(--rule);padding:22px 26px;background:var(--bg2);border-radius:4px}
.terms-box b{font-family:Fraunces,serif;font-weight:500;color:var(--ink)}
section.enquire{padding:56px 0 72px;border-top:1px solid var(--rule)}
.enquire h2{font-family:Fraunces,serif;font-weight:500;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{width:100%;background:var(--bg2);border:1px solid var(--rule);color:var(--ink);padding:12px 14px;font:inherit;font-size:17px;margin-bottom:12px;border-radius:3px}
input:focus,textarea:focus{outline:none;border-color:var(--amethyst)}
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:#2f6f3a}.note.err{color:var(--ox)}
footer{border-top:1px solid var(--rule);padding:34px 0 48px;font-size:14px;color:var(--ink2);text-align:center;width:min(920px,92vw);margin:0 auto}
footer a{color:var(--ink2)}
footer .links{margin-bottom:12px;font-family:Fraunces,serif;letter-spacing:.14em;font-size:12px;text-transform:uppercase}
footer .links a{margin:0 8px;text-decoration:none}
