/* NEO EARTH — Atelier details / interaction-led editorial polish.
   Deliberate refinement: fewer surfaces, stronger hierarchy, real controls.
   Scope additions only; no edits to the photographic hero or brand PNG. */

:root{--ne-metal:#c2d6df;--ne-azure:#66b7d7;--ne-paper:#edf4f5;--ne-graphite:#0c2431}
#business .service-card{transition:border-color .34s ease,background-color .34s ease,transform .45s cubic-bezier(.2,.7,.2,1)}
#business .service-card:focus-within{border-color:#b1dce9;outline:1px solid rgba(204,236,245,.6);outline-offset:-4px}
#business .service-card .service-top{position:relative;z-index:5}
#business .service-card .service-top .neo-field-open{
  display:inline-flex;align-items:center;justify-content:center;gap:11px;
  min-width:76px;min-height:40px;padding:7px 10px;margin:-6px -10px -10px 0;
  border:1px solid rgba(186,221,235,.34);border-radius:0;background:rgba(5,25,38,.24);
  color:#d6ecf5;font:700 10px/1 'DM Sans',sans-serif;letter-spacing:.16em;
  transition:border-color .2s,background .2s,transform .2s
}
#business .neo-field-open .neo-field-open-glyph{font-size:15px;font-weight:400;line-height:1;transition:transform .24s}
#business .neo-field-open:hover,#business .neo-field-open:focus-visible{
  background:#d6ebf1;color:#113349;border-color:#d6ebf1
}
#business .neo-field-open:hover .neo-field-open-glyph,
#business .neo-field-open:focus-visible .neo-field-open-glyph{transform:translate(2px,-2px)}
#business .service-primary .service-bottom{padding-top:38px}
#business .service-small .service-bottom{padding-top:18px}
#business .service-bottom h3{max-width:22ch}
#business .service-card:focus-within .service-en,
#business .service-card:hover .service-en{color:#d8ecf5}
#business .service-primary:before{font-variant-numeric:tabular-nums}
#business .service-small .mini-icon-illustrated{
  transition:transform .55s cubic-bezier(.2,.7,.2,1),opacity .55s ease
}
@media(hover:hover) and (pointer:fine){
  #business .service-small:hover .mini-icon-illustrated{transform:translateY(-9px);opacity:1}
}

/* Real business detail dialog: a tactile side dossier, not a dead card hover. */
.neo-field-dialog{
  position:fixed;inset:0 0 0 auto;width:min(580px,100vw);height:100dvh;
  max-height:100dvh;max-width:100vw;margin:0;padding:0;border:0;
  background:#e7eff2;color:#0c283b;overflow-y:auto;overflow-x:hidden;
  box-shadow:-32px 0 90px rgba(0,10,20,.37);overscroll-behavior:contain
}
.neo-field-dialog::backdrop{background:rgba(2,9,17,.72);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.neo-field-dialog[open] .neo-field-sheet{animation:neo-atelier-sheet-in .52s cubic-bezier(.18,.75,.2,1) both}
@keyframes neo-atelier-sheet-in{from{opacity:.65;transform:translateX(36px)}to{opacity:1;transform:translateX(0)}}
.neo-field-sheet{min-height:100%;display:flex;flex-direction:column;
  background:radial-gradient(ellipse 75% 55% at 100% 28%,rgba(255,255,255,.94),transparent),#e7eff2}
.neo-field-head{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:25px clamp(22px,5vw,50px);border-bottom:1px solid rgba(29,80,110,.2);
  font:700 10px/1.6 'DM Sans',sans-serif;letter-spacing:.21em;color:#4d798e
}
.neo-field-close{display:inline-flex;gap:12px;align-items:center;min-height:44px;
  border:0;border-bottom:1px solid #91b0bd;padding:6px 0;background:transparent;
  color:#1b4860;font:600 11px 'Noto Sans JP',sans-serif;letter-spacing:.08em}
.neo-field-close span{font-size:24px;font-weight:300}
.neo-field-close:hover{color:#006c9c;border-color:#287ca1}
.neo-field-close:focus-visible{outline:2px solid #287ca1;outline-offset:5px}
.neo-field-body{position:relative;flex:1;padding:clamp(55px,10vh,120px) clamp(24px,6vw,63px) 70px}
.neo-field-body:before{content:"";position:absolute;top:68px;right:9%;width:145px;height:145px;
  border:1px solid rgba(36,93,126,.17);border-radius:50%;transform:scaleY(.58) rotate(-28deg);pointer-events:none}
.neo-field-identity{display:flex;justify-content:space-between;align-items:center;gap:15px;
  padding-bottom:19px;border-bottom:1px solid rgba(41,91,120,.22);
  color:#476e81;font:700 10px/1.7 'DM Sans',sans-serif;letter-spacing:.21em}
.neo-field-index{font-size:13px;color:#145073;letter-spacing:.12em}
.neo-field-category{text-align:right;max-width:65%;overflow-wrap:anywhere}
.neo-field-body h2{position:relative;font-size:clamp(38px,5.1vw,72px);font-weight:800;
  line-height:1.23;letter-spacing:-.075em;margin:43px 0 36px;color:#0c2b3f;text-wrap:balance}
.neo-field-description{font-size:clamp(15px,1.35vw,18px);line-height:2.16;
  max-width:37ch;font-weight:600;color:#375c72;margin:0 0 72px}
.neo-field-rule{display:flex;justify-content:space-between;align-items:center;gap:12px;
  padding-top:21px;border-top:1px solid #82a7ba;color:#37647a;
  font:700 10px 'DM Sans',sans-serif;letter-spacing:.2em}
.neo-field-rule>span:last-child{font-size:23px;font-weight:400}
.neo-field-guidance{font-size:13px;line-height:2.05;color:#466879;margin:22px 0 30px}
.neo-field-contact{display:flex;align-items:center;justify-content:space-between;gap:20px;
  padding:17px 24px;background:#102f42;color:#f2f9fb;min-height:68px;
  font:700 13px 'Noto Sans JP',sans-serif;transition:background .24s}
.neo-field-contact:hover{background:#1b5674}
.neo-field-contact span{font-size:21px}
.neo-field-foot{display:flex;justify-content:space-between;gap:12px;padding:25px clamp(24px,5vw,50px);
  border-top:1px solid rgba(29,80,110,.19);font:600 9px 'DM Sans',sans-serif;
  letter-spacing:.17em;color:#5a7e91}
@media(max-width:640px){
  .neo-field-dialog{inset:auto 0 0;width:100%;height:min(88dvh,780px);max-height:96dvh}
  .neo-field-dialog[open] .neo-field-sheet{animation:neo-atelier-sheet-mobile .38s cubic-bezier(.18,.75,.2,1) both}
  @keyframes neo-atelier-sheet-mobile{from{opacity:.75;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}
  .neo-field-head{padding:17px 22px}
  .neo-field-body{padding:38px 25px 48px}
  .neo-field-body:before{top:45px;width:95px;height:95px}
  .neo-field-body h2{font-size:clamp(34px,10vw,52px);margin:36px 0 26px}
  .neo-field-description{margin-bottom:46px}
  .neo-field-foot{padding:16px 23px}
  #business .service-card .service-top .neo-field-open{min-width:73px;min-height:40px;margin:-7px -6px -6px 0}
}
@media(prefers-reduced-motion:reduce){
  .neo-field-dialog[open] .neo-field-sheet{animation:none!important}
  #business .neo-field-open,#business .neo-field-open .neo-field-open-glyph,
  #business .service-small .mini-icon-illustrated{transition:none!important;transform:none!important}
}

/* Chapter rail appears ONLY where there is enough unused outer margin. */
.neo-atelier-rail{display:none}
@media(min-width:1680px){
  .neo-atelier-rail{
    position:fixed;z-index:70;left:26px;top:50%;width:100px;
    display:flex;flex-direction:column;gap:26px;transform:translateY(-48%);
    opacity:0;visibility:hidden;pointer-events:none;color:#d8eaf0;
    transition:opacity .45s ease,visibility .45s ease
  }
  .neo-atelier-rail.is-present{opacity:1;visibility:visible;pointer-events:auto}
  .neo-atelier-rail-label{font:700 9px/1.5 'DM Sans',sans-serif;letter-spacing:.2em;
    writing-mode:vertical-rl;transform:rotate(180deg);height:145px;margin-left:8px}
  .neo-atelier-rail-spine{position:relative;display:flex;flex-direction:column;gap:0}
  .neo-atelier-rail-spine:before{content:"";position:absolute;left:7px;top:14px;bottom:14px;width:1px;
    background:rgba(132,182,204,.26);pointer-events:none}
  .neo-atelier-rail-spine:after{content:"";position:absolute;left:7px;top:14px;width:1px;
    height:calc(var(--neo-rail-stage,0) * 44px);background:#b6dce9;pointer-events:none}
  .neo-atelier-rail a{display:flex;align-items:center;gap:12px;height:44px;min-width:44px;
    font:700 9px 'DM Sans',sans-serif;letter-spacing:.08em;color:inherit;opacity:.65;
    transition:opacity .2s,transform .2s}
  .neo-atelier-rail a:hover,.neo-atelier-rail a:focus-visible,.neo-atelier-rail a.is-current{opacity:1}
  .neo-atelier-rail a:hover{transform:translateX(3px)}
  .neo-atelier-rail-dot{position:relative;z-index:1;display:block;width:15px;height:15px;
    border:1px solid rgba(162,205,225,.54);border-radius:50%;background:#0b1c2a;flex-shrink:0}
  .neo-atelier-rail .is-current .neo-atelier-rail-dot{background:#a3dbea;box-shadow:0 0 0 4px rgba(140,195,219,.12)}
  .neo-atelier-rail-name{white-space:nowrap;max-width:0;opacity:0;overflow:hidden;
    transition:opacity .2s,max-width .3s}
  .neo-atelier-rail .is-current .neo-atelier-rail-name,.neo-atelier-rail a:hover .neo-atelier-rail-name,
  .neo-atelier-rail a:focus-visible .neo-atelier-rail-name{max-width:77px;opacity:1}
  .neo-atelier-rail.is-light{color:#285872}
  .neo-atelier-rail.is-light .neo-atelier-rail-dot{border-color:#668d9e;background:#e9f2f4}
  .neo-atelier-rail.is-light .is-current .neo-atelier-rail-dot{background:#397e9a}
  .neo-atelier-rail.is-light .neo-atelier-rail-spine:before{background:#9cb8c5}
}

/* Editorial contact form step tracker. It is descriptive only. */
#contact .neo-enquiry-stages{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;margin:0 0 36px}
#contact .neo-enquiry-stage{display:flex;flex-direction:column;gap:7px;position:relative;
  padding-top:14px;color:#64889a;border-top:2px solid rgba(89,129,151,.28);
  transition:border-color .25s,color .25s}
#contact .neo-enquiry-stage>span{font:700 11px/1 'DM Sans',sans-serif;letter-spacing:.14em}
#contact .neo-enquiry-stage>b{font:600 11px/1.5 'Noto Sans JP',sans-serif;letter-spacing:.04em}
#contact .neo-enquiry-stage.is-current{color:#123b53;border-top-color:#176a8e}
#contact .neo-enquiry-stage.is-complete:after{
  content:"✓";position:absolute;right:3px;top:10px;font:700 11px 'DM Sans',sans-serif;color:#237da0
}
#contact .form-row{position:relative}
#contact .form-row>label{transition:color .18s}
#contact .form-row:focus-within>label{color:#105c7e;font-weight:800}
#contact .contact-panel{background-image:linear-gradient(138deg,#f5f9f9,#e1edf1 61%,#d9e8ed)}
#contact .form-row input:not([type=checkbox]),#contact .form-row select,#contact .form-row textarea{
  transition:border-color .22s,background .22s,box-shadow .22s}
#contact .form-row:focus-within input:not([type=checkbox]),
#contact .form-row:focus-within select,#contact .form-row:focus-within textarea{background:#fff}
@media(max-width:420px){
  #contact .neo-enquiry-stages{gap:7px;margin-bottom:28px}
  #contact .neo-enquiry-stage>b{font-size:10px;letter-spacing:-.02em}
}

/* Quiet but intentional detail for sections that were still rather flat. */
#strength .strength-list::after{
  content:"";position:absolute;top:43px;bottom:55px;left:0;width:2px;
  background:linear-gradient(180deg,#c6edfa,#478bb3);pointer-events:none;
  transform-origin:top;transform:scaleY(var(--neo-scene-progress,0));
  opacity:.82;transition:transform .2s linear
}
#company .company-details .company-kicker{border-bottom:1px solid rgba(69,115,140,.23);
  padding-bottom:25px;margin-bottom:0}
#company .company-details dl>div{transition:background-color .24s,padding-left .24s}
@media(hover:hover) and (pointer:fine){
  #company .company-details dl>div:hover{background:rgba(255,255,255,.4);padding-left:10px}
}
#recruit .recruit-inner:after{content:"RECRUIT / NEXT CHAPTER";
  position:absolute;bottom:clamp(18px,3.5vw,42px);right:0;
  font:700 10px/1.4 'DM Sans',sans-serif;letter-spacing:.29em;color:#b2d0dc;
  padding-top:15px;border-top:1px solid rgba(170,219,236,.35);
  width:min(35%,260px);text-align:right;pointer-events:none}
#recruit .button-light{transition:background .25s,transform .3s,letter-spacing .3s}
#recruit .button-light:hover{transform:translateY(-2px);letter-spacing:.075em}
#vision .intro-title .gradient-text{text-shadow:none}
.site-footer{position:relative;overflow:hidden}
.site-footer:before{content:"NEO";position:absolute;bottom:-.2em;right:-.03em;
  font:800 clamp(200px,28vw,560px)/1 'DM Sans',sans-serif;letter-spacing:-.1em;
  color:rgba(169,207,226,.025);pointer-events:none}
.site-footer .container{position:relative;z-index:1}
@media(max-width:900px){
  #recruit .recruit-inner:after{position:relative;display:block;bottom:auto;right:auto;margin:52px 0 0 auto;
    max-width:210px;width:auto;font-size:9px}
}
@media(max-width:640px){
  #recruit .recruit-inner:after{margin:35px 0 0 auto}
  #strength .strength-list::after{top:37px;bottom:45px}
  .site-footer:before{font-size:44vw}
}
@media(prefers-reduced-motion:reduce){#strength .strength-list::after{transition:none;transform:scaleY(1)}}


/* 2026-10-11 / Precise navigation, private contact, and editorial cleanup.
   This file loads last so these rules intentionally override older styling. */

/* Explicit hiring and business-enquiry actions, not a vague contact CTA. */
.neo-header .neo-header-actions{
  display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-shrink:0;
}
.neo-header .neo-header-actions .header-contact{
  display:inline-flex;justify-content:space-between;align-items:center;gap:13px;
  min-width:0;min-height:42px;padding:9px 15px;
  border-radius:999px;font-size:11px;font-weight:750;letter-spacing:.07em;
  white-space:nowrap;transition:background .22s,color .22s,border-color .22s,transform .22s;
}
.neo-header .neo-recruit-link{
  color:#e6f4fc;border-color:rgba(168,222,246,.57);
  background:rgba(5,21,37,.4);
}
.neo-header .neo-request-link{
  border-color:#78d3fa;background:linear-gradient(115deg,#97e5fb,#62c9f2);
  color:#08253a;box-shadow:0 6px 28px rgba(19,122,189,.17);
}
.neo-header .neo-recruit-link:hover,
.neo-header .neo-recruit-link:focus-visible{
  background:rgba(118,211,247,.17);color:#fff;border-color:#b4ebff;
}
.neo-header .neo-request-link:hover,
.neo-header .neo-request-link:focus-visible{
  background:#d4f5ff;border-color:#d4f5ff;color:#052538;
}
.neo-header .neo-header-actions .header-contact span{font-size:17px}
@media(min-width:901px) and (max-width:1360px){
  .neo-header .header-inner{gap:clamp(10px,1.25vw,18px)}
  .neo-header .neo-brand-image{width:clamp(180px,18.5vw,250px)}
  .neo-header .desktop-nav{gap:clamp(8px,1vw,15px)}
  .neo-header .desktop-nav a{font-size:10px;letter-spacing:.025em}
  .neo-header .neo-header-actions{gap:6px}
  .neo-header .neo-header-actions .header-contact{font-size:10px;padding:8px 11px;gap:6px;min-height:40px}
}
@media(min-width:901px) and (max-width:1070px){
  /* Preserve both CTAs at laptop widths; secondary nav items remain in the mobile menu. */
  .neo-header .desktop-nav a[href="#strength"]{display:none}
  .neo-header .neo-brand-image{width:clamp(170px,17vw,205px)}
  .neo-header .header-inner{gap:10px}
}
@media(max-width:900px){
  .neo-header .neo-header-actions{display:none}
  .neo-header .mobile-menu .neo-mobile-action{
    font-weight:800;color:#e7f8ff;
    background:linear-gradient(95deg,rgba(51,154,207,.17),rgba(50,159,223,.045));
    border-left:2px solid rgba(138,226,251,.72);
    padding-left:18px;
  }
  .neo-header .mobile-menu .neo-mobile-action i{color:#91e6ff}
}

/* The blue X was a rotated "+" beside the philosophy copy. That visual
   artifact is removed; preserve the editorial rule and intentional spacing. */
#vision .intro-copy-row{display:block;max-width:660px}
#vision .intro-copy-row>div{width:100%;margin:0}
#vision .intro-body>.tiny-label{letter-spacing:.16em}
#vision .intro-title{overflow-wrap:normal}

/* The address stays configured for the mail application, but is never
   printed on the public page. Use calm, useful contact guidance instead. */
#contact .neo-contact-private{
  display:flex;align-items:center;gap:13px;
  margin:36px 0 0;padding:20px 0 0;
  border-top:1px solid rgba(177,215,229,.19);
}
#contact .neo-contact-private>.neo-private-line{
  display:block;flex:0 0 26px;width:26px;height:1px;
  background:linear-gradient(90deg,#62c4ee,rgba(126,211,248,.28));
}
#contact .neo-contact-private p{
  margin:0;max-width:35ch;font-size:13px;line-height:1.85;
  color:#b7d7e7;letter-spacing:.02em;
}
#contact .contact-note{margin-top:18px}
@media(max-width:640px){
  #contact .neo-contact-private{margin-top:24px}
  #contact .neo-contact-private p{font-size:12px}
  #vision .intro-copy-row{max-width:100%}
}

/* Service deep-link fallback: scroll each card below the sticky header.
   JS opens its matching field-notes dialog rather than jumping to BUSINESS. */
#business .service-card[id]{scroll-margin-top:clamp(86px,11vh,130px)}
#business .service-card:target{
  border-color:#9fdef5;
  box-shadow:0 0 0 2px rgba(121,208,246,.24),0 18px 48px rgba(2,14,26,.18);
}

/* First-screen actions: the desktop hero artwork has a printed-in header.
   These accessible real links sit directly below it, without altering the art. */
.ref-hero-actions{display:none}
@media(min-width:901px){
  .ref-desktop-art .ref-hero-actions{
    position:absolute;z-index:9;top:9.4%;right:3%;
    display:flex;align-items:center;gap:9px;
  }
  .ref-hero-actions a{
    display:inline-flex;align-items:center;justify-content:center;gap:17px;
    min-height:40px;padding:9px 15px;border:1px solid rgba(156,218,244,.65);
    border-radius:3px;background:rgba(4,20,35,.75);
    -webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);
    color:#f2fbff;font:700 11px/1.4 'Noto Sans JP',sans-serif;
    letter-spacing:.06em;box-shadow:0 7px 25px rgba(0,5,13,.21);
    transition:background .2s,border-color .2s,transform .2s;
  }
  .ref-hero-actions a:hover,.ref-hero-actions a:focus-visible{
    background:rgba(37,112,163,.9);border-color:#b5ebff;
    transform:translateY(-2px);
  }
  .ref-hero-actions .ref-hero-request{
    background:linear-gradient(110deg,#82d8f6,#45b6e6);border-color:#a4eafd;
    color:#072137;
  }
  .ref-hero-actions .ref-hero-request:hover,
  .ref-hero-actions .ref-hero-request:focus-visible{
    background:#c4f0ff;color:#08263b;
  }
}
@media(min-width:901px) and (max-width:1150px){
  .ref-desktop-art .ref-hero-actions{right:2%;top:10%}
  .ref-hero-actions a{min-height:35px;padding:6px 10px;font-size:10px;gap:9px}
}
@media(prefers-reduced-motion:reduce){
  .ref-hero-actions a{transition:none!important;transform:none!important}
}

/* NEO EARTH / seven-item mobile action navigation.
   Hiring and enquiries are real links in the original swipe strip, not
   decoration or duplicate generic-business links. Icons use the same SVG ink. */
@media(max-width:900px){
  .ref-mobile-services .ref-service-scroll{
    scroll-padding-inline:3vw;
    -webkit-overflow-scrolling:touch;
  }
  .ref-mobile-services .ref-service-action{
    border-right-color:rgba(127,212,247,.3);
  }
  .ref-mobile-services .ref-service-action svg{
    color:#66d5ff;
    stroke-width:1.8;
  }
  .ref-mobile-services .ref-service-action strong{
    color:#f6fcff;
    letter-spacing:.035em;
  }
  .ref-mobile-services .ref-service-action span{
    max-width:15ch;
  }
  .ref-mobile-services .ref-service-action:focus-visible,
  .ref-mobile-services .ref-service-action:hover{
    background:linear-gradient(180deg,rgba(48,153,203,.19),rgba(20,72,116,.08));
  }
  .ref-mobile-services .ref-service-action.neo-swipe-current{
    background:linear-gradient(180deg,rgba(50,167,216,.16),rgba(25,85,136,.035));
    border-bottom-color:#8cddf7;
  }
}

/* NEO EARTH iPhone opening replay: small, visible manual control in the hero.
   A deliberate tap can opt into a short gravity animation when iOS Reduce
   Motion would otherwise bypass it. Preserve the original photo and logo. */
.ref-mobile-replay{display:none}
@media(max-width:900px){
  .ref-mobile-content .ref-mobile-replay{
    display:inline-flex;align-items:center;justify-content:flex-start;gap:8px;
    margin-top:12px;padding:8px 6px;min-height:44px;
    border:0;border-bottom:1px solid rgba(136,209,244,.48);
    background:rgba(2,13,27,.48);border-radius:2px;
    color:#c5ebfb;font:700 10px/1.4 'Noto Sans JP',sans-serif;
    letter-spacing:.065em;cursor:pointer;
    -webkit-tap-highlight-color:rgba(109,203,248,.22);
    touch-action:manipulation;
  }
  .ref-mobile-content .ref-mobile-replay span{
    color:#69ccfa;font-size:17px;line-height:1;
  }
  .ref-mobile-content .ref-mobile-replay:focus-visible{
    outline:2px solid #a2e9ff;outline-offset:3px;
  }
  @media(hover:hover){
    .ref-mobile-content .ref-mobile-replay:hover{background:rgba(19,77,116,.56)}
  }
}

/* NEO EARTH / October 2026 service hierarchy and brighter corporate presentation */

/* NEO EARTH / October 2026 service hierarchy and brighter corporate presentation */
/* Photo artwork and official blue/silver logo remain unchanged. */
/* 01–07 are always the seven BUSINESS cards; the 7 hero links include two actions. */
.neo-mobile-recruit-persistent{display:none}
@media(max-width:900px){
  .neo-header .header-inner,
  .has-reference-hero .site-header .header-inner{
    display:flex;align-items:center;justify-content:space-between;
    gap:clamp(5px,2vw,12px);
    width:calc(100% - 26px);
  }
  .neo-header .neo-brand{flex:0 1 auto;min-width:0;max-width:min(52vw,228px)}
  .neo-header .neo-brand-image{width:clamp(128px,44vw,205px);max-width:100%;height:auto}
  .neo-header .neo-mobile-recruit-persistent{
    display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;
    gap:5px;min-height:38px;padding:7px clamp(9px,2.8vw,15px);
    margin-left:auto;white-space:nowrap;
    background:linear-gradient(124deg,rgba(239,250,255,.93),rgba(176,225,245,.87));
    border:1px solid rgba(240,254,255,.91);border-radius:3px;
    box-shadow:0 5px 20px rgba(2,26,45,.15),inset 0 1px rgba(255,255,255,.84);
    color:#10394f;font:800 12px/1.3 'Noto Sans JP',sans-serif;
    letter-spacing:.04em;
  }
  .neo-header .neo-mobile-recruit-persistent span{color:#207cab;font-size:17px;font-weight:500}
  .neo-header .neo-mobile-recruit-persistent:focus-visible{outline:2px solid #86d8f8;outline-offset:3px}
  .neo-header .menu-toggle,
  .has-reference-hero .site-header .menu-toggle{display:block;flex:0 0 42px;width:42px;height:44px;margin-left:0}
  .neo-header .menu-toggle span{left:9px;right:9px}
  /* Softer photograph grading – text retains its own dark vignette. */
  .has-reference-hero .ref-mobile-backdrop{
    filter:brightness(1.22) saturate(1.13) contrast(.98);
  }
  .has-reference-hero .ref-mobile-vignette{
    background:
      linear-gradient(180deg,rgba(2,15,29,.76) 0%,rgba(3,20,36,.59) 23%,
        rgba(5,25,43,.14) 42%,rgba(3,20,35,.12) 58%,
        rgba(2,13,28,.53) 72%,#0b2336 100%),
      linear-gradient(90deg,rgba(3,17,32,.43) 0%,rgba(3,17,32,.05) 93%);
  }
  .ref-mobile-services{
    background:linear-gradient(180deg,rgba(12,40,61,.96),rgba(8,30,49,.97));
    border-top:1px solid rgba(157,219,247,.48);
    border-bottom:1px solid rgba(157,219,247,.3);
    box-shadow:0 -12px 55px rgba(8,37,64,.13);
  }
  .ref-mobile-services .ref-service strong{color:#f5fdff}
  .ref-mobile-services .ref-service span{color:#d8edf8}
  .ref-mobile-services .ref-service.neo-swipe-current{
    background:linear-gradient(180deg,rgba(95,177,216,.27),rgba(56,122,159,.1));
    border-bottom-color:#a2eaff;
  }
}
@media(max-width:360px){
  .neo-header .neo-brand-image{width:clamp(128px,41vw,160px)}
  .neo-header .neo-mobile-recruit-persistent{
    font-size:11px;min-height:36px;padding:6px 9px;
  }
  .neo-header .menu-toggle{flex-basis:40px;width:40px}
}
/* Render the actual ordered desktop business entrance over the old baked-in
   illustration labels without changing the original approved image. */
@media(min-width:901px){
  .has-reference-hero .ref-full-image{filter:brightness(1.10) contrast(.98) saturate(1.06)}
  .ref-desktop-art .neo-hero-service-dock{
    position:absolute;z-index:8;bottom:1.4%;left:0;right:0;
    min-height:23.5%;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));
    padding:12px 2% 18px;gap:0;
    background:linear-gradient(180deg,rgba(9,30,48,.96),rgba(7,26,43,.985));
    border-top:1px solid rgba(169,222,247,.5);
    box-shadow:0 -9px 40px rgba(8,30,50,.2);
  }
  .neo-hero-service-dock a{
    display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;
    padding:10px 8px;min-width:0;text-align:center;
    border-right:1px solid rgba(157,213,239,.22);
    color:#f3fbff;transition:background-color .2s;
  }
  .neo-hero-service-dock a:last-child{border-right:0}
  .neo-hero-service-dock a:hover,.neo-hero-service-dock a:focus-visible{background:rgba(92,183,225,.17)}
  .neo-hero-service-dock strong{font:700 clamp(11px,1.15vw,17px)/1.5 'Noto Sans JP',sans-serif}
  .neo-hero-service-dock small{font:600 clamp(8px,.7vw,10px)/1.5 'DM Sans',sans-serif;letter-spacing:.14em;color:#a5cadf}
  svg.neo-hero-dock-icon{display:block;width:clamp(30px,3.25vw,44px);height:42px;flex:0 0 42px;stroke:#73d3f7;filter:drop-shadow(0 2px 7px rgba(81,184,222,.12))}
}
@media(max-width:900px){.ref-desktop-art .neo-hero-service-dock{display:none}}
/* Editorial, reflective paper and soft azure instead of heavy charcoal. */
#business.business{
  color:#102f44;
  background:
    radial-gradient(ellipse 45% 36% at 92% 4%,rgba(149,217,244,.37),transparent 82%),
    radial-gradient(ellipse 46% 45% at 4% 82%,rgba(196,221,235,.63),transparent 77%),
    linear-gradient(158deg,#eef6f9 0%,#f9fcfd 46%,#e3eef4 100%);
}
#business .section-top{border-bottom-color:rgba(36,104,140,.2)}
#business .section-ident,#business .section-top>p{color:#3a6981}
#business .section-heading-row h2{color:#0b293d}
#business .section-heading-row .gradient-text{
  background:linear-gradient(112deg,#175a7b,#3a9bc2 60%,#163c56);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
#business .heading-aside{
  color:#3d6276;border-left-color:rgba(56,122,155,.36);
}
#business .service-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(12px,1.6vw,24px)}
#business .service-card{
  color:#12364c;border:1px solid rgba(108,166,192,.4);
  background:linear-gradient(140deg,#fff 0%,#eaf4f8 62%,#e0edf3 100%);
  box-shadow:0 15px 42px rgba(25,73,101,.09),inset 0 1px 0 rgba(255,255,255,.92);
  border-radius:3px;
}
#business .service-card:before{color:rgba(32,107,148,.065)}
#business .service-card .service-top{color:#396b85;border-bottom-color:rgba(56,121,155,.22)}
#business .service-card .service-top:after{background:rgba(56,121,155,.21)}
#business .service-card .service-symbol{color:#2d82aa}
#business .service-card .service-bottom h3{color:#10334a;line-height:1.34}
#business .service-card .service-bottom p{color:#416679;line-height:1.95}
#business .service-card .service-en,
#business .service-card:hover .service-en,
#business .service-card:focus-within .service-en{color:#507990}
#business .service-card .mini-icon-illustrated{color:#348bb6;filter:none;margin-bottom:24px}
#business .service-card .neo-field-open{
  background:rgba(246,252,255,.88);
  border-color:rgba(52,128,167,.42);color:#276281;
}
#business .service-card .neo-field-open:hover,
#business .service-card .neo-field-open:focus-visible{
  background:#174b66;color:#fff;border-color:#174b66;
}
#business .service-primary,
#business .service-primary:nth-child(2),
#business .service-small,
#business .service-wide{
  background:linear-gradient(138deg,#fcfefe 0%,#e7f2f8 65%,#dcecf4 100%);
}
#business .service-card:nth-child(1),
#business .service-card:nth-child(2){
  grid-column:span 6;min-height:390px;
}
#business .service-card:nth-child(2){
  background:
    radial-gradient(circle at 81% 30%,rgba(147,220,245,.65),transparent 47%),
    linear-gradient(132deg,#fff,#e4f4fa 65%,#d5eafa);
  border-color:rgba(60,144,183,.5);
}
#business .service-card:nth-child(1) .mini-icon-illustrated{
  width:65px;height:65px;margin-bottom:15px;
}
#business .service-card:nth-child(1) .mini-icon-illustrated svg{width:64px;height:64px}
#business .service-card:nth-child(1) .service-bottom h3,
#business .service-card:nth-child(2) .service-bottom h3{font-size:clamp(27px,2.7vw,41px)}
#business .service-card:nth-child(2) .water-sphere{opacity:.35;filter:saturate(.75)}
#business .service-card:nth-child(3),
#business .service-card:nth-child(4){grid-column:span 6;min-height:290px}
#business .service-card:nth-child(5),
#business .service-card:nth-child(6){grid-column:span 6;min-height:390px}
#business .service-card:nth-child(7){grid-column:span 12;min-height:225px}
#business .service-card:nth-child(7) .service-bottom{max-width:620px}
#business .service-card:nth-child(7) .mini-icon-illustrated{margin-bottom:8px}
#business .wide-badge{border-color:#5ca8c8;color:#276c8e;background:rgba(248,254,255,.67)}
#business .service-card .service-cta{color:#174d69;border-bottom-color:rgba(34,107,143,.45)}
#business .business-cta{
  background:linear-gradient(123deg,#f7fcfd,#d8ebf3);
  border-color:rgba(85,153,187,.39);box-shadow:0 12px 44px rgba(15,63,87,.07);
}
#business .business-cta h3{color:#10334a}
#business .business-cta p{color:#496c7c}
#business .business-cta-eyebrow{color:#367293}
#business .business-cta-link{
  background:linear-gradient(120deg,#1c6c94,#114b6e);
  color:#fff;border-color:rgba(34,96,132,.9);
}
#business .business-bottom-note{border-top-color:rgba(62,127,157,.25);color:#436c82}
/* Subtle alternating section tones keep NEO EARTH recognizable and easier to read. */
#strength.strength{
  background:linear-gradient(140deg,#d9e9f1 0%,#f6fafc 53%,#e4eef4 100%);
  color:#112f44;
}
#strength .section-ident,#strength .tiny-label,#strength .strength-num{color:#2f779b}
#strength .strength-lead,#strength .strength-item p{color:#3a6074}
#strength .strength-item h3{color:#15394f}
#strength .strength-item{border-top-color:rgba(65,133,165,.29)}
#strength .strength-item:last-child{border-bottom-color:rgba(65,133,165,.29)}
#strength .strength-arrow{color:#2b8caf}
#recruit.recruit{
  background:linear-gradient(132deg,#205c80,#0d3553 52%,#061d33);
}
#recruit .recruit-copy{color:#dfedf5}
@media(max-width:900px){
  #business .service-card:nth-child(1),
  #business .service-card:nth-child(2),
  #business .service-card:nth-child(3),
  #business .service-card:nth-child(4),
  #business .service-card:nth-child(5),
  #business .service-card:nth-child(6),
  #business .service-card:nth-child(7){grid-column:span 12;min-height:245px}
  #business .service-card:nth-child(1),
  #business .service-card:nth-child(2){min-height:325px}
  #business .service-card:nth-child(5),
  #business .service-card:nth-child(6){min-height:335px}
  #business .service-card:nth-child(7){min-height:245px}
  #business .service-card:nth-child(2) .water-sphere{right:-55px;opacity:.24}
  #business .service-card .service-bottom h3{font-size:clamp(21px,6vw,34px)}
  #business .service-card .service-bottom p{font-size:clamp(12px,3.4vw,15px)}
}
@media(max-width:380px){
  #business .service-grid{gap:12px}
  #business .service-card{padding:clamp(18px,5vw,24px)}
  #business .service-card:nth-child(5),
  #business .service-card:nth-child(6){min-height:350px}
  #business .service-card:nth-child(1),
  #business .service-card:nth-child(2){min-height:330px}
  #business .service-card .wide-badge{font-size:8px;max-width:100%;white-space:normal}
}
@media(prefers-reduced-motion:reduce){
  .neo-mobile-recruit-persistent,.neo-hero-service-dock a,#business .service-card{
    transition:none!important;
  }
}


/* NEO EARTH NEWS navigation: compact, still legible alongside fixed hiring. */
.neo-header .desktop-nav .neo-news-nav{color:#aedcf2;white-space:nowrap}
.neo-header .desktop-nav .neo-news-nav:hover,
.neo-header .desktop-nav .neo-news-nav:focus-visible{color:#fff}
.neo-footer-actions .neo-footer-news{
  display:inline-flex;align-items:center;gap:8px;min-height:44px;
  padding:10px 13px;background:rgba(57,124,162,.15);
  border:1px solid rgba(132,198,233,.45);
  color:#c2e8f8;font-size:11px;font-weight:700;white-space:nowrap;
}
@media(min-width:901px) and (max-width:1360px){
  .neo-header .desktop-nav{gap:clamp(5px,.7vw,10px)}
  .neo-header .desktop-nav a{font-size:clamp(9px,.76vw,11px);letter-spacing:0}
}
@media(min-width:901px) and (max-width:1100px){
  .neo-header .desktop-nav a[href="#contact"]{display:none}
}
@media(max-width:900px){
  .neo-footer-actions{flex-wrap:wrap}
  .neo-footer-actions .neo-footer-news{font-size:10px}
}
