/* P18 IT Consulting — blueprint / architect's plan */
.page-it main>section{overflow-x:clip}
.mono{font-family:"JetBrains Mono",monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--p3)}
.crumbs{display:flex;flex-wrap:wrap;gap:10px;font-size:14px;color:var(--mut);margin-bottom:22px}
.crumbs a:hover{color:var(--p3)}.crumbs b{color:var(--p3);font-weight:600}
.txt-link{display:inline-block;margin-top:14px;font-weight:700;color:var(--p3);border-bottom:2px solid rgba(127,66,244,.3)}
.txt-link:hover{border-color:var(--p)}
:root{--bp:#1b1745;--bp2:#241f5a;--bpl:rgba(201,179,255,.12);--warnc:#ff8a65;--okc:#6fe0ae}

/* hero */
.it-hero{position:relative;padding:60px 0 0;color:#fff;background-color:var(--bp);background-image:linear-gradient(var(--bpl) 1px,transparent 1px),linear-gradient(90deg,var(--bpl) 1px,transparent 1px),linear-gradient(rgba(201,179,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(201,179,255,.05) 1px,transparent 1px);background-size:80px 80px,80px 80px,16px 16px,16px 16px;overflow:hidden}
.it-hero:before{content:"";position:absolute;inset:0;background:radial-gradient(600px 460px at 75% 40%,rgba(127,66,244,.4),transparent 65%);pointer-events:none}
.it-hin{position:relative;display:grid;grid-template-columns:1.02fr .98fr;gap:36px;align-items:end}
.it-hin>*{min-width:0}
.it-copy{padding-bottom:96px}
.it-hero .crumbs{color:#aaa4d0}.it-hero .crumbs b{color:#c9b3ff}
.it-hero .eb{color:#c9b3ff}
.it-h1{color:#fff;font-size:clamp(32px,3.5vw,50px);margin:18px 0 22px;max-width:680px}
.rmk{position:relative;display:inline-block;color:#fff}
.rmk:after{content:"";position:absolute;left:0;right:0;bottom:-.06em;height:.14em;background:repeating-linear-gradient(90deg,#c9b3ff 0 14px,transparent 14px 20px);transform:scaleX(0);transform-origin:left;animation:rmkIn .9s var(--ease) 1.2s forwards}
@keyframes rmkIn{to{transform:scaleX(1)}}
.it-hero .lead{color:#e8e4f7}.it-hero .sub{color:#b8b2d8}
.it-o{background:transparent;color:#fff;border-color:rgba(255,255,255,.35)}
.it-o:hover{background:rgba(255,255,255,.08)}
.it-vis{position:relative;min-height:680px}
.sysmap{position:absolute;right:0;top:0;width:92%;aspect-ratio:420/300;border:1px dashed rgba(201,179,255,.4);border-radius:18px;background:rgba(27,23,69,.55);backdrop-filter:blur(2px)}
.sysmap svg{position:absolute;inset:0;width:100%;height:100%}
.sysmap path{fill:none;stroke-width:2}
.ln-ok{stroke:#c9b3ff;stroke-dasharray:240;stroke-dashoffset:240;animation:itDraw 1.2s var(--ease) forwards}
.ln-ok:nth-child(2){animation-delay:.9s}.ln-ok:nth-child(1){animation-delay:.7s}.ln-ok:nth-child(3){animation-delay:1.1s}
@keyframes itDraw{to{stroke-dashoffset:0}}
.ln-gap{stroke:var(--warnc);stroke-dasharray:6 8;opacity:0;animation:gapIn .4s 1.8s forwards,gapB 1.6s 2.2s infinite}
@keyframes gapIn{to{opacity:1}}
@keyframes gapB{50%{opacity:.25}}
.nd{position:absolute;transform:translate(-50%,-50%) scale(.6);opacity:0;padding:7px 12px;border-radius:10px;background:#fff;color:var(--ink);font-size:12.5px;font-weight:700;white-space:nowrap;box-shadow:0 10px 24px rgba(0,0,0,.3);animation:ndIn .5s cubic-bezier(.3,1.5,.5,1) forwards}
.nd:nth-of-type(1){animation-delay:.4s}.nd:nth-of-type(2){animation-delay:.5s}.nd:nth-of-type(3){animation-delay:.6s}.nd:nth-of-type(4){animation-delay:.7s}.nd:nth-of-type(5){animation-delay:1.6s}.nd:nth-of-type(6){animation-delay:1.7s}
@keyframes ndIn{to{transform:translate(-50%,-50%) scale(1);opacity:1}}
.nd.hub{background:linear-gradient(135deg,var(--p),#b44bff);color:#fff;padding:10px 16px}
.nd.warn{background:#fff3ee;color:#b5421d;outline:2px dashed var(--warnc);outline-offset:3px}
.callout{position:absolute;font-family:"JetBrains Mono",monospace;font-size:10.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--warnc);opacity:0;animation:gapIn .4s 2.3s forwards;white-space:nowrap}
.callout:before{content:"";display:inline-block;width:18px;height:1px;background:var(--warnc);vertical-align:middle;margin-right:6px}
.c-a{left:4%;top:44%}.c-b{right:4%;top:88%}
.sm-tag{position:absolute;right:12px;top:10px;font-style:normal;font-size:10.5px;color:#aaa4d0}
.it-eagle{position:absolute;left:-10px;bottom:0;width:54%;max-width:340px;filter:drop-shadow(0 0 40px rgba(127,66,244,.5));z-index:2}
.dim-line{position:relative;display:flex;justify-content:space-between;margin:0 auto;max-width:1200px;padding:10px 24px;border-top:1px solid rgba(201,179,255,.35);font-family:"JetBrains Mono",monospace;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:#aaa4d0}
.dim-line:before,.dim-line:after{content:"";position:absolute;top:-5px;width:1px;height:10px;background:#c9b3ff}
.dim-line:before{left:24px}.dim-line:after{right:24px}

/* review */
.rv-head{max-width:800px;margin-bottom:30px}
.rv-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:24px;align-items:stretch}
.rv-grid>*{min-width:0}
.audit{border:1px solid var(--line);border-radius:20px;padding:10px 18px 14px;background:#fff;box-shadow:var(--sh)}
.au-h,.au-r{display:grid;grid-template-columns:1fr 1fr 1.1fr 1.5fr;gap:10px;align-items:center;padding:13px 0}
.au-h{font-family:"JetBrains Mono",monospace;font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--mut);border-bottom:2px solid var(--ink)}
.au-r{border-bottom:1px solid var(--line);font-size:14px}
.au-r span:first-child{font-weight:700}
.fl{justify-self:start;font-size:12px;padding:4px 9px;border-radius:10px;background:#fff3ee;color:#b5421d;opacity:0;transform:translateX(12px);transition:.45s var(--ease)}
.audit.vis .fl{opacity:1;transform:none}
.audit.vis .f1{transition-delay:.4s}.audit.vis .f2{transition-delay:.7s}.audit.vis .f3{transition-delay:1s}.audit.vis .f4{transition-delay:1.3s}
.audit small,.sorter small{display:block;margin-top:10px;font-size:12px;color:var(--mut)}
.sorter{border-radius:20px;padding:20px;background:var(--bp);color:#fff;display:flex;flex-direction:column}
.so-q{color:#fff;font-weight:700;font-size:15.5px;line-height:1.45;margin-bottom:14px}
.bins{display:grid;gap:10px;flex:1}
.bin{display:flex;flex-direction:column;gap:8px;padding:12px;border-radius:14px;border:1px dashed rgba(201,179,255,.45);background:rgba(255,255,255,.04)}
.bin .mono{color:#c9b3ff}.bin.lim .mono{color:var(--warnc)}
.chipx{padding:8px 10px;border-radius:9px;background:#fff;color:var(--ink);font-size:13px;font-weight:600;opacity:0;transform:translateY(-14px) rotate(-2deg);transition:.5s cubic-bezier(.3,1.4,.5,1);transition-delay:calc(.4s + var(--k)*.3s)}
.sorter.vis .chipx{opacity:1;transform:none}
.sorter small{color:#aaa4d0}

/* integrations */
.in-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center}
.in-grid>*{min-width:0}
.plug{display:grid;grid-template-columns:auto 60px 1fr;align-items:center;margin-top:24px}
.pl-new{padding:18px 16px;border-radius:14px;background:linear-gradient(135deg,var(--p3),var(--p));color:#fff;font-weight:800;font-size:14px;box-shadow:0 14px 30px rgba(127,66,244,.3)}
.pl-wires{position:relative;height:130px}
.pl-wires i{position:absolute;left:0;right:0;height:2px;background:var(--p);transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease)}
.pl-wires i:nth-child(1){top:20px}.pl-wires i:nth-child(2){top:64px}.pl-wires i:nth-child(3){top:108px}
.plug.vis .pl-wires i{transform:scaleX(1)}
.plug.vis .pl-wires i:nth-child(2){transition-delay:.2s}.plug.vis .pl-wires i:nth-child(3){transition-delay:.4s}
.pl-checks{display:grid;gap:8px}
.pl-checks span{position:relative;padding:11px 12px 11px 36px;border-radius:11px;background:#fff;border:1px solid var(--line);font-size:14px}
.pl-checks span:before{content:"";position:absolute;left:12px;top:50%;width:14px;height:14px;margin-top:-7px;border-radius:4px;border:2px solid var(--p);transition:background .3s .9s}
.plug.vis .pl-checks span:before{background:var(--p) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 6.2l2.2 2.2 4.8-4.8' fill='none' stroke='white' stroke-width='1.8'/%3E%3C/svg%3E") center/100%}
.plug.vis .pl-checks span:nth-child(2):before{transition-delay:1.1s}.plug.vis .pl-checks span:nth-child(3):before{transition-delay:1.3s}
.disc{padding:24px;border-radius:22px;background:#fff;border:1px solid var(--line);box-shadow:var(--sh)}
.dc{display:grid;grid-template-columns:44px 1fr;column-gap:14px;padding:14px 0}
.dc h3{font-size:18px}.dc p{grid-column:2;font-size:14.5px;color:var(--mut)}
.dc-i{grid-row:span 2;width:44px;height:44px;border-radius:12px;background:var(--lav)}
.dc-i.cl{background:var(--lav) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237f42f4' stroke-width='1.8'%3E%3Cpath d='M7 18h10a4 4 0 0 0 .5-8A6 6 0 0 0 6 9.5 4.3 4.3 0 0 0 7 18z'/%3E%3C/svg%3E") center/24px no-repeat}
.dc-i.sc{background:var(--lav) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237f42f4' stroke-width='1.8'%3E%3Cpath d='M12 3l7 3v6c0 4.5-3 7.5-7 9-4-1.5-7-4.5-7-9V6z'/%3E%3C/svg%3E") center/24px no-repeat}
.dc-sep{position:relative;height:1px;background:var(--line);margin:4px 0}
.dc-sep span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:34px;height:34px;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;font-weight:800}
.disc.vis .dc-sep span{animation:pulse 2.6s infinite 1s}
.dc-note{margin-top:14px;padding:12px 14px;border-radius:12px;background:var(--lav2);border-left:3px solid var(--p);font-size:14px;font-weight:600}

/* roadmap */
.rd-head{display:grid;grid-template-columns:1fr 260px;gap:40px;align-items:center;margin-bottom:20px}
.rd-head>*{min-width:0}
.rd-img{width:100%;height:auto;animation:floaty 7s ease-in-out infinite}
.board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding:18px;border-radius:24px;background:var(--bp);background-image:linear-gradient(var(--bpl) 1px,transparent 1px),linear-gradient(90deg,var(--bpl) 1px,transparent 1px);background-size:40px 40px}
.lane{min-width:0;display:flex;flex-direction:column;gap:10px}
.lane-h{font-family:"JetBrains Mono",monospace;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#c9b3ff;padding:4px 2px 8px;border-bottom:1px dashed rgba(201,179,255,.4)}
.rcard{flex:1;padding:16px;border-radius:14px;background:#fff;box-shadow:0 14px 30px rgba(0,0,0,.25);opacity:0;transform:translateY(24px);transition:.6s var(--ease);transition-delay:calc(.2s + var(--k)*.2s)}
.board.vis .rcard{opacity:1;transform:none}
.rc-t{display:block;font-weight:800;font-size:15.5px;margin-bottom:10px}
.rcard dl{display:grid;grid-template-columns:auto 1fr;gap:6px 10px;font-size:13px}
.rcard dt{font-family:"JetBrains Mono",monospace;font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--p3);padding-top:2px}
.rcard dd{margin:0;color:var(--ink)}
.rcard dt,.rcard dd{opacity:0;transition:opacity .3s}
.board.vis .rcard dt,.board.vis .rcard dd{opacity:1}
.board.vis .rcard dd{transition-delay:calc(.8s + var(--k)*.2s)}
.alts .mono{display:block;margin-bottom:8px}
.al{display:grid;grid-template-columns:90px 1fr 1fr;gap:8px;align-items:center;padding:6px 0;border-bottom:1px solid var(--line);font-size:13px}
.al b{font-size:12px}.al span{color:var(--mut)}
.al i{height:8px;border-radius:4px;background:var(--lav);position:relative;overflow:hidden}
.al i:after{content:"";position:absolute;left:0;top:0;bottom:0;border-radius:4px;width:0;transition:width .8s var(--ease) 1.2s}
.al i.lo:after{background:var(--okc)}.al i.md:after{background:#f5c451}.al i.hi:after{background:var(--warnc)}
.board.vis .al i.lo:after{width:30%}.board.vis .al i.md:after{width:60%}.board.vis .al i.hi:after{width:90%}
.rd-note{margin-top:14px;font-size:14px;color:var(--mut);text-align:center}

/* AI option */
.it-ai{background:linear-gradient(180deg,#fff,var(--lav2))}
.ai-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.ai-grid>*{min-width:0}
.ready{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 0;padding:0}
.ready li{padding:8px 12px;border-radius:20px;background:var(--lav);color:var(--p3);font-weight:700;font-size:13.5px}
.quote{margin-top:20px;padding:16px 18px;border-radius:14px;background:var(--ink);color:#fff;font-weight:700;font-size:16px}
.opts{position:relative;display:grid;gap:12px}
.op{position:relative;display:grid;grid-template-columns:44px 1fr;column-gap:14px;padding:18px;border-radius:16px;background:#fff;border:1px solid var(--line);box-shadow:var(--sh)}
.op h3{font-size:17px}.op p{grid-column:2;font-size:14px;color:var(--mut)}
.op-n{grid-row:span 2;width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:var(--lav);color:var(--p3);font-weight:800}
.opts.vis .op{animation:opLit 7.5s infinite;animation-delay:calc(var(--k)*2.5s)}
@keyframes opLit{0%,30%{border-color:var(--p);box-shadow:0 0 0 4px rgba(127,66,244,.15),var(--sh);transform:translateX(-6px)}34%,100%{border-color:var(--line);box-shadow:var(--sh);transform:none}}
.aiop .op-n{background:linear-gradient(135deg,var(--p),#b44bff);color:#fff}

/* faq */
.ifq-in{display:grid;grid-template-columns:.8fr 1.2fr;gap:56px;align-items:start}
.ifq-in>*{min-width:0}
.ifq-side{position:sticky;top:110px}
.qn{font-family:"JetBrains Mono",monospace;font-size:12px;color:var(--p);margin-right:14px;flex:none}
.qa button{justify-content:flex-start}.qa button .pm{margin-left:auto}

@media (max-width:1100px){
 .it-hin{grid-template-columns:1fr;gap:0}
 .it-copy{padding-bottom:20px}
 .it-vis{max-width:640px;min-height:700px}
 .rv-grid,.in-grid,.ai-grid,.ifq-in{grid-template-columns:1fr;gap:30px}
 .ifq-side{position:static}
 .board{grid-template-columns:1fr}
}
@media (max-width:700px){
 .it-hero{padding-top:34px}
 .it-vis{min-height:0;padding-bottom:300px}
 .sysmap{position:relative;width:100%}
 .nd{font-size:10.5px;padding:5px 8px}.nd.hub{padding:7px 10px}
 .callout{display:none}
 .it-eagle{width:300px;left:auto;right:-10px}
 .au-h{display:none}
 .au-r{grid-template-columns:1fr 1fr;gap:4px 10px}
 .au-r .fl{grid-column:1/-1}
 .plug{grid-template-columns:1fr;gap:10px}
 .pl-wires{display:none}
 .rd-head{grid-template-columns:1fr}
 .rd-img{width:200px}
 .al{grid-template-columns:80px 1fr 1fr}
}
@media (prefers-reduced-motion:reduce){
 .ln-ok,.ln-gap,.nd,.callout,.rmk:after,.rd-img{animation:none!important;opacity:1;stroke-dashoffset:0}
 .nd{transform:translate(-50%,-50%)}
 .rmk:after{transform:none}
 .opts.vis .op,.disc.vis .dc-sep span{animation:none}
}
