/* Generated by docs/phase2-top/port_reference.py. */
/* CAPSOR / PHASE 2 / PREVIEW 01 -- deliberately independent of WordPress. */
body.capsor-phase2 {
  --paper:#f8f9f8;
  --ink:#10191e;
  --muted:#5b646b;
  --orange:#ef491e;
  --line:#d8dfe1;
  --gutter:clamp(24px,6.1vw,104px);
  --ease:cubic-bezier(.22,1,.36,1);
  --reveal-distance:20px;
  --reveal-duration:680ms;
  --body-font:"Hiragino Sans","Hiragino Kaku Gothic ProN","Noto Sans CJK JP","Yu Gothic",Meiryo,sans-serif
}

body.capsor-phase2 * {
  box-sizing:border-box
}

body.capsor-phase2 {
  scroll-behavior:auto;
  scroll-padding-top:24px
}

body.capsor-phase2 {
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:var(--body-font);
  -webkit-font-smoothing:antialiased
}

body.capsor-phase2 a {
  color:inherit;
  text-decoration:none
}

body.capsor-phase2 button {
  font:inherit;
  color:inherit;
  cursor:pointer
}

body.capsor-phase2 img {
  display:block;
  max-width:100%;
  height:auto
}

body.capsor-phase2 p,
body.capsor-phase2 h1,
body.capsor-phase2 h2,
body.capsor-phase2 figure {
  margin:0
}

body.capsor-phase2 button,
body.capsor-phase2 a {
  -webkit-tap-highlight-color:transparent
}

body.capsor-phase2 button:focus-visible,
body.capsor-phase2 a:focus-visible {
  outline:3px solid #0869b4;
  outline-offset:6px
}

body.capsor-phase2 button[hidden],
body.capsor-phase2 [hidden] {
  display:none!important
}

body.capsor-phase2 .sr-only {
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0
}

body.capsor-phase2 .skip-link {
  position:fixed;
  left:16px;
  top:-100px;
  background:white;
  padding:16px;
  z-index:100;
  opacity:0;
  pointer-events:none
}

body.capsor-phase2 .skip-link:focus {
  top:16px;
  opacity:1;
  pointer-events:auto
}

body.capsor-phase2 .eyebrow {
  font-family:Arial,sans-serif;
  font-size:10px;
  line-height:1.5;
  letter-spacing:.18em;
  font-weight:600
}

body.capsor-phase2 .site-header {
  min-height:88px;
  padding:0 var(--gutter);
  display:flex;
  align-items:center;
  gap:22px;
  position:relative;
  z-index:10;
  background:#fff;
  border-bottom:1px solid #ecf0f0
}

body.capsor-phase2 .brand {
  display:flex;
  align-items:center;
  flex:0 0 142px;
  height:64px
}

body.capsor-phase2 .brand img {
  width:142px
}

body.capsor-phase2 .preview-tag {
  display:flex;
  align-items:center;
  gap:7px;
  font:8px/1.3 Arial,sans-serif;
  letter-spacing:.13em;
  color:var(--muted);
  white-space:nowrap;
  border-left:1px solid var(--line);
  padding-left:20px
}

body.capsor-phase2 .preview-tag>span {
  width:4px;
  height:4px;
  background:var(--orange);
  border-radius:50%
}

body.capsor-phase2 .preview-tag b {
  font-weight:400;
  color:#10191e
}

body.capsor-phase2 .navigation {
  display:flex;
  gap:26px;
  align-items:center;
  margin-left:auto
}

body.capsor-phase2 .navigation a {
  min-height:44px;
  display:flex;
  align-items:center;
  font-size:11px;
  letter-spacing:.04em;
  font-weight:700
}

body.capsor-phase2 .navigation a:hover {
  color:var(--orange)
}

body.capsor-phase2 .navigation .contact-link {
  background:var(--ink);
  color:white;
  border-radius:2px;
  padding:0 21px;
  gap:22px;
  min-height:42px
}

body.capsor-phase2 .contact-link span[aria-hidden] {
  font-size:19px
}

body.capsor-phase2 .navigation .contact-link:hover {
  background:#26343c;
  color:white
}

body.capsor-phase2 .menu-toggle {
  display:none;
  border:1px solid #bac3c8;
  background:transparent;
  width:44px;
  height:44px;
  border-radius:50%;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:5px
}

body.capsor-phase2 .menu-toggle span {
  width:17px;
  height:1px;
  background:var(--ink)
}

body.capsor-phase2 .hero {
  position:relative;
  min-height:740px;
  isolation:isolate;
  background:linear-gradient(120deg,#fff 8%,#f4f7f7 80%);
  overflow:hidden
}

body.capsor-phase2 .hero-copy {
  position:relative;
  z-index:2;
  padding:44px 0 50px var(--gutter);
  width:60%;
  pointer-events:none
}

body.capsor-phase2 .hero-copy a {
  pointer-events:auto
}

body.capsor-phase2 .hero-eyebrow {
  display:flex;
  align-items:center;
  gap:12px;
  font-size:9px;
  letter-spacing:.2em;
  color:#414f55;
  margin-bottom:17px
}

body.capsor-phase2 .tiny-cross {
  color:var(--orange);
  font-size:21px;
  line-height:10px;
  font-weight:400
}

body.capsor-phase2 .hero-english {
  font-family:Arial,Helvetica,sans-serif;
  font-style:italic;
  font-weight:900;
  letter-spacing:-.065em;
  line-height:.98;
  margin-left:-5px;
  width:max-content;
  max-width:100%;
  margin-bottom:25px
}

body.capsor-phase2 .hero-english .drive {
  display:block;
  font-size:clamp(63px,6.5vw,110px)
}

body.capsor-phase2 .hero-english .overrev {
  display:block;
  font-size:clamp(86px,8.8vw,148px);
  color:var(--orange);
  letter-spacing:-.074em;
  margin-top:-2px;
  position:relative
}

body.capsor-phase2 .period {
  letter-spacing:-.1em
}

body.capsor-phase2 .hero h1 {
  font-size:clamp(44px,4.9vw,76px);
  font-weight:900;
  line-height:1.27;
  letter-spacing:-.065em;
  transform:skew(-5deg);
  transform-origin:left center;
  margin-bottom:24px
}

body.capsor-phase2 .hero h1 span {
  display:block;
  white-space:nowrap
}

body.capsor-phase2 .hero-description {
  font-size:clamp(11px,.98vw,15px);
  letter-spacing:.065em;
  line-height:1.95;
  font-weight:500
}

body.capsor-phase2 .hero-bottom {
  display:flex;
  align-items:center;
  gap:52px;
  margin-top:30px
}

body.capsor-phase2 .domains {
  font:bold 23px/1.4 Arial,sans-serif;
  letter-spacing:.08em
}

body.capsor-phase2 .domains span {
  font-weight:400;
  font-size:20px;
  margin:0 3px
}

body.capsor-phase2 .scroll-link {
  display:flex;
  align-items:center;
  gap:13px;
  min-height:44px;
  font:8px Arial,sans-serif;
  letter-spacing:.15em
}

body.capsor-phase2 .scroll-tick {
  display:inline-grid;
  place-items:center;
  border-left:1px solid #9aa8b0;
  height:27px;
  width:22px;
  font-size:16px
}

body.capsor-phase2 .scroll-link:hover .scroll-tick {
  color:var(--orange)
}

body.capsor-phase2 .hero-visual {
  position:absolute;
  inset:0 0 0 auto;
  width:59%;
  z-index:0;
  clip-path:polygon(25% 0,100% 0,100% 100%,0 100%);
  background:#163c51
}

body.capsor-phase2 .hero-photo {
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:52% 50%;
  filter:saturate(.87)
}

body.capsor-phase2 .hero-shade {
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 40%,rgba(5,22,34,.25) 75%,rgba(5,22,34,.92) 100%)
}

body.capsor-phase2 .hero-line {
  position:absolute;
  bottom:91px;
  left:3%;
  width:230px;
  height:5px;
  transform:rotate(-28deg);
  transform-origin:left;
  background:var(--orange)
}

body.capsor-phase2 .hero-image-note {
  position:absolute;
  right:20px;
  top:25px;
  color:#fff;
  font:8px Arial,sans-serif;
  letter-spacing:.14em;
  writing-mode:vertical-rl;
  opacity:.85
}

body.capsor-phase2 .hero-discover {
  position:absolute;
  z-index:3;
  right:var(--gutter);
  bottom:40px;
  display:flex;
  align-items:center;
  gap:16px;
  color:white;
  min-height:60px
}

body.capsor-phase2 .circle-arrow {
  display:grid;
  place-items:center;
  flex:0 0 54px;
  width:54px;
  height:54px;
  border:1px solid #b7c8cf;
  border-radius:50%;
  font:24px Arial,sans-serif;
  transition:background .2s,border-color .2s
}

body.capsor-phase2 .hero-discover:hover .circle-arrow {
  background:var(--orange);
  border-color:var(--orange)
}

body.capsor-phase2 .hero-discover small {
  font:8px/1.6 Arial,sans-serif;
  letter-spacing:.18em;
  display:block;
  margin-bottom:6px
}

body.capsor-phase2 .hero-discover strong {
  font-size:12px;
  font-weight:500;
  letter-spacing:.08em
}

body.capsor-phase2.intro-play .hero-english {
  animation:capsor-phase2-hero-settle 780ms var(--ease) both
}

body.capsor-phase2.intro-play .hero-line {
  animation:capsor-phase2-line-draw 780ms var(--ease) 100ms both
}

@keyframes capsor-phase2-hero-settle {
from {
    transform:translateY(12px)
  }

to {
    transform:none
  }

}

@keyframes capsor-phase2-line-draw {
from {
    transform:rotate(-28deg) scaleX(0)
  }

to {
    transform:rotate(-28deg) scaleX(1)
  }

}

body.capsor-phase2 .essence {
  position:relative;
  isolation:isolate;
  padding:110px var(--gutter) 62px;
  background:#fff;
  min-height:770px;
  overflow:hidden
}

body.capsor-phase2 .essence-copy {
  position:relative;
  z-index:2;
  max-width:600px;
  width:50%;
  pointer-events:none
}

body.capsor-phase2 .essence-copy a {
  pointer-events:auto
}

body.capsor-phase2 .section-no {
  font-weight:400;
  letter-spacing:.08em
}

body.capsor-phase2 .eyebrow-slash {
  display:inline-block;
  margin:0 17px;
  color:#8b969d
}

body.capsor-phase2 .essence h2 {
  font-size:clamp(36px,4.1vw,64px);
  font-weight:800;
  letter-spacing:-.07em;
  line-height:1.42;
  margin:26px 0 29px
}

body.capsor-phase2 .essence h2 span {
  display:block;
  white-space:nowrap
}

body.capsor-phase2 .essence-body {
  font-size:clamp(12px,1.06vw,16px);
  line-height:2.05;
  letter-spacing:.055em;
  font-weight:500
}

body.capsor-phase2 .essence-body p+p {
  margin-top:14px
}

body.capsor-phase2 .text-link {
  display:inline-flex;
  align-items:center;
  gap:54px;
  margin-top:29px;
  min-height:54px;
  border-bottom:1px solid var(--ink);
  padding-bottom:10px;
  font-size:13px;
  font-weight:700
}

body.capsor-phase2 .text-link small {
  display:block;
  font:8px Arial,sans-serif;
  letter-spacing:.14em;
  margin-top:7px;
  color:var(--muted)
}

body.capsor-phase2 .link-arrow {
  font:26px Arial,sans-serif;
  transition:transform .2s var(--ease)
}

body.capsor-phase2 .text-link:hover .link-arrow {
  transform:translate(3px,-3px)
}

body.capsor-phase2 .essence-art {
  position:absolute;
  right:0;
  top:96px;
  width:53%;
  height:510px;
  z-index:1
}

body.capsor-phase2 .team-frame {
  position:absolute;
  inset:0;
  clip-path:polygon(20% 0,100% 0,100% 100%,0 100%);
  background:#d3dfe1
}

body.capsor-phase2 .team-frame img {
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:55% 50%;
  filter:saturate(.88)
}

body.capsor-phase2 .team-frame figcaption {
  position:absolute;
  bottom:14px;
  right:19px;
  font-size:9px;
  letter-spacing:.04em;
  color:#fff;
  background:rgba(8,24,33,.8);
  padding:5px 9px
}

body.capsor-phase2 .handwritten {
  position:absolute;
  left:0;
  bottom:-16px;
  font:bold italic clamp(42px,4.2vw,68px)/.82 Georgia,serif;
  color:var(--orange);
  transform:rotate(-12deg);
  letter-spacing:-.045em;
  text-shadow:1px 1px 0 rgba(255,255,255,.65)
}

body.capsor-phase2 .handwritten span {
  margin-left:28px
}

body.capsor-phase2 .art-mark {
  position:absolute;
  top:-28px;
  right:50px;
  color:var(--orange);
  font:38px/1 Arial,sans-serif;
  font-weight:200
}

body.capsor-phase2 .essence-baseline {
  position:relative;
  display:flex;
  align-items:center;
  gap:22px;
  margin-top:70px;
  color:#596970;
  max-width:100%;
  font:9px/1.5 Arial,sans-serif;
  letter-spacing:.18em
}

body.capsor-phase2 .baseline-rule {
  height:1px;
  background:#d8dfe1;
  flex:1
}

body.capsor-phase2 .essence-baseline span:not(.baseline-rule) {
  white-space:nowrap
}
/* Default is visible. Only successfully observed off-screen nodes are hidden. */
body.capsor-phase2 [data-reveal] {
  --rx:0px;
  --ry:var(--reveal-distance);
  transition:opacity var(--reveal-duration) var(--ease),transform var(--reveal-duration) var(--ease);
  transition-delay:var(--delay,0ms)
}

body.capsor-phase2 [data-reveal="photo"] {
  --rx:20px;
  --ry:0px
}

body.capsor-phase2 .is-pending {
  opacity:0;
  transform:translate(var(--rx),var(--ry))
}

body.capsor-phase2 .is-shown {
  opacity:1;
  transform:none
}

body.capsor-phase2 .review-footer {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:35px;
  padding:46px var(--gutter) 65px;
  background:#101b22;
  color:#edf2f4
}

body.capsor-phase2 .review-footer .eyebrow {
  color:#b3c4cc;
  font-size:9px
}

body.capsor-phase2 .review-footer h2 {
  font-size:21px;
  letter-spacing:.02em;
  margin:14px 0 12px;
  font-weight:600
}

body.capsor-phase2 .review-summary {
  font-size:12px;
  line-height:1.9;
  max-width:650px;
  color:#c4d0d6
}

body.capsor-phase2 .review-note {
  font-size:10px;
  color:#aabdc7;
  line-height:1.9;
  max-width:700px;
  margin-top:15px
}

body.capsor-phase2 .replay,
body.capsor-phase2 .nojs-back {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:25px;
  background:transparent;
  color:white;
  border:1px solid #7e969f;
  padding:14px 20px;
  white-space:nowrap;
  font-size:11px;
  min-height:48px
}

body.capsor-phase2 .replay:hover,
body.capsor-phase2 .nojs-back:hover {
  border-color:white
}

body.capsor-phase2 .replay span {
  font-size:22px
}

body.capsor-phase2 .preview-controls {
  position:fixed;
  z-index:20;
  right:18px;
  bottom:18px
}

body.capsor-phase2 .preview-controls button {
  display:flex;
  align-items:center;
  gap:9px;
  background:#fff;
  color:#142a36;
  border:1px solid #c7d3d9;
  border-radius:30px;
  min-height:44px;
  padding:0 15px;
  font:9px Arial,sans-serif;
  letter-spacing:.08em;
  box-shadow:0 3px 18px rgba(10,29,37,.09)
}

body.capsor-phase2 .motion-dot {
  width:5px;
  height:5px;
  background:#dc3c17;
  border-radius:50%
}

body.capsor-phase2[data-motion="off"] .motion-dot {
  background:#687780
}

body.capsor-phase2 .preview-controls button:disabled {
  cursor:default
}

body.capsor-phase2 .noscript-message {
  padding:18px var(--gutter);
  font-size:12px;
  background:#eaf0f3
}

body.capsor-phase2[data-motion="off"] [data-reveal] {
  opacity:1!important;
  transform:none!important;
  transition:none!important
}

body.capsor-phase2[data-motion="off"] .hero-english,
body.capsor-phase2[data-motion="off"] .hero-line {
  animation:none!important
}

body.capsor-phase2[data-motion="off"] *,
body.capsor-phase2[data-motion="off"] *::before,
body.capsor-phase2[data-motion="off"] *::after {
  transition:none!important
}

@media(min-width:1600px) {
body.capsor-phase2 .hero {
    min-height:850px
  }

body.capsor-phase2 .hero-copy {
    padding-top:58px;
    padding-bottom:62px
  }

body.capsor-phase2 .hero-description {
    line-height:2
  }

body.capsor-phase2 .hero-bottom {
    margin-top:38px
  }

body.capsor-phase2 .essence {
    padding-top:120px;
    min-height:820px
  }

body.capsor-phase2 .essence-art {
    height:555px;
    top:108px
  }

body.capsor-phase2 .essence-baseline {
    margin-top:80px
  }

}

@media(max-width:1150px) and (min-width:761px) {
body.capsor-phase2 .preview-tag {
    display:none
  }

body.capsor-phase2 .navigation {
    gap:20px
  }

body.capsor-phase2 .hero {
    min-height:700px
  }

body.capsor-phase2 .hero-copy {
    padding-top:54px;
    width:65%
  }

body.capsor-phase2 .hero-description {
    font-size:12px
  }

body.capsor-phase2 .hero-bottom {
    gap:26px
  }

body.capsor-phase2 .domains {
    font-size:20px
  }

body.capsor-phase2 .hero-discover {
    right:32px
  }

body.capsor-phase2 .hero-visual {
    width:57%
  }

body.capsor-phase2 .essence {
    min-height:700px;
    padding-top:92px
  }

body.capsor-phase2 .essence-art {
    height:450px;
    width:52%;
    top:100px
  }

body.capsor-phase2 .essence-copy {
    width:54%
  }

body.capsor-phase2 .essence h2 {
    font-size:42px
  }

body.capsor-phase2 .essence-body {
    font-size:12px
  }

body.capsor-phase2 .essence-baseline {
    margin-top:64px
  }

body.capsor-phase2 .handwritten {
    font-size:49px
  }

body.capsor-phase2 .review-footer {
    align-items:flex-start;
    flex-direction:column;
    gap:24px
  }

}

@media(max-width:760px) {
body.capsor-phase2 {
    --gutter:24px;
    --reveal-distance:10px;
    --reveal-duration:480ms
  }

body.capsor-phase2 .site-header {
    min-height:72px;
    padding:0 22px;
    gap:15px;
    flex-wrap:wrap
  }

body.capsor-phase2 .brand {
    flex-basis:116px;
    height:68px
  }

body.capsor-phase2 .brand img {
    width:116px
  }

body.capsor-phase2 .preview-tag {
    font-size:7px;
    letter-spacing:.1em;
    padding-left:14px;
    gap:5px
  }

body.capsor-phase2 .preview-tag b {
    display:none
  }

body.capsor-phase2 .menu-toggle {
    display:flex;
    margin-left:auto
  }

body.capsor-phase2 .navigation {
    width:100%;
    margin:0;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    padding:0 0 18px
  }

body.capsor-phase2 .navigation a {
    padding:12px 5px;
    font-size:13px;
    min-height:46px
  }

body.capsor-phase2 .navigation .contact-link {
    justify-content:space-between;
    padding:12px 18px;
    margin-top:8px
  }

body.capsor-phase2.enhanced .navigation {
    display:none
  }

body.capsor-phase2.enhanced .site-header.nav-open .navigation {
    display:flex
  }

body.capsor-phase2 .hero {
    min-height:0;
    display:flex;
    flex-direction:column;
    overflow:hidden
  }

body.capsor-phase2 .hero-copy {
    width:100%;
    padding:31px var(--gutter) 22px;
    z-index:2;
    order:0
  }

body.capsor-phase2 .hero-eyebrow {
    font-size:7px;
    letter-spacing:.16em;
    margin-bottom:15px
  }

body.capsor-phase2 .hero-english {
    margin-left:-2px;
    margin-bottom:21px;
    line-height:.94
  }

body.capsor-phase2 .hero-english .drive {
    font-size:clamp(50px,13.5vw,82px)
  }

body.capsor-phase2 .hero-english .overrev {
    font-size:clamp(67px,18.5vw,112px)
  }

body.capsor-phase2 .hero h1 {
    font-size:clamp(37px,10.7vw,64px);
    letter-spacing:-.07em;
    line-height:1.25;
    margin-bottom:20px
  }

body.capsor-phase2 .hero-description {
    font-size:11px;
    line-height:1.95;
    letter-spacing:.018em
  }

body.capsor-phase2 .hero-description br {
    display:none
  }

body.capsor-phase2 .hero-description {
    max-width:350px
  }

body.capsor-phase2 .hero-bottom {
    margin-top:21px;
    gap:25px;
    justify-content:space-between
  }

body.capsor-phase2 .domains {
    font-size:20px
  }

body.capsor-phase2 .domains span {
    font-size:16px;
    margin:0 1px
  }

body.capsor-phase2 .scroll-link {
    font-size:7px;
    gap:8px
  }

body.capsor-phase2 .scroll-tick {
    height:24px;
    font-size:15px
  }

body.capsor-phase2 .hero-visual {
    position:relative;
    inset:auto;
    width:100%;
    height:clamp(305px,76vw,430px);
    order:1;
    margin-top:0;
    clip-path:polygon(14% 0,100% 0,100% 100%,0 100%);
    background:#163c51
  }

body.capsor-phase2 .hero-photo {
    object-position:50% 40%
  }

body.capsor-phase2 .hero-discover {
    bottom:24px;
    right:24px;
    gap:12px;
    min-height:44px
  }

body.capsor-phase2 .circle-arrow {
    width:42px;
    height:42px;
    flex-basis:42px;
    font-size:21px
  }

body.capsor-phase2 .hero-discover strong {
    font-size:11px
  }

body.capsor-phase2 .hero-discover small {
    font-size:7px;
    margin-bottom:3px
  }

body.capsor-phase2 .hero-image-note {
    right:12px;
    top:16px;
    font-size:7px
  }

body.capsor-phase2 .hero-line {
    bottom:47px;
    left:-3%;
    width:165px;
    height:4px
  }

body.capsor-phase2 .essence {
    padding:67px var(--gutter) 37px;
    min-height:0;
    display:flex;
    flex-direction:column
  }

body.capsor-phase2 .essence-copy {
    width:100%;
    max-width:none
  }

body.capsor-phase2 .essence .eyebrow {
    font-size:9px
  }

body.capsor-phase2 .essence h2 {
    font-size:clamp(30px,8.85vw,54px);
    line-height:1.5;
    letter-spacing:-.075em;
    margin:21px 0 22px
  }

body.capsor-phase2 .essence-body {
    font-size:12px;
    line-height:2.15;
    letter-spacing:.025em
  }

body.capsor-phase2 .essence-body p+p {
    margin-top:12px
  }

body.capsor-phase2 .text-link {
    margin-top:23px;
    font-size:12px;
    gap:50px;
    min-height:50px
  }

body.capsor-phase2 .essence-art {
    position:relative;
    inset:auto;
    width:calc(100% + var(--gutter));
    height:clamp(260px,75vw,410px);
    margin:44px 0 0;
    flex:none
  }

body.capsor-phase2 .team-frame {
    clip-path:polygon(13% 0,100% 0,100% 100%,0 100%)
  }

body.capsor-phase2 .team-frame img {
    object-position:55% 50%
  }

body.capsor-phase2 .handwritten {
    font-size:45px;
    left:0;
    bottom:-16px;
    line-height:.84
  }

body.capsor-phase2 .team-frame figcaption {
    font-size:8px;
    right:10px;
    bottom:11px;
    padding:4px 7px
  }

body.capsor-phase2 .art-mark {
    top:-26px;
    right:22px;
    font-size:31px
  }

body.capsor-phase2 .essence-baseline {
    margin-top:48px;
    font-size:7px;
    gap:13px;
    letter-spacing:.1em
  }

body.capsor-phase2 [data-reveal="photo"] {
    --rx:0px;
    --ry:10px
  }

body.capsor-phase2 [data-reveal] {
    transition-delay:var(--mobile-delay,0ms)
  }

body.capsor-phase2 .review-footer {
    padding:35px var(--gutter) 84px;
    display:block
  }

body.capsor-phase2 .review-footer .eyebrow {
    font-size:8px;
    letter-spacing:.08em
  }

body.capsor-phase2 .review-footer h2 {
    font-size:17px;
    line-height:1.7
  }

body.capsor-phase2 .review-summary {
    font-size:11px
  }

body.capsor-phase2 .review-note {
    font-size:9px;
    margin-top:15px
  }

body.capsor-phase2 .replay,
body.capsor-phase2 .nojs-back {
    margin-top:24px;
    max-width:270px;
    font-size:11px
  }

body.capsor-phase2 .preview-controls {
    right:12px;
    bottom:12px
  }

body.capsor-phase2 .preview-controls button {
    min-height:44px;
    font-size:8px;
    padding:0 13px
  }

}

@media(max-width:359px) {
body.capsor-phase2 {
    --gutter:20px
  }

body.capsor-phase2 .site-header {
    padding-inline:18px;
    gap:10px
  }

body.capsor-phase2 .preview-tag {
    padding-left:10px;
    font-size:6px
  }

body.capsor-phase2 .hero h1 {
    font-size:36px
  }

body.capsor-phase2 .hero-description {
    font-size:10.5px
  }

body.capsor-phase2 .hero-bottom {
    gap:12px
  }

body.capsor-phase2 .scroll-link {
    font-size:6px
  }

body.capsor-phase2 .domains {
    font-size:18px
  }

body.capsor-phase2 .essence h2 {
    font-size:29px
  }

body.capsor-phase2 .essence-body {
    font-size:11px
  }

body.capsor-phase2 .essence-body br {
    display:none
  }

body.capsor-phase2 .essence-body p {
    max-width:270px
  }

}

@media(prefers-reduced-motion:reduce) {
body.capsor-phase2 *,
body.capsor-phase2 *::before,
body.capsor-phase2 *::after {
    animation:none!important;
    transition:none!important;
    scroll-behavior:auto!important
  }

body.capsor-phase2 [data-reveal] {
    opacity:1!important;
    transform:none!important
  }

}

@media print {
body.capsor-phase2 .preview-controls,
body.capsor-phase2 .menu-toggle,
body.capsor-phase2 .replay {
    display:none!important
  }

body.capsor-phase2 [data-reveal] {
    opacity:1!important;
    transform:none!important
  }

body.capsor-phase2 .hero-visual,
body.capsor-phase2 .essence-art {
    print-color-adjust:exact
  }

}
/* PREVIEW 02: additions only. Preview 01's hero/essence CSS is unchanged. */
body.capsor-phase2 .full-section { padding:100px var(--gutter); position:relative; isolation:isolate; }

body.capsor-phase2 .full-section h3 { margin:0; }

body.capsor-phase2 .full-section .section-heading { font-size:clamp(36px,3.65vw,60px); line-height:1.38; letter-spacing:-.065em; font-weight:800; margin:27px 0 26px; }

body.capsor-phase2 .full-section .section-description { font-size:clamp(13px,1.04vw,16px); line-height:2.15; letter-spacing:.035em; }

body.capsor-phase2 .full-section .section-description p+p { margin-top:18px; }
/* Business: quiet dark canvas, three independent once-only reveals. */
body.capsor-phase2 .business { background:#101c23; color:#f7fafb; overflow:hidden; padding-bottom:65px; }

body.capsor-phase2 .business-top { display:grid; grid-template-columns:1fr 1fr; gap:60px; position:relative; margin-bottom:48px; }

body.capsor-phase2 .business-top .eyebrow { color:#c1d0d7; }

body.capsor-phase2 .business-top .section-heading { margin-bottom:0; }

body.capsor-phase2 .business-intro { align-self:center; justify-self:end; padding:20px 85px 0 0; position:relative; z-index:1; }

body.capsor-phase2 .business-intro>p { font-size:clamp(14px,1.3vw,19px); line-height:2; letter-spacing:.055em; }

body.capsor-phase2 .business-triad { display:block; margin-top:30px; font:600 10px/1.7 Arial,sans-serif; letter-spacing:.15em; color:#a6b7bf; }

body.capsor-phase2 .business-triad i { color:#ff7049; font-style:normal; margin:0 10px; }

body.capsor-phase2 .business-orbit { position:absolute; right:-45px; top:-80px; border:1px solid #2a3d46; width:270px; height:270px; border-radius:50%; z-index:-1; }

body.capsor-phase2 .business-orbit:after { content:""; width:84px; height:3px; background:var(--orange); position:absolute; right:0; bottom:31px; transform:rotate(-43deg); opacity:.8; }

body.capsor-phase2 .business-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px; }

body.capsor-phase2 .business-card { min-width:0; }

body.capsor-phase2 .business-card-link { display:block; height:100%; }

body.capsor-phase2 .business-photo { height:clamp(170px,15.2vw,255px); position:relative; background:#1d2a30; clip-path:polygon(9% 0,100% 0,91% 100%,0 100%); overflow:hidden; }

body.capsor-phase2 .business-photo img { width:100%; height:100%; object-fit:cover; filter:saturate(.76) contrast(1.03); }

body.capsor-phase2 .business-photo:after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(10,22,30,.22),transparent 40%,rgba(10,22,30,.48)); }

body.capsor-phase2 .business-number { position:absolute; z-index:1; right:13%; top:17px; font:600 12px Arial,sans-serif; letter-spacing:.12em; }

body.capsor-phase2 .business-photo-label { position:absolute; z-index:1; left:10%; bottom:17px; font:600 8px Arial,sans-serif; letter-spacing:.14em; }

body.capsor-phase2 .business-card-body { padding:27px 0 0; }

body.capsor-phase2 .business-catch { font-size:12px; line-height:1.8; letter-spacing:.025em; color:#c7d2d7; margin-bottom:9px; }

body.capsor-phase2 .business-card h3 { font-size:clamp(19px,1.8vw,28px); letter-spacing:-.04em; line-height:1.5; font-weight:700; }

body.capsor-phase2 .business-description { font-size:clamp(11px,.98vw,15px); color:#bdcbd1; line-height:1.95; margin-top:13px; letter-spacing:.025em; }

body.capsor-phase2 .business-bottom { display:flex; justify-content:space-between; align-items:center; min-height:60px; margin-top:18px; border-top:1px solid #3b4c54; font-size:11px; letter-spacing:.04em; }

body.capsor-phase2 .business-arrow { font:28px/1 Arial,sans-serif; transition:transform .25s var(--ease); }

body.capsor-phase2 .business-card-link:hover .business-arrow { transform:translate(4px,-4px); color:#ff754e; }

body.capsor-phase2 .business-card-link:focus-visible { outline-color:#ffa086; }

body.capsor-phase2 .business-foot { display:flex; justify-content:space-between; align-items:center; gap:30px; margin-top:28px; }

body.capsor-phase2 .business-foot p { color:#a5b4bc; font-size:9px; line-height:1.9; }

body.capsor-phase2 .business-foot>a { min-height:44px; display:flex; align-items:center; gap:26px; font-size:11px; white-space:nowrap; }

body.capsor-phase2 .business-foot>a:hover { color:#ff9b80; }

body.capsor-phase2 .business-foot>a>span[aria-hidden] { font:22px Arial,sans-serif; }
/* People: warm photographic composition, no invented employee names. */
body.capsor-phase2 .people { background:#fff; overflow:hidden; padding-top:115px; padding-bottom:80px; }

body.capsor-phase2 .people-main { display:grid; grid-template-columns:43% 53%; gap:4%; align-items:center; }

body.capsor-phase2 .people-copy { position:relative; z-index:2; }

body.capsor-phase2 .people .section-heading { font-size:clamp(34px,3.35vw,57px); }

body.capsor-phase2 .people-collage { position:relative; height:clamp(370px,33vw,570px); align-self:center; margin:0 -15px 0 -25px; }

body.capsor-phase2 .people-shot { position:absolute; }

body.capsor-phase2 .people-shot figure { height:100%; overflow:hidden; background:#e8eced; }

body.capsor-phase2 .people-shot img { height:100%; width:100%; object-fit:cover; filter:saturate(.8); }

body.capsor-phase2 .people-shot-a { left:0; top:12%; width:44%; height:74%; }

body.capsor-phase2 .people-shot-a figure { clip-path:polygon(15% 0,100% 0,85% 100%,0 100%); }

body.capsor-phase2 .people-shot-a img { object-position:51% 45%; }

body.capsor-phase2 .people-shot-b { right:0; top:0; width:54%; height:95%; }

body.capsor-phase2 .people-shot-b figure { clip-path:polygon(14% 0,100% 0,87% 100%,0 100%); }

body.capsor-phase2 .people-shot-b img { object-position:54% 45%; }

body.capsor-phase2 .people-signature { position:absolute; bottom:2%; left:8%; z-index:2; color:#0866a2; font:bold italic clamp(35px,3.1vw,55px)/.96 Georgia,serif; letter-spacing:-.055em; transform:rotate(-9deg); text-shadow:1px 1px 0 #fff; pointer-events:none; }

body.capsor-phase2 .people-signature span { display:block; margin-left:18px; }

body.capsor-phase2 .people-plus { position:absolute; left:45%; top:0; color:var(--orange); font:35px/1 Arial,sans-serif; }

body.capsor-phase2 .people-photo-note { position:absolute; right:10%; bottom:8%; z-index:2; padding:5px 8px; color:#fff; background:rgba(9,24,33,.88); font-size:8px; }

body.capsor-phase2 .culture-strip { border-top:1px solid var(--line); margin-top:70px; padding-top:28px; display:grid; grid-template-columns:18% 1fr; gap:3%; }

body.capsor-phase2 .culture-label { font:600 9px/1.8 Arial,sans-serif; letter-spacing:.12em; color:#586a74; }

body.capsor-phase2 .culture-label span { display:block; margin-top:6px; font-family:var(--body-font); font-size:10px; letter-spacing:0; font-weight:400; }

body.capsor-phase2 .culture-values { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }

body.capsor-phase2 .culture-values p { font-size:clamp(10px,.88vw,14px); font-weight:700; line-height:1.75; letter-spacing:-.025em; }

body.capsor-phase2 .culture-values small { display:block; font:9px/1.8 Arial,sans-serif; color:#526574; letter-spacing:.045em; margin-bottom:8px; font-weight:400; }
/* History: true milestones and a fixed year, no numeric count-up. */
body.capsor-phase2 .history { background:#0c1b25; color:#f4f7f9; overflow:hidden; padding-top:90px; padding-bottom:85px; }

body.capsor-phase2 .history-grid { position:absolute; z-index:-1; inset:0; opacity:.55; background-image:linear-gradient(90deg,rgba(118,155,180,.10) 1px,transparent 1px),linear-gradient(rgba(118,155,180,.08) 1px,transparent 1px); background-size:112px 112px; }

body.capsor-phase2 .history:after { content:""; position:absolute; z-index:-1; inset:0; background:linear-gradient(100deg,#0c1b25 15%,transparent 65%); }

body.capsor-phase2 .history-top { display:grid; grid-template-columns:46% 54%; align-items:center; }

body.capsor-phase2 .history .eyebrow { color:#c2d0da; }

body.capsor-phase2 .history .section-description { color:#c0cdd5; }

body.capsor-phase2 .text-link-light { color:#eff5f8; border-color:#738896; }

body.capsor-phase2 .text-link-light small { color:#c0cdd5; }

body.capsor-phase2 .history-year { position:relative; padding:0 0 16px; margin-top:-14px; }

body.capsor-phase2 .history-year>span { font:11px/1.5 Arial,sans-serif; letter-spacing:.24em; color:#aabfcc; display:block; padding-left:7px; }

body.capsor-phase2 .history-year strong { display:block; font:800 clamp(128px,18.6vw,334px)/1.1 Arial,Helvetica,sans-serif; letter-spacing:-.08em; color:#d8e5ec; opacity:.38; margin-left:-8px; }

body.capsor-phase2 .history-year em { font:8px Arial,sans-serif; letter-spacing:.2em; color:#adc1ce; display:block; padding-left:9px; margin-top:3px; }

body.capsor-phase2 .history-year i { position:absolute; right:4%; top:30%; width:83px; height:4px; background:var(--orange); transform:rotate(-50deg); }

body.capsor-phase2 .history-timeline { position:relative; margin-top:65px; }

body.capsor-phase2 .timeline-track { position:absolute; inset:0 0 auto; height:1px; background:#3b5363; --ry:0px; }

body.capsor-phase2 .timeline-track span { display:block; height:1px; width:100%; background:#8ba6b8; transform:scaleX(1); transform-origin:left; transition:transform 750ms var(--ease); }

body.capsor-phase2 .timeline-track.is-pending span { transform:scaleX(0); }

body.capsor-phase2 .history-timeline ol { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); list-style:none; padding:0; margin:0; gap:30px; }

body.capsor-phase2 .history-timeline li { position:relative; padding-top:25px; }

body.capsor-phase2 .timeline-dot { position:absolute; top:-4px; left:0; width:9px; height:9px; border:1px solid #acc2cf; border-radius:50%; background:#0c1b25; }

body.capsor-phase2 .history-timeline li:first-child .timeline-dot { border-color:#ff744e; background:#ff744e; }

body.capsor-phase2 .history-timeline time { display:block; font:500 27px/1.3 Arial,sans-serif; letter-spacing:-.03em; margin-bottom:15px; }

body.capsor-phase2 .history-timeline h3 { font-size:clamp(11px,1.05vw,16px); font-weight:600; letter-spacing:.015em; }

body.capsor-phase2 .history-timeline p { font-size:clamp(10px,.85vw,13px); color:#b4c5d0; line-height:1.95; margin-top:9px; }
/* News is readable immediately; list rows are not delayed. */
body.capsor-phase2 .news { display:grid; grid-template-columns:30% 1fr; gap:6%; background:#fff; align-items:start; padding-top:110px; padding-bottom:105px; }

body.capsor-phase2 .news .section-heading { margin-bottom:22px; }

body.capsor-phase2 .news-caption { font-size:12px; color:#5b6870; line-height:2; letter-spacing:.025em; }

body.capsor-phase2 .news-entries { margin-top:2px; }

body.capsor-phase2 .news-entries ul { list-style:none; margin:0; padding:0; border-top:1px solid #adb9bf; }

body.capsor-phase2 .news-row { display:grid; grid-template-columns:86px 46px 1fr 22px; gap:18px; align-items:start; padding:29px 0; min-height:108px; border-bottom:1px solid #dce2e5; }

body.capsor-phase2 .news-row time { font:11px/1.8 Arial,sans-serif; color:#5a6972; white-space:nowrap; margin-top:3px; }

body.capsor-phase2 .news-category { font:8px/1.8 Arial,sans-serif; border:1px solid #bfccd1; text-align:center; padding:2px 3px; letter-spacing:.05em; margin-top:1px; color:#51656e; }

body.capsor-phase2 .news-title { font-size:13px; line-height:1.95; font-weight:500; }

body.capsor-phase2 .news-arrow { font:21px/1.2 Arial,sans-serif; margin-top:3px; transition:transform .2s var(--ease); }

body.capsor-phase2 .news-row:hover .news-title { text-decoration:underline; text-underline-offset:4px; }

body.capsor-phase2 .news-row:hover .news-arrow { transform:translate(2px,-2px); }

body.capsor-phase2 .news-snapshot { margin-top:18px; font-size:9px; line-height:1.9; color:#63737b; text-align:right; }
/* The final invitation is calm and usable before any animation. */
body.capsor-phase2 .contact { background:#f0f2ef; border-top:1px solid #d4dcd9; padding-top:78px; padding-bottom:92px; overflow:hidden; }

body.capsor-phase2 .contact>.eyebrow { color:#54656b; }

body.capsor-phase2 .contact-main { display:flex; justify-content:space-between; align-items:center; gap:35px; margin:30px 0 40px; }

body.capsor-phase2 .contact-copy { flex:1; }

body.capsor-phase2 .contact h2 { font-size:clamp(39px,5.05vw,82px); line-height:1.32; letter-spacing:-.075em; font-weight:800; margin-bottom:27px; }

body.capsor-phase2 .contact h2>span { color:#cc3e1b; }

body.capsor-phase2 .contact .section-description { font-size:13px; color:#3e525b; }

body.capsor-phase2 .contact-symbol { position:relative; width:clamp(120px,15vw,238px); height:clamp(120px,15vw,238px); flex:none; border:1px solid #c2cdc9; border-radius:50%; display:grid; place-items:center; margin-right:1.5%; }

body.capsor-phase2 .contact-symbol>span { font:clamp(80px,10vw,158px)/1 Arial,sans-serif; font-weight:300; color:#152b35; margin-top:-8px; }

body.capsor-phase2 .contact-symbol>i { position:absolute; width:10px; height:10px; border-radius:50%; background:#d8451e; top:5%; right:20%; }

body.capsor-phase2 .contact-actions { display:flex; align-items:stretch; gap:22px; }

body.capsor-phase2 .contact-actions>a { display:flex; align-items:center; justify-content:space-between; padding:22px 28px; min-height:92px; width:385px; gap:26px; font-size:14px; font-weight:600; transition:background .2s ease,color .2s ease; }

body.capsor-phase2 .contact-actions small { display:block; font:8px/1.7 Arial,sans-serif; letter-spacing:.12em; font-weight:400; margin-bottom:7px; }

body.capsor-phase2 .action-primary { background:#14252d; color:#fff; border:1px solid #14252d; }

body.capsor-phase2 .action-primary small { color:#b8cbd3; }

body.capsor-phase2 .action-primary:hover { background:#293e49; }

body.capsor-phase2 .action-secondary { background:transparent; border:1px solid #7d9098; }

body.capsor-phase2 .action-secondary small { color:#526872; }

body.capsor-phase2 .action-secondary:hover { background:#fff; }

body.capsor-phase2 .action-arrow { font:30px/1 Arial,sans-serif; font-weight:400; }
/* Corporate footer and a clearly separate preview notice. */
body.capsor-phase2 .corporate-footer { padding:60px var(--gutter) 25px; background:#0c171d; color:#e0e9ec; }

body.capsor-phase2 .footer-main { display:grid; grid-template-columns:1fr 1fr 1fr; gap:55px; padding-bottom:42px; }

body.capsor-phase2 .footer-brand { display:inline-block; background:#fff; padding:12px 15px; }

body.capsor-phase2 .footer-brand img { width:146px; }

body.capsor-phase2 .footer-identity>p { margin-top:20px; font-size:12px; letter-spacing:.04em; }

body.capsor-phase2 .footer-identity>span { display:block; font:italic bold 21px/1.5 Arial,sans-serif; letter-spacing:-.045em; margin-top:5px; color:#9eb2be; }

body.capsor-phase2 .footer-sections { display:grid; grid-template-columns:1fr 1fr; gap:0 25px; align-content:start; }

body.capsor-phase2 .footer-sections>a,
body.capsor-phase2 .footer-public>a { display:flex; align-items:center; min-height:44px; font-size:11px; line-height:1.7; }

body.capsor-phase2 .footer-public>a { color:#b5c6d0; justify-content:space-between; gap:16px; }

body.capsor-phase2 .footer-public>a>span[aria-hidden] { font:18px Arial,sans-serif; }

body.capsor-phase2 .corporate-footer a:hover { color:#fff; text-decoration:underline; text-underline-offset:5px; }

body.capsor-phase2 .footer-bottom { border-top:1px solid #30414a; padding-top:22px; display:flex; align-items:center; gap:30px; justify-content:space-between; font:9px Arial,sans-serif; letter-spacing:.08em; color:#a8bac5; }

body.capsor-phase2 .footer-bottom>small { font-size:9px; }

body.capsor-phase2 .footer-bottom>a { min-height:44px; display:flex; align-items:center; gap:25px; font-size:8px; }

body.capsor-phase2 .footer-bottom>a>span { font-size:22px; }

body.capsor-phase2 .review-footer { background:#e8edec; color:#203740; padding-top:32px; padding-bottom:72px; border-top:1px solid #cad7d8; }

body.capsor-phase2 .review-footer .eyebrow { color:#556f7b; font-size:8px; }

body.capsor-phase2 .review-footer h2 { font-size:14px; margin:13px 0 10px; }

body.capsor-phase2 .review-summary { color:#415a64; font-size:10px; max-width:730px; }

body.capsor-phase2 .preview-details { margin-top:15px; max-width:780px; font-size:10px; line-height:1.9; color:#425d69; }

body.capsor-phase2 .preview-details summary { cursor:pointer; min-height:32px; padding:5px 0; }

body.capsor-phase2 .preview-details p { margin:10px 0 0; }

body.capsor-phase2 .preview-details a { text-decoration:underline; text-underline-offset:3px; }

body.capsor-phase2 .review-footer .replay,
body.capsor-phase2 .review-footer .nojs-back { color:#1e3b49; border-color:#849ba4; }

body.capsor-phase2 .review-footer .replay:hover,
body.capsor-phase2 .review-footer .nojs-back:hover { background:#faffff; }

@media(min-width:1600px) {
body.capsor-phase2 .business { padding-top:120px; padding-bottom:85px; }

body.capsor-phase2 .business-top { margin-bottom:62px; }

body.capsor-phase2 .business-intro { padding-right:150px; }

body.capsor-phase2 .people { padding-top:135px; padding-bottom:100px; }

body.capsor-phase2 .history { padding-top:105px; padding-bottom:105px; }

}

@media(max-width:1100px) and (min-width:761px) {
body.capsor-phase2 .full-section { padding-top:82px; padding-bottom:72px; }

body.capsor-phase2 .business-top { gap:25px; }

body.capsor-phase2 .business-intro { padding-right:20px; }

body.capsor-phase2 .business-grid { gap:22px; }

body.capsor-phase2 .business-photo { height:175px; }

body.capsor-phase2 .business-card h3 { font-size:19px; }

body.capsor-phase2 .business-description { font-size:11px; }

body.capsor-phase2 .people-main { grid-template-columns:46% 51%; gap:3%; }

body.capsor-phase2 .people .section-heading { font-size:34px; }

body.capsor-phase2 .people-collage { height:350px; margin-left:0; }

body.capsor-phase2 .people-signature { font-size:33px; }

body.capsor-phase2 .culture-strip { grid-template-columns:1fr; gap:20px; margin-top:55px; }

body.capsor-phase2 .culture-label { display:flex; gap:20px; align-items:center; }

body.capsor-phase2 .culture-label span { margin-top:0; }

body.capsor-phase2 .culture-values p { font-size:12px; }

body.capsor-phase2 .history-year strong { font-size:17.7vw; }

body.capsor-phase2 .history-timeline ol { gap:22px; }

body.capsor-phase2 .news { grid-template-columns:28% 1fr; gap:5%; }

body.capsor-phase2 .news-row { grid-template-columns:80px 1fr 22px; gap:10px 16px; }

body.capsor-phase2 .news-category { display:none; }

body.capsor-phase2 .news-title { font-size:12px; }

body.capsor-phase2 .contact h2 { font-size:4.8vw; }

body.capsor-phase2 .contact-actions>a { font-size:12px; width:345px; }

body.capsor-phase2 .footer-main { gap:30px; grid-template-columns:.9fr 1fr 1.1fr; }

body.capsor-phase2 .footer-sections { gap:0 12px; }

body.capsor-phase2 .footer-sections>a,
body.capsor-phase2 .footer-public>a { font-size:10px; }

}

@media(max-width:900px) and (min-width:761px) {
body.capsor-phase2 .people-main { display:block; }

body.capsor-phase2 .people-copy { max-width:600px; }

body.capsor-phase2 .people-collage { height:420px; max-width:630px; margin:45px auto 0; }

body.capsor-phase2 .people .section-heading { font-size:42px; }

body.capsor-phase2 .footer-main { grid-template-columns:1fr 1fr; }

body.capsor-phase2 .footer-identity { grid-column:1 / -1; }

}

@media(max-width:760px) {
body.capsor-phase2 .full-section { padding:66px var(--gutter); }

body.capsor-phase2 .full-section .eyebrow { font-size:9px; }

body.capsor-phase2 .full-section .section-heading { font-size:clamp(30px,8.6vw,50px); margin:21px 0 23px; line-height:1.45; }

body.capsor-phase2 .full-section .section-description { font-size:12px; line-height:2.1; letter-spacing:.02em; }

body.capsor-phase2 .business { padding-bottom:43px; }

body.capsor-phase2 .business-top { grid-template-columns:1fr; gap:18px; margin-bottom:33px; }

body.capsor-phase2 .business-intro { padding:0; justify-self:start; }

body.capsor-phase2 .business-intro>p { font-size:12px; line-height:2.1; }

body.capsor-phase2 .business-triad { margin-top:22px; font-size:9px; }

body.capsor-phase2 .business-orbit { width:190px; height:190px; right:-105px; top:-25px; opacity:.7; }

body.capsor-phase2 .business-grid { grid-template-columns:1fr; gap:38px; }

body.capsor-phase2 .business-photo { height:clamp(170px,51vw,290px); clip-path:polygon(7% 0,100% 0,93% 100%,0 100%); }

body.capsor-phase2 .business-photo img { object-position:center 48%; }

body.capsor-phase2 .business-number { font-size:12px; top:13px; }

body.capsor-phase2 .business-photo-label { font-size:8px; bottom:13px; }

body.capsor-phase2 .business-card-body { padding:20px 0 0; }

body.capsor-phase2 .business-catch { font-size:11px; margin-bottom:7px; }

body.capsor-phase2 .business-card h3 { font-size:24px; }

body.capsor-phase2 .business-description { font-size:12px; line-height:1.95; margin-top:10px; }

body.capsor-phase2 .business-bottom { margin-top:16px; min-height:51px; font-size:11px; }

body.capsor-phase2 .business-arrow { font-size:25px; }

body.capsor-phase2 .business-foot { display:block; margin-top:28px; }

body.capsor-phase2 .business-foot p { font-size:8px; }

body.capsor-phase2 .business-foot>a { margin-top:12px; justify-content:space-between; font-size:11px; }

body.capsor-phase2 .people { padding-top:69px; padding-bottom:50px; }

body.capsor-phase2 .people-main { display:block; }

body.capsor-phase2 .people .section-heading { font-size:clamp(28px,7.7vw,48px); }

body.capsor-phase2 .people-collage { height:clamp(282px,81vw,440px); margin:48px -6px 0 -10px; }

body.capsor-phase2 .people-signature { font-size:clamp(31px,8.8vw,48px); bottom:0; }

body.capsor-phase2 .people-photo-note { font-size:7px; padding:4px 6px; right:8%; }

body.capsor-phase2 .people-plus { font-size:29px; }

body.capsor-phase2 .culture-strip { margin-top:49px; padding-top:25px; grid-template-columns:1fr; gap:25px; }

body.capsor-phase2 .culture-label { display:flex; justify-content:space-between; font-size:8px; }

body.capsor-phase2 .culture-label span { font-size:9px; margin:0; }

body.capsor-phase2 .culture-values { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 15px; }

body.capsor-phase2 .culture-values p { font-size:11px; }

body.capsor-phase2 .culture-values small { font-size:8px; margin-bottom:6px; }

body.capsor-phase2 .history { padding-top:67px; padding-bottom:54px; }

body.capsor-phase2 .history-top { display:block; }

body.capsor-phase2 .history-year { margin-top:35px; padding:0; }

body.capsor-phase2 .history-year>span { font-size:9px; padding-left:3px; }

body.capsor-phase2 .history-year strong { font-size:clamp(130px,44vw,248px); margin-left:-5px; line-height:1.12; opacity:.48; }

body.capsor-phase2 .history-year em { font-size:7px; padding-left:3px; letter-spacing:.13em; }

body.capsor-phase2 .history-year i { width:55px; height:3px; right:5%; top:25%; }

body.capsor-phase2 .history-timeline { margin-top:40px; }

body.capsor-phase2 .timeline-track { display:none; }

body.capsor-phase2 .history-timeline ol { display:block; padding:0 0 0 17px; border-left:1px solid #496475; margin-left:4px; }

body.capsor-phase2 .history-timeline li { padding:0 0 30px 10px; }

body.capsor-phase2 .history-timeline li:last-child { padding-bottom:0; }

body.capsor-phase2 .timeline-dot { left:-22px; top:10px; }

body.capsor-phase2 .history-timeline time { font-size:25px; margin-bottom:9px; }

body.capsor-phase2 .history-timeline h3 { font-size:13px; }

body.capsor-phase2 .history-timeline p { font-size:11px; line-height:1.9; margin-top:6px; }

body.capsor-phase2 .news { display:block; padding-top:65px; padding-bottom:50px; }

body.capsor-phase2 .news .section-heading { margin-bottom:18px; }

body.capsor-phase2 .news .section-heading br { display:none; }

body.capsor-phase2 .news-caption { font-size:11px; }

body.capsor-phase2 .news-entries { margin-top:28px; }

body.capsor-phase2 .news-row { grid-template-columns:90px 1fr 22px; gap:10px; padding:23px 0; min-height:0; align-items:center; }

body.capsor-phase2 .news-row time { font-size:10px; margin:0; }

body.capsor-phase2 .news-category { width:43px; font-size:7px; margin:0; justify-self:start; }

body.capsor-phase2 .news-title { grid-column:1 / 3; grid-row:2; font-size:12px; line-height:1.95; }

body.capsor-phase2 .news-arrow { grid-column:3; grid-row:2; font-size:22px; align-self:center; }

body.capsor-phase2 .news-snapshot { font-size:8px; margin-top:17px; }

body.capsor-phase2 .contact { padding-top:53px; padding-bottom:63px; }

body.capsor-phase2 .contact-main { display:block; margin:26px 0 28px; }

body.capsor-phase2 .contact h2 { font-size:clamp(27px,7.5vw,50px); line-height:1.5; letter-spacing:-.06em; margin-bottom:21px; }

body.capsor-phase2 .contact h2>span { font-size:1.5em; letter-spacing:-.085em; }

body.capsor-phase2 .contact .section-description { font-size:11px; line-height:2; max-width:340px; }

body.capsor-phase2 .contact .section-description br { display:none; }

body.capsor-phase2 .contact-symbol { display:none; }

body.capsor-phase2 .contact-actions { flex-direction:column; gap:14px; }

body.capsor-phase2 .contact-actions>a { width:100%; padding:20px; min-height:85px; font-size:12px; gap:15px; }

body.capsor-phase2 .contact-actions small { font-size:7px; }

body.capsor-phase2 .action-arrow { font-size:27px; }

body.capsor-phase2 .corporate-footer { padding:43px var(--gutter) 22px; }

body.capsor-phase2 .footer-main { grid-template-columns:1fr; gap:26px; padding-bottom:22px; }

body.capsor-phase2 .footer-brand { padding:9px 12px; }

body.capsor-phase2 .footer-brand img { width:136px; }

body.capsor-phase2 .footer-identity>p { font-size:11px; margin-top:16px; }

body.capsor-phase2 .footer-identity>span { font-size:21px; }

body.capsor-phase2 .footer-sections { grid-template-columns:1fr 1fr; gap:0 22px; }

body.capsor-phase2 .footer-sections>a,
body.capsor-phase2 .footer-public>a { font-size:11px; min-height:44px; }

body.capsor-phase2 .footer-public { border-top:1px solid #2b404b; padding-top:13px; }

body.capsor-phase2 .footer-bottom { gap:14px; padding-top:15px; font-size:8px; }

body.capsor-phase2 .footer-bottom>small { font-size:8px; }

body.capsor-phase2 .footer-bottom>span { display:none; }

body.capsor-phase2 .footer-bottom>a { font-size:7px; gap:12px; }

body.capsor-phase2 .review-footer { padding-top:29px; padding-bottom:83px; }

body.capsor-phase2 .review-footer h2 { font-size:12px; line-height:1.8; }

body.capsor-phase2 .review-summary,
body.capsor-phase2 .preview-details { font-size:9px; line-height:1.95; }

body.capsor-phase2 .preview-details summary { min-height:44px; display:list-item; }

}

@media(max-width:359px) {
body.capsor-phase2 .people .section-heading { font-size:26px; }

body.capsor-phase2 .culture-values p { font-size:10px; }

body.capsor-phase2 .culture-values small { font-size:7px; }

body.capsor-phase2 .contact h2 { font-size:25px; }

body.capsor-phase2 .contact-actions>a { padding:18px 15px; font-size:11px; }

}

@media(prefers-reduced-motion:reduce) {
body.capsor-phase2 .timeline-track span { transform:none!important; transition:none!important; }

}

body.capsor-phase2[data-motion="off"] .timeline-track span { transform:none!important; transition:none!important; }

@media print {
body.capsor-phase2 .business,
body.capsor-phase2 .history,
body.capsor-phase2 .corporate-footer { print-color-adjust:exact; }

body.capsor-phase2 .preview-details { display:none; }

}
