/* App positioning uses the established petrol/gold identity and native layout. */
/* One text baseline for every page hero, independent of the adjacent artwork. */
.next-site.app-focus .next-page-hero { padding-top:72px; }
.next-site.app-focus .next-page-hero>.next-wrap { align-items:start; }
.next-site.app-focus .next-page-hero>.next-wrap>div:first-child { align-self:start; }
.next-site.app-focus .next-page-hero>.next-wrap>div:first-child>.next-label { margin-top:0; margin-bottom:24px; }
.next-site.app-focus .next-page-hero h1 { margin-top:0; }
@media(max-width:820px) { .next-site.app-focus .next-page-hero { padding-top:50px; } }
@media(max-width:580px) { .next-site.app-focus .next-page-hero { padding-top:40px; } }
.next-legacy .groep-lijst { gap:16px; }
.next-legacy #functies:has(>.case-all) { padding-block:32px; }
.next-legacy .case-all { width:min(1280px,calc(100% - 80px)); margin-inline:auto; }
.next-legacy .case-all>summary { max-width:none; }
.next-legacy .case-all>summary>.case-all-heading { display:grid; flex:1; min-width:0; gap:6px; margin:0; color:inherit; font:inherit; }
.next-legacy .case-all>summary>.case-all-heading>span { display:block; margin:0; color:#486b6c; font:400 13px/1.5 var(--kop); letter-spacing:0; }
.next-legacy .case-all[open]>.container { width:auto; max-width:none; margin:0; padding:28px; }
@media(max-width:1000px) { .next-legacy .case-all { width:calc(100% - 48px); } }
@media(max-width:580px) { .next-legacy .case-all { width:calc(100% - 40px); } .next-legacy .case-all[open]>.container { padding:20px 16px; } }
.next-legacy :is(.groep.case-detail,.werkuren-functies,.case-all) { padding:0; overflow:hidden; border:1px solid #c8dbd2; border-top:3px solid #315856; border-radius:18px; background:#fafcf9; box-shadow:0 3px 6px #173d3608,0 10px 22px -12px #173d363d; }
.next-legacy :is(.groep.case-detail,.werkuren-functies,.case-all)>summary { display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:76px; margin:0; padding:18px 24px; list-style:none; color:#123b40; font:650 20px/1.35 var(--kop); letter-spacing:-.025em; cursor:pointer; }
.next-legacy :is(.groep.case-detail,.werkuren-functies,.case-all)>summary::marker { content:''; }
.next-legacy :is(.groep.case-detail,.werkuren-functies,.case-all)>summary::-webkit-details-marker { display:none; }
.next-legacy :is(.groep.case-detail,.werkuren-functies,.case-all)>summary::after { content:'+'; display:grid; place-items:center; flex:0 0 32px; width:32px; height:32px; border:1px solid #bfd3c9; border-radius:50%; background:#e8f1ec; color:#214d50; font:400 24px/1 sans-serif; }
.next-legacy :is(.groep.case-detail,.werkuren-functies,.case-all)[open]>summary { margin:0; border-bottom:1px solid #d7e4dc; background:#eaf2ed; }
.next-legacy :is(.groep.case-detail,.werkuren-functies,.case-all)[open]>summary::after { content:'−'; border-color:#e7b84f; background:#f3cc70; color:#123b40; }
.next-legacy :is(.groep.case-detail,.werkuren-functies,.case-all)>summary:focus-visible { outline:3px solid #d49d20; outline-offset:-5px; border-radius:15px; }
.next-legacy .groep.case-detail>summary small { margin-left:auto; font:500 12px/1.4 var(--mono); color:#51736e; }
.next-legacy .groep.case-detail>p { margin:0; padding:20px 24px 0; color:#486b6c; font-size:16px; line-height:1.65; }
.next-legacy .groep.case-detail>.vinklijst { gap:0; margin:0; padding:12px 24px 24px; font-size:15px; line-height:1.75; }
.next-legacy .groep.case-detail>.vinklijst>li { display:flex; align-items:flex-start; gap:12px; margin:0; padding:12px 0; border-bottom:1px solid #e2ebe5; }
.next-legacy .groep.case-detail>.vinklijst>li:last-child { padding-bottom:0; border-bottom:0; }
.next-legacy .groep.case-detail>.vinklijst>li>span { flex:1; min-width:0; }
.next-legacy .groep.case-detail>.vinklijst .ico { flex:0 0 18px; width:18px; height:18px; margin-top:4px; color:#36746c; }
.next-legacy .werkuren-functies>.werkuren-functie-grid { padding:24px; }
@media(hover:hover) and (pointer:fine) { .next-legacy :is(.groep.case-detail,.werkuren-functies,.case-all)>summary:hover { background:#eff5f0; } }
@media(max-width:580px) {
 .next-legacy :is(.groep.case-detail,.werkuren-functies,.case-all)>summary { min-height:68px; padding:16px 18px; font-size:18px; }
 .next-legacy .groep.case-detail>p { padding:18px 18px 0; font-size:15px; }
 .next-legacy .groep.case-detail>.vinklijst { padding:10px 18px 20px; font-size:14px; }
 .next-legacy .werkuren-functies>.werkuren-functie-grid { padding:18px; }
}
.next-legacy .app-case-tech { background:linear-gradient(120deg,#173e43,#29575a); color:#fffdf4; }
.app-case-tech h2, .app-case-tech .next-lead { color:inherit; }
.app-case-tech .next-label { color:#f5cc73; }
.app-case-tech .app-choice-grid { display:flex; flex-wrap:wrap; gap:12px; margin-top:24px; margin-bottom:0; }
.app-case-tech .app-choice-grid>article { flex:0 1 auto; max-width:360px; padding:14px 18px; border-radius:14px; background:#f7faf5; border:1px solid #d8e2dc; border-top:3px solid #edbd52; box-shadow:0 8px 18px #062b3030; }
.app-case-tech .app-choice-grid h3 { margin:0 0 6px; font-family:inherit; font-size:15px; line-height:1.3; letter-spacing:-.015em; color:#082f34; }
.app-case-tech .app-choice-grid p { max-width:40ch; font-family:inherit; font-size:13px; line-height:1.5; color:#294f54; }
@media(max-width:580px) { .app-case-tech .app-choice-grid>article { width:100%; max-width:none; padding:14px 16px; } }
.app-case-business-panel { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(280px,.9fr); align-items:center; gap:clamp(32px,5vw,72px); padding:clamp(28px,4vw,52px); border:1px solid #426b6d; border-radius:28px; background:radial-gradient(ellipse at 15% 0%,#ffffff09,transparent 65%),linear-gradient(120deg,#12383e,#265257); color:#fffdf4; box-shadow:inset 0 1px 0 #ffffff1c,0 16px 36px -16px #082d3666; }
.app-case-business-copy { min-width:0; }
.app-case-business-copy .next-label { margin-bottom:22px; color:#f4ce7b; }
.app-case-business-copy h2 { color:#fffdf4; }
.app-case-business h2 { max-width:650px; font-size:clamp(30px,3vw,43px); line-height:1.12; }
.app-case-business .next-lead { max-width:55ch; margin-top:22px; font-size:17px; line-height:1.75; color:#d5e4df; }
.app-case-business-copy .next-button { max-width:100%; margin-top:28px; gap:14px; }
.app-case-next-project { display:block; min-width:0; padding:20px; border:1px solid #d4e1d9; border-radius:22px; background:#fff; color:#082f34; box-shadow:0 3px 6px #173d3608,0 14px 28px -14px #173d3655; text-decoration:none; }
.app-case-next-project>small { display:block; margin-bottom:14px; color:#43666b; font-size:13px; }
.app-case-next-visual { display:grid; place-items:center; overflow:hidden; border-radius:14px; background:radial-gradient(ellipse at 65% 25%,#386266,#163c40); }
.app-case-next-visual img { display:block; width:100%; height:auto; aspect-ratio:800/516; object-fit:contain; }
.app-case-next-caption { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-top:18px; }
.app-case-next-project strong { display:block; font-size:22px; line-height:1.2; }
.app-case-next-type { display:block; margin-top:6px; color:#486b6c; font-size:13px; line-height:1.5; }
.app-case-next-arrow { display:grid; place-items:center; flex:0 0 38px; height:38px; border-radius:50%; background:#e9f1eb; color:#214d50; font-size:23px; }
.app-case-next-project:focus-visible { outline:3px solid #d49d20; outline-offset:5px; }
@media(hover:hover) and (pointer:fine) { .app-case-next-project:hover { border-color:#86aaa0; box-shadow:var(--app-lift-shadow); } .app-case-next-project:hover .app-case-next-arrow { background:#f3cc70; } }
.app-case-explore { padding-block:64px 0; }
.app-case-business { padding-top:48px; }
.app-case-explore .app-focus-cta { background:linear-gradient(120deg,#fafcf8,#edf4ee); color:#123b40; border:1px solid #c4d7cd; border-top:3px solid #315856; border-radius:24px; box-shadow:var(--app-card-shadow); }
.app-case-explore .app-focus-cta .next-button { background:linear-gradient(135deg,#28565a,#123b40); color:#fffdf4; border-color:#4c7776; box-shadow:0 8px 18px #123b4024,inset 0 1px 0 #ffffff18; }
@media(hover:hover) and (pointer:fine) { .app-case-explore .app-focus-cta .next-button:hover { background:linear-gradient(135deg,#34676a,#1c4a50); } }
.app-case-explore h2, .app-case-explore p { color:inherit; }
.app-case-explore .app-focus-cta p { margin-top:16px; }
@media(max-width:900px) {
 .app-case-business-panel { grid-template-columns:1fr; gap:28px; }
 .app-case-next-project { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1fr); gap:0 22px; align-items:center; }
 .app-case-next-project>small { grid-column:1/-1; }
 .app-case-next-caption { margin:0; }
}
@media(max-width:580px) {
 .app-case-tech,.app-case-business,.app-case-explore { padding-block:48px; }
 .app-case-explore { padding-bottom:0; }
 .app-case-business { padding-top:32px; }
 .app-case-business-panel { padding:24px; border-radius:22px; gap:28px; }
 .app-case-business .next-lead { font-size:16px; }
 .app-case-next-project { padding:16px; grid-template-columns:1fr; gap:0; }
 .app-case-next-visual { max-height:180px; }
 .app-case-next-caption { margin-top:16px; }
 .app-case-next-project strong { font-size:20px; }
}
.screen-theme-switch { display:flex; gap:10px; flex-wrap:wrap; margin-top:24px; }
.screen-theme-switch button { padding:12px 22px; border:1px solid #315856; border-radius:12px; background:#f6f9f5; color:#163b40; font:inherit; cursor:pointer; }
.screen-theme-switch button[aria-pressed="true"] { background:#244c50; color:#fffdf8; box-shadow:0 5px 14px #173d3620; }
.screen-theme-switch button:disabled { opacity:.5; cursor:wait; }
.screen-theme-status { min-height:1.6em; font-size:.9rem; }
.screen-catalogue { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; margin-top:32px; }
.screen-catalogue-wide { grid-template-columns:repeat(2,minmax(0,1fr)); }
.screen-card { overflow:hidden; border:1px solid #bed0c9; border-radius:24px; background:#fff; box-shadow:var(--app-card-shadow); }
.screen-card>a { display:flex; align-items:center; justify-content:center; padding:24px; background:#e6eee9; }
.screen-card img { display:block; width:100%; height:400px; object-fit:contain; }
.screen-card .modern-device.phone { width:210px; max-width:100%; }
.screen-card .modern-device.tablet { width:100%; }
.screen-card .modern-device>.modern-screen, .screen-detail .modern-device>.modern-screen { object-fit:contain!important; }
.screen-card>a { min-height:460px; }
.screen-catalogue-wide .screen-card>a { min-height:340px; }
.screen-detail .modern-device.phone { width:min(360px,calc((100dvh - 160px)*.4724),calc(100vw - 65px)); }
.screen-detail .modern-device.tablet { width:min(1180px,calc((100dvh - 160px)*1.2872),calc(100vw - 65px)); }
.screen-detail-scroll.screen-actual-size .modern-device { max-width:none; }
.screen-catalogue-wide img { height:300px; }
.screen-card>div { padding:24px; }
.screen-card h2 { font-size:1.35rem; margin:0 0 12px; }
.screen-card p { margin-bottom:16px; line-height:1.7; }
.screen-detail { width:calc(100vw - 24px); max-width:1400px; height:calc(100dvh - 24px); max-height:none; padding:16px; border:1px solid #537775; border-radius:20px; background:#183d40; color:#fffdf4; }
.screen-detail[open] { display:flex; flex-direction:column; gap:12px; }
.screen-detail::backdrop { background:#06282bd9; }
.screen-detail-toolbar { display:flex; justify-content:space-between; gap:12px; }
.screen-detail-toolbar { flex-wrap:wrap; }
.screen-detail-toolbar button, .screen-theme-switch button, .mockup-toolbar button { min-height:44px; }
.screen-detail-toolbar button { padding:10px 16px; color:#ffdb7f; border:1px solid #bed0c950; border-radius:12px; background:#315856; cursor:pointer; }
.screen-detail-scroll { overflow:auto; flex:1; min-height:0; display:grid; place-items:center; }
.screen-detail-scroll img { display:block; width:100%; height:100%; min-height:0; object-fit:contain; }
.screen-detail-scroll.screen-actual-size { display:block; }
.screen-detail-scroll.screen-actual-size img { max-width:none; height:auto; object-fit:initial; }
.screen-detail-caption { margin:0; }
@media(max-width:820px) { .screen-catalogue { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:580px) { .screen-catalogue { grid-template-columns:1fr; } .screen-card img { height:360px; } .screen-catalogue-wide img { height:240px; } }
.app-focus-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:32px 0}
.app-focus-grid-three{grid-template-columns:repeat(3,minmax(0,1fr))}
.app-choice-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  margin: 32px 0;
}
.app-choice-grid > article {
  padding: 30px 32px 32px;
  border: 1px solid #bed0c9;
  border-top: 4px solid #315856;
  border-radius: 24px;
  background: #eff5f0;
  box-shadow: var(--app-card-shadow);
}
.app-choice-grid-three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.app-choice-grid h3 { margin: 0 0 16px; color: #082f34; }
.app-choice-grid p { margin: 0; line-height: 1.75; }
@media (max-width: 820px) {
  .app-choice-grid-three { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 580px) {
  .app-choice-grid, .app-choice-grid-three { grid-template-columns: 1fr; gap: 20px; }
  .app-choice-grid > article { padding: 24px; }
}
:root {
  --app-card-edge: #bed0c9;
  --app-card-shadow: 0 2px 4px #173d3610, 0 10px 24px -9px #173d363b;
  --app-lift-shadow: 0 3px 7px #173d3618, 0 17px 32px -9px #173d3647;
}
.app-focus-grid > article {
  overflow: hidden;
  border: 1px solid var(--app-card-edge);
  border-radius: 24px;
  background: #fafbf8;
  box-shadow: var(--app-card-shadow);
}
.app-tile-heading {
  display: flex;
  align-items: center;
  gap: 16px;
  min-height: 100px;
  padding: 24px clamp(20px, 2vw, 32px);
  color: #fffdf8;
  background: linear-gradient(120deg, #315e60, #244c50);
  border-bottom: 2px solid #d6a345;
}
.app-tile-number {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  color: #ffdb7f;
  background: #ffffff0c;
  border: 1px solid #c8ded33e;
  border-radius: 12px;
  font: 600 .8rem/1 monospace;
}
.app-focus-grid .app-tile-heading h3 { margin: 0; color: inherit; }
.app-focus-grid p { margin: 0; padding: 24px clamp(20px, 2vw, 32px) 28px; line-height: 1.75; }
.app-focus-projects{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin:32px 0}
.app-focus-project{overflow:hidden;border:1px solid var(--app-card-edge);border-radius:24px;background:#fff;box-shadow:var(--app-card-shadow)}
.app-focus-project>a{display:block;border-bottom:2px solid #d6a345;background:radial-gradient(ellipse at 65% 30%,#386266,#163c40)}
.app-focus-project img{display:block;width:100%;aspect-ratio:800/516;object-fit:contain;height:auto}
.app-focus-project>div{padding:28px}.app-focus-project h3{margin:14px 0}.app-focus-project p{line-height:1.75;margin:0 0 20px}
.app-focus-hero-art{border:1px solid #ffffff35;border-radius:28px;background:linear-gradient(145deg,#ffffff12,#ffffff04);box-shadow:inset 0 1px 0 #ffffff1a,0 18px 42px -14px #041e2199;padding:20px;min-width:0}
.app-focus-hero-art img{display:block;width:100%;height:auto;object-fit:contain}.app-focus-hero-art>span{display:block;text-align:center;margin-top:20px;color:#f2c359}
.home-phones{display:flex;align-items:flex-start;justify-content:center;gap:3%;width:100%;min-width:0}
.home-phone{flex:0 1 31.3%;min-width:0;margin:0;text-align:center;container-type:inline-size}
.home-phone-frame{position:relative;width:100%;aspect-ratio:770/1630;background:url('/assets/img/hardware/phone-front-v3.webp?v=22c47afd3871') center/100% 100% no-repeat;filter:drop-shadow(0 10px 10px #041e2140)}
.home-phone-screen{position:absolute;inset:1.6% 3.4%;width:93.2%;height:96.8%;overflow:hidden;border-radius:13cqi;background:#080c0e}
.home-phone:nth-child(1) .home-phone-screen{background:linear-gradient(#11141d,#111d2a)}
.home-phone:nth-child(2) .home-phone-screen{background:linear-gradient(#f5f1ea,#fbf7ee)}
.home-phone-screen img{display:block;box-sizing:border-box;width:100%;height:100%;padding:1% 0 5%;object-fit:contain}
.home-phone figcaption{margin-top:10px;color:#d6e6df;font-size:clamp(10px,1vw,13px);line-height:1.3}
.app-focus-cta{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:32px;background:#173f43;color:#f7f4e9;border-radius:28px;padding:44px}
.app-focus-cta h2,.app-focus-cta p{color:inherit}.app-focus-cta p{max-width:650px}.app-focus .next-actions{margin-bottom:40px}
.app-focus .next-page-hero h1{font-size:clamp(2.5rem,5vw,4.8rem);overflow-wrap:normal}
.app-focus .next-page-hero:not(.split) .next-wrap>div{max-width:850px}
.app-focus .next-page-hero .next-actions{margin-top:28px;margin-bottom:0}
.app-focus .next-page-hero .next-text-link{color:#f7f4e9}
.app-focus-platform{padding-top:20px;padding-bottom:20px}.app-focus-platform .next-label{color:#245053}
.app-focus-platform { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:16px; }
.app-focus .next-form label{display:grid;gap:8px;margin-bottom:20px}.app-focus .next-form textarea{resize:vertical}
.app-focus :focus-visible{outline:3px solid #d49d20;outline-offset:5px}
.app-focus .next-section:nth-of-type(even) { background-color: #e5eee9; }
.app-focus-cta {
  background: linear-gradient(118deg, #143b40, #285255);
  box-shadow: inset 0 1px 0 #ffffff24, var(--app-lift-shadow);
}
.app-focus .next-faq details, .app-focus .next-form, .next-legacy .vraag-kaart {
  box-shadow: var(--app-card-shadow);
}
.app-focus-project:focus-within { box-shadow: var(--app-lift-shadow); }
@media (hover: hover) and (pointer: fine) {
  .app-focus-project:hover { box-shadow: var(--app-lift-shadow); }
}
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .app-focus-project { transition: transform 180ms ease; }
  .app-focus-project:hover { transform: translateY(-3px); }
}
@media(max-width:820px){.app-focus-cta{grid-template-columns:1fr}.app-focus-grid-three{grid-template-columns:repeat(2,minmax(0,1fr))}.app-focus .next-page-hero.split>.next-wrap{grid-template-columns:1fr}.app-focus-hero-art{max-width:600px;width:100%}}
@media(max-width:580px){.app-focus-grid,.app-focus-projects{grid-template-columns:1fr;gap:20px}.app-focus-project>div{padding:24px}.app-tile-heading{min-height:78px;padding:18px 20px;gap:12px}.app-focus-cta{padding:28px}.app-focus .next-section{padding-top:48px;padding-bottom:48px}.app-focus-hero-art{padding:12px}.app-focus .next-actions{gap:18px;flex-wrap:wrap}}
