:root{--yellow:#eff06f;--black:#090909;--grey:#ededed;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth;max-width:100%;overflow-x:hidden}body{max-width:100%;overflow-x:hidden;margin:0;color:var(--black);font:17px/1.55 Arial,sans-serif;background:#fff}a{text-decoration:none;color:inherit}.announce{background:var(--yellow);padding:10px 4vw;text-align:center;font-weight:600}.logo{display:flex;align-items:center;gap:12px;font-size:16px;font-weight:900;line-height:1.1}.logo>b{display:grid;place-items:center;width:52px;height:52px;background:var(--yellow);border-radius:50%;font:900 30px Georgia}.logo small{display:block;font-size:9px;letter-spacing:.16em;margin-top:6px}header{height:86px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;background:#fff;position:relative;z-index:5}nav{display:flex;gap:28px;font-weight:700}nav a{padding:28px 0;border-bottom:3px solid transparent}nav a.active,nav a:hover{border-color:var(--yellow)}.call,.btn{background:var(--yellow);padding:15px 24px;font-weight:800;display:inline-block;border:0;cursor:pointer}.menu{display:none;border:0;background:none;font-size:30px}.hero{position:relative;min-height:720px;display:flex;align-items:center;color:#fff}.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.88),rgba(0,0,0,.15))}.hero-copy{position:relative;z-index:1;width:min(760px,88%);margin-left:7vw}.pill{background:var(--yellow);color:#000;border-radius:999px;padding:8px 20px;font-weight:800;font-size:14px;display:inline-block}.pill.white{background:#fff}.hero h1,.page-hero h1{font-size:clamp(48px,7vw,88px);line-height:.98;margin:24px 0;max-width:1000px}.hero p{font-size:20px;max-width:670px}.rating{display:flex;gap:14px;justify-content:center;align-items:center;padding:18px;background:#fff;box-shadow:0 8px 30px #0002;position:relative;z-index:2}.rating span{color:#f7b900;font-size:24px}.rating small{color:#555}section{padding:100px 7vw}h2{font-size:clamp(38px,5vw,64px);line-height:1.06;margin:20px 0}h3{font-size:28px;line-height:1.15}.split{display:grid;grid-template-columns:1fr 1fr;gap:7vw;align-items:center}.split p{font-size:19px}.feature-img{height:580px;position:relative}.feature-img>img{width:100%;height:100%;object-fit:cover}.feature-img>strong{position:absolute;left:-55px;bottom:40px;width:180px;height:180px;border-radius:50%;background:var(--yellow);display:grid;place-items:center;align-content:center;font-size:52px}.feature-img>strong small{display:block;font-size:15px;text-align:center}.dark,.black .btn{background:#000;color:#fff}.black{background:#080808;color:#fff}.black>p{color:#ddd;font-size:19px}.three{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:55px}.three article,.service-cards>a,.service-cards>article{background:#fff;color:#000;padding:36px;min-height:260px}.black .three article{border-top:8px solid var(--yellow)}.three article>b{font-size:18px}.service-cards i,.service-list i{font-style:normal;background:var(--yellow);width:70px;height:70px;display:grid;place-items:center;font-size:32px}.service-cards b{border-bottom:2px solid}.yellow{background:var(--yellow)}.steps article{background:transparent;border-top:2px solid #000;padding:30px 0}.steps article>b{font-size:54px}.cta{text-align:center;background:var(--grey)}.page-hero{background:#111;color:#fff;padding-top:120px;padding-bottom:120px}.page-hero p{font-size:22px;max-width:700px}.grey{background:var(--grey)}.service-list{background:var(--grey);display:grid;grid-template-columns:1fr 1fr;gap:24px}.service-list article{display:flex;gap:26px;background:#fff;padding:42px}.service-list article h2{font-size:35px;margin:0 0 12px}.service-list i{flex:none}.guarantee{display:flex;justify-content:center;align-items:center;gap:30px;background:var(--yellow)}.guarantee>b{font-size:100px}.guarantee h2{margin:0}.portfolio{display:grid;grid-template-columns:1fr 1fr;gap:28px}.portfolio article{height:560px;position:relative;color:#fff;overflow:hidden}.portfolio img{width:100%;height:100%;object-fit:cover}.portfolio article:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent,#000c)}.portfolio article div{position:absolute;z-index:1;left:35px;bottom:25px}.portfolio article h2{font-size:38px;margin:5px 0}.note{background:var(--yellow);text-align:center}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:7vw}.contact-line{display:block;font-size:25px;font-weight:800;margin:24px 0}.contact-line small{display:block;font-size:12px;letter-spacing:.2em}form{background:var(--yellow);padding:40px;display:grid;gap:20px}label{font-weight:800}input,select,textarea{display:block;width:100%;padding:15px;margin-top:7px;border:2px solid #000;background:#fff;font:16px Arial}textarea{height:130px}.faq{background:var(--grey)}details{background:#fff;margin:15px 0;padding:22px 28px}summary{font-size:21px;font-weight:800;cursor:pointer}footer{background:#050505;color:#fff;padding:65px 7vw;display:grid;gap:15px}footer .logo>b{color:#000}footer>a{font-size:clamp(16px,5vw,20px);font-weight:700;overflow-wrap:anywhere;min-width:0}footer>p{max-width:100%;overflow-wrap:anywhere}footer>small{margin-top:25px;color:#999}.mobile-bar{display:none}
@media(max-width:850px){body{font-size:16px;padding-bottom:56px}.announce{font-size:13px}header{height:78px;padding:0 20px}.logo>b{width:43px;height:43px}.call{display:none}.menu{display:block}nav{display:none;position:absolute;top:78px;left:0;right:0;flex-direction:column;gap:0;background:var(--yellow)}body.menu-open nav{display:flex}nav a{padding:18px 25px;border-bottom:1px solid #d6d760}.hero{min-height:700px}.hero-copy{margin:0 24px}.hero h1,.page-hero h1{font-size:50px}.rating{flex-wrap:wrap}.rating small{width:100%;text-align:center}section{padding:75px 24px}.split,.contact-grid{grid-template-columns:1fr}.feature-img{height:400px}.feature-img>strong{left:15px;width:140px;height:140px;font-size:40px}.three,.service-list,.portfolio{grid-template-columns:1fr}.three{gap:15px}.three article,.service-cards>a,.service-cards>article{min-height:auto}.service-list{padding:30px 18px}.service-list article{display:block;padding:30px}.service-list i{margin-bottom:25px}.portfolio{padding:30px 18px}.portfolio article{height:430px}.contact-grid form{padding:25px}.guarantee{padding:55px 24px}.guarantee>b{font-size:75px}.mobile-bar{display:grid;grid-template-columns:1fr 1fr;position:fixed;bottom:0;left:0;right:0;z-index:10}.mobile-bar a{padding:15px;text-align:center;font-weight:900;background:#000;color:#fff}.mobile-bar a:last-child{background:var(--yellow);color:#000}}

/* Photo-led reference direction */
.ref-hero{min-height:780px}.ref-hero .hero-copy{max-width:830px}.text-cta{display:inline-block;color:#fff;font-weight:800;margin-left:25px;border-bottom:2px solid var(--yellow)}.google-band{display:flex;align-items:center;justify-content:center;gap:18px;padding:22px;background:#fff;box-shadow:0 10px 35px #0002;position:relative;z-index:3}.google-band b{color:#4285f4;font-size:24px}.google-band strong{font-size:24px}.google-band span{color:#f6b900;font-size:28px;letter-spacing:3px}.google-band em{font-style:normal;font-weight:700}.intro-block{background:#efefef}.intro-block h2{font-size:clamp(55px,8vw,105px);max-width:900px}.intro-cols{display:grid;grid-template-columns:1fr 1fr;gap:6vw;max-width:1100px;margin:30px 0}.intro-cols p{font-size:21px}.photo-mosaic{position:relative;background:#efefef;padding-top:0;display:grid;grid-template-columns:1fr 1fr;gap:30px}.photo-mosaic img{width:100%;height:440px;object-fit:cover}.experience{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:230px;height:230px;border-radius:50%;background:#fff;box-shadow:0 20px 40px #0003;display:grid;place-content:center;text-align:center}.experience b{font-size:70px;line-height:1}.experience span{font-size:19px}.lead{font-size:21px;max-width:700px}.photo-services{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:50px}.photo-services>a{background:#fff;box-shadow:0 10px 30px #0001}.photo-services img{width:100%;height:330px;object-fit:cover}.photo-services a>div{padding:32px}.photo-services h3,.photo-services h2{font-size:40px;margin:8px 0}.photo-services b{display:inline-block;background:var(--yellow);padding:14px 20px;margin-top:12px}.service-showcase,.proof-section{background:#efefef}.photo-services.full{padding:70px 7vw;margin:0;background:#efefef}.how .three article{background:transparent;border-top:3px solid #000;padding:25px 0}.how .three article>b{font-size:48px}.gallery{padding:70px 5vw;display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.gallery figure{margin:0;position:relative;height:460px;overflow:hidden;background:#111}.gallery img{width:100%;height:100%;object-fit:cover;transition:.35s}.gallery figure:hover img{transform:scale(1.04)}.gallery figcaption{position:absolute;left:0;right:0;bottom:0;padding:25px;color:#fff;font-size:24px;font-weight:800;background:linear-gradient(transparent,#000)}.detail-hero{min-height:680px;position:relative;display:flex;align-items:end;color:#fff}.detail-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.detail-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent,#000d)}.detail-hero>div{position:relative;z-index:1;max-width:900px}.detail-hero h1{font-size:clamp(55px,8vw,100px);line-height:.95;margin:20px 0}.detail-hero p{font-size:22px;max-width:750px}.detail-copy{display:grid;grid-template-columns:1fr 1fr;gap:6vw;align-items:center}.detail-copy img{width:100%;height:560px;object-fit:cover}.detail-copy p,.detail-materials p{font-size:21px}.detail-materials{background:#efefef}.google-footer{display:flex;align-items:center;gap:12px;background:#fff;color:#000;padding:16px 20px;width:max-content;max-width:100%;margin:20px 0}.google-footer span{color:#f6b900;font-size:20px}
@media(max-width:850px){.text-cta{margin:20px 0 0}.google-band{gap:8px;flex-wrap:wrap}.google-band em{width:100%;text-align:center}.intro-cols,.photo-services,.gallery,.detail-copy{grid-template-columns:1fr}.intro-block h2{font-size:58px}.photo-mosaic{grid-template-columns:1fr 1fr;padding:0 18px 70px;gap:12px}.photo-mosaic img{height:230px}.experience{width:150px;height:150px}.experience b{font-size:45px}.experience span{font-size:13px}.photo-services.full{padding:35px 18px}.photo-services img{height:270px}.gallery{padding:30px 18px;grid-template-columns:1fr}.gallery figure{height:420px}.detail-hero{min-height:670px;padding:70px 24px}.detail-hero h1{font-size:44px;overflow-wrap:anywhere}.detail-hero>div{max-width:100%}.detail-hero p{font-size:18px}.detail-copy img{height:360px}.google-footer{width:100%;display:grid;grid-template-columns:auto 1fr;gap:6px 10px;align-items:center}.google-footer b,.google-footer span{font-size:16px}.google-footer small{grid-column:1/-1;font-size:15px}.google-footer span{letter-spacing:1px}footer{min-width:0;overflow:hidden}footer .logo{max-width:100%}footer .logo span{min-width:0;overflow-wrap:anywhere}}
.fencing-gallery{background:#efefef}.fencing-gallery-copy{max-width:850px;margin-bottom:45px}.fencing-gallery-copy p{font-size:21px}.fencing-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.fencing-grid figure{height:520px;margin:0;position:relative;overflow:hidden;background:#111}.fencing-grid img{width:100%;height:100%;object-fit:cover;transition:.35s}.fencing-grid figure:hover img{transform:scale(1.03)}.fencing-grid figcaption{position:absolute;left:0;right:0;bottom:0;padding:55px 25px 22px;color:#fff;font-size:25px;font-weight:800;background:linear-gradient(transparent,#000d)}
@media(max-width:850px){.fencing-gallery{padding:60px 18px}.fencing-grid{grid-template-columns:1fr;gap:18px}.fencing-grid figure{height:400px}.fencing-gallery-copy p{font-size:18px}}
.detail-hero:has(>img[src="assets/pergola-grapevine.jpeg"]){display:grid;min-height:0;padding:0;background:#111;align-items:stretch}
.detail-hero>img[src="assets/pergola-grapevine.jpeg"]{position:relative;inset:auto;grid-area:1/1;width:100%;height:auto;object-fit:contain;align-self:start}
.detail-hero:has(>img[src="assets/pergola-grapevine.jpeg"])>div{grid-area:1/1;align-self:end;padding:clamp(20px,5vw,70px);max-width:1000px}
.detail-hero:has(>img[src="assets/pergola-grapevine.jpeg"]) .btn{color:#090909}
@media(max-width:850px){.detail-hero:has(>img[src="assets/pergola-grapevine.jpeg"]) h1{font-size:clamp(30px,6vw,44px);line-height:1.05;margin:14px 0}.detail-hero:has(>img[src="assets/pergola-grapevine.jpeg"]) p{font-size:16px;line-height:1.5;margin:14px 0}.detail-hero:has(>img[src="assets/pergola-grapevine.jpeg"]):after{background:linear-gradient(#0001,#000b)}}
