/* Self-hosted variable fonts (latin subset), SIL OFL 1.1: see /assets/fonts/OFL.txt */@font-face{font-family:'DM Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url(/assets/fonts/dm-sans-latin-var.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:'Manrope';font-style:normal;font-weight:400 800;font-display:swap;src:url(/assets/fonts/manrope-latin-var.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{--ink:#193d34;--green:#285847;--mint:#e9f0e9;--blue:#e8eff8;--text:#52655e;--white:#fff;--line:#d5dfd9;--radius:22px}*{box-sizing:border-box}[hidden]{display:none!important}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);font-family:'DM Sans',sans-serif;background:#fff}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button,a{ -webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid #bd661d;outline-offset:5px}img{display:block;max-width:100%}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Manrope,sans-serif}p{line-height:1.65}h2{font-size:clamp(32px,3.8vw,55px);line-height:1.13;letter-spacing:-2px;font-weight:600}h3{font-weight:600} .topline{background:var(--green);color:#fff;display:flex;justify-content:space-between;padding:11px 5%;font-size:12px}.topline a{font-weight:600}header{height:106px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;gap:30px;background:#fff}.logo{height:auto;width:171px}nav{display:flex;gap:30px;font-size:14px;font-weight:550}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;background:var(--green);color:#fff;padding:19px 24px;border-radius:7px;font-weight:550;font-size:14px;transition:background .2s}.button:hover{background:#173c2f}.button span{font-size:21px}.button.small{padding:13px 19px}.menu{display:none}.hero{margin:0 22px;background:var(--blue);border-radius:24px;display:grid;grid-template-columns:1.02fr 1fr;min-height:690px;overflow:hidden}.hero-copy{padding:49px 5vw 35px}.eyebrow{font-size:13px;font-weight:550;margin-bottom:24px}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#59846b;margin-right:9px}.hero h1{font-size:clamp(46px,5.1vw,77px);line-height:1.055;letter-spacing:-3.6px;font-weight:550}.hero-intro{max-width:370px;font-size:15px;margin-top:24px}.hero-actions{display:flex;align-items:center;gap:24px;margin-top:28px}.text-link{font-size:13px;font-weight:600;border-bottom:1px solid;padding-bottom:4px}.hero-foot{display:flex;align-items:center;gap:13px;font-size:11px;line-height:1.7;margin-top:34px}.mini-mark{border:1px solid #acbeb9;border-radius:50%;width:35px;height:35px;display:grid;place-items:center;font-size:16px}.hero-visual{position:relative;margin:16px 16px 16px 0;border-radius:15px;overflow:hidden;background:#afc6c4}.hero-photo{width:100%;height:100%;object-fit:cover;object-position:50% 24%;position:absolute}.hero-visual:after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,rgba(18,53,42,.65));pointer-events:none}.photo-caption{position:absolute;top:24px;left:23px;background:#ffffffed;padding:10px 14px;border-radius:4px;font-size:11px;z-index:1}.visual-note{position:absolute;bottom:54px;left:25px;right:25px;z-index:1;background:#f7faf6f5;display:flex;gap:17px;align-items:center;padding:23px;border-radius:12px}.note-icon{font-size:29px;border:1px solid #bbccc1;border-radius:50%;padding:5px 13px}.visual-note strong{font-size:18px;letter-spacing:-.5px}.visual-note p{font-size:12px;margin-top:5px}.photo-credit{position:absolute;bottom:19px;left:27px;z-index:1;color:white;font-size:10px}.service-ribbon{display:flex;justify-content:space-between;align-items:center;gap:18px;margin:0 5%;padding:29px 0;border-bottom:1px solid var(--line);font-size:13px;font-weight:500}.service-ribbon>span:first-child{font-size:11px;color:var(--text);max-width:110px}.service-ribbon i{font-size:20px;font-style:normal;color:#7f9d8b}.section{padding:96px 7%}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:44px}.section-heading>p{font-size:14px;color:var(--text);margin-bottom:5px}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:65px}.service-feature{border-radius:16px;background:var(--mint);padding:29px 32px 23px;display:block;overflow:hidden}.feature-top{display:flex;justify-content:space-between;align-items:center;font-size:12px}.round-arrow{font-size:26px}.service-feature h3{font-size:31px;line-height:1.2;letter-spacing:-1px;margin:24px 0 15px}.service-feature>p{font-size:13px;max-width:360px;color:var(--text)}.claim-illustration{position:relative;height:202px;padding:27px 30px 0}.paper{background:#fff;transform:rotate(-5deg);padding:19px 25px;box-shadow:0 5px 25px #274c3710;max-width:320px;margin:auto;border-radius:5px}.paper>span{font-size:9px;color:#667c70}.paper>b{display:block;font:500 22px Manrope;margin:7px 0 15px}.paper i{display:block;width:80%;height:5px;background:#e2e9e3;margin:8px 0}.paper i:nth-child(2){width:65%}.paper footer{display:flex;justify-content:space-between;font-size:8px;margin-top:21px}.paper-stamp{position:absolute;right:6%;top:73px;border-radius:50%;width:99px;height:99px;display:grid;place-content:center;text-align:center;background:#c5d8fb;transform:rotate(12deg);font:600 17px Manrope}.feature-link{display:flex;justify-content:space-between;border-top:1px solid #cbd7ce;padding-top:18px;font-size:12px;font-weight:600}.service-list details{border-bottom:1px solid var(--line);padding:26px 0}.service-list details:first-child{padding-top:10px}.service-list summary{display:flex;justify-content:space-between;gap:12px;cursor:pointer;font:550 24px Manrope;letter-spacing:-.7px;list-style:none}.service-list summary::-webkit-details-marker{display:none}.plus{font-weight:400;font-size:25px}.service-list details[open] .plus{transform:rotate(45deg)}.service-list p{font-size:14px;color:var(--text);padding:20px 25px 14px 0}.service-list a{font-size:12px;text-decoration:underline;text-underline-offset:5px}.practice-section{margin:0 22px;background:var(--blue);padding:68px 6%;border-radius:22px;display:grid;grid-template-columns:1fr 1fr;gap:70px}.practice-section p:not(.eyebrow){font-size:14px;margin:21px 0;color:var(--text)}.specialties{display:grid;grid-template-columns:1fr 1fr;align-content:center;gap:15px}.specialties>a{background:#ffffffb5;border-radius:8px;font-size:14px;padding:25px 18px;display:flex;justify-content:space-between;gap:10px;align-items:center;min-height:90px}.specialties b{font-weight:400}.approach-heading{display:flex;justify-content:space-between;gap:50px;align-items:end}.approach-heading>p{max-width:285px;font-size:14px;color:var(--text)}.approach-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:65px;margin-top:55px}.approach-symbol{font-size:34px;color:#507962;display:block;margin-bottom:24px}.approach-grid h3{font-size:20px;letter-spacing:-.6px;margin-bottom:13px}.approach-grid p{font-size:13px;color:var(--text)}.bulletin{background:#f3f6f2;padding:70px 0 65px;overflow:hidden}.bulletin-heading{display:flex;align-items:end;justify-content:space-between;padding:0 7%;gap:25px}.bulletin h2{font-size:43px}.bulletin h2 .dot{margin-left:12px;width:10px;height:10px}.news-controls{display:flex;gap:8px}.news-controls button{border:1px solid #b9c8bd;border-radius:50%;background:transparent;width:40px;height:40px;color:var(--ink)}.news-controls #pause{width:auto;padding:0 15px;border-radius:24px;font-size:11px}.preview-note{font-size:11px;color:#647469;padding:15px 7% 26px}.news-track{display:flex;gap:25px;overflow-x:auto;padding:0 7% 20px;scrollbar-width:thin;scrollbar-color:#a3b5a7 transparent;scroll-snap-type:x proximity}.news-card{flex:0 0 365px;padding:0;text-align:left;background:transparent;border:0;color:var(--ink);scroll-snap-align:center}.news-img{height:235px;border-radius:12px;overflow:hidden;position:relative;background:#dde6dc}.news-img>img{height:100%;width:100%;object-fit:cover;transition:transform .35s}.news-card:hover img{transform:scale(1.035)}.news-img>span:not(.big-star){position:absolute;bottom:16px;left:16px;border-radius:20px;background:white;padding:7px 12px;font-size:10px}.news-copy{padding:20px 0}.news-copy small{font-size:10px;color:#596e61}.news-copy h3{font-size:24px;line-height:1.3;letter-spacing:-.8px;margin:10px 0}.news-copy p{font-size:12px;color:var(--text);max-width:330px}.news-copy>span{display:block;font-size:11px;margin-top:20px;font-weight:600}.blue-art{background:#cbdcf2}.audit-art{padding:23px 26px}.audit-art>span{font-size:8px;letter-spacing:1px}.audit-art>b{display:block;font:550 38px/1.1 Manrope;letter-spacing:-1.8px;margin-top:16px}.audit-art>div{font-size:10px;margin-top:12px}.green-art{background:#acc6b0;display:grid;place-items:center}.big-star{font-size:160px;line-height:1;color:#37664d}.audit{background:var(--green);color:white;display:grid;grid-template-columns:1.1fr 1fr;gap:95px;margin:22px;border-radius:22px;padding:72px 6%}.audit h2{font-size:52px}.audit>div>p:not(.eyebrow){max-width:400px;font-size:14px;color:#d9e4dc;margin:25px 0}.button.light{background:#f1f6ed;color:var(--ink);margin-top:3px}.button.light:hover{background:#dce8d7}.audit-email{display:block;font-size:12px;margin-top:20px;text-decoration:underline;text-underline-offset:5px}.audit-panel{background:#ffffff0b;border:1px solid #ffffff35;border-radius:12px;padding:31px}.audit-panel>span{font-size:11px;color:#d2e0d6}.audit-panel h3{font-size:28px;line-height:1.25;margin-top:18px;letter-spacing:-.9px}.audit-panel ul{list-style:none;padding:0;margin:25px 0}.audit-panel li{font-size:12px;padding:12px 0;border-bottom:1px solid #ffffff25}.audit-panel li:before{content:'✓';margin-right:13px;color:#b8d1b7}.audit-panel p{font-size:10px!important;line-height:1.7!important;color:#d1ded4!important;margin:0!important}.site-footer{padding:55px 7% 20px}.footer-top{display:grid;grid-template-columns:1fr 1fr 1fr 1.1fr;gap:30px;padding-bottom:48px}.footer-top p{font-size:12px;color:var(--text);margin-top:16px}.footer-top h3{font-size:12px;margin:12px 0 19px}.footer-top>div>a{display:block;font-size:12px;margin-bottom:12px}.footer-meet{font:500 26px/1.3 Manrope;letter-spacing:-1px;align-self:center}.footer-bottom{border-top:1px solid var(--line);padding-top:20px;display:flex;justify-content:space-between;gap:15px;font-size:10px;color:var(--text)}.skip{position:absolute;top:-100px;background:#fff;z-index:5;padding:20px}.skip:focus{top:0}dialog{border:0;border-radius:18px;padding:45px;max-width:620px;width:calc(100% - 30px);color:var(--ink)}dialog::backdrop{background:#183a30a8}dialog h2{font-size:34px;margin-bottom:25px}dialog p{font-size:15px;margin-bottom:18px}dialog .button{margin-top:15px}.dialog-close{position:absolute;right:15px;top:15px;border:0;background:var(--mint);border-radius:50%;width:32px;height:32px}
@media(min-width:1600px){body{max-width:1600px;margin:auto}.hero h1{font-size:77px}}@media(max-width:1100px){nav{gap:18px;font-size:12px}.hero-copy{padding:40px 4vw}.hero h1{font-size:58px}.hero-actions{gap:15px;flex-wrap:wrap}.hero{min-height:660px}.visual-note{padding:17px;left:15px;right:15px}.visual-note strong{font-size:16px}.section{padding:75px 6%}.service-grid{gap:35px}.practice-section{gap:35px}.audit{gap:40px}.audit h2{font-size:43px}.service-list summary{font-size:20px}}
@media(max-width:760px){.topline{justify-content:center;font-size:10px}.topline>span{display:none}header{height:87px;padding:0 6%;gap:15px;position:relative}.logo{width:140px}.nav-cta{display:none}.menu{display:block;border:1px solid var(--line);background:white;border-radius:5px;padding:9px 15px;color:var(--ink)}nav{display:none;position:absolute;top:80px;left:5%;right:5%;padding:22px;background:white;box-shadow:0 10px 25px #14362820;z-index:5;border-radius:10px}nav.open{display:grid;gap:22px}.hero{grid-template-columns:1fr;margin:0 12px;border-radius:16px}.hero-copy{padding:32px 25px}.hero h1{font-size:clamp(45px,10vw,65px);letter-spacing:-2.5px}.hero .eyebrow{font-size:12px;margin-bottom:23px}.hero-intro{font-size:14px}.hero-actions{gap:20px;margin-top:23px}.button{padding:16px 19px;font-size:12px;gap:20px}.hero-foot{margin-top:25px}.hero-visual{height:430px;margin:0 12px 12px}.hero-photo{object-position:50% 28%}.visual-note{bottom:38px}.photo-credit{bottom:12px}.service-ribbon{flex-wrap:wrap;justify-content:center;padding:23px 0;font-size:11px;gap:12px 18px}.service-ribbon>span:first-child{flex-basis:100%;max-width:none;text-align:center}.service-ribbon i{font-size:12px}.service-ribbon i:last-of-type{display:none}.section{padding:58px 7%}h2{font-size:35px;letter-spacing:-1.5px}.section-heading{display:block;margin-bottom:32px}.section-heading>p{margin-top:20px;font-size:13px}.section-heading>p br{display:none}.service-grid{grid-template-columns:1fr;gap:25px}.service-feature{padding:24px}.service-feature h3{font-size:27px}.claim-illustration{padding:27px 5px 0}.paper-stamp{right:0;width:85px;height:85px;font-size:15px}.service-list summary{font-size:20px}.practice-section{margin:0 12px;padding:38px 24px;grid-template-columns:1fr;gap:25px}.specialties{gap:10px}.specialties>a{padding:16px 12px;min-height:85px;font-size:12px}.approach-heading{display:block}.approach-heading>p{margin-top:20px}.approach-grid{grid-template-columns:1fr;gap:30px;margin-top:30px}.approach-grid article{position:relative;padding-left:55px}.approach-symbol{position:absolute;left:0;top:-8px;font-size:31px}.approach-grid h3{font-size:19px}.bulletin{padding:45px 0 20px}.bulletin-heading{display:block}.bulletin h2{font-size:32px;letter-spacing:-1.5px}.news-controls{margin-top:22px}.news-card{flex-basis:83vw}.news-img{height:220px}.news-track{gap:20px}.audit{margin:12px;padding:40px 25px;grid-template-columns:1fr;gap:35px}.audit h2{font-size:38px}.audit-panel{padding:25px}.footer-top{grid-template-columns:1fr 1fr;gap:30px 16px}.footer-top>div:first-child{grid-column:1/-1}.footer-meet{font-size:24px;grid-column:1/-1}.footer-top>div>a{font-size:11px}.footer-bottom{flex-wrap:wrap;font-size:9px}.footer-bottom>span:nth-child(2){order:3;flex-basis:100%}.site-footer{padding-top:38px}dialog{padding:35px 24px}dialog h2{font-size:28px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
/* Interior pages share the homepage palette and typography. */
nav a[aria-current=page]{color:#2d704f;text-decoration:underline;text-underline-offset:7px}.page-hero{margin:0 22px;background:var(--blue);border-radius:22px;padding:64px 6%;display:flex;justify-content:space-between;gap:55px;align-items:center}.breadcrumbs{font-size:12px;color:var(--text);margin-bottom:28px}.breadcrumbs a{text-decoration:underline;text-underline-offset:3px}.page-hero h1{font-size:clamp(42px,5vw,72px);font-weight:550;letter-spacing:-3px;line-height:1.08;max-width:820px}.page-intro{font-size:17px;max-width:610px;margin-top:25px;color:var(--text)}.page-content{padding:70px 7%}.page-service-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.page-service-card{display:block;border:1px solid var(--line);border-radius:16px;padding:36px;position:relative}.page-service-card:hover{background:#f4f8f4}.page-service-card h2{font-size:30px;letter-spacing:-1px;padding-right:20px}.page-service-card p{font-size:15px;max-width:430px;margin:20px 0;color:var(--text)}.card-arrow{position:absolute;top:25px;right:25px;font-size:25px}.read-link{font-size:13px;text-decoration:underline;text-underline-offset:5px}.pale{background:var(--mint)}.page-cta{margin:0 22px 22px;background:var(--green);border-radius:20px;padding:50px 6%;display:flex;align-items:center;justify-content:space-between;gap:30px;color:white}.page-cta h2{font-size:34px;letter-spacing:-1.4px}.page-cta p{font-size:14px;margin-top:15px;color:#d6e5db}.page-cta .button{background:#edf4e9;color:var(--ink);flex-shrink:0}.content-split{display:grid;grid-template-columns:1fr 1fr;gap:70px}.detail-list article{border-bottom:1px solid var(--line);padding:0 0 27px;margin-bottom:28px}.detail-list h3{font-size:23px;letter-spacing:-.5px}.detail-list p,.prose p{font-size:16px;color:var(--text);margin-top:15px}.prose p:first-child{margin-top:0}.scope-note{background:var(--mint);padding:30px 35px;margin:45px 0 30px;border-radius:12px}.scope-note h3{font-size:21px;margin-bottom:13px}.scope-note p{font-size:14px;max-width:830px;color:var(--text)}.hero-aside{background:white;border-radius:15px;padding:30px;min-width:300px;max-width:360px}.hero-aside>span{font-size:12px}.hero-aside h2{font-size:29px;letter-spacing:-1px;margin-top:20px}.hero-aside p{font-size:14px;margin:20px 0;color:var(--text)}.audit-topics{display:grid;grid-template-columns:1fr 1fr;gap:35px 60px}.audit-topics h3{font-size:23px;margin-bottom:14px}.audit-topics p{font-size:15px;color:var(--text)}.process-section{padding:60px 7%;background:var(--mint)}.process-section ol{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;margin:35px 0 0;padding-left:23px}.process-section li{padding-left:10px}.process-section h3{font-size:20px;margin-bottom:15px}.process-section p{font-size:14px;color:var(--text)}.narrow{max-width:950px;margin:auto}.narrow h2{margin-bottom:35px}.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin-top:65px}.values-grid span{font-size:34px;display:block;margin-bottom:20px}.values-grid h3{font-size:23px;margin-bottom:15px}.values-grid p{font-size:15px;color:var(--text)}.news-page-grid{display:grid;grid-template-columns:1fr 1fr;gap:45px}.news-page-grid .news-img{height:310px}.news-page-grid .news-copy p{max-width:none;font-size:14px}.editorial-label{font-size:12px;color:var(--text);margin-bottom:28px}.article-content{max-width:850px;margin:auto}.article-content section{margin-bottom:40px}.article-content h2{font-size:29px;letter-spacing:-.8px;margin-bottom:17px}.article-content section p{font-size:17px;color:var(--text)}.contact-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:65px}.contact-primary{padding:40px;background:var(--mint);border-radius:16px}.contact-primary p:not(.eyebrow){font-size:16px;margin:25px 0;color:var(--text)}.contact-primary small{display:block;font-size:11px;margin-top:20px}.contact-options article{padding:20px 0 30px;border-bottom:1px solid var(--line)}.contact-options h3{font-size:24px;margin-bottom:20px}.contact-options a{font-size:19px;text-decoration:underline;text-underline-offset:5px;overflow-wrap:anywhere}.contact-options p{font-size:14px;color:var(--text);margin-top:20px}
@media(max-width:760px){.page-hero{margin:0 12px;padding:36px 25px;display:block}.page-hero h1{font-size:43px;letter-spacing:-2px}.page-intro{font-size:15px}.hero-aside{margin-top:30px;min-width:0;max-width:none}.page-content{padding:45px 7%}.page-service-grid,.content-split,.audit-topics,.values-grid,.news-page-grid,.contact-grid{grid-template-columns:1fr;gap:25px}.page-service-card{padding:28px}.page-service-card h2{font-size:27px}.page-cta{display:block;margin:0 12px 12px;padding:35px 25px}.page-cta h2{font-size:31px}.page-cta .button{margin-top:25px}.scope-note{padding:25px;margin:30px 0}.process-section{padding:40px 7%}.process-section ol{grid-template-columns:1fr;gap:30px}.values-grid{margin-top:40px}.values-grid article{padding-bottom:15px}.contact-primary{padding:27px}.news-page-grid .news-img{height:240px}.contact-options a{font-size:17px}.article-content section p{font-size:16px}}
/* Visual-first homepage opening. */
.visual-hero{position:relative;isolation:isolate;min-height:650px;height:calc(100svh - 166px);max-height:900px;margin:0 22px;overflow:hidden;border-radius:20px;background:#25483f;color:#fff}.visual-hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 43%;z-index:-3}.visual-hero-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(12,38,32,.89) 0%,rgba(12,38,32,.67) 35%,rgba(12,38,32,.13) 70%),linear-gradient(0deg,rgba(12,38,32,.6),transparent 30%)}.visual-hero-content{padding:75px 6%;position:relative;max-width:750px}.visual-hero-content>p:first-child{font-size:14px;margin-bottom:24px}.visual-hero h1{font-size:clamp(68px,7.8vw,116px);line-height:1.01;letter-spacing:-5px;font-weight:550}.visual-hero-subtitle{font-size:18px;margin:28px 0 30px;line-height:1.6;color:#f0f5ef}.visual-hero .button{background:#edf3e8;color:#193d34}.visual-hero .button:hover{background:#fff}.visual-hero-bottom{position:absolute;bottom:27px;left:6%;right:4%;display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:12px}.visual-hero-bottom a{display:flex;align-items:center;gap:28px}.visual-hero-bottom a span{font-size:22px}.visual-hero-bottom>span{font-size:10px}.welcome-strip{display:grid;grid-template-columns:1.1fr 1fr;gap:90px;align-items:center;padding:60px 7% 35px}.welcome-strip h2{font-size:36px;letter-spacing:-1.5px;line-height:1.25}.welcome-strip p{font-size:15px;color:var(--text);max-width:420px;margin-bottom:18px}
@media(max-width:760px){.visual-hero{margin:0 12px;min-height:600px;height:calc(100svh - 135px);max-height:780px;border-radius:14px}.visual-hero-image{object-position:60% center}.visual-hero-shade{background:linear-gradient(90deg,rgba(12,38,32,.8),rgba(12,38,32,.25)),linear-gradient(0deg,rgba(12,38,32,.68),transparent 45%)}.visual-hero-content{padding:65px 25px 90px}.visual-hero-content>p:first-child{font-size:12px}.visual-hero h1{font-size:76px;letter-spacing:-3.5px}.visual-hero-subtitle{font-size:15px;margin:25px 0}.visual-hero-bottom{left:25px;right:20px;bottom:22px;align-items:end}.visual-hero-bottom>span{font-size:8px;max-width:70px;text-align:right}.visual-hero-bottom a{font-size:11px;gap:12px}.welcome-strip{grid-template-columns:1fr;gap:23px;padding:40px 7% 20px}.welcome-strip h2{font-size:28px;letter-spacing:-1px}.welcome-strip p{font-size:14px}}
/* Same media as the hero's phone crop (templates/home.html HERO_PHONE), which is already centred on its subject */@media(max-width:600px) and (orientation:portrait){.visual-hero-image{object-position:center}}

/* Task 12: booking placements (PRD CTA-1, CTA-2, CTA-3, CTA-9) */
:root{--mobile-cta-height:70px}
/* Header "Book a call" (CTA-1): stays visible on small screens, beside the menu button. The header
   may wrap rather than scroll sideways if the text is enlarged. */
@media(max-width:760px){header{height:auto;min-height:87px;flex-wrap:wrap;row-gap:10px;padding-top:10px;padding-bottom:10px}header .nav-cta.button{display:inline-flex;order:1;margin-left:auto;padding:12px 15px;white-space:nowrap}header .nav-cta span{display:none}header .menu{order:2}#navigation{top:calc(100% - 7px)}}
@media(max-width:420px){header{column-gap:10px}.logo{width:116px}header .nav-cta.button{padding:12px 13px}header .menu{padding:9px 12px}}
@media(max-width:360px){header{padding-left:4%;padding-right:4%}.logo{width:100px}header .nav-cta.button{padding:11px 11px}header .menu{padding:9px 10px}}
/* Mobile Call/Book bar (CTA-2): under 768 px only. The body reserves its height, the bar clears the
   iPhone home indicator, and scroll-padding keeps a keyboard-focused element above it. */
.mobile-cta{display:none}
@media(max-width:767px){html{scroll-padding-bottom:calc(var(--mobile-cta-height) + env(safe-area-inset-bottom) + 16px)}body.has-mobile-cta{padding-bottom:calc(var(--mobile-cta-height) + env(safe-area-inset-bottom))}.mobile-cta{display:grid;grid-template-columns:1fr 1fr;gap:10px;position:fixed;top:auto;left:0;right:0;bottom:0;z-index:30;height:calc(var(--mobile-cta-height) + env(safe-area-inset-bottom));padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--line);border-radius:0;box-shadow:0 -8px 22px #14362812;font-size:14px;font-weight:550}.mobile-cta a{display:flex;align-items:center;justify-content:center;border:1px solid var(--green);border-radius:7px;color:var(--green);background:#fff;text-decoration:none}.mobile-cta a:focus-visible{outline-offset:2px}.mobile-cta .mobile-cta-book{background:var(--green);color:#fff}}
/* Inline Calendly (CTA-3): the fallback link and phone sit in the reserved space until the calendar loads. */
.inline-booking{display:flex;flex-direction:column;justify-content:center;background:var(--mint);border-radius:16px;overflow:hidden}.contact-grid+.inline-booking{margin-top:45px}.inline-booking-fallback{display:grid;justify-items:center;gap:20px;padding:40px 25px;text-align:center}.inline-booking-fallback p{font-size:14px;color:var(--text)}.inline-booking-fallback p a{font-weight:600;text-decoration:underline;text-underline-offset:4px}
/* Edge to edge on phones (Calendly needs 320 px): cancels .page-content's 7% side padding, which is 7/86 of this box's containing width. */
@media(max-width:760px){.inline-booking{margin-inline:calc(-7% / .86);border-radius:0}}
/* Task 13: lead form (CTA-10, NFR-2) and /thank-you/. Error red #a3261b is 7.4:1 on white and 6.4:1 on mint;
   field borders #52655e are 6.2:1; inputs get the site's orange focus ring. The honeypot is off-screen. */
.lead-form{display:grid;grid-template-columns:.8fr 1.2fr;gap:50px;margin-top:45px;padding:40px;background:var(--mint);border-radius:16px}.lead-form-intro h2{font-size:clamp(28px,3vw,42px);letter-spacing:-1.5px;margin-bottom:20px}.lead-form-intro p:not(.eyebrow){font-size:15px;color:var(--text)}.lead-form-intro .lead-form-contact{margin-top:18px}.lead-form-contact a{font-weight:600;color:var(--ink);text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}.lead-form-body{background:#fff;border-radius:12px;padding:32px;min-width:0}.lead-required-note{font-size:13px;color:var(--text);margin-bottom:18px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px 22px}.field{display:flex;flex-direction:column;gap:7px;min-width:0}.field-wide{grid-column:1/-1}.field label{font-size:14px;font-weight:600}.field .optional{font-weight:400;color:var(--text)}.field-hint,.field-note{font-size:13px;line-height:1.5;color:var(--text)}.field-note{font-weight:600;color:var(--ink)}.field input,.field select,.field textarea{width:100%;min-height:48px;padding:12px 14px;font:inherit;font-size:16px;color:var(--ink);background:#fff;border:1px solid var(--text);border-radius:7px}.field textarea{min-height:110px;resize:vertical}.field input::placeholder{color:var(--text);opacity:1}.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible{outline:3px solid #bd661d;outline-offset:2px}.field [aria-invalid=true]{border:2px solid #a3261b}.field-error{font-size:13px;font-weight:600;color:#a3261b}.field-error:empty{display:none}.hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.lead-submit{display:flex;flex-wrap:wrap;align-items:center;gap:14px 22px;margin-top:26px}.lead-submit .button{border:0}.lead-submit p{font-size:13px;color:var(--text)}.button:disabled{opacity:.65;cursor:progress}.lead-status:not(:empty){padding:18px 20px;border-radius:10px;background:var(--mint);font-size:15px;line-height:1.6}form:not([hidden])+.lead-status:not(:empty){margin-top:20px}.lead-status[data-state=failed],.lead-status[data-state=invalid],.lead-notice{border-left:4px solid #a3261b}.lead-notice{margin-bottom:20px;padding:16px 18px;border-radius:10px;background:#fbeceb;font-size:14px;line-height:1.6}.lead-status a,.lead-notice a{font-weight:600;text-decoration:underline;text-underline-offset:3px}
.thank-you h2{margin-bottom:25px}.thank-you p{font-size:16px;color:var(--text)}.thank-you p+p{margin-top:18px}.lead-reference{margin-bottom:35px;padding:18px 22px;border-radius:10px;background:var(--mint);color:var(--ink)!important}.thank-you-actions{display:flex;flex-wrap:wrap;align-items:center;gap:18px 26px;margin-top:35px}.thank-you-actions p{font-size:14px}.thank-you-actions p a{font-weight:600;text-decoration:underline;text-underline-offset:4px}
@media(max-width:760px){.lead-form{grid-template-columns:1fr;gap:25px;padding:30px 18px;margin-inline:calc(-7% / .86);border-radius:0}.lead-form-body{padding:20px 16px}.field-grid{grid-template-columns:1fr}}
/* Task 15: audit process card (PRD CRED-4, AUD-1, AUD-2). Replaces the fictional recovery graphic:
   the three steps as a numbered timeline, then the areas an audit can cover. No figures. Step numbers
   come from the <ol> counter, so order is carried by text, not colour. Text colours are 7:1+ on white. */
.audit-feature{background:#eaf0e8;padding:29px 30px}.audit-feature h3{font-size:33px;letter-spacing:-1.2px}.audit-feature>p{max-width:410px}.audit-feature+.service-list{align-self:center}
.audit-visual{background:#fff;border:1px solid #dbe5d9;border-radius:13px;margin:27px 0 20px;padding:24px 24px 20px;box-shadow:0 8px 26px #1e473309}
.audit-visual-label{display:flex;align-items:center;gap:7px;color:#52655e;font-size:10px;letter-spacing:.4px;text-transform:uppercase;margin-bottom:20px}.audit-dot{width:6px;height:6px;border-radius:50%;background:#7a9675}
.audit-steps{list-style:none;margin:0;padding:0;counter-reset:audit-step}
.audit-steps li{position:relative;display:grid;grid-template-columns:36px 1fr;column-gap:15px;padding-bottom:19px;counter-increment:audit-step}
.audit-steps li:before{content:counter(audit-step);grid-row:1/span 2;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font:600 15px Manrope;color:var(--green);background:var(--mint);border:1px solid #c6d6c8;position:relative;z-index:1}
.audit-steps li:first-child:before{background:var(--green);border-color:var(--green);color:#fff}
.audit-steps li:not(:last-child):after{content:'';position:absolute;left:18px;top:36px;bottom:0;width:1px;background:#c6d6c8}
.audit-steps strong{font:600 16px/1.3 Manrope;letter-spacing:-.3px;color:var(--ink);padding-top:2px}
.audit-steps li>span{font-size:12px;line-height:1.55;color:var(--text);margin-top:3px}
.audit-areas{border-top:1px solid #e1e8de;margin-top:4px;padding-top:18px}
.audit-areas h4{font:600 10px 'DM Sans',sans-serif;letter-spacing:.4px;text-transform:uppercase;color:#52655e;margin:0 0 12px}
.audit-area-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:8px}
.audit-area-list li{display:flex;gap:9px;align-items:flex-start;background:#f3f7f2;border-radius:8px;padding:10px 12px;font-size:11.5px;line-height:1.45;color:var(--ink)}
.audit-area-list li:before{content:'✳';color:#507962;font-size:12px;line-height:1.3;flex-shrink:0}
.audit-area-list .audit-area-wide{grid-column:1/-1}
.audit-book{width:100%;font-size:12px;padding:16px 18px;gap:12px}
.audit-details{display:block;text-align:center;font-size:11px;text-decoration:underline;text-underline-offset:4px;margin-top:15px}
@media(max-width:760px){.audit-feature{padding:24px 20px}.audit-feature h3{font-size:28px}.audit-visual{padding:20px 16px 16px}.audit-steps li{grid-template-columns:32px 1fr;column-gap:13px}.audit-steps li:before{width:32px;height:32px;font-size:14px}.audit-steps li:not(:last-child):after{left:16px;top:32px}.audit-steps strong{font-size:15px}.audit-area-list{grid-template-columns:1fr}.audit-book{font-size:11px;padding:15px 13px}}
/* Task 16: audit page (PRD AUD-1…AUD-3). The call and the audit side by side as two cards, each a
   <dl> of what it is / needs / delivers; the "doesn't promise" points in three columns. Text colours are
   the site's --ink and --text (7:1+ on white and mint). */
.audit-compare{display:grid;grid-template-columns:1fr 1fr;gap:25px}.audit-compare article{border:1px solid var(--line);border-radius:16px;padding:34px}.audit-compare article:first-child{background:var(--mint);border-color:var(--mint)}.audit-compare-label{font-size:12px;font-weight:600;color:var(--text);letter-spacing:.3px}.audit-compare h3{font-size:30px;letter-spacing:-1px;margin:14px 0 22px}.audit-compare dl{margin:0}.audit-compare dl>div{border-top:1px solid var(--line);padding:16px 0}.audit-compare dl>div:last-child{padding-bottom:0}.audit-compare dt{font-size:12px;font-weight:600;margin-bottom:6px}.audit-compare dd{margin:0;font-size:15px;line-height:1.6;color:var(--text)}
.audit-limits{grid-template-columns:repeat(3,1fr)}.audit-sample-note{font-size:16px;color:var(--text);max-width:640px}
@media(max-width:760px){.audit-compare{grid-template-columns:1fr;gap:18px}.audit-compare article{padding:26px 22px}.audit-compare h3{font-size:26px}.audit-limits{grid-template-columns:1fr}}
/* Task 17: sample report (PRD AUD-4). The label strip leads the page and every caption; wide tables scroll
   inside their own box (.sample-table) so the page never scrolls sideways; print (the PDF) drops the site
   chrome and repeats the label in an @page bottom margin box on every page (Chrome 131+; a fixed-position
   footer overlapped content). Label text #5c3d00 on #fdf1dc is 9:1. */
.sample-banner{margin:0 22px 14px;padding:12px 18px;border:1px solid #e8cf9c;border-radius:10px;background:#fdf1dc;color:#5c3d00;font-size:14px;font-weight:600;line-height:1.5}
.sample-intro p{font-size:16px;color:var(--text);margin-bottom:14px}.sample-links{display:flex;flex-wrap:wrap;gap:12px 28px;margin-top:22px}.sample-links a{color:var(--green);font-weight:600;text-decoration:underline;text-underline-offset:4px}
.sample-section{max-width:1180px;margin:auto;padding-top:34px;padding-bottom:34px}.sample-section h2{font-size:clamp(26px,3vw,38px);letter-spacing:-1px;margin-bottom:12px}.sample-section h3{font-size:19px;margin:30px 0 4px}.sample-section>p{font-size:15px;color:var(--text);max-width:760px}
.sample-num{display:inline-flex;align-items:center;justify-content:center;width:1.3em;height:1.3em;margin-right:6px;border-radius:50%;background:var(--mint);color:var(--green);font-size:.7em;letter-spacing:0;vertical-align:.12em}
.sample-meta dl{display:grid;grid-template-columns:repeat(3,1fr);gap:0 30px;margin:18px 0 10px}.sample-meta dl>div{border-top:1px solid var(--line);padding:12px 0}.sample-meta dt{font-size:12px;font-weight:600;color:var(--text)}.sample-meta dd{margin:4px 0 0;font:600 17px/1.4 Manrope,sans-serif}
.sample-contents{margin-top:22px;padding:20px 24px;background:var(--mint);border-radius:14px}.sample-contents p{font-size:12px;font-weight:600;color:var(--text)}.sample-contents ol{margin:8px 0 0;padding-left:22px;columns:2;column-gap:30px;font-size:15px;line-height:1.9}.sample-contents a{text-decoration:underline;text-underline-offset:3px}
.sample-table{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;margin:14px 0 10px;border:1px solid var(--line);border-radius:12px;background:#fff}.sample-table:focus-visible{outline:3px solid #bd661d;outline-offset:3px}
.sample-table table{width:100%;min-width:520px;border-collapse:collapse;font-size:14px}.sample-table caption{caption-side:top;text-align:left;padding:14px 16px 10px;font:600 15px/1.4 Manrope,sans-serif}.sample-tag{display:block;margin-bottom:3px;font:600 11px/1.4 'DM Sans',sans-serif;color:#7a5200;letter-spacing:.2px}
.sample-table th,.sample-table td{padding:10px 16px;border-top:1px solid var(--line);text-align:left;vertical-align:top;white-space:nowrap}.sample-table thead th{background:var(--mint);font-size:12px;font-weight:600;color:var(--ink)}.sample-table tbody th{font-weight:600}.sample-table .num{text-align:right;font-variant-numeric:tabular-nums}.sample-table .sample-wrap{white-space:normal;min-width:220px;color:var(--text)}.sample-table tfoot th,.sample-table tfoot td{border-top:2px solid var(--ink);font-weight:700}
.sample-flag{display:inline-block;padding:2px 9px;border-radius:20px;font-size:12px;font-weight:600;background:var(--mint);color:var(--green)}.sample-flag-above-documentation,.sample-flag-not-enrolled{background:#fbe4e1;color:#8a2217}.sample-flag-below-documentation,.sample-flag-needs-verification{background:#fdf1dc;color:#6b4700}
.sample-followup{font-size:15px;color:var(--text);max-width:820px}.sample-followup strong{color:var(--ink)}.sample-note{font-size:13px;color:var(--text);max-width:820px;margin-top:6px}.sample-callout{margin:14px 0 6px;padding:16px 20px;border-left:4px solid #8a2217;background:#fbf3f2;border-radius:0 10px 10px 0;font-size:15px;color:var(--ink);max-width:860px}
.sample-limits ul{margin:12px 0 0;padding-left:20px;max-width:820px}.sample-limits li{font-size:15px;line-height:1.65;color:var(--text);margin-bottom:10px}
@media(max-width:760px){.sample-banner{margin:0 12px 12px;font-size:13px}.sample-section{padding-top:26px;padding-bottom:26px}.sample-meta dl{grid-template-columns:1fr 1fr;gap:0 18px}.sample-contents ol{columns:1}.sample-table th,.sample-table td{padding:9px 12px}.sample-table caption{padding:12px 12px 8px}}
@media print{@page{size:letter;margin:12mm 12mm 16mm}@page{@bottom-center{content:"Sample — fictional practice, illustrative figures. Not client results.";font:600 8.5px/1.3 "Helvetica Neue",Helvetica,Arial,sans-serif;color:#5c3d00;vertical-align:middle}}
body:has(.sample-report){padding:0!important;font-size:12px;-webkit-print-color-adjust:exact;print-color-adjust:exact}body:has(.sample-report) main :is(p,li,dt,dd,th,td,caption,span,strong,a){font-family:"Helvetica Neue",Helvetica,Arial,sans-serif}
body:has(.sample-report) :is(.skip,.topline,header,.site-footer,.mobile-cta,.page-cta,.hv-pending-banner,.sample-links,.sample-contents){display:none!important}
body:has(.sample-report) .page-hero{margin:0;padding:22px 26px;border-radius:12px}body:has(.sample-report) .page-hero h1{font-size:34px;letter-spacing:-1px}body:has(.sample-report) .breadcrumbs{display:none}
.sample-banner{margin:0 0 10px}.sample-intro{padding:18px 0 0;max-width:none}.sample-intro p{font-size:12px;margin-bottom:8px}.sample-section{max-width:none;padding:14px 0}.sample-section h2{font-size:21px;margin-bottom:6px;break-after:avoid}.sample-section h3{font-size:14px;margin-top:14px;break-after:avoid}.sample-section>p,.sample-followup,.sample-callout,.sample-limits li{font-size:11px}.sample-note{font-size:10px}
.sample-table{overflow:visible;margin:8px 0 6px;border-radius:8px}.sample-table table{min-width:0;font-size:10px}.sample-table caption{padding:8px 10px 6px;font-size:12px;break-after:avoid}.sample-table th,.sample-table td{padding:5px 10px}.sample-table .sample-wrap{min-width:150px}.sample-callout,.sample-limits li{break-inside:avoid}.sample-table tr{break-inside:avoid}.sample-table thead{display:table-header-group}
.sample-section>h2+p,.sample-section>h3{break-after:avoid}}

/* Task 18: people and team (PRD CRED-3, CRED-6). Profile facts as a quiet definition list beside the bio
   and guide links; team cards reuse .page-service-card. Photos only ever come from content/people.yml. */
.person-photo{display:block;width:100%;max-width:280px;height:auto;aspect-ratio:4/5;object-fit:cover;border-radius:16px;margin-bottom:28px;background:var(--mint)}
.team-card .person-photo{max-width:160px;margin-bottom:22px}
.person-facts{display:grid;gap:18px;margin:0}
.person-facts div{border-bottom:1px solid var(--line);padding-bottom:16px}
.person-facts dt{font-size:13px;font-weight:600;margin-bottom:6px}
.person-facts dd{margin:0;font-size:17px;color:var(--ink)}
.person-facts dd span{display:block;font-size:13px;color:var(--text);margin-top:4px}
.person-guides-heading{font-size:23px;letter-spacing:-.5px;margin:34px 0 12px}
.prose>.person-guides-heading:first-child{margin-top:0}
.person-guides{list-style:none;margin:0 0 10px;padding:0}
.person-guides li{border-bottom:1px solid var(--line);padding:12px 0;font-size:16px}
.person-guides a{border-bottom:1px solid transparent}.person-guides a:hover{border-bottom-color:currentColor}
.person-profile{margin-bottom:45px}
.team-credential{font-size:13px;font-weight:600;color:var(--ink)}

/* Task 19: "Common questions" on service pages sits below the scope note, with room before the "All services" link. */
.service-faq{margin:10px 0 40px}

/* Task 20: specialty pages and hub (PRD PG-2). Lists inside the detail sections read like their paragraphs,
   in-text links are underlined so they read as links, and the hub's grouped list sits clear of its cards. */
.detail-list ul{margin:15px 0 0;padding-left:20px;font-size:16px;line-height:1.65;color:var(--text)}.detail-list li+li{margin-top:8px}.detail-list li strong{color:var(--ink);font-weight:600}.detail-list p a{text-decoration:underline;text-underline-offset:3px;color:var(--ink)}.specialty-groups{margin-top:70px}
@media(max-width:760px){.specialty-groups{margin-top:45px}}

/* Task 21a: guides (PRD PG-3, CRED-2, SEO-6). The guide body is converted Markdown with no section wrappers, so it
   gets its own prose rhythm; tables scroll sideways on phones; the byline only exists when a review record does.
   The /blog/ index and "Related guides" blocks reuse the card and list language of services and profiles. */
.guide-dates{margin-top:22px;font-size:14px;color:var(--text)}
.guide-byline{border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:30px}.guide-byline p{font-size:14px;color:var(--text)}
.guide-byline a,.guide-body a,.guide-related a{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.guide-scope{background:var(--mint);border-radius:12px;padding:16px 20px;margin:-10px 0 30px;font-size:14px;color:var(--text)}.guide-scope strong{color:var(--ink)}
.guide-body{font-size:17px;line-height:1.7;color:var(--text)}.guide-body>*+*{margin-top:18px}
.guide-body h2{font-size:29px;letter-spacing:-.8px;line-height:1.25;color:var(--ink);margin-top:50px}.guide-body>h2:first-child,.guide-body>h3:first-child{margin-top:0}
.guide-body h3{font-size:22px;letter-spacing:-.4px;line-height:1.3;color:var(--ink);margin-top:34px}.guide-body h4{font-size:18px;color:var(--ink);margin-top:26px}
.guide-body strong{color:var(--ink);font-weight:600}.guide-body ul,.guide-body ol{padding-left:22px;margin-bottom:0}.guide-body li+li{margin-top:8px}.guide-body li p+p{margin-top:10px}
.guide-table{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.guide-table:focus-visible{outline:3px solid #bd661d;outline-offset:3px}.guide-body table{border-collapse:collapse;font-size:15px;line-height:1.5}
.guide-body th,.guide-body td{border-bottom:1px solid var(--line);padding:10px 14px;text-align:left;vertical-align:top;min-width:120px}.guide-body thead th{background:var(--mint);color:var(--ink);font-weight:600}
.guide-body pre{background:#f4f7f5;border:1px solid var(--line);border-radius:10px;padding:16px 18px;overflow-x:auto;font-size:14px;line-height:1.5;color:var(--ink)}
.guide-body code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.9em}.guide-body img{height:auto;border-radius:12px}
.guide-related{margin-top:50px;border-top:1px solid var(--line);padding-top:30px}.guide-related h2,.related-guides h2{font-size:23px;letter-spacing:-.5px;margin-bottom:10px}
.guide-related ul,.related-guides ul{list-style:none;margin:0;padding:0}.guide-related li,.related-guides li{border-bottom:1px solid var(--line);padding:12px 0;font-size:16px}
.guide-content>.text-link{display:inline-block;margin-top:44px}
.related-guides{margin:10px 0 40px;max-width:760px}.related-guides a{border-bottom:1px solid transparent}.related-guides a:hover{border-bottom-color:currentColor}
.draft-badge{display:inline-block;margin-left:6px;padding:2px 9px;border-radius:20px;font-size:11px;font-weight:600;line-height:1.5;background:#fff3b0;color:#3d3000;vertical-align:middle}
.guide-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:24px}
.guide-card{display:flex;flex-direction:column;height:100%;border:1px solid var(--line);border-radius:16px;padding:30px}.guide-card:hover{background:#f4f8f4}
.guide-card small{font-size:12px;color:var(--text)}.guide-card h2{font-size:24px;letter-spacing:-.6px;line-height:1.25;margin:12px 0}.guide-card p{font-size:15px;color:var(--text);margin-bottom:18px}.guide-card .read-link{margin-top:auto}
@media(max-width:760px){.guide-body{font-size:16px}.guide-body h2{font-size:24px;margin-top:40px}.guide-body h3{font-size:20px}.guide-list{grid-template-columns:1fr;gap:18px}.guide-card{padding:24px}.guide-card h2{font-size:22px}}
/* Task 22: bulletin cards built from real content (PRD PG-7) */
a.news-card{display:block;text-decoration:none}
.news-art{display:block;place-items:normal}
.bulletin .news-track{margin-top:32px}
.news-art .audit-art>span{text-transform:uppercase}
.news-art .audit-art>b{font-size:31px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;line-clamp:4;overflow:hidden}
.news-copy h3{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden}
.news-copy p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden}
.news-copy small .draft-badge{font-size:10px;margin-left:4px}
.bulletin-more{padding:6px 7% 0;font-size:13px}
@media(max-width:760px){.news-art .audit-art>b{font-size:27px}.bulletin .news-track{margin-top:24px}}
/* Task 22b: designed graphics (hvsite/graphics.py; colours checked by tests/test_graphics.py) */
.hv-graphic{position:relative;height:100%;overflow:hidden;padding:22px 24px;background:var(--g-bg);color:var(--g-fg)}
.hv-graphic--mint{--g-bg:#dbe7db;--g-fg:#193d34;--g-label:#285847;--g-accent:#c3d5c6}
.hv-graphic--sky{--g-bg:#cbdcf2;--g-fg:#193d34;--g-label:#285847;--g-accent:#b3c9e8}
.hv-graphic--sage{--g-bg:#acc6b0;--g-fg:#193d34;--g-label:#193d34;--g-accent:#9dbca3}
.hv-graphic--forest{--g-bg:#285847;--g-fg:#ffffff;--g-label:#d7e6da;--g-accent:#316a55}
.hv-graphic::after{content:"";position:absolute;right:22px;bottom:20px;width:40%;height:27%;background:repeating-linear-gradient(to bottom,var(--g-accent) 0 2px,transparent 2px 12px)}
.hv-graphic-top{display:flex;justify-content:space-between;align-items:center;gap:12px;color:var(--g-label);font-size:11px;font-weight:600;line-height:1.3;letter-spacing:.9px;text-transform:uppercase}
.hv-graphic-topic{display:flex;align-items:center;gap:7px;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hv-graphic-topic::before{content:"";flex:none;width:7px;height:7px;border-radius:50%;background:currentColor}
.hv-graphic-mark{flex:none;font:700 12px/1.3 Manrope,sans-serif;letter-spacing:0;text-transform:none}
.hv-graphic-title{position:relative;z-index:1;max-width:92%;margin-top:18px;font:600 27px/1.12 Manrope,sans-serif;letter-spacing:-.9px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden}
.news-img.news-graphic{background:none}
.guide-graphic,.guide-hero-image{flex:0 0 360px;width:360px;height:236px;border-radius:16px;object-fit:cover}
@media(max-width:1000px){.guide-graphic,.guide-hero-image{display:none}}
@media(max-width:760px){.hv-graphic-title{font-size:25px}}
/* Task 23: consent-gated client reviews (PRD REV-1…REV-7). Quote, reviewer and any disclosure; never stars or ratings */
.review-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px}
.review{margin:0;background:var(--mint);border-radius:var(--radius);padding:30px 32px;display:flex;flex-direction:column;gap:20px}
.review blockquote{margin:0}
.review blockquote p{font-size:17px;line-height:1.55;color:var(--ink)}
.review figcaption{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--text)}
.review figcaption strong{font-size:15px;color:var(--ink)}
.review-disclosure{font-size:13px;color:var(--text);border-top:1px solid var(--line);padding-top:14px}
.reviews-google{margin-top:28px}
@media(max-width:760px){.review{padding:24px}.review-list{grid-template-columns:1fr}}
/* A link in a section heading's paragraph: sales@ on the audit page in a build without the lead form (HV_LEAD_FORM=off). */
.section-heading>p a{font-weight:600;color:var(--ink);text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}
