:root{--mg-font-body:Myriad,"Myriad Pro","Source Sans 3","Segoe UI",Arial,sans-serif;--mg-font-heading:var(--mg-font-body);--mg-easing:cubic-bezier(.22,1,.36,1);}

.elementor .mg-hero-shade{background-image:linear-gradient(90deg,var(--mg-color-hero-overlay-top) 0%,transparent 82%),linear-gradient(0deg,var(--mg-color-hero-overlay-bottom) 0%,transparent 73%)}

body.mg-site button{border-radius:0;box-shadow:none;}
body.mg-site button:hover,body.mg-site button:focus{background:none;color:inherit;}

@font-face{font-family:Myriad;src:local("Myriad Pro"),local("MyriadPro-Regular");font-weight:400;font-display:swap}

@font-face{font-family:Myriad;src:local("Myriad Pro Semibold"),local("MyriadPro-Semibold");font-weight:600 800;font-display:swap}

body.mg-site *{box-sizing:border-box}

html{scroll-behavior:smooth;scroll-padding-top:var(--mg-spacing-104)}

body.mg-site{margin:0;background:var(--mg-color-background);color:var(--mg-color-text);font:var(--mg-font-size-body)/var(--mg-line-height-body) var(--mg-font-body);-webkit-font-smoothing:antialiased}

body.mg-site.is-locked{overflow:hidden}

body.mg-site button,body.mg-site input,body.mg-site textarea,body.mg-site select{font:inherit}

body.mg-site button,body.mg-site a{-webkit-tap-highlight-color:transparent}

body.mg-site button{color:inherit;cursor:pointer;border:0;background:none}

body.mg-site a{color:inherit;text-decoration:none}

body.mg-site img{display:block;width:100%;height:100%;object-fit:cover}

body.mg-site figure,body.mg-site p,body.mg-site h1,body.mg-site .mg-type-h2,body.mg-site .mg-type-h3{margin:0}

body.mg-site h1,body.mg-site .mg-type-h2,body.mg-site .mg-type-h3{font-weight:400}

body.mg-site .mg-type-h2{font-size:var(--mg-font-size-h2);line-height:1.04;letter-spacing:-.045em}

body.mg-site .mg-type-h3{font-size:var(--mg-font-size-h3);line-height:1.15;letter-spacing:-.025em}

body.mg-site p+p{margin-top:var(--mg-spacing-20)}

body.mg-site ::selection{background:var(--mg-color-accent);color:var(--mg-color-text)}

body.mg-site :focus-visible{outline:2px solid var(--mg-color-accent);outline-offset:var(--mg-spacing-7)}

body.mg-site button:disabled{cursor:default}

body.mg-site button[hidden],body.mg-site [hidden]{display:none!important}

body.mg-site .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:var(--mg-spacing-negative-1);overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

body.mg-site .skip-link:focus{top:20px}

body.mg-site .gold-line{display:inline-block;width:32px;height:2px;background:var(--mg-color-accent);margin:0 var(--mg-space-2) var(--mg-spacing-4) 0}

body.mg-site .line-link span{font-size:var(--mg-font-size-24);transition:transform .4s var(--mg-easing)}

body.mg-site .line-link:hover span{transform:translate(4px,-4px)}

body.mg-site .text-button span{padding-left:var(--mg-spacing-25)}

body.mg-site .section-heading .eyebrow{margin-bottom:var(--mg-spacing-26)}

/* A quiet, direction-aware header. */
body.mg-site .header{transition:transform .65s var(--mg-easing),background .45s,box-shadow .45s,color .3s,top .45s;}

body.mg-site .header.is-hidden{transform:translateY(calc(-100% - 40px));pointer-events:none}

body.mg-site .header.has-scroll{top:16px;color:var(--mg-color-text);background:var(--mg-color-header-glass);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);box-shadow:0 4px 32px var(--mg-color-header-shadow);border:1px solid var(--mg-color-header-border)}

body.mg-site .brand-name{font-size:var(--mg-font-size-h3);letter-spacing:.015em}

body.mg-site .brand-sub{font-size:var(--mg-font-size-8);font-weight:600;letter-spacing:.22em;margin-top:var(--mg-spacing-9)}

body.mg-site .hamburger i{height:1px;width:34px;background:currentColor;display:block;transition:width .3s}

body.mg-site .hamburger i:last-child{width:24px;margin-left:auto}

body.mg-site .menu-toggle:hover .hamburger i:last-child{width:34px}

body.mg-site .hero{isolation:isolate;}

body.mg-site .hero-media{animation:hero-mask 1.65s var(--mg-easing) both;}

body.mg-site .hero-media img{object-position:50% 52%;animation:hero-image 2.4s var(--mg-easing) both;will-change:transform}

body.mg-site .hero-content>.eyebrow{margin-bottom:var(--mg-spacing-28);font-size:var(--mg-font-size-11);letter-spacing:.17em}

body.mg-site .hero h1{font-size:var(--mg-font-size-hero);letter-spacing:-.042em;line-height:1.015;max-width:1100px}

body.mg-site .hero h1>span{display:block;overflow:hidden;padding-bottom:.08em;margin-bottom:-.08em}

body.mg-site .hero h1>span>span{display:block;animation:hero-word 1.35s var(--mg-easing) both}

body.mg-site .hero h1>span:nth-child(1)>span{animation-delay:.22s}

body.mg-site .hero h1>span:nth-child(2)>span{animation-delay:.36s}

body.mg-site .hero h1>span:nth-child(3)>span{animation-delay:.5s}

body.mg-site .hero-bottom p{font-size:var(--mg-font-size-16);color:var(--mg-color-hero-caption);line-height:1.4}

body.mg-site .round-arrow{transition:background .3s,color .3s,transform .3s;}

body.mg-site .hero-cta:hover .round-arrow{background:var(--mg-color-accent);border-color:var(--mg-color-accent);color:var(--mg-color-text);transform:rotate(45deg)}

body.mg-site .hero-enter{animation:fade-up 1.15s var(--mg-easing) both;animation-delay:.85s}

body.mg-site .scroll-hint{position:absolute;right:36px;bottom:64px;color:var(--mg-color-white);display:flex;align-items:center;gap:var(--mg-space-3);writing-mode:vertical-rl;font-size:var(--mg-font-size-10);text-transform:uppercase;letter-spacing:.16em}

body.mg-site .scroll-hint>span:last-child{writing-mode:horizontal-tb;font-size:var(--mg-font-size-28)}

@keyframes hero-mask{from{clip-path:inset(8% 4% round 32px)}to{clip-path:inset(0 round 30px)}}
@keyframes hero-image{from{transform:scale(1.13)}to{transform:scale(1)}}
@keyframes hero-word{from{transform:translateY(118%)}to{transform:translateY(0)}}
@keyframes fade-up{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}

body.mg-site .intro>.eyebrow{margin-bottom:var(--mg-space-5)}

body.mg-site .reading-word{color:var(--mg-color-reading-inactive);transition:color .3s}

body.mg-site .reading-word.is-read{color:var(--mg-color-text)}

body.mg-site .intro-copy p:first-child{color:var(--mg-color-text);font-size:var(--mg-font-size-21);line-height:1.5}

body.mg-site .intro-copy .line-link{margin-top:var(--mg-space-3);color:var(--mg-color-text)}

body.mg-site .project-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--mg-spacing-36);border-bottom:1px solid var(--mg-color-project-divider);gap:var(--mg-space-3)}

body.mg-site .filters{display:flex;gap:var(--mg-spacing-28);flex-wrap:wrap}

body.mg-site .filters button{position:relative;padding:var(--mg-space-2) 0;color:var(--mg-color-muted);font-size:var(--mg-font-size-15);min-height:50px}

body.mg-site .filters button[aria-pressed=true]{color:var(--mg-color-text)}

body.mg-site .filters button::after{content:"";position:absolute;height:2px;background:var(--mg-color-text);bottom:-1px;left:0;right:0;transform:scaleX(0);transform-origin:left;transition:transform .3s}

body.mg-site .filters button[aria-pressed=true]::after{transform:scaleX(1)}

body.mg-site .filters sup{font-size:var(--mg-font-size-9);margin-left:var(--mg-spacing-4)}

body.mg-site .concept-note{font-size:var(--mg-font-size-10);letter-spacing:.03em;color:var(--mg-color-muted);text-align:right}

body.mg-site .project-grid{display:grid;grid-template-columns:1.13fr .87fr;gap:var(--mg-spacing-88) var(--mg-space-5);align-items:start}

body.mg-site .project-open{width:100%;padding:0;text-align:left;display:block}

body.mg-site .project-image{position:relative;display:block;overflow:hidden;background:var(--mg-color-project-image-background)}

body.mg-site .project-image>img{transition:transform 1.2s var(--mg-easing)}

body.mg-site .project-open:hover .project-image>img{transform:scale(1.045)}

body.mg-site .project-featured .project-image{aspect-ratio:1.12}

body.mg-site .project-small{margin-top:var(--mg-spacing-160)}

body.mg-site .project-small .project-image{aspect-ratio:.91}

body.mg-site .project-wide{grid-column:1/-1;width:77%;margin:0 auto}

body.mg-site .project-wide .project-image{aspect-ratio:1.9}

body.mg-site .image-label{position:absolute;left:22px;bottom:22px;color:var(--mg-color-white);font-size:var(--mg-font-size-11);letter-spacing:.11em;text-transform:uppercase}

body.mg-site .project-image::after{content:"";position:absolute;inset:50% 0 0;background:linear-gradient(transparent,var(--mg-color-project-image-overlay));pointer-events:none}

body.mg-site .project-round{position:absolute;right:20px;top:20px;border:1px solid var(--mg-color-project-control-border);width:46px;height:46px;border-radius:var(--mg-radius-circle);display:grid;place-items:center;color:var(--mg-color-white);font-size:var(--mg-font-size-24);opacity:0;transform:translate(-8px,8px);transition:opacity .3s,transform .45s var(--mg-easing);z-index:1}

body.mg-site .project-open:hover .project-round,body.mg-site .project-open:focus-visible .project-round{opacity:1;transform:none}

body.mg-site .project-meta{display:flex;justify-content:space-between;gap:var(--mg-space-2);padding-top:var(--mg-space-3)}

body.mg-site .project-meta .eyebrow{font-size:var(--mg-font-size-10);display:block;color:var(--mg-color-muted);letter-spacing:.14em;margin-bottom:var(--mg-space-1)}

body.mg-site .project-name{display:block;font-size:var(--mg-font-size-project-name);line-height:1.2;letter-spacing:-.025em}

body.mg-site .project-index{font-size:var(--mg-font-size-11);padding-top:var(--mg-spacing-2)}

body.mg-site .project-grid.is-filtered{grid-template-columns:1fr}

body.mg-site .project-grid.is-filtered .project{margin:0;width:100%;max-width:1000px}

body.mg-site .project-grid.is-filtered .project-image{aspect-ratio:1.8}

body.mg-site .worlds-lead>.eyebrow{margin-bottom:var(--mg-spacing-28)}

body.mg-site .worlds-lead p:not(.eyebrow){font-size:var(--mg-font-size-17);max-width:310px;color:var(--mg-color-muted);margin-top:var(--mg-spacing-28)}

body.mg-site .worlds-lead .line-link{margin-top:var(--mg-spacing-25)}

body.mg-site .world-row{display:flex;align-items:center;width:100%;border-top:1px solid var(--mg-color-border);padding:var(--mg-spacing-29) 0;text-align:left;gap:var(--mg-spacing-28);transition:padding .4s var(--mg-easing)}

body.mg-site .world-row:last-child{border-bottom:1px solid var(--mg-color-border)}

body.mg-site .world-no{font-size:var(--mg-font-size-11);color:var(--mg-color-muted);align-self:flex-start;padding-top:var(--mg-spacing-9)}

body.mg-site .world-row strong{display:block;font-size:var(--mg-font-size-world-row);font-weight:400;line-height:1.2;letter-spacing:-.03em}

body.mg-site .world-row small{display:block;color:var(--mg-color-muted);font-size:var(--mg-font-size-15);margin-top:var(--mg-space-1)}

body.mg-site .world-arrow{margin-left:auto;display:block;font-size:var(--mg-font-size-30);transition:transform .4s}

body.mg-site .world-row:hover{padding-left:var(--mg-spacing-10)}

body.mg-site .world-row:hover .world-arrow{transform:translate(4px,-4px)}

body.mg-site .craft-heading .eyebrow{color:var(--mg-color-project-index);margin-bottom:var(--mg-space-4)}

body.mg-site .craft-heading h2{font-size:var(--mg-font-size-craft-heading)}

body.mg-site .craft-heading h2>span{color:var(--mg-color-craft-caption)}

body.mg-site .parallax-media{will-change:transform;}

body.mg-site .parallax-media img{object-position:center 55%}

body.mg-site .craft-picture::after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,var(--mg-color-craft-overlay));pointer-events:none}

body.mg-site .craft-picture figcaption{position:absolute;z-index:1;bottom:40px;left:calc(var(--mg-page-gutter) - 16px);right:calc(var(--mg-page-gutter) - 16px);display:flex;align-items:flex-end;justify-content:space-between}

body.mg-site .craft-picture figcaption>span:first-child{font-size:var(--mg-font-size-30);line-height:1.2;letter-spacing:-.02em}

body.mg-site .craft-picture .eyebrow{font-size:var(--mg-font-size-10)}

body.mg-site .craft-fact>span{font-size:var(--mg-font-size-craft-fact);line-height:1;letter-spacing:-.055em}

body.mg-site .craft-fact p{font-size:var(--mg-font-size-16);color:var(--mg-color-project-index);margin-top:var(--mg-space-3)}

body.mg-site .craft-description h3{font-size:var(--mg-font-size-34);line-height:1.15;margin-bottom:var(--mg-space-3)}

body.mg-site .craft-description p{font-size:var(--mg-font-size-17);color:var(--mg-color-project-index);max-width:510px}

body.mg-site .signature{display:flex;flex-direction:column;margin-top:var(--mg-spacing-36);font-size:var(--mg-font-size-21)}

body.mg-site .signature small{font-size:var(--mg-font-size-11);color:var(--mg-color-craft-caption);margin-top:var(--mg-spacing-4);letter-spacing:.035em}

/* Honest, native accordions. */
body.mg-site .process{padding-top:var(--mg-spacing-144);padding-bottom:var(--mg-spacing-130)}

body.mg-site .process .section-heading{margin-bottom:var(--mg-space-6)}

body.mg-site .process-grid{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:start}

body.mg-site .process-image{aspect-ratio:.94;position:relative;overflow:hidden}

body.mg-site .process-image img{transition:opacity .35s,transform 1s var(--mg-easing);object-position:center}

body.mg-site .process-image img.is-changing{opacity:.45;transform:scale(1.035)}

body.mg-site .process-image::after{content:"";position:absolute;inset:65% 0 0;background:linear-gradient(transparent,var(--mg-color-process-overlay))}

body.mg-site .process-image>.eyebrow{position:absolute;bottom:28px;left:28px;z-index:1;color:var(--mg-color-white);font-size:var(--mg-font-size-10)}

body.mg-site .process-step:last-child{border-bottom:1px solid var(--mg-color-border)}

body.mg-site .process-step summary{list-style:none;display:flex;align-items:center;gap:var(--mg-space-3);padding:var(--mg-spacing-28) 0;cursor:pointer}

body.mg-site .process-step summary::-webkit-details-marker{display:none}

body.mg-site .process-step summary>span{font-size:var(--mg-font-size-11);align-self:flex-start;padding-top:var(--mg-spacing-6);color:var(--mg-color-muted)}

body.mg-site .process-step summary h3{font-size:var(--mg-font-size-process-step);line-height:1.15;flex:1}

body.mg-site .process-step summary>i{display:block;width:18px;height:18px;position:relative;flex-shrink:0}

body.mg-site .process-step summary>i::before,body.mg-site .process-step summary>i::after{content:"";position:absolute;width:14px;height:1px;background:currentColor;top:8px;left:2px;transition:transform .3s}

body.mg-site .process-step summary>i::after{transform:rotate(90deg)}

body.mg-site .process-step[open] summary>i::after{transform:rotate(0)}

body.mg-site .step-body{animation:fade-up .5s var(--mg-easing);}

body.mg-site .step-body>span{display:block;font-size:var(--mg-font-size-10);text-transform:uppercase;letter-spacing:.1em;color:var(--mg-color-text);margin-top:var(--mg-spacing-26)}

body.mg-site .career .eyebrow{margin-bottom:var(--mg-spacing-20)}

body.mg-site .career h2{font-size:var(--mg-font-size-46)}

body.mg-site .career>div:last-child{max-width:410px}

body.mg-site .career p:not(.eyebrow){color:var(--mg-color-muted);font-size:var(--mg-font-size-17)}

body.mg-site .career .line-link{margin-top:var(--mg-space-2)}

body.mg-site .contact>.eyebrow{margin-bottom:var(--mg-spacing-44)}

body.mg-site .contact h2{font-size:var(--mg-font-size-contact);letter-spacing:-.055em;line-height:.99}

body.mg-site .contact h2>span{color:var(--mg-color-contact-emphasis)}

body.mg-site .contact-circle{transition:background .4s,border-color .4s,transform .5s var(--mg-easing);}

body.mg-site .contact-circle>span{font-size:var(--mg-font-size-68);line-height:1;font-weight:400;transition:transform .5s var(--mg-easing)}

body.mg-site .contact-circle:hover{background:var(--mg-color-accent);border-color:var(--mg-color-accent)}

body.mg-site .contact-circle:hover>span{transform:translate(8px,-8px)}

body.mg-site .contact-bottom>p{font-size:var(--mg-font-size-17);color:var(--mg-color-muted)}

body.mg-site .contact-bottom>div{display:flex;flex-direction:column;align-items:flex-start;gap:var(--mg-space-1)}

body.mg-site .contact-bottom a{font-size:var(--mg-font-size-contact-bottom);line-height:1.3;letter-spacing:-.02em;border-bottom:1px solid transparent;overflow-wrap:anywhere}

body.mg-site .contact-bottom a:hover{border-bottom-color:var(--mg-color-text)}

body.mg-site .contact-bottom a span{padding-left:var(--mg-space-2)}

body.mg-site .footer .brand-name{font-size:var(--mg-font-size-26)}

body.mg-site .footer .brand-sub{font-size:var(--mg-font-size-7)}

body.mg-site .footer-top p{font-size:var(--mg-font-size-small);line-height:1.8;color:var(--mg-color-muted)}

body.mg-site .footer-top .line-link{font-size:var(--mg-font-size-small);gap:var(--mg-space-3);min-height:36px;padding-top:0}

body.mg-site .footer-bottom nav{display:flex;gap:var(--mg-space-3)}

body.mg-site .footer-note{font-size:var(--mg-font-size-9)}

body.mg-site .footer-bottom a:hover{text-decoration:underline}

/* Fullscreen navigation, split into architectural planes. */
body.mg-site dialog{border:0;padding:0;color:inherit;max-width:none;max-height:none}

body.mg-site dialog::backdrop{background:var(--mg-color-dialog-backdrop);backdrop-filter:blur(9px)}

body.mg-site .navigation{opacity:0;transition:clip-path .8s var(--mg-easing),opacity .3s;}

body.mg-site .navigation.is-open{opacity:1;clip-path:inset(0)}

body.mg-site .navigation.is-closing{opacity:1;clip-path:inset(0 0 100% 0);transition:clip-path .7s cubic-bezier(.76,0,.24,1)}

body.mg-site .close-icon::before,body.mg-site .close-icon::after{content:"";height:1px;background:currentColor;position:absolute;left:0;right:0;top:16px;transform:rotate(45deg)}

body.mg-site .close-icon::after{transform:rotate(-45deg)}

body.mg-site .nav-main>.eyebrow{margin-bottom:var(--mg-spacing-36);color:var(--mg-color-craft-caption)}

body.mg-site .nav-main nav{display:flex;flex-direction:column}

body.mg-site .nav-main nav>a{display:flex;align-items:baseline;gap:var(--mg-spacing-28);padding:var(--mg-spacing-7) 0 var(--mg-spacing-14);position:relative;overflow:hidden}

body.mg-site .nav-number{transition:opacity .4s .2s;opacity:0;}

body.mg-site .nav-word{font-size:var(--mg-font-size-nav-word);letter-spacing:-.04em;line-height:1.16;display:block;transform:translateY(130%);transition:transform .9s var(--mg-easing);transition-delay:calc(.16s + var(--i) * .08s)}

body.mg-site .nav-arrow{opacity:0;transform:translate(-10px,10px);transition:all .4s;}

body.mg-site .nav-main nav>a:hover .nav-arrow{opacity:1;transform:none}

body.mg-site .nav-main nav>a:hover .nav-word{color:var(--mg-color-navigation-text)}

body.mg-site .navigation.is-open .nav-word{transform:translateY(0)}

body.mg-site .navigation.is-open .nav-number{opacity:1}

body.mg-site .navigation.is-closing .nav-word{transform:translateY(-135%);transition-duration:.45s;transition-delay:calc((3 - var(--i)) * .035s)}

body.mg-site .navigation.is-closing .nav-number{opacity:0;transition-delay:0s}

body.mg-site .nav-aside img{aspect-ratio:1.65;height:auto;margin-bottom:var(--mg-space-3)}

body.mg-site .nav-aside>p{font-size:var(--mg-font-size-25);line-height:1.2;margin-bottom:var(--mg-spacing-25);letter-spacing:-.02em}

body.mg-site .nav-aside>a{display:block;font-size:var(--mg-font-size-14);margin-top:var(--mg-spacing-10);color:var(--mg-color-navigation-aside)}

body.mg-site .nav-aside>a span{float:right}

body.mg-site .nav-appear{opacity:0;transform:translateY(18px);transition:opacity .6s .45s,transform .8s var(--mg-easing) .4s}

body.mg-site .navigation.is-open .nav-appear{opacity:1;transform:none}

body.mg-site .navigation.is-closing .nav-appear{opacity:0;transform:translateY(-12px);transition-delay:0s;transition-duration:.25s}

body.mg-site .dialog-close{transition:transform .3s;}

body.mg-site .dialog-close:hover{transform:rotate(90deg)}

body.mg-site .detail-dialog figure img{height:min(53svh,540px);object-fit:cover}

body.mg-site .detail-dialog figcaption{padding:var(--mg-spacing-12) var(--mg-spacing-36);font-size:var(--mg-font-size-10);color:var(--mg-color-muted);border-bottom:1px solid var(--mg-color-border)}

body.mg-site .detail-content .eyebrow{margin-bottom:var(--mg-spacing-18)}

body.mg-site .detail-content h2{font-size:var(--mg-font-size-54);max-width:760px}

body.mg-site .detail-content>p:not(.eyebrow){max-width:780px;margin-top:var(--mg-space-3);color:var(--mg-color-muted);font-size:var(--mg-font-size-body)}

body.mg-site .detail-tags>span{padding:var(--mg-spacing-9) 0;border-top:1px solid var(--mg-color-border);font-size:var(--mg-font-size-11);text-transform:uppercase;letter-spacing:.08em}

body.mg-site .detail-content .line-link{margin-top:var(--mg-spacing-12)}

body.mg-site .enquiry-dialog>.dialog-close{color:var(--mg-color-text);border-color:var(--mg-color-border);background:transparent;top:18px;right:18px}

body.mg-site .enquiry-dialog>.eyebrow{margin-bottom:var(--mg-space-3);padding-right:var(--mg-spacing-35);font-size:var(--mg-font-size-10)}

body.mg-site .enquiry-dialog h2{font-size:var(--mg-font-size-48)}

body.mg-site .enquiry-dialog label{display:flex;flex-direction:column;font-size:var(--mg-font-size-small);gap:var(--mg-space-1);margin-top:var(--mg-spacing-20)}

body.mg-site .enquiry-dialog input,body.mg-site .enquiry-dialog select,body.mg-site .enquiry-dialog textarea{width:100%;min-width:0;border:0;border-bottom:1px solid var(--mg-color-form-divider);border-radius:0;background:transparent;padding:var(--mg-space-1) 0 var(--mg-spacing-12);color:var(--mg-color-text);font-size:var(--mg-font-size-16);resize:vertical;outline-offset:var(--mg-spacing-4)}

body.mg-site .enquiry-dialog input::placeholder,body.mg-site .enquiry-dialog textarea::placeholder{color:var(--mg-color-form-placeholder);font-size:var(--mg-font-size-15)}

body.mg-site .submit-button:hover{background:var(--mg-color-text)}

body.mg-site .submit-button>span{font-size:var(--mg-font-size-23);line-height:1}

body.mg-site .enquiry-dialog #form-status{font-size:var(--mg-font-size-small);margin-top:var(--mg-space-2);color:var(--mg-color-muted)}

body.mg-site .detail-dialog[open],body.mg-site .enquiry-dialog[open]{animation:dialog-in .5s var(--mg-easing)}
@keyframes dialog-in{from{opacity:0;transform:translateY(35px)}to{opacity:1;transform:none}}

/* Content remains visible if JavaScript is unavailable. */
html.js body.mg-site .reveal{opacity:0;transform:translateY(32px);transition:opacity .95s var(--mg-easing),transform 1.1s var(--mg-easing)}

html.js body.mg-site .reveal.is-visible{opacity:1;transform:none}

html.js body.mg-site .reveal:nth-child(2){transition-delay:.08s}

html.js body.mg-site .reveal:nth-child(3){transition-delay:.13s}

@media(min-width:1800px){
body.mg-site .hero-content{bottom:90px}
body.mg-site .hero-bottom{max-width:1050px}
body.mg-site .hero h1{font-size:var(--mg-font-size-132)}
body.mg-site .intro-grid{grid-template-columns:1fr .7fr}
body.mg-site .project-grid{gap:var(--mg-spacing-100) var(--mg-spacing-72)}}

@media(max-width:1100px){
body.mg-site .header{left:24px;right:24px;padding:var(--mg-spacing-22);top:18px}
body.mg-site .hero-content{bottom:58px}
body.mg-site .hero{min-height:650px}
body.mg-site .hero-bottom{max-width:780px}
body.mg-site .hero-bottom p{display:none}
body.mg-site .intro-grid{gap:7%;grid-template-columns:1fr .8fr}
body.mg-site .section-pad{padding-top:var(--mg-spacing-88);padding-bottom:var(--mg-spacing-88)}
body.mg-site .intro{padding-top:var(--mg-spacing-110);padding-bottom:var(--mg-spacing-110)}
body.mg-site .projects .section-heading{align-items:flex-start}
body.mg-site .section-intro{max-width:250px}
body.mg-site .project-toolbar{align-items:flex-start;gap:var(--mg-spacing-18)}
body.mg-site .filters{gap:var(--mg-spacing-22)}
body.mg-site .concept-note{padding-top:var(--mg-spacing-20)}
body.mg-site .project-grid{gap:var(--mg-spacing-60) var(--mg-grid-gap)}
body.mg-site .project-small{margin-top:var(--mg-space-8)}
body.mg-site .worlds{gap:7%;grid-template-columns:.9fr 1.1fr}
body.mg-site .world-row{gap:var(--mg-spacing-18)}
body.mg-site .craft-bottom{gap:7%}
body.mg-site .process-grid{gap:6%}
body.mg-site .process-step summary{gap:var(--mg-space-2)}
body.mg-site .step-body{padding-left:var(--mg-spacing-31);padding-right:0;font-size:var(--mg-font-size-16)}
body.mg-site .footer-top{grid-template-columns:1.2fr 1fr 1fr}
body.mg-site .footer-top>.line-link{grid-column:2}
body.mg-site .footer-bottom{flex-wrap:wrap}
body.mg-site .footer-note{order:3;width:100%}
body.mg-site .nav-top{padding:var(--mg-spacing-42) var(--mg-spacing-46)}
body.mg-site .nav-layout{gap:7%;grid-template-columns:1.5fr .7fr}
body.mg-site .nav-main nav>a{gap:var(--mg-spacing-20)}
body.mg-site .nav-word{font-size:var(--mg-font-size-navigation-tablet)}
body.mg-site .nav-aside>p{font-size:var(--mg-font-size-23)}}

@media(max-width:760px){
:root{--mg-page-gutter:24px}
body.mg-site{font-size:var(--mg-font-size-16)}
html{scroll-padding-top:var(--mg-spacing-90)}
body.mg-site .header{top:13px;left:16px;right:16px;padding:var(--mg-spacing-20) var(--mg-space-2);border-radius:var(--mg-spacing-5)}
body.mg-site .header.has-scroll{top:8px;left:10px;right:10px}
body.mg-site .brand-name{font-size:var(--mg-font-size-25)}
body.mg-site .brand-sub{font-size:var(--mg-font-size-6-5);letter-spacing:.18em;margin-top:var(--mg-spacing-7)}
body.mg-site .menu-toggle,body.mg-site .close-menu{gap:var(--mg-spacing-15);font-size:var(--mg-font-size-13)}
body.mg-site .hamburger,body.mg-site .hamburger i{width:28px}
body.mg-site .hamburger i:last-child{width:21px}
body.mg-site .hamburger{gap:var(--mg-spacing-7)}
body.mg-site .hero-shell{padding:var(--mg-space-1) var(--mg-space-1) 0}
body.mg-site .hero{border-radius:var(--mg-spacing-22);min-height:650px;height:calc(100svh - 44px);max-height:1000px}
body.mg-site .hero-media img{object-position:56% center}
body.mg-site .hero-shade{background:linear-gradient(0deg,var(--mg-color-hero-gradient-dark),transparent 90%),linear-gradient(90deg,var(--mg-color-hero-gradient-light),transparent)}
body.mg-site .hero-content{left:24px;right:24px;bottom:62px}
body.mg-site .hero-content>.eyebrow{font-size:var(--mg-font-size-9);letter-spacing:.12em;max-width:230px;margin-bottom:var(--mg-spacing-26)}
body.mg-site .hero h1{font-size:var(--mg-font-size-hero-mobile);line-height:1.06;letter-spacing:-.042em}
body.mg-site .hero-bottom{margin-top:var(--mg-space-4)}
body.mg-site .hero-cta{font-size:var(--mg-font-size-13);gap:var(--mg-space-2)}
body.mg-site .round-arrow{width:40px;height:40px;font-size:var(--mg-font-size-21)}
body.mg-site .scroll-hint{right:24px;bottom:22px;writing-mode:horizontal-tb;gap:var(--mg-spacing-14);font-size:var(--mg-font-size-8)}
body.mg-site .scroll-hint>span:last-child{font-size:var(--mg-font-size-21)}
body.mg-site .hero-caption{font-size:var(--mg-font-size-8);padding:var(--mg-spacing-14) var(--mg-space-2) 0;gap:var(--mg-space-2)}
body.mg-site .hero-caption>span:first-child{max-width:180px}
body.mg-site .hero-caption>span:last-child{text-align:right;max-width:130px}
body.mg-site .section-pad{padding:var(--mg-spacing-72) var(--mg-page-gutter)}
body.mg-site .mg-type-h2{font-size:var(--mg-font-size-section-heading-mobile)}
body.mg-site .intro{padding-top:var(--mg-spacing-92);padding-bottom:var(--mg-spacing-80)}
body.mg-site .intro>.eyebrow{margin-bottom:var(--mg-spacing-34);font-size:var(--mg-font-size-10)}
body.mg-site .gold-line{width:23px;margin-right:var(--mg-spacing-10)}
body.mg-site .intro-grid{grid-template-columns:1fr;gap:var(--mg-spacing-36)}
body.mg-site .statement{font-size:var(--mg-font-size-statement-mobile);max-width:600px}
body.mg-site .intro-copy{font-size:var(--mg-font-size-16);max-width:100%;padding:0}
body.mg-site .intro-copy p:first-child{font-size:var(--mg-font-size-20);max-width:540px}
body.mg-site .intro-copy .line-link{margin-top:var(--mg-space-2)}
body.mg-site .section-heading{display:block;margin-bottom:var(--mg-space-4)}
body.mg-site .section-heading .eyebrow{margin-bottom:var(--mg-spacing-20);font-size:var(--mg-font-size-10)}
body.mg-site .section-intro{margin-top:var(--mg-spacing-22);font-size:var(--mg-font-size-15);max-width:none}
body.mg-site .section-intro br{display:none}
body.mg-site .project-toolbar{display:block;margin-bottom:var(--mg-spacing-28);padding-bottom:var(--mg-spacing-14)}
body.mg-site .filters{gap:var(--mg-spacing-23);flex-wrap:nowrap}
body.mg-site .filters button{font-size:var(--mg-font-size-13);padding-top:var(--mg-spacing-10);padding-bottom:var(--mg-spacing-10);white-space:nowrap;min-height:44px}
body.mg-site .filters sup{display:none}
body.mg-site .concept-note{font-size:var(--mg-font-size-9);display:block;text-align:left;padding-top:var(--mg-spacing-12)}
body.mg-site .project-grid{display:block}
body.mg-site .project{width:100%;margin:0 0 var(--mg-spacing-40)}
body.mg-site .project-featured .project-image{aspect-ratio:1.05}
body.mg-site .project-small .project-image{aspect-ratio:1.15}
body.mg-site .project-wide .project-image{aspect-ratio:1.15}
body.mg-site .project-wide{margin-bottom:0}
body.mg-site .project-meta{padding-top:var(--mg-spacing-18)}
body.mg-site .project-meta .eyebrow{font-size:var(--mg-font-size-9)}
body.mg-site .project-name{font-size:var(--mg-font-size-26)}
body.mg-site .project-index{font-size:var(--mg-font-size-10)}
body.mg-site .image-label{font-size:var(--mg-font-size-9);left:16px;bottom:16px}
body.mg-site .project-round{opacity:1;width:37px;height:37px;right:14px;top:14px;font-size:var(--mg-font-size-21);transform:none}
body.mg-site .project-grid.is-filtered .project-image{aspect-ratio:1.15}
body.mg-site .worlds{display:block}
body.mg-site .worlds-lead p:not(.eyebrow){max-width:420px;font-size:var(--mg-font-size-16);margin-top:var(--mg-space-3)}
body.mg-site .worlds-lead .line-link{margin-top:var(--mg-space-2)}
body.mg-site .worlds-lead .eyebrow{font-size:var(--mg-font-size-10)}
body.mg-site .world-list{margin-top:var(--mg-spacing-40)}
body.mg-site .world-row{gap:var(--mg-spacing-22);padding:var(--mg-spacing-25) 0}
body.mg-site .world-row strong{font-size:var(--mg-font-size-29)}
body.mg-site .world-row small{font-size:var(--mg-font-size-13)}
body.mg-site .world-no{font-size:var(--mg-font-size-10)}
body.mg-site .world-arrow{font-size:var(--mg-font-size-26)}
body.mg-site .craft-heading h2{font-size:var(--mg-font-size-workshop-heading-mobile);line-height:1.1}
body.mg-site .craft-heading .eyebrow{font-size:var(--mg-font-size-10);margin-bottom:var(--mg-spacing-25)}
body.mg-site .craft-picture{height:480px;margin:0 var(--mg-space-1)}
body.mg-site .parallax-media img{object-position:38% center}
body.mg-site .craft-picture figcaption{left:24px;right:24px;bottom:28px}
body.mg-site .craft-picture figcaption>span:first-child{font-size:var(--mg-font-size-24)}
body.mg-site .craft-picture figcaption>.eyebrow{display:none}
body.mg-site .craft-bottom{grid-template-columns:1fr;gap:var(--mg-spacing-42);padding-top:var(--mg-space-5)}
body.mg-site .craft-fact{display:flex;align-items:center;gap:var(--mg-grid-gap)}
body.mg-site .craft-fact>span{font-size:var(--mg-font-size-88)}
body.mg-site .craft-fact p{font-size:var(--mg-font-size-small);line-height:1.5;margin:0}
body.mg-site .craft-description h3{font-size:var(--mg-font-size-31)}
body.mg-site .craft-description p{font-size:var(--mg-font-size-16)}
body.mg-site .signature{font-size:var(--mg-font-size-20)}
body.mg-site .process .section-heading{margin-bottom:var(--mg-spacing-36)}
body.mg-site .process-grid{grid-template-columns:1fr;gap:var(--mg-grid-gap)}
body.mg-site .process-image{aspect-ratio:1.23}
body.mg-site .process-image>.eyebrow{bottom:22px;left:20px;font-size:var(--mg-font-size-9)}
body.mg-site .process-step summary{padding:var(--mg-space-3) 0;gap:var(--mg-spacing-17)}
body.mg-site .process-step summary h3{font-size:var(--mg-font-size-25)}
body.mg-site .step-body{font-size:var(--mg-font-size-16);padding-left:var(--mg-spacing-30);padding-bottom:var(--mg-spacing-28)}
body.mg-site .step-body>span{font-size:var(--mg-font-size-9)}
body.mg-site .career{margin:0 var(--mg-space-3);grid-template-columns:1fr;gap:var(--mg-spacing-25);padding:var(--mg-space-5) 0 var(--mg-space-6)}
body.mg-site .career h2{font-size:var(--mg-font-size-40)}
body.mg-site .career .eyebrow{font-size:var(--mg-font-size-10)}
body.mg-site .career p:not(.eyebrow){font-size:var(--mg-font-size-16)}
body.mg-site .contact>.eyebrow{font-size:var(--mg-font-size-9);line-height:1.8;margin-bottom:var(--mg-spacing-28);max-width:300px}
body.mg-site .contact-heading{gap:var(--mg-spacing-12);align-items:flex-end}
body.mg-site .contact h2{font-size:var(--mg-font-size-contact-tablet)}
body.mg-site .contact-circle{width:65px;margin-bottom:var(--mg-spacing-5)}
body.mg-site .contact-circle>span{font-size:var(--mg-font-size-34)}
body.mg-site .contact-bottom{grid-template-columns:1fr;gap:var(--mg-spacing-25);margin-top:var(--mg-spacing-36);padding-top:var(--mg-space-3)}
body.mg-site .contact-bottom>p{font-size:var(--mg-font-size-15)}
body.mg-site .contact-bottom>div{gap:var(--mg-spacing-10)}
body.mg-site .contact-bottom a{font-size:var(--mg-font-size-19)}
body.mg-site .footer{padding:var(--mg-space-5) var(--mg-space-3) var(--mg-space-3)}
body.mg-site .footer-top{grid-template-columns:1fr 1fr;gap:var(--mg-spacing-30) var(--mg-spacing-15)}
body.mg-site .footer-top .brand{grid-column:1/-1}
body.mg-site .footer-top .brand-name{font-size:var(--mg-font-size-30)}
body.mg-site .footer-top p{font-size:var(--mg-font-size-11)}
body.mg-site .footer-top>.line-link{grid-column:1/-1;justify-self:start}
body.mg-site .footer-bottom{font-size:var(--mg-font-size-9);margin-top:var(--mg-spacing-38);gap:var(--mg-spacing-20)}
body.mg-site .footer-bottom nav{gap:var(--mg-spacing-19)}
body.mg-site .footer-bottom nav a:last-child{display:none}
body.mg-site .footer-note{font-size:var(--mg-font-size-8)}
body.mg-site .nav-top{padding:var(--mg-space-4) var(--mg-space-4)}
body.mg-site .nav-top .brand-name{font-size:var(--mg-font-size-24)}
body.mg-site .nav-top .close-menu{font-size:var(--mg-font-size-small);gap:var(--mg-spacing-10)}
body.mg-site .close-icon{width:27px}
body.mg-site .nav-layout{padding:var(--mg-spacing-35) var(--mg-space-4) var(--mg-space-3);display:block;min-height:auto}
body.mg-site .nav-main>.eyebrow{font-size:var(--mg-font-size-9);letter-spacing:.12em;margin-bottom:var(--mg-space-4)}
body.mg-site .nav-word{font-size:var(--mg-font-size-navigation-mobile)}
body.mg-site .nav-main nav>a{gap:var(--mg-space-2);padding:var(--mg-spacing-10) 0 var(--mg-spacing-14)}
body.mg-site .nav-number{font-size:var(--mg-font-size-10)}
body.mg-site .nav-arrow{font-size:var(--mg-font-size-28)}
body.mg-site .nav-aside{margin-top:var(--mg-spacing-42);max-width:none;padding-top:var(--mg-space-3);border-top:1px solid var(--mg-color-navigation-divider);display:grid;grid-template-columns:1fr 1fr;gap:var(--mg-spacing-10) var(--mg-spacing-20)}
body.mg-site .nav-aside img{display:none}
body.mg-site .nav-aside>p{font-size:var(--mg-font-size-20);margin:0;grid-row:span 2}
body.mg-site .nav-aside>a{font-size:var(--mg-font-size-small);margin-top:0;align-self:center}
body.mg-site .nav-address{display:none}
body.mg-site .nav-bottom{margin:var(--mg-spacing-26) var(--mg-space-4) 0;padding-bottom:var(--mg-space-3);align-items:center;font-size:var(--mg-font-size-10)}
body.mg-site .nav-bottom>.text-button{max-width:170px;text-align:right;font-size:var(--mg-font-size-11);line-height:1.6}
body.mg-site .nav-bottom>.text-button span{padding-left:var(--mg-space-1)}
body.mg-site .detail-dialog{width:calc(100vw - 24px);max-height:94svh}
body.mg-site .detail-dialog figure img{height:34svh}
body.mg-site .detail-dialog figcaption{padding:var(--mg-spacing-12) var(--mg-spacing-22);font-size:var(--mg-font-size-9)}
body.mg-site .detail-content{padding:var(--mg-spacing-30) var(--mg-space-3) var(--mg-spacing-36)}
body.mg-site .detail-content h2{font-size:var(--mg-font-size-37)}
body.mg-site .detail-content .eyebrow{font-size:var(--mg-font-size-10)}
body.mg-site .detail-content>p:not(.eyebrow){font-size:var(--mg-font-size-16)}
body.mg-site .detail-content .line-link{font-size:var(--mg-font-size-13);gap:var(--mg-spacing-20);width:100%}
body.mg-site .detail-tags{gap:var(--mg-space-2)}
body.mg-site .detail-tags>span{font-size:var(--mg-font-size-9)}
body.mg-site .enquiry-dialog{width:calc(100vw - 24px);padding:var(--mg-spacing-50) var(--mg-space-3) var(--mg-spacing-30)}
body.mg-site .enquiry-dialog h2{font-size:var(--mg-font-size-37)}
body.mg-site .enquiry-dialog>.eyebrow{font-size:var(--mg-font-size-9);max-width:230px}
body.mg-site .enquiry-intro{font-size:var(--mg-font-size-15)}
body.mg-site .form-row{grid-template-columns:1fr;gap:0}
body.mg-site .enquiry-dialog label{margin-top:var(--mg-spacing-18)}
body.mg-site .enquiry-dialog>.dialog-close{width:38px;height:38px;right:14px;top:14px}
body.mg-site .form-info{font-size:var(--mg-font-size-11)}
body.mg-site .submit-button{font-size:var(--mg-font-size-15)}
body.mg-site .line-link{font-size:var(--mg-font-size-15)}}

@media(max-width:380px){
body.mg-site .hero h1{font-size:var(--mg-font-size-hero-small-screen)}
body.mg-site .hero{min-height:600px}
body.mg-site .menu-toggle{gap:var(--mg-spacing-12)}
body.mg-site .brand-name{font-size:var(--mg-font-size-22)}
body.mg-site .brand-sub{font-size:var(--mg-font-size-6)}
body.mg-site .hero-content{left:20px;right:18px}
body.mg-site .hero-cta{font-size:var(--mg-font-size-small);gap:var(--mg-spacing-12)}
body.mg-site .filters{gap:var(--mg-spacing-18)}
body.mg-site .filters button{font-size:var(--mg-font-size-small)}
body.mg-site .world-row strong{font-size:var(--mg-font-size-25)}
body.mg-site .world-row{gap:var(--mg-space-2)}
body.mg-site .nav-top{padding:var(--mg-spacing-26) var(--mg-space-3)}
body.mg-site .nav-layout{padding:var(--mg-space-3)}
body.mg-site .nav-bottom{margin:var(--mg-space-2) var(--mg-space-3) 0}
body.mg-site .nav-word{font-size:var(--mg-font-size-42)}
body.mg-site .nav-aside{gap:var(--mg-spacing-12)}
body.mg-site .nav-aside>p{font-size:var(--mg-font-size-body)}
body.mg-site .contact h2{font-size:var(--mg-font-size-44)}
body.mg-site .contact-circle{width:57px}
body.mg-site .contact-bottom a{font-size:var(--mg-font-size-17)}}

@media(prefers-reduced-motion:reduce){
html{scroll-behavior:auto}
body.mg-site *,body.mg-site *::before,body.mg-site *::after{animation-duration:.01ms!important;animation-delay:0s!important;transition-duration:.01ms!important;transition-delay:0s!important}
html.js body.mg-site .reveal{opacity:1;transform:none}
body.mg-site .hero-media,body.mg-site .hero-media img,body.mg-site .hero h1>span>span,body.mg-site .hero-enter{animation:none!important;clip-path:none;transform:none;opacity:1}
body.mg-site .reading-word{color:var(--mg-color-text)}
body.mg-site .parallax-media{transform:none!important}
body.mg-site .navigation .nav-word{transform:none}
body.mg-site .navigation .nav-number,body.mg-site .navigation .nav-appear{opacity:1;transform:none}}

body.mg-site .brand .brand-logo{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:left center;transition:opacity .3s ease}

body.mg-site .header .brand-logo-positive{opacity:0}

body.mg-site .header.has-scroll .brand-logo-positive{opacity:1}

body.mg-site .header.has-scroll .brand-logo-negative{opacity:0}

body.mg-site .footer .brand{width:260px;height:60px;max-width:100%}

body.mg-site .nav-top .brand{width:300px;height:64px}

@media(max-width:1100px){
body.mg-site .header .brand,body.mg-site .nav-top .brand{width:270px;height:58px}
body.mg-site .footer .brand{width:235px;height:56px}}

@media(max-width:760px){
body.mg-site .header .brand,body.mg-site .nav-top .brand{width:210px;height:46px}
body.mg-site .footer .brand{width:260px;height:60px}}

@media(max-width:380px){
body.mg-site .header .brand,body.mg-site .nav-top .brand{width:180px;height:42px}}

@media(prefers-reduced-motion:reduce){
body.mg-site .brand .brand-logo{transition:none}}


/* The rounded image language and motion revisions apply to the whole site. */
:root{--mg-radius-large:30px;}

html{scroll-padding-top:0}

body.mg-site img:not(.brand-logo){border-radius:var(--mg-radius-large)}

body.mg-site .header{transform:none;transition:transform .6s var(--mg-easing),opacity .35s;}

body.mg-site .header.is-floating{position:fixed;top:16px;background:var(--mg-color-header-floating-background);border:1px solid var(--mg-color-header-floating-border);box-shadow:0 4px 32px var(--mg-color-header-floating-shadow);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);transform:translateY(calc(-100% - 40px));pointer-events:none}

body.mg-site .header.is-floating.has-scroll{left:16px;right:16px;padding-inline:var(--mg-spacing-58);color:var(--mg-color-background)}

body.mg-site .header.is-floating.has-scroll .brand-logo-positive{opacity:0}

body.mg-site .header.is-floating.has-scroll .brand-logo-negative{opacity:1}

body.mg-site .header.is-floating.is-floating-visible{transform:translateY(0);pointer-events:auto}

body.mg-site .hamburger i,body.mg-site .hamburger i:last-child{display:block;height:1px;width:34px;margin:0;transform-origin:right center;transition:width .4s var(--mg-easing),transform .4s var(--mg-easing)}

body.mg-site .hamburger i:nth-child(2){width:24px;transition-delay:50ms}

body.mg-site .hamburger i:nth-child(3){transition-delay:100ms}

body.mg-site .menu-toggle:is(:hover,:focus-visible) .hamburger i:nth-child(1){width:23px}

body.mg-site .menu-toggle:is(:hover,:focus-visible) .hamburger i:nth-child(2){width:34px}

body.mg-site .menu-toggle:is(:hover,:focus-visible) .hamburger i:nth-child(3){width:20px}

body.mg-site .hero-media{will-change:transform;animation:hero-mask 1.8s var(--mg-easing) both;}

body.mg-site .hero-slide{opacity:0;transition:opacity 2.2s ease-in-out;}

body.mg-site .hero-slide.is-active{opacity:1;z-index:2}

body.mg-site .hero-slide.is-leaving{opacity:0;z-index:1}

body.mg-site .hero-media .hero-slide img{width:100%;height:100%;border-radius:0;object-fit:cover;object-position:center;transform:scale(1.06);animation:none;will-change:transform}

body.mg-site .hero-media .hero-slide.is-active img,body.mg-site .hero-media .hero-slide.is-leaving img{animation:camera-drift 9.1s ease-in-out both}

body.mg-site .hero-media .hero-slide:nth-child(2).is-active img,body.mg-site .hero-media .hero-slide:nth-child(2).is-leaving img{animation-direction:reverse}

body.mg-site .hero.is-paused .hero-media .hero-slide img{animation-play-state:paused}

@keyframes camera-drift{from{transform:scale(1.06) translate3d(-.6%,.25%,0)}to{transform:scale(1.14) translate3d(.6%,-.4%,0)}}

body.mg-site .hero h1>span>span{animation:hero-text-in 1.6s var(--mg-easing) both}

body.mg-site .hero h1>span:nth-child(1)>span{animation-delay:.35s}

body.mg-site .hero h1>span:nth-child(2)>span{animation-delay:.52s}

body.mg-site .hero h1>span:nth-child(3)>span{animation-delay:.69s}

@keyframes hero-text-in{from{opacity:0;transform:translateY(38px);filter:blur(4px)}to{opacity:1;transform:none;filter:blur(0)}}

body.mg-site .hero-enter{animation:fade-up 1.5s var(--mg-easing) both;animation-delay:1s}

body.mg-site .hero-caption.hero-enter{animation-delay:1.3s}

body.mg-site .hero .scroll-hint{bottom:110px}

body.mg-site .hero-content,body.mg-site .scroll-hint{z-index:3}

body.mg-site .craft-picture img{border-radius:0}

body.mg-site .process-image{border-radius:var(--mg-radius-large);isolation:isolate}

body.mg-site .nav-aside img{border-radius:var(--mg-spacing-18)}

body.mg-site .detail-dialog figure{padding:var(--mg-spacing-12) var(--mg-spacing-12) 0}

body.mg-site .detail-dialog figure img{border-radius:var(--mg-spacing-20)}

body.mg-site .detail-dialog figcaption{padding-left:var(--mg-space-3);padding-right:var(--mg-space-3)}

html.js body.mg-site .reveal{transition:opacity 1.05s var(--mg-easing),transform 1.25s var(--mg-easing)}

body.mg-site .reference-heading h2{font-size:var(--mg-font-size-reference-heading)}

body.mg-site .reference-heading .eyebrow{margin-bottom:var(--mg-spacing-20)}

body.mg-site .reference-image{isolation:isolate;}

body.mg-site .reference-image img{transition:transform 1.2s var(--mg-easing);border-radius:0}

body.mg-site .reference-link:hover .reference-image img{transform:scale(1.035)}

body.mg-site .reference-arrow{transition:background .35s,transform .5s var(--mg-easing);}

body.mg-site .reference-link:hover .reference-arrow{background:var(--mg-color-image-control-hover);transform:translate(3px,-3px)}

body.mg-site .reference-meta .eyebrow{font-size:var(--mg-font-size-10);color:var(--mg-color-muted);letter-spacing:.13em;margin-bottom:var(--mg-spacing-7)}

body.mg-site .reference-meta h3{font-size:var(--mg-font-size-reference-meta);line-height:1.2;letter-spacing:-.03em}

body.mg-site .reference-view span{font-size:var(--mg-font-size-22);margin-left:var(--mg-spacing-18)}

body.mg-site .reference-navigation button{width:44px;height:44px;padding:0;font-size:var(--mg-font-size-26);transition:opacity .3s,transform .3s}

body.mg-site .reference-navigation button:disabled{opacity:.25}

body.mg-site .reference-navigation button:hover:enabled{transform:translateX(3px)}

body.mg-site .reference-navigation .reference-prev:hover:enabled{transform:translateX(-3px)}

body.mg-site .reference-counter>span:last-child{color:var(--mg-color-muted)}

body.mg-site .reference-progress>span{position:absolute;inset:0;background:var(--mg-color-text);transform-origin:left;transform:scaleX(.2)}

html.js body.mg-site .references.is-pinned .reference-sticky{position:sticky;top:0;height:100svh;display:flex;flex-direction:column;overflow:hidden;padding-top:clamp(var(--mg-spacing-42),5.5vh,var(--mg-spacing-88));padding-bottom:var(--mg-spacing-26)}

html.js body.mg-site .references.is-pinned .reference-heading{flex-shrink:0}

html.js body.mg-site .references.is-pinned .reference-window{flex:1;min-height:0;overflow:clip;display:flex;align-items:center}

html.js body.mg-site .references.is-pinned .reference-track{display:flex;flex-wrap:nowrap;gap:clamp(var(--mg-spacing-28),4vw,var(--mg-spacing-76));width:100%;height:100%;max-height:760px;flex-shrink:0;will-change:transform}

html.js body.mg-site .references.is-pinned .reference-card{flex:0 0 min(76vw,1120px);height:100%}

html.js body.mg-site .references.is-pinned .reference-image{flex:1;min-height:0;aspect-ratio:auto}

html.js body.mg-site .references.is-pinned .reference-footer{display:flex;flex-shrink:0}

/* Real, addressable project pages share the same navigation and contact flow. */
body.mg-site.project-page .header{color:var(--mg-color-text)}

body.mg-site.project-page .header .brand-logo-positive{opacity:1}

body.mg-site.project-page .header .brand-logo-negative{opacity:0}

body.mg-site .project-back>span{font-size:var(--mg-font-size-21)}

body.mg-site .project-intro>.eyebrow{margin-bottom:var(--mg-space-3)}

body.mg-site .project-intro h1{font-size:var(--mg-font-size-project-intro);line-height:1.04;letter-spacing:-.05em;max-width:1250px}

body.mg-site .project-intro-bottom p{font-size:var(--mg-font-size-19)}

body.mg-site .project-intro-bottom>span{font-size:var(--mg-font-size-10);letter-spacing:.04em}

body.mg-site .project-cover{margin:0 var(--mg-page-gutter)}

body.mg-site .project-cover img{height:clamp(380px,56vw,830px);border-radius:var(--mg-radius-large);object-fit:cover}

body.mg-site .project-cover figcaption{font-size:var(--mg-font-size-10);color:var(--mg-color-muted);padding:var(--mg-spacing-14) 0}

body.mg-site .project-story .eyebrow{margin-bottom:var(--mg-spacing-28)}

body.mg-site .project-story h2{font-size:var(--mg-font-size-project-story);line-height:1.1}

body.mg-site .project-story p{font-size:var(--mg-font-size-body);color:var(--mg-color-muted)}

body.mg-site .project-story ul{list-style:none;margin:var(--mg-spacing-30) 0;padding:0}

body.mg-site .project-story li{padding:var(--mg-spacing-14) 0;border-top:1px solid var(--mg-color-border);font-size:var(--mg-font-size-14)}

body.mg-site .project-story li:last-child{border-bottom:1px solid var(--mg-color-border)}

body.mg-site .project-material{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center;background:var(--mg-color-overlay);color:var(--mg-color-background)}

body.mg-site .project-material-image{aspect-ratio:1.05;overflow:hidden;border-radius:var(--mg-radius-large)}

body.mg-site .project-material-image img{border-radius:0;object-position:35% center}

body.mg-site .project-material .eyebrow{font-size:var(--mg-font-size-10);color:var(--mg-color-craft-caption);margin-bottom:var(--mg-spacing-28)}

body.mg-site .project-material h2{font-size:var(--mg-font-size-project-story);line-height:1.1;margin-bottom:var(--mg-spacing-30)}

body.mg-site .project-material p:not(.eyebrow){font-size:var(--mg-font-size-17);color:var(--mg-color-eyebrow-muted)}

body.mg-site .project-material .line-link{margin-top:var(--mg-space-3)}

body.mg-site .next-project>a{display:grid;grid-template-columns:1fr .8fr;gap:12%;align-items:center}

body.mg-site .next-project h2{font-size:var(--mg-font-size-next-project);margin-top:var(--mg-space-3)}

body.mg-site .next-project .line-link{margin-top:var(--mg-spacing-30)}

body.mg-site .next-project img{height:330px;border-radius:var(--mg-radius-large)}

@media(max-width:1100px){
body.mg-site .header.is-floating.has-scroll{padding-inline:var(--mg-spacing-30)}
body.mg-site .reference-meta h3{font-size:var(--mg-font-size-28)}
body.mg-site .reference-view{font-size:var(--mg-font-size-11)}
body.mg-site .reference-view span{margin-left:var(--mg-spacing-9)}
body.mg-site .reference-heading{margin-bottom:var(--mg-spacing-30)}
body.mg-site .project-story{gap:8%}
body.mg-site .project-story p{font-size:var(--mg-font-size-17)}
body.mg-site .project-material{gap:7%}
body.mg-site .next-project>a{gap:8%}
body.mg-site .next-project img{height:280px}}

@media(max-width:760px){
:root{--mg-radius-large:24px}
body.mg-site .header{top:13px}
body.mg-site .header.is-floating{top:8px}
body.mg-site .header.is-floating.has-scroll{left:8px;right:8px;padding-inline:var(--mg-space-3)}
body.mg-site .menu-toggle{gap:var(--mg-spacing-18)}
body.mg-site .menu-label{font-size:var(--mg-font-size-20)}
body.mg-site .hamburger{width:30px;height:28px;gap:var(--mg-spacing-5)}
body.mg-site .hamburger i,body.mg-site .hamburger i:last-child{width:28px}
body.mg-site .hamburger i:nth-child(2){width:19px}
body.mg-site .menu-toggle:is(:hover,:focus-visible) .hamburger i:nth-child(1){width:19px}
body.mg-site .menu-toggle:is(:hover,:focus-visible) .hamburger i:nth-child(2){width:28px}
body.mg-site .menu-toggle:is(:hover,:focus-visible) .hamburger i:nth-child(3){width:16px}
body.mg-site .hero-playback{bottom:18px;right:24px;gap:var(--mg-space-2);font-size:var(--mg-font-size-10)}
body.mg-site .hero .scroll-hint{bottom:25px;left:24px;right:auto}
body.mg-site .hero-content{bottom:100px}
body.mg-site .hero-media{inset:-10% 0}
body.mg-site .hero-media img{object-position:58% center}
body.mg-site .hero h1>span>span{animation-duration:1.5s}
body.mg-site .detail-dialog figure{padding:var(--mg-space-1) var(--mg-space-1) 0}
body.mg-site .detail-dialog figure img{border-radius:var(--mg-spacing-17)}
body.mg-site .reference-sticky{padding:var(--mg-spacing-58) 0 var(--mg-spacing-44)}
body.mg-site .reference-heading{display:block;margin-bottom:var(--mg-spacing-26)}
body.mg-site .reference-heading h2{font-size:var(--mg-font-size-references-heading-mobile)}
body.mg-site .reference-heading .eyebrow{font-size:var(--mg-font-size-10);margin-bottom:var(--mg-space-2)}
body.mg-site .reference-heading .section-intro{margin-top:var(--mg-space-2);font-size:var(--mg-font-size-13);max-width:280px}
body.mg-site .reference-heading .section-intro br{display:none}
body.mg-site .reference-track{grid-template-columns:1fr;gap:var(--mg-spacing-34)}
body.mg-site .reference-meta{min-height:76px;padding-top:var(--mg-spacing-18);gap:var(--mg-spacing-12)}
body.mg-site .reference-meta .eyebrow{font-size:var(--mg-font-size-8);letter-spacing:.1em;margin-bottom:var(--mg-spacing-6)}
body.mg-site .reference-meta h3{font-size:var(--mg-font-size-26);max-width:310px}
body.mg-site .reference-view{display:none}
body.mg-site .reference-arrow{width:37px;height:37px;top:16px;right:16px;font-size:var(--mg-font-size-21)}
body.mg-site .reference-footer{gap:var(--mg-space-3);margin-top:var(--mg-spacing-22)}
body.mg-site .reference-navigation{grid-template-columns:44px 64px 44px;gap:var(--mg-spacing-4)}
body.mg-site .reference-counter{font-size:var(--mg-font-size-11)}
body.mg-site .reference-progress{min-width:40px}
html.js body.mg-site .references.is-pinned .reference-sticky{padding-top:var(--mg-spacing-44);padding-bottom:var(--mg-spacing-20)}
html.js body.mg-site .references.is-pinned .reference-card{flex-basis:82vw}
html.js body.mg-site .references.is-pinned .reference-track{gap:var(--mg-space-3)}
html.js body.mg-site .references.is-pinned .reference-heading .section-intro{display:none}
html.js body.mg-site .references.is-pinned .reference-meta{align-items:flex-start;padding-top:var(--mg-spacing-17);min-height:88px}
body.mg-site .project-intro{padding-top:var(--mg-spacing-135);padding-bottom:var(--mg-spacing-34)}
body.mg-site .project-back{margin-bottom:var(--mg-spacing-36);font-size:var(--mg-font-size-13)}
body.mg-site .project-intro>.eyebrow{font-size:var(--mg-font-size-10);margin-bottom:var(--mg-spacing-20)}
body.mg-site .project-intro h1{font-size:var(--mg-font-size-project-heading-mobile)}
body.mg-site .project-intro-bottom{margin-top:var(--mg-spacing-28);display:block}
body.mg-site .project-intro-bottom p{font-size:var(--mg-font-size-17)}
body.mg-site .project-intro-bottom>span{display:block;font-size:var(--mg-font-size-9);margin-top:var(--mg-spacing-15)}
body.mg-site .project-cover img{height:450px}
body.mg-site .project-cover figcaption{font-size:var(--mg-font-size-9);line-height:1.6;max-width:270px}
body.mg-site .project-story{grid-template-columns:1fr;gap:var(--mg-spacing-30);padding-top:var(--mg-space-6)}
body.mg-site .project-story h2{font-size:var(--mg-font-size-39)}
body.mg-site .project-story p{font-size:var(--mg-font-size-16)}
body.mg-site .project-story .eyebrow{font-size:var(--mg-font-size-10);margin-bottom:var(--mg-spacing-22)}
body.mg-site .project-story li{font-size:var(--mg-font-size-13)}
body.mg-site .project-material{grid-template-columns:1fr;gap:var(--mg-spacing-36)}
body.mg-site .project-material-image{aspect-ratio:1.15}
body.mg-site .project-material h2{font-size:var(--mg-font-size-38)}
body.mg-site .project-material p:not(.eyebrow){font-size:var(--mg-font-size-16)}
body.mg-site .next-project>a{grid-template-columns:1fr;gap:var(--mg-grid-gap)}
body.mg-site .next-project .eyebrow{font-size:var(--mg-font-size-10)}
body.mg-site .next-project h2{font-size:var(--mg-font-size-38)}
body.mg-site .next-project .line-link{margin-top:var(--mg-spacing-20)}
body.mg-site .next-project img{height:260px}
body.mg-site.project-page .footer-top{gap:var(--mg-space-3)}}

@media(max-height:720px) and (min-width:761px){
html.js body.mg-site .references.is-pinned .reference-sticky{padding-top:var(--mg-space-4);padding-bottom:var(--mg-spacing-18)}
body.mg-site .reference-heading h2{font-size:var(--mg-font-size-42)}
body.mg-site .reference-heading .eyebrow{margin-bottom:var(--mg-spacing-12)}
body.mg-site .reference-heading{margin-bottom:var(--mg-spacing-20)}
body.mg-site .reference-meta{min-height:68px;padding-top:var(--mg-spacing-14)}
body.mg-site .reference-meta h3{font-size:var(--mg-font-size-27)}
body.mg-site .reference-footer{margin-top:var(--mg-spacing-18)}}

@media(prefers-reduced-motion:reduce){
body.mg-site .hero-media{animation:none;transform:none!important}
body.mg-site .hero-media .hero-slide img{animation:none!important;transform:none}
body.mg-site .hero-playback{display:none}
body.mg-site .hero h1>span>span{animation:none!important;opacity:1;filter:none;transform:none}
html.js body.mg-site .reference-card.reveal{opacity:1;transform:none}
body.mg-site .reference-track{transform:none!important}
body.mg-site .reference-footer{display:none!important}}

@media print{
body.mg-site .references{height:auto!important}
body.mg-site .reference-sticky{position:static!important;height:auto!important}
body.mg-site .reference-track{display:block!important;transform:none!important}
body.mg-site .reference-card{break-inside:avoid;margin-bottom:var(--mg-space-4);height:auto!important}
body.mg-site .reference-image{height:300px!important}
body.mg-site .reference-footer{display:none!important}}


/* Shared vector details retain the same shape on iOS and desktop. */
:root{--mg-radius-hero:30px;}

body.mg-site .header.is-floating{border-radius:var(--mg-radius-hero)}

body.mg-site .round-arrow .svg-icon{width:24px;height:24px}

body.mg-site .reference-arrow .svg-icon{width:24px;height:24px}

body.mg-site .reference-navigation button{display:grid;place-items:center}

body.mg-site .reference-navigation .svg-icon{width:24px;height:24px}

body.mg-site .scroll-hint .svg-icon{width:24px;height:24px}

body.mg-site .contact-circle>span{display:grid;place-items:center;width:100%;height:100%}

body.mg-site .contact-circle .svg-icon{width:44%;height:44%}

body.mg-site .contact{isolation:isolate;}

body.mg-site .contact>.wood-rings{position:absolute;z-index:-1;pointer-events:none;right:0;top:50%;height:105%;aspect-ratio:1 / 2;transform:translateY(-50%);background:var(--mg-color-decoration-wood-rings);opacity:.065;-webkit-mask:url("https://staging.moebelwerkstatt-gasser.at/wp-content/uploads/2026/10/holzringe-halbschnitt.svg") right center / contain no-repeat;mask:url("https://staging.moebelwerkstatt-gasser.at/wp-content/uploads/2026/10/holzringe-halbschnitt.svg") right center / contain no-repeat}

body.mg-site .back-to-top{transition:background .35s,color .35s,border-color .35s;}

body.mg-site .back-to-top .svg-icon{width:24px;height:24px;transition:transform .4s var(--mg-easing)}

body.mg-site .back-to-top:hover{background:var(--mg-color-accent);color:var(--mg-color-text);border-color:var(--mg-color-accent)}

body.mg-site .back-to-top:hover .svg-icon{transform:translateY(-4px)}

@media(max-width:760px){
body.mg-site .footer-bottom nav a:last-child{display:inline}}

@media(max-width:760px){
:root{--mg-radius-hero:24px}
body.mg-site .header{left:0;right:0;padding-inline:var(--mg-page-gutter)}
body.mg-site .header .brand{width:clamp(168px,54vw,210px)}
body.mg-site .header.is-floating.has-scroll{left:0;right:0;top:0;border:0;border-radius:0;padding:var(--mg-space-2) var(--mg-page-gutter)}
body.mg-site .menu-toggle{gap:clamp(var(--mg-spacing-12),4.6vw,var(--mg-spacing-18))}
body.mg-site .contact>.wood-rings{height:70%;opacity:.055}
body.mg-site .footer-bottom{padding-right:var(--mg-spacing-52)}
body.mg-site .back-to-top{width:48px;height:48px;right:8px;bottom:22px;border-radius:var(--mg-spacing-12)}
body.mg-site .back-to-top .svg-icon{width:23px;height:23px}}


/* Mobile art direction and consistent rounded image surfaces. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}

body.mg-site .nav-aside img,body.mg-site .detail-dialog figure img{border-radius:var(--mg-radius-large)}

body.mg-site .contact h2>.contact-line{display:block;color:inherit;white-space:nowrap}

body.mg-site .contact h2 .contact-emphasis{color:var(--mg-color-contact-emphasis)}

body.mg-site .footer-bottom .back-to-top{position:static;justify-self:end}

body.mg-site .footer-bottom nav{order:0}

@media(max-width:760px){
body.mg-site .header{top:0;padding-top:var(--mg-spacing-17);padding-bottom:var(--mg-spacing-17)}
body.mg-site .menu-label{display:none}
body.mg-site .nav-top,body.mg-site .nav-layout{padding-inline:var(--mg-page-gutter)}
body.mg-site .contact-heading{position:relative;display:block}
body.mg-site .contact h2{font-size:var(--mg-font-size-contact-mobile);line-height:1.05}
body.mg-site .contact h2 .contact-emphasis{display:block;white-space:nowrap}
body.mg-site .contact-circle{position:absolute;right:0;bottom:3px;margin:0}
body.mg-site .footer-top{display:flex;flex-direction:column;align-items:flex-start;gap:var(--mg-space-3)}
body.mg-site .footer-top>p{width:100%;font-size:var(--mg-font-size-15);line-height:1.7}
body.mg-site.project-page .footer-top{gap:var(--mg-space-3)}
body.mg-site .footer-top>p+p{margin-top:var(--mg-spacing-negative-12)}
body.mg-site .footer-top>.line-link{margin-top:var(--mg-space-2)}
body.mg-site .footer-bottom{grid-template-columns:minmax(0,1fr) 48px;gap:var(--mg-spacing-18) var(--mg-spacing-20);padding-right:0;margin-top:var(--mg-spacing-36);padding-top:var(--mg-space-3);font-size:var(--mg-font-size-11)}
body.mg-site .footer-bottom nav{grid-column:1;grid-row:1;gap:var(--mg-space-3);font-size:var(--mg-font-size-small)}
body.mg-site .footer-copyright{grid-column:1;grid-row:2;white-space:normal}
body.mg-site .footer-bottom .back-to-top{grid-column:2;grid-row:1 / span 2;align-self:end;position:static;right:auto;bottom:auto}
}


/* The menu uses the scroll header's glass and its measured logo/icon positions. */
:root{--mg-header-glass:var(--mg-color-header-floating-background);}

body.mg-site .header.is-floating{background:var(--mg-header-glass)}

body.mg-site .navigation::backdrop{background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}

body.mg-site .navigation[open]{display:flex;flex-direction:column}

body.mg-site .nav-top .brand{position:absolute;left:var(--nav-logo-x,74px);top:var(--nav-logo-y,50px);width:var(--nav-logo-width,318px);height:var(--nav-logo-height,68px)}

body.mg-site .nav-top .close-menu{position:absolute;left:var(--nav-close-x,calc(100% - 118px));top:var(--nav-close-y,50px);width:44px;height:44px;min-height:44px;display:grid;place-items:center;padding:0}

body.mg-site .close-icon::before,body.mg-site .close-icon::after{top:50%;width:100%;transform-origin:center}

body.mg-site .navigation:not(.is-keyboard) .nav-top :focus{outline:none}

body.mg-site .nav-aside .nav-portrait{aspect-ratio:4/3;object-position:50% 12%}

body.mg-site .navigation .nav-layout{padding-left:var(--nav-logo-x,var(--mg-page-gutter));padding-right:var(--nav-grid-right,var(--mg-page-gutter))}

body.mg-site .nav-main nav{padding-left:0}

body.mg-site .nav-main nav>a{gap:0;overflow:visible}

body.mg-site .nav-number{transform:translateX(-40px);}

body.mg-site .nav-contact a{font-size:var(--mg-font-size-17);line-height:1.45;color:var(--mg-color-navigation-contact);min-height:28px;display:flex;align-items:center;justify-content:space-between;gap:var(--mg-spacing-12)}

body.mg-site .nav-contact a:is(:hover,:focus-visible){color:var(--mg-color-accent)}

body.mg-site .nav-contact>a>span{flex-shrink:0}

body.mg-site .navigation .nav-bottom{margin-left:var(--nav-logo-x,var(--mg-page-gutter));margin-right:var(--nav-grid-right,var(--mg-page-gutter))}

body.mg-site .nav-bottom .nav-address{margin:0;font-size:var(--mg-font-size-13);line-height:1.6;white-space:nowrap}

body.mg-site .nav-bottom .text-button{display:inline-flex;align-items:center;gap:var(--mg-space-2);min-height:44px;font-size:var(--mg-font-size-13);white-space:nowrap;max-width:none;flex-shrink:0;text-align:right}

body.mg-site .nav-bottom .text-button>span{padding-left:0}

body.mg-site .nav-bottom .text-button .svg-icon{width:22px;height:22px}

body.mg-site .nav-word{transition:transform .9s var(--mg-easing) calc(.16s + var(--i) * .08s),color .25s ease}

body.mg-site .nav-main nav>a:is([aria-current="page"],:hover,:focus-visible) :is(.nav-word,.nav-number){color:var(--mg-color-accent)}

@media(max-width:760px){
body.mg-site .menu-toggle{min-width:44px;justify-content:center}
body.mg-site .close-icon{width:30px}
body.mg-site .nav-layout{display:block;padding:var(--mg-spacing-28) var(--mg-page-gutter) var(--mg-spacing-28)}
body.mg-site .nav-main>.eyebrow{margin-bottom:var(--mg-spacing-22)}
body.mg-site .nav-main nav>a{padding:var(--mg-spacing-7) 0 var(--mg-spacing-11);gap:0;align-items:baseline}
body.mg-site .nav-main{padding-top:var(--mg-spacing-20)}
body.mg-site .nav-main nav{padding-left:0}
body.mg-site .nav-number{transform:translateX(-24px)}
body.mg-site .nav-word{font-size:var(--mg-font-size-navigation-small-screen)}
body.mg-site .nav-aside{max-width:none;margin-top:var(--mg-spacing-28);padding-top:var(--mg-spacing-22);display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:var(--mg-spacing-18) var(--mg-spacing-20);align-items:start}
body.mg-site .nav-aside>p{font-size:var(--mg-font-size-20);line-height:1.25;margin:0;grid-row:auto}
body.mg-site .nav-contact{gap:var(--mg-space-3);padding-top:0}
body.mg-site .nav-contact a{font-size:var(--mg-font-size-17);min-height:26px;white-space:nowrap}
body.mg-site .nav-contact>a[href^="mailto:"]{white-space:normal}
body.mg-site .nav-address{grid-column:1/-1;margin:0;font-size:var(--mg-font-size-13)}
body.mg-site .nav-bottom{margin-inline:var(--mg-page-gutter);padding:var(--mg-spacing-20) 0 var(--mg-space-3);font-size:var(--mg-font-size-10)}
body.mg-site .nav-bottom .nav-address{font-size:var(--mg-font-size-small)}
body.mg-site .nav-address-separator{display:none}
body.mg-site .nav-address-city{display:block}
body.mg-site .nav-bottom .text-button{gap:var(--mg-spacing-10);font-size:var(--mg-font-size-small)}
}

@media(max-width:380px){
body.mg-site .nav-aside{grid-template-columns:1fr}
body.mg-site .nav-aside>p{font-size:var(--mg-font-size-20)}
body.mg-site .nav-address{grid-column:auto}
body.mg-site .nav-contact a{justify-content:flex-start}
body.mg-site .nav-bottom{align-items:flex-start;flex-direction:column;gap:var(--mg-space-1)}
body.mg-site .nav-bottom .text-button{align-self:flex-end}}

body.mg-site .page-intro>.eyebrow{margin-bottom:var(--mg-spacing-30);color:var(--mg-color-muted)}

body.mg-site .page-intro h1{font-size:var(--mg-font-size-page-intro);line-height:1.03;letter-spacing:-.055em}

body.mg-site .page-intro h1>span{display:block}

body.mg-site .page-cover img{height:clamp(340px,47vw,760px);object-fit:cover}

body.mg-site .page-cover figcaption{font-size:var(--mg-font-size-10);color:var(--mg-color-muted);padding-top:var(--mg-spacing-12)}

body.mg-site .story-grid .eyebrow{margin-bottom:var(--mg-spacing-28);color:var(--mg-color-muted)}

body.mg-site .story-grid h2{font-size:var(--mg-font-size-story-grid)}

body.mg-site .story-copy .line-link{color:var(--mg-color-text);margin-top:var(--mg-space-3)}

body.mg-site .value-row:last-child{border-bottom:1px solid var(--mg-color-border)}

body.mg-site .value-row>span{font-size:var(--mg-font-size-small);color:var(--mg-color-muted);padding-top:var(--mg-space-1)}

body.mg-site .value-row h3{font-size:var(--mg-font-size-value-row)}

body.mg-site .value-row p{font-size:var(--mg-font-size-17);color:var(--mg-color-muted);max-width:490px}

body.mg-site .page-invitation .eyebrow{margin-bottom:var(--mg-spacing-26);color:var(--mg-color-muted)}

body.mg-site .page-invitation h2{max-width:860px}

body.mg-site .page-invitation .line-link{flex-shrink:0;margin-bottom:var(--mg-spacing-6)}

body.mg-site .collection-intro>.eyebrow{white-space:nowrap;font-size:var(--mg-font-size-10)}

body.mg-site .collection-intro>p:last-child{font-size:var(--mg-font-size-14);max-width:490px;margin:0}

body.mg-site :is(.collection-card,.mg-collection-card):nth-child(even){padding-top:var(--mg-spacing-100)}

body.mg-site :is(.collection-card,.mg-collection-card):last-child{grid-column:1/-1;max-width:100%}

body.mg-site :is(.collection-card,.mg-collection-card):last-child :is(.collection-image,.mg-collection-image){aspect-ratio:2}

body.mg-site :is(.collection-image,.mg-collection-image) img{border-radius:0;transition:transform 1.2s var(--mg-easing)}

body.mg-site :is(.collection-card,.mg-collection-card) a:hover img{transform:scale(1.035)}

body.mg-site :is(.collection-meta,.mg-collection-meta) .eyebrow{font-size:var(--mg-font-size-10);color:var(--mg-color-muted);margin-bottom:var(--mg-spacing-10)}

body.mg-site :is(.collection-meta,.mg-collection-meta) h2{font-size:var(--mg-font-size-collection-meta);line-height:1.1}

body.mg-site :is(.collection-meta,.mg-collection-meta)>span{font-size:var(--mg-font-size-11);color:var(--mg-color-muted);white-space:nowrap;padding-top:var(--mg-spacing-4)}

body.mg-site .material-section figure img{height:clamp(370px,39vw,620px)}

body.mg-site .material-section figcaption{font-size:var(--mg-font-size-10);color:var(--mg-color-material-caption);margin-top:var(--mg-spacing-12)}

body.mg-site .material-section .eyebrow{color:var(--mg-color-craft-caption);margin-bottom:var(--mg-spacing-28)}

body.mg-site .material-section h2{font-size:var(--mg-font-size-material-section);margin-bottom:var(--mg-spacing-30)}

body.mg-site .material-section p:not(.eyebrow){font-size:var(--mg-font-size-body);color:var(--mg-color-section-eyebrow-light)}

body.mg-site .material-section .line-link{margin-top:var(--mg-spacing-28)}

body.mg-site .contact-detail .eyebrow{font-size:var(--mg-font-size-10);color:var(--mg-color-muted);margin-bottom:var(--mg-spacing-18)}

body.mg-site .contact-detail>a,body.mg-site .contact-detail address{font-size:var(--mg-font-size-contact-detail);line-height:1.5;font-style:normal;overflow-wrap:anywhere}

body.mg-site .contact-detail .line-link{font-size:var(--mg-font-size-14);margin-top:var(--mg-spacing-20)}

body.mg-site .contact-detail#anfahrt{scroll-margin-top:var(--mg-spacing-110)}

body.mg-site .contact-form-section .eyebrow{margin-bottom:var(--mg-spacing-26);color:var(--mg-color-muted)}

body.mg-site .contact-form-section h2{font-size:var(--mg-font-size-contact-form-section)}

body.mg-site .contact-form-section .form-intro{font-size:var(--mg-font-size-body);color:var(--mg-color-muted);margin-top:var(--mg-spacing-28);max-width:370px}

body.mg-site .contact-form label{display:flex;flex-direction:column;font-size:var(--mg-font-size-small);gap:var(--mg-space-1);margin-bottom:var(--mg-spacing-26)}

body.mg-site .contact-form input,body.mg-site .contact-form select,body.mg-site .contact-form textarea{width:100%;min-width:0;font-size:var(--mg-font-size-16);color:var(--mg-color-text);border:0;border-bottom:1px solid var(--mg-color-form-divider);border-radius:0;background:transparent;padding:var(--mg-spacing-10) 0 var(--mg-spacing-14);resize:vertical;outline-offset:var(--mg-spacing-4)}

body.mg-site .contact-form input::placeholder,body.mg-site .contact-form textarea::placeholder{color:var(--mg-color-form-placeholder);font-size:var(--mg-font-size-15)}

body.mg-site .contact-form .form-info{margin-top:0}

body.mg-site .contact-form [role="status"]{font-size:var(--mg-font-size-13);color:var(--mg-color-muted);margin-top:var(--mg-spacing-18)}

@media(max-width:1100px){
body.mg-site .page-intro-row{grid-template-columns:1fr .7fr;gap:6%}
body.mg-site .page-lede{font-size:var(--mg-font-size-body)}
body.mg-site .story-grid{gap:8%}
body.mg-site :is(.collection-grid,.mg-project-list-layout){gap:var(--mg-spacing-52) var(--mg-spacing-28)}
body.mg-site :is(.collection-meta,.mg-collection-meta){display:block}
body.mg-site :is(.collection-meta,.mg-collection-meta)>span{display:block;margin-top:var(--mg-spacing-12)}
body.mg-site .contact-details{grid-template-columns:1fr 1.25fr;gap:var(--mg-spacing-36)}
body.mg-site .contact-detail:last-child{grid-column:1/-1}
body.mg-site .page-invitation{align-items:flex-start;flex-direction:column;gap:var(--mg-grid-gap)}
}

@media(max-width:760px){
body.mg-site .page-intro{padding:var(--mg-spacing-140) var(--mg-page-gutter) var(--mg-spacing-44)}
body.mg-site .page-intro>.eyebrow{font-size:var(--mg-font-size-10);margin-bottom:var(--mg-space-3)}
body.mg-site .page-intro-row{grid-template-columns:1fr;gap:var(--mg-spacing-28)}
body.mg-site .page-intro h1{font-size:var(--mg-font-size-page-heading-mobile)}
body.mg-site .page-lede{font-size:var(--mg-font-size-17);max-width:500px}
body.mg-site .page-cover img{height:400px}
body.mg-site .page-cover figcaption{font-size:var(--mg-font-size-9)}
body.mg-site .story-grid{grid-template-columns:1fr;gap:var(--mg-spacing-28)}
body.mg-site .story-grid h2{font-size:var(--mg-font-size-39)}
body.mg-site .story-grid .eyebrow{font-size:var(--mg-font-size-10);margin-bottom:var(--mg-spacing-22)}
body.mg-site .story-copy{font-size:var(--mg-font-size-16)}
body.mg-site .values-section{padding-top:0}
body.mg-site .value-row{grid-template-columns:24px 1fr;gap:var(--mg-spacing-14) var(--mg-spacing-18);padding:var(--mg-spacing-26) 0}
body.mg-site .value-row>span{padding-top:var(--mg-spacing-4)}
body.mg-site .value-row h3{font-size:var(--mg-font-size-30)}
body.mg-site .value-row p{grid-column:2;font-size:var(--mg-font-size-16)}
body.mg-site .page-invitation .eyebrow{font-size:var(--mg-font-size-10);margin-bottom:var(--mg-space-3)}
body.mg-site .page-invitation h2{font-size:var(--mg-font-size-41)}
body.mg-site .page-invitation{gap:var(--mg-spacing-28)}
body.mg-site .collection-section{padding-top:0}
body.mg-site .collection-intro{display:block;padding:var(--mg-spacing-20) 0 var(--mg-spacing-30)}
body.mg-site .collection-intro>p:last-child{margin-top:var(--mg-spacing-18);font-size:var(--mg-font-size-13)}
body.mg-site :is(.collection-grid,.mg-project-list-layout){grid-template-columns:1fr;gap:var(--mg-spacing-38)}
body.mg-site :is(.collection-card,.mg-collection-card):nth-child(even){padding-top:0}
body.mg-site :is(.collection-card,.mg-collection-card):last-child{grid-column:auto}
body.mg-site :is(.collection-image,.mg-collection-image),body.mg-site :is(.collection-card,.mg-collection-card):last-child :is(.collection-image,.mg-collection-image){aspect-ratio:1.2}
body.mg-site :is(.collection-meta,.mg-collection-meta){display:block;padding-top:var(--mg-spacing-18)}
body.mg-site :is(.collection-meta,.mg-collection-meta) h2{font-size:var(--mg-font-size-30)}
body.mg-site :is(.collection-meta,.mg-collection-meta)>span{font-size:var(--mg-font-size-10);margin-top:var(--mg-spacing-10)}
body.mg-site .material-section{grid-template-columns:1fr;gap:var(--mg-spacing-34)}
body.mg-site .material-section figure img{height:350px}
body.mg-site .material-section h2{font-size:var(--mg-font-size-39)}
body.mg-site .material-section p:not(.eyebrow){font-size:var(--mg-font-size-16)}
body.mg-site .material-section .eyebrow{font-size:var(--mg-font-size-10)}
body.mg-site .contact-details{grid-template-columns:1fr;gap:var(--mg-grid-gap);padding-top:0}
body.mg-site .contact-detail:last-child{grid-column:auto}
body.mg-site .contact-detail>a,body.mg-site .contact-detail address{font-size:var(--mg-font-size-21)}
body.mg-site .contact-detail .line-link{font-size:var(--mg-font-size-14);margin-top:var(--mg-spacing-14)}
body.mg-site .contact-form-section{grid-template-columns:1fr;gap:var(--mg-spacing-36)}
body.mg-site .contact-form-section h2{font-size:var(--mg-font-size-43)}
body.mg-site .contact-form-section .eyebrow{font-size:var(--mg-font-size-10)}
body.mg-site .contact-form-section .form-intro{font-size:var(--mg-font-size-16);margin-top:var(--mg-spacing-22)}
body.mg-site .contact-form label{margin-bottom:var(--mg-space-3)}
}

body.mg-site .header.is-floating.has-scroll{padding-block:var(--mg-spacing-6)}

body.mg-site .navigation .nav-layout{flex:1 0 auto}


/* The longer reading passage leads into the reference sequence. */
body.mg-site .intro .intro-grid{display:block}

body.mg-site .intro .statement{max-width:1200px;font-size:var(--mg-font-size-service-statement);line-height:1.12;letter-spacing:-.04em}

body.mg-site .intro .intro-copy{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--mg-spacing-42);align-items:end;max-width:840px;margin:var(--mg-spacing-46) 0 0 auto;padding:0}

body.mg-site .intro .intro-copy p:first-child{font-size:var(--mg-font-size-body);line-height:1.6;color:var(--mg-color-muted)}

body.mg-site .intro .intro-copy .line-link{margin-top:0;white-space:nowrap;font-size:var(--mg-font-size-15)}

body.mg-site .services-teaser .world-list{padding-top:0}

body.mg-site .service-step summary h3{font-size:var(--mg-font-size-service-step)}

body.mg-site .service-step .step-body{padding-bottom:var(--mg-spacing-28)}

body.mg-site .service-step .step-body p{font-size:var(--mg-font-size-17)}

body.mg-site .service-step .step-body .line-link{font-size:var(--mg-font-size-14);margin-top:var(--mg-space-2);gap:var(--mg-spacing-28)}


/* A quiet, round cue leads from the hero into the page. */
body.mg-site .hero{--mg-hero-control-size:28px}

body.mg-site .hero .playback-symbol{width:var(--mg-hero-control-size);height:var(--mg-hero-control-size)}

body.mg-site .hero-scroll{transition:background .3s,border-color .3s,color .3s;}

body.mg-site .hero-scroll::before{content:"";position:absolute;inset:-8px}

body.mg-site .hero-scroll .svg-icon{width:16px;height:16px;animation:arrow-down 3.8s var(--mg-easing) infinite}

body.mg-site .hero-scroll:is(:hover,:focus-visible){background:var(--mg-color-accent);border-color:var(--mg-color-accent);color:var(--mg-color-text)}

@keyframes arrow-down{0%,45%,100%{transform:translateY(0)}65%{transform:translateY(3px)}80%{transform:translateY(-1px)}}


/* The identity stays in one vertical stack on every viewport. */
body.mg-site .footer{--mg-footer-logo-width:260px;--mg-footer-mark-size:calc(var(--mg-footer-logo-width) * .14361386)}

body.mg-site .footer .brand{width:var(--mg-footer-logo-width)}

body.mg-site .footer .back-to-top{position:relative;inset:auto;width:var(--mg-footer-mark-size);height:var(--mg-footer-mark-size);border-radius:calc(var(--mg-footer-mark-size) * .2)}

body.mg-site .footer .back-to-top::before{content:"";position:absolute;inset:-6px}

body.mg-site .footer .back-to-top .svg-icon{width:calc(var(--mg-footer-mark-size) * .55);height:calc(var(--mg-footer-mark-size) * .55)}

body.mg-site .footer-identity .footer-company{font-size:var(--mg-font-size-14);line-height:1.7;margin-top:var(--mg-spacing-22)}

body.mg-site .footer-identity .footer-address{font-size:var(--mg-font-size-14);line-height:1.7;margin-top:var(--mg-spacing-14)}

body.mg-site .footer-identity>.line-link{font-size:var(--mg-font-size-14);margin-top:var(--mg-spacing-30);gap:var(--mg-spacing-26)}

body.mg-site .footer-nav .eyebrow{font-size:var(--mg-font-size-10);color:var(--mg-color-muted);margin-bottom:var(--mg-spacing-18)}

body.mg-site .footer-nav>a{font-size:var(--mg-font-size-17);line-height:1.4;min-height:28px;transition:color .25s}

body.mg-site .footer-nav>a:hover{color:var(--mg-color-accent)}


/* A var(--mg-color-white) editorial section with a shared image and two distinct ways in. */
body.mg-site .career.career-feature{display:block;margin:0;border:0;padding:var(--mg-spacing-104) var(--mg-page-gutter) var(--mg-spacing-112);background:var(--mg-color-white);color:var(--mg-color-text)}

body.mg-site .career-heading .eyebrow{font-size:var(--mg-font-size-10);line-height:1.6;color:var(--mg-color-muted);margin-bottom:var(--mg-spacing-26)}

body.mg-site .career-feature h2{font-size:var(--mg-font-size-career-feature);line-height:1.02;letter-spacing:-.045em;margin:0}

body.mg-site .career-feature h2 span{color:var(--mg-color-career-emphasis)}

body.mg-site .career.career-feature .career-intro{font-size:var(--mg-font-size-19);line-height:1.65;color:var(--mg-color-muted);max-width:390px;padding-bottom:var(--mg-spacing-6)}

body.mg-site .career-visual img{width:100%;height:auto;aspect-ratio:2.35;object-fit:cover;object-position:50% 0%}

body.mg-site .career-visual figcaption{display:flex;justify-content:space-between;gap:var(--mg-space-3);font-size:var(--mg-font-size-11);line-height:1.5;margin-top:var(--mg-spacing-15);color:var(--mg-color-muted)}

body.mg-site .career-visual figcaption span{font-size:var(--mg-font-size-9);text-align:right}

body.mg-site .career.career-feature>.career-routes{display:flex;flex-wrap:wrap;align-items:center;gap:var(--mg-spacing-18);max-width:none;margin-top:var(--mg-spacing-38)}

body.mg-site .career-routes .career-button{margin-top:0}

body.mg-site .career.career-feature>.career-closing{max-width:650px;font-size:var(--mg-font-size-17);line-height:1.65;color:var(--mg-color-muted);margin:var(--mg-space-3) 0 0}

body.mg-site .career-button{transition:background .25s,color .25s,border-color .25s;}

body.mg-site .career-button .svg-icon{width:24px;height:24px}

body.mg-site .career-button-jobs:is(:hover,:focus-visible){background:var(--mg-color-text);border-color:var(--mg-color-accent);color:var(--mg-color-accent)}

body.mg-site .career-button-learning>span{width:34px;height:34px;display:grid;place-items:center;border-radius:var(--mg-radius-circle);background:var(--mg-color-accent);color:var(--mg-color-text)}

body.mg-site .career-button-learning:hover{background:var(--mg-color-career-button-learning-color);border-color:var(--mg-color-accent)}

body.mg-site .craft-portrait img{width:100%;height:auto;aspect-ratio:1.05;object-fit:cover;object-position:50% 30%}

body.mg-site .craft-portrait figcaption{display:block;font-size:var(--mg-font-size-13);line-height:1.5;margin-top:var(--mg-space-2)}

body.mg-site .craft-portrait figcaption span{display:block;margin-top:var(--mg-spacing-2);font-size:var(--mg-font-size-11);font-style:italic;color:var(--mg-color-workshop-portrait-caption)}

body.mg-site .craft-description .line-link{margin-top:var(--mg-spacing-28);font-size:var(--mg-font-size-15)}

body.mg-site #lehre{scroll-margin-top:var(--mg-spacing-100)}

body.mg-site .service-jumps a{display:flex;gap:var(--mg-spacing-14);border-top:1px solid var(--mg-color-border);padding-top:var(--mg-space-2);font-size:var(--mg-font-size-14);line-height:1.4}

body.mg-site .service-jumps a>span{font-size:var(--mg-font-size-10);color:var(--mg-color-muted);padding-top:var(--mg-spacing-3)}

body.mg-site .service-jumps a:is(:hover,:focus-visible){color:var(--mg-color-accent)}

body.mg-site .service-copy>.eyebrow{font-size:var(--mg-font-size-10);color:var(--mg-color-muted);margin-bottom:var(--mg-spacing-26)}

body.mg-site .service-copy h2{font-size:var(--mg-font-size-service-copy);margin-bottom:var(--mg-spacing-30)}

body.mg-site .service-copy>p:not(.eyebrow){font-size:var(--mg-font-size-17);line-height:1.7;color:var(--mg-color-muted)}

body.mg-site .service-copy>.line-link{margin-top:var(--mg-space-3)}

body.mg-site .service-points li{font-size:var(--mg-font-size-13);padding:var(--mg-spacing-12) 0;border-top:1px solid var(--mg-color-border)}

body.mg-site .service-points li:last-child{border-bottom:1px solid var(--mg-color-border)}

body.mg-site .service-visual img{height:clamp(380px,33vw,560px);object-fit:cover}

body.mg-site .service-visual figcaption{font-size:var(--mg-font-size-9);color:var(--mg-color-muted);padding-top:var(--mg-spacing-12)}

body.mg-site .service-detail.is-reversed .service-visual{order:-1}

body.mg-site .career-next .eyebrow{font-size:var(--mg-font-size-10);color:var(--mg-color-muted);margin-bottom:var(--mg-spacing-28)}

body.mg-site .career-next h2{font-size:var(--mg-font-size-career-next)}

body.mg-site .career-next p:not(.eyebrow){font-size:var(--mg-font-size-body);color:var(--mg-color-muted);margin-top:var(--mg-spacing-26);max-width:440px}

body.mg-site .career-next .line-link{margin-top:var(--mg-space-3)}

body.mg-site .career-next figure img{aspect-ratio:1;height:auto;object-fit:cover}

body.mg-site .career-next figcaption{font-size:var(--mg-font-size-11);color:var(--mg-color-muted);margin-top:var(--mg-spacing-14)}

body.mg-site .apprentice-contact{background:var(--mg-color-contact-background)}

body.mg-site .apprentice-contact>div{max-width:950px}

body.mg-site .apprentice-contact .eyebrow{font-size:var(--mg-font-size-10);color:var(--mg-color-muted);margin-bottom:var(--mg-spacing-28)}

body.mg-site .apprentice-contact h2{font-size:var(--mg-font-size-apprentice-contact)}

body.mg-site .apprentice-contact p:not(.eyebrow){font-size:var(--mg-font-size-19);color:var(--mg-color-muted);max-width:570px;margin-top:var(--mg-space-4)}

body.mg-site .apprentice-contact .line-link{margin-top:var(--mg-spacing-30)}

body.mg-site .apprentice-phone{display:block;font-size:var(--mg-font-size-14);line-height:1.8;margin-top:var(--mg-space-4);color:var(--mg-color-muted)}

body.mg-site .apprentice-phone strong{font-size:var(--mg-font-size-22);color:var(--mg-color-text);font-weight:400}

@media(max-width:1100px){
body.mg-site .footer{--mg-footer-logo-width:235px}
body.mg-site .footer-top{grid-template-columns:1.3fr .8fr .7fr;gap:6%}
body.mg-site .service-detail{gap:7%}
body.mg-site .service-copy h2{font-size:var(--mg-font-size-39)}
}

@media(max-width:760px){
body.mg-site .header{padding-block:var(--mg-spacing-10)}
body.mg-site .header:not(.is-floating){top:8px}
body.mg-site .header.is-floating.has-scroll{padding-block:var(--mg-space-1)}
body.mg-site .hero .hero-bottom{display:none}
body.mg-site .hero .hero-scroll{left:16px;right:auto;bottom:16px}
body.mg-site .hero .hero-playback{right:16px;bottom:16px;min-height:28px;padding:0}
body.mg-site .hero .hero-playback::before{content:"";position:absolute;inset:-8px}
body.mg-site .intro .statement{font-size:var(--mg-font-size-service-statement-mobile);line-height:1.16}
body.mg-site .intro .intro-copy{display:block;margin-top:var(--mg-spacing-34);max-width:100%}
body.mg-site .intro .intro-copy p:first-child{font-size:var(--mg-font-size-16)}
body.mg-site .intro .intro-copy .line-link{margin-top:var(--mg-spacing-20);font-size:var(--mg-font-size-14)}
body.mg-site .service-step summary h3{font-size:var(--mg-font-size-27)}
body.mg-site .service-step .step-body p{font-size:var(--mg-font-size-16)}
body.mg-site .service-step .step-body .line-link{font-size:var(--mg-font-size-13)}
body.mg-site .craft-heading h2{font-size:var(--mg-font-size-workshop-heading-small-screen)}
body.mg-site .footer{--mg-footer-logo-width:260px}
body.mg-site .footer-bottom{grid-template-columns:minmax(0,1fr) var(--mg-footer-mark-size)}
body.mg-site .footer-top{display:grid;grid-template-columns:1fr 1fr;gap:var(--mg-grid-gap) var(--mg-space-3)}
body.mg-site .footer-identity{grid-column:1/-1;border-bottom:1px solid var(--mg-color-border);padding-bottom:var(--mg-space-4)}
body.mg-site .footer-identity .footer-company,body.mg-site .footer-identity .footer-address{font-size:var(--mg-font-size-15);line-height:1.7}
body.mg-site .footer-nav{padding-top:0;gap:var(--mg-spacing-11)}
body.mg-site .footer-nav .eyebrow{font-size:var(--mg-font-size-9);margin-bottom:var(--mg-spacing-10)}
body.mg-site .footer-nav>a{font-size:var(--mg-font-size-15)}
body.mg-site .service-jumps{grid-template-columns:1fr 1fr;gap:var(--mg-space-3) var(--mg-spacing-20);padding-bottom:var(--mg-spacing-40)}
body.mg-site .service-jumps a{font-size:var(--mg-font-size-13);gap:var(--mg-spacing-10)}
body.mg-site .service-detail{grid-template-columns:1fr;gap:var(--mg-grid-gap);padding:var(--mg-spacing-52) 0;scroll-margin-top:var(--mg-spacing-82)}
body.mg-site .service-copy h2{font-size:var(--mg-font-size-38)}
body.mg-site .service-copy>p:not(.eyebrow){font-size:var(--mg-font-size-16)}
body.mg-site .service-copy>.line-link{font-size:var(--mg-font-size-14)}
body.mg-site .service-visual img{height:330px}
body.mg-site .service-detail.is-reversed .service-visual{order:0}
body.mg-site .service-points li{font-size:var(--mg-font-size-small)}
body.mg-site .career-next{grid-template-columns:1fr;gap:var(--mg-spacing-36)}
body.mg-site .career-next h2{font-size:var(--mg-font-size-40)}
body.mg-site .career-next p:not(.eyebrow){font-size:var(--mg-font-size-16)}
body.mg-site .career-next figure{max-width:380px}
body.mg-site .apprentice-contact h2{font-size:var(--mg-font-size-43)}
body.mg-site .apprentice-contact p:not(.eyebrow){font-size:var(--mg-font-size-17);margin-top:var(--mg-spacing-26)}
}


/* One shared entrance rhythm on every page. */
html.js body.mg-site .reveal,html.js body.mg-site .reveal:nth-child(n){transition:opacity var(--mg-reveal-duration) var(--mg-easing),transform var(--mg-reveal-duration) var(--mg-easing);transition-delay:var(--reveal-delay,0s)}

html.js body.mg-site .reveal:not(.is-visible){transform:translateY(24px)}

body.mg-site .navigation.is-closing .nav-word{transition-delay:calc((4 - var(--i)) * .035s)}

body.mg-site .back-to-top .svg-icon{animation:arrow-lift 3.6s var(--mg-easing) infinite}

body.mg-site .back-to-top:is(:hover,:focus-visible) .svg-icon{animation-duration:1.6s}

@keyframes arrow-lift{0%,45%,100%{transform:translateY(0)}65%{transform:translateY(-5px)}80%{transform:translateY(1px)}}

@media(max-width:1100px){
body.mg-site .career-heading{gap:7%}
body.mg-site .career-feature h2{font-size:var(--mg-font-size-career-heading-tablet)}
body.mg-site .craft-bottom{gap:9%}
}

@media(max-width:760px){
body.mg-site .career.career-feature{padding:var(--mg-spacing-72) var(--mg-page-gutter) var(--mg-spacing-76)}
body.mg-site .career-heading{grid-template-columns:1fr;gap:var(--mg-spacing-28);margin-bottom:var(--mg-spacing-34)}
body.mg-site .career-heading .eyebrow{font-size:var(--mg-font-size-9);margin-bottom:var(--mg-spacing-22)}
body.mg-site .career-feature h2{font-size:var(--mg-font-size-career-heading-mobile);line-height:1.04}
body.mg-site .career.career-feature .career-intro{font-size:var(--mg-font-size-16);line-height:1.65;padding:0;max-width:440px}
body.mg-site .career-visual img{height:auto;aspect-ratio:1.24;object-position:50% 52%}
body.mg-site .career-visual figcaption{gap:var(--mg-spacing-20);font-size:var(--mg-font-size-10);margin-top:var(--mg-spacing-13)}
body.mg-site .career-visual figcaption>span{font-size:var(--mg-font-size-8);max-width:100px}
body.mg-site .career.career-feature>.career-routes{display:grid;grid-template-columns:1fr;gap:var(--mg-spacing-14);margin-top:var(--mg-spacing-30)}
body.mg-site .career.career-feature>.career-closing{font-size:var(--mg-font-size-15);margin-top:var(--mg-spacing-22)}
body.mg-site .career-button{font-size:var(--mg-font-size-13);min-height:56px;margin-top:var(--mg-spacing-22);gap:var(--mg-spacing-36)}
body.mg-site .career-button-learning{gap:var(--mg-spacing-20)}
body.mg-site .craft-bottom{grid-template-columns:1fr;gap:var(--mg-spacing-42);padding-top:var(--mg-space-5)}
body.mg-site .craft-portrait{max-width:420px}
body.mg-site .craft-portrait figcaption{font-size:var(--mg-font-size-small)}
body.mg-site .craft-portrait figcaption span{font-size:var(--mg-font-size-10)}
body.mg-site .craft-description .line-link{font-size:var(--mg-font-size-14)}
body.mg-site .craft-picture figcaption{display:block}
body.mg-site #lehre{scroll-margin-top:var(--mg-spacing-82)}
}

@media(prefers-reduced-motion:reduce){
html.js body.mg-site .reveal,html.js body.mg-site .reveal:not(.is-visible){opacity:1;transform:none;transition:none}
body.mg-site .back-to-top .svg-icon{animation:none}
body.mg-site .hero-scroll .svg-icon{animation:none}
}


@media(prefers-reduced-motion:no-preference){
body.mg-site .hero-media{animation-duration:2.2s}
body.mg-site .hero h1>span>span{animation-duration:2s}
body.mg-site .hero-enter{animation-duration:1.9s}
body.mg-site .hero-slide{transition-duration:2.6s}
body.mg-site .reading-word{transition-duration:.4s}
body.mg-site .navigation{transition:clip-path 1s var(--mg-easing),opacity .4s}
body.mg-site .nav-appear{transition:opacity .8s .5s,transform 1s var(--mg-easing) .45s}
body.mg-site .nav-word{transition-duration:1.15s,.25s;transition-delay:calc(.16s + var(--i) * .1s),0s}
body.mg-site .nav-number{transition:opacity .55s .25s}
body.mg-site .step-body{animation-duration:.65s}
body.mg-site .detail-dialog[open],body.mg-site .enquiry-dialog[open]{animation-duration:.65s}
}


/* The same gold accent follows text links throughout the site. */
body.mg-site a:is(:hover,:focus-visible){color:var(--mg-color-accent)}

body.mg-site a:is(:hover,:focus-visible) :is(h2,h3,.eyebrow,.project-name,:is(.collection-meta,.mg-collection-meta)>span){color:var(--mg-color-accent)}

body.mg-site .reference-link:is(:hover,:focus-visible) .reference-meta .eyebrow{color:var(--mg-color-muted)}

body.mg-site .contact-bottom a:is(:hover,:focus-visible){border-bottom-color:var(--mg-color-accent)}

body.mg-site .back-to-top:is(:hover,:focus-visible){background:var(--mg-color-accent);border-color:var(--mg-color-accent);color:var(--mg-color-text)}

body.mg-site :is(.collection-grid,.mg-project-list-layout) :is(.collection-card,.mg-collection-card){min-width:0;max-width:none;padding-top:0;grid-column:auto}

body.mg-site :is(.collection-grid,.mg-project-list-layout) :is(.collection-card,.mg-collection-card):nth-child(5n+1){grid-column:1 / span 7}

body.mg-site :is(.collection-grid,.mg-project-list-layout) :is(.collection-card,.mg-collection-card):nth-child(5n+2){grid-column:9 / span 4;padding-top:var(--mg-spacing-100)}

body.mg-site :is(.collection-grid,.mg-project-list-layout) :is(.collection-card,.mg-collection-card):nth-child(5n+3){grid-column:2 / span 10}

body.mg-site :is(.collection-grid,.mg-project-list-layout) :is(.collection-card,.mg-collection-card):nth-child(5n+4){grid-column:1 / span 5}

body.mg-site :is(.collection-grid,.mg-project-list-layout) :is(.collection-card,.mg-collection-card):nth-child(5n+5){grid-column:7 / span 6;padding-top:var(--mg-spacing-90)}

body.mg-site :is(.collection-grid,.mg-project-list-layout) :is(.collection-card,.mg-collection-card) :is(.collection-image,.mg-collection-image){aspect-ratio:1.35}

body.mg-site :is(.collection-grid,.mg-project-list-layout) :is(.collection-card,.mg-collection-card):nth-child(5n+2) :is(.collection-image,.mg-collection-image){aspect-ratio:4/5}

body.mg-site :is(.collection-grid,.mg-project-list-layout) :is(.collection-card,.mg-collection-card):nth-child(5n+3) :is(.collection-image,.mg-collection-image){aspect-ratio:2.05}

body.mg-site :is(.collection-grid,.mg-project-list-layout) :is(.collection-card,.mg-collection-card):nth-child(5n+4) :is(.collection-image,.mg-collection-image){aspect-ratio:1.1}

body.mg-site :is(.collection-grid,.mg-project-list-layout) :is(.collection-card,.mg-collection-card):nth-child(5n+5) :is(.collection-image,.mg-collection-image){aspect-ratio:1.45}

body.mg-site :is(.collection-meta,.mg-collection-meta) h2{font-size:var(--mg-font-size-reference-card-title);line-height:1.13;max-width:720px}

body.mg-site :is(.collection-meta,.mg-collection-meta)>span{display:block;font-size:var(--mg-font-size-11);margin-top:var(--mg-spacing-12);padding:0}

body.mg-site :is(.collection-card,.mg-collection-card) a:is(:hover,:focus-visible) .eyebrow{color:var(--mg-color-muted)}

body.mg-site .collection-pagination [hidden]{display:none}

body.mg-site .collection-load{display:inline-flex;align-items:center;justify-content:center;gap:var(--mg-spacing-14);min-height:52px;padding:var(--mg-spacing-14) var(--mg-spacing-25);border:1px solid var(--mg-color-collection-load-border);border-radius:var(--mg-spacing-40);font-size:var(--mg-font-size-14);line-height:1.4;background:transparent;color:var(--mg-color-text);transition:color .25s,border-color .25s}

body.mg-site .collection-load:hover{border-color:var(--mg-color-accent)}

body.mg-site .collection-load[aria-disabled="true"]{cursor:progress;opacity:.7}

body.mg-site .collection-pagination[aria-busy="true"] .collection-load::after{content:"";width:14px;height:14px;border:1px solid var(--mg-color-collection-load-border);border-top-color:var(--mg-color-text);border-radius:var(--mg-radius-circle);animation:collection-spin 1s linear infinite}

body.mg-site .collection-previous{font-size:var(--mg-font-size-13);line-height:1.5}

body.mg-site .collection-empty{grid-column:1/-1;font-size:var(--mg-font-size-body);color:var(--mg-color-muted)}

@keyframes collection-spin{to{transform:rotate(360deg)}}

@media(max-width:1050px){
body.mg-site :is(.collection-grid,.mg-project-list-layout){grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--mg-spacing-54) var(--mg-spacing-26)}
body.mg-site :is(.collection-grid,.mg-project-list-layout) :is(.collection-card,.mg-collection-card):nth-child(n){grid-column:auto;padding-top:0}
body.mg-site :is(.collection-grid,.mg-project-list-layout) :is(.collection-card,.mg-collection-card):nth-child(5n+3){grid-column:1/-1}
body.mg-site :is(.collection-grid,.mg-project-list-layout) :is(.collection-card,.mg-collection-card):nth-child(n) :is(.collection-image,.mg-collection-image){aspect-ratio:1.2}
body.mg-site :is(.collection-grid,.mg-project-list-layout) :is(.collection-card,.mg-collection-card):nth-child(5n+3) :is(.collection-image,.mg-collection-image){aspect-ratio:1.8}
}

@media(max-width:760px){
body.mg-site .collection-intro>.eyebrow{white-space:normal;line-height:1.7}
body.mg-site :is(.collection-grid,.mg-project-list-layout){grid-template-columns:1fr;gap:var(--mg-spacing-42)}
body.mg-site :is(.collection-grid,.mg-project-list-layout) :is(.collection-card,.mg-collection-card):nth-child(n){grid-column:1/-1}
body.mg-site :is(.collection-grid,.mg-project-list-layout) :is(.collection-card,.mg-collection-card):nth-child(n) :is(.collection-image,.mg-collection-image){aspect-ratio:1.25}
body.mg-site :is(.collection-meta,.mg-collection-meta){padding-top:var(--mg-spacing-18)}
body.mg-site :is(.collection-meta,.mg-collection-meta) h2{font-size:var(--mg-font-size-30)}
body.mg-site :is(.collection-meta,.mg-collection-meta)>span{font-size:var(--mg-font-size-10);margin-top:var(--mg-spacing-10)}
body.mg-site .collection-pagination{margin-top:var(--mg-spacing-44);padding-top:var(--mg-space-3);gap:var(--mg-space-2)}
body.mg-site .collection-status{font-size:var(--mg-font-size-small)}
body.mg-site .collection-load{font-size:var(--mg-font-size-13);min-height:50px}
}

@media(prefers-reduced-motion:reduce){
body.mg-site .collection-pagination[aria-busy="true"] .collection-load::after{animation:none}}

body.mg-site :is(.gallery-tile,.mg-image-lightbox) img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .7s}

body.mg-site :is(.gallery-tile,.mg-image-lightbox):hover img{transform:scale(1.025)}

body.mg-site :is(.gallery-portrait,.mg-gallery-portrait):nth-child(3){margin-top:clamp(var(--mg-spacing-40),8vw,var(--mg-spacing-130))}

body.mg-site .project-summary .gallery-concept-note{font-size:var(--mg-font-size-small);color:var(--mg-color-muted);line-height:1.7;margin-top:var(--mg-space-3)}

@media(max-width:700px){
body.mg-site :is(.project-gallery,.mg-project-gallery){grid-template-columns:minmax(0,1fr);gap:var(--mg-spacing-18);padding:0 var(--mg-spacing-20)}
body.mg-site :is(.gallery-tile,.mg-image-lightbox){grid-column:1;margin-top:0}
body.mg-site :is(.gallery-wide,.mg-gallery-wide){aspect-ratio:1.35}
body.mg-site :is(.gallery-portrait,.mg-gallery-portrait){aspect-ratio:.85}
body.mg-site :is(.gallery-portrait,.mg-gallery-portrait):nth-child(3){margin-top:0}
body.mg-site :is(.gallery-landscape,.mg-gallery-landscape){aspect-ratio:1.4}}

@media(prefers-reduced-motion:reduce){
body.mg-site :is(.gallery-tile,.mg-image-lightbox) img{transition:none}}


/* Keep image clipping and modal corners consistent with the site's image radius. */
body.mg-site :is(.gallery-tile,.mg-image-lightbox){isolation:isolate;}

body.mg-site :is(.gallery-tile,.mg-image-lightbox) img{border-radius:0}

body.mg-site .enquiry-dialog,body.mg-site .detail-dialog{isolation:isolate;}

@media(max-width:700px){}

body.mg-site .team-heading h2{font-size:var(--mg-font-size-team-heading);line-height:1.08}

body.mg-site .team-heading .eyebrow{margin-bottom:var(--mg-space-3)}

body.mg-site .team-heading>p{max-width:390px;font-size:var(--mg-font-size-17);line-height:1.75;color:var(--mg-color-muted)}

body.mg-site .team-member:nth-child(even){padding-top:var(--mg-space-6)}

body.mg-site .team-photo{isolation:isolate;}

body.mg-site .team-photo img{width:100%;height:100%;object-fit:cover;border-radius:0}

body.mg-site .team-member figcaption{display:flex;gap:var(--mg-space-2);align-items:baseline;padding-top:var(--mg-spacing-22)}

body.mg-site .team-member h3{font-size:var(--mg-font-size-team-member);line-height:1.25}

body.mg-site .team-member figcaption p{font-size:var(--mg-font-size-13);color:var(--mg-color-muted);margin-top:var(--mg-spacing-7)}

@media(max-width:1000px){
body.mg-site .team-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--mg-spacing-36) var(--mg-space-3)}
body.mg-site .team-member:nth-child(even){padding-top:var(--mg-spacing-40)}}

@media(max-width:600px){
body.mg-site .team-heading{grid-template-columns:1fr;gap:var(--mg-space-3);margin-bottom:var(--mg-spacing-34)}
body.mg-site .team-heading>p{font-size:var(--mg-font-size-15)}
body.mg-site .team-grid{gap:var(--mg-spacing-30) var(--mg-space-2)}
body.mg-site .team-member:nth-child(even){padding-top:var(--mg-spacing-30)}
body.mg-site .team-member figcaption{padding-top:var(--mg-spacing-14);gap:var(--mg-space-1)}
body.mg-site .team-number{display:none}
body.mg-site .team-member h3{font-size:var(--mg-font-size-body)}
body.mg-site .team-member figcaption p{font-size:var(--mg-font-size-small)}}

@media(max-width:360px){
body.mg-site .team-grid{grid-template-columns:1fr}
body.mg-site .team-member:nth-child(even){padding-top:0}}


/* Native Elementor document shells do not add layout to the source sections. */
body.mg-site .elementor{max-width:none;}

body.mg-site .elementor-location-header,body.mg-site .elementor-location-footer{display:contents;}

body.mg-site .e-accordion-item-title-base{display:contents;}

body.mg-site .mg-accordion-title{display:contents;}

body.mg-site .e-form-base{display:block;gap:0;}

body.mg-site form label,body.mg-site form input,body.mg-site form textarea{line-height:var(--mg-line-height-body);}

body.mg-site .mg-native-status{display:none;}

body.mg-site .elementor-element{--display:block;}

body.mg-site [data-e-type]{box-sizing:border-box;}

body.mg-site dialog{border:0;}

body.mg-site figcaption{font:inherit;}

body.mg-site .line-link>.mg-native-text,body.mg-site .text-button>.mg-native-text,body.mg-site .nav-bottom .text-button>.mg-native-text,body.mg-site .project-back>.mg-native-text,body.mg-site .reference-view>.mg-native-text,body.mg-site .service-jumps a>.mg-native-text,body.mg-site .contact-bottom a>.mg-native-text{font:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0;transform:none;}

body.mg-site .mg-header-shell{display:contents;}

body.mg-site .submit-button::after{content:"";display:inline-block;width:23px;height:23px;background:currentColor;mask:url("https://staging.moebelwerkstatt-gasser.at/wp-content/uploads/2026/10/icon-5c9d8c7077.svg") center/contain no-repeat;}

body.mg-site .mg-editorial-slot,body.mg-site .elementor-widget-theme-post-content,body.mg-site .elementor-widget-container{display:contents;}



/* Native touch scrolling: no vertical pinning or JS-driven translation. */
html.js body.mg-site #referenzen.is-touch-scroll {height:auto;--mg-touch-card-width:min(76vw,1120px)}
html.js body.mg-site #referenzen.is-touch-scroll .reference-sticky {position:static;height:auto;display:block;overflow:visible}
html.js body.mg-site #referenzen.is-touch-scroll .reference-window {display:block;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;scroll-padding-inline:var(--mg-page-gutter);overscroll-behavior-x:contain;touch-action:pan-x pan-y;scrollbar-width:none;-webkit-overflow-scrolling:touch}
html.js body.mg-site #referenzen.is-touch-scroll .reference-window::-webkit-scrollbar {display:none}
html.js body.mg-site #referenzen.is-touch-scroll .e-collection-loop-base {display:block;padding:0;min-width:0}
html.js body.mg-site #referenzen.is-touch-scroll .reference-track {display:flex;flex-wrap:nowrap;width:max-content;max-width:none;height:auto;max-height:none;gap:var(--mg-space-3);padding:0 var(--mg-page-gutter);transform:none;will-change:auto}
html.js body.mg-site #referenzen.is-touch-scroll .reference-card {flex:0 0 var(--mg-touch-card-width);width:var(--mg-touch-card-width);height:auto;scroll-snap-align:start}
html.js body.mg-site #referenzen.is-touch-scroll .reference-image {flex:none;aspect-ratio:1.5}
html.js body.mg-site #referenzen.is-touch-scroll .reference-footer {display:flex}
@media(max-width:760px){html.js body.mg-site #referenzen.is-touch-scroll {--mg-touch-card-width:82vw}}

/* Shared editorial details. Foundation sizes and colours remain Elementor tokens. */
body.mg-site.mg-site .mg-eyebrow::before{content:"";position:absolute;inset-inline-start:0;top:.75em;transform:translateY(-50%);width:var(--mg-space-4);height:var(--mg-spacing-2);background:var(--mg-color-accent)}
body.mg-site.mg-site .mg-eyebrow>.gold-line{display:none}

/* Atomic accordion titles wrap their number, heading and decorative icon. */
body.mg-site.mg-site .process-step summary{align-items:baseline}
body.mg-site.mg-site .process-step summary .mg-accordion-title>span{font-size:var(--mg-font-size-11);align-self:baseline;padding-top:0;color:var(--mg-color-muted);flex-shrink:0}
body.mg-site.mg-site .process-step summary .mg-accordion-title>i{display:block;position:relative;width:var(--mg-spacing-18);height:var(--mg-spacing-18);min-width:var(--mg-spacing-18);flex-shrink:0;align-self:center;margin-inline-start:auto}
body.mg-site.mg-site .process-step summary .mg-accordion-title>i::before,
body.mg-site.mg-site .process-step summary .mg-accordion-title>i::after{content:"";position:absolute;left:50%;top:50%;width:var(--mg-spacing-14);height:1px;background:currentColor;transform:translate(-50%,-50%);transition:transform .3s var(--mg-easing)}
body.mg-site.mg-site .process-step:not([open]) summary .mg-accordion-title>i::after,
body.mg-site.mg-site .process-step.is-closing summary .mg-accordion-title>i::after{transform:translate(-50%,-50%) rotate(90deg)}

/* White copy/captions within the dark workshop and over homepage images. */
body.mg-site.mg-site.home .craft :is(h2,h3,p,figcaption,span),
body.mg-site.mg-site.home .hero-bottom p{color:var(--mg-color-white)}

/* Hello's img reset must not stretch Elementor's native lightbox image. */
body.mg-site .elementor-lightbox img.elementor-lightbox-image{width:auto;height:auto;object-fit:contain}
@media(prefers-reduced-motion:reduce){
body.mg-site.mg-site .process-step summary .mg-accordion-title>i::before,
body.mg-site.mg-site .process-step summary .mg-accordion-title>i::after{transition:none}}
/* Native lightbox sits outside Elementor's page wrapper; retain its icon size. */
body.mg-site .elementor-lightbox .e-font-icon-svg{width:1em;height:1em;fill:currentColor;flex-shrink:0}
/* Hero and fullscreen navigation intentionally keep their plain label. */
body.mg-site.mg-site :is(.hero,.navigation) .mg-eyebrow{padding-inline-start:0}
body.mg-site.mg-site :is(.hero,.navigation) .mg-eyebrow::before{display:none}

/* Plain footer category labels; no decorative line or indent. */
body.mg-site.mg-site .footer-nav .mg-eyebrow{padding-inline-start:0}
body.mg-site.mg-site .footer-nav .mg-eyebrow::before{display:none}
/* Keep native gallery arrows visible and usable on touch screens too. */
body.mg-site .elementor-lightbox .elementor-swiper-button{position:absolute!important;display:flex!important;opacity:1;visibility:visible;width:48px!important;height:48px!important;min-height:48px;top:50%!important;bottom:auto!important;transform:translateY(-50%);margin:0;align-items:center;justify-content:center;padding:0;color:var(--mg-color-white);background:var(--mg-color-lightbox-control-background);border:1px solid var(--mg-color-image-control-border);border-radius:50%;z-index:10}
body.mg-site .elementor-lightbox .elementor-swiper-button-prev{left:var(--mg-space-2)}
body.mg-site .elementor-lightbox .elementor-swiper-button-next{right:var(--mg-space-2)}
body.mg-site .elementor-lightbox .elementor-slideshow__footer:empty{display:none}
@media(max-width:760px){body.mg-site.mg-site .navigation .nav-bottom{display:none}body.mg-site .elementor-lightbox .elementor-swiper-button-prev{left:8px}body.mg-site .elementor-lightbox .elementor-swiper-button-next{right:8px}}

/* Let Elementor's native form controller and status states own submission. */
body.mg-site.mg-site form[data-enquiry-form]{display:block;padding:0}
body.mg-site.mg-site form[data-enquiry-form] input{height:auto;min-height:44px}
body.mg-site.mg-site form[data-enquiry-form] .mg-native-status{display:none}
body.mg-site.mg-site form[data-enquiry-form].form-state-success .message-success,
body.mg-site.mg-site form[data-enquiry-form].form-state-error .message-error{display:block;margin-top:var(--mg-space-3);padding:var(--mg-space-2);font-size:var(--mg-font-size-small);line-height:1.6;background:var(--mg-color-surface);color:var(--mg-color-text);border-left:2px solid var(--mg-color-accent);text-align:left}
body.mg-site .mg-legal-main a{text-decoration:underline;text-underline-offset:.2em;overflow-wrap:anywhere}
body.mg-site .mg-legal-main code{font-size:.9em;overflow-wrap:anywhere}
/* Local privacy notice; necessary functions only, no fictitious consent categories. */
body.mg-site .mg-privacy-notice{position:fixed;z-index:100001;inset:auto var(--mg-space-3) var(--mg-space-3);display:flex;align-items:center;gap:var(--mg-space-3);max-width:1040px;margin:0 auto;padding:var(--mg-space-3);background:var(--mg-color-background);color:var(--mg-color-text);border:1px solid var(--mg-color-border);box-shadow:0 8px 40px var(--mg-color-notice-shadow)}
body.mg-site .mg-privacy-notice h2{font:600 var(--mg-font-size-19)/1.3 var(--mg-font-body);margin:0 0 var(--mg-space-1)}
body.mg-site .mg-privacy-notice p{font:400 var(--mg-font-size-14)/1.5 var(--mg-font-body);margin:0}
body.mg-site .mg-privacy-notice .mg-privacy-links{display:flex;flex-wrap:wrap;gap:var(--mg-space-2);margin-top:var(--mg-space-2)}
body.mg-site .mg-privacy-notice a{text-decoration:underline;text-underline-offset:.2em}
body.mg-site .mg-privacy-notice .mg-privacy-dismiss{flex-shrink:0;min-height:44px;padding:var(--mg-spacing-12) var(--mg-space-3);border:1px solid var(--mg-color-text);background:var(--mg-color-text);color:var(--mg-color-white);font-size:var(--mg-font-size-14)}
body.mg-site .mg-privacy-notice .mg-privacy-dismiss:is(:hover,:focus-visible){background:var(--mg-color-accent);color:var(--mg-color-text)}
@media(max-width:760px){body.mg-site .mg-privacy-notice{inset:auto 12px 12px;display:block;padding:var(--mg-spacing-20)}body.mg-site .mg-privacy-notice .mg-privacy-dismiss{margin-top:var(--mg-space-2);width:100%}}

/* Native lightbox navigation keeps its handlers; CSS chevrons avoid missing SVG sprites. */
body.mg-site .elementor-lightbox .elementor-swiper-button svg{display:none}
body.mg-site .elementor-lightbox .elementor-swiper-button::before{content:"";display:block;width:12px;height:12px;border-top:2px solid currentColor;border-right:2px solid currentColor}
body.mg-site .elementor-lightbox .elementor-swiper-button-next::before{transform:translateX(-2px) rotate(45deg)}
body.mg-site .elementor-lightbox .elementor-swiper-button-prev::before{transform:translateX(2px) rotate(225deg)}

/* Native menus, project grids and accessible form feedback. */
body.mg-site .collection-grid:has(>.mg-project-list-loop){display:block}
body.mg-site .mg-project-list-layout{grid-auto-rows:auto}
body.mg-site .mg-collection-card>.mg-project-card-link{padding:0}
body.mg-site .mg-collection-meta>span{display:block;font-size:var(--mg-font-size-11);margin-top:var(--mg-spacing-12)}
body.mg-site .mg-collection-meta h2{font-size:var(--mg-font-size-reference-card-title);line-height:1.13}
body.mg-site .mg-collection-image>img{height:100%;width:100%;object-fit:cover}
body.mg-site .mg-collection-image .mg-reference-arrow{padding:0}
body.mg-site .mg-project-list-loop .mg-eyebrow:empty{display:none}
body.mg-site .mg-gallery-grid-native{grid-template-rows:none;grid-auto-rows:auto;padding-block:0}
body.mg-site .mg-gallery-grid-native .mg-image-lightbox{padding:0}
body.mg-site .mg-gallery-grid-native .mg-image-lightbox>img{height:100%;width:100%;object-fit:cover}
body.mg-site .mg-related-projects .mg-project-card-link{padding:0;display:block}
body.mg-site .mg-related-projects .mg-related-card-image{height:auto;aspect-ratio:1.45}
body.mg-site .mg-related-projects .mg-eyebrow{margin-top:var(--mg-space-3)}
body.mg-site .mg-button-icon{display:inline-block;flex:0 0 auto;width:var(--mg-spacing-6);height:var(--mg-spacing-6);margin:0 var(--mg-spacing-6) var(--mg-spacing-6) 0;border:1px solid currentColor;box-shadow:var(--mg-spacing-9) 0 0 -1px var(--mg-color-background),var(--mg-spacing-9) 0 0 0 currentColor,0 var(--mg-spacing-9) 0 -1px var(--mg-color-background),0 var(--mg-spacing-9) 0 0 currentColor,var(--mg-spacing-9) var(--mg-spacing-9) 0 -1px var(--mg-color-background),var(--mg-spacing-9) var(--mg-spacing-9) 0 0 currentColor}
body.mg-site .project-back{margin-inline-start:auto;display:flex;width:max-content;max-width:100%;gap:var(--mg-spacing-12)}
body.mg-site .project-back>span{display:inline-flex;align-items:center;gap:var(--mg-spacing-12);font-size:var(--mg-font-size-14)}
body.mg-site .project-back:hover span{transform:none}
body.mg-site .mg-primary-menu .elementor-nav-menu--dropdown,
body.mg-site .mg-primary-menu .elementor-menu-toggle{display:none!important}
body.mg-site .mg-primary-menu .elementor-nav-menu--main{display:block!important}
body.mg-site .mg-primary-menu .elementor-nav-menu{display:flex;flex-direction:column;gap:0;margin:0;padding:0;list-style:none;counter-reset:primary-menu}
body.mg-site .mg-primary-menu .elementor-nav-menu>li{margin:0;padding:0;overflow:hidden;counter-increment:primary-menu}
body.mg-site .mg-primary-menu .elementor-nav-menu>li>a{display:flex;width:100%;align-items:baseline;gap:var(--mg-spacing-28);padding:var(--mg-spacing-7) 0 var(--mg-spacing-14);font-family:var(--mg-font-heading);font-size:var(--mg-font-size-nav-word);font-weight:400;letter-spacing:-.04em;line-height:1.16;color:var(--mg-color-background);background:transparent;border:0;transform:translateY(130%);transition:transform .9s var(--mg-easing),color .25s;text-decoration:none}
body.mg-site .mg-primary-menu .elementor-nav-menu>li>a::before{content:counter(primary-menu,decimal-leading-zero);position:static;display:block;width:0;flex:0 0 0;opacity:1;background:none;font-size:var(--mg-font-size-11);letter-spacing:0;color:var(--mg-color-navigation-number)}
body.mg-site .mg-primary-menu .elementor-nav-menu>li>a::after{content:"";position:static;display:block;flex:0 0 auto;width:var(--mg-spacing-18);height:var(--mg-spacing-18);border-top:1px solid currentColor;border-right:1px solid currentColor;background:none;transform:translateY(-.2em);margin-inline-start:auto;opacity:0}
body.mg-site .navigation.is-open .mg-primary-menu .elementor-nav-menu>li>a{transform:none}
body.mg-site .navigation.is-closing .mg-primary-menu .elementor-nav-menu>li>a{transform:translateY(-135%)}
body.mg-site .mg-primary-menu .elementor-nav-menu>li>a:is(:hover,:focus-visible,[aria-current=page]){color:var(--mg-color-accent);background:transparent}
body.mg-site .mg-primary-menu .elementor-nav-menu>li>a:is(:hover,:focus-visible)::after{opacity:1}
body.mg-site .mg-primary-menu .elementor-nav-menu>li:nth-child(2)>a{transition-delay:.08s,0s}
body.mg-site .mg-primary-menu .elementor-nav-menu>li:nth-child(3)>a{transition-delay:.16s,0s}
body.mg-site .mg-primary-menu .elementor-nav-menu>li:nth-child(4)>a{transition-delay:.24s,0s}
body.mg-site .mg-primary-menu .elementor-nav-menu>li:nth-child(5)>a{transition-delay:.32s,0s}
body.mg-site form[data-enquiry-form] label{min-width:0}
body.mg-site form[data-enquiry-form] :is(input,textarea,select)[aria-invalid=true]{border-bottom-color:var(--mg-color-error);box-shadow:0 1px 0 var(--mg-color-error)}
body.mg-site form[data-enquiry-form] .mg-field-error{display:block;margin-top:var(--mg-space-1);font-size:var(--mg-font-size-small);line-height:1.5;letter-spacing:0;color:var(--mg-color-error);text-transform:none}
body.mg-site form[data-enquiry-form] .mg-field-error[hidden]{display:none}
body.mg-site.mg-site form[data-enquiry-form].form-state-error .message-error{background:var(--mg-color-error-background);color:var(--mg-color-error);border-left-color:var(--mg-color-error)}
body.mg-site.mg-site form[data-enquiry-form].form-state-success .message-success{background:var(--mg-color-success-background);color:var(--mg-color-success);border-left-color:var(--mg-color-success)}
@media(max-width:1100px){body.mg-site .mg-primary-menu .elementor-nav-menu>li>a{font-size:var(--mg-font-size-navigation-tablet)}}
@media(max-width:760px){
 body.mg-site .mg-related-card:nth-child(n+2){display:none}
 body.mg-site .mg-primary-menu .elementor-nav-menu>li>a{font-size:var(--mg-font-size-navigation-small-screen);gap:var(--mg-space-3)}
 body.mg-site .mg-primary-menu .elementor-nav-menu>li>a::after{width:var(--mg-spacing-14);height:var(--mg-spacing-14)}
 body.mg-site .mg-collection-meta h2{font-size:var(--mg-font-size-30)}
 body.mg-site .mg-collection-meta>span{font-size:var(--mg-font-size-10);margin-top:var(--mg-spacing-10)}
}
@media(prefers-reduced-motion:reduce){body.mg-site .mg-primary-menu .elementor-nav-menu>li>a{transition:none;transform:none}}

/* Counters are labels, rather than Elementor pointer decorations. */
body.mg-site .mg-primary-menu .elementor-nav-menu>li>a::before{opacity:1!important}
body.mg-site .mg-button-icon{width:var(--mg-spacing-14);height:var(--mg-spacing-14);margin:0;flex:0 0 auto;border:0;box-shadow:none;background:linear-gradient(currentColor,currentColor) left top / var(--mg-spacing-5) var(--mg-spacing-5) no-repeat,linear-gradient(currentColor,currentColor) right top / var(--mg-spacing-5) var(--mg-spacing-5) no-repeat,linear-gradient(currentColor,currentColor) left bottom / var(--mg-spacing-5) var(--mg-spacing-5) no-repeat,linear-gradient(currentColor,currentColor) right bottom / var(--mg-spacing-5) var(--mg-spacing-5) no-repeat}
/* A new project with only a featured image still has a usable native image view. */
body.mg-site:has(.mg-gallery-grid-native) .mg-project-fallback,
body.mg-site .mg-project-fallback:not(:has(img[src])){display:none}
body.mg-site .mg-project-fallback .mg-image-lightbox{padding:0}
body.mg-site .mg-button-icon{padding:0;min-width:0}
body.mg-site .project-back.mg-all-references{padding:var(--mg-space-2) var(--mg-space-3);border:1px solid var(--mg-color-border);border-radius:var(--mg-radius-button);font-size:var(--mg-font-size-14);gap:var(--mg-spacing-12);align-items:center}

body.mg-site .navigation .mg-primary-menu .elementor-nav-menu--main>ul>li>a::after{background:transparent!important;border-top:1px solid currentColor;border-right:1px solid currentColor;border-bottom:0;border-left:0;border-radius:0}

/* Reference cards: edge-to-edge rounded images and an outlined arrow. */
body.mg-site .mg-collection-image{padding:0;overflow:hidden;border-radius:var(--mg-radius-large-desktop)}
body.mg-site .mg-collection-image>img{border-radius:inherit}
body.mg-site .mg-reference-arrow>.svg-icon{width:var(--mg-space-3);height:var(--mg-space-3);display:block;line-height:0}
body.mg-site .mg-reference-arrow svg{fill:none!important}
body.mg-site.mg-site .mg-label-plain{padding-inline-start:0}
body.mg-site.mg-site .mg-label-plain::before{display:none}
/* Only the reference title changes color, including keyboard focus. */
body.mg-site :is(.mg-collection-card,.mg-related-card) .mg-project-card-link:is(:hover,:focus-visible),
body.mg-site :is(.reference-link,.mg-reference-link):is(:hover,:focus-visible){color:var(--mg-color-text)}
body.mg-site :is(.mg-collection-card,.mg-related-card) a:is(:hover,:focus-visible) :is(.mg-eyebrow,.eyebrow){color:var(--mg-color-text)}
body.mg-site .mg-collection-card a:is(:hover,:focus-visible) .mg-collection-meta>span{color:var(--mg-color-muted)}
body.mg-site :is(.reference-link,.mg-reference-link):is(:hover,:focus-visible) :is(.eyebrow,.mg-eyebrow){color:var(--mg-color-muted)}
body.mg-site :is(.mg-collection-card,.mg-related-card) a:is(:hover,:focus-visible) :is(h2,h3),
body.mg-site :is(.reference-link,.mg-reference-link):is(:hover,:focus-visible) :is(h2,h3){color:var(--mg-color-accent)}
/* Remove Elementor's image frame/shadow, retaining native Lightbox behavior. */
body.mg-site .elementor-lightbox img.elementor-lightbox-image{border:0!important;outline:none!important;box-shadow:none!important}
@media(max-width:760px){
 body.mg-site .mg-collection-image{border-radius:var(--mg-radius-large-mobile)}
 body.mg-site .elementor-lightbox img.elementor-lightbox-image{max-height:calc(100svh - var(--mg-spacing-176))!important}
 body.mg-site .elementor-lightbox .elementor-swiper-button{top:var(--mg-lightbox-controls-top,75%)!important;bottom:auto!important;transform:none!important}
 body.mg-site .elementor-lightbox .elementor-swiper-button-prev{left:calc(50% - var(--mg-spacing-56))!important;right:auto!important}
 body.mg-site .elementor-lightbox .elementor-swiper-button-next{left:calc(50% + var(--mg-space-1))!important;right:auto!important}
}

/* Reference actions, repeated cards and native full-screen menu icons. */
body.mg-site.mg-site .mg-collection-meta>.mg-project-view-button{display:inline-flex;align-items:center;gap:var(--mg-space-2);padding:var(--mg-spacing-12) var(--mg-space-3);margin-top:0;border:1px solid var(--mg-color-border);border-radius:var(--mg-radius-button);font-size:var(--mg-font-size-14);line-height:1.2;color:var(--mg-color-text);align-self:center;white-space:nowrap;transition:border-color .25s,background .25s}
body.mg-site.mg-site .mg-collection-meta>.mg-project-view-button span{margin:0;color:inherit;font-size:var(--mg-font-size-22)}
body.mg-site.mg-site .mg-collection-card a:is(:hover,:focus-visible) .mg-project-view-button{color:var(--mg-color-text);border-color:var(--mg-color-text)}
body.mg-site.mg-site .mg-related-media{position:relative;padding:0;overflow:hidden;border-radius:var(--mg-radius-large-desktop)}
body.mg-site.mg-site .mg-related-media img{display:block;width:100%;height:auto;aspect-ratio:1.45;object-fit:cover;transition:transform .8s var(--mg-easing)}
body.mg-site.mg-site .mg-related-card a:is(:hover,:focus-visible) .mg-related-media img{transform:scale(1.035)}
body.mg-site.mg-site .mg-related-card a:is(:hover,:focus-visible) .mg-reference-arrow{background:var(--mg-color-image-control-hover);transform:translate(var(--mg-spacing-3),calc(0px - var(--mg-spacing-3)))}
body.mg-site.mg-site .mg-all-references{transition:background .25s,border-color .25s,color .25s}
body.mg-site.mg-site .mg-all-references:is(:hover,:focus-visible){background:var(--mg-color-surface);border-color:var(--mg-color-text);color:var(--mg-color-text);transform:none}
body.mg-site.mg-site .mg-all-references:is(:hover,:focus-visible)>*{transform:none;color:inherit}
body.mg-site.mg-site .navigation .mg-primary-menu .elementor-nav-menu--main>ul>li>a::after{border:0!important;width:var(--mg-space-3);height:var(--mg-space-3);align-self:center;transform:none;background:currentColor!important;-webkit-mask:url('/wp-content/uploads/2026/10/icon-5c9d8c7077.svg') center/contain no-repeat;mask:url('/wp-content/uploads/2026/10/icon-5c9d8c7077.svg') center/contain no-repeat}

/* Elementor chapters use normal page scrolling, with a sticky media column. */
body.mg-site.mg-site .mg-service-story{padding:0;overflow:visible}
body.mg-site.mg-site .mg-story-chapter{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:start;gap:var(--mg-space-6);padding:var(--mg-space-6) var(--mg-page-gutter);margin:0;width:100%;min-height:110svh;scroll-margin-top:var(--mg-spacing-176);border-top:1px solid var(--mg-color-border)}
body.mg-site.mg-site .mg-story-chapter .mg-story-media{position:sticky;top:var(--mg-spacing-176);order:0;padding:0;min-width:0;overflow:hidden;border-radius:var(--mg-radius-large-desktop)}
body.mg-site.mg-site .mg-story-chapter .mg-story-media img{width:100%;height:min(68svh,800px);aspect-ratio:4/5;object-fit:cover;border-radius:var(--mg-radius-large-desktop)}
body.mg-site.mg-site .mg-story-chapter .mg-story-text{display:flex;flex-direction:column;gap:var(--mg-space-3);padding:var(--mg-space-3) 0 var(--mg-space-6);min-width:0}
body.mg-site.mg-site .mg-story-chapter .mg-story-text>.eyebrow{margin-bottom:var(--mg-space-2)}
body.mg-site.mg-site .mg-story-chapter h2{font-size:var(--mg-font-size-h2);margin-bottom:var(--mg-space-3);line-height:var(--mg-line-height-heading)}
body.mg-site.mg-site .mg-story-text>p:not(.eyebrow){margin:0;line-height:var(--mg-line-height-body)}
body.mg-site.mg-site .mg-story-chapter:nth-of-type(odd){background:var(--mg-color-surface)}
body.mg-site.mg-site .mg-story-media figcaption{padding:var(--mg-space-2) var(--mg-space-2) 0}
body.mg-site.mg-site .mg-contact-map>h2{margin:var(--mg-space-3) 0 var(--mg-space-6)}
body.mg-site.mg-site .mg-map-frame{position:relative;overflow:hidden}
body.mg-site.mg-site .mg-map-frame p{max-width:48rem}
body.mg-site.mg-site .mg-map-frame button{cursor:pointer;color:var(--mg-color-text);background:var(--mg-color-background)}
body.mg-site.mg-site .mg-map-frame button:is(:hover,:focus-visible){border-color:var(--mg-color-text);background:var(--mg-color-surface)}
body.mg-site.mg-site .mg-map-frame.is-loaded{display:block;padding:0;height:60svh;min-height:var(--mg-spacing-300)}
body.mg-site.mg-site .mg-map-frame iframe{display:block;width:100%;height:100%;border:0}
body.mg-site.mg-site .mg-map-frame .mg-map-remove{position:absolute;right:var(--mg-space-2);top:var(--mg-space-2);z-index:1;padding:var(--mg-space-2) var(--mg-space-3);border:1px solid var(--mg-color-border);border-radius:var(--mg-radius-button);font-size:var(--mg-font-size-13)}
@media(max-width:760px){
 body.mg-site.mg-site .mg-collection-meta>.mg-project-view-button{margin-top:var(--mg-space-3);font-size:var(--mg-font-size-13);width:max-content}
 body.mg-site.mg-site .mg-related-media{border-radius:var(--mg-radius-large-mobile)}
 body.mg-site.mg-site .footer-bottom{display:grid;grid-template-columns:1fr auto;gap:var(--mg-space-3)}
 body.mg-site.mg-site .footer-bottom>.mg-footer-legal-menu{grid-column:1/-1;width:100%;max-width:none}
 body.mg-site.mg-site .mg-footer-legal-menu .elementor-nav-menu--main{width:100%}
 body.mg-site.mg-site .mg-footer-legal-menu .elementor-nav-menu--main>.elementor-nav-menu{width:100%;display:flex;flex-wrap:nowrap;justify-content:space-between;gap:var(--mg-space-1)}
 body.mg-site.mg-site .mg-footer-legal-menu .elementor-nav-menu--main>.elementor-nav-menu>li{min-width:0;margin:0}
 body.mg-site.mg-site .mg-footer-legal-menu .elementor-item{font-size:var(--mg-font-size-10);padding:var(--mg-space-2) 0;white-space:nowrap}
 body.mg-site.mg-site .mg-story-chapter{grid-template-columns:minmax(0,1fr);gap:var(--mg-space-3);padding:var(--mg-space-6) var(--mg-page-gutter-mobile);min-height:0;scroll-margin-top:var(--mg-spacing-176)}
 body.mg-site.mg-site .mg-story-chapter .mg-story-media{position:relative;top:auto;order:0;border-radius:var(--mg-radius-large-mobile)}
 body.mg-site.mg-site .mg-story-chapter .mg-story-media img{height:auto;aspect-ratio:1.2;border-radius:var(--mg-radius-large-mobile)}
 body.mg-site.mg-site .mg-story-chapter h2{font-size:var(--mg-font-size-38)}
}
@media(prefers-reduced-motion:reduce){body.mg-site.mg-site .mg-related-media img{transition:none}}
@media(max-width:760px){
 body.mg-site.mg-site .footer-bottom>.mg-footer-legal-menu{grid-column:1 / -1!important;width:100%!important;min-width:0}
 body.mg-site.mg-site .footer-bottom .mg-footer-legal-menu.elementor-widget{width:100%;min-width:0}
 body.mg-site.mg-site .footer-bottom .mg-footer-legal-menu .elementor-nav-menu--main>ul{gap:var(--mg-space-1);width:100%}
}
/* A vector-shaped arrow avoids external mask rendering differences. */
body.mg-site.mg-site .navigation .mg-primary-menu .elementor-nav-menu--main>ul>li>a::after{-webkit-mask:none;mask:none;clip-path:polygon(20% 14%,86% 14%,86% 80%,80% 80%,80% 25%,18% 87%,13% 82%,75% 20%,20% 20%);background:currentColor!important}

/* Unified project hover: the home slider is the motion reference. */
body.mg-site.mg-site :is(.reference-image,.mg-collection-image,.mg-related-media){overflow:hidden;isolation:isolate}
body.mg-site.mg-site :is(.reference-image,.mg-collection-image,.mg-related-media)>img{display:block;border-radius:0!important;transform-origin:center;transition:transform var(--mg-reference-hover-duration) var(--mg-easing)}
body.mg-site.mg-site :is(.reference-link,.mg-reference-link,.mg-project-card-link):is(:hover,:focus-visible) :is(.reference-image,.mg-collection-image,.mg-related-media)>img{transform:scale(var(--mg-reference-hover-scale))}
body.mg-site.mg-site :is(.reference-arrow,.mg-reference-arrow){z-index:2;transition:background .35s,transform .5s var(--mg-easing)}
body.mg-site.mg-site :is(.reference-link,.mg-reference-link,.mg-project-card-link):is(:hover,:focus-visible) :is(.reference-arrow,.mg-reference-arrow){background:var(--mg-color-image-control-hover);transform:translate(var(--mg-spacing-3),calc(0px - var(--mg-spacing-3)))}
body.mg-site.mg-site .mg-all-references,
body.mg-site.mg-site .mg-all-references:is(:hover,:focus-visible),
body.mg-site.mg-site .mg-all-references:is(:hover,:focus-visible) *{transform:none!important;translate:none!important}

/* Services: alternating photographic chapters and overlapping editorial panels. */
body.mg-site.mg-site .mg-service-cinematic{counter-reset:service-chapter;overflow:visible}
body.mg-site.mg-site .mg-service-cinematic .mg-cinematic-panel{counter-increment:service-chapter;position:relative;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:0;padding:var(--mg-spacing-100) var(--mg-page-gutter);margin:0;min-height:125svh;border:0;background:var(--mg-color-background);isolation:isolate;scroll-margin-top:var(--mg-spacing-104)}
body.mg-site.mg-site .mg-cinematic-panel::before{content:counter(service-chapter,decimal-leading-zero);position:absolute;right:var(--mg-page-gutter);top:0;font-size:var(--mg-service-chapter-number);font-weight:400;line-height:1;letter-spacing:-.06em;color:transparent;-webkit-text-stroke:1px var(--mg-color-border);pointer-events:none;z-index:-1}
body.mg-site.mg-site .mg-cinematic-panel .mg-story-media{grid-column:1/9;grid-row:1;position:sticky;top:var(--mg-spacing-104);align-self:start;overflow:hidden;border-radius:var(--mg-radius-large-desktop);z-index:0}
body.mg-site.mg-site .mg-cinematic-panel .mg-story-media img{height:75svh;max-height:none;width:100%;aspect-ratio:auto;border-radius:var(--mg-radius-large-desktop);object-fit:cover;transform:scale(1.025);transition:transform 1.4s var(--mg-easing)}
body.mg-site.mg-site .mg-cinematic-panel.is-story-active .mg-story-media img{transform:scale(1)}
body.mg-site.mg-site .mg-cinematic-panel .mg-story-text{grid-column:7/-1;grid-row:1;position:relative;z-index:1;margin:var(--mg-service-panel-offset) 0 var(--mg-space-6);padding:var(--mg-space-5);gap:var(--mg-space-3);background:var(--mg-color-background);color:var(--mg-color-text);border:1px solid var(--mg-color-border);border-radius:var(--mg-radius-large-desktop)}
body.mg-site.mg-site .mg-cinematic-panel h2{font-size:var(--mg-font-size-service-copy);line-height:1.08;margin:0 0 var(--mg-space-2)}
body.mg-site.mg-site .mg-cinematic-panel:nth-of-type(odd) .mg-story-media{grid-column:5/-1}
body.mg-site.mg-site .mg-cinematic-panel:nth-of-type(odd) .mg-story-text{grid-column:1/7;background:var(--mg-color-text);color:var(--mg-color-background);border-color:var(--mg-color-text)}
body.mg-site.mg-site .mg-cinematic-panel:nth-of-type(odd) .mg-story-text :is(h2,p,li,a){color:var(--mg-color-background)}
body.mg-site.mg-site .mg-cinematic-panel:nth-of-type(odd) .mg-story-text>.eyebrow{color:var(--mg-color-accent)}
body.mg-site.mg-site .mg-cinematic-panel:nth-of-type(odd) .mg-story-text li{border-color:var(--mg-color-navigation-divider)}
body.mg-site.mg-site .mg-cinematic-panel:nth-of-type(odd) .mg-story-text a:hover{color:var(--mg-color-accent)}

/* Contact: introduction and contact details alongside the optional location map. */
body.mg-site.mg-site .mg-contact-intro-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:var(--mg-space-6);padding:var(--mg-spacing-176) var(--mg-page-gutter) var(--mg-space-6);align-items:start}
body.mg-site.mg-site .mg-contact-intro-copy{padding:0;min-width:0}
body.mg-site.mg-site .mg-contact-intro-copy>.page-intro{padding:0;margin:0}
body.mg-site.mg-site .mg-contact-intro-copy .page-intro-row{display:block;padding:0}
body.mg-site.mg-site .mg-contact-intro-copy h1{font-size:var(--mg-font-size-h2);line-height:1.04;margin:var(--mg-space-3) 0}
body.mg-site.mg-site .mg-contact-intro-copy .page-lede{margin-top:var(--mg-space-3);max-width:none;font-size:var(--mg-font-size-17)}
body.mg-site.mg-site .mg-contact-intro-copy .contact-details{display:grid;grid-template-columns:minmax(0,1fr);padding:var(--mg-space-4) 0 0;gap:var(--mg-space-3);margin:0}
body.mg-site.mg-site .mg-contact-intro-copy .contact-detail{padding:0;min-width:0}
body.mg-site.mg-site .mg-contact-intro-copy .contact-detail>a{font-size:var(--mg-font-size-21);overflow-wrap:anywhere}
body.mg-site.mg-site .mg-contact-intro-grid>.mg-contact-map{padding:0;min-width:0}
body.mg-site.mg-site .mg-contact-intro-grid .mg-map-frame{min-height:65svh;padding:var(--mg-space-5);margin-top:var(--mg-space-3);justify-content:center;gap:var(--mg-space-3)}
body.mg-site.mg-site .mg-map-frame>button:not(.mg-map-remove){width:fit-content!important;min-width:0;align-self:center;justify-self:center;flex:0 0 auto;margin-inline:auto;padding:var(--mg-space-2) var(--mg-space-3);border:1px solid var(--mg-color-accent);border-radius:var(--mg-radius-button);background:var(--mg-color-accent);color:var(--mg-color-text);font-size:var(--mg-font-size-14)}
body.mg-site.mg-site .mg-map-frame>button:not(.mg-map-remove):is(:hover,:focus-visible){background:var(--mg-color-text);border-color:var(--mg-color-text);color:var(--mg-color-accent)}
body.mg-site.mg-site .mg-contact-intro-grid .mg-map-frame.is-loaded{padding:0;height:65svh;min-height:var(--mg-spacing-300)}
/* Keep the template's underline treatment, with a visible gold focus underline. */
body.mg-site.mg-site form[data-enquiry-form] :is(input,textarea,select):is(:focus,:focus-visible){outline:0!important;box-shadow:none!important;border-top:0!important;border-left:0!important;border-right:0!important;border-bottom:2px solid var(--mg-color-accent);border-radius:0;background:transparent}
body.mg-site.mg-site form[data-enquiry-form] .submit-button{display:inline-flex;width:fit-content;align-items:center;justify-content:space-between;gap:var(--mg-space-3);padding:var(--mg-space-2) var(--mg-space-3);min-height:var(--mg-space-5);margin-top:var(--mg-space-3);border:1px solid var(--mg-color-border);border-radius:var(--mg-radius-button);background:transparent;color:var(--mg-color-text);font-size:var(--mg-font-size-14);line-height:1.3}

body.mg-site.mg-site form[data-enquiry-form] .submit-button:is(:hover,:focus-visible){background:var(--mg-color-accent);border-color:var(--mg-color-accent);color:var(--mg-color-text)}

/* Shared numbered statements: the number and heading share a real flex baseline. */
body.mg-site.mg-site .value-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12%;align-items:center}
body.mg-site.mg-site .value-row>.mg-numbered-heading{display:flex;align-items:baseline;gap:var(--mg-space-3);padding:0;min-width:0}
body.mg-site.mg-site .mg-numbered-heading>span{font-size:var(--mg-font-size-small);line-height:1;flex:0 0 var(--mg-spacing-56);padding:0;color:var(--mg-color-muted);align-self:baseline}
body.mg-site.mg-site .mg-numbered-heading>h3{margin:0;line-height:1.15}
body.mg-site.mg-site .value-row>p{margin:0;max-width:none;width:100%}
/* Home career links use the site's compact outlined action style. */
body.mg-site.mg-site .career-routes{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:var(--mg-space-3)}
body.mg-site.mg-site .career-routes>.mg-button-action{width:fit-content;min-height:var(--mg-space-5);display:inline-flex;align-items:center;justify-content:space-between;gap:var(--mg-space-3);padding:var(--mg-space-2) var(--mg-space-3);background:transparent;color:var(--mg-color-text);border:1px solid var(--mg-color-border);border-radius:var(--mg-radius-button);font-size:var(--mg-font-size-14);line-height:1.3}
body.mg-site.mg-site .career-routes>.mg-button-action>span{padding:0;margin:0;transform:none;position:static;background:none;border:0;border-radius:0;width:auto;height:auto;display:inline-flex;align-items:center;font:inherit;letter-spacing:inherit;color:inherit}
body.mg-site.mg-site .career-routes>.mg-button-action>span[aria-hidden]{width:var(--mg-space-3);height:var(--mg-space-3);flex:none}
body.mg-site.mg-site .career-routes>.mg-button-action .svg-icon{width:var(--mg-space-3);height:var(--mg-space-3);fill:none;transform:none}
body.mg-site.mg-site .career-routes>.mg-button-action:is(:hover,:focus-visible){background:var(--mg-color-accent);border-color:var(--mg-color-accent);color:var(--mg-color-text)}
@media(max-width:760px){
 body.mg-site.mg-site .mg-service-cinematic .mg-cinematic-panel{grid-template-columns:minmax(0,1fr);padding:var(--mg-space-6) var(--mg-page-gutter-mobile);min-height:0}
 body.mg-site.mg-site .mg-cinematic-panel::before{font-size:var(--mg-font-size-hero);right:var(--mg-page-gutter-mobile);top:0}
 body.mg-site.mg-site .mg-cinematic-panel .mg-story-media,body.mg-site.mg-site .mg-cinematic-panel:nth-of-type(odd) .mg-story-media{grid-column:1;grid-row:1;position:relative;top:auto}
 body.mg-site.mg-site .mg-cinematic-panel .mg-story-media img{height:auto;aspect-ratio:1.05;transform:none;border-radius:var(--mg-radius-large-mobile)}
 body.mg-site.mg-site .mg-cinematic-panel .mg-story-text,body.mg-site.mg-site .mg-cinematic-panel:nth-of-type(odd) .mg-story-text{grid-column:1;grid-row:2;margin:calc(0px - var(--mg-space-3)) var(--mg-space-1) 0;padding:var(--mg-space-3);border-radius:var(--mg-radius-large-mobile)}
 body.mg-site.mg-site .mg-cinematic-panel h2{font-size:var(--mg-font-size-38)}
 body.mg-site.mg-site .mg-contact-intro-grid{grid-template-columns:minmax(0,1fr);padding:var(--mg-spacing-135) var(--mg-page-gutter-mobile) var(--mg-space-6);gap:var(--mg-space-5)}
 body.mg-site.mg-site .mg-contact-intro-copy h1{font-size:var(--mg-font-size-hero-mobile)}
 body.mg-site.mg-site .mg-contact-intro-grid .mg-map-frame{min-height:var(--mg-spacing-300);padding:var(--mg-space-3)}
 body.mg-site.mg-site .mg-contact-intro-grid .mg-map-frame.is-loaded{height:55svh;padding:0}
 body.mg-site.mg-site .value-row{grid-template-columns:minmax(0,1fr);gap:var(--mg-space-2);align-items:start}
 body.mg-site.mg-site .value-row>.mg-numbered-heading{gap:var(--mg-spacing-18)}
 body.mg-site.mg-site .mg-numbered-heading>span{flex-basis:var(--mg-space-3);font-size:var(--mg-font-size-11)}
 body.mg-site.mg-site .value-row>p{grid-column:1;padding-left:var(--mg-spacing-42);width:100%}
 body.mg-site.mg-site .footer-bottom>.mg-footer-legal-menu{padding-bottom:var(--mg-space-3);margin-bottom:var(--mg-space-2)}
 body.mg-site.mg-site .footer-bottom{row-gap:var(--mg-space-3)}
}
@media(prefers-reduced-motion:reduce){
 body.mg-site.mg-site :is(.reference-image,.mg-collection-image,.mg-related-media)>img,
 body.mg-site.mg-site .mg-cinematic-panel .mg-story-media img{transition:none;transform:none!important}
}

/* October contact refinements; all presentation values use the Elementor kit. */
body.mg-site.mg-site .mg-contact-intro-grid>.mg-contact-map{margin-top:var(--mg-space-5);scroll-margin-top:var(--mg-spacing-135)}
body.mg-site.mg-site .mg-contact-intro-grid .mg-map-frame{gap:var(--mg-space-5);margin-top:0}
body.mg-site.mg-site .mg-contact-intro-copy .contact-detail{padding-top:var(--mg-space-3)}
body.mg-site.mg-site .mg-privacy-notice .mg-privacy-dismiss{border-radius:var(--mg-radius-button);padding:var(--mg-space-2) var(--mg-space-3)}
body.mg-site.mg-site .mg-collection-meta>.mg-project-view-button{margin-top:var(--mg-space-2)}
body.mg-site.mg-site .mg-footer nav a[aria-current="page"]{color:var(--mg-color-accent)!important}
body.mg-site.mg-site .mg-shared-contact>.mg-eyebrow{margin-bottom:var(--mg-spacing-44)}
body.mg-site.mg-site .mg-shared-contact h2{font-size:var(--mg-font-size-contact);letter-spacing:-.055em;line-height:.99}
body.mg-site.mg-site .mg-shared-contact h2>span{display:block;color:inherit}
body.mg-site.mg-site .mg-shared-contact h2>span>span{color:var(--mg-color-contact-emphasis)}
body.mg-site.mg-site .mg-shared-contact .mg-contact-circle{padding:0;display:grid;place-items:center;flex-shrink:0;transition:background .4s,border-color .4s}
body.mg-site.mg-site .mg-shared-contact .mg-contact-circle:is(:hover,:focus-visible){background:var(--mg-color-accent);border-color:var(--mg-color-accent)}
body.mg-site.mg-site .mg-shared-contact .mg-contact-circle .svg-icon{width:44%;height:44%;fill:none}
body.mg-site.mg-site .mg-shared-contact .mg-contact-bottom>p{font-size:var(--mg-font-size-17);color:var(--mg-color-muted)}
body.mg-site.mg-site .mg-shared-contact .mg-contact-links a{font-size:var(--mg-font-size-contact-bottom);line-height:1.3;letter-spacing:-.02em;display:inline-flex;align-items:center;gap:var(--mg-space-2)}
body.mg-site.mg-site .mg-shared-contact .mg-contact-links a:is(:hover,:focus-visible){color:var(--mg-color-accent)}
body.mg-site.mg-site .mg-shared-contact .mg-contact-links .svg-icon{width:var(--mg-space-3);height:var(--mg-space-3);fill:none}
body.mg-site.mg-site .mg-contact-rings{-webkit-mask:url('/wp-content/uploads/2026/10/holzringe-halbschnitt.svg') right center/contain no-repeat;mask:url('/wp-content/uploads/2026/10/holzringe-halbschnitt.svg') right center/contain no-repeat}
@media(max-width:760px){
 body.mg-site.mg-site .mg-contact-intro-grid>.mg-contact-map{margin-top:0}
 body.mg-site.mg-site .mg-shared-contact h2{font-size:var(--mg-font-size-contact-mobile);line-height:1.05}
 body.mg-site.mg-site .mg-shared-contact .mg-contact-heading{position:relative;display:block}
 body.mg-site.mg-site .mg-shared-contact h2>span>span{display:block}
 body.mg-site.mg-site .mg-shared-contact .mg-contact-circle{position:absolute;right:0;bottom:0;width:var(--mg-space-6)}
 body.mg-site.mg-site .mg-shared-contact .mg-contact-links a{font-size:var(--mg-font-size-19)}
}

body.mg-site.mg-site .mg-shared-contact .mg-contact-links{align-items:flex-start;min-width:0}
body.mg-site.mg-site .mg-shared-contact .mg-contact-links a{width:fit-content;max-width:100%;min-width:0;overflow-wrap:anywhere}
body.mg-site.mg-site .mg-shared-contact .mg-contact-links a>span{min-width:0;overflow-wrap:anywhere}
@media(max-width:760px){
 body.mg-site.mg-site .mg-shared-contact .mg-contact-bottom{grid-template-columns:minmax(0,1fr);gap:var(--mg-space-3);margin-top:var(--mg-spacing-36);padding-top:var(--mg-space-3)}
 body.mg-site.mg-site .mg-shared-contact .mg-contact-bottom>p{font-size:var(--mg-font-size-15)}
 body.mg-site.mg-site .mg-shared-contact .mg-contact-circle{height:auto;aspect-ratio:1}
}

/* Shared image control: native lightbox link, CSS-only circular plus. */
body.mg-site.mg-site .mg-image-lightbox{position:relative;isolation:isolate;overflow:hidden}
body.mg-site.mg-site .mg-image-lightbox::before,
body.mg-site.mg-site .mg-image-lightbox::after{content:"";position:absolute;inset:var(--mg-image-control-offset) var(--mg-image-control-offset) auto auto;width:var(--mg-image-control-size);height:var(--mg-image-control-size);pointer-events:none;z-index:2;box-sizing:border-box;transition:background .35s,transform .5s var(--mg-easing)}
body.mg-site.mg-site .mg-image-lightbox::before{border:1px solid var(--mg-color-dialog-close-border);border-radius:var(--mg-radius-circle);background:transparent}
body.mg-site.mg-site .mg-image-lightbox::after{color:var(--mg-color-white);background:linear-gradient(currentColor,currentColor) center/var(--mg-image-control-symbol-size) 1px no-repeat,linear-gradient(currentColor,currentColor) center/1px var(--mg-image-control-symbol-size) no-repeat}
body.mg-site.mg-site .mg-image-lightbox>img{transform-origin:center;transition:transform var(--mg-reference-hover-duration) var(--mg-easing)}
body.mg-site.mg-site .mg-image-lightbox:is(:hover,:focus-visible)>img{transform:scale(var(--mg-reference-hover-scale))}
body.mg-site.mg-site .mg-image-lightbox:is(:hover,:focus-visible)::before{background:var(--mg-color-image-control-hover)}
body.mg-site.mg-site .mg-image-lightbox:is(:hover,:focus-visible)::before,
body.mg-site.mg-site .mg-image-lightbox:is(:hover,:focus-visible)::after{transform:translate(var(--mg-spacing-3),calc(0px - var(--mg-spacing-3)))}
body.mg-site.mg-site .mg-collection-meta h2{margin-top:var(--mg-reference-category-title-gap)}
/* The brand mark has a corner radius of one fifth of its square height. */
body.mg-site.mg-site :is(.mg-button-action,.mg-project-view-button,.mg-all-references,.submit-button,.mg-privacy-dismiss,.collection-load,.mg-map-remove,.mg-contact-circle,.contact-circle,.dialog-close,.round-arrow,.hero-playback,.back-to-top,.reference-navigation button,.elementor-lightbox .elementor-swiper-button){border-radius:var(--mg-radius-button)!important}
body.mg-site.mg-site .mg-map-frame>button:not(.mg-map-remove){border-radius:var(--mg-radius-button)!important}
/* The original diagonal arrow asset is shared by action buttons. */
body.mg-site.mg-site .mg-collection-meta>.mg-project-view-button>span,
body.mg-site.mg-site form[data-enquiry-form] .submit-button::after,
body.mg-site.mg-site .mg-map-frame>button:not(.mg-map-remove)::after{content:"";display:inline-block;width:var(--mg-space-3);height:var(--mg-space-3);flex:0 0 auto;margin:0;padding:0;font-size:0;line-height:0;border:0;box-shadow:none;background:currentColor;-webkit-mask:url('/wp-content/uploads/2026/10/icon-5c9d8c7077.svg') center/contain no-repeat;mask:url('/wp-content/uploads/2026/10/icon-5c9d8c7077.svg') center/contain no-repeat;transform:none}
body.mg-site.mg-site .mg-map-frame>button:not(.mg-map-remove){display:inline-flex;align-items:center;gap:var(--mg-space-2)}
html.js body.mg-site .mg-scroll-reveal{opacity:0;transform:translateY(var(--mg-reveal-distance));transition:opacity var(--mg-reveal-duration) var(--mg-easing),transform var(--mg-reveal-duration) var(--mg-easing);transition-delay:var(--reveal-delay,0s)}
html.js body.mg-site .mg-scroll-reveal.is-visible{opacity:1;transform:none}
html.js body.mg-site .mg-scroll-reveal:focus-within{opacity:1;transform:none}
@media(max-width:760px){body.mg-site.mg-site .mg-image-lightbox::before,body.mg-site.mg-site .mg-image-lightbox::after{inset:var(--mg-space-2) var(--mg-space-2) auto auto}}
@media(prefers-reduced-motion:reduce){
 html.js body.mg-site .mg-scroll-reveal{opacity:1;transform:none;transition:none}
 body.mg-site.mg-site .mg-image-lightbox>img,body.mg-site.mg-site .mg-image-lightbox::before,body.mg-site.mg-site .mg-image-lightbox::after{transition:none}
}
body.mg-site.mg-site :is(.reference-arrow,.mg-reference-arrow){width:var(--mg-image-control-size);height:var(--mg-image-control-size);top:var(--mg-image-control-offset);right:var(--mg-image-control-offset);border:1px solid var(--mg-color-dialog-close-border);border-radius:var(--mg-radius-circle);background:transparent;color:var(--mg-color-white)}
body.mg-site.mg-site :is(.reference-arrow,.mg-reference-arrow) .svg-icon{width:var(--mg-image-control-symbol-size);height:var(--mg-image-control-symbol-size)}
body.mg-site .elementor-lightbox .elementor-slideshow__footer{display:none!important}
@media(max-width:760px){body.mg-site{--mg-image-control-size:var(--mg-image-control-size-mobile);--mg-image-control-offset:var(--mg-space-2)}}

/* Shared action buttons; only their decorative icon receives the icon styles. */
body.mg-site.mg-site .mg-button-action{display:inline-flex;width:fit-content;max-width:100%;align-items:center;justify-content:space-between;gap:var(--mg-space-3);padding:var(--mg-space-2) var(--mg-space-3);border:1px solid var(--mg-color-border);border-radius:var(--mg-radius-button);font-size:var(--mg-font-size-14);line-height:1.3;color:inherit;background:transparent;text-decoration:none;transition:background .25s,border-color .25s,color .25s}
body.mg-site.mg-site .mg-button-action>.mg-native-text{font:inherit;color:inherit;letter-spacing:inherit;margin:0;padding:0;transform:none}
body.mg-site.mg-site .mg-button-action>span[aria-hidden]{display:inline-flex;align-items:center;justify-content:center;width:var(--mg-space-3);height:var(--mg-space-3);flex:none;padding:0;margin:0;transform:none}
body.mg-site.mg-site .mg-button-action .svg-icon{width:var(--mg-space-3);height:var(--mg-space-3);fill:none;transform:none}
body.mg-site.mg-site .mg-button-action:is(:hover,:focus-visible){background:var(--mg-color-accent);border-color:var(--mg-color-accent);color:var(--mg-color-text)}
body.mg-site.mg-site .mg-button-action:is(:hover,:focus-visible)>span{transform:none}
body.mg-site.mg-site .mg-map-frame>button:not(.mg-map-remove)>span{font:inherit;color:inherit;line-height:inherit;width:auto;height:auto;flex:0 1 auto;white-space:normal;mask:none;-webkit-mask:none;background:none}
body.mg-site.mg-site .mg-all-references{display:inline-flex;width:fit-content;align-items:center;gap:var(--mg-spacing-12);padding:var(--mg-space-2) var(--mg-space-3);border:1px solid var(--mg-color-border);border-radius:var(--mg-radius-button);font-size:var(--mg-font-size-14);line-height:1.3;color:inherit}
body.mg-site.mg-site .mg-all-references .mg-button-icon{display:inline-block;width:var(--mg-spacing-14);height:var(--mg-spacing-14);flex:0 0 auto;padding:0;margin:0;border:0;box-shadow:none;mask:none;-webkit-mask:none;background:linear-gradient(currentColor,currentColor) left top/var(--mg-spacing-5) var(--mg-spacing-5) no-repeat,linear-gradient(currentColor,currentColor) right top/var(--mg-spacing-5) var(--mg-spacing-5) no-repeat,linear-gradient(currentColor,currentColor) left bottom/var(--mg-spacing-5) var(--mg-spacing-5) no-repeat,linear-gradient(currentColor,currentColor) right bottom/var(--mg-spacing-5) var(--mg-spacing-5) no-repeat}
body.mg-site.mg-site .mg-email-address::after{display:none!important}
body.mg-site.mg-site .mg-contact-form-section{scroll-margin-top:var(--mg-spacing-135)}

/* Scroll position owns the rail transform; a second CSS tween causes judder. */
html.js body.mg-site #referenzen .reference-track{transition:none!important;backface-visibility:hidden}
html.js body.mg-site #referenzen .reference-window.is-programmatic-scroll{scroll-snap-type:none;scroll-behavior:auto}
