/*
 * Boundlearn Programs — tablet editorial journey.
 * Ownership: 761–1180px tablet viewports taller than phone landscape.
 * Approved mobile and desktop compositions remain independently locked.
 */

@media (min-width:761px) and (max-width:1180px) and (min-height:501px) {
  :root {
    --bl-pgt-navy:#0B1221;
    --bl-pgt-ink:#111B2E;
    --bl-pgt-paper:#FBF8F2;
    --bl-pgt-cream:#F5F2EC;
    --bl-pgt-coral:#CF765E;
    --bl-pgt-teal:#2F7F78;
    --bl-pgt-gold:#D4AF37;
    --bl-pgt-muted:#526075;
    --bl-pgt-gutter:clamp(44px,6.5vw,76px);
  }

  .bl-programs-page {
    background:var(--bl-pgt-paper)!important;
  }

  .bl-programs-editorial {
    display:block;
    overflow:clip;
    color:var(--bl-pgt-ink);
    background:var(--bl-pgt-paper);
    font-family:'Manrope',system-ui,sans-serif;
  }

  .bl-pg-legacy {
    display:none!important;
  }

  .bl-programs-editorial a:focus-visible,
  .bl-programs-editorial label:focus-visible {
    outline:3px solid var(--bl-pgt-gold);
    outline-offset:5px;
  }

  .bl-pg-kicker {
    display:inline-flex;
    align-items:center;
    gap:11px;
    color:var(--bl-pgt-coral);
    font-size:11px;
    line-height:1.2;
    font-weight:850;
    letter-spacing:.19em;
    text-transform:uppercase;
  }

  .bl-pg-kicker:before {
    content:"";
    width:42px;
    height:2px;
    flex:0 0 auto;
    background:currentColor;
    clip-path:polygon(0 22%,100% 0,95% 78%,4% 100%);
  }

  .bl-pg-hero {
    position:relative;
    isolation:isolate;
    min-height:calc(100svh - 76px);
    display:flex;
    align-items:center;
    overflow:hidden;
    padding:74px var(--bl-pgt-gutter) 82px;
    color:var(--bl-pgt-paper);
    background:var(--bl-pgt-navy);
    border-bottom:1px solid rgba(245,242,236,.14);
  }

  .bl-pg-hero:before {
    content:"";
    position:absolute;
    inset:-2.5%;
    z-index:-2;
    background:url('/assets/media/boundlearn/boundlearn-programmes-canvas-landscape-v1.png') center/cover no-repeat;
    transform:scale(1.03);
  }

  .bl-pg-hero:after {
    content:"";
    position:absolute;
    inset:0;
    z-index:-1;
    background:
      linear-gradient(90deg,rgba(6,14,27,.16),rgba(6,14,27,.04) 52%,rgba(6,14,27,.26)),
      radial-gradient(circle at 30% 48%,rgba(11,18,33,.06),rgba(11,18,33,.66) 86%);
  }

  .bl-pg-hero-inner {
    width:min(690px,87vw);
    max-width:690px;
  }

  .bl-pg-hero .bl-pg-kicker {
    color:#F0A28D;
  }

  .bl-pg-hero h1 {
    display:flex;
    flex-direction:column;
    margin:25px 0 0;
    color:var(--bl-pgt-paper);
    font-size:clamp(66px,8.1vw,82px);
    line-height:.91;
    font-weight:790;
    letter-spacing:-.065em;
    text-wrap:balance;
  }

  .bl-pg-hero h1 em {
    position:relative;
    width:max-content;
    margin-top:8px;
    color:#F0A28D;
    font-style:normal;
  }

  .bl-pg-hero h1 em:after {
    content:"";
    position:absolute;
    right:-24px;
    bottom:-8px;
    left:5px;
    height:8px;
    background:var(--bl-pgt-coral);
    clip-path:polygon(0 30%,99% 0,95% 68%,4% 100%);
    opacity:.85;
  }

  .bl-pg-hero p {
    max-width:53ch;
    margin:32px 0 0;
    color:rgba(245,242,236,.84);
    font-size:16px;
    line-height:1.68;
    text-wrap:pretty;
  }

  .bl-pg-hero-link {
    display:inline-flex;
    align-items:center;
    gap:15px;
    margin-top:32px;
    color:var(--bl-pgt-paper)!important;
    font-size:11px;
    line-height:1.2;
    font-weight:850;
    letter-spacing:.14em;
    text-transform:uppercase;
  }

  .bl-pg-hero-link:before {
    content:"";
    width:54px;
    height:1px;
    flex:0 0 auto;
    background:#F0A28D;
  }

  .bl-pg-hero-index {
    position:absolute;
    right:var(--bl-pgt-gutter);
    bottom:30px;
    display:flex;
    align-items:center;
    gap:10px;
    color:rgba(245,242,236,.54);
    font-size:10px;
    font-weight:750;
    letter-spacing:.13em;
  }

  .bl-pg-hero-index i {
    width:68px;
    height:1px;
    background:linear-gradient(90deg,#CF765E,#D4AF37,#2F7F78,#A894C7);
  }

  .bl-pg-intro {
    position:relative;
    isolation:isolate;
    display:grid;
    grid-template-columns:minmax(0,1.05fr) minmax(290px,.75fr);
    gap:clamp(44px,7vw,84px);
    align-items:end;
    overflow:hidden;
    padding:104px var(--bl-pgt-gutter) 116px;
    background-color:var(--bl-pgt-paper);
    background-image:
      radial-gradient(circle at 2% 8%,rgba(207,118,94,.16),transparent 27%),
      radial-gradient(circle at 99% 92%,rgba(47,127,120,.14),transparent 29%);
  }

  .bl-pg-intro:after {
    content:"";
    position:absolute;
    right:-24px;
    bottom:-42px;
    width:145px;
    height:145px;
    z-index:-1;
    border:1px solid rgba(11,18,33,.17);
    border-radius:50%;
    box-shadow:0 0 0 38px rgba(11,18,33,.024),0 0 0 74px rgba(11,18,33,.017);
  }

  .bl-pg-intro h2 {
    max-width:12ch;
    margin:22px 0 0;
    color:var(--bl-pgt-ink);
    font-size:clamp(50px,6.3vw,66px);
    line-height:.98;
    font-weight:770;
    letter-spacing:-.055em;
    text-wrap:balance;
  }

  .bl-pg-intro > p {
    max-width:45ch;
    margin:0 0 5px;
    color:#435064;
    font-size:15px;
    line-height:1.72;
    text-wrap:pretty;
  }

  .bl-pg-statement {
    position:relative;
    isolation:isolate;
    min-height:540px;
    display:flex;
    align-items:center;
    overflow:hidden;
    padding:86px var(--bl-pgt-gutter) 92px;
    background:var(--bl-pgt-cream);
    border-top:1px solid rgba(11,18,33,.09);
  }

  .bl-pg-statement:before,
  .bl-pg-statement:after {
    content:"";
    position:absolute;
    z-index:-1;
    pointer-events:none;
  }

  .bl-pg-statement:before {
    width:390px;
    height:330px;
    bottom:-110px;
    background:var(--pg-soft);
    opacity:.46;
    clip-path:polygon(2% 21%,14% 4%,64% 0,92% 18%,100% 66%,79% 94%,29% 100%,0 76%);
  }

  .bl-pg-statement:after {
    width:260px;
    height:260px;
    top:-112px;
    border:1px solid rgba(11,18,33,.16);
    border-radius:50%;
    box-shadow:0 0 0 54px rgba(11,18,33,.023),0 0 0 102px rgba(11,18,33,.016);
  }

  .bl-pg-statement--left:before {
    right:-104px;
    transform:rotate(-11deg);
  }

  .bl-pg-statement--left:after {
    right:4%;
  }

  .bl-pg-statement--right:before {
    left:-104px;
    transform:rotate(12deg);
  }

  .bl-pg-statement--right:after {
    left:4%;
  }

  .bl-pg-statement-inner {
    position:relative;
    width:min(850px,88vw);
  }

  .bl-pg-statement--right .bl-pg-statement-inner {
    margin-left:auto;
    text-align:right;
  }

  .bl-pg-number {
    display:block;
    color:var(--pg-accent);
    font-size:12px;
    line-height:1;
    font-weight:850;
    letter-spacing:.2em;
  }

  .bl-pg-statement-inner > p {
    margin:15px 0 0;
    color:#596579;
    font-size:11px;
    line-height:1.25;
    font-weight:800;
    letter-spacing:.16em;
    text-transform:uppercase;
  }

  .bl-pg-statement h2 {
    display:flex;
    flex-direction:column;
    margin:27px 0 0;
    color:var(--bl-pgt-ink);
    font-size:clamp(54px,6.7vw,72px);
    line-height:.97;
    font-weight:770;
    letter-spacing:-.055em;
    text-wrap:balance;
  }

  .bl-pg-statement h2 > span:last-child {
    color:var(--pg-accent);
  }

  .bl-pg-cluster {
    position:relative;
    isolation:isolate;
    min-height:720px;
    display:grid;
    place-items:center;
    overflow:hidden;
    padding:36px var(--bl-pgt-gutter) 46px;
    background:
      linear-gradient(rgba(251,248,242,.8),rgba(251,248,242,.89)),
      url('/assets/media/boundlearn/boundlearn-editorial-canvas.png') center/cover no-repeat;
  }

  .bl-pg-cluster-stage {
    position:relative;
    width:min(980px,100%);
    height:640px;
    margin-inline:auto;
  }

  .bl-pg-wash,
  .bl-pg-dot-field,
  .bl-pg-orbit,
  .bl-pg-cluster-number,
  .bl-pg-art,
  .bl-pg-program-note {
    position:absolute;
  }

  .bl-pg-wash {
    pointer-events:none;
    background:var(--pg-soft);
    mix-blend-mode:multiply;
  }

  .bl-pg-wash--a {
    width:430px;
    height:410px;
    top:74px;
    opacity:.55;
    clip-path:polygon(6% 4%,66% 0,95% 17%,100% 70%,77% 98%,20% 93%,0 61%);
  }

  .bl-pg-wash--b {
    width:250px;
    height:205px;
    bottom:28px;
    opacity:.31;
    clip-path:polygon(0 20%,23% 0,84% 9%,100% 57%,72% 100%,8% 88%);
  }

  .bl-pg-cluster--left .bl-pg-wash--a {
    right:-1%;
    transform:rotate(7deg);
  }

  .bl-pg-cluster--left .bl-pg-wash--b {
    left:-2%;
    transform:rotate(-8deg);
  }

  .bl-pg-cluster--right .bl-pg-wash--a {
    left:-1%;
    transform:rotate(-7deg);
  }

  .bl-pg-cluster--right .bl-pg-wash--b {
    right:-2%;
    transform:rotate(9deg);
  }

  .bl-pg-dot-field {
    top:72px;
    width:112px;
    height:94px;
    opacity:.4;
    background-image:radial-gradient(circle,var(--pg-accent) 1.4px,transparent 1.7px);
    background-size:13px 13px;
  }

  .bl-pg-cluster--left .bl-pg-dot-field {
    left:1%;
  }

  .bl-pg-cluster--right .bl-pg-dot-field {
    right:1%;
  }

  .bl-pg-orbit {
    width:460px;
    height:460px;
    top:72px;
    border:1px solid rgba(11,18,33,.18);
    border-radius:50%;
    box-shadow:0 0 0 52px rgba(11,18,33,.023),0 0 0 100px rgba(11,18,33,.015);
  }

  .bl-pg-cluster--left .bl-pg-orbit {
    right:-1%;
  }

  .bl-pg-cluster--right .bl-pg-orbit {
    left:-1%;
  }

  .bl-pg-cluster-number {
    top:4px;
    color:rgba(11,18,33,.075);
    font-size:126px;
    line-height:1;
    font-weight:820;
    letter-spacing:-.07em;
  }

  .bl-pg-cluster--left .bl-pg-cluster-number {
    left:0;
  }

  .bl-pg-cluster--right .bl-pg-cluster-number {
    right:1%;
  }

  .bl-pg-art {
    top:82px;
    z-index:3;
    width:350px;
    aspect-ratio:6/7;
    overflow:hidden;
    background:#fff;
    clip-path:polygon(2% 0,98% 2%,100% 95%,4% 100%,0 16%);
    box-shadow:18px 24px 48px rgba(11,18,33,.18);
    filter:drop-shadow(8px 10px 0 rgba(11,18,33,.075));
  }

  .bl-pg-cluster--left .bl-pg-art {
    right:4%;
    transform:rotate(2.1deg);
  }

  .bl-pg-cluster--right .bl-pg-art {
    left:4%;
    transform:rotate(-2.1deg);
  }

  .bl-pg-art img {
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
  }

  .bl-pg-program-note {
    bottom:65px;
    z-index:5;
    width:350px;
    padding:31px 32px 30px;
    color:var(--bl-pgt-ink);
    background:rgba(251,248,242,.96);
    clip-path:polygon(2% 4%,97% 0,100% 91%,4% 100%,0 24%);
    filter:drop-shadow(13px 17px 21px rgba(11,18,33,.13));
  }

  .bl-pg-program-note:before {
    content:"";
    position:absolute;
    top:0;
    right:11%;
    left:7%;
    height:7px;
    background:var(--pg-accent);
    clip-path:polygon(0 30%,100% 0,95% 76%,3% 100%);
    opacity:.82;
  }

  .bl-pg-cluster--left .bl-pg-program-note {
    left:2%;
    transform:rotate(-1deg);
  }

  .bl-pg-cluster--right .bl-pg-program-note {
    right:2%;
    transform:rotate(1deg);
  }

  .bl-pg-program-note > span {
    color:var(--pg-accent);
    font-size:10px;
    line-height:1.2;
    font-weight:850;
    letter-spacing:.16em;
    text-transform:uppercase;
  }

  .bl-pg-program-note h3 {
    max-width:13ch;
    margin:15px 0 0;
    color:var(--bl-pgt-ink);
    font-size:32px;
    line-height:1.02;
    font-weight:770;
    letter-spacing:-.045em;
    text-wrap:balance;
  }

  .bl-pg-program-note p {
    margin:15px 0 0;
    color:#4B586B;
    font-size:13px;
    line-height:1.58;
    text-wrap:pretty;
  }

  .bl-pg-program-note a {
    display:inline-flex;
    align-items:center;
    gap:9px;
    margin-top:19px;
    color:var(--bl-pgt-ink)!important;
    font-size:10px;
    line-height:1.2;
    font-weight:850;
    letter-spacing:.13em;
    text-transform:uppercase;
  }

  .bl-pg-program-note a i {
    color:var(--pg-accent);
    font-size:14px;
    font-style:normal;
  }

  .bl-pg-cta {
    position:relative;
    isolation:isolate;
    min-height:610px;
    display:grid;
    place-items:center;
    overflow:hidden;
    padding:96px var(--bl-pgt-gutter) 104px;
    text-align:center;
    background:var(--bl-pgt-paper);
  }

  .bl-pg-cta:before {
    content:"";
    position:absolute;
    inset:-3%;
    z-index:-2;
    background:url('/assets/media/boundlearn/boundlearn-contact-canvas-landscape-v1.png') center/cover no-repeat;
    opacity:.88;
  }

  .bl-pg-cta:after {
    content:"";
    position:absolute;
    inset:0;
    z-index:-1;
    background:radial-gradient(circle at center,rgba(251,248,242,.86) 0 26%,rgba(251,248,242,.48) 57%,transparent 82%);
  }

  .bl-pg-cta > div {
    width:min(720px,86vw);
  }

  .bl-pg-cta h2 {
    max-width:12ch;
    margin:22px auto 0;
    color:var(--bl-pgt-ink);
    font-size:clamp(54px,6.6vw,70px);
    line-height:.97;
    font-weight:780;
    letter-spacing:-.06em;
    text-wrap:balance;
  }

  .bl-pg-cta p {
    max-width:55ch;
    margin:24px auto 0;
    color:#455267;
    font-size:15px;
    line-height:1.67;
    text-wrap:pretty;
  }

  .bl-pg-cta-actions {
    display:flex;
    justify-content:center;
    align-items:center;
    gap:22px;
    margin-top:31px;
  }

  .bl-pg-cta-actions a,
  .bl-pg-cta-actions label {
    min-width:184px;
    min-height:50px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:15px 24px;
    border:0;
    border-radius:0;
    cursor:pointer;
    font-size:10px;
    line-height:1.2;
    font-weight:850;
    letter-spacing:.14em;
    text-transform:uppercase;
  }

  .bl-pg-cta-actions a {
    color:var(--bl-pgt-paper)!important;
    background:var(--bl-pgt-coral);
    clip-path:polygon(2% 4%,98% 0,100% 90%,4% 100%,0 22%);
  }

  .bl-pg-cta-actions label {
    color:var(--bl-pgt-teal);
    background:rgba(251,248,242,.43);
    border-bottom:1px solid currentColor;
  }

  .bl-programs-editorial.bl-pg-tablet-motion .bl-pg-hero-inner > *,
  .bl-programs-editorial.bl-pg-tablet-motion .bl-pg-intro > *,
  .bl-programs-editorial.bl-pg-tablet-motion .bl-pg-statement-inner > *,
  .bl-programs-editorial.bl-pg-tablet-motion .bl-pg-art,
  .bl-programs-editorial.bl-pg-tablet-motion .bl-pg-program-note,
  .bl-programs-editorial.bl-pg-tablet-motion .bl-pg-cta > div {
    opacity:0;
    transform:translateY(28px);
    transition:opacity .76s ease,transform .86s cubic-bezier(.22,1,.36,1);
  }

  .bl-programs-editorial.bl-pg-tablet-motion .bl-pg-hero.bl-pg-tablet-visible .bl-pg-hero-inner > *,
  .bl-programs-editorial.bl-pg-tablet-motion .bl-pg-intro.bl-pg-tablet-visible > *,
  .bl-programs-editorial.bl-pg-tablet-motion .bl-pg-statement.bl-pg-tablet-visible .bl-pg-statement-inner > *,
  .bl-programs-editorial.bl-pg-tablet-motion .bl-pg-cluster.bl-pg-tablet-visible .bl-pg-art,
  .bl-programs-editorial.bl-pg-tablet-motion .bl-pg-cluster.bl-pg-tablet-visible .bl-pg-program-note,
  .bl-programs-editorial.bl-pg-tablet-motion .bl-pg-cta.bl-pg-tablet-visible > div {
    opacity:1;
    transform:translateY(0);
  }

  .bl-programs-editorial.bl-pg-tablet-motion .bl-pg-hero-inner > *:nth-child(2),
  .bl-programs-editorial.bl-pg-tablet-motion .bl-pg-intro > *:nth-child(2),
  .bl-programs-editorial.bl-pg-tablet-motion .bl-pg-statement-inner > *:nth-child(2),
  .bl-programs-editorial.bl-pg-tablet-motion .bl-pg-cluster .bl-pg-program-note {
    transition-delay:.09s;
  }

  .bl-programs-editorial.bl-pg-tablet-motion .bl-pg-hero-inner > *:nth-child(3),
  .bl-programs-editorial.bl-pg-tablet-motion .bl-pg-statement-inner > *:nth-child(3) {
    transition-delay:.16s;
  }

  .bl-programs-editorial.bl-pg-tablet-motion .bl-pg-hero-inner > *:nth-child(4) {
    transition-delay:.23s;
  }

  .bl-pg-cluster.bl-pg-tablet-visible .bl-pg-wash--a {
    animation:blPgtWashA 9s ease-in-out infinite alternate;
  }

  .bl-pg-cluster.bl-pg-tablet-visible .bl-pg-wash--b {
    animation:blPgtWashB 10s ease-in-out infinite alternate;
  }
}

@media (min-width:761px) and (max-width:900px) and (min-height:901px) and (orientation:portrait) {
  :root {
    --bl-pgt-gutter:clamp(46px,7vw,58px);
  }

  .bl-pg-hero:before {
    background-position:46% center;
  }

  .bl-pg-hero-inner {
    width:100%;
  }

  .bl-pg-hero h1 {
    font-size:clamp(65px,9.2vw,76px);
  }

  .bl-pg-intro {
    display:block;
    min-height:680px;
    padding-top:112px;
    padding-bottom:124px;
    text-align:center;
  }

  .bl-pg-intro .bl-pg-kicker {
    justify-content:center;
  }

  .bl-pg-intro h2 {
    max-width:12ch;
    margin:23px auto 0;
    font-size:clamp(57px,7.8vw,66px);
  }

  .bl-pg-intro > p {
    max-width:47ch;
    margin:34px auto 0;
    font-size:16px;
  }

  .bl-pg-statement {
    min-height:600px;
  }

  .bl-pg-statement-inner {
    width:100%;
  }

  .bl-pg-statement h2 {
    font-size:clamp(58px,8vw,68px);
  }

  .bl-pg-cluster {
    min-height:790px;
    padding-top:38px;
    padding-bottom:48px;
  }

  .bl-pg-cluster-stage {
    height:704px;
  }

  .bl-pg-wash--a {
    width:430px;
    height:440px;
    top:84px;
  }

  .bl-pg-wash--b {
    bottom:34px;
  }

  .bl-pg-orbit {
    width:470px;
    height:470px;
    top:82px;
  }

  .bl-pg-cluster-number {
    font-size:132px;
  }

  .bl-pg-art {
    top:92px;
    width:min(360px,52vw);
  }

  .bl-pg-cluster--left .bl-pg-art {
    right:0;
  }

  .bl-pg-cluster--right .bl-pg-art {
    left:0;
  }

  .bl-pg-program-note {
    bottom:70px;
    width:min(370px,54vw);
    padding:34px 35px 33px;
  }

  .bl-pg-cluster--left .bl-pg-program-note {
    left:0;
  }

  .bl-pg-cluster--right .bl-pg-program-note {
    right:0;
  }

  .bl-pg-program-note h3 {
    font-size:34px;
  }
}

@media (min-width:901px) and (max-width:1180px) and (min-height:501px) and (orientation:landscape) {
  .bl-pg-hero {
    padding-top:68px;
    padding-bottom:74px;
  }

  .bl-pg-hero-inner {
    width:min(660px,65vw);
  }

  .bl-pg-hero h1 {
    font-size:clamp(68px,7vw,82px);
  }

  .bl-pg-intro {
    min-height:510px;
    padding-top:92px;
    padding-bottom:102px;
  }

  .bl-pg-statement {
    min-height:490px;
    padding-top:76px;
    padding-bottom:82px;
  }

  .bl-pg-statement h2 {
    font-size:clamp(56px,6vw,70px);
  }

  .bl-pg-cluster {
    min-height:660px;
    padding-top:28px;
    padding-bottom:36px;
  }

  .bl-pg-cluster-stage {
    height:590px;
  }

  .bl-pg-wash--a {
    top:56px;
  }

  .bl-pg-orbit {
    top:56px;
  }

  .bl-pg-art {
    top:68px;
    width:350px;
  }

  .bl-pg-program-note {
    bottom:54px;
    width:360px;
  }

  .bl-pg-cluster--left .bl-pg-art {
    right:6%;
  }

  .bl-pg-cluster--right .bl-pg-art {
    left:6%;
  }

  .bl-pg-cluster--left .bl-pg-program-note {
    left:5%;
  }

  .bl-pg-cluster--right .bl-pg-program-note {
    right:5%;
  }

  .bl-pg-cta {
    min-height:560px;
    padding-top:84px;
    padding-bottom:92px;
  }
}

@keyframes blPgtWashA {
  from { translate:0 0; }
  to { translate:12px -9px; }
}

@keyframes blPgtWashB {
  from { translate:0 0; }
  to { translate:-9px 11px; }
}

@media (prefers-reduced-motion:reduce) {
  .bl-programs-editorial .bl-pg-wash {
    animation:none!important;
  }

  .bl-programs-editorial.bl-pg-tablet-motion * {
    opacity:1!important;
    transform:none!important;
    transition:none!important;
  }
}
