/* Novanect — People-Centric. Framework-free, progressively enhanced. */
:root {
  --paper:#f3f2eb;
  --white:#fff;
  --ink:#193c33;
  --forest:#163e35;
  --dark:#102f29;
  --accent:#d34a31;
  --coral:#ed755a;
  --muted:#6f776e;
  --line:#c9cec5;
  --pad:clamp(24px,4.45vw,80px);
  --sans:Arial,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;
  --serif:Georgia,"Times New Roman",serif;
  --ease:cubic-bezier(.2,.7,.2,1);
}
* {
  box-sizing:border-box;
}
html {
  scroll-behavior:smooth;
  scroll-padding-top:100px;
}
body {
  margin:0;
  color:var(--ink);
  background:var(--paper);
  font-family:var(--sans);
  font-size:1rem;
  line-height:1.85;
  -webkit-font-smoothing:antialiased;
}
a {
  color:inherit;
  text-decoration:none;
}
button {
  font:inherit;
  color:inherit;
}
button,a,summary {
  -webkit-tap-highlight-color:transparent;
}
a:focus-visible,button:focus-visible,summary:focus-visible {
  outline:3px solid var(--accent);
  outline-offset:6px;
}
::selection {
  background:#e8aa8e;
  color:var(--dark);
}
h1,h2,h3,p {
  margin:0;
}
h1,h2,h3 {
  font-weight:500;
  line-height:1.45;
}
img {
  display:block;
  max-width:100%;
}
svg {
  display:block;
}
button {
  cursor:pointer;
}
a,button,summary {
  touch-action:manipulation;
}
.mobile-only {
  display:none;
}
.skip-link {
  position:fixed;
  top:12px;
  left:20px;
  background:var(--white);
  padding:10px 20px;
  z-index:100;
  transform:translateY(-200%);
}
.skip-link:focus {
  transform:translateY(0);
}
.site-header {
  height:88px;
  padding:0 var(--pad);
  display:flex;
  align-items:center;
  justify-content:space-between;
  background:var(--paper);
  border-bottom:1px solid var(--line);
  position:relative;
  z-index:20;
}
.wordmark {
  font-size:2rem;
  font-weight:650;
  letter-spacing:-1.6px;
  display:inline-flex;
  align-items:baseline;
  line-height:1.2;
}
.brand-logo {
  width:210px;
  height:auto;
  flex-shrink:0;
}
.site-footer .brand-logo {
  width:240px;
}
.brand-point {
  width:7px;
  height:7px;
  background:var(--accent);
  margin-left:3px;
}
.main-nav {
  display:flex;
  align-items:center;
  gap:36px;
  font-size:0.875rem;
  font-weight:600;
}
.main-nav>a {
  padding:12px 0;
  position:relative;
}
.main-nav>a:after {
  content:"";
  position:absolute;
  bottom:6px;
  left:0;
  width:100%;
  height:1px;
  background:currentColor;
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .25s;
}
.main-nav>a:hover:after {
  transform:scaleX(1);
}
.main-nav .nav-contact {
  border-left:1px solid var(--line);
  padding-left:30px;
  display:flex;
  gap:30px;
}
.nav-contact span {
  font-size:1.375rem;
  line-height:1;
}
.menu-toggle {
  display:none;
}
.hero {
  position:relative;
  min-height:750px;
  padding:33px var(--pad) 0;
  isolation:isolate;
  overflow:hidden;
}
.hero-art {
  position:absolute;
  inset:0;
  z-index:-1;
}
.hero-art img {
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 52%;
}
.hero-topline {
  display:flex;
  justify-content:space-between;
  font-size:0.75rem;
  letter-spacing:.1em;
  line-height:1.5;
}
.hero-topline span:last-child {
  letter-spacing:.02em;
}
.hero-title {
  font-size:clamp(78px,11.35vw,190px);
  font-weight:500;
  letter-spacing:-.066em;
  line-height:1.12;
  margin:20px 0 0;
  white-space:nowrap;
}
.hero-title em {
  font-family:var(--serif);
  font-weight:400;
  letter-spacing:-.055em;
}
.title-period {
  color:var(--accent);
  font-family:var(--serif);
}
.hero-copy {
  margin-top:36px;
  position:relative;
  max-width:480px;
}
.hero-jp {
  font-size:clamp(30px,3.15vw,49px);
  font-weight:500;
  line-height:1.6;
  letter-spacing:.01em;
}
.hero-description {
  margin-top:18px;
  font-size:1rem;
  line-height:1.9;
}
.text-link {
  display:inline-flex;
  gap:30px;
  align-items:center;
  font-size:0.9375rem;
  font-weight:600;
  line-height:1.5;
}
.arrow-circle {
  width:44px;
  height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid currentColor;
  border-radius:50%;
  font-weight:400;
  font-size:1.4375rem;
  transition:background .25s,color .25s,transform .25s;
}
.text-link:hover .arrow-circle {
  background:var(--ink);
  color:var(--paper);
  transform:translateY(3px);
}
.hero-link {
  margin-top:24px;
}
.hero-foot {
  margin-top:46px;
  min-height:68px;
  border-top:1px solid #193c3333;
  display:flex;
  align-items:center;
  justify-content:space-between;
  font-size:0.8125rem;
}
.hero-foot a {
  font-size:0.6875rem;
  letter-spacing:.09em;
  display:flex;
  gap:25px;
  align-items:center;
}
.hero-foot a span {
  font-size:1.4375rem;
}
.section-pad {
  padding:72px var(--pad) 110px;
}
.section-kicker {
  border-top:1px solid var(--line);
  padding-top:20px;
  display:flex;
  justify-content:space-between;
  gap:20px;
  font-size:0.8125rem;
  line-height:1.5;
}
.section-kicker>span:first-child {
  font-size:0.75rem;
  letter-spacing:.07em;
}
.editorial-grid {
  display:grid;
  grid-template-columns:1fr 3fr;
  gap:42px;
  margin-top:76px;
}
.side-note {
  font-size:0.9375rem;
  line-height:1.9;
  padding-top:11px;
}
.statement {
  font-size:clamp(31px,3.3vw,52px);
  line-height:1.65;
  letter-spacing:-.02em;
}
.muted {
  color:var(--muted);
}
.why {
  background:#fff;
}
.why-body {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:48px;
  margin-top:36px;
  max-width:850px;
  font-size:1rem;
  line-height:2;
}
.augmentation {
  font-size:clamp(45px,5.2vw,79px);
  line-height:1.06;
  letter-spacing:-.047em;
  margin-top:50px;
  font-weight:400;
}
.augmentation>span:first-child {
  position:relative;
}
.augmentation>span:first-child:after {
  content:"";
  position:absolute;
  left:0;
  bottom:-3px;
  width:100%;
  height:3px;
  background:var(--accent);
}
.augmentation .automation {
  font-family:var(--serif);
  font-style:italic;
  color:#737a72;
}
.augmentation-caption {
  font-size:0.875rem;
  margin-top:22px;
}
.philosophy {
  background:var(--forest);
  color:var(--paper);
  padding-bottom:62px;
}
.philosophy .section-kicker {
  border-color:#ffffff40;
}
.concept-intro {
  display:grid;
  grid-template-columns:1.2fr 1fr;
  gap:100px;
  margin-top:72px;
  padding-bottom:100px;
}
.concept-intro .statement {
  font-size:clamp(36px,4vw,60px);
  line-height:1.6;
}
.serif-jp {
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
  font-weight:500;
}
.concept-body {
  padding-top:10px;
}
.lead {
  font-size:1.375rem;
  line-height:1.9;
}
.concept-body>p+p {
  margin-top:25px;
}
.concept-body>p:nth-child(3) {
  font-size:1rem;
  line-height:2;
  color:#d8dfd5;
}
.concept-note {
  font-size:0.9375rem;
  border-top:1px solid #ffffff35;
  padding-top:22px;
  color:#d8dfd5;
}
.eyebrow {
  font-size:0.75rem;
  letter-spacing:.09em;
  line-height:1.5;
}
.framework {
  scroll-margin-top:35px;
  border-top:1px solid #ffffff40;
  padding-top:33px;
}
.framework-header {
  display:flex;
  justify-content:space-between;
  gap:20px;
  align-items:end;
}
.framework-header h2 {
  font-size:1.625rem;
  margin-top:13px;
}
.framework-header>p {
  font-size:0.8125rem;
  color:#d8dfd5;
  padding-bottom:4px;
}
.framework-header>p>span {
  margin-left:12px;
}
.framework-explanation {
  max-width:920px;
  margin-top:28px;
  font-size:1rem;
  line-height:2;
  color:#d8dfd5;
}
.framework-explanation p+p {
  margin-top:16px;
}
.framework-layout {
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(320px,1fr);
  gap:60px;
  margin-top:20px;
  align-items:center;
}
.model {
  position:relative;
  aspect-ratio:720/620;
  width:100%;
  max-width:790px;
}
.model-lines {
  position:absolute;
  width:100%;
  height:100%;
  color:#87a399;
  opacity:.4;
}
.people-core {
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  width:42%;
  height:42%;
  border-radius:50%;
  background:var(--forest);
  border:1px solid #8ba398;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  z-index:2;
}
.core-en {
  font-size:clamp(35px,4.2vw,64px);
  font-family:var(--serif);
  font-style:italic;
  line-height:1.1;
  letter-spacing:-.03em;
}
.core-dot {
  display:block;
  width:10px;
  height:10px;
  border-radius:50%;
  background:var(--coral);
  margin-bottom:10px;
}
.core-jp {
  font-size:1.125rem;
  margin-top:6px;
}
.core-values {
  font-size:0.75rem;
  margin-top:9px;
  white-space:nowrap;
}
.model-node {
  position:absolute;
  transform:translate(-50%,-50%);
  min-width:144px;
  padding:12px 10px 13px;
  line-height:1.5;
  text-align:center;
  background:var(--forest);
  border:1px solid #8ba398;
  font-size:1rem;
  z-index:3;
  transition:background .25s,color .25s,border-color .25s;
}
.model-node span {
  display:block;
  font-size:0.6875rem;
  line-height:1.2;
  color:#adc0b8;
  margin-bottom:4px;
}
.model-node:hover,.model-node[aria-current="true"] {
  background:var(--paper);
  color:var(--ink);
  border-color:var(--paper);
}
.model-node:hover span,.model-node[aria-current="true"] span {
  color:var(--accent);
}
.node-1 {
  left:50%;
  top:13.9%;
}
.node-2 {
  left:78%;
  top:32.1%;
}
.node-3 {
  left:78%;
  top:67.9%;
}
.node-4 {
  left:50%;
  top:86.1%;
}
.node-5 {
  left:22%;
  top:67.9%;
}
.node-6 {
  left:22%;
  top:32.1%;
}
.model-caption {
  position:absolute;
  bottom:-14px;
  left:50%;
  transform:translateX(-50%);
  font-size:0.75rem;
  color:#c8d4cc;
}
.domain-list {
  margin:30px 0 0;
}
.domain-list-label {
  font-size:0.6875rem;
  letter-spacing:.09em;
  color:#c8d4cc;
  margin-bottom:15px;
}
.domain-list details {
  border-top:1px solid #ffffff40;
  scroll-margin-top:70px;
}
.domain-list details:last-child {
  border-bottom:1px solid #ffffff40;
}
.domain-list summary {
  list-style:none;
  cursor:pointer;
  padding:18px 0;
  display:flex;
  align-items:center;
  gap:16px;
  line-height:1.6;
}
.domain-list summary::-webkit-details-marker {
  display:none;
}
.domain-number {
  font-size:0.75rem;
  color:#c8d4cc;
}
.domain-list h3 {
  font-size:1.125rem;
}
.details-sign {
  font-size:1.5rem;
  font-weight:300;
  line-height:1;
  margin-left:auto;
  transition:transform .2s;
}
.domain-list details[open] .details-sign {
  transform:rotate(45deg);
}
.domain-list details[open] summary {
  color:var(--coral);
}
.domain-content {
  padding:0 0 24px 31px;
  font-size:0.9375rem;
  line-height:1.9;
}
.domain-content p:first-child {
  font-size:1.125rem;
  margin:0 0 10px;
}
.domain-content p:nth-child(2) {
  color:#d8dfd5;
}
.domain-content>span {
  font-size:0.75rem;
  color:#b6c9c0;
  display:block;
  margin-top:14px;
}
.framework-bottom {
  border-top:1px solid #ffffff40;
  margin-top:55px;
  padding-top:32px;
  font-size:1.375rem;
  text-align:center;
  letter-spacing:.02em;
}
.services {
  background:var(--paper);
}
.services-main {
  display:grid;
  grid-template-columns:1.5fr 1fr;
  gap:55px;
  padding:68px 0 58px;
}
.services-main h2 {
  font-size:clamp(29px,3.1vw,47px);
  line-height:1.65;
  margin-top:21px;
  letter-spacing:-.035em;
}
.service-period {
  color:var(--accent);
  font-family:var(--serif);
  font-size:1.6em;
  line-height:0;
}
.services-intro>p:nth-child(2) {
  margin:20px 0 23px;
  font-size:1rem;
  line-height:2;
}
.means-label {
  font-size:0.875rem;
  padding:0 0 25px;
}
.means-label>span {
  font-size:1.75rem;
  line-height:1;
  vertical-align:middle;
  margin-right:24px;
  color:var(--accent);
}
.service-means {
  margin-left:8.3%;
}
.service-row {
  display:grid;
  grid-template-columns:1fr 1.5fr 2fr;
  gap:28px;
  align-items:start;
  border-top:1px solid var(--line);
  padding:33px 0 36px;
}
.service-row:last-child {
  border-bottom:1px solid var(--line);
}
.service-index {
  font-size:0.6875rem;
  letter-spacing:.025em;
  padding-top:7px;
}
.service-row h3 {
  font-size:1.4375rem;
}
.service-row>div>p:first-child {
  font-size:1.0625rem;
  margin-bottom:6px;
}
.service-row>div>p:last-child {
  font-size:0.9375rem;
  color:#555f56;
  line-height:1.85;
}
.process {
  background:#e7e9df;
}
.process-layout {
  display:grid;
  grid-template-columns:1fr 1.12fr;
  gap:11%;
  margin-top:72px;
  align-items:start;
}
.process-sticky {
  position:sticky;
  top:50px;
}
.process-sticky .statement {
  font-size:clamp(31px,3.1vw,47px);
}
.process-sticky>p {
  font-size:0.875rem;
  margin-top:20px;
}
.cycle-visual {
  position:relative;
  max-width:310px;
  width:75%;
  margin-top:24px;
  aspect-ratio:1;
}
.cycle-visual svg {
  width:100%;
  height:100%;
}
.cycle-track {
  stroke:#bcc8bc;
  stroke-width:1;
}
.cycle-progress {
  stroke:var(--accent);
  stroke-width:2;
  stroke-dasharray:100;
  stroke-dashoffset:80;
  transform:rotate(-90deg);
  transform-origin:center;
  transition:stroke-dashoffset .6s var(--ease);
}
.cycle-point {
  fill:var(--accent);
  transform-origin:center;
  transition:transform .6s var(--ease);
}
.cycle-visual>div {
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
}
.cycle-counter {
  font-family:var(--serif);
  font-size:3.1875rem;
  line-height:1.3;
}
.cycle-counter>span {
  font-family:var(--sans);
  font-size:0.875rem;
  color:#6f776e;
}
.cycle-word {
  font-family:var(--serif);
  font-size:1.75rem;
  line-height:1.5;
  letter-spacing:-.02em;
}
.cycle-label {
  font-size:0.8125rem;
  margin-top:8px;
}
.process-sticky .process-note {
  font-size:0.875rem;
  line-height:1.9;
  margin-top:13px;
}
.process-steps {
  list-style:none;
  padding:0;
  margin:0;
}
.process-steps li {
  display:grid;
  grid-template-columns:44px 1fr;
  gap:20px;
  padding:30px 0 50px;
  border-top:1px solid #bbc5b8;
  transition:border-color .4s;
}
.step-number {
  font-size:0.8125rem;
  padding-top:10px;
  color:#6f776e;
}
.step-en {
  font-family:var(--serif);
  font-size:clamp(39px,3.4vw,55px);
  line-height:1.25;
  letter-spacing:-.04em;
  transition:color .35s;
}
.process-steps h3 {
  font-size:1.3125rem;
  margin:13px 0;
}
.process-steps li>div>p:not(.step-en) {
  font-size:1rem;
  line-height:1.9;
}
.step-focus {
  display:block;
  font-size:0.8125rem;
  margin-top:12px;
  color:#616c60;
}
.process-steps li.is-active {
  border-color:var(--accent);
}
.process-steps li.is-active .step-en,.process-steps li.is-active .step-number {
  color:var(--accent);
}
.cycle-return {
  display:flex;
  align-items:center;
  gap:18px;
  margin-top:38px;
  padding-top:26px;
  border-top:1px solid #bbc5b8;
  font-family:var(--serif);
  font-size:1.4375rem;
}
.return-line {
  height:1px;
  background:var(--ink);
  width:90px;
  position:relative;
}
.return-line:after {
  content:"";
  position:absolute;
  right:0;
  top:-3px;
  width:6px;
  height:6px;
  border-top:1px solid;
  border-right:1px solid;
  transform:rotate(45deg);
}
.cycle-return-jp {
  margin-left:auto;
  font-family:var(--sans);
  font-size:0.875rem;
}
.cycle-return-jp>span {
  margin-left:16px;
}
.origin {
  background:#fff;
  padding-bottom:100px;
}
.origin-layout {
  display:grid;
  grid-template-columns:1.4fr 1fr;
  gap:70px;
  margin-top:50px;
}
.quote-mark {
  font-family:var(--serif);
  font-size:6.5625rem;
  line-height:1;
  display:block;
  color:var(--accent);
  height:72px;
}
.origin-quote h2 {
  font-size:clamp(29px,3vw,45px);
  line-height:1.75;
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
  font-weight:500;
  letter-spacing:-.02em;
}
.origin-quote>p {
  font-size:0.8125rem;
  color:#60695e;
  margin-top:25px;
}
.origin-body {
  padding-top:75px;
  font-size:1rem;
  line-height:2.1;
}
.origin-body p+p {
  margin-top:23px;
}
.about {
  background:var(--paper);
}
.about-layout {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:clamp(48px,8vw,128px);
  margin-top:58px;
}
.about-intro h2 {
  font-size:clamp(29px,3vw,46px);
  line-height:1.7;
  letter-spacing:-.025em;
  margin-bottom:28px;
}
.about-intro p {
  max-width:32em;
  font-size:1rem;
  line-height:2;
}
.about-intro p+p {
  margin-top:20px;
}
.company-profile h3 {
  font-size:1rem;
  margin-bottom:22px;
}
.company-profile dl {
  margin:0;
}
.company-profile dl>div {
  display:grid;
  grid-template-columns:88px minmax(0,1fr);
  gap:20px;
  padding:19px 0;
  border-top:1px solid var(--line);
}
.company-profile dl>div:last-child {
  border-bottom:1px solid var(--line);
}
.company-profile dt {
  font-size:0.875rem;
  color:#59675c;
  padding-top:2px;
}
.company-profile dd {
  margin:0;
  font-size:1rem;
  line-height:1.9;
  overflow-wrap:anywhere;
}
.company-profile a {
  text-decoration:underline;
  text-decoration-color:#8d9b8e;
  text-underline-offset:5px;
}
.company-profile a:hover {
  color:var(--accent);
}
@media(max-width:800px) {
  .about-layout { grid-template-columns:1fr; gap:42px; margin-top:40px; }
  .about-intro p { max-width:40em; }
}
@media(max-width:600px) {
  .about-layout { margin-top:32px; gap:35px; }
  .about-intro h2 { font-size:1.75rem; margin-bottom:23px; }
  .company-profile h3 { margin-bottom:17px; }
  .company-profile dl>div { grid-template-columns:64px minmax(0,1fr); gap:12px; padding:17px 0; }
}
.contact {
  color:var(--paper);
  background:var(--forest);
  position:relative;
  overflow:hidden;
  isolation:isolate;
}
.contact-top {
  padding:65px var(--pad) 48px;
  position:relative;
  z-index:1;
}
.contact h2 {
  font-size:clamp(39px,5.2vw,80px);
  line-height:1.5;
  letter-spacing:-.025em;
  margin-top:35px;
}
.contact-bottom {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:32px;
  margin-top:55px;
  padding-top:30px;
  border-top:1px solid #ffffff55;
}
.contact-bottom>p {
  font-size:1.125rem;
  line-height:1.9;
}
.contact-cta {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:80px;
  font-size:1.4375rem;
  padding:12px 0 17px;
  border-bottom:1px solid var(--paper);
  transition:color .25s;
}
.contact-cta>span {
  font-size:2.4375rem;
  line-height:1;
}
.contact-cta:hover {
  color:#ffb19b;
}
.contact-email {
  font-size:0.8125rem;
  margin-top:25px;
  text-align:right;
  color:#cdd8ce;
}
.contact-email>a {
  text-decoration:underline;
  text-underline-offset:4px;
}
.contact-art {
  height:150px;
  overflow:hidden;
  opacity:.8;
}
.contact-art img {
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:60% 67%;
}
.site-footer {
  padding:49px var(--pad) 32px;
  background:var(--paper);
}
.footer-top {
  display:flex;
  align-items:center;
  gap:48px;
  padding-bottom:45px;
}
.footer-top>p {
  font-size:0.875rem;
}
.back-top {
  margin-left:auto;
  font-size:0.8125rem;
  display:flex;
  gap:25px;
  align-items:center;
}
.back-top>span {
  font-size:1.375rem;
}
.footer-bottom {
  border-top:1px solid var(--line);
  padding-top:26px;
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:30px;
  font-size:0.8125rem;
}
.footer-bottom p>span {
  font-size:0.75rem;
  color:#596356;
}
.footer-bottom>div {
  display:flex;
  flex-direction:column;
}
.footer-bottom small {
  font-size:0.6875rem;
  white-space:nowrap;
}
/* Motion never gates access to content. Only the model's decorative assembly animates. */
@media(prefers-reduced-motion:no-preference){.model.is-entering .people-core{animation:core-in .75s var(--ease) both}.model.is-entering .model-lines{animation:line-in 1.15s var(--ease) both}.model.is-entering .model-node{animation:node-in .7s var(--ease) both}.model.is-entering .node-1{animation-delay:.15s}.model.is-entering .node-2{animation-delay:.25s}.model.is-entering .node-3{animation-delay:.35s}.model.is-entering .node-4{animation-delay:.45s}.model.is-entering .node-5{animation-delay:.55s}.model.is-entering .node-6{animation-delay:.65s}@keyframes core-in{from{opacity:0;transform:translate(-50%,-50%) scale(.86)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes node-in{from{opacity:0;translate:0 12px}to{opacity:1;translate:0 0}}@keyframes line-in{from{opacity:0;transform:scale(.85)}to{opacity:.4;transform:scale(1)}}}
@media(min-width:1600px){.hero{min-height:840px}.hero-copy{margin-top:46px}.hero-foot{margin-top:66px}}
@media(max-width:1100px){.main-nav{gap:24px}.hero{min-height:690px}.hero-title{font-size:11.1vw;margin-top:28px}.hero-copy{margin-top:38px}.hero-jp{font-size:2.3125rem}.hero-art img{object-position:59% center}.hero-foot{margin-top:45px}.section-pad{padding-top:60px;padding-bottom:80px}.editorial-grid{grid-template-columns:1fr 3.5fr;gap:25px;margin-top:56px}.why-body{gap:28px}.concept-intro{gap:45px;padding-bottom:70px}.lead{font-size:1.25rem}.framework-layout{grid-template-columns:minmax(0,1.3fr) minmax(300px,1fr);gap:20px}.framework-header{align-items:start}.framework-header>p{max-width:170px}.model-node{min-width:115px;font-size:0.875rem;padding:9px 7px}.core-en{font-size:2.8125rem}.core-values{font-size:0.625rem}.services-main{gap:35px}.services-main h2{font-size:1.8125rem}.service-row{grid-template-columns:1fr 1.6fr 2fr;gap:18px}.service-row h3{font-size:1.25rem}.service-means{margin-left:4%}.service-index{font-size:0.625rem}.process-layout{gap:7%}.origin-layout{gap:45px}.origin-body{padding-top:72px;font-size:0.9375rem}.footer-top{gap:26px}}
@media(max-width:800px){.site-header{height:76px}.wordmark{font-size:1.8125rem}.main-nav{gap:19px;font-size:0.75rem}.main-nav .nav-contact{padding-left:17px;gap:13px}.hero{min-height:715px}.hero-topline span:last-child{display:none}.hero-title{font-size:11.8vw;margin-top:26px}.hero-copy{margin-top:47px}.hero-art img{object-position:62% center}.hero-jp{font-size:2.125rem}.hero-description{font-size:0.9375rem}.hero-foot{margin-top:100px}.editorial-grid{grid-template-columns:1fr}.side-note{display:none}.why-body{font-size:0.9375rem;gap:25px}.statement{font-size:2.125rem}.concept-intro{grid-template-columns:1fr 1fr;gap:35px}.concept-intro .statement{font-size:2.3125rem}.lead{font-size:1.125rem}.concept-body>p:nth-child(3){font-size:0.9375rem}.framework-layout{grid-template-columns:1fr;gap:30px}.model{max-width:610px;margin:auto}.model-node{font-size:1rem;min-width:146px}.core-en{font-size:3.5625rem}.core-values{font-size:0.75rem}.domain-list{margin-top:10px}.domain-content{max-width:520px}.services-main{grid-template-columns:1fr;gap:30px;padding-top:45px}.services-main h2{font-size:2.3125rem}.services-intro{max-width:560px}.service-means{margin-left:0}.service-row{grid-template-columns:1fr 1.3fr;gap:12px 25px}.service-index{grid-column:1 / -1;font-size:0.6875rem}.service-row h3{font-size:1.3125rem}.process-layout{gap:6%}.process-sticky .statement{font-size:1.8125rem}.process-sticky>p{font-size:0.75rem}.process-steps li{grid-template-columns:23px 1fr;gap:10px}.step-en{font-size:2.25rem}.process-steps h3{font-size:1.125rem}.process-steps li>div>p:not(.step-en){font-size:0.9375rem}.step-focus{font-size:0.75rem}.cycle-visual{width:100%}.origin-layout{grid-template-columns:1fr;gap:15px}.origin-quote h2{font-size:2.3125rem}.origin-body{padding-top:20px;margin-left:25%;font-size:1rem}.contact-cta{gap:45px;font-size:1.3125rem}.contact-bottom>p{font-size:1rem}.footer-top{flex-wrap:wrap;gap:15px 27px}.footer-bottom{flex-wrap:wrap}.footer-bottom small{margin-left:auto}}
@media(max-width:600px){:root{--pad:24px}html{scroll-padding-top:24px}.mobile-only{display:block}.site-header{height:auto;min-height:74px;flex-wrap:wrap;padding-top:22px;padding-bottom:22px;gap:20px}.wordmark{font-size:1.8125rem}.menu-toggle{display:none;align-items:center;gap:12px;border:0;background:none;padding:4px 0;font-size:0.75rem;min-height:28px}.js .menu-toggle{display:flex}.menu-icon{width:22px;height:14px;display:block;position:relative;border-top:1px solid;border-bottom:1px solid}.menu-icon:after{content:"";position:absolute;width:22px;height:1px;background:currentColor;top:6px}.menu-toggle[aria-expanded="true"] .menu-icon{border:0}.menu-toggle[aria-expanded="true"] .menu-icon:before,.menu-toggle[aria-expanded="true"] .menu-icon:after{content:"";position:absolute;width:22px;height:1px;background:currentColor;top:6px;transform:rotate(45deg)}.menu-toggle[aria-expanded="true"] .menu-icon:after{transform:rotate(-45deg)}.main-nav{flex-basis:100%;flex-wrap:wrap;gap:5px 24px;border-top:1px solid var(--line);padding-top:12px}.js .main-nav{display:none}.js .main-nav.is-open{display:flex}.main-nav>a{font-size:0.875rem;min-height:44px}.main-nav .nav-contact{border:0;padding-left:0;gap:18px}.hero{min-height:780px;padding-top:21px}.hero-topline{font-size:0.625rem;letter-spacing:.065em}.hero-title{white-space:normal;font-size:clamp(72px,19vw,114px);line-height:.97;letter-spacing:-.065em;margin-top:26px;max-width:100%;position:relative}.hero-title em{display:block;letter-spacing:-.055em}.title-period{position:absolute;bottom:0;left:2.89em}.hero-art{inset:220px 0 0}.hero-art img{object-fit:cover;object-position:58% center;opacity:1}.hero-copy{margin-top:30px;max-width:100%}.hero-jp{font-size:1.75rem;line-height:1.65;letter-spacing:.015em}.hero-description{font-size:0.875rem;margin-top:16px;line-height:1.95}.hero-link{font-size:0.8125rem;margin-top:25px;gap:15px}.hero-link .arrow-circle{width:37px;height:37px;font-size:1.25rem}.hero-foot{margin-top:137px;min-height:55px;font-size:0.625rem;gap:10px}.hero-foot a{font-size:0.5625rem;letter-spacing:.02em;gap:10px}.hero-foot a span{font-size:1.25rem}.section-pad{padding-top:45px;padding-bottom:60px}.section-kicker{padding-top:17px;gap:18px;font-size:0.6875rem;line-height:1.7}.section-kicker>span:first-child{font-size:0.625rem;white-space:nowrap}.section-kicker>span:last-child{text-align:right}.editorial-grid{margin-top:42px}.statement{font-size:1.6875rem;line-height:1.75;letter-spacing:-.025em}.why-body{grid-template-columns:1fr;gap:20px;font-size:0.9375rem;margin-top:26px}.augmentation{font-size:clamp(37px,10.2vw,57px);margin-top:36px;line-height:1.14;letter-spacing:-.055em}.augmentation-caption{font-size:0.75rem;margin-top:20px}.concept-intro{grid-template-columns:1fr;gap:30px;margin-top:38px;padding-bottom:55px}.concept-intro .statement{font-size:2.3125rem;line-height:1.65}.concept-body{padding-top:0}.concept-body .lead{font-size:1.125rem}.concept-body>p+p{margin-top:22px}.concept-note{font-size:0.875rem}.framework{padding-top:27px}.framework-header{display:block}.eyebrow{font-size:0.625rem}.framework-header h2{font-size:1.4375rem;line-height:1.65;margin-top:14px}.framework-header>p{font-size:0.6875rem;margin-top:16px;max-width:none}.framework-layout{margin-top:10px;gap:25px}.model{width:calc(100% + 20px);margin-left:-10px;aspect-ratio:720/700}.model-lines{inset:0;transform:scaleY(1.03)}.people-core{width:43%;height:39%}.core-dot{width:8px;height:8px;margin-bottom:8px}.core-en{font-size:2.125rem}.core-jp{font-size:0.9375rem;margin-top:5px}.core-values{font-size:0.5625rem;margin-top:7px;letter-spacing:-.04em}.model-node{min-width:108px;font-size:0.75rem;padding:9px 7px;line-height:1.55}.model-node span{font-size:0.625rem}.node-1{top:15%}.node-2{left:79%;top:32.5%}.node-3{left:79%;top:67.5%}.node-4{top:85%}.node-5{left:21%;top:67.5%}.node-6{left:21%;top:32.5%;font-size:0.6875rem}.model-caption{font-size:0.625rem;bottom:-10px}.domain-list{margin-top:22px}.domain-list-label{font-size:0.625rem}.domain-list summary{padding:16px 0}.domain-list h3{font-size:1.0625rem}.domain-content{font-size:0.875rem}.domain-content p:first-child{font-size:1.0625rem}.domain-content>span{font-size:0.6875rem}.framework-bottom{margin-top:34px;padding-top:25px;font-size:1.125rem;line-height:1.8}.services-main{padding:39px 0 38px;gap:23px}.services-main h2{font-size:1.6875rem;margin-top:14px;letter-spacing:-.065em}.services-intro .lead{font-size:1.1875rem}.services-intro>p:nth-child(2){font-size:0.9375rem;margin-top:17px}.services-intro .text-link{font-size:0.875rem;gap:20px}.means-label{font-size:0.6875rem;padding-bottom:22px;display:flex;gap:12px;align-items:center}.means-label>span{margin-right:0;font-size:1.5625rem;flex-shrink:0}.service-row{grid-template-columns:1fr;padding:23px 0 25px;gap:9px}.service-index{font-size:0.625rem;padding-top:0}.service-row h3{font-size:1.4375rem;margin-bottom:2px}.service-row>div>p:first-child{font-size:0.9375rem}.service-row>div>p:last-child{font-size:0.875rem}.process-layout{grid-template-columns:1fr;gap:35px;margin-top:38px}.process-sticky{position:relative;top:auto}.process-sticky .statement{font-size:2rem;line-height:1.65}.process-sticky>p{font-size:0.75rem;margin-top:18px}.cycle-visual{max-width:210px;width:62%;margin:15px auto 0}.cycle-counter{font-size:2.5rem}.cycle-word{font-size:1.5625rem}.cycle-label{font-size:0.75rem}.process-sticky .process-note{text-align:center;font-size:0.8125rem;margin-top:5px}.process-steps li{grid-template-columns:28px 1fr;gap:12px;padding:25px 0 34px}.step-number{font-size:0.75rem}.step-en{font-size:2.6875rem}.process-steps h3{font-size:1.25rem;margin:11px 0}.process-steps li>div>p:not(.step-en){font-size:0.9375rem}.step-focus{font-size:0.75rem}.cycle-return{font-size:1.1875rem;gap:12px;flex-wrap:wrap;margin-top:5px;padding-top:23px}.return-line{width:55px}.cycle-return-jp{font-size:0.75rem;flex-basis:100%;margin-left:0}.origin-layout{margin-top:30px;gap:14px}.quote-mark{font-size:5.5rem;height:58px}.origin-quote h2{font-size:1.6875rem;line-height:1.85;letter-spacing:-.035em}.origin-quote>p{font-size:0.6875rem;margin-top:19px}.origin-body{margin-left:0;padding-top:25px;font-size:0.875rem;line-height:2}.origin-body p+p{margin-top:20px}.contact-top{padding-top:45px;padding-bottom:32px}.contact h2{font-size:clamp(27px,7.7vw,40px);line-height:1.7;margin-top:30px;letter-spacing:-.045em}.contact-bottom{display:block;margin-top:33px;padding-top:24px}.contact-bottom>p{font-size:0.9375rem}.contact-cta{font-size:1.3125rem;margin-top:26px;gap:20px;padding-bottom:16px}.contact-cta>span{font-size:1.875rem}.contact-email{text-align:left;font-size:0.6875rem;margin-top:21px}.contact-art{height:110px}.contact-art img{object-position:center 60%}.site-footer{padding-top:37px;padding-bottom:24px}.footer-top{display:grid;grid-template-columns:1fr auto;gap:16px;padding-bottom:29px}.footer-top>.wordmark{grid-column:1 / -1}.footer-top>p{font-size:0.6875rem}.back-top{font-size:0.625rem;gap:10px}.back-top>span{font-size:1.1875rem}.footer-bottom{display:block;padding-top:22px;font-size:0.75rem}.footer-bottom p>span{font-size:0.625rem}.footer-bottom>div{margin-top:17px;font-size:0.75rem}.footer-bottom small{display:block;margin-top:25px;font-size:0.625rem}}
@media(max-width:360px){:root{--pad:20px}.hero-title{font-size:19vw}.hero-jp{font-size:1.625rem}.hero-foot>span{max-width:130px}.model-node{min-width:99px;font-size:0.6875rem}.node-6{font-size:0.625rem}.core-values{font-size:0.5rem}.services-main h2{font-size:1.5625rem}.statement{font-size:1.5625rem}.origin-quote h2{font-size:1.5625rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.process-sticky{position:static}}
/* Verified viewport refinements: separate copy from the image's dark arcs. */
.hero-topline,.section-kicker>span:first-child,.eyebrow,.model-node span,.domain-list-label,.service-index,.footer-bottom small {
  font-size:0.75rem;
}
.core-values {
  font-size:0.75rem;
  max-width:175px;
  white-space:normal;
  text-align:center;
  line-height:1.5;
}
.hero-art img {
  object-position:center 18%;
}
.model-lines-mobile {
  display:none;
}
.core-values>span+span:before {
  content:" / ";
}
.hero-foot {
  position:absolute;
  bottom:0;
  left:0;
  width:100%;
  padding:0 var(--pad);
  margin:0;
  background:var(--paper);
}
@media(max-width:1100px) {
  .model-node {
    font-size:0.875rem;
  }
  .core-values {
    max-width:135px;
  }
  .service-row>div>p:last-child,.origin-body {
    font-size:1rem;
  }
}
@media(max-width:600px) {
  .hero {
    min-height:915px;
  }
  .hero-art {
    inset:auto 0 55px;
    height:350px;
  }
  .hero-art img {
    object-fit:cover;
    object-position:66% 72%;
  }
  .hero-link {
    position:relative;
    z-index:1;
  }
  .title-period {
    left:2.62em;
  }
  .core-values {
    font-size:0.75rem;
    max-width:122px;
  }
  .model-node {
    font-size:0.875rem;
  }
  .node-6 {
    font-size:0.75rem;
  }
  .hero-description,.why-body,.concept-body>p:nth-child(3),.domain-content,.services-intro>p:nth-child(2),.service-row>div>p,.service-row>div>p:last-child,.process-steps li>div>p:not(.step-en),.origin-body {
    font-size:1rem;
  }
  .hero-foot {
    font-size:0.75rem;
  }
  .hero-foot>span {
    max-width:165px;
    line-height:1.5;
  }
  .hero-foot a {
    font-size:0.625rem;
  }
  .section-kicker,.augmentation-caption,.framework-header>p,.model-caption,.means-label,.origin-quote>p,.contact-email,.footer-top>p,.footer-bottom p>span,.back-top,.domain-content>span {
    font-size:0.75rem;
  }
  .people-core {
    height:42%;
    width:44%;
  }
  .core-dot {
    margin-bottom:5px;
  }
  .core-en {
    font-size:1.9375rem;
  }
  .core-jp {
    margin-top:3px;
  }
  .core-values {
    margin-top:5px;
  }
  .hero-topline {
    font-size:0.6875rem;
  }
  .framework-header>p {
    line-height:1.6;
  }
  .footer-top {
    grid-template-columns:1fr;
  }
  .footer-top>.wordmark {
    grid-column:auto;
  }
  .back-top {
    margin-left:0;
  }
  .contact-email {
    line-height:1.9;
  }
}
@media print {
  .menu-toggle,.hero-art,.contact-art,.cycle-visual {
    display:none!important;
  }
  body {
    background:#fff;
    color:#000;
  }
  .site-header {
    position:static;
  }
  .hero {
    min-height:0;
  }
  .hero-title {
    font-size:55pt;
  }
  .hero-foot {
    position:static;
    margin-top:30px;
  }
  .section-pad {
    padding:30px 20px;
  }
  .philosophy,.contact {
    background:#fff;
    color:#000;
  }
  .concept-body>p,.concept-note,.domain-content p:nth-child(2) {
    color:#222;
  }
  .process-sticky {
    position:static;
  }
  .model {
    display:none;
  }
  .framework-layout {
    display:block;
  }
  .domain-list details .domain-content {
    display:block;
  }
  .main-nav {
    display:none!important;
  }
  a {
    color:inherit;
  }
  .site-footer {
    padding:30px 20px;
  }
}
@media(max-width:600px) {
  .hero {
    min-height:830px;
  }
  .model {
    aspect-ratio:360/460;
  }
  .model-lines {
    display:none;
  }
  .model-lines-mobile {
    display:block;
    position:absolute;
    width:100%;
    height:100%;
    color:#87a399;
    opacity:.4;
  }
  .people-core {
    width:48%;
    height:38%;
  }
  .core-values>span {
    display:block;
  }
  .core-values>span+span:before {
    content:none;
  }
  .core-values {
    line-height:1.4;
  }
  .node-1 {
    top:8%;
  }
  .node-2 {
    top:24%;
  }
  .node-3 {
    top:76%;
  }
  .node-4 {
    top:92%;
  }
  .node-5 {
    top:76%;
  }
  .node-6 {
    top:24%;
  }
  .model-caption {
    bottom:-27px;
  }
  .domain-list {
    margin-top:40px;
  }
}

/* Supplied Novanect logo and the expanded explanation of management investment. */
@media (max-width:800px) {
  .site-header .brand-logo { width:180px; }
}
@media (max-width:600px) {
  .site-header { padding-top:12px; padding-bottom:12px; }
  .site-header .brand-logo { width:174px; }
  .site-footer .brand-logo { width:210px; }
  .framework-explanation { margin-top:22px; line-height:1.95; }
}

/* Keep all five navigation links readable on compact tablets. */
@media (min-width:601px) and (max-width:800px) {
  .site-header { height:auto; flex-wrap:wrap; gap:12px; padding-top:16px; padding-bottom:16px; }
  .main-nav { flex-basis:100%; justify-content:space-between; }
}

/* Organizational capital: a quiet editorial bridge from philosophy to services. */
.organizational-capital {
  background:var(--white);
}
.capital-kicker>span:first-child {
  font-size:0.8125rem;
  letter-spacing:.03em;
}
.capital-intro {
  margin-top:58px;
}
.capital-intro h2 {
  font-size:clamp(30px,3.3vw,52px);
  line-height:1.65;
  letter-spacing:-.025em;
}
.capital-intro>p {
  max-width:52em;
  margin-top:30px;
  font-size:1rem;
  line-height:2;
}
.capital-definition {
  margin-top:48px;
  padding:36px clamp(24px,3vw,48px) 40px;
  background:var(--paper);
  border-top:1px solid var(--line);
}
.capital-definition h3 {
  font-size:0.9375rem;
  line-height:1.9;
  margin-bottom:16px;
}
.capital-definition-text {
  max-width:48em;
  font-size:1.25rem;
  line-height:1.9;
}
.capital-examples-label {
  margin-top:30px;
  padding-top:22px;
  border-top:1px solid var(--line);
  font-size:0.8125rem;
  line-height:1.8;
}
.capital-examples {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:30px;
  margin:18px 0 0;
}
.capital-examples>div+div {
  border-left:1px solid var(--line);
  padding-left:30px;
}
.capital-examples dt {
  font-size:1.1875rem;
  line-height:1.7;
  font-weight:500;
  margin-bottom:10px;
}
.capital-examples dd {
  margin:0;
  font-size:0.9375rem;
  line-height:1.9;
}
.capital-closing {
  margin-top:42px;
  padding-top:28px;
  border-top:1px solid var(--line);
  font-size:1rem;
  line-height:2;
}
@media(max-width:1100px) {
  .capital-intro { margin-top:48px; }
  .capital-examples { gap:22px; }
  .capital-examples>div+div { padding-left:22px; }
}
@media(max-width:800px) {
  .capital-examples { grid-template-columns:1fr; gap:24px; }
  .capital-examples>div+div { border-left:0; padding-left:0; }
}
@media(max-width:600px) {
  .capital-kicker>span:first-child { font-size:0.75rem; }
  .capital-intro { margin-top:36px; }
  .capital-intro h2 { font-size:1.75rem; line-height:1.7; }
  .capital-break { display:none; }
  .capital-intro>p { margin-top:23px; font-size:0.9375rem; }
  .capital-definition { margin-top:32px; padding:24px 20px 28px; }
  .capital-definition-text { font-size:1.125rem; }
  .capital-examples-label { margin-top:24px; }
  .capital-closing { margin-top:32px; padding-top:24px; font-size:0.9375rem; }
}
/* Three independent offerings share the existing editorial list. */
.services .services-main { grid-template-columns:1fr 1fr; }
.services .services-main h2 { margin-top:0; }
.services .service-means { margin-left:0; }
.services .service-row { grid-template-columns:minmax(125px,.65fr) minmax(0,1.45fr) minmax(0,1.9fr); gap:32px; }
.service-name h3 { line-height:1.7; }
.service-name h3 span { display:inline-block; }
.service-status {
  display:inline-block;
  margin-top:12px;
  border:1px solid #89978c;
  padding:2px 9px;
  font-size:0.75rem;
  line-height:1.8;
}
.service-availability { display:block; margin-top:12px; font-size:0.8125rem; line-height:1.8; }
.services-follow-through { margin-top:25px; max-width:60em; font-size:0.875rem; line-height:1.9; }
@media(max-width:1100px) {
  .services .service-row { gap:24px; grid-template-columns:125px minmax(0,1.2fr) minmax(0,1.6fr); }
}
@media(max-width:800px) {
  .services .services-main { grid-template-columns:1fr; }
  .services .service-row { grid-template-columns:minmax(0,1fr) minmax(0,1.3fr); gap:14px 25px; }
}
@media(max-width:600px) {
  .services .service-row { grid-template-columns:minmax(0,1fr); gap:15px; padding:26px 0 30px; }
  .services .means-label { font-size:0.875rem; line-height:1.9; }
  .services .service-index { font-size:0.75rem; }
  .service-name h3 { font-size:1.375rem; }
  .service-status,.service-availability { margin-top:8px; }
}
