@font-face{font-family:"Bodoni Moda";font-style:normal;font-weight:400 900;font-display:swap;src:url(/fonts/bodoni-moda-roman-1.woff2) format("woff2")}
@font-face{font-family:"Bodoni Moda";font-style:italic;font-weight:400 900;font-display:swap;src:url(/fonts/bodoni-moda-italic-1.woff2) format("woff2")}
@font-face{font-family:"Bodoni Fallback";src:local("Georgia"),local("Times New Roman");size-adjust:96%;ascent-override:96%;descent-override:26%}
:root{--ground:hsl(346 42% 8%);--ground-2:hsl(346 36% 12%);--ink:hsl(36 48% 91%);--muted:hsl(30 22% 74%);--line:hsl(346 26% 24%);--accent:hsl(34 64% 70%);--accent-ink:hsl(346 42% 8%);--glow:hsl(6 80% 42% / .30);--serif:"Bodoni Moda","Bodoni Fallback",Didot,Georgia,serif;color-scheme:dark}
*{box-sizing:border-box}
html{background:var(--ground);-webkit-text-size-adjust:100%}
body{margin:0;min-height:100vh;min-height:100svh;color:var(--ink);background:radial-gradient(120% 70% at 50% -10%,var(--glow),transparent 62%),linear-gradient(180deg,var(--ground) 0%,var(--ground-2) 100%) fixed,var(--ground);font:400 1.0625rem/1.65 var(--serif);font-optical-sizing:auto;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body::before{content:"";position:fixed;inset:10px;border:1px solid var(--line);pointer-events:none;z-index:0}
::selection{background:var(--accent);color:var(--accent-ink)}
a{color:var(--accent);text-underline-offset:.2em;text-decoration-thickness:1px}
a:hover{text-decoration-thickness:2px}
a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.wrap{position:relative;z-index:1;width:100%;max-width:1200px;margin:0 auto;padding:0 32px}
.top{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:28px 32px 0;max-width:1200px;margin:0 auto;font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;color:var(--muted)}
.top b{font-weight:600;color:var(--ink)}
.top span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.top span:last-child{white-space:nowrap}
.eyebrow{font-size:.74rem;font-weight:600;letter-spacing:.3em;text-transform:uppercase;color:var(--accent);margin:0 0 18px}
.name{font-weight:500;line-height:.92;letter-spacing:-.025em;margin:0;overflow-wrap:anywhere;font-variation-settings:"opsz" 96}
.name .tld{font-style:italic;font-weight:400;letter-spacing:0;color:var(--accent);font-size:.42em;margin-left:.04em}
.len-s{font-size:clamp(4.6rem,23vw,15rem)}
.len-m{font-size:clamp(3.6rem,17vw,11rem)}
.len-l{font-size:clamp(2.9rem,12.6vw,8.4rem)}
.len-xl{font-size:clamp(2.4rem,10.4vw,7rem)}
.len-xxl{font-size:clamp(2.1rem,8.4vw,6rem)}
.kind{font-style:italic;font-size:clamp(1.25rem,3vw,1.7rem);line-height:1.3;margin:22px 0 0;color:var(--ink)}
.lede{color:var(--muted);margin:0 0 28px;max-width:34em}
.rule{display:flex;align-items:center;gap:20px;color:var(--accent);margin:56px 0}
.rule::before,.rule::after{content:"";flex:1;height:1px;background:var(--line)}
.rule:empty{gap:0}
.rule + .facts{border-top:0}
.facts + .rule::before,.facts + .rule::after{background:transparent}
.seal{width:84px;height:84px;flex:none}
.seal-l{font-family:var(--serif);font-style:italic;font-size:34px;font-weight:500}
.seal-ring{transform-origin:60px 60px}
.hero{padding:clamp(56px,12vh,140px) 0 0}
.k-brand .hero{text-align:center}
.k-brand .kind{margin-left:auto;margin-right:auto}
.facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;border-top:1px solid var(--line);margin:0}
.facts div{padding:18px 16px 18px 0;border-bottom:1px solid var(--line)}
.facts dt{font-size:.68rem;letter-spacing:.26em;text-transform:uppercase;color:var(--muted);margin:0 0 6px}
.facts dd{margin:0;font-size:1.12rem;line-height:1.35}
.facts dd i{color:var(--accent)}
.specimen{margin:0 0 8px}
.specimen h2,.enquire h2,.facts-h{font-size:.74rem;font-weight:600;letter-spacing:.3em;text-transform:uppercase;color:var(--accent);margin:0 0 20px}
.sets{display:grid;grid-template-columns:1fr;border-top:1px solid var(--line)}
.sets p{margin:0;padding:22px 0;border-bottom:1px solid var(--line);font-size:clamp(1.6rem,5vw,2.6rem);line-height:1.1;overflow-wrap:anywhere;display:flex;justify-content:space-between;align-items:baseline;gap:16px}
.sets p{flex-direction:column-reverse;align-items:flex-start;gap:10px}
.spec-long .sets p{font-size:clamp(1.3rem,5.4vw,2.2rem)}
.spec-long .set-caps{letter-spacing:.16em}
.sets small{font-size:.68rem;letter-spacing:.26em;text-transform:uppercase;color:var(--muted);flex:none}
.set-caps{text-transform:uppercase;letter-spacing:.32em;font-weight:500;font-size:.72em !important}
.set-ital{font-style:italic}
.set-bold{font-weight:800;letter-spacing:-.02em}
.listing{display:grid;gap:56px}
.enquire{display:grid;gap:40px;padding:0 0 24px}
.enquire .note{font-size:.86rem;color:var(--muted);margin:0}
form{display:grid;gap:22px}
label{display:grid;gap:8px;font-size:.7rem;letter-spacing:.26em;text-transform:uppercase;color:var(--muted)}
input,textarea{font:400 1.0625rem/1.5 var(--serif);letter-spacing:0;text-transform:none;color:var(--ink);background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:10px 0;width:100%;transition:border-color .2s}
textarea{resize:vertical;min-height:7.5em}
input:focus,textarea:focus{outline:none;border-bottom-color:var(--accent);box-shadow:0 1px 0 0 var(--accent)}
button{font:600 .78rem/1 var(--serif);letter-spacing:.28em;text-transform:uppercase;color:var(--accent-ink);background:var(--accent);border:1px solid var(--accent);border-radius:0;padding:18px 30px;cursor:pointer;justify-self:start;transition:background .2s,color .2s}
button:hover{background:transparent;color:var(--accent)}
.hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.small{font-size:.82rem;letter-spacing:0;text-transform:none;color:var(--muted);margin:0}
.cf-turnstile{min-height:65px}
.foot{position:relative;z-index:1;display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 24px;max-width:1200px;margin:72px auto 0;padding:24px 32px 40px;font-size:.78rem;color:var(--muted);border-top:1px solid var(--line)}
.foot i{color:var(--ink)}
/* Family: a private card, centred, by candlelight. */
.k-family .hero{text-align:center;padding-top:clamp(48px,10vh,120px)}
.k-family .seal{width:112px;height:112px;color:var(--accent);margin:0 auto 32px;display:block}
.k-family .name{font-style:italic;font-weight:400;letter-spacing:-.01em}
.k-family .name .tld{font-size:.5em}
.k-family .kind{max-width:22em;margin:28px auto 0;color:var(--muted)}
.k-family .lede{margin:0 auto 28px;text-align:center}
.k-family .card{max-width:560px;margin:0 auto;padding:40px 28px;border:1px solid var(--line);background:linear-gradient(180deg,hsl(0 0% 100% / .025),transparent)}
.k-family .card h2{text-align:center}
.k-family .card .note{text-align:center}
.k-family .card button{justify-self:center}
.k-family .card .small{text-align:center}
/* Coming soon */
.k-coming .hero{position:relative;padding-top:clamp(40px,8vh,96px)}
.sun{display:block;width:min(64vw,380px);height:auto;color:var(--sun);margin:0 0 -8px auto}
.k-coming .name{font-weight:600;letter-spacing:-.035em}
.k-coming .soon{font-style:italic;font-weight:400;font-size:clamp(2rem,7vw,4.4rem);line-height:1;margin:18px 0 0;color:var(--accent)}
.k-coming .facts{grid-template-columns:repeat(2,minmax(0,1fr))}
/* Messages */
.msg{font-style:italic;font-weight:400;font-size:clamp(2.6rem,9vw,5.6rem);line-height:1;margin:0 0 24px;letter-spacing:-.02em}
.message{padding:clamp(72px,16vh,180px) 0 0;max-width:40em}
@media (min-width:900px){
  .top{padding:40px 56px 0}
  .wrap{padding:0 56px}
  .foot{padding:28px 56px 48px}
  body::before{inset:16px}
  .facts{grid-template-columns:repeat(4,minmax(0,1fr))}
  .facts div{padding-right:24px}
  .listing{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:96px;align-items:start}
  .k-brand .listing{grid-template-columns:1fr}
  .k-brand .sets{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:32px}
  .enquire{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:96px}
  .k-family .enquire{grid-template-columns:1fr}
  .k-coming .hero{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);align-items:end;gap:48px}
  .sun{margin:0 0 0 auto;grid-column:2;grid-row:1}
  .k-coming .name.len-l{font-size:clamp(3rem,6.4vw,6.4rem)}
  .k-coming .hero-t{grid-column:1;grid-row:1}
}
@media (max-width:420px){.wrap{padding:0 20px}.top{padding:26px 20px 0;letter-spacing:.18em}.foot{padding:22px 20px 32px}.k-family .card{padding:32px 20px}.facts dd{font-size:1rem}}
@media (prefers-reduced-motion:no-preference){
  .rise{animation:rise 1.1s cubic-bezier(.2,.7,.1,1) both}
  .rise-2{animation-delay:.12s}.rise-3{animation-delay:.24s}
  .seal-ring{animation:turn 140s linear infinite}
  .sun-disc{animation:glow 6s ease-in-out infinite alternate}
  @keyframes rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
  @keyframes turn{to{transform:rotate(360deg)}}
  @keyframes glow{from{opacity:.86}to{opacity:1}}
}