/* Country landing pages (Australia, Hong Kong, USA). GENERATED from the approved HTML designs: every inline style of the reference files
   became a page-scoped class (.cp-au .cpaN, .cp-hk .cphN, .cp-us .cpuN). Edit the markup in template-parts/country-*.php. */

/* ---- ai-video-australia ---- */
.cp-au { width: 100%; background: var(--cream); color: var(--deep); font-family: var(--font); font-size: 17px; line-height: 1.6; }
.cp-au a { color: var(--deep); }
.cp-au a:hover { color: var(--teal); }
.cp-au summary { cursor: pointer; list-style: none; }
.cp-au summary::-webkit-details-marker { display: none; }
.cp-au th, .cp-au td { text-align: left; vertical-align: top; }
.cp-au .cpa1 { background: var(--deep); color: var(--cream); }
.cp-au .cpa2 { max-width: 1200px; margin: 0 auto; padding: 64px 24px 88px; display: flex; flex-wrap: wrap; gap: 48px; align-items: center; }
.cp-au .cpa3 { flex: 1 1 480px; min-width: 0; display: flex; flex-direction: column; gap: 24px; }
.cp-au .cpa4 { margin: 0; font-size: 14px; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: var(--lime); }
.cp-au .cpa5 { margin: 0; font-family: var(--font); font-weight: 700; font-size: clamp(40px, 6vw, 72px); line-height: 1.02; letter-spacing: -0.02em; }
.cp-au .cpa6 { margin: 0; font-size: 20px; line-height: 1.5; color: var(--cream-soft); max-width: 560px; }
.cp-au .cpa7 { display: flex; flex-wrap: wrap; gap: 12px; }
.cp-au .cpa8 { background: var(--lime); color: var(--deep); text-decoration: none; border-radius: var(--radius); min-height: 44px; box-sizing: border-box; display: inline-flex; align-items: center; font-family: var(--mono); font-size: 12px; letter-spacing: 0.16em; text-transform: uppercase; font-weight: 500; padding: 1.05em 1.7em; transition: background 0.3s var(--ease), color 0.3s var(--ease), border-color 0.3s var(--ease); }
.cp-au .cpa8:hover, .cp-au .cpa8:focus-visible { background: var(--cream); color: var(--deep); border-color: var(--cream); }
.cp-au .cpa9 { border: 1.5px solid var(--line-strong); color: var(--cream); text-decoration: none; border-radius: var(--radius); min-height: 44px; box-sizing: border-box; display: inline-flex; align-items: center; font-family: var(--mono); font-size: 12px; letter-spacing: 0.16em; text-transform: uppercase; font-weight: 500; padding: 1.05em 1.7em; transition: background 0.3s var(--ease), color 0.3s var(--ease), border-color 0.3s var(--ease); }
.cp-au .cpa9:hover, .cp-au .cpa9:focus-visible { background: var(--cream); color: var(--deep); border-color: var(--cream); }
.cp-au .cpa10 { margin: 0; font-size: 15px; color: var(--muted); }
.cp-au .cpa11 { flex: 1 1 520px; min-width: 0; display: flex; flex-direction: column; gap: 12px; }
.cp-au .cpa12 { margin: 0; font-size: 14px; color: var(--muted); }
.cp-au .cpa13 { border-bottom: 1px solid var(--line-dark); }
.cp-au .cpa14 { max-width: 1200px; margin: 0 auto; padding: 40px 24px; display: flex; flex-direction: column; gap: 24px; }
.cp-au .cpa15 { display: flex; flex-wrap: wrap; gap: 32px; justify-content: space-between; }
.cp-au .cpa16 { flex: 1 1 200px; }
.cp-au .cpa17 { margin: 0; font-family: var(--font); font-weight: 700; font-size: 44px; line-height: 1; }
.cp-au .cpa18 { margin: 6px 0 0; color: var(--muted-dark); }
.cp-au .cpa19 { margin: 0; font-size: 14px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--muted-dark); }
.cp-au .cpa20 { padding: 88px 0; }
.cp-au .cpa21 { max-width: 1200px; margin: 0 auto; padding: 0 24px; display: flex; flex-direction: column; gap: 40px; }
.cp-au .cpa22 { max-width: 720px; display: flex; flex-direction: column; gap: 12px; }
.cp-au .cpa23 { margin: 0; font-family: var(--font); font-weight: 700; font-size: clamp(30px, 4vw, 48px); line-height: 1.08; }
.cp-au .cpa24 { margin: 0; font-size: 19px; color: var(--muted-dark); }
.cp-au .cpa25 { display: flex; flex-wrap: wrap; gap: 24px; }
.cp-au .cpa26 { flex: 1 1 340px; background: var(--cream); border: 1px solid var(--line-dark); border-radius: var(--radius); padding: 32px; display: flex; flex-direction: column; gap: 16px; }
.cp-au .cpa27 { margin: 0; font-family: var(--font); font-size: 22px; color: var(--muted-dark); }
.cp-au .cpa28 { margin: 0; padding-left: 20px; display: flex; flex-direction: column; gap: 10px; color: var(--muted-dark); }
.cp-au .cpa29 { flex: 1 1 340px; background: var(--deep); color: var(--cream); border-radius: var(--radius); padding: 32px; display: flex; flex-direction: column; gap: 16px; }
.cp-au .cpa30 { margin: 0; font-family: var(--font); font-size: 22px; color: var(--lime); }
.cp-au .cpa31 { margin: 0; padding-left: 20px; display: flex; flex-direction: column; gap: 10px; color: var(--cream); }
.cp-au .cpa32 { padding: 88px 0; background: var(--wash); }
.cp-au .cpa33 { max-width: 760px; display: flex; flex-direction: column; gap: 12px; }
.cp-au .cpa34 { margin: 0; font-size: 14px; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: var(--teal); }
.cp-au .cpa35 { display: flex; flex-wrap: wrap; gap: 20px; }
.cp-au .cpa36 { flex: 1 1 320px; background: var(--cream); border-radius: var(--radius); padding: 28px; display: flex; flex-direction: column; gap: 12px; }
.cp-au .cpa37 { margin: 0; font-size: 13px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: var(--teal); }
.cp-au .cpa38 { margin: 0; font-family: var(--font); font-size: 24px; line-height: 1.2; }
.cp-au .cpa39 { margin: 0; color: var(--muted-dark); }
.cp-au .cpa40 { margin: 0; font-size: 15px; color: var(--muted-dark); }
.cp-au .cpa41 { margin-top: auto; font-weight: 600; }
.cp-au .cpa42 { margin: 0; font-size: 18px; }
.cp-au .cpa43 { font-weight: 600; }
.cp-au .cpa44 { padding: 88px 0; background: var(--deep); color: var(--cream); }
.cp-au .cpa45 { margin: 0; font-family: var(--font); font-weight: 700; font-size: clamp(30px, 4vw, 48px); line-height: 1.08; max-width: 760px; }
.cp-au .cpa46 { display: flex; flex-wrap: wrap; gap: 32px; }
.cp-au .cpa47 { flex: 1 1 240px; display: flex; flex-direction: column; gap: 8px; }
.cp-au .cpa48 { margin: 0; color: var(--cream-soft); }
.cp-au .cpa49 { max-width: 1200px; margin: 0 auto; padding: 0 24px; display: flex; flex-direction: column; gap: 24px; }
.cp-au .cpa50 { margin: 0; font-size: 19px; color: var(--muted-dark); max-width: 720px; }
.cp-au .cpa51 { border: 1.5px solid var(--deep); border-radius: var(--radius); padding: 10px 20px; font-weight: 600; }
.cp-au .cpa52 { margin: 0; padding: 0; list-style: none; display: flex; flex-wrap: wrap; gap: 20px; }
.cp-au .cpa53 { flex: 1 1 200px; background: var(--cream); border-radius: var(--radius); padding: 24px; display: flex; flex-direction: column; gap: 8px; }
.cp-au .cpa54 { font-family: var(--font); font-weight: 700; font-size: 32px; color: var(--teal); }
.cp-au .cpa55 { color: var(--muted-dark); }
.cp-au .cpa56 { max-width: 1200px; margin: 0 auto; padding: 0 24px; display: flex; flex-direction: column; gap: 32px; }
.cp-au .cpa57 { flex: 1 1 340px; background: var(--cream); border: 1px solid var(--line-dark); border-radius: var(--radius); padding: 28px; display: flex; flex-direction: column; gap: 10px; }
.cp-au .cpa58 { margin: 0; font-family: var(--font); font-size: 22px; color: var(--teal); }
.cp-au .cpa59 { margin: 0; color: var(--muted-dark); }
.cp-au .cpa60 { margin: 0; font-family: var(--font); font-size: 22px; color: var(--deep); }
.cp-au .cpa61 { max-width: 860px; margin: 0 auto; padding: 0 24px; display: flex; flex-direction: column; gap: 24px; }
.cp-au .cpa62 { background: var(--cream); border-radius: var(--radius); padding: 20px 24px; }
.cp-au .cpa63 { font-weight: 600; font-size: 18px; }
.cp-au .cpa64 { margin: 12px 0 0; color: var(--muted-dark); }
.cp-au .cpa65 { padding: 104px 0; background: var(--deep); color: var(--cream); }
.cp-au .cpa66 { max-width: 860px; margin: 0 auto; padding: 0 24px; display: flex; flex-direction: column; gap: 24px; align-items: center; text-align: center; }
.cp-au .cpa67 { margin: 0; font-family: var(--font); font-weight: 700; font-size: clamp(34px, 5vw, 60px); line-height: 1.05; }
.cp-au .cpa68 { margin: 0; font-size: 19px; color: var(--cream-soft); }
.cp-au .cpa69 { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; }
.cp-au .cpa70 { background: var(--ink); color: var(--muted); font-size: 14px; }
.cp-au .cpa71 { max-width: 1200px; margin: 0 auto; padding: 32px 24px; display: flex; flex-wrap: wrap; gap: 16px; justify-content: space-between; }
.cp-au .cpa72 { margin: 0; }

/* ---- ai-video-hong-kong ---- */
.cp-hk { width: 100%; background: var(--cream); color: var(--deep); font-family: var(--font), 'Noto Sans HK', sans-serif; font-size: 17px; line-height: 1.75; }
.cp-hk a { color: var(--deep); }
.cp-hk a:hover { color: var(--teal); }
.cp-hk summary { cursor: pointer; list-style: none; }
.cp-hk summary::-webkit-details-marker { display: none; }
.cp-hk th, .cp-hk td { text-align: left; vertical-align: top; }
.cp-hk .cph1 { background: var(--deep); color: var(--cream); }
.cp-hk .cph2 { max-width: 1200px; margin: 0 auto; padding: 64px 24px 88px; display: flex; flex-wrap: wrap; gap: 48px; align-items: center; }
.cp-hk .cph3 { flex: 1 1 480px; min-width: 0; display: flex; flex-direction: column; gap: 24px; }
.cp-hk .cph4 { margin: 0; font-size: 15px; font-weight: 700; letter-spacing: 0.12em; color: var(--lime); }
.cp-hk .cph5 { margin: 0; font-weight: 700; font-size: clamp(38px, 5.6vw, 68px); line-height: 1.2; }
.cp-hk .cph6 { margin: 0; font-size: 20px; line-height: 1.7; color: var(--cream-soft); max-width: 560px; }
.cp-hk .cph7 { display: flex; flex-wrap: wrap; gap: 12px; }
.cp-hk .cph8 { background: var(--lime); color: var(--deep); text-decoration: none; border-radius: var(--radius); min-height: 44px; box-sizing: border-box; display: inline-flex; align-items: center; font-family: var(--mono); font-size: 12px; letter-spacing: 0.16em; text-transform: uppercase; font-weight: 500; padding: 1.05em 1.7em; transition: background 0.3s var(--ease), color 0.3s var(--ease), border-color 0.3s var(--ease); }
.cp-hk .cph8:hover, .cp-hk .cph8:focus-visible { background: var(--cream); color: var(--deep); border-color: var(--cream); }
.cp-hk .cph9 { border: 1.5px solid var(--line-strong); color: var(--cream); text-decoration: none; border-radius: var(--radius); min-height: 44px; box-sizing: border-box; display: inline-flex; align-items: center; font-family: var(--mono); font-size: 12px; letter-spacing: 0.16em; text-transform: uppercase; font-weight: 500; padding: 1.05em 1.7em; transition: background 0.3s var(--ease), color 0.3s var(--ease), border-color 0.3s var(--ease); }
.cp-hk .cph9:hover, .cp-hk .cph9:focus-visible { background: var(--cream); color: var(--deep); border-color: var(--cream); }
.cp-hk .cph10 { margin: 0; font-size: 15px; color: var(--muted); }
.cp-hk .cph11 { flex: 1 1 520px; min-width: 0; display: flex; flex-direction: column; gap: 12px; }
.cp-hk .cph12 { margin: 0; font-size: 14px; color: var(--muted); }
.cp-hk .cph13 { border-bottom: 1px solid var(--line-dark); }
.cp-hk .cph14 { max-width: 1200px; margin: 0 auto; padding: 40px 24px; display: flex; flex-direction: column; gap: 24px; }
.cp-hk .cph15 { display: flex; flex-wrap: wrap; gap: 32px; justify-content: space-between; }
.cp-hk .cph16 { flex: 1 1 200px; }
.cp-hk .cph17 { margin: 0; font-family: var(--font); font-weight: 700; font-size: 44px; line-height: 1; }
.cp-hk .cph18 { margin: 6px 0 0; color: var(--muted-dark); }
.cp-hk .cph19 { margin: 0; font-size: 15px; letter-spacing: 0.08em; color: var(--muted-dark); }
.cp-hk .cph20 { padding: 88px 0; }
.cp-hk .cph21 { max-width: 1200px; margin: 0 auto; padding: 0 24px; display: flex; flex-direction: column; gap: 40px; }
.cp-hk .cph22 { max-width: 720px; display: flex; flex-direction: column; gap: 12px; }
.cp-hk .cph23 { margin: 0; font-weight: 700; font-size: clamp(30px, 4vw, 46px); line-height: 1.25; }
.cp-hk .cph24 { margin: 0; font-size: 19px; color: var(--muted-dark); }
.cp-hk .cph25 { display: flex; flex-wrap: wrap; gap: 24px; }
.cp-hk .cph26 { flex: 1 1 340px; background: var(--cream); border: 1px solid var(--line-dark); border-radius: var(--radius); padding: 32px; display: flex; flex-direction: column; gap: 16px; }
.cp-hk .cph27 { margin: 0; font-size: 22px; font-weight: 700; color: var(--muted-dark); }
.cp-hk .cph28 { margin: 0; padding-left: 20px; display: flex; flex-direction: column; gap: 10px; color: var(--muted-dark); }
.cp-hk .cph29 { flex: 1 1 340px; background: var(--deep); color: var(--cream); border-radius: var(--radius); padding: 32px; display: flex; flex-direction: column; gap: 16px; }
.cp-hk .cph30 { margin: 0; font-size: 22px; font-weight: 700; color: var(--lime); }
.cp-hk .cph31 { margin: 0; padding-left: 20px; display: flex; flex-direction: column; gap: 10px; color: var(--cream); }
.cp-hk .cph32 { padding: 88px 0; background: var(--wash); }
.cp-hk .cph33 { max-width: 760px; display: flex; flex-direction: column; gap: 12px; }
.cp-hk .cph34 { margin: 0; font-size: 15px; font-weight: 700; letter-spacing: 0.12em; color: var(--teal); }
.cp-hk .cph35 { display: flex; flex-wrap: wrap; gap: 20px; }
.cp-hk .cph36 { flex: 1 1 320px; background: var(--cream); border-radius: var(--radius); padding: 28px; display: flex; flex-direction: column; gap: 12px; }
.cp-hk .cph37 { margin: 0; font-size: 14px; font-weight: 700; color: var(--teal); }
.cp-hk .cph38 { margin: 0; font-size: 24px; font-weight: 700; line-height: 1.35; }
.cp-hk .cph39 { margin: 0; color: var(--muted-dark); }
.cp-hk .cph40 { margin: 0; font-size: 15px; color: var(--muted-dark); }
.cp-hk .cph41 { margin-top: auto; font-weight: 700; }
.cp-hk .cph42 { margin: 0; font-size: 18px; }
.cp-hk .cph43 { font-weight: 700; }
.cp-hk .cph44 { padding: 88px 0; background: var(--deep); color: var(--cream); }
.cp-hk .cph45 { margin: 0; font-weight: 700; font-size: clamp(30px, 4vw, 46px); line-height: 1.25; max-width: 760px; }
.cp-hk .cph46 { display: flex; flex-wrap: wrap; gap: 32px; }
.cp-hk .cph47 { flex: 1 1 240px; display: flex; flex-direction: column; gap: 8px; }
.cp-hk .cph48 { margin: 0; color: var(--cream-soft); }
.cp-hk .cph49 { max-width: 1200px; margin: 0 auto; padding: 0 24px; display: flex; flex-direction: column; gap: 24px; }
.cp-hk .cph50 { margin: 0; font-size: 19px; color: var(--muted-dark); max-width: 720px; }
.cp-hk .cph51 { border: 1.5px solid var(--deep); border-radius: var(--radius); padding: 10px 20px; font-weight: 700; }
.cp-hk .cph52 { margin: 0; padding: 0; list-style: none; display: flex; flex-wrap: wrap; gap: 20px; }
.cp-hk .cph53 { flex: 1 1 200px; background: var(--cream); border-radius: var(--radius); padding: 24px; display: flex; flex-direction: column; gap: 8px; }
.cp-hk .cph54 { font-family: var(--font); font-weight: 700; font-size: 32px; color: var(--teal); }
.cp-hk .cph55 { color: var(--muted-dark); }
.cp-hk .cph56 { max-width: 1200px; margin: 0 auto; padding: 0 24px; display: flex; flex-direction: column; gap: 32px; }
.cp-hk .cph57 { flex: 1 1 340px; background: var(--cream); border: 1px solid var(--line-dark); border-radius: var(--radius); padding: 28px; display: flex; flex-direction: column; gap: 10px; }
.cp-hk .cph58 { margin: 0; font-size: 22px; font-weight: 700; color: var(--teal); }
.cp-hk .cph59 { margin: 0; color: var(--muted-dark); }
.cp-hk .cph60 { margin: 0; font-size: 22px; font-weight: 700; color: var(--deep); }
.cp-hk .cph61 { max-width: 860px; margin: 0 auto; padding: 0 24px; display: flex; flex-direction: column; gap: 24px; }
.cp-hk .cph62 { background: var(--cream); border-radius: var(--radius); padding: 20px 24px; }
.cp-hk .cph63 { font-weight: 700; font-size: 18px; }
.cp-hk .cph64 { margin: 12px 0 0; color: var(--muted-dark); }
.cp-hk .cph65 { padding: 104px 0; background: var(--deep); color: var(--cream); }
.cp-hk .cph66 { max-width: 860px; margin: 0 auto; padding: 0 24px; display: flex; flex-direction: column; gap: 24px; align-items: center; text-align: center; }
.cp-hk .cph67 { margin: 0; font-weight: 700; font-size: clamp(32px, 4.8vw, 56px); line-height: 1.25; }
.cp-hk .cph68 { margin: 0; font-size: 19px; color: var(--cream-soft); }
.cp-hk .cph69 { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; }
.cp-hk .cph70 { background: var(--ink); color: var(--muted); font-size: 14px; }
.cp-hk .cph71 { max-width: 1200px; margin: 0 auto; padding: 32px 24px; display: flex; flex-wrap: wrap; gap: 16px; justify-content: space-between; }
.cp-hk .cph72 { margin: 0; }

/* ---- ai-video-usa ---- */
.cp-us { width: 100%; background: var(--cream); color: var(--deep); font-family: var(--font); font-size: 17px; line-height: 1.6; }
.cp-us a { color: var(--deep); }
.cp-us a:hover { color: var(--teal); }
.cp-us summary { cursor: pointer; list-style: none; }
.cp-us summary::-webkit-details-marker { display: none; }
.cp-us th, .cp-us td { text-align: left; vertical-align: top; }
.cp-us .cpu1 { padding: 80px 0 48px; }
.cp-us .cpu2 { max-width: 960px; margin: 0 auto; padding: 0 24px; display: flex; flex-direction: column; align-items: center; text-align: center; gap: 24px; }
.cp-us .cpu3 { margin: 0; display: inline-flex; border: 1px solid var(--line-dark); border-radius: var(--radius); padding: 6px 16px; font-size: 14px; font-weight: 600; color: var(--muted-dark); }
.cp-us .cpu4 { margin: 0; font-family: var(--font); font-weight: 700; font-size: clamp(40px, 6.4vw, 80px); line-height: 1; letter-spacing: -0.03em; }
.cp-us .cpu5 { margin: 0; font-size: 21px; line-height: 1.5; color: var(--muted-dark); max-width: 720px; }
.cp-us .cpu6 { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; }
.cp-us .cpu7 { background: var(--deep); color: var(--cream); text-decoration: none; border-radius: var(--radius); min-height: 44px; box-sizing: border-box; display: inline-flex; align-items: center; font-family: var(--mono); font-size: 12px; letter-spacing: 0.16em; text-transform: uppercase; font-weight: 500; padding: 1.05em 1.7em; transition: background 0.3s var(--ease), color 0.3s var(--ease), border-color 0.3s var(--ease); }
.cp-us .cpu7:hover, .cp-us .cpu7:focus-visible { background: var(--teal); color: var(--cream); border-color: var(--teal); }
.cp-us .cpu8 { border: 1.5px solid var(--deep); color: var(--deep); text-decoration: none; border-radius: var(--radius); min-height: 44px; box-sizing: border-box; display: inline-flex; align-items: center; font-family: var(--mono); font-size: 12px; letter-spacing: 0.16em; text-transform: uppercase; font-weight: 500; padding: 1.05em 1.7em; transition: background 0.3s var(--ease), color 0.3s var(--ease), border-color 0.3s var(--ease); }
.cp-us .cpu8:hover, .cp-us .cpu8:focus-visible { background: var(--deep); color: var(--cream); border-color: var(--deep); }
.cp-us .cpu9 { margin: 0; font-size: 14px; color: var(--muted-dark); }
.cp-us .cpu10 { padding: 0 0 64px; }
.cp-us .cpu11 { max-width: 1100px; margin: 0 auto; padding: 0 24px; display: flex; flex-direction: column; gap: 12px; }
.cp-us .cpu12 { margin: 0; font-size: 14px; color: var(--muted-dark); text-align: center; }
.cp-us .cpu13 { padding: 32px 0; background: var(--wash); border-top: 1px solid var(--line-dark); border-bottom: 1px solid var(--line-dark); }
.cp-us .cpu14 { max-width: 1200px; margin: 0 auto; padding: 0 24px; display: flex; flex-wrap: wrap; gap: 16px 40px; align-items: center; justify-content: center; }
.cp-us .cpu15 { margin: 0; font-size: 13px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: var(--muted-dark); }
.cp-us .cpu16 { padding: 96px 0; }
.cp-us .cpu17 { max-width: 1200px; margin: 0 auto; padding: 0 24px; display: flex; flex-direction: column; gap: 40px; }
.cp-us .cpu18 { max-width: 760px; display: flex; flex-direction: column; gap: 12px; }
.cp-us .cpu19 { margin: 0; font-size: 14px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: var(--teal); }
.cp-us .cpu20 { margin: 0; font-family: var(--font); font-weight: 700; font-size: clamp(30px, 4vw, 48px); line-height: 1.08; }
.cp-us .cpu21 { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 24px; }
.cp-us .cpu22 { border-top: 3px solid var(--deep); padding-top: 20px; display: flex; flex-direction: column; gap: 8px; }
.cp-us .cpu23 { margin: 0; font-family: var(--font); font-size: 22px; }
.cp-us .cpu24 { margin: 0; color: var(--muted-dark); }
.cp-us .cpu25 { margin: 0; font-size: 20px; font-weight: 600; max-width: 760px; }
.cp-us .cpu26 { padding: 96px 0; background: var(--deep); color: var(--cream); }
.cp-us .cpu27 { margin: 0; font-size: 19px; color: var(--cream-soft); }
.cp-us .cpu28 { overflow-x: auto; border-radius: var(--radius); border: 1px solid var(--line); }
.cp-us .cpu29 { width: 100%; min-width: 720px; border-collapse: collapse; font-size: 16px; }
.cp-us .cpu30 { background: var(--forest); }
.cp-us .cpu31 { padding: 18px 20px; font-weight: 600; color: var(--muted); }
.cp-us .cpu32 { padding: 18px 20px; font-weight: 600; color: var(--cream-soft); }
.cp-us .cpu33 { padding: 18px 20px; font-weight: 700; color: var(--deep); background: var(--lime); }
.cp-us .cpu34 { border-top: 1px solid var(--line); }
.cp-us .cpu35 { padding: 16px 20px; font-weight: 600; }
.cp-us .cpu36 { padding: 16px 20px; color: var(--cream-soft); }
.cp-us .cpu37 { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 20px; }
.cp-us .cpu38 { background: var(--wash); border: 1px solid var(--line-dark); border-radius: var(--radius); padding: 24px; display: flex; flex-direction: column; gap: 8px; }
.cp-us .cpu39 { margin: 0; font-family: var(--font); font-size: 20px; }
.cp-us .cpu40 { max-width: 1200px; margin: 0 auto; padding: 0 24px; display: flex; flex-direction: column; gap: 32px; }
.cp-us .cpu41 { margin: 0; font-size: 19px; color: var(--muted-dark); }
.cp-us .cpu42 { margin: 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 16px; }
.cp-us .cpu43 { border: 1px solid var(--line-dark); border-radius: var(--radius); padding: 20px; display: flex; flex-direction: column; gap: 4px; }
.cp-us .cpu44 { font-family: var(--font); font-weight: 700; font-size: 19px; color: var(--deep); text-decoration: none; }
.cp-us .cpu45 { color: var(--muted-dark); font-size: 15px; }
.cp-us .cpu46 { padding: 96px 0; background: var(--cream); }
.cp-us .cpu47 { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 24px; }
.cp-us .cpu48 { background: var(--cream); border: 1px solid var(--line-dark); border-radius: var(--radius); padding: 32px; display: flex; flex-direction: column; gap: 16px; }
.cp-us .cpu49 { margin: 0; font-family: var(--font); font-size: 26px; }
.cp-us .cpu50 { margin: 0; font-family: var(--font); font-weight: 700; font-size: 28px; }
.cp-us .cpu51 { margin: 0; padding-left: 20px; display: flex; flex-direction: column; gap: 8px; color: var(--muted-dark); }
.cp-us .cpu52 { margin-top: auto; border: 1.5px solid var(--deep); color: var(--deep); font-weight: 600; text-decoration: none; padding: 14px 20px; border-radius: var(--radius); text-align: center; min-height: 44px; box-sizing: border-box; }
.cp-us .cpu53 { background: var(--deep); color: var(--cream); border-radius: var(--radius); padding: 32px; display: flex; flex-direction: column; gap: 16px; }
.cp-us .cpu54 { margin: 0; align-self: flex-start; background: var(--lime); color: var(--deep); font-size: 13px; font-weight: 700; border-radius: var(--radius); padding: 4px 12px; }
.cp-us .cpu55 { margin: 0; color: var(--cream-soft); }
.cp-us .cpu56 { margin: 0; padding-left: 20px; display: flex; flex-direction: column; gap: 8px; color: var(--cream); }
.cp-us .cpu57 { margin-top: auto; background: var(--lime); color: var(--deep); font-weight: 600; text-decoration: none; padding: 14px 20px; border-radius: var(--radius); text-align: center; min-height: 44px; box-sizing: border-box; }
.cp-us .cpu58 { max-width: 1200px; margin: 0 auto; padding: 0 24px; display: flex; flex-wrap: wrap; gap: 48px; align-items: center; }
.cp-us .cpu59 { flex: 1 1 360px; min-width: 0; }
.cp-us .cpu60 { flex: 1 1 480px; min-width: 0; display: flex; flex-direction: column; gap: 16px; }
.cp-us .cpu61 { margin: 0; font-family: var(--font); font-weight: 700; font-size: clamp(30px, 4vw, 44px); line-height: 1.1; }
.cp-us .cpu62 { margin: 0; color: var(--muted-dark); }
.cp-us .cpu63 { margin: 0; font-family: var(--font); font-weight: 700; font-size: 18px; }
.cp-us .cpu64 { padding: 96px 0; background: var(--wash); border-top: 1px solid var(--line-dark); }
.cp-us .cpu65 { margin: 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 24px; }
.cp-us .cpu66 { display: flex; flex-direction: column; gap: 8px; }
.cp-us .cpu67 { width: 48px; height: 48px; border-radius: var(--radius); background: var(--deep); color: var(--cream); font-family: var(--font); font-weight: 700; display: flex; align-items: center; justify-content: center; }
.cp-us .cpu68 { max-width: 860px; margin: 0 auto; padding: 0 24px; display: flex; flex-direction: column; gap: 16px; }
.cp-us .cpu69 { margin: 0 0 8px; font-family: var(--font); font-weight: 700; font-size: clamp(30px, 4vw, 48px); line-height: 1.08; }
.cp-us .cpu70 { border-bottom: 1px solid var(--line-dark); padding: 20px 0; }
.cp-us .cpu71 { font-weight: 600; font-size: 18px; }
.cp-us .cpu72 { margin: 12px 0 0; color: var(--muted-dark); }
.cp-us .cpu73 { padding: 104px 0; background: var(--deep); color: var(--cream); }
.cp-us .cpu74 { max-width: 860px; margin: 0 auto; padding: 0 24px; display: flex; flex-direction: column; gap: 24px; align-items: center; text-align: center; }
.cp-us .cpu75 { margin: 0; font-family: var(--font); font-weight: 700; font-size: clamp(34px, 5vw, 64px); line-height: 1.02; }
.cp-us .cpu76 { background: var(--lime); color: var(--deep); text-decoration: none; border-radius: var(--radius); min-height: 44px; box-sizing: border-box; display: inline-flex; align-items: center; font-family: var(--mono); font-size: 12px; letter-spacing: 0.16em; text-transform: uppercase; font-weight: 500; padding: 1.05em 1.7em; transition: background 0.3s var(--ease), color 0.3s var(--ease), border-color 0.3s var(--ease); }
.cp-us .cpu76:hover, .cp-us .cpu76:focus-visible { background: var(--cream); color: var(--deep); border-color: var(--cream); }
.cp-us .cpu77 { border: 1.5px solid var(--line-strong); color: var(--cream); text-decoration: none; border-radius: var(--radius); min-height: 44px; box-sizing: border-box; display: inline-flex; align-items: center; font-family: var(--mono); font-size: 12px; letter-spacing: 0.16em; text-transform: uppercase; font-weight: 500; padding: 1.05em 1.7em; transition: background 0.3s var(--ease), color 0.3s var(--ease), border-color 0.3s var(--ease); }
.cp-us .cpu77:hover, .cp-us .cpu77:focus-visible { background: var(--cream); color: var(--deep); border-color: var(--cream); }
.cp-us .cpu78 { margin: 0; font-size: 14px; color: var(--muted); }
.cp-us .cpu79 { background: var(--ink); color: var(--muted); font-size: 14px; }
.cp-us .cpu80 { max-width: 1200px; margin: 0 auto; padding: 32px 24px; display: flex; flex-wrap: wrap; gap: 16px; justify-content: space-between; }
.cp-us .cpu81 { margin: 0; }

/* ---- ai-video-production-malaysia ---- */
.cp-my { width: 100%; background: var(--cream); color: var(--deep); font-family: var(--font); font-size: 17px; line-height: 1.6; }
.cp-my a { color: var(--deep); }
.cp-my a:hover { color: var(--teal); }
.cp-my summary { cursor: pointer; list-style: none; }
.cp-my summary::-webkit-details-marker { display: none; }
.cp-my th, .cp-my td { text-align: left; vertical-align: top; }
.cp-my .cpm1 { background: var(--deep); color: var(--cream); font-size: 14px; }
.cp-my .cpm2 { max-width: 1240px; margin: 0 auto; padding: 10px 24px; display: flex; flex-wrap: wrap; gap: 8px 24px; justify-content: space-between; }
.cp-my .cpm3 { color: var(--lime); font-weight: 700; text-decoration: none; }
.cp-my .cpm4 { padding: 72px 0 56px; }
.cp-my .cpm5 { max-width: 1240px; margin: 0 auto; padding: 0 24px; display: flex; flex-wrap: wrap; gap: 48px; align-items: center; }
.cp-my .cpm6 { flex: 1 1 520px; min-width: 0; display: flex; flex-direction: column; gap: 22px; }
.cp-my .cpm7 { margin: 0; display: inline-flex; align-self: flex-start; background: var(--mist); color: var(--deep); font-weight: 700; font-size: 14px; border-radius: var(--radius); padding: 6px 14px; }
.cp-my .cpm8 { margin: 0; font-family: var(--font); font-weight: 700; font-size: clamp(44px, 6.6vw, 86px); line-height: 0.98; letter-spacing: -0.03em; }
.cp-my .cpm9 { color: var(--teal); }
.cp-my .cpm10 { margin: 0; font-size: 20px; color: var(--muted-dark); max-width: 560px; }
.cp-my .cpm11 { display: flex; flex-wrap: wrap; gap: 12px; }
.cp-my .cpm12 { background: var(--deep); color: var(--cream); text-decoration: none; border-radius: var(--radius); min-height: 44px; box-sizing: border-box; display: inline-flex; align-items: center; font-family: var(--mono); font-size: 12px; letter-spacing: 0.16em; text-transform: uppercase; font-weight: 500; padding: 1.05em 1.7em; transition: background 0.3s var(--ease), color 0.3s var(--ease), border-color 0.3s var(--ease); }
.cp-my .cpm12:hover, .cp-my .cpm12:focus-visible { background: var(--teal); color: var(--cream); border-color: var(--teal); }
.cp-my .cpm13 { border: 2px solid var(--deep); color: var(--deep); text-decoration: none; border-radius: var(--radius); min-height: 44px; box-sizing: border-box; display: inline-flex; align-items: center; font-family: var(--mono); font-size: 12px; letter-spacing: 0.16em; text-transform: uppercase; font-weight: 500; padding: 1.05em 1.7em; transition: background 0.3s var(--ease), color 0.3s var(--ease), border-color 0.3s var(--ease); }
.cp-my .cpm13:hover, .cp-my .cpm13:focus-visible { background: var(--deep); color: var(--cream); border-color: var(--deep); }
.cp-my .cpm14 { flex: 1 1 520px; min-width: 0; display: flex; flex-direction: column; gap: 10px; }
.cp-my .cpm15 { padding: 0 0 64px; }
.cp-my .cpm16 { max-width: 1240px; margin: 0 auto; padding: 0 24px; }
.cp-my .cpm17 { background: var(--cream); border: 2px solid var(--deep); border-radius: var(--radius); padding: 28px; display: flex; flex-direction: column; gap: 16px; }
.cp-my .cpm18 { margin: 0; font-family: var(--font); font-weight: 700; font-size: 24px; }
.cp-my .cpm19 { display: flex; flex-wrap: wrap; gap: 10px; }
.cp-my .cpm20 { background: var(--cream); border: 1.5px solid var(--line-dark); border-radius: var(--radius); min-height: 44px; box-sizing: border-box; display: inline-flex; align-items: center; color: var(--deep); text-decoration: none; font-family: var(--mono); font-size: 12px; letter-spacing: 0.16em; text-transform: uppercase; font-weight: 500; padding: 1.05em 1.7em; transition: background 0.3s var(--ease), color 0.3s var(--ease), border-color 0.3s var(--ease); }
.cp-my .cpm20:hover, .cp-my .cpm20:focus-visible { background: var(--deep); color: var(--cream); border-color: var(--deep); }
.cp-my .cpm21 { background: var(--deep); color: var(--cream); padding: 48px 0; }
.cp-my .cpm22 { max-width: 1240px; margin: 0 auto; padding: 0 24px; display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 24px; }
.cp-my .cpm23 { margin: 0; font-family: var(--font); font-weight: 700; font-size: 56px; line-height: 1; color: var(--lime); }
.cp-my .cpm24 { margin: 6px 0 0; color: var(--cream-soft); }
.cp-my .cpm25 { padding: 88px 0; }
.cp-my .cpm26 { max-width: 1240px; margin: 0 auto; padding: 0 24px; display: flex; flex-direction: column; gap: 36px; }
.cp-my .cpm27 { margin: 0; font-family: var(--font); font-weight: 700; font-size: clamp(32px, 4.4vw, 54px); line-height: 1.05; letter-spacing: -0.02em; max-width: 820px; }
.cp-my .cpm28 { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 16px; }
.cp-my .cpm29 { background: var(--cream); border: 1px solid var(--line-dark); border-radius: var(--radius); padding: 22px; display: flex; flex-direction: column; gap: 8px; }
.cp-my .cpm30 { margin: 0; font-size: 13px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--teal); }
.cp-my .cpm31 { margin: 0; font-weight: 600; }
.cp-my .cpm32 { padding: 88px 0; background: var(--cream); border-top: 1px solid var(--line-dark); border-bottom: 1px solid var(--line-dark); }
.cp-my .cpm33 { display: flex; flex-wrap: wrap; gap: 12px 40px; align-items: flex-end; justify-content: space-between; }
.cp-my .cpm34 { margin: 0; font-family: var(--font); font-weight: 700; font-size: clamp(32px, 4.4vw, 54px); line-height: 1.05; letter-spacing: -0.02em; }
.cp-my .cpm35 { font-weight: 700; }
.cp-my .cpm36 { display: grid; grid-template-columns: repeat(auto-fit, minmax(270px, 1fr)); gap: 20px; }
.cp-my .cpm37 { display: flex; flex-direction: column; gap: 10px; }
.cp-my .cpm38 { margin: 0; font-size: 13px; font-weight: 700; color: var(--teal); }
.cp-my .cpm39 { margin: 0; font-size: 19px; font-weight: 700; }
.cp-my .cpm40 { padding: 96px 0; }
.cp-my .cpm41 { max-width: 1240px; margin: 0 auto; padding: 0 24px; display: flex; flex-direction: column; gap: 40px; }
.cp-my .cpm42 { max-width: 820px; display: flex; flex-direction: column; gap: 12px; }
.cp-my .cpm43 { margin: 0; font-size: 19px; color: var(--muted-dark); }
.cp-my .cpm44 { display: flex; flex-wrap: wrap; gap: 20px; }
.cp-my .cpm45 { flex: 1 1 340px; min-width: 0; background: var(--cream); border: 1px solid var(--line-dark); border-radius: var(--radius); padding: 32px; display: flex; flex-direction: column; gap: 14px; }
.cp-my .cpm46 { margin: 0; font-family: var(--font); font-weight: 700; font-size: 46px; line-height: 1; color: var(--line-dark); }
.cp-my .cpm47 { margin: 0; font-family: var(--font); font-size: 28px; font-weight: 700; }
.cp-my .cpm48 { margin: 0; padding-left: 20px; display: flex; flex-direction: column; gap: 8px; color: var(--muted-dark); }
.cp-my .cpm49 { flex: 1 1 340px; min-width: 0; background: var(--deep); color: var(--cream); border-radius: var(--radius); padding: 32px; display: flex; flex-direction: column; gap: 14px; }
.cp-my .cpm50 { margin: 0; font-family: var(--font); font-weight: 700; font-size: 46px; line-height: 1; color: var(--line); }
.cp-my .cpm51 { margin: 0; font-family: var(--font); font-size: 28px; font-weight: 700; color: var(--lime); }
.cp-my .cpm52 { margin: 0; padding-left: 20px; display: flex; flex-direction: column; gap: 8px; color: var(--cream); }
.cp-my .cpm53 { background: var(--mist); border-radius: var(--radius); padding: 24px 28px; display: flex; flex-wrap: wrap; gap: 12px 32px; align-items: center; justify-content: space-between; }
.cp-my .cpm54 { margin: 0; font-size: 18px; color: var(--deep); }
.cp-my .cpm55 { font-weight: 700; color: var(--deep); }
.cp-my .cpm56 { padding: 96px 0; background: var(--deep); color: var(--cream); }
.cp-my .cpm57 { max-width: 1240px; margin: 0 auto; padding: 0 24px; display: flex; flex-wrap: wrap; gap: 40px 64px; align-items: center; }
.cp-my .cpm58 { flex: 1 1 460px; min-width: 0; display: flex; flex-direction: column; gap: 18px; }
.cp-my .cpm59 { margin: 0; font-weight: 700; font-size: 14px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--lime); }
.cp-my .cpm60 { margin: 0; color: var(--cream-soft); font-size: 18px; }
.cp-my .cpm61 { align-self: flex-start; background: var(--lime); color: var(--deep); text-decoration: none; border-radius: var(--radius); min-height: 44px; box-sizing: border-box; display: inline-flex; align-items: center; font-family: var(--mono); font-size: 12px; letter-spacing: 0.16em; text-transform: uppercase; font-weight: 500; padding: 1.05em 1.7em; transition: background 0.3s var(--ease), color 0.3s var(--ease), border-color 0.3s var(--ease); }
.cp-my .cpm61:hover, .cp-my .cpm61:focus-visible { background: var(--cream); color: var(--deep); border-color: var(--cream); }
.cp-my .cpm62 { flex: 1 1 400px; min-width: 0; margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 12px; }
.cp-my .cpm63 { border: 1px solid var(--line); border-radius: var(--radius); padding: 18px 20px; }
.cp-my .cpm64 { color: var(--cream-soft); }
.cp-my .cpm65 { padding: 72px 0; }
.cp-my .cpm66 { max-width: 1240px; margin: 0 auto; padding: 0 24px; display: flex; flex-direction: column; gap: 20px; }
.cp-my .cpm67 { margin: 0; font-family: var(--font); font-weight: 700; font-size: clamp(28px, 3.4vw, 40px); line-height: 1.1; }
.cp-my .cpm68 { background: var(--cream); border: 1.5px solid var(--line-dark); border-radius: var(--radius); padding: 10px 18px; font-weight: 600; }
.cp-my .cpm69 { background: var(--deep); color: var(--cream); border-radius: var(--radius); padding: 10px 18px; font-weight: 700; }
.cp-my .cpm70 { padding: 96px 0; background: var(--cream); border-top: 1px solid var(--line-dark); border-bottom: 1px solid var(--line-dark); }
.cp-my .cpm71 { margin: 0; font-family: var(--font); font-weight: 700; font-size: clamp(32px, 4.4vw, 54px); line-height: 1.1; letter-spacing: -0.02em; }
.cp-my .cpm72 { font-family: var(--font), 'Noto Sans SC', sans-serif; font-weight: 700; }
.cp-my .cpm73 { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 28px; }
.cp-my .cpm74 { display: flex; flex-direction: column; gap: 8px; }
.cp-my .cpm75 { margin: 0; font-size: 20px; font-weight: 700; }
.cp-my .cpm76 { margin: 0; color: var(--muted-dark); }
.cp-my .cpm77 { margin: 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 20px; }
.cp-my .cpm78 { background: var(--cream); border: 1px solid var(--line-dark); border-radius: var(--radius); padding: 28px; display: flex; flex-direction: column; gap: 10px; }
.cp-my .cpm79 { width: 52px; height: 52px; border-radius: var(--radius); background: var(--lime); color: var(--deep); font-family: var(--font); font-weight: 700; font-size: 22px; display: flex; align-items: center; justify-content: center; }
.cp-my .cpm80 { margin: 0; font-size: 21px; font-weight: 700; }
.cp-my .cpm81 { padding: 96px 0; background: var(--cream); border-top: 1px solid var(--line-dark); }
.cp-my .cpm82 { max-width: 880px; margin: 0 auto; padding: 0 24px; display: flex; flex-direction: column; gap: 12px; }
.cp-my .cpm83 { margin: 0 0 16px; font-family: var(--font); font-weight: 700; font-size: clamp(32px, 4.4vw, 54px); line-height: 1.05; }
.cp-my .cpm84 { background: var(--cream); border: 1px solid var(--line-dark); border-radius: var(--radius); padding: 20px 24px; }
.cp-my .cpm85 { font-weight: 700; font-size: 18px; }
.cp-my .cpm86 { margin: 12px 0 0; color: var(--muted-dark); }
.cp-my .cpm87 { padding: 112px 0; background: var(--lime); color: var(--deep); }
.cp-my .cpm88 { flex: 2 1 560px; min-width: 0; display: flex; flex-direction: column; gap: 18px; }
.cp-my .cpm89 { margin: 0; font-family: var(--font); font-weight: 700; font-size: clamp(40px, 6vw, 80px); line-height: 0.98; letter-spacing: -0.03em; }
.cp-my .cpm90 { margin: 0; font-size: 20px; color: var(--deep); }
.cp-my .cpm91 { background: var(--deep); color: var(--cream); text-decoration: none; border-radius: var(--radius); min-height: 44px; box-sizing: border-box; display: inline-flex; align-items: center; font-family: var(--mono); font-size: 12px; letter-spacing: 0.16em; text-transform: uppercase; font-weight: 500; padding: 1.05em 1.7em; transition: background 0.3s var(--ease), color 0.3s var(--ease), border-color 0.3s var(--ease); }
.cp-my .cpm91:hover, .cp-my .cpm91:focus-visible { background: var(--teal); color: var(--cream); border-color: var(--teal); }
.cp-my .cpm92 { border: 2px solid var(--deep); color: var(--deep); text-decoration: none; border-radius: var(--radius); min-height: 44px; box-sizing: border-box; display: inline-flex; align-items: center; font-family: var(--mono); font-size: 12px; letter-spacing: 0.16em; text-transform: uppercase; font-weight: 500; padding: 1.05em 1.7em; transition: background 0.3s var(--ease), color 0.3s var(--ease), border-color 0.3s var(--ease); }
.cp-my .cpm92:hover, .cp-my .cpm92:focus-visible { background: var(--deep); color: var(--cream); border-color: var(--deep); }
.cp-my .cpm93 { flex: 1 1 300px; min-width: 0; font-style: normal; background: var(--cream); border-radius: var(--radius); padding: 28px; display: flex; flex-direction: column; gap: 10px; color: var(--deep); }
.cp-my .cpm94 { font-family: var(--font); font-size: 20px; }
.cp-my .cpm95 { background: var(--ink); color: var(--muted); font-size: 14px; }
.cp-my .cpm96 { max-width: 1240px; margin: 0 auto; padding: 32px 24px; display: flex; flex-wrap: wrap; gap: 16px; justify-content: space-between; }
.cp-my .cpm97 { margin: 0; }

/* ---- home ---- */
.cp-hm { width: 100%; background: var(--cream); color: var(--deep); font-family: var(--font); font-size: 17px; line-height: 1.6; }
.cp-hm a { color: var(--deep); }
.cp-hm a:hover { color: var(--teal); }
.cp-hm summary { cursor: pointer; list-style: none; }
.cp-hm summary::-webkit-details-marker { display: none; }
.cp-hm th, .cp-hm td { text-align: left; vertical-align: top; }
.cp-hm .cpx1 { padding: 72px 0 40px; }
.cp-hm .cpx2 { max-width: 1280px; margin: 0 auto; padding: 0 24px; display: flex; flex-wrap: wrap; gap: 48px; align-items: center; }
.cp-hm .cpx3 { flex: 3 1 560px; min-width: 0; display: flex; flex-direction: column; gap: 24px; }
.cp-hm .cpx4 { margin: 0; display: flex; flex-wrap: wrap; gap: 6px 14px; align-items: center; font-size: 15px; font-weight: 600; color: var(--teal); }
.cp-hm .cpx5 { font-family: var(--font), 'Noto Sans SC', sans-serif; }
.cp-hm .cpx6 { margin: 0; font-family: var(--font); font-weight: 700; font-size: clamp(42px, 6.2vw, 84px); line-height: 1.02; letter-spacing: -0.03em; }
.cp-hm .cpx7 { background: linear-gradient(transparent 62%, var(--lime) 62%); }
.cp-hm .cpx8 { margin: 0; font-size: 20px; color: var(--muted-dark); max-width: 640px; }
.cp-hm .cpx9 { display: flex; flex-wrap: wrap; gap: 12px; }
.cp-hm .cpx10 { background: var(--deep); color: var(--cream); text-decoration: none; border-radius: var(--radius); min-height: 44px; box-sizing: border-box; display: inline-flex; align-items: center; font-family: var(--mono); font-size: 12px; letter-spacing: 0.16em; text-transform: uppercase; font-weight: 500; padding: 1.05em 1.7em; transition: background 0.3s var(--ease), color 0.3s var(--ease), border-color 0.3s var(--ease); }
.cp-hm .cpx10:hover, .cp-hm .cpx10:focus-visible { background: var(--teal); color: var(--cream); border-color: var(--teal); }
.cp-hm .cpx11 { border: 2px solid var(--deep); color: var(--deep); text-decoration: none; border-radius: var(--radius); min-height: 44px; box-sizing: border-box; display: inline-flex; align-items: center; font-family: var(--mono); font-size: 12px; letter-spacing: 0.16em; text-transform: uppercase; font-weight: 500; padding: 1.05em 1.7em; transition: background 0.3s var(--ease), color 0.3s var(--ease), border-color 0.3s var(--ease); }
.cp-hm .cpx11:hover, .cp-hm .cpx11:focus-visible { background: var(--deep); color: var(--cream); border-color: var(--deep); }
.cp-hm .cpx12 { margin: 0; font-size: 16px; color: var(--muted-dark); }
.cp-hm .cpx13 { color: var(--teal); }
.cp-hm .cpx14 { flex: 2 1 360px; min-width: 0; display: flex; flex-direction: column; gap: 14px; }
.cp-hm .cpx15 { margin: 0; font-size: 14px; color: var(--muted-dark); }
.cp-hm .cpx16 { padding: 88px 0; }
.cp-hm .cpx17 { max-width: 1280px; margin: 0 auto; padding: 0 24px; display: flex; flex-direction: column; gap: 32px; }
.cp-hm .cpx18 { display: flex; flex-wrap: wrap; gap: 16px 48px; align-items: flex-end; justify-content: space-between; }
.cp-hm .cpx19 { max-width: 760px; display: flex; flex-direction: column; gap: 12px; }
.cp-hm .cpx20 { margin: 0; font-size: 13px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--teal); }
.cp-hm .cpx21 { margin: 0; font-family: var(--font); font-weight: 700; font-size: clamp(32px, 4.4vw, 56px); line-height: 1.04; letter-spacing: -0.02em; }
.cp-hm .cpx22 { margin: 0; color: var(--muted-dark); font-size: 18px; }
.cp-hm .cpx23 { background: var(--deep); color: var(--cream); text-decoration: none; border-radius: var(--radius); min-height: 44px; box-sizing: border-box; display: inline-flex; align-items: center; font-family: var(--mono); font-size: 12px; letter-spacing: 0.16em; text-transform: uppercase; font-weight: 500; padding: 1.05em 1.7em; transition: background 0.3s var(--ease), color 0.3s var(--ease), border-color 0.3s var(--ease); }
.cp-hm .cpx23:hover, .cp-hm .cpx23:focus-visible { background: var(--teal); color: var(--cream); border-color: var(--teal); }
.cp-hm .cpx24 { padding: 88px 0; background: var(--wash); border-top: 1px solid var(--line-dark); border-bottom: 1px solid var(--line-dark); }
.cp-hm .cpx25 { display: flex; flex-direction: column; gap: 10px; }
.cp-hm .cpx26 { margin: 0; font-family: var(--font); font-weight: 700; font-size: clamp(32px, 4.4vw, 52px); line-height: 1.05; letter-spacing: -0.02em; }
.cp-hm .cpx27 { padding: 88px 0; background: var(--deep); color: var(--cream); }
.cp-hm .cpx28 { max-width: 1280px; margin: 0 auto; padding: 0 24px; display: flex; flex-direction: column; gap: 40px; }
.cp-hm .cpx29 { margin: 0; font-size: 13px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--lime); }
.cp-hm .cpx30 { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 20px; }
.cp-hm .cpx31 { background: var(--lime); border-radius: var(--radius); padding: 32px; display: flex; flex-direction: column; gap: 14px; color: var(--deep); text-decoration: none; }
.cp-hm .cpx32 { font-size: 14px; font-weight: 600; color: var(--deep); }
.cp-hm .cpx33 { font-family: var(--font); font-weight: 700; font-size: 32px; line-height: 1.1; }
.cp-hm .cpx34 { color: var(--deep); }
.cp-hm .cpx35 { margin-top: auto; font-weight: 700; }
.cp-hm .cpx36 { padding: 96px 0; background: var(--wash); }
.cp-hm .cpx37 { max-width: 1280px; margin: 0 auto; padding: 0 24px; display: flex; flex-wrap: wrap; gap: 40px 72px; align-items: center; }
.cp-hm .cpx38 { flex: 1 1 460px; min-width: 0; display: flex; flex-direction: column; gap: 18px; }
.cp-hm .cpx39 { margin: 0; font-size: 13px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--deep); }
.cp-hm .cpx40 { margin: 0; font-family: var(--font); font-weight: 700; font-size: clamp(32px, 4.4vw, 54px); line-height: 1.04; letter-spacing: -0.02em; }
.cp-hm .cpx41 { margin: 0; font-size: 19px; color: var(--deep); }
.cp-hm .cpx42 { align-self: flex-start; background: var(--deep); color: var(--cream); text-decoration: none; border-radius: var(--radius); min-height: 44px; box-sizing: border-box; display: inline-flex; align-items: center; font-family: var(--mono); font-size: 12px; letter-spacing: 0.16em; text-transform: uppercase; font-weight: 500; padding: 1.05em 1.7em; transition: background 0.3s var(--ease), color 0.3s var(--ease), border-color 0.3s var(--ease); }
.cp-hm .cpx42:hover, .cp-hm .cpx42:focus-visible { background: var(--teal); color: var(--cream); border-color: var(--teal); }
.cp-hm .cpx43 { flex: 1 1 400px; min-width: 0; margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 14px; }
.cp-hm .cpx44 { background: var(--cream); border-radius: var(--radius); padding: 22px 24px; }
.cp-hm .cpx45 { font-size: 18px; }
.cp-hm .cpx46 { color: var(--deep); }
.cp-hm .cpx47 { padding: 96px 0; background: var(--wash); border-top: 1px solid var(--line-dark); border-bottom: 1px solid var(--line-dark); }
.cp-hm .cpx48 { max-width: 1280px; margin: 0 auto; padding: 0 24px; display: flex; flex-wrap: wrap; gap: 48px 72px; }
.cp-hm .cpx49 { flex: 1 1 340px; min-width: 0; display: flex; flex-direction: column; gap: 16px; }
.cp-hm .cpx50 { margin: 0; color: var(--muted-dark); }
.cp-hm .cpx51 { flex: 2 1 560px; min-width: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 28px; }
.cp-hm .cpx52 { display: flex; flex-direction: column; gap: 8px; }
.cp-hm .cpx53 { margin: 0; font-size: 20px; font-weight: 700; }
.cp-hm .cpx54 { max-width: 1280px; margin: 0 auto; padding: 0 24px; display: flex; flex-direction: column; gap: 28px; }
.cp-hm .cpx55 { margin: 0; font-family: var(--font); font-weight: 700; font-size: clamp(30px, 4vw, 48px); line-height: 1.05; letter-spacing: -0.02em; }
.cp-hm .cpx56 { display: flex; flex-wrap: wrap; gap: 10px; }
.cp-hm .cpx57 { background: var(--deep); color: var(--cream); border-radius: var(--radius); min-height: 44px; box-sizing: border-box; display: inline-flex; align-items: center; text-decoration: none; font-family: var(--mono); font-size: 12px; letter-spacing: 0.16em; text-transform: uppercase; font-weight: 500; padding: 1.05em 1.7em; transition: background 0.3s var(--ease), color 0.3s var(--ease), border-color 0.3s var(--ease); }
.cp-hm .cpx57:hover, .cp-hm .cpx57:focus-visible { background: var(--teal); color: var(--cream); border-color: var(--teal); }
.cp-hm .cpx58 { border: 1.5px solid var(--line-dark); color: var(--deep); border-radius: var(--radius); min-height: 44px; box-sizing: border-box; display: inline-flex; align-items: center; text-decoration: none; font-family: var(--mono); font-size: 12px; letter-spacing: 0.16em; text-transform: uppercase; font-weight: 500; padding: 1.05em 1.7em; transition: background 0.3s var(--ease), color 0.3s var(--ease), border-color 0.3s var(--ease); }
.cp-hm .cpx58:hover, .cp-hm .cpx58:focus-visible { background: var(--deep); color: var(--cream); border-color: var(--deep); }
.cp-hm .cpx59 { padding: 88px 0; background: var(--wash); border-top: 1px solid var(--line-dark); }
.cp-hm .cpx60 { display: flex; flex-wrap: wrap; gap: 12px 32px; align-items: flex-end; justify-content: space-between; }
.cp-hm .cpx61 { font-weight: 700; }
.cp-hm .cpx62 { max-width: 1280px; margin: 0 auto; padding: 0 24px; display: flex; flex-direction: column; gap: 24px; }
.cp-hm .cpx63 { background: var(--cream); border: 1px solid var(--line-dark); border-radius: var(--radius); min-height: 44px; box-sizing: border-box; display: inline-flex; align-items: center; color: var(--deep); text-decoration: none; font-family: var(--mono); font-size: 12px; letter-spacing: 0.16em; text-transform: uppercase; font-weight: 500; padding: 1.05em 1.7em; transition: background 0.3s var(--ease), color 0.3s var(--ease), border-color 0.3s var(--ease); }
.cp-hm .cpx63:hover, .cp-hm .cpx63:focus-visible { background: var(--deep); color: var(--cream); border-color: var(--deep); }
.cp-hm .cpx64 { padding: 96px 0; background: var(--wash); border-top: 1px solid var(--line-dark); }
.cp-hm .cpx65 { max-width: 880px; margin: 0 auto; padding: 0 24px; display: flex; flex-direction: column; gap: 10px; }
.cp-hm .cpx66 { margin: 0 0 16px; font-family: var(--font); font-weight: 700; font-size: clamp(30px, 4vw, 48px); line-height: 1.05; letter-spacing: -0.02em; }
.cp-hm .cpx67 { border-bottom: 1px solid var(--line-dark); padding: 18px 0; }
.cp-hm .cpx68 { font-weight: 700; font-size: 18px; }
.cp-hm .cpx69 { margin: 12px 0 0; color: var(--muted-dark); }
.cp-hm .cpx70 { padding: 104px 0; background: var(--deep); color: var(--cream); }
.cp-hm .cpx71 { flex: 1 1 400px; min-width: 0; display: flex; flex-direction: column; gap: 20px; }
.cp-hm .cpx72 { margin: 0; font-family: var(--font); font-weight: 700; font-size: clamp(38px, 5.4vw, 72px); line-height: 1; letter-spacing: -0.03em; }
.cp-hm .cpx73 { color: var(--lime); }
.cp-hm .cpx74 { margin: 0; font-size: 19px; color: var(--cream-soft); }
.cp-hm .cpx75 { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 12px; font-size: 17px; }
.cp-hm .cpx76 { color: var(--lime); font-weight: 700; }
.cp-hm .cpx77 { color: var(--cream); }
.cp-hm .cpx78 { color: var(--cream-soft); }
.cp-hm .cpx79 { flex: 1 1 460px; min-width: 0; background: var(--cream); color: var(--deep); border-radius: var(--radius); padding: 32px; display: flex; flex-direction: column; gap: 16px; }
.cp-hm .cpx80 { display: flex; flex-wrap: wrap; gap: 16px; }
.cp-hm .cpx81 { flex: 1 1 200px; display: flex; flex-direction: column; gap: 6px; font-size: 14px; font-weight: 600; }
.cp-hm .cpx82 { border: 1.5px solid var(--line-dark); border-radius: var(--radius); padding: 12px 14px; min-height: 44px; box-sizing: border-box; }
.cp-hm .cpx83 { border: 1.5px solid var(--line-dark); border-radius: var(--radius); padding: 12px 14px; min-height: 44px; box-sizing: border-box; background: var(--cream); }
.cp-hm .cpx84 { display: flex; flex-direction: column; gap: 6px; font-size: 14px; font-weight: 600; }
.cp-hm .cpx85 { border: 1.5px solid var(--line-dark); border-radius: var(--radius); padding: 12px 14px; resize: vertical; }
.cp-hm .cpx86 { background: var(--deep); color: var(--cream); border: 0; border-radius: var(--radius); padding: 16px 28px; min-height: 48px; font-weight: 700; font-size: 17px; cursor: pointer; }

/* ---- ai-video-uk ---- */
.cp-uk { width: 100%; background: var(--cream); color: var(--deep); font-family: var(--font); font-size: 17px; line-height: 1.65; }
.cp-uk a { color: var(--deep); }
.cp-uk a:hover { color: var(--teal); }
.cp-uk summary { cursor: pointer; list-style: none; }
.cp-uk summary::-webkit-details-marker { display: none; }
.cp-uk th, .cp-uk td { text-align: left; vertical-align: top; }
.cp-uk .cpk1 { padding: 96px 0 56px; }
.cp-uk .cpk2 { max-width: 1180px; margin: 0 auto; padding: 0 24px; display: flex; flex-direction: column; gap: 28px; }
.cp-uk .cpk3 { margin: 0; font-size: 14px; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: var(--teal); }
.cp-uk .cpk4 { margin: 0; font-family: var(--font); font-weight: 700; font-size: clamp(48px, 8vw, 112px); line-height: 0.98; letter-spacing: -0.01em; max-width: 1000px; }
.cp-uk .cpk5 { color: var(--teal); }
.cp-uk .cpk6 { display: flex; flex-wrap: wrap; gap: 24px 64px; align-items: flex-end; justify-content: space-between; }
.cp-uk .cpk7 { margin: 0; font-size: 20px; color: var(--muted-dark); max-width: 560px; flex: 1 1 420px; }
.cp-uk .cpk8 { display: flex; flex-wrap: wrap; gap: 12px; }
.cp-uk .cpk9 { background: var(--deep); color: var(--cream); text-decoration: none; border-radius: var(--radius); min-height: 44px; box-sizing: border-box; display: inline-flex; align-items: center; font-family: var(--mono); font-size: 12px; letter-spacing: 0.16em; text-transform: uppercase; font-weight: 500; padding: 1.05em 1.7em; transition: background 0.3s var(--ease), color 0.3s var(--ease), border-color 0.3s var(--ease); }
.cp-uk .cpk9:hover, .cp-uk .cpk9:focus-visible { background: var(--teal); color: var(--cream); border-color: var(--teal); }
.cp-uk .cpk10 { color: var(--deep); font-weight: 600; padding: 16px 8px; min-height: 44px; box-sizing: border-box; display: inline-flex; align-items: center; }
.cp-uk .cpk11 { padding: 0 0 72px; }
.cp-uk .cpk12 { max-width: 1180px; margin: 0 auto; padding: 0 24px; display: flex; flex-direction: column; gap: 12px; }
.cp-uk .cpk13 { margin: 0; font-size: 14px; color: var(--muted-dark); font-style: italic; }
.cp-uk .cpk14 { padding: 40px 0; border-top: 1px solid var(--line-dark); border-bottom: 1px solid var(--line-dark); }
.cp-uk .cpk15 { max-width: 1180px; margin: 0 auto; padding: 0 24px; display: flex; flex-wrap: wrap; gap: 16px 48px; align-items: center; }
.cp-uk .cpk16 { margin: 0; font-family: var(--font); font-size: 24px; font-style: italic; color: var(--muted-dark); }
.cp-uk .cpk17 { padding: 104px 0; }
.cp-uk .cpk18 { max-width: 1180px; margin: 0 auto; padding: 0 24px; display: flex; flex-wrap: wrap; gap: 48px 80px; }
.cp-uk .cpk19 { flex: 1 1 320px; min-width: 0; display: flex; flex-direction: column; gap: 16px; }
.cp-uk .cpk20 { margin: 0; font-family: var(--font); font-weight: 700; font-size: clamp(36px, 4.6vw, 60px); line-height: 1.05; }
.cp-uk .cpk21 { margin: 0; color: var(--muted-dark); }
.cp-uk .cpk22 { flex: 2 1 520px; min-width: 0; margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; }
.cp-uk .cpk23 { padding: 28px 0; border-top: 1px solid var(--line-dark); display: flex; gap: 24px; }
.cp-uk .cpk24 { font-family: var(--font); font-size: 40px; line-height: 1; color: var(--teal); min-width: 44px; }
.cp-uk .cpk25 { display: flex; flex-direction: column; gap: 6px; }
.cp-uk .cpk26 { margin: 0; font-size: 20px; font-weight: 600; }
.cp-uk .cpk27 { padding: 28px 0; border-top: 1px solid var(--line-dark); border-bottom: 1px solid var(--line-dark); display: flex; gap: 24px; }
.cp-uk .cpk28 { padding: 104px 0; background: var(--deep); color: var(--cream); }
.cp-uk .cpk29 { max-width: 1180px; margin: 0 auto; padding: 0 24px; display: flex; flex-direction: column; gap: 48px; }
.cp-uk .cpk30 { display: flex; flex-wrap: wrap; gap: 16px 48px; align-items: flex-end; justify-content: space-between; }
.cp-uk .cpk31 { margin: 0; color: var(--cream-soft); max-width: 460px; }
.cp-uk .cpk32 { margin: 0; display: flex; flex-direction: column; }
.cp-uk .cpk33 { padding: 28px 0; border-top: 1px solid var(--line); display: flex; flex-wrap: wrap; gap: 8px 40px; }
.cp-uk .cpk34 { flex: 1 1 300px; font-family: var(--font); font-size: 30px; line-height: 1.15; }
.cp-uk .cpk35 { flex: 2 1 460px; margin: 0; color: var(--cream-soft); }
.cp-uk .cpk36 { color: var(--lime); }
.cp-uk .cpk37 { padding: 28px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); display: flex; flex-wrap: wrap; gap: 8px 40px; }
.cp-uk .cpk38 { max-width: 1180px; margin: 0 auto; padding: 0 24px; display: flex; flex-direction: column; gap: 40px; }
.cp-uk .cpk39 { margin: 0; font-family: var(--font); font-weight: 700; font-size: clamp(36px, 4.6vw, 60px); line-height: 1.05; max-width: 760px; }
.cp-uk .cpk40 { display: flex; flex-wrap: wrap; gap: 24px 64px; }
.cp-uk .cpk41 { flex: 1 1 400px; min-width: 0; display: flex; flex-direction: column; gap: 16px; }
.cp-uk .cpk42 { margin: 0; font-size: 18px; font-weight: 600; color: var(--teal); }
.cp-uk .cpk43 { margin: 0; padding-left: 20px; display: flex; flex-direction: column; gap: 10px; color: var(--muted-dark); }
.cp-uk .cpk44 { margin: 0; font-size: 18px; font-weight: 600; color: var(--deep); }
.cp-uk .cpk45 { margin: 0; font-size: 15px; color: var(--muted-dark); }
.cp-uk .cpk46 { padding: 72px 0; border-top: 1px solid var(--line-dark); border-bottom: 1px solid var(--line-dark); }
.cp-uk .cpk47 { max-width: 1180px; margin: 0 auto; padding: 0 24px; display: flex; flex-wrap: wrap; gap: 24px 64px; align-items: center; }
.cp-uk .cpk48 { flex: 1 1 340px; min-width: 0; display: flex; flex-direction: column; gap: 8px; }
.cp-uk .cpk49 { margin: 0; font-family: var(--font); font-weight: 700; font-size: clamp(30px, 3.6vw, 44px); line-height: 1.1; }
.cp-uk .cpk50 { flex: 2 1 520px; min-width: 0; margin: 0; font-family: var(--font); font-size: 24px; line-height: 1.5; color: var(--muted-dark); }
.cp-uk .cpk51 { color: var(--teal); font-style: italic; }
.cp-uk .cpk52 { flex: 2 1 520px; min-width: 0; margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 28px; }
.cp-uk .cpk53 { display: flex; gap: 20px; }
.cp-uk .cpk54 { font-size: 14px; font-weight: 600; color: var(--teal); min-width: 32px; padding-top: 3px; }
.cp-uk .cpk55 { font-size: 18px; }
.cp-uk .cpk56 { margin: 4px 0 0; color: var(--muted-dark); }
.cp-uk .cpk57 { padding: 104px 0; background: var(--wash); }
.cp-uk .cpk58 { max-width: 860px; margin: 0 auto; padding: 0 24px; display: flex; flex-direction: column; gap: 8px; }
.cp-uk .cpk59 { margin: 0 0 24px; font-family: var(--font); font-weight: 700; font-size: clamp(36px, 4.6vw, 60px); line-height: 1.05; }
.cp-uk .cpk60 { border-top: 1px solid var(--line-dark); padding: 22px 0; }
.cp-uk .cpk61 { font-weight: 600; font-size: 18px; }
.cp-uk .cpk62 { margin: 12px 0 0; color: var(--muted-dark); }
.cp-uk .cpk63 { border-top: 1px solid var(--line-dark); border-bottom: 1px solid var(--line-dark); padding: 22px 0; }
.cp-uk .cpk64 { padding: 120px 0; background: var(--deep); color: var(--cream); }
.cp-uk .cpk65 { max-width: 900px; margin: 0 auto; padding: 0 24px; display: flex; flex-direction: column; gap: 24px; align-items: center; text-align: center; }
.cp-uk .cpk66 { margin: 0; font-family: var(--font); font-weight: 700; font-size: clamp(42px, 6vw, 80px); line-height: 1.02; }
.cp-uk .cpk67 { margin: 0; font-size: 19px; color: var(--cream-soft); }
.cp-uk .cpk68 { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; }
.cp-uk .cpk69 { background: var(--wash); color: var(--deep); text-decoration: none; border-radius: var(--radius); min-height: 44px; box-sizing: border-box; display: inline-flex; align-items: center; font-family: var(--mono); font-size: 12px; letter-spacing: 0.16em; text-transform: uppercase; font-weight: 500; padding: 1.05em 1.7em; transition: background 0.3s var(--ease), color 0.3s var(--ease), border-color 0.3s var(--ease); }
.cp-uk .cpk69:hover, .cp-uk .cpk69:focus-visible { background: var(--deep); color: var(--cream); border-color: var(--deep); }
.cp-uk .cpk70 { border: 1.5px solid var(--line-strong); color: var(--cream); text-decoration: none; border-radius: var(--radius); min-height: 44px; box-sizing: border-box; display: inline-flex; align-items: center; font-family: var(--mono); font-size: 12px; letter-spacing: 0.16em; text-transform: uppercase; font-weight: 500; padding: 1.05em 1.7em; transition: background 0.3s var(--ease), color 0.3s var(--ease), border-color 0.3s var(--ease); }
.cp-uk .cpk70:hover, .cp-uk .cpk70:focus-visible { background: var(--cream); color: var(--deep); border-color: var(--cream); }
.cp-uk .cpk71 { margin: 0; font-size: 15px; color: var(--muted); font-style: italic; }
.cp-uk .cpk72 { background: var(--ink); color: var(--muted); font-size: 14px; }
.cp-uk .cpk73 { max-width: 1180px; margin: 0 auto; padding: 32px 24px; display: flex; flex-wrap: wrap; gap: 16px; justify-content: space-between; }
.cp-uk .cpk74 { margin: 0; }

/* ---- ai-video-asia ---- */
.cp-as { width: 100%; background: var(--ink); color: var(--cream); font-family: var(--font); font-size: 17px; line-height: 1.65; }
.cp-as a { color: var(--deep); }
.cp-as a:hover { color: var(--teal); }
.cp-as summary { cursor: pointer; list-style: none; }
.cp-as summary::-webkit-details-marker { display: none; }
.cp-as th, .cp-as td { text-align: left; vertical-align: top; }
.cp-as .cpt1 { padding: 96px 0 64px; }
.cp-as .cpt2 { max-width: 1040px; margin: 0 auto; padding: 0 24px; display: flex; flex-direction: column; align-items: center; text-align: center; gap: 26px; }
.cp-as .cpt3 { margin: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 6px 14px; font-size: 13px; font-weight: 600; letter-spacing: 0.18em; color: var(--muted); }
.cp-as .cpt4 { margin: 0; font-weight: 700; font-size: clamp(42px, 6.6vw, 88px); line-height: 1.02; letter-spacing: -0.03em; }
.cp-as .cpt5 { color: var(--lime); }
.cp-as .cpt6 { margin: 0; font-size: 20px; color: var(--muted); max-width: 760px; }
.cp-as .cpt7 { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; }
.cp-as .cpt8 { background: var(--lime); color: var(--deep); text-decoration: none; border-radius: var(--radius); min-height: 44px; box-sizing: border-box; display: inline-flex; align-items: center; font-family: var(--mono); font-size: 12px; letter-spacing: 0.16em; text-transform: uppercase; font-weight: 500; padding: 1.05em 1.7em; transition: background 0.3s var(--ease), color 0.3s var(--ease), border-color 0.3s var(--ease); }
.cp-as .cpt8:hover, .cp-as .cpt8:focus-visible { background: var(--cream); color: var(--deep); border-color: var(--cream); }
.cp-as .cpt9 { border: 1.5px solid var(--line); color: var(--cream); text-decoration: none; border-radius: var(--radius); min-height: 44px; box-sizing: border-box; display: inline-flex; align-items: center; font-family: var(--mono); font-size: 12px; letter-spacing: 0.16em; text-transform: uppercase; font-weight: 500; padding: 1.05em 1.7em; transition: background 0.3s var(--ease), color 0.3s var(--ease), border-color 0.3s var(--ease); }
.cp-as .cpt9:hover, .cp-as .cpt9:focus-visible { background: var(--cream); color: var(--deep); border-color: var(--cream); }
.cp-as .cpt10 { padding: 0 0 80px; }
.cp-as .cpt11 { max-width: 1240px; margin: 0 auto; padding: 0 24px; display: flex; flex-direction: column; gap: 12px; }
.cp-as .cpt12 { margin: 0; font-size: 14px; color: var(--muted); text-align: center; }
.cp-as .cpt13 { padding: 56px 0; background: var(--forest); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.cp-as .cpt14 { max-width: 1240px; margin: 0 auto; padding: 0 24px; display: flex; flex-direction: column; gap: 36px; }
.cp-as .cpt15 { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 24px; }
.cp-as .cpt16 { margin: 0; font-weight: 700; font-size: 48px; line-height: 1; color: var(--lime); }
.cp-as .cpt17 { margin: 8px 0 0; color: var(--muted); }
.cp-as .cpt18 { display: flex; flex-direction: column; gap: 14px; }
.cp-as .cpt19 { margin: 0; font-size: 13px; font-weight: 600; letter-spacing: 0.16em; color: var(--muted); }
.cp-as .cpt20 { padding: 112px 0; }
.cp-as .cpt21 { max-width: 1240px; margin: 0 auto; padding: 0 24px; display: flex; flex-direction: column; gap: 56px; }
.cp-as .cpt22 { max-width: 780px; display: flex; flex-direction: column; gap: 14px; }
.cp-as .cpt23 { margin: 0; font-size: 13px; font-weight: 600; letter-spacing: 0.16em; color: var(--lime); }
.cp-as .cpt24 { margin: 0; font-weight: 700; font-size: clamp(32px, 4.4vw, 56px); line-height: 1.08; letter-spacing: -0.02em; }
.cp-as .cpt25 { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 24px; }
.cp-as .cpt26 { background: var(--forest); border: 1px solid var(--line); border-radius: var(--radius); padding: 32px; display: flex; flex-direction: column; gap: 12px; }
.cp-as .cpt27 { margin: 0; font-weight: 700; font-size: 40px; line-height: 1; color: var(--line-strong); }
.cp-as .cpt28 { margin: 0; font-size: 22px; font-weight: 700; }
.cp-as .cpt29 { margin: 0; color: var(--muted); }
.cp-as .cpt30 { padding: 112px 0; background: var(--wash); color: var(--deep); }
.cp-as .cpt31 { max-width: 1240px; margin: 0 auto; padding: 0 24px; display: flex; flex-direction: column; gap: 48px; }
.cp-as .cpt32 { margin: 0; font-size: 13px; font-weight: 600; letter-spacing: 0.16em; color: var(--teal); }
.cp-as .cpt33 { margin: 0; padding: 0; list-style: none; display: flex; flex-wrap: wrap; gap: 16px; align-items: stretch; }
.cp-as .cpt34 { flex: 1 1 260px; min-width: 0; background: var(--cream); border: 1px solid var(--line-dark); border-radius: var(--radius); padding: 28px; display: flex; flex-direction: column; gap: 10px; }
.cp-as .cpt35 { font-size: 13px; font-weight: 700; color: var(--teal); }
.cp-as .cpt36 { font-size: 22px; }
.cp-as .cpt37 { color: var(--muted-dark); }
.cp-as .cpt38 { flex: 0 0 auto; display: flex; align-items: center; justify-content: center; font-size: 28px; color: var(--teal); padding: 0 4px; }
.cp-as .cpt39 { flex: 1 1 260px; min-width: 0; background: var(--deep); color: var(--cream); border-radius: var(--radius); padding: 28px; display: flex; flex-direction: column; gap: 10px; }
.cp-as .cpt40 { font-size: 13px; font-weight: 700; color: var(--lime); }
.cp-as .cpt41 { color: var(--cream-soft); }
.cp-as .cpt42 { margin: 0; font-weight: 700; }
.cp-as .cpt43 { display: flex; flex-wrap: wrap; gap: 10px; }
.cp-as .cpt44 { background: var(--cream); border: 1px solid var(--line-dark); border-radius: var(--radius); padding: 8px 18px; font-weight: 600; font-size: 15px; }
.cp-as .cpt45 { background: var(--deep); color: var(--cream); border-radius: var(--radius); padding: 8px 18px; font-weight: 600; font-size: 15px; }
.cp-as .cpt46 { display: flex; flex-wrap: wrap; gap: 16px 48px; align-items: flex-end; justify-content: space-between; }
.cp-as .cpt47 { max-width: 680px; display: flex; flex-direction: column; gap: 14px; }
.cp-as .cpt48 { margin: 0; color: var(--muted); max-width: 420px; }
.cp-as .cpt49 { display: grid; grid-template-columns: repeat(auto-fit, minmax(270px, 1fr)); gap: 1px; background: var(--forest); border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; }
.cp-as .cpt50 { background: var(--ink); padding: 28px; display: flex; flex-direction: column; gap: 8px; }
.cp-as .cpt51 { margin: 0; font-size: 19px; font-weight: 700; }
.cp-as .cpt52 { margin: 0; color: var(--muted); font-size: 15px; }
.cp-as .cpt53 { padding: 88px 0; background: var(--forest); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.cp-as .cpt54 { max-width: 1240px; margin: 0 auto; padding: 0 24px; display: flex; flex-wrap: wrap; gap: 32px 64px; align-items: center; }
.cp-as .cpt55 { flex: 1 1 360px; min-width: 0; display: flex; flex-direction: column; gap: 10px; }
.cp-as .cpt56 { margin: 0; font-weight: 700; font-size: clamp(28px, 3.4vw, 42px); line-height: 1.12; }
.cp-as .cpt57 { flex: 2 1 560px; min-width: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 10px; }
.cp-as .cpt58 { border: 1px solid var(--line); border-radius: var(--radius); padding: 14px 16px; font-weight: 600; }
.cp-as .cpt59 { border: 1px solid var(--lime); color: var(--lime); border-radius: var(--radius); padding: 14px 16px; font-weight: 700; }
.cp-as .cpt60 { border: 1px solid var(--line); border-radius: var(--radius); padding: 32px; display: flex; flex-direction: column; gap: 14px; }
.cp-as .cpt61 { margin: 0; font-size: 24px; font-weight: 700; }
.cp-as .cpt62 { margin-top: auto; font-weight: 700; }
.cp-as .cpt63 { background: var(--deep); border: 1px solid var(--lime); border-radius: var(--radius); padding: 32px; display: flex; flex-direction: column; gap: 14px; }
.cp-as .cpt64 { margin: 0; color: var(--cream-soft); }
.cp-as .cpt65 { padding: 96px 0; background: var(--wash); color: var(--deep); }
.cp-as .cpt66 { max-width: 1240px; margin: 0 auto; padding: 0 24px; display: flex; flex-direction: column; gap: 32px; }
.cp-as .cpt67 { display: flex; flex-direction: column; gap: 10px; }
.cp-as .cpt68 { margin: 0; font-weight: 700; font-size: clamp(30px, 4vw, 48px); line-height: 1.1; }
.cp-as .cpt69 { margin: 0; color: var(--muted-dark); }
.cp-as .cpt70 { margin: 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px; }
.cp-as .cpt71 { display: flex; justify-content: space-between; align-items: center; background: var(--cream); border: 1px solid var(--line-dark); border-radius: var(--radius); padding: 18px 20px; min-height: 44px; box-sizing: border-box; color: var(--deep); font-weight: 700; text-decoration: none; }
.cp-as .cpt72 { max-width: 880px; margin: 0 auto; padding: 0 24px; display: flex; flex-direction: column; gap: 12px; }
.cp-as .cpt73 { margin: 0 0 16px; font-weight: 700; font-size: clamp(30px, 4vw, 48px); line-height: 1.1; }
.cp-as .cpt74 { background: var(--forest); border: 1px solid var(--line); border-radius: var(--radius); padding: 20px 24px; }
.cp-as .cpt75 { font-weight: 700; font-size: 18px; }
.cp-as .cpt76 { margin: 12px 0 0; color: var(--muted); }
.cp-as .cpt77 { padding: 128px 0; background: var(--deep); }
.cp-as .cpt78 { max-width: 960px; margin: 0 auto; padding: 0 24px; display: flex; flex-direction: column; gap: 24px; align-items: center; text-align: center; }
.cp-as .cpt79 { margin: 0; font-weight: 700; font-size: clamp(36px, 5.4vw, 72px); line-height: 1.04; letter-spacing: -0.02em; }
.cp-as .cpt80 { margin: 0; font-size: 19px; color: var(--cream-soft); max-width: 640px; }
.cp-as .cpt81 { border: 1.5px solid var(--line-strong); color: var(--cream); text-decoration: none; border-radius: var(--radius); min-height: 44px; box-sizing: border-box; display: inline-flex; align-items: center; font-family: var(--mono); font-size: 12px; letter-spacing: 0.16em; text-transform: uppercase; font-weight: 500; padding: 1.05em 1.7em; transition: background 0.3s var(--ease), color 0.3s var(--ease), border-color 0.3s var(--ease); }
.cp-as .cpt81:hover, .cp-as .cpt81:focus-visible { background: var(--cream); color: var(--deep); border-color: var(--cream); }
.cp-as .cpt82 { margin: 0; font-size: 15px; color: var(--muted); }
.cp-as .cpt83 { background: var(--ink); color: var(--muted); font-size: 14px; }
.cp-as .cpt84 { max-width: 1240px; margin: 0 auto; padding: 32px 24px; display: flex; flex-wrap: wrap; gap: 16px; justify-content: space-between; }
.cp-as .cpt85 { margin: 0; }

/* ---- services ---- */
.cp-sv { width: 100%; background: var(--cream); color: var(--deep); font-family: var(--font); font-size: 17px; line-height: 1.6; }
.cp-sv a { color: var(--deep); }
.cp-sv a:hover { color: var(--teal); }
.cp-sv summary { cursor: pointer; list-style: none; }
.cp-sv summary::-webkit-details-marker { display: none; }
.cp-sv th, .cp-sv td { text-align: left; vertical-align: top; }
.cp-sv .cpv1 { padding: 80px 0 56px; background: var(--deep); color: var(--cream); }
.cp-sv .cpv2 { max-width: 1280px; margin: 0 auto; padding: 0 24px; display: flex; flex-direction: column; gap: 28px; }
.cp-sv .cpv3 { margin: 0; font-size: 13px; font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase; color: var(--lime); }
.cp-sv .cpv4 { margin: 0; font-family: var(--font); font-weight: 700; font-size: clamp(42px, 6.4vw, 88px); line-height: 1; letter-spacing: -0.03em; max-width: 1040px; }
.cp-sv .cpv5 { margin: 0; font-size: 20px; color: var(--cream-soft); max-width: 720px; }
.cp-sv .cpv6 { display: flex; flex-wrap: wrap; gap: 10px; }
.cp-sv .cpv7 { border: 1px solid var(--line); color: var(--cream); border-radius: var(--radius); min-height: 44px; box-sizing: border-box; display: inline-flex; align-items: center; text-decoration: none; font-family: var(--mono); font-size: 12px; letter-spacing: 0.16em; text-transform: uppercase; font-weight: 500; padding: 1.05em 1.7em; transition: background 0.3s var(--ease), color 0.3s var(--ease), border-color 0.3s var(--ease); }
.cp-sv .cpv7:hover, .cp-sv .cpv7:focus-visible { background: var(--cream); color: var(--deep); border-color: var(--cream); }
.cp-sv .cpv8 { border: 1px solid var(--lime); color: var(--lime); border-radius: var(--radius); min-height: 44px; box-sizing: border-box; display: inline-flex; align-items: center; text-decoration: none; font-family: var(--mono); font-size: 12px; letter-spacing: 0.16em; text-transform: uppercase; font-weight: 500; padding: 1.05em 1.7em; transition: background 0.3s var(--ease), color 0.3s var(--ease), border-color 0.3s var(--ease); }
.cp-sv .cpv8:hover, .cp-sv .cpv8:focus-visible { background: var(--deep); color: var(--cream); border-color: var(--deep); }
.cp-sv .cpv9 { background: var(--wash); color: var(--deep); border-radius: var(--radius); min-height: 44px; box-sizing: border-box; display: inline-flex; align-items: center; text-decoration: none; font-family: var(--mono); font-size: 12px; letter-spacing: 0.16em; text-transform: uppercase; font-weight: 500; padding: 1.05em 1.7em; transition: background 0.3s var(--ease), color 0.3s var(--ease), border-color 0.3s var(--ease); }
.cp-sv .cpv9:hover, .cp-sv .cpv9:focus-visible { background: var(--deep); color: var(--cream); border-color: var(--deep); }
.cp-sv .cpv10 { padding: 72px 0; background: var(--wash); border-bottom: 1px solid var(--line-dark); }
.cp-sv .cpv11 { margin: 0; font-family: var(--font); font-weight: 700; font-size: clamp(28px, 3.6vw, 42px); line-height: 1.1; letter-spacing: -0.02em; }
.cp-sv .cpv12 { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 16px; }
.cp-sv .cpv13 { background: var(--cream); border: 1px solid var(--line-dark); border-radius: var(--radius); padding: 24px; display: flex; flex-direction: column; gap: 6px; color: var(--deep); text-decoration: none; }
.cp-sv .cpv14 { font-size: 14px; color: var(--muted-dark); }
.cp-sv .cpv15 { font-family: var(--font); font-size: 22px; }
.cp-sv .cpv16 { padding: 88px 0; border-bottom: 1px solid var(--line-dark); }
.cp-sv .cpv17 { max-width: 1280px; margin: 0 auto; padding: 0 24px; display: flex; flex-wrap: wrap; gap: 32px 72px; }
.cp-sv .cpv18 { flex: 1 1 420px; min-width: 0; display: flex; flex-direction: column; gap: 14px; }
.cp-sv .cpv19 { margin: 0; font-family: var(--font); font-weight: 700; font-size: 16px; color: var(--teal); }
.cp-sv .cpv20 { margin: 0; font-family: var(--font); font-weight: 700; font-size: clamp(32px, 4.2vw, 52px); line-height: 1.04; letter-spacing: -0.02em; }
.cp-sv .cpv21 { margin: 0; font-size: 18px; color: var(--muted-dark); }
.cp-sv .cpv22 { flex: 1 1 400px; min-width: 0; display: flex; flex-direction: column; gap: 18px; }
.cp-sv .cpv23 { margin: 0; font-size: 15px; color: var(--muted-dark); }
.cp-sv .cpv24 { display: flex; flex-wrap: wrap; gap: 12px; }
.cp-sv .cpv25 { background: var(--deep); color: var(--cream); text-decoration: none; border-radius: var(--radius); min-height: 44px; box-sizing: border-box; display: inline-flex; align-items: center; font-family: var(--mono); font-size: 12px; letter-spacing: 0.16em; text-transform: uppercase; font-weight: 500; padding: 1.05em 1.7em; transition: background 0.3s var(--ease), color 0.3s var(--ease), border-color 0.3s var(--ease); }
.cp-sv .cpv25:hover, .cp-sv .cpv25:focus-visible { background: var(--teal); color: var(--cream); border-color: var(--teal); }
.cp-sv .cpv26 { padding: 88px 0; background: var(--wash); border-bottom: 1px solid var(--line-dark); }
.cp-sv .cpv27 { max-width: 1280px; margin: 0 auto; padding: 0 24px; display: flex; flex-wrap: wrap-reverse; gap: 32px 72px; }
.cp-sv .cpv28 { font-weight: 700; padding: 14px 8px; min-height: 44px; box-sizing: border-box; display: inline-flex; align-items: center; }
.cp-sv .cpv29 { padding: 88px 0; background: var(--deep); color: var(--cream); }
.cp-sv .cpv30 { margin: 0; font-size: 15px; color: var(--cream); }
.cp-sv .cpv31 { background: var(--lime); color: var(--deep); text-decoration: none; border-radius: var(--radius); min-height: 44px; box-sizing: border-box; display: inline-flex; align-items: center; font-family: var(--mono); font-size: 12px; letter-spacing: 0.16em; text-transform: uppercase; font-weight: 500; padding: 1.05em 1.7em; transition: background 0.3s var(--ease), color 0.3s var(--ease), border-color 0.3s var(--ease); }
.cp-sv .cpv31:hover, .cp-sv .cpv31:focus-visible { background: var(--cream); color: var(--deep); border-color: var(--cream); }
.cp-sv .cpv32 { color: var(--lime); font-weight: 700; padding: 14px 8px; min-height: 44px; box-sizing: border-box; display: inline-flex; align-items: center; }
.cp-sv .cpv33 { margin: 0; font-family: var(--font); font-weight: 700; font-size: 16px; color: var(--lime); }
.cp-sv .cpv34 { margin: 0; font-size: 18px; color: var(--cream-soft); }
.cp-sv .cpv35 { padding: 88px 0; background: var(--lime); color: var(--deep); }
.cp-sv .cpv36 { margin: 0; font-family: var(--font); font-weight: 700; font-size: 16px; }
.cp-sv .cpv37 { margin: 0; font-size: 18px; color: var(--deep); }
.cp-sv .cpv38 { margin: 0; font-size: 15px; }
.cp-sv .cpv39 { color: var(--deep); font-weight: 700; padding: 14px 8px; min-height: 44px; box-sizing: border-box; display: inline-flex; align-items: center; }
.cp-sv .cpv40 { max-width: 1280px; margin: 0 auto; padding: 0 24px; display: flex; flex-direction: column; gap: 20px; }
.cp-sv .cpv41 { margin: 0; font-family: var(--font); font-weight: 700; font-size: clamp(26px, 3.2vw, 36px); line-height: 1.1; }
.cp-sv .cpv42 { background: var(--cream); border: 1px solid var(--line-dark); border-radius: var(--radius); padding: 10px 18px; font-weight: 600; }
.cp-sv .cpv43 { padding: 88px 0; }
.cp-sv .cpv44 { max-width: 1280px; margin: 0 auto; padding: 0 24px; display: flex; flex-wrap: wrap; gap: 32px 72px; align-items: center; }
.cp-sv .cpv45 { flex: 2 1 560px; min-width: 0; display: flex; flex-direction: column; gap: 14px; }
.cp-sv .cpv46 { margin: 0; font-family: var(--font); font-weight: 700; font-size: clamp(30px, 4vw, 48px); line-height: 1.06; letter-spacing: -0.02em; }
.cp-sv .cpv47 { flex: 1 1 300px; min-width: 0; display: flex; flex-direction: column; gap: 10px; }
.cp-sv .cpv48 { margin: 0; font-weight: 600; }
.cp-sv .cpv49 { padding: 88px 0; background: var(--wash); border-top: 1px solid var(--line-dark); border-bottom: 1px solid var(--line-dark); }
.cp-sv .cpv50 { max-width: 1280px; margin: 0 auto; padding: 0 24px; display: flex; flex-direction: column; gap: 32px; }
.cp-sv .cpv51 { margin: 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 16px; }
.cp-sv .cpv52 { background: var(--cream); border: 1px solid var(--line-dark); border-radius: var(--radius); padding: 24px; display: flex; flex-direction: column; gap: 6px; }
.cp-sv .cpv53 { font-family: var(--font); font-weight: 700; font-size: 28px; color: var(--teal); }
.cp-sv .cpv54 { color: var(--muted-dark); }
.cp-sv .cpv55 { padding: 48px 0; }
.cp-sv .cpv56 { max-width: 1280px; margin: 0 auto; padding: 0 24px; display: flex; flex-wrap: wrap; gap: 12px 36px; align-items: center; justify-content: center; }
.cp-sv .cpv57 { font-size: 13px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: var(--muted-dark); }
.cp-sv .cpv58 { font-weight: 700; font-size: 15px; }
.cp-sv .cpv59 { max-width: 1280px; margin: 0 auto; padding: 0 24px; display: flex; flex-wrap: wrap; gap: 32px 72px; align-items: flex-start; }
.cp-sv .cpv60 { flex: 1 1 380px; min-width: 0; display: flex; flex-direction: column; gap: 14px; }
.cp-sv .cpv61 { margin: 0; font-size: 13px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--teal); }
.cp-sv .cpv62 { align-self: flex-start; background: var(--deep); color: var(--cream); text-decoration: none; border-radius: var(--radius); min-height: 44px; box-sizing: border-box; display: inline-flex; align-items: center; font-family: var(--mono); font-size: 12px; letter-spacing: 0.16em; text-transform: uppercase; font-weight: 500; padding: 1.05em 1.7em; transition: background 0.3s var(--ease), color 0.3s var(--ease), border-color 0.3s var(--ease); }
.cp-sv .cpv62:hover, .cp-sv .cpv62:focus-visible { background: var(--teal); color: var(--cream); border-color: var(--teal); }
.cp-sv .cpv63 { flex: 1 1 460px; min-width: 0; overflow-x: auto; border: 1px solid var(--line-dark); border-radius: var(--radius); }
.cp-sv .cpv64 { width: 100%; border-collapse: collapse; font-size: 16px; }
.cp-sv .cpv65 { background: var(--deep); color: var(--cream); }
.cp-sv .cpv66 { padding: 16px 20px; text-align: left; font-weight: 700; }
.cp-sv .cpv67 { border-top: 1px solid var(--line-dark); }
.cp-sv .cpv68 { padding: 16px 20px; font-weight: 600; }
.cp-sv .cpv69 { padding: 16px 20px; font-family: var(--font); font-weight: 700; font-size: 18px; white-space: nowrap; }
.cp-sv .cpv70 { padding: 88px 0; background: var(--wash); border-top: 1px solid var(--line-dark); }
.cp-sv .cpv71 { max-width: 880px; margin: 0 auto; padding: 0 24px; display: flex; flex-direction: column; gap: 10px; }
.cp-sv .cpv72 { margin: 0 0 16px; font-family: var(--font); font-weight: 700; font-size: clamp(30px, 4vw, 44px); line-height: 1.06; }
.cp-sv .cpv73 { border-bottom: 1px solid var(--line-dark); padding: 18px 0; }
.cp-sv .cpv74 { font-weight: 700; font-size: 18px; }
.cp-sv .cpv75 { margin: 12px 0 0; color: var(--muted-dark); }
.cp-sv .cpv76 { padding: 104px 0; background: var(--deep); color: var(--cream); }
.cp-sv .cpv77 { max-width: 900px; margin: 0 auto; padding: 0 24px; display: flex; flex-direction: column; gap: 22px; align-items: center; text-align: center; }
.cp-sv .cpv78 { margin: 0; font-family: var(--font); font-weight: 700; font-size: clamp(38px, 5.6vw, 72px); line-height: 1; letter-spacing: -0.03em; }
.cp-sv .cpv79 { color: var(--lime); }
.cp-sv .cpv80 { margin: 0; font-size: 19px; color: var(--cream-soft); }
.cp-sv .cpv81 { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; }
.cp-sv .cpv82 { background: var(--lime); color: var(--deep); text-decoration: none; border-radius: var(--radius); min-height: 44px; box-sizing: border-box; display: inline-flex; align-items: center; font-family: var(--mono); font-size: 12px; letter-spacing: 0.16em; text-transform: uppercase; font-weight: 500; padding: 1.05em 1.7em; transition: background 0.3s var(--ease), color 0.3s var(--ease), border-color 0.3s var(--ease); }
.cp-sv .cpv82:hover, .cp-sv .cpv82:focus-visible { background: var(--cream); color: var(--deep); border-color: var(--cream); }
.cp-sv .cpv83 { border: 1.5px solid var(--line-strong); color: var(--cream); text-decoration: none; border-radius: var(--radius); min-height: 44px; box-sizing: border-box; display: inline-flex; align-items: center; font-family: var(--mono); font-size: 12px; letter-spacing: 0.16em; text-transform: uppercase; font-weight: 500; padding: 1.05em 1.7em; transition: background 0.3s var(--ease), color 0.3s var(--ease), border-color 0.3s var(--ease); }
.cp-sv .cpv83:hover, .cp-sv .cpv83:focus-visible { background: var(--cream); color: var(--deep); border-color: var(--cream); }
.cp-sv .cpv84 { margin: 0; font-size: 15px; color: var(--muted); }

/* ---- ai-video-singapore ---- */
.cp-sg { width: 100%; background: var(--cream); color: var(--deep); font-family: var(--font); font-size: 17px; line-height: 1.65; }
.cp-sg a { color: var(--deep); }
.cp-sg a:hover { color: var(--teal); }
.cp-sg summary { cursor: pointer; list-style: none; }
.cp-sg summary::-webkit-details-marker { display: none; }
.cp-sg th, .cp-sg td { text-align: left; vertical-align: top; }
.cp-sg .cps1 { background: var(--wash); }
.cp-sg .cps2 { max-width: 1200px; margin: 0 auto; padding: 72px 24px 80px; display: flex; flex-wrap: wrap; gap: 48px; align-items: center; }
.cp-sg .cps3 { flex: 1 1 500px; min-width: 0; display: flex; flex-direction: column; gap: 22px; }
.cp-sg .cps4 { margin: 0; font-size: 14px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--teal); }
.cp-sg .cps5 { margin: 0; font-weight: 700; font-size: clamp(40px, 5.6vw, 68px); line-height: 1.06; letter-spacing: -0.02em; }
.cp-sg .cps6 { margin: 0; font-size: 20px; color: var(--muted-dark); max-width: 580px; }
.cp-sg .cps7 { display: flex; flex-wrap: wrap; gap: 12px; }
.cp-sg .cps8 { background: var(--deep); color: var(--cream); text-decoration: none; border-radius: var(--radius); min-height: 44px; box-sizing: border-box; display: inline-flex; align-items: center; font-family: var(--mono); font-size: 12px; letter-spacing: 0.16em; text-transform: uppercase; font-weight: 500; padding: 1.05em 1.7em; transition: background 0.3s var(--ease), color 0.3s var(--ease), border-color 0.3s var(--ease); }
.cp-sg .cps8:hover, .cp-sg .cps8:focus-visible { background: var(--teal); color: var(--cream); border-color: var(--teal); }
.cp-sg .cps9 { border: 1.5px solid var(--deep); color: var(--deep); text-decoration: none; border-radius: var(--radius); min-height: 44px; box-sizing: border-box; display: inline-flex; align-items: center; font-family: var(--mono); font-size: 12px; letter-spacing: 0.16em; text-transform: uppercase; font-weight: 500; padding: 1.05em 1.7em; transition: background 0.3s var(--ease), color 0.3s var(--ease), border-color 0.3s var(--ease); }
.cp-sg .cps9:hover, .cp-sg .cps9:focus-visible { background: var(--deep); color: var(--cream); border-color: var(--deep); }
.cp-sg .cps10 { margin: 0; padding: 0; list-style: none; display: flex; flex-wrap: wrap; gap: 8px 24px; font-size: 15px; font-weight: 600; color: var(--teal); }
.cp-sg .cps11 { flex: 1 1 500px; min-width: 0; display: flex; flex-direction: column; gap: 12px; }
.cp-sg .cps12 { margin: 0; font-size: 14px; color: var(--muted-dark); }
.cp-sg .cps13 { padding: 36px 0; border-bottom: 1px solid var(--line-dark); }
.cp-sg .cps14 { max-width: 1200px; margin: 0 auto; padding: 0 24px; display: flex; flex-direction: column; gap: 18px; align-items: center; text-align: center; }
.cp-sg .cps15 { margin: 0; font-size: 14px; font-weight: 600; color: var(--muted-dark); }
.cp-sg .cps16 { padding: 96px 0; }
.cp-sg .cps17 { max-width: 1200px; margin: 0 auto; padding: 0 24px; display: flex; flex-direction: column; gap: 40px; }
.cp-sg .cps18 { max-width: 760px; display: flex; flex-direction: column; gap: 12px; }
.cp-sg .cps19 { margin: 0; font-weight: 700; font-size: clamp(30px, 4vw, 46px); line-height: 1.1; }
.cp-sg .cps20 { margin: 0; font-size: 19px; color: var(--muted-dark); }
.cp-sg .cps21 { display: flex; flex-wrap: wrap; gap: 24px; }
.cp-sg .cps22 { flex: 1 1 400px; min-width: 0; background: var(--deep); color: var(--cream); border-radius: var(--radius); padding: 36px; display: flex; flex-direction: column; gap: 18px; }
.cp-sg .cps23 { margin: 0; font-size: 13px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--lime); }
.cp-sg .cps24 { margin: 0; font-size: 30px; font-weight: 700; line-height: 1.15; }
.cp-sg .cps25 { margin: 0; color: var(--cream-soft); }
.cp-sg .cps26 { margin: 0; padding-left: 20px; display: flex; flex-direction: column; gap: 8px; color: var(--cream); }
.cp-sg .cps27 { margin-top: auto; align-self: flex-start; background: var(--lime); color: var(--deep); text-decoration: none; border-radius: var(--radius); min-height: 44px; box-sizing: border-box; display: inline-flex; align-items: center; font-family: var(--mono); font-size: 12px; letter-spacing: 0.16em; text-transform: uppercase; font-weight: 500; padding: 1.05em 1.7em; transition: background 0.3s var(--ease), color 0.3s var(--ease), border-color 0.3s var(--ease); }
.cp-sg .cps27:hover, .cp-sg .cps27:focus-visible { background: var(--cream); color: var(--deep); border-color: var(--cream); }
.cp-sg .cps28 { flex: 1 1 400px; min-width: 0; background: var(--wash); border: 1px solid var(--line-dark); border-radius: var(--radius); padding: 36px; display: flex; flex-direction: column; gap: 18px; }
.cp-sg .cps29 { margin: 0; font-size: 13px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--teal); }
.cp-sg .cps30 { margin: 0; color: var(--muted-dark); }
.cp-sg .cps31 { margin: 0; padding-left: 20px; display: flex; flex-direction: column; gap: 8px; color: var(--muted-dark); }
.cp-sg .cps32 { margin-top: auto; align-self: flex-start; background: var(--deep); color: var(--cream); text-decoration: none; border-radius: var(--radius); min-height: 44px; box-sizing: border-box; display: inline-flex; align-items: center; font-family: var(--mono); font-size: 12px; letter-spacing: 0.16em; text-transform: uppercase; font-weight: 500; padding: 1.05em 1.7em; transition: background 0.3s var(--ease), color 0.3s var(--ease), border-color 0.3s var(--ease); }
.cp-sg .cps32:hover, .cp-sg .cps32:focus-visible { background: var(--teal); color: var(--cream); border-color: var(--teal); }
.cp-sg .cps33 { border: 2px dashed var(--teal); border-radius: var(--radius); padding: 28px 32px; display: flex; flex-wrap: wrap; gap: 16px 32px; align-items: center; justify-content: space-between; }
.cp-sg .cps34 { flex: 1 1 520px; min-width: 0; display: flex; flex-direction: column; gap: 6px; }
.cp-sg .cps35 { margin: 0; font-size: 22px; font-weight: 700; }
.cp-sg .cps36 { font-weight: 700; }
.cp-sg .cps37 { padding: 96px 0; background: var(--wash); }
.cp-sg .cps38 { display: flex; flex-wrap: wrap; gap: 20px; }
.cp-sg .cps39 { flex: 1 1 320px; background: var(--cream); border: 1px solid var(--line-dark); border-radius: var(--radius); padding: 28px; display: flex; flex-direction: column; gap: 12px; }
.cp-sg .cps40 { margin: 0; font-size: 13px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--teal); }
.cp-sg .cps41 { margin: 0; font-size: 22px; font-weight: 700; line-height: 1.3; }
.cp-sg .cps42 { margin: 0; font-size: 15px; color: var(--muted-dark); }
.cp-sg .cps43 { margin-top: auto; font-weight: 700; }
.cp-sg .cps44 { max-width: 1000px; margin: 0 auto; padding: 0 24px; display: flex; flex-direction: column; gap: 32px; }
.cp-sg .cps45 { display: flex; flex-direction: column; gap: 12px; }
.cp-sg .cps46 { overflow-x: auto; border: 1px solid var(--line-dark); border-radius: var(--radius); background: var(--cream); }
.cp-sg .cps47 { width: 100%; min-width: 600px; border-collapse: collapse; font-size: 16px; }
.cp-sg .cps48 { background: var(--deep); color: var(--cream); }
.cp-sg .cps49 { padding: 16px 20px; font-weight: 700; }
.cp-sg .cps50 { border-top: 1px solid var(--line-dark); }
.cp-sg .cps51 { padding: 16px 20px; font-weight: 600; }
.cp-sg .cps52 { padding: 16px 20px; }
.cp-sg .cps53 { padding: 16px 20px; color: var(--muted-dark); }
.cp-sg .cps54 { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 20px; }
.cp-sg .cps55 { border: 1px solid var(--line-dark); border-radius: var(--radius); padding: 24px; display: flex; flex-direction: column; gap: 8px; }
.cp-sg .cps56 { margin: 0; font-size: 20px; font-weight: 700; }
.cp-sg .cps57 { padding: 72px 0; background: var(--deep); color: var(--cream); }
.cp-sg .cps58 { max-width: 1200px; margin: 0 auto; padding: 0 24px; display: flex; flex-wrap: wrap; gap: 24px 48px; align-items: center; }
.cp-sg .cps59 { flex: 1 1 360px; min-width: 0; display: flex; flex-direction: column; gap: 8px; }
.cp-sg .cps60 { margin: 0; font-weight: 700; font-size: clamp(26px, 3vw, 36px); line-height: 1.15; }
.cp-sg .cps61 { flex: 2 1 520px; min-width: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.cp-sg .cps62 { border: 1.5px solid var(--line-dark); border-radius: var(--radius); padding: 8px 18px; font-weight: 600; }
.cp-sg .cps63 { border: 1.5px solid var(--lime); color: var(--lime); border-radius: var(--radius); padding: 8px 18px; font-weight: 700; }
.cp-sg .cps64 { margin: 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 0; border: 1px solid var(--line-dark); border-radius: var(--radius); overflow: hidden; }
.cp-sg .cps65 { padding: 28px; border-right: 1px solid var(--line-dark); display: flex; flex-direction: column; gap: 8px; }
.cp-sg .cps66 { font-size: 14px; font-weight: 700; color: var(--teal); }
.cp-sg .cps67 { font-size: 19px; }
.cp-sg .cps68 { color: var(--muted-dark); }
.cp-sg .cps69 { padding: 28px; display: flex; flex-direction: column; gap: 8px; }
.cp-sg .cps70 { padding: 96px 0; background: var(--wash); }
.cp-sg .cps71 { max-width: 1000px; margin: 0 auto; padding: 0 24px; display: flex; flex-direction: column; gap: 16px; }
.cp-sg .cps72 { margin: 0; font-weight: 700; font-size: clamp(28px, 3.6vw, 40px); line-height: 1.15; }
.cp-sg .cps73 { margin: 0; color: var(--muted-dark); font-size: 18px; }
.cp-sg .cps74 { max-width: 860px; margin: 0 auto; padding: 0 24px; display: flex; flex-direction: column; gap: 12px; }
.cp-sg .cps75 { margin: 0 0 12px; font-weight: 700; font-size: clamp(30px, 4vw, 46px); line-height: 1.1; }
.cp-sg .cps76 { border: 1px solid var(--line-dark); border-radius: var(--radius); padding: 18px 22px; }
.cp-sg .cps77 { font-weight: 700; font-size: 18px; }
.cp-sg .cps78 { margin: 12px 0 0; color: var(--muted-dark); }
.cp-sg .cps79 { padding: 104px 0; background: var(--deep); color: var(--cream); }
.cp-sg .cps80 { max-width: 860px; margin: 0 auto; padding: 0 24px; display: flex; flex-direction: column; gap: 22px; align-items: center; text-align: center; }
.cp-sg .cps81 { margin: 0; font-weight: 700; font-size: clamp(34px, 5vw, 58px); line-height: 1.08; }
.cp-sg .cps82 { margin: 0; font-size: 19px; color: var(--cream-soft); }
.cp-sg .cps83 { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; }
.cp-sg .cps84 { background: var(--lime); color: var(--deep); text-decoration: none; border-radius: var(--radius); min-height: 44px; box-sizing: border-box; display: inline-flex; align-items: center; font-family: var(--mono); font-size: 12px; letter-spacing: 0.16em; text-transform: uppercase; font-weight: 500; padding: 1.05em 1.7em; transition: background 0.3s var(--ease), color 0.3s var(--ease), border-color 0.3s var(--ease); }
.cp-sg .cps84:hover, .cp-sg .cps84:focus-visible { background: var(--cream); color: var(--deep); border-color: var(--cream); }
.cp-sg .cps85 { border: 1.5px solid var(--line-strong); color: var(--cream); text-decoration: none; border-radius: var(--radius); min-height: 44px; box-sizing: border-box; display: inline-flex; align-items: center; font-family: var(--mono); font-size: 12px; letter-spacing: 0.16em; text-transform: uppercase; font-weight: 500; padding: 1.05em 1.7em; transition: background 0.3s var(--ease), color 0.3s var(--ease), border-color 0.3s var(--ease); }
.cp-sg .cps85:hover, .cp-sg .cps85:focus-visible { background: var(--cream); color: var(--deep); border-color: var(--cream); }
.cp-sg .cps86 { margin: 0; font-size: 15px; color: var(--muted); }
.cp-sg .cps87 { background: var(--ink); color: var(--muted); font-size: 14px; }
.cp-sg .cps88 { max-width: 1200px; margin: 0 auto; padding: 32px 24px; display: flex; flex-wrap: wrap; gap: 16px; justify-content: space-between; }
.cp-sg .cps89 { margin: 0; }
