/* CC Studio — one team, connected services. Extends the existing visual system. */
:root { --cc-ice:#a4c8e0; --cc-muted:#a4a8b0; --cc-rule:#ffffff16; }
html { scroll-padding-top:100px; }
.cc-section { position:relative;z-index:2;max-width:1440px;margin:auto;padding:110px clamp(24px,5vw,72px); }
.cc-section + .cc-section { border-top:1px solid var(--cc-rule); }
.cc-eyebrow { display:block;font:12px/1.6 var(--font-m);letter-spacing:.12em;color:var(--cc-ice); }
.cc-section-head h2 { font:500 clamp(32px,4.5vw,62px)/1.12 var(--font-t);letter-spacing:-.045em;margin-top:23px; }
.cc-section-head h2 em { color:var(--cc-ice);font-style:normal; }
.cc-section-head>p,.cc-heading-split>p { color:var(--cc-muted);font-size:16px;line-height:1.8;max-width:520px;margin-top:25px; }
.cc-heading-split { display:flex;justify-content:space-between;align-items:flex-end;gap:55px;margin-bottom:48px; }
.cc-heading-split>p { max-width:350px; }
.cc-inline-link { display:inline-block;font-size:14px;color:#d4e9f7;border-bottom:1px solid #88aec044;padding-bottom:7px; }
.cc-tags { display:flex;flex-wrap:wrap;gap:7px; }
.cc-tags span { font-size:12px;border:1px solid #ffffff1c;padding:6px 10px;border-radius:30px;color:#bcc9d2; }
.cc-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; }
.cc-section button:focus-visible,.cc-section a:focus-visible { outline:2px solid #add8f4;outline-offset:5px; }
.pp-hero__content { max-width:46rem; }
.pp-hero__title { max-width:18ch;font-size:clamp(2.5rem,5.7vw,4.4rem);letter-spacing:-.055em; }
.pp-hero__sub { font-size:16px;max-width:31rem;color:#bfc2c9; }
.pp-hero__trust { font-size:12px;letter-spacing:.025em; }
.pp-nav__cta { white-space:nowrap; }
.cc-clients { position:relative;z-index:2;max-width:1296px;margin:0 auto;padding:46px 35px 65px;border-bottom:1px solid var(--cc-rule); }
.cc-clients>p { text-align:center;font-size:13px;letter-spacing:.04em;color:#9298a1;margin-bottom:28px; }
.cc-clients>div { display:flex;align-items:center;justify-content:center;gap:clamp(18px,5vw,70px);flex-wrap:wrap; }
.cc-clients a { display:flex;align-items:center;justify-content:center;width:130px;height:65px;border-radius:5px;background:#eef1f2;padding:10px 16px;transition:transform .25s; }
.cc-clients a:hover { transform:translateY(-4px); }
.cc-clients img { width:100%;height:100%;object-fit:contain;filter:grayscale(1); }
.cc-system>.cc-section-head { text-align:center; }
.cc-system>.cc-section-head>p { margin:25px auto 0;max-width:640px; }
.cc-system-layout { display:grid;grid-template-columns:1.2fr 1fr;margin-top:55px;border:1px solid var(--cc-rule);border-radius:24px;background:linear-gradient(125deg,#111920,#0d1015 65%);overflow:hidden; }
.cc-system-map { position:relative;min-height:440px;isolation:isolate;background:radial-gradient(ellipse at center,#5b8bb01f,transparent 65%); }
.cc-system-map>svg { position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:#7196ae44;stroke-width:1; }
.cc-system-map>svg circle { stroke:#7196ae16; }
.cc-system-map .cc-signal { stroke:#a5d1eb;stroke-dasharray:6 280;animation:cc-dataflow 8s linear infinite; }
.cc-system-core { position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:125px;height:125px;border:1px solid #9ec5de66;border-radius:32px;background:linear-gradient(140deg,#3a5364,#142331 55%,#192a37);box-shadow:inset 0 1px #ffffff42,0 0 80px #73b4e02a;display:flex;flex-direction:column;align-items:center;justify-content:center; }
.cc-system-core strong { font:800 48px Poppins,sans-serif;letter-spacing:-5px;line-height:1.1; }
.cc-system-core strong>span { color:#98c9e8; }
.cc-system-core>span { font-size:9px;letter-spacing:.08em;margin-top:10px;color:#b4c8d6; }
.cc-system-tabs button { position:absolute;width:170px;border:1px solid #ffffff1c;background:#131c26;color:#dde5ec;padding:16px;text-align:left;font:500 14px Inter,sans-serif;border-radius:12px;box-shadow:0 10px 30px #0002;cursor:pointer;transition:border-color .2s,background .2s,translate .2s; }
.cc-system-tabs button>span { display:block;font:10px var(--font-m);letter-spacing:.09em;color:#94a8b6;margin-bottom:10px; }
.cc-system-tabs button>b { float:right;color:#97c9e8;font-weight:400; }
.cc-system-tabs button:nth-child(1) { left:5%;top:12%; }
.cc-system-tabs button:nth-child(2) { right:5%;top:12%; }
.cc-system-tabs button:nth-child(3) { left:3%;bottom:12%; }
.cc-system-tabs button:nth-child(4) { right:3%;bottom:12%; }
.cc-system-tabs button[aria-selected=true] { border-color:#a7cce48c;background:#254051;translate:0 -3px; }
.cc-system-panel { padding:40px;border-left:1px solid var(--cc-rule);display:flex;flex-direction:column;justify-content:center; }
.cc-system-panel h3 { font:500 clamp(25px,2.8vw,36px)/1.2 Poppins,sans-serif;letter-spacing:-.035em;margin:20px 0; }
.cc-system-panel>p { color:var(--cc-muted);font-size:15px;line-height:1.8;margin-bottom:22px;min-height:81px; }
.cc-system-proof { display:flex;align-items:center;gap:15px;border-top:1px solid var(--cc-rule);padding-top:24px;margin-top:28px; }
.cc-system-proof img { width:64px;height:68px;object-fit:cover;object-position:top;border-radius:6px; }
.cc-system-proof>span { display:flex;flex-direction:column;gap:5px; }
.cc-system-proof small { font:10px var(--font-m);color:#91aabe;letter-spacing:.08em; }
.cc-system-proof b { font-size:14px;font-weight:500; }
.cc-system-proof span>span { color:var(--cc-muted);font-size:12px;line-height:1.5; }
.cc-system-proof>i { margin-left:auto;font-style:normal;color:#a5d1eb; }
.cc-system-bottom { display:flex;justify-content:center;gap:50px;flex-wrap:wrap;margin-top:25px;color:#a5b3be;font-size:13px; }
.cc-system-bottom span::before { content:'·';color:var(--cc-ice);margin-right:12px; }
.cc-service-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:16px; }
.cc-service { padding:30px 26px;display:flex;flex-direction:column;min-height:400px;border:1px solid var(--cc-rule);border-radius:16px;background:linear-gradient(155deg,#ffffff05,transparent);transition:background .3s,border-color .3s; }
.cc-service:hover { background:#16233180;border-color:#8aafca60; }
.cc-service-top { display:flex;align-items:center;justify-content:space-between;gap:10px;color:#95aec0; }
.cc-service-top>span { font:12px var(--font-m); }.cc-service-top i { font-style:normal;font-size:30px;color:#aed1ea; }
.cc-service h3 { font:500 clamp(21px,2vw,26px)/1.25 Poppins,sans-serif;letter-spacing:-.035em;margin:29px 0 16px; }
.cc-service>p { font-size:15px;color:var(--cc-muted);line-height:1.75;margin-bottom:20px; }
.cc-service ul { display:grid;gap:9px;margin-bottom:30px; }.cc-service li { font-size:13px;color:#c3cbd3;padding-left:14px;position:relative; }.cc-service li::before { content:'·';position:absolute;left:0;color:#99c3df; }
.cc-service-proof { margin-top:auto;padding-top:18px;border-top:1px solid var(--cc-rule);font-size:12px;color:#b0d1e6;line-height:1.5; }
.cc-projects { margin-top:0;margin-bottom:0; }
.cc-projects__head h2 { font-size:clamp(24px,3.1vw,42px); }
.cc-case-filters { display:flex;gap:9px;flex-wrap:wrap;margin:32px 0; }
.cc-case-filters button { border:1px solid #ffffff21;background:transparent;color:#a7b0ba;padding:11px 17px;border-radius:30px;cursor:pointer;font:13px Inter,sans-serif;transition:background .2s; }
.cc-case-filters button[aria-pressed=true] { background:#d7e8f4;color:#101921;border-color:#d7e8f4; }
.cc-case-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:38px 24px; }
.cc-case[hidden] { display:none; }
.cc-case-image { position:relative;display:block;height:235px;overflow:hidden;border:1px solid var(--cc-rule);border-radius:14px;background:#16232f; }
.cc-case-image>img { width:100%;height:100%;object-fit:cover;object-position:top;transition:transform .65s; }
.cc-case-image::after { content:'';position:absolute;inset:40% 0 0;background:linear-gradient(transparent,#090e18b3); }
.cc-case-image>span { position:absolute;z-index:1;bottom:15px;right:15px;background:#0a1421a8;backdrop-filter:blur(10px);border:1px solid #ffffff47;padding:8px 12px;border-radius:30px;font-size:12px; }
.cc-case-image:hover>img { transform:scale(1.04); }
.cc-case-info { padding:22px 2px 0; }.cc-case-info .cc-eyebrow { font-size:10px;letter-spacing:.07em; }
.cc-case-info h3,.cc-case-demo h3 { font:500 26px/1.18 Poppins,sans-serif;letter-spacing:-.03em;margin:14px 0; }
.cc-case-info>p,.cc-case-demo>p { color:var(--cc-muted);font-size:14px;line-height:1.75;margin-bottom:20px; }
.cc-case-demo { padding:28px;border:1px solid #7aa4bf4a;border-radius:16px;background:radial-gradient(ellipse at top,#34557455,transparent 70%),#101921;display:flex;flex-direction:column; }
.cc-case-demo .cc-eyebrow { font-size:10px; }.cc-case-demo .cc-inline-link { align-self:flex-start;margin-top:auto; }
.cc-demo-ui { position:relative;height:148px;border:1px solid #799ab73d;border-radius:12px;margin:25px 0 22px;overflow:hidden;background:repeating-linear-gradient(90deg,transparent 0,transparent calc(20% - 1px),#83b3d124 20%);transform:perspective(500px) rotateY(-8deg) rotateX(8deg); }
.cc-demo-ui>div { display:flex;justify-content:space-around;font:12px var(--font-m);padding:12px 0;border-bottom:1px solid #ffffff24;color:#94b9d3; }
.cc-demo-ui i { position:absolute;height:24px;width:32%;left:22%;top:47px;border-radius:4px;background:#6597b88c; }.cc-demo-ui i:nth-of-type(2) { left:42%;top:85px;background:#97c5d96b; }.cc-demo-ui i:nth-of-type(3) { left:4%;top:108px;width:14%; }
.cc-engagement { border-top:1px solid var(--cc-rule); }
.cc-engagement-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:20px; }
.cc-engage-card { border-top:1px solid #8aa6ba42;padding:28px 22px 25px;display:flex;flex-direction:column; }
.cc-engage-card--main { background:radial-gradient(ellipse at top,#36566c66,transparent 80%),#131b24;border:1px solid #93b9d370;border-radius:18px;padding:28px; }
.cc-engage-card h3 { font:500 27px/1.2 Poppins,sans-serif;letter-spacing:-.04em;margin:28px 0 20px; }
.cc-engage-card>p { font-size:15px;line-height:1.8;color:var(--cc-muted); }
.cc-engage-card ul { display:grid;gap:12px;margin:26px 0 35px; }
.cc-engage-card li { font-size:13px;color:#d5dbe0; }.cc-engage-card li::before { content:'↗';color:#a0c6dd;margin-right:12px; }
.cc-engage-card>a { margin-top:auto;align-self:flex-start;font-size:13px; }
.cc-budget-note { display:flex;gap:36px;padding:25px 0 0;margin-top:35px;border-top:1px solid var(--cc-rule); }
.cc-budget-note>span { flex:0 0 230px;font-size:14px;color:#d2e2eb; }.cc-budget-note>p { color:#929ca6;font-size:13px;line-height:1.8;max-width:740px; }
.pp-process { max-width:1440px;margin:auto; }.pp-process__head { text-align:left;justify-items:start; }.pp-bene { max-width:none; }
.pp-bcard { min-height:430px; }.pp-bcard__foot--col p { font-size:14px; }.pp-bcard--animated .pp-bcard__body { font-size:14px; }
.pp-studio__lead { max-width:22ch; }.pp-team__tag { font-size:11px; }.pp-team__head h2 { letter-spacing:-.045em; }
.pp-faq__q { text-align:left; }.pp-faq__a p { font-size:15px;line-height:1.8; }
.pp-contact__sub { max-width:620px; }.pp-form select { color:#cbd3dd; }.pp-form select option { background:#111820;color:#eef2f5; }
.pp-form input,.pp-form select,.pp-form textarea { min-height:48px; }
.pp-nav__mobile:not(.open) { visibility:hidden; }
@keyframes cc-dataflow { to{stroke-dashoffset:-572} }
@media(min-width:1600px){.cc-section{padding-block:130px}}
@media(max-width:1100px){.cc-heading-split{gap:30px}.cc-heading-split>p{max-width:300px}.cc-system-layout{grid-template-columns:1.1fr 1fr}.cc-system-tabs button{width:145px;padding:13px;font-size:12px}.cc-system-panel{padding:28px}.cc-service-grid{grid-template-columns:repeat(2,1fr)}.cc-case-grid{grid-template-columns:repeat(2,1fr)}.cc-engage-card h3{font-size:23px}.cc-engage-card{padding-inline:16px}.pp-nav__menu{gap:13px}.pp-nav__menu a{font-size:12px}}
@media(max-width:780px){.cc-section{padding:70px 24px}.cc-heading-split{display:block;margin-bottom:32px}.cc-heading-split>p{max-width:550px}.cc-section-head h2{font-size:36px;letter-spacing:-.045em}.cc-system-layout{grid-template-columns:1fr;margin-top:30px}.cc-system-map{min-height:360px}.cc-system-panel{border-left:0;border-top:1px solid var(--cc-rule);padding:28px}.cc-system-panel>p{min-height:0}.cc-system-core{width:105px;height:105px;border-radius:25px}.cc-system-core strong{font-size:42px}.cc-system-tabs button{width:150px}.cc-system-bottom{gap:12px 25px;font-size:12px}.cc-clients{padding:25px 24px 40px}.cc-clients>div{gap:16px}.cc-clients a{width:98px;height:52px;padding:8px 12px}.cc-service{min-height:0;padding:24px}.cc-service-grid{gap:14px}.cc-service h3{font-size:23px}.cc-engagement-grid{grid-template-columns:1fr;gap:22px}.cc-engage-card{padding:25px}.cc-engage-card h3{font-size:29px;margin-top:18px}.cc-engage-card ul{margin-block:20px 25px}.cc-budget-note{display:block}.cc-budget-note>p{margin-top:12px}.cc-case-image{height:230px}.cc-case-grid{gap:32px 18px}.pp-hero__content{max-width:100%}.pp-hero__title{font-size:clamp(39px,7vw,56px);max-width:18ch}.pp-hero__trust{max-width:30ch;line-height:1.7}.pp-bcard{min-height:450px}}
@media(max-width:550px){.cc-service-grid,.cc-case-grid{grid-template-columns:1fr}.cc-service{padding:27px}.cc-case-image{height:260px}.cc-system-map{min-height:355px}.cc-system-tabs button{width:127px;padding:12px 10px;font-size:12px}.cc-system-tabs button>span{font-size:9px}.cc-system-tabs button:nth-child(1){left:4%;top:9%}.cc-system-tabs button:nth-child(2){right:4%;top:9%}.cc-system-tabs button:nth-child(3){left:4%;bottom:9%}.cc-system-tabs button:nth-child(4){right:4%;bottom:9%}.cc-system-core{width:95px;height:95px}.cc-system-core>span{font-size:8px}.cc-system-bottom{display:grid;justify-content:start;padding-left:10px}.cc-clients a{width:90px;height:48px}.cc-section-head h2{font-size:32px}.cc-case-filters{gap:7px}.cc-case-filters button{font-size:12px;padding:10px 13px}.cc-system-panel h3{font-size:29px}.pp-hero__title{font-size:clamp(34px,8.4vw,45px)}.pp-hero__cta{flex-wrap:wrap}.pp-hero__meta .pp-mono{font-size:10px;letter-spacing:.03em}.pp-nav__cta{font-size:11px}.pp-hero__content{padding-inline:24px}}
@media(prefers-reduced-motion:reduce){.cc-system-map .cc-signal{animation:none}.cc-clients a,.cc-service,.cc-case-image>img,.cc-system-tabs button{transition:none}}

.cc-form-notice{grid-column:1/-1;padding:16px;border:1px solid #93b9d34d;border-radius:10px;background:#172531;color:#cadbe6;font-size:14px;line-height:1.6;}

.cc-clients--statement { padding-block: 35px; }
.cc-clients--statement > p { margin: 0; font-size: clamp(15px, 1.8vw, 21px); color: #a8b0b5; }
.cc-clients--statement strong { font-weight: 500; color: #e8ede9; }
.cc-library-link { position: relative; z-index: 2; margin: 0 auto; padding: 45px 5% 70px; max-width: 1380px; display: flex; justify-content: space-between; align-items: center; gap: 30px; }
.cc-library-link h2 { font: 500 clamp(25px,3vw,38px)/1.2 Poppins,sans-serif; margin: 14px 0; letter-spacing: -.045em; }
.cc-library-link p { color: #a8b0b5; }
.cc-library-link > a { flex-shrink: 0; }
@media(max-width:760px) { .cc-library-link { align-items: flex-start; flex-direction: column; padding: 30px 24px 60px; } }
