/* GIS, SIG e IDE: all new rules are scoped to this unit. */
.gis-unit { --gis-cream:#f7f3ed; --gis-peach:#efad86; }
.gis-unit [id] { scroll-margin-top:120px; }
.gis-unit .gis-hero { background:#292421; color:#fff; padding:32px 0 54px; border-bottom:4px solid #c26435; overflow:hidden; }
.gis-unit .gis-hero .breadcrumbs { margin-bottom:36px; color:#ded1c8; }
.gis-unit .gis-hero-grid { display:grid; grid-template-columns:minmax(0,1.13fr) minmax(0,1fr); gap:52px; align-items:center; }
.gis-unit .gis-hero-copy { min-width:0; }
.gis-unit .gis-hero .eyebrow { color:var(--gis-peach); font-size:11px; letter-spacing:.12em; margin-bottom:20px; }
.gis-unit .gis-hero h1 { font-size:clamp(37px,4.1vw,56px); line-height:1.13; letter-spacing:-.042em; max-width:670px; margin:0 0 28px; }
.gis-unit .gis-hero h1 span { color:var(--gis-peach); }
.gis-unit .gis-hero-strap { font-family:'Manrope',Arial,sans-serif; color:#fff; font-size:19px; line-height:1.5; font-weight:600; letter-spacing:-.02em; margin:0 0 17px; max-width:500px; }
.gis-unit .gis-hero-intro { color:#e2d5cb; font-size:19px; line-height:1.65; max-width:550px; margin:0; }
.gis-unit .gis-hero .actions { gap:20px; align-items:center; margin-top:29px; }
.gis-unit .gis-hero .btn-lime { color:#29201b; background:#efad86; padding:16px 20px; }
.gis-unit .gis-hero .btn-lime:hover { background:#f6c3a5; }
.gis-unit .gis-hero-link { font-family:'Manrope',Arial,sans-serif; font-size:13px; font-weight:600; display:inline-flex; align-items:center; gap:14px; padding:12px 0; border-bottom:1px solid #938074; }
.gis-unit .gis-hero-link:hover { color:var(--gis-peach); border-color:var(--gis-peach); }
.gis-unit .gis-map-figure { margin:0; border:1px solid #67544a; background:#302923; border-radius:9px; overflow:hidden; }
.gis-unit .gis-map-label { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:19px 23px; border-bottom:1px solid #67544a; font-family:'Manrope',Arial,sans-serif; font-size:10px; letter-spacing:.11em; color:#e6c9b5; }
.gis-unit .gis-map-label>span:last-child { font-size:19px; line-height:1; }
.gis-unit .gis-map-figure img { width:100%; height:auto; }
.gis-unit .gis-map-figure figcaption { border-top:1px solid #67544a; padding:12px 23px; font-size:12px; color:#d7c5b7; }
.gis-unit .gis-areas { border-bottom:1px solid #e3ddd8; background:var(--gis-cream); }
.gis-unit .gis-area-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }
.gis-unit .gis-area-grid>a { padding:28px 27px 28px 0; display:flex; flex-direction:column; gap:6px; min-width:0; }
.gis-unit .gis-area-grid>a+a { padding-left:28px; border-left:1px solid #dfd3c8; }
.gis-unit .gis-area-number { font-family:'Manrope',Arial,sans-serif; font-size:10px; font-weight:700; letter-spacing:.13em; color:#a34722; }
.gis-unit .gis-area-grid strong { font-family:'Manrope',Arial,sans-serif; font-size:20px; line-height:1.4; letter-spacing:-.025em; }
.gis-unit .gis-area-grid>a>span:last-child { font-size:16px; color:#665d58; display:flex; justify-content:space-between; gap:12px; }
.gis-unit .gis-area-grid>a>span:last-child>span { color:#a34722; font-size:20px; line-height:1.3; }
.gis-unit .gis-area-grid>a:hover strong { color:#a34722; }
.gis-unit .gis-services-section { padding-bottom:80px; }
.gis-unit .gis-services-section .section-top { margin-bottom:48px; align-items:flex-start; }
.gis-unit .gis-service-block { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.3fr); gap:80px; padding:49px 0; border-top:1px solid #e3ddd8; }
.gis-unit .gis-service-block:last-child { padding-bottom:0; }
.gis-unit .gis-service-number { display:flex; align-items:center; gap:15px; margin:0 0 20px; color:#8e3e1d; font-family:'Manrope',Arial,sans-serif; font-size:11px; font-weight:700; letter-spacing:.11em; }
.gis-unit .gis-service-number>span { display:inline-flex; align-items:center; justify-content:center; width:38px; height:38px; border:1px solid #d9b49f; border-radius:50%; font-size:12px; letter-spacing:0; }
.gis-unit .gis-service-heading h3 { font-size:31px; line-height:1.25; letter-spacing:-.032em; margin:0; max-width:350px; }
.gis-unit .gis-service-strap { color:#756257; font-size:18px; line-height:1.5; max-width:315px; margin:17px 0 0; }
.gis-unit .gis-service-body>p { margin:0 0 17px; color:#665d58; font-size:18px; line-height:1.65; }
.gis-unit .gis-service-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px 28px; list-style:none; margin:23px 0 27px; padding:0; }
.gis-unit .gis-service-list li { position:relative; padding-left:18px; font-size:17px; line-height:1.5; color:#4e433c; }
.gis-unit .gis-service-list li:before { content:''; position:absolute; width:5px; height:5px; top:.62em; left:0; border:1px solid #a34722; transform:rotate(45deg); }
.gis-unit .gis-delivery { border-left:3px solid #b75d31; background:var(--gis-cream); padding:18px 22px; }
.gis-unit .gis-delivery strong { display:block; color:#8b3b1d; font-family:'Manrope',Arial,sans-serif; font-size:10px; letter-spacing:.12em; line-height:1.5; }
.gis-unit .gis-delivery p { margin:6px 0 0; font-size:17px; line-height:1.55; color:#594e46; }
.gis-unit .gis-service-body .text-link { margin-top:21px; line-height:1.55; }
.gis-unit .gis-service-body .text-link span { padding-left:5px; }
.gis-unit .gis-applications { background:var(--gis-cream); border-top:1px solid #e3ddd8; border-bottom:1px solid #e3ddd8; }
.gis-unit .gis-application-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:30px; }
.gis-unit .gis-application-grid article { border-top:1px solid #bbaa9b; padding-top:22px; }
.gis-unit .gis-application-mark { color:#a34722; font-size:12px; font-weight:600; font-family:'Manrope',Arial,sans-serif; }
.gis-unit .gis-application-grid h3 { font-size:22px; line-height:1.35; margin:16px 0 12px; }
.gis-unit .gis-application-grid p { font-size:17px; color:#665d58; line-height:1.6; margin:0; }
.gis-unit .gis-process { background:#292421; color:#fff; }
.gis-unit .gis-process .eyebrow { color:#efad86; }
.gis-unit .gis-process-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:34px; list-style:none; padding:0; margin:46px 0 0; }
.gis-unit .gis-process-grid li { padding-top:24px; border-top:1px solid #776356; }
.gis-unit .gis-process-grid li>span { font-family:'Manrope',Arial,sans-serif; font-size:10px; font-weight:600; letter-spacing:.1em; color:#efad86; }
.gis-unit .gis-process-grid h3 { font-size:22px; line-height:1.35; margin:18px 0 13px; }
.gis-unit .gis-process-grid p { font-size:17px; line-height:1.6; color:#e0d0c3; margin:0; }
.gis-unit .gis-faq .faq-grid { grid-template-columns:minmax(0,.92fr) minmax(0,1.2fr); gap:90px; }
.gis-unit .gis-faq .faq-list details { padding:19px 0; }
.gis-unit .gis-faq .faq-list p { margin-bottom:4px; }
.gis-unit .gis-faq .muted { max-width:350px; font-size:18px; line-height:1.6; margin-top:23px; }
.gis-unit .gis-contact { background:var(--gis-cream); border-top:1px solid #e3ddd8; border-bottom:1px solid #e3ddd8; }
.gis-unit .gis-contact-grid { display:grid; grid-template-columns:minmax(0,1.7fr) minmax(0,.8fr); gap:90px; align-items:center; }
.gis-unit .gis-contact-grid>div>p:not(.eyebrow) { color:#665d58; font-size:19px; line-height:1.6; max-width:630px; margin:23px 0 28px; }
.gis-unit .gis-contact-details { border-left:1px solid #d7c5b8; padding:20px 0 20px 36px; }
.gis-unit .gis-contact-details .eyebrow { font-size:11px; margin-bottom:19px; }
.gis-unit .gis-contact-details>a { display:block; font-size:22px; line-height:1.5; font-family:'Manrope',Arial,sans-serif; letter-spacing:-.025em; margin:4px 0; overflow-wrap:anywhere; }
.gis-unit .gis-contact-details>a:hover { color:#a34722; }
.gis-unit .gis-contact-grid .gis-contact-details>p:not(.eyebrow) { font-size:16px; margin:20px 0 0; }
.gis-unit .gis-related { padding:47px 0 55px; }
.gis-unit .gis-related h2 { font-size:17px; margin-bottom:25px; letter-spacing:-.01em; }
.gis-unit .gis-related-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; }
.gis-unit .gis-related-grid>a { border-top:1px solid #e3ddd8; padding-top:21px; }
.gis-unit .gis-related-grid strong { display:flex; justify-content:space-between; gap:10px; font-family:'Manrope',Arial,sans-serif; font-size:17px; line-height:1.5; font-weight:600; letter-spacing:-.02em; }
.gis-unit .gis-related-grid strong span { color:#a34722; }
.gis-unit .gis-related-grid>a>span { display:block; color:#665d58; font-size:16px; margin-top:8px; line-height:1.5; }
.gis-unit .gis-related-grid>a:hover { border-color:#a34722; }
.gis-unit .gis-related-grid>a:hover strong { color:#a34722; }
@media(max-width:1050px) {
  .gis-unit .gis-hero-grid { gap:30px; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); }
  .gis-unit .gis-hero h1 { font-size:43px; }
  .gis-unit .gis-hero .actions { gap:8px 20px; }
  .gis-unit .gis-map-label { padding:17px; font-size:9px; }
  .gis-unit .gis-map-figure figcaption { padding:12px 17px; font-size:11px; }
  .gis-unit .gis-area-grid>a { padding-right:20px; }
  .gis-unit .gis-area-grid>a+a { padding-left:20px; }
  .gis-unit .gis-area-grid strong { font-size:18px; }
  .gis-unit .gis-area-grid>a>span:last-child { font-size:15px; }
  .gis-unit .gis-service-block { gap:45px; grid-template-columns:minmax(0,.75fr) minmax(0,1.3fr); }
  .gis-unit .gis-service-heading h3 { font-size:29px; }
  .gis-unit .gis-service-list { gap:12px 20px; }
  .gis-unit .gis-application-grid,.gis-unit .gis-process-grid { gap:24px; }
  .gis-unit .gis-application-grid h3,.gis-unit .gis-process-grid h3 { font-size:20px; }
  .gis-unit .gis-faq .faq-grid { gap:45px; }
  .gis-unit .gis-contact-grid { gap:45px; }
  .gis-unit .gis-contact-details { padding-left:25px; }
}
@media(max-width:800px) {
  .gis-unit .gis-hero-grid { grid-template-columns:1fr; gap:35px; }
  .gis-unit .gis-hero h1 { font-size:clamp(39px,6.4vw,50px); max-width:650px; }
  .gis-unit .gis-hero-intro { max-width:640px; }
  .gis-unit .gis-hero .actions { gap:16px 25px; }
  .gis-unit .gis-map-figure { max-width:540px; width:100%; justify-self:center; }
  .gis-unit .gis-map-figure img { max-height:360px; object-fit:contain; }
  .gis-unit .gis-map-label { font-size:10px; padding:17px 22px; }
  .gis-unit .gis-map-figure figcaption { padding:12px 22px; font-size:12px; }
  .gis-unit .gis-service-block { grid-template-columns:1fr; gap:27px; padding:39px 0; }
  .gis-unit .gis-service-heading h3 { max-width:560px; font-size:31px; }
  .gis-unit .gis-service-strap { max-width:none; margin-top:12px; }
  .gis-unit .gis-service-number { margin-bottom:17px; }
  .gis-unit .gis-services-section .section-top { display:block; margin-bottom:35px; }
  .gis-unit .gis-services-section .section-top>p { max-width:650px; margin:22px 0 0; }
  .gis-unit .gis-application-grid,.gis-unit .gis-process-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:34px 30px; }
  .gis-unit .gis-application-grid h3,.gis-unit .gis-process-grid h3 { font-size:23px; }
  .gis-unit .gis-faq .faq-grid { grid-template-columns:1fr; gap:28px; }
  .gis-unit .gis-faq .muted { max-width:580px; }
  .gis-unit .gis-contact-grid { grid-template-columns:1fr; gap:35px; }
  .gis-unit .gis-contact-details { border-left:0; border-top:1px solid #d7c5b8; padding:28px 0 0; }
  .gis-unit .gis-contact-grid .gis-contact-details>p:not(.eyebrow) { margin-top:15px; }
  .gis-unit .gis-related-grid { gap:24px; }
}
@media(max-width:600px) {
  .gis-unit [id] { scroll-margin-top:95px; }
  .gis-unit .gis-hero { padding-top:26px; padding-bottom:36px; }
  .gis-unit .gis-hero .breadcrumbs { margin-bottom:29px; font-size:13px; }
  .gis-unit .gis-hero .eyebrow { font-size:10px; line-height:1.65; letter-spacing:.1em; }
  .gis-unit .gis-hero h1 { font-size:38px; margin-bottom:22px; line-height:1.14; }
  .gis-unit .gis-hero-strap { font-size:18px; }
  .gis-unit .gis-hero-intro { font-size:18px; line-height:1.6; }
  .gis-unit .gis-hero .actions { margin-top:26px; }
  .gis-unit .gis-hero .btn-lime { min-height:52px; }
  .gis-unit .gis-map-figure img { max-height:none; }
  .gis-unit .gis-map-label { padding:16px 18px; font-size:9px; }
  .gis-unit .gis-map-figure figcaption { padding:10px 18px; font-size:11px; }
  .gis-unit .gis-area-grid { grid-template-columns:1fr; }
  .gis-unit .gis-area-grid>a { padding:21px 0; }
  .gis-unit .gis-area-grid>a+a { border-left:0; border-top:1px solid #dfd3c8; padding-left:0; }
  .gis-unit .gis-area-grid strong { font-size:21px; }
  .gis-unit .gis-area-grid>a>span:last-child { font-size:16px; }
  .gis-unit .gis-services-section { padding-bottom:55px; }
  .gis-unit .gis-service-heading h3 { font-size:28px; }
  .gis-unit .gis-service-number>span { width:35px; height:35px; }
  .gis-unit .gis-service-list { grid-template-columns:1fr; gap:11px; margin:22px 0; }
  .gis-unit .gis-delivery { padding:17px 19px; }
  .gis-unit .gis-service-body .text-link { font-size:13px; }
  .gis-unit .gis-application-grid,.gis-unit .gis-process-grid { gap:31px 23px; }
  .gis-unit .gis-application-grid h3,.gis-unit .gis-process-grid h3 { font-size:20px; }
  .gis-unit .gis-application-grid p,.gis-unit .gis-process-grid p { font-size:16px; }
  .gis-unit .gis-process-grid { margin-top:36px; }
  .gis-unit .gis-faq .faq-list summary { font-size:16px; }
  .gis-unit .gis-faq .faq-list p { font-size:17px!important; }
  .gis-unit .gis-contact-grid>div>p:not(.eyebrow) { font-size:18px; }
  .gis-unit .gis-related-grid { grid-template-columns:1fr; gap:26px; }
  .gis-unit .gis-related { padding:38px 0 44px; }
}
@media(max-width:390px) {
  .gis-unit .gis-hero h1 { font-size:34px; }
  .gis-unit .gis-hero .btn-lime { font-size:13px; padding:15px 17px; gap:12px; }
  .gis-unit .gis-application-grid,.gis-unit .gis-process-grid { grid-template-columns:1fr; }
  .gis-unit .gis-application-grid h3,.gis-unit .gis-process-grid h3 { font-size:23px; }
  .gis-unit .gis-application-grid p,.gis-unit .gis-process-grid p { font-size:17px; }
}
