/* Website landing: image-led hero, compact network and linked client map. */
body.direction-b.ocean-concept.website-landing.premium-landing{--hero-overlap:140px;--hero-nav-space:90px;--premium-ink:#edf3ef;--premium-muted:#a9bdb5;--premium-line:#d8eee61c;background:#fff}
/* Floating navigation stays readable over both light and dark chapters. */
.premium-landing .web-header {
  position:sticky; top:18px; z-index:60;
  width:min(1240px,calc(100% - 80px)); margin:18px auto 0; padding:12px 14px 12px 24px;
  border:1px solid #ffffffde; border-radius:18px;
  background:linear-gradient(125deg,#fffffff0,#edf4efe0);
  box-shadow:inset 0 1px 0 #fff,0 7px 28px #153b2910,0 1px 3px #153b2908;
  backdrop-filter:blur(22px) saturate(130%); -webkit-backdrop-filter:blur(22px) saturate(130%);
}
.premium-landing .web-header::after{display:none}
.premium-landing .web-brand img{width:128px;height:auto;filter:brightness(0) saturate(100%);opacity:.88}
.premium-nav{display:flex;gap:28px;margin-left:auto;align-items:center}
.premium-nav a{font-size:13px;font-weight:500;text-decoration:none;color:#38534a;padding-block:12px}
.premium-nav a:hover{color:#122b23}
.premium-landing .web-header .header-contact {
  height:46px; min-height:46px; padding:0 19px; gap:16px; border-radius:10px;
  color:#fff; background:linear-gradient(135deg,#2f6654,#204b3d); border:1px solid #285a49;
  box-shadow:inset 0 1px 0 #ffffff24,0 3px 10px #17372c0d;
  backdrop-filter:none; -webkit-backdrop-filter:none;
}
.premium-landing .web-header .header-contact:hover{background:#204b3d;transform:none;box-shadow:inset 0 1px 0 #ffffff24,0 4px 14px #17372c24}
.premium-landing .web-header .header-contact::after{display:none}
.premium-landing .header-contact .cta-label{font-size:13px;white-space:nowrap}
.premium-landing .header-contact .link-arrow{width:18px;height:18px;stroke-width:2.2}
.premium-landing .skip-link{z-index:70}
.premium-landing main>[id]{scroll-margin-top:100px}
.premium-landing .web-header a:focus-visible{outline:2px solid #286179;outline-offset:4px}
/* Office atmosphere fades into white; real working photographs remain uncaptioned. */
.premium-landing .web-hero.image-hero{display:block;min-height:0;margin:calc(-1 * var(--hero-nav-space)) 0 0;padding:var(--hero-nav-space) 0 0;background:linear-gradient(to bottom,#fff calc(100% - var(--hero-overlap)),transparent calc(100% - var(--hero-overlap)));isolation:isolate;overflow:hidden;text-align:center;z-index:1}
.image-hero::before,.image-hero::after{display:none!important}
.image-hero-layout{display:block;width:100%;max-width:none;margin:0;padding:0;background:none}
.image-hero-intro{position:relative;isolation:isolate;padding:172px 0 30px}
.image-hero-atmosphere{position:absolute;inset:calc(-1 * var(--hero-nav-space) - 24px) 0 -14px;z-index:-2;overflow:hidden;pointer-events:none;-webkit-mask-image:linear-gradient(180deg,#000 0%,#000 58%,transparent 96%);mask-image:linear-gradient(180deg,#000 0%,#000 58%,transparent 96%)}
.image-hero-atmosphere img{display:block;width:140%;max-width:none;height:100%;margin-left:-20%;object-fit:cover;object-position:center 40%;filter:blur(4px);opacity:.5}
.image-hero-intro::after{content:"";position:absolute;inset:calc(-1 * var(--hero-nav-space) - 26px) 0 -16px;z-index:-1;pointer-events:none;background:radial-gradient(ellipse 48% 88% at 50% 48%,#fff 20%,#fffffff2 44%,#ffffff85 72%,#ffffff00 100%),linear-gradient(90deg,#fff 0%,#ffffff00 15%,#ffffff00 85%,#fff 100%)}
.image-hero-copy{position:relative;width:calc(100% - 48px);max-width:920px;margin-inline:auto}
.premium-landing .image-hero h1{font-size:clamp(42px,4.1vw,60px);font-weight:650;line-height:1.1;letter-spacing:-.048em;max-width:920px!important;margin:0 auto;color:#17372c;text-shadow:none;text-wrap:balance}
.image-hero-cta{display:inline-flex;margin-top:40px;align-items:center;justify-content:center;gap:22px;min-height:52px;padding:14px 24px;border:1px solid #285a49;border-radius:10px;color:#fff;background:linear-gradient(135deg,#2f6654,#204b3d);box-shadow:inset 0 1px 0 #ffffff24,0 7px 20px #17372c1a;font-size:15px;font-weight:600;text-decoration:none;transition:background .2s,border-color .2s,box-shadow .2s}
.image-hero-cta:hover{background:linear-gradient(135deg,#285b49,#183c30);border-color:#204b3d;box-shadow:inset 0 1px 0 #ffffff24,0 9px 24px #17372c26}.image-hero-cta:focus-visible{outline:2px solid #244d40;outline-offset:5px}
.image-hero-gallery{display:flex;align-items:flex-start;gap:20px;width:calc(100% - 80px);max-width:none;margin:76px auto 0;padding:0 0 12px;border:0;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scroll-padding-inline:0;scrollbar-width:thin;scrollbar-color:#c7d2cb transparent}
.image-hero-gallery:focus-visible{outline:2px solid #426d5b;outline-offset:-3px;border-radius:22px}
.image-hero-gallery.is-looping{scroll-snap-type:none;scroll-behavior:auto;scrollbar-width:none}
.image-hero-gallery.is-looping::-webkit-scrollbar{display:none}
.hero-scene{position:relative;flex:0 0 calc((100% - 40px)/3);min-width:0;min-height:0;margin:0;border-radius:22px;background:#e7e9e3;overflow:hidden;isolation:isolate;aspect-ratio:4/3;scroll-snap-align:start}
.hero-scene img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover}
.hero-scene-focus img{object-position:center 40%}.hero-scene-workstation img{object-position:45% center}.hero-scene-portrait img{object-position:center 24%}
@media(min-width:851px){.hero-scene[data-hero-parallax="outer"]{margin-top:32px}.hero-scene[data-hero-parallax]{translate:0 var(--hero-parallax-y,0px)}}
@media(min-width:1600px){.hero-scene{flex-basis:calc((100% - 60px)/4)}}
@media(min-width:2400px){.hero-scene{flex-basis:calc((100% - 80px)/5)}}
@media(max-width:1100px){.premium-landing .web-hero.image-hero{padding-bottom:0}.image-hero-intro{padding-top:140px}.premium-landing .image-hero h1{font-size:clamp(40px,4.8vw,52px)}.image-hero-gallery{gap:16px}.hero-scene{flex-basis:calc((100% - 32px)/3)}}
@media(max-width:850px){.premium-landing .web-header{width:calc(100% - 56px)}.image-hero-intro{padding-top:116px}.image-hero-copy{max-width:700px}.premium-landing .image-hero h1{font-size:clamp(36px,5.5vw,44px)}.image-hero-gallery{width:calc(100% - 56px)}.hero-scene{flex-basis:calc((100% - 16px)/2)}}
@media(max-width:580px){body.direction-b.ocean-concept.website-landing.premium-landing{--hero-nav-space:76px}.premium-landing .web-hero.image-hero{padding:var(--hero-nav-space) 0 0}.image-hero-intro{padding:92px 0 26px}.image-hero-atmosphere{inset:calc(-1 * var(--hero-nav-space) - 16px) -32% -20px}.image-hero-atmosphere img{width:100%;margin-left:0;object-position:60% center;opacity:.32}.image-hero-intro::after{background:radial-gradient(ellipse 70% 90% at 50% 42%,#fffffff2 25%,#ffffffa8 70%,#ffffff38 100%)}.image-hero-copy{width:calc(100% - 40px)}.premium-landing .image-hero h1{font-size:clamp(31px,8.6vw,40px);line-height:1.13;letter-spacing:-.04em}.image-hero h1 br{display:none}.image-hero-cta{margin-top:32px}.image-hero-gallery{width:calc(100% - 40px);gap:14px;padding:0 0 12px;margin-top:48px}.hero-scene{flex-basis:82%;height:240px;aspect-ratio:auto;border-radius:20px}}
@media(prefers-reduced-motion:reduce){.image-hero-cta{transition:none}.image-hero-gallery{scroll-behavior:auto}.hero-scene[data-hero-parallax]{translate:none}[data-gallery-copy]{display:none}}
/* The green chapter starts behind the lower part of the photo row. */
.premium-landing .web-problem{margin-top:calc(-1 * var(--hero-overlap));padding-top:calc(var(--hero-overlap) + 74px)}
/* A visual before/after story; the example interfaces are illustrative, not client work. */
.premium-landing .website-story{overflow:clip}
.website-story .section-intro>p{max-width:670px;margin-inline:auto}
.website-story-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:42px;max-width:1140px;margin-inline:auto}
.website-story-side{min-width:0;text-align:left}
.story-label{display:flex;align-items:center;gap:12px;margin-bottom:22px;color:#214f3b}
.website-landing .story-label h3{font-size:19px;line-height:1.4;letter-spacing:-.025em;font-weight:550;color:inherit}
.story-status{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#d7e4d8;color:#315e47;font-size:20px;line-height:1}
.story-before .story-label{color:#865349}
.story-before .story-status{background:#f0ddd6;color:#945043}
.story-browser{border:1px solid #ffffffc4;border-radius:16px;overflow:hidden;box-shadow:0 12px 30px #163b2410,inset 0 1px 0 #fff;background:#fff}
.story-browser-bar{height:36px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:0 15px;background:#f1f3ef;border-bottom:1px solid #2546330d;color:#6b776f;font-size:10px;letter-spacing:.02em}
.browser-dots{display:flex;gap:5px}.browser-dots i{width:5px;height:5px;border-radius:50%;background:#bbc5bd}
.browser-window-icon{height:10px;width:13px;border:1px solid #9caba1;border-radius:2px}
.story-screen{height:284px;padding:24px 28px;color:#17372c}
.browser-before .story-screen{background:#f7f6f2;color:#696960}
.example-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:9px;line-height:1.3;margin-bottom:30px}
.example-nav>span:first-child{font-size:11px;font-weight:700;letter-spacing:.025em}
.example-old-layout{display:grid;grid-template-columns:minmax(0,1fr) 35%;gap:22px}
.example-old-heading{font-family:Georgia,serif;font-size:23px;line-height:1.25;color:#5b6059;margin-bottom:18px}
.example-text-lines{display:grid;gap:6px}.example-text-lines i{display:block;width:100%;height:3px;background:#d1d2cb}.example-text-lines i:last-child{width:62%}
.example-old-news{padding:14px 12px;background:#e9e5dd;border:1px solid #dbd6cc}
.example-old-news>span{font-size:8px;letter-spacing:.08em}.example-old-news strong{display:block;font-size:13px;line-height:1.5;font-weight:500;color:#73574d;margin:12px 0 18px}
.example-old-footer{display:flex;justify-content:space-between;gap:10px;margin-top:26px;padding-top:12px;border-top:1px solid #d2d1c7;font-size:8px;color:#77766b}
.example-old-footer>span:last-child{text-decoration:underline}
.browser-after .story-screen{background:radial-gradient(ellipse at 100% 100%,#d4e4cb,transparent 70%),#f8fbf6}
.example-new-heading{font-size:31px;line-height:1.08;font-weight:600;letter-spacing:-.045em}
.example-new-description{font-size:11px;line-height:1.55;max-width:270px;margin-top:13px;color:#526c5c}
.example-new-action{display:flex;align-items:center;gap:20px;margin-top:23px}
.example-new-action>span:first-child{display:flex;align-items:center;gap:16px;border-radius:6px;padding:11px 14px;background:#285640;color:#fff;font-size:10px;font-weight:600}
.example-new-action svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.example-device{display:flex;align-items:center;gap:5px;color:#4f6c59;font-size:9px;white-space:nowrap}
.example-device svg{width:17px;height:20px}
.story-points{display:grid;gap:17px;padding:0;margin:28px 0 0;list-style:none}
.story-points li{display:grid;grid-template-columns:20px minmax(0,1fr);align-items:start;gap:12px;font-size:15px;line-height:1.6;color:#355c47}
.story-points svg{width:20px;height:20px;margin-top:2px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.story-before .story-points{color:#955a4c}.story-before .story-points li{color:#6e625a}.story-before .story-points svg{color:#a36b5c}
.website-story .story-example-note{text-align:center;font-size:11px;color:#607769;margin:36px auto 0}
@media(max-width:1000px){.website-story-grid{gap:26px}.story-screen{padding:22px 20px}.example-old-heading{font-size:21px}.example-new-heading{font-size:28px}.example-old-layout{gap:12px}.example-device{display:none}.example-nav{font-size:8px}.story-label{align-items:flex-start}.story-status{flex-shrink:0}.website-landing .story-label h3{font-size:18px}}
@media(max-width:760px){.website-story-grid{grid-template-columns:1fr;gap:38px;max-width:520px}.story-label{margin-bottom:16px}.story-points{gap:12px;margin-top:22px}.story-screen{height:300px;padding:24px}.example-device{display:flex}.website-story .section-intro>p{max-width:440px}.website-story .section-intro>p br{display:none}.website-story .story-example-note{max-width:260px;margin-top:28px}.example-nav{font-size:9px}}
@media(max-width:380px){.story-screen{padding:20px 16px}.example-new-heading{font-size:27px}.example-old-heading{font-size:20px}.example-old-layout{grid-template-columns:minmax(0,1fr) 34%}.example-old-news{padding:12px 8px}.example-new-action{gap:12px}.example-device{font-size:8px}.example-nav{font-size:8px}}
/* Quiet photographic details at the edges of two later sections. */
.premium-landing .web-services .section-intro>.services-lead{font-size:clamp(18px,1.6vw,22px);line-height:1.6;max-width:760px;text-wrap:balance}
.premium-landing .section-photo{position:absolute;z-index:-1;overflow:hidden;pointer-events:none;opacity:.16}
.section-photo img{display:block;width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(.9)}
.section-photo-sketch{left:-6%;top:-40px;width:min(59vw,760px);height:640px;-webkit-mask-image:radial-gradient(ellipse 66% 63% at 30% 40%,#000 18%,transparent 85%);mask-image:radial-gradient(ellipse 66% 63% at 30% 40%,#000 18%,transparent 85%)}
.section-photo-sketch img{object-position:center 38%}
.section-photo-collaboration{right:-6%;top:0;width:min(60vw,820px);height:100%;-webkit-mask-image:radial-gradient(ellipse 68% 55% at 80% 42%,#000 12%,transparent 88%);mask-image:radial-gradient(ellipse 68% 55% at 80% 42%,#000 12%,transparent 88%)}
.section-photo-collaboration img{object-position:center 28%}
@media(max-width:850px){body.direction-b.ocean-concept.website-landing.premium-landing{--hero-overlap:112px}.section-photo-sketch{width:72vw;left:-16%}.section-photo-collaboration{width:75vw;right:-18%}}
@media(max-width:580px){body.direction-b.ocean-concept.website-landing.premium-landing{--hero-overlap:96px}.premium-landing .web-problem{padding-top:calc(var(--hero-overlap) + 54px)}.premium-landing .section-photo{opacity:.08}.section-photo-sketch{width:100%;height:540px;left:-20%}.section-photo-collaboration{width:110%;right:-36%;height:720px}}
/* Each process step uses a photograph of the actual work, with consistent crops. */
.premium-landing .offer-grid-steps .offer-image{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.premium-landing .process-photo-planning{object-position:center 44%}
.premium-landing .process-photo-wireframe{object-position:55% 33%}
.premium-landing .process-photo-development{object-position:center}
.premium-landing .process-photo-review{object-position:center 18%}
.premium-landing .process-photo-launch{object-position:45% center}
/* Nicola fills the left edge of the band, without an inset photo card. */
.website-landing.premium-landing .web-talk{display:block;height:auto;min-height:0;padding:0;background:linear-gradient(115deg,#285f71,#305d58 60%,#42654f);overflow:clip;--grain-light:#d7eee9;--grain-shade:#173e50;--grain-strength:.25}
.web-talk .talk-layout{display:grid;grid-template-columns:clamp(350px,35vw,620px) minmax(0,1fr);align-items:stretch;width:100%;max-width:none;margin:0;gap:0}
.website-landing.premium-landing .web-talk .talk-portrait{position:relative;width:100%;height:100%;min-height:440px;aspect-ratio:auto;overflow:hidden;margin:0;-webkit-mask-image:linear-gradient(90deg,#000 85%,transparent);mask-image:linear-gradient(90deg,#000 85%,transparent)}
.website-landing.premium-landing .web-talk .talk-portrait img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:50% 28%;border-radius:0}
.website-landing.premium-landing .web-talk .talk-panel{display:flex;align-items:center;padding:66px clamp(36px,6vw,100px);background:none;overflow:visible;isolation:auto}
.web-talk .talk-copy{max-width:660px}
.web-talk .talk-person{font-size:15px;font-weight:500;color:#cde2d6;margin:0 0 24px}
.website-landing.premium-landing .web-talk h2{font-size:clamp(36px,3.8vw,58px);font-weight:500;line-height:1.12;letter-spacing:-.04em;text-wrap:balance}
.web-talk .talk-actions{margin-top:32px;flex-direction:row;align-items:center}
.website-landing.premium-landing .talk-button{height:58px;min-height:58px;gap:25px;padding:0 25px;border:1px solid #f0f6efb3;border-radius:10px;background:#edf4ee;color:#183d2e;font-size:16px;box-shadow:0 5px 18px #102c281a;backdrop-filter:none;-webkit-backdrop-filter:none}
.website-landing.premium-landing .talk-button::after{display:none}
.website-landing.premium-landing .talk-button svg{display:block;stroke-width:2.3}
.website-landing.premium-landing .talk-button:hover{background:#fff;box-shadow:0 8px 22px #102c2826}
@media(max-width:900px){.web-talk .talk-layout{grid-template-columns:38% minmax(0,1fr)}.website-landing.premium-landing .web-talk .talk-portrait{min-height:380px}.website-landing.premium-landing .web-talk .talk-panel{padding:48px 32px}.website-landing.premium-landing .web-talk h2{font-size:36px}.web-talk h2 br{display:none}}
@media(max-width:600px){.web-talk .talk-layout{grid-template-columns:1fr}.website-landing.premium-landing .web-talk .talk-portrait{height:340px;min-height:0;-webkit-mask-image:none;mask-image:none}.website-landing.premium-landing .web-talk .talk-portrait img{object-position:50% 22%}.website-landing.premium-landing .web-talk .talk-panel{padding:32px 24px 44px}.web-talk .talk-person{margin-bottom:16px}.website-landing.premium-landing .web-talk h2{font-size:clamp(32px,8vw,38px)}.web-talk .talk-actions{margin-top:25px}.website-landing.premium-landing .talk-button{height:56px;min-height:56px}}
/* The people behind elovait, with a separate, smaller partner card. */
.compact-network{background:radial-gradient(ellipse at 85% 80%,#345d4533,transparent 60%),#101b1b;padding:88px 0;color:#d3e0d7;border-block:1px solid #bed9ca17}
.compact-network>.web-container{max-width:1000px}
.founders-intro{text-align:center;max-width:710px;margin:0 auto 42px}
.website-landing .compact-network h2{font-size:clamp(32px,3.5vw,46px);line-height:1.16;font-weight:500;letter-spacing:-.04em;color:#edf3ef}
.founders-intro>p{font-size:16px;line-height:1.75;color:#afc1b7;margin-top:22px;text-wrap:pretty}
.founders-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px;max-width:850px;margin-inline:auto}
.founder-profile{min-width:0;border:1px solid #cce6d725;border-radius:18px;overflow:hidden;background:linear-gradient(130deg,#ffffff08,#accdb204);box-shadow:0 12px 35px #0000000a}
.founder-portrait{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:50% 24%}
.founder-portrait-kaspar{object-position:50% 34%}
.founder-profile-copy{padding:26px 28px 24px}
.founder-focus{display:block;color:#9fc8b1;font-size:12px;font-weight:500;line-height:1.5}
.website-landing .founder-profile h3{font-size:27px;font-weight:500;line-height:1.25;letter-spacing:-.03em;color:#edf3ef;margin:9px 0 14px}
.founder-profile p{color:#afc1b7;font-size:14px;line-height:1.75;min-height:74px}
.founder-profile a{display:flex;align-items:center;justify-content:space-between;gap:15px;border-top:1px solid #d9e9df20;margin-top:22px;padding-top:18px;color:#e3ede6;font-size:14px;font-weight:500;text-decoration:none}
.founder-profile a:hover{color:#b9dfc7}
.elovait-partner{max-width:650px;margin:54px auto 0}
.elovait-partner-label{font-size:12px;color:#93ad9e;text-align:center;margin-bottom:16px}
.elovait-partner-card{position:relative;display:grid;grid-template-columns:180px minmax(0,1fr) 38px;gap:26px;align-items:center;overflow:hidden;border:1px solid #cde5d52b;border-radius:14px;background:#ffffff06;text-decoration:none;color:#d3e0d7;transition:background .2s,border-color .2s}
.elovait-partner-photo{display:block;width:100%;height:170px;object-fit:cover;object-position:62% center}
.elovait-partner-copy>img{display:block;width:115px;height:auto;margin-bottom:15px}
.elovait-partner-copy>span{display:block;font-size:13px;line-height:1.65;color:#afc1b7}
.elovait-partner-arrow{padding-right:18px}
.elovait-partner-card:hover{background:#ffffff0b;border-color:#cde5d555}
.founder-profile a:focus-visible,.elovait-partner-card:focus-visible{outline:2px solid #b6dbc8;outline-offset:5px}
@media(max-width:650px){.compact-network{padding:58px 0}.founders-intro{margin-bottom:30px}.founders-intro>p{font-size:15px}.founders-grid{grid-template-columns:1fr;max-width:420px;gap:24px}.founder-profile-copy{padding:23px}.founder-profile p{min-height:0}.elovait-partner{max-width:420px;margin-top:38px}.elovait-partner-card{grid-template-columns:120px minmax(0,1fr);gap:18px;padding-right:18px}.elovait-partner-photo{height:190px}.elovait-partner-copy>img{width:102px}.elovait-partner-copy>span{font-size:12px}.elovait-partner-arrow{position:absolute;right:15px;top:13px;padding:0}.elovait-partner-arrow svg{width:17px;height:17px}}

.client-map-section{scroll-margin-top:30px}
.reference-projects>.web-container>.section-intro{margin-top:65px;padding-top:60px;border-top:1px solid #315c4926}
.client-map-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:56px;align-items:center;max-width:1140px;margin-inline:auto}
.website-landing .client-map-copy h3{margin:0;color:#17372c;font-size:clamp(29px,3vw,40px);font-weight:500;line-height:1.15;letter-spacing:-.04em}
.client-map-copy>p{font-size:16px;line-height:1.8;color:#365447;margin:20px 0 0}
.client-map-copy>.client-map-credit{font-size:12px;line-height:1.65;color:#537366;margin-top:18px}
.client-map-stats{display:flex;gap:36px;margin:28px 0 0}.client-map-stats div{display:grid}.client-map-stats dt{font-size:44px;font-weight:550;letter-spacing:-.04em;line-height:1.1;color:#286179}.client-map-stats dd{margin:5px 0 0;font-size:13px;color:#4b6a5e}
.client-map-stage{position:relative;aspect-ratio:1000/640;isolation:isolate}.client-map-stage>img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 24px 36px #17372c33)}
.client-map-pins{position:absolute;inset:0}.client-map-point{position:static}.client-map-pin{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);display:grid;place-items:center;width:22px;height:22px;padding:0;background:none;border:0;border-radius:50%;z-index:1;list-style:none;cursor:pointer}.client-map-pin::-webkit-details-marker{display:none}
.client-map-pin:focus-visible{outline:2px solid #17372c;outline-offset:3px;z-index:8}.client-pin-dot{display:block;width:7px;height:7px;border:0;border-radius:50%;background:#fff;box-shadow:0 0 0 1.5px #17372c66;transition:transform .2s}
.pin-schaer{--pin-colour:#a9dce6}.pin-elovait{--pin-colour:#d5edaa}.pin-antigravity{--pin-colour:#f0f4f0}.pin-pending{--pin-colour:#7e9c91}
.client-map-pin:is(:hover,:focus-visible),.client-map-point[open] .client-map-pin{z-index:8}.client-map-pin:is(:hover,:focus-visible) .client-pin-dot,.client-map-point[open] .client-pin-dot{transform:scale(1.5);box-shadow:0 0 0 3px #fff3}
.client-pin-tip{position:absolute;left:50%;bottom:25px;transform:translateX(-50%);background:#132d25;color:#f0f5ed;box-shadow:0 8px 20px #0d291b30;border:1px solid #b6d4bf4a;border-radius:6px;padding:10px 13px;min-width:150px;max-width:230px;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .15s;font-size:11px;line-height:1.6;text-align:left;z-index:9}
.client-pin-tip strong{display:block;font-size:11px;font-weight:600;white-space:nowrap}.client-pin-tip>span{display:block;font-size:10px;color:#b5cfc2;margin-top:3px}
.client-map-point:not([open]) .client-map-pin:is(:hover,:focus-visible) .client-pin-tip{opacity:1;visibility:visible}
.client-map-popover{position:absolute;left:clamp(8px,calc(var(--x) - 140px),calc(100% - 288px));top:calc(var(--y) + 18px);z-index:10;width:280px;max-width:calc(100% - 16px);padding:13px 17px;background:#132d25;color:#f0f5ed;border:1px solid #a3c7b370;border-radius:8px;box-shadow:0 12px 36px #102c2840;text-align:left}
.client-popover-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid #b6d4bf30;padding-bottom:8px}.client-popover-heading>strong{font-size:12px;font-weight:550;line-height:1.5}.client-popover-heading button{display:grid;place-items:center;width:32px;height:32px;flex-shrink:0;border:0;background:transparent;color:#c6dcd0;font-size:21px;cursor:pointer}
.client-map-popover ul{list-style:none;margin:0;padding:0}.client-map-popover li+li{border-top:1px solid #b6d4bf24}.client-map-entry{padding:14px 0;color:#f0f5ed;min-height:58px}.client-map-entry strong{display:block;font-size:13px;line-height:1.5;font-weight:550}.client-map-entry small{display:block;font-size:10px;color:#b5cfc2;line-height:1.6;margin-top:4px}.client-popover-heading button:focus-visible{outline:2px solid #d5edaa;outline-offset:3px}.client-map-popover>p{font-size:12px;line-height:1.7;color:#b5cfc2;padding-block:13px}



/* Mobile navigation keeps the closed bar to one compact row. */
.mobile-menu{display:none}
@media(max-width:580px){
 .premium-landing .web-header{display:flex;top:10px;width:calc(100% - 28px);margin-top:10px;padding:10px 13px 10px 18px;gap:12px;border-radius:16px}
 .premium-landing .web-brand img{width:108px}
 .premium-landing .web-header>.premium-nav,.premium-landing .web-header>.header-contact{display:none}
 .mobile-menu{display:block;margin-left:auto}
 .mobile-menu summary{display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:10px;list-style:none;border:1px solid #315b441c;border-radius:10px;background:#ffffff70;color:#214b3a;cursor:pointer}
 .mobile-menu summary::-webkit-details-marker{display:none}
 .mobile-menu summary>svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
 .menu-close-icon,.mobile-menu[open] .menu-open-icon{display:none}.mobile-menu[open] .menu-close-icon{display:block}
 .mobile-menu summary:focus-visible{outline:2px solid #286179;outline-offset:3px}
 .mobile-navigation{position:absolute;left:0;right:0;top:calc(100% + 9px);display:grid;gap:3px;padding:12px;border:1px solid #ffffffe0;border-radius:16px;background:#f4f8f3f7;box-shadow:0 14px 40px #153b2929;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px)}
 .mobile-navigation a{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:50px;padding:13px 15px;color:#254f3d;font-size:14px;font-weight:500;text-decoration:none;border-radius:8px}
 .mobile-navigation a:hover{background:#e2ece2}
 .mobile-navigation .mobile-nav-contact{margin-top:5px;background:#285640;color:#fff}
 .mobile-navigation .mobile-nav-contact:hover{background:#1d4332}
 .mobile-navigation .link-arrow{width:18px;height:18px}
 .premium-landing main>[id]{scroll-margin-top:80px}
}
@media(max-width:1000px){.client-map-layout{grid-template-columns:1fr;gap:36px;max-width:700px}.client-map-copy{text-align:center;max-width:560px;margin-inline:auto}.client-map-stats{justify-content:center}}
@media(max-width:760px){.client-map-layout{max-width:550px}.reference-projects>.web-container>.section-intro{margin-top:45px;padding-top:35px}.website-landing .client-map-copy h3{font-size:30px}.client-map-copy>p{font-size:15px}.client-map-copy>.client-map-credit{font-size:12px}.client-map-stats dt{font-size:36px}.client-map-pin{width:18px;height:18px}.client-pin-dot{width:5px;height:5px}.client-map-popover{top:12px}.client-map-entry strong{font-size:14px}}

/* One clear arrow style; direction follows the link destination. */
.website-landing .link-arrow{display:inline-block;width:20px;height:20px;flex:0 0 20px;fill:none;stroke:currentColor;stroke-width:2.3;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle}
.website-landing .client-map-popover .link-arrow{color:#e4f0e8}

/* Concrete problems and outcomes remain easy to scan. */
/* One joined surface per outcome: the browser continues into its explanation. */
.website-story-side{display:flex;flex-direction:column;--story-edge:#a9c5b455;--story-tint:#eaf3eb;--story-ink:#355347;--story-accent:#24543c}
.website-story-side.story-before{--story-edge:#cc9f9659;--story-tint:#fbf0ed;--story-ink:#664b45;--story-accent:#8d4036}
.website-story-grid .story-label{min-height:32px;margin-bottom:18px;color:var(--story-accent)}
.website-landing .website-story-grid .story-label h3{font-size:22px;font-weight:600;line-height:1.35}
.story-comparison-card{display:flex;flex:1;flex-direction:column;overflow:hidden;border:1px solid var(--story-edge);border-radius:var(--elovait-radius,18px);background:var(--story-tint);box-shadow:0 12px 32px #17372c0b,inset 0 1px 0 #ffffffb3}
.story-comparison-card .story-browser{flex:none;border:0;border-bottom:1px solid var(--story-edge);border-radius:0;box-shadow:none}
.story-comparison-card .story-points{display:grid;grid-template-rows:repeat(5,1fr);flex:1;gap:0;margin:0;padding:10px 28px 16px}
.story-comparison-card .story-points li{gap:13px;padding:19px 0;font-size:16px;line-height:1.65;color:var(--story-ink)}
.story-comparison-card .story-points li+li{border-top:1px solid var(--story-edge)}
.story-comparison-card .story-points strong{display:block;margin-bottom:5px;font-size:16px;font-weight:650;color:var(--story-accent);letter-spacing:-.015em}
.story-comparison-card .story-points svg{margin-top:3px;stroke-width:2;color:var(--story-accent)}
@media(min-width:761px) and (max-width:1100px){.website-story-grid .story-label{min-height:60px}}
@media(max-width:760px){
 .website-story-grid .story-label{margin-bottom:15px}
 .website-landing .website-story-grid .story-label h3{font-size:21px}
 .story-comparison-card .story-points{grid-template-rows:none;padding:8px 22px 12px}
 .story-comparison-card .story-points li{padding:18px 0;font-size:15px}
}

/* Portraits, restrained glass surfaces and an equal company-logo footer. */
.founders-grid{max-width:920px;gap:28px}
.founder-profile{display:flex;flex-direction:column;padding:8px;border:1px solid #b9d1c433;border-radius:22px;background:linear-gradient(145deg,#ffffff0c,#ffffff03 48%,#94bea009);box-shadow:inset 0 1px 0 #ffffff12,0 18px 40px #0000001a}
.founder-portrait{border-radius:15px;aspect-ratio:4/3}
.founder-portrait-nicola{object-position:50% 38%}
.founder-profile-copy{display:flex;flex-direction:column;flex:1;padding:27px 24px 12px}
.website-landing .founder-profile h3{font-size:28px;margin:10px 0 14px}
.founder-profile p{min-height:0;font-size:14px;line-height:1.75;margin-bottom:26px}
.founder-profile a.founder-company{min-height:101px;margin-top:auto;padding:18px 0 5px;border-top:1px solid #d9e9df24}
.founder-company-brand{display:grid;gap:6px;align-items:center}
.founder-company-brand>img{display:block;max-width:none;max-height:none;object-fit:contain;object-position:left center;filter:brightness(0) invert(1);opacity:.9}
.founder-company-brand .founder-logo-nicola{width:154px;height:54px}
.founder-company-brand .founder-logo-antigravity{width:174px;height:54px;margin-left:-16px}
.founder-company-brand>span{letter-spacing:0;font-size:11px;color:#94afa0}
.website-landing .founder-company>.link-arrow{flex:0 0 32px;width:32px;height:32px;padding:6px;border:1px solid #d3e7d62b;border-radius:50%;background:#ffffff04}
.elovait-partner{max-width:760px;margin:44px auto 0}
.website-landing .elovait-partner-label{font-size:clamp(24px,2.6vw,30px);font-weight:500;letter-spacing:-.025em;line-height:1.2;text-transform:none;text-align:center;margin:0 0 24px;color:#e5efe9}
.elovait-partner-card{grid-template-columns:220px minmax(0,1fr) 42px;gap:26px;padding:8px 20px 8px 8px;border-radius:20px;border:1px solid #cde5d538;background:linear-gradient(120deg,#ffffff0a,#9ec6ad06);box-shadow:inset 0 1px 0 #ffffff0e,0 14px 35px #00000014}
.elovait-partner-photo{height:206px;border-radius:13px;object-position:58% center}
.elovait-partner-copy>.partner-category{font-size:10px;font-weight:500;color:#a5bdae;letter-spacing:.04em;margin-bottom:14px}
.elovait-partner-copy>img{width:120px;margin-bottom:15px}
.elovait-partner-copy>span{font-size:13px;line-height:1.65}
.elovait-partner-copy>.partner-website{font-size:11px;color:#c6d9cc;margin-top:14px}
.elovait-partner-arrow{display:grid;place-items:center;width:38px;height:38px;padding:8px;border-radius:50%;border:1px solid #cde5d52b;background:#ffffff05}
.elovait-partner-card:hover{border-color:#cde5d56b;background:#ffffff0c}
@media(max-width:650px){.founders-grid{max-width:440px}.founder-profile-copy{padding:23px 20px 10px}.elovait-partner{max-width:440px}.elovait-partner-card{grid-template-columns:1fr;gap:0;padding:8px}.elovait-partner-photo{height:190px;object-position:58% 40%}.elovait-partner-copy{padding:24px 20px 18px}.elovait-partner-arrow{position:absolute;right:28px;top:auto;bottom:26px}.elovait-partner-copy>span:not(.partner-category):not(.partner-website){max-width:270px}.elovait-partner-copy>img{width:118px}}

/* A real working moment, softly faded around the FAQ. */
.premium-landing .section-photo-faq{left:-5%;top:8%;width:min(73vw,1080px);height:84%;opacity:.14;-webkit-mask-image:radial-gradient(ellipse 65% 65% at 26% 48%,#000 7%,transparent 88%);mask-image:radial-gradient(ellipse 65% 65% at 26% 48%,#000 7%,transparent 88%)}
.section-photo-faq img{object-position:42% center}
.premium-landing .web-faq .web-container{position:relative;z-index:1}
@media(max-width:700px){.premium-landing .section-photo-faq{width:135%;left:-35%;height:75%;top:18%;opacity:.08}}

/* Keep the two longer comparison claims balanced on wide screens. */
.website-story>.web-container>.section-intro{max-width:1140px}
.website-story #problem-title{text-wrap:balance}
@media(max-width:700px){.website-story #problem-title br{display:block}}
