@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700&family=DM+Sans:opsz,wght@9..40,300;9..40,400;9..40,500&display=swap');
:root{--ink:#0b0b0b;--bone:#eeeae2;--red:#c51b21;--line:rgba(238,234,226,.18);--muted:#aaa69e}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ink);color:var(--bone);font-family:'DM Sans',sans-serif;font-weight:300}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.shell{width:min(1180px,calc(100% - 40px));margin:auto}.site-head{height:94px;display:flex;align-items:center;border-bottom:1px solid var(--line);position:relative;z-index:5}.head-inner{display:flex;align-items:center;justify-content:space-between}.brand img{width:230px}.nav{display:flex;gap:34px;align-items:center}.nav a{font-size:.76rem;letter-spacing:.15em;text-transform:uppercase}.nav a:hover,.eyebrow,.accent{color:var(--red)}.menu{display:none;background:0;border:0;color:var(--bone);font:inherit}.hero{min-height:690px;display:grid;align-items:end;padding:90px 0 70px;position:relative;overflow:hidden}.hero:after{content:'B';position:absolute;right:-1vw;top:-150px;font:700 750px/.9 'Barlow Condensed';color:#111;z-index:-1}.eyebrow{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;margin:0 0 24px;font-weight:500}h1,h2,h3{font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;margin:0;line-height:.88}h1{font-size:clamp(5rem,12vw,10.2rem);max-width:960px;letter-spacing:-.035em}h2{font-size:clamp(3.4rem,7vw,6.4rem);letter-spacing:-.025em}.lead{font-size:clamp(1.05rem,2vw,1.35rem);line-height:1.55;max-width:680px;color:#d1cdc5;margin:32px 0}.actions{display:flex;gap:12px;flex-wrap:wrap}.button{border:1px solid var(--bone);padding:15px 20px;font-size:.72rem;letter-spacing:.15em;text-transform:uppercase;font-weight:500}.button.solid{background:var(--bone);color:var(--ink)}.button:hover{background:var(--red);border-color:var(--red);color:white}.section{padding:120px 0;border-top:1px solid var(--line)}.split{display:grid;grid-template-columns:.8fr 1.2fr;gap:12vw}.copy{max-width:610px;font-size:1.05rem;line-height:1.75;color:#c8c4bc}.grid3,.grid4{display:grid;gap:1px;background:var(--line);border:1px solid var(--line);margin-top:58px}.grid3{grid-template-columns:repeat(3,1fr)}.grid4{grid-template-columns:repeat(2,1fr)}.card{background:var(--ink);padding:36px;min-height:250px;display:flex;flex-direction:column;justify-content:space-between}.card h3{font-size:2.2rem}.num{color:var(--red);font:600 .7rem 'DM Sans';letter-spacing:.15em}.card p{color:var(--muted);line-height:1.55;margin:26px 0 0}.statement{background:var(--bone);color:var(--ink)}.statement .copy{color:#353331}.marquee{overflow:hidden;border-block:1px solid var(--line);padding:18px 0;font:600 1rem 'Barlow Condensed';letter-spacing:.2em;white-space:nowrap;color:var(--muted)}.journal-row{display:grid;grid-template-columns:100px 1fr auto;gap:24px;align-items:center;padding:25px 0;border-top:1px solid var(--line)}.journal-row h3{font-size:clamp(1.7rem,4vw,3rem)}.meta{font-size:.68rem;letter-spacing:.15em;text-transform:uppercase;color:var(--muted)}.page-hero{padding:100px 0 80px}.page-hero h1{font-size:clamp(4.6rem,10vw,8.5rem)}.team-card{display:grid;grid-template-columns:1fr 1.5fr;border-top:1px solid var(--line);padding:60px 0;gap:8vw}.portrait{min-height:420px;background:#111;display:grid;place-items:center;position:relative;overflow:hidden}.portrait strong{font:700 13rem 'Barlow Condensed';color:#181818}.portrait span{position:absolute;bottom:24px;left:24px;font-size:.65rem;letter-spacing:.15em;text-transform:uppercase;color:var(--muted)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line)}.contact-item{background:var(--ink);padding:38px}.contact-item small{display:block;color:var(--red);letter-spacing:.16em;text-transform:uppercase;margin-bottom:16px}.contact-item a,.contact-item p{font:500 1.8rem 'Barlow Condensed';text-transform:uppercase;margin:0}.article{max-width:760px}.article p{font-size:1.1rem;line-height:1.85;color:#cfcbc3}.article h2{font-size:3rem;margin:60px 0 20px}.footer{padding:70px 0 32px;border-top:1px solid var(--line)}.footer-top{display:flex;justify-content:space-between;gap:40px;align-items:flex-start}.footer img{width:210px}.footer p{color:var(--muted);line-height:1.6}.footer-bottom{margin-top:70px;padding-top:20px;border-top:1px solid var(--line);display:flex;justify-content:space-between;color:#77736e;font-size:.65rem;letter-spacing:.13em;text-transform:uppercase}@media(max-width:760px){.site-head{height:78px}.brand img{width:180px}.menu{display:block}.nav{display:none;position:absolute;top:77px;left:0;right:0;background:var(--ink);padding:28px 20px;flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--line)}.nav.open{display:flex}.hero{min-height:630px;padding:70px 0}.hero:after{font-size:520px;right:-100px}.split,.team-card,.contact-grid{grid-template-columns:1fr}.grid3,.grid4{grid-template-columns:1fr}.journal-row{grid-template-columns:60px 1fr}.journal-row .meta:last-child{display:none}.section{padding:84px 0}.footer-top,.footer-bottom{flex-direction:column}.portrait{min-height:320px}.portrait strong{font-size:10rem}}

/* BLACKSITE electric-blue brand accent */
:root{--red:#2b5bea}
.team-section+.team-section{padding-top:0;border-top:0}.team-intro{display:flex;align-items:end;justify-content:space-between;gap:32px;margin-bottom:42px}.team-count{font:600 .72rem 'DM Sans';letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}.roster{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.person{background:var(--ink);padding:30px;min-height:300px;display:flex;flex-direction:column}.person-mark{width:52px;height:52px;border:1px solid rgba(43,91,234,.7);display:grid;place-items:center;color:#2b5bea;font:600 1rem 'Barlow Condensed';letter-spacing:.08em;margin-bottom:46px}.person h3{font-size:2.25rem;line-height:.95}.person .role{color:#2b5bea;font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;margin:12px 0 22px;font-weight:500}.person .bio{color:var(--muted);line-height:1.6;margin:auto 0 0;font-size:.92rem}.division-rule{margin:0 0 52px;border:0;border-top:1px solid var(--line)}
@media(max-width:900px){.roster{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.team-intro{display:block}.team-count{margin-top:18px}.roster{grid-template-columns:1fr}.person{min-height:265px}}
.store-portrait{position:relative;margin:0;background:#080808;overflow:hidden;border-bottom:1px solid var(--line)}.store-portrait:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 54%,rgba(7,7,7,.78) 100%);pointer-events:none}.store-portrait img{width:100%;height:min(72vw,850px);min-height:560px;object-fit:cover;object-position:center 44%;filter:saturate(.86) contrast(1.05)}.store-portrait figcaption{position:absolute;z-index:1;left:max(20px,calc((100vw - 1180px)/2));right:max(20px,calc((100vw - 1180px)/2));bottom:34px;display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:24px;color:white}.store-portrait figcaption span,.store-portrait figcaption a{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase}.store-portrait figcaption strong{font:600 clamp(2rem,4vw,4.8rem)/.9 'Barlow Condensed';text-transform:uppercase;text-align:center}.store-portrait figcaption a{text-align:right;color:#fff}.store-portrait figcaption a:hover{color:#2b5bea}
@media(max-width:760px){.store-portrait img{height:78vh;min-height:580px;object-position:58% center}.store-portrait figcaption{grid-template-columns:1fr;align-items:start;bottom:24px}.store-portrait figcaption strong{text-align:left;font-size:3rem}.store-portrait figcaption a{text-align:left}.store-portrait figcaption span{order:2}}

/* Homepage hero: Anchor transition and approved introduction. */
.hero .eyebrow{color:var(--bone);line-height:1.6;margin-bottom:10px;max-width:680px}
.hero-transition{color:var(--muted);font-size:.9rem;line-height:1.6;max-width:680px;margin:0 0 32px}
.hero h1{font-size:clamp(3rem,12vw,10.2rem)}
.hero .lead{margin-bottom:16px}
.hero-welcome{font-size:1.05rem;font-weight:500;margin:0 0 32px;line-height:1.55}

/* Keep the showroom caption legible over the photograph. */
.store-portrait figcaption{text-shadow:0 2px 4px #000,0 0 12px rgba(0,0,0,.9)}
.store-portrait figcaption strong{-webkit-text-stroke:.5px rgba(0,0,0,.8);paint-order:stroke fill;text-shadow:0 2px 3px #000,0 0 10px #000,0 0 24px rgba(0,0,0,.85)}

/* Homepage brand banner. Each identical group is 23 fixed-width logo slots. */
.brand-banner{border-block:1px solid var(--line);padding:18px 0 24px;background:#0d0d0d;overflow:hidden}
.brand-banner-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;color:var(--muted);font-size:.62rem;letter-spacing:.18em;font-weight:500}
.brand-pause{font:inherit;letter-spacing:inherit;color:var(--muted);background:none;border:1px solid var(--line);padding:6px 10px;cursor:pointer}
.brand-pause:hover{color:var(--bone);border-color:var(--bone)}
.brand-pause:focus-visible{outline:2px solid var(--red);outline-offset:3px}
.brand-window{width:100%;overflow:hidden;mask-image:linear-gradient(to right,transparent,#000 40px,#000 calc(100% - 40px),transparent)}
.brand-track{display:flex;width:max-content;animation:blacksite-brands 55.2s linear infinite;will-change:transform}
.brand-group{display:flex;flex:none;align-items:center;list-style:none;margin:0;padding:0}
.brand-logo{width:216px;flex:none;height:70px;display:grid;place-items:center;padding:0 30px}
.brand-logo img{display:block;width:auto;height:auto;max-width:156px;max-height:56px;object-fit:contain;opacity:.85}
.brand-logo--hk img{max-width:85px;max-height:48px}
.brand-logo--benchmade img,.brand-logo--solgw img,.brand-logo--cci img{max-height:64px}
.brand-banner:hover .brand-track,.brand-banner:focus-within .brand-track,.brand-banner.is-paused .brand-track{animation-play-state:paused}
@keyframes blacksite-brands{to{transform:translateX(-50%)}}
@media(max-width:760px){.brand-banner{padding:14px 0 20px}.brand-logo{width:180px;padding:0 22px;height:64px}.brand-logo img{max-width:136px;max-height:48px}.brand-logo--benchmade img,.brand-logo--solgw img,.brand-logo--cci img{max-height:56px}.brand-track{animation-duration:46s}.brand-window{mask-image:linear-gradient(to right,transparent,#000 20px,#000 calc(100% - 20px),transparent)}}
@media(prefers-reduced-motion:reduce){.brand-track{animation:none;width:100%;will-change:auto}.brand-window{mask-image:none}.brand-group{display:grid;width:100%;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px 0;padding:0 20px}.brand-logo{width:100%;padding:0 10px}.brand-group[aria-hidden="true"]{display:none}.brand-pause{display:none}}

/* Crew page: welcoming introduction and compact name/title cards. */
.crew-page .page-hero h1{font-size:clamp(3rem,8vw,7rem);max-width:1180px;line-height:.94}
.crew-page .page-hero .lead{max-width:720px}
.crew-page .person{min-height:210px}
.crew-page .person-mark{margin-bottom:26px}
.crew-page .person .role{margin-bottom:0;line-height:1.6}
@media(max-width:760px){.crew-page .page-hero{padding:70px 0 56px}.crew-page .person{min-height:180px}.crew-page .person-mark{margin-bottom:22px}}

/* Contact page: clear tap targets and official full-color app icons. */
.contact-page .page-hero h1{font-size:clamp(3rem,8vw,7rem);max-width:1180px;line-height:.94}
.contact-page .page-hero .lead{max-width:720px}
.contact-page .contact-item{min-width:0}
.contact-action{display:flex;flex-direction:column;gap:12px;min-height:64px;justify-content:center}
.contact-page .contact-item .contact-icon-link{display:flex;align-items:center;gap:18px;min-height:64px;line-height:1.1}
.contact-icon-link img{width:52px;height:52px;flex:none;border-radius:12px;object-fit:contain}
.contact-hint{display:block;font:500 .65rem/1.6 'DM Sans',sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-top:8px}
.contact-action .contact-hint{margin-top:0}
.contact-email{overflow-wrap:anywhere}
.contact-page .contact-item a:hover .contact-hint{color:var(--bone)}
.contact-page .contact-item a:focus-visible{outline:2px solid var(--red);outline-offset:8px}
@media(max-width:760px){.contact-page .page-hero{padding:70px 0 56px}.contact-page .contact-item{padding:28px}.contact-page .contact-item a,.contact-page .contact-item p{font-size:1.65rem}.contact-page .contact-email{font-size:clamp(1rem,4.4vw,1.3rem)}}
