/* Corporate layout using the shared Cody.IA tokens in landing.css. */
.portfolio-page{--cc-ink:var(--color-text-primary);--cc-muted:var(--color-text-secondary);--cc-accent:var(--color-accent);--cc-line:var(--color-border);background:var(--color-ink);color:var(--cc-ink);font-family:Manrope,system-ui,sans-serif}

.portfolio-page [hidden]{display:none!important}
.portfolio-page *{box-sizing:border-box}
.portfolio-page :focus-visible{outline:2px solid var(--color-accent);outline-offset:5px}
.cc-wrap{width:min(1240px,calc(100% - 64px));margin-inline:auto}
.cc-main{overflow:clip}
.cc-header{position:sticky;top:0;z-index:60;background:rgba(9,24,43,.94);backdrop-filter:blur(20px);border-bottom:1px solid var(--cc-line)}
.cc-nav{display:flex;height:88px;align-items:center;justify-content:space-between;gap:25px}
.cc-brand img{display:block;width:180px;height:auto}
.cc-desktop-nav,.cc-nav-right,.cc-languages{display:flex;align-items:center;gap:30px}
.cc-desktop-nav{font-size:13px;color:var(--color-text-secondary)}
.cc-desktop-nav a:hover,.cc-desktop-nav button:hover{color:#fff}
.cc-nav-right{gap:24px}
.cc-languages{gap:13px;font:10px monospace;letter-spacing:.05em}
.cc-languages a{color:var(--color-text-secondary)}
.cc-languages [aria-current]{color:var(--color-accent)}
.cc-button{display:inline-flex;justify-content:center;align-items:center;gap:24px;padding:16px 24px;border-radius:9999px;background:var(--color-accent);color:var(--color-accent-ink);font-size:13px;line-height:1.4;font-family:Montserrat,Manrope,system-ui,sans-serif;font-weight:600;border:1px solid transparent;text-decoration:none;cursor:pointer;transition:background .2s,transform .2s}
.cc-button:hover{background:var(--color-accent);transform:translateY(-2px)}
.cc-button span{font-size:19px}
.cc-nav .cc-button{padding:11px 17px;font-size:12px;gap:16px}
.cc-dropdown{position:relative}
.cc-dropdown>button{display:flex;gap:9px;align-items:center}
.cc-solution-menu{position:absolute;top:40px;left:-20px;width:310px;border:1px solid #ffffff20;border-radius:10px;padding:12px;background:var(--color-surface);box-shadow:0 20px 70px #0008}
.cc-solution-menu a{display:block;padding:12px;border-radius:6px}
.cc-solution-menu a:hover{background:#ffffff08}
.cc-solution-menu small{display:block;font-size:11px;color:var(--color-text-secondary);margin-top:5px}
.cc-mobile-toggle{display:none}
.cc-mobile-menu{padding:20px 32px;border-top:1px solid var(--cc-line)}
.cc-mobile-menu>a{display:block;padding:12px 0;border-bottom:1px solid var(--cc-line)}
.cc-mobile-menu small{display:block;color:var(--cc-muted);font-size:12px}
.cc-mobile-menu .cc-button{margin-top:20px}

.cc-hero{display:grid;grid-template-columns:1.1fr 1fr;gap:65px;align-items:center;padding-block:96px 100px}
.cc-kicker{font:10px/1.5 monospace;letter-spacing:.16em;text-transform:uppercase;color:var(--color-accent);display:flex;align-items:center;gap:10px;margin:0 0 24px}
.cc-live{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--color-accent);box-shadow:0 0 12px rgba(4,182,220,.25);flex-shrink:0}
.cc-hero h1,.cc-product-hero h1{font:700 clamp(36px,4.2vw,60px)/1.2 Montserrat,Manrope,system-ui,sans-serif;letter-spacing:-.015em;margin:0 0 28px}
.cc-hero h1>span{color:var(--color-accent)}
.cc-lead{color:var(--color-text-secondary);font-size:16px;line-height:1.85;max-width:580px;margin:0 0 34px}
.cc-actions{display:flex;align-items:center;flex-wrap:wrap;gap:25px}
.cc-link{font-size:13px;font-weight:600;color:#d9e4ef;cursor:pointer}
.cc-link span{margin-left:16px}
.cc-hero-note{margin-top:35px;font-size:11px;color:var(--color-text-secondary);display:flex;align-items:center;gap:9px}
.cc-hero-note>span{color:var(--color-accent);font-size:19px}

.cc-universe{height:460px;position:relative;border:1px solid #ffffff15;border-radius:18px;overflow:hidden;background:var(--color-surface);isolation:isolate}
.cc-universe:before{content:'';position:absolute;inset:0;background-image:linear-gradient(#ffffff04 1px,transparent 1px),linear-gradient(90deg,#ffffff04 1px,transparent 1px);background-size:28px 28px;mask-image:radial-gradient(ellipse,black,transparent)}
.cc-universe-top{position:absolute;top:21px;left:23px;right:23px;display:flex;align-items:center;gap:8px;font:9px monospace;letter-spacing:.12em;color:#b8c4d1}
.cc-universe-top>span:last-child{margin-left:auto;color:#65798d;font-size:8px}
.cc-orbit{position:absolute;left:50%;top:51%;border:1px solid rgba(4,182,220,.15);border-radius:50%;transform:translate(-50%,-50%)}
.cc-orbit-one{width:260px;height:260px}
.cc-orbit-two{width:365px;height:365px;border-style:dashed;border-color:rgba(4,182,220,.08)}
.cc-core{position:absolute;top:51%;left:50%;transform:translate(-50%,-50%);height:135px;width:135px;border:1px solid rgba(4,182,220,.25);border-radius:50%;background:var(--color-surface);box-shadow:0 0 90px rgba(4,182,220,.07),inset 0 0 30px rgba(4,182,220,.03);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;animation:cc-breathe 6s ease-in-out infinite}
.cc-core img{width:33px;height:33px;object-fit:contain}
.cc-core strong{font-size:15px;letter-spacing:-.015em}
.cc-core small{font-size:8px;color:var(--color-text-secondary)}
.cc-satellite{position:absolute;z-index:2;width:155px;padding:14px;background:var(--color-surface);border:1px solid #ffffff1b;border-radius:8px;box-shadow:0 10px 25px #0002;transition:transform .2s,border-color .2s}
.cc-satellite:hover{transform:translateY(-5px);border-color:var(--color-accent)}
.cc-satellite strong{font-size:12px;display:block;margin:7px 0 4px}
.cc-satellite small{font-size:9px;color:var(--color-text-secondary);line-height:1.5;display:block}
.cc-symbol{font-size:20px;color:var(--color-accent);line-height:1}
.cc-satellite-1{left:25px;top:82px}
.cc-satellite-2{right:22px;top:94px}
.cc-satellite-2 .cc-symbol{color:var(--color-accent)}
.cc-satellite-3{left:28px;bottom:74px}
.cc-satellite-3 .cc-symbol{color:var(--color-accent)}
.cc-satellite-4{right:18px;bottom:64px}
.cc-satellite-4 .cc-symbol{color:var(--color-accent)}
.cc-universe-bottom{position:absolute;bottom:20px;left:24px;right:24px;margin:0;font:9px monospace;color:var(--color-text-secondary);display:flex;justify-content:space-between}
.cc-universe-bottom span{color:var(--color-accent)}

.cc-signal{border-block:1px solid var(--cc-line);padding:21px 0;background:#ffffff02}
.cc-signal>.cc-wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:18px;font:10px monospace;letter-spacing:.12em;color:var(--color-text-secondary)}
.cc-section{padding-block:90px}
.cc-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:65px;margin-bottom:38px}
.cc-section-head>div{max-width:590px}
.cc-section-head>p{max-width:380px;color:var(--cc-muted);font-size:13px;line-height:1.85;margin:0}
.cc-section h2,.cc-contact h2{font-size:clamp(28px,3vw,36px);font-weight:700;letter-spacing:-.015em;line-height:1.2;margin:0}
.cc-section-head .cc-kicker{margin-bottom:15px}
.cc-selector{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px}
.cc-choice{border:1px solid var(--cc-line);border-radius:9px;padding:22px 20px;position:relative;background:var(--color-surface);transition:border-color .2s,background .2s}
.cc-choice:hover,.cc-choice.is-active{border-color:var(--color-accent);background:rgba(4,182,220,.1)}
.cc-choice>span{font:9px monospace;letter-spacing:.07em;color:var(--color-text-secondary);text-transform:uppercase}
.cc-choice strong{font-size:20px;font-weight:600;letter-spacing:-.015em;display:block;margin:12px 0 6px}
.cc-choice small{font-size:10px;color:var(--color-text-secondary)}
.cc-choice b{position:absolute;top:18px;right:18px;font-size:16px;font-weight:400;color:var(--color-accent)}
.cc-panel{display:grid;grid-template-columns:1.15fr 1fr;gap:70px;padding:48px;background:var(--color-surface);border:1px solid var(--cc-line);border-radius:13px;scroll-margin-top:115px}
.cc-panel+.cc-panel{margin-top:20px}
.cc-panel h3{font-size:32px;line-height:1.25;font-weight:700;letter-spacing:-.015em;margin:0 0 20px;max-width:540px}
.cc-panel-copy>p:not(.cc-kicker){font-size:14px;line-height:1.8;color:var(--color-text-secondary);margin:0 0 24px}
.cc-panel .cc-kicker{color:var(--solution-accent)}
.cc-tags{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 28px}
.cc-tags>span{padding:8px 11px;background:#ffffff04;border:1px solid var(--color-border);border-radius:5px;font-size:10px;color:var(--color-text-secondary)}
.cc-panel .cc-button{background:var(--solution-accent)}
.cc-provisional{display:block;font-size:10px;color:var(--color-text-secondary);margin-top:12px;line-height:1.6}
.cc-flow-visual{border:1px solid #ffffff16;border-radius:10px;background:var(--color-ink);align-self:center;padding:24px}
.cc-visual-label{display:flex;align-items:center;gap:8px;font:9px monospace;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.08em;margin-bottom:16px}
.cc-flow-row{display:flex;align-items:center;gap:17px;border-top:1px solid #ffffff12;padding:17px 0}
.cc-flow-row>span{font:10px monospace;color:var(--color-text-secondary)}
.cc-flow-row strong{font-size:12px;font-weight:500;color:#e0ebf3}
.cc-flow-row b{margin-left:auto;font-weight:400;color:var(--solution-accent,var(--color-accent))}
.cc-outcome{border-top:1px solid #ffffff12;padding-top:20px}
.cc-outcome>small{font:9px monospace;text-transform:uppercase;color:var(--solution-accent);letter-spacing:.08em}
.cc-outcome>p{font-size:12px;line-height:1.7;color:var(--color-text-secondary);margin:9px 0 0}
.cc-cap-section{border-block:1px solid var(--cc-line);background:var(--color-ink)}
.cc-cap-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#ffffff15;border:1px solid #ffffff15;border-radius:12px;overflow:hidden}
.cc-cap-grid article{background:var(--color-ink);padding:32px}
.cc-card-no{font:10px monospace;color:var(--color-accent);letter-spacing:.08em}
.cc-cap-grid h3,.cc-detail-grid h3{font-size:18px;font-weight:600;letter-spacing:-.015em;margin:24px 0 14px;line-height:1.4}
.cc-cap-grid p,.cc-detail-grid p{font-size:13px;line-height:1.85;color:var(--color-text-secondary);margin:0}
.cc-wide-title{max-width:780px}
.cc-process{display:grid;grid-template-columns:repeat(4,1fr);gap:35px;margin-top:45px}
.cc-process article{border-top:1px solid var(--color-border);padding-top:23px}
.cc-process article>span{font:11px monospace;color:var(--color-text-secondary)}
.cc-process h3{font-size:18px;font-weight:700;margin:25px 0 13px}
.cc-process p{font-size:13px;color:var(--color-text-secondary);line-height:1.85}
.cc-contact{padding:60px;background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-primary);border-radius:14px;display:flex;justify-content:space-between;align-items:center;gap:60px;margin-block:15px 35px}
.cc-contact .cc-kicker{color:var(--color-accent)}
.cc-contact>div{max-width:750px}
.cc-contact h2{font-size:36px}
.cc-contact p:not(.cc-kicker){font-size:14px;line-height:1.8;margin:22px 0 0;color:var(--color-text-secondary);max-width:600px}
.cc-contact .cc-button{background:var(--color-accent);color:var(--color-accent-ink);white-space:nowrap}
.cc-faq{margin-block:20px 70px}
.cc-faq details{border-block:1px solid var(--cc-line);padding:25px 0}
.cc-faq summary{font-size:15px;cursor:pointer}
.cc-faq p{color:var(--color-text-secondary);font-size:14px;line-height:1.8;padding-top:15px;max-width:800px}

.cc-footer{border-top:1px solid var(--cc-line);padding:55px 0 25px;background:var(--color-ink)}
.cc-footer-top{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:65px}
.cc-footer p{font-size:12px;color:var(--color-text-secondary);line-height:1.8;max-width:240px;margin-top:20px}
.cc-footer nav,.cc-footer-contact{display:flex;flex-direction:column;gap:15px;font-size:12px;color:var(--color-text-secondary)}
.cc-footer a:hover{color:var(--color-accent)}
.cc-footer-bottom{border-top:1px solid var(--cc-line);margin-top:45px;padding-top:25px;display:flex;flex-wrap:wrap;gap:25px;font-size:10px;color:var(--color-text-secondary)}
.cc-footer-bottom>span{margin-right:auto}
.cc-product-hero{padding-block:48px 80px}
.cc-back{font-size:11px;color:var(--color-accent);display:inline-block;margin-bottom:65px}
.cc-product-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:90px;align-items:center}
.cc-product-hero h1{font-size:clamp(36px,4vw,58px);max-width:750px}
.cc-product-flow{padding:30px;background:var(--color-surface);border:1px solid var(--cc-line);border-radius:12px}
.cc-detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.cc-detail-grid article{padding:35px;border:1px solid var(--cc-line);background:var(--color-surface);border-radius:10px}
.cc-integrations{padding-bottom:50px}
.cc-scope-note{font-size:12px;color:var(--color-text-secondary);line-height:1.8;max-width:900px;border-left:2px solid var(--color-accent);padding-left:18px;margin-top:25px}
.cc-main section[id]{scroll-margin-top:105px}

@keyframes cc-breathe{50%{box-shadow:0 0 90px rgba(4,182,220,.15),inset 0 0 30px rgba(4,182,220,.12)}
}

@media(min-width:1700px){.cc-hero{padding-block:120px}
}

@media(max-width:1100px){.cc-desktop-nav{gap:18px}
.cc-nav-right{gap:15px}
.cc-nav .cc-button{display:none}
.cc-hero{gap:30px}
.cc-universe{height:440px}
.cc-satellite{width:133px;padding:12px}
.cc-satellite strong{font-size:11px}
.cc-satellite-1{left:14px}
.cc-satellite-2{right:12px}
.cc-satellite-3{left:14px}
.cc-satellite-4{right:12px}
.cc-core{width:115px;height:115px}
.cc-core strong{font-size:13px}
.cc-panel{gap:35px;padding:35px}
.cc-product-grid{gap:40px}
.cc-choice{padding:20px 14px}
.cc-choice strong{font-size:18px}
}

@media(max-width:800px){.cc-wrap{width:calc(100% - 40px)}
.cc-nav{height:75px}
.cc-desktop-nav{display:none}
.cc-mobile-toggle{display:block;color:#d6e7ef;font-size:22px;padding:5px}
.cc-brand img{width:151px}
.cc-languages{gap:10px}
.cc-hero{grid-template-columns:1fr;padding-block:55px 45px;gap:45px}
.cc-hero h1{font-size:clamp(40px,8vw,65px)}
.cc-universe{width:min(520px,100%);justify-self:center;height:425px}
.cc-satellite{width:150px}
.cc-satellite-1{left:20px;top:75px}
.cc-satellite-2{right:20px;top:85px}
.cc-satellite-3{left:20px;bottom:65px}
.cc-satellite-4{right:20px;bottom:60px}
.cc-section{padding-block:60px}
.cc-section-head{display:block}
.cc-section-head>p{margin-top:20px;max-width:650px}
.cc-selector{grid-template-columns:repeat(2,1fr)}
.cc-choice strong{font-size:20px}
.cc-panel{grid-template-columns:1fr;gap:35px;padding:30px}
.cc-panel h3{font-size:32px}
.cc-cap-grid{grid-template-columns:repeat(2,1fr)}
.cc-process{grid-template-columns:repeat(2,1fr);gap:25px}
.cc-contact{padding:35px;display:block;margin-block:0 30px}
.cc-contact h2{font-size:30px}
.cc-contact .cc-button{margin-top:30px}
.cc-footer-top{grid-template-columns:1fr 1fr;gap:35px}
.cc-footer-top>div:first-child{grid-column:1/-1}
.cc-product-grid{grid-template-columns:1fr}
.cc-product-hero{padding-block:35px 30px}
.cc-product-hero h1{font-size:42px}
.cc-back{margin-bottom:40px}
.cc-product-flow{margin-top:10px}
.cc-detail-grid{grid-template-columns:1fr}
.cc-universe-top>span:last-child{font-size:7px}
}

@media(max-width:420px){.cc-wrap{width:calc(100% - 32px)}
.cc-nav-right{gap:12px}
.cc-brand img{width:138px}
.cc-languages{gap:8px;font-size:9px}
.cc-universe{height:390px}
.cc-satellite{width:128px;padding:11px}
.cc-satellite-1{left:10px;top:62px}
.cc-satellite-2{right:10px;top:70px}
.cc-satellite-3{left:10px;bottom:65px}
.cc-satellite-4{right:10px;bottom:55px}
.cc-core{width:98px;height:98px}
.cc-core small{font-size:7px}
.cc-core img{width:24px;height:24px}
.cc-core strong{font-size:11px}
.cc-universe-top{left:15px;right:15px}
.cc-universe-bottom{left:15px;right:15px;font-size:8px}
.cc-choice{padding:18px 12px}
.cc-choice strong{font-size:18px}
.cc-choice small{font-size:9px}
.cc-choice b{right:10px}
.cc-panel{padding:25px}
.cc-panel h3{font-size:28px}
.cc-cap-grid{grid-template-columns:1fr}
.cc-contact{padding:28px}
.cc-process{gap:22px}
.cc-footer-top{gap:25px}
.cc-footer-contact a{overflow-wrap:anywhere}
.cc-product-hero h1{font-size:36px}
}

@media(prefers-reduced-motion:reduce){.cc-core{animation:none}
.cc-button,.cc-satellite{transition:none}
.portfolio-page{scroll-behavior:auto}
}


/* Shared visual language with solutions/cody-ia: Montserrat + Manrope,
   cyan CTA, navy sections and blue surface cards. */
.cc-kicker { font-family:Manrope,system-ui,sans-serif; font-size:12px; font-weight:700; letter-spacing:.12em; color:var(--color-accent); }

.cc-hero h1 > span { color:var(--color-text-primary); }

.cc-section h2,.cc-contact h2,.cc-panel h3,.cc-cap-grid h3,.cc-detail-grid h3,.cc-process h3 { font-family:Montserrat,Manrope,system-ui,sans-serif; }

.cc-choice strong,.cc-core strong,.cc-satellite strong { font-family:Montserrat,Manrope,system-ui,sans-serif; font-weight:700; }

.cc-button { box-shadow:none; }

.cc-button:hover { opacity:.9; }

.cc-button:focus-visible { outline-color:var(--color-text-primary); }

.cc-link { border:1px solid var(--color-border); border-radius:9999px; padding:16px 24px; font-family:Montserrat,Manrope,system-ui,sans-serif; }

.cc-contact .cc-button { background:var(--color-accent); color:var(--color-accent-ink); }

.cc-contact .cc-kicker,.cc-scope-note { border-color:var(--color-border); }

.cc-tags > span { color:var(--color-text-secondary); border-color:var(--color-border); }

.cc-universe,.cc-panel,.cc-product-flow,.cc-detail-grid article { border-color:var(--color-border); }

.cc-flow-row strong { color:var(--color-text-primary); }

.cc-panel { --solution-accent:var(--color-accent); }

.cc-choice:hover,.cc-choice.is-active { border-color:var(--color-accent); }

.cc-process article { border-color:var(--color-border); }


/* Cody.IA retains its complete product navigation and feature catalog. */
.cc-cody-bar { border-top:1px solid var(--color-border); background:var(--color-surface); }
.cc-cody-nav { display:flex; align-items:center; gap:25px; min-height:62px; }
.cc-cody-brand { color:var(--color-accent); font-family:Montserrat,Manrope,sans-serif; font-size:16px; font-weight:700; white-space:nowrap; }
.cc-cody-desktop { display:flex; align-items:center; gap:20px; font-size:12px; color:var(--color-text-secondary); flex:1; }
.cc-cody-nav .nav-dd-panel { width:min(940px,calc(100vw - 64px)); left:-130px; padding:24px; top:calc(100% + 12px); }
.cc-cody-catalog { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:22px; }
.cc-cody-catalog h3 { font-family:Manrope,system-ui,sans-serif; font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; color:var(--color-text-secondary); margin:0 0 13px; padding-bottom:12px; border-bottom:1px solid var(--color-border); }
.cc-cody-catalog a { display:flex; gap:10px; align-items:center; padding:8px 0; font-size:12px; color:var(--color-text-primary); line-height:1.5; }
.cc-cody-catalog a:hover { color:var(--color-accent); }
.cc-cody-catalog i { display:grid; place-items:center; flex:0 0 30px; height:30px; border-radius:7px; color:var(--color-accent); background:rgba(4,182,220,.1); }
.cc-cody-all { display:flex; justify-content:center; gap:12px; color:var(--color-accent); font-size:12px; font-weight:600; margin-top:20px; padding-top:18px; border-top:1px solid var(--color-border); }
.cc-cody-demo { font-size:11px; padding:10px 16px; white-space:nowrap; }
.cc-cody-mobile-toggle { display:none; }
.cc-cody-preview { grid-column:1/-1; border-top:1px solid var(--color-border); padding-top:30px; }
.cc-cody-preview .cc-cody-catalog h3 { font-size:10px; line-height:1.5; letter-spacing:.08em; }
.cc-cody-mobile { max-height:calc(100dvh - 145px); overflow-y:auto; padding-block:20px; }
.cc-cody-mobile-links { display:flex; flex-wrap:wrap; gap:18px; margin-top:20px; padding-block:18px; border-top:1px solid var(--color-border); font-size:12px; color:var(--color-text-secondary); }
.cc-cody-context section[id] { scroll-margin-top:170px; }
@media(max-width:1100px) {
 .cc-cody-desktop,.cc-cody-demo { display:none; }
 .cc-cody-mobile-toggle { display:flex; align-items:center; gap:12px; margin-left:auto; font-size:12px; color:var(--color-text-primary); }
 .cc-cody-preview .cc-cody-catalog { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:600px) {
 .cc-cody-mobile .cc-cody-catalog,.cc-cody-preview .cc-cody-catalog { grid-template-columns:1fr; }
 .cc-cody-nav { min-height:56px; }
}

.cloud-audience-visual { max-width:850px; margin:0 auto 45px; }
.cloud-audience-visual img { display:block; width:100%; height:auto; border:1px solid var(--color-border); border-radius:14px; }
#casos .tab-panel p { line-height:1.9; }

@media (min-width: 1100px) { .cc-selector { grid-template-columns: repeat(5,minmax(0,1fr)); } .cc-choice strong { font-size:18px; } }
@media (min-width: 768px) and (max-width:1099px) { .cc-selector { grid-template-columns:repeat(3,minmax(0,1fr)); } }
