/* CONSULIGENCE v18.7 — responsive editorial polish
   Purpose: solve collisions, prevent overflow, unify rhythm and spacing.
   Official brand SVG, approved colours, copy, and feature logic are unchanged.
*/
:root{--cg-page-max:1216px;--cg-space:clamp(50px,5.3vw,86px);--cg-page-gutter:clamp(18px,3.4vw,42px);--fd:"Bebas Neue","Roboto Condensed",Impact,sans-serif}
html{scroll-padding-top:96px}body{min-width:320px}
:where(main,section,article,.wrap,.v17-section-head,.v17-hero-grid,.cg-selling-header,.cg-catalog-top,.cg-service-item,.cg-service-hero,.cg-catalog-group){min-width:0}
:where(.v17, .cg-service-main, .cg-selling, .cg-home-questions, .phero, .sec) :is(h1,h2,h3,p){min-width:0;max-width:100%}
:where(.v17,.cg-service-main) :is(h1,h2){text-wrap:balance;overflow-wrap:normal;hyphens:auto;line-height:.99;letter-spacing:.008em}
:where(.v17,.cg-service-main,.cg-selling,.cg-home-questions) p{line-height:1.58}
/* Align homepage with the standard page container; avoid giant gutters. */
.v17 .wrap{max-width:calc(var(--cg-page-max) + 2*var(--cg-page-gutter));padding-inline:var(--cg-page-gutter)}
.v17-section{padding-block:var(--cg-space)}
.v17-hero{padding-top:clamp(50px,5.6vw,76px);padding-bottom:clamp(56px,6vw,82px)}
.v17-section-head{grid-template-columns:minmax(0,1.18fr) minmax(260px,.82fr);gap:clamp(20px,3.4vw,48px);margin-bottom:clamp(24px,3.2vw,43px);align-items:end}
.v17-section-head>*{min-width:0}.v17-section-head .v17-kicker{grid-column:1/-1}
.v17 h2{font-size:clamp(3rem,5.8vw,6.2rem)}
.v17-section-head h2{font-size:clamp(3rem,5.4vw,5.8rem)}
.v17 h1{font-size:clamp(4.2rem,6.55vw,6.65rem);line-height:.94;margin-bottom:22px}
.v17-hero-grid{grid-template-columns:minmax(0,1.03fr) minmax(0,.97fr);gap:clamp(30px,3.4vw,52px);align-items:start}
.v17-hero-intro{font-size:clamp(1rem,1.34vw,1.17rem);max-width:53ch;margin-bottom:19px}
.v17-actions{gap:11px}.v17-btn{min-height:48px;padding:12px 17px;gap:11px;font-size:.73rem;white-space:normal;line-height:1.35}
.v17-scroll-cue{padding-top:29px}.v17-trust{margin-top:14px}
.v17-engine{padding:20px;border-radius:22px}.v17-engine-orbit{height:clamp(145px,16vw,205px)}
.v17-flow-readout{min-height:112px;padding:15px 17px}.cg-example-details{margin-top:8px}
.v17-engine-top{flex-wrap:wrap;row-gap:4px}
.v17-flow-legend{row-gap:6px;line-height:1.45}
.v17-compare{gap:14px}.v17-compare-card{padding:clamp(20px,2.3vw,29px);min-height:280px}
.v17-problem-card{min-height:220px;padding:clamp(22px,2.5vw,30px)}
.v17-problem-card h3{font-size:clamp(1.9rem,2.7vw,2.7rem);margin:14px 0 10px}
.v17-problem-grid{gap:14px}
.v17-demo{grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr)}
.v17-demo-side{padding:clamp(22px,3vw,36px)}.v17-demo-side h3{font-size:clamp(2.2rem,3vw,3.8rem);margin:20px 0}
.v17-demo-track{padding:clamp(16px,2.1vw,28px)}.v17-demo-track li{min-width:0;gap:10px;min-height:42px;padding:9px 10px}
.v17-demo-track li strong{min-width:0;line-height:1.35}
.v17-demo-track .v17-mini-tag{white-space:normal;text-align:center}
.v17-method-grid{margin-bottom:20px}.v17-method-grid li{padding:14px 10px 14px 0}
.v17-method-grid strong{margin-top:15px;font-size:clamp(1.9rem,2.2vw,2.6rem)}
.cg-plan{margin:18px 0 25px;padding:clamp(20px,2.4vw,29px)}.cg-plan-body{padding-block:13px 8px}
.cg-plan-graphic{min-height:175px}.cg-plan-graphic svg{max-height:220px}
.cg-plan-readout{min-height:125px}.cg-plan-readout h3{font-size:clamp(2.6rem,4.1vw,4.7rem)}
.v17-founder-grid{grid-template-columns:minmax(0,.93fr) minmax(0,1.07fr);gap:clamp(24px,4vw,62px);align-items:start}
.v17-founder-image{margin-top:36px;min-height:0;align-self:start;max-width:500px;background:#09111f}
.v17-founder-image picture,.v17-founder-image img{height:auto;min-height:0;aspect-ratio:auto;object-fit:contain;object-position:top center}
.v17-founder-copy h2{font-size:clamp(3rem,4.6vw,5.4rem);margin:17px 0}
.cg-founder-credentials{margin:18px 0 16px;gap:9px}.cg-credential{padding:15px 13px}
.v17-last h2{font-size:clamp(3.8rem,7.2vw,7.9rem);margin:12px 0 8px}
.v17-last .v17-actions{margin:12px 0 21px}
/* Service cards and catalogue: uniform alignment, more room for words, less empty space. */
.cg-selling{padding:var(--cg-space) 0}
.cg-selling .cg-selling-header{grid-template-columns:minmax(0,1.18fr) minmax(250px,.82fr);gap:clamp(22px,3vw,44px);margin-bottom:26px;align-items:end}
.cg-selling h2{font-size:clamp(3.2rem,5.9vw,6.2rem);line-height:.99}
.cg-offer-cards{gap:12px}.cg-offer-card{padding:21px;min-height:195px;gap:8px;border-radius:15px}
.cg-offer-card h3{font-size:clamp(.98rem,1.2vw,1.19rem)!important;line-height:1.35}
.cg-offer-card p{font-size:.85rem;line-height:1.52}.cg-offer-card .cg-card-link{margin-top:auto;padding-top:8px}
.cg-selling-foot{margin-top:20px;gap:13px}
.cg-home-questions{padding:var(--cg-space) 0}.cg-home-questions h2{font-size:clamp(3rem,5vw,5.5rem);line-height:1}
.cg-home-questions details{padding:15px 18px;margin-top:10px}
.cg-service-main{padding-bottom:clamp(50px,5vw,80px)}
.cg-service-main .wrap{max-width:calc(var(--cg-page-max) + 2*var(--cg-page-gutter));padding-inline:var(--cg-page-gutter)}
.cg-service-hero{padding:clamp(42px,5vw,68px) 0 24px}
.cg-service-main h1{font-size:clamp(3.8rem,6.7vw,7.7rem);line-height:1;max-width:960px;margin-bottom:12px}
.cg-service-intro{max-width:800px;font-size:clamp(1rem,1.4vw,1.18rem);line-height:1.58}
.cg-service-quick{margin:25px 0 21px;gap:9px}.cg-service-quick a{padding:13px 16px;min-width:0;line-height:1.4}
.cg-service-search{margin:15px 0 18px}.cg-service-note{max-width:70ch}
.cg-catalog-group{margin-top:25px;scroll-margin-top:95px;padding:clamp(22px,2.8vw,34px);border-radius:18px}
.cg-catalog-top{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;margin-bottom:18px;align-items:start}
.cg-catalog-top > div{min-width:0}
.cg-catalog-top h2{font-size:clamp(2.5rem,4.2vw,4.45rem);line-height:.99;overflow-wrap:normal;margin:0 0 10px}
.cg-catalog-top p{max-width:66ch;font-size:.91rem;line-height:1.55}
.cg-catalog-index{font-size:.7rem;padding:8px 10px}
.cg-services-list{gap:10px}.cg-service-item{padding:15px;min-height:93px;border-radius:11px}
.cg-service-item h3{font-size:.93rem!important;margin-bottom:5px;line-height:1.35}
.cg-service-item p{line-height:1.5;font-size:.81rem}
.cg-service-actions{margin-top:20px}
.cg-serv-questions{margin-top:clamp(42px,5vw,68px)}
.cg-proof-templates{gap:13px}.cg-proof-templates article{padding:18px}
.cg-proof-flow{gap:8px}.cg-proof-flow span{min-width:0}
/* Ensure floating studio shortcut cannot cover reading or input controls. */
.v15-studio-shortcut{display:none!important}
.v15-motion-control{position:relative!important;inset:auto!important;transform:none!important;margin:16px auto!important;float:none!important;max-width:max-content}
/* Shared components and secondary pages use the same calmer rhythm. */
.sec{padding-block:clamp(52px,5.3vw,78px)}.sec.tight{padding-block:clamp(43px,4vw,64px)}
.sec-head{margin-bottom:clamp(25px,3vw,43px);gap:clamp(19px,3vw,40px)}
.phero{padding-bottom:clamp(30px,4vw,55px)}
.card,.tile,.mtile{min-width:0}.mtiles{gap:12px}
/* Focus, contrast and motion: refine without changing behaviour. */
:where(.v17-btn,.cg-catalog-button,.cg-offer-card,.cg-service-item,.cg-service-quick a,.cg-service-search input):focus-visible{outline:3px solid #FFD166;outline-offset:3px}
:where(.cg-offer-card,.cg-service-item,.v17-problem-card,.v17-compare-card,.v17-demo,.cg-catalog-group){box-shadow:0 8px 28px rgba(0,0,0,.12)}
/* Tablet and mobile; prefer one clear vertical reading column. */
@media(max-width:1080px){
 .v17-hero-grid{grid-template-columns:1fr 1fr;gap:24px}
 .v17 h1{font-size:clamp(3.5rem,6.8vw,5.3rem)}
 .v17-section-head{grid-template-columns:minmax(0,1fr) minmax(190px,.68fr)}
 .cg-selling .cg-selling-header{grid-template-columns:1fr;gap:15px}
 .cg-selling-header p{max-width:650px}
}
@media(max-width:800px){
 .v17-hero-grid,.v17-section-head,.v17-demo,.v17-founder-grid,.cg-selling .cg-selling-header{grid-template-columns:minmax(0,1fr)}
 .v17-section-head{gap:12px}.v17-section-head .v17-kicker{grid-column:1}
 .v17-section-head p{max-width:650px}
 .v17-hero-grid{gap:25px}.v17 h1{font-size:clamp(3.8rem,10.8vw,6.1rem)}
 .v17-engine{max-width:650px;width:100%}
 .v17-compare{grid-template-columns:1fr;gap:8px}.v17-compare-card{min-height:240px}
 .v17-problem-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .v17-demo-track{padding:15px}
 .v17-founder-image{margin:0;max-width:530px}
 .cg-catalog-top{grid-template-columns:minmax(0,1fr) auto}
 .cg-service-quick{grid-template-columns:repeat(2,minmax(0,1fr))}
 .cg-service-main h1{font-size:clamp(3.7rem,8.2vw,6.3rem)}
 .cg-catalog-top h2{font-size:clamp(2.65rem,6.4vw,4rem)}
}
@media(max-width:540px){
 :root{--cg-space:clamp(43px,10.8vw,56px);--cg-page-gutter:17px}
 .v17-section{padding-block:var(--cg-space)}
 .v17-hero{padding-top:35px;padding-bottom:46px}
 .v17 h1{font-size:clamp(3rem,12.15vw,4.45rem);line-height:.97;margin-bottom:17px}
 .v17 h2,.v17-section-head h2{font-size:clamp(2.55rem,10vw,3.7rem);line-height:1.01;overflow-wrap:anywhere}
 .v17-section-head{margin-bottom:20px}
 .v17-kicker,.v17-overline,.v17-panel-label{letter-spacing:.1em}
 .v17-hero-intro{font-size:1rem;line-height:1.58}
 .v17-hero-grid{gap:24px}.v17-engine{padding:16px 14px}
 .v17-engine-orbit{height:170px}
 .v17-flow-readout{min-height:108px;padding:13px}
 .v17-scroll-cue{padding-top:18px}
 .v17-btn{width:100%;padding:13px 13px;min-height:48px}
 .v17-compare-card{min-height:235px;padding:20px}
 .v17-compare-arrow{font-size:1.35rem}
 .v17-problem-grid{grid-template-columns:1fr;gap:11px}
 .v17-problem-card{min-height:0;padding:20px;border-radius:14px}
 .v17-problem-card h3{font-size:clamp(2rem,8vw,2.65rem)}
 .cg-selling h2{font-size:clamp(2.8rem,10.1vw,3.95rem)}
 .cg-offer-cards{grid-template-columns:1fr;gap:10px}
 .cg-offer-card{padding:18px;min-height:0;gap:7px}
 .cg-offer-card h3{font-size:1.02rem!important}
 .cg-offer-card p{font-size:.85rem}
 .cg-selling-foot{flex-direction:column;align-items:stretch}
 .cg-catalog-button{width:100%;text-align:center}
 .v17-demo-side{padding:21px}.v17-demo-side h3{font-size:2.5rem}
 .v17-demo-track li{padding:10px;gap:7px;flex-wrap:wrap}
 .v17-demo-track li strong{flex:1 1 180px}
 .v17-demo-track .v17-mini-tag{max-width:100%;flex:none}
 .cg-demo-exception{padding:15px}
 .v17-method-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .v17-method-grid strong{font-size:1.9rem}
 .cg-plan{padding:15px 13px;margin:14px 0 18px}
 .cg-plan-head{flex-wrap:wrap;gap:11px}
 .cg-plan-control{width:auto;max-width:100%}
 .cg-plan-body{gap:4px}.cg-plan-readout{min-height:125px}
 .cg-plan-readout h3{font-size:clamp(2.8rem,10vw,3.7rem)}
 .cg-plan-graphic{min-height:0;max-height:170px}
 .cg-plan-track-wrap{margin:0;max-width:100%}
 .cg-founder-credentials{gap:8px}
 .cg-credential{padding:12px 10px}.cg-credential strong{font-size:1.45rem}
 .v17-founder-copy h2{font-size:clamp(2.65rem,10vw,4rem)}
 .v17-last h2{font-size:clamp(3.1rem,11vw,4.4rem)}
 .cg-home-questions h2{font-size:clamp(2.7rem,9.5vw,3.9rem)}
 .cg-home-questions details{padding:14px}
 .cg-service-hero{padding:37px 0 23px}
 .cg-service-main h1{font-size:clamp(3.05rem,10.4vw,4.1rem);line-height:1.03}
 .cg-service-quick{grid-template-columns:1fr;gap:8px;margin:21px 0}
 .cg-service-quick a{padding:13px 14px;min-height:44px}
 .cg-catalog-group{margin-top:20px;padding:17px;border-radius:15px}
 .cg-catalog-top{grid-template-columns:minmax(0,1fr);gap:9px}
 .cg-catalog-top h2{font-size:clamp(2.35rem,8.2vw,3.1rem);line-height:1.06;overflow-wrap:anywhere}
 .cg-catalog-index{justify-self:start;padding:6px 9px;font-size:.66rem}
 .cg-services-list{grid-template-columns:1fr;gap:8px}
 .cg-service-item{min-height:0;padding:13px}
 .cg-service-intro{font-size:1rem}
 .cg-service-actions{align-items:stretch;flex-direction:column}
 .cg-serv-questions h2{font-size:clamp(2.7rem,9vw,3.6rem)}
 .cg-proof-templates{grid-template-columns:1fr}
 .cg-proof-flow{gap:7px}
 .sec{padding-block:var(--cg-space)}.sec.tight{padding-block:38px}
 .sec-head{grid-template-columns:minmax(0,1fr);gap:15px;margin-bottom:22px}
 .mtiles.solo .mtile{display:flex}
}
@media(max-width:350px){
 .v17 h1{font-size:2.9rem}
 .v17 h2,.v17-section-head h2{font-size:2.55rem}
 .cg-service-main h1{font-size:2.85rem}
 .cg-catalog-top h2{font-size:2.3rem}
}
@media(prefers-reduced-motion:reduce){
 .cg-offer-card:hover,.v17-problem-card:hover,.cg-service-quick a:hover{transform:none}
}

/* Fix a flex-vs-grid cascade collision: the proof walkthrough needs three equal cards. */
#enquiry-demo .grid.g3.cg-proof-flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:14px;margin:0}
#enquiry-demo .cg-proof-flow > .card{min-width:0;max-width:none;width:auto;display:flex;flex-direction:column;align-items:flex-start;gap:9px;padding:clamp(20px,2.5vw,30px)}
#enquiry-demo .cg-proof-flow > .card h3{margin:0;line-height:1.25;overflow-wrap:break-word}
#enquiry-demo .cg-proof-flow > .card p{margin:0;line-height:1.55}
#enquiry-demo .cg-proof-flow details{margin-top:auto;width:100%;padding-top:9px}
/* Talent stays royal purple across legacy / newer modules. */
.c-e,.v17-violet{--c:#7851D9;--accent:#7851D9}
/* Plain-markup fallback keeps the 9-step explanation readable before scripts load. */
#v17-demo-track > li{min-width:0}
@media(max-width:850px){#enquiry-demo .grid.g3.cg-proof-flow{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){#enquiry-demo .grid.g3.cg-proof-flow{grid-template-columns:minmax(0,1fr)}#enquiry-demo .cg-proof-flow > .card{padding:19px}}

/* Allow non-breaking spans in older solution headings to wrap on narrow screens. */
@media(max-width:540px){.sec-head h2,.sec-head.one h2{max-width:100%;overflow-wrap:anywhere;font-size:clamp(2.45rem,9.9vw,3.5rem)}}

/* 320px devices: keep the legacy Studio headline and closing grid inside the screen. */
@media(max-width:360px){
 main{overflow-x:clip}
 .v15-studio-intro h1{font-size:clamp(3.1rem,16vw,3.7rem)!important;overflow-wrap:anywhere;line-height:.96}
 .v15-closing>.wrap{grid-template-columns:minmax(0,1fr)!important}
 .v15-closing>.wrap>*{min-width:0}
 .v15-closing h2{font-size:clamp(2.8rem,14vw,3.8rem)!important;overflow-wrap:anywhere}
}
