/* Shared layout safety, galleries and minimum readable text sizes. */
html,body{max-width:100%;}
body{overflow-x:clip;}
.im-hero-story,.im-section,.imado-footer,.im-contact-section,.im-look-section{max-width:100%;}
.im-container,.container,.im-contact-form-panel,.im-contact-form-intro,.im-contact-form-body,.im-pricelist-panel{min-width:0;box-sizing:border-box;}
/* Prevent translucent black gradients / black overlays covering cut photography. */
body .cut-image-button::after,
body .imado-gallery-widget .cut-image-button::after{content:none!important;display:none!important;}
body .gallery-grid .cut-card:nth-child(n) img.cut-image,
body .im-look-feature img{filter:none!important;opacity:1;}
body .cut-image-button,body .imado-gallery-widget .cut-image-button{background:var(--im-surface,#f7f1e7);border:0;}
body.im-spectacle .has-look-stage .gallery-grid .cut-card:nth-child(n){padding:0;border:0;border-radius:11px;overflow:hidden;background:transparent;}
body .gallery-grid .cut-card:nth-child(n) .cut-image-button{border-radius:11px;overflow:hidden;}
body .cut-demo-chip,body .im-look-demo{
  display:inline-flex;align-items:center;justify-content:center;width:max-content;height:auto;min-width:0;min-height:0;max-width:calc(100% - 20px);margin:0;white-space:nowrap;pointer-events:none;box-sizing:border-box;
  background:rgba(247,244,236,.96);color:#29231d;border:1px solid rgba(41,35,29,.14);
  border-radius:4px;font-size:10px;line-height:1.4;padding:4px 7px;
}
/* Set all four offsets: a top from one skin plus a bottom from another stretched the label. */
body .cut-image-button .cut-demo-chip{inset:auto auto 10px 10px;}
body .im-look-feature .im-look-demo{inset:12px 12px auto auto;}
body .cut-demo-chip[hidden],body .im-look-demo[hidden]{display:none;}
.imado-footer.im-footer-centered .im-footer-explore nav{width:100%;}
.imado-footer.im-footer-centered .im-footer-explore nav ul{display:grid;gap:10px;list-style:none;padding:0;margin:0;}
.imado-footer.im-footer-centered .im-footer-explore nav a{display:inline-block;padding:3px 0;}
/* Readable site-wide control sizes; never 8px for an actionable cue. */
body .im-hero-bottom .im-scroll-cue,
body.im-spectacle .im-hero-story .im-hero-bottom .im-scroll-cue{
  font-size:12px;letter-spacing:.03em;line-height:1.45;
}
body .im-hero-bottom .im-scroll-cue span{font-size:20px;}
body .im-hero--nijmegen .im-kicker,body .im-hero--groesbeek .im-kicker{font-size:11px;letter-spacing:.09em;}
body .im-hero-edition,body .im-hero-index{font-size:11px;}
body .im-btn,body .im-hero-actions .im-btn{font-size:12px;line-height:1.45;}
body .im-look-controls>span,body .im-section-aside p{font-size:max(12px,1em);}
body .im-price-disclaimer,body .im-pricelist-footer{font-size:13px;line-height:1.75;}
body .im-look-copy>.im-overline,body .im-overline{font-size:11px;}
body .im-footer-panel .im-footer-eyebrow{font-size:11px;}
body .im-footer-panel .im-footer-feature-caption{font-size:13px;}
body .im-footer-panel-nav a{font-size:clamp(16px,2vw,22px);}
body .imado-footer .footer-list .footer-overline{font-size:11px;}
body .imado-footer .footer-bottom{font-size:12px;}
/* Cards and contact: edges, grid overflow, too-wide children. */
body .im-contact-form-panel{grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:clamp(22px,4vw,50px);max-width:100%;}
body .im-contact-form-intro h3{overflow-wrap:normal;word-break:normal;hyphens:auto;line-height:1.12;}
body .im-contact-form-intro p{font-size:15px;line-height:1.65;}
body .im-contact-form-body :is(input,textarea,select){max-width:100%;min-width:0;}
body .im-contact-form-panel .im-form-preview-note{font-size:13px;}
body .im-contact-form-grid{min-width:0;}
body .im-look-stage,body .im-look-copy,body .im-look-feature{max-width:100%;}
/* Service list: branch-neutral font floors; pricing palette is controlled per city. */
body .imado-pricelist .im-pricelist-tab{font-size:14px;min-height:48px;}
body .imado-pricelist .im-price-category-toggle{font-size:15px;line-height:1.45;}
body .imado-pricelist .im-price-entry,
body .imado-pricelist .im-price-entry-name{font-size:14px;}
body .imado-pricelist .im-price-entry-amount{font-size:14px;}
body .imado-pricelist .im-price-entry-duration{font-size:13px;}
body .imado-pricelist .im-price-category-note,
body .imado-pricelist .im-pricelist-footer{font-size:13px;line-height:1.7;}
/* A stable footer action, not invisible copy when inherited colors shift. */
body .im-footer-panel .im-footer-feature,
body .im-footer-panel .im-footer-panel-nav a{opacity:1;}
@media(max-width:900px){
 body .im-hero-bottom .im-scroll-cue,
 body.im-spectacle .im-hero-story .im-hero-bottom .im-scroll-cue{font-size:12px;}
 body .im-look-controls>span{font-size:12px;}
 body .im-hero--nijmegen .im-hero-intro,
 body .im-hero--groesbeek .im-hero-intro{font-size:14px;line-height:1.6;}
 body .im-hero--nijmegen .im-btn,
 body .im-hero--groesbeek .im-btn{font-size:12px;}
 body .im-spectacle .has-look-stage .gallery-grid .cut-card:nth-child(n) .cut-caption h3,
 body.im-impact.im-spectacle .has-look-stage .gallery-grid .cut-card:nth-child(n) .cut-caption h3{font-size:13px;line-height:1.4;}
 body .im-footer-panel .im-footer-feature{font-size:clamp(32px,8vw,49px);}
 body .im-footer-panel .im-footer-eyebrow{font-size:11px;}
 body .im-footer-panel .im-footer-feature-caption{font-size:13px;}
 body .im-footer-panel-nav a{font-size:16px;}
}
@media(max-width:767px){
 body .im-contact-form-panel{
  display:grid;grid-template-columns:minmax(0,1fr);gap:24px;
  width:100%;margin:30px 0 0;padding:25px 0 0;
 }
 body .im-contact-form-intro h3{font-size:clamp(28px,8vw,38px);max-width:100%;margin-block:14px 20px;}
 body .im-contact-form-intro p{font-size:15px;}
 body .im-contact-form-grid{grid-template-columns:minmax(0,1fr);}
 body .im-footer-panel{max-width:100%;border-radius:14px;overflow:hidden;}
 body .imado-pricelist .im-price-entry,
 body .imado-pricelist .im-price-entry-name,
 body .imado-pricelist .im-price-entry-amount{font-size:13px;}
 body .imado-pricelist .im-price-entry-duration{font-size:12px;}
 body .imado-pricelist .im-pricelist-tab{font-size:14px;}
 body .imado-pricelist .im-price-column-head{font-size:10px;}
 body .imado-pricelist .im-price-category-note,
 body .imado-pricelist .im-pricelist-footer{font-size:13px;}
 body .im-pricelist-panel{max-width:100%;}
 body .im-price-entry{grid-template-columns:minmax(0,1fr) minmax(65px,max-content) minmax(43px,max-content);}
}
@media(max-width:380px){
 body .imado-pricelist .im-price-entry-amount{font-size:12px;}
 body .imado-pricelist .im-price-entry-duration{font-size:12px;}
 body .imado-pricelist .im-price-entry{gap:5px;}
 body .im-footer-panel{padding:24px 18px;}
}

/* Compact component typography. */
body .im-header-location small{font-size:11px;line-height:1.4;letter-spacing:.04em;}
body.im-spectacle .im-hero-edition,
body.im-spectacle .im-hero-index,
body.im-spectacle .im-hero-controls>span{font-size:11px;letter-spacing:.06em;}
body.im-spectacle .im-look-stage .im-overline,
body.im-spectacle .im-manifesto-kicker,
body.im-spectacle .im-price-board-top,
body.im-spectacle .im-contact-card>span,
body.im-spectacle .im-contact-card .im-overline{font-size:12px;line-height:1.45;letter-spacing:.05em;}
body.im-spectacle .im-price-board .price-group h3{font-size:14px;}
body.im-spectacle .im-price-disclaimer{font-size:13px;line-height:1.7;}
body.im-spectacle .has-look-stage .gallery-filter button{font-size:13px;line-height:1.4;}
body.im-spectacle .has-look-stage .cut-demo-chip,
body .cut-image-button .cut-demo-chip,
body .im-image-demo{font-size:10px;line-height:1.35;letter-spacing:0;padding:4px 6px;}
body .imado-footer .footer-list.footer-list .footer-overline,
body .imado-footer .im-footer-branch .footer-overline{font-size:12px;letter-spacing:.04em;}
body .imado-footer nav a,
body .imado-footer .footer-list a{font-size:13px;line-height:1.65;}
body .im-social-dock p,body .im-section-picker{font-size:12px;}
@media(max-width:900px){
 body .im-story-image-label{display:none;}
 body.im-spectacle .im-price-board-top{font-size:12px;}
 body.im-spectacle .im-hero-controls>span{font-size:11px;}
 body .imado-footer .im-footer-branch .footer-overline{font-size:12px;}
}

/* Overlays and footer navigation. */
body.im-impact.im-spectacle .im-image-demo,
body.im-spectacle .im-hero-image + .im-image-demo{font-size:10px;padding:4px 6px;line-height:1.3;}
body .mobile-drawer .menu a{font-size:14px;line-height:1.5;}
body .imado-footer .footer-brand nav .menu a,
body .imado-footer .footer-brand nav a{font-size:13px;line-height:1.55;}

/* Keep the centered footer clear of the desktop section wheel. */
@media(min-width:1280px){
 body.im-spectacle:has(.im-section-wheel:not([hidden])) .im-footer-centered .container{
  width:min(calc(100% - 352px),var(--im-container));margin-inline:auto;
 }
}
