@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&family=Playfair+Display:wght@400;500;600;700&display=swap');
.hjmic-site{--forest:#123d32;--forest2:#1b5142;--paper:#f7f3e9;--ivory:#fbf9f2;--brass:#b99a61;--ink:#202820;--muted:#626b60;--rule:#dcd5c5;--r-width:1240px;--r-gutter:clamp(22px,7.2vw,100px);box-sizing:border-box;background:var(--paper);color:var(--ink);font:15px/1.7 "DM Sans",sans-serif}
.hjmic-site *{box-sizing:border-box}
.hjmic-site a{color:inherit;text-decoration:none}
.hjmic-site button,.hjmic-site input,.hjmic-site textarea{font:inherit}
.hjmic-site :focus-visible{outline:3px solid #a77f3e;outline-offset:3px}
.hjmic-site h1,.hjmic-site h2,.hjmic-site h3{font-family:"Playfair Display",Georgia,serif;font-weight:500;line-height:1.12}
.hjmic-site h1{font-size:clamp(42px,6vw,76px);letter-spacing:-.04em}
.hjmic-site h2{font-size:clamp(32px,4.5vw,54px);letter-spacing:-.03em}
.hjmic-site h3{font-size:24px}
.hjmic-site p{color:var(--muted);font-size:13px;line-height:1.85}
.hjmic-site .hj-top{padding:8px max(22px,calc((100% - 1200px)/2));background:var(--forest);color:var(--paper);display:flex;justify-content:space-between;font-size:10px;letter-spacing:.14em;text-transform:uppercase}
.hjmic-site .hj-header{background:var(--ivory);border-bottom:1px solid var(--rule)}
.hjmic-site .hj-nav{max-width:1320px;margin:auto;min-height:94px;padding:15px 28px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.hjmic-site .hj-brand{display:flex;align-items:center;gap:14px;font:600 17px "Playfair Display",Georgia,serif}
.hjmic-site .hj-logo{width:60px;height:60px;object-fit:cover;border:1px solid var(--brass);border-radius:50%}
.hjmic-site .hj-brand small{display:block;margin-top:5px;font:10px "DM Sans",sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#687166}
.hjmic-site .hj-links{display:flex;align-items:center;gap:clamp(15px,1.8vw,26px);font-size:13px;font-weight:500}
.hjmic-site .hj-links a:hover{color:#8a6938}
.hjmic-site .hj-donate{background:var(--forest);color:var(--paper);padding:12px 16px;text-transform:uppercase;letter-spacing:.08em;font-size:11px}
.hjmic-site .hj-nav-group{position:relative}
.hjmic-site .hj-nav-group>.hj-nav-dropdown-toggle{display:flex;align-items:center;gap:5px;padding:8px 0;border:0;background:transparent;color:inherit;font:inherit;cursor:pointer}
.hjmic-site .hj-dropdown{display:none;position:absolute;top:100%;left:0;z-index:20;min-width:225px;padding:6px;background:var(--ivory);border:1px solid var(--rule);box-shadow:0 14px 28px #1b30221a}
.hjmic-site .hj-nav-group.is-open>.hj-dropdown,.hjmic-site .hj-nav-group:focus-within>.hj-dropdown{display:grid}
.hjmic-site .hj-dropdown a{display:block;padding:9px 10px;white-space:nowrap;font-size:11px}
.hjmic-site .hj-dropdown a:hover{background:#efe9db;color:#8a6938}
@media(min-width:761px) and (max-width:1080px){
 .hjmic-site .hj-nav{min-height:84px;padding:12px 20px;gap:14px}
 .hjmic-site .hj-brand{gap:11px;font-size:16px}
 .hjmic-site .hj-logo{width:54px;height:54px}
 .hjmic-site .hj-brand small{font-size:9px}
 .hjmic-site .hj-links{gap:13px;font-size:12px}
 .hjmic-site .hj-donate{padding:10px 12px;font-size:10px}
}
.hjmic-site .hj-wrap{max-width:1200px;padding:0 28px;margin:auto}
.hjmic-site .hj-kicker{color:#8a6938;text-transform:uppercase;font-size:9px;letter-spacing:.18em;font-weight:700}
.hjmic-site .hj-hero{max-width:1200px;margin:auto;padding:75px 28px;display:grid;grid-template-columns:1fr .9fr;gap:8%;align-items:center}
.hjmic-site .hj-hero h1{margin:15px 0 19px}.hjmic-site .hj-hero h1 em,.hjmic-site em{color:var(--forest2);font-weight:500}
.hjmic-site .hj-lead{max-width:510px}
.hjmic-site .hj-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:23px}
.hjmic-site .hj-button{display:inline-block;padding:12px 16px;background:var(--forest);color:var(--paper);font-size:9px;letter-spacing:.1em;text-transform:uppercase}
.hjmic-site .hj-button.hj-outline{color:var(--forest);background:transparent;border:1px solid #aaa18d}
.hjmic-site .hj-placeholder{min-height:330px;background:#e5dfcf;border:1px solid #d4c9af;display:grid;place-items:center;position:relative;text-align:center;padding:25px}
.hjmic-site .hj-placeholder:before{content:"";position:absolute;inset:14px;border:1px solid #c9b88d}
.hjmic-site .hj-placeholder span{width:75px;height:75px;border:1px solid var(--brass);border-radius:50%;display:grid;place-items:center;font:22px "Playfair Display";color:#79633c}
.hjmic-site .hj-placeholder small{position:absolute;bottom:18px;left:20px;right:20px;color:#626b60;font-size:9px;letter-spacing:.1em;text-transform:uppercase}
.hjmic-site .hj-placeholder.has-photo{display:block;width:100%;max-width:100%;min-width:0;min-height:0;padding:0;overflow:hidden;aspect-ratio:2.23/1}
.hjmic-site .hj-placeholder.has-photo.is-standard-photo{aspect-ratio:4/3}
.hjmic-site .hj-placeholder.has-photo>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.hjmic-site .hj-placeholder.has-photo:before{z-index:1}
.hjmic-site .hj-placeholder.has-photo>span{display:none}
.hjmic-site .hj-placeholder.has-photo small{z-index:2;background:#f7f3e9ef;padding:8px}
.hjmic-site .hj-hero .hj-placeholder.has-photo,.hjmic-site .hj-gallery .hj-placeholder.has-photo{min-height:0}
.hjmic-site .hj-section{padding:65px 0}
.hjmic-site .hj-tint{background:#eae6d9}
.hjmic-site .hj-dark{background:var(--forest);color:var(--paper)}
.hjmic-site .hj-dark p{color:#d4dbd0}
.hjmic-site .hj-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.hjmic-site .hj-card{padding:23px;background:var(--ivory);border-top:2px solid var(--brass);color:var(--ink)}
.hjmic-site .hj-card p{font-size:11px}
.hjmic-site .hj-split{display:grid;grid-template-columns:.8fr 1.2fr;gap:8%;align-items:center}
.hjmic-site .hj-about-photo{min-width:0;margin:0}
.hjmic-site .hj-about-photo img{display:block;width:100%;aspect-ratio:1.18/1;object-fit:cover}
.hjmic-site .hj-about-photo figcaption{padding-top:8px;color:#58645b;font-size:10px}
.hjmic-site .hj-day-in-life-copy h2{font-family:Georgia,"Times New Roman",serif;font-size:clamp(38px,5vw,64px);line-height:1.04;font-weight:500;margin:16px 0}
.hjmic-site .hj-day-in-life-copy p{max-width:430px;color:#606a5f;font-size:12px;line-height:1.9}
.hjmic-site .hj-day-in-life-copy small{display:inline-block;margin-top:22px;color:#8a754e;font-size:8px;letter-spacing:.16em}
.hjmic-site .hj-day-video-frame{width:min(100%,360px);margin:0 auto}
.hjmic-site .hj-day-video-frame video{display:block;width:100%;aspect-ratio:9/16;object-fit:cover;background:#173b31;border:1px solid var(--rule)}
.hjmic-site .hj-day-video-frame figcaption{margin-top:10px;color:#76766b;font-size:9px;letter-spacing:.08em;text-transform:uppercase}
.hjmic-site .hj-callout{padding:20px;border-left:2px solid var(--brass);font:20px/1.5 "Playfair Display",Georgia,serif;color:var(--forest)}
.hjmic-site .hj-table{background:var(--ivory);border:1px solid var(--rule);padding:22px}
.hjmic-site .hj-table-row{display:grid;grid-template-columns:1fr .7fr .9fr;border-bottom:1px solid var(--rule);padding:10px;font:16px "Playfair Display",Georgia,serif}
.hjmic-site .hj-note{padding:12px;border:1px solid #cbbc9d;font-size:10px;color:#705d39}
.hjmic-site .hj-footer{background:#13382e;color:#f2eee3;padding:35px 28px}
.hjmic-site .hj-footer-inner{max-width:1200px;margin:auto;display:flex;justify-content:space-between;gap:25px;flex-wrap:wrap}
.hjmic-site .hj-footer p,.hjmic-site .hj-footer a{color:#d4dbd0;font-size:10px}
.hjmic-site .hj-form{padding:22px;background:var(--ivory);border:1px solid var(--rule);color:var(--ink)}
.hjmic-site .hj-form label{display:block;margin:10px 0;font-size:10px;color:var(--ink)}
.hjmic-site .hj-form input,.hjmic-site .hj-form textarea{display:block;width:100%;padding:10px;border:1px solid #cfc7b7;background:#fffdf7}
.hjmic-site .hj-amounts{display:flex;gap:7px;flex-wrap:wrap;margin:14px 0}
.hjmic-site .hj-amounts button{padding:10px 14px;border:1px solid #bdb39f;background:#fbf9f2;cursor:pointer}
.hjmic-site .hj-amounts button[aria-pressed=true]{background:var(--forest);color:var(--paper)}
.hjmic-site .hj-form button:disabled{opacity:.6;cursor:not-allowed}
.hjmic-site details{border-top:1px solid var(--rule);padding:12px 0}
.hjmic-site details summary{cursor:pointer;font:18px "Playfair Display",Georgia,serif}
.hjmic-site iframe{max-width:100%}
.hjmic-site .hj-placeholder[data-open-lightbox]{cursor:pointer}
.hjmic-site .hj-filter button{background:transparent;border:1px solid var(--rule);padding:8px 10px;cursor:pointer}
.hjmic-site .hj-filter button[aria-pressed=true]{background:var(--forest);color:var(--paper)}
.hjmic-site .hj-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.hjmic-site .hj-gallery figure{margin:0}.hjmic-site .hj-gallery .hj-placeholder{min-height:180px}
.hjmic-site .hj-gallery figcaption{font:14px "Playfair Display",Georgia,serif;padding:7px 0}
.hjmic-site .hj-lightbox{position:fixed;inset:0;background:#10261fee;z-index:9;display:none;place-items:center;padding:8vw;color:white}
.hjmic-site .hj-lightbox.is-open{display:grid}
.hjmic-site .hj-lightbox .hj-placeholder{width:min(780px,80vw);min-height:55vh}.hjmic-site .hj-lightbox .hj-placeholder.has-photo{min-height:0;aspect-ratio:2.23/1}
.hjmic-site .hj-lightbox [data-close-lightbox],.hjmic-site .hj-lightbox-nav{position:absolute;border:1px solid #e9e1d1;background:#153c31;color:#fbf9f2;padding:12px 16px;cursor:pointer;font:600 12px "DM Sans",sans-serif}
.hjmic-site .hj-lightbox [data-close-lightbox]{top:20px;right:20px}
.hjmic-site .hj-lightbox-nav{top:50%;transform:translateY(-50%)}
.hjmic-site .hj-lightbox-prev{left:22px}
.hjmic-site .hj-lightbox-next{right:22px}
.hjmic-site .hj-lightbox-caption{position:absolute;bottom:3vh;left:15%;right:15%;margin:0;text-align:center;color:#fbf9f2;font-size:13px}
.hjmic-site .hj-mobile-toggle{display:none}
@media(max-width:760px){.hjmic-site .hj-nav{flex-wrap:wrap}.hjmic-site .hj-mobile-toggle{display:block;margin-left:auto;padding:9px;background:transparent;border:1px solid var(--rule)}.hjmic-site .hj-links{display:none;order:3;flex:1 0 100%;flex-direction:column;align-items:stretch;gap:0}.hjmic-site .hj-links.is-open{display:flex}.hjmic-site .hj-links a{padding:10px;border-top:1px solid var(--rule)}.hjmic-site .hj-hero,.hjmic-site .hj-split{grid-template-columns:1fr}.hjmic-site .hj-hero{padding:48px 22px}.hjmic-site .hj-grid{grid-template-columns:1fr}.hjmic-site .hj-gallery{grid-template-columns:1fr 1fr}.hjmic-site .hj-section{padding:48px 0}.hjmic-site .hj-wrap{padding:0 22px}.hjmic-site .hj-top span:last-child{display:none}.hjmic-site .hj-lightbox{padding:60px 14px 90px}.hjmic-site .hj-lightbox .hj-placeholder{width:92vw;min-height:42vh}.hjmic-site .hj-lightbox .hj-placeholder.has-photo{min-height:0}.hjmic-site .hj-lightbox-nav{top:auto;bottom:18px;transform:none}.hjmic-site .hj-lightbox-prev{left:14px}.hjmic-site .hj-lightbox-next{right:14px}.hjmic-site .hj-lightbox-caption{bottom:72px;left:14px;right:14px}}

/* Refined compact home sequence, mirrored by the React homepage. */
.hjmic-site .hj-section.hj-home-welcome{padding:38px 0 34px}
.hjmic-site .hj-home-welcome .hj-wrap{max-width:1200px}
.hjmic-site .hj-home-welcome h1{max-width:800px;margin:9px 0 12px;font-size:clamp(32px,4.2vw,52px);line-height:1.14;letter-spacing:-.035em}
.hjmic-site .hj-home-welcome .hj-lead{max-width:760px;margin-bottom:0}
.hjmic-site .hj-section.hj-home-welcome .hj-actions{margin-top:18px}
.hjmic-site .hj-section{padding:44px 0}
.hjmic-site .hj-split{gap:6%}
.hjmic-site .hj-section h2{font-size:clamp(29px,3vw,40px);line-height:1.17}
.hjmic-site .hj-home-services{grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;margin:22px 0}
.hjmic-site .hj-home-services .hj-card{padding:18px 20px}
.hjmic-site .hj-home-services .hj-card h3{font-size:19px;margin:10px 0}
.hjmic-site .hj-home-services .hj-card p{min-height:44px}
.hjmic-site .hj-home-services .hj-card>a{font-size:10px;color:var(--forest);text-transform:uppercase;letter-spacing:.06em}
.hjmic-site .hj-course-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:20px}
.hjmic-site .hj-course-grid article{padding:22px 24px;background:var(--ivory);border:1px solid var(--rule)}
.hjmic-site .hj-course-grid article>span{font-size:9px;letter-spacing:.14em;color:#80653d}
.hjmic-site .hj-course-grid h3{margin:8px 0;font-size:21px}
.hjmic-site .hj-course-grid p{margin-bottom:14px}
.hjmic-site .hj-home-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0}
.hjmic-site .hj-home-photo-grid figure{position:relative;min-width:0;margin:0;aspect-ratio:1.7/1;overflow:hidden;background-position:center;background-size:cover;background-color:#e5dfcf}
.hjmic-site .hj-home-photo-grid figure img{position:absolute;inset:0;display:block;width:100%;height:100%;aspect-ratio:auto;object-fit:cover}
.hjmic-site .hj-home-photo-grid figure figcaption{position:absolute;left:10px;bottom:10px;max-width:calc(100% - 20px);padding:7px 10px;background:#f7f3e9ed;color:#202820;font-size:11px;font-style:normal;line-height:1.4}
.hjmic-site .hj-home-donate .hj-note{color:#f5f1e7;border-color:#d9c79d}
.hjmic-site .hj-home-donate .hj-button.hj-outline{background:var(--paper);color:var(--forest);border-color:var(--paper)}
.hjmic-site .hj-footer{padding:26px 28px}
.hjmic-site .hj-banner-carousel{margin-top:14px}
.hjmic-site .hj-banner-slide img{max-height:clamp(190px,34vw,460px)}
.hjmic-site .hj-gallery-video{max-width:1200px;margin:auto;display:grid;grid-template-columns:.8fr 1.2fr;gap:7%;align-items:center}
.hjmic-site .hj-gallery-video h2{margin:10px 0}
.hjmic-site .hj-gallery-video figure{width:min(100%,470px);margin:0 auto}
.hjmic-site .hj-gallery-video video{display:block;width:100%;max-height:640px;object-fit:contain;background:#173b31}
.hjmic-site .hj-gallery-video figcaption{font-size:10px;margin-top:8px}
.hjmic-site .hj-gallery img{display:block;width:100%;height:100%;object-fit:cover}
@media(max-width:760px){
 .hjmic-site .hj-section.hj-home-welcome{padding:29px 0}
 .hjmic-site .hj-home-welcome h1{font-size:clamp(30px,8vw,40px)}
 .hjmic-site .hj-home-services{grid-template-columns:1fr 1fr}
 .hjmic-site .hj-course-grid{grid-template-columns:1fr}
 .hjmic-site .hj-home-photo-grid{grid-template-columns:1fr 1fr}
 .hjmic-site .hj-home-photo-grid figure:first-child{grid-column:1/-1}
 .hjmic-site .hj-gallery-video{grid-template-columns:1fr;gap:18px}
}
@media(max-width:390px){
 .hjmic-site .hj-home-services,.hjmic-site .hj-home-photo-grid{grid-template-columns:1fr}
 .hjmic-site .hj-home-photo-grid figure:first-child{grid-column:auto}
}

/* HJMIC home refinement: modern readable typography and the supplied exterior image. */
.hjmic-site{font-family:"Manrope",sans-serif}
.hjmic-site h1,.hjmic-site h2,.hjmic-site h3,.hjmic-site .hj-brand,.hjmic-site .hj-table-row{font-family:"Manrope",sans-serif}
.hjmic-site .hj-hero{max-width:1500px;grid-template-columns:.82fr 1.18fr;gap:5%;padding:52px 5vw}
.hjmic-site .hj-hero h1{font:700 clamp(38px,4.3vw,60px)/1.12 "Manrope",sans-serif;letter-spacing:-.045em}
.hjmic-site .hj-hero h1 span{display:block;color:var(--forest2)}
.hjmic-site .hj-hero .hj-placeholder.has-photo{min-height:0;aspect-ratio:1.62/1;padding:0;overflow:hidden}
.hjmic-site .hj-hero .hj-placeholder.has-photo>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hjmic-site .hj-hero .hj-placeholder.has-photo:before{z-index:1}
.hjmic-site .hj-section h2{font-size:clamp(28px,3.2vw,42px);letter-spacing:-.03em}
.hjmic-site .hj-banner-carousel{width:min(calc(100% - 48px),1200px);margin:20px auto 0;position:relative}
.hjmic-site .hj-banner-empty{min-height:clamp(145px,18vw,230px);display:grid;place-content:center;justify-items:center;gap:12px;padding:28px;border:1px solid #ded7c8;background:linear-gradient(115deg,#f3efe5,#f8f5ed 58%,#eee9dc);text-align:center;position:relative}
.hjmic-site .hj-banner-empty:before{content:"";position:absolute;inset:11px;border:1px solid #e5ddca;pointer-events:none}
.hjmic-site .hj-banner-mark{color:#a1844f;font-size:21px;line-height:1}
.hjmic-site .hj-banner-empty p{margin:0;color:#58645b;font-size:12px;letter-spacing:.045em}
.hjmic-site .hj-banner-frame{position:relative;display:flex;align-items:center;justify-content:center;min-height:70px;background:#f3efe5}
.hjmic-site .hj-banner-slide{width:100%;text-align:center}
.hjmic-site .hj-banner-slide[hidden]{display:none}
.hjmic-site .hj-banner-slide>a{display:block}
.hjmic-site .hj-banner-slide img{display:block;width:100%;height:auto;max-width:100%;max-height:clamp(180px,36vw,500px);object-fit:contain;margin:auto}
.hjmic-site .hj-banner-controls{position:absolute;inset:0;display:flex;align-items:center;justify-content:space-between;padding:0 10px;pointer-events:none}
.hjmic-site .hj-banner-controls button{display:grid;place-items:center;width:44px;height:44px;border:1px solid #d7cfbc;background:#f8f5ed;color:#27453b;font-size:21px;line-height:0;cursor:pointer;pointer-events:auto}
.hjmic-site .hj-banner-controls button svg{display:block;width:20px;height:20px;overflow:visible}
.hjmic-site .hj-banner-controls button svg path{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.hjmic-site .hj-banner-controls button:hover{background:#123d32;color:#fbf9f2}
.hjmic-site .hj-banner-dots{display:flex;justify-content:center;gap:7px;padding:12px 0 0}
.hjmic-site .hj-banner-dots button{width:28px;height:28px;border:0;background:transparent;display:grid;place-items:center;cursor:pointer}
.hjmic-site .hj-banner-dots button span{width:7px;height:7px;border-radius:50%;background:#c6bdab;transition:transform .2s,background .2s}
.hjmic-site .hj-banner-dots button[aria-current=true] span{background:#1b5142;transform:scale(1.35)}
.hjmic-site .hj-banner-carousel :focus-visible{outline:3px solid #a77f3e;outline-offset:3px}
@media(max-width:900px){.hjmic-site .hj-hero{grid-template-columns:.9fr 1.1fr;gap:4%;padding-left:28px;padding-right:28px}}
@media(max-width:760px){.hjmic-site .hj-hero{grid-template-columns:1fr}.hjmic-site .hj-hero .hj-placeholder.has-photo{width:100%;aspect-ratio:1.45/1}.hjmic-site .hj-banner-carousel{width:calc(100% - 32px);margin-top:14px}.hjmic-site .hj-banner-empty{min-height:138px;padding:22px}.hjmic-site .hj-banner-slide img{max-height:42vh}.hjmic-site .hj-banner-controls{padding:0 5px}.hjmic-site .hj-banner-controls button{width:38px;height:38px}}
@media(prefers-reduced-motion:reduce){.hjmic-site *{scroll-behavior:auto!important;transition:none!important}}
@media(max-width:760px){.hjmic-site .hj-hero>div:first-child,.hjmic-site .hj-hero>.hj-placeholder{width:calc(100vw - 44px);max-width:100%;min-width:0}.hjmic-site .hj-hero h1,.hjmic-site .hj-hero p{width:100%;max-width:100%;white-space:normal;overflow-wrap:anywhere}}
@media(max-width:760px){.hjmic-site .hj-nav-group{width:100%}.hjmic-site .hj-nav-group>.hj-nav-dropdown-toggle{width:100%;justify-content:space-between;padding:10px;border-top:1px solid var(--rule)}.hjmic-site .hj-nav-group>.hj-dropdown{position:static;min-width:0;box-shadow:none;border:0;padding:0 0 5px;background:#f1eee4}.hjmic-site .hj-nav-group>.hj-dropdown a{padding:8px 18px;white-space:normal}}
.hjmic-site .hj-map-wrap,.hjmic-site .hj-contact-map{width:100%;min-width:0}
.hjmic-site .hj-map-wrap iframe,.hjmic-site .hj-contact-map iframe{display:block;width:100%;height:450px;min-height:0;border:0}
@media(max-width:760px){.hjmic-site .hj-map-wrap iframe,.hjmic-site .hj-contact-map iframe{height:320px}}
.hjmic-site .hj-home-education{padding-bottom:12px}
.hjmic-site .hj-home-gallery{padding-top:24px}
@media(max-width:760px){.hjmic-site .hj-home-education{padding-bottom:10px}.hjmic-site .hj-home-gallery{padding-top:22px}}

/* Shared HJMIC refinement, mirrored in the live preview and installer bundle. */
.hjmic-site{--hj-copy:#46554b;--hj-focus:#8b6b35;font-size:16px;line-height:1.65}
.hjmic-site :is(h1,h2,h3,h4){text-wrap:balance}
.hjmic-site :is(p,li){line-height:1.68}
.hjmic-site :is(.hj-lead,.hj-page-intro,.hj-about-lead,.hj-r-intro,.hj-r-history-copy,.hj-r-community,.hj-r-legacy-copy,.hj-gallery-intro,.rf-intro,.rf-category-heading,.rf-last-note,.hj-contact-grid,.hj-contact-form-section,.hj-donation-page,.hj-timetable-info) p{font-size:clamp(16px,1.15vw,18px);line-height:1.7;color:var(--hj-copy)}
.hjmic-site .hj-r-community{width:100%;padding:38px clamp(22px,7.2vw,100px)}
.hjmic-site .hj-r-community-inner{width:100%;max-width:900px;margin-inline:auto}
.hjmic-site .hj-r-community .hj-r-community-inner h2,.hjmic-site .hj-r-welcome h2{color:#fff!important;text-shadow:none!important}
.hjmic-site .hj-r-community .hj-r-community-inner h2{font-size:clamp(34px,4vw,48px);margin-bottom:13px}
.hjmic-site .hj-r-community .hj-r-community-inner p{color:#f1f3ed!important;font-size:16px;line-height:1.68;margin-bottom:9px}
.hjmic-site .hj-r-community .hj-r-community-inner .hj-kicker,.hjmic-site .hj-r-welcome .hj-kicker{color:#e4c77f!important}
.hjmic-site .hj-r-welcome p{color:#f1f3ed!important}
.hjmic-site .hj-timetable-contact-note{display:block;max-width:850px;margin:28px 0 0;padding-top:18px;border-top:1px solid #d8d0be;font-size:16px;line-height:1.7;color:var(--hj-copy)}
.hjmic-site .hj-timetable-contact-note a{color:#123d32;font-weight:700;text-decoration:underline;text-underline-offset:3px}
.hjmic-site :is(.rf-service,.rf-programme-content,.rf-janazah-copy,.rf-support-copy,.rf-programme-list,.rf-dawah,.rf-general-enquiry) p{font-size:16px;line-height:1.68}
.hjmic-site :is(.hj-button,.hj-contact-details>.hj-button,.hj-donation-panel>.hj-button){display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 20px;font-size:15px;font-weight:700;letter-spacing:.015em;text-transform:none;transition:color .2s ease,background-color .2s ease,border-color .2s ease}
.hjmic-site :is(.hj-text-link,.hj-service-section-body .hj-text-link){min-height:44px;font-size:15px;font-weight:700;letter-spacing:0;text-transform:none}
.hjmic-site :is(a,button,summary,input,textarea,select):focus-visible{outline:3px solid var(--hj-focus);outline-offset:3px}
.hjmic-site :is(input,textarea,select){min-height:46px;font-size:16px}
.hjmic-site .hj-table{color:#20352d}
.hjmic-site .hj-table-row{min-height:54px;font-size:17px}
.hjmic-site .hj-banner-frame{min-height:120px}
.hjmic-site .hj-banner-controls button{width:48px;height:48px}
.hjmic-site .hj-banner-slide img{width:100%;height:auto;object-fit:contain}
.hjmic-site .hj-home-photo-grid figure{position:relative;overflow:hidden}
.hjmic-site .hj-home-photo-grid figcaption{padding:10px 12px;background:#fbf9f2;color:#263a30;font-size:14px;line-height:1.4}
.hjmic-site .hj-footer{line-height:1.55}
.hjmic-site .hj-footer p,.hjmic-site .hj-footer a{font-size:15px}
.hjmic-site .hj-footer-main h2{font-size:19px}
.hjmic-site .hj-enquiry-preview .hj-form-title>p{max-width:720px;font-size:15px;line-height:1.65}
.hjmic-site .hj-enquiry-preview .hj-form-fields label{font-size:14px}
.hjmic-site .hj-enquiry-preview .hj-form-fields input,.hjmic-site .hj-enquiry-preview .hj-form-fields textarea{min-height:44px;font-size:15px}
.hjmic-site .hj-enquiry-preview .hj-form-fields input:disabled,.hjmic-site .hj-enquiry-preview .hj-form-fields textarea:disabled{opacity:1;background:#efeee8;color:#58645b;cursor:not-allowed}
.hjmic-site .hj-enquiry-preview>button:disabled{min-height:44px;opacity:.72;cursor:not-allowed}
.hjmic-site .hj-enquiry-preview .hj-privacy-note{margin-top:14px;font-size:12px}
.hjmic-site .hj-enquiry-preview .hj-form-title p{margin:12px 0 0;font-size:16px;line-height:1.65}
.hjmic-site :target{scroll-margin-top:108px}
@media(max-width:760px){
 .hjmic-site :is(.hj-lead,.hj-page-intro,.hj-about-lead,.hj-r-intro,.hj-r-history-copy,.hj-r-community,.hj-r-legacy-copy,.hj-gallery-intro,.rf-intro,.rf-category-heading,.rf-last-note,.hj-contact-grid,.hj-contact-form-section,.hj-donation-page,.hj-timetable-info) p{font-size:16px}
 .hjmic-site .hj-r-community{padding:27px 22px 28px}
 .hjmic-site .hj-r-community .hj-r-community-inner p{font-size:15px}
 .hjmic-site .hj-table-row{grid-template-columns:minmax(76px,1fr) .65fr 1fr;gap:6px;font-size:15px}
 .hjmic-site .hj-banner-controls button{width:44px;height:44px}
 .hjmic-site .hj-banner-slide img{max-height:none}
 .hjmic-site .hj-button{min-height:48px}
}
@media(prefers-reduced-motion:reduce){
 .hjmic-site *,.hjmic-site *:before,.hjmic-site *:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
.hjmic-site .hj-timetable-panel .hj-table-head{align-items:flex-start;flex-wrap:wrap}
.hjmic-site .hj-timetable-date{display:block;margin-top:7px;color:#626b60;font-size:14px;line-height:1.5}
.hjmic-site .hj-timetable-download{display:inline-flex;min-height:44px;align-items:center;justify-content:center;padding:10px 14px;border:1px solid #123d32;background:#123d32;color:#fbf9f2;font-size:13px;font-weight:700;line-height:1.35;text-align:center}
.hjmic-site .hj-timetable-download:hover{background:#1b5142;color:#fff}
.hjmic-site .hj-timetable-missing{margin:15px 0;padding:13px 15px;border-left:3px solid #b99a61;background:#f1ede2;color:#46554b;font-size:14px;line-height:1.6}
.hjmic-site .hj-timetable-missing a{color:#123d32;font-weight:700;text-decoration:underline;text-underline-offset:3px}
.hjmic-site .hj-monthly-timetable{margin:56px auto 0;max-width:1500px}
.hjmic-site .hj-monthly-timetable-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:22px}
.hjmic-site .hj-monthly-timetable-heading h2{margin:8px 0;font-size:clamp(28px,3.4vw,42px)}
.hjmic-site .hj-monthly-timetable-heading p{max-width:690px;margin:0;color:#626b60;font-size:15px}
.hjmic-site .hj-monthly-table-wrap{max-width:100%;overflow:auto;border:1px solid #d2c8b1;background:#fbf9f2;overscroll-behavior-x:contain}
.hjmic-site .hj-monthly-table{width:100%;min-width:1100px;table-layout:fixed;border-collapse:collapse;font-size:13px;font-variant-numeric:tabular-nums}
.hjmic-site .hj-monthly-table th,.hjmic-site .hj-monthly-table td{padding:10px 7px;border-bottom:1px solid #e3ddce;text-align:center;white-space:nowrap}
.hjmic-site .hj-monthly-table th:first-child,.hjmic-site .hj-monthly-table td:first-child{width:150px;text-align:left}
.hjmic-site .hj-monthly-table thead th{position:sticky;top:0;background:#eae6d9;color:#20352d;font-size:13px;font-weight:700;line-height:1.35;white-space:normal;text-transform:capitalize}
.hjmic-site .hj-monthly-table tbody th{color:#20352d;font-weight:700}
.hjmic-site .hj-monthly-table tbody tr:nth-child(even){background:#f4f1e8}
.hjmic-site .hj-monthly-table tbody tr.is-today>*{background:#dcebe2!important;color:#123d32;border-top:1px solid #9fbea8;border-bottom:1px solid #9fbea8;font-weight:600}
.hjmic-site .hj-monthly-table tbody tr.is-today>th:first-child{background:#123d32!important;box-shadow:inset 4px 0 0 #b99a61;color:#fff!important}
.hjmic-site .hj-monthly-table tbody tr:last-child th,.hjmic-site .hj-monthly-table tbody tr:last-child td{border-bottom:0}
.hjmic-site .hj-monthly-table-wrap:focus-visible{outline:3px solid #8b6b35;outline-offset:3px}
@media(max-width:760px){.hjmic-site .hj-monthly-timetable{margin-top:38px}.hjmic-site .hj-monthly-timetable-heading{align-items:flex-start;flex-direction:column}.hjmic-site .hj-monthly-table{min-width:1100px}}

/* Narrow-screen refinement shared with the React preview. */
.hjmic-site,.hjmic-site *{box-sizing:border-box}
.hjmic-site{min-width:0;max-width:100%;overflow-x:clip}
.hjmic-site :is(main,section,article,aside,nav,header,footer,figure,form){min-width:0}
.hjmic-site :is(img,video,iframe,svg){max-width:100%}
.hjmic-site :is(a,button,summary,input,textarea,select){-webkit-tap-highlight-color:transparent}
.hjmic-site :target{scroll-margin-top:112px}
@media(max-width:760px){
 .hjmic-site :is(h1,h2,h3,h4,p,li,a,button,small,strong,span){overflow-wrap:break-word}
 .hjmic-site .hj-nav{width:100%;max-width:100%;max-height:min(72dvh,620px);overflow-y:auto;overscroll-behavior:contain}
 .hjmic-site .hj-brand{min-width:0;gap:9px}
 .hjmic-site .hj-brand>span{min-width:0}
 .hjmic-site .hj-mobile-toggle{min-width:76px;min-height:46px;padding:10px 12px}
 .hjmic-site .hj-links>a,.hjmic-site .hj-nav-group>.hj-nav-dropdown-toggle{display:flex;min-height:48px;align-items:center;justify-content:space-between;padding:11px 10px;font-size:15px;line-height:1.35}
 .hjmic-site .hj-nav-group{width:100%}
 .hjmic-site .hj-nav-group>.hj-dropdown{width:auto;max-width:100%;margin:0 0 7px 10px;padding:3px 0 4px 8px;border-left:2px solid var(--brass);background:#f1eee4}
 .hjmic-site .hj-nav-group>.hj-dropdown a{min-height:44px;padding:10px 12px;white-space:normal;font-size:14px;line-height:1.4}
 .hjmic-site .hj-banner-carousel{width:calc(100% - 32px);margin:14px auto 0}
 .hjmic-site .hj-banner-frame{min-height:0;flex-direction:column}
 .hjmic-site .hj-banner-slide{width:100%;flex:0 0 auto}
 .hjmic-site .hj-banner-slide img{display:block;width:100%;max-height:none}
 .hjmic-site .hj-banner-controls{position:static;inset:auto;flex:0 0 auto;justify-content:center;gap:14px;padding:12px 0 2px;pointer-events:auto}
 .hjmic-site .hj-banner-controls button{width:48px;height:48px;flex:0 0 48px;border-color:#b99a61;background:#fbf9f2}
 .hjmic-site .hj-banner-dots{max-width:100%;overflow-x:auto;justify-content:flex-start;gap:4px;padding:7px 2px 3px;overscroll-behavior-x:contain;scrollbar-width:thin}
 .hjmic-site .hj-banner-dots button{flex:0 0 28px}
 .hjmic-site .hj-section.hj-home-welcome{padding:30px 0 32px}
 .hjmic-site .hj-home-welcome h1{font-size:clamp(30px,8vw,42px);line-height:1.13}
 .hjmic-site .hj-home-welcome .hj-wrap{width:calc(100% - 40px);padding:0}
 .hjmic-site .hj-home-welcome .hj-lead{font-size:16px;line-height:1.65}
 .hjmic-site .hj-home-welcome .hj-actions{gap:10px}
 .hjmic-site .hj-home-welcome .hj-actions>.hj-button{max-width:100%}
 .hjmic-site .hj-wrap{width:calc(100% - 40px);padding:0}
 .hjmic-site .hj-section{padding:38px 0}
 .hjmic-site .hj-home-services{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 .hjmic-site .hj-home-services .hj-card{min-width:0;padding:17px 15px}
 .hjmic-site .hj-home-services .hj-card h3{font-size:17px}
 .hjmic-site .hj-home-services .hj-card p{min-height:0;font-size:14px;line-height:1.5}
 .hjmic-site .hj-course-grid{grid-template-columns:1fr}
 .hjmic-site .hj-home-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .hjmic-site .hj-home-photo-grid figure:first-child{grid-column:1/-1}
 .hjmic-site .hj-monthly-timetable{width:100%;min-width:0}
 .hjmic-site .hj-monthly-table-wrap{width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y}
 .hjmic-site .hj-monthly-table{width:max-content;min-width:1100px}
 .hjmic-site :is(.hj-form,.hj-form-card,.hj-enquiry-preview){min-width:0;max-width:100%}
 .hjmic-site :is(input,textarea,select){width:100%;max-width:100%}
 .hjmic-site .hj-footer{padding:30px 20px}
 .hjmic-site .hj-footer-inner{min-width:0;align-items:flex-start;flex-direction:column;gap:15px}
 .hjmic-site .hj-footer-inner>*{max-width:100%}
}
@media(max-width:430px){
 .hjmic-site .hj-top{padding-inline:14px}
 .hjmic-site .hj-nav{width:calc(100% - 28px)}
 .hjmic-site .hj-brand{gap:7px}
 .hjmic-site .hj-logo{width:44px;height:44px}
 .hjmic-site .hj-brand{font-size:12px}
 .hjmic-site .hj-brand small{font-size:8px;letter-spacing:.08em}
 .hjmic-site .hj-mobile-toggle{min-width:70px;min-height:44px;padding-inline:9px}
 .hjmic-site .hj-table{max-width:100%;padding:10px;overflow-x:auto}
 .hjmic-site .hj-table-row{grid-template-columns:minmax(58px,1fr) minmax(48px,.7fr) minmax(80px,1.1fr);gap:4px;padding:10px 6px;font-size:14px}
 .hjmic-site .hj-banner-carousel{width:calc(100% - 28px)}
 .hjmic-site .hj-banner-controls{padding-top:10px}
 .hjmic-site .hj-banner-controls button{width:46px;height:46px;flex-basis:46px}
 .hjmic-site .hj-banner-dots{gap:1px}
 .hjmic-site .hj-banner-dots button{flex-basis:26px}
 .hjmic-site .hj-home-welcome h1{font-size:clamp(29px,8.4vw,36px)}
 .hjmic-site .hj-home-welcome .hj-actions{align-items:stretch;flex-direction:column}
 .hjmic-site .hj-home-welcome .hj-actions>.hj-button{width:100%;justify-content:space-between}
 .hjmic-site .hj-home-services,.hjmic-site .hj-home-photo-grid{grid-template-columns:1fr}
 .hjmic-site .hj-home-photo-grid figure:first-child{grid-column:auto}
}

/* Mobile polish: identical centered carousel controls and a compact, readable footer. */
@media(max-width:760px){
 .hjmic-site .hj-banner-controls{width:100%;display:flex;align-items:center;justify-content:center;gap:12px;padding:12px 0 2px}
  .hjmic-site .hj-banner-controls button{box-sizing:border-box;display:inline-flex;flex:0 0 48px;align-items:center;justify-content:center;width:48px;min-width:48px;height:48px;min-height:48px;padding:0;border-radius:2px;font-size:22px;line-height:0}
  .hjmic-site .hj-banner-controls button svg{display:block;flex:0 0 20px;width:20px;height:20px;overflow:visible}
  .hjmic-site .hj-banner-controls button svg path{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
 .hjmic-site .hj-footer{padding:34px 20px 0}
 .hjmic-site .hj-footer-main{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:22px 16px;padding-bottom:22px}
 .hjmic-site .hj-footer-about,.hjmic-site .hj-footer-contact{grid-column:1/-1}
 .hjmic-site .hj-footer-about{padding-bottom:2px}
 .hjmic-site .hj-footer-brand{gap:12px}
 .hjmic-site .hj-footer-brand img{flex:0 0 54px;width:54px;height:54px}
 .hjmic-site .hj-footer-brand b{font-size:17px;line-height:1.35}
 .hjmic-site .hj-footer-about>p{max-width:38rem;margin-top:12px}
 .hjmic-site .hj-footer-main h2{margin-bottom:10px;font-size:17px;line-height:1.35}
 .hjmic-site .hj-footer-column>a{width:auto;min-height:36px;margin-bottom:4px;font-size:14px!important;line-height:1.45}
 .hjmic-site .hj-footer-contact{border-top:1px solid #ffffff35;padding-top:20px}
 .hjmic-site .hj-footer-contact-item{gap:10px}
 .hjmic-site .hj-footer-bottom{padding:14px 0 16px;font-size:12px;line-height:1.6;text-align:center}
}
@media(max-width:390px){
 .hjmic-site .hj-footer-main{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 12px}
 .hjmic-site .hj-footer-brand b{font-size:16px}
 .hjmic-site .hj-footer-main h2{font-size:16px}
 .hjmic-site .hj-footer-column>a{font-size:13px!important}
}
.hjmic-site .hj-footer-contact{display:flex;flex-direction:column;align-items:center;text-align:center}
.hjmic-site .hj-footer-contact>h2{width:100%;margin-bottom:16px}
.hjmic-site .hj-footer-contact .hj-footer-directions{align-self:center;margin:0!important}

.hj-refined {
  --r-width: 1240px;
  --r-gutter: clamp(22px, 7.2vw, 100px);
  background: var(--paper);
}

.hj-refined main { overflow: hidden; }
.hj-refined h1,
.hj-refined h2,
.hj-refined h3,
.hj-refined p,
.hj-refined figure { margin-top: 0; }
.hj-refined h1,
.hj-refined h2,
.hj-refined h3 { color: inherit; }
.hj-refined a { text-decoration: none; }

.hj-r-intro {
  max-width: 1500px;
  margin: auto;
  padding: 62px var(--r-gutter) 68px;
  display: grid;
  grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr);
  align-items: center;
  gap: clamp(40px, 7vw, 100px);
}
.hj-r-intro-copy { max-width: 530px; }
.hj-r-intro .hj-eyebrow { margin-bottom: 19px; }
.hj-r-intro h1 {
  max-width: 590px;
  margin-bottom: 22px;
  font-size: clamp(42px, 5vw, 66px);
  line-height: 1.06;
  letter-spacing: -.045em;
  font-weight: 600;
}
.hj-r-intro h1 em { color: var(--hj-forest-2, var(--forest2, #1b5142)); font-style: normal; }
.hj-r-intro-copy p {
  max-width: 490px;
  color: #59645b;
  font-size: 15px;
  line-height: 1.82;
  margin-bottom: 13px;
}
.hj-r-intro-media { position: relative; isolation: isolate; min-width: 0; padding: 0 0 23px 20px; }
.hj-r-intro-media:before {
  position: absolute;
  content: "";
  z-index: 0;
  left: 0;
  right: 39px;
  bottom: 0;
  height: 61%;
  z-index: -1;
  background: #e9e3d4;
}
.hj-r-photo { display: block; position: relative; z-index: 1; width: 100%; margin: 0; overflow: hidden; background-color: #e5dfcf; background-position: center; background-repeat: no-repeat; background-size: cover; transition: opacity .25s ease; }
.hj-r-photo img { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.hj-r-photo:hover { opacity: .94; }
.hj-r-exterior { height: clamp(300px, 32vw, 425px); border: 1px solid #d5cbb7; }
.hj-r-established {
  position: absolute;
  z-index: 2;
  right: -13px;
  top: 25px;
  display: flex;
  align-items: center;
  gap: 13px;
  padding: 11px 15px;
  color: #f8f4e8;
  background: var(--forest);
  box-shadow: 0 5px 15px #193d3620;
}
.hj-r-established span { font-size: 9px; text-transform: uppercase; letter-spacing: .15em; color: #e0d0a8; }
.hj-r-established strong { font-size: 16px; font-weight: 600; }

.hj-r-beginnings {
  display: grid;
  grid-template-columns: minmax(230px, .78fr) minmax(0, 1.22fr);
  gap: clamp(36px, 8vw, 110px);
  max-width: 1500px;
  margin: auto;
  padding: 66px var(--r-gutter) 72px;
  background: var(--ivory);
}
.hj-r-history-aside { align-self: start; padding-top: 4px; }
.hj-r-history-aside h2 {
  max-width: 430px;
  margin: 17px 0 8px;
  font-size: clamp(30px, 3.5vw, 42px);
  line-height: 1.15;
  letter-spacing: -.035em;
}
.hj-r-history-aside h3 { max-width: 390px; margin: 0 0 21px; color: #516057; font-size: 17px; line-height: 1.45; font-weight: 500; }
.hj-r-year-note {
  display: inline-block;
  border-top: 1px solid var(--brass);
  padding-top: 9px;
  color: #7c6948;
  font-size: 10px;
  letter-spacing: .04em;
}
.hj-r-history-copy { max-width: 720px; padding-left: 29px; border-left: 1px solid #d8ceba; }
.hj-r-history-copy p {
  color: #525f55;
  font-size: 15px;
  line-height: 1.85;
  margin-bottom: 15px;
}
.hj-r-history-copy p:last-child { margin-bottom: 0; }

.hj-r-community {
  background: #173f34;
  color: #f8f4e9;
  padding: 38px var(--r-gutter);
}
.hj-r-community-inner { max-width: 840px; margin: auto; }
.hj-r-community .hj-eyebrow { color: #d8c38f; margin-bottom: 12px; }
.hj-r-community h2 {
  font-size: clamp(33px, 4vw, 48px);
  line-height: 1.12;
  letter-spacing: -.035em;
  margin-bottom: 13px;
}
.hjmic-site .hj-r-community .hj-r-community-inner h2,
.hjmic-site .hj-r-welcome h2 { color: #fff !important; }
.hjmic-site .hj-r-community .hj-r-community-inner p { color: #f1f3ed !important; font-size: 16px; line-height: 1.68; margin-bottom: 9px; }
.hjmic-site .hj-r-community .hj-r-community-inner .hj-kicker,
.hjmic-site .hj-r-welcome .hj-kicker { color: #e4c77f !important; }
.hjmic-site .hj-r-welcome p { color: #f1f3ed !important; }
.hj-r-community p:last-child { margin-bottom: 0; }

.hj-r-services { padding: 69px var(--r-gutter) 73px; background: #eeeade; }
.hj-r-services-heading {
  max-width: var(--r-width);
  margin: auto auto 33px;
  display: grid;
  grid-template-columns: 1fr .72fr;
  align-items: end;
  gap: 8%;
}
.hj-r-services-heading h2,
.hj-r-gallery-heading h2 {
  margin: 11px 0 0;
  font-size: clamp(32px, 3.7vw, 46px);
  line-height: 1.12;
  letter-spacing: -.035em;
}
.hj-r-services-heading > p { color: #5d675c; font-size: 14px; line-height: 1.8; margin-bottom: 3px; }
.hj-r-service-list {
  max-width: var(--r-width);
  margin: auto;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid #cfc6b3;
  border-bottom: 1px solid #cfc6b3;
}
.hj-r-service-list article { position: relative; padding: 22px 28px 24px 0; }
.hj-r-service-list article + article { border-left: 1px solid #cfc6b3; padding-left: 28px; }
.hj-r-service-index { color: #8b6c3e; font-size: 10px; letter-spacing: .12em; }
.hj-r-service-list h3 { margin: 15px 0 11px; font-size: 21px; line-height: 1.25; letter-spacing: -.025em; }
.hj-r-service-list p { color: #58645a; font-size: 13px; line-height: 1.78; margin-bottom: 16px; }
.hj-r-service-list a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #214a3c;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .055em;
  text-transform: uppercase;
}
.hj-r-service-list a span { transition: transform .2s ease; }
.hj-r-service-list a:hover span { transform: translateX(3px); }

.hj-r-legacy {
  max-width: 1500px;
  margin: auto;
  padding: 67px var(--r-gutter) 72px;
  display: grid;
  grid-template-columns: .58fr 1.42fr;
  align-items: center;
  gap: 9%;
  background: var(--paper);
}
.hj-r-legacy-mark { display: flex; align-items: center; gap: 15px; color: #8a7047; }
.hj-r-legacy-mark span { font-size: 10px; letter-spacing: .13em; text-transform: uppercase; white-space: nowrap; }
.hj-r-legacy-mark i { display: block; width: 100%; height: 1px; background: #c9b88e; }
.hj-r-legacy-copy { max-width: 750px; }
.hj-r-legacy-copy .hj-eyebrow { margin-bottom: 12px; }
.hj-r-legacy-copy h2 { margin-bottom: 19px; font-size: clamp(32px, 3.7vw, 46px); line-height: 1.12; letter-spacing: -.035em; }
.hj-r-legacy-copy p { color: #58645a; font-size: 14px; line-height: 1.8; margin-bottom: 12px; }
.hj-r-legacy-copy p:last-child { margin-bottom: 0; }

.hj-r-gallery { padding: 60px var(--r-gutter) 66px; background: var(--ivory); }
.hj-r-gallery-heading {
  max-width: var(--r-width);
  margin: 0 auto 22px;
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
}
.hj-r-gallery-heading h2 { margin-top: 8px; }
.hj-r-gallery-link {
  display: inline-flex;
  gap: 10px;
  align-items: center;
  color: #214a3c;
  font-size: 10px;
  letter-spacing: .09em;
  text-transform: uppercase;
  border-bottom: 1px solid #b6a275;
  padding: 0 0 7px;
  transition: color .2s;
}
.hj-r-gallery-link:hover { color: #8a6938; }
.hj-r-gallery-grid {
  max-width: var(--r-width);
  margin: auto;
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 15px;
}
.hj-r-gallery-grid .hj-r-photo { height: clamp(235px, 26vw, 330px); }
.hj-r-gallery-grid figcaption {
  position: absolute;
  left: 11px;
  bottom: 11px;
  padding: 7px 10px;
  background: #f7f3e9ed;
  color: #34473b;
  font-size: 10px;
  letter-spacing: .035em;
}

.hj-r-welcome {
  padding: 34px var(--r-gutter);
  background: #173f34;
  color: #f8f4e9;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 35px;
}
.hj-r-welcome > div:first-child { max-width: 740px; }
.hj-r-welcome .hj-eyebrow { color: #d8c38f; }
.hj-r-welcome h2 { margin: 8px 0 7px; font-size: clamp(25px, 3vw, 34px); line-height: 1.2; letter-spacing: -.03em; }
.hj-r-welcome p { color: #e0e5dc; font-size: 13px; line-height: 1.7; margin: 0; }
.hj-r-welcome-actions { display: flex; flex: none; gap: 9px; flex-wrap: wrap; }
.hj-r-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 40px;
  padding: 10px 13px;
  font-size: 9px;
  letter-spacing: .08em;
  text-transform: uppercase;
  transition: background .2s, color .2s, border-color .2s;
}
.hj-r-button-light { background: #f7f3e9; color: #173f34 !important; border: 1px solid #f7f3e9; }
.hj-r-button-light:hover { background: #e6dbc1; border-color: #e6dbc1; }
.hj-r-button-outline { color: #f7f3e9 !important; border: 1px solid #b6a275; }
.hj-r-button-outline:hover { background: #f7f3e9; color: #173f34 !important; }

@media (min-width: 761px) and (max-width: 900px) {
  .hj-r-services-heading { grid-template-columns: 1fr; gap: 14px; margin-bottom: 24px; }
  .hj-r-service-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hj-r-service-list article:nth-child(3) { grid-column: 1 / -1; border-left: 0; border-top: 1px solid #cfc6b3; padding-left: 0; }
}

@media (max-width: 760px) {
  .hj-r-intro { grid-template-columns: 1fr; gap: 25px; padding-top: 38px; padding-bottom: 40px; }
  .hj-r-intro h1 { font-size: clamp(39px, 10vw, 53px); margin-bottom: 16px; }
  .hj-r-intro-copy p { font-size: 14px; }
  .hj-r-intro-media { padding-left: 11px; padding-bottom: 14px; margin-right: 8px; }
  .hj-r-exterior { height: clamp(235px, 65vw, 310px); }
  .hj-r-established { right: -8px; top: 14px; padding: 9px 11px; }
  .hj-r-established span { font-size: 8px; }
  .hj-r-beginnings { grid-template-columns: 1fr; gap: 19px; padding-top: 43px; padding-bottom: 44px; }
  .hj-r-history-aside h2 { margin: 12px 0 5px; font-size: 33px; }
  .hj-r-history-aside h3 { margin-bottom: 12px; font-size: 16px; }
  .hj-r-history-copy { padding: 0; border: 0; }
  .hj-r-history-copy p { font-size: 14px; }
  .hj-r-community { padding-top: 27px; padding-bottom: 28px; }
  .hj-r-community h2 { font-size: 36px; }
  .hjmic-site .hj-r-community .hj-r-community-inner p { font-size: 15px; }
  .hj-r-services { padding-top: 45px; padding-bottom: 47px; }
  .hj-r-services-heading { grid-template-columns: 1fr; gap: 14px; margin-bottom: 22px; }
  .hj-r-services-heading > p { margin: 0; font-size: 13px; }
  .hj-r-service-list { grid-template-columns: 1fr; }
  .hj-r-service-list article { padding: 19px 0 20px; }
  .hj-r-service-list article + article { border-left: 0; border-top: 1px solid #cfc6b3; padding-left: 0; }
  .hj-r-service-list h3 { margin: 9px 0 7px; font-size: 20px; }
  .hj-r-service-list p { margin-bottom: 10px; font-size: 13px; }
  .hj-r-legacy { grid-template-columns: 1fr; gap: 23px; padding-top: 44px; padding-bottom: 46px; }
  .hj-r-legacy-mark { max-width: 260px; }
  .hj-r-legacy-copy h2 { font-size: 34px; }
  .hj-r-legacy-copy p { font-size: 13px; }
  .hj-r-gallery { padding-top: 43px; padding-bottom: 43px; }
  .hj-r-gallery-heading { align-items: start; flex-direction: column; gap: 14px; }
  .hj-r-gallery-grid { grid-template-columns: 1fr; gap: 11px; }
  .hj-r-gallery-grid .hj-r-photo { height: clamp(220px, 58vw, 300px); }
  .hj-r-welcome { flex-direction: column; align-items: flex-start; padding-top: 29px; padding-bottom: 31px; gap: 16px; }
  .hj-r-welcome-actions { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .hj-refined *, .hj-refined *::before, .hj-refined *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}

.hj-gallery-refined {
  --gallery-ink: #202820;
  --gallery-muted: #657066;
  --gallery-rule: #d9d4c5;
  color: var(--gallery-ink);
}

.hj-gallery-refined .hj-gallery-intro {
  padding: clamp(42px, 5.5vw, 68px) clamp(24px, 8vw, 120px) 34px;
  background: var(--ivory);
}

.hj-gallery-refined .hj-gallery-intro-inner {
  max-width: 1200px;
  margin: 0 auto;
}

.hj-gallery-refined .hj-gallery-intro .hj-eyebrow {
  margin-bottom: 13px;
}

.hj-gallery-refined .hj-gallery-intro h1 {
  max-width: 850px;
  margin: 0;
  color: var(--gallery-ink);
  font-size: clamp(38px, 5.3vw, 60px);
  line-height: 1.08;
  letter-spacing: -.045em;
}

.hj-gallery-refined .hj-gallery-intro p {
  max-width: 710px;
  margin: 15px 0 0;
  color: var(--gallery-muted);
  font-size: clamp(14px, 1.35vw, 16px);
  line-height: 1.8;
}

.hj-gallery-refined .hj-gallery-collection {
  padding: 12px clamp(24px, 8vw, 120px) clamp(54px, 7vw, 88px);
  background: var(--paper);
}

.hj-gallery-refined .hj-gallery-collection-inner {
  max-width: 1200px;
  margin: 0 auto;
}

.hj-gallery-refined .hj-gallery-tools {
  min-height: 45px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 13px;
}

.hj-gallery-refined .hj-gallery-count {
  color: #817a6d;
  font-size: 10px;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.hj-gallery-refined .hj-gallery-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.hj-gallery-refined .hj-gallery-filters button {
  padding: 8px 12px;
  border: 1px solid var(--gallery-rule);
  background: transparent;
  color: var(--gallery-muted);
  font: inherit;
  font-size: 11px;
  cursor: pointer;
  transition: color .18s ease, background-color .18s ease, border-color .18s ease;
}

.hj-gallery-refined .hj-gallery-filters button:hover,
.hj-gallery-refined .hj-gallery-filters button.is-active {
  border-color: var(--forest);
  background: var(--forest);
  color: var(--paper);
}

.hj-gallery-refined .hj-gallery-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(14px, 2vw, 24px);
}

.hj-gallery-refined .hj-gallery-card {
  min-width: 0;
  margin: 0;
}

.hj-gallery-refined .hj-gallery-image-button {
  position: relative;
  display: block;
  width: 100%;
  padding: 0;
  overflow: hidden;
  border: 0;
  background: #e5dfcf;
  aspect-ratio: 4 / 3;
  cursor: zoom-in;
}

.hj-gallery-refined .hj-gallery-image-button img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .35s ease;
}

.hj-gallery-refined .hj-gallery-image-button:hover img,
.hj-gallery-refined .hj-gallery-image-button:focus-visible img {
  transform: scale(1.035);
}

.hj-gallery-refined .hj-gallery-image-hint {
  position: absolute;
  right: 12px;
  bottom: 12px;
  display: inline-flex;
  align-items: center;
  gap: 14px;
  padding: 8px 10px;
  background: #f8f6efed;
  color: var(--forest);
  font-size: 10px;
  letter-spacing: .06em;
  opacity: 0;
  transform: translateY(4px);
  transition: opacity .2s ease, transform .2s ease;
}

.hj-gallery-refined .hj-gallery-image-button:hover .hj-gallery-image-hint,
.hj-gallery-refined .hj-gallery-image-button:focus-visible .hj-gallery-image-hint {
  opacity: 1;
  transform: translateY(0);
}

.hj-gallery-refined .hj-gallery-image-hint span {
  font-size: 14px;
}

.hj-gallery-refined .hj-gallery-card figcaption {
  padding-top: 11px;
  color: var(--gallery-ink);
  font: 500 15px/1.45 var(--hj-serif, "DM Sans", sans-serif);
}

.hj-gallery-refined .hj-gallery-film-section {
  padding: clamp(48px, 7vw, 84px) clamp(24px, 8vw, 120px);
  background: #eae6d9;
}

.hj-gallery-refined .hj-gallery-film-inner {
  max-width: 1150px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(230px, .58fr);
  align-items: center;
  gap: clamp(36px, 8vw, 108px);
}

.hj-gallery-refined .hj-gallery-film-copy h2 {
  max-width: 520px;
  margin: 13px 0 12px;
  color: var(--gallery-ink);
  font-size: clamp(34px, 4.2vw, 48px);
  line-height: 1.1;
  letter-spacing: -.035em;
}

.hj-gallery-refined .hj-gallery-film-copy p {
  max-width: 480px;
  margin: 0;
  color: var(--gallery-muted);
  font-size: 14px;
  line-height: 1.8;
}

.hj-gallery-refined .hj-gallery-film-meta {
  display: inline-flex;
  gap: 8px;
  margin-top: 18px;
  color: #746c5d;
  font-size: 10px;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.hj-gallery-refined .hj-gallery-film-card {
  width: min(100%, 290px);
  justify-self: center;
}

.hj-gallery-refined .hj-gallery-film-preview {
  position: relative;
  display: block;
  width: 100%;
  padding: 0;
  overflow: hidden;
  border: 0;
  background: var(--forest);
  aspect-ratio: 9 / 16;
  cursor: pointer;
}

.hj-gallery-refined .hj-gallery-film-preview img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .35s ease;
}

.hj-gallery-refined .hj-gallery-film-preview:hover img,
.hj-gallery-refined .hj-gallery-film-preview:focus-visible img {
  transform: scale(1.025);
}

.hj-gallery-refined .hj-gallery-film-play {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  background: linear-gradient(180deg, #10261f20, #10261f45);
}

.hj-gallery-refined .hj-gallery-film-play span {
  width: 66px;
  height: 66px;
  display: grid;
  place-items: center;
  padding-left: 4px;
  border: 1px solid #fff;
  border-radius: 50%;
  background: #10372fdb;
  color: #fff;
  font-size: 19px;
  transition: transform .2s ease, background-color .2s ease;
}

.hj-gallery-refined .hj-gallery-film-preview:hover .hj-gallery-film-play span {
  transform: scale(1.06);
  background: var(--forest);
}

.hj-gallery-refined .hj-gallery-film-card > p {
  margin: 9px 0 0;
  color: var(--gallery-muted);
  font-size: 11px;
}

.hj-gallery-refined .hj-gallery-modal[hidden] {
  display: none !important;
}

.hj-gallery-refined .hj-gallery-modal {
  position: fixed;
  z-index: 999;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 72px 76px 40px;
  background: #0d211deF;
  color: #f8f6ef;
}

.hj-gallery-refined .hj-gallery-modal-close,
.hj-gallery-refined .hj-gallery-modal-nav {
  position: absolute;
  z-index: 2;
  display: grid;
  place-items: center;
  border: 1px solid #d7c69c;
  background: #173a31;
  color: #fff;
  cursor: pointer;
}

.hj-gallery-refined .hj-gallery-modal-close {
  top: 20px;
  right: 22px;
  width: 44px;
  height: 44px;
  font-size: 27px;
}

.hj-gallery-refined .hj-gallery-modal-nav {
  top: 50%;
  width: 48px;
  height: 48px;
  font-size: 23px;
  transform: translateY(-50%);
}

.hj-gallery-refined .hj-gallery-modal-prev {
  left: 22px;
}

.hj-gallery-refined .hj-gallery-modal-next {
  right: 22px;
}

.hj-gallery-refined .hj-gallery-modal-stage {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 13px;
  width: min(100%, 1280px);
  max-height: 100%;
  margin: 0;
}

.hj-gallery-refined .hj-gallery-modal-image {
  display: block;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: calc(100vh - 150px);
  object-fit: contain;
}

.hj-gallery-refined .hj-gallery-modal-stage figcaption {
  color: #f8f6ef;
  font-size: 13px;
  text-align: center;
}

.hj-gallery-refined .hj-gallery-video-modal {
  padding: 36px;
}

.hj-gallery-refined .hj-gallery-video-modal-panel {
  position: relative;
  width: max-content;
  max-width: 100%;
  max-height: 100%;
}

.hj-gallery-refined .hj-gallery-video-modal-panel video {
  display: block;
  width: auto;
  height: auto;
  max-width: min(92vw, 1000px);
  max-height: 86vh;
  background: #07120f;
  object-fit: contain;
}

.hj-gallery-refined .hj-visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.hj-gallery-refined :is(button, a):focus-visible {
  outline: 3px solid #bd9d5b;
  outline-offset: 3px;
}

@media (max-width: 980px) {
  .hj-gallery-refined .hj-gallery-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .hj-gallery-refined .hj-gallery-film-inner {
    grid-template-columns: minmax(0, 1fr) minmax(220px, .65fr);
    gap: 34px;
  }
}

@media (max-width: 680px) {
  .hj-gallery-refined .hj-gallery-intro {
    padding: 38px 22px 28px;
  }

  .hj-gallery-refined .hj-gallery-intro h1 {
    font-size: clamp(35px, 9vw, 48px);
  }

  .hj-gallery-refined .hj-gallery-collection {
    padding: 8px 22px 46px;
  }

  .hj-gallery-refined .hj-gallery-tools {
    min-height: 36px;
    margin-bottom: 10px;
  }

  .hj-gallery-refined .hj-gallery-grid {
    gap: 20px 14px;
  }

  .hj-gallery-refined .hj-gallery-card figcaption {
    padding-top: 8px;
    font-size: 14px;
  }

  .hj-gallery-refined .hj-gallery-film-section {
    padding: 46px 22px;
  }

  .hj-gallery-refined .hj-gallery-film-inner {
    grid-template-columns: 1fr;
    gap: 27px;
  }

  .hj-gallery-refined .hj-gallery-film-card {
    width: min(100%, 300px);
    justify-self: start;
  }

  .hj-gallery-refined .hj-gallery-modal {
    padding: 66px 14px 82px;
  }

  .hj-gallery-refined .hj-gallery-modal-close {
    top: 12px;
    right: 12px;
  }

  .hj-gallery-refined .hj-gallery-modal-nav {
    top: auto;
    bottom: 18px;
    transform: none;
  }

  .hj-gallery-refined .hj-gallery-modal-prev {
    left: 14px;
  }

  .hj-gallery-refined .hj-gallery-modal-next {
    right: 14px;
  }

  .hj-gallery-refined .hj-gallery-modal-image {
    max-height: calc(100vh - 185px);
  }
}

@media (max-width: 520px) {
  .hj-gallery-refined .hj-gallery-grid {
    grid-template-columns: 1fr;
  }

  .hj-gallery-refined .hj-gallery-film-copy p {
    font-size: 13px;
  }

  .hj-gallery-refined .hj-gallery-video-modal {
    padding: 20px 12px;
  }

  .hj-gallery-refined .hj-gallery-video-modal-panel video {
    max-width: 94vw;
    max-height: 82vh;
  }
}

@media (prefers-reduced-motion: reduce) {
  .hj-gallery-refined *,
  .hj-gallery-refined *::before,
  .hj-gallery-refined *::after {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
}

.rf-site {
  --rf-emerald: #123f32;
  --rf-deep: #0c3028;
  --rf-cream: #f5f1e7;
  --rf-paper: #fbfaf6;
  --rf-gold: #b49356;
  --rf-ink: #20352f;
  --rf-muted: #65716a;
  --rf-line: #d9d5c9;
  color: var(--rf-ink);
  background: var(--rf-paper);
  font-family: "DM Sans", "Avenir Next", sans-serif;
}
.rf-site *, .rf-site *::before, .rf-site *::after { box-sizing: border-box; }
.rf-site a { color: inherit; }
.rf-intro { background: var(--rf-cream); border-bottom: 1px solid #e5dfd1; }
.rf-intro-inner { max-width: 1240px; margin: auto; padding: 70px 48px 58px; display: flex; align-items: end; justify-content: space-between; gap: 40px; }
.rf-intro-copy { max-width: 850px; }
.rf-eyebrow, .rf-kicker { display: inline-flex; align-items: center; gap: 12px; color: #806a3c; font-size: 12px; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }
.rf-eyebrow i { display: inline-block; width: 30px; height: 1px; background: var(--rf-gold); }
.rf-intro h1 { margin: 18px 0 16px; color: var(--rf-deep); font-family: "DM Sans", sans-serif; font-size: clamp(36px, 4.1vw, 52px); font-weight: 600; letter-spacing: -.045em; line-height: 1.08; }
.rf-intro h1 em { color: #8c7547; font-family: "Instrument Serif", Georgia, serif; font-weight: 400; }
.rf-intro-copy > p { max-width: 700px; margin: 0; color: #53645d; font-size: 17px; line-height: 1.65; }
.rf-intro-aside { min-width: 170px; margin-bottom: 2px; color: #66756e; font-size: 13px; line-height: 1.6; }
.rf-aside-label { display: block; color: var(--rf-deep); font-family: "Instrument Serif", Georgia, serif; font-size: 21px; line-height: 1.2; }
.rf-aside-rule { display: block; width: 34px; height: 1px; margin: 14px 0; background: var(--rf-gold); }
.rf-index { position: sticky; z-index: 15; top: 82px; border-bottom: 1px solid #dcd8ce; background: rgba(251,250,246,.97); backdrop-filter: blur(12px); }
.hjmic-site .rf-index { top: 0; }
.rf-index-desktop { display: flex; justify-content: center; max-width: 1320px; margin: auto; padding: 0 24px; }
.rf-index-desktop a { position: relative; min-height: 58px; padding: 0 17px; display: inline-flex; align-items: center; gap: 8px; color: #52625a; text-decoration: none; font-size: 12px; font-weight: 600; white-space: nowrap; transition: color .18s ease; }
.rf-index-desktop a::after { position: absolute; right: 17px; bottom: -1px; left: 17px; height: 2px; background: var(--rf-gold); content: ""; transform: scaleX(0); transform-origin: left; transition: transform .2s ease; }
.rf-index-desktop a:hover, .rf-index-desktop a.is-active { color: var(--rf-emerald); }
.rf-index-desktop a.is-active::after { transform: scaleX(1); }
.rf-index-desktop a > span { color: #a58d5b; font-family: "DM Mono", monospace; font-size: 10px; }
.rf-index-mobile { display: none; }
.rf-category { scroll-margin-top: 170px; padding: 68px 24px 76px; border-bottom: 1px solid var(--rf-line); }
.hjmic-site .rf-category { scroll-margin-top: 76px; }
.rf-category-inner { max-width: 1160px; margin: 0 auto; }
.rf-worship { background: #f6f2e9; }
.rf-education { background: #fff; }
.rf-marriage { background: #edf1eb; }
.rf-janazah { background: #f4f3ef; }
.rf-community { background: #fbfaf6; }
.rf-counselling { background: #eff2eb; }
.rf-category-heading { display: grid; grid-template-columns: 80px minmax(0, 1fr); gap: 18px; align-items: start; margin: 0 0 35px; padding-bottom: 23px; border-bottom: 1px solid var(--rf-line); }
.rf-category-number { padding-top: 8px; color: #9b8150; font-family: "DM Mono", monospace; font-size: 12px; letter-spacing: .05em; }
.rf-category-heading h2 { margin: 0 0 8px; color: var(--rf-deep); font-size: clamp(28px, 3vw, 36px); font-weight: 600; letter-spacing: -.035em; line-height: 1.15; }
.rf-category-heading p { max-width: 680px; margin: 0; color: #637069; font-size: 16px; line-height: 1.6; }
.rf-services-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 45px; }
.rf-service { min-width: 0; padding: 0 0 24px; border-bottom: 1px solid #dcd8ce; }
.rf-service h3, .rf-programme-content h3, .rf-dawah h3 { margin: 0 0 11px; color: var(--rf-deep); font-size: 21px; font-weight: 600; letter-spacing: -.025em; line-height: 1.3; }
.rf-service p, .rf-programme-content p, .rf-janazah-copy > p, .rf-support-copy > p { margin: 0 0 13px; color: #4f6058; font-size: 15px; line-height: 1.67; }
.rf-link, .rf-inline-link { color: var(--rf-emerald) !important; font-size: 14px; font-weight: 700; text-decoration-color: #a58d5b; text-underline-offset: 4px; }
.rf-link span { margin-left: 6px; color: #967b46; }
.rf-fine-note { color: #748078 !important; font-size: 13px !important; }
.rf-poster { display: block; width: 100%; margin: 14px 0 4px; padding: 0; overflow: hidden; border: 1px solid #d9d5c8; border-radius: 3px; background: #fff; color: var(--rf-ink); text-align: left; cursor: zoom-in; }
.rf-poster img { display: block; width: 100%; height: auto; }
.rf-poster > span { display: flex; justify-content: space-between; align-items: center; padding: 9px 12px; color: #66736c; font-size: 11px; letter-spacing: .035em; }
.rf-poster > span b { color: #8d7444; font-size: 15px; }
.rf-poster:hover { border-color: #a79060; }
.rf-service-feature .rf-poster { max-width: 550px; }
.rf-enquiry { margin-top: 13px; border-top: 1px solid #dedacf; border-bottom: 1px solid #dedacf; }
.rf-enquiry summary, .rf-disclosure summary { min-height: 48px; padding: 12px 2px; display: flex; justify-content: space-between; align-items: center; gap: 12px; color: var(--rf-emerald); font-size: 14px; font-weight: 700; list-style: none; cursor: pointer; }
.rf-enquiry summary::-webkit-details-marker, .rf-disclosure summary::-webkit-details-marker { display: none; }
.rf-summary-mark, .rf-disclosure summary > span { color: #977e4b; font-size: 19px; font-weight: 400; transition: transform .18s ease; }
.rf-enquiry[open] .rf-summary-mark, .rf-disclosure[open] summary > span { transform: rotate(45deg); }
.rf-enquiry-panel { padding: 2px 0 17px; }
.rf-demo-notice { padding: 12px 14px; border-left: 2px solid var(--rf-gold); background: #f4f0e5; color: #59675f; font-size: 12px; line-height: 1.55; }
.rf-demo-notice strong { color: var(--rf-deep); }
.rf-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 13px 0; }
.rf-form-grid label { display: grid; gap: 6px; color: #53635b; font-size: 12px; font-weight: 600; }
.rf-form-grid .rf-full { grid-column: 1 / -1; }
.rf-form-grid input, .rf-form-grid textarea { width: 100%; border: 1px solid #d2d0c7; border-radius: 2px; padding: 10px 11px; background: #fff; color: var(--rf-ink); font: inherit; font-size: 13px; }
.rf-form-grid input:focus, .rf-form-grid textarea:focus { outline: 2px solid #b79c63; outline-offset: 1px; }
.rf-button { min-height: 46px; padding: 0 18px; display: inline-flex; align-items: center; justify-content: center; gap: 14px; border: 1px solid transparent; text-decoration: none; font-size: 13px; font-weight: 700; }
.rf-button-dark { background: var(--rf-emerald); color: #fff !important; }
.rf-button-disabled { border-color: #d6d1c5; background: #ece9e1; color: #767970; cursor: not-allowed; }
.rf-programme-row { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(350px, .9fr); gap: 56px; align-items: start; padding: 5px 0 38px; border-bottom: 1px solid #e2e1db; }
.rf-programme-content h3 { margin: 8px 0 11px; font-size: 25px; }
.rf-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 18px 0 12px; border-top: 1px solid #e3e1d9; }
.rf-facts > div { padding: 12px 10px 11px 0; border-bottom: 1px solid #e3e1d9; }
.rf-facts > div:nth-child(odd) { border-right: 1px solid #e3e1d9; }
.rf-facts > div:nth-child(even) { padding-left: 15px; }
.rf-facts span { display: block; margin-bottom: 4px; color: #7b817b; font-size: 11px; }
.rf-facts strong { color: #23473a; font-size: 14px; font-weight: 700; }
.rf-facts small { display: block; margin-top: 5px; color: #69746d; font-size: 12px; line-height: 1.5; }
.rf-uniform-note { margin: 13px 0 0; padding: 12px 14px; border-left: 2px solid var(--rf-gold); background: #f6f3eb; color: #58665f; font-size: 13px; line-height: 1.55; }
.rf-uniform-note strong { color: var(--rf-deep); }
.rf-disclosure { margin: 14px 0 0; border-top: 1px solid #dedacf; border-bottom: 1px solid #dedacf; }
.rf-disclosure summary { color: #55655d; }
.rf-disclosure-body { padding: 0 0 14px; color: #58665f; font-size: 14px; line-height: 1.6; }
.rf-disclosure-body p { margin: 0 0 10px; }
.rf-programme-secondary { grid-template-columns: minmax(350px, .9fr) minmax(0, 1.1fr); padding: 38px 0 0; border: 0; }
.rf-programme-secondary .rf-poster { margin-top: 0; }
.rf-marriage-grid { gap: 34px; }
.rf-marriage-grid .rf-service { padding: 24px; border: 1px solid #d4ded3; background: rgba(255,255,255,.54); }
.rf-marriage-grid .rf-service h3 { font-size: 23px; }
.rf-janazah-layout { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(380px, .95fr); gap: 55px; align-items: start; }
.rf-contact-note { display: flex; gap: 14px; margin: 21px 0 18px; padding: 15px 16px; border: 1px solid #dedbd1; background: #fbfaf6; }
.rf-contact-symbol { flex: 0 0 24px; width: 24px; height: 24px; display: grid; place-items: center; border: 1px solid #a68c56; border-radius: 50%; color: #8c7444; font-family: Georgia, serif; font-weight: 700; }
.rf-contact-note p { margin: 0; color: #5b6861; font-size: 13px; line-height: 1.6; }
.rf-contact-note a { color: var(--rf-emerald); font-weight: 700; }
.rf-community-layout { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(320px, .9fr); gap: 56px; align-items: start; }
.rf-programme-list article { display: grid; grid-template-columns: 42px 1fr; gap: 12px; padding: 16px 0; border-bottom: 1px solid #e2dfd5; }
.rf-programme-list article:first-child { padding-top: 0; }
.rf-programme-list article > span { padding-top: 4px; color: #a38751; font-family: "DM Mono", monospace; font-size: 11px; }
.rf-programme-list h3 { margin: 0 0 5px; color: #234438; font-size: 17px; font-weight: 600; }
.rf-programme-list p { margin: 0; color: #627068; font-size: 14px; line-height: 1.55; }
.rf-dawah { padding: 25px; border: 1px solid #e0ddd3; background: #f3f0e7; }
.rf-dawah h3 { margin-top: 10px; font-size: 22px; }
.rf-dawah > p, .rf-dawah li { color: #59685f; font-size: 14px; line-height: 1.55; }
.rf-dawah ul { margin: 12px 0 17px; padding-left: 18px; }
.rf-dawah li { padding: 3px 0; }
.rf-support-layout { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(350px, .9fr); gap: 54px; align-items: start; }
.rf-support-principles { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 20px; margin: 20px 0; border-top: 1px solid #d9ded4; }
.rf-support-principles > div { display: flex; gap: 12px; align-items: baseline; padding: 12px 0; border-bottom: 1px solid #d9ded4; color: #41574d; font-size: 14px; }
.rf-support-principles b { color: #a18650; font-family: "DM Mono", monospace; font-size: 10px; font-weight: 500; }
.rf-general-enquiry { display: grid; grid-template-columns: minmax(0, 1fr) minmax(300px, .9fr); gap: 32px; align-items: start; margin-top: 35px; padding-top: 25px; border-top: 1px solid #e2dfd5; }
.rf-general-enquiry h3 { margin: 0 0 8px; color: var(--rf-deep); font-size: 20px; font-weight: 600; }
.rf-general-enquiry p { margin: 0; color: #627068; font-size: 14px; line-height: 1.6; }
.rf-enquiry-panel .hj-form-card { margin: 0; padding: 15px 0 0; border: 0; background: transparent; box-shadow: none; }
.rf-enquiry-panel .hj-form-title > p { max-width: 720px; font-size: 13px; }
.rf-enquiry-panel .hj-form-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 12px 0; }
.rf-enquiry-panel .hj-form-fields label.is-wide { grid-column: 1 / -1; }
.rf-enquiry-panel .hj-form-fields input,
.rf-enquiry-panel .hj-form-fields textarea { width: 100%; min-height: 42px; padding: 10px 11px; border: 1px solid #d2d0c7; border-radius: 2px; background: #fff; color: var(--rf-ink); font: inherit; font-size: 13px; }
.rf-enquiry-panel .hj-form-fields input:focus,
.rf-enquiry-panel .hj-form-fields textarea:focus { outline: 2px solid #b79c63; outline-offset: 1px; }
.rf-enquiry-panel .hj-privacy-note { font-size: 11px; }
.rf-last-note { max-width: 1160px; margin: 0 auto; padding: 48px 24px 52px; display: grid; grid-template-columns: 1fr auto; gap: 12px 36px; align-items: center; }
.rf-last-note h2 { margin: 9px 0; color: var(--rf-deep); font-family: "Instrument Serif", Georgia, serif; font-size: 30px; font-weight: 400; }
.rf-last-note p { max-width: 680px; margin: 0; color: #637069; font-size: 14px; line-height: 1.6; }
.rf-last-note > .rf-enquiry { grid-column: 1 / -1; }
.rf-poster-dialog { position: fixed; max-width: min(94vw, 1300px); max-height: 92dvh; padding: 10px; overflow: visible; border: 1px solid #d7d2c5; background: #f9f7f0; box-shadow: 0 22px 80px rgba(12,35,27,.32); }
.rf-poster-dialog::backdrop { background: rgba(10,28,22,.78); }
.rf-poster-dialog img { display: block; max-width: calc(94vw - 20px); max-height: calc(92dvh - 20px); width: auto; height: auto; object-fit: contain; }
.rf-dialog-close { position: absolute; z-index: 1; top: -15px; right: -15px; width: 38px; height: 38px; border: 1px solid #d8d1c1; border-radius: 50%; background: #f9f7f0; color: var(--rf-emerald); font-size: 25px; line-height: 1; cursor: pointer; }
.rf-site :focus-visible { outline: 3px solid #b99c60; outline-offset: 3px; }
@media (max-width: 900px) {
  .rf-index-desktop { justify-content: flex-start; overflow-x: auto; }
  .rf-index-desktop a { padding-right: 12px; padding-left: 12px; }
  .rf-services-grid { gap: 22px 28px; }
  .rf-programme-row, .rf-programme-secondary, .rf-janazah-layout, .rf-community-layout, .rf-support-layout { gap: 30px; }
}
@media (max-width: 700px) {
  .rf-intro-inner { padding: 42px 22px 37px; }
  .rf-intro-aside { display: none; }
  .rf-intro h1 { font-size: clamp(32px, 8vw, 42px); }
  .rf-intro-copy > p { font-size: 15px; }
  .rf-index { padding: 10px 18px; }
  .rf-index-desktop { display: none; }
  .rf-index-mobile { position: relative; display: grid; grid-template-columns: auto minmax(0, 1fr) 20px; gap: 12px; align-items: center; max-width: 500px; margin: auto; }
  .rf-index-mobile > span { color: #65726b; font-size: 12px; font-weight: 600; white-space: nowrap; }
  .rf-index-mobile select { width: 100%; min-width: 0; height: 42px; appearance: none; padding: 0 12px; border: 1px solid #d5d2c8; border-radius: 2px; background: #fff; color: var(--rf-emerald); font: inherit; font-size: 13px; font-weight: 600; }
  .rf-index-mobile b { position: absolute; right: 11px; color: #977e4b; pointer-events: none; }
  .rf-index { position: relative; top: auto; z-index: 1; }
  .rf-category { scroll-margin-top: 98px; padding: 45px 20px 48px; }
  .rf-category-heading { grid-template-columns: 38px minmax(0, 1fr); gap: 9px; margin-bottom: 25px; padding-bottom: 19px; }
  .rf-category-heading h2 { font-size: 28px; }
  .rf-category-heading p { font-size: 14px; }
  .rf-services-grid, .rf-programme-row, .rf-programme-secondary, .rf-janazah-layout, .rf-community-layout, .rf-support-layout { grid-template-columns: 1fr; gap: 21px; }
  .rf-service { padding-bottom: 21px; }
  .rf-programme-row { padding-bottom: 29px; }
  .rf-programme-secondary { padding-top: 29px; }
  .rf-programme-secondary .rf-poster { order: 2; }
  .rf-programme-secondary .rf-programme-content { order: 1; }
  .rf-marriage-grid .rf-service { padding: 18px; }
  .rf-janazah-layout > .rf-poster { order: -1; }
  .rf-dawah { padding: 19px; }
  .rf-support-layout > .rf-poster { order: -1; }
  .rf-last-note { grid-template-columns: 1fr; gap: 18px; padding: 36px 21px 42px; }
  .rf-last-note > .rf-button { justify-self: start; }
  .rf-last-note > .rf-enquiry { grid-column: auto; }
  .rf-general-enquiry { grid-template-columns: 1fr; gap: 12px; }
  .rf-facts { grid-template-columns: 1fr 1fr; }
  .rf-form-grid { grid-template-columns: 1fr; }
  .rf-form-grid .rf-full { grid-column: auto; }
  .rf-enquiry-panel .hj-form-fields { grid-template-columns: 1fr; }
  .rf-enquiry-panel .hj-form-fields label.is-wide { grid-column: auto; }
  .rf-poster-dialog { max-width: calc(100vw - 24px); }
  .rf-dialog-close { top: -14px; right: -5px; }
}
@media (prefers-reduced-motion: reduce) {
  .rf-site *, .rf-site *::before, .rf-site *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}



/* Elementor Free widget refinements for the HJMIC import templates. */
body.hjmic-elementor-page {
  margin: 0 !important;
  padding: 0 !important;
  overflow-x: hidden;
  background: #f7f3e9 !important;
}
body.hjmic-elementor-page .elementor,
body.hjmic-elementor-page .elementor > .e-con,
body.hjmic-elementor-page .elementor-widget-html,
body.hjmic-elementor-page .elementor-widget-html > .elementor-widget-container {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}
body.hjmic-elementor-page .elementor > .e-con {
  gap: 0 !important;
}
body.hjmic-elementor-page .elementor > .e-con > .e-con-inner {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  gap: 0 !important;
}
body.hjmic-elementor-page .hjmic-site {
  display: block;
  width: 100%;
  max-width: none;
  min-width: 0;
  margin: 0;
  overflow-x: clip;
  color: var(--ink, #202820);
}
body.hjmic-elementor-page .hjmic-site h1,
body.hjmic-elementor-page .hjmic-site h2,
body.hjmic-elementor-page .hjmic-site h3,
body.hjmic-elementor-page .hjmic-site .elementor-heading-title {
  color: var(--ink, #202820) !important;
}
body.hjmic-elementor-page .hjmic-site .hj-dark h1,
body.hjmic-elementor-page .hjmic-site .hj-dark h2,
body.hjmic-elementor-page .hjmic-site .hj-dark h3 {
  color: var(--paper, #f7f3e9) !important;
}
body.hjmic-elementor-page .hjmic-site .hj-wrap,
body.hjmic-elementor-page .hjmic-site .hj-nav {
  width: min(1320px, calc(100% - 64px));
  max-width: 1320px;
}
body.hjmic-elementor-page .hjmic-site .elementor-widget-heading .elementor-heading-title {
  color: var(--ink, #202820) !important;
  font-family: "Playfair Display", Georgia, serif !important;
  text-shadow: none !important;
}
body.hjmic-elementor-page .hjmic-site .hj-home-heading .elementor-heading-title {
  color: var(--ink, #202820) !important;
  font-size: clamp(40px, 5vw, 66px) !important;
  font-weight: 500 !important;
  letter-spacing: -.04em !important;
  line-height: 1.08 !important;
}
body.hjmic-elementor-page .hjmic-site .elementor-widget-text-editor p { margin-top: 0; }
body.hjmic-elementor-page .hjmic-site .elementor-widget-button.hj-button {
  width: auto !important;
  padding: 0 !important;
  background: transparent !important;
}
body.hjmic-elementor-page .hjmic-site .elementor-widget-button.hj-button .elementor-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 12px 18px !important;
  background: var(--forest, #123d32) !important;
  color: var(--paper, #f7f3e9) !important;
  border: 1px solid var(--forest, #123d32) !important;
  border-radius: 0 !important;
  font: 600 10px/1.3 "Manrope", Arial, sans-serif !important;
  letter-spacing: .08em;
  text-transform: uppercase;
  box-shadow: none !important;
  text-decoration: none !important;
}
body.hjmic-elementor-page .hjmic-site .elementor-widget-button.hj-button.hj-outline .elementor-button {
  background: transparent !important;
  color: var(--forest, #123d32) !important;
  border-color: #aaa18d !important;
}
body.hjmic-elementor-page .hjmic-site .hj-actions > .e-con-inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}
body.hjmic-elementor-page .hjmic-site .hj-home-photo-grid > .e-con-inner,
body.hjmic-elementor-page .hjmic-site .hj-home-photo-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: start;
  gap: 12px;
  width: 100%;
}
body.hjmic-elementor-page .hjmic-site .hj-photo-card {
  position: relative;
  min-width: 0;
  aspect-ratio: 1.7 / 1;
  overflow: hidden;
}
body.hjmic-elementor-page .hjmic-site .hj-photo-card > .e-con-inner {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  min-width: 0;
}
body.hjmic-elementor-page .hjmic-site .hj-photo-card .elementor-widget-image,
body.hjmic-elementor-page .hjmic-site .hj-photo-card .elementor-widget-image > .elementor-widget-container,
body.hjmic-elementor-page .hjmic-site .hj-photo-card .elementor-widget-image figure {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: 0;
}
body.hjmic-elementor-page .hjmic-site .hj-photo-card .elementor-widget-image img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  aspect-ratio: auto;
  object-fit: cover;
}
body.hjmic-elementor-page .hjmic-site .hj-photo-card .hjmic-photo-caption {
  position: absolute;
  left: 10px;
  bottom: 10px;
  width: max-content;
  max-width: calc(100% - 20px);
  margin: 0;
  padding: 7px 10px;
  background: #f7f3e9ed;
  color: #202820;
}
body.hjmic-elementor-page .hjmic-site .hj-photo-card .hjmic-photo-caption p {
  margin: 0;
  color: #202820;
  font-size: 11px;
  font-style: normal;
  line-height: 1.4;
}
@media (min-width: 1500px) {
  body.hjmic-elementor-page .hjmic-site { font-size: 16px; }
}
@media (min-width: 761px) {
  body.hjmic-elementor-page .hjmic-site .hj-nav {
    min-height: 94px;
    padding-top: 15px;
    padding-bottom: 15px;
    gap: 24px;
  }
  body.hjmic-elementor-page .hjmic-site .hj-brand {
    gap: 14px;
    font-size: 17px;
  }
  body.hjmic-elementor-page .hjmic-site .hj-logo {
    width: 60px;
    height: 60px;
  }
  body.hjmic-elementor-page .hjmic-site .hj-brand small { font-size: 10px; }
  body.hjmic-elementor-page .hjmic-site .hj-links {
    gap: clamp(15px, 1.8vw, 26px);
    font-size: 13px;
    font-weight: 500;
  }
  body.hjmic-elementor-page .hjmic-site .hj-donate {
    padding: 12px 16px;
    font-size: 11px;
  }
  body.hjmic-elementor-page .hjmic-site .hj-dropdown a {
    padding: 11px 13px;
    font-size: 12px;
  }
}
@media (min-width: 761px) and (max-width: 1080px) {
  body.hjmic-elementor-page .hjmic-site .hj-nav {
    min-height: 84px;
    padding: 12px 20px;
    gap: 14px;
  }
  body.hjmic-elementor-page .hjmic-site .hj-brand {
    gap: 11px;
    font-size: 16px;
  }
  body.hjmic-elementor-page .hjmic-site .hj-logo {
    width: 54px;
    height: 54px;
  }
  body.hjmic-elementor-page .hjmic-site .hj-brand small { font-size: 9px; }
  body.hjmic-elementor-page .hjmic-site .hj-links {
    gap: 13px;
    font-size: 12px;
  }
  body.hjmic-elementor-page .hjmic-site .hj-donate {
    padding: 10px 12px;
    font-size: 10px;
  }
}
@media (max-width: 760px) {
  body.hjmic-elementor-page .hjmic-site .hj-wrap,
  body.hjmic-elementor-page .hjmic-site .hj-nav {
    width: calc(100% - 36px);
    max-width: 100%;
    padding-left: 0;
    padding-right: 0;
  }
  body.hjmic-elementor-page .hjmic-site .hj-section { padding-top: 38px; padding-bottom: 38px; }
  body.hjmic-elementor-page .hjmic-site .hj-home-welcome { padding-top: 34px; padding-bottom: 34px; }
  body.hjmic-elementor-page .hjmic-site .hj-home-heading .elementor-heading-title {
    font-size: clamp(36px, 10vw, 48px) !important;
    line-height: 1.08 !important;
  }
  body.hjmic-elementor-page .hjmic-site .hj-home-photo-grid > .e-con-inner,
  body.hjmic-elementor-page .hjmic-site .hj-home-photo-grid {
    grid-template-columns: minmax(0, 1fr);
  }
  body.hjmic-elementor-page .hjmic-site .hj-home-photo-grid > .e-con-inner > .hj-photo-card:first-child {
    grid-column: auto;
  }
  body.hjmic-elementor-page .hjmic-site .hj-actions > .e-con-inner { align-items: stretch; }
  body.hjmic-elementor-page .hjmic-site .hj-actions .elementor-widget-button { width: 100% !important; }
  body.hjmic-elementor-page .hjmic-site .hj-actions .elementor-button { width: 100%; }
}
/* Bespoke HJMIC masthead and four-column community footer. */
body.hjmic-elementor-page .hjmic-site .hj-header {
  position: sticky; top: -34px; z-index: 50;
  background: var(--ivory, #fbf9f2); box-shadow: 0 3px 14px #17251d12;
}
body.hjmic-elementor-page .hjmic-site .hj-top {
  min-height: 34px; align-items: center;
  padding: 0 max(28px, calc((100% - 1320px) / 2)); gap: 28px;
  font-size: 11px; letter-spacing: .12em;
}
body.hjmic-elementor-page .hjmic-site .hj-top a {
  color: #e5d3a5; font-weight: 700; letter-spacing: .07em;
}
body.hjmic-elementor-page .hjmic-site .hj-nav {
  width: min(1400px, calc(100% - 64px)); min-height: 104px;
  padding: 13px 0; gap: 22px; border-bottom: 1px solid var(--rule, #dcd5c5);
}
body.hjmic-elementor-page .hjmic-site .hj-brand {
  gap: 15px; font-size: 24px; line-height: 1.15; letter-spacing: -.025em;
}
body.hjmic-elementor-page .hjmic-site .hj-logo { width: 76px; height: 76px; }
body.hjmic-elementor-page .hjmic-site .hj-brand small {
  margin-top: 6px; font-size: 10px; letter-spacing: .16em;
}
body.hjmic-elementor-page .hjmic-site .hj-links {
  align-items: center; gap: clamp(14px, 1.3vw, 23px);
  font-size: 15px; font-weight: 600;
}
body.hjmic-elementor-page .hjmic-site .hj-links > a:not(.hj-donate),
body.hjmic-elementor-page .hjmic-site .hj-nav-dropdown-toggle {
  position: relative; padding-top: 12px; padding-bottom: 12px;
}
body.hjmic-elementor-page .hjmic-site .hj-links > a:not(.hj-donate):hover,
body.hjmic-elementor-page .hjmic-site .hj-links > a.is-active:not(.hj-donate),
body.hjmic-elementor-page .hjmic-site .hj-nav-group.is-current > .hj-nav-dropdown-toggle {
  color: var(--forest, #123d32);
}
body.hjmic-elementor-page .hjmic-site .hj-links > a:not(.hj-donate):after,
body.hjmic-elementor-page .hjmic-site .hj-nav-group.is-current > .hj-nav-dropdown-toggle:after {
  content: ""; position: absolute; left: 0; right: 0; bottom: 3px; height: 2px;
  background: var(--brass, #b99a61); transform: scaleX(0); transform-origin: left;
  transition: transform .18s ease;
}
body.hjmic-elementor-page .hjmic-site .hj-links > a:not(.hj-donate):hover:after,
body.hjmic-elementor-page .hjmic-site .hj-links > a.is-active:not(.hj-donate):after,
body.hjmic-elementor-page .hjmic-site .hj-nav-group.is-current > .hj-nav-dropdown-toggle:after {
  transform: scaleX(1);
}
body.hjmic-elementor-page .hjmic-site .hj-nav-group { position: relative; }
body.hjmic-elementor-page .hjmic-site .hj-nav-dropdown-toggle {
  display: flex; align-items: center; gap: 6px; padding-right: 0; padding-left: 0;
  border: 0; background: transparent; color: inherit; font: inherit; cursor: pointer;
}
body.hjmic-elementor-page .hjmic-site .hj-dropdown {
  top: calc(100% + 2px); z-index: 60; padding: 9px;
  opacity: 0; visibility: hidden; transform: translateY(6px);
  transition: opacity .16s ease, transform .16s ease, visibility .16s;
}
body.hjmic-elementor-page .hjmic-site .hj-nav-group.is-open > .hj-dropdown,
body.hjmic-elementor-page .hjmic-site .hj-nav-group:focus-within > .hj-dropdown {
  display: grid; opacity: 1; visibility: visible; transform: translateY(0);
}
body.hjmic-elementor-page .hjmic-site .hj-dropdown a { padding: 11px 13px; font-size: 13px; }
body.hjmic-elementor-page .hjmic-site .hj-donate {
  display: inline-flex; align-items: center; justify-content: center; min-height: 48px;
  padding: 12px 18px; background: #d8c384; color: #153b30;
  border: 1px solid #c4a46a; font-size: 12px; font-weight: 700; letter-spacing: .07em;
  transition: background .18s, color .18s;
}
body.hjmic-elementor-page .hjmic-site .hj-donate:hover,
body.hjmic-elementor-page .hjmic-site .hj-donate.is-active {
  background: #123d32; color: #f7f3e9; border-color: #123d32;
}
body.hjmic-elementor-page .hjmic-site .hj-mobile-toggle { display: none; }
body.hjmic-elementor-page .hjmic-site .hj-footer {
  border-top: 4px solid var(--brass, #b99a61);
  padding: 42px max(24px, calc((100% - 1320px) / 2)) 0; background: #0f3028;
}
body.hjmic-elementor-page .hjmic-site .hj-footer-main {
  max-width: 1320px; display: grid; align-items: start;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(20px, 2.5vw, 34px); padding-bottom: 28px;
}
body.hjmic-elementor-page .hjmic-site .hj-footer-about { max-width: none; }
body.hjmic-elementor-page .hjmic-site .hj-footer-brand {
  display: flex; align-items: flex-start; gap: 15px;
}
body.hjmic-elementor-page .hjmic-site .hj-footer-brand img {
  width: 62px; height: 62px; border: 1px solid #c4a46a; border-radius: 50%; background: #fff;
}
body.hjmic-elementor-page .hjmic-site .hj-footer-brand b {
  color: #f2eee3; font: 600 18px/1.35 "Manrope", Arial, sans-serif;
}
body.hjmic-elementor-page .hjmic-site .hj-footer-about > p {
  max-width: 320px; margin: 14px 0 0; color: #e1e7df !important; font-size: 14px; line-height: 1.7;
}
body.hjmic-elementor-page .hjmic-site .hj-footer-main h2 {
  margin: 0 0 14px; color: #f0dfad !important; font: 600 20px/1.3 "Manrope", Arial, sans-serif;
  letter-spacing: .015em;
}
body.hjmic-elementor-page .hjmic-site .hj-footer-column > a {
  display: block; width: fit-content; max-width: 100%; margin: 0 0 8px; color: #f0f2ed !important;
  font-size: 14px; line-height: 1.5; transition: color .16s, transform .16s;
}
body.hjmic-elementor-page .hjmic-site .hj-footer-column > a:hover {
  color: #e4cf9a !important; transform: translateX(2px);
}
body.hjmic-elementor-page .hjmic-site .hj-footer-contact-item {
  display: flex; align-items: flex-start; gap: 11px; margin: 0 0 12px;
  color: #f0f2ed !important; font-size: 14px; line-height: 1.6;
}
body.hjmic-elementor-page .hjmic-site .hj-footer-icon {
  flex: 0 0 19px; width: 19px; height: 19px; margin-top: 2px;
  fill: none; stroke: #d6bd7c; stroke-width: 1.7;
  stroke-linecap: round; stroke-linejoin: round;
}
body.hjmic-elementor-page .hjmic-site .hj-footer-directions {
  display: inline-flex; align-items: center; margin-top: 2px;
  padding: 11px 14px; border: 1px solid #b99a61; color: #f1e6c8;
  font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase;
}
body.hjmic-elementor-page .hjmic-site .hj-footer-directions:hover {
  background: #d8c384; color: #153b30;
}
body.hjmic-elementor-page .hjmic-site .hj-footer-bottom {
  max-width: 1320px; margin: 0 auto; border-top: 1px solid #ffffff35;
  padding: 14px 0 16px; color: #e0e6df !important;
  font-size: 13px; line-height: 1.5; letter-spacing: 0; text-align: left; text-transform: none;
}
@media (min-width: 761px) and (max-width: 1099px) {
  body.hjmic-elementor-page .hjmic-site .hj-top { padding-left: 32px; padding-right: 32px; }
  body.hjmic-elementor-page .hjmic-site .hj-nav { width: calc(100% - 64px); min-height: 92px; gap: 14px; }
  body.hjmic-elementor-page .hjmic-site .hj-brand { gap: 11px; font-size: 19px; }
  body.hjmic-elementor-page .hjmic-site .hj-logo { width: 64px; height: 64px; }
  body.hjmic-elementor-page .hjmic-site .hj-brand small { font-size: 9px; }
  body.hjmic-elementor-page .hjmic-site .hj-links { gap: 10px; font-size: 13px; }
  body.hjmic-elementor-page .hjmic-site .hj-donate { min-height: 44px; padding: 10px 12px; font-size: 10px; }
  body.hjmic-elementor-page .hjmic-site .hj-footer-main { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
}
@media (hover: hover) and (min-width: 761px) {
  body.hjmic-elementor-page .hjmic-site .hj-nav-group:hover > .hj-dropdown {
    display: grid; opacity: 1; visibility: visible; transform: translateY(0);
  }
}
@media (max-width: 790px) {
  body.hjmic-elementor-page .hjmic-site .hj-header { top: -30px; }
  body.hjmic-elementor-page .hjmic-site .hj-top {
    min-height: 30px; padding: 0 18px; gap: 12px; font-size: 9px; letter-spacing: .08em;
  }
  body.hjmic-elementor-page .hjmic-site .hj-top > span:nth-child(2) { display: none; }
  body.hjmic-elementor-page .hjmic-site .hj-nav {
    width: calc(100% - 36px); min-height: 78px; padding: 9px 0; flex-wrap: wrap; gap: 12px;
  }
  body.hjmic-elementor-page .hjmic-site .hj-brand { gap: 10px; font-size: 15px; }
  body.hjmic-elementor-page .hjmic-site .hj-logo { width: 54px; height: 54px; }
  body.hjmic-elementor-page .hjmic-site .hj-brand small { font-size: 8px; letter-spacing: .1em; }
  body.hjmic-elementor-page .hjmic-site .hj-mobile-toggle {
    display: inline-flex; align-items: center; gap: 9px; min-height: 44px; margin-left: auto;
    padding: 10px 12px; border: 1px solid #b99a61; background: transparent; color: #123d32;
    font: 700 11px "DM Sans", Arial, sans-serif; text-transform: uppercase; letter-spacing: .08em;
  }
  body.hjmic-elementor-page .hjmic-site .hj-links {
    display: none; order: 3; flex: 1 0 100%; flex-direction: column; align-items: stretch;
    gap: 0; padding: 7px 0 5px; border-top: 1px solid var(--rule, #dcd5c5); font-size: 15px;
  }
  body.hjmic-elementor-page .hjmic-site .hj-links.is-open { display: flex; }
  body.hjmic-elementor-page .hjmic-site .hj-links > a:not(.hj-donate),
  body.hjmic-elementor-page .hjmic-site .hj-nav-dropdown-toggle {
    display: flex; width: 100%; justify-content: space-between; padding: 12px 8px;
    border-bottom: 1px solid #ece6d8; text-align: left;
  }
  body.hjmic-elementor-page .hjmic-site .hj-donate { margin-top: 8px; }
  body.hjmic-elementor-page .hjmic-site .hj-dropdown {
    position: static; min-width: 0; margin: 0 0 6px 12px; padding: 0 0 0 10px;
    border: 0; border-left: 1px solid var(--brass, #b99a61); box-shadow: none;
    opacity: 1; visibility: visible; transform: none; transition: none;
  }
  body.hjmic-elementor-page .hjmic-site .hj-nav-group:not(.is-open) > .hj-dropdown { display: none; }
  body.hjmic-elementor-page .hjmic-site .hj-footer { padding: 36px 24px 0; }
  body.hjmic-elementor-page .hjmic-site .hj-footer-main {
    grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px 22px; padding-bottom: 24px;
  }
  body.hjmic-elementor-page .hjmic-site .hj-footer-about { max-width: none; }
  body.hjmic-elementor-page .hjmic-site .hj-footer-bottom {
    font-size: 13px;
  }
}
@media (max-width: 430px) {
  body.hjmic-elementor-page .hjmic-site .hj-footer-main { grid-template-columns: 1fr; gap: 22px; }
  body.hjmic-elementor-page .hjmic-site .hj-footer-brand img { width: 56px; height: 56px; }
  body.hjmic-elementor-page .hjmic-site .hj-footer-bottom { padding: 13px 0 15px; font-size: 13px; }
}

/* Shared HJMIC refinement mirrored from the preview's shared stylesheet. */
body.hjmic-elementor-page .hjmic-site {
  --hj-copy: #46554b;
  --hj-focus: #8b6b35;
  font-size: 16px;
  line-height: 1.65;
}
body.hjmic-elementor-page .hjmic-site :is(h1,h2,h3,h4) { text-wrap: balance; }
body.hjmic-elementor-page .hjmic-site :is(p,li) { line-height: 1.68; }
body.hjmic-elementor-page .hjmic-site :is(.hj-lead,.hj-page-intro,.hj-about-lead,.hj-r-intro,.hj-r-history-copy,.hj-r-community,.hj-r-legacy-copy,.hj-gallery-intro,.rf-intro,.rf-category-heading,.rf-last-note,.hj-contact-grid,.hj-contact-form-section,.hj-donation-page,.hj-timetable-info) p {
  color: var(--hj-copy);
  font-size: clamp(16px, 1.15vw, 18px);
  line-height: 1.7;
}
body.hjmic-elementor-page .hjmic-site .hj-r-community {
  width: 100%; padding: 38px clamp(22px, 7.2vw, 100px) !important;
}
body.hjmic-elementor-page .hjmic-site .hj-r-community .hj-r-community-inner {
  width: 100%; max-width: 900px; margin-inline: auto;
}
body.hjmic-elementor-page .hjmic-site .hj-r-community .hj-r-community-inner h2 {
  color: #fff !important; font-size: clamp(34px, 4vw, 48px) !important; margin-bottom: 13px;
}
body.hjmic-elementor-page .hjmic-site .hj-r-welcome h2 {
  color: #fff !important; text-shadow: none !important;
}
body.hjmic-elementor-page .hjmic-site .hj-r-community .hj-r-community-inner p {
  color: #f1f3ed !important; font-size: 16px !important; line-height: 1.68 !important; margin-bottom: 9px;
}
body.hjmic-elementor-page .hjmic-site .hj-r-welcome p {
  color: #f1f3ed !important;
}
body.hjmic-elementor-page .hjmic-site .hj-r-community .hj-r-community-inner .hj-kicker,
body.hjmic-elementor-page .hjmic-site .hj-r-welcome .hj-kicker {
  color: #e4c77f !important;
}
body.hjmic-elementor-page .hjmic-site :is(.rf-service,.rf-programme-content,.rf-janazah-copy,.rf-support-copy,.rf-programme-list,.rf-dawah,.rf-general-enquiry) p {
  font-size: 16px;
  line-height: 1.68;
}
body.hjmic-elementor-page .hjmic-site :is(.hj-button,.hj-contact-details > .hj-button,.hj-donation-panel > .hj-button) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 12px 20px !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  letter-spacing: .015em;
  text-transform: none;
  transition: color .2s ease, background-color .2s ease, border-color .2s ease;
}
body.hjmic-elementor-page .hjmic-site :is(.hj-text-link,.hj-service-section-body .hj-text-link) {
  min-height: 44px;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0;
  text-transform: none;
}
body.hjmic-elementor-page .hjmic-site :is(a,button,summary,input,textarea,select):focus-visible {
  outline: 3px solid var(--hj-focus);
  outline-offset: 3px;
}
body.hjmic-elementor-page .hjmic-site :is(input,textarea,select) { min-height: 46px; font-size: 16px; }
body.hjmic-elementor-page .hjmic-site .hj-table { color: #20352d; }
body.hjmic-elementor-page .hjmic-site .hj-table-row { min-height: 54px; font-size: 17px; }
body.hjmic-elementor-page .hjmic-site .hj-banner-frame { min-height: 120px; }
body.hjmic-elementor-page .hjmic-site .hj-banner-controls button { width: 48px; height: 48px; }
body.hjmic-elementor-page .hjmic-site .hj-banner-controls button { line-height: 0; }
body.hjmic-elementor-page .hjmic-site .hj-banner-controls button svg {
  display: block; width: 20px; height: 20px; flex: 0 0 20px; overflow: visible;
}
body.hjmic-elementor-page .hjmic-site .hj-banner-controls button svg path {
  fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round;
}
body.hjmic-elementor-page .hjmic-site .hj-banner-slide img { width: 100%; height: auto; object-fit: contain; }
body.hjmic-elementor-page .hjmic-site .hj-home-photo-grid figure { position: relative; overflow: hidden; }
body.hjmic-elementor-page .hjmic-site .hj-home-photo-grid figcaption {
  padding: 10px 12px;
  background: #fbf9f2;
  color: #263a30;
  font-size: 14px;
  line-height: 1.4;
}
body.hjmic-elementor-page .hjmic-site .hj-footer { line-height: 1.55; }
body.hjmic-elementor-page .hjmic-site .hj-footer p,
body.hjmic-elementor-page .hjmic-site .hj-footer a { font-size: 15px; }
body.hjmic-elementor-page .hjmic-site .hj-footer-main h2 { font-size: 19px; }
body.hjmic-elementor-page .hjmic-site .hj-enquiry-preview .hj-form-title p { margin: 12px 0 0; font-size: 16px; line-height: 1.65; }
body.hjmic-elementor-page .hjmic-site :target { scroll-margin-top: 108px; }
body.admin-bar.hjmic-elementor-page .hjmic-site .hj-header { top: 32px; }
@media (max-width: 782px) {
  body.admin-bar.hjmic-elementor-page .hjmic-site .hj-header { top: 46px; }
}
@media (max-width: 760px) {
  body.hjmic-elementor-page .hjmic-site :is(.hj-lead,.hj-page-intro,.hj-about-lead,.hj-r-intro,.hj-r-history-copy,.hj-r-community,.hj-r-legacy-copy,.hj-gallery-intro,.rf-intro,.rf-category-heading,.rf-last-note,.hj-contact-grid,.hj-contact-form-section,.hj-donation-page,.hj-timetable-info) p { font-size: 16px; }
  body.hjmic-elementor-page .hjmic-site .hj-r-community { padding: 27px 22px 28px !important; }
  body.hjmic-elementor-page .hjmic-site .hj-r-community .hj-r-community-inner p { font-size: 15px !important; }
  body.hjmic-elementor-page .hjmic-site .hj-table-row {
    grid-template-columns: minmax(76px, 1fr) .65fr 1fr;
    gap: 6px;
    font-size: 15px;
  }
  body.hjmic-elementor-page .hjmic-site .hj-banner-controls button { width: 44px; height: 44px; }
  body.hjmic-elementor-page .hjmic-site .hj-banner-slide img { max-height: none; }
  body.hjmic-elementor-page .hjmic-site .hj-button { min-height: 48px; }
}
@media (prefers-reduced-motion: reduce) {
  body.hjmic-elementor-page .hjmic-site *,
  body.hjmic-elementor-page .hjmic-site *::before,
  body.hjmic-elementor-page .hjmic-site *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}
/* Keep the generated Elementor package aligned with the narrow-screen export. */
body.hjmic-elementor-page .hjmic-site { min-width: 0; overflow-x: clip; }
body.hjmic-elementor-page .hjmic-site :is(main,section,article,aside,nav,header,footer,figure,form) { min-width: 0; }
@media (max-width: 760px) {
  body.hjmic-elementor-page .hjmic-site .hj-table { max-width: 100%; padding: 10px; overflow-x: auto; }
  body.hjmic-elementor-page .hjmic-site .hj-table-row {
    grid-template-columns: minmax(58px, 1fr) minmax(48px, .7fr) minmax(80px, 1.1fr);
    gap: 4px;
    padding: 10px 6px;
    font-size: 14px;
  }
  body.hjmic-elementor-page .hjmic-site .hj-banner-frame {
    min-height: 0;
    flex-direction: column;
  }
  body.hjmic-elementor-page .hjmic-site .hj-banner-slide { width: 100%; flex: 0 0 auto; }
  body.hjmic-elementor-page .hjmic-site .hj-banner-slide img { display: block; width: 100%; max-height: none; }
  body.hjmic-elementor-page .hjmic-site .hj-banner-controls {
    position: static;
    inset: auto;
    flex: 0 0 auto;
    justify-content: center;
    gap: 14px;
    padding: 12px 0 2px;
    pointer-events: auto;
  }
  body.hjmic-elementor-page .hjmic-site .hj-banner-controls button {
    width: 48px;
    height: 48px;
    flex: 0 0 48px;
    border-color: #b99a61;
    background: #fbf9f2;
  }
  body.hjmic-elementor-page .hjmic-site .hj-banner-dots {
    max-width: 100%;
    overflow-x: auto;
    justify-content: flex-start;
    gap: 4px;
    padding: 7px 2px 3px;
    overscroll-behavior-x: contain;
  }
  body.hjmic-elementor-page .hjmic-site .hj-banner-dots button { flex: 0 0 28px; }
}
@media (max-width: 760px) {
  body.hjmic-elementor-page .hjmic-site .hj-banner-controls {
    width: 100%; display: flex; align-items: center; justify-content: center;
    gap: 12px; padding: 12px 0 2px;
  }
  body.hjmic-elementor-page .hjmic-site .hj-banner-controls button {
    box-sizing: border-box; display: inline-flex; flex: 0 0 48px;
    align-items: center; justify-content: center; width: 48px; min-width: 48px;
    height: 48px; min-height: 48px; padding: 0; border-radius: 2px;
    font-size: 22px; line-height: 0;
  }
  body.hjmic-elementor-page .hjmic-site .hj-footer { padding: 34px 20px 0; }
  body.hjmic-elementor-page .hjmic-site .hj-footer-main {
    grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start;
    gap: 22px 16px; padding-bottom: 22px;
  }
  body.hjmic-elementor-page .hjmic-site .hj-footer-about,
  body.hjmic-elementor-page .hjmic-site .hj-footer-contact { grid-column: 1 / -1; }
  body.hjmic-elementor-page .hjmic-site .hj-footer-about { padding-bottom: 2px; }
  body.hjmic-elementor-page .hjmic-site .hj-footer-brand { gap: 12px; }
  body.hjmic-elementor-page .hjmic-site .hj-footer-brand img {
    flex: 0 0 54px; width: 54px; height: 54px;
  }
  body.hjmic-elementor-page .hjmic-site .hj-footer-brand b { font-size: 17px; line-height: 1.35; }
  body.hjmic-elementor-page .hjmic-site .hj-footer-about > p { max-width: 38rem; margin-top: 12px; }
  body.hjmic-elementor-page .hjmic-site .hj-footer-main h2 {
    margin-bottom: 10px; font-size: 17px; line-height: 1.35;
  }
  body.hjmic-elementor-page .hjmic-site .hj-footer-column > a {
    width: auto; min-height: 36px; margin-bottom: 4px;
    font-size: 14px !important; line-height: 1.45;
  }
  body.hjmic-elementor-page .hjmic-site .hj-footer-contact {
    border-top: 1px solid #ffffff35; padding-top: 20px;
  }
  body.hjmic-elementor-page .hjmic-site .hj-footer-contact-item { gap: 10px; }
  body.hjmic-elementor-page .hjmic-site .hj-footer-bottom {
    padding: 14px 0 16px; font-size: 12px; line-height: 1.6; text-align: center;
  }
}
@media (max-width: 390px) {
  body.hjmic-elementor-page .hjmic-site .hj-footer-main {
    grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 12px;
  }
  body.hjmic-elementor-page .hjmic-site .hj-footer-brand b { font-size: 16px; }
  body.hjmic-elementor-page .hjmic-site .hj-footer-main h2 { font-size: 16px; }
  body.hjmic-elementor-page .hjmic-site .hj-footer-column > a { font-size: 13px !important; }
}
