.g7-pl{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:40px;align-items:stretch}
.g7-ph{margin:0;position:relative;border-radius:28px;overflow:hidden;min-height:520px}
.g7-ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.g7-ph::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(22,24,29,0) 45%,rgba(22,24,29,.9) 100%)}
.g7-ph figcaption{position:absolute;z-index:1;left:28px;right:28px;bottom:28px;color:#FFFFFF}
.g7-ph b{display:block;margin-top:6px;font-size:32px;font-weight:800;letter-spacing:-0.03em}
.g7-ph figcaption > span:last-child{display:block;margin-top:4px;color:#C9CBD4;font-size:15px}
.g7-tl{list-style:none;margin:0;padding:0 0 0 0;position:relative;display:grid;gap:18px}
.g7-tl::before{content:"";position:absolute;left:112px;top:8px;bottom:8px;width:2px;background:linear-gradient(#D9D6FF,#B9B4FF)}
.g7-ti{display:grid;grid-template-columns:100px minmax(0,1fr);gap:0 36px;position:relative}
.g7-dot{position:absolute;left:105px;top:22px;width:16px;height:16px;border-radius:50%;background:#B9B4FF;box-shadow:0 0 0 5px rgba(185,180,255,.2)}
.g7-date{padding-top:16px;font-size:16px;font-weight:800;color:#B9B4FF;text-align:right;letter-spacing:-0.01em}
.g7-tc{background:#1F2128;border:1px solid #2E3139;border-radius:20px;padding:20px 24px}
.g7-tc h3{margin:0;font-size:20px;font-weight:800;letter-spacing:-0.02em;color:#FFFFFF}
.g7-tc p{margin:6px 0 12px;font-size:15px;color:#C9CBD4}
.g7-row,.g7-ok{display:grid;grid-template-columns:72px 1fr;gap:12px;font-size:14px;color:#E2E3E8;padding:8px 0;border-top:1px solid #2E3139}
.g7-row span,.g7-ok span{font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#A9ABB6;padding-top:2px}
.g7-ok span{color:#B9B4FF}
.g7-prl{display:grid;gap:12px}
.g7-pr{display:grid;grid-template-columns:minmax(0,3.2fr) repeat(3,minmax(0,3fr));gap:32px;align-items:start;background:#16181D;color:#FFFFFF;border-radius:24px;padding:28px 32px;box-shadow:0 1px 2px rgba(22,24,29,.06),0 10px 24px -8px rgba(22,24,29,.2)}
.g7-pr.g7-top{background:linear-gradient(120deg,#2B2850,#16181D 60%);border:1px solid #4A4380}
.g7-prh{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px}
.g7-prh h3{flex-basis:100%;margin:6px 0 0;font-size:20px;font-weight:800;letter-spacing:-0.02em;line-height:1.2}
.g7-prc span{display:block;margin-bottom:6px;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#A9ABB6}
.g7-prc p{margin:0;font-size:15px;line-height:1.55;color:#C9CBD4}
.g7-prs span{color:#9FD3B4}
.g7-prs p{color:#FFFFFF}
.g7-prc:nth-child(3) span{color:#B9B4FF}
@media (max-width:1000px){.g7-pr{grid-template-columns:1fr 1fr;gap:20px}.g7-prh{grid-column:1/-1}}
@media (max-width:600px){.g7-pr{grid-template-columns:1fr;padding:22px}}
.g7-pgg{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.g7-pg{background:#16181D;color:#FFFFFF;border-radius:24px;padding:26px;display:flex;flex-direction:column;gap:10px;box-shadow:0 1px 2px rgba(22,24,29,.06),0 10px 24px -6px rgba(22,24,29,.2)}
.g7-pg.g7-top{background:linear-gradient(160deg,#2B2850,#16181D 70%);border:1px solid #4A4380}
.g7-pgh{display:flex;justify-content:space-between;align-items:center}
.g7-n{font-size:15px;font-weight:800;color:#B9B4FF}
.g7-when{padding:6px 12px;border-radius:999px;background:#B9B4FF;color:#16181D;font-size:13px;font-weight:800}
.g7-pg h3{margin:6px 0 0;font-size:21px;font-weight:800;letter-spacing:-0.02em;line-height:1.2}
.g7-pg p{margin:0;font-size:15px;color:#C9CBD4}
.g7-ok2{margin-top:auto;padding-top:14px;border-top:1px solid #33363F;font-size:14px;color:#E2E3E8}
.g7-ok2 span{display:block;margin-bottom:4px;font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#B9B4FF}
.g7-road{margin:24px -24px 0}
.g7-dash{stroke-dashoffset:0;animation:g7dash 2.5s linear infinite}
@keyframes g7dash{to{stroke-dashoffset:-64}}
.g7-pin{animation:g7pin .6s cubic-bezier(.3,1.5,.5,1) both;animation-delay:var(--d)}
@keyframes g7pin{from{opacity:0;translate:0 -20px}to{opacity:1;translate:0 0}}
.g7-ms{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:20px}
.g7-mc{position:relative;background:#1F2128;border:1px solid #2E3139;border-radius:24px;padding:40px 26px 26px;text-align:center}
.g7-mn{position:absolute;top:-22px;left:50%;translate:-50% 0;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:18px;color:#16181D;box-shadow:0 0 0 5px #16181D}
.g7-mp{font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#B9B4FF}
.g7-mc h3{margin:8px 0 8px;font-size:22px;font-weight:800;letter-spacing:-0.02em;color:#FFFFFF}
.g7-mc p{margin:0;font-size:15px;color:#C9CBD4}
.g7-rf{display:grid;grid-template-columns:minmax(0,8fr) minmax(0,4fr);gap:48px;align-items:start;margin-top:32px}
.g7-bw{position:relative;padding-bottom:130px}
.g7-bub{position:relative;background:#ECEBFF;border-radius:56px;padding:48px 52px 40px;box-shadow:0 1px 2px rgba(22,24,29,.06),0 18px 40px -16px rgba(67,56,202,.25)}
.g7-bub p{margin:0 0 14px;font-size:18px;line-height:1.7;color:#2A2D35}
.g7-bub p:last-child{margin:0}
.g7-bub b{color:#16181D;background:linear-gradient(transparent 60%,#DCDAFB 60%)}
.g7-qm{position:absolute;top:-6px;left:30px;font-family:'Instrument Serif',Georgia,serif;font-size:120px;line-height:1;color:#B9B4FF}
.g7-t1,.g7-t2{position:absolute;border-radius:50%;background:#ECEBFF;box-shadow:0 6px 14px -6px rgba(67,56,202,.3)}
.g7-t1{width:30px;height:30px;left:80px;bottom:86px}
.g7-t2{width:16px;height:16px;left:60px;bottom:64px}
.g7-me{position:absolute;left:0;bottom:0;display:flex;align-items:center;gap:12px}
.g7-me img{width:52px;height:52px;border-radius:50%;object-fit:cover;object-position:center 18%;border:3px solid #FFFFFF;box-shadow:0 4px 12px rgba(22,24,29,.15)}
.g7-me span{font-size:13px;color:#3E4049;line-height:1.3}
.g7-me b{display:block;font-size:15px;color:#16181D}
.g7-q{margin:0;padding:32px 32px;border-radius:28px;background:#16181D;color:#FFFFFF !important;font-family:'Instrument Serif',Georgia,serif;font-style:italic;font-size:38px;line-height:1.18;color:#16181D}
.g7-q span{display:block;color:#FFFFFF}
.g7-q span:nth-of-type(2){color:#B9B4FF}
.g7-q cite{display:block;margin-bottom:16px;color:#B9B4FF !important;font:800 12px Manrope,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#3E4049}
@media (prefers-reduced-motion:reduce){.g7-dash,.g7-pin{animation:none}}
@media (max-width:1000px){.g7-pl,.g7-rf{grid-template-columns:1fr}.g7-ph{min-height:320px}.g7-pgg{grid-template-columns:repeat(2,minmax(0,1fr))}}
.g7-q{font-size:34px}
@media (max-width:700px){.g7-bub{padding:40px 24px 28px;border-radius:36px}.g7-bub p{font-size:16px}.g7-ms,.g7-pgg{grid-template-columns:1fr}.g7-ms{row-gap:36px}.g7-road{margin:12px 0 0}.g7-tl::before{left:6px}.g7-dot{left:-1px}.g7-ti{grid-template-columns:1fr;padding-left:28px}.g7-date{text-align:left;padding:0 0 8px}.g7-q{font-size:28px}}
/* V8 · professional goals in the project-card style */
.gp-wrap{background:#FFFFFF;border:1px solid #E6E5F0;border-radius:32px;padding:32px;box-shadow:0 30px 60px -40px rgba(22,24,29,.35);margin-top:8px}
.gp-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));background:#F4F3FF;border:1px solid #E6E5F5;border-radius:24px;box-shadow:0 20px 40px -30px rgba(22,24,29,.35)}
.gp-strip > div{display:flex;align-items:center;justify-content:center;gap:16px;padding:24px}
.gp-strip > div + div{border-left:1px solid #DCDAFB}
.gp-si{flex:none;width:58px;height:58px;border-radius:50%;background:#DCDAFB;color:#16181D;display:grid;place-items:center}
.gp-strip b{display:block;font-size:36px;font-weight:800;letter-spacing:-0.04em;line-height:1;color:#7D74E6}
.gp-strip b.g{color:#16181D}
.gp-strip p{margin:6px 0 0;font-size:14px;font-weight:600;color:#3E4049}
.gp-note{margin:14px 0 0;text-align:center;font-family:'Instrument Serif',Georgia,serif;font-style:italic;font-size:18px;color:#3E4049}
.gp-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:26px}
.gp-card{border:1px solid #E6E5F0;border-radius:22px;padding:24px 24px 22px;background:#FFFFFF;box-shadow:0 14px 30px -26px rgba(22,24,29,.4);display:flex;flex-direction:column}
.gp-ch{display:flex;align-items:flex-start;gap:14px}
.gp-ic{flex:none;width:52px;height:52px;border-radius:50%;color:#16181D;display:grid;place-items:center}
.gp-when{display:inline-flex;padding:4px 10px;border-radius:999px;background:#F4F3FF;border:1px solid #E6E5F5;font-size:12px;font-weight:700;color:#3E4049}
.gp-ch h3{margin:8px 0 0;font-size:19px;font-weight:800;letter-spacing:-0.015em;line-height:1.25}
.gp-ch h3 span{color:#7D74E6;margin-right:6px}
.gp-rule{display:block;width:40px;height:3px;border-radius:2px;background:#B9B4FF;margin:16px 0 16px 66px}
.gp-row{margin-top:12px}
.gp-row:first-of-type{margin-top:0}
.gp-l{display:block;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#7D74E6;margin-bottom:4px}
.gp-row p{margin:0;font-size:15px;line-height:1.55;color:#2A2D35}
.gp-s{margin-top:auto;padding:14px 16px;border-radius:16px;background:#F4F3FF;border:1px solid #E6E5F5}
.gp-row + .gp-s{margin-top:16px}
.gp-s .gp-l{color:#1F5A3A}
.gp-s p{color:#16181D;font-weight:600}
.gp-card.top{background:#16181D;border-color:#16181D;color:#FFFFFF}
.gp-card.top .gp-when{background:#272A33;border-color:#363944;color:#DCDAFB}
.gp-card.top .gp-ch h3 span,.gp-card.top .gp-l{color:#B9B4FF}
.gp-card.top .gp-row p{color:#C9CBD4}
.gp-card.top .gp-s{background:#B9B4FF;border-color:#B9B4FF}
.gp-card.top .gp-s .gp-l{color:#16181D}
.gp-card.top .gp-s p{color:#16181D}
@media (max-width:1100px){.gp-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:760px){.gp-wrap{padding:16px;border-radius:24px}.gp-strip{grid-template-columns:1fr}.gp-strip > div{justify-content:flex-start}.gp-strip > div + div{border-left:0;border-top:1px solid #DCDAFB}.gp-grid{grid-template-columns:1fr}.gp-rule{margin-left:0}}
.gp-wrap{padding:28px}
.gp-grid{margin-top:0;grid-template-rows:repeat(5,auto);row-gap:0}
.gp-grid + .gp-grid{margin-top:18px}
.gp-card{display:grid;grid-template-rows:subgrid;grid-row:span 5}
.gp-row:first-of-type{margin-top:0}
.gp-s{margin-top:16px !important;align-self:stretch}
/* V8 · reflection bubble, philosophy banner, CV icon */
.g7-rf{grid-template-columns:1fr !important;gap:28px !important}
.g7-bub p{text-align:justify;hyphens:auto;-webkit-hyphens:auto}
.g7-in{float:left;width:84px;height:84px;border-radius:50%;object-fit:cover;object-position:center 18%;margin:4px 22px 6px 0;border:4px solid #FFFFFF;box-shadow:0 10px 24px -12px rgba(22,24,29,.45);shape-outside:circle(50%);shape-margin:10px}
.g7-bub .g7-sig{clear:both;margin-top:22px !important;text-align:right;font-size:15px;color:#3E4049}
.g7-bub .g7-sig b{background:none}
.g8-ph{margin:0;position:relative;display:grid;grid-template-columns:200px 170px minmax(0,1fr);align-items:center;gap:28px;min-height:140px;border-radius:28px;overflow:hidden;background:#16181D;color:#FFFFFF;padding:0 44px 0 0}
.g8-ph-img{align-self:stretch;position:relative}
.g8-ph-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;-webkit-mask-image:linear-gradient(90deg,#000 40%,transparent);mask-image:linear-gradient(90deg,#000 40%,transparent);opacity:.9}
.g8-ph figcaption{font-size:16px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#B9B4FF;line-height:1.3;padding:10px 24px 10px 0;border-right:1px solid #3E414B}
.g8-ph blockquote{margin:0;padding:30px 0;font-family:'Instrument Serif',Georgia,serif;font-style:italic;font-size:30px;line-height:1.3;color:#FFFFFF}
.g8-ph blockquote .l{color:#B9B4FF}
.g9-ic{flex:none;position:relative;width:76px;height:76px;border-radius:50%;background:linear-gradient(145deg,#FFFFFF,#E6E4FF);border:1.5px solid #D9D6FF;box-shadow:0 0 0 6px rgba(185,180,255,.18),0 14px 28px -16px rgba(22,24,29,.45);color:#16181D;display:grid;place-items:center}
.g9-ic em{position:absolute;right:-8px;bottom:2px;font-style:normal;font-size:10px;font-weight:800;letter-spacing:.06em;padding:3px 7px;border-radius:999px;background:#9FD3B4;color:#16181D;border:2px solid #FFFFFF}
.g8-cv h3 .v6-serif{font-size:1.06em}
@media (max-width:820px){.g8-ph{grid-template-columns:1fr;padding:0 24px 4px;gap:8px}.g8-ph-img{height:90px;margin:0 -24px}.g8-ph figcaption{border:0;padding:0}.g8-ph blockquote{padding:4px 0 22px;font-size:24px}.g7-in{width:76px;height:76px;margin-right:16px}}
.g7-bw{padding-bottom:0 !important}
.g8-cv > div:first-child{flex:1 1 520px;min-width:0}
.g8-cv > div:first-child p:last-child{max-width:620px}
/* V8 · reflection badge, roadmap spacing + journey animation */
.g7-qm{display:none}
.g7-inw{float:left;position:relative;margin:2px 22px 6px 0;shape-outside:circle(50%);shape-margin:10px}
.g7-inw .g7-in{float:none;display:block;margin:0}
.g7-inw i{position:absolute;right:-6px;bottom:-4px;width:30px;height:30px;border-radius:50%;background:#B9B4FF;color:#16181D;border:3px solid #FFFFFF;display:grid;place-items:center;font-family:'Instrument Serif',Georgia,serif;font-style:normal;font-size:30px;line-height:1;padding-top:12px;box-sizing:border-box}
.g7-bub{padding-top:40px !important}
.g7-bub p{hyphens:none !important;-webkit-hyphens:none !important;text-align:justify;text-align-last:left;word-break:normal;overflow-wrap:normal}
.g7-bub b{white-space:normal}
.g7-road{margin:72px 32px 64px !important}
@keyframes g7draw{to{stroke-dashoffset:0}}
@keyframes g7fade{to{opacity:1}}
.g7-trav{filter:drop-shadow(0 0 6px rgba(185,180,255,.95)) drop-shadow(0 0 14px rgba(185,180,255,.6))}
@media (max-width:760px){.g7-road{margin:56px 0 48px !important}}
@media (prefers-reduced-motion:reduce){.g7-road .g7-rd{stroke-dashoffset:0;animation:none}.g7-road .g7-dash,.g7-road .g7-pin{opacity:1;animation:none}.g7-trav{display:none}}
.g7-inw i{font-size:0 !important;padding:0 !important}
.g7-bub .g7-sig{text-align:right !important;text-align-last:right !important}
.g7-road{margin:72px 64px 64px !important}
@media (max-width:760px){.g7-road{margin:56px 8px 48px !important}}
.g7-road .g7-pin{animation:none !important;opacity:1}
.g7-road .g7-dash{animation:g7dash 2.5s linear infinite}
