:root{--bg:#faf8f4;--surface:#fff;--surface-soft:#f1ece2;--text:#1e2a38;--muted:#5a4f4f;--accent:#c5a572;--border:#ddd5c8;--shadow:0 12px 32px #1e2a3814;--max-width:1200px}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{color:var(--text);background:radial-gradient(circle at top right, #fff 0%, transparent 40%), linear-gradient(180deg, #fefcf9 0%, var(--bg) 28%);font-family:Open Sans,sans-serif;line-height:1.65}h1,h2,h3{color:var(--text);margin:0;font-family:Merriweather,serif}p{margin:0}button{font:inherit}.app-shell{min-height:100vh}.site-header{z-index:100;border-bottom:1px solid var(--border);background:#faf8f4fa;position:sticky;top:0}.site-nav{width:min(var(--max-width), 92%);justify-content:space-between;align-items:center;gap:1.5rem;min-height:82px;margin:0 auto;display:flex}.brand-block{text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:.65rem;display:flex}.brand-logo{width:clamp(36px,5vw,46px);height:auto}.brand-text{display:grid}.brand-mark{color:var(--accent);letter-spacing:.12em;font-family:Montserrat,sans-serif;font-weight:700}.brand-name{font-family:Merriweather,serif;font-size:.92rem}.menu-toggle{border:1px solid var(--border);background:var(--surface);border-radius:.5rem;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:46px;height:40px;display:none}.menu-toggle span{background:var(--text);width:18px;height:2px}.nav-links{align-items:center;gap:clamp(.8rem,2.2vw,1.8rem);margin:0;padding:0;list-style:none;display:flex}.nav-links button{color:var(--text);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:.2rem;font-size:clamp(.85rem,1.5vw,.97rem);font-weight:600;transition:color .2s,border-color .2s}.nav-links button:hover,.nav-links button.active{color:var(--accent);border-color:var(--accent)}.mobile-only{display:none}.section-shell{width:min(var(--max-width), 92%);margin:0 auto;padding:clamp(3.2rem,7vw,5.6rem) 0}.hero-section[id],.section-shell[id],section[id]{scroll-margin-top:94px}.hero-section{text-align:center;padding-top:clamp(5rem,10vw,8rem)}.kicker{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;font-size:.82rem;font-weight:700}.hero-section h1{text-transform:uppercase;letter-spacing:.12em;margin-top:.8rem;font-family:Montserrat,sans-serif;font-size:clamp(1.8rem,6vw,3.3rem)}.hero-section h2{margin-top:.85rem;font-size:clamp(1.35rem,3vw,2.1rem);font-weight:400}.est-line{color:var(--muted);margin-top:.7rem;font-family:Dancing Script,cursive;font-size:1.45rem}.hero-description{max-width:760px;color:var(--muted);margin:1.4rem auto 0}.two-column{grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:clamp(1.4rem,4vw,3rem);display:grid}.visual-wrap{width:100%}.visual-block{border:1px solid var(--border);background:linear-gradient(155deg,#fff 0%,#ece6da 100%);border-radius:1rem;place-items:center;min-height:310px;display:grid;box-shadow:0 6px 16px #1e2a380d}.visual-block span{color:var(--text);letter-spacing:.06em;text-transform:uppercase;font-size:.76rem;font-weight:600}.visual-about{aspect-ratio:1;background:radial-gradient(circle at 45% 35%,#fdfcf8 10%,#0000 11%),linear-gradient(#c8e5f6 0% 64%,#bfdc92 64%,#83a900 100%);border-radius:50%;width:min(340px,100%);margin-inline:auto}.visual-law{background:linear-gradient(145deg,#f8f5ef 10%,#ebe4d7 90%)}.visual-services{background:linear-gradient(140deg, #c5a5722e, #1e2a3808), var(--surface)}.section-image{border:1px solid var(--border);object-fit:cover;border-radius:1rem;width:100%;box-shadow:0 6px 16px #1e2a380d}.image-carousel{border:1px solid var(--border);background:#eef5fa;border-radius:1rem;overflow:hidden;box-shadow:0 6px 16px #1e2a380d}.image-carousel-track{width:100%;transition:transform .6s;display:flex}.image-carousel-slide{aspect-ratio:3/4;box-shadow:none;object-fit:cover;border:none;border-radius:0;flex:0 0 100%}.focus-carousel{width:min(430px,100%);height:340px;margin-inline:auto;position:relative}.focus-carousel-wrap{justify-items:center;gap:.8rem;display:grid}.focus-node{aspect-ratio:1;border:2px solid #000;border-radius:50%;width:250px;transition:opacity .45s,filter .45s,transform .45s;position:absolute;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%);box-shadow:0 10px 24px #1e2a381f}.focus-node-image{object-fit:cover;width:100%;height:100%}.focus-node.is-center{z-index:3;opacity:1;filter:blur();transform:translate(-50%,-50%)scale(1)}.focus-node.is-left,.focus-node.is-right{z-index:2;opacity:.74;filter:blur(2.2px);transform:translate(-50%,-50%)scale(.66)}.focus-node.is-left{transform:translate(calc(-50% - 150px),-50%)scale(.66)}.focus-node.is-right{transform:translate(calc(150px - 50%),-50%)scale(.66)}.focus-node.is-hidden{z-index:1;opacity:0;filter:blur(4px);pointer-events:none;transform:translate(-50%,-50%)scale(.45)}.focus-caption{text-align:center;color:var(--text);letter-spacing:.03em;margin:0;font-weight:700}.services-image{object-fit:contain;background:#fff;padding:1rem}.section-content-card{background:var(--surface-soft);border:1px solid var(--border);border-radius:1rem;padding:clamp(1.3rem,2.7vw,2rem)}.section-content-card h2{margin-bottom:.9rem;font-size:clamp(1.45rem,2.6vw,2rem)}.section-content-card p,.partner-card p,.contact-item{color:var(--muted)}.section-title{text-align:center;margin-bottom:1.5rem;font-size:clamp(1.6rem,3vw,2.3rem);position:relative}.section-title:after{content:"";background:var(--accent);width:56px;height:3px;margin:.55rem auto 0;display:block}.partner-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem;display:grid}.partner-card{background:var(--surface);border:1px solid var(--border);border-radius:.9rem;padding:1.05rem;box-shadow:0 4px 10px #1e2a380a}.partner-card h3{margin-bottom:.8rem;font-size:1.05rem}.partner-card p{margin-top:.5rem;font-size:.9rem}.partner-expertise{border:1px solid var(--border);background:var(--surface-soft);border-radius:.7rem;margin-top:.8rem;padding:.75rem .8rem}.partner-expertise-toggle{min-height:36px}.partner-expertise-title{color:var(--text);font-weight:700}.partner-expertise-list{margin:.4rem 0 0;padding:0;list-style:none;overflow:hidden}.partner-expertise-list li{color:var(--muted);border-bottom:1px solid #c5a57240;padding:.45rem 0;font-size:.9rem}.partner-expertise-list li:last-child{border-bottom:none}.services-card ul{margin:0;padding:0;list-style:none;overflow:hidden}.services-toggle{cursor:pointer;text-align:left;width:100%;color:inherit;background:0 0;border:none;justify-content:space-between;align-items:center;padding:0;display:flex}.services-toggle h2{margin-bottom:0}.services-toggle-icon{border:1px solid var(--border);width:32px;height:32px;color:var(--accent);border-radius:50%;place-items:center;font-size:1.1rem;line-height:1;transition:transform .2s;display:grid}.services-toggle-icon.open{transform:rotate(180deg)}.services-card li{color:var(--muted);border-bottom:1px solid #c5a57240;padding:.5rem 0}.services-card li:last-child{border-bottom:none}.contact-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:.8rem;display:grid}.contact-item{background:var(--surface);border:1px solid var(--border);white-space:pre-line;border-radius:.7rem;align-items:flex-start;gap:.6rem;margin:0;padding:.9rem;display:flex}.contact-item-clock{grid-column:1/-1;justify-self:center;width:min(360px,100%)}.contact-item span{color:var(--accent);line-height:1.3}.contact-icon{width:18px;height:18px;margin-top:2px}.contact-fallback-icon{color:var(--accent);line-height:1.2}.site-footer{border-top:1px solid var(--border);text-align:center;color:var(--muted);background:#ffffffd9;padding:1rem}.footer-brandline{justify-content:center;align-items:center;gap:.5rem;display:inline-flex}.footer-logo{object-fit:contain;width:20px;height:20px}.state-block{text-align:center;place-items:center;min-height:100vh;padding:1rem;display:grid}.error-state{color:#8f342e}@media (width<=900px){.site-nav{min-height:72px}.menu-toggle{display:inline-flex}.desktop-only{display:none}.mobile-only{width:min(var(--max-width), 92%);background:var(--surface);border:1px solid var(--border);border-radius:.75rem;gap:.4rem;margin:0 auto .9rem;padding:.8rem;display:grid}.mobile-only button{text-align:left;width:100%;padding:.45rem .25rem}.two-column{grid-template-columns:1fr}.visual-about{width:min(280px,100%)}.focus-carousel{width:min(320px,100%);height:260px}.focus-caption{font-size:.92rem}.focus-node{width:210px}.focus-node.is-left{transform:translate(calc(-50% - 105px),-50%)scale(.62)}.focus-node.is-right{transform:translate(calc(105px - 50%),-50%)scale(.62)}.hero-section h1{letter-spacing:.08em}.services-toggle{min-height:44px}}
