.philosophy{padding:8rem 0;background:var(--surface);border-top:1px solid var(--border)}.philosophy-grid{display:grid;grid-template-columns:1fr 1fr;gap:6rem;align-items:center}.philosophy-left .section-title{margin-bottom:2rem}.philosophy-body{font-size:1rem;line-height:1.8;color:var(--text);margin-bottom:1.5rem}.philosophy-quote{border-left:2px solid var(--red-brand);padding-left:1.5rem;margin:2rem 0;font-family:var(--font-heading);font-size:1.3rem;font-style:italic;font-weight:300;color:var(--white);line-height:1.5}.philosophy-right{position:relative}.philosophy-graphic{display:inline-block;position:relative;margin:0 auto}.philosophy-right{text-align:center}.philosophy-photo{width:320px;max-width:100%;height:auto;display:block}.philosophy-graphic .corner-br,.philosophy-graphic .corner-tl{position:absolute;width:40px;height:40px;border-color:var(--red-brand);border-style:solid;opacity:.7;z-index:2}.philosophy-graphic .corner-tl{top:-8px;left:-8px;border-width:2px 0 0 2px}.philosophy-graphic .corner-br{bottom:-8px;right:-8px;border-width:0 2px 2px 0}.instructor{padding:8rem 0;background:var(--black);border-top:1px solid var(--border);overflow:hidden}.instructor-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:5rem;align-items:start}.instructor-card{position:relative;background:var(--surface);border:1px solid var(--border)}.instructor-card-photo{width:100%;aspect-ratio:4/5;background:var(--surface-2);position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}.instructor-card-photo::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,var(--surface) 0,transparent 50%)}.instructor-photo{width:100%;height:100%;object-fit:cover;object-position:50px;display:block}.instructor-silhouette{width:100%;height:100%;background:linear-gradient(160deg,var(--surface-2) 0,#1a1508 100%);display:flex;align-items:center;justify-content:center}.instructor-silhouette svg{width:55%;height:55%;fill:rgba(200,150,62,0.08);stroke:rgba(200,150,62,0.15);stroke-width:1}.instructor-card-info{padding:1.5rem;position:relative;z-index:1;margin-top:-2rem}.instructor-name{font-family:var(--font-display);font-size:1.8rem;letter-spacing:.05em;color:var(--white);line-height:1}.instructor-title{font-family:var(--font-heading);font-size:.75rem;font-weight:600;letter-spacing:.25em;text-transform:uppercase;color:var(--red-brand);margin-top:.5rem}.belt-display{display:flex;align-items:center;gap:.5rem;margin-top:1rem}.belt-bar{height:10px;border-radius:1px}.belt-black{width:80px;background:#1a1a1a;border:1px solid #333}.belt-stripe{width:10px;background:var(--white)}.instructor-right .section-title{margin-bottom:2rem}.instructor-bio{font-size:1rem;line-height:1.85;color:var(--text);margin-bottom:1.5rem}.instructor-credentials{margin-top:3rem;display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.credential{padding:1.25rem;border:1px solid var(--border);background:var(--surface);position:relative;transition:border-color .2s,background .2s}.credential:hover{border-color:var(--red-brand);background:var(--red-dim)}.credential::before{content:'';position:absolute;top:0;left:0;width:3px;height:100%;background:var(--red-brand)}.credential-label{font-family:var(--font-heading);font-size:.65rem;font-weight:600;letter-spacing:.3em;text-transform:uppercase;color:var(--muted);margin-bottom:.4rem}.credential-value{font-family:var(--font-heading);font-size:1rem;font-weight:600;color:var(--white)}.classes{padding:8rem 0;background:var(--surface);border-top:1px solid var(--border)}.classes-header{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:end;margin-bottom:4rem}.classes-intro{font-size:1rem;line-height:1.8;color:var(--text)}.classes-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--border);border:1px solid var(--border)}.class-card{background:var(--surface-2);padding:2.5rem 2rem;position:relative;overflow:hidden;transition:background .25s;cursor:default}.class-card:hover{background:var(--surface)}.class-card::after{content:'';position:absolute;bottom:0;left:0;width:100%;height:2px;background:var(--red-brand);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease-out-expo)}.class-card:hover::after{transform:scaleX(1)}.class-icon{width:48px;height:48px;margin-bottom:1.5rem;position:relative}.class-icon svg{width:100%;height:100%;fill:#fff}.class-name{font-family:var(--font-display);font-size:1.8rem;letter-spacing:.04em;color:var(--white);margin-bottom:.75rem}.class-tag{display:inline-block;font-family:var(--font-heading);font-size:.65rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--red-brand);background:var(--red-dim);border:1px solid rgba(200,150,62,.25);padding:.2rem .6rem;margin-bottom:1rem}.class-desc{font-size:.9rem;line-height:1.7;color:var(--muted)}.schedule{padding:8rem 0;background:var(--black);border-top:1px solid var(--border)}.schedule-header{margin-bottom:4rem}.schedule-note{margin-top:1rem;font-size:.9rem;color:var(--muted)}.schedule-table-wrap{overflow-x:auto}.schedule-table{width:100%;border-collapse:collapse;min-width:700px}.schedule-table th{font-family:var(--font-heading);font-size:.7rem;font-weight:600;letter-spacing:.3em;text-transform:uppercase;color:var(--muted);padding:1rem .75rem;text-align:center;border-bottom:1px solid var(--border)}.schedule-table th.time-col{text-align:left;width:90px;position:sticky;left:0;background:var(--black);z-index:1}.schedule-table td{padding:1rem .75rem;border-bottom:1px solid var(--border);font-size:.9rem;color:var(--text);text-align:center}.schedule-table tbody tr:last-child td{border-bottom:none}.schedule-table tbody tr:hover td{background:var(--surface)}.time-cell{font-family:var(--font-heading);font-size:.72rem;color:var(--muted);white-space:nowrap;letter-spacing:.04em;text-align:left!important;position:sticky;left:0;background:var(--black);z-index:1}.saturday-block{margin-top:1.5rem;padding:1.25rem 1.5rem;border:1px solid var(--border);background:var(--surface);display:flex;align-items:center;gap:2rem}.saturday-block-label{font-family:var(--font-heading);font-size:.7rem;letter-spacing:.3em;text-transform:uppercase;color:var(--muted);flex-shrink:0}.saturday-block-slots{display:flex;flex-wrap:wrap;gap:1rem}.saturday-slot{display:flex;align-items:center;gap:.6rem}.saturday-slot-time{font-family:var(--font-heading);font-size:.8rem;color:var(--muted);letter-spacing:.04em}.class-pill{display:inline-block;font-family:var(--font-heading);font-size:.75rem;font-weight:600;letter-spacing:.1em;padding:.3rem 0;border-radius:2px;width:90px;text-align:center}.pill-gi{background:rgba(200,150,62,.15);color:var(--red-brand);border:1px solid rgba(200,150,62,.3)}.pill-nogi{background:rgba(100,150,255,.1);color:#7aa8ff;border:1px solid rgba(100,150,255,.25)}.pill-mma{background:rgba(255,255,255,.04);color:silver;border:1px solid var(--border)}.pill-kids{background:rgba(120,200,100,.08);color:#88c873;border:1px solid rgba(136,200,115,.2)}.pill-kids-nogi{background:rgba(160,100,220,.1);color:#b07ce8;border:1px solid rgba(160,100,220,.25)}.pill-open{background:rgba(200,150,62,.08);color:var(--muted);border:1px solid var(--border)}.schedule-footer{margin-top:2.5rem;padding:1.5rem;border:1px solid var(--border);background:var(--surface);display:flex;align-items:center;gap:1.5rem}.schedule-footer-icon{width:40px;height:40px;flex-shrink:0}.schedule-footer-icon svg{width:100%;height:100%;stroke:var(--red-brand);fill:none;stroke-width:1.5}.schedule-footer p{font-size:.9rem;color:var(--muted)}.schedule-footer a{color:var(--red-brand);text-decoration:none}.schedule-footer a:hover{text-decoration:underline}.location{padding:8rem 0;background:var(--surface);border-top:1px solid var(--border)}.location-grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:start}.location-left .section-title{margin-bottom:2rem}.location-info-block{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:2.5rem}.location-item{display:flex;gap:1rem;align-items:flex-start}.location-item-icon{width:36px;height:36px;flex-shrink:0;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;margin-top:.1rem}.location-item-icon svg{width:18px;height:18px;stroke:var(--red-brand);fill:none;stroke-width:1.5}.location-item-label{font-family:var(--font-heading);font-size:.65rem;font-weight:600;letter-spacing:.3em;text-transform:uppercase;color:var(--muted);margin-bottom:.3rem}.location-item-value{font-size:.95rem;color:var(--text)}.location-right{position:sticky;top:6rem}.map-frame{width:100%;aspect-ratio:1;background:var(--surface-2);border:1px solid var(--border);position:relative;overflow:hidden}.map-frame iframe{width:100%;height:100%;border:none;filter:invert(90%) hue-rotate(180deg) saturate(.5) brightness(.9);opacity:.7}.map-pin-label{position:absolute;bottom:1rem;left:1rem;right:1rem;background:rgba(10,10,10,.9);border:1px solid var(--border);padding:.75rem 1rem;display:flex;align-items:center;gap:.75rem}.map-pin-dot{width:8px;height:8px;background:var(--red-brand);border-radius:50%;flex-shrink:0;box-shadow:0 0 0 3px var(--red-dim)}.map-pin-text{font-family:var(--font-heading);font-size:.8rem;font-weight:600;color:var(--white)}.trial{padding:8rem 0;background:var(--black);border-top:1px solid var(--border);position:relative;overflow:hidden}.trial::before{content:'BJJ';position:absolute;font-family:var(--font-display);font-size:30vw;color:rgba(200,150,62,.03);line-height:1;right:-2vw;top:50%;transform:translateY(-50%);pointer-events:none;letter-spacing:-.05em}.trial-inner{position:relative;z-index:1;display:grid;grid-template-columns:1fr auto;gap:4rem;align-items:center}.trial-title{font-family:var(--font-display);font-size:clamp(3rem, 6vw, 5.5rem);line-height:.95;color:var(--white)}.trial-title span{color:var(--red-brand)}.trial-body{font-size:1rem;line-height:1.75;color:var(--muted);margin-top:1.5rem;max-width:55ch}.trial-actions{display:flex;flex-direction:column;gap:1rem;align-items:center}.trial-actions .btn-primary{width:100%;text-align:center;white-space:nowrap}.trial-social{font-family:var(--font-heading);font-size:.75rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);text-align:center}@media (min-width:768px){.trial-social{text-align:left}}.trial-social a{color:var(--red-brand);text-decoration:none}.trial-social a:hover{text-decoration:underline}footer{background:var(--surface);border-top:1px solid var(--border);padding:3rem 0}.footer-inner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:2rem}.footer-logo{display:flex;align-items:center;text-decoration:none}.footer-logo-img{height:36px;width:auto}.footer-links{display:flex;gap:2rem;list-style:none}.footer-links a{font-family:var(--font-heading);font-size:.8rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);text-decoration:none;transition:color .2s}.footer-links a:hover{color:var(--red-brand)}.footer-copy{font-size:.8rem;color:var(--muted);opacity:.6}.social-links{display:flex;gap:1rem}.social-link{width:38px;height:38px;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;color:var(--muted);text-decoration:none;transition:border-color .2s,color .2s,background .2s}.social-link:hover{border-color:var(--red-brand);color:var(--red-brand);background:var(--red-dim)}.social-link svg{width:16px;height:16px;fill:currentColor}@media (max-width:900px){.instructor-grid,.location-grid,.philosophy-grid{grid-template-columns:1fr;gap:3rem}.philosophy-right{display:none}.classes-grid{grid-template-columns:1fr}.classes-header{grid-template-columns:1fr;gap:1.5rem}.trial-inner{grid-template-columns:1fr;gap:2.5rem}}@media (max-width:600px){.classes,.instructor,.location,.philosophy,.schedule,.trial{padding:4rem 0}.philosophy{padding-top:4rem}.philosophy-left{text-align:left}.philosophy-left .section-title{margin-bottom:1rem}.philosophy-quote{margin:1rem auto;text-align:left;max-width:34ch}.instructor-grid{display:flex;flex-direction:column;align-items:center}.instructor-right{order:-1}.instructor-card-photo{aspect-ratio:3/2}.instructor-photo{object-position:center 15%}.instructor-right .section-title{margin-bottom:1rem}.instructor-credentials{display:none}.instructor-bio:last-of-type{display:none}.classes-header{margin-bottom:2rem}.class-card{padding:1.25rem 1rem;text-align:center;align-items:center}.class-icon{width:36px;height:36px;margin-bottom:.75rem;margin-inline:auto}.class-name{font-size:1.3rem}.class-desc{display:none}.schedule-table{min-width:700px}.schedule-table td,.schedule-table th{padding:.65rem .5rem;font-size:.78rem}.time-cell{font-size:.72rem}.schedule-header{margin-bottom:2rem}.trial-title{font-size:clamp(2.5rem, 10vw, 4rem)}.trial-body{font-size:.9rem;margin-top:1rem}.location-right{display:none}.footer-links{display:none}}