/* SL Projects: architectural editorial; variance 7, motion 6, density 3.
   Fixed light theme, blue brand accent, square geometry, native progressive motion. */

:root{--paper:#f6f7f7;--ink:#14272d;--muted:#58666b;--line:#ccd3d5;--blue:#176585;--space:clamp(24px,5vw,88px);font-family:Manrope,Arial,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:6px}::selection{background:#b9d5e1}html{scroll-behavior:smooth;scroll-padding-top:100px}p{font-size:16px;line-height:1.8;color:var(--muted)}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:500}img{display:block;width:100%;height:100%;object-fit:cover}.wrap{padding-inline:var(--space);max-width:1680px;margin:auto}.skip{position:fixed;left:20px;top:-70px;background:white;padding:15px;z-index:100}.skip:focus{top:10px}header{height:88px;border-bottom:1px solid var(--line);background:var(--paper);position:relative;z-index:30}.nav{height:100%;display:flex;align-items:center;justify-content:space-between;gap:30px}.logo{width:205px;height:53px;display:flex;align-items:center}.logo img{height:auto;object-fit:contain}.navlinks{display:flex;align-items:center;gap:38px;font-size:14px}.navlinks a{padding-block:14px;position:relative}.navlinks a::after{content:'';position:absolute;bottom:5px;left:0;width:100%;height:1px;background:var(--blue);transform:scaleX(0);transform-origin:left;transition:transform .25s}.navlinks a:hover::after,.navlinks a[aria-current=page]::after{transform:scaleX(1)}.navlinks a:last-child{border:1px solid var(--ink);padding:12px 23px}.navlinks a:last-child::after{display:none}.menu{display:none;border:1px solid var(--line);background:none;padding:10px 14px}.hero{padding-top:48px}.eyebrow{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--blue);font-weight:700;margin-bottom:22px}.hero-top{display:grid;grid-template-columns:1fr 300px;align-items:end;gap:35px;margin-bottom:42px}.hero h1{font-size:clamp(46px,6.5vw,100px);line-height:1.06;letter-spacing:-.065em;margin:0;max-width:1050px}.hero h1 span{color:var(--blue)}.hero-side p{margin-bottom:22px;max-width:290px}.textlink{font-size:14px;display:inline-block;border-bottom:1px solid var(--ink);padding-bottom:7px;transition:color .2s}.textlink:hover{color:var(--blue)}.hero-photo{height:clamp(320px,43vw,600px);overflow:hidden;position:relative;background:#ccd8dd}.hero-photo img{object-position:50% 57%;height:120%;position:absolute;top:-10%}.image-meta{display:flex;justify-content:space-between;gap:20px;font-size:12px;padding-top:15px;color:var(--muted)}.section{padding-block:110px}.intro{display:grid;grid-template-columns:1fr 2fr;gap:8vw;border-bottom:1px solid var(--line)}.intro h2{font-size:clamp(28px,3.4vw,52px);line-height:1.28;letter-spacing:-.045em;max-width:940px;margin-bottom:26px}.intro p{max-width:620px}.since{font-size:70px;letter-spacing:-.06em;line-height:1;margin-bottom:15px}.small{font-size:13px;color:var(--muted)}.section-title{font-size:clamp(36px,4.5vw,64px);line-height:1.15;letter-spacing:-.05em;margin-bottom:28px}.services{display:grid;grid-template-columns:.85fr 1.4fr;gap:10vw}.services-intro{position:sticky;top:50px;align-self:start}.services-intro p{max-width:330px}.service{border-top:1px solid var(--line);padding-block:27px}.service:last-child{border-bottom:1px solid var(--line)}.service summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:clamp(23px,2.3vw,34px);letter-spacing:-.04em;cursor:pointer}.service summary::-webkit-details-marker{display:none}.service summary::after{content:'+';font-size:26px;font-weight:400;color:var(--blue)}.service[open] summary::after{content:'−'}.service p{max-width:560px;margin-top:22px;margin-bottom:20px}.service a{margin-bottom:4px}.projects{border-top:1px solid var(--line)}.project-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:60px 60px;margin-top:45px}.project:nth-child(even){padding-top:100px}.project .photo{height:400px;overflow:hidden;background:#dde3e4}.project:nth-child(even) .photo{height:320px}.project img{transition:transform .65s cubic-bezier(.2,.7,.2,1)}.project:hover img{transform:scale(1.035)}.project h3{font-size:24px;letter-spacing:-.04em;margin:19px 0 5px}.project .small{margin:0}.projects-more{margin-top:45px}.craft{display:grid;grid-template-columns:1.25fr .75fr;gap:8vw;align-items:center;border-top:1px solid var(--line)}.craft .photo{height:590px;overflow:hidden}.craft img{height:120%;margin-top:-10%}.craft h2{max-width:420px}.craft p{max-width:400px}.contact-strip{border-top:1px solid var(--line);padding-block:75px;display:grid;grid-template-columns:1.4fr 1fr;gap:60px;align-items:end}.contact-strip h2{font-size:clamp(40px,5vw,76px);letter-spacing:-.055em;line-height:1.15;margin:0}.contact-strip .contactlinks{justify-self:end;display:grid;gap:16px;text-align:right}.contact-strip a{font-size:18px}.contact-strip a:hover{color:var(--blue)}footer{border-top:1px solid var(--line);padding-block:28px}.footer-row{display:flex;justify-content:space-between;gap:24px;font-size:12px;color:var(--muted)}.pagehero{padding-block:70px 55px}.pagehero h1{font-size:clamp(44px,6vw,88px);letter-spacing:-.06em;line-height:1.08;max-width:1100px;margin-bottom:25px}.pagehero p{max-width:800px;font-size:19px}.pagehero .breadcrumb{font-size:13px;margin-bottom:35px;color:var(--muted)}.detail-photo{height:560px;overflow:hidden}.detail-copy{max-width:850px;padding-block:70px;font-size:21px;line-height:1.7}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding-bottom:90px}.gallery button{padding:0;border:0;background:#e3e7e8;overflow:hidden;height:390px}.gallery button img{transition:transform .4s}.gallery button:hover img{transform:scale(1.03)}dialog{border:none;padding:0;background:#f6f7f7;width:min(1100px,94vw);max-height:94dvh;color:var(--ink)}dialog::backdrop{background:rgb(12 24 30 / .82)}dialog img{height:75dvh;object-fit:contain}dialog .dialogbar{display:flex;justify-content:space-between;align-items:center;padding:16px 24px}dialog button{background:none;border:1px solid var(--line);padding:8px 15px}.contact-layout{display:grid;grid-template-columns:1fr 1.3fr;gap:10vw;padding-bottom:90px}.contact-info p{font-size:18px}.contact-info a{display:block;margin-bottom:16px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}label{display:block;font-size:14px}input,textarea{width:100%;display:block;border:0;border-bottom:1px solid #89969b;background:#edf0f1;color:var(--ink);padding:14px;margin-top:9px;border-radius:0}textarea{resize:vertical;min-height:150px}.wide{grid-column:1/-1}.solid{display:inline-block;border:1px solid var(--blue);background:var(--blue);color:white;padding:15px 25px;font-size:14px}.solid:hover{background:#104b64}.form-note{font-size:13px;margin-top:16px}.status{font-size:14px;color:var(--blue)}.reveal{opacity:1}.js-motion .reveal{opacity:0;transform:translateY(26px);transition:opacity .8s,transform .8s}.js-motion .reveal.in-view{opacity:1;transform:none}@supports(animation-timeline:view()){.parallax{animation:parallax linear both;animation-timeline:view();animation-range:entry 0% exit 100%}@keyframes parallax{from{transform:translateY(-5%)}to{transform:translateY(5%)}}}.hero-top{animation:enter .8s ease-out both}@keyframes enter{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@media(min-width:1600px){.hero-top{grid-template-columns:1fr 350px}}@media(max-width:900px){.hero-top{grid-template-columns:1fr 235px}.hero h1{font-size:60px}.navlinks{gap:22px}.services{gap:6vw}.project-grid{gap:35px}.project .photo{height:300px}.project:nth-child(even) .photo{height:260px}.craft .photo{height:450px}.contact-strip{gap:30px}.contact-strip a{font-size:16px}}@media(max-width:680px){header{height:76px}.logo{width:166px;height:45px}.menu{display:block}.navlinks{display:none;position:absolute;top:76px;left:0;right:0;background:var(--paper);padding:25px var(--space);border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:10px}.navlinks.open{display:flex}.navlinks a:last-child{text-align:center}.hero{padding-top:32px}.hero-top{display:block;margin-bottom:30px}.hero h1{font-size:clamp(42px,10.5vw,65px);margin-bottom:25px}.hero-side p{max-width:360px;font-size:15px;margin-bottom:15px}.hero-photo{height:360px;margin-inline:calc(-1 * var(--space))}.hero-photo img{object-position:56% 50%}.image-meta{font-size:11px}.image-meta span:last-child{display:none}.section{padding-block:65px}.intro,.services,.craft,.contact-strip,.contact-layout{grid-template-columns:1fr;gap:32px}.intro .since{font-size:50px}.intro h2{font-size:30px}.services-intro{position:static}.services-intro p{max-width:100%}.section-title{font-size:39px}.project-grid{grid-template-columns:1fr;gap:38px;margin-top:30px}.project:nth-child(even){padding-top:0}.project .photo,.project:nth-child(even) .photo{height:300px}.project h3{font-size:23px}.craft .photo{height:410px}.contact-strip{padding-block:60px}.contact-strip .contactlinks{justify-self:start;text-align:left}.contact-strip h2{font-size:46px}.footer-row{flex-direction:column;gap:12px}.pagehero{padding-block:45px 30px}.pagehero h1{font-size:45px}.pagehero p{font-size:17px}.detail-photo{height:360px}.detail-copy{padding-block:40px;font-size:18px}.gallery{grid-template-columns:1fr;padding-bottom:55px}.gallery button{height:330px}.form-grid{grid-template-columns:1fr}.wide{grid-column:auto}.contact-layout{padding-bottom:60px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.js-motion .reveal{opacity:1;transform:none}.parallax{transform:none!important}}

/* Developer signature: restrained entrance and an underline on hover/focus. */
.footer-row{align-items:center}.developer-credit{display:inline-flex;align-items:center;gap:10px;padding-block:6px;white-space:nowrap;min-height:32px}.credit-caption{font-size:12px;color:var(--muted)}.credit-brand{position:relative;display:inline-flex;font-size:14px;font-weight:700;letter-spacing:-.035em;color:var(--ink);transition:color .25s,transform .25s}.credit-domain{color:var(--blue)}.credit-brand::after{content:'';position:absolute;left:0;right:0;bottom:-4px;height:1px;background:var(--blue);transform:scaleX(0);transform-origin:right;transition:transform .4s cubic-bezier(.2,.7,.2,1)}.developer-credit:hover .credit-brand,.developer-credit:focus-visible .credit-brand{color:var(--blue);transform:translateY(-2px)}.developer-credit:hover .credit-brand::after,.developer-credit:focus-visible .credit-brand::after{transform:scaleX(1);transform-origin:left}@supports(animation-timeline:view()){.developer-credit{animation:credit-arrive linear both;animation-timeline:view();animation-range:entry 0% entry 100%}@keyframes credit-arrive{from{opacity:.35;translate:0 8px}to{opacity:1;translate:0 0}}}@media(max-width:680px){.footer-row{align-items:flex-start}.developer-credit{gap:9px}}@media(prefers-reduced-motion:reduce){.developer-credit,.credit-brand,.credit-brand::after{animation:none!important;transition:none!important;translate:none!important}.developer-credit:hover .credit-brand,.developer-credit:focus-visible .credit-brand{transform:none}}
/* Multilingual navigation and writing-system support. */
:root{font-family:Manrope,'Noto Sans','Noto Sans Hebrew',Arial,sans-serif}.nav{gap:24px}.navlinks{gap:clamp(18px,2.4vw,38px);margin-inline-start:auto}.nav-tools{display:flex;align-items:center;gap:12px}.language-switch{position:relative;flex-shrink:0;font-size:14px}.language-switch summary{list-style:none;cursor:pointer;min-height:44px;display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid var(--line)}.language-switch summary::-webkit-details-marker{display:none}.language-switch summary::after{content:'+';color:var(--blue);font-size:18px}.language-switch[open] summary::after{content:'−'}.language-options{position:absolute;inset-inline-end:0;top:calc(100% + 8px);background:var(--paper);border:1px solid var(--line);padding:8px;min-width:170px;z-index:60;box-shadow:0 8px 25px rgb(20 39 45 / .08)}.language-options a{display:block;padding:11px 14px;min-height:44px}.language-options a:hover,.language-options a[aria-current]{background:#e4edf0;color:var(--blue)}.page-spacer{height:45px}.error-languages{display:flex;flex-wrap:wrap;gap:24px}html[lang=el] h1,html[lang=de] h1,html[lang=it] h1,html[lang=es] h1{font-size:clamp(42px,5.6vw,84px)}html[lang=el] .hero h1{font-size:clamp(38px,5vw,76px)}html[dir=rtl]{font-family:'Noto Sans Hebrew',Arial,sans-serif}html[dir=rtl] h1,html[dir=rtl] h2,html[dir=rtl] h3{letter-spacing:-.025em}html[dir=rtl] .contact-strip .contactlinks{text-align:left}html[dir=rtl] .skip{left:auto;right:20px}.hero-top>*,.services>*,.contact-layout>*{min-width:0}.pagehero h1,.service summary{overflow-wrap:anywhere}.navlinks a,.solid{white-space:nowrap}@media(max-width:1050px){.navlinks{gap:16px;font-size:13px}.logo{width:170px}.nav{gap:18px}.language-switch summary{font-size:13px;padding:10px}.navlinks a:last-child{padding:10px 14px}}@media(min-width:681px) and (max-width:900px){.navlinks{gap:12px}.logo{width:145px}.nav{gap:12px;padding-inline:24px}html[lang=de] .navlinks,html[lang=el] .navlinks{font-size:12px}.hero-top{grid-template-columns:1fr}.hero-side{max-width:600px}.hero-side p{max-width:100%}}@media(max-width:680px){.nav{padding-inline:var(--space);gap:12px}.logo{width:150px}.nav-tools{gap:8px}.menu{min-height:44px;padding:9px}.language-switch summary{max-width:115px;padding:8px}.navlinks{margin-inline-start:0;font-size:16px;z-index:50}html[lang] .hero h1{font-size:clamp(34px,8.8vw,56px)}html[lang] .pagehero h1{font-size:clamp(36px,9vw,46px)}.service summary{font-size:23px}html[dir=rtl] .contact-strip .contactlinks{text-align:right}html:not(.js-ready) header{height:auto;min-height:76px}html:not(.js-ready) .nav{flex-wrap:wrap;padding-block:15px}html:not(.js-ready) .navlinks{display:flex;position:static;order:3;width:100%;padding:12px 0}html:not(.js-ready) .menu{display:none}.language-options{min-width:165px}}
