@charset "UTF-8";
:root{--ink:#43484a;--muted:#66615f;--soft:#faf6f3;--line:#e4d9d2;--accent:#8d0712;--accent-hover:#680710;--copper:#b35b3b;--copper-light:#edb194}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:white;color:var(--ink);font:1rem/1.6 Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid var(--accent);outline-offset:6px}img{display:block;max-width:100%}figure,p,h1,h2,h3{margin:0}.wrap{max-width:1320px;margin-inline:auto;padding-inline:48px}.skip{position:fixed;top:-100px;left:16px;padding:12px 20px;background:var(--ink);color:#fff;z-index:10}.skip:focus{top:12px}.nav-row{min-height:112px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:inline-flex;flex-direction:column;font-weight:800;line-height:1;flex-shrink:0}.brand>span{display:flex;gap:9px;font-size:1.8125rem;letter-spacing:.035em}.brand i{width:9px;height:9px;background:var(--accent);margin-top:4px}.brand small{font-size:0.8125rem;letter-spacing:.32em;margin-top:7px}nav{display:flex;align-items:center;gap:38px;font-size:0.9375rem;font-weight:600}nav a{padding-block:12px;transition:color .2s}nav a:hover{color:var(--accent)}.nav-work{display:flex;align-items:center;gap:28px;border-bottom:1px solid var(--copper)}.nav-work span{font-size:1.375rem}.hero{background:var(--soft);overflow:hidden}.hero-inner{display:grid;grid-template-columns:47% 53%;min-height:615px;padding-right:0;max-width:1512px}.hero-copy{padding:75px 38px 36px 0;display:flex;flex-direction:column;align-items:flex-start}.eyebrow{font-size:0.75rem;line-height:1.5;font-weight:700;letter-spacing:.12em}.hero .eyebrow{display:flex;align-items:center;gap:12px;margin-bottom:30px} .short-line{width:23px;height:2px;background:var(--copper);flex-shrink:0}h1{font-size:clamp(48px,5.45vw,82px);font-weight:500;line-height:1.04;letter-spacing:-.055em}h1 span{color:var(--accent)}.hero-description{max-width:380px;font-size:1.125rem;line-height:1.7;color:var(--muted);margin-top:28px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;padding:17px 22px;background:var(--accent);color:white;font-size:0.9375rem;font-weight:600;margin-top:29px;transition:background .2s}.button span{font-size:1.375rem;line-height:1}.button:hover{background:var(--accent-hover)}.hero-foot{border-top:1px solid var(--line);width:100%;max-width:400px;display:flex;flex-wrap:wrap;gap:4px 8px;padding-top:18px;margin-top:42px;font-size:0.8125rem;color:var(--muted)}.hero-foot strong{color:var(--ink)}.hero-visual{position:relative;min-width:0;overflow:hidden;background:var(--ink)}.hero-visual>img{height:100%;width:100%;object-fit:cover;object-position:50% 50%;min-height:615px}.hero-visual:after{content:"";position:absolute;inset:65% 0 0;background:linear-gradient(transparent,rgba(39,30,28,.8));pointer-events:none}.hero-visual figcaption{position:absolute;bottom:35px;left:34px;right:34px;color:#fff;z-index:1;display:flex;justify-content:space-between;align-items:end;gap:18px}.hero-visual figcaption>span{font-size:0.75rem;letter-spacing:.07em;max-width:140px;line-height:1.6}.hero-visual figcaption strong{font-size:0.9375rem;font-weight:500}.image-index{position:absolute;right:28px;top:28px;background:rgba(67,72,74,.92);color:white;padding:8px 12px;font-size:0.75rem;letter-spacing:.055em}.specialties{background:var(--ink);color:white}.specialties>.wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:23px;padding-bottom:23px;font-size:0.75rem;font-weight:600;letter-spacing:.07em} .specialties b{color:var(--copper-light);font-size:1.125rem;font-weight:400}.section{padding-top:100px;padding-bottom:106px}.section-heading{display:grid;grid-template-columns:1.2fr 1fr;gap:70px;align-items:end;margin-bottom:50px}.section-heading .eyebrow{color:var(--accent);margin-bottom:19px}h2{font-size:clamp(34px,3.5vw,50px);line-height:1.13;letter-spacing:-.04em;font-weight:500}.section-heading>p{color:var(--muted);max-width:365px;margin-left:auto;font-size:1.0625rem;line-height:1.7}.service-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:65px}.service{border-top:1px solid var(--line);padding:31px 0 35px;display:grid;grid-template-columns:34px 1fr;gap:17px}.number{font-size:0.8125rem;color:var(--accent);font-weight:600;padding-top:5px}.service h3{color:var(--ink);font-size:1.4375rem;line-height:1.3;letter-spacing:-.025em;font-weight:500;margin-bottom:15px}.service p{font-size:1.0rem;line-height:1.7;color:var(--muted);max-width:430px}.service small{display:block;font-size:0.75rem;color:var(--muted);margin-top:21px}.experience{background:var(--ink);color:white;padding:88px 0 91px}.experience-inner{display:grid;grid-template-columns:1.2fr 1fr;gap:70px}.experience .eyebrow{color:var(--copper-light);margin-bottom:29px}.experience h2{font-size:clamp(40px,4vw,60px)}.experience h2 span{color:var(--copper-light)}.experience-copy{padding-top:45px}.experience-copy .large-copy{color:white;font-size:1.375rem;line-height:1.55;margin-bottom:24px}.experience-copy>p{color:#e2dcd8;font-size:1.0rem;line-height:1.8;max-width:470px}.experience-note{margin-top:32px;padding-top:27px;border-top:1px solid #75716c;display:flex;gap:17px;align-items:flex-start;max-width:460px}.experience-note span{width:21px;height:2px;background:var(--copper-light);flex-shrink:0;margin-top:12px}.experience-note p{font-size:0.875rem;color:#efe8e3;line-height:1.7}.work .section-heading{grid-template-columns:1.4fr 1fr}.work .section-heading>p{font-size:0.9375rem;max-width:330px}.work-grid{display:grid;grid-template-columns:1fr 1fr;gap:44px 28px}.project-wide{grid-column:1/-1}.project-image{display:block;position:relative;aspect-ratio:1.5;overflow:hidden;background:var(--soft)}.project-wide .project-image{aspect-ratio:2.65}.project-image img{height:100%;width:100%;object-fit:cover;transition:transform .45s}.project-image:hover img{transform:scale(1.025)}.city-photo img{transform:scale(1.22)}.city-photo:hover img{transform:scale(1.245)}.detail-photo img{object-position:50% 22%}.project-image>span{position:absolute;bottom:17px;right:17px;width:39px;height:39px;background:var(--accent);color:white;display:grid;place-items:center;font-size:1.375rem}.project figcaption{display:flex;justify-content:space-between;align-items:start;gap:15px;padding-top:20px}.project h3{font-size:1.375rem;line-height:1.3;letter-spacing:-.025em;font-weight:500}.project figcaption p{font-size:0.875rem;color:var(--muted);margin-top:5px}.project figcaption small{font-size:0.75rem;color:var(--muted);white-space:nowrap;padding-top:5px}.project figcaption .project-credit{font-size:0.75rem;margin-top:7px}.closing{background:var(--soft);border-top:1px solid var(--line);padding:66px 0 70px}.closing-inner{display:flex;justify-content:space-between;align-items:end;gap:50px}.closing .eyebrow{color:var(--accent);margin-bottom:18px}.closing h2{color:var(--accent);font-size:clamp(36px,3.7vw,52px)}.closing-inner>p{color:var(--muted);font-size:1.0rem;line-height:1.9;padding-bottom:5px}footer{padding:40px 0 38px}.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:35px}.footer-inner .brand>span{font-size:1.4375rem}.footer-inner .brand small{font-size:0.75rem;letter-spacing:.21em}.footer-inner p{font-size:0.875rem;margin-left:auto;line-height:1.7}.footer-inner p span{font-size:0.75rem;color:var(--muted)}.back-top{font-size:0.875rem;display:flex;gap:28px;align-items:center;margin-left:80px}.back-top span{font-size:1.375rem}
@media(min-width:1450px){.hero-copy{padding-left:48px}.hero-inner{grid-template-columns:48% 52%}}
@media(max-width:1100px){.wrap{padding-inline:32px}.hero-inner{padding-right:0;grid-template-columns:48% 52%;min-height:570px}.hero-copy{padding:60px 24px 28px 0}.hero-visual>img{min-height:570px}.hero-description{font-size:1.0625rem}.hero .eyebrow{font-size:0.75rem;letter-spacing:.025em}.hero-foot{font-size:0.75rem;margin-top:30px}.hero-visual figcaption{left:22px;right:22px;bottom:27px;align-items:start;flex-direction:column;gap:8px}.hero-visual figcaption>span{max-width:none}.section-heading,.experience-inner{gap:40px}.service-grid{column-gap:35px}.specialties>.wrap{font-size:0.75rem;gap:12px;letter-spacing:0}.section{padding-block:78px}.back-top{margin-left:25px}}
@media(max-width:720px){.wrap{padding-inline:22px}.nav-row{min-height:91px;gap:15px}.brand>span{font-size:1.4375rem}.brand small{font-size:0.75rem;letter-spacing:.2em}nav{gap:19px;font-size:0.875rem}nav a{padding-block:10px}nav a:nth-child(2){display:none}.nav-work{gap:10px}.nav-work span{font-size:1.1875rem}.hero-inner{display:flex;flex-direction:column;padding:0;min-height:auto}.hero-copy{padding:40px 22px 32px}.hero .eyebrow{font-size:0.75rem;letter-spacing:.02em;margin-bottom:24px}.short-line{width:19px}h1{font-size:clamp(47px,9.8vw,68px);letter-spacing:-.055em;line-height:1.06}.hero-description{margin-top:22px;max-width:430px;font-size:1.0625rem}.button{margin-top:25px;padding:16px 19px;font-size:0.875rem;gap:32px}.hero-foot{margin-top:30px;padding-top:16px;font-size:0.75rem;max-width:none}.hero-visual{height:355px}.hero-visual>img{min-height:0;height:355px;object-position:50% 50%}.hero-visual figcaption{left:22px;right:22px;bottom:24px;flex-direction:row;align-items:end;gap:12px}.hero-visual figcaption>span{font-size:0.75rem;max-width:125px}.hero-visual figcaption strong{font-size:0.875rem}.image-index{right:20px;top:20px;font-size:0.75rem}.specialties>.wrap{display:grid;grid-template-columns:1fr 1fr;padding-block:21px;gap:11px 20px;font-size:0.75rem;letter-spacing:0}.specialties b{display:none}.section{padding-top:62px;padding-bottom:65px}.section-heading,.work .section-heading{grid-template-columns:1fr;gap:23px;margin-bottom:32px}.section-heading>p,.work .section-heading>p{margin-left:0;max-width:500px;font-size:1.0rem;line-height:1.7}.section-heading .eyebrow{font-size:0.75rem;margin-bottom:17px}h2{font-size:2.25rem;line-height:1.13}.service-grid{grid-template-columns:1fr;gap:0}.service{padding:26px 0 29px;grid-template-columns:24px 1fr;gap:14px}.service h3{color:var(--ink);font-size:1.375rem;margin-bottom:11px}.service p{font-size:1.0rem}.service small{margin-top:16px}.experience{padding-block:59px}.experience-inner{grid-template-columns:1fr;gap:28px}.experience .eyebrow{margin-bottom:22px}.experience h2{font-size:2.6875rem}.experience-copy{padding-top:0}.experience-copy .large-copy{font-size:1.3125rem;margin-bottom:18px}.experience-copy>p{max-width:none}.experience-note{margin-top:23px;padding-top:22px}.work-grid{grid-template-columns:1fr;gap:35px}.project-wide{grid-column:auto}.project-wide .project-image{aspect-ratio:1.45}.project-image{aspect-ratio:1.45}.project h3{font-size:1.3125rem}.project figcaption{padding-top:16px;gap:10px;flex-wrap:wrap}.project figcaption p{font-size:0.875rem}.project-image>span{bottom:14px;right:14px}.closing{padding-block:49px}.closing-inner{display:block}.closing h2{color:var(--accent);font-size:2.3125rem}.closing-inner>p{margin-top:26px;font-size:1.0rem;line-height:1.8}footer{padding-block:32px}.footer-inner{flex-wrap:wrap;align-items:center;gap:25px}.footer-inner p{margin-left:auto;font-size:0.875rem}.back-top{width:100%;border-top:1px solid var(--line);padding-top:18px;margin-left:0;justify-content:space-between}}
@media(max-width:400px){.nav-row{flex-wrap:wrap;padding-block:20px;gap:19px}nav{margin-left:auto;gap:14px;font-size:0.875rem}nav .nav-work{gap:6px}.brand>span{font-size:1.3125rem}h1{font-size:2.8125rem}.footer-inner p{margin-left:0}.specialties>.wrap{gap:14px;grid-template-columns:1fr 1fr}.hero .eyebrow{max-width:280px;align-items:start}.short-line{margin-top:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Display the supplied logo unchanged; crop only its blank margins in layout. */
header{border-top:4px solid var(--accent)}
.nav-row{min-height:158px;padding-block:12px}
.brand{position:relative;display:block;width:310px;height:auto;aspect-ratio:1396/605;overflow:hidden;background:#fff}
.brand>img{position:absolute;width:110.028653%;max-width:none;height:auto;left:-5.014327%;top:-76.859504%;transform:none}
.footer-inner .brand{width:270px;height:auto}
@media(max-width:1100px){.brand{width:270px}.nav-row{min-height:138px}}
@media(max-width:720px){
  .nav-row{flex-wrap:wrap;padding-block:10px;gap:6px 20px;min-height:0}
  .brand{width:250px;height:auto}
  nav{flex-wrap:wrap;margin-left:0;width:100%;justify-content:space-between;padding-bottom:8px}
  nav a:nth-child(2){display:block}
  .footer-inner .brand{width:240px;height:auto}
}

/* Project galleries follow the existing burgundy and graphite portfolio. */
.portfolio-project{min-width:0;scroll-margin-top:24px}
.portfolio-project figcaption{gap:18px}
.portfolio-project figcaption>div{min-width:0}
.portfolio-project figcaption .portfolio-meta{margin:0 0 7px;color:var(--accent);font-size:.875rem}
.portfolio-project figcaption .portfolio-description{font-size:1rem;line-height:1.65;max-width:680px;margin-top:12px}
.portfolio-project figcaption .project-credit{font-size:.875rem;margin-top:10px}
.portfolio-project figcaption small{font-size:.875rem;padding-top:2px}
.portfolio-more{border-top:1px solid var(--line);margin-top:20px}
.portfolio-more summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:18px;min-height:52px;padding:12px 0;color:var(--accent);font-size:.9375rem;font-weight:600}
.portfolio-more summary::-webkit-details-marker{display:none}
.portfolio-more summary span{font-size:1.5rem;font-weight:400;line-height:1}
.portfolio-more[open] summary span{transform:rotate(45deg)}
.portfolio-more summary:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
.portfolio-more summary:hover{color:var(--accent-hover)}
.portfolio-thumbnails{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:12px;padding-bottom:16px}
.project-wide .portfolio-thumbnails{grid-template-columns:repeat(3,minmax(0,1fr))}
.portfolio-thumbnail{display:block;position:relative;overflow:hidden;background:var(--soft);aspect-ratio:4/3}
.portfolio-thumbnail img{display:block;width:100%;height:100%;object-fit:cover}
.source-framing img{position:absolute;left:0;top:var(--image-top);width:100%;height:var(--image-height);object-fit:fill;transform:none}
.source-framing:hover img{transform:none}
@media(max-width:720px){.project-wide .portfolio-thumbnails{grid-template-columns:repeat(2,minmax(0,1fr))}.portfolio-thumbnails{gap:10px}.portfolio-project figcaption small{white-space:normal}}
@media(max-width:400px){.portfolio-thumbnails,.project-wide .portfolio-thumbnails{grid-template-columns:1fr}}
