:root { --bg:#fbfaf8; --surface:#f2efea; --surface-2:#e4dfd7; --ink:#16150f; --ink-soft:#5a564c; --accent:#16150f; --accent-ink:#fbfaf8; --accent-soft:#eae5dc; --font-display:"Frank Ruhl Libre", Georgia, serif; --font-body:"Assistant", "Noto Sans Hebrew", system-ui, sans-serif; --border:1px solid color-mix(in oklab,var(--ink) 16%,transparent); --section-y:clamp(4rem,8vw,8rem); --section-y-tight:clamp(2.5rem,5vw,4rem); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--bg); color:var(--ink); font-family:var(--font-body); font-size:1.08rem; line-height:1.75; }
a { color:inherit; }
img { display:block; max-width:100%; }
.container { width:min(1200px, calc(100% - 2 * var(--gutter))); margin-inline:auto; }
.narrow { width:min(780px, calc(100% - 2 * var(--gutter))); margin-inline:auto; }
.site-header { background:color-mix(in oklab,var(--bg) 92%,transparent); border-bottom:var(--border); backdrop-filter:blur(14px); }
.site-header.is-scrolled { box-shadow:0 8px 24px rgba(22,21,15,.06); }
.site-header__inner { min-height:82px; display:flex; align-items:center; gap:2rem; }
.site-header__logo { flex:0 0 auto; display:block; }
.site-header__logo img { width:210px; height:60px; object-fit:contain; object-position:center; }
.site-nav { flex:1; }
.site-nav ul { display:flex; justify-content:center; gap:clamp(.8rem,2vw,1.65rem); list-style:none; margin:0; padding:0; }
.site-nav a,.header-whatsapp { text-decoration:none; font-size:.95rem; color:var(--ink-soft); transition:color var(--dur-fast) ease; }
.site-nav a:hover,.site-nav a:focus-visible,.header-whatsapp:hover { color:var(--ink); }
.header-actions { display:flex; align-items:center; gap:.8rem; }
.header-whatsapp { font-weight:700; }
.btn { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:.7rem 1.25rem; border:1px solid var(--ink); border-radius:6px; text-decoration:none; font-weight:700; line-height:1.2; transition:transform var(--dur-fast) ease, background var(--dur-fast) ease, color var(--dur-fast) ease; }
.btn:hover { transform:translateY(-2px); }
.btn--primary { background:var(--ink); color:var(--bg); }
.btn--primary:hover { background:#3d3a32; }
.btn--ghost { background:transparent; color:var(--ink); }
.btn--ghost:hover { background:var(--surface); }
.btn--light { background:var(--bg); color:var(--ink); border-color:var(--bg); }
.nav-toggle { display:none; min-width:48px; padding:.55rem; font-size:1.3rem; }
.mobile-menu { padding:clamp(4.5rem,10vw,7rem) var(--gutter) 2rem; }
.mobile-menu__close { position:absolute; inset-inline-start:var(--gutter); top:var(--gutter); font-size:1.8rem; min-width:48px; }
.mobile-menu__brand img { width:210px; height:auto; }
.mobile-menu nav ul { display:grid; gap:.15rem; list-style:none; margin:2rem 0; padding:0; }
.mobile-menu nav a { font-size:clamp(1.7rem,5vw,2.4rem); }
.hero-editorial { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr); min-height:min(760px, calc(100vh - 82px)); border-bottom:var(--border); position:relative; }
.hero-editorial__copy { padding:clamp(4rem,8vw,9rem) clamp(var(--gutter),8vw,9rem) clamp(4rem,8vw,8rem) var(--gutter); display:flex; flex-direction:column; justify-content:center; align-items:flex-start; }
.hero-editorial__media { order:-1; min-height:560px; position:relative; overflow:hidden; }
.hero-editorial__media img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.hero-editorial__rule { position:absolute; inset-block:14%; inset-inline-end:50%; width:1px; background:var(--ink); opacity:.14; }
.eyebrow { margin:0 0 1.1rem; text-transform:uppercase; letter-spacing:.12em; font-size:.8rem; color:var(--ink-soft); font-weight:700; }
h1,h2,h3,h4 { font-family:var(--font-display); line-height:1.15; letter-spacing:-.02em; margin:0 0 1rem; font-weight:600; }
h1 { font-size:clamp(3rem,6vw,5.65rem); max-width:11ch; }
h2 { font-size:clamp(2rem,4vw,3.6rem); }
h3 { font-size:clamp(1.4rem,2vw,1.8rem); }
p { margin:0 0 1rem; }
.hero-lead { max-width:42rem; font-size:clamp(1.1rem,1.5vw,1.4rem); color:var(--ink-soft); margin-bottom:1.8rem; }
.hero-actions,.cta-actions,.location-actions { display:flex; gap:.8rem; flex-wrap:wrap; align-items:center; }
.hero-contact { display:flex; gap:1.3rem; flex-wrap:wrap; margin-top:1.5rem; font-size:.96rem; color:var(--ink-soft); }
.hero-contact a { font-weight:700; color:var(--ink); }
.trust-strip { background:var(--surface); border-bottom:var(--border); }
.trust-strip__inner { display:flex; justify-content:space-between; gap:1.5rem; flex-wrap:wrap; padding:1rem 0; font-size:.92rem; color:var(--ink-soft); }
.section { padding-block:var(--section-y); }
.location-section { padding-block:var(--section-y-tight); }
.intro-section,.services-section,.principles-section,.articles-section,.faq-section,.location-section { background:var(--bg); }
.intro-grid,.prose-grid,.contact-grid,.faq-grid,.process-grid,.location-grid,.feature-grid,.reputation-grid { display:grid; grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr); gap:clamp(2.5rem,8vw,8rem); align-items:start; }
.section-kicker { display:flex; gap:1rem; align-items:flex-start; }
.section-kicker .rule { width:1px; min-height:8rem; background:var(--ink); opacity:.25; }
.intro-copy { max-width:60ch; }
.intro-copy h2,.feature-copy h2,.location-copy h2 { max-width:15ch; }
.intro-copy p,.feature-copy p,.prose p { color:var(--ink-soft); }
.text-link { display:inline-flex; gap:.5rem; align-items:center; margin-top:.4rem; font-weight:700; text-decoration:none; border-bottom:1px solid currentColor; padding-bottom:.2rem; }
.text-link:hover span { transform:translateX(-4px); }
.text-link span { transition:transform var(--dur-fast) ease; }
.section-heading { max-width:680px; margin-bottom:clamp(2.5rem,5vw,4.5rem); }
.section-heading > p:last-child { color:var(--ink-soft); max-width:60ch; }
.service-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:2.5rem 1.5rem; }
.service-card { border-top:1px solid var(--ink); display:flex; flex-direction:column; }
.service-card__media { aspect-ratio:3/2; overflow:hidden; margin-bottom:1.25rem; }
.service-card__media img,.article-card img,.page-hero__media img,.feature-media img { width:100%; height:100%; object-fit:cover; }
.service-card__body { position:relative; padding-inline-start:2.1rem; }
.service-card__index { position:absolute; inset-inline-start:0; top:.1rem; font-family:var(--font-body); font-size:.8rem; color:var(--ink-soft); }
.service-card h3 { font-family:var(--font-body); font-size:1.25rem; line-height:1.35; }
.service-card h3 a { text-decoration:none; }
.service-card p { color:var(--ink-soft); font-size:.98rem; }
.feature-section { background:var(--surface); }
.feature-grid { grid-template-columns:1.1fr .9fr; align-items:center; }
.feature-grid--reverse > :first-child { order:2; }
.feature-media { aspect-ratio:4/3; overflow:hidden; }
.feature-media img { transition:transform 600ms var(--ease); }
.feature-media:hover img { transform:scale(1.02); }
.check-list { list-style:none; padding:0; margin:1.5rem 0 2rem; display:grid; gap:.65rem; }
.check-list li { padding-inline-start:1.6rem; position:relative; }
.check-list li::before { content:""; position:absolute; inset-inline-start:0; top:.75em; width:.7rem; height:1px; background:var(--ink); }
.dark-feature { background:var(--ink); color:var(--bg); }
.dark-feature .feature-copy p,.dark-feature .eyebrow { color:color-mix(in oklab,var(--bg) 75%,transparent); }
.dark-feature .feature-media { opacity:.9; }
.reputation-section { background:var(--surface-2); }
.reputation-grid { align-items:center; }
.reputation-score { display:flex; flex-direction:column; align-items:flex-start; border-inline-start:1px solid var(--ink); padding-inline-start:2rem; }
.stars { letter-spacing:.18em; font-size:1.25rem; }
.reputation-score strong { font-family:var(--font-display); font-size:clamp(4rem,8vw,7rem); line-height:1; }
.reputation-score span:not(.stars) { color:var(--ink-soft); }
.reputation-score a { margin-top:1rem; font-weight:700; }
.principles-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-top:var(--border); }
.principle { border-inline-start:var(--border); padding:1.5rem; }
.principle:first-child { border-inline-start:0; }
.principle h3 { font-family:var(--font-body); font-size:1.25rem; }
.principle p { color:var(--ink-soft); font-size:.98rem; }
.process-section { background:var(--surface); }
.process-list { list-style:none; margin:0; padding:0; border-top:1px solid var(--ink); }
.process-list li { display:grid; grid-template-columns:4rem 1fr; gap:1.2rem; padding:1.2rem 0; border-bottom:var(--border); }
.process-list li > span { font-size:.8rem; color:var(--ink-soft); padding-top:.35rem; }
.process-list h3 { font-family:var(--font-body); font-size:1.25rem; margin-bottom:.2rem; }
.process-list p { color:var(--ink-soft); margin:0; }
.article-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.5rem; }
.article-grid--index { grid-template-columns:repeat(2,minmax(0,1fr)); }
.article-card { border-top:1px solid var(--ink); }
.article-card img { aspect-ratio:3/2; margin-bottom:1.25rem; }
.article-card > div { padding-inline:0; }
.article-card h3,.article-card h2 { font-family:var(--font-body); font-size:1.35rem; line-height:1.35; }
.article-card h2 { font-family:var(--font-display); font-size:1.8rem; }
.article-card h3 a,.article-card h2 a { text-decoration:none; }
.article-card p { color:var(--ink-soft); font-size:.98rem; }
.article-meta { font-size:.82rem!important; color:var(--ink-soft)!important; }
.all-articles { margin-top:2rem; }
.faq-grid { gap:clamp(2.5rem,7vw,7rem); }
.faq-list { border-top:1px solid var(--ink); }
.faq-item { border-bottom:var(--border); padding:1.1rem 0; }
.faq-item summary { cursor:pointer; font-family:var(--font-display); font-size:1.35rem; font-weight:600; list-style:none; display:flex; justify-content:space-between; gap:1rem; }
.faq-item summary::-webkit-details-marker { display:none; }
.faq-item summary::after { content:'+'; font-family:var(--font-body); font-size:1.5rem; font-weight:400; }
.faq-item[open] summary::after { content:'−'; }
.faq-item p { margin:.8rem 0 0; color:var(--ink-soft); max-width:60ch; }
.location-grid { align-items:stretch; }
.map-frame { min-height:300px; border:var(--border); background:var(--surface); }
.map-frame iframe { width:100%; height:100%; min-height:300px; border:0; filter:grayscale(1) contrast(.9); }
.location-copy { padding-block:1rem; }
.contact-section { background:var(--surface); }
.contact-list { display:grid; gap:1rem; margin:2rem 0; }
.contact-list > div { display:grid; gap:.1rem; padding-bottom:1rem; border-bottom:var(--border); }
.contact-list a { font-size:1.3rem; font-weight:700; text-decoration:none; }
.contact-list span:last-child { color:var(--ink-soft); font-size:.9rem; }
.lead-form { background:var(--bg); padding:clamp(1.5rem,4vw,3rem); border-top:2px solid var(--ink); }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.field { display:grid; gap:.35rem; margin-bottom:1.1rem; }
.field label { font-weight:700; font-size:.95rem; }
.field input,.field textarea { width:100%; border:1px solid color-mix(in oklab,var(--ink) 28%,transparent); background:var(--bg); border-radius:4px; padding:.8rem; font:inherit; font-size:16px; color:var(--ink); }
.field textarea { resize:vertical; }
.field input:focus-visible,.field textarea:focus-visible { outline:3px solid color-mix(in oklab,var(--ink) 30%,transparent); outline-offset:2px; }
.consent { display:flex; align-items:flex-start; gap:.7rem; font-size:.88rem; margin-bottom:1.1rem; color:var(--ink-soft); }
.consent input { margin-top:.4rem; width:18px; height:18px; flex:0 0 auto; }
.form-note { color:var(--ink-soft); font-size:.82rem; margin-top:1rem; }
.honeypot { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; opacity:0!important; }
.page-hero { padding-block:clamp(3.5rem,7vw,7rem); border-bottom:var(--border); }
.page-hero__grid { display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,7vw,6rem); align-items:center; }
.page-hero h1 { max-width:12ch; }
.lede { font-size:clamp(1.15rem,1.7vw,1.45rem); color:var(--ink-soft); max-width:40rem; }
.page-hero__media { aspect-ratio:4/3; overflow:hidden; }
.prose-section { background:var(--bg); }
.prose { max-width:65ch; }
.prose h2 { font-size:clamp(1.7rem,3vw,2.6rem); margin-top:2.5rem; }
.prose h2:first-child { margin-top:0; }
.prose p,.prose li { color:var(--ink-soft); }
.list-feature { background:var(--surface); }
.related-section { border-top:var(--border); }
.related-links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border-top:1px solid var(--ink); }
.related-links a { display:flex; justify-content:space-between; padding:1rem 0; border-bottom:var(--border); text-decoration:none; font-weight:700; margin-inline-start:1rem; }
.related-links a:nth-child(odd) { margin-inline-start:0; margin-inline-end:1rem; }
.faq-section--light { background:var(--surface); }
.cta-band { background:var(--ink); color:var(--bg); }
.cta-band__inner { display:flex; justify-content:space-between; align-items:center; gap:2rem; }
.cta-band .eyebrow,.cta-band p { color:color-mix(in oklab,var(--bg) 74%,transparent); }
.cta-band h2 { max-width:14ch; }
.cta-band .btn--ghost { color:var(--bg); border-color:var(--bg); }
.article-page__header { background:var(--surface); }
.article-page__header h1 { max-width:16ch; }
.article-layout { display:grid; grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr); gap:clamp(2rem,7vw,7rem); padding-block:var(--section-y); align-items:start; }
.article-page__image { position:sticky; top:110px; aspect-ratio:3/2; overflow:hidden; }
.article-page__image img { width:100%; height:100%; object-fit:cover; }
.article-copy strong { color:var(--ink); }
.legal-section { background:var(--bg); }
.site-footer { background:var(--ink); color:var(--bg); padding-block:clamp(3.5rem,7vw,6rem) 2rem; }
.site-footer a { color:var(--bg); text-decoration:none; }
.footer-grid { display:grid; grid-template-columns:1.4fr repeat(3,1fr); gap:2rem; }
.footer-brand img { width:250px; height:auto; margin-bottom:1rem; }
.footer-brand p,.site-footer li,.site-footer .footer-bottom p { color:color-mix(in oklab,var(--bg) 68%,transparent); font-size:.92rem; }
.footer-brand p { max-width:25ch; }
.footer-social { display:inline-flex; margin-top:1rem; border-bottom:1px solid color-mix(in oklab,var(--bg) 50%,transparent); }
.site-footer h2 { font-family:var(--font-body); font-size:1rem; color:var(--bg); }
.site-footer ul { list-style:none; margin:0; padding:0; display:grid; gap:.35rem; }
.footer-bottom { border-top:1px solid color-mix(in oklab,var(--bg) 25%,transparent); margin-top:3rem; padding-top:1rem; display:grid; gap:.6rem; }
.footer-bottom p { margin:0; max-width:80ch; }
.footer-bottom nav { display:flex; flex-wrap:wrap; gap:1.1rem; font-size:.9rem; }
.sticky-bar { background:var(--ink); }
.sticky-bar a { border-inline-start:1px solid color-mix(in oklab,var(--bg) 22%,transparent); }
.sticky-bar a:first-child { border-inline-start:0; }
.m-reveal,.m-reveal-fade,.m-stagger,.m-split { opacity:0; transform:translateY(16px); transition:opacity 700ms var(--ease), transform 700ms var(--ease); }
.m-reveal.is-in,.m-reveal-fade.is-in,.m-stagger.is-in,.m-split.is-in { opacity:1; transform:none; }
.m-split .m-word { display:inline-block; opacity:0; transform:translateY(16px); transition:opacity 700ms var(--ease), transform 700ms var(--ease); transition-delay:calc(var(--i) * 55ms); }
.m-split.is-in .m-word { opacity:1; transform:none; }
.m-stagger > * { opacity:0; transform:translateY(12px); transition:opacity 600ms var(--ease),transform 600ms var(--ease); }
.m-stagger.is-in > * { opacity:1; transform:none; }
.m-stagger.is-in > *:nth-child(2) { transition-delay:70ms; }.m-stagger.is-in > *:nth-child(3) { transition-delay:140ms; }.m-stagger.is-in > *:nth-child(4) { transition-delay:210ms; }
@media (max-width: 980px) { .site-nav,.header-whatsapp,.header-cta { display:none; } .nav-toggle { display:inline-flex; } .hero-editorial { grid-template-columns:1fr; } .hero-editorial__media { order:0; min-height:54vh; } .hero-editorial__copy { padding:4rem var(--gutter) 3rem; } .hero-editorial__rule { display:none; } .service-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .principles-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .principle:nth-child(3) { border-inline-start:0; border-top:var(--border); } .principle:nth-child(4) { border-top:var(--border); } .footer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (min-width: 701px) { .location-section { padding-block:1.5rem; } .map-frame,.map-frame iframe { min-height:220px; } }
@media (max-width: 700px) { body { font-size:1rem; } .hero-editorial__media { min-height:58vh; } .hero-editorial h1 { font-size:clamp(2.8rem,13vw,4rem); } .intro-grid,.prose-grid,.contact-grid,.faq-grid,.process-grid,.location-grid,.feature-grid,.reputation-grid,.page-hero__grid,.article-layout { grid-template-columns:1fr; gap:2.5rem; } .feature-grid--reverse > :first-child { order:0; } .service-grid,.article-grid,.article-grid--index { grid-template-columns:1fr; } .principles-grid { grid-template-columns:1fr; } .principle,.principle:nth-child(3),.principle:nth-child(4) { border-inline-start:0; border-top:var(--border); } .principle:first-child { border-top:0; } .form-grid { grid-template-columns:1fr; gap:0; } .cta-band__inner { display:grid; } .footer-grid { grid-template-columns:1fr; } .related-links { grid-template-columns:1fr; } .related-links a,.related-links a:nth-child(odd) { margin-inline:0; } .article-page__image { position:static; } .trust-strip__inner { display:grid; gap:.35rem; } .section-kicker { display:none; } .page-hero__media { order:-1; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation:none!important; transition-duration:.01ms!important; } .m-reveal,.m-reveal-fade,.m-stagger,.m-split,.m-stagger > *, .m-split .m-word { opacity:1!important; transform:none!important; } }
