/* Shared public layout, including retained historical pages. No build step. */
:root{--ink:#1e252b;--muted:#59616a;--copper:#834f2a;--paper:#faf8f5;--line:#ddd8d1;--white:#fff;--soft:#f1ece5;--max:1180px}
*{box-sizing:border-box}
html{scroll-padding-top:24px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;font-size:18px;line-height:1.65;-webkit-font-smoothing:antialiased}
a{color:var(--copper);text-underline-offset:.2em;text-decoration-thickness:1px}
a:hover{text-decoration-thickness:2px}
button,input,textarea{font:inherit}
button,a,input,textarea,summary{-webkit-tap-highlight-color:transparent}
:focus-visible{outline:3px solid var(--copper);outline-offset:5px}
input:focus-visible,textarea:focus-visible{outline-offset:2px}
[hidden]{display:none!important}
img{max-width:100%;height:auto;display:block}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{line-height:1.13;font-weight:600;letter-spacing:-.045em}
h1{font-size:clamp(2.5rem,4.45vw,4.05rem);margin-bottom:28px}
h2{font-size:clamp(2rem,3.1vw,2.85rem);margin-bottom:28px}
h3{font-size:1.35rem;letter-spacing:-.025em}
p{margin-bottom:1.3em}
em{font-style:normal;color:var(--copper)}
.wrap{width:calc(100% - 96px);max-width:var(--max);margin-inline:auto}
.skip-link{position:absolute;top:-100px;left:20px;z-index:10;background:var(--ink);color:#fff;padding:14px 20px}
.skip-link:focus{top:12px}
.preview-note{background:var(--soft);color:#5e4838;text-align:center;padding:5px 16px;font-size:12px;letter-spacing:.03em}
.site-header{display:flex;align-items:center;justify-content:space-between;gap:32px;min-height:126px;border-bottom:1px solid var(--line)}
.brand{display:block;flex:none;padding:10px 0}
.brand img{width:205px;aspect-ratio:433.333/117.61;height:auto}
.main-nav{display:flex;align-items:center;gap:36px}
.main-nav a{color:var(--ink);text-decoration:none;font-size:15px;font-weight:500;min-height:46px;display:flex;align-items:center;gap:32px}
.main-nav a:hover,.main-nav a[aria-current]{color:var(--copper)}
.main-nav a[aria-current]{text-decoration:underline;text-underline-offset:7px}
.main-nav .nav-contact{border:1px solid var(--line);border-radius:3px;padding:8px 19px}
.main-nav .nav-contact:hover{border-color:var(--copper)}
.menu-toggle{display:none;border:1px solid var(--line);background:transparent;padding:8px 14px;min-height:46px;gap:16px;color:var(--ink);border-radius:3px}
.eyebrow,.small-label,.service-index{font-size:11px;letter-spacing:.14em;font-weight:600;text-transform:uppercase}
.eyebrow{color:var(--copper);display:flex;align-items:center;gap:12px;margin-bottom:25px}
.eyebrow:before{content:"";display:block;width:24px;height:1px;background:currentColor;flex:none}
.hero{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:70px;padding-top:82px;padding-bottom:76px;align-items:center}
.hero h1{max-width:740px;font-weight:550}
.lead{font-size:20px;line-height:1.65;color:var(--muted);max-width:700px}
.hero .lead{max-width:610px;margin-bottom:30px}
.actions{display:flex;align-items:center;gap:30px;flex-wrap:wrap}
.button{display:inline-flex;justify-content:center;align-items:center;gap:32px;background:var(--copper);color:var(--white);padding:15px 22px;border:1px solid var(--copper);border-radius:3px;text-decoration:none;font-size:15px;font-weight:600;min-height:54px;cursor:pointer;line-height:1.4}
.button:hover{background:#693d1f;border-color:#693d1f;text-decoration:none}
.button span{font-size:22px;font-weight:400;line-height:1}
.text-link{display:inline-flex;align-items:center;gap:18px;font-size:15px;font-weight:500;min-height:44px;text-decoration:none}
.text-link:hover{text-decoration:underline}
.hero-note{font-size:13px;color:var(--muted);line-height:1.7;margin-top:22px;margin-bottom:0}
.approach{position:relative;border:1px solid #d5c9b9;background:linear-gradient(140deg,#f4eee6,#f9f6f1);padding:28px 27px 14px;border-radius:4px;transform:translateY(10px)}
.approach:after{content:"";position:absolute;inset:10px -12px -12px 10px;border-right:1px solid #e3d7c9;border-bottom:1px solid #e3d7c9;border-radius:3px;z-index:-1}
.approach-top{display:flex;justify-content:space-between;align-items:center;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--copper);padding-bottom:28px;border-bottom:1px solid #d7caba}
.approach-top span:last-child{font-size:25px;line-height:1}
.approach ol{list-style:none;margin:0;padding:30px 0 4px}
.approach li{display:flex;gap:19px;padding-bottom:34px;position:relative}
.approach li:not(:last-child):before{content:"";position:absolute;left:15px;top:36px;height:30px;border-left:1px dashed #c6b6a3}
.approach .step-no{width:32px;height:32px;display:grid;place-items:center;flex:none;font-size:10px;letter-spacing:0;border:1px solid #c9b49e;border-radius:50%;margin-top:2px}
.approach strong{font-size:17px;display:block;font-weight:550;letter-spacing:-.02em}
.approach li div>span{display:block;color:var(--muted);font-size:12px;margin-top:3px}
.approach-bottom{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #d7caba;padding-top:6px}
.approach-bottom .small-label{font-size:9px;letter-spacing:.08em;color:var(--copper)}
.diagram-mark{font-size:42px;font-weight:300;color:var(--copper);line-height:1.6}
.experience-strip{display:flex;justify-content:space-between;align-items:center;gap:32px;padding-block:27px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.experience-strip p{font-size:12px;line-height:1.6;color:var(--muted);margin:0}
.experience-strip p span{color:var(--ink)}
.client-name{font-size:24px;font-weight:550;letter-spacing:-.04em}
.client-name small{font-size:14px;font-weight:400;letter-spacing:0}
.section{padding-block:88px}
.section-heading{display:grid;grid-template-columns:1.3fr 1fr;gap:110px;align-items:end;margin-bottom:43px}
.section-heading h2{margin-bottom:0}
.section-heading>p{font-size:16px;color:var(--muted);margin:0 0 3px}
.services-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.service{display:flex;flex-direction:column;align-items:flex-start;position:relative;padding:35px 36px 27px;border:1px solid var(--line);background:var(--white);text-decoration:none;color:var(--ink);border-radius:3px}
.service:hover{border-color:#b69579;text-decoration:none}
.service-primary{background:var(--ink);color:var(--white);border-color:var(--ink)}
.service-primary:hover{border-color:var(--copper);background:#273038}
.service-index{font-size:10px;color:var(--copper);margin-bottom:28px;letter-spacing:.12em}
.service-primary .service-index{color:#e2b18c}
.service h3{font-size:27px;line-height:1.17;margin-bottom:17px}
.service p{font-size:15px;line-height:1.7;color:var(--muted);max-width:390px;margin-bottom:24px}
.service-primary p{color:#d3d6d9}
.service-link{display:flex;justify-content:space-between;align-items:center;width:100%;margin-top:auto;padding-top:17px;border-top:1px solid var(--line);color:var(--copper);font-size:13px;font-weight:500;gap:10px}
.service-primary .service-link{color:#e2b18c;border-top-color:#475058}
.service-link span{font-size:23px;line-height:1}
.context-section{background:var(--soft);padding:85px 0}
.context-grid{display:grid;grid-template-columns:1fr 1fr;gap:120px}
.context-grid p:not(.eyebrow){color:var(--muted);font-size:16px}
.context-grid .large-text,.large-text{font-size:24px!important;line-height:1.5;color:var(--ink)!important;letter-spacing:-.02em}
.expertise-list{padding:0;margin:24px 0 0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:14px 24px}
.expertise-list li{border-top:1px solid #d5cabe;padding-top:12px;font-size:12px}
.process-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px}
.step-no{font-size:12px;color:var(--copper);letter-spacing:.06em}
.process-list li{border-top:1px solid var(--line);padding-top:20px}
.process-list h3{font-size:18px;margin-top:24px;margin-bottom:15px}
.process-list p{font-size:14px;line-height:1.75;color:var(--muted);margin:0}
.about-band{display:grid;grid-template-columns:1fr 2fr;gap:60px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-block:60px}
.about-band p:not(.eyebrow){font-size:17px;color:var(--muted);max-width:700px}
.about-band h2{font-size:34px}
.faq-section{display:grid;grid-template-columns:1fr 1.4fr;gap:100px}
.faq-list{border-top:1px solid var(--line)}
details{border-bottom:1px solid var(--line);padding:0}
summary{position:relative;cursor:pointer;min-height:60px;padding:18px 35px 18px 0;font-size:16px;font-weight:500;list-style:none}
summary::-webkit-details-marker{display:none}
summary:after{content:"+";position:absolute;right:6px;top:13px;font-size:24px;font-weight:300;color:var(--copper)}
details[open]>summary:after{content:"−"}
details p{font-size:15px;color:var(--muted);padding:0 30px 6px 0}
.contact-cta{background:var(--copper);color:var(--white);padding-block:65px}
.cta-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:90px;align-items:center}
.cta-grid h2{font-size:44px;margin-bottom:20px}
.cta-grid .eyebrow{color:#f5dfcd;font-size:10px}
.cta-grid p{font-size:15px;color:#f6e7db;line-height:1.75;margin-bottom:0}
.cta-grid>div:last-child>p{font-size:12px;margin-top:20px}
.button-light{background:#fff;color:var(--copper);border-color:#fff}
.button-light:hover{background:#f4e7dc;border-color:#f4e7dc;color:#663d20}
.site-footer{padding-top:50px;padding-bottom:22px}
.footer-main{display:flex;align-items:center;justify-content:space-between;gap:25px;padding-bottom:35px}
.footer-name{font-size:26px;letter-spacing:-.055em;font-weight:650;color:var(--ink);text-decoration:none}
.footer-name span{color:var(--copper)}
.footer-main p{font-size:12px;color:var(--muted);margin:6px 0 0}
.footer-main>a{font-size:17px;text-decoration:none}
.footer-bottom{border-top:1px solid var(--line);padding-top:20px;display:flex;align-items:center;justify-content:space-between;gap:24px;font-size:11px;color:var(--muted)}
.footer-bottom nav{display:flex;gap:24px;flex-wrap:wrap}
.footer-bottom a{color:var(--muted);text-decoration:none;min-height:44px;display:flex;align-items:center}
.footer-bottom a:hover{text-decoration:underline}
.breadcrumbs{display:flex;align-items:center;gap:12px;padding-top:25px;font-size:12px;color:var(--muted);flex-wrap:wrap}
.breadcrumbs a{color:var(--muted);min-height:30px;display:flex;align-items:center}
.page-intro{padding-top:68px;padding-bottom:60px}
.page-intro h1{max-width:900px}
.page-intro .lead{max-width:780px}
.page-intro>p:not(.lead):not(.eyebrow){max-width:780px;color:var(--muted)}
.page-intro>.button{margin-top:10px}
.services-page{padding-top:0}
.narrow{max-width:800px}
.detail-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:110px}
.detail-grid>div>p{color:var(--muted);font-size:17px}
.detail-grid h3{margin-top:32px}
.soft-section{background:var(--soft)}
.check-list{list-style:none;padding:0;margin:0 0 30px}
.check-list li{position:relative;border-bottom:1px solid #d8ccbf;padding:15px 0 15px 30px;font-size:17px}
.check-list li:before{content:"↳";position:absolute;left:0;color:var(--copper)}
.client-profiles{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.client-profiles article{border:1px solid var(--line);padding:35px;background:#fff;border-radius:3px}
.client-profiles h2{font-size:32px;margin-top:35px;margin-bottom:24px}
.client-profiles h2 small{font-size:18px;font-weight:400;letter-spacing:0}
.client-profiles p{font-size:15px;color:var(--muted);margin:0}
.client-profiles .small-label{color:var(--copper);font-size:10px}
.prose h2{font-size:28px;margin-top:40px}
.prose h2:first-child{margin-top:0}
.prose p{color:var(--muted)}
.contact-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:100px;padding-top:10px}
.contact-info h2{font-size:32px}
.contact-info p{font-size:16px;color:var(--muted)}
.direct-contact{display:flex;flex-direction:column;margin-block:34px;align-items:flex-start}
.direct-contact .small-label{color:var(--muted);font-size:9px;margin-top:20px}
.direct-contact a{font-size:20px;min-height:44px;display:flex;align-items:center;overflow-wrap:anywhere}
.form-panel{border:1px solid var(--line);border-radius:3px;padding:34px;background:#fff;min-width:0}
.form-panel h2{font-size:25px;margin-bottom:10px}
.muted{color:var(--muted)}
.form-panel>p{font-size:12px}
.form-row{margin-top:20px}
label{display:block;font-size:14px;font-weight:500;margin-bottom:7px}
input:not([type=hidden]),textarea{width:100%;min-height:48px;display:block;border:1px solid #85827d;border-radius:2px;padding:10px 12px;color:var(--ink);background:#fff;line-height:1.5}
textarea{resize:vertical;min-height:170px}
[aria-invalid=true]{border-color:#a22222!important}
.field-hint{font-size:12px;color:var(--muted);margin-bottom:8px}
.field-error{display:block;font-size:12px;color:#a22222;padding-top:3px}
.field-error:empty{display:none}
.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.form-privacy{font-size:12px;color:var(--muted);margin-top:24px}
.test-form-note{background:var(--soft);color:#5e4838;font-size:12px;padding:12px;border-left:2px solid var(--copper)}
.form-errors{border:1px solid #a22222;background:#fff4f1;padding:18px;margin-block:20px;color:#882020}
.form-errors h3{font-size:17px;letter-spacing:0;margin-bottom:10px}
.form-errors ul{font-size:13px;margin:0;padding-left:20px}
.confirmation{min-height:55vh}
.icon{width:20px;height:20px;display:inline-block;flex:none;vertical-align:middle}
.text-link,.footer-main>a,.footer-bottom a,.nav-contact{gap:10px}
.direct-contact a{gap:12px}
.menu-toggle{gap:10px}
.menu-toggle .close-icon{display:none}
.menu-toggle[aria-expanded=true] .menu-icon{display:none}
.menu-toggle[aria-expanded=true] .close-icon{display:inline-flex}
.about-intro{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:80px;align-items:center}
.about-portrait{margin:0}
.about-portrait picture,.contact-profile picture{display:block;overflow:hidden;border-radius:3px;background:var(--soft)}
.about-portrait img{display:block;width:100%;height:auto;aspect-ratio:1}
.about-portrait figcaption{font-size:11px;color:var(--muted);margin-top:14px;line-height:1.6}
.contact-profile{display:flex;gap:22px;align-items:center;margin-bottom:32px}
.contact-profile picture{width:132px;flex:none}
.contact-profile img{display:block;width:132px;height:132px;object-fit:cover}
.contact-profile strong{display:block;font-size:21px;letter-spacing:-.025em;margin-bottom:8px}
.contact-profile span{font-size:13px;color:var(--muted);line-height:1.6}
.projects-section{padding-bottom:80px}
.project-group{display:grid;grid-template-columns:1fr 2fr;gap:70px;border-top:1px solid var(--line);padding-block:44px}
.project-group>header h2{font-size:28px;margin-top:20px}
.project-group .small-label{color:var(--copper);font-size:10px}
.project-list{display:grid;grid-template-columns:1fr 1fr;gap:34px 36px}
.project-list article{min-width:0;border-bottom:1px solid var(--line);padding-bottom:26px}
.project-list h3,.featured-projects h3{font-size:23px;line-height:1.3;overflow-wrap:anywhere}
.project-list p,.featured-projects p{font-size:15px;color:var(--muted)}
.project-list .text-link{font-size:12px;min-height:44px;align-items:center}
.featured-projects{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin-bottom:28px}
.featured-projects article{border-top:2px solid var(--copper);padding-top:24px;min-width:0}
@media(max-width:1050px){.about-intro{gap:40px;grid-template-columns:minmax(0,1fr) 300px}.project-group{gap:36px;grid-template-columns:1fr 2fr}.featured-projects{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.about-intro{grid-template-columns:1fr;gap:32px}.about-portrait{max-width:330px}.project-group{grid-template-columns:1fr;gap:24px;padding-block:32px}.project-group>header h2{margin-top:12px}.projects-section{padding-bottom:50px}.project-list{gap:28px}.contact-profile{gap:18px;margin-bottom:26px}.contact-profile strong{font-size:20px}.featured-projects{gap:26px}}
@media(max-width:480px){.project-list,.featured-projects{grid-template-columns:1fr}.featured-projects article{padding-top:20px}.contact-profile picture,.contact-profile img{width:110px;height:110px}.contact-profile strong{font-size:19px}.contact-profile span{font-size:12px}.about-intro h1{font-size:36px}}
.legacy-content{max-width:900px;padding-top:48px;padding-bottom:80px}
.archive-label{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--copper);border-bottom:1px solid var(--line);padding-bottom:16px;margin-bottom:34px}
.legacy-content h1{font-size:clamp(32px,4vw,52px);overflow-wrap:anywhere;line-height:1.16}
.legacy-content h2{font-size:29px;margin-top:42px;margin-bottom:20px}
.legacy-content h3{font-size:22px;margin-top:30px}
.legacy-content p,.legacy-content li{color:var(--muted);overflow-wrap:anywhere}
.legacy-content a{overflow-wrap:anywhere}
.legacy-content ul,.legacy-content ol{padding-left:24px}
.legacy-content li{margin-bottom:10px}
.legacy-content pre{max-width:100%;overflow:auto;white-space:pre;font-size:13px;line-height:1.7;padding:22px;background:var(--ink);color:#f3efe9;border-radius:3px;tab-size:4}
.legacy-content code{font-family:Consolas,"Liberation Mono",monospace;overflow-wrap:anywhere}
.legacy-content pre code{overflow-wrap:normal}
.legacy-content table{width:100%;border-collapse:collapse;font-size:15px;table-layout:fixed}
.legacy-content td{padding:14px 10px;border-bottom:1px solid var(--line);overflow-wrap:anywhere}
.legacy-content td:last-child{width:74px;text-align:center}
.legacy-content td a{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}
.legacy-content a:has(.pdf-label){display:inline-flex;align-items:center;gap:6px;min-height:44px}
.pdf-label{font-size:11px}
.legacy-content img:not(.ico):not(.icon){max-width:100%;height:auto;margin:24px auto;border-radius:3px}
.legacy-content img.ico,.legacy-content img.icon{display:inline-block;vertical-align:middle;width:18px;height:18px}
.legacy-content .alignright{float:right;margin:0 0 24px 30px!important}
.legacy-content .clear{clear:both}
.legacy-content .item-ref{padding-bottom:36px;margin-bottom:36px;border-bottom:1px solid var(--line)}
.legacy-content .item-ref-detail .desc-ref{padding:20px;border:1px solid var(--line);background:#fff;margin-bottom:30px}
.legacy-content .more{display:inline-flex;min-height:44px;align-items:center}
@media(max-width:760px){.legacy-content{padding-top:32px;padding-bottom:50px}.legacy-content h2{font-size:25px}.legacy-content pre{padding:14px;font-size:12px}.legacy-content table{font-size:13px}.legacy-content td{padding:10px 4px}.legacy-content .alignright{float:none;margin:20px auto!important}}
@media(min-width:1500px){.hero{padding-top:100px;padding-bottom:100px}}
@media(max-width:1050px){.wrap{width:calc(100% - 64px)}.hero{gap:40px;grid-template-columns:1.5fr 1fr}.hero h1{font-size:52px}.approach{padding-inline:20px}.approach strong{font-size:15px}.main-nav{gap:25px}.section-heading,.context-grid,.detail-grid,.contact-grid{gap:55px}.experience-strip{gap:20px}.client-name{font-size:21px}.experience-strip .text-link{font-size:12px}.faq-section{gap:50px}.service{padding:28px}.process-list{gap:24px}.cta-grid{gap:40px}}
@media(max-width:760px){.wrap{width:calc(100% - 40px)}.site-header{min-height:94px;flex-wrap:wrap;gap:0;padding-block:16px}.brand img{width:166px}.menu-toggle:not([hidden]){display:flex;align-items:center}.main-nav{width:100%;flex-wrap:wrap;gap:8px 24px;margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}.main-nav .nav-contact{border:0;padding:0}.main-nav.enhanced{display:none}.main-nav.enhanced.is-open{display:flex}.main-nav a{font-size:15px;min-height:48px}.hero{grid-template-columns:1fr;gap:40px;padding-top:45px;padding-bottom:50px}.hero h1{font-size:clamp(38px,7vw,52px);max-width:630px}.hero .lead{font-size:18px}.hero .actions{gap:16px 24px}.hero-note{font-size:12px}.approach{max-width:520px;transform:none;margin-right:10px;padding:23px}.approach ol{padding-top:24px;display:grid;grid-template-columns:1fr;gap:0}.approach li{padding-bottom:25px}.approach strong{font-size:17px}.approach li div>span{font-size:13px}.approach-top{padding-bottom:20px}.approach-bottom .small-label{font-size:10px}.experience-strip{display:grid;grid-template-columns:1fr 1fr;gap:22px 20px;padding-block:26px}.experience-strip p{grid-column:1/-1}.experience-strip p br{display:none}.experience-strip .text-link{grid-column:1/-1;font-size:13px;min-height:30px}.client-name{font-size:23px}.client-name small{display:block;font-size:12px}.section{padding-block:55px}.section-heading,.context-grid,.detail-grid,.faq-section,.contact-grid,.cta-grid{grid-template-columns:1fr;gap:28px}.section-heading{margin-bottom:30px}.section-heading>p{font-size:16px}.services-grid{gap:16px}.service{padding:25px 22px 22px}.service h3{font-size:24px}.service p{font-size:14px}.service-index{font-size:9px;margin-bottom:20px}.service-link{font-size:12px;align-items:flex-end}.context-section{padding-block:55px}.context-grid .large-text{font-size:22px!important}.process-list{grid-template-columns:1fr 1fr;gap:30px 25px}.process-list h3{margin-top:18px}.about-band{grid-template-columns:1fr;gap:16px;padding-block:40px}.about-band .eyebrow{margin-bottom:0}.about-band h2{font-size:29px}.faq-section{gap:20px}.faq-section h2{margin-bottom:8px}.contact-cta{padding-block:48px}.cta-grid h2{font-size:36px}.cta-grid p br{display:none}.cta-grid>div:last-child>p{max-width:400px}.footer-main{align-items:flex-start;flex-direction:column}.footer-bottom{align-items:flex-start;flex-direction:column;gap:8px}.footer-bottom nav{gap:4px 22px}.page-intro{padding-top:44px;padding-bottom:35px}.page-intro h1{font-size:42px}.page-intro .lead{font-size:18px}.page-intro br{display:none}.breadcrumbs{font-size:11px;gap:9px;padding-top:18px}.client-profiles{grid-template-columns:1fr}.client-profiles article{padding:28px}.client-profiles h2{margin-top:26px}.contact-grid{padding-top:10px;gap:35px}.form-panel{padding:25px}.direct-contact{margin-block:20px}.prose h2{font-size:25px}.preview-note{font-size:10px}}
@media(max-width:480px){.hero h1{font-size:40px;letter-spacing:-.05em}.services-grid{grid-template-columns:1fr}.service{padding:28px}.service h3{font-size:27px}.service p{max-width:none}.process-list{grid-template-columns:1fr;gap:26px}.process-list li{display:grid;grid-template-columns:30px 1fr;gap:0 15px}.process-list .step-no{padding-top:2px}.process-list h3{margin-top:0;margin-bottom:10px}.process-list p{grid-column:2}.expertise-list{grid-template-columns:1fr}.page-intro h1{font-size:38px}.form-panel{padding:22px 18px}.actions .text-link{min-height:44px}.brand img{width:150px}.menu-toggle{font-size:14px;padding-inline:11px}.experience-strip .client-name{font-size:21px}.cta-grid h2{font-size:34px}.button{gap:26px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
@media print{.preview-note,.menu-toggle,.main-nav,.contact-cta,.site-footer,.approach{display:none!important}.wrap{width:100%;max-width:100%}.hero,.detail-grid{display:block}.section{padding-block:25px}body{font-size:12pt;background:#fff}.hero h1,h1{font-size:30pt}a{color:#000}}

/* Slightly larger desktop contact portrait; original crop preserved. */
@media(min-width:761px){.contact-profile picture{width:150px}.contact-profile img{width:150px;height:150px}}
