/* Homepage sections. Shared header/menu geometry remains in navigation.css. */
.home-content{min-height:calc(100vh - 80px);padding:46px var(--cando-space-4) var(--cando-space-16);background:var(--cando-background-surface)}
.home-hero{display:grid;grid-template-columns:minmax(0,1fr);gap:39px;max-width:640px;margin-inline:auto}
.home-hero p,.home-hero h1,.home-hero h2,.home-hero figure{margin:0}
.home-hero__intro,.home-hero__visual{min-width:0}
.home-hero__visual{grid-row:1}
.home-hero__badge-row{display:flex;justify-content:flex-start;padding:10px;margin-block-end:var(--cando-space-4)}
.home-hero__badge{display:inline-flex;align-items:center;gap:var(--cando-space-2);padding:4px 12px;background:var(--cando-neutral-0);border:1px solid var(--cando-neutral-50);border-radius:8px;font-size:var(--cando-font-size-xs);line-height:var(--cando-line-height-xs);color:var(--cando-text-tertiary)}
.home-status-dot{display:inline-block;width:8px;height:8px;flex:none;border-radius:50%;background:var(--cando-success-500)}
.home-hero h1{font-size:var(--cando-display-lg-size);line-height:var(--cando-display-lg-lh);font-weight:var(--cando-font-weight-bold)}
.home-hero h1 span{display:block;color:var(--cando-primary-400)}
.home-hero__description{max-width:429px;margin-block-start:var(--cando-space-4)!important;color:var(--cando-text-tertiary);font-size:var(--cando-body-xl-size);line-height:var(--cando-body-xl-lh)}
.home-goals{display:grid;gap:var(--cando-space-2);margin-block-start:var(--cando-space-8)}
.home-goal{display:flex;align-items:center;gap:var(--cando-space-2);min-height:68px;padding:var(--cando-space-4);border:2px solid var(--cando-border-disabled);border-radius:12px;background:var(--cando-background-surface);font-size:var(--cando-font-size-s);line-height:var(--cando-line-height-s)}
.home-goal__number{display:grid;place-items:center;flex:none;width:32px;height:32px;border-radius:6px;background:var(--cando-neutral-0);color:var(--cando-text-tertiary);font-size:var(--cando-font-size-xs);font-weight:var(--cando-font-weight-bold)}
.home-goal__label{flex:1;min-width:0}
.home-goal__arrow{display:block;width:16px;height:16px;flex:none;margin-inline-start:8px}
.home-goal:hover,.home-hero.has-selection .home-goal.is-active{border-color:var(--cando-brand-400)}
.home-hero.has-selection .home-goal.is-active .home-goal__number{background:var(--cando-brand-50);color:var(--cando-brand-600)}
.home-hero__catalog-note{display:flex;align-items:center;gap:18px;padding-block:var(--cando-space-6);font-size:var(--cando-font-size-s);line-height:var(--cando-line-height-s);color:var(--cando-text-tertiary)}
.home-hero__catalog-note strong{font-weight:var(--cando-font-weight-regular);color:var(--cando-text-primary)}
.home-hero__avatars{display:flex;flex:none;padding-inline-end:8px}
.home-hero__avatars img{display:block;flex:none;width:32px;height:32px;margin-inline-end:-8px;border-radius:50%}
.home-hero__photo{max-width:356px;margin-inline:auto!important;border:1px solid var(--cando-border-disabled);border-radius:12px;overflow:hidden;box-shadow:0 1px 3px #0000001a,0 1px 2px -1px #0000001a}
.home-hero__photo-image{position:relative;height:360px;background:var(--cando-neutral-50)}
.home-hero__photo-image>img{width:100%;height:100%;display:block;object-fit:cover}
.home-hero__photo-image::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,#00000059,transparent 60%);pointer-events:none}
.home-hero__photo-prompt{position:absolute;z-index:1;inset-inline:8px;inset-block-end:8px;width:fit-content;max-width:calc(100% - 16px);margin-inline-start:auto!important;display:flex;align-items:center;gap:8px;padding:6px 12px;border-radius:6px;background:var(--cando-background-surface);font-size:var(--cando-font-size-xs);line-height:var(--cando-line-height-xs)}
.home-hero__photo figcaption{padding:16px 20px;background:var(--cando-neutral-0);font-size:var(--cando-body-m-size);line-height:var(--cando-body-m-lh)}
.home-suggestions{display:none;scroll-margin-block-start:100px}
.home-hero.has-selection .home-hero__photo{display:none}
.home-hero.has-selection .home-suggestions{display:block}
.home-suggestion{border:1px solid var(--cando-brand-200);border-radius:12px;overflow:hidden;background:var(--cando-background-surface)}
.home-suggestion__header{padding:var(--cando-space-6);background:var(--cando-brand-0)}
.home-suggestion__eyebrow{display:flex;align-items:center;gap:8px;color:var(--cando-brand-700);font-size:var(--cando-font-size-xs);line-height:var(--cando-line-height-xs);font-weight:var(--cando-font-weight-bold)}
.home-suggestion__eyebrow span{width:8px;height:8px;flex:none;border-radius:50%;background:var(--cando-brand-500)}
.home-suggestion__header h2{margin-block:var(--cando-space-4) var(--cando-space-2);font-size:var(--cando-font-size-xl);line-height:var(--cando-line-height-xl);font-weight:var(--cando-font-weight-medium)}
.home-suggestion__header>p:last-child{color:var(--cando-text-tertiary);font-size:var(--cando-font-size-s);line-height:var(--cando-line-height-s)}
.home-suggestion__body{display:flex;flex-direction:column;gap:var(--cando-space-6);padding:var(--cando-space-6)}
.home-suggestion__stats{display:grid;grid-template-columns:1fr 1fr;text-align:center;margin:0}
.home-suggestion__stats>div{display:flex;flex-direction:column-reverse;gap:4px}
.home-suggestion__stats dt{font-size:var(--cando-font-size-s);line-height:var(--cando-line-height-s);color:var(--cando-text-tertiary)}
.home-suggestion__stats dd{margin:0;color:var(--cando-brand-700);font-size:var(--cando-font-size-2xl);line-height:var(--cando-line-height-2xl);font-weight:var(--cando-font-weight-bold)}
.home-suggestion__courses{display:grid;gap:var(--cando-space-4);list-style:none;margin:0;padding:0}
.home-suggestion__courses a{display:flex;align-items:center;gap:var(--cando-space-2);min-height:24px;font-size:var(--cando-font-size-s);line-height:var(--cando-line-height-s)}
.home-suggestion__courses a:hover .home-suggestion__course-title{text-decoration:underline}
.home-suggestion__number{display:grid;place-items:center;width:24px;height:24px;flex:none;background:var(--cando-brand-0);color:var(--cando-brand-700);border-radius:4px;font-size:var(--cando-font-size-xs)}
.home-suggestion__course-title{flex:1;min-width:0;overflow-wrap:anywhere;text-align:right}
.home-suggestion__hours{flex:none;max-width:70px;color:var(--cando-text-tertiary);font-size:var(--cando-font-size-xs);line-height:var(--cando-line-height-xs)}
.home-suggestion__note{margin-block-start:auto;border-inline-start:3px solid var(--cando-brand-500);border-radius:12px;padding:12px}
.home-suggestion__note p:first-child{color:var(--cando-brand-700);font-size:var(--cando-font-size-xs);line-height:var(--cando-line-height-xs);margin-block-end:4px}
.home-suggestion__note p:last-child,.home-suggestion__empty{font-size:var(--cando-font-size-s);line-height:var(--cando-line-height-s)}
.home-suggestion__actions{display:flex;flex-wrap:wrap;gap:8px}
.home-suggestion__actions .button{flex:1 1 auto;min-height:48px;font-size:var(--cando-font-size-m);line-height:var(--cando-line-height-m);border-radius:8px;padding:10px 16px;text-align:center}
.home-suggestion__actions .button--primary{flex-grow:3;box-shadow:0 2px 6px #7367f04d}
.home-suggestion__another{border-color:var(--cando-neutral-500);background:var(--cando-background-surface)}
@media(min-width:1280px){
 .home-content{padding-block-start:42px}
 .home-hero{grid-template-columns:minmax(0,529.5fr) minmax(0,487.5fr);align-items:center;max-width:1056px;min-height:757px}
 .home-hero__intro{grid-column:1;grid-row:1}
 .home-hero__visual{grid-column:2;align-self:stretch}
 .home-hero__badge-row{height:50px;padding:0;margin:0;align-items:flex-start}
 .home-hero h1{font-weight:var(--cando-font-weight-medium)}
 .home-hero h1 span{font-weight:var(--cando-font-weight-regular)}
 .home-goals{max-width:471.5px}
 .home-goal.is-active{border-color:var(--cando-brand-400)}
 .home-goal.is-active .home-goal__number{background:var(--cando-brand-50);color:var(--cando-brand-600)}
 .home-hero__photo{display:none}
 .home-suggestions{display:block;height:100%}
 .home-suggestion:not([hidden]){display:flex;flex-direction:column;min-height:757px;height:100%}
 .home-suggestion__body{flex:1}
}

/* The page uses full-width bands around a shared 1280px content grid. */
.home-content{padding-block-end:0}
.home-section,.home-section-inner{max-width:1280px;margin-inline:auto;min-width:0}
.home-section,.home-band{margin-block-start:var(--cando-space-16)}
.home-band{margin-inline:calc(-1 * var(--cando-space-4));padding:var(--cando-space-8) var(--cando-space-4)}
.home-section h2,.home-section h3,.home-band h2,.home-band h3,.home-section p,.home-band p{margin:0}
.home-section h2,.home-band h2{font-size:var(--cando-heading-m-size);line-height:var(--cando-heading-m-lh);font-weight:var(--cando-font-weight-bold)}
.home-section h3,.home-band h3{font-size:var(--cando-body-xl-size);line-height:var(--cando-body-xl-lh);font-weight:var(--cando-font-weight-bold)}
.home-section-heading{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:var(--cando-space-4);margin-block-end:var(--cando-space-8)}
.home-section-heading p{margin-block-start:var(--cando-space-2);color:var(--cando-text-tertiary)}
.home-section-link{display:inline-flex;align-items:center;gap:8px;color:var(--cando-primary-500);font-size:var(--cando-font-size-s);line-height:var(--cando-line-height-s)}
.home-section-link img{flex:none;width:16px;height:16px}
.home-section-link:hover,.home-card-bottom a:hover{text-decoration:underline}
.home-demo-note{display:block;width:fit-content;margin-block-end:12px!important;padding:3px 8px;border:1px dashed currentColor;border-radius:4px;font-size:var(--cando-font-size-xs);line-height:var(--cando-line-height-xs);color:var(--cando-text-tertiary)}
.home-stats{padding:var(--cando-space-4);border-radius:12px;background:var(--cando-primary-800);color:var(--cando-text-on-primary)}
.home-stats .home-demo-note{color:var(--cando-primary-100);margin-inline:auto}
.home-stats dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;text-align:center}
.home-stats dl>div{display:flex;flex-direction:column-reverse;justify-content:space-between;gap:8px;padding:8px}
.home-stats dt{font-size:var(--cando-font-size-xs);line-height:var(--cando-line-height-xs)}
.home-stats dd{margin:0;font-size:var(--cando-font-size-2xl);line-height:var(--cando-line-height-2xl);font-weight:var(--cando-font-weight-bold)}
.home-card-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--cando-space-4)}
.home-card-meta,.home-card-bottom{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}
.home-tag{display:inline-flex;align-items:center;max-width:100%;padding:4px 12px;border-radius:4px;background:var(--cando-neutral-0);font-size:var(--cando-font-size-xs);line-height:var(--cando-line-height-xs);overflow-wrap:anywhere}
.home-tag--primary{color:var(--cando-primary-500);background:var(--cando-primary-0)}
.home-tag--brand{color:var(--cando-brand-800);background:var(--cando-brand-50)}
.home-card-bottom{padding-block-start:12px;margin-block-start:auto;border-block-start:1px solid var(--cando-border-disabled);color:var(--cando-text-tertiary);font-size:var(--cando-font-size-xs);line-height:var(--cando-line-height-xs)}
.home-card-bottom a{display:inline-flex;align-items:center;gap:8px;color:var(--cando-primary-500)}
.home-card-bottom a img{width:16px;height:16px}
.home-introduction{background:var(--cando-neutral-0)}
.home-introduction__inner{max-width:1062px;margin-inline:auto;display:grid;gap:69px;align-items:center}
.home-introduction__media{position:relative;overflow:hidden;margin:0;min-width:0;height:320px;border-radius:8px;background:var(--cando-neutral-500)}
.home-introduction__media>img{display:block;width:100%;height:320px;object-fit:cover}
.home-introduction__media figcaption{position:absolute;inset-inline:0;inset-block-end:0;padding:32px 20px 20px;background:linear-gradient(transparent,#000c);color:var(--cando-text-on-primary)}
.home-introduction__media figcaption strong,.home-introduction__media figcaption span{display:block}
.home-introduction__media figcaption strong{font-size:var(--cando-body-xl-size);line-height:var(--cando-body-xl-lh)}
.home-introduction__media figcaption span{margin-block-start:4px;color:var(--cando-neutral-100)}
.home-introduction__copy{display:flex;flex-direction:column;gap:24px;min-width:0}
.home-introduction h2 span{display:block;color:var(--cando-primary-400)}
.home-introduction__copy>p{color:var(--cando-text-tertiary);font-size:var(--cando-body-xl-size);line-height:var(--cando-body-xl-lh)}
.home-introduction ul{list-style:none;display:grid;gap:16px;margin:0;padding:0}
.home-introduction li{display:flex;align-items:center;gap:8px}
.home-introduction li img{flex:none;width:24px;height:24px}
.home-introduction .button{min-height:48px}
.home-benefits{background:var(--cando-primary-600)}
.home-benefits h2{color:var(--cando-text-on-primary)}
.home-scroll-row{display:flex;gap:16px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;scroll-padding-inline:2px;padding:4px 2px 12px;scrollbar-width:thin;min-width:0}
.home-scroll-row>*{flex:0 0 min(100%,358px);scroll-snap-align:start;min-width:0}
.home-benefit-grid>*{flex-basis:min(100%,313px)}
.home-benefit-card{background:var(--cando-background-surface);border-radius:8px;padding:24px;min-height:206px}
.home-benefit-icon{display:grid;place-items:center;width:40px;height:40px;background:var(--cando-primary-0);border-radius:12px;margin-block-end:16px}
.home-benefit-icon img{width:24px;height:24px}
.home-benefit-card p{margin-block-start:8px;color:var(--cando-text-tertiary)}
#home-goals{scroll-margin-block-start:100px}
.home-teacher-card{overflow:hidden;min-width:0;border:1px solid var(--cando-border-disabled);border-radius:8px;background:var(--cando-background-surface)}
.home-teacher-card__portrait{display:grid;place-items:center;position:relative;height:260px;background:var(--cando-neutral-0)}
.home-teacher-card__portrait>picture{display:block;width:100%;height:260px}
.home-teacher-card__portrait img{display:block;width:100%;height:260px;object-fit:contain}
.home-teacher-card__portrait:has(img)::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,#0008,transparent 50%);pointer-events:none}
.home-teacher-initial{display:grid;place-items:center;width:100px;height:100px;background:var(--cando-primary-0);color:var(--cando-primary-500);border-radius:50%;font-size:var(--cando-font-size-3xl)}
.home-teacher-card__body{display:flex;flex-direction:column;gap:4px;min-height:182px;padding:16px 12px 24px}
.home-teacher-card__body h3{font-size:var(--cando-font-size-m);line-height:var(--cando-line-height-m);font-weight:var(--cando-font-weight-medium)}
.home-teacher-card__body>p{color:var(--cando-text-tertiary)}
.home-teacher-tags{display:flex;flex-wrap:wrap;gap:6px;margin-block:12px 16px}
.home-rating{position:relative;display:inline-flex;align-items:center;gap:4px;flex:none;width:fit-content;padding:2px 8px;border-radius:4px;background:var(--cando-neutral-0);color:var(--cando-text-tertiary);font-size:var(--cando-font-size-xs);line-height:var(--cando-line-height-xs);direction:ltr}
.home-rating img{width:16px;height:16px}
.home-stories{padding:32px 12px;background:var(--cando-neutral-500);color:var(--cando-text-on-primary);border-radius:8px}
.home-stories>header{text-align:center}
.home-stories>header>p{color:var(--cando-text-disabled);margin-block-start:8px}
.home-stories .home-demo-note{margin:12px auto 0!important;color:var(--cando-neutral-100)}
.home-story-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;max-width:1030px;margin:32px auto 0}
.home-story-card{display:flex;align-items:center;gap:16px;padding:16px;min-height:100px;background:var(--cando-neutral-400);border:1px solid var(--cando-neutral-300);border-radius:12px;min-width:0}
.home-story-card>img{width:56px;height:56px;flex:none;border-radius:50%;object-fit:cover}
.home-story-card>div{min-width:0;flex:1}
.home-story-card h3{font-size:var(--cando-font-size-xs);line-height:var(--cando-line-height-xs);font-weight:var(--cando-font-weight-regular)}
.home-story-card .home-tag{padding:4px 8px;font-size:10px}
.home-story-card p{color:var(--cando-text-disabled);font-size:var(--cando-font-size-s);line-height:var(--cando-line-height-s);text-align:right;overflow-wrap:anywhere;margin-block-start:4px}
.home-company-strip{border-block-start:1px solid var(--cando-neutral-400);margin-block-start:40px;padding-block-start:32px;text-align:center}
.home-company-strip>p{color:var(--cando-text-disabled);font-size:var(--cando-font-size-xs);line-height:var(--cando-line-height-xs)}
.home-company-strip>div{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;max-width:920px;margin:24px auto 0}
.home-company-logo{display:block;object-fit:contain;width:56px;height:48px}
.home-comment-card{display:flex;flex-direction:column;gap:16px;min-height:210px;margin:0;padding:20px;border:1px solid var(--cando-border-disabled);border-radius:16px;background:var(--cando-background-surface)}
.home-comment-card>.home-rating{align-self:flex-end}
.home-comment-card blockquote{margin:0;line-height:var(--cando-line-height-s)}
.home-comment-card figcaption{display:flex;align-items:center;gap:12px;margin-block-start:auto}
.home-comment-card figcaption>img{width:40px;height:40px;flex:none;border-radius:50%}
.home-comment-card figcaption strong,.home-comment-card figcaption span{display:block}
.home-comment-card figcaption strong{font-weight:var(--cando-font-weight-medium)}
.home-comment-card figcaption span{font-size:var(--cando-font-size-xs);line-height:var(--cando-line-height-xs);color:var(--cando-text-tertiary)}
.home-blog-card{overflow:hidden;border:1px solid var(--cando-border-disabled);border-radius:16px;background:var(--cando-background-surface)}
.home-blog-card__image{height:176px;background:var(--cando-neutral-0)}
.home-blog-card__image img{display:block;width:100%;height:176px;object-fit:cover}
.home-blog-card__body{display:flex;flex-direction:column;gap:12px;min-height:227px;padding:20px}
.home-blog-card .home-card-meta{font-size:var(--cando-font-size-xs);line-height:var(--cando-line-height-xs);color:var(--cando-text-tertiary)}
.home-blog-card h3{font-size:var(--cando-font-size-m);line-height:var(--cando-line-height-m)}
.home-blog-card__body>p{font-size:var(--cando-font-size-xs);line-height:var(--cando-line-height-xs);color:var(--cando-text-tertiary)}
.home-blog-author{display:flex;align-items:center;gap:8px}
.home-blog-author img{width:24px;height:24px;border-radius:50%}
.home-about{background:var(--cando-neutral-0)}
.home-about h2{font-size:var(--cando-heading-s-size);line-height:var(--cando-heading-s-lh)}
.home-about__columns{display:grid;gap:24px;margin-block-start:24px;color:var(--cando-text-tertiary);line-height:var(--cando-line-height-s)}
.home-about__columns p+p{margin-block-start:16px}
.home-topic-chips{display:flex;flex-wrap:wrap;gap:8px;margin-block-start:24px}
.home-topic-chips a{padding:6px 12px;border:1px solid var(--cando-border-disabled);border-radius:4px;background:var(--cando-background-surface);font-size:var(--cando-font-size-xs);line-height:var(--cando-line-height-xs)}
.home-topic-chips a:hover{border-color:var(--cando-primary-300);color:var(--cando-primary-500)}
.home-final-cta{padding-block:32px!important;text-align:center}
.home-final-cta>p:first-child{font-size:var(--cando-font-size-xs);line-height:var(--cando-line-height-xs);color:var(--cando-text-tertiary)}
.home-final-cta h2{margin-block:8px}
.home-final-cta h2 span{color:var(--cando-primary-400)}
.home-final-cta>p{color:var(--cando-text-tertiary)}
.home-final-cta .button{min-height:48px;margin-block-start:16px;padding-inline:26px}
@media(max-width:767px){.home-teacher-grid>:nth-child(n+4){display:none}.home-teacher-card__portrait img{object-fit:cover}}
@media(min-width:768px){.home-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}}
@media(min-width:1280px){
 .home-band{padding-block:64px}
 .home-stats dl{grid-template-columns:repeat(4,minmax(0,1fr))}
 .home-stats dl>div{min-height:96px}
 .home-stats dt{font-size:var(--cando-font-size-s);line-height:var(--cando-line-height-s)}
 .home-stats dd{font-size:var(--cando-font-size-3xl);line-height:var(--cando-line-height-3xl)}
 .home-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 .home-introduction__inner{grid-template-columns:minmax(0,1fr) minmax(0,1fr);direction:ltr}
 .home-introduction{min-height:624px;display:grid;align-items:center}
 .home-introduction__inner{width:100%}
 .home-introduction__copy,.home-introduction__media{direction:rtl}
 .home-introduction .button{width:298px;align-self:flex-start}
 .home-benefit-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
 .home-benefits .home-section-heading{margin-block-end:24px}
 .home-story-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-block-start:48px}
 .home-stories{padding:64px 24px}
 .home-company-logo{width:88px;height:80px}
 .home-comment-grid,.home-blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
 .home-about__columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px}
}
