@font-face{font-family:DM Sans;src:url(/fonts/font-01.ttf) format("truetype");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:DM Sans;src:url(/fonts/font-02.ttf) format("truetype");font-style:normal;font-weight:500;font-display:swap}
@font-face{font-family:DM Sans;src:url(/fonts/font-03.ttf) format("truetype");font-style:normal;font-weight:600 800;font-display:swap}
@font-face{font-family:Source Serif;src:url(/fonts/font-09.ttf) format("truetype");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Source Serif;src:url(/fonts/font-10.ttf) format("truetype");font-style:normal;font-weight:500;font-display:swap}
@font-face{font-family:Source Serif;src:url(/fonts/font-11.ttf) format("truetype");font-style:normal;font-weight:600 800;font-display:swap}
:root{color-scheme:light;--paper:#fffdfa;--ink:#233234;--muted:#485752;--line:#ced4cb;--dark:#33402f;--blue:#e5eff4;--sage:#e5eddf;--clay:#f5e7d9;--display:"Source Serif",Georgia,serif;--text:"DM Sans",Arial,sans-serif;--h1:clamp(2.45rem,5.65vw,3.75rem);--h2:clamp(1.5rem,2.6vw,2rem)}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font:400 1.0625rem/1.55 var(--text);overflow-wrap:break-word}
h1,h2,h3,p,figure,ul,ol,dl,dd,blockquote{margin:0}
h1,h2{font-family:var(--display);font-weight:400;text-wrap:balance}
h1{font-size:var(--h1);line-height:1.06;letter-spacing:-.052em}
h2{font-size:var(--h2);line-height:1.18;letter-spacing:-.033em}
h3{font:500 1.2rem/1.3 var(--text);letter-spacing:-.015em}
a{color:#244840;text-underline-offset:.2em;text-decoration-thickness:1px}
a:hover{text-decoration-thickness:2px}
:focus-visible{outline:3px solid #18579a;outline-offset:3px}
button,summary{font:inherit;cursor:pointer}
img{max-width:100%;display:block;height:auto}
[hidden]{display:none!important}
.skip{position:absolute;top:.3rem;left:1rem;transform:translateY(-170%);background:#fff;color:#123;padding:.6em;z-index:5}
.skip:focus{transform:translateY(0)}
.wrap{max-width:1360px;margin-inline:auto;padding-inline:clamp(1.15rem,3vw,2.5rem)}
.mast{display:flex;align-items:center;gap:1.65rem;min-height:78px;padding:.8rem 0;border-bottom:1px solid var(--line)}
.word{color:var(--ink);font:400 2.13rem/1.1 var(--display);letter-spacing:-.065em;text-decoration:none}
.mast nav{margin-left:auto;display:flex;align-items:center;gap:clamp(.85rem,2.6vw,2.1rem);font-size:1rem}
.mast nav a{text-decoration:none;color:var(--ink)}
.mast nav a[aria-current="page"],.mast nav a:hover{text-decoration:underline;text-underline-offset:.32em}
.mast .contact{border:1px solid #84958e;padding:.54em .98em;border-radius:4px}
.foot{border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:1.1rem;font-size:.88rem;padding:1.2rem 0;flex-wrap:wrap}
.foot-identity{display:flex;align-items:center;gap:.55rem;text-decoration:none;color:var(--dark);font:500 1.36rem/1 var(--display);letter-spacing:-.04em}
.foot-identity img{width:25px}
.foot-links{display:flex;flex-wrap:wrap;gap:.35rem 1.25rem}
.fine{font-size:.79rem;color:var(--muted);padding:0 0 1.2rem}
h1+p,.lead{margin-top:.65rem;font-size:clamp(1.0625rem,1.6vw,1.25rem);color:var(--muted)}
.intro{padding:clamp(1.65rem,3.4vw,3rem) 0 1.75rem}
.intro p{max-width:68ch}
.home .intro{padding-bottom:1.45rem}
.home .intro p{max-width:unset}
.home-grid{display:grid;grid-template-columns:minmax(0,1.32fr) minmax(0,1fr);gap:clamp(1.35rem,3.4vw,2.65rem);align-items:start}
.pillars{display:grid;gap:.64rem}
.pillar{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:.8rem;min-height:6.6rem;align-content:center;padding:1rem 1.3rem 1.1rem;text-decoration:none;border-radius:5px}
.pillar h2{font:500 clamp(1.28rem,2.12vw,1.58rem)/1.18 var(--text);letter-spacing:-.04em}
.pillar p{font-size:1rem;line-height:1.45;margin-top:.35rem;max-width:55ch;grid-column:1}
.pillar .arrow{grid-column:2;grid-row:1/3;align-self:center;font-size:1.28rem}
.pillar:hover h2{text-decoration:underline;text-underline-offset:.19em}
.business{background:var(--blue);color:#233f4d}.estate{background:var(--sage);color:#2c4435}.tax{background:var(--clay);color:#523c30}
.home-aside{min-width:0}
.shot{position:relative;margin:0}
.shot img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:4px}
.shot figcaption{position:absolute;bottom:8px;left:8px;padding:3px 8px;border-radius:2px;background:#fffdfa;color:#36483f;font-size:.74rem;line-height:1.45}
.motto{display:flex;align-items:center;gap:.65rem;margin:1rem 0 .3rem}
.motto img{width:28px;flex:none}
.motto h2{font-size:clamp(1.6rem,2.75vw,2.06rem);letter-spacing:-.05em}
.people-copy{font-size:1rem;line-height:1.5}
.team-link{display:inline-block;margin-top:.38rem}
.home-resources{margin-top:1.65rem;border-top:1px solid var(--line);padding:1.1rem 0;display:flex;align-items:baseline;justify-content:space-between;gap:.5rem 1rem;flex-wrap:wrap;font-size:.94rem}
.home-resources span{display:flex;gap:.4rem 1.2rem;flex-wrap:wrap}
.review-panel{min-height:230px;aspect-ratio:3/2;display:flex;flex-direction:column;justify-content:center;align-items:start;background:#ecf1e9;border:1px solid #d7dfd3;border-radius:4px;padding:clamp(1.25rem,3vw,2.25rem);gap:.6rem}
.review-panel h2{font-size:1.9rem}.review-panel blockquote{font:400 clamp(1.22rem,2.1vw,1.55rem)/1.4 var(--display)}
.review-panel .credit,.review-panel .index{font-size:.85rem;color:var(--muted)}
.review-panel [data-origin]{font-size:.88rem}
.review-panel .controls{display:flex;align-items:center;flex-wrap:wrap;gap:.45rem;margin-top:.4rem}
.review-panel button{background:#fffdfa;border:1px solid #85938a;border-radius:3px;padding:.35rem .6rem;font-size:.88rem;color:var(--ink)}
.review-panel .fallback-label,.review-panel .demo-label{font:500 .85rem/1.4 var(--text);color:var(--muted)}
.demo-notice{border-bottom:1px solid var(--line);background:#f1e8dc;padding:.55rem 1rem;text-align:center;font-size:.9rem}
.page{padding-bottom:2.4rem;--accent:#e9eee8}
.page[data-page=small-business]{--accent:var(--blue)}.page[data-page=property-tax],.page[data-page=ptax-evidence],.page[data-page=nav-explainer]{--accent:var(--clay)}
.page>.intro{border-bottom:1px solid var(--line);margin-bottom:1.5rem}
.page>section,.page>.content-grid,.page>.note,.page>details,.page>form{margin:1.6rem 0}
.page :is(section,aside,details,form)>:is(p,ul,ol,dl,div.actions,details,table){margin-top:.7rem}
.page :is(p,li,dd){max-width:73ch}
.page p+a{display:inline-block;margin-top:.65rem}
.content-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(230px,1fr);gap:clamp(1.35rem,4vw,3rem);align-items:start}
.note{background:var(--accent);border-radius:4px;padding:1.15rem 1.3rem;align-self:start}
.note h2{font:500 1.35rem/1.25 var(--text);letter-spacing:-.025em}
.page>section+section,.page>.content-grid+section{border-top:1px solid var(--line);padding-top:1.4rem}
.steps{padding-left:1.6em}.steps li{padding:.2rem 0 .48rem .2rem}
.steps li::marker{font-weight:600;color:#425d4d}
.list-links{list-style:none;padding-left:0}.list-links li{padding:.55rem 0;border-bottom:1px solid var(--line)}
.list-links li:last-child{border:none}
.list-links p{color:var(--muted);font-size:1rem;margin:.15rem 0 0}
.facts{display:grid;grid-template-columns:minmax(8rem,.7fr) minmax(0,1.6fr);max-width:800px}
.facts dt,.facts dd{padding:.5rem .35rem .5rem 0;border-bottom:1px solid var(--line)}
.facts dt{font-weight:500}
.actions{display:flex;gap:.6rem 1.15rem;align-items:center;flex-wrap:wrap;margin-top:.8rem}
.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;min-height:44px;border-radius:4px;padding:.55rem .95rem;font:500 .96rem/1.4 var(--text);text-decoration:none}
.primary{background:#334d42;color:#fff;border:1px solid #334d42}
.secondary{background:transparent;color:var(--ink);border:1px solid #88998e}
.primary:hover,.secondary:hover{text-decoration:underline}
summary{padding:.5rem 0;font-weight:500}
details{border-top:1px solid var(--line);padding:.25rem 0}
details>p:last-child{margin-bottom:.65rem}
table{border-collapse:collapse;max-width:100%}th,td{padding:.4rem;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}
.review-return{margin:1rem auto 0;padding:.7rem 1rem;display:block;width:fit-content;color:#4c5f54;font-size:.82rem}
@media(max-width:700px){
  .mast{display:grid;grid-template-columns:1fr auto;gap:.45rem .75rem;min-height:0;padding:1rem 0 .65rem}
  .mast nav{display:contents}.mast .contact{grid-column:2;grid-row:1;justify-self:end;font-size:.86rem}
  .mast .navrow{grid-column:1/-1;display:flex;gap:1.2rem;flex-wrap:wrap}
  .content-grid,.home-grid{grid-template-columns:1fr;gap:1.3rem}
  .intro{padding:1.6rem 0 1.25rem}.pillar{min-height:0;padding:.88rem 1rem}
  .motto{margin-top:.75rem}.shot img{max-height:330px}
  .foot{align-items:start;flex-direction:column;gap:.8rem}.foot-links{font-size:.88rem}
  .facts{display:block}.facts dt{padding-bottom:0;border:0}.facts dd{padding-top:.1rem}
  .review-panel{min-height:210px;aspect-ratio:auto}
}
@media(min-width:701px){.mast .navrow{display:flex;align-items:center;gap:clamp(.85rem,2.6vw,2.1rem)}}
@media(max-width:400px){body{font-size:1rem}.word{font-size:1.8rem}.primary,.secondary{max-width:100%;text-align:left}.home-resources span{gap:.6rem}.foot-links{gap:.4rem .9rem}}
@media print{.skip,.review-return,.demo-notice{display:none}.wrap{max-width:100%;padding:0}.page,.home{padding:0}}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.review-panel [data-quote]{margin:.35rem 0 .55rem}
.review-panel [data-empty] p{margin-top:.45rem;max-width:32ch}
.review-panel [data-origin]{margin-top:.4rem}
@media(pointer:coarse){.review-panel button{min-height:44px}.mast nav a{display:inline-flex;align-items:center;min-height:40px}}
.service-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr));gap:.85rem}
.service-path{display:flex;flex-direction:column;align-items:start;gap:.75rem;padding:clamp(1.15rem,2.4vw,1.75rem);border-radius:5px}
.service-path h2{font:500 clamp(1.28rem,2.12vw,1.58rem)/1.18 var(--text);letter-spacing:-.04em}
.service-path p{font-size:1rem;line-height:1.48}
.service-path a{margin-top:auto;padding-top:.5rem;font-weight:500;color:inherit}
.service-help{border-top:1px solid var(--line);padding-top:1.15rem}
.shot figcaption{max-width:calc(100% - 16px)}
@media(max-width:700px){.service-options{grid-template-columns:1fr}.service-path{gap:.5rem}}

.table-scene {width:100%; aspect-ratio:3/2; border-radius:4px; background:#f5f0e7}
.motto-spot {display:grid; grid-template-columns:minmax(0,1fr) 100px; gap:.75rem; align-items:center; margin-top:1rem}
.motto-spot .motto {margin-top:0}
.motto-spot .spot {width:100%}
.matter-title {display:flex; gap:1rem; align-items:center}
.matter-icon {width:60px; height:60px; object-fit:contain; flex:none}
.facts dt.illustrated {display:flex; align-items:center; gap:.75rem}
.page[data-page="aboutus"]>.intro {margin-bottom:0}
.people-grid {display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:clamp(1.6rem,4vw,3rem); list-style:none; margin:0; padding:0}
.people-grid>li {min-width:0}
.person-card {display:grid; grid-template-columns:140px minmax(0,1fr); align-items:center; gap:clamp(.8rem,1.6vw,1.25rem); border-bottom:1px solid var(--line); padding:1.2rem 0; height:100%; scroll-margin-block:1rem}
.person-card:target {outline:2px solid #657d71; outline-offset:4px; border-radius:2px}
.person-card h2 {font-size:clamp(1.45rem,2.25vw,1.85rem); line-height:1.08; text-wrap:initial}
.person-card h2 a {color:inherit; text-decoration:none}
.person-card h2 a:hover,.person-card h2 a:focus-visible {text-decoration:underline}
.person-card .role {font-size:.93rem; font-weight:500; color:#3d574a; margin:.28rem 0 .43rem}
.person-card .bio {font-size:.96rem; line-height:1.5}
.portrait {width:100%; aspect-ratio:1; border-radius:4px; position:relative; overflow:hidden; display:grid; place-items:center; background:#e8ede3}
.portrait span {font:400 1.9rem var(--display); color:#3b5446}
.portrait img {position:absolute; inset:0; width:100%; height:100%; object-fit:cover}
.team-contact {display:flex; align-items:baseline; justify-content:space-between; gap:.4rem 1.2rem; flex-wrap:wrap; background:#edf1e8; border-radius:3px; padding:1.15rem 1.35rem}
.team-contact h2 {font-size:1.5rem}
.team-contact p {font-size:1rem}
.team-values {margin-top:1.45rem}
@media(max-width:950px) and (min-width:701px){.person-card{grid-template-columns:100px minmax(0,1fr);align-items:start}}
@media(max-width:700px){.people-grid{grid-template-columns:1fr}.person-card{grid-template-columns:96px minmax(0,1fr); align-items:start;gap:1rem}.motto-spot{grid-template-columns:minmax(0,1fr) 76px;gap:.5rem}.matter-title{gap:.75rem}.facts dt.illustrated{margin-top:.6rem}}
@media(max-width:360px){.person-card{grid-template-columns:82px minmax(0,1fr)}.motto-spot{grid-template-columns:minmax(0,1fr) 58px}}

/* Footer signature and its resting state. */
.foot .foot-identity {
  position: relative;
  width: 188px;
  height: 86px;
  flex: 0 0 auto;
}
.foot { padding-block: .45rem; }
.footer-motion {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  fill: var(--dark);
  pointer-events: none;
}
.foot-identity:is([data-motion-state="ready"],[data-motion-state="playing"]) img { opacity: 0; }
.foot-identity:is([data-motion-state="ready"],[data-motion-state="playing"]) .footer-name { opacity: var(--footer-name-opacity, 0); }
@media print {
  .foot .foot-identity { height: auto; min-height: 30px; }
  .foot-identity .footer-motion { display: none; }
  .foot .foot-identity img, .foot .foot-identity .footer-name { opacity: 1; }
}
