:root{
  --navy:#071323;
  --navy-2:#0d1f38;
  --blue:#1B2A4E;
  --blue-bright:#324c82;
  --teal:#26c6c9;
  --teal-deep:#138086;
  --amber:#f0a516;
  --paper:#F7F3EA;
  --paper-2:#FBF8F1;
  --ink:#1d2433;
  --muted:#5b6577;
  --line:#e3ddcf;
  --white:#fff;
  --cream:#fff7e8;
  --maxw:1500px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"Newsreader", Georgia, serif;font-size:19px;line-height:1.62;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:var(--teal-deep);text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:3px}
h1,h2,h3,h4{font-family:"Instrument Serif", Georgia, serif;font-weight:400;line-height:1.04;color:var(--blue);margin:0}
.wrap{width:min(var(--maxw), calc(100% - 56px));margin-inline:auto}
.mono,.eyebrow,.btn,.nav-links a,.smallcap,.status{font-family:"IBM Plex Mono", ui-monospace, monospace}
.eyebrow{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--teal-deep);font-weight:600}.hero .eyebrow{color:#58e1e3}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:3px;border:1px solid transparent;padding:14px 21px;font-size:12px;line-height:1;letter-spacing:.08em;text-transform:uppercase;transition:.18s ease;box-shadow:0 0 0 rgba(38,198,201,0)}.btn:hover{text-decoration:none;transform:translateY(-1px)}.btn-primary{background:linear-gradient(135deg,#26c6c9,#168b91);color:#fff;box-shadow:0 10px 26px rgba(38,198,201,.18)}.btn-primary:hover{box-shadow:0 12px 34px rgba(38,198,201,.3)}.btn-ghost{border-color:rgba(209,230,244,.52);color:#f2f7ff;background:rgba(9,25,46,.32)}.btn-ghost:hover{border-color:var(--amber);color:#fff}.btn-ghost.dark{border-color:rgba(255,255,255,.28);color:#f2f7ff}.btn-outline{border-color:#d7d0bf;color:var(--blue);background:rgba(255,255,255,.52)}.btn-outline:hover{border-color:var(--teal-deep)}.btn-outline.light{border-color:rgba(255,255,255,.34);color:#f7fbff;background:rgba(255,255,255,.06)}.btn-outline.light:hover{border-color:var(--amber)}
.hero{min-height:92vh;background:radial-gradient(95% 105% at 77% 17%, #183765 0%, #0d1f38 40%, #071323 100%);color:#e9e3d6;position:relative;overflow:hidden;border-bottom:1px solid rgba(255,255,255,.1)}.hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(131,178,209,.08) 1px, transparent 1px),linear-gradient(90deg, rgba(131,178,209,.08) 1px, transparent 1px),linear-gradient(rgba(131,178,209,.035) 1px, transparent 1px),linear-gradient(90deg, rgba(131,178,209,.035) 1px, transparent 1px);background-size:64px 64px,64px 64px,16px 16px,16px 16px;mask-image:radial-gradient(circle at 63% 33%, #000 0%, rgba(0,0,0,.88) 55%, rgba(0,0,0,.35) 100%)}.hero:after{content:"";position:absolute;inset:-20%;opacity:.07;pointer-events:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");animation:grain 9s steps(7) infinite}.nav{position:relative;z-index:5}.nav-inner{height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:inline-flex;align-items:center;gap:12px}.brand img{display:block;height:36px;width:auto;filter:drop-shadow(0 6px 14px rgba(0,0,0,.28))}.nav-links{display:flex;align-items:center;gap:23px}.nav-links a{color:#d5ddec;font-size:12px;letter-spacing:.11em;text-transform:uppercase}.nav-links a:hover{color:#fff;text-decoration:none}.nav-cta{margin-left:4px}.mobile-only{display:none}.hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.02fr .98fr;gap:58px;align-items:center;padding:58px 0 96px}.hero h1{font-size:clamp(54px,7.6vw,102px);color:#fff9ed;letter-spacing:.25px;margin:15px 0 20px;text-shadow:0 18px 55px rgba(0,0,0,.45)}.hero .sub{font-size:clamp(21px,2.2vw,27px);color:#d9eef7;max-width:34ch;line-height:1.42;margin:0 0 18px}.hero-body{font-size:18.5px;color:#d0d9e8;max-width:44ch;margin:0 0 31px;line-height:1.52}.cta-row{display:flex;gap:14px;flex-wrap:wrap}.byline{font-size:12.5px;color:#aebbd0;letter-spacing:.08em;margin-top:26px}.hero-visual{position:relative;min-height:505px;border:1px solid rgba(218,231,245,.3);background:linear-gradient(145deg, rgba(255,255,255,.095), rgba(255,255,255,.025));box-shadow:0 28px 80px rgba(0,0,0,.38), inset 0 0 70px rgba(38,198,201,.035);overflow:hidden}.hero-visual:before{content:"";position:absolute;inset:16px;border:1px solid rgba(255,255,255,.1);pointer-events:none}.hero-visual:after{content:"";position:absolute;top:-30%;left:-80%;width:65%;height:160%;background:linear-gradient(90deg,transparent,rgba(38,198,201,.14),transparent);transform:rotate(18deg);animation:scan 8s ease-in-out infinite}.visual-label{position:absolute;top:24px;left:26px;color:#ffcf70;font-size:12px;letter-spacing:.18em;text-transform:uppercase}.system-map{position:absolute;inset:0}.axis{position:absolute;height:2px;background:linear-gradient(90deg,transparent,rgba(225,235,245,.7),transparent);transform-origin:left center}.axis-human-ai{width:310px;left:146px;top:230px;transform:rotate(27deg)}.axis-ai-org{width:310px;right:139px;top:230px;transform:rotate(-27deg)}.reality-line{position:absolute;left:72px;right:72px;bottom:97px;height:2px;background:rgba(226,236,246,.8)}.reality-line:after{content:"";position:absolute;left:0;right:0;bottom:-9px;height:9px;background:repeating-linear-gradient(120deg,rgba(226,236,246,.35) 0 1px,transparent 1px 8px)}.node{position:absolute;display:grid;place-items:center;text-align:center;border-radius:50%;background:rgba(7,19,35,.77);z-index:2}.node.big{width:150px;height:150px;border:2px solid rgba(238,246,255,.85);box-shadow:0 0 0 6px rgba(255,255,255,.04),0 0 42px rgba(38,198,201,.14)}.node strong{display:block;font-family:"Instrument Serif",Georgia,serif;font-size:28px;line-height:1;color:#dffcff;text-transform:capitalize;letter-spacing:.03em}.node em{display:block;font-family:"Newsreader",serif;font-size:17px;color:#ffe7bd;margin-top:6px}.node .icon{font-size:28px;color:#a7ffff}.human-node{left:50px;top:122px;border-color:rgba(98,235,235,.88)!important}.org-node{right:40px;top:122px}.ai-node{width:128px;height:128px;left:50%;top:255px;transform:translate(-50%,-50%);border:2px solid var(--amber);box-shadow:0 0 0 6px rgba(240,165,22,.06),0 0 52px rgba(240,165,22,.24);animation:pulse 3.8s ease-in-out infinite}.chip{display:block;font-family:"Instrument Serif",Georgia,serif;font-size:36px;color:#ffd281;line-height:1}.gate{position:absolute;border-left:2px solid rgba(38,198,201,.78);padding-left:13px;z-index:3}.gate span{display:block;font-family:"IBM Plex Mono",monospace;color:#6df5f5;font-size:12px;letter-spacing:.15em;text-transform:uppercase;font-weight:600}.gate small{display:block;color:#e0e8f2;font-size:14px;line-height:1.3;margin-top:5px;max-width:150px}.gate-left{left:52px;bottom:164px}.gate-right{right:26px;bottom:164px}.reality{position:absolute;left:0;right:0;bottom:32px;text-align:center;color:#f4f7fb;font-size:15px;letter-spacing:.18em;text-transform:uppercase}.reality em{display:block;text-transform:none;letter-spacing:.02em;font-family:"Newsreader",serif;font-size:24px;color:#fff0d0;font-style:italic;margin-top:4px}
section{padding:82px 0}.band{background:var(--paper-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.section-grid{display:grid;grid-template-columns:.84fr 1.16fr;gap:58px;align-items:start}.lead{font-size:clamp(30px,3.6vw,46px);line-height:1.1;max-width:19ch;color:var(--blue);margin-top:12px}.prose p{margin:0 0 18px;max-width:66ch}.large-prose p:first-child{font-size:22px;line-height:1.45;color:#26314a}.section-head{max-width:900px;margin-bottom:26px}.section-head h2{font-size:clamp(34px,4.6vw,56px);margin-top:12px;max-width:18ch}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.card{background:#fff;border:1px solid var(--line);border-top:3px solid var(--teal-deep);padding:27px 24px;box-shadow:0 12px 36px rgba(14,22,38,.05);transition:.2s ease}.card:hover{transform:translateY(-3px);box-shadow:0 18px 46px rgba(14,22,38,.09)}.card:nth-child(2){border-top-color:var(--amber)}.card:nth-child(3){border-top-color:var(--blue)}.card h3{font-size:32px;margin:8px 0}.card p{font-size:17px;color:#39424f;margin:0}.card .smallcap{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.card .verb{display:block;margin-top:14px;color:var(--teal-deep);font-size:12px;letter-spacing:.12em;text-transform:uppercase}.diagnostic-section{background:linear-gradient(135deg,#0c1d35,#102746 56%,#071323);color:#e9f2f8;position:relative;overflow:hidden}.diagnostic-section:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px),linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px);background-size:40px 40px}.diagnostic-grid{position:relative;z-index:1;display:grid;grid-template-columns:1fr .9fr;gap:34px;align-items:stretch}.diagnostic-card{border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.065);padding:42px;box-shadow:0 22px 70px rgba(0,0,0,.22)}.diagnostic-card h2{color:#fff9ed;font-size:clamp(38px,5vw,62px);margin:12px 0 20px;max-width:12ch}.diagnostic-card p{color:#d7e3f1;max-width:60ch;margin:0 0 18px}.diagnostic-steps{display:grid;gap:14px}.step{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);padding:20px 22px;position:relative;overflow:hidden}.step:before{content:"";position:absolute;inset:0;width:3px;background:var(--teal)}.step span{font-family:"IBM Plex Mono",monospace;font-size:12px;color:#ffcf70;letter-spacing:.12em}.step strong{display:block;font-family:"Instrument Serif",Georgia,serif;color:#fff;font-size:27px;font-weight:400;margin:3px 0}.step p{color:#cfdcec;margin:0;font-size:16px;line-height:1.42}.paper-panel{background:linear-gradient(160deg,#16203a,#0e1626);color:#e9e3d6;border-radius:5px;padding:48px;display:grid;grid-template-columns:1fr auto;gap:42px;align-items:center;box-shadow:0 24px 60px rgba(14,22,38,.22)}.paper-panel h2{color:#f4efe3;font-size:clamp(34px,4.4vw,54px);margin:10px 0 16px}.paper-panel p{color:#d1dae8;max-width:56ch;margin:0 0 22px}.paper-panel .meta{font-size:11.5px;letter-spacing:.13em;text-transform:uppercase;color:#a5b2c9;margin-bottom:24px}.paper-mark{width:170px;height:220px;border:1px solid rgba(255,255,255,.25);display:grid;place-items:center;background:rgba(255,255,255,.04)}.paper-mark img{width:84px;height:84px}.roadmap-section{background:#f4efe4}.tool-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:32px}.tool{border-left:3px solid var(--teal-deep);background:rgba(255,255,255,.72);padding:20px 20px 22px;box-shadow:0 12px 28px rgba(14,22,38,.04)}.tool:nth-child(2n){border-left-color:var(--amber)}.tool:nth-child(3n){border-left-color:var(--blue)}.tool.live{background:#fff;border-top:1px solid rgba(19,128,134,.3)}.status{display:inline-block;color:var(--teal-deep);font-size:11px;letter-spacing:.14em;text-transform:uppercase;margin-bottom:8px}.tool h3{font-size:26px;margin-bottom:7px}.tool p{font-size:16.5px;color:#3a4554;margin:0;line-height:1.48}.book-section{background:var(--navy);color:#dce7f2;position:relative}.book-section:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 80% 10%,rgba(240,165,22,.12),transparent 34%)}.book-panel{position:relative;display:grid;grid-template-columns:190px 1fr;gap:40px;align-items:stretch}.book-spine{writing-mode:vertical-rl;transform:rotate(180deg);display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.2);color:#ffcf70;letter-spacing:.18em;text-transform:uppercase;font-size:12px;background:rgba(255,255,255,.04)}.book-panel h2{color:#fff9ed;font-size:clamp(38px,5.5vw,66px);max-width:14ch;margin:12px 0 20px}.book-panel p{max-width:66ch;color:#d8e1ee;margin:0 0 18px}.contact{text-align:center}.contact .mail{font-family:"Instrument Serif", Georgia, serif;font-size:clamp(38px,6vw,66px);color:var(--blue);display:inline-block;margin:10px 0}.contact .mail:hover{color:var(--teal-deep);text-decoration:none}.contact p{color:var(--muted);max-width:52ch;margin:6px auto 0}footer{background:var(--navy);color:#aeb8cc;padding:44px 0;font-size:14px}.footer-grid{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}.footer-grid img{height:32px;width:auto}.fine{font-size:11.5px;letter-spacing:.06em;color:#8b98b0}.doc-hero{background:var(--navy);color:#e9e3d6;padding:0 0 58px}.doc-hero .nav{border-bottom:1px solid rgba(255,255,255,.1)}.doc-title{padding:58px 0 0}.doc-title h1{font-size:clamp(44px,6vw,72px);color:#f4efe3;max-width:11ch;margin:12px 0}.doc-title p{font-size:22px;color:#c7cedd;max-width:50ch;margin:0 0 24px}.doc-main{padding:58px 0}.doc-card{background:#fff;border:1px solid var(--line);padding:34px;display:grid;grid-template-columns:1fr auto;gap:28px;align-items:center}.doc-card h2{font-size:34px;margin-bottom:10px}.doc-card p{margin:0 0 18px;color:#39424f}.pdf-frame{width:100%;height:78vh;border:1px solid var(--line);background:#fff;margin-top:34px}
@keyframes scan{0%,22%{transform:translateX(0) rotate(18deg);opacity:0}35%{opacity:1}68%{transform:translateX(310%) rotate(18deg);opacity:.5}100%{transform:translateX(310%) rotate(18deg);opacity:0}}@keyframes pulse{0%,100%{box-shadow:0 0 0 6px rgba(240,165,22,.06),0 0 52px rgba(240,165,22,.24)}50%{box-shadow:0 0 0 12px rgba(240,165,22,.12),0 0 74px rgba(240,165,22,.36)}}@keyframes grain{0%{transform:translate(0,0)}25%{transform:translate(-1%,1%)}50%{transform:translate(1%,-1%)}75%{transform:translate(-1%,-1%)}100%{transform:translate(0,0)}}
@media (max-width:1100px){.nav-links{gap:15px}.nav-links a{font-size:11px}.hero-grid{grid-template-columns:1fr;gap:34px}.hero-visual{min-height:480px;order:-1}.tool-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:920px){.wrap{width:min(100% - 36px, var(--maxw))}.nav-inner{height:auto;padding:18px 0;align-items:flex-start}.nav-links{display:none}.mobile-only{display:inline-flex}.section-grid,.paper-panel,.doc-card,.diagnostic-grid,.book-panel{grid-template-columns:1fr}.hero-grid{padding-top:30px}.cards,.tool-grid{grid-template-columns:1fr}.paper-mark{display:none}.brand img{height:30px}.hero{min-height:auto}.hero-visual{min-height:420px}.node.big{width:122px;height:122px}.node strong{font-size:23px}.node em{font-size:15px}.human-node{left:22px;top:116px}.org-node{right:22px;top:116px}.ai-node{width:112px;height:112px;top:252px}.axis-human-ai{width:250px;left:93px}.axis-ai-org{width:250px;right:85px}.gate{display:none}.reality-line{left:36px;right:36px}.diagnostic-card{padding:30px}.book-spine{writing-mode:horizontal-tb;transform:none;min-height:64px}.doc-main{padding:34px 0}.pdf-frame{height:70vh}}
@media (max-width:560px){body{font-size:18px}.hero-visual{min-height:360px}.visual-label{top:18px;left:18px}.node.big{width:105px;height:105px}.node strong{font-size:20px}.node em{font-size:14px}.human-node{left:12px;top:96px}.org-node{right:12px;top:96px}.ai-node{width:96px;height:96px;top:220px}.chip{font-size:30px}.axis-human-ai,.axis-ai-org{display:none}.reality{font-size:12px}.reality em{font-size:20px}.hero h1{font-size:52px}.paper-panel{padding:31px}.doc-card{padding:24px}}
@media (prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}


/* Hero revision: restore the stronger editorial/blueprint visual using the original diagram asset. */
.hero{background:radial-gradient(120% 130% at 78% 8%,#12305a 0%,#081b32 46%,#031020 100%)}
.hero-grid{grid-template-columns:.86fr 1.14fr;gap:34px;align-items:center;padding:54px 0 64px}
.hero h1{font-size:clamp(58px,6.3vw,88px);max-width:7.4ch;line-height:.96;text-shadow:0 2px 18px rgba(0,0,0,.24)}
.hero .sub{color:#9ee9e7;font-size:clamp(21px,2vw,24px);max-width:34ch}
.hero-body{color:#f2f5fb;max-width:46ch;font-size:18.5px;line-height:1.5}
.byline{color:#b7c6d9}
.hero-visual-image{position:relative;min-height:auto;padding:0;background:transparent;border:0;box-shadow:none;overflow:visible}
.hero-visual-image:after{display:none}
.hero-visual-image img{display:block;width:100%;max-width:980px;height:auto;margin:0 auto;filter:drop-shadow(0 22px 45px rgba(0,0,0,.34)) saturate(1.08) brightness(1.08);}
.nav{background:rgba(3,16,32,.24)}
.nav-links a{color:#e7edf7}.nav-links a:hover{color:#8ff3ef}
.btn-ghost{color:#dffcff;border-color:rgba(153,245,242,.72);background:rgba(4,18,34,.28)}
.btn-ghost:hover{border-color:#f0a516;color:#fff;background:rgba(255,255,255,.05)}

@media (max-width:1100px){.hero-grid{grid-template-columns:1fr}.hero-visual-image{order:-1}.hero h1{max-width:10ch}.hero-visual-image img{max-width:860px}}
@media (max-width:560px){.hero h1{font-size:52px}.hero-visual-image img{width:115%;margin-left:-7.5%}}

/* Patch: use full diagram crop and prevent right-side hero clipping. */
.hero-visual-image{
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:0;
}
.hero-visual-image img{
  width:100%;
  max-width:900px;
  height:auto;
  object-fit:contain;
}
@media (min-width:921px){
  .hero-grid{grid-template-columns:.92fr 1.08fr;gap:42px;}
}
@media (max-width:560px){
  .hero-visual-image img{width:100%;margin-left:0;}
}

/* Desktop hero containment fix: show the complete diagram at full-width breakpoints. */
@media (min-width: 901px){
  .hero .wrap{
    width:min(100% - 64px, 1440px);
  }
  .hero-grid{
    grid-template-columns:minmax(360px,.88fr) minmax(0,1.12fr) !important;
    gap:clamp(28px,3.4vw,64px) !important;
    align-items:center;
  }
  .hero-visual-image{
    width:100% !important;
    max-width:820px !important;
    justify-self:end;
    aspect-ratio:1010 / 640;
    min-height:0 !important;
    height:auto !important;
    overflow:visible !important;
    display:flex !important;
    align-items:center;
    justify-content:center;
  }
  .hero-visual-image img{
    display:block !important;
    width:100% !important;
    height:100% !important;
    max-width:100% !important;
    object-fit:contain !important;
    object-position:center center !important;
  }
}

@media (min-width: 1200px){
  .hero-grid{
    grid-template-columns:minmax(430px,.82fr) minmax(640px,1.18fr) !important;
  }
}

/* Wide desktop correction: remove the narrow centered-page feel and keep the hero art crisp. */
@media (min-width: 901px){
  .hero .wrap{
    width: calc(100% - clamp(48px, 5vw, 120px)) !important;
    max-width: 1780px !important;
    margin-inline: auto !important;
  }
  .hero-grid{
    grid-template-columns: minmax(440px, 0.82fr) minmax(680px, 1.18fr) !important;
    gap: clamp(38px, 4vw, 86px) !important;
    padding-top: clamp(56px, 6vw, 94px) !important;
    padding-bottom: clamp(76px, 7vw, 118px) !important;
  }
  .hero-visual-image{
    max-width: none !important;
    width: 100% !important;
    justify-self: stretch !important;
    aspect-ratio: 1010 / 640;
    overflow: visible !important;
  }
  .hero-visual-image img{
    width: min(100%, 1040px) !important;
    height: auto !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: contain !important;
    object-position: center center !important;
    margin-left: auto !important;
    margin-right: 0 !important;
    transform: translateZ(0);
  }
  .hero h1{
    font-size: clamp(64px, 5.7vw, 104px) !important;
  }
}

@media (min-width: 1600px){
  .hero .wrap{
    width: calc(100% - 120px) !important;
    max-width: 1900px !important;
  }
  .hero-grid{
    grid-template-columns: minmax(520px, 0.78fr) minmax(820px, 1.22fr) !important;
  }
}

@media (min-width: 901px) and (max-width: 1180px){
  .hero-grid{
    grid-template-columns: 1fr !important;
  }
  .hero-visual-image{
    order: -1;
    max-width: 980px !important;
    margin-inline: auto;
  }
  .hero-visual-image img{
    margin-inline: auto !important;
  }
}

/* FINAL DESKTOP HERO FIX: make the hero content full-bleed across the viewport.
   This overrides the earlier centered wrapper constraints that made the hero look tiny on desktop. */
@media (min-width: 1000px){
  .hero{
    min-height: 790px !important;
  }

  .hero .nav-inner{
    width: calc(100vw - clamp(56px, 5vw, 128px)) !important;
    max-width: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .hero .hero-grid{
    width: calc(100vw - clamp(56px, 5vw, 128px)) !important;
    max-width: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
    display: grid !important;
    grid-template-columns: minmax(500px, 0.92fr) minmax(720px, 1.08fr) !important;
    gap: clamp(42px, 4.4vw, 96px) !important;
    align-items: center !important;
    padding-top: clamp(58px, 5.2vw, 92px) !important;
    padding-bottom: clamp(76px, 6vw, 112px) !important;
  }

  .hero-copy{
    width: 100% !important;
    max-width: 720px !important;
    justify-self: start !important;
  }

  .hero h1{
    max-width: 700px !important;
    font-size: clamp(76px, 5.7vw, 118px) !important;
    line-height: .96 !important;
  }

  .hero .sub{
    max-width: 620px !important;
    font-size: clamp(23px, 1.7vw, 29px) !important;
  }

  .hero-body{
    max-width: 610px !important;
    font-size: clamp(18px, 1.1vw, 21px) !important;
  }

  .hero-visual-image{
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    aspect-ratio: auto !important;
    justify-self: stretch !important;
    align-self: center !important;
    overflow: visible !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  .hero-visual-image img{
    display: block !important;
    width: min(100%, 1100px) !important;
    height: auto !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: contain !important;
    object-position: center center !important;
    margin: 0 !important;
    transform: none !important;
    image-rendering: auto !important;
    filter: drop-shadow(0 20px 42px rgba(0,0,0,.36)) saturate(1.08) brightness(1.08) !important;
  }
}

@media (min-width: 1500px){
  .hero .hero-grid{
    grid-template-columns: minmax(560px, 0.9fr) minmax(860px, 1.1fr) !important;
  }
  .hero-visual-image img{
    width: min(100%, 1180px) !important;
  }
}

@media (min-width: 1000px) and (max-width: 1240px){
  .hero .hero-grid{
    grid-template-columns: 1fr !important;
    width: calc(100vw - 56px) !important;
  }
  .hero-visual-image{
    order: -1 !important;
    justify-content: center !important;
  }
  .hero-visual-image img{
    width: min(100%, 980px) !important;
  }
}
