.satya-fe{
--terrain:#655837;
--mankind:#cdc1a2;
--purity:#ffffff;
--moss:#1e2d24;
--olive:#5d6d4f;
--clay:#976c39;
--golden-sand:#d6af56;
--terra-cotta:#88411e;
--darkgrey:#3D3530;
--midgrey:#8C8070;
--offwhite:#F7F5F1;
--font-display:'Calder','Articulat CF',serif;
--font-body:'Articulat CF','Helvetica Neue',Arial,sans-serif;
--max-w:1240px;
--gutter:24px;
font-family:var(--font-body);
font-weight:400;
color:var(--darkgrey);
line-height:1.7;
-webkit-font-smoothing:antialiased;
}
.satya-fe *{ box-sizing:border-box; }
.satya-fe img{ max-width:100%; display:block; }
.satya-fe a{ color:inherit; }
.satya-fe .wrap{ max-width:var(--max-w); margin:0 auto; padding:0 var(--gutter); } .satya-fe .display{
font-family:var(--font-display);
font-weight:400;
text-transform:lowercase;
line-height:1.05;
letter-spacing:-.01em;
}
.satya-fe .h2{
font-family:var(--font-body);
font-weight:400;
font-size:clamp(28px,3vw,36px);
color:var(--terrain);
line-height:1.25;
}
.satya-fe .caption{ font-size:13px; color:var(--midgrey); letter-spacing:.02em; }
.satya-fe .btn{
display:inline-flex;
align-items:center;
justify-content:center;
gap:8px;
font:inherit;
font-size:15px;
font-weight:700;
line-height:1;
padding:14px 26px;
border:1px solid transparent;
border-radius:999px;
cursor:pointer;
text-decoration:none;
transition:opacity .18s ease,background .18s ease,color .18s ease,transform .25s cubic-bezier(.22,.61,.36,1);
}
.satya-fe .btn:hover{ transform:translateY(-2px); }
.satya-fe .btn:active{ transform:translateY(0); }
.satya-fe .btn-primary{ background:var(--terrain); color:var(--purity); }
.satya-fe .btn-primary:hover{ opacity:.85; color:var(--purity); }
.satya-fe .btn-outline{ background:transparent; color:var(--terrain); border-color:var(--terrain); }
.satya-fe .btn-outline:hover{ background:var(--terrain); color:var(--purity); }
.satya-fe .btn-outline-light{ background:transparent; color:var(--purity); border-color:var(--purity); }
.satya-fe .btn-outline-light:hover{ background:var(--purity); color:var(--terrain); }
.satya-fe .text-link{
font-weight:500;
color:var(--clay);
text-decoration:none;
border-bottom:1px solid var(--mankind);
padding-bottom:1px;
}
.satya-fe .text-link:hover{ border-color:var(--clay); } .satya-fe .hero{
position:relative;
min-height:min(92vh,760px);
display:flex;
align-items:flex-end;
overflow:hidden;
background:var(--darkgrey);
}
.satya-fe .hero-media{ position:absolute; inset:0; } .satya-fe .hero-media img{ width:100%; height:100%; object-fit:cover; opacity:0; }
.satya-fe .hero-media img.is-loaded{ animation:heroZoom 2.2s cubic-bezier(.22,.61,.36,1) both; }
@keyframes heroZoom{ from{ opacity:0; transform:scale(1.12); } to{ opacity:1; transform:scale(1); } }
.satya-fe .hero-grad{
position:absolute; inset:0;
background:linear-gradient(to top,rgba(38,32,28,.86) 0%,rgba(38,32,28,.4) 42%,rgba(38,32,28,.06) 68%,transparent 80%);
}
.satya-fe .hero-content{ position:relative; width:100%; padding:0 0 56px; }
.satya-fe .hero-eyebrow{
color:var(--mankind); font-size:13px; letter-spacing:.16em;
text-transform:uppercase; font-weight:500; margin-bottom:14px;
}
.satya-fe .hero-title{ color:var(--purity); max-width:13ch; font-size:clamp(46px,9vw,104px); }
.satya-fe .hero-title .w{ display:inline-block; overflow:hidden; vertical-align:bottom; }
.satya-fe .hero-title .w i{
display:inline-block; font-style:normal;
animation:satyaRise .9s cubic-bezier(.22,.61,.36,1) both;
}
@keyframes satyaRise{ from{ transform:translateY(105%); opacity:0; } to{ transform:none; opacity:1; } }
.satya-fe .hero-tag{ color:var(--mankind); font-size:clamp(17px,1.8vw,21px); max-width:48ch; margin-top:16px; }
.satya-fe .hero-meta{ color:rgba(255,255,255,.85); font-size:14px; margin-top:10px; }
.satya-fe .hero-ctas{ display:flex; gap:14px; margin-top:26px; flex-wrap:wrap; } @keyframes satyaMarquee{ to{ transform:translateX(-50%); } } .satya-fe .cta-strip{ background:var(--terrain); color:var(--purity); }
.satya-fe .cta-strip .wrap{
display:flex; align-items:center; gap:24px;
padding-top:30px; padding-bottom:30px; flex-wrap:wrap;
}
.satya-fe .cta-strip-text h2{ font-weight:700; font-size:clamp(18px,2vw,22px); }
.satya-fe .cta-strip-text p{ font-size:16px; color:var(--mankind); margin-top:2px; }
.satya-fe .cta-strip .btn{ margin-left:auto; } .satya-fe .section{ padding:72px 0; }
.satya-fe .section-head{
display:flex; align-items:baseline; justify-content:space-between;
gap:24px; margin-bottom:40px; flex-wrap:wrap;
}
.satya-fe .section-head .h2{ margin:0; }
.satya-fe .section-head .text-link{ margin-left:auto; white-space:nowrap; }
.satya-fe .sec-moss{
background:var(--purity); color:var(--darkgrey);
border-top:1px solid rgba(205,193,162,.4);
}
.satya-fe .sec-off{ background:var(--offwhite); } .satya-fe .feature-card{
display:grid; grid-template-columns:1.15fr 1fr;
background:var(--offwhite); overflow:hidden;
}
.satya-fe .feature-card .fc-img{ position:relative; min-height:380px; background:var(--mankind); }
.satya-fe .feature-card .fc-img img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.satya-fe .feature-card .fc-body{ padding:48px; display:flex; flex-direction:column; justify-content:center; }
.satya-fe .fc-dates{ margin:6px 0 18px; }
.satya-fe .fc-text{ max-width:52ch; }
.satya-fe .fc-actions{ display:flex; gap:18px; align-items:center; margin-top:28px; flex-wrap:wrap; }
@media(max-width:860px){
.satya-fe .feature-card{ grid-template-columns:1fr; }
.satya-fe .feature-card .fc-img{ min-height:260px; }
.satya-fe .feature-card .fc-body{ padding:30px 24px; }
} .satya-fe .card-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }
@media(max-width:860px){
.satya-fe .card-grid{
display:flex; overflow-x:auto; gap:16px;
scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch;
padding:0 var(--gutter) 12px;
margin:0 calc(-1 * var(--gutter));
scroll-padding-left:var(--gutter);
}
.satya-fe .card-grid::-webkit-scrollbar{ height:0; }
.satya-fe .card-grid > *{ flex:0 0 78%; scroll-snap-align:start; }
}
@media(max-width:480px){ .satya-fe .card-grid > *{ flex:0 0 82%; } }
.satya-fe .card{ text-decoration:none; color:inherit; display:block; }
.satya-fe .card .card-img{ position:relative; aspect-ratio:4/3; overflow:hidden; background:var(--mankind); }
.satya-fe .card .card-img > img{ position:absolute; inset:0; }
.satya-fe .card .card-img img{ width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.satya-fe .card:hover .card-img img{ transform:scale(1.035); }
.satya-fe .card .go{
position:absolute; right:12px; top:12px;
width:36px; height:36px; border-radius:50%;
background:var(--purity); color:var(--terrain);
font-size:18px; display:flex; align-items:center; justify-content:center;
opacity:0; transform:translateX(-6px);
transition:opacity .3s ease, transform .3s ease;
}
.satya-fe .card:hover .go{ opacity:1; transform:translateX(0); }
.satya-fe .card-title{
font-family:var(--font-display); text-transform:lowercase;
font-size:26px; color:#655837; font-weight:bold;
margin:16px 0 0; line-height:1.15; transition:transform .2s;
}
.satya-fe .card-meta{ margin:8px 0 0; line-height:1.6; }
.satya-fe .card-grid{ row-gap:48px; } .satya-fe .tag{
display:inline-block;
font-size:12px; font-weight:500; letter-spacing:.08em;
text-transform:uppercase;
background:var(--olive); color:var(--purity);
padding:4px 10px; border-radius:3px;
margin:14px 0 0;
}
.satya-fe .card .tag + .card-title{ margin-top:10px; }
.satya-fe .tag.gold{ background:var(--golden-sand); color:var(--darkgrey); }
.satya-fe .price{ font-weight:500; color:var(--clay); } .satya-fe .row-item{
display:grid; grid-template-columns:150px 1fr auto; gap:22px;
align-items:baseline; padding:24px 4px;
border-bottom:1px solid rgba(205,193,162,.55);
text-decoration:none; color:inherit;
transition:background .3s, padding-left .3s;
}
.satya-fe .row-item:hover{ background:var(--offwhite); padding-left:14px; }
.satya-fe .row-item .rt{ font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:var(--clay); font-weight:500; }
.satya-fe .row-item .rl{
font-family:var(--font-display); text-transform:lowercase;
font-size:clamp(20px,2.4vw,28px); color:var(--terrain); line-height:1.2;
}
.satya-fe .row-item .rd{ font-size:13px; color:var(--midgrey); white-space:nowrap; }
@media(max-width:720px){
.satya-fe .row-item{ grid-template-columns:1fr; gap:6px; }
.satya-fe .row-item .rd{ white-space:normal; }
} .satya-fe .detail-hero{
position:relative; min-height:min(70vh,620px);
display:flex; align-items:flex-end;
background:var(--darkgrey); overflow:hidden;
}
.satya-fe .detail-hero .hero-media{ position:absolute; inset:0; }
.satya-fe .detail-hero .hero-media img{ width:100%; height:100%; object-fit:cover; }
.satya-fe .detail-hero .hero-grad{
position:absolute; inset:0;
background:linear-gradient(to top,rgba(38,32,28,.88) 0%,rgba(38,32,28,.38) 45%,transparent 75%);
}
.satya-fe .detail-hero .hero-content{ position:relative; z-index:2; width:100%; padding-bottom:48px; }
.satya-fe .detail-title{ font-size:clamp(38px,7vw,84px); color:var(--purity); }
.satya-fe .detail-meta{
display:flex; gap:26px; flex-wrap:wrap;
color:var(--mankind); font-size:14px; margin-top:14px;
}
.satya-fe .back-link{
display:inline-flex; align-items:center; gap:8px;
font-size:14px; font-weight:500; color:var(--mankind);
text-decoration:none; margin-bottom:18px;
}
.satya-fe .back-link:hover{ color:var(--purity); }
.satya-fe .h3{
font-family:var(--font-body); font-weight:500;
font-size:clamp(20px,2.2vw,24px); color:var(--terrain); line-height:1.3;
}
.satya-fe .detail-grid{ display:grid; grid-template-columns:1.4fr .8fr; gap:64px; align-items:start; }
@media(max-width:860px){ .satya-fe .detail-grid{ grid-template-columns:1fr; gap:36px; } }
.satya-fe .info-box{ background:var(--offwhite); padding:30px; position:sticky; top:20px; }
.satya-fe .info-box dl{ margin:0; }
.satya-fe .info-box dt{
font-size:12px; letter-spacing:.1em; text-transform:uppercase;
color:var(--clay); font-weight:500; margin-top:18px;
}
.satya-fe .info-box dt:first-child{ margin-top:0; }
.satya-fe .info-box dd{ margin:4px 0 0; font-size:15px; }
.satya-fe .prose{ font-size:17px; line-height:1.8; max-width:62ch; }
.satya-fe .prose p{ margin:0 0 1.1em; }
.satya-fe .facts{ list-style:none; padding:0; margin:32px 0 0; border-top:1px solid rgba(205,193,162,.55); }
.satya-fe .facts li{ padding:13px 0; border-bottom:1px solid rgba(205,193,162,.55); font-size:15px; display:flex; gap:20px; }
.satya-fe .facts strong{ flex:0 0 150px; color:var(--terrain); font-weight:500; }
@media(max-width:560px){
.satya-fe .facts li{ flex-direction:column; gap:2px; }
.satya-fe .facts strong{ flex:none; }
} .satya-fe .satya-empty-note{
border:1px dashed var(--mankind);
background:var(--offwhite);
padding:26px;
font-size:14px;
color:var(--midgrey);
border-radius:6px;
}
.satya-fe .satya-empty-note strong{ color:var(--terrain); display:block; margin-bottom:6px; }
@media(max-width:640px){
.satya-fe .section{ padding:56px 0; }
.satya-fe .hero-content{ padding-bottom:40px; }
.satya-fe .hero-ctas .btn{ flex:1; }
} .satya-fe .body-lg{ font-size:clamp(17px,1.6vw,21px); line-height:1.7; }
.satya-fe .count{
font-family:var(--font-body); font-weight:400; font-size:15px;
color:var(--clay); vertical-align:super; margin-left:8px;
}
.satya-fe .rows{ border-top:1px solid rgba(205,193,162,.55); }
.satya-fe .row-item .arrow{ opacity:0; transform:translateX(-8px); transition:.3s; color:var(--clay); }
.satya-fe .row-item:hover .arrow{ opacity:1; transform:none; }
.satya-fe .row-item.past .rl{ color:var(--midgrey); }
.satya-fe .filters{ display:flex; gap:10px; flex-wrap:wrap; margin:6px 0 36px; }
.satya-fe .filter-pill{
font-family:var(--font-body); font-weight:500; font-size:14px;
padding:9px 20px; border-radius:999px;
border:1.5px solid var(--mankind); background:transparent;
color:var(--terrain); cursor:pointer; transition:.25s;
}
.satya-fe .filter-pill:hover{ border-color:var(--terrain); }
.satya-fe .filter-pill.is-active{ background:var(--terrain); border-color:var(--terrain); color:var(--purity); }
.satya-fe .program-filtering{ display:flex; align-items:flex-start; justify-content:space-between; gap:24px; margin-bottom:30px; }
.satya-fe .program-filtering .filters{ margin:0; }
.satya-fe .program-filter-options{ display:flex; justify-content:flex-end; gap:10px; flex-wrap:nowrap; }
.satya-fe .program-filter-options .native-filter{ display:flex; font:inherit; padding:9px 12px; border:1px solid var(--mankind); border-radius:999px; background:white; color:var(--terrain); }
@media(max-width:820px){
.satya-fe .program-filtering{ flex-direction:column; }
.satya-fe .program-filter-options{ justify-content:flex-start; width:100%; }
}
@media(max-width:640px){
.satya-fe .program-filter-options{ flex-wrap:wrap; }
.satya-fe .native-filter{
display:block; width:100%; font:inherit; font-size:15px;
padding:12px 16px;
border:1.5px solid var(--mankind); border-radius:999px;
background:var(--purity); color:var(--terrain);
}
}
.satya-fe .prog-card.is-filtered{ display:none; }
.satya-fe .program-calendar{ display:flex; justify-content:space-between; gap:20px; flex-wrap:wrap; padding:18px 22px; background:var(--offwhite); margin-bottom:30px; color:var(--terrain); }
.satya-fe .program-calendar span{ color:var(--midgrey); }
.satya-fe .program-content{ margin-top:8px; } .satya-fe .card-img-placeholder,
.satya-fe .fc-img-placeholder{
background:
linear-gradient(135deg, rgba(205,193,162,.55) 0%, rgba(205,193,162,.25) 100%);
width:100%; height:100%;
display:flex; align-items:center; justify-content:center;
}
.satya-fe .card-img-placeholder{ position:absolute; inset:0; }
.satya-fe .fc-img-placeholder{ position:absolute; inset:0; }
.satya-fe .card-img-placeholder::after,
.satya-fe .fc-img-placeholder::after{
content:"satyanara";
font-family:var(--font-display);
text-transform:lowercase;
font-size:22px;
color:rgba(101,88,55,.35);
} .satya-fe{
width:100vw;
max-width:100vw;
margin-left:calc(50% - 50vw);
margin-right:calc(50% - 50vw);
} .satya-fe .wrap{ width:100%; } .satya-fe > .hero,
.satya-fe > .cta-strip,
.satya-fe > .section,
.satya-fe > .detail-hero{ width:100%; } html:has(.satya-fe){ overflow-x:hidden; } .satya-fe .page-hero{
background:var(--purity);
color:var(--darkgrey);
padding:96px 0 56px;
position:relative;
overflow:hidden;
border-bottom:1px solid rgba(205,193,162,.4);
}
.satya-fe .page-hero .display{
color:var(--terrain);
font-size:clamp(54px,9vw,120px);
line-height:.98;
letter-spacing:-.01em;
}
.satya-fe .page-hero p{
color:var(--midgrey);
max-width:54ch;
margin-top:22px;
font-size:18px;
}
@media(max-width:640px){
.satya-fe .page-hero{ padding:56px 0 36px; }
.satya-fe .page-hero p{ font-size:16px; margin-top:16px; }
} .satya-fe .section + .section{ padding-top:0; }
.satya-fe .section#currently-on{ padding-top:72px; }
.satya-fe .section-head .h2 .count{ vertical-align:super; }  .satya-fe .hero::before,
.satya-fe .detail-hero::before{
content:"";
position:absolute; left:0; right:0; top:0;
height:180px; z-index:1;
background:linear-gradient(to bottom,rgba(38,32,28,.6),transparent);
pointer-events:none;
} .satya-fe .hero .hero-grad,
.satya-fe .detail-hero .hero-grad{ z-index:2; }
.satya-fe .hero .hero-content,
.satya-fe .detail-hero .hero-content{ z-index:3; position:relative; }
.satya-fe .hero .hero-media,
.satya-fe .detail-hero .hero-media{ z-index:0; }
@media(max-width:700px){ .satya-fe .hero{ min-height:calc(100svh - 72px); }
.satya-fe .detail-hero{ min-height:70svh; } .satya-fe .hero-grad{
background:linear-gradient(to top,
rgba(30,25,20,.95) 0%,
rgba(30,25,20,.86) 34%,
rgba(30,25,20,.62) 56%,
rgba(30,25,20,.22) 78%,
transparent 92%);
}
.satya-fe .hero-title,
.satya-fe .detail-title{ text-shadow:0 1px 24px rgba(20,16,12,.45); }
.satya-fe .hero-tag{ color:rgba(255,255,255,.92); }
.satya-fe .hero-title{ max-width:none; }
.satya-fe .hero-tag{ font-size:16px; }
.satya-fe .hero-ctas .btn{ flex:1 1 100%; }
}
@media(max-width:480px){
.satya-fe{ --gutter:18px; }
.satya-fe .hero-content{ padding-bottom:34px; }
.satya-fe .hero-eyebrow{ font-size:11.5px; letter-spacing:.14em; }
.satya-fe .cta-strip .wrap{ padding-top:24px; padding-bottom:24px; }
.satya-fe .cta-strip .btn{ margin-left:0; width:100%; }
.satya-fe .card-title{ font-size:23px; }
.satya-fe .detail-title{ font-size:clamp(32px,10vw,44px); }
.satya-fe .info-box{ padding:22px 18px; position:static; }
.satya-fe .section{ padding:48px 0; }
} @media(max-width:860px){
.satya-fe .info-box{ position:static; }
} @media(prefers-reduced-motion:reduce){
.satya-fe .card .card-img img{ transition:none; }
.satya-fe .hero-title .w i{ animation:none; opacity:1; transform:none; }
.satya-fe .hero-media img,
.satya-fe .hero-media img.is-loaded{ animation:none; opacity:1; transform:none; }
} .satya-announce{
background:#655837;
color:#ffffff;
font-family:"Articulat CF","Segoe UI",system-ui,sans-serif;
font-size:14px;
line-height:1.5;
position:relative;
z-index:9999;
}
.satya-announce__inner{
max-width:1240px;
margin:0 auto;
padding:9px 24px;
display:flex;
align-items:center;
gap:16px;
}
.satya-announce p{ margin:0; }
.satya-announce em{ font-style:italic; }
.satya-announce a{
color:#ffffff;
font-weight:500;
text-decoration:underline;
text-underline-offset:3px;
margin-left:10px;
white-space:nowrap;
}
.satya-announce a:hover{ opacity:.82; color:#ffffff; }
.satya-announce__close{
margin-left:auto;
background:none;
border:0;
color:#ffffff;
font-size:20px;
line-height:1;
cursor:pointer;
padding:4px 6px;
opacity:.8;
}
.satya-announce__close:hover{ opacity:1; }
@media(max-width:640px){
.satya-announce{ font-size:13px; }
.satya-announce__inner{ padding:9px 18px; gap:10px; }
.satya-announce a{ display:inline-block; margin-left:8px; }
} [data-reveal]{
opacity:0;
transform:translateY(24px);
transition:opacity .5s ease, transform .5s ease;
}
[data-reveal].is-in{
opacity:1;
transform:translateY(0);
} .satya-fe a:hover,
.satya-fe a:focus{ color:var(--clay); text-decoration:none; }
.satya-fe .card:hover .card-title{ color:#655837; transform:translateX(6px); }
.satya-fe .btn-primary:hover,
.satya-fe .btn-primary:focus{ background:var(--terrain); color:var(--purity); opacity:.85; }  @media(min-width:861px){
.satya-fe .feature-card{ grid-template-columns:1fr 1.15fr; }
.satya-fe .feature-card .fc-body{ order:1; }
.satya-fe .feature-card .fc-img{ order:2; }
} .satya-fe .fc-actions .btn,
.satya-fe .section .btn-outline{
font-size:14px;
padding:11px 20px;
}
.satya-fe .fc-actions .text-link{ font-size:14px; } @media(max-width:700px){
.satya-fe .page-hero{ padding:44px 0 30px; }
.satya-fe .page-hero .display{ font-size:clamp(40px,13vw,64px); }
.satya-fe .page-hero p{ font-size:15px; margin-top:14px; }
.satya-fe .section#currently-on,
.satya-fe .page-hero + .section{ padding-top:36px; }
.satya-fe .section-head{ margin-bottom:24px; }
} .satya-fe .fc-dates{ line-height:1.6; }
@media(max-width:700px){
.satya-fe .fc-dates .sep{ display:none; }
.satya-fe .fc-dates .fc-venue{ display:block; margin-top:2px; }
.satya-fe .card-meta{ line-height:1.65; }
.satya-fe .feature-card .fc-body{ padding:24px 20px 28px; }
.satya-fe .feature-card .fc-actions{ gap:12px; }
.satya-fe .feature-card .fc-actions .btn{ width:100%; text-align:center; }
} @media(max-width:700px){
.satya-fe .page-hero + .section .section-head .h2{ font-size:clamp(24px,6vw,30px); }
} .satya-fe .section-head .h2{
display:flex;
align-items:baseline;
gap:8px;
white-space:nowrap;
}
.satya-fe .section-head .h2 > span:first-child{ white-space:normal; }
.satya-fe .section-head .count{
margin-left:0;
vertical-align:baseline;
font-size:14px;
line-height:1;
}
@media(max-width:700px){
.satya-fe .section-head{ align-items:center; }
.satya-fe .section-head .h2{ flex-wrap:nowrap; }
} .satya-fe .satya-more-btn{
background:none;
border:0;
border-bottom:1px solid var(--mankind);
color:var(--clay);
cursor:pointer;
font:inherit;
font-size:15px;
font-weight:500;
padding:0 0 1px;
margin-top:6px;
}
.satya-fe .satya-more-btn:hover{ border-color:var(--clay); }
.satya-fe .satya-more[hidden]{ display:none; }