/* Direct composition from approved S2/S1, S3, C1 boards. */
.home .hero-actions{display:none}.home .hero-bottom{display:none}
.home header .brand{width:clamp(210px,25vw,350px)}.home header .brand img{height:90px}.home .nav{min-height:118px}
.home .hero-content .eyebrow{display:none}.home .hero-intro{font-size:.72rem;letter-spacing:.17em;text-transform:uppercase;line-height:1.8}
.home .hero{height:67vw;min-height:650px;max-height:940px}
.home .story{display:none}
.home .services-section{overflow:visible}
.home .services-section>.wrap{width:94%;max-width:1600px}
.home .section-intro{margin-bottom:28px;gap:10%;grid-template-columns:1.2fr 1fr}
.home .section-intro .eyebrow{font-size:.68rem;margin-bottom:12px}
.home .section-intro h2{font-size:clamp(2.3rem,4vw,4.7rem);font-family:Georgia,serif;letter-spacing:-.03em;font-weight:400}
.home .section-intro>p{font-size:.9rem;line-height:1.7}
/* S2: a single photograph, small left caption, slogan centered at the foot. */
.patios.home{--bg:#0a4773;--ink:#fff;--muted:#d2eaf7;--accent:#5cd6ff;--soft:#125d86;--line:#3084ac;background:#0a4773}
.patios.home header{color:#17435b;background:linear-gradient(#ffffffed,transparent)}
.patios.home .nav .button{background:#009ed5}
.patios.home .hero{align-items:end;text-align:center;height:66vw;min-height:640px;max-height:930px}
.patios.home .hero:before{background:linear-gradient(180deg,#fff4 0%,transparent 40%,transparent 56%,#083e67ad 82%,#0a4773 100%)}
.patios.home .hero-photo{object-position:center 52%}
.patios.home .hero-content{padding:0 0 95px;width:96%}
.patios.home .hero h1{max-width:none;font-size:clamp(2.7rem,4.8vw,6rem);margin:0 auto 13px;color:#fff;line-height:1.18;text-shadow:0 2px 18px #002a4855}
.patios.home .hero h1 br{display:none}.patios.home .hero h1 span{color:#61d8ff;margin-left:.2em}
.patios.home .hero .eyebrow{display:block;position:absolute;top:28%;left:5%;max-width:150px;text-align:left;color:#123d58;text-shadow:0 1px 12px white;font-size:.66rem}
.patios.home .hero-intro{max-width:770px;color:white;margin:0 auto}
.patios.home .hero-sweep{height:75px;background:linear-gradient(#29bfff,#09659b 65%,#0a4773);clip-path:path('M0 40 C400 160 920 -20 1600 40 L1600 160 L0 160Z');clip-path:polygon(0 12%,15% 58%,35% 79%,56% 68%,78% 20%,100% 0,100% 17%,78% 37%,56% 84%,35% 96%,15% 74%,0 28%)}
/* S1: panorama between curved blue ribbons, then a continuous three-column photographic collection. */
.patios.home .s1-feature{margin:-50px 0 0;position:relative;z-index:2;overflow:visible}
.patios.home .s1-feature .lighting-panorama{margin:0;width:100%;display:block;overflow:visible}
.patios.home .s1-feature img{height:32vw;min-height:330px;max-height:520px;object-fit:cover;mask-image:none;clip-path:polygon(0 4%,15% 0,35% 7%,65% 14%,83% 9%,100% 1%,100% 88%,80% 100%,55% 94%,25% 82%,0 95%)}
.patios.home .s1-feature span{font-family:Manrope,Arial,sans-serif;text-transform:uppercase;letter-spacing:.22em;font-size:.7rem;line-height:1.7;bottom:65px;left:5%;max-width:300px;color:white;text-shadow:0 2px 15px #02324c}
.patios.home .s1-feature:after{content:"";position:absolute;inset:auto 0 -10px;height:70px;background:linear-gradient(#00b8f2,#0086ce,#0a4773);clip-path:polygon(0 10%,25% 0,55% 65%,80% 80%,100% 15%,100% 28%,80% 95%,55% 80%,25% 15%,0 23%);pointer-events:none}
.patios.home .services-section{background:#0a4773;padding:25px 0 70px}
.patios.home .services-section .section-intro{width:94%;margin:0 auto 28px;display:block}
.patios.home .services-section .section-intro h2{max-width:800px}.patios.home .services-section .section-intro>p{display:none}
.patios.home .patios-s1-services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:38px 0}
.patios.home .patios-s1-services .service-item{display:block;margin:0;min-height:0;position:relative}
.patios.home .patios-s1-services .service-image{height:29vw;min-height:290px;max-height:430px;width:100%;mask-image:linear-gradient(0deg,transparent 0,#000 30%,#000 90%,transparent);clip-path:none}
.patios.home .patios-s1-services .service-copy{padding:0 8%;margin-top:-35px;display:block;position:relative;z-index:2}
.patios.home .patios-s1-services .service-index,.patios.home .patios-s1-services .eyebrow{display:none}
.patios.home .patios-s1-services h3{font-family:Georgia,serif;font-size:clamp(1.45rem,2.15vw,2.6rem);font-weight:400;line-height:1.13;letter-spacing:-.02em;margin:0 0 12px}
.patios.home .patios-s1-services p{font-size:.86rem;line-height:1.65;color:#d2eaf7;margin-bottom:12px;max-width:340px}
.patios.home .patios-s1-services .text-link{color:#6fe1ff;font-size:.65rem;text-transform:uppercase;letter-spacing:.18em}
.patios.home .masonry-focus{padding-block:45px}.patios.home .masonry-focus h2{font-family:Georgia,serif;font-weight:400}.patios.home .masonry-duet img{mask-image:linear-gradient(0deg,transparent,#000 15%,#000 85%,transparent)}
/* S3: tightly joined, alternating diagonal photographs and short serif service titles. */
.skyline.home .hero{height:62vw;min-height:630px;max-height:880px}
.skyline.home .hero-content{padding-left:54%;padding-top:100px}
.skyline.home .hero h1{max-width:610px;transform:rotate(-4deg)}
.skyline.home .hero-intro{text-align:center;max-width:460px;margin-top:28px;font-size:.65rem}
.skyline.home .hero-sweep{height:60px}
.skyline.home .services-section{padding-top:5px;padding-bottom:0}
.skyline.home .services-section>.wrap{width:100%;max-width:1800px}
.skyline.home .section-intro{width:90%;margin:0 auto 25px}
.skyline.home .detail-ribbons .service-item,.skyline.home .detail-ribbons .service-item:nth-child(even){min-height:30vw;max-height:500px;margin:0;grid-template-columns:1.2fr 1fr;position:relative}
.skyline.home .detail-ribbons .service-image{height:38vw;min-height:350px;max-height:580px;width:132%;max-width:none;margin:0;clip-path:polygon(0 13%,100% 0,100% 78%,0 100%);mask-image:linear-gradient(90deg,#000 72%,transparent)}
.skyline.home .detail-ribbons .service-item:nth-child(even){grid-template-columns:1fr 1.2fr}
.skyline.home .detail-ribbons .service-item:nth-child(even) .service-image{width:132%;margin-left:-32%;clip-path:polygon(0 0,100% 13%,100% 100%,0 78%);mask-image:linear-gradient(90deg,transparent,#000 28%)}
.skyline.home .detail-ribbons .service-copy{padding:0 10% 0 7%;max-width:520px}
.skyline.home .detail-ribbons .service-item:nth-child(even) .service-copy{padding:0 7% 0 10%}
.skyline.home .detail-ribbons .service-copy .eyebrow{display:none}
.skyline.home .detail-ribbons h3{font-family:Georgia,serif;font-weight:400;font-size:clamp(1.4rem,2.1vw,2.7rem);text-transform:uppercase;letter-spacing:.05em;line-height:1.1;margin-bottom:15px}
.skyline.home .detail-ribbons p{font-size:.88rem;margin-bottom:10px;max-width:340px}
.skyline.home .detail-ribbons .text-link{font-size:.65rem;text-transform:uppercase;letter-spacing:.2em}
/* C1: upper centered brush-script, immediate three-column brushed photos, blue type. */
.painting.home .hero{height:66vw;min-height:660px;max-height:900px}
.painting.home .hero-photo{object-position:center 67%}
.painting.home .hero:before{background:linear-gradient(#fffffff0,#ffffffb3 28%,transparent 58%)}
.painting.home .hero-content{padding-top:145px;width:86%;position:relative}
.painting.home .hero h1{font-size:clamp(3.5rem,6.5vw,7.6rem);max-width:1050px;text-align:left;padding:0;transform:rotate(-5deg);line-height:1.08}
.painting.home .hero h1>span{display:inline}.painting.home .hero .consultation{margin-top:20px;margin-left:30%;font-size:.8rem}
.painting.home .services-section{background:white;padding:0 0 55px}
.painting.home .services-section>.wrap{width:96%;max-width:1600px}
.painting.home .chromatic-grid{gap:30px 15px;grid-template-columns:repeat(3,minmax(0,1fr))}
.painting.home .chromatic-grid .service-item:nth-child(n){transform:none}
.painting.home .chromatic-grid .service-image{height:29vw;min-height:280px;max-height:430px;mask-image:url('assets/brush-mask.svg');mask-mode:luminance;mask-size:100% 100%;clip-path:none}
.painting.home .chromatic-grid .service-copy{padding:0 7%;margin-top:-10px}
.painting.home .chromatic-grid h3,.painting.home .chromatic-grid .service-item:nth-child(n) h3{font-size:clamp(1.5rem,2.6vw,3rem);color:#0086e9;letter-spacing:-.04em;line-height:1.05;margin-bottom:12px}
.painting.home .chromatic-grid .service-copy p{font-size:.9rem;line-height:1.55;margin-bottom:5px}
.painting.home .chromatic-grid .text-link{font-size:.64rem}
/* Footer: a continuous photographic scene, with the four marks floating in light mist. */
.footer{position:relative;isolation:isolate;overflow:hidden;min-height:800px;background:none}
.footer-scene{min-height:340px;position:static;isolation:auto;display:flex;align-items:center}
.footer-scene>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-3;mask-image:linear-gradient(0deg,#000,#000 88%,transparent)}
.footer-scene:after{position:absolute;inset:0;background:linear-gradient(180deg,#061b3122,transparent 25%,#f2f9ffec 53%,#eff8fff5);mask-image:none;z-index:-2}
.footer-invite{padding:80px 0 60px}.footer-invite h2{font-family:Georgia,serif;font-weight:400;font-size:clamp(2rem,3.2vw,4rem);max-width:680px}
.footer-lower,.footer-skyline .footer-lower,.footer-painting .footer-lower{background:none;padding:15px 0 25px}
.family-heading{display:none}.family-directory,.footer-skyline .family-directory{grid-template-columns:1fr 1fr;gap:30px 80px;max-width:1000px;margin:auto}
.family-brand,.footer-patios .family-brand,.footer-painting .family-brand{display:block;text-align:center;padding:0;min-height:0}
.family-mark,.footer-patios .family-mark,.footer-painting .family-mark,.footer-skyline .family-mark{height:100px;width:100%;position:static;margin:0 0 8px}
.family-mark img{max-width:330px;margin:auto;mix-blend-mode:multiply}
.family-brand>p{display:none}.family-brand>a:not(.family-mark),.family-brand>span{font-size:.75rem!important;line-height:1.45;margin:3px 0!important;color:#123d68}
.footer-nav{justify-content:center;margin:30px 0 15px}.footer-bottom{font-size:.6rem}.footer-painting .footer-lower:before{display:none}
@media(max-width:760px){
.home .nav{min-height:90px}.home header .brand{width:220px}.home header .brand img{height:70px}
.home .hero,.patios.home .hero,.skyline.home .hero,.painting.home .hero{height:750px;min-height:0;max-height:none}
.patios.home .hero-content{padding:0 0 100px}.patios.home .hero h1{font-size:2.9rem;max-width:370px}.patios.home .hero h1 br{display:block}.patios.home .hero h1 span{margin-left:0}.patios.home .hero .eyebrow{display:none}.patios.home .hero-intro{max-width:330px;font-size:.62rem}.patios.home header .mobile-toggle{background:#eaf8ff;color:#123751}
.patios.home .s1-feature img{height:350px;min-height:0}.patios.home .s1-feature span{bottom:65px;font-size:.6rem;max-width:260px}
.home .services-section>.wrap{width:94%}.home .section-intro{display:block}.home .section-intro h2{font-size:2.4rem}.home .section-intro>p{font-size:.8rem;margin-top:15px}
.patios.home .patios-s1-services{grid-template-columns:1fr 1fr;gap:35px 0}.patios.home .patios-s1-services .service-image{height:260px;min-height:0}.patios.home .patios-s1-services h3{font-size:1.4rem}.patios.home .patios-s1-services p{font-size:.78rem}.patios.home .patios-s1-services .service-copy{margin-top:-20px}.patios.home .patios-s1-services .text-link{font-size:.55rem;letter-spacing:.1em}
.skyline.home .hero-content{padding:0 0 130px 0;width:88%}.skyline.home .hero h1{transform:rotate(-4deg);max-width:450px}.skyline.home .hero-intro{font-size:.58rem}.skyline.home .detail-ribbons .service-item,.skyline.home .detail-ribbons .service-item:nth-child(even){display:flex;flex-direction:column;min-height:0;max-height:none;margin:0 0 25px}.skyline.home .detail-ribbons .service-image,.skyline.home .detail-ribbons .service-item:nth-child(even) .service-image{width:106%;height:300px;min-height:0;margin:0;mask-image:linear-gradient(0deg,transparent,#000 20%,#000);clip-path:polygon(0 13%,100% 0,100% 85%,0 100%)}.skyline.home .detail-ribbons .service-copy,.skyline.home .detail-ribbons .service-item:nth-child(even) .service-copy{padding:0 6%;width:100%;max-width:none}.skyline.home .detail-ribbons h3{font-size:1.5rem}.skyline.home .detail-ribbons p{font-size:.82rem}
.painting.home .hero-content{padding-top:140px;width:88%}.painting.home .hero h1{font-size:3.3rem;max-width:390px}.painting.home .hero .consultation{font-size:.62rem;margin:20px 0 0}.painting.home .chromatic-grid{grid-template-columns:1fr 1fr;gap:25px 8px}.painting.home .chromatic-grid .service-image{height:250px;min-height:0}.painting.home .chromatic-grid h3{font-size:1.4rem}.painting.home .chromatic-grid .service-copy p{font-size:.76rem}.painting.home .chromatic-grid .service-copy{padding:0 5%}
.footer{min-height:850px}.footer-scene{min-height:320px}.footer-invite{padding:65px 0 40px}.footer-invite h2{font-size:2.2rem}.family-directory{gap:20px 15px!important}.family-mark,.footer-patios .family-mark,.footer-painting .family-mark,.footer-skyline .family-mark{height:70px}.family-brand>a:not(.family-mark),.family-brand>span{font-size:.58rem!important}.footer-scene:after{background:linear-gradient(180deg,#061b3122,transparent 18%,#f2f9fff2 41%,#eff8fff5)}
}

.patios.home .hero-sweep{clip-path:url(#s2-ribbon)}.patios.home .s1-feature img{clip-path:url(#s1-panorama)}.patios.home .s1-feature:after{clip-path:url(#s1-ribbon)}
.painting.home .hero h1 .c1-first{display:block}.painting.home .hero h1 .c1-second{display:block;margin-left:16%;white-space:nowrap}.painting.home .hero h1 .perfect-accent{display:inline}
@media(max-width:760px){.painting.home .hero h1 .c1-second{margin-left:4%;font-size:.88em}.painting.home .hero h1{font-size:2.8rem}}

body.painting .footer .footer-scene:after{background:linear-gradient(180deg,#061b3133,transparent 20%,#f4faffed 53%,#f3fafff7);mask-image:none}
.painting.home .chromatic-grid .service-copy{margin-top:0;padding-top:12px}
.painting .chromatic-grid .service-item:nth-child(3n+1) .service-image:after{background-image:url('assets/brush-blue.svg')}
.painting .chromatic-grid .service-item:nth-child(3n+2) .service-image:after{background-image:url('assets/brush-green.svg')}
.painting .chromatic-grid .service-item:nth-child(3n) .service-image:after{background-image:url('assets/brush-yellow.svg')}
@media(min-width:761px){.painting.home .chromatic-grid .service-item:last-child{grid-column:1/-1;display:grid;grid-template-columns:1.6fr 1fr;gap:4%;align-items:center;margin-top:20px}.painting.home .chromatic-grid .service-item:last-child .service-image{height:380px}.painting.home .chromatic-grid .service-item:last-child .service-copy{max-width:480px}.painting.home .chromatic-grid .service-item:last-child h3{font-size:3.1rem}.painting.home .chromatic-grid .service-item:last-child p{font-size:1.05rem}}

/* Four white marks placed freely across the full width; no enclosing bar. */
.review-ribbon{position:absolute;inset:0 0 auto;height:78px;width:100%;padding:0 5%;display:flex;align-items:center;justify-content:space-between;gap:20px;background:none;border:0;box-shadow:none;z-index:30;pointer-events:none}
.review-badge{display:block;width:128px;height:78px;flex:0 0 128px;background-size:400% 100%;background-repeat:no-repeat;filter:drop-shadow(0 1px 2px #06233a66)}
.review-badge-0{background-position:0 50%}.review-badge-1{background-position:33.333% 50%}.review-badge-2{background-position:66.666% 50%}.review-badge-3{background-position:100% 50%}
body.home header{top:76px}.painting.home .hero-content{padding-top:215px}
@media(max-width:760px){.review-ribbon{height:55px;padding:0 3%;gap:7px}.review-badge{width:80px;height:52px;flex-basis:80px}body.home header{top:54px}.painting.home .hero-content{padding-top:165px}}

.inner header{position:absolute;inset:76px 0 auto;background:linear-gradient(#071e3240,transparent);color:white;z-index:20}
.inner .inner-head.with-photo{position:relative;display:flex;min-height:730px;margin:0;align-items:end;isolation:isolate}
.inner .inner-head.with-photo>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;mask-image:none;z-index:-3}
.inner .inner-head.with-photo:after{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,#06233ae0,#06233a99 48%,#06233a11),linear-gradient(0deg,#06233a77,transparent 45%)}
.inner .inner-head.with-photo .head-copy{width:min(1280px,88%);margin:0 auto;padding:230px 0 70px;max-width:none;color:white}
.inner .inner-head.with-photo .lead{color:#ecf8ff}.inner .inner-head.with-photo .eyebrow{color:#9de6ff}
@media(max-width:760px){.inner header{top:54px}.inner .inner-head.with-photo{min-height:690px}.inner .inner-head.with-photo .head-copy{padding:210px 0 65px;max-width:88%}.inner .inner-head.with-photo h1{font-size:2.6rem}}

.footer.footer-skyline .footer-scene,.footer.footer-painting .footer-scene,.footer.footer-patios .footer-scene{min-height:340px}.footer .footer-invite{padding:80px 0 60px}.inner .nav-links.open{color:var(--ink)}@media(max-width:760px){.footer.footer-skyline .footer-scene,.footer.footer-painting .footer-scene,.footer.footer-patios .footer-scene{min-height:320px}.footer .footer-invite{padding:65px 0 40px}}
