/* BRE in a Box (breinabox.com) — landing page for the free DIY Edition kit.
   Digital Facade Texas brand: Texas Navy / Lone Star Red, Poppins. Kraft box is the TEDC card motif. */
:root{
  --navy:#002868; --navy-deep:#001A45; --tape:#0e2f66; --red:#BF0A30; --red-deep:#9c0726; --ink:#1F2933;
  --kraft:#C69C6D; --kraft-dark:#b58a5a; --kraft-soft:#f4e9da; --paper:#FBFAF6; --paper-2:#F4F1EA;
  --muted:#5A6472; --on-navy:#EAF0FB; --on-navy-muted:#A9B8D6; --line:rgba(0,40,104,.14);
  --font:"Poppins",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --container:1120px; --gutter:clamp(1.15rem,4vw,2rem); --section-y:clamp(3.5rem,7vw,6rem);
  --radius:16px; --shadow:0 10px 30px rgba(11,30,63,.12),0 2px 8px rgba(11,30,63,.06);
  --ease:cubic-bezier(0.23,1,0.32,1);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%; scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0; font-family:var(--font); font-weight:450; font-size:clamp(1rem,.98rem + .14vw,1.1rem); line-height:1.62; color:var(--ink); background:var(--paper); -webkit-font-smoothing:antialiased; overflow-x:hidden}
h1,h2,h3{font-family:var(--font); color:var(--navy); line-height:1.1; margin:0; letter-spacing:-.02em; font-weight:700; overflow-wrap:break-word; text-wrap:balance}
h1{font-size:clamp(2.1rem,1.6rem + 2.4vw,3.6rem)}
h2{font-size:clamp(1.7rem,1.45rem + 1.2vw,2.5rem)}
h3{font-size:1.2rem; font-weight:600; letter-spacing:-.01em}
p{margin:0 0 1em}
a{color:var(--red)}
img{max-width:100%; height:auto; display:block}
strong{font-weight:650; color:var(--navy)}
:focus-visible{outline:3px solid #F5A623; outline-offset:2px; border-radius:4px}
.container{width:100%; max-width:var(--container); margin-inline:auto; padding-inline:var(--gutter)}
.section{padding-block:var(--section-y)}
.section--alt{background:var(--paper-2)}
.eyebrow{display:inline-block; font-size:.82rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--red); margin:0 0 .9rem}
.lead{font-size:1.2rem; color:var(--muted)}
.center{text-align:center}
.head{max-width:700px; margin:0 auto clamp(2rem,4vw,3rem); text-align:center}
.head p{margin-top:.9rem}

.btn{display:inline-flex; align-items:center; justify-content:center; gap:.5em; font-family:var(--font); font-weight:600; font-size:1.02rem; line-height:1; text-decoration:none; padding:1em 1.6em; border-radius:999px; border:1.5px solid transparent; background:var(--red); color:#fff; cursor:pointer; box-shadow:0 6px 18px rgba(191,10,48,.26); transition:transform 160ms var(--ease), background-color 160ms var(--ease)}
.btn:active{transform:scale(.97)}
@media (hover:hover) and (pointer:fine){.btn:hover{background:var(--red-deep)}}
.btn--navy{background:var(--tape); box-shadow:0 6px 18px rgba(14,47,102,.25)}
@media (hover:hover) and (pointer:fine){.btn--navy:hover{background:var(--navy-deep)}}
.btn--ghost{background:transparent; color:#fff; border-color:rgba(255,255,255,.4); box-shadow:none}
@media (hover:hover) and (pointer:fine){.btn--ghost:hover{background:rgba(255,255,255,.1)}}

/* header */
.top{background:var(--kraft); padding:1rem 0}
.top .container{display:flex; align-items:center; justify-content:space-between; gap:1rem}
.mark{display:flex; align-items:center; gap:.8rem; text-decoration:none}
.stamp{display:inline-block; border:3px solid var(--red); border-radius:9px; padding:3px; transform:rotate(-4deg)}
.stamp span{display:block; border:1.5px solid var(--red); border-radius:5px; padding:.22em .6em; font-weight:700; font-size:1rem; letter-spacing:.03em; color:var(--red); line-height:1; white-space:nowrap}
.mark small{font-size:.78rem; font-weight:600; color:var(--tape); letter-spacing:.02em}
.top .btn{padding:.8em 1.2em; font-size:.92rem}

/* hero */
.hero{background:var(--kraft); padding:clamp(1.5rem,4vw,3rem) 0 0; position:relative}
.hero-grid{display:grid; grid-template-columns:1.1fr .9fr; gap:clamp(1.5rem,4vw,4rem); align-items:center; padding-bottom:clamp(2.5rem,5vw,4rem)}
.hero-grid > *{min-width:0}
.hero .eyebrow{color:var(--tape)}
.hero h1{color:var(--tape)}
.hero .sub{font-size:1.2rem; color:#14305f; margin:1.1rem 0 1.6rem; max-width:34em}
.hero-cta{display:flex; flex-wrap:wrap; gap:.8rem; align-items:center}
.hero-note{font-size:.9rem; font-weight:600; color:#14305f; margin:1.1rem 0 0}
.hero-art{position:relative; justify-self:center; width:min(100%,380px); padding:1rem 0}
.hero-art .cover{border-radius:6px; box-shadow:0 24px 50px rgba(60,35,5,.35), 0 4px 12px rgba(60,35,5,.2); transform:rotate(3deg); border:1px solid rgba(0,0,0,.08)}
.hero-art .peek{position:absolute; width:62%; left:-14%; bottom:-2%; border-radius:5px; box-shadow:0 14px 30px rgba(60,35,5,.3); transform:rotate(-7deg); border:1px solid rgba(0,0,0,.08)}
.tape{background:var(--tape); border-top:5px solid #35568f; color:#fff; text-align:center; padding:.95rem 1rem; font-weight:700; font-size:clamp(.72rem,.6rem + .5vw,1rem); letter-spacing:.2em; white-space:nowrap; overflow:hidden}
.tape i{font-style:normal; margin:0 1.1em}

/* in the box */
.cards{display:grid; grid-template-columns:repeat(3,1fr); gap:1.2rem}
.cards > *{min-width:0}
.card{background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:1.6rem; box-shadow:0 1px 2px rgba(11,30,63,.05)}
.card .num{display:inline-flex; width:2.2rem; height:2.2rem; border-radius:50%; background:var(--red); color:#fff; font-weight:700; align-items:center; justify-content:center; margin-bottom:.9rem}
.card h3{margin-bottom:.5rem}
.card p{color:var(--muted); font-size:.98rem; margin:0}
.card ul{margin:.7rem 0 0; padding-left:1.1em; color:var(--ink); font-size:.95rem}
.card li{margin:.25em 0}

/* story */
.story{display:grid; grid-template-columns:1fr 1fr; gap:clamp(1.5rem,4vw,4rem); align-items:center}
.story > *{min-width:0}
.story-art{background:var(--kraft-soft); border-radius:var(--radius); padding:clamp(1.2rem,3vw,2.2rem)}
.story-art img{border-radius:6px; box-shadow:var(--shadow); border:1px solid var(--line)}
.sign{margin-top:1.2rem; font-weight:650; color:var(--navy)}
.sign span{display:block; font-weight:500; font-size:.92rem; color:var(--muted)}

/* moves */
.moves{display:grid; grid-template-columns:repeat(4,1fr); gap:1rem}
.moves > *{min-width:0}
.move{background:var(--navy); color:var(--on-navy); border-radius:var(--radius); padding:1.4rem}
.move b{display:block; color:#fff; font-size:1.25rem; margin-bottom:.4rem}
.move span{font-size:.95rem; color:var(--on-navy-muted)}

/* honest */
.honest{display:grid; grid-template-columns:1fr 1fr; gap:1.2rem}
.honest > *{min-width:0}
.pane{border-radius:var(--radius); padding:clamp(1.4rem,3vw,2.2rem)}
.pane--hand{background:var(--kraft-soft)}
.pane--soft{background:var(--navy); color:var(--on-navy)}
.pane--soft h3{color:#fff}
.pane ul{margin:.9rem 0 0; padding-left:1.1em}
.pane li{margin:.4em 0}
.pane--soft li{color:var(--on-navy)}
.pane .btn{margin-top:1.2rem}

/* form */
.get{background:var(--navy); color:var(--on-navy)}
.get h2{color:#fff}
.get p{color:var(--on-navy-muted)}
.get-grid{display:grid; grid-template-columns:1fr 1fr; gap:clamp(1.5rem,4vw,4rem); align-items:start}
.get-grid > *{min-width:0}
.get ul{list-style:none; padding:0; margin:1.2rem 0}
.get li{padding-left:1.7em; position:relative; margin:.55em 0; color:var(--on-navy)}
.get li::before{content:""; position:absolute; left:0; top:.42em; width:.95em; height:.55em; border-left:3px solid #fff; border-bottom:3px solid #fff; transform:rotate(-45deg) scale(.8)}
.form{background:#fff; border-radius:var(--radius); padding:clamp(1.3rem,3vw,2rem); box-shadow:0 30px 70px rgba(0,0,0,.25)}
.field{margin-bottom:.95rem}
.field label{display:block; font-size:.86rem; font-weight:600; color:var(--navy); margin-bottom:.3rem}
.field input,.field select{width:100%; font-family:var(--font); font-size:1rem; font-weight:450; color:var(--ink); padding:.8em .9em; border:1.5px solid rgba(0,40,104,.2); border-radius:10px; background:#fff}
.field input:focus,.field select:focus{outline:none; border-color:var(--navy); box-shadow:0 0 0 3px rgba(0,40,104,.12)}
.two{display:grid; grid-template-columns:1fr 1fr; gap:.8rem}
.form .btn{width:100%; margin-top:.3rem}
.get .form-note{font-size:.84rem; color:var(--muted); margin:.9rem 0 0; text-align:center}
.hp{position:absolute; left:-9999px}

/* footer */
.foot{background:var(--navy); border-top:1px solid rgba(255,255,255,.14); color:var(--on-navy-muted); padding:2.2rem 0; font-size:.9rem}
.foot .container{display:flex; flex-wrap:wrap; gap:1rem 2rem; align-items:center; justify-content:space-between}
.foot img{height:44px; width:auto; max-width:none}
.foot a{color:#fff}

/* thank-you */
.ty{min-height:100vh; min-height:100dvh; background:var(--kraft); display:grid; place-items:center; padding:3rem 0}
.ty-card{width:100%; background:#fff; border-radius:var(--radius); padding:clamp(1.6rem,4vw,3rem); max-width:720px; box-shadow:0 24px 50px rgba(60,35,5,.3)}
.dl{display:grid; gap:.7rem; margin:1.5rem 0}
.dl a{display:flex; justify-content:space-between; align-items:center; gap:1rem; padding:1rem 1.2rem; border:1.5px solid var(--line); border-radius:12px; text-decoration:none; color:var(--navy); font-weight:600; transition:border-color 160ms var(--ease), background-color 160ms var(--ease)}
.dl a span{font-size:.84rem; font-weight:500; color:var(--muted); white-space:nowrap}
@media (hover:hover) and (pointer:fine){.dl a:hover{border-color:var(--navy); background:#f6f8fc}}
.dl a.all{background:var(--red); border-color:var(--red); color:#fff}
.dl a.all span{color:#ffe1e7}
.next{background:var(--paper-2); border-radius:12px; padding:1.3rem 1.4rem; margin-top:1.6rem}
.next p{margin:.4rem 0 1rem; color:var(--muted)}

@media (max-width:860px){
  .hero-grid,.story,.honest,.get-grid{grid-template-columns:1fr}
  .cards{grid-template-columns:1fr}
  .moves{grid-template-columns:1fr 1fr}
  .hero-art{width:min(78%,330px); margin-top:.5rem}
  .mark small{display:none}
}
@media (max-width:520px){
  .moves,.two{grid-template-columns:1fr}
  .top .btn{padding:.7em 1em; font-size:.84rem}
  .tape{font-size:.58rem; letter-spacing:.12em; padding:.8rem .5rem}
  .tape i{margin:0 .45em}
  .dl a{flex-direction:column; align-items:flex-start; gap:.15rem}
  .dl a span{white-space:normal}
  .ty-card{min-width:0}
}
