:root{--ink:#101316;--silver:#f8f7f3;--gold:#c4a06a;--gold2:#e4c493;--max:1200px}
body{background:#101316;color:#f8f7f3;line-height:1.55}
.eyebrow{display:flex;align-items:center;gap:.8rem;font-size:.84rem;letter-spacing:.16em}
.eyebrow:before{content:"";width:29px;height:1px;flex:none;background:currentColor}
.button{min-height:54px;letter-spacing:.045em}
.button-gold{background:#c4a06a}
header{border-top:4px solid var(--gold);border-bottom-color:#353b3f}
.header-inner{min-height:90px}
nav .nav-contact{border-bottom:1px solid var(--gold);padding-block:.35rem}
.hero{position:relative;background:radial-gradient(ellipse at 78% 45%,#273036 0%,#1a2024 29%,#101316 69%)}
.hero:before{content:"";position:absolute;inset:0;opacity:.1;pointer-events:none;background:repeating-linear-gradient(90deg,transparent 0,transparent 119px,#b7bec0 120px,transparent 121px)}
.hero-inner{position:relative;min-height:610px;grid-template-columns:minmax(0,1.2fr) minmax(290px,.8fr);gap:clamp(2rem,5vw,6rem);padding-block:5rem 5.3rem}
.hero h1{font-size:clamp(3.6rem,6.2vw,6.7rem);line-height:.99;letter-spacing:-.055em}
.hero p{font-size:1.18rem}
.hero-art,.hero-art:hover{display:grid;place-items:center;width:100%;min-height:400px;margin:0;border:1px solid #3b4448;background:linear-gradient(145deg,#22292d,#151a1e 72%)}
.hero-art:before{top:15px;left:15px;right:auto;bottom:auto;inset:auto;width:35px;height:35px;border:solid var(--gold);border-width:1px 0 0 1px;transform:none;opacity:.7}
.hero-art:after{content:"";position:absolute;right:15px;bottom:15px;width:35px;height:35px;border:solid var(--gold);border-width:0 1px 1px 0;opacity:.7}
.hero-art img{width:min(84%,340px);max-width:none;height:auto}
.hero-bottom{background:#181d21}
.hero-bottom .wrap{min-height:68px;justify-content:center;flex-wrap:wrap;column-gap:2rem;row-gap:.25rem;text-align:center;padding-block:1rem}
.section-pad{padding-block:clamp(4.5rem,8vw,7rem)}
.section-intro{align-items:end;margin-bottom:3rem}
.section-intro h2,.about h2,.contact h2{font-size:clamp(2.5rem,4.5vw,4.5rem);font-weight:900;letter-spacing:-.045em;line-height:1.04}
.services{background:#f1f0eb}
.cards{border-color:#b7b8b4;background:#b7b8b4}
.card{min-height:285px;background:#faf9f5;padding:2rem}
.card h3{margin-top:auto;font-size:clamp(1.48rem,2.4vw,1.9rem)}
.card p{line-height:1.6}
.range{border-top-color:#b8b9b4}
.about{background:#171c20}
.about-copy p{font-size:1.16rem}
.principles{margin-top:4.5rem}
.contact-card{background:#1c2226;border-color:#4c5457;padding:clamp(1.7rem,4vw,3rem)}
.contact-card p:not(:first-child){border-top:1px solid #41494d;padding-top:1.4rem;margin-top:1.4rem}
.contact-card a{margin-bottom:1rem}
@media(max-width:850px){
  .hero-inner{grid-template-columns:1fr 300px;gap:1.5rem}
  .hero-art,.hero-art:hover{min-height:340px;margin:0}
  .section-intro{grid-template-columns:1fr}
}
@media(max-width:650px){
  .header-inner{min-height:76px}
  .hero-inner{display:flex;flex-direction:column;align-items:stretch;gap:2.5rem;padding-block:4.5rem 3rem}
  .hero h1{font-size:clamp(2.85rem,12vw,4.4rem)}
  .hero p{font-size:1.07rem}
  .actions .button{width:100%}
  .hero-art,.hero-art:hover{width:min(100%,340px);min-height:280px;margin-inline:auto}
  .hero-art img{width:min(82%,245px)}
  .card{min-height:220px}
  .card h3{margin-top:1.8rem}
  .principles{margin-top:2.8rem}
}

/* Bastion's updated public-facing presentation */
:root{--ink:#111719;--silver:#f2f0e9;--gold:#d9ac66;--gold2:#ecc995;--max:1240px}
html{scroll-behavior:smooth}
body{background:#111719;color:#f2f0e9;line-height:1.55}
.skip-link{position:absolute;top:-5rem;left:1rem;z-index:10;background:var(--gold);color:#111719;padding:.6rem 1rem}
.skip-link:focus{top:1rem}
header{background:#101618;border-top:4px solid var(--gold);border-bottom:1px solid #3a4549}
.header-inner{min-height:88px}
.mark{background:var(--gold);color:#111719;border:0;width:38px;height:44px}
nav .nav-contact{border:1px solid var(--gold);padding:.7rem 1rem;text-decoration:none}
nav .nav-contact:hover{background:var(--gold);color:#111719}
.hero{background:radial-gradient(ellipse at 78% 38%,#263034 0%,#182024 38%,#111719 75%)}
.hero:before{opacity:.06}
.hero-inner{grid-template-columns:minmax(0,1.12fr) minmax(320px,.88fr);min-height:0;gap:clamp(2rem,5vw,5rem);padding-block:clamp(4rem,7vw,6.5rem)}
.hero h1{font-size:clamp(3.7rem,7vw,7.5rem);line-height:.98;letter-spacing:-.065em;margin-block:1.1rem 1.5rem}
.hero p{max-width:570px;color:#d5d9d7;font-size:clamp(1.08rem,1.7vw,1.28rem);line-height:1.65}
.hero .hero-note{font-size:.94rem;color:#aab5b5;margin:1.2rem 0 0}
.button{min-height:56px;gap:1rem;letter-spacing:.025em;text-align:center}
.button span{font-size:1.25rem;line-height:1}
.button-gold{background:var(--gold)}
.hero-art,.hero-art:hover{aspect-ratio:1;min-height:0;width:100%;margin:0;border-color:#515d60;background:linear-gradient(145deg,#283135,#111719 75%);box-shadow:18px 18px 0 #0b1113,0 30px 90px #070b0d55}
.hero-art img{width:84%;max-width:none;mix-blend-mode:lighten}
.hero-bottom{background:#171f22}
.hero-bottom .wrap{min-height:66px;justify-content:space-between;flex-wrap:wrap;gap:1rem;text-align:center}
.hero-bottom span:first-child{color:#c6cbca}
.section-intro h2,.about h2,.contact h2{font-size:clamp(2.65rem,5vw,5rem);line-height:1.01;letter-spacing:-.055em}
.section-intro{grid-template-columns:1.15fr .85fr;gap:3rem;margin-bottom:3rem}
.section-intro p{font-size:1.13rem;line-height:1.65}
.services{background:#f2f0e9}
.card{background:#faf8f2;min-height:315px}
.card h3{font-size:clamp(1.55rem,2.35vw,2rem)}
.contact-banner{background:var(--gold);color:#111719}
.banner-inner{min-height:230px;display:flex;align-items:center;justify-content:space-between;gap:2rem;padding-block:2.5rem}
.contact-banner .eyebrow{color:#493419}
.contact-banner h2{font-size:clamp(2.15rem,4.5vw,4.3rem);line-height:1.05;letter-spacing:-.055em;text-transform:uppercase;margin:.5rem 0 0}
.button-dark{background:#111719;color:#f2f0e9;flex:none}
.button-dark:hover{background:#263034}
.about{background:#1b2427}
.contact{background:#111719}
.contact-card{background:#1b2528;border-color:#556164}
footer{border-color:#394548}
@media(max-width:850px){
  .hero-inner{grid-template-columns:minmax(0,1fr) minmax(280px,.8fr);gap:2rem}
  .hero-art,.hero-art:hover{width:100%;min-height:0;margin:0}
  .section-intro{grid-template-columns:1fr;gap:1.4rem}
  .card{min-height:220px}
}
@media(max-width:650px){
  .header-inner{min-height:74px}
  nav .nav-contact{font-size:.72rem;padding:.65rem .7rem;white-space:nowrap}
  .hero-inner{display:flex;flex-direction:column;align-items:stretch;gap:2.7rem;padding-block:3.5rem 3rem}
  .hero h1{font-size:clamp(2.85rem,11vw,4.8rem)}
  .hero-art,.hero-art:hover{width:min(100%,430px);margin-inline:auto;box-shadow:10px 10px 0 #0b1113}
  .hero-art img{width:82%;max-width:none}
  .hero-bottom .wrap{align-items:center;gap:.25rem;padding-block:1rem}
  .banner-inner{align-items:flex-start;flex-direction:column}
  .section-intro h2,.about h2,.contact h2{font-size:clamp(2.55rem,10vw,3.5rem)}
}
@media(max-width:390px){.wordmark{font-size:.9rem;gap:.45rem}.mark{width:28px;height:34px}nav .nav-contact{font-size:.65rem;letter-spacing:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Freight-led hero and refined identity */
.brand-emblem{width:38px;height:46px;flex:none;color:var(--gold);overflow:visible}
.hero{position:relative;isolation:isolate;overflow:hidden;background:#111719}
.hero:before{display:none}
.hero-media{position:absolute;inset:0;z-index:-2}
.hero-media img{width:100%;height:100%;object-fit:cover;object-position:center center}
.hero:after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,#101719 0%,#101719f7 23%,#101719e0 39%,#1017197d 58%,#10171912 84%),linear-gradient(0deg,#101719c4 0%,transparent 30%)}
.hero-inner{display:flex;align-items:center;min-height:680px;padding-block:5.5rem 6.5rem}
.hero-copy{max-width:690px}
.hero h1{font-size:clamp(3.8rem,6.6vw,7rem);text-shadow:0 2px 18px #10171955}
.hero h1 span{color:#f0c987}
.hero .eyebrow{color:#edc88e}
.hero p{color:#eef0ec}
.hero .hero-note{color:#d2dad6}
.hero-bottom{border-top:1px solid #657071;background:#151d1f}
.services .card{transition:background .2s ease,transform .2s ease}
.services .card:hover{background:#fff;transform:translateY(-3px)}
@media(max-width:850px){.hero-inner{min-height:620px}.hero-copy{max-width:590px}.hero:after{background:linear-gradient(90deg,#101719 0%,#101719ee 36%,#10171999 67%,#10171933 100%),linear-gradient(0deg,#101719ae,transparent 35%)}}
@media(max-width:650px){
 .brand-emblem{width:30px;height:38px}
 .hero{display:flex;flex-direction:column;background:#111719}
 .hero-inner{order:1;min-height:0;display:block;padding-block:3.6rem 2.5rem}
 .hero-media{order:2;position:relative;inset:auto;height:270px;z-index:auto}
 .hero-media img{object-position:66% center}
 .hero:after{z-index:0;background:linear-gradient(0deg,#111719 0,transparent 90px);inset:auto 0 270px;height:90px}
 .hero h1{font-size:clamp(3rem,11.5vw,5.2rem)}
 .hero p{color:#d5dfdb}
 .hero .hero-note{color:#aab5b5}
}
@media(prefers-reduced-motion:reduce){.services .card{transition:none}}
.brand-emblem{width:46px;height:46px;object-fit:contain}
@media(max-width:650px){.brand-emblem{width:38px;height:38px}}
