/* The theme stylesheet carries the section design. This file exists for
   editor-only fixes and anything specific to how Elementor wraps widgets. */

/* Elementor wraps every widget in containers that add their own width.
   Let our full-bleed bands actually reach the edges. */
.elementor-widget-container > .sec,
.elementor-widget-container > .tb,
.elementor-widget-container > .ft,
.elementor-widget-container > .hero,
.elementor-widget-container > .brands,
.elementor-widget-container > .mq{margin-left:0;margin-right:0}

/* In the editor, an empty repeater should still show its shape. */
.elementor-editor-active .sg:empty::after,
.elementor-editor-active .tt:empty::after,
.elementor-editor-active .revs:empty::after{
  content:"Add items in the panel on the left";
  display:block;padding:34px;text-align:center;color:#8B84A3;font-size:.9rem;
  border:2px dashed #E7E1F3;border-radius:10px}

/* ==========================================================
   3D OBJECT SUPPORT
   Active only when the MR Technical theme has its object layer
   switched on; the theme adds .mr-3d to <body>. Without it these
   rules never match and the flat icons render as before.
   ========================================================== */
.mr-3d .sc > i,
.mr-3d .wc > i,
.mr-3d .spc > i,
.mr-3d .tt > i{background:none;border-radius:0;width:72px;height:72px;
  display:block;margin-bottom:16px}
.mr-3d .sc > i svg,
.mr-3d .wc > i svg,
.mr-3d .spc > i svg,
.mr-3d .tt > i svg{width:100%;height:100%;stroke:none;
  filter:drop-shadow(0 8px 14px rgba(42,14,92,.18));
  transition:transform .45s cubic-bezier(.2,.7,.3,1)}
.mr-3d .sc:hover > i svg,
.mr-3d .wc:hover > i svg,
.mr-3d .tt:hover > i svg{transform:translateY(-6px) rotate(-7deg) scale(1.07)}

/* small inline objects keep their row height */
.mr-3d .arc > i,
.mr-3d .bk-l li > i,
.mr-3d .hero-ch i{width:34px;height:34px;background:none;border-radius:0;margin:0;flex:none}
.mr-3d .arc > i svg,
.mr-3d .bk-l li > i svg,
.mr-3d .hero-ch i svg{width:100%;height:100%;stroke:none}

@media(prefers-reduced-motion:reduce){
  .mr-3d .sc > i svg,.mr-3d .wc > i svg,.mr-3d .tt > i svg{transition:none}
}


/* ==========================================================
   INNER PAGE SECTIONS
   Components for the services index and the eight service pages.
   Values are extracted verbatim from the approved design previews,
   so widget output and preview match exactly.

   Only new selectors appear here. Rules the theme stylesheet already
   owns (.sc, .gi, .gl, .tbl and friends) are deliberately untouched;
   the few additions those need are scoped as descendants below.
   ========================================================== */
.sec-s{padding:clamp(38px,4.2vw,60px) 0;position:relative;overflow:hidden}
.sc:hover .mr-o,.tt:hover .mr-o,.wc:hover .mr-o,.pc:hover .mr-o,.sym:hover .mr-o{transform:translateY(-6px) rotate(-7deg) scale(1.07)}
.pg{position:relative;overflow:hidden;isolation:isolate;
  padding:clamp(34px,3.6vw,54px) 0 clamp(46px,5vw,80px);
  background:
    radial-gradient(56% 100% at 84% 0%,rgba(255,212,41,.24),transparent 58%),
    radial-gradient(52% 92% at 0% 100%,rgba(76,29,149,.12),transparent 62%),
    var(--tint)}
.pg>.wrap{z-index:5}
.bc{display:flex;align-items:center;gap:8px;font-size:.82rem;color:var(--mut);flex-wrap:wrap;margin-bottom:18px}
.bc a{transition:color .2s}
.bc a:hover{color:var(--pu)}
.bc span{opacity:.5}
.bc b{color:var(--ink);font-weight:600}
.pg-g{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.82fr);
  gap:clamp(26px,3.4vw,52px);align-items:center}
.pg-copy{max-width:560px;position:relative;z-index:6}
.pg-copy h1{margin-top:16px}
.pg-copy h1 em{font-style:normal;color:var(--pu);position:relative;white-space:nowrap}
.pg-copy h1 em::after{content:"";position:absolute;left:-2px;right:-2px;bottom:.04em;height:.32em;
  background:var(--yl);z-index:-1;border-radius:3px}
.pg-p{margin-top:18px;font-size:1.03rem;max-width:48ch}
.pg-b{margin-top:26px;display:flex;gap:12px;flex-wrap:wrap}
.pg-ch{margin-top:24px;display:flex;gap:6px 24px;flex-wrap:wrap;border-top:1px solid #DCD4EE;padding-top:18px}
.pg-ch li{display:flex;align-items:center;gap:8px;font-size:.86rem;font-weight:600;color:var(--body)}
.pg-ch i{color:var(--pu);display:flex;flex:none}
.pg-ch svg{width:16px;height:16px}
.pg-stage{position:relative;min-height:340px;display:grid;place-items:center;z-index:5}
.pg-stage::before{content:"";position:absolute;width:110%;aspect-ratio:1;left:-5%;top:50%;
  translate:0 -50%;border-radius:50%;pointer-events:none;
  background:radial-gradient(circle,rgba(139,92,246,.22),transparent 62%)}
.pg-hero-o{width:min(300px,74%);aspect-ratio:1;position:relative;z-index:3;
  filter:drop-shadow(0 28px 40px rgba(42,14,92,.3));animation:mrBobA 7s ease-in-out infinite}
.pchip{display:inline-flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);
  border-radius:var(--r-lg);padding:12px 18px;box-shadow:var(--sh);margin-top:24px}
.pchip .mr-o{margin:0}
.pchip b{display:block;font-family:var(--disp);font-size:1.25rem;font-weight:800;color:var(--pu);
  letter-spacing:-.04em;line-height:1.1}
.pchip small{font-size:.76rem;color:var(--mut)}
.sym{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:22px 20px;
  box-shadow:var(--sh);transition:border-color .22s,transform .22s var(--e)}
.sym:hover{border-color:var(--pu);transform:translateY(-4px)}
.sym .mr-o{width:56px;height:56px;margin-bottom:13px}
.sym h3{font-size:1rem}
.sym p{margin-top:7px;font-size:.88rem}
.spl{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,3vw,42px)}
.lst{display:grid;gap:12px}
.lst li{display:flex;gap:12px;align-items:flex-start;font-size:.93rem;color:var(--body)}
.lst li>i{flex:none;margin-top:3px;display:flex}
.lst li>i svg{width:17px;height:17px}
.lst.yes li>i{color:var(--ok)}
.lst.no li>i{color:var(--rd)}
.lst b{color:var(--ink);font-weight:700}
.panel{background:#fff;border:1px solid var(--line);border-radius:var(--r-xl);padding:clamp(22px,2.6vw,32px);
  box-shadow:var(--sh)}
.panel h3{display:flex;align-items:center;gap:12px;margin-bottom:18px}
.panel h3 .mr-o{width:44px;height:44px;margin:0}
.pnote{margin-top:22px;text-align:center;font-size:.84rem;color:var(--mut)}
.trust{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.tri{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);
  border-radius:var(--r-lg);padding:16px 18px;box-shadow:var(--sh)}
.tri .mr-o{width:42px;height:42px;margin:0}
.tri b{display:block;font-family:var(--disp);font-size:.9rem;font-weight:700}
.tri small{font-size:.76rem;color:var(--mut)}
.amc{background:var(--pu);border-radius:var(--r-xl);padding:clamp(26px,3.4vw,46px);
  display:grid;grid-template-columns:1fr auto;gap:clamp(22px,3vw,44px);align-items:center;
  position:relative;overflow:hidden}
/* Two classes, so this beats the theme's single-class .mr-o rule, which sets
   position:relative and would otherwise drop the object into the grid flow
   and steal the first column. */
.amc .amc-o{position:absolute;right:-30px;bottom:-40px;width:190px;height:190px;
  margin:0;opacity:.16;pointer-events:none}
/* Explicit placement so no stray in-flow child can shift the columns. */
.amc-l{position:relative;z-index:1;grid-column:1;grid-row:1}
.amc-l p{margin-top:12px;max-width:56ch}
.amc-pts{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:9px;
  grid-template-columns:repeat(2,minmax(0,1fr));max-width:56ch}
.amc-pts li{position:relative;padding-left:26px;font-size:.94rem;line-height:1.5}
.amc-pts li::before{content:"";position:absolute;left:0;top:.42em;width:14px;height:14px;
  border-radius:50%;background:var(--yl);box-shadow:inset 0 0 0 3px rgba(42,14,92,.85)}
.amc-r{position:relative;z-index:1;grid-column:2;grid-row:1;
  display:flex;flex-direction:column;gap:12px;align-items:stretch}
.amc-r .btn{justify-content:center;white-space:nowrap}
.rel{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.rc{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:20px;
  box-shadow:var(--sh);display:flex;align-items:center;gap:14px;
  transition:border-color .22s,transform .22s var(--e)}
.rc:hover{border-color:var(--pu);transform:translateY(-4px)}
.rc .mr-o{width:52px;height:52px;margin:0}
.rc b{display:block;font-family:var(--disp);font-size:.94rem;font-weight:700}
.rc small{font-size:.76rem;color:var(--mut)}
.band{background:var(--pu-d);position:relative;overflow:hidden;
  padding:clamp(56px,6vw,92px) 0}
.band::before{content:"";position:absolute;inset:0;pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:58px 58px}
.band::after{content:"";position:absolute;left:50%;top:-30%;width:900px;height:900px;
  translate:-50% 0;border-radius:50%;pointer-events:none;
  background:radial-gradient(circle,rgba(139,92,246,.24),transparent 62%)}
.band>.wrap{position:relative;z-index:3}
.band .sh h2{color:#fff}
.band .sh p{color:#CFC5E6}
.chk{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.chkc{background:#fff;border-radius:var(--r-xl);padding:26px 24px;display:flex;flex-direction:column;
  position:relative;overflow:hidden;box-shadow:0 18px 34px -22px rgba(0,0,0,.6);
  transition:transform .24s var(--e),box-shadow .24s}
.chkc:hover{transform:translateY(-5px);box-shadow:0 26px 44px -22px rgba(0,0,0,.7)}
.chkc .top{display:flex;align-items:center;gap:14px;margin-bottom:16px}
.chkc .n{width:44px;height:44px;border-radius:11px;background:var(--yl);color:var(--pu-d);flex:none;
  display:grid;place-items:center;font-family:var(--disp);font-weight:800;font-size:1.05rem}
.chkc .top .mr-o{width:52px;height:52px;margin:0 0 0 auto}
.chkc:hover .top .mr-o{transform:translateY(-4px) rotate(-8deg) scale(1.08)}
.chkc h3{font-size:1.06rem;margin-bottom:10px}
.chkc p{font-size:.93rem;line-height:1.72}
.chkc p+p{margin-top:10px}
.chkc .grow{flex:1}
.chkc .pull{margin-top:16px;border-left:3px solid var(--yl);background:var(--tint);
  border-radius:var(--r);padding:12px 15px}
.chkc .pull b{display:block;font-family:var(--disp);font-size:.82rem;font-weight:700;margin-bottom:3px}
.chkc .pull p{font-size:.87rem;line-height:1.6;margin:0}
.chkc ul.mini{margin-top:13px;display:grid;gap:8px}
.chkc ul.mini li{display:flex;gap:9px;align-items:flex-start;font-size:.87rem;color:var(--body);line-height:1.55}
.chkc ul.mini i{flex:none;margin-top:3px;color:var(--pu);display:flex}
.chkc ul.mini i svg{width:14px;height:14px}
.chkc ul.mini b{color:var(--ink)}
.bstrip{margin-top:20px;background:var(--yl);border-radius:var(--r-xl);
  padding:clamp(22px,2.6vw,30px);display:flex;align-items:center;gap:22px;flex-wrap:wrap;
  position:relative;overflow:hidden}
.bstrip .mr-o{width:64px;height:64px;margin:0;flex:none}
.bstrip .bt{flex:1;min-width:250px}
.bstrip b{display:block;font-family:var(--disp);font-size:1.08rem;font-weight:800;color:var(--ink)}
.bstrip p{color:#4A3F0C;font-size:.93rem;margin-top:5px}
.bnote{margin-top:20px;font-size:.83rem;color:#8B84A3;max-width:78ch}
.bento{display:grid;grid-template-columns:repeat(12,1fr);gap:16px}
.bx{background:#fff;border:1px solid var(--line);border-radius:var(--r-xl);
  padding:clamp(22px,2.4vw,30px);box-shadow:var(--sh);position:relative;overflow:hidden;
  display:flex;flex-direction:column;
  transition:border-color .22s,box-shadow .24s,transform .24s var(--e)}
.bx:hover{border-color:var(--pu);box-shadow:var(--sh-lg);transform:translateY(-4px)}
.bx.w7{grid-column:span 7}
.bx.w5{grid-column:span 5}
.bx.w4{grid-column:span 4}
.bx.w6{grid-column:span 6}
.bx.w12{grid-column:span 12}
.bx .tagl{display:inline-block;font-family:var(--disp);font-size:.67rem;font-weight:700;
  letter-spacing:.13em;text-transform:uppercase;color:var(--pu);background:var(--tint-2);
  padding:5px 11px;border-radius:5px;align-self:flex-start}
.bx h3{margin-top:13px;font-size:1.08rem}
.bx p{margin-top:10px;font-size:.93rem;line-height:1.72}
.bx p+p{margin-top:10px}
.bx .grow{flex:1;min-height:6px}
.bfig{margin-top:18px;padding-top:16px;border-top:1px solid var(--line);display:flex;
  align-items:baseline;gap:11px;flex-wrap:wrap}
.bfig b{font-family:var(--disp);font-size:clamp(1.5rem,2.6vw,2.1rem);font-weight:800;
  color:var(--pu);letter-spacing:-.05em;line-height:1}
.bfig span{font-size:.85rem;color:var(--mut);line-height:1.4}
.bx .bobj{position:absolute;right:-6px;top:-6px;width:92px;height:92px;margin:0;opacity:.92;
  pointer-events:none;transition:transform .5s var(--e)}
.bx:hover .bobj{transform:translateY(-4px) rotate(-8deg) scale(1.06)}
.bx.hasobj{padding-right:clamp(80px,9vw,104px)}
.bx.dark{background:var(--pu-d);border-color:transparent}
.bx.dark h3{color:#fff}
.bx.dark p{color:#CFC5E6}
.bx.dark .tagl{background:rgba(255,255,255,.14);color:var(--yl)}
.bx.dark .bfig{border-top-color:rgba(255,255,255,.14)}
.bx.dark .bfig b{color:var(--yl)}
.bx.dark .bfig span{color:#B9AFD2}
.bx.dark .split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(18px,2.6vw,38px)}
.sched{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.shc{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:20px 18px;
  box-shadow:var(--sh);text-align:center;transition:border-color .22s,transform .22s var(--e)}
.shc:hover{border-color:var(--pu);transform:translateY(-4px)}
.shc .mr-o{width:52px;height:52px;margin:0 auto 12px}
.shc b{display:block;font-family:var(--disp);font-size:.92rem;font-weight:700}
.shc .freq{display:inline-block;margin-top:9px;background:var(--yl);color:var(--ink);
  font-family:var(--disp);font-size:.76rem;font-weight:800;padding:5px 11px;border-radius:5px}
.shc small{display:block;margin-top:9px;font-size:.79rem;color:var(--mut);line-height:1.5}
.sysg{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.sysc{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:24px 22px;
  box-shadow:var(--sh);position:relative;overflow:hidden;
  transition:border-color .22s,box-shadow .22s,transform .22s var(--e)}
.sysc:hover{border-color:var(--pu);box-shadow:var(--sh-lg);transform:translateY(-4px)}
.sysc::after{content:"";position:absolute;right:-30px;top:-30px;width:110px;height:110px;
  border-radius:50%;background:var(--yl);opacity:0;transition:opacity .3s;pointer-events:none}
.sysc:hover::after{opacity:.12}
.sysc>*{position:relative;z-index:1}
.sysc h3{font-size:1.02rem}
.sysc p{margin-top:8px;font-size:.89rem}
.sysc .meta{margin-top:14px;padding-top:13px;border-top:1px solid var(--line);display:grid;gap:7px}
.sysc .meta div{display:flex;justify-content:space-between;gap:10px;font-size:.82rem}
.sysc .meta span:first-child{color:var(--mut)}
.sysc .meta span:last-child{font-weight:700;color:var(--ink);text-align:right}
.brandbar{margin-top:26px;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);
  padding:22px 24px;box-shadow:var(--sh);display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.brandbar .mr-o{width:44px;height:44px;margin:0;flex:none}
.brandbar .bl{flex:1;min-width:200px}
.brandbar b{display:block;font-family:var(--disp);font-size:.95rem;font-weight:700}
.brandbar small{font-size:.82rem;color:var(--mut)}
.brandbar .chips{display:flex;gap:8px;flex-wrap:wrap}
.brandbar .chips span{font-family:var(--disp);font-size:.8rem;font-weight:700;letter-spacing:.04em;
  color:var(--pu);background:var(--tint);padding:7px 13px;border-radius:6px}

@media(max-width:980px){
  .pg-g{grid-template-columns:1fr;gap:38px}
}
@media(max-width:980px){
  .pg-stage{min-height:280px}
}
@media(max-width:560px){
  .pg-hero-o{width:210px}
}
@media(max-width:820px){
  .spl{grid-template-columns:1fr}
}
@media(max-width:900px){
  .trust{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:820px){
  .amc{grid-template-columns:1fr}
  .amc-l,.amc-r{grid-column:1}
  .amc-l{grid-row:1}
  .amc-r{grid-row:2;flex-direction:row;flex-wrap:wrap}
  .amc .amc-o{width:140px;height:140px;right:-24px;bottom:-30px}
}
@media(max-width:560px){
  .amc-pts{grid-template-columns:1fr}
  .amc-r{flex-direction:column}
}
@media(max-width:940px){
  .rel{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:520px){
  .rel{grid-template-columns:1fr}
}
@media(max-width:1000px){
  .chk{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:620px){
  .chk{grid-template-columns:1fr}
}
@media(max-width:1000px){
  .bento{grid-template-columns:repeat(6,1fr)}
}
@media(max-width:620px){
  .bento{grid-template-columns:1fr}
}
@media(max-width:1000px){
  .bx.w7,.bx.w5,.bx.w6,.bx.w12{grid-column:span 6}
  .bx.w4{grid-column:span 3}
}
@media(max-width:620px){
  .bx.w7,.bx.w5,.bx.w6,.bx.w12,.bx.w4{grid-column:span 1}
}
@media(max-width:620px){
  .bx .bobj{width:66px;height:66px}
  .bx.hasobj{padding-right:74px}
}
@media(max-width:760px){
  .bx.dark .split{grid-template-columns:1fr}
}
@media(max-width:1000px){
  .sched{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:640px){
  .sched{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:420px){
  .sched{grid-template-columns:1fr}
}
@media(max-width:940px){
  .sysg{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:520px){
  .sysg{grid-template-columns:1fr}
}

/* --- service card extras used by MR Service Cards --- */
.sc .tags{margin-top:14px;display:flex;flex-wrap:wrap;gap:6px}
.sc .tags li{font-size:.74rem;font-weight:600;color:var(--pu);background:var(--tint);
  padding:5px 10px;border-radius:5px}
.sc .sp{flex:1}
.sc .frm{margin-top:16px;padding-top:14px;border-top:1px solid var(--line);
  display:flex;align-items:center;justify-content:space-between;gap:10px}
.sc .frm b{font-family:var(--disp);font-size:1.02rem;font-weight:800;color:var(--pu);letter-spacing:-.03em}
.sc .frm small{display:block;font-size:.72rem;color:var(--mut)}
.sc .lk{display:inline-flex;align-items:center;gap:6px;font-family:var(--disp);
  font-size:.84rem;font-weight:700;color:var(--pu)}
.sc .lk svg{width:15px;height:15px;transition:transform .2s}
.sc:hover .lk svg{transform:translateX(4px)}

/* --- inner-page hero stage: smaller than the home hero --- */
.pg-stage .mr-stage .s1{width:104px;height:104px;left:-2%;top:2%}
.pg-stage .mr-stage .s2{width:84px;height:84px;right:0;top:8%}
.pg-stage .mr-stage .s3{width:70px;height:70px;right:6%;bottom:14%}
.pg-stage .mr-stage .s4{width:88px;height:88px;left:0;bottom:4%}
@media(max-width:980px){.pg-stage .mr-stage .s3{display:none}}
@media(max-width:560px){.pg-stage .mr-stage{display:none}}

/* ==========================================================
   CONTACT + ABOUT PAGE COMPONENTS
   Written once and appended verbatim to both the design
   preview and the plugin stylesheet, so the two cannot drift.
   ========================================================== */

/* --- contact method cards --- */
.cmg{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
@media(max-width:940px){.cmg{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.cmg{grid-template-columns:1fr}}
.cmc{background:#fff;border:1px solid var(--line);border-radius:var(--r-xl);padding:26px 22px;
  box-shadow:var(--sh);display:flex;flex-direction:column;position:relative;overflow:hidden;
  transition:border-color .22s,box-shadow .24s,transform .24s var(--e)}
.cmc:hover{border-color:var(--pu);box-shadow:var(--sh-lg);transform:translateY(-4px)}
.cmc::after{content:"";position:absolute;right:-30px;top:-30px;width:110px;height:110px;
  border-radius:50%;background:var(--yl);opacity:0;transition:opacity .3s;pointer-events:none}
.cmc:hover::after{opacity:.12}
.cmc>*{position:relative;z-index:1}
.cmc .mr-o{width:56px;height:56px;margin-bottom:15px}
.cmc:hover .mr-o{transform:translateY(-5px) rotate(-7deg) scale(1.07)}
.cmc .lbl{font-family:var(--disp);font-size:.7rem;font-weight:700;letter-spacing:.13em;
  text-transform:uppercase;color:var(--mut)}
.cmc b{display:block;margin-top:7px;font-family:var(--disp);font-size:1.06rem;font-weight:800;
  letter-spacing:-.03em;color:var(--ink);word-break:break-word}
.cmc p{margin-top:8px;font-size:.88rem}
.cmc .grow{flex:1;min-height:8px}
.cmc .btn{margin-top:16px;width:100%;padding:12px 16px;font-size:.85rem}

/* --- contact details + map --- */
.cpanel{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);
  gap:clamp(22px,3vw,44px);align-items:stretch}
@media(max-width:900px){.cpanel{grid-template-columns:1fr}}
.cdl{background:#fff;border:1px solid var(--line);border-radius:var(--r-xl);
  padding:clamp(22px,2.6vw,32px);box-shadow:var(--sh)}
.cdl h3{margin-bottom:18px}
.cdl ul{display:grid;gap:16px}
.cdl li{display:flex;gap:13px;align-items:flex-start}
.cdl li .mr-o{width:38px;height:38px;margin:0;flex:none}
.cdl li b{display:block;font-family:var(--disp);font-size:.86rem;font-weight:700}
.cdl li span{display:block;font-size:.9rem;color:var(--body);margin-top:2px;line-height:1.55}
.cdl li a{color:var(--pu);font-weight:600}
.hrs{margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}
.hrs h4{margin-bottom:12px;font-size:.86rem}
.hrs div{display:flex;justify-content:space-between;gap:12px;font-size:.88rem;padding:7px 0;
  border-bottom:1px dashed var(--line)}
.hrs div:last-child{border-bottom:0}
.hrs div span:first-child{color:var(--body)}
.hrs div span:last-child{font-weight:700;color:var(--ink)}
.hrs div.shut span:last-child{color:var(--mut);font-weight:600}
.cmap{border-radius:var(--r-xl);overflow:hidden;box-shadow:var(--sh);border:1px solid var(--line);
  min-height:340px;position:relative;background:var(--tint-2)}
.cmap iframe{width:100%;height:100%;min-height:340px;border:0;display:block}
.cmap .noembed{position:absolute;inset:0;display:grid;place-items:center;text-align:center;padding:26px}
.cmap .noembed .mr-o{width:64px;height:64px;margin:0 auto 12px}
.cmap .noembed b{display:block;font-family:var(--disp);font-size:.96rem;font-weight:700}
.cmap .noembed small{font-size:.83rem;color:var(--mut)}

/* --- timeline --- */
.tl{position:relative;display:grid;gap:0;max-width:860px;margin:0 auto}
.tl::before{content:"";position:absolute;left:23px;top:10px;bottom:10px;width:2px;
  background:linear-gradient(var(--yl),var(--tint-2));border-radius:2px}
@media(max-width:620px){.tl::before{left:19px}}
.tli{position:relative;padding:0 0 26px 66px}
.tli:last-child{padding-bottom:0}
@media(max-width:620px){.tli{padding-left:56px}}
.tli .dot{position:absolute;left:0;top:2px;width:48px;height:48px;border-radius:50%;background:#fff;
  border:2px solid var(--line);display:grid;place-items:center;transition:border-color .22s}
@media(max-width:620px){.tli .dot{width:40px;height:40px}}
.tli:hover .dot{border-color:var(--pu)}
.tli .dot .mr-o{width:26px;height:26px;margin:0}
.tli .yr{display:inline-block;font-family:var(--disp);font-size:.72rem;font-weight:800;
  letter-spacing:.1em;background:var(--yl);color:var(--ink);padding:5px 11px;border-radius:5px}
.tli h3{margin-top:11px;font-size:1.05rem}
.tli p{margin-top:7px;font-size:.93rem;line-height:1.7}

/* --- values --- */
.vg{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media(max-width:900px){.vg{grid-template-columns:1fr}}
.vc{background:#fff;border:1px solid var(--line);border-radius:var(--r-xl);padding:28px 24px;
  box-shadow:var(--sh);position:relative;overflow:hidden;
  transition:border-color .22s,box-shadow .24s,transform .24s var(--e)}
.vc:hover{border-color:var(--pu);box-shadow:var(--sh-lg);transform:translateY(-4px)}
.vc .mr-o{width:64px;height:64px;margin-bottom:16px}
.vc:hover .mr-o{transform:translateY(-6px) rotate(-7deg) scale(1.07)}
.vc h3{font-size:1.06rem}
.vc p{margin-top:9px;font-size:.93rem;line-height:1.72}
.vc .said{margin-top:15px;padding-top:14px;border-top:1px solid var(--line);
  font-size:.87rem;color:var(--pu);font-weight:600;font-style:italic}

/* --- credentials --- */
.crg{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
@media(max-width:940px){.crg{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.crg{grid-template-columns:1fr}}
.crc{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:20px;
  box-shadow:var(--sh);text-align:center;transition:border-color .22s,transform .22s var(--e)}
.crc:hover{border-color:var(--pu);transform:translateY(-3px)}
.crc .mr-o{width:50px;height:50px;margin:0 auto 12px}
.crc .lbl{font-size:.75rem;color:var(--mut);letter-spacing:.06em;text-transform:uppercase;
  font-family:var(--disp);font-weight:700}
.crc b{display:block;margin-top:7px;font-family:var(--disp);font-size:1rem;font-weight:800;
  color:var(--ink);letter-spacing:-.02em;word-break:break-word}
.crc small{display:block;margin-top:6px;font-size:.79rem;color:var(--mut);line-height:1.5}
