:root{--pine:#0e2b20;--pine-deep:#092018;--pine-rgb:14 43 32;--bone:#f2eee4;--paper:#faf8f2;--ink:#11150f;--ink-soft:#3c4239;--ink-mute:#4d534a;--ink-faint:#5c6358;--rule:#d5cfbe;--rule-strong:var(--ink);--ground:var(--bone);--ground-deep:#e7e1d1;--accent:var(--ink);--clover:#3d8a5f;--mark:var(--clover);--placeholder-bg:#e3ddcc;--placeholder-ink:#6b6559;--font-display:var(--font-mincho),"Shippori Mincho","Hiragino Mincho ProN","Yu Mincho",serif;--font-body:var(--font-gothic),"Zen Kaku Gothic New","Hiragino Sans","Yu Gothic",sans-serif;--step--2:0.6875rem;--step--1:0.8125rem;--step-0:1rem;--step-1:1.125rem;--step-2:clamp(1.5rem,2.2vw,2rem);--step-2-lg:clamp(1.75rem,3.4vw,2.75rem);--step-3:clamp(2.5rem,5.5vw,4.5rem);--step-display:clamp(2.25rem,7.5vw,7rem);--step-display-latin:clamp(2.25rem,7vw,6rem);--track-display:0.01em;--track-latin:-0.02em;--track-label:0.18em;--measure:32rem;--measure-head:clamp(18rem,60vw,46rem);--gutter:clamp(1.5rem,6vw,5rem);--section-gap:clamp(5.5rem,14vw,12rem);--section-gap-tight:clamp(3.5rem,8vw,7rem);--page-max:76rem;--ease-out:cubic-bezier(0.16,1,0.3,1);--dur-reveal:700ms;--dur-ui:220ms;--dur-page:420ms;--dur-hero:1500ms;--dur-hero-text:1000ms;--dur-rule:1100ms;--ease-hero:cubic-bezier(0.42,0,0.58,1);--dur-drift:34s;--ease-drift:cubic-bezier(0.45,0,0.55,1)}html[lang=en]{--step-display:clamp(2.25rem,6.5vw,5.5rem)}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;overscroll-behavior:none;background:var(--pine)}:root{--header-h:7rem}@media (min-width:37.5625rem){:root{--header-h:4.5rem}}[id]{scroll-margin-top:calc(var(--header-h) + 1rem)}body{margin:0;background:var(--bone);color:var(--ink);font-family:var(--font-body);font-size:var(--step-0);line-height:1.85;font-feature-settings:"palt" 1}h1,h2,h3{font-family:var(--font-display);font-weight:400;letter-spacing:var(--track-display);line-height:1.24;margin:0;text-wrap:balance}p{margin:0;max-width:var(--measure);text-wrap:pretty}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.25em;transition:opacity var(--dur-ui) var(--ease-out)}a:hover{opacity:.6}:focus-visible{outline:1px solid var(--ink);outline-offset:3px}img{max-width:100%;display:block}.tnum{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.latin{letter-spacing:var(--track-latin)}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;-webkit-clip-path:inset(50%);clip-path:inset(50%);white-space:nowrap;border:0}.on-bone{background:var(--bone)}.on-paper{background:var(--paper)}.on-pine{background:var(--pine);--ink:#f2eee4;--ink-soft:#dcd8cc;--ink-mute:#c6c3b6;--ink-faint:#a09d8f;--rule:#2b4b3a;--rule-strong:#f2eee4;--paper:var(--pine-deep);--ground:var(--pine);--ground-deep:var(--pine-deep);--placeholder-bg:#16382a;--placeholder-ink:#8e8b7d;color:var(--ink)}.display{font-family:var(--font-display);font-weight:400;font-size:var(--step-display);line-height:1.04;letter-spacing:var(--track-display);margin:0}.display-latin{font-size:var(--step-display-latin);letter-spacing:var(--track-latin)}.rule-strong{border:0;border-top:1px solid var(--rule-strong);margin:0;width:100%}.vlabel{font-size:var(--step--1);letter-spacing:var(--track-label);text-transform:uppercase;color:var(--ink-mute);white-space:nowrap;padding-top:.35em}.vlabel,.vquote{writing-mode:vertical-rl;-webkit-text-orientation:mixed;text-orientation:mixed;margin:0}.vquote{font-family:var(--font-display);font-size:var(--step-2);line-height:1.7;letter-spacing:.06em;max-block-size:26rem;max-width:none}@media (max-width:60rem){.vlabel,.vquote{writing-mode:horizontal-tb;max-block-size:none;padding-top:0}.vquote{max-width:var(--measure)}}.section-shell{padding:var(--section-gap) var(--gutter)}.section-inner{max-width:var(--page-max);margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr);grid-gap:1.25rem;gap:1.25rem}@media (min-width:60.0625rem){.section-inner{grid-template-columns:1.75rem minmax(0,1fr);gap:0 clamp(1.75rem,3.5vw,3.5rem);align-items:start}.section-rail{grid-column:1}.section-col{grid-column:2}}.section-title{font-size:var(--step-3);line-height:1.1;max-width:var(--measure-head)}.prop-band{display:grid;grid-template-columns:minmax(0,1fr);margin-top:clamp(2.5rem,6vw,4.5rem)}@media (min-width:40rem){.prop-band{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:64rem){.prop-band{grid-template-columns:repeat(var(--prop-count,4),minmax(0,1fr))}}.prop-panel{position:relative;display:block;aspect-ratio:4/5;overflow:hidden;text-decoration:none;isolation:isolate}.prop-panel:focus-visible,.prop-panel:hover{opacity:1}.prop-panel:focus-visible .prop-panel-scrim,.prop-panel:hover .prop-panel-scrim{background-color:rgb(var(--pine-rgb)/.24)}.prop-panel:focus-visible{outline:2px solid var(--bone);outline-offset:-4px;box-shadow:inset 0 0 0 6px rgb(var(--pine-rgb)/.85)}.prop-panel-scrim{position:absolute;inset:0;z-index:1;pointer-events:none;background-color:rgb(var(--pine-rgb)/0);transition:background-color var(--dur-ui) var(--ease-out)}.prop-panel-copy{position:absolute;z-index:2;left:0;right:0;bottom:0;display:flex;flex-direction:column;gap:.5rem;padding:clamp(1.1rem,2.2vw,1.6rem);background-image:linear-gradient(0deg,rgb(var(--pine-rgb)/.94) 0,rgb(var(--pine-rgb)/.92) 100%)}.prop-panel-copy:before{content:"";position:absolute;left:0;right:0;bottom:100%;height:5.5rem;pointer-events:none;background-image:linear-gradient(0deg,rgb(var(--pine-rgb)/.92) 0,rgb(var(--pine-rgb)/.52) 34%,rgb(var(--pine-rgb)/.16) 62%,rgb(var(--pine-rgb)/0) 100%)}.prop-panel-ward{font-size:var(--step--1);letter-spacing:var(--track-label);color:var(--ink-mute)}.prop-panel-name{font-family:var(--font-display);font-size:var(--step-1);line-height:1.25}.prop-panel-view{margin-top:.4rem;padding-top:.7rem;border-top:1px solid var(--rule-strong);font-size:var(--step--2);letter-spacing:var(--track-label);text-transform:uppercase;line-height:1.6}@media (max-width:39.99rem){.prop-panel-name{font-size:var(--step-2)}.prop-panel-copy{padding:clamp(1.25rem,5vw,2rem) var(--gutter)}}.prop-index{list-style:none;margin:0;padding:0}.prop-row{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:clamp(1.25rem,3vw,2rem);gap:clamp(1.25rem,3vw,2rem);align-items:center;padding:clamp(1.75rem,3.5vw,2.75rem) var(--gutter);border-bottom:1px solid var(--rule);text-decoration:none;color:inherit}@media (min-width:48rem){.prop-row{grid-template-columns:minmax(0,1fr) 15rem;gap:clamp(2rem,5vw,4rem)}}.prop-row:focus-visible,.prop-row:hover{opacity:1}.prop-row:focus-visible .prop-row-name,.prop-row:hover .prop-row-name{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.14em}.prop-row-text{display:flex;flex-direction:column;gap:.55rem;max-width:var(--measure)}.prop-row-ward{font-size:var(--step--1);letter-spacing:var(--track-label);color:var(--ink-mute)}.prop-row-name{font-family:var(--font-display);font-size:clamp(1.75rem,4vw,3rem);line-height:1.15}.prop-row-tagline{color:var(--ink-mute)}.prop-row-view{margin-top:.35rem;font-size:var(--step--2);letter-spacing:var(--track-label);text-transform:uppercase}.prop-row-media{display:block;width:100%;max-width:15rem}.prop-grid{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:clamp(3.5rem,9vw,6rem);gap:clamp(3.5rem,9vw,6rem)}@media (min-width:52rem){.prop-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(2rem,5vw,4.5rem);align-items:start}}.prop-quad{--quad-gap:1.5rem;display:grid;grid-template-columns:minmax(0,1fr);grid-gap:clamp(2.5rem,6vw,3.5rem) var(--quad-gap);gap:clamp(2.5rem,6vw,3.5rem) var(--quad-gap)}@media (min-width:40rem){.prop-quad{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:64rem){.prop-quad{grid-template-columns:repeat(var(--prop-count,4),minmax(0,1fr));align-items:start}}.prop-quad-panel{display:flex;flex-direction:column;gap:clamp(.9rem,1.6vw,1.25rem);text-decoration:none;color:inherit}.prop-quad-panel:focus-visible,.prop-quad-panel:hover{opacity:1}.prop-quad-panel:focus-visible .prop-quad-name,.prop-quad-panel:hover .prop-quad-name{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.14em}.prop-quad-panel:focus-visible{outline:2px solid var(--ink);outline-offset:6px}.prop-quad-copy{display:flex;flex-direction:column;gap:.5rem}.prop-quad-ward{font-size:var(--step--2);letter-spacing:var(--track-label);text-transform:uppercase;color:var(--ink-faint)}.prop-quad-name{font-family:var(--font-display);font-size:var(--step-1);line-height:1.25}.prop-quad-view{margin-top:.35rem;padding-top:.8rem;border-top:1px solid var(--rule-strong);font-size:var(--step--2);letter-spacing:var(--track-label);text-transform:uppercase;line-height:1.6}@media (max-width:39.99rem){.prop-quad-name{font-size:var(--step-2)}.spec-table{--spec-cols:minmax(0,1fr);row-gap:.35rem}.spec-table dd{word-break:keep-all;overflow-wrap:anywhere}}.practice-list{list-style:none;margin:0;padding:0}.practice-list>li{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:.5rem;gap:.5rem;padding:clamp(1.75rem,3.5vw,2.75rem) 0;border-top:1px solid var(--rule)}.practice-list>li:first-child{border-top:0;padding-top:0}@media (min-width:48rem){.practice-list>li{grid-template-columns:4rem minmax(0,1fr);column-gap:clamp(1.5rem,3vw,2.5rem)}.practice-n{grid-row:1/span 2}}.practice-n{margin:0;font-family:var(--font-display);font-size:var(--step-1);color:var(--ink-faint);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1.3}.practice-title{margin:0;font-family:var(--font-display);font-weight:400;font-size:var(--step-2);line-height:1.3}.practice-body{margin:0;color:var(--ink-soft)}.split-text{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:clamp(2.5rem,6vw,4rem);gap:clamp(2.5rem,6vw,4rem)}@media (min-width:52rem){.split-text{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:clamp(2.5rem,6vw,5rem);align-items:start}}.about-locations{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:clamp(2.5rem,6vw,5rem);gap:clamp(2.5rem,6vw,5rem)}@media (min-width:40rem){.about-locations{grid-template-columns:repeat(2,minmax(0,1fr))}}.quote-split{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:clamp(2.5rem,5vw,3.5rem);gap:clamp(2.5rem,5vw,3.5rem)}@media (min-width:60.0625rem){.quote-split{grid-template-columns:minmax(0,max-content) auto;justify-content:start;gap:clamp(3rem,7vw,6rem);align-items:start}}.invitation-spread{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:1.5rem;gap:1.5rem}@media (min-width:60.0625rem){.invitation-spread{grid-template-columns:minmax(0,max-content) minmax(0,var(--measure));justify-content:start;gap:clamp(2rem,4vw,4.5rem);align-items:baseline}.invitation-lead{margin-bottom:0}}.invitation-band{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:clamp(1.25rem,2.5vw,2rem);gap:clamp(1.25rem,2.5vw,2rem);margin-top:clamp(2.5rem,5vw,4rem)}@media (min-width:60.0625rem){.invitation-band{grid-template-columns:repeat(2,minmax(0,1fr))}}.site-header{position:-webkit-sticky;position:sticky;top:0;z-index:20;display:flex;align-items:baseline;gap:clamp(1rem,4vw,3rem);padding:.9rem var(--gutter)}.site-header.over-hero{--ink-faint:var(--ink-mute)}@supports (animation-timeline:scroll()){@media (prefers-reduced-motion:no-preference){.site-header.over-hero{animation:header-ground linear both;animation-timeline:scroll(root block);animation-range:0 55svh}}}@keyframes header-ground{0%{background-color:rgb(var(--pine-rgb)/0)}to{background-color:rgb(var(--pine-rgb)/1)}}.nav-menu{position:relative}.nav-menu>summary{list-style:none;cursor:pointer}.nav-menu>summary::-webkit-details-marker{display:none}.nav-menu>summary:after{content:"";display:inline-block;width:.34em;height:.34em;margin-left:.5em;vertical-align:.15em;border-right:1px solid;border-bottom:1px solid;transform:rotate(45deg);transition:transform var(--dur-ui) var(--ease-out)}.nav-menu[open]>summary:after{transform:translateY(.18em) rotate(-135deg)}.nav-menu-panel{position:absolute;top:calc(100% + .9rem);left:-1.25rem;min-width:max-content;margin:0;padding:1rem 1.5rem 1.15rem 1.25rem;list-style:none;background:var(--paper);border-top:1px solid var(--rule-strong);display:flex;flex-direction:column;gap:.7rem}@media (max-width:60rem){.nav-menu{position:static}.nav-menu-panel{top:100%;left:auto;right:var(--gutter);text-align:right;padding:1rem 1.25rem 1.15rem}}.concept-map svg{width:100%;height:auto;display:block}@keyframes page-in{0%{opacity:0}}@keyframes hero-text-in{0%{opacity:0;transform:translateY(18px)}}@keyframes rule-draw{0%{transform:scaleX(0)}}.page-enter{animation:page-in var(--dur-page) var(--ease-out) both}.hero-text{animation:hero-text-in var(--dur-hero-text) var(--ease-hero) .12s backwards}.hero-rule{transform-origin:left center;animation:rule-draw var(--dur-rule) var(--ease-out) .2s backwards}.hero-plate{position:absolute;top:0;left:0;right:0;height:var(--plate-band-h);overflow:hidden;z-index:0;animation:page-in var(--dur-hero) var(--ease-hero) backwards}.home-hero .hero-plate img{animation:hero-drift var(--dur-drift) var(--ease-drift) infinite alternate both}.hero-scrim{position:absolute;inset:0;z-index:1;pointer-events:none;--scrim-band:linear-gradient(180deg,rgb(var(--pine-rgb)/0.78) 0,rgb(var(--pine-rgb)/0.78) calc(var(--header-h) + 0.25rem),rgb(var(--pine-rgb)/0.34) calc(var(--header-h) + 3.5rem),rgb(var(--pine-rgb)/0) calc(var(--header-h) + 9rem));--scrim-lift:linear-gradient(0deg,rgb(var(--pine-rgb)/0.96) 0,rgb(var(--pine-rgb)/0.93) 40%,rgb(var(--pine-rgb)/0.8) 58%,rgb(var(--pine-rgb)/0.24) 76%,rgb(var(--pine-rgb)/0) 90%);--scrim-left:none;background-image:var(--scrim-band),var(--scrim-lift),var(--scrim-left)}.home-hero,.prop-hero{position:relative;isolation:isolate;margin-top:calc(-1 * var(--header-h));display:grid;--plate-band-h:58svh}.home-hero{min-height:100svh;align-content:end;padding:calc(var(--header-h) + clamp(3rem, 8vw, 7rem)) var(--gutter) clamp(4rem,10vw,9rem)}.prop-hero{align-content:start;padding:calc(var(--plate-band-h) + clamp(2rem, 7vw, 3rem)) var(--gutter) clamp(3.5rem,9vw,6rem)}.prop-hero .hero-scrim{--scrim-lift:linear-gradient(180deg,rgb(var(--pine-rgb)/0) calc(var(--plate-band-h) - 20svh),rgb(var(--pine-rgb)/0.55) calc(var(--plate-band-h) - 7svh),rgb(var(--pine-rgb)/1) var(--plate-band-h))}.home-hero-inner,.prop-hero-inner{position:relative;z-index:2;max-width:var(--page-max);margin:0 auto;width:100%}@media (min-width:48rem){.hero-plate{top:0;right:0;bottom:0;left:auto;width:52%;height:auto}.home-hero .hero-scrim{--scrim-lift:linear-gradient(0deg,rgb(var(--pine-rgb)/0.82) 0,rgb(var(--pine-rgb)/0.78) 38%,rgb(var(--pine-rgb)/0.74) 66%,rgb(var(--pine-rgb)/0.24) 84%,rgb(var(--pine-rgb)/0) 96%);--scrim-left:linear-gradient(90deg,rgb(var(--pine-rgb)/1) 0 50%,rgb(var(--pine-rgb)/0) 64%)}.prop-hero .hero-scrim{--scrim-lift:linear-gradient(0deg,rgb(var(--pine-rgb)/0.88) 0,rgb(var(--pine-rgb)/0.5) 9%,rgb(var(--pine-rgb)/0) 22%);--scrim-ramp:max(18%,200px);--scrim-left:linear-gradient(90deg,rgb(var(--pine-rgb)/1) 0 50%,rgb(var(--pine-rgb)/0.62) calc(50% + var(--scrim-ramp) * 0.28),rgb(var(--pine-rgb)/0.28) calc(50% + var(--scrim-ramp) * 0.5),rgb(var(--pine-rgb)/0.1) calc(50% + var(--scrim-ramp) * 0.72),rgb(var(--pine-rgb)/0) calc(50% + var(--scrim-ramp)))}.prop-hero{min-height:100svh;align-content:center;padding:calc(var(--header-h) + clamp(3rem, 7vw, 5rem)) var(--gutter) clamp(3.5rem,9vw,6rem)}.prop-hero-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.prop-hero-copy{grid-column:1}}@keyframes hero-drift{0%{transform:scale(1) translateZ(0)}to{transform:scale(1.1) translate3d(-1.4%,-1.8%,0)}}.reveal{opacity:0;transform:translateY(14px);transition:opacity var(--dur-reveal) var(--ease-out),transform var(--dur-reveal) var(--ease-out)}.reveal[data-shown=true]{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;transition-duration:.01ms!important}html{scroll-behavior:auto}.reveal{opacity:1;transform:none}.hero-plate,.hero-plate img,.hero-rule,.hero-text,.page-enter{animation:none}}.journey-track{--journey-step:62vh;position:relative;margin-top:clamp(2.5rem,6vw,4.5rem)}.journey-frame{--journey-band:5.25rem;margin:0}.journey-frame,.journey-media{position:relative;background:var(--pine-deep);overflow:hidden}.journey-media{aspect-ratio:var(--journey-ratio,3/2);width:100%}.journey-caption{display:flex;align-items:baseline;justify-content:space-between;gap:1.5rem;min-height:var(--journey-band);padding:1.35rem var(--gutter);color:var(--ink-mute)}.journey-index{font-size:var(--step--2);letter-spacing:var(--track-label);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.journey-room{font-family:var(--font-display);font-size:var(--step-1);line-height:1.3;color:var(--ink);text-align:right}@media (min-width:48rem){.journey-frame{--journey-band:6rem}.journey-room{font-size:var(--step-2)}}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.journey-track{height:calc(100svh + var(--journey-count) * var(--journey-step));view-timeline-name:--journey;view-timeline-axis:block}.journey-stage{position:-webkit-sticky;position:sticky;--journey-top:calc(var(--header-h) + clamp(0.75rem, 1.6vw, 1.5rem));top:var(--journey-top);height:calc(100svh - var(--journey-top));overflow:hidden}.journey-frame{position:absolute;inset:0;display:grid;grid-template-rows:minmax(0,1fr) auto;z-index:var(--journey-i);animation:journey-fade linear both;animation-timeline:--journey;animation-range:contain var(--journey-start) contain var(--journey-end)}.journey-frame:first-child{animation:none;opacity:1}.journey-media img{animation:journey-push linear both;animation-timeline:--journey;animation-range:contain var(--journey-start) contain var(--journey-end)}.journey-media{position:relative;width:100%;height:100%;aspect-ratio:auto}.journey-caption{align-items:center}}}@keyframes journey-fade{0%{opacity:0}34%{opacity:1}to{opacity:1}}@keyframes journey-push{0%{transform:scale(1.12)}to{transform:scale(1)}}@media (max-width:47.99rem){.journey-track{--journey-step:48vh}}.site-header{align-items:center;min-height:var(--header-h)}.site-nav{margin-left:auto;display:flex;align-items:center;gap:clamp(1.25rem,3vw,2.5rem)}@media (max-width:37.5rem){.site-header{flex-direction:column;align-items:flex-start;gap:4px;padding-block:12px}.site-nav{margin-left:0;width:100%;justify-content:space-between;gap:.5rem;min-height:44px}.site-nav summary,.site-nav>a{padding-block:10px}}