@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--paper:#f7f6f1;--ink:#25372f;--muted:#657068;--line:#d8ddd4;--lime:#d8f17a;--green:#203d31}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.75 'DM Sans',sans-serif}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a,input{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #819642;outline-offset:5px}h1,h2,h3{font-family:Manrope,sans-serif;font-weight:500;line-height:1.12;letter-spacing:-.05em}h1{font-size:clamp(42px,5.6vw,78px);margin:22px 0}h2{font-size:clamp(32px,3.7vw,51px);margin:18px 0 30px}h3{font-size:25px}p{margin:0 0 22px}header{max-width:1440px;margin:auto;padding:30px 5%;display:flex;justify-content:space-between;align-items:center;gap:35px;border-bottom:1px solid var(--line)}.brand{font-size:30px;font-weight:700;letter-spacing:-2px;line-height:1}.brand-plus{color:#71883b;padding:0 3px}.brand small{display:block;font-size:8px;letter-spacing:1.1px;margin-top:12px}.menu{display:none}nav{display:flex;gap:32px;align-items:center;font-size:14px}nav a:hover,.text-link:hover{text-decoration:underline}.nav-cta{background:var(--ink);color:white;padding:12px 20px;border-radius:5px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:1.6px;text-transform:uppercase;line-height:1.6}.hero{max-width:1440px;margin:auto;padding:78px 5% 85px;display:grid;grid-template-columns:1.2fr 1fr;gap:65px;align-items:center}.hero h1{font-size:clamp(42px,5.2vw,72px)}em{font-style:normal;color:#738638}.hero-sub{font-size:24px;letter-spacing:-.7px}.lead{font-size:18px;line-height:1.7;max-width:650px;color:#566258}.hero .lead{max-width:580px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:25px;background:var(--ink);color:white;border:0;border-radius:5px;padding:16px 22px;font-weight:500;font-size:14px;cursor:pointer}.button:hover{background:#395346;transform:translateY(-1px)}.button.secondary{background:transparent;color:var(--ink);border:1px solid var(--line)}.text-link{display:block;font-size:14px;margin-top:21px;font-weight:600}.visual{height:490px;background:#e8ebde;border-radius:6px;position:relative;overflow:hidden}.visual-top,.visual-bottom{position:absolute;left:26px;right:26px;font-size:9px;letter-spacing:1px;font-weight:600}.visual-top{top:24px;display:flex;justify-content:space-between}.visual-bottom{bottom:25px;border-top:1px solid #c7cebc;padding-top:17px;letter-spacing:.4px}.ring{position:absolute;width:270px;height:270px;border:1px solid #7c8d67;border-radius:50%;top:105px}.ring-a{left:18px}.ring-b{right:18px;background:#d8f17a66}.ring-c{width:205px;height:205px;top:137px;right:50px;border-style:dashed}.bridge{position:absolute;top:207px;left:50%;transform:translateX(-50%) rotate(-6deg);background:var(--green);color:white;padding:19px 26px;white-space:nowrap;font-size:16px;box-shadow:0 10px 30px #213d3122}.bridge strong{font-weight:500;color:var(--lime)}.visual-label{position:absolute;top:387px;font-size:10px;letter-spacing:1px}.one{left:44px}.two{right:44px}.strip{border-block:1px solid var(--line);display:flex;justify-content:space-around;gap:25px;padding:24px 5%;font-size:12px;font-weight:500;color:var(--muted)}.split,.services,.process,.about-teaser,.steps{max-width:1280px;margin:auto;padding:100px 6%}.split{display:grid;grid-template-columns:1fr 1fr;gap:100px}.large{font-size:23px;line-height:1.5;letter-spacing:-.5px}.insight{background:var(--green);color:var(--paper);padding:80px max(6%,calc((100vw - 1126px)/2));}.insight .eyebrow{color:var(--lime)}.insight h2{font-size:clamp(30px,4vw,53px)}.insight>p:not(.eyebrow){max-width:640px;color:#cedacf}.insight>div{display:flex;gap:50px;align-items:center;border-top:1px solid #ffffff30;margin-top:40px;padding-top:35px;font-size:13px;color:#b8c8ba}.insight strong{display:block;color:white;font-size:21px;font-weight:500}.arrow{font-size:40px;color:var(--lime)}.section-head{display:flex;align-items:end;justify-content:space-between;gap:70px;margin-bottom:30px}.section-head>p{max-width:320px;color:var(--muted)}.service-list>a{display:grid;grid-template-columns:60px 1fr 50px;gap:30px;border-top:1px solid var(--line);padding:28px 0;align-items:center}.service-list>a:last-child{border-bottom:1px solid var(--line)}.service-list>a:hover{background:#e9eddf}.number{font-size:12px;color:#7f8d6d}.service-list h3{margin:0 0 8px}.service-list p{max-width:730px;font-size:15px;color:var(--muted);margin:0}.row-arrow{font-size:27px}.process{border-top:1px solid var(--line)}.step-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin-top:45px}.step-grid>div{border-top:1px solid #b5c3a8;padding-top:20px}.step-grid span{font-size:12px;font-weight:600}.step-grid h3{font-size:23px}.step-grid p{color:var(--muted)}.about-teaser{background:#e9ecdf;max-width:none;padding-inline:max(6%,calc((100vw - 1126px)/2))}.about-teaser>p:not(.eyebrow){max-width:650px}.closing{background:var(--lime);padding:85px 6%;text-align:center}.closing p{max-width:600px;margin:0 auto 28px}.closing .eyebrow{margin-bottom:20px}.closing h2{max-width:920px;margin:20px auto 35px}footer{padding:65px 6% 35px;max-width:1440px;margin:auto}footer p{font-size:14px;margin:20px 0}footer div{display:flex;gap:30px;margin:25px 0 40px;font-size:14px}footer small{font-size:11px;color:var(--muted)}.page-hero{max-width:1280px;margin:auto;padding:75px 6% 80px;border-bottom:1px solid var(--line)}.page-hero h1{max-width:1020px;font-size:clamp(40px,5vw,68px)}.article-layout{max-width:1280px;margin:auto;display:grid;grid-template-columns:260px 1fr;gap:80px;padding:65px 6%}.article-layout aside{font-size:12px;align-self:start;position:sticky;top:35px}.article-layout aside p{font-weight:700}.article-layout aside a{display:block;padding:10px 0;border-bottom:1px solid var(--line);line-height:1.5;color:var(--muted)}article section{padding-bottom:40px;margin-bottom:35px;border-bottom:1px solid var(--line)}article h2{font-size:34px;letter-spacing:-1.4px}article p{font-size:17px}ul{padding-left:23px}li{padding:7px 0}.standalone{max-width:850px;margin:65px auto 95px;padding:0 6%}.scan{max-width:850px;margin:55px auto 85px;padding:0 5%}fieldset{border:0;padding:0;margin:0 0 45px}legend{font-size:23px;line-height:1.4;margin-bottom:23px;letter-spacing:-.4px}legend>span{display:block;font-size:11px;font-weight:700;letter-spacing:1px;margin-bottom:12px;color:var(--muted)}fieldset label{display:flex;align-items:center;gap:15px;border:1px solid var(--line);padding:15px 20px;margin-bottom:9px;border-radius:4px;cursor:pointer}fieldset label:has(input:checked){background:#e6edcd;border-color:#91a45d}input{accent-color:var(--green)}.fine{font-size:12px;color:var(--muted);margin-top:20px}.result-item{border-top:1px solid var(--line);padding:22px 0}.result-item h3{font-size:23px;margin:0 0 10px}.skip{position:absolute;left:-1000px}.skip:focus{left:20px;top:20px;background:white;padding:20px;z-index:99}[hidden]{display:none!important}@media(max-width:950px){.hero{gap:30px}.visual{height:410px}.ring{width:230px;height:230px;top:85px}.ring-a{left:-20px}.ring-b{right:-20px}.ring-c{width:170px;height:170px;top:115px;right:10px}.bridge{top:170px;padding:15px;font-size:13px}.visual-label{top:330px}.split{gap:45px}nav{gap:18px}.article-layout{grid-template-columns:200px 1fr;gap:40px}}@media(max-width:700px){header{padding:22px 6%;flex-wrap:wrap}.brand{font-size:27px}.menu{display:block;background:none;border:1px solid var(--line);padding:7px 12px;border-radius:4px;font-size:12px}nav{display:none;width:100%;flex-direction:column;align-items:stretch;gap:15px;padding:15px 0}nav.open{display:flex}.hero{display:block;padding:50px 6%}.hero h1{font-size:44px}.hero-sub{font-size:21px}.visual{height:380px;margin-top:45px;max-width:460px}.ring-a{left:10px}.ring-b{right:10px}.ring-c{right:40px}.visual-label{top:320px}.strip{flex-wrap:wrap;justify-content:flex-start;gap:10px 25px;font-size:10px}.split,.services,.steps,.process,.about-teaser{padding:60px 6%}.split{display:block}.split h2{margin-bottom:30px}.insight{padding:60px 6%}.insight>div{gap:16px}.insight strong{font-size:16px}.insight>div span{font-size:11px}.section-head{display:block}.section-head>p{max-width:none}.service-list>a{grid-template-columns:30px 1fr 24px;gap:14px}.service-list h3{font-size:23px}.service-list p{font-size:14px}.step-grid{grid-template-columns:1fr;gap:25px}.closing{padding:60px 6%}.closing h2{font-size:35px}.article-layout{display:block;padding:45px 6%}.article-layout aside{display:none}.page-hero{padding:50px 6%}.page-hero h1{font-size:42px}article h2{font-size:30px}.button{font-size:13px}footer{padding-top:45px}.standalone{margin-top:40px}}
.worked-example{padding:80px max(6%,calc((100vw - 1126px)/2));background:#edf0e4}.worked-example>p{max-width:850px}.worked-example h2{max-width:800px}.example-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin:40px 0}.example-grid>div{border-top:1px solid #b9c4a6}.example-grid h3{font-size:22px}.example-grid p{font-size:15px}.article-layout .worked-example{padding:25px;background:var(--lime);border-radius:5px}.article-layout .example-grid{grid-template-columns:1fr;gap:15px}.route-note{padding:25px 0;max-width:900px}.route-note p{color:var(--muted);font-size:15px;margin:6px 0 0}.context-fields>label{display:block;font-size:16px;font-weight:500;margin:0 0 26px}.context-fields textarea{display:block;width:100%;margin-top:9px;background:#fffdf8;border:1px solid #c1cabb;border-radius:4px;padding:14px;color:var(--ink);font:16px/1.6 'DM Sans',sans-serif;resize:vertical;font-weight:400}.context-fields textarea:focus{outline:2px solid #819642;outline-offset:2px}.scan-progress{margin-bottom:35px}.scan-progress p{font-size:12px;font-weight:600;margin-bottom:7px}.scan-progress progress{width:100%;height:8px;accent-color:var(--green)}.scan-controls,.result-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.demand-step>h2{font-size:35px}.demand-step>p{margin-bottom:30px}.demand-step fieldset p{font-size:15px}.result-summary{padding:25px;background:#e9eddf}.result-summary h3{font-size:20px;margin:0 0 9px}.result-summary p{white-space:pre-wrap}.result-table{width:100%;border-collapse:collapse;margin:25px 0 45px;font-size:13px;text-align:left}.result-table th,.result-table td{padding:12px 8px;border-bottom:1px solid var(--line)}.result-table th{font-weight:600}.result-table caption{text-align:left;font-size:12px;color:var(--muted);margin-bottom:10px}#demand-result h2{font-size:33px;margin-top:45px}#demand-result h4{font-size:14px}#demand-result .result-item p{white-space:pre-wrap}#scan-result>.button{margin:8px 10px 8px 0}#scan-result>p{white-space:pre-wrap}#scan-error{padding:15px;border:1px solid #a15f44;color:#794026}footer div{flex-wrap:wrap}@media(max-width:700px){.worked-example{padding:50px 6%}.example-grid{grid-template-columns:1fr;gap:20px}.result-table{font-size:11px}.result-table th,.result-table td{padding:8px 3px}.result-summary{padding:20px}.scan-controls .button{flex:1}.result-actions{display:block}.result-actions .button{display:block;width:100%;margin:10px 0;text-align:center}}
@media print{header,footer,.page-hero,.scan-progress,.result-actions,.skip{display:none!important}body{background:white;color:black;font:11pt/1.5 sans-serif}main,.scan{max-width:none;margin:0;padding:0}.result-summary{background:white;padding:0}.result-item{break-inside:avoid}#demand-result h2{font-size:20pt}#demand-result h3{font-size:15pt}.result-table{font-size:10pt}.button{display:none}}

footer .parent-brand{font-size:13px;color:var(--muted);margin-top:-10px}footer .parent-brand a{text-decoration:underline;text-underline-offset:3px}
.context-fields input[type=text]{display:block;width:100%;margin-top:9px;padding:14px;border:1px solid #c1cabb;border-radius:4px;background:#fffdf8;color:var(--ink);font:16px/1.6 'DM Sans',sans-serif}.context-fields label small{font-size:12px;color:var(--muted);font-weight:400}.url-option{max-width:1125px;margin:45px auto;padding:25px 6%}.url-option h2{font-size:30px}.url-option p{max-width:750px}#url-error{color:#794026;border:1px solid #a15f44;padding:15px;margin-top:20px}#url-progress{margin-top:25px}#url-config{padding:18px;background:#e9eddf;font-size:14px}.button:disabled{opacity:.55;cursor:wait;transform:none}.result-basis{font-size:12px;font-weight:600;color:var(--muted)}.source-list{list-style:none;padding:0}.source-list li{padding:10px 0}.source-list p{font-size:13px;margin:0 0 5px}.source-list a,.source-link{font-size:12px;text-decoration:underline;overflow-wrap:anywhere}.source-link{display:block;margin-bottom:12px}#url-result h2{font-size:32px}#url-result h3{font-size:23px}#url-result h4{font-size:14px}#url-result>.result-item{break-inside:avoid}@media print{#url-form,#url-config,.url-scan>.route-note{display:none!important}.url-scan{margin:0;padding:0}#url-result h2{font-size:20pt}#url-result h3{font-size:15pt}.source-link{font-size:9pt}}

.faq details{border-bottom:1px solid var(--line,#d7dbd2);padding:1.1rem 0}.faq summary{font-weight:600;cursor:pointer;line-height:1.5}.faq details p{margin-top:1rem;max-width:72ch}.faq summary:focus-visible{outline:2px solid currentColor;outline-offset:5px}

.blog-intro,.blog-overview{max-width:1280px;margin:auto;padding:75px 6%}.blog-intro{border-bottom:1px solid var(--line)}.blog-intro h1{max-width:950px}.blog-intro .lead{max-width:700px}.blog-topics{display:flex;flex-wrap:wrap;gap:12px;margin-top:35px}.blog-topics span{font-size:12px;border:1px solid var(--line);border-radius:30px;padding:6px 15px}.blog-section-head{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-bottom:30px}.blog-section-head h2{font-size:30px;margin:0}.blog-section-head>span{font-size:12px;color:var(--muted);white-space:nowrap}.blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.blog-card{padding:30px;border:1px solid var(--line);background:#fffdf8;display:flex;flex-direction:column;transition:border-color .2s}.blog-card:hover{border-color:#82916b}.blog-card h2{font-size:29px;letter-spacing:-1px;margin:0 0 22px}.blog-card h2 a:hover{text-decoration:underline;text-underline-offset:4px}.blog-card>p:not(.eyebrow){font-size:15px;color:var(--muted)}.blog-card>.text-link{margin-top:auto;padding-top:20px}.blog-reading{max-width:850px;margin:auto;padding:40px 6% 80px}.post-header{display:block;padding:35px 0;margin:0 0 45px;border-bottom:1px solid var(--line)}.post-header h1{font-size:clamp(38px,5vw,62px)}.post-meta{font-size:12px;color:var(--muted)}.post-body h2{font-size:30px}.post-body p{font-size:18px;line-height:1.85}.post-next{padding:30px;background:#e9eddf}.post-next h2{font-size:26px}.post-next p{font-size:15px}@media(max-width:950px){.blog-grid{grid-template-columns:1fr}.blog-card{padding:30px}.blog-card h2{max-width:650px}}@media(max-width:700px){.blog-intro,.blog-overview{padding:50px 6%}.blog-section-head{align-items:start}.blog-section-head h2{font-size:25px}.blog-intro h1{font-size:43px}.blog-card h2{font-size:27px}.blog-reading{padding:25px 6% 60px}.post-body p{font-size:17px}}

/* Compact portrait keeps the introduction as the main focus. */
.patrick-hero{display:grid;grid-template-columns:minmax(0,1fr) 180px;gap:55px;align-items:center}.patrick-portrait{margin:0;text-align:center}.patrick-portrait>a{display:inline-block;border-radius:50%}.patrick-portrait img{display:block;width:144px;height:144px;object-fit:cover;border-radius:50%;border:1px solid var(--line)}.patrick-portrait figcaption{margin-top:14px;font-size:13px;line-height:1.5}.patrick-portrait figcaption strong{font-weight:500}.patrick-portrait .text-link{margin-top:7px;font-size:12px;font-weight:500;color:var(--muted);text-underline-offset:3px}.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}@media(max-width:700px){.patrick-hero{display:block}.patrick-portrait{display:flex;align-items:center;gap:18px;text-align:left;margin-top:28px}.patrick-portrait img{width:84px;height:84px}.patrick-portrait figcaption{margin:0}.patrick-portrait .text-link{margin-top:5px}}
