/* Existing palette and artwork are preserved. */
.nav{gap:19px}.nav a{font-size:14px}.hero>.container,.practice>.container,.patterns>.container,.contact>.container{position:relative;z-index:1}
.hero:before,.hero-mark,.practice-watermark,.pattern-mark,.contact-mark{pointer-events:none}
/* White becomes black before screen blending, eliminating the opaque rectangle. */
.practice-watermark{filter:grayscale(1) contrast(1.3) invert(1) sepia(1) saturate(.8);mix-blend-mode:screen;opacity:.22}
.hero-mark,.contact-mark,.pattern-mark{filter:grayscale(1) contrast(1.3);mix-blend-mode:multiply;opacity:.1}
.pattern-mark{position:absolute;right:-35px;top:-100px;width:440px;transform:rotate(12deg)}
.patterns-intro{max-width:800px}.explore{font-size:14px;margin:0 0 28px;color:var(--blue)}.explore strong{font-weight:600}.explore i{margin-right:6px;color:var(--gold)}
.pattern-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;overflow:visible;margin:0;padding:5px}
.flip{display:block;appearance:none;border:0;background:none;color:inherit;padding:0;min-width:0;font:inherit;cursor:pointer;text-align:inherit;perspective:1500px;-webkit-tap-highlight-color:transparent}
.flip-inner{display:grid;grid-template-columns:minmax(0,1fr);height:100%;transform-style:preserve-3d;transition:transform .55s cubic-bezier(.22,.7,.25,1)}
.flip[aria-pressed=true] .flip-inner{transform:rotateY(180deg)}
.flip-face{grid-area:1/1;min-width:0;display:flex;flex-direction:column;backface-visibility:hidden;-webkit-backface-visibility:hidden;overflow-wrap:break-word}
.flip-front{transform:rotateY(0deg)}.flip-back{transform:rotateY(180deg)}
.flip-title{display:block;font:600 22px/1.15 var(--serif)}.flip-copy{display:block;font-size:14px;line-height:1.65}.flip-hint{display:block;padding-top:20px;margin-top:auto;font-size:12px;line-height:1.6}.flip-hint i{font-size:12px!important;margin:0 4px 0 0!important}
.pattern-flip .flip-face{min-height:390px;border-radius:130px 130px 14px 14px;background:linear-gradient(145deg,#294a70,#526d8c);color:white;padding:62px 17px 23px;text-align:center;align-items:center;justify-content:center;border:1px solid transparent}
.pattern-flip .flip-face>i{font-size:23px;color:var(--sand);margin-bottom:18px}.pattern-flip .flip-title{margin-bottom:14px;font-size:21px}.pattern-flip .flip-back{padding-top:64px}.pattern-flip .flip-hint{color:var(--sand)}.pattern-flip:hover .flip-face{border-color:var(--gold)}
.pattern-close{font-size:23px;line-height:1.4}.pattern-close strong{font-weight:600}
.sessions{border-top:1px solid var(--gold);margin-top:48px;padding-top:45px;scroll-margin-top:100px}.sessions h2{font-size:clamp(32px,3.5vw,46px)}
.session-path{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:26px;list-style:none;padding:0;margin:40px 0 0;position:relative}.session-path:before{content:'';position:absolute;left:20px;right:20px;top:22px;border-top:1px solid var(--gold)}.session-path li{position:relative}.step-number{position:relative;display:grid;place-items:center;width:46px;height:46px;border:1px solid var(--gold);border-radius:50%;background:var(--navy);color:var(--sand);font:500 24px var(--serif)}.session-path h3{font:600 25px/1.15 var(--serif);margin:23px 0 15px}.session-path p{font-size:14px;line-height:1.8;color:#dbe1e7;margin:0}
.mod-flip .flip-face{border:1px solid var(--line);background:var(--paper);padding:31px;min-height:410px}.mod-flip:hover .flip-face{border-color:var(--gold)}.mod-flip .flip-title{color:var(--navy);font-size:29px;margin:23px 0 16px}.mod-flip .flip-copy{color:var(--muted);font-size:16px;margin-bottom:16px}.mod-flip .flip-back .flip-title{margin-top:0}.mod-flip .details{margin-top:auto}.mod-flip .flip-hint{margin-top:0;color:var(--blue)}.mod-flip .flip-back .flip-hint{margin-top:auto}.details{font-size:14px}
.faq{background:var(--paper)}.faq-list{border-top:1px solid var(--line)}.faq details{border-bottom:1px solid var(--line)}.faq summary{display:flex;align-items:center;justify-content:space-between;gap:24px;cursor:pointer;list-style:none;padding:24px 4px;color:var(--navy);font:600 25px/1.25 var(--serif)}.faq summary::-webkit-details-marker{display:none}.faq summary i{font-size:15px;color:var(--gold);flex-shrink:0;transition:transform .2s}.faq details[open] summary i{transform:rotate(45deg)}.faq-answer{max-width:900px;color:var(--muted);padding:0 4px 23px;font-size:16px}.faq-answer p{margin:0 0 15px}.faq-answer p:last-child{margin:0}.faq-answer li{margin:6px 0}.faq summary:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.contact-location{font-size:14px;margin:15px 0}.eyebrow{font-size:12px}
@media(max-width:1150px){.menu-toggle{display:block}.nav{display:none;position:absolute;top:82px;left:0;width:100%;background:var(--paper);padding:16px 28px 25px;border-bottom:1px solid var(--line);max-height:calc(100dvh - 82px);overflow-y:auto}.nav.open{display:flex;flex-direction:column;align-items:stretch;gap:0}.nav a{font-size:16px;padding:10px 5px}.pattern-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding:5px 5px 22px;scrollbar-color:var(--blue) var(--paper)}.pattern-flip{flex:0 0 235px;scroll-snap-align:center}.pattern-flip .flip-face{min-height:390px}.session-path{gap:18px}}
@media(max-width:720px){.nav{top:74px;max-height:calc(100dvh - 74px)}.pattern-grid{margin-right:-20px;padding-right:20px}.pattern-flip{flex-basis:min(78vw,280px)}.pattern-mark{width:200px;right:-65px;top:20px}.sessions{padding-top:35px}.session-path{grid-template-columns:1fr;gap:30px}.session-path:before{left:22px;right:auto;top:23px;bottom:23px;border-top:0;border-left:1px solid var(--gold)}.session-path li{padding-left:70px}.step-number{position:absolute;left:0;top:0}.session-path h3{margin:0 0 12px}.session-path p{font-size:16px}.mod-flip .flip-face{padding:25px;min-height:450px}.mod-flip .flip-title{font-size:26px}.faq summary{font-size:23px}.pattern-close{text-align:left}.pattern-flip .flip-copy{font-size:15px}}
@media(max-width:720px){.pattern-mark{width:280px}}
@media(prefers-reduced-motion:reduce){.flip-inner{transition:none}.faq summary i{transition:none}}
