@@ -115,9 +115,10 @@ a:hover {
115115/* ── Entrance animations ── */
116116.reveal {
117117 opacity : 0 ;
118- transform : translateY (24px );
119- transition : opacity 0.7s cubic-bezier (0.16 , 1 , 0.3 , 1 ),
120- transform 0.7s cubic-bezier (0.16 , 1 , 0.3 , 1 );
118+ transform : translateY (12px );
119+ transition : opacity 1.1s cubic-bezier (0.33 , 1 , 0.68 , 1 ),
120+ transform 1.1s cubic-bezier (0.33 , 1 , 0.68 , 1 );
121+ transition-delay : var (--reveal-delay , 0s );
121122}
122123
123124.reveal .revealed {
@@ -143,6 +144,18 @@ a:hover {
143144 }
144145}
145146
147+ .hero-callout {
148+ padding : 16px 20px ;
149+ border-radius : 6px ;
150+ border : 1px solid var (--color-border-weak );
151+ background : var (--color-surface );
152+ }
153+
154+ .hero-callout code {
155+ font-family : inherit;
156+ display : block;
157+ }
158+
146159/* ── Auth layout ── */
147160.auth-container {
148161 min-height : 100vh ;
@@ -2139,35 +2152,109 @@ a:hover {
21392152
21402153/* ── Footer ── */
21412154.footer {
2142- border-top : 1px solid var (--color-border-weak );
2143- padding : 0 var (--padding );
21442155 margin-top : var (--vertical-padding );
21452156}
21462157
21472158.footer-inner {
21482159 max-width : 80rem ;
21492160 margin : 0 auto;
2161+ padding : 0 var (--padding );
21502162}
21512163
2152- .footer-top {
2153- padding : 64px 0 56px ;
2164+ /* ── CTA banner ── */
2165+ .footer-cta {
2166+ position : relative;
2167+ overflow : hidden;
2168+ border-top : 1px solid var (--color-border-weak );
2169+ }
2170+
2171+ .footer-cta-inner {
2172+ position : relative;
2173+ z-index : 2 ;
2174+ max-width : 80rem ;
2175+ margin : 0 auto;
2176+ padding : 80px var (--padding ) 48px ;
2177+ display : flex;
2178+ align-items : flex-start;
2179+ justify-content : space-between;
2180+ gap : 48px ;
2181+ }
2182+
2183+ .footer-cta-headline {
2184+ font-size : clamp (1.75rem , 4vw , 2.75rem );
2185+ font-weight : 500 ;
2186+ line-height : 1.2 ;
2187+ letter-spacing : -0.02em ;
2188+ color : var (--color-text-strong );
2189+ }
2190+
2191+ .footer-cta-right {
21542192 display : flex;
21552193 flex-direction : column;
2156- gap : 20px ;
2194+ gap : 24px ;
2195+ max-width : 360px ;
2196+ flex-shrink : 0 ;
2197+ padding-top : 4px ;
21572198}
21582199
2159- .footer-tagline {
2160- font-size : 14px ;
2200+ .footer-cta-desc {
2201+ font-size : 15px ;
2202+ line-height : 1.6 ;
21612203 color : var (--color-text-weak );
2162- line-height : 170% ;
21632204}
21642205
2206+
2207+ /* ── Brand watermark with skyline ── */
2208+ .footer-brand-watermark {
2209+ position : relative;
2210+ width : 100% ;
2211+ height : clamp (180px , 28vw , 340px );
2212+ overflow : hidden;
2213+ }
2214+
2215+ .footer-brand-fade {
2216+ position : absolute;
2217+ inset : 0 ;
2218+ z-index : 1 ;
2219+ background : linear-gradient (
2220+ to bottom,
2221+ var (--color-bg ) 0% ,
2222+ rgba (0 , 0 , 0 , 0.7 ) 40% ,
2223+ transparent 100%
2224+ );
2225+ pointer-events : none;
2226+ }
2227+
2228+ .footer-brand-image {
2229+ position : absolute;
2230+ inset : 0 ;
2231+ width : 100% ;
2232+ height : 100% ;
2233+ object-fit : cover;
2234+ object-position : center 40% ;
2235+ opacity : 0.18 ;
2236+ }
2237+
2238+ .footer-brand-text {
2239+ position : absolute;
2240+ z-index : 2 ;
2241+ left : 50% ;
2242+ bottom : -16% ;
2243+ transform : translateX (-50% );
2244+ width : clamp (300px , 70vw , 900px );
2245+ height : auto;
2246+ opacity : 0.6 ;
2247+ user-select : none;
2248+ pointer-events : none;
2249+ }
2250+
2251+ /* ── Footer links section ── */
21652252.footer-columns {
21662253 display : grid;
21672254 grid-template-columns : repeat (4 , 1fr );
2168- gap : 24 px ;
2169- padding-bottom : 56px ;
2170- border-bottom : 1px solid var (--color-border-weak );
2255+ gap : 48 px ;
2256+ padding : 64 px 0 56px ;
2257+ border-top : 1px solid var (--color-border-weak );
21712258}
21722259
21732260.footer-column-title {
@@ -2193,6 +2280,7 @@ a:hover {
21932280 color : var (--color-text-weak );
21942281 transition : color 0.15s ;
21952282 line-height : 1 ;
2283+ white-space : nowrap;
21962284}
21972285
21982286.footer-link : hover {
@@ -2202,50 +2290,99 @@ a:hover {
22022290 color : var (--color-text-strong );
22032291}
22042292
2293+ /* ── Footer bottom bar ── */
22052294.footer-bottom {
22062295 display : flex;
22072296 align-items : center;
22082297 justify-content : space-between;
22092298 padding : 24px 0 ;
2299+ border-top : 1px solid var (--color-border-weak );
22102300 font-size : 12px ;
22112301}
22122302
2213- .footer-github {
2214- display : inline-flex;
2215- align-items : center;
2216- gap : 8px ;
2303+ .footer-copyright {
22172304 color : var (--color-text-weak );
2305+ }
2306+
2307+ .footer-bottom-right {
2308+ display : flex;
2309+ align-items : center;
2310+ gap : 24px ;
2311+ }
2312+
2313+ .footer-bottom-link {
22182314 font-size : 12px ;
2315+ color : var (--color-text-weak );
22192316 transition : color 0.15s ;
22202317}
22212318
2222- .footer-github : hover {
2319+ .footer-bottom-link : hover {
22232320 color : var (--color-text-strong );
22242321}
22252322
2226- @media (max-width : 50rem ) {
2323+ .footer-bottom-socials {
2324+ display : flex;
2325+ align-items : center;
2326+ gap : 16px ;
2327+ margin-left : 8px ;
2328+ }
2329+
2330+ .footer-social-icon {
2331+ color : var (--color-text-weak );
2332+ transition : color 0.15s ;
2333+ display : flex;
2334+ align-items : center;
2335+ }
2336+
2337+ .footer-social-icon : hover {
2338+ color : var (--color-text-strong );
2339+ }
2340+
2341+ /* ── Footer responsive ── */
2342+ @media (max-width : 60rem ) {
2343+ .footer-cta-inner {
2344+ flex-direction : column;
2345+ gap : 32px ;
2346+ padding : 64px var (--padding ) 40px ;
2347+ }
2348+
2349+ .footer-cta-right {
2350+ max-width : 100% ;
2351+ }
2352+ }
2353+
2354+ @media (max-width : 40rem ) {
22272355 .footer-columns {
22282356 grid-template-columns : repeat (2 , 1fr );
22292357 gap : 40px 24px ;
2358+ padding : 48px 0 40px ;
22302359 }
22312360
2232- .footer-top {
2233- padding : 48 px 0 40 px ;
2361+ .footer-brand-watermark {
2362+ height : 140 px ;
22342363 }
22352364}
22362365
22372366@media (max-width : 30rem ) {
22382367 .footer-columns {
22392368 grid-template-columns : 1fr ;
22402369 gap : 36px ;
2241- padding-bottom : 40px ;
22422370 }
22432371
22442372 .footer-bottom {
22452373 flex-direction : column;
2246- gap : 16 px ;
2374+ gap : 20 px ;
22472375 align-items : flex-start;
22482376 }
2377+
2378+ .footer-bottom-right {
2379+ flex-wrap : wrap;
2380+ gap : 16px ;
2381+ }
2382+
2383+ .footer-brand-watermark {
2384+ height : 100px ;
2385+ }
22492386}
22502387
22512388/* ── Navigation ── */
0 commit comments