@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#191c1c;--navy:#142d4e;--paper:#f7f7f3;--red:#b43832;--muted:#606460;--line:#d9dbd5}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:85px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:17px;line-height:1.6}a{color:inherit;text-decoration:none}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,summary:focus-visible{outline:3px solid #c9554d;outline-offset:5px}img{max-width:100%;display:block}header{height:98px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;background:var(--paper)}.brand{display:flex;flex-direction:column;align-items:center;line-height:1}.brand>span{font-family:'Manrope',Arial,sans-serif;font-size:37px;font-weight:800;letter-spacing:-2px}.brand small{font-size:10px;letter-spacing:1px;margin-top:6px}.red{color:var(--red)}nav{display:flex;gap:36px;font-size:14px}nav a:hover,.dark:hover{color:var(--red)}.header-cta{font-size:14px;border-bottom:1px solid var(--ink);padding:9px 0}.header-cta span{margin-left:30px}.hero{position:relative;min-height:690px;height:calc(100svh - 98px);max-height:920px;background:var(--navy);color:#fff;overflow:hidden}.hero-image{height:100%;width:100%;object-fit:cover;object-position:center;position:absolute}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,45,78,.82),rgba(20,45,78,.72) 46%,rgba(20,45,78,.66)),linear-gradient(0deg,rgba(20,45,78,.5),transparent 40%)}.hero-content{position:relative;padding:7vh 7% 100px;max-width:1050px}.eyebrow{font-size:12px;font-weight:600;letter-spacing:2.2px;margin:0 0 28px;line-height:1.7}h1,h2,h3,p{margin-top:0}h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-2.4px;line-height:1.06}h1{font-size:clamp(64px,6.6vw,106px);margin-bottom:25px}em{font-weight:400}h1 em{color:inherit}h2{font-size:clamp(42px,4.5vw,68px);margin-bottom:28px}h3{font-family:Georgia,serif;font-weight:400;font-size:27px;line-height:1.25;margin-bottom:13px}.hero-description{color:#e1e4de;font-size:17px;line-height:1.7}.hero-actions{display:flex;gap:36px;align-items:center;margin-top:30px}.button{background:var(--red);color:#fff;display:inline-flex;gap:35px;align-items:center;justify-content:space-between;padding:19px 25px;font-size:14px;font-weight:600;transition:background .2s,transform .2s}.button:hover{background:#962e29;transform:translateY(-2px)}.text-link{font-size:14px;padding-bottom:8px;border-bottom:1px solid #ffffff70;display:inline-block}.text-link span{margin-left:14px}.hero-bottom{position:absolute;bottom:25px;left:7%;right:7%;display:flex;justify-content:space-between;font-size:10px;letter-spacing:2px}.trust{display:flex;justify-content:space-around;gap:20px;padding:27px 5%;font-size:13px;border-bottom:1px solid var(--line)}.trust span:before{content:'✧';margin-right:12px;color:var(--red);font-size:17px}.wrap{width:min(1280px,86%);margin:auto}.intro{padding:110px 0;display:grid;grid-template-columns:1fr 2fr;gap:40px}.intro .eyebrow{padding-top:12px;color:var(--red)}.intro h2{max-width:800px}.intro p:not(.eyebrow){max-width:670px;color:var(--muted);font-size:18px}.work{padding-bottom:110px}.section-heading{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:45px}.section-heading h2{margin-bottom:0}.section-heading .eyebrow{color:var(--red);margin-bottom:18px}.dark{border-color:var(--ink)}.project-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:36px;align-items:start}figure{margin:0}figure:nth-child(2){padding-top:85px}.photo{overflow:hidden;background:#d2d3cd}.photo img{width:100%;height:490px;object-fit:cover;transition:transform .8s}.photo:hover img{transform:scale(1.025)}figure:nth-child(2) .photo img{height:405px}figcaption{padding-top:20px}figcaption h3{margin-bottom:8px}figcaption span{font-size:10px;letter-spacing:1.7px;color:var(--muted)}.expertise{background:var(--navy);color:var(--paper);padding:100px 0}.expertise-layout{display:grid;grid-template-columns:1fr 1fr;gap:75px}.expertise h2{font-size:50px}.expertise .eyebrow{color:#d99084}.expertise p{color:#b8bdb8}.services details{border-bottom:1px solid #454948}.services details:first-child{border-top:1px solid #454948}summary{cursor:pointer;list-style:none;display:flex;gap:20px;align-items:center;padding:24px 0;font-size:22px;line-height:1.35}summary::-webkit-details-marker{display:none}.number{font-family:Arial,sans-serif;font-size:12px;color:#cf8e82}.plus,summary>span:last-child{margin-left:auto}details[open] .plus{transform:rotate(45deg)}.services details p{padding:0 0 22px 37px;font-size:16px;margin:0}.approach{padding:110px 0}.section-heading>p{font-size:16px;color:var(--muted)}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin-top:60px}.steps article{border-top:1px solid var(--line);padding-top:25px}.steps article>span{font-size:11px;letter-spacing:1.5px;color:var(--red)}.steps h3{margin-top:30px}.steps p{font-size:16px;color:var(--muted)}.founder{background:#e8e9e3;padding:80px 0;text-align:center}.founder-inner{max-width:910px}.founder .eyebrow{color:var(--red)}blockquote{font-family:Georgia,serif;font-size:clamp(33px,3.5vw,53px);line-height:1.25;margin:30px 0;letter-spacing:-1px}.signature{font-family:Georgia,serif;font-style:italic;font-size:25px}.signature span{display:block;font-family:Arial,sans-serif;font-size:10px;font-style:normal;letter-spacing:1.7px;margin-top:13px}.faq{padding:110px 0;display:grid;grid-template-columns:1fr 1.2fr;gap:70px}.faq h2{font-size:48px}.faq .eyebrow{color:var(--red)}.faq details{border-bottom:1px solid var(--line)}.faq summary{font-size:17px;padding:22px 0}.faq details p{color:var(--muted);font-size:16px;padding-right:25px}.contact{background:var(--navy);color:white;padding:95px 0;text-align:center}.contact h2{font-size:clamp(58px,6vw,90px)}.contact .eyebrow{color:#dfb0a6}.contact p{color:#c8ceca}.contact-actions{display:flex;align-items:center;justify-content:center;gap:35px;margin:30px 0}.call{font-size:24px;border-bottom:1px solid #80908c}.contact .contact-note{font-size:13px;margin:25px 0 0}footer{padding-top:45px;padding-bottom:45px;display:flex;align-items:center;justify-content:space-between;gap:25px}footer p,footer a,footer>small{font-size:12px;color:var(--muted);margin:0}footer>div:not(.brand){display:flex;gap:20px}.footer-brand>span{font-size:29px}.mobile-call{display:none}.skip{position:absolute;top:-100px;z-index:100;background:white;padding:15px}.skip:focus{top:0}@media(min-width:1500px){.hero-content{padding-top:10vh}}@media(max-width:900px){header{height:85px}nav{gap:20px}.hero{height:auto;min-height:730px}.hero-content{padding-top:80px}.hero h1{font-size:76px}.trust{flex-wrap:wrap;justify-content:center;gap:14px 30px}.intro{grid-template-columns:1fr;padding:80px 0;gap:5px}.expertise-layout,.faq{grid-template-columns:1fr;gap:30px}.project-grid{gap:24px}.photo img{height:380px}figure:nth-child(2) .photo img{height:320px}.steps{gap:25px}.section-heading{align-items:start}.section-heading>p{display:none}footer{flex-wrap:wrap}.expertise h2{font-size:49px}}@media(max-width:600px){header{padding:0 6%;height:82px}nav{display:none}.brand>span{font-size:30px}.header-cta{font-size:12px}.header-cta span{margin-left:12px}.hero{min-height:690px}.hero-content{padding:66px 7% 100px}.hero-image{object-position:60% center}.hero-shade{background:linear-gradient(90deg,rgba(20,45,78,.85),rgba(20,45,78,.68))}.hero .eyebrow{font-size:10px;max-width:250px;line-height:1.8;letter-spacing:1.7px}.hero h1{font-size:clamp(52px,12vw,70px);letter-spacing:-1.8px}.hero-description{font-size:15px;max-width:300px}.hero-actions{align-items:start;gap:22px;flex-direction:column}.hero-bottom{font-size:9px}.hero-bottom span:last-child{display:none}.trust{display:grid;grid-template-columns:1fr 1fr;padding:23px 7%;font-size:11px;gap:16px 10px}.trust span:before{margin-right:6px;font-size:13px}.wrap{width:86%}h2{font-size:43px;letter-spacing:-1.5px}.intro{padding:65px 0}.intro p:not(.eyebrow){font-size:16px}.section-heading{display:block;margin-bottom:30px}.section-heading .text-link{margin-top:23px}.project-grid{grid-template-columns:1fr;gap:40px}.photo img,figure:nth-child(2) .photo img{height:350px}figure:nth-child(2){padding:0}.work{padding-bottom:65px}.expertise{padding:65px 0}.expertise h2{font-size:41px}summary{font-size:20px;gap:13px}.services details p{padding-left:29px}.approach{padding:65px 0}.steps{grid-template-columns:1fr;gap:20px;margin-top:30px}.steps h3{margin-top:20px}.founder{padding:60px 0}.faq{padding:65px 0;gap:10px}.faq h2{font-size:41px}.contact{padding:65px 0}.contact h2{font-size:59px}.contact-actions{flex-direction:column;gap:25px}.contact .eyebrow{font-size:10px}.contact-note{line-height:1.6}footer{padding-bottom:95px;gap:25px}footer p{max-width:180px}footer>small{width:100%}.mobile-call{display:block;position:fixed;bottom:0;left:0;right:0;background:var(--red);color:white;text-align:center;font-size:14px;padding:15px 10px max(15px,env(safe-area-inset-bottom));z-index:10}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

footer{flex-wrap:wrap}.footer-links{width:100%;display:flex;gap:22px;flex-wrap:wrap;padding-top:18px;border-top:1px solid var(--line)}.page-heading{padding:85px 0 55px;border-bottom:1px solid var(--line)}.page-heading h1{font-size:clamp(45px,6vw,85px);max-width:1000px}.page-heading>p:last-child{max-width:720px;color:var(--muted);font-size:19px}.page-heading .eyebrow{color:var(--red)}.page-content{padding:60px 0 90px}.reading{max-width:780px}.reading h2{font-size:36px;margin-top:40px}.reading h2:first-child{margin-top:0}.reading p{color:var(--muted)}.reading blockquote{font-size:34px;margin:45px 0}.service-block{display:grid;grid-template-columns:90px 1fr;gap:25px;border-bottom:1px solid var(--line);padding:40px 0}.service-block h2{font-size:40px}.service-block p{max-width:800px;color:var(--muted)}.service-note{font-size:14px}.faq-list{max-width:900px}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{font-size:20px}.faq-list p{color:var(--muted);max-width:800px}.gallery{columns:2;column-gap:30px}.gallery figure{padding:0;margin:0 0 30px;break-inside:avoid}.gallery img{width:100%;height:auto}.portfolio-more{margin-top:40px}@media(max-width:600px){.page-heading{padding:55px 0 30px}.page-heading>p:last-child{font-size:17px}.page-content{padding:35px 0 65px}.service-block{grid-template-columns:1fr;gap:0}.service-block h2{font-size:34px}.gallery{columns:1}.footer-links{gap:18px}.faq-list summary{font-size:18px}}

.review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.review-card{border-top:2px solid var(--red);padding:28px 0;display:flex;flex-direction:column;align-items:flex-start}.review-card .eyebrow{font-size:12px;color:var(--muted)}.review-card blockquote{font-size:32px;line-height:1.35;letter-spacing:-.5px;margin:0 0 30px;flex:1}.review-author{font-weight:600;margin:0 0 10px}.review-source{font-size:14px;color:var(--muted);text-decoration:underline;text-underline-offset:4px}.review-actions{display:flex;align-items:center;gap:30px;flex-wrap:wrap;margin:40px 0 20px}.review-note{font-size:14px;color:var(--muted)}@media(max-width:800px){.review-grid{grid-template-columns:1fr}.review-card blockquote{font-size:30px}.review-actions{align-items:flex-start;flex-direction:column}}

/* Keep text contrast independent of photography and browser color preferences. */
:root{color-scheme:light}
.hero{height:auto;min-height:690px;max-height:none;padding:48px 7% 85px}
.hero-image{inset:0}
.hero-content{background:var(--navy);color:#fff;padding:44px;width:fit-content;max-width:850px}
.hero h1{font-size:clamp(54px,6.2vw,94px)}
.hero .eyebrow,.hero .text-link,.hero-bottom{color:#fff}
.hero-description{color:#edf0ec}
.hero-bottom span{background:var(--navy);padding:7px 12px;letter-spacing:1.5px}
header,.trust,.intro,.work,.approach,.faq,.page-heading,.page-content,footer{color:var(--ink)}
.founder{color:var(--ink)}
.expertise{background:var(--navy);color:#fff}
.expertise p{color:#dce0dc}
.contact{background:var(--navy);color:#fff}
.contact p{color:#e4e8e5}
.contact .eyebrow{color:#efc3b9}
@media(max-width:600px){
.hero{padding:28px 5% 72px;min-height:0}
.hero-content{padding:28px 22px;width:100%;max-width:none}
.hero h1{font-size:clamp(40px,10.5vw,63px);letter-spacing:-1.3px}
.hero .eyebrow{font-size:12px;letter-spacing:1.3px}
.hero-description{font-size:16px;max-width:none}
.hero-description br{display:none}
.hero-actions{gap:24px}
.hero .button{gap:16px;padding:17px 18px}
.hero-bottom{left:5%;right:5%;bottom:18px}
}

/* Keep the main navigation available on phones as well as desktop. */
nav a[aria-current="page"]{text-decoration:underline;text-underline-offset:6px}
@media(max-width:600px){
 header{height:auto;min-height:82px;flex-wrap:wrap;padding:18px 6% 8px;gap:10px 14px}
 header nav{display:flex;order:3;flex:0 0 100%;justify-content:space-between;flex-wrap:wrap;gap:4px 16px;font-size:14px}
 header nav a{display:inline-flex;align-items:center;min-height:44px}
}

/* Expanded primary navigation. */
header{padding-left:4%;padding-right:4%;gap:24px}
header .brand{flex:0 0 auto}
header nav{justify-content:center;gap:clamp(14px,1.7vw,30px);white-space:nowrap}
header .header-cta{white-space:nowrap}
header .header-cta span{margin-left:18px}
@media(max-width:1080px){
 header{padding-left:3%;padding-right:3%;gap:15px}
 header nav{gap:12px;font-size:13px}
 header .header-cta{font-size:13px}
}
@media(max-width:820px){
 header{height:auto;min-height:82px;flex-wrap:wrap;padding:18px 6% 8px;gap:10px 14px}
 header nav{display:flex;order:3;flex:0 0 100%;justify-content:space-between;flex-wrap:wrap;gap:4px 16px;font-size:14px;white-space:normal}
 header nav a{display:inline-flex;align-items:center;min-height:44px}
}

/* Featured portfolio story: one editorial collage built from original project photos. */
.featured-project{margin-bottom:80px;padding-bottom:70px;border-bottom:1px solid var(--line)}
.featured-project-heading{display:grid;grid-template-columns:1.15fr 1fr;gap:70px;align-items:end;margin-bottom:34px}
.featured-project-heading .eyebrow{color:var(--red);margin-bottom:18px}
.featured-project-heading h2{font-size:clamp(42px,4.3vw,62px);margin-bottom:0}
.featured-project-heading>p{max-width:570px;margin-bottom:7px;color:var(--muted);font-size:17px}
.featured-collage{padding:0!important;overflow:hidden;background:#e7e7e1}
.featured-collage a{display:block}
.featured-collage img{width:100%;height:auto;transition:transform .8s ease}
.featured-collage:hover img{transform:scale(1.012)}
.featured-project-meta{margin:18px 0 0;color:var(--muted);font-size:11px;letter-spacing:1.8px}
@media(max-width:700px){
 .featured-project{margin-bottom:55px;padding-bottom:48px}
 .featured-project-heading{grid-template-columns:1fr;gap:16px;margin-bottom:25px}
 .featured-project-heading>p{font-size:16px}
 .featured-collage img{aspect-ratio:4/3;object-fit:cover}
 .featured-project-meta{line-height:1.7}
}

/* Review proof and rating summary. */
.review-summary{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:34px;padding:30px 34px;margin-bottom:58px;background:var(--navy);color:#fff}
.review-score{display:flex;align-items:center;gap:18px;padding-right:34px;border-right:1px solid rgba(255,255,255,.25)}
.review-score strong{font-family:Georgia,serif;font-size:58px;font-weight:400;line-height:1}
.review-stars{color:#e2a59a;font-size:20px;letter-spacing:4px;white-space:nowrap}
.review-summary p{margin:0 0 3px;font-weight:700}
.review-summary>div:last-child span{color:#d8dfdc;font-size:15px}

/* Portfolio captions turn the image gallery into concise project stories. */
.portfolio-gallery figure{background:#fff;border-bottom:1px solid var(--line)}
.portfolio-gallery figure>a{display:block;overflow:hidden;background:#e6e7e1}
.portfolio-gallery figure>a img{transition:transform .65s ease}
.portfolio-gallery figure>a:hover img{transform:scale(1.018)}
.portfolio-gallery figcaption{padding:18px 20px 22px}
.portfolio-gallery figcaption h3{font-size:24px;margin:0 0 7px}
.portfolio-gallery figcaption span{display:block;line-height:1.55}
@media(max-width:700px){
 .review-summary{grid-template-columns:1fr;gap:18px;padding:26px;margin-bottom:42px}
 .review-score{padding:0 0 18px;border-right:0;border-bottom:1px solid rgba(255,255,255,.25)}
 .review-score strong{font-size:50px}
 .review-stars{font-size:18px}
}

/* Lead-generation experience. */
.hero-photo-note{margin:18px 0 0;color:#dfe5e2;font-size:13px}
.service-cta{display:inline-block;margin:0 0 24px 37px;padding-bottom:4px;border-bottom:1px solid rgba(255,255,255,.55);font-size:14px;color:#fff}
.lead-section{text-align:left;padding:105px 0}
.lead-layout{display:grid;grid-template-columns:.88fr 1.12fr;gap:80px;align-items:start}
.lead-intro h2{font-size:clamp(52px,5vw,78px);margin-bottom:25px}
.lead-intro>p:not(.eyebrow):not(.review-credit){max-width:540px;font-size:18px}
.lead-proof{display:grid;gap:10px;margin:34px 0}
.lead-proof span{font-size:14px;color:#fff}
.lead-proof span:before{content:'✧';margin-right:11px;color:#e2a59a}
.lead-intro blockquote{font-size:29px;line-height:1.35;margin:38px 0 10px;max-width:520px}
.review-credit{font-size:13px!important;color:#bfc9c5!important}
.direct-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:36px}
.text-button{display:inline-flex;padding:15px 19px;border:1px solid rgba(255,255,255,.55);font-size:14px;font-weight:600}
.estimate-form{background:var(--paper);color:var(--ink);padding:38px;box-shadow:0 24px 70px rgba(3,13,27,.22)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.estimate-form label{display:block;margin:0 0 18px;font-size:13px;font-weight:600;letter-spacing:.15px}
.estimate-form label span{font-weight:400;color:var(--muted)}
.estimate-form input,.estimate-form select,.estimate-form textarea{width:100%;margin-top:7px;border:1px solid #c9ccc6;background:#fff;color:var(--ink);border-radius:0;padding:13px 14px;font:inherit;font-size:16px}
.estimate-form textarea{resize:vertical;min-height:128px}
.estimate-form input:focus,.estimate-form select:focus,.estimate-form textarea:focus{outline:3px solid rgba(180,56,50,.24);border-color:var(--red)}
.file-field{border:1px dashed #aeb2ab;padding:15px 16px;margin-top:4px!important}
.file-field input{border:0;padding:8px 0 0;background:transparent;font-size:14px}
.form-submit{border:0;cursor:pointer;width:100%;margin-top:4px}
.form-privacy{margin:15px 0 0!important;color:var(--muted)!important;font-size:12px!important;text-align:center}
.form-privacy a{text-decoration:underline;text-underline-offset:3px}
.honey{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important}
.mobile-lead-bar{display:none}
@media(max-width:900px){.lead-layout{grid-template-columns:1fr;gap:45px}.lead-intro>p:not(.eyebrow):not(.review-credit){max-width:680px}}
@media(max-width:600px){
 .hero-actions{gap:18px}
 .hero-photo-note{font-size:12px}
 .trust{grid-template-columns:1fr}
 .service-cta{margin-left:29px}
 .lead-section{padding:65px 0 85px}
 .lead-layout{gap:36px}
 .lead-intro h2{font-size:50px}
 .lead-intro>p:not(.eyebrow):not(.review-credit){font-size:16px}
 .lead-intro blockquote{font-size:26px}
 .estimate-form{padding:25px 20px}
 .form-row{grid-template-columns:1fr;gap:0}
 .direct-actions{align-items:flex-start;flex-direction:column}
 .mobile-call{display:none}
 .mobile-lead-bar{position:fixed;z-index:20;left:0;right:0;bottom:0;display:grid;grid-template-columns:1fr 1.35fr;background:var(--navy);box-shadow:0 -7px 25px rgba(0,0,0,.18)}
 .mobile-lead-bar a{display:flex;align-items:center;justify-content:center;min-height:54px;padding:12px 8px max(12px,env(safe-area-inset-bottom));color:#fff;font-size:13px;font-weight:700;text-align:center}
 .mobile-lead-bar a:last-child{background:var(--red)}
}
.thanks-page{min-height:68vh;background:var(--navy);color:#fff;display:flex;align-items:center;padding:95px 0}
.thanks-inner{max-width:950px}
.thanks-inner .eyebrow{color:#efc3b9}
.thanks-inner h1{font-size:clamp(58px,7vw,96px);margin-bottom:30px}
.thanks-inner>p:not(.eyebrow){max-width:660px;color:#dce3df;font-size:19px}
.thanks-inner .contact-actions{justify-content:flex-start;margin-top:40px}
footer>div.footer-nap{display:block;min-width:205px;font-size:12px;line-height:1.7;color:var(--muted)}footer .footer-nap strong{font-size:12px;color:var(--ink);font-weight:700}footer .footer-nap a{text-decoration:underline;text-underline-offset:3px}