@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700;800;900&family=DM+Sans:wght@400;500;600;700&display=swap');
:root{--ink:#171c17;--cream:#f2f0e8;--red:#e1322b;--green:#25392b;--muted:#a9b0a7}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:96px}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--red);outline-offset:5px}.skip{position:fixed;top:-100px;background:white;padding:15px;z-index:100}.skip:focus{top:0}header{height:96px;padding:0 5%;display:flex;justify-content:space-between;align-items:center;background:var(--ink);color:white;border-bottom:1px solid #ffffff1c;position:relative;z-index:10}.brand{display:flex;align-items:center;gap:12px;font-family:'Barlow Condensed',Impact,sans-serif;font-size:27px;font-weight:800;line-height:.85;letter-spacing:1px}.brand img{width:61px;height:61px;object-fit:cover;border-radius:50%}.brand-sub{display:block;font-size:16px;letter-spacing:2px;color:var(--red);margin-top:8px}nav{display:flex;align-items:center;gap:32px;font-size:13px;font-weight:600}nav>a:not(.button):hover{color:#f66860}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:38px;background:var(--red);color:white;border:0;padding:19px 25px;font-weight:700;font-size:14px;cursor:pointer;transition:background .2s,transform .2s}.button:hover{background:#b9221c;transform:translateY(-2px)}.button span{font-size:20px}.button.small{padding:13px 19px;font-size:12px;gap:20px}.menu{display:none}.hero{background:var(--ink);color:var(--cream);position:relative;display:grid;grid-template-columns:1.1fr 1fr;min-height:680px;padding:70px 5% 0;overflow:hidden}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:700;display:flex;align-items:center;gap:13px;margin:0 0 24px}.line{height:2px;width:30px;background:var(--red)}h1,h2{font-family:'Barlow Condensed',Impact,'Arial Narrow',sans-serif;margin:0;font-weight:800;letter-spacing:-1.5px;line-height:.94}h1{font-size:clamp(68px,7.8vw,116px)}em{font-style:normal;color:var(--red)}.hero-description{font-size:16px;line-height:1.8;color:#c2c7be;margin:28px 0}.text-link{display:inline-flex;align-items:center;gap:15px;font-size:13px;font-weight:600;border-bottom:1px solid #9a9c91;padding-bottom:8px}.hero .text-link{margin-left:25px}.hero-art{position:relative;display:flex;align-items:center;justify-content:center;margin:-30px -6% 0 0;min-width:0;isolation:isolate;background:radial-gradient(ellipse,#334f36 0%,#1c271d 52%,transparent 73%)}.art-grid{position:absolute;inset:0;background-image:linear-gradient(#ffffff06 1px,transparent 1px),linear-gradient(90deg,#ffffff06 1px,transparent 1px);background-size:58px 58px;mask-image:radial-gradient(ellipse,black,transparent 70%)}.art-ring{position:absolute;width:90%;aspect-ratio:1;border-radius:50%;border:1px solid #80927635;box-shadow:0 0 0 28px #80927609,0 0 0 58px #80927605}.hero-logo{width:87%;max-width:470px;aspect-ratio:1;object-fit:cover;border-radius:50%;box-shadow:0 25px 65px #0008;position:relative;transform:none}.art-caption{position:absolute;bottom:38px;left:10%;right:10%;display:flex;justify-content:space-between;font-size:9px;letter-spacing:1.5px;color:#a2ad9c}.side-label{position:absolute;right:9px;writing-mode:vertical-rl;font-size:9px;letter-spacing:3px;color:#7f8c77}.hero-bottom{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;border-top:1px solid #ffffff24;font-size:9px;letter-spacing:2px;margin-top:58px;padding:24px 0}.hero-bottom a span{margin-left:20px;color:var(--red)}.section{padding:90px 7%}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:50px;margin-bottom:42px}h2{font-size:clamp(46px,5.1vw,72px)}.section-heading>p{max-width:380px;font-size:14px;line-height:1.8;color:#586052;margin:0}.draft-note{display:block;font-size:12px;line-height:1.7;color:#73776c;margin-top:14px}.service-list{border-top:1px solid #c9cec1}.service-list article{display:flex;align-items:center;gap:35px;padding:28px 0;border-bottom:1px solid #c9cec1}.service-number{color:#808778;font-size:12px}.service-list h3{font-size:24px;font-weight:600;margin:0 0 8px}.service-list p{margin:0;color:#656e5e;font-size:14px;line-height:1.6}.service-icon{font-size:35px;margin-left:auto;color:var(--red)}.approach{background:var(--green);color:var(--cream)}.approach .eyebrow{color:#aebca7}.approach .section-heading>p{color:#bcc7b7}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:60px}.steps article{border-top:1px solid #ffffff40;padding-top:22px}.steps span{font-size:10px;letter-spacing:2px;color:#c0cdb7}.steps h3{font-size:22px;margin:28px 0 13px;font-weight:500}.steps p{font-size:14px;color:#bac5b5;line-height:1.85;margin:0}.about{display:grid;grid-template-columns:.85fr 1.15fr;gap:90px;align-items:center}.about-brand{background:var(--ink);padding:30px;display:flex;flex-direction:column;align-items:center;gap:25px}.about-brand img{width:100%;max-width:300px;border-radius:50%}.about-brand span{font-size:9px;letter-spacing:2px;color:#b3bea9}.about>div>p:not(.eyebrow){line-height:1.9;max-width:490px;color:#656c60;font-size:15px}.about>div>.draft-note{font-size:12px!important}.about .text-link{margin-top:17px}.project{background:#dedfd2;display:grid;grid-template-columns:1fr 1.1fr;gap:90px}.project h2{font-size:clamp(74px,8vw,115px)}.project>div>p:not(.eyebrow){font-size:15px;line-height:1.8;max-width:320px;color:#626a5c}.contact-note{display:flex;gap:12px;border-top:1px solid #babfac;padding-top:22px;margin-top:44px;font-size:12px;max-width:320px}.contact-note p{font-size:12px;line-height:1.7;color:#616a59}.status-dot{width:7px;height:7px;border-radius:50%;background:var(--red);flex-shrink:0;margin-top:5px}form{background:var(--cream);padding:35px}.form-top{display:flex;justify-content:space-between;font-size:11px;letter-spacing:1.4px;font-weight:700;margin-bottom:30px}.form-top span:last-child{color:var(--red);font-size:23px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}label{display:block;font-size:12px;font-weight:600;margin-bottom:21px}input,select,textarea{display:block;width:100%;background:transparent;border:0;border-bottom:1px solid #bac0ae;padding:12px 0;border-radius:0;color:var(--ink);font-size:13px;margin-top:5px}textarea{resize:vertical}form .button{width:100%}.form-fine,#form-status{font-size:10px;color:#656f5b;line-height:1.6;margin-bottom:0}#form-status{font-size:12px;color:#25392b}footer{background:var(--ink);color:var(--cream);padding:45px 5% 25px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:25px}.footer-brand{font-family:'Barlow Condensed',Impact,sans-serif;font-size:27px;font-weight:800}.footer-brand span{color:var(--red)}footer>p{font-size:13px;color:#b8bfb1}footer>a:last-of-type{font-size:9px;letter-spacing:1px}.footer-bottom{width:100%;border-top:1px solid #ffffff25;padding-top:23px;display:flex;justify-content:space-between;gap:20px;font-size:9px;color:#9aa690;letter-spacing:.7px;margin-top:20px}@media(min-width:1500px){header,.hero,footer{padding-left:max(5%,calc((100vw - 1360px)/2));padding-right:max(5%,calc((100vw - 1360px)/2))}.section{padding-left:max(7%,calc((100vw - 1260px)/2));padding-right:max(7%,calc((100vw - 1260px)/2))}}@media(max-width:900px){header{height:85px}nav{gap:18px}.hero{padding-top:45px;min-height:580px}h1{font-size:76px}.hero .text-link{margin:20px 0 0;display:flex;width:max-content}.hero-art{margin:0 -3% 0 0}.art-caption{flex-direction:column;gap:10px;bottom:25px}.section{padding:65px 6%}.about,.project{gap:40px}.steps{gap:25px}.section-heading>p{max-width:300px}form{padding:25px}}@media(max-width:650px){html{scroll-padding-top:20px}header{height:80px}.brand{font-size:23px}.brand img{width:48px;height:48px}.brand-sub{font-size:13px}.menu{display:flex;align-items:center;gap:12px;color:white;background:none;border:1px solid #ffffff40;padding:10px 13px;font-size:12px}nav{display:none;position:absolute;top:80px;left:0;right:0;background:var(--ink);padding:25px 6%;border-bottom:1px solid #ffffff30;flex-direction:column;align-items:stretch}nav.open{display:flex}.hero{grid-template-columns:1fr;padding:40px 6% 0}.hero-copy{position:relative;z-index:2}h1{font-size:clamp(70px,17vw,100px)}.hero-description{font-size:14px;margin:22px 0}.hero .text-link{display:inline-flex;margin:0 0 0 15px;font-size:11px}.button{padding:16px 20px;font-size:12px;gap:24px}.hero-art{height:360px;margin:20px 0 0}.hero-logo{height:285px;width:285px;max-width:85%}.art-ring{width:310px;max-width:90%}.art-caption{bottom:0;flex-direction:row;font-size:7px;left:0;right:0}.side-label{display:none}.hero-bottom{margin-top:25px;font-size:7px;letter-spacing:1px;gap:20px;padding:20px 0}.section{padding:55px 6%}.section-heading{display:block;margin-bottom:30px}.section-heading>p{margin-top:23px;max-width:100%}h2{font-size:49px}.eyebrow{font-size:9px;margin-bottom:20px}.service-list article{gap:18px;padding:25px 0}.service-list h3{font-size:19px}.service-list p{font-size:12px}.service-icon{font-size:27px}.steps{grid-template-columns:1fr;gap:30px;margin-top:35px}.steps h3{margin:17px 0 10px}.about,.project{grid-template-columns:1fr;gap:35px}.about-brand{padding:25px}.about-brand img{max-width:220px}.project h2{font-size:88px}.contact-note{margin-top:25px;max-width:none}.field-row{grid-template-columns:1fr;gap:0}form{padding:23px}.footer-bottom{flex-direction:column;gap:15px}footer{padding:35px 6% 25px}footer>p{width:100%;order:2;margin:0}.footer-bottom{order:3}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Brand accents inspired by the heavy lettering in the supplied logo. */
header .brand img{width:78px;height:78px;border-radius:0;object-fit:contain}h1,h2{font-style:normal;font-weight:900;letter-spacing:-.7px}h1{filter:drop-shadow(2px 3px 0 #0006)}h1:not(em){text-shadow:1px 1px 0 #d2d4cc}h1 em{text-shadow:2px 2px 0 #831b16}h3{font-family:'Barlow Condensed',Impact,'Arial Narrow',sans-serif;font-weight:700!important;font-size:30px!important}.service-tail{font-size:14px;line-height:1.8;max-width:660px;color:#586052;margin-top:28px}.contact-options{display:flex;flex-wrap:wrap;align-items:center;gap:18px;margin:28px 0}.contact-email{width:100%;font-size:14px;text-decoration:underline;text-underline-offset:4px}.contact-options .button{font-size:13px;gap:18px}.footer-brand img{width:95px;height:95px;object-fit:contain}.reviews{border-top:1px solid #c9cec1;display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:60px}.reviews p{font-size:14px;line-height:1.8;max-width:480px;color:#586052}.review-actions p{font-size:11px;max-width:330px}.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.copy-button{background:none;border:1px solid #939c84;padding:10px 14px;color:var(--ink);font-size:12px;cursor:pointer;margin:15px 0 0}.button:disabled{opacity:.6;cursor:wait;transform:none}#email-fallback{margin-top:20px}#email-fallback .text-link{display:flex;width:max-content}.hero .hero-description{max-width:460px}@media(max-width:650px){header .brand img{width:66px;height:66px}.reviews{grid-template-columns:1fr;gap:20px}.hero .text-link{display:flex;margin:20px 0 0;width:max-content}.service-list h3{font-size:24px!important}.hero h1{font-size:clamp(65px,16vw,95px)}}

.work{background:#e6e8db}.work-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.work-gallery figure{margin:0}.work-gallery img{display:block;width:100%;height:285px;object-fit:cover}.work-gallery figcaption{font-size:12px;font-weight:600;margin-top:15px}.work .section-heading>p{font-size:12px}@media(max-width:650px){.work-gallery{grid-template-columns:1fr;gap:28px}.work-gallery img{height:auto;aspect-ratio:4/3}}

/* Keep the supplied logo upright and fully visible. */
header .brand img,.footer-brand img{border-radius:50%;object-fit:contain}.hero-logo{object-fit:contain;transform:none}.about-brand img{object-fit:contain}

.gate-installer{display:grid;grid-template-columns:1fr 1.2fr;gap:65px;align-items:center;background:#e7e7df}.gate-installer>img{width:100%;height:auto}.gate-installer p:not(.eyebrow){font-size:15px;line-height:1.8;color:#586052;max-width:490px}.gate-installer .text-link{margin-top:12px}@media(max-width:650px){.gate-installer{grid-template-columns:1fr;gap:30px}}

.gate-video{grid-column:1/-1;width:min(100%,740px);margin:0 auto}.gate-video video{display:block;width:100%;height:auto;background:#000;border-radius:4px}.gate-video figcaption{font-size:12px;color:#586052;margin-top:12px}

/* Transparent logo sits directly on each section background. */
.hero-logo{box-shadow:none;border-radius:0}.brand img,.about-brand img,.footer-brand img{border-radius:0}
