/* Shared by the website and the block editor. */
html { scroll-behavior:smooth; scroll-padding-top:2rem; }
body { margin:0; -webkit-font-smoothing:antialiased; }
*,*::before,*::after { box-sizing:border-box; }
::selection { background:var(--wp--preset--color--sage); color:var(--wp--preset--color--olive); }
:focus-visible { outline:2px solid currentColor; outline-offset:5px; }
a { text-underline-offset:.25em; text-decoration-thickness:1px; }
button,input,textarea { font:inherit; caret-color:var(--wp--preset--color--olive); }
img { max-width:100%; }
figure { margin:0; }
h1,h2,h3,p { overflow-wrap:normal; }
h1,h2,h3 { text-wrap:balance; }
.wp-site-blocks { padding:0; }
.wp-site-blocks > *,.mg-main,.mg-site-header,.mg-site-footer { margin-block-start:0; }
.mg-shell { width:92%; max-width:1480px; margin-inline:auto; }
.mg-header { min-height:clamp(110px,10.8vw,156px); gap:3rem; padding-block:4px; }
.mg-header .wp-block-site-logo img { width:clamp(150px,17vw,235px); height:auto; display:block; }
.mg-header-actions { margin-left:auto; gap:clamp(22px,4.2vw,64px); }
.mg-header .wp-block-navigation { gap:clamp(20px,3.1vw,44px); font-size:clamp(.875rem,1.1vw,1rem); }
.mg-header .wp-block-navigation a { text-decoration:none; }
.mg-header .wp-block-navigation a:hover { text-decoration:underline; }
.wp-block-button__link { display:inline-flex; align-items:center; justify-content:center; gap:1.1em; min-height:46px; border:1px solid transparent; transition:background-color .2s,color .2s; white-space:normal; }
.wp-block-button__link:hover { background:var(--wp--preset--color--sage); color:var(--wp--preset--color--olive); }
.is-style-makovr-arrow .wp-block-button__link::after,.mg-text-arrow a::after { content:""; display:inline-block; width:15px; height:15px; background:currentColor; flex-shrink:0; mask:url('../icons/arrow.svg') center/contain no-repeat; vertical-align:middle; }
.mg-text-arrow a::after { margin-left:10px; }
.mg-header-cta .wp-block-button__link { font-size:clamp(.8rem,1.1vw,1rem); padding:.85em 1.1em; }
.mg-hero { width:96%; max-width:1545px; margin-left:max(4%,calc((100% - 1480px)/2)); margin-right:0; gap:3.1%; align-items:stretch !important; }
.mg-hero > .wp-block-column:first-child { flex-basis:34.5% !important; display:flex; flex-direction:column; align-items:flex-start; padding-top:clamp(26px,4.6vw,66px); }
.mg-hero > .wp-block-column:last-child { flex-basis:62.4% !important; }
.mg-kicker { font-size:clamp(.65rem,.85vw,.8rem); letter-spacing:.24em; line-height:1.5; text-transform:uppercase; }
.mg-hero-title { font-size:clamp(3.4rem,7.9vw,7.85rem); line-height:1.04; letter-spacing:-.052em; margin-block:clamp(18px,2vw,30px) 0 !important; white-space:nowrap; font-weight:400; }
.mg-hero-title em { font-weight:400; }
.mg-intro { font-size:clamp(1rem,1.72vw,1.45rem); line-height:1.34; max-width:27ch; margin-block:clamp(24px,3.1vw,44px) 0 !important; }
.mg-hero-mark { width:clamp(100px,14vw,190px); margin-block:10px 0 !important; }
.mg-hero-mark img { width:100%; height:auto; display:block; }
.mg-hero .wp-block-buttons { margin-top:10px; }
.mg-hero .wp-block-button__link { padding:.65rem 1.1rem; }
.mg-studio-link { margin-top:16px !important; font-size:clamp(.875rem,1.2vw,1.1rem); }
.mg-hero-address { margin-top:auto !important; padding-top:20px; padding-bottom:2px; font-size:clamp(.61rem,.83vw,.78rem); letter-spacing:.2em; }
.mg-portraits { gap:1.3%; margin:0; align-items:flex-start !important; }
.mg-portraits .wp-block-column { min-width:0; }
.mg-portraits > .wp-block-column:first-child { flex-basis:47.4% !important; }
.mg-portraits > .wp-block-column:last-child { flex-basis:52.6% !important; }
.mg-portraits .wp-block-image { width:100%; }
.mg-portraits img { display:block; width:100%; aspect-ratio:.592; height:auto; object-fit:cover; }
.mg-portrait-man { margin-top:clamp(12px,1.3vw,20px) !important; }
.mg-portrait-man img { aspect-ratio:.647; }
.mg-strip { border-block:1px solid var(--wp--preset--color--line); margin-top:26px; padding-block:13px; gap:1rem; }
.mg-strip p { margin:0; }
.mg-strip p:last-child { font-size:clamp(.9rem,1.2vw,1.05rem); }
.mg-services { padding-block:clamp(34px,4vw,62px); margin-top:0; gap:9%; align-items:flex-start !important; }
.mg-services h2 { font-size:clamp(3rem,6.5vw,6.35rem); line-height:1.02; margin-block:20px 0; }
.mg-services-intro { max-width:30ch; font-size:clamp(1rem,1.5vw,1.2rem); line-height:1.4; }
.mg-services > .wp-block-column:first-child { flex-basis:44% !important; }
.mg-services > .wp-block-column:last-child { flex-basis:47% !important; }
.mg-service { border-top:1px solid var(--wp--preset--color--line); padding:22px 0; gap:5%; }
.mg-service:last-child { border-bottom:1px solid var(--wp--preset--color--line); }
.mg-service-number { font-family:var(--wp--preset--font-family--editorial); font-size:clamp(1.5rem,2.5vw,2.1rem); margin:0; flex:0 0 11%; }
.mg-service-body { flex:1; min-width:0; }
.mg-service-title { font-size:clamp(2rem,3.7vw,3.7rem); line-height:1.1; margin:0; letter-spacing:-.045em; }
.mg-service-title a { display:flex; align-items:center; justify-content:space-between; text-decoration:none; gap:12px; }
.mg-service-title a::after { content:""; flex:0 0 24px; height:24px; mask:url('../icons/arrow.svg') center/contain no-repeat; background:currentColor; }
.mg-service-title a:hover { color:var(--wp--preset--color--muted); }
.mg-service-description { font-size:clamp(.9rem,1.25vw,1.05rem); margin-top:12px; }
.mg-statement { background:var(--wp--preset--color--olive); color:var(--wp--preset--color--cream); padding-block:clamp(24px,2.2vw,34px); }
.mg-statement-inner { gap:3%; align-items:center !important; }
.mg-statement h2 { font-size:clamp(3rem,6.3vw,6.1rem); letter-spacing:-.05em; line-height:1.06; margin:0; }
.mg-statement-inner > .wp-block-column:nth-child(1) { flex-basis:46% !important; }
.mg-statement-inner > .wp-block-column:nth-child(2) { flex-basis:24% !important; }
.mg-statement-inner > .wp-block-column:nth-child(3) { flex-basis:24% !important; padding-left:3%; }
.mg-statement-photo img { width:100%; aspect-ratio:1.045; height:auto; object-fit:cover; object-position:50% 42%; display:block; }
.mg-statement-copy { font-family:var(--wp--preset--font-family--editorial); font-size:clamp(1.2rem,2vw,1.85rem); line-height:1.2; letter-spacing:-.025em; }
.mg-statement .wp-block-button__link { border-color:currentColor; color:var(--wp--preset--color--cream); background:transparent; width:100%; }
.mg-statement .wp-block-button__link:hover { color:var(--wp--preset--color--olive); background:var(--wp--preset--color--cream); }
.mg-statement .wp-block-buttons,.mg-statement .wp-block-button { width:100%; }
.mg-location { padding-block:32px 28px; gap:5%; align-items:center !important; }
.mg-location > .wp-block-column:first-child { flex-basis:48% !important; }
.mg-location > .wp-block-column:last-child { flex-basis:47% !important; border-left:1px solid var(--wp--preset--color--line); padding-left:9%; }
.mg-location h2 { font-size:clamp(2.5rem,4.6vw,4.7rem); line-height:1.07; margin-block:12px 0; }
.mg-location-detail { gap:5%; align-items:center; }
.mg-location-address { flex:1 1 52%; font-size:clamp(.875rem,1.18vw,1.05rem); }
.mg-location-address p { margin-top:0; margin-bottom:14px; }
.mg-location-symbol { flex:0 1 46%; min-width:90px; }
.mg-location-symbol img { display:block; width:100%; height:auto; }
.mg-location .wp-block-button__link { font-size:clamp(.8rem,1.1vw,1rem); padding:.8em 1em; }
.mg-footer-bottom { border-top:1px solid var(--wp--preset--color--line); padding-block:16px 22px; gap:24px; }
.mg-footer-bottom .wp-block-site-logo img { width:100px; height:auto; display:block; }
.mg-footer-bottom p { margin:0; font-size:.875rem; }
.mg-footer-bottom a { text-decoration:none; }
.mg-page-content { padding-block:64px 96px; min-height:48vh; }
.mg-page-content > h1 { max-width:17ch; margin-block:0 40px; }
.mg-article { width:92%; max-width:850px; margin-inline:auto; }
.mg-article .wp-block-post-title { margin-bottom:20px; }
.mg-article .wp-block-post-content { margin-top:36px; }
.mg-article .wp-block-post-content p { max-width:72ch; }
.mg-post-date { color:var(--wp--preset--color--muted); font-size:.875rem; }
.mg-post-entry { padding-block:32px; border-bottom:1px solid var(--wp--preset--color--line); }
.mg-post-entry h2 { font-size:clamp(2rem,3vw,3rem); }
.mg-post-entry a { text-decoration:none; }
.mg-post-navigation { border-top:1px solid var(--wp--preset--color--line); padding-top:32px; margin-top:48px; }
.mg-subpage { padding-block:clamp(45px,6vw,85px); }
.mg-subpage h1 { font-size:clamp(3rem,7vw,6.5rem); max-width:14ch; line-height:1.02; margin-block:20px 32px; }
.mg-subpage h2 { font-size:clamp(2.5rem,4.5vw,4.5rem); }
.mg-subpage .wp-block-columns { gap:8%; align-items:center !important; }
.mg-subpage-photo img { width:100%; max-height:670px; aspect-ratio:4/5; object-fit:cover; display:block; }
.mg-lead { font-size:clamp(1.15rem,1.8vw,1.55rem); line-height:1.5; max-width:40ch; }
.mg-subpage-copy { max-width:54ch; }
.mg-contact-panel { border-top:1px solid var(--wp--preset--color--line); padding-block:36px; margin-top:36px; }
.mg-contact-symbol { max-width:420px; margin-inline:auto; }
.mg-booking-note { font-size:1rem; }
.wp-block-navigation__responsive-container.is-menu-open { background:var(--wp--preset--color--cream) !important; color:var(--wp--preset--color--olive) !important; padding:28px !important; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { gap:24px; font-size:1.65rem; }
.wp-block-navigation__responsive-container-close,.wp-block-navigation__responsive-container-open { min-width:44px; min-height:44px; align-items:center; justify-content:center; }
.editor-styles-wrapper .mg-hero { width:100%; margin-inline:0; }
.editor-styles-wrapper .mg-main { margin:0; }
.editor-styles-wrapper .mg-hero-title { white-space:nowrap; font-size:clamp(3rem,6.3vw,6.5rem); }
.editor-styles-wrapper .is-root-container > .mg-hero,
.editor-styles-wrapper .is-root-container > .mg-shell,
.editor-styles-wrapper .is-root-container > .mg-statement { max-width:none; }
.editor-styles-wrapper .editor-post-title { font-size:2rem; }
@media(min-width:1608px) { .mg-hero { width:calc(50% + 740px); max-width:none; } }
@media(max-width:1100px) and (min-width:782px) { .mg-hero-title { font-size:7.55vw; } .mg-location > .wp-block-column:last-child { padding-left:5%; } .mg-location-detail { gap:3%; } .mg-location-symbol { flex-basis:39%; } .mg-statement h2 { font-size:6.2vw; } }
@media(max-width:781px) {
 .mg-shell { width:89%; } .mg-header { min-height:104px; gap:16px; } .mg-header .wp-block-site-logo img { width:144px; }
 .mg-header-actions { gap:16px; } .mg-header-cta { display:none; }
 .mg-hero { width:89%; margin-inline:auto; gap:30px; } .mg-hero > .wp-block-column:first-child { padding-top:24px; }
 .mg-hero > .wp-block-column:first-child,.mg-hero > .wp-block-column:last-child,
 .mg-services > .wp-block-column:first-child,.mg-services > .wp-block-column:last-child,
 .mg-location > .wp-block-column:first-child,.mg-location > .wp-block-column:last-child { flex-basis:100% !important; width:100%; }
 .mg-hero-title { font-size:clamp(3.3rem,10.4vw,5.75rem); margin-top:18px !important; letter-spacing:-.05em; }
 .mg-kicker { font-size:.65rem; letter-spacing:.19em; } .mg-intro { font-size:1.15rem; margin-top:24px !important; max-width:30ch; }
 .mg-hero-mark { width:118px; margin-top:12px !important; } .mg-hero .wp-block-buttons { margin-top:8px; }
 .mg-studio-link { margin-top:18px !important; } .mg-hero-address { padding-top:24px; font-size:.63rem; letter-spacing:.13em; }
 .mg-portraits { gap:9px !important; flex-wrap:nowrap !important; } .mg-portraits > .wp-block-column:first-child,.mg-portraits > .wp-block-column:last-child { flex-basis:50% !important; }
 .mg-portraits img { aspect-ratio:.66; } .mg-portrait-man { margin-top:14px !important; } .mg-portrait-man img { aspect-ratio:.66; }
 .mg-strip { margin-top:26px; padding-block:14px; gap:8px; align-items:flex-start; } .mg-strip p:last-child { font-size:.82rem; max-width:24ch; text-align:right; }
 .mg-services { padding-block:48px; gap:28px; } .mg-services h2 { font-size:clamp(3rem,10.2vw,4.5rem); margin-top:14px; } .mg-services-intro { font-size:1rem; }
 .mg-service { padding-block:20px; gap:14px; } .mg-service-title { font-size:clamp(1.85rem,6.4vw,2.8rem); } .mg-service-number { font-size:1.65rem; white-space:nowrap; } .mg-service-description { font-size:.88rem; }
 .mg-statement { padding-block:36px; } .mg-statement-inner { gap:28px; } .mg-statement h2 { font-size:clamp(3rem,10.8vw,5rem); }
 .mg-statement-inner > .wp-block-column:nth-child(2) { flex-basis:43% !important; } .mg-statement-inner > .wp-block-column:nth-child(3) { flex-basis:49% !important; padding-left:0; }
 .mg-statement-inner { flex-wrap:wrap !important; column-gap:8%; } .mg-statement-inner > .wp-block-column:nth-child(1) { flex-basis:100% !important; }
 .mg-statement-photo img { aspect-ratio:.8; } .mg-statement-copy { font-size:1.2rem; } .mg-statement .wp-block-button__link { font-size:.875rem; padding:.75rem .8rem; }
 .mg-location { padding-block:36px 30px; gap:28px; } .mg-location h2 { font-size:2.8rem; } .mg-location > .wp-block-column:last-child { border-left:0; padding-left:0; }
 .mg-location-detail { flex-wrap:nowrap !important; gap:18px; } .mg-location-address { font-size:.95rem; flex-basis:55%; } .mg-location-symbol { flex-basis:42%; }
 .mg-footer-bottom .wp-block-site-logo img { width:83px; } .mg-footer-bottom p { font-size:.78rem; } .mg-page-content { padding-block:40px 64px; }
 .mg-subpage { padding-block:36px 52px; } .mg-subpage h1 { font-size:3.4rem; } .mg-subpage .wp-block-columns { gap:30px; } .mg-subpage-photo img { max-height:480px; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } * { transition:none !important; animation:none !important; } }
/* Match the approved desktop composition while keeping the mobile reflow. */
@media(min-width:782px) {
 .mg-intro { margin-top:clamp(18px,1.9vw,30px) !important; }
 .mg-hero-mark img { aspect-ratio:2; object-fit:cover; height:auto; }
 .mg-studio-link { margin-bottom:0; }
 .mg-strip { padding-block:10px; }
 .mg-service { margin-block:0; padding-block:20px; }
 .mg-main .wp-block-post-content > .mg-statement { margin-top:0; }
 .mg-statement { padding-block:clamp(20px,1.95vw,32px); }
 .mg-location { gap:0; padding-block:24px 20px; margin-block:0; }
 .mg-location > .wp-block-column:first-child { flex-basis:50% !important; }
 .mg-location > .wp-block-column:last-child { flex-basis:50% !important; padding-left:8%; }
 .mg-location-detail { gap:0; }
 .mg-location-address { flex:0 0 48%; min-width:164px; line-height:1.45; }
 .mg-location-address p { margin-bottom:12px; }
 .mg-location-symbol { flex:1 1 52%; min-width:0; }
 .mg-location-symbol img { width:116%; max-width:116%; margin-left:-8%; }
 .mg-footer-bottom { margin-top:0; padding-block:12px 16px; }
 .mg-footer-bottom .wp-block-site-logo img { width:90px; }
}
