/* Real project photography, with space for the electrical story. */
.patio-feature{padding:100px 0;background:#181818;overflow:hidden}
.patio-feature-layout{display:grid;grid-template-columns:1fr 1.12fr;align-items:center;gap:6%}
.patio-feature-copy h2{font-size:clamp(48px,4.7vw,74px)}
.patio-feature-copy>p:not(.eyebrow){max-width:470px;color:#bcbcbc;font-size:17px;line-height:1.8}
.patio-feature .eyebrow{color:#f3888d}
.patio-feature-note{display:block;font-size:9px;letter-spacing:1.4px;color:#a4a4a4;margin-top:26px}
.patio-feature-image{display:block;position:relative;overflow:hidden;aspect-ratio:1.05;background:#252525}
.patio-feature-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:60% 40%;transition:transform 1s cubic-bezier(.2,.65,.2,1)}
.patio-feature-image:hover img{transform:scale(1.035)}
.patio-image-label{position:absolute;inset:auto 0 0;display:flex;align-items:center;justify-content:space-between;padding:40px 28px 25px;background:linear-gradient(transparent,#000c);font-size:11px;letter-spacing:1.5px}
.patio-image-label b{display:grid;place-items:center;width:45px;height:45px;background:var(--red);font-size:25px;font-weight:400}
.patio-feature-compact{padding:65px 0}
.patio-feature-compact .patio-feature-image{aspect-ratio:1.7}
.patio-feature-compact h2{font-size:clamp(42px,4vw,60px)}
.patio-hero{padding-top:164px}
.patio-hero-heading{display:grid;grid-template-columns:1.1fr 1fr;gap:10%;align-items:end;padding-bottom:50px}
.patio-hero h1{font-size:clamp(90px,10vw,160px);margin:0}
.patio-hero-heading>div{padding-bottom:7px;max-width:440px}
.patio-hero-heading>div>p:first-child{font-size:26px;line-height:1.35}
.patio-hero-detail{color:#aaa;line-height:1.8;margin-bottom:26px}
.patio-hero-photo{position:relative;height:clamp(380px,44vw,700px);overflow:hidden;background:#272727}
.patio-hero-photo>img{width:100%;height:100%;object-fit:cover;object-position:50% 58%;display:block;animation:patio-arrive 1.3s cubic-bezier(.2,.65,.2,1) both}
.patio-hero-photo>div{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;gap:20px;padding:42px 0 25px;font-size:10px;letter-spacing:1.5px;z-index:1}
.patio-hero-photo:after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#0009);pointer-events:none}
.patio-capabilities{background:var(--red);padding:24px 0}
.patio-capabilities>div{display:flex;align-items:center;justify-content:space-between;gap:18px;font-size:11px;font-weight:700;letter-spacing:1.4px}
.patio-capabilities i{font-style:normal;font-size:27px;line-height:1}
.patio-collection{padding:95px 0 110px}
.patio-collection-intro{display:grid;grid-template-columns:1.2fr 1fr;gap:10%;align-items:end;margin-bottom:45px}
.patio-collection-intro h2{font-size:clamp(48px,5vw,76px);margin:0}
.patio-collection-intro>p{max-width:450px;color:#555;line-height:1.8;margin:0}
.patio-jump{display:flex;flex-wrap:wrap;gap:0 28px;border-top:1px solid #ccc;border-bottom:1px solid #ccc;padding:10px 0;margin-bottom:75px}
.patio-jump a{display:inline-flex;align-items:center;gap:10px;font-size:12px;padding:12px 0}
.patio-jump a>span{color:#ae151d;font-size:10px}
.patio-jump b{font-weight:400;color:#ae151d}
.patio-jump a:hover{text-decoration:underline;text-underline-offset:5px}
.patio-story{display:grid;grid-template-columns:.8fr 1.5fr;align-items:start;gap:7%;padding:0 0 85px;margin:0 0 85px;border-bottom:1px solid #ccc;scroll-margin-top:115px}
.patio-story:last-child{padding-bottom:0;margin-bottom:0;border-bottom:0}
.patio-story-copy{position:sticky;top:120px;min-width:0}
.patio-story-number{font-family:var(--display);display:block;font-size:70px;line-height:1;color:#bbb;margin-bottom:22px}
.patio-story .eyebrow{font-size:10px;letter-spacing:1.5px;margin-bottom:20px}
.patio-story-copy h2{font-size:clamp(46px,4.3vw,66px);line-height:1.02;margin-bottom:25px}
.patio-story-copy>p:not(.eyebrow){color:#555;font-size:15px;line-height:1.85}
.patio-tags{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:26px 0 32px;padding:0}
.patio-tags li{border:1px solid #c6c6c2;padding:6px 10px;font-size:10px;letter-spacing:.3px;color:#444}
.patio-story-copy .text-link{font-size:13px}
.patio-story-photos{display:grid;align-items:start;grid-template-columns:1fr 1fr;gap:25px 20px;min-width:0}
.patio-photo:first-child{grid-column:1/-1}
.patio-photo-frame{display:block;position:relative;aspect-ratio:4/3;overflow:hidden;background:#d3d3cf}
.patio-photo-frame img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.65,.2,1)}
.patio-photo:hover img{transform:scale(1.035)}
.patio-photo-open{position:absolute;bottom:14px;right:14px;display:grid;place-items:center;width:38px;height:38px;color:white;background:var(--red);font-size:23px;transition:background .25s}
.patio-photo:focus-visible{outline:3px solid var(--red);outline-offset:5px}
.patio-photo-caption{display:flex;gap:15px;justify-content:space-between;align-items:baseline;padding:12px 0 0;font-size:13px;line-height:1.5}
.patio-photo-caption small{flex-shrink:0;font-size:8px;letter-spacing:1px;color:#666}
.patio-photos-2 .patio-photo:last-child{grid-column:1/-1}
.patio-photos-2 .patio-photo:last-child .patio-photo-frame{aspect-ratio:2/1}
.patio-planning{display:grid;grid-template-columns:1.1fr 1fr;gap:10%;padding-top:100px;padding-bottom:110px}
.patio-planning h2{font-size:clamp(48px,5vw,75px)}
.patio-planning>div>p:not(.eyebrow){color:#aaa;max-width:500px;line-height:1.8;margin-bottom:32px}
.patio-planning-list article{padding:24px 0;border-top:1px solid #444}
.patio-planning-list article>span{font-size:10px;letter-spacing:1.4px;color:#ed8d92}
.patio-planning-list h3{font-size:21px;margin:14px 0 12px}
.patio-planning-list p{font-size:14px;color:#aaa;margin:0}
.renovation-intro{padding:0 0 28px;max-width:760px;color:#555}
.renovation-intro strong{display:block;color:#181818;font-size:23px;margin-bottom:9px;font-weight:500}
@keyframes patio-arrive{from{transform:scale(1.04);opacity:.5}to{transform:scale(1);opacity:1}}
@media(min-width:901px) and (max-width:1200px){.header{gap:24px}.header nav{gap:23px}.header .phone{display:none}}
@media(max-width:1000px){.patio-story{grid-template-columns:.9fr 1.4fr;gap:5%}.patio-photo-caption{display:block}.patio-photo-caption small{display:block;margin-top:5px}.patio-story-copy h2{font-size:49px}.patio-story-copy>p:not(.eyebrow){font-size:14px}}
@media(max-width:900px){.patio-feature-layout{grid-template-columns:1fr;gap:38px}.patio-feature-copy{max-width:650px}.patio-feature-copy h2{font-size:62px}.patio-feature-image{aspect-ratio:1.5}.patio-feature-compact .patio-feature-layout{grid-template-columns:1fr 1fr;gap:30px}.patio-feature-compact h2{font-size:44px}.patio-hero-heading{gap:6%}.patio-hero-heading>div>p:first-child{font-size:22px}.patio-capabilities>div{font-size:9px;letter-spacing:.8px;gap:12px}.patio-collection-intro{gap:7%}.patio-planning{gap:7%}.patio-story-copy{position:static}}
@media(max-width:650px){.patio-feature,.patio-feature-compact{padding:65px 0}.patio-feature-layout,.patio-feature-compact .patio-feature-layout{grid-template-columns:1fr;gap:30px}.patio-feature-copy h2,.patio-feature-compact h2{font-size:52px}.patio-feature-copy>p:not(.eyebrow){font-size:15px}.patio-feature-image,.patio-feature-compact .patio-feature-image{aspect-ratio:4/3}.patio-feature .button{gap:20px;font-size:11px;padding:18px}.patio-image-label{font-size:9px;padding:36px 18px 18px}.patio-feature-note{font-size:8px;letter-spacing:1px;line-height:1.8}.patio-hero{padding-top:128px}.patio-hero-heading{grid-template-columns:1fr;gap:25px;padding-bottom:35px}.patio-hero h1{font-size:88px}.patio-hero .eyebrow{font-size:9px;letter-spacing:1.4px;gap:10px;margin-bottom:25px}.patio-hero-heading>div>p:first-child{font-size:22px;max-width:310px}.patio-hero-detail{font-size:14px;line-height:1.75;margin-bottom:22px}.patio-hero-photo{height:350px}.patio-hero-photo>img{object-position:58% 55%}.patio-hero-photo>div{font-size:8px;letter-spacing:1px;flex-direction:column;gap:6px;padding-bottom:18px}.patio-capabilities{padding:20px 0}.patio-capabilities>div{display:grid;grid-template-columns:1fr 1fr;gap:12px 15px;font-size:9px}.patio-capabilities i{display:none}.patio-collection{padding:60px 0 70px}.patio-collection-intro{grid-template-columns:1fr;gap:25px;margin-bottom:30px}.patio-collection-intro h2{font-size:50px}.patio-collection-intro>p{font-size:14px}.patio-collection-intro .eyebrow{font-size:9px;letter-spacing:1.3px}.patio-jump{display:grid;grid-template-columns:1fr;margin-bottom:45px;gap:0}.patio-jump a{font-size:12px;padding:10px 0}.patio-jump b{margin-left:auto}.patio-story{grid-template-columns:1fr;gap:30px;padding-bottom:48px;margin-bottom:48px;scroll-margin-top:105px}.patio-story-number{font-size:50px;margin-bottom:18px}.patio-story-copy h2{font-size:49px;max-width:330px;margin-bottom:20px}.patio-story-copy>p:not(.eyebrow){font-size:14px}.patio-tags{margin:22px 0 26px;gap:6px}.patio-tags li{font-size:9px}.patio-story-photos{gap:22px 12px}.patio-photo-caption{font-size:11px;padding-top:9px}.patio-photo-caption small{font-size:7px}.patio-photo-open{width:31px;height:31px;bottom:9px;right:9px;font-size:21px}.patio-photos-2 .patio-photo:last-child .patio-photo-frame{aspect-ratio:4/3}.patio-planning{grid-template-columns:1fr;gap:45px;padding-top:65px;padding-bottom:65px}.patio-planning h2{font-size:50px}.patio-planning>div>p:not(.eyebrow){font-size:14px}.patio-planning .button{font-size:11px;gap:25px}.renovation-intro{font-size:14px}.renovation-intro strong{font-size:20px}}
@media(max-width:359px){.patio-hero h1{font-size:64px}.patio-feature-copy h2,.patio-feature-compact h2,.patio-collection-intro h2,.patio-planning h2{font-size:44px}.patio-feature .button{font-size:10px;gap:15px}.patio-photo-caption{font-size:10px}.patio-story-copy h2{font-size:45px}}
@media(prefers-reduced-motion:reduce){.patio-hero-photo>img,.patio-feature-image img,.patio-photo-frame img{animation:none;transition:none}}
.motion-paused .patio-hero-photo>img,.motion-paused .patio-feature-image img,.motion-paused .patio-photo-frame img{animation:none;transition:none}

.renovation-feature{padding-bottom:65px;margin-bottom:55px;border-bottom:1px solid #ccc;scroll-margin-top:115px}
.renovation-intro h2{font-size:clamp(48px,5vw,74px)}
.renovation-grid{display:grid;align-items:start;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.renovation-grid .project-image{aspect-ratio:4/3}
.renovation-grid .project-image img{filter:none;object-fit:cover}
.renovation-grid .project-meta strong{font-size:20px}
@media(max-width:650px){.renovation-feature{scroll-margin-top:105px;padding-bottom:45px;margin-bottom:40px}.renovation-grid{grid-template-columns:1fr;gap:35px}.renovation-intro h2{font-size:46px}}

/* Contractor credit: owner-authorized acknowledgement and official website. */
.patio-feature-copy .patio-feature-credit{font-size:12px;line-height:1.9;color:#bcbcbc;margin:24px 0 0}
.patio-feature-credit a,.patio-project-credit a,.patio-contractor-credit a{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
.patio-feature-credit a{color:#fff}
.patio-feature-credit a:hover{color:#ff9ca0}
.patio-contractor-credit{scroll-margin-top:115px;display:grid;grid-template-columns:1fr 1.3fr;gap:40px;align-items:center;padding:30px 32px;border-left:3px solid var(--red);background:#e5e5e1;margin:0 0 32px}
.patio-contractor-credit .eyebrow{font-size:10px;letter-spacing:1.4px;margin-bottom:14px}
.patio-contractor-credit h3{font-size:25px;margin:0;line-height:1.25}
.patio-contractor-credit>p{font-size:14px;line-height:1.85;color:#484848;margin:0}
.patio-contractor-credit a,.patio-project-credit a{color:#94121a;font-weight:600}
.patio-contractor-credit a:hover,.patio-project-credit a:hover{color:#181818}
.patio-story-copy .patio-project-credit{font-size:12px;line-height:1.9;border-top:1px solid #ccc;padding-top:18px;margin:0 0 25px;color:#555}
@media(max-width:650px){.patio-contractor-credit{grid-template-columns:1fr;gap:18px;padding:24px 21px}.patio-contractor-credit h3{font-size:23px}.patio-contractor-credit>p{font-size:13px}.patio-feature-copy .patio-feature-credit,.patio-story-copy .patio-project-credit{font-size:12px}}

.patio-hero-photo>div a{text-decoration:underline;text-underline-offset:3px}

.patio-preview-invitation{display:inline-flex;align-items:center;gap:12px;font-size:12px;color:#fff;margin-top:20px;text-decoration:underline;text-underline-offset:5px;line-height:1.6}

.fan-invitation{display:flex;align-items:center;justify-content:space-between;gap:45px;padding-top:70px;padding-bottom:70px;border-top:1px solid #555;border-bottom:1px solid #555}.fan-invitation h2{font-size:clamp(40px,4vw,60px)}.fan-invitation p:not(.eyebrow){max-width:560px;font-size:14px;line-height:1.8;color:#bbb;margin-top:22px}.fan-invitation>.button{flex-shrink:0}.fan-invitation .eyebrow{font-size:9px}@media(max-width:850px){.fan-invitation{align-items:flex-start;flex-direction:column;gap:27px;padding-top:50px;padding-bottom:50px}}

@media(min-width:901px) and (max-width:1100px){.header nav,.header-cta{display:none}.menu-toggle{display:flex;margin-left:auto;flex-direction:column;align-items:center;justify-content:center;gap:7px;width:48px;height:46px;background:none;border:1px solid #555;color:white}.menu-toggle span{display:block;width:21px;height:1px;background:white}}
.fan-invitation>.button{white-space:normal;max-width:100%}
.interior-projects{padding:12px 0 65px;margin-bottom:55px;border-bottom:1px solid #ccc;scroll-margin-top:105px}.interior-feature-heading{max-width:800px;margin-bottom:48px}.interior-feature-heading h2{font-size:clamp(44px,5vw,72px);line-height:1}.interior-feature-heading>p:last-child{max-width:620px;font-size:15px;line-height:1.8;color:#666;margin-top:24px}.interior-project{padding:38px 0;border-top:1px solid #c9c9c9;scroll-margin-top:105px}.interior-project-intro{display:grid;grid-template-columns:.6fr 1fr 1.35fr;gap:30px;align-items:start;margin-bottom:30px}.interior-project-intro>span{font-size:9px;letter-spacing:1.2px;color:#a12634;line-height:1.8}.interior-project-intro h3{font:600 37px/1.04 var(--display);margin:0}.interior-project-intro>p{font-size:13px;line-height:1.8;color:#666;margin:0}.interior-project-intro>a{grid-column:3;font-size:11px;justify-self:start}.interior-project .story-gallery{display:grid;grid-template-columns:1.3fr 1fr;gap:28px}.interior-project .project-image{aspect-ratio:4/3}.interior-project .project-image img{object-fit:cover}.interior-project .project-summary{max-width:560px}.interior-project .project-meta strong{font-size:26px}
@media(max-width:800px){.interior-project-intro{grid-template-columns:1fr;gap:17px}.interior-project-intro>a{grid-column:auto}.interior-project .story-gallery{grid-template-columns:1fr 1fr;gap:20px}.interior-feature-heading{margin-bottom:30px}.interior-project-intro h3{font-size:38px}}
@media(max-width:600px){.interior-feature-heading h2{font-size:43px}.interior-feature-heading>p:last-child{font-size:13px}.interior-projects{margin-bottom:35px;padding-bottom:25px}.interior-project{padding:26px 0}.interior-project .story-gallery{grid-template-columns:1fr;gap:28px}.interior-project .project-meta strong{font-size:28px}.interior-project-intro h3{font-size:35px}}
