/* Rory Jakeman — site styles (Guards blue · red · blue) */
@font-face{font-family:'Anton';src:url(/assets/fonts/anton.woff) format('woff');font-weight:400;font-display:swap}
@font-face{font-family:'Manrope';src:url(/assets/fonts/manrope.woff) format('woff');font-weight:200 800;font-display:swap}
@font-face{font-family:'JetBrains Mono';src:url(/assets/fonts/jetbrains-mono.woff) format('woff');font-weight:100 800;font-display:swap}
:root{--accent:#C8102E;--accent-hi:#FF5C68;--brb:#23397E;--ground:#0A1430;--panel:#12204A;--line:#24356A;--text:#F4F6FB;--muted:#A9B4D0}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#0A1430;color:#F4F6FB;font-family:'Manrope',sans-serif;-webkit-font-smoothing:antialiased}
img,video{max-width:100%}
img{height:auto}
a{color:#FF5C68}a:hover{color:#FF8A93}
:focus-visible{outline:2px solid #FF5C68;outline-offset:3px}
.skip{position:absolute;left:-9999px;top:0;background:#C8102E;color:#fff;padding:12px 18px;z-index:10;font-weight:800}
.skip:focus{left:12px;top:12px}
.wrap{max-width:1240px;margin:0 auto;padding:0 40px}
.mono{font-family:'JetBrains Mono',monospace;letter-spacing:.14em;text-transform:uppercase;font-size:13px;font-weight:600}
.display{font-family:'Anton',sans-serif;text-transform:uppercase;line-height:.95;letter-spacing:.005em;margin:0;font-weight:400}
.d-xl{font-size:clamp(64px,9vw,140px)}
.d-l{font-size:clamp(46px,6vw,92px)}
.d-m{font-size:clamp(30px,3.4vw,46px)}
.p-home .d-xl{font-size:clamp(68px,10vw,156px)}
.p-home .d-m{font-size:clamp(30px,3.6vw,52px)}
.p-events .d-xl{font-size:clamp(54px,6.4vw,100px)}
.p-events .d-l{font-size:clamp(40px,5vw,72px)}
.p-about .d-xl{font-size:clamp(64px,8.6vw,132px)}
.lead{font-size:20px;line-height:1.6;color:#D6DCEB;margin:0}
.p-about .lead{font-size:21px;color:#F4F6FB;font-weight:500}
.body{font-size:17px;line-height:1.65;color:#A9B4D0;margin:0}
.p-about .body{line-height:1.7}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 28px;border-radius:999px;font-weight:800;font-size:16px;text-decoration:none;font-family:'Manrope',sans-serif;border:none;cursor:pointer}
.btn-amber{background:var(--accent);color:#FFFFFF}.btn-amber:hover{background:#E0233F;color:#FFFFFF}
.btn-ghost{border:1.5px solid #F4F6FB;color:#F4F6FB}.btn-ghost:hover{background:#F4F6FB;color:#0A1430}
.btn-lg{min-height:56px;padding:0 32px;font-size:17px}

/* Stripe, header, footer */
.brb{display:flex;flex-direction:column}.brb i{display:block;height:6px;background:var(--brb)}.brb i:nth-child(2){background:var(--accent)}
.site-head{border-bottom:1px solid #1C2A55}
.site-head .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;padding-top:18px;padding-bottom:18px}
.logo{font-family:'Anton',sans-serif;font-size:28px;letter-spacing:.04em;color:#F4F6FB;text-decoration:none}.logo:hover{color:#F4F6FB}
.mainnav{display:flex;flex-wrap:wrap;align-items:center;gap:22px}
.navlink{color:#F4F6FB;text-decoration:none;font-weight:700;font-size:15px;padding:12px 4px}.navlink:hover{color:var(--accent-hi)}
.navon{color:var(--accent-hi);box-shadow:inset 0 -2px 0 var(--accent)}
.navbtn{min-height:46px;padding:0 22px;font-size:15px}
.foot{padding:64px 0 48px}
.foot a{color:#D6DCEB;text-decoration:none;font-weight:600}.foot a:hover{color:var(--accent-hi)}

/* Layout */
.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.grid4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.p-about .grid4{gap:0}
.hero{display:grid;grid-template-columns:7fr 5fr;gap:56px;align-items:center}
.split{display:grid;grid-template-columns:5fr 7fr;gap:64px;align-items:start}
.p-contact .split{grid-template-columns:7fr 5fr;gap:48px}
.row2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.card{background:#12204A;border:1px solid #24356A;border-radius:20px;padding:32px}
.p-contact .card{padding:36px}
.vcard{display:flex;flex-direction:column;gap:12px;text-decoration:none;color:#F4F6FB}
.vcard:hover{border-color:var(--accent);color:#F4F6FB}
.bw{filter:grayscale(1) contrast(1.08);transition:filter .45s ease}
.vcard:hover .bw,.vcard:focus-visible .bw{filter:grayscale(0) contrast(1)}
.linkcard{display:flex;flex-direction:column;gap:14px;text-decoration:none;color:#F4F6FB;min-height:200px;justify-content:space-between}
.linkcard:hover{border-color:var(--accent);color:#F4F6FB}
.cta{background:var(--accent);color:#FFFFFF;border-top:10px solid var(--brb);border-bottom:10px solid var(--brb)}
.cta a.btn-dark{background:#0A1430;color:#F4F6FB}.cta a.btn-dark:hover{background:#13224F}
.cta a.btn-line{border:1.5px solid #FFFFFF;color:#FFFFFF}.cta a.btn-line:hover{background:#FFFFFF;color:#C8102E}

/* Audio reels */
.wave{display:flex;align-items:center;gap:3px;height:60px}
.wave-lg{height:72px}
.bar{flex:1 1 0;background:#33467F;border-radius:2px}
.bar-on{background:var(--accent)}
.play{width:64px;height:64px;border-radius:999px;border:none;background:var(--accent);color:#FFFFFF;display:flex;align-items:center;justify-content:center;cursor:pointer;flex:0 0 auto}
.play:hover{background:#E0233F}
.play .i-pause{display:none}.play.is-playing .i-pause{display:block}.play.is-playing .i-play{display:none}
.reel{display:grid;grid-template-columns:72px minmax(0,1.2fr) minmax(0,2fr) 64px;gap:28px;align-items:center;padding:28px 0;border-top:1px solid #24356A}
.srplay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;background:rgba(10,20,48,.35);border:none;cursor:pointer;padding:0;width:100%;height:100%}
.srplay[hidden]{display:none}
.srcircle{width:112px;height:112px;border-radius:999px;background:var(--accent);color:#FFFFFF;display:flex;align-items:center;justify-content:center;padding-left:6px;box-shadow:0 0 0 10px rgba(200,16,46,.25);transition:transform .15s}
.srplay:hover .srcircle{transform:scale(1.06)}
.vid{position:relative;aspect-ratio:16/9;background:#060C1E;border:1px solid #24356A;border-radius:16px;overflow:hidden;display:flex;align-items:center;justify-content:center}

/* Content blocks */
.stat{display:flex;flex-direction:column;gap:8px;border-top:2px solid var(--accent);padding-top:20px}
.stat b{font-family:'Anton',sans-serif;font-weight:400;font-size:clamp(48px,5vw,72px);line-height:1;color:#F4F6FB}
.tag{border:1px solid #24356A;border-radius:999px;padding:10px 18px;font-weight:700;font-size:15px;color:#D6DCEB;white-space:nowrap}
.logos{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 10px}
.lg{width:188px;height:116px;display:flex;align-items:center;justify-content:center;padding:14px 18px}
.p-home .lg{width:calc((100% - 50px) / 6)}
.lg img{max-width:100%;max-height:52px;object-fit:contain;opacity:.9}
.lg img.tall{max-height:78px}
.lg img.photo{max-height:84px;border-radius:8px;opacity:1}
.spec{display:grid;grid-template-columns:180px minmax(0,1fr);gap:16px;padding:18px 0;border-top:1px solid #24356A;font-size:17px}
.spec .mono{color:#A9B4D0;font-size:12px;padding-top:4px}
.step{display:flex;flex-direction:column;gap:14px;border-top:2px solid var(--accent);padding-top:24px}
details{border-top:1px solid #24356A;padding:6px 0}
summary{cursor:pointer;font-weight:800;font-size:20px;padding:20px 0;list-style:none;display:flex;justify-content:space-between;gap:16px}
summary::-webkit-details-marker{display:none}
summary:after{content:'+';color:var(--accent-hi);font-family:'JetBrains Mono',monospace;font-size:24px}
details[open] summary:after{content:'–'}
.cr{margin:0;padding:0;list-style:none;display:flex;flex-direction:column}
.cr li{display:flex;justify-content:space-between;gap:16px;padding:13px 0;border-top:1px solid #24356A;font-size:16px;color:#F4F6FB;font-weight:600}
.cr li span{color:#A9B4D0;font-weight:500;text-align:right}
.milgrid{display:grid;grid-template-columns:5fr 7fr;background:#12204A;border:1px solid #24356A;border-top:3px solid var(--accent);border-radius:24px;overflow:hidden}
.credrow{display:grid;grid-template-columns:7fr 5fr;gap:40px;align-items:stretch}
.fact{display:flex;flex-direction:column;gap:10px;padding:28px 24px 28px 0;border-top:1px solid #24356A}

/* Contact form */
.field{display:flex;flex-direction:column;gap:10px}
.field label,.legend{font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:#D6DCEB}
.input{background:#0A1430;border:1.5px solid #33467F;border-radius:12px;min-height:54px;padding:14px 16px;color:#F4F6FB;font-size:17px;font-family:'Manrope',sans-serif;width:100%}
.input:focus{outline:none;border-color:var(--accent)}
.input::placeholder{color:#8E9AB8}
.chip{display:flex;align-items:center;gap:10px;border:1.5px solid #33467F;border-radius:999px;min-height:48px;padding:0 18px;font-weight:700;font-size:15px;cursor:pointer;color:#F4F6FB}
.chip:has(input:checked){border-color:var(--accent);background:rgba(200,16,46,.14)}
.chip input{accent-color:#C8102E;width:18px;height:18px;margin:0}
.info{display:flex;flex-direction:column;gap:8px;padding:22px 0;border-top:1px solid #24356A}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

@media (max-width:900px){
.wrap{padding:0 22px}
.hero,.grid2,.grid3,.split,.p-contact .split,.row2,.credrow,.milgrid{grid-template-columns:minmax(0,1fr)}
.grid4{grid-template-columns:repeat(2,minmax(0,1fr))}
.p-vo .grid4{grid-template-columns:minmax(0,1fr)}
.card,.p-contact .card{padding:26px}
.p-home .lead{font-size:18px}
.lg,.p-home .lg{width:46%;height:96px}
.reel{grid-template-columns:minmax(0,1fr) 64px;gap:16px}
.reel .wave,.reel .num{display:none}
.spec{grid-template-columns:minmax(0,1fr);gap:4px}
.srcircle{width:76px;height:76px;box-shadow:0 0 0 7px rgba(200,16,46,.25)}.srcircle svg{width:30px;height:30px}
.milgrid .milimg{min-height:0 !important;height:440px !important}.milgrid > div:last-child{padding:28px 24px !important}
.mainnav{gap:6px 16px}
.strip{flex-wrap:wrap !important;justify-content:center !important;gap:4px 10px !important;font-size:17px !important;white-space:normal !important}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.bw,.srcircle{transition:none}}
