:root{--ink:#061713;--ink2:#0a2922;--emerald:#0f4b3d;--gold:#d8b76e;--gold2:#f0d99e;--ivory:#fffdf5;--paper:#f5f2e9;--charcoal:#16221f;--muted:#b8c2bd;--line:rgba(216,183,110,.35);--serif:Georgia,"Times New Roman",serif;--sans:"Segoe UI",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--ink)}body{margin:0;background:var(--paper);color:var(--charcoal);font:16px/1.65 var(--sans)}body.menu-open{overflow:hidden}a{color:inherit}button,a{font:inherit}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;z-index:100;left:1rem;top:-5rem;background:var(--ivory);color:var(--ink);padding:.75rem 1rem}.skip-link:focus{top:1rem}:focus-visible{outline:3px solid #ffd56a;outline-offset:4px}
.site-header{position:fixed;z-index:30;inset:0 0 auto;display:flex;align-items:center;justify-content:space-between;padding:1rem 3vw;color:var(--ivory);background:linear-gradient(to bottom,rgba(2,11,9,.8),transparent);transition:background .3s,padding .3s}.site-header.is-compact{padding:.5rem 3vw;background:rgba(4,20,17,.92);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.mini-brand{display:flex;align-items:center;gap:.65rem;text-decoration:none;font-family:var(--serif);letter-spacing:.04em}.mini-brand img{width:42px;height:50px;object-fit:contain;transition:width .3s,height .3s}.site-header:not(.is-compact) .mini-brand{opacity:0;pointer-events:none}.site-header.is-compact .mini-brand img{width:30px;height:36px}.menu-button,.menu-close,.motion-toggle,.dialog-close{border:0;background:none;color:inherit;cursor:pointer}.menu-button{display:flex;align-items:center;gap:.8rem;padding:.7rem;text-transform:uppercase;letter-spacing:.18em;font-size:.76rem}.menu-lines{display:grid;gap:5px;width:27px}.menu-lines i{display:block;height:1px;background:currentColor}
.hero{position:relative;min-height:100svh;overflow:hidden;background:#0a201c;color:var(--ivory);isolation:isolate}.hero-video{position:absolute;z-index:-3;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 38%;filter:saturate(.92) contrast(1.03) brightness(.88)}.hero-protection{position:absolute;z-index:-2;inset:0;background:linear-gradient(90deg,rgba(1,8,7,.38),rgba(2,10,8,.06) 42%,rgba(1,8,7,.76) 100%),linear-gradient(0deg,rgba(2,10,8,.55),transparent 38%,rgba(2,10,8,.28))}.hero-shield-wrap{position:absolute;left:clamp(3rem,9vw,10rem);top:clamp(6rem,14vh,9rem);width:clamp(130px,17vw,240px);filter:drop-shadow(0 18px 35px rgba(0,0,0,.55));animation:arrive .9s .2s both}.hero-shield{display:block;width:100%}.shield-glimmer{position:absolute;inset:10% 12% 18%;overflow:hidden;clip-path:polygon(0 0,100% 0,100% 14%,0 36%);opacity:0}.shield-glimmer:after{content:"";position:absolute;left:-80%;top:12%;width:70%;height:8%;background:linear-gradient(90deg,transparent,rgba(255,247,205,.9),transparent);transform:rotate(-18deg);filter:blur(3px);animation:glimmer 1.1s 1.8s ease-out forwards}.hero-identity{position:absolute;right:clamp(2rem,7vw,8rem);top:50%;width:min(560px,48vw);transform:translateY(-48%);text-align:right;animation:arrive .9s .45s both}.name-art{display:grid;gap:.7rem;justify-items:end;padding:1.3rem 1.5rem;background:radial-gradient(ellipse at 70% 50%,rgba(0,0,0,.58),transparent 72%)}.name-art img{display:block;width:min(100%,520px);height:auto;filter:drop-shadow(0 3px 4px #000) drop-shadow(0 0 18px rgba(0,0,0,.9))}.hero-role,.hero-place{margin:.7rem 1.5rem 0;text-transform:uppercase;letter-spacing:.2em;text-shadow:0 2px 8px #000}.hero-role{font-size:.9rem;color:var(--ivory);font-weight:700}.hero-place{font-size:.72rem;color:var(--gold2)}.hero-place span{margin:0 .4rem}.signage-menu{margin:.8rem .8rem 0 auto;color:var(--gold2)}.enter-link{position:absolute;left:50%;bottom:2rem;transform:translateX(-50%);text-decoration:none;text-transform:uppercase;letter-spacing:.2em;font-size:.68rem;color:var(--ivory);display:grid;justify-items:center;gap:.4rem}.enter-link span{color:var(--gold2);font-size:1.1rem}
.scene-panel{position:relative;min-height:100svh;color:var(--ivory);display:grid;align-items:center;overflow:hidden}.scene-still{position:absolute;z-index:0;inset:0;background:url("assets/corpus-christi-downtown.jpg") center/cover}.scene-shade{position:absolute;z-index:1;inset:0;background:linear-gradient(90deg,rgba(4,18,15,.72),rgba(4,18,15,.12) 62%),linear-gradient(0deg,rgba(4,18,15,.5),transparent)}.floating-thoughts{position:relative;z-index:2;width:min(1200px,90vw);margin:auto}.floating-thoughts p{font-family:var(--serif);font-size:clamp(3rem,7.5vw,7.4rem);line-height:.92;margin:.2em 0;text-shadow:0 3px 18px rgba(0,0,0,.9)}.floating-thoughts p:nth-child(2){margin-left:12vw;color:var(--gold2)}.floating-thoughts p:nth-child(3){margin-left:4vw}
.cinematic-scene{background:#0a201c center/cover}.coast-scene{background-image:url("media/pexels-12907467-poster.jpg")}.lexington-scene{background-image:url("media/pexels-12955448-poster.jpg")}.scene-video{position:absolute;z-index:0;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.96) contrast(1.04) brightness(.78)}.solo-thought{display:flex}.solo-thought p{max-width:10ch;color:var(--gold2)}.coast-scene{align-items:end}.coast-scene .scene-shade{background:linear-gradient(90deg,rgba(2,14,12,.76),rgba(2,14,12,.1) 67%),linear-gradient(0deg,rgba(2,14,12,.68),transparent 55%)}.coast-scene .floating-thoughts{padding-bottom:12vh}.lexington-scene .scene-video{object-position:center 44%}.lexington-scene .scene-shade{background:linear-gradient(270deg,rgba(2,14,12,.78),rgba(2,14,12,.08) 66%),linear-gradient(0deg,rgba(2,14,12,.5),transparent)}.lexington-scene .floating-thoughts{justify-content:flex-end;text-align:right}.lexington-scene .solo-thought p{max-width:12ch}.still-scene .floating-thoughts{align-self:end;padding-bottom:12vh}.still-scene .solo-thought p{max-width:11ch}
.portrait-chapter,.practice-section,.start-here,.directory-section,.schedule-section,.personal-contact{padding:clamp(5rem,10vw,9rem) max(5vw,calc((100vw - 1280px)/2));}.portrait-chapter{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);gap:clamp(3rem,7vw,8rem);align-items:center;background:var(--paper)}.portrait-frame{position:relative;box-shadow:0 25px 70px rgba(4,20,17,.22)}.portrait-frame>img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;object-position:center 18%}.question-door{position:absolute;right:-1.5rem;bottom:1.5rem;width:min(330px,80%);text-align:left;border:1px solid rgba(240,217,158,.5);border-radius:18px;padding:1.2rem 1.4rem;background:rgba(5,27,23,.9);color:var(--ivory);box-shadow:0 15px 40px rgba(0,0,0,.26);backdrop-filter:blur(14px);cursor:pointer}.question-door span{display:block;font:1.35rem var(--serif)}.question-door small{display:block;color:var(--gold2);margin-top:.25rem}.section-label{text-transform:uppercase;letter-spacing:.18em;font-size:.72rem;font-weight:700;color:#826625;margin:0 0 1.2rem}.chapter-copy h2,.section-heading h2,.practice-section h2,.questions-invite h2,.schedule-card h2,.personal-contact h2,.dialog-head h2{font:400 clamp(2.7rem,5vw,5rem)/.98 var(--serif);margin:0 0 1.5rem;letter-spacing:-.035em}.chapter-copy>p:not(.section-label),.section-heading>p:not(.section-label),.practice-section>div>p:not(.section-label),.schedule-card>p:not(.section-label),.personal-contact>p{font-size:1.08rem;max-width:55ch}.experience-line{font-weight:700;color:var(--emerald)}.text-action,.card-action{display:inline-flex;align-items:center;gap:.75rem;color:var(--emerald);font-weight:700;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:.25rem}
.practice-section{background:linear-gradient(130deg,var(--ink),#11392f);color:var(--ivory);display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(3rem,8vw,8rem);align-items:start}.practice-section .section-label{color:var(--gold2)}.practice-panel{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.practice-panel summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:2rem;padding:1.5rem 0;color:var(--gold2);font-weight:700}.practice-panel summary::-webkit-details-marker{display:none}.practice-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 2rem;padding:0 0 1.5rem}.practice-grid span{padding:.65rem 0;border-top:1px solid rgba(255,255,255,.1)}
.questions-invite{min-height:70vh;padding:8rem 6vw;display:grid;place-content:center;text-align:center;background:linear-gradient(rgba(4,18,15,.62),rgba(4,18,15,.82)),url("assets/corpus-christi-downtown.jpg") center/cover;color:var(--ivory)}.questions-invite .section-label{color:var(--gold2)}.primary-action{display:inline-flex;justify-content:center;align-items:center;gap:.8rem;border:1px solid var(--gold);border-radius:12px;padding:1rem 1.25rem;background:var(--gold);color:var(--ink);font-weight:800;text-decoration:none;cursor:pointer;box-shadow:0 10px 30px rgba(0,0,0,.16)}
.start-here{background:#f7f5ee}.section-heading{max-width:820px;margin-bottom:3rem}.section-heading>p:not(.section-label){color:#4e5d58}.tool-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}.tool-card{position:relative;display:flex;flex-direction:column;min-height:340px;border:1px solid rgba(8,52,42,.15);border-radius:22px;padding:2rem;background:var(--ivory);box-shadow:0 12px 40px rgba(4,26,21,.07)}.tool-card:hover{transform:translateY(-3px);box-shadow:0 18px 48px rgba(4,26,21,.12)}.tool-number{color:#9c7c34;font-size:.72rem;letter-spacing:.16em}.tool-card h3{font:400 2rem/1.1 var(--serif);margin:2rem 0 1rem}.tool-card p{max-width:48ch}.tool-card small{display:block;margin-top:auto;color:#68736f}.tool-actions,.record-actions{display:flex;flex-wrap:wrap;gap:.7rem;margin:1.2rem 0}.tool-actions a,.record-actions a,.contact-choices a{display:flex;justify-content:space-between;gap:1rem;text-decoration:none;border:1px solid rgba(8,52,42,.22);border-radius:11px;padding:.8rem 1rem;background:#f6f8f4;color:var(--emerald);font-weight:700}.quiet-contact{margin-top:auto;color:var(--emerald)}.card-action{margin:auto 0 1rem;width:max-content}.records-card{grid-column:1/-1;min-height:auto}.record-actions a{flex:1 1 220px}
.locations-section,.reviews-section{padding:clamp(5rem,10vw,9rem) max(5vw,calc((100vw - 1280px)/2));background:var(--ink);color:var(--ivory)}.light-heading .section-label{color:var(--gold2)}.light-heading>p:not(.section-label){color:var(--muted)}.map-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(2rem,5vw,5rem)}.map-visual{position:sticky;top:6rem;align-self:start;min-height:480px;border:1px solid var(--line);border-radius:24px;overflow:hidden;padding:2rem;background:linear-gradient(145deg,#153f35,#071914)}.map-grid{position:absolute;inset:0;opacity:.28;background-image:linear-gradient(rgba(216,183,110,.25) 1px,transparent 1px),linear-gradient(90deg,rgba(216,183,110,.25) 1px,transparent 1px);background-size:48px 48px;transform:rotate(-8deg) scale(1.2)}.map-visual>p{position:absolute;left:2rem;bottom:1rem;color:var(--muted);font-size:.78rem}.map-pin{position:absolute;z-index:2;left:18%;top:36%;display:grid;max-width:70%;padding-left:2rem}.map-pin>span{position:absolute;left:0;top:.15rem;width:18px;height:18px;border-radius:50% 50% 50% 0;background:var(--gold);transform:rotate(-45deg);box-shadow:0 0 0 8px rgba(216,183,110,.14)}.map-pin strong{font:1.8rem/1.05 var(--serif)}.map-pin small{color:var(--gold2);margin-top:.5rem}.location-list{display:grid}.location-row{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;text-decoration:none;padding:1rem 0;border-top:1px solid rgba(255,255,255,.14)}.location-row strong,.location-row small{display:block}.location-row small{color:var(--muted)}.location-row b{white-space:nowrap;color:var(--gold2);font-size:.78rem}.location-row.featured{padding:1.35rem;background:rgba(216,183,110,.09);border:1px solid var(--line);border-radius:14px;margin-bottom:.8rem}.source-note{font-size:.78rem!important;color:#7b8580!important;margin-top:1.5rem}
.directory-section{background:var(--paper)}.court-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.court-grid details{background:var(--ivory);border:1px solid rgba(8,52,42,.15);border-radius:14px;overflow:hidden}.court-grid summary{display:flex;justify-content:space-between;list-style:none;cursor:pointer;padding:1rem 1.2rem;font-weight:750;color:var(--emerald)}.court-grid summary::-webkit-details-marker{display:none}.court-grid details>div{padding:0 1.2rem 1.2rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;border-top:1px solid rgba(8,52,42,.1)}.court-grid p{margin:1rem 0 0}.court-grid b{display:block;text-transform:uppercase;letter-spacing:.1em;font-size:.65rem;color:#8a6e2f}.court-grid a{word-break:break-word;color:var(--emerald)}
.reviews-track{display:grid;grid-auto-flow:column;grid-auto-columns:min(620px,85vw);gap:1.1rem;overflow-x:auto;scroll-snap-type:x mandatory;padding:1rem 0 1.2rem;overscroll-behavior-inline:contain;scrollbar-width:none;-ms-overflow-style:none}.reviews-track::-webkit-scrollbar{display:none}.review-card{scroll-snap-align:start;min-height:360px;border:1px solid var(--line);border-radius:22px;padding:2rem;background:linear-gradient(145deg,rgba(255,255,255,.08),rgba(255,255,255,.02))}.stars{color:#f5c94f;letter-spacing:.18em}.review-card blockquote{margin:1.5rem 0;font:400 clamp(1.35rem,2.4vw,2rem)/1.45 var(--serif)}.review-card>p{color:var(--gold2)}.review-nav{display:flex;gap:.12rem;align-items:center;margin:.15rem 0 1.2rem}.review-nav button{width:34px;height:34px;display:grid;place-items:center;padding:0;border:0;background:transparent;cursor:pointer}.review-nav button::after{content:"";width:8px;height:8px;border:1px solid var(--gold2);border-radius:999px;transition:width .2s ease,background .2s ease}.review-nav button.is-active::after{width:24px;background:var(--gold2)}.reviews-foot{display:flex;justify-content:space-between;gap:2rem;align-items:center}.reviews-foot p{color:var(--muted);font-size:.78rem}.reviews-foot a{color:var(--gold2)}
.schedule-section{background:#e8e3d7}.schedule-card{max-width:900px;margin:auto;background:var(--ivory);border-radius:28px;padding:clamp(2rem,6vw,5rem);box-shadow:0 24px 80px rgba(9,39,32,.12)}.schedule-card .schedule-label{font-size:clamp(.9rem,1.3vw,1.05rem);letter-spacing:.16em;color:#765817}.schedule-card .primary-action{margin-top:1rem}.schedule-benefits{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem 1rem;margin-top:1.15rem;padding:1rem 3.25rem 1rem 1.15rem;border:1px solid var(--gold);border-radius:14px;background:linear-gradient(135deg,#0b352c,#061c17);box-shadow:0 10px 28px rgba(5,30,25,.14);color:inherit;text-decoration:none;position:relative;cursor:pointer;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.schedule-benefits::after{content:"↗";position:absolute;right:1.15rem;top:50%;transform:translateY(-50%);color:var(--gold2);font-size:1.25rem}.schedule-benefits:hover,.schedule-benefits:focus-visible{transform:translateY(-2px);border-color:var(--gold2);box-shadow:0 14px 34px rgba(5,30,25,.22)}.schedule-benefits strong{color:var(--gold2);font-size:1.02rem;letter-spacing:.08em;text-transform:uppercase}.schedule-benefits span{color:var(--ivory);font-size:1rem}.personal-contact{text-align:center;background:var(--paper)}.personal-contact h2{max-width:1000px;margin-inline:auto}.personal-contact>p{margin:0 auto 2rem}.contact-choices{display:flex;flex-wrap:wrap;justify-content:center;gap:.8rem}.contact-choices a{background:var(--ink);color:var(--ivory);border-color:var(--line)}
.logo-finale{position:relative;min-height:100svh;display:grid;place-items:center;overflow:hidden;background:#020d0b;color:var(--ivory);isolation:isolate}.finale-scene{position:absolute;z-index:-3;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(1.06) contrast(1.08) brightness(.8)}.finale-ambient{position:absolute;z-index:-2;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.5),transparent 25%,transparent 72%,rgba(0,0,0,.68)),radial-gradient(ellipse at 50% 52%,transparent 25%,rgba(0,0,0,.2) 72%,rgba(0,0,0,.58) 100%)}.finale-content{position:absolute;inset:0;text-align:center}.finale-mark{position:absolute;left:50%;top:52%;width:min(70vw,calc(78svh * .8192),780px);aspect-ratio:1450/1770;transform:translate(-50%,-50%);filter:drop-shadow(0 28px 48px rgba(0,0,0,.72));animation:finaleFloatWide 9s ease-in-out infinite}.finale-mark::before{content:"";position:absolute;z-index:1;inset:0;background:rgba(0,0,0,.78);-webkit-mask:url("assets/EMERALD_SHIELD_HIGH_RADIANCE_JEWEL_SHINE_v008_WEB_MASTER.png") center/contain no-repeat;mask:url("assets/EMERALD_SHIELD_HIGH_RADIANCE_JEWEL_SHINE_v008_WEB_MASTER.png") center/contain no-repeat}.finale-crest-overlay{position:absolute;z-index:2;inset:0;width:100%;height:100%;object-fit:contain;opacity:.3;mix-blend-mode:screen;filter:saturate(.72) contrast(1.28) brightness(1.12) drop-shadow(0 0 2px rgba(255,231,170,.58));pointer-events:none}.finale-mark::after{content:"";position:absolute;z-index:3;inset:1.3%;border:1px solid rgba(240,217,158,.38);clip-path:polygon(50% 0,92% 18%,96% 64%,78% 87%,50% 100%,22% 87%,4% 64%,8% 18%);filter:drop-shadow(0 0 10px rgba(216,183,110,.42));pointer-events:none}.finale-glimmer{position:absolute;z-index:6;left:46%;top:29%;width:12%;height:2px;background:linear-gradient(90deg,transparent,#fff6ca,transparent);filter:blur(.6px);opacity:0;transform:rotate(-14deg);animation:finaleGlimmer 1s 2.4s ease-out forwards}.finale-copy{position:absolute;z-index:5;left:50%;top:51%;width:min(88vw,980px);transform:translate(-50%,-50%);isolation:isolate;text-shadow:0 4px 28px #000,0 2px 8px #000}.finale-copy::before{content:"";position:absolute;z-index:-1;inset:-34% -8%;background:radial-gradient(ellipse,rgba(0,0,0,.74),rgba(0,0,0,.36) 44%,transparent 72%);filter:blur(10px);pointer-events:none}.finale-copy p{font:400 clamp(3rem,5.8vw,6.2rem)/.94 var(--serif);margin:0;color:var(--ivory);letter-spacing:-.035em}.finale-copy span{display:block;margin-top:1.2rem;text-transform:uppercase;letter-spacing:.34em;font-size:clamp(.78rem,1.15vw,1rem);font-weight:750;color:#f4d98f;text-shadow:0 2px 8px #000,0 0 18px #000}.logo-finale.video-fallback{background:url("media/pexels-36316347-poster.jpg") center/cover}.site-footer{padding:3rem 5vw 7rem;background:#03100e;color:var(--muted);display:grid;grid-template-columns:1fr 1.4fr;gap:2rem;border-top:1px solid var(--line)}.site-footer>div{display:grid}.site-footer strong{color:var(--ivory);font:1.3rem var(--serif)}.site-footer nav{display:flex;flex-wrap:wrap;gap:.6rem 1.2rem}.site-footer>p{grid-column:1/-1;max-width:95ch;font-size:.75rem}.site-footer a{color:var(--gold2)}
.floating-keys{position:fixed;z-index:25;right:1rem;bottom:1rem;display:grid;grid-template-columns:repeat(4,58px);gap:.45rem;transition:opacity .24s ease,transform .24s ease}.floating-keys a{height:58px;display:grid;place-items:center;border:1px solid rgba(240,217,158,.5);border-radius:13px;background:linear-gradient(#103b31,#071d18);color:var(--ivory);text-decoration:none;box-shadow:0 6px 0 #03100d,0 12px 25px rgba(0,0,0,.3)}.floating-keys a:active{transform:translateY(4px);box-shadow:0 2px 0 #03100d}.floating-keys span{font-size:1.05rem;color:var(--gold2)}.floating-keys small{font-size:.55rem;text-transform:uppercase;letter-spacing:.08em}.footer-in-view .floating-keys{opacity:0;transform:translateY(1rem);pointer-events:none}.top-button{position:fixed;z-index:24;left:1rem;bottom:1rem;width:46px;height:46px;border:1px solid var(--line);border-radius:12px;background:rgba(5,25,21,.88);color:var(--gold2);opacity:0;pointer-events:none}.top-button.is-visible{opacity:1;pointer-events:auto}
.menu-backdrop{position:fixed;z-index:50;inset:0;background:rgba(0,0,0,.6);backdrop-filter:blur(4px)}.menu-panel{position:fixed;z-index:51;right:0;top:0;bottom:0;width:min(470px,94vw);padding:2rem;background:#092a23;color:var(--ivory);transform:translateX(104%);transition:transform .35s;box-shadow:-25px 0 70px rgba(0,0,0,.4)}.menu-panel.is-open{transform:none}.menu-head{display:flex;justify-content:space-between;align-items:center;color:var(--gold2);font-family:var(--serif)}.menu-close{padding:.6rem}.menu-close b{font-size:1.4rem}.menu-panel nav{display:grid;align-content:center;min-height:75%;gap:.7rem}.menu-panel nav a,.menu-panel nav button{border:0;background:none;padding:.4rem 0;color:var(--ivory);text-align:left;text-decoration:none;font:400 clamp(1.5rem,4vw,2.2rem) var(--serif);cursor:pointer}.menu-panel nav a:hover,.menu-panel nav button:hover{color:var(--gold2)}.motion-toggle{color:var(--gold2);border-bottom:1px solid var(--line);padding:.5rem 0}
.questions-dialog{width:min(1000px,94vw);max-height:92vh;border:1px solid var(--line);border-radius:24px;padding:0;background:rgba(6,30,25,.98);color:var(--ivory);box-shadow:0 30px 100px rgba(0,0,0,.5)}.questions-dialog::backdrop{background:rgba(0,0,0,.7);backdrop-filter:blur(8px)}.dialog-head{display:flex;justify-content:space-between;gap:2rem;padding:2rem 2rem 1rem;border-bottom:1px solid var(--line)}.dialog-head .section-label{color:var(--gold2)}.dialog-head h2{font-size:clamp(2rem,4vw,3.7rem);margin:0}.dialog-close{font-size:2rem;align-self:start}.question-view{min-height:390px;padding:clamp(2rem,6vw,5rem)}.question-count{color:var(--gold2);text-transform:uppercase;letter-spacing:.15em;font-size:.7rem}.question-view h3{font:400 clamp(1.7rem,3.6vw,3.2rem)/1.08 var(--serif);max-width:20ch}.question-view>p:last-child{max-width:68ch;color:#e3e8e5;font-size:1.08rem}.question-nav{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;padding:1rem 2rem;border-top:1px solid var(--line)}.question-nav button{border:0;background:none;color:var(--gold2);padding:.7rem;cursor:pointer}.question-dots{display:flex;justify-content:center;gap:.4rem}.question-dots i{width:7px;height:7px;border:1px solid var(--gold);border-radius:50%}.question-dots i.active{background:var(--gold)}.all-questions{padding:0 2rem 2rem}.all-questions summary{cursor:pointer;color:var(--gold2)}#question-list{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-top:1rem}#question-list button{border:1px solid rgba(255,255,255,.15);border-radius:8px;padding:.7rem;background:rgba(255,255,255,.04);color:var(--ivory);text-align:left;cursor:pointer}
@keyframes arrive{from{opacity:0}to{opacity:1}}@keyframes glimmer{0%{opacity:0;transform:translateX(0)}35%{opacity:.9}100%{opacity:0;transform:translateX(260%)}}@keyframes finaleFloat{50%{transform:translateY(-8px)}}@keyframes finaleFloatWide{50%{transform:translate(-50%,calc(-50% - 8px))}}@keyframes finaleGlimmer{0%{opacity:0;transform:translate(-80px,18px) rotate(-14deg)}38%{opacity:.8}100%{opacity:0;transform:translate(100px,-18px) rotate(-14deg)}}
body.motion-reduced *,body.motion-reduced *::before,body.motion-reduced *::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}body.motion-reduced video,body.video-fallback video{display:none}.hero:has(.hero-video[style*="display: none"]),body.motion-reduced .hero{background:url("media/pexels-36316347-poster.jpg") center/cover}.logo-finale{background:#061713 url("media/pexels-12955448-poster.jpg") center/cover}
@media(max-width:760px){.site-header{padding:.7rem 1rem}.site-header:not(.is-compact){background:linear-gradient(to bottom,rgba(2,11,9,.86),transparent)}.mini-brand span{font-size:.82rem}.hero-video{object-position:42% center;filter:brightness(.9)}.hero-protection{background:linear-gradient(0deg,rgba(1,8,7,.72),rgba(1,8,7,.08) 45%,rgba(1,8,7,.46))}.hero-shield-wrap{left:1.2rem;top:5.2rem;width:112px}.hero-identity{right:1.1rem;top:42%;width:min(78vw,330px);transform:none}.name-art{padding:.8rem;background:radial-gradient(ellipse at 70% 50%,rgba(0,0,0,.78),transparent 74%)}.hero-role{font-size:.69rem}.hero-place{font-size:.58rem}.signage-menu{display:none}.enter-link{bottom:6.3rem}.floating-thoughts p{font-size:clamp(2.6rem,13vw,4.8rem);line-height:1}.floating-thoughts p:nth-child(2){margin:1em 0 1em 8vw}.portrait-chapter,.practice-section,.map-layout{grid-template-columns:1fr}.portrait-frame>img{aspect-ratio:4/5}.question-door{right:.8rem;bottom:.8rem}.practice-grid,.court-grid{grid-template-columns:1fr}.tool-grid{grid-template-columns:1fr}.records-card{grid-column:auto}.map-visual{position:relative;top:auto;min-height:360px}.location-row{align-items:flex-start}.location-row b{font-size:.68rem}.reviews-track{grid-auto-columns:88vw}.review-card{min-height:430px;padding:1.4rem}.reviews-foot{align-items:flex-start;flex-direction:column}.site-footer{grid-template-columns:1fr}.site-footer>p{grid-column:auto}.floating-keys{right:.55rem;bottom:.55rem;grid-template-columns:repeat(4,52px)}.floating-keys a{height:52px}.top-button{display:none}.questions-dialog{width:100vw;max-width:none;height:100dvh;max-height:none;border-radius:0}.dialog-head{padding:1.2rem}.question-view{min-height:0;padding:1.5rem 1.2rem}.question-nav{padding:.8rem}.all-questions{padding:0 1.2rem 6rem}#question-list{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){body:not(.motion-forced) *,body:not(.motion-forced) *::before,body:not(.motion-forced) *::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}body:not(.motion-forced) video{display:none}}
.finale-mark{background:none}.finale-scene{background:url("media/pexels-12955448-poster.jpg") center/cover}.logo-finale{background:#020d0b}body.video-fallback .hero{background:url("media/pexels-36316347-poster.jpg") center/cover}body.video-fallback .logo-finale,body.motion-reduced .logo-finale{background:url("media/pexels-12955448-poster.jpg") center/cover}
@media(prefers-reduced-motion:reduce){body:not(.motion-forced) .hero{background:url("media/pexels-36316347-poster.jpg") center/cover}body:not(.motion-forced) .logo-finale{background:url("media/pexels-12955448-poster.jpg") center/cover}}
.practice-grid a{display:block;padding:.65rem 0;border-top:1px solid rgba(255,255,255,.1);color:inherit;text-decoration:none}.practice-grid a:hover,.practice-grid a:focus-visible{color:var(--gold2)}.practice-page{min-height:100vh;background:#061713;color:var(--ivory)}.practice-page .simple-header{position:relative;z-index:2;display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:1.25rem max(5vw,calc((100vw - 1200px)/2));border-bottom:1px solid rgba(240,217,158,.22);background:rgba(3,16,14,.82)}.practice-page .simple-brand{display:flex;align-items:center;gap:.9rem;text-decoration:none}.practice-page .simple-brand img{width:54px;height:auto}.practice-page .simple-brand span{font:1.25rem var(--serif);color:var(--ivory)}.practice-page .simple-nav{display:flex;flex-wrap:wrap;gap:.8rem 1.1rem}.practice-page .simple-nav a{color:var(--gold2);text-decoration:none;font-weight:700}.practice-hero{padding:clamp(5rem,11vw,9rem) max(5vw,calc((100vw - 1120px)/2));background:linear-gradient(135deg,rgba(3,16,14,.86),rgba(10,50,41,.92)),url("assets/emerald-leather-texture.webp") center/cover}.practice-hero h1{font:400 clamp(3rem,7vw,6.6rem)/.95 var(--serif);max-width:980px;margin:0 0 1.5rem;letter-spacing:-.045em}.practice-hero p{max-width:760px;font-size:1.12rem;color:#dbe5df}.practice-content{padding:clamp(4rem,8vw,7rem) max(5vw,calc((100vw - 1120px)/2));display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:clamp(2rem,6vw,5rem);background:var(--paper);color:var(--charcoal)}.practice-content h2{font:400 clamp(2rem,4vw,3.7rem)/1 var(--serif);margin:0 0 1rem;color:#092720}.practice-content h3{font:400 1.55rem/1.2 var(--serif);color:#092720}.practice-content p,.practice-content li{font-size:1.03rem}.practice-content ul{padding-left:1.2rem}.practice-content li+li{margin-top:.55rem}.practice-card{border:1px solid rgba(8,52,42,.18);border-radius:22px;padding:1.5rem;background:#fffdf6;box-shadow:0 14px 45px rgba(5,30,25,.08)}.practice-card+.practice-card{margin-top:1rem}.practice-card a{color:var(--emerald);font-weight:800}.practice-cta{display:grid;gap:.85rem;margin-top:1.5rem}.practice-cta a{display:flex;justify-content:center;align-items:center;border-radius:12px;padding:.9rem 1rem;text-decoration:none;font-weight:800}.practice-cta a:first-child{background:var(--gold);color:var(--ink);border:1px solid var(--gold)}.practice-cta a:last-child{background:#0b352c;color:var(--ivory);border:1px solid rgba(240,217,158,.5)}.practice-note{font-size:.9rem!important;color:#60706a}.practice-related{padding:3rem max(5vw,calc((100vw - 1120px)/2));background:#03100e;color:var(--muted);border-top:1px solid var(--line)}.practice-related a{color:var(--gold2)}@media(max-width:800px){.practice-page .simple-header,.practice-content{grid-template-columns:1fr;display:grid}.practice-page .simple-header{align-items:start}.practice-hero h1{font-size:clamp(2.6rem,13vw,4.5rem)}}
.name-art img{filter:brightness(1.16) contrast(1.06) drop-shadow(0 3px 4px #000) drop-shadow(0 0 18px rgba(0,0,0,.9))}
@media(max-width:760px){.hero-identity{top:27%}}
.dialog-contacts{display:grid;grid-template-columns:repeat(4,1fr);gap:.55rem;padding:0 2rem 2rem}.dialog-contacts a{text-align:center;text-decoration:none;border:1px solid var(--line);border-radius:10px;padding:.7rem .35rem;background:#103b31;color:var(--gold2);box-shadow:0 4px 0 #03100d}.contact-choices a{box-shadow:0 5px 0 #03100d}.contact-choices a:active,.dialog-contacts a:active{transform:translateY(3px);box-shadow:0 2px 0 #03100d}.reveal-section{opacity:.01;transform:translateY(24px)}.reveal-section.is-revealed{opacity:1;transform:none;transition:opacity .7s ease,transform .7s ease}
@media(max-width:760px){.dialog-contacts{position:sticky;bottom:0;padding:1rem 1.2rem calc(1rem + env(safe-area-inset-bottom));background:rgba(6,30,25,.98)}.dialog-contacts a{font-size:.72rem}}
@media(prefers-reduced-motion:reduce){.reveal-section{opacity:1;transform:none}}
.site-header:not(.is-compact)>.menu-button{opacity:0;pointer-events:none}.site-header.is-compact>.menu-button{opacity:1;pointer-events:auto}.hero-shield-wrap{top:clamp(3.75rem,8vh,5.5rem)}.hero-identity{top:43%;z-index:1}.hero-identity::before{content:"";position:absolute;z-index:-1;inset:-3.5rem -2.5rem -3rem -5rem;background:radial-gradient(ellipse at 72% 48%,rgba(0,0,0,.84) 0,rgba(0,0,0,.66) 38%,rgba(0,0,0,.24) 60%,transparent 76%);filter:blur(10px);pointer-events:none}.hero-role,.hero-place{text-shadow:0 2px 5px #000,0 0 18px #000}.hero-role{font-size:1rem}.hero-place{font-size:.78rem}.signage-menu{display:flex;justify-content:flex-end;opacity:1;pointer-events:auto}
@media(max-width:760px){.hero-shield-wrap{top:3.15rem}.hero-identity{top:20%;width:min(79vw,340px)}.hero-identity::before{inset:-2.2rem -1rem -2.4rem -3rem;background:radial-gradient(ellipse at 72% 46%,rgba(0,0,0,.9) 0,rgba(0,0,0,.72) 44%,rgba(0,0,0,.22) 68%,transparent 79%);filter:blur(7px)}.hero-role{font-size:.76rem}.hero-place{font-size:.64rem}.signage-menu{display:flex;margin-top:.75rem;padding:.55rem .9rem}.enter-link{bottom:5.6rem}}
@media(max-width:760px){.hero-shield-wrap{top:1.15rem;left:1rem;width:96px}.hero-identity{top:18%;width:min(86vw,360px)}.hero-role{font-size:.75rem;letter-spacing:.16em}.hero-place{font-size:.62rem;letter-spacing:.12em}.signage-menu{letter-spacing:.15em}}
/* Functional refinement: real map, quick location filters, and sunlight-safe controls. */
.real-map{padding:0;background:#102f28}
.real-map iframe{display:block;width:100%;height:100%;min-height:480px;border:0;filter:saturate(.86) contrast(1.04)}
.map-caption{position:absolute;z-index:2;left:1rem;right:1rem;bottom:1rem;display:grid;gap:.18rem;padding:1rem 1.1rem;border:1px solid rgba(240,217,158,.48);border-radius:14px;background:rgba(3,16,13,.9);box-shadow:0 12px 32px rgba(0,0,0,.38);backdrop-filter:blur(12px);pointer-events:none}
.map-caption strong{font:1.18rem var(--serif);color:var(--ivory)}
.map-caption span{font-size:.78rem;color:var(--gold2)}
.location-filters{display:flex;flex-wrap:wrap;gap:.55rem;margin:0 0 1.25rem}
.location-filters button{min-height:42px;border:1px solid rgba(240,217,158,.34);border-radius:11px;padding:.65rem .9rem;background:rgba(255,255,255,.04);color:var(--ivory);font-weight:750;cursor:pointer}
.location-filters button.is-active{background:var(--gold);border-color:var(--gold);color:var(--ink);box-shadow:0 5px 0 #020c0a}
.location-row[hidden]{display:none}
.review-links{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.7rem 1.2rem}
.review-links a{font-weight:700;text-underline-offset:.25rem}
.reviews-foot{padding-right:18rem}
.floating-keys a{background:linear-gradient(#155044,#08251f);border-color:rgba(255,225,151,.72)}
.floating-keys small{font-size:.7rem;line-height:1;font-weight:750;color:#fff}

@media(max-width:760px){
  .hero-role{font-size:.875rem;letter-spacing:.14em;color:#fff}
  .hero-place{font-size:.75rem;letter-spacing:.1em;color:#ffe3a1}
  .signage-menu{font-size:.78rem;color:#ffe3a1}
  .real-map iframe{min-height:390px}
  .map-caption{left:.7rem;right:.7rem;bottom:.7rem}
  .location-filters{flex-wrap:nowrap;overflow-x:auto;padding:0 0 .35rem;scrollbar-width:none}
  .location-filters::-webkit-scrollbar{display:none}
  .location-filters button{flex:0 0 auto;font-size:.88rem}
  .tool-grid{gap:.8rem}
  .tool-card{min-height:auto;padding:1.25rem;border-radius:17px}
  .tool-card h3{font-size:1.55rem;margin:.7rem 0 .55rem}
  .tool-card p{font-size:.98rem;margin:.1rem 0 .55rem}
  .tool-actions,.record-actions{gap:.5rem;margin:.65rem 0}
  .tool-actions a,.record-actions a{padding:.68rem .78rem}
  .card-action{margin:.65rem 0 .2rem}
  .quiet-contact,.tool-card small{margin-top:.5rem}
  .reviews-foot{align-items:flex-start;padding-right:0;padding-bottom:4.75rem}
  .review-links{align-items:flex-start}
  .review-links{justify-content:flex-start}
  .floating-keys{right:.45rem;bottom:calc(.45rem + env(safe-area-inset-bottom));grid-template-columns:repeat(4,46px);gap:.32rem}
  .floating-keys a{height:46px;border-radius:11px;box-shadow:0 4px 0 #03100d,0 9px 20px rgba(0,0,0,.28)}
  .floating-keys span{font-size:.92rem}
  .floating-keys small{font-size:.68rem;letter-spacing:.04em}
  .schedule-benefits{margin-bottom:4.75rem}
  .finale-scene{object-position:54% center;filter:saturate(1.04) contrast(1.08) brightness(.82)}
  .finale-mark{top:52%;width:min(86vw,calc(70svh * .8192))}
  .finale-crest-overlay{opacity:.34}
  .finale-copy{top:51%;width:88vw}
  .finale-copy p{font-size:clamp(3rem,10vw,4rem);line-height:.92}
  .finale-copy span{max-width:28ch;margin:1rem auto 0;font-size:.75rem;line-height:1.5;letter-spacing:.25em}
}

/* Finale: three independent floating thoughts over the inverse shield. */
.finale-copy{inset:0;left:0;top:0;width:auto;transform:none;text-align:initial;pointer-events:none}
.finale-copy::before{display:none}
.finale-name{position:absolute;top:20%;right:5vw;width:min(63vw,900px);font:400 clamp(3.6rem,6vw,6.6rem)/.9 var(--serif);letter-spacing:-.045em;text-align:right;color:var(--ivory);text-wrap:balance;text-shadow:0 5px 32px #000,0 2px 10px #000}
.finale-role{position:absolute;top:54%;left:5vw;max-width:11ch;font:400 clamp(3.2rem,5.4vw,6rem)/.88 var(--serif);letter-spacing:-.035em;color:#f4d98f;text-wrap:balance;text-shadow:0 5px 32px #000,0 2px 10px #000}
.finale-copy .finale-place{position:absolute;left:5vw;bottom:7%;display:block;max-width:none;margin:0;font-size:clamp(.95rem,1.35vw,1.25rem);font-weight:750;line-height:1.3;letter-spacing:.22em;color:var(--ivory);text-shadow:0 3px 18px #000,0 1px 6px #000}
.site-footer>div span:last-child{margin-top:.35rem;font-size:1.12rem;color:#d5ded9}

/* Subtract the Lady Justice engraving from the dark shield so the live skyline shows through it. */
.finale-mark::before{background:#000;-webkit-mask-image:url("assets/EMERALD_SHIELD_HIGH_RADIANCE_JEWEL_SHINE_v008_WEB_MASTER.webp"),url("assets/LADY_JUSTICE_VIDEO_CUTOUT_MASK.png");-webkit-mask-position:center,center;-webkit-mask-size:contain,contain;-webkit-mask-repeat:no-repeat,no-repeat;-webkit-mask-composite:xor;mask-image:url("assets/EMERALD_SHIELD_HIGH_RADIANCE_JEWEL_SHINE_v008_WEB_MASTER.webp"),url("assets/LADY_JUSTICE_VIDEO_CUTOUT_MASK.png");mask-position:center,center;mask-size:contain,contain;mask-repeat:no-repeat,no-repeat;mask-mode:alpha,alpha;mask-composite:subtract}
.finale-crest-overlay{opacity:.08}

@media(max-width:760px){
  .finale-name{top:17%;right:5vw;width:90vw;font-size:clamp(3rem,11vw,4.25rem);line-height:.9}
  .finale-role{top:52%;left:5vw;max-width:9.5ch;font-size:clamp(2.8rem,10vw,3.8rem);line-height:.88}
  .finale-copy .finale-place{left:5vw;bottom:11%;max-width:78vw;font-size:.9rem;line-height:1.45;letter-spacing:.16em}
  .site-footer>div span:last-child{font-size:1.05rem}
}

/* Preferred finale: an asymmetric, architectural lockup with a restrained obsidian shield. */
.finale-mark{left:57%;top:51%;width:min(64vw,calc(76svh * .8192),720px);filter:drop-shadow(0 32px 58px rgba(0,0,0,.82))}
.finale-mark::before{background:linear-gradient(145deg,#030504 0%,#000 44%,#020806 100%)}
.finale-crest-overlay{opacity:0}
.finale-mark::after{inset:1.8%;border-color:rgba(240,217,158,.52);filter:drop-shadow(0 0 9px rgba(216,183,110,.32))}
.finale-name{top:15%;right:5.5vw;width:min(59vw,850px);font-size:clamp(3.8rem,5.7vw,6.3rem)}
.finale-role{top:50%;left:5vw;font-size:clamp(3.35rem,5.6vw,6.1rem)}
.finale-copy .finale-place{bottom:8%;letter-spacing:.24em}
.finale-glimmer{left:55%;top:24%;width:9%;animation-duration:.72s}

/* Let the skyline move through a narrow outer shield rim as well as Lady Justice. */
.finale-mark::before{-webkit-mask-size:92.5%,92.5%;mask-size:92.5%,92.5%}
.finale-mark::after{inset:.7%;border-width:1.5px}
.finale-scene{object-position:center 44%;filter:saturate(1.02) contrast(1.08) brightness(.76)}
.logo-finale.video-fallback,body.video-fallback .logo-finale,body.motion-reduced .logo-finale{background:url("media/pexels-12955448-poster.jpg") center/cover}

@media(max-width:760px){
  .finale-mark{left:55%;top:51%;width:min(84vw,calc(68svh * .8192))}
  .finale-name{top:14%;right:5vw;width:90vw;font-size:clamp(3.1rem,11.2vw,4.35rem)}
  .finale-role{top:53%;left:5vw;font-size:clamp(2.9rem,10.2vw,3.9rem)}
  .finale-copy .finale-place{bottom:10%}
}

/* Floating architectural nameplate: no header bar, no rectangular backing. */
.site-header,.site-header.is-compact{align-items:flex-start;padding:1.25rem 2.5vw;background:none;border:0;backdrop-filter:none;pointer-events:none}
.header-crest,.header-nameplate{pointer-events:auto}
.header-crest{display:block;text-decoration:none;filter:drop-shadow(0 6px 14px rgba(0,0,0,.82))}
.header-crest img{display:block;width:clamp(88px,8.4vw,132px);height:auto;transition:width .3s ease,transform .3s ease}
.header-nameplate{display:grid;justify-items:end;text-align:right;color:var(--ivory);filter:drop-shadow(0 3px 12px rgba(0,0,0,.94))}
.header-wordmark{display:grid;justify-items:end;text-decoration:none;text-shadow:0 2px 7px #000,0 0 20px rgba(0,0,0,.92)}
.header-wordmark strong{font:400 clamp(2rem,3.15vw,3.8rem)/.9 var(--serif);letter-spacing:-.045em;text-wrap:balance}
.header-wordmark strong{transition:opacity .42s ease,transform .42s ease}
.site-header:not(.is-compact) .header-wordmark strong{opacity:0;transform:translateY(-.45rem)}
.header-wordmark small{margin-top:.65rem;font:650 clamp(.72rem,.88vw,.92rem)/1.2 var(--sans);text-transform:uppercase;letter-spacing:.3em;color:var(--gold2);transition:opacity .42s ease,transform .42s ease}
.site-header:not(.is-compact) .header-wordmark small{opacity:0;transform:translateY(-.45rem)}
.header-nameplate>.menu-button{margin-top:1.15rem;padding:.2rem 0;color:#3f8f70;justify-content:flex-end;font-size:.8rem;text-shadow:0 2px 7px #000,0 0 16px rgba(2,18,14,.82);transition:opacity .42s ease,transform .42s ease}
.site-header:not(.is-compact) .header-nameplate>.menu-button{opacity:0;transform:translateY(-.45rem);pointer-events:none}
.header-nameplate .menu-lines{width:34px;gap:7px}
.header-nameplate .menu-lines i{height:1.5px;box-shadow:0 2px 5px #000}
.hero-shield-wrap,.signage-menu{display:none!important}
.site-header.is-compact .header-crest img{width:66px}
.site-header.is-compact .header-wordmark strong{font-size:clamp(1.5rem,2vw,2.3rem)}
.site-header.is-compact .header-wordmark small{margin-top:.38rem;font-size:.68rem}
.site-header.is-compact .header-nameplate>.menu-button{margin-top:.65rem}

@media(max-width:760px){
  .site-header,.site-header.is-compact{padding:.75rem 1rem}
  .header-crest img{width:78px}
  .header-nameplate{max-width:69vw}
  .header-wordmark strong{font-size:clamp(1.45rem,7vw,2.25rem);line-height:.92}
  .header-wordmark small{margin-top:.45rem;font-size:.64rem;letter-spacing:.22em}
  .header-nameplate>.menu-button{margin-top:.72rem;font-size:.7rem;letter-spacing:.16em}
  .header-nameplate .menu-lines{width:29px;gap:5px}
  .site-header.is-compact .header-crest img{width:58px}
  .site-header.is-compact .header-wordmark strong{font-size:1.35rem}
  .site-header.is-compact .header-wordmark small{font-size:.59rem}
}

/* One shared material language: dark emerald leather beneath the content. */
.practice-section,.reviews-section,.site-footer{
  background-color:#031710;
  background-image:linear-gradient(135deg,rgba(0,8,6,.38),rgba(8,48,35,.18) 48%,rgba(0,9,7,.44)),url("assets/emerald-leather-texture.webp");
  background-repeat:no-repeat,no-repeat;
  background-position:center,center top;
  background-size:cover,cover;
}
.reviews-section .review-card{
  background:linear-gradient(145deg,rgba(20,48,39,.97),rgba(6,25,20,.97));
  box-shadow:0 22px 55px rgba(0,0,0,.26);
}
.site-footer>div{align-content:start;gap:.32rem}
.site-footer strong{
  color:#f0d99e;
  font:400 clamp(1.7rem,2.3vw,2.25rem)/1 var(--serif);
  letter-spacing:.005em;
  text-shadow:0 2px 12px rgba(0,0,0,.72);
}
.site-footer>div span:nth-child(2){
  margin-top:.38rem;
  color:var(--ivory);
  font-size:.82rem;
  font-weight:750;
  letter-spacing:.22em;
  text-transform:uppercase;
}
.site-footer>div span:last-child{
  margin-top:1.25rem;
  color:var(--gold2);
  font-size:.82rem;
  font-weight:650;
  letter-spacing:.15em;
  text-transform:uppercase;
}

@media(max-width:760px){
  .practice-section,.reviews-section,.site-footer{background-size:cover,cover}
  .site-footer strong{font-size:1.65rem}
  .site-footer>div span:nth-child(2),.site-footer>div span:last-child{font-size:.72rem}
}

/* Court index: compact, tactile, and visually continuous with the emerald universe. */
.directory-section{
  background-color:#031710;
  background-image:linear-gradient(135deg,rgba(0,7,5,.3),rgba(7,48,34,.16) 46%,rgba(0,8,6,.42)),url("assets/emerald-leather-texture.webp");
  background-repeat:no-repeat,no-repeat;
  background-position:center,center top;
  background-size:cover,cover;
  color:var(--ivory);
}
.directory-section .section-label{color:var(--gold2)}
.directory-section .section-heading>p:not(.section-label){color:#c8d2cd}
.court-grid{gap:.72rem;align-items:start}
.court-grid details{
  align-self:start;
  background:linear-gradient(125deg,rgba(92,67,31,.97),rgba(34,25,14,.98) 58%,rgba(65,46,22,.97));
  border:1px solid rgba(216,183,110,.68);
  border-radius:17px;
  box-shadow:inset 0 1px 0 rgba(255,243,206,.09),0 10px 28px rgba(0,0,0,.24);
  transition:border-color .22s ease,box-shadow .22s ease,transform .22s ease;
}
.court-grid details[open]{
  grid-column:1/-1;
  background:linear-gradient(135deg,rgba(106,76,34,.98),rgba(29,21,12,.99));
  border-color:rgba(240,217,158,.86);
  box-shadow:inset 0 1px 0 rgba(255,243,206,.13),0 18px 42px rgba(0,0,0,.34);
}
.court-grid summary{
  min-height:64px;
  align-items:center;
  padding:.9rem 1.15rem;
  color:#f0d99e;
  font:600 clamp(1.12rem,1.7vw,1.38rem)/1.15 var(--serif);
  letter-spacing:.025em;
  text-shadow:0 2px 8px rgba(0,0,0,.72);
}
.court-grid summary span{color:#f4d98f;font:400 1.45rem/1 var(--serif)}
.court-grid details[open] summary{color:#ffe5a4}
.court-grid details>div{
  padding:.2rem 1.2rem 1.2rem;
  border-top:1px solid rgba(216,183,110,.25);
  color:#d7dfdb;
}
.court-grid b{color:#d7b76e}
.court-grid a{color:#f0d99e;text-decoration-color:rgba(240,217,158,.5)}
.directory-section .source-note{color:#b8c7c0!important}

@media(max-width:760px){
  .directory-section{background-size:cover,cover}
  .court-grid{gap:.58rem}
  .court-grid details{border-radius:14px}
  .court-grid summary{min-height:58px;padding:.78rem 1rem}
}

/* Intentional brass rules mark section changes without exposing texture joins. */
.practice-section,.reviews-section,.directory-section,.site-footer{position:relative}
.practice-section::before,.reviews-section::before,.directory-section::before,.site-footer::before{
  content:"";
  position:absolute;
  z-index:2;
  top:0;
  left:4vw;
  right:4vw;
  height:5px;
  background:linear-gradient(90deg,transparent,rgba(216,183,110,.46) 12%,rgba(240,217,158,.86) 50%,rgba(216,183,110,.46) 88%,transparent) top/100% 1px no-repeat,linear-gradient(90deg,transparent,rgba(216,183,110,.28) 25%,rgba(216,183,110,.5) 50%,rgba(216,183,110,.28) 75%,transparent) bottom/72% 1px no-repeat;
  pointer-events:none;
}

/* Every destination reads as a complete, tappable bronze-highlighted card. */
.locations-section .location-list{gap:.72rem}
.locations-section .location-row,.locations-section .location-row.featured{
  margin:0;
  padding:1.15rem 1.25rem;
  border:1px solid rgba(216,183,110,.48);
  border-radius:16px;
  background:linear-gradient(145deg,rgba(216,183,110,.12),rgba(216,183,110,.045));
  box-shadow:inset 0 1px 0 rgba(255,243,206,.04),0 8px 24px rgba(0,0,0,.12);
  transition:transform .14s ease,border-color .14s ease,background .14s ease,box-shadow .14s ease;
}
.locations-section .location-row strong{
  color:#f0d99e;
  font:600 clamp(1.15rem,1.8vw,1.42rem)/1.12 var(--serif);
  letter-spacing:.018em;
  text-shadow:0 2px 8px rgba(0,0,0,.55);
}
.locations-section .location-row:active{
  transform:translateY(1px);
  border-color:rgba(240,217,158,.78);
  background:linear-gradient(145deg,rgba(216,183,110,.17),rgba(216,183,110,.07));
  box-shadow:inset 0 1px 0 rgba(255,243,206,.07),0 4px 14px rgba(0,0,0,.16);
}
.court-grid summary{transition:transform .14s ease,color .14s ease}
.court-grid summary:active{transform:translateY(1px);color:#ffe5a4}
.locations-section .location-row:focus-visible{
  outline:2px solid var(--gold2);
  outline-offset:3px;
}

@media(max-width:760px){
  .site-header.is-compact .header-crest img{width:46px}
}

/* Final mobile usability pass: keep destinations visible beneath the compact header. */
main>section[id]:not(#top){scroll-margin-top:118px}
.review-nav button{width:44px;height:44px}
.floating-keys{transition:opacity .24s ease,transform .24s ease,grid-template-columns .24s ease}
.floating-keys a{transition:height .24s ease,border-radius .24s ease,box-shadow .24s ease}
.floating-keys span,.floating-keys small{transition:opacity .18s ease,font-size .18s ease}

@media(max-width:760px){
  main>section[id]:not(#top){scroll-margin-top:108px}
  body.contact-dock-condensed:not(.footer-in-view) .floating-keys{
    grid-template-columns:repeat(4,38px);
    gap:.22rem;
    opacity:.82;
    transform:translateY(10px);
  }
  body.contact-dock-condensed:not(.footer-in-view) .floating-keys a{
    height:34px;
    border-radius:9px;
    box-shadow:0 3px 0 #03100d,0 6px 14px rgba(0,0,0,.24);
  }
  body.contact-dock-condensed:not(.footer-in-view) .floating-keys span{font-size:.82rem}
  body.contact-dock-condensed:not(.footer-in-view) .floating-keys small{
    position:absolute;
    opacity:0;
    pointer-events:none;
  }
}

/* Full-detail finale crest: dimensional movement over the existing Lexington film. */
.finale-mark{
  filter:drop-shadow(0 30px 60px rgba(0,0,0,.78));
  animation:none;
  will-change:transform,filter;
}
.finale-mark::before{display:none}
.finale-crest-overlay{
  opacity:.96;
  mix-blend-mode:normal;
  filter:saturate(.94) contrast(1.1) brightness(.92) drop-shadow(0 0 12px rgba(216,183,110,.2));
  transform-origin:50% 52%;
  animation:none;
  will-change:transform,filter;
}
.finale-mark::after{
  inset:0;
  border:0;
  clip-path:none;
  background:linear-gradient(108deg,transparent 30%,rgba(240,217,158,.04) 43%,rgba(255,246,207,.62) 50%,rgba(216,183,110,.08) 57%,transparent 70%) -220% 0/220% 100% no-repeat;
  -webkit-mask:url("assets/EMERALD_SHIELD_HIGH_RADIANCE_JEWEL_SHINE_v008_WEB_MASTER.webp") center/contain no-repeat;
  mask:url("assets/EMERALD_SHIELD_HIGH_RADIANCE_JEWEL_SHINE_v008_WEB_MASTER.webp") center/contain no-repeat;
  filter:blur(.35px) drop-shadow(0 0 8px rgba(240,217,158,.3));
  animation:none;
}
.finale-glimmer{display:none}

body.finale-in-view .finale-mark{
  animation:finaleShieldArrival 1.35s cubic-bezier(.2,.8,.2,1) both,finaleFloatWide 14s 1.35s ease-in-out infinite;
}
body.finale-in-view .finale-crest-overlay{
  animation:finaleShieldBreath 11s ease-in-out infinite;
}
body.finale-in-view .finale-mark::after{
  animation:finaleShieldSweep 12s ease-in-out infinite;
}

@keyframes finaleShieldArrival{
  0%{opacity:.58;transform:translate(-50%,-50%) scale(.955);filter:drop-shadow(0 20px 34px rgba(0,0,0,.6)) brightness(.76)}
  65%{opacity:1;transform:translate(-50%,-50%) scale(1.012);filter:drop-shadow(0 34px 66px rgba(0,0,0,.82)) brightness(1.05)}
  100%{opacity:1;transform:translate(-50%,-50%) scale(1);filter:drop-shadow(0 30px 60px rgba(0,0,0,.78)) brightness(1)}
}

@keyframes finaleShieldBreath{
  0%,100%{transform:scale(.994);filter:saturate(.92) contrast(1.1) brightness(.89) drop-shadow(0 0 10px rgba(216,183,110,.16))}
  50%{transform:scale(1.007);filter:saturate(1.02) contrast(1.12) brightness(1.01) drop-shadow(0 0 20px rgba(240,217,158,.32))}
}
@keyframes finaleShieldSweep{
  0%{background-position:-220% 0;opacity:0}
  8%{opacity:.18}
  32%{background-position:220% 0;opacity:.82}
  42%,100%{background-position:220% 0;opacity:0}
}

@media(prefers-reduced-motion:reduce){
  body:not(.motion-forced) .finale-mark,
  body:not(.motion-forced) .finale-crest-overlay,
  body:not(.motion-forced) .finale-mark::after{animation:none}
}

/* Finale v31: a clear editorial lockup, a complete crest, and no repeated footer identity. */
.site-header{
  transition:background .3s,padding .3s,opacity .32s ease,transform .32s ease;
}
body.finale-in-view .site-header{
  opacity:0;
  transform:translateY(-1.1rem);
}
body.finale-in-view .site-header *,body.finale-in-view .floating-keys{pointer-events:none}
body.finale-in-view .floating-keys{opacity:0;transform:translateY(1rem)}
body.finale-in-view .top-button{opacity:0;pointer-events:none}
main>section[id]#finale{scroll-margin-top:0}

.finale-signature{
  position:absolute;
  z-index:7;
  top:5.5%;
  right:5vw;
  max-width:52vw;
  color:var(--ivory);
  font:400 clamp(1.35rem,2.25vw,2.35rem)/1.05 var(--serif);
  letter-spacing:-.025em;
  text-align:right;
  text-wrap:balance;
  text-shadow:0 3px 18px rgba(0,0,0,.96),0 1px 5px #000;
}

.finale-mark{
  left:72%;
  top:51%;
  width:min(54vw,calc(74svh * .8192),680px);
}
.finale-name{
  top:14%;
  left:5vw;
  right:auto;
  width:min(44vw,700px);
  font-size:clamp(3.35rem,4.8vw,5.65rem);
  line-height:.9;
  text-align:left;
}
.finale-role{
  top:auto;
  bottom:20%;
  left:5vw;
  max-width:10ch;
  font-size:clamp(3rem,4.8vw,5.45rem);
  line-height:.9;
}
.finale-copy .finale-place{
  left:5vw;
  bottom:9%;
  max-width:44vw;
}
.site-footer{
  grid-template-columns:1fr;
  gap:1.4rem;
  padding-top:2.6rem;
}
.site-footer nav{justify-content:center}
.site-footer>p{
  grid-column:1;
  margin:0 auto;
  text-align:center;
}

@media(max-width:900px) and (min-height:540px){
  .finale-signature{
    top:4.5%;
    right:5.5vw;
    max-width:68vw;
    font-size:clamp(1.15rem,5.6vw,1.75rem);
  }
  .finale-name{
    top:8%;
    left:5.5vw;
    width:89vw;
    font-size:clamp(2.35rem,11.2vw,4rem);
    line-height:.9;
    text-align:left;
  }
  .finale-mark{
    left:50%;
    top:47%;
    width:min(74vw,calc(44svh * .8192),500px);
  }
  .finale-role{
    top:auto;
    bottom:13%;
    left:5.5vw;
    max-width:11ch;
    font-size:clamp(1.9rem,9.5vw,3.05rem);
    line-height:.92;
  }
  .finale-copy .finale-place{
    left:5.5vw;
    bottom:4.5%;
    max-width:89vw;
    font-size:clamp(.72rem,2.9vw,.92rem);
    line-height:1.35;
    letter-spacing:.15em;
  }
}
