/* Editorial visual direction for the Bosco Villaggio home page. */
:root{--forest:#243b31;--cream:#f3f1e9;--paper:#f8f7f2;--ink:#26332c;--accent:#ac7956;--serif:'Iowan Old Style',Baskerville,'Palatino Linotype',Georgia,serif}
.home-page .topline{background:#263b31}.home-page .header{background:var(--paper)}.home-page .nav{height:76px}
.home-page .hero-editorial{height:min(760px,77vw);min-height:590px}.home-page .hero-editorial .hero-photo{background-image:url('images/bosco-aerial-hero-mood.png');background-position:center 54%;transform:scale(1.04);translate:0 -11px;animation:hero-appear 1.2s ease-out both,hero-drift 26s cubic-bezier(.42,0,.58,1) 1.2s infinite;animation-play-state:paused,paused}
.home-page .hero-editorial .hero-photo.is-motion-playing{animation-play-state:running,running}.home-page .hero-editorial .hero-shade{background:linear-gradient(90deg,rgba(21,34,28,.67),rgba(21,34,28,.34) 43%,rgba(21,34,28,.04) 82%),linear-gradient(0deg,rgba(21,34,28,.34),transparent 46%)}.home-page .hero-editorial .hero-content{padding-top:132px}.home-page .hero-editorial h1{font-size:clamp(70px,9vw,124px);line-height:.91;max-width:790px;letter-spacing:-.055em;margin:32px 0 24px}.home-page .hero-editorial h1 em{color:#d7c5a7}.home-page .hero-editorial .hero-content>p{font-size:15px;max-width:410px;line-height:1.8;color:#eceee9}.home-page .hero-editorial .hero-index{left:max(32px,calc((100% - 1180px)/2));bottom:27px;letter-spacing:.17em}.home-page .hero-index span{color:#d7c5a7;padding:0 6px}.hero-side-note{position:absolute;right:max(32px,calc((100% - 1180px)/2));bottom:28px;color:#f2f0e8;font-size:9px;letter-spacing:.2em;line-height:1.8;text-align:right}
.intro-band{padding:108px 0 118px;background:var(--paper)}.intro-grid{display:grid;grid-template-columns:.72fr .9fr 1.4fr;gap:56px;align-items:start}.intro-kicker{display:flex;flex-direction:column;justify-content:space-between;height:100%;min-height:220px}.intro-index{font:italic 18px var(--serif);color:#a8a79b}.intro-copy{padding-top:35px}.intro-copy h2,.shared-copy h2{font:400 clamp(42px,5vw,65px)/.99 var(--serif);letter-spacing:-.045em;margin:0 0 24px}.intro-copy h2 em,.shared-copy h2 em{font-weight:400;color:#987759}.intro-copy p,.shared-copy>p{font-size:13px;color:#73796f;line-height:1.9;max-width:355px;margin:0 0 23px}.intro-image{margin:0;position:relative;height:470px;overflow:hidden;background:#d8d9ce}.intro-image img,.shared-image img{width:100%;height:100%;object-fit:cover;display:block}.intro-image img{object-position:center 57%;transition:transform .8s}.intro-image:hover img{transform:scale(1.035)}.intro-image figcaption{position:absolute;bottom:0;left:0;right:0;padding:68px 24px 22px;color:white;background:linear-gradient(transparent,rgba(20,33,27,.7));display:flex;justify-content:space-between;align-items:end;gap:15px}.intro-image figcaption span{font-size:8px;letter-spacing:.17em}.intro-image figcaption b{font:400 17px var(--serif);text-align:right}
.residents-section{padding:95px 0 102px;background:#eeeee7}.residents-section .section-head{align-items:end;margin-bottom:36px}.residents-section .section-head h2{font:400 clamp(38px,4.5vw,55px)/1 var(--serif);letter-spacing:-.04em;margin:15px 0 0}.residents-section .section-head>p{font-size:12px;color:#777e74;max-width:245px;margin:0 0 4px;line-height:1.7}.resident-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr 1fr;gap:12px}.resident-card{min-height:258px;background:var(--paper);border:1px solid #e5e4da;position:relative;padding:23px 21px 20px;display:flex;flex-direction:column;transition:transform .25s,border-color .25s,background .25s}.resident-card:hover{transform:translateY(-4px);border-color:#b7bcae;background:#fbfaf5}.resident-card.resident-feature{background:#33483a;color:var(--cream);border-color:#33483a}.resident-card.resident-feature:hover{background:#263b31}.resident-count{font-size:8px;letter-spacing:.13em;color:#85877d}.resident-feature .resident-count{color:#d6ddd2}.resident-icon{font:400 25px var(--serif);color:#a17c5e;margin-top:39px}.resident-symbol{position:absolute;right:20px;top:49px;color:#d6c3a4;font-size:23px}.resident-card h3{font:400 25px/1.05 var(--serif);letter-spacing:-.02em;margin:13px 0 auto}.resident-feature h3{font-size:33px}.resident-link{padding-top:22px;display:flex;justify-content:space-between;align-items:center;border-top:1px solid #e2e1d8;margin-top:25px;font-size:9px;color:#666f64}.resident-feature .resident-link{border-color:#ffffff38;color:#f0efe7}.resident-link b{font-size:15px;font-weight:400}.resident-utility{border-top:1px solid #d6d7cd;border-bottom:1px solid #d6d7cd;margin-top:27px;padding:17px 0;display:flex;justify-content:space-between;align-items:center;gap:18px}.resident-utility>div{display:flex;flex-direction:column;gap:3px}.utility-label{font-size:9px;color:#85877d}.resident-utility strong{font:400 17px var(--serif)}.resident-utility>a{font-size:10px;color:#314438;font-weight:700}.resident-utility>a span{font-size:15px;margin-left:10px}
.shared-life{padding:105px 0 112px;background:var(--paper)}.shared-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(55px,10vw,140px);align-items:center}.shared-image{height:490px;position:relative;background:#d4d8cf}.shared-image img{object-position:center}.shared-image>span{position:absolute;left:20px;bottom:20px;color:white;background:#243b31c9;padding:8px 11px;font-size:8px;letter-spacing:.16em}.shared-copy{max-width:460px}.shared-copy h2{font-size:clamp(43px,5vw,64px);margin:17px 0 22px}.shared-copy>p{max-width:410px}.shared-links{border-top:1px solid #ddded5;margin-top:30px}.shared-links a{display:flex;justify-content:space-between;padding:13px 0;border-bottom:1px solid #ddded5;font-size:10px;font-weight:600;color:#33483a}.shared-links a span{font-size:15px}.home-page .bottom-cta{padding:60px 0;background:#293e32}.home-page .bottom-inner h2{font:400 clamp(34px,4vw,47px)/1.05 var(--serif);letter-spacing:-.025em}.home-page .bottom-inner p{color:#d0d6cc}
@keyframes hero-appear{from{transform:scale(1.08);filter:brightness(.84)}to{transform:scale(1.04);filter:brightness(1)}}
@keyframes hero-drift{0%,100%{translate:0 -11px}50%{translate:0 11px}}
@media(max-width:1000px){.home-page .menu{gap:13px}.home-page .menu a{font-size:10px}.home-page .header-action{display:none}.intro-grid{grid-template-columns:.5fr 1fr 1.3fr;gap:30px}.resident-grid{grid-template-columns:repeat(2,1fr)}.resident-card{min-height:225px}.resident-feature h3{font-size:30px}.shared-grid{gap:50px}}
@media(max-width:720px){.home-page .nav{height:68px}.home-page .menu{gap:0}.home-page .hero-editorial{height:690px;min-height:0}.home-page .hero-editorial .hero-photo{background-position:58% center}.home-page .hero-editorial .hero-shade{background:linear-gradient(90deg,#14231bd1,#14231b52),linear-gradient(0deg,#14231b88,transparent 55%)}.home-page .hero-editorial .hero-content{padding-top:110px}.home-page .hero-editorial h1{font-size:clamp(65px,17vw,92px);margin:29px 0 22px}.home-page .hero-editorial .hero-content>p{font-size:13px;max-width:330px}.home-page .hero-editorial .hero-index{left:18px;font-size:8px;bottom:20px}.hero-side-note{display:none}.intro-band{padding:66px 0 70px}.intro-grid{grid-template-columns:1fr;gap:18px}.intro-kicker{min-height:0;flex-direction:row;align-items:center}.intro-copy{padding-top:14px}.intro-copy h2,.shared-copy h2{font-size:46px}.intro-copy p{max-width:430px}.intro-image{height:350px;margin-top:13px}.intro-image figcaption{padding:55px 15px 17px}.intro-image figcaption b{font-size:14px}.residents-section{padding:65px 0 72px}.residents-section .section-head{display:block;margin-bottom:27px}.residents-section .section-head h2{font-size:40px}.residents-section .section-head>p{max-width:330px;margin-top:14px}.resident-grid{gap:9px}.resident-card{min-height:205px;padding:17px 14px}.resident-count{font-size:7px;letter-spacing:.1em}.resident-card h3{font-size:21px}.resident-feature h3{font-size:27px}.resident-icon{margin-top:30px}.resident-link{font-size:8px;padding-top:15px;margin-top:19px}.resident-symbol{right:15px;top:43px}.resident-utility{align-items:flex-start;flex-direction:column}.resident-utility strong{font-size:16px}.shared-life{padding:68px 0 75px}.shared-grid{grid-template-columns:1fr;gap:35px}.shared-image{height:350px}.shared-copy h2{font-size:46px}.shared-copy>p{font-size:12px}.home-page .bottom-cta{padding:45px 0}.home-page .bottom-inner h2{font-size:37px}.home-page .bottom-inner>div:last-child{margin-top:22px}.home-page .footer-main{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){.home-page .hero-editorial .hero-photo{animation:none;translate:none;transform:none}.home-page *{scroll-behavior:auto}}
.home-page .hero-editorial .hero-shade:before{content:"";position:absolute;inset:0 35% 0 0;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);background:linear-gradient(90deg,rgba(14,27,20,.2),transparent 88%);-webkit-mask-image:linear-gradient(90deg,#000 0%,#000 60%,transparent 100%);mask-image:linear-gradient(90deg,#000 0%,#000 60%,transparent 100%)}

/* Square crop for the forest photograph beside the shared-life copy. */
.shared-image{height:auto;aspect-ratio:1/1}
@media(max-width:720px){.shared-image{height:auto;aspect-ratio:1/1}}
