@font-face{font-family:'Fraunces';font-style:normal;font-weight:300;font-display:swap;src:url('/assets/fonts/fraunces-latin-300-normal.woff2') format('woff2')}
@font-face{font-family:'Fraunces';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/fraunces-latin-400-normal.woff2') format('woff2')}
@font-face{font-family:'Fraunces';font-style:italic;font-weight:300;font-display:swap;src:url('/assets/fonts/fraunces-latin-300-italic.woff2') format('woff2')}
@font-face{font-family:'Fraunces';font-style:italic;font-weight:400;font-display:swap;src:url('/assets/fonts/fraunces-latin-400-italic.woff2') format('woff2')}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/dm-sans-latin-400-normal.woff2') format('woff2')}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/dm-sans-latin-500-normal.woff2') format('woff2')}

body{margin:0}
a{color:#0B1F3A;text-decoration:none}a:hover{color:#8A6420}
.lbl{font-size:12px;letter-spacing:3px;text-transform:uppercase;color:#8A6420;margin-bottom:20px}
.h2{font-family:'Fraunces',serif;font-weight:300;font-size:clamp(30px,4vw,48px);line-height:1.12;margin:0 0 40px}
.wrap{max-width:1120px;margin:0 auto;padding:0 32px}
.btn{font-family:inherit;font-size:16px;padding:15px 30px;cursor:pointer;border:1px solid #0B1F3A}
.in{padding:13px;border:1px solid #A9B4C6;background:#FFFFFF;color:#0B1F3A;font-size:16px;font-family:inherit}
.fl{display:flex;flex-direction:column;gap:6px;font-size:14px;color:#44546B}
.sw{transform-origin:250px 250px;animation:spin 16s linear infinite}
.sr{transform-origin:250px 250px;animation:spin 60s linear infinite reverse}
.sw2{transform-origin:260px 260px;animation:spin 18s linear infinite}
.nd{animation:pulse 6s ease-in-out infinite}
.fp{position:relative;height:220px;max-width:1000px;margin:48px auto 0}
.fs{position:absolute;top:0;bottom:0;width:12px;background:linear-gradient(to bottom,#0B1F3A 0,#0B1F3A var(--gy),transparent var(--gy),transparent calc(var(--gy) + 22%),#0B1F3A calc(var(--gy) + 22%),#0B1F3A 100%)}
.fd{position:absolute;left:0;width:10px;height:10px;margin-left:-5px;border-radius:50%;background:#D4A22A;opacity:0;animation:fly 8s linear infinite}
.fd.fb{background:#A04A5A}
@keyframes fly{0%{left:0;opacity:0}6%{opacity:1}88%{left:var(--stop);opacity:1}100%{left:var(--stop);opacity:0}}
@media (prefers-reduced-motion:reduce){.fd{animation:none;opacity:1;left:var(--stop)}}
.sl{position:absolute;height:2px;background:linear-gradient(90deg,transparent,#D4A22A);animation:speed 1.8s ease-in infinite;opacity:0}
@keyframes speed{0%{opacity:0;transform:translateX(40px) scaleX(.3)}35%{opacity:.9}100%{opacity:0;transform:translateX(-40px) scaleX(1)}}
.rn{position:relative;z-index:1;display:block;width:100%;height:auto;animation:bob 3.4s ease-in-out infinite}
@keyframes bob{0%,100%{transform:translate(0,0)}50%{transform:translate(6px,-8px)}}
.mq{overflow:hidden;white-space:nowrap;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.mt{display:inline-flex;animation:mq 34s linear infinite}
.mi{display:inline-flex;gap:56px;padding-right:56px}
@keyframes mq{to{transform:translateX(-50%)}}
.ob{transform-origin:250px 250px;animation:spin 6s linear infinite}
.ct{opacity:0;animation:ctc 6s linear infinite}
@keyframes ctc{0%{opacity:0}4%{opacity:1}14%{opacity:1}18%,100%{opacity:0}}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes pulse{0%,100%{fill:#FAF8F4}12%{fill:#D4A22A}}
@media (prefers-reduced-motion:reduce){.sw,.sr,.nd,.sw2,.sl,.rn,.mt,.ob,.ct{animation:none}}

:root{--bg:#FAF8F4;--surf:#EEF1F6;--card:#FFFFFF;--text:#0B1F3A;--muted:#44546B;--gold:#D4A22A;--gt:#8A6420;--line:#D5DBE5;--rose:#A04A5A}
html{scroll-padding-top:90px}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:#FAF8F4;color:#0B1F3A;font-family:'DM Sans',system-ui,sans-serif;line-height:1.6;font-size:17px}
img{max-width:100%}
a.btn{display:inline-block;text-decoration:none;text-align:center}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #D4A22A;outline-offset:2px}
.skip{position:absolute;left:-9999px;top:8px;background:#0B1F3A;color:#FAF8F4;padding:10px 16px;z-index:100}.skip:focus{left:8px}
.nav{position:sticky;top:0;z-index:50;background:#FAF8F4;border-bottom:1px solid #D5DBE5}
.navin{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-top:18px;padding-bottom:18px}
.brand{display:flex;align-items:center;gap:12px;font-family:'Fraunces',serif;font-size:22px;letter-spacing:1px;color:#0B1F3A}
.brand span{color:#8A6420}
.menu{display:flex;gap:26px;align-items:center;font-size:14px}
.menu a[aria-current="page"]{border-bottom:1px solid #8A6420}
.navbtn{border:1px solid #D4A22A;padding:10px 20px}
.burger{display:none;background:none;border:1px solid #D5DBE5;padding:10px 12px;cursor:pointer;color:#0B1F3A;min-height:44px}
@media (max-width:900px){.burger{display:block}.menu{display:none;position:absolute;left:0;right:0;top:100%;background:#FAF8F4;flex-direction:column;align-items:flex-start;padding:20px 32px 28px;border-bottom:1px solid #D5DBE5;gap:18px;font-size:17px}.menu.open{display:flex}}
.fl input,.fl select,.fl textarea{width:100%}
.hp{position:absolute;left:-9999px}
.ok{padding:24px;background:#EEF1F6}
.legal h2{font-family:'Fraunces',serif;font-weight:400;font-size:26px;margin:40px 0 12px}
.legal p,.legal li{color:#44546B;max-width:760px}
.legal a{color:#8A6420;border-bottom:1px solid #8A6420}
.fg img{max-width:100%}
@media (max-width:760px){.fg{grid-template-columns:1fr!important}.fg img{width:220px!important;height:auto!important}}
.lt{animation:lit 18s linear infinite}
@keyframes lit{0%,6%{fill:#8A6420}16%,100%{fill:#5E6B80}}
.bp{transform-box:fill-box;transform-origin:center;animation:bp 3.4s ease-in-out infinite}
@keyframes bp{0%,100%{transform:scale(1);opacity:.6}50%{transform:scale(2.4);opacity:1}}
.pg{transform-origin:260px 260px;animation:ping 4.5s ease-out infinite;opacity:0}
@keyframes ping{0%{transform:scale(1);opacity:.5}100%{transform:scale(2.3);opacity:0}}
@media (prefers-reduced-motion:reduce){.lt,.bp,.pg{animation:none}}
