:root{
  --black:#0a0a0a; --ink:#1a1a1a; --grey:#8c8c8c; --lgrey:#d9d9d9; --paper:#f4f4f4; --white:#fff;
  --tooth:#e9dcc8;
}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:'Archivo',Arial,sans-serif;color:var(--ink);background:var(--white);line-height:1.55}
h1,h2,h3,.display{font-family:'Archivo Black',Arial,sans-serif;line-height:1.08;letter-spacing:-.01em}
.brush{font-family:'Caveat',cursive;font-weight:700}
.halftone-dark{
  background-color:var(--black);
  background-image:
    linear-gradient(90deg, rgba(10,10,10,0) 0%, rgba(10,10,10,.55) 9%, var(--black) 21%),
    radial-gradient(circle, rgba(255,255,255,.30) 1.6px, transparent 1.7px);
  background-size:auto, 13px 13px;
}
.kicker{font-size:.72rem;font-weight:700;letter-spacing:.32em;text-transform:uppercase;color:var(--grey);margin-bottom:1rem}
section{padding:5rem 0}
.wrap{max-width:1100px;margin:0 auto;padding:0 2rem}
.lead{color:#666;margin-top:.8rem;max-width:42rem}
.btn{display:inline-block;padding:.95rem 1.8rem;font-weight:700;font-size:.95rem;text-decoration:none;letter-spacing:.04em;border:2px solid var(--black);transition:.15s;cursor:pointer}
.btn-solid{background:var(--black);color:var(--white)}
.btn-solid:hover{background:#333;border-color:#333}
.btn-ghost{color:var(--black);background:transparent}
.btn-ghost:hover{background:var(--black);color:var(--white)}
.btn-inv{border-color:#fff;color:#fff}
.btn-inv:hover{background:#fff;color:var(--black)}
.btn-inv-solid{background:#fff;color:var(--black);border-color:#fff}
.btn-row{margin-top:2.4rem;display:flex;gap:1rem;flex-wrap:wrap}
/* header */
header{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid #e5e5e5}
.nav{max-width:1180px;margin:0 auto;display:flex;align-items:center;gap:1.15rem;padding:.7rem 1.5rem;flex-wrap:nowrap}
.logo{font-family:'Archivo Black';font-size:1.3rem;background:var(--black);color:#fff;padding:.15rem .55rem;letter-spacing:.02em;text-decoration:none}
/* signature tab element — original DFW logo asset */
.logo-tab{display:block;align-self:flex-start;margin:-0.82rem 0 -0.4rem 0;position:relative;z-index:60;line-height:0}
.logo-tab img{height:62px;width:auto;display:block}
@media(max-width:1180px){
  .logo-tab img{height:50px}
  .nav{gap:.9rem}
  .nav a{font-size:.8rem}
}
@media(max-width:980px){
  .nav{flex-wrap:wrap}
  .logo-tab{margin-bottom:0}
}
.nav a{color:var(--ink);text-decoration:none;font-size:.85rem;font-weight:600;white-space:nowrap}
.nav a:hover{opacity:.6}
.nav a.active{border-bottom:2px solid var(--black)}
.nav .spacer{flex:1}
.nav .cta{background:var(--black);color:#fff;padding:.5rem 1rem;font-weight:700;letter-spacing:.03em}
.nav .cta:hover{opacity:1;background:#333}
/* page hero */
.hero{color:#fff;padding:6.5rem 0 5.5rem;position:relative;overflow:hidden}
.hero .wrap{position:relative;z-index:2}
.hero h1{font-size:clamp(2.6rem,7vw,4.6rem);color:#fff}
.hero .claim{color:#b9b9b9;font-size:1.12rem;max-width:36rem;margin:1.4rem 0 2.2rem}
.hero.small{padding:4.5rem 0 4rem}
.hero.small h1{font-size:clamp(2.2rem,5vw,3.4rem)}
.switch{display:flex;gap:1rem;flex-wrap:wrap}
.trust{display:flex;gap:2.2rem;margin-top:3rem;flex-wrap:wrap}
.trust div{font-size:.8rem;color:var(--lgrey);letter-spacing:.06em}
.trust strong{display:block;font-size:.95rem;color:#fff}
/* grids */
.pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:1.4rem;margin-top:2.5rem}
.pillar{background:var(--paper);padding:1.6rem;border:1px solid #e2e2e2}
.pillar h3{font-size:1rem;margin-bottom:.6rem}
.pillar p{font-size:.88rem;color:#555}
.band{display:grid;grid-template-columns:1fr 1fr;min-height:340px}
.band>div{padding:3.6rem 3rem;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
/* align band content to the 1100px page grid (left half -> left margin, right half -> right margin) */
.band>div:first-child{padding-left:max(3rem, calc(50vw - 550px + 2rem))}
.band>div:last-child{padding-right:max(3rem, calc(50vw - 550px + 2rem))}
.band .dark{background:var(--black);color:#fff}
.band h2{font-size:2rem;margin-bottom:1rem}
.band p{max-width:30rem;margin-bottom:1.6rem}
.band .dark p{color:var(--lgrey)}
.pa{display:grid;grid-template-columns:250px 1fr;gap:1.2rem 2rem;margin-top:2.4rem}
.pa .q{font-weight:700;font-size:1.02rem}
.pa .a{border-left:3px solid var(--black);padding-left:1.2rem;color:#444}
.pa .a strong{color:var(--black)}
.promise{color:#fff;position:relative;overflow:hidden}
.promise h2{font-size:clamp(2rem,5vw,3.2rem);color:#fff;max-width:48rem}
.promise p{color:var(--lgrey);max-width:42rem;margin-top:1.4rem}
.mats{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem;margin-top:2.4rem}
.mat{border:1px solid #e2e2e2;padding:1.4rem;background:#fff}
.mat h3{font-size:.95rem;margin-bottom:.45rem}
.mat p{font-size:.82rem;color:#666}
.mat .chip{display:inline-block;margin-top:.7rem;font-size:.7rem;letter-spacing:.12em;color:var(--grey);text-transform:uppercase}
.mat.result{background:var(--tooth);border-color:var(--tooth)}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem;margin-top:2.4rem}
.steps.four{grid-template-columns:repeat(4,1fr)}
.step{background:#fff;border:1px solid #e2e2e2;padding:1.8rem}
.step .n{font-family:'Archivo Black';font-size:2.4rem;color:#cfcfcf}
.step h3{margin:.5rem 0 .5rem;font-size:1.05rem}
.step p{font-size:.88rem;color:#555}
.team{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem;margin-top:2.2rem}
.member{background:var(--paper);border:1px solid #e2e2e2;padding:1rem;text-align:center}
.member .ph{display:block;width:100%;height:230px;object-fit:cover;object-position:center 18%;background:var(--black);margin-bottom:.8rem}
.member strong{font-size:.92rem;display:block}
.member span{font-size:.76rem;color:var(--grey)}
.member p{font-size:.8rem;color:#555;margin-top:.5rem;text-align:left}
/* detail blocks (materials, tech) */
.detail{display:grid;grid-template-columns:240px 1fr 220px;gap:2rem;padding:1.8rem 0;border-top:1px solid #e2e2e2}
.detail:last-of-type{border-bottom:1px solid #e2e2e2}
.detail h3{font-size:1.15rem}
.detail .sub{font-size:.78rem;color:var(--grey);letter-spacing:.1em;text-transform:uppercase;margin-top:.3rem}
.detail p{font-size:.92rem;color:#555}
.detail ul{list-style:none;margin-top:.6rem}
.detail li{font-size:.85rem;color:#444;padding:.18rem 0 .18rem 1.1rem;position:relative}
.detail li::before{content:"";position:absolute;left:0;top:.62em;width:7px;height:7px;border-radius:50%;background:var(--black)}
.detail .meta{font-size:.82rem;color:#666}
.detail .meta strong{display:block;color:var(--black);font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:.3rem}
/* tables */
table{width:100%;border-collapse:collapse;margin-top:2rem;font-size:.92rem}
th{background:var(--black);color:#fff;text-align:left;padding:.7rem 1rem;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase}
td{padding:.7rem 1rem;border-bottom:1px solid #e2e2e2;color:#444}
tr:nth-child(even) td{background:var(--paper)}
.assume{background:#fff8e6;border:1px dashed #d4b24c;color:#7a5c00;font-size:.82rem;padding:.7rem 1rem;margin-top:1.6rem}
/* statement strip */
.strip{background:var(--black);color:#fff;padding:2.2rem 0}
.strip .wrap{display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap}
.strip .brush{font-size:1.8rem}
/* forms */
.form{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;margin-top:2rem;max-width:46rem}
.form label{font-size:.8rem;font-weight:700;letter-spacing:.06em;display:block;margin-bottom:.35rem}
.form input,.form select,.form textarea{width:100%;padding:.75rem .9rem;border:1px solid #c9c9c9;background:#fff;font-family:inherit;font-size:.92rem}
.form .full{grid-column:1/-1}
/* downloads */
.dl{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin-top:2.4rem}
.dlc{border:1px solid #e2e2e2;background:#fff;padding:1.6rem}
.dlc h3{font-size:1rem;margin-bottom:.5rem}
.dlc p{font-size:.85rem;color:#666;margin-bottom:1rem}
.dlc a{font-weight:700;font-size:.88rem;color:var(--black)}
/* footer */
footer{background:var(--black);color:var(--lgrey);padding:3.5rem 0 2.5rem;font-size:.85rem}
footer .wrap{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:2rem}
footer h4{color:#fff;font-size:.8rem;letter-spacing:.2em;text-transform:uppercase;margin-bottom:.8rem}
footer a{color:var(--lgrey);text-decoration:none;display:block;margin:.3rem 0}
footer a:hover{color:#fff}
.fin-claim{font-family:'Caveat',cursive;font-weight:700;font-size:2rem;color:#fff}
.legal{max-width:1100px;margin:2.5rem auto 0;padding:1.2rem 2rem 0;border-top:1px solid #2a2a2a;display:flex;gap:1.6rem;font-size:.76rem;color:#777}
.legal a{color:#777;display:inline}
@media(max-width:900px){
  .pillars,.mats{grid-template-columns:repeat(2,1fr)}
  .band{grid-template-columns:1fr}
  .band>div:first-child,.band>div:last-child{padding:3rem 2rem}
  .pa{grid-template-columns:1fr}
  .steps,.steps.four{grid-template-columns:1fr}
  .team{grid-template-columns:repeat(2,1fr)}
  .detail{grid-template-columns:1fr}
  footer .wrap{grid-template-columns:1fr 1fr}
  .form{grid-template-columns:1fr}
  .dl{grid-template-columns:1fr}
}

/* photo heroes & figures */
.hero-img{background-size:cover;background-position:center}
.photo-strip{display:grid;grid-template-columns:2fr 1.5fr 1fr;gap:1rem;margin-top:2.4rem}
.photo-strip figure{margin:0;position:relative}
.photo-strip img{width:100%;height:300px;object-fit:cover;display:block;background:#111}
.photo-strip figcaption{font-size:.74rem;color:#999;margin-top:.4rem}
.figure-wide{margin:2.4rem 0 0}
.figure-wide img{width:100%;display:block}
.figure-wide figcaption{font-size:.74rem;color:#999;margin-top:.4rem}

.lang{font-size:.78rem;color:#999;white-space:nowrap}
.lang a{color:#999 !important;font-size:.78rem !important}
.lang a.on{color:var(--black) !important;font-weight:700}

/* ===== mobile (<=760px) ===== */
@media(max-width:760px){
  header{position:static}
  .nav{justify-content:center;gap:.5rem .95rem;padding:.55rem .9rem}
  .logo-tab{flex-basis:100%;display:flex;justify-content:center;margin:-0.55rem 0 0}
  .logo-tab img{height:46px}
  .nav a{font-size:.78rem}
  .nav .spacer{display:none}
  .nav .cta{flex-basis:100%;text-align:center;order:99;margin-top:.25rem}
  section{padding:3.2rem 0}
  .wrap{padding:0 1.2rem}
  .hero{padding:3.6rem 0 3rem}
  .hero.small{padding:3rem 0 2.6rem}
  .hero h1{font-size:clamp(2.1rem,9.5vw,2.9rem)}
  .trust{gap:1.2rem 1.6rem;margin-top:2.2rem}
  .pillars{grid-template-columns:1fr !important;gap:1rem}
  .mats{grid-template-columns:1fr !important;gap:1rem}
  .photo-strip{grid-template-columns:1fr}
  .photo-strip img{height:230px}
  .steps,.steps.four{grid-template-columns:1fr}
  .team{grid-template-columns:1fr 1fr;gap:.9rem}
  .member .ph{height:200px}
  .detail{grid-template-columns:1fr;gap:.9rem;padding:1.4rem 0}
  table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .promise h2{font-size:1.8rem}
  .band h2{font-size:1.7rem}
  .band>div:first-child,.band>div:last-child{padding:2.6rem 1.2rem}
  .strip .wrap{flex-direction:column;align-items:flex-start}
  footer .wrap{grid-template-columns:1fr;gap:1.6rem}
  .legal{flex-wrap:wrap;gap:.8rem}
}
