@charset "UTF-8";
:root{--ink:#20231f;--paper:#fff;--muted:#66685f;--gold:#ad8548;--gold-light:#d0af78;--line:#deded5;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.65}body.modal-open{overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a,summary{-webkit-tap-highlight-color:transparent}button{border-radius:0}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:6px}img{display:block;max-width:100%}figure,p,h1,h2,h3{margin:0}h1,h2,h3{font-weight:400}h1,h2,h3,.portfolio-aside>p{font-family:var(--serif)}em{font-weight:400}h2{font-size:clamp(2.2rem,3.7vw,3.65rem);line-height:1.15;letter-spacing:-.035em}h2 em{color:#787466}.eyebrow{font-size:.75rem;font-weight:500;letter-spacing:.16em;line-height:1.6}.section-shell{padding-left:6.1%;padding-right:6.1%}.skip-link{position:fixed;top:-100px;left:12px;z-index:100;background:white;padding:12px}.skip-link:focus{top:10px}
.site-header {
  min-height: 120px;
  padding: 18px 6.1%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  background: #fff;
  position: sticky;
  top: 0;
  z-index: 10;
  border-bottom: 1px solid #e9e8e2;
}
.brand { display: flex; align-items: center; gap: 14px; flex-shrink: 0; }
.brand-symbol { display: block; width: 68px; height: 74px; position: relative; overflow: hidden; }
.brand-symbol img { position: absolute; width: 185px; max-width: none; height: 185px; left: -57px; top: -16px; }
.brand-name { font-family: var(--serif); font-size: 3.25rem; line-height: 1; letter-spacing: .07em; }
.brand-name > span { display: block; font: 500 13px 'Segoe UI', Arial, sans-serif; letter-spacing: .24em; margin-top: 10px; }
.site-header nav {
  display: flex;
  align-items: center;
  gap: 36px;
  font-family: 'Segoe UI', system-ui, sans-serif;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.5;
}
.site-header nav a { padding: 14px 0; position: relative; white-space: nowrap; transition: color .2s; }
.site-header nav a::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 7px;
  height: 2px;
  background: var(--gold);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .2s;
}
.site-header nav a:hover { color: #806030; }
.site-header nav a:hover::after, .site-header nav a:focus-visible::after { transform: scaleX(1); }
.site-header nav .nav-contact { margin-left: 2px; padding-left: 32px; color: #806030; }
.site-header nav .nav-contact::before { content: ''; position: absolute; left: 0; top: 50%; transform: translateY(-50%); height: 24px; width: 1px; background: #d8c6aa; }
.site-header nav .nav-contact::after { left: 32px; transform: scaleX(.4); }
.site-header nav .nav-contact:hover::after, .site-header nav .nav-contact:focus-visible::after { transform: scaleX(1); }
.menu-toggle { display: none; }
.hero{display:grid;grid-template-columns:42% 58%;min-height:640px;max-width:2000px;margin:auto}.hero-copy{background:var(--ink);color:white;padding:59px 11% 28px 14.5%;display:flex;align-items:flex-start;flex-direction:column}.hero .eyebrow{color:#e1d8c7;font-size:.75rem;letter-spacing:.13em;display:flex;gap:13px;align-items:center;white-space:nowrap}.hero .eyebrow>span{width:23px;height:1px;background:var(--gold-light);flex-shrink:0}h1{font-size:clamp(2.75rem,4.25vw,4.5rem);line-height:1.1;letter-spacing:-.045em;margin:41px 0 26px}h1 em{color:var(--gold-light)}.hero-description{font-size:1rem;line-height:1.85;color:#d1d2cb}.text-link{display:inline-block;font-size:.875rem;border-bottom:1px solid var(--gold-light);padding:0 0 9px;margin-top:28px}.text-link:hover{color:var(--gold-light)}.hero-footnote{font-size:.75rem;letter-spacing:.16em;color:#adb0a5;margin-top:auto;padding-top:40px}.hero-photo{position:relative;min-width:0;overflow:hidden}.hero-photo>img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:59% center}.hero-photo:after{content:'';position:absolute;inset:60% 0 0;background:linear-gradient(transparent,#10150e80);pointer-events:none}.hero-photo figcaption{position:absolute;left:32px;right:32px;bottom:26px;display:flex;justify-content:space-between;gap:14px;z-index:1;color:white;font-size:.75rem;letter-spacing:.14em}.intro{display:grid;grid-template-columns:35% 65%;padding-top:104px;padding-bottom:100px;gap:0}.intro>.eyebrow{padding-top:12px;color:#7c694d}.intro>div{max-width:750px}.intro h2{margin-bottom:25px}.intro>div>p{max-width:590px;color:var(--muted);line-height:1.9}
.portfolio{padding-top:35px;padding-bottom:108px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;border-top:1px solid var(--line);padding-top:38px;margin-bottom:45px}.section-heading .eyebrow{margin-bottom:17px;color:#7c694d}.section-note{font-size:.75rem;letter-spacing:.13em;color:var(--muted);margin-bottom:9px}.project-grid{display:grid;grid-template-columns:1.16fr 1fr;gap:64px 6%}.project-image{position:relative;display:block;overflow:hidden;background:#eaeae5}.project-image img{width:100%;height:100%;object-fit:cover;transition:transform .7s}.project-image:hover img{transform:scale(1.035)}.project-image:after{content:'';position:absolute;inset:65% 0 0;background:linear-gradient(transparent,#1117);pointer-events:none}.project-wide .project-image{aspect-ratio:1.35}.project-tall{margin-top:110px}.project-tall .project-image{aspect-ratio:.87}.image-index{position:absolute;left:20px;top:16px;color:white;font-size:.875rem;text-shadow:0 1px 8px #0009}.view-project{position:absolute;bottom:22px;right:24px;left:24px;display:flex;align-items:center;justify-content:space-between;color:white;font-size:.875rem;z-index:1}.view-project>span{font-size:1.6rem;font-weight:300;line-height:1}.project-caption{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;padding-top:18px}.project-caption p{font-size:.75rem;letter-spacing:.16em;color:var(--muted);margin-bottom:5px}.project-caption h3{font-size:1.6rem;line-height:1.2;letter-spacing:-.025em}.project-caption>span{font-size:.75rem;color:var(--muted);white-space:nowrap;padding-bottom:3px}.project-classic{width:79%;margin-top:-115px}.project-classic .project-image{aspect-ratio:.86}.portfolio-aside{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding-left:10%;padding-bottom:40px}.fine-line{width:60px;height:1px;background:var(--gold);margin-bottom:28px}.portfolio-aside>p{font-size:clamp(2rem,3.1vw,3rem);line-height:1.3;letter-spacing:-.035em}.portfolio-aside>p em{color:#7c776c}.portfolio-aside>.eyebrow{font-size:.75rem;color:var(--muted);margin-top:30px}
.expertise{background:var(--ink);color:white}.expertise-layout{padding-top:97px;padding-bottom:100px;display:grid;grid-template-columns:40% 60%}.expertise-intro{padding-right:21%}.expertise .eyebrow{color:var(--gold-light)}.expertise h2{font-size:clamp(3.2rem,5vw,5rem);margin-top:28px}.expertise h2 em{color:var(--gold-light)}.expertise-intro>p:last-child{font-size:1rem;color:#bdc0b5;margin-top:28px;max-width:270px}.expertise-list{padding-top:5px}.expertise details{border-top:1px solid #ffffff30}.expertise details:last-child{border-bottom:1px solid #ffffff30}.expertise summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:22px;padding:26px 0}.expertise summary::-webkit-details-marker{display:none}.expertise-number{font-size:.75rem;color:var(--gold-light)}.expertise h3{font-size:1.7rem;letter-spacing:-.015em;line-height:1.3}.expand-icon{position:relative;width:14px;height:14px;margin-left:auto;flex-shrink:0}.expand-icon:before,.expand-icon:after{content:'';position:absolute;background:var(--gold-light)}.expand-icon:before{width:14px;height:1px;top:6px}.expand-icon:after{height:14px;width:1px;left:6px;transition:transform .2s}details[open] .expand-icon:after{transform:rotate(90deg)}.expertise-content{padding:0 38px 30px}.expertise-content p{color:#ced0c8;font-size:1rem;line-height:1.9;max-width:530px}.expertise-content>span{display:block;color:var(--gold-light);font-size:.75rem;letter-spacing:.14em;margin-top:20px}
.company{padding-top:120px;padding-bottom:120px;display:grid;grid-template-columns:44% 44%;justify-content:space-between;align-items:center}.detail-photo{position:relative}.detail-photo img{width:100%;height:auto;aspect-ratio:1.05;object-fit:cover}.detail-photo figcaption{font-size:.75rem;letter-spacing:.17em;color:var(--muted);margin-top:14px}.company-copy .eyebrow{color:#7c694d;margin-bottom:25px}.company-copy h2{margin-bottom:26px}.company-copy>p:not(.eyebrow){color:var(--muted);font-size:1rem;line-height:1.9;margin-top:15px}.company-signature{display:flex;align-items:center;gap:20px;font-size:.75rem;letter-spacing:.09em;text-transform:uppercase;margin-top:30px;padding-top:25px;border-top:1px solid var(--line)}.company-signature i{width:1px;height:14px;background:var(--gold)}.contact{background:#efeee8;display:grid;grid-template-columns:55% 45%;padding-top:70px;padding-bottom:76px}.contact .eyebrow{color:#7c694d;margin-bottom:24px}.contact-info{padding-top:11px}.contact-info>p{font-size:1rem;color:var(--muted);margin-bottom:23px}.contact-phone{display:block;width:fit-content;font-family:var(--serif);font-size:2rem;line-height:1.2}.contact-email{display:block;width:fit-content;font-size:1rem;margin-top:12px;border-bottom:1px solid #aaa18c;padding-bottom:4px}.contact-phone:hover,.contact-email:hover{color:#886431}.site-footer{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:110px;font-size:.75rem;color:var(--muted)}.footer-brand{font-family:var(--serif);font-size:1.6rem;color:var(--ink);white-space:nowrap}.footer-brand span{font-family:var(--sans);font-size:.75rem;letter-spacing:.2em;margin-left:5px}.site-footer>p{font-size:.75rem;letter-spacing:.12em}.site-footer>a:last-child{border-bottom:1px solid var(--line)}
.gallery{border:0;background:#f8f8f4;color:var(--ink);width:min(1400px,96vw);max-width:96vw;max-height:94dvh;padding:26px 34px 34px;overflow:auto}.gallery::backdrop{background:#111e}.gallery-top{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:25px}.gallery-top>.eyebrow{font-size:.75rem}.gallery-close{border:0;background:none;display:flex;gap:17px;align-items:center;min-height:44px;font-size:.875rem}.gallery-close>span{font-size:1.8rem}.gallery-layout{display:grid;grid-template-columns:2fr 1fr;gap:34px}.gallery-stage{min-width:0}.gallery-stage>img{width:100%;height:min(64dvh,650px);object-fit:contain;background:#e9e9e3}.gallery-controls{display:flex;align-items:center;justify-content:space-between;margin-top:15px;gap:12px;font-size:.875rem}.gallery-controls button{background:none;border:1px solid #c9c9bd;min-height:44px;padding:5px 15px}.gallery-controls button:disabled{visibility:hidden}.gallery-info{padding:35px 0 0}.gallery-info>.eyebrow{color:#7c694d;font-size:.75rem}.gallery-info h2{font-size:2.7rem;margin:23px 0}.gallery-info>p:last-of-type{font-size:1rem;color:var(--muted)}.gallery-thumbnails{display:flex;gap:12px;margin-top:28px}.gallery-thumbnails button{width:85px;height:65px;border:2px solid transparent;padding:3px;background:none}.gallery-thumbnails button[aria-current=true]{border-color:var(--gold)}.gallery-thumbnails img{width:100%;height:100%;object-fit:cover}
@media(min-width:1600px){.section-shell{padding-left:max(6.1%,calc((100% - 1500px)/2));padding-right:max(6.1%,calc((100% - 1500px)/2))}.hero-copy{padding-top:80px;padding-bottom:40px}.hero{min-height:760px}}
@media(max-width:1100px){.site-header nav{gap:24px}.hero{grid-template-columns:44% 56%;min-height:605px}.hero-copy{padding:45px 9% 26px 12%}.hero .eyebrow{font-size:.75rem;letter-spacing:.07em;gap:8px}h1{font-size:clamp(2.75rem,4.65vw,3.3rem)}.project-caption{display:block}.project-caption>span{display:block;margin-top:8px}.project-classic{margin-top:-80px}.expertise h3{font-size:1.45rem}.site-footer>p{display:none}.company-signature{gap:14px}}
@media(max-width:900px){html{scroll-padding-top:25px}.section-shell{padding-left:6%;padding-right:6%}.site-header{min-height:88px;padding:18px 6%;gap:20px}.brand-symbol{width:36px;height:40px}.brand-symbol img{width:101px;height:101px;left:-31px;top:-9px}.brand{gap:10px}.brand-name{font-size:1.9rem}.brand-name>span{font-size:9px}.menu-toggle{display:flex;align-items:center;gap:12px;background:none;border:0;font:600 1rem/1.5 "Segoe UI",system-ui,sans-serif;padding:12px 0}.menu-icon{position:relative;width:20px;height:16px}.menu-icon:before,.menu-icon:after{content:"";position:absolute;left:0;width:20px;height:2px;background:var(--ink);transition:transform .2s,top .2s}.menu-icon:before{top:3px}.menu-icon:after{top:11px}.menu-toggle[aria-expanded=true] .menu-icon:before{top:7px;transform:rotate(45deg)}.menu-toggle[aria-expanded=true] .menu-icon:after{top:7px;transform:rotate(-45deg)}.site-header nav{display:none;position:absolute;top:100%;left:0;right:0;background:white;flex-direction:column;align-items:stretch;gap:0;padding:15px 6% 28px;border-bottom:1px solid var(--line);box-shadow:0 12px 20px #0001}.site-header nav.is-open{display:flex}.site-header nav a{padding:16px 0;font-size:1.125rem;white-space:normal}.site-header nav a:after{right:auto;width:32px;bottom:10px}.site-header nav .nav-contact{margin:10px 0 0;padding:20px 0 14px;border-top:1px solid #e9e4d9}.site-header nav .nav-contact:before{display:none}.site-header nav .nav-contact:after{left:0;bottom:7px;transform:scaleX(1)}.hero{grid-template-columns:1fr;min-height:auto}.hero-copy{padding:38px 6% 33px;min-height:510px}.hero .eyebrow{font-size:.75rem;letter-spacing:.1em;gap:10px;white-space:normal}.hero h1{font-size:clamp(2.95rem,9vw,4.4rem);line-height:1.06;margin-top:29px;margin-bottom:22px}.hero h1 br:nth-child(3){display:none}.hero-description{font-size:1rem}.hero-footnote{padding-top:27px;font-size:.75rem}.hero .text-link{margin-top:24px}.hero-photo{height:360px}.hero-photo>img{object-position:center}.hero-photo figcaption{left:6%;right:6%;font-size:.75rem;bottom:20px}.intro{display:block;padding-top:65px;padding-bottom:60px}.intro>.eyebrow{padding-top:0;margin-bottom:22px}.intro>div>p{font-size:1rem}.portfolio{padding-top:15px;padding-bottom:60px}.section-heading{display:block;padding-top:26px;margin-bottom:29px}.section-heading h2{font-size:2.2rem}.section-note{display:none}.section-heading .eyebrow{font-size:.75rem}.project-grid{display:grid;grid-template-columns:1fr;gap:36px}.project-wide .project-image{aspect-ratio:1.25}.project-tall{margin:0}.project-tall .project-image{aspect-ratio:1}.project-tall .project-image img{object-position:center 44%}.project-classic{margin:0;width:100%}.project-classic .project-image{aspect-ratio:1.05}.project-classic .project-image img{object-position:center 55%}.project-caption{display:flex;padding-top:16px}.project-caption h3{font-size:1.5rem}.project-caption p{font-size:.75rem}.project-caption>span{font-size:.75rem}.portfolio-aside{padding:18px 0 15px;align-items:center;text-align:center}.portfolio-aside>p{font-size:2rem}.portfolio-aside>p br:nth-child(1),.portfolio-aside>p br:nth-child(3){display:none}.portfolio-aside>.eyebrow{margin-top:20px}.expertise-layout{grid-template-columns:1fr;padding-top:58px;padding-bottom:62px}.expertise-intro{padding-right:0}.expertise h2{font-size:3.2rem;margin-top:22px}.expertise h2 br{display:none}.expertise h2 br:after{content:' '}.expertise-intro>p:last-child{max-width:100%;margin-top:23px;margin-bottom:30px}.expertise h3{font-size:1.4rem}.expertise summary{gap:17px;padding:22px 0}.expertise-content{padding-left:32px;padding-right:8px}.company{padding-top:65px;padding-bottom:65px;grid-template-columns:1fr;gap:38px}.detail-photo img{aspect-ratio:1.35}.company-copy h2{font-size:2.6rem}.contact{grid-template-columns:1fr;gap:28px;padding-top:48px;padding-bottom:51px}.contact-info{padding-top:0}.contact-phone{font-size:1.85rem}.site-footer{padding-top:28px;padding-bottom:28px;display:grid;grid-template-columns:1fr 1fr;gap:14px}.footer-brand{grid-column:1/-1}.site-footer>a:last-child{justify-self:end}.gallery{padding:16px;max-width:100vw;width:100vw;max-height:100dvh;height:100dvh;margin:0}.gallery-top{margin-bottom:15px}.gallery-top>.eyebrow{font-size:.75rem}.gallery-layout{grid-template-columns:1fr;gap:15px}.gallery-stage>img{height:48dvh}.gallery-info{padding-top:12px}.gallery-info h2{font-size:2rem;margin:12px 0}.gallery-thumbnails{margin-top:18px}.gallery-controls{font-size:.75rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Shared brand visibility across sections and project galleries. */
.error-body { min-height: 100vh; display: flex; flex-direction: column; }
.error-page { flex: 1; display: grid; grid-template-columns: 1.25fr 1fr; align-items: center; gap: 7%; padding-top: 60px; padding-bottom: 60px; background: #f4f3ee; }
.error-copy > .eyebrow { color: #806030; }
.error-copy h1 { font-size: clamp(2.8rem, 5.5vw, 5.5rem); line-height: 1.08; letter-spacing: -.035em; margin: 24px 0; }
.error-copy h1 em { color: #806030; }
.error-copy > p:not(.eyebrow) { color: var(--muted); }
.error-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 20px 28px; margin-top: 30px; }
.error-home { display: inline-flex; align-items: center; gap: 26px; padding: 14px 20px; background: var(--ink); color: white; }
.error-home:hover { background: #3b3e35; }
.error-actions .text-link { margin: 0; }
.error-photo { position: relative; }
.error-photo img { width: 100%; height: clamp(320px, 38vw, 500px); object-fit: cover; }
.error-photo figcaption { position: absolute; bottom: 0; width: 100%; padding: 45px 22px 20px; background: linear-gradient(transparent, #0009); color: white; font-size: .75rem; letter-spacing: .15em; }
@media (max-width: 700px) {
  .error-page { grid-template-columns: minmax(0, 1fr); gap: 36px; padding-top: 40px; padding-bottom: 40px; }
  .error-copy h1 { font-size: clamp(2.6rem, 9vw, 3.8rem); }
  .error-copy > p br { display: none; }
  .error-photo img { height: 230px; }
}
.footer-links { display: flex; flex-wrap: wrap; gap: 12px 24px; font-size: .875rem; }
.footer-links a { text-decoration: underline; text-decoration-color: var(--line); text-underline-offset: 5px; }
.footer-links a:hover, .footer-links a[aria-current="page"] { color: #806030; text-decoration-color: var(--gold); }
.legal-page { max-width: 960px; margin: 0 auto; padding: 64px 28px 90px; }
.legal-page > .eyebrow { color: #806030; }
.legal-page h1 { font-size: clamp(2.8rem, 5vw, 4.5rem); margin: 18px 0; }
.legal-page h1 em { color: #806030; }
.legal-page .legal-date { font-size: .875rem; color: var(--muted); }
.legal-page section { margin-top: 42px; padding-top: 34px; border-top: 1px solid var(--line); }
.legal-page h2 { font-size: clamp(1.65rem, 3vw, 2.2rem); margin-bottom: 20px; }
.legal-page p { margin-bottom: 16px; }
.legal-page a { overflow-wrap: anywhere; text-decoration: underline; text-underline-offset: 4px; text-decoration-color: #bcb39f; }
.legal-page address { font-style: normal; margin-bottom: 18px; }
.legal-page dl { margin: 22px 0 0; }
.legal-page dl > div { display: grid; grid-template-columns: minmax(160px, .8fr) minmax(0, 1.5fr); gap: 24px; padding: 14px 0; border-bottom: 1px solid #e9e8e2; }
.legal-page dt { font-weight: 600; }
.legal-page dd { margin: 0; overflow-wrap: anywhere; }
@media (max-width: 600px) {
  .footer-links { grid-column: 1 / -1; margin-top: 10px; gap: 14px 20px; }
  .legal-page { padding: 40px 6% 60px; }
  .legal-page dl > div { grid-template-columns: minmax(0, 1fr); gap: 3px; }
}
html { scroll-padding-top: 144px; }
.site-header { box-shadow: 0 4px 20px #20231f06; }
.intro { align-items: center; }
.intro-identity { padding-right: 12%; }
.intro-identity .eyebrow { color: #7c694d; font-size: .75rem; }
.intro-identity > img { width: min(100%, 290px); height: auto; margin-top: 12px; }
.site-footer { padding-top: 30px; padding-bottom: 30px; flex-wrap: wrap; }
.site-footer .brand { color: var(--ink); border: 0; }
.gallery-brand { color: var(--ink); }
.gallery-brand .brand-symbol img { mix-blend-mode: multiply; }
@media (max-width: 900px) {
  html { scroll-padding-top: 120px; }
  .site-header { min-height: 104px; gap: 14px; padding-top: 14px; padding-bottom: 14px; }
  .brand { gap: 10px; }
  .brand-symbol { width: 55px; height: 60px; }
  .brand-symbol img { width: 150px; height: 150px; left: -46px; top: -13px; }
  .brand-name { font-size: 2.6rem; }
  .brand-name > span { font-size: 11px; letter-spacing: .19em; margin-top: 8px; }
  .site-header nav { max-height: calc(100dvh - 104px); overflow-y: auto; }
  .company { grid-template-columns: minmax(0, 1fr); }
  .company-signature { gap: 10px; flex-wrap: wrap; }
  .intro-identity { padding: 0; margin-bottom: 32px; }
  .intro-identity > img { width: 240px; margin: 16px auto 0; }
  .site-footer > .brand { grid-column: 1 / -1; margin-bottom: 8px; }
  .gallery-brand .brand-symbol { width: 40px; height: 44px; }
  .gallery-brand .brand-symbol img { width: 110px; height: 110px; left: -34px; top: -9px; }
  .gallery-brand .brand-name { font-size: 2rem; }
  .gallery-brand .brand-name > span { font-size: 9px; }
}




