:root{--navy:#123f58;--blue:#086c9e;--ink:#203943;--muted:#53666f;--pale:#edf3f5;--line:#d4e0e5;--gold:#e6b65f}*{box-sizing:border-box}html{scroll-padding-top:120px}body{font-family:Arial,Helvetica,sans-serif;color:var(--ink);font-size:17px;line-height:1.65;background:#fff}a{color:var(--blue);text-underline-offset:4px}a:hover{color:var(--navy)}img{max-width:100%;height:auto}h1,h2,h3{font-weight:700;line-height:1.12;letter-spacing:-.035em;color:var(--navy)}h1{font-size:clamp(2.4rem,4.3vw,4.4rem);margin-bottom:1.4rem}h2{font-size:clamp(1.9rem,3vw,2.8rem);margin-bottom:1.25rem}p{margin-bottom:1.25rem}a,button{touch-action:manipulation}:focus-visible{outline:3px solid #a4690f!important;outline-offset:5px!important;box-shadow:none!important}.skip-link{position:fixed;top:-100px;left:12px;padding:10px 20px;background:white;z-index:2000}.skip-link:focus{top:10px}.container{max-width:1320px;padding-left:32px;padding-right:32px}.topbar{background:var(--navy);color:#fff;font-size:12px;letter-spacing:.025em;padding:9px 0}.topbar-inner{display:flex;justify-content:space-between;gap:20px}.site-header{position:sticky;top:0;z-index:1000;background:#fff;border-bottom:1px solid var(--line)}.header-inner{min-height:104px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:block;flex-shrink:0}.logo{width:238px;height:auto}.site-nav{display:flex;align-items:center;gap:25px}.site-nav a{text-decoration:none;color:var(--ink);font-size:14px;font-weight:700;white-space:nowrap;padding:12px 0}.site-nav a[aria-current=page]{color:var(--blue);box-shadow:inset 0 -2px var(--blue)}.site-nav .nav-phone{background:var(--navy);color:white;padding:12px 18px;border-radius:4px;margin-left:5px}.menu-toggle{display:none}.section{padding:88px 0}.eyebrow{text-transform:uppercase;font-size:12px;letter-spacing:.15em;font-weight:700;color:var(--blue);margin-bottom:19px}.home-hero{padding:32px 0 0}.hero-frame{background:var(--pale);border-radius:7px;overflow:hidden}.hero-copy{padding:54px 44px}.hero-copy h1{font-size:clamp(2.5rem,3.55vw,3.7rem)}.hero-copy h1 span{display:block}.hero-copy>p:not(.eyebrow){font-size:16px;max-width:510px;color:var(--muted)}.hero-photo{position:relative;min-height:610px;background:#101619}.hero-photo>img{height:100%;width:100%;object-fit:cover;position:absolute;inset:0;object-position:53% center}.photo-note{position:absolute;bottom:22px;left:24px;right:24px;background:#123f58f0;color:white;padding:15px 22px;font-size:17px}.small-label{display:block;text-transform:uppercase;font-size:10px;letter-spacing:.12em;color:#c8dce7}.photo-note a{position:absolute;right:20px;top:12px;color:white;font-size:28px;padding:2px 10px;text-decoration:none}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}.btn{border-radius:4px;padding:14px 20px;font-size:14px;font-weight:700;line-height:1.5}.btn-primary{--bs-btn-bg:var(--blue);--bs-btn-border-color:var(--blue);--bs-btn-hover-bg:var(--navy);--bs-btn-hover-border-color:var(--navy);--bs-btn-active-bg:var(--navy)}.btn-primary span{margin-left:20px}.btn-outline-primary{--bs-btn-color:var(--navy);--bs-btn-border-color:#8ca8b6;--bs-btn-hover-bg:var(--navy);--bs-btn-hover-border-color:var(--navy)}.consultation{display:inline-block;font-size:13px;font-weight:700;margin-top:22px}.consultation span{margin-left:8px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:36px}.section-heading h2{margin:0}.text-link{font-size:14px;font-weight:700;display:inline-block}.text-link span{margin-left:14px}.service-links{display:grid;grid-template-columns:1fr 1fr;column-gap:48px}.service-links>a{display:flex;align-items:center;gap:20px;color:var(--navy);text-decoration:none;border-bottom:1px solid var(--line);padding:23px 0;font-size:17px;font-weight:700}.service-links>a:hover{color:var(--blue)}.service-links>a>span:last-child{margin-left:auto}.service-number{font-size:12px;letter-spacing:.08em;color:var(--blue);font-weight:700}.company-intro{background:var(--pale)}.rounded-photo{border-radius:5px;width:100%;height:auto}.license-line{font-weight:700;font-size:15px;border-left:3px solid var(--blue);padding-left:18px;margin:25px 0}.license-line span{display:block;font-weight:400;color:var(--muted)}.faith-link{margin-top:25px;margin-bottom:0;font-size:14px}.photo{margin:0}.photo img{display:block;width:100%;border-radius:5px}.photo figcaption{font-size:14px;margin-top:14px;color:var(--muted)}.selected-work .photo img{aspect-ratio:4/3;object-fit:cover}.selected-work .col-md-4:nth-child(2) img{object-position:center 38%}.cta{background:var(--navy);padding:65px 0;color:#d8e5eb}.cta h2{color:white}.cta .eyebrow{color:#acd8ef}.cta p:last-child{margin-bottom:0;font-size:15px}.cta .btn-primary{--bs-btn-bg:#fff;--bs-btn-border-color:#fff;--bs-btn-color:var(--navy);--bs-btn-hover-bg:#d6e9f4;--bs-btn-hover-color:var(--navy)}.cta .btn-outline-primary{--bs-btn-color:white;--bs-btn-border-color:#8cabbc;--bs-btn-hover-bg:#28556d}.cta .actions{margin-top:0;justify-content:flex-start}.site-footer{padding:65px 0 0;background:#f4f6f7;font-size:14px}.footer-logo{width:205px}.footer-name{font-weight:700;color:var(--navy);margin:18px 0 8px}.site-footer h2{font-size:15px;letter-spacing:0;margin:0 0 20px}.site-footer a{color:var(--navy)}.footer-nav{display:flex;flex-direction:column;gap:7px}.footer-nav a{text-decoration:none}.footer-bottom{border-top:1px solid var(--line);padding:24px 0;margin-top:40px;font-size:12px;color:var(--muted)}.page-head{background:var(--pale);padding:65px 0}.page-head h1{max-width:970px}.lead{font-size:18px;color:var(--muted);max-width:720px;margin:0;line-height:1.65}.service-detail{display:flex;gap:28px;padding:28px 0;border-bottom:1px solid var(--line);scroll-margin-top:20px}.service-detail:first-child{padding-top:0}.service-detail h2{font-size:25px;letter-spacing:-.02em}.service-detail p{margin:0;color:var(--muted)}.service-detail .service-number{padding-top:6px}.services-aside .photo img{max-height:575px;object-fit:cover}.aside-note{background:var(--pale);padding:30px;margin-top:35px;border-radius:5px}.aside-note .eyebrow{margin-bottom:15px}.aside-note>a{font-weight:700}.terms-section{background:var(--pale)}.terms-section h2{font-size:29px}.faith-section{background:var(--pale)}.faith-section blockquote{padding-left:25px;border-left:3px solid var(--gold);margin:30px 0 0}.faith-section blockquote p{font-family:Georgia,serif;font-size:24px;line-height:1.55;margin-bottom:14px}.faith-section cite{font-size:13px;font-style:normal;font-weight:700;color:var(--blue)}.faith-art img{width:100%;height:100%;max-height:670px;object-fit:cover;object-position:right;border-radius:5px}.gallery-grid{display:grid;grid-template-columns:1fr 1fr;gap:44px 30px;align-items:start}.gallery-grid .photo img{aspect-ratio:4/3;object-fit:cover}.gallery-grid .photo:nth-child(2) img{object-fit:contain;background:#edf0f1}.gallery-grid .photo:nth-child(n+5) img{aspect-ratio:3/4}.contact-details h2{font-size:30px}.contact-details dt{font-size:12px;text-transform:uppercase;letter-spacing:.1em;margin-top:25px;color:var(--muted)}.contact-details dd{margin:5px 0 0}.contact-details a{overflow-wrap:anywhere}.contact-phone{font-size:29px;font-weight:700}.contact-terms{padding:28px;background:var(--pale);margin-top:32px;border-radius:5px}.contact-terms h2{font-size:23px}.contact-terms p{font-size:15px;margin:0}.form-card{border:1px solid var(--line);padding:35px;border-radius:7px;box-shadow:0 12px 40px #123f5808}.form-card h2{font-size:32px}.form-card>p:not(.eyebrow){font-size:15px}.form-embed{width:100%;height:620px;min-width:0}.form-embed iframe{display:block;max-width:100%;min-height:620px}.form-fallback{border-top:1px solid var(--line);padding-top:20px;margin:22px 0 0!important;font-size:13px!important;overflow-wrap:anywhere}
@media(min-width:1400px){.container{max-width:1380px}.hero-copy{padding:65px 48px}.hero-photo{min-height:635px}}
@media(max-width:1199px){.site-nav{gap:17px}.logo{width:205px}.site-nav a{font-size:13px}.site-nav .nav-phone{padding:11px}.hero-copy{padding:40px 30px}.hero-photo{min-height:600px}}
@media(max-width:991px){.header-inner{min-height:88px;flex-wrap:wrap;gap:0}.logo{width:210px}.menu-toggle{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid #abc0cb;border-radius:4px;padding:10px 12px;color:var(--navy);font-size:14px;font-weight:700}.menu-lines{width:16px;height:12px;border-top:2px solid;border-bottom:2px solid;position:relative}.menu-lines:after{content:'';position:absolute;left:0;right:0;top:3px;border-top:2px solid}.site-nav{width:100%;display:flex;flex-direction:column;align-items:stretch;gap:0;padding:12px 0 22px}.js .site-nav{display:none}.js .site-nav.is-open{display:flex}.site-nav a{font-size:16px;padding:10px 12px}.site-nav a[aria-current=page]{box-shadow:none;background:var(--pale)}.site-nav .nav-phone{margin:10px 0 0;text-align:center}.hero-copy{padding:44px}.hero-copy h1{font-size:44px}.hero-photo{min-height:460px}.section{padding:64px 0}.service-links{column-gap:30px}.faith-art img{max-height:390px;object-position:center}.services-aside{display:grid;grid-template-columns:1fr 1fr;gap:25px;align-items:start}.aside-note{margin:0}.services-aside .photo img{max-height:400px;object-fit:contain;background:var(--pale)}.cta .actions{margin-top:10px}}
@media(max-width:575px){body{font-size:16px}.container{padding-left:20px;padding-right:20px}.topbar{font-size:10px}.topbar-inner>span:last-child{display:none}.header-inner{min-height:82px}.logo{width:182px}.menu-toggle{padding:9px 10px;font-size:13px}.home-hero{padding-top:20px}.hero-copy{padding:34px 25px}.hero-copy h1{font-size:35px}.hero-copy>p:not(.eyebrow){font-size:15px}.hero-copy .eyebrow{font-size:10px}.hero-copy .actions{gap:10px}.hero-copy .btn{padding:12px 15px;font-size:13px}.hero-photo{min-height:330px}.hero-photo>img{object-position:50% center}.photo-note{left:15px;right:15px;bottom:15px;padding:12px 16px;font-size:15px}.section{padding:50px 0}.section-heading{display:block;margin-bottom:25px}.section-heading .text-link{margin-top:20px}.service-links{grid-template-columns:1fr}.service-links>a{padding:18px 0;font-size:16px}.eyebrow{font-size:11px}.cta{padding:48px 0}.page-head{padding:43px 0}.page-head h1{font-size:38px}.lead{font-size:16px}.service-detail{gap:17px}.service-detail h2{font-size:23px}.services-aside{display:block}.aside-note{margin-top:25px}.faith-section blockquote{padding-left:20px}.faith-section blockquote p{font-size:21px}.gallery-grid{grid-template-columns:1fr;gap:30px}.gallery-grid .photo img{aspect-ratio:auto;object-fit:contain}.form-card{padding:22px 14px}.form-embed{height:760px}.form-embed iframe{min-height:760px}.form-card h2{font-size:28px}.site-footer{padding-top:45px}.contact-phone{font-size:26px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}
/* Keep Bootstrap's larger desktop gutters inside narrow phone containers. */
@media(max-width:575px){.row.g-5{--bs-gutter-x:2rem}}

/* v2: preserve the full entrance lighting photo in the project gallery. */
.gallery-grid .photo:first-child img{object-fit:contain;background:#edf0f1}
