:root{
  --graphite:#151515;
  --graphite-2:#1c1b19;
  --graphite-3:#23211e;
  --ivory:#f1ece2;
  --ink:#171717;
  --navy:#0e355d;
  --brass:#b58a4d;
  --brass-soft:#c9a66e;
  --line:rgba(181,138,77,.42);
  --serif:"Iowan Old Style","Palatino Linotype","Book Antiqua",Palatino,Georgia,serif;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--graphite);color:var(--ivory);font-family:var(--sans);line-height:1.5}
a{color:inherit;text-decoration:none}
.site-header{
  position:sticky;top:0;z-index:50;
  display:grid;grid-template-columns:minmax(315px,.95fr) 1.65fr auto;
  align-items:center;gap:30px;min-height:118px;padding:13px 4vw;
  background:var(--navy);border-bottom:1px solid rgba(201,166,110,.52)
}
.brand img{display:block;width:340px;max-width:100%;height:auto}
nav{display:flex;justify-content:center;gap:24px;flex-wrap:wrap}
nav a,.contact{font-size:11px;letter-spacing:.16em;text-transform:uppercase}
nav a{color:rgba(255,255,255,.86)}
.contact{border:1px solid rgba(201,166,110,.9);padding:11px 15px;color:#fff}
.section{position:relative;padding:9.3vw 7vw}
.dark{background:var(--graphite)}
.deep{background:var(--graphite-2)}
.warm-dark{background:var(--graphite-3)}
.light{background:var(--ivory);color:var(--ink)}
.kicker{font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--brass-soft);margin-bottom:26px}
.headline{font-family:var(--serif);font-weight:400;font-size:clamp(48px,6vw,98px);line-height:.96;letter-spacing:-.03em;margin:0}
.copy{max-width:760px;font-size:clamp(17px,1.42vw,21px);line-height:1.72;color:#dad6cf}
.copy p{margin:0 0 1.3em}
.light .copy{color:#302f2d}
.rule{height:1px;background:var(--line);margin:0 7vw}
.hero{
  min-height:82vh;display:grid;grid-template-columns:minmax(0,1.18fr) minmax(280px,.82fr);
  gap:7vw;align-items:center;padding-top:7.5vw;padding-bottom:8vw
}
.hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(62px,8vw,142px);line-height:.88;letter-spacing:-.042em;margin:0 0 38px}
.hero .dek{font-family:var(--serif);font-size:clamp(21px,2vw,30px);line-height:1.43;max-width:860px;color:#e7e0d6}
.hero-side{align-self:stretch;display:flex;flex-direction:column;justify-content:center;border-left:1px solid var(--line);padding-left:4vw}
.hero-side .label{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#9d9992;margin-bottom:26px}
.hero-side .item{border-top:1px solid rgba(255,255,255,.10);padding:15px 0;font-family:var(--serif);font-size:clamp(21px,2vw,31px);line-height:1.12;color:#d6d0c7}
.hero-side .item:last-child{border-bottom:1px solid rgba(255,255,255,.10)}
.split{display:grid;grid-template-columns:.9fr 1.1fr;gap:8vw;align-items:start}
.split.reverse{grid-template-columns:1.12fr .88fr}
.pull{margin-top:45px;border-left:1px solid var(--line);padding-left:24px;font-family:var(--serif);font-size:clamp(24px,2.6vw,40px);line-height:1.25;color:#cdb182;max-width:720px}
.uses{margin-top:48px;display:grid;grid-template-columns:repeat(2,1fr);gap:0;border-top:1px solid rgba(181,138,77,.28)}
.uses div{padding:22px 24px 22px 0;border-bottom:1px solid rgba(181,138,77,.28);font-family:var(--serif);font-size:clamp(22px,2.3vw,35px);line-height:1.14}
.light .uses div{border-color:rgba(23,23,23,.17)}
.sectors{display:grid;grid-template-columns:.72fr 1.28fr;gap:9vw;align-items:start}
.sector-index{display:grid;gap:0;border-top:1px solid rgba(181,138,77,.33)}
.sector-row{display:block;padding:20px 0;border-bottom:1px solid rgba(181,138,77,.26)}
.sector-row span{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--brass-soft);padding-top:5px}
.sector-row strong{font-family:var(--serif);font-weight:400;font-size:clamp(22px,2.3vw,35px);line-height:1.15}
.light .sector-row strong{color:#201f1d}
.discipline{display:grid;grid-template-columns:.86fr 1.14fr;gap:9vw;align-items:start}
.decision{margin-top:28px}
.decision div{padding:21px 0;border-top:1px solid rgba(181,138,77,.28);font-family:var(--serif);font-size:clamp(22px,2.4vw,37px);line-height:1.14}
.decision div:last-child{border-bottom:1px solid rgba(181,138,77,.28)}
.close{min-height:58vh;display:flex;flex-direction:column;justify-content:center}
.close .headline{max-width:1100px}
.cta{display:inline-block;margin-top:44px;border-bottom:1px solid var(--brass);padding-bottom:7px;font-size:11px;letter-spacing:.2em;text-transform:uppercase}
.source-prototype-footer{background:var(--navy);padding:24px 4vw;display:flex;justify-content:space-between;gap:24px;align-items:center;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#cbd2d8}
.source-prototype-footer img{width:255px;height:auto}
@media(max-width:980px){
  .site-header{grid-template-columns:minmax(0,1fr) auto;gap:14px;min-height:94px;padding:12px 18px}
  .brand img{width:230px;max-width:64vw}
  nav{display:none}
  .contact{font-size:10px;padding:10px 12px}
  .section{padding:17vw 7vw}
  .hero{min-height:auto;grid-template-columns:1fr;gap:12vw;padding-top:17vw;padding-bottom:18vw}
  .hero h1{font-size:clamp(56px,16.5vw,90px);margin-bottom:30px}
  .hero .dek{font-size:20px;line-height:1.5}
  .hero-side{border-left:0;border-top:1px solid var(--line);padding:26px 0 0}
  .hero-side .item{font-size:24px}
  .headline{font-size:clamp(44px,13vw,76px)}
  .copy{font-size:18px;line-height:1.69}
  .split,.split.reverse,.sectors,.discipline{grid-template-columns:1fr;gap:46px}
  .uses{grid-template-columns:1fr}
  .sector-row{grid-template-columns:72px 1fr;gap:16px}
  .source-prototype-footer{flex-direction:column;align-items:flex-start}
  .source-prototype-footer img{width:230px}
}



/* HAWTHORNE SHARED SITE SHELL v0.1 — header/.source-prototype-footer only; page narrative/layout below remains source-controlled */
.hes-skip{position:fixed;left:14px;top:10px;transform:translateY(-180%);z-index:500;background:#efe9dd;color:#181816;padding:10px 14px;font:700 12px/1.2 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;text-decoration:none;border:1px solid #b78b4b}
.hes-skip:focus{transform:translateY(0)}
.site-header{box-sizing:border-box;height:90px;min-height:90px;background:#10385f;border-bottom:1px solid rgba(210,176,118,.58);display:grid;grid-template-columns:248px minmax(0,1fr) auto;align-items:center;gap:28px;padding:0 4.2vw;position:sticky;top:0;z-index:180}
.site-header .brand{display:flex;align-items:center;min-width:0}
.site-header .brand img{display:block;width:248px;max-width:100%;height:auto}
.site-header .nav{display:flex;justify-content:center;align-items:center;gap:28px;flex-wrap:nowrap;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;font-size:10px;line-height:1.2;letter-spacing:.15em;text-transform:uppercase;color:#dce6ef;white-space:nowrap;min-width:0}
.site-header .nav a{color:#dce6ef;opacity:.76;position:relative;text-decoration:none}
.site-header .nav a:hover,.site-header .nav a:focus-visible{opacity:1;color:#fff}
.site-header .nav a[aria-current="page"]{opacity:1;color:#d2b076}
.site-header .nav a[aria-current="page"]::after{content:"";position:absolute;left:0;right:.15em;bottom:-12px;height:1px;background:#d2b076}
.site-header .contact-link{border:1px solid rgba(210,176,118,.8);padding:13px 18px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;font-size:10px;line-height:1.2;letter-spacing:.17em;text-transform:uppercase;white-space:nowrap;color:#d2b076;text-decoration:none}
.site-header .contact-link:hover,.site-header .contact-link:focus-visible{background:rgba(210,176,118,.08);color:#f5f0e7}
.site-header .contact-link[aria-current="page"]{background:rgba(210,176,118,.10);color:#f5f0e7}
.site-header .menu-btn{display:none;background:transparent;border:1px solid rgba(210,176,118,.75);color:#f5f0e7;padding:10px 12px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;font-size:10px;line-height:1.2;letter-spacing:.14em;text-transform:uppercase;cursor:pointer}
.site-header .mobile-panel{display:none;position:absolute;left:0;right:0;top:72px;background:#0b2e50;border-top:1px solid rgba(210,176,118,.35);border-bottom:1px solid rgba(210,176,118,.5);padding:18px 6vw 22px;z-index:181}
.site-header .mobile-panel.open{display:grid;grid-template-columns:1fr;justify-content:stretch;align-items:stretch;gap:0;flex-wrap:nowrap}
.site-header .mobile-panel a{display:block;width:100%;padding:13px 0;border-bottom:1px solid rgba(255,255,255,.1);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;font-size:10px;line-height:1.2;letter-spacing:.14em;text-transform:uppercase;color:#e1e8ee;text-decoration:none}
.site-header .mobile-panel a:last-child{border-bottom:0}
.site-header .mobile-panel a[aria-current="page"]{color:#d2b076}
body.menu-open{overflow:hidden}
.site-footer{box-sizing:border-box;min-height:150px;height:auto;background:#10385f;border-top:1px solid rgba(210,176,118,.5);padding:34px 5vw;display:flex;justify-content:space-between;align-items:center;gap:30px}
.site-footer .footer-brand{display:flex;align-items:center}
.site-footer .footer-brand img{width:220px;max-width:100%;height:auto;display:block}
.site-footer .footer-note{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;font-size:9px;line-height:1.45;letter-spacing:.15em;text-transform:uppercase;color:#a8b6c3;text-align:right}
@media(max-width:1280px){
 .site-header{grid-template-columns:220px minmax(0,1fr) auto;gap:18px;padding:0 3vw}.site-header .brand img{width:220px}.site-header .nav{gap:17px;font-size:9.5px;letter-spacing:.13em}.site-header .contact-link{padding:12px 15px;font-size:9.5px}
}
@media(max-width:1100px){
 .site-header{grid-template-columns:190px minmax(0,1fr) auto;gap:12px;padding:0 2.2vw}.site-header .brand img{width:190px}.site-header .nav{gap:10px;font-size:9px;letter-spacing:.09em}.site-header .contact-link{padding:11px 12px;font-size:9px;letter-spacing:.12em}
}
@media(max-width:1000px){
 .site-header{height:72px;min-height:72px;grid-template-columns:1fr auto;gap:18px;padding:0 5vw}.site-header .brand img{width:184px}.site-header .nav,.site-header .contact-link{display:none}.site-header .menu-btn{display:block}.site-footer{padding:32px 6vw;flex-direction:column;align-items:flex-start}.site-footer .footer-brand img{width:205px}.site-footer .footer-note{text-align:left}
}
@media(max-width:560px){.site-header .brand img{width:184px}.site-header .menu-btn{padding:10px 11px}.site-footer{min-height:132px}}

/* HA-04R-A Process Imprint — controlled Applications hero integration v0.4.4.
   Source master is preserved unchanged; page behavior is crop/position/veil only. */
.applications-hero-visual{
  isolation:isolate;
  overflow:hidden;
  background:#17191b;
}
.applications-hero-visual::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  background-image:url('../images/applications/ha-04r-a-process-imprint-refined-master.webp');
  background-size:cover;
  background-position:72% 48%;
  background-repeat:no-repeat;
  transform:scale(1.015);
}
.applications-hero-visual::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:
    linear-gradient(90deg,
      rgba(12,16,20,.96) 0%,
      rgba(12,16,20,.90) 34%,
      rgba(12,16,20,.64) 58%,
      rgba(12,16,20,.28) 79%,
      rgba(12,16,20,.18) 100%),
    linear-gradient(180deg,
      rgba(10,13,16,.20) 0%,
      rgba(10,13,16,.05) 56%,
      rgba(10,13,16,.55) 100%);
}
.applications-hero-visual > *{position:relative;z-index:1}
.applications-hero-visual .hero-side{
  border-left-color:rgba(205,219,228,.28);
  background:linear-gradient(90deg,rgba(12,17,21,.26),rgba(12,17,21,.48));
  backdrop-filter:blur(1.5px);
}
.applications-hero-visual .hero-side .label{color:#c3cbd1}
.applications-hero-visual .hero-side .item{
  border-color:rgba(230,236,239,.14);
  color:#eeeae2;
  text-shadow:0 1px 10px rgba(0,0,0,.28);
}
.applications-hero-visual .kicker{color:#c9a66e}
.applications-hero-visual h1,
.applications-hero-visual .dek{text-shadow:0 2px 20px rgba(0,0,0,.42)}

@media(max-width:980px){
  .applications-hero-visual{
    padding-top:13vw;
    padding-bottom:14vw;
    gap:8vw;
  }
  .applications-hero-visual::before{
    background-size:auto 112%;
    background-position:68% 47%;
    transform:none;
  }
  .applications-hero-visual::after{
    background:
      linear-gradient(180deg,
        rgba(11,15,18,.60) 0%,
        rgba(11,15,18,.72) 44%,
        rgba(11,15,18,.84) 72%,
        rgba(11,15,18,.94) 100%),
      linear-gradient(90deg,
        rgba(11,15,18,.78) 0%,
        rgba(11,15,18,.50) 58%,
        rgba(11,15,18,.24) 100%);
  }
  .applications-hero-visual h1{
    font-size:clamp(54px,15.2vw,82px);
    line-height:.90;
    margin-bottom:26px;
  }
  .applications-hero-visual .dek{
    max-width:31rem;
    font-size:19px;
    line-height:1.48;
  }
  .applications-hero-visual .hero-side{
    margin-top:2vw;
    padding:24px 0 0;
    border-left:0;
    border-top:1px solid rgba(201,166,110,.46);
    background:none;
    backdrop-filter:none;
  }
  .applications-hero-visual .hero-side .label{margin-bottom:18px}
  .applications-hero-visual .hero-side .item{
    padding:14px 0;
    font-size:22px;
    line-height:1.16;
  }
}

@media(max-width:560px){
  .applications-hero-visual{
    padding-top:12vw;
    padding-bottom:13vw;
    gap:7vw;
  }
  .applications-hero-visual::before{
    background-size:auto 108%;
    background-position:70% 48%;
  }
  .applications-hero-visual h1{
    font-size:clamp(52px,14.8vw,72px);
  }
  .applications-hero-visual .dek{
    font-size:18px;
    line-height:1.46;
  }
  .applications-hero-visual .hero-side .item{font-size:21px}
}
