:root{--forest:#003229;--action:#009c55;--white:#fff;--soft:#f3f6f4;--ink:#102d27;--muted:#52675f;--line:#ccd7d1;--light-line:#ffffff42;--gutter:clamp(1.25rem,5vw,5.5rem);--body:"Segoe UI",Tahoma,Arial,sans-serif;--display:Georgia,"Times New Roman",serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:1.5rem}body{margin:0;min-width:0;background:var(--white);color:var(--ink);font:1rem/1.75 var(--body)}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{color:inherit}button,a,select,input{touch-action:manipulation}button{cursor:pointer}img{display:block;max-width:100%}p,h1,h2,h3,figure,dl,dd{margin:0}h1,h2,h3{line-height:1.25;text-wrap:balance}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--action);outline-offset:5px}p{overflow-wrap:break-word}.skip-link{position:fixed;z-index:20;top:1rem;inset-inline-start:1rem;transform:translateY(-180%);background:var(--white);color:var(--forest);padding:.8rem 1rem}.skip-link:focus{transform:none}.concept-bar{padding:.45rem var(--gutter);background:var(--soft);display:flex;align-items:center;justify-content:space-between;gap:1rem;font-size:.73rem;border-bottom:1px solid var(--line)}.concept-bar a{text-decoration:underline;text-underline-offset:.25em}.site-header{padding:1.2rem var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:2rem;min-height:106px;background:var(--white)}.brand{display:flex;align-items:center;gap:.85rem;min-width:0}.brand-symbol{width:40px;height:50px;display:grid;place-items:center;flex-shrink:0}.brand-symbol img{width:auto;height:46px;object-fit:contain}.brand small,.brand strong{display:block;line-height:1.4}.brand small{font-size:.68rem;color:var(--muted)}.brand strong{font-size:1.05rem;font-weight:650}.site-header nav{display:flex;gap:2rem;font-size:.87rem}.site-header nav a{padding:.6rem 0;border-bottom:1px solid transparent}.site-header nav a:hover{border-color:var(--forest)}.header-actions{display:flex;align-items:center;gap:1.4rem;flex-shrink:0}.language-button{background:transparent;border:0;padding:.6rem 0;font-size:.8rem;min-height:44px}.language-button span{margin-inline-start:.5rem}.header-request{border-bottom:1px solid var(--forest);font-size:.85rem;padding:.5rem 0}
.hero{background:var(--forest);color:var(--white);display:grid;grid-template-columns:1.1fr 1fr;min-height:670px}.hero-copy{padding:clamp(3rem,6vw,6rem) var(--gutter) 3.5rem;padding-inline-end:clamp(2rem,5vw,5rem);align-self:start;min-width:0}.eyebrow{display:flex;align-items:center;gap:.9rem;font-size:.8rem;color:#d9e5de}.line-mark{width:2rem;height:1px;background:currentColor}.hero h1{margin-block:2rem 1.7rem}.hero-role{display:block;font-size:clamp(1.35rem,2vw,1.9rem);font-weight:400}.hero-name{display:block;font-family:var(--display);font-size:clamp(3.4rem,6.2vw,6.5rem);font-weight:400;line-height:1.12;letter-spacing:-.04em;margin-block-start:1rem}.hero-lead{font-size:clamp(1rem,1.3vw,1.16rem);max-width:36rem;color:#e0ebe5;line-height:1.95}.hero-actions{display:flex;align-items:center;gap:1.9rem;flex-wrap:wrap;margin-block-start:2.3rem}.button{display:inline-flex;align-items:center;justify-content:space-between;min-height:54px;gap:1.8rem;font-weight:600;font-size:.88rem;padding-inline-start:1.25rem;border:1px solid transparent}.button-light{background:var(--white);color:var(--forest)}.action-arrow{display:grid;place-items:center;align-self:stretch;min-width:54px;font-family:Arial,sans-serif;font-size:1.6rem;font-weight:400;background:var(--action);color:var(--forest);transition:background .18s}.button:hover .action-arrow{background:#59c88d}.text-link{display:inline-flex;gap:1rem;font-size:.86rem;border-bottom:1px solid var(--light-line);padding:.75rem 0}.appointment-note{font-size:.76rem;margin-block-start:1.3rem;color:#c0d5c9}.hero-portrait{position:relative;min-width:0;min-height:670px;padding:1.25rem;padding-inline-start:0;display:flex;flex-direction:column}.hero-portrait figcaption{display:flex;justify-content:space-between;gap:1rem;font-size:.65rem;color:#c5d7cc;padding-block:1rem .1rem}.intro-strip{display:flex;justify-content:space-between;align-items:center;gap:2rem;padding:1.5rem var(--gutter);border-bottom:1px solid var(--line)}.intro-strip p{font-size:1.08rem;font-weight:500}.intro-strip>span{font-size:.75rem;color:var(--muted)}
.section{padding:5.5rem var(--gutter)}.section-heading{display:grid;grid-template-columns:1fr 2.4fr;gap:2.5rem;align-items:start;margin-bottom:3rem}.section-index{font-size:.72rem;letter-spacing:.03em;color:var(--muted)}.section-heading h2,.request-intro h2{font-size:clamp(2rem,3.3vw,3.35rem);font-weight:400;font-family:var(--display)}.section-heading>div>p{font-size:.95rem;color:var(--muted);margin-top:1rem}.service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:3.5rem}.service{border-top:1px solid var(--line);padding:1.45rem 0 1.5rem;transition:border-color .18s}.service h3{font-size:clamp(1.05rem,1.4vw,1.3rem);font-weight:500}.service h3 button{display:flex;align-items:center;width:100%;gap:1rem;text-align:start;border:0;background:transparent;padding:.25rem 0 .6rem;min-height:52px}.service-number{color:var(--muted);font: .75rem Arial,sans-serif;min-width:1.4rem}.service-arrow{margin-inline-start:auto;display:grid;place-items:center;width:35px;min-width:35px;height:35px;border:1px solid var(--line);font:1.2rem Arial,sans-serif}.service p{font-size:.85rem;color:var(--muted);margin-inline-start:2.4rem;max-width:35rem;line-height:1.85}.service>a{display:inline-block;font-size:.72rem;border-bottom:1px solid var(--line);margin-block-start:1rem;margin-inline-start:2.4rem;padding-block:.2rem;min-height:32px}.service:hover,.service.is-selected{border-top-color:var(--forest)}.service h3 button:hover .service-arrow,.service.is-selected .service-arrow{background:var(--forest);color:var(--white);border-color:var(--forest)}
.appointment{background:var(--soft);display:grid;grid-template-columns:1fr 1.35fr;gap:clamp(2.5rem,7vw,7rem);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.request-intro .section-index{margin-bottom:1.8rem}.request-intro>p:not(.section-index){font-size:1rem;color:var(--muted);margin-top:1.5rem;max-width:28rem}.request-principle{display:flex;align-items:flex-start;gap:1rem;border-top:1px solid var(--line);padding-top:1.5rem;margin-top:2rem;max-width:27rem;font-size:.84rem}.request-principle>span{font:1.8rem/1 Arial,sans-serif}.request-panel{background:var(--white);border:1px solid var(--line);padding:clamp(1.25rem,3vw,2.75rem)}.request-step{padding:0;border:0;margin:0 0 1.7rem;min-width:0}.request-step label,.request-step legend{display:flex;gap:.8rem;align-items:center;font-size:.9rem}.step-number{border:1px solid var(--forest);width:26px;height:26px;display:inline-grid;place-items:center;flex-shrink:0;font: .75rem Arial,sans-serif}.request-step>select{margin-top:1rem;width:100%;border:1px solid #8da59a;background:var(--white);color:var(--forest);min-height:54px;border-radius:0;padding:.65rem 1rem;font-size:.9rem}.channel-options{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:1rem}.channel-options label{flex:1;min-width:100px;border:1px solid var(--line);padding:.75rem;cursor:pointer;font-size:.8rem;justify-content:center;gap:.5rem;min-height:48px}.channel-options label:has(input:checked){border-color:var(--forest);background:var(--soft)}.channel-options input{accent-color:var(--forest);width:16px;height:16px;flex-shrink:0;margin:0}.request-review{border-top:1px solid var(--line);padding-top:1.4rem;margin-top:.6rem}.review-label{font-size:.7rem;color:var(--muted)}#request-summary{font-size:1rem;font-weight:600;margin-block:.5rem}#channel-note{font-size:.8rem;color:var(--muted);line-height:1.8}.button-dark{background:var(--forest);color:var(--white)}.continue-link{display:flex;width:100%;margin-top:1.5rem}.privacy-note{font-size:.69rem;color:var(--muted);margin-top:.85rem}.office-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;margin-inline-start:calc((100% - 2.5rem)/3.4 + 2.5rem)}.mini-label{font-size:.76rem;color:var(--muted);margin-bottom:1.1rem}.address-link{display:flex;align-items:start;justify-content:space-between;gap:2rem;font-size:clamp(1.2rem,2vw,1.65rem);line-height:1.6}.address-link>span:first-child{white-space:pre-line}.phone-link{display:block;direction:ltr;text-align:start;font:1.25rem/1.5 var(--body);margin-top:2rem}.email-link{display:block;font-size:.77rem;margin-top:.8rem;overflow-wrap:anywhere}.office-hours dl>div{display:flex;justify-content:space-between;gap:1.5rem;padding:.7rem 0;border-bottom:1px solid var(--line);font-size:.82rem}.office-hours dd{white-space:nowrap;font-family:Arial,sans-serif}.hours-note{font-size:.78rem;margin-top:1rem;color:var(--muted)}.site-footer{background:var(--forest);color:var(--white);padding:2.5rem var(--gutter);display:flex;align-items:end;justify-content:space-between;gap:2rem}.footer-name{font-family:var(--display);font-size:2rem}.site-footer p{font-size:.7rem;color:#c5d7cc;margin-top:.7rem}.footer-links{display:flex;gap:1.5rem;flex-wrap:wrap;font-size:.7rem}.footer-links a{padding:.5rem 0;border-bottom:1px solid var(--light-line)}
html[lang="ar"] .hero-name,html[lang="ar"] .section-heading h2,html[lang="ar"] .request-intro h2,html[lang="ar"] .footer-name{font-family:"Times New Roman",serif;letter-spacing:0}html[lang="ar"] .hero-name{font-size:clamp(3.8rem,6.8vw,7.3rem);line-height:1.2}html[lang="ar"] .section-heading h2,html[lang="ar"] .request-intro h2{font-size:clamp(2.3rem,3.6vw,3.8rem)}html[lang="fr"] .hero-name{font-size:clamp(3.5rem,6vw,6.3rem)}html[lang="fr"] .brand strong{font-size:.94rem}html[lang="fr"] .service h3{font-size:1.1rem}
@media(min-width:1500px){.hero{min-height:760px}.hero-portrait{min-height:760px}.hero-copy{max-width:850px}.section{padding-block:7rem}}
@media(max-width:1050px){.site-header{gap:1rem}.site-header nav{gap:1rem}.header-actions{gap:1rem}.hero{grid-template-columns:1.1fr 1fr;min-height:610px}.hero-portrait{min-height:610px}.hero-copy{padding-inline:var(--gutter);padding-block:3rem}.hero-actions{gap:1rem}.text-link{font-size:.78rem}.office-grid{margin-inline-start:0}.service-grid{column-gap:2rem}.hero-name,html[lang="ar"] .hero-name,html[lang="fr"] .hero-name{font-size:clamp(3.8rem,6.4vw,5.5rem)}}
@media(max-width:760px){.concept-bar{font-size:.66rem}.concept-bar>span:last-child{display:none}.site-header{padding-block:.85rem;min-height:90px;flex-wrap:wrap;gap:.6rem 1rem}.brand strong{font-size:1rem}.site-header nav{order:3;width:100%;justify-content:space-between;font-size:.8rem;border-top:1px solid var(--line);padding-top:.35rem}.header-request{font-size:.74rem}.header-actions{gap:1rem}.hero{grid-template-columns:1fr}.hero-copy{padding-block:2.7rem 2.4rem}.hero h1{margin-block:1.6rem}.hero-name,html[lang="ar"] .hero-name,html[lang="fr"] .hero-name{font-size:clamp(3.7rem,12vw,5.9rem);max-width:100%}.hero-role{font-size:1.3rem}.hero-lead{max-width:32rem;font-size:1rem}.hero-portrait{padding:0 var(--gutter) 1rem;min-height:0}.hero-portrait figcaption{font-size:.62rem}.hero-actions{gap:1rem 1.5rem}.intro-strip{align-items:start;flex-direction:column;gap:.6rem;padding-block:1.4rem}.intro-strip p{font-size:1rem}.intro-strip>span{font-size:.68rem}.section{padding-block:3.6rem}.section-heading{grid-template-columns:1fr;gap:1rem;margin-bottom:2rem}.section-heading>div>p{font-size:.88rem}.service-grid{grid-template-columns:1fr}.service{padding-block:1.05rem 1.15rem}.service h3{font-size:1.1rem}.service p{font-size:.83rem}.appointment{grid-template-columns:1fr;gap:2rem}.request-intro .section-index{margin-bottom:1.1rem}.request-intro>p:not(.section-index){font-size:.92rem;margin-top:1rem}.request-principle{margin-top:1.3rem;padding-top:1rem}.office-grid{grid-template-columns:1fr;gap:2.5rem}.office-hours dl>div{font-size:.86rem}.site-footer{flex-direction:column;align-items:start;padding-block:2rem}.footer-links{gap:1.2rem}.footer-name{font-size:1.8rem}}
@media(max-width:380px){.brand-symbol{width:30px}.brand-symbol img{height:39px}.brand{gap:.55rem}.brand strong,html[lang="fr"] .brand strong{font-size:.8rem}.brand small{font-size:.6rem}.header-actions{gap:.7rem}.language-button{font-size:.74rem}.hero-name,html[lang="ar"] .hero-name,html[lang="fr"] .hero-name{font-size:3.2rem}.hero-actions{align-items:start;flex-direction:column}.button{min-height:51px}.action-arrow{min-width:51px}.channel-options{gap:.4rem}.channel-options label{min-width:0;flex:1 1 100%;justify-content:start;padding-inline:1rem}.request-panel{padding:1.1rem}.service h3 button{gap:.7rem}.service p,.service>a{margin-inline-start:2.1rem}.service-arrow{width:30px;min-width:30px;height:30px}.concept-bar{gap:.5rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
@media(forced-colors:active){.button,.service-arrow,.request-panel,.channel-options label,.brand-symbol{border:1px solid CanvasText}.action-arrow{forced-color-adjust:auto}}

.hero-copy,.request-intro,.request-panel,.office-contact,.office-hours,.section-heading>div,.site-footer>div{min-width:0;max-width:100%}select{min-width:0;max-width:100%}legend{max-width:100%}.email-link{overflow-wrap:anywhere;word-break:break-word}

/* Selected A: the original portrait sits on real CSS 3D planes. */
:root{--portrait-duration:120ms;--portrait-ease:cubic-bezier(0,0,.2,1)}
.hero h1{margin-block:2rem 1rem}.hero-name{margin-block-start:0}.hero-strapline{font-size:clamp(1.18rem,1.7vw,1.55rem);line-height:1.65;margin-block:0 1.35rem;max-width:32rem;color:#fff;font-weight:400}
.hero-portrait{padding:2rem 2rem 1.5rem;padding-inline-start:1rem}
.portrait-stage{--portrait-base-y:-3deg;--portrait-tilt-x:0deg;--portrait-tilt-y:0deg;--portrait-lift:0px;display:block;position:relative;perspective:1400px;perspective-origin:50% 45%;min-width:0;min-height:0;width:100%;max-width:100%;aspect-ratio:900/1122;flex:1;line-height:0}
html[dir="rtl"] .portrait-stage{--portrait-base-y:3deg}
.portrait-frame{display:block;position:relative;width:100%;height:100%;transform-style:preserve-3d;transform-origin:center center;transform:rotateX(calc(.4deg + var(--portrait-tilt-x))) rotateY(calc(var(--portrait-base-y) + var(--portrait-tilt-y))) translateZ(var(--portrait-lift))}
.portrait-frame::before{content:"";position:absolute;inset:0;background:#00271f;border:1px solid #ffffff55;transform:translate3d(12px,14px,-24px);box-shadow:12px 20px 32px -14px #0009;pointer-events:none}
.portrait-frame::after{content:"";position:absolute;inset:-1px;border:1px solid #ecf3ef;transform:translateZ(19px);pointer-events:none}
.portrait-frame>img{display:block;width:100%;height:100%;max-height:none;aspect-ratio:900/1122;object-fit:cover;object-position:center 28%;border:5px solid #dce8e1;transform:translateZ(18px);backface-visibility:hidden;box-shadow:0 2px 5px #0004}
.hero-portrait figcaption{position:relative;flex-wrap:wrap;align-items:center;gap:.25rem 1rem;padding-block:1.35rem 0}
.motion-toggle{border:1px solid #ffffff66;background:transparent;color:#dce8e1;font-size:.65rem;line-height:1.4;padding:.45rem .7rem;min-height:44px;margin-inline-start:auto}.motion-toggle[aria-pressed="true"]{background:#fff;color:var(--forest)}.motion-toggle[hidden]{display:none}
.portrait-stage[data-motion="enabled"] .portrait-frame{transition:transform var(--portrait-duration) var(--portrait-ease)}
.portrait-stage[data-tilt="n"],.portrait-stage[data-tilt="nw"],.portrait-stage[data-tilt="ne"]{--portrait-tilt-x:2deg;--portrait-lift:3px}
.portrait-stage[data-tilt="s"],.portrait-stage[data-tilt="sw"],.portrait-stage[data-tilt="se"]{--portrait-tilt-x:-2deg;--portrait-lift:3px}
.portrait-stage[data-tilt="w"],.portrait-stage[data-tilt="nw"],.portrait-stage[data-tilt="sw"]{--portrait-tilt-y:-2deg;--portrait-lift:3px}
.portrait-stage[data-tilt="e"],.portrait-stage[data-tilt="ne"],.portrait-stage[data-tilt="se"]{--portrait-tilt-y:2deg;--portrait-lift:3px}
.portrait-stage[data-tilt="c"]{--portrait-lift:2px}.portrait-stage[data-tilt="focus"]{--portrait-tilt-x:1deg;--portrait-tilt-y:-1deg;--portrait-lift:4px}
.portrait-stage[data-motion="static"]{--portrait-tilt-x:0deg;--portrait-tilt-y:0deg;--portrait-lift:0px}
@media(max-width:760px){.hero-portrait{min-height:0;padding:1.5rem 1.5rem 1.25rem}.portrait-stage{flex:none;aspect-ratio:900/1122}.portrait-frame>img{object-position:center 22%}.hero-strapline{font-size:1.2rem;line-height:1.65}.hero h1{margin-block:1.6rem 1rem}}
@media(prefers-reduced-motion:reduce),(hover:none),(pointer:coarse){.portrait-stage{--portrait-tilt-x:0deg!important;--portrait-tilt-y:0deg!important;--portrait-lift:0px!important}.portrait-frame{transition:none!important}}
@supports not (transform-style:preserve-3d){.portrait-frame{transform:none;box-shadow:12px 14px 0 #00271f,13px 15px 0 #ffffff55}.portrait-frame::before,.portrait-frame::after{display:none}.portrait-frame>img{transform:none}}

/* Static production routes and retained FAQ content. */
html.no-js .request-panel{display:none}
.anchor-alias{display:block;height:0;scroll-margin-top:30px}
.a3d-faq{background:#f5f7f5;border-block:1px solid #d9dfdb}
.a3d-faq .shell{max-width:1320px;margin-inline:auto}
.a3d-faq .section-head{display:grid;grid-template-columns:1fr 2fr;gap:48px;align-items:start}
.a3d-faq h2{font-size:clamp(28px,3.5vw,45px);line-height:1.4;margin-block:14px 22px}
.a3d-faq .section-label{font-size:13px;color:#4f655a}
.a3d-faq .faq{margin-top:32px}
.a3d-faq details{border-bottom:1px solid #cbd5ce;padding:20px 0}
.a3d-faq summary{cursor:pointer;font-size:18px;font-weight:600;line-height:1.8;display:list-item;padding-inline-end:20px}
.a3d-faq summary:focus-visible{outline:3px solid #006a43;outline-offset:6px}
.a3d-faq .answer{max-width:900px;font-size:16px;line-height:2;color:#40534a;padding-block:10px}
.a3d-faq .disclaimer-note{font-size:14px;line-height:1.9;color:#40534a}
.nojs-contact{line-height:2}
.language-button{text-decoration:none;display:inline-flex;align-items:center;justify-content:center;min-height:44px}
.a3d-footer{background:#003229;color:white;padding-block:52px 24px;border-top:1px solid #ffffff30}
.a3d-footer .a3d-shell{width:min(1320px,calc(100% - 80px));margin-inline:auto}
.a3d-footer-grid{display:grid;grid-template-columns:1.1fr .7fr 1fr;gap:48px}
.a3d-footer-grid>*{min-width:0}
.a3d-footer-identity strong{font-size:25px;font-weight:500;line-height:1.6}
.a3d-footer-identity p,.a3d-footer-contact p{color:#d5e3dc;font-size:14px;line-height:1.9;margin-top:12px}
.a3d-footer-nav,.a3d-footer-contact{display:flex;flex-direction:column;align-items:start;gap:5px}
.a3d-footer a{font-size:14px;min-height:40px;display:inline-flex;align-items:center;text-underline-offset:5px;overflow-wrap:anywhere;max-width:100%}
.a3d-footer-bottom{font-size:12px;color:#d5e3dc;line-height:1.9;margin-top:34px;padding-top:22px;border-top:1px solid #ffffff30}
.a3d-footer :focus-visible{outline:3px solid #9ae1b8;outline-offset:5px}
@media(max-width:700px){.a3d-faq .section-head{display:block}.a3d-faq summary{font-size:16px}.a3d-faq .answer{font-size:15px}}
@media(max-width:800px){.a3d-footer .a3d-shell{width:calc(100% - 40px)}.a3d-footer-grid{grid-template-columns:1fr;gap:28px}.a3d-footer-nav{flex-direction:row;flex-wrap:wrap;gap:6px 20px}.a3d-footer-identity strong{font-size:22px}.a3d-footer-contact a{font-size:12px}}

/* The honorific and name share one typeface, size and horizontal baseline. */
html[lang="ar"] .hero-copy{container-type:inline-size}
html[lang="ar"] .hero-name{font-family:var(--body);font-weight:600;font-size:clamp(1.375rem,3.6vw,4rem);line-height:1.6;letter-spacing:0;white-space:nowrap}
@media(max-width:760px){html[lang="ar"] .hero-name{font-size:clamp(1.375rem,7.1vw,3.5rem)}}
@supports(font-size:1cqi){html[lang="ar"] .hero-name{font-size:clamp(1.375rem,8.6cqi,4rem)}}
/* Final shared reading layer for the selected A design.
   Typography overrides are intentional: old page/locale styles use different
   specificities, so !important is limited to the requested reading hierarchy.
   The measured .hero-name and every portrait transform remain untouched. */
:root {
  --reading-body: 1.125rem;
  --reading-control: 1rem;
  --reading-label: 1rem;
  --reading-caption: .875rem;
  --reading-font: "Segoe UI", Tahoma, Arial, sans-serif;
  --reading-forest: #003229;
  --reading-ink: #102d27;
  --reading-muted: #40594d;
  --reading-line: #b7c9be;
  --reading-soft: #f0f6f2;
  --reading-selected: #e0f0e6;
}
body,
body.a3d-interior {
  font-family: var(--reading-font);
  font-size: var(--reading-body);
  font-weight: 600;
  line-height: 1.8;
  min-inline-size: 0;
}
body main :is(p:not(.error-code), li, dd),
.a3d-faq .answer,
.a3d-interior .legal :is(p, li) {
  font-size: var(--reading-body) !important;
  font-weight: 600 !important;
  line-height: 1.8 !important;
}
body :is(h1, h2, h3) {
  font-family: var(--reading-font) !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  line-height: 1.45 !important;
}
body h1 { font-size: clamp(1.75rem, 3.3vw, 2.5rem) !important; }
body h2 { font-size: clamp(1.625rem, 2.8vw, 2.25rem) !important; }
body h3 { font-size: clamp(1.5rem, 2vw, 1.75rem) !important; }
body :is(.hero-strapline, .intro-strip > p) {
  font-size: clamp(1.375rem, 2vw, 1.75rem) !important;
  font-weight: 700 !important;
  line-height: 1.65 !important;
}
body :is(.section-index, .section-label, .mini-label, .eyebrow,
  .appointment-note, .hours-note, .privacy-note, .aside-note,
  .review-label, .breadcrumb, .intro-strip > span, .form-note,
  .disclaimer-note, .contact-hours) {
  font-size: var(--reading-label) !important;
  font-weight: 600 !important;
  line-height: 1.75 !important;
  letter-spacing: 0 !important;
}
body :is(button:not([data-service]), input, select, textarea,
  .button, .text-link, .header-request, .language-button,
  .site-header nav a, .a3d-nav a, .a3d-language, .a3d-request,
  .mobile-contact-bar a, .related-card, .channel-options label,
  .request-step > label, .request-step legend, .form-fallback a) {
  font-family: var(--reading-font) !important;
  font-size: var(--reading-control) !important;
  font-weight: 600 !important;
  line-height: 1.5 !important;
}
body :is(button, .button, .header-request, .language-button,
  .site-header nav a, .a3d-nav a, .a3d-language, .a3d-request) {
  min-block-size: 44px;
}
body :is(select, input, textarea) { min-inline-size: 0; max-inline-size: 100%; }
body :is(.brand small, .a3d-brand-copy small, .hero-portrait figcaption,
  .service-number, .step-number, .a3d-footer-bottom) {
  font-size: var(--reading-caption) !important;
  font-weight: 600 !important;
  line-height: 1.6 !important;
}
body :is(.brand strong, .a3d-brand-copy strong) {
  font-family: var(--reading-font) !important;
  font-size: 1.125rem !important;
  font-weight: 700 !important;
  line-height: 1.6 !important;
}
body :is(.a3d-footer p, .a3d-footer a, .a3d-footer-identity p,
  .a3d-footer-contact p, .site-footer p, .site-footer a,
  .office-hours dl > div, .email-link) {
  font-size: 1rem !important;
  font-weight: 600 !important;
  line-height: 1.8 !important;
}
body :is(.a3d-footer-identity > strong, .footer-name) {
  font-family: var(--reading-font) !important;
  font-size: clamp(1.375rem, 2vw, 1.75rem) !important;
  font-weight: 700 !important;
  line-height: 1.5 !important;
}
.site-header, .header-actions, .a3d-header-actions { flex-wrap: wrap; }
.header-actions, .a3d-header-actions { max-inline-size: 100%; }
.header-request, .a3d-request { min-inline-size: 0; max-inline-size: 100%; white-space: normal; }
.eyebrow { min-inline-size: 0; }
.eyebrow > span:not(.line-mark) { min-inline-size: 0; }
.email-link, .a3d-footer a { overflow-wrap: anywhere; }
.office-grid {
  margin-inline-start: 0;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr);
  gap: clamp(1.5rem, 4vw, 3.5rem);
}
.office-grid > * { min-inline-size: 0; max-inline-size: 100%; }

/* Genuine explanation tables. The parent builder owns captions, scope and roles. */
.explanation-table-region,
.explanation-table-wrap { min-inline-size: 0; max-inline-size: 100%; }
.explanation-table-wrap { margin-block: 1.5rem 2rem; }
.explanation-table {
  inline-size: 100%;
  max-inline-size: 100%;
  min-inline-size: 0;
  table-layout: fixed;
  border-collapse: separate;
  border-spacing: 0;
  border: 1px solid var(--reading-line);
  background: #fff;
  color: var(--reading-ink);
  font-family: var(--reading-font);
  font-size: var(--reading-body);
  line-height: 1.8;
  text-align: start;
}
.explanation-table caption {
  caption-side: top;
  padding: 1rem 1.25rem;
  background: var(--reading-forest);
  color: #fff;
  text-align: start;
  font: 700 1rem/1.65 var(--reading-font);
  border: 1px solid var(--reading-forest);
}
.explanation-table thead { background: var(--reading-forest); color: #fff; }
.explanation-table :is(th, td) {
  padding: 1.25rem;
  vertical-align: top;
  text-align: start;
  white-space: normal;
  min-inline-size: 0;
  overflow-wrap: anywhere;
  word-break: normal;
  border-inline-end: 1px solid var(--reading-line);
  border-block-end: 1px solid var(--reading-line);
}
.explanation-table tr > :last-child { border-inline-end: 0; }
.explanation-table tbody > tr:last-child > :is(th, td) { border-block-end: 0; }
.explanation-table thead th {
  color: #fff;
  border-color: #ffffff40;
  border-block-start: 1px solid #ffffff40;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.6;
}
.explanation-table tbody > tr { display: table-row; background: #fff; }
.explanation-table tbody > tr:nth-child(even) { background: var(--reading-soft); }
.explanation-table tbody th[scope="row"] {
  inline-size: 34%;
  color: var(--reading-forest);
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.55;
}
.explanation-table :is(p, ul, ol) {
  margin-block: 0;
  margin-inline: 0;
  max-inline-size: none;
  color: inherit !important;
  font-size: var(--reading-body) !important;
  font-weight: 600 !important;
  line-height: 1.8 !important;
}
.explanation-table :is(ul, ol) { padding-inline-start: 1.4rem; }
.explanation-table :is(p, ul, ol) + :is(p, ul, ol) { margin-block-start: .85rem; }
.explanation-table :is(h3, h3 > button) {
  margin: 0;
  color: var(--reading-forest);
  font-family: var(--reading-font) !important;
  font-size: 1.5rem !important;
  font-weight: 700 !important;
  line-height: 1.55 !important;
}
.explanation-table h3 > button[data-service] {
  display: flex;
  align-items: flex-start;
  inline-size: 100%;
  min-inline-size: 0;
  min-block-size: 48px;
  max-inline-size: 100%;
  gap: .75rem;
  padding: .25rem 0;
  border: 0;
  background: transparent;
  text-align: start;
  white-space: normal;
  cursor: pointer;
}
.explanation-table button[data-service] [data-service-name] { min-inline-size: 0; overflow-wrap: anywhere; }
.explanation-table .service-number { min-inline-size: 1.25rem; flex-shrink: 0; padding-block-start: .35rem; color: var(--reading-muted); }
.explanation-table .service-arrow { min-inline-size: 32px; inline-size: 32px; block-size: 32px; margin-inline-start: auto; flex-shrink: 0; }
.explanation-table tr.service { border: 0; padding: 0; transition: none; }
.explanation-table .service :is(p, a) { margin-inline-start: 0; }
.explanation-table a[data-service-detail] {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  min-block-size: 44px;
  max-inline-size: 100%;
  margin: 0;
  padding-block: .25rem;
  border: 0;
  color: var(--reading-forest);
  text-decoration: underline;
  text-underline-offset: .25em;
  font: 700 1rem/1.6 var(--reading-font);
  overflow-wrap: anywhere;
}
.explanation-table a:focus-visible,
.explanation-table button:focus-visible { outline: 3px solid #006a43; outline-offset: 4px; }
.explanation-table tbody > tr:focus-within,
.explanation-table tbody > tr.is-selected { background: var(--reading-selected); }
.explanation-table tbody > tr.is-selected > th[scope="row"] { box-shadow: inset 5px 0 0 var(--reading-forest); }
html[dir="rtl"] .explanation-table tbody > tr.is-selected > th[scope="row"] { box-shadow: inset -5px 0 0 var(--reading-forest); }
.explanation-table .is-selected button[data-service] { text-decoration: underline; text-underline-offset: .22em; }
.explanation-table .table-cell-label { display: none; }
.explanation-table.services-table thead th:nth-child(1) { inline-size: 32%; }
.explanation-table.services-table thead th:nth-child(2) { inline-size: 46%; }
.explanation-table.services-table thead th:nth-child(3) { inline-size: 22%; }
.explanation-table:is(.faq-table, .explanation-table--faq) thead th:first-child { inline-size: 36%; }
.explanation-table:is(.steps-table, .explanation-table--steps, .explanation-table--subjects) thead th:first-child { inline-size: 34%; }
.explanation-table:is(.documents-table, .explanation-table--documents) :is(th, td) { inline-size: 100%; }
.explanation-table:is(.hours-table, .explanation-table--hours) thead th:first-child { inline-size: 55%; }
.explanation-table:is(.hours-table, .explanation-table--hours) td[dir="ltr"] { font-variant-numeric: tabular-nums; }
html[dir="rtl"] .explanation-table:is(.hours-table, .explanation-table--hours) .table-cell-label { direction: rtl; text-align: start; }

@media (max-width: 1000px) {
  .office-grid { grid-template-columns: minmax(0, 1fr); }
}
@media (min-width: 900px) {
  :root { --reading-body: 1.25rem; }
  .explanation-table :is(th, td) { padding: 1.5rem; }
}
@media (max-width: 800px) {
  .a3d-interior .a3d-header-inner { grid-template-columns: minmax(0, 1fr); gap: .9rem; }
  .a3d-interior :is(.a3d-nav, .a3d-header-actions) { grid-column: 1 / -1; }
  .a3d-interior .a3d-nav { justify-content: space-between; gap: .5rem 1rem; }
}
@media (max-width: 760px) {
  .explanation-table-wrap { margin-block: 1.25rem 1.75rem; }
  .explanation-table {
    display: block;
    border: 0;
    background: transparent;
  }
  .explanation-table caption {
    display: block;
    inline-size: 100%;
    padding: .9rem 1rem;
    margin-block-end: 1rem;
    font-size: 1rem;
  }
  /* Keep real header cells available to assistive technology. */
  .explanation-table thead {
    position: absolute;
    inline-size: 1px;
    block-size: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    clip-path: inset(50%);
    white-space: nowrap;
    border: 0;
  }
  .explanation-table tbody { display: block; inline-size: 100%; }
  .explanation-table tbody > tr {
    display: block;
    inline-size: 100%;
    max-inline-size: 100%;
    min-inline-size: 0;
    margin-block: 0 1rem;
    border: 1px solid var(--reading-line);
  }
  .explanation-table tbody > tr > :is(th, td) {
    display: block;
    inline-size: 100%;
    max-inline-size: 100%;
    padding: 1rem;
    border-inline-end: 0;
    border-block-end: 1px solid var(--reading-line);
  }
  .explanation-table tbody > tr > :last-child,
  .explanation-table tbody > tr:last-child > :last-child { border-block-end: 0; }
  .explanation-table tbody > tr:last-child > :not(:last-child) { border-block-end: 1px solid var(--reading-line); }
  .explanation-table tbody th[scope="row"] {
    inline-size: 100%;
    max-inline-size: 100%;
    background: #eaf3ed;
  }
  .explanation-table .table-cell-label {
    display: block;
    margin-block: 0 .5rem;
    color: var(--reading-muted);
    font-size: .875rem;
    font-weight: 700;
    line-height: 1.6;
    letter-spacing: 0;
  }
  .explanation-table .service-arrow { display: none; }
  .explanation-table h3 > button[data-service] { gap: .75rem; }
  .explanation-table a[data-service-detail] { padding-block: .5rem; }
  .explanation-table tbody > tr.is-selected > th[scope="row"] { background: #d9ecdf; }
  .explanation-table :is(ul, ol) { padding-inline-start: 1.15rem; }
  .explanation-table :is(a, button, span, p, li) { max-inline-size: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .explanation-table, .explanation-table * { transition: none !important; animation: none !important; }
}
@media (forced-colors: active) {
  .explanation-table, .explanation-table :is(th, td), .explanation-table caption { border-color: CanvasText; }
  .explanation-table tbody > tr.is-selected > th[scope="row"] { border-inline-start: 5px solid Highlight; box-shadow: none; }
}
