:root{--cream:#f8f5ed;--ink:#1f3e33;--orange:#ad5f3e}body{background:var(--cream)}header{padding:25px 5%;background:#f8f5edf5}.preview-bar{padding:9px 5%;font-size:9px;letter-spacing:1.6px}.preview-bar>a{font-size:12px;letter-spacing:.4px;text-decoration:none}nav .button{border-radius:2px}.brand-icon{border:1px solid #a8b3a1;width:46px;height:48px;text-align:center;font-size:34px;line-height:46px}.brand-icon span{font-size:17px}.hero{max-width:1600px;margin:auto;grid-template-columns:1fr 1fr;min-height:680px}.hero-copy{padding:85px 10% 75px}.hero h1{font-size:clamp(54px,5.8vw,87px);line-height:1.02;letter-spacing:-2.6px}.hero-copy p{font-size:16px;line-height:1.85;color:#606e62}.hero-copy .eyebrow{font-size:10px}.hero-copy .button{padding:16px 22px;border-radius:2px;font-size:13px}.hero .text-link{font-size:12px}.trust{border-top:1px solid var(--line);padding-top:23px;margin-top:37px;gap:22px;font-size:11px}.hero-art{margin:20px 25px 25px 0;min-height:620px;overflow:visible;background:#64705d}.hero-art>img{position:absolute;inset:0;object-position:center 53%;filter:brightness(.88);height:100%;width:100%}.hero-art:after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#17291ebd);pointer-events:none}.photo-caption{position:absolute;bottom:35px;left:35px;right:30px;z-index:1;color:white}.photo-caption span{font-size:9px;letter-spacing:2.3px;display:block;margin-bottom:10px}.photo-caption b{font:29px Georgia;line-height:1.2}.experience-seal{position:absolute;top:30px;left:-35px;width:112px;height:112px;z-index:2;background:#ece0c4;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 6px 25px #0001;border:5px solid #f7f1e4}.experience-seal b{font:38px Georgia;line-height:1.1}.experience-seal span{font-size:8px;letter-spacing:1.3px;text-align:center;line-height:1.5}.strip{background:#e9eadf;border-top:1px solid #d8ddcf;border-bottom:1px solid #d8ddcf;padding:24px 5%;font-size:10px;letter-spacing:1.2px}.section{max-width:1440px;margin:auto;padding:90px 6%}.section-head{margin-bottom:40px}.section h2{font-size:48px;letter-spacing:-1px;line-height:1.1}.section-head p{font-size:14px;line-height:1.9;max-width:370px}.service-card{padding:0;overflow:hidden;border:0;border-radius:2px;background:#fff;box-shadow:0 5px 30px #203f3506}.service-photo{display:block;height:220px;object-fit:cover;width:100%;transition:transform .3s}.service-card:hover .service-photo{transform:scale(1.025)}.service-body{padding:25px 26px 28px}.service-num{font:12px Arial;letter-spacing:1px;margin-bottom:14px;color:#956c50}.service-body h3{font:25px Georgia}.service-body p{font-size:13px;line-height:1.8;min-height:70px}.service-body .text-link{font-size:11px}.grid{gap:25px}.work-section{padding-top:25px}.work-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:22px}.work-photo{position:relative;display:block;min-width:0;text-decoration:none;overflow:hidden}.work-photo img{width:100%;height:320px;object-fit:cover;display:block;transition:filter .2s}.work-photo:hover img{filter:brightness(.9)}.work-photo span{display:block;padding:17px 0;font:20px Georgia;border-bottom:1px solid #cdd5c6}.work-photo b{float:right;font:19px Arial;color:var(--orange)}.section.dark{max-width:none;padding-left:max(6%,calc((100% - 1267px)/2));padding-right:max(6%,calc((100% - 1267px)/2));background:#203f35}.dark .eyebrow{color:#d1a782}.dark p{font-size:14px;line-height:1.9}.dark .split{gap:90px}.steps{padding:24px 0}.steps h3{font:24px Georgia}.steps p{margin-bottom:0}.dark .button{border-radius:2px;font-size:13px}.faq-section{padding-top:90px;padding-bottom:70px}.faq-section .split{gap:80px}.faq-section p{font-size:14px;line-height:1.9}.faqs details{border-top:1px solid #cfd5c7}.faqs details:last-child{border-bottom:1px solid #cfd5c7}.faqs summary{list-style:none;cursor:pointer;padding:22px 0;display:flex;justify-content:space-between;gap:20px;font-size:14px;font-weight:600}.faqs summary::-webkit-details-marker{display:none}.faqs summary span{font-size:21px;font-weight:normal;color:var(--orange)}.faqs details[open] summary span{transform:rotate(45deg)}.faqs details p{margin-bottom:23px;padding-right:25px}.faqs summary:focus-visible{outline:3px solid var(--orange);outline-offset:3px}#contact{padding-top:55px;padding-bottom:90px}#contact>.split{padding:45px;background:#e9ebdf;gap:65px;border-radius:3px}#contact .contact-panel{background:#fffaf1;border:1px solid #d7dccd;padding:35px;border-radius:2px}#contact .contact-panel h3{font:28px Georgia}#contact .contact-panel p{font-size:14px;line-height:1.8}#contact h3>a{text-decoration:none;font:28px Georgia}#contact .button{border-radius:2px;font-size:13px}.footer-wordmark{margin-top:30px;background:#203f35;padding:25px;max-width:400px}.footer-wordmark img{width:100%;height:auto;display:block}footer{background:#e9ebdf;font-size:11px;padding:45px 6%}footer .brand{font-size:12px}footer p{margin-top:14px}.mobile-contact{display:none}
@media(min-width:1550px){.hero-art{margin-right:0}}@media(max-width:1100px){.hero-copy{padding:65px 8%}.hero h1{font-size:65px}.hero-art{min-height:600px}.hero .actions{gap:15px}.hero .actions>a{font-size:11px}.trust{flex-direction:column;gap:8px}.work-photo img{height:280px}.section h2{font-size:43px}nav{gap:16px}nav a{font-size:11px}.brand{font-size:13px}.service-photo{height:200px}.section.dark .split{gap:40px}}@media(max-width:850px){header{flex-wrap:wrap;justify-content:center;gap:20px}.hero{min-height:600px}.hero h1{font-size:56px}.hero-copy{padding:55px 9%}.hero-copy p{font-size:14px}.hero-art{min-height:560px;margin-right:16px}.photo-caption{left:25px}.photo-caption b{font-size:23px}.experience-seal{width:92px;height:92px;left:-25px}.experience-seal b{font-size:30px}.experience-seal span{font-size:7px}.work-grid{grid-template-columns:1fr 1fr}.work-photo:first-child{grid-column:1/-1}.work-photo:first-child img{height:360px}.section{padding:65px 6%}.faq-section .split{gap:35px}#contact>.split{gap:30px;padding:28px}.service-body p{min-height:0}.dark .split{gap:35px}}@media(max-width:700px){.hero{display:flex;flex-direction:column}.hero-copy{padding:48px 7% 40px}.hero h1{font-size:62px}.hero-copy p{max-width:450px}.hero .actions{gap:22px}.hero .actions>a{font-size:12px}.trust{flex-direction:row;flex-wrap:wrap;gap:18px;margin-top:25px;padding-top:20px}.hero-art{min-height:0;height:490px;margin:0 20px 25px;flex-shrink:0}.hero-art>img{object-position:center 60%}.experience-seal{top:20px;left:20px}.photo-caption{bottom:28px}.photo-caption b{font-size:28px}.strip{font-size:8px;gap:14px 28px;line-height:1.6}.section h2{font-size:39px}.service-photo{height:240px}.grid{grid-template-columns:1fr 1fr;gap:17px}.service-body{padding:19px}.service-body h3{font-size:23px}.service-body p{font-size:12px}.service-body .text-link{font-size:10px}.work-photo img{height:240px}.work-photo:first-child img{height:330px}.work-photo span{font-size:17px}.faq-section .split{gap:30px}#contact .split{padding:25px}#contact .contact-panel{padding:25px}.mobile-contact{display:block;position:fixed;bottom:0;left:0;right:0;padding:12px 20px calc(12px + env(safe-area-inset-bottom));background:#203f35;z-index:10;box-shadow:0 -3px 20px #0001}.mobile-contact a{display:flex;justify-content:space-between;color:white;text-decoration:none;font-size:13px;font-weight:bold;min-height:26px;align-items:center}footer{padding-bottom:100px}.section.dark{padding:60px 7%}nav .button{padding:10px 14px}nav{gap:14px}.preview-bar{font-size:7px;letter-spacing:.5px}.preview-bar>a{font-size:10px}}@media(max-width:460px){.grid{grid-template-columns:1fr}.service-photo{height:220px}.service-body{padding:25px}.service-body p{font-size:14px}.service-body h3{font-size:26px}.service-body .text-link{font-size:12px}.work-grid{grid-template-columns:1fr}.work-photo:first-child{grid-column:auto}.work-photo img,.work-photo:first-child img{height:280px}.hero h1{font-size:57px}.hero-art{height:430px}nav{gap:12px}nav a{font-size:10px}.section h2{font-size:37px}.hero .actions{align-items:flex-start;flex-direction:column;gap:18px}.brand{font-size:14px}.preview-bar{gap:6px}.photo-caption b{font-size:25px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}.service-photo{transition:none}}
/* Subtle depth and restrained navigation transitions across public pages. */
@view-transition{navigation:auto}
::view-transition-old(root){animation:page-fade-out .14s ease both}
::view-transition-new(root){animation:page-fade-in .2s ease both}
@keyframes page-fade-out{to{opacity:.82}}
@keyframes page-fade-in{from{opacity:.82}to{opacity:1}}
header{box-shadow:0 3px 14px #203f3505}
nav a:not(.button){position:relative}
nav a:not(.button):after{content:'';position:absolute;left:0;right:100%;bottom:-5px;height:1px;background:var(--orange);transition:right .18s ease}
nav a:not(.button):hover:after,nav a:not(.button).active:after{right:0}
.hero-art{box-shadow:0 16px 38px #203f3510}
.service-card,.work-photo{transition:transform .2s ease,box-shadow .2s ease}
.service-card{box-shadow:0 5px 26px #203f350a}
.service-card:hover{transform:translateY(-3px);box-shadow:0 10px 32px #203f3514}
.work-photo:hover{transform:translateY(-2px)}
.contact-panel,#contact>.split{box-shadow:0 7px 24px #203f3508}
.button,button{transition:filter .15s ease,transform .15s ease,box-shadow .15s ease}
.button:hover,button:hover{transform:translateY(-1px);box-shadow:0 4px 12px #203f3514}
.mobile-contact{box-shadow:0 -5px 20px #203f3515}
@media(prefers-reduced-motion:reduce){::view-transition-old(root),::view-transition-new(root){animation:none}.service-card,.work-photo,.button,button,nav a:not(.button):after{transition:none}.service-card:hover,.work-photo:hover,.button:hover,button:hover{transform:none}}
/* Public work photos use a calm, single-image carousel after Management approval. */
.public-photo-carousel{position:relative;display:grid;grid-template-columns:48px minmax(0,1fr) 48px;align-items:center;gap:clamp(8px,2vw,24px);max-width:1040px;margin:26px auto 0}.public-photo-slide{min-width:0}.public-photo-figure{margin:0;background:var(--surface,#fff);border-radius:18px;overflow:hidden;box-shadow:0 16px 42px #1c292014}.public-photo-figure img{display:block;width:100%;height:clamp(280px,48vw,610px);object-fit:cover}.public-photo-figure figcaption{padding:17px 22px;border:0;font:20px Georgia,serif;color:var(--ink,#25352f)}.public-photo-arrow{display:grid;place-items:center;width:46px;height:46px;border:1px solid #cbd4c8;border-radius:50%;background:var(--surface,#fff);color:var(--ink,#25352f);font-size:30px;line-height:1;box-shadow:0 4px 14px #18251c14}.public-photo-arrow:disabled{opacity:.45}.public-photo-controls{grid-column:2;display:flex;align-items:center;justify-content:center;gap:15px}.public-photo-controls .quiet{padding:7px 12px;font-size:12px}.public-photo-count{font-size:12px;color:var(--muted,#68736b);font-variant-numeric:tabular-nums}@media(max-width:600px){.public-photo-carousel{grid-template-columns:34px minmax(0,1fr) 34px;gap:7px}.public-photo-arrow{width:34px;height:34px;font-size:24px}.public-photo-figure img{height:clamp(230px,72vw,390px)}.public-photo-figure figcaption{padding:13px 15px;font-size:17px}.public-photo-controls{gap:8px}}
.bbb-rating-link{display:inline-flex;align-items:center;gap:6px;color:inherit;text-decoration:none;font-size:12px;font-weight:650}.bbb-rating-link>span{display:grid;place-items:center;width:23px;height:23px;border:1.5px solid currentColor;border-radius:50%;font-size:11px;font-weight:750}.bbb-rating-link:hover{text-decoration:underline;text-underline-offset:3px}
/* Photo review revision: static gallery, uncropped landscape hero. */
.work-photo{margin:0;cursor:default}.work-photo:hover img{filter:none}.work-photo figcaption{display:block;padding:17px 0;font:20px Georgia;border-bottom:1px solid #cdd5c6}.hero-art{height:auto;min-height:0;aspect-ratio:4/3;align-self:center;width:calc(100% - 25px)}.hero-art>img{object-position:center;filter:none}.hero-art:after{inset:65% 0 0}.photo-caption b{font-size:24px}@media(max-width:700px){.hero-art{width:calc(100% - 40px);aspect-ratio:4/3;height:auto;margin:0 20px 25px;align-self:center}.photo-caption{left:20px;bottom:20px}.photo-caption b{font-size:20px}.experience-seal{width:80px;height:80px;top:15px;left:15px}.experience-seal b{font-size:28px}.experience-seal span{font-size:6px}.work-photo figcaption{font-size:17px}}
