.photo-tile{--tile-bg:#0d243d;--tile-ink:#edf6ff;--image-bg:#07182b;--tile-accent:#8cc8f0;background:var(--tile-bg);color:var(--tile-ink);padding:20px;border:1px solid #285578;box-shadow:0 10px 22px #0003;transition:transform .2s,border-color .2s,box-shadow .2s}
.photo-tile:hover{border-color:#80c4ff;box-shadow:0 12px 28px #0005,0 0 20px #1673ff20}
.photo-tile[aria-pressed=true]{outline:1px solid #8cc8f0;outline-offset:3px;box-shadow:0 0 0 1px #1673ff33}
.photo-tile:focus-visible{outline:3px solid #ff4b55;outline-offset:4px}
.photo-tile .card-top{font-size:9px;letter-spacing:.07em;color:#a1d5fa}
.photo-tile .card-top>span:first-child{border-left:2px solid #ff4b55;padding-left:8px}
.photo-tile .card-arrow{color:var(--tile-accent)}
.tile-media{position:relative;display:flex;align-items:center;justify-content:center;width:calc(100% + 40px);height:210px;margin:17px -20px 21px;overflow:hidden;background:var(--image-bg);border-block:1px solid #21405e}
.tile-media>img{width:100%;height:100%;object-fit:contain}
.product-media>img{padding:10px;filter:drop-shadow(0 8px 7px #0006)}
.card-fan>img{position:absolute;width:auto;max-width:75%;border-radius:5px;filter:drop-shadow(0 7px 6px #0003);object-fit:contain}
.card-fan>.back-card{height:84%;left:50%;top:9%;transform:translateX(-85%) rotate(-10deg)}
.card-fan>.front-card{height:92%;left:50%;top:4%;transform:translateX(-22%) rotate(7deg)}
.bike-media>img{object-fit:cover;object-position:50% 55%}
.vehicle-media>img{object-fit:cover;object-position:center}
.tile-motorcycle .vehicle-media>img{object-fit:contain}
.icon-media>.hobby-art{height:145px;width:80%;margin:0;color:var(--tile-accent)}
.photo-tile .card-title{font-size:36px;min-height:2em;line-height:1}
.photo-tile .card-description{font-size:11px;line-height:1.65;min-height:3.3em;margin-top:12px;color:#b8cde1}
.photo-tile .card-label{font-size:9px;letter-spacing:.04em;border-color:#2a4c6c;margin-top:17px;color:#a1d5fa}
.photo-tile .card-label>span{color:#ff6067}
.tile-firearms .hobby-art{color:#ff6067}
.image-credits{font-size:10px;color:#93afca;margin-top:19px;line-height:1.8}
.image-credits summary{cursor:pointer;width:fit-content;text-decoration:underline;text-underline-offset:4px}
.image-credits p{margin:12px 0 0;max-width:850px}
.image-credits a{text-decoration:underline;text-underline-offset:3px}
.skip-link:not(:focus){clip-path:inset(50%);width:1px;height:1px;overflow:hidden;white-space:nowrap;padding:0}
.header.banner-header{display:block;position:relative;width:100%;max-width:none;height:auto;min-height:0;margin:0;padding:0;background:#030a11;border:0;overflow:visible}
.header-banner-image{display:block;width:100%;height:auto;aspect-ratio:2034/773;object-fit:contain}
.header-controls{position:absolute;top:18px;right:30px;display:flex;align-items:center;gap:24px;padding:8px 10px 8px 22px;background:#07182be8;border:1px solid #9ec8eb40;backdrop-filter:blur(7px)}
.banner-header .desktop-nav{gap:24px;font-size:12px}
.banner-header .header-cta{border-color:#7f9bb8;padding:12px 16px}
.banner-header .header-cta span{margin-left:20px}
.banner-header .menu-toggle{background:#07182be8;border-color:#8ab9df;width:42px;height:42px}
@media(max-width:800px){.header-controls{top:12px;right:18px;padding:6px 16px}.banner-header .desktop-nav{gap:22px;font-size:11px}}
@media(max-width:600px){.header-controls{top:12px;right:12px;padding:0;border:0;background:none;backdrop-filter:none}.banner-header #mobile-nav:not([hidden]){position:absolute;top:52px;right:0;left:auto;width:min(260px,calc(100vw - 24px));padding:10px 20px 18px;border:1px solid #6687a7;background:#102741;box-shadow:0 12px 28px #0006;z-index:30}}
.hobbies{padding:48px 0 60px;background:#061321;color:#edf6ff;border-bottom:1px solid #1d3d5b}
.hobbies .section-heading{margin-bottom:30px;align-items:center}
.hobbies .section-heading h1{font-size:clamp(44px,4.8vw,64px);line-height:1.02;letter-spacing:-.015em;color:#edf6ff;margin:0}
.hobbies .section-heading h1 em{font-style:normal;color:#8cc8f0}
.hobbies .section-heading>p{font-size:13px;line-height:1.8;margin:0;max-width:330px;color:#b0c8df}
.hobbies .hobby-detail{border-color:#28445e}
.hobbies .detail-kicker{color:#8cc8f0}
.hobbies .hobby-detail h3{color:#edf6ff}
.hobbies .hobby-detail p{color:#b8cde1}
.hobbies .hobby-detail .detail-note{color:#93afca}
@media(max-width:800px){.hobbies{padding:38px 0 46px}.hobbies .section-heading{gap:25px}.hobbies .section-heading>p{font-size:12px}}
@media(max-width:600px){.hobbies{padding:34px 0 38px}.hobbies .section-heading{margin-bottom:26px}.hobbies .section-heading h1{font-size:46px;max-width:330px}.hobbies .section-heading>p{font-size:12px;margin-top:15px}}
@media(min-width:801px){.hobby-grid-seven{grid-template-columns:repeat(8,minmax(0,1fr))}.hobby-grid-seven>.hobby-card{grid-column:span 2}.hobby-grid-seven>.hobby-card:nth-child(5){grid-column:2/span 2}}
@media(max-width:800px){.hobby-grid-seven{grid-template-columns:repeat(4,minmax(0,1fr))}.hobby-grid-seven>.hobby-card{grid-column:span 2}.hobby-grid-seven>.hobby-card:last-child{grid-column:2/span 2}}
@media(min-width:1600px){.tile-media{height:240px}.photo-tile .card-title{font-size:42px}.photo-tile .card-description{font-size:12px}.photo-tile .card-top,.photo-tile .card-label{font-size:10px}}
@media(max-width:1100px) and (min-width:801px){.photo-tile{padding:16px}.tile-media{width:calc(100% + 32px);margin-inline:-16px;height:180px}.photo-tile .card-title{font-size:32px}.photo-tile .card-description{font-size:10px}.photo-tile .card-top,.photo-tile .card-label{font-size:8px}}
@media(max-width:800px){.tile-media{height:220px}.photo-tile .card-title{font-size:38px}}
@media(max-width:600px){.photo-tile{padding:15px}.tile-media{width:calc(100% + 30px);height:165px;margin:15px -15px 18px}.photo-tile .card-top{font-size:8px;letter-spacing:.02em}.photo-tile .card-title{font-size:30px;min-height:2em}.photo-tile .card-description{font-size:10px;min-height:4.9em;margin-top:11px}.photo-tile .card-label{font-size:8px;letter-spacing:0}.icon-media>.hobby-art{height:115px}.card-fan>.back-card{transform:translateX(-85%) rotate(-8deg)}.card-fan>.front-card{transform:translateX(-22%) rotate(6deg)}}
@media(max-width:360px){.photo-tile .card-title{font-size:27px}.tile-media{height:150px}.photo-tile .card-top{font-size:7px}.photo-tile .card-label{font-size:7px}}
