
:root{--ink:#343434;--pink:#e997bf;--turquoise:#03a6a3;--pale:#e6efed;--paper:#f4f4f1;--line:#deded9}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:120px}body{margin:0;font:16px/1.6 "Helvetica Neue",Helvetica,Arial,sans-serif;color:var(--ink);background:#fff}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a,input{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}img{display:block;width:100%;height:auto}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:400;line-height:1.12;letter-spacing:-.035em}h1{font-size:clamp(36px,4.6vw,72px)}h2{font-size:clamp(30px,3.2vw,48px)}h3{font-size:23px}p{max-width:62ch}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:1px solid #446864;outline-offset:1px}.skip{position:fixed;top:-80px;background:#fff;z-index:100;padding:10px}.skip:focus{top:0}.header{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:28px;height:110px;padding:12px 3.5%;background:#f8f8f5;border-bottom:1px solid rgba(0,0,0,.09);transition:background .2s}.header:hover,.header:focus-within{background:white}.brand{display:flex;align-items:center;gap:17px;flex-shrink:0}.brand img{width:80px;height:80px}.home-link{font-size:14px}.nav{display:flex;justify-content:center;gap:26px;flex:1}.nav a{font-size:15px;padding:10px 0;border-bottom:1px solid transparent}.nav a:hover,.nav a[aria-current=page]{border-color:var(--ink)}.actions{display:flex;gap:20px;align-items:center}.icon{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.3}.iconbtn{padding:8px;display:flex;background:none;border:0;color:inherit}.mobile-menu{display:none}.visit{font-size:14px;border-bottom:1px solid}.opening{min-height:38px;display:flex;align-items:center;justify-content:space-between;padding:6px 3.5%;font-size:13px;background:white;gap:18px}.opening a{text-decoration:underline;text-underline-offset:3px}.hero{position:relative;height:calc(100svh - 215px);min-height:420px;max-height:800px;overflow:hidden;background:#777}.hero>img{height:100%;object-fit:cover;filter:saturate(.85);object-position:50% 45%}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.65),transparent 70%)}.hero-copy{position:absolute;z-index:1;bottom:9%;left:5%;color:white;max-width:850px}.eyebrow{text-transform:uppercase;font-size:12px;letter-spacing:.12em;margin-bottom:16px;font-weight:500}.hero h1{margin-bottom:24px}.hero-copy p{font-size:18px}.hero .textlink{display:inline-block;margin-top:24px}.textlink{border-bottom:1px solid currentColor;padding-bottom:3px;font-size:15px}.textlink:hover{color:#087d7a}.hero .textlink:hover{color:white;border-bottom-width:2px}.categories{display:flex;justify-content:center;gap:34px;align-items:center;min-height:67px;padding:14px 24px;border-bottom:1px solid var(--line);font-size:15px}.categories a:hover{text-decoration:underline;text-underline-offset:5px}.mosaic{display:grid;grid-template-columns:1fr 1fr}.tile{min-width:0;position:relative;overflow:hidden;min-height:360px;aspect-ratio:1.35;background:var(--paper)}.tile img{height:100%;object-fit:cover;filter:saturate(.87);transition:transform .6s,filter .4s}.tile:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#0008,transparent 70%)}.tile-caption{position:absolute;z-index:1;bottom:38px;left:40px;color:white}.tile h2{font-size:clamp(30px,3.6vw,52px)}.tile p{margin-top:12px;font-size:16px;max-width:40ch;opacity:0;transform:translateY(7px);transition:.25s}.tile:hover img,.tile:focus-visible img{transform:scale(1.025);filter:saturate(1)}.tile:hover p,.tile:focus-visible p{opacity:1;transform:none}.section{padding:80px 5%}.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:40px}.section-head p{max-width:35ch;font-size:16px}.products{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 24px}.product figure{margin:0;background:var(--paper);aspect-ratio:1/1.12;overflow:hidden;display:flex;align-items:center;justify-content:center}.product img{width:100%;height:100%;object-fit:contain;padding:25px;filter:saturate(.9);transition:transform .4s}.product:hover img{transform:scale(1.025)}.product h3{font-size:19px;letter-spacing:-.015em;margin:18px 0 4px}.product p{font-size:14px;color:#626262}.product .availability{font-size:13px;margin-top:9px;color:#737373}.product.photo figure img{object-fit:cover;padding:0}.pale{background:var(--pale)}.feature{display:grid;grid-template-columns:1fr 1fr;min-height:520px}.feature-image{min-height:420px;overflow:hidden;background:var(--paper)}.feature-image img{height:100%;object-fit:cover;filter:saturate(.9)}.feature-image.contain img{object-fit:contain;padding:50px}.feature-copy{padding:65px 12%;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:25px}.feature-copy p{font-size:17px}.button{display:inline-flex;justify-content:center;align-items:center;padding:12px 24px;background:var(--pink);color:#343434;border:1px solid transparent;border-radius:6px;font-size:15px;font-weight:500;transition:background .2s,color .2s}.button:hover,.button:focus-visible{background:var(--turquoise);color:#fff}.outline{background:transparent;border:1px solid #777}.outline:hover{background:white;color:#333;border-color:#333}.events{display:grid;grid-template-columns:1fr 1fr;gap:24px}.event{border-top:1px solid #aaa;padding-top:24px;display:grid;grid-template-columns:64px 1fr;gap:24px}.date{font-size:42px;font-weight:300;line-height:1}.date small{display:block;font-size:12px;letter-spacing:.08em;margin-top:10px}.event h3{font-size:22px;margin-bottom:12px}.event p{font-size:15px}.event details{margin-top:18px;font-size:15px}.event summary{cursor:pointer}.event .share{margin-top:18px;padding:0;background:none;border:0;border-bottom:1px solid;color:#555;font-size:14px}.join{background:var(--pink);padding:55px 5%;display:flex;justify-content:space-between;align-items:center;gap:30px}.join h2{font-size:40px}.join p{margin-top:14px;font-size:17px}.join-links{display:flex;gap:26px;flex-wrap:wrap}.footer{background:var(--pale);padding:65px 5% 24px}.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:50px}.footer h2{font-size:32px;margin-bottom:22px}.footer h3{font-size:17px;margin-bottom:17px}.footer p,.footer a{font-size:15px}.footer address{font-style:normal}.footer a:not(.button){text-decoration:underline;text-underline-offset:4px}.footer-bottom{border-top:1px solid #b9ceca;margin-top:50px;padding-top:20px;font-size:12px;display:flex;justify-content:space-between}.page-intro{padding:55px 5% 45px;display:grid;grid-template-columns:1fr 1fr;gap:35px;align-items:end}.page-intro p{font-size:18px;max-width:52ch}.page-intro .eyebrow{font-size:12px}.page-intro h1{font-size:clamp(36px,4vw,60px)}.page-content{padding:0 5% 70px}.note{font-size:14px;margin-top:25px;color:#666}.copy-block{padding:50px 5%;max-width:1000px}.copy-block p{margin:20px 0}.glass-art{height:100%;width:100%;background:linear-gradient(35deg,transparent 48%,#4f6764 49%,#4f6764 50%,transparent 51%),linear-gradient(125deg,#e2cbc5 24%,#576a66 24.4%,#576a66 25%,#c5d9d2 25.4%,#c5d9d2 60%,#576a66 60.4%,#576a66 61%,#ede4d1 61.4%);display:flex;align-items:center;justify-content:center;color:#3a4b46;font-size:20px}.dialog{border:0;padding:35px;max-width:650px;width:calc(100% - 32px);max-height:85svh;color:var(--ink)}.dialog::backdrop{background:#0007}.dialog h2{font-size:30px;margin:20px 0}.dialog input{width:100%;padding:14px;border:1px solid #999}.search-results{display:grid;margin-top:20px}.search-results a{padding:12px 0;border-bottom:1px solid var(--line)}.dialog p{margin-bottom:20px}.drawer-nav{display:grid;gap:12px;font-size:22px}body:has(dialog[open]){overflow:hidden}.muted{color:#666}.no-results{padding:12px 0}.intro-link{margin-top:25px}.stack{display:grid;gap:20px}
@media(hover:none){.tile p{opacity:1;transform:none}}
@media(min-width:1600px){.section{padding-left:8%;padding-right:8%}.header{padding-left:5%;padding-right:5%}}
@media(max-width:1000px){.nav{gap:16px}.nav a{font-size:13px}.header{gap:20px}.actions{gap:10px}.visit{display:none}.products{gap:28px 18px}.feature-copy{padding:45px 9%}}
@media(max-width:760px){body{font-size:16px}.header{height:88px;padding:8px 20px;justify-content:space-between;gap:14px}.brand{gap:12px}.brand img{width:65px;height:65px}.home-link{font-size:13px}.nav{display:none}.mobile-menu{display:flex}.actions{gap:10px}.opening{padding:8px 20px;font-size:11px;min-height:48px}.opening span{max-width:150px;text-align:right}.hero{height:calc(85svh - 136px);min-height:420px;max-height:650px}.hero-copy{left:24px;right:24px;bottom:40px}.hero h1{font-size:42px}.hero-copy p{font-size:16px}.categories{justify-content:flex-start;overflow:auto;gap:24px;min-height:62px;white-space:nowrap;font-size:14px}.mosaic{grid-template-columns:1fr 1fr}.tile{height:280px;min-height:0;aspect-ratio:auto}.tile-caption{left:20px;bottom:24px;right:16px}.tile h2{font-size:25px}.tile p{font-size:13px;line-height:1.4;opacity:1;transform:none}.section{padding:45px 22px}.section-head{display:block;margin-bottom:28px}.section-head p{margin-top:20px}.section-head .textlink{display:inline-block;margin-top:18px}.products{grid-template-columns:1fr 1fr;gap:28px 14px}.product figure{aspect-ratio:.8}.product img{padding:14px}.product h3{font-size:17px}.product p{font-size:13px}.product .availability{font-size:12px}.feature{grid-template-columns:1fr;min-height:0}.feature-image{min-height:0;height:380px}.feature-copy{padding:40px 24px;gap:20px}.feature-image.contain img{padding:30px}.events{grid-template-columns:1fr;gap:34px}.event{grid-template-columns:48px 1fr;gap:18px}.event h3{font-size:21px}.join{padding:40px 24px;display:block}.join h2{font-size:34px}.join-links{margin-top:25px}.footer{padding:45px 24px 20px}.footer-grid{grid-template-columns:1fr;gap:30px}.footer-bottom{gap:15px;flex-wrap:wrap}.page-intro{padding:35px 24px;grid-template-columns:1fr;gap:20px}.page-intro p{font-size:16px}.page-content{padding:0 22px 45px}.copy-block{padding:30px 24px}.button{padding:12px 18px}.eyebrow{font-size:11px}.dialog{padding:24px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Portfolio and editorial pages — white walls for paintings, quiet fields for objects. */
.location-story{grid-template-columns:1.15fr 1fr;background:#f5f5f2}.location-story .feature-image{height:540px;min-height:0}.location-story .feature-image img{filter:saturate(.45);object-position:50% 55%;transition:filter .35s}.location-story:hover .feature-image img{filter:saturate(.85)}.location-story .feature-copy{padding:55px 10%}.location-story h2{max-width:10ch}.join-links{max-width:360px}.brand img{object-fit:contain}.portfolio-section{padding:10px 5% 65px}.portfolio-tools{display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid var(--line);padding-bottom:24px;margin-bottom:45px}.filters{display:flex;gap:24px;flex-wrap:wrap}.filters button{border:0;border-bottom:1px solid transparent;padding:6px 0;background:none;color:#666;font-size:14px}.filters button[aria-pressed=true]{color:#252525;border-bottom-color:#252525}.art-count{font-size:13px;color:#666;white-space:nowrap}.art-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:55px 36px}.art-card[hidden]{display:none}.art-card figure{margin:0;height:390px;background:white;display:flex;align-items:center;justify-content:center}.art-card img{width:100%;height:100%;object-fit:contain;filter:none;transition:opacity .2s}.art-card a:hover img{opacity:.9}.art-caption{display:flex;justify-content:space-between;gap:16px;margin-top:20px;align-items:baseline}.art-caption h2{font-size:20px;letter-spacing:-.015em}.art-caption p{font-size:13px;margin-top:6px;color:#666}.art-caption>span{font-size:13px;white-space:nowrap}.work-nav{display:flex;justify-content:space-between;padding:28px 5% 0;font-size:14px;color:#626262}.work-nav a{text-decoration:underline;text-underline-offset:4px}.work-detail{padding:45px 5% 70px;display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr);gap:8%;align-items:center}.zoom-button{display:block;border:0;background:white;padding:0;width:100%;cursor:zoom-in}.zoom-button img{height:650px;width:100%;object-fit:contain;filter:none}.image-hint{text-align:center;font-size:12px;color:#6b6b6b;margin:15px auto 0}.work-info{display:flex;flex-direction:column;align-items:flex-start;gap:24px}.work-info h1{font-size:clamp(34px,3.6vw,58px)}.work-info dl{margin:0;width:100%;font-size:15px}.work-info dl div{display:grid;grid-template-columns:110px 1fr;gap:10px;padding:8px 0;border-bottom:1px solid #eee}.work-info dt{color:#666}.work-info dd{margin:0}.work-info .work-price{font-size:25px}.work-info p{font-size:16px}.work-context{padding:0 5% 50px;max-width:1100px;margin:auto}.work-context img{max-height:650px;object-fit:contain}.work-context p{margin:12px auto;font-size:13px;color:#666;text-align:center}.work-pagination{display:flex;justify-content:space-between;padding:30px 5% 60px}.art-dialog{max-width:95vw;width:95vw;padding:20px;background:white}.art-dialog>img{max-height:78svh;width:100%;object-fit:contain}.art-dialog p{text-align:center;margin:10px auto 0}.gem-hero{display:grid;grid-template-columns:1fr 1fr;min-height:650px;align-items:center;padding:55px 5%;gap:5%}.gem-copy{display:flex;flex-direction:column;align-items:flex-start;gap:24px}.gem-copy h1{font-size:clamp(40px,5vw,74px)}.gem-copy p{font-size:18px;max-width:43ch}.gem-copy .eyebrow{font-size:12px;margin:0}.gem-image img{height:500px;object-fit:contain;mix-blend-mode:multiply}.external-note{font-size:12px;max-width:40ch;color:#526663}.shop-gems{display:grid;grid-template-columns:1fr 1.3fr;align-items:center;padding:50px 8%;gap:8%}.shop-gems img{height:350px;object-fit:contain;mix-blend-mode:multiply}.shop-gems h2,.shop-gems p{margin-bottom:20px}.shop-gems .eyebrow{margin-bottom:12px}.two-columns{display:grid;grid-template-columns:1fr 1fr;gap:8%}.two-columns p{margin:20px 0}.maker-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.maker-grid img,.maker-glass{width:100%;height:300px;object-fit:cover}.maker-grid h3{font-size:22px;margin:22px 0 12px}.maker-grid p{font-size:15px;margin-bottom:18px}.maker-glass{display:flex;align-items:center;justify-content:center;background:var(--pale)}.maker-story{max-width:850px;padding:30px 5% 70px;margin:auto}.maker-story p{margin:20px 0}.maker-story .eyebrow{margin:0 0 20px}.visit-layout{display:grid;grid-template-columns:1.15fr 1fr;align-items:center;gap:7%;padding:0 5% 70px}.visit-layout figure{margin:0}.visit-layout img{width:100%;filter:saturate(.55)}.visit-layout figcaption{font-size:12px;color:#666;margin-top:12px}.visit-layout h2{font-size:36px}.visit-layout p{margin-top:20px}.hours{margin:25px 0;max-width:400px}.hours div{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid #ddd;padding:12px 0;font-size:15px}.hours dd{margin:0}.agenda-all{display:inline-block;margin-top:20px}.event-link{margin-top:20px}.agenda-entry{display:grid;grid-template-columns:170px 1fr;gap:40px;padding:35px 0;border-top:1px solid #ccc}.agenda-date{font-size:70px;line-height:1.1}.agenda-date span{display:block;font-size:15px;margin-top:15px}.agenda-entry h2{font-size:34px}.agenda-entry p{margin:20px 0}.agenda-entry .eyebrow{margin:0 0 14px}.event-detail{display:grid;grid-template-columns:1fr 1fr;padding:0 5% 70px;gap:7%;align-items:center}.event-poster{background:var(--pink);padding:40px;aspect-ratio:1;display:flex;flex-direction:column;justify-content:space-between;max-height:600px}.event-poster>span{font-size:45px;line-height:.95;letter-spacing:-.04em}.event-poster strong{font-weight:400;font-size:100px;letter-spacing:-.06em}.event-poster p{font-size:24px;line-height:1.2}.event-facts{display:flex;flex-direction:column;align-items:flex-start;gap:25px}.event-facts h2{font-size:32px}.event-facts .share{border:0;background:none;border-bottom:1px solid;padding:0;color:#444;font-size:15px}.art-grid img,.work-detail img{filter:none!important}.source-small{font-size:12px;color:#666}.glass-gallery{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center;padding:0 5% 70px}.glass-gallery img{max-height:650px;object-fit:contain}.glass-gallery p{margin:22px 0}.collection-note{padding:0 5% 40px;color:#666;font-size:14px}
@media(max-width:1100px){.art-grid{gap:40px 25px}.art-card figure{height:300px}.art-caption{display:block}.art-caption>span{display:block;margin-top:8px}.maker-grid{grid-template-columns:1fr 1fr}.zoom-button img{height:530px}}
@media(max-width:760px){.location-story{grid-template-columns:1fr}.location-story .feature-image{height:390px}.location-story .feature-copy{padding:35px 24px}.portfolio-section{padding:0 22px 40px}.portfolio-tools{display:block;margin-bottom:30px}.filters{gap:15px}.filters button{font-size:13px}.art-count{display:block;margin-top:16px}.art-grid{grid-template-columns:1fr 1fr;gap:32px 18px}.art-card figure{height:230px}.art-caption{margin-top:12px}.art-caption h2{font-size:17px;line-height:1.25}.art-caption p{font-size:12px}.work-nav{padding:24px 22px 0}.work-detail{padding:30px 22px 45px;grid-template-columns:1fr;gap:35px}.zoom-button img{height:auto;max-height:65svh}.work-info h1{font-size:38px}.work-info{gap:20px}.work-context{padding:0 22px 25px}.work-pagination{padding:20px 22px 40px}.gem-hero{grid-template-columns:1fr;padding:35px 24px;gap:20px;min-height:0}.gem-copy{gap:20px}.gem-copy h1{font-size:48px}.gem-copy p{font-size:17px}.gem-image{grid-row:2}.gem-image img{height:290px}.shop-gems{grid-template-columns:1fr;padding:35px 24px;gap:25px}.shop-gems img{height:250px}.two-columns{grid-template-columns:1fr;gap:35px}.maker-grid{gap:30px 18px}.maker-grid img,.maker-glass{height:230px}.maker-grid h3{font-size:19px}.maker-grid p{font-size:14px}.maker-story{padding:10px 24px 40px}.visit-layout{grid-template-columns:1fr;padding:0 24px 40px;gap:30px}.visit-layout h2{font-size:30px}.hours div{font-size:14px}.agenda-entry{grid-template-columns:70px 1fr;gap:20px}.agenda-date{font-size:45px}.agenda-date span{font-size:12px}.agenda-entry h2{font-size:25px}.agenda-entry p{font-size:15px}.event-detail{grid-template-columns:1fr;padding:0 24px 40px;gap:35px}.event-poster{padding:30px}.event-poster strong{font-size:75px}.event-poster>span{font-size:35px}.event-poster p{font-size:21px}.event-facts h2{font-size:28px}.glass-gallery{grid-template-columns:1fr;padding:0 24px 40px;gap:30px}.glass-gallery img{max-height:450px}.collection-note{padding:0 24px 30px}}
@media(max-width:380px){.art-grid{grid-template-columns:1fr}.art-card figure{height:340px}.maker-grid{grid-template-columns:1fr}.maker-grid img{height:300px}}
.workshop-faq{max-width:950px}.workshop-faq details{border-top:1px solid #b9ceca;padding:20px 0}.workshop-faq summary{cursor:pointer;font-size:19px}.workshop-faq p{margin-top:16px;font-size:16px}.workshop-faq a{text-decoration:underline}.brand img{width:88px;height:88px}@media(max-width:760px){.brand img{width:65px;height:65px}}

.brand img{filter:grayscale(1)}.workshop-grid .products{grid-template-columns:repeat(2,minmax(0,1fr))}.workshop-detail img{width:100%;max-height:650px;object-fit:contain}.collection-shot{margin:0}.collection-shot img{width:100%;height:390px;object-fit:contain}.collection-shot figcaption{margin-top:18px;font-size:20px}@media(max-width:700px){.workshop-grid .products{grid-template-columns:1fr}.collection-shot img{height:300px}}
.workshop-grid .product.photo figure{height:390px;aspect-ratio:auto}.workshop-grid .product.photo figure img{height:100%;width:100%;object-fit:cover}@media(max-width:700px){.workshop-grid .product.photo figure{height:320px}}

/* Leesbaarheid en vaste oriëntatie, november 2026 */
.header{height:146px;gap:22px}.brand img{width:120px;height:120px;filter:none}.home-link,.visit,.nav a{font-size:16px}.nav{gap:22px}.opening{font-size:15px}.hero{height:calc(100svh - 251px)}.breadcrumbs{padding:22px 5% 0;font-size:16px}.breadcrumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:8px 12px;padding:0;margin:0}.breadcrumbs li{display:flex;gap:12px;align-items:center}.breadcrumbs li+li:before{content:'/';color:#777}.breadcrumbs a{text-decoration:underline;text-underline-offset:4px}.breadcrumbs [aria-current]{color:#555}.eyebrow{font-size:14px}.product p,.product .availability,.art-card p,.art-card .art-meta,.maker-grid p,.external-note,.hours div,.footer-bottom{font-size:16px}.textlink{font-size:17px}.external-note{line-height:1.6;max-width:48ch}.nav a[aria-current=page]{border-bottom:2px solid var(--turquoise)}
@media(max-width:1200px){.nav{gap:14px}.nav a{font-size:15px}.actions{gap:10px}}
@media(max-width:1050px){.nav{display:none}.mobile-menu{display:flex}.actions{margin-left:auto}}
@media(max-width:760px){.header{height:116px;padding:10px 20px;gap:12px}.brand img{width:96px;height:96px}.brand{gap:12px}.home-link{font-size:16px}.actions{gap:5px}.opening{font-size:14px}.breadcrumbs{padding:20px 24px 0;font-size:16px}.hero{height:auto;min-height:480px}.product p,.product .availability,.art-card p,.maker-grid p,.external-note,.hours div{font-size:16px}}
.breadcrumbs{padding-bottom:18px}.button{font-size:16px}.gem-copy .eyebrow{font-size:14px}

.nature-story{padding:0 5% 80px;display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:start}.nature-copy p{font-size:18px;margin:22px 0}.nature-copy .eyebrow{font-size:14px}.nature-pictures{display:grid;grid-template-columns:1fr 1fr;gap:18px;max-width:620px}.nature-pictures figure{margin:0}.nature-pictures img{width:100%;aspect-ratio:1;object-fit:cover}.nature-copy .external-note{font-size:16px}@media(max-width:760px){.nature-story{grid-template-columns:1fr;padding:0 24px 45px;gap:35px}.nature-pictures{gap:12px}}

/* Toos: complete objects, calm white presentation */
.tiffany-card figure{background:#fff!important}.tiffany-card figure img{object-fit:contain!important;padding:20px}.enquiry-note{font-size:16px;line-height:1.6;max-width:48ch;margin-top:20px}.toos-collection{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px;margin-top:36px}.toos-collection figure{margin:0}.toos-collection img{display:block;width:100%;height:440px;object-fit:contain;background:#fff}.toos-collection figcaption{font-size:20px;margin-top:16px}@media(max-width:650px){.toos-collection{grid-template-columns:1fr;gap:32px}.toos-collection img{height:340px}}

.wire-selection>p{max-width:65ch}.wire-images{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:36px 0}.wire-images figure{margin:0;background:#fafafa}.wire-images img{display:block;width:100%;height:420px;object-fit:contain;padding:20px 20px 0;filter:none}.wire-images figcaption{padding:18px 20px;font-size:18px}@media(max-width:700px){.wire-images{grid-template-columns:1fr}.wire-images img{height:380px}}

.craft-selection{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px;margin:32px 0}.craft-selection figure{margin:0}.craft-selection img{display:block;width:100%;height:440px;object-fit:contain;background:#fafafa}.craft-selection figcaption{font-size:19px;padding-top:14px}@media(max-width:650px){.craft-selection{grid-template-columns:1fr;gap:28px}.craft-selection img{height:auto;max-height:430px}}

.jewellery-page .wire-images figure,.jewellery-page .product figure{background:#e8f1ef}.jewellery-page .wire-images img{background:transparent}

/* Sieraden: beelden lopen af tot aan de rand van het fotovlak. */
.jewellery-page .wire-images img{padding:0;width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;object-position:center bottom}
.jewellery-page .wire-images figure{overflow:hidden}
.jewellery-page .wire-images figcaption{background:white;padding:16px 0 0}
.jewellery-page .product figure{aspect-ratio:3/4;padding:0}
.jewellery-page .product figure img{padding:0;width:100%;height:100%;object-fit:cover;object-position:center;max-width:none;max-height:none}

.maker-selection{columns:3;column-gap:24px}.maker-selection figure{break-inside:avoid;margin:0 0 32px}.maker-selection img{width:100%;height:auto;padding:0;display:block}.maker-selection figcaption{font-size:18px;line-height:1.45;padding-top:12px}@media(max-width:900px){.maker-selection{columns:2}}@media(max-width:550px){.maker-selection{columns:1}}

/* Natuurlijke beeldverhoudingen voor de product- en fotogalerijen. */
.products,.workshop-grid .products,.toos-collection,.craft-selection,.wire-images{display:block;columns:3;column-gap:24px}
.products>.product,.products>.collection-shot,.toos-collection>figure,.craft-selection>figure,.wire-images>figure{display:inline-block;width:100%;break-inside:avoid;margin:0 0 32px;vertical-align:top}
.products .product figure,.workshop-grid .product.photo figure,.jewellery-page .product figure{height:auto;aspect-ratio:auto;padding:0}
.products .product figure img,.workshop-grid .product.photo figure img,.jewellery-page .product figure img,.products .collection-shot img,.toos-collection img,.craft-selection img,.wire-images img,.jewellery-page .wire-images img{width:100%;height:auto;max-height:none;object-fit:contain;padding:0!important}
.nature-pictures{display:block;columns:2;column-gap:18px}.nature-pictures figure{break-inside:avoid;margin:0 0 18px}.nature-pictures img{aspect-ratio:auto;height:auto}
/* Alleen de aangeleverde Maud-foto’s: subtiel lichtere weergave. */
.maud-page .maker-selection img,.maud-page .glass-gallery img{filter:brightness(1.09) contrast(.94)}
@media(max-width:900px){.products,.workshop-grid .products,.toos-collection,.craft-selection,.wire-images{columns:2}}
@media(max-width:550px){.products,.workshop-grid .products,.toos-collection,.craft-selection,.wire-images{columns:1}}

/* Keep each homepage image and its own caption together. */
.home-collection>.product{display:inline-grid;grid-template-columns:minmax(0,1fr);break-inside:avoid-column;page-break-inside:avoid}
.home-collection>.product figure{background:var(--pale)}
.home-collection>.product h3,.home-collection>.product p{break-before:avoid}
.home-gems .feature-image{background:var(--pale)}
.home-gems .feature-image img{mix-blend-mode:multiply;filter:none}

.shop-gems>div:first-child{background:var(--pale)}
.shop-gems img{mix-blend-mode:multiply;filter:none}

.martine-home img{object-position:50% 72%}.martine-home .tile-caption{top:30px;bottom:auto}.martine-home:after{background:linear-gradient(180deg,#0007,transparent 48%)}

/* Subtle location layer over the original painting, beneath the readable copy. */
.hero-layered{isolation:isolate}
.hero-location-watermark{position:absolute;inset:0;background:url('/assets/eigen/flow-locatie.avif') center 50%/cover no-repeat;filter:grayscale(1);opacity:.48;mix-blend-mode:normal;pointer-events:none}
.hero-layered:after{z-index:1;pointer-events:none}
.hero-layered .hero-copy{z-index:2}
.martine-quiet{background:#f7f7f4;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:34px 32px;gap:22px}
.martine-quiet img{height:clamp(220px,23vw,360px);width:auto;max-width:72%;object-fit:contain;object-position:center;filter:saturate(.65)}
.martine-quiet:after{display:none}
.martine-quiet .tile-caption{position:static;color:var(--ink);text-align:center}
.martine-quiet h2{font-size:clamp(25px,2.2vw,34px)}
.martine-quiet .tile-caption p{opacity:1;transform:none;font-size:16px;margin-top:10px}
.martine-quiet:hover img,.martine-quiet:focus-visible img{transform:none;filter:saturate(.8)}
@media(max-width:760px){.martine-quiet{padding:28px 24px}.martine-quiet img{height:260px;max-width:80%}}

.flow-dog img{object-fit:cover;object-position:50% 40%;padding:0;width:100%;height:100%}

/* City detail only along the upper edge; preserve the painting's colours. */
.hero-layered>img{filter:none}
.hero-layered .hero-location-watermark{inset:0 0 auto;height:30%;max-height:205px;background-position:center 58%;opacity:.46;filter:grayscale(1);mix-blend-mode:normal;mask-image:linear-gradient(to bottom,#000 82%,transparent);-webkit-mask-image:linear-gradient(to bottom,#000 82%,transparent)}
@media(max-width:760px){.hero-layered .hero-location-watermark{height:125px;max-height:26%;background-position:38% 58%}}

/* A local emphasis at the entrance, aligned with the existing facade layer. */
.hero-location-entrance{position:absolute;inset:0 0 auto;height:30%;max-height:205px;background:url('/assets/eigen/flow-locatie.avif') center 58%/cover no-repeat;filter:grayscale(1);opacity:.42;pointer-events:none;mask-image:radial-gradient(ellipse 19% 65% at 57% 48%,#000 12%,transparent 100%);-webkit-mask-image:radial-gradient(ellipse 19% 65% at 57% 48%,#000 12%,transparent 100%)}
@media(max-width:760px){.hero-location-entrance{height:125px;max-height:26%;background-position:38% 58%}}

/* Reveal more of the entrance and pedestrians in the central area only. */
.hero-location-entrance{height:46%;max-height:315px;background-position:center 58%;opacity:.66;mask-image:radial-gradient(ellipse 23% 74% at 52% 38%,#000 20%,rgba(0,0,0,.8) 46%,transparent 100%);-webkit-mask-image:radial-gradient(ellipse 23% 74% at 52% 38%,#000 20%,rgba(0,0,0,.8) 46%,transparent 100%)}
@media(max-width:760px){.hero-location-entrance{height:185px;max-height:38%;background-position:38% 58%}}

/* Naturally extended landscape photograph fills the entire tile. */

.flow-dog img{object-fit:cover;object-position:center;width:100%;height:100%;padding:0;transform:none;filter:none;transform-origin:center}
.flow-dog:hover img,.flow-dog:focus-visible img{transform:none;filter:none}
.flow-dog .tile-caption{left:24px;bottom:20px}
.flow-dog .tile-caption h2{font-size:clamp(25px,2.4vw,36px)}

/* Shared navigation and shop themes */
.nav a{white-space:nowrap}.nav a[aria-current="true"]{border-bottom:2px solid var(--turquoise)}
.categories{flex-wrap:wrap;gap:8px 25px;padding:16px 4%;font-size:16px}.categories a{padding:5px 0}
.news-agenda-heading{padding-bottom:0}.news-agenda-heading p:last-child{margin-top:20px}
@media(min-width:1051px) and (max-width:1450px){.header{gap:16px;padding-left:2%;padding-right:2%}.nav{gap:15px}.nav a{font-size:15px}.actions{gap:5px}.actions .visit{display:none}}
@media(max-width:760px){.categories{white-space:normal;overflow:visible;justify-content:flex-start;gap:4px 20px;padding:15px 24px;font-size:16px}.categories a{max-width:100%}}

.music-lead{margin:0;min-width:0}.music-lead img{width:100%;height:100%;max-height:620px;min-height:320px;object-fit:cover;aspect-ratio:4/3}.music-lead figcaption{font-size:15px;color:#626262;margin-top:10px}.music-gallery{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}.music-gallery img{width:100%;height:auto}.music-agenda .agenda-entry{grid-template-columns:minmax(180px,28%) 100px 1fr;align-items:center;gap:28px}.agenda-photo{width:100%;aspect-ratio:4/3;object-fit:cover}
@media(max-width:760px){.music-agenda .agenda-entry{grid-template-columns:65px 1fr;gap:20px}.agenda-photo{grid-column:1/-1}.music-gallery{gap:14px}.music-lead img{min-height:0;height:auto}.music-lead{margin-bottom:20px}}

/* Brede ingangen in de schilderijbanner */
.hero-paths { display: grid; grid-template-columns: repeat(2, 1fr); width: fit-content; max-width: 100%; gap: 12px; margin: 22px 0; }
.hero-paths a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  min-width: 8.4em;
  padding: 8px 18px;
  border: 1px solid rgb(255 255 255 / 88%);
  border-radius: 4px;
  color: white;
  background: transparent;
  font-size: 1rem;
  letter-spacing: .015em;
  line-height: 1.35;
  text-decoration: none;
  white-space: nowrap;
  transition: background .18s, color .18s;
}
.hero-paths a:is(:hover, :focus-visible) { background: white; color: #333; }
.hero-paths a:focus-visible { border-color:#333; }

/* Hoofdnavigatie en het bezoekkaartje op het schilderij */
.header { background: white; }
.nav a { letter-spacing: .035em; font-weight: 400; color: #444; text-transform: none; }
@media (min-width: 1250px) {
  .nav { gap: clamp(20px, 2vw, 38px); }
}
.hero-layered {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: clamp(24px, 4vw, 80px);
  height: auto;
  min-height: clamp(530px, calc(100svh - 215px), 840px);
  max-height: none;
  padding: clamp(44px, 6vw, 104px) 3.5%;
}
.hero-layered > img { position: absolute; inset: 0; height: 100%; }
.hero-layered .hero-copy { position: relative; inset: auto; max-width: 50rem; }
.hero-layered h1 { letter-spacing: -.018em; line-height: 1.12; }
.gallery-label {
  position: relative;
  z-index: 2;
  width: fit-content;
  max-width: 100%;
  padding: 15px 20px;
  color: #faf8f4;
  background: linear-gradient(115deg, rgb(34 34 39 / 76%), rgb(34 34 39 / 60%));
}
.gallery-label h2 {
  font-size: 19px;
  line-height: 1.25;
  letter-spacing: .005em;
}
.gallery-label address { margin-top: 5px; color: #faf8f4; font-size: 16px; line-height: 1.42; font-style: normal; }
.gallery-label dl {
  display: grid;
  grid-template-columns: auto auto;
  gap: 1px 14px;
  margin: 8px 0 0;
  line-height: 1.45;
  font-size: 16px;
}
.gallery-label dd { margin: 0; text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.gallery-label a {
  display: inline-block;
  padding-block: 4px;
  color: inherit;
  text-decoration: underline;
  text-decoration-color: rgb(255 255 255 / 58%);
  text-underline-offset: .23em;
}
.gallery-label a:hover { text-decoration-color: currentColor; }
.gallery-label a:focus-visible { outline-color: white; }
@media (max-width: 850px) {
  .hero-layered { grid-template-columns: minmax(0,1fr); padding: 38px 24px 28px; gap: 30px; }
}

.header .nav a {
  border-bottom: 1px solid transparent;
}
.header .nav a:is(:hover, :focus-visible, [aria-current="true"], [aria-current="page"]) {
  border-bottom-color: var(--turquoise);
}
.hero-copy .eyebrow {
  text-transform: none;
  font-weight: 400;
  letter-spacing: .035em;
}
.categories {
  gap: 12px clamp(14px, 2vw, 32px);
  padding: 16px 3.5%;
}
.categories a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 8px 20px;
  border: 1px solid #bbbcb9;
  border-radius: 5px;
  letter-spacing: .02em;
  white-space: nowrap;
}
.categories a:is(:hover, :focus-visible) {
  text-decoration: none;
  background: #f4f4f1;
  border-color: #696b68;
}
@media (max-width: 760px) {
  .categories { padding: 16px 20px; gap: 10px 12px; }
  .categories a { padding-inline: 13px; }
}

/* Toelichtingen naast een titel, ook wanneer de kolommen op mobiel stapelen. */
.section-head > p:last-child,
.page-intro > p:last-child {
  color: #007c79;
  line-height: 1.65;
}

.gem-invitation { max-width: 60rem; }
.gem-invitation h2 + p {
  max-width: 52ch;
  margin-top: 1rem;
  line-height: 1.65;
}
.gem-invitation .button { margin-top: clamp(28px, 3vw, 40px); }
.gem-invitation .external-note { margin-top: 18px; }

/* Laat de titel en de beeldreeks ook buiten de vaste sectiekop ademen. */
main :is(h1, h2, h3) + :is(.products, .maker-selection, .wire-images, .craft-selection, .music-gallery, figure, picture, img) {
  margin-block-start: clamp(24px, 3vw, 40px);
}

/* Eén breed publieksbeeld naast twee staande foto's van de pianomiddag. */
.piano-pictures {
  display: grid;
  grid-template-columns: 1.75fr 1fr 1fr;
  gap: clamp(6px, 1vw, 16px);
  align-items: stretch;
}
.piano-pictures img { height: clamp(270px, 29vw, 440px); object-fit: cover; }
@media (max-width: 760px) {
  .piano-pictures { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .piano-pictures img { height: auto; }
  .piano-pictures img:first-child { grid-column: 1 / -1; }
}

.kerst-concert { background: var(--paper); }
.kerst-concert .feature-image img { height: auto; object-fit: contain; }
.kerst-concert .feature-image { align-self: center; }
.kerst-concert .feature-copy h1 { max-width: 16ch; }

.jam-film { margin: 0; max-width: 32rem; }
.jam-film video { display: block; width: 100%; height: auto; }
.jam-film figcaption { margin-top: .65rem; font-size: 1rem; color: #485753; }
#open-jamsessie + p { margin-top: 1.2rem; }

/* Eén doorlopende zetspiegel voor concert, jamsessie en fotografie. */
.winter-programma {
  --winter-gutter: max(clamp(22px, 5vw, 76px), calc((100% - 1360px) / 2));
}
.winter-programma > .section,
.winter-programma .kerst-concert { padding-inline: var(--winter-gutter); }
.winter-programma .kerst-concert {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.35fr);
  align-items: center;
  gap: clamp(24px, 4vw, 64px);
  padding-block: clamp(32px, 5vw, 72px);
}
.winter-programma .kerst-concert .feature-copy { padding: 0; }
.winter-programma .kerst-concert .feature-image { min-height: 0; height: auto; }
.winter-programma .two-columns { align-items: center; }
.winter-programma .jam-film { width: 100%; justify-self: end; }
.atelier-impressie header { margin-bottom: clamp(22px, 3vw, 38px); }
.atelier-impressie header p { color: #007c79; margin-top: 12px; }
.atelier-beelden {
  display: grid;
  grid-template-columns: 1.35fr 1fr;
  gap: clamp(8px, 1.2vw, 20px);
}
.atelier-beelden figure { margin: 0; min-width: 0; }
.atelier-beelden img { width: 100%; height: clamp(300px, 34vw, 510px); object-fit: cover; }
@media (max-width: 760px) {
  .winter-programma .kerst-concert, .atelier-beelden { grid-template-columns: 1fr; }
  .winter-programma .jam-film { max-width: none; }
  .atelier-beelden img { height: auto; }
}

.winter-programma .concert-spread {
  padding: clamp(18px, 3vw, 44px) var(--winter-gutter) clamp(40px, 5vw, 72px);
  grid-template-columns: minmax(0, 1.16fr) minmax(0, 1fr);
  gap: clamp(28px, 5vw, 76px);
}
.concert-spread figure { margin: 0; }
.concert-spread img { display: block; width: 100%; height: auto; }
.concert-datum {
  display: block; font-size: clamp(35px, 3.45vw, 60px);
  letter-spacing: -.025em; line-height: 1.08;
}
.concert-spread .concert-toegang {
  display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px 20px;
  margin: 14px 0 22px; padding-bottom: 18px; border-bottom: 1px solid var(--line);
  font-size: 18px; color: #007c79;
}
.concert-toegang time { font-size: 24px; }
.concert-programma h1 { font-size: clamp(28px, 2.35vw, 40px); line-height: 1.13; }
.concert-programma p { max-width: 45ch; margin-block: 16px; }
.concert-programma .button { margin-top: 5px; }
.winter-programma .jam-film { justify-self: start; }
@media (max-width: 760px) {
  .winter-programma .concert-spread { grid-template-columns: minmax(0,1fr); gap: 25px; }
  .winter-programma .concert-spread figure { max-width: 520px; }
  .winter-programma section[aria-labelledby="open-jamsessie"] .jam-film { order: 1; }
}

.concert-programma .agenda-save-note { display: block; margin-top: 12px; max-width: 42ch; font-size: 16px; color: #526663; }
.winter-programma .jam-start { color: #007c79; font-size: clamp(21px, 2vw, 30px); line-height: 1.25; margin: 0 0 12px; }
.jam-start strong { font-weight: 500; }
.winter-programma .jam-welcome { font-weight: 500; }
.piano-duo { display: grid; grid-template-columns: 1fr 1fr; gap: 5px; }
.concert-spread .piano-duo img { height: 100%; aspect-ratio: 2/3; object-fit: cover; }
.concert-spread figcaption { margin-top: 10px; color: #526663; }

.concert-spread .concert-portret img {
  width: auto;
  max-width: 100%;
  max-height: clamp(400px, 66svh, 640px);
  margin-inline: auto;
}
.winter-programma .piano-promo {
  max-width: min(100%, 21rem);
  justify-self: center;
}
@media (max-width: 760px) {
  .winter-programma .concert-portret { justify-self: center; }
}

/* Winkel en schilderijen */
.home-paintings { padding-block: clamp(42px, 5vw, 76px) clamp(26px, 3.5vw, 48px); }
.home-paintings-intro {
  margin: 0 4% clamp(23px, 2.5vw, 38px);
  display: flex; justify-content: space-between; align-items: flex-end; gap: 20px 40px;
}
.home-paintings-intro p { max-width: 59ch; margin-top: 12px; line-height: 1.55; }
.home-paintings-intro a { flex-shrink: 0; }
.home-paintings-intro h2 { font-size: clamp(1.75rem, 3vw, 2.8rem); line-height: 1.18; letter-spacing: -.012em; }
.home-paintings .gallery-scene .gallery-caption { font-size: .9375rem; line-height: 1.5; padding-top: 12px; }
/* De etalage volgt de eigen verhoudingen van de foto's in de winkel. */
.home-maker-items { column-gap: clamp(20px, 2.4vw, 40px); }
@media (min-width: 901px) {
  .home-maker-items > .product:nth-child(3),
  .home-maker-items > .product:nth-child(5) { break-before: column; }
  .home-maker-items > .product:nth-child(3) { padding-top: clamp(24px, 3vw, 50px); }
}
@media (min-width: 551px) and (max-width: 900px) {
  .home-maker-items > .product:nth-child(4) { break-before: column; padding-top: 24px; }
}
@media (max-width: 550px) {
  .home-maker-items > .product:nth-child(even) { display: block; width: 88%; margin-inline-start: auto; }
}
.shop-interests {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 14px;
  margin: 0 0 clamp(28px, 3vw, 44px);
}
.shop-interests a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 8px clamp(18px, 2vw, 32px);
  font-size: clamp(1.0625rem, 1.4vw, 1.25rem);
  line-height: 1.3;
  border: 1px solid #b8bcb9;
  border-radius: 6px;
}
.shop-interests a:hover, .shop-interests a:focus-visible { border-color: var(--turquoise); }
@media (max-width: 550px) {
  .shop-interests { gap: 8px; }
  .shop-interests a { padding-inline: 14px; }
}
@media (max-width: 1170px) {
  .header .nav { display: none; }
  .header .mobile-menu { display: flex; }
  .header .actions { margin-left: auto; }
}
@media (max-width: 760px) {
  .home-paintings-intro { display: block; margin-inline: 5%; }
  .home-paintings-intro p { margin: 12px 0; }
  .home-paintings-intro h2 { font-size: clamp(1.55rem, 4.5vw, 1.875rem); }
  .home-paintings-intro :is(p, a) { font-size: 1rem; }
  .home-paintings .gallery-scene .gallery-caption { font-size: .9rem; }
  .flow-home :is(.section-head, .feature-copy, .join, .footer) h2 {
    font-size: clamp(1.5rem, 4.5vw, 1.875rem);
    letter-spacing: -.012em;
    line-height: 1.2;
  }
}
.hero-layered > .hero-painting { position: absolute; inset: 0; }
.hero-layered > .hero-painting img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 45%; filter: none; }

/* De bezoekster en Mmai-Hua staan samen aan de onderrand van het schilderij. */
.hero.met-stilleven {
  overflow: hidden;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  grid-template-rows: 1fr auto;
  gap: clamp(18px, 2vw, 32px) 4%;
  padding: clamp(36px, 4.5vw, 80px) 3.5% clamp(27px, 3vw, 54px);
}
.met-stilleven .hero-copy { grid-area: 1 / 1; width: 100%; max-width: 42rem; container-type: inline-size; }
.met-stilleven .gallery-label { grid-area: 2 / 1; justify-self: start; }
.met-stilleven .hero-paths { margin-bottom: 0; }
.gallery-label .weekdag-kort { display: none; text-decoration: none; }
.met-stilleven::after {
  background: linear-gradient(90deg, rgb(19 28 29 / 32%), transparent 64%),
              linear-gradient(0deg, rgb(0 0 0 / 60%), transparent 82%);
}
.met-stilleven .hero-title {
  margin: 0 0 clamp(18px, 2.3vw, 32px);
  font-size: clamp(2.125rem, 11.5cqi, 5rem);
  font-weight: 400;
  line-height: 1.08;
  letter-spacing: -.012em;
}
.hero-title span { display: block; }
.hero-title span:last-child {
  margin-top: .06em;
  font-size: .83em;
  font-weight: 300;
  letter-spacing: .006em;
}
.met-stilleven .hero-copy .eyebrow {
  margin-bottom: clamp(16px, 1.8vw, 26px);
  font-size: 1rem;
  line-height: 1.45;
  letter-spacing: .045em;
}
.met-stilleven .hero-title + p {
  max-width: 50ch;
  font-size: clamp(1rem, 1.24vw, 1.125rem);
  line-height: 1.55;
}
.hero-stilleven {
  --shopper-width: 78%;
  --lamp-width: min(28cqw, 24.36cqh);
  container-type: size;
  position: absolute;
  inset: clamp(28px, 4vw, 72px) 3.5% 0 50%;
  z-index: 2;
  pointer-events: none;
}
.hero-stilleven img {
  display: block;
  position: absolute;
  bottom: 0;
  object-fit: contain;
}
.hero-stilleven .hero-shopper {
  left: clamp(-40px, -2.5vw, -10px);
  width: var(--shopper-width);
  height: 100%;
  object-position: right bottom;
  filter: drop-shadow(-.65cqw .55cqw .65cqw rgb(24 19 20 / 30%));
}
.hero-lamp-set {
  position: absolute;
  bottom: -1px;
  left: calc(var(--shopper-width) - min(19cqw, 16cqh));
  z-index: 1;
  width: var(--lamp-width);
  aspect-ratio: 360 / 724;
}
.hero-lamp-set .hero-lamp {
  width: 100%;
  height: 100%;
  filter: drop-shadow(-.3cqw .2cqw .22cqw rgb(30 21 19 / 21%))
          drop-shadow(-1.3cqw .56cqw .6cqw rgb(36 24 23 / 38%));
}
.hero-lamp-set::before {
  content: "";
  position: absolute;
  inset: auto 0 -.8% -16%;
  height: 4%;
  background: radial-gradient(ellipse 32% 43% at 44% 64%, rgb(33 24 22 / 50%), transparent),
              radial-gradient(ellipse 18% 35% at 83% 59%, rgb(33 24 22 / 40%), transparent);
}
@media (max-width: 680px) {
  .hero.met-stilleven {
    grid-template-columns: minmax(10rem, 1fr) minmax(0, 1fr);
    grid-template-rows: auto auto;
    gap: 22px 8px;
    padding: 40px 5% 0;
  }
  .met-stilleven .hero-copy { grid-column: 1 / -1; }
  .met-stilleven .hero-title { font-size: clamp(1.875rem, 6.2vw, 2.375rem); margin-bottom: 16px; }
  .met-stilleven .hero-copy .eyebrow { font-size: .875rem; margin-bottom: 14px; }
  .met-stilleven .hero-paths { gap: 8px; }
  .met-stilleven .hero-paths a { padding: 8px 12px; font-size: 16px; }
  .met-stilleven .gallery-label {
    align-self: end;
    margin-bottom: 20px;
    padding: 13px 10px;
  }
  .met-stilleven .gallery-label h2 { font-size: clamp(17px, 4vw, 21px); }
  .met-stilleven .gallery-label address { font-size: clamp(15px, 4vw, 17px); }
  .met-stilleven .gallery-label dl { grid-template-columns: auto 1fr; gap: 3px 6px; font-size: 15px; margin-bottom: 2px; }
  .met-stilleven .gallery-label .weekdag-lang { display: none; }
  .met-stilleven .gallery-label .weekdag-kort { display: inline; }
  .hero-stilleven {
    --shopper-width: 85%;
    --lamp-width: min(30%, clamp(52px, 13.36vw, 82px));
    position: relative;
    inset: auto;
    grid-area: 2 / 2;
    align-self: stretch;
    min-height: clamp(220px, 56vw, 345px);
    margin-right: -3vw;
  }
  .hero-lamp-set { left: 65%; }
}
.visit-landmark {
  display: grid;
  grid-template-columns: minmax(180px, 320px) minmax(0, 53ch);
  gap: clamp(28px, 6vw, 96px);
  align-items: center;
}
.visit-landmark figure { margin: 0; }
.visit-landmark figure img { display: block; width: 100%; height: auto; }
.visit-landmark h3 { margin-top: 24px; }
.visit-landmark p { margin: 12px 0; }
.visit-layout .visit-portrait img {
  aspect-ratio: 1.07;
  object-fit: cover;
  object-position: center 48%;
  filter: none;
}
.visit-layout .visit-info-title {
  font-size: clamp(1.25rem, 1.6vw, 1.5rem);
  line-height: 1.3;
  font-weight: 500;
  letter-spacing: normal;
  margin: 0 0 .6rem;
}
.visit-address { font-size: 1.0625rem; line-height: 1.55; font-style: normal; }
.visit-layout .visit-sundays { max-width: 43ch; margin: 0 0 1.4rem; }
.visit-sundays .textlink { display: table; margin-top: .4rem; }
.visit-layout .visit-portrait figcaption { font-size: .9375rem; }
.visit-brutus { grid-template-columns: minmax(0, 44fr) minmax(0, 56fr); }
.visit-brutus .feature-image { height: auto; aspect-ratio: 6167 / 5712; }
.visit-brutus .feature-image img, .visit-brutus:hover .feature-image img { filter: none; }
@media (max-width: 760px) {
  .visit-brutus { grid-template-columns: 1fr; }
}
@media (max-width: 680px) {
  .visit-landmark { grid-template-columns: 1fr; }
  .visit-landmark figure { width: min(85%, 300px); }
}
.section-head .maker-intro { max-width: 53ch; margin-top: 14px; }
.gem-shop-hero {
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  min-height: 0;
  padding: 0;
  gap: 0;
  background: #f7f5f1;
}
.gem-shop-hero .gem-copy { padding: clamp(36px, 4vw, 72px); }
.gem-shop-hero .gem-image {
  position: relative;
  align-self: stretch;
}
.gem-shop-hero .gem-image img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 59%;
  mix-blend-mode: normal;
  mask-image: linear-gradient(to right, transparent, #000 12%);
}
.visit-atelier-photos {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;
  gap: 3px;
}
.visit-atelier-photos img {
  display: block;
  width: 100%;
  height: clamp(190px, 22vw, 460px);
  object-fit: cover;
}
.visit-atelier-photos img:nth-child(2) { object-position: 50% 62%; }
.gem-visit-copy {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 22px 5vw;
  padding: clamp(32px, 4vw, 72px) 5%;
  background: var(--paper);
}
.gem-visit-copy p { max-width: 54ch; margin-bottom: 12px; }
@media (max-width: 760px) {
  .gem-shop-hero { grid-template-columns: 1fr; }
  .gem-shop-hero .gem-copy { padding: 32px 5% 22px; gap: 16px; }
  .gem-shop-hero .gem-copy h1 { font-size: clamp(32px, 7vw, 42px); }
  .gem-shop-hero .gem-image { height: clamp(280px, 82vw, 470px); }
  .gem-shop-hero .gem-image img {
    mask-image: linear-gradient(to bottom, transparent, #000 12%);
  }
  .gem-visit-copy { grid-template-columns: 1fr; gap: 12px; }
  .gem-visit-copy h2 { font-size: 26px; }
}
@media (max-width: 680px) {
  .visit-atelier-photos { grid-template-columns: 1fr 1fr; }
  .visit-atelier-photos img { height: auto; aspect-ratio: 1; }
  .visit-atelier-photos img:first-child { grid-column: 1 / -1; aspect-ratio: 1.8; }
}
.shop-introduction p + p { margin-top: .85em; }
@media (min-width: 761px) and (max-width: 1000px) {
  .mosaic { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mosaic > .tile { width: 100%; }
}

/* De etalage, de stenen van dichtbij en de film in hun eigen beeldverhouding. */
.stone-counter {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;
  gap: 3px;
}
.stone-counter img {
  display: block;
  width: 100%;
  height: clamp(225px, 28vw, 440px);
  object-fit: cover;
}
.stone-counter img:first-child { object-position: 50% 76%; }
#winkelfilm, #stenen-bezoeken, #krassen-en-klei { scroll-margin-top: 9rem; }
.shop-tour { margin: 0; }
.shop-tour-media {
  display: grid;
  --tour-height: clamp(320px, 39vw, 600px);
  grid-template-columns: minmax(0, 1fr) calc(var(--tour-height) * .5625);
  grid-template-rows: minmax(0, 1fr);
  gap: 4px;
  height: var(--tour-height);
}
.shop-tour-media img, .shop-tour-media video { display: block; height: 100%; }
.shop-tour-media img { width: 100%; object-fit: cover; object-position: 50% 54%; }
.shop-tour-media video { width: 100%; min-height: 0; aspect-ratio: 9/16; background: var(--paper); }
.shop-tour figcaption { margin-top: 12px; color: var(--ink); }
.scratched-pieces {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(12px, 1.8vw, 28px);
}
.scratched-pieces figure { margin: 0; }
.scratched-pieces img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1;
  box-sizing: border-box;
  padding: 6%;
  background: #f2f2ef;
  object-fit: contain;
}
.scratched-pieces figcaption { padding-top: 12px; font-size: 1rem; line-height: 1.5; }
#zeefdrukkaarten .maker-selection { columns: 2; }
@media (max-width: 680px) {
  .stone-counter { grid-template-columns: 1fr 1fr; }
  .stone-counter img { height: auto; aspect-ratio: 1.2; }
  .stone-counter img:first-child { grid-column: 1/-1; aspect-ratio: 1.55; }
  .shop-tour-media { height: auto; grid-template-columns: 1fr; grid-template-rows: auto auto; gap: 12px; }
  .shop-tour-media img { height: auto; aspect-ratio: 4/3; }
  .shop-tour-media video { justify-self: center; width: min(100%, 340px, 40svh); height: auto; }
  .scratched-pieces { grid-template-columns: 1fr; gap: 24px; }
  #zeefdrukkaarten .maker-selection { columns: 1; }
}

/* Het winkellicht en de bediening van de korte pianofilm. */
.shop-tour-media img { filter: brightness(1.13) contrast(.96) saturate(1.04); }
.shop-tour figcaption { display: flex; flex-wrap: wrap; gap: 4px 22px; align-items: baseline; }
.tour-sound {
  border: 0;
  padding: 6px 0;
  background: none;
  color: var(--ink);
  font: inherit;
  text-decoration: underline;
  text-underline-offset: .18em;
}
.shop-detail-link { margin-top: 24px; }
#materiaal { scroll-margin-top: 11rem; }
.single-print figure { margin: 0; max-width: 740px; }
.single-print img { width: 100%; height: auto; }
.single-print figcaption { margin-top: 10px; }

/* De kaarten en de lampen sluiten op elkaar aan langs dezelfde leeslijn. */
#zeefdrukkaarten { padding-bottom: 0; }
#zeefdrukkaarten .maker-selection figure:last-child { margin-bottom: 0; }
#lampen {
  grid-template-areas: "film verhaal";
  gap: clamp(24px, 4vw, 72px);
  padding: clamp(26px, 3vw, 46px) 5% 0;
  min-height: 0;
}
#lampen .feature-copy {
  grid-area: verhaal;
  align-self: start;
  justify-content: flex-start;
  padding: 0;
  gap: 14px;
  max-width: 54ch;
}
#lampen .feature-copy h3 { margin-top: 12px; }
#lampen .lamp-film { grid-area: film; }
@media (max-width: 760px) {
  #lampen { grid-template-areas: "verhaal" "film"; padding-inline: 22px; }
}

#lampen .lamp-film {
  width: min(100%, 22rem);
  justify-self: center;
  align-self: center;
  margin: 0;
}
.lamp-film video { display: block; width: 100%; height: auto; }
.lamp-film figcaption { padding-top: .35rem; }
.jam-film .tour-sound { margin-inline-start: .6rem; }
#orgonite, #initiatief { scroll-margin-top: 6rem; }
@media (max-width: 760px) {
  #lampen .lamp-film { width: min(85vw, 19rem); }
}

/* Praktische informatie en de twee tekenvoorbeelden van Joyce. */
.mandala-info {
  display: grid;
  grid-template-columns: minmax(18rem, .9fr) minmax(0, 1.55fr);
  align-items: start;
  gap: clamp(32px, 5vw, 80px);
  background: var(--paper);
}
.mandala-info h2 { margin-bottom: 1.25rem; font-size: clamp(1.6rem, 2.4vw, 2.3rem); }
.mandala-info dl { display: grid; grid-template-columns: auto 1fr; gap: .55rem 1.2rem; margin: 0 0 1.35rem; }
.mandala-info dt { font-weight: 600; }
.mandala-info dd { margin: 0; }
.mandala-info .textlink { margin-top: .65rem; }
.mandala-paar { display: grid; grid-template-columns: 1fr 1fr; align-items: start; gap: clamp(12px, 1.6vw, 24px); }
.mandala-paar img { display: block; width: 100%; height: auto; }
@media (max-width: 960px) { .mandala-info { grid-template-columns: 1fr; } }
@media (max-width: 600px) { .mandala-paar { grid-template-columns: 1fr; } }

/* Foto's van het atelier en het keramische werk in hun eigen verhouding. */
.atelier-fotopaar { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(20px,3vw,48px); align-items:start; }
.atelier-fotopaar figure { margin:0; }
.atelier-fotopaar img { display:block; width:100%; height:auto; }
.atelier-fotopaar figcaption { padding-top:10px; font-size:1rem; }
.hanger-aanzicht { margin-top:8px; }
.hanger-aanzicht summary { padding:6px 0; cursor:pointer; text-decoration:underline; text-underline-offset:.18em; }
.hanger-aanzicht[open] img { margin-top:10px; }
@media (max-width:600px) { .atelier-fotopaar { grid-template-columns:1fr; } }

/* Gastvrouwen: dezelfde portretmaat, met een uitsnede per oorspronkelijke foto. */
.flow-team-intro { max-width: 66ch; margin: 14px 0 0; }
.flow-team-list {
  list-style: none;
  margin: clamp(28px,4vw,56px) 0 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(5,minmax(0,1fr));
  gap: 36px clamp(18px,2.2vw,40px);
}
.gastvrouw-portret {
  display: block;
  position: relative;
  width: clamp(94px,10vw,150px);
  aspect-ratio: 1;
  border-radius: 50%;
  overflow: hidden;
  background: var(--paper);
}
.gastvrouw-portret img {
  display: block;
  position: absolute;
  width: var(--beeldbreedte,100%);
  max-width: none;
  height: auto;
  left: var(--links,0);
  top: var(--boven,0);
}
.portret-toos { --beeldbreedte: 133%; --links:-20%; --boven:-10%; }
.portret-joyce { --beeldbreedte: 162%; --links:-8%; --boven:-115%; }
.portret-joyce img { filter: brightness(1.37) contrast(.90); }
.portret-danielle { --beeldbreedte: 118%; --links:-12%; --boven:-8%; }
.portret-ria {
  --beeldbreedte: 82%;
  --links: 9%;
  --boven: 0%;
}
.portret-ria::before {
  content: "";
  position: absolute;
  inset: -4%;
  background: url("/assets/gastvrouwen/ria.webp") center / cover;
  filter: blur(4px);
}
.portret-ria img {
  mask-image: linear-gradient(to right, transparent, black 6%, black 94%, transparent);
}
.portret-gerda { --beeldbreedte: 100%; --links:0%; --boven:-12%; }
.portret-gerda img { filter: brightness(1.27) contrast(1.04) saturate(1.06); }
.flow-team-list h3 { font-size: clamp(21px,1.6vw,26px); margin: 17px 0 3px; }
.flow-team-list .gastdagen { color: #00736e; font-size: 15px; margin-bottom: 11px; }
.flow-team-list .gastbio { font-size: 16px; line-height: 1.55; }
.flow-team-list a { display: inline-block; margin-top: 10px; }
.flow-reviews {
  padding: clamp(28px,4vw,54px) 5%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 18px 4vw;
  background: #fff;
  border-block-start: 1px solid var(--line);
}
.flow-reviews h2 { font-size: clamp(23px,2vw,29px); margin-bottom: 6px; }
.flow-score { display: flex; align-items: baseline; gap: .7em; flex-wrap: wrap; }
.flow-score strong { font-size: 19px; font-weight: 500; }
.flow-score-stars { color: #007970; letter-spacing: .09em; }
.flow-score-date { font-size: 14px; color: #606461; }
.flow-review-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 25px; }
.flow-review-actions a { padding-block: 6px; }
@media (max-width: 1050px) {
  .flow-team-list { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width: 680px) {
  .flow-team-list { grid-template-columns: 1fr; gap: 24px; }
  .flow-team-list li { display: grid; grid-template-columns: 76px 1fr; gap: 16px; align-items: start; }
  .gastvrouw-portret { width: 76px; }
  .flow-team-list h3 { margin-top: 0; }
  .flow-reviews { padding-inline: 5%; }
}

@media (min-width: 761px) {
  .atelier-zelfstandig .feature-copy { grid-column: 1; grid-row: 1; }
  .atelier-zelfstandig .feature-image { grid-column: 2; grid-row: 1; }
}

.flow-reviews:has(.review-preview:not([hidden])) {
  padding-block: clamp(14px, 1.6vw, 24px);
  row-gap: 8px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.45fr);
}
.review-preview {
  grid-column: 2;
  grid-row: 1 / 3;
  background: #edf4f2;
  padding: 14px clamp(16px, 2vw, 28px);
}
.review-preview blockquote {
  margin: 5px 0;
  font-size: clamp(17px, 1.3vw, 20px);
  line-height: 1.4;
}
.review-byline, .review-pages { font-size: 14px; }
.review-pages { display: flex; align-items: center; gap: 14px; margin-top: 0; }
.review-pages button { background: transparent; border: 1px solid #758783; border-radius: 50%; width: 44px; height: 44px; cursor: pointer; font-size: 20px; }
.review-preview:not([hidden]) { display: grid; grid-template-columns: 1fr auto; column-gap: 14px; align-items: end; }
.review-preview .eyebrow { grid-column: 1 / -1; margin: 0; }
@media (max-width: 760px) {
  .review-preview:not([hidden]) { grid-template-columns: 1fr; }
  .review-pages { justify-self: end; }
  .flow-reviews:has(.review-preview:not([hidden])) { grid-template-columns: 1fr; }
  .review-preview { grid-column: auto; grid-row: auto; }
}

.review-preview.review-pair { display: block; }
.review-pair figure { margin: 0; }
.review-pair figure + figure { margin-top: 1rem; padding-top: 1rem; border-top: 1px solid #cbd8d5; }
.review-pair figcaption { margin-top: .4rem; }

.review-pair blockquote, .review-pair figcaption {
  font-family: Arial, Helvetica, sans-serif;
  font-weight: 400;
  letter-spacing: normal;
}
.review-pair blockquote { font-size: 16px; line-height: 1.55; color: #38433f; }
.review-pair figcaption { font-size: 13px; line-height: 1.45; color: #53605b; }


.dialog :is(button,a,input):focus-visible, .header .iconbtn:focus-visible { outline:1px solid #446864; outline-offset:1px; }
#zoeken, #menu { border:1px solid #202020; border-radius:12px; padding:24px; }
:is(#zoeken,#menu) h2 { margin:0; font:400 23px/1.3 Arial,sans-serif; }
#zoeken label { display:block; margin:0 0 8px; font-size:14px; }
#zoeken input { display:block; border:1px solid #202020; border-radius:7px; padding:12px; font-size:16px; clear:both; }
#menu .drawer-nav { clear:both; gap:0; }
.drawer-nav a { display:flex; align-items:center; min-height:44px; border-bottom:1px solid #dededb; font:400 16px/1.5 Arial,sans-serif; text-decoration:none; }
.drawer-nav a:is(:hover,:active,:focus-visible), .header .iconbtn:active { background:#edf4f2; color:#155b55; }
.flow-home .hero-title .mobile-home-title { display:none; }
@media(max-width:760px) {
  body > .header { height:64px; padding:6px 16px; }
  .header .brand img { width:50px; height:50px; object-fit:contain; }
  .header .actions .iconbtn { display:grid; place-items:center; width:44px; height:44px; padding:0; }
  .header .actions .mobile-menu { border:0; background:transparent; }
  .header .actions svg { width:21px; height:21px; pointer-events:none; }
  .flow-home #inhoud { display:flex; flex-direction:column; }
  .flow-home .hero { order:-2; }
  .flow-home #winkelthemas { order:-1; }
  #winkelthemas .maker-intro, #winkelthemas .shop-interests, #winkelthemas .product p { display:none; }
  #winkelthemas .home-maker-items { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
  #winkelthemas .home-maker-items > .product { display:none; width:100%; margin:0; padding:0; }
  #winkelthemas .home-maker-items > :is([href="/sieraden/"],[href="/keramaud/"],[href="/lampen/"],[href="/glas-in-lood/"]) { display:block; }
  #winkelthemas .product figure { aspect-ratio:1; width:100%; margin:0; }
  #winkelthemas .product figure img { width:100%; height:100%; object-fit:cover; }
  #winkelthemas .product h3 { font:400 16px/1.4 Arial,sans-serif; margin:7px 0 0; }
}

.home-mobile-intro { display:none; }
@media (max-width:760px) {
  .flow-home .hero-intro > p:last-child { display:none; }
  .flow-home .home-mobile-intro { display:block; order:-1; margin:0; padding:18px 5%; font:400 15px/1.55 Arial,sans-serif; color:#404040; }
  .flow-home .hero-paths { max-width:100%; }
  .flow-home .hero-paths a { min-width:0; }
}

/* Doorlopende tekst en onderschriften op de informatiepagina’s. */
main :is(.page-intro,.feature-copy,.section-head,.two-columns,.shop-introduction,.agenda-entry,.artist-text,.page-content,.flow-team-list,.section) p { font-size:15px; line-height:1.55; }
main .page-intro h1 { font-size:clamp(25px,3vw,40px); font-weight:400; }
main :is(.section-head,.feature-copy,.section,.page-content) h2 { font-size:clamp(20px,2vw,28px); font-weight:400; }
main :is(.product,.agenda-entry,.two-columns,.flow-team-list) h3 { font-size:16px; font-weight:400; }
main :is(figcaption,.product p,.product .availability,.flow-team-list .gastdagen,.external-note,.page-intro .eyebrow,.feature-copy .eyebrow) { font-size:12px; line-height:1.5; }
main :is(figcaption,.product p,.flow-team-list .gastdagen,.external-note) { color:#626262; }
main .breadcrumbs { font-size:13px; }

@media (max-width:760px) {
  .flow-home .hero.met-stilleven { min-height:0; grid-template-columns:minmax(0,1fr) minmax(0,1fr); grid-template-rows:auto clamp(225px,68vw,380px); gap:12px 0; padding:30px 5% 0; }
  .flow-home .met-stilleven .hero-copy { grid-area:1 / 1 / 2 / -1; }
  .flow-home .hero-stilleven { position:relative; inset:auto; grid-area:2 / 1 / 3 / -1; width:100%; height:100%; min-height:0; margin:0; }
  .flow-home .hero-shopper { left:auto; right:12%; width:72%; height:100%; }
  .flow-home .hero-lamp-set { left:auto; right:0; width:clamp(48px,15vw,90px); }
  .flow-home .gallery-label { grid-area:2 / 1 / 3 / -1; align-self:end; justify-self:start; z-index:3; width:fit-content; margin:0 0 14px; padding:10px 14px; background:rgb(16 16 17 / 72%); }
  .flow-home .gallery-label h2 { font-size:16px; }
  .flow-home .gallery-label :is(address,dl) { font-size:13px; }
}

@media (max-width:760px) {
  .flow-home .hero-title .desktop-home-title { display:none; }
  .flow-home .hero-title .mobile-home-title { display:block; font:inherit; margin:0; }
  .flow-home .hero-intro .hero-title { font:400 clamp(23px,5vw,29px)/1.18 Arial,sans-serif; margin:0; letter-spacing:-.012em; }
  .flow-home .hero-intro .eyebrow { font-size:13px; margin-bottom:6px; }
  .flow-home .hero.met-stilleven { padding-top:20px; row-gap:10px; grid-template-rows:auto clamp(200px,59vw,330px); }
  .flow-home .hero-paths { margin-top:12px; }
  .flow-home .hero-paths a { font-size:14px; }
  .flow-home .home-mobile-intro { line-height:1.6; padding-block:16px; }
}

.winkelthemas-grid .product small { display:block; color:#646464; font:400 12px/1.4 Arial,sans-serif; }
@media (max-width:760px) {
  main :is(.products,.maker-selection,.toos-collection,.wire-images,.craft-selection) { display:grid; columns:auto; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; gap:20px 12px; }
  main :is(.products,.maker-selection,.toos-collection,.wire-images,.craft-selection) > :is(.product,.collection-shot,figure) { min-width:0; width:100%; margin:0; }
  main .winkelthemas-grid .product figure { width:100%; aspect-ratio:1; overflow:hidden; }
  main .winkelthemas-grid .product figure img { width:100%; height:100%; object-fit:cover; }
  main .winkelthemas-grid .product h3 { margin:7px 0 2px; font:400 14px/1.35 Arial,sans-serif; }
  main :is(.maker-selection,.toos-collection,.wire-images,.craft-selection) figcaption { padding-top:6px; font-size:12px; line-height:1.45; }
}

.shop-overview .shop-heading { padding:18px 5% 6px; }
.shop-overview .shop-heading h1 { margin:0; font:400 24px/1.2 Arial,sans-serif; }
.shop-overview .shop-heading p { margin:4px 0 0; color:#555; font:400 13px/1.5 Arial,sans-serif; }
.shop-overview .shop-interests { gap:8px; margin:8px 0 16px; }
.shop-overview .shop-interests a { min-height:44px; padding:6px 16px; font-size:15px; text-decoration:none; }
@media(max-width:760px) {
  .shop-overview .breadcrumbs { display:none; }
  .shop-overview .shop-heading { padding:15px 5% 3px; }
  .shop-overview .page-content { padding-inline:5%; }
}

@media (max-width:760px) {
  .flow-home > .header { display:grid; grid-template-columns:1fr auto; padding-inline:5%; gap:0; }
  .flow-home > .header .brand { grid-column:1; justify-self:start; }
  .flow-home > .header .actions { grid-column:2; justify-self:end; }
  .flow-home .hero.met-stilleven { grid-template-rows:auto clamp(225px,67vw,350px); row-gap:8px; }
  .flow-home .hero-shopper { right:10%; width:77%; }
  .flow-home .gallery-label { padding:7px 10px; border-radius:7px; margin-bottom:12px; }
  .flow-home .gallery-label h2 { margin:0; font:400 13px/1.3 Arial,sans-serif; }
  .flow-home .gallery-label address { display:none; }
  .flow-home .gallery-label dl { margin:4px 0 0; gap:1px 9px; grid-template-columns:auto auto; font:400 12px/1.4 Arial,sans-serif; }
  .flow-home .gallery-label .weekdag-lang { display:none; }
  .flow-home .gallery-label .weekdag-kort { display:inline; }
}

.flow-home main .home-paintings .gallery-caption,
.flow-home main .home-paintings .gallery-caption :is(a,strong,span) { font:400 12px/1.5 Arial,Helvetica,sans-serif; color:#555; }

body main nav.breadcrumbs { font:400 12px/1.45 Arial,Helvetica,sans-serif; color:#676767; padding-block:10px 0; }
body main nav.breadcrumbs ol { gap:3px 8px; }
body main nav.breadcrumbs li { gap:8px; }
body main nav.breadcrumbs [aria-current] { color:inherit; }
body main nav.breadcrumbs a { text-decoration:none; }
body main nav.breadcrumbs a:is(:hover,:focus-visible) { text-decoration:underline; text-underline-offset:2px; }

body main nav.breadcrumbs :is(ol,li,a,span) { font:400 12px/1.5 Arial,Helvetica,sans-serif; letter-spacing:normal; color:inherit; }

/* A bordered control uses its existing edge to show keyboard focus. */
body :is(input:not([type=checkbox]):not([type=radio]),textarea,select,.button,.dialog-close,.shop-interests a,.hero-paths a,.print-group,.print-confirm,.group-picker summary):focus-visible {
  outline:1px solid #446864; outline-offset:-1px; box-shadow:none;
}
body a:not([class]):focus-visible { outline:none; text-decoration:underline; text-decoration-color:currentColor; text-underline-offset:.22em; }

body .visit-hours-link { display:inline-flex; align-items:center; width:fit-content; min-height:32px; margin:0; padding:2px 0; border:0; border-radius:0; background:transparent; color:#595959; font:400 12px/1.5 Arial,sans-serif; text-decoration:underline; text-decoration-color:#a7a7a3; text-underline-offset:3px; }
body .visit-hours-link:hover { color:#333; text-decoration-color:currentColor; }
body .footer .visit-hours-heading { font:400 14px/1.45 Arial,sans-serif; }

body .footer :is(p,address,a,button) { font:400 12px/1.55 Arial,sans-serif; }
body .footer h2 { font:400 19px/1.3 Arial,sans-serif; }
body .footer h3 { font:400 14px/1.4 Arial,sans-serif; }

@media (max-width:760px) {
  .flow-home .home-gems .feature-image { height:clamp(160px,48vw,240px); min-height:0; }
  .flow-home .home-gems .feature-image img { width:100%; height:100%; object-fit:contain; padding:8px 5% 0; }
  .flow-home .home-gems .feature-copy { padding:10px 5% 26px; gap:0; }
  .flow-home .home-gems .feature-copy > * { margin:0; }
  .flow-home .home-gems .feature-copy h2 { margin-top:5px; }
  .flow-home .home-gems .feature-copy h2 + p { margin-top:10px; }
  .flow-home .home-gems .feature-copy .textlink { margin-top:14px; }
  .flow-home .home-paintings .room-controls { padding-block:0; }
  .flow-home .home-paintings .room-controls output { font:12px/1.4 Arial,sans-serif; }
}

.flow-home .home-paintings .room-controls output { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
@media(max-width:760px) {
  body .section { padding-block:32px; }
  body .section-head { margin-bottom:18px; }
  body .section-head p { margin-top:10px; }
  body .join { padding-block:28px; }
  body .join-links { margin-top:16px; gap:12px 20px; }
  body .footer { padding-block:30px 18px; }
  body .footer-grid { gap:22px; }
  body .footer-bottom { margin-top:24px; padding-top:14px; }
  .flow-home .home-paintings { padding-block:28px 16px; }
  .flow-home .home-paintings-intro { margin-bottom:14px; }
  .flow-home .flow-reviews { padding-block:24px; }
  .flow-home .visit-brutus .feature-copy { padding-block:24px; gap:12px; }
}

@media (max-width:760px) {
  .flow-home { --home-inset:clamp(24px,7vw,40px); }
  .flow-home .home-paintings .gallery-scene .gallery-caption { padding-inline:var(--home-inset); }
  .flow-home .home-gems { padding-top:clamp(22px,6vw,36px); }
  .flow-home .home-gems .feature-image img { padding:0 var(--home-inset); }
  .flow-home .home-gems .feature-copy { padding:clamp(18px,5vw,28px) var(--home-inset) clamp(32px,8vw,46px); }
  .flow-home .home-gems .feature-copy h2 { margin-top:8px; }
  .flow-home .home-gems .feature-copy h2 + p { margin-top:14px; }
}

.shop-overview .shop-gems > div:first-child { overflow:hidden; }
.shop-overview .shop-gems img { display:block; width:100%; height:clamp(300px,32vw,480px); object-fit:contain; transform:scale(1.32); }
@media(max-width:760px) {
  .shop-overview .shop-gems img { height:clamp(220px,64vw,340px); transform:scale(1.38); }
}

body .join :is(p,.textlink) { font:400 14px/1.55 Arial,sans-serif; }
body .join h2 { font:400 21px/1.3 Arial,sans-serif; }

#orgonieten .craft-selection { display:grid; columns:auto; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(12px,2vw,28px); align-items:start; }
#orgonieten .craft-selection figure { margin:0; }

#gastvrouwen :is(.portret-joyce,.portret-ria) img {
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  border-radius: 50%;
  mask-image: none;
}
#gastvrouwen .portret-ria::before { content: none; }
@media (min-width: 761px) {
  #gastvrouwen .gastbio, body .join p:not(.eyebrow), body .join .join-links a { font-size: 16px; line-height: 1.55; }
}

/* Dialog titles and close controls share a row, including when a title wraps. */
.dialog-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: 16px;
  margin-block-end: 18px;
}
dialog .dialog-heading > h2 {
  align-self: center;
  margin: 0;
  overflow-wrap: anywhere;
}
.dialog-heading > :last-child { grid-column: 2; grid-row: 1; }
dialog .dialog-close {
  appearance: none;
  display: block;
  position: relative;
  box-sizing: border-box;
  width: 40px;
  height: 40px;
  min-height: 0;
  margin: 0;
  padding: 0;
  border: 1px solid #a5a5a0;
  border-radius: 0;
  background: transparent;
  color: #464642;
  cursor: pointer;
}
.dialog-close::before,
.dialog-close::after {
  content: "";
  position: absolute;
  inset: 50% auto auto 50%;
  width: 15px;
  border-top: 1px solid currentColor;
  transform: translate(-50%, -50%) rotate(45deg);
}
.dialog-close::after { transform: translate(-50%, -50%) rotate(-45deg); }
dialog .dialog-close:is(:hover, :focus-visible) { border-color: currentColor; color: #315651; }
.art-dialog .dialog-heading { margin-block-end: 12px; }
.art-dialog > img { max-height: calc(85svh - 134px); }
@media (max-width: 760px) {
  dialog .dialog-close { width: 44px; height: 44px; }
}

/* In FLOW, from signup through confirmation. */
#nieuws.inflow-panel, .inflow-page .inflow-panel { background:#fff; padding:clamp(22px,5vw,40px); color:#29282d; width:min(510px,calc(100% - 32px)); max-height:90svh; overflow:auto; border:0; box-shadow:0 12px 60px #183c3429; }
.inflow-panel .dialog-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; border-bottom:1px solid #89a8a2; margin:0 0 24px; padding:0 0 13px; }
.inflow-name { font:700 clamp(42px,8vw,62px)/.95 Arial,Helvetica,sans-serif; letter-spacing:-.06em; }
.inflow-name i { font:italic .78em Georgia,serif; color:#21756e; }
.inflow-panel h2 { margin:0 0 10px; font:bold clamp(24px,4vw,32px)/1.12 Arial,sans-serif; letter-spacing:-.035em; }
.inflow-panel p { margin:12px 0; line-height:1.5; }
#nieuws form { display:grid; gap:8px; margin:20px 0 10px; }
#nieuws input[type=email] { width:100%; min-width:0; font:inherit; padding:11px; border:1px solid #67847e; background:white; color:#29282d; }
.inflow-panel .button { display:inline-block; background:#174f4a; border:1px solid #174f4a; color:#fff; font:600 16px/1.25 Arial,sans-serif; text-decoration:none; padding:13px 19px; }
.inflow-panel .button:hover { background:#103c38; color:white; }
.inflow-panel .inflow-note { color:#4f635e; font-size:14px; }
.inflow-panel .inflow-feedback:empty, .inflow-panel [hidden] { display:none; }
.inflow-panel .inflow-feedback:not(:empty) { padding:10px 14px; background:#e2eeeb; }
.inflow-panel .inflow-feedback[data-error] { background:#f9e4ee; }
.inflow-page { min-height:100vh; margin:0; display:grid; place-items:center; background:#e2eeeb; font:17px/1.55 Arial,sans-serif; }

#nieuws #sib-form-container { margin:0; padding:0; }
#nieuws .inflow-trap { position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }
#nieuws .sib-form-message-panel { display:none; }
#nieuws .sib-form-message-panel--active { display:block; }
#nieuws #error-message.sib-form-message-panel--active { background:#f9e4ee; padding:10px 14px; margin:0 0 12px; }
#nieuws #success-message.sib-form-message-panel--active ~ #sib-container { display:none; }
#nieuws .entry__label { display:block; margin-bottom:7px; }
#nieuws .entry__error { color:#783047; }
#nieuws .entry__error:empty,.inflow-trap,.sib-hide-loader-icon { pointer-events:none; }
.inflow-page a:not(.button) { color:#174f4a; }

#nieuws .sib-hide-loader-icon { display:none; }
#nieuws .progress-indicator__icon { vertical-align:middle; margin-right:6px; }
