/* PRODENT V5. Only services, navigation surface, document directory and motion.
   No replacement typefaces, new font files, revised prices or legal copy. */
:root{--pdx-green:#05221B;--pdx-milk:#F8F2E8;--pdx-ease:cubic-bezier(.22,1,.36,1)}
/* Saturated green, not a translucent grey wash over the light page. */
html body .header{background:#05221B;padding:1px;box-shadow:0 12px 35px rgba(3,26,21,.14)}
html body .header:before{background:linear-gradient(108deg,rgba(248,242,232,.06),rgba(248,242,232,.34) 48%,rgba(248,242,232,.06) 58%);inset:0;opacity:1;animation:none;transform:none}
html body .header-inner{background:#05221B;border-color:rgba(248,242,232,.13);-webkit-backdrop-filter:none;backdrop-filter:none}
html body .pd-subheader{background:#05221B;border-color:rgba(248,242,232,.24);-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:0 12px 35px rgba(3,26,21,.14)}
html body .header .nav{color:#e6e7d8}
html body .header .phone{color:#e4e7da}
html body .header .logo-sub{color:#bccabd}
html body .header .nav>a{position:relative;padding:8px 0;white-space:nowrap;transition:color .35s ease}
html body .header .nav>a:after{content:'';position:absolute;left:0;right:0;bottom:2px;height:1px;background:#F8F2E8;transform:scaleX(0);transform-origin:left;transition:transform .6s var(--pdx-ease)}
html body .header .nav>a:is(:hover,:focus-visible,[aria-current="location"]){color:#fffaf0}
html body .header .nav>a:is(:hover,:focus-visible,[aria-current="location"]):after{transform:scaleX(1)}
html body .header .btn-light{background:#F8F2E8;color:#05221B;box-shadow:none}
html body .mobile-panel{background:#05221B;color:#F8F2E8;-webkit-backdrop-filter:none;backdrop-filter:none}
html body .mobile-bottom{background:#05221B}
html body .header .burger{color:#F8F2E8;background:transparent;border-color:rgba(248,242,232,.36)}
/* SERVICES. A photographic spread and a numbered, responsive direction list. */
html body #services.pds-section{padding:90px 0 96px!important;overflow:visible;background:#F8F2E8!important;border-top:0!important}
#services .pds-head{display:grid;grid-template-columns:.42fr 1fr;gap:56px;align-items:start;padding-bottom:42px}
#services .pds-label{padding-top:10px}
#services .pds-label .eyebrow{margin:0 0 14px;font-weight:400;color:#05221B}
#services .pds-count{display:block;font:300 13px/1.5 Manrope,Arial,sans-serif;color:#667468}
#services .pds-head h2{margin:0;max-width:820px;color:#05221B;font:300 clamp(40px,3.95vw,58px)/1.04 'Cormorant Garamond',Georgia,serif;letter-spacing:-.035em;text-wrap:balance}
#services .pds-layout{display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);align-items:start;gap:50px}
#services .pds-visual{position:sticky;top:110px;min-width:0;isolation:isolate;background:#05221B;overflow:hidden;border-radius:3px;box-shadow:0 18px 45px rgba(5,34,27,.10)}
#services .pds-photo-stage{position:relative;aspect-ratio:1.15;overflow:hidden;background:#d8d8c9;isolation:isolate}
#services .pds-photo{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;opacity:0;transform:scale(1.035);transition:opacity .7s ease,transform 1.8s var(--pdx-ease);filter:saturate(.87) contrast(1.015)}
#services .pds-photo.is-active{opacity:1;transform:scale(1)}
#services .pds-photo:not([src]){display:none}
#services .pds-photo-stage:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(3,26,21,.26),transparent 28%,transparent 68%,rgba(3,26,21,.1));pointer-events:none}
#services .pds-photo-label{position:absolute;z-index:2;left:24px;right:24px;top:23px;display:flex;justify-content:space-between;color:#fff9ee;gap:18px;font:400 11px/1.5 Manrope,Arial,sans-serif;letter-spacing:.1em}
#services .pds-photo-label>span:last-child{font-variant-numeric:tabular-nums;white-space:nowrap}
#services .pds-feature-copy{position:relative;padding:28px 32px 25px;min-height:218px;overflow:hidden}
#services .pds-feature-copy:before{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,transparent 22%,rgba(248,242,232,.10) 46%,transparent 70%);transform:translateX(-120%)}
#services .pds-feature-copy.is-sweeping:before{animation:pdxSheen 1.25s var(--pdx-ease) both}
#services .pds-feature-heading{display:flex;justify-content:space-between;align-items:baseline;gap:20px;position:relative}
#services .pds-feature-title{display:block;color:#F8F2E8;font:300 clamp(31px,2.9vw,42px)/1.06 'Cormorant Garamond',Georgia,serif;letter-spacing:-.025em;text-wrap:balance}
#services .pds-feature-number{font:300 18px/1.2 Manrope,Arial,sans-serif;color:#90a597;font-variant-numeric:tabular-nums}
#services .pds-feature-description{position:relative;color:#c5cfc3;font:300 15px/1.75 Manrope,Arial,sans-serif;margin:17px 0 22px;max-width:34em;min-height:52px;text-wrap:pretty}
#services .pds-feature-link{display:flex;align-items:center;justify-content:space-between;gap:15px;padding-top:14px;border-top:1px solid rgba(248,242,232,.24);font:400 12px/1.65 Manrope,Arial,sans-serif;color:#e5e9db;text-decoration:none!important;position:relative}
#services .pds-feature-link>span{font-size:20px;transition:transform .6s var(--pdx-ease)}
#services .pds-feature-link:hover>span{transform:translate(3px,-3px)}
#services .pds-list{display:block;min-width:0;border-top:1px solid rgba(5,34,27,.28);padding:0}
#services .pds-row{position:relative;isolation:isolate;display:grid;grid-template-columns:30px minmax(0,1fr) 32px;gap:16px;align-items:center;min-height:76px;padding:15px 8px 15px 0;border-bottom:1px solid rgba(5,34,27,.14);color:#05221B;cursor:pointer;text-decoration:none!important;overflow:hidden;transition:color .5s ease,padding .55s var(--pdx-ease)}
#services .pds-row:before{content:'';position:absolute;inset:0;z-index:-1;background:#05221B;transform:scaleX(0);transform-origin:left;transition:transform .7s var(--pdx-ease);pointer-events:none}
#services .pds-row:after{content:'';position:absolute;bottom:0;left:0;width:100%;height:1px;background:#2d5842;transform:scaleX(0);transform-origin:left;transition:transform .9s var(--pdx-ease);pointer-events:none}
#services .pds-number{font:300 12px/1.4 Manrope,Arial,sans-serif;color:#728477;font-variant-numeric:tabular-nums;transition:color .4s ease}
#services .pds-row-copy{display:block;min-width:0}
#services .pds-row h3{margin:0 0 4px;font:300 clamp(27px,2.35vw,33px)/1.06 'Cormorant Garamond',Georgia,serif;letter-spacing:-.02em;color:inherit;text-wrap:balance}
#services .pds-description{display:block;font:300 13px/1.6 Manrope,Arial,sans-serif;color:#637064;max-width:100%;text-wrap:pretty;transition:color .45s ease}
#services .pds-row-arrow{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border:1px solid rgba(5,34,27,.2);color:#05221B;font:300 19px/1 Manrope,Arial,sans-serif;transition:color .4s,border-color .4s,transform .6s var(--pdx-ease);border-radius:50%}
#services .pds-row:is(.is-current,:focus-visible){color:#F8F2E8;padding-left:15px;padding-right:15px}
#services .pds-row:is(.is-current,:focus-visible):before{transform:scaleX(1)}
#services .pds-row:is(.is-current,:focus-visible):after{transform:scaleX(1)}
#services .pds-row:is(.is-current,:focus-visible) .pds-description{color:#c5cfc3}
#services .pds-row:is(.is-current,:focus-visible) .pds-number{color:#a7baaa}
#services .pds-row:is(.is-current,:focus-visible) .pds-row-arrow{border-color:rgba(248,242,232,.35);color:#F8F2E8;transform:rotate(45deg)}
#services .pds-row:focus-visible{outline:2px solid #a0b29d;outline-offset:-3px}
/* DOCUMENTS. Compact summaries. All original metadata remains visible, even closed. */
#documents .pd-legal-layout{display:grid;grid-template-columns:minmax(210px,.38fr) minmax(0,1fr);gap:65px;align-items:start}
#documents .pd-legal-compact-head{display:block;margin:0;position:sticky;top:120px}
#documents .pd-legal-compact-head h2{font-size:38px!important;line-height:1.07!important;max-width:260px;letter-spacing:-.03em}
#documents .pd-legal-guide{font:300 13px/1.75 Manrope,Arial,sans-serif;color:#aebbab;max-width:245px;margin:22px 0 23px;text-wrap:pretty}
#documents .pd-legal-all{display:inline-block;font:400 12px/1.6 Manrope,Arial,sans-serif;color:#e0e7d8;padding-bottom:6px;border-bottom:1px solid rgba(248,242,232,.28)}
.pd-legal-accordion{--pd-legal-ink:#05221B;--pd-legal-muted:#657266;--pd-legal-border:rgba(5,34,27,.2);--pd-legal-hover:rgba(5,34,27,.035);min-width:0;border-top:1px solid var(--pd-legal-border)}
#documents .pd-legal-accordion{--pd-legal-ink:#eeeede;--pd-legal-muted:#aebbab;--pd-legal-border:rgba(248,242,232,.17);--pd-legal-hover:rgba(248,242,232,.035)}
.pd-legal-item{border-bottom:1px solid var(--pd-legal-border);margin:0;min-width:0;overflow-anchor:none}
.pd-legal-summary{display:grid;grid-template-columns:26px minmax(0,1fr) 32px;gap:16px;align-items:center;padding:18px 0;min-height:92px;cursor:pointer;list-style:none;position:relative;touch-action:manipulation;transition:background .45s ease}
.pd-legal-summary::-webkit-details-marker{display:none}
.pd-legal-summary::marker{content:''}
.pd-legal-summary:hover{background:var(--pd-legal-hover)}
.pd-legal-summary:focus-visible{outline:2px solid #91a488;outline-offset:-2px}
.pd-legal-index{color:var(--pd-legal-muted);font:300 12px/1.6 Manrope,Arial,sans-serif;font-variant-numeric:tabular-nums;align-self:start;padding-top:2px}
.pd-legal-summary-copy{display:block;min-width:0}
html body .pd-legal-title{display:block;font:300 15px/1.65 Manrope,Arial,sans-serif;letter-spacing:0;color:var(--pd-legal-ink);text-wrap:pretty;word-break:normal;overflow-wrap:normal}
html body .pd-legal-metadata{display:block;font:300 12px/1.65 Manrope,Arial,sans-serif;color:var(--pd-legal-muted);letter-spacing:0;margin-top:6px;text-wrap:pretty}
.pd-disclosure-mark{display:block;position:relative;width:28px;height:28px;justify-self:end;border:1px solid var(--pd-legal-border);border-radius:50%;transition:transform .55s var(--pdx-ease),background .3s ease}
.pd-disclosure-mark:before,.pd-disclosure-mark:after{content:'';position:absolute;top:50%;left:50%;background:var(--pd-legal-ink);transform:translate(-50%,-50%);transition:transform .55s var(--pdx-ease),opacity .3s}
.pd-disclosure-mark:before{width:10px;height:1px}
.pd-disclosure-mark:after{width:1px;height:10px}
.pd-legal-item[open]:not([data-legal-closing]) .pd-disclosure-mark{transform:rotate(180deg)}
.pd-legal-item[open]:not([data-legal-closing]) .pd-disclosure-mark:after{opacity:0}
.pd-legal-panel{padding:0 0 24px 42px;min-width:0}
.pd-legal-actions{display:flex;gap:10px 24px;flex-wrap:wrap;margin:0 0 16px}
.pd-legal-actions a{font:400 12px/1.7 Manrope,Arial,sans-serif;padding:6px 0;color:var(--pd-legal-ink);text-decoration:underline;text-underline-offset:4px;text-decoration-color:var(--pd-legal-border)}
.pd-legal-reading{background:#F8F2E8;color:#243c33;max-height:440px;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:#9ba89a #F8F2E8;padding:28px 26px;outline-offset:-2px;border:1px solid rgba(5,34,27,.12);border-radius:2px}
.pd-legal-reading::-webkit-scrollbar{width:6px;height:6px}
.pd-legal-reading::-webkit-scrollbar-thumb{background:#9ba89a;border-radius:6px}
html body .pd-legal-reading :is(.pd-doc-text,p,li){font-size:15px;line-height:1.8;font-weight:300;color:#243c33}
html body .pd-legal-reading .pd-approval{font-size:13px;line-height:1.7;color:#536a5a;margin:0 0 25px}
html body .pd-legal-reading .pd-doc-text h2{font-size:26px!important;line-height:1.18!important;margin:28px 0 15px;color:#05221B!important;max-width:100%}
html body .pd-legal-reading .pd-doc-text h3{font-size:24px;line-height:1.18}
html body .pd-legal-reading .pd-doc-text :is(table,td,th){font-size:13px;line-height:1.7}
html body .pd-legal-reading .pd-doc-text table{min-width:520px}
html body .pd-legal-reading .pd-doc-text :is(th,td){padding:12px}
html body .pd-legal-reading .pd-doc-text strong{font-weight:500}
.pd-doc-directory .pd-legal-accordion{margin-top:35px}
.pd-doc-directory .pd-legal-summary{min-height:90px}
.pd-doc-directory .pd-legal-panel{padding-left:42px}
html body .pd-legal-directory-guide{font:300 15px/1.8 Manrope,Arial,sans-serif;color:#657266;margin:0 0 28px}
/* Extra motion is local to meaningful objects, not the entire scrolling page. */
@keyframes pdxSheen{from{transform:translateX(-120%)}to{transform:translateX(120%)}}
@keyframes pdxPhotoEntrance{from{clip-path:inset(0 100% 0 0);transform:translateY(18px)}to{clip-path:inset(0 0 0 0);transform:none}}
#services .pds-visual.is-revealed{animation:pdxPhotoEntrance 1.15s var(--pdx-ease) both}
html body #services .pds-row.is-entering{animation:pdxRowEntrance .8s var(--pdx-ease) both}
@keyframes pdxRowEntrance{from{opacity:.02;transform:translateY(18px)}to{opacity:1;transform:none}}
@media(hover:hover) and (pointer:fine){
 #services .pds-row:hover{color:#F8F2E8;padding-left:15px;padding-right:15px}
 #services .pds-row:hover:before{transform:scaleX(1)}
 #services .pds-row:hover .pds-description{color:#c5cfc3}
 #services .pds-row:hover .pds-number{color:#a7baaa}
 #services .pds-row:hover .pds-row-arrow{border-color:rgba(248,242,232,.35);color:#F8F2E8;transform:rotate(45deg)}
 #services .pds-visual:hover .pds-photo.is-active{transform:scale(1.035)}
}
@media(max-width:1100px){
 #services .pds-head{grid-template-columns:.28fr 1fr;gap:30px}
 #services .pds-layout{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:30px}
 #services .pds-photo-stage{aspect-ratio:.93}
 #services .pds-feature-copy{padding:25px 23px}
 #services .pds-feature-title{font-size:32px}
 #services .pds-row{gap:12px;grid-template-columns:25px minmax(0,1fr) 28px}
 #services .pds-row h3{font-size:29px}
 #services .pds-description{font-size:13px}
 #documents .pd-legal-layout{grid-template-columns:minmax(180px,.34fr) minmax(0,1fr);gap:35px}
}
@media(max-width:800px){
 html body #services.pds-section{padding:72px 0 78px!important}
 #services .pds-head{display:block;padding-bottom:29px}
 #services .pds-label{display:flex;justify-content:space-between;align-items:center;padding:0;margin-bottom:19px;gap:15px}
 #services .pds-label .eyebrow{margin:0}
 #services .pds-head h2{font-size:clamp(36px,6.5vw,46px);max-width:630px;line-height:1.06}
 #services .pds-title-break{display:none}
 #services .pds-layout{grid-template-columns:minmax(0,1fr);gap:24px}
 #services .pds-visual{position:relative;top:auto;box-shadow:none}
 #services .pds-photo-stage{height:250px;aspect-ratio:auto}
 #services .pds-feature-copy{display:none}
 #services .pds-photo-label{left:21px;right:21px;top:17px}
 #services .pds-photo.is-active{object-position:50% 40%}
 #services .pds-row{min-height:81px;padding:16px 0;gap:14px;grid-template-columns:24px minmax(0,1fr) 30px}
 #services .pds-row h3{font-size:30px;margin-bottom:5px}
 #services .pds-description{font-size:14px;line-height:1.6}
 #services .pds-row:is(.is-current,:focus-visible){padding-left:12px;padding-right:12px}
 #documents .pd-legal-layout{display:block}
 #documents .pd-legal-compact-head{position:static;margin-bottom:30px}
 #documents .pd-legal-compact-head h2{max-width:500px;font-size:36px!important}
 #documents .pd-legal-guide{max-width:none;margin:15px 0 12px}
 .pd-legal-summary{gap:12px;padding:17px 0;grid-template-columns:22px minmax(0,1fr) 28px}
 .pd-legal-panel,.pd-doc-directory .pd-legal-panel{padding-left:0}
 .pd-legal-reading{padding:23px 20px;max-height:400px}
}
@media(max-width:440px){
 #services .pds-photo-stage{height:205px}
 #services .pds-row h3{font-size:27px}
 #services .pds-head h2{font-size:38px}
 #services .pds-count{font-size:12px}
 #services .pds-row{grid-template-columns:22px minmax(0,1fr) 28px;gap:10px}
 #services .pds-row-arrow{width:26px;height:26px;font-size:17px}
 #services .pds-description{font-size:13px;line-height:1.65}
 html body .pd-legal-title{font-size:14px;line-height:1.7}
 html body .pd-legal-metadata{font-size:12px;line-height:1.7}
 .pd-legal-summary{grid-template-columns:18px minmax(0,1fr) 26px;gap:9px;align-items:start}
 .pd-disclosure-mark{width:26px;height:26px;margin-top:2px}
 .pd-legal-actions{column-gap:20px;row-gap:5px}
 .pd-legal-reading{padding:22px 17px}
}
@media(max-width:359px){#services .pds-row h3{font-size:25px}#services .pds-row:is(.is-current,:focus-visible){padding-left:8px;padding-right:8px}#services .pds-head h2{font-size:34px}}
/* Runtime pause and operating-system preferences: never hide content. */
html.pd-motion-paused #services :is(.pds-photo,.pds-visual,.pds-row){animation:none!important;transition:none!important;clip-path:none!important;transform:none!important;filter:none!important}
html.pd-motion-paused #services .pds-feature-copy:before{animation:none!important;display:none}
@media(prefers-reduced-motion:reduce){
 #services :is(.pds-row,.pds-row:before,.pds-row:after,.pds-photo,.pds-visual,.pds-description,.pds-number,.pds-row-arrow,.pds-feature-link>span),.pd-disclosure-mark,.pd-disclosure-mark:after,.header .nav>a:after{animation:none!important;transition:none!important;transform:none!important;clip-path:none!important}
 #services .pds-feature-copy:before{display:none!important}
 #services .pds-row:not(.is-current):not(:focus-visible):before{transform:scaleX(0)!important}
}
@media print{
 .pds-photo-stage,.pd-disclosure-mark{display:none!important}
 #services .pds-layout,#documents .pd-legal-layout{display:block!important}
 .pd-legal-reading{max-height:none!important;overflow:visible!important;padding:0!important;border:0!important}
 .pd-legal-item>.pd-legal-panel{display:block!important}
 .pd-legal-panel{padding:12px 0!important}
 .pd-legal-summary{break-after:avoid}
}
/* Finishing details: descriptions keep a comfortable reading size. */
#services .pds-description{font-size:14px}
@media(max-width:440px){#services .pds-description{font-size:14px}#services .pds-row{padding-top:17px;padding-bottom:17px}}
@media(prefers-reduced-motion:reduce){
 html body .header .nav>a:after{transform:scaleX(0)!important}
 html body .header .nav>a:is(:hover,:focus-visible,[aria-current="location"]):after{transform:scaleX(1)!important}
 .pd-disclosure-mark:after{transform:translate(-50%,-50%)!important}
}
