:root{--ink:#142c45;--muted:#536273;--orange:#c95129;--orange-light:#f1e3dc;--green:#286047;--line:#dce1e5;--pale:#f3f5f6;--white:#fff;--max:1280px;--font:Arial,Helvetica,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;background:var(--white);color:var(--ink);font-family:var(--font);font-size:17px;line-height:1.6}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{cursor:pointer}button:disabled{cursor:wait;opacity:.7}img{max-width:100%;display:block}figure{margin:0}svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;flex-shrink:0}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.08;font-weight:700}h1{font-size:clamp(3rem,5vw,5rem);letter-spacing:-.064em}h2{font-size:clamp(2.2rem,3.5vw,3.65rem);letter-spacing:-.052em}h3{font-size:1.65rem;letter-spacing:-.025em}p{color:var(--muted)}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--orange);outline-offset:5px}.container{width:min(var(--max),calc(100% - 100px));margin-inline:auto}.section{padding-block:108px}.eyebrow{font-size:.79rem;line-height:1.5;letter-spacing:.11em;font-weight:700;text-transform:uppercase;color:var(--ink);margin-bottom:24px}.short-rule{display:inline-block;width:28px;height:20px;background:transparent url("/assets/logo.jpeg") no-repeat -4px -5px / 36px auto;vertical-align:middle;margin-right:12px}.button{display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:55px;padding:14px 24px;border:1px solid var(--ink);border-radius:3px;color:#fff;background:var(--ink);font-size:.94rem;font-weight:700;line-height:1.35;transition:background .18s ease,color .18s ease}.button:hover{background:#264762}.button-small{min-height:46px;padding:11px 20px;font-size:.88rem}.button-light{background:white;border-color:white;color:var(--ink)}.button-light:hover{background:#e6edf2}.button-outline{background:transparent;color:var(--ink)}.button-outline:hover{background:var(--pale)}.text-link{display:inline-flex;align-items:center;gap:12px;font-size:.94rem;font-weight:700;line-height:1.5;text-decoration:underline;text-underline-offset:6px;text-decoration-color:#b9c0c6}.text-link:hover{text-decoration-color:var(--orange);color:var(--orange)}.skip{position:fixed;left:16px;top:-100px;background:var(--ink);color:#fff;padding:12px 20px;z-index:999}.skip:focus{top:16px}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.topline{background:var(--ink);color:#fff;font-size:.76rem;letter-spacing:.015em}.topline .container{display:flex;justify-content:space-between;align-items:center;min-height:36px;gap:16px}.top-phone{margin-left:14px;font-weight:700}.site-header{position:sticky;top:0;z-index:20;background:#fff;border-bottom:1px solid var(--line)}.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:100px;gap:24px}.brand{display:inline-flex;align-items:center;gap:12px;color:var(--ink);line-height:1;font-size:1.53rem;font-weight:800;letter-spacing:.012em;flex-shrink:0}.brand small{display:block;font-size:.62rem;letter-spacing:.23em;font-weight:600;margin-top:7px}.brand-mark{position:relative;display:block;width:62px;height:44px;overflow:hidden;background:white;flex:none}.brand-mark img{position:absolute;max-width:none;width:80px;height:auto;left:-9px;top:-11px}.site-nav{display:flex;align-items:center;gap:35px;font-size:.89rem;font-weight:600}.site-nav>a:not(.button):hover{color:var(--orange)}.menu-toggle{display:none;border:1px solid var(--line);background:#fff;padding:9px 13px;border-radius:3px;font-size:.9rem;gap:10px}
.hero{display:grid;grid-template-columns:1.2fr 1fr;gap:65px;padding-top:64px;padding-bottom:66px;align-items:center}.hero-copy{padding:28px 0}.hero h1 span{color:var(--orange)}.hero .eyebrow{margin-bottom:30px}.hero-intro{font-size:1.13rem;line-height:1.65;margin-top:30px;color:var(--muted)}.hero-actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap;margin-top:34px}.hero-footnote{display:flex;gap:17px;margin-top:53px;align-items:center}.hero-footnote p{font-size:.88rem;line-height:1.5}.small-cross{font-size:2.2rem;line-height:1;color:var(--green);font-weight:400}.hero-image{position:relative;height:590px;background:var(--pale);border-radius:2px;overflow:hidden}.hero-image>img{width:100%;height:100%;object-fit:cover;object-position:50% 24%}.hero-image figcaption{position:absolute;bottom:0;right:0;left:0;background:var(--ink);color:white;padding:21px 25px;display:flex;align-items:end;justify-content:space-between;gap:15px;border-left:5px solid var(--orange);font-size:1.16rem;font-weight:600;line-height:1.35}.photo-caption-small{font-size:.75rem;font-weight:400;max-width:155px;text-align:right;line-height:1.5;color:#e2e7ec}.service-strip{border-block:1px solid var(--line);background:var(--pale)}.service-strip>.container{display:grid;grid-template-columns:repeat(4,1fr);min-height:82px;align-items:center;gap:25px;font-size:.9rem;font-weight:600}.service-strip span{padding-left:17px;border-left:2px solid var(--orange)}.section-heading{display:flex;justify-content:space-between;gap:70px;align-items:end;margin-bottom:55px}.section-heading>p{max-width:330px;font-size:1rem}.section-heading .eyebrow{margin-bottom:20px}.service-row{display:grid;grid-template-columns:55px 1fr 1.32fr 50px;gap:30px;align-items:start;padding:37px 0;border-top:1px solid var(--line)}.service-row:last-child{border-bottom:1px solid var(--line)}.service-no{font-size:.85rem;color:var(--orange);padding-top:5px}.service-title h3{font-size:1.55rem;line-height:1.25}.service-title p{font-size:.89rem;margin-top:12px;line-height:1.5}.service-description>p{font-size:1rem;line-height:1.65}.service-tags{display:flex;flex-wrap:wrap;list-style:none;padding:0;margin:18px 0 0;gap:7px}.service-tags li{font-size:.77rem;line-height:1.4;background:var(--pale);padding:6px 10px;border-radius:2px;color:#42596b}.service-link{width:44px;height:44px;border:1px solid var(--line);display:grid;place-items:center;border-radius:50%;margin-top:3px;transition:background .2s}.service-link:hover{background:var(--ink);color:#fff}
.work-section{background:var(--pale)}.project-filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:35px}.filter{border:1px solid #c8d0d6;background:transparent;border-radius:3px;padding:10px 18px;font-size:.88rem;color:var(--ink)}.filter.active{background:var(--ink);border-color:var(--ink);color:white}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:50px 34px}.project-image{aspect-ratio:4/3;overflow:hidden;background:#e1e7eb}.project-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.project-card a:hover .project-image img{transform:scale(1.025)}.project-card-meta{font-size:.77rem;display:flex;gap:15px;justify-content:space-between;margin:20px 0 12px;color:var(--muted)}.project-card h3{display:flex;justify-content:space-between;gap:24px;font-size:1.5rem;line-height:1.25;overflow-wrap:anywhere}.project-card p{margin-top:12px;font-size:1rem;overflow-wrap:anywhere}.project-card[hidden]{display:none}.about-layout{display:grid;grid-template-columns:1fr 1.18fr;gap:115px}.about-location{font-size:.84rem;margin-top:28px;color:var(--green);font-weight:600}.about-intro{font-size:1.36rem;line-height:1.65;color:var(--ink)}.founder-note{margin-top:40px;padding-top:30px;border-top:1px solid var(--line)}.founder-note .eyebrow{margin-bottom:15px}.founder-note p{font-size:1.04rem}.founder-label{display:block;font-size:.86rem;font-weight:600;margin-top:23px}.approach-section{padding:70px 0;background:var(--pale)}.approach-layout{display:grid;grid-template-columns:1fr 1.18fr;gap:115px}.approach-layout h2{font-size:2.3rem}.approach-layout .eyebrow{color:var(--orange);font-size:.76rem}.approach-layout ol{list-style:none;margin:0;padding:0}.approach-layout li{display:flex;gap:24px;padding:0 0 25px;margin-bottom:25px;border-bottom:1px solid var(--line)}.approach-layout li:last-child{margin:0;padding:0;border:0}.approach-layout li>span{font-size:.85rem;color:var(--orange);padding-top:3px}.approach-layout li h3{font-size:1.16rem;line-height:1.4}.approach-layout li p{margin-top:7px;font-size:.96rem}
.contact-section{background:var(--ink);padding:90px 0;color:white}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:130px}.contact-section .eyebrow{color:#e6a586}.contact-section h2{font-size:clamp(2.6rem,4.4vw,4.4rem);margin-bottom:25px}.contact-section p{color:#c3cfd8;font-size:1rem;max-width:430px}.contact-details{padding-top:45px}.contact-label{font-size:.83rem;color:#d5dfe6;display:block;margin-bottom:13px}.contact-number{font-size:clamp(1.8rem,3vw,2.8rem);font-weight:600;letter-spacing:-.035em;display:flex;gap:25px;justify-content:space-between;align-items:center;white-space:nowrap;border-bottom:1px solid #647383;padding-bottom:20px;margin-bottom:20px}.contact-number svg{width:36px;height:36px}.contact-details .button{margin-top:25px}.contact-email{display:block;margin-top:20px;text-decoration:underline;text-underline-offset:5px;overflow-wrap:anywhere}.contact-details p.contact-note{font-size:.86rem;line-height:1.6;margin-top:30px;color:#b1c0cc}.site-footer{padding:58px 0 25px}.footer-main{display:flex;justify-content:space-between;gap:45px;align-items:start;padding-bottom:44px}.footer-main p{font-size:.9rem;line-height:1.65}.footer-main .eyebrow{font-size:.73rem;display:block;margin-bottom:10px}.footer-main>div>span:last-child{font-size:.85rem;color:var(--muted)}.footer-phone{display:block;font-weight:600;font-size:1.17rem;margin-bottom:4px}.footer-bottom{border-top:1px solid var(--line);padding-top:22px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:15px;font-size:.73rem;color:var(--muted)}.footer-bottom a:hover{text-decoration:underline}.error-page{padding:90px 30px;max-width:850px;margin:auto;min-height:55vh}.error-page h1{font-size:3rem;margin:20px 0}.error-page p{margin-bottom:25px}.error-page a:not(.button){text-decoration:underline}
.project-detail-heading{display:flex;justify-content:space-between;align-items:end;gap:50px;margin:45px 0 30px}.project-detail-heading h1{font-size:clamp(2.5rem,4.5vw,4.7rem);max-width:950px;overflow-wrap:anywhere}.project-detail-meta{flex-shrink:0;text-align:right;font-size:.9rem}.project-lead{font-size:1.3rem;max-width:850px;line-height:1.65;margin-bottom:35px;overflow-wrap:anywhere}.project-cover img{width:100%;max-height:780px;object-fit:contain;background:var(--pale)}.lightbox-trigger{border:0;background:none;padding:0;display:block;width:100%;cursor:zoom-in}.project-detail figcaption{font-size:.9rem;color:var(--muted);margin-top:12px;overflow-wrap:anywhere}.project-story{display:grid;grid-template-columns:1fr 2fr;gap:80px;margin-block:65px}.project-story h2{font-size:2rem}.project-story>div{font-size:1.08rem;line-height:1.85;color:var(--muted);overflow-wrap:anywhere}.detail-gallery{display:grid;grid-template-columns:1fr 1fr;gap:35px}.detail-gallery img{aspect-ratio:4/3;object-fit:cover;width:100%;height:auto}.lightbox{background:#102336;color:white;border:0;padding:50px 20px 20px;max-width:95vw;max-height:95vh;overflow:auto}.lightbox::backdrop{background:#07121fe8}.lightbox img{max-height:75vh;max-width:85vw;width:auto;margin:auto;object-fit:contain}.lightbox p{color:#fff;font-size:.9rem;padding-top:14px;text-align:center}.lightbox-close{position:absolute;top:7px;right:12px;padding:7px 12px;background:transparent;border:1px solid #81909e;color:#fff;border-radius:3px;font-size:.9rem}.privacy-page{max-width:900px}.privacy-page h1{margin-bottom:30px}.privacy-page h2{font-size:1.5rem;letter-spacing:-.02em;margin:40px 0 15px}.privacy-page a{color:var(--orange);text-decoration:underline}
@media(min-width:1600px){.hero{gap:100px}.hero-image{height:635px}}
@media(max-width:1100px){.container{width:calc(100% - 64px)}.site-nav{gap:22px}.hero{gap:35px;grid-template-columns:1.12fr 1fr}.hero h1{font-size:4.15rem}.hero-image{height:570px}.hero-actions{gap:20px}.hero-intro{font-size:1rem}.hero-footnote{margin-top:35px}.about-layout,.approach-layout{gap:70px}.service-row{grid-template-columns:40px .9fr 1.2fr 42px;gap:22px}.contact-layout{gap:65px}.section-heading{gap:40px}.section-heading>p{max-width:280px}}
@media(max-width:800px){.container{width:calc(100% - 40px)}.header-inner{min-height:83px}.brand{font-size:1.35rem;gap:8px}.brand-mark{transform:scale(.9);transform-origin:left center;margin-right:-5px}.site-nav{gap:16px;font-size:.81rem}.site-nav .button{padding:10px 13px;font-size:.8rem;gap:10px}.hero{gap:27px;padding-block:40px}.hero h1{font-size:3.15rem}.hero .eyebrow{font-size:.71rem}.hero-image{height:510px}.hero-actions .button{font-size:.84rem;padding:13px 17px;gap:12px}.hero-image figcaption{padding:17px;display:block;font-size:1rem}.photo-caption-small{display:block;max-width:none;text-align:left;margin-top:8px;font-size:.7rem}.hero-footnote{margin-top:27px}.service-strip>.container{gap:15px;font-size:.76rem}.section{padding-block:76px}.section-heading{display:block}.section-heading>p{max-width:500px;margin-top:25px}.service-row{grid-template-columns:30px .9fr 1.1fr;gap:20px}.service-link{display:none}.service-title h3{font-size:1.3rem}.service-description>p{font-size:.94rem}.about-layout,.approach-layout{gap:45px}.about-intro{font-size:1.17rem}.approach-layout h2{font-size:2rem}.contact-layout{gap:35px}.contact-details{padding-top:40px}.footer-main{gap:25px}.footer-main>p{display:none}.project-grid{gap:35px 23px}.project-story{gap:40px}.project-detail-heading{align-items:start;flex-direction:column;gap:20px}.project-detail-meta{text-align:left}}
@media(max-width:620px){html{scroll-padding-top:90px}body{font-size:16px}.topline{font-size:.7rem}.topline .container{min-height:33px;gap:8px}.top-phone{margin-left:6px}.header-inner{min-height:78px}.menu-toggle{display:flex;align-items:center}.site-nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;padding:12px 20px 24px;border-bottom:1px solid var(--line);box-shadow:0 8px 15px #132c4510;gap:0}.site-nav.open{display:flex;flex-direction:column;align-items:stretch}.site-nav>a{padding:15px 0;font-size:1rem}.site-nav .button{margin-top:10px;padding:14px}.hero{display:flex;flex-direction:column;align-items:stretch;gap:30px;padding-top:37px;padding-bottom:30px}.hero-copy{padding:0}.hero .eyebrow{font-size:.73rem;margin-bottom:24px}.hero h1{font-size:clamp(2.75rem,9.9vw,3.7rem);line-height:1.08;letter-spacing:-.06em}.hero-intro{margin-top:22px;font-size:1rem;line-height:1.6}.hero-intro br{display:none}.hero-actions{margin-top:27px;gap:22px;align-items:center}.hero-actions .button{font-size:.88rem;min-height:53px}.hero-actions .text-link{font-size:.88rem}.hero-footnote{display:none}.hero-image{height:480px}.hero-image>img{object-position:50% 30%}.hero-image figcaption{display:flex;align-items:end;font-size:1.04rem;padding:18px 20px}.photo-caption-small{font-size:.71rem;text-align:right;max-width:135px}.service-strip>.container{grid-template-columns:1fr 1fr;padding-block:23px;gap:20px 15px;font-size:.8rem;line-height:1.4}.service-strip span{padding-left:10px}.section{padding-block:61px}.eyebrow{font-size:.73rem;margin-bottom:17px}h2{font-size:2.4rem;line-height:1.12}.section-heading{margin-bottom:35px}.section-heading>p{font-size:.98rem;margin-top:23px}.service-row{grid-template-columns:26px 1fr;gap:12px;padding-block:29px}.service-no{font-size:.8rem}.service-title h3{font-size:1.4rem}.service-title p{margin-top:7px;font-size:.88rem}.service-title p br{display:none}.service-description{grid-column:2;margin-top:5px}.service-description>p{font-size:.95rem}.service-tags{gap:6px;margin-top:13px}.service-tags li{font-size:.75rem}.project-grid{grid-template-columns:1fr;gap:35px}.project-card-meta{font-size:.76rem}.project-card h3{font-size:1.4rem}.project-card p{font-size:.95rem}.filter{font-size:.8rem;padding:9px 12px}.about-layout{grid-template-columns:1fr;gap:32px}.about-layout h2 br:nth-of-type(2){display:none}.about-location{margin-top:18px}.about-intro{font-size:1.16rem}.founder-note{margin-top:26px;padding-top:26px}.founder-note p{font-size:1rem}.approach-section{padding-block:50px}.approach-layout{grid-template-columns:1fr;gap:34px}.approach-layout h2{font-size:2rem}.approach-layout li{gap:18px;margin-bottom:22px;padding-bottom:22px}.approach-layout li h3{font-size:1.08rem}.approach-layout li p{font-size:.95rem}.contact-section{padding:59px 0}.contact-layout{grid-template-columns:1fr;gap:32px}.contact-section h2{font-size:3rem}.contact-details{padding:0}.contact-number{font-size:2.1rem;max-width:440px}.contact-details p.contact-note{margin-top:22px}.footer-main{flex-direction:column;gap:33px;padding-bottom:30px}.footer-main .eyebrow{margin-bottom:7px}.site-footer{padding-top:40px}.footer-bottom{display:grid;grid-template-columns:1fr auto;font-size:.73rem}.footer-bottom>span{grid-column:1/-1}.footer-bottom>a:nth-of-type(2){grid-column:1/-1;grid-row:3}.footer-bottom>a:last-child{text-align:right}.project-detail-heading{margin-top:32px;gap:20px}.project-detail-heading h1{font-size:2.65rem}.project-lead{font-size:1.1rem}.project-story{grid-template-columns:1fr;gap:20px;margin-block:37px}.project-story>div{font-size:1rem}.detail-gallery{grid-template-columns:1fr;gap:28px}.privacy-page h1{font-size:2.65rem}.lightbox{padding:47px 12px 15px}.lightbox img{max-width:86vw}.error-page h1{font-size:2.4rem}}
.contact-layout>div{min-width:0}.site-nav{flex-wrap:wrap}
@media(max-width:620px){.contact-number{font-size:clamp(1.65rem,8vw,2.1rem);gap:16px}.service-strip>.container{font-size:.875rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
