:root{--ink:#19392e;--paper:#f5f7f4;--muted:#59685d;--line:#d5ddd4;--gold:#e8c777;--white:#fff;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none;letter-spacing:0}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #ac6a11;outline-offset:4px}p{line-height:1.6}img{max-width:100%}.preview-notice{padding:8px 24px;background:#e8c777;font-size:11px;font-weight:700;text-align:center}.preview-notice span{font-weight:400;margin-left:16px}.site-header{display:flex;justify-content:space-between;align-items:center;padding:12px 4%;background:#fff;gap:20px}.brand{display:flex;align-items:center;gap:12px;font-weight:800;font-size:16px}.brand img{object-fit:contain}.brand small{display:block;font-size:10px;margin-top:6px;font-weight:600}.site-header nav{display:flex;align-items:center;gap:30px;font-size:14px}.button{display:inline-flex;align-items:center;justify-content:center;gap:26px;min-height:48px;padding:14px 22px;background:var(--ink);color:var(--white);border:1px solid var(--ink);border-radius:3px;font-weight:600;font-size:14px}.button:hover{background:#2d5541}.button.light{background:var(--gold);color:#172e22;border-color:var(--gold)}.hero{position:relative;min-height:630px;height:min(730px,78vh);color:white;overflow:hidden;isolation:isolate;background:#293d31;display:flex;align-items:center}.hero-image,.hero-shade{position:absolute;inset:0;width:100%;height:100%;z-index:-2}.hero-image{object-fit:cover;object-position:center 53%;transform:scale(1.025);transition:transform 1.2s ease-out}.hero-shade{z-index:-1;background:linear-gradient(90deg,rgba(6,24,17,.85),rgba(6,24,17,.36) 55%,rgba(6,24,17,.03)),linear-gradient(0deg,rgba(6,24,17,.5),transparent 35%)}.hero-copy{padding:30px 6% 145px;max-width:870px}.eyebrow{font-size:11px;font-weight:700;margin:0 0 20px;text-transform:uppercase}.hero h1{font-size:48px;line-height:1.06;font-weight:600;margin:0 0 20px;font-family:Georgia,'Times New Roman',serif;text-wrap:balance}.hero-line{font-size:23px;margin:0 0 12px}.hero-description{font-size:15px;max-width:455px;color:#e2eae0;margin-bottom:26px}.photo-credit{position:absolute;bottom:125px;right:4%;font-size:9px;background:#183024b8;padding:10px 12px}.photo-credit span{margin-left:16px}.hero-services{position:absolute;bottom:0;left:0;width:100%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:#153427ee}.hero-services a{display:flex;align-items:center;gap:14px;padding:27px 22px;border-right:1px solid #ffffff30;font-size:15px;min-height:98px}.hero-services a:hover{background:#315644}.hero-services a span{color:var(--gold);font-size:11px}.hero-services a b{margin-left:auto;font-size:20px;font-weight:400}.section{padding:80px 6%;scroll-margin-top:20px}.section h2{font:500 46px/1.06 Georgia,'Times New Roman',serif;margin:0 0 22px}.section-heading p:last-child{max-width:340px;color:var(--muted)}.services{display:grid;grid-template-columns:1fr 1.25fr;gap:70px}.service-list a{border-top:1px solid var(--line);padding:24px 0;display:flex;gap:25px;align-items:center}.service-list a:last-child{border-bottom:1px solid var(--line)}.service-list a>span:last-child{margin-left:auto;font-size:24px}.service-number{font-size:12px;color:var(--muted)}h3{font-size:20px;margin:0 0 7px}.service-list p{font-size:14px;margin:0;color:var(--muted);max-width:390px}.work{background:#e5ece5}.work-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:32px}.work-heading>p{max-width:310px;color:var(--muted);font-size:14px}.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.gallery button{border:0;background:transparent;padding:0;text-align:left;color:var(--ink);min-width:0}.gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;transition:filter .2s}.gallery button:hover img{filter:brightness(.86)}.gallery span{display:flex;justify-content:space-between;padding:12px 0;font-size:12px}.text-button{display:block;margin:25px auto 0;padding:12px 0;background:none;border:0;border-bottom:1px solid var(--ink);color:var(--ink);font-size:14px}.text-button span{margin-left:18px}.contact{display:grid;grid-template-columns:1fr 1.2fr;gap:85px}.contact>div>p{color:var(--muted)}.contact-note{margin-top:35px;border-left:3px solid var(--gold);padding:0 18px;max-width:370px;font-size:13px}.contact-note p{color:var(--muted)}form label{display:block;font-size:13px;font-weight:600;margin-bottom:17px}label>span{font-weight:400;color:var(--muted)}input,textarea,select{display:block;width:100%;border:1px solid #b9c8bb;background:#fff;padding:12px;color:var(--ink);border-radius:3px;margin-top:8px;min-height:44px}textarea{resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-disclosure{font-size:12px;color:var(--muted)}#form-status{font-size:14px}footer{padding:30px 6%;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:30px;background:#fff}footer p,footer>a:last-child{font-size:12px}dialog{border:0;padding:16px;background:#12251d;color:#fff;width:min(1100px,94vw);max-height:95vh;border-radius:4px}dialog::backdrop{background:#07150ee8}#large-photo{display:block;margin:auto;max-height:72vh;object-fit:contain;max-width:100%;width:auto}.lightbox-toolbar,.lightbox-bottom{display:flex;justify-content:space-between;align-items:center;gap:15px;font-size:13px}.lightbox-bottom p{text-align:center}.icon-button{border:1px solid #ffffff60;background:transparent;color:#fff;width:44px;height:44px;font-size:20px;flex-shrink:0}.lightbox-toolbar{margin-bottom:12px}
@media(min-width:1700px){.hero-copy{max-width:1050px}.hero h1{font-size:62px}.section{padding-left:12%;padding-right:12%}.hero{height:760px;max-height:82vh}}
@media(max-width:900px){.site-header nav{gap:18px}.brand{font-size:13px}.brand img{width:60px;height:60px}.services,.contact{gap:35px}.hero h1{font-size:40px}.hero-services a{padding:24px 14px;font-size:13px;gap:8px}.section{padding:60px 5%}.section h2{font-size:39px}footer{flex-wrap:wrap}}
@media(max-width:600px){.preview-notice{font-size:10px;padding:8px 16px}.preview-notice span{display:block;margin:4px 0 0}.site-header{padding:10px 16px}.brand{font-size:11px;gap:7px}.brand small{font-size:8px}.brand img{width:49px;height:49px}.site-header nav>a:not(.button){display:none}.site-header .button{padding:10px;font-size:11px;min-height:42px;gap:7px;max-width:125px}.hero{min-height:610px;height:auto;align-items:flex-start}.hero-copy{padding:48px 24px 190px}.hero h1{font-size:35px}.hero-line{font-size:20px}.hero-description{font-size:14px}.eyebrow{font-size:10px}.hero-image{object-position:58% center}.hero-shade{background:linear-gradient(90deg,#092217da,#09221760),linear-gradient(0deg,#09221780,transparent)}.hero-services{grid-template-columns:1fr 1fr}.hero-services a{padding:20px 14px;min-height:70px;border-top:1px solid #ffffff30;font-size:12px}.photo-credit{display:none}.services,.contact{grid-template-columns:1fr;gap:24px}.section{padding:48px 24px}.section h2{font-size:36px}.work-heading{display:block}.gallery{grid-template-columns:1fr 1fr;gap:12px}.gallery span{font-size:10px}.form-row{grid-template-columns:1fr;gap:0}footer{padding:25px 24px;gap:16px}footer p{margin:0}#large-photo{max-height:65vh}}
.gallery img{height:auto}.contact-note a{overflow-wrap:anywhere;text-decoration:underline;text-underline-offset:3px}
.brand img{clip-path:polygon(50% 2%,63% 3%,76% 9%,87% 18%,94% 30%,97% 41%,98% 43%,96% 47%,96% 64%,99% 67%,92% 68%,87% 81%,77% 90%,65% 96%,50% 99%,35% 96%,23% 90%,13% 81%,8% 68%,1% 67%,4% 63%,4% 47%,2% 43%,3% 41%,6% 30%,13% 18%,24% 9%,37% 3%);width:88px;height:86px;object-fit:contain}.site-header .brand{gap:16px}
@media(max-width:600px){.brand img{width:64px;height:62px}.site-header .brand{gap:8px}.site-header{gap:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}.hero-image{transform:none!important}}

/* Isolated visual review: intentionally not copied by the production builder. */
.site-header { background: #18382e; color: #fff; padding: 20px 5%; }
.wordmark { display: block; }
.wordmark b { display: flex; align-items: baseline; gap: 12px; font: 700 32px/1 Georgia, serif; }
.wordmark b span { font: 600 14px/1 Arial, sans-serif; }
.wordmark > small { font-size: 10px; margin-top: 9px; color: #dce5dc; }
.site-header .button { background: #efd48a; color: #18382e; border-color: #efd48a; }
.mobile-contact { display: none; }
footer .brand { align-items: center; }
footer .brand img { clip-path: none; width: 144px; height: 140px; border-radius: 4px; }
footer { background: #18382e; color: white; }
.hero-image { object-position: center 30%; }
@media (max-width: 600px) {
  html { scroll-padding-top: 20px; }
  body { padding-bottom: calc(74px + env(safe-area-inset-bottom)); }
  .preview-notice { padding: 5px 12px; font-size: 9px; line-height: 1.3; }
  .preview-notice span { margin-top: 2px; }
  .site-header { padding: 17px 20px; display: block; }
  .wordmark b { font-size: 32px; gap: 10px; }
  .wordmark b span { font-size: 14px; }
  .wordmark > small { font-size: 9px; margin-top: 7px; }
  .site-header nav { margin-top: 18px; padding-top: 12px; border-top: 1px solid #ffffff25; justify-content: space-between; gap: 20px; }
  .site-header nav > a:not(.button) { display: inline-flex; align-items: center; min-height: 44px; font-size: 14px; }
  .site-header .button { min-height: 44px; padding: 10px 14px; max-width: none; font-size: 13px; }
  .hero { display: flex; align-items: end; min-height: 465px; height: auto; }
  .hero-image { object-position: 50% 20%; transform: none; }
  .hero-shade { background: linear-gradient(0deg, #10251ef5 0%, #10251eac 40%, #10251e08 85%); }
  .hero-copy { padding: 160px 22px 28px; width: 100%; }
  .hero .eyebrow { font-size: 10px; margin-bottom: 13px; }
  .hero h1 { font: 500 37px/1.08 Georgia, serif; margin-bottom: 14px; text-wrap: initial; }
  .hero-line { display: none; }
  .hero-description { font-size: 15px; line-height: 1.5; margin: 0 0 22px; color: #f0f2ed; }
  .hero .button { width: 100%; min-height: 50px; justify-content: space-between; }
  .hero-services { display: none; }
  .section { padding: 36px 22px; }
  .section h2 { font: 500 31px/1.12 Georgia, serif; margin: 0 0 12px; }
  .eyebrow { font-size: 10px; margin-bottom: 13px; }
  .section-heading > p:last-child { font-size: 15px; margin: 0; max-width: none; }
  .services { gap: 22px; background: #fff; }
  .service-list a { padding: 18px 0; gap: 12px; }
  .service-list h3 { font-size: 18px; line-height: 1.25; margin-bottom: 6px; }
  .service-list p { font-size: 14px; line-height: 1.45; }
  .service-number { font-size: 11px; align-self: flex-start; padding-top: 4px; }
  .service-list a > span:last-child { min-width: 24px; }
  .work { background: #e8ede7; padding-left: 0; padding-right: 0; }
  .work-heading { padding: 0 22px; margin-bottom: 22px; }
  .work-heading > p { font-size: 15px; line-height: 1.5; margin: 0; }
  .gallery { display: flex; gap: 14px; overflow-x: auto; scroll-snap-type: x mandatory; padding: 0 22px 10px; scroll-padding-left: 22px; }
  .gallery button { flex: 0 0 86%; scroll-snap-align: start; }
  .gallery img { aspect-ratio: 4/3; height: auto; width: 100%; object-fit: cover; }
  .gallery span { font-size: 11px; padding: 13px 0 4px; }
  .text-button { min-height: 48px; font-size: 14px; margin-top: 12px; }
  .contact { gap: 22px; background: #fff; }
  .contact h2 br { display: none; }
  .contact > div > p { font-size: 15px; margin: 0; }
  .contact-note { margin-top: 23px; padding: 0 14px; font-size: 15px; }
  .contact-note p { line-height: 1.7; margin: 8px 0; }
  form { border-top: 1px solid #d5ddd4; padding-top: 24px; }
  form label { font-size: 14px; margin-bottom: 18px; }
  input, select, textarea { font-size: 16px; padding: 13px; min-height: 50px; }
  textarea { min-height: 120px; }
  form .button { width: 100%; justify-content: space-between; min-height: 52px; }
  .form-disclosure { font-size: 12px; line-height: 1.55; }
  footer { display: block; padding: 30px 22px; }
  footer .brand { display: block; }
  footer .brand img { width: 168px; height: 163px; display: block; margin-bottom: 18px; }
  footer .brand > span { font-size: 15px; }
  footer .brand small { font-size: 10px; }
  footer > p { font-size: 13px; margin: 20px 0; }
  footer > a:last-child { display: inline-flex; min-height: 44px; align-items: center; font-size: 14px; }
  .mobile-contact { display: grid; grid-template-columns: 1fr 1fr; position: fixed; z-index: 20; bottom: 0; left: 0; width: 100%; padding-bottom: env(safe-area-inset-bottom); background: #17392d; box-shadow: 0 -2px 12px #0002; }
  .mobile-contact a { min-height: 70px; padding: 13px 16px; display: flex; flex-direction: column; justify-content: center; gap: 5px; font-size: 14px; font-weight: 700; color: white; }
  .mobile-contact a:first-child span { font-size: 12px; font-weight: 400; }
  .mobile-contact a:last-child { background: #efd48a; color: #17392d; flex-direction: row; align-items: center; justify-content: space-between; }
}
@media(max-width: 359px) { .hero h1 { font-size: 32px; } .mobile-contact a { padding: 12px; font-size: 13px; } }
