/* Curriculum cards and course planner. */
.curriculum-section{background:#f2f4f6}
.curriculum-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.curriculum-card{background:#fff;border:1px solid #e0e4e8;border-radius:4px;overflow:hidden}
.curriculum-card summary{list-style:none;display:grid;grid-template-columns:minmax(0,1fr) auto 22px;align-items:center;gap:12px;padding:19px 20px;cursor:pointer}
.curriculum-card summary::-webkit-details-marker{display:none}
.curriculum-title{min-width:0}
.curriculum-title small{display:block;color:#798391;font-size:8px;letter-spacing:.13em;margin-bottom:6px}
.curriculum-title strong{display:block;color:#102238;font:700 18px/1.2 var(--display);letter-spacing:-.03em}
.curriculum-fee{color:#15273b;font-size:10px;font-weight:700;text-align:right}
.curriculum-toggle{width:22px;height:22px;border:1px solid #e0e4e8;display:grid;place-items:center;color:var(--orange);font-size:17px;line-height:1;transition:transform .2s}
.curriculum-card[open] .curriculum-toggle{transform:rotate(45deg)}
.curriculum-body{border-top:1px solid #edf0f2;padding:16px 20px 20px}
.curriculum-body>p{color:#657182;font-size:11px;line-height:1.6;margin:0 0 12px}
.curriculum-body ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 17px;list-style:none;padding:0;margin:0 0 13px}
.curriculum-body li{position:relative;padding:7px 0 7px 14px;color:#465468;font-size:10px;line-height:1.45}
.curriculum-body li:before{content:"↗";position:absolute;left:0;color:var(--orange);font-size:9px}
.curriculum-body .text-link{font-size:10px}

.customize-section{background:#fff}
.customize-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);gap:18px;align-items:start}
.customize-form{background:#fff;border:1px solid #e0e4e8;border-radius:4px;padding:26px}
.custom-step{display:flex;align-items:center;gap:11px;margin:19px 0 11px;color:#15273b;font-size:12px}
.custom-step>span{width:28px;height:28px;border:1px solid #f0a05d;color:#ee7813;display:grid;place-items:center;font-size:9px;letter-spacing:.08em}
.custom-step strong{font-size:12px}
.custom-label{display:flex;flex-direction:column;gap:7px;margin-bottom:15px;color:#334359;font-size:10px;font-weight:700}
.custom-label input,.custom-label select{width:100%;min-height:42px;border:1px solid #d9dfe3;border-radius:2px;padding:10px 11px;color:#122238;background:#fff;font:400 12px var(--body);outline:none}
.custom-label input:focus,.custom-label select:focus{border-color:var(--orange);box-shadow:0 0 0 2px #ff79001a}
.custom-module-fieldset{border:0;padding:0;margin:0 0 12px;min-width:0}
.custom-module-fieldset legend{width:100%;padding:0;margin:0 0 12px}
.custom-module-fieldset legend .custom-step{margin:0 0 6px}
.custom-module-fieldset legend>small{display:block;color:#738091;font-size:9px;margin-left:39px}
.custom-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.custom-option{display:flex;flex-direction:row;align-items:flex-start;gap:9px;min-width:0;margin:0;padding:11px;border:1px solid #e1e5e8;background:#fbfcfd;cursor:pointer}
.custom-option input{flex:0 0 16px;width:16px;height:16px;margin:2px 0 0;accent-color:var(--orange)}
.custom-option>span{display:flex;flex-direction:column;gap:4px;min-width:0}
.custom-option strong{color:#24354a;font-size:9px;line-height:1.35}
.custom-option small{color:#8b949f;font-size:8px}
.custom-field-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.custom-submit{width:100%;min-height:48px;justify-content:space-between;margin-top:4px}
.custom-privacy{margin:10px 0 0;color:#87919d;font-size:9px;text-align:center;line-height:1.5}
.custom-status{min-height:18px;margin:7px 0 0;color:#286a4a;font-size:10px;text-align:center;line-height:1.4}
.customize-summary{position:sticky;top:18px;padding:25px;background:#0b203b;color:#fff;border-radius:4px}
.customize-summary h3{font:700 25px/1.15 var(--display);letter-spacing:-.04em;margin:15px 0 20px}
.custom-summary-line{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-top:1px solid #ffffff24;color:#aebccd;font-size:10px}
.custom-summary-line strong{color:#fff;font-size:13px;text-align:right}
.custom-summary-modules{margin-top:17px}
.custom-summary-modules>strong{font-size:10px;color:#ffad67}
.custom-summary-modules ul{list-style:none;padding:0;margin:8px 0 0}
.custom-summary-modules li{position:relative;padding:6px 0 6px 13px;color:#d8e0e8;font-size:10px;line-height:1.4}
.custom-summary-modules li:before{content:"↗";position:absolute;left:0;color:var(--orange)}
.custom-prerequisite{margin:16px 0 14px;padding-top:14px;border-top:1px solid #ffffff24;color:#aebccd;font-size:9px;line-height:1.55}
.customize-summary .text-link{color:#fff;font-size:10px}

@media(max-width:760px){
  html,body{max-width:100%;overflow-x:clip}
  .site-header{padding-left:16px;padding-right:16px}
  .hero{height:auto;min-height:0;max-height:none;padding:0 0 15px}
  .hero-image{inset:0 0 auto;height:300px;background-position:57% 42%;background-size:cover;opacity:.95}
  .hero-shade{inset:0 0 auto;height:322px;background:linear-gradient(0deg,#06172e 0%,#06172ed1 31%,#06172e25 100%)}
  .hero-content{padding-top:258px;padding-bottom:20px}
  .hero h1{font-size:clamp(41px,12vw,58px);line-height:1.01;margin:13px 0 14px;max-width:11ch}
  .hero-subtitle{font-size:12px;line-height:1.6;max-width:36ch}
  .hero-intro{font-size:13px;line-height:1.6;max-width:36ch;margin-bottom:18px}
  .hero-actions{display:grid;grid-template-columns:1fr;gap:9px;width:100%}
  .hero-actions .button{width:100%;min-height:48px;justify-content:space-between;padding:0 15px}
  .hero-proof{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px 12px;margin-top:23px;align-items:center}
  .hero-proof i{display:none}
  .hero-proof>span:last-child{grid-column:1/-1;padding-top:8px;border-top:1px solid #ffffff2e}
  .hero-proof strong{font-size:10px}
  .hero-proof small{font-size:9px}
  .hero-note,.scroll-cue{display:none}
  .section-heading{display:block}
  .section-heading>p{max-width:40ch}
  .tech-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:1fr;gap:9px}
  .tech-card{aspect-ratio:1;min-height:140px}
  .tech-info{left:11px;right:30px;bottom:12px}
  .tech-info strong{font-size:clamp(10px,3vw,12px);line-height:1.2}
  .tech-info small{font-size:8px;line-height:1.3}
  .journey-section{padding:58px 0 44px}
  .journey-wrap{display:block}
  .journey-heading h2{font-size:clamp(34px,9vw,42px);line-height:1.05}
  .journey-heading h2 br{display:none}
  .journey-heading p{font-size:12px;max-width:36ch}
  .journey-steps{display:flex;flex-direction:column;align-items:stretch;gap:7px;margin-top:22px}
  .journey-steps>i{align-self:flex-start;transform:rotate(90deg);margin:-2px 0 -2px 15px;font-size:16px}
  .journey-step{display:grid;grid-template-columns:34px minmax(0,1fr);grid-template-rows:auto auto;column-gap:12px;min-width:0;padding:12px 14px;border:1px solid #ffffff24;background:#ffffff0a}
  .journey-step>span{grid-row:span 2;display:grid;place-items:center;width:30px;height:30px;margin:0;border:1px solid #ff8a20;font-size:9px}
  .journey-step b{font-size:10px;line-height:1.35;white-space:normal}
  .journey-step small{max-width:none;margin-top:4px;font-size:10px;line-height:1.4}
  .journey-caption{grid-column:1;display:flex;margin-top:17px;font-size:10px;line-height:1.5}
  .course-grid{grid-template-columns:1fr;gap:13px}
  .course-image{height:clamp(185px,52vw,245px)}
  .course-content{padding:18px}
  .course-content h3{font-size:24px}
  .course-content>p{font-size:12px;line-height:1.55}
  .course-content li{font-size:11px;line-height:1.45}
  .course-content .button{min-height:48px;font-size:11px}
  .curriculum-grid{grid-template-columns:1fr;gap:10px}
  .curriculum-card summary{grid-template-columns:minmax(0,1fr) auto 22px;gap:8px;padding:16px}
  .curriculum-title strong{font-size:17px}
  .curriculum-fee{font-size:9px;max-width:82px}
  .curriculum-body{padding:14px 16px 17px}
  .curriculum-body ul{grid-template-columns:1fr}
  .curriculum-body li{font-size:11px}
  .customize-layout{grid-template-columns:1fr;gap:12px}
  .customize-form{padding:20px 16px}
  .customize-summary{position:static;top:auto;padding:21px}
  .custom-field-row{grid-template-columns:1fr;gap:0}
  .custom-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  .custom-option{padding:9px 8px;gap:7px}
  .custom-option strong{font-size:9px}
  .custom-option small{font-size:8px}
  .footer-links{gap:12px}
  .detail-dialog[open]{display:block;max-height:90vh;overflow:auto}
  .dialog-image{height:185px;min-height:0}
  .dialog-body{padding:22px 18px}
  .dialog-body h2{font-size:26px}
}
@media(max-width:380px){
  .wrap{width:min(calc(100% - 32px),var(--wrap))}
  .hero-content{padding-top:242px}
  .hero h1{font-size:40px}
  .tech-card{min-height:132px}
  .custom-choice-grid{grid-template-columns:1fr}
  .course-meta{font-size:8px}
  .course-price strong{font-size:26px}
}
