/* One-page adaptation of the reviewed Project Doma design. */
.skip{position:fixed;left:20px;top:-100px;z-index:30;padding:12px 18px;background:#fff;color:#151518}.skip:focus{top:16px}.label{font-size:12px}.small,.field-label,.text-link,.btn,.project-meta,.footer-small{font-size:14px}.utility{font-size:13px}.site-header nav{font-size:14px}.hero-bottom{font-size:13px}.project-card{cursor:pointer}.project-card p{font-size:14px}.thanks-page{min-height:70vh;display:flex;flex-direction:column;align-items:flex-start;gap:28px}.thanks-page .lead{max-width:760px}
dialog{border:1px solid var(--line);background:var(--bg);color:var(--text);max-height:90dvh;overflow:auto}dialog::backdrop{background:rgb(0 0 0 / .78);backdrop-filter:blur(4px)}#contact{width:min(580px,calc(100% - 32px));padding:44px 36px}#contact h2{padding-right:20px;font-size:38px}#contact-context{margin:20px 0 26px}#contact-form{position:relative;display:grid;gap:22px}#contact-form>label:not(.consent){display:grid;gap:8px}#contact-form input[type=tel]{width:100%;min-height:56px;padding:14px;background:#1c1c1c;border:1px solid #727272;color:#fff;font-size:17px;border-radius:0}#contact-form .btn{width:100%}#contact-form .consent{display:flex;gap:12px;align-items:flex-start;font-size:14px;line-height:1.5}#contact-form .consent input{flex:none;margin-top:4px;accent-color:#fff;width:18px;height:18px}#contact-form .consent a{text-decoration:underline;text-underline-offset:3px}.honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;padding:0!important;border:0!important}
.contact-channels{padding:0;margin:0;border:0}.contact-channels legend{margin-bottom:12px;font-size:14px}.channel-options{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.channel-options label{position:relative;cursor:pointer}.channel-options input{position:absolute;opacity:0;width:1px;height:1px}.channel-options span{display:flex;align-items:center;justify-content:center;min-height:48px;border:1px solid #727272;padding:10px 6px;font-size:14px}.channel-options input:checked+span{color:#151518;background:#e8e8e8;border-color:#e8e8e8}.channel-options input:focus-visible+span{outline:2px solid #fff;outline-offset:3px}#form-status:empty{display:none}
#gallery{width:min(1140px,calc(100% - 32px));padding:32px}.gallery-top{display:flex;gap:35px;justify-content:space-between;align-items:start;padding-right:40px;margin-bottom:24px}.gallery-top h2{font-size:clamp(25px,4vw,40px)}.gallery-top .label{margin-bottom:12px}#gallery-image{width:100%;height:min(58vh,660px);object-fit:contain;background:#111}.gallery-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:16px 0}.gallery-controls .btn{min-height:44px;padding:10px 18px}.gallery-thumbs{display:flex;gap:8px;overflow:auto;margin:18px 0 24px}.gallery-thumbs button{flex:0 0 108px;padding:0;border:2px solid transparent;background:none;opacity:.6}.gallery-thumbs button[aria-current=true]{border-color:#fff;opacity:1}.gallery-thumbs img{width:100%;height:72px;object-fit:cover}#gallery-description{margin-bottom:14px}#gallery-status{margin-bottom:24px}#lightbox{width:min(1100px,calc(100% - 32px));padding:40px 20px 20px}#lightbox img{width:100%;max-height:80vh;object-fit:contain}.checklist-progress{margin-top:18px}.site-header .brand{flex-shrink:0}
@media(max-width:760px){.section{padding-top:64px;padding-bottom:64px}.utility{gap:12px;font-size:12px}.utility>span:first-child{max-width:190px}.utility>a{white-space:nowrap}.hero-content .label{font-size:11px}.hero-bottom{font-size:11px}.hero-bottom span{max-width:190px}.hero-bottom a{white-space:nowrap}.hero-actions .btn{gap:18px}.founder-facts{gap:10px}.founder-facts strong{font-size:30px}.founder-facts span{font-size:13px}#contact{padding:42px 22px 28px}#contact h2{font-size:31px}.channel-options{gap:6px}.channel-options span{font-size:13px}#gallery{padding:42px 16px 24px}.gallery-top{padding-right:18px}.gallery-thumbs button{flex-basis:82px}.gallery-thumbs img{height:58px}#gallery-image{height:38vh}.footer-bottom h3{font-size:18px}.footer-small{font-size:13px}.thanks-page{gap:24px}}
#gallery .gallery-controls{position:static;margin:16px 0;gap:16px}#gallery .gallery-controls .btn{width:auto;height:auto;min-width:48px;margin:0;flex:none}#gallery-count{white-space:nowrap}dialog .close{position:absolute;top:14px;right:14px;margin:0;float:none}dialog .small{font-size:14px}
@media(max-width:760px){#gallery-image{height:auto;max-height:42vh}.gallery-thumbs{scrollbar-width:thin;scrollbar-color:#727272 #1c1c1c}.hero h1{font-size:clamp(34px,10.5vw,46px)}}
@media(max-width:760px){.mobile-menu{white-space:nowrap;flex-shrink:0}}
@media(max-width:360px){.site-header .brand{width:170px}.brand strong{font-size:19px}.site-header{gap:16px}}
.thanks-header{flex-wrap:wrap}.thanks-header>a[href^="tel:"],.thanks-page a[href^="tel:"]{white-space:nowrap}.thanks-header>a[href^="tel:"]{font-size:14px}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

#contact-backdrop:not([hidden]) {
  position: fixed;
  inset: 0;
  z-index: 40;
  background: rgb(0 0 0 / .78);
  backdrop-filter: blur(4px);
}
#contact[open] {
  position: fixed;
  inset: 0;
  z-index: 41;
  margin: auto;
}

#hero .hero-photo img { object-position: 54% 55%; }
.project-card[hidden], .portfolio-filters[hidden], .portfolio-more[hidden], .portfolio-more button[hidden] { display: none; }
.portfolio-filters { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 28px; }
.portfolio-filters button {
  padding: 9px 14px;
  min-height: 44px;
  border: 1px solid var(--line);
  color: var(--text);
  background: transparent;
  font: inherit;
  font-size: 14px;
  cursor: pointer;
}
.portfolio-filters button[aria-pressed=true] { background: var(--text); color: var(--bg); }
.portfolio-filters button:focus-visible, .client-marquee button:focus-visible { outline: 2px solid var(--text); outline-offset: 3px; }
.portfolio-more { display: flex; align-items: center; flex-wrap: wrap; gap: 18px; margin-top: 30px; }
.portfolio-more .small { margin: 0; }
[data-project="tureyka"] img { object-position: right center; }
.service-tile img[src*="site-plan"] { object-fit: contain; background: #f7f7f7; }

.construction-heading { align-items: end; }
.construction-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 20px; }
.construction-grid figure, .construction-detail { margin: 0; }
.construction-feature { grid-column: 1 / -1; }
.construction-photos { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.construction-grid img { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.construction-photos img:nth-child(2) { object-position: center 40%; }
.construction-grid figcaption { padding: 12px 0 0; }
.construction-grid h3 { margin: 0 0 4px; font-size: clamp(19px, 2.5vw, 24px); }
.construction-grid p, .construction-detail figcaption { color: var(--muted); font-size: 14px; margin: 0; }
.construction-detail { display: grid; grid-template-columns: minmax(0, 1.15fr) 1fr; align-items: end; gap: 16px; margin-bottom: 28px; }
.construction-detail img { width: 100%; aspect-ratio: 2.5 / 1; object-fit: cover; }

.project-documents .document-preview { display: block; min-height: 0; padding: 12px; background: #fff; }
.project-documents .document-preview img { display: block; width: 100%; height: auto; aspect-ratio: 5 / 4; object-fit: contain; }
.document-item h3 { font-size: clamp(18px, 2vw, 22px); margin: 12px 0 6px; }
.document-item p { font-size: 15px; color: var(--muted); margin: 0; }
.document-extras { display: grid; gap: 14px; margin-top: 24px; }
.document-extras a, .document-extras summary, #lightbox-original { width: fit-content; text-decoration: underline; text-underline-offset: .3em; }
.document-extras summary { cursor: pointer; }
.document-extra-links { display: flex; flex-wrap: wrap; gap: 14px 24px; margin-top: 14px; }
#lightbox-title { font-size: clamp(20px, 4vw, 30px); margin: 0 32px 10px 0; }
#lightbox-original { display: inline-block; margin-bottom: 16px; }
#lightbox img { display: block; background: #fff; max-height: 70dvh; }

.client-marquee { display: flex; align-items: stretch; gap: 12px; border-block: 1px solid var(--line); }
.client-marquee-viewport { flex: 1; min-width: 0; overflow: hidden; }
.client-marquee-track ul { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px 24px; margin: 0; padding: 16px 0; list-style: none; }
.client-marquee-track ul[aria-hidden] { display: none; }
.client-marquee li { flex: none; color: var(--muted); font-size: clamp(17px, 2.4vw, 26px); white-space: nowrap; }
.client-marquee button { min-width: 108px; padding: 0 9px; border: 0; border-left: 1px solid var(--line); background: transparent; color: var(--text); cursor: pointer; font: inherit; font-size: 14px; }
@media (prefers-reduced-motion: no-preference) {
  .client-marquee[data-animated=true] .client-marquee-track { display: flex; width: max-content; animation: client-scroll 28s linear infinite; }
  .client-marquee[data-animated=true] ul { display: flex; flex-wrap: nowrap; justify-content: space-around; gap: 38px; flex: none; min-width: min(92vw, 1180px); padding-right: 38px; }
  .client-marquee[data-paused=true] .client-marquee-track { animation-play-state: paused; }
}
@media (prefers-reduced-motion: reduce) { .client-marquee button { display: none; } }
@keyframes client-scroll { to { transform: translateX(-50%); } }

@media (max-width: 760px) {
  #hero { min-height: 760px; padding-top: 46px; padding-bottom: 24px; }
  #hero h1 { font-size: clamp(29px, 9.2vw, 42px); }
  #hero .hero-photo img { object-position: 57% center; }
  #hero .hero-bottom { margin-top: 210px; }
  .construction-grid { gap: 20px 12px; }
  .construction-detail { grid-template-columns: 1fr; gap: 8px; }
  .construction-photos { gap: 5px; }
  .construction-photos img { aspect-ratio: 4 / 3; }
  .construction-grid p { font-size: 13px; }
  .project-documents .document-preview img { max-height: 260px; }
  .document-extras a, .document-extras summary, #lightbox-original { padding: 7px 0; }
  .client-marquee button { min-width: 94px; }
}
