:root {
  --ink:#0c2d62;
  --ink-2:#173f76;
  --muted:#667b96;
  --blue:#1b82f5;
  --blue-2:#0c66d2;
  --blue-soft:#e9f4ff;
  --line:#d7e4f0;
  --line-2:#c9dbea;
  --card:rgba(255,255,255,.965);
  --card-soft:rgba(249,252,255,.96);
  --holiday:#c9242f;
  --holiday-bg:#fff0f1;
  --shabbat:#0f67d0;
  --shabbat-bg:#edf6ff;
  --shadow:0 22px 64px rgba(27,63,99,.18);
  --shadow-soft:0 9px 26px rgba(27,63,99,.10);
  --radius-xl:26px;
  --radius-lg:18px;
  --radius-md:13px;
  --font-he:Arial,"Segoe UI","Noto Sans Hebrew",sans-serif;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;background:#c6b08e}
body{margin:0;min-width:320px;min-height:100vh;color:var(--ink);font-family:var(--font-he);background:#c6b08e;position:relative;isolation:isolate}
body::before{content:"";position:fixed;inset:-3px;z-index:-2;pointer-events:none;background-image:url('background.php?v=2.2.0');background-position:center top;background-size:cover;background-repeat:no-repeat;filter:saturate(1.08) contrast(1.04) brightness(1.03);transform:translateZ(0) scale(1.002);transform-origin:center top}
body::after{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,rgba(8,29,54,.025) 0%,rgba(255,255,255,0) 44%,rgba(8,28,52,.045) 100%)}
button,input,select{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
button{color:inherit}
svg{display:block}
a{color:inherit}
.page-shell{width:100%;min-height:100vh}

.hero{position:relative;min-height:315px;padding-top:14px}
.topbar{direction:ltr;position:relative;z-index:20;width:min(1220px,calc(100% - 32px));height:64px;margin:0 auto;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:22px;padding:0 28px;border:1px solid rgba(181,215,242,.72);border-radius:20px;background:rgba(239,249,255,.88);box-shadow:0 12px 34px rgba(30,78,119,.10);backdrop-filter:blur(16px) saturate(1.12)}
.brand-mini{justify-self:start;display:inline-flex;align-items:center;gap:11px;text-decoration:none;color:#0c4ca9;font-size:15px;font-weight:900;white-space:nowrap}
.brand-icon{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;background:#fff;border:1px solid rgba(31,122,224,.2);box-shadow:0 3px 10px rgba(29,91,151,.08)}
.brand-icon img{width:25px;height:25px}
.desktop-nav{direction:rtl;display:flex;align-items:center;gap:34px}
.desktop-nav a,.desktop-nav button{border:0;background:transparent;text-decoration:none;color:#183f75;font-weight:900;padding:10px 2px;cursor:pointer;white-space:nowrap;transition:.18s ease}
.desktop-nav a:hover,.desktop-nav button:hover{color:var(--blue);transform:translateY(-1px)}
.top-actions{justify-self:end;display:flex;align-items:center;gap:8px}
.icon-button{width:42px;height:42px;border:0;border-radius:13px;background:rgba(255,255,255,.56);display:grid;place-items:center;cursor:pointer;transition:.18s ease}
.icon-button:hover{background:#fff;box-shadow:0 6px 18px rgba(26,80,130,.1)}
.icon-button svg{width:22px;height:22px;fill:none;stroke:#153d70;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.mobile-only{display:none}
.mobile-menu{position:absolute;z-index:19;top:83px;left:16px;right:16px;padding:10px;border:1px solid #d8e7f2;border-radius:16px;background:rgba(248,252,255,.98);box-shadow:var(--shadow-soft);backdrop-filter:blur(16px)}
.mobile-menu a,.mobile-menu button{display:block;width:100%;padding:12px 13px;border:0;border-radius:10px;background:transparent;text-align:right;text-decoration:none;color:#183f75;font-weight:900;cursor:pointer}
.mobile-menu a:hover,.mobile-menu button:hover{background:#eef7ff}

.hero-content{position:relative;z-index:4;width:min(1220px,calc(100% - 32px));margin:0 auto;min-height:236px;display:grid;grid-template-columns:minmax(210px,.8fr) minmax(540px,1.7fr) minmax(210px,.8fr);align-items:center;gap:22px;padding:28px 18px 48px}
.hero-title{grid-column:2;text-align:center;text-shadow:0 2px 0 rgba(255,255,255,.82),0 4px 18px rgba(6,24,52,.18)}
.hero-title h1{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(48px,5vw,72px);line-height:.98;letter-spacing:-.035em;color:#071f48;font-weight:700}
.hero-title p{margin:10px 0 4px;font-size:clamp(24px,2.4vw,34px);line-height:1.1;font-weight:900;color:#112f5e}
.hero-title span{font-size:clamp(14px,1.35vw,18px);font-weight:800;color:#25496f}
.hero-quote{grid-column:1;grid-row:1;margin:0;align-self:center;text-align:center;color:#112f5e;text-shadow:0 1px 0 rgba(255,255,255,.8)}
.hero-quote strong,.hero-quote span,.hero-quote small{display:block}
.hero-quote strong{font-size:25px;margin-bottom:5px}
.hero-quote span{font-size:20px;line-height:1.45;font-weight:900}
.hero-quote small{font-size:14px;margin-top:5px;font-weight:800}

.calendar-panel{direction:ltr;position:relative;z-index:8;width:min(1220px,calc(100% - 32px));margin:-8px auto 20px;display:grid;grid-template-columns:minmax(0,1fr) 292px;gap:18px;padding:18px;border:1px solid rgba(206,224,239,.94);border-radius:var(--radius-xl);background:rgba(255,255,255,.955);box-shadow:var(--shadow);backdrop-filter:blur(7px) saturate(1.04)}
.calendar-main{direction:rtl;min-width:0}
.side-panel{direction:rtl;min-width:0;display:flex;flex-direction:column;gap:10px}
.calendar-toolbar{min-height:66px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;padding:0 4px 14px}
.view-switch{justify-self:start;direction:ltr;display:flex;padding:4px;border:1px solid var(--line);border-radius:12px;background:#f8fbff}
.view-switch button{border:0;min-width:75px;padding:9px 15px;border-radius:9px;background:transparent;color:#34577f;font-weight:900;cursor:pointer;transition:.18s ease}
.view-switch button.active{color:#fff;background:linear-gradient(180deg,#459cf8,#1d79e5);box-shadow:0 7px 15px rgba(27,121,226,.22)}
.month-navigation{display:flex;align-items:center;justify-content:center;gap:17px}
.month-heading{min-width:310px;text-align:center}
.month-heading h2{margin:0;color:#153f7d;font-size:clamp(29px,3vw,40px);line-height:1.05}
.month-heading p{min-height:19px;margin:6px 0 0;color:#71839b;font-size:14px;font-weight:800}
.nav-arrow{width:44px;height:44px;border:0;border-radius:12px;background:transparent;display:grid;place-items:center;cursor:pointer}
.nav-arrow:hover{background:#eff7ff}
.nav-arrow svg{width:29px;height:29px;fill:none;stroke:#173e79;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.today-button{justify-self:end;border:2px solid #78b8f6;border-radius:11px;background:#fff;color:#1066ca;padding:9px 20px;font-weight:900;cursor:pointer;box-shadow:0 5px 14px rgba(30,111,196,.08)}
.today-button:hover{background:#f2f8ff}

.calendar-wrap{overflow:hidden;border:1px solid var(--line-2);border-radius:15px;background:#fff}
.weekday-row,.days-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));direction:rtl}
.weekday-row{background:linear-gradient(180deg,#edf6ff,#e4f1fd);border-bottom:1px solid var(--line-2)}
.weekday-row div{min-height:43px;display:grid;place-items:center;border-left:1px solid #dce8f3;color:#173d74;font-weight:900}
.weekday-row div:last-child{border-left:0}
.days-grid{gap:1px;background:#dbe7f1}
.day-cell{position:relative;min-height:112px;border:0;background:#fff;padding:12px 8px 8px;text-align:center;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:6px;overflow:hidden;transition:.14s ease}
.day-cell:hover{z-index:2;background:#f8fbff;box-shadow:inset 0 0 0 2px rgba(45,137,236,.12)}
.day-cell.blank{cursor:default;background:#fbfdff}
.day-cell.blank:hover{box-shadow:none}
.day-cell.shabbat{background:var(--shabbat-bg)}
.day-cell.holiday{background:var(--holiday-bg)}
.day-cell.selected{z-index:3;background:linear-gradient(180deg,#e9f5ff,#dcecff);box-shadow:inset 0 0 0 2px #3b99f4,inset 0 0 0 5px rgba(255,255,255,.72)}
.day-cell.today:not(.selected)::after{content:"";position:absolute;top:7px;left:7px;width:8px;height:8px;border-radius:50%;background:#1689ff;box-shadow:0 0 0 4px rgba(22,137,255,.12)}
.day-number{font-size:24px;line-height:1;font-weight:900;color:#143a6d}
.day-hebrew{font-size:13px;color:#627792;font-weight:800;white-space:nowrap}
.day-event{width:100%;margin-top:auto;min-height:27px;display:flex;align-items:flex-end;justify-content:center;color:#176bc7;font-size:12px;line-height:1.25;font-weight:900}
.day-cell.holiday .day-number,.day-cell.holiday .day-event{color:var(--holiday)}
.day-cell.shabbat:not(.holiday) .day-event{color:var(--shabbat)}
.week-mode .day-cell{min-height:260px;padding-top:22px}
.week-mode .day-number{font-size:34px}
.week-mode .day-hebrew{font-size:15px}
.week-mode .day-event{margin-top:18px;align-items:flex-start}

.month-highlights{margin-top:18px;padding:14px 16px 15px;border:1px solid #dce8f2;border-radius:15px;background:rgba(250,253,255,.96)}
.month-highlights h3{margin:0 0 12px;text-align:center;color:#173c72;font-size:19px}
.highlight-cards{direction:rtl;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.highlight-card{min-height:72px;border:1px solid #dae6f0;border-radius:12px;background:#fff;padding:10px;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:10px;text-align:right;cursor:pointer;color:#183e70;box-shadow:0 4px 12px rgba(35,80,119,.04);transition:.15s ease}
.highlight-card:hover{transform:translateY(-1px);border-color:#b9d8f3;box-shadow:0 8px 18px rgba(35,80,119,.09)}
.highlight-card .highlight-icon{font-size:30px;line-height:1}
.highlight-card strong{display:block;font-size:15px;color:#173c72}
.highlight-card small{display:block;margin-top:3px;color:#70839b;font-weight:800}
.highlight-card.more-card{grid-template-columns:1fr;text-align:center;color:#1170da;font-weight:900;background:#f5faff}

.today-card,.info-card,.next-event-card{border:1px solid #d9e6f0;border-radius:15px;background:rgba(249,252,255,.96);box-shadow:0 5px 14px rgba(45,82,117,.04)}
.today-card{padding:16px 14px;text-align:center;background:linear-gradient(180deg,#fff,#f7fbff)}
.eyebrow{display:block;margin-bottom:4px;color:#47637f;font-size:13px;font-weight:900}
.today-card h3{margin:0;color:#15386d;font-size:22px;line-height:1.34}
.today-card p{margin:6px 0 0;color:#637893;font-weight:900}
.info-card{padding:12px 13px}
.card-title-row{display:flex;align-items:center;justify-content:space-between;gap:10px}
.info-card h4{margin:0 0 9px;color:#173c70;font-size:15px}
.soft-icon{width:23px;height:23px;fill:none;stroke:#88a9c7;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.book-icon{stroke:#1a79e5}
.location-card select{width:100%;border:1px solid #cfe0ed;border-radius:9px;background:#fff;color:#234b78;padding:9px 10px;font-weight:900;outline:none}
.times-list{display:grid;gap:7px}
.times-list>div{display:grid;grid-template-columns:23px 1fr auto;align-items:center;gap:6px;color:#536e8b;font-size:13px}
.times-list strong{color:#153859;font-size:13px}
.sun-icon{color:#f3a009;font-size:17px;text-align:center}
.all-zmanim-button{width:100%;margin-top:10px;border:1px solid #bcd8f2;border-radius:10px;background:#f8fbff;color:#1467c5;display:flex;align-items:center;justify-content:center;gap:8px;padding:9px 10px;font-weight:900;cursor:pointer}
.all-zmanim-button:hover{background:#edf7ff}
.all-zmanim-button svg{width:20px;height:20px;fill:none;stroke:#1d7de6;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.shabbat-times-card{background:linear-gradient(145deg,rgba(255,253,246,.98),rgba(245,250,255,.98));border-color:#d8e4ec}
.shabbat-times-card h4 span{color:#547391;font-size:12px}
.shabbat-icon{stroke:#277acb}
.shabbat-date{margin:0 0 9px;color:#5b7188;font-size:11px;font-weight:900;line-height:1.45}
.shabbat-times-list{display:grid;gap:6px}
.shabbat-time-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px;padding:7px 9px;border:1px solid #e0e9f0;border-radius:9px;background:rgba(255,255,255,.82);color:#496783;font-size:13px;font-weight:900}
.shabbat-time-row strong{color:#133a63;font-size:14px}
.shabbat-time-row.candle-row{border-color:#f0d8a9;background:#fffaf0}
.shabbat-time-row.candle-row span{color:#986211}
.shabbat-time-row.havdalah-row{border-color:#cfe1f1;background:#f6fbff}
.shabbat-time-row.havdalah-row span{color:#1565ad}
.shabbat-time-row.rt-row{border-color:#dfd6ee;background:#fbf8ff}
.shabbat-time-row.rt-row span{color:#6c4d92}
.shabbat-method-note{display:block;margin-top:8px;color:#8493a2;font-size:9px;font-weight:800;line-height:1.45}
.parsha-card>strong,.omer-card>strong{display:block;color:#183e72;font-size:18px;margin-top:2px}
.parsha-card>small{display:block;margin-top:4px;color:#70839a;font-weight:800;line-height:1.35}
.next-event-card{position:relative;overflow:hidden;min-height:108px;padding:14px 14px 14px 77px;background:linear-gradient(135deg,#fffefa,#fff4df)}
.event-art{position:absolute;left:12px;bottom:21px;font-size:47px;filter:drop-shadow(0 5px 4px rgba(105,44,22,.14))}
.next-event-card>span{color:#43647f;font-size:13px;font-weight:900}
.next-event-card h4{margin:3px 0;color:#14386e;font-size:20px}
.next-event-card p{margin:0;color:#bd3f48;font-weight:900}
.next-event-card button{border:0;background:transparent;color:#116ad1;font-weight:900;padding:7px 0 0;cursor:pointer;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}

.site-footer{display:flex;align-items:center;justify-content:center;gap:15px;flex-wrap:wrap;padding:10px 20px 26px;color:#183c65;font-size:12px;font-weight:800;text-shadow:0 1px 0 rgba(255,255,255,.65)}
.site-footer a{color:#075dd1;text-decoration:underline;text-underline-offset:3px}
.footer-sep{opacity:.6}

.modal[hidden]{display:none}
.modal{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:20px}
.modal-backdrop{position:absolute;inset:0;background:rgba(5,25,50,.54);backdrop-filter:blur(5px)}
.modal-dialog{position:relative;z-index:2;width:min(900px,100%);max-height:min(88vh,900px);overflow:auto;border:1px solid #d6e4ef;border-radius:24px;background:#fff;padding:30px;box-shadow:0 34px 90px rgba(0,0,0,.27)}
.modal-small{width:min(580px,100%)}
.modal-dialog h2{margin:0 0 7px;color:#153b70;font-size:29px}
.modal-lead{margin:0 0 21px;color:#70849c;line-height:1.55}
.modal-close{position:absolute;top:14px;left:15px;width:39px;height:39px;border:0;border-radius:50%;background:#edf4fa;color:#244666;font-size:29px;line-height:1;cursor:pointer}
.modal-heading-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-left:45px}
.local-engine-badge{display:inline-flex;align-items:center;border:1px solid #bee0cd;border-radius:999px;background:#eefbf3;color:#267048;padding:7px 11px;font-size:12px;font-weight:900;white-space:nowrap}
.zmanim-dialog{width:min(980px,100%)}
.zmanim-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.zmanim-group{border:1px solid #dbe7f1;border-radius:16px;background:#f9fcff;padding:15px}
.zmanim-group h3{margin:0 0 10px;color:#174274;font-size:17px}
.zmanim-table{display:grid;gap:0;border:1px solid #dfe9f2;border-radius:11px;overflow:hidden;background:#fff}
.zman-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px;padding:9px 11px;border-bottom:1px solid #e7eef5}
.zman-row:last-child{border-bottom:0}
.zman-row span{color:#526d89;font-size:13px;font-weight:800}
.zman-row strong{color:#12375f;font-size:14px}
.zman-row small{display:block;color:#8a99aa;font-size:10px;font-weight:700;margin-top:2px}
.zmanim-source-note{margin-top:16px;padding:15px 16px;border:1px solid #e1e8ee;border-radius:14px;background:#fffdf7;color:#52677e;line-height:1.55}
.zmanim-source-note>strong{color:#143b69}
.zmanim-source-note p{margin:6px 0 10px}
.source-links{display:flex;gap:10px;flex-wrap:wrap}
.source-links a{color:#0b68d0;font-weight:900}
.events-modal-list{display:grid;gap:9px}
.events-modal-item{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:11px;width:100%;border:1px solid #dce8f1;border-radius:12px;background:#f9fcff;padding:11px;text-align:right;cursor:pointer}
.events-modal-item:hover{background:#eef7ff}
.events-modal-item .event-date-badge{min-width:58px;border-radius:10px;background:#e9f4ff;color:#0e61c1;padding:8px;text-align:center;font-weight:900}
.events-modal-item strong{display:block;color:#173d71}
.events-modal-item small{display:block;margin-top:3px;color:#76899e;font-weight:800}
.converter-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.converter-box{padding:18px;border:1px solid #dbe7f1;border-radius:16px;background:#f9fcff}
.converter-box h3{margin:0 0 14px;color:#204773}
.converter-box label,.jump-form label{display:grid;gap:7px;color:#516c88;font-weight:800;font-size:14px}
.converter-box input,.converter-box select,.jump-form input{width:100%;min-height:42px;border:1px solid #cfddeb;border-radius:10px;background:#fff;color:#183b64;padding:8px 10px;outline:none}
.three-fields{display:grid;grid-template-columns:.7fr 1.4fr 1fr;gap:8px}
.primary-button{margin-top:13px;border:0;border-radius:11px;background:linear-gradient(180deg,#238efb,#0e69d7);color:#fff;padding:10px 18px;font-weight:900;cursor:pointer;box-shadow:0 7px 16px rgba(21,113,212,.20)}
.converter-box output{display:block;margin-top:14px;min-height:48px;padding:12px;border:1px solid #dbe7f1;border-radius:10px;background:#fff;color:#173c69;font-size:16px;font-weight:900}
.jump-form{display:grid;gap:4px}

@media(max-width:1120px){
  .hero-content{grid-template-columns:minmax(180px,.7fr) minmax(500px,1.6fr) minmax(160px,.65fr)}
  .calendar-panel{grid-template-columns:minmax(0,1fr) 276px}
  .day-cell{min-height:104px}
  .month-heading{min-width:250px}
  .highlight-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:900px){
  body::before{background-position:62% top}
  .hero{min-height:340px;padding-top:8px}
  .topbar{width:calc(100% - 16px);height:60px;grid-template-columns:1fr auto;padding:0 15px;border-radius:16px}
  .desktop-nav{display:none}
  .mobile-only{display:grid}
  .top-actions{grid-column:2}
  .hero-content{width:100%;min-height:270px;display:block;padding:42px 14px 70px}
  .hero-title{width:min(500px,calc(100% - 18px));margin:0 auto;padding:15px 14px;border:1px solid rgba(255,255,255,.58);border-radius:20px;background:rgba(255,255,255,.68);backdrop-filter:blur(5px);box-shadow:0 12px 28px rgba(31,69,103,.10)}
  .hero-title h1{font-size:clamp(36px,9vw,56px)}
  .hero-title p{font-size:clamp(22px,6vw,30px)}
  .hero-title span{font-size:13px}
  .hero-quote{display:none}
  .calendar-panel{width:calc(100% - 16px);margin-top:-36px;grid-template-columns:1fr;padding:12px;gap:13px}
  .side-panel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .today-card,.next-event-card{grid-column:1/-1}
  .calendar-toolbar{grid-template-columns:auto 1fr auto}
  .month-navigation{gap:5px}
  .month-heading{min-width:0}
  .view-switch button{min-width:58px;padding:8px 9px}
  .today-button{padding:8px 13px}
  .day-cell{min-height:94px;padding-inline:4px}
  .month-highlights{margin-top:13px}
  .zmanim-groups{grid-template-columns:1fr}
}

@media(max-width:650px){
  body::before{background-image:url('background.php?mobile=1&v=2.2.0');background-position:66% top;background-size:cover}
  .brand-mini{font-size:13px;gap:8px}
  .brand-icon{width:31px;height:31px}
  .brand-icon img{width:23px;height:23px}
  .topbar{padding-inline:10px}
  .icon-button{width:38px;height:38px}
  .hero{min-height:315px}
  .hero-content{padding-top:38px;padding-bottom:76px}
  .hero-title{background:rgba(255,255,255,.74)}
  .calendar-panel{margin-top:-35px;border-radius:18px;padding:9px}
  .calendar-toolbar{min-height:112px;grid-template-columns:1fr auto;grid-template-areas:"month month" "views today";gap:8px;padding-bottom:10px}
  .month-navigation{grid-area:month;width:100%;justify-content:space-between}
  .month-heading{flex:1}
  .month-heading h2{font-size:27px}
  .month-heading p{font-size:12px}
  .view-switch{grid-area:views;justify-self:start}
  .today-button{grid-area:today;justify-self:end}
  .calendar-wrap{border-radius:12px;overflow-x:auto}
  .weekday-row,.days-grid{min-width:650px}
  .weekday-row div{min-height:39px;font-size:13px}
  .day-cell{min-height:88px}
  .day-number{font-size:21px}
  .day-hebrew{font-size:11px}
  .day-event{font-size:10px;min-height:22px}
  .highlight-cards{grid-template-columns:1fr 1fr}
  .highlight-card{min-height:68px;padding:8px}
  .highlight-card .highlight-icon{font-size:25px}
  .side-panel{display:flex}
  .info-card,.today-card,.next-event-card{border-radius:13px}
  .times-list>div{font-size:14px}
  .times-list strong{font-size:14px}
  .site-footer{gap:8px;padding-bottom:18px;text-align:center}
  .footer-sep{display:none}
  .site-footer>*{width:100%;text-align:center}
  .modal{padding:10px}
  .modal-dialog{padding:22px 16px;border-radius:18px;max-height:92vh}
  .modal-heading-row{display:block;padding-left:38px}
  .local-engine-badge{margin-top:3px}
  .converter-grid{grid-template-columns:1fr}
  .three-fields{grid-template-columns:1fr}
}

@media(max-width:420px){
  .brand-mini span[dir="ltr"]{font-size:12px}
  .hero-title h1{font-size:34px}
  .hero-title p{font-size:23px}
  .highlight-cards{grid-template-columns:1fr}
}


/* =========================================================
   RACHAMIM CALENDAR - PROFESSIONAL FOOTER
   ========================================================= */

footer,
.site-footer,
.footer {
    position: relative;
    width: 100%;
    box-sizing: border-box;

    margin-top: 30px;
    padding: 20px 25px;

    background: linear-gradient(
        180deg,
        rgba(7, 25, 39, 0.82) 0%,
        rgba(3, 15, 26, 0.96) 100%
    );

    border-top: 1px solid rgba(255, 255, 255, 0.18);

    box-shadow:
        0 -10px 35px rgba(0, 0, 0, 0.22),
        inset 0 1px 0 rgba(255, 255, 255, 0.05);

    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);

    color: rgba(255, 255, 255, 0.95);

    font-size: 14px;
    font-weight: 500;
    line-height: 1.7;

    text-align: center;

    text-shadow:
        0 1px 3px rgba(0, 0, 0, 0.85);

    letter-spacing: 0.1px;

    z-index: 10;
}

footer a,
.site-footer a,
.footer a {
    color: #e1f1ff;
    text-decoration: none;
    font-weight: 600;

    transition:
        color 0.2s ease,
        text-shadow 0.2s ease,
        opacity 0.2s ease;
}

footer a:hover,
.site-footer a:hover,
.footer a:hover {
    color: #ffffff;

    text-shadow:
        0 0 10px rgba(81, 170, 255, 0.75);
}

footer a[href*="rachamim.net"],
.site-footer a[href*="rachamim.net"],
.footer a[href*="rachamim.net"] {
    color: #63b5ff;
    font-weight: 700;
}

footer a[href*="rachamim.net"]:hover,
.site-footer a[href*="rachamim.net"]:hover,
.footer a[href*="rachamim.net"]:hover {
    color: #a4d6ff;
}

@media (max-width: 640px) {

    footer,
    .site-footer,
    .footer {
        margin-top: 22px;
        padding: 17px 14px;

        font-size: 13px;
        line-height: 1.9;
    }
}


/* =========================================================
   FOOTER READABILITY - HIGH CONTRAST ON ANY BACKGROUND
   ========================================================= */

footer,
.site-footer,
.footer {
    width: fit-content !important;
    max-width: calc(100% - 30px) !important;

    margin: 22px auto 12px auto !important;
    padding: 9px 18px !important;

    background: rgba(3, 15, 24, 0.72) !important;

    border: 1px solid rgba(255, 255, 255, 0.18) !important;
    border-radius: 14px !important;

    box-shadow:
        0 5px 20px rgba(0, 0, 0, 0.45),
        inset 0 1px 0 rgba(255, 255, 255, 0.08) !important;

    backdrop-filter: blur(8px) saturate(120%) !important;
    -webkit-backdrop-filter: blur(8px) saturate(120%) !important;

    color: #ffffff !important;

    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 1.6 !important;

    text-align: center !important;

    text-shadow:
        0 1px 2px #000000,
        0 0 5px rgba(0, 0, 0, 0.95) !important;
}

footer *,
.site-footer *,
.footer * {
    color: #ffffff !important;
    opacity: 1 !important;

    text-shadow:
        0 1px 2px #000000,
        0 0 5px rgba(0, 0, 0, 0.95) !important;
}

footer a,
.site-footer a,
.footer a {
    color: #78c4ff !important;

    font-weight: 700 !important;
    text-decoration: none !important;

    text-shadow:
        0 1px 2px #000000,
        0 0 7px rgba(0, 0, 0, 1) !important;
}

footer a:hover,
.site-footer a:hover,
.footer a:hover {
    color: #ffffff !important;
}

@media (max-width: 640px) {
    footer,
    .site-footer,
    .footer {
        max-width: calc(100% - 20px) !important;
        padding: 10px 14px !important;
        font-size: 12px !important;
    }
}

