/* Shared editorial system. The approved L composition lives in site.css;
   these rules give every archive, article and fallback page the same world. */
:root{color-scheme:light}
body{overflow-wrap:break-word;caret-color:var(--ink)}
main{min-width:0;min-height:100vh;display:flex;flex-direction:column}
main>*{flex-shrink:0}
.site-header{z-index:2;border-right-color:#44473f}
.nav a[aria-current=page]{color:var(--accent);text-decoration:underline;text-underline-offset:6px}
.site-header a:hover{color:var(--accent)}
button,input,textarea,select{font:inherit;color:inherit;accent-color:var(--ink)}
:focus-visible{outline:3px solid var(--focus);outline-offset:4px}
#main:focus{outline:none}
[id]{scroll-margin-top:24px}
.home-page{width:100%}
.home-service{transition:background-color .18s ease-out}
.site-footer-wrap{margin-top:auto;padding:0 68px 28px;background:var(--accent);color:var(--ink)}
.site-footer{max-width:1124px;margin:0 auto;padding-top:22px;align-items:flex-start;flex-wrap:wrap;border-color:#9a873c;font-size:13px}
.footer-nav{display:flex;flex-wrap:wrap;gap:0 16px;max-width:58ch}
.site-footer a{min-height:44px;display:inline-flex;align-items:center}
.closing+.site-footer-wrap{padding-top:0}
body:not(.home) main>.site-footer-wrap{margin-top:auto;padding-top:28px}
body:not(.home) main>:nth-last-child(2){margin-bottom:72px}
.container{width:100%;max-width:1260px;padding:0 68px;margin-inline:auto;min-width:0}
.row{display:flex;flex-wrap:wrap;gap:40px;min-width:0}
.row>[class*=col-]{min-width:0;flex:1 1 100%}
.page-header{padding-top:72px;padding-bottom:44px}
body:not(.home) h1,body:not(.home).l h1{font-size:clamp(54.6px,5.72vw,88.4px);line-height:1.08;max-width:20ch;margin-bottom:24px}
body:not(.home) h2{font-size:39px;line-height:1.2;max-width:30ch}
body:not(.home) h3{font-size:31.2px}
.page-header p{color:var(--muted);margin:16px 0;max-width:65ch}
.page-header .page-breadcrumb{font-size:14px;margin:0 0 24px}
.page-header .page-subtitle{font-size:28.6px}
.page-header h1:last-child{margin-bottom:0}
.page-article .row{display:grid;grid-template-columns:minmax(0,2.5fr) minmax(180px,1fr);gap:48px}
.page-sidebar{padding-top:8px;font-size:24px}
.sidebar-section,.sidebar-cta{border-top:1px solid var(--line);padding-top:20px;margin-bottom:32px}
.sidebar-label{font-weight:700;margin-bottom:12px}
.sidebar-link{display:block;padding-block:7px}
.sidebar-cta p{margin-bottom:12px}
.sidebar-email a{font-weight:700;overflow-wrap:anywhere}
.button{display:inline-flex;align-items:center;gap:12px;min-height:46px;padding:10px 17px;background:var(--accent);color:var(--ink);font-size:16px;font-weight:700;text-decoration:none;border:1px solid transparent}
.button:hover{background:var(--ink);color:var(--paper);text-decoration:underline}
.button-secondary{background:transparent;border-color:var(--line)}
.content{max-width:72ch;line-height:1.65;min-width:0}
.content p,.content ul,.content ol,.content blockquote,.content figure,.content table,.content pre{margin-top:0;margin-bottom:24px}
.content h2{margin:48px 0 18px}
.content h3{margin:36px 0 14px}
.content h4{font-size:26px;margin:30px 0 12px}
.content h5,.content h6{font-size:23.4px;margin:28px 0 12px}
.content li{margin-block:7px}
.content a{overflow-wrap:anywhere}
.content img,main img{max-width:100%;height:auto}
.content img{display:block;margin-block:24px}
.content figure img{margin-bottom:10px}
.content figcaption{font-size:14px;color:var(--muted)}
.content blockquote{margin-left:0;padding:20px 24px;border:1px solid var(--line);background:var(--hover)}
.content blockquote p:last-child{margin-bottom:0}
.content hr{border:0;border-top:1px solid var(--line);margin:40px 0}
pre{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;padding:24px;background:#f5f3e9;color:var(--ink);font-size:14px;line-height:1.65;tab-size:4;border:1px solid var(--line)}
pre:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;overflow-wrap:anywhere;font-size:.87em}
pre code{overflow-wrap:normal;word-break:normal}
.highlight{max-width:100%;min-width:0;overflow:auto;margin-bottom:24px}
.highlight pre{margin:0}
.content table{display:block;max-width:100%;overflow:auto;border-collapse:collapse;font-size:20.8px;font-variant-numeric:tabular-nums}
th,td{border:1px solid var(--line);padding:10px 14px;text-align:left;vertical-align:top}
th{background:var(--hover)}
.content iframe{max-width:100%;border:0;color-scheme:light}
.content input,.content textarea{max-width:100%;border:1px solid var(--muted);padding:10px;background:var(--paper)}
.page-content-grid .row{display:block}
.page-content-grid .row>div{margin:0}
.service-card,.service-summary,.archive-entry,.project-list-item,.exp-list-item,.team-profile{padding:30px 0;border-top:1px solid var(--line)}
.service-card h2,.service-summary h2,.archive-entry h2,.project-list-item h2{margin-bottom:16px}
.service-card p,.service-summary p,.archive-entry p,.project-list-item p{color:var(--muted);max-width:65ch;margin-bottom:16px}
.service-card a,.service-summary h2 a,.archive-entry h2 a,.project-list-item h2 a{text-decoration:none}
.service-card a:hover,.service-summary h2 a:hover,.archive-entry h2 a:hover,.project-list-item h2 a:hover{text-decoration:underline}
.service-card{display:grid;grid-template-columns:minmax(160px,1fr) minmax(0,1.3fr);column-gap:40px}
.service-card .service-title{grid-row:1/3}
.service-card .service-read-more{grid-column:2;justify-self:start;font-size:24px;text-decoration:underline;min-height:44px;display:flex;align-items:center}
.project-list-actions{display:flex;flex-wrap:wrap;gap:12px 24px;font-size:24px}
.project-list-actions a{min-height:44px;display:inline-flex;align-items:center}
.exp-list-item{display:grid;grid-template-columns:88px minmax(0,1fr);gap:30px}
.exp-list-logo img{max-width:72px;max-height:72px;object-fit:contain}
.exp-company{font-weight:700;margin-top:12px}
.exp-period{font-size:14px;color:var(--muted);margin-bottom:18px}
.exp-desc{max-width:68ch;font-size:22.1px;line-height:1.65}
.exp-desc p,.exp-desc ul{margin-bottom:18px}
.team-image img{width:180px;height:180px;object-fit:cover}
.home-proof-block{padding:24px 0 36px;max-width:72ch}
.home-highlights{margin:0 0 18px;padding-left:22px}
.home-proof-copy{color:var(--muted)}
.blog-single{max-width:74ch;margin-inline:auto}
.page-blog-single main>.container,.page-contact main>.container{padding-top:72px}
.page-blog-single h1.title{max-width:22ch}
.post-header-meta,.post-meta,.post-meta-categories{font-size:14px;color:var(--muted)}
.post-header-meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}
.post-categories{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:28px}
.post-category-tag{display:inline-block;margin-right:12px;line-height:2}
.post-toc{background:var(--hover);padding:24px 28px;margin:32px 0 40px;border:1px solid var(--line);font-size:19.5px}
.post-toc-title{font-size:23.4px;margin:0 0 14px}
#TableOfContents ul{margin:0;padding-left:20px}
#TableOfContents li{padding-block:4px}
.post-navigation,.social-share{display:flex;flex-wrap:wrap;gap:14px 24px;border-top:1px solid var(--line);padding-top:24px;margin-top:32px;font-size:24px}
.post-navigation a{flex:1 1 200px}
.related-posts{margin-top:40px;padding-top:32px;border-top:1px solid var(--line)}
.related-posts-title{margin-bottom:20px}
.related-posts-list{padding-left:20px}
.related-posts-list li{margin-bottom:16px}
.related-post-date{font-size:14px;color:var(--muted)}
.text-center{text-align:center}.mt-4{margin-top:32px}
.pagination{list-style:none;display:flex;flex-wrap:wrap;padding:0;margin:40px 0 0;gap:6px}
.page-link{min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;padding:8px;border:1px solid var(--line);text-decoration:none}
.page-item.active .page-link{background:var(--accent);font-weight:700}
.page-item.disabled .page-link{color:var(--muted);cursor:default}
.call{padding:20px 0;border-block:1px solid var(--line);margin:28px 0}
.call-box-top{display:flex;flex-wrap:wrap;gap:14px 28px}
.call-email{overflow-wrap:anywhere}
@media(min-width:1600px){.page-header,.page-blog-single main>.container,.page-contact main>.container{padding-top:100px}}
@media(max-width:1150px){.container{padding-inline:36px}.site-footer-wrap{padding-inline:36px}.page-article .row{grid-template-columns:minmax(0,1fr);gap:48px}.page-sidebar{max-width:72ch;display:grid;grid-template-columns:1fr 1fr;gap:28px}.service-card{gap:24px}.page-header{padding-top:56px}}
@media(max-width:850px){.service-card{display:block}.service-card p{margin-top:16px}.page-header{padding-top:48px}.page-blog-single main>.container,.page-contact main>.container{padding-top:48px}.post-meta-sep{display:none}.exp-list-item{grid-template-columns:60px minmax(0,1fr);gap:20px}.exp-list-logo img{max-width:60px}}
@media(max-width:600px){.container{padding-inline:24px}.site-header{position:static;width:auto;padding:23px 24px 20px}.site-footer-wrap{padding-inline:24px;padding-bottom:24px}.site-footer{gap:10px;flex-direction:column}.footer-nav{gap:0 18px}.page-header{padding:42px 0 30px}body:not(.home) h1,body:not(.home).l h1{font-size:54.6px;max-width:100%}body:not(.home) h2{font-size:35.1px}.page-sidebar{display:block}.content{font-size:22.1px}.content h2{margin-top:38px}.content pre{padding:18px}.post-toc{padding:20px}.exp-list-item{display:block}.exp-list-logo{margin-bottom:20px}.page-blog-single main>.container,.page-contact main>.container{padding-top:42px}body:not(.home) main>:nth-last-child(2){margin-bottom:48px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
