/* Homepage — page-specific styles */

.bg-27 { background:var(--sand); border-top:1px solid rgba(44,42,40,.08); border-bottom:1px solid rgba(44,42,40,.08); position:relative; }
.col-21 { background:var(--navy); border-radius:16px; padding:32px; display:flex; flex-direction:column; justify-content:space-between; color:var(--bone); box-shadow:0 14px 32px -20px rgba(30,89,121,.6); transition:transform .5s var(--ease),box-shadow .5s var(--ease); }
.col-21:hover { transform:translateY(-4px); box-shadow:0 24px 48px -22px rgba(30,89,121,.55); }
.col-5 { background:white; border:1px solid rgba(44,42,40,.1); border-radius:16px; padding:32px; display:flex; flex-direction:column; position:relative; box-shadow:0 10px 26px -20px rgba(44,42,40,.35); transition:transform .5s var(--ease),border-color .5s var(--ease),background-color .5s var(--ease),box-shadow .5s var(--ease); }
.col-5:hover { transform:translateY(-4px); border-color:rgba(81,166,212,.5); box-shadow:0 20px 40px -22px rgba(44,42,40,.3); }
.grid-3-8 { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; position:relative; }
.link-ul-4 { margin-top:auto; align-self:flex-start; font-size:15px; font-weight:700; color:var(--navy); text-decoration:none; background-image:linear-gradient(var(--red),var(--red)); background-repeat:no-repeat; background-size:100% 2px; background-position:0 100%; padding-bottom:2px; transition:background-position .5s var(--ease),color .4s var(--ease); }
.link-ul-4:hover { background-position:10px 100%; color:var(--red); }
.link-ul-6 { font-size:16px; font-weight:700; text-decoration:none; margin-top:16px; color:var(--bone); background-image:linear-gradient(var(--red),var(--red)); background-repeat:no-repeat; background-size:100% 2px; background-position:0 100%; padding-bottom:3px; align-self:flex-start; transition:background-position .5s var(--ease),color .4s var(--ease); }
.link-ul-6:hover { background-position:10px 100%; color:var(--cream); }
.overlay-11 { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:62% 30%; display:block; filter:saturate(.85); }
.row-20-5 { display:flex; gap:20px; overflow-x:auto; overflow-y:hidden; scroll-snap-type:x proximity; overscroll-behavior-x:contain; -webkit-overflow-scrolling:touch; touch-action:pan-x pan-y; padding-bottom:8px; margin:0 -56px; padding-left:56px; padding-right:56px; cursor:grab; }
.row-26-3 { display:flex; gap:26px; overflow-x:auto; overflow-y:hidden; scroll-snap-type:x proximity; overscroll-behavior-x:contain; -webkit-overflow-scrolling:touch; touch-action:pan-x pan-y; padding-bottom:8px; margin:0 -56px; padding-left:56px; padding-right:56px; cursor:grab; }
.row-32-4 { display:flex; min-width:0; gap:32px; overflow-x:auto; overflow-y:hidden; scroll-snap-type:x mandatory; overscroll-behavior-x:contain; -webkit-overflow-scrolling:touch; touch-action:pan-x pan-y; cursor:grab; scrollbar-width:none; }
.serif-22 { font-family:var(--serif); font-size:22px; color:var(--ink); margin-bottom:14px; letter-spacing:-.01em; }
.serif-40-6 { font-family:var(--serif); font-weight:400; font-size:40px; margin:0; color:var(--ink); }
.text-15-6 { font-size:15px; line-height:1.65; color:var(--ink-2); margin:0 0 20px; }
