@font-face{font-family:Literata;src:url('/assets/fonts/literata-italic-variable.ttf') format('truetype');font-style:italic;font-weight:200 900;font-display:swap}
@font-face{font-family:'Frank Ruhl Libre';src:url('/assets/fonts/frank-ruhl-libre-variable.ttf') format('truetype');font-style:normal;font-weight:300 900;font-display:swap}
:root{--font-accent:Literata,Georgia,serif;--accent-style:italic;--motion-out:cubic-bezier(.22,1,.36,1);--arrow-rest:0deg;--arrow-hover:-35deg}
html[lang=he]{--font-accent:'Frank Ruhl Libre',Georgia,serif;--accent-style:normal}
html[dir=rtl]{--arrow-rest:180deg;--arrow-hover:215deg}
.type-accent{font-family:var(--font-accent);font-style:var(--accent-style);font-weight:400;font-optical-sizing:auto;letter-spacing:-.055em;color:var(--lilac)}
html[lang=he] .type-accent{font-weight:450;letter-spacing:-.025em}
.section-heading h2{font-weight:500;line-height:1.18;letter-spacing:-.05em}
.section-heading h2 .type-accent{font-size:1.04em}
.eyebrow{display:flex;align-items:center;gap:12px;font-size:11px;font-weight:600;letter-spacing:.11em;line-height:1.6;text-transform:uppercase}
.eyebrow::before{content:'';width:26px;height:1px;flex:none;background:currentColor;opacity:.65}
.reviews-section .section-heading .eyebrow{justify-content:center}
.page-heading{padding-block:46px 64px}
.page-heading .back-link{font-size:12px;margin-bottom:39px}
.page-heading>.eyebrow{margin-bottom:22px}
.page-heading h1{font-weight:500;letter-spacing:-.055em;font-size:clamp(46px,5.7vw,82px);line-height:1.13;max-width:22ch;overflow-wrap:normal;hyphens:manual;text-wrap:balance}
.page-heading h1 .type-accent{font-size:1.035em}
.page-heading .section-intro{max-width:760px;margin-top:27px;font-size:20px;line-height:1.65;color:#6b626d}
.is-article .page-heading{padding-bottom:47px}
.is-article .page-heading h1{font-size:clamp(40px,4.5vw,65px);line-height:1.15;max-width:33ch}
.is-article .page-heading .section-intro{font-size:19px;max-width:840px;line-height:1.7;margin-top:25px}
.cinematic-hero .hero-line:last-child{font-family:var(--font-accent);font-style:var(--accent-style);font-weight:400;letter-spacing:-.055em;font-size:.94em;padding-inline-end:.08em}
html[lang=he] .cinematic-hero .hero-line:last-child{font-weight:450;font-size:1.03em;letter-spacing:-.035em}
.statement-copy em,.about-copy blockquote,.story-quote{font-family:var(--font-accent);font-style:var(--accent-style);font-optical-sizing:auto;font-weight:400}
.statement-copy em{font-size:1.06em;letter-spacing:-.05em}
.about-copy blockquote{font-size:clamp(30px,2.7vw,40px);line-height:1.45;letter-spacing:-.04em;max-width:26ch;margin-block:34px}
.contact-copy .type-accent{color:#e1b4dc}
.contact-copy h2{font-weight:500!important;letter-spacing:-.045em}
.contact-copy .section-intro{font-size:19px;line-height:1.7;max-width:490px}
.article-layout{grid-template-columns:210px minmax(0,740px);column-gap:80px;justify-content:start;padding-top:58px}
.article-aside{padding-top:7px}
.article-aside .eyebrow{font-size:10px;letter-spacing:.09em}
.article-aside nav{gap:15px;font-size:12px;line-height:1.7}
.article-aside nav a{color:#79717b;transition:color 180ms ease}
.article-body,.prose{font-size:19px;line-height:1.85;letter-spacing:-.012em}
.author-line{padding-bottom:28px;border-bottom:1px solid var(--line);margin-bottom:31px;gap:14px}
.author-line img{width:47px;height:47px;object-fit:cover;border-radius:50%}
.author-line b{font-size:13px;font-weight:550;color:var(--ink)}
.author-line small{font-size:11px;letter-spacing:.025em;color:#827984;margin-top:4px}
.article-body h2,.prose h2{font-size:clamp(29px,2.5vw,36px);font-weight:550;line-height:1.25;letter-spacing:-.04em;margin-block:55px 20px;padding-top:30px;border-top:1px solid var(--line);text-wrap:balance}
.article-body h3,.prose h3{font-size:25px;font-weight:550;line-height:1.35;margin-block:35px 15px}
.article-body h4,.prose h4{font-size:20px;line-height:1.45;letter-spacing:-.02em;font-weight:600;margin-block:28px 12px}
.article-body .list-line,.prose .list-line{border-inline-start:1px solid #cfb0cb;padding-inline-start:21px;margin-block:14px;color:#514655}
.reading-emphasis{font-weight:550;color:#77376d;text-decoration:underline;text-decoration-color:#dec8dc;text-decoration-thickness:2px;text-underline-offset:4px}
.about-page{grid-template-columns:minmax(0,.85fr) minmax(0,1fr);gap:100px;align-items:start}
.about-page .story-lead{font-size:22px;line-height:1.7;color:var(--ink)}
.prose .story-quote{font-size:clamp(29px,2.6vw,39px);line-height:1.48;letter-spacing:-.04em;border-block:1px solid #d9c3d6;padding-block:30px;margin-block:38px;color:var(--lilac)}
.service-details-copy h2{font-size:clamp(31px,3.2vw,45px);font-weight:500;letter-spacing:-.04em;line-height:1.2}
.service-details-copy li{font-size:21px;line-height:1.55;letter-spacing:-.025em;padding-block:17px;border-bottom:1px solid var(--line)}
.service-details-copy>p{font-size:14px;line-height:1.8;margin-top:25px}
.service-card h3{font-weight:550;letter-spacing:-.04em;font-size:28px}
.article-card h3{font-weight:500;letter-spacing:-.035em;font-size:27px;line-height:1.3;text-wrap:pretty}
.article-meta{font-size:11px;letter-spacing:.045em;text-transform:uppercase;font-weight:450;color:#807484}
.article-excerpt{font-size:16px;line-height:1.8}
.table-row>b{font-family:var(--font-display);font-size:clamp(23px,2vw,29px);font-weight:500;letter-spacing:-.045em;font-variant-numeric:tabular-nums}
.table-head{font-size:12px;letter-spacing:.025em}.table-row>span{font-size:13px;line-height:1.55}
.step-number{font-family:var(--font-display);font-weight:400;font-variant-numeric:tabular-nums}
.prose.narrow{max-width:820px;font-size:18px}
.footer-brand>p{font-family:var(--font-accent);font-style:var(--accent-style);font-size:30px;line-height:1.35;letter-spacing:-.035em}
/* Shared rolling labels retain one accessible text value. */
.link-label{position:relative;display:inline-block;overflow:hidden;vertical-align:middle;min-width:0;line-height:1.45;padding-inline:1px}
.label-current,.label-next{display:block;transition:transform 280ms var(--motion-out),opacity 200ms ease}
.label-current{transform:translateY(0);opacity:1}
.label-next{position:absolute;inset:0;transform:translateY(115%);opacity:0}
.link-arrow{display:inline-grid;place-items:center;flex:none;width:28px;height:28px}
.link-arrow .arrow-icon,.contact-submit-icon .arrow-icon{transform:rotate(var(--arrow-rest));translate:none;transition:transform 260ms var(--motion-out)}
html[dir=rtl] .link-arrow .arrow-icon,html[dir=rtl] .contact-submit-icon .arrow-icon{transform:rotate(var(--arrow-rest))}
.page-heading .back-link svg{rotate:none}
.back-link{--arrow-rest:180deg;--arrow-hover:215deg}
html[dir=rtl] .back-link{--arrow-rest:0deg;--arrow-hover:-35deg}
.button{position:relative;isolation:isolate;overflow:hidden;transition:transform 140ms var(--motion-out),background-color 200ms ease,border-color 200ms ease,color 200ms ease}
.button::before{content:'';position:absolute;inset:-1px;z-index:-1;border-radius:50% 50% 0 0;transform:translateY(103%);background:#74275f;transition:transform 280ms var(--motion-out),border-radius 280ms var(--motion-out);pointer-events:none}
.button.secondary::before{background:#eadbea}
.button .link-arrow{background:#ffffff18;border-radius:50%}
.button:active:not(:disabled){transform:scale(.975)}
.button:disabled::before{display:none}
.cinematic-hero .hero-actions .primary{padding-block:16px}
.text-link{position:relative;gap:16px;transition:color 180ms ease}
.text-link::after,.desktop-nav>.nav-link::after{content:'';position:absolute;inset-inline:0;bottom:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform 260ms var(--motion-out)}
.desktop-nav>.nav-link{position:relative;padding-block:8px;font-size:14px;line-height:1.45}
.desktop-nav>.nav-link::after{bottom:3px}
html[dir=rtl] .text-link::after,html[dir=rtl] .desktop-nav>.nav-link::after{transform-origin:left}
.hero-whatsapp .link-label,.hero-whatsapp .link-label span{text-decoration:none}
.hero-whatsapp{position:relative}
.hero-whatsapp .link-label::after{content:'';position:absolute;inset-inline:0;bottom:0;height:1px;background:currentColor;opacity:.5}
:where(.footer-content nav,.footer-bottom nav,.article-aside nav,.contact-links,.contact-consent) a{background-image:linear-gradient(currentColor,currentColor);background-size:0 1px;background-repeat:no-repeat;background-position:100% 100%;transition:background-size 260ms var(--motion-out),color 180ms ease}
@media(hover:hover) and (pointer:fine){
 :is(.button,.text-link,.nav-link,.hero-whatsapp):not(:disabled):hover .label-current{transform:translateY(-115%);opacity:0}
 :is(.button,.text-link,.nav-link,.hero-whatsapp):not(:disabled):hover .label-next{transform:translateY(0);opacity:1}
 .button:not(:disabled):hover{transform:none}
 .button.primary:not(:disabled):hover{background:var(--accent);border-color:var(--accent)}
 .button:not(:disabled):hover::before{transform:translateY(0);border-radius:inherit}
 :is(.button,.text-link):hover .link-arrow .arrow-icon,.contact-submit:hover .contact-submit-icon .arrow-icon{transform:rotate(var(--arrow-hover));translate:none}
 .text-link:hover::after,.desktop-nav>.nav-link:hover::after{transform:scaleX(1);transform-origin:left}
 html[dir=rtl] .text-link:hover::after,html[dir=rtl] .desktop-nav>.nav-link:hover::after{transform-origin:right}
 :where(.footer-content nav,.footer-bottom nav,.article-aside nav,.contact-links,.contact-consent) a:hover{background-size:100% 1px;background-position:0 100%;color:var(--lilac)}
 .article-card h3 a,.service-card h3 a{background-image:linear-gradient(currentColor,currentColor);background-size:0 1px;background-position:100% 100%;background-repeat:no-repeat;transition:background-size 260ms var(--motion-out),color 180ms ease}
 .article-card h3 a:hover,.service-card h3 a:hover{background-size:100% 1px;background-position:0 100%;color:var(--lilac)}
}
/* Focus stays immediate, with no rolling label motion. */
.button:focus-visible,.text-link:focus-visible,.nav-link:focus-visible{outline:2px solid var(--lilac);outline-offset:6px}
@media(max-width:1100px){.about-page{gap:55px}.article-layout{grid-template-columns:190px minmax(0,1fr);gap:45px}.service-details-copy li{font-size:19px}.table-row>b{font-size:24px}}
@media(max-width:799px){.cinematic-hero .hero-actions .primary{padding-block:12px}.reviews-section .section-heading .eyebrow{justify-content:flex-start}.page-heading h1{font-size:clamp(38px,6.5vw,56px)}.is-article .page-heading h1{font-size:clamp(36px,5.5vw,46px)}}
@media(max-width:699px){
 .page-heading{padding-block:30px 37px}.page-heading .back-link{margin-bottom:29px}.page-heading>.eyebrow{margin-bottom:18px}.page-heading h1{font-size:clamp(33px,9.8vw,44px);line-height:1.16;max-width:none;letter-spacing:-.045em;text-wrap:pretty;overflow-wrap:break-word}
 .page-heading .section-intro{font-size:17px;line-height:1.75;margin-top:22px}.is-article .page-heading{padding-bottom:30px}.is-article .page-heading h1{font-size:clamp(31px,8.6vw,38px);line-height:1.21;max-width:none}.is-article .page-heading .section-intro{font-size:16px;line-height:1.7;margin-top:21px}
 .eyebrow{font-size:10px;letter-spacing:.075em;gap:9px}.eyebrow::before{width:20px}.section-heading h2{font-size:35px;line-height:1.2;letter-spacing:-.045em}.section-heading h2 .type-accent{font-size:1.02em}
 .about-page{display:flex;gap:32px}.about-page .story-lead{font-size:20px;line-height:1.75}.prose .story-quote{font-size:29px;padding-block:26px;margin-block:30px}.about-copy blockquote{font-size:29px;line-height:1.5}
 .article-layout{display:flex;padding-top:32px;gap:32px}.article-body,.prose{font-size:18px;line-height:1.85}.article-body h2,.prose h2{font-size:28px;line-height:1.3;margin-top:39px;padding-top:25px}.article-body h3,.prose h3{font-size:23px;line-height:1.4}.article-body h4,.prose h4{font-size:19px}.article-aside{padding:22px}.author-line{margin-bottom:25px;padding-bottom:24px}.author-line b{font-size:12px}.author-line small{font-size:10px}
 .service-details-copy h2{font-size:33px}.service-details-copy li{font-size:19px;padding-block:15px}.service-card h3{font-size:27px}.article-card h3{font-size:26px}.article-excerpt{font-size:16px}.article-meta{font-size:10px}.table-row>b{font-size:20px;letter-spacing:-.035em}.table-row>span{font-size:11px}
 .contact-copy .section-intro{font-size:17px}.footer-brand>p{font-size:28px}.text-link{gap:12px}.prose.narrow{font-size:17px}
}
@media(prefers-reduced-motion:reduce){.label-current,.label-next,.button::before,.link-arrow .arrow-icon,.contact-submit-icon .arrow-icon{transition:none!important}.label-current{transform:none!important;opacity:1!important}.label-next{visibility:hidden!important}.button::before{transform:translateY(103%)!important}}
html[data-reduced-motion=true] :is(.label-current,.label-next,.button,.button::before,.link-arrow .arrow-icon,.contact-submit-icon .arrow-icon,.text-link::after,.nav-link::after){transition:none!important}
html[data-reduced-motion=true] .label-current{transform:none!important;opacity:1!important}
html[data-reduced-motion=true] .label-next{visibility:hidden!important}
html[data-reduced-motion=true] .button::before{transform:translateY(103%)!important}

html[lang=he] .eyebrow{letter-spacing:.025em}
.cinematic-hero :is(.button,.hero-whatsapp):focus-visible,body.is-home #header:not(.scrolled) a:focus-visible{outline:2px solid #efc2eb;outline-offset:6px}
@media(hover:hover) and (pointer:fine){.contact-section .contact-links a:hover{color:#efc2eb}.filter-buttons button{transition:background-color 180ms ease,border-color 180ms ease,color 180ms ease}.filter-buttons button:not(.active):hover{background:var(--pale);border-color:#ba90b5;color:var(--lilac)}}

/* External-link arrows are vectors, never font or emoji glyphs. */
.external-link,.original-link,.mortgage-dialog-foot>a{display:inline-flex;align-items:center;gap:9px;width:fit-content}
.external-link>.icon,.original-link>.icon,.mortgage-dialog-foot>a>.icon{width:17px;height:17px;flex:none;vertical-align:middle}
