/* Stone Bravo Outpost — shared static site stylesheet */
:root{
  --page:#f6f7f2;
  --paper:#ffffff;
  --ink:#171914;
  --muted:#5f655d;
  --soft:#eef0e8;
  --soft-2:#e3e6dc;
  --brand:#777d36;
  --brand-dark:#454a20;
  --charcoal:#10120f;
  --charcoal-2:#1b1e18;
  --line:rgba(23,25,20,.12);
  --line-dark:rgba(255,255,255,.16);
  --shadow:0 22px 60px rgba(16,18,15,.13);
  --shadow-sm:0 12px 30px rgba(16,18,15,.09);
  --max:1160px;
  --sans:Inter,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  color:var(--ink);
  font-family:var(--sans);
  line-height:1.6;
  background:var(--page);
  text-rendering:optimizeLegibility;
}
a{color:inherit;text-decoration:none;}
img{display:block;max-width:100%;}
p{margin:0;}
strong{color:var(--ink);}
.wrap{width:min(100% - 2rem,var(--max));margin:0 auto;}
.narrow{max-width:860px;}
.skip{
  position:absolute;
  left:-999px;
  top:0;
  z-index:200;
  padding:.65rem 1rem;
  border-radius:6px;
  color:#fff;
  background:var(--brand-dark);
  font-weight:800;
}
.skip:focus{left:1rem;top:1rem;}
:focus-visible{outline:2px solid var(--brand);outline-offset:4px;border-radius:6px;}

/* Header */
.bar{
  position:sticky;
  top:0;
  z-index:50;
  border-bottom:1px solid rgba(23,25,20,.08);
  background:rgba(246,247,242,.92);
  backdrop-filter:blur(14px);
}
.bar-in{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1.2rem;
  min-height:76px;
}
.mark{
  display:flex;
  align-items:center;
  gap:.8rem;
  min-width:0;
}
.mark img{
  width:44px;
  height:44px;
  border-radius:10px;
  box-shadow:var(--shadow-sm);
}
.mark b{
  display:block;
  font-size:1rem;
  line-height:1.05;
  font-weight:850;
}
.mark small{
  display:block;
  margin-top:.18rem;
  color:var(--muted);
  font-size:.72rem;
  font-weight:750;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.links{
  display:flex;
  align-items:center;
  gap:.35rem;
  color:#3d423a;
  font-size:.92rem;
  font-weight:750;
}
.links a{
  padding:.58rem .75rem;
  border-radius:999px;
}
.links a:hover,.links a:focus-visible,.links a[aria-current="page"]{
  color:var(--brand-dark);
  background:rgba(119,125,54,.11);
}

/* Buttons */
.cta-row{display:flex;flex-wrap:wrap;gap:.85rem;align-items:center;}
.actions{margin-top:1.7rem;}
.hero .actions{margin-top:1.8rem;}
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:.78rem 1.15rem;
  border:1px solid transparent;
  border-radius:8px;
  font-size:.95rem;
  font-weight:850;
  transition:transform .16s ease,background .16s ease,border-color .16s ease,color .16s ease;
}
.btn:hover,.btn:focus-visible{transform:translateY(-1px);}
.btn-go{
  color:#fff;
  background:var(--brand-dark);
  box-shadow:0 12px 26px rgba(69,74,32,.22);
}
.btn-go:hover{background:#353a19;}
.btn-ghost{
  color:var(--ink);
  background:rgba(255,255,255,.68);
  border-color:var(--line);
}
.btn-ghost:hover{border-color:rgba(69,74,32,.45);color:var(--brand-dark);}
.hero .btn-ghost{
  color:#f8f7ef;
  background:rgba(255,255,255,.10);
  border-color:rgba(255,255,255,.28);
}
.hero .btn-ghost:hover{color:#fff;border-color:rgba(255,255,255,.5);}

/* Type and layout */
section{padding:5rem 0 0;}
.eyebrow,.label{
  display:inline-block;
  margin-bottom:.8rem;
  color:var(--brand-dark);
  font-size:.75rem;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
h1,h2,h3{margin:0;font-weight:850;letter-spacing:0;line-height:1.05;}
h1{font-size:clamp(2.65rem,5vw,5rem);max-width:11ch;}
h2{font-size:clamp(1.85rem,3vw,3rem);max-width:14ch;}
h3{font-size:1.08rem;line-height:1.25;}
.lead{
  max-width:62ch;
  margin-top:1.2rem;
  color:var(--muted);
  font-size:1.1rem;
}
.head{
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(320px,.72fr);
  gap:2rem;
  align-items:end;
  margin-bottom:2rem;
}
.head p{color:var(--muted);font-size:1.04rem;}
.section-kicker{
  display:flex;
  align-items:center;
  gap:.8rem;
  color:var(--brand-dark);
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.section-kicker:before{
  content:"";
  width:38px;
  height:2px;
  background:var(--brand);
}

/* Home hero */
.hero{
  position:relative;
  min-height:clamp(540px,calc(82svh - 76px),620px);
  max-height:620px;
  padding:0;
  overflow:hidden;
  color:#fff;
  background:var(--charcoal);
}
.hero:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(16,18,15,.92) 0%,rgba(16,18,15,.72) 44%,rgba(16,18,15,.22) 100%),
    linear-gradient(0deg,rgba(16,18,15,.84) 0%,rgba(16,18,15,.06) 42%);
  z-index:1;
}
.hero-media{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}
.hero-in{
  position:relative;
  z-index:2;
  display:grid;
  align-content:center;
  min-height:clamp(540px,calc(82svh - 76px),620px);
  max-height:620px;
  padding:3.1rem 0 4.3rem;
}
.hero .eyebrow{color:#d6d2aa;}
.hero h1{max-width:13.5ch;color:#fff;}
.hero h1{font-size:clamp(2.55rem,4.4vw,4.15rem);}
.hero .lead{max-width:58ch;color:rgba(255,255,255,.82);}
.hero-proof{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1px;
  max-width:730px;
  margin-top:1.5rem;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.16);
  border-radius:8px;
  background:rgba(255,255,255,.12);
}
.hero-proof div{
  padding:.9rem;
  background:rgba(16,18,15,.48);
}
.hero-proof b{display:block;color:#fff;font-size:.95rem;}
.hero-proof span{display:block;color:rgba(255,255,255,.68);font-size:.88rem;}
.hero-scroll{
  position:absolute;
  left:50%;
  bottom:1.2rem;
  z-index:2;
  transform:translateX(-50%);
  color:rgba(255,255,255,.7);
  font-size:.8rem;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.hero + section{padding-top:1rem;}

/* Rebuilt homepage layout */
.masthead{
  position:relative;
  min-height:clamp(560px,calc(86svh - 76px),640px);
  overflow:hidden;
  color:#fff;
  background:var(--charcoal);
}
.masthead:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:
    linear-gradient(90deg,rgba(16,18,15,.94) 0%,rgba(16,18,15,.72) 48%,rgba(16,18,15,.18) 100%),
    linear-gradient(0deg,rgba(16,18,15,.82) 0%,rgba(16,18,15,.04) 58%);
}
.mast-media{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}
.mast-in{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:minmax(0,1fr) 320px;
  gap:2.5rem;
  align-items:end;
  min-height:clamp(560px,calc(86svh - 76px),640px);
  padding:3.4rem 0 2.3rem;
}
.mast-copy{align-self:center;}
.mast-copy .eyebrow{color:#d6d2aa;}
.mast-copy h1{
  max-width:15ch;
  color:#fff;
  font-size:clamp(3rem,5.25vw,5.6rem);
  line-height:.96;
}
.mast-copy .lead{
  max-width:58ch;
  color:rgba(255,255,255,.8);
}
.mast-docket{
  padding:1.25rem;
  border:1px solid rgba(255,255,255,.22);
  border-radius:8px;
  background:rgba(16,18,15,.58);
  backdrop-filter:blur(12px);
}
.mast-docket span{
  display:block;
  margin-bottom:.55rem;
  color:#d6d2aa;
  font-size:.74rem;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.mast-docket b{
  display:block;
  color:#fff;
  font-size:1.15rem;
  line-height:1.3;
}
.product-lanes{
  padding:0;
  background:var(--paper);
}
.section-lede{
  display:grid;
  grid-template-columns:minmax(0,.62fr) minmax(0,1fr);
  gap:2rem;
  align-items:end;
  padding:4.2rem 0 2rem;
}
.section-lede h2{
  grid-column:2;
  max-width:720px;
}
.section-lede .section-kicker{
  grid-column:1;
  grid-row:1;
}
.lane-list{
  display:grid;
  border-top:1px solid var(--line);
}
.product-lane{
  display:grid;
  grid-template-columns:86px minmax(0,1fr) auto;
  gap:1.4rem;
  align-items:center;
  padding:1.6rem 0;
  border-bottom:1px solid var(--line);
  transition:padding-left .16s ease,background .16s ease;
}
.product-lane:hover,.product-lane:focus-visible{
  padding-left:1rem;
  background:rgba(119,125,54,.07);
}
.product-lane img{
  width:86px;
  height:86px;
  border-radius:19px;
  box-shadow:var(--shadow-sm);
}
.lane-status{
  display:block;
  margin-bottom:.35rem;
  color:var(--brand-dark);
  font-size:.75rem;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.product-lane h3{font-size:1.55rem;}
.product-lane p{
  max-width:720px;
  margin-top:.35rem;
  color:var(--muted);
}
.product-lane strong{
  color:var(--brand-dark);
  white-space:nowrap;
}
.method-band{
  padding:5.2rem 0;
  background:var(--soft);
}
.method-grid{
  display:grid;
  grid-template-columns:minmax(260px,.48fr) minmax(0,1fr);
  gap:4rem;
  align-items:start;
}
.method-sticky{
  position:sticky;
  top:104px;
}
.method-sticky h2{max-width:10ch;}
.method-sticky p{
  max-width:38ch;
  margin-top:1.2rem;
  color:var(--muted);
}
.timeline{
  display:grid;
  gap:0;
  margin:0;
  padding:0;
  list-style:none;
  counter-reset:timeline;
  border-top:1px solid var(--line);
}
.timeline li{
  display:grid;
  grid-template-columns:88px minmax(0,1fr);
  gap:1.5rem;
  padding:2rem 0;
  border-bottom:1px solid var(--line);
}
.timeline span{
  color:var(--brand-dark);
  font-size:.9rem;
  font-weight:900;
  letter-spacing:.12em;
}
.timeline h3{font-size:1.5rem;}
.timeline p{
  max-width:62ch;
  margin-top:.4rem;
  color:var(--muted);
}
.proof-band{
  padding:5.2rem 0;
  color:#fff;
  background:var(--charcoal);
}
.proof-grid{
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(320px,.72fr);
  gap:3rem;
  align-items:start;
}
.proof-grid .section-kicker{color:#d6d2aa;}
.proof-grid .section-kicker:before{background:#d6d2aa;}
.proof-grid h2{
  max-width:13ch;
  color:#fff;
}
.proof-copy p{
  color:rgba(255,255,255,.76);
  font-size:1.08rem;
}
.proof-facts{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1px;
  margin-top:2rem;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.16);
  border-radius:8px;
  background:rgba(255,255,255,.16);
}
.proof-facts div{
  padding:1rem;
  background:rgba(255,255,255,.08);
}
.proof-facts b{display:block;color:#fff;}
.proof-facts span{display:block;color:rgba(255,255,255,.66);font-size:.9rem;}
.closing-band{
  padding:5rem 0 0;
}
.closing-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(320px,.62fr);
  gap:3rem;
  align-items:center;
  padding:2.2rem 0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.closing-grid p{
  color:var(--muted);
  font-size:1.05rem;
}

/* Rebuilt product pages */
.product-mast{
  position:relative;
  overflow:hidden;
  color:#fff;
  background:var(--charcoal);
}
.product-mast:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 78% 20%,rgba(119,125,54,.28),transparent 30%),
    linear-gradient(90deg,rgba(16,18,15,.98) 0%,rgba(16,18,15,.84) 56%,rgba(16,18,15,.52) 100%);
}
.product-mast-in{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,.95fr) minmax(300px,.45fr);
  gap:3rem;
  align-items:center;
  min-height:560px;
  padding:4.5rem 0;
}
.product-title-row{
  display:flex;
  align-items:center;
  gap:1.1rem;
  margin-bottom:1.4rem;
}
.product-title-row img{
  width:84px;
  height:84px;
  border-radius:20px;
  box-shadow:0 18px 40px rgba(0,0,0,.28);
}
.product-mast h1{
  max-width:760px;
  color:#fff;
  font-size:clamp(2.7rem,5vw,5.8rem);
}
.product-mast .lead{
  color:rgba(255,255,255,.78);
}
.product-mast .crumb,
.product-mast .crumb a{color:rgba(255,255,255,.68);}
.product-mast .statusline{
  color:#f2eed1;
  background:rgba(255,255,255,.11);
}
.product-mast .btn-ghost{
  color:#f8f7ef;
  background:rgba(255,255,255,.10);
  border-color:rgba(255,255,255,.28);
}
.product-mast .btn-ghost:hover{color:#fff;border-color:rgba(255,255,255,.5);}
.product-mast .shot-note{color:rgba(255,255,255,.64);}
.record-preview{
  display:grid;
  place-items:center;
  min-height:460px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:8px;
  background:rgba(255,255,255,.08);
  box-shadow:0 26px 60px rgba(0,0,0,.28);
}
.record-preview img{
  width:min(76%,270px);
  filter:drop-shadow(0 26px 38px rgba(0,0,0,.46));
}
.status-panel{
  padding:1.5rem;
  border:1px solid rgba(255,255,255,.18);
  border-radius:8px;
  background:rgba(255,255,255,.08);
}
.status-panel h2{
  max-width:none;
  color:#fff;
}
.status-panel .label{color:#d6d2aa;}
.status-panel p{color:rgba(255,255,255,.72);}
.status-panel .feat{border-color:rgba(255,255,255,.14);}
.status-panel .feat strong{color:#fff;}
.status-panel .feat span{color:rgba(255,255,255,.68);}
.argument-band{
  padding:5rem 0;
  background:var(--paper);
}
.argument-grid{
  display:grid;
  grid-template-columns:minmax(0,.75fr) minmax(320px,.55fr);
  gap:3rem;
  align-items:start;
}
.argument-grid h2{max-width:12ch;}
.argument-grid p{
  color:var(--muted);
  font-size:1.08rem;
}
.feature-ledger{
  display:grid;
  border-top:1px solid var(--line);
}
.feature-ledger div{
  display:grid;
  grid-template-columns:minmax(180px,.38fr) minmax(0,1fr);
  gap:1rem;
  padding:1.05rem 0;
  border-bottom:1px solid var(--line);
}
.feature-ledger b{color:var(--ink);}
.feature-ledger span{color:var(--muted);}
.screens-band{
  padding:5rem 0;
  background:var(--soft);
}
.platform-band{
  padding:5rem 0 0;
}

/* Cards and grids */
.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem;}
.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem;}
.split{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem;align-items:start;}
.panel,.card,.step,.plat-row{
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:8px;
  box-shadow:var(--shadow-sm);
}
.card{padding:1.45rem;}
.card p{color:var(--muted);font-size:.98rem;}
.card.accent,.panel.accent{background:var(--soft);}
.card-link{
  display:flex;
  flex-direction:column;
  min-height:250px;
  transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;
}
a.card-link:hover,a.card-link:focus-visible{
  transform:translateY(-3px);
  border-color:rgba(69,74,32,.35);
  box-shadow:var(--shadow);
}
.icon{
  width:68px;
  height:68px;
  margin-bottom:1.1rem;
  border-radius:16px;
  box-shadow:var(--shadow-sm);
}
.go{
  margin-top:auto;
  padding-top:1rem;
  color:var(--brand-dark);
  font-size:.92rem;
  font-weight:850;
}

.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;}
.step{padding:1.25rem;}
.step .n{
  display:inline-grid;
  place-items:center;
  width:36px;
  height:36px;
  margin-bottom:.9rem;
  border-radius:8px;
  color:#fff;
  background:var(--brand-dark);
  font-weight:900;
}
.step p{color:var(--muted);font-size:.93rem;}

.feat{
  display:flex;
  gap:.9rem;
  padding:1rem 0;
  border-top:1px solid rgba(23,25,20,.09);
}
.feat:first-of-type{border-top:0;padding-top:.2rem;}
.feat .dot{
  width:10px;
  height:10px;
  flex:0 0 auto;
  margin-top:.55rem;
  border-radius:50%;
  background:var(--brand);
}
.feat span{display:block;color:var(--muted);font-size:.95rem;}

.strip{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1px;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:8px;
  background:var(--line);
}
.strip div{padding:1.2rem;background:var(--paper);}
.strip b{display:block;color:var(--brand-dark);}
.strip span{display:block;color:var(--muted);font-size:.9rem;}

/* Product/inner pages */
.pagehead{
  padding:4rem 0 0;
  background:
    linear-gradient(180deg,#eef0e8 0%,rgba(238,240,232,0) 100%);
}
.crumb{
  margin-bottom:1.3rem;
  color:var(--muted);
  font-size:.88rem;
  font-weight:750;
}
.crumb a:hover{color:var(--brand-dark);}
.app-head{
  display:grid;
  grid-template-columns:108px minmax(0,1fr);
  gap:1.35rem;
  align-items:center;
}
.app-head img{
  width:108px;
  height:108px;
  border-radius:24px;
  box-shadow:var(--shadow-sm);
}
.app-head h1{max-width:900px;font-size:clamp(2.25rem,4vw,4.2rem);}
.statusline{
  display:inline-flex;
  margin-top:1rem;
  padding:.42rem .7rem;
  border-radius:999px;
  color:var(--brand-dark);
  background:rgba(119,125,54,.13);
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.product-hero{
  display:grid;
  grid-template-columns:minmax(0,.85fr) minmax(280px,.55fr);
  gap:2rem;
  align-items:center;
}
.phone-stage{
  min-height:430px;
  display:grid;
  place-items:center;
  overflow:hidden;
  border-radius:8px;
  background:
    radial-gradient(circle at 50% 10%,rgba(119,125,54,.22),transparent 34%),
    var(--charcoal);
  box-shadow:var(--shadow);
}
.phone-stage img{
  width:min(78%,290px);
  filter:drop-shadow(0 28px 42px rgba(0,0,0,.45));
}
.shot-note{
  margin-top:.7rem;
  color:var(--muted);
  font-size:.84rem;
  text-align:center;
}
.shots{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1.4rem;
  justify-items:center;
}
.shots figure{width:100%;max-width:286px;margin:0;}
.shots img{
  width:100%;
  height:auto;
  filter:drop-shadow(0 22px 36px rgba(16,18,15,.18));
}
.shots figcaption{
  margin-top:.8rem;
  color:var(--muted);
  font-size:.92rem;
  text-align:center;
}
.plat{display:grid;gap:.7rem;}
.plat-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  padding:1rem 1.1rem;
}
.plat-row .name{font-weight:850;}
.st{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  color:var(--muted);
  font-size:.85rem;
  font-weight:850;
}
.st .d{width:9px;height:9px;border-radius:50%;border:1.5px solid currentColor;}
.st.live{color:var(--brand-dark);}
.st.live .d{border:0;background:var(--brand);}

.cta{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:1.5rem;
  align-items:center;
  padding:2.1rem;
  border-radius:8px;
  color:#fff;
  background:var(--charcoal);
  box-shadow:var(--shadow);
}
.cta .label{color:#d6d2aa;}
.cta h2{color:#fff;}
.cta p{max-width:62ch;margin-top:.8rem;color:rgba(255,255,255,.72);}

/* Legal pages */
.legal-page{
  background:#f6f7f2;
}
.legal-shell{
  width:min(100% - 2rem,860px);
  margin:0 auto;
  padding:3rem 0 4rem;
}
.back{
  display:inline-flex;
  margin-bottom:1.6rem;
  color:var(--muted);
  font-size:.92rem;
  font-weight:800;
}
.back:hover{color:var(--brand-dark);}
.legal-doc{
  padding:2rem;
  border:1px solid var(--line);
  border-radius:8px;
  background:var(--paper);
  box-shadow:var(--shadow-sm);
}
.legal-doc h1{max-width:none;font-size:clamp(2.1rem,4vw,3.2rem);}
.eff{margin-top:.45rem;color:var(--muted);font-size:.92rem;}
.intro{
  margin:1.6rem 0 1.8rem;
  padding-left:1rem;
  border-left:3px solid var(--brand);
  color:var(--muted);
}
.legal-doc section{padding:1.3rem 0;border-top:1px solid var(--line);}
.legal-doc h2{
  max-width:none;
  margin-bottom:.45rem;
  color:var(--brand-dark);
  font-size:.95rem;
  line-height:1.35;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.legal-doc ul{margin:.5rem 0 0;padding-left:1.1rem;}
.legal-doc li{margin:.35rem 0;}
.legal-doc a{color:var(--brand-dark);font-weight:800;}
.card a{color:var(--brand-dark);font-weight:850;}
.legal-doc footer{
  margin-top:1rem;
  padding-top:1.2rem;
  border-top:1px solid var(--line);
  color:var(--muted);
  font-size:.92rem;
}

/* Footer */
footer.site-footer{
  margin-top:5rem;
  padding:1.8rem 0 2.4rem;
  border-top:1px solid var(--line);
  color:var(--muted);
  font-size:.93rem;
}
.foot{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem 1.5rem;
  flex-wrap:wrap;
}
.foot-links{display:flex;gap:.35rem;flex-wrap:wrap;}
.foot-links a{padding:.4rem .55rem;border-radius:999px;}
.foot-links a:hover,.foot-links a:focus-visible{color:var(--brand-dark);background:rgba(119,125,54,.10);}

@media (max-width:920px){
  .head,.split,.product-hero{grid-template-columns:1fr;}
  .product-mast-in,.argument-grid{grid-template-columns:1fr;}
  .product-mast-in{min-height:auto;}
  .mast-in,.section-lede,.method-grid,.proof-grid,.closing-grid{grid-template-columns:1fr;}
  .mast-in{align-items:center;}
  .mast-docket{max-width:420px;}
  .section-lede h2,.section-lede .section-kicker{grid-column:auto;grid-row:auto;}
  .method-sticky{position:static;}
  .steps,.grid-3{grid-template-columns:repeat(2,minmax(0,1fr));}
  .hero{min-height:auto;max-height:none;}
  .hero-in{min-height:620px;max-height:none;}
}
@media (max-width:680px){
  .bar-in{min-height:68px;}
  .mark small{display:none;}
  .links{display:none;}
  section{padding-top:3.8rem;}
  h1{font-size:clamp(2.35rem,12vw,3.6rem);}
  .masthead,.mast-in{min-height:auto;}
  .mast-in{padding:2.7rem 0 1.4rem;}
  .mast-copy h1{font-size:clamp(2.65rem,12vw,3.55rem);max-width:10.8ch;}
  .mast-copy .lead{font-size:1rem;margin-top:1rem;}
  .mast-docket{display:none;}
  .product-lanes{padding:0;}
  .section-lede{padding:3.3rem 0 1.2rem;}
  .product-lane{
    grid-template-columns:64px minmax(0,1fr);
    gap:1rem;
    padding:1.2rem 0;
  }
  .product-lane img{width:64px;height:64px;border-radius:15px;}
  .product-lane h3{font-size:1.2rem;}
  .product-lane strong{grid-column:2;white-space:normal;}
  .method-band,.proof-band{padding:3.6rem 0;}
  .timeline li{grid-template-columns:1fr;gap:.45rem;padding:1.45rem 0;}
  .proof-facts{grid-template-columns:1fr;}
  .closing-band{padding-top:3.5rem;}
  .product-mast-in{padding:3.2rem 0;}
  .product-title-row{align-items:flex-start;}
  .product-title-row img{width:68px;height:68px;border-radius:16px;}
  .record-preview{min-height:360px;}
  .argument-band,.screens-band{padding:3.6rem 0;}
  .feature-ledger div{grid-template-columns:1fr;gap:.25rem;}
  .hero-in{min-height:610px;padding:3.4rem 0 4.8rem;}
  .hero:before{
    background:
      linear-gradient(180deg,rgba(16,18,15,.93) 0%,rgba(16,18,15,.73) 52%,rgba(16,18,15,.90) 100%);
  }
  .hero-proof,.strip,.grid-2,.grid-3,.steps,.shots{grid-template-columns:1fr;}
  .hero-proof{display:none;}
  .cta-row,.btn{width:100%;}
  .btn{justify-content:center;}
  .app-head{grid-template-columns:76px minmax(0,1fr);gap:1rem;}
  .app-head img{width:76px;height:76px;border-radius:18px;}
  .app-head h1{font-size:2rem;}
  .phone-stage{min-height:360px;}
  .cta{grid-template-columns:1fr;padding:1.5rem;}
  .foot{justify-content:center;text-align:center;}
  .foot-links{justify-content:center;}
  .legal-doc{padding:1.4rem;}
}
@media (prefers-reduced-motion:reduce){
  *{scroll-behavior:auto!important;transition:none!important;}
}

/* ATF comment letters — the rulemaking index page.
   Built on the shared tokens rather than a private palette: until 2026-08-15
   this page carried its own navy-and-gold styles inline and looked like a
   different company's site. */
.letters-band{padding:5rem 0 0;}
.letters{
  list-style:none;
  display:grid;
  gap:1.1rem;
  margin:2.2rem 0 0;
  padding:0;
}
.letter{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:1.4rem;
  padding:1.65rem;
  border:1px solid var(--line);
  border-radius:8px;
  background:var(--paper);
  box-shadow:var(--shadow-sm);
}
.letter-n{
  display:grid;
  place-items:center;
  width:46px;
  height:46px;
  border-radius:10px;
  color:#fff;
  background:var(--brand-dark);
  font-size:.95rem;
  font-weight:900;
  font-variant-numeric:tabular-nums;
}
.letter h3{
  margin-bottom:1.05rem;
  font-size:1.24rem;
  line-height:1.2;
}
.letter p{
  margin-bottom:1.1rem;
  color:var(--muted);
  font-size:1.02rem;
}
.letter-meta{
  display:flex;
  flex-wrap:wrap;
  gap:1px;
  overflow:hidden;
  margin:0 0 1.15rem;
  border:1px solid var(--line);
  border-radius:8px;
  background:var(--line);
}
.letter-meta > div{
  flex:1 1 158px;
  padding:.7rem .85rem;
  background:var(--soft);
}
.letter-meta dt{
  color:var(--muted);
  font-size:.68rem;
  font-weight:900;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.letter-meta dd{
  margin:.18rem 0 0;
  font-weight:750;
  font-variant-numeric:tabular-nums;
  word-break:break-word;
}
.letter .btn{min-height:44px;}
@media (max-width:720px){
  .letter{grid-template-columns:1fr;gap:1rem;padding:1.3rem;}
}

/* The rulemaking page reuses the inner-page dark band, but with the same
   brand image the home page opens on — the layered gradient has to sit above
   the picture, so both get an explicit order rather than relying on source. */
.product-mast .mast-media{z-index:0;}
.product-mast:before{z-index:1;}
.product-mast .status-panel h2{font-size:1.55rem;margin-bottom:1.15rem;}
