*{box-sizing:border-box;margin:0;padding:0}
:root{--bg:#f1ede4;--ink:#161411;--muted:#716b61;--line:rgba(22,20,17,.15);--red:#9e2d20;--dark:#171713;--cream:#eee8db;--max:1180px}
html{scroll-behavior:smooth} body{font-family:Inter,system-ui,sans-serif;background:var(--bg);color:var(--ink);line-height:1.55}
a{color:inherit;text-decoration:none}.container{width:min(calc(100% - 40px),var(--max));margin-inline:auto}
.site-header{position:sticky;top:0;z-index:20;background:rgba(241,237,228,.86);backdrop-filter:blur(15px);border-bottom:1px solid var(--line)}
.nav{height:74px;display:flex;align-items:center;justify-content:space-between}.brand{font-weight:800;letter-spacing:.12em;font-size:.88rem}
.nav-links{display:flex;gap:24px;align-items:center;font-size:.9rem}.nav-links a{opacity:.72}.nav-links a:hover{opacity:1}
.nav-cta{border:1px solid var(--ink);border-radius:999px;padding:9px 15px}.menu-toggle{display:none;border:0;background:transparent;font-size:1.35rem}
.eyebrow{font-size:.73rem;letter-spacing:.18em;font-weight:700;margin-bottom:20px}.light{color:#aaa}
.hero{padding:92px 0 76px;min-height:82vh;display:grid;align-items:center}.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:68px;align-items:center}
h1,h2{font-family:"Cormorant Garamond",Georgia,serif;line-height:.93;letter-spacing:-.045em}
.hero h1{font-size:clamp(4.5rem,8vw,8rem);max-width:800px}.hero-text{font-size:1.08rem;color:var(--muted);max-width:610px;margin:28px 0}
.hero-actions{display:flex;gap:11px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:49px;padding:0 20px;border-radius:999px;font-weight:650;transition:.2s}
.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--ink);color:white}.btn-secondary{border:1px solid var(--line)}
.hero-visual{height:590px;position:relative;overflow:hidden;border-radius:34px;background:#24211c}.sun{position:absolute;width:330px;height:330px;border-radius:50%;background:var(--red);top:80px;right:70px}
.brush-ring{position:absolute;width:390px;height:390px;border:32px solid rgba(238,232,219,.75);border-right-color:transparent;border-bottom-color:rgba(238,232,219,.18);border-radius:50%;left:50px;bottom:40px;transform:rotate(-20deg)}
.hero-mark{position:absolute;left:45px;top:45px;color:#f1eadc;font-family:"Cormorant Garamond",serif;font-size:6rem;line-height:.78}.hero-mark span{opacity:.55}
.hero-caption{position:absolute;bottom:28px;right:32px;color:#ddd3c2;display:flex;gap:17px;font-size:.66rem;letter-spacing:.16em}
.manifesto{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:42px 0}.manifesto p{font-family:"Cormorant Garamond",serif;font-size:clamp(2.1rem,4vw,4rem);line-height:1.05;max-width:900px}
.section{padding:118px 0}.section-heading{max-width:800px;margin-bottom:55px}.section-heading h2,.meditation-copy h2,.about-grid h2,.contact-card h2{font-size:clamp(3.5rem,6vw,6rem)}
.section-intro,.lead{color:var(--muted);font-size:1.08rem;margin-top:22px;max-width:650px}
.book-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.book-cover{aspect-ratio:.72;display:flex;flex-direction:column;padding:26px;border-radius:8px;box-shadow:0 22px 45px rgba(0,0,0,.12)}
.book-cover span{font-size:.65rem;letter-spacing:.16em}.book-cover strong{font-family:"Cormorant Garamond",serif;font-size:2.5rem;line-height:.9;margin:auto 0}.book-cover small{margin-top:auto;letter-spacing:.12em}
.cover-one{background:#21201d;color:#f4eee2}.cover-two{background:#a0392c;color:#f8eee4}.cover-three{background:#ddd3bf;color:#231f19}
.book-info{padding:22px 2px}.tag{font-size:.7rem;text-transform:uppercase;letter-spacing:.14em;color:var(--red);font-weight:700}.book-info h3{font-size:1.5rem;margin:8px 0}.book-info p:not(.tag){color:var(--muted)}.book-info a{display:inline-block;margin-top:15px;font-weight:600}
.style-section{background:var(--dark);color:var(--cream)}.style-intro{max-width:880px}.style-kicker{font-size:.8rem;color:#8d887e;letter-spacing:.12em;margin-bottom:9px}
.style-intro h2{font-size:clamp(5rem,10vw,10rem);font-family:"Cormorant Garamond",serif;line-height:.84;letter-spacing:-.055em}.style-lead{font-size:1.15rem;color:#bcb5a8;max-width:760px;margin-top:30px}
.style-pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#49453d;margin-top:70px;border:1px solid #49453d}.style-pillar{background:var(--dark);padding:30px;min-height:300px;display:flex;flex-direction:column}
.style-pillar span{color:#777268;font-size:.77rem}.style-pillar h3{font-family:"Cormorant Garamond",serif;font-size:2rem;margin-top:auto}.style-pillar p{color:#999387;margin-top:8px;font-size:.92rem}
.curriculum{margin-top:70px;display:grid;grid-template-columns:.7fr 1.3fr;gap:70px;border-top:1px solid #4a463e;padding-top:55px}.curriculum h3{font-family:"Cormorant Garamond",serif;font-size:3rem;line-height:1}
.curriculum-list>div{display:grid;grid-template-columns:110px 1fr;gap:20px;padding:17px 0;border-bottom:1px solid #3d3933}.curriculum-list span{color:#9d978c}
.style-actions{display:flex;gap:24px;align-items:center;margin-top:45px}.btn-light{background:var(--cream);color:var(--dark)}.text-link-light{color:#bdb6aa;border-bottom:1px solid #6d675d;padding-bottom:3px}
.meditation-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;align-items:start}.meditation-cards{display:grid;gap:14px}.meditation-cards article{border:1px solid var(--line);padding:26px;border-radius:22px;min-height:175px}
.meditation-cards span{font-size:.72rem;color:var(--red)}.meditation-cards h3{font-family:"Cormorant Garamond",serif;font-size:2rem;margin:22px 0 6px}.meditation-cards p{color:var(--muted)}
.about-section{border-top:1px solid var(--line)}.about-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}.about-copy{font-size:1.05rem;color:var(--muted)}.about-copy .lead{color:var(--ink);font-size:1.3rem;margin:0 0 25px}.about-copy p+p{margin-top:18px}
.contact-section{padding-top:45px}.contact-card{border-top:1px solid var(--line);padding-top:65px;display:flex;justify-content:space-between;align-items:end;gap:45px}.contact-card p:not(.eyebrow){color:var(--muted);margin-top:17px;max-width:650px}.contact-actions{display:flex;flex-direction:column;align-items:flex-start;gap:15px}.text-link{font-weight:600}
footer{border-top:1px solid var(--line)}.footer-inner{min-height:105px;display:flex;align-items:center;justify-content:space-between;gap:20px;color:var(--muted);font-size:.8rem}.footer-inner .brand{color:var(--ink)}
.reveal{opacity:0;transform:translateY(20px);transition:opacity .65s ease,transform .65s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:950px){.hero-grid,.meditation-grid,.about-grid,.curriculum{grid-template-columns:1fr}.book-grid{grid-template-columns:1fr 1fr}.style-pillars{grid-template-columns:1fr 1fr}.hero-visual{height:500px}}
@media(max-width:700px){.nav-links{display:none;position:absolute;top:74px;left:20px;right:20px;flex-direction:column;align-items:stretch;background:var(--bg);padding:20px;border:1px solid var(--line);border-radius:18px}.nav-links.open{display:flex}.menu-toggle{display:block}.hero{padding-top:60px}.hero h1{font-size:clamp(4rem,17vw,6rem)}.hero-visual{height:420px}.sun{width:240px;height:240px;right:30px}.brush-ring{width:300px;height:300px;left:20px}.book-grid,.style-pillars{grid-template-columns:1fr}.section{padding:84px 0}.style-intro h2{font-size:clamp(4.5rem,20vw,7rem)}.style-pillar{min-height:230px}.contact-card,.footer-inner{flex-direction:column;align-items:flex-start}.footer-inner{padding:26px 0}}

.tengoryu-story{max-width:850px;margin-top:80px;padding-top:55px;border-top:1px solid #4a463e}
.tengoryu-story h3{font-family:"Cormorant Garamond",serif;font-size:clamp(2.8rem,5vw,4.8rem);line-height:.95;margin-bottom:25px}
.tengoryu-story p:not(.eyebrow){color:#bcb5a8;font-size:1.04rem;margin-top:17px}
.tengoryu-story blockquote{font-family:"Cormorant Garamond",serif;font-size:clamp(1.8rem,3vw,2.8rem);line-height:1.1;border-left:3px solid #b89645;padding-left:25px;margin-top:35px;color:#eee8db}
.tengoryu-story .motto{color:#d2b15b!important;font-weight:700;letter-spacing:.16em;font-size:.82rem!important;margin-top:30px!important}

.training-triad{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#49453d;border:1px solid #49453d;margin-top:45px}
.training-triad article{background:var(--dark);padding:30px;min-height:250px;display:flex;flex-direction:column}
.training-triad article>span{font-family:"Cormorant Garamond",serif;font-size:3.4rem;color:#d2b15b;line-height:1}
.training-triad h3{font-family:"Cormorant Garamond",serif;font-size:2rem;margin-top:auto}
.training-triad p{color:#999387;margin-top:8px;font-size:.92rem}
@media(max-width:700px){.training-triad{grid-template-columns:1fr}}

.tengoryu-story h4{font-family:"Cormorant Garamond",serif;font-size:2rem;margin-top:38px;color:var(--cream)}
.community-pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#49453d;border:1px solid #49453d;margin-top:45px}
.community-pillars article{background:var(--dark);padding:28px;min-height:230px;display:flex;flex-direction:column}
.community-pillars span{font-size:.72rem;color:#d2b15b}
.community-pillars h3{font-family:"Cormorant Garamond",serif;font-size:2rem;margin-top:auto}
.community-pillars p{color:#999387;margin-top:8px;font-size:.9rem}
@media(max-width:900px){.community-pillars{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.community-pillars{grid-template-columns:1fr}}

.dan-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:#49453d;border:1px solid #49453d;margin-top:35px}
.dan-grid div{background:var(--dark);padding:20px;display:flex;flex-direction:column;gap:4px}
.dan-grid strong{color:var(--cream)}.dan-grid span{color:#9d978c;font-size:.82rem}
.gi-layout{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#49453d;border:1px solid #49453d;margin-top:35px}
.gi-layout article{background:var(--dark);padding:28px;min-height:260px;display:flex;flex-direction:column}
.gi-icon{font-family:"Cormorant Garamond",serif;font-size:3.8rem;color:#d2b15b;line-height:1}
.gi-layout h4{margin-top:auto!important}.gi-layout p{font-size:.92rem!important}
@media(max-width:900px){.dan-grid{grid-template-columns:repeat(2,1fr)}.gi-layout{grid-template-columns:1fr}}
