
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,600;1,400;1,600&family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=Homemade+Apple&display=swap');
:root{--bg:#06060d;--bg2:rgba(14,13,28,.72);--bg3:rgba(22,20,42,.78);--ink:#ece6da;--ink2:#b9b2c4;--muted:#8b849a;--gold:#d9b76c;--gold2:#f2d99a;--violet:#a98be0;--blood:#9a2536;--rule:rgba(217,183,108,.22)}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:'Cormorant Garamond',Georgia,serif;font-size:19px;line-height:1.62;-webkit-font-smoothing:antialiased}
#sky{position:fixed;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}
body>*:not(#sky){position:relative;z-index:1}
a{color:var(--gold)}a:hover{color:var(--gold2)}
.wide{max-width:1180px;margin:0 auto;padding:0 24px}.wrap{max-width:860px;margin:0 auto;padding:0 24px}
h1,h2,h3,h4{font-family:'Playfair Display',Georgia,serif;font-weight:400;line-height:1.1;margin:0}
/* masthead */
.mast{min-height:96vh;display:flex;align-items:center;text-align:center;padding:70px 0 40px}
.mast .over{font-family:'Playfair Display',serif;font-style:italic;letter-spacing:.18em;text-transform:uppercase;font-size:12px;color:var(--gold);margin:0 0 22px}
.mast h1{font-size:clamp(64px,11vw,150px);letter-spacing:-.01em;color:#fff;text-shadow:0 0 60px rgba(169,139,224,.35)}
.mast h1 em{font-style:italic;color:var(--gold2)}
.auto-wrap{height:92px;display:flex;align-items:center;justify-content:center;margin:14px 0 6px}
.auto{position:relative;display:inline-block;font-family:'Homemade Apple',cursive;font-size:clamp(24px,3.6vw,40px);color:#fff;transition:opacity .9s;transform:rotate(-2deg);padding:0 10px}
.auto #autotext{display:inline-block;clip-path:inset(-30% calc(100% - var(--w,0%)) -30% -2%);text-shadow:0 0 18px rgba(242,217,154,.55)}
.auto .nib{position:absolute;left:10px;top:55%;width:7px;height:7px;border-radius:50%;background:#fff;box-shadow:0 0 14px 5px rgba(242,217,154,.85),0 0 40px 12px rgba(169,139,224,.5);opacity:0;pointer-events:none}
.auto.fade{opacity:0}
.mast .lede{max-width:760px;margin:22px auto 0;font-size:clamp(19px,2.1vw,24px);font-style:italic;color:var(--ink);line-height:1.5}
.host-intro{max-width:660px;margin:24px auto 0;color:var(--ink2);font-size:18px}
.scroll{display:inline-block;margin-top:38px;font-family:'Playfair Display',serif;font-style:italic;letter-spacing:.2em;text-transform:uppercase;font-size:12px;color:var(--gold);text-decoration:none;border:1px solid var(--rule);padding:12px 30px;border-radius:30px;background:rgba(6,6,13,.5)}
.scroll:hover{border-color:var(--gold);color:var(--gold2)}
/* contents */
nav.contents{display:flex;justify-content:center;flex-wrap:wrap;gap:6px 16px;padding:14px 12px;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);font-family:'Playfair Display',serif;font-size:12px;letter-spacing:.12em;text-transform:uppercase;position:sticky;top:0;background:rgba(6,6,13,.9);backdrop-filter:blur(8px);z-index:5}
nav.contents a{text-decoration:none;color:var(--ink2)}nav.contents a:hover{color:var(--gold2)}
/* hero plate */
.hero{padding:40px 0 10px}.herofig{margin:0}.herofig img{width:100%;max-height:78vh;object-fit:cover;object-position:center 30%;border:1px solid var(--rule);box-shadow:0 30px 80px rgba(0,0,0,.6)}
.herofig figcaption{max-width:860px;margin:14px auto 0;color:var(--ink2);font-size:16px;font-style:italic;text-align:center}
/* article */
article.wrap{padding:30px 24px 60px}
h2{font-size:clamp(34px,4.6vw,54px);margin:90px 0 10px;color:#fff;letter-spacing:-.01em;text-shadow:0 0 40px rgba(169,139,224,.25)}
h2 small{display:block;font-family:'Playfair Display',serif;font-style:italic;font-size:13px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);margin-bottom:12px}
.host{font-style:italic;color:var(--violet);font-size:20px;margin:0 0 26px;padding-left:18px;border-left:2px solid var(--violet)}
p{margin:0 0 20px}
.dropcap::first-letter{font-family:'Playfair Display',serif;font-size:4.2em;float:left;line-height:.8;margin:8px 12px 0 0;color:var(--gold2)}
.center{text-align:center}
figure.plate{margin:30px 0}figure.plate img{width:100%;height:auto;display:block;border:1px solid var(--rule);background:#000}
figcaption{font-size:15px;color:var(--ink2);margin-top:10px;line-height:1.45}figcaption b{color:var(--ink);font-weight:600;display:block;font-family:'Playfair Display',serif;font-size:15px;margin-bottom:2px}
.plates{display:grid;gap:18px;margin:26px 0}.plates.two{grid-template-columns:1fr 1fr}.plates.three{grid-template-columns:1fr 1fr 1fr}@media(max-width:760px){.plates.two,.plates.three{grid-template-columns:1fr}}
.plates.three .plate img{max-height:300px;object-fit:contain;background:#000}
.plates .plate{margin:0}.plates .plate img{max-height:420px;object-fit:cover}
/* definitions table */
.tablewrap{overflow-x:auto;margin:26px 0}
table.defs{border-collapse:collapse;width:100%;font-size:16px;background:var(--bg2);border:1px solid var(--rule)}
table.defs th{font-family:'Playfair Display',serif;font-weight:400;font-style:italic;text-align:left;padding:12px 12px;color:var(--gold);border-bottom:1px solid var(--rule);font-size:14px;letter-spacing:.06em}
table.defs td{padding:12px;vertical-align:top;border-bottom:1px solid rgba(255,255,255,.05)}
table.defs .dn{font-family:'Playfair Display',serif;color:#fff;white-space:nowrap}table.defs .dd{color:var(--ink2);font-style:italic;min-width:260px}
/* entries */
.entries{display:grid;gap:22px;margin:26px 0}
.entry{display:grid;grid-template-columns:320px 1fr;gap:26px;background:var(--bg2);border:1px solid var(--rule);border-radius:3px;padding:24px 26px;align-items:start;backdrop-filter:blur(4px)}
.entry .plate{margin:0}.entry .plate img{max-height:380px;object-fit:contain;background:#000}
.entry:not(:has(.plate)){grid-template-columns:1fr}
.entry h3{font-size:27px;color:#fff;margin:0 0 4px}.entry .when{display:block;font-family:'Playfair Display',serif;font-style:italic;font-size:14px;color:var(--gold);letter-spacing:.06em;margin-bottom:12px}
.entry p{margin:0;font-size:18px}.entry figcaption{font-size:13.5px}
@media(max-width:800px){.entry{grid-template-columns:1fr}}
/* science */
.sciblock{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:26px 0}@media(max-width:760px){.sciblock{grid-template-columns:1fr}}
.sci{background:var(--bg3);border:1px solid var(--rule);padding:22px 24px;border-radius:3px}.sci h3{font-size:21px;color:var(--gold2);margin-bottom:10px}.sci p{margin:0;font-size:17px}
/* cabinet */
.cabinet{background:linear-gradient(180deg,rgba(60,10,20,.55),rgba(20,6,12,.75));border:1px solid rgba(154,37,54,.5);border-left:4px solid var(--blood);padding:22px 26px;margin:34px 0;border-radius:3px;box-shadow:0 20px 50px rgba(0,0,0,.5)}
.cab-tag{font-family:'Playfair Display',serif;font-style:italic;font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:#e08a97}
.cabinet h4{font-size:24px;color:#fff;margin:8px 0 10px}.cabinet p{margin:0;font-size:18px;color:var(--ink)}
.cabinets{display:grid;gap:8px}
/* steps */
.steps{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:26px 0}@media(max-width:760px){.steps{grid-template-columns:1fr}}
.step{position:relative;background:var(--bg2);border:1px solid var(--rule);padding:26px 26px 22px 30px;border-radius:3px}
.step .n{position:absolute;top:-14px;left:18px;font-family:'Playfair Display',serif;font-style:italic;font-size:15px;color:var(--bg);background:var(--gold);width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center}
.step h4{font-size:22px;color:#fff;margin-bottom:8px}.step p{margin:0;font-size:17px}
.arth{font-size:32px;color:var(--gold2);margin:70px 0 18px;font-style:italic}
h4{font-size:22px;color:#fff;margin:26px 0 10px}
ol{padding-left:22px;margin:0 0 22px}ol li{margin-bottom:10px;padding-left:6px}
/* don'ts */
.donts{display:grid;gap:14px;margin:26px 0}
.dont{background:var(--bg3);border:1px solid var(--rule);border-left:4px solid var(--gold);padding:20px 24px;border-radius:3px}
.dont h3{font-size:22px;color:#fff;margin-bottom:8px}.dont p{margin:0;font-size:17px}
/* buttons */
.btn{display:inline-block;font-family:'Playfair Display',serif;font-style:italic;letter-spacing:.14em;text-transform:uppercase;font-size:12px;padding:14px 28px;border:1px solid var(--gold);color:var(--gold);text-decoration:none;border-radius:2px;background:rgba(6,6,13,.5);cursor:pointer}
.btn:hover{background:rgba(217,183,108,.12);color:var(--gold2)}.btn.solid{background:var(--gold);color:#120c05}.btn.solid:hover{background:var(--gold2);color:#120c05}
/* offer */
.offer{background:rgba(10,9,20,.85);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:80px 0;backdrop-filter:blur(6px)}
.offer h2{margin:0 0 10px;text-align:center}.offer .lede{text-align:center;color:var(--ink2);font-style:italic;margin-bottom:40px}
.items{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}
.item{background:var(--bg3);border:1px solid var(--rule);padding:26px 26px 22px;border-radius:3px;display:flex;flex-direction:column}
.item .ref{font-family:'Playfair Display',serif;font-style:italic;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:10px}
.item h3{font-size:24px;color:#fff;margin-bottom:10px}.item p{font-size:17px;flex:1}.item .terms{font-size:14px;color:var(--muted);font-style:italic;border-top:1px solid var(--rule);padding-top:10px}.item .price{margin-top:8px;font-family:'Playfair Display',serif;font-size:14px;color:var(--gold2)}
.terms-box{margin-top:34px;padding:22px 26px;border:1px solid var(--rule);background:rgba(6,6,13,.6);font-size:16px;color:var(--ink2)}
/* enquire */
.enquire{padding:80px 0}.enquire .two{display:grid;grid-template-columns:1fr 1fr;gap:40px}@media(max-width:820px){.enquire .two{grid-template-columns:1fr}}
.enquire h2{margin:0 0 10px;font-size:36px}.enquire .lead{color:var(--ink2);font-style:italic}
input,textarea{width:100%;background:rgba(14,13,28,.85);border:1px solid var(--rule);color:var(--ink);font-family:inherit;font-size:17px;padding:12px 14px;margin-bottom:12px;border-radius:2px}
textarea{min-height:140px;resize:vertical}input:focus,textarea:focus{outline:none;border-color:var(--gold)}
.row{display:grid;gap:12px;grid-template-columns:1fr 1fr}@media(max-width:600px){.row{grid-template-columns:1fr}}
.hp{position:absolute;left:-9999px}.note{font-size:15px;color:var(--muted);min-height:1.4em;margin-top:10px}.note.ok{color:var(--gold2)}.note.err{color:#e08a97}
footer{border-top:1px solid var(--rule);padding:40px 24px 60px;text-align:center;font-size:14px;color:var(--muted);background:rgba(6,6,13,.9)}
footer .links{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 22px;margin-bottom:18px;font-family:'Playfair Display',serif;font-style:italic;letter-spacing:.12em;text-transform:uppercase;font-size:12px}footer .links a{text-decoration:none}
.reveal{opacity:0;transform:translateY(14px);transition:opacity .8s,transform .8s}.reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}
@media(max-width:600px){body{font-size:17.5px}.mast{padding-top:50px}.entry{padding:18px}article.wrap{padding:20px 18px 40px}}
