/* Capnexus Technologies — shared styles
   Palette: ink, deep navy, brass (from the ipowork amber), teal (from the ipowork brand), cool paper.
   Type: Spectral for headings (a serious screen serif), Public Sans for text. */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600&family=Public+Sans:wght@300;400;500;600&display=swap');
:root{--ink:#0D1B26;--navy:#14304A;--brass:#A9772A;--brass-l:#D9B26F;--teal:#2E7F86;--paper:#F3F4F1;--white:#FFFFFF;--text:#1B2A33;--mu:#5E6C73;--mu-d:#9DB0BA;--line:#E1E3DE;--line-d:#24384A}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font:17px/1.65 "Public Sans",system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--text);background:var(--white);-webkit-font-smoothing:antialiased}
a{color:inherit}
a:focus-visible,button:focus-visible{outline:2px solid var(--brass);outline-offset:3px}
.wrap{max-width:1160px;margin:0 auto;padding:0 32px}
@media(max-width:640px){.wrap{padding:0 16px}body{font-size:16px}}
h1,h2,h3{font-family:"Cormorant Garamond",Georgia,serif;font-weight:500;letter-spacing:-.005em}

/* header */
.top{background:var(--white);color:var(--navy);border-bottom:1px solid var(--line);box-shadow:inset 0 -1px 0 var(--line)}
.top:before{content:"";display:block;height:3px;background:var(--brass)}
.top .wrap{display:flex;align-items:center;justify-content:space-between;height:76px;gap:16px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.brand img{width:34px;height:34px;border-radius:8px}
.brand span{font-family:"Cormorant Garamond",Georgia,serif;font-size:25px;font-weight:600;letter-spacing:.01em;color:var(--navy)}
.top nav a{text-decoration:none;color:var(--mu);font-size:15px;margin-left:30px}
.top nav a:hover{color:var(--navy)}
@media(max-width:760px){.top nav a{margin-left:16px}.top nav .opt{display:none}}

/* hero: the capital journey */
.hero{background:var(--white);color:var(--navy);padding:96px 0 0;overflow:hidden}
.hero h1{font-size:clamp(40px,6.2vw,80px);line-height:1.02;max-width:940px;font-weight:500;color:var(--navy)}
.hero .sub{color:var(--mu);font-weight:300;font-size:clamp(17px,1.9vw,20px);max-width:640px;margin-top:24px}
.journey{margin-top:56px;position:relative}
.journey svg{display:block;width:100%;height:auto}
.journey .band{fill:none;stroke:var(--line);stroke-width:1}
.journey .path{fill:none;stroke:var(--brass);stroke-width:2.5;stroke-linecap:round}
.journey .ghost{fill:none;stroke:#EDEEEA;stroke-width:2.5}
.journey .link{stroke:var(--teal);stroke-width:1.5;stroke-dasharray:4 6}
.journey .node{fill:#fff;stroke:var(--brass);stroke-width:2.5}
.journey .node.cap{stroke:var(--teal)}
.journey .nm{font-family:"Cormorant Garamond",Georgia,serif;font-size:30px;font-weight:600;fill:var(--navy)}
.journey .st{font-family:"Public Sans",sans-serif;font-size:14px;fill:var(--mu)}
.journey .zone{font-family:"Cormorant Garamond",Georgia,serif;font-style:italic;font-size:19px;fill:#8A969C}
.journey .reveal{opacity:0;animation:show .5s ease forwards}
.journey .draw{stroke-dasharray:1400;stroke-dashoffset:1400;animation:draw 1.8s .2s cubic-bezier(.6,0,.2,1) forwards}
@keyframes draw{to{stroke-dashoffset:0}}
@keyframes show{to{opacity:1}}
@media(prefers-reduced-motion:reduce){.journey .draw{animation:none;stroke-dashoffset:0}.journey .reveal{animation:none;opacity:1}}
.steps{display:none}
@media(max-width:720px){
  .journey svg{display:none}
  .steps{display:block;list-style:none;border-left:2px solid var(--brass);margin:0 0 0 8px;padding:0 0 8px 22px}
  .steps li{position:relative;padding:0 0 22px}
  .steps li:before{content:"";position:absolute;left:-30px;top:8px;width:12px;height:12px;border-radius:50%;background:#fff;border:3px solid var(--brass)}
  .steps li.cap:before{border-color:var(--teal)}
  .steps b{font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;font-size:26px;display:block;line-height:1.2;color:var(--navy)}
  .steps span{color:var(--mu);font-size:15px}
}
.hero-foot{border-top:1px solid var(--line);margin-top:8px;padding:22px 0 30px;display:flex;gap:36px;flex-wrap:wrap;color:var(--mu);font-size:14.5px}
.hero-foot i{font-style:normal;display:inline-block;width:22px;height:3px;vertical-align:middle;margin-right:8px;background:var(--brass)}
.hero-foot i.t{background:var(--teal);height:0;border-top:2px dashed var(--teal)}

/* sections */
.sec{padding:104px 0}
@media(max-width:640px){.sec{padding:64px 0}}
.sec h2{font-size:clamp(34px,4.4vw,54px);line-height:1.06;max-width:780px;color:var(--navy)}
.sec h2:after{content:"";display:block;width:56px;height:2px;background:var(--brass);margin-top:22px}
.sec .intro{color:var(--mu);max-width:640px;margin-top:18px;font-weight:300;font-size:18px}
.paper{background:var(--paper)}

/* the nexus: two sides */
.sides{display:grid;grid-template-columns:1fr 1fr;margin-top:56px;border-top:1px solid var(--line)}
@media(max-width:760px){.sides{grid-template-columns:1fr}}
.side{padding:36px 40px 8px 0}
.side+.side{padding-left:40px;border-left:1px solid var(--line)}
@media(max-width:760px){.side+.side{padding-left:0;border-left:0;border-top:1px solid var(--line)}}
.side h3{font-size:30px;margin-bottom:6px;color:var(--navy)}
.side .who{color:var(--mu);font-size:15px;margin-bottom:18px}
.side ul{list-style:none}
.side li{padding:12px 0;border-top:1px solid var(--line);font-size:16px}
.side li:first-child{border-top:0}
.side.co h3{color:var(--navy)}
.side.co h3:before,.side.cp h3:before{content:"";display:inline-block;width:12px;height:12px;border-radius:50%;margin-right:12px;vertical-align:middle;border:3px solid var(--brass)}
.side.cp h3:before{border-color:var(--teal)}

/* platforms */
.plat{margin-top:56px}
.pl{display:grid;grid-template-columns:150px 260px 1fr 150px;gap:28px;padding:34px 0;border-top:1px solid var(--line);align-items:baseline}
.pl:last-child{border-bottom:1px solid var(--line)}
@media(max-width:900px){.pl{grid-template-columns:1fr;gap:6px;padding:28px 0}}
.pl .stage{font-size:14.5px;color:var(--mu)}
.pl .stage b{display:block;font-weight:600;color:var(--text);font-size:14.5px}
.pl .nm{font-family:"Cormorant Garamond",Georgia,serif;font-size:48px;font-weight:600;line-height:.95;color:var(--navy)}
.pl .ds{color:#33434C;font-size:16px}
.pl .ds em{display:block;font-style:normal;font-weight:600;color:var(--text);margin-bottom:4px}
.pl .act{text-align:right;font-size:14.5px}
@media(max-width:900px){.pl .act{text-align:left;margin-top:6px}}
.pl .act a{color:var(--navy);font-weight:600;text-decoration:none;border-bottom:2px solid var(--brass);padding-bottom:1px}
.pl .act a:hover{border-color:var(--navy)}
.pl .act span{color:var(--mu)}

/* principles */
.prin{display:grid;grid-template-columns:1fr 1fr;gap:0 72px;margin-top:48px}
@media(max-width:760px){.prin{grid-template-columns:1fr}}
.prin div{padding:26px 0;border-top:1px solid var(--line)}
.prin h3{font-size:28px;margin-bottom:6px;color:var(--navy)}
.prin p{color:var(--mu);font-size:16px}

/* company */
.co-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;margin-top:40px}
@media(max-width:860px){.co-grid{grid-template-columns:1fr;gap:28px}}
.facts div{padding:16px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:150px 1fr;gap:16px}
@media(max-width:520px){.facts div{grid-template-columns:1fr;gap:0}}
.facts dt{color:var(--mu);font-size:15px}
.facts dd{font-weight:500}
.reg{background:var(--white);border-left:3px solid var(--brass);padding:22px 24px;color:#33434C;font-size:15.5px}
.reg b{display:block;color:var(--navy);margin-bottom:6px;font-weight:600}

/* contact + footer */
.contact{background:var(--navy);color:#fff}
.contact h2{color:#fff}
.contact h2:after{background:var(--brass-l)}
.contact p{color:#B8C8D0;max-width:560px;margin-top:14px;font-weight:300}
.contact a.mail{display:inline-block;margin-top:30px;font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;font-size:clamp(22px,3.4vw,38px);color:#fff;text-decoration:none;border-bottom:2px solid var(--brass);word-break:break-all}
.contact a.mail:hover{color:var(--brass-l)}
.foot{background:var(--ink);color:var(--mu-d);font-size:14px;padding:30px 0 40px}
.foot .row{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
.foot a{text-decoration:none;margin-left:22px}
.foot a:hover{color:#fff}
.foot p{margin-top:12px;font-size:13px;color:#6F8796;max-width:760px}

/* legal pages */
.doc{padding:72px 0 96px}
.doc h1{font-size:clamp(36px,5vw,56px);font-weight:500;color:var(--navy)}
.doc .upd{color:var(--mu);margin:8px 0 40px}
.doc h2{font-size:28px;margin:38px 0 10px;color:var(--navy)}
.doc p,.doc li{color:#33434C;max-width:720px;margin-bottom:12px}
