:root{
  --charcoal:#11161d;
  --navy:#182432;
  --navy-2:#223243;
  --paper:#f2efe7;
  --paper-2:#e7e2d7;
  --gold:#c89b45;
  --gold-deep:#9a722d;
  --text:#1b2027;
  --muted:#626a73;
  --white:#f6f4ee;
  --line:rgba(17,22,29,.14);
  --line-dark:rgba(246,244,238,.16);
  --max:1220px;
  --pad:clamp(24px,5vw,68px);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--text);font-family:Inter,Arial,sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
p,h1,h2,h3{margin-top:0}
.wrap{max-width:var(--max);margin:0 auto;padding-left:var(--pad);padding-right:var(--pad)}
.site-header{position:sticky;top:0;z-index:100;background:rgba(17,22,29,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--line-dark)}
.nav{height:78px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.brand{display:flex;align-items:center;gap:12px;color:var(--white)}
.brand-mark{width:44px;height:44px;border:1.5px solid var(--gold);border-radius:50%;display:grid;place-items:center;color:var(--gold);font:600 11px 'IBM Plex Mono',monospace}
.brand-copy{display:flex;flex-direction:column;line-height:1.05}.brand-copy strong{font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;letter-spacing:.03em;font-size:21px}.brand-copy small{margin-top:5px;color:var(--gold);font:500 9px 'IBM Plex Mono',monospace;letter-spacing:.1em;text-transform:uppercase}
.desktop-nav{display:flex;gap:30px;color:#d9dce0;font:500 11px 'IBM Plex Mono',monospace;text-transform:uppercase;letter-spacing:.08em}.desktop-nav a:hover{color:var(--gold)}
.btn{display:inline-flex;align-items:center;gap:10px;border:1px solid var(--gold);background:var(--gold);color:#15120d;padding:15px 22px;font:600 11px 'IBM Plex Mono',monospace;text-transform:uppercase;letter-spacing:.07em;transition:.2s}.btn:hover{background:transparent;color:var(--gold)}.btn-small{padding:12px 16px}
.text-link{color:var(--white);border-bottom:1px solid var(--gold);font-size:14px}
.eyebrow{color:var(--gold-deep);font:600 11px 'IBM Plex Mono',monospace;text-transform:uppercase;letter-spacing:.15em;margin-bottom:16px}.eyebrow.light{color:var(--gold)}
.hero{position:relative;overflow:hidden;background:var(--charcoal);color:var(--white);min-height:690px;display:flex;align-items:center}.hero-bg{position:absolute;inset:0;background:radial-gradient(circle at 76% 42%,rgba(200,155,69,.10),transparent 35%),linear-gradient(120deg,#10151b 0%,#182432 55%,#11161d 100%)}.hero-bg:after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(to right,transparent,black)}
.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center;width:100%;padding-top:74px;padding-bottom:74px}.hero h1{font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;font-weight:800;line-height:.94;letter-spacing:.005em;font-size:clamp(62px,7.3vw,104px);max-width:8.5ch;margin-bottom:28px}.hero-promise{font-size:18px;line-height:1.75;color:#e2e4e5;max-width:58ch;margin-bottom:32px}.hero-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.hero-visual{min-height:470px;display:flex;align-items:stretch}.photo-slot{width:100%;min-height:470px;border:1px solid rgba(200,155,69,.5);background:linear-gradient(150deg,rgba(255,255,255,.035),rgba(200,155,69,.035));display:flex;flex-direction:column;justify-content:flex-end;padding:34px;position:relative;overflow:hidden}.photo-slot:before,.photo-slot:after{content:"";position:absolute;border-color:var(--gold);width:50px;height:50px}.photo-slot:before{left:18px;top:18px;border-left:2px solid var(--gold);border-top:2px solid var(--gold)}.photo-slot:after{right:18px;bottom:18px;border-right:2px solid var(--gold);border-bottom:2px solid var(--gold)}.photo-slot strong{font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;font-size:28px;max-width:14ch}.photo-slot small{max-width:42ch;color:#b8bec4;margin-top:10px}.slot-label{font:600 10px 'IBM Plex Mono',monospace;color:var(--gold);letter-spacing:.12em;margin-bottom:8px}
.metrics{background:var(--paper);border-bottom:1px solid var(--line)}.metrics-grid{display:grid;grid-template-columns:repeat(4,1fr)}.metrics-grid div{padding:28px 24px;border-right:1px solid var(--line);text-align:center}.metrics-grid div:last-child{border-right:0}.metrics strong{display:block;font:800 clamp(34px,4vw,48px) 'Barlow Condensed',sans-serif;color:var(--charcoal)}.metrics span{font:600 10px 'IBM Plex Mono',monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.section{padding:clamp(70px,8vw,120px) 0}.two-col{display:grid;grid-template-columns:.85fr 1.15fr;gap:72px;align-items:start}.serif{font-family:Fraunces,Georgia,serif;font-size:clamp(42px,5vw,68px);line-height:1.04}.philosophy-copy{font-size:18px;color:var(--muted);max-width:63ch}.philosophy-copy p{margin-bottom:22px}.method{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0;color:var(--charcoal);font:600 12px 'IBM Plex Mono',monospace;text-transform:uppercase;letter-spacing:.06em}.method span{color:var(--gold);padding:0 7px}
.situations{background:var(--paper-2)}.section-head{max-width:760px;margin-bottom:48px}.section-head.centered{text-align:center;margin-left:auto;margin-right:auto}.section-head h2{font:800 clamp(42px,5vw,64px) 'Barlow Condensed',sans-serif;text-transform:uppercase;line-height:1;margin-bottom:18px}.section-head p{color:var(--muted);font-size:17px}.situations-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(17,22,29,.10);border:1px solid rgba(17,22,29,.10)}.situations-grid article{background:var(--paper-2);padding:34px}.situations-grid span,.engage-grid span{font:600 11px 'IBM Plex Mono',monospace;color:var(--gold-deep)}.situations-grid h3,.engage-grid h3{font:700 25px 'Barlow Condensed',sans-serif;text-transform:uppercase;line-height:1.08;margin:18px 0 10px}.situations-grid p,.engage-grid p{font-size:14.5px;color:var(--muted)}
.owners-call{background:var(--charcoal);color:var(--white)}.owners-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:86px}.light-text{color:var(--white)}.owners-intro p:last-child{color:#aeb5bb;margin-top:24px}.cascade{list-style:none;padding:0;margin:0;position:relative}.cascade:before{content:"";position:absolute;left:22px;top:8px;bottom:8px;width:1px;background:rgba(200,155,69,.25)}.cascade li{display:grid;grid-template-columns:44px 1fr;gap:18px;align-items:center;padding:12px 0;opacity:.12;transform:translateY(10px);transition:opacity .55s ease,transform .55s ease}.cascade li span{width:44px;height:44px;border-radius:50%;border:1px solid rgba(200,155,69,.55);background:var(--charcoal);display:grid;place-items:center;color:var(--gold);font:600 10px 'IBM Plex Mono',monospace;position:relative;z-index:2}.cascade li strong{font:600 26px 'Barlow Condensed',sans-serif;text-transform:uppercase;letter-spacing:.01em}.cascade li.final strong{color:var(--gold);font-size:31px}.cascade.active li{opacity:1;transform:none}.cascade.active li:nth-child(1){transition-delay:.10s}.cascade.active li:nth-child(2){transition-delay:.35s}.cascade.active li:nth-child(3){transition-delay:.60s}.cascade.active li:nth-child(4){transition-delay:.85s}.cascade.active li:nth-child(5){transition-delay:1.10s}.cascade.active li:nth-child(6){transition-delay:1.35s}.cascade.active li:nth-child(7){transition-delay:1.65s}
.proof{background:var(--paper)}.case-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.case-card{display:grid;grid-template-columns:.42fr .58fr;min-height:280px;border:1px solid var(--line);background:#f7f4ed}.case-image{position:relative;padding:24px;background:linear-gradient(145deg,var(--navy),var(--charcoal));display:flex;flex-direction:column;justify-content:space-between;color:#c6ccd2}.case-image span{width:42px;height:42px;background:var(--gold);color:#15120d;display:grid;place-items:center;font:600 11px 'IBM Plex Mono',monospace}.case-image small{font:500 10px 'IBM Plex Mono',monospace;text-transform:uppercase;letter-spacing:.07em}.case-copy{padding:30px}.case-kicker{font:600 10px 'IBM Plex Mono',monospace;color:var(--gold-deep);text-transform:uppercase;letter-spacing:.08em;margin-bottom:12px}.case-copy h3{font:700 30px 'Barlow Condensed',sans-serif;text-transform:uppercase;line-height:1;margin-bottom:14px}.case-copy p{font-size:14.5px;color:var(--muted)}.case-copy strong{display:block;margin-top:22px;color:var(--gold-deep);font-size:13px}
.engage{background:var(--paper-2)}.engage-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(17,22,29,.11);border:1px solid rgba(17,22,29,.11)}.engage-grid article{background:var(--paper-2);padding:34px}.engage-grid .engage-lead{font-weight:700;color:var(--text-dark);margin-bottom:10px;line-height:1.45}.engage-grid .engage-lead+p{margin-top:0}
.contact{background:var(--navy);color:var(--white);padding:clamp(70px,8vw,110px) 0}.contact-grid{display:grid;grid-template-columns:1fr .8fr;gap:90px;align-items:center}.contact-grid>div:first-child>p:last-child{color:#d7dce0;max-width:62ch}.contact-panel{border-left:1px solid rgba(200,155,69,.55);padding-left:42px}.contact-prompt{font:700 31px/1.15 'Barlow Condensed',sans-serif;text-transform:uppercase;margin-bottom:26px}.contact-details{color:#b9c0c6;font:500 11px 'IBM Plex Mono',monospace;margin-top:22px}
footer{background:var(--charcoal);color:#aeb5bb;border-top:1px solid var(--line-dark)}.footer-row{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-top:22px;padding-bottom:22px;font:500 10px 'IBM Plex Mono',monospace;letter-spacing:.03em}
@media(max-width:980px){.desktop-nav{display:none}.hero-grid,.two-col,.owners-grid,.contact-grid{grid-template-columns:1fr}.hero{min-height:0}.hero-visual{min-height:380px}.photo-slot{min-height:380px}.situations-grid{grid-template-columns:repeat(2,1fr)}.case-grid{grid-template-columns:1fr}.engage-grid{grid-template-columns:repeat(2,1fr)}.contact-panel{border-left:0;border-top:1px solid rgba(200,155,69,.55);padding-left:0;padding-top:30px}}
@media(max-width:640px){.site-header .btn-small{display:none}.nav{height:68px}.hero-grid{padding-top:52px;padding-bottom:52px}.hero h1{font-size:58px}.hero-promise{font-size:16px}.metrics-grid{grid-template-columns:repeat(2,1fr)}.metrics-grid div:nth-child(2){border-right:0}.metrics-grid div:nth-child(-n+2){border-bottom:1px solid var(--line)}.situations-grid,.engage-grid{grid-template-columns:1fr}.case-card{grid-template-columns:1fr}.case-image{min-height:150px}.cascade li strong{font-size:21px}.cascade li.final strong{font-size:25px}.method{line-height:2}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}.cascade li{opacity:1;transform:none}}

/* Draft 0.5 – approved photography and design development */
.hero-grid{grid-template-columns:1fr 1.05fr;gap:42px}
.hero-visual{min-height:560px}
.hero-composite{position:relative;width:100%;min-height:560px;overflow:hidden;border:1px solid rgba(200,155,69,.48);background:#0f151c;box-shadow:0 28px 70px rgba(0,0,0,.28)}
.hero-composite:before{content:"";position:absolute;z-index:4;inset:18px;border-top:1px solid rgba(200,155,69,.55);border-right:1px solid rgba(200,155,69,.55);pointer-events:none}
.hero-plant{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 42%;filter:saturate(.78) contrast(1.03) brightness(.68)}
.hero-shade{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(10,16,22,.55) 0%,rgba(10,16,22,.12) 45%,rgba(10,16,22,.18) 100%),linear-gradient(0deg,rgba(10,16,22,.58),transparent 46%)}
.hero-portrait{position:absolute;z-index:2;right:-7%;bottom:-5%;height:94%;width:auto;object-fit:contain;filter:drop-shadow(-14px 14px 22px rgba(0,0,0,.32))}
.hero-caption{position:absolute;z-index:5;left:28px;bottom:26px;display:flex;flex-direction:column;border-left:2px solid var(--gold);padding-left:13px;text-shadow:0 2px 12px rgba(0,0,0,.55)}
.hero-caption span{font:600 9px 'IBM Plex Mono',monospace;letter-spacing:.13em;text-transform:uppercase;color:var(--gold)}
.hero-caption strong{font:700 24px 'Barlow Condensed',sans-serif;text-transform:uppercase;color:white;margin-top:3px}
.philosophy-grid{display:grid;grid-template-columns:.7fr .72fr 1.15fr;gap:48px;align-items:center}
.philosophy-photo{height:390px;overflow:hidden;position:relative;box-shadow:0 20px 50px rgba(17,22,29,.12)}
.philosophy-photo:after{content:"";position:absolute;inset:0;border:1px solid rgba(200,155,69,.42);box-shadow:inset 0 0 0 12px rgba(255,255,255,.04)}
.philosophy-photo img{width:100%;height:100%;object-fit:cover;object-position:center}
.philosophy-title{align-self:center}.philosophy-title .serif{font-size:clamp(39px,4.5vw,64px)}
.method{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-top:28px;padding:22px 0}
.method b{font:600 11px 'IBM Plex Mono',monospace;text-transform:uppercase;letter-spacing:.06em;color:var(--charcoal)}
.case-image{padding:0;min-height:280px;overflow:hidden;position:relative;background:var(--charcoal)}
.case-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.68) contrast(1.04) brightness(.73);transition:transform .5s ease,filter .5s ease}
.case-image:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(12,18,24,.08),rgba(12,18,24,.52))}
.case-image span{position:absolute;z-index:2;left:20px;top:20px}
.case-card:hover .case-image img{transform:scale(1.025);filter:saturate(.78) contrast(1.04) brightness(.78)}
@media(max-width:1100px){.philosophy-grid{grid-template-columns:.8fr 1.2fr}.philosophy-photo{grid-row:1 / span 2}.philosophy-title{grid-column:2}.philosophy-copy{grid-column:2}}
@media(max-width:980px){.hero-composite{min-height:520px}.hero-portrait{right:0;height:91%}.philosophy-grid{grid-template-columns:1fr}.philosophy-photo,.philosophy-title,.philosophy-copy{grid-column:auto;grid-row:auto}.philosophy-photo{height:330px}.case-image{min-height:250px}}
@media(max-width:640px){.hero-composite{min-height:460px}.hero-portrait{height:88%;right:-16%}.hero-caption{left:20px;bottom:18px}.philosophy-photo{height:280px}.method{justify-content:flex-start}.case-image{min-height:210px}}

/* Draft 0.6 – Gate 2 corrections */
:root{
  --charcoal:#151a20;
  --navy:#1c2937;
  --navy-2:#263746;
  --paper:#f4f1ea;
  --paper-2:#e9e5dc;
  --gold:#a98a58;
  --gold-deep:#806842;
  --white:#f8f6f1;
}
/* Brand-kit lockup: outlined JM, Archivo-like wordmark, restrained brass rule */
.brand{gap:11px}.brand-mark{width:43px;height:43px;border:2px solid #e8e5df;border-radius:0;color:#fff;font:800 17px Inter,Arial,sans-serif;letter-spacing:-.04em}
.brand-copy{position:relative;padding-bottom:5px}.brand-copy strong{font-family:Inter,Arial,sans-serif;font-weight:800;font-size:19px;letter-spacing:.015em}.brand-copy strong:after{content:"";display:block;width:34px;height:2px;background:var(--gold);margin-top:5px}.brand-copy small{margin-top:5px;color:#d7dce0;font:500 9px Inter,Arial,sans-serif;letter-spacing:.105em}
/* Readability: brass is accent, never body copy */
.eyebrow{font-size:12px;line-height:1.45;letter-spacing:.13em;color:var(--gold-deep)}.eyebrow.light{color:#d7c6a5}.case-kicker{font-size:11px;line-height:1.45;color:#6f5a38}.situations-grid span,.engage-grid span{color:#6f5a38}.case-copy strong{color:#5f4c30;font-size:14px;line-height:1.45}
/* One calm dark foundation rather than alternating black/navy bands */
.hero,.owners-call,footer{background:var(--navy)}.hero-bg{background:linear-gradient(120deg,#1a2734 0%,#21313f 55%,#192632 100%)}.cascade li span{background:var(--navy)}.contact{background:var(--navy)}
/* Editorial hero – portrait and plant are intentionally related, never faux-Photoshopped */
.hero-editorial{position:relative;min-height:560px;width:100%;isolation:isolate}
.hero-plant-panel{position:absolute;left:0;top:0;width:73%;height:76%;overflow:hidden;border:1px solid rgba(169,138,88,.45);box-shadow:0 28px 70px rgba(0,0,0,.22)}
.hero-plant-panel img{width:100%;height:100%;object-fit:cover;object-position:center 43%;filter:saturate(.88) contrast(1.01) brightness(.91)}
.hero-portrait-panel{position:absolute;right:0;bottom:0;width:52%;height:82%;background:#263746;overflow:hidden;border-left:1px solid rgba(169,138,88,.5);box-shadow:-22px 24px 55px rgba(0,0,0,.22);z-index:2}
.hero-portrait-panel:before{content:"";position:absolute;inset:0;background:linear-gradient(145deg,rgba(255,255,255,.035),transparent 48%);z-index:1;pointer-events:none}
.hero-portrait-panel img{position:absolute;bottom:-5%;left:50%;transform:translateX(-50%);height:105%;width:auto;max-width:none;object-fit:contain;mix-blend-mode:normal}
.hero-caption{left:24px;bottom:18px;background:rgba(28,41,55,.92);padding:10px 13px 10px 14px;border-left:2px solid var(--gold)}
.hero-caption span{color:#d7c6a5;font-size:10px}.hero-caption strong{font-size:23px}
/* Leadership method: force one line on desktop, intentional stack only on narrow screens */
.method{display:grid;grid-template-columns:auto 20px auto 20px auto 20px auto 20px auto;align-items:center;justify-content:start;gap:7px;white-space:nowrap;overflow:visible}.method span{padding:0;text-align:center;color:var(--gold-deep)}.method b{font-size:10.5px;letter-spacing:.045em}
/* Proof photography: confident and readable, not gloomy */
.case-image img{filter:saturate(.88) contrast(1.01) brightness(.96)}.case-image:after{background:linear-gradient(180deg,rgba(20,28,35,.02),rgba(20,28,35,.18))}.case-card:hover .case-image img{filter:saturate(.95) contrast(1.01) brightness(1)}
.gmail-note{margin:10px 0 0;color:#cbd1d5;font-size:12px}
@media(max-width:1100px){.method{grid-template-columns:auto 16px auto 16px auto 16px auto 16px auto;gap:4px}.method b{font-size:9.5px}.hero-editorial{min-height:520px}}
@media(max-width:780px){.method{display:flex;flex-direction:column;align-items:flex-start;white-space:normal;gap:3px}.method span{transform:rotate(90deg);margin:1px 0 1px 8px}.method b{font-size:11px}.hero-editorial{min-height:490px}.hero-plant-panel{width:82%;height:70%}.hero-portrait-panel{width:54%;height:73%}}
@media(max-width:520px){.brand-copy small{display:none}.hero-editorial{min-height:430px}.hero-plant-panel{width:88%;height:65%}.hero-portrait-panel{width:58%;height:68%}.hero-caption strong{font-size:19px}}


/* Draft 0.7 – bounded visual corrections from 0.6 review */
/* Keep approved editorial hero geometry, but visually absorb the portrait's white source field. */
.hero-portrait-panel{
  background:linear-gradient(135deg,#eef1f2 0%,#f8f8f6 54%,#dfe5e8 100%);
  border:0;
  box-shadow:-26px 22px 58px rgba(0,0,0,.18);
}
.hero-portrait-panel:after{
  content:"";position:absolute;inset:0;z-index:3;pointer-events:none;
  box-shadow:inset 28px 0 38px -28px rgba(28,41,55,.75), inset 0 -22px 34px -30px rgba(28,41,55,.45);
}
/* Brighter, more confident industrial photography – preserve exact source assets. */
.hero-plant-panel img{filter:saturate(.98) contrast(.98) brightness(1.08)}
.case-image img{filter:saturate(.98) contrast(.99) brightness(1.10)}
.case-image:after{background:linear-gradient(180deg,rgba(20,28,35,0),rgba(20,28,35,.08))}
.case-card:hover .case-image img{filter:saturate(1) contrast(.99) brightness(1.12)}
/* Keep the engagement title intact on normal desktop/laptop widths. */
.nowrap-desktop{white-space:nowrap;font-size:clamp(25px,2.05vw,30px)!important;letter-spacing:-.01em}
@media(max-width:780px){.nowrap-desktop{white-space:normal}}


/* Draft 0.8 – HERO-ONLY technical correction
   Preserve Draft 0.7 architecture. Remove the rectangular portrait treatment.
   Industrial image -> navy transition -> exact transparent John portrait. */
.hero-editorial{
  min-height:560px;
  overflow:hidden;
  background:linear-gradient(110deg,#1b2a38 0%,#20313f 50%,#223442 100%);
  border:0;
  box-shadow:none;
}
.hero-plant-panel{
  inset:0 auto 0 0;
  width:76%;
  height:100%;
  border:0;
  box-shadow:none;
  z-index:0;
  overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,#000 0%,#000 56%,rgba(0,0,0,.92) 68%,rgba(0,0,0,.38) 84%,transparent 100%);
  mask-image:linear-gradient(90deg,#000 0%,#000 56%,rgba(0,0,0,.92) 68%,rgba(0,0,0,.38) 84%,transparent 100%);
}
.hero-plant-panel img{
  width:100%;height:100%;object-fit:cover;object-position:center center;
  filter:saturate(1.02) contrast(.97) brightness(1.10);
}
.hero-editorial:before{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:
    linear-gradient(90deg,rgba(28,41,55,.02) 0%,rgba(28,41,55,.05) 47%,rgba(28,41,55,.48) 68%,rgba(28,41,55,.96) 88%,#1c2937 100%),
    linear-gradient(0deg,rgba(18,28,36,.18),transparent 38%);
}
.hero-portrait-panel{
  position:absolute;right:-1.5%;bottom:-2%;width:52%;height:94%;
  background:transparent!important;border:0!important;box-shadow:none!important;
  overflow:visible;z-index:3;
}
.hero-portrait-panel:before,.hero-portrait-panel:after{display:none!important}
.hero-portrait-panel img{
  position:absolute;right:0;left:auto;bottom:0;transform:none;
  height:100%;width:auto;max-width:none;object-fit:contain;
  filter:drop-shadow(-12px 16px 20px rgba(8,14,19,.28));
}
.hero-caption{
  z-index:4;left:20px;bottom:22px;
  background:rgba(28,41,55,.80);backdrop-filter:blur(3px);
  padding:9px 12px 9px 13px;
}
@media(max-width:1100px){
  .hero-editorial{min-height:520px}
  .hero-plant-panel{width:80%}
  .hero-portrait-panel{width:52%;height:91%;right:-3%}
}
@media(max-width:780px){
  .hero-editorial{min-height:490px}
  .hero-plant-panel{width:100%;height:100%;
    -webkit-mask-image:linear-gradient(90deg,#000 0%,#000 50%,rgba(0,0,0,.5) 76%,transparent 100%);
    mask-image:linear-gradient(90deg,#000 0%,#000 50%,rgba(0,0,0,.5) 76%,transparent 100%)}
  .hero-portrait-panel{width:58%;height:82%;right:-6%}
}
@media(max-width:520px){
  .hero-editorial{min-height:430px}
  .hero-portrait-panel{width:64%;height:76%;right:-10%}
  .hero-caption{left:14px;bottom:14px}
}


/* Draft 0.9 – approved hero image update only.
   Use the user-approved integrated John + warehouse photograph as-is.
   No faux navy field around head or left side; no separate portrait overlay. */
.hero-integrated-photo{
  position:absolute;inset:0;z-index:0;overflow:hidden;
}
.hero-integrated-photo img{
  width:100%;height:100%;object-fit:cover;object-position:center center;
  filter:saturate(1.01) contrast(.98) brightness(1.06);
}
.hero-editorial:before{display:none!important}
.hero-caption{z-index:4}
@media(max-width:780px){.hero-integrated-photo img{object-position:center center}}


/* Draft 0.10 – controlled Representative Special Situations refinements */
.case-image .case-logo{
  position:absolute;z-index:3;left:14px;bottom:14px;
  width:112px;height:auto;max-height:62px;object-fit:contain;
  padding:6px 8px;background:rgba(248,246,241,.94);
  border:1px solid rgba(17,22,29,.12);box-shadow:0 4px 12px rgba(0,0,0,.14);
}
.case-image .leprino-logo{border-radius:2px}
@media(max-width:640px){.case-image .case-logo{width:100px;left:12px;bottom:12px}}

/* FINAL GATE 3 – mobile-only hero responsiveness correction.
   Desktop/laptop hero remains unchanged. On narrow screens, stack the hero copy
   above the full-width integrated portrait/warehouse image and show the complete
   source image without horizontal cropping or off-screen overflow. */
@media(max-width:780px){
  html,body{overflow-x:hidden}
  .hero-grid{grid-template-columns:1fr;gap:34px;min-width:0}
  .hero-copy,.hero-visual{width:100%;min-width:0}
  .hero-visual{display:block;min-height:0}
  .hero-editorial{width:100%;min-height:0;height:auto;overflow:hidden}
  .hero-integrated-photo{position:relative;inset:auto;width:100%;height:auto;overflow:hidden}
  .hero-integrated-photo img{display:block;width:100%;height:auto;max-width:100%;object-fit:contain;object-position:center center}
  .hero-caption{left:14px;bottom:14px}
}
