@import url("https://fonts.googleapis.com/css2?family=Roboto+Slab:wght@300;400;500;700&display=swap");:root{--brand:#ef9c00;--brand-dark:rgba(239,156,0,0.88);--text:#333333;--muted:#787878;--danger:#b32828}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--text);background:#fff}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto}h1,h2,h3,h4,h5,h6{font-family:Roboto Slab,serif}button,input,label,li,p,textarea{line-height:1.6}body{font-family:Arial,Helvetica,sans-serif}.site-shell{min-height:100vh}.content-wrap{max-width:1600px;margin:0 auto}.site-header{position:fixed;inset:0 0 auto 0;z-index:50;background:rgba(239,156,0,.8);color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.site-header__inner{display:flex;align-items:center;justify-content:space-between;gap:2rem;max-width:1600px;margin:0 auto;padding:.5rem 5rem}.site-header__brand{display:flex;align-items:center;flex-shrink:0}.site-logo img{display:block;transition:width .2s ease,height .2s ease}.site-nav{display:flex;align-items:center}.site-nav__toggle{display:none;border:1px solid rgba(255,255,255,.8);background:transparent;color:#fff;padding:.55rem .75rem;font-size:1rem}.footer-legal__links,.site-nav__list,.site-nav__submenu{list-style:none;margin:0;padding:0}.site-nav__list{display:flex;align-items:center;gap:.25rem}.site-nav__list>li{position:relative}.site-nav__link,.site-nav__parent{display:inline-flex;align-items:center;color:#fff;font-weight:500;font-size:18px;padding:.75rem .8rem;background:transparent;border:0;cursor:pointer}.site-nav__submenu{position:absolute;top:calc(100% + .25rem);left:0;min-width:260px;background:#fff;color:#333;box-shadow:0 14px 30px rgba(0,0,0,.18);opacity:0;pointer-events:none;transform:translateY(6px);transition:opacity .2s ease,transform .2s ease}.site-nav__submenu a{display:block;padding:.85rem 1rem}.site-nav__submenu a:focus-visible,.site-nav__submenu a:hover{background:#f3f3f3}.site-nav__item--has-submenu:focus-within .site-nav__submenu,.site-nav__item--has-submenu:hover .site-nav__submenu{opacity:1;pointer-events:auto;transform:translateY(0)}.hero-carousel,.subpage-hero{position:relative;margin-top:118px;overflow:hidden}.hero-carousel{min-height:40rem}.hero-slide{position:absolute;inset:0;opacity:0;transition:opacity .5s ease;background-position:50%;background-size:cover;background-repeat:no-repeat}.hero-slide:before,.parallax:before,.subpage-hero:before{content:"";position:absolute;inset:0;background:rgba(0,0,0,.35)}.hero-slide--active{opacity:1}.hero-slide__content{position:relative;z-index:1;max-width:1600px;min-height:40rem;margin:0 auto;padding:7rem 5rem 4rem;display:flex;align-items:flex-end;justify-content:flex-end;text-align:right}.hero-slide__copy{max-width:700px;color:#fff;text-shadow:1px 1px 2px #333}.hero-slide__copy h1{margin:0 0 1rem;font-weight:700;font-size:clamp(2.5rem,4vw,4rem)}.hero-slide__copy p{margin:0 0 1.5rem;font-size:clamp(1.2rem,2vw,1.5rem);font-weight:500}.hero-carousel__controls{position:absolute;z-index:2;right:5rem;bottom:1.5rem;display:flex;gap:.6rem}.hero-carousel__controls button{width:12px;height:12px;border:0;border-radius:999px;background:rgba(255,255,255,.6);cursor:pointer}.hero-carousel__controls button.active{background:#ef9c00}.subpage-hero{min-height:20rem;background:url(/media/e-griffin_banner_1.jpg) 50%/cover no-repeat}.subpage-hero__inner{position:relative;z-index:1;min-height:20rem}.btn{display:inline-block;padding:.85rem 1.35rem;border:0;cursor:pointer;font-weight:600}.btn-primary,.btn-secondary{color:#212529;background:#ef9c00}.btn:disabled{opacity:.65;cursor:not-allowed}.welcome-section{background:url(/img/welcome-background.jpg) 50%/cover no-repeat;display:flex;justify-content:center;align-items:center}.welcome-section .welcome-message{flex:1 1;max-width:100%;margin:0 4rem;padding:8rem;text-align:center}.welcome-section .welcome-message h1{margin:0 0 3rem;color:#ef9c00;font-size:74px;font-weight:400;letter-spacing:-1px}.welcome-section .welcome-message p{margin:0 0 2rem;color:#9c9c9c;font-size:30px;font-weight:500}.about-section,.projects-section,.services-section{padding:5rem 8rem}.about-grid,.contact-grid,.estimating-grid,.gallery-grid,.project-list,.projects-grid,.services-grid{display:grid;grid-gap:2rem;gap:2rem}.about-grid,.contact-grid,.projects-grid,.services-grid{grid-template-columns:repeat(12,minmax(0,1fr))}.project-card,.service-card{display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:1rem}.service-card{grid-column:span 3}.project-card{grid-column:span 4}.services-section img{width:90px;height:90px;object-fit:contain}.services-section hr{width:100%;border:0;border-top:1px solid #ddd}.projects-section{position:relative;color:#fff;background-position:50%;background-size:cover}.projects-section h1{color:#ef9c00}.about-main{grid-column:span 8}.about-aside{grid-column:span 4;display:flex;flex-direction:column;gap:2rem;align-items:center}.about-section h1,.about-section h2,.about-section h3,.about-section h4,.about-section h5,.about-section h6,.page-content-container h1,.page-content-container h2,.page-content-container h3,.page-content-container h4,.page-content-container h5,.page-content-container h6{color:#ef9c00}.page-content-container{max-width:1200px;margin:3rem auto 0;padding:0 1.5rem 3rem}.page-content{padding-bottom:3rem}.page-lead{font-size:1.1rem}.gallery-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.gallery-grid img{width:100%;aspect-ratio:1/1;object-fit:cover;border:4px solid #efefef}.testimonial{margin-bottom:2rem}.testimonial .author{display:inline-block;margin-top:1rem;font-weight:700}.parallax{position:relative;width:100%;background-attachment:fixed;background-position:50%;background-repeat:no-repeat;background-size:cover;text-align:center;display:flex;justify-content:center}.parallax>*{position:relative;z-index:1}.parallax-content{flex:1 1;max-width:1600px;padding:4rem 2rem}.parallax-content h1{margin:0 0 3rem;color:#fff;font-size:48px;font-weight:400;letter-spacing:-1px}.parallax-content p{margin:0;color:#fff;font-size:26px;font-weight:500}.parallax-content a{color:#ef9c00}.footer-about-section{padding:6rem 2rem;display:flex;justify-content:center;align-items:center;max-width:1600px;margin:0 auto}.footer-about-content{flex:1 1;text-align:center}.footer-about-content p{font-size:26px;font-weight:500}.footer-legal{text-align:right}.footer-legal__links{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:.5rem}.footer-legal__links a{color:#fff;text-decoration:underline}.contact-main{grid-column:span 8}.contact-aside{grid-column:span 4}.contact-form,.contact-form__row{display:grid;grid-gap:1.25rem;gap:1.25rem}.contact-form__row{grid-template-columns:1fr 1fr}.form-group{margin-bottom:0}.form-group label{display:block;margin-bottom:.5rem;font-weight:600}.form-group input,.form-group textarea{width:100%;border:1px solid #cfcfcf;padding:.8rem .9rem;font:inherit}.form-group textarea{min-height:140px;resize:vertical}.form-group input[aria-invalid=true],.form-group textarea[aria-invalid=true]{border-color:var(--danger)}.form-error{margin-top:.4rem;color:var(--danger);font-size:.92rem}.contact-form__status{min-height:1.5rem;color:var(--muted)}.estimating-grid,.project-list{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.project-overview-card,.shell-card{border:1px solid #e2e2e2;padding:1.5rem;background:#fff}.admin-table-wrap{width:100%;overflow-x:auto}.admin-table{width:100%;border-collapse:collapse;font-size:.95rem}.admin-table td,.admin-table th{padding:.75rem;border:1px solid #d8d8d8;text-align:left;vertical-align:top}.admin-table th{background:#f5f5f5}.form-group select{width:100%;border:1px solid #cfcfcf;padding:.8rem .9rem;font:inherit;background:#fff}.muted{color:#787878}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (min-width:1600px){.site-nav__link,.site-nav__parent{padding-right:1rem;padding-left:1rem}}@media (min-width:786px) and (max-width:1400px){.site-nav__link,.site-nav__parent{padding-right:.5rem;padding-left:.5rem}.about-section,.projects-section,.services-section{padding-left:5rem;padding-right:5rem}}@media (max-width:1200px){.hero-slide__content,.site-header__inner{padding-left:2rem;padding-right:2rem}.service-card{grid-column:span 6}.about-aside,.about-main,.contact-aside,.contact-main,.project-card{grid-column:span 12}}@media (max-width:900px){.site-nav__toggle{display:inline-block}.site-nav{position:absolute;top:100%;left:0;right:0;display:none;background:rgba(239,156,0,.96);padding:0 1rem 1rem}.site-nav.is-open{display:block}.site-nav__list{flex-direction:column;align-items:flex-start}.site-nav__submenu{position:static;opacity:1;pointer-events:auto;transform:none;margin-left:1rem;min-width:0;box-shadow:none}.hero-carousel,.subpage-hero{margin-top:86px}.hero-carousel,.hero-slide,.hero-slide__content{min-height:30rem}.hero-carousel__controls{right:2rem}.welcome-section .welcome-message{margin:0 1rem;padding:3rem}.welcome-section .welcome-message h1{font-size:48px}.welcome-section .welcome-message p{font-size:20px}.service-card{grid-column:span 12}.parallax-content h1{font-size:28px}.footer-about-content p,.parallax-content p{font-size:18px}.footer-legal,.footer-legal__links{text-align:center;justify-content:center}.contact-form__row{grid-template-columns:1fr}}@media (max-width:768px){.site-header__inner{padding:.5rem}.about-section,.projects-section,.services-section{padding-left:2rem;padding-right:2rem}}