html{background:var(--cream)}
body{width:100%;max-width:none;margin:0;box-shadow:none}
.nav,.hero,.products,.story,.services,.references,.flow-portfolio,.contact,footer{padding-inline:clamp(20px,5.5vw,66px)}
.about,.seo{padding-inline:clamp(24px,8vw,96px)}
.nav{gap:18px}.nav nav{gap:17px;margin-left:auto}.nav nav a{font-size:14px}.nav .brand .flow-wordmark{font-size:34px}.nav-cta{font-size:14px;padding:12px 18px}
.brand .balloon-butterfly{width:47px;height:45px;left:-8px;bottom:34%;animation:butterfly-bob 3.6s ease-in-out 2s infinite}
.brand .balloon-butterfly .wing-one,.brand .balloon-butterfly .wing-three{animation:form-wing 1s both,flutter-left 2.7s ease-in-out 1.8s infinite;transform-origin:right center}
.brand .balloon-butterfly .wing-two,.brand .balloon-butterfly .wing-four{animation:form-wing 1.2s both,flutter-right 2.7s ease-in-out 2s infinite;transform-origin:left center}
@keyframes butterfly-bob{0%,100%{transform:translateY(0) rotate(10deg)}45%{transform:translateY(-3px) rotate(1deg)}65%{transform:translateY(-1px) rotate(14deg)}}
@keyframes flutter-left{0%,65%,100%{transform:scaleX(1)}72%,88%{transform:scaleX(.55)}80%,96%{transform:scaleX(1)}}
@keyframes flutter-right{0%,65%,100%{transform:scaleX(1)}72%,88%{transform:scaleX(.55)}80%,96%{transform:scaleX(1)}}
.motion-paused .balloon-butterfly,.motion-paused .balloon-butterfly .wing{animation-play-state:paused!important}
.skip-link{position:absolute;top:0;left:12px;z-index:100;background:white;padding:12px;transform:translateY(-150%)}.skip-link:focus{transform:none}
.breadcrumbs{padding:22px clamp(20px,5.5vw,66px);font-size:14px;background:#fff}.breadcrumbs a{color:#8b337e}.breadcrumbs span{color:#6a5870}
.page-title,.page-section,.reading-grid,.page-hero,.page-cta,.contact-columns,.region-teaser{padding:64px clamp(20px,5.5vw,66px)}
.page-title{background:linear-gradient(120deg,#ffe6f3,#fff8d6 60%,#e8f5cf)}
.page-title h1,.page-hero h1{font-size:clamp(36px,5.4vw,64px);line-height:1.05;letter-spacing:-.055em;margin:0 0 25px}
.page-title>p:last-child{max-width:740px;font-size:18px}.page-title .eyebrow,.page-hero .eyebrow{font-size:13px}
.page-hero{display:grid;grid-template-columns:1.1fr 1fr;gap:40px;background:#faedf5;align-items:center}.page-hero p{font-size:17px}
.page-hero figure{margin:0;min-width:0}.page-hero img{width:100%;height:360px;object-fit:cover;border-radius:24px}.page-hero figcaption{font-size:13px;line-height:1.4;margin-top:10px}
.reading-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;background:#fff}.reading-grid h2{font-size:25px;line-height:1.2;letter-spacing:-.03em;margin-top:0}.reading-grid p{font-size:16px;line-height:1.7}
.page-section>h2,.page-cta h2,.region-teaser h2{font-size:clamp(28px,4vw,42px);line-height:1.12;letter-spacing:-.04em;margin:0 0 22px}
.page-section{background:#fffdf7}.page-section p{max-width:800px;font-size:16px;line-height:1.7}.page-section a{color:#803275}
.page-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.page-cards article{padding:27px;background:#f9e7f4;border-radius:20px;display:flex;flex-direction:column}.page-cards article:nth-child(3n+2){background:#fff0b4}.page-cards article:nth-child(3n){background:#e2f2c6}.page-cards h3{font-size:23px;line-height:1.15;margin:0 0 12px}.page-cards h3 a{text-decoration:none}.page-cards article>a{margin-top:auto;font-size:15px;font-weight:800}.page-cards p{font-size:16px}
.page-cta,.region-teaser{background:linear-gradient(110deg,#ffbadc,#fff2a4 70%,#d5ecb3)}.page-cta>p:not(.eyebrow){max-width:760px}
.sample-photos{display:grid;grid-template-columns:1fr 1fr;gap:24px}.sample-photos figure{margin:0}.sample-photos img{display:block;width:100%;height:300px;object-fit:cover;border-radius:18px}.sample-photos figcaption{font-size:14px;margin-top:10px}
.faq details{border-top:1px solid #e2cee4;padding:20px 0}.faq summary{font-size:18px;font-weight:700;cursor:pointer}.faq details p{max-width:800px}
.region-hero{align-items:start;background:linear-gradient(120deg,#fbd5eb,#fff3bd)}.local-card{padding:30px;border-radius:22px;background:#fff}.local-card h2{font-size:25px;line-height:1.2}.local-card a{display:block;margin:18px 0 0;color:#803275;font-weight:700}.local-card address{font-style:normal}.region-reading{grid-template-columns:1fr 1fr}
.place-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:24px 0}.place-links a{display:flex;justify-content:space-between;padding:16px 18px;background:#fff;border:1px solid #e6cde3;border-radius:12px;color:#6e2a66;text-decoration:none;font-weight:700;font-size:16px}.place-links a:hover{background:#fce3f3}
.region-group{margin-bottom:45px}.region-group h2{font-size:25px}.region-group[hidden],.place-links [hidden]{display:none}
.region-search{display:block;font-size:16px;margin-top:30px;max-width:480px}.region-search input{display:block;width:100%;padding:15px 18px;border:1px solid #93698d;border-radius:12px;font:inherit;background:#fff;margin-top:10px}
.contact-columns{display:grid;grid-template-columns:1fr 1fr;gap:48px;background:#fff}.contact-columns article>a{display:block;margin:14px 0;color:#863679}.contact-columns article>a.button{display:inline-flex;color:white}.contact-columns address{font-style:normal}.contact-columns li{margin-bottom:14px}.contact-large{font-size:28px;font-weight:800}
.multi-footer{display:grid;grid-template-columns:1.25fr .8fr 1fr;gap:28px;align-items:start;padding-block:60px}.multi-footer h2{font-size:17px}.multi-footer p,.multi-footer a{font-size:14px}.multi-footer>div>a:not(.brand){display:block;margin:9px 0;color:#6c2d67}.multi-footer .brand{margin-top:20px}.multi-footer .flow-wordmark{font-size:28px}.multi-footer .brand-upgrade{font-size:10px}
.service-list h3 a{color:inherit;text-decoration:none}.service-list h3 a:hover{text-decoration:underline}
.references.has-carousel{display:block;min-width:0;padding-block:65px}.has-carousel .references-head{max-width:650px}.has-carousel .references-head h2{font-size:38px}.has-carousel .references-head>p:last-child{max-width:600px;margin-top:16px}
.brand-viewport{overflow-x:auto;overscroll-behavior-x:contain;mask-image:linear-gradient(to right,transparent,#000 5%,#000 95%,transparent);scrollbar-width:thin;padding-block:18px;margin-top:24px}
.brand-track{display:flex;width:max-content}.has-carousel .logo-grid{display:flex;gap:0;flex:none;width:max-content}.has-carousel .logo-card{width:172px;height:100px;flex:none;border-radius:0;padding:20px;background:transparent}.has-carousel .logo-card img{max-width:100%;max-height:62px}
.brand-controls{display:flex;gap:12px;justify-content:center;margin-top:12px}.brand-controls button,.animation-toggle{font:inherit;font-size:14px;cursor:pointer;padding:10px 16px;border:1px solid #c5a0c2;background:#fff;border-radius:100px;color:#6d2866}.brand-controls button:hover{background:#f7d8eb}
.animation-toggle{margin-top:22px}
@media(min-width:1200px){.hero h1{font-size:76px}.hero{gap:38px}}
@media(max-width:1040px){.nav{height:auto;min-height:125px;flex-wrap:wrap;align-content:center;gap:5px 20px}.nav nav{order:3;width:100%;justify-content:space-between;flex:none;padding-bottom:12px}.nav-cta{margin-left:auto}.nav .brand{padding-top:24px}.page-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.reading-grid{grid-template-columns:1fr}.region-reading{grid-template-columns:1fr 1fr}.nav .brand .flow-wordmark{font-size:30px}}
@media(max-width:760px){.page-hero,.region-reading,.contact-columns,.multi-footer{grid-template-columns:1fr}.page-title,.page-section,.reading-grid,.page-hero,.page-cta,.contact-columns,.region-teaser{padding-block:42px}.page-hero{gap:24px}.page-hero img{height:280px}.place-links{grid-template-columns:1fr 1fr}.page-cards{grid-template-columns:1fr}.sample-photos img{height:230px}.nav nav{gap:14px;overflow-x:auto;justify-content:space-between;white-space:nowrap}.nav nav a{font-size:14px}.brand .balloon-butterfly{width:38px;height:37px;left:-6px;bottom:32%}.multi-footer{gap:20px}.brand-controls{flex-wrap:wrap}.references.has-carousel{padding-block:45px}}
@media(max-width:450px){.place-links,.sample-photos{grid-template-columns:1fr}.brand-controls button{padding:10px 12px}.sample-photos img{height:290px}}
@media(prefers-reduced-motion:reduce){.brand .balloon-butterfly,.brand .balloon-butterfly .wing{animation:none!important}.animation-toggle{display:none}}
.owner-section{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:48px;align-items:center;padding:64px clamp(20px,5.5vw,66px);text-align:left}
.owner-portrait{margin:0;max-width:420px;width:100%;justify-self:center}
.owner-portrait img{display:block;width:100%;height:auto;border-radius:28px;background:#fff9e9}
.owner-portrait figcaption{font-size:12px;margin-top:10px;opacity:.75;text-align:center}
.owner-section h2{font-size:clamp(30px,4vw,46px);line-height:1.12;letter-spacing:-.04em}
.owner-section p{max-width:620px}.owner-section .button{margin-top:16px}
.owner-intro{background:#fff9e9}.owner-intro h2{color:#702e68}
@media(max-width:760px){.owner-section{grid-template-columns:1fr;gap:24px;padding-block:42px}.owner-portrait{max-width:340px}}
/* Full-width section backgrounds; a shared, centered content area. */
body > header.nav,body > main > section[class],body > main > .breadcrumbs,body > main > .sample-photos,body > footer.multi-footer{padding-inline:max(clamp(20px,5.5vw,66px),calc((100% - 1200px)/2))}
.story,.seo{column-gap:clamp(24px,6vw,80px)}
.references.has-carousel{padding-block:28px;background:#fff;border-block:1px solid #eee5ed}
.has-carousel .references-head{max-width:none;text-align:center}
.has-carousel .references-head .eyebrow{margin:0;color:#713066;font-size:13px}
.brand-viewport{overflow:hidden;scrollbar-width:none;padding-block:8px;margin-top:12px}
.brand-viewport::-webkit-scrollbar{display:none}
.brand-track{animation:brands-to-right 65s linear infinite;will-change:transform}
.has-carousel .logo-card{width:180px;height:100px;padding:12px 20px}
.has-carousel .logo-card img{width:140px;height:76px;max-width:100%;max-height:76px;object-fit:contain;filter:none}
.brand-viewport:hover .brand-track,.brand-viewport:focus .brand-track,.motion-paused .brand-track{animation-play-state:paused}
@keyframes brands-to-right{from{transform:translateX(-50%)}to{transform:translateX(0)}}
@media(prefers-reduced-motion:reduce){.brand-track{animation:none;transform:none}.brand-viewport{overflow-x:auto}.brand-track>.logo-grid[aria-hidden]{display:none}}
.mobile-dock{display:none}
@media(max-width:760px){
 body{padding-bottom:calc(104px + env(safe-area-inset-bottom,0px))}
 html{scroll-padding-bottom:120px}
 body > header.nav{height:86px;min-height:86px;position:relative;flex-wrap:nowrap;justify-content:center}
 .nav > nav,.nav > .nav-cta{display:none}
 .nav .brand{padding:20px 20px 8px;margin:0}
 .mobile-dock{position:fixed;z-index:50;left:max(10px,env(safe-area-inset-left,0px));right:max(10px,env(safe-area-inset-right,0px));bottom:calc(10px + env(safe-area-inset-bottom,0px));display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:2px;max-width:520px;margin:0 auto;padding:7px;background:#fffdf7fa;border:1px solid #e4c7de;border-radius:24px;box-shadow:0 6px 32px #32143d30;backdrop-filter:blur(16px)}
 .mobile-dock > a,.mobile-more > summary{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:0;min-height:62px;padding:5px 1px;border-radius:17px;text-decoration:none;color:#682363;font-size:12px;font-weight:800;line-height:1.25;cursor:pointer;list-style:none}
 .mobile-dock svg{width:27px;height:27px;flex-shrink:0}
 .mobile-dock .balloon-phone{width:32px;height:32px;margin-top:-3px;margin-bottom:-2px}
 .mobile-dock > a[aria-current="page"],.mobile-dock > a:hover,.mobile-more[open] > summary{background:#f6e0ee}
 .mobile-dock > .mobile-call{background:#ffe6bd}
 .mobile-more{min-width:0}.mobile-more > summary::-webkit-details-marker{display:none}
 .mobile-more[open] .mobile-menu{display:flex}
 .mobile-menu{position:absolute;bottom:calc(100% + 12px);left:0;right:0;display:none;flex-direction:column;gap:3px;background:#fffdf7;border:1px solid #e4c7de;border-radius:23px;padding:18px;box-shadow:0 8px 30px #32143d26;max-height:60vh;max-height:60dvh;overflow-y:auto}
 .mobile-menu strong{font-size:16px;color:#682363;margin:0 10px 8px}
 .mobile-menu a{display:block;min-height:44px;padding:12px 10px;font-size:15px;border-radius:10px;white-space:normal}
 .mobile-menu a:hover{background:#f6e0ee}
 .page-title h1,.page-hero h1,.contact-large{overflow-wrap:anywhere}
 .page-hero > *,.owner-section > *,.contact-columns > *{min-width:0}
 section[id]{scroll-margin-top:20px}
}
@media(min-width:761px) and (max-width:1040px){
 body > header.nav{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;height:auto;min-height:0;gap:12px 24px;padding-block:12px 18px;align-items:center}
 .nav > .brand{grid-column:1;grid-row:1;padding:18px 24px 4px 0;margin:0;justify-self:start}
 .nav > .nav-cta{grid-column:2;grid-row:1;margin:0;justify-self:end}
 .nav > nav{grid-column:1 / -1;grid-row:2;display:flex;width:100%;margin:0;padding:0;gap:12px 22px;justify-content:space-between;align-items:center;flex-wrap:wrap;overflow:visible}
 .nav > nav a{display:block;padding:10px 0;line-height:1.3;font-size:14px;white-space:nowrap}
}
.portfolio-photos .portfolio-new img{height:auto;object-fit:contain}
.portfolio-photos .portfolio-new a:hover img{transform:none}
.dog-play{position:relative;isolation:isolate;width:min(100%,340px);height:235px;margin:26px auto 0;pointer-events:none;overflow:hidden}
.dog-play .dog-mascot{position:absolute;display:block;width:250px;height:221.75px;left:8px;bottom:0;background-image:url('dog-sit-sprite.png');background-size:887px 443.5px;background-repeat:no-repeat;background-position:0 0;animation:dog-frames 3.2s steps(1,end) 1 forwards;animation-play-state:paused}
.dog-play .dog-friend{position:absolute;width:49px;height:47px;left:248px;top:28px;animation:dog-butterfly-flight 3.2s ease-in-out 1 forwards;animation-play-state:paused}
.dog-friend .wing{transform-box:fill-box;transform-origin:center;animation:dog-wing .4s ease-in-out 8 alternate forwards;animation-play-state:paused}
.dog-play.is-playing .dog-mascot,.dog-play.is-playing .dog-friend,.dog-play.is-playing .wing{animation-play-state:running}
.owner-section .dog-play{margin-left:0}.contact-columns .dog-play{margin-left:0}
@keyframes dog-frames{0%{width:250px;left:8px;background-position:0 0}12.5%{width:221.75px;left:22px;background-position:-250px 0}25%{width:221.75px;left:22px;background-position:-471.75px 0}37.5%{width:221.75px;left:22px;background-position:-665.25px 0}50%{width:221.75px;left:22px;background-position:0 -221.75px}62.5%{width:221.75px;left:22px;background-position:-221.75px -221.75px}75%{width:221.75px;left:22px;background-position:-443.5px -221.75px}87.5%,100%{width:221.75px;left:22px;background-position:-665.25px -221.75px}}
@keyframes dog-butterfly-flight{0%,100%{transform:translate(-26px,28px) rotate(-16deg)}22%{transform:translate(-8px,7px) rotate(10deg)}40%{transform:translate(13px,-15px) rotate(25deg)}58%{transform:translate(0,15px) rotate(-14deg)}76%{transform:translate(-35px,35px) rotate(-25deg)}}
@keyframes dog-wing{from{transform:scaleX(1)}to{transform:scaleX(.45)}}
@media(max-width:400px){.dog-play{width:280px;height:210px}.dog-play .dog-mascot{transform:scale(.9);transform-origin:bottom left}.dog-play .dog-friend{left:215px;width:42px;height:40px}}
@media(prefers-reduced-motion:reduce){.dog-play .dog-mascot,.dog-play .dog-friend,.dog-play .wing{animation:none!important}.dog-play .dog-mascot{width:221.75px;left:22px;background-position:-665.25px -221.75px}}
.color-note{font-size:15px!important;line-height:1.6}.color-catalog .region-search{margin-top:0}
.color-jumps{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0 40px}.color-jumps a{padding:10px 16px;border-radius:100px;background:#f7e5f1;font-size:14px;text-decoration:none}
.color-group{margin:0 0 50px;scroll-margin-top:170px}.color-group h2{font-size:28px;line-height:1.3}.color-group h2 span{font-size:14px;font-weight:400;white-space:nowrap;color:#725b74;margin-left:10px}
.color-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px}.color-card{background:white;border:1px solid #ebdce8;border-radius:18px;padding:16px 10px;text-align:center;min-width:0}.color-card img{display:block;width:100%;max-width:125px;height:150px;object-fit:contain;margin:0 auto 12px}.color-card h3{font-size:15px;line-height:1.4;margin:0 0 7px;overflow-wrap:anywhere}.color-card p{font-size:13px;margin:0}.color-group[hidden],.color-card[hidden]{display:none}
@media(max-width:1040px){.color-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:760px){.color-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.color-card{padding:12px 7px}.color-card img{height:125px}.color-group{scroll-margin-top:20px}}
@media(max-width:380px){.color-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.color-jumps button{padding:10px 16px;min-height:44px;border:1px solid transparent;border-radius:100px;background:#f7e5f1;color:#803275;font:inherit;font-size:14px;cursor:pointer}
.color-jumps button:hover{border-color:#923487}.color-jumps button[aria-pressed="true"]{background:#803275;color:white;border-color:#803275}
.color-visual{display:flex;align-items:center;justify-content:center;margin-bottom:12px}.color-visual img{width:100%;min-width:0;margin:0}.color-meta{display:flex;align-items:center;justify-content:center;gap:10px;margin:10px auto 0}.color-swatch{display:block;width:24px;height:24px;flex:0 0 24px;border-radius:50%;border:1px solid #0003;box-shadow:0 0 0 3px white}.color-card .color-codes{display:grid;gap:3px;margin:0;font-size:12px;line-height:1.5;color:#655269}.color-codes strong{color:#32143d;white-space:nowrap}
.color-card .favorite-toggle{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;min-height:44px;padding:7px 4px;margin-top:14px;border:1px solid #dcc0d7;background:#fff;border-radius:12px;color:#803275;font:inherit;font-size:13px;cursor:pointer}.favorite-heart{font-size:23px;line-height:1}.favorite-toggle[aria-pressed="true"]{background:#f9dfee;border-color:#923487}.favorite-toggle:hover{background:#f7e5f1}.favorites-note,#favorite-storage-note{font-size:14px!important;max-width:780px}.color-jumps button[data-color-group="favorites"]{border-color:#923487}
.color-card .color-codes{font-size:11px;color:#717171;line-height:1.6;gap:0;text-align:left;width:max-content;max-width:100%;margin:0}.color-codes > span{display:block}.color-codes strong{color:#717171;font-weight:600}
.color-card{position:relative;padding-top:51px}.color-card .favorite-toggle{position:absolute;top:5px;right:5px;z-index:1;width:40px;height:40px;min-height:40px;margin:0;padding:0;gap:0;border:0;border-radius:50%;background:transparent}.color-card .favorite-toggle[aria-pressed="true"]{background:#f9dfee;color:#923487}.color-card .favorite-toggle:hover{background:#f7e5f1}.favorite-heart{font-size:27px;pointer-events:none}
/* Gelijke kleurkaarten: hartje naast en gelijk aan de bovenkant van de ballon. */
.color-grid{grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch}
.color-card{display:flex;flex-direction:column;padding:16px;min-height:250px}
.color-card .favorite-toggle{top:16px;right:12px}
.color-visual{min-height:132px;padding-inline:32px}
.color-card img{height:132px;max-width:132px}
.color-card h3{display:flex;align-items:center;justify-content:center;min-height:42px;margin:0 0 5px}
.color-meta{margin-top:auto}
@media(max-width:900px){.color-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.color-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.color-card{padding:12px;min-height:230px}.color-card .favorite-toggle{top:12px;right:8px}.color-visual{min-height:112px;padding-inline:28px}.color-card img{height:112px}}
.color-sizes,.color-sizes-unknown{width:100%;margin-top:12px;border-top:1px solid #ebdce8;padding-top:8px;text-align:left;color:#6b5870;font-size:13px}
.color-sizes summary{cursor:pointer;font-weight:600;line-height:1.4}
.color-sizes summary:focus-visible{outline:2px solid #923487;outline-offset:3px;border-radius:3px}
.color-size-options{padding-top:8px}
.color-card .color-size-options p{margin:0 0 5px;font-size:12px;line-height:1.5}
.color-size-options strong{color:#4d3053}
