:root{--ink: #0a1218;--ink-soft: #15222c;--mist: #e8eef2;--paper: #f4f7f9;--brass: #9a7b4f;--brass-light: #c4a574;--text: #1a242c;--muted: #5c6b76;--white: #ffffff;--font-display: "Fraunces", "Times New Roman", serif;--font-body: "Sora", system-ui, sans-serif;--space: clamp(1.25rem, 3vw, 2.5rem);--max: 72rem;--ease: cubic-bezier(.22, 1, .36, 1)}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--font-body);font-weight:400;color:var(--text);background:var(--paper);line-height:1.6;-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.2em}a:hover{color:var(--brass)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.site-header{position:fixed;inset:0 0 auto;z-index:40;padding:1.1rem var(--space);transition:background .45s var(--ease),backdrop-filter .45s var(--ease),border-color .45s var(--ease);border-bottom:1px solid transparent}.site-header.is-scrolled{background:color-mix(in srgb,var(--ink) 82%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom-color:color-mix(in srgb,var(--white) 10%,transparent)}.site-header__inner{max-width:var(--max);margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:1rem}.brand{font-family:var(--font-display);font-size:clamp(1.35rem,2.4vw,1.75rem);font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--white);text-decoration:none}.brand span{color:var(--brass-light)}.nav{display:none;gap:1.75rem;align-items:center}.nav a{color:color-mix(in srgb,var(--white) 88%,transparent);text-decoration:none;font-size:.9rem;letter-spacing:.02em}.nav a:hover{color:var(--white)}.nav-toggle{display:inline-flex;width:2.5rem;height:2.5rem;border:1px solid color-mix(in srgb,var(--white) 35%,transparent);background:transparent;color:var(--white);border-radius:0;cursor:pointer;align-items:center;justify-content:center}.nav-toggle span{display:block;width:1.1rem;height:1px;background:currentColor;box-shadow:0 5px 0 currentColor,0 -5px 0 currentColor}@media(min-width:860px){.nav{display:flex}.nav-toggle{display:none}}.nav.is-open{display:flex;position:absolute;top:100%;right:var(--space);left:var(--space);flex-direction:column;align-items:flex-start;padding:1.25rem;background:var(--ink);border:1px solid color-mix(in srgb,var(--white) 12%,transparent)}.hero{position:relative;min-height:100svh;display:grid;align-items:end;color:var(--white);overflow:hidden}.hero__media{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background:radial-gradient(ellipse at 30% 20%,color-mix(in srgb,var(--brass) 35%,transparent),transparent 55%),linear-gradient(145deg,#1a2a35,#0a1218 55%,#15222c)}.hero__media img{width:100%;height:100%;object-fit:cover;transform:scale(1.08);animation:heroDrift 22s var(--ease) infinite alternate}.hero__media img[hidden]{display:none}.hero__shade{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(105deg,color-mix(in srgb,var(--ink) 88%,transparent),color-mix(in srgb,var(--ink) 55%,transparent) 48%,color-mix(in srgb,var(--ink) 35%,transparent)),linear-gradient(to top,color-mix(in srgb,var(--ink) 70%,transparent),transparent 45%)}.hero__content{position:relative;z-index:1;max-width:var(--max);width:100%;margin:0 auto;padding:7.5rem var(--space) 4.5rem}.hero__brand{font-family:var(--font-display);font-size:clamp(3.4rem,12vw,8.5rem);font-weight:500;line-height:.92;letter-spacing:.04em;text-transform:uppercase;margin:0 0 1.25rem;opacity:0;animation:riseIn 1.1s var(--ease) .15s forwards}.hero__brand em{font-style:italic;font-weight:400;color:var(--brass-light);letter-spacing:.02em;text-transform:none;display:block;font-size:.42em;margin-top:.35em}.hero__lead{max-width:28rem;font-size:clamp(1.05rem,2vw,1.25rem);color:color-mix(in srgb,var(--white) 86%,transparent);margin:0 0 2rem;opacity:0;animation:riseIn 1.1s var(--ease) .35s forwards}.cta-row{display:flex;flex-wrap:wrap;gap:.85rem;opacity:0;animation:riseIn 1.1s var(--ease) .5s forwards}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:3rem;padding:.75rem 1.4rem;font-family:var(--font-body);font-size:.92rem;letter-spacing:.03em;border:1px solid transparent;text-decoration:none;cursor:pointer;transition:background .3s var(--ease),color .3s var(--ease),border-color .3s var(--ease),transform .3s var(--ease)}.btn:hover{transform:translateY(-1px)}.btn--primary{background:var(--brass);color:var(--ink)}.btn--primary:hover{background:var(--brass-light);color:var(--ink)}.btn--ghost{background:transparent;color:var(--white);border-color:color-mix(in srgb,var(--white) 45%,transparent)}.btn--ghost:hover{color:var(--white);border-color:var(--white)}.btn--dark{background:var(--ink);color:var(--white)}.btn--dark:hover{background:var(--ink-soft);color:var(--white)}.section{padding:clamp(4rem,9vw,7rem) var(--space)}.section__inner{max-width:var(--max);margin:0 auto}.section__eyebrow{font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--brass);margin:0 0 .85rem}.section__title{font-family:var(--font-display);font-size:clamp(2rem,5vw,3.4rem);font-weight:500;line-height:1.1;margin:0 0 1rem;max-width:16ch}.section__text{max-width:38rem;color:var(--muted);margin:0 0 2rem;font-size:1.05rem}.section--ink{background:radial-gradient(ellipse at 20% 0%,color-mix(in srgb,var(--brass) 18%,transparent),transparent 50%),linear-gradient(160deg,var(--ink),var(--ink-soft));color:var(--white)}.section--ink .section__text{color:color-mix(in srgb,var(--white) 72%,transparent)}.section--mist{background:linear-gradient(180deg,var(--mist),var(--paper))}.reveal{opacity:0;transform:translateY(1.4rem);transition:opacity .9s var(--ease),transform .9s var(--ease)}.reveal.is-visible{opacity:1;transform:none}.practice-list{list-style:none;margin:2.5rem 0 0;padding:0;border-top:1px solid color-mix(in srgb,var(--ink) 12%,transparent)}.practice-list li{display:grid;gap:.35rem 2rem;padding:1.35rem 0;border-bottom:1px solid color-mix(in srgb,var(--ink) 12%,transparent)}@media(min-width:720px){.practice-list li{grid-template-columns:12rem 1fr;align-items:baseline}}.practice-list strong{font-family:var(--font-display);font-size:1.35rem;font-weight:500}.practice-list p{margin:0;color:var(--muted)}.about-grid{display:grid;gap:2.5rem}@media(min-width:900px){.about-grid{grid-template-columns:1.05fr .95fr;align-items:center;gap:4rem}}.about-media{position:relative;margin:0;overflow:hidden;background:var(--mist);aspect-ratio:4 / 5;max-height:36rem}.about-media img{width:100%;height:100%;object-fit:cover;object-position:center 18%;display:block}.contact-grid{display:grid;gap:2.5rem}@media(min-width:880px){.contact-grid{grid-template-columns:.9fr 1.1fr;gap:4rem}}.contact-meta{list-style:none;margin:0;padding:0;display:grid;gap:1.1rem}.contact-meta li{display:grid;gap:.2rem}.contact-meta span{font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--brass-light)}.contact-meta a{color:var(--white);text-decoration:none;font-size:1.1rem}.contact-meta a:hover{color:var(--brass-light)}.form{display:grid;gap:1rem}.form label{display:grid;gap:.4rem;font-size:.85rem;letter-spacing:.04em}.form input,.form textarea,.form select{width:100%;border:1px solid color-mix(in srgb,var(--white) 22%,transparent);background:color-mix(in srgb,var(--white) 6%,transparent);color:var(--white);padding:.85rem .95rem;font:inherit;border-radius:0}.form input:focus,.form textarea:focus,.form select:focus{outline:1px solid var(--brass-light);border-color:var(--brass-light)}.form textarea{min-height:8rem;resize:vertical}.form__note{margin:0;font-size:.85rem;color:color-mix(in srgb,var(--white) 60%,transparent)}.form__status{min-height:1.25rem;font-size:.9rem;color:var(--brass-light)}.site-footer{background:var(--ink);color:color-mix(in srgb,var(--white) 70%,transparent);padding:2.5rem var(--space)}.site-footer__inner{max-width:var(--max);margin:0 auto;display:flex;flex-wrap:wrap;gap:1rem 2rem;justify-content:space-between;align-items:baseline}.site-footer a,.site-footer button{color:color-mix(in srgb,var(--white) 78%,transparent);text-decoration:none;background:none;border:0;padding:0;font:inherit;cursor:pointer}.site-footer a:hover,.site-footer button:hover{color:var(--brass-light)}.site-footer__legal{display:flex;flex-wrap:wrap;gap:.35rem 1.1rem;align-items:center}.legal-page{padding:8rem var(--space) 4rem;max-width:48rem;margin:0 auto}.legal-page h1{font-family:var(--font-display);font-size:clamp(2rem,4vw,3rem);font-weight:500;margin:0 0 1.5rem}.legal-page h2{font-family:var(--font-display);font-size:1.4rem;font-weight:500;margin:2rem 0 .75rem;scroll-margin-top:6rem}.legal-page h3{font-family:var(--font-body);font-size:1.05rem;font-weight:600;margin:1.5rem 0 .6rem}.legal-page p,.legal-page li{color:var(--muted)}.legal-page a,.legal-page .linkish{color:var(--ink)}.legal-page .linkish{background:none;border:0;padding:0;font:inherit;text-decoration:underline;text-underline-offset:.2em;cursor:pointer}.legal-page .linkish:hover{color:var(--brass)}.legal-toc{padding-left:1.2rem;margin:0 0 2rem}.legal-toc a{text-decoration:none}.legal-toc a:hover{text-decoration:underline}.cookie-banner{position:fixed;inset:auto 0 0;z-index:60;padding:1rem var(--space) 1.25rem;background:color-mix(in srgb,var(--ink) 94%,transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-top:1px solid color-mix(in srgb,var(--white) 12%,transparent);color:color-mix(in srgb,var(--white) 88%,transparent)}.cookie-banner__inner{max-width:var(--max);margin:0 auto;display:grid;gap:1rem 1.5rem;align-items:center}@media(min-width:880px){.cookie-banner__inner{grid-template-columns:1fr auto}}.cookie-banner__title{margin:0 0 .35rem;font-family:var(--font-display);font-size:1.15rem;color:var(--white)}.cookie-banner p{margin:0;font-size:.92rem;line-height:1.5}.cookie-banner a{color:var(--brass-light)}.cookie-banner__actions{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:flex-end}.cookie-banner .btn--ghost{color:var(--white);border-color:color-mix(in srgb,var(--white) 35%,transparent)}.cookie-banner .btn--ghost:hover{border-color:var(--brass-light);color:var(--brass-light)}.cookie-modal[hidden],.cookie-banner[hidden]{display:none!important}.cookie-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;display:grid;place-items:center;padding:1.25rem}.cookie-modal__backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:color-mix(in srgb,var(--ink) 55%,transparent)}.cookie-modal__dialog{position:relative;width:min(36rem,100%);max-height:min(90vh,40rem);overflow:auto;background:var(--paper);color:var(--text);border:1px solid color-mix(in srgb,var(--ink) 8%,transparent);box-shadow:0 24px 60px color-mix(in srgb,var(--ink) 28%,transparent)}.cookie-modal__header,.cookie-modal__footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.1rem 1.25rem;border-bottom:1px solid color-mix(in srgb,var(--ink) 8%,transparent)}.cookie-modal__footer{border-bottom:0;border-top:1px solid color-mix(in srgb,var(--ink) 8%,transparent);justify-content:flex-end;flex-wrap:wrap}.cookie-modal__header h2{margin:0;font-family:var(--font-display);font-size:1.35rem;font-weight:500}.cookie-modal__x{width:2.25rem;height:2.25rem;border:0;background:transparent;font-size:1.6rem;line-height:1;cursor:pointer;color:var(--muted)}.cookie-modal__body{padding:1rem 1.25rem 1.25rem}.cookie-modal__body>p{margin:0 0 1rem;color:var(--muted);font-size:.95rem}.cookie-row{display:grid;grid-template-columns:1fr auto;gap:1rem;align-items:start;padding:.9rem 0;border-top:1px solid color-mix(in srgb,var(--ink) 8%,transparent);cursor:pointer}.cookie-row strong{display:block;font-weight:600}.cookie-row small{display:block;margin-top:.25rem;color:var(--muted);font-size:.85rem;line-height:1.45}.cookie-row input{width:1.15rem;height:1.15rem;margin-top:.15rem;accent-color:var(--brass)}.cookie-modal .btn--ghost{color:var(--ink);border-color:color-mix(in srgb,var(--ink) 18%,transparent)}.cookie-modal .btn--ghost:hover{border-color:var(--brass);color:var(--brass)}body.cookie-modal-open{overflow:hidden}@keyframes riseIn{0%{opacity:0;transform:translateY(1.25rem)}to{opacity:1;transform:none}}@keyframes heroDrift{0%{transform:scale(1.08) translateZ(0)}to{transform:scale(1.14) translate3d(-1.5%,-1%,0)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero__media img,.hero__brand,.hero__lead,.cta-row,.reveal{animation:none!important;opacity:1;transform:none;transition:none}}
