:root{--navy:#071b35;--blue:#0d4e8c;--bright:#1d77c8;--ink:#101820;--cream:#f4f2ed;--white:#fff;--line:rgba(7,27,53,.15)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:Manrope,Arial,sans-serif;background:#fff}a{color:inherit;text-decoration:none}img{display:block;width:100%}.site-header{height:84px;padding:0 clamp(22px,5vw,78px);display:flex;align-items:center;justify-content:space-between;position:absolute;z-index:5;width:100%;color:#fff;border-bottom:1px solid rgba(255,255,255,.22)}.brand{display:flex;align-items:center}.brand-logo{width:172px;height:70px;object-fit:contain;object-position:left center}.footer-logo{width:220px;height:auto}.site-header nav{display:flex;align-items:center;gap:34px;font-size:14px;font-weight:600}.nav-cta{border:1px solid rgba(255,255,255,.65);padding:11px 18px}.menu-button{display:none}.hero{height:min(900px,100svh);min-height:720px;color:#fff;position:relative;display:flex;align-items:center;padding:110px clamp(22px,8vw,130px) 65px;overflow:hidden}.hero-photo{position:absolute;inset:0;background:url('assets/pergola-after.png') center 43%/cover no-repeat;transform:scale(1.015)}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,16,31,.95) 0%,rgba(4,16,31,.78) 42%,rgba(4,16,31,.18) 75%),linear-gradient(0deg,rgba(4,16,31,.35),transparent 55%)}.hero-copy{position:relative;max-width:730px}.eyebrow{text-transform:uppercase;letter-spacing:.19em;font-weight:800;font-size:12px;color:var(--bright);margin:0 0 18px}.hero .eyebrow{color:#81c8ff}.hero h1{font-family:"Playfair Display",Georgia,serif;font-size:clamp(55px,7vw,102px);line-height:.92;letter-spacing:-.045em;margin:0 0 28px}.hero h1 em{font-weight:600;color:#9ed6ff}.hero-intro{font-size:clamp(17px,1.6vw,21px);line-height:1.65;max-width:650px;color:rgba(255,255,255,.82)}.hero-actions{display:flex;gap:12px;margin:34px 0}.button{border:0;display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 24px;font:700 14px Manrope;cursor:pointer}.button-primary{background:var(--bright);color:#fff}.button-primary:hover{background:#145fa1}.button-ghost{border:1px solid rgba(255,255,255,.55);color:#fff}.trust-row{display:flex;gap:30px;font-size:13px;color:rgba(255,255,255,.75)}.trust-row span::before{content:'✓';color:#79c5ff;margin-right:8px}.scroll-cue{position:absolute;right:clamp(22px,5vw,78px);bottom:55px;font-size:12px;letter-spacing:.16em;text-transform:uppercase}.scroll-cue span{font-size:20px;margin-left:12px}.section{padding:110px clamp(22px,7vw,110px)}.section-heading{display:grid;grid-template-columns:1fr 1.4fr;gap:40px;align-items:start;margin-bottom:65px}.section-heading .eyebrow{grid-column:1/-1;margin-bottom:-20px}.section-heading h2,.work h2,.estimate h2{font-family:"Playfair Display",Georgia,serif;font-size:clamp(38px,5vw,66px);line-height:1.05;letter-spacing:-.03em;margin:0;color:var(--navy)}.section-heading>p:last-child{font-size:18px;line-height:1.7;margin:6px 0;color:#53606c}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.service-grid article{padding:38px 28px 40px 0;margin-right:28px;border-right:1px solid var(--line)}.service-grid article:last-child{border:0}.service-grid span{font-size:12px;color:var(--bright);font-weight:800}.service-grid h3{font-size:20px;color:var(--navy);margin:25px 0 14px}.service-grid p{font-size:15px;line-height:1.7;color:#5c6670;margin:0}.work{background:var(--navy);color:#fff;display:grid;grid-template-columns:.72fr 1.4fr;gap:65px;align-items:center;padding:110px clamp(22px,7vw,110px)}.work h2{color:#fff}.work-copy>p:not(.eyebrow){color:#b9c7d7;line-height:1.8;font-size:17px}.work ul{list-style:none;padding:0;margin:30px 0 0;border-top:1px solid rgba(255,255,255,.15)}.work li{padding:15px 0;border-bottom:1px solid rgba(255,255,255,.15);font-size:14px}.work li::before{content:'—';color:#6cb8f4;margin-right:10px}.comparison{display:grid;grid-template-columns:1fr 1fr;gap:12px}.comparison figure{margin:0;position:relative;overflow:hidden}.comparison img{height:600px;object-fit:cover;transition:transform .6s}.comparison figure:hover img{transform:scale(1.025)}.comparison figcaption{position:absolute;left:16px;bottom:16px;background:rgba(7,27,53,.88);padding:9px 14px;text-transform:uppercase;letter-spacing:.16em;font-size:11px}.compact{grid-template-columns:.6fr 1.4fr}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.steps article{background:var(--cream);padding:40px}.steps span{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--navy);color:#fff;font-weight:800}.steps h3{color:var(--navy);font-size:21px;margin:26px 0 10px}.steps p{color:#5a6570;line-height:1.7;margin:0}.estimate{padding:110px clamp(22px,9vw,150px);background:#eaf4fc;display:grid;grid-template-columns:.8fr 1fr;gap:9vw}.estimate-copy>p:not(.eyebrow){font-size:17px;line-height:1.7;color:#516172}.estimate-copy a{text-decoration:underline}.service-area{margin-top:40px;padding-top:24px;border-top:1px solid rgba(7,27,53,.2);display:grid;gap:7px}.service-area span{color:#526170}form{background:#fff;padding:38px;box-shadow:0 22px 70px rgba(7,27,53,.11)}label{display:grid;gap:8px;font-size:13px;font-weight:800;color:var(--navy);margin-bottom:18px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}input,textarea{width:100%;border:1px solid #cad4dd;background:#fff;padding:14px 15px;font:16px Manrope;color:var(--ink);border-radius:0}input:focus,textarea:focus{outline:3px solid rgba(29,119,200,.18);border-color:var(--bright)}textarea{resize:vertical}.form-note{font-size:12px;color:#72808c;margin:12px 0 0}footer{background:#041326;color:#b7c4d3;padding:60px clamp(22px,7vw,110px);display:grid;grid-template-columns:1fr 1fr;gap:25px;align-items:end}.footer-brand{color:#fff}footer p{max-width:420px;line-height:1.7}footer div{display:flex;justify-content:flex-end;gap:25px;color:#fff;font-weight:700}footer>small{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.12);padding-top:22px}.mobile-call{display:none}
@media(max-width:900px){.site-header{height:72px}.brand-logo{width:142px;height:60px}.footer-logo{width:190px;height:auto}.site-header nav{position:absolute;top:72px;left:0;right:0;background:#061a33;padding:24px;display:none;flex-direction:column;align-items:flex-start}.site-header nav.open{display:flex}.menu-button{display:grid;gap:6px;background:none;border:0;padding:10px}.menu-button span{width:24px;height:2px;background:#fff}.hero{min-height:700px;padding-top:115px}.hero-shade{background:linear-gradient(90deg,rgba(4,16,31,.93),rgba(4,16,31,.48))}.scroll-cue{display:none}.section-heading,.compact{grid-template-columns:1fr}.service-grid{grid-template-columns:1fr 1fr}.service-grid article:nth-child(2){border-right:0}.work{grid-template-columns:1fr}.comparison img{height:520px}.estimate{grid-template-columns:1fr}.steps{grid-template-columns:1fr}footer{grid-template-columns:1fr}footer div{justify-content:flex-start;flex-direction:column;gap:8px}}
@media(max-width:580px){body{padding-bottom:58px}.hero{min-height:720px;align-items:flex-end}.hero h1{font-size:53px}.hero-intro{font-size:16px}.hero-actions{display:grid}.trust-row{display:grid;gap:8px}.section,.work,.estimate{padding:78px 20px}.section-heading{gap:15px;margin-bottom:45px}.service-grid{grid-template-columns:1fr}.service-grid article{border-right:0;margin:0}.comparison{gap:5px}.comparison img{height:430px}.comparison figcaption{left:8px;bottom:8px}.field-row{grid-template-columns:1fr}form{padding:25px 20px}.mobile-call{display:flex;position:fixed;z-index:10;bottom:0;left:0;right:0;height:58px;background:var(--bright);color:#fff;align-items:center;justify-content:center;font-weight:800}footer div{font-size:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.reviews{background:#f5f8fb}
.reviews-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:55px}
.reviews-heading h2{font-family:"Playfair Display",Georgia,serif;font-size:clamp(38px,5vw,66px);line-height:1.05;letter-spacing:-.03em;margin:0;color:var(--navy);max-width:720px}
.review-summary{display:grid;text-align:right;gap:4px;min-width:190px}
.review-summary strong{font-size:18px;color:var(--navy)}
.review-summary small{color:#6b7782}
.review-stars{color:#f2ad24;letter-spacing:.08em;font-size:18px}
.review-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:18px}
.review-card{grid-column:span 2;background:#fff;border:1px solid rgba(7,27,53,.1);padding:30px;display:flex;flex-direction:column;min-height:285px}
.review-card.review-featured{grid-column:span 3}
.review-card:nth-child(2){grid-column:span 3}
.review-top{display:flex;justify-content:space-between;align-items:center;gap:10px;color:#7b8792;font-size:11px;text-transform:uppercase;letter-spacing:.1em}
.review-card blockquote{margin:24px 0 30px;color:#263746;font-size:16px;line-height:1.75;flex:1}
.review-card footer{background:none;color:inherit;padding:0;display:flex;grid-template-columns:none;align-items:center;gap:12px}
.review-card footer div{display:grid;justify-content:initial;gap:2px;color:inherit}
.review-card footer strong{color:var(--navy);font-size:14px}
.review-card footer small{color:#71808d;font-size:12px;border:0;padding:0}
.review-avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--navy);color:#fff;font-weight:800}
@media(max-width:900px){.reviews-heading{align-items:start}.review-grid{grid-template-columns:1fr 1fr}.review-card,.review-card.review-featured,.review-card:nth-child(2){grid-column:span 1}.review-card:last-child{grid-column:1/-1}}
@media(max-width:580px){.reviews-heading{display:grid}.review-summary{text-align:left}.review-grid{grid-template-columns:1fr}.review-card,.review-card.review-featured,.review-card:nth-child(2),.review-card:last-child{grid-column:1}.review-card{min-height:0;padding:24px}.review-card blockquote{font-size:15px}}

/* Enlarged header logo */
.site-header{height:116px}
.site-header .brand-logo{width:310px;height:108px}
.header-identity{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;gap:6px;text-align:center;white-space:nowrap}
.header-identity strong{font-size:18px;letter-spacing:.16em;font-weight:800}
.header-identity span{font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:rgba(255,255,255,.72)}
@media(max-width:1200px) and (min-width:901px){
  .site-header .brand-logo{width:245px}
  .header-identity strong{font-size:15px;letter-spacing:.1em}
  .header-identity span{font-size:9px;letter-spacing:.07em}
  .site-header nav{gap:18px}
}
@media(max-width:900px){
  .site-header{height:150px;display:block;padding:0 20px}
  .site-header .brand{height:92px;justify-content:center}
  .site-header .brand-logo{width:250px;height:92px;object-position:center}
  .header-identity{top:110px;width:100%;padding:0 55px}
  .header-identity strong{font-size:15px;letter-spacing:.11em}
  .header-identity span{font-size:9px;letter-spacing:.08em}
  .site-header .menu-button{position:absolute;right:16px;top:28px}
  .site-header nav{top:150px}
  .hero{padding-top:190px}
}

/* New full JACJ logo in header and footer */
.site-header{height:154px}
.site-header .brand-logo{width:190px;height:148px;object-position:center}
.footer-logo{width:255px;height:auto}
@media(max-width:1200px) and (min-width:901px){
  .site-header .brand-logo{width:175px;height:142px}
}
@media(max-width:900px){
  .site-header{height:205px}
  .site-header .brand{height:145px}
  .site-header .brand-logo{width:180px;height:140px}
  .header-identity{top:164px}
  .site-header .menu-button{top:50px}
  .site-header nav{top:205px}
  .hero{padding-top:235px}
}
