:root {
    --sa-ink:#123b39;
    --sa-teal:#0d3f3e;
    --sa-copper:#ab5529;
    --sa-gold:#d6aa64;
    --sa-brown:#6c4122;
    --sa-cream:#fcf8f0;
    --sa-border:#eadfce
}
html {
    scroll-behavior:smooth
}
body.sanatan-site {
    color:#23312f;
    background:var(--sa-cream);
    font-family:'DM Sans',Arial,sans-serif;
    margin:0
}
body.sanatan-site * {
    box-sizing:border-box
}
body.sanatan-site a {
    text-decoration:none
}
body.sanatan-site button {
    cursor:pointer
}
body.sanatan-site img {
    max-width:100%
}
.sa-container {
    width:min(1200px,calc(100% - 36px));
    margin-inline:auto
}
.sa-heading {
    font:600 clamp(1.9rem,3vw,2.7rem)/1.2 'Playfair Display',Georgia,serif;
    color:var(--sa-ink)
}
.sa-kicker {
    letter-spacing:.29em;
    text-transform:uppercase;
    font-size:.75rem;
    color:var(--sa-copper);
    font-weight:700
}
.sa-btn {
    display:inline-flex;
    justify-content:center;
    align-items:center;
    gap:10px;
    min-height:45px;
    padding:12px 23px;
    border:1px solid transparent;
    border-radius:6px;
    font-weight:700;
    transition:transform .2s,background .2s
}
.sa-btn:hover {
    transform:translateY(-2px)
}
.sa-btn-primary {
    background:var(--sa-copper);
    color:white!important
}
.sa-btn-dark {
    background:var(--sa-teal);
    color:white!important
}
.sa-btn-outline {
    border-color:var(--sa-teal);
    color:var(--sa-ink);
    background:white
}
.skip-link {
    position:absolute;
    left:10px;
    top:-80px;
    z-index:200;
    background:white;
    padding:10px
}
.skip-link:focus {
    top:5px
}
.site-header {
    position:relative;
    z-index:80;
    background:#fffdfa;
    border-bottom:1px solid var(--sa-border)
}
.masthead {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:15px;
    padding-block:10px
}
.brand {
    display:flex;
    align-items:center;
    gap:13px;
    min-width:0
}
.brand img {
    width:68px;
    height:68px;
    object-fit:cover;
    border-radius:50%;
    border:2px solid var(--sa-gold);
    flex-shrink:0
}
.brand-copy {
    display:flex;
    flex-direction:column;
    gap:2px;
    white-space:nowrap
}
.brand-copy strong {
    font:600 clamp(1.35rem,3.2vw,2.55rem)/1.05 'Playfair Display',Georgia,serif;
    letter-spacing:.04em;
    color:#693c1d
}
.brand-copy small {
    letter-spacing:.24em;
    font-size:.67rem;
    font-weight:700;
    color:#654026
}
.masthead-actions {
    display:flex;
    align-items:center;
    gap:0
}
.masthead-actions>a,.masthead-actions>.linklike {
    color:#4c3c32;
    background:none;
    border:0;
    font-weight:600;
    font-size:.85rem;
    padding:6px 13px;
    border-right:1px solid #d8c9b7
}
.masthead-actions a:hover,.masthead-actions button:hover {
    color:var(--sa-copper)
}
.masthead-actions .sa-header-account {
    margin-left:14px;
    background:var(--sa-teal);
    color:#fff;
    border-radius:7px;
    padding:11px 17px;
    border:0
}
.masthead-actions .sa-header-account:hover {
    color:#fff;
    background:#135955
}
.mobile-nav-toggle {
    display:none;
    background:white;
    border:1px solid var(--sa-border);
    border-radius:7px;
    padding:10px;
    color:var(--sa-ink)
}
.site-navigation {
    background:#fffdf9;
    border-top:1px solid #f0e5d7
}
.nav-inner {
    display:flex;
    justify-content:space-between;
    gap:3px
}
.nav-single,.nav-group>summary {
    font-size:.87rem;
    font-weight:600;
    color:#26302b;
    display:flex;
    align-items:center;
    gap:6px;
    min-height:48px;
    padding:0 10px;
    cursor:pointer;
    white-space:nowrap;
    list-style:none
}
.nav-group>summary::-webkit-details-marker {
    display:none
}
.nav-inner .nav-single:hover,.nav-inner .nav-group>summary:hover,.nav-inner .nav-single.is-active {
    color:var(--sa-copper);
    border-bottom:2px solid var(--sa-copper)
}
.nav-group {
    position:relative
}
.nav-chevron {
    font-size:.55rem;
    opacity:.5
}
.mega-panel {
    position:absolute;
    top:100%;
    left:-100px;
    z-index:120;
    width:min(620px,90vw);
    background:#fffdf7;
    border:1px solid #e7d8c7;
    border-radius:0 0 14px 14px;
    padding:18px;
    box-shadow:0 15px 32px #23150b29
}
.nav-group:nth-last-child(-n+3) .mega-panel {
    left:auto;
    right:0
}
.mega-head {
    display:flex;
    justify-content:space-between;
    align-items:center;
    border-bottom:1px solid var(--sa-border);
    padding-bottom:12px;
    margin-bottom:11px;
    color:var(--sa-ink)
}
.mega-head strong {
    font:600 1.3rem 'Playfair Display',Georgia,serif
}
.mega-head a {
    color:var(--sa-copper);
    font-size:.82rem
}
.mega-links {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:5px
}
.mega-links a {
    display:flex;
    align-items:center;
    gap:8px;
    padding:9px 10px;
    border-radius:5px;
    color:#594433;
    font-size:.85rem
}
.mega-links a:hover {
    background:#f8ebd9;
    color:var(--sa-copper)
}
.mega-links i {
    color:var(--sa-copper);
    font-size:.77rem
}
.hero-home {
    position:relative;
    background:#352012;
    min-height:445px;
    isolation:isolate;
    overflow:hidden
}
.hero-cover {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
    z-index:-2
}
.hero-home:before {
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(95deg,#fff9ee 0%,#fff8eee8 37%,#fff9ee66 57%,#20120d55 100%);
    z-index:-1
}
.hero-home .sa-container {
    min-height:445px;
    display:flex;
    align-items:center
}
.hero-copy {
    max-width:670px;
    padding:45px 0 65px
}
.hero-copy h1 {
    font:600 clamp(2.3rem,4.6vw,4.5rem)/1.12 'Playfair Display',Georgia,serif;
    color:var(--sa-ink);
    letter-spacing:-.04em;
    margin:12px 0
}
.hero-copy h1 span {
    color:var(--sa-copper)
}
.hero-copy p {
    font:400 clamp(1rem,1.5vw,1.25rem)/1.5 Georgia,serif;
    max-width:490px;
    color:#313b38
}
.hero-buttons {
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin-top:25px
}
.home-search {
    position:relative;
    margin-top:-30px;
    z-index:5;
    background:white;
    border-radius:13px;
    padding:13px 15px;
    box-shadow:0 12px 30px #3420111c;
    display:grid;
    grid-template-columns:1fr 190px 165px;
    gap:13px
}
.home-search input,.home-search select {
    width:100%;
    border:1px solid var(--sa-border);
    border-radius:6px;
    padding:13px;
    color:#294b46;
    background:#fff;
    font-size:.95rem
}
.home-search button {
    border:0;
    border-radius:6px;
    color:white;
    background:var(--sa-teal);
    font-weight:700
}
.home-area {
    padding:55px 0
}
.quick-row {
    display:flex;
    gap:14px;
    align-items:stretch
}
.quick-fixed {
    flex:0 0 215px;
    background:linear-gradient(145deg,#f7d889,#e7ab48);
    border:1px solid #bd8541;
    box-shadow:0 3px 8px #5f370f1f;
    border-radius:9px;
    color:#56311a;
    display:flex;
    align-items:center;
    justify-content:center;
    flex-direction:column;
    gap:7px;
    min-height:110px;
    font-weight:800;
    text-align:center
}
.quick-fixed i {
    font-size:1.9rem
}
.quick-slide-outer {
    display:flex;
    min-width:0;
    flex:1;
    align-items:center;
    gap:7px
}
.quick-track {
    min-width:0;
    display:flex;
    gap:13px;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
    padding:3px
}
.quick-track::-webkit-scrollbar {
    display:none
}
.quick-card {
    flex:0 0 192px;
    scroll-snap-align:start;
    background:#fffaf3;
    border:1px solid var(--sa-border);
    border-radius:8px;
    min-height:105px;
    display:flex;
    align-items:center;
    gap:11px;
    padding:13px;
    color:#273431;
    font-weight:700;
    box-shadow:0 3px 8px #62472b0c
}
.quick-card i {
    color:var(--sa-copper);
    font-size:1.55rem
}
.quick-card:hover {
    background:#fff2dd;
    transform:translateY(-2px)
}
.slide-arrow {
    border:1px solid var(--sa-border);
    background:white;
    color:var(--sa-copper);
    border-radius:50%;
    width:31px;
    height:31px;
    flex-shrink:0
}
.section-heading {
    display:flex;
    justify-content:space-between;
    align-items:end;
    gap:20px;
    margin-bottom:25px
}
.section-heading>p {
    max-width:360px;
    color:#645c55;
    font:1rem/1.55 Georgia,serif
}
.opportunities {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:14px
}
.opportunity {
    display:flex;
    min-height:126px;
    overflow:hidden;
    border-radius:7px;
    border:1px solid var(--sa-border);
    background:#fff;
    box-shadow:0 4px 8px #4f342a0a
}
.opportunity-image {
    width:36%;
    object-fit:cover
}
.opportunity-detail {
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    justify-content:center;
    gap:4px;
    padding:14px;
    color:var(--sa-ink)
}
.opportunity-detail i {
    font-size:1.3rem;
    color:var(--sa-copper);
    margin-bottom:2px
}
.opportunity-detail strong {
    font:600 1.2rem/1.2 'Playfair Display',Georgia,serif
}
.opportunity-detail small {
    color:#6e6860;
    font-size:.75rem;
    line-height:1.4
}
.stats-band {
    background:linear-gradient(120deg,#0d3d3c,#12504d);
    color:#fffaf0;
    padding:29px 0
}
.stats-grid {
    display:grid;
    grid-template-columns:repeat(3,1fr)
}
.stat-item {
    display:flex;
    align-items:center;
    justify-content:center;
    gap:18px;
    padding:10px 20px;
    border-right:1px solid #a38d62
}
.stat-item:last-child {
    border:0
}
.stat-item i {
    font-size:2rem;
    color:var(--sa-gold)
}
.stat-item strong {
    display:block;
    color:#f3ce8b;
    font:600 clamp(2rem,3.4vw,3.4rem)/1.1 'Playfair Display',Georgia,serif
}
.stat-item span {
    display:block;
    font-size:.9rem;
    font-weight:600
}
.sa-panel {
    border:1px solid var(--sa-border);
    border-radius:10px;
    background:white;
    box-shadow:0 5px 15px #2e271511;
    overflow:hidden
}
.sa-panel-content {
    padding:20px
}
.sa-card-grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:17px
}
.sa-card-grid.four {
    grid-template-columns:repeat(4,minmax(0,1fr))
}
.sa-card-img {
    width:100%;
    height:164px;
    object-fit:cover
}
.sa-card-icon {
    width:100%;
    height:164px;
    display:flex;
    justify-content:center;
    align-items:center;
    background:#f2e7d7;
    font-size:2.8rem;
    color:var(--sa-copper)
}
.sa-panel h3 {
    font:600 1.3rem 'Playfair Display',Georgia,serif;
    color:var(--sa-ink)
}
.sa-panel p {
    color:#595b53;
    font-size:.92rem;
    line-height:1.55
}
.sa-text-link {
    color:var(--sa-copper);
    font-weight:700;
    font-size:.9rem
}
.community-cta {
    text-align:center;
    padding:42px 20px;
    background:linear-gradient(90deg,#fff4df,#fffdf8,#fff0dc);
    border-top:1px solid var(--sa-border);
    border-bottom:1px solid var(--sa-border)
}
.community-cta p {
    color:#71675d;
    margin:11px auto 23px;
    max-width:550px
}
.activity-grid {
    display:grid;
    grid-template-columns:1.2fr .8fr;
    gap:22px
}
.activity-photo {
    height:235px;
    object-fit:cover;
    width:100%
}
.sa-flash {
    background:#e0f6e8;
    border:1px solid #84b994;
    color:#164832;
    padding:13px 16px;
    border-radius:8px;
    margin:16px 0
}
.sa-errors {
    background:#fff2eb;
    border:1px solid #d68d70;
    color:#8f3b25;
    padding:13px 16px;
    border-radius:8px;
    margin:16px 0
}
.site-footer {
    background:#0c3b3b;
    color:#ebeee5;
    padding:35px 0 15px
}
.footer-grid {
    display:grid;
    grid-template-columns:1fr .8fr 1.1fr;
    gap:45px
}
.site-footer .brand-copy strong {
    font-size:1.55rem;
    color:#ffe1a7
}
.site-footer .brand-copy small {
    color:#f4d8ae;
    letter-spacing:.12em
}
.site-footer p {
    font-size:.83rem;
    line-height:1.7;
    color:#c4d3c9;
    margin:8px 0
}
.site-footer a {
    color:#e5e9d7
}
.site-footer a:hover {
    color:#f7cf89
}
.site-footer h3 {
    font:600 1.2rem 'Playfair Display',Georgia,serif;
    border-bottom:1px solid #aa7c4d;
    padding-bottom:12px;
    margin-bottom:10px
}
.footer-links {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:7px 18px;
    font-size:.83rem
}
.footer-bottom {
    border-top:1px solid #46706a;
    margin-top:25px;
    padding-top:13px;
    display:flex;
    justify-content:space-between;
    gap:12px;
    color:#c4d0c7;
    font-size:.75rem
}
.wa-sticky {
    position:fixed;
    bottom:23px;
    right:22px;
    z-index:95
}
.wa-sticky summary {
    cursor:pointer;
    list-style:none;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    width:57px;
    height:57px;
    background:#27ae63;
    color:white;
    box-shadow:0 4px 18px #16482c60;
    font-size:2rem;
    border:3px solid white
}
.wa-sticky summary::-webkit-details-marker {
    display:none
}
.wa-list {
    position:absolute;
    bottom:67px;
    right:0;
    background:#fff;
    min-width:240px;
    padding:16px;
    border:1px solid var(--sa-border);
    box-shadow:0 9px 25px #0c312c36;
    border-radius:9px
}
.wa-list strong {
    display:block;
    color:var(--sa-ink);
    margin-bottom:11px
}
.wa-list a {
    display:block;
    color:#126444;
    padding:8px 0;
    border-bottom:1px solid #e7eee8;
    font-size:.85rem
}
.donation-dialog {
    max-width:450px;
    width:calc(100% - 26px);
    padding:26px;
    border:1px solid #caa477;
    border-radius:12px;
    background:#fffbf6;
    color:#303f38
}
.donation-dialog::backdrop {
    background:#031a1cb8
}
.donation-dialog h2 {
    font:600 1.8rem 'Playfair Display',Georgia,serif;
    color:var(--sa-ink)
}
.donation-dialog p {
    margin:12px 0;
    line-height:1.5
}
.donation-close {
    float:right
}
.donation-close button {
    border:0;
    background:transparent;
    font-size:1.25rem
}
.donation-qr {
    margin:10px auto;
    width:230px
}
.donation-upi {
    padding:10px;
    background:#f1e8db
}
.donation-bank {
    white-space:pre-wrap;
    margin:10px 0
}
.sa-field {
    width:100%;
    border:1px solid #d9d2c9;
    background:white;
    border-radius:10px;
    padding:12px 13px;
    outline:none
}
.sa-field:focus {
    border-color:var(--sa-copper);
    box-shadow:0 0 0 3px #ac633025
}
.sa-form-grid {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:19px
}
.sa-label {
    display:block;
    font-weight:700;
    color:#3f3a30;
    margin-bottom:8px;
    font-size:.9rem
}
.sa-form-group {
    margin-bottom:17px
}
.sa-muted {
    color:#666c68
}
.article-comments {
    margin-top:35px
}
.sa-comment {
    padding:17px 22px;
    border:1px solid var(--sa-border);
    border-radius:8px;
    background:#fff;
    margin-top:12px
}
.sa-comment-reply {
    margin:12px 0 0 30px;
    background:#fffaf2
}
.sa-comment-meta {
    display:flex;
    justify-content:space-between;
    gap:10px;
    color:#655a4c;
    font-size:.83rem;
    margin-bottom:8px
}
.sa-comment p {
    white-space:pre-wrap;
    overflow-wrap:anywhere
}
.sa-subtle-btn {
    border:0;
    background:none;
    color:var(--sa-copper);
    font-size:.82rem;
    font-weight:700
}
.sa-section-intro {
    padding:43px 0;
    background:#f7eddf;
    border-bottom:1px solid var(--sa-border)
}
@media(max-width:1000px) {
    .nav-single,.nav-group>summary {
        padding:0 6px;
        font-size:.77rem
    }
    .nav-single>i,.nav-group>summary>i:first-child {
        display:none
    }
    .opportunities {
        grid-template-columns:repeat(2,minmax(0,1fr))
    }
    .sa-card-grid.four {
        grid-template-columns:repeat(2,minmax(0,1fr))
    }
}
@media(max-width:760px) {
    .sa-container {
        width:min(100% - 28px,1200px)
    }
    .masthead {
        flex-wrap:wrap;
        padding-block:8px
    }
    .brand img {
        width:49px;
        height:49px
    }
    .brand-copy strong {
        font-size:1.33rem
    }
    .brand-copy small {
        font-size:.49rem;
        letter-spacing:.15em
    }
    .masthead-actions {
        order:3;
        width:100%;
        justify-content:space-between;
        border-top:1px solid var(--sa-border);
        padding-top:7px
    }
    .masthead-actions>a,.masthead-actions>.linklike {
        font-size:.74rem;
        padding:6px
    }
    .masthead-actions .sa-header-account {
        margin-left:4px;
        padding:7px 10px
    }
    .mobile-nav-toggle {
        display:block
    }
    .site-navigation {
        display:none;
        max-height:68vh;
        overflow:auto
    }
    .site-navigation.is-open {
        display:block
    }
    .nav-inner {
        display:block;
        padding:5px 0 13px
    }
    .nav-single,.nav-group>summary {
        padding:12px 8px;
        font-size:1rem;
        min-height:45px;
        justify-content:space-between
    }
    .nav-single>i,.nav-group>summary>i:first-child {
        display:inline
    }
    .mega-panel {
        position:static;
        width:100%;
        box-shadow:none;
        padding:8px;
        border-radius:8px
    }
    .mega-links {
        grid-template-columns:repeat(2,minmax(0,1fr))
    }
    .hero-home,.hero-home .sa-container {
        min-height:385px
    }
    .hero-home:before {
        background:linear-gradient(95deg,#fff9f4ee,#fff8ecdf 65%,#3a241a40)
    }
    .hero-copy {
        padding:30px 0 66px
    }
    .hero-copy h1 {
        font-size:clamp(2.05rem,8vw,3.4rem)
    }
    .home-search {
        grid-template-columns:1fr 1fr;
        gap:9px
    }
    .home-search input {
        grid-column:1/-1
    }
    .home-search button {
        padding:12px
    }
    .home-area {
        padding:37px 0
    }
    .quick-fixed {
        flex:0 0 125px;
        font-size:.82rem;
        min-height:90px
    }
    .quick-card {
        flex-basis:165px;
        min-height:90px;
        font-size:.85rem
    }
    .slide-arrow {
        display:none
    }
    .section-heading {
        align-items:start;
        display:block
    }
    .section-heading>p {
        margin-top:10px
    }
    .stats-grid {
        grid-template-columns:1fr
    }
    .stat-item {
        justify-content:flex-start;
        border-right:0;
        border-bottom:1px solid #4e7771;
        max-width:300px;
        margin:auto;
        width:100%
    }
    .stat-item:last-child {
        border-bottom:0
    }
    .sa-card-grid,.activity-grid {
        grid-template-columns:1fr
    }
    .footer-grid {
        grid-template-columns:1fr;
        gap:23px
    }
    .footer-bottom {
        flex-wrap:wrap
    }
    .sa-form-grid {
        grid-template-columns:1fr
    }
}
@media(max-width:430px) {
    .opportunities {
        grid-template-columns:1fr
    }
    .sa-card-grid.four {
        grid-template-columns:1fr
    }
    .quick-fixed {
        flex-basis:102px
    }
    .quick-card {
        flex-basis:145px
    }
    .mega-links {
        grid-template-columns:1fr
    }
    .hero-buttons .sa-btn {
        flex:1 1 100%
    }
    .home-search {
        grid-template-columns:1fr
    }
    .home-search input {
        grid-column:auto
    }
}
/* Discourages casual dragging of editorial images;
not DRM. */ .hero-cover,.sa-card-img,.activity-photo {
    -webkit-user-drag:none;
    user-select:none
}
