.header nav a[aria-current=page]{color:var(--wine)}.header nav a[aria-current=page]:not(.nav-contact){box-shadow:0 2px 0 -1px var(--wine)}.page-intro{padding-top:75px;padding-bottom:55px}.page-intro h1{font-size:clamp(44px,5.3vw,72px);max-width:1000px;line-height:1.12;letter-spacing:-2.5px}.page-description{max-width:580px;font-size:14px;color:var(--muted);line-height:1.9}.area-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.area-card{display:flex;flex-direction:column;position:relative;overflow:hidden;min-height:360px;padding:25px 28px;background:linear-gradient(145deg,#fffcf7,#efe8df);border:1px solid #e2d7c7;border-radius:4px;isolation:isolate;transition:transform .5s cubic-bezier(.2,.7,.2,1),box-shadow .5s,border-color .5s,color .4s;color:#62434a}.area-card:before{content:'';position:absolute;inset:0;background:linear-gradient(140deg,#906b71,#633641 80%);opacity:0;z-index:-1;transition:opacity .5s}.area-card:after{content:'';position:absolute;width:230px;height:230px;border:1px solid #bda57e33;border-radius:50%;right:-120px;bottom:-130px;z-index:-1;transition:transform .7s,border-color .5s}.card-top{display:flex;align-items:center;justify-content:space-between;font-size:9px;letter-spacing:1.7px;color:#8b7158}.card-arrow{font-size:19px;transition:transform .5s}.card-art{height:160px;display:grid;place-items:center}.legal-art{width:130px;height:130px;color:#a88a54;overflow:visible}.art-halo{stroke:currentColor;stroke-width:.5;opacity:.26;transform-origin:center;transition:transform .8s,opacity .8s}.art-lines{transform-origin:center;transition:transform .7s cubic-bezier(.2,.7,.2,1)}.art-spark{opacity:.55;transform-origin:65px 65px;transition:transform 1s}.area-card h3{font-size:26px;line-height:1.2;margin-bottom:12px;letter-spacing:-.4px}.area-card>p{font-size:12px;color:var(--muted);line-height:1.75;margin-bottom:20px;transition:color .4s}.card-more{font-size:9px;letter-spacing:.6px;display:flex;justify-content:space-between;border-top:1px solid #cdbb9b66;padding-top:14px;margin-top:auto}.card-more span{transition:transform .4s}.area-card:focus-visible{outline:2px solid var(--wine);outline-offset:5px}.area-card:focus-visible:before{opacity:1}.area-card:focus-visible{color:#fff5e7}.area-card:focus-visible>p,.area-card:focus-visible .card-top{color:#eedccc}.area-card:focus-visible .legal-art{color:#dfc393}.area-card:focus-visible .art-lines{transform:translateY(-4px) scale(1.07)}
@media(hover:hover){.area-card:hover{transform:translateY(-6px);box-shadow:0 20px 40px -24px #4d263a88;border-color:#906b71;color:#fff5e7}.area-card:hover:before{opacity:1}.area-card:hover:after{transform:scale(1.5);border-color:#d7c09d44}.area-card:hover>p,.area-card:hover .card-top{color:#eedccc}.area-card:hover .legal-art{color:#dfc393}.area-card:hover .art-lines{transform:translateY(-5px) scale(1.09)}.area-card:hover .art-halo{transform:scale(1.13);opacity:.5}.area-card:hover .art-spark{transform:rotate(60deg)}.area-card:hover .card-arrow{transform:translate(2px,-2px)}.area-card:hover .card-more span{transform:translateX(5px)}}
.all-areas{padding-bottom:70px}.home-areas{padding-bottom:75px}.home-about{border-block:1px solid var(--line);padding-top:55px;padding-bottom:55px;text-align:center}.home-about p:not(.eyebrow){max-width:530px;margin:0 auto 24px;color:var(--muted);font-size:14px}.home-about .text-link{margin-inline:auto}.small-cta{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-top:70px;padding-bottom:70px}.small-cta h2{font-size:43px;margin:0}.small-cta .eyebrow{margin-bottom:17px}.about-portrait{display:flex;align-items:center;gap:30px;border-top:1px solid var(--line);padding-top:30px}.about-portrait img{width:160px;height:200px;object-fit:cover;object-position:center;border-radius:85px 85px 8px 8px}.about-portrait span{font-size:9px;letter-spacing:2px;color:var(--wine)}.breadcrumb{display:flex;gap:14px;flex-wrap:wrap;padding-top:38px;font-size:10px;color:var(--muted)}.breadcrumb a{color:var(--wine)}.area-detail{display:grid;grid-template-columns:1.3fr 1fr;gap:65px;align-items:center;padding-top:70px;padding-bottom:80px}.area-detail h1{font-size:clamp(43px,5vw,68px);letter-spacing:-2px;line-height:1.1}.detail-lead{font:24px/1.5 var(--serif);color:var(--wine)}.topic-list{list-style:none;padding:0;margin:25px 0}.topic-list li{padding:12px 0;border-bottom:1px solid var(--line);font-size:13px}.topic-list li:before{content:'✧';margin-right:15px;color:#a88a54}.detail-note{max-width:500px;font-size:12px;color:var(--muted);margin-bottom:25px}.detail-art{display:grid;place-items:center;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#e9dfd2,#f6f2ec 70%)}.detail-art .legal-art{width:65%;height:auto}.related{padding-bottom:75px}.mediation-note{font-size:12px;color:var(--muted);padding-bottom:45px}footer{border-top:1px solid var(--line)}
@media(max-width:1000px){.area-grid{gap:16px}.area-card{padding:20px;min-height:350px}.area-card h3{font-size:23px}.area-detail{gap:30px}}
@media(max-width:720px){.page-intro{padding-top:45px;padding-bottom:30px}.page-intro h1{font-size:44px;letter-spacing:-1.5px}.area-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.area-card{min-height:310px;padding:17px 15px}.area-card h3{font-size:21px;overflow-wrap:break-word}.card-art{height:120px}.legal-art{width:100px;height:100px}.area-card>p{font-size:11px}.small-cta{flex-direction:column;align-items:flex-start;padding-block:45px}.small-cta h2{font-size:37px}.about-portrait{gap:20px}.about-portrait span{line-height:2}.about-portrait img{width:130px;height:165px}.area-detail{grid-template-columns:1fr;padding-top:40px;padding-bottom:45px;gap:30px}.detail-art{grid-row:1;width:160px;justify-self:center}.detail-art .legal-art{width:90%}.area-detail h1{font-size:43px}.detail-lead{font-size:22px}.home-about{padding-block:40px}.footer-top{gap:15px}.footer-top>a:last-child{font-size:10px;text-align:right}}
@media(max-width:390px){.area-grid{grid-template-columns:1fr}.area-card{min-height:310px}.card-art{height:140px}.legal-art{width:120px;height:120px}}
@media(prefers-reduced-motion:reduce){.area-card,.area-card:before,.area-card:after,.art-lines,.art-halo,.art-spark,.card-arrow,.card-more span{transition:none!important;transform:none!important}.soft-enter{animation:none!important}}
.area-card.soft-enter{animation-fill-mode:backwards}
/* Navigation: soft enlargement and a sweeping champagne highlight. */
.header nav a{position:relative;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:8px 12px;border-radius:7px;transition:transform .35s cubic-bezier(.2,.7,.2,1),color .3s,box-shadow .3s,background .3s}
.header nav{gap:15px}
.header nav a:before{content:'';position:absolute;inset:0;border-radius:inherit;background:linear-gradient(120deg,#e7d7c8aa,#eee2db66);opacity:0;transform:scale(.9);transition:opacity .3s,transform .4s;z-index:-1;pointer-events:none}
.header nav a:not(.nav-contact):after{content:'';position:absolute;bottom:3px;left:22%;right:22%;height:1px;background:#af926a;transform:scaleX(0);transform-origin:left;transition:transform .4s}
.header nav a[aria-current=page]:not(.nav-contact){box-shadow:none}
.header nav a[aria-current=page]:after{transform:scaleX(1)}
.header nav .nav-contact{padding-inline:20px}
.header nav a:focus-visible{transform:scale(1.06);color:var(--wine)}
.header nav a:focus-visible:before{opacity:1;transform:scale(1)}
.header nav a:focus-visible:after{transform:scaleX(1)}
.principles .wrap>span{display:inline-block;transition:transform .4s,color .4s}
@media(hover:hover){.header nav a:hover{transform:translateY(-2px) scale(1.07);color:var(--wine)}.header nav a:hover:before{opacity:1;transform:scale(1)}.header nav a:hover:after{transform:scaleX(1)}.header nav .nav-contact:hover{box-shadow:0 8px 20px -14px #78434e99}.principles .wrap>span:hover{transform:scale(1.08);color:var(--wine)}}
/* Every home visit: an extended brand curtain, followed by staggered content. */
.opening-screen{display:none}
.intro-enabled .opening-screen{display:grid;place-items:center;position:fixed;inset:0;z-index:100;background:radial-gradient(ellipse at 50% 44%,#fffcf7,#eee5da);pointer-events:none;animation:curtain-away 2.8s cubic-bezier(.7,0,.2,1) both}
.opening-brand{display:flex;flex-direction:column;align-items:center;color:var(--wine);animation:brand-arrive .7s cubic-bezier(.2,.7,.2,1) both}
.opening-brand img{margin-bottom:22px;box-shadow:0 16px 35px -23px #6b3c4766;border-radius:50%}
.opening-name{font:34px var(--serif);letter-spacing:-.5px}
.opening-label{font:8px Arial,sans-serif;letter-spacing:2.5px;margin-top:16px}
.opening-line{height:1px;width:92px;background:#b3976c;margin-top:30px;transform-origin:left;animation:line-grow 1.5s .2s ease both}
.intro-enabled .header{animation:header-arrive .85s 1.95s cubic-bezier(.2,.7,.2,1) backwards}
.intro-enabled .hero-copy{animation:content-arrive 1s 2.05s cubic-bezier(.2,.7,.2,1) both}
.intro-enabled .portrait{animation:portrait-arrive 1.15s 2.17s cubic-bezier(.2,.7,.2,1) both}
@keyframes curtain-away{0%,60%{transform:translateY(0);visibility:visible}100%{transform:translateY(-101%);visibility:hidden}}
@keyframes brand-arrive{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@keyframes line-grow{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes header-arrive{from{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}
@keyframes content-arrive{from{opacity:0;transform:translateY(32px)}to{opacity:1;transform:translateY(0)}}
@keyframes portrait-arrive{from{opacity:0;transform:translateY(24px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:1000px){.header nav{gap:5px}.header nav a{padding-inline:10px}.header nav .nav-contact{padding-inline:14px}}
@media(max-width:720px){.header nav{gap:3px}.header nav a{justify-content:flex-start;padding:13px 12px}.header nav a:not(.nav-contact):after{left:12px;right:auto;width:28px;bottom:7px}.opening-name{font-size:30px}.opening-label{font-size:7px;letter-spacing:2px}.header nav a:focus-visible{transform:none}}
@media(prefers-reduced-motion:reduce){.intro-enabled .opening-screen{display:none}.intro-enabled .header,.intro-enabled .hero-copy,.intro-enabled .portrait{animation:none!important}.header nav a,.header nav a:before,.header nav a:after,.principles .wrap>span{transition:none!important}.header nav a:hover,.header nav a:focus-visible,.principles .wrap>span:hover{transform:none}}
.detail-lead.detail-intro{font-size:17px;line-height:1.75}.detail-law{max-width:560px;margin:0 0 22px;font-size:12px;line-height:1.8;color:var(--muted)}.detail-law strong{display:block;margin-bottom:2px;font-size:9px;letter-spacing:1.6px;text-transform:uppercase;color:var(--wine)}@media(max-width:720px){.detail-lead.detail-intro{font-size:16px}}
.about-sub{border-top:1px solid var(--line);padding-top:60px;padding-bottom:60px}
.about-sub h2{font-size:clamp(32px,3.4vw,46px)}
.about-sub .about-copy{padding-top:8px}
.principle-list{margin-top:6px}
.principle-list li{display:flex;align-items:baseline;gap:15px;font-size:13px;line-height:1.75;color:var(--muted)}
.principle-list li:before{flex:none;margin-right:0!important}
.principle-list strong{color:var(--wine);font-weight:600}
@media(max-width:720px){.about-sub{padding-top:40px;padding-bottom:40px}}
