.fence-hero{background:#111713;color:white;padding:75px 0 85px;overflow:hidden}.fence-layout{display:grid;grid-template-columns:1fr 1.08fr;align-items:center;gap:60px}.fence-copy h1{font-size:clamp(3.3rem,6.4vw,6rem);line-height:1.04;letter-spacing:-.055em;margin:20px 0 25px}.fence-copy em{font-style:normal;color:var(--lime)}.fence-copy p{color:#c8d2ca;font-size:1.13rem;max-width:470px}.outline-btn{border:1px solid #67736b;color:white;text-decoration:none;padding:.85rem 1.15rem;border-radius:8px;font-weight:750}.hero-meta{margin-top:35px;font-size:.9rem;color:#b8c4bb}.fence-stage{position:relative;perspective:1400px;padding:35px 8px 45px}.image-plane{position:relative;border-radius:16px;overflow:hidden;transform:rotateY(-12deg) rotateX(5deg) rotateZ(2deg);box-shadow:18px 22px 0 #26362b,30px 36px 0 #1b271f,0 45px 70px #0009;transition:transform .35s ease;border:1px solid #7c8b6b;background:#283c2a}.image-plane img{width:100%;height:420px;object-fit:cover}.image-caption{position:absolute;bottom:0;left:0;right:0;padding:65px 25px 25px;background:linear-gradient(transparent,#000c)}.image-caption span{font-size:.8rem;letter-spacing:.15em;display:block;color:#e1ebdf}.image-caption strong{font-size:2rem;line-height:1.2;display:block;margin-top:8px}.floating-tag{position:absolute;top:9px;right:-3px;background:var(--lime);color:var(--ink);padding:12px 18px;font-weight:850;border-radius:6px;transform:rotate(4deg);box-shadow:0 8px 0 #93ab41}.example-label{position:absolute;bottom:0;right:5px;color:#b8c4bb;font-size:.82rem}.style-section{background:var(--forest);color:white;padding:65px 0}.style-heading{display:flex;gap:40px;align-items:end;justify-content:space-between;margin-bottom:30px}.style-heading h2{margin:12px 0 0;font-size:clamp(2rem,4vw,3.5rem)}.style-heading p{max-width:430px;margin:0}.style-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.style-option{background:#244c35;color:#fff;border:1px solid #5a7863;border-radius:10px;padding:20px;text-align:left;font:inherit;font-weight:800;cursor:pointer;transition:transform .2s,box-shadow .2s}.style-option span{display:block;font-size:.85rem;font-weight:500;margin-bottom:10px}.style-option.active{background:var(--lime);color:var(--ink);border-color:var(--lime);box-shadow:0 6px 0 #8caa36;transform:translateY(-4px)}.style-details{display:grid;grid-template-columns:1fr 1.4fr;gap:14px 50px;padding-top:32px}.style-details h3{font-size:1.6rem;margin:0}.style-details p{margin:0;color:#dde6df}.text-link{font-weight:800;color:var(--lime);text-underline-offset:5px}.gallery-section{background:#f4f6f1;padding:85px 0}.gallery-section .eyebrow{color:var(--green)}.gallery-section .style-heading p{color:#526055}.gallery-filters{display:flex;gap:9px;flex-wrap:wrap;margin:30px 0}.gallery-filters button{border:1px solid #bdc8be;background:transparent;border-radius:40px;font:inherit;font-weight:750;padding:10px 20px;cursor:pointer}.gallery-filters button.selected{background:var(--ink);color:#fff;border-color:var(--ink)}.fence-gallery{display:grid;grid-template-columns:1fr 1fr;gap:28px}.gallery-card{padding:0;text-align:left;color:inherit;background:white;border:1px solid #d5ded3;border-radius:14px;overflow:hidden;font:inherit;cursor:pointer;box-shadow:0 7px 0 #dce3d8;transition:transform .2s,box-shadow .2s}.gallery-card:hover{transform:translateY(-5px);box-shadow:0 12px 0 #dce3d8}.gallery-card[hidden]{display:none}.gallery-photo{overflow:hidden;position:relative}.gallery-photo img{width:100%;aspect-ratio:3/2;object-fit:cover;transition:transform .5s}.gallery-card:hover img{transform:scale(1.035)}.gallery-photo span{position:absolute;bottom:16px;right:16px;background:#111713e8;color:white;padding:7px 12px;border-radius:30px;font-size:.88rem}.gallery-text{padding:25px}.gallery-text h3{margin:0 0 10px;font-size:1.5rem}.gallery-text p{margin:0 0 12px;color:#546158}.gallery-text small,.gallery-note{font-size:.88rem;color:#566258}.gallery-note{margin-top:30px}.phone-link{font-size:1.8rem;font-weight:800}.send-note{color:#576459!important;font-size:.88rem}.quote form button{width:100%}#photo-dialog{border:1px solid #596858;padding:0;background:var(--ink);color:white;border-radius:14px;width:min(980px,94vw);max-height:92dvh;overflow:auto}#photo-dialog::backdrop{background:#07100de8;backdrop-filter:blur(6px)}#large-photo{width:100%;max-height:68dvh;object-fit:contain}.close-photo{position:absolute;right:12px;top:12px;width:44px;height:44px;border-radius:50%;border:1px solid #fff;background:#111713e8;color:white;font-size:30px;cursor:pointer}.dialog-caption{padding:20px 25px}.dialog-caption h2{font-size:1.7rem;margin:0}.dialog-caption p{font-size:.9rem;color:#cad4cb;margin:8px 0 0}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #8ab734;outline-offset:5px}section[id]{scroll-margin-top:95px}.brand span{font-size:.75rem}.eyebrow{font-size:.875rem}@media(max-width:850px){.fence-layout{grid-template-columns:1fr;gap:35px}.fence-hero{padding:40px 0 55px}.fence-copy{max-width:620px}.fence-stage{max-width:600px;width:100%;margin:auto;padding-left:16px;padding-right:24px}.image-plane img{height:340px}.floating-tag{right:16px}.style-tabs{grid-template-columns:1fr 1fr}.style-heading{display:block}.style-heading p{margin-top:18px}.style-details{grid-template-columns:1fr}.style-section,.gallery-section{padding:55px 0}.fence-gallery{gap:20px}.gallery-text{padding:20px}}@media(max-width:560px){.fence-gallery{grid-template-columns:1fr}.image-plane img{height:280px}.fence-copy h1{font-size:clamp(3rem,12vw,4.5rem)}.style-option{padding:16px 12px}.nav .btn{font-size:.85rem;padding:12px 10px}.nav .wrap{gap:10px}.brand{font-size:1.1rem}.brand span{font-size:.75rem;letter-spacing:.04em}.topbar{font-size:.8rem}.style-details{gap:15px}.floating-tag{font-size:.85rem}.hero-meta{font-size:.85rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}.image-plane{transform:none!important}}

.gallery-photo{background:#e3e9df}.gallery-photo img{object-fit:contain;height:350px;aspect-ratio:auto}.image-plane img{object-fit:contain;background:#26362b}@media(max-width:560px){.gallery-photo img{height:380px}}
