:root{--di-ink:#20242a;--di-deep:#17202a;--di-rust:#8f3e16;--di-canvas:#f8f6f2;--di-paper:#fff;--di-gold:#b7831e;--di-gold-light:#f1cd91;--di-copper:#c85a12;--di-line:#bfc4c8}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--di-canvas);color:var(--di-ink);font-family:Arial,Helvetica,sans-serif}img{max-width:100%}a{color:inherit}a:focus-visible,summary:focus-visible{outline:3px solid var(--di-gold);outline-offset:4px}section[id]{scroll-margin-top:90px}.container-fluid{width:min(100% - 8vw,1440px);padding:0}.skip-link{position:fixed;left:1rem;top:-5rem;z-index:1100;background:white;color:var(--di-ink);padding:.75rem 1rem}.skip-link:focus{top:1rem}.reading-progress{position:fixed;left:0;top:0;width:100%;height:3px;z-index:1005;pointer-events:none}.reading-progress span{display:block;width:0;height:100%;background:var(--di-gold)}.site-header{position:fixed;inset:0 0 auto;z-index:1000;color:#fff;transition:background .25s,box-shadow .25s}.site-header.is-scrolled,.site-header:has(.site-menu[open]){background:rgba(23,32,42,.97);box-shadow:0 10px 40px #0002}.site-header__inner{height:106px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center}.site-header__side-link{font-size:.7rem;letter-spacing:.19em;text-transform:uppercase;text-decoration:none;width:max-content}.site-header__side-link span{color:var(--di-gold-light);margin-left:1rem}.site-header__brand{display:block;align-self:start;position:relative;z-index:2}.site-header__brand img{height:100px;width:136px;object-fit:contain}.site-menu{justify-self:end;position:relative}.site-menu summary{display:flex;align-items:center;gap:18px;cursor:pointer;list-style:none;text-transform:uppercase;letter-spacing:.18em;font-size:.7rem;padding:12px 0}.site-menu summary::-webkit-details-marker{display:none}.site-menu summary i{width:34px;height:24px;display:flex;flex-direction:column;justify-content:center;gap:7px}.site-menu summary b{display:block;width:30px;height:1px;background:currentColor;transition:transform .2s}.site-menu[open] summary b:first-child{transform:translateY(4px) rotate(45deg)}.site-menu[open] summary b:last-child{transform:translateY(-4px) rotate(-45deg)}.site-menu__panel{position:absolute;right:-4vw;top:52px;width:min(430px,100vw);padding:26px 36px 38px;background:var(--di-deep);box-shadow:0 28px 60px #0005}.site-menu__panel a{display:flex;justify-content:space-between;padding:14px 0;border-bottom:1px solid #ffffff33;color:#fff;text-decoration:none;font:clamp(1.3rem,2vw,2rem) Georgia,serif}.site-menu__panel a:hover{color:var(--di-gold-light)}.site-menu__panel a span{font:normal .7rem Arial,sans-serif;color:var(--di-gold-light)}.site-footer{background:#17202a;color:#fff;padding:72px 0 22px}.site-footer__grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:10vw}.site-footer img{object-fit:contain}.site-footer p{color:#f0dcd1;font-size:.9rem;margin:20px 0}.site-footer__label{display:block;color:var(--di-gold-light);text-transform:uppercase;letter-spacing:.21em;font-size:.68rem;margin:0 0 22px}.site-footer nav{display:grid;gap:10px}.site-footer nav a,.site-footer__closing a{color:#f7e9df;text-decoration:none;font-size:.9rem}.site-footer a:hover{color:var(--di-gold-light)}.site-footer__closing p{font:2rem/1.18 Georgia,serif;color:#fff;max-width:280px}.site-footer__bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #ffffff27;margin-top:80px;padding-top:22px;color:#e6c5b2;font-size:.72rem;letter-spacing:.03em}@media(max-width:700px){.container-fluid{width:min(100% - 40px,1440px)}.site-header__inner{height:76px;grid-template-columns:1fr 1fr}.site-header__side-link{display:none}.site-header__brand{justify-self:start}.site-header__brand img{width:104px;height:76px}.site-menu__panel{right:-20px;top:44px;padding:16px 26px 30px}.site-footer__grid{grid-template-columns:1fr 1fr;gap:42px 20px}.site-footer__closing{grid-column:1/-1}.site-footer__bottom{flex-direction:column;margin-top:60px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation-duration:.01ms!important;transition-duration:.01ms!important}}
body:not(:has(.home-hero)) .site-header{background:var(--di-deep)}body:not(:has(.home-hero)) main{padding-top:106px;min-height:70vh}@media(max-width:700px){body:not(:has(.home-hero)) main{padding-top:76px}}
/* The linked logo arrives once, then responds to the pointer as a small 3D object. */
.site-header__brand,.site-footer__brand{perspective:650px;perspective-origin:center center}
.site-header__brand{animation:site-logo-arrive 1s cubic-bezier(.18,.75,.25,1) both;transform-origin:center 22%}
.site-footer__brand{display:inline-block}
.site-logo__mark{--logo-rx:0deg;--logo-ry:0deg;position:relative;display:block;transform-style:preserve-3d;transform:rotateX(var(--logo-rx)) rotateY(var(--logo-ry));transition:transform .4s cubic-bezier(.2,.8,.2,1)}
.site-logo__mark::before{content:"";position:absolute;inset:20% 13%;border-radius:50%;background:radial-gradient(circle,#f4b45755,transparent 70%);filter:blur(12px);opacity:0;transform:translateZ(-15px);transition:opacity .35s ease;pointer-events:none}
.site-logo__mark img{position:relative;display:block;transform:translateZ(18px);filter:drop-shadow(0 4px 5px #0005);transition:filter .35s ease}
@keyframes site-logo-arrive{0%{opacity:0;transform:translateY(-23px) rotateX(-75deg) rotateY(-18deg) scale(.8)}65%{opacity:1;transform:translateY(3px) rotateX(11deg) rotateY(4deg) scale(1.04)}100%{opacity:1;transform:translateY(0) rotateX(0) rotateY(0) scale(1)}}
@media(hover:hover) and (pointer:fine){
    [data-logo-tilt]:hover .site-logo__mark::before,[data-logo-tilt].is-hovered .site-logo__mark::before{opacity:1}
    [data-logo-tilt]:hover .site-logo__mark img,[data-logo-tilt].is-hovered .site-logo__mark img{filter:drop-shadow(0 12px 12px #0008)}
}
@media(prefers-reduced-motion:reduce){
    .site-header__brand{animation:none}
    .site-logo__mark,.site-logo__mark img{transform:none!important;transition:none}
    .site-logo__mark::before{display:none}
}
