156156}
157157
158158.hero .container {
159- width : min (var ( --container ) , calc (100% - 4.5rem ));
159+ width : min (1340 px , calc (100% - 4.5rem ));
160160}
161161
162162.section : not (.hero ) .container {
@@ -999,12 +999,14 @@ a {
999999
10001000.hero {
10011001 --hero-top-pad : calc (var (--page-top-offset ) + clamp (0.75rem , 1.15vw , 1.3rem ));
1002- --hero-content-bottom-gap : clamp (3.4 rem , 4.5 vw , 4.7 rem );
1002+ --hero-content-bottom-gap : clamp (3 rem , 4.1 vw , 4.2 rem );
10031003 --hero-extra-tail : 0px ;
10041004 --hero-stage-min : 0px ;
10051005 --hero-stage-height : calc (var (--hero-initial-viewport-height , 100svh ) - var (--hero-top-pad ) - var (--hero-content-bottom-gap ));
10061006 --hero-stage-reference : max (var (--hero-stage-height ), var (--hero-stage-min ));
1007- --hero-image-size : clamp (24rem , calc (var (--hero-stage-reference ) * 0.95 ), 50rem );
1007+ --hero-image-size : clamp (26rem , calc (var (--hero-stage-reference ) * 1.04 ), 57rem );
1008+ --hero-tagline-size : clamp (2.4rem , 4.4vw , 4.5rem );
1009+ --hero-tagline-max-width : min (100% , 15ch );
10081010 position : relative;
10091011 margin-top : calc (var (--page-top-offset ) * -1 );
10101012 min-height : max (
@@ -1035,20 +1037,22 @@ a {
10351037 left : -3% ;
10361038 right : -3% ;
10371039 bottom : 0 ;
1038- height : clamp (8rem , 23% , 14rem );
1039- background : linear-gradient (180deg , rgba (0 , 0 , 0 , 0 ) 0% , rgba (0 , 0 , 0 , 0.18 ) 30% , rgba (0 , 0 , 0 , 0.64 ) 72% , # 000 100% );
1040+ z-index : 2 ;
1041+ height : clamp (9rem , 28% , 16rem );
1042+ background : linear-gradient (180deg , rgba (0 , 0 , 0 , 0 ) 0% , rgba (0 , 0 , 0 , 0.12 ) 18% , rgba (0 , 0 , 0 , 0.42 ) 54% , rgba (0 , 0 , 0 , 0.82 ) 82% , # 000 100% );
10401043 pointer-events : none;
10411044}
10421045
10431046.hero-image-wrap {
10441047 position : absolute;
10451048 left : 50% ;
1046- top : 46.2 % ;
1049+ top : 44.6 % ;
10471050 z-index : 1 ;
10481051 width : min (100% , var (--hero-image-size ));
10491052 transform : translate (-50% , -50% );
10501053 overflow : visible;
10511054 pointer-events : none;
1055+ will-change : transform, opacity;
10521056}
10531057
10541058.hero-home-image {
@@ -1057,6 +1061,7 @@ a {
10571061 height : auto;
10581062 aspect-ratio : 1 / 1 ;
10591063 object-fit : contain;
1064+ will-change : filter;
10601065}
10611066
10621067.hero-kicker {
@@ -1082,27 +1087,23 @@ a {
10821087 margin : 0 ;
10831088 position : relative;
10841089 z-index : 3 ;
1090+ width : min (100% , var (--hero-tagline-max-width ));
1091+ pointer-events : none;
1092+ }
1093+
1094+ .hero-tagline-object {
10851095 display : flex;
10861096 flex-direction : column;
10871097 align-items : flex-start;
1088- gap : clamp (0.18 rem , 0.7 vw , 0.48 rem );
1089- pointer-events : none ;
1098+ gap : clamp (0.16 rem , 0.45 vw , 0.34 rem );
1099+ width : min ( 100 % , var ( --hero-tagline-max-width )) ;
10901100}
10911101
10921102.hero-tagline-line {
1093- display : block;
1094- width : max-content;
1095- max-width : 100% ;
1096- overflow : visible;
1097- }
1098-
1099- .hero-shape-stack ,
1100- .hero-unseen-stack {
11011103 position : relative;
1102- display : grid;
1104+ display : inline- grid;
11031105 place-items : start;
1104- align-self : flex-start;
1105- width : max-content;
1106+ width : auto;
11061107 max-width : 100% ;
11071108 overflow : visible;
11081109}
@@ -1118,20 +1119,17 @@ a {
11181119 white-space : nowrap;
11191120}
11201121
1121- .hero-shape-fill ,
1122- .hero-shape-glow {
1122+ .hero-tagline-line--shape > * {
11231123 font-family : "Rock Salt" , "Segoe Script" , cursive;
1124- font-size : clamp ( 2.05 rem , 4.9 vw , 4.3 rem );
1125- line-height : 0.95 ;
1124+ font-size : var ( --hero-tagline-size );
1125+ line-height : 1 ;
11261126 letter-spacing : 0.015em ;
11271127 overflow : visible;
11281128}
11291129
1130- .hero-unseen-outline ,
1131- .hero-unseen-fill ,
1132- .hero-unseen-glow {
1130+ .hero-tagline-line--unseen > * {
11331131 font-family : var (--heading-font );
1134- font-size : clamp ( 2.8 rem , 7.1 vw , 6 rem );
1132+ font-size : var ( --hero-tagline-size );
11351133 font-weight : 800 ;
11361134 line-height : 0.9 ;
11371135 letter-spacing : 0.008em ;
@@ -1179,6 +1177,15 @@ a {
11791177 opacity : 1 ;
11801178}
11811179
1180+ .js .hero-image-wrap {
1181+ opacity : 0 ;
1182+ transform : translate (-50% , calc (-50% + 1.2rem )) scale (1.055 );
1183+ }
1184+
1185+ .js .hero-home-image {
1186+ filter : brightness (1.85 ) contrast (1.48 ) saturate (0.94 );
1187+ }
1188+
11821189.js body .hero-ready .hero-shape-fill {
11831190 animation :
11841191 hero-mask-reveal 860ms cubic-bezier (0.18 , 0.92 , 0.24 , 1 ) 90ms forwards,
@@ -1203,6 +1210,14 @@ a {
12031210 hero-glow-pass 1120ms cubic-bezier (0.22 , 0.88 , 0.24 , 1 ) 970ms forwards;
12041211}
12051212
1213+ .js body .hero-ready .hero-image-wrap {
1214+ animation : hero-image-entrance 2480ms cubic-bezier (0.18 , 0.9 , 0.22 , 1 ) 120ms forwards;
1215+ }
1216+
1217+ .js body .hero-ready .hero-home-image {
1218+ animation : hero-image-luma-settle 2480ms cubic-bezier (0.18 , 0.9 , 0.22 , 1 ) 120ms forwards;
1219+ }
1220+
12061221@keyframes hero-mask-reveal {
12071222 0% {
12081223 clip-path : inset (0 100% 0 0 );
@@ -1252,6 +1267,36 @@ a {
12521267 }
12531268}
12541269
1270+ @keyframes hero-image-entrance {
1271+ 0% {
1272+ opacity : 0 ;
1273+ transform : translate (-50% , calc (-50% + 1.2rem )) scale (1.055 );
1274+ }
1275+
1276+ 42% {
1277+ opacity : 0.82 ;
1278+ }
1279+
1280+ 100% {
1281+ opacity : 1 ;
1282+ transform : translate (-50% , -50% ) scale (1 );
1283+ }
1284+ }
1285+
1286+ @keyframes hero-image-luma-settle {
1287+ 0% {
1288+ filter : brightness (1.85 ) contrast (1.48 ) saturate (0.94 );
1289+ }
1290+
1291+ 40% {
1292+ filter : brightness (1.4 ) contrast (1.22 ) saturate (0.97 );
1293+ }
1294+
1295+ 100% {
1296+ filter : brightness (1 ) contrast (1 ) saturate (1 );
1297+ }
1298+ }
1299+
12551300.hero-copy {
12561301 position : absolute;
12571302 inset : auto 0 0 ;
@@ -1268,12 +1313,12 @@ a {
12681313 flex-direction : column;
12691314 align-items : flex-start;
12701315 gap : clamp (0.95rem , 1.8vw , 1.5rem );
1271- width : min (100% , clamp (22 rem , 42 vw , 42 rem ));
1316+ width : min (100% , clamp (26 rem , 45 vw , 48 rem ));
12721317}
12731318
12741319.hero-subtitle {
12751320 margin : 0 ;
1276- max-width : 31 ch ;
1321+ max-width : 34 ch ;
12771322 color : var (--muted );
12781323 font-size : clamp (1rem , 1.7vw , 1.24rem );
12791324 line-height : 1.6 ;
@@ -2122,31 +2167,22 @@ a {
21222167
21232168 .hero {
21242169 --hero-top-pad : calc (var (--page-top-offset ) + clamp (0.55rem , 1.3vw , 0.95rem ));
2125- --hero-content-bottom-gap : clamp (2.9rem , 4.6vw , 3.75rem );
2126- --hero-image-size : clamp (20rem , calc (var (--hero-stage-reference ) * 0.84 ), 35rem );
2127- }
2128-
2129- .hero-shape-fill ,
2130- .hero-shape-glow {
2131- font-size : clamp (1.8rem , 4.7vw , 3.5rem );
2132- }
2133-
2134- .hero-unseen-outline ,
2135- .hero-unseen-fill ,
2136- .hero-unseen-glow {
2137- font-size : clamp (2.45rem , 6.8vw , 4.9rem );
2170+ --hero-content-bottom-gap : clamp (2.7rem , 4vw , 3.35rem );
2171+ --hero-image-size : clamp (22rem , calc (var (--hero-stage-reference ) * 0.92 ), 39rem );
2172+ --hero-tagline-size : clamp (2rem , 4.9vw , 3.65rem );
2173+ --hero-tagline-max-width : min (100% , 14ch );
21382174 }
21392175
21402176 .hero-copy {
21412177 gap : clamp (1.35rem , 2.6vw , 2.2rem );
21422178 }
21432179
21442180 .hero-copy-main {
2145- width : min (100% , clamp (20 rem , 48 vw , 36 rem ));
2181+ width : min (100% , clamp (21 rem , 50 vw , 40 rem ));
21462182 }
21472183
21482184 .hero-subtitle {
2149- max-width : 28 ch ;
2185+ max-width : 31 ch ;
21502186 }
21512187
21522188 .section-head h2 {
@@ -2203,47 +2239,37 @@ a {
22032239
22042240 .hero {
22052241 --hero-top-pad : calc (var (--page-top-offset ) + 0.45rem );
2206- --hero-content-bottom-gap : 3.15rem ;
2207- --hero-extra-tail : clamp (2.35rem , 7vw , 3.35rem );
2208- --hero-image-size : min (96vw , clamp (20.75rem , calc (var (--hero-stage-reference ) * 0.66 ), 34rem ));
2242+ --hero-content-bottom-gap : 2.6rem ;
2243+ --hero-extra-tail : clamp (1.45rem , 5.4vw , 2.1rem );
2244+ --hero-image-size : min (100% , clamp (22rem , calc (var (--hero-stage-reference ) * 0.72 ), 39rem ));
2245+ --hero-tagline-size : clamp (1.95rem , 8.25vw , 3.05rem );
2246+ --hero-tagline-max-width : min (100% , 11.5ch );
22092247 }
22102248
22112249 .hero-image-wrap {
2212- top : 44.9 % ;
2250+ top : 43.4 % ;
22132251 width : min (100% , var (--hero-image-size ));
22142252 }
22152253
22162254 .hero-kicker {
22172255 padding-inline : 0 ;
22182256 }
22192257
2220- .hero-shape-fill ,
2221- .hero-shape-glow {
2222- font-size : clamp (1.6rem , 7.2vw , 2.75rem );
2223- }
2224-
2225- .hero-unseen-outline ,
2226- .hero-unseen-fill ,
2227- .hero-unseen-glow {
2228- font-size : clamp (2.4rem , 11.1vw , 4.25rem );
2229- text-align : left;
2230- }
2231-
22322258 .hero-copy {
22332259 flex-direction : column;
22342260 align-items : flex-start;
22352261 justify-content : flex-end;
2236- gap : 1.5 rem ;
2262+ gap : 1.25 rem ;
22372263 padding-inline : 0 ;
22382264 }
22392265
22402266 .hero-copy-main {
22412267 width : min (100% , 100% );
2242- gap : 1.2 rem ;
2268+ gap : 1.32 rem ;
22432269 }
22442270
22452271 .hero-subtitle {
2246- max-width : min (100% , 27 ch );
2272+ max-width : min (100% , 30 ch );
22472273 font-size : 1.02rem ;
22482274 line-height : 1.52 ;
22492275 }
@@ -2476,4 +2502,13 @@ a {
24762502 animation : none !important ;
24772503 transition : none !important ;
24782504 }
2505+
2506+ .hero-image-wrap ,
2507+ .hero-home-image {
2508+ opacity : 1 !important ;
2509+ filter : none !important ;
2510+ animation : none !important ;
2511+ transition : none !important ;
2512+ transform : translate (-50% , -50% ) scale (1 ) !important ;
2513+ }
24792514}
0 commit comments