@font-face{font-family:'Heebo';font-style:normal;font-weight:400;font-display:swap;src:url('/fonts/heebo-400.woff2') format('woff2')}
@font-face{font-family:'Heebo';font-style:normal;font-weight:700 900;font-display:swap;src:url('/fonts/heebo-700.woff2') format('woff2')}
@font-face{font-family:'Secular One';font-style:normal;font-weight:400;font-display:swap;src:url('/fonts/secular-one.woff2') format('woff2')}

:root{
  --b-blue:#0046d5;--b-blue-deep:#0038aa;--b-navy:#08265a;--b-coral:#ff624f;--b-coral-ink:#b93425;
  --b-turq:#00b7c8;--b-turq-ink:#007582;--b-amber:#ffb703;--b-amber-ink:#5a3800;
  --b-paper:#fff8ef;--b-card:#fffdf9;--b-ink:#102b50;--b-ink-soft:#3a4d68;--b-line:#08265a1f;
  --b-display:"Secular One",sans-serif;--b-body:"Heebo",sans-serif;
  --b-r:22px;--b-gap:clamp(12px,1.4vw,20px);--b-gutter:clamp(16px,3vw,40px);--b-max:1360px;
}
html{scroll-behavior:smooth}
body{margin:0;background:var(--b-paper)}
.bento{background:var(--b-paper);color:var(--b-ink);font-family:var(--b-body);line-height:1.55;-webkit-font-smoothing:antialiased}
.bento *{box-sizing:border-box}
.bento img{display:block;max-width:100%}
.bento a{color:inherit}
.bento :focus-visible{outline:3px solid var(--b-coral-ink);outline-offset:3px}
.bento .wrap{max-width:var(--b-max);margin:0 auto;padding-inline:var(--b-gutter)}
.bento .skip{position:absolute;inset-inline-start:12px;top:-60px;background:var(--b-navy);color:#fff;padding:10px 14px;border-radius:8px;z-index:30}
.bento .skip:focus{top:12px}

/* tiles */
.bento .tile{background:var(--b-card);border:1px solid var(--b-line);border-radius:var(--b-r);padding:clamp(18px,2vw,28px);position:relative}
.bento .tile-blue{background:var(--b-blue);color:#fff;border-color:transparent}
.bento .tile-navy{background:var(--b-navy);color:#fff;border-color:transparent}
.bento .tile-coral{background:#c73f2a;color:#fff;border-color:transparent}
.bento .tile-turq{background:#007b8a;color:#fff;border-color:transparent}
.bento .tile-amber{background:var(--b-amber);color:var(--b-navy);border-color:transparent}
.bento .tile-photo{padding:0;overflow:hidden;background:var(--b-navy)}
.bento .tile-photo img{width:100%;height:100%;object-fit:cover}
.bento .tile-photo figcaption{position:absolute;inset-inline-start:14px;bottom:14px;background:#08265aee;color:#fff;font-size:13px;font-weight:700;padding:6px 12px;border-radius:999px}
.bento .kicker{font-weight:700;font-size:14px;margin:0 0 8px;color:var(--b-coral-ink)}
.bento .tile-blue .kicker,.bento .tile-navy .kicker{color:#ffd9d3}
.bento .tile-amber .kicker{color:var(--b-amber-ink)}
.bento h2,.bento h3{font-family:var(--b-display);font-weight:400;margin:0}
.bento h2{font-size:clamp(26px,2.6vw,36px);line-height:1.15;color:var(--b-navy)}
.bento .tile-blue h2,.bento .tile-navy h2{color:#fff}
.bento h3{font-size:clamp(19px,1.6vw,22px);line-height:1.25;color:var(--b-navy)}
.bento p{margin:0}
.bento .soft{color:var(--b-ink-soft)}
.bento .tile-blue .soft,.bento .tile-navy .soft{color:#dbe4f5}
.bento .btn{display:inline-flex;align-items:center;gap:8px;background:var(--b-blue);color:#fff;text-decoration:none;font-weight:700;padding:12px 20px;border-radius:999px;border:2px solid transparent;white-space:nowrap}
.bento .btn:hover{background:var(--b-blue-deep)}
.bento .btn-light{background:#fff;color:var(--b-blue)}
.bento .btn-light:hover{background:#fff1de}
.bento .btn-ghost{background:transparent;color:var(--b-navy);border-color:var(--b-navy)}
.bento .btn-ghost:hover{background:var(--b-navy);color:#fff}
.bento .tile-navy .btn-ghost,.bento .tile-blue .btn-ghost{color:#fff;border-color:#fff}
.bento .more{color:var(--b-blue);font-weight:700;text-decoration:none;display:inline-flex;align-items:center;gap:6px}
.bento .more:hover{text-decoration:underline}
.bento .ui-icon{width:20px;height:20px;flex-shrink:0}

/* header */
.bento .hd{position:sticky;top:0;z-index:20;background:#fff8efeb;backdrop-filter:blur(10px);border-bottom:1px solid var(--b-line)}
.bento .hd .wrap{display:flex;align-items:center;gap:24px;min-height:74px}
.bento .brand img{width:164px;height:61px;object-fit:cover;object-position:center 47%}
.bento .nav{display:flex;gap:4px;margin-inline-start:auto;flex-wrap:wrap}
.bento .nav a{text-decoration:none;color:var(--b-navy);font-weight:700;padding:9px 13px;border-radius:999px}
.bento .nav a:hover,.bento .nav a[aria-current]{background:#0046d514;color:var(--b-blue)}
.bento .nav .nav-search{display:inline-flex;align-items:center;gap:6px;color:var(--b-blue)}
.bento .nav .nav-search .ui-icon{width:18px;height:18px}
.bento .menu{display:none;background:none;border:0;padding:8px;margin-inline-start:auto;cursor:pointer}
.bento .menu span{display:block;width:26px;height:3px;background:var(--b-blue);border-radius:3px;margin:5px 0}
.bento .mnav{display:none}

/* hero mosaic */
.bento .hero{padding-block:clamp(16px,2vw,28px)}
.bento .mosaic{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:minmax(150px,auto);gap:var(--b-gap)}
.bento .m-photo{grid-column:span 4;grid-row:span 2;min-height:420px}
.bento .m-title{grid-column:span 4;grid-row:span 2;display:flex;flex-direction:column;justify-content:center;gap:14px}
.bento .m-title h1{font-family:var(--b-display);font-weight:400;font-size:clamp(30px,3.2vw,46px);line-height:1.1;margin:0;color:#fff}
.bento .m-title .lede{font-size:17px;color:#dbe4f5;max-width:40ch}
.bento .m-time,.bento .m-weather,.bento .m-fx,.bento .m-shabbat{grid-column:span 2;padding:18px 18px 16px;display:flex;flex-direction:column;gap:4px;min-width:0}
.bento .stat{font-family:var(--b-display);font-size:clamp(30px,2.6vw,40px);line-height:1.05;margin:4px 0 2px;white-space:nowrap}
.bento .stat-sm{font-family:var(--b-display);font-size:clamp(22px,1.9vw,28px);line-height:1.05;margin:0;white-space:nowrap}
.bento .m-time .label,.bento .m-weather .label,.bento .m-fx .label,.bento .m-shabbat .label{display:flex;align-items:center;gap:8px;font-weight:700;font-size:14px;margin-bottom:2px}
.bento .tile-icon{width:22px;height:22px;flex-shrink:0;position:static}
.bento .m-time .sub,.bento .m-fx .sub,.bento .m-weather .sub{font-size:13px;line-height:1.35}
.bento .m-shabbat .pair{display:flex;flex-direction:column;gap:8px;margin-top:2px}
.bento .m-shabbat .pair>div{display:flex;align-items:baseline;justify-content:space-between;gap:8px}
.bento .m-shabbat .pair small{display:block;font-weight:700;font-size:13px;color:var(--b-amber-ink);line-height:1.3}
.bento .m-shabbat a{color:var(--b-navy);font-weight:700;font-size:13px;margin-top:auto}

/* quick chips under hero */
.bento .chips{display:flex;flex-wrap:wrap;gap:10px;padding-block:6px 0}
.bento .chips a{display:inline-flex;align-items:center;gap:9px;text-decoration:none;font-weight:700;color:var(--b-navy);background:var(--b-card);border:1px solid var(--b-line);padding:10px 16px;border-radius:999px}
.bento .chips a:hover{border-color:var(--b-navy);background:#fff}
.bento .chips .ui-icon{color:var(--b-coral)}

/* section grids */
.bento .sec{padding-block:clamp(22px,3vw,40px)}
.bento .sec-head{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:16px}
.bento .grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--b-gap)}
.bento .grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--b-gap)}
.bento .grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--b-gap)}
.bento .grid-5{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--b-gap)}

/* category cards */
.bento .cat{padding:0;overflow:hidden;display:flex;flex-direction:column;text-decoration:none}
.bento .cat .ph{aspect-ratio:4/3;overflow:visible;position:relative}
.bento .cat .ph img{width:100%;height:100%;object-fit:cover;border-radius:var(--b-r) var(--b-r) 0 0}
.bento .cat:hover h3{color:var(--b-blue)}
.bento .cat .ico{position:absolute;inset-inline-start:50%;bottom:-26px;transform:translateX(50%);width:56px;height:56px;border-radius:50%;display:grid;place-items:center;color:#fff;border:4px solid var(--b-card)}
.bento .cat .ico .ui-icon{width:24px;height:24px}
.bento .cat .body{padding:38px 20px 22px;text-align:center;display:flex;flex-direction:column;gap:8px;align-items:center;flex:1}
.bento .cat .body .btn{margin-top:auto}

/* areas + guides */
.bento .areas{grid-column:span 5;display:flex;flex-direction:column;gap:12px;justify-content:flex-start}
.bento .areas-photo{max-height:640px}
.bento .areas .list{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.bento .areas .list a{text-decoration:none;font-weight:700;color:var(--b-navy);background:#fff;border:1px solid var(--b-line);padding:8px 14px;border-radius:999px;font-size:15px}
.bento .areas .list a:hover{background:var(--b-navy);color:#fff}
.bento .areas-photo{grid-column:span 7;min-height:320px}
.bento .guide{padding:0;overflow:hidden;text-decoration:none;display:flex;flex-direction:column}
.bento .guide .ph{aspect-ratio:16/10;overflow:hidden;background:#eef5ff}
.bento .guide .ph img{width:100%;height:100%;object-fit:cover}
.bento .guide .body{padding:14px 16px 16px;display:flex;flex-direction:column;gap:6px}
.bento .guide h3{font-size:18px}
.bento .guide .meta{font-size:13px;color:var(--b-ink-soft);margin-top:auto}

/* trust strip */
.bento .trust{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--b-gap)}
.bento .trust .tile{display:flex;gap:14px;align-items:center}
.bento .trust .ui-icon{width:34px;height:34px;color:var(--b-blue)}

/* content tiles */
.bento .rows{display:flex;flex-direction:column}
.bento .rows article{padding:14px 0;border-top:1px solid var(--b-line)}
.bento .rows article:first-child{border-top:0;padding-top:0}
.bento .rows h3{margin-bottom:4px}
.bento .rows p{margin-bottom:6px}
.bento details{border-top:1px solid var(--b-line)}
.bento details:first-of-type{border-top:0}
.bento summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:12px;padding:14px 0;font-weight:700;color:var(--b-navy);font-size:17px}
.bento summary::-webkit-details-marker{display:none}
.bento summary .ui-icon{color:var(--b-coral)}
.bento summary .plus{margin-inline-start:auto;color:var(--b-blue);transition:transform .25s}
.bento details[open] summary .plus{transform:rotate(45deg)}
.bento summary small{display:block;font-size:14px;color:var(--b-ink-soft);font-weight:400}
.bento details p{padding-bottom:14px;color:var(--b-ink-soft)}
.bento .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--b-gap);margin-top:14px}
.bento .steps li{list-style:none;background:#fff;border:1px solid var(--b-line);border-radius:16px;padding:16px}
.bento .steps .n{font-family:var(--b-display);color:var(--b-coral-ink);font-size:28px;line-height:1}
.bento .steps h3{font-size:18px;margin:6px 0 4px}
.bento .wide{grid-column:span 2}
.bento .lead{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center}

/* footer */
.bento .ft{background:var(--b-navy);color:#dfe6f3;padding-block:44px 24px;margin-top:clamp(24px,3vw,48px)}
.bento .ft .wrap{display:grid;grid-template-columns:auto 1fr;gap:32px;align-items:start}
.bento .ft img{width:200px;height:75px;object-fit:cover;object-position:center 47%}
.bento .ft nav{display:flex;flex-wrap:wrap;gap:6px 20px;font-weight:700}
.bento .ft nav a{text-decoration:none;color:#fff}
.bento .ft nav a:hover{color:var(--b-amber)}
.bento .ft .adv{margin:0 0 12px}
.bento .ft .adv a{color:#fff}
.bento .ft .legal{grid-column:1/-1;font-size:13px;line-height:1.7;border-top:1px solid #ffffff22;padding-top:16px;color:#b9c6dd}
.bento .ft .legal a{color:#fff}

@media(max-width:1100px){
  .bento .m-photo,.bento .m-title{grid-column:span 6}
  .bento .m-time,.bento .m-weather,.bento .m-fx,.bento .m-shabbat{grid-column:span 3}
  .bento .grid-4{grid-template-columns:repeat(2,1fr)}
  .bento .grid-5{grid-template-columns:repeat(3,1fr)}
  .bento .areas,.bento .areas-photo{grid-column:span 12}
}
@media(max-width:820px){
  .bento .nav{display:none}
  .bento .menu{display:block}
  .bento .mnav[data-open]{display:flex;flex-direction:column;padding:6px var(--b-gutter) 14px;background:var(--b-paper);border-bottom:1px solid var(--b-line)}
  .bento .mnav a{padding:12px 0;font-weight:700;text-decoration:none;color:var(--b-navy);border-bottom:1px solid var(--b-line)}
  .bento .grid-3,.bento .grid-2,.bento .trust,.bento .steps{grid-template-columns:1fr}
  /* Mobile hero: its own composition. Title card first so the H1 sits above the fold, then the 2x2 live tiles, then a low photo. */
  .bento .brand img{width:150px;height:56px}
  .bento .mosaic{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-auto-rows:auto;grid-template-areas:"title title" "time shabbat" "fx weather" "photo photo";gap:10px}
  .bento .m-title{grid-area:title;padding:20px 20px 22px;gap:10px}
  .bento .m-title h1{font-size:28px;line-height:1.12}
  .bento .m-title .lede{font-size:15.5px}
  .bento .m-time{grid-area:time}.bento .m-shabbat{grid-area:shabbat}.bento .m-fx{grid-area:fx}.bento .m-weather{grid-area:weather}
  .bento .m-time,.bento .m-weather,.bento .m-fx,.bento .m-shabbat{padding:14px 14px 12px;min-height:150px}
  .bento .stat{font-size:26px;white-space:normal}
  .bento .stat-sm{font-size:21px;white-space:normal}
  .bento .m-time .label,.bento .m-weather .label,.bento .m-fx .label,.bento .m-shabbat .label{font-size:13px}
  .bento .m-photo{grid-area:photo;min-height:0;aspect-ratio:16/10;max-height:180px}
  .bento .m-photo img{object-position:center 35%}
  .bento .chips{flex-wrap:nowrap;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:4px;gap:8px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .bento .chips::-webkit-scrollbar{display:none}
  .bento .chips a{flex:0 0 auto;scroll-snap-align:start}
  .bento .sec-head{flex-direction:column;align-items:flex-start;gap:8px}
  .bento .grid-5{grid-template-columns:repeat(2,1fr)}
  .bento .wide{grid-column:auto}
  .bento .lead{grid-template-columns:1fr}
  .bento .ft .wrap{grid-template-columns:1fr}
}
@media(max-width:560px){
  .bento .grid-4,.bento .grid-5{grid-template-columns:1fr}
}
