/* WEEVON | editorial-tech design system · 2026-10
   Deliberate design language: typography, rhythm, strong contrast.
   SEO/GEO semantics and live content remain in the PHP templates. */
:root{
 --bg:#f8f8f5;--surface:#fff;--surface-2:#f2f4f6;
 --line:#e1e4e9;--text:#111b2d;--muted:#5e6a7c;
 --subtle:#84909d;--primary:#315cf5;--primary-2:#2548d4;
 --shadow:0 22px 50px rgba(13,31,60,.08);
 --shadow-soft:none;--radius-xl:12px;--radius-lg:10px;--radius-md:8px;
 --wrap:min(1220px,calc(100% - 64px));
}
html{scroll-behavior:smooth;scroll-padding-top:86px}
body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}
a,button{ -webkit-tap-highlight-color:transparent}
:focus-visible{outline:3px solid #5c93ff;outline-offset:4px}
.site-header{background:rgba(248,248,245,.95);border-bottom:1px solid #e1e4e8;backdrop-filter:blur(18px)}
.site-header .nav{padding:18px 0;gap:19px}
.brand{gap:11px}
.brand-mark{width:40px;height:40px;border-radius:7px;background:#14233b;box-shadow:none;color:#fff;font-size:23px;font-weight:900;letter-spacing:-.1em}
.brand-copy{font-size:19px;letter-spacing:-.055em;font-weight:850}
.brand-copy small{font-weight:500;letter-spacing:.08em;font-size:9px;text-transform:uppercase;margin-top:0}
.nav-links{gap:22px;letter-spacing:-.025em;font-size:12px;font-weight:700;color:#465063}
.nav-links a{padding:9px 0;border-bottom:1px solid transparent;transition:color .2s,border-color .2s}
.nav-links a:hover,.nav-links a[aria-current=page]{border-bottom-color:#315cf5;color:#254cdd}
.site-header .pill{border-radius:6px;padding:13px 18px;background:#131c2d;font-size:12px;letter-spacing:-.01em;box-shadow:none}
.site-header .pill:hover{background:#315cf5}

/* Home hero — no generic website template mockups */
.studio-hero{position:relative;isolation:isolate;overflow:hidden;background:#111c30;color:#f5f6fb;border-bottom:1px solid #23354e}
.studio-hero:before{content:"";position:absolute;inset:0;opacity:.25;background-image:linear-gradient(90deg,transparent 0,transparent calc(100% - 1px),#46617d calc(100% - 1px)),linear-gradient(0deg,transparent 0,transparent calc(100% - 1px),#46617d calc(100% - 1px));background-size:60px 60px;pointer-events:none;z-index:-1}
.studio-hero:after{content:"";position:absolute;width:800px;height:750px;right:-390px;top:-300px;background:radial-gradient(ellipse,rgba(51,106,241,.23),transparent 66%);z-index:-1;pointer-events:none}
.studio-hero-shell{display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:center;padding:91px 0 92px;min-height:660px}
.studio-hero-copy{min-width:0}
.studio-kicker,.studio-index{font-family:Inter,"Segoe UI",sans-serif;letter-spacing:.12em;font-size:11px;font-weight:800}
.studio-kicker{display:flex;align-items:center;gap:13px;color:#9dc4ff}
.studio-kicker-line{width:31px;height:1px;background:#a7ccff}
.studio-revision{color:#63758d;font-size:10px;margin-left:auto}
.studio-hero h1{font-size:clamp(39px,4.65vw,66px);line-height:1.28;letter-spacing:-.067em;font-weight:830;margin:31px 0 26px;word-break:keep-all}
.studio-hero h1 span{display:block;color:#8eb4ff}
.studio-hero-lead{font-size:16px;line-height:1.95;letter-spacing:-.022em;color:#bcc7d8;max-width:650px}
.studio-hero-lead strong{color:#f5f8ff;font-weight:760}
.studio-hero-lead em{font-style:normal;color:#8eb4ff}
.studio-hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:29px;margin-top:32px}
.studio-action-main{display:inline-flex;align-items:center;gap:38px;background:#f4f6fc;color:#17243a;padding:17px 21px;font-size:13px;font-weight:780;transition:.2s}
.studio-action-main span{font-size:19px;color:#315cf5}
.studio-action-main:hover{transform:translateY(-3px);background:#a6c5ff}
.studio-action-text{font-size:13px;font-weight:750;color:#e4ebf7;border-bottom:1px solid #7083a2;padding:11px 0}
.studio-action-text span{margin-left:9px}
.studio-hero-foot{display:flex;flex-wrap:wrap;gap:18px;margin-top:57px;font-family:Inter,"Segoe UI",sans-serif;font-size:9px;font-weight:700;letter-spacing:.13em;color:#738baa}
.studio-hero-foot span+span{padding-left:18px;border-left:1px solid #3f5069}
.studio-system{position:relative;margin:0;min-height:485px;border:1px solid rgba(174,202,255,.22);background:linear-gradient(150deg,rgba(26,46,74,.94),rgba(14,25,43,.97));box-shadow:0 24px 65px rgba(0,0,0,.21);overflow:hidden}
.studio-system:after{position:absolute;content:"";inset:10px;pointer-events:none;border:1px solid rgba(160,187,229,.075)}
.studio-system-head,.studio-system-bottom{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:19px 21px;font-family:Inter,"Segoe UI",sans-serif;font-size:9px;font-weight:760;letter-spacing:.12em;color:#9ab0cd}
.studio-system-head{border-bottom:1px solid #30435e}
.studio-system-bottom{border-top:1px solid #30435e;color:#7991b0;font-size:8px}
.studio-signal{color:#8fbca9;white-space:nowrap}.studio-signal i{display:inline-block;width:6px;height:6px;border-radius:50%;background:#79dabd;margin-right:6px;box-shadow:0 0 15px #52deb4}
.studio-system-map{position:relative;height:354px}
.studio-system-map:before{position:absolute;content:"";left:50%;top:50%;width:260px;height:260px;transform:translate(-50%,-49%) rotate(45deg);border:1px solid rgba(143,177,224,.12)}
.studio-axis{position:absolute;left:50%;top:50%;border-top:1px solid #3f6798;width:54%;opacity:.6}
.studio-axis-a{transform:translate(-50%,-50%) rotate(0)}
.studio-axis-b{transform:translate(-50%,-50%) rotate(90deg)}
.studio-node{position:absolute;z-index:3;display:flex;flex-direction:column;gap:7px;padding:13px 16px;background:#233852;border:1px solid #526d92;box-shadow:0 11px 22px rgba(0,0,0,.18);min-width:152px}
.studio-node small{font-size:9px;color:#9bbcfa;letter-spacing:.1em;font-weight:760}
.studio-node strong{font-size:12px;color:#f3f7ff}
.studio-node span{font-family:Inter,"Segoe UI",sans-serif;font-size:9px;color:#9aaecb}
.studio-node-top{top:16px;right:16px}
.studio-node-left{left:14px;bottom:28px}
.studio-node-right{right:14px;bottom:28px}
.studio-core{position:absolute;left:50%;top:51%;transform:translate(-50%,-50%);z-index:2;border:1px solid #99b7ec;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;width:212px;height:172px;background:linear-gradient(145deg,#2a5bd5,#24419a);box-shadow:0 0 0 9px rgba(62,106,192,.11),0 24px 35px rgba(0,0,0,.35);text-align:center}
.studio-core-overline{font-family:Inter,"Segoe UI",sans-serif;letter-spacing:.16em;font-size:9px;color:#b3cbfa}
.studio-core strong{font-family:Inter,"Segoe UI",sans-serif;font-size:29px;line-height:1.06;letter-spacing:-.05em;color:white;font-weight:840}
.studio-core strong span{color:#9fd9ff}
.studio-core code{font-size:10px;font-weight:650;color:#c2d4f9;background:rgba(0,0,0,.16);padding:5px 8px}
.studio-capability{background:#f2f3ef;border-bottom:1px solid #dce0df}
.studio-capability-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0}
.studio-capability-grid>div{padding:32px 35px 31px 0;display:grid;gap:9px}
.studio-capability-grid>div+div{border-left:1px solid #d4dbe2;padding-left:35px}
.studio-capability-grid .studio-index{color:#4262a3}
.studio-capability strong{font-size:19px;letter-spacing:-.04em;font-weight:810}
.studio-capability p{margin:0;font-size:13px;line-height:1.67;color:#687583}

/* Editorial services — preserve native scroll interaction & image URL consistency. */
.section-services{background:#fafaf8;padding:115px 0 110px}
.section-heading-row{align-items:flex-end}
.section-heading-row .eyebrow,.section-what .eyebrow,.studio-proof .eyebrow,.contact-card .eyebrow,.page-hero .kicker,.section .eyebrow{font-family:Inter,"Segoe UI",sans-serif;font-size:10px;border-radius:0;letter-spacing:.13em;box-shadow:none;background:none;padding:0;font-weight:850;color:#315cf5}
.section-heading-row .eyebrow:before,.page-hero .kicker:before,.section .eyebrow:before{display:none}
.section-heading-row h2{font-size:clamp(38px,4.1vw,60px);letter-spacing:-.075em}
.section-heading-row p.section-desc{font-size:16px}
.carousel-controls button{border-radius:3px;border:1px solid #cad3e3;width:49px;height:49px;box-shadow:none}
.portfolio-track{margin-top:39px;padding-bottom:18px;grid-auto-columns:calc((100% - 36px)/2.35);gap:18px}
.portfolio-card{border-radius:0;box-shadow:none;border:1px solid #dce2e9;background:#fff;min-width:0}
.portfolio-card:hover{box-shadow:0 26px 42px rgba(25,44,74,.12);transform:translateY(-4px)}
.portfolio-image{aspect-ratio:1.45/1;display:grid;place-items:center;overflow:hidden;background:linear-gradient(140deg,#eaf0f8,#f8fafc)}
.portfolio-image img{width:auto;height:100%;max-width:100%;object-fit:contain;aspect-ratio:1/1;filter:saturate(.84)}
.portfolio-card:nth-child(2) .portfolio-image{background:#e6e8ed}
.portfolio-card:nth-child(3) .portfolio-image{background:#e3ecfa}
.portfolio-card:nth-child(4) .portfolio-image{background:#eaf0ed}
.portfolio-card:nth-child(5) .portfolio-image{background:#ece7f3}
.portfolio-info{padding:29px 30px 31px;min-height:190px}
.portfolio-order{font-size:10px;color:#7a899b;letter-spacing:.15em}
.portfolio-info h3{font-size:25px;letter-spacing:-.055em;margin-top:17px}
.portfolio-info p{font-size:14px;letter-spacing:-.018em}
.portfolio-link{border-top:1px solid #e4e9ef;margin-top:20px;padding-top:17px;color:#315cf5;font-size:12px}
.carousel-note{font-size:11px;color:#82909e}

/* Self-demonstrating technology instead of invented case studies or results. */
.studio-proof{padding:110px 0 130px;background:#f0f2f0;border-top:1px solid #e1e5e7}
.studio-section-intro{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(180px,.65fr);column-gap:70px;align-items:end;margin-bottom:43px}
.studio-section-intro>.studio-index{grid-column:1/-1;color:#315cf5;margin-bottom:11px}
.studio-section-intro h2{font-size:clamp(35px,4vw,57px);line-height:1.31;letter-spacing:-.07em;margin:0;font-weight:820}
.studio-section-intro h2 em{font-style:normal;color:#375cc2}
.studio-section-intro>p{font-size:15px;line-height:1.9;color:#677283;margin:0 0 7px}
.studio-proof-grid{display:grid;grid-template-columns:1fr .83fr;gap:0;border:1px solid #d5dce4;background:white}
.studio-proof-code{background:#111b2c;color:#f4f8ff;min-width:0}
.studio-code-top{display:flex;justify-content:space-between;gap:15px;padding:21px 28px;border-bottom:1px solid #334057;color:#97a9c3;font-size:10px;font-weight:700;letter-spacing:.1em}
.studio-code-top span+span{color:#82b4e7}
.studio-code-lines{display:grid;gap:13px;padding:39px 28px 41px}
.studio-code-lines>div{display:flex;align-items:baseline;gap:26px;min-width:0}
.studio-code-lines .ln{color:#64738b;font-family:monospace;font-size:11px;flex:none}
.studio-code-lines code{font-family:"DejaVu Sans Mono",Consolas,monospace;color:#bfcbe0;font-size:12px;white-space:pre-wrap;overflow-wrap:anywhere}
.studio-code-lines code b{font-weight:600;color:#a6c1ff}
.studio-code-lines code em{font-style:normal;color:#a3e4be}
.studio-code-foot{border-top:1px solid #334057;padding:14px 27px;color:#8595aa;font-size:10px}
.studio-proof-details{padding:14px 32px;display:flex;flex-direction:column}
.studio-proof-details a{flex:1;min-height:95px;display:grid;grid-template-columns:1fr auto;align-content:center;gap:6px 11px;border-bottom:1px solid #dce2e9}
.studio-proof-details a:last-child{border-bottom:0}
.studio-proof-details a span{font-family:Inter,"Segoe UI",sans-serif;font-size:9px;letter-spacing:.14em;font-weight:750;color:#6b7da0}
.studio-proof-details a strong{grid-column:1;line-height:1.4;font-size:19px;letter-spacing:-.04em}
.studio-proof-details a i{grid-column:2;grid-row:1/3;align-self:center;font-style:normal;font-size:20px;color:#315cf5}
.studio-proof-details a:hover strong{color:#315cf5}

/* Technical service pages — quiet editorial layout with stronger type hierarchy. */
body[data-page] .page-hero{background:#f1f3f2;padding:38px 0 80px;border-bottom:1px solid #dce2e8}
body[data-page] .breadcrumbs{font-size:12px;margin-bottom:24px;color:#58677b}
body[data-page] .breadcrumbs a{text-decoration:none;color:#315cf5}
body[data-page] .page-hero-shell{border:0;border-top:1px solid #cbd5e0;border-radius:0;background:transparent;box-shadow:none;padding:54px 0 0}
body[data-page] .page-hero-grid{grid-template-columns:1.13fr .87fr;gap:70px}
body[data-page] .page-hero h1{font-size:clamp(39px,4.65vw,66px);letter-spacing:-.077em;line-height:1.25;margin:18px 0 0}
body[data-page] .page-hero p{font-size:16px;color:#5e6c7e;line-height:1.9;margin:23px 0 0}
body[data-page] .page-hero-grid>.panel-image{aspect-ratio:1/1;max-width:450px;background:#e3e9ef;border:1px solid #dce2e9;border-radius:0;overflow:hidden;min-height:320px}
body[data-page] .page-hero-grid>.panel-image img{aspect-ratio:1/1;object-fit:contain;max-height:450px;filter:saturate(.8)}
body[data-page] .mini-grid{gap:0;margin-top:30px;border-top:1px solid #d4dce5;border-bottom:1px solid #d4dce5}
body[data-page] .mini-card{padding:17px 10px;background:transparent;border:0;border-radius:0;box-shadow:none}
body[data-page] .mini-card+.mini-card{border-left:1px solid #d4dce5;padding-left:20px}
body[data-page] .mini-card strong{font-weight:780}
body[data-page] .mini-card span{color:#788594}
body[data-page] .hero-actions{margin-top:27px}
body[data-page] .btn-primary,body[data-page] .btn-secondary{border-radius:3px}
body[data-page] .section{padding:108px 0}
body[data-page] .section h2{letter-spacing:-.06em;line-height:1.28}
body[data-page] .section .section-desc{font-size:16px;line-height:1.87}
body[data-page] .detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin-top:43px;border:1px solid #e1e5e9}
body[data-page] .detail-article{padding:35px 38px;border:0;border-radius:0;box-shadow:none;border-bottom:1px solid #e3e7eb;min-height:245px}
body[data-page] .detail-article:nth-child(odd){border-right:1px solid #e3e7eb}
body[data-page] .detail-article h3{font-size:22px;letter-spacing:-.05em}
body[data-page] .detail-article p{font-size:15px;line-height:1.9}
body[data-page] .detail-article:first-child{background:#162842;color:#fff}
body[data-page] .detail-article:first-child h3{color:white}
body[data-page] .detail-article:first-child p{color:#d0dded}
body[data-page] .seo-note{border-radius:0;box-shadow:none;border-left:4px solid #315cf5;background:#f5f7fa}
body[data-page] .faq-grid{gap:0;border-top:1px solid #dfe5ed;border-left:1px solid #dfe5ed}
body[data-page] .faq-card{border-radius:0;box-shadow:none;border:0;border-right:1px solid #dfe5ed;border-bottom:1px solid #dfe5ed;padding:31px}
body[data-page] .faq-card h3{font-size:19px}
body[data-page] .faq-card p{font-size:14px}
body[data-page] .related-card{border-radius:0;box-shadow:none}
body[data-page] .related-card span{color:#456ada}
body[data-page] .related-card:hover{border-color:#315cf5}
body[data-page] .cta{border-radius:0}
body[data-page] .section-alt{background:#f2f4f4}

/* Consultation section, dark foreground with intentionally low visual noise. */
#contact.section{background:#e9edf2;padding:100px 0}
#contact .contact-grid{gap:24px}
#contact .contact-card{border-radius:3px;box-shadow:none;border:1px solid #d1d9e3;padding:37px;background:#fdfefe}
#contact .contact-grid>.contact-card:first-child{background:#15263f;border-color:#15263f;color:white}
#contact .contact-grid>.contact-card:first-child .section-desc{color:#ccd8e8}
#contact .contact-grid>.contact-card:first-child .info-item{border-color:rgba(255,255,255,.15)}
#contact .contact-grid>.contact-card:first-child .info-item b{color:white}
#contact .contact-grid>.contact-card:first-child .info-item span{color:#ccd8e8}
#contact .contact-grid>.contact-card:first-child .eyebrow{color:#9cc2ff}
#contact .contact-grid .field input,#contact .contact-grid .field textarea,#contact .contact-grid .field select{border-radius:3px}
#contact .contact-grid .btn-primary{border-radius:3px;background:#315cf5}
.footer{background:#111b2e;color:#a0aec1;padding:58px 0 43px;font-size:12px}
.footer strong{color:#fff!important}
.footer-shell{border-top:1px solid #3b4659;padding-top:23px}
.footer .site-explore{border-top:1px solid #37465a;margin-top:25px;padding-top:25px}
.footer .site-explore a{color:#b9c7d9;opacity:.85}
.footer .site-explore a:hover{color:white;opacity:1}

/* Responsiveness & touch / reduced motion */
@media(max-width:1150px){
 .studio-hero-shell{gap:32px}
 .studio-hero h1{font-size:clamp(36px,4vw,55px)}
 .studio-node{min-width:125px;padding:12px}
 .studio-node-top{right:7px}.studio-node-left{left:7px}.studio-node-right{right:7px}
 body[data-page] .page-hero-grid{gap:40px}
 .nav-links{gap:14px}
}
@media(max-width:960px){
 :root{--wrap:min(100% - 40px,1220px)}
 .studio-hero-shell{grid-template-columns:1fr;gap:44px;padding:75px 0}
 .studio-hero h1{font-size:clamp(40px,6.5vw,68px);max-width:800px}
 .studio-system{max-width:620px;width:100%;margin:0 auto}
 .studio-hero-foot{margin-top:38px}
 .studio-capability-grid>div{padding:26px 18px 26px 0}
 .studio-capability-grid>div+div{padding-left:18px}
 .studio-proof-grid{grid-template-columns:1fr}
 .studio-proof-details{display:grid;grid-template-columns:repeat(2,1fr);padding:0}
 .studio-proof-details a{padding:20px 25px;border-right:1px solid #e4e7ed}
 body[data-page] .page-hero-grid{grid-template-columns:1fr 300px;gap:30px}
 body[data-page] .mini-grid{grid-template-columns:1fr}
 body[data-page] .mini-card+.mini-card{border-left:0;border-top:1px solid #dce3ea;padding-left:10px}
}
@media(max-width:760px){
 :root{--wrap:min(calc(100% - 32px),1220px)}
 .nav-links{gap:0}
 .studio-hero-shell{padding:65px 0 64px;gap:45px}
 .studio-hero h1{font-size:clamp(35px,8.5vw,52px);line-height:1.28}
 .studio-hero-lead{font-size:15px}
 .studio-hero-foot{gap:12px}
 .studio-hero-foot span+span{padding-left:12px}
 .studio-system-map{height:335px}
 .studio-capability-grid{grid-template-columns:1fr}
 .studio-capability-grid>div{padding:19px 0!important;border-left:0!important;border-bottom:1px solid #dce2e8;gap:3px}
 .studio-capability-grid strong{font-size:17px}
 .studio-capability-grid p{font-size:13px}
 .section-services{padding:68px 0}
 .section-heading-row h2{font-size:clamp(34px,9vw,44px)}
 .portfolio-track{grid-auto-columns:minmax(270px,87%)}
 .portfolio-image{aspect-ratio:1.45/1}
 .studio-proof{padding:70px 0 84px}
 .studio-section-intro{display:block}
 .studio-section-intro h2{font-size:clamp(31px,7.8vw,46px)}
 .studio-section-intro>p{margin-top:20px;font-size:14px}
 .studio-proof-details{grid-template-columns:1fr}
 .studio-proof-details a{min-height:83px;padding:18px 22px}
 body[data-page] .page-hero-grid{grid-template-columns:1fr}
 body[data-page] .page-hero h1{font-size:clamp(34px,8vw,54px)}
 body[data-page] .page-hero-grid>.panel-image{min-height:0;max-width:450px}
 body[data-page] .mini-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 body[data-page] .mini-card+.mini-card{border-top:0;border-left:1px solid #dce3ea}
 body[data-page] .section{padding:75px 0}
 body[data-page] .detail-grid{grid-template-columns:1fr}
 body[data-page] .detail-article{border-right:0!important;padding:25px}
 #contact.section{padding:62px 0}
 #contact .contact-card{padding:27px}
}
@media(max-width:520px){
 .studio-kicker{font-size:9px;letter-spacing:.08em}
 .studio-revision{display:none}
 .studio-hero h1{font-size:clamp(31px,9vw,41px)}
 .studio-hero-actions{gap:18px}
 .studio-hero-foot{font-size:8px}
 .studio-hero-foot span:last-child{display:none}
 .studio-system{min-height:435px}
 .studio-system-map{height:307px}
 .studio-node{min-width:118px;padding:9px 10px}
 .studio-node strong{font-size:10px}
 .studio-node span,.studio-node small{font-size:8px}
 .studio-node-top{top:7px}
 .studio-node-left{left:6px;bottom:6px}
 .studio-node-right{right:6px;bottom:6px}
 .studio-core{width:165px;height:142px}
 .studio-core strong{font-size:23px}
 .studio-system-head,.studio-system-bottom{font-size:8px;letter-spacing:.04em;padding:16px 12px}
 .portfolio-info{min-height:0;padding:21px}
 body[data-page] .mini-grid{grid-template-columns:1fr}
 body[data-page] .mini-card+.mini-card{border-left:0;border-top:1px solid #dce3ea;padding-left:10px}
}
@media(prefers-reduced-motion:reduce){
 *,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}
}

/* Contact contrast: fix inherited light tag backgrounds and muted link colors. */
#contact .contact-grid>.contact-card:first-child .info-item{
  background:#253b58;
  border:1px solid #49617e;
  color:#f7faff;
  border-radius:8px;
}
#contact .contact-grid>.contact-card:first-child .info-item b,
#contact .contact-grid>.contact-card:first-child .info-item span,
#contact .contact-grid>.contact-card:first-child .info-item span a,
#contact .contact-grid>.contact-card:first-child .info-item div:first-child{
  color:#f7faff !important;
  opacity:1;
}
#contact .contact-grid>.contact-card:first-child .info-item a{
  text-decoration:underline;
  text-decoration-color:#aec5e8;
  text-underline-offset:3px;
}
#contact .contact-grid>.contact-card:first-child .info-item a:hover{color:#bfd6ff !important;}
#contact .contact-grid>.contact-card:nth-child(2) .field label{color:#243449;}
#contact .contact-grid>.contact-card:nth-child(2) .form-note{color:#526174;}
#contact .contact-grid>.contact-card:nth-child(2) .field input:not([type=checkbox]),
#contact .contact-grid>.contact-card:nth-child(2) .field select,
#contact .contact-grid>.contact-card:nth-child(2) .field textarea{
  background:#fff;
  border:1px solid #b5c2d2;
  color:#132238;
}
#contact .contact-grid>.contact-card:nth-child(2) .field input::placeholder,
#contact .contact-grid>.contact-card:nth-child(2) .field textarea::placeholder{color:#6c7888;opacity:1}


/* Customer-first landing and readable service stories */
.portfolio-image{aspect-ratio:10/7; background:#eef3f9}
.portfolio-image img{width:100%;height:100%;max-width:none;aspect-ratio:10/7;object-fit:cover;filter:none}
.portfolio-card:nth-child(2) .portfolio-image img,.portfolio-card:nth-child(3) .portfolio-image img,.portfolio-card:nth-child(4) .portfolio-image img,.portfolio-card:nth-child(5) .portfolio-image img{filter:none}
body[data-page] .page-hero-grid>.panel-image{aspect-ratio:10/7;max-width:520px;min-height:0}
body[data-page] .page-hero-grid>.panel-image img{width:100%;height:100%;aspect-ratio:10/7;max-height:none;object-fit:cover;filter:none}
body[data-page] .page-hero h1{font-size:clamp(33px,4.1vw,56px)}
body[data-page] .page-hero-grid{grid-template-columns:1fr .95fr;gap:48px}
body[data-page] .page-hero-grid .mini-grid{margin-top:20px}
body[data-page] .page-hero-grid .mini-card span{font-size:12px;line-height:1.65}
body[data-page] .detail-article{min-height:0}
.client-value{background:#f0f2f1;padding:106px 0 116px;border-top:1px solid #e4e7e8}
.client-value-intro{display:grid;grid-template-columns:1.2fr .8fr;column-gap:55px;align-items:end}
.client-value-intro .eyebrow{grid-column:1/-1;color:#315cf5;font-size:10px}
.client-value-intro h2{font-size:clamp(32px,4.2vw,56px);line-height:1.28;letter-spacing:-.065em;margin:24px 0 0}
.client-value-intro h2 span{color:#355bb9}
.client-value-intro p{color:#5f6d7c;font-size:15px;line-height:1.88;margin:0 0 5px}
.client-value-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #bfc9d4;border-bottom:1px solid #bfc9d4;margin-top:47px}
.client-value-grid article{padding:36px 35px 40px 0}
.client-value-grid article+article{border-left:1px solid #d9e0e5;padding-left:36px}
.client-value-grid article>span{font-size:10px;font-weight:750;letter-spacing:.1em;color:#315cf5}
.client-value-grid h3{font-size:23px;line-height:1.38;letter-spacing:-.04em;margin:18px 0 10px}
.client-value-grid p{font-size:14px;line-height:1.77;color:#677488;margin:0}
.client-value-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-top:26px;font-size:14px}
.client-value-bottom strong{font-size:15px}
.client-value-bottom a{color:#315cf5;font-weight:750}
.client-process{background:#fff;border-top:1px solid #e1e5eb}
.client-step-list{list-style:none;counter-reset:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;padding:0;margin:38px 0 0;border:1px solid #dce2e9}
.client-step-list li{display:flex;align-items:flex-start;gap:18px;padding:30px}
.client-step-list li+li{border-left:1px solid #dce2e9}
.client-step-num{color:#315cf5;font-size:12px;font-weight:840;letter-spacing:.1em;margin-top:3px}
.client-step-list strong{font-size:18px;letter-spacing:-.04em}
.client-step-list p{color:#6a7687;font-size:14px;line-height:1.8;margin:11px 0 0}
@media(max-width:960px){
 .client-value-intro{display:block}
 .client-value-intro p{margin-top:21px;max-width:640px}
 body[data-page] .page-hero-grid{grid-template-columns:1fr}
}
@media(max-width:760px){
 .client-value{padding:70px 0}
 .client-value-grid{grid-template-columns:1fr}
 .client-value-grid article{padding:21px 0!important;border-left:0!important}
 .client-value-grid article+article{border-top:1px solid #dce2e9}
 .client-value-bottom{align-items:flex-start;flex-direction:column}
 .client-step-list{grid-template-columns:1fr}
 .client-step-list li+li{border-left:0;border-top:1px solid #dce2e9}
 .client-step-list li{padding:25px}
 body[data-page] .page-hero-grid>.panel-image{width:100%;max-width:540px}
}

/* Carousel gestures: pointer drag on desktop + native touch momentum scrolling. */
.portfolio-track{cursor:grab;touch-action:pan-x pan-y;-webkit-overflow-scrolling:touch;}
.portfolio-track .portfolio-card img{-webkit-user-drag:none;user-select:none;-webkit-user-select:none;pointer-events:none}
.portfolio-track.is-dragging{cursor:grabbing;scroll-snap-type:none;user-select:none;-webkit-user-select:none;scroll-behavior:auto;}
.portfolio-track.is-dragging *{cursor:grabbing!important;user-select:none!important;-webkit-user-select:none!important}
