/* ReVento V4.5 | re-skin of the remaining pages (benchmark, sectors, audit, request, survey, legal, audit kit) into the new design system */
.page45{
  --bg:#F2F4F7; --soft:#FFFFFF; --soft2:#EEF1F5; --line:#DCE2E9; --line2:#C9D2DE;
  --navy:#0B1016; --navy2:#10151D; --text:#0B1016; --body:#566273; --muted:#8590A0;
  --accent:#3D6BFF; --accent-dark:#2448C8; --accent-soft:#E8EEFF; --on-navy:#9AA6B6; --on-navy-accent:#8EA9FF;
  --sans:"Geist","Helvetica Neue",Arial,sans-serif; --mono:"Geist Mono",ui-monospace,Menlo,monospace; --serif:"Geist","Helvetica Neue",Arial,sans-serif;
  --radius:20px; --radius-s:12px; --gutter:clamp(16px,4vw,40px);
  background:var(--paper); font-family:var(--f-d);
}
.page45 .wrap{max-width:var(--wrap45);padding-inline:var(--pad45)}
.page45 h1,.page45 h2,.page45 h3{font-family:var(--f-d);font-weight:500;letter-spacing:-.03em;text-wrap:balance}
.page45 h1,.page45 h2{line-height:1.04}
.page45 .seg h3,.page45 .offer h3,.page45 .acc h3,.page45 .path-h,.page45 .method .why h3{font-family:var(--f-d)!important;font-weight:500}
.page45 .path .pn{font-family:var(--f-m)}
/* title blocks */
.page45 .kicker{font:500 11.5px/1 var(--f-m);letter-spacing:.16em;color:var(--steel);display:flex;width:100%;gap:14px}
.page45 .kicker::before{content:"§";width:auto;height:auto;background:none;color:var(--sig);font-weight:500}
.page45 .kicker::after{content:"";flex:1;height:1px;background:currentColor;opacity:.25;align-self:center}
/* page head: graphite stage with blueprint grid */
.page45 .page-head{position:relative;border-bottom:0;margin-inline:calc(50% - 50vw);padding:clamp(56px,7vw,96px) calc(50vw - 50%) clamp(48px,6vw,80px);color:var(--text-d);background:radial-gradient(700px 400px at 80% 0%,rgba(61,107,255,.18),transparent 60%),linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px) 0 0/24px 24px,linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px) 0 0/24px 24px,var(--night);margin-bottom:clamp(40px,5vw,72px)}
.page45 .page-head h1{color:#fff;font-size:clamp(38px,5vw,68px);letter-spacing:-.04em;max-width:20ch}
.page45 .page-head .lead,.page45 .page-head p{color:var(--sub-d)}
.page45 .page-head .kicker{color:var(--sub-d)}
.page45 .page-head .kicker::before{color:var(--sig-2)}
.page45 .page-head .btn-outline{color:#fff;border-color:rgba(255,255,255,.24)}.page45 .page-head .btn-outline:hover{border-color:#fff}
.page45 .page-head img{border-radius:20px}
/* sections */
.page45 .section{padding:clamp(64px,8vw,112px) 0}
.page45 .section h2{font-size:clamp(32px,4.2vw,52px)}
.page45 .lead{font-size:clamp(17px,1.5vw,20px);color:var(--steel)}
/* buttons */
.page45 .btn{border-radius:999px;min-height:48px;padding:0 24px;font:500 15px/1 var(--f-d);gap:10px;transition:transform .25s,background .25s,box-shadow .25s,border-color .25s}
.page45 .btn-primary{background:var(--sig);color:#fff;box-shadow:0 10px 30px -10px rgba(61,107,255,.6)}
.page45 .btn-primary:hover{background:var(--sig);transform:translateY(-2px);box-shadow:0 16px 36px -10px rgba(61,107,255,.75);color:#fff}
.page45 .btn-outline{background:var(--white);border-color:var(--hair);color:var(--ink)}.page45 .btn-outline:hover{border-color:var(--ink)}
/* cards and boxes */
.page45 .card,.page45 .chart,.page45 .dcard,.page45 .oc,.page45 .kcard,.page45 .ksp-card,.page45 .fb,.page45 .survey,.page45 .acc,.page45 .opt,.page45 .note,.page45 .never-box,.page45 .tbl-wrap,.page45 .ktable-wrap,.page45 .cc-in,.page45 .kit-login{border-radius:20px;border-color:var(--hair);background:var(--white)}
.page45 .band,.page45 .method .why,.page45 .partner,.page45 .nodb-box{background:var(--night);border-radius:22px}
.page45 .band{border-radius:0}
.page45 .note,.page45 .pnote{border-left-color:var(--sig)}
/* tables */
.page45 table th{font:500 10.5px/1.2 var(--f-m);letter-spacing:.12em;text-transform:uppercase;color:var(--mute)}
/* tabs and chips */
.page45 [role="tab"]{font-family:var(--f-d);border-radius:10px}
.page45 .stabs [role="tab"],.page45 .tabs-h [role="tab"]{background:var(--white);border:1px solid var(--hair);padding:10px 14px;margin:0 8px 8px 0;color:var(--steel)}
.page45 .stabs [role="tab"][aria-selected="true"],.page45 .tabs-h [role="tab"][aria-selected="true"]{background:var(--ink);color:#fff;border-color:var(--ink);box-shadow:none}
.page45 .chip,.page45 .fchip{border-radius:8px;font-family:var(--f-m);font-size:12px}
.page45 .fchip[aria-pressed="true"]{background:var(--ink);border-color:var(--ink)}
/* forms */
.page45 .fld input,.page45 .fld select,.page45 .fld textarea{border-radius:12px;border-color:var(--hair);background:var(--white);font-family:var(--f-d)}
.page45 .fld input:focus,.page45 .fld select:focus,.page45 .fld textarea:focus{border-color:var(--sig);box-shadow:0 0 0 3px rgba(61,107,255,.18)}
/* charts */
.page45 .bt i,.page45 .bars i{border-radius:6px}
.page45 .bt i.hi,.page45 .bars i.hi{background:var(--sig)}
/* legal pages */
.page45 .legal{max-width:78ch}
.page45 .legal h1{font-size:clamp(34px,4vw,52px)}
.page45 .page-head .btn-outline{background:transparent;color:#fff;border-color:rgba(255,255,255,.24)}
.page45 .types-grid>div{display:grid;grid-row:span 2;grid-template-rows:subgrid;row-gap:8px}
.page45 .types-grid h3{margin:0}
@media (max-width:640px){.page45 .types-grid>div{grid-row:auto;grid-template-rows:none}}
/* V4.5 text-wrap sweep: no broken labels, links, buttons or table headers */
.page45 .tbl-wrap,.page45 .ktable-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.page45 th{white-space:nowrap}
.page45 table td{min-width:12ch}
.page45 .rtab th,.page45 .rtab td{overflow-wrap:normal;hyphens:manual}
.page45 .btn{white-space:nowrap;max-width:100%}
.page45 .kit-bar{flex-wrap:wrap}
.page45 .kit-bar .kicker{flex:1 1 auto;min-width:0;width:auto}
.page45 .kit-bar a{white-space:nowrap;flex:none}
.page45 small.up2,.page45 .scale small,.page45 .opt small{white-space:nowrap}
.page45 a[href^="mailto:"]{white-space:nowrap}
@media (max-width:480px){
 .page45 .kicker{font-size:10.5px;letter-spacing:.1em}
 .page45 .kicker::after{display:none}
 .page45 .btn{font-size:14px;padding:0 18px}
}
.page45 .rate-h small{white-space:nowrap;display:block}
.page45 .m-grid{grid-template-columns:minmax(0,1fr)!important}
.page45 .m-grid .table th[scope=row],.page45 .m-grid .table td:first-child{white-space:nowrap;width:auto}
.page45 .table{border-radius:0}
.page45 .ktable tbody th,.page45 .ktable thead th{white-space:nowrap}
@media (max-width:640px){.page45 .tbl-wrap .table tr{padding:14px 16px}}
/* ---------- V4.5 pricing survey */
.page45 .sv-head{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(28px,5vw,72px);align-items:end}
.page45 .sv-facts45{display:flex;flex-direction:column;border:1px solid var(--hair-d);border-radius:18px;background:rgba(255,255,255,.03);padding:6px 20px}
.page45 .sv-facts45 .fb-jump{padding:14px 0;color:var(--sig-2);font-weight:500;text-decoration:none;border-bottom:1px solid var(--hair-d)}
.page45 .sv-facts45 div{display:flex;justify-content:space-between;gap:16px;padding:13px 0;border-bottom:1px solid var(--hair-d);font-size:14.5px}
.page45 .sv-facts45 div:last-child{border-bottom:0}
.page45 .sv-facts45 span{color:var(--sub-d)}
.page45 .sv-facts45 b{color:#fff;font-weight:500;text-align:right}
@media (max-width:900px){.page45 .sv-head{grid-template-columns:1fr}}
.page45 .sv-sec{border:1px solid var(--hair);border-radius:22px;background:var(--white);padding:30px 32px 32px;margin:0 0 18px;position:relative}
.page45 .sv-sec legend{float:left;width:100%;display:flex;align-items:center;gap:14px;padding:0 0 18px;margin:0 0 6px;border-bottom:1px solid var(--hair);font-size:22px;letter-spacing:-.02em}
.page45 .sv-sec legend + *{clear:both}
.page45 .sv-sec legend .num{font:500 11px/1 var(--f-m);letter-spacing:.08em;color:var(--sig);background:rgba(61,107,255,.1);border-radius:8px;padding:7px 9px}
@media (max-width:640px){.page45 .sv-sec{padding:22px 18px 24px}.page45 .sv-sec legend{font-size:19px}}
.page45 .q-h{display:flex;gap:12px;align-items:baseline}
.page45 .q-n{font:500 12px/1 var(--f-m);color:var(--sig);flex:none}
.page45 .opts{display:flex;flex-wrap:wrap;gap:8px}
.page45 .opt span{border-radius:10px;border-color:var(--hair);padding:10px 14px;font-size:14.5px;transition:border-color .2s,background .2s,color .2s}
.page45 .opt:hover span{border-color:var(--ink)}
.page45 .opt input:checked + span{background:var(--ink);border-color:var(--ink);color:#fff;font-weight:400}
.page45 .opts.need .opt span,.page45 .ox.need .ox-box{border-color:#D64545;box-shadow:0 0 0 3px rgba(214,69,69,.15)}
.page45 .rate-r i{border-radius:10px;border-color:var(--hair)}
.page45 .rate-r input:checked + i{background:var(--ink);border-color:var(--ink)}
/* Other: combobox with chips */
.page45 .ox{margin-top:12px;display:grid;gap:10px;max-width:640px}
.page45 .ox[hidden]{display:none}
.page45 .ox-box{position:relative;display:flex;gap:8px;border:1px solid var(--hair);border-radius:12px;background:var(--white);padding:5px 5px 5px 14px;transition:border-color .2s,box-shadow .2s}
.page45 .ox-box:focus-within{border-color:var(--sig);box-shadow:0 0 0 3px rgba(61,107,255,.18)}
.page45 .ox-in{flex:1;min-width:0;border:0;outline:0;font:400 15px/1.4 var(--f-d);color:var(--ink);background:transparent;padding:8px 0}
.page45 .ox-in[hidden],.page45 .ox-add[hidden]{display:none}
.page45 .ox-add{flex:none;border:0;border-radius:9px;background:var(--paper);color:var(--ink);font:500 13.5px/1 var(--f-d);padding:0 14px;cursor:pointer}
.page45 .ox-add:hover{background:var(--ink);color:#fff}
.page45 .ox-sug{position:absolute;left:-1px;right:-1px;top:calc(100% + 6px);z-index:20;list-style:none;margin:0;padding:6px;background:var(--white);border:1px solid var(--hair);border-radius:12px;box-shadow:0 24px 50px -24px rgba(11,16,22,.4);max-height:280px;overflow:auto}
.page45 .ox-sug[hidden]{display:none}
.page45 .ox-sug li{padding:10px 12px;border-radius:8px;font-size:14.5px;cursor:pointer;color:var(--ink)}
.page45 .ox-sug li.on,.page45 .ox-sug li:hover{background:var(--paper)}
.page45 .ox-sug li.ox-free{color:var(--steel);border-top:1px solid var(--hair);margin-top:4px}
.page45 .ox-sug li.ox-free b{color:var(--sig);font-weight:500}
.page45 .ox-sug li small{display:block;margin-top:3px;font-size:12.5px;color:var(--mute)}
.page45 .ox-chips{display:flex;flex-wrap:wrap;gap:8px}
.page45 .ox-chips:empty{display:none}
.page45 .ox-chip{display:inline-flex;align-items:center;gap:8px;background:rgba(61,107,255,.1);color:var(--sig-d);border-radius:9px;padding:7px 8px 7px 12px;font-size:14px}
.page45 .ox-chip button{border:0;background:transparent;color:inherit;font-size:16px;line-height:1;cursor:pointer;padding:0 2px}
/* Q9 extra points */
.page45 .rate-x .rate-l{display:flex;gap:8px;align-items:flex-start;padding-right:16px}
.page45 .rate-x .ox{margin:0;flex:1;max-width:none}
.page45 .rate-rm{flex:none;width:34px;height:34px;margin-top:5px;border:1px solid var(--hair);border-radius:10px;background:var(--white);color:var(--steel);cursor:pointer;font-size:16px}
.page45 .rate-rm:hover{border-color:#D64545;color:#D64545}
.page45 .rate-add{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:14px}
.page45 .rate-add .muted{font-size:13.5px}
.page45 .rate-add .btn[disabled]{opacity:.45;pointer-events:none}
@media (max-width:640px){.page45 .rate-x .rate-l{grid-column:1/-1;padding-right:0}}
/* part 5: price view */
.page45 .vw-intro{display:grid;gap:12px;margin-bottom:6px}
.page45 .vw-intro[hidden]{display:none}
.page45 .vw-sel{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.page45 .vw-sel span{font:500 10.5px/1 var(--f-m);letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
.page45 .vw-sel b{background:var(--ink);color:#fff;font-weight:500;font-size:14.5px;border-radius:10px;padding:9px 14px}
.page45 .vw-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 22px;margin:8px 0 24px}
.page45 .vw-f{display:grid;grid-row:span 2;grid-template-rows:subgrid;gap:10px;align-content:start}
.page45 .vw-f > span:first-child{align-self:start;font-size:15px;line-height:1.45}
.page45 .eur input{border-radius:12px;height:52px;font-size:17px;font-variant-numeric:tabular-nums}
@media (max-width:640px){.page45 .vw-grid{grid-template-columns:1fr}.page45 .vw-f{grid-row:auto;grid-template-rows:none}}
.page45 .survey{background:transparent;border:0;padding:0;box-shadow:none}
.page45 .ox-box[hidden]{display:none}
.page45 .eur input{-moz-appearance:textfield;appearance:textfield}.page45 .eur input::-webkit-inner-spin-button,.page45 .eur input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
/* V4.7 card titles of different length: lists start on one line across the row */
.page45 .m-cards>div{display:grid;grid-row:span 2;grid-template-rows:subgrid;align-content:start}
/* V4.7 two-column form rows: inputs line up even when one label wraps */
.page45 .grid2{align-items:end}
/* V4.7 scale end labels stay inside their 64px column in every language */
.page45 .rate-h small{white-space:normal;line-height:1.25;padding:0 2px;overflow-wrap:break-word}
.page45 .rate-h{align-items:start}
