/* Native WordPress block integration; the approved MAR design is retained. */
:root {
  --forest:var(--wp--preset--color--forest,#183c32);
  --forest-deep:var(--wp--preset--color--forest-deep,#123127);
  --paper:var(--wp--preset--color--paper,#f8f6f0);
  --paper-deep:var(--wp--preset--color--sand,#eeece3);
  --ink:var(--wp--preset--color--ink,#23332b);
  --muted:var(--wp--preset--color--muted,#687168);
  --gold:var(--wp--preset--color--gold,#977a4d);
  --sans:var(--wp--preset--font-family--sans,"DM Sans",Arial,sans-serif);
  --serif:var(--wp--preset--font-family--serif,"Libre Caslon Display",Georgia,serif);
}
.wp-site-blocks { padding:0; }
.wp-site-blocks > *, .mar-main { margin-block:0; }
.wp-block-group { box-sizing:border-box; }
.wp-block-image { margin:0; }
.wp-block-template-part.site-header { margin-top:0; }
.admin-bar .site-header { top:32px; }
.site-header .brand p, .facts p, .footer-brand p, .footer-links p, .project-names p { margin:0; }
.brand-mark::after { content:""; position:absolute; inset:auto 0 0; height:1px; background:var(--gold); }
.brand-mark a { text-decoration:none; }
.mar-navigation { font-family:var(--sans); font-size:12px; }
.mar-navigation .wp-block-navigation__container { gap:30px; }
.mar-navigation .wp-block-navigation-item__content { padding:8px 0; text-decoration:none; }
.mar-navigation .wp-block-navigation-item:not(.nav-contact) .wp-block-navigation-item__content:hover { text-decoration:underline; text-underline-offset:8px; text-decoration-color:var(--gold); }
.mar-navigation .nav-contact { padding:0; background:var(--forest); }
.mar-navigation .nav-contact:hover { background:var(--forest-deep); }
.mar-navigation .nav-contact > a { padding:12px 20px; color:var(--paper); }
.mar-navigation .wp-block-navigation__responsive-container.is-menu-open { background:var(--paper); color:var(--forest); padding:28px; }
.mar-navigation .is-menu-open .wp-block-navigation__responsive-container-content { align-items:stretch; padding-top:56px; }
.mar-navigation .is-menu-open .wp-block-navigation__container { align-items:stretch; width:100%; gap:8px; }
.mar-navigation .is-menu-open .wp-block-navigation-item__content { padding:12px; font-size:18px; }
.hero-content .wp-block-buttons { margin:28px 0 0; }
.hero-content { max-width:none; padding-right:40px; }
.hero h1 { font-size:clamp(62px,6vw,85px); }
.hero .eyebrow::before { content:""; display:block; width:24px; height:1px; background:#b4a277; }
.hero .wp-block-button.button-cream { padding:0; }
.hero .wp-block-button.button-cream .wp-block-button__link { color:var(--forest); background:var(--paper); border:0; border-radius:0; padding:14px 22px; font-size:12px; font-weight:500; }
.hero .wp-block-button.button-cream .wp-block-button__link:hover { background:var(--paper-deep); }
.hero-bottom::before { content:""; display:block; width:35px; height:1px; background:#8b9d86; }
.hero-media::after { content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(180deg,rgba(18,49,39,.08) 40%,rgba(18,49,39,.7) 100%); z-index:1; }
.hero-media .hero-photo { margin:0; z-index:0; }
.hero-media .hero-photo img { width:100%; height:100%; object-fit:cover; }
.hero-media .photo-label, .hero-image-caption, .hero-media .scroll-cue { z-index:2; }
.hero-media .hero-image-caption .hero-caption-label { font-family:var(--sans); font-size:8px; letter-spacing:.18em; color:#dde1d3; line-height:1.5; margin:0; }
.hero-media .hero-image-caption p + p { margin-top:10px; }
.hero-media .scroll-cue { margin:0; }
.hero-media .scroll-cue a { display:grid; place-items:center; width:100%; height:100%; font-size:24px; }
.facts .fact { min-width:0; }
.hero-content, .company-copy, .company-summary, .company-choice, .locations-heading > *, .gallery-heading > * { min-width:0; }
.hero h1, .company-choice strong, .company-copy h3, .location-tab strong, .location-tab small { overflow-wrap:anywhere; }
.hero .eyebrow { white-space:normal; }
.hero .eyebrow::before { flex-shrink:0; }
.text-link > a { display:inline-flex; gap:25px; justify-content:space-between; color:inherit; }
.service-list { counter-reset:mar-service; }
.wp-block-details.service { counter-increment:mar-service; }
.wp-block-details.service > summary { font-family:var(--serif); font-size:28px; line-height:1.2; letter-spacing:-.015em; }
.wp-block-details.service > summary::before { content:counter(mar-service,decimal-leading-zero); font-family:var(--sans); font-size:10px; color:var(--gold); letter-spacing:0; }
.wp-block-details.service > summary::after { content:"+"; font-family:var(--sans); font-size:23px; font-weight:300; margin-left:auto; width:20px; text-align:center; }
.wp-block-details.service[open] > summary::after { content:"−"; }
.wp-block-details.service .service-content { margin:0; }
.cycle-emblem { font-family:var(--sans); font-size:10px; line-height:1.8; }
.cycle-emblem::before { content:"↻"; width:80px; height:80px; display:grid; place-items:center; border:1px dotted currentColor; border-radius:50%; font-family:var(--serif); font-size:57px; line-height:1; }
.project-names p + p { padding-left:25px; border-left:1px solid #47614c; }
.gallery-grid .wp-block-image { min-width:0; }
.gallery-grid .wp-block-image > img, .mar-gallery-open { width:100%; height:315px; }
.gallery-grid .wp-block-image img { width:100%; height:100%; object-fit:cover; filter:saturate(.45); transition:transform .65s cubic-bezier(.21,.62,.36,1),filter .6s; }
.gallery-grid .wp-block-image > img { height:315px; }
.mar-gallery-open { display:block; position:relative; overflow:hidden; background:#d5dbcf; padding:0; border:0; }
.mar-gallery-open::after { content:""; position:absolute; inset:40% 0 0; background:linear-gradient(transparent,#142e2560); pointer-events:none; }
.mar-gallery-open:hover img { transform:scale(1.045); filter:saturate(.75); }
.mar-gallery-open .gallery-expand { z-index:1; }
.gallery-grid .wp-block-image figcaption { display:flex; justify-content:space-between; gap:10px; font-family:var(--sans); font-size:10px; color:var(--ink); margin:15px 0 0; text-align:left; }
.gallery-grid .wp-block-image figcaption::after { content:"↗"; color:var(--gold); }
.contact-postal { font-size:16px; line-height:1.9; margin-top:17px; color:#c7d3c5; }
.contact-email > a { display:inline-flex; align-items:center; gap:30px; color:inherit; }
.contact-address .contact-label { display:block; }
.footer-brand { display:flex; align-items:center; gap:18px; }
.footer-mark { font-family:var(--serif); font-size:33px; line-height:1; }
.footer-brand .footer-brand-subline { font-family:var(--sans); font-size:7px; letter-spacing:.11em; }
.footer-links > p { font-family:var(--sans); font-size:9px; }
.sources-wrap { padding:0 22px 18px; margin-top:24px; background:var(--paper); color:var(--ink); }
.sources-wrap[hidden] { display:none !important; }
.sources-disclosure { border-top:1px solid var(--line); font-size:11px; }
.sources-disclosure > summary { padding:14px 0; color:var(--muted); }
.sources-content { max-width:900px; padding:25px 0 35px; font-size:13px; color:var(--muted); }
.sources-content h2 { margin-bottom:20px; color:var(--forest); }
.sources-content h3 { font-size:20px; margin-top:30px; color:var(--forest); }
.sources-content a { color:var(--forest); text-decoration:underline; text-underline-offset:3px; overflow-wrap:anywhere; }
.sources-content .source-list { margin:24px 0; padding-left:20px; }
.sources-content li { margin:8px 0; }
.sources-dialog .sources-content { padding:0; }
.mar-document { min-height:55vh; }
.mar-document h1 { font-size:clamp(42px,5vw,70px); margin-bottom:30px; line-height:1.1; }
.mar-document .wp-block-post-content > * { margin-block:1.4rem; }
.mar-document .wp-block-post-content a, .mar-document .wp-block-post-excerpt__more-link { color:var(--forest); text-decoration:underline; }
.mar-document .wp-block-post-date { font-size:12px; color:var(--muted); margin-block:15px; }
.mar-post-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px; list-style:none; padding:0; margin:35px 0; }
.mar-post-card { padding-bottom:30px; border-bottom:1px solid var(--line); }
.mar-post-card h2 { font-size:34px; margin:20px 0 12px; }
.mar-post-card .wp-block-post-featured-image img { height:230px; width:100%; object-fit:cover; }
.wp-block-search__input { font:inherit; padding:12px; border:1px solid var(--line); background:var(--white); }
.wp-block-search__button { font:inherit; background:var(--forest); color:var(--paper); border:0; border-radius:0; }
@media(max-width:1100px) {
 .mar-navigation .wp-block-navigation__container{gap:20px}
 .wp-block-details.service>summary{font-size:25px}
 .gallery-grid .wp-block-image>img,.mar-gallery-open{height:280px}
}
@media(max-width:800px) {
 .hero-content{padding-right:26px}
 .hero h1{font-size:63px}
 .wp-block-details.service>summary{font-size:23px}
 .project-names p+p{padding-left:15px}
 .gallery-grid .wp-block-image>img,.mar-gallery-open{height:240px}
 .gallery-grid .wp-block-image figcaption{font-size:8px}
 .footer-brand .footer-brand-subline{display:none}
 .footer-links>p{font-size:8px}
 .mar-post-list{grid-template-columns:repeat(2,minmax(0,1fr))}
 .mar-navigation .wp-block-navigation__responsive-container:not(.is-menu-open){display:none}
 .mar-navigation .wp-block-navigation__responsive-container-open:not(.always-shown){display:flex}
}
@media(max-width:782px){.admin-bar .site-header{top:46px}}
@media(max-width:600px) {
 .hero-content{padding-right:28px}
 .hero h1{font-size:70px}
 .admin-bar .site-header{top:0}
 .hero-media .hero-image-caption .hero-caption-label{font-size:7px}
 .hero .eyebrow::before{width:16px}
 .gallery-grid .wp-block-image>img,.mar-gallery-open{height:215px}
 .gallery-grid .gallery-large>img,.gallery-large .mar-gallery-open{height:280px}
 .gallery-grid .wp-block-image figcaption{font-size:9px}
 .mar-post-list{grid-template-columns:1fr}
 .footer-brand{gap:0}
 .footer-links>p{font-size:8px}
}
@media(prefers-reduced-motion:reduce) {
 .gallery-grid .wp-block-image img { transition:none; }
 .mar-gallery-open:hover img { transform:none; }
}
