/* CHACMA BJJ — Request Session */
.session-page .nav a:first-child::after{display:none}.session-page .nav a.is-active::after{content:'';position:absolute;left:0;right:0;bottom:2px;height:2px;background:var(--red)}
.session-hero{padding:0;background:radial-gradient(circle at 82% 20%,rgba(183,31,51,.15),transparent 24%),linear-gradient(180deg,#07100f,#091310);border-bottom:1px solid var(--line)}.session-hero-grid{display:grid;grid-template-columns:1.18fr .82fr;min-height:500px;border-inline:1px solid var(--line)}.session-hero-copy{padding:70px 7vw 58px 42px;display:flex;flex-direction:column;justify-content:center}.session-hero h1{font-size:clamp(3.1rem,5.2vw,5.7rem);text-transform:uppercase;max-width:9ch;margin-bottom:20px}.session-hero-lede{max-width:690px;color:var(--inksoft);font-size:.94rem;line-height:1.65;margin:0}.session-hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}.session-principle{position:relative;overflow:hidden;border-left:1px solid var(--line);padding:34px 31px;background:linear-gradient(160deg,rgba(255,255,255,.035),rgba(255,255,255,.012))}.session-principle::before{content:'';position:absolute;width:330px;height:330px;border-radius:50%;background:rgba(183,31,51,.14);top:-120px;right:-112px}.session-mark-wrap{height:185px;display:flex;align-items:center;justify-content:center;margin:-6px 0 18px;position:relative;z-index:1}.session-mark{max-height:170px;max-width:220px;width:auto}.session-principle h2{font-size:clamp(2rem,3vw,3.05rem);line-height:1;max-width:12ch;margin-bottom:24px}.principle-list{display:grid;border-top:1px solid var(--line)}.principle-list span{padding:14px 0;border-bottom:1px solid var(--line);font-size:.69rem;text-transform:uppercase;letter-spacing:.12em;color:var(--inksoft)}.principle-list span::before{content:'→';color:var(--red);margin-right:11px}
.session-rail{background:#0b1412;border-bottom:1px solid var(--line)}.session-rail-grid{display:grid;grid-template-columns:repeat(5,1fr)}.session-rail-grid>div{padding:15px;border-right:1px solid var(--line)}.session-rail-grid>div:last-child{border-right:0}.session-rail-grid strong,.session-rail-grid span{display:block}.session-rail-grid strong{font-size:.63rem;letter-spacing:.11em;text-transform:uppercase}.session-rail-grid span{margin-top:4px;color:var(--inksoft);font-size:.7rem;line-height:1.35}
.request-section{padding:78px 0 88px}.request-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:30px;align-items:start}.request-intro{position:sticky;top:92px;padding-right:14px}.request-intro h2{font-size:clamp(2.65rem,3.7vw,4.1rem);max-width:10ch;margin-bottom:18px}.request-intro>p:not(.eyebrow){color:#58615d;max-width:530px;margin:0 0 25px;font-size:.92rem}.request-notes{display:grid;gap:12px}.request-notes>div{padding:17px;border-left:3px solid var(--red);background:#fff;border:1px solid var(--linedark);border-left-width:3px}.request-notes strong,.request-notes span{display:block}.request-notes strong{font-size:.72rem;text-transform:uppercase;letter-spacing:.09em;color:#252c29;margin-bottom:6px}.request-notes span{font-size:.8rem;line-height:1.5;color:#66706b}.session-form{background:#fff;border:1px solid var(--linedark);padding:28px 28px 26px;box-shadow:0 18px 55px rgba(16,24,21,.07)}.form-section-head{display:grid;grid-template-columns:43px 1fr;gap:11px;align-items:center;padding:4px 0 15px;margin:7px 0 18px;border-bottom:1px solid var(--linedark)}.form-section-head:first-child{margin-top:0}.form-section-head>span{width:35px;height:35px;border-radius:50%;background:#18201e;color:#fff;display:grid;place-items:center;font-size:.62rem;font-weight:700;letter-spacing:.1em}.form-section-head strong,.form-section-head small{display:block}.form-section-head strong{font-family:var(--display);font-size:1.15rem;color:#1a211f}.form-section-head small{margin-top:3px;color:#747c78;font-size:.74rem}.form-grid{display:grid;gap:15px;margin-bottom:29px}.form-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.form-field{display:grid;gap:7px}.form-field-wide{grid-column:1/-1}.form-field>span{font-size:.65rem;letter-spacing:.11em;text-transform:uppercase;font-weight:700;color:#3a4440}.form-field em{font-style:normal;color:var(--red)}.form-field input,.form-field select,.form-field textarea{width:100%;border:1px solid #cad0cd;background:#fbfaf6;color:#18201e;outline:none;padding:12px 13px;min-height:47px;border-radius:0}.form-field textarea{resize:vertical;min-height:124px;line-height:1.5}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:#6f7773;background:#fff;box-shadow:0 0 0 3px rgba(183,31,51,.08)}.form-check{display:grid;grid-template-columns:20px 1fr;gap:10px;align-items:start;margin:22px 0 17px;padding:15px 0;border-block:1px solid var(--linedark);font-size:.78rem;line-height:1.5;color:#5d6662}.form-check input{width:17px;height:17px;margin-top:2px;accent-color:var(--red)}.form-error{padding:12px 14px;margin:0 0 16px;border-left:3px solid var(--red);background:#f5e9e8;color:#6f2028;font-size:.8rem}.form-actions{display:flex;gap:10px;flex-wrap:wrap}.form-submit{border:0;cursor:pointer}.button-ghost-dark{background:transparent;border-color:#4d5652;color:#222a27;cursor:pointer}.button-ghost-dark:hover{background:#18201e;color:#fff}.transport-note{margin:13px 0 0;color:#818985;font-size:.7rem;line-height:1.5}
.how-section{padding:78px 0 84px;border-bottom:1px solid var(--line)}.how-head{display:grid;grid-template-columns:.3fr 1fr;align-items:end;margin-bottom:28px}.how-head h2{font-size:clamp(2.7rem,4vw,4.4rem)}.how-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.how-card{background:#0d1715;padding:26px 24px;min-height:220px}.how-card>span{display:block;font-size:.62rem;letter-spacing:.14em;color:var(--red);font-weight:700;margin-bottom:35px}.how-card h3{font-size:1.4rem;line-height:1.05;margin-bottom:11px}.how-card p{margin:0;color:var(--inksoft);font-size:.84rem;line-height:1.55}.session-faq{padding:78px 0 84px}.faq-grid{display:grid;grid-template-columns:.52fr 1fr;gap:45px;align-items:start}.faq-heading h2{font-size:clamp(2.7rem,3.8vw,4.05rem);max-width:8ch}.faq-list{border-top:1px solid var(--linedark)}.faq-list details{border-bottom:1px solid var(--linedark)}.faq-list summary{list-style:none;cursor:pointer;padding:20px 40px 20px 0;position:relative;font-family:var(--display);font-weight:700;font-size:1.08rem;color:#202825}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary::after{content:'+';position:absolute;right:2px;top:17px;font-family:var(--sans);font-size:1.4rem;color:var(--red)}.faq-list details[open] summary::after{content:'−'}.faq-list details p{margin:0;padding:0 42px 20px 0;color:#5e6763;line-height:1.6;font-size:.87rem}.session-contact{padding:50px 0 56px;background:linear-gradient(120deg,#2b080d,#0a1110 44%,#0a1110)}.session-contact-grid{display:grid;grid-template-columns:1fr auto;gap:28px;align-items:center}.session-contact h2{font-size:clamp(2.45rem,3.5vw,3.8rem);margin-bottom:9px}.session-contact p:not(.eyebrow){margin:0;color:var(--inksoft)}
@media(max-width:980px){.session-hero-grid,.request-grid,.faq-grid{grid-template-columns:1fr}.session-hero-copy{padding:54px 30px 44px}.session-principle{border-left:0;border-top:1px solid var(--line);display:grid;grid-template-columns:180px 1fr;column-gap:28px;align-items:center}.session-principle .eyebrow,.session-principle h2,.session-principle .principle-list{grid-column:2}.session-mark-wrap{grid-column:1;grid-row:1/4;height:auto;margin:0}.session-rail-grid{grid-template-columns:repeat(3,1fr)}.request-intro{position:static;padding-right:0}.how-head{grid-template-columns:1fr;gap:10px}}
@media(max-width:700px){.session-hero-grid{border-inline:0}.session-hero-copy{padding:46px 0 36px}.session-hero h1{font-size:2.65rem;max-width:10ch}.session-principle{display:block;padding:28px 20px 26px}.session-mark-wrap{height:140px;margin:0 0 18px}.session-mark{max-height:135px}.session-rail-grid,.form-grid-2,.how-grid{grid-template-columns:1fr}.session-rail-grid>div{border-right:0;border-bottom:1px solid var(--line)}.session-rail-grid>div:last-child{border-bottom:0}.request-section,.how-section,.session-faq{padding:66px 0}.session-form{padding:22px 18px 20px}.form-field-wide{grid-column:auto}.form-actions{display:grid}.form-actions .button{width:100%}.how-card{min-height:unset}.how-card>span{margin-bottom:24px}.faq-grid{gap:28px}.session-contact-grid{grid-template-columns:1fr;align-items:start}.session-contact-grid .button{justify-self:start}}

/* =========================================================
   SESSION PAGE VISUAL / RESPONSIVE ALIGNMENT — 8 SEP 2026
   ========================================================= */
.session-page .site-header .brand-logo,.session-page .footer-logo{filter:none}
.session-page .header-actions{flex-direction:row-reverse}

.session-hero{position:relative;overflow:hidden;height:clamp(460px,30vw,575px);min-height:460px;border-bottom:1px solid var(--line);background:#06100e}
.session-hero-media{position:absolute;inset:0;overflow:hidden}
.session-hero-media img{width:100%;height:100%;object-fit:cover;object-position:64% 10%;filter:saturate(.87) contrast(1.05) brightness(.86)}
.session-hero-shade{position:absolute;inset:0;z-index:1;background:
  linear-gradient(90deg,rgba(5,13,12,.995) 0%,rgba(5,13,12,.96) 27%,rgba(5,13,12,.74) 44%,rgba(5,13,12,.28) 64%,rgba(5,13,12,.28) 78%,rgba(5,13,12,.62) 100%),
  linear-gradient(180deg,rgba(5,13,12,.20),rgba(5,13,12,.02) 52%,rgba(5,13,12,.68))}
.session-hero-grid{position:relative;z-index:2;height:100%;min-height:0;border:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(350px,.68fr);align-items:stretch;gap:clamp(30px,4vw,72px)}
.session-hero-copy{padding:clamp(102px,7vw,128px) 0 34px;display:flex;flex-direction:column;justify-content:flex-start;max-width:650px}
.session-hero h1{font-size:clamp(3.9rem,4.8vw,5.8rem);line-height:.84;text-transform:uppercase;max-width:9ch;margin-bottom:18px;letter-spacing:-.04em}
.session-hero-lede{max-width:585px;color:#d7d2c8;font-size:clamp(.84rem,.72vw,.96rem);line-height:1.55;margin:0}
.session-hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}
.session-principle{align-self:center;justify-self:end;width:min(100%,430px);position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.16);border-top:2px solid var(--red);padding:25px 26px 24px;background:linear-gradient(150deg,rgba(8,18,16,.88),rgba(7,14,13,.66));backdrop-filter:blur(5px);box-shadow:0 18px 45px rgba(0,0,0,.22)}
.session-principle::before{display:none}
.session-principle h2{font-size:clamp(1.85rem,2vw,2.55rem);line-height:.93;max-width:13ch;margin:0 0 18px;color:#f4efe6}
.principle-list{display:grid;border-top:1px solid var(--line)}
.principle-list span{padding:11px 0;border-bottom:1px solid var(--line);font-size:clamp(.62rem,.54vw,.72rem);line-height:1.4;text-transform:uppercase;letter-spacing:.11em;color:#d7d2c8}
.principle-list span::before{content:'→';color:var(--gold);margin-right:10px}
.session-principle-note{margin:14px 0 0;color:#cfc6b6;font-family:var(--display);font-style:italic;font-size:.96rem;line-height:1.3}
.session-mark-wrap,.session-mark{display:none!important}

.session-rail{background:#07110f;border-bottom:1px solid var(--line)}
.session-rail-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr))}
.session-rail-grid>div{padding:15px clamp(13px,1.2vw,20px);border-right:1px solid var(--line);min-width:0}
.session-rail-grid strong{font-size:clamp(.6rem,.5vw,.69rem);letter-spacing:.1em}
.session-rail-grid span{font-size:clamp(.68rem,.56vw,.77rem);color:#c8c4bb}

.request-section{padding:clamp(58px,5vw,82px) 0 clamp(66px,5.5vw,92px);background:#f3eee4}
.request-grid{display:grid;grid-template-columns:minmax(270px,.52fr) minmax(0,1fr);gap:clamp(34px,4vw,72px);align-items:start}
.request-intro{position:sticky;top:95px;padding:8px 0 0}
.request-intro h2{font-size:clamp(2.6rem,3.3vw,4.15rem);line-height:.91;max-width:10ch;margin-bottom:18px}
.request-intro>p:not(.eyebrow){color:#59615d;max-width:470px;margin:0 0 25px;font-size:clamp(.86rem,.72vw,.96rem);line-height:1.58}
.request-notes{display:grid;gap:10px;max-width:500px}
.request-notes>div{padding:14px 15px 14px 16px;background:rgba(255,255,255,.45);border:1px solid var(--linedark);border-left:2px solid var(--red);box-shadow:none}
.request-notes strong{font-size:.68rem;letter-spacing:.09em}
.request-notes span{font-size:.78rem;line-height:1.48}

.session-form{background:#faf7f0;border:1px solid #d7d0c5;padding:clamp(22px,2vw,32px);box-shadow:0 10px 34px rgba(20,27,24,.045)}
.form-section-head{grid-template-columns:34px 1fr;gap:10px;padding:0 0 12px;margin:4px 0 17px;border-bottom:1px solid #d9d2c8}
.form-section-head:first-child{margin-top:0}
.form-section-head>span{width:auto;height:auto;border-radius:0;background:transparent;color:var(--red);display:block;font-family:var(--display);font-size:1.1rem;font-weight:700;letter-spacing:0}
.form-section-head strong{font-family:var(--display);font-size:1.28rem;line-height:1;color:#1b221f}
.form-section-head small{font-size:.72rem}
.form-grid{gap:14px;margin-bottom:26px}
.form-field>span{font-size:.63rem;letter-spacing:.1em}
.form-field input,.form-field select,.form-field textarea{background:#fffdf8;border-color:#d0cbc3;min-height:46px;padding:11px 12px}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:#81776c;box-shadow:0 0 0 3px rgba(183,31,51,.065)}
.form-check{margin:20px 0 17px;padding:14px 0;font-size:.76rem}
.transport-note{font-size:.68rem}

.how-section{padding:clamp(58px,5vw,82px) 0;background:#07100f}
.how-head{display:grid;grid-template-columns:minmax(180px,.3fr) 1fr;align-items:end;margin-bottom:24px}
.how-head h2{font-size:clamp(2.6rem,3.8vw,4.5rem);line-height:.9}
.how-grid{gap:1px;background:var(--line);border:1px solid var(--line)}
.how-card{background:#0b1513;padding:24px 24px 26px;min-height:205px}
.how-card>span{margin-bottom:30px;color:var(--gold)}
.how-card h3{font-size:clamp(1.3rem,1.3vw,1.65rem)}
.how-card p{font-size:clamp(.82rem,.68vw,.91rem)}

.session-faq{padding:clamp(58px,5vw,82px) 0;background:#f3eee4}
.faq-grid{grid-template-columns:minmax(260px,.48fr) minmax(0,1fr);gap:clamp(34px,4vw,70px)}
.faq-heading h2{font-size:clamp(2.6rem,3.4vw,4.2rem);line-height:.91}
.faq-list summary{font-size:clamp(1.02rem,.95vw,1.18rem)}
.faq-list details p{font-size:clamp(.84rem,.7vw,.92rem)}
.session-contact{padding:42px 0 48px;background:linear-gradient(110deg,#300a11 0%,#12100f 38%,#07100f 78%)}
.session-contact h2{font-size:clamp(2.35rem,3vw,3.65rem);line-height:.92}

@media(max-width:1200px){
  .session-hero{height:470px;min-height:470px}
  .session-hero-media img{object-position:65% 9%}
  .session-hero-grid{grid-template-columns:minmax(0,1fr) minmax(310px,.62fr);gap:28px}
  .session-hero-copy{padding-top:96px}
  .session-hero h1{font-size:clamp(3.45rem,5.3vw,4.4rem)}
  .session-principle{width:min(100%,370px);padding:22px}
  .request-grid{grid-template-columns:330px minmax(0,1fr);gap:34px}
}

@media(max-width:980px){
  .session-hero{height:560px;min-height:560px}
  .session-hero-media img{object-position:67% 8%}
  .session-hero-grid{grid-template-columns:58% 42%;gap:16px}
  .session-hero-copy{padding:92px 0 30px;max-width:none}
  .session-hero h1{font-size:clamp(3.1rem,6vw,3.8rem)}
  .session-principle{align-self:end;margin-bottom:28px;width:100%;padding:18px 18px 17px}
  .session-principle h2{font-size:1.75rem}
  .session-rail-grid{grid-template-columns:repeat(3,1fr)}
  .request-grid,.faq-grid{grid-template-columns:1fr}
  .request-intro{position:static;padding:0;max-width:760px}
  .request-notes{grid-template-columns:repeat(2,1fr);max-width:none}
  .how-head{grid-template-columns:1fr;gap:8px}
}

@media(max-width:700px){
  .session-page .header-actions .button{display:none}
  .session-hero{height:760px;min-height:760px}
  .session-hero-media img{object-position:68% 50%;filter:saturate(.86) contrast(1.04) brightness(.82)}
  .session-hero-shade{background:
    linear-gradient(180deg,rgba(5,13,12,.96) 0%,rgba(5,13,12,.80) 43%,rgba(5,13,12,.24) 68%,rgba(5,13,12,.88) 100%),
    linear-gradient(90deg,rgba(5,13,12,.5),rgba(5,13,12,.06) 80%)}
  .session-hero-grid{display:flex;flex-direction:column;justify-content:space-between;gap:18px;padding-top:0;padding-bottom:22px}
  .session-hero-copy{padding:92px 0 0;max-width:100%}
  .session-hero h1{font-size:clamp(2.8rem,11vw,3.25rem);max-width:9ch}
  .session-hero-lede{font-size:.84rem;max-width:96%}
  .session-principle{align-self:auto;margin:0;width:100%;padding:17px 18px 16px;background:rgba(7,16,15,.84)}
  .session-principle h2{font-size:1.7rem;max-width:none}
  .principle-list{grid-template-columns:1fr;}
  .principle-list span{padding:8px 0;font-size:.61rem}
  .session-principle-note{font-size:.88rem;margin-top:10px}
  .session-rail-grid{grid-template-columns:1fr 1fr}
  .session-rail-grid>div{border-bottom:1px solid var(--line)}
  .request-section,.how-section,.session-faq{padding:58px 0}
  .request-notes{grid-template-columns:1fr}
  .session-form{padding:20px 17px}
  .form-grid-2{grid-template-columns:1fr}
  .form-field-wide{grid-column:auto}
  .form-actions{display:grid}
  .form-actions .button{width:100%}
  .how-grid{grid-template-columns:1fr}
  .how-card{min-height:auto}
  .how-card>span{margin-bottom:20px}
  .session-contact-grid{grid-template-columns:1fr;align-items:start}
}

@media(max-width:430px){
  .session-hero{height:790px;min-height:790px}
  .session-hero h1{font-size:2.82rem}
  .session-rail-grid{grid-template-columns:1fr}
  .session-rail-grid>div{border-right:0}
}

/* Session hero refinement: use photography and small editorial annotation rather than a floating UI panel. */
.session-hero-media img{object-position:64% 6%;filter:saturate(.82) contrast(1.07) brightness(.78)}
.session-hero-shade{background:
  linear-gradient(90deg,rgba(5,13,12,.998) 0%,rgba(5,13,12,.97) 28%,rgba(5,13,12,.72) 45%,rgba(5,13,12,.16) 65%,rgba(5,13,12,.10) 82%,rgba(5,13,12,.40) 100%),
  linear-gradient(180deg,rgba(5,13,12,.16),rgba(5,13,12,.01) 54%,rgba(5,13,12,.60))}
.session-hero-grid{grid-template-columns:minmax(0,1fr) 250px;gap:40px}
.session-principle{align-self:start;justify-self:end;width:230px;margin-top:clamp(100px,7vw,126px);padding:0 0 0 18px;border:0;border-left:1px solid rgba(200,173,117,.62);background:transparent;backdrop-filter:none;box-shadow:none;overflow:visible}
.session-principle .eyebrow{margin-bottom:10px}
.session-principle h2{font-family:var(--sans);font-size:.68rem;line-height:1.55;letter-spacing:.16em;text-transform:uppercase;max-width:19ch;margin:0 0 13px;color:#eadfcf}
.session-principle .principle-list{border-top:0}
.session-principle .principle-list span{padding:5px 0;border:0;font-size:.52rem;line-height:1.45;letter-spacing:.14em;color:#cfc8bc}
.session-principle .principle-list span::before{content:'—';margin-right:7px;color:var(--red)}
.session-principle-note{margin-top:12px;padding-top:10px;border-top:1px solid rgba(255,255,255,.13);font-family:var(--display);font-style:italic;font-size:.82rem;line-height:1.28;color:#d9cfbd}
@media(max-width:1200px){
  .session-hero-media img{object-position:65% 5%}
  .session-hero-grid{grid-template-columns:minmax(0,1fr) 205px;gap:22px}
  .session-principle{width:195px;margin-top:98px;padding-left:14px}
}
@media(max-width:980px){
  .session-hero{height:500px;min-height:500px}
  .session-hero-media img{object-position:67% 5%}
  .session-hero-grid{display:block}
  .session-hero-copy{width:60%;padding-top:92px}
  .session-principle{display:none}
}
@media(max-width:700px){
  .session-hero{height:650px;min-height:650px}
  .session-hero-media img{object-position:70% 50%;filter:saturate(.80) contrast(1.05) brightness(.72)}
  .session-hero-shade{background:
    linear-gradient(180deg,rgba(5,13,12,.97) 0%,rgba(5,13,12,.80) 42%,rgba(5,13,12,.22) 69%,rgba(5,13,12,.86) 100%),
    linear-gradient(90deg,rgba(5,13,12,.62),rgba(5,13,12,.05) 82%)}
  .session-hero-grid{display:block;padding-bottom:0}
  .session-hero-copy{width:100%;padding-top:92px}
}
@media(max-width:430px){
  .session-hero{height:670px;min-height:670px}
  .session-hero-media img{object-position:71% 50%}
}
