@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700&family=PT+Serif:wght@400;700&display=swap');
:root{--cream:#f9f8f5;--sage:#a5beba;--charcoal:#383b3a;--copper:#d78050;--line:#dadbd6;--muted:#666d6b}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--charcoal);font:400 15px/1.7 Manrope,Arial,sans-serif}a{color:inherit;text-decoration:none}a:hover{color:#b8663d}img{max-width:100%}.wrap{width:min(1220px,calc(100% - 96px));margin:auto}.site-header{height:86px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand img{display:block;width:177px;height:auto}.nav{display:flex;gap:32px;align-items:center;font-size:13px;font-weight:600}.nav a[aria-current=page]{color:#b8663d}.button{display:inline-flex;align-items:center;gap:18px;background:var(--copper);color:white!important;border:1px solid var(--copper);padding:11px 20px;font:600 12px Manrope,sans-serif;border-radius:2px;transition:.2s}.button:hover{background:#b8663d}.button.outline{background:transparent;color:#b8663d!important}.button.outline:hover{background:#f6e8df}.eyebrow{text-transform:uppercase;letter-spacing:.1em;font:600 11px Manrope,sans-serif;color:#bd6b44}.eyebrow.dark{color:#69716f}.serif{font-family:'PT Serif',Georgia,serif;font-weight:400;letter-spacing:-.035em;line-height:1.12}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(47px,6.2vw,88px)}h2{font-size:clamp(32px,3.8vw,52px)}h3{font-size:clamp(23px,2.1vw,31px)}p{margin-bottom:18px}.hero{min-height:480px;display:grid;grid-template-columns:1.55fr .6fr;align-items:end;gap:70px;padding:44px 0 70px}.hero h1{max-width:860px;margin:20px 0 22px}.hero .lead{font-size:19px;max-width:570px;line-height:1.5}.hero .button{margin-top:10px}.hero-aside{border-left:2px solid var(--copper);padding-left:26px;margin-bottom:38px;text-transform:uppercase;letter-spacing:.08em;color:#737a78;font-size:12px;line-height:2.3}.section{padding:78px 0}.sage{background:#c5d5d1}.soft{background:#f1f0ec}.dark-panel{background:#333837;color:white}.split{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:start}.split.rule> :last-child{border-left:1px solid rgba(50,60,58,.3);padding-left:10%}.split p{max-width:560px}.section-title{margin:6px 0 34px}.section-top{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:26px}.section-top .section-title{margin-bottom:0}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.card h3{font-size:23px;margin:12px 0 8px}.card p{font-size:13px;line-height:1.7}.text-link{color:#bf6d42;font-size:12px;font-weight:700}.text-link:hover{text-decoration:underline}.placeholder{aspect-ratio:1.55;background:linear-gradient(140deg,#e5e6df,#c2ccc7);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.placeholder:after{content:'';width:160%;height:1px;background:rgba(60,70,65,.17);transform:rotate(-24deg);position:absolute}.placeholder span{position:relative;z-index:1;text-align:center;padding:20px;font:600 12px Manrope,sans-serif;letter-spacing:.07em;text-transform:uppercase;color:#586764}.placeholder.copper{background:linear-gradient(140deg,#e8d6c7,#cfa489)}.placeholder.charcoal{background:linear-gradient(140deg,#b5b9b5,#858e8a)}.stat{color:#ca7547;font-size:31px;font-weight:700;line-height:1.1;margin:16px 0 22px}.stat small{display:inline-block;vertical-align:middle;color:#555;font-size:11px;font-weight:400;max-width:190px;line-height:1.4;margin-left:8px}.about-strip{display:grid;grid-template-columns:1fr 1fr}.about-visual{min-height:360px;background:linear-gradient(135deg,#a5beba,#d2c1ad);display:flex;align-items:center;justify-content:center;color:#394441;letter-spacing:.16em;font-size:13px;text-transform:uppercase}.about-content{padding:65px min(7vw,90px)}.about-content h2{font-size:clamp(30px,3vw,44px)}.about-content p{font-size:13px}.contact{padding:65px 0}.contact h2{max-width:500px}.site-footer{border-top:1px solid var(--line);padding:30px 0 45px;display:flex;justify-content:space-between;align-items:center;gap:20px}.foot-brand{display:flex;align-items:center;gap:25px}.foot-brand img{width:155px}.foot-brand small{font-size:11px;line-height:1.4}.foot-nav{display:flex;gap:25px;font-size:12px}.page-intro{padding:75px 0 70px;max-width:850px}.page-intro h1{margin:15px 0 22px}.page-intro p{font-size:19px;max-width:670px}.service{padding:60px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1.25fr;gap:12%}.service h2{margin-bottom:15px}.service ul{padding-left:20px;line-height:2}.work-case{padding:65px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:.85fr 1.15fr;gap:9%}.work-case h2{margin:10px 0 20px}.work-case .placeholder{margin-bottom:25px}.work-case h4{font-size:12px;text-transform:uppercase;letter-spacing:.09em;margin:24px 0 8px}.note{font-size:12px;color:#707773}.menu-toggle{display:none;background:none;border:0;font:600 14px Manrope;color:var(--charcoal)}:focus-visible{outline:3px solid #b8663d;outline-offset:4px}@media(max-width:800px){.wrap{width:min(100% - 40px,620px)}.site-header{height:74px}.brand img{width:150px}.menu-toggle{display:block}.nav{display:none;position:absolute;top:74px;left:0;right:0;background:var(--cream);z-index:20;flex-direction:column;align-items:stretch;padding:20px 26px 28px;box-shadow:0 10px 16px #0001}.nav.open{display:flex}.hero{grid-template-columns:1fr;min-height:0;gap:20px;padding:50px 0 65px}.hero-aside{margin:10px 0 0}.hero h1{font-size:clamp(45px,10vw,70px)}.section{padding:58px 0}.split,.cards,.about-strip,.service,.work-case{grid-template-columns:1fr}.split.rule> :last-child{border-left:0;border-top:1px solid #9daaa6;padding:25px 0 0}.cards{gap:35px}.section-top{align-items:start;flex-direction:column}.about-visual{min-height:200px}.about-content{padding:50px 24px}.site-footer{align-items:start;flex-direction:column}.foot-nav{flex-wrap:wrap}.page-intro{padding:60px 0}.service,.work-case{gap:20px}}

/* Desktop typography and grid refinements, October 2026 */
@media (min-width: 801px) {
  /* Keep secondary-page introductions on the site's main left grid line. */
  .page-intro {
    max-width: none;
    margin-left: auto;
    margin-right: auto;
  }
  .page-intro h1 { max-width: 850px; }
  .page-intro p { max-width: 670px; }

  /* Control line lengths and balance display typography at desktop sizes. */
  .section-title, .card h3, .work-case h2, .service h2,
  .about-content h2, .contact h2, .page-intro h1 {
    text-wrap: balance;
  }
  .about-content h2 { max-width: 20ch; }
  .card h3 { max-width: 25ch; }
  .work-case h2 { max-width: 24ch; }
  .service h2 { max-width: 23ch; }
  .about-content p, .card p, .work-case p, .service p {
    text-wrap: pretty;
  }
}

/* Homepage refinement: balanced two-column sections and single-column hero. */
.hero { grid-template-columns: minmax(0, 1fr); gap: 0; }
.hero > div { min-width: 0; }
.hero-disciplines { line-height: 1.7; }
.hero-disciplines span { padding: 0 .55em; }
@media (min-width: 801px) {
  .equal-split { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 0; }
  .equal-split > :first-child { padding-right: clamp(28px, 4vw, 72px); }
  .equal-split > :last-child { padding-left: clamp(28px, 4vw, 72px); }
  .equal-split > :last-child { border-left: 1px solid rgba(50,60,58,.3); }
  .equal-split p { max-width: 100%; }
}
@media (max-width: 800px) {
  .hero-disciplines { font-size: 10px; }
  .hero-disciplines span { padding: 0 .25em; }
  .equal-split > :last-child { border-left: 0; }
}

/* Contact page */
.contact-intro{padding-bottom:45px}
.contact-page-grid{display:grid;grid-template-columns:minmax(0, .85fr) minmax(0,1.15fr);gap:10%;border-top:1px solid var(--line);padding-top:58px;padding-bottom:110px}
.contact-context h2{font-size:clamp(30px,3.3vw,46px);max-width:12ch}
.contact-context p{max-width:390px}
.inquiry-form{display:grid;gap:23px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.field{display:grid;gap:7px}
.field label{font-size:13px;font-weight:600}
.field input,.field textarea{width:100%;border:1px solid #bec5c1;background:#fff;color:var(--charcoal);padding:13px 14px;border-radius:2px;font:400 15px/1.5 Manrope,Arial,sans-serif}
.field textarea{resize:vertical;min-height:160px}
.field input:focus,.field textarea:focus{outline:2px solid var(--sage);outline-offset:1px}
.optional{color:var(--muted);font-weight:400}
.inquiry-form .button{justify-self:start;cursor:pointer;font-size:13px}
.form-status{font-size:13px;margin:0}.form-status:empty{display:none}
.form-footnote{color:var(--muted);font-size:12px;margin:-12px 0 0}
.hp-field{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
@media(max-width:800px){.contact-page-grid,.form-row{grid-template-columns:1fr}.contact-page-grid{gap:28px;padding:38px 0 75px}.contact-intro{padding-bottom:32px}}

/* V4 photography integration: original layout, typography and copy retained */
.project-photo{margin:0;overflow:hidden;background:#e8e7e2;aspect-ratio:1.5;display:block;width:100%}
.project-photo img{width:100%;height:100%;object-fit:cover;display:block}
.card .project-photo{aspect-ratio:1.42}
.project-photo.portrait{max-width:390px;aspect-ratio:1.2}
.project-photo.portrait img{object-position:center top}
.case-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:26px}
.case-gallery .project-photo:first-child{grid-column:1/-1;aspect-ratio:1.8}
.case-gallery .project-photo:not(:first-child){aspect-ratio:1.3}
@media(max-width:650px){.case-gallery{gap:6px}.case-gallery .project-photo:first-child{aspect-ratio:1.4}.case-gallery .project-photo:not(:first-child){aspect-ratio:1}}

/* Copper material photography, applied only to the three approved sections. */
.texture-challenge, .texture-approach {
  position:relative; color:#fff; background-size:cover; background-position:center;
}
.texture-challenge { background-image:linear-gradient(rgba(13,37,38,.2),rgba(13,37,38,.2)),url('assets/AdobeStock_284868361.webp'); }
.texture-approach { background-image:linear-gradient(rgba(28,20,17,.2),rgba(28,20,17,.2)),url('assets/AdobeStock_346982261.webp'); }
.texture-challenge .eyebrow, .texture-challenge .eyebrow.dark,
.texture-approach .eyebrow, .texture-approach .eyebrow.dark {color:#fff;}
.texture-challenge .split.rule> :last-child, .texture-approach .split.rule> :last-child {border-left-color:rgba(255,255,255,.5);}
.texture-thoughtful {
  background-image:linear-gradient(rgba(25,29,29,.2),rgba(25,29,29,.2)),url('assets/AdobeStock_165785013.webp');
  background-size:cover; background-position:center; color:#fff;
  text-shadow:0 1px 5px rgba(0,0,0,.25);
}
@media(max-width:800px){
  .texture-challenge .split.rule> :last-child, .texture-approach .split.rule> :last-child {border-left:0;border-top:1px solid rgba(255,255,255,.55);}
}

/* New page-intro copper material backgrounds. The site header remains unchanged. */
.page-intro-band{color:#fff;background-position:center;background-size:cover;background-repeat:no-repeat}
.page-intro-band .page-intro{padding-top:75px;padding-bottom:70px;max-width:850px;margin:0}
.page-intro-band .eyebrow,.page-intro-band .note{color:#fff}
.texture-expertise{background-image:linear-gradient(rgba(20,28,28,.2),rgba(20,28,28,.2)),url('assets/AdobeStock_2047318508.webp')}
.texture-work{background-image:linear-gradient(rgba(35,19,12,.2),rgba(35,19,12,.2)),url('assets/AdobeStock_1893318039.webp')}
/* The texture itself separates the introduction from the first content section. */
.texture-expertise + .wrap > .service:first-child,
.texture-work + .wrap > .work-case:first-child{border-top:0}
@media(max-width:800px){.page-intro-band .page-intro{padding-top:60px;padding-bottom:60px}}

/* Work page attribution note */
.texture-work .page-intro .note { font-size: 15px; }

[hidden]{display:none!important}
.inquiry-success{padding:40px 0;align-self:start}.inquiry-success h2{margin:12px 0 16px}.inquiry-success p{max-width:38ch}.inquiry-success:focus{outline:none}
