/* layout.css */
/* v1.1: 番号・写真・本文を読みやすい2列へ */
body .plan-list {gap:72px;}
body .plan-list .plan-detail:has(.plan-visual) {
 max-width:none;width:100%;margin:0;display:grid;
 grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);
 grid-template-rows:auto 1fr;gap:22px clamp(28px,5vw,72px);
 padding-top:40px;border-top:1px solid #dedede;align-items:start;
}
body .plan-list .plan-detail > .plan-no {
 grid-column:1;grid-row:1;color:#c90032;font:800 42px/1 sans-serif;margin:0;
}
body .plan-list .plan-detail > p:has(.plan-visual),
body .plan-list .plan-detail > .plan-visual {
 grid-column:1;grid-row:2;margin:0;width:100%;min-width:0;
}
body .plan-list .plan-detail > p:empty {display:none;}
body .plan-list .plan-detail > div:not(.plan-no) {
 grid-column:2;grid-row:1 / span 2;min-width:0;
}
body .plan-list .plan-detail .plan-visual {
 display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;
 border-radius:0;filter:none;
}
body .plan-list .plan-detail h2 {
 font-size:clamp(28px,2.7vw,40px);line-height:1.4;margin:14px 0 24px;
 word-break:normal!important;overflow-wrap:normal!important;text-wrap:pretty!important;
}
body .plan-list .plan-detail h2 br {display:none!important;}
body .plan-list .plan-detail h3 {font-size:20px;margin:28px 0 14px;}
body .plan-list .plan-detail p {line-height:1.9;}
body .plan-list .plan-detail .fit {background:#f5f3ee;color:#222;padding:18px 20px;margin-top:24px;}
body .plan-list .choice-guide {width:100%;max-width:none;margin:0;padding:40px;}
@media(max-width:800px) {
 body .plan-list {gap:48px;}
 body .plan-list .plan-detail:has(.plan-visual) {grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto;gap:20px;padding-top:28px;}
 body .plan-list .plan-detail > div:not(.plan-no) {grid-column:1;grid-row:3;}
 body .plan-list .plan-detail h2 {font-size:30px;margin:12px 0 20px;}
 body .plan-list .plan-detail .plan-visual {aspect-ratio:16/10;}
 body .plan-list .choice-guide {padding:28px 24px;}
 body .plan-list .choice-guide h2 {font-size:28px;line-height:1.45;}
}

/* お客様の声：制作実績の導入部分のみ調整 */
body .voice-clients .voice-intro {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
  gap: 0;
  margin-bottom: clamp(36px, 5vw, 64px);
  padding-top: 24px;
  border-top: 1px solid #dedede;
  text-align: left;
}
body .voice-clients .voice-intro > .eyebrow {
  margin: 0 0 18px;
  color: #c90032;
  font-size: 11px;
  line-height: 1.6;
  letter-spacing: .12em;
}
body .voice-clients .voice-intro > h2 {
  margin: 0;
  color: #111;
  font-size: clamp(30px, 3.5vw, 50px);
  font-weight: 800;
  line-height: 1.35;
  letter-spacing: -.035em;
  word-break: normal !important;
  overflow-wrap: normal !important;
  text-wrap: pretty !important;
}
body .voice-clients .voice-intro > h2 br {
  display: none !important;
}
body .voice-clients .voice-intro > p {
  max-width: 48em;
  margin: 22px 0 0;
  color: #454545;
  font-size: 16px;
  line-height: 1.9;
}
@media (max-width: 620px) {
  body .voice-clients .voice-intro { padding-top: 20px; }
  body .voice-clients .voice-intro > .eyebrow { font-size: 10px; margin-bottom: 14px; }
  body .voice-clients .voice-intro > p { font-size: 15px; margin-top: 18px; }
}

/* v1.2.1: desktop navigation readability */
@media (min-width:1101px) {
 body .site-header .nav {gap:14px;}
 body .site-header .nav a {font-size:14px;line-height:1.5;font-weight:700;}
 body .site-header .nav-cta {font-size:14px;line-height:1.5;}
}

/* v1.3: FAQ categories, native accessible accordions */
body .nex-faq-index {display:flex;flex-wrap:wrap;gap:10px;margin:28px 0 48px;}
body .nex-faq-index a {display:block;padding:10px 18px;border:1px solid #ddd;border-radius:30px;font-size:14px;font-weight:700;}
body .nex-faq-index a:hover {border-color:#c90032;color:#c90032;}
body .nex-faq-group {margin-top:48px;scroll-margin-top:120px;}
body .nex-faq-group>h2 {display:flex;align-items:center;gap:14px;margin:0 0 22px;font-size:clamp(24px,3vw,32px);line-height:1.4;}
body .nex-faq-group>h2>span {font-size:14px;color:#c90032;}
body .nex-faq-group summary {display:flex;align-items:baseline;gap:12px;font:700 17px/1.7 var(--sans,sans-serif);padding-right:22px;position:relative;}
body .nex-faq-group summary:before {content:"Q.";color:#c90032;margin:0;flex:none;}
body .nex-faq-group summary:after {content:"+";position:absolute;right:0;color:#c90032;}
body .nex-faq-group details[open] summary:after {content:"−";}
body .nex-faq-group details[open] {border-top-color:#c90032;}
body .nex-faq-group details p {padding:14px 0 0 32px;margin:0;color:#454545;line-height:1.9;}
body .nex-faq-group details p>a {display:block;width:fit-content;margin-top:14px;color:#c90032;font-weight:700;text-decoration:underline;text-underline-offset:4px;}
body .nex-faq-group summary:focus-visible,body .nex-faq-index a:focus-visible {outline:2px solid #c90032;outline-offset:5px;}
@media(max-width:620px) {body .nex-faq-index {gap:8px;margin-bottom:36px;}body .nex-faq-index a {padding:9px 13px;font-size:13px;}body .nex-faq-group {scroll-margin-top:100px;}body .nex-faq-group summary {font-size:16px;}body .nex-faq-group details p {font-size:15px;}}

/* SEO additions share the current studio layout. */
body .page-hero .nex-topic-label {font-size:14px;font-weight:700;line-height:1.6;margin:16px 0 10px;color:#555;}
body .nex-related-links {padding-block:64px;background:#f5f3ee;}
body .nex-related-links h2 {font-size:24px;margin:0 0 24px;line-height:1.5;}
body .nex-related-links nav {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;}
body .nex-related-links a {display:flex;align-items:center;justify-content:space-between;gap:16px;padding:24px;background:#fff;border-bottom:2px solid #c90032;font-weight:700;line-height:1.6;}
body .nex-related-links a span {color:#c90032;}
body .nex-case-evidence {padding-block:72px;background:#f5f3ee;}
body .nex-case-evidence h2 {font-size:clamp(26px,3vw,38px);line-height:1.5;}
body .nex-case-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:32px;}
body .nex-case-grid article {padding:28px;background:#fff;border-top:2px solid #c90032;}
body .nex-case-grid h3 {font-size:18px;line-height:1.6;margin:0 0 20px;}
body .nex-case-grid blockquote {margin:0;color:#454545;line-height:1.9;font-size:15px;}
@media(max-width:800px) {body .nex-related-links nav,body .nex-case-grid {grid-template-columns:1fr;}body .nex-related-links,body .nex-case-evidence {padding-block:48px;}}

body img[width][height] {height:auto;}
body .page-art img,body .step-image img,body .client-capture img,body .work-visual img {height:100%;}
@media(min-width:981px) and (max-width:1279px) {
 body .mobile-menu-panel:not([hidden]) {display:flex;position:fixed;z-index:10000;inset:0;padding:110px 40px 48px;background:#fff;flex-direction:column;overflow:auto;}
 body .mobile-menu-top {display:grid;position:fixed;z-index:10001;top:0;left:0;right:0;height:88px;padding:0 40px;grid-template-columns:46px 1fr 46px;align-items:center;background:#fff;}
 body .mobile-menu-top a {grid-column:2;justify-self:center;width:160px;}
 body .mobile-menu-close {grid-column:1;grid-row:1;width:46px;height:46px;border:0;background:transparent;position:relative;}
 body .mobile-menu-close span {position:absolute;left:10px;top:22px;width:26px;height:2px;background:#111;}
 body .mobile-menu-close span:first-child {transform:rotate(45deg);}body .mobile-menu-close span:last-child {transform:rotate(-45deg);}
 body .mobile-menu-panel>a {padding:14px;border-bottom:1px solid #ddd;font-size:17px;font-weight:700;}
}

/* Keep short trailing fragments out of display headings on desktop too. */
body main .intro h2,body main .page-hero h1,body main .closing h2 {text-wrap:balance!important;word-break:normal!important;overflow-wrap:normal!important;line-break:strict;}
body main .nex-phrase {display:inline-block;max-width:100%;word-break:normal;overflow-wrap:normal;}

/* Phrase-aware headings shared by static and dynamically mounted pages. */
body main h1,body main h2,body main h3 {text-wrap:balance!important;line-break:strict;word-break:normal!important;overflow-wrap:normal!important;}
body main p,body main li {text-wrap:pretty;line-break:strict;}
body main .nex-phrase {text-wrap:balance;white-space:normal;}
body .pricing-panel.featured table,body .pricing-panel.featured th,body .pricing-panel.featured td {color:#fff!important;}

/* Give detailed service headings enough width for complete Japanese phrases. */
@media(min-width:801px){body .deep-grid {grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(36px,5vw,72px);}body .deep-grid aside h2 {font-size:clamp(28px,2.6vw,38px);line-height:1.55;}}

/* Studio header: a quiet white frame, readable navigation and one red action. */
@media(min-width:1101px){
 body .site-header {top:16px;}
 body .site-header .header-inner {height:84px;min-height:84px;width:calc(100% - 48px);max-width:1480px;padding:12px 26px;gap:24px;border:1px solid rgba(17,17,17,.08);border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(17,17,17,.06);}
 body .site-header .header-inner .logo,body.reference-home .site-header .header-inner .logo {width:158px!important;max-width:158px;height:auto;}
 body .site-header .header-inner>a:first-child {flex:none;}
 body .site-header .nav {gap:16px;}
 body .site-header .nav a {font-size:16px;line-height:1.5;font-weight:700;letter-spacing:0;padding:12px 0;}
 body .site-header .nav a:after {bottom:5px;height:2px;background:#c90032;border-radius:2px;}
 body .site-header .nav a:hover {color:#c90032;}
 body .site-header .nav-cta {flex:none;gap:12px;min-height:48px;padding:0 20px;background:#c90032;color:#fff;font-size:16px;line-height:1.5;letter-spacing:0;border-radius:10px;transform:none;}
 body .site-header .nav-cta:after {content:'↗';font-size:18px;font-weight:500;}
 body .site-header .nav-cta:hover {background:#a8002a;transform:none;}
 body .site-header a:focus-visible {outline:2px solid #c90032;outline-offset:5px;}
}
@media(min-width:1101px) and (max-width:1279px){
 body .site-header .header-inner {display:grid!important;grid-template-columns:minmax(0,1fr) auto auto;gap:18px;}
 body .site-header .nav {display:none!important;}
 body .site-header .nav-cta {margin:0!important;}
 body .site-header .mobile-menu-button {display:flex!important;margin:0!important;background:#111;width:48px;height:48px;}
}

/* A pale original material texture keeps the opening airy and readable. */
body.reference-home.v50 .v50-hero {background-color:#eeeeee!important;background-image:linear-gradient(rgba(255,255,255,.32),rgba(255,255,255,.32)),url('assets/hero-texture-v24.webp')!important;background-size:cover!important;background-position:center bottom!important;background-repeat:no-repeat!important;}
@media(max-width:850px){body.reference-home.v50 .v50-hero {background-position:54% bottom!important;}}

/* Fine editorial accents without reducing navigation readability. */
@media(min-width:1280px){
 body .site-header .nav a {padding:5px 0 7px;}
 body .site-header .nav a:before {display:block;font:600 9px/1.3 Arial,sans-serif;letter-spacing:.14em;color:#a00029;margin-bottom:5px;}
 body .site-header .nav a:nth-child(1):before {content:'FLOW';}
 body .site-header .nav a:nth-child(2):before {content:'PRICE';}
 body .site-header .nav a:nth-child(3):before {content:'PLAN';}
 body .site-header .nav a:nth-child(4):before {content:'WORKS';}
 body .site-header .nav a:nth-child(5):before {content:'VOICE';}
 body .site-header .nav a:nth-child(6):before {content:'ABOUT';}
 body .site-header .nav a:nth-child(7):before {content:'FAQ';}
 body .site-header .nav a:nth-child(8):before {content:'JOURNAL';}
 body .site-header .nav a:after {bottom:0;}
 body .site-header .header-inner {border-bottom:2px solid rgba(201,0,43,.18);}
 body .site-header .nav a[aria-current=page] {color:#c9002b;}
 body .site-header .nav a[aria-current=page]:after {transform:scaleX(1);}
}
/* Low contrast material, translucent diagonal planes and fine contour lines. */
body:not(.reference-home) main .intro,body.reference-home.v50 .v50-news,body.reference-home.v50 .v50-about,body.reference-home.v50 .v52-marquee {
 background-color:#c9002b!important;
 background-image:url('assets/red-accent-v25.svg'),linear-gradient(rgba(180,0,12,.84),rgba(180,0,12,.84)),url('assets/hero-texture-v24.webp')!important;
 background-repeat:no-repeat!important;background-position:center,center,center bottom!important;background-size:cover!important;
}
@media(max-width:850px){body:not(.reference-home) main .intro,body.reference-home.v50 .v50-news,body.reference-home.v50 .v50-about,body.reference-home.v50 .v52-marquee {background-position:62% center,center,center bottom!important;}}

/* The studio statement shows WEB production; client images stay in the portfolio. */
body.reference-home.v50 .v50-statement {background:linear-gradient(90deg,rgba(0,0,0,.65),rgba(0,0,0,.22)),url('assets/web-production-banner.jpg') center center/cover!important;}
@media(max-width:850px){body.reference-home.v50 .v50-statement {background-position:42% center!important;}}

body.reference-home.v50 .v50-statement>p {color:rgba(255,255,255,.9)!important;opacity:1!important;}
/* Portfolio closing note: align the box with both edges of the works grid. */
body .portfolio + .case-note {
 max-width:none;width:100%;box-sizing:border-box;
 margin:clamp(48px,6vw,88px) 0 0;text-align:left;
}

/* motion.css */
/* v1.2: studio accents and lightweight motion */
body:before {background:#c90032;}
body main .eyebrow:before,
body .v50-en:before {
 content:"";display:inline-block;width:16px;height:2px;
 margin-right:10px;vertical-align:middle;background:currentColor;
}
body .v50-servicegrid>a,
body main .card,
body .client-capture img,
body .work-visual img,
body .v50-workgrid>a>img {transition:transform .45s cubic-bezier(.22,.61,.36,1),box-shadow .3s ease;}
body .v50-servicegrid>a>b,
body .v50-workgrid>a b {transition:transform .3s ease;}
body .v50-more,
body .v50-about-copy>a,
body .v50-process>a {
 background-image:linear-gradient(currentColor,currentColor);
 background-repeat:no-repeat;background-position:left bottom;
 background-size:0% 1px;transition:background-size .3s ease;
}
body main a:focus-visible {outline:3px solid #c90032;outline-offset:5px;}
body .v50-servicegrid>a:focus-visible {outline-color:#fff;}
/* Keep content readable when motion is unavailable. */
body main .reveal {opacity:1;transform:none;}
@media(hover:hover) and (pointer:fine) {
 body .v50-servicegrid>a:hover,
 body main .card:hover {transform:translateY(-4px);box-shadow:inset 0 -3px 0 #c90032;}
 body .client-capture:hover img,
 body .work-visual:hover img,
 body .v50-workgrid>a:hover>img {transform:scale(1.025);}
 body .v50-servicegrid>a:hover>b,
 body .v50-workgrid>a:hover b {transform:translate(3px,-3px);}
 body .v50-more:hover,
 body .v50-about-copy>a:hover,
 body .v50-process>a:hover {background-size:100% 1px;}
 body .v50-cta>a:hover {box-shadow:0 0 0 7px #fff,0 0 0 8px #c90032;}
}
@media(prefers-reduced-motion:reduce) {
 body main *,body main *:before,body main *:after {animation:none!important;transition:none!important;}
 body .v50-servicegrid>a:hover,body main .card:hover,
 body .client-capture:hover img,body .work-visual:hover img,
 body .v50-workgrid>a:hover>img {transform:none;}
}

/* blog.css */
/* Shared reading layout for all blog articles. */
body.nex-blog-reading .article-hero {padding:52px 0 26px;border-bottom:0;background:#fff;}
body.nex-blog-reading .article-hero .wrap {width:min(840px,calc(100% - 64px));max-width:840px;}
body.nex-blog-reading .article-hero .eyebrow {font-size:11px;}
body.nex-blog-reading .article-hero time {display:block;color:#666;font-size:13px;margin-top:10px;}
body.nex-blog-reading .article-hero h1 {font:800 clamp(30px,3.1vw,44px)/1.45 var(--sans,sans-serif);margin:22px 0 0;letter-spacing:-.035em;word-break:normal;overflow-wrap:anywhere;text-wrap:pretty;}
body.nex-blog-reading .nex-blog-title {display:block;}
body.nex-blog-reading .nex-blog-subtitle {display:block;margin-top:14px;font-size:clamp(18px,1.6vw,23px);line-height:1.65;font-weight:500;letter-spacing:0;color:#555;}
body.nex-blog-reading .nex-title-separator {display:none;}
body.nex-blog-reading .article-layout.single-content {display:block;width:min(840px,calc(100% - 64px));max-width:840px;margin:auto;padding:8px 0 64px;}
body.nex-blog-reading .article-layout.single-content .article-body {width:100%;max-width:none;margin:0;}
body.nex-blog-reading .article-layout.single-content .article-feature {display:block;width:100%;height:340px;max-height:none;object-fit:cover;aspect-ratio:16/9;margin:0 0 30px;border-radius:0;}
body.nex-blog-reading .article-body p,body.nex-blog-reading .article-body li {font-size:17px;line-height:1.95;letter-spacing:.015em;}
body.nex-blog-reading .article-body>p {margin:0 0 22px;}
body.nex-blog-reading .article-body h2 {font:800 clamp(23px,2vw,29px)/1.55 var(--sans,sans-serif);margin:48px 0 20px;padding:20px 0 0;border-top:1px solid #dedede;letter-spacing:-.02em;scroll-margin-top:120px;}
body.nex-blog-reading .article-body h3 {font:700 21px/1.6 var(--sans,sans-serif);margin:30px 0 14px;}
body.nex-blog-reading .article-body ul,body.nex-blog-reading .article-body ol {margin:18px 0 26px;padding-left:1.4em;}
body.nex-blog-reading .article-body li+li {margin-top:6px;}
body.nex-blog-reading .article-body>p:empty {display:none;}
body.nex-blog-reading .wp_social_bookmarking_light {display:none;}
body.nex-blog-reading .nex-blog-toc {margin:30px 0 42px;padding:26px 30px;background:#f5f3ee;border-top:2px solid #c90032;}
body.nex-blog-reading .nex-blog-toc strong {display:block;font-size:16px;margin-bottom:16px;}
body.nex-blog-reading .nex-blog-toc ol {margin:0;padding-left:1.4em;}
body.nex-blog-reading .nex-blog-toc li {font-size:15px;line-height:1.75;}
body.nex-blog-reading .nex-blog-toc a {color:#333;text-decoration:none;}
body.nex-blog-reading .nex-blog-toc a:hover {color:#c90032;text-decoration:underline;text-underline-offset:4px;}
body.nex-blog-reading .article-body .nex-ai-related {margin:42px 0;padding:0;background:none;border:0;}
body.nex-blog-reading .nex-ai-related h2 {margin:0 0 20px;}
body.nex-blog-reading .nex-ai-related ul {list-style:none;padding:0;margin:0;display:grid;gap:12px;}
body.nex-blog-reading .nex-ai-related li {margin:0;}
body.nex-blog-reading .nex-ai-related a {display:block;position:relative;padding:20px 44px 20px 22px;background:#f5f3ee;border-left:2px solid #c90032;font-size:16px;line-height:1.65;font-weight:700;text-decoration:none;}
body.nex-blog-reading .nex-ai-related a:after {content:'↗';position:absolute;right:20px;top:20px;color:#c90032;}
body.nex-blog-reading .nex-ai-related a:hover {background:#eeebe5;}
body.nex-blog-reading .nex-ai-cta {padding:30px;background:#f5f3ee;border:0;margin-top:42px;}
body.nex-blog-reading .nex-ai-cta h2 {border:0;padding:0;margin:12px 0 18px;font-size:25px;}
body.nex-blog-reading .nex-ai-cta p {font-size:16px;}
body.nex-blog-reading .nex-ai-cta p:last-child {margin-bottom:0;}
body.nex-blog-reading .nex-ai-cta-button {display:inline-flex;align-items:center;justify-content:center;background:#c90032;color:#fff;padding:14px 24px;border-radius:30px;text-decoration:none;font-weight:700;}
body.nex-blog-reading .article-body a:focus-visible {outline:2px solid #c90032;outline-offset:4px;}
@media(max-width:620px) {
 body.nex-blog-reading .article-hero {padding:30px 0 20px;}
 body.nex-blog-reading .article-hero .wrap,body.nex-blog-reading .article-layout.single-content {width:calc(100% - 40px);}
 body.nex-blog-reading .article-hero h1 {font-size:29px;line-height:1.5;margin-top:18px;}
 body.nex-blog-reading .nex-blog-subtitle {font-size:17px;line-height:1.75;margin-top:12px;}
 body.nex-blog-reading .article-layout.single-content .article-feature {height:auto;aspect-ratio:16/10;margin-bottom:24px;}
 body.nex-blog-reading .article-body p,body.nex-blog-reading .article-body li {font-size:16px;line-height:1.95;}
 body.nex-blog-reading .article-body h2 {font-size:23px;margin-top:38px;scroll-margin-top:100px;}
 body.nex-blog-reading .nex-blog-toc {padding:22px 20px;margin:26px 0 34px;}
 body.nex-blog-reading .nex-blog-toc li {font-size:14px;}
 body.nex-blog-reading .nex-ai-cta {padding:24px 20px;}
 body.nex-blog-reading .nex-ai-cta h2 {font-size:22px;}
}

/* systems.css */
body.reference-home.v50 .v50-servicegrid { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
.nex-system-card { border-top:3px solid #c60025!important; }
body .plan-detail.nex-system-service { display:block; }
body .nex-system-service>.plan-no { margin:0 0 20px; }
body .nex-system-service>.plan-no+div { width:100%;min-width:0; }
#web-system { scroll-margin-top:130px; }
#proov-development { scroll-margin-top:130px; }
.nex-own-product { display:grid;grid-template-columns:minmax(140px,.65fr) minmax(0,1.65fr);gap:32px;padding:32px;margin:32px 0;background:#171717;color:#fff;border:1px solid #454545; }
.nex-product-brand { display:flex;flex-direction:column;align-items:flex-start;gap:14px;min-width:0; }
.nex-product-brand>span:first-child { color:#ddd;font-size:10px;letter-spacing:.12em; }
.nex-product-brand strong { color:#fff;font-size:clamp(32px,4vw,48px);line-height:1.1;letter-spacing:.04em; }
.nex-product-status { background:#b90021;color:#fff;font-size:11px;padding:6px 10px;line-height:1.6; }
body .nex-product-copy h3 { color:#fff;font-size:clamp(21px,2.4vw,28px);line-height:1.5;margin:0 0 16px;text-wrap:balance; }
body .nex-product-copy p { color:#eee;font-size:15px;line-height:1.9;margin:0 0 20px; }
body .nex-product-copy a { display:inline-block;color:#fff;font-size:14px;font-weight:700;line-height:1.8;border-bottom:1px solid #e12b43;text-decoration:none;padding-bottom:4px; }
body.reference-home.v50 .v50-service>.nex-own-product { max-width:none;margin:32px 0 0; }
.nex-system-examples { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:28px 0 16px; }
.nex-system-examples>div { min-width:0;background:#f5f3ee;padding:24px 20px;border-top:2px solid #c60025; }
.nex-system-examples span { display:block;color:#b00020;font-size:10px;letter-spacing:.07em;font-weight:700; }
body .nex-system-examples h3 { color:#111;font-size:18px;line-height:1.5;margin:16px 0 12px;text-wrap:balance; }
body .nex-system-examples p { color:#444;font-size:14px;line-height:1.9;margin:0; }
body .nex-system-caption { color:#555;font-size:13px;line-height:1.8;margin:12px 0 28px; }
@media(max-width:1100px) { .nex-system-examples { grid-template-columns:1fr; } }
@media(max-width:620px) { body.reference-home.v50 .v50-servicegrid { grid-template-columns:1fr!important; } #web-system { scroll-margin-top:110px; } }
@media(max-width:850px) { .nex-own-product { grid-template-columns:1fr;gap:24px;padding:24px; } }
@media(max-width:620px) { #proov-development { scroll-margin-top:110px; } }

/* service-photos.css */
/* Decorative photos sit behind a quiet, high-contrast reading surface. */
body.reference-home.v50 .v50-servicegrid>a {
  position:relative;isolation:isolate;overflow:hidden;background:#f5f4f0!important;
}
body.reference-home.v50 .v50-servicegrid>a::before {
  content:"";position:absolute;inset:-8px;z-index:-2;pointer-events:none;
  background:var(--nex-service-photo) center/cover no-repeat;
  filter:blur(2.5px) saturate(.65);transform:scale(1.035);
}
body.reference-home.v50 .v50-servicegrid>a::after {
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:linear-gradient(90deg,rgba(250,249,246,.97) 0%,rgba(250,249,246,.94) 25%,rgba(250,249,246,.78) 58%,rgba(250,249,246,.34) 100%);
}
body.reference-home.v50 .v50-servicegrid>a:nth-child(1) { --nex-service-photo:url('assets/service-card-website.webp'); }
body.reference-home.v50 .v50-servicegrid>a:nth-child(2) { --nex-service-photo:url('assets/service-card-renewal.webp'); }
body.reference-home.v50 .v50-servicegrid>a:nth-child(3) { --nex-service-photo:url('assets/service-card-seo.webp'); }
body.reference-home.v50 .v50-servicegrid>a.nex-system-card { --nex-service-photo:url('assets/service-card-system.webp'); }
body.reference-home.v50 .v50-servicegrid>a.nex-system-card::before { transform:scale(-1.035,1.035); }
body.reference-home.v50 .v50-servicegrid>a h3,
body.reference-home.v50 .v50-servicegrid>a p,
body.reference-home.v50 .v50-servicegrid>a b { color:#111!important; }
body.reference-home.v50 .v50-servicegrid>a small { color:#b80024!important; }
body.reference-home.v50 .v50-servicegrid>a p { max-width:83%; }
body.reference-home.v50 .v50-servicegrid>a:hover::after { background:linear-gradient(90deg,rgba(250,249,246,.97),rgba(250,249,246,.88) 58%,rgba(250,249,246,.28)); }
@media(max-width:620px) {
  body.reference-home.v50 .v50-servicegrid>a::before { filter:blur(2px) saturate(.65); }
  body.reference-home.v50 .v50-servicegrid>a p { max-width:88%; }
}

/* proov-background.css */
/* PROOV: forward motion in cyan / magenta, with a dark reading surface. */
.nex-own-product { position:relative;isolation:isolate;overflow:hidden;background:#080e18; }
.nex-own-product::before {
  content:"";position:absolute;inset:0;z-index:-2;pointer-events:none;
  background:url('assets/proov-challenge-v275.webp') right center/cover no-repeat;
}
.nex-own-product::after {
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:linear-gradient(90deg,rgba(8,14,24,.96) 0%,rgba(8,14,24,.93) 32%,rgba(8,14,24,.78) 65%,rgba(8,14,24,.23) 100%);
}
.nex-own-product .nex-product-brand>span:first-child { color:#c3e9f0; }
.nex-own-product .nex-product-status { background:#c60049; }
.nex-own-product .nex-product-copy a { border-bottom-color:#36d8ef; }
@media(min-width:1100px) { .nex-own-product .nex-product-copy { max-width:85%; } }
@media(max-width:850px) {
  .nex-own-product::before { background-size:auto 82%;background-position:right top; }
  .nex-own-product::after {
    background:linear-gradient(180deg,rgba(8,14,24,.20) 0%,rgba(8,14,24,.63) 36%,rgba(8,14,24,.96) 65%,#080e18 100%),linear-gradient(90deg,rgba(8,14,24,.92),rgba(8,14,24,.12));
  }
}
