/* ------------------------------------------------------------------
   FONTS
   Adriane Text (Adobe Fonts) is used throughout the source artwork but
   is a protected font and was not packaged. Faustina is loaded as the
   closest free humanist-serif substitute; swap in the real webfont by
   adding an @font-face for 'Adriane Text' below — the stacks already
   reference it first.
   ------------------------------------------------------------------ */
@font-face{font-family:'Marcellus';src:url('../fonts/Marcellus-Regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Gotham';src:url('../fonts/Gotham-Light.otf') format('opentype');font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:'Gotham';src:url('../fonts/Gotham-Book.otf') format('opentype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Fraunces 72pt';src:url('../fonts/Fraunces_72pt-SemiBold.ttf') format('truetype');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:'Fraunces 72pt';src:url('../fonts/Fraunces_72pt-Italic.ttf') format('truetype');font-weight:400;font-style:italic;font-display:swap}

:root{
  --cream:#fff7ec;
  --red:#aa0015;
  --navy:#081f4f;
  --navy-mid:#082d6b;
  --navy-label:#002d6a;
  --panel:#dfe8f4;
  --gold:#f69900;
  --gold-deep:#c98909;
  --tile:#f7f0d6;
  --muted:#6a799e;
  --off-white:#fff5f2;
  --serif:'Adriane Text','Faustina',Georgia,'Times New Roman',serif;
  --display:'Marcellus','Adriane Text',Georgia,serif;
  --geo:'Gotham','Helvetica Neue',Arial,sans-serif;
  --fraunces:'Fraunces 72pt',Georgia,serif;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--cream);color:var(--navy);font-family:var(--serif);overflow-x:hidden}
img{display:block;max-width:100%}
a{color:inherit}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* =================================================================
   DESKTOP  (>=1024px)
   Everything below is expressed in rem against a root of
   100vw / 19.2, so 1rem === 100px on the 1920px artboard and the
   whole composition scales without ever reflowing.
   ================================================================= */
@media (min-width:1024px){
  html{font-size:calc(100vw / 19.2)}
  body{font-size:.30rem;line-height:1.36}

  .page{max-width:19.2rem;margin:0 auto;position:relative}

  /* ---------- header ---------- */
  .site-header{height:1.29rem;display:flex;align-items:center;justify-content:space-between;padding:0 .492rem 0 .551rem}
  .site-header .wordmark{font-family:var(--serif);font-size:.3737rem;color:var(--navy);letter-spacing:0}
  .site-header .iis{width:2.758rem;height:auto}

  /* ---------- hero ---------- */
  .hero{position:relative;height:8.11rem;overflow:hidden;
        background:#061a44 url('../images/hero-bg.jpg') no-repeat;
        background-size:20.30rem 11.60rem;background-position:-.49rem -3.16rem}
  .hero .decor{display:none}
  .hero .logo40{position:absolute;left:4.12rem;top:.63rem;width:10.85rem}
  .hero .kicker{position:absolute;left:0;right:0;top:5.05rem;text-align:center;
        font-family:var(--fraunces);font-weight:600;font-size:.4637rem;color:var(--off-white);line-height:1}
  .hero .tagline{position:absolute;left:0;right:0;top:5.99rem;text-align:center;
        font-family:var(--fraunces);font-style:italic;font-size:.4637rem;color:var(--off-white);line-height:1}

  /* ---------- intro ---------- */
  .intro{padding:1.035rem 0 0}
  .intro h1{margin:0;font-family:var(--display);font-weight:400;font-size:.72rem;line-height:1.2;
        color:var(--red);padding-left:1.964rem}
  .intro .grid{display:flex;align-items:flex-start;gap:.815rem;padding:.49rem 0 0 1.80rem}
  .intro .portrait{width:7.67rem;height:6.60rem;border-radius:.14rem;object-fit:cover;flex:none}
  .intro .copy{padding-top:.51rem}
  .intro .copy p{margin:0;font-size:.30rem;line-height:1.333}
  .intro .copy strong{font-weight:700}
  .intro .meta{margin-top:1.195rem;display:flex;flex-direction:column;gap:.273rem}
  .intro .meta div{display:flex;align-items:center;gap:.18rem;
        font-family:var(--display);font-size:.45rem;color:var(--red);line-height:1.1}
  .intro .meta svg{width:.33rem;height:.33rem;flex:none}

  /* ---------- registration opens ---------- */
  .registration{padding:2.34rem 0 0;text-align:center;position:relative}
  .registration h2{margin:0;font-family:var(--display);font-weight:400;font-size:.60rem;color:var(--red);line-height:1.2}
  .registration .rule{width:13.76rem;height:1px;background:rgba(8,31,79,.55);margin:.09rem auto 0}
  .registration .time{margin:.30rem 0 0;font-family:var(--display);font-size:.45rem;color:var(--navy);line-height:1.2}

  .countdown{margin:.82rem auto 0;width:11.97rem;height:3.93rem;border-radius:.24rem;
        background:radial-gradient(120% 150% at 50% 50%,#0d3a86 0%,#0a2c69 45%,#071b45 100%);
        display:flex;align-items:center;justify-content:center;position:relative}
  .countdown .bar{position:absolute;left:2.20rem;right:2.10rem;top:2.93rem;height:1px;background:rgba(255,255,255,.28)}
  .countdown ul{list-style:none;margin:0;padding:0;display:flex;gap:.30rem;position:relative;z-index:1}
  .countdown li{width:1.60rem;height:1.72rem;border-radius:.16rem;background:var(--tile);
        display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.06rem;
        box-shadow:0 0 .28rem .06rem rgba(255,205,90,.55)}
  .countdown .num{font-family:var(--geo);font-weight:400;font-size:.7052rem;color:var(--red);line-height:1}
  .countdown .lbl{font-family:var(--geo);font-weight:300;font-size:.2244rem;color:var(--navy-label);line-height:1}

  /* ---------- journey ---------- */
  .journey{position:relative;padding:1.21rem 0 0;text-align:center;overflow:hidden}
  .journey .swirl{position:absolute;left:0;top:-1.15rem;width:19.20rem;height:10.45rem;
        object-fit:cover;mix-blend-mode:screen;opacity:.9;pointer-events:none;z-index:0}
  .journey > *:not(.swirl){position:relative;z-index:1}
  .journey h2{margin:0;font-family:var(--serif);font-size:.45rem;line-height:1.333;color:var(--navy)}
  .journey p{margin:.38rem 0 0;font-size:.31rem;line-height:1.473}
  .journey p + p{margin-top:.455rem}

  .btn{display:inline-flex;align-items:center;justify-content:center;
        background:var(--red);color:var(--off-white);text-decoration:none;
        font-family:var(--display);border-radius:9999px;transition:background .2s ease,transform .2s ease}
  .btn:hover{background:#8e0011;transform:translateY(-2px)}
  .btn-1{margin-top:.92rem;width:4.94rem;height:1.17rem;font-size:.2874rem;letter-spacing:.01em}
  .btn-2{margin-top:.87rem;width:5.43rem;height:1.20rem;font-size:.3133rem;letter-spacing:.01em}

  /* ---------- pricing ---------- */
  .pricing{margin:1.54rem auto 0;width:14.20rem;background:var(--panel);border-radius:.20rem;padding:.78rem 0}
  .price-row{display:flex;align-items:center;justify-content:center;gap:.48rem}
  .price-row .label{font-family:var(--serif);font-weight:700;font-size:.4221rem;color:var(--red);line-height:1.24}
  .price-row .sub{display:block;font-weight:400;font-style:italic;font-size:.35rem;color:var(--gold-deep);line-height:1.2}
  .price-row .amount{text-align:center}
  .price-row .now{font-family:var(--serif);font-weight:700;font-size:.7304rem;color:var(--red);line-height:1.1;letter-spacing:.05em}
  .price-row .was{font-family:var(--serif);font-style:italic;font-size:.4221rem;color:var(--muted);line-height:1.2;text-decoration:line-through}
  .pricing .divider{width:12.80rem;height:1px;background:rgba(8,31,79,.35);margin:.68rem auto}

  /* ---------- included ---------- */
  .included{margin:1.405rem auto 0;width:14.32rem;background:var(--navy-mid);border-radius:.20rem;
        padding:.64rem .70rem .78rem 1.06rem;color:var(--cream);text-align:left}
  .included h3{margin:0 0 .50rem;font-family:var(--serif);font-weight:400;font-size:.50rem;line-height:1.36}
  .included .item{display:flex;gap:.26rem;align-items:flex-start}
  .included .item + .item{margin-top:.90rem}
  .included .icon{flex:none;width:.87rem;height:.87rem;border-radius:50%;border:1px solid var(--cream);
        display:flex;align-items:center;justify-content:center;margin-top:.02rem}
  .included .icon svg{width:.42rem;height:.42rem}
  .included p{margin:0;font-size:.35rem;line-height:1.29}
  .included strong{font-weight:700}
  .included .avail{display:block;margin-top:.45rem;font-weight:700;font-style:italic;color:var(--gold)}

  /* ---------- highlights ---------- */
  .highlights h2{margin:2.95rem 0 0;text-align:center;font-family:var(--display);font-weight:400;
        font-size:1.00rem;color:var(--red);line-height:1.2}

  .day1{display:grid;grid-template-columns:7.17rem 1fr;column-gap:.91rem;padding:1.69rem 1.40rem 0 1.24rem;align-content:start}
  .day1 img{grid-column:1;grid-row:1 / span 2;align-self:start;width:7.17rem;height:4.57rem;object-fit:cover;border-radius:.16rem}
  .day1 h3{grid-column:2;grid-row:1;margin:.825rem 0 0;font-family:var(--serif);font-weight:400;font-size:.60rem;line-height:1.2;color:var(--navy)}
  .day1 p{grid-column:2;grid-row:2;margin:.355rem 0 0;font-size:.30rem;line-height:1.667}

  .three{display:grid;grid-template-columns:5.617rem 5.92rem 1fr;align-items:stretch;padding:1.506rem 1.20rem 0 .993rem}
  .three .col{display:flex;align-items:center;font-family:var(--display);font-size:.36rem;color:var(--red);line-height:1.2}
  .three .col + .col{border-left:1px solid rgba(8,31,79,.45)}
  .three .col:nth-child(2){padding-left:.846rem}
  .three .col:nth-child(3){padding-left:.759rem}
  .three .col p{margin:0}

  .takeaway{margin:1.08rem 0 0;text-align:center;font-style:italic;font-size:.30rem;line-height:1.667;color:var(--navy)}

  .day23 h3{margin:2.49rem 0 0;text-align:center;font-family:var(--serif);font-weight:400;
        font-size:.6713rem;line-height:1.2;color:var(--navy)}
  .day23 .panel{margin:1.33rem auto 0;width:17.06rem;border-radius:.24rem;padding:.88rem 1.60rem .60rem;
        background:linear-gradient(180deg,var(--panel) 0%,var(--panel) 55%,rgba(223,232,244,0) 100%);text-align:center}
  .day23 .panel p{margin:0;font-size:.30rem;line-height:1.333}
  .day23 .panel p + p{margin-top:.40rem}
  .day23 .panel strong{font-weight:700}
  .day23 .quote{margin-top:.40rem;font-weight:700;font-style:italic}

  /* ---------- acharyas ---------- */
  .acharyas{text-align:center;padding:.45rem 0 0}
  .acharyas h4{margin:0;font-family:var(--display);font-weight:400;font-size:.36rem;color:var(--gold);line-height:1.2}
  .acharyas img.group{margin:.72rem auto 0;width:15.06rem;height:8.80rem;object-fit:cover;border-radius:.20rem}
  .acharyas .bracketed{position:relative;margin:1.27rem auto 0;width:13.16rem;padding:.43rem .40rem .45rem}
  .acharyas .bracketed::before,.acharyas .bracketed::after{content:'';position:absolute;width:.36rem;height:.68rem}
  .acharyas .bracketed::before{left:0;top:0;border-left:1px solid var(--navy);border-top:1px solid var(--navy)}
  .acharyas .bracketed::after{right:0;bottom:0;border-right:1px solid var(--navy);border-bottom:1px solid var(--navy)}
  .acharyas .bracketed p{margin:0;font-size:.35rem;line-height:1.286}
  .acharyas .bracketed p + p{margin-top:.45rem}

  /* ---------- final CTA ---------- */
  .final{text-align:center;padding:2.23rem 0 1.89rem}
  .final h2{margin:0;font-family:var(--display);font-weight:400;font-size:.72rem;color:var(--red);line-height:1.2}

  /* ---------- footer ---------- */
  .site-footer{background:var(--navy-mid);color:var(--cream);padding:.92rem 0 1.27rem;text-align:center}
  .site-footer .name{margin:0;font-family:var(--display);font-size:.50rem;color:var(--gold);line-height:1.2}
  .site-footer .rule{width:17.26rem;height:1px;background:rgba(255,247,236,.85);margin:.82rem auto 0}
  .site-footer .follow{margin:.66rem 0 0;font-family:var(--serif);font-weight:700;font-size:.36rem}
  .site-footer .socials{margin:.48rem auto 0;width:17.26rem;display:grid;grid-template-columns:5.98rem 5.25rem 1fr;align-items:center;padding:0 0 0 .80rem}
  .site-footer .socials a{display:flex;align-items:center;gap:.19rem;text-decoration:none;font-size:.30rem;line-height:1.2;text-align:left}
  .site-footer .socials svg{width:.50rem;height:.50rem;flex:none}
}

/* extra-wide screens: stop scaling, centre the artboard */
@media (min-width:1920px){ html{font-size:100px} }

/* =================================================================
   MOBILE / TABLET  (<1024px) — follows the mobile artboard, with a
   legible type scale.
   ================================================================= */
@media (max-width:1023.98px){
  body{font-size:16px;line-height:1.45}
  .page{max-width:640px;margin:0 auto}
  .d-br{display:none}

  .site-header{height:56px;display:flex;align-items:center;justify-content:space-between;padding:0 16px}
  .site-header .wordmark{font-size:17px}
  .site-header .iis{width:112px}

  .hero{position:relative;height:305px;overflow:hidden;background:#061a44 url('../images/hero-bg.jpg') no-repeat center/cover;
        display:flex;flex-direction:column;align-items:center;justify-content:center}
  .hero .decor{display:none}
  .hero .logo40{width:74%;max-width:300px;margin-bottom:-6px}
  .hero .kicker{font-family:var(--fraunces);font-weight:600;font-size:15px;color:var(--off-white);
        margin:0;text-align:center;padding:0 16px}
  .hero .tagline{font-family:var(--fraunces);font-style:italic;font-size:15px;color:var(--off-white);
        margin:14px 0 0;padding-top:12px;border-top:1px solid rgba(255,245,242,.45);text-align:center;min-width:200px}

  .intro{padding:34px 20px 0;text-align:center}
  .intro h1{margin:0;font-family:var(--display);font-weight:400;font-size:34px;line-height:1.2;color:var(--red)}
  .intro .grid{display:block;margin-top:24px}
  .intro .portrait{width:100%;height:auto;aspect-ratio:767/660;object-fit:cover;border-radius:10px}
  .intro .copy p{margin:22px 0 0;font-size:16px;line-height:1.5}
  .intro .copy strong{font-weight:700}
  .intro .meta{margin-top:18px;display:flex;flex-direction:column;align-items:center;gap:8px}
  .intro .meta div{display:flex;align-items:center;gap:8px;font-family:var(--display);font-size:20px;color:var(--gold)}
  .intro .meta svg{width:16px;height:16px;flex:none}

  .registration{padding:46px 20px 0;text-align:center}
  .registration h2{margin:0;font-family:var(--display);font-weight:400;font-size:26px;color:var(--red);line-height:1.25}
  .registration .rule{width:min(330px,86%);height:1px;background:rgba(8,31,79,.5);margin:8px auto 0}
  .registration .time{margin:12px 0 0;font-family:var(--display);font-size:19px;color:var(--navy)}
  .countdown{margin:26px auto 0;max-width:520px;border-radius:12px;padding:22px 12px;
        background:radial-gradient(120% 150% at 50% 50%,#0d3a86 0%,#0a2c69 45%,#071b45 100%)}
  .countdown .bar{display:none}
  .countdown ul{list-style:none;margin:0;padding:0;display:flex;justify-content:center;gap:10px}
  .countdown li{width:64px;height:66px;border-radius:9px;background:var(--tile);
        display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}
  .countdown .num{font-family:var(--geo);font-size:26px;color:var(--red);line-height:1}
  .countdown .lbl{font-family:var(--geo);font-weight:300;font-size:9px;color:var(--navy-label);line-height:1}

  .journey{padding:44px 20px 0;text-align:center;position:relative}
  .journey .swirl{display:none}
  .journey h2{margin:0;font-family:var(--serif);font-size:19px;line-height:1.35}
  .journey p{margin:20px 0 0;font-size:16px;line-height:1.5}

  .btn{display:flex;align-items:center;justify-content:center;background:var(--red);color:var(--off-white);
        text-decoration:none;font-family:var(--display);border-radius:9999px;
        width:min(268px,80%);height:52px;font-size:15px;letter-spacing:.02em;margin-left:auto;margin-right:auto}
  .btn-1{margin-top:30px}
  .btn-2{margin-top:26px}

  .pricing{margin:44px 20px 0;background:var(--panel);border-radius:12px;padding:24px 16px}
  .price-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:nowrap}
  .price-row .label{flex:1 1 auto;min-width:0;font-family:var(--serif);font-weight:700;font-size:14px;color:var(--red);line-height:1.25;text-align:left}
  .price-row .sub{display:block;font-weight:400;font-style:italic;font-size:11px;color:var(--gold-deep);line-height:1.25}
  .price-row .amount{flex:none;text-align:center}
  .price-row .now{font-family:var(--serif);font-weight:700;font-size:24px;color:var(--red);line-height:1.15}
  .price-row .was{font-family:var(--serif);font-style:italic;font-size:15px;color:var(--muted);text-decoration:line-through}
  .pricing .divider{height:1px;background:rgba(8,31,79,.35);margin:18px 6px}

  .included{margin:34px 20px 0;background:var(--navy-mid);border-radius:12px;padding:22px 18px 26px;color:var(--cream);text-align:left}
  .included h3{margin:0 0 18px;font-family:var(--serif);font-weight:400;font-size:19px}
  .included .item{display:flex;gap:12px;align-items:flex-start}
  .included .item + .item{margin-top:20px}
  .included .icon{flex:none;width:34px;height:34px;border-radius:50%;border:1px solid var(--cream);
        display:flex;align-items:center;justify-content:center}
  .included .icon svg{width:17px;height:17px}
  .included p{margin:0;font-size:14px;line-height:1.4}
  .included .avail{display:block;margin-top:14px;font-weight:700;font-style:italic;color:var(--gold)}

  .highlights h2{margin:52px 20px 0;text-align:center;font-family:var(--display);font-weight:400;
        font-size:24px;color:var(--red);line-height:1.2}
  .day1{display:block;padding:0 20px}
  .day1 h3{margin:26px 0 18px;text-align:center;font-family:var(--serif);font-weight:400;font-size:21px;line-height:1.3}
  .day1 img{width:100%;height:auto;aspect-ratio:717/457;object-fit:cover;border-radius:10px}
  .day1 p{margin:20px 0 0;text-align:center;font-size:16px;line-height:1.5}

  .three{display:grid;grid-template-columns:1fr 1fr;column-gap:14px;row-gap:18px;padding:26px 20px 0}
  .three .col{font-family:var(--display);font-size:15px;color:var(--red);line-height:1.25}
  .three .col p{margin:0}
  .three .col:nth-child(1){grid-column:1;grid-row:1}
  .three .col:nth-child(2){grid-column:1;grid-row:2}
  .three .col:nth-child(3){grid-column:2;grid-row:1 / span 2;align-self:center;
        border-left:1px solid rgba(8,31,79,.35);padding-left:14px}

  .takeaway{margin:26px 20px 0;font-style:italic;font-size:16px;line-height:1.5;color:var(--navy)}

  .day23 h3{margin:48px 20px 0;text-align:center;font-family:var(--serif);font-weight:400;font-size:21px;line-height:1.3}
  .day23 .panel{margin:18px 12px 0;border-radius:12px;padding:26px 18px 32px;text-align:center;
        background:linear-gradient(180deg,var(--panel) 0%,var(--panel) 60%,rgba(223,232,244,0) 100%)}
  .day23 .panel p{margin:0;font-size:16px;line-height:1.5}
  .day23 .panel p + p{margin-top:20px}
  .day23 .quote{font-weight:700;font-style:italic}

  .acharyas{text-align:center;padding:40px 20px 0}
  .acharyas h4{margin:0;font-family:var(--display);font-weight:400;font-size:18px;color:var(--gold);line-height:1.3}
  .acharyas img.group{margin:22px auto 0;width:100%;height:auto;aspect-ratio:1506/880;object-fit:cover;border-radius:10px}
  .acharyas .bracketed{margin:26px auto 0;padding:0}
  .acharyas .bracketed::before,.acharyas .bracketed::after{content:none}
  .acharyas .bracketed p{margin:0;font-size:16px;line-height:1.5}
  .acharyas .bracketed p + p{margin-top:20px}

  .final{text-align:center;padding:52px 20px 48px}
  .final h2{margin:0;font-family:var(--display);font-weight:400;font-size:24px;color:var(--red);line-height:1.25}

  .site-footer{background:var(--navy-mid);color:var(--cream);padding:28px 20px 34px;text-align:center}
  .site-footer .name{margin:0;font-family:var(--display);font-size:19px;color:var(--gold)}
  .site-footer .rule{height:1px;background:rgba(255,247,236,.85);margin:20px 6px 0}
  .site-footer .follow{margin:20px 0 0;font-family:var(--serif);font-weight:700;font-size:15px}
  .site-footer .socials{margin:18px 0 0;display:flex;align-items:center;justify-content:space-between;gap:8px}
  .site-footer .socials a{display:flex;align-items:center;gap:6px;text-decoration:none;font-size:12px;line-height:1.25;text-align:left}
  .site-footer .socials svg{width:16px;height:16px;flex:none}
}
