.cdg{--cdg-line:#d8d8dc;--cdg-soft:#f5f5f7;--cdg-ink:#1d1d1f;--cdg-muted:#626268;background:#fff;color:var(--cdg-ink);overflow:hidden}
.cdg *{box-sizing:border-box}
.cdg a{color:inherit}
.cdg__wrap{width:min(1180px,calc(100% - 40px));margin-inline:auto}
.cdg__crumbs{display:flex;align-items:center;gap:9px;padding:22px 0;color:#717177;font-size:12px;line-height:1.4}
.cdg__crumbs a{text-decoration:none}
.cdg__crumbs a:hover{text-decoration:underline}
.cdg__hero{padding:clamp(66px,9vw,126px) 0 clamp(48px,7vw,92px);text-align:center}
.cdg__eyebrow,.cdg__section-label{display:block;margin:0 0 14px;color:#0071e3;font-size:11px;font-weight:700;letter-spacing:.15em;text-transform:uppercase}
.cdg__hero h1{max-width:970px;margin:0 auto;font-family:var(--font-heading--family);font-size:clamp(48px,8vw,96px);font-weight:760;line-height:.94;letter-spacing:-.058em;text-wrap:balance}
.cdg__dek{max-width:760px;margin:28px auto 0;color:var(--cdg-muted);font-size:clamp(18px,2.2vw,25px);line-height:1.42;text-wrap:balance}
.cdg__answer{max-width:860px;margin:36px auto 0;padding-top:28px;border-top:1px solid var(--cdg-line);font-size:clamp(16px,1.7vw,20px);line-height:1.58}
.cdg__hero-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:30px}
.cdg__button{display:inline-flex;min-height:48px;align-items:center;justify-content:center;padding:0 22px;border:1px solid #0071e3;border-radius:999px;background:#0071e3;color:#fff!important;font-size:14px;font-weight:650;text-decoration:none;transition:transform .2s ease,background .2s ease}
.cdg__button:hover{background:#0077ed;transform:translateY(-1px)}
.cdg__button--ghost{border-color:#c9c9ce;background:#fff;color:var(--cdg-ink)!important}
.cdg__button--ghost:hover{background:var(--cdg-soft)}
.cdg__media{position:relative;width:min(1360px,calc(100% - 24px));height:clamp(480px,70vw,820px);margin:0 auto;overflow:hidden;border-radius:32px;background:#e8ebee}
.cdg__media img{width:100%;height:100%;object-fit:cover}
.cdg__media--snowboard img{object-position:50% 58%}
.cdg__media--skis img{object-position:50% 50%}
.cdg__media-caption{position:absolute;right:18px;bottom:18px;left:18px;display:flex;justify-content:space-between;gap:20px;padding:15px 17px;border:1px solid rgba(255,255,255,.3);border-radius:16px;background:rgba(16,18,22,.68);color:#fff;backdrop-filter:blur(12px);font-size:12px;line-height:1.4}
.cdg__tool{padding:clamp(76px,10vw,132px) 0;background:#fff}
.cdg__tool-layout{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:clamp(54px,8vw,116px);align-items:start}
.cdg__tool-intro{position:sticky;top:36px}
.cdg__tool h2,.cdg__visuals h2,.cdg__principles h2,.cdg__example h2,.cdg__faq h2,.cdg__related h2{max-width:820px;margin:0;font-family:var(--font-heading--family);font-size:clamp(36px,5vw,64px);font-weight:740;line-height:1;letter-spacing:-.045em;text-wrap:balance}
.cdg__tool-intro>p{max-width:520px;margin:24px 0 0;color:var(--cdg-muted);font-size:17px;line-height:1.65}
.cdg__tool-rows{border-top:1px solid var(--cdg-line)}
.cdg__tool-row{display:grid;grid-template-columns:46px minmax(0,1fr);gap:22px;padding:28px 0;border-bottom:1px solid var(--cdg-line)}
.cdg__tool-index{padding-top:4px;color:#0071e3;font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:.08em}
.cdg__tool-row h3{margin:0;font-family:var(--font-heading--family);font-size:clamp(22px,2.4vw,32px);font-weight:700;line-height:1.08;letter-spacing:-.03em}
.cdg__tool-row p{max-width:650px;margin:10px 0 0;color:var(--cdg-muted);font-size:15px;line-height:1.62}
.cdg__visuals{padding:clamp(76px,10vw,132px) 0;background:#fff}
.cdg__visual-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(24px,4vw,48px) 18px;margin-top:42px}
.cdg__visual{grid-column:span 7;margin:0}
.cdg__visual:nth-child(2),.cdg__visual:nth-child(3),.cdg__visual:nth-child(6){grid-column:span 5}
.cdg__visual-media{position:relative;aspect-ratio:3/2;overflow:hidden;border:1px solid #e3e3e7;border-radius:26px;background:#f5f5f7}
.cdg__visual-media img{display:block;width:100%;height:100%;object-fit:cover}
.cdg__visual figcaption{display:grid;grid-template-columns:34px minmax(0,1fr);gap:12px;align-items:start;margin-top:15px}
.cdg__visual figcaption span{padding-top:2px;color:#0071e3;font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.08em}
.cdg__visual figcaption strong{font-size:clamp(15px,1.5vw,18px);font-weight:650;line-height:1.35;letter-spacing:-.015em}
.cdg__principles{padding:clamp(76px,10vw,132px) 0;background:var(--cdg-soft)}
.cdg__cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:38px}
.cdg__card{min-height:310px;padding:30px;border:1px solid #e4e4e8;border-radius:24px;background:#fff}
.cdg__number{display:flex;width:36px;height:36px;align-items:center;justify-content:center;border-radius:50%;background:#fff;color:#0071e3;font-family:var(--font-mono);font-size:11px;font-weight:700}
.cdg__card h3{margin:68px 0 12px;font-family:var(--font-heading--family);font-size:clamp(24px,2.8vw,36px);font-weight:700;line-height:1.05;letter-spacing:-.035em}
.cdg__card p{margin:0;color:var(--cdg-muted);font-size:15px;line-height:1.58}
.cdg__example{padding:clamp(72px,9vw,116px) 0;background:#fff}
.cdg__example-inner{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:clamp(42px,8vw,104px);align-items:end}
.cdg__example-copy>p{max-width:760px;margin:26px 0 0;color:var(--cdg-muted);font-size:clamp(17px,1.7vw,20px);line-height:1.7}
.cdg__takeaway{padding:28px;border:1px solid #dce7f3;border-radius:24px;background:#f2f8ff}
.cdg__takeaway span{display:block;margin-bottom:14px;color:#0071e3;font-size:11px;font-weight:700;letter-spacing:.15em;text-transform:uppercase}
.cdg__takeaway strong{display:block;font-family:var(--font-heading--family);font-size:clamp(22px,2.4vw,30px);font-weight:700;line-height:1.16;letter-spacing:-.03em}
.cdg__faq{padding:clamp(72px,9vw,116px) 0;background:#0f1115;color:#f5f5f7}
.cdg__faq .cdg__section-label{color:#69aef4}
.cdg__faq-list{max-width:900px;margin:38px 0 0}
.cdg__faq details{border-top:1px solid #353840}
.cdg__faq details:last-child{border-bottom:1px solid #353840}
.cdg__faq summary{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:26px 0;cursor:pointer;list-style:none;font-size:clamp(18px,2vw,24px);font-weight:650}
.cdg__faq summary::-webkit-details-marker{display:none}
.cdg__faq summary::after{content:'+';color:#8cbff3;font-size:28px;font-weight:300}
.cdg__faq details[open] summary::after{content:'−'}
.cdg__faq details p{max-width:760px;margin:-4px 0 28px;color:#b8bcc6;font-size:16px;line-height:1.65}
.cdg__related{padding:clamp(76px,10vw,126px) 0;background:#fff}
.cdg__guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:36px}
.cdg__guide-link{display:flex;min-height:116px;align-items:flex-end;justify-content:space-between;gap:18px;padding:22px;border:1px solid #dedee3;border-radius:18px;text-decoration:none;transition:border-color .2s ease,transform .2s ease}
.cdg__guide-link:hover{border-color:#0071e3;transform:translateY(-2px)}
.cdg__guide-link[aria-current='page']{border-color:#0071e3;background:#f2f8ff}
.cdg__guide-link span{font-size:16px;font-weight:650;line-height:1.25}
.cdg__guide-link b{color:#0071e3;font-size:20px;font-weight:500}
.cdg__final{padding:0 0 clamp(82px,10vw,140px);text-align:center}
.cdg__final-inner{padding:clamp(52px,8vw,92px) 24px;border-radius:30px;background:var(--cdg-soft)}
.cdg__final h2{max-width:800px;margin:0 auto;font-family:var(--font-heading--family);font-size:clamp(38px,5.5vw,70px);font-weight:750;line-height:.98;letter-spacing:-.05em;text-wrap:balance}
.cdg__final p{max-width:670px;margin:20px auto 28px;color:var(--cdg-muted);font-size:17px;line-height:1.55}
@media(max-width:860px){.cdg__tool-layout,.cdg__example-inner,.cdg__cards,.cdg__guide-grid{grid-template-columns:1fr}.cdg__tool-intro{position:static}.cdg__card{min-height:250px}.cdg__card h3{margin-top:42px}.cdg__media{border-radius:22px}.cdg__media-caption{align-items:flex-start;flex-direction:column;gap:4px}.cdg__visual,.cdg__visual:nth-child(n){grid-column:span 6}.cdg__visual-media{border-radius:21px}}
@media(max-width:560px){.cdg__wrap{width:min(100% - 28px,1180px)}.cdg__hero{padding-top:48px}.cdg__hero h1{font-size:clamp(42px,14vw,62px)}.cdg__media{width:calc(100% - 16px);height:580px;border-radius:18px}.cdg__card{padding:24px;border-radius:19px}.cdg__final-inner{border-radius:22px}.cdg__media-caption{right:10px;bottom:10px;left:10px}.cdg__visual-grid{grid-template-columns:1fr;gap:30px}.cdg__visual,.cdg__visual:nth-child(n){grid-column:auto}.cdg__visual-media{border-radius:18px}}
