:root{--ink:#203a31;--green:#284c3c;--cream:#f7f5ee;--lime:#d7e4b5;--muted:#58635a;--line:#d9ded2}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.65 Arial,sans-serif}a{color:inherit;text-underline-offset:5px}button,input,select{font:inherit}a,button,input,select{outline-offset:5px}header{padding:24px 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:25px;background:var(--cream)}.brand{font:bold 30px Georgia,serif;text-decoration:none;letter-spacing:-1px}.brand span{display:block;font:9px/2 Arial,sans-serif;letter-spacing:2px}nav{display:flex;align-items:center;gap:30px;font-size:13px}nav a{text-decoration:none}.button{display:inline-block;border:0;border-radius:3px;background:var(--green);color:white;padding:15px 24px;text-decoration:none;cursor:pointer}.button:hover{background:#162f24}.small{padding:11px 19px}.hero{display:grid;grid-template-columns:1fr 1fr;padding:0;min-height:620px}.hero-copy{padding:75px 10% 55px}.eyebrow{font-size:10px;font-weight:bold;letter-spacing:2px;line-height:1.6}h1,h2,h3{font-family:Georgia,serif;font-weight:normal;line-height:1.08;letter-spacing:-1.5px}h1{font-size:clamp(43px,4.8vw,76px);margin:25px 0}h1 em{font-weight:normal;color:#647349}h2{font-size:clamp(35px,3.7vw,54px);margin:18px 0 30px}h3{font-size:29px;letter-spacing:-.6px}.hero-copy>p:not(.eyebrow){max-width:410px;color:var(--muted)}.hero-photo{position:relative;min-height:600px;overflow:hidden}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:62% center;position:absolute}.photo-note{position:absolute;bottom:35px;left:30px;background:var(--cream);padding:18px 28px;font:21px/1.5 Georgia,serif}.actions{display:flex;gap:24px;align-items:center;margin:30px 0;flex-wrap:wrap;font-size:13px}.hero-note{font-size:12px}.ribbon{padding:23px 5%;background:var(--green);color:white;display:flex;justify-content:space-between;font-size:12px;gap:20px}section{padding:80px 6%}.section-heading{display:flex;justify-content:space-between;gap:50px;align-items:center}.section-heading>p{max-width:330px;color:var(--muted)}.services{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:30px}.services article{border-top:1px solid #aeb9a5;padding-top:25px}.services span{font-size:11px;letter-spacing:2px}.services p{color:var(--muted);font-size:15px}.services a{font-size:13px}.story{background:#e9eddf;display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}.story img{width:100%;aspect-ratio:1.2;object-fit:cover}.story p{max-width:480px}.text-link{display:inline-block;margin-top:15px}.portraits{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.portraits img{width:100%;aspect-ratio:1.35;object-fit:cover}.tools{background:var(--green);color:var(--cream)}.tool-grid{display:grid;grid-template-columns:1fr 1fr;gap:8%;margin-top:30px}.tool-grid>div>p{font-size:14px}.tools .button{background:var(--lime);color:var(--ink)}label{display:block;font-size:13px;margin:17px 0 6px}input,select{width:100%;border:1px solid #c5cdbd;border-radius:3px;padding:13px;background:#fff;color:var(--ink)}form button{margin-top:20px}.result{background:#355746;padding:38px;align-self:stretch}.result>p:first-child{font-size:10px;letter-spacing:1.5px}.result strong{font:64px Georgia,serif}.result small{display:block;font-size:12px;line-height:1.7;margin:18px 0}.result a{font-size:12px}.finder{display:grid;grid-template-columns:1fr 1fr;gap:8%;background:#e9eddf}.fine{font-size:12px;color:var(--muted)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:8%}.phone{font:32px Georgia,serif}address{font-style:normal;margin-bottom:20px}footer{background:#192e25;color:#dce5d5;padding:45px 6%;font-size:11px}.footer-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:30px}footer p{max-width:800px}.skip{position:absolute;top:-100px}.skip:focus{top:0;background:white;padding:10px;z-index:10}@media(max-width:760px){header{padding:20px 6%;flex-wrap:wrap}.brand{font-size:26px}nav{gap:18px;font-size:12px;flex-wrap:wrap}nav .small{padding:6px 12px}.hero{grid-template-columns:1fr}.hero-copy{padding:40px 6%}.hero-photo{min-height:390px}h1{font-size:54px}.ribbon{display:grid;grid-template-columns:1fr 1fr;font-size:10px}section{padding:50px 6%}.section-heading{display:block}.services,.story,.tool-grid,.finder,.contact-grid{grid-template-columns:1fr}.services{gap:25px}.story{gap:30px}.portraits{grid-template-columns:1fr 1fr;gap:12px}.tool-grid,.finder,.contact-grid{gap:30px}.result{padding:25px}.footer-top{align-items:start;gap:20px}.phone{font-size:28px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.brand img{display:block;width:350px;max-width:100%;height:auto}header .brand{width:350px;flex-shrink:0}footer .brand{width:350px;max-width:100%}footer .brand img{background:white;border-radius:3px;padding:10px}footer .brand span{margin-top:10px}@media(max-width:760px){header .brand{width:min(350px,100%)}footer .brand{width:min(300px,100%)}.footer-top{flex-wrap:wrap}}

.portraits figure{margin:0}.portraits figcaption{font-size:14px;padding-top:8px}

.welcome-video{background:#e9eddf}.video-frame{position:relative;width:100%;aspect-ratio:16/9;background:#203a31}.video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.welcome-video>p:last-child{font-size:13px}

.services{grid-template-columns:repeat(4,1fr);gap:28px}.services h3{font-size:27px}.team-intro{max-width:800px;margin-bottom:30px;color:var(--muted)}.faq-list{border-top:1px solid var(--line)}.faq details{border-bottom:1px solid var(--line);padding:22px 0}.faq summary{cursor:pointer;font-size:18px;font-weight:600;padding-right:20px}.faq details p{max-width:850px;color:var(--muted);margin:15px 0 0}.faq details[open] summary{color:#526534}@media(max-width:1050px){.services{grid-template-columns:1fr 1fr}header{flex-wrap:wrap}}@media(max-width:760px){.services{grid-template-columns:1fr}.faq summary{font-size:16px}}

.checklist{background:#eef0e7}.checklist>p{max-width:700px}.checklist select{max-width:520px}#meeting-items label{display:flex;align-items:center;gap:12px;font-size:16px}#meeting-items input{width:20px;height:20px;accent-color:var(--green)}@media print{header,footer,main>section:not(.checklist),.ribbon,.skip,#print-checklist{display:none!important}.checklist{padding:20px;background:white}.checklist select{border:none}}

.money-concepts{margin-top:48px;padding:30px;background:#e9eddf;border-left:4px solid #647349;scroll-margin-top:30px}.money-concepts h3{margin:12px 0}.money-concepts>p{max-width:850px}.money-concepts>a{font-size:14px}header nav{flex-wrap:wrap;gap:20px}

.tax-organizer{background:#e9eddf}.tax-organizer>p{max-width:800px}#tax-situations{border:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:25px 0}#tax-situations legend{font-weight:bold;margin-bottom:15px}#tax-situations label{background:white;padding:16px;margin:0;display:flex;gap:12px;align-items:center}.tax-organizer input[type=checkbox]{width:20px;height:20px;flex-shrink:0;accent-color:var(--green)}.organizer-sheet{padding:30px;background:var(--cream);border:1px solid var(--line)}#tax-document-items label{display:flex;gap:12px;align-items:center;font-size:16px}#reset-tax-docs{border:1px solid var(--green);padding:14px 20px;background:transparent;color:var(--ink);cursor:pointer}@media(max-width:760px){#tax-situations{grid-template-columns:1fr 1fr}.organizer-sheet{padding:20px}}@media(max-width:430px){#tax-situations{grid-template-columns:1fr}}@media print{body.printing-tax-docs main>section.tax-organizer{display:block!important;padding:15px;background:white}body.printing-tax-docs .checklist,body.printing-tax-docs #tax-situations,body.printing-tax-docs .tax-organizer .actions{display:none!important}}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.services article{padding:26px;background:#fffdf7;border:1px solid var(--line);border-radius:12px;display:flex;flex-direction:column;transition:transform .22s,box-shadow .22s}.services article p{flex:1}.service-action{padding:15px 17px;border:1px solid var(--green);border-radius:6px;background:#e9eddf;color:var(--ink);text-align:left;cursor:pointer;font-size:14px;line-height:1.5;min-height:60px}.button,.service-action,.mc-goals button{transition:transform .2s,box-shadow .2s,background .2s}.button:focus-visible,.service-action:focus-visible{outline:3px solid #a9bc7c}.tool-shortcuts{display:flex;flex-wrap:wrap;gap:12px;margin:20px 0 32px}.tool-shortcuts a{border:1px solid #9daea0;border-radius:6px;padding:10px 16px;text-decoration:none;font-size:13px}.payment-options{margin-top:22px;padding:16px;border:1px solid #9daea0;border-radius:6px}.payment-options summary{cursor:pointer}.payment-options .fine{color:var(--cream)}.result{border-radius:14px;background:linear-gradient(140deg,#365f48,#223e31);box-shadow:0 15px 35px #122a2633}.result strong{display:block;font-size:clamp(36px,5vw,64px);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.tax-meter{height:8px;background:#ffffff25;border-radius:8px;overflow:hidden;margin-top:22px}.tax-meter span{display:block;height:100%;width:0;background:var(--lime);transition:width .85s}.payment-result{border-top:1px solid #ffffff55;padding-top:18px;font-size:14px;margin:22px 0}.payment-result[hidden]{display:none}.faq details{transition:background .2s;padding-left:16px;padding-right:16px}.faq details[open]{background:#eef0e7;border-radius:6px}.portraits img{border-radius:8px}.video-frame{border-radius:12px;overflow:hidden;box-shadow:0 16px 35px #203a3120}dialog{border:1px solid var(--line);border-radius:18px;padding:42px;max-width:620px;width:calc(100% - 36px);max-height:85vh;overflow:auto;background:var(--cream);color:var(--ink);box-shadow:0 30px 100px #0005}dialog::backdrop{background:#112b25b3;backdrop-filter:blur(5px)}dialog h2{font-size:38px}.dialog-close{position:absolute;right:12px;top:8px;width:42px;height:42px;font-size:30px;border:0;background:transparent;color:var(--ink);cursor:pointer}dialog li{margin-bottom:12px}dialog .button{margin-top:12px}@media(hover:hover){.services article:hover{transform:translateY(-5px);box-shadow:0 14px 30px #203a3114}.button:hover,.service-action:hover,.mc-goals button:hover{transform:translateY(-3px);box-shadow:0 7px 16px #112b2522}.tool-shortcuts a:hover{background:#ffffff15}}@media(max-width:760px){dialog{padding:32px 24px}.services article{padding:22px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

.office-moments{background:#e9eddf}.office-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:30px}.office-gallery img{width:100%;aspect-ratio:1.3;object-fit:cover;border-radius:12px}@media(max-width:760px){.office-gallery{grid-template-columns:1fr}}

/* Updated team photography */
.portraits{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.portraits figure{margin:0;overflow:hidden;border-radius:14px}.portraits figure img{display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:cover}.group-gallery{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:28px 0}.group-gallery img{width:100%;height:auto;border-radius:16px}@media(max-width:700px){.portraits{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.group-gallery{grid-template-columns:1fr}}

/* Preserve the single group photograph and supplemental portraits. */
.story img{aspect-ratio:auto;height:auto;border-radius:12px}
.portraits figure img{aspect-ratio:auto;height:auto}
.team-leads{display:grid;gap:30px;margin:30px 0 45px}
.team-lead{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:center;background:#e9eddf;padding:28px;border-radius:12px}
.team-lead>img{display:block;width:100%;height:auto;border-radius:8px}
.team-lead h3{font-size:38px;margin:12px 0}.team-lead a{font-size:14px}.portrait-heading{margin-bottom:24px}
@media(max-width:700px){.team-lead{grid-template-columns:1fr;gap:20px;padding:20px}.team-lead h3{font-size:32px}}
@media(max-width:380px){h1{font-size:46px}.phone{font-size:25px}.contact-grid a{overflow-wrap:anywhere}}

/* Office imagery supports service delivery and the in-person visit. */
.services-intro{display:grid;grid-template-columns:1.1fr 1fr;gap:6%;align-items:center;margin-bottom:36px}.services-intro p{max-width:480px;color:var(--muted)}.services-intro img,.contact-office-photo{display:block;width:100%;height:auto;border-radius:12px}.contact-office-photo{max-width:520px;margin-bottom:24px}@media(max-width:700px){.services-intro{grid-template-columns:1fr;gap:20px}}

/* Compact manual carousel: no automatic movement or identity assumptions. */
.portrait-heading{margin-bottom:8px}.portrait-hint{font-size:12px;color:var(--muted);margin:0 0 16px}
.portraits{display:flex;gap:16px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-padding:8px;padding:8px 8px 16px;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#879776 #e9eddf;align-items:start;border-radius:12px}
.portraits figure{flex:0 0 180px;margin:0;scroll-snap-align:start;overflow:hidden;border-radius:10px;background:#e9eddf}
.portraits figure img{display:block;width:100%;height:auto;aspect-ratio:5/4;object-fit:cover;border-radius:10px;transition:transform .18s ease}
.portraits:focus-visible{outline:3px solid var(--green);outline-offset:4px}
@media(hover:hover) and (pointer:fine){.portraits figure:hover img{transform:scale(1.025)}}
@media(max-width:700px){.portraits{gap:12px}.portraits figure{flex-basis:136px}}
@media(prefers-reduced-motion:reduce){.portraits{scroll-behavior:auto}.portraits figure:hover img{transform:none;transition:none}}

/* Pair the existing still and film with the connected-finances message. */
.services-intro{display:block;margin-bottom:28px}.services-intro>div{max-width:850px}.services-intro p{max-width:650px}.services-media{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:center;margin-bottom:40px}.services-media>img{display:block;width:100%;height:auto;border-radius:12px}.services-media .video-frame{box-shadow:none}@media(max-width:700px){.services-media{grid-template-columns:1fr;gap:20px}}
