:root{--bg: #0b0908;--bg-soft: #171210;--fg: #f1e9df;--fg-dim: #948a80;--accent: #c98a63;--rule: rgba(241, 233, 223, .1)}*{box-sizing:border-box;margin:0;padding:0}html{background:var(--bg)}body{background:var(--bg);color:var(--fg);font-family:Manrope,sans-serif;font-weight:300;-webkit-font-smoothing:antialiased;overflow-x:hidden}::selection{background:var(--accent);color:var(--bg)}a{color:inherit;text-decoration:none}ul{list-style:none}.grain{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;mix-blend-mode:overlay;opacity:.07;z-index:50;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>")}.nav{position:fixed;top:0;left:0;right:0;z-index:40;display:flex;align-items:center;justify-content:space-between;padding:clamp(20px,3vw,32px) clamp(20px,4vw,64px);mix-blend-mode:difference}.nav__mark{display:flex;align-items:center;gap:10px;font-family:Fraunces,serif;font-size:18px;letter-spacing:.02em;white-space:nowrap}.nav__logo{height:32px;width:auto;display:block}.nav__links{display:flex;gap:clamp(16px,2.4vw,36px);font-size:11px;letter-spacing:.22em;text-transform:uppercase}.nav__links a{opacity:.72;transition:opacity .3s ease}.nav__links a:hover{opacity:1}.nav__status{display:flex;align-items:center;gap:8px;font-size:11px;letter-spacing:.2em;text-transform:uppercase;opacity:.72}.nav__dot{width:6px;height:6px;border-radius:50%;background:#3ecf6e;animation:pulse 2.6s ease-in-out infinite}.nav__toggle{display:none;flex-direction:column;justify-content:center;gap:5px;width:32px;height:32px;padding:0;border:none;background:none;cursor:pointer;z-index:41}.nav__toggle-bar{display:block;width:100%;height:1px;background:var(--fg);transition:transform .3s ease,opacity .3s ease}@media (max-width: 767px){.nav{position:sticky;background:#0b0908f0;mix-blend-mode:normal;border-bottom:1px solid var(--rule)}.nav__status{display:none}.nav__toggle{display:flex}.nav.is-open .nav__toggle-bar:nth-child(1){transform:translateY(6px) rotate(45deg)}.nav.is-open .nav__toggle-bar:nth-child(2){opacity:0}.nav.is-open .nav__toggle-bar:nth-child(3){transform:translateY(-6px) rotate(-45deg)}.nav__links{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px;position:fixed;top:0;right:0;bottom:0;left:0;background:#080605fa;font-family:Fraunces,serif;font-size:22px;letter-spacing:.02em;text-transform:none;opacity:0;pointer-events:none;transform:translateY(-16px);transition:opacity .3s ease,transform .3s ease}.nav.is-open .nav__links{opacity:1;pointer-events:auto;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.7)}}.hero-slider{position:sticky;top:0;z-index:1;width:100%;max-width:none;margin:0;padding:0}.hero-visual{position:relative;width:100%;max-width:none;height:calc(82vh + 2cm);min-height:460px;margin:0;padding:0;overflow:hidden;background:var(--bg)}.hero-title{position:absolute;left:clamp(20px,4vw,64px);top:50%;transform:translateY(-50%);z-index:3;display:flex;flex-direction:column;align-items:flex-start;text-align:left;max-width:40%}.hero__eyebrow{font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--fg-dim);margin-bottom:clamp(16px,2.2vw,26px)}.hero__title,.hero-slogan__title{font-family:Fraunces,serif;font-weight:400;font-size:clamp(30px,5vw,68px);line-height:1.05;letter-spacing:-.014em;margin:0}.hero__title{max-width:11ch}.hero-slogan__title{max-width:none}.hero__line{display:block}.hero__line--italic{font-style:italic;font-weight:400;color:var(--accent)}.hero-slogan{position:absolute;right:clamp(20px,4vw,64px);top:50%;transform:translateY(-50%);z-index:3;max-width:40%;text-align:right}.hero__canvas{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;opacity:0;transition:opacity 1.6s ease}.hero__canvas--ready{opacity:1}.hero-visual:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;background:radial-gradient(ellipse at 50% 45%,#0b090800,#0b09084d 68%,#0b0908d1),linear-gradient(to bottom,#0b090859,#0b090800 18%,#0b090800 72%,#0b09088c)}.hero__scroll-cue{position:absolute;left:50%;bottom:clamp(24px,5vh,48px);transform:translate(-50%);z-index:2;display:flex;align-items:center;gap:8px;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);writing-mode:vertical-rl}.hero__scroll-track{position:relative;display:block;width:2px;height:30px;background:var(--rule);border-radius:1px 1px 2px 2px;overflow:hidden;flex-shrink:0}.hero__scroll-fill{position:absolute;top:0;left:0;width:100%;height:100%;background:var(--accent);border-radius:inherit;transform-origin:top;animation:scroll-line-grow 2.4s ease-in-out infinite}@keyframes scroll-line-grow{0%{transform:scaleY(0);opacity:0}12%{opacity:1}55%{transform:scaleY(1);opacity:1}80%{transform:scaleY(1);opacity:.15}to{transform:scaleY(0);opacity:0}}@media (max-width: 767px){.hero-slider{display:flex;flex-wrap:wrap;row-gap:clamp(28px,6vh,44px);padding-bottom:clamp(32px,6vh,48px)}.hero-visual{flex:1 1 100%;height:62vh;min-height:380px}.hero-title{display:contents}.hero-slogan{position:static;inset:auto;transform:none;max-width:none;flex:1 1 50%;text-align:center;padding-left:8px;padding-right:clamp(20px,4vw,64px);margin-top:-12px}.hero__eyebrow{flex:1 1 100%;text-align:center;font-size:9px;letter-spacing:.2em;margin:-10px 0 0;padding:0 clamp(20px,4vw,64px)}.hero__title:not(.hero-slogan__title){flex:1 1 50%;max-width:none;text-align:center;padding-left:clamp(20px,4vw,64px);padding-right:8px;font-size:clamp(14px,4.4vw,19px);margin:-12px 0 0}.hero-slogan__title{font-size:clamp(14px,4.4vw,19px);margin:0 auto;max-width:9ch}}.page-stack{position:relative;z-index:2;background:var(--bg)}section{max-width:1520px;margin:0 auto;padding:clamp(96px,14vh,200px) clamp(20px,4vw,64px)}.section-label{font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--accent);margin-bottom:clamp(20px,3vh,40px)}.section-heading{font-family:Fraunces,serif;font-weight:400;font-size:clamp(34px,5vw,78px);line-height:1.04;letter-spacing:-.01em;max-width:18ch;margin-bottom:clamp(24px,4vh,48px)}.section-body{font-size:16px;line-height:1.72;opacity:.78;max-width:58ch}.section-body em{color:var(--accent);font-style:italic}.section-intro{font-size:16px;line-height:1.6;opacity:.78;max-width:46ch;margin:0 auto clamp(40px,5vh,64px);text-align:center}.section-intro em{color:var(--accent);font-style:italic;margin-right:.16em;padding-right:.02em}#manifesto .manifesto__grid{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(24px,3vw,40px);align-items:start}#manifesto .manifesto__lead{grid-column:1 / 8}#manifesto .manifesto__meta{grid-column:9 / 13;display:flex;flex-direction:column;gap:20px;border-left:1px solid var(--rule);padding-left:24px}#manifesto .manifesto__meta dt{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--fg-dim);margin-bottom:4px}#manifesto .manifesto__meta dd{font-family:Fraunces,serif;font-size:18px}@media (max-width: 900px){#manifesto .manifesto__lead,#manifesto .manifesto__meta{grid-column:1 / 13}#manifesto .manifesto__meta{border-left:none;padding-left:0;border-top:1px solid var(--rule);padding-top:20px;flex-direction:row;flex-wrap:wrap;gap:32px}}.practice__list{border-top:1px solid var(--rule)}.practice__row{display:flex;align-items:baseline;justify-content:space-between;gap:24px;padding:clamp(20px,3vh,30px) 4px;border-bottom:1px solid var(--rule);transition:padding-left .35s ease,background-color .35s ease}.practice__row:hover{padding-left:16px;background:#ffffff04}.practice__index{font-size:12px;color:var(--fg-dim);min-width:3ch}.practice__name{font-family:Fraunces,serif;font-size:clamp(20px,2.4vw,32px);flex:0 0 clamp(220px,26vw,340px);padding:0 24px 0 0}.practice__desc{flex:1;font-size:14px;line-height:1.6;opacity:.6;padding:0 24px;text-align:center}.practice__tag{flex:0 0 150px;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--fg-dim);text-align:right}@media (max-width: 900px){.practice__desc{display:none}.practice__name{flex:1}}@media (max-width: 480px){.practice__row{flex-wrap:wrap}.practice__name{flex:1 1 auto;padding:0 12px}.practice__tag{flex:1 0 100%;padding-left:calc(3ch + 12px)}}.field__grid{display:grid;grid-template-columns:repeat(6,1fr);grid-auto-flow:dense;gap:clamp(10px,1.4vw,18px)}.field__item{position:relative;overflow:hidden;background:var(--bg-soft);aspect-ratio:3 / 4}.field__item img{width:100%;height:100%;object-fit:cover;filter:saturate(.86) contrast(1.04);transform:scale(1.02);transition:transform .7s ease,filter .7s ease}.field__item:hover img{transform:scale(1.08);filter:saturate(1) contrast(1.06)}.field__item--tall{grid-row:span 2;aspect-ratio:auto}.field__item--wide{grid-column:span 2;aspect-ratio:auto}@media (max-width: 900px){.field__grid{grid-template-columns:repeat(2,1fr)}.field__item--wide{grid-column:span 2;aspect-ratio:16 / 9}}.approach__list{display:flex;flex-direction:column;gap:0;border-top:1px solid var(--rule)}.approach__row{display:grid;grid-template-columns:100px 1fr 2fr;gap:24px;padding:clamp(28px,4vh,44px) 4px;border-bottom:1px solid var(--rule);transition:padding-left .35s ease,background-color .35s ease}.approach__row:hover{padding-left:16px;background:#ffffff04}.approach__num{font-family:Fraunces,serif;font-style:italic;color:var(--accent);font-size:20px}.approach__title{font-family:Fraunces,serif;font-size:clamp(20px,2vw,28px)}.approach__desc{font-size:15px;line-height:1.7;opacity:.72;max-width:52ch}@media (max-width: 760px){.approach__row{grid-template-columns:1fr;gap:10px}}#conversation{text-align:center;display:flex;flex-direction:column;align-items:center}.conversation__email{font-family:Fraunces,serif;font-size:clamp(22px,3.4vw,36px);display:inline-flex;align-items:center;gap:16px;margin:clamp(24px,4vh,40px) 0;padding:clamp(14px,2.4vw,22px) clamp(28px,4vw,44px);border:1px solid var(--accent);border-radius:999px;background:var(--accent);color:var(--bg);transition:color .3s ease,border-color .3s ease,background-color .3s ease}.conversation__email:hover{color:var(--accent);border-color:var(--accent);background:transparent}.conversation__arrow{display:inline-block;transition:transform .35s ease}.conversation__email:hover .conversation__arrow{transform:translate(6px,-6px)}.conversation__columns{display:flex;gap:clamp(32px,6vw,96px);margin-top:clamp(40px,6vh,64px);flex-wrap:wrap;justify-content:center}.conversation__col dt{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--fg-dim);margin-bottom:8px}.conversation__col dd{font-size:15px;opacity:.82}.conversation__map-form{width:100%;display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(32px,5vw,64px);margin-top:clamp(56px,8vh,96px);text-align:left;border-top:1px solid var(--rule);padding-top:clamp(40px,6vh,64px)}.conversation__map{position:relative}.conversation__map iframe{width:100%;display:block;filter:grayscale(.4) invert(.92) contrast(.9);border-radius:2px}.conversation__directions{display:inline-block;margin-top:16px;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--fg-dim);border-bottom:1px solid var(--rule);padding-bottom:2px;transition:color .3s ease,border-color .3s ease}.conversation__directions:hover{color:var(--accent);border-color:var(--accent)}.contact-form{display:flex;flex-direction:column;gap:18px}.contact-form__hp{position:absolute;left:-9999px}.contact-form .field{display:flex;flex-direction:column;gap:8px}.contact-form .field--consent{flex-direction:row;align-items:flex-start;gap:10px}.contact-form label{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--fg-dim)}.contact-form .field--consent label{text-transform:none;letter-spacing:.01em;font-size:13px;line-height:1.5}.contact-form input[type=text],.contact-form input[type=email],.contact-form textarea{background:var(--bg-soft);border:1px solid var(--rule);border-radius:2px;padding:12px 14px;color:var(--fg);font-family:Manrope,sans-serif;font-size:14px;transition:border-color .3s ease}.contact-form input[type=text]:focus,.contact-form input[type=email]:focus,.contact-form textarea:focus{outline:none;border-color:var(--accent)}.contact-form input[type=checkbox]{width:16px;height:16px;margin-top:2px;accent-color:var(--accent)}.contact-form textarea{resize:vertical;min-height:96px}.btn-block{align-self:flex-start;margin-top:4px;padding:14px 32px;border:1px solid var(--accent);border-radius:2px;background:transparent;color:var(--accent);font-family:Manrope,sans-serif;font-size:11px;letter-spacing:.2em;text-transform:uppercase;cursor:pointer;transition:background-color .3s ease,color .3s ease}.btn-block:hover{background:var(--accent);color:var(--bg)}.contact-form__success{font-size:14px;color:var(--accent)}@media (max-width: 820px){.conversation__map-form{grid-template-columns:1fr}}.footer{display:grid;grid-template-columns:1fr auto;align-items:center;gap:16px;padding:clamp(32px,4vh,48px) clamp(20px,4vw,64px);border-top:1px solid var(--rule);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-dim)}.footer__brand{white-space:nowrap}.footer__social{display:flex;justify-content:flex-end;gap:20px}.footer__social a{opacity:.7;transition:opacity .3s ease}.footer__social a:hover{opacity:1;color:var(--accent)}.privacy-link{background:none;border:none;padding:0;font:inherit;color:inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer;transition:color .3s ease}.privacy-link:hover{color:var(--accent)}@media (max-width: 720px){.footer{grid-template-columns:1fr;justify-items:center;text-align:center;gap:20px}.footer__social{justify-content:center;order:1}.footer__brand{order:2}}.privacy-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:24px}.privacy-modal[hidden]{display:none}.privacy-modal__backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#060504b8;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.privacy-modal__panel{position:relative;max-width:640px;width:100%;max-height:min(80vh,720px);overflow-y:auto;background:var(--bg-soft);border:1px solid var(--rule);border-radius:4px;padding:clamp(32px,5vw,56px)}.privacy-modal__close{position:absolute;top:20px;right:20px;width:32px;height:32px;border:1px solid var(--rule);border-radius:999px;background:transparent;color:var(--fg);font-size:18px;line-height:1;cursor:pointer;transition:border-color .3s ease,color .3s ease}.privacy-modal__close:hover{border-color:var(--accent);color:var(--accent)}.privacy-modal__panel h3{font-family:Fraunces,serif;font-weight:400;font-size:clamp(26px,3.4vw,36px);margin:8px 0 24px}.privacy-modal__body h4{font-family:Fraunces,serif;font-weight:400;font-size:18px;color:var(--accent);margin:24px 0 8px}.privacy-modal__body h4:first-child{margin-top:0}.privacy-modal__body p{font-size:14px;line-height:1.72;opacity:.8}.privacy-modal__body a{color:var(--accent);text-decoration:underline}.reviews__grid{display:flex;gap:clamp(24px,3vw,40px);margin-top:clamp(40px,5vh,64px);overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;padding-bottom:16px;scrollbar-width:thin;scrollbar-color:var(--rule) transparent}.reviews__grid::-webkit-scrollbar{height:4px}.reviews__grid::-webkit-scrollbar-track{background:transparent}.reviews__grid::-webkit-scrollbar-thumb{background:var(--rule);border-radius:4px}.review-card{flex:0 0 clamp(260px,80vw,380px);scroll-snap-align:start;display:flex;flex-direction:column;gap:20px;padding:clamp(28px,3vw,36px);border:1px solid var(--rule);border-radius:4px;background:var(--bg-soft)}.review-card__quote{font-family:Fraunces,serif;font-style:italic;font-weight:400;font-size:clamp(17px,1.6vw,20px);line-height:1.55;color:var(--fg)}.review-card__author{display:flex;flex-direction:column;gap:4px;font-family:Manrope,sans-serif;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--fg-dim)}.review-card__author strong{font-family:Fraunces,serif;font-style:normal;font-size:15px;letter-spacing:.02em;text-transform:none;color:var(--fg)}.scroll-top{position:fixed;right:20px;bottom:84px;z-index:39;width:40px;height:40px;border-radius:50%;border:1px solid var(--fg);background:transparent;color:var(--fg);font-size:16px;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;visibility:hidden;transform:translateY(8px);mix-blend-mode:difference;transition:opacity .3s ease,transform .3s ease,visibility .3s ease}.scroll-top.is-visible{opacity:.55;visibility:visible;transform:translateY(0)}.scroll-top:hover{opacity:1}
