:root{--ink:#202422;--red:#b4312e;--cream:#f6f4ef;--muted:#626560}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);background:var(--cream);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}a:focus-visible,summary:focus-visible{outline:3px solid #d88d44;outline-offset:6px}header{height:100px;padding:12px 5%;background:#fff;display:flex;align-items:center;justify-content:space-between;position:relative;z-index:3}.brand img{width:98px;height:78px;object-fit:contain}nav{display:flex;align-items:center;gap:32px;font-size:13px;font-weight:700}.button{background:var(--red);color:white;display:inline-flex;justify-content:space-between;align-items:center;gap:35px;padding:17px 24px;font-size:14px;font-weight:700;transition:background .2s}.button:hover{background:#922522}.small{padding:13px 19px}.hero{height:690px;min-height:560px;position:relative;background:#323a36;color:#fff}.hero-image,.hero-shade{position:absolute;width:100%;height:100%;object-fit:cover}.hero-image{object-position:center 58%}.hero-shade{background:linear-gradient(90deg,rgba(10,20,18,.87),rgba(10,20,18,.46) 55%,rgba(10,20,18,.08))}.hero-content{position:relative;padding:105px 7% 90px;max-width:1000px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:2.5px;margin:0 0 23px}.red{color:var(--red)}h1,h2,h3,p{margin-top:0}h1{font-family:Georgia,serif;font-weight:400;font-size:clamp(44px,4.8vw,72px);line-height:1.06;letter-spacing:-2px;margin-bottom:27px}h2{font-family:Georgia,serif;font-size:clamp(35px,3.5vw,52px);font-weight:400;line-height:1.13;letter-spacing:-1.5px;margin-bottom:28px}h3{font-size:22px;line-height:1.3;margin-bottom:14px}.intro{font-size:17px;max-width:465px;color:#eeefea;line-height:1.8}.actions{display:flex;align-items:center;gap:28px;margin-top:30px}.text-link{font-size:13px}.play{border:1px solid #a5aaa1;border-radius:50%;padding:10px 12px;margin-right:10px;font-size:10px}.hero-bottom{position:absolute;bottom:26px;left:7%;right:7%;display:flex;justify-content:space-between;font-size:10px;letter-spacing:2px;color:#dbded7}.trust{display:flex;justify-content:space-around;gap:20px;padding:25px 6%;border-bottom:1px solid #dcded5;font-size:11px;letter-spacing:1.5px;font-weight:700}.section{padding:100px 7%}.section-heading{display:flex;justify-content:space-between;gap:70px;margin-bottom:40px}.section-heading>p{max-width:375px;align-self:center;color:var(--muted)}.build-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px}.photo{height:340px;position:relative;overflow:hidden}.photo img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.photo:hover img{transform:scale(1.025)}.photo span{position:absolute;bottom:20px;left:22px;background:white;padding:8px 13px;font-size:10px;font-weight:700;letter-spacing:1.8px}.card-body{padding:27px 0}.card-body p{max-width:480px;color:var(--muted);font-size:15px}.underlined{display:inline-block;border-bottom:1px solid var(--red);padding:0 0 7px;font-size:13px;font-weight:700}.films{background:var(--ink);color:white}.films .eyebrow{color:#d1aaa0}.films .section-heading>p{color:#bfc5bc}.video-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.video-slot{aspect-ratio:4/3;background:#111}.video-slot iframe{width:100%;height:100%;border:0}.video-label{display:flex;justify-content:space-between;align-items:center;padding-top:20px}.video-label h3{font-size:16px;margin:0}.video-label a{font-size:11px;color:#ced1ca;text-decoration:underline}.process{display:grid;grid-template-columns:1fr 1fr;gap:70px}.process ol{padding:0;margin:0;list-style:none}.process li{display:flex;gap:30px;border-bottom:1px solid #d9dcd3;padding:0 0 23px;margin-bottom:26px}.process li>span{color:var(--red);font-size:12px;font-weight:bold;padding-top:3px}.process li p{font-size:14px;color:var(--muted);margin:0}.process h3{font-size:19px}.consult{background:#e6e9e0;display:grid;grid-template-columns:1fr 1fr;gap:100px}.consult>div>p{max-width:420px}.consult .eyebrow{color:var(--red)}.contact-detail{margin-top:38px}.contact-detail small{display:block;font-size:10px;letter-spacing:2px;font-weight:bold}.contact-detail>a{font-size:27px;font-weight:bold}.contact-detail p,.service-area{font-size:13px;color:#565d52}.form-panel{background:#fff;padding:40px;align-self:start;box-shadow:0 14px 45px #25351f0a}.form-panel h3{font-family:Georgia,serif;font-size:30px;font-weight:400;margin-top:14px}.form-notice{font-size:14px;color:var(--muted)}.form-preview{margin:25px 0;border-top:1px solid #e5e5df}.form-preview>div{font-size:12px;padding:12px 0;border-bottom:1px solid #e5e5df;display:flex;justify-content:space-between;gap:12px}.form-preview span{color:#83877e}.form-panel .button{width:100%}.fine{font-size:11px;color:#6b7066;text-align:center;margin:15px 0 0}.faq{display:grid;grid-template-columns:1fr 1fr;gap:70px}.faq h2{font-size:38px}details{border-bottom:1px solid #d9dcd3;padding:19px 0}summary{cursor:pointer;font-size:15px;font-weight:bold}details p{font-size:14px;color:var(--muted);margin:18px 0 0}footer{background:var(--ink);color:white;padding:45px 7%;display:flex;flex-wrap:wrap;justify-content:space-between;gap:35px}footer strong{letter-spacing:3px;font-size:20px}footer span{display:block;font-size:12px;color:#b8bfb4}footer>div:nth-child(2){display:flex;gap:25px;align-items:center;font-size:12px}footer>p{width:100%;border-top:1px solid #42483f;padding-top:22px;font-size:10px;color:#b8bfb4;margin:0}.mobile-cta{display:none}@media(max-width:900px){nav>a:not(.button){display:none}.hero{height:640px}.hero-content{padding-top:90px}.section{padding:70px 6%}.section-heading{gap:30px}.photo{height:280px}.consult{gap:35px}.form-panel{padding:27px}.process,.faq{gap:35px}.video-grid{gap:15px}.video-label{display:block}.hero-bottom span:last-child{display:none}}@media(max-width:600px){header{height:82px;padding:8px 5%}.brand img{width:77px;height:64px}nav .button{font-size:11px;padding:12px;gap:12px}.hero{height:615px}.hero-content{padding:85px 6% 70px}h1{font-size:46px;letter-spacing:-1.5px}.hero-shade{background:linear-gradient(90deg,#101c18dc,#101c1866)}.intro{font-size:15px;max-width:340px}.eyebrow{font-size:9px;letter-spacing:1.7px}.actions{gap:20px;align-items:flex-start;flex-direction:column}.hero-bottom{font-size:8px}.trust{padding:20px 5%;font-size:8px;text-align:center;gap:17px;align-items:center}.section{padding:58px 6%}.section-heading{display:block;margin-bottom:27px}.section-heading>p{font-size:14px}.build-grid,.video-grid,.process,.consult,.faq{grid-template-columns:1fr;gap:28px}.photo{height:270px}.card-body{padding:22px 0}.card-body h3{font-size:23px}.video-slot{aspect-ratio:16/10}.video-label{display:flex;margin-bottom:15px}.process ol{margin-top:15px}.form-panel{padding:26px}.faq h2{font-size:35px}footer{padding-bottom:100px}footer>div:nth-child(2){flex-wrap:wrap;gap:20px}.mobile-cta{display:flex;position:fixed;bottom:0;width:100%;z-index:5;justify-content:center;padding:15px;box-shadow:0 -2px 12px #0002}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.project-strip{display:grid;grid-template-columns:1fr 1fr;gap:30px;padding:0 7% 85px}.project-strip figure{margin:0}.project-strip img{width:100%;height:320px;object-fit:cover}.project-strip figcaption{font-size:12px;color:#626560;margin-top:8px}@media(max-width:600px){.project-strip{grid-template-columns:1fr;padding:0 6% 55px}.project-strip img{height:260px}}

.live-form{padding:16px;min-width:0}.live-form iframe{display:block;max-width:100%}.live-form .fine a{text-decoration:underline}@media(max-width:600px){.live-form{padding:6px}}

.image-open{display:block;width:100%;height:100%;padding:0;border:0;background:none;cursor:zoom-in}.photo>span{pointer-events:none}.project-strip .image-open{height:320px}.faq-cta{margin-top:28px}.closing{text-align:center;padding:65px 6%;background:#e6e9e0}.closing .eyebrow{color:var(--red)}dialog{border:0;padding:22px;background:var(--cream);width:min(960px,94vw);max-height:92vh;overflow:auto}dialog::backdrop{background:#102019dc}dialog>img{width:100%;max-height:65vh;object-fit:contain}dialog>p{font-size:13px;margin:10px 0}button:focus-visible{outline:3px solid #b4312e;outline-offset:3px}.viewer-close{display:block;margin:0 0 15px auto;padding:10px 15px;border:1px solid #bbb;background:white;cursor:pointer}@media(max-width:600px){.project-strip .image-open{height:260px}}

.video-label{align-items:flex-start;gap:12px;flex-wrap:wrap}.video-label h3{line-height:1.4}.video-label a{white-space:nowrap}

/* Sticky mobile CTA: slide away while the consultation form is on screen (gallery.js toggles .is-hidden)
   so it never covers form fields or the submit button. */
.mobile-cta{transition:transform .2s ease}
.mobile-cta.is-hidden{transform:translateY(120%);pointer-events:none}
/* Give the GHL form iframe more width on phones (was ~292px usable inside 6% section + 26px panel padding). */
@media(max-width:600px){.consult.section{padding-left:4%;padding-right:4%}.form-panel.live-form{padding:6px}}

/* Native lead form (replaces the GHL eet6 iframe). Mirrors the GHL form's look:
   white inputs, 1px #acacac border, 5px radius, dark text, full-width black submit, 8px radius. */
.native-form{min-width:0}
.lead-form h3{font-family:Georgia,serif;font-size:28px;font-weight:400;margin:0 0 6px}
.lead-form .form-notice{margin:0 0 18px;font-size:13px}
.lead-form .req{color:var(--red)}
.lead-form .row.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.lead-form .field{margin:0 0 16px;min-width:0}
.lead-form fieldset{border:0;padding:0;margin:0 0 16px;min-width:0}
.lead-form label,.lead-form legend{display:block;font-size:13px;font-weight:700;color:#2c3345;margin:0 0 6px;padding:0}
.lead-form input[type=text],.lead-form input[type=email],.lead-form input[type=tel],.lead-form select,.lead-form textarea{width:100%;background:#fff;color:#2c3345;border:1px solid #acacac;border-radius:5px;padding:11px 15px;font:16px/1.3 Arial,Helvetica,sans-serif;margin:0 0 10px;appearance:none;-webkit-appearance:none}
.lead-form select{background-image:linear-gradient(45deg,transparent 50%,#626560 50%),linear-gradient(135deg,#626560 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;background-size:5px 5px;background-repeat:no-repeat;padding-right:34px}
.lead-form select:invalid,.lead-form select option[value=""]{color:#8c8c8c}
.lead-form .field>input,.lead-form .field>select{margin-bottom:0}
.lead-form ::placeholder{color:#8c8c8c;opacity:1}
.lead-form input:focus,.lead-form select:focus,.lead-form textarea:focus{outline:none;border-color:#202422;box-shadow:0 0 0 3px #b4312e33}
.lead-form [aria-invalid=true]{border-color:var(--red)!important;background:#fff8f7}
.lead-form .err-msg{display:block;color:var(--red);font-size:12px;margin-top:4px;font-weight:400}
.lead-form .radios label,.lead-form .consent label{display:flex;gap:10px;align-items:flex-start;font-weight:400;font-size:14px;margin:0 0 8px;cursor:pointer}
.lead-form .consent label{font-size:12px;color:#565d52;line-height:1.5}
.lead-form input[type=radio],.lead-form input[type=checkbox]{margin:3px 0 0;width:18px;height:18px;flex:0 0 18px;accent-color:#202422}
.lead-form .hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.lead-form .form-error{background:#fff1f0;border:1px solid #e4b4b2;color:#8a1f1c;border-radius:5px;padding:12px 14px;font-size:14px;margin:0 0 14px}
.lead-form .submit{display:block;width:100%;background:#000;color:#fff;border:0;border-radius:8px;padding:14px 20px;font:700 16px Arial,Helvetica,sans-serif;letter-spacing:.5px;cursor:pointer;box-shadow:0 1px 2px #00000014;margin-top:6px}
.lead-form .submit:hover{background:#202422}
.lead-form .submit[disabled]{opacity:.65;cursor:progress}
@media(max-width:600px){.lead-form .row.two{grid-template-columns:1fr;gap:0}.form-panel.native-form{padding:22px 18px}.lead-form h3{font-size:24px}}
.lead-form textarea{resize:vertical;min-height:96px}
