:root{--bg:#0a0a0b;--ink:#f1ecdd;--soft:#cfc8b6;--muted:#9a9384;--gold:#c2a14d;--gold-soft:#dcc079;--line:#221f17}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:"EB Garamond",Georgia,serif;font-size:18px;line-height:1.72;-webkit-font-smoothing:antialiased;
  background-image:radial-gradient(1100px 560px at 50% -8%,#15140e 0%,var(--bg) 62%)}
a{color:var(--gold-soft);text-decoration:none}a:hover{color:#fff}
::selection{background:var(--gold);color:#0a0a0b}
.cipher{color:var(--gold);width:30px;height:30px;display:inline-block}
body::before{content:"";position:fixed;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--gold) 18%,var(--gold-soft) 50%,var(--gold) 82%,transparent);z-index:20;opacity:.85}

/* entrance effects (Optiver-style polish) */
@keyframes rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.rise{opacity:0;animation:rise .9s cubic-bezier(.2,.7,.2,1) forwards;animation-delay:var(--d,0s)}
@keyframes draw{to{stroke-dashoffset:0}}
.draw path,.draw circle{stroke-dasharray:240;stroke-dashoffset:240;animation:draw 1.4s ease forwards}
.draw circle{animation-duration:1.8s}
@media(prefers-reduced-motion:reduce){.rise{opacity:1;animation:none}.draw path,.draw circle{stroke-dashoffset:0;animation:none}}

.nav{display:flex;align-items:center;justify-content:space-between;padding:24px 48px;border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:14px;color:var(--ink)}
.brand:hover{color:var(--ink)}
.brand span{font-family:"Playfair Display",serif;font-weight:700;letter-spacing:1.5px;font-size:21px;color:#f5f0e2}
.nav nav a{margin-left:32px;color:var(--soft);font-size:15px;letter-spacing:1.5px;text-transform:uppercase;position:relative}
.nav nav a::after{content:"";position:absolute;left:0;bottom:-5px;height:1px;width:0;background:var(--gold);transition:width .35s ease}
.nav nav a:hover{color:var(--gold-soft)}.nav nav a:hover::after{width:100%}

main{max-width:1100px;margin:0 auto;padding:0 32px}
.hero{text-align:center;padding:122px 0 118px}
.hero-cipher{width:66px;height:66px;opacity:.92;margin-bottom:28px}
.kicker{font-family:"Playfair Display",serif;color:var(--gold-soft);letter-spacing:.16em;text-transform:uppercase;font-size:15px;font-weight:600;margin:0 0 34px}
.motto{margin:0 auto;max-width:1100px;font-family:"Playfair Display",serif;font-weight:700;text-transform:uppercase;letter-spacing:.07em;line-height:.92;font-size:clamp(46px,11.5vw,124px)}
.motto span{display:block}
.motto span:not(.gold){text-shadow:0 1px 0 rgba(0,0,0,.55)}
.motto .gold{background:linear-gradient(180deg,var(--gold-soft),var(--gold) 55%,#9c8038);-webkit-background-clip:text;background-clip:text;color:transparent}
.rule{display:flex;align-items:center;justify-content:center;gap:18px;color:var(--gold)}
.hero-rule{margin:60px 0 30px}
.rule span{height:1px;width:62px;background:var(--gold);opacity:.85}
.lozenge{width:7px;height:7px;background:var(--gold);transform:rotate(45deg);display:inline-block}
.sub{color:var(--soft);font-size:clamp(18px,2.1vw,22px);font-style:italic;margin:0;max-width:640px;margin-inline:auto;line-height:1.5}

.ethos{max-width:660px;margin:0 auto;padding:96px 0;border-top:1px solid var(--line)}
.ethos .lead{font-family:"Playfair Display",serif;font-size:clamp(25px,3.4vw,34px);font-weight:600;line-height:1.22;margin:0 0 22px;padding-left:22px;border-left:2px solid var(--gold)}
.ethos p{color:var(--soft);margin:0}

.creed{display:grid;grid-template-columns:repeat(3,1fr);margin:8px auto 0;max-width:1000px}
.creed-item{padding:8px 40px;border-left:1px solid var(--line)}
.creed-item:first-child{border-left:0}
.creed-item .num{font-family:"Playfair Display",serif;color:var(--gold);font-size:15px;letter-spacing:2px;display:block;margin-bottom:12px;opacity:.9}
.creed-item h3{font-family:"Playfair Display",serif;color:var(--ink);font-weight:600;letter-spacing:1.5px;text-transform:uppercase;font-size:16px;margin:0 0 12px}
.creed-item p{color:var(--soft);font-size:16.5px;margin:0;line-height:1.6}

.enquiries{text-align:center;padding:104px 0 40px}
.quiet{margin:0 0 40px}.quiet span{height:1px;width:54px;background:var(--gold);opacity:.6}
.enquiries h2{font-family:"Playfair Display",serif;font-weight:600;letter-spacing:3px;text-transform:uppercase;font-size:19px;margin:0 0 12px}
.enquiries p{color:var(--soft);margin:0 0 6px}
.enquiries .email a{font-size:19px;letter-spacing:.3px}

footer{display:flex;justify-content:space-between;align-items:center;max-width:1100px;margin:48px auto 0;padding:28px 32px;border-top:1px solid var(--line);color:var(--muted);font-size:12.5px}
.registry{font-family:"JetBrains Mono",ui-monospace,monospace;letter-spacing:2px;font-size:11.5px;color:var(--soft)}

@media(max-width:680px){
  .nav{padding:18px 22px}.nav nav a{margin-left:18px;font-size:14px}
  main{padding:0 22px}.hero{padding:92px 0 84px}
  .creed{grid-template-columns:1fr;max-width:420px}
  .creed-item{border-left:0;border-top:1px solid var(--line);padding:26px 4px}
  .creed-item:first-child{border-top:0}
  .ethos{padding:64px 0}footer{flex-direction:column;gap:10px;text-align:center}
}

/* hero geometric motif (subtle gold orbit) */
.hero{position:relative;overflow:hidden}
.hero>:not(.hero-bg){position:relative;z-index:1}
.hero-bg{position:absolute;inset:0;display:grid;place-items:center;z-index:0;pointer-events:none}
.orbit{width:min(940px,124vw);height:auto}
.spin{transform-origin:400px 400px;animation:spin 70s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.spin{animation:none}}

/* richer orbit motion + soft glow behind the motto */
.spin2{transform-origin:400px 400px;animation:spin 115s linear infinite reverse}
@media(prefers-reduced-motion:reduce){.spin2{animation:none}}
.hero-bg::before{content:"";position:absolute;width:min(720px,86vw);aspect-ratio:1;border-radius:50%;
  background:radial-gradient(circle, rgba(194,161,77,.11), rgba(194,161,77,.03) 45%, transparent 66%);filter:blur(2px)}
