/* Shared architectural design system. Change the tokens to adapt the next brand. */
:root{--paper:#f7f6f2;--ink:#252925;--stone:#e7e5dd;--muted:#62675e;--bronze:#80664e;--line:#d3d4ca;--gutter:clamp(22px,6vw,110px);--section-space:clamp(70px,9vw,144px);--font-body:Assistant,Arial,sans-serif;--font-display:Assistant,Arial,sans-serif;--motion-duration:650ms}
body{font-family:var(--font-body);font-size:18px;line-height:1.75}h1,h2,h3{font-family:var(--font-display);text-wrap:balance}p{max-width:65ch}a,button{-webkit-tap-highlight-color:transparent}button,a,input,select,textarea{scroll-margin-top:110px}a:focus-visible,button:focus-visible{outline:2px solid #ac8760;outline-offset:6px}[hidden]{display:none!important}html{scroll-padding-top:100px}header{position:fixed;min-height:88px;padding:20px var(--gutter);transition:background .35s,color .35s,border-color .35s;gap:24px}header.scrolled,header.menu-open{background:var(--paper);color:var(--ink);border-bottom:1px solid var(--line)}header.scrolled .header-cta,header.menu-open .header-cta{border-color:var(--ink)}.brand b{font-size:45px}.brand span{font-size:12px;letter-spacing:2px}.nav{font-size:15px;gap:22px}.header-cta{white-space:nowrap;min-height:44px;display:flex;align-items:center}.hero{min-height:720px;height:100svh;max-height:1200px}.hero-copy{padding:160px var(--gutter) 130px;justify-content:end;max-width:1050px}.hero h1{font-size:clamp(68px,7.5vw,116px);line-height:1.04;font-weight:300;letter-spacing:-3px;margin:24px 0}.hero .eyebrow{font-family:Arial,sans-serif;letter-spacing:3px;font-size:13px}.hero .services-line{font-size:20px}.hero .promise{max-width:470px;font-size:19px;margin-top:16px}.hero:after{background:linear-gradient(270deg,rgba(16,24,20,.68),rgba(16,24,20,.08) 90%),linear-gradient(0deg,rgba(16,24,20,.54),transparent 70%)}.hero .button{min-height:52px;padding:14px 28px}.actions{margin-top:30px;gap:32px}.hero-bottom{right:var(--gutter);left:var(--gutter);bottom:30px}.hero-explore{display:flex;align-items:center;gap:18px;font-size:14px}.scroll-line{height:35px;width:1px;background:#ffffff90;display:block}.video-toggle{background:transparent;backdrop-filter:none;min-height:44px;border:1px solid #ffffff60;font-size:14px}.section{padding:var(--section-space) var(--gutter)}.kicker{font-size:12px;letter-spacing:2.1px;margin-bottom:24px}.section h2,.section-head h2{font-size:clamp(42px,4.6vw,70px);line-height:1.12;letter-spacing:-1.6px}.gallery{padding:85px 0 45px;border:0}.section-head{padding:0 var(--gutter);margin-bottom:38px}.section-head .gallery-note{font-size:17px;line-height:1.6;max-width:270px}.track{padding:0 var(--gutter) 15px;gap:28px}.slide{flex-basis:82%;scroll-snap-align:start}.slide img{aspect-ratio:1.85}.slide button{cursor:zoom-in}.slide figcaption{padding-top:19px;font-size:22px}.slide figcaption small{font-size:14px}.gallery-controls{padding:15px var(--gutter) 0}.gallery-controls button{border:0;border-bottom:1px solid var(--line);min-width:70px;padding:8px 12px}.counter{font-size:14px}.intro{gap:12%;align-items:center}.intro-copy p{font-size:25px;line-height:1.7}.intro-copy .note{font-size:16px;line-height:1.8;margin-top:30px}.intro h2{font-size:clamp(38px,3.5vw,55px)}.whole{background:var(--ink);color:var(--paper)}.whole .kicker,.whole .benefit span{color:#c4b297}.whole-head{grid-template-columns:1fr 1fr;gap:14%;align-items:end;margin-bottom:65px}.whole-head p{font-size:22px;color:#dedfd5;line-height:1.8}.split-image{grid-template-columns:1.4fr 1fr;gap:5%;align-items:center}.split-image img{height:auto;aspect-ratio:1.15}.split-image figure:nth-child(2){padding-top:85px}.split-image figure:nth-child(2) img{aspect-ratio:.88;object-position:65%}.benefits{margin-top:65px;gap:50px}.benefit{border-color:#64695f;padding-top:26px}.benefit h3{font-size:28px;line-height:1.3;margin:22px 0 15px}.benefit p{color:#d0d4c9;font-size:18px}.benefit span{font-size:12px;letter-spacing:1px}.services{grid-template-columns:1fr 1fr;gap:12%;align-items:start}.services-intro{position:sticky;top:130px}.services-intro>p{font-size:18px!important;max-width:370px}.service-visual{margin:35px 0 0;position:relative}.service-visual img{display:block;width:100%;aspect-ratio:1.45;object-fit:cover}.service-visual figcaption{position:absolute;bottom:16px;left:18px;color:#fff;font:12px Arial,sans-serif;letter-spacing:2px;background:#252925b0;padding:7px 12px}.service-rows article{padding:30px 0;border-top:1px solid var(--line)}.service-rows article:first-child{border-top:1px solid var(--line);padding-top:30px}.service-rows article:last-child{border-bottom:1px solid var(--line)}.service-rows h3{font-size:27px;margin:0}.service-toggle{border:0;background:transparent;color:var(--ink);text-align:right;width:100%;padding:8px 0;display:flex;align-items:center;justify-content:space-between;gap:20px}.service-toggle .service-symbol{font:24px Arial,sans-serif;color:var(--bronze);flex-shrink:0}.service-rows p{padding-top:15px}.service-rows small{font-size:12px;letter-spacing:1px;margin-bottom:8px}.service-rows article.active small{color:var(--bronze)}.since{position:relative;grid-template-columns:1fr 1fr;gap:40px 12%;overflow:hidden}.since .year{font-size:clamp(110px,14vw,220px);font-weight:400;letter-spacing:-.07em;line-height:.85;color:var(--ink);margin:35px 0}.since h2{font-size:clamp(36px,3.3vw,52px)}.since p{font-size:21px}.office-location{grid-column:2;border-top:1px solid var(--line);padding-top:24px;display:flex;flex-wrap:wrap;gap:10px 24px;align-items:center}.office-location>span{font-size:14px;color:var(--bronze)}.office-location p{font-size:16px;margin:0}.office-location a{font-size:16px}.workflow{background:var(--paper)}.workflow-heading p{font-size:21px}.workflow-rail{margin:60px 0 40px}.workflow-rail:before{top:31px;background:var(--line)}.step-node,.workflow-rail button[aria-selected=true] .step-node:after{border-radius:0}.step-node{width:62px;height:62px}.workflow-rail button[aria-selected=true] .step-node:after{inset:-5px;border-color:#b4ad9e}.step-label{font-size:23px}.step-hint{font-size:15px}.workflow-panels{min-height:270px;padding:40px 0}.workflow-panels article{grid-template-columns:.55fr 2fr 1fr;gap:35px}.panel-index{font-size:100px;color:#c7c8bc}.workflow-panels h3{font-size:32px}.workflow-bottom>span{font-size:15px}.faq{background:#eeeee8;gap:12%;grid-template-columns:1fr 1fr}.faq summary{font-size:22px;line-height:1.5;min-height:44px}.faq summary::-webkit-details-marker{display:none}.faq details{padding:24px 0}.contact{background:var(--ink);gap:12%}.contact h2{font-size:clamp(44px,4.7vw,72px)}.contact .kicker{color:#c4b297}.contact-form{display:block;align-self:start}.form-top{display:flex;justify-content:space-between;gap:15px;padding-bottom:20px;border-bottom:1px solid #ffffff50;font-size:18px}.form-top>span:last-child{font:13px Arial,sans-serif;letter-spacing:2px;direction:ltr;padding-top:7px}.form-step{border:0;padding:25px 0 0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:25px 22px;min-width:0}.form-step legend{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.contact-form label{font-size:16px}.contact-form input,.contact-form select,.contact-form textarea{background:transparent;min-height:48px;border-color:#a7afa1;color:var(--paper);padding:9px 0;box-shadow:none}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#bac0b4;opacity:1}.contact-form textarea{min-height:85px}.optional{color:#c0c5b9;font-size:14px}.form-actions{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}.contact-form button{min-height:48px}.contact-form .back-button{background:transparent;color:var(--paper);padding:8px 0;border-bottom:1px solid #ffffff80;font-size:16px}.contact-form .fine{font-size:14px;color:#d1d5ca}.contact-form .status{font-size:15px;margin-top:12px}.inquiry-result{padding:35px 0;display:grid;gap:22px}.inquiry-result h3{font-size:34px}.inquiry-result p{font-size:18px;margin:0}.inquiry-result .button{background:var(--paper);color:var(--ink);text-align:center}.inquiry-result .text-link,.inquiry-result .back-button{justify-self:start}.direct-contact a{font-size:18px;border-color:#737b6e}.direct-contact{margin-top:35px}.direct-contact a>span:first-child{opacity:1;color:#c4b297}footer{padding:55px var(--gutter);gap:30px}.footnote{padding:18px var(--gutter);font-size:13px}.footlinks a{min-height:44px;display:inline-flex;align-items:center}.mobile-contact{display:none}dialog{width:96vw;max-width:1500px;max-height:96svh;padding:20px 30px;background:#20251f;color:var(--paper);overflow:auto}dialog::backdrop{background:#0c100ef2}dialog img{height:calc(90svh - 130px);object-fit:contain}dialog button{color:var(--paper);min-height:44px;padding:8px 16px;margin:0;font-size:15px}.lightbox-top,.lightbox-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px}.lightbox-top{margin-bottom:12px}.lightbox-top>span{font:13px Arial,sans-serif;direction:ltr;letter-spacing:2px}.lightbox-bottom>div{display:flex;gap:12px}.lightbox-bottom p{font-size:16px}.lightbox-bottom button:disabled{opacity:.35}.lightbox-bottom button{border-bottom:1px solid #ffffff55}.body-dialog{overflow:hidden}.reveal{transition:opacity var(--motion-duration) ease,transform var(--motion-duration) ease}.service-visual img{transition:opacity .3s}
@media(min-width:1600px){.section{padding-inline:max(var(--gutter),calc((100vw - 1460px)/2))}}
@media(max-width:1100px){.nav{gap:14px;font-size:14px}.header-cta{font-size:14px}.brand{gap:12px}.brand span{letter-spacing:1px}.whole-head,.services,.contact,.faq{gap:8%}.benefits{gap:28px}.section h2{font-size:48px}.benefit h3{font-size:25px}.workflow-panels article{gap:24px}.stage-outcome{padding-right:20px}}
@media(max-width:850px){header{padding:15px var(--gutter);min-height:78px}.header-cta{display:none}.menu-toggle{display:block;color:inherit;border:1px solid currentColor;min-height:44px}.nav{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;background:var(--paper);color:var(--ink);padding:18px var(--gutter) 30px;border-bottom:1px solid var(--line);gap:0;font-size:19px}.nav.open{display:flex}.nav a{padding:12px 0;min-height:48px}.hero{height:100svh;min-height:690px}.hero h1{font-size:clamp(60px,9vw,90px)}.intro{gap:6%}.intro-copy p{font-size:22px}.whole-head p{font-size:20px}.services{gap:7%}.service-rows h3{font-size:24px}.workflow-panels article{grid-template-columns:1.6fr 1fr}.panel-index{display:none}.since .year{font-size:125px}.slide{flex-basis:90%}.since{gap:35px 6%}}
@media(max-width:600px){:root{--gutter:24px;--section-space:72px}body{font-size:18px}.brand b{font-size:38px}.brand span{font-size:12px}.hero{min-height:730px;height:100svh;max-height:1050px}.hero-copy{padding:140px var(--gutter) 135px;justify-content:end}.hero h1{font-size:clamp(52px,11.5vw,70px);letter-spacing:-1.5px;margin:24px 0}.hero .eyebrow{font-size:12px;letter-spacing:2px}.hero .services-line{font-size:18px;max-width:310px}.hero .promise{font-size:18px;line-height:1.65;max-width:320px}.hero .actions{gap:24px;margin-top:26px}.hero .button{padding:13px 18px;font-size:16px}.hero-bottom{bottom:27px;align-items:center}.hero-explore{font-size:14px;gap:12px}.video-toggle{font-size:14px}.hero:after{background:linear-gradient(0deg,#17221bd9,rgba(23,34,27,.14) 85%),linear-gradient(270deg,#17221b6e,transparent)}.hero-media img{object-position:57%}.section h2,.section-head h2{font-size:42px;letter-spacing:-1px;line-height:1.14}.gallery{padding:55px 0 15px}.section-head{margin-bottom:30px;display:block}.section-head .gallery-note{font-size:16px;margin-top:20px}.track{gap:16px}.slide{flex-basis:94%}.slide img{aspect-ratio:1.04}.slide figcaption{display:block;font-size:21px}.slide figcaption small{display:block;text-align:right;font-size:14px;max-width:none;margin-top:5px}.gallery-controls{padding-top:15px}.intro,.whole-head,.services,.since,.faq,.contact{grid-template-columns:1fr;gap:34px}.intro-copy p{font-size:22px}.intro-copy .note{font-size:16px}.whole-head{margin-bottom:35px}.whole-head p{font-size:20px}.split-image{grid-template-columns:1fr .65fr;gap:14px;align-items:start}.split-image img{aspect-ratio:.78}.split-image figure:nth-child(2){display:block;padding-top:50px}.split-image figure:nth-child(2) img{aspect-ratio:.7}.benefits{grid-template-columns:1fr;gap:30px;margin-top:40px}.benefit{padding-top:24px}.benefit h3{font-size:27px}.benefit p{font-size:18px}.services-intro{position:static}.service-visual{margin-top:30px}.service-visual img{aspect-ratio:1.7}.service-rows h3{font-size:25px}.service-rows article{padding:25px 0}.since .year{font-size:145px}.since h2{font-size:40px}.since p{font-size:20px}.office-location{grid-column:auto;padding-top:24px;display:block}.office-location p{font-size:17px;margin:8px 0}.office-location a{display:inline-block;margin-top:6px}.workflow-heading{display:block}.workflow-heading p{font-size:20px;margin-top:20px}.workflow-rail{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin:40px 0 28px}.workflow-rail:before{right:12.5%;left:12.5%;top:22px;bottom:auto;width:auto;height:1px}.workflow-rail button{display:flex;flex-direction:column;align-items:center;text-align:center;gap:0;padding:0 2px;min-height:108px}.step-node{width:44px;height:44px}.step-label{font-size:16px;line-height:1.4;margin-top:16px;max-width:80px}.step-hint{display:none}.workflow-panels{min-height:350px;padding:28px 0}.workflow-panels article{display:block}.workflow-panels h3{font-size:28px}.workflow-panels p{font-size:18px}.stage-outcome{padding:18px 0 0;margin-top:24px;border-right:0;border-top:1px solid var(--line)}.stage-outcome p{font-size:16px;margin-top:10px}.stage-outcome p br{display:none}.stage-outcome p br:after{content:' '}.workflow-bottom{gap:15px}.faq summary{font-size:21px}.faq details p{font-size:18px}.contact{padding-bottom:65px}.contact h2{font-size:46px}.contact-form{margin-top:14px}.form-step{gap:24px 18px}.contact-form label{font-size:15px}.contact-form select,.contact-form input{font-size:16px}.form-step>button{grid-column:1/-1;width:100%}.form-actions{gap:20px}.form-actions>button:first-child{width:100%}.direct-contact a{font-size:17px}footer{padding-bottom:100px}.footnote{padding-bottom:92px}.mobile-contact{display:flex;position:fixed;bottom:0;right:0;left:0;z-index:6;background:var(--paper);border-top:1px solid var(--line);padding:10px var(--gutter) calc(10px + env(safe-area-inset-bottom));gap:20px;align-items:center;justify-content:space-between;transform:translateY(110%);transition:transform .3s}.mobile-contact.visible{transform:none}.mobile-contact a{font-size:15px;min-height:44px;display:flex;align-items:center;justify-content:center}.mobile-contact a:first-child{background:var(--ink);color:var(--paper);padding:8px 15px;flex:1}dialog{padding:14px;width:100vw;max-height:100svh;height:100svh;margin:0}dialog img{height:calc(100svh - 155px);max-height:none}.lightbox-bottom{align-items:start;gap:10px}.lightbox-bottom p{font-size:15px}.lightbox-bottom>div{gap:3px}dialog button{padding:8px 10px}.kicker{font-size:12px;line-height:1.6}}
@media(max-width:360px){:root{--gutter:18px}.hero h1{font-size:49px}.hero .services-line{font-size:16px}.hero .actions{gap:18px}.brand span{letter-spacing:1px}.form-step{grid-template-columns:1fr}.step-label{font-size:15px}.mobile-contact{gap:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal,body.motion .reveal.pending{opacity:1;transform:none}}

/* Hebrew editorial labels and service detail links. */
.kicker,.benefit>span,.service-rows small,.service-visual figcaption{letter-spacing:0;font-family:inherit;font-size:14px}.service-page-link{display:inline-block;margin-top:18px;border-bottom:1px solid currentColor;font-size:16px;padding-block:6px}.service-symbol{font-size:0!important;width:18px;height:18px;position:relative;flex:none}.service-symbol:before,.service-symbol:after{content:"";position:absolute;background:currentColor;top:8px;left:1px;width:16px;height:1px}.service-toggle[aria-expanded="false"] .service-symbol:after{transform:rotate(90deg)}

/* Always visible direct contact in the header, including narrow phones. */
.header-direct{display:flex;gap:18px;align-items:center;flex-shrink:0}.header-direct a{display:flex;align-items:center;gap:7px;min-height:44px;font-size:16px;white-space:nowrap}.header-direct svg,.direct-contact svg,.footer-contact svg,.mobile-contact svg{width:20px;height:20px;flex:none}.direct-contact a,.footer-contact a{gap:10px}.mobile-contact a{gap:8px}
@media(min-width:1101px){header .nav{gap:14px;font-size:14px}header{gap:16px}.header-direct{gap:12px}.header-cta{font-size:14px}}
@media(min-width:701px) and (max-width:1300px){header .header-cta{display:none}}
@media(max-width:700px){header{flex-wrap:wrap;row-gap:4px;padding-block:10px}.header-direct{order:4;flex-basis:100%;justify-content:space-between;border-top:1px solid currentColor;gap:12px}.header-direct a{font-size:16px;min-height:42px}header .header-cta{display:none}.hero-copy{padding-top:175px}html{scroll-padding-top:145px}.nav.open{top:125px}}
