/* Photographic opening and refined logo; the established sections continue below. */
body { position: relative; }
.preview-bar { height: 28px; padding-top: 0; padding-bottom: 0; }
.site-header { position: absolute; top: 28px; left: 0; right: 0; z-index: 5; height: 122px; color: var(--paper); background: transparent; border: 0; }
.site-header .brand { color: var(--paper); }
.brand img { width: 54px; height: 54px; }
.brand-name { font-size: 47px; }
.brand-service { display: block; font-size: 8px; font-weight: 500; line-height: 1.3; letter-spacing: .07em; margin-top: 5px; }
.site-header .desktop-nav { font-size: 12px; gap: 30px; }
.site-header .desktop-nav a { color: var(--paper); }
.site-header .header-cta { border-color: #fffdf7a6; color: var(--paper); background: #15382b24; }
.site-header .header-cta:hover { background: var(--paper); color: var(--green); }
.hero { display: flex; position: relative; align-items: center; min-height: max(740px,calc(100svh - 28px)); margin: 0; overflow: hidden; color: var(--paper); background: #23483c; }
.hero-copy { position: relative; z-index: 2; width: 100%; padding: 170px clamp(25px,6vw,96px) 110px; align-self: center; }
.hero-eyebrow { color: #f1f1df; margin-bottom: 28px; font-size: 10px; letter-spacing: .16em; }
.hero-eyebrow span { background: #e5e9cf; }
.hero h1 { color: var(--paper); font-size: clamp(3.6rem,6.3vw,6.5rem); line-height: .98; max-width: 950px; white-space: nowrap; }
.hero-service { font-size: 20px; line-height: 1.5; margin-top: 28px; }
.hero-subtitle { color: #f3f2e8; max-width: 440px; font-size: 15px; line-height: 1.7; margin: 20px 0 30px; }
.hero-subtitle strong { color: #fffdf7; }
.hero .button { background: var(--paper); color: var(--green); border-color: var(--paper); min-height: 58px; font-size: 13px; padding: 17px 23px; gap: 35px; }
.hero .button:hover { background: var(--lime); border-color: var(--lime); }
.hero-note { color: #ecefe2; font-size: 11px; line-height: 1.7; max-width: 390px; margin-top: 16px; }
.hero .manager-entry { color: var(--paper); font-size: 12px; margin-top: 5px; }
.hero-scene { position: absolute; inset: 0; width: 100%; height: 100%; background: #446b5b; }
.hero-image { width: 100%; height: 100%; object-fit: cover; object-position: 50% 65%; }
.hero-scene::after { inset: 0; background: linear-gradient(90deg,#0c2b20e3 0%,#123528b3 38%,#1235282b 73%,#1235280a 100%),linear-gradient(180deg,#0b281f66 0%,transparent 30%,transparent 70%,#102d224d 100%); }
.scene-caption { left: auto; right: clamp(25px,6vw,96px); bottom: 33px; text-align: right; color: var(--paper); }
.scene-caption span:first-child { font-size: 9px; }
.scene-caption span:last-child { font-size: 12px; }
.service-ribbon { margin: 0; padding-left: clamp(25px,6vw,96px); padding-right: clamp(25px,6vw,96px); }
.site-footer .brand img { width: 45px; height: 45px; }
.site-footer .brand-service { font-size: 7px; }
@media (max-width:1100px) {
  .site-header .desktop-nav { display: none; }
  .hero { min-height: max(740px,calc(100svh - 28px)); }
  .hero h1 { font-size: clamp(3.4rem,7.3vw,5.7rem); }
  .hero-copy { padding-top: 160px; padding-bottom: 100px; }
  .hero-scene::after { background: linear-gradient(90deg,#0c2b20e8 0%,#123528b3 48%,#12352826 100%),linear-gradient(180deg,#0b281f55,transparent 40%); }
}
@media (max-width:760px) {
  .site-header { height: 106px; padding: 0 22px; gap: 16px; }
  .site-header .brand { gap: 9px; }
  .brand img { width: 40px; height: 40px; }
  .brand-name { font-size: 35px; }
  .brand-place { font-size: 8px; letter-spacing: .17em; }
  .brand-service { font-size: 6px; letter-spacing: .025em; margin-top: 4px; }
  .site-header .header-cta { min-height: 44px; font-size: 10px; gap: 10px; padding: 11px 12px; white-space: nowrap; }
  .hero { min-height: max(770px,calc(100svh - 28px)); margin: 0; display: flex; }
  .hero-copy { padding: 160px 25px 110px; width: 100%; }
  .hero-eyebrow { font-size: 8px; letter-spacing: .08em; gap: 10px; margin-bottom: 25px; }
  .hero h1 { font-size: clamp(2.6rem,10.3vw,4.7rem); line-height: 1; }
  .hero-service { font-size: 17px; margin-top: 26px; }
  .hero-subtitle { font-size: 14px; line-height: 1.7; max-width: 380px; margin-top: 18px; margin-bottom: 25px; }
  .hero .button { width: 100%; max-width: 390px; font-size: 12px; gap: 14px; padding: 16px; min-height: 56px; }
  .hero-note { font-size: 11px; max-width: 350px; }
  .hero-scene { height: 100%; }
  .hero-image { object-position: 63% center; }
  .hero-scene::after { background: linear-gradient(90deg,#102d23dd 0%,#102d23a6 60%,#102d2366 100%),linear-gradient(180deg,#0c251d44,transparent 60%,#102d2355); }
  .scene-caption { left: 25px; right: 25px; bottom: 26px; text-align: left; }
  .scene-caption span:first-child { font-size: 8px; }
  .scene-caption span:last-child { font-size: 11px; }
  .service-ribbon { margin: 0; padding: 22px 25px; }
  .site-footer .brand-service { font-size: 6px; }
}
@media (max-width:370px) {
  .site-header { padding: 0 18px; gap: 12px; }
  .site-header .brand img { width: 31px; height: 31px; }
  .site-header .brand { gap: 7px; }
  .brand-name { font-size: 30px; }
  .brand-place { font-size: 7px; }
  .brand-service { font-size: 5px; }
  .site-header .header-cta { font-size: 9px; padding: 10px; gap: 8px; }
  .hero-copy { padding: 150px 20px 110px; }
  .hero h1 { font-size: 9.6vw; }
  .hero-service { font-size: 16px; }
  .hero-subtitle { font-size: 13px; }
  .hero .button { font-size: 11px; }
  .hero-note { font-size: 10px; }
  .scene-caption { left: 20px; right: 20px; }
  .service-ribbon { padding-left: 20px; padding-right: 20px; }
}
