.detail-page-shell {
  --detail-cyan: #33d4df;
  --detail-pink: #ef6fa7;
  --detail-ink: #123b48;
  --detail-pale: #eefbfc;
  padding-top: 74px;
}
.detail-page-shell :is(.skip-link,.detail-skip-link) { position: fixed; z-index: 2000; left: 8px; top: 8px; padding: 9px 15px; background: #fff; color: var(--detail-ink); font-weight: 800; text-decoration: none; transform: translateY(-160%); }
.detail-page-shell :is(.skip-link,.detail-skip-link):focus { transform: none; }
.detail-page-shell .detail-shell-header { position: fixed; inset: 0 0 auto; z-index: 1000; height: 74px; display: flex; align-items: center; gap: 22px; padding: 0 24px; background: rgba(255,255,255,.94); box-shadow: 0 1px 0 rgba(18,59,72,.1); backdrop-filter: blur(12px); transition: height .25s ease; }
.detail-page-shell .detail-shell-header.is-scrolled { height: 64px; }
.detail-page-shell .detail-shell-brand { display: inline-flex; align-items: center; gap: 9px; color: var(--detail-ink); text-decoration: none; font-weight: 800; letter-spacing: .02em; white-space: nowrap; }
.detail-page-shell .detail-shell-mark { display: grid; width: 38px; height: 38px; flex: 0 0 38px; place-items: center; }
.detail-page-shell .detail-shell-mark img { display: block; width: 34px; height: auto; object-fit: contain; filter: brightness(0) saturate(100%) invert(18%) sepia(24%) saturate(1466%) hue-rotate(148deg) brightness(91%) contrast(91%); }
.detail-page-shell .detail-shell-nav { display: flex; align-items: center; gap: clamp(10px,1.25vw,22px); margin-left: auto; }
.detail-page-shell .detail-shell-nav a { color: var(--detail-ink); text-decoration: none; font-size: 12px; font-weight: 700; letter-spacing: .06em; }
.detail-page-shell .detail-shell-tools { display: flex; align-items: center; gap: 8px; }
.detail-page-shell .detail-shell-cta { display: grid; place-items: center; min-width: 84px; min-height: 44px; padding: 0 13px; color: var(--detail-ink); background: var(--detail-pale); text-decoration: none; font-size: 11px; font-weight: 800; }
.detail-page-shell .detail-shell-cta--recruit { background: var(--detail-cyan); }
.detail-page-shell .detail-shell-menu-toggle { display: none; width: 54px; height: 48px; padding: 5px; border: 0; background: transparent; color: var(--detail-ink); font: inherit; font-size: 10px; font-weight: 800; }
.detail-page-shell .detail-shell-menu-toggle i { display: block; width: 24px; height: 2px; margin: 4px auto; background: currentColor; }
.detail-page-shell .detail-shell-menu[hidden] { display: none !important; }
.detail-page-shell .detail-shell-menu { position: fixed; inset: 0; z-index: 1200; }
.detail-page-shell .detail-shell-menu-backdrop { position: absolute; inset: 0; border: 0; background: rgba(12,43,52,.48); }
.detail-page-shell .detail-shell-menu-sheet { position: absolute; inset: 0 0 0 auto; width: min(88vw,420px); padding: 20px; overflow: auto; background: white; }
.detail-page-shell .detail-shell-menu-head { display: flex; align-items: center; justify-content: space-between; }
.detail-page-shell .detail-shell-menu-close { width: 44px; height: 44px; border: 1px solid rgba(18,59,72,.2); border-radius: 50%; background: white; color: var(--detail-ink); font-size: 28px; }
.detail-page-shell .detail-shell-menu nav { display: grid; margin-top: 24px; }
.detail-page-shell .detail-shell-menu nav a { padding: 13px 4px; border-bottom: 1px solid rgba(18,59,72,.12); color: var(--detail-ink); text-decoration: none; font-weight: 750; }
.detail-page-shell .detail-shell-menu-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 22px; }
.detail-page-shell.detail-shell-menu-open { overflow: hidden; }
.detail-page-shell .detail-shell-footer { position: relative; padding: 64px 24px 28px; overflow: hidden; color: #eaf8fa; background: #102f39; }
.detail-page-shell .detail-shell-footer-inner { width: min(1120px,100%); margin: 0 auto; }
.detail-page-shell .detail-shell-footer-top { display: grid; grid-template-columns: 1.4fr .7fr .7fr; gap: 42px; }
.detail-page-shell .detail-shell-footer .detail-shell-brand { color: white; font-size: 22px; }
.detail-page-shell .detail-shell-footer .detail-shell-mark img { filter: none; }
.detail-page-shell .detail-shell-footer-description { max-width: 520px; margin: 20px 0; line-height: 1.9; }
.detail-page-shell .detail-shell-company { color: #c5dde1; }
.detail-page-shell .detail-shell-footer-nav { display: grid; grid-template-columns: 1fr 1fr; gap: 9px 24px; }
.detail-page-shell .detail-shell-footer-nav a,.detail-page-shell .detail-shell-footer-actions a { color: #eaf8fa; text-decoration: none; }
.detail-page-shell .detail-shell-footer-actions { display: grid; align-content: start; gap: 10px; }
.detail-page-shell .detail-shell-footer-actions > a { min-height: 48px; display: flex; align-items: center; justify-content: space-between; padding: 0 16px; border: 1px solid rgba(255,255,255,.2); }
.detail-page-shell .detail-shell-footer-bottom { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 22px; margin-top: 44px; padding-top: 22px; border-top: 1px solid rgba(255,255,255,.14); }
.detail-page-shell .detail-shell-policy { display: inline-flex; align-items: center; min-height: 44px; border: 0; padding: 8px 0; color: #c5dde1; background: transparent; font: inherit; font-size: 12px; text-decoration: none; }
.detail-page-shell .detail-shell-footer small { margin-right: auto; }
.detail-page-shell .credits { flex-basis: 100%; color: #c5dde1; font-size: 13px; }
.detail-page-shell .credits a { color: white; }
.detail-page-shell .detail-shell-page-top { position: absolute; right: 20px; bottom: 18px; z-index: 30; display: inline-flex; align-items: center; gap: 8px; min-width: 116px; min-height: 44px; color: white; text-decoration: none; }
.detail-page-shell .detail-shell-page-top b { display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid var(--detail-cyan); border-radius: 50%; }
.detail-page-shell :is(a,button):focus-visible { outline: 3px solid #ff4f9a; outline-offset: 3px; }
.policy-page-shell .policy-main { color: var(--detail-ink); background: linear-gradient(180deg,#eefbfc 0 300px,#fff 300px); }
.policy-page-shell .policy-hero { width: min(960px,calc(100% - 48px)); margin: 0 auto; padding: 78px 0 58px; }
.policy-page-shell .policy-breadcrumb { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 54px; color: #52727b; font-size: 12px; font-weight: 700; letter-spacing: .08em; }
.policy-page-shell .policy-breadcrumb a { color: inherit; text-decoration: none; }
.policy-page-shell .policy-eyebrow { margin: 0 0 12px; color: #16899e; font-size: 12px; font-weight: 800; letter-spacing: .2em; }
.policy-page-shell .policy-hero h1 { max-width: 100%; margin: 0; color: var(--detail-ink); font: 800 clamp(36px,6vw,72px)/1.05 Poppins,sans-serif; overflow-wrap: anywhere; }
.policy-page-shell .policy-title-ja { margin: 18px 0 0; color: #52727b; font-size: 15px; font-weight: 700; }
.policy-page-shell .policy-content { width: min(820px,calc(100% - 48px)); margin: 0 auto; padding: 72px 0 120px; }
.policy-page-shell .policy-content section { margin-top: 58px; }
.policy-page-shell .policy-content h2 { margin: 0 0 22px; padding-bottom: 13px; border-bottom: 1px solid #cfe4e8; color: var(--detail-ink); font-size: clamp(20px,2.6vw,28px); line-height: 1.5; }
.policy-page-shell .policy-content h3 { margin: 30px 0 14px; color: #176d7c; font-size: 17px; line-height: 1.6; }
.policy-page-shell .policy-content p,.policy-page-shell .policy-content li { line-height: 1.95; overflow-wrap: anywhere; }
.policy-page-shell .policy-content p { margin: 0 0 18px; }
.policy-page-shell .policy-content ul,.policy-page-shell .policy-content ol { margin: 0 0 24px; padding-left: 1.5em; }
.policy-page-shell .policy-content li + li { margin-top: 7px; }
.policy-page-shell .policy-content a { color: #08778d; text-decoration: underline; text-underline-offset: 3px; }
.policy-page-shell .policy-effective-date { margin-top: 72px; text-align: right; font-weight: 700; }
.policy-page-shell .policy-related { margin-top: 48px; padding-top: 32px; border-top: 1px solid #cfe4e8; }
.policy-page-shell .policy-related a { display: inline-flex; min-height: 48px; align-items: center; gap: 18px; padding: 0 20px; border: 1px solid #16899e; text-decoration: none; font-size: 13px; font-weight: 800; }
@media (max-width:1199px) { .detail-page-shell .detail-shell-nav { display: none; } .detail-page-shell .detail-shell-menu-toggle { display: block; } .detail-page-shell .detail-shell-tools { margin-left: auto; } }
@media (max-width:767px) { .detail-page-shell { padding-top: 60px; } .detail-page-shell .detail-shell-header { height: 60px; gap: 4px; padding: 0 8px; } .detail-page-shell .detail-shell-header.is-scrolled { height: 54px; } .detail-page-shell .detail-shell-brand { gap: 5px; font-size: 13px; } .detail-page-shell .detail-shell-mark { width: 30px; height: 30px; flex-basis: 30px; } .detail-page-shell .detail-shell-mark img { width: 28px; } .detail-page-shell .detail-shell-tools { gap: 2px; } .detail-page-shell .detail-shell-menu-toggle { width: 48px; height: 50px; } .detail-page-shell .detail-shell-cta { min-width: 66px; min-height: 44px; padding: 0 7px; font-size: 9px; } .detail-page-shell .detail-shell-footer { padding: 48px 20px 92px; } .detail-page-shell .detail-shell-footer-top { grid-template-columns: 1fr; gap: 30px; } .detail-page-shell .detail-shell-footer-nav { grid-template-columns: 1fr 1fr; } .detail-page-shell .detail-shell-footer-bottom { align-items: flex-start; flex-direction: column; padding-right: 120px; } .detail-page-shell .credits { line-height: 1.7; } .policy-page-shell .policy-hero { width: calc(100% - 40px); padding: 52px 0 44px; } .policy-page-shell .policy-breadcrumb { margin-bottom: 38px; } .policy-page-shell .policy-hero h1 { font-size: clamp(32px,11vw,46px); } .policy-page-shell .policy-content { width: calc(100% - 40px); padding: 54px 0 88px; } .policy-page-shell .policy-content section { margin-top: 46px; } .policy-page-shell .policy-content h2 { font-size: 20px; } .policy-page-shell .policy-effective-date { text-align: left; } }
@media (prefers-reduced-motion:reduce) { .detail-page-shell *, .detail-page-shell *::before, .detail-page-shell *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; } }

/* CodeName command theme — shared by service, contact, entry and policy pages. */
.detail-page-shell {
  --detail-cyan: #27c4e8;
  --detail-pink: #f04489;
  --detail-ink: #edf8fb;
  --detail-pale: #0d3041;
  color: #dcebf1;
  background:
    radial-gradient(circle at 84% 12%,rgba(39,196,232,.11),transparent 24rem),
    radial-gradient(circle at 12% 44%,rgba(240,68,137,.07),transparent 22rem),
    #071a27;
}
.detail-page-shell:before {
  content: "";
  position: fixed;
  z-index: -1;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(rgba(90,184,215,.035) 1px,transparent 1px) 0 0/100% 40px,linear-gradient(90deg,rgba(90,184,215,.025) 1px,transparent 1px) 0 0/40px 100%;
}
.detail-page-shell .detail-shell-header,
.detail-page-shell .detail-shell-header.is-scrolled {
  color: #fff;
  background: rgba(5,20,31,.9);
  box-shadow: 0 1px 0 rgba(121,200,227,.18),0 15px 35px rgba(0,0,0,.18);
}
.detail-page-shell .detail-shell-brand,
.detail-page-shell .detail-shell-nav a { color: #f2f9fb; }
.detail-page-shell .detail-shell-mark img { filter: none; }
.detail-page-shell .detail-shell-nav a:hover { color: var(--detail-cyan); }
.detail-page-shell .detail-shell-cta { color: #fff; background: #b82663; }
.detail-page-shell .detail-shell-cta--recruit { color: #fff; background: #087f9e; }
.detail-page-shell .detail-shell-menu-toggle { color: #fff; }
.detail-page-shell .detail-shell-menu-sheet { color: #fff; background: linear-gradient(145deg,#071a28,#0d3445); }
.detail-page-shell .detail-shell-menu-close { color: #fff; border-color: rgba(126,203,229,.28); background: #0b2b3b; }
.detail-page-shell .detail-shell-menu nav a { color: #edf8fb; border-color: rgba(126,203,229,.18); }

.detail-page-shell main,
.detail-page-shell .main,
.detail-page-shell .section { color: #dcebf1; background: transparent; }
.detail-page-shell .page-title { color: #fff; background: linear-gradient(150deg,#0b2b3a,#071924); }
.detail-page-shell .page-title .heading { padding-top: 82px; padding-bottom: 70px; background: radial-gradient(circle at 80% 20%,rgba(39,196,232,.14),transparent 22rem); }
.detail-page-shell .page-title h1 { color: #fff; text-shadow: 0 0 30px rgba(39,196,232,.12); }
.detail-page-shell .page-title p { color: #b7cdd6; }
.detail-page-shell .breadcrumbs { color: #a9c4cf; background: rgba(4,18,28,.7); border-top: 1px solid rgba(116,197,224,.12); }
.detail-page-shell .breadcrumbs a { color: #58d5f2; }
.detail-page-shell :is(.service-details,.contact,.starter-section,.policy-content) { background: transparent; }
.detail-page-shell :is(.service-box,.service-item,.help-box,.info-item,.php-email-form,.contact-form,.entry-form) {
  color: #eaf6f9;
  border: 1px solid rgba(102,193,224,.2);
  background: linear-gradient(150deg,rgba(14,48,64,.96),rgba(7,27,41,.98));
  box-shadow: 0 18px 46px rgba(0,0,0,.23);
}
.detail-page-shell :is(.service-box-heading,.service-section-heading,.service-item-heading,.section-title h2,.contact h3) { color: #f4fafc; }
.detail-page-shell :is(.service-details p,.service-details li,.service-item p,.contact p,.contact label) { color: #b9ced7; }
.detail-page-shell .services-list a { color: #c9dde5; border-color: rgba(108,196,225,.15); background: rgba(7,30,44,.62); }
.detail-page-shell .services-list a:hover,
.detail-page-shell .services-list a.active { color: #fff; background: #0c7794; }
.detail-page-shell .service-details .services-img { width:100%; aspect-ratio:16/9; object-fit:cover; object-position:center; border: 1px solid rgba(110,199,228,.22); border-radius:4px 30px 4px 4px; filter: saturate(.74) brightness(.72); box-shadow: 0 22px 55px rgba(0,0,0,.35); }
.detail-page-shell .service-item .icon,
.detail-page-shell .service-coverage i,
.detail-page-shell .service-details li i { color: var(--detail-cyan); }
.detail-page-shell .call-to-action:before { content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(90deg,rgba(4,20,30,.88),rgba(4,20,30,.5)); }
.detail-page-shell .call-to-action .container { position:relative; z-index:2; }
.detail-page-shell .call-to-action img { filter:saturate(.68) brightness(.62); }
.detail-page-shell :is(input,select,textarea) { color: #f2f9fb!important; border-color: rgba(113,196,224,.28)!important; background: #0a2939!important; }
.detail-page-shell :is(input,select,textarea)::placeholder { color: #83a3b0; }

.policy-page-shell .policy-main { color: #dcebf1; background: transparent; }
.policy-page-shell .policy-hero { border-bottom: 1px solid rgba(112,198,227,.16); }
.policy-page-shell .policy-breadcrumb,
.policy-page-shell .policy-title-ja { color: #9db8c3; }
.policy-page-shell .policy-eyebrow { color: var(--detail-cyan); }
.policy-page-shell .policy-hero h1,
.policy-page-shell .policy-content h2 { color: #f2f9fb; }
.policy-page-shell .policy-content h2,
.policy-page-shell .policy-related { border-color: rgba(112,198,227,.2); }
.policy-page-shell .policy-content h3,
.policy-page-shell .policy-content a { color: #50d0ee; }
.policy-page-shell .policy-content { color: #bfd2da; }
.detail-page-shell .detail-shell-footer { background: linear-gradient(155deg,#061722,#030d14); }

/* Continuation: responsive approved photography and existing help icon panel. */
.detail-page-shell .service-responsive-picture{display:block;width:100%}
.detail-page-shell .help-box .help-icon{
  display:grid;place-items:center;width:64px;height:64px;flex:0 0 64px;
  margin-bottom:16px;border:1px solid rgba(102,193,224,.4);border-radius:16px;
  background:linear-gradient(145deg,rgba(39,196,232,.14),rgba(7,27,41,.75));
  color:var(--detail-cyan);box-shadow:0 0 22px rgba(39,196,232,.16),inset 0 0 16px rgba(39,196,232,.08);
}
@media(min-width:1200px){
 .detail-page-shell .detail-shell-header{gap:16px;padding-inline:20px}
 .detail-page-shell .detail-shell-nav{gap:clamp(8px,.9vw,16px)}
 .detail-page-shell .detail-shell-nav a{font-size:clamp(10px,.85vw,12px);white-space:nowrap}
}

.detail-page-shell .detail-shell-menu{width:100vw;height:100vh;height:100dvh;bottom:auto}
