/* Shared inner-page components: extends styles.css, storybrand.css, about.css and v3.css */
.breadcrumb{display:flex;gap:8px;align-items:center;margin-top:32px;font-size:12px;line-height:16px;color:var(--muted)}
.breadcrumb a:hover{color:var(--navy)}
.inner-page .hero{padding-top:24px}

.suits-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:12px 32px;max-width:720px}
.suits-list li{display:flex;gap:12px;font-size:14px;line-height:20px}
.suits-list li:before{content:'';flex:none;width:6px;height:6px;margin-top:7px;border-radius:50%;background:var(--orange)}

.reason-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:24px}
.reason{border-top:2px solid var(--navy);padding-top:24px}
.reason h3{margin-bottom:12px}
.reason p{color:var(--muted)}
.reason-lead{grid-row:span 2;background:var(--navy);color:var(--cream);border:0;border-radius:120px 16px 16px 16px;padding:72px 32px 32px}
.reason-lead h3{font:400 32px/36px 'DM Serif Display',Georgia,serif;margin-bottom:16px}
.reason-lead p{color:var(--on-navy)}

.route-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.route-card{background:var(--paper);border-radius:8px;padding:32px;display:flex;flex-direction:column}
.route-card .eyebrow{color:var(--orange-text);margin-bottom:12px}
.route-card h3{font:400 28px/32px 'DM Serif Display',Georgia,serif;margin-bottom:16px}
.route-card>p:not(.eyebrow):not(.status-note){color:var(--muted)}
.route-card .tags li{background:var(--cream)}
.route-card .status-note{display:flex;align-items:center;gap:8px;margin-top:auto;font-size:12px;line-height:16px}
.route-card .route-link{margin-top:auto;align-self:flex-start}
.route-card .tags{margin-bottom:24px}
.route-card h3{min-height:64px}
.route-card{transition:transform .2s var(--curve)}
.route-card:hover,.js-motion .route-card.visible:hover{transform:translateY(-2px)}

.factor-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:0 48px}
.factor-grid li{padding-block:24px;border-bottom:1px solid var(--line)}
.factor-grid h3{display:flex;gap:12px;margin-bottom:8px}
.factor-grid h3:before{content:'';flex:none;width:8px;height:8px;margin-top:10px;border-radius:50%;background:var(--orange)}
.factor-grid p{color:var(--muted);padding-left:20px}

.journey-six{list-style:none;margin:0 0 48px;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.journey-six li{position:relative;padding-top:32px}
.journey-six li:before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--line);transform-origin:left}
.journey-six h3{margin-bottom:12px}
.journey-six p{color:var(--muted)}
.journey-six .step-number{font-size:48px}
.journey-six .journey-last:before{background:var(--orange)}
.journey-last .step-number{color:var(--orange-text)}

.network-strip{padding-block:80px}
.network-strip-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:40px}
.network-strip h2{font-size:48px;line-height:1}
.network-strip .eyebrow{opacity:.75}
.network-strip .text-link{color:var(--cream)}
.network-strip .fine-print{color:var(--on-navy)}
.network-strip .logo-grid li{border-color:transparent}

@media(max-width:1200px){
  .reason-grid{grid-template-columns:repeat(2,1fr)}
  .reason-lead{grid-row:auto;grid-column:span 2;padding:48px 32px 32px}
  .reason-grid-four .reason{grid-column:auto}
}
@media(max-width:960px){
  .route-grid,.factor-grid{grid-template-columns:1fr 1fr}
  .journey-six{grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
  .suits-list,.reason-grid,.route-grid,.factor-grid,.journey-six{grid-template-columns:1fr}
  .reason-lead{grid-column:auto;border-radius:72px 16px 16px 16px}
  .reason-lead h3,.route-card h3{font-size:26px;line-height:30px}
  .route-card{padding:24px}
  .journey-six{gap:32px}
  .journey-six li{padding-top:24px}
  .section-cta{width:100%}
  .route-card h3{min-height:0}
  .network-strip{padding-block:56px}
  .network-strip h2{font-size:36px;line-height:40px}
  .network-strip-head{flex-direction:column;align-items:flex-start}
  .breadcrumb{margin-top:24px}
}

/* Hero side panels for pages without a photograph */
.hero-panel{align-self:center;background:var(--navy);color:var(--cream);border-radius:160px 16px 16px 16px;padding:96px 48px 48px;display:flex;flex-direction:column;gap:24px}
.hero-panel .eyebrow{opacity:.75;margin:0}
.panel-note{font-size:12px;line-height:16px;color:var(--on-navy);border-top:1px solid color-mix(in srgb,var(--white) 18%,transparent);padding-top:16px}
.panel-steps,.flow{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:16px;counter-reset:panel}
.panel-steps li{counter-increment:panel;display:grid;grid-template-columns:40px 1fr;column-gap:12px}
.panel-steps li:before{content:counter(panel,decimal-leading-zero);grid-row:span 2;font:400 24px/28px 'DM Serif Display',Georgia,serif;color:var(--orange-text)}
.panel-steps strong,.flow strong{font-weight:600;font-size:18px;line-height:28px}
.panel-steps span,.flow span{color:var(--on-navy);font-size:14px;line-height:20px}
.flow li{position:relative;display:flex;flex-direction:column;background:color-mix(in srgb,var(--white) 7%,transparent);border-radius:12px;padding:16px 20px}
.flow li+li:before{content:'↓';position:absolute;top:-17px;left:24px;color:var(--orange-text);font-size:14px;line-height:16px}
.flow li:nth-child(2){background:var(--orange);color:var(--ink)}
.flow li:nth-child(2) span{color:var(--ink)}
.compare{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.compare>div{background:color-mix(in srgb,var(--white) 7%,transparent);border-radius:12px;padding:20px;display:flex;flex-direction:column;gap:8px}
.compare h2{font-size:28px;line-height:32px}
.compare p{color:var(--on-navy);font-size:14px;line-height:20px}
.compare-tag{margin-top:auto;align-self:flex-start;font-size:12px;line-height:16px;background:var(--cream);color:var(--navy);border-radius:4px;padding:4px 8px}

/* Arrival areas */
.area-list{display:grid;grid-template-columns:1fr 1fr;gap:0 48px}
.area-list .care-item:last-child{grid-column:span 2}
.care-item .area-note{font-size:12px;line-height:16px;color:var(--navy);margin-top:12px;display:flex;gap:8px}
.care-item .area-note:before{content:'';flex:none;width:4px;height:4px;margin-top:6px;border-radius:50%;background:var(--orange)}

/* Korea status board */
.status-board{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:24px}
.status-col{border-radius:8px;padding:32px;display:flex;flex-direction:column;gap:20px;border:1px solid var(--line)}
.status-now{background:var(--navy);color:var(--cream);border-color:var(--navy)}
.status-now .status-item p{color:var(--on-navy)}
.status-planned{background:var(--cream);border-color:var(--cream)}
.status-label{display:flex;align-items:center;gap:8px;font-size:12px;line-height:16px;font-weight:700;text-transform:uppercase;letter-spacing:.15em}
.status-label span{width:8px;height:8px;border-radius:50%;background:var(--orange)}
.status-planned .status-label span{background:transparent;border:2px solid var(--orange)}
.status-none .status-label span{background:var(--line)}
.status-item h3{margin-bottom:4px}
.status-item p{color:var(--muted);font-size:14px;line-height:20px}

/* Grid variants */
.reason-grid-four{grid-template-columns:repeat(4,1fr)}
.logo-grid-pair{grid-template-columns:repeat(6,1fr)}
.guidance-hero{padding-top:48px}
.guidance-hero h1{font-size:72px;line-height:1;margin-bottom:24px}

@media(max-width:1200px){
  .reason-grid-four{grid-template-columns:repeat(2,1fr)}
  .hero-panel{padding:72px 32px 32px;border-top-left-radius:96px}
}
@media(max-width:960px){
  .status-board{grid-template-columns:1fr}
  .logo-grid-pair{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:760px){
  .hero-panel{padding:56px 24px 24px;border-top-left-radius:72px}
  .compare,.area-list,.reason-grid-four{grid-template-columns:1fr}
  .area-list .care-item:last-child{grid-column:auto}
  .status-col{padding:24px}
  .guidance-hero{padding-top:24px}
  .guidance-hero h1{font-size:48px}
}

/* Wide logos fill their tile; consistent start for section intro paragraphs */
.logo-grid .logo-wide{padding-inline:8px}
.logo-grid .logo-wide img{width:100%}
.section-heading>p{flex:0 0 400px}
.about-page .promise h2{max-width:900px}
@media(max-width:760px){
  .section-heading>p{flex:none}
  .promise-leaf{width:120px;height:120px;top:auto;bottom:24px;opacity:.35}
}

/* Logo rows: colleges (2) and schools (7) share one row of equal tiles; no orphan tiles on smaller screens */
.logo-columns{grid-template-columns:1fr;gap:0}
.logo-columns .logo-group:first-child .logo-grid{grid-template-columns:repeat(7,1fr)}
.v3 .logo-grid.logo-grid-seven,.logo-grid-seven{grid-template-columns:repeat(7,1fr)}
.about-page .logo-group{margin-bottom:40px}
.about-page .logo-group .logo-grid{margin-bottom:0}
@media(max-width:960px){
  .logo-columns .logo-group:first-child .logo-grid{grid-template-columns:repeat(3,1fr)}
  .v3 .logo-grid.logo-grid-seven,.logo-grid-seven{grid-template-columns:repeat(3,1fr)}
  .logo-grid-seven li:last-child{grid-column:1/-1}
}
@media(max-width:760px){
  .v3 .logo-grid.logo-grid-lead,.v3 .logo-grid.logo-grid-seven{grid-template-columns:repeat(2,1fr)}
  .v3 .logo-grid.logo-grid-lead li{height:96px}
  .promise-leaf{display:none}
  .logo-columns .logo-group:first-child .logo-grid{grid-template-columns:repeat(2,1fr)}
}

/* StoryBrand Malaysia variant */
.results-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.results-grid article{border-top:2px solid var(--orange);padding-top:24px}
.results-grid h3{font:400 28px/32px 'DM Serif Display',Georgia,serif;margin-bottom:12px}
.results-grid p{color:var(--muted)}
.glance-light{margin-bottom:48px}
.glance-light>div{border-left-color:var(--line)}
.glance-light dt{color:var(--muted);opacity:1}
.glance-light dd{color:var(--muted)}
.glance-light strong{color:var(--navy)}
.journey-three{grid-template-columns:repeat(3,1fr)}
@media(max-width:760px){
  .results-grid{grid-template-columns:1fr}
  .results-grid h3{font-size:24px;line-height:28px}
  .journey-three{grid-template-columns:1fr}
}

/* Two-column bands line their right column up with section intro paragraphs */
@media(min-width:961px){.partner-section{grid-template-columns:1fr 400px}}

/* Why Malaysia with photography */
.reason-grid-photos .reason{border-top:0;padding-top:0;display:flex;flex-direction:column;gap:16px}
.reason-photo{margin:0;border-radius:12px;overflow:hidden;aspect-ratio:16/10;background:var(--cream)}
.reason-photo img{width:100%;height:100%;object-fit:cover;display:block}

.reason-grid-photos .reason-lead{padding:0;overflow:hidden;gap:0}
.reason-grid-photos .reason-lead .reason-photo{border-radius:0;aspect-ratio:auto;flex:1;min-height:260px}
.reason-grid-photos .reason-lead .reason-body{padding:32px}
@media(max-width:1200px){
  .reason-grid-photos .reason-lead{display:grid;grid-template-columns:1.2fr 1fr;padding:0}
  .reason-grid-photos .reason-lead .reason-photo{min-height:280px}
  .reason-grid-photos .reason-lead .reason-body{align-self:center}
}
@media(max-width:760px){
  .reason-grid-photos .reason-lead{display:flex}
  .reason-grid-photos .reason-lead .reason-photo{min-height:200px;flex:none;aspect-ratio:16/10}
  .reason-grid-photos .reason-lead .reason-body{padding:24px}
}
@media(prefers-reduced-motion:reduce){.reason-photo img{transition:none}.reason-grid-photos .reason:hover .reason-photo img{transform:none}}

/* Real photography from the client shoot */
.hero-visual>img.pos-right{object-position:66% center}
.team-band{margin-top:0;margin-bottom:96px}
.team-band img{width:100%;height:auto;display:block;aspect-ratio:16/8;object-fit:cover;object-position:center 40%;border-radius:120px 16px 16px 16px}
.team-band figcaption{margin-top:16px;color:var(--muted);font-size:14px;line-height:20px}
.team-band figcaption strong{color:var(--navy);font-weight:600}
.clc-band{display:grid;grid-template-columns:1fr 1.5fr;gap:48px;align-items:center}
.clc-copy>p:not(.eyebrow){color:var(--muted);margin-top:24px;max-width:420px}
.clc-photos{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.clc-photos figure{margin:0}
.clc-photos img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:12px;display:block}
.clc-photos figure:first-child img{border-top-left-radius:72px}
.clc-photos figcaption{margin-top:8px;font-size:12px;line-height:16px;color:var(--muted)}
@media(max-width:960px){
  .clc-band{grid-template-columns:1fr;gap:32px}
}
@media(max-width:760px){
  .team-band{margin-bottom:64px}
  .team-band img{aspect-ratio:4/3;border-top-left-radius:72px}
  .clc-photos{grid-template-columns:1fr}
}

/* Korea status board: "Available now" leads, the two smaller states stack beside it */
@media(min-width:961px){.status-board{grid-template-columns:1.3fr 1fr}.status-now{grid-row:span 2}}
.hero h1 .nowrap{white-space:nowrap;color:inherit}

/* Illustrative photography on Schools and Arrival: hero photos, photo + panel split, areas photo cell */
.split-band{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:stretch}
.split-photo{margin:0;border-radius:16px;overflow:hidden;min-height:360px}
.split-photo img{width:100%;height:100%;object-fit:cover;display:block}
.split-panel{align-self:stretch;justify-content:center;border-radius:8px 120px 16px 16px}
.area-list .care-item:last-of-type{grid-column:auto}
.area-photo{margin:16px 0;border-radius:12px;overflow:hidden}
.area-photo img{width:100%;height:100%;aspect-ratio:16/10;object-fit:cover;display:block}
@media(max-width:960px){.split-band{grid-template-columns:1fr}.split-photo{min-height:0;aspect-ratio:16/10}}
@media(max-width:760px){.split-panel{border-radius:8px 72px 16px 16px}}

/* Student visa guide */
.visa-facts{margin:0;display:grid;grid-template-columns:1fr 1fr;gap:24px}
.visa-facts dt{font:400 32px/36px 'DM Serif Display',Georgia,serif;color:var(--cream)}
.visa-facts dd{margin:4px 0 0;color:var(--on-navy);font-size:14px;line-height:20px}
.cost-grid strong{font-size:48px}
.glance .network-strip-head h2{font-size:48px;line-height:1}
.glance .network-strip-head .eyebrow{opacity:.75}
.glance .network-strip-head .text-link{color:var(--cream)}
.glance>.container>.fine-print{color:var(--on-navy);margin-top:32px;max-width:760px}
.inline-link{text-decoration:underline;text-underline-offset:3px;font-weight:600}
.sources{padding-block:48px}
.sources-title{font:700 12px/16px Manrope,sans-serif;text-transform:uppercase;letter-spacing:.15em;margin-bottom:16px}
.sources-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px 24px}
.sources-list a{font-size:14px;line-height:20px;text-decoration:underline;text-underline-offset:3px;color:var(--navy)}
@media(max-width:760px){
  .visa-facts{grid-template-columns:1fr 1fr;gap:16px}
  .visa-facts dt{font-size:24px;line-height:28px}
  .cost-grid strong{font-size:40px}
  .glance .network-strip-head h2{font-size:36px;line-height:40px}
}
.care-item .item-number{flex:none;width:20px}
@media(max-width:760px){.sources-list{flex-direction:column;gap:8px}}

/* International schools guide */
.curricula-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.curricula-grid>li{background:var(--white);border:1px solid var(--line);border-radius:8px;padding:24px;display:flex;flex-direction:column;gap:12px}
.curricula-grid h3{font:400 32px/36px 'DM Serif Display',Georgia,serif;letter-spacing:-.02em}
.curricula-grid>li>p{font-size:14px;line-height:20px;color:var(--muted)}
.curricula-grid .tags{margin:auto 0 0;padding-top:4px}
.school-table-wrap{border:1px solid var(--line);border-radius:16px;background:var(--white);overflow:hidden}
.school-table{width:100%;border-collapse:collapse;font-size:14px;line-height:20px}
.school-table th,.school-table td{text-align:left;vertical-align:top;padding:16px 20px;border-bottom:1px solid var(--line)}
.school-table thead th{font-size:12px;line-height:16px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);background:var(--paper)}
.school-table tbody th{font-weight:600;color:var(--navy)}
.school-table td{color:var(--text-2)}
.school-table tr:last-child>*{border-bottom:0}
.school-table a{text-decoration:underline;text-underline-offset:3px}
.fee-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:16px 32px}
.fee-list li{padding-top:16px;border-top:1px solid var(--line-strong)}
.fee-list strong{display:block;font-weight:600;margin-bottom:4px}
.fee-list span{font-size:14px;line-height:20px;color:var(--muted)}
@media(max-width:960px){.curricula-grid{grid-template-columns:1fr 1fr}.fee-list{grid-template-columns:1fr 1fr}}
@media(max-width:760px){
  .curricula-grid,.fee-list{grid-template-columns:1fr}
  .school-table thead{display:none}
  .school-table,.school-table tbody,.school-table tr,.school-table th,.school-table td{display:block;width:100%}
  .school-table tr{padding:16px;border-bottom:1px solid var(--line)}
  .school-table tr:last-child{border-bottom:0}
  .school-table th,.school-table td{padding:2px 0;border:0}
  .school-table tbody th{font-size:16px;line-height:24px;margin-bottom:4px}
  .school-table td:before{content:attr(data-label) ': ';font-weight:600;color:var(--navy)}
}
.fee-list+.fine-print{margin-top:32px}
.glance>.container>.fine-print{font-size:14px;line-height:22px;max-width:880px}
#network-pathways{align-items:start}
.breadcrumb{flex-wrap:wrap;row-gap:4px}
.breadcrumb>*{white-space:nowrap}
.curricula-grid.curricula-three{grid-template-columns:repeat(3,1fr)}
.fee-list.fee-list-two{grid-template-columns:1fr 1fr}
.fee-list a{text-decoration:underline;text-underline-offset:3px;color:var(--navy);font-weight:600}
@media(max-width:760px){.curricula-grid.curricula-three,.fee-list.fee-list-two{grid-template-columns:1fr}}
.fee-list a{white-space:nowrap}
@media(max-width:420px){.visa-facts{grid-template-columns:1fr;gap:12px}}

/* Five-step journey (homepage, How it works) */
.sg-journey{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:24px}
.sg-journey li{border-top:1px solid var(--line-strong);padding-top:24px}
.sg-journey .step-number{font-size:48px;margin-bottom:16px}
.sg-journey h3{margin-bottom:8px}
.sg-journey p{color:var(--text-2)}
@media(max-width:1200px){.sg-journey{grid-template-columns:repeat(3,1fr);row-gap:40px}}
@media(max-width:760px){.sg-journey{grid-template-columns:1fr;row-gap:32px}}

/* How it works page */
.route-grid-two{grid-template-columns:repeat(2,1fr)}
.route-grid-two .route-card{background:var(--cream);border-color:transparent}
.route-grid-two .route-card h3{min-height:0;margin-bottom:12px}
#process{padding-top:0}
@media(min-width:1201px){#process .sg-journey h3{min-height:2lh}}
.process-note{margin-top:32px}
.fees-detail .fees-lead{font:24px/34px 'DM Serif Display',Georgia,serif;color:var(--navy);margin-bottom:24px}
.fees-detail h3{margin-bottom:8px}
.fees-detail p{margin-bottom:16px}
.fees-detail .fine-print{margin:8px 0 0}
.glance .glance-eyebrow{color:var(--on-navy)}
.glance-copy{max-width:720px;margin:-16px 0 48px}
.glance-copy p{color:var(--on-navy);margin-bottom:12px}
.cta-signoff{margin-top:32px;font-size:14px}
@media(max-width:760px){.route-grid-two{grid-template-columns:1fr}.fees-detail .fees-lead{font-size:21px;line-height:30px}}
/* Status board (Study in Korea): three equal, clearly boxed columns */
.status-board{grid-template-columns:repeat(3,1fr);align-items:stretch}
.status-now{grid-row:auto}
.status-planned{background:var(--paper);border-color:var(--line)}
.status-none{background:var(--paper)}
.status-none .status-label span{background:var(--muted)}
@media(max-width:960px){.status-board{grid-template-columns:1fr}}

/* Larger line icon for cards (style guide: 48px for service cards) */
.sg-icon-lg{width:40px;height:40px;margin-bottom:16px}

/* Connected timeline for the five steps: one line with a node per step */
.sg-journey{column-gap:0}
.sg-journey li{position:relative;padding-right:24px}
.sg-journey li:before{content:'';position:absolute;top:-7px;left:0;width:11px;height:11px;border-radius:50%;background:var(--paper);border:2px solid var(--orange-text)}
@media(max-width:1200px){.sg-journey{column-gap:24px}.sg-journey li{padding-right:0}}
@media(max-width:760px){
  .sg-journey li{border-top:0;border-left:1px solid var(--line-strong);padding:0 0 0 24px}
  .sg-journey{padding-left:8px}
  .sg-journey li:before{top:4px;left:-6px}
  .sg-journey{row-gap:0}
  .sg-journey li{padding-bottom:32px}
  .sg-journey li:last-child{padding-bottom:0}
}

/* Fee transparency diagram */
.fee-flow{margin:48px 0 0;padding:32px;border:1px solid var(--line-strong);border-radius:8px;background:var(--paper)}
.fee-flow-title{font:700 12px/16px Manrope,sans-serif;letter-spacing:.15em;text-transform:uppercase;color:var(--navy);margin-bottom:24px}
.fee-flow-steps{list-style:none;margin:0 0 20px;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:48px;position:relative}
.fee-flow-steps li{display:flex;flex-direction:column;gap:4px;position:relative}
.fee-flow-steps li .sg-icon-lg{margin-bottom:8px}
.fee-flow-steps strong{font:400 22px/28px 'DM Serif Display',Georgia,serif;color:var(--navy);font-weight:400}
.fee-flow-steps span{color:var(--text-2);font-size:15px;line-height:22px}
.fee-flow-steps li+li:after{content:'→';position:absolute;left:-34px;top:8px;color:var(--orange-text);font-size:20px}
.fee-flow-mid strong{color:var(--orange-text)}
.fee-flow .fine-print{margin:0}
@media(max-width:760px){
  .fee-flow{padding:24px}
  .fee-flow-steps{grid-template-columns:1fr;gap:44px}
  .fee-flow-steps li+li:after{content:'↓';left:10px;width:20px;text-align:center;top:-36px;font-size:22px}
}
