@font-face{font-family:'DM Sans';src:url('/website-designs/pennywell-cpa/fonts/dmsans-latin.woff2') format('woff2');font-weight:400 700;font-display:swap}
@font-face{font-family:'JetBrains Mono';src:url('/website-designs/pennywell-cpa/fonts/jetbrainsmono-latin.woff2') format('woff2');font-weight:500;font-display:swap}
:root{--mist:#f3f6f8;--slate:#243447;--mint:#2fbf8f;--secondary:#626b78;--rule:#d6dfe4;--white:#fff;--radius:12px;color-scheme:light}
*{box-sizing:border-box}
html{scroll-padding:24px}
body{margin:0;padding-bottom:88px;background:var(--mist);color:var(--slate);font-family:'DM Sans',sans-serif;font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased}
html.framed body{padding-bottom:0}
::selection{background:var(--mint);color:var(--slate)}
a{color:inherit;text-underline-offset:5px;text-decoration-thickness:1px}
a:hover{text-decoration-thickness:2px}
button,input,select,textarea{font:inherit;color:inherit}
button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
button{cursor:pointer}
:focus-visible{outline:3px solid var(--slate);outline-offset:5px}
button:focus-visible,.button:focus-visible{outline-color:#1a7f5e}
input,textarea{caret-color:var(--slate)}
[hidden]{display:none!important}
svg{display:block;flex-shrink:0}
h1,h2,h3,p,figure,blockquote{margin:0}
h1,h2,h3{font-weight:600;line-height:1.13;text-wrap:balance}
h1{font-size:clamp(36px,5.2vw,64px);letter-spacing:-.04em}
h2{font-size:30px;letter-spacing:-.025em}
h3{font-size:22px;letter-spacing:-.015em}
p{max-width:68ch}
.wrap{width:min(1120px,calc(100% - 96px));margin-inline:auto}
.narrow{max-width:820px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.skip-link{position:absolute;top:10px;left:16px;z-index:20;transform:translateY(-180%);background:var(--slate);color:var(--white);padding:12px 20px;border-radius:6px}
.skip-link:focus{transform:translateY(0)}
.site-header{display:flex;justify-content:space-between;align-items:center;gap:30px;min-height:104px;border-bottom:1px solid var(--rule)}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-size:17px;font-weight:700;line-height:1.25}
.brand-mark{width:36px;height:36px}
nav ul{display:flex;align-items:center;gap:26px;list-style:none;margin:0;padding:0}
nav a{position:relative;display:flex;align-items:center;min-height:48px;font-size:16px;text-decoration:none}
nav a[aria-current='page']{font-weight:700}
nav a[aria-current='page']::after{content:'';position:absolute;left:0;right:0;bottom:4px;height:3px;background:var(--mint)}
nav a:hover{color:#1a7f5e}
.menu-toggle{display:none}
.hero{padding-block:62px 64px}
.kicker{display:flex;align-items:center;gap:10px;font-size:16px;margin-bottom:26px}
.kicker::before{content:'';width:8px;height:8px;background:var(--mint);border-radius:50%}
.hero-grid{display:grid;grid-template-columns:1.55fr 1fr;gap:76px;align-items:end}
.hero h1{max-width:21ch}
.hero-aside{padding-bottom:5px}
.hero-check .brand-mark{width:52px;height:52px;margin-bottom:24px}
.lede{font-size:20px;line-height:1.6;font-weight:400}
.hero-aside .button{margin-top:30px}
.button{display:inline-flex;justify-content:center;align-items:center;gap:26px;min-height:52px;padding:13px 23px;border:1px solid var(--slate);border-radius:7px;background:var(--slate);color:var(--white);font-size:16px;font-weight:600;text-decoration:none;line-height:1.4}
.button:hover{background:#354c64;border-color:#354c64;text-decoration:none}
.arrow{width:22px;height:22px}
.season-section{border-top:1px solid var(--rule);padding-block:30px 42px}
.season-section h2{font-size:20px;letter-spacing:-.015em;margin-bottom:29px}
.seasons{display:grid;grid-template-columns:repeat(4,1fr);list-style:none;padding:0;margin:0}
.seasons li{position:relative;padding:25px 20px 0 0;border-top:1px solid #74818d}
.seasons li::before{content:'';position:absolute;left:0;top:-6px;width:11px;height:11px;border-radius:50%;background:var(--mint);border:2px solid var(--slate)}
.seasons h3{font-family:'JetBrains Mono',monospace;font-weight:500;font-size:15px;letter-spacing:0;margin-bottom:8px}
.seasons p{font-size:16px;color:var(--secondary)}
.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding-block:14px 74px}
.service-card{border-radius:var(--radius);background:var(--white);padding:30px 28px 32px;border:1px solid var(--rule)}
.service-card svg{width:32px;height:32px;margin-bottom:32px}
.service-card h2{font-size:24px;line-height:1.2;max-width:15ch;margin-bottom:17px}
.service-card p{color:var(--secondary);font-size:16px}
.proof{background:var(--slate);color:var(--white);padding-block:64px}
.proof figure{display:grid;grid-template-columns:2.2fr 1fr;gap:80px;align-items:end}
.proof blockquote{font-size:29px;line-height:1.45;letter-spacing:-.02em}
.proof blockquote::before{content:'';display:block;width:46px;height:5px;background:var(--mint);margin-bottom:25px}
.proof figcaption{font-size:16px;line-height:1.65;max-width:25ch;padding-bottom:6px}
.work-section{padding-block:72px}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:42px;list-style:none;padding:0;margin:36px 0 0}
.step-number{font-family:'JetBrains Mono',monospace;font-weight:500;font-size:22px;display:block;margin-bottom:20px}
.steps li{border-top:1px solid #74818d;padding-top:18px}
.steps p{font-size:18px}
.closing{display:flex;gap:50px;align-items:center;justify-content:space-between;border-top:1px solid var(--rule);padding-block:48px 72px}
.closing h2{max-width:23ch;font-size:36px}
.closing .button{flex-shrink:0}
.page-intro{padding-top:64px;padding-bottom:48px}
.page-intro h1{max-width:18ch;margin-bottom:24px}
.page-intro .lede{max-width:57ch}
.accordion{margin-bottom:88px}
.accordion-item{border-top:1px solid #74818d}
.accordion-item:last-child{border-bottom:1px solid #74818d}
.accordion-item h2{font-size:26px}
.accordion-item button{display:flex;justify-content:space-between;align-items:center;gap:24px;width:100%;padding:26px 4px;border:0;background:transparent;text-align:left;font-size:inherit;font-weight:600;line-height:1.25}
.accordion-item button:hover{color:#1a7f5e}
.accordion-icon{position:relative;width:30px;height:30px;flex:0 0 30px;background:var(--white);border:1px solid var(--slate);border-radius:50%}
.accordion-icon::before,.accordion-icon::after{content:'';position:absolute;width:12px;height:2px;left:8px;top:13px;background:var(--slate)}
.accordion-icon::after{transform:rotate(90deg)}
[aria-expanded='true'] .accordion-icon::after{display:none}
.accordion-panel{padding:4px 54px 32px 4px}
.accordion-panel h3{font-size:20px;margin-bottom:12px}
.accordion-panel p{color:var(--secondary)}
.people{display:grid;grid-template-columns:1fr 1fr;gap:48px;padding-block:10px 64px}
.person{display:flex;align-items:flex-start;gap:26px}
.avatar{width:128px;height:128px}
.person h2{font-size:25px;margin-top:3px}
.person-role{font-size:16px;margin-block:8px 20px;color:var(--secondary)}
.person p:last-child{font-size:17px}
.story{border-top:1px solid var(--rule);display:grid;grid-template-columns:1fr 2fr;gap:54px;padding-block:42px 80px}
.story p{font-size:20px;line-height:1.65}
.contact-layout{display:grid;grid-template-columns:1.3fr 1fr;gap:100px;padding-bottom:80px;align-items:start}
#contact-form{background:var(--white);border:1px solid var(--rule);border-radius:var(--radius);padding:32px}
.field{margin-bottom:24px}
label{display:block;font-size:16px;font-weight:600}
.field label{margin-bottom:8px}
input:not([type='checkbox']),select,textarea{width:100%;border:1px solid #74818d;background:var(--white);border-radius:6px;padding:11px 13px;min-height:48px;font-size:16px;line-height:1.5}
textarea{resize:vertical;min-height:130px}
input::placeholder,textarea::placeholder{color:var(--secondary);opacity:1}
.help{font-size:16px;color:var(--secondary);line-height:1.5;margin-bottom:10px}
.error{color:#a12629;font-size:16px;line-height:1.5;margin-top:7px}
[aria-invalid='true']{border:2px solid #a12629!important}
.form-notice{font-size:16px;margin-bottom:16px}
.office{padding-block:24px}
.office h2{margin-bottom:24px}
address{font-style:normal;font-size:16px;line-height:1.6}
address p+p{margin-top:10px}
address a{display:inline-block;overflow-wrap:anywhere}
.success{padding-block:16px}
.success h2{margin-bottom:18px}
.success p{font-size:18px}
.no-js-hide{display:none}
.js .no-js-hide{display:block}
.js .button.no-js-hide{display:inline-flex}
.checklist-card{background:var(--white);border:1px solid var(--rule);border-radius:var(--radius);padding:32px;margin-bottom:80px}
.progress-track{height:10px;border:1px solid var(--slate);background:var(--mist);border-radius:6px;overflow:hidden}
.progress-fill{display:block;height:100%;width:0;background:var(--mint);transition:width .25s ease-out}
#checklist-status{font-family:'JetBrains Mono',monospace;font-weight:500;font-size:16px;margin-top:14px;min-height:27px}
.checklist{padding:0;margin:25px 0;list-style:none}
.checklist li{border-top:1px solid var(--rule)}
.checklist li:last-child{border-bottom:1px solid var(--rule)}
.checklist label{display:flex;align-items:center;gap:18px;min-height:68px;padding:15px 4px;font-size:18px;font-weight:400;cursor:pointer;line-height:1.45}
.checklist input{appearance:none;flex:0 0 24px;width:24px;height:24px;border:1.5px solid var(--slate);border-radius:5px;display:grid;place-content:center;margin:0;background:var(--white)}
.checklist input:checked{background:var(--slate)}
.checklist input:checked::after{content:'';width:10px;height:6px;border-left:2px solid var(--white);border-bottom:2px solid var(--white);transform:translateY(-1px) rotate(-45deg)}
.checklist input:checked+span{color:var(--secondary)}
.checklist label:hover{background:var(--mist)}
.completion{margin-block:26px;background:var(--mist);padding:24px;border-radius:var(--radius)}
.completion h2{font-size:24px;margin-bottom:10px}
.site-footer{border-top:1px solid var(--rule);padding-block:40px 46px}
.footer-grid{display:grid;grid-template-columns:1fr 1.2fr 1.4fr;gap:44px}
.footer-name{font-weight:600;line-height:1.4;max-width:18ch}
.footer-disclosure{font-size:16px;color:var(--secondary)}
.footer-disclosure a{display:inline-block;color:var(--slate);margin-top:14px}
.ribbon{position:fixed;bottom:0;left:0;right:0;z-index:10;display:flex;align-items:center;justify-content:center;gap:24px;padding:12px 24px;background:var(--white);color:var(--slate);border-top:1px solid #74818d;font-size:12px;line-height:1.5}
.ribbon p{max-width:85ch}
.ribbon a{flex-shrink:0;display:flex;align-items:center;min-height:28px;font-weight:600}
.framed .ribbon{display:none}
.framed a[href="/website-designs"]{display:none}
@media(min-width:761px){.js nav[hidden]{display:block!important}}
@media(max-width:1000px){.wrap{width:calc(100% - 64px)}.site-header{gap:18px}nav ul{gap:18px}.brand{font-size:16px}.hero-grid{gap:40px;grid-template-columns:1.35fr 1fr}.hero h1{font-size:52px}.proof figure{gap:48px}.people{gap:35px}.person{display:block}.avatar{margin-bottom:24px}.contact-layout{gap:48px}.footer-grid{gap:30px}}
@media(max-width:760px){
body{padding-bottom:146px}.wrap{width:calc(100% - 40px)}
.site-header{min-height:84px;flex-wrap:wrap;gap:0;padding-block:18px}
.brand{gap:9px;max-width:calc(100% - 105px);font-size:15px}.brand-mark{width:32px;height:32px}
.js .menu-toggle{display:block;min-width:90px;min-height:44px;padding:8px 11px;border:1px solid var(--slate);border-radius:6px;background:transparent;font-size:14px;line-height:1.2}
nav{flex-basis:100%;padding-top:20px}nav ul{flex-direction:column;align-items:stretch;gap:0}nav a{min-height:48px;border-top:1px solid var(--rule);padding:8px 5px}nav a[aria-current='page']::after{left:auto;right:8px;bottom:20px;width:8px;height:8px;border-radius:50%}
.hero{padding-block:42px}.kicker{margin-bottom:20px}.hero-grid{display:block}.hero h1{font-size:clamp(36px,8.1vw,55px);max-width:22ch}.hero-aside{margin-top:26px}.hero-check{display:none}.lede{font-size:18px}.hero-aside .button{margin-top:24px}
.season-section{padding-block:27px 35px}.season-section h2{margin-bottom:26px}.seasons{display:block}.seasons li{display:grid;grid-template-columns:85px 1fr;gap:16px;border-top:0;border-left:1px solid #74818d;padding:0 0 24px 25px;margin-left:5px;align-items:baseline}.seasons li:last-child{padding-bottom:0}.seasons li::before{left:-6px;top:6px}.seasons h3{margin-bottom:0}.seasons p{line-height:1.45}
.card-grid{grid-template-columns:1fr;gap:14px;padding-block:0 44px}.service-card{padding:25px}.service-card svg{margin-bottom:20px}.service-card h2{max-width:none;font-size:23px;margin-bottom:12px}
.proof{padding-block:42px}.proof figure{display:block}.proof blockquote{font-size:25px;line-height:1.45}.proof figcaption{margin-top:25px;max-width:32ch}
.work-section{padding-block:42px}.work-section h2{font-size:28px}.steps{display:block;margin-top:25px}.steps li{display:grid;grid-template-columns:42px 1fr;gap:18px;padding-block:18px}.step-number{margin:0;font-size:20px}.steps p{font-size:17px}
.closing{display:block;padding-block:32px 44px}.closing h2{font-size:30px;max-width:24ch;margin-bottom:24px}
.page-intro{padding-block:42px 30px}.page-intro h1{font-size:40px;max-width:19ch;margin-bottom:20px}
.accordion{margin-bottom:50px}.accordion-item h2{font-size:23px}.accordion-item button{padding-block:24px}.accordion-panel{padding-right:12px}
.people{display:block;padding-bottom:35px}.person{display:flex;gap:20px;margin-bottom:30px}.avatar{width:82px;height:82px;margin:0}.person h2{font-size:23px}.person-role{margin-bottom:14px}.story{display:block;padding-block:30px 46px}.story h2{margin-bottom:20px}.story p{font-size:18px}
.contact-layout{display:block;padding-bottom:36px}#contact-form{padding:22px}.office{padding-top:36px}.office h2{font-size:27px}address a{min-height:44px;display:inline-flex;align-items:center}address p+p{margin-top:4px}
.checklist-card{padding:22px;margin-bottom:44px}.checklist label{font-size:16px;gap:14px;min-height:72px}.checklist input{flex-basis:24px}.completion{padding:18px}.completion h2{font-size:23px}
.site-footer{padding-block:30px 36px}.footer-grid{grid-template-columns:1fr;gap:24px}.footer-name{max-width:none}.footer-disclosure a{min-height:44px;display:inline-flex;align-items:center;margin-top:5px}
.ribbon{display:block;padding:10px 20px;font-size:11px}.ribbon p{max-width:none}.ribbon a{min-height:44px;width:max-content}
}
@media(max-width:380px){.person{display:block}.avatar{margin-bottom:18px}.checklist-card{padding:18px}.page-intro h1{font-size:36px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important}}
@media print{
@page{margin:16mm}
body{padding:0!important;background:#fff;color:#000;font-size:12pt}
header,nav,.ribbon,.skip-link,button,.site-footer{display:none!important}
.wrap{width:100%;max-width:none}.page-intro{padding:0 0 20px}.page-intro h1{font-size:28pt;max-width:none}.lede{font-size:12pt}.checklist-card{padding:0;border:0;margin:0}.checklist label{font-size:12pt;min-height:44px;break-inside:avoid}.checklist input{-webkit-print-color-adjust:exact;print-color-adjust:exact}.checklist input:checked{background:#fff}.checklist input:checked::after{border-color:#000}.progress-track{-webkit-print-color-adjust:exact;print-color-adjust:exact}.completion{break-inside:avoid;background:#fff;padding:20px 0}.checklist input:checked+span{color:#000}
}
