/* Ace Training. Tokens from the Ace Training Design System (Loud mode). */
@font-face{font-family:"Cormorant Unicase";src:url("../fonts/CormorantUnicase-Bold.ttf") format("truetype");font-weight:700;font-display:swap}
@font-face{font-family:"Barlow Condensed";src:url("../fonts/BarlowCondensed-ExtraBold.ttf") format("truetype");font-weight:800;font-display:swap}
@font-face{font-family:"Barlow Condensed";src:url("../fonts/BarlowCondensed-Black.ttf") format("truetype");font-weight:900;font-display:swap}
@font-face{font-family:"Barlow";src:url("../fonts/Barlow-Regular.ttf") format("truetype");font-weight:400;font-display:swap}
@font-face{font-family:"Barlow";src:url("../fonts/Barlow-Medium.ttf") format("truetype");font-weight:500;font-display:swap}
@font-face{font-family:"Barlow";src:url("../fonts/Barlow-SemiBold.ttf") format("truetype");font-weight:600;font-display:swap}
:root{--black:#111110;--lime:#C8FF2E;--offwhite:#EDE8DC;--tape:#2A2A28;
--bg:var(--black);--bg-surface:var(--tape);--fg:var(--offwhite);--fg-muted:rgba(237,232,220,.72);--accent:var(--lime);--rule:var(--offwhite);--link:var(--lime);--link-hover:var(--offwhite);--focus-ring:var(--lime);
--font-headline:"Barlow Condensed","Arial Narrow",sans-serif;--font-body:"Barlow","Helvetica Neue",Arial,sans-serif;--font-stamp:"Cormorant Unicase",Georgia,serif;
--gutter:20px;--header-h:56px;--bar-h:44px;--max:1120px;color-scheme:dark}
@media (min-width:768px){:root{--gutter:48px;--bar-h:0px}}
@media (min-width:1024px){:root{--header-h:72px}}
@media (min-width:1600px){:root{--max:1280px}}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--header-h) + 16px)}
body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--font-body);font-size:17px;line-height:1.5;-webkit-font-smoothing:antialiased;min-height:100vh;display:flex;flex-direction:column;padding-bottom:var(--bar-h)}
main{flex:1}
h1,h2,h3,p,ul,ol,figure,address{margin:0}
ul,ol{padding:0;list-style:none}
address{font-style:normal}
img{max-width:100%;height:auto;display:block}
a{color:var(--link);text-decoration:underline;text-underline-offset:3px}
a:hover{color:var(--link-hover)}
a:active,button:active,summary:active{transform:translate(1px,1px)}
:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}
button{font:inherit}
.skip{position:absolute;left:-9999px;top:0;z-index:100;background:var(--offwhite);color:var(--black);padding:12px 16px}
.skip:focus{left:8px;top:8px}
section,.cq{container-type:inline-size}
.wrap{max-width:var(--max);margin:0 auto;padding-inline:var(--gutter)}
.pad{padding-block:clamp(44px,9vw,80px)}
.rule-top{border-top:1px solid var(--rule)}
.stack{display:flex;flex-direction:column;gap:24px}
.stack-16{display:flex;flex-direction:column;gap:16px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:32px var(--gutter);align-items:start}
.grid-hero{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,440px),1fr));gap:32px var(--gutter);align-items:center}
.eyebrow{font-family:var(--font-stamp);font-weight:700;font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);line-height:1.4}
.label{font-family:var(--font-stamp);font-weight:700;font-size:13px;letter-spacing:.16em;text-transform:uppercase;line-height:1.4}
.muted{color:var(--fg-muted)}
.h1,.h2,.h3,.kept{font-family:var(--font-headline);font-weight:800;letter-spacing:-.015em;line-height:1.02;text-wrap:balance;font-kerning:normal}
.h1{font-size:clamp(36px,9vw,76px)}
.h1-sm{font-size:clamp(30px,8vw,64px)}
.h2{font-size:clamp(28px,10cqi,44px)}
.h2-lg{font-size:clamp(30px,12cqi,60px)}
.h3{font-size:clamp(22px,7cqi,32px)}
.kept{font-size:clamp(36px,10vw,96px);max-width:18ch}
.lead{font-size:clamp(18px,4.6vw,20px);line-height:1.45;max-width:48ch;text-wrap:pretty}
.body{max-width:62ch;text-wrap:pretty}
.narrow{max-width:40ch}
.arrow{font-family:var(--font-headline);font-weight:200;letter-spacing:.06em;font-size:20px;line-height:1;text-underline-offset:5px;text-decoration-thickness:1px;align-self:flex-start}
.btn{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:56px;padding:8px 24px;border:2px solid var(--offwhite);border-radius:0;font-family:var(--font-headline);font-weight:200;font-size:20px;letter-spacing:.05em;line-height:1.1;text-align:center;text-decoration:none;cursor:pointer;transition:none}
.btn-primary{background:var(--offwhite);color:var(--black);border-color:var(--offwhite)}
.btn-primary:hover{background:var(--lime);border-color:var(--lime);color:var(--black)}
.btn-outline{background:transparent;color:var(--offwhite)}
.btn-outline:hover{background:var(--offwhite);color:var(--black)}
.btn-sm{width:auto;min-height:44px;padding:0 16px;font-family:var(--font-stamp);font-weight:700;font-size:13px;letter-spacing:.16em;text-transform:uppercase}
.btn-row{display:flex;flex-wrap:wrap;gap:12px;max-width:560px}
.btn-row>*{flex:1 1 280px;min-width:0}.btn-row>.btn-outline{flex-basis:160px}
.btn-box{width:100%;max-width:420px}
.card{background:var(--bg-surface);border:1px solid var(--rule);padding:clamp(20px,5vw,32px)}
.card-line{border:1px solid var(--rule);padding:clamp(20px,5vw,32px)}
.door{display:flex;flex-direction:column;gap:16px;min-height:260px}.door .arrow{margin-top:auto}
.photo{border:1px solid var(--rule);padding:12px;background:var(--bg-surface)}
.photo>div{position:relative;overflow:hidden}
.photo img{width:100%;height:100%;object-fit:cover}
.photo>div::after{content:"";position:absolute;inset:0;background:radial-gradient(circle,rgba(17,17,16,.35) 1px,transparent 1.4px);background-size:4px 4px;mix-blend-mode:overlay;pointer-events:none}
.map{position:relative;background:var(--bg-surface);border:1px solid var(--rule);aspect-ratio:4/3;overflow:hidden}
.map iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:grayscale(1) contrast(1.05)}
.rows li{border-top:1px solid var(--rule);padding:16px 0;display:flex;justify-content:space-between;align-items:baseline;gap:8px 16px;flex-wrap:wrap}
.rows li:last-child{border-bottom:1px solid var(--rule)}
.rows .name{font-family:var(--font-headline);font-weight:700;font-size:28px;line-height:1}
.contact-list li{border-top:1px solid var(--rule);padding:12px 0;display:flex;justify-content:space-between;align-items:center;gap:4px 16px;flex-wrap:wrap}
.contact-list a{overflow-wrap:anywhere}
.quotes{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:24px var(--gutter);align-items:start}
.quotes blockquote{margin:0;background:var(--bg-surface);border:1px solid var(--rule);padding:clamp(20px,5vw,28px);font-size:clamp(18px,4.6vw,20px);line-height:1.45;text-wrap:pretty}
.acc{border-bottom:1px solid var(--rule);max-width:62ch}
.acc-full{max-width:none}
.acc details{border-top:1px solid var(--rule)}
.acc summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 0;min-height:56px;cursor:pointer;font-family:var(--font-headline);font-weight:200;letter-spacing:.05em;line-height:1.05;font-size:clamp(22px,6cqi,28px)}
.acc summary::-webkit-details-marker{display:none}
.acc summary::after{content:"+";font-weight:800;font-size:30px;line-height:1;flex:none}
.acc details[open] summary::after{content:"\2212"}
.acc summary:hover{color:var(--link)}
.acc .panel{display:flex;flex-direction:column;gap:16px;padding:0 0 24px;max-width:56ch}
.packages{background:var(--bg-surface);border:1px solid var(--rule);overflow:hidden}
.packages .cols{display:grid;grid-template-columns:1fr}
.packages .col{padding:clamp(24px,5vw,32px);display:flex;flex-direction:column;gap:16px;container-type:inline-size}
.packages .col+.col{border-top:1px solid var(--rule)}
@media (min-width:768px){.packages .cols{grid-template-columns:repeat(3,1fr)}.packages .col+.col{border-top:0;border-left:1px solid var(--rule)}}
.packages .foot{border-top:1px solid var(--rule);padding:clamp(24px,5vw,32px);display:flex;flex-wrap:wrap;gap:16px 32px;align-items:center;justify-content:space-between}
.packages .foot>div{flex:0 1 420px;min-width:min(100%,280px)}
.weights{display:flex;flex-wrap:wrap;align-items:baseline;gap:12px;font-family:var(--font-headline);font-weight:700;font-size:40px;line-height:1}
.weights span:nth-child(2){font-weight:200}
.site-header{position:sticky;top:0;z-index:40;background:var(--black);border-top:3px solid var(--lime)}
.site-header .wrap{height:var(--header-h);display:flex;align-items:center;justify-content:space-between;gap:16px}
.brand{display:flex;align-items:center;gap:14px;text-decoration:none;color:var(--fg)}
.brand img{width:40px;height:40px}
.brand span{display:none;font-family:var(--font-stamp);font-weight:700;font-size:15px;letter-spacing:.22em;text-transform:uppercase;line-height:1}
.nav{display:none;gap:32px;align-items:center;margin-left:auto;margin-right:16px}
.nav a{font-family:var(--font-stamp);font-weight:700;font-size:14px;letter-spacing:.16em;text-transform:uppercase;line-height:1;color:var(--offwhite);text-decoration:none;padding:8px 0 6px;white-space:nowrap;border-bottom:2px solid transparent}
.nav a:hover{color:var(--lime)}.nav a[aria-current="page"]{border-bottom-color:var(--lime)}
.head-actions{display:flex;align-items:center;gap:8px}
.burger{width:44px;height:44px;display:flex;flex-direction:column;justify-content:center;gap:8px;background:none;border:0;padding:10px;cursor:pointer;margin-right:-10px}
.burger span{display:block;height:2px;background:var(--offwhite)}
@media (min-width:768px){.brand span{display:inline}}
@media (min-width:1024px){.nav{display:flex}.burger{display:none}}
.menu{position:fixed;inset:0;z-index:60;background:var(--bg);display:flex;flex-direction:column;padding:0 var(--gutter) 24px;overflow:auto;container-type:inline-size}
.menu[hidden]{display:none}
.menu-top{min-height:56px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--rule)}
.menu-top img{width:40px;height:40px}
.menu-close{background:none;border:0;color:var(--fg);cursor:pointer;height:44px;padding:0 4px;font-family:var(--font-stamp);font-weight:700;font-size:13px;letter-spacing:.16em;text-transform:uppercase}
.menu nav{display:flex;flex-direction:column;flex:1;justify-content:center;gap:8px;padding:32px 0}
.menu nav a{font-family:var(--font-headline);font-weight:200;letter-spacing:.05em;line-height:1.02;font-size:clamp(28px,10cqi,44px);color:var(--fg);text-decoration:none;padding:12px 0;border-bottom:1px solid var(--rule)}
.menu nav a:hover{color:var(--link)}
body.menu-open{overflow:hidden}
.site-footer{background:var(--black)}
.site-footer .top{padding-block:48px 32px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:40px var(--gutter);align-items:start}
.site-footer .logo{display:block;width:clamp(112px,30vw,160px)}
.site-footer ul{display:flex;flex-direction:column;gap:10px}
.site-footer .bottom{border-top:1px solid var(--rule);padding-block:24px 32px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:13px;letter-spacing:.02em;color:var(--fg-muted)}
.bar{position:fixed;left:0;right:0;bottom:0;z-index:45}
.bar .btn{min-height:44px;height:44px;font-size:17px;border:0}
body.menu-open .bar{display:none}
@media (min-width:768px){.bar{display:none}}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
@media print{.site-header,.bar,