[hidden]{display:none!important}.service-hero{padding:36px 6.5% 65px;background-color:var(--navy);background-image:linear-gradient(#d9ba7509 1px,transparent 1px),linear-gradient(90deg,#d9ba7509 1px,transparent 1px);background-size:48px 48px;color:white}.back-link{font-size:14px;border-bottom:1px solid #8ca0af;padding-bottom:4px}.service-hero-layout{display:grid;grid-template-columns:1fr 180px;gap:55px;align-items:center;margin-top:42px}.service-hero h1{max-width:840px}.service-hero .eyebrow{color:var(--gold)}.service-hero p:not(.eyebrow){max-width:680px;color:#d1dbe1;margin:23px 0 28px}.service-emblem{border:1px solid #d9ba7550;aspect-ratio:1;display:grid;place-items:center}.service-emblem .service-icon{width:105px;height:105px;color:var(--gold);stroke-width:1}.portfolio-empty{padding:30px;margin-top:30px;border:1px dashed #aebdc5;max-width:780px;background:#f0f4f5}.portfolio-empty p:first-child{font-size:20px;font-weight:600;margin-top:0}.portfolio-empty p{color:var(--muted)}.portfolio-empty a{border-bottom:1px solid var(--muted)}.selected-service{color:#856729;font-size:15px;border-bottom:1px solid var(--line);padding-bottom:15px}.field-hint{font-size:13px;color:var(--muted);margin:0 0 8px}.quote-explanation{font-size:14px;margin-top:30px}#quote-status{font-size:14px;line-height:1.6}.download-quote{display:block;border:0;background:none;text-decoration:underline;cursor:pointer;color:var(--ink);padding:14px 0}.service-page #quote-email{width:100%;margin-top:10px}@media(max-width:780px){.service-hero{padding:28px 6% 45px}.service-hero-layout{grid-template-columns:1fr;gap:0;margin-top:30px}.service-emblem{display:none}.service-hero h1{font-size:34px}.portfolio-empty{padding:22px}.service-page .contact form{padding:22px}}@media(max-width:380px){.service-hero h1{font-size:29px}}
.quote-steps{padding-left:24px;margin:28px 0}.quote-steps li{padding:0 0 18px 8px;line-height:1.7}.quote-steps li::marker{color:#856729;font-weight:700}input[type=file]{font-size:14px;max-width:100%;padding:12px 8px}button:disabled{opacity:.6;cursor:wait}
.portfolio-intro{max-width:720px;color:var(--muted);margin:24px 0 32px}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px}.project-card{border:1px solid var(--line);background:white;overflow:hidden}.project-photo{display:block;background:#e8edf0}.project-photo img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;transition:filter .2s}.project-photo:hover img{filter:brightness(1.06)}.project-photo:focus-visible,.project-gallery-link:focus-visible{outline:3px solid #987631;outline-offset:3px}.project-copy{padding:26px}.project-code{color:#856729;font-size:14px;letter-spacing:.08em;margin:0 0 10px}.project-copy h3{font-size:24px;line-height:1.3;margin:0 0 6px}.project-location{color:var(--muted);font-size:14px;margin:0 0 20px}.project-copy>p{line-height:1.6}.project-gallery-link{display:inline-block;border-bottom:1px solid var(--navy);font-size:16px;margin-top:12px}.project-credit{font-size:12px;color:var(--muted);margin-bottom:0}@media(max-width:780px){.project-grid{grid-template-columns:1fr;gap:24px}.project-copy{padding:22px}.project-copy h3{font-size:22px}}
.model-areas{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:24px 0 12px;border-top:1px solid var(--line);border-left:1px solid var(--line)}.model-areas>div{padding:15px;border-bottom:1px solid var(--line);border-right:1px solid var(--line)}.model-areas dt{font-size:14px;color:var(--muted)}.model-areas dd{margin:5px 0 0;font-size:23px;font-weight:600;line-height:1.3}.model-areas dd small{font-size:14px;font-weight:400}.area-note,.area-pending{font-size:14px;color:var(--muted);line-height:1.5}.area-pending{color:#78521b}.model-hero .eyebrow{margin:28px 0 12px}.model-specs>.model-areas{grid-template-columns:repeat(4,minmax(0,1fr));max-width:1000px}.model-specs>.model-areas dd{font-size:30px}.model-adaptation{max-width:800px}.gallery-title{font-size:26px;margin:44px 0 24px}.model-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.model-photo-grid figure{margin:0;min-width:0}.gallery-item{display:block;cursor:zoom-in}.model-photo-grid img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;display:block}.model-photo-grid figcaption{font-size:14px;padding-top:9px;color:var(--muted)}.model-floorplan{padding-top:16px}.model-floorplan>p{max-width:800px}.floorplan-image{background:white;border:1px solid var(--line);margin-top:28px}.floorplan-image img{display:block;width:100%;height:auto;max-height:1000px;object-fit:contain}.viewer-open{overflow:hidden}#photo-viewer{border:0;padding:18px;background:#102b3e;color:white;max-width:min(1200px,94vw);width:94vw;max-height:94dvh;overflow:auto}#photo-viewer::backdrop{background:#07151de8}#viewer-image{width:100%;height:65dvh;object-fit:contain;display:block;background:#0b2232}.viewer-toolbar,.viewer-navigation{display:flex;align-items:center;justify-content:space-between;gap:16px}.viewer-toolbar p{margin:0}.viewer-toolbar{margin-bottom:14px}.viewer-navigation{justify-content:center}.viewer-toolbar button,.viewer-navigation button{border:1px solid #d9ba7580;background:transparent;color:white;min-height:44px;padding:8px 20px;cursor:pointer}#viewer-caption{text-align:center;margin:12px 0;font-size:16px}@media(max-width:780px){.model-specs>.model-areas{grid-template-columns:repeat(2,minmax(0,1fr))}.model-specs>.model-areas dd{font-size:25px}.model-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.model-photo-grid figcaption{font-size:14px}.model-hero h1{font-size:38px}#photo-viewer{padding:12px}#viewer-image{height:60dvh}}@media(max-width:420px){.model-photo-grid{grid-template-columns:1fr}.model-areas>div{padding:12px}.model-areas dd{font-size:21px}}
.project-card .model-photo-grid{grid-template-columns:1fr;gap:20px;margin-top:24px}

.pool-index{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0 32px}.pool-index .button{font-size:15px;padding:12px 18px}.project-card[id]{scroll-margin-top:100px}

.visualization-label{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#78521b}.model-render-grid{display:grid;gap:24px}.model-render-grid figure{margin:0}.model-render-grid img{display:block;width:100%;height:auto}.model-render-grid figcaption{font-size:14px;color:var(--muted);padding-top:10px}

.project-photo.render-preview{background:#f3f4f2}.project-photo.render-preview img{object-fit:contain}
