@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=DM+Sans:wght@300;400;500;600;700&display=swap');

/* Everything is scoped so the plugin can coexist with Elementor, Astra and other themes. */
.mbw, .mbw * { box-sizing: border-box; }
.mbw { --ivory:#faf8f5; --pink:#b98b96; --rose:#c39da4; --ink:#443938; --linen:#f0e7e3; --muted:#766865; background:var(--ivory); color:var(--ink); font-family:'DM Sans',Arial,sans-serif; font-size:14px; line-height:1.6; -webkit-font-smoothing:antialiased; width:100%; max-width:none; text-align:left; overflow:clip; position:relative; isolation:isolate; }
.mbw a { color:inherit; text-decoration:none; }
.mbw img { display:block; max-width:100%; }
.mbw button,.mbw select,.mbw input,.mbw textarea { font:inherit; }
.mbw button { cursor:pointer; }
.mbw *:focus-visible { outline:2px solid #c8a1a9; outline-offset:4px; }
.mbw ::selection { background:#bb9299; color:white; }
.mbw h1,.mbw h2,.mbw h3,.mbw h4,.mbw p,.mbw blockquote { margin-block-start:0; }
.mbw .mbw-container { width:min(1320px,calc(100% - 112px)); margin-inline:auto; max-width:none; }
.mbw .mbw-section { padding:98px 0; }
.mbw .mbw-title { font:500 clamp(40px,4.1vw,63px)/1.08 'Cormorant Garamond',Georgia,serif; letter-spacing:-.026em; color:var(--ink); margin:20px 0 0; }
.mbw .mbw-title em { font-weight:400; color:var(--pink); }
.mbw .mbw-kicker,.mbw .mbw-eyebrow { display:flex; align-items:center; gap:9px; text-transform:uppercase; font:700 10px/1.6 'DM Sans',sans-serif; letter-spacing:.19em; color:#a67c84; margin:0; }
.mbw .mbw-on-dark { color:#f9f2ed; }
.mbw .mbw-eyebrow-rule { width:35px; height:1px; background:currentColor; display:inline-block; }
.mbw .mbw-underlink { display:inline-flex; align-items:center; justify-content:space-between; gap:38px; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.115em; border-bottom:1px solid #ad9090; padding-bottom:12px; margin-top:14px; transition:gap .25s; }
.mbw .mbw-underlink:hover { gap:49px; }
.mbw .mbw-underlink span { font-size:19px; font-weight:400; }
.mbw .mbw-button { display:inline-flex; align-items:center; justify-content:space-between; gap:23px; padding:15px 22px; background:transparent; border:1px solid currentColor; border-radius:0; text-transform:uppercase; font:700 10px 'DM Sans',sans-serif; letter-spacing:.11em; line-height:1.3; transition:transform .25s,background .25s,color .25s; }
.mbw .mbw-button:hover { transform:translateY(-2px); }
.mbw .mbw-button span { font-size:19px; font-weight:400; }
.mbw .mbw-button-light { color:#4e3e3f; background:#fbf8f3; border-color:#fbf8f3; }
.mbw .mbw-button-light:hover { background:#eadbd8; border-color:#eadbd8; }

/* Transparent overlay header. Scrolled header is deliberately distinct. */
.mbw .mbw-header { position:absolute; z-index:40; top:0; left:0; right:0; height:96px; display:flex; align-items:center; gap:19px; padding:12px clamp(24px,4.4vw,76px); color:#fff; transition:height .3s,background .3s,color .3s,box-shadow .3s; }
.mbw.mbw-is-on-top .mbw-header { position:absolute; }
.mbw .mbw-header::before { content:''; inset:0; position:absolute; background:linear-gradient(180deg,rgba(20,19,19,.36),transparent); z-index:-1; pointer-events:none; }
.mbw .mbw-header.is-scrolled { position:fixed; height:76px; color:#4d4040; background:rgba(250,247,244,.97); box-shadow:0 9px 24px #3c2a2710; backdrop-filter:blur(16px); }
.mbw .mbw-header.is-scrolled::before { display:none; }
.mbw .mbw-brand { position:relative; display:flex; align-items:center; flex:0 0 134px; min-width:0; height:76px; z-index:4; }
.mbw .mbw-brand img { width:134px; height:auto; object-fit:contain; max-height:74px; filter:brightness(0) invert(1); transition:filter .2s; }
.mbw .mbw-header.is-scrolled .mbw-brand img { filter:none; }
.mbw .mbw-nav { margin-left:auto; display:flex; align-items:center; justify-content:center; gap:clamp(12px,1.45vw,23px); white-space:nowrap; }
.mbw .mbw-nav > a,.mbw .mbw-nav-parent > a { color:inherit; font:700 10px 'DM Sans',sans-serif; letter-spacing:.10em; text-transform:uppercase; transition:opacity .2s; }
.mbw .mbw-nav > a:hover,.mbw .mbw-nav-parent > a:hover { opacity:.65; }
.mbw .mbw-nav-parent { position:relative; display:flex; align-items:center; height:55px; }
.mbw .mbw-nav-parent > a span { font-size:13px; }
.mbw .mbw-subnav { position:absolute; top:55px; left:-18px; min-width:272px; padding:14px; background:#faf8f5; color:#473c3b; display:flex; flex-direction:column; box-shadow:0 14px 40px #0003; opacity:0; transform:translateY(8px); pointer-events:none; transition:all .2s; }
.mbw .mbw-subnav a { font-size:12px; padding:10px 11px; white-space:normal; }
.mbw .mbw-subnav a:hover { background:#ede4e1; }
.mbw .mbw-nav-parent:hover .mbw-subnav,.mbw .mbw-nav-parent:focus-within .mbw-subnav { opacity:1; transform:translateY(0); pointer-events:auto; }
.mbw .mbw-nav-action { white-space:nowrap; font:700 9px 'DM Sans',sans-serif; letter-spacing:.1em; text-transform:uppercase; padding:15px 18px; border:1px solid currentColor; margin-left:4px; transition:background .2s,color .2s; }
.mbw .mbw-nav-action span { font-size:17px; margin-left:10px; }
.mbw .mbw-nav-action:hover { background:#fff; color:#453a38; }
.mbw .mbw-header.is-scrolled .mbw-nav-action:hover { background:#443938; color:white; }
.mbw .mbw-menu-toggle { background:transparent; border:0; color:inherit; padding:8px; width:46px; height:46px; margin-left:auto; display:none; flex-direction:column; align-items:center; justify-content:center; gap:7px; z-index:5; }
.mbw .mbw-menu-toggle span { width:27px; height:1px; background:currentColor; transition:transform .25s; }
.mbw .mbw-menu-toggle.is-open span:first-child { transform:translateY(4px) rotate(45deg); }
.mbw .mbw-menu-toggle.is-open span:last-child { transform:translateY(-4px) rotate(-45deg); }
.mbw .mbw-mobile-menu { position:fixed; inset:0; z-index:35; background:#f5efed; color:#493d3c; padding:125px 8% 35px; display:flex; flex-direction:column; justify-content:space-between; transform:translateX(105%); visibility:hidden; transition:transform .38s,visibility .38s; }
.mbw .mbw-mobile-menu.is-open { transform:translateX(0); visibility:visible; }
.mbw .mbw-mobile-menu nav { display:flex; flex-direction:column; gap:12px; }
.mbw .mbw-mobile-menu nav a { font:500 clamp(34px,6vw,55px)/1.1 'Cormorant Garamond',Georgia,serif; padding-bottom:9px; border-bottom:1px solid #d5c8c6; }
.mbw .mbw-mobile-menu small { letter-spacing:.2em; font-size:9px; }
.mbw.mbw-menu-open .mbw-header { position:fixed; color:#443838; background:#f5efed; }
.mbw.mbw-menu-open .mbw-header::before { display:none; }
.mbw.mbw-menu-open .mbw-brand img { filter:none; }
body.mbw-lock-scroll { overflow:hidden !important; }

/* Static full-height hero with manual navigation. No animated motion. */
.mbw .mbw-hero { height:clamp(640px,82svh,850px); min-height:0; max-height:none; position:relative; isolation:isolate; background:#453935; color:#fff; }
.mbw .mbw-hero-images,.mbw .mbw-hero-slide { position:absolute; inset:0; }
.mbw .mbw-hero-slide { display:none; opacity:0; overflow:hidden; }
.mbw .mbw-hero-slide.is-active { display:block; opacity:1; z-index:1; }
.mbw .mbw-hero-slide img { width:100%; height:100%; object-fit:cover; object-position:center 45%; transform:none; animation:none; }
.mbw .mbw-hero-overlay { position:absolute; inset:0; z-index:2; background:linear-gradient(90deg,rgba(23,18,19,.67),rgba(23,18,19,.24) 69%,rgba(23,18,19,.17)),linear-gradient(0deg,#1813148c,transparent 43%),linear-gradient(180deg,#17121259,transparent 39%); }
.mbw .mbw-hero-top-note { position:absolute; z-index:3; top:125px; left:max(54px,5.3vw); right:max(54px,5.3vw); display:flex; justify-content:space-between; gap:20px; font-size:9px; font-weight:600; letter-spacing:.25em; }
.mbw .mbw-hero-content { position:relative; z-index:3; height:100%; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; padding-top:100px; padding-bottom:62px; }
.mbw .mbw-hero h1 { color:white; max-width:735px; font:500 clamp(44px,3.85vw,61px)/1.06 'Cormorant Garamond',Georgia,serif; letter-spacing:-.027em; margin:20px 0 20px; }
.mbw .mbw-hero h1 em { font-weight:400; color:#f2cece; }
.mbw .mbw-hero-lead { font-size:14px; line-height:1.75; color:#f8ede9; max-width:490px; margin:0; }
.mbw .mbw-hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:24px; margin-top:26px; }
.mbw .mbw-text-action { text-transform:uppercase; font-size:10px; font-weight:700; letter-spacing:.11em; border-bottom:1px solid #e9e0de; padding:10px 0; }
.mbw .mbw-text-action span { margin-left:18px; font-size:17px; }
.mbw .mbw-hero-footer { position:absolute; z-index:4; left:max(54px,5.3vw); right:max(54px,5.3vw); bottom:28px; display:flex; justify-content:space-between; align-items:center; }
.mbw .mbw-scroll-cue { display:flex; gap:13px; align-items:center; letter-spacing:.19em; font-weight:700; font-size:9px; }
.mbw .mbw-scroll-cue i { width:37px; height:1px; background:#fff; display:block; }
.mbw .mbw-slider-tools { display:flex; align-items:center; gap:10px; }
.mbw .mbw-slider-tools > span { font-size:19px; font-weight:600; }
.mbw .mbw-slider-tools > small { font-size:11px; color:#eee5e5; margin-right:8px; }
.mbw .mbw-slider-tools button { border:1px solid #ffffff8c; color:#fff; background:transparent; border-radius:50%; width:37px; height:37px; display:grid; place-items:center; font-size:19px; line-height:1; padding:0; }
.mbw .mbw-slider-tools button:hover { background:#fff3; }

/* Editorial sections. */
.mbw .mbw-intro { background:#faf8f5; }
.mbw .mbw-intro-grid { display:grid; grid-template-columns:1.16fr .75fr; gap:11%; align-items:end; }
.mbw .mbw-intro-grid > div:last-child p { font-size:14px; line-height:1.85; color:#655a58; }
.mbw .mbw-about { background:#f0e7e3; display:grid; grid-template-columns:1fr 1fr; min-height:620px; }
.mbw .mbw-about-visual { position:relative; min-height:620px; overflow:hidden; background:#b4a7a2; }
.mbw .mbw-about-visual img { width:100%; height:100%; object-fit:cover; object-position:50% 28%; position:absolute; }
.mbw .mbw-about-visual small { position:absolute; bottom:28px; left:32px; font-size:9px; letter-spacing:.18em; color:#fff; text-shadow:0 2px 9px #000b; }
.mbw .mbw-about-story { padding:clamp(46px,5.5vw,90px) clamp(40px,5.5vw,90px); align-self:center; }
.mbw .mbw-about-story .mbw-title { font-size:clamp(48px,4.65vw,69px); }
.mbw .mbw-about-story > p:not(.mbw-kicker):not(.mbw-signature) { color:#6d5e5a; font-size:14px; line-height:1.85; }
.mbw .mbw-asterisk { color:#aa858e; font-size:27px; margin:16px 0 24px; }
.mbw .mbw-about-story .mbw-signature { font:italic 35px 'Cormorant Garamond',Georgia,serif; color:#ab858c; margin:35px 0 0; }
.mbw .mbw-services { background:white; }
.mbw .mbw-centered-title { text-align:center; margin:0 auto 43px; }
.mbw .mbw-centered-title .mbw-kicker { justify-content:center; }
.mbw .mbw-centered-title > p:last-child { margin:24px auto 0; max-width:560px; color:#857875; font-size:14px; }
.mbw .mbw-service-grid { display:grid; grid-template-columns:repeat(3,1fr); grid-template-rows:345px 310px; gap:14px; }
.mbw .mbw-service-card { position:relative; overflow:hidden; color:#fff; background:#655854; display:block; }
.mbw .mbw-service-card:nth-child(1),.mbw .mbw-service-card:nth-child(5) { grid-column:span 2; }
.mbw .mbw-service-card > img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .6s; }
.mbw .mbw-service-card:hover > img { transform:scale(1.07); }
.mbw .mbw-service-shadow { position:absolute; inset:0; background:linear-gradient(0deg,#1f1618c7,transparent 67%),linear-gradient(180deg,#2018195e,transparent 33%); }
.mbw .mbw-service-card > small { position:absolute; left:28px; top:26px; font-size:9px; font-weight:700; letter-spacing:.19em; color:white; }
.mbw .mbw-service-bottom { position:absolute; left:28px; right:25px; bottom:27px; display:flex; align-items:end; justify-content:space-between; gap:12px; }
.mbw .mbw-service-bottom strong { font:500 clamp(28px,2.65vw,39px)/1.07 'Cormorant Garamond',Georgia,serif; max-width:400px; }
.mbw .mbw-round-link { display:grid; place-items:center; border-radius:50%; border:1px solid #ffffffad; min-width:45px; height:45px; font-size:25px; }
.mbw .mbw-services-cta { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:25px; margin-top:45px; }
.mbw .mbw-services-cta > span { font-size:14px; color:#806e6e; }
.mbw .mbw-quote { background:#eee3de; padding:82px 25px 78px; text-align:center; }
.mbw .mbw-quote .mbw-kicker { justify-content:center; }
.mbw .mbw-quote blockquote { margin:20px auto 8px; font:500 clamp(34px,3.35vw,51px)/1.14 'Cormorant Garamond',Georgia,serif; color:#564745; }
.mbw .mbw-quote blockquote em { color:#aa818a; font-weight:400; }
.mbw .mbw-quote > span { color:#b18e93; font-size:30px; }
.mbw .mbw-portfolio { background:#faf8f5; }
.mbw .mbw-portfolio-top { display:flex; align-items:end; justify-content:space-between; gap:20px; margin-bottom:43px; }
.mbw .mbw-filters { display:flex; align-items:center; flex-wrap:wrap; gap:24px; }
.mbw .mbw-filters button { color:#857673; border:0; border-bottom:1px solid transparent; border-radius:0; background:transparent; padding:11px 0; font-size:11px; letter-spacing:.07em; }
.mbw .mbw-filters button.active { color:#423737; border-color:#bd929d; font-weight:700; }
.mbw .mbw-portfolio-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:15px; }
.mbw .mbw-portfolio-card { border:0; border-radius:0; background:#817471; color:white; position:relative; overflow:hidden; text-align:left; padding:0; aspect-ratio:.8; min-width:0; }
.mbw .mbw-portfolio-card:nth-child(2) { margin-top:28px; }
.mbw .mbw-portfolio-card:nth-child(3) { margin-top:56px; }
.mbw .mbw-portfolio-card img { width:100%; height:100%; object-fit:cover; position:absolute; inset:0; transition:transform .5s; }
.mbw .mbw-portfolio-card:hover img { transform:scale(1.06); }
.mbw .mbw-portfolio-shade { position:absolute; inset:0; background:linear-gradient(0deg,#251b1ca8,transparent 56%); }
.mbw .mbw-portfolio-copy { display:flex; flex-direction:column; gap:6px; position:absolute; z-index:2; left:25px; right:22px; bottom:25px; }
.mbw .mbw-portfolio-copy small { color:#fff; font-size:9px; letter-spacing:.15em; }
.mbw .mbw-portfolio-copy strong { font:500 29px/1.1 'Cormorant Garamond',serif; }
.mbw .mbw-portfolio-arrow { position:absolute; top:19px; right:21px; z-index:2; width:41px; height:41px; border:1px solid #fffa; border-radius:50%; font-size:22px; display:grid; place-items:center; }
.mbw .mbw-portfolio-card[hidden] { display:none !important; }
.mbw .mbw-editor-note { text-align:center; font-size:11px; color:#a2948e; margin:25px 0 0; }
.mbw .mbw-process { background:#efe6e0; }
.mbw .mbw-process-heading { display:grid; grid-template-columns:1fr .6fr; gap:9%; align-items:end; }
.mbw .mbw-process-heading > p { font-size:15px; line-height:1.9; color:#756664; }
.mbw .mbw-process-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:30px; margin-top:58px; }
.mbw .mbw-process-grid > div { border-top:1px solid #c5b2ad; padding-top:22px; }
.mbw .mbw-process-grid span { font:italic 35px 'Cormorant Garamond',Georgia,serif; color:#a48089; }
.mbw .mbw-process-grid h3 { font:500 27px 'Cormorant Garamond',Georgia,serif; margin:22px 0 14px; color:#4a3d3b; }
.mbw .mbw-process-grid p { font-size:13px; line-height:1.9; color:#726565; }
.mbw .mbw-reviews { background:white; }
.mbw .mbw-reviews-grid { display:grid; grid-template-columns:1fr .88fr; gap:12%; align-items:center; }
.mbw .mbw-reviews-grid > div:first-child > p:not(.mbw-kicker) { font-size:15px; line-height:2; color:#756964; margin:29px 0 10px; }
.mbw .mbw-review-card { background:#faf6f3; padding:42px 44px; min-height:320px; }
.mbw .mbw-review-mark { font:110px/.55 'Cormorant Garamond',serif; color:#c7a5ab; }
.mbw .mbw-review-card blockquote { margin:25px 0 0; }
.mbw .mbw-review-card blockquote p { font:italic 25px/1.25 'Cormorant Garamond',serif; color:#655250; }
.mbw .mbw-review-card blockquote cite { display:block; font:700 10px 'DM Sans',sans-serif; letter-spacing:.13em; color:#b08b90; margin-top:30px; text-transform:uppercase; }
.mbw .mbw-blog { background:#faf8f5; }
.mbw .mbw-blog-header { display:flex; justify-content:space-between; align-items:end; gap:20px; margin-bottom:38px; }
.mbw .mbw-blog-controls { display:flex; gap:8px; }
.mbw .mbw-blog-controls button { width:48px; height:48px; border:1px solid #d1bcb8; border-radius:50%; background:none; color:#594646; font-size:20px; }
.mbw .mbw-blog-controls button:hover { background:#b68e95; color:white; }
.mbw .mbw-blog-track { display:flex; overflow-x:auto; gap:20px; scroll-snap-type:x mandatory; scrollbar-width:none; padding-bottom:7px; }
.mbw .mbw-blog-track::-webkit-scrollbar { display:none; }
.mbw .mbw-blog-card { flex:0 0 calc((100% - 40px)/3); scroll-snap-align:start; min-width:0; }
.mbw .mbw-blog-card img { width:100%; aspect-ratio:1.27; object-fit:cover; background:#ddcdca; }
.mbw .mbw-blog-card small { display:block; font-size:9px; letter-spacing:.13em; color:#a98787; margin-top:24px; font-weight:700; }
.mbw .mbw-blog-card h3 { font:500 27px/1.15 'Cormorant Garamond',serif; color:#4e413f; margin:12px 0 21px; min-height:70px; }
.mbw .mbw-blog-link { font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.1em; color:#927e79; }
.mbw .mbw-faq { background:white; }
.mbw .mbw-faq-grid { display:grid; grid-template-columns:1fr 1fr; gap:10%; }
.mbw .mbw-faq-grid > div:first-child > p:last-child { font-size:14px; line-height:1.9; color:#746664; max-width:445px; margin-top:28px; }
.mbw .mbw-faq-list { padding-top:20px; }
.mbw .mbw-faq-list details { border-bottom:1px solid #e9e0dd; }
.mbw .mbw-faq-list summary { list-style:none; display:flex; gap:18px; justify-content:space-between; align-items:center; font-size:15px; padding:24px 0; cursor:pointer; }
.mbw .mbw-faq-list summary::-webkit-details-marker { display:none; }
.mbw .mbw-faq-list summary span { font-size:23px; color:#b38c94; transition:transform .2s; }
.mbw .mbw-faq-list details[open] summary span { transform:rotate(45deg); }
.mbw .mbw-faq-list details p { font-size:13px; line-height:1.9; color:#746869; padding:0 25px 17px 0; margin:0; }

/* Functional contact form. */
.mbw .mbw-contact { position:relative; isolation:isolate; background:#3f3433; color:#fff; padding:94px 0; }
.mbw .mbw-contact::before { content:''; position:absolute; inset:0; z-index:-2; background-image:var(--mbw-contact-image); background-size:cover; background-position:center; }
.mbw .mbw-contact::after { content:''; position:absolute; inset:0; z-index:-1; background:rgba(36,29,30,.87); }
.mbw .mbw-contact-grid { display:grid; grid-template-columns:1fr .84fr; gap:12%; align-items:center; }
.mbw .mbw-contact-grid .mbw-title { color:#fff; }
.mbw .mbw-contact-grid > div:first-child > p:not(.mbw-kicker) { color:#e9dedb; line-height:1.9; font-size:15px; margin-top:30px; }
.mbw .mbw-social-links { display:flex; flex-wrap:wrap; gap:13px 20px; margin-top:24px; }
.mbw .mbw-social-links a { border-bottom:1px solid #d2b0b7; padding-bottom:4px; font-size:12px; }
.mbw .mbw-contact-form { display:flex; flex-direction:column; gap:18px; }
.mbw .mbw-form-two { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.mbw .mbw-contact-form label { display:flex; flex-direction:column; gap:9px; font-size:10px; font-weight:600; letter-spacing:.11em; text-transform:uppercase; }
.mbw .mbw-contact-form input:not([type=checkbox]),.mbw .mbw-contact-form select,.mbw .mbw-contact-form textarea { width:100%; min-width:0; height:auto; min-height:45px; border:1px solid #ffffff66; border-radius:0; background:#ffffff0c; padding:13px 12px; color:#fff; outline:none; box-shadow:none; font:400 13px 'DM Sans',sans-serif; letter-spacing:0; text-transform:none; }
.mbw .mbw-contact-form input::placeholder,.mbw .mbw-contact-form textarea::placeholder { color:#e8d9d5b0; }
.mbw .mbw-contact-form select { color:#f3e9e6; }
.mbw .mbw-contact-form select option { color:#453c39; background:#fff; }
.mbw .mbw-contact-form input:focus,.mbw .mbw-contact-form select:focus,.mbw .mbw-contact-form textarea:focus { border-color:#f6d8df; }
.mbw .mbw-contact-form .mbw-consent { display:flex; flex-direction:row; align-items:flex-start; gap:10px; line-height:1.6; letter-spacing:0; font-size:10px; font-weight:400; text-transform:none; color:#eee0db; }
.mbw .mbw-consent input { flex:0 0 auto; accent-color:#ceacb7; width:15px; height:15px; margin:2px 0 0; }
.mbw .mbw-consent a { border-bottom:1px solid #f0cbd1; }
.mbw .mbw-contact-form .mbw-honeypot { display:none !important; }
.mbw .mbw-contact-form button[type=submit] { align-self:flex-start; }
.mbw .mbw-contact-form button:disabled { opacity:.6; cursor:not-allowed; }
.mbw .mbw-form-status { margin:0; font-size:12px; line-height:1.7; min-height:18px; }
.mbw .mbw-form-status.is-success { color:#e4f8df; }
.mbw .mbw-form-status.is-error { color:#ffd6d7; }
.mbw .mbw-footer { background:#332d2d; color:#f2e7e3; }
.mbw .mbw-footer-columns { display:grid; grid-template-columns:1fr 1fr .5fr; gap:40px; padding:65px 0; align-items:center; }
.mbw .mbw-footer-columns img { width:128px; height:auto; filter:brightness(0) invert(1); }
.mbw .mbw-footer-columns > div > small { font-size:9px; letter-spacing:.2em; }
.mbw .mbw-footer-columns > p { font:italic 30px/1.14 'Cormorant Garamond',Georgia,serif; color:#e2b9c1; }
.mbw .mbw-footer-columns nav { display:flex; flex-direction:column; gap:8px; font-size:12px; }
.mbw .mbw-footer-bottom { display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; border-top:1px solid #ffffff25; padding:24px 0; color:#c4b5b2; font-size:10px; letter-spacing:.08em; }
.mbw .mbw-lightbox { position:fixed; z-index:90; inset:0; background:#161114ed; display:none; align-items:center; justify-content:center; padding:70px 24px 30px; color:white; }
.mbw .mbw-lightbox.is-open { display:flex; }
.mbw .mbw-lightbox > button { border:0; background:transparent; position:absolute; right:27px; top:12px; color:#fff; font-size:41px; }
.mbw .mbw-lightbox > div { text-align:center; max-width:min(1100px,100%); }
.mbw .mbw-lightbox img { width:auto; max-height:68vh; max-width:100%; margin:auto; object-fit:contain; }
.mbw .mbw-lightbox p { font:500 32px 'Cormorant Garamond',serif; margin-top:18px; }

/* Individual service pages */
.mbw .mbw-service-hero { position:relative; isolation:isolate; display:flex; align-items:center; min-height:600px; padding:130px 0 78px; color:#fff; background:#4c3e3c; }
.mbw .mbw-service-hero::before { content:''; position:absolute; inset:0; z-index:-2; background-image:var(--mbw-service-hero); background-size:cover; background-position:center; }
.mbw .mbw-service-hero::after { content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,#1e1819c7,#20191869 80%),linear-gradient(0deg,#1c13138a,transparent); }
.mbw .mbw-service-hero h1 { font:500 clamp(48px,5.1vw,76px)/1.06 'Cormorant Garamond',serif; letter-spacing:-.04em; color:#fff; max-width:910px; margin:26px 0 24px; }
.mbw .mbw-service-hero p:not(.mbw-eyebrow) { max-width:570px; font-size:14px; line-height:1.8; color:#f4e7e4; }
.mbw .mbw-service-hero .mbw-button { margin-top:18px; }
.mbw .mbw-details-grid { display:grid; grid-template-columns:1fr .7fr; gap:12%; align-items:end; }
.mbw .mbw-details-grid > div:last-child > p { font-size:15px; line-height:1.95; color:#6e615e; }
.mbw .mbw-other-services { background:#efe6e1; }
.mbw .mbw-other-links { margin-top:45px; display:grid; grid-template-columns:1fr 1fr; gap:5px 40px; }
.mbw .mbw-other-links a { display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid #d6c1bc; padding:20px 5px; font:500 28px 'Cormorant Garamond',serif; }
.mbw .mbw-other-links a span { font:20px 'DM Sans',sans-serif; }

/* Prevent theme margins, containers and Elementor width constraints on the generated canvas. */
body.mbw-canvas-page { margin:0 !important; }
body.mbw-canvas-page > .mbw { margin:0 !important; }
body.mbw-canvas-page #wpadminbar { z-index:99999; }
body.admin-bar.mbw-canvas-page .mbw .mbw-header.is-scrolled { top:32px; }
body.admin-bar.mbw-canvas-page .mbw .mbw-mobile-menu { top:32px; }

@media(max-width:1180px) {
  .mbw .mbw-nav { gap:13px; }
  .mbw .mbw-nav > a,.mbw .mbw-nav-parent > a { font-size:9px; }
  .mbw .mbw-header { padding-inline:28px; gap:17px; }
  .mbw .mbw-brand { flex-basis:135px; }
  .mbw .mbw-brand img { width:130px; }
  .mbw .mbw-nav-action { padding:12px 14px; }
  .mbw .mbw-about-story { padding:65px 45px; }
}
@media(max-width:1040px) {
  .mbw .mbw-nav,.mbw .mbw-nav-action { display:none; }
  .mbw .mbw-menu-toggle { display:flex; }
  .mbw .mbw-header { height:93px; }
  .mbw .mbw-header.is-scrolled { height:77px; }
  .mbw .mbw-about { grid-template-columns:1fr 1fr; }
  .mbw .mbw-about-visual { min-height:640px; }
  .mbw .mbw-hero h1 { font-size:clamp(41px,4.5vw,51px); }
  .mbw .mbw-service-grid { grid-template-rows:330px 300px; }
}
@media(max-width:760px) {
  .mbw .mbw-container { width:calc(100% - 44px); }
  .mbw .mbw-section { padding:78px 0; }
  .mbw .mbw-header { padding:8px 22px; height:82px; }
  .mbw .mbw-header.is-scrolled { height:74px; }
  .mbw .mbw-brand { flex-basis:118px; height:66px; }
  .mbw .mbw-brand img { width:117px; max-height:65px; }
  .mbw .mbw-hero { min-height:650px; height:100svh; max-height:900px; }
  .mbw .mbw-hero-content { padding-top:105px; padding-bottom:70px; }
  .mbw .mbw-hero-top-note { top:115px; left:23px; right:23px; font-size:8px; }
  .mbw .mbw-hero-top-note span:last-child { display:none; }
  .mbw .mbw-hero h1 { font-size:clamp(51px,11.7vw,79px); margin:25px 0 19px; line-height:.98; }
  .mbw .mbw-hero-lead { font-size:13px; line-height:1.75; max-width:440px; }
  .mbw .mbw-hero-actions { margin-top:27px; gap:20px; }
  .mbw .mbw-button { padding:16px 18px; font-size:9px; gap:12px; }
  .mbw .mbw-text-action { font-size:9px; }
  .mbw .mbw-hero-footer { left:23px; right:23px; bottom:29px; }
  .mbw .mbw-scroll-cue { gap:8px; font-size:8px; }
  .mbw .mbw-scroll-cue i { width:19px; }
  .mbw .mbw-slider-tools { gap:7px; }
  .mbw .mbw-slider-tools button { width:33px; height:33px; font-size:17px; }
  .mbw .mbw-slider-tools > span { font-size:16px; }
  .mbw .mbw-title { font-size:clamp(45px,9.5vw,68px); }
  .mbw .mbw-intro-grid,.mbw .mbw-about,.mbw .mbw-process-heading,.mbw .mbw-reviews-grid,.mbw .mbw-faq-grid,.mbw .mbw-contact-grid,.mbw .mbw-details-grid { grid-template-columns:1fr; }
  .mbw .mbw-intro-grid { gap:26px; }
  .mbw .mbw-intro-grid > div:last-child p { font-size:14px; }
  .mbw .mbw-about-visual { min-height:480px; }
  .mbw .mbw-about-story { padding:65px 28px 72px; }
  .mbw .mbw-about-story .mbw-title { font-size:71px; }
  .mbw .mbw-centered-title { margin-bottom:36px; }
  .mbw .mbw-service-grid { grid-template-columns:1fr 1fr; grid-template-rows:none; gap:10px; }
  .mbw .mbw-service-card { height:280px; }
  .mbw .mbw-service-card:nth-child(1),.mbw .mbw-service-card:nth-child(5) { grid-column:span 2; height:330px; }
  .mbw .mbw-service-card > small { top:17px; left:16px; font-size:8px; }
  .mbw .mbw-service-bottom { left:16px; right:13px; bottom:16px; }
  .mbw .mbw-service-bottom strong { font-size:28px; line-height:1; }
  .mbw .mbw-round-link { min-width:33px; height:33px; font-size:20px; }
  .mbw .mbw-services-cta { flex-direction:column; gap:7px; text-align:center; }
  .mbw .mbw-services-cta .mbw-underlink { gap:13px; }
  .mbw .mbw-quote { padding:80px 24px; }
  .mbw .mbw-quote blockquote { font-size:40px; }
  .mbw .mbw-portfolio-top { flex-direction:column; align-items:flex-start; gap:25px; margin-bottom:35px; }
  .mbw .mbw-portfolio-grid { grid-template-columns:1fr 1fr; gap:10px; }
  .mbw .mbw-portfolio-card { aspect-ratio:.78; }
  .mbw .mbw-portfolio-card:nth-child(2),.mbw .mbw-portfolio-card:nth-child(3) { margin-top:0; }
  .mbw .mbw-portfolio-card:nth-child(3):nth-last-child(1) { grid-column:span 2; aspect-ratio:1.65; }
  .mbw .mbw-portfolio-copy { left:13px; right:10px; bottom:16px; }
  .mbw .mbw-portfolio-copy strong { font-size:24px; }
  .mbw .mbw-portfolio-arrow { right:12px; top:12px; width:33px; height:33px; font-size:18px; }
  .mbw .mbw-process-heading { gap:21px; }
  .mbw .mbw-process-grid { grid-template-columns:1fr 1fr; gap:24px; margin-top:42px; }
  .mbw .mbw-process-grid h3 { font-size:28px; }
  .mbw .mbw-process-grid p { font-size:12px; }
  .mbw .mbw-reviews-grid { gap:33px; }
  .mbw .mbw-review-card { padding:37px 31px; min-height:250px; }
  .mbw .mbw-review-card blockquote p { font-size:27px; }
  .mbw .mbw-blog-header { margin-bottom:32px; }
  .mbw .mbw-blog-controls button { width:36px; height:36px; font-size:18px; }
  .mbw .mbw-blog-card { flex-basis:75vw; }
  .mbw .mbw-blog-card h3 { font-size:29px; }
  .mbw .mbw-faq-grid { gap:15px; }
  .mbw .mbw-contact { padding:83px 0; }
  .mbw .mbw-contact-grid { gap:33px; }
  .mbw .mbw-footer-columns { grid-template-columns:1fr 1fr; gap:25px; padding:50px 0; }
  .mbw .mbw-footer-columns > p { font-size:25px; }
  .mbw .mbw-footer-columns nav { grid-column:span 2; flex-direction:row; flex-wrap:wrap; gap:15px; }
  .mbw .mbw-footer-bottom { flex-direction:column; gap:8px; }
  .mbw .mbw-other-links { grid-template-columns:1fr; gap:0; }
  .mbw .mbw-other-links a { font-size:26px; }
  .mbw .mbw-service-hero { min-height:570px; padding:145px 0 90px; }
  .mbw .mbw-service-hero h1 { font-size:clamp(52px,11vw,80px); }
  body.admin-bar.mbw-canvas-page .mbw .mbw-header.is-scrolled { top:46px; }
  body.admin-bar.mbw-canvas-page .mbw .mbw-mobile-menu { top:46px; }
}
@media(max-width:420px) {
  .mbw .mbw-hero h1 { font-size:51px; }
  .mbw .mbw-hero-actions { flex-direction:column; align-items:flex-start; gap:9px; }
  .mbw .mbw-form-two { grid-template-columns:1fr; }
  .mbw .mbw-service-bottom strong { font-size:24px; }
  .mbw .mbw-about-visual { min-height:410px; }
  .mbw .mbw-kicker { font-size:9px; }
}
/* Deliberately motion-free in all viewport sizes and reduced-motion preferences. */
.mbw, .mbw *, .mbw *::before, .mbw *::after {
  animation: none !important;
  transition: none !important;
  scroll-behavior: auto !important;
}
.mbw .mbw-button:hover,
.mbw .mbw-service-card:hover > img,
.mbw .mbw-portfolio-card:hover img { transform: none !important; }
/* Manual review navigation keeps every approved testimonial reachable. */
.mbw .mbw-review-controls { display:flex; justify-content:flex-end; gap:9px; margin-top:25px; }
.mbw .mbw-review-controls button { display:grid; place-items:center; width:37px; height:37px; border:1px solid #d3bcb9; background:transparent; color:#5d4b49; font-size:21px; padding:0; }
.mbw .mbw-review-controls button:hover { background:#e8d9d5; }

/* Portfolio category pages and full-width editorial story posts */
.mbw .mbw-collection-tabs { display:flex; flex-wrap:wrap; gap:22px; align-items:center; }
.mbw .mbw-collection-tabs a { text-transform:uppercase; font-size:11px; letter-spacing:.14em; color:#877878; border-bottom:1px solid transparent; padding-bottom:10px; }
.mbw .mbw-collection-tabs a.active,.mbw .mbw-collection-tabs a:hover { border-color:#a9818a; color:#443636; }
.mbw .mbw-collection-empty { grid-column:1/-1; background:#eee5e0; padding:65px 35px; text-align:center; }
.mbw .mbw-collection-empty h3 { font:500 clamp(35px,4vw,54px) 'Cormorant Garamond',serif; margin:0 0 12px; }
.mbw .mbw-collection-empty p { font-size:14px; line-height:1.8; color:#7e7070; }
.mbw .mbw-collection-empty .mbw-underlink { margin-top:18px; }
.mbw .mbw-story-content { background:#faf8f5; }
.mbw .mbw-story-body { max-width:800px; margin:auto; padding-inline:24px; }
.mbw .mbw-story-editor { font-size:17px; line-height:1.95; color:#564d4b; overflow-wrap:break-word; }
.mbw .mbw-story-editor h2,.mbw .mbw-story-editor h3 { font:500 clamp(34px,4vw,52px)/1.1 'Cormorant Garamond',serif; margin:42px 0 18px; }
.mbw .mbw-story-editor p { margin:0 0 1.4em; }
.mbw .mbw-story-editor figure { margin:38px 0; }
.mbw .mbw-story-editor img { max-width:100%; height:auto; }
.mbw .mbw-story-editor figcaption { font-size:12px; color:#937e7c; text-align:center; padding-top:7px; }
.mbw .mbw-story-editor a { text-decoration:underline; text-underline-offset:4px; }
.mbw .mbw-story-editor blockquote { border-left:2px solid #ac8d90; padding-left:25px; font:italic 30px 'Cormorant Garamond',serif; }
.mbw .mbw-story-return { margin-top:55px; padding-top:28px; border-top:1px solid #e7dad7; }
@media(max-width:760px) {
  .mbw .mbw-collection-tabs { gap:14px; }
  .mbw .mbw-collection-tabs a { font-size:10px; }
  .mbw .mbw-story-body { padding-inline:22px; }
  .mbw .mbw-story-editor { font-size:15px; }
}

.mbw .mbw-about-mini-review { border-left:1px solid #be969d; margin-top:30px; padding:8px 0 8px 22px; }
.mbw .mbw-about-mini-review > span { display:block; font:60px/.5 'Cormorant Garamond',serif; color:#b68f98; }
.mbw .mbw-about-mini-review p { font:italic 25px/1.15 'Cormorant Garamond',serif !important; margin:15px 0 10px; }
.mbw .mbw-about-mini-review small { font-size:10px; letter-spacing:.13em; text-transform:uppercase; color:#9c797d; }

/* 1.1.2 – mobile-first corrective layer. All photos remain static; no motion added. */
.mbw .mbw-hero h1 { max-width:100%; }
.mbw .mbw-hero-content { min-width:0; }
.mbw .mbw-mobile-menu { overflow-y:auto; overscroll-behavior:contain; }
.mbw .mbw-hero-slide img { display:block; }
@media (max-width: 1040px) {
  .mbw .mbw-hero h1 { overflow-wrap:normal; }
}
@media (max-width: 760px) {
  /* Header: true overlay, readable mark, fully tappable menu button. */
  .mbw .mbw-header { height:84px; padding:10px 21px; justify-content:space-between; }
  .mbw .mbw-header.is-scrolled { height:70px; }
  .mbw .mbw-brand { flex:0 0 109px; height:62px; max-width:109px; }
  .mbw .mbw-brand img { width:109px; height:auto; max-height:61px; object-fit:contain; }
  .mbw .mbw-menu-toggle { width:48px; height:48px; margin-left:auto; flex-shrink:0; padding:10px; }
  .mbw .mbw-mobile-menu { padding:108px 25px max(28px,env(safe-area-inset-bottom)); justify-content:flex-start; gap:30px; }
  .mbw .mbw-mobile-menu nav { gap:3px; }
  .mbw .mbw-mobile-menu nav a { font-size:clamp(29px,7vw,39px); line-height:1; padding:9px 0; min-height:43px; }
  .mbw .mbw-mobile-menu small { line-height:1.7; }

  /* Hero: keep readable line breaks, give copy room even in in-app browsers. */
  .mbw .mbw-hero { height:auto; min-height:max(670px,100svh); max-height:none; }
  .mbw .mbw-hero-images,.mbw .mbw-hero-slide { height:100%; }
  .mbw .mbw-hero-slide img { width:100%; height:100%; object-fit:cover; object-position:54% 42%; }
  .mbw .mbw-hero-overlay { background:linear-gradient(90deg,rgba(23,18,19,.66),rgba(23,18,19,.30) 78%),linear-gradient(0deg,rgba(12,9,10,.65),transparent 42%),linear-gradient(180deg,rgba(16,11,13,.28),transparent 38%); }
  .mbw .mbw-hero-top-note { top:109px; left:22px; right:22px; font-size:8px; letter-spacing:.15em; line-height:1.4; }
  .mbw .mbw-hero-content { min-height:max(670px,100svh); height:auto; justify-content:center; align-items:stretch; padding-top:168px; padding-bottom:114px; width:calc(100% - 44px); }
  .mbw .mbw-hero-content > * { max-width:100%; }
  .mbw .mbw-hero .mbw-eyebrow { display:flex; flex-wrap:wrap; gap:7px; font-size:8px; line-height:1.6; letter-spacing:.105em; max-width:100%; }
  .mbw .mbw-hero .mbw-eyebrow-rule { flex:0 0 22px; width:22px; }
  .mbw .mbw-hero h1 { display:block; font-family:'Cormorant Garamond',Georgia,serif; font-size:clamp(34px,8.4vw,45px); font-weight:500; line-height:1.07; letter-spacing:-.025em; margin:17px 0 19px; overflow-wrap:break-word; word-break:normal; hyphens:manual; text-wrap:wrap; }
  /* Restore the intentional word boundaries: never hide a BR between words. */
  .mbw .mbw-hero h1 br:first-of-type { display:block; }
  .mbw .mbw-hero h1 em { font-style:italic; font-weight:400; }
  .mbw .mbw-hero-lead { max-width:100%; font-size:13px; line-height:1.65; margin:0; }
  .mbw .mbw-hero-actions { display:flex; align-items:flex-start; flex-direction:column; flex-wrap:nowrap; gap:15px; margin-top:23px; width:100%; }
  .mbw .mbw-hero-actions .mbw-button { min-height:49px; width:auto; max-width:100%; padding:14px 17px; display:flex; gap:17px; font-size:9px; line-height:1.3; letter-spacing:.07em; text-align:left; }
  .mbw .mbw-hero-actions .mbw-button span { flex:0 0 auto; }
  .mbw .mbw-hero-actions .mbw-text-action { min-height:36px; display:inline-flex; align-items:center; gap:10px; font-size:9px; padding:6px 0; }
  .mbw .mbw-hero-actions .mbw-text-action span { margin-left:0; }
  .mbw .mbw-hero-footer { left:22px; right:22px; bottom:22px; gap:9px; }
  .mbw .mbw-scroll-cue { gap:8px; font-size:8px; letter-spacing:.08em; white-space:nowrap; }
  .mbw .mbw-scroll-cue i { width:18px; }
  .mbw .mbw-slider-tools { gap:6px; flex-shrink:0; }
  .mbw .mbw-slider-tools > span { font-size:15px; }
  .mbw .mbw-slider-tools > small { font-size:10px; margin-right:2px; }
  .mbw .mbw-slider-tools button { height:36px; width:36px; min-width:36px; font-size:17px; }
  .mbw [id] { scroll-margin-top:76px; }

  /* Prevent collisions and narrow cards in the rest of the site. */
  .mbw .mbw-container { width:calc(100% - 42px); }
  .mbw .mbw-title { font-size:clamp(36px,8.5vw,52px); line-height:1.05; overflow-wrap:break-word; }
  .mbw .mbw-kicker { font-size:9px; letter-spacing:.12em; line-height:1.6; }
  .mbw .mbw-underlink { max-width:100%; gap:15px; font-size:10px; overflow-wrap:break-word; }
  .mbw .mbw-about-story .mbw-title { font-size:clamp(43px,9vw,56px); }
  .mbw .mbw-blog-header { gap:12px; }
  .mbw .mbw-blog-header .mbw-title { font-size:clamp(34px,8vw,48px); }
  .mbw .mbw-blog-controls { flex-shrink:0; }
  .mbw .mbw-portfolio-top { gap:20px; }
  .mbw .mbw-process-grid h3 { line-height:1.12; }
  .mbw .mbw-contact-form input:not([type=checkbox]),.mbw .mbw-contact-form select,.mbw .mbw-contact-form textarea { font-size:16px; }
  .mbw .mbw-service-hero { min-height:500px; padding:140px 0 70px; }
  .mbw .mbw-service-hero h1 { font-size:clamp(42px,10.6vw,66px); line-height:1.03; overflow-wrap:break-word; }
  .mbw .mbw-service-hero p:not(.mbw-eyebrow) { font-size:14px; }
}
@media (max-width: 480px) {
  .mbw .mbw-service-grid { grid-template-columns:1fr; gap:12px; }
  .mbw .mbw-service-card, .mbw .mbw-service-card:nth-child(1),.mbw .mbw-service-card:nth-child(5) { grid-column:auto; height:clamp(255px,76vw,330px); }
  .mbw .mbw-service-bottom strong { font-size:clamp(26px,7vw,35px); }
  .mbw .mbw-portfolio-grid { grid-template-columns:1fr; gap:13px; }
  .mbw .mbw-portfolio-card, .mbw .mbw-portfolio-card:nth-child(3):nth-last-child(1) { grid-column:auto; aspect-ratio:1.08; margin-top:0; }
  .mbw .mbw-portfolio-copy strong { font-size:29px; }
  .mbw .mbw-blog-card { flex-basis:84vw; }
  .mbw .mbw-contact-form .mbw-form-two { grid-template-columns:1fr; }
  .mbw .mbw-review-card { padding:30px 24px; }
}
@media (max-width: 365px) {
  .mbw .mbw-hero { min-height:max(680px,100svh); }
  .mbw .mbw-hero-content { min-height:max(680px,100svh); padding-top:160px; }
  .mbw .mbw-hero h1 { font-size:clamp(33px,9.3vw,35px); letter-spacing:-.022em; }
  .mbw .mbw-hero-footer { left:18px; right:18px; }
  .mbw .mbw-scroll-cue { font-size:7px; }
  .mbw .mbw-slider-tools button { width:34px; height:34px; min-width:34px; }
  .mbw .mbw-brand,.mbw .mbw-brand img { max-width:100px; }
}
@media (max-height: 740px) and (max-width: 760px) {
  /* Short in-app-browser viewports: the hero extends naturally instead of clipping CTAs. */
  .mbw .mbw-hero { min-height:max(670px,100svh); }
  .mbw .mbw-hero-content { min-height:max(670px,100svh); }
}

/* 1.1.3 – balanced editorial scale on desktop and tablet; motion remains disabled. */
@media (min-width:1041px) {
  .mbw .mbw-hero-content { max-width:1320px; }
  .mbw .mbw-hero .mbw-eyebrow { font-size:9px; letter-spacing:.14em; }
  .mbw .mbw-hero h1 { text-wrap:balance; }
  .mbw .mbw-service-hero h1 { max-width:780px; }
}
@media (min-width:761px) and (max-width:1040px) {
  .mbw .mbw-hero-top-note { top:124px; }
  .mbw .mbw-hero-content { padding-top:105px; }
  .mbw .mbw-about-visual { min-height:585px; }
  .mbw .mbw-title { font-size:clamp(39px,4vw,49px); }
  .mbw .mbw-service-hero h1 { font-size:clamp(46px,5.6vw,59px); }
}
@media (max-width:760px) {
  .mbw .mbw-hero-content { padding-top:156px; }
  .mbw .mbw-hero .mbw-eyebrow { font-size:8px; }
  .mbw .mbw-hero-actions { margin-top:22px; }
  .mbw .mbw-quote blockquote { font-size:clamp(32px,8vw,40px); }
}


/* ================================================================
   VERSION 1.1.4  / QUIET EDITORIAL REDESIGN
   No motion; no auto slide rotation. The photo, not typography, leads.
   Specificity intentionally overrides previous version media queries.
   ================================================================ */
.mbw .mbw-container { width:min(1280px,calc(100% - 104px)); }
.mbw .mbw-section { padding:88px 0; }
.mbw .mbw-title { font-size:clamp(37px,3.65vw,54px); line-height:1.12; letter-spacing:-.023em; }
.mbw .mbw-kicker { font-size:9px; letter-spacing:.15em; }

/* Sparse, genuinely transparent nav — main sections only. */
.mbw .mbw-header { height:84px; padding:7px clamp(28px,4.2vw,76px); gap:27px; background:transparent; }
.mbw .mbw-header::before { background:linear-gradient(180deg,rgba(18,17,18,.43),transparent); }
.mbw .mbw-header.is-scrolled { height:68px; }
.mbw .mbw-brand { flex-basis:106px; height:68px; }
.mbw .mbw-brand img { width:106px; max-height:66px; }
.mbw .mbw-nav { gap:clamp(25px,2.5vw,40px); }
.mbw .mbw-nav > a,.mbw .mbw-nav-parent > a { font-size:11px; font-weight:500; letter-spacing:.09em; }
.mbw .mbw-nav-action { font-size:10px; padding:11px 17px; font-weight:600; letter-spacing:.1em; }
.mbw .mbw-nav-action span { margin-left:14px; }
.mbw .mbw-nav-parent { height:52px; }
.mbw .mbw-subnav { top:52px; }

/* Editorial, image-first hero; no extra labels or animation. */
.mbw .mbw-hero { height:clamp(580px,79svh,775px); min-height:0; max-height:none; }
.mbw .mbw-hero-overlay { background:linear-gradient(90deg,rgba(17,17,17,.53) 0%,rgba(17,17,17,.34) 29%,rgba(17,17,17,.02) 75%),linear-gradient(0deg,rgba(12,11,13,.38),transparent 28%),linear-gradient(180deg,rgba(15,12,12,.16),transparent 24%); }
.mbw .mbw-hero-top-note { display:none !important; }
.mbw .mbw-hero-content { justify-content:center; align-items:flex-start; padding-top:78px; padding-bottom:40px; }
.mbw .mbw-hero .mbw-eyebrow { max-width:560px; font-size:9px; font-weight:600; letter-spacing:.20em; line-height:1.5; }
.mbw .mbw-hero .mbw-eyebrow-rule { width:26px; }
.mbw .mbw-hero h1 { width:auto; max-width:760px; font:400 clamp(43px,3.45vw,54px)/1.11 'Cormorant Garamond',Georgia,serif; letter-spacing:-.02em; margin:24px 0 18px; text-wrap:balance; overflow-wrap:break-word; }
.mbw .mbw-hero h1 em { color:#ead0cf; font-weight:400; }
.mbw .mbw-hero-lead { max-width:410px; color:#f9f1ee; font-size:13px; font-weight:400; line-height:1.75; }
.mbw .mbw-hero-actions { margin-top:28px; gap:27px; }
.mbw .mbw-hero .mbw-button { font-size:10px; letter-spacing:.095em; font-weight:600; padding:13px 18px; gap:25px; }
.mbw .mbw-hero .mbw-text-action { font-size:10px; font-weight:500; letter-spacing:.1em; padding:8px 0; }
.mbw .mbw-hero-footer { bottom:30px; right:max(48px,5.2vw); left:auto; justify-content:flex-end; }
.mbw .mbw-slider-tools { gap:9px; }
.mbw .mbw-slider-tools button { width:34px; height:34px; font-size:17px; }
.mbw .mbw-slider-tools > span { font-size:14px; font-weight:500; }
.mbw .mbw-slider-tools > small { margin-right:11px; font-size:11px; }
.mbw .mbw-scroll-cue { display:none; }
/* Tame other oversized editorial headings, preserving hierarchy. */
.mbw .mbw-about-story .mbw-title { font-size:clamp(45px,3.9vw,58px); }
.mbw .mbw-service-bottom strong { font-size:clamp(27px,2.4vw,36px); }
.mbw .mbw-quote blockquote { font-size:clamp(32px,3vw,46px); }
.mbw .mbw-blog-card h3 { font-size:26px; }
.mbw .mbw-service-hero h1 { font-size:clamp(44px,4.5vw,65px); }
.mbw .mbw-service-hero { min-height:540px; }

@media (min-width:761px) and (max-width:1040px) {
  .mbw .mbw-container { width:calc(100% - 72px); }
  .mbw .mbw-header { height:80px; padding:8px 35px; }
  .mbw .mbw-brand { flex-basis:98px; height:64px; }
  .mbw .mbw-brand img { width:98px; max-height:63px; }
  .mbw .mbw-hero { height:clamp(550px,78svh,720px); }
  .mbw .mbw-hero h1 { font-size:clamp(41px,5.3vw,53px); }
  .mbw .mbw-title { font-size:clamp(37px,4.5vw,50px); }
}
@media (max-width:760px) {
  .mbw .mbw-container { width:calc(100% - 44px); }
  .mbw .mbw-section { padding:72px 0; }
  .mbw .mbw-header { height:74px; padding:7px 22px; }
  .mbw .mbw-header.is-scrolled { height:68px; }
  .mbw .mbw-brand { flex:0 0 93px; height:59px; max-width:93px; }
  .mbw .mbw-brand img { width:93px; max-height:58px; }
  .mbw .mbw-menu-toggle { height:42px; width:43px; }
  .mbw .mbw-mobile-menu { padding-top:94px; }
  .mbw .mbw-hero { height:auto; min-height: min(820px,max(630px,100svh)); max-height:none; }
  .mbw .mbw-hero-overlay { background:linear-gradient(90deg,rgba(17,14,14,.52),rgba(17,14,14,.15) 95%),linear-gradient(0deg,rgba(12,10,10,.48),transparent 65%),linear-gradient(180deg,rgba(11,9,9,.22),transparent 40%); }
  .mbw .mbw-hero-slide img { object-position:54% center; }
  .mbw .mbw-hero-content { min-height:min(820px,max(630px,100svh)); height:auto; justify-content:flex-end; padding-top:130px; padding-bottom:155px; align-items:flex-start; }
  .mbw .mbw-hero .mbw-eyebrow { font-size:8px; letter-spacing:.13em; gap:8px; }
  .mbw .mbw-hero .mbw-eyebrow-rule { width:19px; flex:0 0 19px; }
  .mbw .mbw-hero h1 { font-size:clamp(36px,9.3vw,46px); line-height:1.12; letter-spacing:-.015em; max-width:100%; margin:17px 0 15px; text-wrap:balance; }
  .mbw .mbw-hero h1 br { display:block; }
  .mbw .mbw-hero-lead { font-size:12px; line-height:1.7; max-width:320px; }
  .mbw .mbw-hero-actions { margin-top:22px; gap:18px; display:flex; flex-wrap:wrap; flex-direction:row; }
  .mbw .mbw-hero .mbw-button { font-size:9px; padding:13px 14px; gap:14px; }
  .mbw .mbw-hero .mbw-text-action { font-size:9px; white-space:nowrap; }
  .mbw .mbw-hero-footer { bottom:33px; right:22px; left:auto; }
  .mbw .mbw-slider-tools button { width:34px; height:34px; }
  .mbw .mbw-slider-tools > span { font-size:13px; }
  .mbw .mbw-title { font-size:clamp(36px,8.6vw,49px); line-height:1.13; }
  .mbw .mbw-about-story .mbw-title { font-size:clamp(42px,9.3vw,53px); }
  .mbw .mbw-quote blockquote { font-size:clamp(30px,7.4vw,41px); }
  .mbw .mbw-service-hero h1 { font-size:clamp(40px,9.1vw,56px); }
}
@media (max-width:420px) {
  .mbw .mbw-hero { min-height:max(600px,100svh); }
  .mbw .mbw-hero-content { min-height:max(600px,100svh); padding-bottom:122px; }
  .mbw .mbw-hero h1 { font-size:clamp(35px,9vw,40px); }
  .mbw .mbw-hero-actions { flex-direction:column; align-items:flex-start; gap:10px; }
  .mbw .mbw-hero .mbw-button { padding:12px 15px; }
  .mbw .mbw-hero-footer { bottom:21px; }
}
/* Stronger specificity than third-party theme overrides, without transitions. */
.mbw .mbw-header, .mbw .mbw-header * { animation:none !important; transition:none !important; }
.mbw .mbw-hero, .mbw .mbw-hero * { animation:none !important; }
.mbw .mbw-hero *:not(.mbw-hero-slide) { transition:none !important; }

/* 1.2.1: effect-specific transforms; only the hero slides animate. */
.mbw .mbw-hero-images { overflow:hidden; }
.mbw .mbw-hero-images .mbw-hero-slide {
  display:block !important;
  opacity:0;
  visibility:visible;
  pointer-events:none;
  z-index:0;
  transform:none;
  transition:opacity var(--mbw-hero-transition,700ms) ease-in-out !important;
  animation:none !important;
  will-change:opacity;
}
.mbw .mbw-hero-images .mbw-hero-slide.is-active { opacity:1; z-index:2; }
.mbw .mbw-hero-images .mbw-hero-slide img { transform:none !important; animation:none !important; }
.mbw .mbw-hero[data-mbw-effect="slide"] .mbw-hero-images .mbw-hero-slide {
  opacity:1;
  transform:translate3d(100%,0,0);
  transition:transform var(--mbw-hero-transition,700ms) cubic-bezier(.42,0,.28,1) !important;
  will-change:transform;
}
.mbw .mbw-hero[data-mbw-effect="slide"] .mbw-hero-images .mbw-hero-slide.is-active { transform:translate3d(0,0,0); z-index:2; }
.mbw .mbw-hero[data-mbw-effect="slide"] .mbw-hero-images .mbw-hero-slide.is-exiting { transform:translate3d(-100%,0,0); z-index:1; }
.mbw .mbw-hero[data-mbw-effect="none"] .mbw-hero-images .mbw-hero-slide {
  transition:none !important; will-change:auto;
}
.mbw .mbw-slider-tools { display:none !important; }
.mbw .mbw-hero-slide-status { display:flex; gap:7px; align-items:center; }
.mbw .mbw-hero-slide-status span { width:5px; height:5px; border-radius:50%; background:#fff8; }
.mbw .mbw-hero-slide-status span.is-active { width:15px; border-radius:6px; background:#fff; }
@media(prefers-reduced-motion:reduce) {
  .mbw .mbw-hero-images .mbw-hero-slide { transition:none !important; }
}
/* Multiple photos, scalable layout and no automatic slideshow in About. */
.mbw .mbw-about-photo-gallery { height:100%; width:100%; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; align-content:stretch; }
.mbw .mbw-about-photo-gallery img { position:relative; inset:auto; width:100%; height:220px; min-height:0; object-fit:cover; object-position:center; }
.mbw .mbw-about-photo-gallery img:first-child { grid-column:1/-1; height:380px; }
.mbw .mbw-about-photo-gallery:has(img:only-child) { display:block; }
.mbw .mbw-about-photo-gallery img:only-child { height:100%; min-height:620px; }
.mbw .mbw-about-photo-gallery:has(img:nth-child(4)) { grid-template-columns:repeat(3,minmax(0,1fr)); }
.mbw .mbw-about-photo-gallery:has(img:nth-child(4)) img:first-child { grid-column:1/-1; }
.mbw .mbw-about-visual { min-height:620px; }
.mbw .mbw-about-visual > small { pointer-events:none; }
.mbw .mbw-about-reviews-link { display:inline-flex; align-items:center; gap:16px; margin:19px 0 6px; border-bottom:1px solid #b9979c; padding-bottom:8px; color:#7c5761; font-size:12px; font-weight:700; }
.mbw .mbw-about-reviews-link span{font-size:20px}
.mbw .mbw-social-links .mbw-social-placeholder,.mbw .mbw-footer-social span { font-size:12px; color:#bda9a5; opacity:.82; border-bottom:1px dotted #bda9a5; }
.mbw .mbw-footer-social { display:flex; flex-direction:column; gap:7px; }
.mbw .mbw-footer-social small { font-size:9px; letter-spacing:.17em; }
.mbw .mbw-footer-social a,.mbw .mbw-footer-social span {font-size:11px}
.mbw .mbw-contact-form .mbw-conditional[hidden] {display:none !important}
.mbw .mbw-contact-form input[type=date] {color-scheme:dark}
.mbw .mbw-contact-form label { min-width:0; }
.mbw .mbw-contact-form .mbw-form-two { align-items:start; }
.mbw.mbw-contacts-page .mbw-contacts-main .mbw-contact { padding-top:175px; min-height:calc(100svh - 200px); }
@media(max-width:1020px){.mbw .mbw-footer-columns {grid-template-columns:1fr 1fr;}.mbw .mbw-footer-social {grid-column:1/-1;flex-direction:row;gap:15px;flex-wrap:wrap}}
@media(max-width:760px){
  .mbw .mbw-about-photo-gallery img:first-child {height:290px}
  .mbw .mbw-about-photo-gallery img:only-child {height:480px;min-height:0}
  .mbw .mbw-about-photo-gallery img {height:175px}
  .mbw .mbw-about-photo-gallery:has(img:nth-child(4)) {grid-template-columns:repeat(2,minmax(0,1fr))}
  .mbw .mbw-about-photo-gallery:has(img:nth-child(4)) img:first-child {grid-column:1/-1}
  .mbw .mbw-footer-social {grid-column:1/-1}
  .mbw.mbw-contacts-page .mbw-contacts-main .mbw-contact {padding-top:145px}
}

@media(min-width:1021px){.mbw .mbw-footer-columns{grid-template-columns:1fr 1.2fr .6fr .55fr;gap:26px}}

/* Version 1.2.2 — Wedding Journal / native WordPress Posts integration.
   Scoped to journal templates; existing hero/visual editor settings remain untouched. */
.mbw.mbw-journal { background:#fcfaf7; --journal-ink:#433a38; --journal-rose:#ad838b; --journal-line:#e8deda; }
.mbw .mbw-journal-hero { min-height:425px; background:#443c3c; color:white; position:relative; isolation:isolate; display:flex; align-items:center; padding:140px 0 78px; }
.mbw .mbw-journal-hero::before { content:''; position:absolute; inset:0; background:var(--mbw-journal-cover) center 46% /cover no-repeat; z-index:-2; }
.mbw .mbw-journal-hero::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,rgba(26,21,22,.79) 0%,rgba(27,24,24,.4) 67%,rgba(31,25,26,.2)),linear-gradient(0deg,rgba(22,18,17,.28),transparent 50%); z-index:-1; }
.mbw .mbw-journal-hero-content { position:relative; z-index:1; }
.mbw .mbw-journal-hero h1 { font:500 clamp(50px,5.1vw,77px)/.98 'Cormorant Garamond',Georgia,serif; letter-spacing:-.025em; margin:19px 0 13px; max-width:900px; color:white; }
.mbw .mbw-journal-hero h1 em { font-weight:400; color:#eac3c9; }
.mbw .mbw-journal-hero-content>p:last-child { font-size:13px; line-height:1.8; color:#f1e8e4; max-width:490px; }
.mbw .mbw-journal-hero-tail { position:absolute; bottom:24px; right:max(35px,calc((100% - 1320px)/2)); color:#f6eee9; display:flex; gap:17px; align-items:center; font-size:9px; letter-spacing:.24em; }
.mbw .mbw-journal-hero-tail span:last-child { font:25px 'Cormorant Garamond',Georgia,serif; color:#e7bfc6; }
.mbw .mbw-journal-main { padding:92px 0 110px; }
.mbw .mbw-journal-intro { display:grid; grid-template-columns:1fr .78fr; gap:10%; align-items:end; padding-bottom:55px; }
.mbw .mbw-journal-intro h2 { margin:12px 0 0; font:500 clamp(36px,4vw,60px)/1.07 'Cormorant Garamond',Georgia,serif; letter-spacing:-.022em; max-width:550px; }
.mbw .mbw-journal-intro h2 em { font-weight:400; color:#af8590; }
.mbw .mbw-journal-intro-right>p { max-width:500px; font-size:14px; line-height:1.93; color:#746763; margin-bottom:22px; }
.mbw .mbw-journal-tabs { display:flex; gap:27px; flex-wrap:wrap; }
.mbw .mbw-journal-tabs>a { border-bottom:1px solid transparent; color:#947f7b; padding:0 0 9px; font-size:10px; text-transform:uppercase; font-weight:700; letter-spacing:.1em; }
.mbw .mbw-journal-tabs>a[aria-current=page] { color:#473c3c; border-color:#b68f96; }
.mbw .mbw-journal-feature { display:grid; grid-template-columns:1.16fr .84fr; min-height:495px; background:#f2eae5; }
.mbw .mbw-journal-feature-image { position:relative; min-height:495px; display:block; background:#bdaca5; overflow:hidden; }
.mbw .mbw-journal-feature-image>img { width:100%; height:100%; position:absolute; inset:0; object-fit:cover; object-position:center 40%; }
.mbw .mbw-journal-feature-mark { position:absolute; left:27px; bottom:25px; font-size:9px; font-weight:700; color:white; letter-spacing:.2em; text-shadow:0 2px 12px #0009; }
.mbw .mbw-journal-feature-copy { padding:clamp(36px,5vw,82px); display:flex; align-items:flex-start; justify-content:center; flex-direction:column; }
.mbw .mbw-journal-overline { font-size:9px; font-weight:700; letter-spacing:.18em; color:#a17c81; margin:0 0 17px; }
.mbw .mbw-journal-overline span { padding:0 9px; font-size:16px; }
.mbw .mbw-journal-feature h3 { margin:0; font:500 clamp(41px,3.6vw,61px)/1.04 'Cormorant Garamond',Georgia,serif; letter-spacing:-.024em; color:#504341; overflow-wrap:anywhere; }
.mbw .mbw-journal-feature h3 a:hover,.mbw .mbw-journal-card h3 a:hover { color:#a77c85; }
.mbw .mbw-journal-rule { display:block; width:45px; height:1px; background:#b58b92; margin:26px 0 20px; }
.mbw .mbw-journal-excerpt { color:#756864; font-size:13px; line-height:1.88; max-width:395px; }
.mbw .mbw-journal-read { display:inline-flex; justify-content:space-between; align-items:center; gap:43px; color:#635251; border-bottom:1px solid #ae9391; text-transform:uppercase; font-size:10px; font-weight:700; letter-spacing:.105em; padding-bottom:10px; margin-top:18px; }
.mbw .mbw-journal-read span { font-size:20px; font-weight:400; line-height:1; }
.mbw .mbw-journal-list-head { display:flex; align-items:end; justify-content:space-between; gap:25px; margin:75px 0 34px; border-bottom:1px solid var(--journal-line); padding-bottom:25px; }
.mbw .mbw-journal-list-head>div>span { color:#ad858c; letter-spacing:.16em; font-size:9px; font-weight:700; }
.mbw .mbw-journal-list-head h2 { margin:10px 0 0; color:#4c4140; font:500 clamp(35px,3.35vw,52px)/1.1 'Cormorant Garamond',serif; }
.mbw .mbw-journal-list-head h2 em { color:#a77d87; font-weight:400; }
.mbw .mbw-journal-list-flourish { font:45px 'Cormorant Garamond',serif; color:#c29fa6; }
.mbw .mbw-journal-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); column-gap:26px; row-gap:55px; }
.mbw .mbw-journal-card { min-width:0; }
.mbw .mbw-journal-card-photo { background:#c9b7b1; display:block; position:relative; aspect-ratio:.92; overflow:hidden; }
.mbw .mbw-journal-card-photo img { width:100%; height:100%; position:absolute; inset:0; object-fit:cover; }
.mbw .mbw-journal-card-photo>span { position:absolute; z-index:2; top:17px; right:17px; display:grid; place-items:center; width:40px; height:40px; background:#f7f1edeb; color:#574747; border-radius:50%; font-size:21px; }
.mbw .mbw-journal-card-meta { display:flex; align-items:center; gap:8px; justify-content:space-between; color:#a48184; font-size:9px; font-weight:700; letter-spacing:.13em; margin:19px 0 12px; text-transform:uppercase; }
.mbw .mbw-journal-card-meta time { color:#a0908b; font-weight:500; white-space:nowrap; letter-spacing:.02em; }
.mbw .mbw-journal-card h3 { color:#504240; font:500 clamp(29px,2.55vw,39px)/1.08 'Cormorant Garamond',Georgia,serif; margin:0 0 12px; letter-spacing:-.018em; overflow-wrap:anywhere; }
.mbw .mbw-journal-card>p { font-size:12px; line-height:1.85; color:#786d69; margin:0 0 16px; }
.mbw .mbw-journal-card-link { display:inline-flex; align-items:center; gap:14px; border-bottom:1px solid #be9b9e; padding:0 0 8px; color:#81666c; font-size:10px; text-transform:uppercase; letter-spacing:.12em; font-weight:700; }
.mbw .mbw-journal-pagination { display:flex; flex-wrap:wrap; gap:8px; justify-content:center; align-items:center; margin-top:75px; }
.mbw .mbw-journal-pagination>a { display:grid; place-items:center; min-width:44px; min-height:44px; border:1px solid #dfd2ce; color:#655657; font-size:11px; }
.mbw .mbw-journal-pagination>a[aria-current=page] { color:white; background:#a48086; border-color:#a48086; }
.mbw .mbw-journal-pagination>a.mbw-journal-page-side { padding:0 15px; font-weight:600; text-transform:uppercase; letter-spacing:.09em; }
.mbw .mbw-journal-empty { text-align:center; padding:95px 25px; background:#f3ede8; }
.mbw .mbw-journal-empty>span { font-size:36px; color:#a98990; }
.mbw .mbw-journal-empty h3 { font:500 clamp(37px,4vw,60px)/1.07 'Cormorant Garamond',serif; margin:18px 0; }
.mbw .mbw-journal-empty h3 em { color:#ab8188; font-weight:400; }
.mbw .mbw-journal-empty p { color:#71605c; font-size:14px; }
.mbw .mbw-journal-bottom { background:#eee2df; padding:70px 0; }
.mbw .mbw-journal-bottom>.mbw-container { display:flex; justify-content:space-between; align-items:center; gap:35px; }
.mbw .mbw-journal-bottom h2 { font:500 clamp(37px,3.6vw,55px)/1.1 'Cormorant Garamond',serif; margin:12px 0 0; }
.mbw .mbw-journal-bottom h2 em { font-weight:400; color:#ae7e89; }
.mbw .mbw-journal-bottom .mbw-button { border-color:#a6858d; background:transparent; color:#5e4b4d; }
.mbw .mbw-journal-more { white-space:nowrap; margin-right:13px; text-decoration:underline; text-underline-offset:5px; font-size:10px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
/* Single blog post — airy editorial long-form reading layout. */
.mbw .mbw-article-top { padding:153px 0 45px; background:#f1e9e4; }
.mbw .mbw-article-top .mbw-article-crumbs { display:flex; gap:12px; flex-wrap:wrap; font-size:10px; color:#9b787d; letter-spacing:.12em; text-transform:uppercase; }
.mbw .mbw-article-heading { text-align:center; margin:55px auto 25px; max-width:1000px; }
.mbw .mbw-article-heading .mbw-kicker { justify-content:center; }
.mbw .mbw-article-heading h1 { color:#443b39; font:500 clamp(48px,5.6vw,86px)/1.02 'Cormorant Garamond',serif; letter-spacing:-.029em; margin:20px 0; overflow-wrap:anywhere; }
.mbw .mbw-article-heading>p { color:#786866; font-size:15px; line-height:1.8; max-width:700px; margin:0 auto 20px; }
.mbw .mbw-article-date { color:#a18483; display:flex; align-items:center; justify-content:center; gap:17px; font-size:10px; font-weight:700; letter-spacing:.12em; }
.mbw .mbw-article-date span { font-size:19px; }
.mbw .mbw-article-cover-wrap { background:#d5c6be; margin-top:0; padding:0; max-width:1320px; }
.mbw .mbw-article-cover { margin:0; aspect-ratio:1.85; max-height:700px; overflow:hidden; }
.mbw .mbw-article-cover img { width:100%; height:100%; object-fit:cover; object-position:center 42%; }
.mbw .mbw-article-content-area { padding:75px 0 90px; background:#fcfaf7; }
.mbw .mbw-article-article { max-width:790px; padding:0 25px; margin:0 auto; }
.mbw .mbw-article-intro-line { color:#b18d90; font-size:10px; font-weight:700; letter-spacing:.22em; display:flex; align-items:center; gap:16px; margin-bottom:37px; }
.mbw .mbw-article-intro-line>span { font-size:23px; }
.mbw .mbw-article-editor { color:#554b4a; font:400 17px/1.96 'DM Sans',Arial,sans-serif; overflow-wrap:anywhere; }
.mbw .mbw-article-editor p { margin:0 0 1.55em; }
.mbw .mbw-article-editor h2 { color:#4c403e; font:500 clamp(35px,4vw,51px)/1.12 'Cormorant Garamond',serif; margin:55px 0 20px; }
.mbw .mbw-article-editor h3 { color:#574747; font:500 34px/1.13 'Cormorant Garamond',serif; margin:40px 0 18px; }
.mbw .mbw-article-editor img { max-width:100%; height:auto; }
.mbw .mbw-article-editor figure { margin:39px 0; }
.mbw .mbw-article-editor figcaption { color:#97817f; font-size:12px; padding-top:12px; text-align:center; }
.mbw .mbw-article-editor .wp-block-gallery,.mbw .mbw-article-editor .blocks-gallery-grid { display:flex; flex-wrap:wrap; gap:12px; }
.mbw .mbw-article-editor .wp-block-gallery figure { margin:0; }
.mbw .mbw-article-editor .wp-block-image img,.mbw .mbw-article-editor .wp-block-gallery img { width:100%; height:auto; object-fit:cover; }
.mbw .mbw-article-editor .alignwide { margin-left:max(-175px,calc((740px - 96vw)/2)); margin-right:max(-175px,calc((740px - 96vw)/2)); max-width:calc(100vw - 48px); }
.mbw .mbw-article-editor .alignfull { width:calc(100vw - 48px); max-width:1200px; position:relative; left:50%; transform:translateX(-50%); }
.mbw .mbw-article-editor .wp-block-columns { display:flex; flex-wrap:wrap; gap:18px; }
.mbw .mbw-article-editor .wp-block-column { flex:1 1 240px; min-width:0; }
.mbw .mbw-article-editor blockquote { margin:35px 0; border-left:2px solid #b7919b; padding:8px 0 8px 25px; color:#775c61; font:italic 30px/1.2 'Cormorant Garamond',Georgia,serif; }
.mbw .mbw-article-editor a { text-decoration:underline; text-underline-offset:4px; }
.mbw .mbw-article-editor ul,.mbw .mbw-article-editor ol { padding-left:25px; }
.mbw .mbw-article-post-end { text-align:center; font-size:29px; color:#a98a8d; margin:60px 0 20px; }
.mbw .mbw-article-back { border-top:1px solid #e6d9d5; padding-top:25px; }
.mbw .mbw-article-related { background:#f3ece7; padding:80px 0; }
.mbw .mbw-article-related-top { margin-bottom:35px; }
.mbw .mbw-article-related-top h2 { font:500 50px 'Cormorant Garamond',serif; margin:12px 0 0; }
.mbw .mbw-article-related-top h2 em { font-weight:400; color:#b28e94; }
@media (max-width:1050px) {
  .mbw .mbw-journal-feature { grid-template-columns:1fr 1fr; min-height:440px; }
  .mbw .mbw-journal-feature-image { min-height:440px; }
  .mbw .mbw-journal-feature-copy { padding:40px; }
  .mbw .mbw-journal-feature h3 { font-size:47px; }
  .mbw .mbw-journal-grid { gap:32px 17px; }
  .mbw .mbw-journal-card h3 { font-size:32px; }
}
@media (max-width:760px) {
  .mbw .mbw-journal-hero { min-height:365px; padding:135px 0 62px; }
  .mbw .mbw-journal-hero h1 { font-size:clamp(48px,10vw,65px); }
  .mbw .mbw-journal-hero-tail { right:23px; bottom:16px; }
  .mbw .mbw-journal-main { padding:58px 0 72px; }
  .mbw .mbw-journal-intro { grid-template-columns:1fr; gap:16px; padding-bottom:35px; }
  .mbw .mbw-journal-intro h2 { font-size:clamp(42px,8vw,59px); }
  .mbw .mbw-journal-intro-right>p { font-size:13px; }
  .mbw .mbw-journal-feature { grid-template-columns:1fr; }
  .mbw .mbw-journal-feature-image { min-height:0; aspect-ratio:1.13; }
  .mbw .mbw-journal-feature-copy { padding:29px 27px 37px; }
  .mbw .mbw-journal-feature h3 { font-size:clamp(37px,8vw,48px); }
  .mbw .mbw-journal-rule { margin:18px 0 12px; }
  .mbw .mbw-journal-list-head { margin:52px 0 25px; }
  .mbw .mbw-journal-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:31px 13px; }
  .mbw .mbw-journal-card h3 { font-size:29px; }
  .mbw .mbw-journal-card-meta { flex-wrap:wrap; row-gap:2px; margin:12px 0 8px; font-size:8px; }
  .mbw .mbw-journal-card>p { font-size:12px; }
  .mbw .mbw-journal-card-photo>span { width:30px; height:30px; font-size:18px; top:10px; right:10px; }
  .mbw .mbw-journal-bottom { padding:58px 0; }
  .mbw .mbw-journal-bottom>.mbw-container { align-items:flex-start; flex-direction:column; gap:25px; }
  .mbw .mbw-journal-bottom h2 { font-size:44px; }
  .mbw .mbw-article-top { padding:132px 0 31px; }
  .mbw .mbw-article-heading { margin:35px auto 5px; }
  .mbw .mbw-article-heading h1 { font-size:clamp(44px,9vw,63px); }
  .mbw .mbw-article-heading>p { font-size:13px; }
  .mbw .mbw-article-cover-wrap { width:100%; }
  .mbw .mbw-article-cover { aspect-ratio:1.1; }
  .mbw .mbw-article-content-area { padding:49px 0 62px; }
  .mbw .mbw-article-article { padding:0 23px; }
  .mbw .mbw-article-editor { font-size:15px; line-height:1.85; }
  .mbw .mbw-article-editor .alignwide { margin-left:0; margin-right:0; max-width:100%; }
  .mbw .mbw-article-editor .alignfull { width:calc(100vw - 36px); }
  .mbw .mbw-article-related { padding:60px 0; }
  .mbw .mbw-article-related-top h2 { font-size:42px; }
}
@media (max-width:480px) {
  .mbw .mbw-journal-hero h1 { font-size:50px; }
  .mbw .mbw-journal-hero-content>p:last-child { font-size:12px; }
  .mbw .mbw-journal-tabs { gap:19px; }
  .mbw .mbw-journal-tabs>a { font-size:9px; }
  .mbw .mbw-journal-grid { grid-template-columns:1fr; gap:37px; }
  .mbw .mbw-journal-card-photo { aspect-ratio:1.16; }
  .mbw .mbw-journal-card h3 { font-size:34px; }
  .mbw .mbw-journal-list-head h2 { font-size:39px; }
  .mbw .mbw-journal-feature-image { aspect-ratio:1.1; }
  .mbw .mbw-journal-pagination { gap:5px; }
  .mbw .mbw-journal-pagination>a { min-width:34px; min-height:39px; }
  .mbw .mbw-journal-pagination>a.mbw-journal-page-side { padding:0 8px; }
  .mbw .mbw-journal-bottom .mbw-button { font-size:9px; max-width:100%; }
  .mbw .mbw-journal-more { display:none; }
}
/* Article header sits on a light background; use the dark logo and controls. */
.mbw.mbw-journal-article .mbw-header:not(.is-scrolled) { color:#514341; }
.mbw.mbw-journal-article .mbw-header:not(.is-scrolled)::before { display:none; }
.mbw.mbw-journal-article .mbw-header:not(.is-scrolled) .mbw-brand img { filter:none; }

/* v1.2.5 — final mobile polish; keeps desktop, editor settings and slider effects intact. */
.mbw .mbw-contact-form input:not([type="checkbox"]),
.mbw .mbw-contact-form select,
.mbw .mbw-contact-form textarea { min-width:0; max-width:100%; }
.mbw .mbw-story-editor :where(iframe,video,pre,table),
.mbw .mbw-article-editor :where(iframe,video,pre,table),
.mbw .mbw-faq-answer :where(iframe,video,pre,table) { max-width:100%; }
.mbw .mbw-story-editor :where(pre,table),
.mbw .mbw-article-editor :where(pre,table) { overflow-x:auto; }
@media (max-width:760px) {
  .mbw .mbw-header { gap:10px; }
  .mbw .mbw-menu-toggle { min-width:44px; min-height:44px; }
  .mbw .mbw-mobile-menu { max-height:100dvh; padding-bottom:max(28px,env(safe-area-inset-bottom)); overflow-y:auto; }
  .mbw .mbw-mobile-menu nav { flex:0 0 auto; padding-bottom:16px; }
  .mbw .mbw-mobile-menu nav a { min-height:40px; overflow-wrap:anywhere; }
  .mbw .mbw-hero .mbw-hero-actions .mbw-button { width:auto; max-width:100%; min-height:48px; white-space:normal; }
  .mbw .mbw-hero .mbw-hero-actions .mbw-text-action { min-height:40px; display:inline-flex; align-items:center; }
  .mbw .mbw-intro-grid,.mbw .mbw-faq-grid,.mbw .mbw-reviews-grid { min-width:0; }
  .mbw .mbw-contact-form :is(input,select,textarea) { font-size:16px!important; line-height:1.35; }
  .mbw .mbw-contact-form :is(input,select) { min-height:48px; }
  .mbw .mbw-contact-form textarea { min-height:116px; }
  .mbw .mbw-contact-form .mbw-consent { align-items:flex-start; }
  .mbw .mbw-contact-form .mbw-consent input { flex:0 0 auto; width:17px; height:17px; margin-top:3px; }
  .mbw .mbw-story-editor,.mbw .mbw-article-editor { overflow-wrap:anywhere; }
  .mbw .mbw-article-editor :is(.wp-block-image,.wp-block-gallery),
  .mbw .mbw-story-editor :is(.wp-block-image,.wp-block-gallery) { max-width:100%; }
  .mbw .mbw-journal-tabs,.mbw .mbw-collection-tabs { max-width:100%; overflow-x:auto; scrollbar-width:none; }
  .mbw .mbw-journal-tabs::-webkit-scrollbar,.mbw .mbw-collection-tabs::-webkit-scrollbar { display:none; }
  .mbw .mbw-hero-slide img { object-position:var(--mbw-visual-mobile-position,52%) center; }
  .mbw .mbw-hero h1 { overflow-wrap:break-word; hyphens:none; }
}
@media (max-width:600px) {
  /* Single-column fields eliminate cramped international numbers, date selectors and dropdowns. */
  .mbw .mbw-form-two { grid-template-columns:minmax(0,1fr); }
  .mbw .mbw-contact-form label { display:flex; flex-direction:column; min-width:0; }
  .mbw .mbw-contact-form .mbw-consent { flex-direction:row; }
  .mbw .mbw-contact .mbw-container { min-width:0; }
  .mbw .mbw-about-photo-gallery img:first-child { height:clamp(225px,62vw,290px); }
  .mbw .mbw-about-photo-gallery img:not(:first-child) { height:clamp(135px,43vw,175px); }
  .mbw .mbw-about-photo-gallery img:only-child { height:clamp(360px,115vw,480px); }
  .mbw .mbw-about-mini-review p { font-size:clamp(22px,6vw,27px)!important; }
  .mbw .mbw-review-card blockquote p { font-size:clamp(23px,6vw,28px); }
  .mbw .mbw-footer-columns { grid-template-columns:minmax(0,1fr); }
  .mbw .mbw-footer-columns > nav,.mbw .mbw-footer-social { grid-column:1; }
  .mbw .mbw-footer-columns > p { max-width:330px; }
  .mbw .mbw-footer-social { display:flex;flex-direction:row;gap:10px 16px;flex-wrap:wrap; }
  .mbw .mbw-footer-social small { flex-basis:100%; }
}
@media (max-width:480px) {
  /* Image-led portfolio is easier to scan one photograph at a time on phones. */
  .mbw .mbw-service-grid,.mbw .mbw-portfolio-grid { grid-template-columns:minmax(0,1fr); gap:12px; }
  .mbw .mbw-service-card,.mbw .mbw-service-card:nth-child(1),.mbw .mbw-service-card:nth-child(5) { grid-column:1/-1; height:clamp(230px,72vw,325px); }
  .mbw .mbw-portfolio-card,.mbw .mbw-portfolio-card:nth-child(3):nth-last-child(1) { grid-column:1/-1; aspect-ratio:1.08; margin-top:0; }
  .mbw .mbw-portfolio-copy strong { font-size:clamp(27px,7.2vw,33px); }
  .mbw .mbw-process-grid { grid-template-columns:minmax(0,1fr);gap:16px; }
  .mbw .mbw-process-grid > div { padding-bottom:16px; }
  .mbw .mbw-hero h1 { font-size:clamp(34px,9vw,40px); }
  .mbw .mbw-hero .mbw-hero-actions { gap:8px; }
  .mbw .mbw-hero .mbw-hero-actions .mbw-button { max-width:100%; text-wrap:wrap; }
  .mbw .mbw-journal-hero h1 { font-size:clamp(38px,10vw,46px); }
  .mbw .mbw-journal-intro h2 { font-size:clamp(38px,9vw,48px); }
  .mbw .mbw-article-heading h1 { font-size:clamp(38px,9.4vw,49px); }
  .mbw .mbw-blog-controls { gap:6px; }
  .mbw .mbw-blog-card { flex-basis:min(83vw,355px); }
  .mbw .mbw-blog-card h3 { font-size:26px; }
}
@media (max-width:350px) {
  .mbw .mbw-container { width:calc(100% - 36px); }
  .mbw .mbw-header { padding-left:18px; padding-right:18px; }
  .mbw .mbw-hero-content { padding-bottom:115px; }
  .mbw .mbw-hero .mbw-eyebrow { font-size:7.5px; }
  .mbw .mbw-hero .mbw-button { font-size:8px; letter-spacing:.065em; }
  .mbw .mbw-title { font-size:clamp(33px,9.2vw,41px); }
  .mbw .mbw-journal-feature-copy { padding:25px 18px 28px; }
  .mbw .mbw-journal-feature h3 { font-size:35px; }
}
/* Logged-in WordPress toolbar should not cover the expanded mobile navigation. */
@media (max-width:782px) {
  body.admin-bar.mbw-canvas-page .mbw.mbw-menu-open .mbw-header { top:46px; }
  body.admin-bar.mbw-canvas-page .mbw .mbw-mobile-menu { padding-top:102px; }
}

/* v1.2.6: deterministic SVG UI controls; avoid iOS pictographic emoji fallback */
.mbw svg.mbw-vector-arrow { display:inline-block; width:1em; height:1em; flex:0 0 auto; vertical-align:-.12em; fill:none; stroke:currentColor; stroke-width:1.75; stroke-linecap:round; stroke-linejoin:round; overflow:visible; }
.mbw .mbw-kicker-line, .mbw .mbw-decor-line { display:inline-block; width:23px; height:1px; background:currentColor; opacity:.68; vertical-align:middle; margin-right:8px; }
.mbw .mbw-decor-line { width:16px; margin:0 7px; }
.mbw .mbw-asterisk::before, .mbw .mbw-journal-list-flourish::before, .mbw .mbw-article-post-end::before { content:''; display:block; width:38px; height:1px; background:currentColor; opacity:.65; margin:auto; }
.mbw .mbw-asterisk { min-height:23px; display:flex; align-items:center; }
.mbw .mbw-article-post-end { display:flex; justify-content:center; align-items:center; min-height:45px; }
.mbw .mbw-kicker .mbw-kicker-line { margin-right:4px; }
.mbw .mbw-social-links svg, .mbw .mbw-footer-social svg { width:12px; height:12px; margin-left:5px; }
@media(max-width:600px){.mbw .mbw-hero-actions svg.mbw-vector-arrow { width:15px; height:15px; }}

/* v1.3.0 — one photo per hero, safe responsive image cropping and typography. */
.mbw .mbw-hero-images{position:absolute;inset:0;overflow:hidden;isolation:isolate;z-index:0}
.mbw .mbw-hero-slide{position:absolute;inset:0;display:block!important;opacity:0;visibility:hidden;pointer-events:none;transform:none;z-index:0;transition:opacity var(--mbw-hero-transition,700ms) ease-in-out,visibility 0s linear var(--mbw-hero-transition,700ms)}
.mbw .mbw-hero-slide.is-active{opacity:1;visibility:visible;z-index:2;transition:opacity var(--mbw-hero-transition,700ms) ease-in-out,visibility 0s}
.mbw .mbw-hero-slide.is-exiting{opacity:1;visibility:visible;z-index:1}
.mbw .mbw-hero-slide picture,.mbw .mbw-vhero-slide picture{display:block;position:absolute;inset:0;width:100%;height:100%;overflow:hidden}
.mbw .mbw-hero-slide img,.mbw .mbw-vhero-slide img{display:block!important;position:absolute;inset:0;width:100%;height:100%;max-width:none;max-height:none;object-fit:cover;object-position:var(--mbw-photo-x,var(--mbw-visual-position,50%)) var(--mbw-photo-y,50%)!important;transform:scale(var(--mbw-photo-zoom,1))!important;transform-origin:center;animation:none!important}
.mbw .mbw-vhero-layers{position:absolute;inset:0;z-index:0!important;overflow:hidden;isolation:isolate}
.mbw .mbw-vhero-slide{position:absolute;inset:0;opacity:0;visibility:hidden;z-index:0;transition:opacity var(--mbw-vhero-duration,700ms) ease-in-out,visibility 0s linear var(--mbw-vhero-duration,700ms)}
.mbw .mbw-vhero-slide.is-active{opacity:1;visibility:visible;z-index:2;transition:opacity var(--mbw-vhero-duration,700ms) ease-in-out,visibility 0s}
.mbw .mbw-vhero-layers[data-effect="none"] .mbw-vhero-slide{transition:none!important}
.mbw .mbw-vhero-layers[data-effect="slide"] .mbw-vhero-slide{visibility:visible;transform:translate3d(100%,0,0);transition:transform var(--mbw-vhero-duration,700ms) ease-in-out}
.mbw .mbw-vhero-layers[data-effect="slide"] .mbw-vhero-slide.is-active{transform:translate3d(0,0,0)}
.mbw .mbw-vhero-layers[data-effect="slide"] .mbw-vhero-slide.is-exiting{transform:translate3d(-100%,0,0)}
/* Remove previous CSS fallback when there is an actual editor-controlled slide; no double image. */
.mbw .mbw-service-hero:has(>.mbw-vhero-layers)::before,.mbw .mbw-journal-hero:has(>.mbw-vhero-layers)::before,.mbw .mbw-contact:has(>.mbw-vhero-layers)::before{background-image:none!important}
.mbw .mbw-service-hero:has(>.mbw-vhero-layers)::after,.mbw .mbw-journal-hero:has(>.mbw-vhero-layers)::after,.mbw .mbw-contact:has(>.mbw-vhero-layers)::after{z-index:1}
.mbw .mbw-service-hero>.mbw-container,.mbw .mbw-journal-hero>.mbw-container,.mbw .mbw-contact>.mbw-container{position:relative;z-index:3}
.mbw .mbw-journal-hero:has(>.mbw-vhero-layers) .mbw-journal-hero-tail{z-index:3}
.mbw .mbw-hero-content,.mbw .mbw-service-hero>.mbw-container,.mbw .mbw-journal-hero-content{transform:translateY(calc(var(--mbw-content-y,50%) - 50%));width:min(var(--mbw-text-width,100%),1320px)}
.mbw .mbw-hero-content{max-width:min(var(--mbw-text-width,100%),1320px)}
.mbw .mbw-hero h1{font-size:var(--mbw-title-size,clamp(43px,4.1vw,61px));max-width:100%;overflow-wrap:break-word}
.mbw .mbw-service-hero h1,.mbw .mbw-journal-hero h1,.mbw .mbw-article-top h1{font-size:var(--mbw-title-size,clamp(43px,4.1vw,65px));overflow-wrap:break-word}
.mbw .mbw-hero-lead,.mbw .mbw-service-hero .mbw-container>p:not(.mbw-eyebrow){max-width:680px}
.mbw .mbw-scroll-arrow{position:absolute;left:50%;bottom:27px;z-index:8;display:grid;place-items:center;width:43px;height:52px;transform:translateX(-50%);color:#fff;border:1px solid #ffffffa1;border-radius:999px;animation:mbw-scroll-hint 2.4s ease-in-out infinite}
.mbw .mbw-scroll-arrow svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
@keyframes mbw-scroll-hint{0%,100%{translate:0 0;opacity:.9}50%{translate:0 7px;opacity:1}}
.mbw .mbw-service-details .mbw-details-grid{align-items:start;gap:clamp(26px,4vw,70px)}
.mbw .mbw-service-details .mbw-details-grid>div{align-self:start}
.mbw .mbw-about-photo-gallery{display:block!important;width:100%;height:100%;min-height:0}
.mbw .mbw-about-photo-gallery>.mbw-about-main-image{position:absolute!important;inset:0!important;height:100%!important;min-height:100%!important;width:100%!important;object-fit:cover!important;object-position:center 25%!important}
.mbw .mbw-review-author{display:flex;align-items:center;gap:12px;margin-top:18px}
.mbw .mbw-review-author img{display:block;width:44px;height:44px;border-radius:50%;object-fit:cover;flex:0 0 44px;position:static}
.mbw .mbw-time-unknown{font-size:12px;letter-spacing:0;text-transform:none;display:flex;align-items:center;gap:8px;margin-top:6px;font-weight:400}
.mbw .mbw-time-unknown input{width:17px;height:17px;flex-shrink:0}
/* User-inserted rich editorial sections. */
.mbw .mbw-custom-section{background:#faf8f5;border-top:1px solid #eae2dd}
.mbw .mbw-custom-section:nth-child(even){background:#f3ece7}
.mbw .mbw-custom-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(35px,6vw,120px)}
.mbw .mbw-custom-section:not(:has(.mbw-custom-photo,.mbw-custom-video)) .mbw-custom-grid{grid-template-columns:minmax(0,820px);justify-content:center}
.mbw .mbw-custom-copy{min-width:0}.mbw .mbw-custom-copy h2{font-size:clamp(36px,4.4vw,58px);line-height:1.09}
.mbw .mbw-custom-richtext{font-size:clamp(14px,1.15vw,17px);line-height:1.85;color:#615450;overflow-wrap:anywhere}
.mbw .mbw-custom-richtext p{margin:0 0 1.35em}.mbw .mbw-custom-richtext ul,.mbw .mbw-custom-richtext ol{padding-left:1.3em;margin:0 0 1.3em}
.mbw .mbw-custom-richtext h3{font:500 clamp(26px,3vw,40px)/1.1 'Cormorant Garamond',Georgia,serif;margin:.7em 0 .4em}
.mbw .mbw-custom-richtext a{color:#987080;text-decoration:underline;text-underline-offset:3px}
.mbw .mbw-custom-photo{aspect-ratio:4/3;overflow:hidden;background:#e6d4d0}
.mbw .mbw-custom-photo img{display:block;width:100%;height:100%;object-fit:cover}
.mbw .mbw-custom-video{position:relative;aspect-ratio:16/9;width:100%;overflow:hidden;background:#2c2827}
.mbw .mbw-custom-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
/* Mobile navigation: submenus remain collapsed until the visitor explicitly expands them. */
.mbw .mbw-mobile-nav-heading{display:flex;align-items:center;border-bottom:1px solid #d5c8c6;gap:15px}
.mbw .mbw-mobile-nav-heading a{border:0!important;flex:1}
.mbw .mbw-mobile-nav-heading button{border:0;background:transparent;color:#5d474a;width:44px;height:44px;display:grid;place-items:center;padding:8px;flex:0 0 44px}
.mbw .mbw-mobile-nav-heading button svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.7;transition:transform .2s}
.mbw .mbw-mobile-nav-heading button[aria-expanded="true"] svg{transform:rotate(180deg)}
.mbw .mbw-mobile-submenu{display:grid;gap:0;padding:5px 0 8px 18px}
.mbw .mbw-mobile-submenu[hidden]{display:none!important}
.mbw .mbw-mobile-submenu a{font:500 19px/1.35 'DM Sans',sans-serif;letter-spacing:0;padding:11px 0;color:#695459}
.mbw img.mbw-photo-custom{object-position:var(--mbw-photo-x,50%) var(--mbw-photo-y,50%)!important;transform:scale(var(--mbw-photo-zoom,1));transform-origin:center}
@media(min-width:768px) and (max-width:1023px){
 .mbw .mbw-hero-slide img,.mbw .mbw-vhero-slide img{object-position:var(--mbw-photo-tablet-x,var(--mbw-photo-x,50%)) var(--mbw-photo-tablet-y,var(--mbw-photo-y,50%))!important;transform:scale(var(--mbw-photo-tablet-zoom,var(--mbw-photo-zoom,1)))!important}
 .mbw .mbw-hero-content,.mbw .mbw-service-hero>.mbw-container,.mbw .mbw-journal-hero-content{transform:translateY(calc(var(--mbw-content-tablet-y,var(--mbw-content-y,50%)) - 50%));width:min(var(--mbw-text-tablet-width,var(--mbw-text-width,100%)),1320px)}
 .mbw .mbw-hero h1,.mbw .mbw-service-hero h1,.mbw .mbw-journal-hero h1{font-size:var(--mbw-title-tablet-size,clamp(42px,5.4vw,58px))}
 .mbw img.mbw-photo-custom{object-position:var(--mbw-photo-tablet-x,var(--mbw-photo-x,50%)) var(--mbw-photo-tablet-y,var(--mbw-photo-y,50%))!important;transform:scale(var(--mbw-photo-tablet-zoom,var(--mbw-photo-zoom,1)))}
}
@media(max-width:767px){
 .mbw .mbw-hero-slide img,.mbw .mbw-vhero-slide img{object-position:var(--mbw-photo-mobile-x,var(--mbw-photo-x,50%)) var(--mbw-photo-mobile-y,var(--mbw-photo-y,50%))!important;transform:scale(var(--mbw-photo-mobile-zoom,var(--mbw-photo-zoom,1)))!important}
 .mbw .mbw-hero-content,.mbw .mbw-service-hero>.mbw-container,.mbw .mbw-journal-hero-content{transform:translateY(calc(var(--mbw-content-mobile-y,var(--mbw-content-y,50%)) - 50%));width:min(var(--mbw-text-mobile-width,100%),100%)}
 .mbw .mbw-hero h1,.mbw .mbw-service-hero h1,.mbw .mbw-journal-hero h1{font-size:var(--mbw-title-mobile-size,clamp(35px,9.2vw,49px));line-height:1.04}
 .mbw .mbw-scroll-arrow{bottom:68px;width:38px;height:43px}
 .mbw .mbw-service-hero{min-height:440px;padding:110px 0 70px}
 .mbw .mbw-service-details .mbw-details-grid{gap:24px}
 .mbw .mbw-custom-grid{grid-template-columns:1fr;gap:25px}
 .mbw .mbw-custom-section{padding:66px 0}
 .mbw .mbw-custom-copy h2{font-size:clamp(35px,9vw,46px)}
 .mbw .mbw-custom-photo{aspect-ratio:4/3}
 .mbw .mbw-mobile-menu nav{gap:7px;overflow:auto;padding-bottom:15px}
 .mbw .mbw-mobile-menu nav>a{font-size:clamp(29px,7vw,40px);padding-bottom:7px}
 .mbw img.mbw-photo-custom{object-position:var(--mbw-photo-mobile-x,var(--mbw-photo-x,50%)) var(--mbw-photo-mobile-y,var(--mbw-photo-y,50%))!important;transform:scale(var(--mbw-photo-mobile-zoom,var(--mbw-photo-zoom,1)))}
}
@media(prefers-reduced-motion:reduce){.mbw .mbw-scroll-arrow{animation:none!important}.mbw .mbw-hero-slide,.mbw .mbw-vhero-slide{transition:none!important}}
/* Device-specific typography saved for the selected editor text element. */
.mbw .mbw-rich-custom{font-size:var(--mbw-rich-size,18px)!important;line-height:var(--mbw-rich-line,155%)!important;margin-bottom:var(--mbw-rich-space,20px)!important;letter-spacing:var(--mbw-rich-letters,0px)!important}
@media(min-width:768px) and (max-width:1023px){.mbw .mbw-rich-custom{font-size:var(--mbw-rich-tablet-size,var(--mbw-rich-size,18px))!important;line-height:var(--mbw-rich-tablet-line,var(--mbw-rich-line,155%))!important;margin-bottom:var(--mbw-rich-tablet-space,var(--mbw-rich-space,20px))!important;letter-spacing:var(--mbw-rich-tablet-letters,var(--mbw-rich-letters,0px))!important}}
@media(max-width:767px){.mbw .mbw-rich-custom{font-size:var(--mbw-rich-mobile-size,var(--mbw-rich-size,18px))!important;line-height:var(--mbw-rich-mobile-line,var(--mbw-rich-line,155%))!important;margin-bottom:var(--mbw-rich-mobile-space,var(--mbw-rich-space,20px))!important;letter-spacing:var(--mbw-rich-mobile-letters,var(--mbw-rich-letters,0px))!important}}
.mbw .mbw-service-offers{background:#f6eeea;padding-top:82px;padding-bottom:82px}
.mbw .mbw-offers-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:24px;margin-top:30px}
.mbw .mbw-offer{padding:clamp(28px,4vw,54px);background:#fffaf7;border:1px solid #e5d3d2}
.mbw .mbw-offer h2{font:500 clamp(32px,3vw,43px)/1.12 'Cormorant Garamond',Georgia,serif;color:#554649;margin:0 0 17px}
.mbw .mbw-offer p{font-size:14px;line-height:1.85;color:#6e6260;margin:0}
@media(max-width:767px){.mbw .mbw-service-offers{padding:60px 0}.mbw .mbw-offers-grid{grid-template-columns:1fr;gap:12px}}
/* v1.3.0 mobile Hero uses the viewport, rather than accumulating content height + minimum height. */
.mbw .mbw-hero .mbw-hero-images .mbw-hero-slide img{transform:scale(var(--mbw-photo-zoom,1))!important}
.mbw .mbw-hero .mbw-scroll-arrow{animation:mbw-scroll-hint 2.4s ease-in-out infinite!important}
@media(max-width:767px){
  .mbw .mbw-hero{height:clamp(650px,100svh,900px)!important;min-height:650px!important;max-height:900px!important;overflow:hidden}
  .mbw .mbw-hero-content{height:100%!important;min-height:0!important;justify-content:center!important;padding-top:84px!important;padding-bottom:80px!important;max-width:100%!important}
  .mbw .mbw-hero-actions{margin-top:19px!important;gap:10px!important}
  .mbw .mbw-hero h1{font-size:var(--mbw-title-mobile-size,clamp(34px,9vw,43px))!important;line-height:1.04!important;margin:14px 0!important}
  .mbw .mbw-hero .mbw-hero-images .mbw-hero-slide img{transform:scale(var(--mbw-photo-mobile-zoom,var(--mbw-photo-zoom,1)))!important}
  .mbw .mbw-scroll-arrow{bottom:20px!important}
}
@media(prefers-reduced-motion:reduce){.mbw .mbw-hero .mbw-scroll-arrow{animation:none!important}}
@media(max-width:767px){
 .mbw .mbw-hero-content,.mbw .mbw-service-hero>.mbw-container,.mbw .mbw-journal-hero-content{width:calc(100% - 44px)!important;max-width:min(var(--mbw-text-mobile-width,100%),calc(100% - 44px))!important;margin-left:auto!important;margin-right:auto!important}
 .mbw .mbw-hero .mbw-hero-actions .mbw-button{font-size:9.5px!important;letter-spacing:.055em!important;padding:13px 15px!important}
}
