@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Libre+Caslon+Display&display=swap');
:root{--ink:#142d35;--muted:#536267;--paper:#fffefa;--light:#f3f2ec;--line:#dcded7;--accent:#a44527;--serif:'Libre Caslon Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;background:var(--paper);color:var(--ink);font:1rem/1.65 var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a,input,textarea,summary{-webkit-tap-highlight-color:transparent}a,button{touch-action:manipulation}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:5px}input:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:3px}img{max-width:100%;display:block}p{margin:0 0 1.5rem}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.06;margin:0}h1{font-size:clamp(3.75rem,6.8vw,6.75rem);letter-spacing:-.043em}h2{font-size:clamp(2.8rem,4vw,4.25rem);letter-spacing:-.035em}h3{font-size:2.25rem;letter-spacing:-.025em}h1 em{color:var(--accent);font-weight:400}.container{width:min(1220px,calc(100% - 100px));margin-inline:auto}.section{padding-block:105px}.eyebrow{font-size:.75rem;letter-spacing:.16em;font-weight:700;margin-bottom:24px}.button{display:inline-flex;justify-content:center;align-items:center;min-height:54px;padding:14px 25px;background:var(--ink);color:white;font-size:.9375rem;font-weight:550;border:1px solid var(--ink);border-radius:4px;cursor:pointer;transition:background .18s,transform .18s}.button:hover{background:#284b56;transform:translateY(-2px)}.button-small{min-height:44px;padding:9px 20px}.text-link{font-size:.9375rem;font-weight:600;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:7px;display:inline-block}.text-link:hover{color:var(--accent)}.site-header{border-bottom:1px solid var(--line);background:rgba(255,254,250,.97);position:relative;z-index:2}.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:100px;gap:32px}.wordmark{display:flex;align-items:center;gap:13px}.mark{font-family:var(--serif);font-size:2.4rem;line-height:1;width:44px;height:49px;display:grid;place-items:center;border:1px solid #8b9797}.wordmark strong{font-family:var(--serif);font-size:1.85rem;font-weight:400;line-height:1.1;display:block;letter-spacing:-.015em}.wordmark small{font-size:.625rem;letter-spacing:.15em;font-weight:650;display:block;margin-top:4px}.header-inner nav{display:flex;gap:32px;align-items:center;font-size:.9375rem}.header-inner nav>a:not(.button):hover{color:var(--accent)}.hero{display:grid;grid-template-columns:1.08fr 1fr;gap:65px;align-items:center;padding-top:64px;padding-bottom:67px;min-height:720px}.hero-copy{padding-top:12px}.hero .eyebrow{color:var(--accent);margin-bottom:22px}.hero-description{font-size:1.125rem;max-width:450px;line-height:1.75;color:var(--muted);margin-top:28px;margin-bottom:30px}.hero-actions{display:flex;align-items:center;gap:26px;flex-wrap:wrap}.personal-note{display:flex;gap:13px;align-items:center;margin-top:45px}.initials{background:#e6e9e4;border-radius:50%;width:40px;height:40px;flex-shrink:0;display:grid;place-items:center;font-family:var(--serif);font-size:1.0625rem}.personal-note p{font-size:.8125rem;line-height:1.6;margin:0}.personal-note p span{color:var(--muted)}.hero-visual{position:relative;margin:0 0 0 10px;padding-bottom:34px}.arch{height:550px;border-radius:240px 240px 4px 4px;overflow:hidden;background:var(--light)}.arch img{width:100%;height:100%;object-fit:cover;object-position:51% 50%}.hero-visual figcaption{position:absolute;bottom:80px;left:-35px;background:var(--paper);padding:22px 28px 20px;box-shadow:0 8px 32px #142d3512;border:1px solid var(--line);max-width:calc(100% - 12px)}.hero-visual figcaption span{font-size:.625rem;letter-spacing:.12em;font-weight:700;display:block;margin-bottom:9px;color:var(--accent)}.hero-visual figcaption strong{font-family:var(--serif);font-weight:400;font-size:1.8rem;line-height:1.08;display:block}.hero-visual figcaption a{font-size:.75rem;display:block;margin-top:14px;text-decoration:underline;text-underline-offset:4px}.image-credit{position:absolute;bottom:0;right:0;margin:0;font-size:.75rem;color:var(--muted)}.principles{border-block:1px solid var(--line);background:var(--light)}.principles .container{display:flex;justify-content:space-between;align-items:center;padding-block:22px;font-size:.875rem;font-weight:500}.principles i{font-family:var(--serif);color:#9ba6a4;font-size:1.5rem}.section-intro{display:flex;justify-content:space-between;gap:40px;align-items:flex-end;margin-bottom:47px}.section-intro>p{color:var(--muted);max-width:365px;margin-bottom:3px;line-height:1.75}.section-intro .eyebrow{margin-bottom:16px}.projects{display:grid;grid-template-columns:1fr 1fr;gap:40px}.project-image{height:325px;position:relative;display:block;overflow:hidden;border-radius:4px;background:var(--light)}.project-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.project-image:hover img{transform:scale(1.035)}.project-label{position:absolute;left:20px;bottom:20px;background:var(--paper);color:var(--ink);padding:9px 12px;font-size:.625rem;letter-spacing:.08em;font-weight:650;max-width:calc(100% - 40px)}.second-project img{object-position:62% 50%}.project-meta{display:flex;justify-content:space-between;font-size:.6875rem;letter-spacing:.09em;color:var(--muted);font-weight:650;margin-top:26px;margin-bottom:12px;gap:20px}.project>p{margin-top:17px;color:var(--muted);max-width:510px}.tags{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:0 0 25px}.tags li{border:1px solid var(--line);padding:4px 10px;border-radius:3px;font-size:.75rem;color:var(--muted)}.approach{background:var(--ink);color:var(--paper)}.approach .eyebrow{color:#d8b795}.section-lead{max-width:640px;margin-top:25px;color:#d1dbda;font-size:1.0625rem}.site-footer{border-top:1px solid var(--line);padding:26px 0;font-size:.8125rem;color:var(--muted)}.site-footer .container{display:flex;justify-content:space-between;gap:20px;align-items:center}.site-footer p{margin:0}.site-footer a{text-decoration:underline;text-underline-offset:4px}.skip-link{position:fixed;top:-100px;left:20px;background:var(--ink);color:white;padding:12px;z-index:100}.skip-link:focus{top:10px}.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(min-width:1550px){.hero{min-height:780px}.arch{height:590px}}
@media(max-width:1050px){.container{width:calc(100% - 64px)}.hero{gap:40px;min-height:650px}.arch{height:470px}.hero-actions{gap:22px}.hero-visual figcaption{left:-20px;padding:20px}.hero-visual figcaption strong{font-size:1.6rem}.project-image{height:270px}}
@media(max-width:760px){html{scroll-padding-top:25px}.container{width:calc(100% - 40px)}.header-inner{min-height:84px;gap:16px}.wordmark{gap:9px}.mark{width:34px;height:40px;font-size:2rem}.wordmark strong{font-size:1.6rem}.wordmark small{font-size:.5rem;letter-spacing:.12em}.header-inner nav{gap:15px}.header-inner nav>a:not(.button){display:none}.button-small{min-height:44px;padding:8px 15px;font-size:.8125rem}.hero{grid-template-columns:1fr;gap:42px;padding-top:45px;padding-bottom:38px}.hero-copy{padding:0}h1{font-size:clamp(3.9rem,12.5vw,6rem)}.hero-description{font-size:1.0625rem;margin-top:24px;max-width:500px}.hero-actions{gap:22px}.personal-note{margin-top:30px}.hero-visual{margin-left:20px;margin-right:5px;max-width:500px}.arch{height:420px;border-radius:200px 200px 4px 4px}.hero-visual figcaption{bottom:68px;left:-20px}.image-credit{font-size:.6875rem}.principles .container{gap:8px;justify-content:center;flex-wrap:wrap;padding-block:16px;font-size:.75rem}.principles i{font-size:1rem}.principles .container span:last-child{flex-basis:100%;text-align:center}.principles i:nth-of-type(2){display:none}.section{padding-block:65px}.section-intro{display:block;margin-bottom:30px}.section-intro>p{margin-top:24px;max-width:100%}.section-intro>p br{display:none}.projects{grid-template-columns:1fr;gap:48px}.project-image{height:290px}.project-meta{margin-top:20px}.project h3{font-size:2.1rem}.site-footer .container{flex-wrap:wrap;gap:12px}.site-footer p:nth-child(2){display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin-top:57px}.service-grid article{border-top:1px solid #52666a;padding-top:21px}.service-number{display:block;color:#d8b795;font-size:.8125rem;letter-spacing:.07em;margin-bottom:24px}.service-grid h3{font-size:1.9rem;max-width:245px;line-height:1.13;margin-bottom:19px}.service-grid p{color:#cbd6d5;margin:0;line-height:1.8}.process{display:grid;grid-template-columns:1fr 1fr;gap:100px}.process-intro>p:not(.eyebrow){color:var(--muted);max-width:420px;margin-top:25px}.process-steps{list-style:none;margin:0;padding:5px 0 0}.process-steps li{display:flex;align-items:flex-start;gap:23px;padding:28px 0;border-bottom:1px solid var(--line)}.process-steps li:first-child{padding-top:0}.process-steps li>span{font-size:.8125rem;color:var(--accent);padding-top:5px}.process-steps h3{font-size:1.9rem;line-height:1.16;margin-bottom:12px}.process-steps p{color:var(--muted);margin:0}.contact-section{background:var(--light);border-top:1px solid var(--line);padding:90px 0}.contact-grid{display:grid;grid-template-columns:.9fr 1fr;gap:90px;align-items:start}.contact-copy h2{max-width:440px}.contact-copy>p:not(.eyebrow){color:var(--muted);margin-top:26px;max-width:410px}.email-link{font-size:1.0625rem;text-decoration:underline;text-underline-offset:5px;overflow-wrap:anywhere}.contact-copy .contact-signature{font-size:.875rem;line-height:1.7;margin-top:33px;color:var(--ink)}.contact-signature span{color:var(--muted)}.contact-form{background:var(--paper);border:1px solid var(--line);border-radius:5px;padding:34px}.contact-form h3{font-size:2rem;line-height:1.1}.form-intro{font-size:.9375rem;color:var(--muted);margin-top:9px;margin-bottom:24px}.contact-form label{display:block;font-size:.875rem;font-weight:550;margin-bottom:7px}.contact-form label span{font-size:.75rem;font-weight:400;color:var(--muted)}.contact-form input,.contact-form textarea{background:transparent;border:1px solid #aebbb8;border-radius:3px;width:100%;padding:10px 12px;color:var(--ink);margin:0 0 18px;min-height:47px;font-size:1rem}.contact-form textarea{resize:vertical;display:block}.contact-form ::placeholder{color:#657576;opacity:1;font-size:.9375rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.contact-form .button{width:100%}.form-note{font-size:.75rem;color:var(--muted);text-align:center;margin:12px 0 0}.form-status{padding:13px;font-size:.875rem;border:1px solid var(--line);background:var(--light);margin:18px 0 0;overflow-wrap:anywhere}
/* Keep secondary labels readable without competing with the main content. */
.wordmark small{font-size:.75rem;letter-spacing:.08em}.hero-visual figcaption span{font-size:.75rem;letter-spacing:.07em}.hero-visual figcaption a{font-size:.875rem}.project-label{font-size:.75rem;letter-spacing:.06em}.project-meta{font-size:.75rem}.tags li{font-size:.875rem}.personal-note p{font-size:.875rem}.eyebrow{font-size:.8125rem}.header-inner nav{font-size:1rem}
@media(max-width:1050px){.process{gap:55px}.contact-grid{gap:45px}.contact-form{padding:25px}.form-row{grid-template-columns:1fr;gap:0}.wordmark small{font-size:.75rem}.service-grid{gap:28px}}
@media(max-width:760px){.wordmark small{font-size:.75rem;letter-spacing:0;line-height:1.2;max-width:120px}.header-inner{gap:10px}.header-inner nav{gap:0}.mark{display:none}.hero .eyebrow{font-size:.75rem}.hero-visual figcaption span{font-size:.75rem}.project-label{font-size:.75rem}.project-meta{font-size:.75rem}.image-credit{font-size:.75rem}.principles .container{font-size:.875rem}.service-grid{grid-template-columns:1fr;gap:30px;margin-top:35px}.service-number{margin-bottom:12px}.service-grid h3{max-width:none;margin-bottom:12px}.process{grid-template-columns:1fr;gap:35px}.process-intro>p:not(.eyebrow){max-width:none}.process-steps li{padding:24px 0}.contact-section{padding:62px 0}.contact-grid{grid-template-columns:1fr;gap:26px}.contact-form{padding:25px 20px}.contact-copy h2{max-width:500px}.contact-copy>p:not(.eyebrow){max-width:none}.contact-copy .contact-signature{margin-top:25px}.form-row{grid-template-columns:1fr}.contact-form label{font-size:.9375rem}.site-footer{font-size:.875rem}}
@media(max-width:375px){.hero-actions{align-items:flex-start;flex-direction:column}.hero-visual figcaption{padding:18px}.hero-visual figcaption strong{font-size:1.6rem}.project-image{height:250px}}
/* Portfolio case studies, evidence, and inquiry flow. */
.welcome-mark{border:0;background:var(--ink);border-radius:22px 22px 3px 3px;position:relative;width:38px;height:46px}.welcome-mark:before{content:'';position:absolute;inset:8px 9px 0;border:1px solid #e9d5b7;border-radius:20px 20px 0 0}.welcome-mark:after{content:'';position:absolute;width:4px;height:4px;right:14px;top:29px;background:#e9d5b7;border-radius:50%}.wordmark strong{font-size:1.65rem}.wordmark small{font-size:.625rem;letter-spacing:.08em}.case-studies{display:grid;gap:85px}.case-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:30px}.case-heading .eyebrow{margin-bottom:12px;color:var(--accent)}.case-heading h3{font-size:clamp(2rem,3.3vw,3.1rem);max-width:760px;line-height:1.12}.case-heading>a{flex-shrink:0}.project-showcase{background:#e8e2d7;padding:38px 120px 38px 38px;border-radius:8px;position:relative;margin-bottom:36px}.browser-preview{display:block;border:1px solid #b6bbb5;border-radius:7px;overflow:hidden;background:#fff;box-shadow:0 16px 30px #142d3515}.browser-preview img{width:100%;height:auto}.browser-bar{height:30px;background:#faf9f6;border-bottom:1px solid #ddd;display:flex;gap:5px;align-items:center;padding:0 12px}.browser-bar i{width:5px;height:5px;border-radius:50%;background:#c9cbc5}.browser-bar span{color:#5b6667;font-size:.625rem;position:absolute;left:50%;transform:translateX(-50%)}.phone-preview{position:absolute;width:19%;right:30px;bottom:18px;border:6px solid var(--ink);border-radius:23px;background:var(--ink);overflow:hidden;box-shadow:0 15px 30px #142d3533}.phone-preview img{width:100%;height:auto}.case-copy{display:grid;grid-template-columns:1fr 1fr;gap:70px}.case-copy h4{font:400 2rem/1.13 var(--serif);margin:0 0 16px}.case-copy .eyebrow{font-size:.75rem;margin-bottom:15px}.case-copy p:not(.eyebrow){color:var(--muted);line-height:1.85}.case-copy .tags{margin-bottom:18px}.episcopal-preview{position:relative;margin-bottom:36px;background:#dce4e8}.feedback{margin:20px 0 0;padding:30px 0 0;border-top:1px solid var(--line);display:grid;grid-template-columns:1.25fr 1fr;gap:45px;align-items:center}.feedback blockquote{font:400 1.8rem/1.3 var(--serif);margin:0}.feedback figcaption{font-size:.875rem}.feedback figcaption>*{display:block}.feedback figcaption small{color:var(--muted);font-size:.75rem;margin-top:6px}.social-section{background:var(--light);border-block:1px solid var(--line)}.social-section .section-intro>div{max-width:750px}.social-section .section-intro>p{max-width:335px}.social-section .eyebrow{font-size:.75rem}.social-story{display:grid;grid-template-columns:.85fr 1fr;gap:85px;align-items:center}.social-art{display:block;padding:24px;background:#dce2e0;max-width:450px;border-radius:5px}.social-art img{width:100%;height:auto}.social-art span{display:block;font-size:.8125rem;margin-top:15px;text-decoration:underline;text-underline-offset:4px}.social-copy h3{font-size:clamp(2.5rem,3.3vw,3.5rem);margin-bottom:24px}.social-copy>p:not(.eyebrow){color:var(--muted)}.outcome-list{list-style:none;padding:0;margin:30px 0}.outcome-list li{border-top:1px solid #cbd2ce;padding:17px 0}.outcome-list strong,.outcome-list span{display:block}.outcome-list strong{font-size:.9375rem}.outcome-list span{font-size:.9375rem;color:var(--muted);margin-top:5px}.results-block{margin-top:70px;padding:40px;background:var(--ink);color:var(--paper);border-radius:6px}.results-heading{display:flex;gap:35px;justify-content:space-between;align-items:center}.results-heading h3{font-size:2.7rem}.results-heading .eyebrow{color:#d8b795;margin-bottom:15px}.results-heading>p{max-width:320px;margin:0;color:#ced9d8;font-size:.9375rem}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin-top:38px}.metric-grid>div{border-top:1px solid #5b6f73;padding-top:18px}.metric-period{font-size:.625rem;letter-spacing:.08em;color:#d8b795}.metric-grid strong{display:block;font:400 clamp(2.8rem,5vw,4.6rem)/1.2 var(--serif);padding:12px 0}.metric-grid strong span{font-size:.5em}.metric-grid>div>span:last-child{font-size:.875rem;line-height:1.4;display:block;max-width:180px;color:#e2e8e5}.data-details{margin-top:28px;border-top:1px solid #5b6f73;padding-top:20px}.data-details summary{font-size:.875rem;cursor:pointer;color:#e2e8e5}.data-details p{font-size:.875rem;color:#ced9d8;margin-top:18px;margin-bottom:0;max-width:900px}.social-feedback{margin-top:45px}.channel-links{display:flex;flex-wrap:wrap;gap:15px 24px;margin-top:36px;font-size:.875rem}.channel-links span{color:var(--muted);margin-right:auto}.channel-links a{text-decoration:underline;text-underline-offset:5px}.faq-section{display:grid;grid-template-columns:1fr 1.2fr;gap:90px;padding-top:0}.faq-section>div>p:not(.eyebrow){color:var(--muted);max-width:320px;margin-top:25px}.faq-list details{border-top:1px solid var(--line);padding:20px 0}.faq-list details:last-child{border-bottom:1px solid var(--line)}.faq-list summary{font-weight:550;cursor:pointer;padding-right:10px;line-height:1.6}.faq-list details p{color:var(--muted);margin:16px 0 0;font-size:.9375rem}.contact-form select{width:100%;padding:12px;border:1px solid #aebbb8;border-radius:3px;background:var(--paper);color:var(--ink);font:inherit;margin-bottom:18px}.contact-form input:focus-visible,.contact-form select:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.form-note a{text-decoration:underline}.button:disabled{opacity:.65;cursor:wait}.form-status[data-state=error]{border-color:var(--accent)}.simple-page{max-width:760px;margin:60px auto;padding:0 24px}.simple-page h1{font-size:3.5rem;margin-bottom:30px}.simple-page h2{font-size:2rem;margin:30px 0 15px}.simple-page a{text-decoration:underline}.inquiry-list{list-style:none;padding:0}.inquiry-card{border:1px solid var(--line);padding:25px;margin:20px 0;border-radius:5px;background:var(--paper)}.inquiry-card h2{margin:0 0 10px}.inquiry-card p{white-space:pre-wrap;overflow-wrap:anywhere}.inquiry-meta{font-size:.875rem;color:var(--muted)}.small-link{font-size:.875rem}
@media(max-width:1050px){.header-inner nav{gap:20px}.project-showcase{padding:28px 100px 28px 28px}.case-copy{gap:40px}.social-story{gap:45px}.faq-section{gap:50px}.results-block{padding:30px}.metric-grid{gap:18px}.feedback{gap:30px}}
@media(max-width:760px){.wordmark strong{font-size:1.45rem}.wordmark small{font-size:.6rem;max-width:190px}.case-heading{display:block;margin-bottom:24px}.case-heading>a{margin-top:20px}.case-studies{gap:60px}.project-showcase{padding:18px 45px 18px 16px;margin-bottom:28px}.browser-bar{height:20px;padding-inline:7px}.browser-bar span{font-size:.45rem}.browser-bar i{width:3px;height:3px}.phone-preview{border-width:3px;border-radius:10px;right:8px;bottom:9px;width:24%}.case-copy{grid-template-columns:1fr;gap:12px}.feedback{grid-template-columns:1fr;gap:20px;padding-top:25px}.feedback blockquote{font-size:1.7rem}.social-story{grid-template-columns:1fr;gap:35px}.social-art{max-width:440px;margin:auto;padding:18px}.social-section .section-intro>p{max-width:none}.social-copy h3 br{display:none}.results-block{padding:25px 20px;margin-top:40px}.results-heading{display:block}.results-heading>p{margin-top:20px}.results-heading h3 br{display:none}.metric-grid{grid-template-columns:1fr 1fr;gap:24px 18px}.metric-grid strong{font-size:3.3rem}.metric-period{font-size:.5625rem}.channel-links span{flex-basis:100%}.faq-section{grid-template-columns:1fr;gap:28px;padding-top:0}.faq-section>div>p:not(.eyebrow){max-width:none}.simple-page h1{font-size:2.8rem}.contact-form select{font-size:1rem}}
