@@ -1051,6 +1051,8 @@ a {
10511051 left : 50% ;
10521052 top : 44.6% ;
10531053 z-index : 1 ;
1054+ display : grid;
1055+ place-items : center;
10541056 width : min (var (--hero-image-size ), var (--hero-image-max-inline ));
10551057 transform : translate (-50% , -50% );
10561058 overflow : visible;
@@ -1059,12 +1061,40 @@ a {
10591061}
10601062
10611063.hero-home-image {
1064+ grid-area : 1 / 1 ;
10621065 display : block;
10631066 width : 100% ;
10641067 height : auto;
10651068 aspect-ratio : 1 / 1 ;
10661069 object-fit : contain;
1067- will-change : filter;
1070+ will-change : filter, opacity;
1071+ }
1072+
1073+ .hero-home-image--base {
1074+ position : relative;
1075+ z-index : 1 ;
1076+ }
1077+
1078+ .hero-home-image--reveal {
1079+ position : relative;
1080+ z-index : 2 ;
1081+ background-image : url ("../img/hero-home.jpg" );
1082+ background-position : center;
1083+ background-repeat : no-repeat;
1084+ background-size : contain;
1085+ -webkit-mask-image : url ("../img/hero-home.jpg" );
1086+ mask-image : url ("../img/hero-home.jpg" );
1087+ -webkit-mask-repeat : no-repeat;
1088+ mask-repeat : no-repeat;
1089+ -webkit-mask-position : center;
1090+ mask-position : center;
1091+ -webkit-mask-size : contain;
1092+ mask-size : contain;
1093+ -webkit-mask-mode : luminance;
1094+ mask-mode : luminance;
1095+ opacity : 0 ;
1096+ mix-blend-mode : screen;
1097+ pointer-events : none;
10681098}
10691099
10701100.hero-kicker {
@@ -1149,6 +1179,8 @@ a {
11491179}
11501180
11511181.hero-shape-fill {
1182+ position : relative;
1183+ z-index : 2 ;
11521184 color : var (--accent-script-color );
11531185 -webkit-text-fill-color : var (--accent-script-color );
11541186 background : none;
@@ -1157,19 +1189,35 @@ a {
11571189}
11581190
11591191.hero-unseen-fill {
1192+ position : relative;
1193+ z-index : 2 ;
11601194 background-image : linear-gradient (90deg , var (--hero-fill-color ) 0% , var (--hero-fill-color ) 38% , rgba (255 , 255 , 255 , 0.995 ) 50% , var (--hero-fill-color ) 62% , var (--hero-fill-color ) 100% );
11611195}
11621196
11631197.hero-unseen-outline {
1198+ position : relative;
1199+ z-index : 1 ;
11641200 color : transparent;
11651201 -webkit-text-fill-color : transparent;
11661202 -webkit-text-stroke : 1.35px var (--hero-outline-color );
11671203}
11681204
11691205.hero-shape-glow ,
11701206.hero-unseen-glow {
1171- color : rgba (255 , 248 , 240 , 0.96 );
1172- filter : blur (12px );
1207+ position : relative;
1208+ z-index : 3 ;
1209+ color : transparent;
1210+ -webkit-text-fill-color : transparent;
1211+ background-image : linear-gradient (90deg , rgba (255 , 243 , 230 , 0 ) 0% , rgba (255 , 243 , 230 , 0.12 ) 22% , rgba (255 , 255 , 255 , 0.94 ) 50% , rgba (255 , 243 , 230 , 0.18 ) 78% , rgba (255 , 243 , 230 , 0 ) 100% );
1212+ background-size : 220% 100% ;
1213+ background-position : 110% 50% ;
1214+ -webkit-background-clip : text;
1215+ background-clip : text;
1216+ filter : blur (12px ) brightness (1.14 );
1217+ mix-blend-mode : screen;
1218+ text-shadow :
1219+ 0 0 14px rgba (255 , 247 , 238 , 0.8 ),
1220+ 0 0 30px rgba (255 , 222 , 189 , 0.42 );
11731221 opacity : 0 ;
11741222}
11751223
@@ -1190,16 +1238,20 @@ a {
11901238}
11911239
11921240.js .hero-image-wrap {
1193- opacity : 0 ;
11941241 transform : translate (-50% , calc (-50% + 1.2rem )) scale (1.055 );
11951242}
11961243
11971244.js .hero-image-wrap ::after {
11981245 opacity : 0 ;
11991246}
12001247
1201- .js .hero-home-image {
1202- filter : brightness (1.85 ) contrast (1.48 ) saturate (0.94 );
1248+ .js .hero-home-image--base {
1249+ opacity : 0 ;
1250+ }
1251+
1252+ .js .hero-home-image--reveal {
1253+ opacity : 0 ;
1254+ filter : brightness (3.8 ) contrast (1.92 ) saturate (0.78 );
12031255}
12041256
12051257.js body .hero-ready .hero-shape-fill {
@@ -1211,6 +1263,7 @@ a {
12111263.js body .hero-ready .hero-shape-glow {
12121264 animation :
12131265 hero-mask-reveal-script 860ms cubic-bezier (0.18 , 0.92 , 0.24 , 1 ) 90ms forwards,
1266+ hero-sheen-pass 980ms cubic-bezier (0.22 , 0.88 , 0.24 , 1 ) 90ms forwards,
12141267 hero-glow-pass 980ms cubic-bezier (0.22 , 0.88 , 0.24 , 1 ) 90ms forwards;
12151268}
12161269
@@ -1223,6 +1276,7 @@ a {
12231276.js body .hero-ready .hero-unseen-glow {
12241277 animation :
12251278 hero-mask-reveal 980ms cubic-bezier (0.18 , 0.92 , 0.24 , 1 ) 970ms forwards,
1279+ hero-sheen-pass 1120ms cubic-bezier (0.22 , 0.88 , 0.24 , 1 ) 970ms forwards,
12261280 hero-glow-pass 1120ms cubic-bezier (0.22 , 0.88 , 0.24 , 1 ) 970ms forwards;
12271281}
12281282
@@ -1234,8 +1288,12 @@ a {
12341288 animation : hero-image-gradient-settle 2480ms cubic-bezier (0.18 , 0.9 , 0.22 , 1 ) 120ms forwards;
12351289}
12361290
1237- .js body .hero-ready .hero-home-image {
1238- animation : hero-image-luma-settle 2480ms cubic-bezier (0.18 , 0.9 , 0.22 , 1 ) 120ms forwards;
1291+ .js body .hero-ready .hero-home-image--base {
1292+ animation : hero-image-base-reveal 2480ms cubic-bezier (0.18 , 0.9 , 0.22 , 1 ) 120ms forwards;
1293+ }
1294+
1295+ .js body .hero-ready .hero-home-image--reveal {
1296+ animation : hero-image-luma-emerge 2480ms cubic-bezier (0.18 , 0.9 , 0.22 , 1 ) 120ms forwards;
12391297}
12401298
12411299@keyframes hero-mask-reveal {
@@ -1282,54 +1340,77 @@ a {
12821340
12831341@keyframes hero-glow-pass {
12841342 0% {
1285- clip-path : inset (0 100% 0 0 );
12861343 opacity : 0 ;
1287- filter : blur (14 px );
1344+ filter : blur (18 px ) brightness ( 1.16 );
12881345 }
12891346
1290- 22 % {
1291- opacity : 0.34 ;
1347+ 18 % {
1348+ opacity : 0.82 ;
12921349 }
12931350
1294- 76 % {
1295- opacity : 0.18 ;
1296- filter : blur (8 px );
1351+ 62 % {
1352+ opacity : 0.34 ;
1353+ filter : blur (10 px ) brightness ( 1.08 );
12971354 }
12981355
12991356 100% {
1300- clip-path : inset (0 0 0 0 );
13011357 opacity : 0 ;
1302- filter : blur (0 );
1358+ filter : blur (0 ) brightness ( 1 ) ;
13031359 }
13041360}
13051361
13061362@keyframes hero-image-entrance {
13071363 0% {
1308- opacity : 0 ;
13091364 transform : translate (-50% , calc (-50% + 1.2rem )) scale (1.055 );
13101365 }
13111366
1312- 42% {
1313- opacity : 0.82 ;
1367+ 100% {
1368+ transform : translate (-50% , -50% ) scale (1 );
1369+ }
1370+ }
1371+
1372+ @keyframes hero-image-base-reveal {
1373+ 0% {
1374+ opacity : 0 ;
1375+ }
1376+
1377+ 18% {
1378+ opacity : 0.18 ;
1379+ }
1380+
1381+ 54% {
1382+ opacity : 0.62 ;
13141383 }
13151384
13161385 100% {
13171386 opacity : 1 ;
1318- transform : translate (-50% , -50% ) scale (1 );
13191387 }
13201388}
13211389
1322- @keyframes hero-image-luma-settle {
1390+ @keyframes hero-image-luma-emerge {
13231391 0% {
1324- filter : brightness (1.85 ) contrast (1.48 ) saturate (0.94 );
1392+ opacity : 0.16 ;
1393+ filter : brightness (1.62 ) saturate (0.82 );
13251394 }
13261395
1327- 40% {
1328- filter : brightness (1.4 ) contrast (1.22 ) saturate (0.97 );
1396+ 18% {
1397+ opacity : 0.92 ;
1398+ filter : brightness (1.46 ) saturate (0.86 );
1399+ }
1400+
1401+ 48% {
1402+ opacity : 0.56 ;
1403+ filter : brightness (1.24 ) saturate (0.92 );
1404+ }
1405+
1406+ 76% {
1407+ opacity : 0.18 ;
1408+ filter : brightness (1.08 ) saturate (0.98 );
13291409 }
13301410
13311411 100% {
1332- filter : brightness (1 ) contrast (1 ) saturate (1 );
1412+ opacity : 0 ;
1413+ filter : brightness (1 ) saturate (1 );
13331414 }
13341415}
13351416
@@ -2294,7 +2375,7 @@ a {
22942375 --hero-content-bottom-gap : 2.12rem ;
22952376 --hero-extra-tail : clamp (1.45rem , 5.4vw , 2.1rem );
22962377 --hero-image-size : clamp (29rem , calc (var (--hero-stage-reference ) * 0.96 ), 52rem );
2297- --hero-image-max-inline : 110 % ;
2378+ --hero-image-max-inline : 110 vw ;
22982379 --hero-tagline-base-size : clamp (2.25rem , min (calc (var (--hero-stage-reference ) * 0.1 ), 11.2cqi ), 3.35rem );
22992380 }
23002381
@@ -2551,14 +2632,21 @@ a {
25512632 }
25522633
25532634 .hero-image-wrap ,
2554- .hero-home-image {
2635+ .hero-home-image--base {
25552636 opacity : 1 !important ;
25562637 filter : none !important ;
25572638 animation : none !important ;
25582639 transition : none !important ;
25592640 transform : translate (-50% , -50% ) scale (1 ) !important ;
25602641 }
25612642
2643+ .hero-home-image--reveal {
2644+ opacity : 0 !important ;
2645+ filter : none !important ;
2646+ animation : none !important ;
2647+ transition : none !important ;
2648+ }
2649+
25622650 .hero-image-wrap ::after {
25632651 opacity : 1 !important ;
25642652 animation : none !important ;
0 commit comments