/*
Theme Name: Groundline — Foundations & Construction
Theme URI: https://example.com/
Author: Custom WordPress Theme
Description: An editable full-site-editing construction and ground-screw company theme, with starter pages and a simple contact form.
Version: 1.0.0
Requires at least: 6.4
Tested up to: 6.8
Requires PHP: 7.4
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: groundline
Tags: block-theme, full-site-editing, custom-colors, wide-blocks, portfolio
*/
:root{--gl-ink:#172824;--gl-paper:#f6f5ee;--gl-sage:#c8d8ac;--gl-rust:#ac744c;--gl-cream:#f1f0e8;--gl-grey:#65746b;--gl-line:#d8dcd1;--gl-max:1240px}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--gl-paper);color:var(--gl-ink);-webkit-font-smoothing:antialiased}
body,button,input,textarea{font-family:Arial,'Helvetica Neue',Helvetica,sans-serif}
img{max-width:100%;height:auto}
a{text-underline-offset:4px}
.gl-main,.gl-main .wp-block-post-content{margin-block-start:0!important}
.gl-main .wp-block-post-content>*{margin-block-start:0}
.gl-main .wp-block-post-content>.alignfull{margin-left:0!important;margin-right:0!important}
.gl-main p{line-height:1.75}
.gl-main .wp-block-heading{line-height:1.1;letter-spacing:-.052em}
.gl-main .wp-block-image{margin:0}
.gl-main .wp-block-image img{display:block;width:100%}
.gl-main .wp-block-columns{gap:clamp(25px,4.2vw,70px)}
.gl-eyebrow{font-size:12px!important;line-height:1.5!important;letter-spacing:.17em;font-weight:750;text-transform:uppercase;margin-bottom:24px!important}
.gl-eyebrow::before{content:'';display:inline-block;width:26px;height:1px;background:currentColor;vertical-align:middle;margin:0 12px 4px 0}
.gl-dark-eyebrow{color:var(--gl-sage)!important}
.gl-display{font-size:6rem;font-size:clamp(3.65rem,6.4vw,6.75rem)!important;line-height:.99!important;letter-spacing:-.078em!important;font-weight:600!important;margin:0!important}
.gl-display em{font-family:Georgia,'Times New Roman',serif;font-weight:400;color:var(--gl-sage);letter-spacing:-.08em}
.gl-section-title{font-size:4.7rem;font-size:clamp(2.7rem,4.8vw,4.9rem)!important;line-height:1.03!important;letter-spacing:-.066em!important;max-width:780px;margin:0 0 18px!important}
.gl-section-copy{max-width:560px;color:var(--gl-grey);font-size:1.07rem;margin:0!important}
.gl-muted{color:var(--gl-grey)}
.gl-section{padding:112px max(28px,calc((100% - var(--gl-max))/2))!important}
.gl-section>.wp-block-group,.gl-section>.wp-block-columns{max-width:var(--gl-max);margin-left:auto!important;margin-right:auto!important}
.gl-btn .wp-block-button__link,.gl-contact-form button,.gl-main .wp-block-button:not(.is-style-outline) .wp-block-button__link{display:inline-flex;gap:26px;justify-content:space-between;align-items:center;padding:17px 23px;background:var(--gl-sage);border:1px solid var(--gl-sage);color:var(--gl-ink);font-size:.89rem;font-weight:750;text-decoration:none;transition:transform .18s,background-color .18s,color .18s}
.gl-btn .wp-block-button__link:hover,.gl-contact-form button:hover,.gl-main .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover{transform:translateY(-2px);background:#dbebbf}
.gl-btn-outline .wp-block-button__link,.gl-main .gl-btn-outline .wp-block-button__link{background:transparent!important;color:#fff!important;border:1px solid rgba(255,255,255,.45)!important}
.gl-btn-outline .wp-block-button__link:hover{border-color:#fff!important}
.gl-main .wp-block-buttons{gap:12px}
.gl-utility-bar{background:#10201d;color:#d8e0d4;border-bottom:1px solid #32463d}
.gl-utility-inner{min-height:37px;padding:7px 0;gap:14px!important}
.gl-utility-inner p{margin:0;font-size:10px;letter-spacing:.09em;font-weight:700}
.gl-utility-inner a{color:#d8e0d4;text-decoration:none}
.gl-utility-inner a:hover{color:#fff}
.gl-utility-separator{padding:0 12px;opacity:.55}
.gl-site-header{background:var(--gl-paper);position:relative;z-index:20;border-bottom:1px solid var(--gl-line)}
.gl-header-inner{min-height:89px;gap:26px;align-items:center!important}
.gl-brand,.gl-footer-brand{font-weight:900!important;font-size:1.45rem!important;letter-spacing:-.065em!important;text-transform:uppercase;margin:0!important;line-height:1!important}
.gl-brand a,.gl-footer-brand a{text-decoration:none}.gl-brand a,.gl-navigation a{color:var(--gl-ink)}
.gl-brand::before,.gl-footer-brand::before{content:'';display:inline-block;width:19px;height:20px;margin-right:10px;transform:skewX(-13deg);border:5px solid var(--gl-rust);border-right-width:8px;vertical-align:-2px}
.gl-navigation .wp-block-navigation-item__content{font-size:.85rem;font-weight:750;text-decoration:none!important;padding:7px 2px}
.gl-navigation .wp-block-navigation__container{gap:clamp(16px,2.6vw,34px)}
.gl-navigation .wp-block-navigation-item__content:hover{color:var(--gl-rust)}
.gl-header-cta .wp-block-button__link{padding:13px 18px!important;background:var(--gl-ink)!important;color:#fff!important;border:1px solid var(--gl-ink)!important;font-size:.81rem!important;font-weight:700!important;text-decoration:none!important}
.gl-header-cta .wp-block-button__link span{margin-left:14px}
.gl-header-cta .wp-block-button__link:hover{background:#315346!important}
/* hero */
.gl-hero{background:var(--gl-ink);padding:60px max(28px,calc((100% - var(--gl-max))/2)) 66px!important;color:#fff;overflow:hidden}
.gl-hero-columns{max-width:var(--gl-max);margin:0 auto!important;gap:5.5%!important;align-items:center!important}
.gl-hero-columns>.wp-block-column:first-child{padding:30px 0 35px}
.gl-hero-columns>.wp-block-column:last-child{align-self:stretch;min-width:0}
.gl-hero-lead{font-size:1.02rem;line-height:1.8!important;max-width:440px;color:#c6d1c7;margin:30px 0 28px!important}
.gl-hero-buttons{margin-top:18px!important}
.gl-hero-photo{height:600px;min-height:100%;position:relative;overflow:hidden;background:#aebda6}
.gl-hero-photo img{height:100%!important;width:100%!important;object-fit:cover;object-position:center}
.gl-hero-photo::after{content:'BUILT TO LAST  /  MADE FOR WHAT\2019S NEXT';position:absolute;left:22px;right:22px;bottom:22px;padding:13px 16px;background:rgba(22,40,35,.87);font-size:11px;letter-spacing:.13em;font-weight:750;color:#f4f4e8}
.gl-hero-footnote{font-size:11px;color:#91a79a;letter-spacing:.12em;margin-top:44px!important}
.gl-proofbar{background:var(--gl-sage);padding:22px max(28px,calc((100% - var(--gl-max))/2))!important}
.gl-proofbar .wp-block-columns{gap:35px!important;align-items:center;margin:0 auto!important;max-width:var(--gl-max)}
.gl-proofitem{margin:0!important;font-size:12px;font-weight:800;letter-spacing:.075em;line-height:1.4!important;text-transform:uppercase}
.gl-proofitem::before{content:'✦';color:#466147;margin-right:9px;font-size:15px}
/* services */
.gl-services{background:var(--gl-paper)}
.gl-section-head{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:45px!important}
.gl-section-head .wp-block-column{align-self:end}
.gl-services-grid{gap:16px!important;margin-top:34px!important}
.gl-service-card{background:#eaece2;border:1px solid #e0e3d8;min-height:350px;display:flex;flex-direction:column;justify-content:space-between;padding:30px!important;transition:transform .2s,background .2s}
.gl-service-card:hover{transform:translateY(-4px);background:#e2e7d8}
.gl-service-index{font-size:12px!important;letter-spacing:.17em;font-weight:800;color:var(--gl-rust);margin:0!important}
.gl-service-symbol{font-size:54px!important;line-height:1!important;color:#8caa78;letter-spacing:-.08em;margin:22px 0 32px!important}
.gl-service-card h3{font-size:1.68rem!important;letter-spacing:-.05em!important;margin:0 0 10px!important}
.gl-service-card .gl-card-copy{font-size:.94rem;color:var(--gl-grey);max-width:290px;margin:0 0 24px!important;line-height:1.65}
.gl-service-card a{color:var(--gl-ink);font-weight:750;text-decoration:none;font-size:.9rem}
/* about */
.gl-about{background:#e9ede2}
.gl-about-columns{align-items:center!important}
.gl-about-photo{height:570px;overflow:hidden;background:#a8b3a6}
.gl-about-photo img{height:100%!important;width:100%!important;object-fit:cover}
.gl-about-copy{padding:15px 0 15px 4%}
.gl-about-copy p:not(.gl-eyebrow){color:#52665b;max-width:510px}
.gl-about-copy h2{margin-bottom:25px!important}
.gl-feature-list{border-top:1px solid #bdcbbd;padding:22px 0;margin:28px 0 32px!important}
.gl-feature-list p{color:var(--gl-ink)!important;margin:0 0 13px!important;font-size:.95rem;font-weight:700}
.gl-feature-list p::before{content:'↗';color:var(--gl-rust);margin-right:12px}
/* projects */
.gl-projects{background:var(--gl-paper)}
.gl-project-grid{margin-top:45px!important;gap:19px!important}
.gl-project-card{background:transparent;min-width:0}
.gl-project-card .wp-block-image{height:300px;overflow:hidden;background:#ced7c9}
.gl-project-card img{height:100%!important;object-fit:cover;transition:transform .35s}
.gl-project-card:hover img{transform:scale(1.035)}
.gl-project-meta{font-size:11px!important;font-weight:800;letter-spacing:.13em;color:var(--gl-rust);margin:19px 0 5px!important}
.gl-project-card h3{font-size:1.43rem!important;letter-spacing:-.045em!important;margin:0 0 5px!important}
.gl-project-card .gl-card-copy{color:var(--gl-grey);font-size:.88rem;margin:0!important}
.gl-project-link{margin-top:38px!important}
/* bottom CTA */
.gl-cta-section{padding:94px max(28px,calc((100% - var(--gl-max))/2))!important;background:#c8d8ac}
.gl-cta-columns{max-width:var(--gl-max);margin:0 auto!important;align-items:center!important}
.gl-cta-section h2{font-size:5rem;font-size:clamp(2.8rem,5.2vw,5.5rem)!important;line-height:1.02!important;letter-spacing:-.07em!important;margin:0!important}
.gl-cta-section .gl-btn .wp-block-button__link{background:var(--gl-ink)!important;color:#fff!important;border-color:var(--gl-ink)!important}
.gl-cta-section .gl-eyebrow{margin-bottom:18px!important}
/* interior page */
.gl-page-hero{background:var(--gl-ink);padding:90px max(28px,calc((100% - var(--gl-max))/2)) 96px!important;color:#fff}
.gl-page-hero>*{max-width:var(--gl-max);margin-left:auto!important;margin-right:auto!important}
.gl-page-hero h1{font-size:5.5rem;font-size:clamp(3.2rem,6vw,6rem)!important;max-width:910px;letter-spacing:-.07em!important;line-height:1.02!important;margin:0 auto 24px!important}
.gl-page-hero p:not(.gl-eyebrow){font-size:1.12rem;max-width:680px;color:#c9d5ce;margin-left:max(0px,calc((100% - var(--gl-max))/2))!important}
.gl-content-section{padding:90px max(28px,calc((100% - var(--gl-max))/2))!important}
.gl-content-section>*{max-width:var(--gl-max);margin-left:auto!important;margin-right:auto!important}
.gl-content-section .wp-block-columns{gap:65px!important}
.gl-content-section h2{font-size:3.5rem;font-size:clamp(2rem,4vw,4rem)!important;line-height:1.05!important}
.gl-longform h3{font-size:1.7rem!important;margin-bottom:5px!important}
.gl-longform p{color:var(--gl-grey)}
.gl-step{padding:28px 0;border-top:1px solid #c6cfc2}
.gl-step h3{font-size:1.5rem!important;margin:0 0 12px!important}
.gl-step p{margin:0!important;color:var(--gl-grey)}
.gl-gallery .gl-project-card .wp-block-image{height:365px}
.gl-gallery .wp-block-columns{margin-bottom:46px!important}
.gl-contact-box{background:#e6eadf;padding:40px!important}
.gl-contact-box h2{font-size:2.25rem!important;margin:0 0 14px!important}
.gl-contact-box a{color:var(--gl-ink)}
.gl-contact-form-wrap{margin-top:20px}
.gl-contact-form{width:100%;display:grid;gap:18px}
.gl-contact-form .gl-two-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.gl-contact-form label{display:block;font-size:12px;font-weight:800;letter-spacing:.045em;margin-bottom:7px}
.gl-contact-form input,.gl-contact-form textarea{display:block;width:100%;border:1px solid #c5d0c2;background:#fff;color:#182923;padding:14px 16px;font-size:1rem;box-shadow:none;border-radius:2px}
.gl-contact-form input:focus,.gl-contact-form textarea:focus{outline:2px solid #749875;outline-offset:1px}
.gl-contact-form textarea{min-height:154px;resize:vertical}
.gl-contact-form button{cursor:pointer;justify-content:center;max-width:230px}
.gl-form-status{padding:14px 18px;border-left:4px solid #637e61;background:#eef2ea;margin-bottom:20px}
.gl-form-status.gl-form-error{border-color:#b05542;background:#fff3f0}
.gl-hidden-field{position:absolute!important;left:-9999px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important}
/* footer */
.gl-site-footer{background:#11231e;color:#d5dfd3;padding:75px max(28px,calc((100% - var(--gl-max))/2)) 26px!important}
.gl-footer-columns{max-width:var(--gl-max);gap:65px!important;margin:0 auto 76px!important}
.gl-footer-brand{font-size:2.3rem!important;color:#fff!important}
.gl-footer-brand a{color:#fff!important}
.gl-footer-intro{font-size:1.25rem;line-height:1.5!important;max-width:310px;color:#aebdb0;margin-top:20px}
.gl-footer-label{color:var(--gl-sage)!important;font-size:11px!important;letter-spacing:.17em!important;font-weight:750!important;margin:7px 0 20px!important}
.gl-site-footer a{color:#dce7db;text-decoration:none}
.gl-site-footer a:hover{color:#fff;text-decoration:underline}
.gl-footer-columns p{font-size:.96rem;line-height:2.15}
.gl-site-footer .gl-footer-small{color:#97a89e;font-size:.82rem;line-height:1.7}
.gl-footer-bottom{max-width:var(--gl-max);padding-top:20px;border-top:1px solid #3b5148;gap:22px}
.gl-footer-bottom p{font-size:11px;color:#8ca197;margin:0;letter-spacing:.05em}
.gl-archive-wrap,.gl-article-wrap{padding:90px 25px 130px}
.gl-archive-wrap .wp-block-post-template{margin-top:35px}
.gl-post-card{background:#e7ebdf;padding:22px}
.gl-article-wrap>.wp-block-post-title{font-size:clamp(2.7rem,5vw,5rem)}
.gl-notfound{min-height:55vh;padding:120px 25px}
.gl-notfound h1{font-size:clamp(2.5rem,5vw,5rem)}
@media(max-width:1100px){.gl-header-inner{padding:0 22px}.gl-utility-inner{padding:6px 22px}.gl-navigation .wp-block-navigation__container{gap:16px}.gl-brand{font-size:1.25rem!important}.gl-hero-photo{height:540px}.gl-display{font-size:6rem;font-size:clamp(3.6rem,6vw,5.5rem)!important}}
@media(max-width:800px){.gl-header-cta{display:none!important}.gl-header-inner{min-height:75px}.gl-navigation{margin-left:auto}.gl-hero{padding-top:38px!important}.gl-hero-columns{display:flex!important;flex-direction:column;gap:28px!important}.gl-hero-columns>.wp-block-column{width:100%!important;flex-basis:auto!important}.gl-hero-columns>.wp-block-column:first-child{padding:18px 0 0}.gl-hero-photo{height:430px;min-height:0}.gl-display{font-size:6rem;font-size:clamp(3.3rem,10vw,5.4rem)!important}.gl-section{padding:75px 25px!important}.gl-section-head{flex-direction:column}.gl-about-copy{padding:28px 0}.gl-about-photo{height:440px}.gl-cta-section{padding:70px 25px!important}.gl-page-hero{padding:70px 25px!important}.gl-content-section{padding:70px 25px!important}.gl-footer-columns{gap:26px!important}}
@media(max-width:600px){.gl-utility-inner p:first-child{display:none}.gl-utility-inner{justify-content:center!important}.gl-header-inner{flex-wrap:nowrap!important;justify-content:space-between!important}.gl-brand{font-size:1.28rem!important}.gl-hero{padding:35px 20px 45px!important}.gl-display{font-size:6rem;font-size:clamp(3.25rem,14vw,5.4rem)!important}.gl-hero-photo{height:340px}.gl-hero-footnote{margin-top:26px!important}.gl-proofbar{padding:21px 25px!important}.gl-proofbar .wp-block-columns{gap:14px!important}.gl-proofitem{font-size:10px!important}.gl-section{padding:70px 21px!important}.gl-section-title{font-size:4.7rem;font-size:clamp(2.5rem,10vw,4rem)!important}.gl-service-card{min-height:290px}.gl-project-card .wp-block-image,.gl-gallery .gl-project-card .wp-block-image{height:260px}.gl-cta-section{padding:65px 21px!important}.gl-page-hero{padding:65px 21px!important}.gl-content-section{padding:65px 21px!important}.gl-contact-form .gl-two-fields{grid-template-columns:1fr}.gl-site-footer{padding:63px 22px 26px!important}.gl-footer-columns{margin-bottom:55px!important}.gl-hero-buttons .wp-block-button{width:100%}.gl-hero-buttons .wp-block-button__link{width:100%}.gl-cta-section .wp-block-button{width:100%}.gl-cta-section .wp-block-button__link{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.gl-btn .wp-block-button__link,.gl-contact-form button,.gl-service-card,.gl-project-card img{transition:none}}
