:root{--primary:#0b3c2b;--accent:#c5a059;--secundary:#4a5d4e;--secundary-alt:#63706b;--text:#222a27;--bg-primary:#f7f9f6;--ink:#06231a;--primary-glow:#24473a;--gold-soft:#e2c58a;--gold-gradient:linear-gradient(135deg, #b08a44 0%, #c6a258 20%, #dcbd6e 38%, #f0d68a 50%, #dcbb6c 62%, #c49f55 80%, #ad8640 100%);--gold-text:linear-gradient(100deg, #b8904a 0%, #e6cb92 45%, #c9a35c 70%, #b38a45 100%);--on-dark:var(--bg-primary);--on-dark-muted:color-mix(in srgb, var(--bg-primary) 72%, transparent);--header-h:84px;--gutter:max(clamp(20px, 5vw, 80px), calc((100vw - 1440px) / 2));--font-heading:"Libre Bodoni";--font-body:"Lato"}*{box-sizing:border-box}body{background:var(--ink);color:var(--text);font-family:var(--font-body), sans-serif;-webkit-font-smoothing:antialiased;margin:0;overflow-x:clip}h1,h2,h3,h4{margin:0}h1,h2,h3{font-family:var(--font-heading), serif;font-weight:400}a{color:inherit;text-decoration:none}::selection{background:var(--accent);color:var(--ink)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.skip-link{z-index:100;background:var(--accent);color:var(--ink);border-radius:2px;padding:12px 20px;font-weight:700;position:absolute;top:-100%;left:12px}.skip-link:focus-visible{top:12px}.btn{cursor:pointer;font-size:1rem;font-weight:700;font-family:var(--font-body), sans-serif;white-space:nowrap;border:0;border-radius:2px;align-items:center;gap:12px;padding:16px 30px;transition:translate .25s,box-shadow .25s,border-color .25s;display:inline-flex;position:relative;overflow:hidden}.btn:after{content:"";pointer-events:none;background:linear-gradient(110deg,#0000 30%,#fff6 50%,#0000 70%);transition:transform .7s;position:absolute;inset:0;transform:translate(-120%)}.btn:hover:after{transform:translate(120%)}.btn:hover{translate:0 -2px}.btn--gold{background:var(--gold-gradient);color:var(--primary);box-shadow:0 10px 30px #0000002e}.btn--ghost{color:var(--on-dark);border:1px solid color-mix(in srgb, var(--accent) 55%, transparent);background:0 0}.btn--ghost:hover{border-color:var(--accent)}.btn--sm{padding:10px 18px;font-size:.92rem}.btn:disabled{opacity:.7;cursor:not-allowed}.eyebrow{background:var(--gold-text);color:#0000;letter-spacing:.22em;text-transform:uppercase;-webkit-background-clip:text;background-clip:text;align-items:center;gap:14px;margin-bottom:22px;font-size:.78rem;font-weight:700;display:flex}.eyebrow:before{content:"";background:var(--accent);width:48px;height:1px}.eyebrow--center{justify-content:center}.line-mask,.char-mask{margin-bottom:-.16em;padding-bottom:.16em}.grain{isolation:isolate;position:relative}.grain:before{content:"";z-index:3;pointer-events:none;opacity:.07;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:absolute;inset:0}.motes{z-index:2;pointer-events:none;position:absolute;inset:0}.motes--behind{z-index:-1}.mote{background:var(--gold-soft);width:3px;height:3px;box-shadow:0 0 8px var(--gold-soft);border-radius:50%;position:absolute}.arch{border-radius:999px 999px 0 0;overflow:hidden}.site-header{z-index:50;-webkit-backdrop-filter:blur(10px);border-bottom:1px solid color-mix(in srgb, var(--accent) 18%, transparent);background:#06231aed;position:fixed;inset:0 0 auto}.site-header__inner{height:var(--header-h);padding:0 var(--gutter);justify-content:space-between;align-items:center;gap:24px;display:flex}.brand{flex-shrink:0;align-items:center;gap:14px;min-width:0;display:flex}.brand__icon{flex-shrink:0;width:auto;height:50px;transition:filter .4s;display:block}.brand:hover .brand__icon{filter:brightness(1.12)drop-shadow(0 0 10px #e2c58a73)}.brand__wordmark{width:auto;min-width:0;height:34px;transition:filter .4s;display:block}.brand:hover .brand__wordmark{filter:brightness(1.12)}.nav-desktop{align-items:center;gap:clamp(14px,2vw,32px);display:flex}.nav-desktop a:not(.btn){color:var(--on-dark-muted);white-space:nowrap;font-size:.95rem;transition:color .25s;position:relative}.nav-desktop a:not(.btn):after{content:"";background:var(--accent);transform-origin:100%;height:1px;transition:transform .35s;position:absolute;bottom:-6px;left:0;right:0;transform:scaleX(0)}.nav-desktop a:not(.btn):hover{color:var(--on-dark)}.nav-desktop a:not(.btn):hover:after{transform-origin:0;transform:scaleX(1)}.menu-toggle{cursor:pointer;background:0 0;border:none;flex-direction:column;gap:5px;width:36px;padding:8px;display:flex}.menu-toggle span{background:var(--accent);border-radius:2px;width:100%;height:2px;display:block}.menu-toggle span:last-child{width:65%}.nav-mobile{inset:var(--header-h) 0 auto 0;background:var(--ink);border:none;border-top:1px solid color-mix(in srgb, var(--accent) 20%, transparent);width:100%;max-width:none;margin:0;padding:0;position:fixed}.nav-mobile::backdrop{background:#06231a99}.nav-mobile nav{padding:8px var(--gutter) 28px;flex-direction:column;gap:4px;display:flex}.nav-mobile a:not(.btn){font-family:var(--font-heading), serif;color:var(--on-dark);border-bottom:1px solid color-mix(in srgb, var(--accent) 15%, transparent);padding:16px 0;font-size:1.4rem}.nav-mobile__cta{justify-content:center;margin-top:18px}@media (width<=520px){.brand{gap:10px}.brand__icon{height:38px}.brand__wordmark{height:24px}}.opening{background:var(--ink);color:var(--on-dark);position:relative}.opening__bg{z-index:0;background:radial-gradient(ellipse at 72% 38%, var(--primary-glow), var(--primary) 42%, var(--ink) 100%);background-size:140% 140%;height:100svh;animation:18s ease-in-out infinite alternate opening-drift;position:absolute;inset:0 0 auto}@keyframes opening-drift{0%{background-position:0 0}to{background-position:100% 60%}}.opening__paper{display:none}.opening .motes{height:100svh}.opening__frame{z-index:1;width:48vw;height:100svh;position:absolute;top:0;right:0;overflow:hidden}.opening__frame img{object-fit:cover;object-position:50% 20%;width:100%;height:100%;position:absolute;inset:0}.opening__frame .opening__hero-img{top:var(--header-h);height:calc(100% - var(--header-h));object-position:50% 0%}.opening__hero-img{--fade-solid:0;--fade:linear-gradient(to right, rgb(0 0 0/calc(0 + 1 * var(--fade-solid))) 0%, rgb(0 0 0/calc(.06 + .94 * var(--fade-solid))) 8%, rgb(0 0 0/calc(.2 + .8 * var(--fade-solid))) 16%, rgb(0 0 0/calc(.42 + .58 * var(--fade-solid))) 25%, rgb(0 0 0/calc(.66 + .34 * var(--fade-solid))) 34%, rgb(0 0 0/calc(.86 + .14 * var(--fade-solid))) 43%, #000 54%);-webkit-mask-image:var(--fade);-webkit-mask-image:var(--fade);mask-image:var(--fade)}.opening__office-img{display:none}.opening__sweep{pointer-events:none;mix-blend-mode:soft-light;background:linear-gradient(100deg,#0000 35%,#e2c58a80 50%,#0000 65%);position:absolute;inset:0;transform:translate(-120%)}.opening__arch-line{display:none}.opening__hero{z-index:4;min-height:100svh;padding:calc(var(--header-h) + 32px) var(--gutter) clamp(44px, 8vh, 100px);align-items:flex-end;display:flex;position:relative}.opening__copy{width:min(50vw,720px)}.opening__title{letter-spacing:-.012em;color:var(--on-dark);font-size:clamp(2.5rem,min(5.4vw,9.5svh),6rem);line-height:1.04}.opening__title em{background:var(--gold-text);color:#0000;-webkit-background-clip:text;background-clip:text;font-style:italic}.opening__lede{max-width:46ch;color:var(--on-dark-muted);margin:24px 0 32px;font-size:1.12rem;line-height:1.6}.opening__actions{flex-wrap:wrap;align-items:center;gap:22px;display:flex}.opening__oab{color:var(--on-dark-muted);font-size:.92rem}.opening__about{z-index:4;background:var(--bg-primary);color:var(--text);padding:clamp(80px, 10vw, 140px) var(--gutter);grid-template-columns:.85fr 1.15fr;align-items:center;gap:clamp(40px,6vw,96px);display:grid;position:relative}.opening__about-photo{aspect-ratio:4/5.6;outline:1px solid var(--accent);outline-offset:12px;max-width:480px}.opening__about-photo img{object-fit:cover;width:100%;height:100%;display:block}.opening__about h2{color:var(--primary);margin-bottom:26px;font-size:clamp(2.3rem,4.4vw,4.4rem);line-height:1.05}.opening__about p{color:#3a4740;margin:0 0 16px;font-size:1.06rem;line-height:1.7}.opening__note{border-left:2px solid var(--accent);color:var(--secundary-alt);margin-top:22px;padding-left:16px;font-size:.95rem;font-style:italic}.opening.is-cinematic{height:100svh;overflow:hidden}.is-cinematic .opening__paper{z-index:0;background:var(--bg-primary);display:block;position:absolute;inset:0}.is-cinematic .opening__frame{border-radius:0;right:auto}.is-cinematic .opening__office-img{display:block}.is-cinematic .opening__arch-line{z-index:3;pointer-events:none;display:block;position:absolute;overflow:visible}.opening__arch-line path{fill:none;stroke:var(--accent);stroke-width:1.2px;vector-effect:non-scaling-stroke}.is-cinematic .opening__hero{position:absolute;inset:0}.is-cinematic .opening__about{inset:auto var(--gutter) auto auto;background:0 0;width:min(44vw,640px);padding:0;display:block;position:absolute;top:50%;translate:0 -40%}.is-cinematic .opening__about-photo{display:none}@media (width<=860px){.opening__frame{width:100%}.opening__hero-img{--fade:linear-gradient(to bottom, #000 0%, #000000d9 35%, #00000059 62%, transparent 85%);object-position:60% 0%}.opening__copy{width:100%}.opening__about{grid-template-columns:1fr}.opening__about-photo{width:min(100%,420px);margin:0 auto}}.statements{background:var(--bg-primary);color:var(--text);padding:clamp(90px, 12vw, 170px) var(--gutter)}.statements__title{color:var(--primary);margin-bottom:clamp(40px,5vw,64px);font-size:clamp(2.2rem,4.4vw,4.2rem)}.statements__list{margin:0;padding:0;list-style:none}.statement{grid-template-columns:minmax(110px,180px) 1fr 1.4fr;align-items:center;gap:32px;padding:34px 0;display:grid;position:relative}.statement__rule{background:var(--accent);height:1px;position:absolute;top:0;left:0;right:0}.statement__num{font-family:var(--font-heading), serif;color:#0000;-webkit-text-stroke:1px var(--accent);background:var(--gold-gradient) 0 100% / 100% 100% no-repeat;-webkit-background-clip:text;background-clip:text;padding-bottom:.08em;font-size:clamp(3.2rem,7vw,6.4rem);line-height:1}.statement__title{font-family:var(--font-body), sans-serif;color:var(--primary);font-size:1.35rem;font-weight:700}.statement__text{color:var(--secundary);margin:0;font-size:1.08rem;line-height:1.6}@media (width<=860px){.statement{grid-template-columns:auto 1fr;align-items:start;gap:6px 24px}.statement__num{grid-row:span 2}}.practice{background:radial-gradient(ellipse at 30% 0%, var(--primary-glow), var(--primary) 50%, var(--ink));color:var(--on-dark);padding:clamp(90px, 11vw, 160px) var(--gutter);overflow:hidden}.practice__head{text-align:center;max-width:900px;margin:0 auto 56px}.practice__head h2{font-size:clamp(2.2rem,4.4vw,4rem);line-height:1.08}.practice__head p{color:var(--on-dark-muted);max-width:62ch;margin:22px auto 0;font-size:1.08rem;line-height:1.65}.practice__sub{background:var(--gold-text);color:#0000;text-align:center;-webkit-background-clip:text;background-clip:text;margin:0 0 36px;font-size:1.5rem}.practice__cards{perspective:1200px;grid-template-columns:repeat(3,1fr);gap:24px;margin:0;padding:0;list-style:none;display:grid}.pcard{isolation:isolate;border:1px solid color-mix(in srgb, var(--accent) 25%, transparent);background:#f7f9f60a;border-radius:2px;padding:34px 30px;transition:border-color .4s,background .4s,translate .35s,box-shadow .4s;position:relative;overflow:hidden}.pcard:before{content:"";z-index:-1;opacity:0;background:radial-gradient(260px circle at var(--x,50%) var(--y,50%), #c5a0592e, transparent 70%);transition:opacity .3s;position:absolute;inset:0}.pcard:hover{border-color:color-mix(in srgb, var(--accent) 70%, transparent);background:#f7f9f612;translate:0 -6px;box-shadow:0 20px 50px #00000040}.pcard:hover:before{opacity:1}.pcard__glint{background:linear-gradient(90deg, transparent, var(--gold-soft), transparent);width:40%;height:1px;position:absolute;top:0;left:-40%}.pcard__icon{color:var(--accent);margin-bottom:18px;display:block}.pcard h4{margin:0 0 10px;font-size:1.12rem;font-weight:700}.pcard p{color:var(--on-dark-muted);margin:0;font-size:.98rem;line-height:1.6}.pcard__link:after{content:"";z-index:1;position:absolute;inset:0}.pcard__link:focus-visible{outline:none}.pcard:has(.pcard__link:focus-visible){outline:2px solid var(--accent);outline-offset:3px}.pcard__more{color:var(--accent);letter-spacing:.14em;text-transform:uppercase;align-items:center;gap:10px;margin-top:18px;font-size:.82rem;font-weight:700;display:inline-flex}.pcard__more:after{content:"";background:currentColor;width:28px;height:1px;transition:width .35s}.pcard:hover .pcard__more:after{width:44px}.others{margin-top:clamp(72px,9vw,120px)}.others__title{color:var(--on-dark-muted);align-items:center;gap:24px;margin:0 0 36px;font-size:1.3rem;display:flex}.others__title:before,.others__title:after{content:"";background:color-mix(in srgb, var(--accent) 30%, transparent);flex:1;height:1px}.others__grid{grid-template-columns:repeat(4,1fr);gap:28px;margin:0;padding:0;list-style:none;display:grid}.other{padding:4px 0 4px 22px;transition:translate .3s;position:relative}.other__line{background:#f7f9f633;width:1px;position:absolute;top:0;bottom:0;left:0}.other__line:after{content:"";background:var(--accent);transform-origin:top;transition:transform .45s;position:absolute;inset:0;transform:scaleY(0)}.other:hover{translate:6px}.other:hover .other__line:after{transform:scaleY(1)}.other svg{color:var(--gold-soft);margin-bottom:14px;display:block}.other h4{margin:0 0 8px;font-size:1rem;font-weight:700}.other p{color:var(--on-dark-muted);margin:0;font-size:.93rem;line-height:1.55}@media (width<=1040px){.practice__cards,.others__grid{grid-template-columns:1fr 1fr}}@media (width<=640px){.practice__cards{grid-template-columns:1fr}}@media (width<=600px){.others__grid{grid-template-columns:1fr}}.faq{text-align:left;max-width:860px;margin:clamp(72px,8vw,110px) auto 0}.faq__title{text-align:center;margin-bottom:36px;font-size:clamp(1.8rem,3vw,2.6rem)}.faq__item{border-bottom:1px solid color-mix(in srgb, var(--accent) 25%, transparent)}.faq__question{cursor:pointer;color:var(--on-dark);justify-content:space-between;align-items:center;gap:20px;padding:24px 0;font-size:1.06rem;font-weight:700;list-style:none;transition:color .25s;display:flex}.faq__question::-webkit-details-marker{display:none}.faq__question:hover{color:var(--gold-soft)}.faq__icon{flex-shrink:0;width:14px;height:14px;position:relative}.faq__icon:before,.faq__icon:after{content:"";background:var(--accent);height:1.5px;transition:transform .4s;position:absolute;top:50%;left:0;right:0}.faq__icon:after{transform:rotate(90deg)}.faq__icon.is-open:after{transform:rotate(0)}.faq__panel p{color:var(--on-dark-muted);margin:0;padding:0 0 24px;line-height:1.65}.contact{background:var(--ink);color:var(--on-dark);padding:clamp(80px, 9vw, 130px) var(--gutter) clamp(80px, 9vw, 120px);text-align:center;overflow:hidden}.contact__title{max-width:15ch;margin:0 auto;font-size:clamp(2.4rem,5.2vw,5.2rem);line-height:1.05}.contact__lede{color:var(--on-dark-muted);max-width:52ch;margin:18px auto 0;font-size:1.12rem;line-height:1.6}.contact__grid{text-align:left;grid-template-columns:.9fr 1.1fr;align-items:start;gap:clamp(32px,5vw,72px);max-width:1080px;margin:clamp(36px,4vw,56px) auto 0;display:grid}.contact__map-frame{max-width:400px;margin:14px 14px 0;position:relative}.contact__map-rim{border:1.2px solid var(--accent);pointer-events:none;border-bottom:0;border-radius:999px 999px 0 0;position:absolute;inset:-14px -14px 0}.contact__map{aspect-ratio:4/4.6;border:1px solid color-mix(in srgb, var(--accent) 45%, transparent);background:var(--primary);position:relative}.contact__map iframe{filter:grayscale(.4)contrast(1.05);border:0;width:100%;height:calc(100% + 110px);position:absolute;top:-110px;left:0}.contact__address{color:var(--on-dark-muted);margin:22px 0 0;line-height:1.6}.contact__address strong{color:var(--on-dark);font-family:var(--font-heading), serif;margin-bottom:6px;font-size:1.3rem;font-weight:400;display:block}.contact__col h3{margin-bottom:12px;font-size:1.6rem}.contact__col>p{color:var(--on-dark-muted);margin:0 0 24px;line-height:1.6}.contact__actions{flex-wrap:wrap;gap:12px;margin-bottom:36px;display:flex}.contact__form{grid-template-columns:1fr 1fr;gap:16px 18px;max-width:560px;display:grid}.contact__form h3,.contact__form .form-field--full,.contact__form .form-status,.contact__form .btn{grid-column:1/-1}.form-field{gap:8px;display:grid}.form-field label{letter-spacing:.08em;color:var(--accent);text-transform:uppercase;font-size:.82rem;font-weight:700}.form-field input,.form-field textarea{font:inherit;color:var(--on-dark);resize:none;background:#f7f9f60d;border:0;border-bottom:1px solid #f7f9f64d;padding:12px 4px;transition:border-color .3s,background .3s}.form-field input:focus-visible,.form-field textarea:focus-visible{border-color:var(--accent);background:#f7f9f614;outline:none}.contact__form .btn{justify-self:start}.form-status{border-radius:2px;margin:0;padding:14px 16px;line-height:1.5}.form-status--success{color:var(--on-dark);background:color-mix(in srgb, var(--accent) 14%, transparent);border:1px solid color-mix(in srgb, var(--accent) 45%, transparent)}.form-status--error{color:#ffd8d2;background:#c0392b2e;border:1px solid #c0392b80}@media (width<=960px){.contact__grid,.contact__form{grid-template-columns:1fr}.contact__map-frame{max-width:380px;margin:14px auto 0}}.site-footer{isolation:isolate;background:var(--ink);color:var(--on-dark);padding:clamp(64px, 8vw, 110px) var(--gutter) 104px;border-top:1px solid color-mix(in srgb, var(--accent) 25%, transparent);position:relative;overflow:hidden}.site-footer__brand{justify-content:center;align-items:center;gap:clamp(20px,3vw,40px);margin-bottom:48px;display:flex}.site-footer__mark{flex-shrink:0;width:clamp(110px,12vw,170px)}.site-footer__mark path{stroke:var(--gold-soft);stroke-width:1.4px}.site-footer__lockup{text-align:center;min-width:0}.site-footer__signature{width:clamp(260px,40vw,520px);max-width:100%;height:auto;display:block}.site-footer__role{letter-spacing:.18em;text-transform:uppercase;color:color-mix(in srgb, var(--bg-primary) 60%, transparent);margin-top:14px;font-size:.8rem}.site-footer__row{border-top:1px solid color-mix(in srgb, var(--accent) 20%, transparent);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;padding-top:28px;display:flex}.site-footer__nav{flex-wrap:wrap;gap:28px;display:flex}.site-footer__nav a{color:var(--on-dark-muted);font-size:.95rem;transition:color .2s}.site-footer__nav a:hover{color:var(--accent)}.site-footer__bottom{color:color-mix(in srgb, var(--bg-primary) 60%, transparent);font-size:.85rem}@media (width<=600px){.site-footer__brand{flex-direction:column;align-items:center}}.floating-wa{background:var(--gold-gradient);border:1px solid color-mix(in srgb, var(--bg-primary) 30%, transparent);width:60px;height:60px;box-shadow:0 6px 20px color-mix(in srgb, var(--primary) 30%, transparent);z-index:40;border-radius:50%;justify-content:center;align-items:center;transition:transform .2s,box-shadow .2s;display:flex;position:fixed;bottom:24px;right:24px}.floating-wa:hover{box-shadow:0 8px 26px color-mix(in srgb, var(--primary) 40%, transparent);transform:scale(1.08)}.cookie-banner{z-index:60;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid color-mix(in srgb, var(--accent) 35%, transparent);background:#06231af5;border-radius:2px;flex-wrap:wrap;align-items:center;gap:16px 24px;max-width:640px;margin:0 auto;padding:20px 24px;display:flex;position:fixed;bottom:20px;left:20px;right:20px;box-shadow:0 16px 40px #00000059}.cookie-banner p{color:var(--on-dark-muted);flex:320px;margin:0;font-size:.92rem;line-height:1.5}.cookie-banner__actions{flex-shrink:0;gap:12px;display:flex}
