/*! CTC Site Kit – styles for the CTC components inside Avada.
 * Colours follow the Avada Global Colors (fallbacks = CTC values), fonts follow the Typography Sets. */

:root{
  --ctc-navy:var(--awb-color8,#0B1B33);
  --ctc-navy2:var(--awb-color7,#10243F);
  --ctc-navy3:var(--awb-color6,#183154);
  --ctc-navy4:#21406B;
  --ctc-deep:var(--awb-custom_color_1,#071426);
  --ctc-brand:var(--awb-custom_color_2,#0E2D5C);
  --ctc-white:var(--awb-color1,#FFFFFF);
  --ctc-steel:var(--awb-color2,#EEF1F4);
  --ctc-steel2:var(--awb-color3,#DCE2E9);
  --ctc-yellow:var(--awb-color4,#EDBE3F);
  --ctc-yellow2:#F5CF62;
  --ctc-cyan:var(--awb-color5,#4FC3D6);
  --ctc-paper:#F2F4F7;
  --ctc-red:#E30613;
  --ctc-head:var(--awb-typography1-font-family,'Kumbh Sans'),system-ui,sans-serif;
  --ctc-e:cubic-bezier(0.23,1,0.32,1);
  --ctc-io:cubic-bezier(0.77,0,0.175,1);
  /* light context (default) */
  --ctc-fg:var(--ctc-navy);
  --ctc-muted:#3D4C63;
  --ctc-surface:var(--ctc-steel);
  --ctc-surface-h:#E2E7ED;
  --ctc-thumb:var(--ctc-steel2);
  --ctc-tag:var(--ctc-steel2);
  --ctc-tag-fg:var(--ctc-navy);
  --ctc-arrow:var(--ctc-brand);
}
.ctc-steel{--ctc-surface:var(--ctc-white);--ctc-surface-h:#F7F9FB}
.ctc-yellow{--ctc-muted:var(--ctc-navy);--ctc-arrow:var(--ctc-navy)}
.ctc-yellow a:not(.fusion-button):not(.ctc-btn){color:var(--ctc-navy)}
.ctc-dark{
  --ctc-fg:var(--ctc-paper);
  --ctc-muted:var(--awb-custom_color_3,#C6CFDC);
  --ctc-surface:var(--ctc-navy2);
  --ctc-surface-h:var(--ctc-navy3);
  --ctc-thumb:var(--ctc-navy3);
  --ctc-tag:var(--ctc-navy3);
  --ctc-tag-fg:var(--ctc-paper);
  --ctc-arrow:var(--ctc-yellow);
  color:var(--ctc-fg);
}
.ctc-dark.fusion-fullwidth{--link_color:var(--ctc-paper)}
.ctc-dark a:not(.fusion-button):not(.ctc-btn){color:inherit}
.ctc-dark ::selection,.ctc-steel ::selection{background:var(--ctc-yellow);color:var(--ctc-navy)}
.fusion-body :is(.ctc-dark,.ctc-steel,.ctc-light,.ctc-yellow) :focus-visible{outline:3px solid var(--ctc-yellow);outline-offset:3px}

/* ---------- type helpers (class on Title / Text Block) ---------- */
.fusion-body .fusion-title.ctc-h1-xl .fusion-title-heading{font-size:clamp(44px,8vw,124px) !important;line-height:0.95 !important;letter-spacing:-0.025em !important;font-weight:800 !important;max-width:7.5em}
.fusion-body .fusion-title.ctc-h1 .fusion-title-heading{font-size:clamp(40px,6.4vw,96px) !important;line-height:1 !important;letter-spacing:-0.02em !important;font-weight:780 !important;text-wrap:balance}
.fusion-body .fusion-title.ctc-h2 .fusion-title-heading{font-size:clamp(30px,4.2vw,60px) !important;line-height:1.06 !important;letter-spacing:-0.015em !important;font-weight:740 !important;text-wrap:balance;max-width:14em}
.fusion-body .fusion-title.ctc-h3 .fusion-title-heading{font-size:clamp(21px,2.1vw,28px) !important;line-height:1.15 !important;letter-spacing:-0.02em !important;font-weight:700 !important}
.fusion-body .ctc-lead,.fusion-body .ctc-lead p{font-size:clamp(17px,1.5vw,21px);line-height:1.55;max-width:40em;text-wrap:pretty}
.fusion-body .ctc-lead p:last-child,.fusion-body .ctc-text p:last-child{margin-bottom:0}
.fusion-body .ctc-muted,.fusion-body .ctc-muted p{color:var(--ctc-muted)}
.fusion-body .ctc-small{font-size:15px}

/* ---------- home hero ---------- */
.fusion-fullwidth.ctc-hero{position:relative;overflow:hidden}
.ctc-hero > .fusion-builder-row{width:100%}
.ctc-hero > .fusion-builder-row,.ctc-hero .ctc-hero-artcol,.ctc-hero .ctc-hero-artcol > .fusion-column-wrapper,.ctc-hero .ctc-hero-artcol .fusion-text{position:static !important}
.ctc-hero .fusion-layout-column:not(.ctc-hero-artcol){position:relative;z-index:1}
.ctc-hero-art{position:absolute;inset:0;z-index:0;background:#0E2240;overflow:hidden}
.ctc-hero-svg,.ctc-hero-video{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:cover}
.ctc-video-toggle{position:absolute;right:20px;bottom:20px;z-index:2;min-height:40px;padding:0 14px;border:0;border-radius:4px;background:rgba(7,20,38,0.7);color:#F2F4F7;font:inherit;font-size:14px;font-weight:600;cursor:pointer}
@media (max-width:900px){
  .ctc-hero-art{position:relative;height:340px;margin:0 calc(-1 * var(--awb-padding-left,20px)) 32px}
}

/* ---------- buttons used inside shortcodes ---------- */
.ctc-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 24px;border-radius:4px;font-weight:650;font-size:17px;line-height:1.2;text-decoration:none !important;border:0;cursor:pointer;font-family:inherit;transition:transform 120ms var(--ctc-e),background-color 160ms ease}
.ctc-btn:active{transform:scale(0.97)}
.ctc-btn-y{background:var(--ctc-yellow);color:var(--ctc-navy) !important}
.ctc-btn-n{background:var(--ctc-navy3);color:var(--ctc-paper) !important}
@media (hover:hover) and (pointer:fine){.ctc-btn-y:hover{background:var(--ctc-yellow2)}.ctc-btn-n:hover{background:var(--ctc-navy4)}}
.ctc-btns{display:flex;flex-wrap:wrap;gap:12px}
.ctc-arrow-link{font-weight:650;text-decoration:none !important;display:inline-flex;align-items:center;gap:8px;color:var(--ctc-fg) !important}
.ctc-arrow-link::after{content:"→";color:var(--ctc-arrow);transition:transform 200ms var(--ctc-e)}
@media (hover:hover){.ctc-arrow-link:hover::after{transform:translateX(4px)}}
.fusion-button.ctc-btn-press:active{transform:scale(0.97)}

/* ---------- link rows ---------- */
.ctc-rows{display:flex;flex-direction:column;gap:4px}
.ctc-row{display:grid;grid-template-columns:72px minmax(0,1fr) 28px;gap:24px;align-items:center;padding:20px;margin:0 -20px;border-radius:6px;text-decoration:none !important;color:var(--ctc-fg) !important;transition:background-color 200ms ease}
.ctc-row-plain{grid-template-columns:minmax(0,1fr) 28px}
.ctc-row-badge{grid-template-columns:96px minmax(0,1fr) 28px}
a.ctc-row:hover,a.ctc-row:focus-visible{background:var(--ctc-surface-h)}
.ctc-row-sub{padding-left:72px}
.ctc-row-name{display:block;margin:0 !important;font-family:var(--ctc-head) !important;font-size:clamp(20px,2vw,28px) !important;font-weight:700 !important;letter-spacing:-0.02em;line-height:1.15 !important;color:inherit !important}
.ctc-row-line{display:block;color:var(--ctc-muted);margin-top:4px;font-size:17px;line-height:1.5}
.ctc-row-arr{color:var(--ctc-arrow);font-size:24px;line-height:1}
.ctc-row-mark{aspect-ratio:1 / 1;background:var(--ctc-thumb);color:var(--ctc-brand);display:flex;align-items:center;justify-content:center;text-align:center;font-family:var(--ctc-head);font-weight:800;font-size:15px;line-height:1.15;padding:6px}
.ctc-dark .ctc-row-mark{color:var(--ctc-paper)}
.ctc-row .ctc-ic{width:72px;height:72px}
@media (max-width:560px){
  .ctc-row{grid-template-columns:56px minmax(0,1fr);gap:16px;padding:16px 12px;margin:0 -12px}
  .ctc-row-plain{grid-template-columns:minmax(0,1fr)}
  .ctc-row-badge{grid-template-columns:72px minmax(0,1fr)}
  .ctc-row-sub{padding-left:32px}
  .ctc-row .ctc-ic{width:56px;height:56px}
  .ctc-row-arr{display:none}
}

/* ---------- icons ---------- */
.ctc-ic{width:80px;height:80px;display:block;color:var(--ctc-fg);overflow:visible}
.ctc-ic .ctc-a{transform-box:view-box}
.ctc-hex{width:16px;height:16px;display:block}
.ctc-hero-icon .ctc-ic{width:46%;height:auto;stroke-width:1.3;margin:auto}
.ctc-hero-icon{background:var(--ctc-navy2);aspect-ratio:4 / 3;display:flex;align-items:center;justify-content:center}

/* ---------- products ---------- */
.ctc-plist{display:flex;flex-direction:column;gap:8px}
.ctc-pitem{display:grid;grid-template-columns:96px minmax(0,1fr) auto;gap:24px;align-items:center;padding:20px;background:var(--ctc-surface);border-radius:6px;text-decoration:none !important;color:var(--ctc-fg) !important;transition:background-color 200ms ease}
.ctc-pitem-nothumb{grid-template-columns:minmax(0,1fr) auto}
@media (hover:hover){a.ctc-pitem:hover{background:var(--ctc-surface-h)}}
.ctc-pthumb{aspect-ratio:1 / 1;background:var(--ctc-thumb);display:flex;align-items:center;justify-content:center;overflow:hidden}
.ctc-pthumb img{width:86%;height:auto}
.ctc-pname{display:block;font-family:var(--ctc-head);font-size:22px;font-weight:700;line-height:1.2}
.ctc-pmeta{display:block;margin-top:4px;color:var(--ctc-muted);font-size:16px;line-height:1.45}
.ctc-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.ctc-tag{font-size:13px;font-weight:650;line-height:1.3;padding:4px 8px;border-radius:3px;background:var(--ctc-tag);color:var(--ctc-tag-fg)}
.ctc-tag-cy{background:var(--ctc-cyan);color:var(--ctc-navy)}
.ctc-pbtn{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border-radius:4px;background:var(--ctc-navy);color:var(--ctc-paper);font-weight:650;font-size:15px}
.ctc-dark .ctc-pbtn{background:var(--ctc-yellow);color:var(--ctc-navy)}
@media (max-width:640px){.ctc-pitem{grid-template-columns:64px minmax(0,1fr);gap:16px;padding:14px 16px}.ctc-pitem-nothumb{grid-template-columns:minmax(0,1fr)}.ctc-pbtn{display:none}}
.ctc-note{margin:16px 0 0;font-size:14px;color:var(--ctc-muted);border-left:3px solid var(--ctc-yellow);padding-left:10px}

/* finder */
.ctc-filters{display:flex;flex-wrap:wrap;gap:12px;align-items:end}
.ctc-field{display:flex;flex-direction:column;gap:6px;flex:1 1 280px;margin:0}
.ctc-field span{font-size:14px;font-weight:650}
.ctc-field input{min-height:48px;border-radius:4px;border:2px solid var(--ctc-steel2);background:#FFFFFF;color:var(--ctc-navy);font:inherit;font-size:16px;padding:10px 14px}
.ctc-field input:focus{outline:none;border-color:var(--ctc-brand)}
.ctc-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.ctc-chip{min-height:40px;padding:0 14px;border-radius:4px;border:0;background:var(--ctc-steel2);color:var(--ctc-navy);font:inherit;font-size:15px;font-weight:550;cursor:pointer;transition:background-color 160ms ease}
.ctc-chip.is-on{background:var(--ctc-brand);color:var(--ctc-paper)}
.ctc-dark .ctc-chip{background:var(--ctc-navy3);color:var(--ctc-paper)}
.ctc-dark .ctc-chip.is-on{background:var(--ctc-yellow);color:var(--ctc-navy)}
.ctc-count{margin:32px 0 16px;font-weight:650}
.ctc-empty{margin:16px 0 0}
.ctc-pitem[hidden]{display:none}

/* ---------- VLC scrollytelling ---------- */
.ctc-vlc{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,0.9fr);gap:clamp(32px,6vw,96px);color:var(--ctc-paper)}
.ctc-vlc-left{align-self:stretch}
.ctc-vlc-sticky{position:sticky;top:calc(var(--awb-header-height,0px) + 112px)}
.ctc-stage{position:relative;width:min(100%,440px);margin:0 auto;aspect-ratio:900 / 1168;touch-action:pan-y;--can:0}
.ctc-can-float{position:absolute;inset:0}
.ctc-can{position:relative;transform-origin:50% 55%;transform:rotate(calc(var(--can,0) * 1deg));transition:transform 900ms var(--ctc-io)}
.ctc-can img{display:block;width:100%;height:auto}
.ctc-sheen{position:absolute;inset:0;pointer-events:none;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;background:linear-gradient(105deg,rgba(255,255,255,0) 40%,rgba(255,255,255,0.5) 50%,rgba(255,255,255,0) 60%);background-size:300% 100%;background-position:120% 0;mix-blend-mode:screen}
.ctc-vlc-tools{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:center;margin-top:8px}
.ctc-gyro{display:none;align-items:center;gap:8px;min-height:44px;padding:0 14px;border:0;border-radius:4px;background:var(--ctc-navy3);color:var(--ctc-paper);font:inherit;font-size:14px;font-weight:600;cursor:pointer}
.ctc-mouse-hint{margin:0;font-size:15px;color:var(--awb-custom_color_3,#C6CFDC)}
@media (hover:none){.ctc-gyro{display:inline-flex}.ctc-mouse-hint{display:none}}
.ctc-vintro{padding-top:24px}
.ctc-vlc-title{margin:0;font-family:var(--ctc-head);font-size:clamp(28px,3.9vw,56px);line-height:1.04;letter-spacing:-0.03em;font-weight:760;color:var(--ctc-paper);white-space:nowrap}
.ctc-vlc-lead{margin:24px 0 0;font-size:clamp(17px,1.5vw,21px);line-height:1.55;color:var(--ctc-paper)}
.ctc-vstep{min-height:460px;display:flex;flex-direction:column;justify-content:center;opacity:0.3;transition:opacity 450ms ease}
.ctc-vstep.is-on{opacity:1}
.ctc-vstep h3{margin:0;font-family:var(--ctc-head);font-size:clamp(26px,2.8vw,40px);line-height:1.08;letter-spacing:-0.02em;font-weight:700;color:var(--ctc-paper)}
.ctc-vstep p{margin:14px 0 0;font-size:19px;line-height:1.55;color:#DCE3EC;max-width:28em}
.ctc-vcta{padding:24px 0 8px}
.ctc-vmore{margin:32px 0 0}
@media (max-width:960px){
  .ctc-vlc{grid-template-columns:1fr;gap:0}
  .ctc-vlc-left{display:contents}
  .ctc-vlc-sticky{position:sticky;top:calc(var(--awb-header-height,0px) + 64px);z-index:3;background:var(--ctc-deep);padding:6px 0 2px}
  .ctc-vlc-sticky .ctc-stage{width:min(46vw,170px)}
  .ctc-vlc-tools{position:absolute;right:0;bottom:10px;margin:0}
  .ctc-vstep{min-height:300px}
  .ctc-vstep h3{font-size:26px}
  .ctc-vlc-title{white-space:normal}
}

/* ---------- production + green list ---------- */
.ctc-plant-art{background:var(--ctc-navy2);overflow:hidden;height:100%;display:flex;align-items:center}
.ctc-plant-art svg{width:100%;height:auto;display:block}
.ctc-green{list-style:none;margin:36px 0 0;padding:0;display:grid;gap:20px}
.ctc-green li{display:grid;grid-template-columns:64px minmax(0,1fr);gap:20px;align-items:center;font-size:18px;margin:0}
.ctc-green strong{color:var(--ctc-yellow)}
.ctc-gi{width:64px;height:64px}
.ctc-dark .ctc-gi{color:var(--ctc-paper)}

/* ---------- team ---------- */
.ctc-team{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.ctc-team-cards .ctc-person{display:block}
.ctc-team-cards .ctc-avatar{aspect-ratio:4 / 3;font-size:56px}
.ctc-team-cards .ctc-person-name{margin-top:18px;font-size:22px}
.ctc-team-list{grid-template-columns:1fr;gap:20px}
.ctc-person{display:grid;grid-template-columns:96px minmax(0,1fr);gap:16px;align-items:center}
.ctc-person p{margin:0}
.ctc-avatar{aspect-ratio:1 / 1;background:var(--ctc-thumb);color:var(--ctc-brand);display:flex;align-items:center;justify-content:center;overflow:hidden;font-family:var(--ctc-head);font-weight:800;font-size:30px}
.ctc-dark .ctc-avatar{color:var(--ctc-paper)}
.ctc-avatar img{width:100%;height:100%;object-fit:cover;display:block}
.ctc-person-name{font-weight:700;font-size:19px;line-height:1.3}
.ctc-person-role{color:var(--ctc-muted)}
.ctc-person-links{margin-top:6px !important;font-size:15px}
@media (max-width:900px){.ctc-team{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 16px}.ctc-team-list{grid-template-columns:1fr}}
@media (max-width:640px){.ctc-team-grid .ctc-person{grid-template-columns:1fr;gap:10px;align-items:start}.ctc-team-grid .ctc-avatar{font-size:24px}.ctc-team-cards{grid-template-columns:1fr}.ctc-team-cards .ctc-person{display:grid;grid-template-columns:112px minmax(0,1fr);gap:16px;align-items:center}.ctc-team-cards .ctc-avatar{aspect-ratio:1 / 1;font-size:36px}.ctc-team-cards .ctc-person-name{margin-top:0}}

/* ---------- news ---------- */
.ctc-news{display:flex;flex-direction:column;gap:8px}
.ctc-post{display:grid;grid-template-columns:150px minmax(0,1fr) auto;gap:8px 32px;align-items:baseline;padding:28px;background:var(--ctc-surface);text-decoration:none !important;color:var(--ctc-fg) !important;transition:background-color 200ms ease}
@media (hover:hover){a.ctc-post:hover{background:var(--ctc-surface-h)}}
.ctc-post-date{font-weight:650;font-variant-numeric:tabular-nums;color:var(--ctc-muted)}
.ctc-post-title{display:block;font-family:var(--ctc-head);font-size:clamp(20px,2vw,26px);font-weight:700;line-height:1.2}
.ctc-post-line{display:block;margin-top:6px;color:var(--ctc-muted)}
.ctc-post-more{font-weight:650;text-decoration:underline;text-underline-offset:4px}
@media (max-width:700px){.ctc-post{grid-template-columns:1fr;padding:20px}.ctc-post-more{display:none}}

/* ---------- inquiry list ---------- */
.ctc-inq{margin:0 0 24px}
.ctc-inq-head{margin:0 0 8px;font-weight:650}
.ctc-inq-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.ctc-inq-list li{display:flex;justify-content:space-between;align-items:center;gap:12px;background:var(--ctc-steel);padding:8px 8px 8px 16px;border-radius:4px;margin:0;font-weight:600}
.ctc-inq-list button{min-height:40px;padding:0 14px;border:0;border-radius:4px;background:var(--ctc-steel2);color:var(--ctc-navy);font:inherit;font-size:14px;font-weight:600;cursor:pointer}
.ctc-inq-empty{margin:0;font-size:15px;color:var(--ctc-muted)}

/* ---------- GHS ---------- */
.ctc-ghs{display:grid;grid-template-columns:120px minmax(0,1fr);gap:28px;align-items:start;background:#FFFFFF;color:var(--ctc-navy);padding:28px;border-radius:6px}
.ctc-ghs-pics{display:flex;flex-direction:column;gap:12px}
.ctc-ghs-pics svg{width:120px;height:120px}
.ctc-signal{margin:0 0 10px;font-weight:800;letter-spacing:0.02em;color:var(--ctc-red);font-size:22px}
@media (max-width:560px){.ctc-ghs{grid-template-columns:1fr;gap:16px;padding:22px}.ctc-ghs-pics{flex-direction:row}.ctc-ghs-pics svg{width:88px;height:88px}}

/* ---------- facts, badge, logo, wordmark, footer ---------- */
.fusion-body .ctc-facts{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px 28px;margin:0}
.fusion-body .ctc-facts dt{font-weight:650;margin:0}
.fusion-body .ctc-facts dd{margin:0}
.fusion-body .ctc-facts.ctc-facts-big{font-size:20px;gap:18px 32px}
.fusion-body .ctc-facts.ctc-facts-big dt{color:var(--ctc-yellow)}
@media (max-width:480px){.fusion-body .ctc-facts{grid-template-columns:1fr;gap:2px}.fusion-body .ctc-facts dd{margin-bottom:12px}}
.ctc-badge{aspect-ratio:1 / 1;background:var(--ctc-steel);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;text-align:center;color:var(--ctc-brand);padding:8px;line-height:1.15;max-width:140px}
.ctc-badge strong{font-size:24px;font-weight:800}
.ctc-badge small{font-size:12px}
.ctc-logo-link{display:inline-flex;align-items:center;text-decoration:none}
.ctc-logo{display:block}
@media (max-width:640px){.ctc-logo{width:132px;height:40px}}
.ctc-wordmark{margin:0;font-family:'Archivo',var(--ctc-head);font-size:clamp(96px,22vw,320px);line-height:0.8;font-weight:850;font-style:italic;font-stretch:125%;letter-spacing:-0.04em;color:var(--ctc-navy3)}
.fusion-body .ctc-foot-h{margin:0 0 8px;font-weight:650;color:var(--ctc-paper)}
.fusion-body .ctc-foot-list,.fusion-body .ctc-foot-list p{margin:0;color:var(--awb-custom_color_3,#C6CFDC);line-height:1.85}
.fusion-body .ctc-foot-list a{text-decoration:none;color:inherit}
@media (hover:hover){.fusion-body .ctc-foot-list a:hover{color:var(--ctc-yellow)}}
.ctc-map-missing{display:flex;flex-direction:column;gap:6px;padding:28px;border:2px dashed var(--ctc-yellow);border-radius:8px;color:inherit}
.ctc-tagline{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0 0}

/* ---------- loops ---------- */
@media (prefers-reduced-motion:no-preference){
  .ctc-jet{animation:ctcsweep 5s var(--ctc-io) infinite}
  .ctc-lvl{animation:ctcrise 5s var(--ctc-e) infinite}
  .ctc-hatch{animation:ctchatch 6s var(--ctc-io) infinite}
  .ctc-hose{animation:ctchose 6s ease-in-out infinite}
  .ctc-dirt{animation:ctcdirt 6s ease infinite}
  .ctc-flow{animation:ctcflow 1.2s linear infinite}
  .ctc-plate{animation:ctcplate 4s ease-in-out infinite}
  .ctc-ball{animation:ctcball 4.5s var(--ctc-io) infinite}
  .ctc-gantry{animation:ctcgantry 5s var(--ctc-io) infinite}
  .ctc-rock{animation:ctcrock 4s ease-in-out infinite}
  .ctc-waves{animation:ctcwave 1.4s linear infinite}
  .ctc-leaf{animation:ctcleaf 4s ease-in-out infinite}
  .ctc-check{stroke-dasharray:30;animation:ctccheck 4s var(--ctc-e) infinite}
  .ctc-rays{animation:ctcspin 14s linear infinite}
  .ctc-glint{animation:ctcglint 4.5s var(--ctc-io) infinite}
  .ctc-twinkle{animation:ctctwinkle 4s ease-in-out infinite}
  .ctc-drift{animation:ctcdrift 9s ease-in-out infinite alternate}
  .ctc-can-float{animation:ctcfloat 6s ease-in-out infinite}
  .ctc-sheen{animation:ctcsheen 7s ease-in-out infinite}
  .ctc-filler{animation:ctcfill 2.6s var(--ctc-io) infinite}
  .ctc-stream{animation:ctcstream 2.6s linear infinite}
}
.ctc-a{transform-box:view-box}
.ctc-drum,.ctc-drum .ctc-dfill,.ctc-drum .ctc-dlid,.ctc-drum .ctc-dlabel{transform-box:fill-box;animation-duration:26s;animation-iteration-count:infinite;animation-delay:var(--d,0s)}
.ctc-drum{transform-box:view-box;animation-name:ctcline;animation-timing-function:var(--ctc-io);will-change:transform}
.ctc-drum .ctc-dfill{transform-origin:50% 100%;transform:scaleY(0);animation-name:ctcdfill;animation-timing-function:ease-out}
.ctc-drum .ctc-dlid{opacity:0;animation-name:ctcdlid;animation-timing-function:var(--ctc-e)}
.ctc-drum .ctc-dlabel{opacity:0;animation-name:ctcdlabel;animation-timing-function:ease-out}
.ctc-capper{animation:ctccap 2.6s var(--ctc-io) infinite}
.ctc-glint2{animation:ctcglint 5.2s var(--ctc-io) infinite}
.ctc-sun{animation:ctcspin 18s linear infinite}
@media (prefers-reduced-motion:reduce){
  .ctc-drum,.ctc-drum .ctc-dfill,.ctc-drum .ctc-dlid,.ctc-drum .ctc-dlabel,.ctc-capper,.ctc-sun,.ctc-glint2{animation-play-state:paused}
  .ctc-can{transition-duration:0.01s}
}
@keyframes ctcline{0%{transform:translateX(0)}3.2%,10%{transform:translateX(80px)}13.2%,20%{transform:translateX(160px)}23.2%,30%{transform:translateX(240px)}33.2%,40%{transform:translateX(320px)}43.2%,50%{transform:translateX(400px)}53.2%,60%{transform:translateX(480px)}63.2%,70%{transform:translateX(560px)}73.2%,80%{transform:translateX(640px)}83.2%,90%{transform:translateX(720px)}93.2%,100%{transform:translateX(800px)}}
@keyframes ctcdfill{0%,35%{transform:scaleY(0)}38.4%,100%{transform:scaleY(1)}}
@keyframes ctcdlid{0%,44.6%{opacity:0;transform:translateY(-16px)}46%,100%{opacity:1;transform:translateY(0)}}
@keyframes ctcdlabel{0%,46.5%{opacity:0}48%,100%{opacity:1}}
@keyframes ctccap{0%,38%{transform:translateY(0)}50%{transform:translateY(12px)}64%,100%{transform:translateY(0)}}
@keyframes ctcfill{0%,38%{transform:translateY(0)}50%,82%{transform:translateY(16px)}94%,100%{transform:translateY(0)}}
@keyframes ctcstream{0%,52%{opacity:0}56%,78%{opacity:1}82%,100%{opacity:0}}
@keyframes ctcfloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@keyframes ctcsheen{0%,55%{background-position:120% 0}85%,100%{background-position:-20% 0}}
@keyframes ctcsweep{0%{transform:rotate(0)}55%{transform:rotate(360deg)}100%{transform:rotate(360deg)}}
@keyframes ctcrise{0%,20%{transform:translateY(0)}60%{transform:translateY(-3px)}100%{transform:translateY(0)}}
@keyframes ctchatch{0%,8%{transform:translateX(0)}30%,75%{transform:translateX(22px)}95%,100%{transform:translateX(0)}}
@keyframes ctchose{0%,30%{transform:rotate(-10deg);opacity:0}38%{opacity:1}52%{transform:rotate(18deg)}66%{transform:rotate(-6deg);opacity:1}74%,100%{opacity:0;transform:rotate(-6deg)}}
@keyframes ctcdirt{0%,40%{opacity:1}68%,90%{opacity:0}100%{opacity:1}}
@keyframes ctcflow{from{stroke-dashoffset:12}to{stroke-dashoffset:0}}
@keyframes ctcplate{0%,15%{opacity:0}30%{opacity:1}55%{opacity:1}75%,100%{opacity:0}}
@keyframes ctcball{0%{transform:rotate(0)}50%{transform:rotate(180deg)}100%{transform:rotate(360deg)}}
@keyframes ctcgantry{0%,6%{transform:translateX(0)}50%{transform:translateX(40px)}56%{transform:translateX(40px)}100%{transform:translateX(0)}}
@keyframes ctcrock{0%,100%{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}
@keyframes ctcwave{from{stroke-dashoffset:9}to{stroke-dashoffset:0}}
@keyframes ctcleaf{0%,100%{transform:rotate(-7deg)}50%{transform:rotate(7deg)}}
@keyframes ctccheck{0%,10%{stroke-dashoffset:30}35%,80%{stroke-dashoffset:0;opacity:1}95%,100%{stroke-dashoffset:0;opacity:0}}
@keyframes ctcspin{from{transform:rotate(0)}to{transform:rotate(360deg)}}
@keyframes ctcglint{0%,20%{transform:translateX(0);opacity:0}30%{opacity:1}60%{transform:translateX(26px);opacity:0}100%{transform:translateX(26px);opacity:0}}
@keyframes ctctwinkle{0%,100%{opacity:1}50%{opacity:0.35}}
@keyframes ctcdrift{from{transform:translateX(0)}to{transform:translateX(-14px)}}

/* ---------- port map ---------- */
.ctc-pmap{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:24px;align-items:start;color:#F2F4F7}
@media (max-width:1080px){.ctc-pmap{grid-template-columns:minmax(0,1fr)}}
.ctc-pmap>*{min-width:0}
.ctc-pm-regions{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.ctc-pm-regions .ctc-chip{flex:none}
.ctc-pm-swipe{display:none;margin:0 0 12px;font-size:15px;color:#C6CFDC}
@media (max-width:760px){.ctc-pm-swipe{display:block}}
.ctc-pm-scroll{overflow-x:auto;border-radius:12px;background:#0E203A;-webkit-overflow-scrolling:touch;scrollbar-color:#183154 transparent;border:1px solid rgba(255,255,255,0.06)}
.ctc-pm-inner{position:relative;width:100%;aspect-ratio:1400 / 544}
@media (max-width:760px){.ctc-pm-inner{width:880px}}
.ctc-pm-land{position:absolute;inset:0;width:100%;height:100%;display:block;border-radius:0 !important}
.ctc-pm-svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.ctc-pm-route{fill:none;stroke:#EDBE3F;stroke-width:1.4;opacity:0.3}
.ctc-pm-packet{fill:none;stroke:#EDBE3F;stroke-width:4;stroke-linecap:round;stroke-dasharray:12 988;stroke-dashoffset:1000;opacity:0}
@media (prefers-reduced-motion:no-preference){.ctc-pm-packet{opacity:1;animation:ctcpacket 5s cubic-bezier(0.45,0,0.55,1) infinite}}
@keyframes ctcpacket{0%{stroke-dashoffset:1000;opacity:0}6%{opacity:1}88%{opacity:1}100%{stroke-dashoffset:12;opacity:0}}
.ctc-pm-mk{position:absolute;transform:translate(-50%,-50%);width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:transparent;border:0;padding:0;cursor:pointer;z-index:2}
.ctc-pm-mk svg{width:15px;height:15px;overflow:visible;transition:transform 200ms cubic-bezier(0.23,1,0.32,1)}
.ctc-pm-mk polygon{fill:#4FC3D6;stroke:#0B1B33;stroke-width:2.4}
.ctc-pm-stockpoint polygon,.ctc-pm-headquarters polygon{fill:#EDBE3F}
.ctc-pm-headquarters svg{width:22px;height:22px}
.ctc-pm-mk.is-on svg{transform:scale(1.35)}
.ctc-pm-mk.is-on polygon{stroke:#F2F4F7}
@media (hover:hover) and (pointer:fine){.ctc-pm-mk:hover svg{transform:scale(1.3)}}
.ctc-pm-mk.is-on::before{content:"";position:absolute;inset:4px;border-radius:50%;border:2px solid rgba(237,190,63,0.6);animation:ctcpmring 2.2s ease-out infinite}
@keyframes ctcpmring{from{transform:scale(0.5);opacity:1}to{transform:scale(1.6);opacity:0}}
.ctc-pm-lbl{position:absolute;z-index:1;font-size:12.5px;font-weight:600;white-space:nowrap;pointer-events:none;color:#C6CFDC;transform:translate(14px,-50%)}
.ctc-pm-lbl.is-on{color:#FFFFFF}
.ctc-pm-lbl-l{transform:translate(calc(-100% - 14px),-50%)}
.ctc-pm-lbl-t{transform:translate(-50%,calc(-100% - 12px))}
.ctc-pm-lbl-b{transform:translate(-50%,12px)}
.ctc-pm-legend{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center;margin-top:16px;font-size:15px;color:#C6CFDC}
.ctc-pm-legend span{display:inline-flex;align-items:center;gap:8px}
.ctc-pm-dot{width:12px;height:12px;display:inline-block;clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%)}
.ctc-pm-dot-y{background:#EDBE3F}.ctc-pm-dot-c{background:#4FC3D6}
.ctc-pm-demo{opacity:0.7}
.ctc-pm-regions{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.ctc-pm-regions .ctc-chip{min-height:44px;background:#183154;color:#F2F4F7}
@media (hover:hover){.ctc-pm-regions .ctc-chip:hover{background:#21406B}}
.ctc-pm-panel{background:#10243F;border-radius:12px;padding:28px;border:1px solid rgba(255,255,255,0.06)}
.ctc-pm-ptop{display:flex;justify-content:space-between;align-items:baseline;gap:16px}
.ctc-pm-ptop p{margin:0}
.ctc-pm-type{font-size:15px;font-weight:650;color:#4FC3D6}
.ctc-pm-t-stockpoint,.ctc-pm-t-headquarters{color:#EDBE3F}
.ctc-pm-coords{font-size:14px;color:#C6CFDC;font-variant-numeric:tabular-nums}
.fusion-body .ctc-pm-name{margin:6px 0 0 !important;font-family:var(--ctc-head);font-size:34px !important;line-height:1.05 !important;font-weight:760;letter-spacing:-0.02em;color:#F2F4F7 !important}
.ctc-pm-country{margin:4px 0 0;color:#C6CFDC}
.ctc-pm-note{margin:16px 0 0}
.ctc-pm-count{display:flex;justify-content:space-between;margin:24px 0 8px;font-weight:650}
.ctc-pm-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}
.ctc-pm-list li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;border-radius:6px;background:#0B1B33;margin:0}
.ctc-pm-pn{display:flex;flex-direction:column;min-width:0}
.ctc-pm-pn a{font-weight:600;color:#F2F4F7 !important;text-decoration:none !important}
.ctc-pm-pn a:hover{color:#EDBE3F !important}
.ctc-pm-cat{font-size:14px;color:#C6CFDC}
.ctc-pm-st{flex:none;font-size:13px;font-weight:650;padding:4px 8px;border-radius:3px;background:#183154;color:#F2F4F7}
.ctc-pm-st.is-stock{background:#4FC3D6;color:#0B1B33}
.ctc-pm-cta{width:100%;margin-top:20px}

/* ---------- extra icon loops ---------- */
@media (prefers-reduced-motion:no-preference){
  .ctc-steam{animation:ctcsteam 3s ease-in-out infinite}
  .ctc-shake{animation:ctcshake 3.6s ease-in-out infinite}
  .ctc-lines{animation:ctcblink2 3s ease-in-out infinite}
  .ctc-lvl2{animation:ctcrise 4s cubic-bezier(0.23,1,0.32,1) infinite}
  .ctc-orbit{animation:ctcspin 8s linear infinite}
  .ctc-flap{animation:ctcflap 4s cubic-bezier(0.77,0,0.175,1) infinite;transform-origin:32px 18px}
  .ctc-ring2{animation:ctcblink2 1.8s ease-in-out infinite}
  .ctc-bob{animation:ctcbob 2.6s ease-in-out infinite}
  .ctc-sweep{animation:ctcspin 6s linear infinite}
  .ctc-sweep2{animation:ctcbob 3s ease-in-out infinite}
  .ctc-bubble{animation:ctcbubble 2.8s ease-in infinite}
  .ctc-draw{stroke-dashoffset:60;animation:ctcdraw 4s cubic-bezier(0.23,1,0.32,1) infinite}
  .ctc-pulse{animation:ctcpulse 3s ease-in-out infinite}
  .ctc-flowdrop{animation:ctcdrip 1.4s linear infinite}
}
@keyframes ctcsteam{0%,100%{transform:translateY(0);opacity:0.4}50%{transform:translateY(-3px);opacity:1}}
@keyframes ctcshake{0%,60%,100%{transform:rotate(0)}70%{transform:rotate(-4deg)}80%{transform:rotate(4deg)}90%{transform:rotate(-2deg)}}
@keyframes ctcblink2{0%,100%{opacity:0.35}50%{opacity:1}}
@keyframes ctcflap{0%,30%{transform:scaleY(1)}45%,70%{transform:scaleY(-0.4)}85%,100%{transform:scaleY(1)}}
@keyframes ctcbob{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
@keyframes ctcbubble{0%{transform:translateY(0);opacity:0}20%{opacity:1}100%{transform:translateY(-14px);opacity:0}}
@keyframes ctcdraw{0%{stroke-dashoffset:60}50%,100%{stroke-dashoffset:0}}
@keyframes ctcpulse{0%,100%{transform:scale(1)}50%{transform:scale(1.08)}}
@keyframes ctcdrip{from{transform:translateY(-2px);opacity:1}to{transform:translateY(5px);opacity:0}}

/* ---------- template-style elements ---------- */
.fusion-body .ctc-kicker,.fusion-body .ctc-kicker p{font-size:16px;font-weight:600;letter-spacing:0.01em;color:var(--ctc-cyan)}
.fusion-body .ctc-light .ctc-kicker,.fusion-body .ctc-light .ctc-kicker p,.fusion-body .ctc-steel .ctc-kicker,.fusion-body .ctc-steel .ctc-kicker p{color:#1A7F93}
.fusion-body .ctc-yellow .ctc-kicker p{color:var(--ctc-navy)}
.ctc-tile{display:flex !important;align-items:center;justify-content:center;width:72px;height:72px;border-radius:10px;background:var(--ctc-navy);margin-bottom:28px}
.ctc-tile .ctc-ic{width:46px;height:46px;color:#F2F4F7}
.ctc-dark .ctc-tile{background:var(--ctc-navy3)}
.fusion-body .fusion-layout-column.ctc-card > .fusion-column-wrapper{transition:transform 300ms cubic-bezier(0.23,1,0.32,1),box-shadow 300ms ease}
.fusion-body .ctc-light .fusion-layout-column.ctc-card > .fusion-column-wrapper,.fusion-body .ctc-steel .fusion-layout-column.ctc-card > .fusion-column-wrapper{box-shadow:0 18px 50px -24px rgba(11,27,51,0.28)}
@media (hover:hover){.fusion-body .fusion-layout-column.ctc-card:hover > .fusion-column-wrapper{transform:translateY(-4px);box-shadow:0 28px 60px -26px rgba(11,27,51,0.4)}}
.fusion-body .ctc-dark .fusion-layout-column.ctc-card > .fusion-column-wrapper{border:1px solid rgba(255,255,255,0.07)}
.fusion-body .ctc-card .ctc-point{border:0}
/* product cards like the template: white, soft shadow, coloured sub line */
.ctc-steel .ctc-pitem,.ctc-light .ctc-pitem{background:#FFFFFF;box-shadow:0 14px 40px -24px rgba(11,27,51,0.3)}
.ctc-light .ctc-pitem{background:#FFFFFF}
.ctc-pitem .ctc-pmeta{color:var(--ctc-muted)}
.ctc-pname{font-weight:700;letter-spacing:-0.01em}
.ctc-pcat{display:block;margin-top:4px;font-size:14px;font-weight:600;color:#1A7F93}
.ctc-dark .ctc-pcat{color:var(--ctc-cyan)}
.ctc-pthumb{border-radius:8px}
/* stats band */
.ctc-stats{display:grid;grid-template-columns:repeat(var(--n,2),minmax(0,1fr));gap:28px 40px;margin:0}
.ctc-stat{margin:0}
.ctc-stat-num{display:block;font-family:var(--ctc-head);font-weight:500;font-size:clamp(44px,5vw,68px);line-height:1;letter-spacing:-0.02em;color:var(--ctc-yellow);font-variant-numeric:tabular-nums}
.ctc-stat-label{display:block;margin-top:14px;font-size:17px;font-weight:600;color:#F2F4F7}
.ctc-stat-note{display:block;margin-top:4px;font-size:14px;color:#AEB9C9}
@media (max-width:640px){.ctc-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
.ctc-stats-art{position:relative;display:flex;align-items:center;justify-content:center;min-height:380px}
.ctc-stats-art::before{content:"";position:absolute;width:78%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(79,195,214,0.32),transparent 65%)}
.ctc-stats-art::after{content:"";position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='48' viewBox='0 0 28 48'%3E%3Cpath d='M14 0l14 8v16l-14 8L0 24V8z' fill='none' stroke='%23ffffff' stroke-opacity='.07'/%3E%3C/svg%3E");-webkit-mask-image:radial-gradient(60% 60% at 50% 50%,#000,transparent);mask-image:radial-gradient(60% 60% at 50% 50%,#000,transparent)}
.ctc-stats-art img{position:relative;z-index:1;width:min(70%,320px);height:auto;border-radius:0 !important;filter:drop-shadow(0 30px 40px rgba(0,0,0,0.45))}
@media (prefers-reduced-motion:no-preference){.ctc-stats-art img{animation:ctcfloat 6s ease-in-out infinite}}
.fusion-fullwidth.ctc-band{position:relative;overflow:hidden}
.fusion-fullwidth.ctc-band::before{content:"";position:absolute;inset:-20% -10%;pointer-events:none;background:
  linear-gradient(115deg,transparent 0 60%,rgba(255,255,255,0.04) 60% 66%,transparent 66%),
  linear-gradient(115deg,transparent 0 14%,rgba(255,255,255,0.035) 14% 19%,transparent 19%)}

/* ---------- private label canister ---------- */
.ctc-pl{position:relative;display:flex;flex-direction:column;align-items:center}
.ctc-pl-stage{position:relative;width:min(100%,380px);aspect-ratio:900 / 1168;filter:drop-shadow(0 30px 40px rgba(0,0,0,0.45))}
.ctc-pl-base{position:absolute;inset:0;width:100%;height:100%;border-radius:0 !important}
.ctc-pl-lab{position:absolute;height:auto;border-radius:0 !important;clip-path:inset(0 100% 0 0);will-change:clip-path}
.ctc-pl-sheen{position:absolute;aspect-ratio:420 / 529;pointer-events:none;background:linear-gradient(100deg,transparent 0 42%,rgba(255,255,255,0.75) 50%,transparent 58%);background-size:260% 100%;background-position:130% 0;mix-blend-mode:screen;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 420 529'%3E%3Cpolygon points='4,106 420,4 418,399 5,529' fill='%23000'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 420 529'%3E%3Cpolygon points='4,106 420,4 418,399 5,529' fill='%23000'/%3E%3C/svg%3E");-webkit-mask-size:100% 100%;mask-size:100% 100%}
.ctc-pl-tags{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:24px 0 0}
.ctc-pl-tag{padding:7px 14px;border-radius:999px;font-size:14px;font-weight:600;color:#C6CFDC;border:1px solid rgba(255,255,255,0.14);transition:background-color 300ms ease,color 300ms ease,border-color 300ms ease}
@media (prefers-reduced-motion:no-preference){
  .ctc-pl-stage{animation:ctcplturn 16s cubic-bezier(0.77,0,0.175,1) infinite}
  .ctc-pl-lab-1{animation:ctcpl1 16s cubic-bezier(0.77,0,0.175,1) infinite}
  .ctc-pl-lab-2{animation:ctcpl2 16s cubic-bezier(0.77,0,0.175,1) infinite}
  .ctc-pl-lab-3{animation:ctcpl3 16s cubic-bezier(0.77,0,0.175,1) infinite}
  .ctc-pl-sheen{animation:ctcplsheen 16s linear infinite}
  .ctc-pl-tag-1{animation:ctcpltag1 16s linear infinite}
  .ctc-pl-tag-2{animation:ctcpltag2 16s linear infinite}
  .ctc-pl-tag-3{animation:ctcpltag3 16s linear infinite}
}
@media (prefers-reduced-motion:reduce){.ctc-pl-lab-1{clip-path:none}}
@keyframes ctcpl1{0%,14%{clip-path:inset(0 100% 0 0);opacity:1}20%,88%{clip-path:inset(0 0 0 0);opacity:1}94%,100%{clip-path:inset(0 0 0 0);opacity:0}}
@keyframes ctcpl2{0%,39%{clip-path:inset(0 100% 0 0);opacity:1}45%,88%{clip-path:inset(0 0 0 0);opacity:1}94%,100%{clip-path:inset(0 0 0 0);opacity:0}}
@keyframes ctcpl3{0%,64%{clip-path:inset(0 100% 0 0);opacity:1}70%,88%{clip-path:inset(0 0 0 0);opacity:1}94%,100%{clip-path:inset(0 0 0 0);opacity:0}}
@keyframes ctcplsheen{0%,15%{background-position:130% 0}21%{background-position:-30% 0}21.01%,40%{background-position:130% 0}46%{background-position:-30% 0}46.01%,65%{background-position:130% 0}71%{background-position:-30% 0}71.01%,100%{background-position:130% 0}}
@keyframes ctcplturn{0%,13%,21%,38%,46%,63%,71%,87%,95%,100%{transform:rotate(0) translateY(0)}16%,41%,66%,90%{transform:rotate(-3deg) translateY(-8px)}}
@keyframes ctcpltag1{0%,14%,40%,100%{background:transparent;color:#C6CFDC;border-color:rgba(255,255,255,0.14)}17%,37%{background:#EDBE3F;color:#0B1B33;border-color:#EDBE3F}}
@keyframes ctcpltag2{0%,39%,65%,100%{background:transparent;color:#C6CFDC;border-color:rgba(255,255,255,0.14)}42%,62%{background:#EDBE3F;color:#0B1B33;border-color:#EDBE3F}}
@keyframes ctcpltag3{0%,64%,90%,100%{background:transparent;color:#C6CFDC;border-color:rgba(255,255,255,0.14)}67%,87%{background:#EDBE3F;color:#0B1B33;border-color:#EDBE3F}}

/* ---------- CTA box (template style) ---------- */
.fusion-body .fusion-layout-column.ctc-ctabox > .fusion-column-wrapper{border:2px solid rgba(255,255,255,0.14);border-radius:14px;background:linear-gradient(120deg,rgba(14,45,92,0.6),rgba(7,20,38,0.2))}
.fusion-body .ctc-ctabtn > .fusion-column-wrapper{align-items:flex-end;text-align:right}
@media (max-width:800px){.fusion-body .ctc-ctabtn > .fusion-column-wrapper{text-align:left;align-items:flex-start}}
.fusion-body .ctc-ctabox .fusion-button{margin-bottom:0 !important}

/* ---------- contact page ---------- */
.ctc-ccards{display:flex;flex-direction:column;gap:10px}
.ctc-ccard{display:grid;grid-template-columns:56px minmax(0,1fr);gap:18px;align-items:center;padding:16px 20px;border-radius:12px;background:#FFFFFF;box-shadow:0 14px 40px -26px rgba(11,27,51,0.35);color:var(--ctc-navy) !important;text-decoration:none !important;transition:transform 260ms cubic-bezier(0.23,1,0.32,1),box-shadow 260ms ease}
@media (hover:hover){.ctc-ccard:hover{transform:translateY(-3px);box-shadow:0 22px 50px -26px rgba(11,27,51,0.45)}}
.ctc-tile.ctc-tile-s{width:56px;height:56px;margin:0;border-radius:10px}
.ctc-tile.ctc-tile-s .ctc-ic{width:34px;height:34px}
.ctc-ccard-label{display:block;font-size:13px;font-weight:650;letter-spacing:0.08em;text-transform:uppercase;color:var(--ctc-muted)}
.ctc-ccard-value{display:block;margin-top:2px;font-size:18px;font-weight:700;line-height:1.3}
.ctc-topics{margin:0 0 22px}
.ctc-topics-label{margin:0 0 10px;font-weight:650;font-size:15px}
.ctc-topics-list{display:flex;flex-wrap:wrap;gap:8px}
.ctc-topic{min-height:42px;padding:0 16px;border-radius:999px;border:1.5px solid var(--ctc-steel2);background:#FFFFFF;color:var(--ctc-navy);font:inherit;font-size:15px;font-weight:600;cursor:pointer;transition:background-color 160ms ease,border-color 160ms ease,color 160ms ease,transform 160ms ease}
.ctc-topic:hover{border-color:var(--ctc-brand)}
.ctc-topic[aria-pressed="true"]{background:var(--ctc-navy);border-color:var(--ctc-navy);color:#FFFFFF}
.ctc-topic:active{transform:scale(0.97)}
/* Avada form inside the contact card */
.fusion-body .ctc-form .fusion-form-field{margin-bottom:6px}
.fusion-body .ctc-form label,.fusion-body .ctc-form .fusion-form-label-wrapper label{font-size:14px;font-weight:650;color:var(--ctc-navy)}
.fusion-body .ctc-form input[type="text"],.fusion-body .ctc-form input[type="email"],.fusion-body .ctc-form input[type="tel"],.fusion-body .ctc-form textarea{width:100%;min-height:54px;padding:14px 16px;border:1.5px solid var(--ctc-steel2) !important;border-radius:8px !important;background:#F7F9FB !important;color:var(--ctc-navy) !important;font:inherit;font-size:16px;transition:border-color 160ms ease,background-color 160ms ease,box-shadow 160ms ease}
.fusion-body .ctc-form textarea{min-height:150px}
.fusion-body .ctc-form input:focus,.fusion-body .ctc-form textarea:focus{outline:none;border-color:var(--ctc-brand) !important;background:#FFFFFF !important;box-shadow:0 0 0 4px rgba(14,45,92,0.12)}
.fusion-body .ctc-form input[type="checkbox"]{accent-color:var(--ctc-brand);width:20px;height:20px}
.fusion-body .ctc-form .fusion-button,.fusion-body .ctc-form button[type="submit"]{min-height:56px;padding:0 32px;font-size:17px}
.fusion-body .ctc-form .ctc-inq{padding:16px;border-radius:10px;background:var(--ctc-steel)}
.fusion-body .ctc-form .ctc-inq-list li{background:#FFFFFF}
.ctc-form-head{display:flex;align-items:center;gap:16px;margin:0 0 22px}
.ctc-form-head .ctc-tile{margin:0}
.ctc-form-head p{margin:0}
.ctc-form-title{font-family:var(--ctc-head);font-size:26px;font-weight:700;line-height:1.2;color:var(--ctc-navy)}
.ctc-form-sub{color:var(--ctc-muted);font-size:15px}

/* ---------- news list (Avada blog element) ---------- */
.fusion-body .ctc-blog .fusion-post-large,.fusion-body .ctc-blog article.post{margin-bottom:10px !important;padding:26px 28px;border-radius:12px;background:var(--ctc-steel);transition:background-color 200ms ease,transform 260ms cubic-bezier(0.23,1,0.32,1)}
.fusion-body .ctc-blog article.post:hover{background:#E6EBF1;transform:translateY(-2px)}
.fusion-body .ctc-blog .blog-shortcode-post-title,.fusion-body .ctc-blog .entry-title{margin:0 0 6px !important;font-size:clamp(20px,2vw,26px) !important;line-height:1.2 !important}
.fusion-body .ctc-blog .blog-shortcode-post-title a,.fusion-body .ctc-blog .entry-title a{color:var(--ctc-navy) !important;text-decoration:none !important}
.fusion-body .ctc-blog .fusion-meta-info,.fusion-body .ctc-blog .fusion-single-line-meta{font-size:14px;color:var(--ctc-muted);border:0 !important;margin-top:8px}
.fusion-body .ctc-blog .fusion-post-content-container p{margin:0;color:var(--ctc-muted)}

/* ---------- link rows from native Avada columns ---------- */
.fusion-body .fusion-layout-column.ctc-nrow > .fusion-column-wrapper{position:relative;display:grid !important;grid-template-columns:72px minmax(0,1fr) 28px;grid-template-rows:auto auto;column-gap:24px;row-gap:4px;align-items:center;padding:20px !important;margin-left:-20px !important;margin-right:-20px !important;border-radius:10px;transition:background-color 200ms ease}
.fusion-body .fusion-layout-column.ctc-nrow.has-badge > .fusion-column-wrapper{grid-template-columns:96px minmax(0,1fr) 28px}
.fusion-body .fusion-layout-column.ctc-nrow:not(.has-icon):not(.has-badge) > .fusion-column-wrapper{grid-template-columns:minmax(0,1fr) 28px}
.fusion-body .ctc-nrow .ctc-nrow-ic{grid-column:1;grid-row:1 / span 2;align-self:center;margin:0 !important}
.fusion-body .ctc-nrow .ctc-nrow-ic .ctc-ic{width:72px;height:72px}
.fusion-body .ctc-nrow.has-badge .ctc-row-mark{display:flex;width:96px;height:96px}
.fusion-body .ctc-nrow .ctc-nrow-title{grid-column:2;grid-row:1;align-self:end;margin:0 !important}
.fusion-body .ctc-nrow .ctc-nrow-text{grid-column:2;grid-row:2;align-self:start;margin:0 !important}
.fusion-body .ctc-nrow:not(.has-icon):not(.has-badge) .ctc-nrow-title,.fusion-body .ctc-nrow:not(.has-icon):not(.has-badge) .ctc-nrow-text{grid-column:1}
.fusion-body .ctc-nrow .ctc-nrow-text p{margin:0;font-size:17px;line-height:1.5}
.fusion-body .fusion-title.ctc-nrow-title .fusion-title-heading{font-size:clamp(20px,2vw,28px) !important;line-height:1.15 !important;letter-spacing:-0.01em !important;font-weight:700 !important}
.fusion-body .ctc-nrow.has-link > .fusion-column-wrapper::after{content:"→";grid-column:-2;grid-row:1 / span 2;align-self:center;justify-self:end;font-size:24px;line-height:1;color:var(--ctc-arrow);transition:transform 260ms cubic-bezier(0.23,1,0.32,1)}
.fusion-body .ctc-nrow.has-link.arrow-down > .fusion-column-wrapper::after{content:"↓"}
.fusion-body .ctc-nrow.has-link:hover > .fusion-column-wrapper{background:var(--ctc-surface-h)}
.fusion-body .ctc-nrow.has-link:hover > .fusion-column-wrapper::after{transform:translateX(4px)}
.fusion-body .ctc-nrow.has-link.arrow-down:hover > .fusion-column-wrapper::after{transform:translateY(3px)}
.fusion-body .ctc-nrow .fusion-column-anchor{position:absolute;inset:0;z-index:2}
@media (max-width:560px){
  .fusion-body .fusion-layout-column.ctc-nrow > .fusion-column-wrapper{grid-template-columns:56px minmax(0,1fr);column-gap:16px;padding:16px 12px !important;margin-left:-12px !important;margin-right:-12px !important}
  .fusion-body .fusion-layout-column.ctc-nrow.has-badge > .fusion-column-wrapper{grid-template-columns:72px minmax(0,1fr)}
  .fusion-body .ctc-nrow .ctc-nrow-ic .ctc-ic{width:56px;height:56px}
  .fusion-body .ctc-nrow.has-badge .ctc-row-mark{width:72px;height:72px}
  .fusion-body .ctc-nrow.has-link > .fusion-column-wrapper::after{display:none}
}
.ctc-stat{display:flex;flex-direction:column-reverse}
.ctc-stat-label{margin-top:12px}
.ctc-stats-globe .ctc-ic.ctc-globe-ic{position:relative;z-index:1;width:min(62%,300px);height:auto;stroke-width:1;color:#DCE3EC}
.ctc-orbit-ring{position:absolute;width:min(78%,380px);aspect-ratio:1;border-radius:50%;border:1px dashed rgba(79,195,214,0.35)}
.ctc-orbit-ring-2{width:min(92%,450px);border-color:rgba(237,190,63,0.25)}
@media (prefers-reduced-motion:no-preference){.ctc-orbit-ring{animation:ctcspin 40s linear infinite}.ctc-orbit-ring-2{animation-duration:70s;animation-direction:reverse}}
/* stats: no default dd indent, numbers never wrap, all rows start at the top */
.ctc-stats dd,.ctc-stats dt{margin:0;padding:0}
.ctc-stat{justify-content:flex-end}
.ctc-stats{align-items:start}
.ctc-stat-num{white-space:nowrap;font-size:clamp(40px,4.4vw,60px)}
.ctc-stat-num .ctc-unit{font-size:.5em;font-weight:600;margin-left:.15em;letter-spacing:0}
/* filling line as a card on light sections (company page) */
.ctc-plant-card .ctc-plant-art{border-radius:14px;box-shadow:0 30px 60px -30px rgba(11,27,51,0.45);height:auto}
/* VLC canister: no wobble, no tilt, no bobbing – it stays parked, only a light flash sweeps over it */
.ctc-can,.ctc-can-float{transform:none !important;animation:none !important;transition:none !important}
.ctc-sheen{background:linear-gradient(105deg,rgba(255,255,255,0) 42%,rgba(255,255,255,0.75) 50%,rgba(255,255,255,0) 58%);background-size:300% 100%}
@media (prefers-reduced-motion:no-preference){.ctc-sheen{animation:ctcflash 5.5s cubic-bezier(0.65,0,0.35,1) infinite}}
@keyframes ctcflash{0%,62%{background-position:120% 0}86%,100%{background-position:-20% 0}}
/* desktop: park the canister in the middle of the screen */
@media (min-width:961px){.ctc-vlc-sticky{top:max(110px,calc(50vh - 280px));margin-top:48px}}
/* mobile: never wider than the screen; Avada's h2 size must not win */
.ctc-vlc{grid-template-columns:minmax(0,1fr) minmax(0,0.9fr)}
.fusion-body .ctc-vlc .ctc-vlc-title{font-size:clamp(34px,3.9vw,56px) !important;line-height:1.04 !important;overflow-wrap:anywhere}
@media (max-width:960px){
  .ctc-vlc{grid-template-columns:minmax(0,1fr)}
  .fusion-body .ctc-vlc .ctc-vlc-title{font-size:clamp(30px,9vw,40px) !important}
}
.ctc-form-note{margin:0;font-size:14px;color:#3D4C63}
.ctc-form-note a{color:#0E2D5C;text-decoration:underline;text-underline-offset:3px}
