/* Readable type at normal zoom, with a consistent 18 / 16 / 14 px scale. */
:root{--muted:#55564f}
body{font-size:18px;line-height:1.75}
body p{font-size:18px!important;line-height:1.75}
body a:not(.wordmark),body button,body label,body input,body textarea{font-size:16px!important}
body small,.eyebrow,.hero .eyebrow,.section-title>.eyebrow,
.solution-image figcaption,.gallery-item figcaption a,
.brand-entry small,.brand-row small,.website-number,.website-visit,
.steps article>span,.contact-details span,.privacy-note,#form-status,
.site-credit,.footer-bottom,.footer-bottom span,.review-note,
.review-card figcaption a,.google-rating p,.zoom-label,
#lightbox p,#lightbox a,#privacy-dialog p{
 font-size:14px!important;line-height:1.6;letter-spacing:.5px
}
.eyebrow,.hero .eyebrow,.section-title>.eyebrow{font-weight:600;letter-spacing:1.5px}
.about-columns>div,.steps p,.solution-list article p,.website-list p,
.section-title>p:last-child:not(.eyebrow){font-size:18px;line-height:1.75}
.about .lead{font-size:28px!important;line-height:1.45;max-width:390px}
.about-columns{grid-template-columns:.9fr 1.35fr;gap:45px}
.about-columns>div p{max-width:49ch}
.link{padding-bottom:9px;line-height:1.55}
.button{font-size:16px!important;padding:16px 23px;min-height:54px}
.header nav{gap:25px;font-size:16px}
.header nav>a:last-child{margin-left:0}
.hero-content>p:not(.eyebrow){max-width:660px;font-size:19px!important;line-height:1.7}
.hero-bottom{align-items:center;gap:25px}
.hero-bottom>a:first-child,.hero-bottom>a:last-child{font-size:14px!important;letter-spacing:.4px}
.hero-bottom>a:last-child{max-width:45%;text-align:right;padding:7px 10px}
.hero-content{top:19%}
.hero-actions{margin-bottom:28px}
.solution-list h3{font-size:24px}
.solution-list article>span{font-size:14px;color:#55564f}
.gallery-item h3{font-size:30px}
.gallery-item figcaption a{letter-spacing:0}
.gallery-item figcaption{padding-top:20px}
.brand-entry{gap:24px;min-height:158px}
.brand-entry h3{font-size:21px;line-height:1.35}
.brand-entry small{letter-spacing:.8px;margin-top:10px}
.brand-row.brand-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.brand-logo{width:145px;height:74px}
.brand-entry:nth-child(3) .brand-logo img{width:70px;height:70px}
.website-list h3{font-size:38px}
.website-list p{margin-top:10px;max-width:48ch}
.website-list>a{padding-block:32px}
.website-visit{font-size:16px!important;letter-spacing:0}
.steps h3{font-size:30px}
.steps p{max-width:46ch}
.recognition{flex-wrap:wrap;align-items:start;gap:28px}
.recognition>p{font-size:23px!important;max-width:230px;line-height:1.4}
.recognition a>span{font-size:14px;line-height:1.6}
.team-member h3{font-size:20px;letter-spacing:1px}
.team-portrait:after{font-size:12px;letter-spacing:2px}
.contact-intro{font-size:18px!important;color:#ddd7cd}
.contact-details{font-size:18px;line-height:1.8;gap:28px}
.contact-details a{font-size:18px!important}
.contact-details span{color:#d2cabc;margin-bottom:13px}
body .contact-email{font-size:34px!important}
form label{font-size:16px!important;color:#ddd7cd;margin-top:24px}
form input,form textarea{font-size:18px!important;padding-block:12px}
.form-title{font-size:23px!important}
.privacy-note,#form-status{color:#d2cabc}
.privacy-note a,.privacy-note button,#form-status a{font-size:14px!important}
.contact form .button{font-size:16px!important}
.footer-top>p{font-size:28px!important;line-height:1.4}
.footer-top>a:last-child{font-size:16px!important}
.footer-bottom{flex-wrap:wrap;gap:20px;color:#d2cabc}
.footer-bottom nav{flex-wrap:wrap;gap:14px 22px}
.footer-bottom nav a{font-size:16px!important}
.footer-bottom>button{font-size:14px!important}
.site-credit{margin-top:25px;color:#d2cabc}
.review-card blockquote{font-size:27px;line-height:1.5}
.review-card figcaption strong{font-size:17px;line-height:1.5}
.review-card figcaption a{letter-spacing:0}
.google-rating strong small{font-size:18px!important}
.google-rating p{letter-spacing:0}
.review-note{letter-spacing:0;color:#55564f}
.light-switch,.hero-switch,.gallery-switch,#lightbox-toggle{font-size:16px!important;line-height:1.4;padding:12px 16px;gap:11px;min-height:46px}
#lightbox h2{font-size:29px;line-height:1.3}
#lightbox p,#lightbox a{letter-spacing:0}
#privacy-dialog p{font-size:17px!important;line-height:1.75}
#privacy-dialog h3{font-size:22px}
.close-dialog{font-size:16px!important;min-height:44px;padding-inline:8px}
@media(max-width:1100px){
 .header nav{gap:17px}.header{padding-inline:4%}
 .header nav a{font-size:15px!important}
 .about-columns{gap:30px}
 .section-title{grid-template-columns:1fr 2.7fr}
 .brand-entry{gap:20px;padding-inline:8px}
 .brand-logo{width:125px;height:65px}
 .website-list>a{grid-template-columns:35px 1fr;gap:20px}
 .website-visit{grid-column:2}
 .review-card blockquote{font-size:24px}
}
@media(max-width:760px){
 body{font-size:18px}
 .header{padding-inline:6%}
 .header nav a{font-size:18px!important}
 .header nav{gap:22px;padding-block:25px}
 .menu-toggle{font-size:16px!important}
 .hero-content{padding-top:36px}
 .hero-content>p:not(.eyebrow){font-size:18px!important;line-height:1.7}
 .hero-content>p:not(.eyebrow) br{display:none}
 .hero-actions{display:grid;grid-template-columns:1fr;gap:12px;margin-bottom:0}
 .hero .button{font-size:16px!important;width:100%;padding:15px 18px;min-height:52px}
 .hero-bottom{flex-direction:column;align-items:flex-start;gap:12px;padding-block:19px}
 .hero-bottom>a:first-child,.hero-bottom>a:last-child{font-size:14px!important;max-width:100%;text-align:left;background:none;padding:0}
 .about .lead{font-size:27px!important;margin-bottom:28px}
 .about-columns>div{font-size:18px}
 .section-title>p:last-child:not(.eyebrow){font-size:18px!important;margin-top:24px}
 h2{font-size:36px;line-height:1.2}
 .link{font-size:16px!important}
 .solution-list h3{font-size:23px}
 .solution-list article{grid-template-columns:23px 1fr;gap:13px}
 .solution-list article p{font-size:18px!important}
 .solution-image figcaption{font-size:14px!important;line-height:1.6}
 .gallery-item h3{font-size:27px}
 .gallery-item figcaption a{font-size:14px!important;line-height:1.6}
 .gallery-note{font-size:16px!important;line-height:1.65}
 .brand-row.brand-grid{grid-template-columns:1fr}
 .brand-entry{min-height:135px;gap:22px;padding-block:25px}
 .brand-logo{width:115px;height:65px}
 .brand-entry h3{font-size:21px}
 .brand-entry small{font-size:14px!important;letter-spacing:.4px}
 .website-list h3{font-size:30px}
 .website-list p{font-size:18px!important;line-height:1.65}
 .website-list>a{grid-template-columns:22px 1fr;gap:14px}
 .website-visit{font-size:16px!important}
 .steps article>span{font-size:14px!important}
 .steps h3{font-size:28px;line-height:1.35}
 .steps p{font-size:18px!important}
 .recognition{display:block;padding-bottom:40px}
 .recognition>p{font-size:25px!important;margin-bottom:25px;max-width:100%}
 .recognition a{display:block;font-size:17px!important;margin-top:22px}
 .recognition a>span{font-size:14px}
 .team-member h3{font-size:16px;letter-spacing:.5px}
 .team-portrait:after{font-size:10px;letter-spacing:1px}
 .contact-details{grid-template-columns:1fr;gap:28px}
 .contact-details span{font-size:14px!important;letter-spacing:1px}
 .contact-details a{font-size:19px!important}
 body .contact-email{font-size:28px!important;overflow-wrap:anywhere}
 .contact .form-title{font-size:23px!important}
 .privacy-note,#form-status{font-size:14px!important;line-height:1.7}
 .footer-top>p{font-size:26px!important}
 .footer-bottom{gap:24px}
 .footer-bottom nav{gap:14px 20px}
 .footer-bottom span,.footer-bottom>button,.site-credit{font-size:14px!important;line-height:1.7}
 .review-card blockquote{font-size:27px;line-height:1.5}
 .review-note{font-size:14px!important}
 .scene-frame>.light-switch,.scene-images>.light-switch,.hero-visual>.hero-switch,#lightbox-toggle{font-size:15px!important;min-height:46px;padding:10px 12px;gap:9px;top:10px;right:10px}
 .scene-frame .zoom-label{font-size:14px!important;padding:7px 10px}
 #lightbox-title{font-size:26px}
 #lightbox p,#lightbox a{font-size:14px!important;line-height:1.6}
}

/* Footer: navigation above, copyright and creator below. */
footer .footer-menu{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:28px 0;border-bottom:1px solid #ffffff26}
footer .footer-menu nav{display:flex;flex-wrap:wrap;gap:16px 32px}
footer .footer-menu nav a,footer .footer-menu>button{font-size:17px!important;line-height:1.6}
footer .footer-menu>button{flex-shrink:0}
footer .footer-legal{display:flex;justify-content:space-between;align-items:baseline;gap:24px 40px;padding-top:26px;color:#c8c6bb}
footer .footer-legal p,footer .footer-legal span{font-size:15px!important;line-height:1.7;margin:0}
footer .footer-legal .site-credit{text-align:right}
@media(max-width:760px){footer .footer-menu{align-items:flex-start;flex-direction:column;gap:20px}footer .footer-menu nav{gap:14px 24px}footer .footer-legal{flex-direction:column;gap:12px}footer .footer-legal .site-credit{text-align:left}}

footer .footer-legal .site-credit{order:-1;text-align:left}footer .footer-legal .footer-copyright{text-align:right}
@media(max-width:760px){footer .footer-legal .footer-copyright{text-align:left}}
