:root{
  --cream:#f4ead5;
  --cream-dk:#e8dbb8;
  --red:#a01a1a;
  --red-br:#d92020;
  --red-dk:#6d0f0f;
  --black:#0d0a08;
  --ink:#2a2520;
  --gold:#c8a04a;
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{background:var(--cream);color:var(--ink);font-family:'Georgia','Times New Roman',serif;line-height:1.6;overflow-x:hidden}
a{color:var(--red);text-decoration:none}
a:hover{text-decoration:underline}
@keyframes pulse{0%,100%{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.04)}}
@keyframes flicker{0%,100%{opacity:1}50%{opacity:.85}}
@keyframes shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-2px)}75%{transform:translateX(2px)}}
@keyframes slamIn{0%{opacity:0;transform:scale(2) rotate(-3deg)}60%{transform:scale(.95) rotate(.5deg)}100%{opacity:1;transform:scale(1) rotate(0)}}
.warning-bar{background:var(--red);color:var(--cream);text-align:center;padding:.5rem;font-family:'Impact','Arial Black',sans-serif;letter-spacing:.15em;text-transform:uppercase;font-size:.85rem;border-bottom:2px solid var(--black);animation:flicker 3s infinite}
header{background:var(--black);color:var(--cream);padding:1rem 2rem;border-bottom:6px double var(--red);position:relative}
header::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(45deg,transparent 0,transparent 20px,rgba(160,26,26,.05) 20px,rgba(160,26,26,.05) 22px);pointer-events:none}
header .brand{display:flex;align-items:center;gap:1rem;justify-content:space-between;max-width:1200px;margin:0 auto;position:relative}
header h1{font-family:'Impact','Arial Black',sans-serif;font-size:1.8rem;letter-spacing:.1em;text-transform:uppercase;text-shadow:2px 2px 0 var(--red-dk)}
header h1 .accent{color:var(--red-br);text-shadow:0 0 12px rgba(217,32,32,.6)}
nav ul{display:flex;gap:1.5rem;list-style:none;flex-wrap:wrap}
nav a{color:var(--cream);font-size:.95rem;letter-spacing:.08em;text-transform:uppercase;font-family:'Impact',sans-serif}
nav a:hover{color:var(--red-br);text-decoration:none;text-shadow:0 0 8px var(--red)}
.hero{background:
  radial-gradient(ellipse 80% 60% at 50% 40%,rgba(160,26,26,.4) 0%,transparent 70%),
  linear-gradient(rgba(8,5,3,.88),rgba(8,5,3,.92)),
  radial-gradient(ellipse at center,#4a2a18 0%,#0d0805 80%);
  color:var(--cream);padding:7rem 2rem 6rem;text-align:center;border-bottom:8px double var(--red);position:relative;overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0,transparent 4px,rgba(255,255,255,.015) 4px,rgba(255,255,255,.015) 5px);pointer-events:none}
.hero::after{content:"";position:absolute;left:50%;top:50%;width:120%;height:120%;transform:translate(-50%,-50%);background:radial-gradient(circle,transparent 30%,rgba(160,26,26,.15) 60%,transparent 80%);animation:pulse 4s ease-in-out infinite;pointer-events:none}
.hero > *{position:relative;z-index:2}
.hero .enso{font-size:6rem;color:var(--red-br);line-height:1;margin-bottom:.5rem;text-shadow:0 0 30px rgba(217,32,32,.7);animation:pulse 3s ease-in-out infinite}
.hero .kanji{font-family:serif;font-size:1.5rem;color:var(--gold);letter-spacing:.5em;margin-bottom:1rem;opacity:.7}
.hero h2{font-family:'Impact','Arial Black',sans-serif;font-size:4rem;letter-spacing:.06em;text-transform:uppercase;margin-bottom:1rem;text-shadow:4px 4px 0 var(--red-dk),0 0 40px rgba(217,32,32,.4);line-height:1}
.hero h2 em{color:var(--red-br);font-style:normal;display:inline-block;animation:shake 4s infinite}
.hero p.tag{font-size:1.3rem;font-style:italic;max-width:720px;margin:1.5rem auto 2.5rem;opacity:.95}
.hero .creed{font-family:'Impact',sans-serif;letter-spacing:.3em;font-size:.9rem;color:var(--gold);text-transform:uppercase;margin-bottom:2rem}
.cta{display:inline-block;background:var(--red);color:var(--cream);padding:1.1rem 2.5rem;font-family:'Impact',sans-serif;letter-spacing:.15em;text-transform:uppercase;border:3px solid var(--cream);font-size:1.1rem;box-shadow:0 0 0 2px var(--red),6px 6px 0 var(--black);transition:all .15s}
.cta:hover{transform:translate(2px,2px);box-shadow:0 0 0 2px var(--red),2px 2px 0 var(--black);background:var(--red-br);text-decoration:none}
.cta.ghost{background:transparent;color:var(--cream)}
main{max-width:1200px;margin:0 auto;padding:3rem 2rem}
section{margin-bottom:4rem}
section h3{font-family:'Impact',sans-serif;font-size:2.5rem;color:var(--red-dk);text-transform:uppercase;letter-spacing:.06em;border-bottom:3px solid var(--red);padding-bottom:.6rem;margin-bottom:1.5rem;position:relative}
section h3::before{content:"\25C8";color:var(--red);margin-right:.6rem;font-size:1.4rem;vertical-align:middle}
.shout{background:var(--black);color:var(--cream);padding:2rem;text-align:center;font-family:'Impact',sans-serif;font-size:2rem;letter-spacing:.15em;text-transform:uppercase;margin:2rem 0;border-top:6px solid var(--red);border-bottom:6px solid var(--red);text-shadow:3px 3px 0 var(--red-dk);position:relative}
.shout small{display:block;font-size:.8rem;font-family:Georgia,serif;font-style:italic;color:var(--gold);letter-spacing:.1em;margin-top:1rem;text-shadow:none;text-transform:none;opacity:.8}
.pillars{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem}
.pillar{background:var(--cream-dk);padding:1.8rem;border-left:6px solid var(--red);border-radius:2px;position:relative;box-shadow:4px 4px 0 var(--black)}
.pillar::before{content:attr(data-num);position:absolute;top:-15px;right:10px;background:var(--red);color:var(--cream);width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:'Impact',sans-serif;font-size:1.4rem;border:3px solid var(--cream)}
.pillar h4{font-family:'Impact',sans-serif;color:var(--black);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.6rem;font-size:1.3rem;border-bottom:2px solid var(--red);padding-bottom:.4rem}
.pillar p{font-size:.97rem}
.quote{font-style:italic;font-size:1.5rem;text-align:center;padding:2.5rem 2rem;border-top:3px solid var(--red);border-bottom:3px solid var(--red);margin:2rem 0;color:var(--black);background:linear-gradient(180deg,transparent,rgba(160,26,26,.05),transparent);position:relative}
.quote::before,.quote::after{content:"\201C";font-family:Georgia,serif;font-size:4rem;color:var(--red);position:absolute;line-height:1}
.quote::before{top:.5rem;left:1rem}
.quote::after{content:"\201D";bottom:0;right:1rem}
.quote cite{display:block;font-style:normal;font-size:.85rem;margin-top:1rem;color:var(--red-dk);letter-spacing:.15em;text-transform:uppercase;font-family:'Impact',sans-serif}
.reviews{background:var(--black);color:var(--cream);padding:4rem 2rem;margin:3rem -2rem 0;border-top:8px double var(--red);position:relative}
.reviews::before{content:"\26A1";position:absolute;top:-30px;left:50%;transform:translateX(-50%);background:var(--cream);color:var(--red);width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2rem;border:4px solid var(--red)}
.reviews-inner{max-width:1200px;margin:0 auto}
.reviews h3{color:var(--cream);border-bottom-color:var(--red);text-align:center}
.reviews h3::before{color:var(--red-br)}
.review-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin-top:2rem}
.review{background:#1a120b;padding:1.8rem;border-left:5px solid var(--red);border-radius:2px;position:relative;box-shadow:4px 4px 0 rgba(160,26,26,.3)}
.review::before{content:"\201C";position:absolute;top:.3rem;right:.8rem;font-size:3rem;color:var(--red-dk);line-height:1;font-family:Georgia,serif}
.review p{font-style:italic;margin-bottom:1rem;position:relative}
.review .author{font-size:.8rem;letter-spacing:.15em;text-transform:uppercase;color:var(--gold);font-style:normal;font-family:'Impact',sans-serif}
.review .stars{color:var(--red-br);margin-bottom:.5rem;letter-spacing:.3em;font-size:1.1rem}
.review-cta{text-align:center;margin-top:2.5rem;font-size:1rem;font-family:'Impact',sans-serif;letter-spacing:.1em;text-transform:uppercase}
.review-cta a{color:var(--red-br)}
footer{background:var(--black);color:var(--cream);padding:3rem 2rem;text-align:center;font-size:.9rem;letter-spacing:.05em;border-top:6px double var(--red);position:relative}
footer .motto{font-family:'Impact',sans-serif;font-size:1.4rem;letter-spacing:.2em;text-transform:uppercase;color:var(--red-br);margin-bottom:.6rem;text-shadow:2px 2px 0 var(--red-dk)}
footer .seal{font-size:2rem;color:var(--gold);margin-bottom:.8rem}
footer .disclaimer{font-style:italic;opacity:.5;margin-top:1.2rem;font-size:.72rem;max-width:600px;margin-left:auto;margin-right:auto}
form{max-width:640px;margin:0 auto}
label{display:block;margin-bottom:.5rem;font-family:'Impact',sans-serif;text-transform:uppercase;letter-spacing:.08em;color:var(--black);font-size:.95rem}
input,textarea,select{width:100%;padding:.8rem;background:var(--cream-dk);border:3px solid var(--ink);font-family:inherit;font-size:1rem;margin-bottom:1.3rem;border-radius:2px}
input:focus,textarea:focus,select:focus{outline:none;border-color:var(--red);box-shadow:0 0 0 3px rgba(160,26,26,.2)}
textarea{min-height:160px;resize:vertical}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.notice{background:var(--cream-dk);border-left:6px solid var(--red);padding:1.2rem 1.5rem;margin-bottom:2rem;font-size:.97rem;box-shadow:3px 3px 0 var(--black)}
.success{display:none;background:#1a3a1a;color:var(--cream);padding:1.5rem;border-left:6px solid #4a8a3a;margin-bottom:2rem;font-family:'Impact',sans-serif;text-transform:uppercase;letter-spacing:.1em}
.success.show{display:block;animation:slamIn .4s ease-out}
.stamp-wrap{position:fixed;top:0;right:0;width:170px;height:170px;overflow:hidden;z-index:99;pointer-events:none}
.stamp{position:absolute;top:38px;right:-60px;width:240px;background:var(--red);color:var(--cream);text-align:center;padding:.5rem 0;font-family:'Impact',sans-serif;letter-spacing:.2em;text-transform:uppercase;font-size:.75rem;transform:rotate(45deg);box-shadow:0 4px 12px rgba(0,0,0,.4);border-top:2px solid var(--cream);border-bottom:2px solid var(--cream)}
.ascii-eagle{font-family:'Courier New',monospace;color:var(--red);text-align:center;white-space:pre;font-size:.8rem;line-height:1.1;margin:1rem 0;opacity:.55}
.dojo-photo{display:block;max-width:100%;height:auto;border:6px solid var(--black);outline:3px solid var(--red);outline-offset:-12px;box-shadow:8px 8px 0 var(--red-dk),12px 12px 0 var(--black);filter:contrast(1.05) saturate(.9)}
.dojo-figure{margin:2.5rem auto;text-align:center;max-width:1000px}
.dojo-figure figcaption{font-family:'Impact',sans-serif;letter-spacing:.18em;text-transform:uppercase;color:var(--red-dk);font-size:.85rem;margin-top:1rem;opacity:.85}
.hero-portrait{position:absolute;right:-20px;top:50%;transform:translateY(-50%);width:340px;max-width:32vw;z-index:3;border:5px solid var(--black);outline:3px solid var(--red-br);outline-offset:-10px;box-shadow:6px 6px 0 var(--red-dk);opacity:.95}
.dojo-banner{position:relative;width:100vw;left:50%;right:50%;margin:3rem -50vw;height:auto;display:block;border-top:8px double var(--red);border-bottom:8px double var(--red);filter:contrast(1.05) saturate(.85) brightness(.92)}
.dojo-banner img{width:100%;display:block;max-height:520px;object-fit:cover;object-position:center}
.dojo-banner .banner-stripe{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(transparent,rgba(8,5,3,.85));color:var(--cream);padding:2rem;text-align:center;font-family:'Impact',sans-serif;font-size:1.3rem;letter-spacing:.18em;text-transform:uppercase;text-shadow:2px 2px 0 var(--red-dk)}
.dojo-split{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:center;margin:2rem 0}
.dojo-split.reverse{grid-template-columns:1fr 1fr}
.dojo-split.reverse > :first-child{order:2}
@media (max-width:760px){
  .hero-portrait{position:relative;right:auto;top:auto;transform:none;width:80%;max-width:300px;margin:2rem auto 0;display:block}
  .dojo-split, .dojo-split.reverse{grid-template-columns:1fr}
  .dojo-split.reverse > :first-child{order:0}
  .dojo-banner .banner-stripe{font-size:1rem;padding:1.2rem}
}
@media (max-width:640px){
  .hero h2{font-size:2.5rem}
  .hero{padding:5rem 1.5rem 4rem}
  header .brand{flex-direction:column;align-items:flex-start}
  .form-row{grid-template-columns:1fr}
  .stamp-wrap{display:none}
  .shout{font-size:1.3rem}
}
