:root{
  --ivory:#f5efe6;
  --paper:#fbf8f2;
  --stone:#cdbda9;
  --ink:#1d1916;
  --muted:#6f665f;
  --wine:#6f0713;
  --wine-deep:#4c050d;
  --gold:#b89a68;
  --line:rgba(29,25,22,.15);
  --serif: Georgia, 'Times New Roman', serif;
  --sans: Arial, Helvetica, sans-serif;
  --container:min(1180px, calc(100vw - 48px));
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px;background:var(--paper);overflow-x:hidden;overflow-x:clip}
body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--sans);font-size:16px;line-height:1.6;overflow-x:hidden;overflow-x:clip}
img{display:block;width:100%;height:100%;object-fit:cover}
a{color:inherit;text-decoration:none}
button{font:inherit}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.container{width:var(--container);margin-inline:auto}

.scroll-progress{position:fixed;inset:0 0 auto 0;height:3px;z-index:1000;pointer-events:none}
.scroll-progress span{display:block;height:100%;width:100%;background:var(--wine);transform-origin:left center;transform:scaleX(0)}

.site-header{position:fixed;top:0;left:0;width:100%;z-index:100;padding:16px 34px;display:flex;align-items:center;justify-content:space-between;transition:background .35s ease,box-shadow .35s ease,padding .35s ease;color:#fff}
.site-header img{height:50px;width:auto;}
.site-header svg{
  color: currentColor;
  height:50px;width:auto;
}
.site-header.is-scrolled{background:rgba(251,248,242,.92);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);color:var(--ink);box-shadow:0 1px 0 var(--line);padding-block:10px}
.brand{display:flex;gap:9px;align-items:center;font-family:var(--serif);font-size:18px;letter-spacing:.02em;white-space:nowrap}
.brand-mark{font-size:15px;opacity:.8}
.main-nav{display:flex;align-items:center;gap:26px;font-size:13px}
.main-nav a{position:relative;opacity:.88}
.main-nav a:not(.nav-cta)::after{content:"";position:absolute;left:0;right:100%;bottom:-5px;height:1px;background:currentColor;transition:right .25s ease}
.main-nav a:hover::after{right:0}
.nav-cta{padding:10px 24px;background:var(--wine);color:#fff;border-radius:2px}
.menu-toggle{display:none;border:0;background:none;color:currentColor;width:34px;height:28px;position:relative}
.menu-toggle span:not(.sr-only){position:absolute;left:4px;width:26px;height:1px;background:currentColor;transition:.25s ease}
.menu-toggle span:first-child{top:9px}.menu-toggle span:nth-child(2){top:17px}

.hero{min-height:70vh;position:relative;display:grid;place-items:center;overflow:hidden;color:#fff;background:#241713}
.hero-media{position:absolute;inset:-2.5%;will-change:transform}
.hero-media img,.hero-media video{width:100%;height:100%;object-fit:cover;object-position:right top;    transform: scale(0.9);display:block;filter:saturate(.95) contrast(1.02)}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,10,8,.72) 0%,rgba(20,10,8,.47) 35%,rgba(20,10,8,.08) 68%,rgba(20,10,8,.18) 100%)}
.hero-copy{position:relative;z-index:2;padding-top:92px}
.hero-copy>*{max-width:620px}
.eyebrow{text-transform:uppercase;letter-spacing:.21em;font-size:15px;font-weight:700;margin:0 0 20px;color:var(--wine)}
.eyebrow.light{color:#f0d9c4}
.display,.section-title,.ritual-copy h2,.closing-copy h2{font-family:var(--serif);font-weight:400;letter-spacing:-.035em}
.display{font-size:clamp(52px,7vw,96px);line-height:.96;margin:0 0 24px;max-width:850px}
.hero-lede{font-family:var(--serif);font-size:clamp(18px,1.6vw,23px);line-height:1.5;color:rgba(255,255,255,.84);margin-bottom:30px}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap}
.button{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:48px;padding:0 22px;border:1px solid transparent;font-size:13px;letter-spacing:.02em;transition:transform .25s ease,background .25s ease,color .25s ease,border-color .25s ease}
.button:hover{transform:translateY(-2px)}
.button-primary{background:var(--wine);color:#fff;box-shadow:0 10px 25px rgba(80,4,13,.18)}
.button-primary:hover{background:var(--wine-deep)}
.button-ghost{border-color:rgba(255,255,255,.65);color:#fff;background:rgba(255,255,255,.06);backdrop-filter:blur(5px)}
.button-light{background:#fff;color:var(--ink)}
.hero-notes{display:flex;gap:42px;margin-top:60px;padding-top:20px;border-top:1px solid rgba(255,255,255,.24);max-width:620px}
.hero-notes div{display:flex;align-items:flex-start;gap:10px}.hero-notes span{font-family:var(--serif);font-size:18px}.hero-notes p{margin:0;font-family:var(--serif);font-size:13px;line-height:1.35}
.scroll-cue{position:absolute;right:49%;bottom:26px;z-index:2;display:flex;flex-direction:column;gap:10px;align-items:center;font-size:11px;text-transform:uppercase;letter-spacing:.25em;opacity:.7}
.scroll-cue i{display:block;width:1px;height:54px;background:linear-gradient(to bottom,#fff,transparent);animation:cue 1.8s ease-in-out infinite}
@keyframes cue{0%,100%{transform:scaleY(.45);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}}

.split-section{display:grid;grid-template-columns:1fr 1fr;}

.panel-pad{padding:clamp(70px,9vw,130px);display:flex;flex-direction:column;justify-content:center;background:var(--paper)}
.section-title{font-size:clamp(44px,5vw,74px);line-height:1.02;margin:0 0 24px}.section-title.centered{text-align:center}
.rule{height:1px;width:54px;background:var(--wine);margin:0 0 26px}
.panel-pad p:not(.eyebrow){max-width:560px;color:#504841;font-family:var(--serif);font-size:18px}
.text-link{margin-top:22px;font-size:12px;text-transform:uppercase;letter-spacing:.16em;font-weight:700;display:inline-flex;gap:10px;align-items:center;width:max-content}.text-link span{transition:transform .2s}.text-link:hover span{transform:translate(4px,4px)}
.image-panel{position:relative;overflow:hidden;min-height:620px}.image-panel img{transform:scale(1.08);will-change:transform}.image-panel figcaption{position:absolute;right:8%;bottom:10%;max-width:225px;font-family:var(--serif);font-style:italic;font-size:21px;color:#fff;text-shadow:0 1px 10px rgba(0,0,0,.4)}

.section-pad{padding:110px 0}.section-heading{max-width:720px;margin:0 auto 54px;text-align:center}.section-heading .eyebrow{text-align:center}
.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.detail-card{text-align:center}.detail-image{aspect-ratio:1.28/1;overflow:hidden;margin-bottom:22px;background:#e8dfd4}.detail-image img{transition:transform .7s cubic-bezier(.2,.7,.2,1)}.detail-card:hover .detail-image img{transform:scale(1.045)}.detail-crop img{object-position:50% 46%;transform:scale(1.2)}.detail-base img{object-position:center 84%;transform:scale(1.45)}.detail-card h3{font-family:var(--serif);font-size:22px;margin:0 0 8px;font-weight:400}.detail-card p{margin:0 auto;max-width:330px;color:var(--muted);font-size:14px}

.ritual{min-height:88vh;position:relative;display:flex;align-items:center;overflow:hidden;color:#fff}.ritual-media{position:absolute;inset:-8%;will-change:transform}.ritual-media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(32,14,8,.84) 0%,rgba(32,14,8,.58) 35%,rgba(32,14,8,.08) 72%)}.ritual-copy{position:relative;z-index:2;width:var(--container);margin:auto}.ritual-copy>*{max-width:520px}.ritual-copy h2{font-size:clamp(54px,6vw,88px);line-height:.98;margin:0 0 25px}.ritual-copy p:not(.eyebrow){font-family:var(--serif);font-size:19px;color:rgba(255,255,255,.82);margin-bottom:28px}

.set-section img{object-fit: contain;}.set-copy .feature-list{list-style:none;padding:0;margin:25px 0 35px;display:grid;gap:11px;color:#4f4741}.feature-list li{display:flex;gap:12px;align-items:flex-start}.feature-list span{color:var(--wine)}

.gallery{background:#f1e9df}.gallery-track{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.gallery-card{margin:0}.gallery-card img{aspect-ratio:.86/1;filter:saturate(.9);transition:filter .5s,transform .6s}.gallery-card:hover img{filter:saturate(1.05);transform:scale(1.015)}.gallery-card figcaption{text-align:center;padding:16px 0;font-family:var(--serif);font-style:italic;color:#665850}

.quote-band{min-height:340px;padding:70px 24px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;position:relative;overflow:hidden;background:#f8f4ed}.quote-band blockquote{font-family:var(--serif);font-style:italic;font-size:clamp(36px,5vw,68px);margin:0 }


.closing{min-height:78vh;position:relative;display:flex;align-items:center;overflow:hidden}.closing-media{position:absolute;inset:-8%;will-change:transform}.closing-media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(250,246,239,.94) 0%,rgba(250,246,239,.72) 38%,rgba(250,246,239,.12) 70%)}.closing-copy{position:relative;z-index:2;width:var(--container);margin:auto}.closing-copy>*{max-width:500px}.closing-copy h2{font-size:clamp(52px,6vw,84px);line-height:.98;margin:0 0 20px}.closing-copy p:not(.eyebrow){font-family:var(--serif);font-size:19px;margin-bottom:27px}

.faq-wrap{display:grid;grid-template-columns:.7fr 1.3fr;gap:70px}.faq-list details{border-top:1px solid var(--line);padding:22px 0}.faq-list details:last-child{border-bottom:1px solid var(--line)}.faq-list summary{cursor:pointer;font-family:var(--serif);font-size:22px;list-style:none;display:flex;justify-content:space-between;gap:20px}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary::after{content:"+";font-family:var(--sans);font-size:20px;transition:transform .25s}.faq-list details[open] summary::after{transform:rotate(45deg)}.faq-list details p{color:var(--muted);max-width:760px;margin:15px 0 4px}

.site-footer{padding:60px 0 24px;background:#1b1715;color:#f5eee6}
.site-footer img{height:50px;width:auto;}.footer-main{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:40px;padding-bottom:40px}.footer-main p{color:#aea49b;font-family:var(--serif);font-style:italic}.footer-links,.footer-contact{display:flex;flex-direction:column;gap:8px;font-size:13px;color:#c8bfb6}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid rgba(255,255,255,.12);padding-top:22px;font-size:11px;color:#aea49b}.footer-bottom a{text-decoration:underline}

.reveal{opacity:0;transform:translateY(28px);transition:opacity .85s cubic-bezier(.2,.65,.2,1),transform .85s cubic-bezier(.2,.65,.2,1)}.reveal.is-visible{opacity:1;transform:none}.detail-card:nth-child(2),.gallery-card:nth-child(2){transition-delay:.09s}.detail-card:nth-child(3),.gallery-card:nth-child(3){transition-delay:.18s}.gallery-card:nth-child(4){transition-delay:.27s}

.alef-art{
  width: 100px;
  height: auto;
  display: block;
  margin: 0 auto;
}

@media (max-width:900px){
  /* backdrop-filter makes the header the containing block of the fixed nav, clipping the menu to header height once scrolled */
  .site-header.is-scrolled{backdrop-filter:none;-webkit-backdrop-filter:none;background:rgba(251,248,242,.97)}
  .site-header{padding:14px 20px}.brand{font-size:15px}.menu-toggle{display:block;z-index:3}.main-nav{position:fixed;inset:0;background:rgba(248,244,238,.98);color:var(--ink);display:flex;flex-direction:column;justify-content:center;gap:26px;font-family:var(--serif);font-size:34px;transform:translateY(-100%);visibility:hidden;transition:transform .45s cubic-bezier(.2,.7,.2,1),visibility 0s linear .45s}.main-nav.is-open{transform:none;visibility:visible;transition-delay:0s}.nav-cta{font-family:var(--sans);font-size:14px}.menu-toggle.is-open span:first-child{transform:rotate(45deg);top:13px}.menu-toggle.is-open span:nth-child(2){transform:rotate(-45deg);top:13px}
  .hero{min-height:70vh}
  .hero-overlay {
    background: linear-gradient(90deg, rgb(20 10 8 / 70%) 0%, rgb(20 10 8 / 69%) 35%, rgb(20 10 8 / 50%) 68%, rgba(20, 10, 8, .18) 100%);
}
  .hero-copy{padding-top:0px;padding-bottom:00px}.hero-notes{gap:18px;justify-content:space-between}.hero-notes div{display:block}.hero-notes span{display:block;margin-bottom:6px}.scroll-cue{display:none}
  .split-section{grid-template-columns:1fr;min-height:0}.panel-pad{padding:40px 24px}.image-panel{min-height:72vw}
  .story-copy{text-align: center;}.story-copy>*{margin-left:auto;margin-right:auto;}
  .detail-grid{grid-template-columns:1fr;max-width:650px}.section-pad{padding:40px 0}.ritual{min-height:80svh}.gallery-track{display:flex;overflow-x:auto;overflow-y: hidden;scroll-snap-type:x mandatory;padding-bottom:12px}.gallery-card{min-width:78vw;scroll-snap-align:center}.faq-wrap{grid-template-columns:1fr;gap:30px}.footer-main{grid-template-columns:1fr 1fr}.footer-contact{grid-column:1/-1}
  .details{
    padding:3rem 1rem 0rem 1rem;
  }
  
}

@media (max-width:580px){
  :root{--container:calc(100vw - 34px)}
  .display{font-size:52px}.hero-lede{font-size:17px}.hero-notes{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.hero-notes p{font-size:14px}.button{width:100%}.hero-actions{display:grid;grid-template-columns:1fr 1fr}.hero-actions .button{width:auto;padding:0 14px}.section-title{font-size:46px}.ritual-copy h2,.closing-copy h2{font-size:52px}.footer-main{grid-template-columns:1fr}.footer-contact{grid-column:auto}.footer-bottom{flex-direction:column;gap:4px}
}
@media (min-width:1200px){
  .hero{
    aspect-ratio:16/9;
  }
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}.scroll-cue i{animation:none}.reveal{opacity:1;transform:none;transition:none}.hero-media,.ritual-media,.closing-media,.image-panel img{transform:none!important}.detail-image img,.gallery-card img{transition:none}
}

.set-price{margin:0 0 30px}
.price-tag{display:inline-block;margin-bottom:10px;padding:3px 12px;border:1px solid var(--gold);color:var(--wine);font-size:13px;letter-spacing:.04em}
.price-row{display:flex;align-items:baseline;gap:16px;margin:0}
.price-now{font-family:var(--serif);font-size:44px;line-height:1;color:var(--wine)}
.price-was{font-family:var(--serif);font-size:22px;color:var(--muted)}

/* accessibility */
:focus-visible{outline:3px solid var(--wine);outline-offset:3px;box-shadow:0 0 0 3px #fff}
.skip-link{position:fixed;top:8px;inset-inline-start:8px;z-index:2000;padding:12px 20px;background:var(--wine);color:#fff;transform:translateY(-200%)}
.skip-link:focus{transform:none}
main:focus{outline:none;box-shadow:none}
.video-toggle{position:absolute;z-index:3;bottom:24px;inset-inline-end:24px;width:44px;height:44px;border:1px solid rgba(255,255,255,.75);border-radius:50%;background:rgba(20,10,8,.55);color:#fff;font-size:12px;cursor:pointer;display:grid;place-items:center}
.video-toggle:hover{background:rgba(20,10,8,.8)}
.hero.is-paused .scroll-cue i{animation:none}

.whatsapp-fab{position:fixed;left:20px;bottom:20px;z-index:90;width:56px;height:56px;border-radius:50%;background:#25d366;color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 18px rgba(0,0,0,.28);transition:transform .25s ease,box-shadow .25s ease}
.whatsapp-fab:hover{transform:scale(1.08);box-shadow:0 8px 22px rgba(0,0,0,.34)}
@media (max-width:580px){.whatsapp-fab{left:14px;bottom:14px;width:52px;height:52px}}

/* RTL overrides — load after styles.css, with <html dir="rtl" lang="he"> */
:root{
  --serif:'Frank Ruhl Libre',David,serif;          /* headlines */
  --sans:'Noto Sans Hebrew',Heebo,Arial,Helvetica,sans-serif;   /* text */
}
body{line-height:1.7}

/* Frank Ruhl Libre for headlines only; running text uses Noto Sans Hebrew */
.hero-lede,.panel-pad p:not(.eyebrow),.ritual-copy p:not(.eyebrow),.closing-copy p:not(.eyebrow),
.hero-notes span,.hero-notes p,.footer-main p,.gallery-card figcaption,.image-panel figcaption{font-family:var(--sans)}
.footer-main p,.gallery-card figcaption,.image-panel figcaption,.quote-band blockquote{font-style:normal;font-weight: 500;}
.hero-lede{font-weight:300}

/* Hebrew has no case and looks broken with wide tracking */
.eyebrow,.scroll-cue,.text-link,.quote-band p{letter-spacing:.04em;text-transform:none}
.eyebrow{font-size:13px}
.brand{letter-spacing:0}
.display,.section-title,.ritual-copy h2,.closing-copy h2{letter-spacing:-.01em;font-weight:500}
.display{line-height:1.12}
.section-title,.ritual-copy h2,.closing-copy h2{line-height:1.15}
.button{letter-spacing:0}

/* progress bar grows from the right */
.scroll-progress span{transform-origin:right center}

/* nav underline */
.main-nav a:not(.nav-cta)::after{left:100%;right:0;transition:left .25s ease}
.main-nav a:hover::after{left:0}

/* hamburger */
.menu-toggle span:not(.sr-only){left:auto;right:4px}

/* hero: media focus + overlay flip so text on the right stays legible */
.hero-media img,.hero-media video{object-position:left top}
.hero-overlay{background:linear-gradient(270deg,rgba(20,10,8,.72) 0%,rgba(20,10,8,.47) 35%,rgba(20,10,8,.08) 68%,rgba(20,10,8,.18) 100%)}
.scroll-cue{right:auto;left:49%}

/* image captions */
.image-panel figcaption{right:auto;left:8%}

/* text-link arrow points down-left */
.text-link:hover span{transform:translate(-4px,4px)}

/* overlays */
.ritual-media::after{background:linear-gradient(270deg,rgba(32,14,8,.84) 0%,rgba(32,14,8,.58) 35%,rgba(32,14,8,.08) 72%)}
.closing-media::after{background:linear-gradient(270deg,rgba(250,246,239,.94) 0%,rgba(250,246,239,.72) 38%,rgba(250,246,239,.12) 70%)}
.quote-band::before{background-image:linear-gradient(270deg,transparent 0 5%,rgba(30,20,15,.18) 5.2%,transparent 5.5%)}

/* set section: image on the left, text on the right (story section already is) */
.set-image{order:2}

/* tighter side padding in the text panels (desktop only; mobile keeps its own) */
@media (min-width:901px){
  .panel-pad{padding-inline:clamp(32px,5vw,72px)}
}

/* keep Latin/number runs (email, domain) readable */
.footer-contact a,.footer-contact span{unicode-bidi:isolate;text-align:right}

@media (max-width:900px){
  .set-image{order:0}
  .main-nav{font-size:30px}
  .hero-overlay{background:linear-gradient(270deg,rgb(20 10 8 / 70%) 0%,rgb(20 10 8 / 69%) 35%,rgb(20 10 8 / 50%) 68%,rgba(20,10,8,.18) 100%)}
}
