@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Caslon+Display&display=swap";
:root{--ink:#132b34;--deep:#0e252d;--red:#a83d2e;--clay:#c86547;--sand:#d8bb8c;--cream:#f4efe5;--paper:#fbf8f1;--line:#d8d0c2;--white:#fff;--display:"Libre Caslon Display",Georgia,serif;--sans:"DM Sans",Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:84px}body{background:var(--paper);color:var(--ink);font-family:var(--sans);margin:0;font-size:16px;line-height:1.6}a{color:inherit}img{max-width:100%;display:block}.skip{z-index:100;background:#fff;padding:.8rem 1.2rem;position:fixed;top:10px;left:-9999px}.skip:focus{left:10px}.header{z-index:20;background:#fbf8f1f5;border-bottom:1px solid #132b341f;align-items:center;gap:3rem;height:86px;padding:0 clamp(22px,4.5vw,72px);display:flex;position:relative}.brand{align-items:center;gap:.78rem;text-decoration:none;display:flex}.brand-mark{border:1.5px solid var(--ink);letter-spacing:-.08em;place-items:center;width:52px;height:52px;font-size:1.03rem;font-weight:700;display:grid;position:relative}.brand-mark i{border-top:2px solid var(--red);height:7px;position:absolute;top:8px;left:7px;right:7px;transform:skewY(-9deg)}.brand-words{flex-direction:column;line-height:1.1;display:flex}.brand-words strong{font-family:var(--display);letter-spacing:.04em;font-size:1.38rem;font-weight:400}.brand-words small{text-transform:uppercase;letter-spacing:.12em;margin-top:.32rem;font-size:.55rem}.header nav{gap:2.1rem;margin-left:auto;display:flex}.header nav a{font-size:.83rem;font-weight:600;text-decoration:none}.header-call{border-left:1px solid var(--line);flex-direction:column;min-width:190px;padding-left:1.7rem;text-decoration:none;display:flex}.header-call span{text-transform:uppercase;letter-spacing:.12em;font-size:.65rem}.header-call strong{color:var(--red);font-size:1.03rem}.hero{background:var(--deep);color:#fff;grid-template-columns:minmax(0,1.08fr) minmax(430px,.92fr);height:min(780px,100vh - 86px);min-height:650px;display:grid;position:relative;overflow:hidden}.hero-wash{background:radial-gradient(circle,#a83d2e55,#0000 67%);border-radius:50%;width:52vw;height:52vw;position:absolute;bottom:-33vw;left:-22vw}.hero-copy{z-index:2;align-self:center;padding:clamp(90px,10vw,150px) 5vw clamp(70px,8vw,120px) clamp(28px,8vw,128px);position:relative}.kicker{text-transform:uppercase;letter-spacing:.22em;color:var(--red);margin:0 0 1.2rem;font-size:.68rem;font-weight:700}.kicker.light{color:#e3bb7b}.hero h1,.section h2,.work h2,.story-film h2,.reviews h2,.contact h2{font-family:var(--display);letter-spacing:-.035em;margin:0;font-weight:400;line-height:.94}.hero h1{font-size:clamp(4.2rem,7.4vw,8.2rem)}em{color:var(--sand);font-weight:400}.hero-lead{color:#d5dee0;max-width:590px;margin:2rem 0 0;font-size:clamp(1.06rem,1.4vw,1.25rem)}.hero-actions{align-items:center;gap:2.1rem;margin-top:2.4rem;display:flex}.button{min-height:54px;font:600 .8rem var(--sans);letter-spacing:.045em;cursor:pointer;border:0;justify-content:center;align-items:center;gap:.7rem;padding:.9rem 1.35rem;text-decoration:none;display:inline-flex}.primary{background:var(--clay);color:#fff}.pale{background:var(--cream);color:var(--ink)}.text-link{border-bottom:1px solid;gap:1rem;padding:.55rem 0;font-size:.83rem;font-weight:600;text-decoration:none;display:inline-flex}.text-link span{font-size:1rem}.light{color:#fff}.hero-portrait{height:100%;margin:0;position:relative}.hero-portrait:before{content:"";background:linear-gradient(90deg,var(--deep),transparent 27%),linear-gradient(0deg,#031419a3,transparent 38%);z-index:1;position:absolute;inset:0}.hero-portrait img{object-fit:cover;object-position:55% center;width:100%;height:100%}.hero-portrait figcaption{z-index:3;border-left:2px solid var(--sand);flex-direction:column;padding-left:1rem;display:flex;position:absolute;bottom:8%;left:10%}.hero-portrait figcaption span{font-family:var(--display);font-size:1.35rem}.hero-portrait figcaption small{color:#d5dee0;text-transform:uppercase;letter-spacing:.15em;font-size:.6rem}.hero-proof{z-index:4;background:var(--red);text-align:center;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:108px;height:108px;display:flex;position:absolute;bottom:8%;right:calc(46% - 54px)}.hero-proof strong{font-family:var(--display);font-size:2.55rem;line-height:.8}.hero-proof span{text-transform:uppercase;letter-spacing:.08em;margin-top:.5rem;font-size:.53rem;line-height:1.35}.promise{border-bottom:1px solid var(--line);grid-template-columns:1fr 1.15fr;align-items:center;gap:4rem;padding:2.8rem clamp(24px,7vw,110px);display:grid}.promise>p{font-family:var(--display);margin:0;font-size:clamp(1.35rem,2vw,2rem);line-height:1.3}.promise div{grid-template-columns:1fr 1fr;gap:1rem 2rem;display:grid}.promise span{text-transform:uppercase;letter-spacing:.12em;border-bottom:1px solid var(--line);padding-bottom:.8rem;font-size:.75rem}.section{padding:clamp(90px,10vw,150px) clamp(24px,7vw,110px)}.services{background:var(--paper);grid-template-columns:.75fr 1.25fr;gap:clamp(50px,9vw,150px);display:grid}.section h2{font-size:clamp(3.3rem,5.5vw,6rem)}.service-list{border-top:1px solid var(--line)}.service-list article{border-bottom:1px solid var(--line);grid-template-columns:54px 1fr 44px;align-items:start;gap:1rem;padding:1.6rem 0;display:grid}.service-list article>span{color:var(--red);font-size:.65rem}.service-list h3{font-family:var(--display);margin:0 0 .4rem;font-size:1.65rem;font-weight:400}.service-list p{color:#536269;max-width:560px;margin:0;font-size:.9rem}.service-list a{border:1px solid var(--line);border-radius:50%;place-items:center;width:42px;height:42px;font-size:1.25rem;text-decoration:none;display:grid}.work{background:var(--deep);color:#fff;padding:clamp(90px,9vw,140px) clamp(20px,5vw,80px)}.work-head{justify-content:space-between;align-items:end;gap:3rem;max-width:1340px;margin:0 auto 4rem;display:flex}.work h2{font-size:clamp(3.5rem,6vw,6.8rem)}.work-head>p{color:#c7d0d2;max-width:400px}.work-grid{grid-template-rows:390px 330px;grid-template-columns:1.25fr .75fr .75fr;gap:14px;max-width:1340px;margin:auto;display:grid}.work-grid figure{background:#1b343c;margin:0;position:relative;overflow:hidden}.work-grid img{object-fit:cover;width:100%;height:100%;transition:transform .8s}.work-grid figure:hover img{transform:scale(1.025)}.work-grid figure:after{content:"";background:linear-gradient(#0000,#041419c2);position:absolute;inset:35% 0 0}.work-grid figcaption{z-index:2;flex-direction:column;display:flex;position:absolute;bottom:1.3rem;left:1.4rem}.work-grid figcaption span{font-family:var(--display);font-size:1.3rem}.work-grid figcaption small{text-transform:uppercase;letter-spacing:.13em;color:#ccd4d6;font-size:.53rem}.work-1{grid-row:1/3}.work-4{grid-column:2/4}.work-cta{justify-content:flex-end;align-items:center;gap:2rem;max-width:1340px;margin:2rem auto 0;display:flex}.michael{background:var(--cream);grid-template-columns:1fr .9fr;align-items:center;gap:clamp(60px,9vw,140px);display:grid}.michael-photos{height:720px;position:relative}.photo-main{width:77%;height:88%;margin:0;overflow:hidden}.photo-main img{object-fit:cover;object-position:65% center;width:100%;height:100%}.photo-float{border:10px solid var(--cream);width:45%;height:41%;margin:0;position:absolute;bottom:0;right:0;overflow:hidden}.photo-float img{object-fit:cover;width:100%;height:100%}.scribble{background:var(--red);color:#fff;text-align:center;text-transform:uppercase;letter-spacing:.1em;border-radius:50%;place-items:center;width:120px;height:120px;font-size:.63rem;display:grid;position:absolute;top:8%;right:2%;transform:rotate(7deg)}.michael-copy h2{margin-bottom:2rem;font-size:clamp(3rem,5vw,5.4rem)}.michael-copy>p{color:#485b61;max-width:600px}.michael-copy .big-copy{font-family:var(--display);color:var(--ink);font-size:1.45rem;line-height:1.45}blockquote{font-family:var(--display);border-left:2px solid var(--red);margin:2rem 0;padding-left:1.3rem;font-size:1.6rem;line-height:1.4}blockquote cite{font:600 .62rem var(--sans);text-transform:uppercase;letter-spacing:.12em;margin-top:.8rem;display:block}.signature{flex-direction:column;margin-top:2rem;display:flex}.signature span{font-family:var(--display);font-size:1.7rem;font-style:italic}.signature small{text-transform:uppercase;letter-spacing:.14em;font-size:.58rem}.story-film{background:var(--ink);color:#fff;grid-template-columns:.72fr 1.28fr;display:grid}.film-copy{padding:clamp(70px,8vw,120px)}.story-film h2{margin-bottom:1.6rem;font-size:clamp(3.4rem,5vw,5.8rem)}.film-copy p:not(.kicker){color:#ccd5d7;max-width:430px}.film-copy .button{margin-top:1.4rem}.film-frame{background:#091b22;place-items:center;min-height:610px;padding:clamp(24px,5vw,80px);display:grid}.film-frame iframe{aspect-ratio:16/9;border:0;width:100%;box-shadow:0 30px 70px #0007}.process{grid-template-columns:.75fr 1.25fr;gap:clamp(50px,9vw,150px);display:grid}.process ol{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.process li{border-bottom:1px solid var(--line);grid-template-columns:55px 1fr;gap:1rem;padding:1.5rem 0;display:grid}.process li b{color:var(--red);grid-row:1/3;font-size:.65rem}.process h3{font-family:var(--display);margin:0;font-size:1.55rem;font-weight:400}.process li p{color:#58666b;margin:.2rem 0 0}.reviews{background:var(--red);color:#fff;grid-template-columns:1fr .9fr;align-items:center;gap:clamp(60px,10vw,160px);padding:clamp(80px,9vw,130px) clamp(24px,8vw,120px);display:grid}.reviews h2{font-size:clamp(3.4rem,5vw,6rem)}.reviews-copy>p:not(.kicker){color:#f1d7cd;max-width:520px}.placeholder-label{text-transform:uppercase;letter-spacing:.1em;border:1px solid #e59a86;margin-top:1.2rem;padding:.55rem .75rem;font-size:.54rem;display:inline-block}.review-preview{background:var(--paper);color:var(--ink);padding:clamp(32px,5vw,64px);position:relative}.quote-mark{font-family:var(--display);color:var(--clay);font-size:7rem;line-height:.5}.review-preview>p{font-family:var(--display);font-size:clamp(1.45rem,2vw,2rem);line-height:1.4}.review-preview>div:not(.quote-mark){border-top:1px solid var(--line);flex-direction:column;padding-top:1rem;display:flex}.review-preview small{color:#677377}.review-preview i{text-transform:uppercase;letter-spacing:.1em;color:#9b5146;margin-top:1.4rem;font-size:.58rem;display:block}.faq{grid-template-columns:.7fr 1.3fr;gap:clamp(50px,9vw,150px);display:grid}.faq-list{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line);padding:1.35rem 0}summary{cursor:pointer;font-family:var(--display);justify-content:space-between;align-items:center;font-size:1.38rem;list-style:none;display:flex}summary::-webkit-details-marker{display:none}summary b{font-family:var(--sans);color:var(--red);font-weight:400}details[open] summary b{transform:rotate(45deg)}details p{color:#59676c;max-width:650px}.contact{background:var(--deep);color:#fff;grid-template-columns:.75fr 1.25fr;display:grid}.contact-copy{padding:clamp(70px,9vw,130px) clamp(24px,7vw,100px)}.contact h2{font-size:clamp(3.5rem,5.5vw,6rem)}.contact-copy>p:not(.kicker){color:#c9d3d5;max-width:480px}.contact-direct{border-top:1px solid #466068;margin-top:3rem}.contact-direct a{border-bottom:1px solid #466068;flex-direction:column;padding:1rem 0;text-decoration:none;display:flex}.contact-direct small{text-transform:uppercase;letter-spacing:.12em;color:#b9c6c9;font-size:.56rem}.contact-direct strong{font-family:var(--display);color:var(--sand);font-size:1.6rem;font-weight:400}.contact form{background:var(--paper);color:var(--ink);grid-template-columns:1fr 1fr;gap:1.1rem 1.4rem;margin:clamp(40px,6vw,90px) clamp(24px,7vw,100px) clamp(40px,6vw,90px) 0;padding:clamp(28px,5vw,60px);display:grid}.form-title{border-bottom:1px solid var(--line);grid-column:1/-1;justify-content:space-between;margin-bottom:.8rem;padding-bottom:1.4rem;display:flex}.form-title span{font-family:var(--display);font-size:1.8rem}.form-title small{color:#69777b;align-self:end}.contact label{text-transform:uppercase;letter-spacing:.1em;font-size:.68rem;font-weight:600}.contact input,.contact select,.contact textarea{width:100%;font:400 .95rem var(--sans);background:0 0;border:0;border-bottom:1px solid #aeb5b4;border-radius:0;padding:.75rem .1rem;display:block}.contact textarea{border:1px solid #aeb5b4;margin-top:.65rem;padding:.8rem}.contact .wide{grid-column:1/-1}.form-note{color:#738084;align-self:center}.contact input:focus,.contact select:focus,.contact textarea:focus{outline:2px solid var(--clay);outline-offset:2px}footer{color:#fff;background:#07191f;grid-template-columns:1.5fr .65fr 1fr;gap:4rem;padding:4.5rem clamp(24px,7vw,110px) 2rem;display:grid}.footer-brand .brand{width:max-content}.footer-brand .brand-mark{border-color:#fff}.footer-brand p{color:#aebcc0}.footer-brand~div{flex-direction:column;gap:.6rem;display:flex}.footer-brand~div h3{text-transform:uppercase;letter-spacing:.15em;color:var(--sand);font-size:.62rem}.footer-brand~div a{text-decoration:none}.footer-brand~div span{color:#aebcc0}.copyright{color:#84989d;border-top:1px solid #294047;grid-column:1/-1;gap:2rem;padding-top:1.5rem;font-size:.7rem;display:flex}.copyright span{margin-left:auto}.mobile-actions{display:none}a,button{transition:opacity .2s,background .2s,color .2s}a:hover,button:hover{opacity:.78}a:focus-visible,button:focus-visible,summary:focus-visible{outline-offset:4px;outline:3px solid #e4b86b}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}@media (max-width:1000px){.header{height:74px}.header nav,.header-call{display:none}.hero{grid-template-columns:1fr;height:auto;min-height:0}.hero-copy{padding:80px 24px 55px}.hero h1{font-size:clamp(4rem,15vw,6.2rem)}.hero-portrait{height:520px}.hero-portrait:before{background:linear-gradient(#0000 55%,#031419b3)}.hero-proof{bottom:455px;right:24px}.promise,.services,.michael,.process,.reviews,.faq,.contact{grid-template-columns:1fr}.promise{gap:2rem}.work-grid{grid-template-rows:390px 300px 300px;grid-template-columns:1fr 1fr}.work-1{grid-area:auto/1/auto/3}.work-4{grid-column:auto}.michael-photos{height:650px}.story-film{grid-template-columns:1fr}.film-frame{min-height:0}.contact form{margin:0 24px 70px}.footer-brand{grid-column:1/-1}footer{grid-template-columns:1fr 1fr}.copyright{grid-column:1/-1}.mobile-actions{z-index:50;background:#fff;grid-template-columns:1.2fr .8fr;height:64px;display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 30px #0002}.mobile-actions a{color:var(--ink);justify-content:center;align-items:center;font-weight:700;text-decoration:none;display:flex}.mobile-actions a:first-child{flex-direction:column;line-height:1.05}.mobile-actions small{margin-top:.25rem;font-size:.65rem}.mobile-actions a:last-child{background:var(--clay);color:#fff}footer{padding-bottom:90px}}@media (max-width:640px){.brand-mark{width:44px;height:44px}.brand-words strong{font-size:1.15rem}.hero-actions{flex-direction:column;align-items:flex-start;gap:.7rem}.hero-portrait{height:430px}.hero-proof{width:94px;height:94px;bottom:365px}.promise div{grid-template-columns:1fr}.section{padding:80px 22px}.services{gap:3rem}.service-list article{grid-template-columns:38px 1fr}.service-list article>a{display:none}.work{padding:80px 14px}.work-head{margin-bottom:2rem;padding:0 8px;display:block}.work-head>p{margin-top:1.4rem}.work-grid{display:block}.work-grid figure{height:280px;margin-bottom:10px}.work-grid .work-1{height:380px}.work-cta{flex-wrap:wrap;justify-content:flex-start;padding:0 8px}.michael-photos{height:480px}.photo-main{width:86%;height:88%}.photo-float{width:49%;height:37%}.scribble{width:94px;height:94px;font-size:.52rem}.michael-copy h2{font-size:3.4rem}.film-copy{padding:75px 22px}.film-frame{padding:16px}.reviews{padding:80px 22px}.review-preview{padding:36px 26px}.contact-copy{padding:80px 22px}.contact form{grid-template-columns:1fr;margin:0 14px 60px;padding:28px 20px}.contact .wide,.form-title{grid-column:auto}.form-title{display:block}.form-title small{margin-top:.4rem;display:block}.contact button{width:100%}footer{grid-template-columns:1fr;gap:2rem}.footer-brand{grid-column:auto}.copyright{grid-column:auto;display:block}.copyright span,.copyright a{margin:8px 0 0;display:block}}
.work-grid img{transition:none}.work-grid figure:hover img{transform:none}.compact-trust{background:var(--paper);border-bottom:1px solid var(--line);grid-template-columns:repeat(4,1fr);padding:clamp(28px,4vw,52px) clamp(24px,7vw,110px);display:grid}.compact-trust div{border-right:1px solid var(--line);padding:0 1.5rem}.compact-trust div:first-child{padding-left:0}.compact-trust div:last-child{border:0}.compact-trust b,.compact-trust span{display:block}.compact-trust b{font-family:var(--display);font-size:1.2rem;font-weight:400}.compact-trust span{color:#69777b;margin-top:.25rem;font-size:.73rem}.contact-preference{border:0;border-top:1px solid var(--line);grid-column:1/-1;gap:1.3rem;margin:0;padding:1rem 0 0;display:flex}.contact-preference legend{text-transform:uppercase;letter-spacing:.1em;padding:0 .5rem 0 0;font-size:.68rem;font-weight:600}.contact-preference label{align-items:center;gap:.35rem;display:flex}.contact-preference input{width:auto;margin:0}.form-error{font-weight:700;color:#a83d2e!important}.estimate-success{background:var(--paper);color:var(--ink);flex-direction:column;justify-content:center;align-self:stretch;align-items:flex-start;margin:clamp(40px,6vw,90px) clamp(24px,7vw,100px) clamp(40px,6vw,90px) 0;padding:clamp(32px,5vw,64px);display:flex}.estimate-success>span{background:var(--clay);color:#fff;border-radius:50%;place-items:center;width:46px;height:46px;display:grid}.estimate-success h3{font-family:var(--display);margin:1rem 0 .2rem;font-size:2.5rem;font-weight:400}.estimate-success p{color:#59676c;max-width:480px}@media (max-width:1000px){.compact-trust{grid-template-columns:1fr 1fr;gap:1.4rem 0}.compact-trust div:nth-child(2){border:0}.compact-trust div:nth-child(3){padding-left:0}}@media (max-width:640px){.compact-trust{grid-template-columns:1fr;gap:0;padding:34px 22px}.compact-trust div,.compact-trust div:nth-child(3){border-right:0;border-bottom:1px solid var(--line);padding:1rem 0}.compact-trust div:last-child{border:0}.contact-preference{flex-wrap:wrap}.estimate-success{margin:0 14px 60px}.estimate-success button{width:auto}}
.form-trap{width:1px!important;height:1px!important;position:absolute!important;left:-9999px!important;overflow:hidden!important}
