/* Grimaldi full site: native Elementor layouts, dynamic portfolio and editorial rhythm. */
body.gr-site-v3{--gr-ink:#292a26;--gr-paper:#faf9f8;--gr-muted:#65685e;--gr-line:#d8d7ce;background:var(--gr-paper)}
.gr-site-v3 .gr-header{width:min(100% - 80px,1440px)!important;min-height:102px;padding:19px 0!important}
.gr-site-v3 .gr-header .gr-logo,.gr-site-v3 .gr-header .gr-logo img{width:126px!important}
.gr-site-v3 .gr-nav .gr-nav-cta{background:transparent;border:1px solid #aaa99f;padding:14px 18px;border-radius:2px}
.gr-site-v3 .gr-nav .gr-nav-cta:hover{background:#292a26;color:white}
.gr-site-v3 .e-con{min-width:0}
.gr-site-v3 .gx-shell{width:min(100% - 112px,1280px)!important;margin-inline:auto!important}
.gr-site-v3 .gx-section{padding-block:78px!important;gap:30px!important}
.gr-site-v3 .gx-eyebrow{font-size:11px!important;font-weight:600;letter-spacing:.12em;line-height:1.7;text-transform:uppercase;color:#727267}
.gr-site-v3 .gx-eyebrow p{margin:0}
.gr-site-v3 .gx-title,.gr-site-v3 .gx-title .elementor-heading-title,.gr-site-v3 .gr-page-title{font-size:clamp(40px,5.1vw,73px)!important;font-weight:500!important;letter-spacing:-.055em!important;line-height:1.12!important;margin:0;max-width:1060px;overflow-wrap:normal}
.gr-site-v3 .gx-heading,.gr-site-v3 .gx-heading .elementor-heading-title{font-size:clamp(30px,3.15vw,45px)!important;font-weight:500!important;line-height:1.18!important;letter-spacing:-.045em!important}
.gr-site-v3 .gx-small-heading,.gr-site-v3 .gx-small-heading .elementor-heading-title{font-size:24px!important;line-height:1.3!important;font-weight:500!important;letter-spacing:-.03em!important}
.gr-site-v3 .gx-copy{font-size:15px;line-height:1.95;color:var(--gr-muted)}
.gr-site-v3 .gx-copy p:last-child{margin-bottom:0}.gr-site-v3 .gx-copy a{color:#87450f;text-decoration:underline;text-underline-offset:4px}
.gr-site-v3 .gx-lead,.gr-site-v3 .gr-lead{font-size:17px;line-height:1.85;color:var(--gr-muted);max-width:740px;margin:0}
.gr-site-v3 .gx-lead p{margin:0}
.gr-site-v3 .gx-intro{padding-block:55px 58px!important;gap:24px!important}
.gr-site-v3 .gx-intro .gr-breadcrumbs{margin-bottom:25px;font-size:11px}
.gr-site-v3 .gx-intro .gr-page-title+.gr-lead{margin-top:25px}
.gr-site-v3 .gx-intro+.gx-section{padding-top:25px!important}
.gr-site-v3 .gx-wide-photo{height:470px;overflow:hidden}
.gr-site-v3 .gx-wide-photo .elementor-widget-image,.gr-site-v3 .gx-wide-photo .elementor-widget-container{height:100%;width:100%}
.gr-site-v3 .gx-wide-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 60%}
.gr-site-v3 .gx-editorial{display:grid!important;grid-template-columns:1fr 1.5fr;gap:90px!important;align-items:start}
.gr-site-v3 .gx-side,.gr-site-v3 .gx-main{width:100%!important;gap:23px!important}
.gr-site-v3 .gx-button .elementor-button{padding:18px 24px!important;min-height:50px;border-radius:2px;font-size:13px!important;font-weight:600;line-height:1.4}
.gr-site-v3 .gx-cta{margin-block:30px 76px!important;background:#e8e3d8;display:flex!important;flex-direction:row!important;justify-content:space-between;align-items:center;gap:55px!important;padding:52px!important}
.gr-site-v3 .gx-cta-copy{width:70%!important;gap:20px!important}
.gr-site-v3 .gx-cta>.gx-button{width:auto!important;flex-shrink:0}
.gr-site-v3 .gx-cta .gx-heading .elementor-heading-title{font-size:37px!important}
.gr-site-v3 .gx-cta .gx-copy{font-size:13px;max-width:570px}
/* Portfolio: aligned cards, information on a calm surface, no decorative arrows. */
.gr-site-v3 .gr-project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:34px;align-items:stretch}
.gr-site-v3 .gx-portfolio .gr-project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:34px 25px}
.gr-site-v3 .gr-project-card{padding:0!important;background:#eeece5;min-width:0}
.gr-site-v3 .gr-project-card>a{height:100%;display:flex;flex-direction:column;transition:background .2s}
.gr-site-v3 .gr-project-card>a:hover{background:#e8e5dc}
.gr-site-v3 .gr-project-card .gr-card-image{aspect-ratio:1.45!important;flex-shrink:0;margin:0;overflow:hidden;background:#e1dfd6}
.gr-site-v3 .gr-project-card .gr-card-image img{object-position:50% 48%;width:100%;height:100%;object-fit:cover}
.gr-site-v3 .gr-project-card .gr-card-meta{padding:23px 24px 0;margin:0;display:flex;flex-direction:column;gap:5px;font-size:10px;line-height:1.5;letter-spacing:.06em}
.gr-site-v3 .gr-project-card .gr-card-meta>span:first-child{color:#8a4a1c;font-weight:600}
.gr-site-v3 .gr-project-card h3{font-size:24px;line-height:1.32;font-weight:500;letter-spacing:-.035em;padding:10px 24px 0;margin:0}
.gr-site-v3 .gr-project-card>a>p{font-size:13px;line-height:1.8;max-width:none;padding:13px 24px 27px;margin:0;color:var(--gr-muted)}
.gr-site-v3 .gx-portfolio .gr-project-card h3{font-size:21px}
.gr-site-v3 .gr-view-project{display:block;left:16px;bottom:16px;opacity:0;font-size:11px;border-radius:2px}
.gr-site-v3 .gr-project-card>a:hover .gr-view-project,.gr-site-v3 .gr-project-card>a:focus-visible .gr-view-project{opacity:1;transform:none}
.gr-site-v3 .gr-filters{gap:8px;margin-bottom:34px}
.gr-site-v3 .gr-filters a{font-size:11px;padding:11px 14px;border-color:#cfcec4;border-radius:2px;line-height:1.5}
.gr-site-v3 .gr-results-count{font-size:12px;color:var(--gr-muted);margin:0 0 25px}
.gr-site-v3 .gr-pagination{justify-content:center;margin-top:48px;gap:9px}
.gr-site-v3 .gr-pagination .page-numbers{min-width:42px;text-align:center;border-radius:2px}
.gr-site-v3 .gr-home-v2 .gh-featured-projects .gr-project-grid{align-items:stretch;grid-template-columns:1.16fr 1fr}
.gr-site-v3 .gr-home-v2 .gh-featured-projects .gr-project-card:nth-child(2n){margin-top:60px}
.gr-site-v3 .gr-home-v2 .gh-featured-projects .gr-project-card{background:#faf9f8}
.gr-site-v3 .gr-home-v2 .gh-featured-projects .gr-card-image{aspect-ratio:1.4!important}
.gr-site-v3 .gr-home-v2 .gh-featured-projects .gr-card-meta{padding:22px 25px 0;margin:0}
.gr-site-v3 .gr-home-v2 .gh-featured-projects h3{padding:11px 25px 0;margin:0;font-size:24px}
.gr-site-v3 .gr-home-v2 .gh-featured-projects .gr-project-card>a>p{padding:14px 25px 28px;margin:0;font-size:13px;max-width:none}
.gr-site-v3 .gh-intro-copy p+p{margin-top:15px}
.gr-site-v3 .gh-hero-photo img{object-position:56% 50%!important;filter:brightness(.92) saturate(.8)}
/* Project detail: a clear reading column, real images kept proportionate. */
.gr-site-v3 .gx-project-hero{background:#ece9e2;align-items:center}
.gr-site-v3 .gx-project-hero .gr-project-cover{display:block;width:100%;height:570px;object-fit:contain;max-height:none}
.gr-site-v3 .gx-project-layout{display:grid!important;grid-template-columns:.7fr 1.55fr;gap:88px!important;align-items:start}
.gr-site-v3 .gx-project-sidebar,.gr-site-v3 .gx-project-story{width:100%!important;gap:34px!important}
.gr-site-v3 .gx-project-sidebar{background:#eeece5;padding:30px!important}
.gr-site-v3 .gr-facts{display:grid;grid-template-columns:1fr;gap:25px}
.gr-site-v3 .gr-facts dt{font-size:10px}.gr-site-v3 .gr-facts dd{font-size:14px;line-height:1.9}
.gr-site-v3 .gr-prose{max-width:780px;font-size:15px;line-height:1.95;color:#60645a}
.gr-site-v3 .gr-prose h2{font-size:29px;line-height:1.25;font-weight:500;letter-spacing:-.03em;color:var(--gr-ink);margin:40px 0 20px}
.gr-site-v3 .gr-prose h2:first-child{margin-top:0}.gr-site-v3 .gr-prose h3{font-size:22px;color:var(--gr-ink);margin-top:30px}
.gr-site-v3 .gr-prose ul{padding-left:22px;margin-block:22px}.gr-site-v3 .gr-prose li{padding-left:4px;margin-block:9px}
.gr-site-v3 .gr-prose a{color:#87450f;text-underline-offset:4px}
.gr-site-v3 .gx-gallery-section{padding-bottom:55px!important}
.gr-site-v3 .gr-gallery{gap:24px}.gr-site-v3 .gr-gallery img{aspect-ratio:4/3;object-fit:cover}.gr-site-v3 .gr-gallery a:first-child:nth-last-child(odd){grid-column:auto}
.gr-site-v3 .gr-gallery a:only-child{max-width:850px;grid-column:1/-1}
.gr-site-v3 .gr-gallery-heading{font-size:32px;line-height:1.2;letter-spacing:-.04em;margin:0 0 28px}
.gr-site-v3 .gr-video-section h2{font-size:29px;line-height:1.25;font-weight:500;margin:10px 0 20px}
.gr-site-v3 .gr-video-gate{min-height:300px;background:#eeece5;padding:32px;font-size:13px;line-height:1.8;border-radius:2px}
.gr-site-v3 .gr-video-gate iframe{min-height:250px}
.gr-site-v3 .gx-service-layout{display:grid!important;grid-template-columns:1.5fr .8fr;gap:90px!important;align-items:start}
.gr-site-v3 .gx-service-story,.gr-site-v3 .gx-service-sidebar{width:100%!important;gap:22px!important}
.gr-site-v3 .gx-service-sidebar{background:#eeece5;padding:27px!important}
.gr-site-v3 .gx-service-sidebar .gr-project-cover{aspect-ratio:4/3;width:100%;height:auto;object-fit:cover}
.gr-site-v3 .gx-service-sidebar .gx-copy{font-size:13px}
.gr-site-v3 .gx-photo-note{font-size:10px;line-height:1.7;color:#727468}
.gr-site-v3 .gx-photo-note p{margin:0}
.gr-site-v3 .gx-service-sidebar .gx-eyebrow{margin-top:12px!important}
.gr-site-v3 .gx-services-hub .gr-service-list{gap:28px}
.gr-site-v3 .gx-services-hub .gr-service{padding:0;background:#eeece5;border:0;display:flex;flex-direction:column}
.gr-site-v3 .gr-service-image{display:block;aspect-ratio:1.85;overflow:hidden;background:#dfded4}
.gr-site-v3 .gr-service-image img{width:100%;height:100%;object-fit:cover}
.gr-site-v3 .gx-services-hub .gr-service h3{padding:27px 30px 0;margin:0;font-size:27px;line-height:1.25}
.gr-site-v3 .gx-services-hub .gr-service p{padding:16px 30px 0;margin:0;font-size:14px;line-height:1.85}
.gr-site-v3 .gx-services-hub .gr-service .gr-text-link{padding:22px 30px 30px;margin-top:auto;font-size:12px}
/* Sector hub and sector editorial pages. */
.gr-site-v3 .gr-sectors{grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
.gr-site-v3 .gr-sector{border:0;padding:0;background:#eeece5;display:flex;flex-direction:column}
.gr-site-v3 .gr-sector-photo{display:block;aspect-ratio:1.65;overflow:hidden;background:#e4e0d6}
.gr-site-v3 .gr-sector-photo img{width:100%;height:100%;object-fit:cover}
.gr-site-v3 .gr-sector h3{font-size:24px;line-height:1.25;margin:0;padding:24px 24px 0}
.gr-site-v3 .gr-sector p{font-size:13px;line-height:1.8;padding:15px 24px 0;margin:0}
.gr-site-v3 .gr-sector-label{font-size:11px;padding:19px 24px 25px;margin-top:auto}
.gr-site-v3 .gx-sector-content:has(.elementor-widget-container:empty){display:none}
.gr-site-v3 .gx-sector-content .gr-prose{max-width:850px;margin-inline:auto}
/* Contact, forms and reading aids. */
.gr-site-v3 .gx-contact-layout{display:grid!important;grid-template-columns:1fr 1.15fr;gap:70px!important;align-items:center}
.gr-site-v3 .gx-contact-details{gap:30px!important;width:100%!important}
.gr-site-v3 .gx-contact-details .gr-contact{grid-template-columns:1fr;gap:26px;font-size:16px}
.gr-site-v3 .gx-contact-photo{width:100%!important}.gr-site-v3 .gx-contact-photo img{aspect-ratio:1.25;object-fit:cover;width:100%}
.gr-site-v3 .gx-quote-layout{display:grid!important;grid-template-columns:.82fr 1.2fr;gap:85px!important;align-items:start}
.gr-site-v3 .gx-quote-intro,.gr-site-v3 .gx-form-panel{width:100%!important;gap:22px!important}
.gr-site-v3 .gx-quote-intro .gr-contact{grid-template-columns:1fr;margin-top:18px;font-size:13px}
.gr-site-v3 .gx-form-panel{background:#eeece5;padding:35px!important}
.gr-site-v3 .gr-form-grid{gap:22px}.gr-site-v3 .gr-quote textarea{min-height:135px}
.gr-site-v3 .gr-quote input:not([type=checkbox]):not([type=hidden]),.gr-site-v3 .gr-quote textarea,.gr-site-v3 .gr-quote select{background:#faf9f8;padding:12px;border:1px solid #d4d4c9;border-radius:2px}
.gr-site-v3 .gx-faq{display:grid!important;grid-template-columns:1fr 1fr;gap:24px!important;margin-top:10px!important}
.gr-site-v3 .gx-faq-item{background:#eeece5;padding:30px!important;gap:19px!important;width:100%!important}
.gr-site-v3 .gx-faq-item .gx-copy{font-size:14px}
.gr-site-v3 .gr-footer{padding-top:35px!important}
@media(max-width:1100px){.gr-site-v3 .gx-shell{width:calc(100% - 64px)!important}.gr-site-v3 .gx-editorial,.gr-site-v3 .gx-project-layout,.gr-site-v3 .gx-service-layout,.gr-site-v3 .gx-quote-layout{gap:48px!important}.gr-site-v3 .gx-portfolio .gr-project-grid{grid-template-columns:1fr 1fr}.gr-site-v3 .gr-sectors{grid-template-columns:1fr 1fr}.gr-site-v3 .gx-contact-layout{gap:45px!important}.gr-site-v3 .gx-cta{padding:40px!important}.gr-site-v3 .gx-cta .gx-heading .elementor-heading-title{font-size:32px!important}}
@media(max-width:800px){.gr-site-v3 .gx-intro{padding-block:40px!important}.gr-site-v3 .gx-title,.gr-site-v3 .gx-title .elementor-heading-title,.gr-site-v3 .gr-page-title{font-size:44px!important;overflow-wrap:anywhere}.gr-site-v3 .gx-title br{display:none}.gr-site-v3 .gx-section{padding-block:58px!important}.gr-site-v3 .gx-editorial,.gr-site-v3 .gx-service-layout,.gr-site-v3 .gx-quote-layout,.gr-site-v3 .gx-contact-layout{grid-template-columns:1fr;gap:35px!important}.gr-site-v3 .gx-project-layout{grid-template-columns:1fr;gap:35px!important}.gr-site-v3 .gr-facts{grid-template-columns:1fr 1fr}.gr-site-v3 .gx-wide-photo{height:350px}.gr-site-v3 .gx-project-hero .gr-project-cover{height:420px}.gr-site-v3 .gx-cta{flex-direction:column!important;align-items:flex-start!important;gap:30px!important}.gr-site-v3 .gx-cta-copy{width:100%!important}.gr-site-v3 .gr-header{width:calc(100% - 48px)!important;min-height:92px;padding:16px 0!important}.gr-site-v3 .gr-header .gr-logo,.gr-site-v3 .gr-header .gr-logo img{width:110px!important}.gr-site-v3 .gr-project-card h3,.gr-site-v3 .gr-home-v2 .gh-featured-projects h3{font-size:21px}.gr-site-v3 .gx-services-hub .gr-service h3{font-size:23px;padding:25px 23px 0}.gr-site-v3 .gx-services-hub .gr-service p{padding:15px 23px 0}.gr-site-v3 .gx-services-hub .gr-service .gr-text-link{padding:20px 23px 26px}}
@media(max-width:600px){.gr-site-v3 .gx-shell{width:calc(100% - 40px)!important}.gr-site-v3 .gx-title,.gr-site-v3 .gx-title .elementor-heading-title,.gr-site-v3 .gr-page-title{font-size:35px!important;line-height:1.17!important}.gr-site-v3 .gx-intro{gap:20px!important;padding-block:28px 34px!important}.gr-site-v3 .gx-lead,.gr-site-v3 .gr-lead{font-size:15px;line-height:1.85}.gr-site-v3 .gx-heading,.gr-site-v3 .gx-heading .elementor-heading-title{font-size:29px!important}.gr-site-v3 .gx-heading br{display:none}.gr-site-v3 .gx-copy,.gr-site-v3 .gr-prose{font-size:14px;line-height:1.9}.gr-site-v3 .gx-small-heading .elementor-heading-title{font-size:22px!important}.gr-site-v3 .gx-wide-photo{height:280px}.gr-site-v3 .gx-section{padding-block:45px!important}.gr-site-v3 .gr-project-grid,.gr-site-v3 .gx-portfolio .gr-project-grid,.gr-site-v3 .gr-home-v2 .gh-featured-projects .gr-project-grid{grid-template-columns:1fr;gap:27px}.gr-site-v3 .gr-home-v2 .gh-featured-projects .gr-project-card:nth-child(2n){margin:0}.gr-site-v3 .gr-project-card .gr-card-image{aspect-ratio:1.35!important}.gr-site-v3 .gr-project-card h3{font-size:22px}.gr-site-v3 .gr-filters{gap:7px}.gr-site-v3 .gr-filters a{font-size:11px;padding:10px 11px}.gr-site-v3 .gr-filters a:first-child{min-width:64px}.gr-site-v3 .gr-sectors{grid-template-columns:1fr;gap:25px}.gr-site-v3 .gr-sector h3{font-size:24px}.gr-site-v3 .gx-project-hero .gr-project-cover{height:330px}.gr-site-v3 .gx-project-sidebar{padding:25px!important}.gr-site-v3 .gr-facts{gap:22px 16px}.gr-site-v3 .gr-facts dd{font-size:13px}.gr-site-v3 .gr-prose h2{font-size:26px;margin-top:34px}.gr-site-v3 .gr-gallery{grid-template-columns:1fr;gap:20px}.gr-site-v3 .gr-gallery-heading{font-size:27px}.gr-site-v3 .gx-cta{padding:32px 25px!important;margin-block:20px 50px!important}.gr-site-v3 .gx-cta .gx-heading .elementor-heading-title{font-size:28px!important}.gr-site-v3 .gx-form-panel{padding:24px 20px!important}.gr-site-v3 .gx-faq{grid-template-columns:1fr}.gr-site-v3 .gx-faq-item{padding:25px!important}.gr-site-v3 .gx-services-hub .gr-service-list{grid-template-columns:1fr}.gr-site-v3 .gr-video-gate{padding:25px 20px;min-height:250px}.gr-site-v3 .gr-video-gate iframe{min-height:180px}.gr-site-v3 .gr-pagination{gap:6px}.gr-site-v3 .gr-pagination .page-numbers{padding:8px;min-width:34px;font-size:13px}}
@media(prefers-reduced-motion:reduce){.gr-site-v3 *{transition:none!important}}
