/* Independent behaviors and accessibility; original visual styles are vendored in assets/. */
html{scroll-behavior:smooth}body{margin:0}img{max-width:100%}button,input,select,textarea{font:inherit}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #225c75;outline-offset:4px}
.site-header{position:relative!important;display:flex;align-items:center;justify-content:space-between;padding:34px 6%;min-height:45px;background:#f4f4f3;z-index:20;box-sizing:content-box}
.brand img{width:36px;height:36px;object-fit:contain;display:block}.site-header nav{display:flex;align-items:center;gap:28px}.site-header nav a{color:#111;text-decoration:none;font-size:16px}.site-header nav a[aria-current]{text-decoration:underline;text-underline-offset:6px}.site-header .book-button{background:#e67b56;color:#fff;padding:15px 25px}.menu-toggle{display:none;background:none;border:0;padding:12px;cursor:pointer}.menu-toggle span{display:block;width:35px;height:1px;background:#111;margin:9px 0}
.contact-form{font-family:Raleway,sans-serif;color:inherit;width:100%;box-sizing:border-box}.contact-form label{display:block;font-size:15px;line-height:1.5;margin-bottom:18px}.contact-form input:not([type=hidden]),.contact-form select,.contact-form textarea{display:block;box-sizing:border-box;width:100%;border:1px solid currentColor;background:transparent;color:inherit;padding:13px 17px;margin-top:7px;border-radius:24px;min-width:0}.contact-form textarea{border-radius:20px;resize:vertical;min-height:130px}.contact-form fieldset{border:0;padding:0;margin:0}.contact-form legend{margin-bottom:10px;font-size:17px}.name-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.send-button{border:0;background:#df7955;color:#fff;padding:22px 30px;border-radius:50%;cursor:pointer}.send-button:disabled{opacity:.6;cursor:wait}.form-status:empty{display:none}.form-status{line-height:1.5;font-size:16px}.email-fallback{font-size:14px;overflow-wrap:anywhere}.bot-field{position:absolute!important;left:-10000px!important;height:1px;width:1px;overflow:hidden}.spam-check{margin:15px 0;min-height:0}.form-cell{align-self:start!important}.standalone-form{height:auto!important;padding:0!important}.fe-block:has(.standalone-form){height:auto!important;min-height:min-content!important}
.standalone-gallery{columns:3;column-gap:20px;width:100%;padding:30px 0}.standalone-gallery a{display:block;break-inside:avoid;margin-bottom:20px}.standalone-gallery img{display:block;width:100%;height:auto;cursor:zoom-in}
.photo-dialog{border:0;padding:50px 14px 14px;background:#111;max-width:94vw;max-height:92vh;color:white}.photo-dialog::backdrop{background:#000d}.photo-dialog img{display:block;max-width:88vw;max-height:78vh;object-fit:contain}.photo-dialog button{position:absolute;right:15px;top:10px;color:white;background:none;border:0;cursor:pointer;padding:5px}.sqs-block-image{cursor:zoom-in}video{display:block;max-width:100%;background:#111}iframe{max-width:100%}
/* The portfolio originally depended on a JS-driven background transition. */
.portfolio-hover{position:relative;min-height:65vh}.portfolio-hover-backgrounds{position:absolute;inset:0}.portfolio-hover-bg{position:absolute;inset:0;opacity:0;transition:opacity .3s}.portfolio-hover-bg.active{opacity:1}.portfolio-hover-bg-mask,.portfolio-hover-bg-img{height:100%}.portfolio-hover a{position:relative;z-index:2}.portfolio-hover-list{position:relative;z-index:2}.portfolio-hover img{display:block!important}
@media(max-width:799px){.site-header{padding:30px 6%}.site-header nav{display:none;position:absolute;left:0;right:0;top:100%;background:#f4f4f3;padding:30px 6%;box-shadow:0 12px 15px #0001;flex-direction:column;align-items:flex-start;gap:25px}.site-header nav.open{display:flex}.menu-toggle{display:block}.standalone-gallery{columns:2;column-gap:12px}.standalone-gallery a{margin-bottom:12px}.contact-form{padding-bottom:22px}}
@media(max-width:480px){.name-row{grid-template-columns:1fr;gap:0}.standalone-gallery{columns:1}.contact-form input,.contact-form textarea,.contact-form select{font-size:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

.standalone-image{width:100%;height:100%;padding:0!important}.standalone-image img{width:100%;height:100%;object-fit:contain;display:block}
.project-index{position:relative;min-height:65vh;background-image:var(--base-image);background-size:cover;background-position:center;display:grid;place-items:center;overflow:hidden}.project-background{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity .3s}.project-background.visible{opacity:1}.project-links{position:relative;padding:60px 20px;display:flex;flex-direction:column;gap:22px;text-align:center}.project-links a{font-family:'Space Grotesk',sans-serif;font-size:clamp(40px,6vw,90px);color:white;text-shadow:0 2px 12px #000;text-decoration:none}.project-links a:hover,.project-links a:focus-visible{text-decoration:underline;text-underline-offset:10px}
/* Preserve the source heading hierarchy without changing the project-link layout. */
.project-links h1{margin:0;line-height:1.2}.preserved-services-summary{padding:30px 6%;background:#f4f4f3}.preserved-services-summary h4{font-size:1rem}
