/* Shared design: local fonts, no external libraries or font requests. */
:root{--paper:#fcf9f2;--ink:#342d2a;--muted:#716761;--wine:#592b36;--wine-dark:#42202a;--gold:#b2874d;--line:#e3dacf;--soft:#f1eade;--white:#fff;--serif:Georgia,"Times New Roman",serif;--sans:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:105px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
button{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
a:focus-visible,button:focus-visible{outline:3px solid var(--gold);outline-offset:5px}
a,button{touch-action:manipulation}
img{max-width:100%;display:block}
figure,p,h1,h2,h3{margin:0}
h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-.045em;line-height:1.1;text-wrap:balance}
p{max-width:65ch}
address{font-style:normal}
.shell{width:min(1240px,calc(100% - 96px));margin-inline:auto}
.skip-link{position:fixed;top:-100px;left:16px;z-index:20;padding:12px 20px;background:var(--wine);color:white}
.skip-link:focus{top:12px}
.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}
.site-header{border-bottom:1px solid var(--line);background:var(--paper);position:relative;z-index:10}
.header-inner{min-height:102px;display:flex;align-items:center;justify-content:space-between;gap:30px}
.brand{display:flex;align-items:center;gap:13px;flex-shrink:0}
.brand-mark{width:47px;height:54px;display:grid;place-items:center;border:1px solid #b79877;border-radius:26px 26px 3px 3px;font-size:30px;color:var(--wine);line-height:1;padding-top:3px}
.brand-name{font-family:var(--serif);font-size:24px;line-height:1.2;letter-spacing:-.5px}
.brand-name small{display:block;font-family:var(--sans);text-transform:uppercase;font-size:9px;letter-spacing:1.8px;color:var(--muted);margin-top:7px;font-weight:500}
.navigation{display:flex;align-items:center;gap:34px;font-size:14px}
.navigation a{min-height:44px;display:flex;align-items:center;gap:15px;position:relative}
.navigation a:not(.nav-donate):after{content:"";height:1px;position:absolute;bottom:3px;left:0;right:0;background:var(--wine);transform:scaleX(0);transition:transform .2s}
.navigation a:hover:after,.navigation a[aria-current]:after{transform:scaleX(1)}
.navigation .nav-donate{background:var(--wine);color:var(--paper);padding:12px 22px;border-radius:3px}
.nav-donate:hover,.button:hover{background:var(--wine-dark)}
.menu-toggle{display:none}
.hero{display:grid;grid-template-columns:1.15fr 1fr;align-items:center;gap:75px;padding-block:66px 62px}
.eyebrow{text-transform:uppercase;letter-spacing:2px;font-size:10px;font-weight:650;color:var(--wine);line-height:1.6;margin-bottom:23px;display:flex;align-items:center;gap:12px}
.eyebrow>span{width:29px;height:1px;background:var(--gold)}
.hero h1{font-size:clamp(54px,5.5vw,78px);margin-bottom:25px;line-height:1.05}
h1 em{color:var(--wine);font-weight:400}
.lead{font-size:18px;line-height:1.7;color:#5f514a}
.hero-welcome{font-size:14px;color:var(--muted);margin-top:16px;max-width:45ch}
.button-row{display:flex;gap:28px;align-items:center;flex-wrap:wrap;margin-top:30px}
.button{display:inline-flex;justify-content:center;align-items:center;gap:29px;min-height:52px;padding:14px 25px;background:var(--wine);color:var(--paper);border:1px solid var(--wine);border-radius:3px;font-size:13px;font-weight:550;transition:background .2s}
.button span,.text-link span,.light-link span{font-size:18px;line-height:1}
.text-link{display:inline-flex;align-items:center;gap:22px;font-size:13px;font-weight:600;color:var(--wine);border-bottom:1px solid #bda69f;min-height:44px}
.text-link:hover{border-color:var(--wine)}
.location-line{display:flex;align-items:center;gap:9px;margin-top:38px;font-size:11px;letter-spacing:.1px;color:var(--muted);min-height:32px}
.location-line:hover{color:var(--wine)}
.location-dot{width:9px;height:9px;border:1px solid var(--gold);border-radius:50%;flex-shrink:0;position:relative}
.location-dot:after{content:"";position:absolute;width:3px;height:3px;background:var(--gold);border-radius:50%;left:2px;top:2px}
.hero-photo{padding:9px 9px 0;border:1px solid #ccb49b;border-radius:260px 260px 6px 6px}
.hero-photo img{width:100%;height:510px;object-fit:cover;object-position:center 43%;border-radius:250px 250px 2px 2px}
figcaption{font-size:10px;letter-spacing:.3px;color:var(--muted);padding-top:12px;line-height:1.6}
.hero-photo figcaption{text-align:center;padding:14px 5px}
.hours-band{background:var(--wine);color:var(--paper)}
.hours-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr auto;align-items:center;gap:35px;padding-block:35px}
.eyebrow.light{color:#e7c69b;margin-bottom:10px;font-size:9px}
.hours-intro h2{font-size:29px;letter-spacing:-.03em}
.hours-item{border-left:1px solid #ffffff26;padding-left:29px;align-self:stretch;padding-top:4px}
.hours-item h3{font-size:11px;font-weight:450;color:#eadbd5;margin-bottom:8px}
.hours-item p{font-family:var(--serif);font-size:20px;line-height:1.5}
.time-nowrap{white-space:nowrap}
.hours-item>span{font-size:10px;color:#dfcac7;display:block;margin-top:7px}
.light-link{display:inline-flex;align-items:center;gap:13px;border-bottom:1px solid #b18c87;min-height:44px;font-size:11px;white-space:nowrap}
.welcome-section{display:grid;grid-template-columns:1fr 1fr;gap:85px;align-items:center;padding-block:100px}
.wide-photo img{border-radius:3px;width:100%;height:355px;object-fit:cover}
.welcome-copy h2{font-size:48px;margin-bottom:23px}
.welcome-copy p:not(.eyebrow){font-size:14px;color:var(--muted);margin-bottom:17px}
.welcome-copy .text-link{margin-top:7px}
.support-section{display:flex;justify-content:space-between;align-items:center;gap:32px;padding:42px 46px;margin-bottom:85px;background:var(--soft);border-top:1px solid #d7c6b2;border-bottom:1px solid #d7c6b2}
.support-section .eyebrow{margin-bottom:13px}
.support-section h2{font-size:37px}
.support-section p:not(.eyebrow){font-size:13px;color:var(--muted);margin-top:12px}
.support-section .button{flex-shrink:0}
.site-footer{border-top:1px solid var(--line)}
.footer-main{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:45px;padding-block:48px 40px}
.footer-title{font-family:var(--serif);font-size:26px;letter-spacing:-.7px}
.footer-main p,.footer-main address{font-size:12px;color:var(--muted);line-height:1.9}
.footer-main p{margin-top:12px}
.footer-main h2{font-family:var(--sans);text-transform:uppercase;font-size:10px;font-weight:650;letter-spacing:1.6px;margin:3px 0 16px}
.footer-main>div>a:not(.footer-title){display:block;font-size:11px;color:var(--wine);text-decoration:underline;text-underline-offset:4px;padding-top:10px;width:fit-content;min-height:35px}
.footer-main>div>a.footer-phone{padding:0;font-family:var(--serif);font-size:21px;text-decoration:none;line-height:1.7}
.footer-bottom{border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:15px;font-size:10px;color:var(--muted);padding-block:20px}
.page-heading{padding-block:62px 48px;max-width:830px}
.page-heading .eyebrow{margin-bottom:19px}
.page-heading h1{font-size:clamp(48px,5.4vw,72px);margin-bottom:24px}
.page-heading .lead{max-width:53ch}
.visit-layout{display:grid;grid-template-columns:.9fr 1.2fr;gap:70px;padding-bottom:75px}
.info-section+.info-section{margin-top:37px;padding-top:32px;border-top:1px solid var(--line)}
.info-section h2{font-size:28px;margin-bottom:20px}
.info-section address{font-size:18px;line-height:1.65;margin-bottom:17px}
.info-note{font-size:13px;color:var(--muted);margin-top:18px}
.hours-table{width:100%;border-collapse:collapse;font-size:14px}
.hours-table th{text-align:left;font-weight:500;vertical-align:top;width:48%}
.hours-table td{color:var(--muted)}
.hours-table th,.hours-table td{padding:12px 0;border-bottom:1px solid var(--line)}
.hours-table tr:first-child th,.hours-table tr:first-child td{padding-top:0}
.map-panel{background:var(--soft);border:1px solid var(--line);padding:8px;border-radius:3px;align-self:start}
.map-panel iframe{display:block;width:100%;height:420px;border:0;background:#e6e1d8}
.map-caption{padding:20px 17px;display:flex;align-items:center;justify-content:space-between;gap:15px}
.map-caption strong{font-size:13px;font-weight:600}
.map-caption p{font-size:11px;color:var(--muted);margin-top:4px}
.map-caption a{color:var(--wine);font-size:20px;min-height:44px;min-width:44px;display:grid;place-items:center}
.visit-note{padding-block:45px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1.8fr;gap:65px;margin-bottom:30px}
.visit-note h2{font-size:33px}
.visit-note p{font-size:14px;color:var(--muted);margin-bottom:10px}
.contact-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:60px;padding-bottom:80px}
.phone-panel{background:var(--wine);color:var(--paper);padding:42px;border-radius:3px}
.phone-panel .eyebrow{color:#e7c69b}
.phone-panel h2{font-size:34px;max-width:12ch;margin-bottom:25px}
.big-phone{font-family:var(--serif);font-size:clamp(29px,3.2vw,43px);letter-spacing:-1px;display:block;white-space:nowrap;width:fit-content;border-bottom:1px solid #a27879}
.phone-panel p:not(.eyebrow){font-size:13px;color:#e3cdca;margin:22px 0}
.button-outline{background:transparent;border-color:#ad8587;color:var(--paper)}
.button-outline:hover{background:#ffffff0d}
.contact-details{padding-top:6px}
.contact-details h2{font-size:28px;margin-bottom:15px}
.contact-details p,.contact-details address{font-size:14px;color:var(--muted)}
.contact-details .info-section+.info-section{margin-top:28px;padding-top:26px}
.donation-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:65px;padding-bottom:80px;align-items:start}
.fundraiser-card{background:#f0e9de;border:1px solid #dfd1be;padding:40px;border-radius:4px}
.provider{font-size:14px;color:#365442;letter-spacing:-.3px;font-weight:750;margin-bottom:30px}
.fundraiser-card h2{font-size:38px;max-width:15ch;margin-bottom:21px}
.fundraiser-card p{font-size:14px;color:var(--muted);margin-bottom:25px}
.fundraiser-card .button{width:100%;justify-content:space-between}
.fundraiser-card .external-note{font-size:11px;margin:13px 0 0;text-align:center}
.donation-story .wide-photo img{height:270px}
.donation-story h2{font-size:27px;margin-block:26px 16px}
.donation-story p{font-size:14px;color:var(--muted)}
.donation-questions{margin-top:32px;border-top:1px solid var(--line);padding-top:24px}
.donation-questions p{font-size:13px;color:var(--muted)}
::selection{background:#ead8bf;color:var(--wine-dark)}
@media(min-width:1500px){.hero{padding-block:78px}.hero-photo img{height:550px}}
@media(max-width:1080px){
.shell{width:calc(100% - 64px)}
.hero{gap:40px}.hero h1{font-size:59px}.hero-photo img{height:485px}
.navigation{gap:23px}.brand-name{font-size:21px}
.hours-grid{grid-template-columns:1.15fr 1fr 1fr;gap:22px}.hours-grid>.light-link{display:none}
.hours-item{padding-left:22px}.hours-intro h2{font-size:25px}
.welcome-section{gap:45px;padding-block:75px}.welcome-copy h2{font-size:41px}
.visit-layout,.contact-layout,.donation-layout{gap:38px}
.phone-panel,.fundraiser-card{padding:30px}
}
@media(max-width:760px){
html{scroll-padding-top:90px}
.shell{width:calc(100% - 40px)}
.header-inner{min-height:85px;gap:12px}
.brand{gap:10px}.brand-mark{width:35px;height:43px;font-size:24px}
.brand-name{font-size:21px}.brand-name small{font-size:7px;letter-spacing:1.3px;margin-top:6px}
.menu-toggle{display:flex;align-items:center;gap:10px;background:transparent;color:var(--wine);border:1px solid var(--line);border-radius:3px;padding:10px;min-height:44px;font-size:12px}
.menu-lines{width:14px;height:9px;border-block:1px solid var(--wine)}
.navigation{display:none;position:absolute;top:100%;left:0;right:0;padding:14px 20px 23px;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:0 14px 18px #33261b08;gap:2px;flex-direction:column;align-items:stretch}
.site-header.open .navigation{display:flex}
.navigation a{padding:10px 12px;min-height:49px}.navigation a:not(.nav-donate):after{display:none}
.navigation a[aria-current]:not(.nav-donate){background:var(--soft);border-radius:3px}
.navigation .nav-donate{margin-top:8px;justify-content:space-between}
.hero{grid-template-columns:1fr;gap:35px;padding-block:40px 35px}
.eyebrow{font-size:9px;letter-spacing:1.7px;margin-bottom:20px}
.hero h1{font-size:clamp(46px,9.5vw,67px);max-width:10.4ch;margin-bottom:23px}
.hero .lead{font-size:16px;max-width:35ch}
.hero-welcome{font-size:13px;margin-top:14px;max-width:40ch}
.button-row{gap:24px;margin-top:24px}
.button{font-size:12px;padding:14px 20px;gap:22px;min-height:50px}
.text-link{font-size:12px;gap:16px}
.location-line{margin-top:25px;font-size:10px}
.hero-photo{width:100%;max-width:500px;justify-self:center;border-radius:250px 250px 5px 5px}
.hero-photo img{height:420px;object-position:center 38%;border-radius:240px 240px 2px 2px}
.hero-photo figcaption{font-size:9px}
.hours-grid{grid-template-columns:1fr 1fr;gap:25px 16px;padding-block:30px}
.hours-intro{grid-column:1/-1}.hours-intro h2{font-size:31px}
.hours-item{padding:0;border:0}.hours-item+ .hours-item{border-left:1px solid #ffffff26;padding-left:20px}
.hours-item h3{font-size:10px}.hours-item p{font-size:20px}
.welcome-section{grid-template-columns:1fr;gap:28px;padding-block:55px}
.wide-photo img{height:260px}
.welcome-copy h2{font-size:40px}.welcome-copy .eyebrow{margin-bottom:18px}
.support-section{flex-direction:column;align-items:flex-start;padding:29px 25px;gap:24px;margin-bottom:55px}
.support-section h2{font-size:33px}.support-section p:not(.eyebrow){font-size:12px}
.footer-main{grid-template-columns:1fr 1fr;gap:32px 18px;padding-block:35px}
.footer-main>div:first-child{grid-column:1/-1}
.footer-title{font-size:26px}.footer-main h2{font-size:9px}
.footer-main>div>a.footer-phone{font-size:19px}
.footer-bottom{flex-direction:column;font-size:9px;gap:8px}
.page-heading{padding-block:40px 35px}
.page-heading h1{font-size:49px;margin-bottom:20px}
.page-heading .lead{font-size:16px}
.visit-layout,.contact-layout,.donation-layout{grid-template-columns:1fr;gap:35px;padding-bottom:45px}
.map-panel iframe{height:350px}.map-caption{padding:15px 10px}
.map-caption strong{font-size:12px}
.hours-table{font-size:13px}
.visit-note{grid-template-columns:1fr;gap:17px;padding-block:30px;margin-bottom:20px}
.visit-note h2{font-size:30px}
.phone-panel{padding:30px 26px}.phone-panel h2{max-width:none;font-size:34px}
.big-phone{font-size:36px}
.fundraiser-card{padding:30px 26px}.fundraiser-card h2{font-size:36px}
.provider{margin-bottom:22px}
.donation-story .wide-photo img{height:250px}
}
@media(max-width:360px){
.shell{width:calc(100% - 32px)}
.brand-name{font-size:18px}.brand-name small{font-size:6px;letter-spacing:1.1px}
.menu-toggle{gap:7px;padding:8px}.brand{gap:8px}
.hero h1{font-size:44px}.hero-photo img{height:350px}
.button-row{gap:15px}.button{padding:13px 16px;gap:14px}
.big-phone{font-size:30px}.phone-panel{padding:28px 23px}
.hours-item p{font-size:18px}.hours-item+.hours-item{padding-left:15px}
.footer-main{gap:28px 12px}.footer-main>div>a.footer-phone{font-size:17px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
/* Seva and puja additions reuse the site's existing colors, type, and spacing. */
.giving-intro{border-top:1px solid var(--line);padding:46px 0 30px;display:grid;grid-template-columns:1fr 1.15fr;gap:60px;align-items:start}
.giving-intro h2,.request-intro h2{font-size:42px}
.giving-intro p:not(.eyebrow){font-size:16px;color:var(--muted);margin-bottom:16px}
.category-links{display:flex;flex-wrap:wrap;gap:10px;padding-bottom:26px}
.category-links a{border:1px solid var(--line);border-radius:30px;padding:10px 17px;min-height:44px;font-size:13px;color:var(--wine)}
.category-links a:hover{background:var(--soft);border-color:#c6ac9d}
.giving-category{padding-block:30px 22px;scroll-margin-top:30px}
.category-heading{display:flex;align-items:baseline;gap:20px;margin-bottom:23px}
.category-number{font-family:var(--serif);font-size:20px;color:var(--gold)}
.category-heading h2{font-size:33px;letter-spacing:-.035em}
.category-heading p{font-size:14px;color:var(--muted);margin-top:9px}
.seva-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.seva-card{border:1px solid var(--line);padding:26px;display:flex;flex-direction:column;background:#fffdf8;border-radius:3px}
.seva-card h3{font-family:var(--serif);font-size:25px;font-weight:400;line-height:1.22;letter-spacing:-.5px;margin-bottom:15px;text-wrap:balance}
.seva-card p{color:var(--muted);font-size:15px;line-height:1.7;margin-bottom:19px}
.seva-action{display:flex;align-items:center;justify-content:space-between;color:var(--wine);font-size:14px;font-weight:600;border-top:1px solid var(--line);min-height:46px;padding-top:13px;margin-top:auto;gap:15px}
.seva-action:hover{color:#8a3e4b}.seva-action span{font-size:20px}
.request-section{margin-block:55px 80px;padding-top:48px;border-top:1px solid #d5c4b4;display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;scroll-margin-top:28px}
.request-intro p:not(.eyebrow){font-size:16px;color:var(--muted);margin-top:22px}
.request-intro .text-link{margin-top:21px;font-size:14px}
.request-form{padding:32px;border:1px solid #d9c9b8;border-radius:4px;background:var(--soft);min-width:0}
.request-form label{display:block;font-size:14px;font-weight:600;margin-bottom:20px;line-height:1.6}
.request-form input,.request-form select,.request-form textarea{display:block;width:100%;min-width:0;max-width:100%;margin-top:8px;border:1px solid #b7a99d;border-radius:3px;background:var(--paper);padding:12px;color:var(--ink);font:400 16px/1.5 var(--sans);min-height:49px}
.request-form input:focus,.request-form select:focus,.request-form textarea:focus{outline:2px solid var(--wine);outline-offset:2px}
.request-form textarea{resize:vertical}
.request-form .optional{font-weight:400;color:var(--muted);font-size:12px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}
.privacy-note{font-size:12px;color:var(--muted);margin-block:5px 22px;line-height:1.7}
.request-form .button{font-size:14px;cursor:pointer}
.request-form .button:disabled{opacity:.75;cursor:wait}
.request-form[data-submitted] .button:disabled{cursor:default}
.request-form .honey{display:none}
.form-status{padding:18px;margin-block:16px;background:var(--paper);border-left:3px solid var(--wine);font-size:15px;line-height:1.6}
.form-status[data-state="error"]{color:#802627}
.form-status[hidden]{display:none}
.puja-heading{max-width:950px;padding-bottom:30px}
.puja-heading h1{font-size:clamp(43px,5vw,65px)}
.puja-heading .lead{max-width:62ch}
.puja-heading .button-row{margin-top:22px}
.puja-note{font-size:14px;color:var(--muted);margin:0 0 28px;max-width:80ch}
.puja-group{padding-bottom:35px}
.puja-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;align-items:start}
.puja-card{border:1px solid var(--line);background:#fffdf8;border-radius:3px;overflow:hidden}
.puja-card summary{cursor:pointer;list-style:none;padding:25px;display:grid;grid-template-columns:1fr auto;gap:12px 18px;min-height:136px}
.puja-card summary::-webkit-details-marker{display:none}
.puja-card summary:focus-visible{outline:2px solid var(--wine);outline-offset:-5px}
.puja-name{font-family:var(--serif);font-size:26px;line-height:1.2;letter-spacing:-.5px}
.puja-short{font-size:15px;color:var(--muted);grid-column:1;line-height:1.6}
.puja-expand{font-size:24px;color:var(--wine);grid-column:2;grid-row:1;line-height:1}
.puja-card[open] .puja-expand{transform:rotate(45deg)}
.puja-card[open] summary{background:var(--soft);border-bottom:1px solid var(--line)}
.puja-detail{padding:24px 25px}
.puja-detail p{font-size:15px;color:var(--muted);margin-bottom:17px}
.puja-detail .text-link{font-size:14px}
.request-form .form-hint{font-size:13px;color:var(--muted);margin:-5px 0 18px}
.received-page{padding-block:75px;min-height:60vh}
.received-page h1{font-size:60px;margin-bottom:25px}
.received-page .lead{max-width:50ch}
@media(max-width:1080px){.navigation{gap:18px}.giving-intro{gap:35px}.request-section{gap:35px}.seva-card{padding:22px}.seva-card h3{font-size:23px}.request-form{padding:25px}}
@media(min-width:761px) and (max-width:900px){.navigation{gap:12px;font-size:12px}.navigation .nav-donate{padding:10px 13px}.brand-name{font-size:19px}.brand-mark{width:38px}.header-inner{gap:15px}}
@media(max-width:950px){.seva-grid{grid-template-columns:repeat(2,1fr)}.request-section{grid-template-columns:1fr;gap:28px}.request-intro{max-width:640px}}
@media(max-width:760px){.giving-intro{grid-template-columns:1fr;gap:24px;padding-top:35px}.giving-intro h2,.request-intro h2{font-size:36px}.category-links{gap:8px}.category-links a{font-size:12px;padding:9px 13px}.category-heading{gap:15px}.category-heading h2{font-size:28px}.category-heading p{font-size:14px}.seva-grid,.puja-grid{grid-template-columns:1fr}.seva-card{padding:24px}.seva-card h3{font-size:26px}.seva-card p{font-size:16px}.giving-category{padding-top:23px}.request-section{margin-block:38px 50px;padding-top:33px}.request-form{padding:24px 20px}.form-grid{grid-template-columns:1fr;gap:0}.request-form input[type="date"]{appearance:none;min-height:50px}.request-form .button{width:100%;justify-content:space-between}.puja-card summary{padding:23px;min-height:135px}.puja-heading{padding-top:36px}.puja-heading h1{font-size:43px}.puja-heading .button-row{gap:20px}.received-page{padding-block:50px}.received-page h1{font-size:43px}}
