
:root{
  --bg:#0F171B; --bg-2:#152126; --ink:#EFE8D8; --muted:#BEBCB1; --brass:#C3A468; --sheen:#F6E9C4;
  --line:rgba(233,225,207,.16);
  --serif:"Bodoni Moda","Didot","Bodoni 72",Georgia,serif;
  --sans:"Albert Sans","Helvetica Neue",Arial,sans-serif;
  color-scheme:dark; box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px); padding-bottom:env(safe-area-inset-bottom,0px);
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#0F171B}}
:root[data-theme="dark"]{--bg:#0F171B}
*,*::before,*::after{box-sizing:inherit}
html{scroll-padding-top:env(safe-area-inset-top,0px)}
html.lenis,html.lenis body{height:auto}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:18px;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit}
:focus-visible{outline:1px solid var(--brass);outline-offset:4px}
.grain{position:fixed;inset:-50%;width:200%;height:200%;pointer-events:none;z-index:50;opacity:.03;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:41;background:var(--bg)}
.nav{position:fixed;top:0;left:0;right:0;z-index:40;padding:calc(env(safe-area-inset-top,0px) + 22px) clamp(20px,4vw,56px) 22px;display:flex;align-items:center;justify-content:space-between;gap:24px;background:linear-gradient(var(--bg) 35%,transparent)}
.brand{display:flex;align-items:center;gap:14px;text-decoration:none}
.brand svg{width:26px;height:45px;flex:none;animation:breath 6s ease-in-out infinite}
@keyframes breath{0%,100%{filter:drop-shadow(0 0 0 transparent)}50%{filter:drop-shadow(0 0 7px color-mix(in srgb,var(--brass) 55%,transparent))}}
.brand .name{display:block;font-family:var(--serif);font-weight:500;text-transform:uppercase;letter-spacing:.24em;font-size:14px;line-height:1.1}
.brand .role{display:block;margin-top:5px;font-size:12.5px;letter-spacing:.06em;color:var(--muted)}
.nav ul{display:flex;gap:34px;list-style:none;margin:0;padding:0}
.nav ul a{text-decoration:none;font-size:14px;color:var(--muted);transition:color .3s}
.nav ul a:hover{color:var(--ink)}
.menu-btn{display:none;width:44px;height:44px;border:0;background:none;color:var(--ink);position:relative;cursor:pointer;padding:0}
.menu-btn span{position:absolute;left:10px;right:10px;height:1px;background:currentColor;transition:transform .4s}
.menu-btn span:first-child{top:18px}.menu-btn span:last-child{top:26px}
html.menu-open .menu-btn span:first-child{transform:translateY(4px) rotate(45deg)}
html.menu-open .menu-btn span:last-child{transform:translateY(-4px) rotate(-45deg)}
.menu{position:fixed;inset:0;z-index:39;background:var(--bg);display:flex;flex-direction:column;justify-content:center;padding:0 clamp(24px,8vw,64px);gap:6px;opacity:0;visibility:hidden;transition:opacity .5s,visibility .5s}
html.menu-open .menu{opacity:1;visibility:visible}
.menu .big{font-family:var(--serif);font-size:clamp(34px,8vw,54px);text-decoration:none;line-height:1.35}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 28px;border:1px solid var(--brass);color:var(--ink);text-decoration:none;font-size:15px;letter-spacing:.02em;transition:background .4s,color .4s}
.btn:hover{background:var(--brass);color:var(--bg)}

.dial{position:fixed;left:50%;top:50%;width:min(110vmin,980px);aspect-ratio:1;transform:translate(-50%,-50%);z-index:0;pointer-events:none;color:var(--brass);opacity:.16}
.dial svg{width:100%;height:100%}
.dial .faint{stroke:currentColor;fill:none;stroke-width:.8}
.dial .tick{stroke:currentColor;stroke-width:.8}
.dial .tick.major{stroke-width:1.4}

main{position:relative;z-index:1}
.wrap{max-width:1180px;margin:0 auto;padding:0 clamp(20px,6vw,64px)}

.nav-r{display:flex;align-items:center;gap:12px}
.btn.small{min-height:42px;padding:0 18px;font-size:14px}
@media (max-width:560px){.nav .btn.small{display:none}}
.hero-s{padding-top:clamp(150px,22vh,220px);padding-bottom:80px;max-width:900px}
.kicker{font-size:15px;color:var(--brass);margin:0 0 18px;letter-spacing:.02em}
.hero-s h1{font-family:var(--serif);font-weight:400;font-size:clamp(42px,6vw,88px);line-height:1.03;letter-spacing:-.015em;margin:0 0 30px}
.hero-s p.lead{color:var(--muted);font-size:19px;max-width:34em;margin:0 0 40px}
section.block{padding:72px 0;border-top:1px solid var(--line)}
.block h2{font-family:var(--serif);font-weight:400;font-size:clamp(30px,3.4vw,46px);line-height:1.1;margin:0 0 40px;max-width:16em}
.questions{display:grid;grid-template-columns:repeat(2,1fr);gap:28px 56px;margin:0;padding:0;list-style:none}
.questions li{font-family:var(--serif);font-style:italic;font-size:clamp(22px,2.2vw,29px);line-height:1.3;padding-left:26px;position:relative}
.questions li::before{content:"";position:absolute;left:0;top:.55em;width:8px;height:8px;transform:rotate(45deg);background:var(--brass)}
.areas{max-width:760px}
.area{position:relative;padding:40px 0;border-top:1px solid var(--line);opacity:.62;transition:opacity .8s}
.area:last-child{border-bottom:1px solid var(--line)}
.area::before{content:"";position:absolute;inset:-6px -56px;z-index:-1;pointer-events:none;opacity:0;transition:opacity 1.1s;background:radial-gradient(60% 75% at 22% 50%,color-mix(in srgb,var(--brass) 22%,transparent),transparent 72%)}
.area::after{content:"";position:absolute;left:0;top:-1px;height:1px;width:100%;background:var(--brass);transform:scaleX(0);transform-origin:left;transition:transform 1.2s cubic-bezier(.2,.7,.1,1)}
.area h3{font-family:var(--serif);font-weight:500;font-size:clamp(25px,2.5vw,34px);margin:0 0 12px;transition:color .8s,text-shadow .8s}
.area p{margin:0;color:var(--muted)}
.area.on{opacity:1}.area.on::before{opacity:1}.area.on::after{transform:scaleX(1)}
.area.on h3{color:var(--brass);text-shadow:0 0 28px color-mix(in srgb,var(--brass) 45%,transparent)}
html.static .area{opacity:1}
.steps3{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin:0;padding:0;list-style:none}
.steps3 .n{font-family:var(--serif);font-style:italic;color:var(--brass);font-size:22px}
.steps3 b{display:block;font-family:var(--serif);font-weight:500;font-size:24px;margin:6px 0 10px}
.steps3 p{margin:0;color:var(--muted)}
.who{display:grid;grid-template-columns:repeat(2,1fr);gap:0 56px;margin:0;padding:0;list-style:none}
.who li{padding:22px 0 22px 26px;border-top:1px solid var(--line);position:relative}
.who li::before{content:"";position:absolute;left:0;top:31px;width:8px;height:8px;transform:rotate(45deg);border:1px solid var(--brass)}
.faq details{border-top:1px solid var(--line);max-width:860px}
.faq details:last-of-type{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:44px;padding:24px 0;font-family:var(--serif);font-size:clamp(20px,2vw,25px)}
.faq summary::-webkit-details-marker{display:none}
.faq summary i{flex:none;width:14px;height:14px;position:relative}
.faq summary i::before,.faq summary i::after{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:var(--brass);transition:transform .4s}
.faq summary i::after{transform:rotate(90deg)}
.faq details[open] summary i::after{transform:rotate(0)}
.faq details p{margin:0 0 26px;color:var(--muted);max-width:40em}
.cta{text-align:center;padding:110px 0 90px;border-top:1px solid var(--line)}
.cta h2{font-family:var(--serif);font-weight:400;font-size:clamp(32px,4vw,58px);line-height:1.08;margin:0 auto 22px;max-width:13em}
.cta p{color:var(--muted);margin:0 auto 36px;max-width:28em}
.disc{font-size:13px;color:var(--muted);max-width:60em;margin:0 0 60px}
@media (max-width:820px){.questions,.who,.steps3{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.area,.area::before,.area::after,.area h3{transition:none}}

.svc-nav{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:clamp(130px,18vh,180px) 0 0;list-style:none}
.svc-nav a{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border:1px solid var(--line);color:var(--muted);text-decoration:none;font-size:14px;transition:border-color .3s,color .3s}
.svc-nav a:hover{color:var(--ink)}
.svc-nav a[aria-current="page"]{border-color:var(--brass);color:var(--brass)}

.view .hero-s{padding-top:56px}
.risk{margin:0;padding:0;list-style:none;max-width:860px}
.risk li{padding:18px 0 18px 26px;border-top:1px solid var(--line);position:relative}
.risk li:last-child{border-bottom:1px solid var(--line)}
.risk li::before{content:"";position:absolute;left:0;top:27px;width:8px;height:8px;transform:rotate(45deg);border:1px solid var(--brass)}
.totop{position:fixed;right:calc(18px + env(safe-area-inset-right,0px));bottom:calc(18px + env(safe-area-inset-bottom,0px));z-index:38;width:48px;height:48px;border-radius:50%;border:1px solid var(--brass);background:color-mix(in srgb,var(--bg) 82%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:var(--brass);display:grid;place-items:center;cursor:pointer;padding:0;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .4s,visibility .4s,transform .4s,background .4s}
.totop.show{opacity:1;visibility:visible;transform:none}
.totop:hover{background:var(--brass);color:var(--bg)}
.totop svg{width:20px;height:20px}
main{overflow-x:clip}
@media (prefers-reduced-motion:reduce){.totop{transition:none}}

@media (max-width:1100px){.nav ul{display:none}.menu-btn{display:block}}
@media (max-width:560px){.brand .name{font-size:12px;letter-spacing:.18em}.brand .role{font-size:11px}}
@media (max-width:820px){.svc-nav{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;margin-right:calc(-1 * clamp(20px,6vw,64px));padding-right:20px}.svc-nav::-webkit-scrollbar{display:none}.svc-nav a{white-space:nowrap}}
