@font-face{font-family:"DM Sans";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/dm-sans-latin-ext-400-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@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");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"DM Sans";font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/dm-sans-latin-ext-500-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@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");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"DM Sans";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/dm-sans-latin-ext-600-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"DM Sans";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/dm-sans-latin-600-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"DM Sans";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/dm-sans-latin-ext-700-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"DM Sans";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/dm-sans-latin-700-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"DM Sans";font-style:normal;font-weight:800;font-display:swap;src:url(/assets/fonts/dm-sans-latin-ext-800-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"DM Sans";font-style:normal;font-weight:800;font-display:swap;src:url(/assets/fonts/dm-sans-latin-800-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

@layer tokens,base,layout,components,motion;
@view-transition{navigation:auto}

@layer tokens{
:root{
  --ink:#10282b;--wine:#0b4f58;--wine-2:#0f6f7b;--deep:#07282d;--brass:#e0922f;--brass-tx:#9a5a0c;
  --paper:#f2f6f6;--paper-2:#e1ecec;--line:#d3e0e0;--muted:#55696b;
  --sans:"DM Sans",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --wrap:1240px;--gutter:clamp(20px,5vw,48px);--ease:cubic-bezier(.2,.7,.2,1);
  color-scheme:light;
}
}

@layer base{
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:100px}
body{margin:0;font:400 1.0625rem/1.75 var(--sans);color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:clip}
img,svg{display:block;max-width:100%}
a{color:inherit}
h1,h2,h3{font-family:var(--sans);font-weight:700;line-height:1.1;margin:0;letter-spacing:-.03em;color:var(--wine);text-wrap:balance}
p{margin:0 0 1em;text-wrap:pretty}
:focus-visible{outline:2px solid var(--wine-2);outline-offset:3px}
::selection{background:var(--wine);color:#fff}
}

@layer layout{
.wrap{width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gutter)}
section{padding-block:clamp(64px,8vw,120px)}
.sprite{position:absolute;width:0;height:0;overflow:hidden}
.skip{position:absolute;left:-9999px;top:0;background:var(--wine);color:#fff;padding:.7rem 1rem;z-index:100;font-weight:600}
.skip:focus{left:0}
.progress{position:fixed;inset:0 0 auto 0;height:2px;background:var(--brass);transform:scaleX(0);transform-origin:0 50%;z-index:200}
}

@layer components{
.ico{width:1em;height:1em;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}

.site-header{position:sticky;top:0;z-index:50;background:rgba(242,246,246,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);transition:box-shadow .3s;
  &.is-stuck{box-shadow:0 10px 30px rgba(7,40,45,.08)}
  & .wrap{display:flex;align-items:center;gap:1.5rem;min-height:84px;flex-wrap:wrap}}
.brand{display:flex;align-items:center;gap:.9rem;text-decoration:none;margin-right:auto;
  & img{height:46px;width:auto}
  & .bt{display:flex;flex-direction:column}
  & .bt strong{font-weight:800;font-size:1.35rem;letter-spacing:.2em;color:var(--deep);line-height:1}
  & .bt small{font-weight:600;font-size:.62rem;letter-spacing:.15em;color:var(--muted);margin-top:.4rem;padding-top:.4rem;border-top:1px solid var(--brass)}}
.site-nav{display:flex;align-items:center;
  & ul{list-style:none;margin:0;padding:0;display:flex;gap:.2rem;align-items:center}
  & li{position:relative}
  & ul a{display:flex;align-items:center;gap:.4rem;padding:.8rem .9rem;text-decoration:none;font-size:.78rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);position:relative;
    &::after{content:"";position:absolute;left:.9rem;right:.9rem;bottom:.45rem;height:1px;background:var(--wine-2);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}
    &:hover,&[aria-current="page"]{color:var(--wine-2)}
    &:hover::after,&[aria-current="page"]::after{transform:scaleX(1)}}}
.has-sub>a::before{content:"";order:2;width:5px;height:5px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translate(-2px,-2px)}
.has-sub>.sub{display:none;position:absolute;top:100%;left:0;min-width:310px;background:var(--paper);border:1px solid var(--line);border-top:2px solid var(--wine);box-shadow:0 24px 50px rgba(7,40,45,.14);padding:.3rem 0;margin:0;z-index:60;flex-direction:column;
  & a{padding:.8rem 1.1rem;white-space:nowrap;text-transform:none;letter-spacing:0;font-size:.92rem;font-weight:600;
    &::after{display:none}
    &:hover{background:var(--paper-2)}}}
.has-sub:hover>.sub,.has-sub:focus-within>.sub{display:flex;animation:drop .25s var(--ease) both}
@keyframes drop{from{opacity:0;transform:translateY(-6px)}}
.nav-btn{display:none}

.btn{display:inline-flex;align-items:center;gap:.6rem;padding:1rem 1.8rem;font:700 .8rem/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;text-decoration:none;border:1px solid transparent;transition:background-color .25s,color .25s,border-color .25s,gap .25s;
  &:hover{gap:1rem}}
.btn-primary{background:var(--wine);color:#fff;&:hover{background:var(--wine-2)}}
.btn-ghost{border-color:var(--ink);color:var(--ink);&:hover{background:var(--ink);color:#fff}}
.actions{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:2.2rem}

.hero{padding-block:clamp(56px,8vw,120px);position:relative;overflow:hidden;border-bottom:1px solid var(--line);
  & .wrap{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr);gap:3rem;align-items:center;position:relative}
  & h1{font-size:clamp(2.7rem,6.2vw,5.4rem);line-height:1.02;letter-spacing:-.04em;margin-bottom:1.6rem;color:var(--deep)}
  & h1 span{color:var(--wine-2)}
  & .lead{font-size:1.18rem;color:var(--muted);max-width:32em;padding-left:1.4rem;border-left:2px solid var(--brass)}}
.emblem{width:100%;max-width:360px;margin-inline:auto;height:auto;overflow:visible;
  & path{animation:facet 8s ease-in-out infinite}
  & path:nth-child(2){animation-delay:-2s}
  & path:nth-child(3){animation-delay:-4s}
  & path:nth-child(4){animation-delay:-6s}}
@keyframes facet{50%{opacity:.78}}
@media (max-width:900px){.hero .wrap{grid-template-columns:1fr}.emblem{max-width:200px;margin:0}}

.triple{border-bottom:1px solid var(--line);padding:0;
  & .wrap{display:grid;grid-template-columns:repeat(3,1fr)}
  & div.t{padding:2rem 2rem 2rem 0;border-right:1px solid var(--line);
    &+div.t{padding-left:2rem}
    &:last-child{border-right:0}}
  & h2{font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--brass-tx);margin-bottom:.6rem;font-weight:800}
  & p{margin:0;color:var(--muted);font-size:.97rem}}
@media (max-width:760px){.triple .wrap{grid-template-columns:1fr}.triple div.t,.triple div.t+div.t{padding:1.4rem 0;border-right:0;border-bottom:1px solid var(--line)}.triple div.t:last-child{border-bottom:0}}

.label{display:block;font-size:.78rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--brass-tx);margin-bottom:1.2rem}
.sec-head{max-width:46rem;margin-bottom:3rem;
  & h2{font-size:clamp(2rem,4vw,3.2rem)}
  & p{color:var(--muted);margin:1rem 0 0}}

.svcrows{border-top:1px solid var(--ink);
  & a{display:grid;grid-template-columns:5rem minmax(0,1.1fr) minmax(0,1fr) auto;gap:1.5rem;align-items:center;padding:2rem 0;border-bottom:1px solid var(--line);text-decoration:none;position:relative;transition:padding .4s var(--ease);
    &::before{content:"";position:absolute;left:0;top:-1px;height:1px;width:100%;background:var(--wine-2);transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease)}
    &:hover{padding-left:1rem}
    &:hover::before{transform:scaleX(1)}}
  & .n{font-size:2.6rem;font-weight:800;letter-spacing:-.04em;color:var(--paper-2);-webkit-text-stroke:1px var(--brass);line-height:1}
  & h3{font-size:clamp(1.3rem,2.2vw,1.8rem)}
  & p{margin:0;color:var(--muted);font-size:.98rem}
  & .arr{font-size:1.5rem;color:var(--wine-2);transition:transform .35s var(--ease)}
  & a:hover .arr{transform:translateX(8px)}}
@media (max-width:820px){.svcrows a{grid-template-columns:3.2rem 1fr auto}.svcrows p{display:none}.svcrows .n{font-size:1.9rem}}

.statement{background:var(--deep);color:#fff;position:relative;overflow:hidden;
  &::after{content:"";position:absolute;right:-6%;top:50%;width:min(46vw,520px);aspect-ratio:.86;transform:translateY(-50%);background:linear-gradient(135deg,rgba(138,28,70,.35) 50%,rgba(184,145,79,.25) 50%);clip-path:polygon(50% 0,100% 40%,50% 100%,0 40%)}
  & .wrap{position:relative;z-index:1}
  & .label{color:var(--brass)}
  & h2{color:#fff;font-size:clamp(1.9rem,3.8vw,3.1rem);max-width:22ch;line-height:1.12}
  & p{color:#bfd6d8;max-width:40rem;margin-top:1.4rem}
  & .actions .btn-primary{background:#fff;color:var(--deep);&:hover{background:var(--paper-2)}}
  & .actions .btn-ghost{border-color:rgba(255,255,255,.4);color:#fff;&:hover{background:#fff;color:var(--deep)}}}

.guide .wrap{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:clamp(2rem,6vw,6rem);align-items:start}
.guide .side{position:sticky;top:130px}
.glist{border-top:1px solid var(--ink)}
.gi{display:grid;grid-template-columns:3rem minmax(0,1fr) auto;gap:1.2rem;padding:1.6rem 0;border-bottom:1px solid var(--line);text-decoration:none;align-items:start;transition:padding .35s var(--ease);
  &:hover{padding-left:.8rem}
  & .n{font-size:.8rem;font-weight:800;letter-spacing:.1em;color:var(--brass-tx);padding-top:.4rem}
  & h3{font-size:1.25rem;margin-bottom:.4rem}
  & p{margin:0;color:var(--muted);font-size:.98rem}
  & .go{font-size:1.3rem;color:var(--wine-2);grid-column:3;grid-row:1}}
@media (max-width:900px){.guide .wrap{grid-template-columns:1fr}.guide .side{position:static}}

.bar-note{padding-block:clamp(40px,5vw,64px);border-block:1px solid var(--line);background:var(--paper-2)}
.note-bar{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:1.6rem;align-items:center;
  & .ico{font-size:2rem;color:var(--wine-2)}
  & h2{font-size:1.15rem;margin-bottom:.3rem;letter-spacing:-.01em}
  & p{margin:0;color:var(--muted);font-size:.97rem}}
@media (max-width:760px){.note-bar{grid-template-columns:1fr}}

.faq .wrap{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:clamp(2rem,6vw,6rem);align-items:start}
.faq .side{position:sticky;top:130px}
.faq h2{font-size:clamp(2rem,4vw,3rem)}
@media (max-width:900px){.faq .wrap{grid-template-columns:1fr}.faq .side{position:static}}
details{border-bottom:1px solid var(--line);
  &:first-of-type{border-top:1px solid var(--ink)}
  & summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:1.3rem 0;font-weight:700;font-size:1.05rem;line-height:1.4;color:var(--deep);
    &::-webkit-details-marker{display:none}
    &:hover{color:var(--wine-2)}
    &::after{content:"+";font-size:1.6rem;font-weight:300;line-height:1;color:var(--wine-2);transition:transform .3s var(--ease)}}
  &[open] summary::after{transform:rotate(45deg)}
  & .ans{color:var(--muted);padding:0 2rem 1.3rem 0;animation:drop .3s var(--ease) both;
    & p{margin:0 0 .8em}
    & ul{margin:0 0 .8em;padding-left:1.2rem}}}

.cta{background:var(--wine);color:#fff;padding-block:clamp(56px,7vw,96px);
  & .wrap{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;flex-wrap:wrap}
  & h2{color:#fff;font-size:clamp(1.9rem,3.6vw,3rem);margin-bottom:.6rem}
  & p{margin:0;color:#cfe3e5}
  & .btn-primary{background:#fff;color:var(--deep);&:hover{background:var(--paper-2)}}}

.page-head{padding-block:clamp(48px,6vw,96px);border-bottom:1px solid var(--line);position:relative;
  &::after{content:"";position:absolute;left:var(--gutter);bottom:-1px;width:80px;height:3px;background:var(--wine-2)}
  & h1{font-size:clamp(2.2rem,4.8vw,4rem);max-width:20ch;color:var(--deep);letter-spacing:-.035em}
  & .lead{color:var(--muted);margin:1.2rem 0 0;max-width:40rem;font-size:1.12rem}}
.crumb{font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:var(--muted);margin-bottom:1.4rem;
  & a{text-decoration:none;&:hover{color:var(--wine-2)}}}
.page-head+section{padding-top:clamp(40px,5vw,72px)}
.split{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:clamp(2rem,6vw,5rem);align-items:start}
.aside{position:sticky;top:120px;display:flex;flex-direction:column;gap:2.4rem;
  & h2{font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--brass-tx);margin-bottom:.8rem;font-weight:800}
  & ul{list-style:none;margin:0;padding:0;border-top:1px solid var(--ink)}
  & li a{display:flex;justify-content:space-between;padding:.8rem 0;border-bottom:1px solid var(--line);text-decoration:none;font-size:.95rem;font-weight:600;transition:padding .3s var(--ease),color .2s;
    &:hover,&[aria-current="page"]{padding-left:.5rem;color:var(--wine-2)}}
  & .navybox p{color:var(--muted);font-size:.95rem}
  & .navybox a{color:var(--wine-2);font-weight:700}}
@media (max-width:980px){.split{grid-template-columns:1fr}.aside{position:static}}
.prose{max-width:48rem;
  & > p:first-child{font-size:1.2rem;color:var(--deep)}
  & h2{font-size:1.6rem;margin:2.6rem 0 .8rem;letter-spacing:-.02em}
  & h3{font-size:1.15rem;margin:1.8rem 0 .5rem}
  & ul,& ol{padding-left:1.3rem}
  & li{margin-bottom:.45rem}
  & p,& li{color:#2f4a4d}
  & a{color:var(--wine-2);text-underline-offset:3px}}
.link{color:var(--wine-2);text-underline-offset:3px}
.note{border-top:1px solid var(--ink);border-bottom:1px solid var(--line);padding:1.3rem 0;margin-top:2.6rem;font-size:.97rem;color:#2f4a4d;
  & strong{color:var(--wine)}}
.contact-card{display:flex;gap:1.6rem;align-items:flex-start;border-top:1px solid var(--ink);padding-top:1.8rem;max-width:36rem;
  & .ic{flex:none;font-size:2rem;color:var(--wine-2)}
  & dl{margin:0}
  & dt{font-weight:800;font-size:.72rem;color:var(--brass-tx);text-transform:uppercase;letter-spacing:.14em}
  & dd{margin:.2rem 0 1.2rem;font-size:1.15rem;font-weight:600;color:var(--deep);&:last-child{margin:0}}}

.cards{border-top:1px solid var(--ink)}
.card{display:grid;grid-template-columns:3rem minmax(0,1fr) auto;gap:.2rem 1.4rem;align-items:center;padding:1.8rem 0;border-bottom:1px solid var(--line);text-decoration:none;transition:padding .35s var(--ease);
  &:hover{padding-left:.8rem}
  & .ic{grid-row:1/3;font-size:1.6rem;color:var(--wine-2)}
  & h2,& h3{font-size:1.3rem;grid-column:2}
  & p{grid-column:2;margin:0;color:var(--muted);font-size:.97rem}
  & .more{grid-column:3;grid-row:1/3;color:var(--wine-2);font-weight:700;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase}}

.site-footer{background:var(--deep);color:#a6c4c7;padding-block:72px 28px;font-size:.93rem;
  & .brand .bt strong{color:#fff}
  & .brand .bt small{color:#a6c4c7}
  & h2{font:800 .72rem var(--sans);text-transform:uppercase;letter-spacing:.16em;color:var(--brass);margin-bottom:1.1rem}
  & ul{list-style:none;margin:0;padding:0}
  & li{margin-bottom:.55rem}
  & a{text-decoration:none;&:hover{color:#fff;text-decoration:underline}}}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:3rem}
.foot-about{margin:1.4rem 0 .5rem;max-width:22rem}
.foot-note{margin-top:3rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.14);font-size:.82rem;display:flex;flex-direction:column;gap:.5rem}
@media (max-width:860px){.foot-grid{grid-template-columns:1fr 1fr}.foot-grid>:first-child{grid-column:1/-1}}
@media (max-width:480px){.foot-grid{grid-template-columns:1fr}}

@media (max-width:1100px){
  .site-header .wrap{gap:.8rem;min-height:76px}
  .js .nav-btn{display:inline-flex;align-items:center;background:none;border:1px solid var(--ink);color:var(--ink);padding:.7rem 1.1rem;font:700 .74rem var(--sans);letter-spacing:.12em;text-transform:uppercase;cursor:pointer}
  .js .site-nav{display:none;flex-basis:100%;padding:.2rem 0 1.2rem;
    &.is-open{display:block;animation:drop .25s var(--ease) both}
    & ul{flex-direction:column;align-items:stretch}
    & ul a{padding:.95rem .1rem;border-top:1px solid var(--line)}
    & ul a::after{display:none}}
  .js .has-sub>a::before{display:none}
  .js .has-sub>.sub{display:block;position:static;min-width:0;box-shadow:none;border:0;padding:0 0 .4rem 1rem;background:none;
    & a{padding:.6rem .1rem;border-top:0;color:var(--muted)}}
}
@media (max-width:520px){.brand .bt strong{font-size:1.1rem;letter-spacing:.16em}.brand img{height:40px}}
}

@layer motion{
.rv{opacity:1}
.js .rv{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s var(--ease)}
.js .rv.in{opacity:1;transform:none}
.js .d1{transition-delay:.1s}.js .d2{transition-delay:.2s}.js .d3{transition-delay:.3s}
@keyframes rise{from{opacity:0;transform:translateY(22px)}}
.rise{animation:rise .8s var(--ease) both}
.rise.d1{animation-delay:.12s}.rise.d2{animation-delay:.24s}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .js .rv{opacity:1;transform:none}
}
}

@layer components{.side h2{margin-bottom:1rem}.side p{color:var(--muted)}}

@layer components{
.topstrip{background:var(--deep);color:#bfd6d8;font-size:.8rem;
  & .wrap{display:flex;justify-content:space-between;align-items:center;min-height:38px;gap:1rem}
  & nav{display:flex;gap:1.5rem}
  & a{text-decoration:none;font-weight:600;&:hover{color:#fff;text-decoration:underline}}}
.site-header .wrap{min-height:80px}
.site-nav{gap:.4rem}
.auth{display:flex;gap:.5rem;margin-left:1rem;
  & .btn{padding:.8rem 1.25rem}
  & .btn-ghost{border-color:var(--wine);color:var(--wine);&:hover{background:var(--wine);color:#fff}}}
.btn-block{display:flex;width:100%;justify-content:center}

.hero{background:var(--deep);color:#fff;border-bottom:0;padding-block:clamp(44px,6vw,88px);
  &::before{content:"";position:absolute;inset:0;background-image:linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:96px 100%}
  & .wrap{grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:clamp(2rem,6vw,5rem);align-items:center}
  & h1{color:#fff;font-size:clamp(2.2rem,4.4vw,3.6rem);line-height:1.08;letter-spacing:-.035em}
  & h1 span{color:var(--brass)}
  & .lead{color:#bfd6d8;font-size:1.1rem}
  & .btn-primary{background:var(--brass);color:var(--deep);&:hover{background:#eba94a}}
  & .btn-ghost{border-color:rgba(255,255,255,.4);color:#fff;&:hover{background:#fff;color:var(--deep)}}}
.access{background:#fff;color:var(--ink);padding:1.8rem;display:grid;gap:.75rem;border-top:4px solid var(--brass);
  & h2{font-size:1.3rem;color:var(--deep);letter-spacing:-.02em}
  & p{margin:0 0 .4rem;color:var(--muted);font-size:.95rem}
  & .btn-primary{background:var(--wine);color:#fff;&:hover{background:var(--wine-2)}}
  & .btn-ghost{border-color:var(--wine);color:var(--wine);&:hover{background:var(--wine);color:#fff}}
  & small{color:var(--muted);font-size:.82rem;line-height:1.5;margin-top:.3rem}
  & small a{color:var(--wine-2)}}
@media (max-width:900px){.hero .wrap{grid-template-columns:1fr}}

.quick{background:#fff;border-bottom:1px solid var(--line);padding:0;
  & .wrap{display:grid;grid-template-columns:repeat(6,1fr)}
  & a{display:flex;flex-direction:column;align-items:center;gap:.7rem;padding:1.6rem .6rem;text-align:center;text-decoration:none;border-right:1px solid var(--line);font-size:.82rem;font-weight:700;color:var(--deep);line-height:1.3;transition:background-color .25s,color .25s;
    &:first-child{border-left:1px solid var(--line)}
    & .ico{font-size:1.9rem;color:var(--wine-2);transition:transform .35s var(--ease)}
    &:hover{background:var(--paper-2);color:var(--wine-2)}
    &:hover .ico{transform:translateY(-3px)}}}
@media (max-width:900px){.quick .wrap{grid-template-columns:repeat(3,1fr)}.quick a{border-bottom:1px solid var(--line)}.quick a:nth-child(3n){border-right:0}.quick a:first-child{border-left:0}}
@media (max-width:480px){.quick .wrap{grid-template-columns:repeat(2,1fr)}.quick a:nth-child(3n){border-right:1px solid var(--line)}.quick a:nth-child(2n){border-right:0}}

.tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.tile{background:#fff;border:1px solid var(--line);border-top:3px solid var(--wine);padding:1.7rem;display:flex;flex-direction:column;gap:.7rem;text-decoration:none;transition:transform .3s var(--ease),box-shadow .3s;
  &:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(7,40,45,.1)}
  & .ico{font-size:2rem;color:var(--wine-2)}
  & h3{font-size:1.15rem;letter-spacing:-.015em}
  & p{margin:0;color:var(--muted);font-size:.95rem;flex:1}
  & .go{font-size:.76rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--wine-2)}}
@media (max-width:1000px){.tiles{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.tiles{grid-template-columns:1fr}}
.sec-row{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;flex-wrap:wrap;margin-bottom:2rem;
  & h2{font-size:clamp(1.8rem,3.2vw,2.6rem)}}
.more-link{font-size:.78rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--wine-2);text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:2px}

.faq-lite{max-width:52rem}
.map-list{columns:2;column-gap:3rem;list-style:none;padding:0;margin:0;
  & li{break-inside:avoid;margin-bottom:.5rem}
  & ul{list-style:none;padding:0 0 0 1rem;margin:.4rem 0 1rem}
  & a{text-decoration:none;&:hover{color:var(--wine-2);text-decoration:underline}}
  & > li > a{font-weight:700;color:var(--deep)}}
@media (max-width:640px){.map-list{columns:1}}

.site-footer{
  & .foot-grid{grid-template-columns:1.5fr 1fr 1fr 1fr 1fr}
  & .links-row{margin-top:2.6rem;padding-top:1.6rem;border-top:1px solid rgba(255,255,255,.14);display:flex;flex-wrap:wrap;gap:.5rem 1.6rem;align-items:center;
    & strong{font:800 .72rem var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--brass)}
    & a{font-weight:600}}
  & .legal-text{margin-top:1.4rem;font-size:.8rem;line-height:1.7;color:#8fb0b3;max-width:70rem}}
@media (max-width:1000px){.site-footer .foot-grid{grid-template-columns:1fr 1fr 1fr}.site-footer .foot-grid>:first-child{grid-column:1/-1}}
@media (max-width:620px){.site-footer .foot-grid{grid-template-columns:1fr 1fr}}
@media (max-width:1100px){.js .auth{display:grid;grid-template-columns:1fr 1fr;margin:1rem 0 0}.topstrip nav{gap:1rem}}
@media (max-width:600px){.topstrip .mail{display:none}.topstrip .wrap{justify-content:center}}
}

@layer components{
.brand .bt strong{text-transform:none;letter-spacing:-.035em;font-size:1.9rem;font-weight:800;line-height:.95}
.brand .bt small{border-top:0;padding-top:0;margin-top:.3rem;letter-spacing:.16em}
.brand img{height:40px;width:auto}
.btn,.tile,.access,.card,.note-bar,.bar-note{border-radius:8px}
.hero{background:linear-gradient(180deg,#e6f0f0,#f2f6f6);color:var(--ink);border-bottom:1px solid var(--line);
  &::before{background-image:radial-gradient(rgba(11,79,88,.14) 1.5px,transparent 1.5px);background-size:26px 26px;animation:none;mask-image:linear-gradient(90deg,transparent 30%,#000)}
  & h1{color:var(--deep)}
  & h1 span{color:var(--wine-2)}
  & .lead{color:var(--muted);border-left-color:var(--brass)}
  & .btn-primary{background:var(--wine);color:#fff;&:hover{background:var(--wine-2)}}
  & .btn-ghost{border-color:var(--deep);color:var(--deep);&:hover{background:var(--deep);color:#fff}}}
.access{border:1px solid var(--line);border-top:4px solid var(--brass);box-shadow:0 24px 50px rgba(7,40,45,.1)}
.topstrip{background:var(--deep)}
.page-head::after{background:var(--brass)}
.statement::after{background:linear-gradient(135deg,rgba(15,111,123,.35) 50%,rgba(224,146,47,.25) 50%);clip-path:polygon(0 0,100% 0,60% 100%,40% 100%)}
.cta{background:var(--wine)}
.cta .btn-primary{background:#fff;color:var(--deep)}
.site-footer .brand .bt strong{color:#fff}
}
