/* Longevity Clinic — shared styles
   Generated from the inline styles of all pages.
   Classes used on 2+ pages live here; single-page classes live in assets/pages/.
*/

:root {
  --serif: 'Spectral', serif;
  --sans: 'Hanken Grotesk', system-ui, sans-serif;
  --ease: cubic-bezier(.22, .61, .36, 1);

  --ink: #2C2A28;
  --ink-2: #525252;
  --ink-3: #4A4642;
  --muted: #77716A;
  --muted-2: #8B9096;
  --muted-3: #C9C3BA;

  --cream: #FBFAF8;
  --bone: #F1EAD9;
  --sand: #EEEAE4;
  --sand-2: #F7F5F1;
  --sand-3: #E3DFD6;

  --navy: #1E5979;
  --blue: #51A6D4;
  --blue-mid: #3E8FBD;
  --blue-pale: #A3D0E8;
  --blue-tint: #E9F4FA;

  --red: #E11B46;
  --red-dark: #C4113A;
  --red-tint: #FBDDE4;

  --green: #9AC23B;
  --green-tint: #E6F0CF;
}

/* ===== Base ===== */

body { font-family: var(--sans); margin: 0; }
a { color: var(--blue); }
a:hover { color: var(--navy); }

details.faq > summary,
details.nav-dd > summary { list-style: none; cursor: pointer; }
details.faq > summary::-webkit-details-marker,
details.nav-dd > summary::-webkit-details-marker { display: none; }

@keyframes lc-phrase-in { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }

.carousel { user-select: none; -webkit-user-select: none; scrollbar-width: auto; scrollbar-color: var(--blue) rgba(44,42,40,.035); }
.carousel::-webkit-scrollbar { height: 11px; }
.carousel[data-noscrollbar]::-webkit-scrollbar { display: none; }
.carousel::-webkit-scrollbar-track { background: rgba(44,42,40,.035); border-radius: 9999px; }
.carousel::-webkit-scrollbar-thumb { background: var(--blue); border-radius: 9999px; border: 2px solid transparent; background-clip: padding-box; }
.carousel::-webkit-scrollbar-thumb:hover { background: var(--navy); background-clip: padding-box; }

@keyframes lc-rise { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }
@keyframes lc-rise-img { from { opacity: 0; transform: translateY(24px) scale(.985); } to { opacity: 1; transform: none; } }

input, textarea, select, button { font-family: var(--sans); }

details.faq[open] > summary > span { transform: rotate(45deg); display: inline-block; }


/* ===== Navigation ===== */

.nav-caret { font-size:13px; font-weight:800; color:var(--blue); }
.nav-inner { max-width:1440px; margin:0 auto; padding:14px 56px; box-sizing:border-box; display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; column-gap:24px; row-gap:12px; }
.nav-item { padding:10px 14px; border-radius:8px; color:var(--ink); font-size:15px; font-weight:500; text-decoration:none; }
.nav-item:hover { background:var(--sand); color:var(--blue); }
.nav-item-2 { padding:10px 14px; border-radius:8px; color:var(--ink); font-size:15px; font-weight:500; text-decoration:none; }
.nav-item-2:hover { background:var(--sand); }
.nav-item-all { padding:10px 14px; border-radius:8px; color:var(--blue); font-size:15px; font-weight:600; text-decoration:none; border-bottom:1px solid rgba(44,42,40,.1); margin-bottom:6px; }
.nav-item-all:hover { background:var(--sand); }
.nav-item-all-2 { padding:10px 14px; border-radius:8px; color:var(--blue); font-size:15px; font-weight:600; text-decoration:none; border-bottom:1px solid rgba(44,42,40,.07); margin-bottom:6px; }
.nav-item-all-2:hover { background:var(--sand); }
.nav-item-cur { padding:10px 14px; border-radius:8px; color:var(--blue); font-size:15px; font-weight:600; text-decoration:none; }
.nav-item-cur:hover { background:var(--sand); color:var(--blue); }
.nav-item-cur-2 { padding:10px 14px; border-radius:8px; color:var(--blue); font-size:15px; font-weight:600; text-decoration:none; }
.nav-item-cur-2:hover { background:var(--sand); }
.nav-panel { position:absolute; top:calc(100% + 12px); left:0; background:white; border:1px solid rgba(44,42,40,.1); border-radius:12px; box-shadow:0 16px 36px rgba(44,42,40,.14); padding:10px; display:flex; flex-direction:column; min-width:270px; z-index:30; }
.nav-panel-2 { position:absolute; top:calc(100% + 12px); left:0; background:white; border:1px solid rgba(44,42,40,.1); border-radius:12px; box-shadow:0 16px 36px rgba(44,42,40,.14); padding:10px; display:flex; flex-direction:column; min-width:230px; z-index:30; }
.nav-summary { display:flex; align-items:center; gap:5px; color:var(--ink-2); font-size:17px; font-weight:500; white-space:nowrap; }
.nav-summary-active { display:flex; align-items:center; gap:5px; color:var(--navy); font-size:17px; font-weight:700; white-space:nowrap; }

/* ===== Links ===== */

.footer-link { color:var(--muted-3); text-decoration:none; font-size:16px; transition:color .4s var(--ease); }
.footer-link:hover { color:var(--cream); }
.footer-link-2 { color:var(--muted-3); text-decoration:none; transition:color .4s var(--ease); }
.footer-link-2:hover { color:var(--cream); }
.footer-link-3 { color:var(--muted-3); text-decoration:none; font-size:16px; overflow-wrap:anywhere; transition:color .4s var(--ease); }
.footer-link-3:hover { color:var(--cream); }
.link-ul { font-size:16px; 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:3px; transition:background-position .5s var(--ease),color .4s var(--ease); }
.link-ul:hover { background-position:10px 100%; color:var(--red); }
.link-ul-3 { 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:3px; align-self:flex-start; transition:background-position .5s var(--ease),color .4s var(--ease); }
.link-ul-3:hover { background-position:10px 100%; color:var(--red); }
.link-ul-light { margin-top:auto; align-self:flex-start; font-size:15px; font-weight:700; color:var(--cream); text-decoration:none; background-image:linear-gradient(rgba(251,250,248,.5),rgba(251,250,248,.5)); 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-light:hover { background-position:10px 100%; color:var(--cream); }
.link-back { display:inline-flex; align-items:center; gap:6px; font-size:14px; font-weight:600; color:var(--muted); text-decoration:none; transition:color .35s var(--ease); }
.link-back:hover { color:var(--navy); }

/* ===== Misc ===== */

.bg { background:var(--navy); color:var(--cream); }
.bg-10 { background:var(--sand); border-bottom:1px solid rgba(44,42,40,.07); }
.bg-11 { background:var(--sand); border-top:1px solid rgba(44,42,40,.1); border-bottom:1px solid rgba(44,42,40,.1); }
.bg-13 { background:var(--navy); color:var(--cream); text-align:center; }
.bg-15 { background:var(--sand); border-bottom:1px solid rgba(44,42,40,.1); position:relative; overflow:hidden; }
.bg-16 { background:var(--sand); border-bottom:1px solid rgba(44,42,40,.1); }
.bg-17 { background:var(--sand); border-top:1px solid rgba(44,42,40,.07); border-bottom:1px solid rgba(44,42,40,.07); }
.bg-19 { background:white; border-radius:12px; padding:30px; text-align:center; }
.bg-2 { background:var(--cream); color:var(--ink); }
.bg-20 { background:var(--navy); color:var(--cream); position:relative; overflow:hidden; }
.bg-21 { background:var(--cream); border-bottom:1px solid rgba(44,42,40,.1); scroll-margin-top:24px; }
.bg-22 { background:var(--sand); border-radius:16px; padding:40px; box-sizing:border-box; }
.bg-3 { background:var(--ink); color:var(--muted-3); position:relative; overflow:hidden; }
.bg-4 { background:white; border:1px solid rgba(44,42,40,.08); border-radius:14px; padding:24px 22px; transition:transform .5s var(--ease),box-shadow .5s var(--ease); }
.bg-4:hover { transform:translateY(-4px); box-shadow:0 20px 44px -14px rgba(30,89,121,.24); }
.bg-5 { background:var(--sand); border-top:1px solid rgba(44,42,40,.07); }
.bg-6 { background:var(--sand); border-top:1px solid rgba(44,42,40,.1); }
.bg-7 { background:var(--sand); }
.bg-8 { background:var(--navy); color:var(--cream); text-align:center; position:relative; overflow:hidden; }
.bg-9 { background:linear-gradient(160deg,#1A4F6C 0%,var(--navy) 55%,#236687 100%); color:var(--cream); position:relative; overflow:hidden; }
.box { min-width:0; }
.box-10 { border-top:1px solid rgba(44,42,40,.14); padding:20px 0; }
.box-11 { width:9px; height:9px; border:1.4px solid var(--cream); border-radius:4px; position:relative; display:block; }
.box-12 { height:68px; width:auto; }
.box-13 { display:none; }
.box-14 { flex:1 1 300px; min-width:0; max-width:400px; }
.box-15 { height:60px; width:auto; margin-bottom:22px; display:block; }
.box-16 { width:12px; height:12px; border:1.6px solid currentColor; border-radius:5px; position:relative; display:block; }
.box-18 { border-bottom:1px solid rgba(44,42,40,.1); }
.box-19 { border-top:2px solid var(--blue); padding-top:20px; }
.box-2 { position:relative; }
.box-20 { width:26px; height:1px; background:var(--red); }
.box-22 { border-top:2px solid var(--blue); padding-top:24px; }
.box-23 { scroll-margin-top:24px; margin-bottom:44px; }
.box-26 { width:48px; height:2px; background:var(--red); margin:34px auto 0; }
.box-27 { position:relative; overflow:hidden; }
.box-28 { position:relative; height:500px; border-radius:20px; overflow:hidden; box-shadow:0 40px 90px -28px rgba(30,89,121,.42); animation:lc-rise-img 1.1s var(--ease) .2s both; }
.box-29 { width:100%; height:320px; }
.box-3 { max-width:85%; max-height:85%; object-fit:contain; }
.box-30 { width:48px; height:2px; background:var(--red); }
.box-31 { border-top:1px solid rgba(44,42,40,.12); }
.box-32 { border-top:2px solid var(--red); padding-top:24px; }
.box-33 { max-width:960px; margin:0 auto; padding:88px 56px; box-sizing:border-box; text-align:center; }
.box-34 { display:block; font-size:13px; font-weight:600; color:var(--ink); margin-bottom:7px; }
.box-35 { text-decoration:none; display:block; transition:transform .4s var(--ease); }
.box-35:hover { transform:translateY(-2px); }
.box-36 { padding:0 22px; border-right:1px solid rgba(44,42,40,.1); }
.box-37 { width:90px; height:90px; flex-shrink:0; border-radius:8px; background:var(--sand); }
.box-38 { height:88px; width:auto; max-width:100%; object-fit:contain; display:block; }
.box-39 { width:90px; height:90px; flex-shrink:0; border-radius:8px; background:var(--sand-3); }
.box-4 { padding:16px; }
.box-40 { width:90px; height:90px; flex-shrink:0; border-radius:8px; background:#D9D3C7; }
.box-41 { width:90px; height:90px; flex-shrink:0; border-radius:8px; background:var(--muted-3); }
.box-42 { width:38px; height:38px; border-radius:9999px; border:1px solid var(--blue); background:transparent; color:var(--blue); font-size:14px; font-weight:600; cursor:pointer; }
.box-42:hover { background:var(--blue-tint); }
.box-44 { width:100%; box-sizing:border-box; padding:13px 14px; border-radius:8px; border:1px solid rgba(44,42,40,.18); font-size:15px; font-family:inherit; }
.box-45 { padding-left:22px; }
.box-46 { width:8px; height:8px; border-radius:9999px; background:var(--green); }
.box-47 { font-style:italic; color:var(--blue-pale); }
.box-48 { grid-column:1 / -1; height:1px; background:rgba(44,42,40,.15); margin:14px 0 4px; }
.box-49 { padding-right:22px; border-right:1px solid rgba(44,42,40,.1); }
.box-5 { width:100%; height:280px; border-radius:12px; object-fit:cover; display:block; }
.box-50 { height:34px; width:auto; max-width:100%; object-fit:contain; display:block; }
.box-51 { height:50px; width:auto; max-width:100%; object-fit:contain; display:block; }
.box-52 { height:44px; width:auto; max-width:100%; object-fit:contain; display:block; }
.box-53 { width:100%; min-width:0; max-width:528px; }
.box-54 { border-bottom:1px solid rgba(44,42,40,.08); }
.box-57 { width:17px; height:17px; margin:2px 0 0; flex-shrink:0; accent-color:var(--red); cursor:pointer; }

/* ===== Form flash messages ===== */

.lc-flash { display:flex; align-items:flex-start; gap:12px; border-radius:12px; border-left:4px solid transparent; padding:16px 20px; margin:0 0 24px; font-size:14.5px; line-height:1.55; animation:lc-flash-in .4s var(--ease) both; }
.lc-flash-success { background:var(--green-tint); border-left-color:var(--green); color:var(--ink); }
.lc-flash-danger { background:var(--red-tint); border-left-color:var(--red); color:var(--ink); }
.lc-flash-icon { flex-shrink:0; width:20px; height:20px; margin-top:1px; }
.lc-flash-success .lc-flash-icon { color:var(--green); }
.lc-flash-danger .lc-flash-icon { color:var(--red); }
.lc-flash-body { min-width:0; }
.lc-flash-title { display:block; font-weight:600; margin-bottom:2px; }
.lc-flash-text { margin:0; }
.lc-flash-list { margin:6px 0 0; padding-left:18px; }
@keyframes lc-flash-in { from { opacity:0; transform:translateY(-6px); } to { opacity:1; transform:translateY(0); } }
.box-59 { display:block; overflow:visible; }
.box-6 { display:block; background:var(--cream); border-radius:4px; padding:4px; transition:opacity .4s var(--ease); }
.box-6:hover { opacity:.85; }
.box-63 { width:100%; height:460px; border-radius:14px; object-fit:cover; object-position:50.00% 50.00%; display:block; }
.box-68 { border-bottom:1px solid rgba(44,42,40,.07); }
.box-7 { height:38px; width:auto; display:block; }
.box-70 { position:relative; width:100%; aspect-ratio:16/9; border-radius:18px; overflow:hidden; background:var(--ink); box-shadow:0 40px 90px -30px rgba(30,89,121,.4); }
.box-71 { border-top:1px solid rgba(44,42,40,.12); padding:22px 0; }
.box-73 { position:relative; width:100%; aspect-ratio:16/9; border-radius:14px; overflow:hidden; background:var(--ink); box-shadow:0 14px 40px rgba(44,42,40,.18); }
.box-74 { border-top:1px solid rgba(44,42,40,.14); }
.box-75 { border-bottom:1px solid rgba(44,42,40,.14); }
.box-76 { padding:0 0 34px; }
.box-78 { width:100%; max-width:460px; justify-self:center; }
.box-79 { width:100%; box-sizing:border-box; padding:13px 14px; border-radius:8px; border:1px solid rgba(44,42,40,.18); font-size:15px; font-family:inherit; resize:vertical; }
.box-8 { border-radius:14px; overflow:hidden; }
.box-80 { align-self:flex-start; background:var(--red); color:white; padding:14px 30px; border-radius:9999px; font-size:15px; font-weight:600; font-family:inherit; border:none; cursor:pointer; margin-top:6px; transition:background-color .45s var(--ease),transform .45s var(--ease),box-shadow .45s var(--ease); }
.box-80:hover { background:var(--red-dark); transform:translateY(-2px); box-shadow:0 10px 26px rgba(225,27,70,.26); }
.box-9 { width:100%; height:260px; object-fit:cover; display:block; filter:saturate(.92); transition:filter .5s var(--ease),transform .6s var(--ease); }
.box-9:hover { filter:saturate(1); transform:scale(1.03); }
.c-2 { color:var(--red); }
.c-3 { color:var(--cream); text-decoration:none; font-size:21px; font-weight:600; letter-spacing:-.01em; transition:color .4s var(--ease); }
.c-3:hover { color:var(--blue-pale); }
.c-4 { color:var(--ink-2); text-decoration:none; white-space:nowrap; font-weight:500; }
.c-4:hover { color:var(--blue); }
.c-5 { color:var(--navy); }
.c-6 { color:var(--navy); text-decoration:none; font-weight:600; }
.c-7 { color:var(--blue); }
.c-8 { color:var(--navy); text-decoration:none; white-space:nowrap; font-weight:700; }
.c-8:hover { color:var(--blue); }
.c-9 { color:inherit; text-decoration:none; transition:color .4s var(--ease); }
.c-9:hover { color:var(--blue-pale); }
.lang-switch { color:inherit; text-decoration:none; transition:color .4s var(--ease); }
.lang-switch:hover { color:var(--blue-pale); }

/* ===== Top bar & social ===== */

.social-dot { width:20px; height:20px; border-radius:9999px; border:1px solid rgba(251,250,248,.5); display:flex; align-items:center; justify-content:center; color:var(--cream); text-decoration:none; transition:color .4s var(--ease),border-color .4s var(--ease); }
.social-dot:hover { border-color:var(--cream); color:var(--blue-pale); }
.social-dot-footer { width:28px; height:28px; border-radius:9999px; border:1px solid rgba(201,195,186,.5); display:flex; align-items:center; justify-content:center; color:var(--muted-3); text-decoration:none; }
.social-dot-footer:hover { color:var(--cream); border-color:var(--cream); }
.topbar-inner { max-width:1440px; margin:0 auto; padding:9px 56px; box-sizing:border-box; display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; column-gap:24px; row-gap:6px; font-size:13px; letter-spacing:.02em; }

/* ===== Layout wrappers ===== */

.abs { position:absolute; top:50%; left:50%; width:3.5px; height:3.5px; border:1px solid var(--cream); border-radius:9999px; transform:translate(-50%,-50%); }
.abs-2 { position:absolute; top:50%; left:50%; width:4px; height:4px; border:1.2px solid currentColor; border-radius:9999px; transform:translate(-50%,-50%); }
.abs-3 { position:absolute; top:0; left:0; width:6px; height:100%; background:var(--red); pointer-events:none; }
.abs-4 { position:absolute; top:24px; left:0; right:0; height:1px; background:rgba(163,208,232,.28); z-index:0; }
.abs-5 { position:absolute; top:0; left:0; width:6px; height:100%; background:var(--red); }
.abs-6 { position:absolute; top:28px; left:28px; display:flex; align-items:center; gap:10px; background:rgba(251,250,248,.95); padding:9px 16px 9px 12px; border-radius:9999px; box-shadow:0 8px 20px rgba(30,89,121,.2); }
.abs-7 { position:absolute; left:32px; right:32px; bottom:100px; }
.abs-8 { position:absolute; left:0; right:0; bottom:0; display:flex; }
.abs-9 { position:absolute; top:20px; left:0; right:0; height:1px; background:rgba(44,42,40,.15); z-index:0; }
.col { background:white; border:1px solid rgba(44,42,40,.1); border-radius:14px; padding:30px; display:flex; flex-direction:column; }
.col-12 { display:flex; flex-direction:column; gap:12px; }
.col-13 { background:var(--blue-pale); border-radius:16px; padding:32px; display:flex; flex-direction:column; justify-content:space-between; color:var(--navy); }
.col-16 { display:flex; flex-direction:column; gap:16px; }
.col-18 { position:relative; z-index:1; display:flex; flex-direction:column; gap:18px; }
.col-2 { background:rgba(251,250,248,.03); border:1px solid rgba(163,208,232,.22); border-radius:16px; padding:32px; display:flex; flex-direction:column; transition:transform .5s var(--ease),border-color .5s var(--ease),background-color .5s var(--ease); }
.col-2:hover { transform:translateY(-4px); border-color:rgba(163,208,232,.6); background:rgba(251,250,248,.07); }
.col-20 { position:relative; z-index:1; display:flex; flex-direction:column; gap:20px; }
.col-22 { display:flex; flex-direction:column; gap:22px; padding-top:56px; border-left:2px solid var(--red); padding-left:36px; }
.col-3 { display:flex; flex-direction:column; }
.col-8 { margin:0 0 18px; padding-left:20px; max-width:760px; display:flex; flex-direction:column; gap:8px; }
.col-8-2 { display:flex; flex-direction:column; gap:8px; min-width:280px; flex:0 1 340px; }
.grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:stretch; }
.grid-10 { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:20px; background:var(--navy); color:var(--cream); padding:12px 18px; border-radius:6px 6px 0 0; font-size:12px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
.grid-2 { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.grid-3 { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px; }
.grid-3-2 { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.grid-3-3 { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; }
.grid-3-4 { display:grid; grid-template-columns:repeat(3,1fr); column-gap:24px; row-gap:28px; }
.grid-4 { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:36px; position:relative; }
.grid-4-2 { display:grid; grid-template-columns:repeat(4,1fr); gap:26px; }
.grid-4-3 { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.grid-5 { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:24px; }
.grid-5-2 { display:grid; grid-template-columns:repeat(5,1fr); }
.grid-5-3 { display:grid; grid-template-columns:repeat(5,1fr); gap:28px; position:relative; }
.grid-6 { width:100%; max-width:528px; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); column-gap:26px; row-gap:34px; }
.grid-9 { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.grid-fit { flex:1.6 1 460px; min-width:0; display:grid; grid-template-columns:repeat(auto-fit,minmax(170px,1fr)); gap:32px 36px; }
.overlay { position:absolute; inset:0; background:radial-gradient(ellipse 55% 75% at 6% 0%,rgba(81,166,212,.13),transparent 62%); pointer-events:none; }
.overlay-2 { position:absolute; inset:0; background:radial-gradient(ellipse 45% 70% at 92% 30%,rgba(163,208,232,.28),transparent 70%); pointer-events:none; }
.overlay-3 { position:absolute; inset:0; background:radial-gradient(ellipse 50% 80% at 50% 120%,rgba(81,166,212,.3),transparent 70%); pointer-events:none; }
.overlay-4 { position:absolute; inset:0; width:100%; height:100%; }
.overlay-5 { position:absolute; inset:0; background:radial-gradient(ellipse 50% 60% at 90% 0%,rgba(81,166,212,.28),transparent 70%); pointer-events:none; }
.overlay-6 { position:absolute; inset:0; background:linear-gradient(200deg,rgba(30,89,121,.05) 40%,rgba(30,89,121,.75) 100%); }
.overlay-7 { position:absolute; inset:0; width:100%; height:100%; border:0; display:block; }
.overlay-8 { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; filter:saturate(.85); }
.row { height:180px; background:var(--sand-2); display:flex; align-items:center; justify-content:center; }
.row-10 { display:flex; gap:10px; flex-wrap:wrap; }
.row-10-2 { display:flex; gap:10px; align-items:center; }
.row-10-4 { flex:1; padding:22px 18px; display:flex; align-items:center; gap:10px; border-right:1px solid rgba(251,250,248,.25); }
.row-10-5 { display:flex; gap:10px; margin-top:22px; border-top:1px solid rgba(44,42,40,.14); padding-top:22px; }
.row-10-8 { flex:1; padding:22px 18px; display:flex; align-items:center; gap:10px; }
.row-11 { display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:38px; }
.row-11-2 { display:flex; align-items:flex-start; gap:11px; margin-top:4px; cursor:pointer; }
.row-12 { display:flex; gap:12px; align-items:center; }
.row-12-2 { display:flex; flex-wrap:wrap; gap:12px; animation:lc-rise .9s var(--ease) .28s both; }
.row-12-3 { display:flex; align-items:baseline; gap:12px; }
.row-12-4 { display:flex; flex-wrap:wrap; gap:12px; }
.row-12-6 { width:100%; display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:12px 20px; background:none; border:0; padding:24px 4px; cursor:pointer; text-align:left; font-family:inherit; }
.row-13 { padding:64px 56px; min-width:0; box-sizing:border-box; display:flex; justify-content:flex-end; align-items:center; }
.row-14 { display:flex; gap:14px; align-items:center; flex-wrap:wrap; }
.row-14-2 { display:flex; gap:14px; justify-content:center; }
.row-14-3 { display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }
.row-14-4 { display:flex; gap:14px; align-items:center; }
.row-14-5 { display:flex; flex-wrap:wrap; align-items:center; gap:14px 20px; margin-top:30px; }
.row-15 { background:var(--navy); padding:64px 56px; min-width:0; box-sizing:border-box; display:flex; align-items:center; }
.row-16 { display:flex; gap:16px; align-items:flex-start; background:white; border:1px solid rgba(44,42,40,.08); border-radius:14px; padding:22px 24px; transition:transform .5s var(--ease),box-shadow .5s var(--ease); }
.row-16:hover { transform:translateY(-3px); box-shadow:0 20px 40px -16px rgba(30,89,121,.22); }
.row-16-2 { display:flex; gap:16px; }
.row-17 { display:flex; justify-content:space-between; font-size:17px; font-weight:600; color:var(--ink); }
.row-18 { display:flex; gap:18px; align-items:flex-start; padding:22px 0; border-top:1px solid rgba(44,42,40,.12); }
.row-18-2 { display:flex; gap:18px; align-items:center; opacity:.85; }
.row-19 { min-height:104px; display:flex; align-items:center; border-left:2px solid var(--red); padding-left:32px; }
.row-2 { display:flex; align-items:center; flex-shrink:0; }
.row-20 { display:flex; gap:20px; font-size:17px; font-weight:500; color:var(--ink-2); }
.row-20-2 { display:flex; align-items:center; gap:20px; margin-top:30px; padding-top:22px; border-top:1px solid rgba(163,208,232,.28); }
.row-20-3 { 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; padding-bottom:8px; margin:0 -56px; padding-left:56px; padding-right:56px; cursor:grab; }
.row-21 { display:flex; justify-content:space-between; align-items:center; margin-bottom:38px; }
.row-22 { display:flex; gap:22px; align-items:center; }
.row-22-2 { border-top:1px solid rgba(44,42,40,.12); padding-top:24px; display:flex; gap:22px; flex-wrap:wrap; font-size:15px; }
.row-23 { display:flex; justify-content:space-between; font-size:17px; font-weight:600; color:var(--ink); list-style:none; cursor:pointer; }
.row-24 { display:flex; justify-content:space-between; align-items:center; gap:24px; flex-wrap:wrap; padding:20px 0 30px; font-size:14px; color:var(--muted-2); border-top:1px solid rgba(251,250,248,.08); }
.row-24-3 { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:flex-end; gap:24px; margin-bottom:30px; }
.row-25 { width:52px; height:52px; border-radius:9999px; background:var(--blue-tint); display:flex; align-items:center; justify-content:center; margin-bottom:18px; }
.row-26 { display:flex; gap:26px; flex-wrap:wrap; font-size:14px; }
.row-26-2 { 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; padding-bottom:8px; margin:0 -56px; padding-left:56px; padding-right:56px; cursor:grab; }
.row-27 { width:52px; height:52px; border-radius:9999px; background:var(--red-tint); display:flex; align-items:center; justify-content:center; margin-bottom:18px; }
.row-28 { width:52px; height:52px; border-radius:9999px; background:var(--green-tint); display:flex; align-items:center; justify-content:center; margin-bottom:18px; }
.row-3 { width:30px; height:21px; border-radius:6px; background:var(--muted-3); display:flex; align-items:center; justify-content:center; text-decoration:none; }
.row-3:hover { background:var(--cream); }
.row-31 { position:relative; height:440px; border-radius:14px; overflow:hidden; display:flex; align-items:center; justify-content:center; }
.row-32 { display:flex; justify-content:space-between; align-items:center; gap:32px; flex-wrap:wrap; padding:24px 0; border-top:1px solid rgba(251,250,248,.14); }
.row-32-2 { 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; cursor:grab; scrollbar-width:none; }
.row-34 { display:flex; gap:34px; margin-top:46px; padding-top:26px; border-top:1px solid rgba(44,42,40,.1); }
.row-4 { display:flex; align-items:center; justify-content:center; height:96px; text-decoration:none; opacity:.85; }
.row-4:hover { opacity:1; }
.row-40 { display:flex; justify-content:space-between; align-items:flex-end; gap:40px; margin-bottom:44px; flex-wrap:wrap; }
.row-44 { display:flex; flex-wrap:wrap; align-items:flex-start; gap:44px 64px; padding:64px 0 48px; }
.row-5 { display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:34px; }
.row-56 { display:flex; justify-content:center; gap:56px; flex-wrap:wrap; align-items:center; }
.row-7 { display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:40px; }
.row-7-2 { display:flex; gap:7px; align-items:center; }
.row-8 { display:flex; gap:8px; align-items:center; }
.row-8-2 { display:flex; flex-wrap:wrap; align-items:baseline; gap:8px 14px; }
.sticky { position:sticky; top:32px; }
.sticky-2 { position:sticky; top:24px; }
.wrap-32 { max-width:1440px; margin:0 auto; padding:32px 56px 60px; box-sizing:border-box; display:grid; grid-template-columns:minmax(0,1.7fr) minmax(300px,1fr); gap:64px; align-items:center; }
.wrap-44 { max-width:1440px; margin:0 auto; padding:44px 56px; box-sizing:border-box; }
.wrap-48-2 { max-width:1440px; margin:0 auto; padding:48px 56px 72px; box-sizing:border-box; display:grid; grid-template-columns:minmax(0,.28fr) minmax(0,.72fr); gap:56px; align-items:start; }
.wrap-56 { max-width:1440px; margin:0 auto; padding:56px; box-sizing:border-box; display:grid; grid-template-columns:.25fr .75fr; column-gap:40px; row-gap:26px; }
.wrap-60 { max-width:1440px; margin:0 auto; padding:60px 56px 44px; box-sizing:border-box; }
.wrap-64 { max-width:1440px; margin:0 auto; padding:64px 56px 84px; box-sizing:border-box; display:grid; grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr); gap:64px; align-items:center; position:relative; }
.wrap-64-2 { max-width:1440px; margin:0 auto; padding:64px 56px 56px; box-sizing:border-box; position:relative; }
.wrap-64-3 { max-width:1440px; margin:0 auto; padding:64px 56px 60px; box-sizing:border-box; position:relative; display:grid; grid-template-columns:minmax(0,1.55fr) minmax(300px,1fr); gap:56px; align-items:center; }
.wrap-66 { max-width:1440px; margin:0 auto; padding:66px 56px; box-sizing:border-box; display:grid; grid-template-columns:.36fr .64fr; gap:40px; }
.wrap-66-2 { max-width:1440px; margin:0 auto; padding:66px 56px; box-sizing:border-box; }
.wrap-70 { max-width:1440px; margin:0 auto; padding:70px 56px; box-sizing:border-box; }
.wrap-70-2 { max-width:1440px; margin:0 auto; padding:70px 56px; box-sizing:border-box; display:grid; grid-template-columns:.36fr .64fr; gap:48px; align-items:center; }
.wrap-70-3 { max-width:1440px; margin:0 auto; padding:70px 56px; box-sizing:border-box; display:grid; grid-template-columns:.32fr .68fr; gap:40px; }
.wrap-72 { max-width:1440px; margin:0 auto; padding:72px 56px; box-sizing:border-box; display:grid; grid-template-columns:.42fr .58fr; gap:48px; align-items:center; }
.wrap-76 { max-width:1440px; margin:0 auto; padding:76px 56px 68px; box-sizing:border-box; display:grid; grid-template-columns:minmax(0,560px) minmax(340px,1fr); gap:56px; align-items:center; }
.wrap-78 { max-width:1440px; margin:0 auto; padding:78px 56px; box-sizing:border-box; }
.wrap-78-2 { max-width:1440px; margin:0 auto; padding:78px 56px; box-sizing:border-box; display:grid; grid-template-columns:.46fr .54fr; gap:56px; align-items:start; }
.wrap-88 { max-width:1440px; margin:0 auto; padding:88px 56px; box-sizing:border-box; }
.wrap-88-2 { max-width:1440px; margin:0 auto; padding:88px 56px; box-sizing:border-box; display:grid; grid-template-columns:.36fr .64fr; gap:40px; }
.wrap-92 { max-width:1440px; margin:0 auto; padding:92px 56px; box-sizing:border-box; }
.wrap-92-2 { max-width:1440px; margin:0 auto; padding:92px 56px; box-sizing:border-box; display:grid; grid-template-columns:minmax(0,.38fr) minmax(0,.62fr); gap:56px; align-items:start; }
.wrap-92-3 { max-width:1440px; margin:0 auto; padding:92px 56px; box-sizing:border-box; display:grid; grid-template-columns:minmax(0,.34fr) minmax(0,.66fr); gap:64px; align-items:start; }
.wrap-92-4 { max-width:1440px; margin:0 auto; padding:92px 56px; box-sizing:border-box; display:grid; grid-template-columns:.36fr .64fr; gap:48px; align-items:center; }
.wrap-96 { max-width:1440px; margin:0 auto; padding:96px 56px; box-sizing:border-box; position:relative; }
.wrap-96-2 { max-width:1440px; margin:0 auto; padding:96px 56px; box-sizing:border-box; display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:72px; align-items:stretch; position:relative; }
.wrap-flush { max-width:1440px; margin:0 auto; padding:0 56px; box-sizing:border-box; position:relative; }

/* ===== Serif type ===== */

.serif { font-family:var(--serif); font-weight:300; letter-spacing:-.015em; font-size:clamp(24px,3vw,38px); line-height:1.15; letter-spacing:-.01em; color:var(--cream); text-shadow:0 2px 18px rgba(30,89,121,.45); text-wrap:pretty; overflow-wrap:break-word; }
.serif-15 { font-family:var(--serif); font-size:15px; color:var(--red); flex-shrink:0; width:28px; padding-top:4px; }
.serif-15-2 { font-family:var(--serif); font-size:15px; color:var(--red); margin-bottom:12px; }
.serif-15-3 { font-family:var(--serif); font-size:15px; color:var(--red); margin-bottom:8px; }
.serif-15-4 { font-family:var(--serif); font-size:15px; color:var(--blue-pale); letter-spacing:.06em; white-space:nowrap; }
.serif-16 { font-family:var(--serif); font-weight:300; letter-spacing:-.015em; font-size:16px; line-height:1.35; margin:0; color:var(--ink); }
.serif-16-2 { font-family:var(--serif); font-weight:400; font-size:16px; line-height:1.35; margin:0; color:var(--ink); }
.serif-17 { width:40px; height:40px; flex-shrink:0; border-radius:9999px; background:var(--blue); color:var(--cream); display:flex; align-items:center; justify-content:center; font-family:var(--serif); font-size:17px; }
.serif-17-2 { width:40px; height:40px; flex-shrink:0; border-radius:9999px; background:var(--red); color:white; display:flex; align-items:center; justify-content:center; font-family:var(--serif); font-size:17px; }
.serif-18 { font-family:var(--serif); font-size:18px; margin-top:14px; color:var(--ink); }
.serif-18-2 { width:48px; height:48px; flex-shrink:0; border-radius:9999px; background:var(--blue); display:flex; align-items:center; justify-content:center; font-family:var(--serif); font-size:18px; color:var(--cream); box-shadow:0 12px 26px -10px rgba(81,166,212,.65); }
.serif-18-3 { width:48px; height:48px; flex-shrink:0; border-radius:9999px; background:var(--red); display:flex; align-items:center; justify-content:center; font-family:var(--serif); font-size:18px; color:var(--cream); box-shadow:0 12px 26px -10px rgba(225,27,70,.6); }
.serif-18-4 { width:50px; height:50px; border-radius:9999px; background:var(--blue); box-shadow:0 12px 26px -10px rgba(81,166,212,.6); color:var(--cream); display:flex; align-items:center; justify-content:center; font-family:var(--serif); font-size:18px; margin-bottom:18px; }
.serif-18-5 { width:44px; height:44px; border-radius:9999px; background:var(--blue); color:var(--cream); display:flex; align-items:center; justify-content:center; font-family:var(--serif); font-size:18px; margin-bottom:18px; }
.serif-18-6 { width:50px; height:50px; border-radius:9999px; background:var(--red); box-shadow:0 12px 26px -10px rgba(225,27,70,.55); color:white; display:flex; align-items:center; justify-content:center; font-family:var(--serif); font-size:18px; margin-bottom:18px; }
.serif-18-7 { width:44px; height:44px; border-radius:9999px; background:var(--red); color:white; display:flex; align-items:center; justify-content:center; font-family:var(--serif); font-size:18px; margin-bottom:18px; }
.serif-19 { font-family:var(--serif); font-size:19px; line-height:1.35; color:var(--ink); padding-top:7px; text-wrap:pretty; }
.serif-19-2 { font-family:var(--serif); font-size:19px; margin-top:16px; color:var(--ink); }
.serif-19-3 { font-family:var(--serif); font-size:19px; color:var(--blue); }
.serif-19-i { font-family:var(--serif); font-style:italic; font-size:19px; color:var(--green); margin-bottom:20px; letter-spacing:.02em; }
.serif-2 { font-family:var(--serif); font-weight:400; font-size:clamp(24px,3vw,38px); line-height:1.15; letter-spacing:-.01em; color:var(--cream); text-shadow:0 2px 18px rgba(30,89,121,.45); text-wrap:pretty; overflow-wrap:break-word; }
.serif-20 { font-family:var(--serif); font-size:20px; color:var(--blue-pale); margin-bottom:16px; }
.serif-20-3 { font-family:var(--serif); font-size:20px; color:var(--navy); margin-bottom:8px; }
.serif-21 { font-family:var(--serif); font-weight:400; font-size:21px; line-height:1.35; color:var(--ink); text-wrap:pretty; }
.serif-22-2 { font-family:var(--serif); font-size:22px; line-height:1.25; }
.serif-23-2 { font-family:var(--serif); font-weight:300; font-size:23px; line-height:1.5; color:var(--ink); margin:0 0 22px; max-width:860px; text-wrap:pretty; }
.serif-23-3 { font-family:var(--serif); font-size:23px; color:var(--ink); }
.serif-24 { font-family:var(--serif); font-weight:400; font-size:24px; line-height:1.25; letter-spacing:-.01em; margin:0 0 12px; color:var(--ink); }
.serif-24-2 { font-family:var(--serif); font-weight:300; font-size:24px; line-height:1.45; color:var(--cream); margin:0; text-wrap:pretty; }
.serif-26 { font-family:var(--serif); font-weight:400; font-size:26px; line-height:1.25; margin:0 0 16px; color:var(--ink); text-wrap:pretty; }
.serif-26-i { font-family:var(--serif); font-style:italic; font-size:26px; line-height:1.5; color:var(--cream); }
.serif-27 { font-family:var(--serif); font-weight:300; font-size:27px; line-height:1.2; letter-spacing:-.015em; margin:0 0 18px; color:var(--bone); text-wrap:pretty; }
.serif-27-i { font-family:var(--serif); font-weight:400; font-style:italic; font-size:27px; line-height:1.3; color:var(--navy); margin:0 0 26px; max-width:560px; text-wrap:pretty; animation:lc-rise .9s var(--ease) .14s both; }
.serif-28-i { font-family:var(--serif); font-style:italic; font-weight:300; font-size:28px; line-height:1.45; letter-spacing:-.005em; color:var(--cream); }
.serif-30 { font-family:var(--serif); font-size:30px; color:var(--blue); }
.serif-32 { font-family:var(--serif); font-weight:300; font-size:32px; line-height:1.35; letter-spacing:-.015em; color:var(--navy); margin:18px 0 0; text-wrap:pretty; }
.serif-34 { font-family:var(--serif); font-weight:400; font-size:34px; margin:0 0 24px; color:var(--ink); line-height:1.15; }
.serif-34-3 { font-family:var(--serif); font-weight:300; letter-spacing:-.015em; font-size:34px; margin:0 0 24px; color:var(--ink); line-height:1.15; }
.serif-36 { font-family:var(--serif); font-weight:400; font-size:36px; margin:0 0 38px; color:var(--ink); }
.serif-36-2 { font-family:var(--serif); font-weight:300; letter-spacing:-.015em; font-size:36px; line-height:1.2; margin:0 0 18px; color:var(--ink); text-wrap:pretty; }
.serif-36-3 { font-family:var(--serif); font-weight:400; font-size:36px; line-height:1.2; margin:0 0 18px; color:var(--ink); text-wrap:pretty; }
.serif-36-4 { font-family:var(--serif); font-weight:400; font-size:36px; margin:0 0 14px; color:var(--ink); text-wrap:pretty; }
.serif-36-5 { font-family:var(--serif); font-weight:400; font-size:36px; margin:0; color:var(--ink); }
.serif-36-6 { font-family:var(--serif); font-weight:400; font-size:36px; margin:0 0 44px; color:var(--ink); }
.serif-38 { font-family:var(--serif); font-weight:300; letter-spacing:-.015em; font-size:38px; margin:0; color:var(--ink); }
.serif-38-2 { font-family:var(--serif); font-weight:400; font-size:38px; margin:0; color:var(--ink); }
.serif-38-4 { font-family:var(--serif); font-weight:400; font-size:38px; margin:0 0 38px; color:var(--ink); }
.serif-38-5 { font-family:var(--serif); font-weight:300; letter-spacing:-.015em; font-size:38px; margin:0 0 40px; color:var(--ink); }
.serif-38-6 { font-family:var(--serif); font-weight:400; font-size:38px; margin:0 0 40px; color:var(--ink); }
.serif-40 { font-family:var(--serif); font-weight:300; font-size:40px; letter-spacing:-.015em; margin:0 0 48px; color:var(--bone); }
.serif-40-2 { font-family:var(--serif); font-weight:300; letter-spacing:-.015em; font-size:40px; margin:0; color:var(--bone); }
.serif-40-3 { font-family:var(--serif); font-weight:400; font-size:40px; line-height:1.15; margin:0; color:var(--bone); }
.serif-42 { font-family:var(--serif); font-weight:300; font-size:42px; line-height:1.12; letter-spacing:-.018em; margin:0 0 40px; color:var(--bone); text-wrap:pretty; }
.serif-42-2 { font-family:var(--serif); font-weight:300; font-size:42px; line-height:1.1; letter-spacing:-.018em; margin:0 0 22px; color:var(--ink); text-wrap:pretty; }
.serif-42-3 { font-family:var(--serif); font-weight:300; font-size:42px; line-height:1.12; letter-spacing:-.018em; margin:0 0 52px; color:var(--ink); max-width:820px; text-wrap:pretty; }
.serif-42-4 { font-family:var(--serif); font-weight:300; font-size:42px; line-height:1.1; letter-spacing:-.018em; margin:0 0 26px; color:var(--ink); text-wrap:pretty; }
.serif-42-5 { font-family:var(--serif); font-weight:300; font-size:42px; letter-spacing:-.018em; line-height:1.1; margin:0 0 18px; color:var(--ink); }
.serif-42-6 { font-family:var(--serif); font-weight:400; font-size:42px; margin:0 auto 30px; max-width:640px; line-height:1.15; }
.serif-44 { font-family:var(--serif); font-weight:300; font-size:44px; line-height:.9; letter-spacing:-.03em; color:var(--red); margin-bottom:22px; }
.serif-44-2 { font-family:var(--serif); font-weight:400; font-size:44px; line-height:1.1; letter-spacing:-.01em; margin:0 0 16px; color:var(--ink); max-width:820px; text-wrap:pretty; }
.serif-44-3 { font-family:var(--serif); font-weight:400; font-size:44px; line-height:1.1; letter-spacing:-.01em; margin:0 0 22px; color:var(--ink); }
.serif-46 { font-family:var(--serif); font-weight:400; font-size:46px; line-height:1.1; letter-spacing:-.01em; margin:0 0 20px; color:var(--ink); }
.serif-46-2 { font-family:var(--serif); font-weight:400; font-size:46px; margin:0 auto 30px; max-width:720px; line-height:1.1; }
.serif-52 { font-family:var(--serif); font-size:52px; color:var(--blue); line-height:1; }
.serif-54 { font-family:var(--serif); font-weight:300; font-size:54px; letter-spacing:-.02em; margin:0 auto 36px; max-width:820px; line-height:1.06; color:var(--bone); text-wrap:pretty; }
.serif-58 { font-family:var(--serif); font-weight:400; font-size:58px; line-height:1.05; letter-spacing:-.015em; margin:0 0 24px; color:var(--ink); }
.serif-64 { font-family:var(--serif); font-weight:300; font-size:64px; line-height:1; letter-spacing:-.03em; color:var(--blue); }
.serif-64-2 { font-family:var(--serif); font-weight:300; font-size:64px; line-height:1; letter-spacing:-.028em; margin:0 0 22px; color:var(--ink); text-wrap:pretty; animation:lc-rise .9s var(--ease) .08s both; }
.serif-64-3 { font-family:var(--serif); font-weight:300; font-size:64px; line-height:1; letter-spacing:-.028em; margin:0 0 22px; color:var(--ink); animation:lc-rise .9s var(--ease) .08s both; }

/* ===== Body type ===== */

.c { color:var(--ink-2); text-decoration:none; white-space:nowrap; }
.c:hover { color:var(--blue); }
.fw-600 { font-weight:600; }
.mw-660 { max-width:660px; }
.mw-760 { max-width:760px; }
.mw-800 { max-width:800px; }
.op-4 { opacity:.4; }
.op-5 { opacity:.5; }
.text-10 { font-family:Georgia,serif; font-size:10px; font-weight:700; line-height:1; }
.text-11 { font-size:11px; color:var(--red); letter-spacing:.06em; text-transform:uppercase; margin-bottom:6px; }
.text-11-2 { font-size:11px; line-height:1; }
.text-12 { font-family:Georgia,serif; font-size:12px; font-weight:700; line-height:1; }
.text-12_5 { font-size:12.5px; color:var(--muted); margin-top:2px; }
.text-12_5-2 { font-size:12.5px; font-weight:600; color:var(--ink); letter-spacing:.02em; }
.text-13 { font-size:13px; color:var(--muted); margin-top:3px; }
.text-13_5 { font-size:13.5px; color:var(--cream); font-weight:600; }
.text-13_5-2 { font-size:13.5px; line-height:1.6; color:var(--ink-2); }
.text-13-10 { font-size:13px; color:var(--muted); padding-left:20px; }
.text-13-11 { font-size:13px; color:var(--muted); }
.text-13-12 { font-size:13px; line-height:1.55; color:var(--muted); text-wrap:pretty; }
.text-13-2 { font-size:13px; font-weight:700; color:var(--muted-2); text-transform:uppercase; letter-spacing:.16em; margin-bottom:18px; }
.text-13-3 { font-size:13px; color:var(--muted); margin-top:3px; line-height:1.45; }
.text-13-4 { font-size:13px; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); }
.text-13-5 { font-size:13px; font-weight:600; color:var(--navy); margin-top:10px; }
.text-14 { font-size:14px; color:var(--blue-pale); margin-top:24px; font-weight:600; }
.text-14_5 { font-size:14.5px; font-weight:600; color:var(--ink); margin-bottom:6px; }
.text-14_5-2 { font-size:14.5px; line-height:1.6; color:var(--ink-2); margin:0; }
.text-14_5-3 { display:block; font-size:14.5px; line-height:1.45; color:var(--ink-2); text-decoration:none; padding:9px 0; border-top:1px solid rgba(44,42,40,.12); transition:color .4s var(--ease); }
.text-14_5-3:hover { color:var(--navy); }
.text-14_5-6 { font-size:14.5px; font-weight:600; line-height:1.4; color:var(--ink); text-wrap:pretty; }
.text-14-11 { text-align:center; font-size:14px; color:var(--muted); max-width:560px; margin:26px auto 0; line-height:1.6; }
.text-14-12 { font-size:14px; color:var(--muted); margin:0; }
.text-14-13 { font-size:14px; font-weight:700; color:var(--navy); white-space:nowrap; }
.text-14-2 { font-size:14px; line-height:1.6; margin:0 0 22px; color:var(--muted-2); }
.text-14-3 { font-size:14px; color:var(--muted-2); line-height:1.6; margin-top:2px; }
.text-14-4 { font-family:Georgia,serif; font-size:14px; font-weight:700; line-height:1; }
.text-14-5 { font-size:14px; line-height:1; }
.text-14-6 { font-size:14px; line-height:1.6; color:var(--ink-2); margin:0; }
.text-14-7 { font-size:14px; color:var(--muted); margin-top:6px; }
.text-14-8 { font-size:14px; color:var(--muted); line-height:1.55; }
.text-14-9 { font-size:14px; color:var(--muted); }
.text-15_5 { font-size:15.5px; line-height:1.65; margin:0; color:rgba(251,250,248,.88); text-wrap:pretty; }
.text-15_5-2 { font-size:15.5px; line-height:1.65; color:var(--ink-2); margin:0; text-wrap:pretty; }
.text-15-12 { font-size:15px; line-height:1.6; color:var(--ink-2); margin:0; }
.text-15-2 { font-size:15px; line-height:1.6; color:rgba(251,250,248,.72); margin:0 0 18px; }
.text-15-5 { font-size:15px; line-height:1.65; color:var(--ink-2); margin:14px 0 0; max-width:640px; }
.text-15-9 { font-size:15px; color:var(--ink-2); margin:0; }
.text-16 { font-size:16px; line-height:1.75; color:var(--ink-3); margin:0 0 16px; max-width:760px; }
.text-16_5 { font-size:16.5px; line-height:1.7; color:var(--ink-2); margin:0; text-wrap:pretty; }
.text-16_5-2 { font-size:16.5px; font-weight:600; line-height:1.45; margin:0; color:var(--ink); text-wrap:pretty; }
.text-16_5-4 { font-size:16.5px; line-height:1.7; color:var(--ink-2); margin:0 0 26px; max-width:420px; }
.text-16_5-5 { font-size:16.5px; line-height:1.7; color:var(--ink-2); margin:0; }
.text-16_5-6 { font-size:16.5px; line-height:1.7; color:rgba(251,250,248,.8); margin:0; }
.text-16_5-7 { font-size:16.5px; line-height:1.7; color:rgba(251,250,248,.8); max-width:680px; margin:0; }
.text-16-11 { font-size:16px; line-height:1.7; color:var(--ink-2); margin:0; }
.text-16-2 { font-size:16px; line-height:1.7; color:var(--ink-3); }
.text-16-3 { font-size:16px; font-weight:600; color:var(--ink); }
.text-16-4 { font-size:16px; font-weight:600; color:var(--ink); line-height:1.45; margin-bottom:6px; }
.text-16-6 { font-size:16px; line-height:1.7; color:var(--ink-2); max-width:720px; margin:0 0 24px; }
.text-16-9 { font-size:16px; font-weight:700; text-decoration:none; margin-top:16px; color:var(--navy); background-image:linear-gradient(var(--navy),var(--navy)); 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); }
.text-16-9:hover { background-position:10px 100%; color:var(--red); }
.text-17 { font-family:inherit; font-size:17px; line-height:1.7; color:rgba(251,250,248,.86); margin:0; text-wrap:pretty; }
.text-17_5 { font-size:17.5px; line-height:1.65; color:#4F4B47; margin:0 0 36px; max-width:560px; text-wrap:pretty; animation:lc-rise .9s var(--ease) .2s both; }
.text-17-2 { font-size:17px; font-weight:600; margin:0 0 8px; }
.text-17-3 { font-size:17px; font-weight:700; color:var(--ink); margin:24px 0 12px; }
.text-17-5 { font-size:17px; color:var(--muted); letter-spacing:.02em; }
.text-17-8 { font-size:17px; line-height:1.7; color:var(--ink-2); margin:0 0 32px; }
.text-18 { font-size:18px; font-weight:600; margin:0 0 10px; color:var(--ink); }
.text-18-2 { font-size:18px; line-height:1.6; color:var(--ink-2); margin:0 0 34px; }
.text-26 { font-size:26px; }

/* ===== Cards & carousel items ===== */

.card-220 { flex:0 0 220px; scroll-snap-align:start; background:white; border:1px solid rgba(44,42,40,.08); border-radius:14px; overflow:hidden; transition:transform .5s var(--ease),box-shadow .5s var(--ease); }
.card-220:hover { transform:translateY(-4px); box-shadow:0 20px 44px -14px rgba(30,89,121,.2); }
.card-220-2 { flex:0 0 220px; scroll-snap-align:start; background:white; border:1px solid rgba(44,42,40,.1); border-radius:12px; overflow:hidden; }
.card-300 { flex:0 0 300px; scroll-snap-align:start; }
.card-full { flex:0 0 100%; scroll-snap-align:start; }

/* ===== Eyebrows ===== */

.eyebrow { font-size:12px; letter-spacing:.24em; text-transform:uppercase; color:var(--red); margin-bottom:14px; }
.eyebrow-2 { font-size:12px; letter-spacing:.22em; text-transform:uppercase; color:var(--red); margin-bottom:14px; }
.eyebrow-3 { font-size:12px; letter-spacing:.22em; text-transform:uppercase; color:var(--red); padding-top:8px; }
.eyebrow-4 { font-size:12px; letter-spacing:.24em; text-transform:uppercase; color:var(--red); padding-top:8px; }
.eyebrow-5 { font-size:12px; letter-spacing:.24em; text-transform:uppercase; color:var(--red); padding-top:4px; }
.eyebrow-6 { font-size:12px; letter-spacing:.22em; text-transform:uppercase; color:var(--red); padding-top:4px; }
.eyebrow-flex { display:inline-flex; align-items:center; gap:9px; font-size:12px; letter-spacing:.24em; text-transform:uppercase; color:var(--red); margin-bottom:26px; animation:lc-rise .8s var(--ease) both; }
.eyebrow-flex-2 { display:inline-flex; align-items:center; gap:9px; font-size:12px; letter-spacing:.22em; text-transform:uppercase; color:var(--red); margin-bottom:22px; }
.eyebrow-flex-3 { display:inline-flex; align-items:center; gap:9px; font-size:12px; letter-spacing:.22em; text-transform:uppercase; color:var(--red); margin-bottom:26px; }
.eyebrow-muted { font-size:11px; letter-spacing:.24em; text-transform:uppercase; color:var(--muted); margin-bottom:16px; }
.eyebrow-muted-2 { font-size:11px; letter-spacing:.24em; text-transform:uppercase; color:var(--muted); text-align:center; margin-bottom:30px; }
.eyebrow-muted-3 { font-size:11px; letter-spacing:.24em; text-transform:uppercase; color:var(--muted); margin-bottom:10px; }
.eyebrow-pale { font-size:12px; letter-spacing:.24em; text-transform:uppercase; color:var(--blue-pale); margin-bottom:14px; }
.eyebrow-pale-2 { font-size:12px; letter-spacing:.24em; text-transform:uppercase; color:var(--blue-pale); margin-bottom:22px; }
.eyebrow-pale-3 { font-size:12px; letter-spacing:.22em; text-transform:uppercase; color:var(--blue-pale); margin-bottom:14px; }
.eyebrow-pale-4 { font-size:12px; letter-spacing:.22em; text-transform:uppercase; color:var(--blue-pale); margin-bottom:22px; }
.eyebrow-pale-5 { font-size:12px; letter-spacing:.22em; text-transform:uppercase; color:var(--blue-pale); padding-top:8px; }

/* ===== Icons & step markers ===== */

.icon-40-blue { width:40px; height:40px; flex-shrink:0; border-radius:9999px; background:var(--blue-tint); display:flex; align-items:center; justify-content:center; }
.icon-40-green { width:40px; height:40px; flex-shrink:0; border-radius:9999px; background:var(--green-tint); display:flex; align-items:center; justify-content:center; }
.icon-40-red { width:40px; height:40px; flex-shrink:0; border-radius:9999px; background:var(--red-tint); display:flex; align-items:center; justify-content:center; }
.spec-icon-blue { width:56px; height:56px; border-radius:9999px; background:var(--blue-tint); display:flex; align-items:center; justify-content:center; margin-bottom:16px; }
.spec-icon-green { width:56px; height:56px; border-radius:9999px; background:var(--green-tint); display:flex; align-items:center; justify-content:center; margin-bottom:16px; }
.spec-icon-red { width:56px; height:56px; border-radius:9999px; background:var(--red-tint); display:flex; align-items:center; justify-content:center; margin-bottom:16px; }

/* ===== Buttons ===== */

.btn-blue { background:var(--blue); color:var(--cream); padding:16px 30px; border-radius:9999px; font-size:15px; font-weight:600; text-decoration:none; transition:background-color .45s var(--ease),color .45s var(--ease),border-color .45s var(--ease),box-shadow .45s var(--ease),transform .45s var(--ease); }
.btn-blue:hover { background:var(--blue-mid); color:var(--cream); transform:translateY(-2px); box-shadow:0 10px 26px rgba(81,166,212,.28); }
.btn-blue-outline { border:1px solid var(--blue); color:var(--blue); padding:10px 18px; border-radius:9999px; font-size:15px; font-weight:600; text-decoration:none; white-space:nowrap; transition:background-color .45s var(--ease),color .45s var(--ease),border-color .45s var(--ease),box-shadow .45s var(--ease),transform .45s var(--ease); }
.btn-blue-outline:hover { background:var(--blue); color:var(--cream); border-color:var(--blue); transform:translateY(-2px); box-shadow:0 8px 22px rgba(81,166,212,.22); }
.btn-blue-outline-2 { border:1px solid var(--blue); color:var(--blue); padding:13px 24px; border-radius:9999px; font-size:14px; font-weight:600; text-decoration:none; white-space:nowrap; transition:background-color .45s var(--ease),color .45s var(--ease),border-color .45s var(--ease),box-shadow .45s var(--ease),transform .45s var(--ease); }
.btn-blue-outline-2:hover { background:var(--blue); color:var(--cream); border-color:var(--blue); transform:translateY(-2px); box-shadow:0 8px 22px rgba(81,166,212,.22); }
.btn-blue-outline-3 { border:1px solid var(--blue); color:var(--blue); padding:13px 24px; border-radius:9999px; font-size:14px; font-weight:600; text-decoration:none; white-space:nowrap; display:inline-block; transition:background-color .45s var(--ease),color .45s var(--ease),border-color .45s var(--ease),box-shadow .45s var(--ease),transform .45s var(--ease); }
.btn-blue-outline-3:hover { background:var(--blue); color:var(--cream); border-color:var(--blue); transform:translateY(-2px); box-shadow:0 8px 22px rgba(81,166,212,.22); }
.btn-blue-outline-4 { display:inline-block; border:1px solid var(--blue); color:var(--blue); padding:13px 24px; border-radius:9999px; font-size:14px; font-weight:600; text-decoration:none; transition:background-color .45s var(--ease),color .45s var(--ease),border-color .45s var(--ease),box-shadow .45s var(--ease),transform .45s var(--ease); }
.btn-blue-outline-4:hover { background:var(--blue); color:var(--cream); border-color:var(--blue); transform:translateY(-2px); box-shadow:0 8px 22px rgba(81,166,212,.22); }
.btn-cream-outline { border:1px solid rgba(251,250,248,.4); color:var(--cream); padding:15px 30px; border-radius:9999px; font-size:15px; font-weight:600; text-decoration:none; transition:background-color .45s var(--ease),color .45s var(--ease),border-color .45s var(--ease),box-shadow .45s var(--ease),transform .45s var(--ease); }
.btn-cream-outline:hover { background:rgba(251,250,248,.12); border-color:var(--cream); color:var(--cream); transform:translateY(-2px); }
.btn-ink-outline { border:1px solid rgba(44,42,40,.28); color:var(--ink); padding:15px 28px; border-radius:9999px; font-size:15px; font-weight:600; text-decoration:none; transition:background-color .45s var(--ease),color .45s var(--ease),border-color .45s var(--ease),box-shadow .45s var(--ease),transform .45s var(--ease); }
.btn-ink-outline:hover { border-color:var(--ink); color:var(--ink); transform:translateY(-2px); box-shadow:0 8px 20px rgba(44,42,40,.1); }
.btn-ink-outline-2 { border:1px solid rgba(44,42,40,.3); color:var(--ink); padding:15px 28px; border-radius:9999px; font-size:15px; font-weight:600; text-decoration:none; transition:background-color .45s var(--ease),color .45s var(--ease),border-color .45s var(--ease),box-shadow .45s var(--ease),transform .45s var(--ease); }
.btn-ink-outline-2:hover { border-color:var(--ink); color:var(--ink); transform:translateY(-2px); box-shadow:0 8px 20px rgba(44,42,40,.1); }
.btn-ink-outline-3 { border:1px solid rgba(44,42,40,.25); color:var(--ink); padding:16px 30px; border-radius:9999px; font-size:15px; font-weight:600; text-decoration:none; transition:background-color .45s var(--ease),color .45s var(--ease),border-color .45s var(--ease),box-shadow .45s var(--ease),transform .45s var(--ease); }
.btn-ink-outline-3:hover { border-color:var(--ink); color:var(--ink); transform:translateY(-2px); box-shadow:0 8px 20px rgba(44,42,40,.1); }
.btn-ink-outline-4 { border:1px solid rgba(44,42,40,.25); color:var(--ink); padding:13px 26px; border-radius:9999px; font-size:15px; font-weight:600; text-decoration:none; transition:border-color .45s var(--ease),transform .45s var(--ease); }
.btn-ink-outline-4:hover { border-color:var(--ink); transform:translateY(-2px); }
.btn-pale-outline { border:1px solid rgba(163,208,232,.45); color:var(--blue-pale); padding:12px 21px; border-radius:9999px; font-size:15px; font-weight:600; text-decoration:none; transition:background-color .45s var(--ease),color .45s var(--ease),border-color .45s var(--ease),transform .45s var(--ease); }
.btn-pale-outline:hover { background:rgba(163,208,232,.12); border-color:var(--blue-pale); color:var(--cream); transform:translateY(-2px); }
.btn-red { background:var(--red); color:white; padding:16px 32px; border-radius:9999px; font-size:15px; font-weight:600; text-decoration:none; transition:background-color .45s var(--ease),color .45s var(--ease),border-color .45s var(--ease),box-shadow .45s var(--ease),transform .45s var(--ease); }
.btn-red:hover { background:var(--red-dark); color:white; transform:translateY(-2px); box-shadow:0 10px 26px rgba(225,27,70,.26); }
.btn-red-2 { background:var(--red); color:white; padding:10px 18px; border-radius:9999px; font-size:15px; font-weight:600; text-decoration:none; white-space:nowrap; transition:background-color .45s var(--ease),color .45s var(--ease),border-color .45s var(--ease),box-shadow .45s var(--ease),transform .45s var(--ease); }
.btn-red-2:hover { background:var(--red-dark); color:white; transform:translateY(-2px); box-shadow:0 10px 26px rgba(225,27,70,.26); }
.btn-red-3 { background:var(--red); color:white; padding:13px 22px; border-radius:9999px; font-size:15px; font-weight:600; text-decoration:none; transition:background-color .45s var(--ease),box-shadow .45s var(--ease),transform .45s var(--ease); }
.btn-red-3:hover { background:var(--red-dark); transform:translateY(-2px); box-shadow:0 10px 26px rgba(225,27,70,.26); }
.btn-red-5 { background:var(--red); color:white; padding:14px 26px; border-radius:9999px; font-size:15px; font-weight:600; text-decoration:none; transition:background-color .45s var(--ease),box-shadow .45s var(--ease),transform .45s var(--ease); }
.btn-red-5:hover { background:var(--red-dark); transform:translateY(-2px); box-shadow:0 10px 26px rgba(225,27,70,.26); }
.btn-red-6 { background:var(--red); color:white; padding:16px 30px; border-radius:9999px; font-size:15px; font-weight:600; text-decoration:none; transition:background-color .45s var(--ease),color .45s var(--ease),border-color .45s var(--ease),box-shadow .45s var(--ease),transform .45s var(--ease); }
.btn-red-6:hover { background:var(--red-dark); color:white; transform:translateY(-2px); box-shadow:0 10px 26px rgba(225,27,70,.26); }
