:root{--ink-900: #0F2B41;--ink-800: #142E47;--ink-700: #1F405D;--ink-600: #2F5273;--ink-500: #4A6075;--ink-400: #6B7E91;--ink-300: #97A6B6;--ink-200: #C4CDD7;--ink-100: #E2E7EE;--ink-050: #F1F3F7;--paper: #FAF8F3;--paper-card: #FFFFFF;--paper-tint: #F1ECE2;--paper-deep: #E8E1D2;--line: #E5E1D7;--line-strong: #C9C2B0;--brass-700: #8E6A2C;--brass-500: #B8893C;--brass-300: #D7B879;--success: #2E6B4F;--warning: #B8702B;--danger: #973528;--info: var(--ink-700);--fg-1: var(--ink-900);--fg-2: var(--ink-700);--fg-3: var(--ink-500);--fg-4: var(--ink-300);--fg-on-ink: #F5F2EA;--fg-accent: var(--brass-500);--bg-1: var(--paper);--bg-2: var(--paper-card);--bg-3: var(--paper-tint);--bg-deep: var(--ink-900);--font-mono: ui-monospace, "JetBrains Mono", SFMono-Regular, Menlo, monospace;--t-hero: clamp(56px, 9vw, 144px);--t-display: clamp(40px, 6vw, 88px);--t-h1: clamp(34px, 4.2vw, 56px);--t-h2: clamp(26px, 3vw, 38px);--t-h3: 22px;--t-h4: 18px;--t-lead: 20px;--t-body: 17px;--t-small: 15px;--t-meta: 13px;--t-eyebrow: 12px;--track-display: -.01em;--track-tight: -.015em;--track-normal: 0;--track-eyebrow: .22em;--track-button: .16em;--s-1: 4px;--s-2: 8px;--s-3: 12px;--s-4: 16px;--s-5: 24px;--s-6: 32px;--s-7: 48px;--s-8: 64px;--s-9: 96px;--s-10: 128px;--s-11: 192px;--r-0: 0px;--r-1: 2px;--r-2: 4px;--r-pill: 999px;--b-hair: 1px solid var(--line);--b-rule: 1px solid var(--ink-100);--b-strong: 2px solid var(--ink-900);--shadow-1: 0 1px 2px rgba(15, 43, 65, .06);--shadow-2: 0 6px 18px -8px rgba(15, 43, 65, .18);--shadow-3: 0 24px 60px -28px rgba(15, 43, 65, .35);--shadow-inset: inset 0 0 0 1px rgba(15, 43, 65, .08);--ease-standard: cubic-bezier(.2, .7, .2, 1);--ease-out-soft: cubic-bezier(.16, 1, .3, 1);--ease-in-soft: cubic-bezier(.55, 0, .55, .2);--dur-fast: .18s;--dur-base: .32s;--dur-slow: .6s;--dur-slower: 1.2s;--container: 1240px;--container-tight: 880px;--grid-gutter: 24px}html,body{background:var(--bg-1);color:var(--fg-2);font-family:var(--font-serif);font-size:var(--t-body);line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}::selection{background:var(--ink-900);color:var(--fg-on-ink)}h1,.h1,h2,.h2,h3,.h3,h4,.h4{color:var(--fg-1);font-family:var(--font-display);font-weight:400;line-height:1.02;letter-spacing:var(--track-display);text-transform:uppercase;margin:0}.hero,h1.hero{font-size:var(--t-hero);line-height:1}h1,.h1{font-size:var(--t-h1)}h2,.h2{font-size:var(--t-h2)}h3,.h3,h4,.h4{font-family:var(--font-serif);font-weight:600;text-transform:none;letter-spacing:var(--track-tight);line-height:1.2}h3,.h3{font-size:var(--t-h3)}h4,.h4{font-size:var(--t-h4)}p,.p{font-family:var(--font-serif);font-size:var(--t-body);line-height:1.6;color:var(--fg-2);margin:0 0 1em;text-wrap:pretty}.lead{font-size:var(--t-lead);line-height:1.5;color:var(--fg-2)}.small{font-size:var(--t-small)}.meta{font-family:var(--font-sans);font-size:var(--t-meta);color:var(--fg-3);letter-spacing:.01em}.eyebrow{font-family:var(--font-sans);font-size:var(--t-eyebrow);font-weight:600;letter-spacing:var(--track-eyebrow);text-transform:uppercase;color:var(--fg-3)}a{color:var(--fg-1);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;text-decoration-color:var(--ink-200);transition:color var(--dur-fast) var(--ease-standard),text-decoration-color var(--dur-fast) var(--ease-standard)}a:hover{color:var(--brass-500);text-decoration-color:var(--brass-500)}code,kbd,.mono{font-family:var(--font-mono);font-size:.92em}hr{border:0;border-top:1px solid var(--line);margin:var(--s-6) 0}.on-ink{background:var(--bg-deep);color:var(--fg-on-ink)}.on-ink h1,.on-ink h2,.on-ink h3,.on-ink h4{color:var(--fg-on-ink)}.on-ink p{color:#f5f2eac7}.on-ink .eyebrow{color:var(--brass-300)}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}@font-face{font-family:Phosphor;src:url(/assets/fonts/phosphor-subset.woff2) format("woff2");font-weight:400;font-style:normal;font-display:block}.ph{font-family:Phosphor!important;speak:never;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.ph.ph-arrow-left:before{content:""}.ph.ph-arrow-right:before{content:""}.ph.ph-arrow-up-right:before{content:""}.ph.ph-envelope-simple:before{content:""}.ph.ph-list:before{content:""}.ph.ph-map-pin:before{content:""}.ph.ph-phone:before{content:""}.ph.ph-x:before{content:""}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--paper)}.container{max-width:1240px;margin:0 auto;padding:0 32px}.container-tight{max-width:880px;margin:0 auto;padding:0 32px}@media(max-width:720px){.container,.container-tight{padding:0 20px}}.site-header{position:fixed;top:0;left:0;right:0;z-index:50;padding:14px 32px;display:flex;align-items:center;justify-content:space-between;background:#faf8f3eb;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line);transition:padding var(--dur-base) var(--ease-standard),box-shadow var(--dur-base) var(--ease-standard)}.site-header.is-solid{box-shadow:0 1px 2px #0f2b410a}.site-header .brand{display:inline-block;line-height:0;text-decoration:none}.site-header .brand img{display:block;height:44px;width:auto;transition:height var(--dur-base) var(--ease-standard)}@media(max-width:720px){.site-header{padding:12px 20px}.site-header .brand img{height:36px}}.site-header .brand span{display:block}.site-header .nav{position:relative;display:flex;gap:36px;align-items:center}.site-header .nav a{font-family:var(--font-sans);font-size:13px;font-weight:500;color:var(--ink-900);text-decoration:none;letter-spacing:.01em;padding-bottom:6px;transition:color var(--dur-fast) var(--ease-standard);cursor:pointer}.site-header .nav a:hover{color:var(--brass-700)}.site-header .nav-underline{position:absolute;bottom:0;left:0;height:2px;background:var(--ink-900);transform-origin:left center;opacity:0;pointer-events:none}.site-header .nav-underline.is-ready{opacity:1;transition:transform var(--dur-base) var(--ease-standard),width var(--dur-base) var(--ease-standard)}.site-header .menu-btn{display:none;background:none;border:0;cursor:pointer;font-family:var(--font-sans);font-size:13px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-900);align-items:center;gap:10px}.site-header .menu-btn i{font-size:22px}@media(max-width:880px){.site-header .nav{display:none}.site-header .menu-btn{display:inline-flex}}.mobile-menu{position:fixed;inset:0;z-index:60;background:var(--ink-900);color:var(--fg-on-ink);display:flex;flex-direction:column;padding:24px 32px;transform:translateY(-100%);transition:transform var(--dur-base) var(--ease-out-soft)}.mobile-menu.is-open{transform:translateY(0)}.mobile-menu .top{display:flex;justify-content:space-between;align-items:center}.mobile-menu .close{background:none;border:0;color:var(--fg-on-ink);cursor:pointer;font-size:26px}.mobile-menu .links{display:flex;flex-direction:column;gap:18px;margin-top:64px}.mobile-menu .links a{font-family:var(--font-display);font-size:40px;line-height:1;text-transform:uppercase;color:var(--fg-on-ink);text-decoration:none;letter-spacing:-.005em;cursor:pointer}.hero{position:relative;min-height:78vh;overflow:hidden;background:var(--ink-900)}.hero .hero-img{position:absolute;inset:0;background:var(--ink-900)}.hero .hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;display:block}.hero .hero-img:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#0f2b4166,#0f2b4126 35%,#0f2b41b3)}.hero .inner{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:flex-end;min-height:78vh;padding:88px 0 56px}.hero .eyebrow{color:var(--brass-300);margin-bottom:18px}.hero h1{color:#f5f2ea;font-size:clamp(64px,9vw,144px);line-height:1;letter-spacing:-.012em;margin-bottom:28px;max-width:980px}.hero .lead{color:#f5f2eadb;max-width:560px;font-size:19px;line-height:1.5}.hero .scroll-cue{position:absolute;bottom:28px;right:32px;z-index:2;font-family:var(--font-sans);font-size:11px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:#f5f2eab3;display:flex;align-items:center;gap:10px;writing-mode:vertical-rl}.hero .scroll-cue .line{width:1px;height:56px;background:#f5f2ea99;animation:scrollPulse 2.4s var(--ease-standard) infinite}@keyframes scrollPulse{0%,to{transform:scaleY(1);opacity:.6;transform-origin:top}50%{transform:scaleY(.4);opacity:1;transform-origin:top}}section{padding:96px 0}@media(max-width:720px){section{padding:64px 0}}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin-bottom:80px}.section-head .left{max-width:720px}.section-head .eyebrow{display:block;margin-bottom:14px}.section-head h2{font-size:clamp(36px,5vw,64px);line-height:1.02}.section-head .lead{margin-top:18px;color:var(--ink-700)}@media(max-width:720px){.section-head{flex-direction:column;align-items:flex-start}}.practice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}@media(max-width:880px){.practice-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:520px){.practice-grid{grid-template-columns:1fr}}.practice-tile{position:relative;aspect-ratio:4 / 5;overflow:hidden;cursor:pointer;background:var(--ink-900);color:var(--fg-on-ink);border:0;text-align:left;padding:0;outline:0}.practice-tile:focus-visible{outline:2px solid var(--brass-500);outline-offset:-2px}.practice-tile .tile-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;display:block;transition:transform 1.2s var(--ease-out-soft)}.practice-tile:hover .tile-photo{transform:scale(1.04)}.practice-tile:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#0f2b410d,#0f2b4100 30%,#0f2b41d9);transition:background var(--dur-base) var(--ease-standard)}.practice-tile:hover:after{background:linear-gradient(180deg,#0f2b411f,#0f2b410d 30%,#0f2b41eb)}.practice-tile .label{position:absolute;left:24px;right:24px;bottom:22px;z-index:1;display:flex;flex-direction:column;gap:8px}.practice-tile .label .name{font-family:var(--font-display);font-size:clamp(28px,3vw,44px);line-height:1.02;text-transform:uppercase;color:#f5f2ea;letter-spacing:-.005em}.practice-tile .label .arrow{font-family:var(--font-sans);font-size:11px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--brass-300);display:inline-flex;align-items:center;gap:8px;opacity:0;transform:translateY(6px);transition:opacity var(--dur-base) var(--ease-standard),transform var(--dur-base) var(--ease-standard)}.practice-tile:hover .label .arrow,.practice-tile.is-open .label .arrow{opacity:1;transform:translateY(0)}.practice-tile.is-open{outline:2px solid var(--brass-500);outline-offset:-2px}.practice-tile.is-static{cursor:default}.practice-tile.is-static:hover .tile-photo{transform:none}.practice-tile.is-static:hover:after{background:linear-gradient(180deg,#0f2b410d,#0f2b4100 30%,#0f2b41d9)}.practice-detail{background:var(--paper-card);border-top:2px solid var(--ink-900);padding:56px 64px;margin-top:6px;display:grid;grid-template-columns:1fr 2fr;gap:56px;animation:revealUp var(--dur-slow) var(--ease-out-soft)}@keyframes revealUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media(max-width:880px){.practice-detail{grid-template-columns:1fr;padding:32px 24px;gap:28px}}.practice-detail .title{font-family:var(--font-display);font-size:clamp(36px,4.5vw,64px);line-height:1.02;text-transform:uppercase;color:var(--ink-900);letter-spacing:-.01em}.practice-detail .items{display:flex;flex-direction:column;gap:28px}.practice-detail .item h4{font-family:var(--font-serif);font-weight:600;font-size:19px;color:var(--ink-900);margin:0 0 6px;letter-spacing:-.01em}.practice-detail .item p{font-family:var(--font-serif);font-size:16px;line-height:1.55;color:var(--ink-700);margin:0}.practice-detail .detail-link{grid-column:2;margin:8px 0 0}.practice-detail .detail-link a{font-family:var(--font-sans);font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--brass-500);display:inline-flex;align-items:center;gap:8px;text-decoration:none}.practice-detail .detail-link a:hover{color:var(--ink-900)}@media(max-width:880px){.practice-detail .detail-link{grid-column:1}}.about{background:var(--paper-tint)}.about .about-head{max-width:720px;margin-bottom:48px}.about .about-head .eyebrow{display:block;margin-bottom:14px}.about .about-head h2{font-size:clamp(40px,5.5vw,72px);line-height:1.02}.about .about-portrait{width:100%;aspect-ratio:3 / 2;background:var(--paper-deep);border-top:2px solid var(--ink-900);overflow:hidden;margin-bottom:56px;display:flex;align-items:center;justify-content:center}.about .about-portrait .placeholder{font-family:var(--font-sans);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--fg-3)}.about .about-portrait img{width:100%;height:100%;object-fit:cover;display:block}.about .about-body{display:grid;grid-template-columns:1.6fr 1fr;gap:72px;align-items:start}@media(max-width:880px){.about .about-body{grid-template-columns:1fr;gap:40px}.about .about-portrait{aspect-ratio:4 / 3;margin-bottom:36px}}.about .about-text .lead{color:var(--ink-900);font-size:22px;line-height:1.45;margin-bottom:20px}.about .about-text p{color:var(--ink-700);font-size:17px;line-height:1.6}.about .about-credentials{display:flex;flex-direction:column;gap:24px;padding:24px 28px;border-left:1px solid var(--line-strong)}@media(max-width:880px){.about .about-credentials{flex-direction:row;flex-wrap:wrap;border-left:0;border-top:1px solid var(--line-strong);padding:24px 0 0;gap:32px}}.about .about-credentials .num{font-family:var(--font-display);font-size:56px;line-height:.9;color:var(--ink-900);letter-spacing:-.01em}.about .about-credentials .lbl{font-family:var(--font-sans);font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--fg-3);margin-top:8px}.training{background:var(--ink-900);color:var(--fg-on-ink);position:relative;overflow:hidden;padding:128px 0}.training:before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 15% 30%,rgba(184,137,60,.18),transparent 45%);pointer-events:none}.training .container{position:relative}.training .eyebrow{color:var(--brass-300);margin-bottom:24px;display:block}.training .quote-mark{font-family:var(--font-display);font-size:220px;line-height:.8;color:var(--brass-500);opacity:.42;position:absolute;top:-32px;left:12px;pointer-events:none}.training blockquote{font-family:var(--font-serif);font-size:clamp(28px,3.6vw,48px);line-height:1.15;letter-spacing:-.015em;color:#f5f2ea;margin:0;max-width:920px;position:relative}.training blockquote em{font-family:var(--font-display);font-style:normal;text-transform:uppercase;color:var(--brass-300);letter-spacing:0}.training .meta{margin-top:32px;color:#f5f2eab3;display:flex;align-items:center;gap:16px}.training .meta .rule{width:36px;height:1px;background:var(--brass-300)}.training .meta .author{font-family:var(--font-sans);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--brass-300)}.training .training-link{margin-top:24px;font-family:var(--font-serif);font-size:15px;color:#f5f2eab3}.training .training-link a{color:var(--brass-300);text-decoration-color:#b8893c80}.training .training-link a:hover{color:#f5f2ea}.contact .row{display:grid;grid-template-columns:1fr 1fr;gap:72px}@media(max-width:880px){.contact .row{grid-template-columns:1fr;gap:40px}}.address-block{display:flex;flex-direction:column;gap:22px}.address-block .line{display:flex;gap:14px;align-items:flex-start}.address-block .line i{font-size:20px;color:var(--ink-900);margin-top:2px;flex-shrink:0}.address-block .line .key{font-family:var(--font-sans);font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--fg-3);margin-bottom:4px}.address-block .line .val{font-family:var(--font-serif);font-size:17px;line-height:1.5;color:var(--ink-900)}.address-block .line .val.nowrap{white-space:nowrap}.address-block a{color:var(--ink-900);text-decoration:underline;text-decoration-color:var(--ink-200)}.address-block a:hover{color:var(--brass-500);text-decoration-color:var(--brass-500)}.contact-form{display:flex;flex-direction:column;gap:18px}.field{display:flex;flex-direction:column;gap:8px}.field label{font-family:var(--font-sans);font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--fg-3)}.field input,.field textarea,.field select{font-family:var(--font-serif);font-size:17px;color:var(--ink-900);background:#fff;border:1px solid var(--line-strong);border-radius:2px;padding:14px 16px;outline:0;transition:border var(--dur-fast) var(--ease-standard),box-shadow var(--dur-fast) var(--ease-standard)}.field textarea{resize:vertical;min-height:120px;font-family:var(--font-serif)}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--ink-900);box-shadow:inset 0 0 0 1px var(--ink-900)}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}@media(max-width:540px){.field-row{grid-template-columns:1fr}}.btn{font-family:var(--font-sans);font-size:13px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;padding:16px 26px;border:0;cursor:pointer;display:inline-flex;align-items:center;gap:12px;transition:background var(--dur-fast) var(--ease-standard),color var(--dur-fast) var(--ease-standard),transform var(--dur-fast) var(--ease-standard);border-radius:0;text-decoration:none}.btn-primary{background:var(--ink-900);color:#f5f2ea}.btn-primary:hover{background:var(--ink-700);color:#f5f2ea}.btn-primary:active{transform:translateY(1px)}.btn-secondary{background:transparent;color:var(--ink-900);border:1px solid var(--ink-900)}.btn-secondary:hover{background:var(--ink-050)}.btn .arrow{width:16px;height:2px;background:currentColor;position:relative;transition:transform var(--dur-fast) var(--ease-standard)}.btn .arrow:after{content:"";position:absolute;right:-1px;top:-3px;width:8px;height:8px;border-top:2px solid currentColor;border-right:2px solid currentColor;transform:rotate(45deg)}.btn:hover .arrow{transform:translate(4px)}.form-success{background:var(--ink-900);color:var(--fg-on-ink);padding:24px 28px;display:flex;gap:16px;align-items:flex-start;animation:revealUp var(--dur-slow) var(--ease-out-soft)}.form-success i{font-size:24px;color:var(--brass-300)}.form-success .ttl{font-family:var(--font-display);font-size:22px;text-transform:uppercase;letter-spacing:0;line-height:1}.form-success p{color:#f5f2eacc;margin:8px 0 0;font-size:15px}.site-footer{background:var(--ink-900);color:var(--fg-on-ink);padding:72px 0 36px}.site-footer .top{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:48px;padding-bottom:48px;border-bottom:1px solid rgba(245,242,234,.12)}@media(max-width:720px){.site-footer .top{grid-template-columns:1fr;gap:32px}}.site-footer .brand-block .wm{font-family:var(--font-display);font-size:36px;line-height:.9;text-transform:uppercase}.site-footer .brand-block p{color:#f5f2eab3;margin-top:16px;max-width:380px;font-family:var(--font-serif);font-size:15px;line-height:1.5}.site-footer .col h5{font-family:var(--font-sans);font-size:11px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--brass-300);margin:0 0 16px}.site-footer .col a,.site-footer .col .row{display:block;font-family:var(--font-serif);font-size:15px;color:var(--fg-on-ink);text-decoration:none;padding:6px 0;opacity:.86;transition:color var(--dur-fast) var(--ease-standard);cursor:pointer}.site-footer .col a:hover{color:var(--brass-300)}.site-footer .bottom{display:flex;justify-content:space-between;align-items:center;padding-top:24px;font-family:var(--font-sans);font-size:12px;color:#f5f2ea80;letter-spacing:.04em}@media(max-width:720px){.site-footer .bottom{flex-direction:column;gap:16px;align-items:flex-start}}.site-footer .bottom .legal{display:flex;gap:24px}.site-footer .bottom .legal a{color:#f5f2eab3;text-decoration:none}.site-footer .bottom .legal a:hover{color:var(--brass-300)}.reveal{opacity:0;transform:translateY(14px);transition:opacity var(--dur-slow) var(--ease-out-soft),transform var(--dur-slow) var(--ease-out-soft)}.reveal.is-visible{opacity:1;transform:translateY(0)}.legal-page{padding-top:160px;padding-bottom:96px}.legal-page .eyebrow{display:block;margin-bottom:18px}.legal-page h1{font-family:var(--font-display);font-size:clamp(40px,5.5vw,72px);line-height:1.02;text-transform:uppercase;color:var(--ink-900);margin-bottom:48px}.legal-page h2{font-family:var(--font-serif);font-weight:600;font-size:22px;text-transform:none;color:var(--ink-900);letter-spacing:-.01em;margin:40px 0 12px}.legal-page h3{font-family:var(--font-serif);font-weight:600;font-size:18px;text-transform:none;color:var(--ink-900);letter-spacing:-.005em;margin:28px 0 10px}.legal-page p,.legal-page address{font-family:var(--font-serif);font-size:17px;line-height:1.65;font-style:normal;color:var(--ink-700);margin:0 0 14px}.legal-page ul{font-family:var(--font-serif);font-size:17px;line-height:1.65;color:var(--ink-700);padding-left:22px;margin:0 0 14px}.legal-page ul li{margin:0 0 6px;padding-left:6px}.legal-page ul li::marker{color:var(--brass-500)}.legal-page a{color:var(--ink-900)}.legal-page .back{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-sans);font-size:12px;letter-spacing:.18em;text-transform:uppercase;text-decoration:none;color:var(--ink-700);margin-top:48px}.legal-page .back:hover{color:var(--brass-500)}
