:root {
  --ink: #2b2926;
  --cream: #f6f2ec;
  --paper: #fbfaf8;
  --tan: #d8c8b5;
  --bronze: #9a755b;
  --line: #ded6cc;
  --white: #ffffff;
  --max: 1240px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: Arial, Helvetica, sans-serif; line-height: 1.55; }
img { display: block; width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
.shell { width: min(var(--max), calc(100% - 64px)); margin-inline: auto; }
.section { padding: 92px 0; }

.site-header { height: 76px; display: grid; grid-template-columns: 220px 1fr auto; align-items: center; gap: 24px; padding: 0 38px; background: rgba(255,255,255,.96); position: sticky; top: 0; z-index: 50; border-bottom: 1px solid rgba(0,0,0,.06); }
.brand { display: inline-flex; flex-direction: column; align-items: flex-start; font-family: Georgia, 'Times New Roman', serif; letter-spacing: .05em; line-height: 1; }
.brand span { font-size: 22px; }
.brand small { font-family: Arial, Helvetica, sans-serif; font-size: 9px; letter-spacing: .35em; margin-top: 5px; }
.site-nav { display: flex; justify-content: center; gap: 38px; font-size: 12px; text-transform: uppercase; letter-spacing: .08em; }
.site-nav a { padding: 28px 0 25px; border-bottom: 1px solid transparent; }
.site-nav a:hover { border-bottom-color: var(--ink); }
.menu-toggle { display: none; border: 0; background: transparent; padding: 10px; }
.menu-toggle span { display: block; width: 24px; height: 2px; margin: 5px 0; background: var(--ink); }

.button { display: inline-flex; justify-content: center; align-items: center; min-height: 44px; padding: 12px 22px; text-transform: uppercase; letter-spacing: .08em; font-size: 11px; font-weight: 700; border: 1px solid transparent; cursor: pointer; transition: .2s ease; }
.button-dark { background: var(--ink); color: white; }
.button-dark:hover { background: #161513; }
.button-light { background: var(--white); color: var(--ink); }
.button-light:hover { background: var(--cream); }
.button-tan { background: var(--tan); color: var(--ink); }
.button-tan:hover { filter: brightness(.96); }
.text-link { text-transform: uppercase; font-size: 11px; letter-spacing: .08em; font-weight: 700; border-bottom: 1px solid currentColor; padding-bottom: 3px; }
.text-link.light { color: white; }

.hero { position: relative; min-height: 670px; display: grid; align-items: center; overflow: hidden; }
.hero > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 52% 54%; }
.hero-shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(15,12,10,.72) 0%, rgba(15,12,10,.43) 34%, rgba(15,12,10,.07) 70%); }
.hero-content { position: relative; z-index: 2; padding-top: 20px; }
.hero-copy { max-width: 650px; color: white; }
.eyebrow { margin: 0 0 12px; color: var(--bronze); text-transform: uppercase; letter-spacing: .12em; font-size: 12px; font-weight: 700; }
.eyebrow.light { color: #eaded2; }
h1,h2 { font-family: Georgia, 'Times New Roman', serif; font-weight: 400; letter-spacing: -.025em; margin: 0; }
h1 { font-size: clamp(48px, 5vw, 76px); line-height: .98; }
h2 { font-size: clamp(38px, 4vw, 58px); line-height: 1.04; }
.lead { max-width: 570px; font-size: 18px; margin: 24px 0 28px; }
.hero-actions { display: flex; align-items: center; gap: 32px; flex-wrap: wrap; }

.two-column { display: grid; grid-template-columns: .85fr 1.15fr; gap: 72px; align-items: center; }
.intro-copy p:not(.eyebrow) { max-width: 580px; color: #56514b; }
.intro-copy h2 { max-width: 560px; margin-bottom: 24px; }
.intro-copy .button { margin-top: 14px; }
.intro-photo { margin: 0; height: 480px; overflow: hidden; }
.intro-photo img { height: 100%; object-fit: cover; object-position: 65% 54%; }

.bio-photo { position: relative; background: var(--cream); }
.bio-photo img { object-position: center 18%; }
.bio-photo figcaption { position: absolute; left: 0; right: 0; bottom: 0; display: flex; flex-direction: column; gap: 2px; padding: 18px 22px; background: linear-gradient(180deg, transparent, rgba(23,21,19,.88)); color: white; }
.bio-photo figcaption strong { font-family: Georgia, 'Times New Roman', serif; font-size: 22px; font-weight: 400; }
.bio-photo figcaption span { font-size: 10px; text-transform: uppercase; letter-spacing: .12em; color: #eaded2; }
.bio-layout { align-items: stretch; }
.bio-layout > div { align-self: center; }
.bio-layout p:not(.eyebrow) { color: #56514b; }

.services { background: #fff; }
.section-heading { margin-bottom: 44px; }
.centered { text-align: center; }
.centered h2 { font-size: clamp(34px, 3vw, 48px); }
.service-grid { display: grid; grid-template-columns: repeat(6, 1fr); border: 1px solid var(--line); }
.service-card { min-height: 280px; padding: 26px 20px; border-right: 1px solid var(--line); text-align: center; }
.service-card:last-child { border-right: 0; }
.service-card .number { display: block; text-align: left; color: var(--bronze); font-size: 12px; }
.service-card .icon { font-size: 34px; line-height: 1; margin: 28px 0 18px; color: var(--bronze); }
.service-card h3 { margin: 0 0 10px; font-size: 14px; line-height: 1.2; }
.service-card p { margin: 0; font-size: 12px; color: #5c5751; }

.featured { min-height: 620px; position: relative; display: grid; grid-template-columns: 1fr 1fr; background: #201d1a; overflow: hidden; }
.featured-media { grid-column: 1 / -1; grid-row: 1; height: 620px; }
.featured-media img { width: 100%; height: 100%; object-fit: cover; object-position: center; filter: brightness(.74); }
.featured-card { grid-column: 1; grid-row: 1; z-index: 2; align-self: center; margin-left: max(32px, calc((100vw - var(--max))/2)); width: min(470px, calc(100% - 64px)); background: rgba(251,250,248,.97); padding: 48px; box-shadow: 0 18px 50px rgba(0,0,0,.12); }
.featured-card h2 { font-size: 48px; margin-bottom: 20px; }
.featured-card p:not(.eyebrow) { color: #5b554f; margin-bottom: 26px; }

.process { background: var(--cream); }
.process-layout { display: grid; grid-template-columns: .8fr 1.2fr; gap: 80px; align-items: start; }
.process-layout > div:first-child { position: sticky; top: 120px; }
.process-steps { display: grid; grid-template-columns: 1fr 1fr; gap: 0; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.process-steps > div { padding: 34px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); min-height: 220px; }
.process-steps span { display: inline-grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; border: 1px solid var(--bronze); color: var(--bronze); font-size: 12px; }
.process-steps h3 { margin: 24px 0 10px; font-size: 17px; }
.process-steps p { color: #625d57; margin: 0; font-size: 14px; }

.cta { background: #2d2925; color: white; padding: 100px 0; }
.cta-layout { display: grid; grid-template-columns: .75fr 1.25fr; gap: 80px; }
.cta-copy h2 { font-size: 58px; }
.cta-copy p:not(.eyebrow) { color: #ddd4ca; font-size: 17px; max-width: 470px; }
.contact-form { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.contact-form label { display: grid; gap: 7px; font-size: 11px; text-transform: uppercase; letter-spacing: .08em; color: #e9e2db; }
.contact-form input,.contact-form select,.contact-form textarea { width: 100%; border: 1px solid #655e57; background: #3a3530; color: white; padding: 13px 14px; outline: none; border-radius: 0; }
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus { border-color: #cdb9a6; }
.contact-form .full { grid-column: 1 / -1; }
.form-message { margin: 0; color: #e8ded4; font-size: 13px; }

.site-footer { background: #171513; color: #d9d1c9; padding: 55px 0 24px; }
.footer-layout { display: grid; grid-template-columns: 240px 1fr auto; align-items: center; gap: 40px; padding-bottom: 35px; border-bottom: 1px solid #37322e; }
.footer-brand { color: white; }
.footer-links { display: flex; gap: 26px; font-size: 12px; text-transform: uppercase; letter-spacing: .08em; }
.footer-bottom { display: flex; justify-content: space-between; padding-top: 22px; font-size: 11px; }

@media (max-width: 1080px) {
  .site-header { grid-template-columns: 190px 1fr auto; padding: 0 22px; }
  .site-nav { gap: 22px; }
  .service-grid { grid-template-columns: repeat(3, 1fr); }
  .service-card:nth-child(3) { border-right: 0; }
  .service-card:nth-child(-n+3) { border-bottom: 1px solid var(--line); }
  .two-column, .process-layout, .cta-layout { gap: 44px; }
}

@media (max-width: 820px) {
  .shell { width: min(100% - 36px, var(--max)); }
  .site-header { height: 70px; grid-template-columns: 1fr auto; }
  .header-cta { display: none; }
  .menu-toggle { display: block; }
  .site-nav { display: none; position: absolute; top: 70px; left: 0; right: 0; background: white; padding: 14px 24px 24px; flex-direction: column; gap: 0; box-shadow: 0 18px 35px rgba(0,0,0,.08); }
  .site-nav.open { display: flex; }
  .site-nav a { padding: 14px 0; border-bottom: 1px solid #eee8e1; }
  .hero { min-height: 720px; }
  .hero > img { object-position: 62% center; }
  .hero-shade { background: linear-gradient(90deg, rgba(15,12,10,.79), rgba(15,12,10,.30)); }
  .two-column, .process-layout, .cta-layout { grid-template-columns: 1fr; }
  .intro-photo { height: 380px; }
  .service-grid { grid-template-columns: 1fr 1fr; }
  .service-card:nth-child(n) { border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
  .service-card:nth-child(even) { border-right: 0; }
  .featured { display: block; min-height: auto; padding: 0 0 48px; background: var(--cream); }
  .featured-media { height: 440px; }
  .featured-card { position: relative; margin: -84px 18px 0; width: auto; padding: 34px; }
  .featured-card h2 { font-size: 40px; }
  .process-layout > div:first-child { position: static; }
  .cta { padding: 78px 0; }
  .footer-layout { grid-template-columns: 1fr; }
}

@media (max-width: 560px) {
  .section { padding: 70px 0; }
  h1 { font-size: 50px; }
  h2 { font-size: 40px; }
  .hero { min-height: 690px; }
  .hero-copy { padding-top: 20px; }
  .lead { font-size: 16px; }
  .hero-actions { align-items: flex-start; flex-direction: column; gap: 18px; }
  .service-grid { grid-template-columns: 1fr; }
  .service-card:nth-child(n) { border-right: 0; }
  .process-steps { grid-template-columns: 1fr; }
  .contact-form { grid-template-columns: 1fr; }
  .contact-form label, .contact-form .full { grid-column: 1; }
  .footer-bottom { flex-direction: column; gap: 10px; }
}

/* Interior pages */
.page-hero { position: relative; min-height: 520px; display: grid; align-items: end; overflow: hidden; }
.page-hero.compact { min-height: 460px; }
.page-hero > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.page-hero .hero-shade { background: linear-gradient(90deg, rgba(15,12,10,.78) 0%, rgba(15,12,10,.42) 48%, rgba(15,12,10,.16) 100%); }
.page-hero-copy { position: relative; z-index: 2; color: white; padding-bottom: 68px; }
.page-hero-copy h1 { max-width: 900px; font-size: clamp(48px, 5.7vw, 78px); }
.page-hero-copy > p:last-child { max-width: 700px; font-size: 18px; margin: 22px 0 0; color: #eee7df; }
.narrow { max-width: 850px; }
.narrow > p:not(.eyebrow) { max-width: 720px; margin: 24px auto 30px; color: #5c5751; font-size: 17px; }
.value-strip { background: var(--cream); padding: 0; }
.value-grid { display: grid; grid-template-columns: repeat(4,1fr); border-left: 1px solid var(--line); }
.value-grid > div { padding: 48px 34px; border-right: 1px solid var(--line); }
.value-grid span, .detailed-services > article > span { color: var(--bronze); font-size: 12px; }
.value-grid h3 { font-family: Georgia,serif; font-size: 26px; font-weight: 400; margin: 18px 0 8px; }
.value-grid p { margin: 0; color: #625d57; font-size: 14px; }
.detailed-services { border-top: 1px solid var(--line); }
.detailed-services article { display: grid; grid-template-columns: 100px 1fr; gap: 30px; padding: 50px 0; border-bottom: 1px solid var(--line); }
.detailed-services h2 { font-size: clamp(34px,3vw,48px); margin-bottom: 14px; }
.detailed-services article div { max-width: 820px; }
.detailed-services p { color: #5e5953; font-size: 16px; }
.service-meta { font-size: 13px !important; color: var(--bronze) !important; text-transform: uppercase; letter-spacing: .05em; }
.cta-mini { padding: 62px 0; background: #2d2925; color: white; }
.cta-mini .shell { display: flex; align-items: center; justify-content: space-between; gap: 40px; }
.cta-mini h2 { font-size: 45px; }
.project-feature { display: grid; grid-template-columns: 1.2fr .8fr; gap: 70px; align-items: center; }
.project-image { height: 560px; overflow: hidden; }
.project-image img { height: 100%; object-fit: cover; }
.project-copy h2 { font-size: 48px; margin-bottom: 20px; }
.project-copy p:not(.eyebrow) { color: #5c5751; }
.project-copy .button { margin-top: 16px; }
.project-gallery { background: var(--cream); padding: 72px 0; }
.gallery-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; }
.gallery-grid figure { margin: 0; background: white; }
.gallery-grid img { aspect-ratio: 4/3; object-fit: cover; }
.gallery-grid figcaption { padding: 18px 20px; font-size: 13px; text-transform: uppercase; letter-spacing: .06em; }
.contact-page-layout { display: grid; grid-template-columns: .85fr 1.15fr; gap: 80px; align-items: start; }
.contact-page-layout > div:first-child > p:not(.eyebrow) { color: #5e5953; font-size: 17px; }
.contact-notes { margin-top: 38px; padding-top: 28px; border-top: 1px solid var(--line); }
.contact-notes h3 { font-family: Georgia,serif; font-weight: 400; font-size: 24px; margin: 0 0 10px; }
.light-form { background: var(--cream); padding: 36px; }
.light-form label { color: #4d4842; }
.light-form input,.light-form select,.light-form textarea { background: white; color: var(--ink); border-color: #cfc5ba; }
.light-form .form-message { color: #5f5851; }
@media (max-width: 820px) {
  .value-grid { grid-template-columns: 1fr 1fr; }
  .project-feature,.contact-page-layout { grid-template-columns: 1fr; gap: 42px; }
  .project-image { height: 430px; }
  .gallery-grid { grid-template-columns: 1fr; }
  .cta-mini .shell { align-items: flex-start; flex-direction: column; }
}
@media (max-width:560px){
  .page-hero,.page-hero.compact { min-height: 520px; }
  .page-hero-copy { padding-bottom: 48px; }
  .value-grid { grid-template-columns: 1fr; }
  .detailed-services article { grid-template-columns: 1fr; gap: 12px; }
  .light-form { padding: 24px; }
}
/* 2026 content and SEO refresh */
.hero-copy { max-width: 760px; }
.hero-copy h1 { font-size: clamp(42px,4.4vw,68px); line-height: 1.02; text-shadow: 0 2px 18px rgba(0,0,0,.18); }
.service-grid-eight { grid-template-columns: repeat(4,1fr); }
.service-grid-eight .service-card { border-bottom: 1px solid var(--line); }
.service-grid-eight .service-card:nth-child(4n) { border-right: 0; }
.service-grid-eight .service-card:nth-last-child(-n+4) { border-bottom: 0; }
@media (max-width:1080px){.service-grid-eight{grid-template-columns:repeat(2,1fr)}.service-grid-eight .service-card:nth-child(n){border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.service-grid-eight .service-card:nth-child(even){border-right:0}.service-grid-eight .service-card:nth-last-child(-n+2){border-bottom:0}}
@media (max-width:560px){.service-grid-eight{grid-template-columns:1fr}.service-grid-eight .service-card:nth-child(n){border-right:0;border-bottom:1px solid var(--line)}.service-grid-eight .service-card:last-child{border-bottom:0}.hero-copy h1{font-size:44px}}
.digital-card-body{margin:0;background:#e9e3dc;color:var(--ink);font-family:Arial,Helvetica,sans-serif}.digital-card-page{min-height:100vh;padding:28px 14px 40px}.digital-card-shell{width:min(100%,560px);margin:0 auto;background:#fff;box-shadow:0 24px 70px rgba(35,29,24,.18);overflow:hidden;border-radius:22px}.digital-card-hero{height:245px;position:relative;overflow:hidden}.digital-card-hero>img{width:100%;height:100%;object-fit:cover;object-position:center}.digital-card-hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(18,15,12,.18),rgba(18,15,12,.07) 55%,rgba(18,15,12,.55))}.digital-brand{position:absolute;left:26px;bottom:22px;color:#fff;text-decoration:none;display:flex;flex-direction:column;line-height:.95;text-shadow:0 2px 10px rgba(0,0,0,.35)}.digital-brand span{font-family:Georgia,serif;font-size:30px;letter-spacing:.11em}.digital-brand small{font-size:11px;letter-spacing:.36em;margin-top:8px}.digital-card-content{padding:32px 28px 30px}.digital-card-content .eyebrow{margin:0 0 12px;color:var(--bronze)}.digital-card-content h1{font-family:Georgia,serif;font-weight:400;font-size:50px;line-height:1;margin:0;color:#26221e}.digital-title{font-size:13px;text-transform:uppercase;letter-spacing:.16em;margin:12px 0 18px;color:#4e4841}.digital-title span{color:var(--bronze);padding:0 4px}.digital-experience{font-family:Georgia,serif;font-style:italic;font-size:19px;line-height:1.45;margin:0 0 20px;color:#514a43}.digital-philosophy{font-size:15px;line-height:1.65;margin:0 0 26px;color:#5b544d}.digital-philosophy strong{font-family:Georgia,serif;font-size:21px;font-weight:400;color:#2b2723}.digital-action-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 30px}.digital-action{display:flex;align-items:center;gap:12px;min-height:74px;padding:12px 14px;border:1px solid #d8cfc6;border-radius:13px;color:#2e2a26;text-decoration:none;background:#fbfaf8;font-size:14px;font-weight:600}.digital-action.primary{background:#2d2925;color:#fff;border-color:#2d2925}.digital-action small{display:block;font-size:10px;letter-spacing:.08em;text-transform:uppercase;font-weight:400;margin-bottom:5px;opacity:.72}.action-icon{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:rgba(176,133,79,.14);color:#a37948;font-size:18px;flex:0 0 32px}.digital-action.primary .action-icon{background:rgba(255,255,255,.12);color:#d6b17d}.digital-specialties{border-top:1px solid #e4ddd5;border-bottom:1px solid #e4ddd5;padding:25px 0}.digital-specialties h2{font-family:Georgia,serif;font-weight:400;font-size:24px;margin:0 0 14px}.digital-tags{display:flex;flex-wrap:wrap;gap:8px}.digital-tags span{border:1px solid #d9c9b7;background:#f7f2ec;border-radius:999px;padding:8px 11px;font-size:11px;color:#5e5246}.digital-site-link{display:flex;justify-content:space-between;align-items:center;padding:20px 0 18px;text-decoration:none;color:#28231f;font-size:17px;font-weight:600}.digital-site-link span{color:var(--bronze);font-size:22px}.digital-qr-block{display:grid;grid-template-columns:94px 1fr;gap:18px;align-items:center;background:#2d2925;color:#fff;border-radius:16px;padding:16px}.digital-qr-block img{width:94px;height:94px;background:#fff;padding:5px;border-radius:8px}.digital-qr-block strong{font-family:Georgia,serif;font-size:21px;font-weight:400}.digital-qr-block p{font-size:12px;line-height:1.5;margin:7px 0 0;color:#ded7cf}.digital-footer-note{text-align:center;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#756b61;margin:18px auto 0}.digital-action:focus,.digital-action:hover,.digital-site-link:hover{transform:translateY(-1px)}
@media(max-width:520px){.digital-card-page{padding:0 0 24px}.digital-card-shell{border-radius:0;box-shadow:none}.digital-card-hero{height:220px}.digital-card-content{padding:28px 20px 25px}.digital-card-content h1{font-size:44px}.digital-action-grid{grid-template-columns:1fr}.digital-action{min-height:68px}.digital-footer-note{padding:0 14px}.digital-qr-block{grid-template-columns:84px 1fr}.digital-qr-block img{width:84px;height:84px}}
