/* Notare im Donauzentrum — site-owned design system. Core files remain upgradeable. */
:root,
[data-theme="dark"] {
  color-scheme:light;
  --blue:#1D3460;--gold:#BB9B57;--text-gold:#AD8E4B;--ice:#E9F1FA;--ice-light:#F3F7FC;--white:#fff;
  --ink-soft:#526078;--line:#d7dfe9;--color-primary:var(--blue);--color-text:var(--blue);
  --color-background:var(--white);--color-text-secondary:var(--ink-soft);
  --font-body:"Avenir","Avenir Next","Nunito Sans",Arial,sans-serif;--font-display:var(--font-body);
  --font-weight-normal:500;--font-weight-bold:600;--container-max:1320px;
  --header-height:120px;--brand-header-height:122px;--brand-logo-width:300px;--color-border:var(--line);--rule-width:1.4px;
}
html {scroll-behavior:smooth;scroll-padding-top:140px;background:#fff}
body.notare-site {margin:0;background:#fff;color:var(--blue);font:500 1rem/1.65 var(--font-body);-webkit-font-smoothing:antialiased}
.notare-site *, .notare-site *::before, .notare-site *::after {box-sizing:border-box}
.notare-site h1,.notare-site h2,.notare-site h3,.notare-site h4,.notare-site p,.notare-site figure {margin:0}
.notare-site h1,.notare-site h2,.notare-site h3,.notare-site h4 {font-family:var(--font-display);color:inherit;font-weight:600}
/* Prose uses the document language (de / en-GB) for automatic word division. */
.notare-site main :is(p:not(.eyebrow):not(.person__role),.service-detail__body li,.legal-copy li,.person__bio dd,.location__departments) {-webkit-hyphens:auto;hyphens:auto}
.notare-site main :is(a[href^="tel:"],a[href^="mailto:"]) {-webkit-hyphens:none;hyphens:none}
.notare-site a {color:inherit;text-decoration:none}
.notare-site a:hover {color:inherit}
.notare-site img {display:block;max-width:100%}
.notare-site button {font:inherit}
.notare-site ::selection {background:var(--gold);color:var(--blue)}
.notare-site :focus-visible {outline:3px solid var(--blue);outline-offset:3px;box-shadow:0 0 0 3px var(--white)}
.notare-site [id] {scroll-margin-top:145px}
.shell {width:min(1320px,calc(100% - 104px));margin-inline:auto}
.section {padding-block:104px}
.notare-site .eyebrow {font-size:.75rem;line-height:1.4;text-transform:uppercase;letter-spacing:.16em;font-weight:600;margin-bottom:22px;color:var(--blue)}
.eyebrow__rule {display:inline-block;width:36px;height:var(--rule-width);background:var(--gold);vertical-align:middle;margin-right:16px}
.notare-site h2 {font-size:clamp(2rem,3.15vw,3rem);line-height:1.2;letter-spacing:-.035em}
.arrow {width:24px;height:24px;flex:0 0 24px;display:inline-block;vertical-align:middle;transition:transform .25s ease}
.arrow--diagonal {transform:rotate(-45deg)}.arrow--down {transform:rotate(90deg)}
/* Reserve the expanded height so shrinking the fixed bar cannot move page content. */
.brand-header-slot {height:calc(var(--brand-header-height) + var(--rule-width))}
.brand-header {position:fixed;top:0;left:0;right:0;z-index:90;background:rgba(255,255,255,.97);border-bottom:var(--rule-width) solid var(--line);transition:transform .28s ease}
.brand-header.is-hidden:not(:focus-within) {transform:translateY(-100%)}
.brand-header__inner {display:flex;align-items:center;gap:32px;min-height:var(--brand-header-height);transition:min-height .28s ease}
.brand-logo {display:block;position:relative;flex:0 0 var(--brand-logo-width);height:calc(var(--brand-logo-width) * 158 / 583);margin-right:auto;transition:flex-basis .28s ease,height .28s ease}
.brand-logo img {position:absolute;left:0;top:50%;width:100%;height:auto;transform:translateY(-50%);transition:opacity .18s ease}
.brand-logo .brand-logo__mini {width:205px;opacity:0}
.brand-header.is-compact {--brand-header-height:76px;--brand-logo-width:205px}
.brand-header.is-compact .brand-logo__full {opacity:0}
.brand-header.is-compact .brand-logo__mini {opacity:1}
.brand-nav {display:flex;gap:30px;align-items:center;white-space:nowrap}
.brand-nav a {font-size:.875rem;position:relative;padding-block:16px}
.brand-nav a::after {content:"";position:absolute;height:var(--rule-width);bottom:7px;left:0;width:0;background:var(--gold);transition:width .2s}
.brand-nav a:hover::after,.brand-nav a[aria-current="page"]::after {width:100%}
.header-call {display:flex;align-items:center;gap:8px;border-left:var(--rule-width) solid var(--line);padding-left:24px;white-space:nowrap;font-size:.8125rem}
.header-call__icon,.contact-cta__phone-icon {height:18px;width:18px;flex:0 0 18px}.menu-toggle {display:none}
.notare-site .skip-link {position:fixed;left:20px;top:-100px;z-index:999;background:var(--blue);color:white;padding:12px 20px}
.notare-site .skip-link:focus {top:12px}
.hero {display:grid;grid-template-columns:minmax(320px,.78fr) minmax(0,1.22fr);align-items:center;min-height:660px;padding-block:48px 54px;gap:clamp(24px,2.5vw,40px)}
.hero__copy {position:relative;z-index:2;padding-bottom:4px}
.notare-site .hero h1 {font-size:clamp(3.65rem,5.6vw,5.45rem);line-height:1.04;letter-spacing:-.057em;font-weight:600;max-width:600px}
.hero h1 span {color:var(--text-gold)}
.notare-site .hero__text {font-size:1.125rem;line-height:1.6;max-width:370px;margin-top:26px;color:var(--ink-soft)}
.hero__actions {display:flex;align-items:center;gap:27px;flex-wrap:wrap;margin-top:31px}
.notare-site .button {display:inline-flex;align-items:center;justify-content:space-between;gap:24px;background:var(--blue);color:white;padding:17px 23px;min-height:58px;font-size:.875rem;font-weight:600;border:var(--rule-width) solid var(--blue);transition:background .25s,color .25s,border-color .25s,transform .25s}
.notare-site .button:hover {background:#2a477c;color:white;transform:translateY(-2px)}
.button:hover .arrow,.text-link:hover .arrow {transform:translateX(4px)}
.notare-site .button--light {background:white;color:var(--blue);border-color:white}
.notare-site .button--light:hover,.notare-site .button--light:focus-visible {background:var(--text-gold);border-color:var(--text-gold);color:white}
.notare-site .text-link {display:inline-flex;align-items:center;gap:20px;font-size:.875rem;font-weight:600;min-height:44px;border-bottom:var(--rule-width) solid var(--gold);padding-block:7px}
.hero__art {align-self:center;position:relative;min-width:0;padding:0}
.hero__art-image {background:transparent}
.hero__art-image img {display:block;width:100%;height:auto}
.hero__art figcaption {display:flex;justify-content:space-between;gap:12px;align-items:center;padding:16px 4% 0;font-size:.75rem;line-height:1.4;color:var(--ink-soft)}
.hero__art figcaption span:first-child {font-weight:600;font-size:.8125rem;color:var(--blue)}
.quick-info {background:var(--ice);border-block:var(--rule-width) solid #dde6f0}
.quick-info__inner {display:grid;grid-template-columns:1fr 1.1fr 1fr;padding-block:27px}
.quick-info a {display:block;padding-inline:34px;border-left:var(--rule-width) solid #c9d4e2}
.quick-info a:first-child {padding-left:0;border:0}.quick-info a:last-child {padding-right:0}
.quick-info__label {display:block;font-weight:700;font-size:.8125rem;margin-bottom:5px}
.quick-info a>span:last-child {font-size:.8125rem;display:flex;align-items:center;justify-content:space-between;gap:12px}
.quick-info .arrow {width:18px;height:18px;flex-basis:18px}
.quick-info a {transition:color .22s ease}
.notare-site .quick-info a:hover,.notare-site .quick-info a:focus-visible {color:var(--text-gold)}
.quick-info a:hover .arrow,.quick-info a:focus-visible .arrow {transform:translateX(4px)}
.section-heading {display:grid;grid-template-columns:1.2fr 1fr;align-items:end;gap:90px;margin-bottom:48px}
.section-heading>p,.section-heading>div>p:not(.eyebrow) {color:var(--ink-soft);max-width:440px;font-size:1rem}
.section-heading .text-link {margin-top:18px}
/* Folder palette and the original continuous-line illustrations. */
.service-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.service-card {--card-padding:28px;--card-fill:white;--card-border:var(--gold);--card-ink:var(--blue);--card-copy:var(--ink-soft);--card-title:var(--text-gold);display:flex;flex-direction:column;min-width:0;padding:var(--card-padding);border:var(--rule-width) solid var(--card-border);position:relative;background:var(--card-fill);transition:background .25s,border-color .25s}
.service-card--ice {--card-fill:var(--ice);--card-border:var(--ice);--card-title:var(--blue)}
.service-card--blue {--card-fill:var(--blue);--card-border:var(--blue);--card-ink:white;--card-copy:white;--card-title:white}
.notare-site .service-card,.notare-site .service-card:hover {color:var(--card-ink)}
.service-card:hover,.service-card:focus-visible {--card-fill:#faf8f3;--card-border:var(--blue)}
.service-card--ice:hover,.service-card--ice:focus-visible {--card-fill:#e1ecf8;--card-border:var(--gold)}
.service-card--blue:hover,.service-card--blue:focus-visible {--card-fill:#27416d;--card-border:var(--gold)}
.service-card::after {content:"";position:absolute;right:calc(-1 * var(--rule-width));top:calc(-1 * var(--rule-width));width:25px;height:25px;color:var(--card-border);background:linear-gradient(45deg,transparent calc(50% - var(--rule-width)/2),currentColor calc(50% - var(--rule-width)/2),currentColor calc(50% + var(--rule-width)/2),white calc(50% + var(--rule-width)/2));transition:color .25s;pointer-events:none}
.service-card__top {display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}
.service-card__number {font-size:.75rem;font-variant-numeric:tabular-nums;color:var(--card-copy);letter-spacing:.08em}
.service-card .arrow {color:var(--gold);margin-right:2px}
.service-card:hover .arrow,.service-card:focus-visible .arrow {transform:translate(3px,-3px) rotate(-45deg)}
.notare-site .service-card h3 {font-size:clamp(1.5rem,2.1vw,1.875rem);line-height:1.2;letter-spacing:-.025em;color:var(--card-title);min-height:2.4em;overflow-wrap:break-word}
.notare-site .service-card p {font-size:1rem;line-height:1.65;color:var(--card-copy);max-width:34ch}
.service-art {--art-inset:0px;--art-trim:0%;display:block;position:relative;height:76px;overflow:hidden;pointer-events:none}
.notare-site .service-art img {position:absolute;top:4px;right:calc(var(--art-inset) + 4px);width:auto;height:calc(100% - 8px);max-width:none;transform:translateX(var(--art-trim))}
.service-art--immobilien {--art-trim:12%}
.service-art--familienrecht {--art-trim:4.5%}
.service-art--verlassenschaften {--art-trim:2.6%}
.service-art--unternehmen {--art-trim:1.6%}
.service-art--beglaubigungen {--art-trim:7.5%}
.service-art--digital {--art-trim:3.5%}
.service-card__art {width:min(100%,208px);align-self:flex-start;margin:8px 0 20px calc(-1 * var(--card-padding));flex-shrink:0}
@media(max-width:980px) {.service-grid {grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px) {.service-grid {grid-template-columns:minmax(0,1fr);gap:20px}.service-card {--card-padding:25px}.notare-site .service-card h3 {font-size:1.65rem;min-height:0}.service-card__top {margin-bottom:15px}.service-card__art {margin-top:12px}}
.section-bottom {display:flex;justify-content:flex-end;margin-top:27px}
.team-feature {background:var(--blue);color:white}
.team-feature .eyebrow {color:var(--gold)}
.team-feature .section-heading>div>p:not(.eyebrow) {color:#d2dceb}
.people-grid {display:grid;gap:28px}.people-grid--four {grid-template-columns:repeat(4,1fr)}.people-grid--three {grid-template-columns:repeat(3,1fr)}
.person {min-width:0}.person__image {aspect-ratio:3/3.65;overflow:hidden;background:var(--ice);clip-path:polygon(0 0,91% 0,100% 8%,100% 100%,0 100%)}
.person__image img {width:100%;height:100%;object-fit:cover;object-position:50% 28%;transition:transform .6s ease}
.person:hover .person__image img {transform:scale(1.035)}
.person__image--framed {position:relative;overflow:visible;background:var(--blue);clip-path:none}
.person__image-inner {position:absolute;inset:9px;overflow:hidden;clip-path:polygon(0 0,91% 0,100% 8%,100% 100%,0 100%)}
.person__image-border {position:absolute;inset:0;width:100%;height:100%;overflow:visible;fill:none;stroke:var(--gold);stroke-width:var(--rule-width);pointer-events:none}
.person__info {padding-top:21px}
.notare-site .person__role {font-size:.75rem;margin-bottom:9px;line-height:1.4;color:var(--ink-soft)}
.notare-site .person h3 {font-size:1.1875rem;line-height:1.4;letter-spacing:-.02em;overflow-wrap:anywhere}
.person h3 span {display:block;font-size:.9375rem;font-weight:500;letter-spacing:0}
.notare-site .person__extra {font-size:.8125rem;line-height:1.55;margin-top:9px;color:var(--ink-soft)}
.team-feature .person__role {color:var(--gold)}
.approach {display:grid;grid-template-columns:1fr 2fr;gap:40px}.approach>.eyebrow {padding-top:10px}
.notare-site .approach h2 {margin-bottom:28px;max-width:830px;font-size:clamp(2rem,3.6vw,3.4rem)}
.notare-site .approach p:not(.eyebrow) {max-width:680px;font-size:1.0625rem;color:var(--ink-soft);margin-bottom:20px}
.approach .text-link {margin-top:4px}
.contact-cta {background:var(--blue);color:white;padding:53px 64px;margin-bottom:94px;display:flex;align-items:center;justify-content:space-between;gap:40px;clip-path:polygon(0 0,calc(100% - 38px) 0,100% 38px,100% 100%,0 100%)}
.contact-cta .eyebrow {color:var(--gold)}.contact-cta__action {display:flex;flex-direction:column;align-items:center;gap:19px}
.contact-cta__phone {display:inline-flex;align-items:center;gap:8px;white-space:nowrap;font-size:.9375rem}
.brand-footer {padding:0 0 30px;border-top:var(--rule-width) solid var(--line);font-size:.8125rem}
.brand-footer__top {padding-block:40px;display:flex;justify-content:space-between;gap:32px;align-items:center;border-bottom:var(--rule-width) solid var(--line)}
.notare-site .brand-footer__claim {font-size:1.5rem;letter-spacing:-.02em;max-width:630px;font-weight:600}
.back-top {height:44px;width:44px;display:grid;place-items:center;border:var(--rule-width) solid var(--line);font-size:1.375rem;transition:background .22s ease,border-color .22s ease,color .22s ease}
.back-top span {display:block;transition:transform .22s ease}
.notare-site .back-top:hover,.notare-site .back-top:focus-visible {background:var(--text-gold);border-color:var(--text-gold);color:var(--white)}
.back-top:hover span,.back-top:focus-visible span {transform:translateY(-3px)}
@media(prefers-reduced-motion:reduce) {.back-top:hover span,.back-top:focus-visible span {transform:none}}
.brand-footer__body {padding-block:38px;display:grid;grid-template-columns:1.1fr 1fr .6fr;gap:80px;color:var(--ink-soft)}
.brand-footer__body>p {max-width:330px}.brand-footer__body nav {display:flex;flex-direction:column;gap:7px}
.brand-footer__body a,.brand-footer__bottom a {position:relative;display:inline-block;width:fit-content}
.brand-footer__body a::after,.brand-footer__bottom a::after {content:"";position:absolute;left:0;right:0;bottom:0;height:var(--rule-width);background:var(--gold);opacity:0;transform:translateY(-3px);transition:opacity .22s ease,transform .22s ease;pointer-events:none}
.brand-footer__body a:hover,.brand-footer__bottom a:hover,.brand-footer__body a:focus-visible,.brand-footer__bottom a:focus-visible {text-decoration:none}
.brand-footer__body a:hover::after,.brand-footer__bottom a:hover::after,.brand-footer__body a:focus-visible::after,.brand-footer__bottom a:focus-visible::after {opacity:1;transform:translateY(2px)}
.brand-footer__bottom {display:flex;justify-content:space-between;gap:20px;padding-top:23px;border-top:var(--rule-width) solid var(--line);font-size:.75rem;color:var(--ink-soft)}
.brand-footer__bottom nav {display:flex;flex-wrap:wrap;gap:12px 27px}
.brand-footer__bottom nav a {max-width:100%;overflow-wrap:anywhere}
.page-intro {padding-block:64px 62px}
.notare-site .page-intro h1 {font-size:clamp(2.7rem,4.7vw,4.4rem);line-height:1.12;letter-spacing:-.048em;max-width:1050px}
.notare-site .intro-copy {font-size:1.125rem;line-height:1.7;color:var(--ink-soft);max-width:660px;margin-top:24px}
.service-jumps {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--rule-width);background:white;margin-bottom:60px}
.service-jumps a {min-width:0;overflow-wrap:anywhere;padding:24px;display:flex;justify-content:space-between;align-items:center;gap:14px;font-size:.9375rem;background:var(--ice)}
.service-jumps a:hover {background:#d9e7f7}
.service-detail {display:grid;grid-template-columns:1fr 2fr;gap:70px;padding-block:67px;border-top:var(--rule-width) solid var(--line)}
.service-detail__number {display:block;font-size:3.5rem;line-height:1;color:var(--text-gold);font-weight:500;letter-spacing:-.05em;margin-bottom:22px}
.service-detail__label .eyebrow {letter-spacing:.1em;font-size:.8125rem}
.service-detail__art {width:min(100%,192px);margin-top:24px}
.notare-site .service-detail__body h2 {font-size:2.125rem;margin-bottom:21px}
.notare-site .service-detail__body>p {font-size:1.0625rem;color:var(--ink-soft);max-width:685px}
.service-detail__body ul {list-style:none;margin:25px 0 23px;padding:0;display:grid;gap:12px}
.service-detail__body li {position:relative;padding-left:24px;font-size:.9375rem}
.service-detail__body li::before {content:"";width:10px;height:var(--rule-width);background:var(--gold);position:absolute;top:12px;left:0}
.quiet-note {background:var(--ice);padding:43px 48px;margin-block:35px 70px}
.notare-site .quiet-note h2 {font-size:1.7rem;margin-bottom:14px}.quiet-note p {max-width:780px;color:var(--ink-soft)}
.team-jumps {display:flex;gap:36px;flex-wrap:wrap;padding-bottom:30px;border-bottom:var(--rule-width) solid var(--line);font-size:.9375rem}
.team-jumps a {border-bottom:var(--rule-width) solid var(--gold);padding-bottom:7px}
.team-section {padding-block:60px 35px}.small-heading {margin-bottom:35px}.small-heading .eyebrow {margin-bottom:16px}
.notare-site .small-heading h2 {font-size:2rem}
.team-section .people-grid {row-gap:40px}.team-section .people-grid--three {grid-template-columns:repeat(3,1fr);max-width:1050px}
.staff-section {background:var(--ice);margin-top:65px}
.department {border-top:var(--rule-width) solid #bccadd}.department:last-child {border-bottom:var(--rule-width) solid #bccadd}
.department summary {display:flex;align-items:center;gap:30px;padding:27px 3px;cursor:pointer;list-style:none}
.department summary::-webkit-details-marker,.faq summary::-webkit-details-marker {display:none}
.department__number {font-size:.8125rem;letter-spacing:.1em;color:var(--ink-soft)}
.department summary h3 {font-size:1.4rem;letter-spacing:-.025em}
.plus {height:20px;width:20px;position:relative;flex-shrink:0;margin-left:auto;color:var(--blue)}
.plus::before,.plus::after {content:"";position:absolute;left:0;top:calc(50% - var(--rule-width)/2);width:20px;height:var(--rule-width);background:currentColor;transition:transform .2s}.plus::after {transform:rotate(90deg)}
[open]>summary .plus::after {transform:rotate(0)}
.department__content {padding:0 0 40px}.department__contact {display:flex;gap:30px;flex-wrap:wrap;padding-block:0 27px;font-size:.9375rem}.department__contact a {border-bottom:var(--rule-width) solid var(--gold)}
.staff-grid {display:grid;grid-template-columns:repeat(5,1fr);gap:26px}
.staff-person img {width:100%;aspect-ratio:3/4;object-fit:cover;object-position:50% 22%;background:#d4e0f0}
.notare-site .staff-person h4 {font-size:.9375rem;line-height:1.45;margin-top:12px}
.history {--history-portrait-width:153.44px;border-top:var(--rule-width) solid var(--line);padding-block:35px 70px}
.history__people {display:grid;grid-template-columns:repeat(2,1fr);gap:40px;max-width:780px}
.history .person {display:flex;gap:24px;align-items:center}.history .person__image {width:calc(var(--history-portrait-width) + 18px);height:calc(var(--history-portrait-width) / 3 * 4 + 18px);flex-shrink:0;aspect-ratio:auto}.history .person__info {padding:0}
/* Add the frame outside the enlarged photos, preserving their visible size. */
.history .person__image--framed {background:transparent}
.history .person__image--framed::before {content:"";position:absolute;inset:0;background:white;clip-path:polygon(0 0,91% 0,100% 8%,100% 100%,0 100%)}
.history .person__image-border {stroke:var(--gold)}
.history .person--memorial .person__image-border {stroke:var(--blue)}
/* Compensate for the Köhler source image's white margins: 24px left, 25px right/bottom at 399px wide. */
.history .person--memorial .person__image-inner img {position:absolute;left:calc(-100% * 24 / 350);bottom:calc(var(--history-portrait-width) * -25 / 350);width:calc(100% * 399 / 350);height:auto;max-width:none}
/* Contact: locations and maps lead; direct contact remains one jump away. */
.contact-page > .locations {padding-top:64px}
.contact-location-heading {display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:24px 40px;margin-bottom:40px}
.notare-site .contact-location-heading h1 {font-size:clamp(2rem,3.15vw,3rem);line-height:1.2;letter-spacing:-.035em;max-width:24ch}
.contact-jumps {display:flex;align-items:center;flex-wrap:wrap;gap:16px 24px}
.contact-jumps .button {white-space:nowrap}
.contact-jumps .button:hover .arrow--down,.contact-jumps .text-link:hover .arrow--down {transform:translateY(3px) rotate(90deg)}
.contact-intro {padding-bottom:40px}
.contact-page .contact-options + .department-contacts {padding-top:64px}
.notare-site .contact-page :is(#telefon-email,#lageplan) {scroll-margin-top:16px}
@media(max-width:1080px) {
 .contact-location-heading {grid-template-columns:1fr}
}
@media(max-width:760px) {
 .contact-page > .locations {padding-top:40px}
 .contact-location-heading {margin-bottom:28px}
 .contact-intro {padding-bottom:28px}
 .contact-page .contact-options + .department-contacts {padding-top:48px}
}
.contact-options {display:grid;grid-template-columns:1fr 1fr;background:var(--blue);color:white;padding:40px 48px;gap:40px;clip-path:polygon(0 0,calc(100% - 30px) 0,100% 30px,100% 100%,0 100%)}
.contact-options .eyebrow {color:var(--gold);margin-bottom:16px}
.contact-options__link {display:flex;align-items:center;gap:30px;font-size:clamp(1.4rem,2.6vw,2.3rem);letter-spacing:-.03em;font-weight:500}
.contact-options>div+div {border-left:var(--rule-width) solid #64718b;padding-left:40px}
.location-grid {display:grid;grid-template-columns:1fr 1fr;gap:28px}.location {border:var(--rule-width) solid var(--line)}
.location__head {padding:37px 40px;background:var(--ice)}
.location__head .eyebrow {font-size:.75rem;letter-spacing:.13em}
.notare-site .location__head h2 {font-size:2rem;line-height:1.2;letter-spacing:-.03em;margin-bottom:19px}
.location__head>p:last-child {font-size:.9375rem;color:var(--ink-soft)}
.location__body {padding:30px 40px 40px;display:flex;flex-direction:column;gap:23px}
.notare-site .location__block h3 {font-size:.9375rem;line-height:1.4;margin-bottom:8px}.location__block p {font-size:.9375rem;color:var(--ink-soft)}
.notare-site .location__note {font-size:.875rem;line-height:1.65;border-left:var(--rule-width) solid var(--gold);padding-left:17px}
.location__note--icon {display:flex;align-items:flex-start;gap:10px}
.location__note-icon {width:24px;height:24px;flex:0 0 24px}
.location__note--icon>span {min-width:0}
.location__body .text-link {align-self:start;margin-top:5px}
.department-contacts {display:grid;grid-template-columns:1fr 1.3fr;gap:80px;padding-bottom:40px}
.contact-list article {padding:22px 0;border-top:var(--rule-width) solid var(--line)}
.contact-list article:last-child {border-bottom:var(--rule-width) solid var(--line)}
.notare-site .contact-list h3 {font-size:1.125rem;line-height:1.4;margin-bottom:10px}
.contact-list a {display:flex;justify-content:space-between;font-size:.9375rem}.contact-list a:last-child {font-size:.875rem;color:var(--ink-soft);margin-top:5px}
.faq-band {background:var(--ice);margin-top:40px}
.faq-band .faq details p {color:var(--blue)}
.faq-section {max-width:960px}.faq details {border-top:var(--rule-width) solid var(--line)}.faq details:last-child {border-bottom:var(--rule-width) solid var(--line)}
.faq summary {list-style:none;padding:25px 0;cursor:pointer;display:flex;justify-content:space-between;gap:20px;font-size:1.0625rem;font-weight:600}
.faq details p {padding:0 45px 26px 0;color:var(--ink-soft);max-width:770px;line-height:1.75}
.legal-page .page-intro {max-width:960px}.legal-copy {max-width:960px;padding-bottom:100px;color:var(--ink-soft)}
.accessibility-page .page-intro h1 {overflow-wrap:anywhere;hyphens:auto}
.accessibility-page .legal-copy {overflow-wrap:anywhere}
.notare-site .legal-copy h2 {font-size:1.5rem;color:var(--blue);margin:34px 0 18px}
.notare-site .legal-copy h3 {font-size:1.125rem;line-height:1.4;font-weight:600;color:var(--text-gold);margin:30px 0 14px;max-width:790px}
.notare-site .legal-copy ul {max-width:790px;padding-left:24px;margin:0 0 24px}
.notare-site .legal-copy li {margin-bottom:10px;padding-left:4px;line-height:1.65}
.notare-site .legal-copy li::marker {color:var(--text-gold)}
.notare-site .legal-copy p {margin-bottom:20px;max-width:790px}.legal-copy a {text-decoration:underline;text-underline-offset:3px}
@media(min-width:1500px) {.hero {min-height:740px}.hero h1 {font-size:5.5rem}}
@media(max-width:1250px) {.brand-header__inner {gap:24px}.header-call span {display:none}.header-call {padding-left:19px}.hero__actions {gap:18px}.hero .text-link {font-size:.8125rem}.brand-nav {gap:25px}.section-heading {gap:60px}.hero__art figcaption {flex-direction:column;align-items:flex-start;gap:5px}.staff-grid {grid-template-columns:repeat(4,1fr)}}
@media(max-width:1080px) {
 :root {--brand-header-height:118px;--brand-logo-width:280px}.shell {width:calc(100% - 64px)}.header-call {border:0;margin-left:auto;padding:12px}.header-call span {display:inline}
 /* A shared SVG viewport keeps the three strokes on the same pixel phase. */
 .menu-toggle {display:grid;place-items:center;background:none;border:0;width:44px;height:44px;flex:0 0 44px;padding:10px;color:var(--blue);order:1}
 .menu-toggle__icon {display:block;width:24px;height:24px;overflow:visible;stroke-width:var(--rule-width)}
 .menu-toggle__icon path {vector-effect:non-scaling-stroke;transform-box:fill-box;transform-origin:center;transition:transform .25s ease,opacity .2s ease}
 .menu-toggle[aria-expanded="true"] path:first-child {transform:translateY(7px) rotate(45deg)}
 .menu-toggle[aria-expanded="true"] path:nth-child(2) {opacity:0;transform:scaleX(0)}
 .menu-toggle[aria-expanded="true"] path:last-child {transform:translateY(-7px) rotate(-45deg)}
 .brand-nav {display:flex;flex-direction:column;align-items:center;position:absolute;top:100%;left:0;right:0;background:white;border-bottom:var(--rule-width) solid var(--line);padding:20px 32px 30px;gap:0;box-shadow:0 18px 30px #1d34600a;max-height:calc(100dvh - var(--brand-header-height) - var(--rule-width));overflow-y:auto;overscroll-behavior:contain;visibility:hidden;pointer-events:none;opacity:0;clip-path:inset(0 0 100% 0);transform:translateY(-8px);transition:clip-path .3s ease,opacity .24s ease,transform .3s ease,visibility 0s .3s}
 .brand-nav.is-open {visibility:visible;pointer-events:auto;opacity:1;clip-path:inset(0 0 -40px 0);transform:translateY(0);transition-delay:0s}
 .brand-nav a {width:min(100%,320px);flex-shrink:0;white-space:normal;font-size:1.125rem;padding:17px 0}.brand-nav a::after {bottom:8px}
 .hero {min-height:620px;gap:24px;padding-block:44px}.notare-site .hero h1 {font-size:clamp(3.1rem,6vw,4.5rem)}.hero__actions {align-items:flex-start;flex-direction:column;gap:12px}.hero__text {font-size:1rem!important}
 .quick-info a {padding-inline:20px}.quick-info a>span:last-child {font-size:.75rem}.quick-info__label {font-size:.75rem}.quick-info a .arrow {display:none}
 .section {padding-block:80px}.section-heading {gap:40px}.people-grid {gap:20px}.person h3 {font-size:1.0625rem!important}.person h3 span {font-size:.875rem}
 .contact-cta {padding:43px;margin-bottom:75px}.brand-footer__body {gap:40px}.staff-grid {grid-template-columns:repeat(4,1fr)}.contact-options {padding:35px;gap:25px}.contact-options>div+div {padding-left:25px}.contact-options__link {font-size:1.65rem}.location__head,.location__body {padding:30px}.department-contacts {gap:45px}
}
@media(max-width:760px) {
 html {scroll-padding-top:124px}.notare-site [id] {scroll-margin-top:125px}.shell {width:calc(100% - 40px)}:root {--brand-header-height:112px;--brand-logo-width:270px}.brand-header__inner {gap:8px}.brand-logo {flex:0 1 var(--brand-logo-width);min-width:0}.header-call {display:none}.menu-toggle {margin-left:auto;flex:0 0 40px}.brand-nav {padding-inline:20px}
 .hero {grid-template-columns:minmax(0,1fr);gap:26px;padding-top:39px;padding-bottom:34px}.notare-site .hero h1 {font-size:clamp(3.75rem,12vw,5.3rem);line-height:1.04;letter-spacing:-.055em}.hero__copy {padding:0}.hero .eyebrow {margin-bottom:23px}.hero__text {max-width:340px!important;margin-top:24px!important;font-size:1.0625rem!important}.hero__actions {flex-direction:row;align-items:center;gap:22px;margin-top:26px}.hero .text-link {font-size:.8125rem}.notare-site .button {padding:15px 19px;font-size:.8125rem;gap:14px;min-height:54px}.hero__art {padding-top:0;width:100%;margin:0}.hero__art figcaption {flex-direction:row;align-items:start;padding-top:13px;gap:15px}.hero__art figcaption span:last-child {font-size:.75rem;max-width:185px;text-align:right}.hero__art figcaption span:first-child {font-size:.75rem;white-space:nowrap}
 .quick-info__inner {grid-template-columns:1fr;padding-block:6px}.quick-info a,.quick-info a:first-child {border:0;padding:17px 0;border-bottom:var(--rule-width) solid #c9d4e2;display:flex;gap:15px;align-items:center;justify-content:space-between}.quick-info a:last-child {border:0}.quick-info__label {font-size:.75rem;margin:0}.quick-info a>span:last-child {font-size:.75rem;max-width:205px;text-align:right}.quick-info a:nth-child(2) {display:none}
 .section {padding-block:63px}.notare-site .eyebrow {font-size:.75rem;letter-spacing:.13em;margin-bottom:18px}.notare-site h2 {font-size:2rem}.section-heading {grid-template-columns:1fr;gap:22px;margin-bottom:31px}.section-heading>p,.section-heading>div>p:not(.eyebrow) {font-size:.9375rem;max-width:500px}.section-heading .text-link {margin-top:13px}
 .section-bottom {justify-content:flex-start;margin-top:22px}
 .people-grid--four,.team-section .people-grid--three {grid-template-columns:repeat(2,1fr);column-gap:18px;row-gap:30px}.person__image {aspect-ratio:3/3.8}.person__info {padding-top:15px}.notare-site .person__role {font-size:.75rem;margin-bottom:7px}.notare-site .person h3 {font-size:1rem!important}.person h3 span {font-size:.8125rem}.notare-site .person__extra {font-size:.75rem}.team-feature .section {padding-bottom:68px}
 .approach {grid-template-columns:1fr;gap:8px}.notare-site .approach h2 {font-size:2.1rem}.notare-site .approach p:not(.eyebrow) {font-size:1rem}.approach>.eyebrow {padding:0}
 .contact-cta {padding:35px 28px;flex-direction:column;align-items:flex-start;gap:28px;margin-bottom:60px;clip-path:polygon(0 0,calc(100% - 28px) 0,100% 28px,100% 100%,0 100%)}.contact-cta h2 {font-size:2rem}.contact-cta__action {flex-direction:row;gap:16px;flex-wrap:wrap;align-items:center}.contact-cta__phone {font-size:.8125rem}
 .brand-footer__top {padding-block:28px;gap:25px}.notare-site .brand-footer__claim {font-size:1.1rem;max-width:250px;line-height:1.5}.back-top {flex:0 0 40px;height:40px;width:40px}.brand-footer__body {grid-template-columns:1fr;gap:25px;padding-block:28px}.brand-footer__body>p {max-width:340px}.brand-footer__body nav {flex-direction:row;flex-wrap:wrap;gap:10px 24px}.brand-footer__bottom {flex-direction:column;gap:12px;font-size:.75rem;padding-top:22px}.brand-footer__bottom nav {gap:24px}
 .page-intro {padding-block:40px}.notare-site .page-intro h1 {font-size:clamp(2.75rem,8.7vw,3.9rem)}.notare-site .intro-copy {font-size:1rem;line-height:1.7;margin-top:23px}
 .service-jumps {grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:30px}.service-jumps a {font-size:.8125rem;line-height:1.5;padding:18px 16px}.service-jumps .arrow {width:17px;height:17px;flex-basis:17px}
 .service-detail {grid-template-columns:1fr;gap:16px;padding-block:40px}.service-detail__label {display:grid;grid-template-columns:auto 1fr;align-items:center;gap:18px}.service-detail__art {grid-column:1/-1;margin-top:0}.service-detail__number {font-size:1.75rem;margin:0}.service-detail__label .eyebrow {margin:0;font-size:.75rem}.notare-site .service-detail__body h2 {font-size:1.75rem}.notare-site .service-detail__body>p {font-size:1rem}.service-detail__body li {font-size:.875rem}.quiet-note {padding:30px 25px;margin-block:15px 50px}.notare-site .quiet-note h2 {font-size:1.5rem}.quiet-note p {font-size:.9375rem}
 .team-jumps {gap:14px 25px;padding-bottom:25px;font-size:.8125rem}.team-section {padding-top:40px;padding-bottom:15px}.notare-site .small-heading h2 {font-size:1.75rem}.small-heading {margin-bottom:27px}.staff-section {margin-top:40px}.department summary {gap:18px;padding-block:23px}.department summary h3 {font-size:1.13rem}.department__contact {gap:10px 25px;font-size:.8125rem;overflow-wrap:anywhere}.staff-grid {grid-template-columns:repeat(3,1fr);gap:23px 14px}.notare-site .staff-person h4 {font-size:.75rem}.department__content {padding-bottom:30px}.history__people {grid-template-columns:1fr;gap:24px}.history {--history-portrait-width:124.32px;padding-block:30px 50px}
 .contact-options {grid-template-columns:1fr;gap:25px;padding:30px 25px}.contact-options>div+div {border-left:0;border-top:var(--rule-width) solid #64718b;padding-left:0;padding-top:24px}.contact-options__link {font-size:1.75rem;gap:20px}.contact-options .eyebrow {margin-bottom:11px}.location-grid {grid-template-columns:1fr;gap:24px}.location__head,.location__body {padding:29px 25px}.location__head h2 {font-size:1.85rem!important}.department-contacts {grid-template-columns:1fr;gap:29px;padding-bottom:0}.contact-list a {font-size:.875rem;overflow-wrap:anywhere}.contact-list .arrow {flex-basis:20px;width:20px;height:20px}.faq summary {font-size:.9375rem;padding-block:22px}.faq details p {font-size:.9375rem;padding-right:10px}.legal-copy {padding-bottom:65px;font-size:.9375rem}.notare-site .legal-copy h2 {font-size:1.375rem}
}
/* On tablets, keep the menu compact and slide it in from the right edge. */
@media(min-width:481px) and (max-width:1080px) {
 .brand-header {overflow-x:clip}
 .brand-nav {left:auto;right:0;width:320px;padding-inline:28px;border-left:var(--rule-width) solid var(--line);clip-path:none;transform:translateX(100%);transition:transform .3s ease,opacity .24s ease,visibility 0s .3s}
 .brand-nav.is-open {clip-path:none;transform:translateX(0);transition-delay:0s}
 .brand-nav a {width:100%}
}
@media(max-width:380px) {.service-jumps {grid-template-columns:1fr}.shell {width:calc(100% - 32px)}:root {--brand-logo-width:250px}.menu-toggle {padding:8px;flex-basis:32px}.brand-header__inner {gap:8px}.hero__actions {gap:12px}.notare-site .hero h1 {font-size:3.7rem}.hero .text-link {font-size:.75rem}.staff-grid {grid-template-columns:repeat(2,1fr)}}
@media(prefers-reduced-motion:reduce) {html {scroll-behavior:auto}*,*::before,*::after {animation:none!important;transition:none!important}}
@media print {.brand-header-slot,.brand-header,.menu-toggle,.contact-cta,.back-top {display:none}.shell {width:100%}.section {padding-block:25px}body {font-size:10pt}.department__content {display:block}.person,.service-card {break-inside:avoid}.brand-footer {margin-top:30px}.hero {min-height:0}.brand-footer__body {gap:20px}}


/* Readable type at every breakpoint; regular labels never rely on tiny text. */
.notare-site .location__block p,.notare-site .location__head>p:last-child,.notare-site .service-detail__body li,.notare-site .faq details p,.notare-site .legal-copy {font-size:1rem!important}
.notare-site .person__role,.notare-site .person__extra,.notare-site .staff-person h4,.quick-info__label,.quick-info a>span:last-child,.header-call,.notare-site .brand-nav a,.notare-site .button,.notare-site .text-link,.department__contact,.contact-cta__phone {font-size:.875rem!important}
@media(max-width:760px) {.quick-info a>span:last-child {max-width:190px}.quick-info__label {max-width:130px}.hero__art figcaption span:last-child {font-size:.75rem}.contact-options__link {overflow-wrap:anywhere}.brand-nav a {font-size:1.125rem!important}}

/* Professional biographies: native, keyboard-accessible disclosure. */
.person__bio{margin-top:1.35rem;border-top:var(--rule-width) solid #1d346030;text-align:left;color:#1d3460}
.person__bio summary{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 0;cursor:pointer;font-size:1rem;font-weight:500;list-style:none}
.person__bio summary::-webkit-details-marker{display:none}.person__bio summary span{font-size:1.5rem;font-weight:400;transition:transform .25s}.person__bio[open] summary span{transform:rotate(45deg)}
.person__bio dl{margin:0}.person__bio dl>div{padding:.7rem 0;border-top:var(--rule-width) solid #1d346015}.person__bio dt{font-size:.875rem;font-weight:600;margin-bottom:.2rem}.person__bio dd{margin:0;font-size:1rem;line-height:1.55}.person__languages{font-size:.875rem!important;margin:1rem 0!important}.person__bio .disclosure-content{overflow:hidden}.service-note{font-size:1rem!important;line-height:1.65!important;margin:1.5rem 0!important;padding-left:1rem;border-left:var(--rule-width) solid #bb9b57}.service-note a{text-decoration:underline;text-underline-offset:.2em}

/* Team portraits: white inset and a jurist grid capped to the notaries’ scale. */
.team-section{--portrait-gap:28px}
.team-section .person__image--framed{background:white}
.team-section .people-grid--jurists{width:100%;max-width:100%;grid-template-columns:repeat(5,minmax(0,1fr));column-gap:var(--portrait-gap)}
@media(max-width:1279px){.team-section .people-grid--jurists{grid-template-columns:repeat(3,minmax(0,1fr));max-width:calc(75% - var(--portrait-gap)/4)}}
@media(max-width:1080px){.team-section{--portrait-gap:20px}}
@media(max-width:980px){.team-section .people-grid--jurists{grid-template-columns:repeat(2,minmax(0,1fr));max-width:calc(50% - var(--portrait-gap)/2)}}
@media(max-width:760px){.team-section{--portrait-gap:18px}.team-section .people-grid--jurists{max-width:100%;row-gap:30px}}

/* Individual staff availability and direct telephone extensions. */
.notare-site .staff-person__availability {margin-top:4px;color:var(--ink-soft);font-size:.875rem;line-height:1.5;white-space:pre-line;overflow-wrap:anywhere}
.notare-site .staff-person__phone {display:inline-block;max-width:100%;margin-top:6px;font-size:.875rem;line-height:1.55;text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:4px;overflow-wrap:anywhere;transition:color .2s ease}
.notare-site .staff-person__phone:hover {color:var(--text-gold,var(--gold))}

/* Useful visit information stays close to each service, with details on demand. */
.service-help {margin-top:32px}
.service-help__body {padding:0 0 24px}
.notare-site .service-help__body p {padding:0;margin:0 0 16px;max-width:none;font-size:1rem;line-height:1.7;color:var(--ink-soft)}
.service-help__body ul {margin:0 0 20px;gap:10px}
.service-help__body a,.service-jurisdiction a,.service-inline-link {text-decoration:underline!important;text-decoration-color:var(--gold)!important;text-underline-offset:4px;overflow-wrap:anywhere}
.service-inline-link .arrow {width:18px;height:18px;margin-left:8px}
.service-jurisdiction {margin-top:32px;padding:24px 28px;background:var(--ice);border-left:var(--rule-width) solid var(--gold)}
.notare-site .service-jurisdiction h3 {font-size:1.125rem;margin-bottom:12px}
.notare-site .service-jurisdiction p {margin:12px 0 0;font-size:1rem;line-height:1.65}
.notare-site .service-jurisdiction__lead {font-weight:600;color:var(--blue);font-size:1.125rem}
.notare-site .service-jurisdiction__transition,.service-jurisdiction__detail {font-size:.875rem;color:var(--ink-soft)}
.service-jurisdiction__detail {margin-top:18px}
.service-jurisdiction__detail summary {display:flex;align-items:center;justify-content:space-between;gap:16px;list-style:none;cursor:pointer;text-underline-offset:4px}
.service-jurisdiction__detail summary::-webkit-details-marker {display:none}
.service-jurisdiction__detail summary::after {content:"";width:7px;height:7px;flex-shrink:0;margin-inline-end:3px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg)}
.service-jurisdiction__detail[open] summary::after {transform:rotate(225deg)}
.service-jurisdiction__detail summary:hover {text-decoration:underline}
.notare-site .service-jurisdiction__detail p {font-size:.875rem}
.notare-site .contact-fax {font-size:.875rem;color:var(--ink-soft);margin-top:8px}
.location__departments {margin-top:8px;color:var(--ink-soft)}
.notare-site .department-contacts[id] {scroll-margin-top:16px}
.location__parking {margin:0 0 20px}
.careers {margin-top:56px}
@media(max-width:760px) {.service-jurisdiction {padding:20px}.service-help summary {gap:12px}.service-help__body {padding-bottom:18px}}

/* Local, centered map previews. Hover/focus reveals the consent panel as one unit. */
.location {display:flex;flex-direction:column}
.location__body {flex:1}
.location-map {margin-top:auto;border-top:var(--rule-width) solid var(--line)}
.location-map__canvas {position:relative;display:grid;align-items:end;min-height:420px;height:clamp(420px,42vw,640px);isolation:isolate;background:var(--ice);overflow:hidden}
.location-map__preview {position:absolute;inset:0;isolation:isolate;background:var(--ice)}
.location-map__preview img {position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:block;width:max(100%,800px);max-width:none;height:100%;object-fit:cover;object-position:center;filter:saturate(.55)}
.location-map__preview::after {content:"";position:absolute;inset:0;background:var(--blue);mix-blend-mode:hue;pointer-events:none}
.location-map__activation {position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:14px;padding:72px 24px 28px;background:linear-gradient(to bottom,rgba(255,255,255,0),rgba(255,255,255,.84) 42%,rgba(255,255,255,.9) 100%);color:var(--blue);opacity:0;transform:translateY(12px);pointer-events:none;transition:opacity .25s ease,transform .25s ease}
.location-map.has-controls .location-map__canvas:hover .location-map__activation,.location-map.has-controls:focus-within .location-map__activation {opacity:1;transform:none;pointer-events:auto}
.notare-site .location-map__activation p {font-size:.875rem;line-height:1.6;color:var(--blue);margin:0;max-width:520px;text-align:center}
.location-map__activation a {color:var(--blue);text-decoration:underline;text-underline-offset:3px}
.notare-site .location-map__load {display:inline-flex;align-items:center;justify-content:center;gap:18px;padding:14px 22px;min-height:48px;border:var(--rule-width) solid var(--blue);background:var(--blue);color:#fff;font:inherit;font-size:.9375rem;font-weight:600;cursor:pointer;transition:background .2s ease,color .2s ease}
.notare-site .location-map__load:hover {background:var(--text-gold);border-color:var(--text-gold);color:#fff}
.location-map__load:focus-visible,.location-map__activation a:focus-visible {outline:2px solid var(--blue);outline-offset:4px}
.location-map__unload:focus-visible {outline:2px solid var(--blue);outline-offset:4px}
.location-map__caption {padding:16px 24px 20px}
.notare-site .location-map__caption p {font-size:.875rem;line-height:1.6;color:var(--ink-soft);margin:0}
.location-map__unload {font:inherit;font-size:.875rem;line-height:1.6;color:var(--blue);border:0;border-bottom:var(--rule-width) solid var(--gold);padding:0;background:transparent;margin-top:12px;cursor:pointer}
.location-map__unload:hover {color:var(--text-gold)}
.location-map iframe {position:absolute;inset:0;width:100%;height:100%;border:0;background:var(--ice)}
.location-map [hidden] {display:none!important}
@media (hover:none),(pointer:coarse),(max-width:760px) {.location-map.has-controls .location-map__activation {opacity:1;transform:none;pointer-events:auto}}
@media (max-width:480px) {.location-map__activation {padding:60px 20px 24px;gap:12px}.location-map__caption {padding:15px 20px}.notare-site .location-map__load {padding:12px 16px;gap:12px}}
@media (prefers-reduced-motion:reduce) {.location-map__activation,.location-map__load {transition:none;transform:none}}

.location-maps {margin:0 0 80px}
.locations:has(+ .location-maps) {padding-bottom:36px}
.location-maps__switch {display:flex;justify-content:center;gap:8px;padding-block:0 24px}
.notare-site .location-maps__switch button {min-height:48px;padding:12px 24px;border:var(--rule-width) solid var(--blue);background:#fff;color:var(--blue);font:inherit;font-size:1rem;cursor:pointer;transition:background .2s,color .2s}
.notare-site .location-maps__switch button[aria-pressed="true"] {background:var(--blue);color:#fff}
.notare-site .location-maps__switch button:hover {background:var(--ice);color:var(--blue)}
.location-maps__switch button:focus-visible {outline:2px solid var(--blue);outline-offset:4px}
.location-maps [hidden] {display:none!important}
.location-maps .location-map__caption {text-align:center}
@media(max-width:480px) {.location-maps {margin-bottom:56px}.notare-site .location-maps__switch button {padding:12px 16px;flex:1}.location-maps__switch {padding-bottom:20px}}

/* The original photo sits underneath a drawing with growing, irregular openings. */
.hero-reveal {position:relative;isolation:isolate}
.hero-reveal__drawing {position:relative;z-index:1}
.hero-reveal__photo,.hero-reveal__canvas {position:absolute;inset:0;width:100%;height:100%}
.hero__art-image .hero-reveal__photo img {width:100%;height:100%;object-fit:fill}
.hero-reveal__canvas {z-index:2;display:none;pointer-events:none}
.hero-reveal.is-ready .hero-reveal__drawing {opacity:0}
.hero-reveal.is-ready .hero-reveal__canvas {display:block}
.hero-reveal[role="button"] {cursor:pointer;touch-action:pan-y}
.notare-site .hero-reveal:focus-visible {outline:none;box-shadow:none}
.hero-reveal:focus-visible::after {content:"";position:absolute;inset:6px;z-index:3;border:3px solid var(--blue);outline:3px solid var(--white);outline-offset:0;pointer-events:none}

/* Both portrait layers share the same crop, without the former independent photo zoom. */
.portrait-reveal,.portrait-reveal .hero-reveal__drawing {width:100%;height:100%}
.portrait-reveal {background:white}
.person .portrait-reveal img {display:block;width:100%;height:100%;object-fit:cover;object-position:50% 28%;transition:none}
.person:hover .portrait-reveal img {transform:none}

.team-feature .portrait-reveal {background:var(--blue)}

/* Matching-page language links, inside both desktop and mobile navigation. */
.language-switch {display:flex;align-items:center;gap:4px;flex:0 0 auto;color:var(--ink-soft)}
.brand-nav .language-switch__link {display:inline-flex;align-items:center;justify-content:center;width:36px;min-height:44px;padding:10px 4px;font-size:.8125rem;white-space:nowrap}
.brand-nav .language-switch__link::after {display:none}
.brand-nav .language-switch__link[aria-current="true"] {color:var(--blue);font-weight:700}
.brand-nav .language-switch__link:hover {color:var(--text-gold)}
@media(max-width:1080px) {.language-switch {width:min(100%,320px);margin-top:12px;padding-top:10px;border-top:var(--rule-width) solid var(--line)}.brand-nav .language-switch__link {width:44px;font-size:1rem}}
@media(max-width:380px) {html[lang="en"] .hero__art figcaption {flex-direction:column}html[lang="en"] .hero__art figcaption span:last-child {max-width:none;text-align:left}}

/* Reserve the image layout while the first-visit drawing grows out of white. */
.hero-reveal.is-intro-pending {background:#fff}
.hero-reveal.is-intro-pending .hero-reveal__photo,
.hero-reveal.is-intro-pending .hero-reveal__drawing {visibility:hidden}
.hero-reveal.is-intro-pending .hero-reveal__canvas {visibility:visible}

/* A brief double ring: the number changes colour, only the receiver moves. */
.header-call {transition:color .18s ease}
.header-call:hover,.header-call:focus-visible {color:var(--text-gold)}
.header-call__icon {transform-origin:50% 55%}
@keyframes phone-ring {
  0%,100% {transform:rotate(0deg) scale(1)}
  15%,55% {transform:rotate(-16deg) scale(1.14)}
  35%,75% {transform:rotate(16deg) scale(1.14)}
  90% {transform:rotate(-7deg) scale(1.07)}
}
@media (hover:hover) and (prefers-reduced-motion:no-preference) {
  .header-call:hover .header-call__icon {animation:phone-ring .32s ease-in-out 2}
}
@media (prefers-reduced-motion:no-preference) {
  .header-call:focus-visible .header-call__icon {animation:phone-ring .32s ease-in-out 2}
}

/* A compact, always-visible credit outside the filtered and cropped map image. */
.notare-site .location-map__attribution {margin:0;padding:8px 24px;font-size:.75rem;line-height:1.5;text-align:right;color:var(--ink-soft);background:#fff}

/* Enquiries: clear labels, native controls and short paths from each service. */
.enquiry-band {background:var(--ice-light)}
.enquiry-band ~ .faq-band {margin-top:0}
.enquiry {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:72px;align-items:start}
.enquiry__intro h2 {font-size:clamp(1.9rem,3vw,2.6rem);line-height:1.2;margin:0 0 24px}
.enquiry__intro p {max-width:34ch;color:var(--ink-soft)}
.enquiry__form {min-width:0;position:relative}
.enquiry__fields {display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px 20px;margin-bottom:24px}
.enquiry__fields .form-group {grid-column:span 12;margin:0;min-width:0}
.enquiry__fields .form-group--span-6 {grid-column:span 6}
.enquiry__fields .form-group--span-3 {grid-column:span 3}
.enquiry__fields .form-group--span-4 {grid-column:span 4}
.enquiry__fields .form-group--span-8 {grid-column:span 8}
.enquiry__fields label {display:block;margin-bottom:8px;color:var(--blue);font-size:.9375rem;font-weight:600}
.notare-site .enquiry__fields input,.notare-site .enquiry__fields select,.notare-site .enquiry__fields textarea {display:block;width:100%;min-width:0;max-width:100%;min-height:48px;padding:12px 14px;border:var(--rule-width) solid #a8b5c9;border-radius:0;background:#fff;color:var(--blue);font:inherit;font-size:1rem;box-shadow:none;transition:border-color .18s ease}
.notare-site .enquiry__fields textarea {resize:vertical;min-height:150px;line-height:1.6}
.enquiry__fields :is(input,select,textarea):hover {border-color:var(--blue)}
.enquiry__fields :is(input,select,textarea):focus-visible {outline:2px solid var(--blue);outline-offset:3px}
.notare-site .enquiry__required,.notare-site .enquiry__privacy,.notare-site .enquiry__preview {font-size:.875rem;line-height:1.6;color:var(--ink-soft);margin:0 0 22px}
.notare-site .enquiry__preview {padding:12px 16px;background:var(--ice);color:var(--blue)}
.enquiry__privacy a {text-decoration:underline;text-underline-offset:3px}
.enquiry__form .button {font-family:inherit;cursor:pointer}
.enquiry__form .button:disabled {opacity:.55;cursor:wait}
.notare-site .enquiry__feedback {margin:20px 0 0;padding:16px 18px;background:var(--ice);color:var(--blue);font-size:1rem;line-height:1.6}
.notare-site .enquiry__feedback.is-error {background:#fcf0ec;color:#893f30}
.enquiry__feedback:focus-visible {outline:2px solid var(--blue);outline-offset:3px}
.enquiry__trap {position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.enquiry [hidden] {display:none!important}
@media(max-width:1080px) {.enquiry {gap:36px;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr)}}
@media(max-width:760px) {.enquiry {grid-template-columns:1fr;gap:24px}.enquiry__intro p {max-width:54ch}.enquiry__intro h2 {margin-bottom:16px}}
@media(max-width:480px) {.enquiry__fields .form-group {grid-column:span 12}.enquiry__form .button {width:100%}.notare-site .location-map__attribution {padding-inline:20px}}

.location-map__status a {color:var(--blue);text-decoration:underline;text-underline-offset:3px}
.location-map__status a:hover {color:var(--text-gold)}

/* Matched controls and a quiet, native file picker. */
.notare-site .enquiry__fields input:not([type="file"]),.notare-site .enquiry__fields select {height:52px;box-sizing:border-box;line-height:1.4}
.notare-site .enquiry__fields select {appearance:none;-webkit-appearance:none;padding-right:48px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231D3460' stroke-width='1.5' stroke-linecap='square'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-size:20px 20px;background-position:right 16px center}
.notare-site .enquiry__file-help {font-size:.875rem;color:var(--ink-soft);line-height:1.6;margin:0 0 14px;max-width:65ch}
.enquiry__file-picker {position:relative;display:inline-flex;max-width:100%}
.notare-site .enquiry__file-picker input[type="file"] {position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%;padding:0;z-index:1}
.enquiry__file-picker > span {display:inline-flex;gap:12px;align-items:center;min-height:48px;padding:10px 16px;border:var(--rule-width) solid var(--blue);color:var(--blue);font-size:.9375rem}
.enquiry__file-picker svg {width:20px;height:20px;flex-shrink:0}
.enquiry__file-picker:hover > span {background:var(--ice)}
.enquiry__file-picker:focus-within {outline:2px solid var(--blue);outline-offset:3px}
.enquiry__file-picker:has(input:disabled) {opacity:.55}
.notare-site .enquiry__file-list {list-style:none;margin:16px 0 0;padding:0}
.enquiry__file-list li {display:flex;align-items:center;gap:16px;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--line);font-size:.875rem}
.enquiry__file-list li span {overflow-wrap:anywhere;min-width:0}
.enquiry__file-list button {flex-shrink:0;background:none;border:0;color:var(--blue);text-decoration:underline;text-underline-offset:3px;font:inherit;padding:10px 0 10px 10px;cursor:pointer}
.enquiry__file-list button:hover {color:var(--text-gold)}
.enquiry__file-list button:focus-visible {outline:2px solid var(--blue);outline-offset:3px}
.notare-site .enquiry__file-error {font-size:.875rem;color:#893f30;line-height:1.6;margin:12px 0 0}
.enquiry__form .button {overflow:visible;min-width:220px}
.enquiry__form .button .enquiry__plane {width:24px;height:24px;flex-shrink:0;transform:none;transition:none}

/* The gold plane leaves the button and docks in the response bar. */
.enquiry__plane {color:var(--gold)}
.notare-site .enquiry__feedback {position:relative;min-height:64px;padding-right:66px}
.enquiry__plane--landed {position:absolute;right:20px;top:50%;width:24px;height:24px;transform:translateY(-50%) rotate(150deg);pointer-events:none}
.enquiry__feedback.is-arriving [data-enquiry-feedback-text],.enquiry__feedback.is-arriving .enquiry__plane--landed {visibility:hidden}
.enquiry__feedback.is-error .enquiry__plane--landed {display:none}
.enquiry__plane--flight {position:absolute;width:24px;height:24px;z-index:5;pointer-events:none;transform-origin:center}

.enquiry__form .button.is-complete:disabled {opacity:.4;cursor:default}

.enquiry__reset {display:block;width:fit-content;margin-top:18px;padding:8px 0;background:none;border:0;color:var(--ink-soft);font:inherit;font-size:.8125rem;line-height:1.5;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.enquiry__reset:hover {color:var(--blue)}
.enquiry__reset:focus-visible {outline:2px solid var(--blue);outline-offset:3px}
.enquiry__reset:disabled {opacity:.45;cursor:wait}

/* Added by JS only while content is below the viewport. Opacity and translate
   preserve layout; the animation starts from this same state without a flash. */
.notare-site .content-reveal-pending {opacity:0;translate:0 8px}
.notare-site .legal-copy > .content-reveal-pending {translate:0 4px}
@media (prefers-reduced-motion:reduce) {
  .notare-site .content-reveal-pending {opacity:1;translate:none}
}
@media print {
  .notare-site .content-reveal-pending {opacity:1;translate:none}
}


/* The bubble grows from the pointer; its positioning box stays still. */
.service-enquiry {position:relative;display:inline-block;max-width:100%}
.service-enquiry__tooltip {position:absolute;z-index:10;left:var(--tooltip-shift,0px);bottom:calc(100% + 16px);width:300px;max-width:calc(100vw - 40px);color:#fff;font-size:.8125rem;line-height:1.5;box-sizing:border-box;opacity:0;visibility:hidden;transition:opacity .12s ease,visibility .12s;pointer-events:none}
.service-enquiry__tooltip::after {content:"";position:absolute;left:min(0px,calc(-1 * var(--tooltip-shift,0px)));right:0;top:100%;height:18px}
.service-enquiry__tooltip-surface {position:relative;display:block;padding:13px 16px;background:var(--blue);border-top:1px solid var(--gold);transform-origin:var(--tooltip-tip,44px) calc(100% + 8px)}
.service-enquiry__tooltip-surface::after {content:"";position:absolute;top:100%;left:var(--tooltip-tip,44px);width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent;border-top:8px solid var(--blue);transform:translateX(-50%);pointer-events:none}
.service-enquiry__tooltip-title {display:block;font-weight:600;margin-bottom:3px;font-size:.875rem}
.service-enquiry.is-tooltip-open {z-index:12}
.service-enquiry.is-tooltip-open .service-enquiry__tooltip {opacity:1;visibility:visible;pointer-events:auto}
.service-enquiry.is-tooltip-below .service-enquiry__tooltip {bottom:auto;top:calc(100% + 16px)}
.service-enquiry.is-tooltip-below .service-enquiry__tooltip::after {top:auto;bottom:100%}
.service-enquiry.is-tooltip-below .service-enquiry__tooltip-surface {transform-origin:var(--tooltip-tip,44px) -8px}
.service-enquiry.is-tooltip-below .service-enquiry__tooltip-surface::after {top:auto;bottom:100%;border-top:0;border-bottom:8px solid var(--blue)}
@keyframes enquiry-bubble-enter {
 0% {opacity:0;transform:scale(.72,.6)}
 68% {opacity:1;transform:scale(1.018,1.018)}
 100% {opacity:1;transform:scale(1)}
}
@media(prefers-reduced-motion:no-preference) {
 .service-enquiry.is-tooltip-open .service-enquiry__tooltip-surface {animation:enquiry-bubble-enter 280ms cubic-bezier(.16,1,.3,1) both}
}
@media(prefers-reduced-motion:reduce) {.service-enquiry__tooltip {transition:none}}
@media(forced-colors:active) {
 .service-enquiry__tooltip-surface {border:1px solid CanvasText}
 .service-enquiry__tooltip-surface::after {border-top-color:CanvasText}
 .service-enquiry.is-tooltip-below .service-enquiry__tooltip-surface::after {border-bottom-color:CanvasText}
}
@media print {.service-enquiry__tooltip {display:none}}



/* Initial hero sequence is enabled before its markup, never after first paint. */
@keyframes hero-content-enter {
  from {opacity:0;translate:0 8px}
  to {opacity:1;translate:0 0}
}
@media(prefers-reduced-motion:no-preference) {
  .hero-entrance :is(.page-intro > *, .hero__copy > p, .hero__copy > h1, .hero__actions > a, .hero__art figcaption) {
    animation:hero-content-enter 420ms cubic-bezier(.16,1,.3,1) var(--hero-step,0ms) backwards;
  }
  .hero-entrance :is(.page-intro,.hero__copy) > :nth-child(2) {--hero-step:45ms}
  .hero-entrance :is(.page-intro,.hero__copy) > :nth-child(3) {--hero-step:90ms}
  .hero-entrance .hero__actions > :nth-child(1) {--hero-step:135ms}
  .hero-entrance .hero__actions > :nth-child(2) {--hero-step:180ms}
  .hero-entrance .hero__art figcaption {--hero-step:225ms}
  .hero-entrance :is(.page-intro > *, .hero__copy > p, .hero__copy > h1, .hero__actions > a, .hero__art figcaption):focus-within {animation:none}
}
@media print {
  .hero-entrance :is(.page-intro > *, .hero__copy > p, .hero__copy > h1, .hero__actions > a, .hero__art figcaption) {animation:none}
}

/* Whole compact notary cards link to their biography; the portrait remains hoverable. */
.person__profile {display:block;color:inherit;text-decoration:none;height:100%}
.person__profile:focus-visible {outline:3px solid var(--blue);outline-offset:3px}
.person__profile h3 {text-decoration-line:underline;text-decoration-color:transparent;text-decoration-thickness:var(--rule-width);text-underline-offset:-1px;transition:text-decoration-color .22s ease,text-underline-offset .22s ease}
.person__profile:hover h3,.person__profile:focus-visible h3 {text-decoration-color:var(--gold);text-underline-offset:4px}

/* Follow the user's contrast preference while retaining the ordinary palette. */
@media (prefers-contrast:more) {
 :root,[data-theme="dark"] {--gold:#765D2C;--text-gold:#765D2C;--ink-soft:var(--blue);--line:var(--blue)}
 .team-feature,.contact-cta,.contact-options,.service-card--blue {--gold:#E3CA91}
 .team-feature .section-heading>div>p:not(.eyebrow) {color:var(--white)}
 .notare-site .enquiry__fields input,.notare-site .enquiry__fields select,.notare-site .enquiry__fields textarea {border-color:var(--blue)}
 .notare-site ::selection {background:var(--blue);color:var(--white)}
}

/* Keep system color choices and visible focus in Windows contrast themes. */
@media (forced-colors:active) {
 .notare-site :focus-visible {outline:3px solid Highlight;box-shadow:none}
 .notare-site .hero-reveal:focus-visible {outline:none}
 .hero-reveal:focus-visible::after {border-color:Canvas;outline-color:Highlight}
 .enquiry__file-picker:focus-within {outline-color:Highlight}
 .notare-site .enquiry__fields select {appearance:auto;-webkit-appearance:auto;background-image:none;padding-right:14px}
}

/* Normalized staff portraits share the existing drawing/photo interaction. */
.staff-person__image { width:100%; aspect-ratio:3/4; overflow:hidden; background:#fff; }
.staff-person__image > img { display:block; width:100%; height:100%; }
.staff-person__image .portrait-reveal img { display:block; width:100%; height:100%; object-fit:cover; object-position:center; transition:none; }
/* The editor's image wrapper must fill the frame just like the visitor image. */
.person__image .editable-image-wrapper { display:block!important; width:100%; height:100%; }

/* Team editing uses Nibbly's standard card and nested list controls. */
body.edit-mode-active .person > .editable-group-overlay,
body.edit-mode-active .staff-person > .editable-group-overlay { top:8px; right:8px; bottom:auto; left:auto; }
/* Leave room for all four employee controls on narrow editing screens. */
@media(max-width:760px) {
 body.edit-mode-active .staff-grid { grid-template-columns:repeat(auto-fill,minmax(min(100%,155px),1fr)); }
}
body.edit-mode-active .person__bio .disclosure-content { overflow:visible; }
body.edit-mode-active .person__bio dl > [data-list-index] { margin-top:30px; }
body.edit-mode-active .person__bio [data-list-index] > .editable-list-overlay { top:-26px; right:0; bottom:auto; }

.staff-person__image.person__image--framed { overflow:visible; background:transparent; }
.staff-person__image.person__image--framed::before { content:""; position:absolute; inset:0; background:white; clip-path:polygon(0 0,91% 0,100% 8%,100% 100%,0 100%); }

/* Visual Builder: site colours and square text-entry fields. */
.notare-site dialog.editor-mode-hint {background:var(--white);color:var(--blue);border-color:var(--line);font-family:inherit}
.notare-site dialog.editor-mode-hint h2 {color:var(--blue)}
.notare-site dialog.editor-mode-hint::backdrop {background:rgba(29,52,96,.55)}
.notare-site dialog.editor-mode-hint .editor-btn-secondary {background:var(--white);color:var(--blue);border-color:var(--line)}
.notare-site dialog.editor-mode-hint .editor-btn-secondary:hover {background:var(--ice);border-color:var(--blue)}
.notare-site .nibbly-editor-confirm { background:rgba(29,52,96,.55); }
.notare-site .nibbly-editor-confirm__dialog { background:var(--white); color:var(--blue); }
.notare-site .nibbly-editor-confirm__dialog p { color:var(--ink-soft); }
.notare-site .nibbly-editor-confirm__btn--primary { background:var(--blue); border-color:var(--blue); color:var(--white); }
.notare-site .nibbly-editor-confirm__btn--primary:hover { background:var(--gold); border-color:var(--gold); color:var(--blue); }
.notare-site .nibbly-editor-confirm__btn--secondary { background:var(--white); border-color:var(--line); color:var(--blue); }
.notare-site .nibbly-editor-confirm__btn--secondary:hover { background:var(--ice); border-color:var(--blue); }
.notare-site .editable-field-active,
.notare-site .editable-field-editing,
.notare-site :is(.editor-modal,.nb-imgmgr-modal,.nbp-dialog,.nibbly-conflict) :is(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),textarea,select,.nb-select__button),
.notare-site .editor-modal [contenteditable="true"] { border-radius:0!important; }
.notare-site .nibbly-conflict { background:var(--white); color:var(--blue); border-color:var(--line); }
.notare-site .nibbly-conflict textarea { background:var(--ice); border-color:var(--line); }
.notare-site .nibbly-conflict button { background:var(--white); color:var(--blue); border-color:var(--line); }
.notare-site .nibbly-conflict button:hover { background:var(--ice); border-color:var(--blue); }

/* Keep the fixed site header below the measured dashboard bar. */
body.notare-site.has-admin-bar .brand-header { top:var(--nibbly-admin-bar-height,40px); }
body.notare-site.has-admin-bar [id] { scroll-margin-top:calc(145px + var(--nibbly-admin-bar-height,40px)); }

/* Logged-in editors compare the same two layers with a simple crossfade. */
.has-admin-bar .hero-reveal .hero-reveal__drawing { transition:opacity .3s ease; }
.has-admin-bar :is(.person,.staff-person):is(:hover,:focus-within) .portrait-reveal .hero-reveal__drawing { opacity:0; }
.has-admin-bar .hero__art-image:is(:hover,:focus-within) .hero-reveal__drawing { opacity:0; }
@media(prefers-reduced-motion:reduce) { .has-admin-bar .hero-reveal .hero-reveal__drawing { transition:none; } }

/* Error pages share the site's typography, spacing and solid brand colors. */
.notare-site .site-error .error-page { min-height:65vh; padding-block:clamp(64px,8vw,112px); gap:24px; }
.notare-site .site-error .error-page__code { color:var(--text-gold); font-weight:600; margin:0; }
.notare-site .site-error .error-page__title { color:var(--blue); font-size:clamp(2rem,4vw,3.25rem); line-height:1.2; letter-spacing:-.035em; }
.notare-site .site-error .error-page__message { color:var(--ink-soft); max-width:32rem; }
.notare-site .site-error .button { margin-top:8px; }
